Skip to content

feat(gateway): land console C1 stream-salvage + C3 ask_choice bridge#82

Merged
Agent-Aurelius merged 1 commit into
mainfrom
feat/console-c1-salvage-c3-ask-choice
Jun 23, 2026
Merged

feat(gateway): land console C1 stream-salvage + C3 ask_choice bridge#82
Agent-Aurelius merged 1 commit into
mainfrom
feat/console-c1-salvage-c3-ask-choice

Conversation

@Agent-Aurelius

Copy link
Copy Markdown

What

Lands the Aurelius web-console C1 stream-salvage + C3 ask_choice bridge gateway patches onto main. They power the console under ultracode but were running only as uncommitted floating patches on the live detached gateway worktree (backed up at origin/backup/gateway-patches-2026-06-22) — not on main. Part of the gateway durability reconcile.

  • C1: salvageClaudeStreamJsonText (agent-event-assistant-text.ts) recovers clean assistant text from leaked raw Claude-CLI stream-json, applied in writeAssistantContentChunk (openai-http.ts).
  • C3: buildAskChoiceFromArgs + request-scope blob buffering bridge a native AskUserQuestion into the console's openclaw_ask_choice card; extractAskUserQuestionFromClaudeStreamJson recovers it from leaked blobs.

Merge notes

Verification

🤖 Generated with Claude Code

These power the Aurelius web console under ultracode but were running ONLY as
uncommitted floating patches on the live detached gateway worktree (backed up at
origin/backup/gateway-patches-2026-06-22), NOT on main:
- C1: salvage clean assistant text from leaked raw Claude-CLI stream-json
  (salvageClaudeStreamJsonText in agent-event-assistant-text.ts, applied in
  writeAssistantContentChunk).
- C3: bridge a native AskUserQuestion into the console's openclaw_ask_choice card
  (buildAskChoiceFromArgs + request-scope blob buffering in the
  /v1/chat/completions handler) + extractAskUserQuestionFromClaudeStreamJson.

Merged onto current main (#81); #79's read-only-tools enforcement is preserved
(additive, different code paths). agent-event-assistant-text.ts + cli-runner/
execute.ts were untouched by main so taken whole; openai-http.ts merged
(import superset + salvage in writeAssistantContentChunk + the ask_choice bridge).

Companion to the gateway durability reconcile: once merged, both live gateways
rebuild from this main commit and stop running uncommitted detached patches.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
@Agent-Aurelius
Agent-Aurelius marked this pull request as ready for review June 23, 2026 00:05
@Agent-Aurelius

Copy link
Copy Markdown
Author

Operator-directed merge (Cory, 2026-06-22): the Anvil codex review starved out twice under mono-PR contention (2× 45-min runaway-cap reaps, no verdict). This PR only commits C1 stream-salvage + C3 ask_choice that are already live and battle-tested in the running gateway dist on both machines — main is catching up to prod, not introducing new behavior. Built onto #81 preserving #79 read-only enforcement (4 refs intact / 9 C1·C3 added; +289/-2). Un-drafted to run the full CI shards; merging on green via operator one-liner. 🤖 Generated with Claude Code

@Agent-Aurelius
Agent-Aurelius merged commit 34ae380 into main Jun 23, 2026
193 of 194 checks passed
@Agent-Aurelius
Agent-Aurelius deleted the feat/console-c1-salvage-c3-ask-choice branch June 23, 2026 00:20
@Agent-Aurelius

Copy link
Copy Markdown
Author

CI note: the single red check security-fast is a pre-existing repo-wide undici advisory set (6 HIGH; SOCKS5 TLS-bypass + WebSocket DoS), NOT introduced by this PR — #82 changes zero dependency/manifest files, so the audited dep tree is identical to main's. Tracked as a separate undici-override dep-hygiene follow-up. All gateway TypeScript checks passed.

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.

2 participants