Skip to content

docs(api): refresh AI SRE (safari) OpenAPI — adopt sessions, fix drift#97

Merged
ysyneu merged 1 commit into
mainfrom
docs/api-ai-sre-refresh
Jun 24, 2026
Merged

docs(api): refresh AI SRE (safari) OpenAPI — adopt sessions, fix drift#97
ysyneu merged 1 commit into
mainfrom
docs/api-ai-sre-refresh

Conversation

@ysyneu

@ysyneu ysyneu commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Regenerates the AI SRE (safari) OpenAPI spec from the Go source of truth (fc-safari@feat/ai-sre handlers + types; fc-pgy@feat/ai-sre registry), via /api-review scope ai-sre.

Scope — 4 sub-modules, 27 public (auth=all) ops

Sub-module Ops
Skills 8
MCP servers 7
A2A agents 7
Sessions (new) 5 — get, list, export, delete, deprecated cancel

interrupt/create/run/message/… are auth=service and stay out of the public spec.

Highlights

  • Adopt safari/session as a proper bilingual sub-module: re-derived request schemas; took ownership of the large response schemas (SessionItem, EventItem, SessionTokenUsage, EnvironmentBinding, ContextResolvedItem) and translated the field descriptions that were previously English-only in the zh spec (62 strings).
  • Fixed real drift: SessionListRequest.app_name was missing swe.
  • session/export modeled as an application/x-ndjson stream; delete → null; cancel marked deprecated with an InterruptAck response.
  • Dropped orphan ExportLine/ExportUsage schemas.
  • Reflected new account rate limits on skill/upload (3/s, 30/min) and skill/download (5/s, 60/min) in the Restrictions tables — registry change in fc-pgy #568.
  • Carried from the first pass: skill/downloadapplication/zip binary; 14 *scalar fields → ["T","null"] nullable unions (SDK zero-value drop fix); skill_id example prefix skill_.

Files

Both per-module files (safari.openapi.{en,zh}.json, rendered by Mintlify) and the consolidated reference copies (openapi.{en,zh}.json). No docs.json edit needed — the safari OpenAPI tab is spec-driven and auto-generates the sidebar from tags.

Validation

  • JSON loads; no dangling/orphan $ref; en/zh schema-key & path parity.
  • mint broken-links clean for these files (only 6 pre-existing on-call standard%20alert links remain, unrelated).

Related code PRs (→ feat/ai-sre)

  • fc-pgy #568 — account rate limits for skill upload/download
  • fc-safari #299 — a2a validate:binding: enforcement fix

Regenerate the AI SRE (safari) OpenAPI spec from the Go source of truth
(fc-safari@feat/ai-sre handlers + types; fc-pgy@feat/ai-sre registry).

Scope is now 4 sub-modules / 27 public (auth=all) ops:
  - Skills (8), MCP servers (7), A2A agents (7)
  - Sessions (5): get, list, export, delete + deprecated cancel

Highlights:
- Adopt safari/session as a proper bilingual sub-module. Re-derive the
  request schemas and own the large response schemas (SessionItem, EventItem,
  …), translating the field descriptions that were previously English-only in
  the zh spec.
- Fix real drift: SessionListRequest.app_name was missing the `swe` value.
- Model session/export as an application/x-ndjson stream; delete -> null;
  cancel marked deprecated with an InterruptAck response.
- Drop orphan ExportLine/ExportUsage schemas.
- Reflect the new account rate limits on skill upload (3/s, 30/min) and
  download (5/s, 60/min) in the Restrictions tables (registry change in
  fc-pgy #568).

Both per-module files (rendered by Mintlify) and the consolidated reference
copies are updated. Validated: JSON loads, no dangling/orphan $refs, en/zh
key parity, mint broken-links clean for these files.
@mintlify

mintlify Bot commented Jun 24, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
flashduty 🟢 Ready View Preview Jun 24, 2026, 8:12 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@ysyneu
ysyneu merged commit da88ac3 into main Jun 24, 2026
1 check passed
ysyneu added a commit that referenced this pull request Jun 24, 2026
The safari OpenAPI spec already defines the session operations (added in #97,
exposed as app_key-callable in #69), but the "AI SRE" API-reference group in
docs.json uses an explicit `pages` allow-list (Skills / MCP servers / A2A
agents) — Mintlify renders ONLY listed operations, so the session endpoints
were silently absent from the docs site.

Add a "Sessions" / "会话" subgroup (en + zh) listing the five public session
ops: list, get, export, cancel, delete.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant