Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .agents/skills/missing_docs/references/feature_surface_map.md
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,24 @@ GET /factory/scorers -> internal
POST /factory/scorers -> internal
GET /factory/scorers/{scorer_id}/results -> internal

# Orchestration messaging and lifecycle-event endpoints. These are marked
# `x-internal: true` in warp-server's canonical spec (public_api/openapi.yaml),
# so the publish filter deliberately strips them from the public docs copy.
# They back the agent-to-agent messaging tools and the documented
# `oz run message` CLI, but the REST surface itself is not part of the released
# public Oz Agent API. Revisit if warp-server drops the x-internal marker.
POST /agent/messages -> internal
GET /agent/messages/{run_id} -> internal
POST /agent/messages/{id}/read -> internal
POST /agent/messages/{id}/delivered -> internal
GET /agent/events -> internal
POST /agent/events/{run_id} -> internal

# SSE lifecycle-event stream consumed by the Warp client and the Oz web app.
# Absent from warp-server's canonical public spec entirely, and registered only
# on the RTC host, so it is not a released public API operation.
GET /agent/events/stream -> internal

# Agent Memory REST API — research preview (gating flag AIMemories is non-GA),
# deferred via `gated:` and auto-surfaces when AIMemories goes GA. See
# "Public vs. private surfaces" in SKILL.md.
Expand Down
13 changes: 9 additions & 4 deletions .agents/skills/missing_docs/references/surface_snapshot.json
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@
"FullScreenZenMode": "ga",
"FullSourceCodeEmbedding": "dogfood",
"GPTConfigurableContextWindow": "dogfood",
"GeminiEnterprise": "dogfood",
"GeminiEnterprise": "ga",
"GeminiNotifications": "dogfood",
"GetStartedTab": "ga",
"GitCredentialRefresh": "ga",
Expand Down Expand Up @@ -917,20 +917,20 @@
"PUT /api/v1/memory_stores/{uid}/memories/{memoryUid}"
],
"slash_commands": [
"/add-api-key",
"/add-mcp",
"/add-prompt",
"/add-rule",
"/agent",
"/api-keys",
"/auto-approve",
"/changelog",
"/clear",
"/clear-provider-api-key",
"/cloud-agent",
"/compact",
"/compact-and",
"/continue-locally",
"/conversations",
"/copy-debugging-id",
"/cost",
"/create-environment",
"/create-new-project",
Expand Down Expand Up @@ -967,6 +967,7 @@
"/remote-control",
"/rename-conversation",
"/rename-tab",
"/reset-statusline",
"/rewind",
"/set-tab-color",
"/skills",
Expand All @@ -975,6 +976,7 @@
"/theme",
"/usage",
"/view-logs",
"/vim-mode",
"/voice"
],
"settings": {
Expand All @@ -1000,6 +1002,7 @@
"agents.third_party.submit_on_ctrl_enter": "always_on",
"agents.usage_display_mode": "always_on",
"agents.voice.voice_input_enabled": "always_on",
"agents.voice.voice_input_hold_key": "always_on",
"agents.voice.voice_input_language": "always_on",
"agents.voice.voice_input_toggle_key": "always_on",
"agents.warp_agent.active_ai.agent_mode_query_suggestions_enabled": "always_on",
Expand All @@ -1019,6 +1022,7 @@
"agents.warp_agent.input.show_model_selectors_in_prompt": "always_on",
"agents.warp_agent.is_any_ai_enabled": "always_on",
"agents.warp_agent.other.agent_attribution_enabled": "always_on",
"agents.warp_agent.other.auto_approve_bypasses_command_denylist": "always_on",
"agents.warp_agent.other.auto_handoff_on_sleep_enabled": "always_on",
"agents.warp_agent.other.cloud_agent_computer_use_enabled": "always_on",
"agents.warp_agent.other.default_prompt_submission_mode": "ga",
Expand Down Expand Up @@ -1266,6 +1270,7 @@
"read_skill",
"read_todos",
"remove_todos",
"report_external_reference",
"report_intent",
"report_outcome",
"report_pr",
Expand Down Expand Up @@ -1311,5 +1316,5 @@
"verify-ui-change-in-cloud": "dogfood",
"warpctrl": "bundled"
},
"changelog_last_version": "2026.07.23"
"changelog_last_version": "2026.07.31"
}
13 changes: 10 additions & 3 deletions .agents/skills/missing_docs/scripts/audit_docs.py
Original file line number Diff line number Diff line change
Expand Up @@ -939,10 +939,17 @@ def _normalize_path_params(path: str) -> str:


def parse_openapi_paths(openapi_text: str) -> set[str]:
"""Extract normalized path keys from the OpenAPI YAML text."""
"""Extract normalized path keys from the OpenAPI YAML text.

Path keys containing `{param}` are usually emitted quoted (YAML treats a
leading `{` as a flow mapping), so both ` /agent/runs:` and
` '/agent/runs/{runId}':` must be recognized. Missing the quoted form made
every parameterized endpoint look absent from the spec.
"""
paths = set()
for match in re.finditer(r"(?m)^\s{2}(/[^\s:]+):", openapi_text):
paths.add(_normalize_path_params(match.group(1)))
for match in re.finditer(r"""(?m)^\s{2}(?:'(/[^']+)'|"(/[^"]+)"|(/[^\s:'"]+)):""", openapi_text):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 [SUGGESTION] Add a regression test for quoted parameterized OpenAPI paths (single- and double-quoted) so this parser bug cannot recur.

path = match.group(1) or match.group(2) or match.group(3)
paths.add(_normalize_path_params(path))
return paths

# ---------------------------------------------------------------------------
Expand Down
Loading