cli-jaw 2.17.38 → 2.17.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -1
- package/dist/bin/commands/chat.js +19 -2
- package/dist/bin/commands/chat.js.map +1 -1
- package/dist/bin/commands/dashboard.js +27 -10
- package/dist/bin/commands/dashboard.js.map +1 -1
- package/dist/bin/commands/init.js +10 -1
- package/dist/bin/commands/init.js.map +1 -1
- package/dist/bin/commands/tui/activity-answer-read.js +122 -0
- package/dist/bin/commands/tui/activity-answer-read.js.map +1 -0
- package/dist/bin/commands/tui/activity-fallback.js +40 -0
- package/dist/bin/commands/tui/activity-fallback.js.map +1 -0
- package/dist/bin/commands/tui/activity-handler.js +273 -0
- package/dist/bin/commands/tui/activity-handler.js.map +1 -0
- package/dist/bin/commands/tui/activity-history.js +245 -0
- package/dist/bin/commands/tui/activity-history.js.map +1 -0
- package/dist/bin/commands/tui/activity-http.js +88 -0
- package/dist/bin/commands/tui/activity-http.js.map +1 -0
- package/dist/bin/commands/tui/activity-replay.js +250 -0
- package/dist/bin/commands/tui/activity-replay.js.map +1 -0
- package/dist/bin/commands/tui/api.js +48 -1
- package/dist/bin/commands/tui/api.js.map +1 -1
- package/dist/bin/commands/tui/channel.js +11 -1
- package/dist/bin/commands/tui/channel.js.map +1 -1
- package/dist/bin/commands/tui/fullscreen-mode.js +78 -12
- package/dist/bin/commands/tui/fullscreen-mode.js.map +1 -1
- package/dist/bin/commands/tui/input-handler.js +7 -0
- package/dist/bin/commands/tui/input-handler.js.map +1 -1
- package/dist/bin/commands/tui/overlays.js +6 -3
- package/dist/bin/commands/tui/overlays.js.map +1 -1
- package/dist/bin/commands/tui/renderer.js +27 -15
- package/dist/bin/commands/tui/renderer.js.map +1 -1
- package/dist/bin/commands/tui/types.js.map +1 -1
- package/dist/bin/commands/tui/ws-handler.js +158 -13
- package/dist/bin/commands/tui/ws-handler.js.map +1 -1
- package/dist/server.js +2 -0
- package/dist/server.js.map +1 -1
- package/dist/src/agent/claude-runtime-pool.js +386 -0
- package/dist/src/agent/claude-runtime-pool.js.map +1 -0
- package/dist/src/agent/claude-runtime-run.js +366 -0
- package/dist/src/agent/claude-runtime-run.js.map +1 -0
- package/dist/src/agent/codex-app-events.js +3 -1
- package/dist/src/agent/codex-app-events.js.map +1 -1
- package/dist/src/agent/events/claude.js +11 -9
- package/dist/src/agent/events/claude.js.map +1 -1
- package/dist/src/agent/events/codex.js +2 -0
- package/dist/src/agent/events/codex.js.map +1 -1
- package/dist/src/agent/events/cursor.js +49 -21
- package/dist/src/agent/events/cursor.js.map +1 -1
- package/dist/src/agent/events/grok.js +33 -5
- package/dist/src/agent/events/grok.js.map +1 -1
- package/dist/src/agent/events/helpers.js +9 -0
- package/dist/src/agent/events/helpers.js.map +1 -1
- package/dist/src/agent/events/index.js +13 -1
- package/dist/src/agent/events/index.js.map +1 -1
- package/dist/src/agent/events/opencode.js +65 -1
- package/dist/src/agent/events/opencode.js.map +1 -1
- package/dist/src/agent/lifecycle-handler.js +185 -62
- package/dist/src/agent/lifecycle-handler.js.map +1 -1
- package/dist/src/agent/merge-tool-log.js +77 -0
- package/dist/src/agent/merge-tool-log.js.map +1 -0
- package/dist/src/agent/native-runtime-run.js +235 -0
- package/dist/src/agent/native-runtime-run.js.map +1 -0
- package/dist/src/agent/pi-runtime.js +468 -101
- package/dist/src/agent/pi-runtime.js.map +1 -1
- package/dist/src/agent/prompt-context.js +88 -2
- package/dist/src/agent/prompt-context.js.map +1 -1
- package/dist/src/agent/runtime/acp/callbacks.js +223 -0
- package/dist/src/agent/runtime/acp/callbacks.js.map +1 -0
- package/dist/src/agent/runtime/acp/config.js +182 -0
- package/dist/src/agent/runtime/acp/config.js.map +1 -0
- package/dist/src/agent/runtime/acp/connection.js +254 -0
- package/dist/src/agent/runtime/acp/connection.js.map +1 -0
- package/dist/src/agent/runtime/acp/content.js +63 -0
- package/dist/src/agent/runtime/acp/content.js.map +1 -0
- package/dist/src/agent/runtime/acp/cursor-session.js +92 -0
- package/dist/src/agent/runtime/acp/cursor-session.js.map +1 -0
- package/dist/src/agent/runtime/acp/grok-control.js +3 -0
- package/dist/src/agent/runtime/acp/grok-control.js.map +1 -0
- package/dist/src/agent/runtime/acp/grok-events.js +28 -0
- package/dist/src/agent/runtime/acp/grok-events.js.map +1 -0
- package/dist/src/agent/runtime/acp/grok-options.js +63 -0
- package/dist/src/agent/runtime/acp/grok-options.js.map +1 -0
- package/dist/src/agent/runtime/acp/grok-session.js +118 -0
- package/dist/src/agent/runtime/acp/grok-session.js.map +1 -0
- package/dist/src/agent/runtime/acp/notification-queue.js +107 -0
- package/dist/src/agent/runtime/acp/notification-queue.js.map +1 -0
- package/dist/src/agent/runtime/acp/permissions.js +133 -0
- package/dist/src/agent/runtime/acp/permissions.js.map +1 -0
- package/dist/src/agent/runtime/acp/projection.js +162 -0
- package/dist/src/agent/runtime/acp/projection.js.map +1 -0
- package/dist/src/agent/runtime/acp/replacement-turn.js +187 -0
- package/dist/src/agent/runtime/acp/replacement-turn.js.map +1 -0
- package/dist/src/agent/runtime/acp/replacement.js +159 -0
- package/dist/src/agent/runtime/acp/replacement.js.map +1 -0
- package/dist/src/agent/runtime/acp/runtime-session.js +245 -0
- package/dist/src/agent/runtime/acp/runtime-session.js.map +1 -0
- package/dist/src/agent/runtime/acp/session.js +426 -0
- package/dist/src/agent/runtime/acp/session.js.map +1 -0
- package/dist/src/agent/runtime/acp/wire.js +46 -0
- package/dist/src/agent/runtime/acp/wire.js.map +1 -0
- package/dist/src/agent/runtime/claude-run-controls.js +41 -0
- package/dist/src/agent/runtime/claude-run-controls.js.map +1 -0
- package/dist/src/agent/runtime/claude-sdk-children.js +405 -0
- package/dist/src/agent/runtime/claude-sdk-children.js.map +1 -0
- package/dist/src/agent/runtime/claude-sdk-close.js +43 -0
- package/dist/src/agent/runtime/claude-sdk-close.js.map +1 -0
- package/dist/src/agent/runtime/claude-sdk-content.js +42 -0
- package/dist/src/agent/runtime/claude-sdk-content.js.map +1 -0
- package/dist/src/agent/runtime/claude-sdk-events.js +337 -0
- package/dist/src/agent/runtime/claude-sdk-events.js.map +1 -0
- package/dist/src/agent/runtime/claude-sdk-hooks.js +32 -0
- package/dist/src/agent/runtime/claude-sdk-hooks.js.map +1 -0
- package/dist/src/agent/runtime/claude-sdk-input.js +58 -0
- package/dist/src/agent/runtime/claude-sdk-input.js.map +1 -0
- package/dist/src/agent/runtime/claude-sdk-loader.js +21 -0
- package/dist/src/agent/runtime/claude-sdk-loader.js.map +1 -0
- package/dist/src/agent/runtime/claude-sdk-messages.js +133 -0
- package/dist/src/agent/runtime/claude-sdk-messages.js.map +1 -0
- package/dist/src/agent/runtime/claude-sdk-metadata.js +40 -0
- package/dist/src/agent/runtime/claude-sdk-metadata.js.map +1 -0
- package/dist/src/agent/runtime/claude-sdk-options.js +70 -0
- package/dist/src/agent/runtime/claude-sdk-options.js.map +1 -0
- package/dist/src/agent/runtime/claude-sdk-owners.js +113 -0
- package/dist/src/agent/runtime/claude-sdk-owners.js.map +1 -0
- package/dist/src/agent/runtime/claude-sdk-permissions.js +283 -0
- package/dist/src/agent/runtime/claude-sdk-permissions.js.map +1 -0
- package/dist/src/agent/runtime/claude-sdk-process.js +72 -0
- package/dist/src/agent/runtime/claude-sdk-process.js.map +1 -0
- package/dist/src/agent/runtime/claude-sdk-roots.js +103 -0
- package/dist/src/agent/runtime/claude-sdk-roots.js.map +1 -0
- package/dist/src/agent/runtime/claude-sdk-session.js +518 -0
- package/dist/src/agent/runtime/claude-sdk-session.js.map +1 -0
- package/dist/src/agent/runtime/codex-projection.js +126 -0
- package/dist/src/agent/runtime/codex-projection.js.map +1 -0
- package/dist/src/agent/runtime/events.js +39 -0
- package/dist/src/agent/runtime/events.js.map +1 -0
- package/dist/src/agent/runtime/grok-main.js +7 -0
- package/dist/src/agent/runtime/grok-main.js.map +1 -0
- package/dist/src/agent/runtime/outcome.js +28 -0
- package/dist/src/agent/runtime/outcome.js.map +1 -0
- package/dist/src/agent/runtime/pi-projection.js +97 -0
- package/dist/src/agent/runtime/pi-projection.js.map +1 -0
- package/dist/src/agent/runtime/pi-raw-trace.js +87 -0
- package/dist/src/agent/runtime/pi-raw-trace.js.map +1 -0
- package/dist/src/agent/runtime/pi-turn.js +159 -0
- package/dist/src/agent/runtime/pi-turn.js.map +1 -0
- package/dist/src/agent/runtime/print-activity.js +47 -0
- package/dist/src/agent/runtime/print-activity.js.map +1 -0
- package/dist/src/agent/runtime/print-projection.js +51 -0
- package/dist/src/agent/runtime/print-projection.js.map +1 -0
- package/dist/src/agent/runtime/projection.js +283 -0
- package/dist/src/agent/runtime/projection.js.map +1 -0
- package/dist/src/agent/runtime/replace-turn.js +36 -0
- package/dist/src/agent/runtime/replace-turn.js.map +1 -0
- package/dist/src/agent/runtime/requests.js +207 -0
- package/dist/src/agent/runtime/requests.js.map +1 -0
- package/dist/src/agent/runtime/selection.js +31 -0
- package/dist/src/agent/runtime/selection.js.map +1 -0
- package/dist/src/agent/runtime/session.js +2 -0
- package/dist/src/agent/runtime/session.js.map +1 -0
- package/dist/src/agent/runtime-pool-contract.js +2 -0
- package/dist/src/agent/runtime-pool-contract.js.map +1 -0
- package/dist/src/agent/runtime-pool.js +317 -9
- package/dist/src/agent/runtime-pool.js.map +1 -1
- package/dist/src/agent/session-persistence.js +10 -2
- package/dist/src/agent/session-persistence.js.map +1 -1
- package/dist/src/agent/spawn.js +990 -143
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/agent/steer-input-guard.js +33 -0
- package/dist/src/agent/steer-input-guard.js.map +1 -0
- package/dist/src/cli/acp-client.js +20 -21
- package/dist/src/cli/acp-client.js.map +1 -1
- package/dist/src/cli/handlers-runtime.js +21 -12
- package/dist/src/cli/handlers-runtime.js.map +1 -1
- package/dist/src/cli/registry.js +2 -0
- package/dist/src/cli/registry.js.map +1 -1
- package/dist/src/cli/tui/activity-answer.js +97 -0
- package/dist/src/cli/tui/activity-answer.js.map +1 -0
- package/dist/src/cli/tui/activity-history.js +364 -0
- package/dist/src/cli/tui/activity-history.js.map +1 -0
- package/dist/src/cli/tui/activity-linear.js +29 -0
- package/dist/src/cli/tui/activity-linear.js.map +1 -0
- package/dist/src/cli/tui/activity-terminal-text.js +111 -0
- package/dist/src/cli/tui/activity-terminal-text.js.map +1 -0
- package/dist/src/cli/tui/activity.js +95 -0
- package/dist/src/cli/tui/activity.js.map +1 -0
- package/dist/src/cli/tui/cell-width.js +41 -0
- package/dist/src/cli/tui/cell-width.js.map +1 -0
- package/dist/src/cli/tui/events.js +15 -0
- package/dist/src/cli/tui/events.js.map +1 -1
- package/dist/src/cli/tui/keymap.js +2 -0
- package/dist/src/cli/tui/keymap.js.map +1 -1
- package/dist/src/cli/tui/render/composer-box.js +12 -14
- package/dist/src/cli/tui/render/composer-box.js.map +1 -1
- package/dist/src/cli/tui/render/viewport.js +9 -5
- package/dist/src/cli/tui/render/viewport.js.map +1 -1
- package/dist/src/cli/tui/renderers.js +119 -139
- package/dist/src/cli/tui/renderers.js.map +1 -1
- package/dist/src/cli/tui/settings-screen.js +11 -0
- package/dist/src/cli/tui/settings-screen.js.map +1 -1
- package/dist/src/cli/tui/store.js +3 -0
- package/dist/src/cli/tui/store.js.map +1 -1
- package/dist/src/cli/tui/transcript.js +68 -0
- package/dist/src/cli/tui/transcript.js.map +1 -1
- package/dist/src/core/bus.js +8 -0
- package/dist/src/core/bus.js.map +1 -1
- package/dist/src/core/chat-sessions.js +1 -0
- package/dist/src/core/chat-sessions.js.map +1 -1
- package/dist/src/core/compact.js +10 -3
- package/dist/src/core/compact.js.map +1 -1
- package/dist/src/core/config.js +21 -0
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/db.js +26 -0
- package/dist/src/core/db.js.map +1 -1
- package/dist/src/core/runtime-settings.js +44 -3
- package/dist/src/core/runtime-settings.js.map +1 -1
- package/dist/src/core/session-ops.js +40 -9
- package/dist/src/core/session-ops.js.map +1 -1
- package/dist/src/core/settings-merge.js +31 -1
- package/dist/src/core/settings-merge.js.map +1 -1
- package/dist/src/core/settings-watch.js +8 -1
- package/dist/src/core/settings-watch.js.map +1 -1
- package/dist/src/discord/bot.js +28 -9
- package/dist/src/discord/bot.js.map +1 -1
- package/dist/src/discord/send-only-client.js +4 -0
- package/dist/src/discord/send-only-client.js.map +1 -1
- package/dist/src/manager/routes/telegram-hub.js +2 -1
- package/dist/src/manager/routes/telegram-hub.js.map +1 -1
- package/dist/src/manager/scan.js +12 -0
- package/dist/src/manager/scan.js.map +1 -1
- package/dist/src/manager/server.js +89 -13
- package/dist/src/manager/server.js.map +1 -1
- package/dist/src/manager/telegram-hub/hub-bot.js +9 -3
- package/dist/src/manager/telegram-hub/hub-bot.js.map +1 -1
- package/dist/src/orchestrator/collect.js +80 -6
- package/dist/src/orchestrator/collect.js.map +1 -1
- package/dist/src/orchestrator/gateway.js +13 -10
- package/dist/src/orchestrator/gateway.js.map +1 -1
- package/dist/src/orchestrator/pipeline.js +68 -29
- package/dist/src/orchestrator/pipeline.js.map +1 -1
- package/dist/src/orchestrator/request-registry.js +2 -0
- package/dist/src/orchestrator/request-registry.js.map +1 -1
- package/dist/src/orchestrator/scope.js +15 -0
- package/dist/src/orchestrator/scope.js.map +1 -1
- package/dist/src/routes/memory.js +2 -2
- package/dist/src/routes/memory.js.map +1 -1
- package/dist/src/routes/messages.js +51 -18
- package/dist/src/routes/messages.js.map +1 -1
- package/dist/src/routes/orchestrate.js +29 -17
- package/dist/src/routes/orchestrate.js.map +1 -1
- package/dist/src/routes/runtime-request-notices.js +23 -0
- package/dist/src/routes/runtime-request-notices.js.map +1 -0
- package/dist/src/routes/runtime-requests.js +43 -0
- package/dist/src/routes/runtime-requests.js.map +1 -0
- package/dist/src/routes/settings.js +7 -1
- package/dist/src/routes/settings.js.map +1 -1
- package/dist/src/routes/traces.js +93 -6
- package/dist/src/routes/traces.js.map +1 -1
- package/dist/src/shared/activity-read.js +158 -0
- package/dist/src/shared/activity-read.js.map +1 -0
- package/dist/src/shared/activity-replay.js +279 -0
- package/dist/src/shared/activity-replay.js.map +1 -0
- package/dist/src/shared/activity-state.js +144 -0
- package/dist/src/shared/activity-state.js.map +1 -0
- package/dist/src/shared/isolated-qa.js +132 -0
- package/dist/src/shared/isolated-qa.js.map +1 -0
- package/dist/src/shared/presentation.js +21 -0
- package/dist/src/shared/presentation.js.map +1 -0
- package/dist/src/shared/runtime-contract.js +2 -0
- package/dist/src/shared/runtime-contract.js.map +1 -0
- package/dist/src/shared/runtime-event-parse.js +99 -0
- package/dist/src/shared/runtime-event-parse.js.map +1 -0
- package/dist/src/shared/runtime-request-notice.js +9 -0
- package/dist/src/shared/runtime-request-notice.js.map +1 -0
- package/dist/src/shared/tool-log-sanitize.js +11 -5
- package/dist/src/shared/tool-log-sanitize.js.map +1 -1
- package/dist/src/slack/bot.js +20 -7
- package/dist/src/slack/bot.js.map +1 -1
- package/dist/src/slack/send-only-client.js +3 -0
- package/dist/src/slack/send-only-client.js.map +1 -1
- package/dist/src/telegram/bot.js +27 -5
- package/dist/src/telegram/bot.js.map +1 -1
- package/dist/src/telegram/rich-message.js +47 -1
- package/dist/src/telegram/rich-message.js.map +1 -1
- package/dist/src/trace/activity-control.js +87 -0
- package/dist/src/trace/activity-control.js.map +1 -0
- package/dist/src/trace/activity-journal.js +155 -0
- package/dist/src/trace/activity-journal.js.map +1 -0
- package/dist/src/trace/activity-retention.js +55 -0
- package/dist/src/trace/activity-retention.js.map +1 -0
- package/dist/src/trace/runtime-body-codec.js +162 -0
- package/dist/src/trace/runtime-body-codec.js.map +1 -0
- package/dist/src/trace/store.js +65 -22
- package/dist/src/trace/store.js.map +1 -1
- package/package.json +8 -5
- package/public/css/activity.css +211 -0
- package/public/css/chat-search.css +13 -1
- package/public/css/chat.css +10 -0
- package/public/css/native-requests.css +55 -0
- package/public/css/trace-drawer.css +15 -8
- package/public/dist/assets/AdvancedExport-q4DnVxpT.js +1 -0
- package/public/dist/assets/Agent-CI1AfYOA.js +1 -0
- package/public/dist/assets/Browser-D9kwPJfN.js +1 -0
- package/public/dist/assets/BrowserPanel-CVZyvbth.js +3 -0
- package/public/dist/assets/{ChannelEnablementControl-B9KiYDZZ.js → ChannelEnablementControl-BkxeZonM.js} +1 -1
- package/public/dist/assets/ChannelsDiscord-CulKFTiX.js +1 -0
- package/public/dist/assets/ChannelsSlack-D09H8GKC.js +1 -0
- package/public/dist/assets/ChannelsTelegram-yA_NMLfM.js +1 -0
- package/public/dist/assets/CodeCanvas-DUaLWPBe.js +3 -0
- package/public/dist/assets/{DashboardEmbeddingSection-CIOwsVB5.js → DashboardEmbeddingSection-R9vUu9X2.js} +1 -1
- package/public/dist/assets/{DashboardMeta-D6nJsY8n.js → DashboardMeta-BKutQ9Ps.js} +1 -1
- package/public/dist/assets/DesignPanel-CE5jvzt4.js +2 -0
- package/public/dist/assets/{DiffPanel-ZaDoV7qS.js → DiffPanel-D9Cch5FG.js} +2 -2
- package/public/dist/assets/Display-BPYZ295k.js +1 -0
- package/public/dist/assets/DocPanel-DvtFw8AP.js +1 -0
- package/public/dist/assets/{Employees-CR41RcWo.js → Employees-bxErTlcA.js} +1 -1
- package/public/dist/assets/FolderPanel-u2YeiFFr.js +3 -0
- package/public/dist/assets/HealthBadge-CDPKdSXc.js +1 -0
- package/public/dist/assets/{Heartbeat-CD1R95Kv.js → Heartbeat-BCt4mFWz.js} +1 -1
- package/public/dist/assets/{InlineWarn-B3bJfG-Z.js → InlineWarn-DakL-ThS.js} +1 -1
- package/public/dist/assets/MarkdownRenderer-Cc3DeHvm.js +1 -0
- package/public/dist/assets/MarkdownRenderer-DzN66XVb.js +15 -0
- package/public/dist/assets/{Mcp-DSIEQZfH.js → Mcp-Cp1ffHWt.js} +2 -2
- package/public/dist/assets/{Memory-CpZIdE1o.js → Memory-Rq4fHjZv.js} +1 -1
- package/public/dist/assets/MilkdownWysiwygEditor-xObhviw7.js +160 -0
- package/public/dist/assets/ModelProvider-BNDxlWHC.js +1 -0
- package/public/dist/assets/Network-D_OYGb_C.js +1 -0
- package/public/dist/assets/NotesGraphWorkspace-DO9LtVGF.js +1 -0
- package/public/dist/assets/PanelLayoutProvider-BFxal5fZ.js +1 -0
- package/public/dist/assets/Permissions-DZ3ADB4i.js +1 -0
- package/public/dist/assets/Permissions-wj06yuy6.js +1 -0
- package/public/dist/assets/Profile-BQiNETCP.js +1 -0
- package/public/dist/assets/Prompts-DrMb2Kom.js +1 -0
- package/public/dist/assets/{SpeechKeys-CIq4c1iz.js → SpeechKeys-DqMhN-bl.js} +1 -1
- package/public/dist/assets/{TelegramHub-BrCeAZEf.js → TelegramHub-BSZ3xTdS.js} +1 -1
- package/public/dist/assets/TerminalPanel-Dwfd6Mhs.js +16 -0
- package/public/dist/assets/TerminalPanel-muGat3B1.css +1 -0
- package/public/dist/assets/{abnfDiagram-VCTEODGH-DOF68zXc.js → abnfDiagram-VCTEODGH-Bh3YzulT.js} +1 -1
- package/public/dist/assets/api-CLHen33W.js +1 -0
- package/public/dist/assets/api-CUtiCd2-.js +1 -0
- package/public/dist/assets/{apl-CYLd9I-9.js → apl-gfMMiTNf.js} +1 -1
- package/public/dist/assets/app-Dskscukr.css +1 -0
- package/public/dist/assets/app-ckFtOSgc.js +55 -0
- package/public/dist/assets/architecture-7GRP2DOG-Bp3iCG16.js +1 -0
- package/public/dist/assets/architectureDiagram-5GKGNRK7-COhidFYz.js +36 -0
- package/public/dist/assets/asciiarmor-C_eisQCp.js +1 -0
- package/public/dist/assets/{asn1-BlhHp3qx.js → asn1-DCl_8MCW.js} +1 -1
- package/public/dist/assets/{asterisk-Q0-IBwUt.js → asterisk-BEn0Cwpx.js} +1 -1
- package/public/dist/assets/{bgtask-badge-Cu1w7rg2.js → bgtask-badge-BmSGU6nQ.js} +1 -1
- package/public/dist/assets/bgtask-badge-DKpNEyny.js +1 -0
- package/public/dist/assets/{blockDiagram-OSKFZWR5-CRNzDJwU.js → blockDiagram-OSKFZWR5--OxgY2yr.js} +4 -4
- package/public/dist/assets/bounded-api-DdpT93LB.js +1 -0
- package/public/dist/assets/{bounded-set-DXkYOGnQ.js → bounded-set-BELTet1M.js} +1 -1
- package/public/dist/assets/c4Diagram-7LVT6UL2-C0DocmNb.js +38 -0
- package/public/dist/assets/channel-DO94Q0oH.js +1 -0
- package/public/dist/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
- package/public/dist/assets/{chunk-2ZTRR5NV-DF9qGbFc.js → chunk-2ZTRR5NV-BFt7Dm5O.js} +1 -1
- package/public/dist/assets/chunk-3NF5O7KM-FbOqoUnr.js +168 -0
- package/public/dist/assets/{chunk-3Z5EZCMW-D-umBnbE.js → chunk-3Z5EZCMW-udVqggne.js} +1 -1
- package/public/dist/assets/{chunk-4HAMMTFA-BzeIXjef.js → chunk-4HAMMTFA-UBUVs5kk.js} +2 -2
- package/public/dist/assets/{chunk-5V3GS4D5-DB7RMaO_.js → chunk-5V3GS4D5-ecLo0f1p.js} +1 -1
- package/public/dist/assets/{chunk-5VM5RSS4-CEUkek2W.js → chunk-5VM5RSS4-ZNzvKenW.js} +1 -1
- package/public/dist/assets/{chunk-6AZGARVD-qPN7cVYY.js → chunk-6AZGARVD-Cou1D2Ji.js} +1 -1
- package/public/dist/assets/{chunk-6EIED4P4-Bt6lS0r9.js → chunk-6EIED4P4-DeqPLKcQ.js} +1 -1
- package/public/dist/assets/{chunk-6K3QC6MW-BC_6hNGf.js → chunk-6K3QC6MW-Cn9odKk7.js} +1 -1
- package/public/dist/assets/{chunk-6TQVIW2G-NQr1OdRE.js → chunk-6TQVIW2G-IVBzI7O8.js} +1 -1
- package/public/dist/assets/{chunk-747NJXEK-CukETSeX.js → chunk-747NJXEK-Bxgd5wfl.js} +1 -1
- package/public/dist/assets/{chunk-75Z2AOVW-BLiFJXcr.js → chunk-75Z2AOVW-B1-fK2mN.js} +1 -1
- package/public/dist/assets/chunk-CLGD4ZFX-CotBINqH.js +1 -0
- package/public/dist/assets/{chunk-DU6HZSFF-CqT8wcBs.js → chunk-DU6HZSFF-vsD_dO7e.js} +3 -3
- package/public/dist/assets/{chunk-F27PBJKO-Ccrogyxp.js → chunk-F27PBJKO-C3O21Si2.js} +1 -1
- package/public/dist/assets/{chunk-FOHPRMQF--f9XSh-3.js → chunk-FOHPRMQF-CoA4358r.js} +35 -35
- package/public/dist/assets/{chunk-GMAD6QVW-BJLz4nC-.js → chunk-GMAD6QVW-BSVfzVP1.js} +2 -2
- package/public/dist/assets/chunk-GVQU2GXP-CsYaquup.js +1 -0
- package/public/dist/assets/chunk-H2I77ZZE-ytBKuGMS.js +1 -0
- package/public/dist/assets/{chunk-HLEWEB6X-BKWwzzZJ.js → chunk-HLEWEB6X-bHrMh27k.js} +3 -3
- package/public/dist/assets/{chunk-I5DQTOEV-B46sdKHC.js → chunk-I5DQTOEV-BYKVfZyL.js} +1 -1
- package/public/dist/assets/{chunk-ICYGCRZG-CSu4gXtC.js → chunk-ICYGCRZG-hvV-gq8M.js} +1 -1
- package/public/dist/assets/{chunk-IH6LHLGP-B2m3mWfU.js → chunk-IH6LHLGP-DTNFuJiP.js} +1 -1
- package/public/dist/assets/{chunk-JWPE2WC7-D-FE5omP.js → chunk-JWPE2WC7-DVXcaiue.js} +1 -1
- package/public/dist/assets/{chunk-KI3K4JFJ-Bfn6wbch.js → chunk-KI3K4JFJ-B4ZziqcX.js} +1 -1
- package/public/dist/assets/chunk-L3NEJ4N5-DxbPaCWe.js +1 -0
- package/public/dist/assets/{chunk-LNGE3PJU-Dyjtq0ks.js → chunk-LNGE3PJU-5-SxdO55.js} +7 -7
- package/public/dist/assets/chunk-LQGUR6SS-C7emO-i3.js +2 -0
- package/public/dist/assets/chunk-OSK3NFVY-D_HWIC0H.js +10 -0
- package/public/dist/assets/{chunk-OUJLGHUK-DkWSHliq.js → chunk-OUJLGHUK-CTWiVXba.js} +1 -1
- package/public/dist/assets/{chunk-P2QGCYS3-B-9ymCdr.js → chunk-P2QGCYS3-D9LpOEME.js} +1 -1
- package/public/dist/assets/{chunk-POPQ4Y6H-Df0_Odad.js → chunk-POPQ4Y6H-BzSgf7pO.js} +1 -1
- package/public/dist/assets/{chunk-PWAF6VOD-B1cuaLs-.js → chunk-PWAF6VOD-CqSJPGBE.js} +1 -1
- package/public/dist/assets/{chunk-SVP7TREG-DCh4QTp-.js → chunk-SVP7TREG-NOSK04BT.js} +1 -1
- package/public/dist/assets/{chunk-UY3FDG6J--uyeDRt4.js → chunk-UY3FDG6J-BVPsKpVN.js} +1 -1
- package/public/dist/assets/{chunk-X3CZISLH-C1s9nTVF.js → chunk-X3CZISLH-ChyOdCnY.js} +1 -1
- package/public/dist/assets/{chunk-XHIXRSVI-CQtpMKYq.js → chunk-XHIXRSVI-CQipzMEr.js} +1 -1
- package/public/dist/assets/chunk-XXDRQBXY-Uq2wLB4L.js +1 -0
- package/public/dist/assets/{chunk-ZLD2IHE6-DOKyEMMC.js → chunk-ZLD2IHE6-CWSP7frq.js} +3 -3
- package/public/dist/assets/classDiagram-CYGNFDIV-C1ssjdiH.js +1 -0
- package/public/dist/assets/classDiagram-v2-TLXNO2FR-C1ssjdiH.js +1 -0
- package/public/dist/assets/clike-D_6L3tnO.js +1 -0
- package/public/dist/assets/cmake-84nbDH0I.js +1 -0
- package/public/dist/assets/cobol-DHLQUbN7.js +1 -0
- package/public/dist/assets/coffeescript-De_zI4J0.js +1 -0
- package/public/dist/assets/commonlisp-DgAKBe0r.js +1 -0
- package/public/dist/assets/{constants-BfYYzHNr.js → constants-TRkDoXvF.js} +1 -1
- package/public/dist/assets/{copy-text-Dy0kfmb9.js → copy-text-WsUHYigB.js} +1 -1
- package/public/dist/assets/cose-bilkent-JH36ORCC-BqCMCbxR.js +1 -0
- package/public/dist/assets/crystal-Bsdphhtm.js +1 -0
- package/public/dist/assets/css-CnaYoQib.js +1 -0
- package/public/dist/assets/cynefin-OW5HDTMX-57vG-IQU.js +1 -0
- package/public/dist/assets/cynefinDiagram-5FMLGOSQ-UAM-DZmU.js +62 -0
- package/public/dist/assets/cytoscape.esm-Ql0ZPabT.js +321 -0
- package/public/dist/assets/{d-BfHF1VVF.js → d-DWkQyNnU.js} +1 -1
- package/public/dist/assets/dagre-Fg-GCROL.js +1 -0
- package/public/dist/assets/{dagre-OS7QT2EB-c-JkA4ju.js → dagre-OS7QT2EB-CflcJHKB.js} +2 -2
- package/public/dist/assets/{diagram-S7CK7UJ4-CgObZnGW.js → diagram-S7CK7UJ4-Dzl9sLZD.js} +1 -1
- package/public/dist/assets/{diagram-UQ7AKVKN-DTiko3yH.js → diagram-UQ7AKVKN-BhpfQUAt.js} +2 -2
- package/public/dist/assets/{diagram-VSXAHHWV-BtwoQsOH.js → diagram-VSXAHHWV-CnuHIxOm.js} +1 -1
- package/public/dist/assets/{diagram-VX7I27RA-BvFpphqo.js → diagram-VX7I27RA-CQzbjtqd.js} +13 -13
- package/public/dist/assets/{diagram-Z3DM3KII-Zq8iJClC.js → diagram-Z3DM3KII-DR3Ie5C2.js} +1 -1
- package/public/dist/assets/dist--wUCkuiC.js +9 -0
- package/public/dist/assets/dist-B2ugUS7T.js +1 -0
- package/public/dist/assets/dist-B6-H00Bu.js +1 -0
- package/public/dist/assets/{dist-CD7tjeNO.js → dist-B_o5XbiL.js} +1 -1
- package/public/dist/assets/{dist-D8Zky4R1.js → dist-Bn361Kgk.js} +2 -2
- package/public/dist/assets/{dist-BspKh_Zg.js → dist-Box-O1ow.js} +1 -1
- package/public/dist/assets/dist-Bp7q5-Qc.js +39 -0
- package/public/dist/assets/dist-C9i-hLBK.js +1 -0
- package/public/dist/assets/{dist-JnCmAxGR.js → dist-CGUtB2hn.js} +1 -1
- package/public/dist/assets/dist-CHO5CBK1.js +1 -0
- package/public/dist/assets/dist-CJNnOuaA.js +1 -0
- package/public/dist/assets/dist-CPYD5RoF.js +1 -0
- package/public/dist/assets/dist-CW1HDUim.js +1 -0
- package/public/dist/assets/dist-Cbkb9LHa.js +1 -0
- package/public/dist/assets/dist-CcmA2WLJ.js +2 -0
- package/public/dist/assets/dist-ClT6EIJP.js +1 -0
- package/public/dist/assets/dist-D011G-p-.js +13 -0
- package/public/dist/assets/dist-DBX5LjYY.js +6 -0
- package/public/dist/assets/dist-DBpt7gM8.js +1 -0
- package/public/dist/assets/{dist-CgIOBybm.js → dist-DJGc9cyj.js} +1 -1
- package/public/dist/assets/{dist-CTpw6PFT.js → dist-DUl4SBwX.js} +1 -1
- package/public/dist/assets/{dist-DKd_hdkE.js → dist-DWvaIPaS.js} +1 -1
- package/public/dist/assets/{dist-DS7cuuIk.js → dist-Ds6qQDMC.js} +1 -1
- package/public/dist/assets/dist-Dxy8kUAu.js +1 -0
- package/public/dist/assets/{dist-Bg80xGMJ.js → dist-OaQUa3cd.js} +1 -1
- package/public/dist/assets/dist-Ohtnri73.js +11 -0
- package/public/dist/assets/dist-TN2_Nms3.js +2 -0
- package/public/dist/assets/dist-XM8qpb8C.js +1 -0
- package/public/dist/assets/dist-Y0iINzVl.js +1 -0
- package/public/dist/assets/{dist-uSfGXqs6.js → dist-kYfyPZP9.js} +1 -1
- package/public/dist/assets/{dist-D3ShDeDU.js → dist-lsEiXLAb.js} +1 -1
- package/public/dist/assets/{dockerfile-DkX5AHzr.js → dockerfile-DJkHQgkl.js} +1 -1
- package/public/dist/assets/{dylan-BQ0i5j3T.js → dylan-BCDoL_-p.js} +1 -1
- package/public/dist/assets/{ebnfDiagram-PWID7BFC-_fcO3z5G.js → ebnfDiagram-PWID7BFC-D_FcQuZg.js} +1 -1
- package/public/dist/assets/{ecl-oXh4vhiy.js → ecl-BVIeWmwY.js} +1 -1
- package/public/dist/assets/{employees-qLLnQlAv.js → employees-BJRRI3rV.js} +3 -3
- package/public/dist/assets/{erDiagram-2YWLMYGG-YIq0Go-p.js → erDiagram-2YWLMYGG-CLpGDU8-.js} +3 -3
- package/public/dist/assets/{erlang-GRIYhTbY.js → erlang-BV0c4Hdn.js} +1 -1
- package/public/dist/assets/{error-normalize-CLRJh19F.js → error-normalize-UHvG8s92.js} +1 -1
- package/public/dist/assets/esm-Q6VOkDbn.js +4 -0
- package/public/dist/assets/eventmodeling-NTZA5JFV-Dz1yjNT-.js +1 -0
- package/public/dist/assets/{factor-Xro2mWdw.js → factor-LKH5gN8L.js} +1 -1
- package/public/dist/assets/fields-CSdFjOgg.js +1 -0
- package/public/dist/assets/flowDiagram-T62WH6J4-jooH4x9e.js +1 -0
- package/public/dist/assets/forth-D6RzAl64.js +1 -0
- package/public/dist/assets/ganttDiagram-EL5Y4UJY-B9_NJDV6.js +292 -0
- package/public/dist/assets/gitGraph-4MIJSDKK-NIO2XoGv.js +1 -0
- package/public/dist/assets/{gitGraphDiagram-WWUBYQGX-Bg3OM_0S.js → gitGraphDiagram-WWUBYQGX-BO0vc7Qh.js} +4 -4
- package/public/dist/assets/graphlib-CGJNr7IJ.js +1 -0
- package/public/dist/assets/groovy-CUpZ7dEl.js +1 -0
- package/public/dist/assets/{haxe-BrZpr4Ca.js → haxe-DjVOVvNP.js} +1 -1
- package/public/dist/assets/idb-cache-BRpjf_a8.js +1 -0
- package/public/dist/assets/idb-cache-CFBnPfHz.js +1 -0
- package/public/dist/assets/iframe-renderer-BngLCbh9.js +1 -0
- package/public/dist/assets/iframe-renderer-CFD7rXuQ.js +142 -0
- package/public/dist/assets/info-A6RAGUB7-yRMwEr76.js +1 -0
- package/public/dist/assets/{infoDiagram-FKFFQAWI-Dbi9pIPw.js → infoDiagram-FKFFQAWI-BM2g31_p.js} +1 -1
- package/public/dist/assets/{ishikawaDiagram-5VMMS53U-C1FUP-sO.js → ishikawaDiagram-5VMMS53U-BZvjesKs.js} +2 -2
- package/public/dist/assets/javascript-B9I2pbsP.js +1 -0
- package/public/dist/assets/javascript-DctB8BJo.js +1 -0
- package/public/dist/assets/{journeyDiagram-EYS64GPL-CaEEa3uT.js → journeyDiagram-EYS64GPL-CqtePaqZ.js} +3 -3
- package/public/dist/assets/{jsx-runtime-CYoNlHAD.js → jsx-runtime-CkEUZM6i.js} +1 -1
- package/public/dist/assets/{kanban-definition-UXKFOSKX-DQjqFxtj.js → kanban-definition-UXKFOSKX-ChZA_T7a.js} +5 -5
- package/public/dist/assets/katex-DL-Py6bk.js +1 -0
- package/public/dist/assets/{lua-CxVmDfKg.js → lua-zbJo2mq3.js} +1 -1
- package/public/dist/assets/manager-Bfy42VgJ.css +1 -0
- package/public/dist/assets/manager-CTX6I1Jk.js +13 -0
- package/public/dist/assets/memory-BXcwokaP.js +1 -0
- package/public/dist/assets/{memory-I_6c8skr.js → memory-D2wwkOUi.js} +10 -10
- package/public/dist/assets/mermaid-loader-Beqble_i.js +1 -0
- package/public/dist/assets/{mermaid-parser.core-CBiGpWk6.js → mermaid-parser.core-J035_CYr.js} +1 -1
- package/public/dist/assets/{mermaid-preprocess-4oGDpf1X.js → mermaid-preprocess-D8xe5R2A.js} +1 -1
- package/public/dist/assets/mermaid.core-D1YZrgc_.js +11 -0
- package/public/dist/assets/mermaid.core-DSXunyto.js +1 -0
- package/public/dist/assets/message-history-C2JH-y2v.js +1 -0
- package/public/dist/assets/message-history-CYp7fqXy.js +4 -0
- package/public/dist/assets/{mindmap-definition-THT77NOG-CXOyjall.js → mindmap-definition-THT77NOG-C4c47DPO.js} +3 -3
- package/public/dist/assets/{mumps-BdPrWvs5.js → mumps-BSzj6Xyz.js} +1 -1
- package/public/dist/assets/{nginx-C7cLiM4x.js → nginx-8H7HVH4w.js} +1 -1
- package/public/dist/assets/{notes-graph-settings-Cl4lMj-A.js → notes-graph-settings-BUoTzvqs.js} +1 -1
- package/public/dist/assets/{nsis-iX94j4T9.js → nsis-CfSuhXs5.js} +1 -1
- package/public/dist/assets/{ntriples-DLMpvgb1.js → ntriples-B9h1VB_g.js} +1 -1
- package/public/dist/assets/packet-AYTQ26CC-BreuCLNh.js +1 -0
- package/public/dist/assets/{page-shell-DZ1lls_P.js → page-shell-Bs0RBRoD.js} +1 -1
- package/public/dist/assets/{pegDiagram-XKGWAZYB-DVD3P7WU.js → pegDiagram-XKGWAZYB-BHiELbRn.js} +1 -1
- package/public/dist/assets/perl-BkSkiI9m.js +1 -0
- package/public/dist/assets/pi-settings-B7e38HJP.js +1 -0
- package/public/dist/assets/{pi-settings-DEuKgvIj.js → pi-settings-BmvRWRpc.js} +1 -1
- package/public/dist/assets/pie-WAS4IAKB-Co3_rQ80.js +1 -0
- package/public/dist/assets/{pieDiagram-E7YTZNPT-DEH6UJP4.js → pieDiagram-E7YTZNPT-BEKTktaH.js} +2 -2
- package/public/dist/assets/{powershell-Dfw2t4-B.js → powershell-BcIto6Sf.js} +1 -1
- package/public/dist/assets/preload-helper-CfbQpVni.js +1 -0
- package/public/dist/assets/presentation-DWHWElFr.js +1 -0
- package/public/dist/assets/presentation-preference-BYEPPRPg.js +1 -0
- package/public/dist/assets/presentation-preference-D9u6LD07.js +1 -0
- package/public/dist/assets/{pug-C8nPBT90.js → pug-CqqUmdG7.js} +1 -1
- package/public/dist/assets/puppet-BZyAS7I4.js +1 -0
- package/public/dist/assets/python-B_1Jd8HM.js +1 -0
- package/public/dist/assets/{quadrantDiagram-AXDQQJYC-CAbCNOON.js → quadrantDiagram-AXDQQJYC-CeJGAkDA.js} +2 -2
- package/public/dist/assets/r-CxDmU1I4.js +1 -0
- package/public/dist/assets/radar-RG4KPBEZ-C2cOxc85.js +1 -0
- package/public/dist/assets/railroad-74A4TZTK-BZ4umY4g.js +1 -0
- package/public/dist/assets/railroad-abnf-HS5TGJTU-DxbXiuYs.js +1 -0
- package/public/dist/assets/railroad-ebnf-LZEXJU2U-Bthp2_-B.js +1 -0
- package/public/dist/assets/railroad-peg-WCYAUIDC-YcQ4ouxQ.js +1 -0
- package/public/dist/assets/{railroadDiagram-O6MQD6OU-CEs81LrU.js → railroadDiagram-O6MQD6OU-CsT34rgN.js} +1 -1
- package/public/dist/assets/{render-Cc0Y43E3.js → render-DRweFDYR.js} +13 -13
- package/public/dist/assets/{requirementDiagram-IS5BZ75X-DsPApdKv.js → requirementDiagram-IS5BZ75X-4PwTKQWK.js} +2 -2
- package/public/dist/assets/rolldown-runtime-hePW80VL.js +1 -0
- package/public/dist/assets/{rough.esm-DQG0wzX4.js → rough.esm-Dy-Kn_BL.js} +1 -1
- package/public/dist/assets/ruby-BjXV7-Qa.js +1 -0
- package/public/dist/assets/{sankeyDiagram-P5KCCOFB-Im52Eou9.js → sankeyDiagram-P5KCCOFB-BykRKMDj.js} +2 -2
- package/public/dist/assets/scheme-D9qYN0V5.js +1 -0
- package/public/dist/assets/sequenceDiagram-WJ2MYXX4-Dyj787ok.js +162 -0
- package/public/dist/assets/settings-2diaN51W.js +1 -0
- package/public/dist/assets/{settings-DpjZSu2J.js → settings-DuqNWkxS.js} +3 -3
- package/public/dist/assets/settings-client-CSHmzyxv.js +1 -0
- package/public/dist/assets/settings-core-CIPKFBNN.js +162 -0
- package/public/dist/assets/settings-core-DiYr5EbU.js +1 -0
- package/public/dist/assets/{shell-BBoIO9l0.js → shell-DwuoZtxw.js} +1 -1
- package/public/dist/assets/sidebar-DumxhgAD.js +49 -0
- package/public/dist/assets/{sieve-8oEe6gDx.js → sieve-tLWDfEkZ.js} +1 -1
- package/public/dist/assets/{simple-mode-BNw0K2rL.js → simple-mode-DXiLM1-G.js} +1 -1
- package/public/dist/assets/{sizeCapture-INFHLROL-D9Rpk-aA.js → sizeCapture-INFHLROL-B0uUizjq.js} +1 -1
- package/public/dist/assets/skills-CCXE-bXK.js +1 -0
- package/public/dist/assets/skills-D3AfzYbP.js +12 -0
- package/public/dist/assets/slash-commands-Cn9AWqF6.js +1 -0
- package/public/dist/assets/slash-commands-DCHYDCYa.js +20 -0
- package/public/dist/assets/solr-B78wSQJQ.js +1 -0
- package/public/dist/assets/sql-DuQMFDvy.js +1 -0
- package/public/dist/assets/state-Dl-xxPoS.js +1 -0
- package/public/dist/assets/{stateDiagram-XQSTLZYL-B5CxGVqv.js → stateDiagram-XQSTLZYL-6p5Yrm8S.js} +1 -1
- package/public/dist/assets/stateDiagram-v2-IH3M54BS-DfXrMbZg.js +1 -0
- package/public/dist/assets/{stex-32iK7T_9.js → stex-DNzd62Q_.js} +1 -1
- package/public/dist/assets/{stylus-C689wDNM.js → stylus-BOVgKnng.js} +1 -1
- package/public/dist/assets/swimlanes-V6O3JKXN-Pyw_hrrE.js +1 -0
- package/public/dist/assets/swimlanesDiagram-JKAHXJPX-R-OHp34K.js +8 -0
- package/public/dist/assets/textile-C4jVoHG1.js +1 -0
- package/public/dist/assets/tiki-AK6FwT8q.js +1 -0
- package/public/dist/assets/timeline-definition-24CTP7MA-V_LwIXs0.js +120 -0
- package/public/dist/assets/toml-BPTmHmyx.js +1 -0
- package/public/dist/assets/trace-drawer-B05Fa2ja.js +20 -0
- package/public/dist/assets/treeView-Q6P3EWNA-CDjnLfDO.js +1 -0
- package/public/dist/assets/treemap-WGGIJYW6-CbGUwvA1.js +1 -0
- package/public/dist/assets/{ttcn-CPOduycD.js → ttcn-PPSTk1ow.js} +1 -1
- package/public/dist/assets/{ttcn-cfg-DmA__-R_.js → ttcn-cfg-2b4Gb5sE.js} +1 -1
- package/public/dist/assets/turtle-Cx3rYX2g.js +1 -0
- package/public/dist/assets/ui-BO9pdl-p.js +1 -0
- package/public/dist/assets/ui-CCXcKDL5.js +2 -0
- package/public/dist/assets/vendor-render-Cmfl_oW8.js +383 -0
- package/public/dist/assets/vendor-render-DSSkXCir.css +1 -0
- package/public/dist/assets/vendor-utils-C1xaEGmb.js +1 -0
- package/public/dist/assets/{vennDiagram-4TSXK5OY-fVndHq7T.js → vennDiagram-4TSXK5OY-ZagiHlwi.js} +3 -3
- package/public/dist/assets/{verilog-DMw8DKoT.js → verilog-CjI9Y6RI.js} +1 -1
- package/public/dist/assets/vhdl-kS471soi.js +1 -0
- package/public/dist/assets/wardley-WFR3VGLG-Cj73o4Iq.js +1 -0
- package/public/dist/assets/{wardleyDiagram-VM6X3IG4-CXIfS7ZF.js → wardleyDiagram-VM6X3IG4-BBAHdIq-.js} +35 -35
- package/public/dist/assets/wiki-link-resolver-CbJATnBn.js +22 -0
- package/public/dist/assets/wiki-link-suggestions-BcEfThgf.js +2 -0
- package/public/dist/assets/{xquery-CYbd_YmJ.js → xquery-BKJx4mf9.js} +1 -1
- package/public/dist/assets/{xychartDiagram-S5SC5T6Z-CqC-Uvuc.js → xychartDiagram-S5SC5T6Z-C43SenTd.js} +4 -4
- package/public/dist/assets/z80-Co3PbHdE.js +1 -0
- package/public/dist/index.html +4 -4
- package/public/dist/manager/index.html +3 -3
- package/public/index.html +3 -1
- package/public/js/api.ts +2 -2
- package/public/js/bounded-api.ts +49 -0
- package/public/js/features/activity-discovery.ts +142 -0
- package/public/js/features/activity-history.ts +334 -0
- package/public/js/features/activity-http.ts +17 -0
- package/public/js/features/activity-live.ts +330 -0
- package/public/js/features/activity-view.ts +218 -0
- package/public/js/features/chat-messages.ts +13 -4
- package/public/js/features/idb-cache.ts +37 -3
- package/public/js/features/message-history.ts +144 -16
- package/public/js/features/message-item-html.ts +7 -3
- package/public/js/features/native-request-bridge.ts +133 -0
- package/public/js/features/native-requests.ts +337 -0
- package/public/js/features/presentation-preference.ts +52 -0
- package/public/js/features/process-block.ts +35 -1
- package/public/js/features/process-log-adapter.ts +11 -1
- package/public/js/features/settings-core.ts +20 -1
- package/public/js/features/settings-types.ts +5 -1
- package/public/js/features/trace-drawer.ts +145 -43
- package/public/js/features/ui-status.ts +5 -0
- package/public/js/state.ts +3 -0
- package/public/js/ui.ts +41 -8
- package/public/js/virtual-scroll.ts +66 -4
- package/public/js/ws.ts +324 -29
- package/public/manager/src/settings/fields/SelectField.tsx +7 -5
- package/public/manager/src/settings/pages/Agent.tsx +3 -2
- package/public/manager/src/settings/pages/Display.tsx +100 -19
- package/public/manager/src/settings/pages/ModelProvider.tsx +133 -45
- package/public/manager/src/settings/pages/Permissions.tsx +18 -10
- package/public/manager/src/settings/pages/components/PerCliRow.tsx +42 -6
- package/public/manager/src/settings/pages/components/PiProfileDialog.tsx +59 -6
- package/public/manager/src/settings/pages/components/agent/PermissionQuickSection.tsx +9 -6
- package/public/manager/src/settings/pages/components/agent/agent-meta.ts +3 -0
- package/public/manager/src/settings/pages/components/runtime-transport-field.tsx +68 -0
- package/public/manager/src/settings-controls.css +43 -0
- package/public/manager/src/settings-shell.css +21 -1
- package/scripts/bundle-sidecar.sh +282 -37
- package/scripts/check-sidecar-smoke.mjs +250 -137
- package/scripts/sidecar-smoke-probe.mjs +171 -0
- package/public/dist/assets/AdvancedExport-tXydxVAh.js +0 -1
- package/public/dist/assets/Agent-CHaTUS7c.js +0 -1
- package/public/dist/assets/Browser-Dm5J1gXP.js +0 -1
- package/public/dist/assets/BrowserPanel-0b3deLGR.js +0 -3
- package/public/dist/assets/ChannelsDiscord-D6jmfyHe.js +0 -1
- package/public/dist/assets/ChannelsSlack-BcykASIN.js +0 -1
- package/public/dist/assets/ChannelsTelegram-XkNtVi8o.js +0 -1
- package/public/dist/assets/CodeCanvas-D-JH2Ikl.js +0 -3
- package/public/dist/assets/DesignPanel-SuUOoyQN.js +0 -2
- package/public/dist/assets/Display-B25HqCMH.js +0 -1
- package/public/dist/assets/DocPanel-qiqo6365.js +0 -1
- package/public/dist/assets/FolderPanel-BkggPdTP.js +0 -3
- package/public/dist/assets/HealthBadge-D7BQ-LHD.js +0 -1
- package/public/dist/assets/MarkdownRenderer-DZ-hWmCB.js +0 -15
- package/public/dist/assets/MarkdownRenderer-uwE0Wam5.js +0 -1
- package/public/dist/assets/MilkdownWysiwygEditor-DanGAZL5.js +0 -160
- package/public/dist/assets/ModelProvider-tL42E5dy.js +0 -1
- package/public/dist/assets/Network-ByNu-VCZ.js +0 -1
- package/public/dist/assets/NotesGraphWorkspace-Be6ctzYE.js +0 -1
- package/public/dist/assets/PanelLayoutProvider-B9fYsunp.js +0 -1
- package/public/dist/assets/Permissions-B-74b-nO.js +0 -1
- package/public/dist/assets/Permissions-x_6_kLC1.js +0 -1
- package/public/dist/assets/Profile-Bf9-QN2Y.js +0 -1
- package/public/dist/assets/Prompts-DGDw56NQ.js +0 -1
- package/public/dist/assets/TerminalPanel-DdE69MNo.css +0 -1
- package/public/dist/assets/TerminalPanel-gXH7bTXQ.js +0 -36
- package/public/dist/assets/api-DNnX8m0u.js +0 -1
- package/public/dist/assets/api-tVoG39dL.js +0 -1
- package/public/dist/assets/app-CXraFyoA.js +0 -55
- package/public/dist/assets/app-DuyLYRC6.css +0 -1
- package/public/dist/assets/architecture-7GRP2DOG-DxLizWvy.js +0 -1
- package/public/dist/assets/architectureDiagram-5GKGNRK7-BpxFEoT5.js +0 -36
- package/public/dist/assets/asciiarmor-7YwhfGDq.js +0 -1
- package/public/dist/assets/bgtask-badge-BjyAbBio.js +0 -1
- package/public/dist/assets/c4Diagram-7LVT6UL2-Bg0DdRYW.js +0 -38
- package/public/dist/assets/channel-BjgXjYj8.js +0 -1
- package/public/dist/assets/chunk-2Q5K7J3B-BClkI2P5.js +0 -1
- package/public/dist/assets/chunk-3NF5O7KM-DXOprKA_.js +0 -168
- package/public/dist/assets/chunk-CLGD4ZFX-B5zkZ8n6.js +0 -1
- package/public/dist/assets/chunk-GVQU2GXP-BlVn1fMW.js +0 -1
- package/public/dist/assets/chunk-H2I77ZZE-BXf4_vA2.js +0 -1
- package/public/dist/assets/chunk-L3NEJ4N5-FGXu31jw.js +0 -1
- package/public/dist/assets/chunk-LQGUR6SS-qUTD5FMI.js +0 -2
- package/public/dist/assets/chunk-OSK3NFVY-CrXjNywV.js +0 -10
- package/public/dist/assets/chunk-XXDRQBXY-DEwmqeYc.js +0 -1
- package/public/dist/assets/classDiagram-CYGNFDIV-hbaxbeYd.js +0 -1
- package/public/dist/assets/classDiagram-v2-TLXNO2FR-_OfX3b6Y.js +0 -1
- package/public/dist/assets/clike-BcV5UqGE.js +0 -1
- package/public/dist/assets/cmake-DhPsEu0W.js +0 -1
- package/public/dist/assets/cobol-BEekiT-v.js +0 -1
- package/public/dist/assets/coffeescript-Bgk4ZVWF.js +0 -1
- package/public/dist/assets/commonlisp-Dw4PRJwx.js +0 -1
- package/public/dist/assets/cose-bilkent-JH36ORCC-HnUYAhwC.js +0 -1
- package/public/dist/assets/crystal-CJ-iCD_G.js +0 -1
- package/public/dist/assets/css-BDUaiSMY.js +0 -1
- package/public/dist/assets/cynefin-OW5HDTMX-VXYSLvft.js +0 -1
- package/public/dist/assets/cynefinDiagram-5FMLGOSQ-D0dmg5fA.js +0 -62
- package/public/dist/assets/cytoscape.esm-CS3SmpXd.js +0 -321
- package/public/dist/assets/dagre-DDTOgfwg.js +0 -1
- package/public/dist/assets/dist-BCCaGGDY.js +0 -1
- package/public/dist/assets/dist-BPE4W9iX.js +0 -6
- package/public/dist/assets/dist-BQMBTYXL.js +0 -1
- package/public/dist/assets/dist-BaPGPaX4.js +0 -1
- package/public/dist/assets/dist-CBnlLSQZ.js +0 -1
- package/public/dist/assets/dist-CINTuhik.js +0 -2
- package/public/dist/assets/dist-CX7KjpF3.js +0 -39
- package/public/dist/assets/dist-CczLsP0o.js +0 -9
- package/public/dist/assets/dist-CdfDDy4r.js +0 -1
- package/public/dist/assets/dist-Cl_pRobr.js +0 -1
- package/public/dist/assets/dist-CruwQXwE.js +0 -1
- package/public/dist/assets/dist-CvE8Qa9r.js +0 -2
- package/public/dist/assets/dist-Cy3mcP1e.js +0 -1
- package/public/dist/assets/dist-CzCFEnHw.js +0 -1
- package/public/dist/assets/dist-D2h9T4I9.js +0 -13
- package/public/dist/assets/dist-DLOg6n0b.js +0 -1
- package/public/dist/assets/dist-DW0I56_o.js +0 -1
- package/public/dist/assets/dist-TombgBki.js +0 -11
- package/public/dist/assets/dist-hBRIxDzG.js +0 -1
- package/public/dist/assets/dist-z5Z70wW8.js +0 -1
- package/public/dist/assets/esm-CT1xxdH5.js +0 -4
- package/public/dist/assets/eventmodeling-NTZA5JFV-Csqcv5T_.js +0 -1
- package/public/dist/assets/fields-E1L8aEhU.js +0 -1
- package/public/dist/assets/flowDiagram-T62WH6J4-Del9dfOW.js +0 -1
- package/public/dist/assets/forth-DNnBFTm6.js +0 -1
- package/public/dist/assets/ganttDiagram-EL5Y4UJY-CezfIvti.js +0 -292
- package/public/dist/assets/gitGraph-4MIJSDKK-D_1mlgPm.js +0 -1
- package/public/dist/assets/graphlib-Cjg_soTo.js +0 -1
- package/public/dist/assets/groovy-Cm4gdIYU.js +0 -1
- package/public/dist/assets/idb-cache-B5PX63p7.js +0 -1
- package/public/dist/assets/idb-cache-lOntwU3S.js +0 -1
- package/public/dist/assets/iframe-renderer-BLP8Army.js +0 -1
- package/public/dist/assets/iframe-renderer-vuNrU6aI.js +0 -142
- package/public/dist/assets/info-A6RAGUB7-ce7F80NR.js +0 -1
- package/public/dist/assets/javascript-DD7UxIxH.js +0 -1
- package/public/dist/assets/javascript-DZFdG8BN.js +0 -1
- package/public/dist/assets/katex-BoGadFcG.js +0 -1
- package/public/dist/assets/manager-BspQvGAC.js +0 -13
- package/public/dist/assets/manager-Cmu0aKPb.css +0 -1
- package/public/dist/assets/memory-CRji7xpO.js +0 -1
- package/public/dist/assets/mermaid-loader-BcReSszT.js +0 -1
- package/public/dist/assets/mermaid.core-BJIXJ0Ir.js +0 -11
- package/public/dist/assets/mermaid.core-J6tiqiVK.js +0 -1
- package/public/dist/assets/message-history-C1ThtA4i.js +0 -1
- package/public/dist/assets/message-history-CXg12lcd.js +0 -1
- package/public/dist/assets/packet-AYTQ26CC-86oNpyWh.js +0 -1
- package/public/dist/assets/perl-DfpfXWOH.js +0 -1
- package/public/dist/assets/pi-settings-5HVg1sXJ.js +0 -1
- package/public/dist/assets/pie-WAS4IAKB-CMzmzfvT.js +0 -1
- package/public/dist/assets/preload-helper-DFYRRz9w.js +0 -1
- package/public/dist/assets/puppet-DnsvBfcg.js +0 -1
- package/public/dist/assets/python-mfoZJSDM.js +0 -1
- package/public/dist/assets/r-FO7GgXB8.js +0 -1
- package/public/dist/assets/radar-RG4KPBEZ-CsDBxCx4.js +0 -1
- package/public/dist/assets/railroad-74A4TZTK-B6s85Oul.js +0 -1
- package/public/dist/assets/railroad-abnf-HS5TGJTU-jnABoAnr.js +0 -1
- package/public/dist/assets/railroad-ebnf-LZEXJU2U-C_VWXbk9.js +0 -1
- package/public/dist/assets/railroad-peg-WCYAUIDC-y3jeoP_s.js +0 -1
- package/public/dist/assets/rolldown-runtime-XQCOJYun.js +0 -1
- package/public/dist/assets/ruby-Cg1fwXaw.js +0 -1
- package/public/dist/assets/scheme-DGFmPoR2.js +0 -1
- package/public/dist/assets/sequenceDiagram-WJ2MYXX4-BChOR6yh.js +0 -162
- package/public/dist/assets/settings-B2Ix6Y7k.js +0 -1
- package/public/dist/assets/settings-client-D9KY2Ufl.js +0 -1
- package/public/dist/assets/settings-core-Bkb0BoYY.js +0 -1
- package/public/dist/assets/settings-core-DWYQIIoe.js +0 -162
- package/public/dist/assets/sidebar-C8WKweCz.js +0 -49
- package/public/dist/assets/skills-QWf6vRIB.js +0 -12
- package/public/dist/assets/skills-bEGqvmiQ.js +0 -1
- package/public/dist/assets/slash-commands-BbA0Y1up.js +0 -1
- package/public/dist/assets/slash-commands-qD6yScsx.js +0 -20
- package/public/dist/assets/solr-BwGyzi2H.js +0 -1
- package/public/dist/assets/sql-B6Phvk1R.js +0 -1
- package/public/dist/assets/state-DxpgDKMO.js +0 -1
- package/public/dist/assets/stateDiagram-v2-IH3M54BS-BmdRqxzy.js +0 -1
- package/public/dist/assets/swimlanes-V6O3JKXN-Ckem4dQh.js +0 -1
- package/public/dist/assets/swimlanesDiagram-JKAHXJPX-DW_0PiOk.js +0 -8
- package/public/dist/assets/textile-xOWO1SH7.js +0 -1
- package/public/dist/assets/tiki-OG7n6UAo.js +0 -1
- package/public/dist/assets/timeline-definition-24CTP7MA-CJRsjFnd.js +0 -120
- package/public/dist/assets/toml-DkxT-aUR.js +0 -1
- package/public/dist/assets/trace-drawer-Ct8sP4j-.js +0 -15
- package/public/dist/assets/treeView-Q6P3EWNA-ChnMvz2a.js +0 -1
- package/public/dist/assets/treemap-WGGIJYW6-DZJ4jE42.js +0 -1
- package/public/dist/assets/turtle-CEzrJHdY.js +0 -1
- package/public/dist/assets/ui-BZxyyJUk.js +0 -1
- package/public/dist/assets/ui-xoW9x-Pz.js +0 -2
- package/public/dist/assets/vendor-render-BpGO1zp3.js +0 -383
- package/public/dist/assets/vendor-render-kIxHrxDV.css +0 -1
- package/public/dist/assets/vendor-utils-BUFU5ypz.js +0 -1
- package/public/dist/assets/vhdl-M4wLPuJt.js +0 -1
- package/public/dist/assets/wardley-WFR3VGLG-CGM_JiX0.js +0 -1
- package/public/dist/assets/wiki-link-resolver-BGpGBLMp.js +0 -22
- package/public/dist/assets/wiki-link-suggestions-cvpqJp6c.js +0 -2
- package/public/dist/assets/z80-nGsPT_fm.js +0 -1
- /package/public/dist/assets/{agent-meta-KPnVam9G.js → agent-meta-WqLP4HPi.js} +0 -0
- /package/public/dist/assets/{api-FOqKQ9fm.js → api-B9RiiOMM.js} +0 -0
- /package/public/dist/assets/{brainfuck-CM8jf4Gu.js → brainfuck-D5EjA2JK.js} +0 -0
- /package/public/dist/assets/{chunk-Y2CYZVJY-DlLjK0OJ.js → chunk-Y2CYZVJY-DsF7k-Jl.js} +0 -0
- /package/public/dist/assets/{clojure-XHu9GAjV.js → clojure-BflJGmDX.js} +0 -0
- /package/public/dist/assets/{cypher-CJ05ZgAu.js → cypher-p9eYesGn.js} +0 -0
- /package/public/dist/assets/{desktop-bridge-DtydAvqu.js → desktop-bridge-DbRfkg8l.js} +0 -0
- /package/public/dist/assets/{diff-BVcHwfdB.js → diff-ChtP43wD.js} +0 -0
- /package/public/dist/assets/{dtd-Bg0TgBY9.js → dtd-DTF72YNO.js} +0 -0
- /package/public/dist/assets/{ebnf-QSFUkOiT.js → ebnf-D4c0_ac3.js} +0 -0
- /package/public/dist/assets/{eiffel-S15DDWzw.js → eiffel-BEjRio4Q.js} +0 -0
- /package/public/dist/assets/{elm-B746ZFPi.js → elm-Cshzl8qu.js} +0 -0
- /package/public/dist/assets/{fcl-DjQMeb0v.js → fcl-ClOhbFR7.js} +0 -0
- /package/public/dist/assets/{folder-drag-payload-CJ0dxhZa.js → folder-drag-payload-BhV9yzhH.js} +0 -0
- /package/public/dist/assets/{fortran-yg6K9z9n.js → fortran-Bt6PBEDR.js} +0 -0
- /package/public/dist/assets/{gas-fbsH19hy.js → gas-BHEdbvp9.js} +0 -0
- /package/public/dist/assets/{gherkin-BCy9haeT.js → gherkin-oBAE_ms0.js} +0 -0
- /package/public/dist/assets/{haskell-Dq28dVw2.js → haskell-BRsoo5mP.js} +0 -0
- /package/public/dist/assets/{http-B3zr0y0o.js → http-CLVgA2GD.js} +0 -0
- /package/public/dist/assets/{idl-C9CL9hdG.js → idl-BUZw3wgd.js} +0 -0
- /package/public/dist/assets/{julia-CjwfSXBk.js → julia-CQfgDRfP.js} +0 -0
- /package/public/dist/assets/{livescript-vRjI6jFU.js → livescript-BXxG0Yva.js} +0 -0
- /package/public/dist/assets/{locale-DC-ZsWOf.js → locale-B9w_kUtW.js} +0 -0
- /package/public/dist/assets/{mathematica-DJZPFt8k.js → mathematica-u8YMmbU0.js} +0 -0
- /package/public/dist/assets/{mbox-CxBBnlIA.js → mbox-BEMVcqjs.js} +0 -0
- /package/public/dist/assets/{mirc-CBWc0vcU.js → mirc-C9zpzAZU.js} +0 -0
- /package/public/dist/assets/{mllike-DYddHpeS.js → mllike-B45xgp2S.js} +0 -0
- /package/public/dist/assets/{modelica-B94rrYMn.js → modelica-CqHI_q-D.js} +0 -0
- /package/public/dist/assets/{mscgen-D0PO0iPT.js → mscgen-qgSLujhx.js} +0 -0
- /package/public/dist/assets/{octave-DeJPElAr.js → octave-D2Q8cUp1.js} +0 -0
- /package/public/dist/assets/{oz-4dtXWqwe.js → oz-BwTct_5T.js} +0 -0
- /package/public/dist/assets/{pascal-TdeXcL-o.js → pascal-Dp_KdFgX.js} +0 -0
- /package/public/dist/assets/{path-utils-QbjARuCC.js → path-utils-B6vBr0DD.js} +0 -0
- /package/public/dist/assets/{pig-xQ4essgV.js → pig-AF4Hwhju.js} +0 -0
- /package/public/dist/assets/{properties-CrJLOvU2.js → properties-C357ku5U.js} +0 -0
- /package/public/dist/assets/{protobuf-BYv78GYU.js → protobuf-D1ij_kNL.js} +0 -0
- /package/public/dist/assets/{provider-icons-CXA2mnPO.js → provider-icons-Det0fC-4.js} +0 -0
- /package/public/dist/assets/{q-BrTIu4PU.js → q-B9NhS7L_.js} +0 -0
- /package/public/dist/assets/{rpm-D8Wbdep5.js → rpm-gpDK5sbt.js} +0 -0
- /package/public/dist/assets/{sas-Ch1GEx-n.js → sas-C2OyD2Y6.js} +0 -0
- /package/public/dist/assets/{settings-types-DPhhM-cj.js → settings-types-B09BmpYe.js} +0 -0
- /package/public/dist/assets/{smalltalk-ChbxX23N.js → smalltalk-BLp5-jwC.js} +0 -0
- /package/public/dist/assets/{sparql-D9wgprRx.js → sparql-Dz-mlCAC.js} +0 -0
- /package/public/dist/assets/{spreadsheet-BySehl32.js → spreadsheet-CTIncYxj.js} +0 -0
- /package/public/dist/assets/{swift-DZwxTp-L.js → swift-DKB6_1j6.js} +0 -0
- /package/public/dist/assets/{tcl-BSOjIY_8.js → tcl-BGfruO1u.js} +0 -0
- /package/public/dist/assets/{tiddlywiki-B8jhOxrf.js → tiddlywiki-VlUiK86J.js} +0 -0
- /package/public/dist/assets/{troff-vE5gOX7Y.js → troff-C2dAgh7P.js} +0 -0
- /package/public/dist/assets/{vb-Cii5IQTv.js → vb-BthdM_4N.js} +0 -0
- /package/public/dist/assets/{vbscript-DcZWGZ_S.js → vbscript-D9f6rSsU.js} +0 -0
- /package/public/dist/assets/{velocity-BEag7EnK.js → velocity-CqftRsjg.js} +0 -0
- /package/public/dist/assets/{vendor-icons-Begb5v1n.js → vendor-icons-CNcMX6Ac.js} +0 -0
- /package/public/dist/assets/{w3c-keyname-hgmz1BF7.js → w3c-keyname-BOAvb0qz.js} +0 -0
- /package/public/dist/assets/{webidl-CjehKbx5.js → webidl-D5jiJvOU.js} +0 -0
- /package/public/dist/assets/{yacas-ClBNsli2.js → yacas-CXXgtw0p.js} +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Extracted from spawn.ts to unify ACP + CLI exit handling.
|
|
3
3
|
import { broadcast } from '../core/bus.js';
|
|
4
4
|
import { settings, detectCli } from '../core/config.js';
|
|
5
|
-
import { clearEmployeeSession, insertMessage, insertMessageWithTraceRun, updateSession, clearSessionBucket, markAnchorConsumed, updateSessionBucketLastRun } from '../core/db.js';
|
|
5
|
+
import { clearEmployeeSession, insertMessage, insertMessageWithTrace, insertMessageWithTraceRun, updateSession, clearSessionBucket, markAnchorConsumed, updateSessionBucketLastRun } from '../core/db.js';
|
|
6
6
|
import { getActiveChatSession } from '../core/chat-sessions.js';
|
|
7
7
|
import { persistMainSession } from './session-persistence.js';
|
|
8
8
|
import { resolveSessionBucket } from './args.js';
|
|
@@ -18,6 +18,8 @@ import { clearLiveRun, getLiveRun } from './live-run-state.js';
|
|
|
18
18
|
import { sanitizeToolLogForDurableStorage, serializeSanitizedToolLog } from '../shared/tool-log-sanitize.js';
|
|
19
19
|
import { scanStructuredFence } from '../shared/structured-fence.js';
|
|
20
20
|
import { finalizeTraceRun, linkTraceRunToMessage } from '../trace/store.js';
|
|
21
|
+
import { mergeLatestTools } from './merge-tool-log.js';
|
|
22
|
+
import { handoffRuntimeOutcome, lifecycleRuntimeOutcome, runtimeOutcomeExitCode } from './runtime/outcome.js';
|
|
21
23
|
import { resolveSpawnOutputText } from './events/helpers.js';
|
|
22
24
|
import { isKiroPlainTextCli, isKiroResumeDegradedOutput } from './kiro-runtime.js';
|
|
23
25
|
import { incrementMemoryFlush, countTurnForFlush, triggerMemoryFlush, memoryFlushCounter, } from './memory-flush-controller.js';
|
|
@@ -137,6 +139,10 @@ function lifecycleRuntimeCli(cli, provider) {
|
|
|
137
139
|
return cli;
|
|
138
140
|
return provider === 'claude' ? 'claude-e' : (provider || cli);
|
|
139
141
|
}
|
|
142
|
+
/** Compatibility delivery alone collapses whitespace; canonical data stays exact. */
|
|
143
|
+
function runtimeCompatibilityText(finalText) {
|
|
144
|
+
return finalText === null || finalText.trim().length === 0 ? '' : finalText;
|
|
145
|
+
}
|
|
140
146
|
/** Tag agent_done with the trace run that produced it so the web UI can drop
|
|
141
147
|
* SSE replays of already-finished turns instead of mid-turn-finalizing the
|
|
142
148
|
* in-flight one (devlog 260612 manager_stream_hidden_state_audit 06-08). */
|
|
@@ -150,7 +156,11 @@ function runTag(ctx) {
|
|
|
150
156
|
* fallback recovery, output save, error classification, 429 retry, fallback.
|
|
151
157
|
*/
|
|
152
158
|
export async function handleAgentExit(params) {
|
|
153
|
-
const { ctx, code, cli, model, agentLabel, mainManaged, origin, prompt, opts, cfg, ownerGeneration, persistenceOwner, forceNew, empSid, isResume, wasKilled, wasSteer, smokeResult, effortDefault, costLine, resolve, activeProcesses, scopeKey, chatSessionId,
|
|
159
|
+
const { ctx, code: processCode, cli, model, agentLabel, mainManaged, origin, prompt, opts, cfg, ownerGeneration, persistenceOwner, forceNew, empSid, isResume, wasKilled, wasSteer, smokeResult, effortDefault, costLine, resolve, activeProcesses, scopeKey, chatSessionId, childProcess, releaseMainRun, retryState, fallbackState, fallbackMaxRetries, processQueue, } = params;
|
|
160
|
+
const nativeOutcome = lifecycleRuntimeOutcome(ctx, wasKilled || wasSteer || Boolean(ctx.stallReason));
|
|
161
|
+
const code = runtimeOutcomeExitCode(nativeOutcome, processCode);
|
|
162
|
+
const nativeRequestId = ctx.requestId ?? opts.requestId;
|
|
163
|
+
const nativeTraceRunId = ctx.traceRunId;
|
|
154
164
|
const effectiveProvider = params.effectiveProvider;
|
|
155
165
|
const runtimeCli = lifecycleRuntimeCli(cli, effectiveProvider);
|
|
156
166
|
const effortVal = cfg.effort || effortDefault;
|
|
@@ -164,9 +174,51 @@ export async function handleAgentExit(params) {
|
|
|
164
174
|
const isEmployee = !mainManaged;
|
|
165
175
|
const empTag = isEmployee ? { isEmployee: true } : {};
|
|
166
176
|
const liveScope = ctx.liveScope || 'default';
|
|
167
|
-
const
|
|
177
|
+
const ownsLiveRun = () => nativeOutcome === undefined
|
|
178
|
+
|| (typeof ctx.traceRunId === 'string' && getLiveRun(liveScope).traceRunId === ctx.traceRunId);
|
|
179
|
+
const traceStatus = nativeOutcome === undefined
|
|
180
|
+
? code === 0 ? 'done' : wasKilled ? 'interrupted' : 'error'
|
|
181
|
+
: nativeOutcome.status === 'stopped' ? 'interrupted' : nativeOutcome.status;
|
|
182
|
+
let runtimeFinalText = null;
|
|
183
|
+
let runtimeEnded = false;
|
|
184
|
+
const finalizeRun = (status, error) => {
|
|
185
|
+
if (!runtimeEnded) {
|
|
186
|
+
runtimeEnded = true;
|
|
187
|
+
const stopped = wasKilled || wasSteer || Boolean(ctx.stallReason) || status === 'interrupted';
|
|
188
|
+
try {
|
|
189
|
+
params.onRuntimeEnd?.({
|
|
190
|
+
kind: 'turn-end',
|
|
191
|
+
status: nativeOutcome === undefined
|
|
192
|
+
? stopped ? 'stopped' : status === 'error' ? 'error' : 'done'
|
|
193
|
+
: nativeOutcome.status,
|
|
194
|
+
finalText: runtimeFinalText,
|
|
195
|
+
...(error ? { error } : {}),
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
console.warn('[runtime:projection] lifecycle observer failed');
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
if (nativeOutcome === undefined) {
|
|
203
|
+
try {
|
|
204
|
+
finalizeTraceRun(ctx.traceRunId, status, error);
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
console.warn('[trace] print finalization failed');
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
try {
|
|
212
|
+
finalizeTraceRun(nativeTraceRunId, status, error);
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
console.warn('[runtime] outcome trace finalization failed');
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
};
|
|
168
219
|
// ─── Smoke response auto-continuation ───
|
|
169
|
-
if (
|
|
220
|
+
if (nativeOutcome === undefined
|
|
221
|
+
&& smokeResult.isSmoke
|
|
170
222
|
&& smokeResult.confidence !== 'low'
|
|
171
223
|
&& !opts._isSmokeContinuation
|
|
172
224
|
&& !opts.internal
|
|
@@ -187,6 +239,7 @@ export async function handleAgentExit(params) {
|
|
|
187
239
|
skipSessionPersist: opts._skipSessionPersist === true,
|
|
188
240
|
outputLen: params.outputLen,
|
|
189
241
|
...(params.codexAppBucket ? { codexAppBucket: params.codexAppBucket } : {}),
|
|
242
|
+
runtimeTransport: params.runtimeTransport,
|
|
190
243
|
scopedBucket: runBucket,
|
|
191
244
|
});
|
|
192
245
|
console.log(`[jaw:smoke] persisted session ${smokeSessionId.slice(0, 12)}... for continuation`);
|
|
@@ -195,7 +248,7 @@ export async function handleAgentExit(params) {
|
|
|
195
248
|
if (releaseMainRun(scopeKey, childProcess, ownerGeneration)) {
|
|
196
249
|
broadcast('agent_status', { running: false, agentId: agentLabel, scope: scopeKey, ...empTag });
|
|
197
250
|
}
|
|
198
|
-
|
|
251
|
+
finalizeRun('done');
|
|
199
252
|
const contPrompt = buildContinuationPrompt(prompt, ctx.fullText);
|
|
200
253
|
const { promise: contPromise } = _spawnAgent(contPrompt, {
|
|
201
254
|
...opts, _isSmokeContinuation: true, _skipInsert: true,
|
|
@@ -231,12 +284,19 @@ export async function handleAgentExit(params) {
|
|
|
231
284
|
else {
|
|
232
285
|
activeProcesses.delete(agentLabel);
|
|
233
286
|
}
|
|
287
|
+
if (nativeOutcome !== undefined && wasSteer && mainManaged && !opts.internal
|
|
288
|
+
&& nativeOutcome.partialText.length > 0) {
|
|
289
|
+
// The existing MAX(id) salvage query reads MESSAGE rows, not Activity.
|
|
290
|
+
// Commit before asynchronous cleanup and the caller's settleExit barrier.
|
|
291
|
+
const partialTools = sanitizeToolLogForDurableStorage(ctx.toolLog);
|
|
292
|
+
insertMessageWithTrace.run('assistant', '⏹️ [interrupted]\n\n' + nativeOutcome.partialText, cli, model, ctx.traceLog.join('\n') || null, serializeSanitizedToolLog(partialTools), settings['workingDir'] || null, chatSessionId);
|
|
293
|
+
}
|
|
234
294
|
// Post-flush reindex moved into memory-flush-controller's completion path
|
|
235
295
|
// (032). Firing it here raced the append: this runs before the extractor
|
|
236
296
|
// promise resolves, so it reindexed a file that did not yet contain the
|
|
237
297
|
// entry — and a generation that had already expired could still trigger it.
|
|
238
298
|
// ─── CLI-native compact → auto session refresh (awaited to avoid race with processQueue) ───
|
|
239
|
-
if (ctx.cliNativeCompactDetected && mainManaged && !opts.internal) {
|
|
299
|
+
if (nativeOutcome === undefined && ctx.cliNativeCompactDetected && mainManaged && !opts.internal) {
|
|
240
300
|
console.log('[jaw:compact] CLI-native compaction detected — auto-refreshing session');
|
|
241
301
|
try {
|
|
242
302
|
const { autoCompactRefresh } = await import('../core/compact.js');
|
|
@@ -247,7 +307,7 @@ export async function handleAgentExit(params) {
|
|
|
247
307
|
model,
|
|
248
308
|
scopeKey,
|
|
249
309
|
chatSessionId,
|
|
250
|
-
|
|
310
|
+
sessionBucket: runBucket,
|
|
251
311
|
});
|
|
252
312
|
}
|
|
253
313
|
catch (e) {
|
|
@@ -263,6 +323,7 @@ export async function handleAgentExit(params) {
|
|
|
263
323
|
skipSessionPersist: opts._skipSessionPersist === true,
|
|
264
324
|
outputLen: params.outputLen,
|
|
265
325
|
...(params.codexAppBucket ? { codexAppBucket: params.codexAppBucket } : {}),
|
|
326
|
+
runtimeTransport: params.runtimeTransport,
|
|
266
327
|
scopedBucket: runBucket,
|
|
267
328
|
})) {
|
|
268
329
|
console.log(`[jaw:session] saved ${cli} session=${persistedSessionId.slice(0, 12)}...${wasKilled ? ' (post-kill)' : ''}`);
|
|
@@ -276,7 +337,7 @@ export async function handleAgentExit(params) {
|
|
|
276
337
|
// ─── Phase 54-A: Proactive compact by turn count ───
|
|
277
338
|
// CLIs without a reliable native compact/resume path get a conservative
|
|
278
339
|
// turn-count refresh. AGY owns its compaction and keeps its conversation.
|
|
279
|
-
if (mainManaged && !opts.internal && code === 0 && !ctx.cliNativeCompactDetected) {
|
|
340
|
+
if (nativeOutcome === undefined && mainManaged && !opts.internal && code === 0 && !ctx.cliNativeCompactDetected) {
|
|
280
341
|
const turns = ctx.turns ?? memoryFlushCounter;
|
|
281
342
|
const useTurnCountRefresh = shouldUseTurnCountRefresh(runtimeCli);
|
|
282
343
|
if (useTurnCountRefresh && turns >= 35) {
|
|
@@ -290,7 +351,7 @@ export async function handleAgentExit(params) {
|
|
|
290
351
|
model,
|
|
291
352
|
scopeKey,
|
|
292
353
|
chatSessionId,
|
|
293
|
-
|
|
354
|
+
sessionBucket: runBucket,
|
|
294
355
|
});
|
|
295
356
|
}
|
|
296
357
|
catch (e) {
|
|
@@ -308,7 +369,7 @@ export async function handleAgentExit(params) {
|
|
|
308
369
|
// ─── High-turn native-compaction coordination ───
|
|
309
370
|
// AGY keeps a native compacted conversation. Other CLIs still use the
|
|
310
371
|
// conservative fresh-session guard when their compaction is not observable.
|
|
311
|
-
if (mainManaged && !opts.internal && code === 0 && !ctx.cliNativeCompactDetected) {
|
|
372
|
+
if (nativeOutcome === undefined && mainManaged && !opts.internal && code === 0 && !ctx.cliNativeCompactDetected) {
|
|
312
373
|
const turns = ctx.turns ?? memoryFlushCounter;
|
|
313
374
|
if (shouldClearHighTurnSessionBucket(runtimeCli, turns)) {
|
|
314
375
|
console.log(`[jaw:compact] ${cli} exited after ${turns} turns — clearing session bucket for fresh start`);
|
|
@@ -332,7 +393,7 @@ export async function handleAgentExit(params) {
|
|
|
332
393
|
// cleared here and nowhere else. Same key space as the write (#519).
|
|
333
394
|
if (code === 0)
|
|
334
395
|
clearRuntimeCooldown(runtimeCli);
|
|
335
|
-
if (code === 0 && runtimeCli === 'grok') {
|
|
396
|
+
if (nativeOutcome === undefined && code === 0 && runtimeCli === 'grok') {
|
|
336
397
|
const recovered = backfillGrokTraceTools(ctx);
|
|
337
398
|
if (recovered > 0) {
|
|
338
399
|
console.log(`[jaw:grok] recovered ${recovered} tool event(s) from Grok trace export`);
|
|
@@ -344,7 +405,8 @@ export async function handleAgentExit(params) {
|
|
|
344
405
|
// A genuine stale resume does ZERO work, so require an empty toolLog: a turn that
|
|
345
406
|
// actually ran tools must never be reclassified as stale and silently discarded.
|
|
346
407
|
const kiroDiagnosticText = `${ctx.stderrBuf}\n${ctx.fullText}`;
|
|
347
|
-
if (
|
|
408
|
+
if (nativeOutcome === undefined
|
|
409
|
+
&& isKiroPlainTextCli(cli, effectiveProvider)
|
|
348
410
|
&& isResume
|
|
349
411
|
&& mainManaged
|
|
350
412
|
&& !opts.internal
|
|
@@ -371,7 +433,7 @@ export async function handleAgentExit(params) {
|
|
|
371
433
|
await autoCompactRefresh({
|
|
372
434
|
workDir: settings["workingDir"] || null, instructions: '', cli, model, scopeKey,
|
|
373
435
|
chatSessionId,
|
|
374
|
-
|
|
436
|
+
sessionBucket: runBucket,
|
|
375
437
|
});
|
|
376
438
|
}
|
|
377
439
|
}
|
|
@@ -382,7 +444,7 @@ export async function handleAgentExit(params) {
|
|
|
382
444
|
reason: 'kiro stale resume — fresh with history',
|
|
383
445
|
...empTag,
|
|
384
446
|
}, isEmployee ? 'internal' : 'public');
|
|
385
|
-
|
|
447
|
+
finalizeRun('error', 'kiro stale resume');
|
|
386
448
|
const { promise: retryP } = _spawnAgent(prompt, {
|
|
387
449
|
...opts,
|
|
388
450
|
_skipResume: true,
|
|
@@ -403,8 +465,69 @@ export async function handleAgentExit(params) {
|
|
|
403
465
|
return;
|
|
404
466
|
}
|
|
405
467
|
// ─── Output handling ───
|
|
406
|
-
const outputText = resolveSpawnOutputText(ctx);
|
|
407
|
-
if (
|
|
468
|
+
const outputText = nativeOutcome === undefined ? resolveSpawnOutputText(ctx) : '';
|
|
469
|
+
if (nativeOutcome !== undefined) {
|
|
470
|
+
let finalContent = nativeOutcome.finalText;
|
|
471
|
+
if (mainManaged && !opts.internal) {
|
|
472
|
+
const safeTools = sanitizeToolLogForDurableStorage(mergeLatestTools(ctx.toolLog, ownsLiveRun() ? getLiveRun(liveScope).toolLog : [], nativeTraceRunId || ''));
|
|
473
|
+
if (finalContent !== null) {
|
|
474
|
+
finalContent = applyOutputPolicy(finalContent, { scope: 'main' }).text;
|
|
475
|
+
evaluateRecordPending(ctx.toolLog, finalContent);
|
|
476
|
+
const structuredFence = scanStructuredFence(finalContent);
|
|
477
|
+
if (structuredFence.status === 'incomplete') {
|
|
478
|
+
console.warn('[lifecycle] assistant output contains incomplete structured fence before durable insert', {
|
|
479
|
+
cli, model, traceRunId: nativeTraceRunId || null, chars: finalContent.length,
|
|
480
|
+
langs: structuredFence.langs, incompleteCount: structuredFence.incompleteCount,
|
|
481
|
+
});
|
|
482
|
+
}
|
|
483
|
+
// trace_run_id is nullable TEXT, not a FK: missing journal rows
|
|
484
|
+
// cannot suppress final delivery or this history pointer.
|
|
485
|
+
const info = insertMessageWithTraceRun.run('assistant', finalContent, cli, model, ctx.traceLog.join('\n') || null, serializeSanitizedToolLog(safeTools), settings['workingDir'] || null, nativeTraceRunId || null, chatSessionId);
|
|
486
|
+
const messageId = Number(info.lastInsertRowid);
|
|
487
|
+
if (nativeTraceRunId && Number.isSafeInteger(messageId) && messageId > 0) {
|
|
488
|
+
try {
|
|
489
|
+
linkTraceRunToMessage(nativeTraceRunId, messageId);
|
|
490
|
+
}
|
|
491
|
+
catch {
|
|
492
|
+
console.warn('[runtime] outcome trace link failed');
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
const failed = nativeOutcome.status !== 'done';
|
|
497
|
+
const errorKind = failed ? classifyExitError(runtimeCli, code ?? 1, ctx.stderrBuf).errorKind : undefined;
|
|
498
|
+
// Even absent/empty finals must terminate existing UI/collectors.
|
|
499
|
+
// Only compatibility text collapses whitespace; never the outcome.
|
|
500
|
+
handoffRuntimeOutcome(ctx, { ...nativeOutcome, finalText: finalContent });
|
|
501
|
+
ctx.runtimeTerminalAttempted = true;
|
|
502
|
+
broadcast('agent_done', {
|
|
503
|
+
...(nativeTraceRunId ? { traceRunId: nativeTraceRunId } : {}),
|
|
504
|
+
text: runtimeCompatibilityText(finalContent),
|
|
505
|
+
runtimeFinality: finalContent === null ? 'absent' : 'present',
|
|
506
|
+
runtimeStatus: nativeOutcome.status,
|
|
507
|
+
...(nativeRequestId !== undefined ? { requestId: nativeRequestId } : {}),
|
|
508
|
+
sessionId: chatSessionId, scope: scopeKey, toolLog: safeTools, origin, ...empTag,
|
|
509
|
+
...(wasSteer ? { steered: true } : {}),
|
|
510
|
+
...(failed ? { error: true, errorKind, cli: runtimeCli } : {}),
|
|
511
|
+
});
|
|
512
|
+
if (finalContent !== null) {
|
|
513
|
+
if (opts._heartbeatAnchorId) {
|
|
514
|
+
try {
|
|
515
|
+
markAnchorConsumed.run(Date.now(), opts._heartbeatAnchorId);
|
|
516
|
+
}
|
|
517
|
+
catch {
|
|
518
|
+
console.warn('[runtime] heartbeat anchor update failed');
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
incrementMemoryFlush();
|
|
522
|
+
const threshold = settings['memory']?.flushEvery ?? 10;
|
|
523
|
+
if (settings['memory']?.enabled !== false && countTurnForFlush(threshold)) {
|
|
524
|
+
void triggerMemoryFlush();
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
runtimeFinalText = finalContent;
|
|
529
|
+
}
|
|
530
|
+
else if (outputText || (code === 0 && ctx.toolLog.length > 0)) {
|
|
408
531
|
const cleaned = (outputText || ctx.fullText.trim())
|
|
409
532
|
.replace(/<\/?tool_call>/g, '')
|
|
410
533
|
.replace(/<\/?tool_result>[\s\S]*?(?:<\/tool_result>|$)/g, '')
|
|
@@ -477,32 +600,18 @@ export async function handleAgentExit(params) {
|
|
|
477
600
|
});
|
|
478
601
|
}
|
|
479
602
|
const liveRun = getLiveRun(liveScope);
|
|
480
|
-
|
|
481
|
-
// preserved across syncs by replaceLiveRunTools). Key on stepRef (durable, never
|
|
482
|
-
// stripped by the sanitizer); identity-less entries append (no false dedup). The
|
|
483
|
-
// old ternary kept only the longer array and discarded the other, dropping worker
|
|
484
|
-
// mirrors whenever the boss tool log was longer (claude). (devlog 260620 R1.)
|
|
485
|
-
const unionSeen = new Set();
|
|
486
|
-
const unionToolLog = [];
|
|
487
|
-
const pushUnionTool = (t) => {
|
|
488
|
-
const ref = typeof t.stepRef === 'string' && t.stepRef ? t.stepRef : null;
|
|
489
|
-
if (ref) {
|
|
490
|
-
if (unionSeen.has(ref))
|
|
491
|
-
return;
|
|
492
|
-
unionSeen.add(ref);
|
|
493
|
-
}
|
|
494
|
-
unionToolLog.push(t);
|
|
495
|
-
};
|
|
496
|
-
for (const t of ctx.toolLog)
|
|
497
|
-
pushUnionTool(t);
|
|
498
|
-
for (const t of liveRun.toolLog)
|
|
499
|
-
pushUnionTool(t);
|
|
500
|
-
const sanitizedToolLog = sanitizeToolLogForDurableStorage(unionToolLog);
|
|
603
|
+
const sanitizedToolLog = sanitizeToolLogForDurableStorage(mergeLatestTools(ctx.toolLog, liveRun.toolLog, ctx.traceRunId || ''));
|
|
501
604
|
const toolLogJson = serializeSanitizedToolLog(sanitizedToolLog);
|
|
502
605
|
const info = insertMessageWithTraceRun.run('assistant', finalContent, cli, model, traceText || null, toolLogJson, settings["workingDir"] || null, ctx.traceRunId || null, chatSessionId);
|
|
503
606
|
const messageId = Number(info.lastInsertRowid || 0);
|
|
504
|
-
if (ctx.traceRunId && Number.isInteger(messageId) && messageId > 0)
|
|
505
|
-
|
|
607
|
+
if (ctx.traceRunId && Number.isInteger(messageId) && messageId > 0) {
|
|
608
|
+
try {
|
|
609
|
+
linkTraceRunToMessage(ctx.traceRunId, messageId);
|
|
610
|
+
}
|
|
611
|
+
catch {
|
|
612
|
+
console.warn('[trace] print link failed');
|
|
613
|
+
}
|
|
614
|
+
}
|
|
506
615
|
broadcast('agent_done', { ...runTag(ctx), text: finalContent, toolLog: sanitizedToolLog, origin, ...empTag, ...(wasSteer ? { steered: true } : {}) });
|
|
507
616
|
if (opts._heartbeatAnchorId) {
|
|
508
617
|
try {
|
|
@@ -524,6 +633,7 @@ export async function handleAgentExit(params) {
|
|
|
524
633
|
void triggerMemoryFlush();
|
|
525
634
|
}
|
|
526
635
|
}
|
|
636
|
+
runtimeFinalText = finalContent;
|
|
527
637
|
}
|
|
528
638
|
else if (code !== 0 && wasKilled && !wasSteer && ctx.stallReason) {
|
|
529
639
|
// Watchdog kills carry a useful reason, but `wasKilled` intentionally
|
|
@@ -539,7 +649,7 @@ export async function handleAgentExit(params) {
|
|
|
539
649
|
// the one failure the channel MUST show, and the forwarder gate
|
|
540
650
|
// drops anything without errorKind (#519 round 2).
|
|
541
651
|
{ ...runTag(ctx), text: `❌ ${errMsg}`, error: true, errorKind, cli: runtimeCli, origin, ...empTag }, isEmployee ? 'internal' : 'public');
|
|
542
|
-
|
|
652
|
+
finalizeRun('error', errMsg);
|
|
543
653
|
resolve({ text: '', code: code ?? 1, diagnostic: errMsg });
|
|
544
654
|
if (mainManaged && !opts.internal)
|
|
545
655
|
processQueue(scopeKey);
|
|
@@ -604,7 +714,7 @@ export async function handleAgentExit(params) {
|
|
|
604
714
|
reason: `${errMsg} (retry without stale resume)`,
|
|
605
715
|
...empTag,
|
|
606
716
|
}, isEmployee ? 'internal' : 'public');
|
|
607
|
-
|
|
717
|
+
finalizeRun('error', errMsg);
|
|
608
718
|
const { promise: retryP } = _spawnAgent(prompt, {
|
|
609
719
|
...opts,
|
|
610
720
|
_skipResume: true,
|
|
@@ -628,7 +738,7 @@ export async function handleAgentExit(params) {
|
|
|
628
738
|
await autoCompactRefresh({
|
|
629
739
|
workDir: settings["workingDir"] || null, instructions: '', cli, model, scopeKey,
|
|
630
740
|
chatSessionId,
|
|
631
|
-
|
|
741
|
+
sessionBucket: runBucket,
|
|
632
742
|
});
|
|
633
743
|
}
|
|
634
744
|
catch { }
|
|
@@ -636,7 +746,7 @@ export async function handleAgentExit(params) {
|
|
|
636
746
|
insertMessage.run('assistant', `⏱️ ${errMsg}`, cli, model, settings["workingDir"] || null, chatSessionId);
|
|
637
747
|
}
|
|
638
748
|
broadcast('agent_done', { ...runTag(ctx), text: `❌ ${errMsg}`, error: true, errorKind, cli: runtimeCli, origin, ...empTag, ...(wasSteer ? { steered: true } : {}) }, isEmployee ? 'internal' : 'public');
|
|
639
|
-
|
|
749
|
+
finalizeRun('error', errMsg);
|
|
640
750
|
resolve({ text: '', code: 1 });
|
|
641
751
|
if (mainManaged && !opts.internal)
|
|
642
752
|
processQueue(scopeKey);
|
|
@@ -658,7 +768,7 @@ export async function handleAgentExit(params) {
|
|
|
658
768
|
const delaySec = Math.round(delayMs / 1000);
|
|
659
769
|
console.log(`[jaw:retry] ${cli} 429 detected — waiting ${delaySec}s before retry (attempt ${mainAttempt + 1}/${MAIN_MAX_RETRIES})`);
|
|
660
770
|
broadcast('agent_retry', { cli, delay: delaySec, reason: errMsg, attempt: mainAttempt + 1, maxRetries: MAIN_MAX_RETRIES, ...empTag }, isEmployee ? 'internal' : 'public');
|
|
661
|
-
|
|
771
|
+
finalizeRun('error', errMsg);
|
|
662
772
|
retryState.setIsEmployee(isEmployee);
|
|
663
773
|
retryState.setResolve(resolve);
|
|
664
774
|
retryState.setOrigin(origin);
|
|
@@ -711,7 +821,7 @@ export async function handleAgentExit(params) {
|
|
|
711
821
|
console.log(`[jaw:fallback] ${cli} → ${fallbackCli}, ${fallbackMaxRetries} retries queued`);
|
|
712
822
|
}
|
|
713
823
|
broadcast('agent_fallback', { from: cli, to: fallbackCli, reason: errMsg, ...empTag }, isEmployee ? 'internal' : 'public');
|
|
714
|
-
|
|
824
|
+
finalizeRun('error', errMsg);
|
|
715
825
|
try {
|
|
716
826
|
const { peekPendingBootstrapPrompt } = await import('../core/main-session.js');
|
|
717
827
|
if (!peekPendingBootstrapPrompt(scopeKey)) {
|
|
@@ -719,7 +829,7 @@ export async function handleAgentExit(params) {
|
|
|
719
829
|
await autoCompactRefresh({
|
|
720
830
|
workDir: settings["workingDir"] || null, instructions: '', cli, model, scopeKey,
|
|
721
831
|
chatSessionId,
|
|
722
|
-
|
|
832
|
+
sessionBucket: runBucket,
|
|
723
833
|
});
|
|
724
834
|
}
|
|
725
835
|
}
|
|
@@ -778,7 +888,7 @@ export async function handleAgentExit(params) {
|
|
|
778
888
|
attempt: 1,
|
|
779
889
|
maxRetries: 1,
|
|
780
890
|
}, 'internal');
|
|
781
|
-
|
|
891
|
+
finalizeRun('error', cls.message);
|
|
782
892
|
const { promise: retryP } = _spawnAgent(prompt, {
|
|
783
893
|
...opts,
|
|
784
894
|
_skipInsert: true,
|
|
@@ -803,7 +913,7 @@ export async function handleAgentExit(params) {
|
|
|
803
913
|
const empDelaySec = Math.round(empDelayMs / 1000);
|
|
804
914
|
console.log(`[jaw:retry] employee ${cli} transient exit — retry in ${empDelaySec}s (attempt ${empAttempt + 1}/${EMP_MAX_RETRIES}, ${cls.message})`);
|
|
805
915
|
broadcast('agent_retry', { cli, delay: empDelaySec, reason: cls.message, isEmployee: true, attempt: empAttempt + 1 }, 'internal');
|
|
806
|
-
|
|
916
|
+
finalizeRun('error', cls.message);
|
|
807
917
|
retryState.setIsEmployee(true);
|
|
808
918
|
retryState.setResolve(resolve);
|
|
809
919
|
retryState.setOrigin(origin);
|
|
@@ -824,8 +934,9 @@ export async function handleAgentExit(params) {
|
|
|
824
934
|
// non-retryable employee error → fall through to Final resolve below
|
|
825
935
|
}
|
|
826
936
|
// ─── Kiro resume degraded (empty body) → fresh spawn with history fallback ───
|
|
827
|
-
const kiroOutputText = resolveSpawnOutputText(ctx);
|
|
828
|
-
if (
|
|
937
|
+
const kiroOutputText = nativeOutcome === undefined ? resolveSpawnOutputText(ctx) : '';
|
|
938
|
+
if (nativeOutcome === undefined
|
|
939
|
+
&& isKiroPlainTextCli(cli, effectiveProvider)
|
|
829
940
|
&& isResume
|
|
830
941
|
&& mainManaged
|
|
831
942
|
&& !opts.internal
|
|
@@ -849,7 +960,7 @@ export async function handleAgentExit(params) {
|
|
|
849
960
|
reason: 'kiro resume empty — fresh with history',
|
|
850
961
|
...empTag,
|
|
851
962
|
}, isEmployee ? 'internal' : 'public');
|
|
852
|
-
|
|
963
|
+
finalizeRun('error', 'kiro resume empty');
|
|
853
964
|
const { promise: retryP } = _spawnAgent(prompt, {
|
|
854
965
|
...opts,
|
|
855
966
|
_skipResume: true,
|
|
@@ -872,10 +983,11 @@ export async function handleAgentExit(params) {
|
|
|
872
983
|
}
|
|
873
984
|
// ─── Final resolve ───
|
|
874
985
|
const resolvedCode = code;
|
|
875
|
-
|
|
876
|
-
|
|
986
|
+
finalizeRun(traceStatus, traceStatus === 'error' ? classifyExitError(runtimeCli, resolvedCode ?? 1, ctx.stderrBuf).message : null);
|
|
987
|
+
const liveOwnedAtFinish = ownsLiveRun();
|
|
988
|
+
if (mainManaged && !wasSteer && liveOwnedAtFinish)
|
|
877
989
|
clearLiveRun(liveScope);
|
|
878
|
-
if (!opts.internal && !wasSteer) {
|
|
990
|
+
if (!opts.internal && !wasSteer && liveOwnedAtFinish) {
|
|
879
991
|
broadcast('agent_status', {
|
|
880
992
|
status: (resolvedCode === 0 || resolvedCode === null) ? 'done' : 'error',
|
|
881
993
|
agentId: agentLabel,
|
|
@@ -888,8 +1000,13 @@ export async function handleAgentExit(params) {
|
|
|
888
1000
|
const diagnostic = resolvedCode !== 0 && resolvedCode !== null
|
|
889
1001
|
? classifyExitError(runtimeCli, resolvedCode, ctx.stderrBuf).message
|
|
890
1002
|
: ctx.stderrBuf.trim().slice(0, 500);
|
|
1003
|
+
const resolvedOutcome = nativeOutcome === undefined
|
|
1004
|
+
? undefined : { ...nativeOutcome, finalText: runtimeFinalText };
|
|
1005
|
+
const answerText = resolvedOutcome === undefined ? ctx.fullText : runtimeCompatibilityText(resolvedOutcome.finalText);
|
|
891
1006
|
resolve({
|
|
892
|
-
text:
|
|
1007
|
+
text: answerText, code: resolvedCode ?? 0,
|
|
1008
|
+
...(resolvedOutcome === undefined ? {} : { runtimeOutcome: resolvedOutcome }),
|
|
1009
|
+
...(resolvedOutcome !== undefined && nativeTraceRunId ? { traceRunId: nativeTraceRunId } : {}),
|
|
893
1010
|
sessionId: ctx.sessionId, cost: ctx.cost,
|
|
894
1011
|
tools: ctx.toolLog, smoke: smokeResult,
|
|
895
1012
|
diagnostic,
|
|
@@ -902,17 +1019,21 @@ export async function handleAgentExit(params) {
|
|
|
902
1019
|
// ─── AI-initiated /goal done or /goal cancel ───
|
|
903
1020
|
// The AI can't execute slash commands directly. Detect the pattern in output
|
|
904
1021
|
// and execute it so the continuation loop stops.
|
|
1022
|
+
const controlText = resolvedOutcome === undefined ? ctx.fullText
|
|
1023
|
+
: resolvedOutcome.status === 'done' ? resolvedOutcome.finalText ?? '' : '';
|
|
1024
|
+
const allowNativeContinuation = resolvedOutcome === undefined
|
|
1025
|
+
|| (resolvedOutcome.status === 'done' && resolvedOutcome.finalText !== null);
|
|
905
1026
|
let goalDoneRejected = false;
|
|
906
|
-
if (mainManaged && !opts.internal &&
|
|
1027
|
+
if (mainManaged && !opts.internal && controlText) {
|
|
907
1028
|
const activeGoal = getActiveGoal();
|
|
908
1029
|
if (activeGoal && activeGoal.status === 'active') {
|
|
909
1030
|
// A truncated capture means a trailing marker may have been dropped,
|
|
910
1031
|
// so the ABSENCE of one is no longer authoritative. Say so rather
|
|
911
1032
|
// than silently treating the clipped text as complete.
|
|
912
|
-
if (ctx.fullTextTruncated && !GOAL_DONE_RE.test(
|
|
1033
|
+
if (resolvedOutcome === undefined && ctx.fullTextTruncated && !GOAL_DONE_RE.test(controlText)) {
|
|
913
1034
|
console.warn('[jaw:goal] assistant text was truncated at the safety bound — a trailing /goal marker may have been lost');
|
|
914
1035
|
}
|
|
915
|
-
if (GOAL_DONE_RE.test(
|
|
1036
|
+
if (GOAL_DONE_RE.test(controlText)) {
|
|
916
1037
|
if (goalHasCompletionEvidence(activeGoal)) {
|
|
917
1038
|
completeGoal();
|
|
918
1039
|
clearGoalTimers();
|
|
@@ -925,7 +1046,7 @@ export async function handleAgentExit(params) {
|
|
|
925
1046
|
broadcast('goal_done_rejected', { goalId: activeGoal.id, reason: 'no_evidence' });
|
|
926
1047
|
}
|
|
927
1048
|
}
|
|
928
|
-
else if (GOAL_CANCEL_RE.test(
|
|
1049
|
+
else if (GOAL_CANCEL_RE.test(controlText)) {
|
|
929
1050
|
// Cancelling used to happen here on sight of the marker, with no
|
|
930
1051
|
// gate at all — which made ABANDONING a goal strictly easier than
|
|
931
1052
|
// completing one, since /goal done next door demands verification
|
|
@@ -939,7 +1060,7 @@ export async function handleAgentExit(params) {
|
|
|
939
1060
|
console.warn('[jaw:goal] AI output contained /goal cancel — timers cleared, goal left active for a human decision');
|
|
940
1061
|
broadcast('goal_cancel_requested', { goalId: activeGoal.id, source: 'ai_output' });
|
|
941
1062
|
}
|
|
942
|
-
else if (GOAL_PAUSE_RE.test(
|
|
1063
|
+
else if (GOAL_PAUSE_RE.test(controlText)) {
|
|
943
1064
|
clearGoalTimers();
|
|
944
1065
|
console.log('[jaw:goal] AI output contained /goal pause — timers cleared');
|
|
945
1066
|
broadcast('goal_pause_detected', { goalId: activeGoal.id, source: 'ai_output' });
|
|
@@ -949,7 +1070,8 @@ export async function handleAgentExit(params) {
|
|
|
949
1070
|
// ─── ScheduleWakeup server intercept ───
|
|
950
1071
|
// When the AI called ScheduleWakeup, the CLI ignores it (only works in /loop).
|
|
951
1072
|
// cli-jaw intercepts the params and schedules a delayed --resume of the same session.
|
|
952
|
-
if (
|
|
1073
|
+
if (allowNativeContinuation
|
|
1074
|
+
&& ctx.scheduleWakeup
|
|
953
1075
|
&& ctx.scheduleWakeup.prompt.trim()
|
|
954
1076
|
&& mainManaged
|
|
955
1077
|
&& !opts.internal
|
|
@@ -1000,7 +1122,8 @@ export async function handleAgentExit(params) {
|
|
|
1000
1122
|
}
|
|
1001
1123
|
else if (
|
|
1002
1124
|
// ─── Goal auto-continuation (max 20 consecutive attempts) ───
|
|
1003
|
-
|
|
1125
|
+
allowNativeContinuation
|
|
1126
|
+
&& mainManaged
|
|
1004
1127
|
&& !opts.internal
|
|
1005
1128
|
&& !wasKilled
|
|
1006
1129
|
&& !wasSteer
|