@evalops/maestro 0.10.50 → 0.10.53
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 +1 -3
- package/dist/agent/agent-outcome.d.ts +54 -0
- package/dist/agent/agent-outcome.d.ts.map +1 -0
- package/dist/agent/agent-outcome.js +142 -0
- package/dist/agent/agent-outcome.js.map +1 -0
- package/dist/agent/agent-resume.d.ts.map +1 -1
- package/dist/agent/agent-resume.js +3 -3
- package/dist/agent/agent-resume.js.map +1 -1
- package/dist/agent/agent-run-summary.d.ts +37 -0
- package/dist/agent/agent-run-summary.d.ts.map +1 -0
- package/dist/agent/agent-run-summary.js +15 -0
- package/dist/agent/agent-run-summary.js.map +1 -0
- package/dist/agent/agent-work-board.d.ts +82 -0
- package/dist/agent/agent-work-board.d.ts.map +1 -0
- package/dist/agent/agent-work-board.js +312 -0
- package/dist/agent/agent-work-board.js.map +1 -0
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/auto-compaction.d.ts +7 -2
- package/dist/agent/auto-compaction.d.ts.map +1 -1
- package/dist/agent/auto-compaction.js +23 -10
- package/dist/agent/auto-compaction.js.map +1 -1
- package/dist/agent/compaction.d.ts.map +1 -1
- package/dist/agent/compaction.js +1 -1
- package/dist/agent/compaction.js.map +1 -1
- package/dist/agent/context-handoff.d.ts.map +1 -1
- package/dist/agent/context-handoff.js +2 -1
- package/dist/agent/context-handoff.js.map +1 -1
- package/dist/agent/index.d.ts +8 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +8 -1
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/mission-artifacts.d.ts +62 -0
- package/dist/agent/mission-artifacts.d.ts.map +1 -0
- package/dist/agent/mission-artifacts.js +438 -0
- package/dist/agent/mission-artifacts.js.map +1 -0
- package/dist/agent/mission-manifest.d.ts +139 -3
- package/dist/agent/mission-manifest.d.ts.map +1 -1
- package/dist/agent/mission-manifest.js +549 -3
- package/dist/agent/mission-manifest.js.map +1 -1
- package/dist/agent/mission-store.d.ts +80 -0
- package/dist/agent/mission-store.d.ts.map +1 -0
- package/dist/agent/mission-store.js +603 -0
- package/dist/agent/mission-store.js.map +1 -0
- package/dist/agent/modes.d.ts +3 -3
- package/dist/agent/modes.d.ts.map +1 -1
- package/dist/agent/modes.js +66 -3
- package/dist/agent/modes.js.map +1 -1
- package/dist/agent/oracle-consultation-policy.d.ts +22 -0
- package/dist/agent/oracle-consultation-policy.d.ts.map +1 -0
- package/dist/agent/oracle-consultation-policy.js +72 -0
- package/dist/agent/oracle-consultation-policy.js.map +1 -0
- package/dist/agent/oracle-policy-experiment.d.ts +27 -0
- package/dist/agent/oracle-policy-experiment.d.ts.map +1 -0
- package/dist/agent/oracle-policy-experiment.js +59 -0
- package/dist/agent/oracle-policy-experiment.js.map +1 -0
- package/dist/agent/oracle-policy-rollout.d.ts +42 -0
- package/dist/agent/oracle-policy-rollout.d.ts.map +1 -0
- package/dist/agent/oracle-policy-rollout.js +80 -0
- package/dist/agent/oracle-policy-rollout.js.map +1 -0
- package/dist/agent/plugin-agent-api.d.ts +13 -0
- package/dist/agent/plugin-agent-api.d.ts.map +1 -0
- package/dist/agent/plugin-agent-api.js +11 -0
- package/dist/agent/plugin-agent-api.js.map +1 -0
- package/dist/agent/plugin-agent-loader.d.ts +17 -0
- package/dist/agent/plugin-agent-loader.d.ts.map +1 -0
- package/dist/agent/plugin-agent-loader.js +81 -0
- package/dist/agent/plugin-agent-loader.js.map +1 -0
- package/dist/agent/plugin-agent-registry.d.ts +62 -0
- package/dist/agent/plugin-agent-registry.d.ts.map +1 -0
- package/dist/agent/plugin-agent-registry.js +109 -0
- package/dist/agent/plugin-agent-registry.js.map +1 -0
- package/dist/agent/profile-loader.d.ts +7 -0
- package/dist/agent/profile-loader.d.ts.map +1 -0
- package/dist/agent/profile-loader.js +115 -0
- package/dist/agent/profile-loader.js.map +1 -0
- package/dist/agent/profiles.d.ts +30 -0
- package/dist/agent/profiles.d.ts.map +1 -0
- package/dist/agent/profiles.js +146 -0
- package/dist/agent/profiles.js.map +1 -0
- package/dist/agent/prompt-cache.d.ts +0 -4
- package/dist/agent/prompt-cache.d.ts.map +1 -1
- package/dist/agent/prompt-cache.js +1 -7
- package/dist/agent/prompt-cache.js.map +1 -1
- package/dist/agent/providers/codex-app-server.d.ts.map +1 -1
- package/dist/agent/providers/codex-app-server.js +1 -3
- package/dist/agent/providers/codex-app-server.js.map +1 -1
- package/dist/agent/providers/google-gemini-cli.js +204 -107
- package/dist/agent/providers/google.js +101 -41
- package/dist/agent/providers/scripted.d.ts.map +1 -1
- package/dist/agent/providers/scripted.js +1 -3
- package/dist/agent/providers/scripted.js.map +1 -1
- package/dist/agent/providers/validation.d.ts.map +1 -1
- package/dist/agent/providers/validation.js +1 -3
- package/dist/agent/providers/validation.js.map +1 -1
- package/dist/agent/providers/vertex.js +204 -107
- package/dist/agent/routing-receipt.d.ts +34 -0
- package/dist/agent/routing-receipt.d.ts.map +1 -0
- package/dist/agent/routing-receipt.js +55 -0
- package/dist/agent/routing-receipt.js.map +1 -0
- package/dist/agent/skill-artifact-metadata.d.ts +14 -0
- package/dist/agent/skill-artifact-metadata.d.ts.map +1 -0
- package/dist/agent/skill-artifact-metadata.js +49 -0
- package/dist/agent/skill-artifact-metadata.js.map +1 -0
- package/dist/agent/snapshot-store.d.ts +32 -0
- package/dist/agent/snapshot-store.d.ts.map +1 -0
- package/dist/agent/snapshot-store.js +195 -0
- package/dist/agent/snapshot-store.js.map +1 -0
- package/dist/agent/specialist-profiles.d.ts +36 -0
- package/dist/agent/specialist-profiles.d.ts.map +1 -0
- package/dist/agent/specialist-profiles.js +159 -0
- package/dist/agent/specialist-profiles.js.map +1 -0
- package/dist/agent/subagent-specs.d.ts +5 -2
- package/dist/agent/subagent-specs.d.ts.map +1 -1
- package/dist/agent/subagent-specs.js +83 -10
- package/dist/agent/subagent-specs.js.map +1 -1
- package/dist/agent/swarm/coverage-gate.d.ts +37 -0
- package/dist/agent/swarm/coverage-gate.d.ts.map +1 -0
- package/dist/agent/swarm/coverage-gate.js +48 -0
- package/dist/agent/swarm/coverage-gate.js.map +1 -0
- package/dist/agent/swarm/executor.d.ts +1 -0
- package/dist/agent/swarm/executor.d.ts.map +1 -1
- package/dist/agent/swarm/executor.js +151 -15
- package/dist/agent/swarm/executor.js.map +1 -1
- package/dist/agent/swarm/orchestrator-prompt.d.ts +25 -0
- package/dist/agent/swarm/orchestrator-prompt.d.ts.map +1 -0
- package/dist/agent/swarm/orchestrator-prompt.js +48 -0
- package/dist/agent/swarm/orchestrator-prompt.js.map +1 -0
- package/dist/agent/swarm/plan-parser.d.ts.map +1 -1
- package/dist/agent/swarm/plan-parser.js +27 -2
- package/dist/agent/swarm/plan-parser.js.map +1 -1
- package/dist/agent/swarm/types.d.ts +17 -0
- package/dist/agent/swarm/types.d.ts.map +1 -1
- package/dist/agent/swarm/types.js.map +1 -1
- package/dist/agent/swarm/validation-directive.d.ts +21 -0
- package/dist/agent/swarm/validation-directive.d.ts.map +1 -0
- package/dist/agent/swarm/validation-directive.js +25 -0
- package/dist/agent/swarm/validation-directive.js.map +1 -0
- package/dist/agent/token-counter.d.ts +40 -0
- package/dist/agent/token-counter.d.ts.map +1 -0
- package/dist/agent/token-counter.js +74 -0
- package/dist/agent/token-counter.js.map +1 -0
- package/dist/agent/transport/events.d.ts +1 -1
- package/dist/agent/transport/events.d.ts.map +1 -1
- package/dist/agent/transport/events.js +1 -1
- package/dist/agent/transport/events.js.map +1 -1
- package/dist/agent/transport/tool-execution-bridge.d.ts.map +1 -1
- package/dist/agent/transport/tool-execution-bridge.js +4 -1
- package/dist/agent/transport/tool-execution-bridge.js.map +1 -1
- package/dist/agent/types.d.ts +4 -2
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/api/enterprise-routes.d.ts.map +1 -1
- package/dist/api/enterprise-routes.js +87 -10
- package/dist/api/enterprise-routes.js.map +1 -1
- package/dist/api/org-settings-merge.d.ts +12 -0
- package/dist/api/org-settings-merge.d.ts.map +1 -0
- package/dist/api/org-settings-merge.js +38 -0
- package/dist/api/org-settings-merge.js.map +1 -0
- package/dist/api/user-settings-merge.d.ts +16 -0
- package/dist/api/user-settings-merge.d.ts.map +1 -0
- package/dist/api/user-settings-merge.js +37 -0
- package/dist/api/user-settings-merge.js.map +1 -0
- package/dist/app-server/daemon-lifecycle-api.d.ts.map +1 -1
- package/dist/app-server/daemon-lifecycle-api.js +1 -3
- package/dist/app-server/daemon-lifecycle-api.js.map +1 -1
- package/dist/app-server/external-agent-import-api.d.ts.map +1 -1
- package/dist/app-server/external-agent-import-api.js +1 -3
- package/dist/app-server/external-agent-import-api.js.map +1 -1
- package/dist/app-server/network-governance-api.d.ts.map +1 -1
- package/dist/app-server/network-governance-api.js +1 -3
- package/dist/app-server/network-governance-api.js.map +1 -1
- package/dist/app-server/plugin-bundle-api.d.ts.map +1 -1
- package/dist/app-server/plugin-bundle-api.js +2 -3
- package/dist/app-server/plugin-bundle-api.js.map +1 -1
- package/dist/app-server/policy-control-api.d.ts.map +1 -1
- package/dist/app-server/policy-control-api.js +1 -3
- package/dist/app-server/policy-control-api.js.map +1 -1
- package/dist/app-server/protocol-modes-api.d.ts.map +1 -1
- package/dist/app-server/protocol-modes-api.js +1 -3
- package/dist/app-server/protocol-modes-api.js.map +1 -1
- package/dist/app-server/session-api.d.ts.map +1 -1
- package/dist/app-server/session-api.js +15 -2
- package/dist/app-server/session-api.js.map +1 -1
- package/dist/audit/logger.d.ts +5 -5
- package/dist/cli/args.d.ts +4 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +33 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/commands/a2a.d.ts.map +1 -1
- package/dist/cli/commands/a2a.js +1 -3
- package/dist/cli/commands/a2a.js.map +1 -1
- package/dist/cli/commands/mission.d.ts +4 -0
- package/dist/cli/commands/mission.d.ts.map +1 -0
- package/dist/cli/commands/mission.js +196 -0
- package/dist/cli/commands/mission.js.map +1 -0
- package/dist/cli/commands/value.d.ts +10 -0
- package/dist/cli/commands/value.d.ts.map +1 -0
- package/dist/cli/commands/value.js +33 -0
- package/dist/cli/commands/value.js.map +1 -0
- package/dist/cli/direct-runtime-command.d.ts +1 -0
- package/dist/cli/direct-runtime-command.d.ts.map +1 -1
- package/dist/cli/direct-runtime-command.js +25 -3
- package/dist/cli/direct-runtime-command.js.map +1 -1
- package/dist/cli/headless-protocol.d.ts.map +1 -1
- package/dist/cli/headless-protocol.js +1 -3
- package/dist/cli/headless-protocol.js.map +1 -1
- package/dist/cli/headless.d.ts +3 -19
- package/dist/cli/headless.d.ts.map +1 -1
- package/dist/cli/headless.js +8 -619
- package/dist/cli/headless.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +13 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/native-tui-launcher.d.ts +126 -0
- package/dist/cli/native-tui-launcher.d.ts.map +1 -0
- package/dist/cli/native-tui-launcher.js +425 -0
- package/dist/cli/native-tui-launcher.js.map +1 -0
- package/dist/cli/rpc-mode.d.ts +3 -27
- package/dist/cli/rpc-mode.d.ts.map +1 -1
- package/dist/cli/rpc-mode.js +8 -177
- package/dist/cli/rpc-mode.js.map +1 -1
- package/dist/cli/session.d.ts +11 -19
- package/dist/cli/session.d.ts.map +1 -1
- package/dist/cli/session.js +6 -64
- package/dist/cli/session.js.map +1 -1
- package/dist/cli/system-prompt.d.ts.map +1 -1
- package/dist/cli/system-prompt.js +38 -7
- package/dist/cli/system-prompt.js.map +1 -1
- package/dist/cli-command-runtime.d.ts.map +1 -1
- package/dist/cli-command-runtime.js +26 -24
- package/dist/cli-command-runtime.js.map +1 -1
- package/dist/cli-runtime.js +41729 -121859
- package/dist/codex/app-server-client.d.ts.map +1 -1
- package/dist/codex/app-server-client.js +1 -3
- package/dist/codex/app-server-client.js.map +1 -1
- package/dist/codex/compatibility.d.ts.map +1 -1
- package/dist/codex/compatibility.js +1 -3
- package/dist/codex/compatibility.js.map +1 -1
- package/dist/codex/subagent-dispatch-table.d.ts +8 -0
- package/dist/codex/subagent-dispatch-table.d.ts.map +1 -1
- package/dist/codex/subagent-dispatch-table.js +23 -0
- package/dist/codex/subagent-dispatch-table.js.map +1 -1
- package/dist/config/env-vars.d.ts +12 -0
- package/dist/config/env-vars.d.ts.map +1 -1
- package/dist/config/env-vars.js +12 -0
- package/dist/config/env-vars.js.map +1 -1
- package/dist/config/ui-state.d.ts +32 -0
- package/dist/config/ui-state.d.ts.map +1 -0
- package/dist/config/ui-state.js +88 -0
- package/dist/config/ui-state.js.map +1 -0
- package/dist/context/manifest.d.ts.map +1 -1
- package/dist/context/manifest.js +1 -3
- package/dist/context/manifest.js.map +1 -1
- package/dist/context/repo-map.d.ts.map +1 -1
- package/dist/context/repo-map.js +1 -7
- package/dist/context/repo-map.js.map +1 -1
- package/dist/context/token-optimizer.d.ts.map +1 -1
- package/dist/context/token-optimizer.js +1 -8
- package/dist/context/token-optimizer.js.map +1 -1
- package/dist/conversation/render-model.d.ts +0 -36
- package/dist/conversation/render-model.d.ts.map +1 -1
- package/dist/conversation/render-model.js +1 -3
- package/dist/conversation/render-model.js.map +1 -1
- package/dist/customer-value/ambient-learning.d.ts +75 -0
- package/dist/customer-value/ambient-learning.d.ts.map +1 -0
- package/dist/customer-value/ambient-learning.js +472 -0
- package/dist/customer-value/ambient-learning.js.map +1 -0
- package/dist/customer-value/internal-helpers.d.ts +13 -0
- package/dist/customer-value/internal-helpers.d.ts.map +1 -0
- package/dist/customer-value/internal-helpers.js +70 -0
- package/dist/customer-value/internal-helpers.js.map +1 -0
- package/dist/customer-value/report.d.ts +282 -0
- package/dist/customer-value/report.d.ts.map +1 -0
- package/dist/customer-value/report.js +2085 -0
- package/dist/customer-value/report.js.map +1 -0
- package/dist/db/schema.d.ts +7 -3
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js.map +1 -1
- package/dist/evalops/agent-bootstrap.d.ts.map +1 -1
- package/dist/evalops/agent-bootstrap.js +1 -3
- package/dist/evalops/agent-bootstrap.js.map +1 -1
- package/dist/evalops/agent-mcp-metadata.d.ts.map +1 -1
- package/dist/evalops/agent-mcp-metadata.js +1 -3
- package/dist/evalops/agent-mcp-metadata.js.map +1 -1
- package/dist/hooks/notification-hooks.d.ts +1 -1
- package/dist/hooks/notification-hooks.d.ts.map +1 -1
- package/dist/hooks/notification-hooks.js.map +1 -1
- package/dist/hooks/tui-surface.d.ts +35 -0
- package/dist/hooks/tui-surface.d.ts.map +1 -0
- package/dist/hooks/tui-surface.js +11 -0
- package/dist/hooks/tui-surface.js.map +1 -0
- package/dist/hooks/types.d.ts +2 -1
- package/dist/hooks/types.d.ts.map +1 -1
- package/dist/hooks/types.js.map +1 -1
- package/dist/hooks/typescript-loader.d.ts.map +1 -1
- package/dist/hooks/typescript-loader.js.map +1 -1
- package/dist/hooks/ui-context.d.ts.map +1 -1
- package/dist/hooks/ui-context.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/installers/maestro-review-workflow.d.ts +38 -0
- package/dist/installers/maestro-review-workflow.d.ts.map +1 -0
- package/dist/installers/maestro-review-workflow.js +163 -0
- package/dist/installers/maestro-review-workflow.js.map +1 -0
- package/dist/load-env.d.ts.map +1 -1
- package/dist/load-env.js +2 -1
- package/dist/load-env.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +201 -840
- package/dist/main.js.map +1 -1
- package/dist/mcp/config.d.ts.map +1 -1
- package/dist/mcp/config.js +1 -3
- package/dist/mcp/config.js.map +1 -1
- package/dist/mcp/elicitation.d.ts.map +1 -1
- package/dist/mcp/elicitation.js +1 -3
- package/dist/mcp/elicitation.js.map +1 -1
- package/dist/mcp/official-registry.d.ts.map +1 -1
- package/dist/mcp/official-registry.js +1 -3
- package/dist/mcp/official-registry.js.map +1 -1
- package/dist/mcp/workspace-trust.d.ts.map +1 -1
- package/dist/mcp/workspace-trust.js +1 -3
- package/dist/mcp/workspace-trust.js.map +1 -1
- package/dist/memory/service-client.d.ts.map +1 -1
- package/dist/memory/service-client.js +1 -3
- package/dist/memory/service-client.js.map +1 -1
- package/dist/models/config-loader.d.ts +5 -5
- package/dist/models/config-loader.d.ts.map +1 -1
- package/dist/models/config-loader.js +1 -3
- package/dist/models/config-loader.js.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/index.d.ts +46 -0
- package/dist/node_modules/@evalops/contracts/dist/index.d.ts.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/index.js +3 -0
- package/dist/node_modules/@evalops/contracts/dist/index.js.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts +284 -0
- package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js +41 -0
- package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/maestro-settings.d.ts +61 -0
- package/dist/node_modules/@evalops/contracts/dist/maestro-settings.d.ts.map +1 -0
- package/dist/node_modules/@evalops/contracts/dist/maestro-settings.js +183 -0
- package/dist/node_modules/@evalops/contracts/dist/maestro-settings.js.map +1 -0
- package/dist/node_modules/@evalops/contracts/dist/schemas.d.ts +986 -0
- package/dist/node_modules/@evalops/contracts/dist/schemas.d.ts.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/schemas.js +49 -0
- package/dist/node_modules/@evalops/contracts/dist/schemas.js.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/token-estimation.d.ts +56 -0
- package/dist/node_modules/@evalops/contracts/dist/token-estimation.d.ts.map +1 -0
- package/dist/node_modules/@evalops/contracts/dist/token-estimation.js +86 -0
- package/dist/node_modules/@evalops/contracts/dist/token-estimation.js.map +1 -0
- package/dist/node_modules/@evalops/contracts/package.json +1 -1
- package/dist/oauth/connectors.d.ts.map +1 -1
- package/dist/oauth/connectors.js +1 -3
- package/dist/oauth/connectors.js.map +1 -1
- package/dist/oauth/evalops.d.ts.map +1 -1
- package/dist/oauth/evalops.js +1 -3
- package/dist/oauth/evalops.js.map +1 -1
- package/dist/packages/discovery.d.ts.map +1 -1
- package/dist/packages/discovery.js +1 -0
- package/dist/packages/discovery.js.map +1 -1
- package/dist/packages/inspection.d.ts.map +1 -1
- package/dist/packages/inspection.js +7 -1
- package/dist/packages/inspection.js.map +1 -1
- package/dist/packages/loader.d.ts.map +1 -1
- package/dist/packages/loader.js +8 -1
- package/dist/packages/loader.js.map +1 -1
- package/dist/packages/runtime.d.ts +1 -0
- package/dist/packages/runtime.d.ts.map +1 -1
- package/dist/packages/runtime.js +9 -1
- package/dist/packages/runtime.js.map +1 -1
- package/dist/packages/types.d.ts +6 -0
- package/dist/packages/types.d.ts.map +1 -1
- package/dist/packages/types.js.map +1 -1
- package/dist/platform/a2a-client.d.ts.map +1 -1
- package/dist/platform/a2a-client.js +1 -3
- package/dist/platform/a2a-client.js.map +1 -1
- package/dist/platform/a2a-cockpit.d.ts +1 -0
- package/dist/platform/a2a-cockpit.d.ts.map +1 -1
- package/dist/platform/a2a-cockpit.js +42 -11
- package/dist/platform/a2a-cockpit.js.map +1 -1
- package/dist/platform/a2a-completion-audit.d.ts +1 -1
- package/dist/platform/a2a-completion-audit.d.ts.map +1 -1
- package/dist/platform/a2a-completion-audit.js +7 -11
- package/dist/platform/a2a-completion-audit.js.map +1 -1
- package/dist/platform/a2a-maestro-peer.js +16 -0
- package/dist/platform/a2a-maestro-peer.js.map +1 -1
- package/dist/platform/a2a-peer-pairing.d.ts.map +1 -1
- package/dist/platform/a2a-peer-pairing.js +1 -3
- package/dist/platform/a2a-peer-pairing.js.map +1 -1
- package/dist/platform/a2a-peer-registry.d.ts.map +1 -1
- package/dist/platform/a2a-peer-registry.js +1 -3
- package/dist/platform/a2a-peer-registry.js.map +1 -1
- package/dist/platform/a2a-task-ledger.d.ts +20 -0
- package/dist/platform/a2a-task-ledger.d.ts.map +1 -1
- package/dist/platform/a2a-task-ledger.js +207 -11
- package/dist/platform/a2a-task-ledger.js.map +1 -1
- package/dist/platform/a2a-work-graph.d.ts.map +1 -1
- package/dist/platform/a2a-work-graph.js +1 -3
- package/dist/platform/a2a-work-graph.js.map +1 -1
- package/dist/platform/operating-layer.d.ts.map +1 -1
- package/dist/platform/operating-layer.js +14 -8
- package/dist/platform/operating-layer.js.map +1 -1
- package/dist/platform/tool-execution-client.d.ts.map +1 -1
- package/dist/platform/tool-execution-client.js +19 -2
- package/dist/platform/tool-execution-client.js.map +1 -1
- package/dist/providers/auth.d.ts.map +1 -1
- package/dist/providers/auth.js +1 -3
- package/dist/providers/auth.js.map +1 -1
- package/dist/runtime/agent-runtime.d.ts +22 -6
- package/dist/runtime/agent-runtime.d.ts.map +1 -1
- package/dist/runtime/agent-runtime.js +1 -1
- package/dist/runtime/agent-runtime.js.map +1 -1
- package/dist/runtime/env.d.ts +10 -1
- package/dist/runtime/env.d.ts.map +1 -1
- package/dist/runtime/env.js +64 -1
- package/dist/runtime/env.js.map +1 -1
- package/dist/runtime/prompt-queue.d.ts.map +1 -0
- package/dist/runtime/prompt-queue.js.map +1 -0
- package/dist/safety/policy.d.ts.map +1 -1
- package/dist/safety/policy.js +1 -4
- package/dist/safety/policy.js.map +1 -1
- package/dist/sandbox/docker-sandbox.d.ts.map +1 -1
- package/dist/sandbox/docker-sandbox.js +6 -1
- package/dist/sandbox/docker-sandbox.js.map +1 -1
- package/dist/server/handlers/chat-ws.d.ts +2 -1
- package/dist/server/handlers/chat-ws.d.ts.map +1 -1
- package/dist/server/handlers/chat-ws.js +150 -5
- package/dist/server/handlers/chat-ws.js.map +1 -1
- package/dist/server/handlers/chat.d.ts.map +1 -1
- package/dist/server/handlers/chat.js +78 -5
- package/dist/server/handlers/chat.js.map +1 -1
- package/dist/server/handlers/hosted-runner-drain.d.ts.map +1 -1
- package/dist/server/handlers/hosted-runner-drain.js +1 -3
- package/dist/server/handlers/hosted-runner-drain.js.map +1 -1
- package/dist/server/handlers/package.d.ts.map +1 -1
- package/dist/server/handlers/package.js +1 -0
- package/dist/server/handlers/package.js.map +1 -1
- package/dist/server/handlers/platform-a2a-push.d.ts.map +1 -1
- package/dist/server/handlers/platform-a2a-push.js +53 -2
- package/dist/server/handlers/platform-a2a-push.js.map +1 -1
- package/dist/server/handlers/queue.js +1 -1
- package/dist/server/handlers/queue.js.map +1 -1
- package/dist/server/handlers/runtime-app-server-ws.d.ts.map +1 -1
- package/dist/server/handlers/runtime-app-server-ws.js +1 -3
- package/dist/server/handlers/runtime-app-server-ws.js.map +1 -1
- package/dist/server/handlers/ui.js +1 -1
- package/dist/server/handlers/ui.js.map +1 -1
- package/dist/server/handlers/zen.js +1 -1
- package/dist/server/handlers/zen.js.map +1 -1
- package/dist/server/headless-runtime-service.d.ts +16 -0
- package/dist/server/headless-runtime-service.d.ts.map +1 -1
- package/dist/server/headless-runtime-service.js +232 -206
- package/dist/server/headless-runtime-service.js.map +1 -1
- package/dist/server/hosted-agent-runtime-progress.d.ts.map +1 -1
- package/dist/server/hosted-agent-runtime-progress.js +12 -3
- package/dist/server/hosted-agent-runtime-progress.js.map +1 -1
- package/dist/server/hosted-session-manager.d.ts +3 -0
- package/dist/server/hosted-session-manager.d.ts.map +1 -1
- package/dist/server/hosted-session-manager.js +26 -0
- package/dist/server/hosted-session-manager.js.map +1 -1
- package/dist/server/model-selection.d.ts +1 -0
- package/dist/server/model-selection.d.ts.map +1 -1
- package/dist/server/model-selection.js +4 -0
- package/dist/server/model-selection.js.map +1 -1
- package/dist/server/pending-request-payload.d.ts.map +1 -1
- package/dist/server/pending-request-payload.js +1 -3
- package/dist/server/pending-request-payload.js.map +1 -1
- package/dist/server/route-auth.d.ts.map +1 -1
- package/dist/server/route-auth.js +2 -0
- package/dist/server/route-auth.js.map +1 -1
- package/dist/server/session-serialization.d.ts.map +1 -1
- package/dist/server/session-serialization.js +4 -3
- package/dist/server/session-serialization.js.map +1 -1
- package/dist/server/session-timeline.d.ts.map +1 -1
- package/dist/server/session-timeline.js +1 -1
- package/dist/server/session-timeline.js.map +1 -1
- package/dist/server/sse-session.d.ts +2 -0
- package/dist/server/sse-session.d.ts.map +1 -1
- package/dist/server/sse-session.js +3 -0
- package/dist/server/sse-session.js.map +1 -1
- package/dist/server/stores/ui-store.d.ts +1 -1
- package/dist/server/stores/ui-store.d.ts.map +1 -1
- package/dist/server/stores/ui-store.js.map +1 -1
- package/dist/server/utils/token-estimator.d.ts +2 -2
- package/dist/server/utils/token-estimator.d.ts.map +1 -1
- package/dist/server/utils/token-estimator.js +2 -12
- package/dist/server/utils/token-estimator.js.map +1 -1
- package/dist/server/validation.d.ts +54 -0
- package/dist/server/validation.d.ts.map +1 -1
- package/dist/services/compliance/normalize.d.ts.map +1 -1
- package/dist/services/compliance/normalize.js +1 -3
- package/dist/services/compliance/normalize.js.map +1 -1
- package/dist/services/image-providers/cost.d.ts +70 -0
- package/dist/services/image-providers/cost.d.ts.map +1 -0
- package/dist/services/image-providers/cost.js +164 -0
- package/dist/services/image-providers/cost.js.map +1 -0
- package/dist/services/image-providers/flux.d.ts +40 -0
- package/dist/services/image-providers/flux.d.ts.map +1 -0
- package/dist/services/image-providers/flux.js +99 -0
- package/dist/services/image-providers/flux.js.map +1 -0
- package/dist/services/image-providers/index.d.ts +24 -0
- package/dist/services/image-providers/index.d.ts.map +1 -0
- package/dist/services/image-providers/index.js +27 -0
- package/dist/services/image-providers/index.js.map +1 -0
- package/dist/services/image-providers/masks.d.ts +51 -0
- package/dist/services/image-providers/masks.d.ts.map +1 -0
- package/dist/services/image-providers/masks.js +132 -0
- package/dist/services/image-providers/masks.js.map +1 -0
- package/dist/services/image-providers/openai.d.ts +35 -0
- package/dist/services/image-providers/openai.d.ts.map +1 -0
- package/dist/services/image-providers/openai.js +93 -0
- package/dist/services/image-providers/openai.js.map +1 -0
- package/dist/services/image-providers/types.d.ts +61 -0
- package/dist/services/image-providers/types.d.ts.map +1 -0
- package/dist/services/image-providers/types.js +17 -0
- package/dist/services/image-providers/types.js.map +1 -0
- package/dist/services/intelligent-router/index.d.ts +1 -0
- package/dist/services/intelligent-router/index.d.ts.map +1 -1
- package/dist/services/intelligent-router/index.js +1 -0
- package/dist/services/intelligent-router/index.js.map +1 -1
- package/dist/services/intelligent-router/normalize.d.ts +1 -0
- package/dist/services/intelligent-router/normalize.d.ts.map +1 -1
- package/dist/services/intelligent-router/normalize.js +18 -3
- package/dist/services/intelligent-router/normalize.js.map +1 -1
- package/dist/services/intelligent-router/outcome.d.ts +19 -0
- package/dist/services/intelligent-router/outcome.d.ts.map +1 -0
- package/dist/services/intelligent-router/outcome.js +51 -0
- package/dist/services/intelligent-router/outcome.js.map +1 -0
- package/dist/services/intelligent-router/recorder.d.ts +2 -0
- package/dist/services/intelligent-router/recorder.d.ts.map +1 -1
- package/dist/services/intelligent-router/recorder.js +72 -1
- package/dist/services/intelligent-router/recorder.js.map +1 -1
- package/dist/services/intelligent-router/service.d.ts +1 -0
- package/dist/services/intelligent-router/service.d.ts.map +1 -1
- package/dist/services/intelligent-router/service.js +60 -11
- package/dist/services/intelligent-router/service.js.map +1 -1
- package/dist/services/intelligent-router/types.d.ts +18 -0
- package/dist/services/intelligent-router/types.d.ts.map +1 -1
- package/dist/services/intelligent-router/types.js.map +1 -1
- package/dist/services/revenue-attribution/normalize.d.ts.map +1 -1
- package/dist/services/revenue-attribution/normalize.js +1 -3
- package/dist/services/revenue-attribution/normalize.js.map +1 -1
- package/dist/services/traces/normalize.d.ts.map +1 -1
- package/dist/services/traces/normalize.js +1 -3
- package/dist/services/traces/normalize.js.map +1 -1
- package/dist/services/workspace-config/middleware.d.ts +2 -0
- package/dist/services/workspace-config/middleware.d.ts.map +1 -1
- package/dist/services/workspace-config/middleware.js +25 -28
- package/dist/services/workspace-config/middleware.js.map +1 -1
- package/dist/services/workspace-config/normalize.d.ts.map +1 -1
- package/dist/services/workspace-config/normalize.js +1 -3
- package/dist/services/workspace-config/normalize.js.map +1 -1
- package/dist/session/agent-lineage-projection.d.ts +30 -0
- package/dist/session/agent-lineage-projection.d.ts.map +1 -0
- package/dist/session/agent-lineage-projection.js +109 -0
- package/dist/session/agent-lineage-projection.js.map +1 -0
- package/dist/session/manager.d.ts +3 -0
- package/dist/session/manager.d.ts.map +1 -1
- package/dist/session/manager.js +24 -0
- package/dist/session/manager.js.map +1 -1
- package/dist/session/session-graph-projection.d.ts +11 -0
- package/dist/session/session-graph-projection.d.ts.map +1 -1
- package/dist/session/session-graph-projection.js +28 -0
- package/dist/session/session-graph-projection.js.map +1 -1
- package/dist/session/types.d.ts +2 -0
- package/dist/session/types.d.ts.map +1 -1
- package/dist/session/types.js.map +1 -1
- package/dist/telemetry/agent-workforce-native-event.d.ts.map +1 -1
- package/dist/telemetry/agent-workforce-native-event.js +1 -3
- package/dist/telemetry/agent-workforce-native-event.js.map +1 -1
- package/dist/telemetry/maestro-event-bus.d.ts +1 -1
- package/dist/telemetry/maestro-event-bus.d.ts.map +1 -1
- package/dist/telemetry/maestro-event-bus.js +42 -81
- package/dist/telemetry/maestro-event-bus.js.map +1 -1
- package/dist/telemetry/maestro-platform-replay-fixture.d.ts.map +1 -1
- package/dist/telemetry/maestro-platform-replay-fixture.js +1 -3
- package/dist/telemetry/maestro-platform-replay-fixture.js.map +1 -1
- package/dist/telemetry/maestro-publisher-conformance-fixture.js.map +1 -1
- package/dist/telemetry/oracle-policy.d.ts +6 -0
- package/dist/telemetry/oracle-policy.d.ts.map +1 -0
- package/dist/telemetry/oracle-policy.js +17 -0
- package/dist/telemetry/oracle-policy.js.map +1 -0
- package/dist/telemetry/wide-events.d.ts +1 -1
- package/dist/telemetry/wide-events.d.ts.map +1 -1
- package/dist/telemetry/wide-events.js.map +1 -1
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +54 -43
- package/dist/telemetry.js.map +1 -1
- package/dist/theme/theme-loader.d.ts.map +1 -1
- package/dist/theme/theme-loader.js +1 -3
- package/dist/theme/theme-loader.js.map +1 -1
- package/dist/theme/theme.d.ts +2 -8
- package/dist/theme/theme.d.ts.map +1 -1
- package/dist/theme/theme.js +7 -0
- package/dist/theme/theme.js.map +1 -1
- package/dist/theme/tui-theme-helpers.d.ts +2 -1
- package/dist/theme/tui-theme-helpers.d.ts.map +1 -1
- package/dist/theme/tui-theme-helpers.js.map +1 -1
- package/dist/theme/tui-theme-types.d.ts +39 -0
- package/dist/theme/tui-theme-types.d.ts.map +1 -0
- package/dist/theme/tui-theme-types.js +10 -0
- package/dist/theme/tui-theme-types.js.map +1 -0
- package/dist/tools/apply-patch.d.ts.map +1 -1
- package/dist/tools/apply-patch.js +76 -8
- package/dist/tools/apply-patch.js.map +1 -1
- package/dist/tools/diff-preview.d.ts.map +1 -1
- package/dist/tools/diff-preview.js +10 -1
- package/dist/tools/diff-preview.js.map +1 -1
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/edit.js +17 -0
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/index.d.ts +199 -160
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/lazy-registry.d.ts.map +1 -1
- package/dist/tools/lazy-registry.js +1 -0
- package/dist/tools/lazy-registry.js.map +1 -1
- package/dist/tools/oracle.d.ts +9 -0
- package/dist/tools/oracle.d.ts.map +1 -1
- package/dist/tools/oracle.js +26 -24
- package/dist/tools/oracle.js.map +1 -1
- package/dist/tools/painter.d.ts +73 -0
- package/dist/tools/painter.d.ts.map +1 -0
- package/dist/tools/painter.js +283 -0
- package/dist/tools/painter.js.map +1 -0
- package/dist/tools/typebox-tool.d.ts.map +1 -1
- package/dist/tools/typebox-tool.js +1 -1
- package/dist/tools/typebox-tool.js.map +1 -1
- package/dist/tools/write.d.ts.map +1 -1
- package/dist/tools/write.js +9 -0
- package/dist/tools/write.js.map +1 -1
- package/dist/undo/tracker.d.ts +5 -0
- package/dist/undo/tracker.d.ts.map +1 -1
- package/dist/undo/tracker.js +13 -0
- package/dist/undo/tracker.js.map +1 -1
- package/dist/utils/fs.d.ts +1 -1
- package/dist/utils/fs.d.ts.map +1 -1
- package/dist/utils/fs.js +29 -2
- package/dist/utils/fs.js.map +1 -1
- package/dist/utils/git-stash.d.ts.map +1 -1
- package/dist/utils/git-stash.js +15 -8
- package/dist/utils/git-stash.js.map +1 -1
- package/dist/utils/json.d.ts +11 -0
- package/dist/utils/json.d.ts.map +1 -1
- package/dist/utils/json.js +9 -0
- package/dist/utils/json.js.map +1 -1
- package/dist/utils/shell-env.d.ts.map +1 -1
- package/dist/utils/shell-env.js +2 -0
- package/dist/utils/shell-env.js.map +1 -1
- package/dist/utils/terminal-image.d.ts +52 -0
- package/dist/utils/terminal-image.d.ts.map +1 -0
- package/dist/utils/terminal-image.js +95 -0
- package/dist/utils/terminal-image.js.map +1 -0
- package/dist/utils/terminal-text.d.ts +11 -0
- package/dist/utils/terminal-text.d.ts.map +1 -0
- package/dist/utils/terminal-text.js +21 -0
- package/dist/utils/terminal-text.js.map +1 -0
- package/dist/utils/url-extractor-git.d.ts +26 -0
- package/dist/utils/url-extractor-git.d.ts.map +1 -0
- package/dist/utils/url-extractor-git.js +259 -0
- package/dist/utils/url-extractor-git.js.map +1 -0
- package/dist/utils/url-extractor.d.ts.map +1 -1
- package/dist/utils/url-extractor.js +23 -251
- package/dist/utils/url-extractor.js.map +1 -1
- package/dist/version.json +2 -2
- package/dist/web-server.d.ts.map +1 -1
- package/dist/web-server.js +24 -2
- package/dist/web-server.js.map +1 -1
- package/package.json +312 -306
- package/skills/incident-triage/SKILL.md +20 -1
- package/skills/install-code-review/SKILL.md +69 -0
- package/skills/security-review/SKILL.md +68 -0
- package/skills/security-review/reference/rubric.md +85 -0
- package/dist/cli/commands/agents.d.ts +0 -20
- package/dist/cli/commands/agents.d.ts.map +0 -1
- package/dist/cli/commands/agents.js +0 -280
- package/dist/cli/commands/agents.js.map +0 -1
- package/dist/cli/commands/anthropic.d.ts +0 -2
- package/dist/cli/commands/anthropic.d.ts.map +0 -1
- package/dist/cli/commands/anthropic.js +0 -6
- package/dist/cli/commands/anthropic.js.map +0 -1
- package/dist/cli/commands/cost.d.ts +0 -13
- package/dist/cli/commands/cost.d.ts.map +0 -1
- package/dist/cli/commands/cost.js +0 -143
- package/dist/cli/commands/cost.js.map +0 -1
- package/dist/cli/commands/exec-constants.d.ts +0 -3
- package/dist/cli/commands/exec-constants.d.ts.map +0 -1
- package/dist/cli/commands/exec-constants.js +0 -3
- package/dist/cli/commands/exec-constants.js.map +0 -1
- package/dist/cli/commands/exec.d.ts +0 -19
- package/dist/cli/commands/exec.d.ts.map +0 -1
- package/dist/cli/commands/exec.js +0 -207
- package/dist/cli/commands/exec.js.map +0 -1
- package/dist/cli/commands/hooks.d.ts +0 -2
- package/dist/cli/commands/hooks.d.ts.map +0 -1
- package/dist/cli/commands/hooks.js +0 -25
- package/dist/cli/commands/hooks.js.map +0 -1
- package/dist/cli/commands/hosted-runner.d.ts +0 -25
- package/dist/cli/commands/hosted-runner.d.ts.map +0 -1
- package/dist/cli/commands/hosted-runner.js +0 -278
- package/dist/cli/commands/hosted-runner.js.map +0 -1
- package/dist/cli/commands/memory.d.ts +0 -2
- package/dist/cli/commands/memory.d.ts.map +0 -1
- package/dist/cli/commands/memory.js +0 -208
- package/dist/cli/commands/memory.js.map +0 -1
- package/dist/cli/commands/models.d.ts +0 -3
- package/dist/cli/commands/models.d.ts.map +0 -1
- package/dist/cli/commands/models.js +0 -154
- package/dist/cli/commands/models.js.map +0 -1
- package/dist/cli/commands/modes.d.ts +0 -8
- package/dist/cli/commands/modes.d.ts.map +0 -1
- package/dist/cli/commands/modes.js +0 -151
- package/dist/cli/commands/modes.js.map +0 -1
- package/dist/cli/commands/openai.d.ts +0 -2
- package/dist/cli/commands/openai.d.ts.map +0 -1
- package/dist/cli/commands/openai.js +0 -116
- package/dist/cli/commands/openai.js.map +0 -1
- package/dist/cli/commands/session-transfer.d.ts +0 -5
- package/dist/cli/commands/session-transfer.d.ts.map +0 -1
- package/dist/cli/commands/session-transfer.js +0 -43
- package/dist/cli/commands/session-transfer.js.map +0 -1
- package/dist/cli/commands/sessions.d.ts +0 -8
- package/dist/cli/commands/sessions.d.ts.map +0 -1
- package/dist/cli/commands/sessions.js +0 -152
- package/dist/cli/commands/sessions.js.map +0 -1
- package/dist/cli/commands/skill.d.ts +0 -10
- package/dist/cli/commands/skill.d.ts.map +0 -1
- package/dist/cli/commands/skill.js +0 -303
- package/dist/cli/commands/skill.js.map +0 -1
- package/dist/cli/commands/stats.d.ts +0 -7
- package/dist/cli/commands/stats.d.ts.map +0 -1
- package/dist/cli/commands/stats.js +0 -167
- package/dist/cli/commands/stats.js.map +0 -1
- package/dist/cli/commands/status.d.ts +0 -2
- package/dist/cli/commands/status.d.ts.map +0 -1
- package/dist/cli/commands/status.js +0 -11
- package/dist/cli/commands/status.js.map +0 -1
- package/dist/cli/commands/update.d.ts +0 -12
- package/dist/cli/commands/update.d.ts.map +0 -1
- package/dist/cli/commands/update.js +0 -148
- package/dist/cli/commands/update.js.map +0 -1
- package/dist/cli-tui/about-view.d.ts +0 -48
- package/dist/cli-tui/about-view.d.ts.map +0 -1
- package/dist/cli-tui/about-view.js +0 -206
- package/dist/cli-tui/about-view.js.map +0 -1
- package/dist/cli-tui/agent-event-router.d.ts +0 -28
- package/dist/cli-tui/agent-event-router.d.ts.map +0 -1
- package/dist/cli-tui/agent-event-router.js +0 -126
- package/dist/cli-tui/agent-event-router.js.map +0 -1
- package/dist/cli-tui/approval/approval-controller.d.ts +0 -28
- package/dist/cli-tui/approval/approval-controller.d.ts.map +0 -1
- package/dist/cli-tui/approval/approval-controller.js +0 -99
- package/dist/cli-tui/approval/approval-controller.js.map +0 -1
- package/dist/cli-tui/approval/approval-modal.d.ts +0 -26
- package/dist/cli-tui/approval/approval-modal.d.ts.map +0 -1
- package/dist/cli-tui/approval/approval-modal.js +0 -143
- package/dist/cli-tui/approval/approval-modal.js.map +0 -1
- package/dist/cli-tui/assistant-message.d.ts +0 -41
- package/dist/cli-tui/assistant-message.d.ts.map +0 -1
- package/dist/cli-tui/assistant-message.js +0 -236
- package/dist/cli-tui/assistant-message.js.map +0 -1
- package/dist/cli-tui/auth-state.d.ts +0 -7
- package/dist/cli-tui/auth-state.d.ts.map +0 -1
- package/dist/cli-tui/auth-state.js +0 -46
- package/dist/cli-tui/auth-state.js.map +0 -1
- package/dist/cli-tui/background/background-tasks-controller.d.ts +0 -31
- package/dist/cli-tui/background/background-tasks-controller.d.ts.map +0 -1
- package/dist/cli-tui/background/background-tasks-controller.js +0 -84
- package/dist/cli-tui/background/background-tasks-controller.js.map +0 -1
- package/dist/cli-tui/base-view.d.ts +0 -111
- package/dist/cli-tui/base-view.d.ts.map +0 -1
- package/dist/cli-tui/base-view.js +0 -145
- package/dist/cli-tui/base-view.js.map +0 -1
- package/dist/cli-tui/bash/background-launcher.d.ts +0 -14
- package/dist/cli-tui/bash/background-launcher.d.ts.map +0 -1
- package/dist/cli-tui/bash/background-launcher.js +0 -50
- package/dist/cli-tui/bash/background-launcher.js.map +0 -1
- package/dist/cli-tui/bash/bash-autocomplete.d.ts +0 -40
- package/dist/cli-tui/bash/bash-autocomplete.d.ts.map +0 -1
- package/dist/cli-tui/bash/bash-autocomplete.js +0 -347
- package/dist/cli-tui/bash/bash-autocomplete.js.map +0 -1
- package/dist/cli-tui/bash/bash-history.d.ts +0 -21
- package/dist/cli-tui/bash/bash-history.d.ts.map +0 -1
- package/dist/cli-tui/bash/bash-history.js +0 -72
- package/dist/cli-tui/bash/bash-history.js.map +0 -1
- package/dist/cli-tui/bash/bash-syntax.d.ts +0 -5
- package/dist/cli-tui/bash/bash-syntax.d.ts.map +0 -1
- package/dist/cli-tui/bash/bash-syntax.js +0 -176
- package/dist/cli-tui/bash/bash-syntax.js.map +0 -1
- package/dist/cli-tui/bash/index.d.ts +0 -4
- package/dist/cli-tui/bash/index.d.ts.map +0 -1
- package/dist/cli-tui/bash/index.js +0 -4
- package/dist/cli-tui/bash/index.js.map +0 -1
- package/dist/cli-tui/bash-mode-view.d.ts +0 -86
- package/dist/cli-tui/bash-mode-view.d.ts.map +0 -1
- package/dist/cli-tui/bash-mode-view.js +0 -560
- package/dist/cli-tui/bash-mode-view.js.map +0 -1
- package/dist/cli-tui/bash-shell-block.d.ts +0 -50
- package/dist/cli-tui/bash-shell-block.d.ts.map +0 -1
- package/dist/cli-tui/bash-shell-block.js +0 -119
- package/dist/cli-tui/bash-shell-block.js.map +0 -1
- package/dist/cli-tui/changelog-view.d.ts +0 -13
- package/dist/cli-tui/changelog-view.d.ts.map +0 -1
- package/dist/cli-tui/changelog-view.js +0 -34
- package/dist/cli-tui/changelog-view.js.map +0 -1
- package/dist/cli-tui/clean-mode.d.ts +0 -13
- package/dist/cli-tui/clean-mode.d.ts.map +0 -1
- package/dist/cli-tui/clean-mode.js +0 -32
- package/dist/cli-tui/clean-mode.js.map +0 -1
- package/dist/cli-tui/client-tools/client-tool-controller.d.ts +0 -41
- package/dist/cli-tui/client-tools/client-tool-controller.d.ts.map +0 -1
- package/dist/cli-tui/client-tools/client-tool-controller.js +0 -862
- package/dist/cli-tui/client-tools/client-tool-controller.js.map +0 -1
- package/dist/cli-tui/client-tools/local-client-tool-service.d.ts +0 -33
- package/dist/cli-tui/client-tools/local-client-tool-service.d.ts.map +0 -1
- package/dist/cli-tui/client-tools/local-client-tool-service.js +0 -94
- package/dist/cli-tui/client-tools/local-client-tool-service.js.map +0 -1
- package/dist/cli-tui/commands/a2a-handlers.d.ts +0 -7
- package/dist/cli-tui/commands/a2a-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/a2a-handlers.js +0 -215
- package/dist/cli-tui/commands/a2a-handlers.js.map +0 -1
- package/dist/cli-tui/commands/access-command.d.ts +0 -3
- package/dist/cli-tui/commands/access-command.d.ts.map +0 -1
- package/dist/cli-tui/commands/access-command.js +0 -89
- package/dist/cli-tui/commands/access-command.js.map +0 -1
- package/dist/cli-tui/commands/argument-parser.d.ts +0 -12
- package/dist/cli-tui/commands/argument-parser.d.ts.map +0 -1
- package/dist/cli-tui/commands/argument-parser.js +0 -135
- package/dist/cli-tui/commands/argument-parser.js.map +0 -1
- package/dist/cli-tui/commands/audit-command.d.ts +0 -5
- package/dist/cli-tui/commands/audit-command.d.ts.map +0 -1
- package/dist/cli-tui/commands/audit-command.js +0 -35
- package/dist/cli-tui/commands/audit-command.js.map +0 -1
- package/dist/cli-tui/commands/background-handlers.d.ts +0 -14
- package/dist/cli-tui/commands/background-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/background-handlers.js +0 -115
- package/dist/cli-tui/commands/background-handlers.js.map +0 -1
- package/dist/cli-tui/commands/command-catalog.d.ts +0 -29
- package/dist/cli-tui/commands/command-catalog.d.ts.map +0 -1
- package/dist/cli-tui/commands/command-catalog.js +0 -666
- package/dist/cli-tui/commands/command-catalog.js.map +0 -1
- package/dist/cli-tui/commands/command-registry-adapter.d.ts +0 -12
- package/dist/cli-tui/commands/command-registry-adapter.d.ts.map +0 -1
- package/dist/cli-tui/commands/command-registry-adapter.js +0 -129
- package/dist/cli-tui/commands/command-registry-adapter.js.map +0 -1
- package/dist/cli-tui/commands/command-suite-catalog.d.ts +0 -14
- package/dist/cli-tui/commands/command-suite-catalog.d.ts.map +0 -1
- package/dist/cli-tui/commands/command-suite-catalog.js +0 -147
- package/dist/cli-tui/commands/command-suite-catalog.js.map +0 -1
- package/dist/cli-tui/commands/command-suite-handlers.d.ts +0 -111
- package/dist/cli-tui/commands/command-suite-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/command-suite-handlers.js +0 -110
- package/dist/cli-tui/commands/command-suite-handlers.js.map +0 -1
- package/dist/cli-tui/commands/composer-handlers.d.ts +0 -8
- package/dist/cli-tui/commands/composer-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/composer-handlers.js +0 -90
- package/dist/cli-tui/commands/composer-handlers.js.map +0 -1
- package/dist/cli-tui/commands/framework-handlers.d.ts +0 -18
- package/dist/cli-tui/commands/framework-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/framework-handlers.js +0 -57
- package/dist/cli-tui/commands/framework-handlers.js.map +0 -1
- package/dist/cli-tui/commands/guardian-handlers.d.ts +0 -20
- package/dist/cli-tui/commands/guardian-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/guardian-handlers.js +0 -48
- package/dist/cli-tui/commands/guardian-handlers.js.map +0 -1
- package/dist/cli-tui/commands/handlers/mode-handler.d.ts +0 -32
- package/dist/cli-tui/commands/handlers/mode-handler.d.ts.map +0 -1
- package/dist/cli-tui/commands/handlers/mode-handler.js +0 -153
- package/dist/cli-tui/commands/handlers/mode-handler.js.map +0 -1
- package/dist/cli-tui/commands/hotkeys-command.d.ts +0 -8
- package/dist/cli-tui/commands/hotkeys-command.d.ts.map +0 -1
- package/dist/cli-tui/commands/hotkeys-command.js +0 -61
- package/dist/cli-tui/commands/hotkeys-command.js.map +0 -1
- package/dist/cli-tui/commands/limits-command.d.ts +0 -3
- package/dist/cli-tui/commands/limits-command.d.ts.map +0 -1
- package/dist/cli-tui/commands/limits-command.js +0 -88
- package/dist/cli-tui/commands/limits-command.js.map +0 -1
- package/dist/cli-tui/commands/mcp-handlers.d.ts +0 -12
- package/dist/cli-tui/commands/mcp-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/mcp-handlers.js +0 -1306
- package/dist/cli-tui/commands/mcp-handlers.js.map +0 -1
- package/dist/cli-tui/commands/memory-handlers.d.ts +0 -28
- package/dist/cli-tui/commands/memory-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/memory-handlers.js +0 -414
- package/dist/cli-tui/commands/memory-handlers.js.map +0 -1
- package/dist/cli-tui/commands/otel-handlers.d.ts +0 -11
- package/dist/cli-tui/commands/otel-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/otel-handlers.js +0 -20
- package/dist/cli-tui/commands/otel-handlers.js.map +0 -1
- package/dist/cli-tui/commands/package-handlers.d.ts +0 -30
- package/dist/cli-tui/commands/package-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/package-handlers.js +0 -499
- package/dist/cli-tui/commands/package-handlers.js.map +0 -1
- package/dist/cli-tui/commands/pii-command.d.ts +0 -3
- package/dist/cli-tui/commands/pii-command.d.ts.map +0 -1
- package/dist/cli-tui/commands/pii-command.js +0 -54
- package/dist/cli-tui/commands/pii-command.js.map +0 -1
- package/dist/cli-tui/commands/registry.d.ts +0 -3
- package/dist/cli-tui/commands/registry.d.ts.map +0 -1
- package/dist/cli-tui/commands/registry.js +0 -36
- package/dist/cli-tui/commands/registry.js.map +0 -1
- package/dist/cli-tui/commands/safety-handlers.d.ts +0 -36
- package/dist/cli-tui/commands/safety-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/safety-handlers.js +0 -62
- package/dist/cli-tui/commands/safety-handlers.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/auth-commands.d.ts +0 -26
- package/dist/cli-tui/commands/subcommands/auth-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/auth-commands.js +0 -79
- package/dist/cli-tui/commands/subcommands/auth-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/config-commands.d.ts +0 -23
- package/dist/cli-tui/commands/subcommands/config-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/config-commands.js +0 -61
- package/dist/cli-tui/commands/subcommands/config-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/diag-commands.d.ts +0 -46
- package/dist/cli-tui/commands/subcommands/diag-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/diag-commands.js +0 -163
- package/dist/cli-tui/commands/subcommands/diag-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/git-commands.d.ts +0 -18
- package/dist/cli-tui/commands/subcommands/git-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/git-commands.js +0 -50
- package/dist/cli-tui/commands/subcommands/git-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/index.d.ts +0 -18
- package/dist/cli-tui/commands/subcommands/index.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/index.js +0 -18
- package/dist/cli-tui/commands/subcommands/index.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/safety-commands.d.ts +0 -26
- package/dist/cli-tui/commands/subcommands/safety-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/safety-commands.js +0 -149
- package/dist/cli-tui/commands/subcommands/safety-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/session-commands.d.ts +0 -36
- package/dist/cli-tui/commands/subcommands/session-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/session-commands.js +0 -112
- package/dist/cli-tui/commands/subcommands/session-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/tools-commands.d.ts +0 -27
- package/dist/cli-tui/commands/subcommands/tools-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/tools-commands.js +0 -80
- package/dist/cli-tui/commands/subcommands/tools-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/ui-commands.d.ts +0 -30
- package/dist/cli-tui/commands/subcommands/ui-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/ui-commands.js +0 -74
- package/dist/cli-tui/commands/subcommands/ui-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/undo-commands.d.ts +0 -25
- package/dist/cli-tui/commands/subcommands/undo-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/undo-commands.js +0 -74
- package/dist/cli-tui/commands/subcommands/undo-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/usage-commands.d.ts +0 -19
- package/dist/cli-tui/commands/subcommands/usage-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/usage-commands.js +0 -63
- package/dist/cli-tui/commands/subcommands/usage-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/utils.d.ts +0 -127
- package/dist/cli-tui/commands/subcommands/utils.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/utils.js +0 -395
- package/dist/cli-tui/commands/subcommands/utils.js.map +0 -1
- package/dist/cli-tui/commands/types.d.ts +0 -105
- package/dist/cli-tui/commands/types.d.ts.map +0 -1
- package/dist/cli-tui/commands/types.js +0 -2
- package/dist/cli-tui/commands/types.js.map +0 -1
- package/dist/cli-tui/commands/undo-handlers.d.ts +0 -29
- package/dist/cli-tui/commands/undo-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/undo-handlers.js +0 -300
- package/dist/cli-tui/commands/undo-handlers.js.map +0 -1
- package/dist/cli-tui/commands/utility-handlers.d.ts +0 -55
- package/dist/cli-tui/commands/utility-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/utility-handlers.js +0 -137
- package/dist/cli-tui/commands/utility-handlers.js.map +0 -1
- package/dist/cli-tui/commands/workflow-handlers.d.ts +0 -22
- package/dist/cli-tui/commands/workflow-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/workflow-handlers.js +0 -227
- package/dist/cli-tui/commands/workflow-handlers.js.map +0 -1
- package/dist/cli-tui/compact-boundary-message.d.ts +0 -9
- package/dist/cli-tui/compact-boundary-message.d.ts.map +0 -1
- package/dist/cli-tui/compact-boundary-message.js +0 -18
- package/dist/cli-tui/compact-boundary-message.js.map +0 -1
- package/dist/cli-tui/compaction-recovery.d.ts +0 -6
- package/dist/cli-tui/compaction-recovery.d.ts.map +0 -1
- package/dist/cli-tui/compaction-recovery.js +0 -13
- package/dist/cli-tui/compaction-recovery.js.map +0 -1
- package/dist/cli-tui/config-view.d.ts +0 -30
- package/dist/cli-tui/config-view.d.ts.map +0 -1
- package/dist/cli-tui/config-view.js +0 -255
- package/dist/cli-tui/config-view.js.map +0 -1
- package/dist/cli-tui/context-view.d.ts +0 -20
- package/dist/cli-tui/context-view.d.ts.map +0 -1
- package/dist/cli-tui/context-view.js +0 -191
- package/dist/cli-tui/context-view.js.map +0 -1
- package/dist/cli-tui/custom-editor.d.ts +0 -25
- package/dist/cli-tui/custom-editor.d.ts.map +0 -1
- package/dist/cli-tui/custom-editor.js +0 -241
- package/dist/cli-tui/custom-editor.js.map +0 -1
- package/dist/cli-tui/editor-view.d.ts +0 -34
- package/dist/cli-tui/editor-view.d.ts.map +0 -1
- package/dist/cli-tui/editor-view.js +0 -102
- package/dist/cli-tui/editor-view.js.map +0 -1
- package/dist/cli-tui/feedback-view.d.ts +0 -35
- package/dist/cli-tui/feedback-view.d.ts.map +0 -1
- package/dist/cli-tui/feedback-view.js +0 -271
- package/dist/cli-tui/feedback-view.js.map +0 -1
- package/dist/cli-tui/footer.d.ts +0 -56
- package/dist/cli-tui/footer.d.ts.map +0 -1
- package/dist/cli-tui/footer.js +0 -228
- package/dist/cli-tui/footer.js.map +0 -1
- package/dist/cli-tui/git/commit-modal.d.ts +0 -14
- package/dist/cli-tui/git/commit-modal.d.ts.map +0 -1
- package/dist/cli-tui/git/commit-modal.js +0 -56
- package/dist/cli-tui/git/commit-modal.js.map +0 -1
- package/dist/cli-tui/git/git-preview-modal.d.ts +0 -40
- package/dist/cli-tui/git/git-preview-modal.d.ts.map +0 -1
- package/dist/cli-tui/git/git-preview-modal.js +0 -123
- package/dist/cli-tui/git/git-preview-modal.js.map +0 -1
- package/dist/cli-tui/git/git-view.d.ts +0 -65
- package/dist/cli-tui/git/git-view.d.ts.map +0 -1
- package/dist/cli-tui/git/git-view.js +0 -529
- package/dist/cli-tui/git/git-view.js.map +0 -1
- package/dist/cli-tui/history/history-config.d.ts +0 -7
- package/dist/cli-tui/history/history-config.d.ts.map +0 -1
- package/dist/cli-tui/history/history-config.js +0 -49
- package/dist/cli-tui/history/history-config.js.map +0 -1
- package/dist/cli-tui/history/prompt-history.d.ts +0 -33
- package/dist/cli-tui/history/prompt-history.d.ts.map +0 -1
- package/dist/cli-tui/history/prompt-history.js +0 -185
- package/dist/cli-tui/history/prompt-history.js.map +0 -1
- package/dist/cli-tui/history/tool-history.d.ts +0 -50
- package/dist/cli-tui/history/tool-history.d.ts.map +0 -1
- package/dist/cli-tui/history/tool-history.js +0 -253
- package/dist/cli-tui/history/tool-history.js.map +0 -1
- package/dist/cli-tui/hook-message.d.ts +0 -13
- package/dist/cli-tui/hook-message.d.ts.map +0 -1
- package/dist/cli-tui/hook-message.js +0 -56
- package/dist/cli-tui/hook-message.js.map +0 -1
- package/dist/cli-tui/hooks/hook-input-modal.d.ts +0 -22
- package/dist/cli-tui/hooks/hook-input-modal.d.ts.map +0 -1
- package/dist/cli-tui/hooks/hook-input-modal.js +0 -63
- package/dist/cli-tui/hooks/hook-input-modal.js.map +0 -1
- package/dist/cli-tui/hotkeys-view.d.ts +0 -13
- package/dist/cli-tui/hotkeys-view.d.ts.map +0 -1
- package/dist/cli-tui/hotkeys-view.js +0 -96
- package/dist/cli-tui/hotkeys-view.js.map +0 -1
- package/dist/cli-tui/import-view.d.ts +0 -28
- package/dist/cli-tui/import-view.d.ts.map +0 -1
- package/dist/cli-tui/import-view.js +0 -184
- package/dist/cli-tui/import-view.js.map +0 -1
- package/dist/cli-tui/info-view.d.ts +0 -18
- package/dist/cli-tui/info-view.d.ts.map +0 -1
- package/dist/cli-tui/info-view.js +0 -107
- package/dist/cli-tui/info-view.js.map +0 -1
- package/dist/cli-tui/instruction-panel.d.ts +0 -11
- package/dist/cli-tui/instruction-panel.d.ts.map +0 -1
- package/dist/cli-tui/instruction-panel.js +0 -86
- package/dist/cli-tui/instruction-panel.js.map +0 -1
- package/dist/cli-tui/interrupt-controller.d.ts +0 -78
- package/dist/cli-tui/interrupt-controller.d.ts.map +0 -1
- package/dist/cli-tui/interrupt-controller.js +0 -104
- package/dist/cli-tui/interrupt-controller.js.map +0 -1
- package/dist/cli-tui/keybindings-config.d.ts +0 -27
- package/dist/cli-tui/keybindings-config.d.ts.map +0 -1
- package/dist/cli-tui/keybindings-config.js +0 -372
- package/dist/cli-tui/keybindings-config.js.map +0 -1
- package/dist/cli-tui/keybindings-watcher.d.ts +0 -8
- package/dist/cli-tui/keybindings-watcher.d.ts.map +0 -1
- package/dist/cli-tui/keybindings-watcher.js +0 -56
- package/dist/cli-tui/keybindings-watcher.js.map +0 -1
- package/dist/cli-tui/keybindings.d.ts +0 -13
- package/dist/cli-tui/keybindings.d.ts.map +0 -1
- package/dist/cli-tui/keybindings.js +0 -223
- package/dist/cli-tui/keybindings.js.map +0 -1
- package/dist/cli-tui/loader/loader-stage-manager.d.ts +0 -43
- package/dist/cli-tui/loader/loader-stage-manager.d.ts.map +0 -1
- package/dist/cli-tui/loader/loader-stage-manager.js +0 -241
- package/dist/cli-tui/loader/loader-stage-manager.js.map +0 -1
- package/dist/cli-tui/loader/loader-stage-telemetry.d.ts +0 -14
- package/dist/cli-tui/loader/loader-stage-telemetry.d.ts.map +0 -1
- package/dist/cli-tui/loader/loader-stage-telemetry.js +0 -34
- package/dist/cli-tui/loader/loader-stage-telemetry.js.map +0 -1
- package/dist/cli-tui/loader/loader-view.d.ts +0 -41
- package/dist/cli-tui/loader/loader-view.d.ts.map +0 -1
- package/dist/cli-tui/loader/loader-view.js +0 -162
- package/dist/cli-tui/loader/loader-view.js.map +0 -1
- package/dist/cli-tui/lsp-view.d.ts +0 -21
- package/dist/cli-tui/lsp-view.d.ts.map +0 -1
- package/dist/cli-tui/lsp-view.js +0 -183
- package/dist/cli-tui/lsp-view.js.map +0 -1
- package/dist/cli-tui/mermaid-renderer.d.ts +0 -2
- package/dist/cli-tui/mermaid-renderer.d.ts.map +0 -1
- package/dist/cli-tui/mermaid-renderer.js +0 -391
- package/dist/cli-tui/mermaid-renderer.js.map +0 -1
- package/dist/cli-tui/message-view.d.ts +0 -27
- package/dist/cli-tui/message-view.d.ts.map +0 -1
- package/dist/cli-tui/message-view.js +0 -169
- package/dist/cli-tui/message-view.js.map +0 -1
- package/dist/cli-tui/modal-manager.d.ts +0 -77
- package/dist/cli-tui/modal-manager.d.ts.map +0 -1
- package/dist/cli-tui/modal-manager.js +0 -131
- package/dist/cli-tui/modal-manager.js.map +0 -1
- package/dist/cli-tui/notification-view.d.ts +0 -16
- package/dist/cli-tui/notification-view.d.ts.map +0 -1
- package/dist/cli-tui/notification-view.js +0 -53
- package/dist/cli-tui/notification-view.js.map +0 -1
- package/dist/cli-tui/oauth/index.d.ts +0 -2
- package/dist/cli-tui/oauth/index.d.ts.map +0 -1
- package/dist/cli-tui/oauth/index.js +0 -2
- package/dist/cli-tui/oauth/index.js.map +0 -1
- package/dist/cli-tui/oauth/oauth-flow-controller.d.ts +0 -65
- package/dist/cli-tui/oauth/oauth-flow-controller.d.ts.map +0 -1
- package/dist/cli-tui/oauth/oauth-flow-controller.js +0 -400
- package/dist/cli-tui/oauth/oauth-flow-controller.js.map +0 -1
- package/dist/cli-tui/ollama-view.d.ts +0 -38
- package/dist/cli-tui/ollama-view.d.ts.map +0 -1
- package/dist/cli-tui/ollama-view.js +0 -395
- package/dist/cli-tui/ollama-view.js.map +0 -1
- package/dist/cli-tui/paste/index.d.ts +0 -2
- package/dist/cli-tui/paste/index.d.ts.map +0 -1
- package/dist/cli-tui/paste/index.js +0 -2
- package/dist/cli-tui/paste/index.js.map +0 -1
- package/dist/cli-tui/paste/paste-handler.d.ts +0 -54
- package/dist/cli-tui/paste/paste-handler.d.ts.map +0 -1
- package/dist/cli-tui/paste/paste-handler.js +0 -128
- package/dist/cli-tui/paste/paste-handler.js.map +0 -1
- package/dist/cli-tui/plan/plan-controller.d.ts +0 -28
- package/dist/cli-tui/plan/plan-controller.d.ts.map +0 -1
- package/dist/cli-tui/plan/plan-controller.js +0 -66
- package/dist/cli-tui/plan/plan-controller.js.map +0 -1
- package/dist/cli-tui/plan-panel-modal.d.ts +0 -28
- package/dist/cli-tui/plan-panel-modal.d.ts.map +0 -1
- package/dist/cli-tui/plan-panel-modal.js +0 -193
- package/dist/cli-tui/plan-panel-modal.js.map +0 -1
- package/dist/cli-tui/plan-view.d.ts +0 -57
- package/dist/cli-tui/plan-view.d.ts.map +0 -1
- package/dist/cli-tui/plan-view.js +0 -404
- package/dist/cli-tui/plan-view.js.map +0 -1
- package/dist/cli-tui/prompt-queue.d.ts.map +0 -1
- package/dist/cli-tui/prompt-queue.js.map +0 -1
- package/dist/cli-tui/queue/follow-up-shortcut.d.ts +0 -6
- package/dist/cli-tui/queue/follow-up-shortcut.d.ts.map +0 -1
- package/dist/cli-tui/queue/follow-up-shortcut.js +0 -12
- package/dist/cli-tui/queue/follow-up-shortcut.js.map +0 -1
- package/dist/cli-tui/queue/index.d.ts +0 -3
- package/dist/cli-tui/queue/index.d.ts.map +0 -1
- package/dist/cli-tui/queue/index.js +0 -3
- package/dist/cli-tui/queue/index.js.map +0 -1
- package/dist/cli-tui/queue/queue-controller.d.ts +0 -109
- package/dist/cli-tui/queue/queue-controller.d.ts.map +0 -1
- package/dist/cli-tui/queue/queue-controller.js +0 -327
- package/dist/cli-tui/queue/queue-controller.js.map +0 -1
- package/dist/cli-tui/queue/queue-panel-controller.d.ts +0 -34
- package/dist/cli-tui/queue/queue-panel-controller.d.ts.map +0 -1
- package/dist/cli-tui/queue/queue-panel-controller.js +0 -163
- package/dist/cli-tui/queue/queue-panel-controller.js.map +0 -1
- package/dist/cli-tui/queue/queued-follow-up-edit-binding.d.ts +0 -7
- package/dist/cli-tui/queue/queued-follow-up-edit-binding.d.ts.map +0 -1
- package/dist/cli-tui/queue/queued-follow-up-edit-binding.js +0 -14
- package/dist/cli-tui/queue/queued-follow-up-edit-binding.js.map +0 -1
- package/dist/cli-tui/queue-panel-modal.d.ts +0 -26
- package/dist/cli-tui/queue-panel-modal.d.ts.map +0 -1
- package/dist/cli-tui/queue-panel-modal.js +0 -159
- package/dist/cli-tui/queue-panel-modal.js.map +0 -1
- package/dist/cli-tui/run/run-command-view.d.ts +0 -17
- package/dist/cli-tui/run/run-command-view.d.ts.map +0 -1
- package/dist/cli-tui/run/run-command-view.js +0 -62
- package/dist/cli-tui/run/run-command-view.js.map +0 -1
- package/dist/cli-tui/run/run-controller.d.ts +0 -24
- package/dist/cli-tui/run/run-controller.d.ts.map +0 -1
- package/dist/cli-tui/run/run-controller.js +0 -38
- package/dist/cli-tui/run/run-controller.js.map +0 -1
- package/dist/cli-tui/run/run-shell-command.d.ts +0 -13
- package/dist/cli-tui/run/run-shell-command.d.ts.map +0 -1
- package/dist/cli-tui/run/run-shell-command.js +0 -51
- package/dist/cli-tui/run/run-shell-command.js.map +0 -1
- package/dist/cli-tui/run/streaming-shell-command.d.ts +0 -19
- package/dist/cli-tui/run/streaming-shell-command.d.ts.map +0 -1
- package/dist/cli-tui/run/streaming-shell-command.js +0 -107
- package/dist/cli-tui/run/streaming-shell-command.js.map +0 -1
- package/dist/cli-tui/search/file-search-view.d.ts +0 -22
- package/dist/cli-tui/search/file-search-view.d.ts.map +0 -1
- package/dist/cli-tui/search/file-search-view.js +0 -68
- package/dist/cli-tui/search/file-search-view.js.map +0 -1
- package/dist/cli-tui/search/file-search.d.ts +0 -13
- package/dist/cli-tui/search/file-search.d.ts.map +0 -1
- package/dist/cli-tui/search/file-search.js +0 -52
- package/dist/cli-tui/search/file-search.js.map +0 -1
- package/dist/cli-tui/security-status.d.ts +0 -83
- package/dist/cli-tui/security-status.d.ts.map +0 -1
- package/dist/cli-tui/security-status.js +0 -214
- package/dist/cli-tui/security-status.js.map +0 -1
- package/dist/cli-tui/selectors/base-selector.d.ts +0 -27
- package/dist/cli-tui/selectors/base-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/base-selector.js +0 -47
- package/dist/cli-tui/selectors/base-selector.js.map +0 -1
- package/dist/cli-tui/selectors/branch-summary-modal.d.ts +0 -18
- package/dist/cli-tui/selectors/branch-summary-modal.d.ts.map +0 -1
- package/dist/cli-tui/selectors/branch-summary-modal.js +0 -24
- package/dist/cli-tui/selectors/branch-summary-modal.js.map +0 -1
- package/dist/cli-tui/selectors/model-selector-view.d.ts +0 -22
- package/dist/cli-tui/selectors/model-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/model-selector-view.js +0 -31
- package/dist/cli-tui/selectors/model-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/model-selector.d.ts +0 -30
- package/dist/cli-tui/selectors/model-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/model-selector.js +0 -218
- package/dist/cli-tui/selectors/model-selector.js.map +0 -1
- package/dist/cli-tui/selectors/oauth-selector-view.d.ts +0 -20
- package/dist/cli-tui/selectors/oauth-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/oauth-selector-view.js +0 -28
- package/dist/cli-tui/selectors/oauth-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/oauth-selector.d.ts +0 -19
- package/dist/cli-tui/selectors/oauth-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/oauth-selector.js +0 -120
- package/dist/cli-tui/selectors/oauth-selector.js.map +0 -1
- package/dist/cli-tui/selectors/queue-mode-selector-view.d.ts +0 -19
- package/dist/cli-tui/selectors/queue-mode-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/queue-mode-selector-view.js +0 -29
- package/dist/cli-tui/selectors/queue-mode-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/queue-mode-selector.d.ts +0 -5
- package/dist/cli-tui/selectors/queue-mode-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/queue-mode-selector.js +0 -34
- package/dist/cli-tui/selectors/queue-mode-selector.js.map +0 -1
- package/dist/cli-tui/selectors/report-selector-view.d.ts +0 -17
- package/dist/cli-tui/selectors/report-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/report-selector-view.js +0 -29
- package/dist/cli-tui/selectors/report-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/report-selector.d.ts +0 -7
- package/dist/cli-tui/selectors/report-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/report-selector.js +0 -31
- package/dist/cli-tui/selectors/report-selector.js.map +0 -1
- package/dist/cli-tui/selectors/theme-selector-view.d.ts +0 -19
- package/dist/cli-tui/selectors/theme-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/theme-selector-view.js +0 -41
- package/dist/cli-tui/selectors/theme-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/theme-selector.d.ts +0 -14
- package/dist/cli-tui/selectors/theme-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/theme-selector.js +0 -46
- package/dist/cli-tui/selectors/theme-selector.js.map +0 -1
- package/dist/cli-tui/selectors/thinking-selector-view.d.ts +0 -20
- package/dist/cli-tui/selectors/thinking-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/thinking-selector-view.js +0 -31
- package/dist/cli-tui/selectors/thinking-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/thinking-selector.d.ts +0 -9
- package/dist/cli-tui/selectors/thinking-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/thinking-selector.js +0 -47
- package/dist/cli-tui/selectors/thinking-selector.js.map +0 -1
- package/dist/cli-tui/selectors/tree-selector-view.d.ts +0 -32
- package/dist/cli-tui/selectors/tree-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/tree-selector-view.js +0 -407
- package/dist/cli-tui/selectors/tree-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/tree-selector.d.ts +0 -27
- package/dist/cli-tui/selectors/tree-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/tree-selector.js +0 -194
- package/dist/cli-tui/selectors/tree-selector.js.map +0 -1
- package/dist/cli-tui/selectors/user-message-selector-view.d.ts +0 -25
- package/dist/cli-tui/selectors/user-message-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/user-message-selector-view.js +0 -101
- package/dist/cli-tui/selectors/user-message-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/user-message-selector.d.ts +0 -30
- package/dist/cli-tui/selectors/user-message-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/user-message-selector.js +0 -114
- package/dist/cli-tui/selectors/user-message-selector.js.map +0 -1
- package/dist/cli-tui/session/branch-controller.d.ts +0 -65
- package/dist/cli-tui/session/branch-controller.d.ts.map +0 -1
- package/dist/cli-tui/session/branch-controller.js +0 -125
- package/dist/cli-tui/session/branch-controller.js.map +0 -1
- package/dist/cli-tui/session/conversation-compactor.d.ts +0 -64
- package/dist/cli-tui/session/conversation-compactor.d.ts.map +0 -1
- package/dist/cli-tui/session/conversation-compactor.js +0 -77
- package/dist/cli-tui/session/conversation-compactor.js.map +0 -1
- package/dist/cli-tui/session/session-context.d.ts +0 -59
- package/dist/cli-tui/session/session-context.d.ts.map +0 -1
- package/dist/cli-tui/session/session-context.js +0 -79
- package/dist/cli-tui/session/session-context.js.map +0 -1
- package/dist/cli-tui/session/session-data-provider.d.ts +0 -23
- package/dist/cli-tui/session/session-data-provider.d.ts.map +0 -1
- package/dist/cli-tui/session/session-data-provider.js +0 -22
- package/dist/cli-tui/session/session-data-provider.js.map +0 -1
- package/dist/cli-tui/session/session-list.d.ts +0 -18
- package/dist/cli-tui/session/session-list.d.ts.map +0 -1
- package/dist/cli-tui/session/session-list.js +0 -103
- package/dist/cli-tui/session/session-list.js.map +0 -1
- package/dist/cli-tui/session/session-selector.d.ts +0 -12
- package/dist/cli-tui/session/session-selector.d.ts.map +0 -1
- package/dist/cli-tui/session/session-selector.js +0 -37
- package/dist/cli-tui/session/session-selector.js.map +0 -1
- package/dist/cli-tui/session/session-summary-controller.d.ts +0 -24
- package/dist/cli-tui/session/session-summary-controller.d.ts.map +0 -1
- package/dist/cli-tui/session/session-summary-controller.js +0 -96
- package/dist/cli-tui/session/session-summary-controller.js.map +0 -1
- package/dist/cli-tui/session/session-switcher-view.d.ts +0 -20
- package/dist/cli-tui/session/session-switcher-view.d.ts.map +0 -1
- package/dist/cli-tui/session/session-switcher-view.js +0 -43
- package/dist/cli-tui/session/session-switcher-view.js.map +0 -1
- package/dist/cli-tui/session/session-switcher.d.ts +0 -38
- package/dist/cli-tui/session/session-switcher.d.ts.map +0 -1
- package/dist/cli-tui/session/session-switcher.js +0 -204
- package/dist/cli-tui/session/session-switcher.js.map +0 -1
- package/dist/cli-tui/session/session-view.d.ts +0 -46
- package/dist/cli-tui/session/session-view.d.ts.map +0 -1
- package/dist/cli-tui/session/session-view.js +0 -311
- package/dist/cli-tui/session/session-view.js.map +0 -1
- package/dist/cli-tui/slash/index.d.ts +0 -2
- package/dist/cli-tui/slash/index.d.ts.map +0 -1
- package/dist/cli-tui/slash/index.js +0 -2
- package/dist/cli-tui/slash/index.js.map +0 -1
- package/dist/cli-tui/slash/slash-command-matcher.d.ts +0 -55
- package/dist/cli-tui/slash/slash-command-matcher.d.ts.map +0 -1
- package/dist/cli-tui/slash/slash-command-matcher.js +0 -113
- package/dist/cli-tui/slash/slash-command-matcher.js.map +0 -1
- package/dist/cli-tui/smart-autocomplete-provider.d.ts +0 -5
- package/dist/cli-tui/smart-autocomplete-provider.d.ts.map +0 -1
- package/dist/cli-tui/smart-autocomplete-provider.js +0 -44
- package/dist/cli-tui/smart-autocomplete-provider.js.map +0 -1
- package/dist/cli-tui/startup-announcements.d.ts +0 -15
- package/dist/cli-tui/startup-announcements.d.ts.map +0 -1
- package/dist/cli-tui/startup-announcements.js +0 -75
- package/dist/cli-tui/startup-announcements.js.map +0 -1
- package/dist/cli-tui/status/cost-view.d.ts +0 -27
- package/dist/cli-tui/status/cost-view.d.ts.map +0 -1
- package/dist/cli-tui/status/cost-view.js +0 -212
- package/dist/cli-tui/status/cost-view.js.map +0 -1
- package/dist/cli-tui/status/diagnostics-templates.d.ts +0 -34
- package/dist/cli-tui/status/diagnostics-templates.d.ts.map +0 -1
- package/dist/cli-tui/status/diagnostics-templates.js +0 -167
- package/dist/cli-tui/status/diagnostics-templates.js.map +0 -1
- package/dist/cli-tui/status/diagnostics-view.d.ts +0 -48
- package/dist/cli-tui/status/diagnostics-view.d.ts.map +0 -1
- package/dist/cli-tui/status/diagnostics-view.js +0 -249
- package/dist/cli-tui/status/diagnostics-view.js.map +0 -1
- package/dist/cli-tui/status/diagnostics.d.ts +0 -39
- package/dist/cli-tui/status/diagnostics.d.ts.map +0 -1
- package/dist/cli-tui/status/diagnostics.js +0 -286
- package/dist/cli-tui/status/diagnostics.js.map +0 -1
- package/dist/cli-tui/status/health-snapshot.d.ts +0 -17
- package/dist/cli-tui/status/health-snapshot.d.ts.map +0 -1
- package/dist/cli-tui/status/health-snapshot.js +0 -28
- package/dist/cli-tui/status/health-snapshot.js.map +0 -1
- package/dist/cli-tui/status/quota-view.d.ts +0 -37
- package/dist/cli-tui/status/quota-view.d.ts.map +0 -1
- package/dist/cli-tui/status/quota-view.js +0 -309
- package/dist/cli-tui/status/quota-view.js.map +0 -1
- package/dist/cli-tui/status/telemetry-view.d.ts +0 -23
- package/dist/cli-tui/status/telemetry-view.d.ts.map +0 -1
- package/dist/cli-tui/status/telemetry-view.js +0 -77
- package/dist/cli-tui/status/telemetry-view.js.map +0 -1
- package/dist/cli-tui/status/training-view.d.ts +0 -23
- package/dist/cli-tui/status/training-view.d.ts.map +0 -1
- package/dist/cli-tui/status/training-view.js +0 -71
- package/dist/cli-tui/status/training-view.js.map +0 -1
- package/dist/cli-tui/streaming-view.d.ts +0 -43
- package/dist/cli-tui/streaming-view.d.ts.map +0 -1
- package/dist/cli-tui/streaming-view.js +0 -176
- package/dist/cli-tui/streaming-view.js.map +0 -1
- package/dist/cli-tui/terminal/index.d.ts +0 -2
- package/dist/cli-tui/terminal/index.d.ts.map +0 -1
- package/dist/cli-tui/terminal/index.js +0 -2
- package/dist/cli-tui/terminal/index.js.map +0 -1
- package/dist/cli-tui/terminal/terminal-utils.d.ts +0 -44
- package/dist/cli-tui/terminal/terminal-utils.d.ts.map +0 -1
- package/dist/cli-tui/terminal/terminal-utils.js +0 -145
- package/dist/cli-tui/terminal/terminal-utils.js.map +0 -1
- package/dist/cli-tui/tips/tip-scheduler.d.ts +0 -19
- package/dist/cli-tui/tips/tip-scheduler.d.ts.map +0 -1
- package/dist/cli-tui/tips/tip-scheduler.js +0 -135
- package/dist/cli-tui/tips/tip-scheduler.js.map +0 -1
- package/dist/cli-tui/tool-execution.d.ts +0 -76
- package/dist/cli-tui/tool-execution.d.ts.map +0 -1
- package/dist/cli-tui/tool-execution.js +0 -217
- package/dist/cli-tui/tool-execution.js.map +0 -1
- package/dist/cli-tui/tool-output-view.d.ts +0 -22
- package/dist/cli-tui/tool-output-view.d.ts.map +0 -1
- package/dist/cli-tui/tool-output-view.js +0 -71
- package/dist/cli-tui/tool-output-view.js.map +0 -1
- package/dist/cli-tui/tool-renderers/index.d.ts +0 -4
- package/dist/cli-tui/tool-renderers/index.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/index.js +0 -19
- package/dist/cli-tui/tool-renderers/index.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-bash.d.ts +0 -6
- package/dist/cli-tui/tool-renderers/render-bash.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-bash.js +0 -90
- package/dist/cli-tui/tool-renderers/render-bash.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-batch.d.ts +0 -12
- package/dist/cli-tui/tool-renderers/render-batch.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-batch.js +0 -133
- package/dist/cli-tui/tool-renderers/render-batch.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-edit.d.ts +0 -6
- package/dist/cli-tui/tool-renderers/render-edit.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-edit.js +0 -125
- package/dist/cli-tui/tool-renderers/render-edit.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-generic.d.ts +0 -6
- package/dist/cli-tui/tool-renderers/render-generic.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-generic.js +0 -66
- package/dist/cli-tui/tool-renderers/render-generic.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-read.d.ts +0 -9
- package/dist/cli-tui/tool-renderers/render-read.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-read.js +0 -108
- package/dist/cli-tui/tool-renderers/render-read.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-style.d.ts +0 -21
- package/dist/cli-tui/tool-renderers/render-style.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-style.js +0 -51
- package/dist/cli-tui/tool-renderers/render-style.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-write.d.ts +0 -5
- package/dist/cli-tui/tool-renderers/render-write.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-write.js +0 -60
- package/dist/cli-tui/tool-renderers/render-write.js.map +0 -1
- package/dist/cli-tui/tool-renderers/types.d.ts +0 -20
- package/dist/cli-tui/tool-renderers/types.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/types.js +0 -2
- package/dist/cli-tui/tool-renderers/types.js.map +0 -1
- package/dist/cli-tui/tool-retry/tool-retry-controller.d.ts +0 -29
- package/dist/cli-tui/tool-retry/tool-retry-controller.d.ts.map +0 -1
- package/dist/cli-tui/tool-retry/tool-retry-controller.js +0 -110
- package/dist/cli-tui/tool-retry/tool-retry-controller.js.map +0 -1
- package/dist/cli-tui/tool-retry/tool-retry-modal.d.ts +0 -27
- package/dist/cli-tui/tool-retry/tool-retry-modal.d.ts.map +0 -1
- package/dist/cli-tui/tool-retry/tool-retry-modal.js +0 -118
- package/dist/cli-tui/tool-retry/tool-retry-modal.js.map +0 -1
- package/dist/cli-tui/tool-status-view.d.ts +0 -32
- package/dist/cli-tui/tool-status-view.d.ts.map +0 -1
- package/dist/cli-tui/tool-status-view.js +0 -86
- package/dist/cli-tui/tool-status-view.js.map +0 -1
- package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts +0 -59
- package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/agent-event-bridge.js +0 -129
- package/dist/cli-tui/tui-renderer/agent-event-bridge.js.map +0 -1
- package/dist/cli-tui/tui-renderer/approval-setup.d.ts +0 -13
- package/dist/cli-tui/tui-renderer/approval-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/approval-setup.js +0 -5
- package/dist/cli-tui/tui-renderer/approval-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/attachment-controller.d.ts +0 -54
- package/dist/cli-tui/tui-renderer/attachment-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/attachment-controller.js +0 -160
- package/dist/cli-tui/tui-renderer/attachment-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/background-tasks-setup.d.ts +0 -9
- package/dist/cli-tui/tui-renderer/background-tasks-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/background-tasks-setup.js +0 -7
- package/dist/cli-tui/tui-renderer/background-tasks-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/branch-controller.d.ts +0 -41
- package/dist/cli-tui/tui-renderer/branch-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/branch-controller.js +0 -102
- package/dist/cli-tui/tui-renderer/branch-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/clear-controller.d.ts +0 -75
- package/dist/cli-tui/tui-renderer/clear-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/clear-controller.js +0 -75
- package/dist/cli-tui/tui-renderer/clear-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/client-tools-setup.d.ts +0 -14
- package/dist/cli-tui/tui-renderer/client-tools-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/client-tools-setup.js +0 -5
- package/dist/cli-tui/tui-renderer/client-tools-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/command-registry-options.d.ts +0 -111
- package/dist/cli-tui/tui-renderer/command-registry-options.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/command-registry-options.js +0 -163
- package/dist/cli-tui/tui-renderer/command-registry-options.js.map +0 -1
- package/dist/cli-tui/tui-renderer/command-registry.d.ts +0 -16
- package/dist/cli-tui/tui-renderer/command-registry.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/command-registry.js +0 -23
- package/dist/cli-tui/tui-renderer/command-registry.js.map +0 -1
- package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts +0 -29
- package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/command-suite-wiring.js +0 -108
- package/dist/cli-tui/tui-renderer/command-suite-wiring.js.map +0 -1
- package/dist/cli-tui/tui-renderer/compaction-controller.d.ts +0 -100
- package/dist/cli-tui/tui-renderer/compaction-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/compaction-controller.js +0 -160
- package/dist/cli-tui/tui-renderer/compaction-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/custom-commands-controller.d.ts +0 -42
- package/dist/cli-tui/tui-renderer/custom-commands-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/custom-commands-controller.js +0 -106
- package/dist/cli-tui/tui-renderer/custom-commands-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/delegating-command-handlers.d.ts +0 -37
- package/dist/cli-tui/tui-renderer/delegating-command-handlers.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/delegating-command-handlers.js +0 -139
- package/dist/cli-tui/tui-renderer/delegating-command-handlers.js.map +0 -1
- package/dist/cli-tui/tui-renderer/editor-bindings.d.ts +0 -21
- package/dist/cli-tui/tui-renderer/editor-bindings.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/editor-bindings.js +0 -76
- package/dist/cli-tui/tui-renderer/editor-bindings.js.map +0 -1
- package/dist/cli-tui/tui-renderer/footer-hints-controller.d.ts +0 -90
- package/dist/cli-tui/tui-renderer/footer-hints-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/footer-hints-controller.js +0 -152
- package/dist/cli-tui/tui-renderer/footer-hints-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/history-controller.d.ts +0 -35
- package/dist/cli-tui/tui-renderer/history-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/history-controller.js +0 -153
- package/dist/cli-tui/tui-renderer/history-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/hook-ui-controller.d.ts +0 -83
- package/dist/cli-tui/tui-renderer/hook-ui-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/hook-ui-controller.js +0 -309
- package/dist/cli-tui/tui-renderer/hook-ui-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/initial-preferences.d.ts +0 -19
- package/dist/cli-tui/tui-renderer/initial-preferences.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/initial-preferences.js +0 -54
- package/dist/cli-tui/tui-renderer/initial-preferences.js.map +0 -1
- package/dist/cli-tui/tui-renderer/input-controller.d.ts +0 -56
- package/dist/cli-tui/tui-renderer/input-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/input-controller.js +0 -104
- package/dist/cli-tui/tui-renderer/input-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/interrupt-setup.d.ts +0 -19
- package/dist/cli-tui/tui-renderer/interrupt-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/interrupt-setup.js +0 -18
- package/dist/cli-tui/tui-renderer/interrupt-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/loader-setup.d.ts +0 -14
- package/dist/cli-tui/tui-renderer/loader-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/loader-setup.js +0 -13
- package/dist/cli-tui/tui-renderer/loader-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/mcp-events-setup.d.ts +0 -55
- package/dist/cli-tui/tui-renderer/mcp-events-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/mcp-events-setup.js +0 -143
- package/dist/cli-tui/tui-renderer/mcp-events-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/misc-handlers.d.ts +0 -59
- package/dist/cli-tui/tui-renderer/misc-handlers.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/misc-handlers.js +0 -143
- package/dist/cli-tui/tui-renderer/misc-handlers.js.map +0 -1
- package/dist/cli-tui/tui-renderer/oauth-setup.d.ts +0 -14
- package/dist/cli-tui/tui-renderer/oauth-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/oauth-setup.js +0 -26
- package/dist/cli-tui/tui-renderer/oauth-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/plan-setup.d.ts +0 -19
- package/dist/cli-tui/tui-renderer/plan-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/plan-setup.js +0 -23
- package/dist/cli-tui/tui-renderer/plan-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.d.ts +0 -21
- package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.js +0 -64
- package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.js.map +0 -1
- package/dist/cli-tui/tui-renderer/queue-setup.d.ts +0 -18
- package/dist/cli-tui/tui-renderer/queue-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/queue-setup.js +0 -42
- package/dist/cli-tui/tui-renderer/queue-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/quick-settings-controller.d.ts +0 -53
- package/dist/cli-tui/tui-renderer/quick-settings-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/quick-settings-controller.js +0 -100
- package/dist/cli-tui/tui-renderer/quick-settings-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/session-setup.d.ts +0 -31
- package/dist/cli-tui/tui-renderer/session-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/session-setup.js +0 -45
- package/dist/cli-tui/tui-renderer/session-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/session-state-controller.d.ts +0 -66
- package/dist/cli-tui/tui-renderer/session-state-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/session-state-controller.js +0 -139
- package/dist/cli-tui/tui-renderer/session-state-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/skills-controller.d.ts +0 -70
- package/dist/cli-tui/tui-renderer/skills-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/skills-controller.js +0 -411
- package/dist/cli-tui/tui-renderer/skills-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/slash-hint-controller.d.ts +0 -90
- package/dist/cli-tui/tui-renderer/slash-hint-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/slash-hint-controller.js +0 -131
- package/dist/cli-tui/tui-renderer/slash-hint-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/tool-retry-setup.d.ts +0 -13
- package/dist/cli-tui/tui-renderer/tool-retry-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/tool-retry-setup.js +0 -5
- package/dist/cli-tui/tui-renderer/tool-retry-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/tooling-views-setup.d.ts +0 -38
- package/dist/cli-tui/tui-renderer/tooling-views-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/tooling-views-setup.js +0 -48
- package/dist/cli-tui/tui-renderer/tooling-views-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts +0 -70
- package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/ui-state-controller.js +0 -184
- package/dist/cli-tui/tui-renderer/ui-state-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/ui-state-setup.d.ts +0 -13
- package/dist/cli-tui/tui-renderer/ui-state-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/ui-state-setup.js +0 -11
- package/dist/cli-tui/tui-renderer/ui-state-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/utility-views-setup.d.ts +0 -26
- package/dist/cli-tui/tui-renderer/utility-views-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/utility-views-setup.js +0 -23
- package/dist/cli-tui/tui-renderer/utility-views-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/viewport-controller.d.ts +0 -33
- package/dist/cli-tui/tui-renderer/viewport-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/viewport-controller.js +0 -98
- package/dist/cli-tui/tui-renderer/viewport-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer.d.ts +0 -268
- package/dist/cli-tui/tui-renderer.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer.js +0 -2131
- package/dist/cli-tui/tui-renderer.js.map +0 -1
- package/dist/cli-tui/ui-state.d.ts +0 -27
- package/dist/cli-tui/ui-state.d.ts.map +0 -1
- package/dist/cli-tui/ui-state.js +0 -88
- package/dist/cli-tui/ui-state.js.map +0 -1
- package/dist/cli-tui/update-view.d.ts +0 -16
- package/dist/cli-tui/update-view.d.ts.map +0 -1
- package/dist/cli-tui/update-view.js +0 -45
- package/dist/cli-tui/update-view.js.map +0 -1
- package/dist/cli-tui/user-message.d.ts +0 -17
- package/dist/cli-tui/user-message.d.ts.map +0 -1
- package/dist/cli-tui/user-message.js +0 -83
- package/dist/cli-tui/user-message.js.map +0 -1
- package/dist/cli-tui/utils/borders.d.ts +0 -131
- package/dist/cli-tui/utils/borders.d.ts.map +0 -1
- package/dist/cli-tui/utils/borders.js +0 -254
- package/dist/cli-tui/utils/borders.js.map +0 -1
- package/dist/cli-tui/utils/commands/command-palette-view.d.ts +0 -22
- package/dist/cli-tui/utils/commands/command-palette-view.d.ts.map +0 -1
- package/dist/cli-tui/utils/commands/command-palette-view.js +0 -31
- package/dist/cli-tui/utils/commands/command-palette-view.js.map +0 -1
- package/dist/cli-tui/utils/commands/command-palette.d.ts +0 -29
- package/dist/cli-tui/utils/commands/command-palette.d.ts.map +0 -1
- package/dist/cli-tui/utils/commands/command-palette.js +0 -213
- package/dist/cli-tui/utils/commands/command-palette.js.map +0 -1
- package/dist/cli-tui/utils/commands/command-registry-builder.d.ts +0 -8
- package/dist/cli-tui/utils/commands/command-registry-builder.d.ts.map +0 -1
- package/dist/cli-tui/utils/commands/command-registry-builder.js +0 -9
- package/dist/cli-tui/utils/commands/command-registry-builder.js.map +0 -1
- package/dist/cli-tui/utils/commands/review-prompt.d.ts +0 -10
- package/dist/cli-tui/utils/commands/review-prompt.d.ts.map +0 -1
- package/dist/cli-tui/utils/commands/review-prompt.js +0 -90
- package/dist/cli-tui/utils/commands/review-prompt.js.map +0 -1
- package/dist/cli-tui/utils/commands/slash-hint-bar.d.ts +0 -15
- package/dist/cli-tui/utils/commands/slash-hint-bar.d.ts.map +0 -1
- package/dist/cli-tui/utils/commands/slash-hint-bar.js +0 -106
- package/dist/cli-tui/utils/commands/slash-hint-bar.js.map +0 -1
- package/dist/cli-tui/utils/env-detect.d.ts +0 -11
- package/dist/cli-tui/utils/env-detect.d.ts.map +0 -1
- package/dist/cli-tui/utils/env-detect.js +0 -107
- package/dist/cli-tui/utils/env-detect.js.map +0 -1
- package/dist/cli-tui/utils/external-editor.d.ts +0 -7
- package/dist/cli-tui/utils/external-editor.d.ts.map +0 -1
- package/dist/cli-tui/utils/external-editor.js +0 -53
- package/dist/cli-tui/utils/external-editor.js.map +0 -1
- package/dist/cli-tui/utils/footer-utils.d.ts +0 -169
- package/dist/cli-tui/utils/footer-utils.d.ts.map +0 -1
- package/dist/cli-tui/utils/footer-utils.js +0 -716
- package/dist/cli-tui/utils/footer-utils.js.map +0 -1
- package/dist/cli-tui/utils/footer-visual-widgets.d.ts +0 -38
- package/dist/cli-tui/utils/footer-visual-widgets.d.ts.map +0 -1
- package/dist/cli-tui/utils/footer-visual-widgets.js +0 -141
- package/dist/cli-tui/utils/footer-visual-widgets.js.map +0 -1
- package/dist/cli-tui/utils/git-branch-tracker.d.ts +0 -38
- package/dist/cli-tui/utils/git-branch-tracker.d.ts.map +0 -1
- package/dist/cli-tui/utils/git-branch-tracker.js +0 -90
- package/dist/cli-tui/utils/git-branch-tracker.js.map +0 -1
- package/dist/cli-tui/utils/glyphs.d.ts +0 -207
- package/dist/cli-tui/utils/glyphs.d.ts.map +0 -1
- package/dist/cli-tui/utils/glyphs.js +0 -249
- package/dist/cli-tui/utils/glyphs.js.map +0 -1
- package/dist/cli-tui/utils/layout.d.ts +0 -77
- package/dist/cli-tui/utils/layout.d.ts.map +0 -1
- package/dist/cli-tui/utils/layout.js +0 -83
- package/dist/cli-tui/utils/layout.js.map +0 -1
- package/dist/cli-tui/utils/links.d.ts +0 -2
- package/dist/cli-tui/utils/links.d.ts.map +0 -1
- package/dist/cli-tui/utils/links.js +0 -14
- package/dist/cli-tui/utils/links.js.map +0 -1
- package/dist/cli-tui/utils/motion.d.ts +0 -4
- package/dist/cli-tui/utils/motion.d.ts.map +0 -1
- package/dist/cli-tui/utils/motion.js +0 -28
- package/dist/cli-tui/utils/motion.js.map +0 -1
- package/dist/cli-tui/utils/runtime-badges.d.ts +0 -26
- package/dist/cli-tui/utils/runtime-badges.d.ts.map +0 -1
- package/dist/cli-tui/utils/runtime-badges.js +0 -178
- package/dist/cli-tui/utils/runtime-badges.js.map +0 -1
- package/dist/cli-tui/utils/shimmer.d.ts +0 -12
- package/dist/cli-tui/utils/shimmer.d.ts.map +0 -1
- package/dist/cli-tui/utils/shimmer.js +0 -57
- package/dist/cli-tui/utils/shimmer.js.map +0 -1
- package/dist/cli-tui/utils/stage-labels.d.ts +0 -9
- package/dist/cli-tui/utils/stage-labels.d.ts.map +0 -1
- package/dist/cli-tui/utils/stage-labels.js +0 -65
- package/dist/cli-tui/utils/stage-labels.js.map +0 -1
- package/dist/cli-tui/utils/text-formatting.d.ts +0 -13
- package/dist/cli-tui/utils/text-formatting.d.ts.map +0 -1
- package/dist/cli-tui/utils/text-formatting.js +0 -109
- package/dist/cli-tui/utils/text-formatting.js.map +0 -1
- package/dist/cli-tui/utils/text-preview.d.ts +0 -10
- package/dist/cli-tui/utils/text-preview.d.ts.map +0 -1
- package/dist/cli-tui/utils/text-preview.js +0 -26
- package/dist/cli-tui/utils/text-preview.js.map +0 -1
- package/dist/cli-tui/utils/tool-text-utils.d.ts +0 -42
- package/dist/cli-tui/utils/tool-text-utils.d.ts.map +0 -1
- package/dist/cli-tui/utils/tool-text-utils.js +0 -361
- package/dist/cli-tui/utils/tool-text-utils.js.map +0 -1
- package/dist/cli-tui/welcome-animation.d.ts +0 -24
- package/dist/cli-tui/welcome-animation.d.ts.map +0 -1
- package/dist/cli-tui/welcome-animation.js +0 -99
- package/dist/cli-tui/welcome-animation.js.map +0 -1
- package/dist/cli-tui/welcome-colors.d.ts +0 -3
- package/dist/cli-tui/welcome-colors.d.ts.map +0 -1
- package/dist/cli-tui/welcome-colors.js +0 -39
- package/dist/cli-tui/welcome-colors.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/autocomplete.d.ts +0 -304
- package/dist/node_modules/@evalops/tui/dist/autocomplete.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/autocomplete.js +0 -712
- package/dist/node_modules/@evalops/tui/dist/autocomplete.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/editor.d.ts +0 -185
- package/dist/node_modules/@evalops/tui/dist/components/editor.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/editor.js +0 -1460
- package/dist/node_modules/@evalops/tui/dist/components/editor.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/input.d.ts +0 -117
- package/dist/node_modules/@evalops/tui/dist/components/input.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/input.js +0 -391
- package/dist/node_modules/@evalops/tui/dist/components/input.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/layout.d.ts +0 -256
- package/dist/node_modules/@evalops/tui/dist/components/layout.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/layout.js +0 -478
- package/dist/node_modules/@evalops/tui/dist/components/layout.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/loader.d.ts +0 -199
- package/dist/node_modules/@evalops/tui/dist/components/loader.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/loader.js +0 -374
- package/dist/node_modules/@evalops/tui/dist/components/loader.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/markdown.d.ts +0 -65
- package/dist/node_modules/@evalops/tui/dist/components/markdown.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/markdown.js +0 -562
- package/dist/node_modules/@evalops/tui/dist/components/markdown.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/scroll-container.d.ts +0 -262
- package/dist/node_modules/@evalops/tui/dist/components/scroll-container.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/scroll-container.js +0 -575
- package/dist/node_modules/@evalops/tui/dist/components/scroll-container.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/select-list.d.ts +0 -131
- package/dist/node_modules/@evalops/tui/dist/components/select-list.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/select-list.js +0 -257
- package/dist/node_modules/@evalops/tui/dist/components/select-list.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/spacer.d.ts +0 -11
- package/dist/node_modules/@evalops/tui/dist/components/spacer.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/spacer.js +0 -19
- package/dist/node_modules/@evalops/tui/dist/components/spacer.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/status-bar.d.ts +0 -22
- package/dist/node_modules/@evalops/tui/dist/components/status-bar.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/status-bar.js +0 -44
- package/dist/node_modules/@evalops/tui/dist/components/status-bar.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/text.d.ts +0 -26
- package/dist/node_modules/@evalops/tui/dist/components/text.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/text.js +0 -181
- package/dist/node_modules/@evalops/tui/dist/components/text.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/truncated-text.d.ts +0 -15
- package/dist/node_modules/@evalops/tui/dist/components/truncated-text.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/truncated-text.js +0 -84
- package/dist/node_modules/@evalops/tui/dist/components/truncated-text.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/index.d.ts +0 -87
- package/dist/node_modules/@evalops/tui/dist/index.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/index.js +0 -85
- package/dist/node_modules/@evalops/tui/dist/index.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/keymap.d.ts +0 -189
- package/dist/node_modules/@evalops/tui/dist/keymap.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/keymap.js +0 -363
- package/dist/node_modules/@evalops/tui/dist/keymap.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.d.ts +0 -25
- package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.js +0 -828
- package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.d.ts +0 -40
- package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.js +0 -474
- package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/terminal.d.ts +0 -201
- package/dist/node_modules/@evalops/tui/dist/terminal.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/terminal.js +0 -241
- package/dist/node_modules/@evalops/tui/dist/terminal.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/tui.d.ts +0 -263
- package/dist/node_modules/@evalops/tui/dist/tui.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/tui.js +0 -694
- package/dist/node_modules/@evalops/tui/dist/tui.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.d.ts +0 -14
- package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.js +0 -44
- package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/utils.d.ts +0 -32
- package/dist/node_modules/@evalops/tui/dist/utils.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/utils.js +0 -556
- package/dist/node_modules/@evalops/tui/dist/utils.js.map +0 -1
- package/dist/node_modules/@evalops/tui/package.json +0 -58
- package/dist/skills/artifact-metadata.d.ts +0 -16
- package/dist/skills/artifact-metadata.d.ts.map +0 -1
- package/dist/skills/artifact-metadata.js +0 -86
- package/dist/skills/artifact-metadata.js.map +0 -1
- package/dist/skills/composer-diagnostics.d.ts +0 -69
- package/dist/skills/composer-diagnostics.d.ts.map +0 -1
- package/dist/skills/composer-diagnostics.js +0 -78
- package/dist/skills/composer-diagnostics.js.map +0 -1
- package/dist/skills/composer.d.ts +0 -19
- package/dist/skills/composer.d.ts.map +0 -1
- package/dist/skills/composer.js +0 -52
- package/dist/skills/composer.js.map +0 -1
- package/dist/skills/eval-harness.d.ts +0 -38
- package/dist/skills/eval-harness.d.ts.map +0 -1
- package/dist/skills/eval-harness.js +0 -112
- package/dist/skills/eval-harness.js.map +0 -1
- package/dist/skills/index.d.ts +0 -40
- package/dist/skills/index.d.ts.map +0 -1
- package/dist/skills/index.js +0 -40
- package/dist/skills/index.js.map +0 -1
- package/dist/skills/linter.d.ts +0 -36
- package/dist/skills/linter.d.ts.map +0 -1
- package/dist/skills/linter.js +0 -399
- package/dist/skills/linter.js.map +0 -1
- package/dist/skills/loader.d.ts +0 -252
- package/dist/skills/loader.d.ts.map +0 -1
- package/dist/skills/loader.js +0 -957
- package/dist/skills/loader.js.map +0 -1
- package/dist/skills/package-contract.d.ts +0 -45
- package/dist/skills/package-contract.d.ts.map +0 -1
- package/dist/skills/package-contract.js +0 -153
- package/dist/skills/package-contract.js.map +0 -1
- package/dist/skills/runtime-activation.d.ts +0 -68
- package/dist/skills/runtime-activation.d.ts.map +0 -1
- package/dist/skills/runtime-activation.js +0 -228
- package/dist/skills/runtime-activation.js.map +0 -1
- package/dist/skills/scaffold-from-template.d.ts +0 -58
- package/dist/skills/scaffold-from-template.d.ts.map +0 -1
- package/dist/skills/scaffold-from-template.js +0 -72
- package/dist/skills/scaffold-from-template.js.map +0 -1
- package/dist/skills/scaffolder.d.ts +0 -65
- package/dist/skills/scaffolder.d.ts.map +0 -1
- package/dist/skills/scaffolder.js +0 -167
- package/dist/skills/scaffolder.js.map +0 -1
- package/dist/skills/service-client.d.ts +0 -56
- package/dist/skills/service-client.d.ts.map +0 -1
- package/dist/skills/service-client.js +0 -266
- package/dist/skills/service-client.js.map +0 -1
- package/dist/skills/skill-templates.d.ts +0 -70
- package/dist/skills/skill-templates.d.ts.map +0 -1
- package/dist/skills/skill-templates.js +0 -154
- package/dist/skills/skill-templates.js.map +0 -1
- package/dist/skills/tool.d.ts +0 -21
- package/dist/skills/tool.d.ts.map +0 -1
- package/dist/skills/tool.js +0 -334
- package/dist/skills/tool.js.map +0 -1
- package/dist/skills/trust-cache.d.ts +0 -58
- package/dist/skills/trust-cache.d.ts.map +0 -1
- package/dist/skills/trust-cache.js +0 -130
- package/dist/skills/trust-cache.js.map +0 -1
- package/dist/skills/types.d.ts +0 -91
- package/dist/skills/types.d.ts.map +0 -1
- package/dist/skills/types.js +0 -8
- package/dist/skills/types.js.map +0 -1
- /package/dist/{cli-tui → runtime}/prompt-queue.d.ts +0 -0
- /package/dist/{cli-tui → runtime}/prompt-queue.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosted-agent-runtime-progress.js","sourceRoot":"","sources":["../../src/server/hosted-agent-runtime-progress.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from \"node:crypto\";\nimport type { SwarmEvent, SwarmTask } from \"../agent/swarm/types.js\";\nimport type { AgentEvent, AppMessage, Usage } from \"../agent/types.js\";\nimport {\n\tCODEX_SUBAGENT_TOOL_PREFIX,\n\tcanonicalCodexSubagentTool,\n\tcodexSubagentActiveStatus,\n\tcodexSubagentNextAction as codexSubagentContractNextAction,\n\tcodexSubagentOperationName,\n\tcodexSubagentTerminalSuccessStatus,\n} from \"../codex/subagent-workgraph.js\";\nimport {\n\tPlatformDelegationStatusValue,\n\tdelegateAgentWithPlatform,\n\tresolveAgentDelegationWithPlatform,\n} from \"../platform/agent-registry-client.js\";\nimport {\n\ttype PlatformAgentRunStep,\n\tPlatformAgentRunStepKindValue,\n\tPlatformAgentRunStepStateValue,\n\tPlatformAgentRunWaitTypeValue,\n\ttype PlatformAgentRuntimeRecordRunEventInput,\n\ttype PlatformAgentWorkItem,\n\tPlatformAgentWorkItemKindValue,\n\tPlatformAgentWorkItemStateValue,\n\tPlatformRuntimeEventTypeValue,\n\tcompleteAgentRuntimeRun,\n\tfailAgentRuntimeRun,\n\trecordAgentRuntimeRunCost,\n\trecordAgentRuntimeRunEvent,\n\trecordAgentRuntimeRunStep,\n\trecordAgentRuntimeRunWorkItem,\n\tresumeAgentRuntimeRun,\n\tupdateAgentRuntimeRunWorkItem,\n\twaitAgentRuntimeRun,\n} from \"../platform/agent-runtime-client.js\";\nimport { CREDENTIAL_PATTERN_DEFS } from \"../safety/credential-patterns.js\";\nimport { createLogger } from \"../utils/logger.js\";\nimport { sanitizeWithStaticMask } from \"../utils/secret-redactor.js\";\nimport type { ServerRequestLifecycleEvent } from \"./server-request-manager.js\";\n\nconst logger = createLogger(\"server:hosted-agent-runtime-progress\");\nconst CODEX_THREAD_CHILD_RUN_PREFIX = \"codex-thread:\";\nconst DEFAULT_CODEX_SUBAGENT_DELEGATION_CAPABILITY = \"code:write\";\n\ntype HostedAgentRuntimeTaskSource =\n\t| \"todo\"\n\t| \"background\"\n\t| \"swarm\"\n\t| \"checkpoint\";\n\ntype HostedAgentRuntimeTaskStatus =\n\t| \"pending\"\n\t| \"running\"\n\t| \"waiting\"\n\t| \"blocked\"\n\t| \"succeeded\"\n\t| \"failed\"\n\t| \"cancelled\";\n\nexport interface HostedAgentRuntimeTaskProgressEvent {\n\tsource: HostedAgentRuntimeTaskSource;\n\tid: string;\n\tstatus: HostedAgentRuntimeTaskStatus;\n\ttitle: string;\n\tgoal?: string;\n\tparentId?: string;\n\townerChildRunId?: string;\n\tworkItemKind?: PlatformAgentWorkItemKindValue | string;\n\tstepKind?: PlatformAgentRunStepKindValue | string;\n\tnextAction?: string;\n\tblocker?: string;\n\terrorMessage?: string;\n\ttoolCallId?: string;\n\ttoolExecutionId?: string;\n\tapprovalRequestId?: string;\n\tcompletionGate?: string;\n\tevidenceRefs?: string[];\n\tpayload?: Record<string, unknown>;\n\trecordStep?: boolean;\n}\n\nexport interface HostedAgentRuntimeProgressContext {\n\tenabled: true;\n\tagentRunId?: string;\n\tagentRuntimeLeaseToken?: string;\n\tagentRuntimeWorkerQueue?: string;\n\tagentRuntimeCorrelationPath?: string;\n\tworkspaceId?: string;\n\trunnerSessionId?: string;\n\townerInstanceId?: string;\n\tagentId?: string;\n}\n\ntype ProgressOperation = () => Promise<unknown>;\n\nexport interface HostedAgentRuntimeProgressRecorderOperations {\n\trecordStep?: typeof recordAgentRuntimeRunStep;\n\trecordEvent?: typeof recordAgentRuntimeRunEvent;\n\trecordCost?: typeof recordAgentRuntimeRunCost;\n\trecordWorkItem?: typeof recordAgentRuntimeRunWorkItem;\n\tupdateWorkItem?: typeof updateAgentRuntimeRunWorkItem;\n\twaitRun?: typeof waitAgentRuntimeRun;\n\tresumeRun?: typeof resumeAgentRuntimeRun;\n\tcompleteRun?: typeof completeAgentRuntimeRun;\n\tfailRun?: typeof failAgentRuntimeRun;\n\tdelegateAgent?: typeof delegateAgentWithPlatform;\n\tresolveDelegation?: typeof resolveAgentDelegationWithPlatform;\n}\n\nexport interface HostedAgentRuntimeProgressRecorderOptions {\n\tsessionId: string;\n\thostedRunner?: HostedAgentRuntimeProgressContext;\n\tworkspaceRoot?: string;\n\toperations?: HostedAgentRuntimeProgressRecorderOperations;\n}\n\nexport interface HostedAgentRuntimeCompleteInput {\n\treason?: string;\n\trequestedBy?: string;\n\tflushStatus?: string;\n\tmanifestPath?: string;\n}\n\nexport interface HostedAgentRuntimeFailInput {\n\terrorMessage: string;\n\treason?: string;\n\trequestedBy?: string;\n\tretryable?: boolean;\n\tmanifestPath?: string;\n\tflushStatus?: string;\n}\n\nexport interface HostedAgentRuntimeDrainInput {\n\tstatus: \"drained\" | \"interrupted\" | string;\n\treason?: string;\n\trequestedBy?: string;\n\tflushStatus?: string;\n\tmanifestPath?: string;\n\tplatformEvidence?: unknown;\n\terrorMessage?: string;\n}\n\nfunction safeIdPart(value: string): string {\n\treturn value.replace(/[^A-Za-z0-9_.:-]+/g, \"_\").slice(0, 96) || \"unknown\";\n}\n\nfunction nonEmptyString(value: unknown): string | undefined {\n\treturn typeof value === \"string\" && value.trim().length > 0\n\t\t? value\n\t\t: undefined;\n}\n\nfunction compactString(value: unknown, maxLength = 256): string | undefined {\n\tconst text = nonEmptyString(value)?.trim();\n\tif (!text) {\n\t\treturn undefined;\n\t}\n\tif (text.length <= maxLength) {\n\t\treturn text;\n\t}\n\tif (maxLength <= 0) {\n\t\treturn \"\";\n\t}\n\tif (maxLength <= 3) {\n\t\treturn \".\".repeat(maxLength);\n\t}\n\treturn `${text.slice(0, maxLength - 3)}...`;\n}\n\nfunction isExistingWorkItemCreateError(error: unknown): boolean {\n\tconst message = error instanceof Error ? error.message : String(error);\n\treturn /\\b409\\b|already exists|already_exists|duplicate|unique constraint/i.test(\n\t\tmessage,\n\t);\n}\n\nfunction stableShortHash(value: string): string {\n\treturn createHash(\"sha256\").update(value).digest(\"hex\").slice(0, 12);\n}\n\nfunction goalScopedTodoId(id: string, goal: string | undefined): string {\n\treturn goal ? `goal-${stableShortHash(goal)}:${id}` : id;\n}\n\nfunction swarmCompletionStatus(\n\tevent: Extract<SwarmEvent, { type: \"swarm_complete\" }>,\n): HostedAgentRuntimeTaskStatus {\n\tswitch (event.state.status) {\n\t\tcase \"completed\":\n\t\t\treturn \"succeeded\";\n\t\tcase \"failed\":\n\t\t\treturn \"failed\";\n\t\tcase \"cancelled\":\n\t\t\treturn \"cancelled\";\n\t\tcase \"completing\":\n\t\t\treturn \"running\";\n\t\tcase \"initializing\":\n\t\t\treturn \"pending\";\n\t\tcase \"running\":\n\t\t\treturn \"running\";\n\t}\n}\n\nfunction objectKeys(value: unknown): string[] | undefined {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst keys = Object.keys(value).sort();\n\treturn keys.length > 0 ? keys : undefined;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn Boolean(value && typeof value === \"object\" && !Array.isArray(value));\n}\n\nfunction recordArray(value: unknown): Record<string, unknown>[] {\n\tif (!Array.isArray(value)) {\n\t\treturn [];\n\t}\n\treturn value.filter(isRecord);\n}\n\nfunction finiteNumber(value: unknown): number {\n\treturn typeof value === \"number\" && Number.isFinite(value) ? value : 0;\n}\n\nfunction stringArray(value: unknown): string[] {\n\tif (!Array.isArray(value)) {\n\t\treturn [];\n\t}\n\treturn value.filter(\n\t\t(item): item is string => typeof item === \"string\" && item.length > 0,\n\t);\n}\n\nfunction compactStringArray(\n\tvalue: string[],\n\tmaxItems = 32,\n): string[] | undefined {\n\tconst compacted = value\n\t\t.map((item) => compactString(item, 160))\n\t\t.filter((item): item is string => Boolean(item))\n\t\t.slice(0, maxItems);\n\treturn compacted.length > 0 ? compacted : undefined;\n}\n\nfunction sanitizeOutboundTextArray(\n\tvalue: string[],\n\tmaxItems = 32,\n\tmaxLength = MAX_TEXT_FIELD_LENGTH,\n): string[] | undefined {\n\tconst sanitized = value\n\t\t.map((item) => sanitizeOutboundText(item, maxLength))\n\t\t.filter((item): item is string => Boolean(item))\n\t\t.slice(0, maxItems);\n\treturn sanitized.length > 0 ? sanitized : undefined;\n}\n\nfunction codexSubagentToolName(toolName: string): string | undefined {\n\tconst tool = toolName.startsWith(CODEX_SUBAGENT_TOOL_PREFIX)\n\t\t? toolName.slice(CODEX_SUBAGENT_TOOL_PREFIX.length)\n\t\t: undefined;\n\treturn tool ? (canonicalCodexSubagentTool(tool) ?? tool) : undefined;\n}\n\nfunction codexThreadChildRunId(threadId: string): string {\n\treturn `${CODEX_THREAD_CHILD_RUN_PREFIX}${threadId}`;\n}\n\nfunction codexSubagentWorkGraph(\n\targs: Record<string, unknown> | undefined,\n): Record<string, unknown> | undefined {\n\tconst graph = args?.codexWorkGraph ?? args?.codex_work_graph;\n\treturn isRecord(graph) ? graph : undefined;\n}\n\nfunction codexSubagentWorkGraphChildRuns(\n\targs: Record<string, unknown> | undefined,\n): Record<string, unknown>[] {\n\tconst graph = codexSubagentWorkGraph(args);\n\tconst childRuns = graph?.childRuns ?? graph?.child_runs;\n\tif (!Array.isArray(childRuns)) {\n\t\treturn [];\n\t}\n\treturn childRuns.filter(isRecord);\n}\n\nfunction codexSubagentReceiverThreadIds(\n\targs: Record<string, unknown>,\n): string[] {\n\tconst explicit = stringArray(\n\t\targs.receiverThreadIds ?? args.receiver_thread_ids,\n\t);\n\tif (explicit.length > 0) {\n\t\treturn explicit;\n\t}\n\tconst graphThreadIds = codexSubagentWorkGraphChildRuns(args)\n\t\t.map((childRun) => childRun.threadId ?? childRun.thread_id)\n\t\t.filter(\n\t\t\t(threadId): threadId is string =>\n\t\t\t\ttypeof threadId === \"string\" && threadId.length > 0,\n\t\t);\n\treturn graphThreadIds;\n}\n\nfunction codexSubagentExplicitChildRunIds(\n\targs: Record<string, unknown>,\n): string[] {\n\tconst explicit = stringArray(args.childRunIds ?? args.child_run_ids);\n\tif (explicit.length > 0) {\n\t\treturn explicit;\n\t}\n\tconst graphChildRunIds = codexSubagentWorkGraphChildRuns(args)\n\t\t.map((childRun) => childRun.childRunId ?? childRun.child_run_id)\n\t\t.filter(\n\t\t\t(childRunId): childRunId is string =>\n\t\t\t\ttypeof childRunId === \"string\" && childRunId.length > 0,\n\t\t);\n\tif (graphChildRunIds.length > 0) {\n\t\treturn graphChildRunIds;\n\t}\n\treturn [];\n}\n\nfunction codexSubagentChildRunIds(\n\targs: Record<string, unknown>,\n\treceiverThreadIds: string[],\n): string[] {\n\tconst explicit = codexSubagentExplicitChildRunIds(args);\n\tif (explicit.length > 0) {\n\t\treturn explicit;\n\t}\n\treturn receiverThreadIds.map(codexThreadChildRunId);\n}\n\nfunction codexSubagentNextAction(tool: string): string {\n\treturn (\n\t\tcodexSubagentContractNextAction(tool) ??\n\t\t\"track Codex subagent collaboration\"\n\t);\n}\n\nfunction codexSubagentDelegationTargetAgentId(\n\targs: Record<string, unknown>,\n): string | undefined {\n\treturn (\n\t\tnonEmptyString(args.toAgentId) ??\n\t\tnonEmptyString(args.to_agent_id) ??\n\t\tnonEmptyString(args.targetAgentId) ??\n\t\tnonEmptyString(args.target_agent_id)\n\t);\n}\n\nfunction codexSubagentDelegationRequiredCapability(\n\targs: Record<string, unknown>,\n\ttargetAgentId?: string,\n): string | undefined {\n\tconst explicit =\n\t\tnonEmptyString(args.requiredCapability) ??\n\t\tnonEmptyString(args.required_capability) ??\n\t\tnonEmptyString(args.capability);\n\treturn (\n\t\texplicit ??\n\t\t(targetAgentId ? undefined : DEFAULT_CODEX_SUBAGENT_DELEGATION_CAPABILITY)\n\t);\n}\n\nfunction codexSubagentDelegationA2ASkillID(\n\targs: Record<string, unknown>,\n\trequiredCapability?: string,\n): string | undefined {\n\tconst explicit =\n\t\tnonEmptyString(args.a2aSkillId) ??\n\t\tnonEmptyString(args.a2a_skill_id) ??\n\t\tnonEmptyString(args.agentSkillId) ??\n\t\tnonEmptyString(args.agent_skill_id) ??\n\t\tnonEmptyString(args.subagentSkillId) ??\n\t\tnonEmptyString(args.subagent_skill_id) ??\n\t\tnonEmptyString(args.skillId) ??\n\t\tnonEmptyString(args.skill_id);\n\tif (explicit) {\n\t\treturn explicit.trim();\n\t}\n\tconst subagentType =\n\t\tnonEmptyString(args.agentType) ??\n\t\tnonEmptyString(args.agent_type) ??\n\t\tnonEmptyString(args.subagentType) ??\n\t\tnonEmptyString(args.subagent_type);\n\treturn (\n\t\tcodexSubagentTypeA2ASkillID(subagentType) ??\n\t\tcodexSubagentCapabilityA2ASkillID(requiredCapability)\n\t);\n}\n\nfunction codexSubagentTypeA2ASkillID(\n\tvalue: string | undefined,\n): string | undefined {\n\tconst token = codexSubagentSkillToken(value);\n\tif (!token) {\n\t\treturn undefined;\n\t}\n\tswitch (token) {\n\t\tcase \"pr-review\":\n\t\tcase \"review\":\n\t\tcase \"reviewer\":\n\t\tcase \"code-review\":\n\t\tcase \"code-reviewer\":\n\t\t\treturn \"maestro.subagent.code-review\";\n\t\tcase \"test\":\n\t\tcase \"qa\":\n\t\tcase \"ci\":\n\t\tcase \"ci-monitor\":\n\t\tcase \"test-runner\":\n\t\t\treturn \"maestro.subagent.test-runner\";\n\t\tcase \"explore\":\n\t\tcase \"explorer\":\n\t\tcase \"repo-explorer\":\n\t\tcase \"research\":\n\t\tcase \"competitive-intel\":\n\t\tcase \"people-research\":\n\t\t\treturn \"maestro.subagent.repo-explorer\";\n\t\tcase \"release\":\n\t\tcase \"release-shepherd\":\n\t\t\treturn \"maestro.subagent.release-shepherd\";\n\t\tcase \"worker\":\n\t\tcase \"coder\":\n\t\tcase \"code\":\n\t\tcase \"code-writer\":\n\t\tcase \"default\":\n\t\t\treturn \"maestro.subagent.code-writer\";\n\t\tdefault:\n\t\t\treturn `maestro.subagent.${token}`;\n\t}\n}\n\nfunction codexSubagentCapabilityA2ASkillID(\n\tvalue: string | undefined,\n): string | undefined {\n\tconst token = codexSubagentSkillToken(value);\n\tif (!token) {\n\t\treturn undefined;\n\t}\n\tswitch (token) {\n\t\tcase \"code-review\":\n\t\t\treturn \"maestro.subagent.code-review\";\n\t\tcase \"code-test\":\n\t\tcase \"test-run\":\n\t\tcase \"test-runner\":\n\t\t\treturn \"maestro.subagent.test-runner\";\n\t\tcase \"repo-explore\":\n\t\tcase \"repo-explorer\":\n\t\tcase \"code-search\":\n\t\t\treturn \"maestro.subagent.repo-explorer\";\n\t\tcase \"release-shepherd\":\n\t\tcase \"release-manage\":\n\t\t\treturn \"maestro.subagent.release-shepherd\";\n\t\tcase \"code-write\":\n\t\tcase \"code-edit\":\n\t\tcase \"code-implement\":\n\t\t\treturn \"maestro.subagent.code-writer\";\n\t\tdefault:\n\t\t\treturn `maestro.subagent.${token}`;\n\t}\n}\n\nfunction codexSubagentSkillToken(\n\tvalue: string | undefined,\n): string | undefined {\n\tconst token = value\n\t\t?.trim()\n\t\t.toLowerCase()\n\t\t.replace(/[:_/. ]+/g, \"-\")\n\t\t.replace(/-{2,}/g, \"-\")\n\t\t.replace(/^-|-$/g, \"\");\n\treturn token || undefined;\n}\n\nfunction codexSubagentDelegationReason(prompt: string | undefined): string {\n\tif (!prompt) {\n\t\treturn \"Codex subagent spawn requested by Maestro\";\n\t}\n\treturn `Codex subagent spawn requested by Maestro: ${prompt}`.slice(0, 512);\n}\n\nfunction redactedPromptLength(prompt: string | undefined): number | undefined {\n\treturn prompt\n\t\t? Math.min(prompt.length, MAX_DELEGATION_PROMPT_LENGTH)\n\t\t: undefined;\n}\n\nfunction codexSubagentOperation(tool: string): string | undefined {\n\treturn codexSubagentOperationName(tool);\n}\n\nfunction activeCodexSubagentEdgeStatus(tool: string): string | undefined {\n\treturn codexSubagentActiveStatus(tool);\n}\n\nfunction terminalCodexSubagentEdgeStatus(\n\ttool: string,\n\tisError: boolean,\n): string | undefined {\n\tif (isError) {\n\t\treturn \"failed\";\n\t}\n\treturn codexSubagentTerminalSuccessStatus(tool);\n}\n\nfunction shouldResolveCodexSubagentDelegation(\n\ttool: string,\n\tisError: boolean,\n): boolean {\n\tif (tool === \"wait\" || tool === \"closeAgent\") {\n\t\treturn true;\n\t}\n\tif (tool === \"spawnAgent\" && isError) {\n\t\treturn true;\n\t}\n\tif (tool === \"resumeAgent\" && isError) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction codexSubagentDelegationFailureMessage(tool: string): string {\n\tswitch (tool) {\n\t\tcase \"spawnAgent\":\n\t\t\treturn \"Codex subagent spawn failed\";\n\t\tcase \"sendInput\":\n\t\t\treturn \"Codex subagent input failed\";\n\t\tcase \"resumeAgent\":\n\t\t\treturn \"Codex subagent resume failed\";\n\t\tcase \"wait\":\n\t\t\treturn \"Codex subagent wait failed\";\n\t\tcase \"closeAgent\":\n\t\t\treturn \"Codex subagent close failed\";\n\t\tdefault:\n\t\t\treturn \"Codex subagent delegation failed\";\n\t}\n}\n\nfunction toolDisplayName(event: {\n\tdisplayName?: string;\n\tsummaryLabel?: string;\n\ttoolName: string;\n}): string {\n\treturn event.displayName ?? event.summaryLabel ?? event.toolName;\n}\n\nconst MAX_TEXT_FIELD_LENGTH = 160;\nconst MAX_DELEGATION_PROMPT_LENGTH = 512;\nconst REDACTED = \"[redacted]\";\nconst COMMON_MAKE_TARGETS = new Set([\n\t\"all\",\n\t\"build\",\n\t\"check\",\n\t\"clean\",\n\t\"dev\",\n\t\"dist\",\n\t\"docs\",\n\t\"format\",\n\t\"install\",\n\t\"lint\",\n\t\"release\",\n\t\"start\",\n\t\"test\",\n\t\"typecheck\",\n\t\"verify\",\n]);\n\nfunction hostedCredentialPattern(source: string, flags: string): RegExp {\n\treturn new RegExp(source, flags.replace(/g/g, \"\"));\n}\n\nconst HOSTED_CREDENTIAL_PATTERNS = [\n\t...CREDENTIAL_PATTERN_DEFS.filter(\n\t\t(pattern) =>\n\t\t\t![\n\t\t\t\t\"Authorization Header\",\n\t\t\t\t\"Bearer Token\",\n\t\t\t\t// \"Basic Auth Token\" matches `Basic\\s+[A-Za-z0-9+/=]+` with\n\t\t\t\t// a 1-char minimum, so benign English like\n\t\t\t\t// \"Document Authorization: Basic flow\" trips it. The hosted\n\t\t\t\t// recorder has its own stricter `Basic\\s+[A-Za-z0-9+/=]{16,}`\n\t\t\t\t// in the literal pattern list below, so exclude the loose\n\t\t\t\t// catalog version here.\n\t\t\t\t\"Basic Auth Token\",\n\t\t\t\t\"Password Assignment\",\n\t\t\t].includes(pattern.name) && pattern.name !== \"Password in URL\",\n\t).map((pattern) => hostedCredentialPattern(pattern.source, pattern.flags)),\n\t/\\b(?:sk[-_][A-Za-z0-9_-]{8,}|gh[pousr]_[A-Za-z0-9_-]{8,}|github_pat_[A-Za-z0-9_-]{8,}|xoxb[A-Za-z0-9_-]{8,}|xoxp[A-Za-z0-9_-]{8,}|AKIA[A-Za-z0-9_-]{8,}|ASIA[A-Za-z0-9_-]{8,})\\b/,\n\t/\\/\\/[^:/\\s@]+:[^@/\\s]+@[^/\\s]+/,\n\t/\\b(?:api[_-]?key|apikey|api[_-]?token)[':\"\\s=]+['\"]?[A-Za-z0-9_-]{20,}\\b/i,\n\t/\\b(?:password|passwd|pwd|secret)\\s*[:=]\\s*['\"]?[^'\"\\s]{8,}/i,\n\t/\\b(?:api[_-]?key|token|secret|password)[':\"\\s=]+['\"]?[A-Za-z0-9+/=]{24,}/i,\n\t/\\b(?:secret|key|token)[':\"\\s=]+['\"]?[a-fA-F0-9]{32,}\\b/i,\n\t/\\b(?:api[_-]?key|token|secret|password)[':\"\\s=]+['\"]?[A-Za-z0-9_.-]{16,}/i,\n\t/\\beyJ[A-Za-z0-9_-]{8,}\\.[A-Za-z0-9_-]{8,}\\.[A-Za-z0-9_-]{8,}\\b/,\n\t/\\b(?:mongodb(?:\\+srv)?|postgres(?:ql)?|mysql):\\/\\/[^\\s]+/i,\n\t/\\bxox[baprs]-[A-Za-z0-9-]{10,}\\b/,\n\t/\\b(?:aws[_-]?secret[_-]?(?:access[_-]?)?key|secret[_-]?key)[':\"\\s=]+['\"]?[A-Za-z0-9/+=]{40}\\b/i,\n\t/\\bAIza[A-Za-z0-9_-]{35}\\b/,\n\t/\\bya29\\.[A-Za-z0-9_-]{20,}\\b/,\n\t/(^|[^A-Za-z0-9_-])1\\/\\/[A-Za-z0-9_-]{40,}/,\n\t/\\bBearer\\s+(?=[A-Za-z0-9_.-]{16,}\\b)(?=[A-Za-z0-9_.-]*[0-9_.-])[A-Za-z0-9_.-]+/i,\n\t/\\bBasic\\s+[A-Za-z0-9+/=]{16,}/i,\n\t/\\bAuthorization\\s*[:=]\\s*['\"]?(?:Basic\\s+[A-Za-z0-9+/=]{16,}|(?:Bearer|Token)\\s+(?=[A-Za-z0-9_\\-./+=]{16,}\\b)(?=[A-Za-z0-9_\\-./+=]*[0-9_\\-./+=])[A-Za-z0-9_\\-./+=]+)\\b/i,\n\t/[?&](?:sv|sig|se|sp)=[A-Za-z0-9%_-]{10,}/i,\n\t/\\b(?:AccountKey|SharedAccessKey)=[A-Za-z0-9+/=]{40,}/i,\n\t/\\b(?:client[_-]?secret|azure[_-]?secret)[':\"\\s=]+['\"]?[A-Za-z0-9~_.-]{32,}/i,\n\t/\\bnpm_[A-Za-z0-9]{36}\\b/,\n\t/\\bpypi-[A-Za-z0-9]{60,}\\b/,\n];\n\nfunction containsHostedCredential(value: string): boolean {\n\treturn HOSTED_CREDENTIAL_PATTERNS.some((pattern) => pattern.test(value));\n}\n\nfunction shouldRedactOutboundText(text: string): boolean {\n\treturn containsHostedCredential(text) || containsShellCommandSyntax(text);\n}\n\nfunction sanitizeOutboundText(\n\tvalue: string | undefined,\n\tmaxLength = MAX_TEXT_FIELD_LENGTH,\n): string | undefined {\n\tconst text = nonEmptyString(value);\n\tif (!text) {\n\t\treturn undefined;\n\t}\n\tif (shouldRedactOutboundText(text)) {\n\t\treturn REDACTED;\n\t}\n\treturn text.length > maxLength ? `${text.slice(0, maxLength - 1)}…` : text;\n}\n\nfunction sanitizeToolBatchSummaryText(\n\tvalue: string | undefined,\n\ttoolNames?: string[],\n): string | undefined {\n\tconst text = nonEmptyString(value);\n\tif (\n\t\ttext?.split(/\\s*,\\s*/).some((part, index) => {\n\t\t\tconst toolName = toolNames?.[index];\n\t\t\treturn (\n\t\t\t\tcontainsGeneratedShellToolLabel(toolName, part) ||\n\t\t\t\tcontainsBatchGeneratedShellToolLabel(toolNames, part) ||\n\t\t\t\tcontainsShellCommandSyntax(part)\n\t\t\t);\n\t\t})\n\t) {\n\t\treturn REDACTED;\n\t}\n\treturn sanitizeOutboundText(value, 512);\n}\n\nfunction sanitizeToolBatchSummaryLabels(\n\tlabels: string[] | undefined,\n\ttoolNames: string[] | undefined,\n): string[] | undefined {\n\tif (!labels) {\n\t\treturn undefined;\n\t}\n\treturn labels\n\t\t.map((label, index) =>\n\t\t\tcontainsBatchGeneratedShellToolLabel(toolNames, label)\n\t\t\t\t? REDACTED\n\t\t\t\t: sanitizeToolOutboundText(toolNames?.[index], label),\n\t\t)\n\t\t.filter((label): label is string => Boolean(label));\n}\n\nfunction sanitizeOutboundPayload(\n\tpayload: Record<string, unknown> | undefined,\n): Record<string, unknown> | undefined {\n\tif (!payload) {\n\t\treturn undefined;\n\t}\n\treturn Object.fromEntries(\n\t\tObject.entries(payload).map(([key, value]) => [\n\t\t\tkey,\n\t\t\ttypeof value === \"string\"\n\t\t\t\t? sanitizeOutboundText(value)\n\t\t\t\t: Array.isArray(value) &&\n\t\t\t\t\t\tvalue.every((item) => typeof item === \"string\")\n\t\t\t\t\t? sanitizeOutboundTextArray(value)\n\t\t\t\t\t: value,\n\t\t]),\n\t);\n}\n\nfunction sanitizeHostedDrainPlatformEvidence(value: unknown): unknown {\n\tif (!isRecord(value)) {\n\t\treturn value;\n\t}\n\tconst reason =\n\t\ttypeof value.reason === \"string\"\n\t\t\t? sanitizeOutboundText(value.reason, 512)\n\t\t\t: undefined;\n\treturn reason ? { ...value, reason } : value;\n}\n\nfunction containsShellCommandSyntax(value: string): boolean {\n\tconst generatedShellLabel = /^\\s*Ran\\s+(.+)$/i.exec(value);\n\tif (\n\t\tgeneratedShellLabel?.[1] &&\n\t\tcontainsShellCommandAtStart(generatedShellLabel[1])\n\t) {\n\t\treturn true;\n\t}\n\tconst embeddedGeneratedShellLabel = /(?:^|[,;]\\s*)Ran\\s+(.+)$/i.exec(value);\n\tif (\n\t\tembeddedGeneratedShellLabel?.[1] &&\n\t\tcontainsShellCommandAtStart(embeddedGeneratedShellLabel[1])\n\t) {\n\t\treturn true;\n\t}\n\tif (containsShellCommandAtStart(value)) {\n\t\treturn true;\n\t}\n\tconst prefixedCommand =\n\t\t/\\b(?:detected (?:command|[^:\\n]*\\bcommand)|command failed|command):\\s*(\\S[\\s\\S]*)$/i.exec(\n\t\t\tvalue,\n\t\t);\n\tif (prefixedCommand?.[1]) {\n\t\treturn containsCommandLikePrefixedText(prefixedCommand[1], {\n\t\t\tallowArbitraryMakeTargets: true,\n\t\t});\n\t}\n\tconst embeddedCommand =\n\t\t/\\b(?:please\\s+)?(run|running|execute|start|launch|retry)\\s+([\\s\\S]+)$/i.exec(\n\t\t\tvalue,\n\t\t);\n\tif (!embeddedCommand?.[1] || !embeddedCommand[2]) {\n\t\treturn false;\n\t}\n\tif (\n\t\tembeddedCommand[1].toLowerCase() === \"running\" &&\n\t\tcontainsExplicitCommandLabelPlainOperandSyntax(embeddedCommand[2])\n\t) {\n\t\treturn true;\n\t}\n\treturn containsShellCommandAtStart(embeddedCommand[2], {\n\t\tallowArbitraryMakeTargets: true,\n\t});\n}\n\nfunction sanitizeStatusText(\n\tstatus: string,\n\tdetails: Record<string, unknown>,\n): string | undefined {\n\treturn containsGeneratedShellStatusContext(status, details)\n\t\t? REDACTED\n\t\t: sanitizeOutboundText(status, 512);\n}\n\nfunction containsGeneratedShellStatusContext(\n\tvalue: string,\n\tdetails: Record<string, unknown>,\n): boolean {\n\tif (!isGeneratedShellToolStatus(details)) {\n\t\treturn false;\n\t}\n\tconst match = /^\\s*Running\\s+(.+?)\\s*$/i.exec(value);\n\tconst command = match?.[1]?.trim();\n\treturn Boolean(command && command.toLowerCase() !== \"command\");\n}\n\nfunction isGeneratedShellToolStatus(details: Record<string, unknown>): boolean {\n\tif (details.kind !== \"tool_execution_summary\") {\n\t\treturn false;\n\t}\n\tconst toolName =\n\t\ttypeof details.toolName === \"string\" ? details.toolName.toLowerCase() : \"\";\n\treturn new Set([\"bash\", \"shell\", \"exec_command\"]).has(toolName);\n}\n\nfunction containsCommandLikePrefixedText(\n\tvalue: string,\n\toptions: { allowArbitraryMakeTargets?: boolean } = {},\n): boolean {\n\tif (containsShellCommandAtStart(value, options)) {\n\t\treturn true;\n\t}\n\tconst firstLine = value.split(/\\r?\\n/, 1)[0]?.trim();\n\tif (\n\t\tfirstLine &&\n\t\tfirstLine !== value.trim() &&\n\t\tcontainsShellCommandAtStart(firstLine, options)\n\t) {\n\t\treturn true;\n\t}\n\tif (containsExplicitCommandLabelPlainOperandSyntax(value)) {\n\t\treturn true;\n\t}\n\tconst parts = value.trim().split(/\\s+/);\n\tif (parts.length < 2) {\n\t\treturn false;\n\t}\n\treturn parts\n\t\t.slice(1)\n\t\t.some((part) =>\n\t\t\t/^(?:-|\\.{1,2}$|\\.{1,2}\\/|~\\/|\\/|[A-Za-z0-9_.-]*\\/|[A-Za-z_][A-Za-z0-9_]*=)|[/.*?]|\\.[A-Za-z0-9_-]+$/.test(\n\t\t\t\tpart,\n\t\t\t),\n\t\t);\n}\n\nfunction containsExplicitCommandLabelPlainOperandSyntax(\n\tvalue: string,\n): boolean {\n\treturn (\n\t\tcontainsPackageManagerPlainOperandCommandSyntax(value) ||\n\t\tcontainsGitPlainOperandCommandSyntax(value) ||\n\t\tcontainsYarnPlainOperandCommandSyntax(value) ||\n\t\tcontainsGoCargoPlainOperandCommandSyntax(value) ||\n\t\tcontainsPipPlainOperandCommandSyntax(value) ||\n\t\tcontainsDockerPlainOperandCommandSyntax(value) ||\n\t\tcontainsTerraformPlainOperandCommandSyntax(value) ||\n\t\tcontainsShellBuiltinPlainOperandCommandSyntax(value) ||\n\t\tcontainsSimpleShellCommandLabelSyntax(value)\n\t);\n}\n\nfunction containsShellBuiltinPlainOperandCommandSyntax(value: string): boolean {\n\treturn /^\\s*(?:echo|printf)(?:\\s+\\S+)+\\s*$/.test(value);\n}\n\nfunction containsSimpleShellCommandLabelSyntax(value: string): boolean {\n\tconst text = value.trim();\n\treturn (\n\t\t/^(?:pwd|date)\\s*$/.test(text) ||\n\t\t/^uname\\s+-[A-Za-z]+\\s*$/.test(text) ||\n\t\t/^which\\s+\\S+\\s*$/.test(text)\n\t);\n}\n\nfunction containsPackageManagerPlainOperandCommandSyntax(\n\tvalue: string,\n): boolean {\n\tconst match =\n\t\t/^\\s*(?:npm|pnpm|bun)\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+\\S+)+\\s*$/.exec(\n\t\t\tvalue,\n\t\t);\n\tconst subcommand = match?.[1];\n\treturn subcommand\n\t\t? new Set([\n\t\t\t\t\"install\",\n\t\t\t\t\"add\",\n\t\t\t\t\"remove\",\n\t\t\t\t\"exec\",\n\t\t\t\t\"run\",\n\t\t\t\t\"test\",\n\t\t\t\t\"build\",\n\t\t\t\t\"start\",\n\t\t\t\t\"ci\",\n\t\t\t\t\"create\",\n\t\t\t]).has(subcommand)\n\t\t: false;\n}\n\nfunction containsGitPlainOperandCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*git\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+\\S+)+\\s*$/.exec(value);\n\tconst subcommand = match?.[1];\n\treturn subcommand\n\t\t? new Set([\n\t\t\t\t\"add\",\n\t\t\t\t\"branch\",\n\t\t\t\t\"checkout\",\n\t\t\t\t\"clone\",\n\t\t\t\t\"commit\",\n\t\t\t\t\"fetch\",\n\t\t\t\t\"merge\",\n\t\t\t\t\"pull\",\n\t\t\t\t\"push\",\n\t\t\t\t\"rebase\",\n\t\t\t\t\"remote\",\n\t\t\t\t\"reset\",\n\t\t\t\t\"restore\",\n\t\t\t\t\"show\",\n\t\t\t\t\"stash\",\n\t\t\t\t\"status\",\n\t\t\t\t\"switch\",\n\t\t\t\t\"tag\",\n\t\t\t\t\"worktree\",\n\t\t\t]).has(subcommand)\n\t\t: false;\n}\n\nfunction containsYarnPlainOperandCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*yarn\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+\\S+)+\\s*$/.exec(\n\t\tvalue,\n\t);\n\tconst subcommand = match?.[1];\n\treturn subcommand\n\t\t? new Set([\n\t\t\t\t\"add\",\n\t\t\t\t\"remove\",\n\t\t\t\t\"run\",\n\t\t\t\t\"test\",\n\t\t\t\t\"build\",\n\t\t\t\t\"install\",\n\t\t\t\t\"exec\",\n\t\t\t\t\"workspace\",\n\t\t\t\t\"workspaces\",\n\t\t\t\t\"dlx\",\n\t\t\t]).has(subcommand)\n\t\t: false;\n}\n\nfunction containsGoCargoPlainOperandCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*(go|cargo)\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+\\S+)+\\s*$/.exec(\n\t\tvalue,\n\t);\n\tconst command = match?.[1];\n\tconst subcommand = match?.[2];\n\tconst allowed: Record<string, ReadonlySet<string>> = {\n\t\tgo: new Set([\n\t\t\t\"test\",\n\t\t\t\"run\",\n\t\t\t\"build\",\n\t\t\t\"mod\",\n\t\t\t\"fmt\",\n\t\t\t\"vet\",\n\t\t\t\"install\",\n\t\t\t\"generate\",\n\t\t\t\"env\",\n\t\t]),\n\t\tcargo: new Set([\n\t\t\t\"test\",\n\t\t\t\"run\",\n\t\t\t\"build\",\n\t\t\t\"check\",\n\t\t\t\"fmt\",\n\t\t\t\"clippy\",\n\t\t\t\"install\",\n\t\t]),\n\t};\n\treturn command && subcommand\n\t\t? (allowed[command]?.has(subcommand) ?? false)\n\t\t: false;\n}\n\nfunction containsPipPlainOperandCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*pip(?:3)?\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+\\S+)+\\s*$/.exec(\n\t\tvalue,\n\t);\n\tconst subcommand = match?.[1];\n\treturn subcommand\n\t\t? new Set([\n\t\t\t\t\"install\",\n\t\t\t\t\"uninstall\",\n\t\t\t\t\"download\",\n\t\t\t\t\"wheel\",\n\t\t\t\t\"show\",\n\t\t\t\t\"list\",\n\t\t\t\t\"freeze\",\n\t\t\t\t\"check\",\n\t\t\t]).has(subcommand)\n\t\t: false;\n}\n\nfunction containsDockerPlainOperandCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*docker\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+\\S+)+\\s*$/.exec(\n\t\tvalue,\n\t);\n\tconst subcommand = match?.[1];\n\treturn subcommand\n\t\t? new Set([\n\t\t\t\t\"build\",\n\t\t\t\t\"run\",\n\t\t\t\t\"compose\",\n\t\t\t\t\"pull\",\n\t\t\t\t\"push\",\n\t\t\t\t\"exec\",\n\t\t\t\t\"inspect\",\n\t\t\t\t\"logs\",\n\t\t\t\t\"stop\",\n\t\t\t\t\"start\",\n\t\t\t\t\"restart\",\n\t\t\t\t\"rm\",\n\t\t\t\t\"rmi\",\n\t\t\t\t\"tag\",\n\t\t\t]).has(subcommand)\n\t\t: false;\n}\n\nfunction containsTerraformPlainOperandCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*terraform\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+\\S+)+\\s*$/.exec(\n\t\tvalue,\n\t);\n\tconst subcommand = match?.[1];\n\treturn subcommand\n\t\t? new Set([\n\t\t\t\t\"apply\",\n\t\t\t\t\"destroy\",\n\t\t\t\t\"import\",\n\t\t\t\t\"output\",\n\t\t\t\t\"plan\",\n\t\t\t\t\"show\",\n\t\t\t\t\"state\",\n\t\t\t\t\"workspace\",\n\t\t\t]).has(subcommand)\n\t\t: false;\n}\n\nfunction containsShellCommandAtStart(\n\tvalue: string,\n\toptions: { allowArbitraryMakeTargets?: boolean } = {},\n): boolean {\n\tconst unwrapped = unwrapCommandText(value);\n\tif (unwrapped !== value && containsShellCommandAtStart(unwrapped, options)) {\n\t\treturn true;\n\t}\n\tif (containsLeadingWrappedCommandSyntax(value, options)) {\n\t\treturn true;\n\t}\n\tif (\n\t\t/^\\s*(?:bash|sh|zsh)\\s+(?:-[A-Za-z]+|\\.{0,2}\\/|~\\/|[A-Za-z0-9_.\\/-]+\\.(?:bash|sh|zsh))/i.test(\n\t\t\tvalue,\n\t\t) ||\n\t\t/^\\s*(?:powershell|cmd)\\s+(?:-[A-Za-z]+|\\/c\\b)/i.test(value)\n\t) {\n\t\treturn true;\n\t}\n\tif (containsKnownExecutableCommandSyntax(value)) {\n\t\treturn true;\n\t}\n\tif (containsYarnGoCargoCommandSyntax(value)) {\n\t\treturn true;\n\t}\n\tif (containsMakeCommandSyntax(value, options)) {\n\t\treturn true;\n\t}\n\tif (containsEnvPrefixedCommandSyntax(value, options)) {\n\t\treturn true;\n\t}\n\tif (containsEnvWrappedCommandSyntax(value, options)) {\n\t\treturn true;\n\t}\n\tif (containsChainedShellBuiltinSyntax(value)) {\n\t\treturn true;\n\t}\n\treturn (\n\t\tcontainsPathCommandSyntax(value) ||\n\t\tcontainsSimpleShellUtilitySyntax(value) ||\n\t\tcontainsShellMetacharCommandSyntax(value) ||\n\t\t/^\\s*(?:\\.{0,2}\\/|[A-Za-z0-9_.-]*\\/)[^\\s]+(?:\\s+\\S+)*(?:\\s*(?:&&|\\|\\||[;|`])|\\$\\()/i.test(\n\t\t\tvalue,\n\t\t)\n\t);\n}\n\nfunction containsKnownExecutableCommandSyntax(value: string): boolean {\n\tconst text = value.trimStart();\n\treturn (\n\t\t/^(?:rm\\s+-[A-Za-z]*[rf][A-Za-z]*\\s+\\S+|node\\s+(?:-[A-Za-z]|--\\S+|\\.{1,2}\\/\\S+|~\\/\\S+|\\/\\S+|[A-Za-z0-9_.-]*\\/\\S+|\\S+\\.(?:cjs|mjs|js|ts|tsx))\\S*(?:\\s+\\S+)*)/.test(\n\t\t\ttext,\n\t\t) ||\n\t\tcontainsGitCommandSyntax(text) ||\n\t\tcontainsDockerCommandSyntax(text) ||\n\t\tcontainsGhCommandSyntax(text) ||\n\t\tcontainsSudoCommandSyntax(text) ||\n\t\tcontainsHttpFetchCommandSyntax(text) ||\n\t\tcontainsPackageManagerCommandSyntax(text) ||\n\t\tcontainsPythonCommandSyntax(text) ||\n\t\tcontainsInfraCommandSyntax(text) ||\n\t\tcontainsToolCommandSyntax(text)\n\t);\n}\n\nfunction containsGitCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*git\\s+(\\S+)(?:\\s+(.+?))?\\s*$/.exec(value);\n\tconst subcommand = match?.[1];\n\tif (!subcommand) {\n\t\treturn false;\n\t}\n\tif (subcommand.startsWith(\"-\")) {\n\t\treturn true;\n\t}\n\tconst allowed = new Set([\n\t\t\"add\",\n\t\t\"am\",\n\t\t\"apply\",\n\t\t\"bisect\",\n\t\t\"branch\",\n\t\t\"checkout\",\n\t\t\"clone\",\n\t\t\"commit\",\n\t\t\"config\",\n\t\t\"diff\",\n\t\t\"fetch\",\n\t\t\"grep\",\n\t\t\"init\",\n\t\t\"log\",\n\t\t\"merge\",\n\t\t\"mv\",\n\t\t\"pull\",\n\t\t\"push\",\n\t\t\"rebase\",\n\t\t\"remote\",\n\t\t\"reset\",\n\t\t\"restore\",\n\t\t\"rm\",\n\t\t\"show\",\n\t\t\"stash\",\n\t\t\"status\",\n\t\t\"switch\",\n\t\t\"tag\",\n\t\t\"worktree\",\n\t]);\n\tif (!allowed.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[2]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\treturn args\n\t\t.split(/\\s+/)\n\t\t.some((arg) => hasGitCommandCueArgument(subcommand, arg));\n}\n\nfunction hasGitCommandCueArgument(subcommand: string, arg: string): boolean {\n\tif (hasCommandCueArgument(arg) || /^https?:\\/\\//i.test(arg)) {\n\t\treturn true;\n\t}\n\tif ([\"fetch\", \"pull\", \"push\"].includes(subcommand)) {\n\t\treturn /^[A-Za-z0-9_.-]+(?::[A-Za-z0-9_./-]+)?$/.test(arg);\n\t}\n\treturn false;\n}\n\nfunction containsDockerCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*docker\\s+(\\S+)(?:\\s+(.+?))?\\s*$/.exec(value);\n\tconst subcommand = match?.[1];\n\tif (!subcommand) {\n\t\treturn false;\n\t}\n\tconst allowed = new Set([\n\t\t\"build\",\n\t\t\"run\",\n\t\t\"compose\",\n\t\t\"ps\",\n\t\t\"pull\",\n\t\t\"push\",\n\t\t\"login\",\n\t\t\"logout\",\n\t\t\"exec\",\n\t\t\"image\",\n\t\t\"images\",\n\t\t\"container\",\n\t\t\"volume\",\n\t\t\"network\",\n\t\t\"system\",\n\t\t\"context\",\n\t\t\"inspect\",\n\t\t\"logs\",\n\t\t\"stop\",\n\t\t\"start\",\n\t\t\"restart\",\n\t\t\"rm\",\n\t\t\"rmi\",\n\t\t\"tag\",\n\t\t\"version\",\n\t\t\"info\",\n\t]);\n\tif (!allowed.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[2]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\treturn args.split(/\\s+/).some((arg) => hasCommandCueArgument(arg));\n}\n\nfunction containsGhCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*gh\\s+(\\S+)(?:\\s+(.+?))?\\s*$/.exec(value);\n\tconst subcommand = match?.[1];\n\tif (!subcommand) {\n\t\treturn false;\n\t}\n\tif (subcommand.startsWith(\"-\")) {\n\t\treturn true;\n\t}\n\tconst allowed = new Set([\n\t\t\"alias\",\n\t\t\"api\",\n\t\t\"auth\",\n\t\t\"browse\",\n\t\t\"codespace\",\n\t\t\"completion\",\n\t\t\"config\",\n\t\t\"extension\",\n\t\t\"gpg-key\",\n\t\t\"gist\",\n\t\t\"issue\",\n\t\t\"label\",\n\t\t\"pr\",\n\t\t\"release\",\n\t\t\"repo\",\n\t\t\"run\",\n\t\t\"search\",\n\t\t\"secret\",\n\t\t\"ssh-key\",\n\t\t\"status\",\n\t\t\"variable\",\n\t\t\"workflow\",\n\t]);\n\tif (!allowed.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[2]?.trim();\n\tif (!args) {\n\t\treturn !ghCommandGroupChildren[subcommand];\n\t}\n\tconst [rawChild, ...rest] = args.split(/\\s+/);\n\tif (!rawChild) {\n\t\treturn false;\n\t}\n\tif (rawChild.startsWith(\"-\")) {\n\t\treturn true;\n\t}\n\tconst child = rawChild.toLowerCase();\n\tconst allowedChildren = ghCommandGroupChildren[subcommand];\n\tif (!allowedChildren) {\n\t\treturn true;\n\t}\n\tif (allowedChildren?.has(child)) {\n\t\treturn true;\n\t}\n\treturn [rawChild, ...rest].some((arg) => hasCommandCueArgument(arg));\n}\n\nconst ghCommandGroupChildren: Record<string, ReadonlySet<string>> = {\n\tauth: new Set([\n\t\t\"login\",\n\t\t\"logout\",\n\t\t\"refresh\",\n\t\t\"setup-git\",\n\t\t\"status\",\n\t\t\"switch\",\n\t]),\n\tcodespace: new Set([\n\t\t\"code\",\n\t\t\"cp\",\n\t\t\"create\",\n\t\t\"delete\",\n\t\t\"edit\",\n\t\t\"jupyter\",\n\t\t\"list\",\n\t\t\"logs\",\n\t\t\"ports\",\n\t\t\"rebuild\",\n\t\t\"ssh\",\n\t\t\"stop\",\n\t]),\n\textension: new Set([\n\t\t\"browse\",\n\t\t\"create\",\n\t\t\"exec\",\n\t\t\"install\",\n\t\t\"list\",\n\t\t\"remove\",\n\t\t\"search\",\n\t\t\"upgrade\",\n\t]),\n\tgist: new Set([\n\t\t\"clone\",\n\t\t\"create\",\n\t\t\"delete\",\n\t\t\"edit\",\n\t\t\"list\",\n\t\t\"rename\",\n\t\t\"view\",\n\t]),\n\tissue: new Set([\n\t\t\"close\",\n\t\t\"comment\",\n\t\t\"create\",\n\t\t\"delete\",\n\t\t\"develop\",\n\t\t\"edit\",\n\t\t\"list\",\n\t\t\"lock\",\n\t\t\"pin\",\n\t\t\"reopen\",\n\t\t\"status\",\n\t\t\"transfer\",\n\t\t\"unlock\",\n\t\t\"unpin\",\n\t\t\"view\",\n\t]),\n\tpr: new Set([\n\t\t\"checkout\",\n\t\t\"checks\",\n\t\t\"close\",\n\t\t\"comment\",\n\t\t\"create\",\n\t\t\"diff\",\n\t\t\"edit\",\n\t\t\"list\",\n\t\t\"lock\",\n\t\t\"merge\",\n\t\t\"ready\",\n\t\t\"reopen\",\n\t\t\"review\",\n\t\t\"status\",\n\t\t\"unlock\",\n\t\t\"update-branch\",\n\t\t\"view\",\n\t]),\n\trelease: new Set([\n\t\t\"create\",\n\t\t\"delete\",\n\t\t\"delete-asset\",\n\t\t\"download\",\n\t\t\"edit\",\n\t\t\"list\",\n\t\t\"upload\",\n\t\t\"view\",\n\t]),\n\trepo: new Set([\n\t\t\"archive\",\n\t\t\"clone\",\n\t\t\"create\",\n\t\t\"delete\",\n\t\t\"deploy-key\",\n\t\t\"edit\",\n\t\t\"fork\",\n\t\t\"list\",\n\t\t\"rename\",\n\t\t\"set-default\",\n\t\t\"sync\",\n\t\t\"unarchive\",\n\t\t\"view\",\n\t]),\n\trun: new Set([\n\t\t\"cancel\",\n\t\t\"delete\",\n\t\t\"download\",\n\t\t\"list\",\n\t\t\"rerun\",\n\t\t\"view\",\n\t\t\"watch\",\n\t]),\n\tsecret: new Set([\"delete\", \"list\", \"set\"]),\n\tvariable: new Set([\"delete\", \"get\", \"list\", \"set\"]),\n\tworkflow: new Set([\"disable\", \"enable\", \"list\", \"run\", \"view\"]),\n};\n\nfunction containsSudoCommandSyntax(value: string): boolean {\n\tconst parts = value.trim().split(/\\s+/);\n\tif (parts.shift() !== \"sudo\") {\n\t\treturn false;\n\t}\n\twhile (parts[0]?.startsWith(\"-\")) {\n\t\tconst option = parts.shift();\n\t\tif (option && [\"-u\", \"-g\", \"-h\", \"-p\", \"-C\", \"-T\"].includes(option)) {\n\t\t\tparts.shift();\n\t\t}\n\t}\n\tconst command = parts.join(\" \");\n\treturn command ? containsShellCommandAtStart(command) : false;\n}\n\nfunction containsHttpFetchCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*(?:curl|wget)\\s+(.+?)\\s*$/.exec(value);\n\tif (!match?.[1]) {\n\t\treturn false;\n\t}\n\tconst args = match[1].trim().split(/\\s+/);\n\treturn args.some(\n\t\t(arg) =>\n\t\t\targ.startsWith(\"-\") ||\n\t\t\t/^(?:https?|ftp):\\/\\//i.test(arg) ||\n\t\t\t/^[A-Za-z0-9.-]+\\.[A-Za-z]{2,}(?:[/:?#]\\S*)?$/i.test(arg),\n\t);\n}\n\nfunction containsYarnGoCargoCommandSyntax(value: string): boolean {\n\tconst match =\n\t\t/^\\s*(yarn|go|cargo)\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+(.+?))?\\s*$/.exec(\n\t\t\tvalue,\n\t\t);\n\tconst command = match?.[1];\n\tconst subcommand = match?.[2];\n\tif (!command || !subcommand) {\n\t\treturn false;\n\t}\n\tconst allowed: Record<string, ReadonlySet<string>> = {\n\t\tyarn: new Set([\n\t\t\t\"test\",\n\t\t\t\"run\",\n\t\t\t\"build\",\n\t\t\t\"install\",\n\t\t\t\"add\",\n\t\t\t\"remove\",\n\t\t\t\"exec\",\n\t\t\t\"workspace\",\n\t\t\t\"workspaces\",\n\t\t\t\"dlx\",\n\t\t]),\n\t\tgo: new Set([\n\t\t\t\"test\",\n\t\t\t\"run\",\n\t\t\t\"build\",\n\t\t\t\"mod\",\n\t\t\t\"fmt\",\n\t\t\t\"vet\",\n\t\t\t\"install\",\n\t\t\t\"generate\",\n\t\t\t\"env\",\n\t\t\t\"version\",\n\t\t]),\n\t\tcargo: new Set([\n\t\t\t\"test\",\n\t\t\t\"run\",\n\t\t\t\"build\",\n\t\t\t\"check\",\n\t\t\t\"fmt\",\n\t\t\t\"clippy\",\n\t\t\t\"install\",\n\t\t]),\n\t};\n\tif (!allowed[command]?.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[3]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\treturn args\n\t\t.split(/\\s+/)\n\t\t.some((arg) =>\n\t\t\t/^(?:-|\\.{1,2}$|\\.{1,2}\\/|~\\/|\\/|[A-Za-z0-9_.-]*\\/|[A-Za-z_][A-Za-z0-9_]*=)|[/.*?]|\\.[A-Za-z0-9_-]+$/.test(\n\t\t\t\targ,\n\t\t\t),\n\t\t);\n}\n\nfunction containsPackageManagerCommandSyntax(value: string): boolean {\n\treturn (\n\t\tcontainsNpmPnpmCommandSyntax(value) ||\n\t\tcontainsBunCommandSyntax(value) ||\n\t\tcontainsPackageRunnerCommandSyntax(value) ||\n\t\tcontainsUvCommandSyntax(value)\n\t);\n}\n\nfunction containsPackageRunnerCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*(npx|bunx|uvx)\\s+(\\S+)(?:\\s+(.+?))?\\s*$/.exec(value);\n\tif (!match) {\n\t\treturn false;\n\t}\n\tconst command = match[2];\n\tif (!command) {\n\t\treturn false;\n\t}\n\tif (\n\t\t/^(?:-[A-Za-z]|--\\S+|\\.{1,2}\\/\\S+|~\\/\\S+|\\/\\S+|[A-Za-z0-9_.-]*\\/\\S+)/.test(\n\t\t\tcommand,\n\t\t)\n\t) {\n\t\treturn true;\n\t}\n\tif (!isPackageSpecCommandCue(command) && !isKnownPackageRunnerTool(command)) {\n\t\treturn false;\n\t}\n\tconst args = match[3]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\treturn args\n\t\t.split(/\\s+/)\n\t\t.some((arg) => hasPackageManagerCommandCueArgument(arg));\n}\n\nfunction containsUvCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*uv\\s+(\\S+)(?:\\s+(.+?))?\\s*$/.exec(value);\n\tif (!match) {\n\t\treturn false;\n\t}\n\tconst subcommand = match[1];\n\tif (!subcommand) {\n\t\treturn false;\n\t}\n\tif (\n\t\t/^(?:-[A-Za-z]|--\\S+|\\.{1,2}\\/\\S+|~\\/\\S+|\\/\\S+|[A-Za-z0-9_.-]*\\/\\S+)/.test(\n\t\t\tsubcommand,\n\t\t)\n\t) {\n\t\treturn true;\n\t}\n\tconst allowed = new Set([\n\t\t\"run\",\n\t\t\"tool\",\n\t\t\"pip\",\n\t\t\"venv\",\n\t\t\"sync\",\n\t\t\"add\",\n\t\t\"remove\",\n\t\t\"init\",\n\t\t\"lock\",\n\t\t\"export\",\n\t\t\"python\",\n\t\t\"build\",\n\t\t\"publish\",\n\t]);\n\tif (!allowed.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[2]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\treturn args\n\t\t.split(/\\s+/)\n\t\t.some((arg) => hasPackageManagerCommandCueArgument(arg));\n}\n\nfunction hasPackageManagerCommandCueArgument(arg: string): boolean {\n\treturn (\n\t\thasCommandCueArgument(arg) ||\n\t\tisPackageSpecCommandCue(arg) ||\n\t\tisKnownPackageRunnerTool(arg) ||\n\t\tisPackageRunnerSubcommandCue(arg)\n\t);\n}\n\nfunction isKnownPackageRunnerTool(value: string): boolean {\n\treturn /^(?:biome|eslint|jest|nx|playwright|prettier|pytest|ruff|tsc|vitest)$/i.test(\n\t\tvalue,\n\t);\n}\n\nfunction isPackageRunnerSubcommandCue(value: string): boolean {\n\treturn /^(?:build|check|fix|format|lint|run|test)$/i.test(value);\n}\n\nfunction isPackageSpecCommandCue(value: string): boolean {\n\treturn (\n\t\tvalue.includes(\"@\") ||\n\t\t/^[A-Za-z0-9_.-]+(?:==|~=|!=|<=|>=|<|>)\\S+$/.test(value) ||\n\t\t/^[A-Za-z0-9_.-]+\\[[^\\]\\s]+\\](?:==|~=|!=|<=|>=|<|>)?\\S*$/.test(value)\n\t);\n}\n\nfunction containsNpmPnpmCommandSyntax(value: string): boolean {\n\tconst match =\n\t\t/^\\s*(npm|pnpm)\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+(.+?))?\\s*$/.exec(value);\n\tconst command = match?.[1];\n\tconst subcommand = match?.[2];\n\tif (!command || !subcommand) {\n\t\treturn false;\n\t}\n\tconst allowed = new Set([\n\t\t\"run\",\n\t\t\"test\",\n\t\t\"build\",\n\t\t\"install\",\n\t\t\"add\",\n\t\t\"remove\",\n\t\t\"exec\",\n\t\t\"ci\",\n\t\t\"start\",\n\t\t\"stop\",\n\t\t\"restart\",\n\t\t\"publish\",\n\t\t\"pack\",\n\t\t\"audit\",\n\t\t\"lint\",\n\t\t\"format\",\n\t\t\"view\",\n\t\t\"config\",\n\t\t\"cache\",\n\t\t\"workspace\",\n\t\t\"workspaces\",\n\t\t\"create\",\n\t\t\"init\",\n\t\t\"link\",\n\t\t\"unlink\",\n\t\t\"outdated\",\n\t\t\"update\",\n\t\t\"version\",\n\t]);\n\tif (!allowed.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[3]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\tif (\n\t\t[\"run\", \"exec\", \"workspace\", \"workspaces\", \"create\"].includes(subcommand)\n\t) {\n\t\treturn true;\n\t}\n\treturn args.split(/\\s+/).some((arg) => hasCommandCueArgument(arg));\n}\n\nfunction containsBunCommandSyntax(value: string): boolean {\n\tif (\n\t\t/^\\s*bun\\s+(?:-[A-Za-z]|--\\S+|\\.{1,2}\\/\\S+|~\\/\\S+|\\/\\S+|[A-Za-z0-9_.-]*\\/\\S+|\\S+\\.(?:cjs|mjs|js|ts|tsx))(?:\\s+\\S+)*\\s*$/.test(\n\t\t\tvalue,\n\t\t)\n\t) {\n\t\treturn true;\n\t}\n\tconst match = /^\\s*bun\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+(.+?))?\\s*$/.exec(\n\t\tvalue,\n\t);\n\tconst subcommand = match?.[1];\n\tif (!subcommand) {\n\t\treturn false;\n\t}\n\tconst allowed = new Set([\n\t\t\"run\",\n\t\t\"test\",\n\t\t\"install\",\n\t\t\"add\",\n\t\t\"remove\",\n\t\t\"x\",\n\t\t\"exec\",\n\t\t\"build\",\n\t\t\"create\",\n\t\t\"init\",\n\t]);\n\tif (!allowed.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[2]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\tif ([\"run\", \"x\", \"exec\", \"create\"].includes(subcommand)) {\n\t\treturn true;\n\t}\n\treturn args.split(/\\s+/).some((arg) => hasCommandCueArgument(arg));\n}\n\nfunction hasCommandCueArgument(arg: string): boolean {\n\treturn /^(?:-|\\.{1,2}$|\\.{1,2}\\/|~\\/|\\/|[A-Za-z0-9_.-]*\\/|[A-Za-z_][A-Za-z0-9_]*=)|[/.*?]|\\.[A-Za-z0-9_-]+$/.test(\n\t\targ,\n\t);\n}\n\nfunction containsPythonCommandSyntax(value: string): boolean {\n\treturn (\n\t\t/^(?:python(?:3)?\\s+(?:-[A-Za-z]|--\\S+|\\.{1,2}\\/\\S+|~\\/\\S+|\\/\\S+|[A-Za-z0-9_.-]*\\/\\S+|\\S+\\.(?:py|pyw))(?:\\s+\\S+)*|pytest(?:\\s*$|\\s+(?:-[A-Za-z]|--\\S+|\\.{1,2}\\/\\S+|~\\/\\S+|\\/\\S+|[A-Za-z0-9_.-]*\\/\\S+|tests?\\b|\\S+\\.py\\b)(?:\\s+\\S+)*))/.test(\n\t\t\tvalue,\n\t\t) || containsPipCommandSyntax(value)\n\t);\n}\n\nfunction containsPipCommandSyntax(value: string): boolean {\n\tconst match =\n\t\t/^\\s*pip(?:3)?\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+(.+?))?\\s*$/.exec(value);\n\tif (!match) {\n\t\treturn false;\n\t}\n\tconst rawSubcommand = match[1];\n\tif (!rawSubcommand) {\n\t\treturn false;\n\t}\n\tconst subcommand = rawSubcommand.toLowerCase();\n\tconst allowed = new Set([\n\t\t\"install\",\n\t\t\"uninstall\",\n\t\t\"list\",\n\t\t\"freeze\",\n\t\t\"show\",\n\t\t\"download\",\n\t\t\"wheel\",\n\t\t\"check\",\n\t\t\"config\",\n\t\t\"cache\",\n\t]);\n\tif (!allowed.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[2]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\treturn args\n\t\t.split(/\\s+/)\n\t\t.some((arg) => hasPythonPackageCommandCueArgument(arg));\n}\n\nfunction hasPythonPackageCommandCueArgument(arg: string): boolean {\n\treturn (\n\t\thasCommandCueArgument(arg) ||\n\t\t/^[A-Za-z0-9_.-]+(?:==|~=|!=|<=|>=|<|>)\\S+$/.test(arg) ||\n\t\t/^[A-Za-z0-9_.-]+\\[[^\\]\\s]+\\](?:==|~=|!=|<=|>=|<|>)?\\S*$/.test(arg)\n\t);\n}\n\nfunction containsInfraCommandSyntax(value: string): boolean {\n\treturn (\n\t\tcontainsKubectlCommandSyntax(value) || containsTerraformCommandSyntax(value)\n\t);\n}\n\nfunction containsKubectlCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*kubectl\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+(.+?))?\\s*$/.exec(\n\t\tvalue,\n\t);\n\tconst subcommand = match?.[1];\n\tif (!subcommand) {\n\t\treturn false;\n\t}\n\tconst allowed = new Set([\n\t\t\"get\",\n\t\t\"apply\",\n\t\t\"delete\",\n\t\t\"describe\",\n\t\t\"logs\",\n\t\t\"exec\",\n\t\t\"port-forward\",\n\t\t\"cp\",\n\t\t\"create\",\n\t\t\"edit\",\n\t\t\"patch\",\n\t\t\"rollout\",\n\t\t\"scale\",\n\t\t\"annotate\",\n\t\t\"label\",\n\t\t\"config\",\n\t\t\"cluster-info\",\n\t\t\"api-resources\",\n\t\t\"version\",\n\t\t\"diff\",\n\t\t\"top\",\n\t]);\n\tif (!allowed.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[2]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\tif (\n\t\t[\n\t\t\t\"get\",\n\t\t\t\"apply\",\n\t\t\t\"delete\",\n\t\t\t\"describe\",\n\t\t\t\"logs\",\n\t\t\t\"exec\",\n\t\t\t\"port-forward\",\n\t\t\t\"cp\",\n\t\t\t\"create\",\n\t\t\t\"edit\",\n\t\t\t\"patch\",\n\t\t\t\"rollout\",\n\t\t\t\"scale\",\n\t\t\t\"annotate\",\n\t\t\t\"label\",\n\t\t\t\"config\",\n\t\t].includes(subcommand)\n\t) {\n\t\treturn true;\n\t}\n\treturn args.split(/\\s+/).some((arg) => hasCommandCueArgument(arg));\n}\n\nfunction containsTerraformCommandSyntax(value: string): boolean {\n\tconst match =\n\t\t/^\\s*terraform\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+(.+?))?\\s*$/.exec(value);\n\tconst subcommand = match?.[1];\n\tif (!subcommand) {\n\t\treturn false;\n\t}\n\tconst allowed = new Set([\n\t\t\"init\",\n\t\t\"plan\",\n\t\t\"apply\",\n\t\t\"destroy\",\n\t\t\"fmt\",\n\t\t\"validate\",\n\t\t\"providers\",\n\t\t\"state\",\n\t\t\"import\",\n\t\t\"output\",\n\t\t\"workspace\",\n\t\t\"show\",\n\t\t\"taint\",\n\t\t\"untaint\",\n\t\t\"force-unlock\",\n\t\t\"graph\",\n\t\t\"version\",\n\t]);\n\tif (!allowed.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[2]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\tif ([\"state\", \"import\", \"workspace\"].includes(subcommand)) {\n\t\treturn true;\n\t}\n\treturn args.split(/\\s+/).some((arg) => hasCommandCueArgument(arg));\n}\n\nfunction containsToolCommandSyntax(value: string): boolean {\n\tif (\n\t\t/^\\s*tsc\\s+(?:-[A-Za-z]|--\\S+|\\.{1,2}\\/\\S+|~\\/\\S+|\\/\\S+|[A-Za-z0-9_.-]*\\/\\S+|\\S+\\.(?:ts|tsx|js|json))(?:\\s+\\S+)*\\s*$/.test(\n\t\t\tvalue,\n\t\t)\n\t) {\n\t\treturn true;\n\t}\n\tconst match = /^\\s*(biome|buf|vite|vitest)\\s+(\\S+)(?:\\s+(.+?))?\\s*$/.exec(\n\t\tvalue,\n\t);\n\tif (!match) {\n\t\treturn false;\n\t}\n\tconst rawTool = match[1];\n\tconst rawSubcommand = match[2];\n\tif (!rawTool || !rawSubcommand) {\n\t\treturn false;\n\t}\n\tconst tool = rawTool.toLowerCase();\n\tconst subcommand = rawSubcommand.toLowerCase();\n\tconst allowedByTool: Record<string, Set<string>> = {\n\t\tbiome: new Set([\n\t\t\t\"check\",\n\t\t\t\"ci\",\n\t\t\t\"format\",\n\t\t\t\"lint\",\n\t\t\t\"search\",\n\t\t\t\"migrate\",\n\t\t\t\"rage\",\n\t\t\t\"explain\",\n\t\t]),\n\t\tbuf: new Set([\n\t\t\t\"lint\",\n\t\t\t\"generate\",\n\t\t\t\"format\",\n\t\t\t\"build\",\n\t\t\t\"breaking\",\n\t\t\t\"mod\",\n\t\t\t\"registry\",\n\t\t\t\"beta\",\n\t\t]),\n\t\tvite: new Set([\"build\", \"dev\", \"preview\", \"optimize\"]),\n\t\tvitest: new Set([\"run\", \"watch\", \"related\"]),\n\t};\n\tif (subcommand.startsWith(\"--\")) {\n\t\treturn tool === \"vite\" || tool === \"vitest\";\n\t}\n\tif (!allowedByTool[tool]?.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[3]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\treturn args.split(/\\s+/).some((arg) => hasCommandCueArgument(arg));\n}\n\nfunction containsChainedShellBuiltinSyntax(value: string): boolean {\n\treturn /^\\s*cd\\s+(?:-[A-Za-z]+\\s+)*\\S+(?:\\s*(?:&&|\\|\\||;)\\s*\\S+)/.test(value);\n}\n\nfunction containsShellMetacharCommandSyntax(value: string): boolean {\n\tif (!/(?:\\s*(?:&&|\\|\\||[;|])\\s*\\S+)/.test(value)) {\n\t\treturn false;\n\t}\n\treturn /^\\s*(?:(?:[A-Za-z_][A-Za-z0-9_]*=(?:\"[^\"]*\"|'[^']*'|\\S+)\\s+)+|(?:bash|sh|zsh|powershell|cmd|git|rm|sudo|curl|wget|npm|npx|pnpm|bunx?|uvx?|node|python3?|pip3?|docker|kubectl|terraform|yarn|make|go|cargo|echo|printf|grep|egrep|fgrep|awk|sed|cat|head|tail|find|xargs|sort|uniq|cut|tr|tee|wc|ls|touch|mkdir|export)\\b|(?:\\.{0,2}\\/|~\\/|\\/|[A-Za-z0-9_.-]*\\/)\\S+)/.test(\n\t\tvalue,\n\t);\n}\n\nfunction containsSimpleShellUtilitySyntax(value: string): boolean {\n\treturn (\n\t\t/^\\s*ls\\s+(?:-[A-Za-z0-9]+|\\.{1,2}\\/\\S+|~\\/\\S+|\\/\\S+|\\S*[/.*?]\\S*|\\S+\\.[A-Za-z0-9_-]+)(?:\\s+\\S+)*\\s*$/.test(\n\t\t\tvalue,\n\t\t) ||\n\t\t/^\\s*cat\\s+(?:\\.{1,2}\\/|~\\/|\\/|[A-Za-z0-9_.-]*\\/)?[A-Za-z0-9_.-]+\\.[A-Za-z0-9_.-]+(?:\\s+\\S+)*\\s*$/.test(\n\t\t\tvalue,\n\t\t) ||\n\t\tcontainsGrepShellUtilitySyntax(value) ||\n\t\t/^\\s*rg\\s+(?:-\\S+\\s+)*(?:\"[^\"]+\"|'[^']+'|\\S+)\\s+\\S+(?:\\s+\\S+)*\\s*$/.test(\n\t\t\tvalue,\n\t\t) ||\n\t\t/^\\s*fd\\s+(?:-\\S+\\s+)*(?:\"[^\"]+\"|'[^']+'|\\S+)(?:\\s+\\S+)*\\s*$/.test(value) ||\n\t\t/^\\s*sed\\s+(?:-\\S+\\s+)*(?:\"[^\"]+\"|'[^']+'|\\S+)\\s+\\S+(?:\\s+\\S+)*\\s*$/.test(\n\t\t\tvalue,\n\t\t) ||\n\t\t/^\\s*(?:cp|mv)\\s+(?:-\\S+\\s+)*\\S+\\s+\\S+(?:\\s+\\S+)*\\s*$/.test(value) ||\n\t\t/^\\s*(?:mkdir|touch)\\s+(?:-\\S+\\s+)*\\S+(?:\\s+\\S+)*\\s*$/.test(value) ||\n\t\t/^\\s*chmod\\s+(?:-\\S+\\s+)*(?:[0-7]{3,4}|[ugoa]*[+-=][rwxXstugo,]+)\\s+\\S+(?:\\s+\\S+)*\\s*$/.test(\n\t\t\tvalue,\n\t\t) ||\n\t\t/^\\s*tar\\s+(?:-\\S+\\s+)+\\S+(?:\\s+\\S+)*\\s*$/.test(value) ||\n\t\t/^\\s*find\\s+(?:(?:\\.{1,2}|\\.{1,2}\\/\\S+|~\\/\\S+|\\/\\S+|[A-Za-z0-9_.-]*\\/\\S+)\\s+)?(?:-\\S+|\\S+\\s+-\\S+)(?:\\s+\\S+)*\\s*$/.test(\n\t\t\tvalue,\n\t\t) ||\n\t\tcontainsRemoteShellUtilitySyntax(value)\n\t);\n}\n\nfunction containsGrepShellUtilitySyntax(value: string): boolean {\n\tconst match = /^\\s*(?:grep|egrep|fgrep)\\s+(.+?)\\s*$/.exec(value);\n\tif (!match?.[1]) {\n\t\treturn false;\n\t}\n\tconst args = match[1].trim().split(/\\s+/);\n\tif (args.length < 2) {\n\t\treturn false;\n\t}\n\tif (args.some((arg) => arg.startsWith(\"-\"))) {\n\t\treturn true;\n\t}\n\tif (/^\\s*(?:grep|egrep|fgrep)\\s+(?:\"[^\"]+\"|'[^']+')\\s+\\S+/.test(value)) {\n\t\treturn true;\n\t}\n\treturn args\n\t\t.slice(1)\n\t\t.some((arg) =>\n\t\t\t/(?:^\\.{1,2}$|^\\.{1,2}\\/|^~\\/|^\\/|\\/|\\*|\\?|\\.[A-Za-z0-9_-]+$)/.test(arg),\n\t\t);\n}\n\nfunction containsRemoteShellUtilitySyntax(value: string): boolean {\n\tconst parts = value.trim().split(/\\s+/);\n\tconst command = parts[0]?.toLowerCase();\n\tif (!command || ![\"ssh\", \"scp\", \"rsync\"].includes(command)) {\n\t\treturn false;\n\t}\n\tconst args = parts.slice(1);\n\tif (args.length === 0) {\n\t\treturn false;\n\t}\n\tif (args.some((arg) => arg.startsWith(\"-\"))) {\n\t\treturn true;\n\t}\n\tif (\n\t\targs.some((arg) =>\n\t\t\t/(?:@|:|^\\.{1,2}$|^\\.{1,2}\\/|^~\\/|^\\/|\\/|\\.[A-Za-z0-9_-]+$)/.test(arg),\n\t\t)\n\t) {\n\t\treturn true;\n\t}\n\treturn command === \"ssh\" && args.length === 1;\n}\n\nfunction containsPathCommandSyntax(value: string): boolean {\n\tconst pathMatch = /^\\s*((?:\\.{1,2}\\/|~\\/|\\/)[^\\s]+)(?:\\s+(.+?))?\\s*$/.exec(\n\t\tvalue,\n\t);\n\tif (!pathMatch?.[1]) {\n\t\treturn false;\n\t}\n\tconst path = pathMatch[1];\n\tconst args = pathMatch[2]?.trim();\n\treturn (\n\t\tBoolean(args) ||\n\t\t/\\.(?:bash|sh|zsh|command|cmd|bat|ps1|exe|run|bin)$/i.test(path)\n\t);\n}\n\nfunction containsEnvPrefixedCommandSyntax(\n\tvalue: string,\n\toptions: { allowArbitraryMakeTargets?: boolean } = {},\n): boolean {\n\tconst envPrefixedCommand =\n\t\t/^\\s*(?:[A-Za-z_][A-Za-z0-9_]*=(?:\"[^\"]*\"|'[^']*'|\\S+)\\s+)+(.+)$/.exec(\n\t\t\tvalue,\n\t\t);\n\treturn envPrefixedCommand?.[1]\n\t\t? containsShellCommandAtStart(envPrefixedCommand[1], options)\n\t\t: false;\n}\n\nfunction containsEnvWrappedCommandSyntax(\n\tvalue: string,\n\toptions: { allowArbitraryMakeTargets?: boolean } = {},\n): boolean {\n\tconst envMatch = /^\\s*env\\s+(.+?)\\s*$/.exec(value);\n\tif (!envMatch?.[1]) {\n\t\treturn false;\n\t}\n\tconst args = envMatch[1].trim().split(/\\s+/);\n\tlet index = 0;\n\twhile (index < args.length) {\n\t\tconst arg = args[index];\n\t\tif (!arg) {\n\t\t\tbreak;\n\t\t}\n\t\tif (\n\t\t\targ === \"-\" ||\n\t\t\targ === \"-i\" ||\n\t\t\targ === \"--ignore-environment\" ||\n\t\t\targ === \"-0\" ||\n\t\t\targ === \"--null\"\n\t\t) {\n\t\t\tindex += 1;\n\t\t\tcontinue;\n\t\t}\n\t\tif (\n\t\t\targ === \"-C\" ||\n\t\t\targ === \"--chdir\" ||\n\t\t\targ === \"-u\" ||\n\t\t\targ === \"--unset\"\n\t\t) {\n\t\t\tindex += 2;\n\t\t\tcontinue;\n\t\t}\n\t\tif (\n\t\t\targ.startsWith(\"-C\") ||\n\t\t\targ.startsWith(\"--chdir=\") ||\n\t\t\targ.startsWith(\"--unset=\")\n\t\t) {\n\t\t\tindex += 1;\n\t\t\tcontinue;\n\t\t}\n\t\tif (/^[A-Za-z_][A-Za-z0-9_]*=(?:\"[^\"]*\"|'[^']*'|\\S+)$/.test(arg)) {\n\t\t\tindex += 1;\n\t\t\tcontinue;\n\t\t}\n\t\tbreak;\n\t}\n\tconst command = args.slice(index).join(\" \");\n\treturn command ? containsShellCommandAtStart(command, options) : false;\n}\n\nfunction containsLeadingWrappedCommandSyntax(\n\tvalue: string,\n\toptions: { allowArbitraryMakeTargets?: boolean } = {},\n): boolean {\n\tconst wrapped =\n\t\t/^\\s*(?:`([^`]+)`|'([^']+)'|\"([^\"]+)\")(?:\\s+\\S[\\s\\S]*)?$/.exec(value);\n\tconst command = wrapped?.[1] ?? wrapped?.[2] ?? wrapped?.[3];\n\treturn command ? containsShellCommandAtStart(command, options) : false;\n}\n\nfunction containsMakeCommandSyntax(\n\tvalue: string,\n\toptions: { allowArbitraryMakeTargets?: boolean } = {},\n): boolean {\n\tif (/^\\s*make\\s*$/.test(value)) {\n\t\treturn true;\n\t}\n\tconst makeMatch = /^\\s*make\\s+(.+?)\\s*$/.exec(value);\n\tif (!makeMatch?.[1]) {\n\t\treturn false;\n\t}\n\tconst args = makeMatch[1].trim().split(/\\s+/);\n\tif (args.length === 0) {\n\t\treturn false;\n\t}\n\tif (args.length === 1) {\n\t\tconst target = args[0];\n\t\tif (!target || !/^[A-Za-z0-9_.:/-]+$/.test(target)) {\n\t\t\treturn false;\n\t\t}\n\t\treturn (\n\t\t\toptions.allowArbitraryMakeTargets ||\n\t\t\tCOMMON_MAKE_TARGETS.has(target.toLowerCase()) ||\n\t\t\t/[./:_-]/.test(target)\n\t\t);\n\t}\n\treturn (\n\t\t(options.allowArbitraryMakeTargets &&\n\t\t\targs.every((arg) => /^[A-Za-z0-9_.:/-]+$/.test(arg))) ||\n\t\targs.every((arg) => COMMON_MAKE_TARGETS.has(arg.toLowerCase())) ||\n\t\targs.some(\n\t\t\t(arg) =>\n\t\t\t\targ.startsWith(\"-\") ||\n\t\t\t\t/^[A-Za-z_][A-Za-z0-9_]*=/.test(arg) ||\n\t\t\t\t/[./:_-]/.test(arg),\n\t\t)\n\t);\n}\n\nfunction unwrapCommandText(value: string): string {\n\tconst trimmed = value.trim();\n\tconst wrapped = /^(?:`([^`]+)`|'([^']+)'|\"([^\"]+)\")$/.exec(trimmed);\n\treturn wrapped?.[1] ?? wrapped?.[2] ?? wrapped?.[3] ?? value;\n}\n\nfunction sanitizeDelegationPrompt(\n\tvalue: string | undefined,\n): string | undefined {\n\tconst text = nonEmptyString(value);\n\tif (!text) {\n\t\treturn undefined;\n\t}\n\treturn REDACTED;\n}\n\nfunction isShellToolName(toolName: string | undefined): boolean {\n\treturn /(?:^|[._-])(?:bash|shell|exec_command)$/i.test(toolName ?? \"\");\n}\n\nfunction containsGeneratedShellToolLabel(\n\ttoolName: string | undefined,\n\tvalue: string | undefined,\n): boolean {\n\treturn isShellToolName(toolName) && /^\\s*Ran\\s+\\S[\\s\\S]*$/i.test(value ?? \"\");\n}\n\nfunction containsBatchGeneratedShellToolLabel(\n\ttoolNames: string[] | undefined,\n\tvalue: string | undefined,\n): boolean {\n\treturn (\n\t\ttoolNames?.some(isShellToolName) === true &&\n\t\t/^\\s*Ran\\s+\\S[\\s\\S]*$/i.test(value ?? \"\")\n\t);\n}\n\nfunction sanitizeToolOutboundText(\n\ttoolName: string | undefined,\n\tvalue: string | undefined,\n\tmaxLength = MAX_TEXT_FIELD_LENGTH,\n): string | undefined {\n\tif (containsGeneratedShellToolLabel(toolName, value)) {\n\t\treturn REDACTED;\n\t}\n\treturn sanitizeOutboundText(value, maxLength);\n}\n\nfunction sanitizedToolDisplayName(event: {\n\tdisplayName?: string;\n\tsummaryLabel?: string;\n\ttoolName: string;\n}): string {\n\treturn (\n\t\tsanitizeToolOutboundText(event.toolName, toolDisplayName(event)) ??\n\t\tevent.toolName\n\t);\n}\n\nfunction materializedToolExecutionId(event: {\n\ttoolCallId: string;\n\ttoolExecutionId?: string;\n}): string | undefined {\n\tconst toolExecutionId = nonEmptyString(event.toolExecutionId)?.trim();\n\tconst toolCallId = nonEmptyString(event.toolCallId)?.trim();\n\tif (!toolExecutionId || toolExecutionId === toolCallId) {\n\t\treturn undefined;\n\t}\n\treturn toolExecutionId;\n}\n\nfunction toolResultMetrics(result: {\n\tcontent?: unknown;\n\tdetails?: unknown;\n\tisError?: unknown;\n\ttoolExecutionId?: unknown;\n\tapprovalRequestId?: unknown;\n}): Record<string, unknown> {\n\tconst content = Array.isArray(result.content) ? result.content : [];\n\tconst textBlocks = content.filter(\n\t\t(block): block is { type: \"text\"; text: string } =>\n\t\t\tisRecord(block) &&\n\t\t\tblock.type === \"text\" &&\n\t\t\ttypeof block.text === \"string\",\n\t);\n\tconst imageMimeTypes = content\n\t\t.map((block) =>\n\t\t\tisRecord(block) && block.type === \"image\"\n\t\t\t\t? compactString(block.mimeType, 128)\n\t\t\t\t: undefined,\n\t\t)\n\t\t.filter((mimeType): mimeType is string => Boolean(mimeType));\n\treturn {\n\t\tcontent_block_count: content.length,\n\t\ttext_block_count: textBlocks.length,\n\t\ttext_total_chars: textBlocks.reduce(\n\t\t\t(total, block) => total + block.text.length,\n\t\t\t0,\n\t\t),\n\t\timage_block_count: imageMimeTypes.length,\n\t\timage_mime_types: imageMimeTypes.length > 0 ? imageMimeTypes : undefined,\n\t\tdetails_keys: objectKeys(result.details),\n\t\tresult_error:\n\t\t\ttypeof result.isError === \"boolean\" ? result.isError : undefined,\n\t\tresult_tool_execution_id:\n\t\t\ttypeof result.toolExecutionId === \"string\"\n\t\t\t\t? result.toolExecutionId\n\t\t\t\t: undefined,\n\t\tresult_approval_request_id:\n\t\t\ttypeof result.approvalRequestId === \"string\"\n\t\t\t\t? result.approvalRequestId\n\t\t\t\t: undefined,\n\t};\n}\n\nfunction waitTypeForRequest(\n\tkind: ServerRequestLifecycleEvent[\"request\"][\"kind\"],\n): PlatformAgentRunWaitTypeValue {\n\tswitch (kind) {\n\t\tcase \"approval\":\n\t\tcase \"tool_retry\":\n\t\t\treturn PlatformAgentRunWaitTypeValue.Approval;\n\t\tcase \"client_tool\":\n\t\tcase \"mcp_elicitation\":\n\t\tcase \"user_input\":\n\t\t\treturn PlatformAgentRunWaitTypeValue.Input;\n\t}\n}\n\nfunction taskWorkItemState(\n\tstatus: HostedAgentRuntimeTaskStatus,\n): PlatformAgentWorkItemStateValue {\n\tswitch (status) {\n\t\tcase \"pending\":\n\t\t\treturn PlatformAgentWorkItemStateValue.Pending;\n\t\tcase \"running\":\n\t\t\treturn PlatformAgentWorkItemStateValue.Running;\n\t\tcase \"waiting\":\n\t\t\treturn PlatformAgentWorkItemStateValue.Waiting;\n\t\tcase \"blocked\":\n\t\t\treturn PlatformAgentWorkItemStateValue.Blocked;\n\t\tcase \"succeeded\":\n\t\t\treturn PlatformAgentWorkItemStateValue.Succeeded;\n\t\tcase \"failed\":\n\t\t\treturn PlatformAgentWorkItemStateValue.Failed;\n\t\tcase \"cancelled\":\n\t\t\treturn PlatformAgentWorkItemStateValue.Cancelled;\n\t}\n}\n\nfunction taskStepState(\n\tstatus: HostedAgentRuntimeTaskStatus,\n): PlatformAgentRunStepStateValue {\n\tswitch (status) {\n\t\tcase \"pending\":\n\t\t\treturn PlatformAgentRunStepStateValue.Pending;\n\t\tcase \"running\":\n\t\t\treturn PlatformAgentRunStepStateValue.Running;\n\t\tcase \"waiting\":\n\t\tcase \"blocked\":\n\t\t\treturn PlatformAgentRunStepStateValue.Waiting;\n\t\tcase \"succeeded\":\n\t\t\treturn PlatformAgentRunStepStateValue.Succeeded;\n\t\tcase \"failed\":\n\t\t\treturn PlatformAgentRunStepStateValue.Failed;\n\t\tcase \"cancelled\":\n\t\t\treturn PlatformAgentRunStepStateValue.Cancelled;\n\t}\n}\n\nfunction defaultTaskWorkItemKind(\n\tsource: HostedAgentRuntimeTaskSource,\n): PlatformAgentWorkItemKindValue {\n\tswitch (source) {\n\t\tcase \"background\":\n\t\t\treturn PlatformAgentWorkItemKindValue.ToolCall;\n\t\tcase \"swarm\":\n\t\t\treturn PlatformAgentWorkItemKindValue.ChildRun;\n\t\tcase \"checkpoint\":\n\t\t\treturn PlatformAgentWorkItemKindValue.Recovery;\n\t\tcase \"todo\":\n\t\t\treturn PlatformAgentWorkItemKindValue.Followup;\n\t}\n}\n\nfunction defaultTaskStepKind(\n\tsource: HostedAgentRuntimeTaskSource,\n\tstatus: HostedAgentRuntimeTaskStatus,\n): PlatformAgentRunStepKindValue {\n\tif (status === \"failed\") {\n\t\treturn PlatformAgentRunStepKindValue.Error;\n\t}\n\tif (source === \"background\") {\n\t\treturn status === \"succeeded\" || status === \"cancelled\"\n\t\t\t? PlatformAgentRunStepKindValue.ToolResult\n\t\t\t: PlatformAgentRunStepKindValue.ToolCallIntent;\n\t}\n\treturn PlatformAgentRunStepKindValue.System;\n}\n\nfunction shouldRecordTaskStep(\n\tevent: HostedAgentRuntimeTaskProgressEvent,\n): boolean {\n\tif (event.recordStep !== undefined) {\n\t\treturn event.recordStep;\n\t}\n\treturn event.status !== \"pending\";\n}\n\nfunction backgroundStatusToTaskStatus(\n\tstatus: string | undefined,\n): HostedAgentRuntimeTaskStatus {\n\tswitch (status) {\n\t\tcase \"running\":\n\t\tcase \"restarting\":\n\t\t\treturn \"running\";\n\t\tcase \"stopped\":\n\t\t\treturn \"cancelled\";\n\t\tcase \"exited\":\n\t\t\treturn \"succeeded\";\n\t\tcase \"failed\":\n\t\t\treturn \"failed\";\n\t\tdefault:\n\t\t\treturn \"pending\";\n\t}\n}\n\nfunction todoStatusToTaskStatus(status: unknown): HostedAgentRuntimeTaskStatus {\n\tswitch (status) {\n\t\tcase \"in_progress\":\n\t\t\treturn \"running\";\n\t\tcase \"completed\":\n\t\t\treturn \"succeeded\";\n\t\tdefault:\n\t\t\treturn \"pending\";\n\t}\n}\n\nfunction taskPromptSummary(task: SwarmTask): string {\n\treturn compactString(task.prompt, 160) ?? task.id;\n}\n\nexport class HostedAgentRuntimeProgressRecorder {\n\tprivate readonly sessionId: string;\n\tprivate readonly hostedRunner?: HostedAgentRuntimeProgressContext;\n\tprivate readonly workspaceRoot?: string;\n\tprivate readonly operations: Required<HostedAgentRuntimeProgressRecorderOperations>;\n\tprivate readonly pendingWaitIds = new Map<string, string>();\n\tprivate readonly resumedWaitIds = new Set<string>();\n\tprivate readonly codexSubagentReceiverThreadIds = new Map<string, string[]>();\n\tprivate readonly codexSubagentToolChildRunIds = new Map<string, string[]>();\n\tprivate readonly codexSubagentToolWorkGraphs = new Map<\n\t\tstring,\n\t\tRecord<string, unknown>\n\t>();\n\tprivate readonly codexSubagentThreadWorkItemIds = new Map<string, string>();\n\tprivate readonly codexSubagentDelegationIds = new Map<string, string>();\n\tprivate readonly codexSubagentDelegationIdsByThreadId = new Map<\n\t\tstring,\n\t\tstring\n\t>();\n\tprivate readonly codexSubagentDelegationIdsByChildRunId = new Map<\n\t\tstring,\n\t\tstring\n\t>();\n\tprivate readonly recordedModelUsageTurnIds = new Set<string>();\n\tprivate readonly toolArgsByCallId = new Map<\n\t\tstring,\n\t\tRecord<string, unknown>\n\t>();\n\tprivate readonly turnStartedAtMs = new Map<number, number>();\n\tprivate readonly toolStartedAtMs = new Map<string, number>();\n\tprivate readonly toolAttemptCounts = new Map<string, number>();\n\tprivate agentStartedAtMs?: number;\n\tprivate readonly recordedTaskWorkItemIds = new Set<string>();\n\tprivate pending: Promise<void> = Promise.resolve();\n\tprivate turnIndex = 0;\n\tprivate autoRetrySequence = 0;\n\tprivate activeAutoRetrySequence: number | null = null;\n\tprivate lastAutoRetryAttempt = 0;\n\tprivate terminalRecorded = false;\n\n\tconstructor(options: HostedAgentRuntimeProgressRecorderOptions) {\n\t\tthis.sessionId = options.sessionId;\n\t\tthis.hostedRunner = options.hostedRunner;\n\t\tthis.workspaceRoot = options.workspaceRoot;\n\t\tthis.operations = {\n\t\t\trecordStep: options.operations?.recordStep ?? recordAgentRuntimeRunStep,\n\t\t\trecordEvent:\n\t\t\t\toptions.operations?.recordEvent ?? recordAgentRuntimeRunEvent,\n\t\t\trecordCost: options.operations?.recordCost ?? recordAgentRuntimeRunCost,\n\t\t\trecordWorkItem:\n\t\t\t\toptions.operations?.recordWorkItem ?? recordAgentRuntimeRunWorkItem,\n\t\t\tupdateWorkItem:\n\t\t\t\toptions.operations?.updateWorkItem ?? updateAgentRuntimeRunWorkItem,\n\t\t\twaitRun: options.operations?.waitRun ?? waitAgentRuntimeRun,\n\t\t\tresumeRun: options.operations?.resumeRun ?? resumeAgentRuntimeRun,\n\t\t\tcompleteRun: options.operations?.completeRun ?? completeAgentRuntimeRun,\n\t\t\tfailRun: options.operations?.failRun ?? failAgentRuntimeRun,\n\t\t\tdelegateAgent:\n\t\t\t\toptions.operations?.delegateAgent ?? delegateAgentWithPlatform,\n\t\t\tresolveDelegation:\n\t\t\t\toptions.operations?.resolveDelegation ??\n\t\t\t\tresolveAgentDelegationWithPlatform,\n\t\t};\n\t}\n\n\trecordAgentEvent(event: AgentEvent): void {\n\t\tswitch (event.type) {\n\t\t\tcase \"agent_start\":\n\t\t\t\tthis.agentStartedAtMs = Date.now();\n\t\t\t\tthis.recordStep({\n\t\t\t\t\tid: this.stepId(\"agent\", `start-${this.turnIndex + 1}`),\n\t\t\t\t\tname: event.continuation ? \"Agent continuation\" : \"Agent run\",\n\t\t\t\t\tstepKind: PlatformAgentRunStepKindValue.System,\n\t\t\t\t\tstate: PlatformAgentRunStepStateValue.Running,\n\t\t\t\t\tstartedAt: this.isoTime(this.agentStartedAtMs),\n\t\t\t\t\tinput: this.basePayload({\n\t\t\t\t\t\tevent_type: event.type,\n\t\t\t\t\t\tcontinuation: event.continuation ?? false,\n\t\t\t\t\t\tlifecycle_status: \"running\",\n\t\t\t\t\t\tobservation_authority: \"maestro_local_unverified\",\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"agent_end\":\n\t\t\t\t{\n\t\t\t\t\tconst endedAtMs = Date.now();\n\t\t\t\t\tconst stepId = this.stepId(\"agent\", `end-${this.turnIndex}`);\n\t\t\t\t\tconst failed = event.aborted || event.stopReason === \"error\";\n\t\t\t\t\tthis.recordStep({\n\t\t\t\t\t\tid: stepId,\n\t\t\t\t\t\tname: \"Agent run completed\",\n\t\t\t\t\t\tstepKind: failed\n\t\t\t\t\t\t\t? PlatformAgentRunStepKindValue.Error\n\t\t\t\t\t\t\t: PlatformAgentRunStepKindValue.System,\n\t\t\t\t\t\tstate: failed\n\t\t\t\t\t\t\t? PlatformAgentRunStepStateValue.Failed\n\t\t\t\t\t\t\t: PlatformAgentRunStepStateValue.Succeeded,\n\t\t\t\t\t\tstartedAt: this.isoTime(this.agentStartedAtMs),\n\t\t\t\t\t\tendedAt: this.isoTime(endedAtMs),\n\t\t\t\t\t\terrorMessage: failed\n\t\t\t\t\t\t\t? (event.stopReason ?? \"agent execution failed\")\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\toutput: this.basePayload({\n\t\t\t\t\t\t\tevent_type: event.type,\n\t\t\t\t\t\t\taborted: event.aborted ?? false,\n\t\t\t\t\t\t\tstop_reason: event.stopReason,\n\t\t\t\t\t\t\tlifecycle_status: failed ? \"failed\" : \"succeeded\",\n\t\t\t\t\t\t\tduration_ms: this.durationMs(this.agentStartedAtMs, endedAtMs),\n\t\t\t\t\t\t\terror_class: failed\n\t\t\t\t\t\t\t\t? (event.stopReason ?? \"agent_execution_failed\")\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tobservation_authority: \"maestro_local_unverified\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\t\t\t\t\tthis.recordFinalStatusEvent(event, stepId);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\tcase \"status\":\n\t\t\t\tthis.recordStatusEvent(event);\n\t\t\t\treturn;\n\t\t\tcase \"compaction\":\n\t\t\t\tthis.recordCompactionEvent(event);\n\t\t\t\treturn;\n\t\t\tcase \"auto_retry_start\":\n\t\t\t\tthis.recordAutoRetryStart(event);\n\t\t\t\treturn;\n\t\t\tcase \"auto_retry_end\":\n\t\t\t\tthis.recordAutoRetryEnd(event);\n\t\t\t\treturn;\n\t\t\tcase \"diagnostic_delta\":\n\t\t\t\tthis.recordDiagnosticDelta(event);\n\t\t\t\treturn;\n\t\t\tcase \"tool_batch_summary\":\n\t\t\t\tthis.recordToolBatchSummary(event);\n\t\t\t\treturn;\n\t\t\tcase \"tool_phase_summary\":\n\t\t\t\tthis.recordToolPhaseSummary(event);\n\t\t\t\treturn;\n\t\t\tcase \"tool_execution_update\":\n\t\t\t\tthis.recordToolExecutionUpdate(event);\n\t\t\t\treturn;\n\t\t\tcase \"tool_retry_required\":\n\t\t\t\tthis.recordApprovalWait({\n\t\t\t\t\tid: event.request.id,\n\t\t\t\t\tcallId: event.request.toolCallId,\n\t\t\t\t\ttoolName: event.request.toolName,\n\t\t\t\t\treason: event.request.summary ?? event.request.errorMessage,\n\t\t\t\t\tkind: \"tool_retry\",\n\t\t\t\t});\n\t\t\t\tthis.recordToolRetryEvent(event);\n\t\t\t\treturn;\n\t\t\tcase \"tool_retry_resolved\":\n\t\t\t\tthis.resumeWait({\n\t\t\t\t\tid: event.request.id,\n\t\t\t\t\tkind: \"tool_retry\",\n\t\t\t\t\tresolution: event.decision.action,\n\t\t\t\t\tresolvedBy: event.decision.resolvedBy,\n\t\t\t\t\treason: event.decision.reason,\n\t\t\t\t});\n\t\t\t\tthis.recordToolRetryEvent(event);\n\t\t\t\treturn;\n\t\t\tcase \"turn_start\":\n\t\t\t\tthis.turnIndex += 1;\n\t\t\t\tthis.turnStartedAtMs.set(this.turnIndex, Date.now());\n\t\t\t\tthis.recordStep({\n\t\t\t\t\tid: this.stepId(\"turn\", String(this.turnIndex)),\n\t\t\t\t\tname: `Turn ${this.turnIndex}`,\n\t\t\t\t\tstepKind: PlatformAgentRunStepKindValue.ModelCall,\n\t\t\t\t\tstate: PlatformAgentRunStepStateValue.Running,\n\t\t\t\t\tattempt: this.turnIndex,\n\t\t\t\t\tstartedAt: this.isoTime(this.turnStartedAtMs.get(this.turnIndex)),\n\t\t\t\t\tinput: this.basePayload({\n\t\t\t\t\t\tevent_type: event.type,\n\t\t\t\t\t\tturn_index: this.turnIndex,\n\t\t\t\t\t\tlifecycle_status: \"running\",\n\t\t\t\t\t\tobservation_authority: \"maestro_local_unverified\",\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"turn_end\":\n\t\t\t\t{\n\t\t\t\t\tconst turnStartedAtMs = this.turnStartedAtMs.get(this.turnIndex);\n\t\t\t\t\tconst endedAtMs = Date.now();\n\t\t\t\t\tthis.turnStartedAtMs.delete(this.turnIndex);\n\t\t\t\t\tthis.recordStep({\n\t\t\t\t\t\tid: this.stepId(\"turn\", String(this.turnIndex)),\n\t\t\t\t\t\tname: `Turn ${this.turnIndex}`,\n\t\t\t\t\t\tstepKind: PlatformAgentRunStepKindValue.ModelCall,\n\t\t\t\t\t\tstate: PlatformAgentRunStepStateValue.Succeeded,\n\t\t\t\t\t\tattempt: this.turnIndex,\n\t\t\t\t\t\tstartedAt: this.isoTime(turnStartedAtMs),\n\t\t\t\t\t\tendedAt: this.isoTime(endedAtMs),\n\t\t\t\t\t\toutput: this.basePayload({\n\t\t\t\t\t\t\tevent_type: event.type,\n\t\t\t\t\t\t\tturn_index: this.turnIndex,\n\t\t\t\t\t\t\tlifecycle_status: \"succeeded\",\n\t\t\t\t\t\t\ttool_result_count: event.toolResults.length,\n\t\t\t\t\t\t\tduration_ms: this.durationMs(turnStartedAtMs, endedAtMs),\n\t\t\t\t\t\t\tobservation_authority: \"maestro_local_unverified\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\t\t\t\t\tthis.recordModelUsageEvent(event.message);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\tcase \"tool_execution_start\":\n\t\t\t\t{\n\t\t\t\t\tthis.toolArgsByCallId.set(event.toolCallId, event.args);\n\t\t\t\t\tthis.toolStartedAtMs.set(event.toolCallId, Date.now());\n\t\t\t\t\tconst attempt =\n\t\t\t\t\t\t(this.toolAttemptCounts.get(event.toolCallId) ?? 0) + 1;\n\t\t\t\t\tthis.toolAttemptCounts.set(event.toolCallId, attempt);\n\t\t\t\t\tthis.recordStep({\n\t\t\t\t\t\tid: this.toolStepId(event.toolCallId),\n\t\t\t\t\t\tname: sanitizedToolDisplayName(event),\n\t\t\t\t\t\tstepKind: PlatformAgentRunStepKindValue.ToolCallIntent,\n\t\t\t\t\t\tstate: PlatformAgentRunStepStateValue.Running,\n\t\t\t\t\t\tattempt,\n\t\t\t\t\t\tstartedAt: this.isoTime(this.toolStartedAtMs.get(event.toolCallId)),\n\t\t\t\t\t\tinput: this.basePayload({\n\t\t\t\t\t\t\tevent_type: event.type,\n\t\t\t\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\t\t\t\ttool_execution_id: materializedToolExecutionId(event),\n\t\t\t\t\t\t\ttool_name: event.toolName,\n\t\t\t\t\t\t\ttool_attempt: attempt,\n\t\t\t\t\t\t\tlifecycle_status: \"running\",\n\t\t\t\t\t\t\tdisplay_name: sanitizeToolOutboundText(\n\t\t\t\t\t\t\t\tevent.toolName,\n\t\t\t\t\t\t\t\tevent.displayName,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tsummary_label: sanitizeToolOutboundText(\n\t\t\t\t\t\t\t\tevent.toolName,\n\t\t\t\t\t\t\t\tevent.summaryLabel,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\targ_keys: objectKeys(event.args),\n\t\t\t\t\t\t\targ_count: objectKeys(event.args)?.length ?? 0,\n\t\t\t\t\t\t\tobservation_authority: \"maestro_local_unverified\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\t\t\t\t\tthis.recordCodexSubagentWorkItem(event);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\tcase \"tool_execution_end\":\n\t\t\t\t{\n\t\t\t\t\tconst toolStartedAtMs = this.toolStartedAtMs.get(event.toolCallId);\n\t\t\t\t\tconst endedAtMs = Date.now();\n\t\t\t\t\tthis.toolStartedAtMs.delete(event.toolCallId);\n\t\t\t\t\tconst attempt = this.toolAttemptCounts.get(event.toolCallId);\n\t\t\t\t\tconst errorClass = event.isError\n\t\t\t\t\t\t? (compactString(event.errorCode ?? event.governedOutcome, 96) ??\n\t\t\t\t\t\t\t\"tool_execution_failed\")\n\t\t\t\t\t\t: undefined;\n\t\t\t\t\tthis.recordStep({\n\t\t\t\t\t\tid: this.toolStepId(event.toolCallId),\n\t\t\t\t\t\tname: sanitizedToolDisplayName(event),\n\t\t\t\t\t\tstepKind: event.isError\n\t\t\t\t\t\t\t? PlatformAgentRunStepKindValue.Error\n\t\t\t\t\t\t\t: PlatformAgentRunStepKindValue.ToolResult,\n\t\t\t\t\t\tstate: event.isError\n\t\t\t\t\t\t\t? PlatformAgentRunStepStateValue.Failed\n\t\t\t\t\t\t\t: PlatformAgentRunStepStateValue.Succeeded,\n\t\t\t\t\t\terrorMessage: event.isError\n\t\t\t\t\t\t\t? (event.errorCode ?? event.governedOutcome ?? \"tool failed\")\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\tattempt,\n\t\t\t\t\t\tstartedAt: this.isoTime(toolStartedAtMs),\n\t\t\t\t\t\tendedAt: this.isoTime(endedAtMs),\n\t\t\t\t\t\toutput: this.basePayload({\n\t\t\t\t\t\t\tevent_type: event.type,\n\t\t\t\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\t\t\t\ttool_execution_id: materializedToolExecutionId(event),\n\t\t\t\t\t\t\tapproval_request_id: event.approvalRequestId,\n\t\t\t\t\t\t\ttool_name: event.toolName,\n\t\t\t\t\t\t\ttool_attempt: attempt,\n\t\t\t\t\t\t\tlifecycle_status: event.isError ? \"failed\" : \"succeeded\",\n\t\t\t\t\t\t\tdisplay_name: sanitizeToolOutboundText(\n\t\t\t\t\t\t\t\tevent.toolName,\n\t\t\t\t\t\t\t\tevent.displayName,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tsummary_label: sanitizeToolOutboundText(\n\t\t\t\t\t\t\t\tevent.toolName,\n\t\t\t\t\t\t\t\tevent.summaryLabel,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\terror_code: event.errorCode,\n\t\t\t\t\t\t\tgoverned_outcome: event.governedOutcome,\n\t\t\t\t\t\t\terror_class: errorClass,\n\t\t\t\t\t\t\tresult_error: event.isError,\n\t\t\t\t\t\t\tresult_content_count: Array.isArray(event.result.content)\n\t\t\t\t\t\t\t\t? event.result.content.length\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tresult_detail_keys: objectKeys(\n\t\t\t\t\t\t\t\tisRecord(event.result.details)\n\t\t\t\t\t\t\t\t\t? event.result.details\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tduration_ms: this.durationMs(toolStartedAtMs, endedAtMs),\n\t\t\t\t\t\t\tobservation_authority: \"maestro_local_unverified\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\t\t\t\t\tthis.updateCodexSubagentWorkItem(event);\n\t\t\t\t\tthis.recordToolDerivedTaskProgress(event);\n\t\t\t\t\tthis.recordToolArtifactEvent(event);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\tcase \"action_approval_required\":\n\t\t\t\tthis.recordApprovalWait({\n\t\t\t\t\tid: event.request.id,\n\t\t\t\t\tcallId: event.request.id,\n\t\t\t\t\ttoolName: event.request.toolName,\n\t\t\t\t\treason: event.request.reason,\n\t\t\t\t\tdisplayName: event.request.displayName,\n\t\t\t\t\tsummaryLabel: event.request.summaryLabel,\n\t\t\t\t\tstartedAtMs: event.request.startedAtMs,\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"action_approval_resolved\":\n\t\t\t\tthis.resumeWait({\n\t\t\t\t\tid: event.request.id,\n\t\t\t\t\tkind: \"approval\",\n\t\t\t\t\tresolution: event.decision.approved ? \"approved\" : \"denied\",\n\t\t\t\t\tresolvedBy: event.decision.resolvedBy ?? \"user\",\n\t\t\t\t\treason: event.decision.reason,\n\t\t\t\t\tstartedAtMs: event.request.startedAtMs,\n\t\t\t\t\tresolvedAtMs: event.decision.resolvedAtMs,\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"error\":\n\t\t\t\tthis.recordPromptFailure(event.message);\n\t\t\t\treturn;\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\t}\n\n\tprivate recordFinalStatusEvent(\n\t\tevent: Extract<AgentEvent, { type: \"agent_end\" }>,\n\t\tstepId: string,\n\t): void {\n\t\tconst finalStatus =\n\t\t\tevent.aborted || event.stopReason === \"error\" ? \"failed\" : \"succeeded\";\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: \"Maestro agent final status recorded\",\n\t\t\tstepId,\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: \"agent_final_status\",\n\t\t\t\tfinal_status: finalStatus,\n\t\t\t\taborted: event.aborted ?? false,\n\t\t\t\tstop_reason: event.stopReason,\n\t\t\t\tmessage_count: event.messages.length,\n\t\t\t\tpartial_accepted: Boolean(event.partialAccepted),\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordStatusEvent(\n\t\tevent: Extract<AgentEvent, { type: \"status\" }>,\n\t): void {\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: \"Maestro status recorded\",\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\tstatus: sanitizeStatusText(event.status, event.details),\n\t\t\t\tdetail_keys: objectKeys(event.details),\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordCompactionEvent(\n\t\tevent: Extract<AgentEvent, { type: \"compaction\" }>,\n\t): void {\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: \"Maestro context compaction recorded\",\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\tfirst_kept_entry_index: event.firstKeptEntryIndex,\n\t\t\t\ttokens_before: event.tokensBefore,\n\t\t\t\tauto: event.auto ?? false,\n\t\t\t\tcustom_instructions_present: Boolean(event.customInstructions),\n\t\t\t\tsummary_chars: event.summary.length,\n\t\t\t\ttimestamp: event.timestamp,\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordAutoRetryStart(\n\t\tevent: Extract<AgentEvent, { type: \"auto_retry_start\" }>,\n\t): void {\n\t\tconst sequence = this.resolveAutoRetryStartSequence(event.attempt);\n\t\tthis.recordStep({\n\t\t\tid: this.autoRetryStepId(event.attempt, sequence),\n\t\t\tname: `Auto retry ${event.attempt}`,\n\t\t\tstepKind: PlatformAgentRunStepKindValue.System,\n\t\t\tstate: PlatformAgentRunStepStateValue.Waiting,\n\t\t\tinput: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\tattempt: event.attempt,\n\t\t\t\tmax_attempts: event.maxAttempts,\n\t\t\t\tdelay_ms: event.delayMs,\n\t\t\t\terror_message: sanitizeOutboundText(event.errorMessage, 512),\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordAutoRetryEnd(\n\t\tevent: Extract<AgentEvent, { type: \"auto_retry_end\" }>,\n\t): void {\n\t\tconst sequence = this.resolveAutoRetryEndSequence();\n\t\tthis.recordStep({\n\t\t\tid: this.autoRetryStepId(event.attempt, sequence),\n\t\t\tname: `Auto retry ${event.attempt}`,\n\t\t\tstepKind: event.success\n\t\t\t\t? PlatformAgentRunStepKindValue.System\n\t\t\t\t: PlatformAgentRunStepKindValue.Error,\n\t\t\tstate: event.success\n\t\t\t\t? PlatformAgentRunStepStateValue.Succeeded\n\t\t\t\t: PlatformAgentRunStepStateValue.Failed,\n\t\t\terrorMessage: event.success\n\t\t\t\t? undefined\n\t\t\t\t: sanitizeOutboundText(event.finalError, 512),\n\t\t\toutput: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\tsuccess: event.success,\n\t\t\t\tattempt: event.attempt,\n\t\t\t\tfinal_error: sanitizeOutboundText(event.finalError, 512),\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordDiagnosticDelta(\n\t\tevent: Extract<AgentEvent, { type: \"diagnostic_delta\" }>,\n\t): void {\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: \"Maestro diagnostic delta recorded\",\n\t\t\tstepId: this.toolStepId(event.toolCallId),\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\ttool_name: event.toolName,\n\t\t\t\tdisplay_path: compactString(event.displayPath, 512),\n\t\t\t\tused_delta: event.usedDelta,\n\t\t\t\tintroduced_count: event.introducedCount,\n\t\t\t\trepaired_count: event.repairedCount,\n\t\t\t\tremaining_count: event.remainingCount,\n\t\t\t\tfingerprint: event.fingerprint,\n\t\t\t\trepair_attempt: event.repairAttempt,\n\t\t\t\tmax_repair_attempts: event.maxRepairAttempts,\n\t\t\t\twill_auto_follow_up: event.willAutoFollowUp,\n\t\t\t\treason: compactString(event.reason),\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordToolBatchSummary(\n\t\tevent: Extract<AgentEvent, { type: \"tool_batch_summary\" }>,\n\t): void {\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: \"Maestro tool batch summary recorded\",\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\tsummary: sanitizeToolBatchSummaryText(event.summary, event.toolNames),\n\t\t\t\tsummary_labels: sanitizeToolBatchSummaryLabels(\n\t\t\t\t\tevent.summaryLabels,\n\t\t\t\t\tevent.toolNames,\n\t\t\t\t),\n\t\t\t\ttool_call_ids: compactStringArray(event.toolCallIds),\n\t\t\t\ttool_names: compactStringArray(event.toolNames),\n\t\t\t\tcalls_succeeded: event.callsSucceeded,\n\t\t\t\tcalls_failed: event.callsFailed,\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordToolPhaseSummary(\n\t\tevent: Extract<AgentEvent, { type: \"tool_phase_summary\" }>,\n\t): void {\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: \"Maestro tool phase summary recorded\",\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\tmodel_tool_call_count: event.modelToolCallCount,\n\t\t\t\tmodel_emitted_tool_call_count: event.modelEmittedToolCallCount,\n\t\t\t\tschedulable_wave_count: event.schedulableWaveCount,\n\t\t\t\tparallelized_call_count: event.parallelizedCallCount,\n\t\t\t\tactually_parallelized_call_count: event.actuallyParallelizedCallCount,\n\t\t\t\tserialized_call_count: event.serializedCallCount,\n\t\t\t\tdelayed_call_count: event.delayedCallCount,\n\t\t\t\tblocked_by_mutation_count: event.blockedByMutationCount,\n\t\t\t\tmcp_opt_in_call_count: event.mcpOptInCallCount,\n\t\t\t\tmcp_opt_in_use_count: event.mcpOptInUseCount,\n\t\t\t\tcache_hit_count: event.cacheHitCount,\n\t\t\t\ttotal_tool_wait_ms: event.totalToolWaitMs,\n\t\t\t\ttool_wait_time_ms: event.toolWaitTimeMs,\n\t\t\t\tserialization_reasons: event.serializationReasons,\n\t\t\t\tbatch_shaping_feedback: event.batchShapingFeedback,\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordToolExecutionUpdate(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_update\" }>,\n\t): void {\n\t\tconst partialToolExecutionId =\n\t\t\tmaterializedToolExecutionId(event) ??\n\t\t\tmaterializedToolExecutionId({\n\t\t\t\ttoolCallId: event.toolCallId,\n\t\t\t\ttoolExecutionId: event.partialResult.toolExecutionId,\n\t\t\t});\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: \"Maestro tool execution update recorded\",\n\t\t\tstepId: this.toolStepId(event.toolCallId),\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\ttool_execution_id: partialToolExecutionId,\n\t\t\t\ttool_name: event.toolName,\n\t\t\t\tdisplay_name: sanitizeToolOutboundText(\n\t\t\t\t\tevent.toolName,\n\t\t\t\t\tevent.displayName,\n\t\t\t\t),\n\t\t\t\tsummary_label: sanitizeToolOutboundText(\n\t\t\t\t\tevent.toolName,\n\t\t\t\t\tevent.summaryLabel,\n\t\t\t\t),\n\t\t\t\targ_keys: objectKeys(event.args),\n\t\t\t\t...toolResultMetrics(event.partialResult),\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordToolArtifactEvent(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_end\" }>,\n\t): void {\n\t\tconst metadata = event.skillMetadata;\n\t\tif (!metadata) {\n\t\t\treturn;\n\t\t}\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: \"Maestro tool artifact evidence recorded\",\n\t\t\tstepId: this.toolStepId(event.toolCallId),\n\t\t\tartifactId: metadata.artifactId,\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: \"tool_artifact_recorded\",\n\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\ttool_execution_id: materializedToolExecutionId(event),\n\t\t\t\ttool_name: event.toolName,\n\t\t\t\tdisplay_name: sanitizeToolOutboundText(\n\t\t\t\t\tevent.toolName,\n\t\t\t\t\tevent.displayName,\n\t\t\t\t),\n\t\t\t\tsummary_label: sanitizeToolOutboundText(\n\t\t\t\t\tevent.toolName,\n\t\t\t\t\tevent.summaryLabel,\n\t\t\t\t),\n\t\t\t\tskill_name: metadata.name,\n\t\t\t\tskill_hash: metadata.hash,\n\t\t\t\tskill_source: metadata.source,\n\t\t\t\tskill_artifact_id: metadata.artifactId,\n\t\t\t\tskill_version: metadata.version,\n\t\t\t\tskill_scope: metadata.scope,\n\t\t\t\tskill_workspace_id: metadata.workspaceId,\n\t\t\t\tskill_owner_id: metadata.ownerId,\n\t\t\t\tsource_path: compactString(metadata.sourcePath, 512),\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordToolRetryEvent(\n\t\tevent: Extract<\n\t\t\tAgentEvent,\n\t\t\t{ type: \"tool_retry_required\" | \"tool_retry_resolved\" }\n\t\t>,\n\t): void {\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage:\n\t\t\t\tevent.type === \"tool_retry_required\"\n\t\t\t\t\t? \"Maestro tool retry required\"\n\t\t\t\t\t: \"Maestro tool retry resolved\",\n\t\t\tstepId: this.toolStepId(event.request.toolCallId),\n\t\t\twaitId: this.waitId(event.request.id),\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\trequest_id: event.request.id,\n\t\t\t\ttool_call_id: event.request.toolCallId,\n\t\t\t\ttool_name: event.request.toolName,\n\t\t\t\terror_message: sanitizeOutboundText(event.request.errorMessage, 512),\n\t\t\t\tsummary: sanitizeOutboundText(event.request.summary, 512),\n\t\t\t\tattempt: event.request.attempt,\n\t\t\t\tmax_attempts: event.request.maxAttempts,\n\t\t\t\targ_keys: objectKeys(event.request.args),\n\t\t\t\t...(event.type === \"tool_retry_resolved\"\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tresolution: event.decision.action,\n\t\t\t\t\t\t\tresolved_by: event.decision.resolvedBy,\n\t\t\t\t\t\t\treason: sanitizeOutboundText(event.decision.reason, 512),\n\t\t\t\t\t\t}\n\t\t\t\t\t: {}),\n\t\t\t}),\n\t\t});\n\t}\n\n\trecordServerRequestEvent(event: ServerRequestLifecycleEvent): void {\n\t\tif (event.type === \"registered\") {\n\t\t\tthis.recordApprovalWait({\n\t\t\t\tid: event.request.id,\n\t\t\t\tcallId: event.request.callId,\n\t\t\t\ttoolName: event.request.toolName,\n\t\t\t\treason: event.request.reason,\n\t\t\t\tdisplayName: event.request.displayName,\n\t\t\t\tsummaryLabel: event.request.summaryLabel,\n\t\t\t\tkind: event.request.kind,\n\t\t\t\tstartedAtMs: event.request.startedAtMs,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tthis.resumeWait({\n\t\t\tid: event.request.id,\n\t\t\tkind: event.request.kind,\n\t\t\tresolution: event.resolution,\n\t\t\tresolvedBy: event.resolvedBy,\n\t\t\treason: event.reason,\n\t\t\tstartedAtMs: event.request.startedAtMs,\n\t\t\tresolvedAtMs: event.resolvedAtMs,\n\t\t});\n\t}\n\n\trecordPromptFailure(message: string): void {\n\t\tconst stepId = this.stepId(\"error\", `${Date.now()}`);\n\t\tthis.recordStep({\n\t\t\tid: stepId,\n\t\t\tname: \"Prompt failed\",\n\t\t\tstepKind: PlatformAgentRunStepKindValue.Error,\n\t\t\tstate: PlatformAgentRunStepStateValue.Failed,\n\t\t\terrorMessage: sanitizeOutboundText(message),\n\t\t\toutput: this.basePayload({\n\t\t\t\tevent_type: \"prompt_failure\",\n\t\t\t}),\n\t\t});\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: \"Maestro prompt failure recorded\",\n\t\t\tstepId,\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: \"prompt_failure\",\n\t\t\t\terror_message: sanitizeOutboundText(message),\n\t\t\t}),\n\t\t});\n\t}\n\n\trecordTaskProgressEvent(event: HostedAgentRuntimeTaskProgressEvent): void {\n\t\tconst runId = nonEmptyString(this.hostedRunner?.agentRunId);\n\t\tif (!this.hostedRunner?.enabled || !runId) {\n\t\t\treturn;\n\t\t}\n\t\tconst title = sanitizeOutboundText(event.title, 256) ?? event.title;\n\t\tconst goal = sanitizeOutboundText(event.goal, 512);\n\t\tconst nextAction = sanitizeOutboundText(event.nextAction);\n\t\tconst blocker = sanitizeOutboundText(event.blocker);\n\t\tconst errorMessage = sanitizeOutboundText(event.errorMessage, 512);\n\t\tconst eventPayload = sanitizeOutboundPayload(event.payload);\n\t\tconst taskId = this.taskProgressId(event.source, event.id);\n\t\tconst parentWorkItemId = event.parentId\n\t\t\t? this.taskProgressId(event.source, event.parentId)\n\t\t\t: undefined;\n\t\tconst evidenceRefs = [\n\t\t\t`maestro-task:${event.source}:${event.id}`,\n\t\t\t...(event.toolCallId ? [`tool-call:${event.toolCallId}`] : []),\n\t\t\t...(event.toolExecutionId\n\t\t\t\t? [`tool-execution:${event.toolExecutionId}`]\n\t\t\t\t: []),\n\t\t\t...(event.evidenceRefs ?? []),\n\t\t];\n\t\tconst state = taskWorkItemState(event.status);\n\t\tconst payload = this.basePayload({\n\t\t\tevent_type: \"maestro_task_progress\",\n\t\t\ttask_source: event.source,\n\t\t\ttask_id: event.id,\n\t\t\ttask_status: event.status,\n\t\t\tparent_task_id: event.parentId,\n\t\t\towner_child_run_id: event.ownerChildRunId,\n\t\t\ttool_call_id: event.toolCallId,\n\t\t\ttool_execution_id: event.toolExecutionId,\n\t\t\tapproval_request_id: event.approvalRequestId,\n\t\t\ttitle,\n\t\t\tgoal,\n\t\t\tnext_action: nextAction,\n\t\t\tblocker,\n\t\t\t...eventPayload,\n\t\t});\n\t\tthis.enqueue(async () => {\n\t\t\tconst updateWorkItem = () =>\n\t\t\t\tthis.operations.updateWorkItem({\n\t\t\t\t\trunId,\n\t\t\t\t\tworkItemId: taskId,\n\t\t\t\t\tstate,\n\t\t\t\t\t...(nextAction ? { nextAction } : {}),\n\t\t\t\t\t...(blocker ? { blocker } : {}),\n\t\t\t\t\t...(event.toolExecutionId\n\t\t\t\t\t\t? { toolExecutionId: event.toolExecutionId }\n\t\t\t\t\t\t: {}),\n\t\t\t\t\tevidenceRefs,\n\t\t\t\t\tcompletionGate:\n\t\t\t\t\t\tevent.completionGate ?? \"maestro_task_progress_recorded\",\n\t\t\t\t\tpayload,\n\t\t\t\t});\n\t\t\tif (this.recordedTaskWorkItemIds.has(taskId)) {\n\t\t\t\tawait updateWorkItem();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst workItem = {\n\t\t\t\tid: taskId,\n\t\t\t\trunId,\n\t\t\t\t...(parentWorkItemId ? { parentWorkItemId } : {}),\n\t\t\t\t...(event.ownerChildRunId\n\t\t\t\t\t? { ownerChildRunId: event.ownerChildRunId }\n\t\t\t\t\t: {}),\n\t\t\t\tkind: event.workItemKind ?? defaultTaskWorkItemKind(event.source),\n\t\t\t\tstate,\n\t\t\t\ttitle,\n\t\t\t\t...(goal ? { goal } : {}),\n\t\t\t\t...(nextAction ? { nextAction } : {}),\n\t\t\t\t...(blocker ? { blocker } : {}),\n\t\t\t\t...(event.toolExecutionId\n\t\t\t\t\t? { toolExecutionId: event.toolExecutionId }\n\t\t\t\t\t: {}),\n\t\t\t\tevidenceRefs,\n\t\t\t\tcompletionGate:\n\t\t\t\t\tevent.completionGate ?? \"maestro_task_progress_recorded\",\n\t\t\t\tpayload,\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tawait this.operations.recordWorkItem({\n\t\t\t\t\trunId,\n\t\t\t\t\tworkItem,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tif (!isExistingWorkItemCreateError(error)) {\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tawait updateWorkItem();\n\t\t\t}\n\t\t\tthis.recordedTaskWorkItemIds.add(taskId);\n\t\t});\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: `Maestro ${event.source} task ${event.status}`,\n\t\t\tstepId: shouldRecordTaskStep(event) ? taskId : undefined,\n\t\t\tattributes: payload,\n\t\t});\n\t\tif (!shouldRecordTaskStep(event)) {\n\t\t\treturn;\n\t\t}\n\t\tconst stepState = taskStepState(event.status);\n\t\tconst stepKind =\n\t\t\tevent.stepKind ?? defaultTaskStepKind(event.source, event.status);\n\t\tthis.recordStep({\n\t\t\tid: taskId,\n\t\t\tname: title,\n\t\t\tstepKind,\n\t\t\tstate: stepState,\n\t\t\terrorMessage: event.status === \"failed\" ? errorMessage : undefined,\n\t\t\t...(stepState === PlatformAgentRunStepStateValue.Running ||\n\t\t\tstepState === PlatformAgentRunStepStateValue.Waiting ||\n\t\t\tstepState === PlatformAgentRunStepStateValue.Pending\n\t\t\t\t? { input: payload }\n\t\t\t\t: { output: payload }),\n\t\t});\n\t}\n\n\trecordSwarmEvent(event: SwarmEvent): void {\n\t\tswitch (event.type) {\n\t\t\tcase \"swarm_start\":\n\t\t\t\tthis.recordTaskProgressEvent({\n\t\t\t\t\tsource: \"swarm\",\n\t\t\t\t\tid: event.swarmId,\n\t\t\t\t\tstatus: \"running\",\n\t\t\t\t\ttitle: `Swarm ${event.swarmId}`,\n\t\t\t\t\tgoal: compactString(event.config.planFile, 512),\n\t\t\t\t\tworkItemKind: PlatformAgentWorkItemKindValue.Root,\n\t\t\t\t\tnextAction: \"coordinate swarm teammates\",\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tswarm_id: event.swarmId,\n\t\t\t\t\t\tteammate_count: event.config.teammateCount,\n\t\t\t\t\t\ttask_count: event.config.tasks.length,\n\t\t\t\t\t\tmode: event.config.mode,\n\t\t\t\t\t\tmodel: event.config.model,\n\t\t\t\t\t\tmodel_provider: event.config.modelProvider,\n\t\t\t\t\t\tsubagent_type: event.config.subagentType,\n\t\t\t\t\t\treasoning_effort: event.config.reasoningEffort,\n\t\t\t\t\t\tcontinue_on_failure: event.config.continueOnFailure,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"task_start\":\n\t\t\t\tthis.recordTaskProgressEvent({\n\t\t\t\t\tsource: \"swarm\",\n\t\t\t\t\tid: `${event.swarmId}:task:${event.task.id}`,\n\t\t\t\t\tparentId: event.swarmId,\n\t\t\t\t\tstatus: \"running\",\n\t\t\t\t\ttitle: `Swarm task ${event.task.id}`,\n\t\t\t\t\tgoal: taskPromptSummary(event.task),\n\t\t\t\t\tworkItemKind: PlatformAgentWorkItemKindValue.ChildRun,\n\t\t\t\t\townerChildRunId: `swarm:${event.swarmId}:teammate:${event.teammateId}`,\n\t\t\t\t\tnextAction: \"wait for teammate task completion\",\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tswarm_id: event.swarmId,\n\t\t\t\t\t\tteammate_id: event.teammateId,\n\t\t\t\t\t\ttask_id: event.task.id,\n\t\t\t\t\t\tfile_count: event.task.files?.length ?? 0,\n\t\t\t\t\t\tdepends_on: event.task.dependsOn,\n\t\t\t\t\t\tmodel: event.task.model,\n\t\t\t\t\t\tsubagent_type: event.task.subagentType,\n\t\t\t\t\t\tpriority: event.task.priority,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"task_complete\":\n\t\t\t\tthis.recordTaskProgressEvent({\n\t\t\t\t\tsource: \"swarm\",\n\t\t\t\t\tid: `${event.swarmId}:task:${event.taskId}`,\n\t\t\t\t\tparentId: event.swarmId,\n\t\t\t\t\tstatus: \"succeeded\",\n\t\t\t\t\ttitle: `Swarm task ${event.taskId}`,\n\t\t\t\t\tworkItemKind: PlatformAgentWorkItemKindValue.ChildRun,\n\t\t\t\t\townerChildRunId: `swarm:${event.swarmId}:teammate:${event.teammateId}`,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tswarm_id: event.swarmId,\n\t\t\t\t\t\tteammate_id: event.teammateId,\n\t\t\t\t\t\ttask_id: event.taskId,\n\t\t\t\t\t\toutput_bytes: Buffer.byteLength(event.output, \"utf8\"),\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"task_fail\":\n\t\t\t\tthis.recordTaskProgressEvent({\n\t\t\t\t\tsource: \"swarm\",\n\t\t\t\t\tid: `${event.swarmId}:task:${event.taskId}`,\n\t\t\t\t\tparentId: event.swarmId,\n\t\t\t\t\tstatus: \"failed\",\n\t\t\t\t\ttitle: `Swarm task ${event.taskId}`,\n\t\t\t\t\tworkItemKind: PlatformAgentWorkItemKindValue.ChildRun,\n\t\t\t\t\townerChildRunId: `swarm:${event.swarmId}:teammate:${event.teammateId}`,\n\t\t\t\t\terrorMessage: event.error,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tswarm_id: event.swarmId,\n\t\t\t\t\t\tteammate_id: event.teammateId,\n\t\t\t\t\t\ttask_id: event.taskId,\n\t\t\t\t\t\terror: compactString(event.error, 512),\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"swarm_complete\":\n\t\t\t\tthis.recordTaskProgressEvent({\n\t\t\t\t\tsource: \"swarm\",\n\t\t\t\t\tid: event.swarmId,\n\t\t\t\t\tstatus: swarmCompletionStatus(event),\n\t\t\t\t\ttitle: `Swarm ${event.swarmId}`,\n\t\t\t\t\tworkItemKind: PlatformAgentWorkItemKindValue.Root,\n\t\t\t\t\terrorMessage: event.state.error,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tswarm_id: event.swarmId,\n\t\t\t\t\t\tswarm_status: event.state.status,\n\t\t\t\t\t\tcompleted_task_count: event.state.completedTasks.size,\n\t\t\t\t\t\tfailed_task_count: event.state.failedTasks.size,\n\t\t\t\t\t\tteammate_count: event.state.teammates.length,\n\t\t\t\t\t\terror: compactString(event.state.error, 512),\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"swarm_fail\":\n\t\t\t\tthis.recordTaskProgressEvent({\n\t\t\t\t\tsource: \"swarm\",\n\t\t\t\t\tid: event.swarmId,\n\t\t\t\t\tstatus: \"failed\",\n\t\t\t\t\ttitle: `Swarm ${event.swarmId}`,\n\t\t\t\t\tworkItemKind: PlatformAgentWorkItemKindValue.Root,\n\t\t\t\t\terrorMessage: event.error,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tswarm_id: event.swarmId,\n\t\t\t\t\t\terror: compactString(event.error, 512),\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"teammate_spawn\":\n\t\t\tcase \"teammate_complete\":\n\t\t\t\tthis.recordEvent({\n\t\t\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\t\t\tmessage: `Maestro swarm ${event.type}`,\n\t\t\t\t\tattributes: this.basePayload({\n\t\t\t\t\t\tevent_type: \"maestro_swarm_teammate_progress\",\n\t\t\t\t\t\tswarm_id: event.swarmId,\n\t\t\t\t\t\tswarm_event_type: event.type,\n\t\t\t\t\t\tteammate_id: event.teammate.id,\n\t\t\t\t\t\tteammate_name: compactString(event.teammate.name),\n\t\t\t\t\t\tteammate_status: event.teammate.status,\n\t\t\t\t\t\tcompleted_task_count: event.teammate.completedTasks.length,\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t}\n\t}\n\n\tasync flush(): Promise<void> {\n\t\tawait this.pending;\n\t}\n\n\tasync completeRun(\n\t\tinput: HostedAgentRuntimeCompleteInput = {},\n\t): Promise<void> {\n\t\tif (this.terminalRecorded) {\n\t\t\tawait this.flush();\n\t\t\treturn;\n\t\t}\n\t\tthis.terminalRecorded = true;\n\t\tthis.enqueue(async () => {\n\t\t\tconst handles = this.handles();\n\t\t\tif (!handles) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait this.operations.completeRun({\n\t\t\t\trunId: handles.runId,\n\t\t\t\tleaseToken: handles.leaseToken,\n\t\t\t\tresult: this.basePayload({\n\t\t\t\t\tevent_type: \"hosted_runner_drained\",\n\t\t\t\t\tstatus: \"drained\",\n\t\t\t\t\tflush_status: input.flushStatus,\n\t\t\t\t\treason: sanitizeOutboundText(input.reason, 512),\n\t\t\t\t\trequested_by: input.requestedBy,\n\t\t\t\t\tmanifest_path: input.manifestPath,\n\t\t\t\t}),\n\t\t\t});\n\t\t});\n\t\tawait this.flush();\n\t}\n\n\tasync failRun(input: HostedAgentRuntimeFailInput): Promise<void> {\n\t\tif (this.terminalRecorded) {\n\t\t\tawait this.flush();\n\t\t\treturn;\n\t\t}\n\t\tthis.terminalRecorded = true;\n\t\tconst errorMessage =\n\t\t\tsanitizeOutboundText(input.errorMessage, 512) ?? input.errorMessage;\n\t\tconst reason = sanitizeOutboundText(input.reason, 512);\n\t\tthis.recordStep({\n\t\t\tid: this.stepId(\"terminal\", \"failed\"),\n\t\t\tname: \"Hosted runner drain failed\",\n\t\t\tstepKind: PlatformAgentRunStepKindValue.Error,\n\t\t\tstate: PlatformAgentRunStepStateValue.Failed,\n\t\t\terrorMessage,\n\t\t\toutput: this.basePayload({\n\t\t\t\tevent_type: \"hosted_runner_drain_failed\",\n\t\t\t\treason,\n\t\t\t\trequested_by: input.requestedBy,\n\t\t\t\tflush_status: input.flushStatus,\n\t\t\t\tmanifest_path: input.manifestPath,\n\t\t\t}),\n\t\t});\n\t\tthis.enqueue(async () => {\n\t\t\tconst handles = this.handles();\n\t\t\tif (!handles) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait this.operations.failRun({\n\t\t\t\trunId: handles.runId,\n\t\t\t\tleaseToken: handles.leaseToken,\n\t\t\t\terrorMessage,\n\t\t\t\tretryable: input.retryable ?? false,\n\t\t\t});\n\t\t});\n\t\tawait this.flush();\n\t}\n\n\tasync recordHostedRunnerDrain(\n\t\tinput: HostedAgentRuntimeDrainInput,\n\t): Promise<void> {\n\t\tthis.recordDrainManifestEvent(input);\n\t\tif (input.status === \"drained\") {\n\t\t\tawait this.completeRun({\n\t\t\t\treason: input.reason,\n\t\t\t\trequestedBy: input.requestedBy,\n\t\t\t\tflushStatus: input.flushStatus,\n\t\t\t\tmanifestPath: input.manifestPath,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tawait this.failRun({\n\t\t\terrorMessage:\n\t\t\t\tinput.errorMessage ?? \"Hosted runner drain did not complete cleanly\",\n\t\t\treason: input.reason,\n\t\t\trequestedBy: input.requestedBy,\n\t\t\tretryable: false,\n\t\t\tflushStatus: input.flushStatus,\n\t\t\tmanifestPath: input.manifestPath,\n\t\t});\n\t}\n\n\tprivate recordApprovalWait(input: {\n\t\tid: string;\n\t\tcallId: string;\n\t\ttoolName: string;\n\t\treason: string;\n\t\tdisplayName?: string;\n\t\tsummaryLabel?: string;\n\t\tkind?: ServerRequestLifecycleEvent[\"request\"][\"kind\"];\n\t\tstartedAtMs?: number;\n\t}): void {\n\t\tif (this.pendingWaitIds.has(input.id)) {\n\t\t\treturn;\n\t\t}\n\t\tconst waitId = this.waitId(input.id);\n\t\tthis.pendingWaitIds.set(input.id, waitId);\n\t\tthis.enqueue(async () => {\n\t\t\tconst handles = this.handles();\n\t\t\tif (!handles) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait this.operations.waitRun({\n\t\t\t\trunId: handles.runId,\n\t\t\t\tleaseToken: handles.leaseToken,\n\t\t\t\twait: {\n\t\t\t\t\tid: waitId,\n\t\t\t\t\tstepId: this.toolStepId(input.callId),\n\t\t\t\t\ttype: waitTypeForRequest(input.kind ?? \"approval\"),\n\t\t\t\t\texternalRef: input.id,\n\t\t\t\t\treason: sanitizeOutboundText(input.reason),\n\t\t\t\t\tpayload: this.basePayload({\n\t\t\t\t\t\trequest_id: input.id,\n\t\t\t\t\t\trequest_type: input.kind ?? \"approval\",\n\t\t\t\t\t\tcall_id: input.callId,\n\t\t\t\t\t\ttool_name: input.toolName,\n\t\t\t\t\t\tdisplay_name: sanitizeToolOutboundText(\n\t\t\t\t\t\t\tinput.toolName,\n\t\t\t\t\t\t\tinput.displayName,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tsummary_label: sanitizeToolOutboundText(\n\t\t\t\t\t\t\tinput.toolName,\n\t\t\t\t\t\t\tinput.summaryLabel,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tstarted_at_ms: input.startedAtMs,\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t\tcheckpoint: {\n\t\t\t\t\tid: this.checkpointId(input.id),\n\t\t\t\t\tstepId: this.toolStepId(input.callId),\n\t\t\t\t\tresumeToken: waitId,\n\t\t\t\t\tpayload: this.basePayload({\n\t\t\t\t\t\trequest_id: input.id,\n\t\t\t\t\t\trequest_type: input.kind ?? \"approval\",\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate resumeWait(input: {\n\t\tid: string;\n\t\tkind: string;\n\t\tresolution: string;\n\t\tresolvedBy: string;\n\t\treason?: string;\n\t\tstartedAtMs?: number;\n\t\tresolvedAtMs?: number;\n\t}): void {\n\t\tif (this.resumedWaitIds.has(input.id)) {\n\t\t\treturn;\n\t\t}\n\t\tthis.resumedWaitIds.add(input.id);\n\t\tconst waitId = this.pendingWaitIds.get(input.id) ?? this.waitId(input.id);\n\t\tthis.pendingWaitIds.delete(input.id);\n\t\tthis.enqueue(async () => {\n\t\t\tconst handles = this.handles();\n\t\t\tif (!handles) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait this.operations.resumeRun({\n\t\t\t\trunId: handles.runId,\n\t\t\t\twaitId,\n\t\t\t\tresumeEventId: this.resumeEventId(input.id),\n\t\t\t\tpayload: this.basePayload({\n\t\t\t\t\trequest_id: input.id,\n\t\t\t\t\trequest_type: input.kind,\n\t\t\t\t\tresolution: input.resolution,\n\t\t\t\t\tresolved_by: input.resolvedBy,\n\t\t\t\t\treason: sanitizeOutboundText(input.reason),\n\t\t\t\t\tstarted_at_ms: input.startedAtMs,\n\t\t\t\t\tresolved_at_ms: input.resolvedAtMs,\n\t\t\t\t}),\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate recordStep(step: PlatformAgentRunStep): void {\n\t\tthis.enqueue(async () => {\n\t\t\tconst handles = this.handles();\n\t\t\tif (!handles) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait this.operations.recordStep({\n\t\t\t\trunId: handles.runId,\n\t\t\t\tleaseToken: handles.leaseToken,\n\t\t\t\tstep,\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate recordModelUsageEvent(message: AppMessage): void {\n\t\tif (message.role !== \"assistant\") {\n\t\t\treturn;\n\t\t}\n\t\tconst usage = message.usage as Usage | undefined;\n\t\tif (!usage) {\n\t\t\treturn;\n\t\t}\n\t\tconst inputTokens = finiteNumber(usage.input);\n\t\tconst outputTokens = finiteNumber(usage.output);\n\t\tconst cacheReadTokens = finiteNumber(usage.cacheRead);\n\t\tconst cacheWriteTokens = finiteNumber(usage.cacheWrite);\n\t\tconst totalTokens =\n\t\t\tinputTokens + outputTokens + cacheReadTokens + cacheWriteTokens;\n\t\tconst estimatedCostMicros = Math.max(\n\t\t\t0,\n\t\t\tMath.round(finiteNumber(usage.cost?.total) * 1_000_000),\n\t\t);\n\t\tif (totalTokens <= 0 && estimatedCostMicros <= 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst turnId = String(this.turnIndex);\n\t\tif (this.recordedModelUsageTurnIds.has(turnId)) {\n\t\t\treturn;\n\t\t}\n\t\tthis.recordedModelUsageTurnIds.add(turnId);\n\t\tconst modelCallId = this.stepId(\"model\", turnId);\n\t\tconst costId = this.costId(turnId);\n\t\tconst stepId = this.stepId(\"turn\", turnId);\n\t\tconst meterRef = this.meterRef(costId);\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.ModelResponseRecorded,\n\t\t\tmessage: \"Maestro model response usage recorded\",\n\t\t\tstepId,\n\t\t\tcostId,\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: \"model_response_recorded\",\n\t\t\t\tsession_kind: \"codex\",\n\t\t\t\tsession_provider: \"maestro\",\n\t\t\t\tmodel_call_id: modelCallId,\n\t\t\t\tcost_id: costId,\n\t\t\t\tprovider: message.provider,\n\t\t\t\tmodel: message.model,\n\t\t\t\tinput_tokens: inputTokens,\n\t\t\t\toutput_tokens: outputTokens,\n\t\t\t\tcache_read_tokens: cacheReadTokens,\n\t\t\t\tcache_write_tokens: cacheWriteTokens,\n\t\t\t\ttotal_tokens: totalTokens,\n\t\t\t\testimated_cost_micros: estimatedCostMicros,\n\t\t\t\tcurrency: \"USD\",\n\t\t\t}),\n\t\t});\n\t\tthis.recordCost({\n\t\t\tid: costId,\n\t\t\tstepId,\n\t\t\tmeterRef,\n\t\t\tprovider: message.provider,\n\t\t\tmodel: message.model,\n\t\t\tinputTokens,\n\t\t\toutputTokens,\n\t\t\ttotalTokens,\n\t\t\tcurrency: estimatedCostMicros > 0 ? \"USD\" : undefined,\n\t\t\testimatedCostMicros,\n\t\t});\n\t}\n\n\tprivate recordDrainManifestEvent(input: HostedAgentRuntimeDrainInput): void {\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage:\n\t\t\t\tinput.status === \"drained\"\n\t\t\t\t\t? \"hosted runner drain manifest recorded\"\n\t\t\t\t\t: \"hosted runner interrupted drain manifest recorded\",\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: \"hosted_runner_drain_manifest_recorded\",\n\t\t\t\tstatus: input.status,\n\t\t\t\tflush_status: input.flushStatus,\n\t\t\t\treason: sanitizeOutboundText(input.reason, 512),\n\t\t\t\trequested_by: input.requestedBy,\n\t\t\t\tmanifest_path: input.manifestPath,\n\t\t\t\terror: sanitizeOutboundText(input.errorMessage, 512),\n\t\t\t\tplatform_evidence: sanitizeHostedDrainPlatformEvidence(\n\t\t\t\t\tinput.platformEvidence,\n\t\t\t\t),\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordEvent(\n\t\tevent: Omit<PlatformAgentRuntimeRecordRunEventInput, \"runId\">,\n\t): void {\n\t\tthis.enqueue(async () => {\n\t\t\tconst runId = nonEmptyString(this.hostedRunner?.agentRunId);\n\t\t\tif (!this.hostedRunner?.enabled || !runId) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait this.operations.recordEvent({\n\t\t\t\trunId,\n\t\t\t\t...event,\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate recordCost(\n\t\tcost: Parameters<typeof recordAgentRuntimeRunCost>[0][\"cost\"],\n\t): void {\n\t\tthis.enqueue(async () => {\n\t\t\tconst runId = nonEmptyString(this.hostedRunner?.agentRunId);\n\t\t\tconst leaseToken = nonEmptyString(\n\t\t\t\tthis.hostedRunner?.agentRuntimeLeaseToken,\n\t\t\t);\n\t\t\tif (!this.hostedRunner?.enabled || !runId || !leaseToken) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait this.operations.recordCost({\n\t\t\t\trunId,\n\t\t\t\tleaseToken,\n\t\t\t\tcost,\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate recordCodexSubagentWorkItem(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_start\" }>,\n\t): void {\n\t\tconst codexTool = codexSubagentToolName(event.toolName);\n\t\tif (!codexTool) {\n\t\t\treturn;\n\t\t}\n\t\tconst runId = nonEmptyString(this.hostedRunner?.agentRunId);\n\t\tif (!this.hostedRunner?.enabled || !runId) {\n\t\t\treturn;\n\t\t}\n\t\tconst workGraph = codexSubagentWorkGraph(event.args);\n\t\tconst receiverThreadIds = codexSubagentReceiverThreadIds(event.args);\n\t\tconst childRunIds = codexSubagentChildRunIds(event.args, receiverThreadIds);\n\t\tconst ownerChildRunId = childRunIds[0];\n\t\tconst linkedWorkItemIds =\n\t\t\tthis.codexSubagentLinkedWorkItemIds(receiverThreadIds);\n\t\tconst parentWorkItemId =\n\t\t\tlinkedWorkItemIds.length === 1 ? linkedWorkItemIds[0] : undefined;\n\t\tconst workItemId = this.workItemId(event.toolCallId);\n\t\tthis.codexSubagentReceiverThreadIds.set(\n\t\t\tevent.toolCallId,\n\t\t\treceiverThreadIds,\n\t\t);\n\t\tthis.codexSubagentToolChildRunIds.set(event.toolCallId, childRunIds);\n\t\tif (workGraph) {\n\t\t\tthis.codexSubagentToolWorkGraphs.set(event.toolCallId, workGraph);\n\t\t}\n\t\tif (codexTool === \"spawnAgent\") {\n\t\t\tfor (const threadId of receiverThreadIds) {\n\t\t\t\tthis.codexSubagentThreadWorkItemIds.set(threadId, workItemId);\n\t\t\t}\n\t\t}\n\t\tconst toolExecutionId = materializedToolExecutionId(event);\n\t\tconst prompt = nonEmptyString(event.args.prompt);\n\t\tconst sanitizedPrompt = sanitizeDelegationPrompt(prompt);\n\t\tconst delegationPrompt = sanitizeDelegationPrompt(prompt);\n\t\tconst promptCharCount = redactedPromptLength(prompt);\n\t\tconst model = nonEmptyString(event.args.model);\n\t\tconst reasoningEffort = nonEmptyString(event.args.reasoningEffort);\n\t\tconst codexSubagentOperationName = codexSubagentOperation(codexTool);\n\t\tconst workItem: PlatformAgentWorkItem = {\n\t\t\tid: workItemId,\n\t\t\trunId,\n\t\t\t...(parentWorkItemId ? { parentWorkItemId } : {}),\n\t\t\t...(ownerChildRunId ? { ownerChildRunId } : {}),\n\t\t\tkind:\n\t\t\t\tcodexTool === \"wait\"\n\t\t\t\t\t? PlatformAgentWorkItemKindValue.Wait\n\t\t\t\t\t: PlatformAgentWorkItemKindValue.ChildRun,\n\t\t\tstate:\n\t\t\t\tcodexTool === \"wait\"\n\t\t\t\t\t? PlatformAgentWorkItemStateValue.Waiting\n\t\t\t\t\t: PlatformAgentWorkItemStateValue.Running,\n\t\t\ttitle: sanitizedToolDisplayName(event),\n\t\t\t...(sanitizedPrompt ? { goal: sanitizedPrompt } : {}),\n\t\t\tnextAction: codexSubagentNextAction(codexTool),\n\t\t\t...(toolExecutionId ? { toolExecutionId } : {}),\n\t\t\tevidenceRefs: [\n\t\t\t\t`codex-tool-call:${event.toolCallId}`,\n\t\t\t\t...receiverThreadIds.map((id) => `codex-thread:${id}`),\n\t\t\t\t...childRunIds.map((id) => `codex-child-run:${id}`),\n\t\t\t],\n\t\t\tcompletionGate: \"codex_collab_tool_completed\",\n\t\t\tpayload: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\tcodex_tool: codexTool,\n\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\ttool_name: event.toolName,\n\t\t\t\tdisplay_name: sanitizeToolOutboundText(\n\t\t\t\t\tevent.toolName,\n\t\t\t\t\tevent.displayName,\n\t\t\t\t),\n\t\t\t\tsummary_label: sanitizeToolOutboundText(\n\t\t\t\t\tevent.toolName,\n\t\t\t\t\tevent.summaryLabel,\n\t\t\t\t),\n\t\t\t\tcodex_subagent_operation: codexSubagentOperationName,\n\t\t\t\tcodex_subagent_edge_status: activeCodexSubagentEdgeStatus(codexTool),\n\t\t\t\tsender_thread_id: nonEmptyString(event.args.senderThreadId),\n\t\t\t\treceiver_thread_ids: receiverThreadIds,\n\t\t\t\treceiver_thread_count: receiverThreadIds.length,\n\t\t\t\tchild_run_ids: childRunIds,\n\t\t\t\tcodex_work_graph: workGraph,\n\t\t\t\tlinked_work_item_ids: linkedWorkItemIds,\n\t\t\t\tprompt_present: Boolean(prompt),\n\t\t\t\tprompt_char_count: promptCharCount,\n\t\t\t\tmodel,\n\t\t\t\treasoning_effort: reasoningEffort,\n\t\t\t\targ_keys: objectKeys(event.args),\n\t\t\t}),\n\t\t};\n\t\tthis.enqueue(async () => {\n\t\t\tawait this.operations.recordWorkItem({ runId, workItem });\n\t\t});\n\t\tif (codexTool === \"spawnAgent\") {\n\t\t\tthis.recordCodexSubagentDelegation({\n\t\t\t\tevent,\n\t\t\t\trunId,\n\t\t\t\tworkItemId,\n\t\t\t\tparentWorkItemId,\n\t\t\t\townerChildRunId,\n\t\t\t\treceiverThreadIds,\n\t\t\t\tchildRunIds,\n\t\t\t\tlinkedWorkItemIds,\n\t\t\t\tworkGraph,\n\t\t\t\tprompt: delegationPrompt,\n\t\t\t\tmodel,\n\t\t\t\treasoningEffort,\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate recordCodexSubagentDelegation(input: {\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_start\" }>;\n\t\trunId: string;\n\t\tworkItemId: string;\n\t\tparentWorkItemId?: string;\n\t\townerChildRunId?: string;\n\t\treceiverThreadIds: string[];\n\t\tchildRunIds: string[];\n\t\tlinkedWorkItemIds: string[];\n\t\tworkGraph?: Record<string, unknown>;\n\t\tprompt?: string;\n\t\tmodel?: string;\n\t\treasoningEffort?: string;\n\t}): void {\n\t\tconst fromAgentId = nonEmptyString(this.hostedRunner?.agentId) ?? \"maestro\";\n\t\tconst toAgentId = codexSubagentDelegationTargetAgentId(input.event.args);\n\t\tconst requiredCapability = codexSubagentDelegationRequiredCapability(\n\t\t\tinput.event.args,\n\t\t\ttoAgentId,\n\t\t);\n\t\tconst a2aSkillId = codexSubagentDelegationA2ASkillID(\n\t\t\tinput.event.args,\n\t\t\trequiredCapability,\n\t\t);\n\t\tthis.enqueue(async () => {\n\t\t\tconst result = await this.operations.delegateAgent({\n\t\t\t\tfromAgentId,\n\t\t\t\t...(toAgentId ? { toAgentId } : {}),\n\t\t\t\t...(requiredCapability ? { requiredCapability } : {}),\n\t\t\t\t...(a2aSkillId ? { a2aSkillId } : {}),\n\t\t\t\tcontextPayload: this.basePayload({\n\t\t\t\t\tevent_type: \"codex_subagent_delegation_requested\",\n\t\t\t\t\tcodex_tool: \"spawnAgent\",\n\t\t\t\t\tagent_run_id: input.runId,\n\t\t\t\t\twork_item_id: input.workItemId,\n\t\t\t\t\tparent_work_item_id: input.parentWorkItemId,\n\t\t\t\t\towner_child_run_id: input.ownerChildRunId,\n\t\t\t\t\ttool_call_id: input.event.toolCallId,\n\t\t\t\t\ttool_name: input.event.toolName,\n\t\t\t\t\tdisplay_name: sanitizeOutboundText(input.event.displayName),\n\t\t\t\t\tsummary_label: sanitizeOutboundText(input.event.summaryLabel),\n\t\t\t\t\tfrom_agent_id: fromAgentId,\n\t\t\t\t\tto_agent_id: toAgentId,\n\t\t\t\t\trequired_capability: requiredCapability,\n\t\t\t\t\ta2a_skill_id: a2aSkillId,\n\t\t\t\t\tsender_thread_id: nonEmptyString(input.event.args.senderThreadId),\n\t\t\t\t\treceiver_thread_ids: input.receiverThreadIds,\n\t\t\t\t\tchild_run_ids: input.childRunIds,\n\t\t\t\t\tcodex_work_graph: input.workGraph,\n\t\t\t\t\tlinked_work_item_ids: input.linkedWorkItemIds,\n\t\t\t\t\tprompt: input.prompt,\n\t\t\t\t\tprompt_present: Boolean(input.prompt),\n\t\t\t\t\tprompt_char_count: redactedPromptLength(\n\t\t\t\t\t\tnonEmptyString(input.event.args.prompt),\n\t\t\t\t\t),\n\t\t\t\t\tmodel: input.model,\n\t\t\t\t\treasoning_effort: input.reasoningEffort,\n\t\t\t\t\targ_keys: objectKeys(input.event.args),\n\t\t\t\t}),\n\t\t\t\treason: codexSubagentDelegationReason(input.prompt),\n\t\t\t});\n\t\t\tconst delegationId = result?.delegation?.id;\n\t\t\tif (delegationId) {\n\t\t\t\tthis.rememberCodexSubagentDelegation({\n\t\t\t\t\tdelegationId,\n\t\t\t\t\ttoolCallId: input.event.toolCallId,\n\t\t\t\t\treceiverThreadIds: input.receiverThreadIds,\n\t\t\t\t\tchildRunIds: input.childRunIds,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate updateCodexSubagentWorkItem(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_end\" }>,\n\t): void {\n\t\tconst codexTool = codexSubagentToolName(event.toolName);\n\t\tif (!codexTool) {\n\t\t\treturn;\n\t\t}\n\t\tconst runId = nonEmptyString(this.hostedRunner?.agentRunId);\n\t\tif (!this.hostedRunner?.enabled || !runId) {\n\t\t\treturn;\n\t\t}\n\t\tconst details =\n\t\t\tevent.result.details &&\n\t\t\ttypeof event.result.details === \"object\" &&\n\t\t\t!Array.isArray(event.result.details)\n\t\t\t\t? (event.result.details as Record<string, unknown>)\n\t\t\t\t: undefined;\n\t\tconst detailWorkGraph = codexSubagentWorkGraph(details);\n\t\tconst workGraph =\n\t\t\tdetailWorkGraph ?? this.codexSubagentToolWorkGraphs.get(event.toolCallId);\n\t\tconst detailReceiverThreadIds = details\n\t\t\t? codexSubagentReceiverThreadIds(details)\n\t\t\t: [];\n\t\tconst receiverThreadIds =\n\t\t\tdetailReceiverThreadIds.length > 0\n\t\t\t\t? detailReceiverThreadIds\n\t\t\t\t: (this.codexSubagentReceiverThreadIds.get(event.toolCallId) ?? []);\n\t\tconst detailChildRunIds = details\n\t\t\t? codexSubagentExplicitChildRunIds(details)\n\t\t\t: [];\n\t\tconst childRunIds =\n\t\t\tdetailChildRunIds.length > 0\n\t\t\t\t? detailChildRunIds\n\t\t\t\t: (this.codexSubagentToolChildRunIds.get(event.toolCallId) ??\n\t\t\t\t\tcodexSubagentChildRunIds({}, receiverThreadIds));\n\t\tconst linkedWorkItemIds =\n\t\t\tthis.codexSubagentLinkedWorkItemIds(receiverThreadIds);\n\t\tthis.codexSubagentReceiverThreadIds.delete(event.toolCallId);\n\t\tthis.codexSubagentToolChildRunIds.delete(event.toolCallId);\n\t\tthis.codexSubagentToolWorkGraphs.delete(event.toolCallId);\n\t\tif (codexTool === \"closeAgent\" && !event.isError) {\n\t\t\tfor (const threadId of receiverThreadIds) {\n\t\t\t\tthis.codexSubagentThreadWorkItemIds.delete(threadId);\n\t\t\t}\n\t\t}\n\t\tconst codexSubagentOperationName = codexSubagentOperation(codexTool);\n\t\tconst codexSubagentEdgeStatus = terminalCodexSubagentEdgeStatus(\n\t\t\tcodexTool,\n\t\t\tevent.isError,\n\t\t);\n\t\tthis.enqueue(async () => {\n\t\t\tconst delegationIds = this.codexSubagentDelegationIdsFor(\n\t\t\t\tevent.toolCallId,\n\t\t\t\treceiverThreadIds,\n\t\t\t\tchildRunIds,\n\t\t\t);\n\t\t\tconst delegationId = delegationIds[0];\n\t\t\tconst delegationEvidenceRefs = delegationIds.map(\n\t\t\t\t(id) => `agent-registry-delegation:${id}`,\n\t\t\t);\n\t\t\tconst shouldResolveDelegation =\n\t\t\t\tdelegationIds.length > 0 &&\n\t\t\t\tshouldResolveCodexSubagentDelegation(codexTool, event.isError);\n\t\t\tconst toolExecutionId = materializedToolExecutionId(event);\n\t\t\tlet updateError: unknown;\n\t\t\ttry {\n\t\t\t\tawait this.operations.updateWorkItem({\n\t\t\t\t\trunId,\n\t\t\t\t\tworkItemId: this.workItemId(event.toolCallId),\n\t\t\t\t\tstate: event.isError\n\t\t\t\t\t\t? PlatformAgentWorkItemStateValue.Failed\n\t\t\t\t\t\t: PlatformAgentWorkItemStateValue.Succeeded,\n\t\t\t\t\t...(toolExecutionId ? { toolExecutionId } : {}),\n\t\t\t\t\tevidenceRefs: [\n\t\t\t\t\t\t`codex-tool-call:${event.toolCallId}`,\n\t\t\t\t\t\t...receiverThreadIds.map((id) => `codex-thread:${id}`),\n\t\t\t\t\t\t...childRunIds.map((id) => `codex-child-run:${id}`),\n\t\t\t\t\t\t...delegationEvidenceRefs,\n\t\t\t\t\t],\n\t\t\t\t\tcompletionGate: event.isError\n\t\t\t\t\t\t? \"codex_collab_tool_failed\"\n\t\t\t\t\t\t: \"codex_collab_tool_completed\",\n\t\t\t\t\tpayload: this.basePayload({\n\t\t\t\t\t\tevent_type: event.type,\n\t\t\t\t\t\tcodex_tool: codexTool,\n\t\t\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\t\t\ttool_name: event.toolName,\n\t\t\t\t\t\tdisplay_name: sanitizeToolOutboundText(\n\t\t\t\t\t\t\tevent.toolName,\n\t\t\t\t\t\t\tevent.displayName,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tsummary_label: sanitizeToolOutboundText(\n\t\t\t\t\t\t\tevent.toolName,\n\t\t\t\t\t\t\tevent.summaryLabel,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcodex_subagent_operation: codexSubagentOperationName,\n\t\t\t\t\t\tcodex_subagent_edge_status: codexSubagentEdgeStatus,\n\t\t\t\t\t\terror_code: event.errorCode,\n\t\t\t\t\t\tgoverned_outcome: event.governedOutcome,\n\t\t\t\t\t\tresult_error: event.isError,\n\t\t\t\t\t\treceiver_thread_ids: receiverThreadIds,\n\t\t\t\t\t\tchild_run_ids: childRunIds,\n\t\t\t\t\t\tcodex_work_graph: workGraph,\n\t\t\t\t\t\tlinked_work_item_ids: linkedWorkItemIds,\n\t\t\t\t\t\tdelegation_id: delegationId,\n\t\t\t\t\t\tdelegation_ids:\n\t\t\t\t\t\t\tdelegationIds.length > 0 ? delegationIds : undefined,\n\t\t\t\t\t\tdelegation_resolution:\n\t\t\t\t\t\t\tcodexTool === \"spawnAgent\" &&\n\t\t\t\t\t\t\tdelegationIds.length > 0 &&\n\t\t\t\t\t\t\t!event.isError\n\t\t\t\t\t\t\t\t? \"deferred_until_child_terminal_edge\"\n\t\t\t\t\t\t\t\t: shouldResolveDelegation\n\t\t\t\t\t\t\t\t\t? \"resolved_from_child_terminal_edge\"\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\tresult_detail_keys: objectKeys(details),\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tupdateError = error;\n\t\t\t}\n\t\t\tif (shouldResolveDelegation) {\n\t\t\t\tfor (const delegationIdToResolve of delegationIds) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait this.operations.resolveDelegation({\n\t\t\t\t\t\t\tdelegationId: delegationIdToResolve,\n\t\t\t\t\t\t\tstatus: event.isError\n\t\t\t\t\t\t\t\t? PlatformDelegationStatusValue.Failed\n\t\t\t\t\t\t\t\t: PlatformDelegationStatusValue.Completed,\n\t\t\t\t\t\t\tresultPayload: this.basePayload({\n\t\t\t\t\t\t\t\tevent_type: \"codex_subagent_delegation_resolved\",\n\t\t\t\t\t\t\t\tcodex_tool: codexTool,\n\t\t\t\t\t\t\t\tcodex_subagent_operation: codexSubagentOperationName,\n\t\t\t\t\t\t\t\tcodex_subagent_edge_status: codexSubagentEdgeStatus,\n\t\t\t\t\t\t\t\tagent_run_id: runId,\n\t\t\t\t\t\t\t\twork_item_id: this.workItemId(event.toolCallId),\n\t\t\t\t\t\t\t\tresolution_tool_call_id: event.toolCallId,\n\t\t\t\t\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\t\t\t\t\ttool_name: event.toolName,\n\t\t\t\t\t\t\t\tresult_error: event.isError,\n\t\t\t\t\t\t\t\treceiver_thread_ids: receiverThreadIds,\n\t\t\t\t\t\t\t\tchild_run_ids: childRunIds,\n\t\t\t\t\t\t\t\tcodex_work_graph: workGraph,\n\t\t\t\t\t\t\t\tlinked_work_item_ids: linkedWorkItemIds,\n\t\t\t\t\t\t\t\tdelegation_ids: delegationIds,\n\t\t\t\t\t\t\t\tresult_detail_keys: objectKeys(details),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\terrorMessage: event.isError\n\t\t\t\t\t\t\t\t? (event.errorCode ??\n\t\t\t\t\t\t\t\t\tevent.governedOutcome ??\n\t\t\t\t\t\t\t\t\tcodexSubagentDelegationFailureMessage(codexTool))\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t});\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tlogger.warn(\"Failed to resolve Codex subagent delegation\", {\n\t\t\t\t\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\t\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tsession_id: this.sessionId,\n\t\t\t\t\t\t\tagent_run_id: runId,\n\t\t\t\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\t\t\t\tdelegation_id: delegationIdToResolve,\n\t\t\t\t\t\t});\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tthis.clearCodexSubagentDelegationLinks(delegationIdToResolve);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (updateError !== undefined) {\n\t\t\t\tthrow updateError;\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate rememberCodexSubagentDelegation(input: {\n\t\tdelegationId: string;\n\t\ttoolCallId: string;\n\t\treceiverThreadIds: string[];\n\t\tchildRunIds: string[];\n\t}): void {\n\t\tthis.codexSubagentDelegationIds.set(input.toolCallId, input.delegationId);\n\t\tfor (const threadId of input.receiverThreadIds) {\n\t\t\tthis.codexSubagentDelegationIdsByThreadId.set(\n\t\t\t\tthreadId,\n\t\t\t\tinput.delegationId,\n\t\t\t);\n\t\t}\n\t\tfor (const childRunId of input.childRunIds) {\n\t\t\tthis.codexSubagentDelegationIdsByChildRunId.set(\n\t\t\t\tchildRunId,\n\t\t\t\tinput.delegationId,\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate codexSubagentDelegationIdsFor(\n\t\ttoolCallId: string,\n\t\treceiverThreadIds: string[],\n\t\tchildRunIds: string[],\n\t): string[] {\n\t\tconst ids = new Set<string>();\n\t\tconst add = (delegationId: string | undefined) => {\n\t\t\tif (delegationId) {\n\t\t\t\tids.add(delegationId);\n\t\t\t}\n\t\t};\n\t\tadd(this.codexSubagentDelegationIds.get(toolCallId));\n\t\tfor (const childRunId of childRunIds) {\n\t\t\tadd(this.codexSubagentDelegationIdsByChildRunId.get(childRunId));\n\t\t}\n\t\tfor (const threadId of receiverThreadIds) {\n\t\t\tadd(this.codexSubagentDelegationIdsByThreadId.get(threadId));\n\t\t}\n\t\treturn [...ids];\n\t}\n\n\tprivate clearCodexSubagentDelegationLinks(delegationId: string): void {\n\t\tfor (const [toolCallId, linkedDelegationId] of this\n\t\t\t.codexSubagentDelegationIds) {\n\t\t\tif (linkedDelegationId === delegationId) {\n\t\t\t\tthis.codexSubagentDelegationIds.delete(toolCallId);\n\t\t\t}\n\t\t}\n\t\tfor (const [threadId, linkedDelegationId] of this\n\t\t\t.codexSubagentDelegationIdsByThreadId) {\n\t\t\tif (linkedDelegationId === delegationId) {\n\t\t\t\tthis.codexSubagentDelegationIdsByThreadId.delete(threadId);\n\t\t\t}\n\t\t}\n\t\tfor (const [childRunId, linkedDelegationId] of this\n\t\t\t.codexSubagentDelegationIdsByChildRunId) {\n\t\t\tif (linkedDelegationId === delegationId) {\n\t\t\t\tthis.codexSubagentDelegationIdsByChildRunId.delete(childRunId);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate codexSubagentLinkedWorkItemIds(\n\t\treceiverThreadIds: string[],\n\t): string[] {\n\t\tconst linked = receiverThreadIds\n\t\t\t.map((threadId) => this.codexSubagentThreadWorkItemIds.get(threadId))\n\t\t\t.filter((id): id is string => Boolean(id));\n\t\treturn Array.from(new Set(linked));\n\t}\n\n\tprivate recordToolDerivedTaskProgress(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_end\" }>,\n\t): void {\n\t\tconst args = this.toolArgsByCallId.get(event.toolCallId);\n\t\tthis.toolArgsByCallId.delete(event.toolCallId);\n\t\tif (event.isError) {\n\t\t\treturn;\n\t\t}\n\t\tif (event.toolName === \"todo\") {\n\t\t\tthis.recordTodoTaskProgress(event, args);\n\t\t\treturn;\n\t\t}\n\t\tif (event.toolName === \"background_tasks\" || event.toolName === \"bash\") {\n\t\t\tthis.recordBackgroundTaskProgress(event, args);\n\t\t}\n\t}\n\n\tprivate recordTodoTaskProgress(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_end\" }>,\n\t\targs: Record<string, unknown> | undefined,\n\t): void {\n\t\tconst details = isRecord(event.result.details)\n\t\t\t? event.result.details\n\t\t\t: undefined;\n\t\tif (!details) {\n\t\t\treturn;\n\t\t}\n\t\tconst rawGoal = nonEmptyString(args?.goal)?.trim();\n\t\tconst goal = compactString(rawGoal, 512);\n\t\tconst goalHash = rawGoal ? stableShortHash(rawGoal) : undefined;\n\t\tfor (const item of recordArray(details.items)) {\n\t\t\tconst id = compactString(item.id, 128);\n\t\t\tconst content = compactString(item.content, 512);\n\t\t\tif (!id || !content) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst scopedId = goalScopedTodoId(id, rawGoal);\n\t\t\tconst blockedBy = stringArray(item.blockedBy);\n\t\t\tconst status = todoStatusToTaskStatus(item.status);\n\t\t\tthis.recordTaskProgressEvent({\n\t\t\t\tsource: \"todo\",\n\t\t\t\tid: scopedId,\n\t\t\t\tstatus,\n\t\t\t\ttitle: content,\n\t\t\t\tgoal,\n\t\t\t\ttoolCallId: event.toolCallId,\n\t\t\t\ttoolExecutionId: materializedToolExecutionId(event),\n\t\t\t\tcompletionGate: \"todo_status_projected\",\n\t\t\t\tnextAction:\n\t\t\t\t\tstatus === \"pending\"\n\t\t\t\t\t\t? \"wait for task to start\"\n\t\t\t\t\t\t: status === \"running\"\n\t\t\t\t\t\t\t? \"complete the active task\"\n\t\t\t\t\t\t\t: \"task completed\",\n\t\t\t\tblocker: blockedBy.length > 0 ? blockedBy.join(\", \") : undefined,\n\t\t\t\tpayload: {\n\t\t\t\t\ttask_id: id,\n\t\t\t\t\ttodo_id: id,\n\t\t\t\t\ttodo_scope: rawGoal ? \"goal\" : \"session\",\n\t\t\t\t\ttodo_goal_hash: goalHash,\n\t\t\t\t\ttodo_status: compactString(item.status),\n\t\t\t\t\tpriority: compactString(item.priority),\n\t\t\t\t\tblocked_by: blockedBy,\n\t\t\t\t\tdue: compactString(item.due),\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate recordBackgroundTaskProgress(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_end\" }>,\n\t\targs: Record<string, unknown> | undefined,\n\t): void {\n\t\tconst details = event.result.details;\n\t\tconst candidates = Array.isArray(details)\n\t\t\t? recordArray(details)\n\t\t\t: isRecord(details)\n\t\t\t\t? [details]\n\t\t\t\t: [];\n\t\tfor (const detail of candidates) {\n\t\t\tconst id = compactString(detail.id ?? detail.taskId, 128);\n\t\t\tif (!id) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst statusLabel = compactString(detail.status, 64);\n\t\t\tif (!statusLabel) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst command = compactString(detail.command ?? args?.command, 512);\n\t\t\tconst commandSummary = command ? REDACTED : undefined;\n\t\t\tconst status = backgroundStatusToTaskStatus(statusLabel);\n\t\t\tthis.recordTaskProgressEvent({\n\t\t\t\tsource: \"background\",\n\t\t\t\tid,\n\t\t\t\tstatus,\n\t\t\t\ttitle: commandSummary\n\t\t\t\t\t? `Background task: ${commandSummary}`\n\t\t\t\t\t: `Background task ${id}`,\n\t\t\t\ttoolCallId: event.toolCallId,\n\t\t\t\ttoolExecutionId: materializedToolExecutionId(event),\n\t\t\t\tcompletionGate: \"background_task_status_projected\",\n\t\t\t\tnextAction:\n\t\t\t\t\tstatus === \"running\"\n\t\t\t\t\t\t? \"monitor or stop the background task\"\n\t\t\t\t\t\t: \"inspect task result if needed\",\n\t\t\t\terrorMessage: compactString(detail.failureReason, 512),\n\t\t\t\tpayload: {\n\t\t\t\t\tbackground_task_id: id,\n\t\t\t\t\tbackground_task_status: statusLabel,\n\t\t\t\t\tcommand_summary: commandSummary,\n\t\t\t\t\tcwd: compactString(detail.cwd, 512),\n\t\t\t\t\tpid: typeof detail.pid === \"number\" ? detail.pid : undefined,\n\t\t\t\t\tshell_mode: compactString(detail.shellMode, 64),\n\t\t\t\t\trestart_attempts: finiteNumber(detail.restartAttempts),\n\t\t\t\t\trestart_max_attempts: finiteNumber(detail.restartMaxAttempts),\n\t\t\t\t\tlog_truncated:\n\t\t\t\t\t\ttypeof detail.logTruncated === \"boolean\"\n\t\t\t\t\t\t\t? detail.logTruncated\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\tmonitoring_mode: compactString(detail.monitoringMode, 64),\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate enqueue(operation: ProgressOperation): void {\n\t\tthis.pending = this.pending.then(operation, operation).then(\n\t\t\t() => {},\n\t\t\t(error) => {\n\t\t\t\tlogger.warn(\"Failed to record hosted AgentRuntime progress\", {\n\t\t\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t\t\t),\n\t\t\t\t\tsession_id: this.sessionId,\n\t\t\t\t\tagent_run_id: this.hostedRunner?.agentRunId,\n\t\t\t\t});\n\t\t\t},\n\t\t);\n\t}\n\n\tprivate handles(): { runId: string; leaseToken: string } | null {\n\t\tconst runId = nonEmptyString(this.hostedRunner?.agentRunId);\n\t\tconst leaseToken = nonEmptyString(\n\t\t\tthis.hostedRunner?.agentRuntimeLeaseToken,\n\t\t);\n\t\tif (!this.hostedRunner?.enabled || !runId || !leaseToken) {\n\t\t\treturn null;\n\t\t}\n\t\treturn { runId, leaseToken };\n\t}\n\n\tprivate basePayload(\n\t\tvalues: Record<string, unknown>,\n\t): Record<string, unknown> {\n\t\treturn {\n\t\t\tmaestro_session_id: this.sessionId,\n\t\t\t...(this.workspaceRoot ? { workspace_root: this.workspaceRoot } : {}),\n\t\t\t...(this.hostedRunner?.workspaceId\n\t\t\t\t? { workspace_id: this.hostedRunner.workspaceId }\n\t\t\t\t: {}),\n\t\t\t...(this.hostedRunner?.runnerSessionId\n\t\t\t\t? { runner_session_id: this.hostedRunner.runnerSessionId }\n\t\t\t\t: {}),\n\t\t\t...(this.hostedRunner?.ownerInstanceId\n\t\t\t\t? { owner_instance_id: this.hostedRunner.ownerInstanceId }\n\t\t\t\t: {}),\n\t\t\t...(this.hostedRunner?.agentId\n\t\t\t\t? { agent_id: this.hostedRunner.agentId }\n\t\t\t\t: {}),\n\t\t\t...(this.hostedRunner?.agentRuntimeWorkerQueue\n\t\t\t\t? { worker_queue: this.hostedRunner.agentRuntimeWorkerQueue }\n\t\t\t\t: {}),\n\t\t\t...(this.hostedRunner?.agentRuntimeCorrelationPath\n\t\t\t\t? { correlation_path: this.hostedRunner.agentRuntimeCorrelationPath }\n\t\t\t\t: {}),\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries(values).filter(([, value]) => value !== undefined),\n\t\t\t),\n\t\t};\n\t}\n\n\tprivate stepId(kind: string, id: string): string {\n\t\treturn `maestro:${safeIdPart(this.sessionId)}:${kind}:${safeIdPart(id)}`;\n\t}\n\n\tprivate taskProgressId(\n\t\tsource: HostedAgentRuntimeTaskSource,\n\t\tid: string,\n\t): string {\n\t\treturn this.stepId(source, id);\n\t}\n\n\tprivate toolStepId(toolCallId: string): string {\n\t\treturn this.stepId(\"tool\", toolCallId);\n\t}\n\n\tprivate workItemId(toolCallId: string): string {\n\t\treturn this.stepId(\"work\", toolCallId);\n\t}\n\n\tprivate isoTime(value: number | undefined): string | undefined {\n\t\treturn typeof value === \"number\" && Number.isFinite(value)\n\t\t\t? new Date(value).toISOString()\n\t\t\t: undefined;\n\t}\n\n\tprivate durationMs(\n\t\tstartedAtMs: number | undefined,\n\t\tendedAtMs: number,\n\t): number | undefined {\n\t\treturn typeof startedAtMs === \"number\" && Number.isFinite(startedAtMs)\n\t\t\t? Math.max(0, endedAtMs - startedAtMs)\n\t\t\t: undefined;\n\t}\n\n\tprivate resolveAutoRetryStartSequence(attempt: number): number {\n\t\tif (\n\t\t\tthis.activeAutoRetrySequence === null ||\n\t\t\tattempt <= this.lastAutoRetryAttempt\n\t\t) {\n\t\t\tthis.autoRetrySequence += 1;\n\t\t\tthis.activeAutoRetrySequence = this.autoRetrySequence;\n\t\t}\n\t\tthis.lastAutoRetryAttempt = attempt;\n\t\treturn this.activeAutoRetrySequence;\n\t}\n\n\tprivate resolveAutoRetryEndSequence(): number {\n\t\tif (this.activeAutoRetrySequence === null) {\n\t\t\tthis.autoRetrySequence += 1;\n\t\t\tthis.activeAutoRetrySequence = this.autoRetrySequence;\n\t\t}\n\t\tconst sequence = this.activeAutoRetrySequence;\n\t\tthis.activeAutoRetrySequence = null;\n\t\tthis.lastAutoRetryAttempt = 0;\n\t\treturn sequence;\n\t}\n\n\tprivate autoRetryStepId(attempt: number, sequence: number): string {\n\t\treturn this.stepId(\"retry\", `auto-${sequence}-attempt-${attempt}`);\n\t}\n\n\tprivate waitId(requestId: string): string {\n\t\treturn this.stepId(\"wait\", requestId);\n\t}\n\n\tprivate checkpointId(requestId: string): string {\n\t\treturn this.stepId(\"checkpoint\", requestId);\n\t}\n\n\tprivate resumeEventId(requestId: string): string {\n\t\treturn this.stepId(\"resume\", requestId);\n\t}\n\n\tprivate costId(turnId: string): string {\n\t\treturn this.stepId(\"cost\", turnId);\n\t}\n\n\tprivate meterRef(costId: string): string {\n\t\treturn `meter://maestro/model-usage/${safeIdPart(costId)}`;\n\t}\n}\n\nexport function createHostedAgentRuntimeProgressRecorder(\n\toptions: HostedAgentRuntimeProgressRecorderOptions,\n): HostedAgentRuntimeProgressRecorder | undefined {\n\tif (!options.hostedRunner?.enabled) {\n\t\treturn undefined;\n\t}\n\treturn new HostedAgentRuntimeProgressRecorder(options);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"hosted-agent-runtime-progress.js","sourceRoot":"","sources":["../../src/server/hosted-agent-runtime-progress.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from \"node:crypto\";\nimport type { SwarmEvent, SwarmTask } from \"../agent/swarm/types.js\";\nimport type { AgentEvent, AppMessage, Usage } from \"../agent/types.js\";\nimport {\n\tCODEX_SUBAGENT_TOOL_PREFIX,\n\tcanonicalCodexSubagentTool,\n\tcodexSubagentActiveStatus,\n\tcodexSubagentNextAction as codexSubagentContractNextAction,\n\tcodexSubagentOperationName,\n\tcodexSubagentTerminalSuccessStatus,\n} from \"../codex/subagent-workgraph.js\";\nimport {\n\tPlatformDelegationStatusValue,\n\tdelegateAgentWithPlatform,\n\tresolveAgentDelegationWithPlatform,\n} from \"../platform/agent-registry-client.js\";\nimport {\n\ttype PlatformAgentRunStep,\n\tPlatformAgentRunStepKindValue,\n\tPlatformAgentRunStepStateValue,\n\tPlatformAgentRunWaitTypeValue,\n\ttype PlatformAgentRuntimeRecordRunEventInput,\n\ttype PlatformAgentWorkItem,\n\tPlatformAgentWorkItemKindValue,\n\tPlatformAgentWorkItemStateValue,\n\tPlatformRuntimeEventTypeValue,\n\tcompleteAgentRuntimeRun,\n\tfailAgentRuntimeRun,\n\trecordAgentRuntimeRunCost,\n\trecordAgentRuntimeRunEvent,\n\trecordAgentRuntimeRunStep,\n\trecordAgentRuntimeRunWorkItem,\n\tresumeAgentRuntimeRun,\n\tupdateAgentRuntimeRunWorkItem,\n\twaitAgentRuntimeRun,\n} from \"../platform/agent-runtime-client.js\";\nimport { CREDENTIAL_PATTERN_DEFS } from \"../safety/credential-patterns.js\";\nimport { isRecord } from \"../utils/json.js\";\nimport { createLogger } from \"../utils/logger.js\";\nimport { sanitizeWithStaticMask } from \"../utils/secret-redactor.js\";\nimport type { ServerRequestLifecycleEvent } from \"./server-request-manager.js\";\n\nconst logger = createLogger(\"server:hosted-agent-runtime-progress\");\nconst CODEX_THREAD_CHILD_RUN_PREFIX = \"codex-thread:\";\nconst DEFAULT_CODEX_SUBAGENT_DELEGATION_CAPABILITY = \"code:write\";\n\ntype HostedAgentRuntimeTaskSource =\n\t| \"todo\"\n\t| \"background\"\n\t| \"swarm\"\n\t| \"checkpoint\";\n\ntype HostedAgentRuntimeTaskStatus =\n\t| \"pending\"\n\t| \"running\"\n\t| \"waiting\"\n\t| \"blocked\"\n\t| \"succeeded\"\n\t| \"failed\"\n\t| \"cancelled\";\n\nexport interface HostedAgentRuntimeTaskProgressEvent {\n\tsource: HostedAgentRuntimeTaskSource;\n\tid: string;\n\tstatus: HostedAgentRuntimeTaskStatus;\n\ttitle: string;\n\tgoal?: string;\n\tparentId?: string;\n\townerChildRunId?: string;\n\tworkItemKind?: PlatformAgentWorkItemKindValue | string;\n\tstepKind?: PlatformAgentRunStepKindValue | string;\n\tnextAction?: string;\n\tblocker?: string;\n\terrorMessage?: string;\n\ttoolCallId?: string;\n\ttoolExecutionId?: string;\n\tapprovalRequestId?: string;\n\tcompletionGate?: string;\n\tevidenceRefs?: string[];\n\tpayload?: Record<string, unknown>;\n\trecordStep?: boolean;\n}\n\nexport interface HostedAgentRuntimeProgressContext {\n\tenabled: true;\n\tagentRunId?: string;\n\tagentRuntimeLeaseToken?: string;\n\tagentRuntimeWorkerQueue?: string;\n\tagentRuntimeCorrelationPath?: string;\n\tworkspaceId?: string;\n\trunnerSessionId?: string;\n\townerInstanceId?: string;\n\tagentId?: string;\n}\n\ntype ProgressOperation = () => Promise<unknown>;\n\nexport interface HostedAgentRuntimeProgressRecorderOperations {\n\trecordStep?: typeof recordAgentRuntimeRunStep;\n\trecordEvent?: typeof recordAgentRuntimeRunEvent;\n\trecordCost?: typeof recordAgentRuntimeRunCost;\n\trecordWorkItem?: typeof recordAgentRuntimeRunWorkItem;\n\tupdateWorkItem?: typeof updateAgentRuntimeRunWorkItem;\n\twaitRun?: typeof waitAgentRuntimeRun;\n\tresumeRun?: typeof resumeAgentRuntimeRun;\n\tcompleteRun?: typeof completeAgentRuntimeRun;\n\tfailRun?: typeof failAgentRuntimeRun;\n\tdelegateAgent?: typeof delegateAgentWithPlatform;\n\tresolveDelegation?: typeof resolveAgentDelegationWithPlatform;\n}\n\nexport interface HostedAgentRuntimeProgressRecorderOptions {\n\tsessionId: string;\n\thostedRunner?: HostedAgentRuntimeProgressContext;\n\tworkspaceRoot?: string;\n\toperations?: HostedAgentRuntimeProgressRecorderOperations;\n}\n\nexport interface HostedAgentRuntimeCompleteInput {\n\treason?: string;\n\trequestedBy?: string;\n\tflushStatus?: string;\n\tmanifestPath?: string;\n}\n\nexport interface HostedAgentRuntimeFailInput {\n\terrorMessage: string;\n\treason?: string;\n\trequestedBy?: string;\n\tretryable?: boolean;\n\tmanifestPath?: string;\n\tflushStatus?: string;\n}\n\nexport interface HostedAgentRuntimeDrainInput {\n\tstatus: \"drained\" | \"interrupted\" | string;\n\treason?: string;\n\trequestedBy?: string;\n\tflushStatus?: string;\n\tmanifestPath?: string;\n\tplatformEvidence?: unknown;\n\terrorMessage?: string;\n}\n\nfunction safeIdPart(value: string): string {\n\treturn value.replace(/[^A-Za-z0-9_.:-]+/g, \"_\").slice(0, 96) || \"unknown\";\n}\n\nfunction nonEmptyString(value: unknown): string | undefined {\n\treturn typeof value === \"string\" && value.trim().length > 0\n\t\t? value\n\t\t: undefined;\n}\n\nfunction compactString(value: unknown, maxLength = 256): string | undefined {\n\tconst text = nonEmptyString(value)?.trim();\n\tif (!text) {\n\t\treturn undefined;\n\t}\n\tif (text.length <= maxLength) {\n\t\treturn text;\n\t}\n\tif (maxLength <= 0) {\n\t\treturn \"\";\n\t}\n\tif (maxLength <= 3) {\n\t\treturn \".\".repeat(maxLength);\n\t}\n\treturn `${text.slice(0, maxLength - 3)}...`;\n}\n\nfunction isExistingWorkItemCreateError(error: unknown): boolean {\n\tconst message = error instanceof Error ? error.message : String(error);\n\treturn /\\b409\\b|already exists|already_exists|duplicate|unique constraint/i.test(\n\t\tmessage,\n\t);\n}\n\nfunction stableShortHash(value: string): string {\n\treturn createHash(\"sha256\").update(value).digest(\"hex\").slice(0, 12);\n}\n\nfunction goalScopedTodoId(id: string, goal: string | undefined): string {\n\treturn goal ? `goal-${stableShortHash(goal)}:${id}` : id;\n}\n\nfunction swarmCompletionStatus(\n\tevent: Extract<SwarmEvent, { type: \"swarm_complete\" }>,\n): HostedAgentRuntimeTaskStatus {\n\tswitch (event.state.status) {\n\t\tcase \"completed\":\n\t\t\treturn \"succeeded\";\n\t\tcase \"failed\":\n\t\t\treturn \"failed\";\n\t\tcase \"cancelled\":\n\t\t\treturn \"cancelled\";\n\t\tcase \"completing\":\n\t\t\treturn \"running\";\n\t\tcase \"initializing\":\n\t\t\treturn \"pending\";\n\t\tcase \"running\":\n\t\t\treturn \"running\";\n\t}\n}\n\nfunction objectKeys(value: unknown): string[] | undefined {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst keys = Object.keys(value).sort();\n\treturn keys.length > 0 ? keys : undefined;\n}\n\nfunction recordArray(value: unknown): Record<string, unknown>[] {\n\tif (!Array.isArray(value)) {\n\t\treturn [];\n\t}\n\treturn value.filter(isRecord);\n}\n\nfunction finiteNumber(value: unknown): number {\n\treturn typeof value === \"number\" && Number.isFinite(value) ? value : 0;\n}\n\nfunction stringArray(value: unknown): string[] {\n\tif (!Array.isArray(value)) {\n\t\treturn [];\n\t}\n\treturn value.filter(\n\t\t(item): item is string => typeof item === \"string\" && item.length > 0,\n\t);\n}\n\nfunction compactStringArray(\n\tvalue: string[],\n\tmaxItems = 32,\n): string[] | undefined {\n\tconst compacted = value\n\t\t.map((item) => compactString(item, 160))\n\t\t.filter((item): item is string => Boolean(item))\n\t\t.slice(0, maxItems);\n\treturn compacted.length > 0 ? compacted : undefined;\n}\n\nfunction sanitizeOutboundTextArray(\n\tvalue: string[],\n\tmaxItems = 32,\n\tmaxLength = MAX_TEXT_FIELD_LENGTH,\n): string[] | undefined {\n\tconst sanitized = value\n\t\t.map((item) => sanitizeOutboundText(item, maxLength))\n\t\t.filter((item): item is string => Boolean(item))\n\t\t.slice(0, maxItems);\n\treturn sanitized.length > 0 ? sanitized : undefined;\n}\n\nfunction codexSubagentToolName(toolName: string): string | undefined {\n\tconst tool = toolName.startsWith(CODEX_SUBAGENT_TOOL_PREFIX)\n\t\t? toolName.slice(CODEX_SUBAGENT_TOOL_PREFIX.length)\n\t\t: undefined;\n\treturn tool ? (canonicalCodexSubagentTool(tool) ?? tool) : undefined;\n}\n\nfunction codexThreadChildRunId(threadId: string): string {\n\treturn `${CODEX_THREAD_CHILD_RUN_PREFIX}${threadId}`;\n}\n\nfunction codexSubagentWorkGraph(\n\targs: Record<string, unknown> | undefined,\n): Record<string, unknown> | undefined {\n\tconst graph = args?.codexWorkGraph ?? args?.codex_work_graph;\n\treturn isRecord(graph) ? graph : undefined;\n}\n\nfunction codexSubagentWorkGraphChildRuns(\n\targs: Record<string, unknown> | undefined,\n): Record<string, unknown>[] {\n\tconst graph = codexSubagentWorkGraph(args);\n\tconst childRuns = graph?.childRuns ?? graph?.child_runs;\n\tif (!Array.isArray(childRuns)) {\n\t\treturn [];\n\t}\n\treturn childRuns.filter(isRecord);\n}\n\nfunction codexSubagentReceiverThreadIds(\n\targs: Record<string, unknown>,\n): string[] {\n\tconst explicit = stringArray(\n\t\targs.receiverThreadIds ?? args.receiver_thread_ids,\n\t);\n\tif (explicit.length > 0) {\n\t\treturn explicit;\n\t}\n\tconst graphThreadIds = codexSubagentWorkGraphChildRuns(args)\n\t\t.map((childRun) => childRun.threadId ?? childRun.thread_id)\n\t\t.filter(\n\t\t\t(threadId): threadId is string =>\n\t\t\t\ttypeof threadId === \"string\" && threadId.length > 0,\n\t\t);\n\treturn graphThreadIds;\n}\n\nfunction codexSubagentExplicitChildRunIds(\n\targs: Record<string, unknown>,\n): string[] {\n\tconst explicit = stringArray(args.childRunIds ?? args.child_run_ids);\n\tif (explicit.length > 0) {\n\t\treturn explicit;\n\t}\n\tconst graphChildRunIds = codexSubagentWorkGraphChildRuns(args)\n\t\t.map((childRun) => childRun.childRunId ?? childRun.child_run_id)\n\t\t.filter(\n\t\t\t(childRunId): childRunId is string =>\n\t\t\t\ttypeof childRunId === \"string\" && childRunId.length > 0,\n\t\t);\n\tif (graphChildRunIds.length > 0) {\n\t\treturn graphChildRunIds;\n\t}\n\treturn [];\n}\n\nfunction codexSubagentChildRunIds(\n\targs: Record<string, unknown>,\n\treceiverThreadIds: string[],\n): string[] {\n\tconst explicit = codexSubagentExplicitChildRunIds(args);\n\tif (explicit.length > 0) {\n\t\treturn explicit;\n\t}\n\treturn receiverThreadIds.map(codexThreadChildRunId);\n}\n\nfunction codexSubagentNextAction(tool: string): string {\n\treturn (\n\t\tcodexSubagentContractNextAction(tool) ??\n\t\t\"track Codex subagent collaboration\"\n\t);\n}\n\nfunction codexSubagentDelegationTargetAgentId(\n\targs: Record<string, unknown>,\n): string | undefined {\n\treturn (\n\t\tnonEmptyString(args.toAgentId) ??\n\t\tnonEmptyString(args.to_agent_id) ??\n\t\tnonEmptyString(args.targetAgentId) ??\n\t\tnonEmptyString(args.target_agent_id)\n\t);\n}\n\nfunction codexSubagentDelegationRequiredCapability(\n\targs: Record<string, unknown>,\n\ttargetAgentId?: string,\n): string | undefined {\n\tconst explicit =\n\t\tnonEmptyString(args.requiredCapability) ??\n\t\tnonEmptyString(args.required_capability) ??\n\t\tnonEmptyString(args.capability);\n\treturn (\n\t\texplicit ??\n\t\t(targetAgentId ? undefined : DEFAULT_CODEX_SUBAGENT_DELEGATION_CAPABILITY)\n\t);\n}\n\nfunction codexSubagentDelegationA2ASkillID(\n\targs: Record<string, unknown>,\n\trequiredCapability?: string,\n): string | undefined {\n\tconst explicit =\n\t\tnonEmptyString(args.a2aSkillId) ??\n\t\tnonEmptyString(args.a2a_skill_id) ??\n\t\tnonEmptyString(args.agentSkillId) ??\n\t\tnonEmptyString(args.agent_skill_id) ??\n\t\tnonEmptyString(args.subagentSkillId) ??\n\t\tnonEmptyString(args.subagent_skill_id) ??\n\t\tnonEmptyString(args.skillId) ??\n\t\tnonEmptyString(args.skill_id);\n\tif (explicit) {\n\t\treturn explicit.trim();\n\t}\n\tconst subagentType =\n\t\tnonEmptyString(args.agentType) ??\n\t\tnonEmptyString(args.agent_type) ??\n\t\tnonEmptyString(args.subagentType) ??\n\t\tnonEmptyString(args.subagent_type);\n\treturn (\n\t\tcodexSubagentTypeA2ASkillID(subagentType) ??\n\t\tcodexSubagentCapabilityA2ASkillID(requiredCapability)\n\t);\n}\n\nfunction codexSubagentTypeA2ASkillID(\n\tvalue: string | undefined,\n): string | undefined {\n\tconst token = codexSubagentSkillToken(value);\n\tif (!token) {\n\t\treturn undefined;\n\t}\n\tswitch (token) {\n\t\tcase \"pr-review\":\n\t\tcase \"review\":\n\t\tcase \"reviewer\":\n\t\tcase \"code-review\":\n\t\tcase \"code-reviewer\":\n\t\t\treturn \"maestro.subagent.code-review\";\n\t\tcase \"test\":\n\t\tcase \"qa\":\n\t\tcase \"ci\":\n\t\tcase \"ci-monitor\":\n\t\tcase \"test-runner\":\n\t\t\treturn \"maestro.subagent.test-runner\";\n\t\tcase \"browser\":\n\t\tcase \"browser-qa\":\n\t\tcase \"dogfood\":\n\t\tcase \"product-qa\":\n\t\tcase \"e2e-qa\":\n\t\tcase \"ux-qa\":\n\t\t\treturn \"maestro.subagent.browser-qa\";\n\t\tcase \"explore\":\n\t\tcase \"explorer\":\n\t\tcase \"repo-explorer\":\n\t\tcase \"research\":\n\t\tcase \"competitive-intel\":\n\t\tcase \"people-research\":\n\t\t\treturn \"maestro.subagent.repo-explorer\";\n\t\tcase \"release\":\n\t\tcase \"release-shepherd\":\n\t\t\treturn \"maestro.subagent.release-shepherd\";\n\t\tcase \"worker\":\n\t\tcase \"coder\":\n\t\tcase \"code\":\n\t\tcase \"code-writer\":\n\t\tcase \"default\":\n\t\t\treturn \"maestro.subagent.code-writer\";\n\t\tdefault:\n\t\t\treturn `maestro.subagent.${token}`;\n\t}\n}\n\nfunction codexSubagentCapabilityA2ASkillID(\n\tvalue: string | undefined,\n): string | undefined {\n\tconst token = codexSubagentSkillToken(value);\n\tif (!token) {\n\t\treturn undefined;\n\t}\n\tswitch (token) {\n\t\tcase \"code-review\":\n\t\t\treturn \"maestro.subagent.code-review\";\n\t\tcase \"code-test\":\n\t\tcase \"test-run\":\n\t\tcase \"test-runner\":\n\t\t\treturn \"maestro.subagent.test-runner\";\n\t\tcase \"browser-qa\":\n\t\tcase \"product-qa\":\n\t\tcase \"e2e-qa\":\n\t\t\treturn \"maestro.subagent.browser-qa\";\n\t\tcase \"repo-explore\":\n\t\tcase \"repo-explorer\":\n\t\tcase \"code-search\":\n\t\t\treturn \"maestro.subagent.repo-explorer\";\n\t\tcase \"release-shepherd\":\n\t\tcase \"release-manage\":\n\t\t\treturn \"maestro.subagent.release-shepherd\";\n\t\tcase \"code-write\":\n\t\tcase \"code-edit\":\n\t\tcase \"code-implement\":\n\t\t\treturn \"maestro.subagent.code-writer\";\n\t\tdefault:\n\t\t\treturn `maestro.subagent.${token}`;\n\t}\n}\n\nfunction codexSubagentSkillToken(\n\tvalue: string | undefined,\n): string | undefined {\n\tconst token = value\n\t\t?.trim()\n\t\t.toLowerCase()\n\t\t.replace(/[:_/. ]+/g, \"-\")\n\t\t.replace(/-{2,}/g, \"-\")\n\t\t.replace(/^-|-$/g, \"\");\n\treturn token || undefined;\n}\n\nfunction codexSubagentDelegationReason(prompt: string | undefined): string {\n\tif (!prompt) {\n\t\treturn \"Codex subagent spawn requested by Maestro\";\n\t}\n\treturn `Codex subagent spawn requested by Maestro: ${prompt}`.slice(0, 512);\n}\n\nfunction redactedPromptLength(prompt: string | undefined): number | undefined {\n\treturn prompt\n\t\t? Math.min(prompt.length, MAX_DELEGATION_PROMPT_LENGTH)\n\t\t: undefined;\n}\n\nfunction codexSubagentOperation(tool: string): string | undefined {\n\treturn codexSubagentOperationName(tool);\n}\n\nfunction activeCodexSubagentEdgeStatus(tool: string): string | undefined {\n\treturn codexSubagentActiveStatus(tool);\n}\n\nfunction terminalCodexSubagentEdgeStatus(\n\ttool: string,\n\tisError: boolean,\n): string | undefined {\n\tif (isError) {\n\t\treturn \"failed\";\n\t}\n\treturn codexSubagentTerminalSuccessStatus(tool);\n}\n\nfunction shouldResolveCodexSubagentDelegation(\n\ttool: string,\n\tisError: boolean,\n): boolean {\n\tif (tool === \"wait\" || tool === \"closeAgent\") {\n\t\treturn true;\n\t}\n\tif (tool === \"spawnAgent\" && isError) {\n\t\treturn true;\n\t}\n\tif (tool === \"resumeAgent\" && isError) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction codexSubagentDelegationFailureMessage(tool: string): string {\n\tswitch (tool) {\n\t\tcase \"spawnAgent\":\n\t\t\treturn \"Codex subagent spawn failed\";\n\t\tcase \"sendInput\":\n\t\t\treturn \"Codex subagent input failed\";\n\t\tcase \"resumeAgent\":\n\t\t\treturn \"Codex subagent resume failed\";\n\t\tcase \"wait\":\n\t\t\treturn \"Codex subagent wait failed\";\n\t\tcase \"closeAgent\":\n\t\t\treturn \"Codex subagent close failed\";\n\t\tdefault:\n\t\t\treturn \"Codex subagent delegation failed\";\n\t}\n}\n\nfunction toolDisplayName(event: {\n\tdisplayName?: string;\n\tsummaryLabel?: string;\n\ttoolName: string;\n}): string {\n\treturn event.displayName ?? event.summaryLabel ?? event.toolName;\n}\n\nconst MAX_TEXT_FIELD_LENGTH = 160;\nconst MAX_DELEGATION_PROMPT_LENGTH = 512;\nconst REDACTED = \"[redacted]\";\nconst COMMON_MAKE_TARGETS = new Set([\n\t\"all\",\n\t\"build\",\n\t\"check\",\n\t\"clean\",\n\t\"dev\",\n\t\"dist\",\n\t\"docs\",\n\t\"format\",\n\t\"install\",\n\t\"lint\",\n\t\"release\",\n\t\"start\",\n\t\"test\",\n\t\"typecheck\",\n\t\"verify\",\n]);\n\nfunction hostedCredentialPattern(source: string, flags: string): RegExp {\n\treturn new RegExp(source, flags.replace(/g/g, \"\"));\n}\n\nconst HOSTED_CREDENTIAL_PATTERNS = [\n\t...CREDENTIAL_PATTERN_DEFS.filter(\n\t\t(pattern) =>\n\t\t\t![\n\t\t\t\t\"Authorization Header\",\n\t\t\t\t\"Bearer Token\",\n\t\t\t\t// \"Basic Auth Token\" matches `Basic\\s+[A-Za-z0-9+/=]+` with\n\t\t\t\t// a 1-char minimum, so benign English like\n\t\t\t\t// \"Document Authorization: Basic flow\" trips it. The hosted\n\t\t\t\t// recorder has its own stricter `Basic\\s+[A-Za-z0-9+/=]{16,}`\n\t\t\t\t// in the literal pattern list below, so exclude the loose\n\t\t\t\t// catalog version here.\n\t\t\t\t\"Basic Auth Token\",\n\t\t\t\t\"Password Assignment\",\n\t\t\t].includes(pattern.name) && pattern.name !== \"Password in URL\",\n\t).map((pattern) => hostedCredentialPattern(pattern.source, pattern.flags)),\n\t/\\b(?:sk[-_][A-Za-z0-9_-]{8,}|gh[pousr]_[A-Za-z0-9_-]{8,}|github_pat_[A-Za-z0-9_-]{8,}|xoxb[A-Za-z0-9_-]{8,}|xoxp[A-Za-z0-9_-]{8,}|AKIA[A-Za-z0-9_-]{8,}|ASIA[A-Za-z0-9_-]{8,})\\b/,\n\t/\\/\\/[^:/\\s@]+:[^@/\\s]+@[^/\\s]+/,\n\t/\\b(?:api[_-]?key|apikey|api[_-]?token)[':\"\\s=]+['\"]?[A-Za-z0-9_-]{20,}\\b/i,\n\t/\\b(?:password|passwd|pwd|secret)\\s*[:=]\\s*['\"]?[^'\"\\s]{8,}/i,\n\t/\\b(?:api[_-]?key|token|secret|password)[':\"\\s=]+['\"]?[A-Za-z0-9+/=]{24,}/i,\n\t/\\b(?:secret|key|token)[':\"\\s=]+['\"]?[a-fA-F0-9]{32,}\\b/i,\n\t/\\b(?:api[_-]?key|token|secret|password)[':\"\\s=]+['\"]?[A-Za-z0-9_.-]{16,}/i,\n\t/\\beyJ[A-Za-z0-9_-]{8,}\\.[A-Za-z0-9_-]{8,}\\.[A-Za-z0-9_-]{8,}\\b/,\n\t/\\b(?:mongodb(?:\\+srv)?|postgres(?:ql)?|mysql):\\/\\/[^\\s]+/i,\n\t/\\bxox[baprs]-[A-Za-z0-9-]{10,}\\b/,\n\t/\\b(?:aws[_-]?secret[_-]?(?:access[_-]?)?key|secret[_-]?key)[':\"\\s=]+['\"]?[A-Za-z0-9/+=]{40}\\b/i,\n\t/\\bAIza[A-Za-z0-9_-]{35}\\b/,\n\t/\\bya29\\.[A-Za-z0-9_-]{20,}\\b/,\n\t/(^|[^A-Za-z0-9_-])1\\/\\/[A-Za-z0-9_-]{40,}/,\n\t/\\bBearer\\s+(?=[A-Za-z0-9_.-]{16,}\\b)(?=[A-Za-z0-9_.-]*[0-9_.-])[A-Za-z0-9_.-]+/i,\n\t/\\bBasic\\s+[A-Za-z0-9+/=]{16,}/i,\n\t/\\bAuthorization\\s*[:=]\\s*['\"]?(?:Basic\\s+[A-Za-z0-9+/=]{16,}|(?:Bearer|Token)\\s+(?=[A-Za-z0-9_\\-./+=]{16,}\\b)(?=[A-Za-z0-9_\\-./+=]*[0-9_\\-./+=])[A-Za-z0-9_\\-./+=]+)\\b/i,\n\t/[?&](?:sv|sig|se|sp)=[A-Za-z0-9%_-]{10,}/i,\n\t/\\b(?:AccountKey|SharedAccessKey)=[A-Za-z0-9+/=]{40,}/i,\n\t/\\b(?:client[_-]?secret|azure[_-]?secret)[':\"\\s=]+['\"]?[A-Za-z0-9~_.-]{32,}/i,\n\t/\\bnpm_[A-Za-z0-9]{36}\\b/,\n\t/\\bpypi-[A-Za-z0-9]{60,}\\b/,\n];\n\nfunction containsHostedCredential(value: string): boolean {\n\treturn HOSTED_CREDENTIAL_PATTERNS.some((pattern) => pattern.test(value));\n}\n\nfunction shouldRedactOutboundText(text: string): boolean {\n\treturn containsHostedCredential(text) || containsShellCommandSyntax(text);\n}\n\nfunction sanitizeOutboundText(\n\tvalue: string | undefined,\n\tmaxLength = MAX_TEXT_FIELD_LENGTH,\n): string | undefined {\n\tconst text = nonEmptyString(value);\n\tif (!text) {\n\t\treturn undefined;\n\t}\n\tif (shouldRedactOutboundText(text)) {\n\t\treturn REDACTED;\n\t}\n\treturn text.length > maxLength ? `${text.slice(0, maxLength - 1)}…` : text;\n}\n\nfunction sanitizeToolBatchSummaryText(\n\tvalue: string | undefined,\n\ttoolNames?: string[],\n): string | undefined {\n\tconst text = nonEmptyString(value);\n\tif (\n\t\ttext?.split(/\\s*,\\s*/).some((part, index) => {\n\t\t\tconst toolName = toolNames?.[index];\n\t\t\treturn (\n\t\t\t\tcontainsGeneratedShellToolLabel(toolName, part) ||\n\t\t\t\tcontainsBatchGeneratedShellToolLabel(toolNames, part) ||\n\t\t\t\tcontainsShellCommandSyntax(part)\n\t\t\t);\n\t\t})\n\t) {\n\t\treturn REDACTED;\n\t}\n\treturn sanitizeOutboundText(value, 512);\n}\n\nfunction sanitizeToolBatchSummaryLabels(\n\tlabels: string[] | undefined,\n\ttoolNames: string[] | undefined,\n): string[] | undefined {\n\tif (!labels) {\n\t\treturn undefined;\n\t}\n\treturn labels\n\t\t.map((label, index) =>\n\t\t\tcontainsBatchGeneratedShellToolLabel(toolNames, label)\n\t\t\t\t? REDACTED\n\t\t\t\t: sanitizeToolOutboundText(toolNames?.[index], label),\n\t\t)\n\t\t.filter((label): label is string => Boolean(label));\n}\n\nfunction sanitizeOutboundPayload(\n\tpayload: Record<string, unknown> | undefined,\n): Record<string, unknown> | undefined {\n\tif (!payload) {\n\t\treturn undefined;\n\t}\n\treturn Object.fromEntries(\n\t\tObject.entries(payload).map(([key, value]) => [\n\t\t\tkey,\n\t\t\ttypeof value === \"string\"\n\t\t\t\t? sanitizeOutboundText(value)\n\t\t\t\t: Array.isArray(value) &&\n\t\t\t\t\t\tvalue.every((item) => typeof item === \"string\")\n\t\t\t\t\t? sanitizeOutboundTextArray(value)\n\t\t\t\t\t: value,\n\t\t]),\n\t);\n}\n\nfunction sanitizeHostedDrainPlatformEvidence(value: unknown): unknown {\n\tif (!isRecord(value)) {\n\t\treturn value;\n\t}\n\tconst reason =\n\t\ttypeof value.reason === \"string\"\n\t\t\t? sanitizeOutboundText(value.reason, 512)\n\t\t\t: undefined;\n\treturn reason ? { ...value, reason } : value;\n}\n\nfunction containsShellCommandSyntax(value: string): boolean {\n\tconst generatedShellLabel = /^\\s*Ran\\s+(.+)$/i.exec(value);\n\tif (\n\t\tgeneratedShellLabel?.[1] &&\n\t\tcontainsShellCommandAtStart(generatedShellLabel[1])\n\t) {\n\t\treturn true;\n\t}\n\tconst embeddedGeneratedShellLabel = /(?:^|[,;]\\s*)Ran\\s+(.+)$/i.exec(value);\n\tif (\n\t\tembeddedGeneratedShellLabel?.[1] &&\n\t\tcontainsShellCommandAtStart(embeddedGeneratedShellLabel[1])\n\t) {\n\t\treturn true;\n\t}\n\tif (containsShellCommandAtStart(value)) {\n\t\treturn true;\n\t}\n\tconst prefixedCommand =\n\t\t/\\b(?:detected (?:command|[^:\\n]*\\bcommand)|command failed|command):\\s*(\\S[\\s\\S]*)$/i.exec(\n\t\t\tvalue,\n\t\t);\n\tif (prefixedCommand?.[1]) {\n\t\treturn containsCommandLikePrefixedText(prefixedCommand[1], {\n\t\t\tallowArbitraryMakeTargets: true,\n\t\t});\n\t}\n\tconst embeddedCommand =\n\t\t/\\b(?:please\\s+)?(run|running|execute|start|launch|retry)\\s+([\\s\\S]+)$/i.exec(\n\t\t\tvalue,\n\t\t);\n\tif (!embeddedCommand?.[1] || !embeddedCommand[2]) {\n\t\treturn false;\n\t}\n\tif (\n\t\tembeddedCommand[1].toLowerCase() === \"running\" &&\n\t\tcontainsExplicitCommandLabelPlainOperandSyntax(embeddedCommand[2])\n\t) {\n\t\treturn true;\n\t}\n\treturn containsShellCommandAtStart(embeddedCommand[2], {\n\t\tallowArbitraryMakeTargets: true,\n\t});\n}\n\nfunction sanitizeStatusText(\n\tstatus: string,\n\tdetails: Record<string, unknown>,\n): string | undefined {\n\treturn containsGeneratedShellStatusContext(status, details)\n\t\t? REDACTED\n\t\t: sanitizeOutboundText(status, 512);\n}\n\nfunction containsGeneratedShellStatusContext(\n\tvalue: string,\n\tdetails: Record<string, unknown>,\n): boolean {\n\tif (!isGeneratedShellToolStatus(details)) {\n\t\treturn false;\n\t}\n\tconst match = /^\\s*Running\\s+(.+?)\\s*$/i.exec(value);\n\tconst command = match?.[1]?.trim();\n\treturn Boolean(command && command.toLowerCase() !== \"command\");\n}\n\nfunction isGeneratedShellToolStatus(details: Record<string, unknown>): boolean {\n\tif (details.kind !== \"tool_execution_summary\") {\n\t\treturn false;\n\t}\n\tconst toolName =\n\t\ttypeof details.toolName === \"string\" ? details.toolName.toLowerCase() : \"\";\n\treturn new Set([\"bash\", \"shell\", \"exec_command\"]).has(toolName);\n}\n\nfunction containsCommandLikePrefixedText(\n\tvalue: string,\n\toptions: { allowArbitraryMakeTargets?: boolean } = {},\n): boolean {\n\tif (containsShellCommandAtStart(value, options)) {\n\t\treturn true;\n\t}\n\tconst firstLine = value.split(/\\r?\\n/, 1)[0]?.trim();\n\tif (\n\t\tfirstLine &&\n\t\tfirstLine !== value.trim() &&\n\t\tcontainsShellCommandAtStart(firstLine, options)\n\t) {\n\t\treturn true;\n\t}\n\tif (containsExplicitCommandLabelPlainOperandSyntax(value)) {\n\t\treturn true;\n\t}\n\tconst parts = value.trim().split(/\\s+/);\n\tif (parts.length < 2) {\n\t\treturn false;\n\t}\n\treturn parts\n\t\t.slice(1)\n\t\t.some((part) =>\n\t\t\t/^(?:-|\\.{1,2}$|\\.{1,2}\\/|~\\/|\\/|[A-Za-z0-9_.-]*\\/|[A-Za-z_][A-Za-z0-9_]*=)|[/.*?]|\\.[A-Za-z0-9_-]+$/.test(\n\t\t\t\tpart,\n\t\t\t),\n\t\t);\n}\n\nfunction containsExplicitCommandLabelPlainOperandSyntax(\n\tvalue: string,\n): boolean {\n\treturn (\n\t\tcontainsPackageManagerPlainOperandCommandSyntax(value) ||\n\t\tcontainsGitPlainOperandCommandSyntax(value) ||\n\t\tcontainsYarnPlainOperandCommandSyntax(value) ||\n\t\tcontainsGoCargoPlainOperandCommandSyntax(value) ||\n\t\tcontainsPipPlainOperandCommandSyntax(value) ||\n\t\tcontainsDockerPlainOperandCommandSyntax(value) ||\n\t\tcontainsTerraformPlainOperandCommandSyntax(value) ||\n\t\tcontainsShellBuiltinPlainOperandCommandSyntax(value) ||\n\t\tcontainsSimpleShellCommandLabelSyntax(value)\n\t);\n}\n\nfunction containsShellBuiltinPlainOperandCommandSyntax(value: string): boolean {\n\treturn /^\\s*(?:echo|printf)(?:\\s+\\S+)+\\s*$/.test(value);\n}\n\nfunction containsSimpleShellCommandLabelSyntax(value: string): boolean {\n\tconst text = value.trim();\n\treturn (\n\t\t/^(?:pwd|date)\\s*$/.test(text) ||\n\t\t/^uname\\s+-[A-Za-z]+\\s*$/.test(text) ||\n\t\t/^which\\s+\\S+\\s*$/.test(text)\n\t);\n}\n\nfunction containsPackageManagerPlainOperandCommandSyntax(\n\tvalue: string,\n): boolean {\n\tconst match =\n\t\t/^\\s*(?:npm|pnpm|bun)\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+\\S+)+\\s*$/.exec(\n\t\t\tvalue,\n\t\t);\n\tconst subcommand = match?.[1];\n\treturn subcommand\n\t\t? new Set([\n\t\t\t\t\"install\",\n\t\t\t\t\"add\",\n\t\t\t\t\"remove\",\n\t\t\t\t\"exec\",\n\t\t\t\t\"run\",\n\t\t\t\t\"test\",\n\t\t\t\t\"build\",\n\t\t\t\t\"start\",\n\t\t\t\t\"ci\",\n\t\t\t\t\"create\",\n\t\t\t]).has(subcommand)\n\t\t: false;\n}\n\nfunction containsGitPlainOperandCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*git\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+\\S+)+\\s*$/.exec(value);\n\tconst subcommand = match?.[1];\n\treturn subcommand\n\t\t? new Set([\n\t\t\t\t\"add\",\n\t\t\t\t\"branch\",\n\t\t\t\t\"checkout\",\n\t\t\t\t\"clone\",\n\t\t\t\t\"commit\",\n\t\t\t\t\"fetch\",\n\t\t\t\t\"merge\",\n\t\t\t\t\"pull\",\n\t\t\t\t\"push\",\n\t\t\t\t\"rebase\",\n\t\t\t\t\"remote\",\n\t\t\t\t\"reset\",\n\t\t\t\t\"restore\",\n\t\t\t\t\"show\",\n\t\t\t\t\"stash\",\n\t\t\t\t\"status\",\n\t\t\t\t\"switch\",\n\t\t\t\t\"tag\",\n\t\t\t\t\"worktree\",\n\t\t\t]).has(subcommand)\n\t\t: false;\n}\n\nfunction containsYarnPlainOperandCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*yarn\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+\\S+)+\\s*$/.exec(\n\t\tvalue,\n\t);\n\tconst subcommand = match?.[1];\n\treturn subcommand\n\t\t? new Set([\n\t\t\t\t\"add\",\n\t\t\t\t\"remove\",\n\t\t\t\t\"run\",\n\t\t\t\t\"test\",\n\t\t\t\t\"build\",\n\t\t\t\t\"install\",\n\t\t\t\t\"exec\",\n\t\t\t\t\"workspace\",\n\t\t\t\t\"workspaces\",\n\t\t\t\t\"dlx\",\n\t\t\t]).has(subcommand)\n\t\t: false;\n}\n\nfunction containsGoCargoPlainOperandCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*(go|cargo)\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+\\S+)+\\s*$/.exec(\n\t\tvalue,\n\t);\n\tconst command = match?.[1];\n\tconst subcommand = match?.[2];\n\tconst allowed: Record<string, ReadonlySet<string>> = {\n\t\tgo: new Set([\n\t\t\t\"test\",\n\t\t\t\"run\",\n\t\t\t\"build\",\n\t\t\t\"mod\",\n\t\t\t\"fmt\",\n\t\t\t\"vet\",\n\t\t\t\"install\",\n\t\t\t\"generate\",\n\t\t\t\"env\",\n\t\t]),\n\t\tcargo: new Set([\n\t\t\t\"test\",\n\t\t\t\"run\",\n\t\t\t\"build\",\n\t\t\t\"check\",\n\t\t\t\"fmt\",\n\t\t\t\"clippy\",\n\t\t\t\"install\",\n\t\t]),\n\t};\n\treturn command && subcommand\n\t\t? (allowed[command]?.has(subcommand) ?? false)\n\t\t: false;\n}\n\nfunction containsPipPlainOperandCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*pip(?:3)?\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+\\S+)+\\s*$/.exec(\n\t\tvalue,\n\t);\n\tconst subcommand = match?.[1];\n\treturn subcommand\n\t\t? new Set([\n\t\t\t\t\"install\",\n\t\t\t\t\"uninstall\",\n\t\t\t\t\"download\",\n\t\t\t\t\"wheel\",\n\t\t\t\t\"show\",\n\t\t\t\t\"list\",\n\t\t\t\t\"freeze\",\n\t\t\t\t\"check\",\n\t\t\t]).has(subcommand)\n\t\t: false;\n}\n\nfunction containsDockerPlainOperandCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*docker\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+\\S+)+\\s*$/.exec(\n\t\tvalue,\n\t);\n\tconst subcommand = match?.[1];\n\treturn subcommand\n\t\t? new Set([\n\t\t\t\t\"build\",\n\t\t\t\t\"run\",\n\t\t\t\t\"compose\",\n\t\t\t\t\"pull\",\n\t\t\t\t\"push\",\n\t\t\t\t\"exec\",\n\t\t\t\t\"inspect\",\n\t\t\t\t\"logs\",\n\t\t\t\t\"stop\",\n\t\t\t\t\"start\",\n\t\t\t\t\"restart\",\n\t\t\t\t\"rm\",\n\t\t\t\t\"rmi\",\n\t\t\t\t\"tag\",\n\t\t\t]).has(subcommand)\n\t\t: false;\n}\n\nfunction containsTerraformPlainOperandCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*terraform\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+\\S+)+\\s*$/.exec(\n\t\tvalue,\n\t);\n\tconst subcommand = match?.[1];\n\treturn subcommand\n\t\t? new Set([\n\t\t\t\t\"apply\",\n\t\t\t\t\"destroy\",\n\t\t\t\t\"import\",\n\t\t\t\t\"output\",\n\t\t\t\t\"plan\",\n\t\t\t\t\"show\",\n\t\t\t\t\"state\",\n\t\t\t\t\"workspace\",\n\t\t\t]).has(subcommand)\n\t\t: false;\n}\n\nfunction containsShellCommandAtStart(\n\tvalue: string,\n\toptions: { allowArbitraryMakeTargets?: boolean } = {},\n): boolean {\n\tconst unwrapped = unwrapCommandText(value);\n\tif (unwrapped !== value && containsShellCommandAtStart(unwrapped, options)) {\n\t\treturn true;\n\t}\n\tif (containsLeadingWrappedCommandSyntax(value, options)) {\n\t\treturn true;\n\t}\n\tif (\n\t\t/^\\s*(?:bash|sh|zsh)\\s+(?:-[A-Za-z]+|\\.{0,2}\\/|~\\/|[A-Za-z0-9_.\\/-]+\\.(?:bash|sh|zsh))/i.test(\n\t\t\tvalue,\n\t\t) ||\n\t\t/^\\s*(?:powershell|cmd)\\s+(?:-[A-Za-z]+|\\/c\\b)/i.test(value)\n\t) {\n\t\treturn true;\n\t}\n\tif (containsKnownExecutableCommandSyntax(value)) {\n\t\treturn true;\n\t}\n\tif (containsYarnGoCargoCommandSyntax(value)) {\n\t\treturn true;\n\t}\n\tif (containsMakeCommandSyntax(value, options)) {\n\t\treturn true;\n\t}\n\tif (containsEnvPrefixedCommandSyntax(value, options)) {\n\t\treturn true;\n\t}\n\tif (containsEnvWrappedCommandSyntax(value, options)) {\n\t\treturn true;\n\t}\n\tif (containsChainedShellBuiltinSyntax(value)) {\n\t\treturn true;\n\t}\n\treturn (\n\t\tcontainsPathCommandSyntax(value) ||\n\t\tcontainsSimpleShellUtilitySyntax(value) ||\n\t\tcontainsShellMetacharCommandSyntax(value) ||\n\t\t/^\\s*(?:\\.{0,2}\\/|[A-Za-z0-9_.-]*\\/)[^\\s]+(?:\\s+\\S+)*(?:\\s*(?:&&|\\|\\||[;|`])|\\$\\()/i.test(\n\t\t\tvalue,\n\t\t)\n\t);\n}\n\nfunction containsKnownExecutableCommandSyntax(value: string): boolean {\n\tconst text = value.trimStart();\n\treturn (\n\t\t/^(?:rm\\s+-[A-Za-z]*[rf][A-Za-z]*\\s+\\S+|node\\s+(?:-[A-Za-z]|--\\S+|\\.{1,2}\\/\\S+|~\\/\\S+|\\/\\S+|[A-Za-z0-9_.-]*\\/\\S+|\\S+\\.(?:cjs|mjs|js|ts|tsx))\\S*(?:\\s+\\S+)*)/.test(\n\t\t\ttext,\n\t\t) ||\n\t\tcontainsGitCommandSyntax(text) ||\n\t\tcontainsDockerCommandSyntax(text) ||\n\t\tcontainsGhCommandSyntax(text) ||\n\t\tcontainsSudoCommandSyntax(text) ||\n\t\tcontainsHttpFetchCommandSyntax(text) ||\n\t\tcontainsPackageManagerCommandSyntax(text) ||\n\t\tcontainsPythonCommandSyntax(text) ||\n\t\tcontainsInfraCommandSyntax(text) ||\n\t\tcontainsToolCommandSyntax(text)\n\t);\n}\n\nfunction containsGitCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*git\\s+(\\S+)(?:\\s+(.+?))?\\s*$/.exec(value);\n\tconst subcommand = match?.[1];\n\tif (!subcommand) {\n\t\treturn false;\n\t}\n\tif (subcommand.startsWith(\"-\")) {\n\t\treturn true;\n\t}\n\tconst allowed = new Set([\n\t\t\"add\",\n\t\t\"am\",\n\t\t\"apply\",\n\t\t\"bisect\",\n\t\t\"branch\",\n\t\t\"checkout\",\n\t\t\"clone\",\n\t\t\"commit\",\n\t\t\"config\",\n\t\t\"diff\",\n\t\t\"fetch\",\n\t\t\"grep\",\n\t\t\"init\",\n\t\t\"log\",\n\t\t\"merge\",\n\t\t\"mv\",\n\t\t\"pull\",\n\t\t\"push\",\n\t\t\"rebase\",\n\t\t\"remote\",\n\t\t\"reset\",\n\t\t\"restore\",\n\t\t\"rm\",\n\t\t\"show\",\n\t\t\"stash\",\n\t\t\"status\",\n\t\t\"switch\",\n\t\t\"tag\",\n\t\t\"worktree\",\n\t]);\n\tif (!allowed.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[2]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\treturn args\n\t\t.split(/\\s+/)\n\t\t.some((arg) => hasGitCommandCueArgument(subcommand, arg));\n}\n\nfunction hasGitCommandCueArgument(subcommand: string, arg: string): boolean {\n\tif (hasCommandCueArgument(arg) || /^https?:\\/\\//i.test(arg)) {\n\t\treturn true;\n\t}\n\tif ([\"fetch\", \"pull\", \"push\"].includes(subcommand)) {\n\t\treturn /^[A-Za-z0-9_.-]+(?::[A-Za-z0-9_./-]+)?$/.test(arg);\n\t}\n\treturn false;\n}\n\nfunction containsDockerCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*docker\\s+(\\S+)(?:\\s+(.+?))?\\s*$/.exec(value);\n\tconst subcommand = match?.[1];\n\tif (!subcommand) {\n\t\treturn false;\n\t}\n\tconst allowed = new Set([\n\t\t\"build\",\n\t\t\"run\",\n\t\t\"compose\",\n\t\t\"ps\",\n\t\t\"pull\",\n\t\t\"push\",\n\t\t\"login\",\n\t\t\"logout\",\n\t\t\"exec\",\n\t\t\"image\",\n\t\t\"images\",\n\t\t\"container\",\n\t\t\"volume\",\n\t\t\"network\",\n\t\t\"system\",\n\t\t\"context\",\n\t\t\"inspect\",\n\t\t\"logs\",\n\t\t\"stop\",\n\t\t\"start\",\n\t\t\"restart\",\n\t\t\"rm\",\n\t\t\"rmi\",\n\t\t\"tag\",\n\t\t\"version\",\n\t\t\"info\",\n\t]);\n\tif (!allowed.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[2]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\treturn args.split(/\\s+/).some((arg) => hasCommandCueArgument(arg));\n}\n\nfunction containsGhCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*gh\\s+(\\S+)(?:\\s+(.+?))?\\s*$/.exec(value);\n\tconst subcommand = match?.[1];\n\tif (!subcommand) {\n\t\treturn false;\n\t}\n\tif (subcommand.startsWith(\"-\")) {\n\t\treturn true;\n\t}\n\tconst allowed = new Set([\n\t\t\"alias\",\n\t\t\"api\",\n\t\t\"auth\",\n\t\t\"browse\",\n\t\t\"codespace\",\n\t\t\"completion\",\n\t\t\"config\",\n\t\t\"extension\",\n\t\t\"gpg-key\",\n\t\t\"gist\",\n\t\t\"issue\",\n\t\t\"label\",\n\t\t\"pr\",\n\t\t\"release\",\n\t\t\"repo\",\n\t\t\"run\",\n\t\t\"search\",\n\t\t\"secret\",\n\t\t\"ssh-key\",\n\t\t\"status\",\n\t\t\"variable\",\n\t\t\"workflow\",\n\t]);\n\tif (!allowed.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[2]?.trim();\n\tif (!args) {\n\t\treturn !ghCommandGroupChildren[subcommand];\n\t}\n\tconst [rawChild, ...rest] = args.split(/\\s+/);\n\tif (!rawChild) {\n\t\treturn false;\n\t}\n\tif (rawChild.startsWith(\"-\")) {\n\t\treturn true;\n\t}\n\tconst child = rawChild.toLowerCase();\n\tconst allowedChildren = ghCommandGroupChildren[subcommand];\n\tif (!allowedChildren) {\n\t\treturn true;\n\t}\n\tif (allowedChildren?.has(child)) {\n\t\treturn true;\n\t}\n\treturn [rawChild, ...rest].some((arg) => hasCommandCueArgument(arg));\n}\n\nconst ghCommandGroupChildren: Record<string, ReadonlySet<string>> = {\n\tauth: new Set([\n\t\t\"login\",\n\t\t\"logout\",\n\t\t\"refresh\",\n\t\t\"setup-git\",\n\t\t\"status\",\n\t\t\"switch\",\n\t]),\n\tcodespace: new Set([\n\t\t\"code\",\n\t\t\"cp\",\n\t\t\"create\",\n\t\t\"delete\",\n\t\t\"edit\",\n\t\t\"jupyter\",\n\t\t\"list\",\n\t\t\"logs\",\n\t\t\"ports\",\n\t\t\"rebuild\",\n\t\t\"ssh\",\n\t\t\"stop\",\n\t]),\n\textension: new Set([\n\t\t\"browse\",\n\t\t\"create\",\n\t\t\"exec\",\n\t\t\"install\",\n\t\t\"list\",\n\t\t\"remove\",\n\t\t\"search\",\n\t\t\"upgrade\",\n\t]),\n\tgist: new Set([\n\t\t\"clone\",\n\t\t\"create\",\n\t\t\"delete\",\n\t\t\"edit\",\n\t\t\"list\",\n\t\t\"rename\",\n\t\t\"view\",\n\t]),\n\tissue: new Set([\n\t\t\"close\",\n\t\t\"comment\",\n\t\t\"create\",\n\t\t\"delete\",\n\t\t\"develop\",\n\t\t\"edit\",\n\t\t\"list\",\n\t\t\"lock\",\n\t\t\"pin\",\n\t\t\"reopen\",\n\t\t\"status\",\n\t\t\"transfer\",\n\t\t\"unlock\",\n\t\t\"unpin\",\n\t\t\"view\",\n\t]),\n\tpr: new Set([\n\t\t\"checkout\",\n\t\t\"checks\",\n\t\t\"close\",\n\t\t\"comment\",\n\t\t\"create\",\n\t\t\"diff\",\n\t\t\"edit\",\n\t\t\"list\",\n\t\t\"lock\",\n\t\t\"merge\",\n\t\t\"ready\",\n\t\t\"reopen\",\n\t\t\"review\",\n\t\t\"status\",\n\t\t\"unlock\",\n\t\t\"update-branch\",\n\t\t\"view\",\n\t]),\n\trelease: new Set([\n\t\t\"create\",\n\t\t\"delete\",\n\t\t\"delete-asset\",\n\t\t\"download\",\n\t\t\"edit\",\n\t\t\"list\",\n\t\t\"upload\",\n\t\t\"view\",\n\t]),\n\trepo: new Set([\n\t\t\"archive\",\n\t\t\"clone\",\n\t\t\"create\",\n\t\t\"delete\",\n\t\t\"deploy-key\",\n\t\t\"edit\",\n\t\t\"fork\",\n\t\t\"list\",\n\t\t\"rename\",\n\t\t\"set-default\",\n\t\t\"sync\",\n\t\t\"unarchive\",\n\t\t\"view\",\n\t]),\n\trun: new Set([\n\t\t\"cancel\",\n\t\t\"delete\",\n\t\t\"download\",\n\t\t\"list\",\n\t\t\"rerun\",\n\t\t\"view\",\n\t\t\"watch\",\n\t]),\n\tsecret: new Set([\"delete\", \"list\", \"set\"]),\n\tvariable: new Set([\"delete\", \"get\", \"list\", \"set\"]),\n\tworkflow: new Set([\"disable\", \"enable\", \"list\", \"run\", \"view\"]),\n};\n\nfunction containsSudoCommandSyntax(value: string): boolean {\n\tconst parts = value.trim().split(/\\s+/);\n\tif (parts.shift() !== \"sudo\") {\n\t\treturn false;\n\t}\n\twhile (parts[0]?.startsWith(\"-\")) {\n\t\tconst option = parts.shift();\n\t\tif (option && [\"-u\", \"-g\", \"-h\", \"-p\", \"-C\", \"-T\"].includes(option)) {\n\t\t\tparts.shift();\n\t\t}\n\t}\n\tconst command = parts.join(\" \");\n\treturn command ? containsShellCommandAtStart(command) : false;\n}\n\nfunction containsHttpFetchCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*(?:curl|wget)\\s+(.+?)\\s*$/.exec(value);\n\tif (!match?.[1]) {\n\t\treturn false;\n\t}\n\tconst args = match[1].trim().split(/\\s+/);\n\treturn args.some(\n\t\t(arg) =>\n\t\t\targ.startsWith(\"-\") ||\n\t\t\t/^(?:https?|ftp):\\/\\//i.test(arg) ||\n\t\t\t/^[A-Za-z0-9.-]+\\.[A-Za-z]{2,}(?:[/:?#]\\S*)?$/i.test(arg),\n\t);\n}\n\nfunction containsYarnGoCargoCommandSyntax(value: string): boolean {\n\tconst match =\n\t\t/^\\s*(yarn|go|cargo)\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+(.+?))?\\s*$/.exec(\n\t\t\tvalue,\n\t\t);\n\tconst command = match?.[1];\n\tconst subcommand = match?.[2];\n\tif (!command || !subcommand) {\n\t\treturn false;\n\t}\n\tconst allowed: Record<string, ReadonlySet<string>> = {\n\t\tyarn: new Set([\n\t\t\t\"test\",\n\t\t\t\"run\",\n\t\t\t\"build\",\n\t\t\t\"install\",\n\t\t\t\"add\",\n\t\t\t\"remove\",\n\t\t\t\"exec\",\n\t\t\t\"workspace\",\n\t\t\t\"workspaces\",\n\t\t\t\"dlx\",\n\t\t]),\n\t\tgo: new Set([\n\t\t\t\"test\",\n\t\t\t\"run\",\n\t\t\t\"build\",\n\t\t\t\"mod\",\n\t\t\t\"fmt\",\n\t\t\t\"vet\",\n\t\t\t\"install\",\n\t\t\t\"generate\",\n\t\t\t\"env\",\n\t\t\t\"version\",\n\t\t]),\n\t\tcargo: new Set([\n\t\t\t\"test\",\n\t\t\t\"run\",\n\t\t\t\"build\",\n\t\t\t\"check\",\n\t\t\t\"fmt\",\n\t\t\t\"clippy\",\n\t\t\t\"install\",\n\t\t]),\n\t};\n\tif (!allowed[command]?.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[3]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\treturn args\n\t\t.split(/\\s+/)\n\t\t.some((arg) =>\n\t\t\t/^(?:-|\\.{1,2}$|\\.{1,2}\\/|~\\/|\\/|[A-Za-z0-9_.-]*\\/|[A-Za-z_][A-Za-z0-9_]*=)|[/.*?]|\\.[A-Za-z0-9_-]+$/.test(\n\t\t\t\targ,\n\t\t\t),\n\t\t);\n}\n\nfunction containsPackageManagerCommandSyntax(value: string): boolean {\n\treturn (\n\t\tcontainsNpmPnpmCommandSyntax(value) ||\n\t\tcontainsBunCommandSyntax(value) ||\n\t\tcontainsPackageRunnerCommandSyntax(value) ||\n\t\tcontainsUvCommandSyntax(value)\n\t);\n}\n\nfunction containsPackageRunnerCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*(npx|bunx|uvx)\\s+(\\S+)(?:\\s+(.+?))?\\s*$/.exec(value);\n\tif (!match) {\n\t\treturn false;\n\t}\n\tconst command = match[2];\n\tif (!command) {\n\t\treturn false;\n\t}\n\tif (\n\t\t/^(?:-[A-Za-z]|--\\S+|\\.{1,2}\\/\\S+|~\\/\\S+|\\/\\S+|[A-Za-z0-9_.-]*\\/\\S+)/.test(\n\t\t\tcommand,\n\t\t)\n\t) {\n\t\treturn true;\n\t}\n\tif (!isPackageSpecCommandCue(command) && !isKnownPackageRunnerTool(command)) {\n\t\treturn false;\n\t}\n\tconst args = match[3]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\treturn args\n\t\t.split(/\\s+/)\n\t\t.some((arg) => hasPackageManagerCommandCueArgument(arg));\n}\n\nfunction containsUvCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*uv\\s+(\\S+)(?:\\s+(.+?))?\\s*$/.exec(value);\n\tif (!match) {\n\t\treturn false;\n\t}\n\tconst subcommand = match[1];\n\tif (!subcommand) {\n\t\treturn false;\n\t}\n\tif (\n\t\t/^(?:-[A-Za-z]|--\\S+|\\.{1,2}\\/\\S+|~\\/\\S+|\\/\\S+|[A-Za-z0-9_.-]*\\/\\S+)/.test(\n\t\t\tsubcommand,\n\t\t)\n\t) {\n\t\treturn true;\n\t}\n\tconst allowed = new Set([\n\t\t\"run\",\n\t\t\"tool\",\n\t\t\"pip\",\n\t\t\"venv\",\n\t\t\"sync\",\n\t\t\"add\",\n\t\t\"remove\",\n\t\t\"init\",\n\t\t\"lock\",\n\t\t\"export\",\n\t\t\"python\",\n\t\t\"build\",\n\t\t\"publish\",\n\t]);\n\tif (!allowed.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[2]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\treturn args\n\t\t.split(/\\s+/)\n\t\t.some((arg) => hasPackageManagerCommandCueArgument(arg));\n}\n\nfunction hasPackageManagerCommandCueArgument(arg: string): boolean {\n\treturn (\n\t\thasCommandCueArgument(arg) ||\n\t\tisPackageSpecCommandCue(arg) ||\n\t\tisKnownPackageRunnerTool(arg) ||\n\t\tisPackageRunnerSubcommandCue(arg)\n\t);\n}\n\nfunction isKnownPackageRunnerTool(value: string): boolean {\n\treturn /^(?:biome|eslint|jest|nx|playwright|prettier|pytest|ruff|tsc|vitest)$/i.test(\n\t\tvalue,\n\t);\n}\n\nfunction isPackageRunnerSubcommandCue(value: string): boolean {\n\treturn /^(?:build|check|fix|format|lint|run|test)$/i.test(value);\n}\n\nfunction isPackageSpecCommandCue(value: string): boolean {\n\treturn (\n\t\tvalue.includes(\"@\") ||\n\t\t/^[A-Za-z0-9_.-]+(?:==|~=|!=|<=|>=|<|>)\\S+$/.test(value) ||\n\t\t/^[A-Za-z0-9_.-]+\\[[^\\]\\s]+\\](?:==|~=|!=|<=|>=|<|>)?\\S*$/.test(value)\n\t);\n}\n\nfunction containsNpmPnpmCommandSyntax(value: string): boolean {\n\tconst match =\n\t\t/^\\s*(npm|pnpm)\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+(.+?))?\\s*$/.exec(value);\n\tconst command = match?.[1];\n\tconst subcommand = match?.[2];\n\tif (!command || !subcommand) {\n\t\treturn false;\n\t}\n\tconst allowed = new Set([\n\t\t\"run\",\n\t\t\"test\",\n\t\t\"build\",\n\t\t\"install\",\n\t\t\"add\",\n\t\t\"remove\",\n\t\t\"exec\",\n\t\t\"ci\",\n\t\t\"start\",\n\t\t\"stop\",\n\t\t\"restart\",\n\t\t\"publish\",\n\t\t\"pack\",\n\t\t\"audit\",\n\t\t\"lint\",\n\t\t\"format\",\n\t\t\"view\",\n\t\t\"config\",\n\t\t\"cache\",\n\t\t\"workspace\",\n\t\t\"workspaces\",\n\t\t\"create\",\n\t\t\"init\",\n\t\t\"link\",\n\t\t\"unlink\",\n\t\t\"outdated\",\n\t\t\"update\",\n\t\t\"version\",\n\t]);\n\tif (!allowed.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[3]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\tif (\n\t\t[\"run\", \"exec\", \"workspace\", \"workspaces\", \"create\"].includes(subcommand)\n\t) {\n\t\treturn true;\n\t}\n\treturn args.split(/\\s+/).some((arg) => hasCommandCueArgument(arg));\n}\n\nfunction containsBunCommandSyntax(value: string): boolean {\n\tif (\n\t\t/^\\s*bun\\s+(?:-[A-Za-z]|--\\S+|\\.{1,2}\\/\\S+|~\\/\\S+|\\/\\S+|[A-Za-z0-9_.-]*\\/\\S+|\\S+\\.(?:cjs|mjs|js|ts|tsx))(?:\\s+\\S+)*\\s*$/.test(\n\t\t\tvalue,\n\t\t)\n\t) {\n\t\treturn true;\n\t}\n\tconst match = /^\\s*bun\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+(.+?))?\\s*$/.exec(\n\t\tvalue,\n\t);\n\tconst subcommand = match?.[1];\n\tif (!subcommand) {\n\t\treturn false;\n\t}\n\tconst allowed = new Set([\n\t\t\"run\",\n\t\t\"test\",\n\t\t\"install\",\n\t\t\"add\",\n\t\t\"remove\",\n\t\t\"x\",\n\t\t\"exec\",\n\t\t\"build\",\n\t\t\"create\",\n\t\t\"init\",\n\t]);\n\tif (!allowed.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[2]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\tif ([\"run\", \"x\", \"exec\", \"create\"].includes(subcommand)) {\n\t\treturn true;\n\t}\n\treturn args.split(/\\s+/).some((arg) => hasCommandCueArgument(arg));\n}\n\nfunction hasCommandCueArgument(arg: string): boolean {\n\treturn /^(?:-|\\.{1,2}$|\\.{1,2}\\/|~\\/|\\/|[A-Za-z0-9_.-]*\\/|[A-Za-z_][A-Za-z0-9_]*=)|[/.*?]|\\.[A-Za-z0-9_-]+$/.test(\n\t\targ,\n\t);\n}\n\nfunction containsPythonCommandSyntax(value: string): boolean {\n\treturn (\n\t\t/^(?:python(?:3)?\\s+(?:-[A-Za-z]|--\\S+|\\.{1,2}\\/\\S+|~\\/\\S+|\\/\\S+|[A-Za-z0-9_.-]*\\/\\S+|\\S+\\.(?:py|pyw))(?:\\s+\\S+)*|pytest(?:\\s*$|\\s+(?:-[A-Za-z]|--\\S+|\\.{1,2}\\/\\S+|~\\/\\S+|\\/\\S+|[A-Za-z0-9_.-]*\\/\\S+|tests?\\b|\\S+\\.py\\b)(?:\\s+\\S+)*))/.test(\n\t\t\tvalue,\n\t\t) || containsPipCommandSyntax(value)\n\t);\n}\n\nfunction containsPipCommandSyntax(value: string): boolean {\n\tconst match =\n\t\t/^\\s*pip(?:3)?\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+(.+?))?\\s*$/.exec(value);\n\tif (!match) {\n\t\treturn false;\n\t}\n\tconst rawSubcommand = match[1];\n\tif (!rawSubcommand) {\n\t\treturn false;\n\t}\n\tconst subcommand = rawSubcommand.toLowerCase();\n\tconst allowed = new Set([\n\t\t\"install\",\n\t\t\"uninstall\",\n\t\t\"list\",\n\t\t\"freeze\",\n\t\t\"show\",\n\t\t\"download\",\n\t\t\"wheel\",\n\t\t\"check\",\n\t\t\"config\",\n\t\t\"cache\",\n\t]);\n\tif (!allowed.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[2]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\treturn args\n\t\t.split(/\\s+/)\n\t\t.some((arg) => hasPythonPackageCommandCueArgument(arg));\n}\n\nfunction hasPythonPackageCommandCueArgument(arg: string): boolean {\n\treturn (\n\t\thasCommandCueArgument(arg) ||\n\t\t/^[A-Za-z0-9_.-]+(?:==|~=|!=|<=|>=|<|>)\\S+$/.test(arg) ||\n\t\t/^[A-Za-z0-9_.-]+\\[[^\\]\\s]+\\](?:==|~=|!=|<=|>=|<|>)?\\S*$/.test(arg)\n\t);\n}\n\nfunction containsInfraCommandSyntax(value: string): boolean {\n\treturn (\n\t\tcontainsKubectlCommandSyntax(value) || containsTerraformCommandSyntax(value)\n\t);\n}\n\nfunction containsKubectlCommandSyntax(value: string): boolean {\n\tconst match = /^\\s*kubectl\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+(.+?))?\\s*$/.exec(\n\t\tvalue,\n\t);\n\tconst subcommand = match?.[1];\n\tif (!subcommand) {\n\t\treturn false;\n\t}\n\tconst allowed = new Set([\n\t\t\"get\",\n\t\t\"apply\",\n\t\t\"delete\",\n\t\t\"describe\",\n\t\t\"logs\",\n\t\t\"exec\",\n\t\t\"port-forward\",\n\t\t\"cp\",\n\t\t\"create\",\n\t\t\"edit\",\n\t\t\"patch\",\n\t\t\"rollout\",\n\t\t\"scale\",\n\t\t\"annotate\",\n\t\t\"label\",\n\t\t\"config\",\n\t\t\"cluster-info\",\n\t\t\"api-resources\",\n\t\t\"version\",\n\t\t\"diff\",\n\t\t\"top\",\n\t]);\n\tif (!allowed.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[2]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\tif (\n\t\t[\n\t\t\t\"get\",\n\t\t\t\"apply\",\n\t\t\t\"delete\",\n\t\t\t\"describe\",\n\t\t\t\"logs\",\n\t\t\t\"exec\",\n\t\t\t\"port-forward\",\n\t\t\t\"cp\",\n\t\t\t\"create\",\n\t\t\t\"edit\",\n\t\t\t\"patch\",\n\t\t\t\"rollout\",\n\t\t\t\"scale\",\n\t\t\t\"annotate\",\n\t\t\t\"label\",\n\t\t\t\"config\",\n\t\t].includes(subcommand)\n\t) {\n\t\treturn true;\n\t}\n\treturn args.split(/\\s+/).some((arg) => hasCommandCueArgument(arg));\n}\n\nfunction containsTerraformCommandSyntax(value: string): boolean {\n\tconst match =\n\t\t/^\\s*terraform\\s+([A-Za-z][A-Za-z0-9_-]*)(?:\\s+(.+?))?\\s*$/.exec(value);\n\tconst subcommand = match?.[1];\n\tif (!subcommand) {\n\t\treturn false;\n\t}\n\tconst allowed = new Set([\n\t\t\"init\",\n\t\t\"plan\",\n\t\t\"apply\",\n\t\t\"destroy\",\n\t\t\"fmt\",\n\t\t\"validate\",\n\t\t\"providers\",\n\t\t\"state\",\n\t\t\"import\",\n\t\t\"output\",\n\t\t\"workspace\",\n\t\t\"show\",\n\t\t\"taint\",\n\t\t\"untaint\",\n\t\t\"force-unlock\",\n\t\t\"graph\",\n\t\t\"version\",\n\t]);\n\tif (!allowed.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[2]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\tif ([\"state\", \"import\", \"workspace\"].includes(subcommand)) {\n\t\treturn true;\n\t}\n\treturn args.split(/\\s+/).some((arg) => hasCommandCueArgument(arg));\n}\n\nfunction containsToolCommandSyntax(value: string): boolean {\n\tif (\n\t\t/^\\s*tsc\\s+(?:-[A-Za-z]|--\\S+|\\.{1,2}\\/\\S+|~\\/\\S+|\\/\\S+|[A-Za-z0-9_.-]*\\/\\S+|\\S+\\.(?:ts|tsx|js|json))(?:\\s+\\S+)*\\s*$/.test(\n\t\t\tvalue,\n\t\t)\n\t) {\n\t\treturn true;\n\t}\n\tconst match = /^\\s*(biome|buf|vite|vitest)\\s+(\\S+)(?:\\s+(.+?))?\\s*$/.exec(\n\t\tvalue,\n\t);\n\tif (!match) {\n\t\treturn false;\n\t}\n\tconst rawTool = match[1];\n\tconst rawSubcommand = match[2];\n\tif (!rawTool || !rawSubcommand) {\n\t\treturn false;\n\t}\n\tconst tool = rawTool.toLowerCase();\n\tconst subcommand = rawSubcommand.toLowerCase();\n\tconst allowedByTool: Record<string, Set<string>> = {\n\t\tbiome: new Set([\n\t\t\t\"check\",\n\t\t\t\"ci\",\n\t\t\t\"format\",\n\t\t\t\"lint\",\n\t\t\t\"search\",\n\t\t\t\"migrate\",\n\t\t\t\"rage\",\n\t\t\t\"explain\",\n\t\t]),\n\t\tbuf: new Set([\n\t\t\t\"lint\",\n\t\t\t\"generate\",\n\t\t\t\"format\",\n\t\t\t\"build\",\n\t\t\t\"breaking\",\n\t\t\t\"mod\",\n\t\t\t\"registry\",\n\t\t\t\"beta\",\n\t\t]),\n\t\tvite: new Set([\"build\", \"dev\", \"preview\", \"optimize\"]),\n\t\tvitest: new Set([\"run\", \"watch\", \"related\"]),\n\t};\n\tif (subcommand.startsWith(\"--\")) {\n\t\treturn tool === \"vite\" || tool === \"vitest\";\n\t}\n\tif (!allowedByTool[tool]?.has(subcommand)) {\n\t\treturn false;\n\t}\n\tconst args = match[3]?.trim();\n\tif (!args) {\n\t\treturn true;\n\t}\n\treturn args.split(/\\s+/).some((arg) => hasCommandCueArgument(arg));\n}\n\nfunction containsChainedShellBuiltinSyntax(value: string): boolean {\n\treturn /^\\s*cd\\s+(?:-[A-Za-z]+\\s+)*\\S+(?:\\s*(?:&&|\\|\\||;)\\s*\\S+)/.test(value);\n}\n\nfunction containsShellMetacharCommandSyntax(value: string): boolean {\n\tif (!/(?:\\s*(?:&&|\\|\\||[;|])\\s*\\S+)/.test(value)) {\n\t\treturn false;\n\t}\n\treturn /^\\s*(?:(?:[A-Za-z_][A-Za-z0-9_]*=(?:\"[^\"]*\"|'[^']*'|\\S+)\\s+)+|(?:bash|sh|zsh|powershell|cmd|git|rm|sudo|curl|wget|npm|npx|pnpm|bunx?|uvx?|node|python3?|pip3?|docker|kubectl|terraform|yarn|make|go|cargo|echo|printf|grep|egrep|fgrep|awk|sed|cat|head|tail|find|xargs|sort|uniq|cut|tr|tee|wc|ls|touch|mkdir|export)\\b|(?:\\.{0,2}\\/|~\\/|\\/|[A-Za-z0-9_.-]*\\/)\\S+)/.test(\n\t\tvalue,\n\t);\n}\n\nfunction containsSimpleShellUtilitySyntax(value: string): boolean {\n\treturn (\n\t\t/^\\s*ls\\s+(?:-[A-Za-z0-9]+|\\.{1,2}\\/\\S+|~\\/\\S+|\\/\\S+|\\S*[/.*?]\\S*|\\S+\\.[A-Za-z0-9_-]+)(?:\\s+\\S+)*\\s*$/.test(\n\t\t\tvalue,\n\t\t) ||\n\t\t/^\\s*cat\\s+(?:\\.{1,2}\\/|~\\/|\\/|[A-Za-z0-9_.-]*\\/)?[A-Za-z0-9_.-]+\\.[A-Za-z0-9_.-]+(?:\\s+\\S+)*\\s*$/.test(\n\t\t\tvalue,\n\t\t) ||\n\t\tcontainsGrepShellUtilitySyntax(value) ||\n\t\t/^\\s*rg\\s+(?:-\\S+\\s+)*(?:\"[^\"]+\"|'[^']+'|\\S+)\\s+\\S+(?:\\s+\\S+)*\\s*$/.test(\n\t\t\tvalue,\n\t\t) ||\n\t\t/^\\s*fd\\s+(?:-\\S+\\s+)*(?:\"[^\"]+\"|'[^']+'|\\S+)(?:\\s+\\S+)*\\s*$/.test(value) ||\n\t\t/^\\s*sed\\s+(?:-\\S+\\s+)*(?:\"[^\"]+\"|'[^']+'|\\S+)\\s+\\S+(?:\\s+\\S+)*\\s*$/.test(\n\t\t\tvalue,\n\t\t) ||\n\t\t/^\\s*(?:cp|mv)\\s+(?:-\\S+\\s+)*\\S+\\s+\\S+(?:\\s+\\S+)*\\s*$/.test(value) ||\n\t\t/^\\s*(?:mkdir|touch)\\s+(?:-\\S+\\s+)*\\S+(?:\\s+\\S+)*\\s*$/.test(value) ||\n\t\t/^\\s*chmod\\s+(?:-\\S+\\s+)*(?:[0-7]{3,4}|[ugoa]*[+-=][rwxXstugo,]+)\\s+\\S+(?:\\s+\\S+)*\\s*$/.test(\n\t\t\tvalue,\n\t\t) ||\n\t\t/^\\s*tar\\s+(?:-\\S+\\s+)+\\S+(?:\\s+\\S+)*\\s*$/.test(value) ||\n\t\t/^\\s*find\\s+(?:(?:\\.{1,2}|\\.{1,2}\\/\\S+|~\\/\\S+|\\/\\S+|[A-Za-z0-9_.-]*\\/\\S+)\\s+)?(?:-\\S+|\\S+\\s+-\\S+)(?:\\s+\\S+)*\\s*$/.test(\n\t\t\tvalue,\n\t\t) ||\n\t\tcontainsRemoteShellUtilitySyntax(value)\n\t);\n}\n\nfunction containsGrepShellUtilitySyntax(value: string): boolean {\n\tconst match = /^\\s*(?:grep|egrep|fgrep)\\s+(.+?)\\s*$/.exec(value);\n\tif (!match?.[1]) {\n\t\treturn false;\n\t}\n\tconst args = match[1].trim().split(/\\s+/);\n\tif (args.length < 2) {\n\t\treturn false;\n\t}\n\tif (args.some((arg) => arg.startsWith(\"-\"))) {\n\t\treturn true;\n\t}\n\tif (/^\\s*(?:grep|egrep|fgrep)\\s+(?:\"[^\"]+\"|'[^']+')\\s+\\S+/.test(value)) {\n\t\treturn true;\n\t}\n\treturn args\n\t\t.slice(1)\n\t\t.some((arg) =>\n\t\t\t/(?:^\\.{1,2}$|^\\.{1,2}\\/|^~\\/|^\\/|\\/|\\*|\\?|\\.[A-Za-z0-9_-]+$)/.test(arg),\n\t\t);\n}\n\nfunction containsRemoteShellUtilitySyntax(value: string): boolean {\n\tconst parts = value.trim().split(/\\s+/);\n\tconst command = parts[0]?.toLowerCase();\n\tif (!command || ![\"ssh\", \"scp\", \"rsync\"].includes(command)) {\n\t\treturn false;\n\t}\n\tconst args = parts.slice(1);\n\tif (args.length === 0) {\n\t\treturn false;\n\t}\n\tif (args.some((arg) => arg.startsWith(\"-\"))) {\n\t\treturn true;\n\t}\n\tif (\n\t\targs.some((arg) =>\n\t\t\t/(?:@|:|^\\.{1,2}$|^\\.{1,2}\\/|^~\\/|^\\/|\\/|\\.[A-Za-z0-9_-]+$)/.test(arg),\n\t\t)\n\t) {\n\t\treturn true;\n\t}\n\treturn command === \"ssh\" && args.length === 1;\n}\n\nfunction containsPathCommandSyntax(value: string): boolean {\n\tconst pathMatch = /^\\s*((?:\\.{1,2}\\/|~\\/|\\/)[^\\s]+)(?:\\s+(.+?))?\\s*$/.exec(\n\t\tvalue,\n\t);\n\tif (!pathMatch?.[1]) {\n\t\treturn false;\n\t}\n\tconst path = pathMatch[1];\n\tconst args = pathMatch[2]?.trim();\n\treturn (\n\t\tBoolean(args) ||\n\t\t/\\.(?:bash|sh|zsh|command|cmd|bat|ps1|exe|run|bin)$/i.test(path)\n\t);\n}\n\nfunction containsEnvPrefixedCommandSyntax(\n\tvalue: string,\n\toptions: { allowArbitraryMakeTargets?: boolean } = {},\n): boolean {\n\tconst envPrefixedCommand =\n\t\t/^\\s*(?:[A-Za-z_][A-Za-z0-9_]*=(?:\"[^\"]*\"|'[^']*'|\\S+)\\s+)+(.+)$/.exec(\n\t\t\tvalue,\n\t\t);\n\treturn envPrefixedCommand?.[1]\n\t\t? containsShellCommandAtStart(envPrefixedCommand[1], options)\n\t\t: false;\n}\n\nfunction containsEnvWrappedCommandSyntax(\n\tvalue: string,\n\toptions: { allowArbitraryMakeTargets?: boolean } = {},\n): boolean {\n\tconst envMatch = /^\\s*env\\s+(.+?)\\s*$/.exec(value);\n\tif (!envMatch?.[1]) {\n\t\treturn false;\n\t}\n\tconst args = envMatch[1].trim().split(/\\s+/);\n\tlet index = 0;\n\twhile (index < args.length) {\n\t\tconst arg = args[index];\n\t\tif (!arg) {\n\t\t\tbreak;\n\t\t}\n\t\tif (\n\t\t\targ === \"-\" ||\n\t\t\targ === \"-i\" ||\n\t\t\targ === \"--ignore-environment\" ||\n\t\t\targ === \"-0\" ||\n\t\t\targ === \"--null\"\n\t\t) {\n\t\t\tindex += 1;\n\t\t\tcontinue;\n\t\t}\n\t\tif (\n\t\t\targ === \"-C\" ||\n\t\t\targ === \"--chdir\" ||\n\t\t\targ === \"-u\" ||\n\t\t\targ === \"--unset\"\n\t\t) {\n\t\t\tindex += 2;\n\t\t\tcontinue;\n\t\t}\n\t\tif (\n\t\t\targ.startsWith(\"-C\") ||\n\t\t\targ.startsWith(\"--chdir=\") ||\n\t\t\targ.startsWith(\"--unset=\")\n\t\t) {\n\t\t\tindex += 1;\n\t\t\tcontinue;\n\t\t}\n\t\tif (/^[A-Za-z_][A-Za-z0-9_]*=(?:\"[^\"]*\"|'[^']*'|\\S+)$/.test(arg)) {\n\t\t\tindex += 1;\n\t\t\tcontinue;\n\t\t}\n\t\tbreak;\n\t}\n\tconst command = args.slice(index).join(\" \");\n\treturn command ? containsShellCommandAtStart(command, options) : false;\n}\n\nfunction containsLeadingWrappedCommandSyntax(\n\tvalue: string,\n\toptions: { allowArbitraryMakeTargets?: boolean } = {},\n): boolean {\n\tconst wrapped =\n\t\t/^\\s*(?:`([^`]+)`|'([^']+)'|\"([^\"]+)\")(?:\\s+\\S[\\s\\S]*)?$/.exec(value);\n\tconst command = wrapped?.[1] ?? wrapped?.[2] ?? wrapped?.[3];\n\treturn command ? containsShellCommandAtStart(command, options) : false;\n}\n\nfunction containsMakeCommandSyntax(\n\tvalue: string,\n\toptions: { allowArbitraryMakeTargets?: boolean } = {},\n): boolean {\n\tif (/^\\s*make\\s*$/.test(value)) {\n\t\treturn true;\n\t}\n\tconst makeMatch = /^\\s*make\\s+(.+?)\\s*$/.exec(value);\n\tif (!makeMatch?.[1]) {\n\t\treturn false;\n\t}\n\tconst args = makeMatch[1].trim().split(/\\s+/);\n\tif (args.length === 0) {\n\t\treturn false;\n\t}\n\tif (args.length === 1) {\n\t\tconst target = args[0];\n\t\tif (!target || !/^[A-Za-z0-9_.:/-]+$/.test(target)) {\n\t\t\treturn false;\n\t\t}\n\t\treturn (\n\t\t\toptions.allowArbitraryMakeTargets ||\n\t\t\tCOMMON_MAKE_TARGETS.has(target.toLowerCase()) ||\n\t\t\t/[./:_-]/.test(target)\n\t\t);\n\t}\n\treturn (\n\t\t(options.allowArbitraryMakeTargets &&\n\t\t\targs.every((arg) => /^[A-Za-z0-9_.:/-]+$/.test(arg))) ||\n\t\targs.every((arg) => COMMON_MAKE_TARGETS.has(arg.toLowerCase())) ||\n\t\targs.some(\n\t\t\t(arg) =>\n\t\t\t\targ.startsWith(\"-\") ||\n\t\t\t\t/^[A-Za-z_][A-Za-z0-9_]*=/.test(arg) ||\n\t\t\t\t/[./:_-]/.test(arg),\n\t\t)\n\t);\n}\n\nfunction unwrapCommandText(value: string): string {\n\tconst trimmed = value.trim();\n\tconst wrapped = /^(?:`([^`]+)`|'([^']+)'|\"([^\"]+)\")$/.exec(trimmed);\n\treturn wrapped?.[1] ?? wrapped?.[2] ?? wrapped?.[3] ?? value;\n}\n\nfunction sanitizeDelegationPrompt(\n\tvalue: string | undefined,\n): string | undefined {\n\tconst text = nonEmptyString(value);\n\tif (!text) {\n\t\treturn undefined;\n\t}\n\treturn REDACTED;\n}\n\nfunction isShellToolName(toolName: string | undefined): boolean {\n\treturn /(?:^|[._-])(?:bash|shell|exec_command)$/i.test(toolName ?? \"\");\n}\n\nfunction containsGeneratedShellToolLabel(\n\ttoolName: string | undefined,\n\tvalue: string | undefined,\n): boolean {\n\treturn isShellToolName(toolName) && /^\\s*Ran\\s+\\S[\\s\\S]*$/i.test(value ?? \"\");\n}\n\nfunction containsBatchGeneratedShellToolLabel(\n\ttoolNames: string[] | undefined,\n\tvalue: string | undefined,\n): boolean {\n\treturn (\n\t\ttoolNames?.some(isShellToolName) === true &&\n\t\t/^\\s*Ran\\s+\\S[\\s\\S]*$/i.test(value ?? \"\")\n\t);\n}\n\nfunction sanitizeToolOutboundText(\n\ttoolName: string | undefined,\n\tvalue: string | undefined,\n\tmaxLength = MAX_TEXT_FIELD_LENGTH,\n): string | undefined {\n\tif (containsGeneratedShellToolLabel(toolName, value)) {\n\t\treturn REDACTED;\n\t}\n\treturn sanitizeOutboundText(value, maxLength);\n}\n\nfunction sanitizedToolDisplayName(event: {\n\tdisplayName?: string;\n\tsummaryLabel?: string;\n\ttoolName: string;\n}): string {\n\treturn (\n\t\tsanitizeToolOutboundText(event.toolName, toolDisplayName(event)) ??\n\t\tevent.toolName\n\t);\n}\n\nfunction materializedToolExecutionId(event: {\n\ttoolCallId: string;\n\ttoolExecutionId?: string;\n}): string | undefined {\n\tconst toolExecutionId = nonEmptyString(event.toolExecutionId)?.trim();\n\tconst toolCallId = nonEmptyString(event.toolCallId)?.trim();\n\tif (!toolExecutionId || toolExecutionId === toolCallId) {\n\t\treturn undefined;\n\t}\n\treturn toolExecutionId;\n}\n\nfunction toolResultMetrics(result: {\n\tcontent?: unknown;\n\tdetails?: unknown;\n\tisError?: unknown;\n\ttoolExecutionId?: unknown;\n\tapprovalRequestId?: unknown;\n}): Record<string, unknown> {\n\tconst content = Array.isArray(result.content) ? result.content : [];\n\tconst textBlocks = content.filter(\n\t\t(block): block is { type: \"text\"; text: string } =>\n\t\t\tisRecord(block) &&\n\t\t\tblock.type === \"text\" &&\n\t\t\ttypeof block.text === \"string\",\n\t);\n\tconst imageMimeTypes = content\n\t\t.map((block) =>\n\t\t\tisRecord(block) && block.type === \"image\"\n\t\t\t\t? compactString(block.mimeType, 128)\n\t\t\t\t: undefined,\n\t\t)\n\t\t.filter((mimeType): mimeType is string => Boolean(mimeType));\n\treturn {\n\t\tcontent_block_count: content.length,\n\t\ttext_block_count: textBlocks.length,\n\t\ttext_total_chars: textBlocks.reduce(\n\t\t\t(total, block) => total + block.text.length,\n\t\t\t0,\n\t\t),\n\t\timage_block_count: imageMimeTypes.length,\n\t\timage_mime_types: imageMimeTypes.length > 0 ? imageMimeTypes : undefined,\n\t\tdetails_keys: objectKeys(result.details),\n\t\tresult_error:\n\t\t\ttypeof result.isError === \"boolean\" ? result.isError : undefined,\n\t\tresult_tool_execution_id:\n\t\t\ttypeof result.toolExecutionId === \"string\"\n\t\t\t\t? result.toolExecutionId\n\t\t\t\t: undefined,\n\t\tresult_approval_request_id:\n\t\t\ttypeof result.approvalRequestId === \"string\"\n\t\t\t\t? result.approvalRequestId\n\t\t\t\t: undefined,\n\t};\n}\n\nfunction waitTypeForRequest(\n\tkind: ServerRequestLifecycleEvent[\"request\"][\"kind\"],\n): PlatformAgentRunWaitTypeValue {\n\tswitch (kind) {\n\t\tcase \"approval\":\n\t\tcase \"tool_retry\":\n\t\t\treturn PlatformAgentRunWaitTypeValue.Approval;\n\t\tcase \"client_tool\":\n\t\tcase \"mcp_elicitation\":\n\t\tcase \"user_input\":\n\t\t\treturn PlatformAgentRunWaitTypeValue.Input;\n\t}\n}\n\nfunction taskWorkItemState(\n\tstatus: HostedAgentRuntimeTaskStatus,\n): PlatformAgentWorkItemStateValue {\n\tswitch (status) {\n\t\tcase \"pending\":\n\t\t\treturn PlatformAgentWorkItemStateValue.Pending;\n\t\tcase \"running\":\n\t\t\treturn PlatformAgentWorkItemStateValue.Running;\n\t\tcase \"waiting\":\n\t\t\treturn PlatformAgentWorkItemStateValue.Waiting;\n\t\tcase \"blocked\":\n\t\t\treturn PlatformAgentWorkItemStateValue.Blocked;\n\t\tcase \"succeeded\":\n\t\t\treturn PlatformAgentWorkItemStateValue.Succeeded;\n\t\tcase \"failed\":\n\t\t\treturn PlatformAgentWorkItemStateValue.Failed;\n\t\tcase \"cancelled\":\n\t\t\treturn PlatformAgentWorkItemStateValue.Cancelled;\n\t}\n}\n\nfunction taskStepState(\n\tstatus: HostedAgentRuntimeTaskStatus,\n): PlatformAgentRunStepStateValue {\n\tswitch (status) {\n\t\tcase \"pending\":\n\t\t\treturn PlatformAgentRunStepStateValue.Pending;\n\t\tcase \"running\":\n\t\t\treturn PlatformAgentRunStepStateValue.Running;\n\t\tcase \"waiting\":\n\t\tcase \"blocked\":\n\t\t\treturn PlatformAgentRunStepStateValue.Waiting;\n\t\tcase \"succeeded\":\n\t\t\treturn PlatformAgentRunStepStateValue.Succeeded;\n\t\tcase \"failed\":\n\t\t\treturn PlatformAgentRunStepStateValue.Failed;\n\t\tcase \"cancelled\":\n\t\t\treturn PlatformAgentRunStepStateValue.Cancelled;\n\t}\n}\n\nfunction defaultTaskWorkItemKind(\n\tsource: HostedAgentRuntimeTaskSource,\n): PlatformAgentWorkItemKindValue {\n\tswitch (source) {\n\t\tcase \"background\":\n\t\t\treturn PlatformAgentWorkItemKindValue.ToolCall;\n\t\tcase \"swarm\":\n\t\t\treturn PlatformAgentWorkItemKindValue.ChildRun;\n\t\tcase \"checkpoint\":\n\t\t\treturn PlatformAgentWorkItemKindValue.Recovery;\n\t\tcase \"todo\":\n\t\t\treturn PlatformAgentWorkItemKindValue.Followup;\n\t}\n}\n\nfunction defaultTaskStepKind(\n\tsource: HostedAgentRuntimeTaskSource,\n\tstatus: HostedAgentRuntimeTaskStatus,\n): PlatformAgentRunStepKindValue {\n\tif (status === \"failed\") {\n\t\treturn PlatformAgentRunStepKindValue.Error;\n\t}\n\tif (source === \"background\") {\n\t\treturn status === \"succeeded\" || status === \"cancelled\"\n\t\t\t? PlatformAgentRunStepKindValue.ToolResult\n\t\t\t: PlatformAgentRunStepKindValue.ToolCallIntent;\n\t}\n\treturn PlatformAgentRunStepKindValue.System;\n}\n\nfunction shouldRecordTaskStep(\n\tevent: HostedAgentRuntimeTaskProgressEvent,\n): boolean {\n\tif (event.recordStep !== undefined) {\n\t\treturn event.recordStep;\n\t}\n\treturn event.status !== \"pending\";\n}\n\nfunction backgroundStatusToTaskStatus(\n\tstatus: string | undefined,\n): HostedAgentRuntimeTaskStatus {\n\tswitch (status) {\n\t\tcase \"running\":\n\t\tcase \"restarting\":\n\t\t\treturn \"running\";\n\t\tcase \"stopped\":\n\t\t\treturn \"cancelled\";\n\t\tcase \"exited\":\n\t\t\treturn \"succeeded\";\n\t\tcase \"failed\":\n\t\t\treturn \"failed\";\n\t\tdefault:\n\t\t\treturn \"pending\";\n\t}\n}\n\nfunction todoStatusToTaskStatus(status: unknown): HostedAgentRuntimeTaskStatus {\n\tswitch (status) {\n\t\tcase \"in_progress\":\n\t\t\treturn \"running\";\n\t\tcase \"completed\":\n\t\t\treturn \"succeeded\";\n\t\tdefault:\n\t\t\treturn \"pending\";\n\t}\n}\n\nfunction taskPromptSummary(task: SwarmTask): string {\n\treturn compactString(task.prompt, 160) ?? task.id;\n}\n\nexport class HostedAgentRuntimeProgressRecorder {\n\tprivate readonly sessionId: string;\n\tprivate readonly hostedRunner?: HostedAgentRuntimeProgressContext;\n\tprivate readonly workspaceRoot?: string;\n\tprivate readonly operations: Required<HostedAgentRuntimeProgressRecorderOperations>;\n\tprivate readonly pendingWaitIds = new Map<string, string>();\n\tprivate readonly resumedWaitIds = new Set<string>();\n\tprivate readonly codexSubagentReceiverThreadIds = new Map<string, string[]>();\n\tprivate readonly codexSubagentToolChildRunIds = new Map<string, string[]>();\n\tprivate readonly codexSubagentToolWorkGraphs = new Map<\n\t\tstring,\n\t\tRecord<string, unknown>\n\t>();\n\tprivate readonly codexSubagentThreadWorkItemIds = new Map<string, string>();\n\tprivate readonly codexSubagentDelegationIds = new Map<string, string>();\n\tprivate readonly codexSubagentDelegationIdsByThreadId = new Map<\n\t\tstring,\n\t\tstring\n\t>();\n\tprivate readonly codexSubagentDelegationIdsByChildRunId = new Map<\n\t\tstring,\n\t\tstring\n\t>();\n\tprivate readonly recordedModelUsageTurnIds = new Set<string>();\n\tprivate readonly toolArgsByCallId = new Map<\n\t\tstring,\n\t\tRecord<string, unknown>\n\t>();\n\tprivate readonly turnStartedAtMs = new Map<number, number>();\n\tprivate readonly toolStartedAtMs = new Map<string, number>();\n\tprivate readonly toolAttemptCounts = new Map<string, number>();\n\tprivate agentStartedAtMs?: number;\n\tprivate readonly recordedTaskWorkItemIds = new Set<string>();\n\tprivate pending: Promise<void> = Promise.resolve();\n\tprivate turnIndex = 0;\n\tprivate autoRetrySequence = 0;\n\tprivate activeAutoRetrySequence: number | null = null;\n\tprivate lastAutoRetryAttempt = 0;\n\tprivate terminalRecorded = false;\n\n\tconstructor(options: HostedAgentRuntimeProgressRecorderOptions) {\n\t\tthis.sessionId = options.sessionId;\n\t\tthis.hostedRunner = options.hostedRunner;\n\t\tthis.workspaceRoot = options.workspaceRoot;\n\t\tthis.operations = {\n\t\t\trecordStep: options.operations?.recordStep ?? recordAgentRuntimeRunStep,\n\t\t\trecordEvent:\n\t\t\t\toptions.operations?.recordEvent ?? recordAgentRuntimeRunEvent,\n\t\t\trecordCost: options.operations?.recordCost ?? recordAgentRuntimeRunCost,\n\t\t\trecordWorkItem:\n\t\t\t\toptions.operations?.recordWorkItem ?? recordAgentRuntimeRunWorkItem,\n\t\t\tupdateWorkItem:\n\t\t\t\toptions.operations?.updateWorkItem ?? updateAgentRuntimeRunWorkItem,\n\t\t\twaitRun: options.operations?.waitRun ?? waitAgentRuntimeRun,\n\t\t\tresumeRun: options.operations?.resumeRun ?? resumeAgentRuntimeRun,\n\t\t\tcompleteRun: options.operations?.completeRun ?? completeAgentRuntimeRun,\n\t\t\tfailRun: options.operations?.failRun ?? failAgentRuntimeRun,\n\t\t\tdelegateAgent:\n\t\t\t\toptions.operations?.delegateAgent ?? delegateAgentWithPlatform,\n\t\t\tresolveDelegation:\n\t\t\t\toptions.operations?.resolveDelegation ??\n\t\t\t\tresolveAgentDelegationWithPlatform,\n\t\t};\n\t}\n\n\trecordAgentEvent(event: AgentEvent): void {\n\t\tswitch (event.type) {\n\t\t\tcase \"agent_start\":\n\t\t\t\tthis.agentStartedAtMs = Date.now();\n\t\t\t\tthis.recordStep({\n\t\t\t\t\tid: this.stepId(\"agent\", `start-${this.turnIndex + 1}`),\n\t\t\t\t\tname: event.continuation ? \"Agent continuation\" : \"Agent run\",\n\t\t\t\t\tstepKind: PlatformAgentRunStepKindValue.System,\n\t\t\t\t\tstate: PlatformAgentRunStepStateValue.Running,\n\t\t\t\t\tstartedAt: this.isoTime(this.agentStartedAtMs),\n\t\t\t\t\tinput: this.basePayload({\n\t\t\t\t\t\tevent_type: event.type,\n\t\t\t\t\t\tcontinuation: event.continuation ?? false,\n\t\t\t\t\t\tlifecycle_status: \"running\",\n\t\t\t\t\t\tobservation_authority: \"maestro_local_unverified\",\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"agent_end\":\n\t\t\t\t{\n\t\t\t\t\tconst endedAtMs = Date.now();\n\t\t\t\t\tconst stepId = this.stepId(\"agent\", `end-${this.turnIndex}`);\n\t\t\t\t\tconst failed = event.aborted || event.stopReason === \"error\";\n\t\t\t\t\tthis.recordStep({\n\t\t\t\t\t\tid: stepId,\n\t\t\t\t\t\tname: \"Agent run completed\",\n\t\t\t\t\t\tstepKind: failed\n\t\t\t\t\t\t\t? PlatformAgentRunStepKindValue.Error\n\t\t\t\t\t\t\t: PlatformAgentRunStepKindValue.System,\n\t\t\t\t\t\tstate: failed\n\t\t\t\t\t\t\t? PlatformAgentRunStepStateValue.Failed\n\t\t\t\t\t\t\t: PlatformAgentRunStepStateValue.Succeeded,\n\t\t\t\t\t\tstartedAt: this.isoTime(this.agentStartedAtMs),\n\t\t\t\t\t\tendedAt: this.isoTime(endedAtMs),\n\t\t\t\t\t\terrorMessage: failed\n\t\t\t\t\t\t\t? (event.stopReason ?? \"agent execution failed\")\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\toutput: this.basePayload({\n\t\t\t\t\t\t\tevent_type: event.type,\n\t\t\t\t\t\t\taborted: event.aborted ?? false,\n\t\t\t\t\t\t\tstop_reason: event.stopReason,\n\t\t\t\t\t\t\tlifecycle_status: failed ? \"failed\" : \"succeeded\",\n\t\t\t\t\t\t\tduration_ms: this.durationMs(this.agentStartedAtMs, endedAtMs),\n\t\t\t\t\t\t\terror_class: failed\n\t\t\t\t\t\t\t\t? (event.stopReason ?? \"agent_execution_failed\")\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tobservation_authority: \"maestro_local_unverified\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\t\t\t\t\tthis.recordFinalStatusEvent(event, stepId);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\tcase \"status\":\n\t\t\t\tthis.recordStatusEvent(event);\n\t\t\t\treturn;\n\t\t\tcase \"compaction\":\n\t\t\t\tthis.recordCompactionEvent(event);\n\t\t\t\treturn;\n\t\t\tcase \"auto_retry_start\":\n\t\t\t\tthis.recordAutoRetryStart(event);\n\t\t\t\treturn;\n\t\t\tcase \"auto_retry_end\":\n\t\t\t\tthis.recordAutoRetryEnd(event);\n\t\t\t\treturn;\n\t\t\tcase \"diagnostic_delta\":\n\t\t\t\tthis.recordDiagnosticDelta(event);\n\t\t\t\treturn;\n\t\t\tcase \"tool_batch_summary\":\n\t\t\t\tthis.recordToolBatchSummary(event);\n\t\t\t\treturn;\n\t\t\tcase \"tool_phase_summary\":\n\t\t\t\tthis.recordToolPhaseSummary(event);\n\t\t\t\treturn;\n\t\t\tcase \"tool_execution_update\":\n\t\t\t\tthis.recordToolExecutionUpdate(event);\n\t\t\t\treturn;\n\t\t\tcase \"tool_retry_required\":\n\t\t\t\tthis.recordApprovalWait({\n\t\t\t\t\tid: event.request.id,\n\t\t\t\t\tcallId: event.request.toolCallId,\n\t\t\t\t\ttoolName: event.request.toolName,\n\t\t\t\t\treason: event.request.summary ?? event.request.errorMessage,\n\t\t\t\t\tkind: \"tool_retry\",\n\t\t\t\t});\n\t\t\t\tthis.recordToolRetryEvent(event);\n\t\t\t\treturn;\n\t\t\tcase \"tool_retry_resolved\":\n\t\t\t\tthis.resumeWait({\n\t\t\t\t\tid: event.request.id,\n\t\t\t\t\tkind: \"tool_retry\",\n\t\t\t\t\tresolution: event.decision.action,\n\t\t\t\t\tresolvedBy: event.decision.resolvedBy,\n\t\t\t\t\treason: event.decision.reason,\n\t\t\t\t});\n\t\t\t\tthis.recordToolRetryEvent(event);\n\t\t\t\treturn;\n\t\t\tcase \"turn_start\":\n\t\t\t\tthis.turnIndex += 1;\n\t\t\t\tthis.turnStartedAtMs.set(this.turnIndex, Date.now());\n\t\t\t\tthis.recordStep({\n\t\t\t\t\tid: this.stepId(\"turn\", String(this.turnIndex)),\n\t\t\t\t\tname: `Turn ${this.turnIndex}`,\n\t\t\t\t\tstepKind: PlatformAgentRunStepKindValue.ModelCall,\n\t\t\t\t\tstate: PlatformAgentRunStepStateValue.Running,\n\t\t\t\t\tattempt: this.turnIndex,\n\t\t\t\t\tstartedAt: this.isoTime(this.turnStartedAtMs.get(this.turnIndex)),\n\t\t\t\t\tinput: this.basePayload({\n\t\t\t\t\t\tevent_type: event.type,\n\t\t\t\t\t\tturn_index: this.turnIndex,\n\t\t\t\t\t\tlifecycle_status: \"running\",\n\t\t\t\t\t\tobservation_authority: \"maestro_local_unverified\",\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"turn_end\":\n\t\t\t\t{\n\t\t\t\t\tconst turnStartedAtMs = this.turnStartedAtMs.get(this.turnIndex);\n\t\t\t\t\tconst endedAtMs = Date.now();\n\t\t\t\t\tthis.turnStartedAtMs.delete(this.turnIndex);\n\t\t\t\t\tthis.recordStep({\n\t\t\t\t\t\tid: this.stepId(\"turn\", String(this.turnIndex)),\n\t\t\t\t\t\tname: `Turn ${this.turnIndex}`,\n\t\t\t\t\t\tstepKind: PlatformAgentRunStepKindValue.ModelCall,\n\t\t\t\t\t\tstate: PlatformAgentRunStepStateValue.Succeeded,\n\t\t\t\t\t\tattempt: this.turnIndex,\n\t\t\t\t\t\tstartedAt: this.isoTime(turnStartedAtMs),\n\t\t\t\t\t\tendedAt: this.isoTime(endedAtMs),\n\t\t\t\t\t\toutput: this.basePayload({\n\t\t\t\t\t\t\tevent_type: event.type,\n\t\t\t\t\t\t\tturn_index: this.turnIndex,\n\t\t\t\t\t\t\tlifecycle_status: \"succeeded\",\n\t\t\t\t\t\t\ttool_result_count: event.toolResults.length,\n\t\t\t\t\t\t\tduration_ms: this.durationMs(turnStartedAtMs, endedAtMs),\n\t\t\t\t\t\t\tobservation_authority: \"maestro_local_unverified\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\t\t\t\t\tthis.recordModelUsageEvent(event.message);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\tcase \"tool_execution_start\":\n\t\t\t\t{\n\t\t\t\t\tthis.toolArgsByCallId.set(event.toolCallId, event.args);\n\t\t\t\t\tthis.toolStartedAtMs.set(event.toolCallId, Date.now());\n\t\t\t\t\tconst attempt =\n\t\t\t\t\t\t(this.toolAttemptCounts.get(event.toolCallId) ?? 0) + 1;\n\t\t\t\t\tthis.toolAttemptCounts.set(event.toolCallId, attempt);\n\t\t\t\t\tthis.recordStep({\n\t\t\t\t\t\tid: this.toolStepId(event.toolCallId),\n\t\t\t\t\t\tname: sanitizedToolDisplayName(event),\n\t\t\t\t\t\tstepKind: PlatformAgentRunStepKindValue.ToolCallIntent,\n\t\t\t\t\t\tstate: PlatformAgentRunStepStateValue.Running,\n\t\t\t\t\t\tattempt,\n\t\t\t\t\t\tstartedAt: this.isoTime(this.toolStartedAtMs.get(event.toolCallId)),\n\t\t\t\t\t\tinput: this.basePayload({\n\t\t\t\t\t\t\tevent_type: event.type,\n\t\t\t\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\t\t\t\ttool_execution_id: materializedToolExecutionId(event),\n\t\t\t\t\t\t\ttool_name: event.toolName,\n\t\t\t\t\t\t\ttool_attempt: attempt,\n\t\t\t\t\t\t\tlifecycle_status: \"running\",\n\t\t\t\t\t\t\tdisplay_name: sanitizeToolOutboundText(\n\t\t\t\t\t\t\t\tevent.toolName,\n\t\t\t\t\t\t\t\tevent.displayName,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tsummary_label: sanitizeToolOutboundText(\n\t\t\t\t\t\t\t\tevent.toolName,\n\t\t\t\t\t\t\t\tevent.summaryLabel,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\targ_keys: objectKeys(event.args),\n\t\t\t\t\t\t\targ_count: objectKeys(event.args)?.length ?? 0,\n\t\t\t\t\t\t\tobservation_authority: \"maestro_local_unverified\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\t\t\t\t\tthis.recordCodexSubagentWorkItem(event);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\tcase \"tool_execution_end\":\n\t\t\t\t{\n\t\t\t\t\tconst toolStartedAtMs = this.toolStartedAtMs.get(event.toolCallId);\n\t\t\t\t\tconst endedAtMs = Date.now();\n\t\t\t\t\tthis.toolStartedAtMs.delete(event.toolCallId);\n\t\t\t\t\tconst attempt = this.toolAttemptCounts.get(event.toolCallId);\n\t\t\t\t\tconst errorClass = event.isError\n\t\t\t\t\t\t? (compactString(event.errorCode ?? event.governedOutcome, 96) ??\n\t\t\t\t\t\t\t\"tool_execution_failed\")\n\t\t\t\t\t\t: undefined;\n\t\t\t\t\tthis.recordStep({\n\t\t\t\t\t\tid: this.toolStepId(event.toolCallId),\n\t\t\t\t\t\tname: sanitizedToolDisplayName(event),\n\t\t\t\t\t\tstepKind: event.isError\n\t\t\t\t\t\t\t? PlatformAgentRunStepKindValue.Error\n\t\t\t\t\t\t\t: PlatformAgentRunStepKindValue.ToolResult,\n\t\t\t\t\t\tstate: event.isError\n\t\t\t\t\t\t\t? PlatformAgentRunStepStateValue.Failed\n\t\t\t\t\t\t\t: PlatformAgentRunStepStateValue.Succeeded,\n\t\t\t\t\t\terrorMessage: event.isError\n\t\t\t\t\t\t\t? (event.errorCode ?? event.governedOutcome ?? \"tool failed\")\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\tattempt,\n\t\t\t\t\t\tstartedAt: this.isoTime(toolStartedAtMs),\n\t\t\t\t\t\tendedAt: this.isoTime(endedAtMs),\n\t\t\t\t\t\toutput: this.basePayload({\n\t\t\t\t\t\t\tevent_type: event.type,\n\t\t\t\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\t\t\t\ttool_execution_id: materializedToolExecutionId(event),\n\t\t\t\t\t\t\tapproval_request_id: event.approvalRequestId,\n\t\t\t\t\t\t\ttool_name: event.toolName,\n\t\t\t\t\t\t\ttool_attempt: attempt,\n\t\t\t\t\t\t\tlifecycle_status: event.isError ? \"failed\" : \"succeeded\",\n\t\t\t\t\t\t\tdisplay_name: sanitizeToolOutboundText(\n\t\t\t\t\t\t\t\tevent.toolName,\n\t\t\t\t\t\t\t\tevent.displayName,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tsummary_label: sanitizeToolOutboundText(\n\t\t\t\t\t\t\t\tevent.toolName,\n\t\t\t\t\t\t\t\tevent.summaryLabel,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\terror_code: event.errorCode,\n\t\t\t\t\t\t\tgoverned_outcome: event.governedOutcome,\n\t\t\t\t\t\t\terror_class: errorClass,\n\t\t\t\t\t\t\tresult_error: event.isError,\n\t\t\t\t\t\t\tresult_content_count: Array.isArray(event.result.content)\n\t\t\t\t\t\t\t\t? event.result.content.length\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tresult_detail_keys: objectKeys(\n\t\t\t\t\t\t\t\tisRecord(event.result.details)\n\t\t\t\t\t\t\t\t\t? event.result.details\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tduration_ms: this.durationMs(toolStartedAtMs, endedAtMs),\n\t\t\t\t\t\t\tobservation_authority: \"maestro_local_unverified\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\t\t\t\t\tthis.updateCodexSubagentWorkItem(event);\n\t\t\t\t\tthis.recordToolDerivedTaskProgress(event);\n\t\t\t\t\tthis.recordToolArtifactEvent(event);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\tcase \"action_approval_required\":\n\t\t\t\tthis.recordApprovalWait({\n\t\t\t\t\tid: event.request.id,\n\t\t\t\t\tcallId: event.request.id,\n\t\t\t\t\ttoolName: event.request.toolName,\n\t\t\t\t\treason: event.request.reason,\n\t\t\t\t\tdisplayName: event.request.displayName,\n\t\t\t\t\tsummaryLabel: event.request.summaryLabel,\n\t\t\t\t\tstartedAtMs: event.request.startedAtMs,\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"action_approval_resolved\":\n\t\t\t\tthis.resumeWait({\n\t\t\t\t\tid: event.request.id,\n\t\t\t\t\tkind: \"approval\",\n\t\t\t\t\tresolution: event.decision.approved ? \"approved\" : \"denied\",\n\t\t\t\t\tresolvedBy: event.decision.resolvedBy ?? \"user\",\n\t\t\t\t\treason: event.decision.reason,\n\t\t\t\t\tstartedAtMs: event.request.startedAtMs,\n\t\t\t\t\tresolvedAtMs: event.decision.resolvedAtMs,\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"error\":\n\t\t\t\tthis.recordPromptFailure(event.message);\n\t\t\t\treturn;\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\t}\n\n\tprivate recordFinalStatusEvent(\n\t\tevent: Extract<AgentEvent, { type: \"agent_end\" }>,\n\t\tstepId: string,\n\t): void {\n\t\tconst finalStatus =\n\t\t\tevent.aborted || event.stopReason === \"error\" ? \"failed\" : \"succeeded\";\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: \"Maestro agent final status recorded\",\n\t\t\tstepId,\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: \"agent_final_status\",\n\t\t\t\tfinal_status: finalStatus,\n\t\t\t\taborted: event.aborted ?? false,\n\t\t\t\tstop_reason: event.stopReason,\n\t\t\t\tmessage_count: event.messages.length,\n\t\t\t\tpartial_accepted: Boolean(event.partialAccepted),\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordStatusEvent(\n\t\tevent: Extract<AgentEvent, { type: \"status\" }>,\n\t): void {\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: \"Maestro status recorded\",\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\tstatus: sanitizeStatusText(event.status, event.details),\n\t\t\t\tdetail_keys: objectKeys(event.details),\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordCompactionEvent(\n\t\tevent: Extract<AgentEvent, { type: \"compaction\" }>,\n\t): void {\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: \"Maestro context compaction recorded\",\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\tfirst_kept_entry_index: event.firstKeptEntryIndex,\n\t\t\t\ttokens_before: event.tokensBefore,\n\t\t\t\tauto: event.auto ?? false,\n\t\t\t\tcustom_instructions_present: Boolean(event.customInstructions),\n\t\t\t\tsummary_chars: event.summary.length,\n\t\t\t\ttimestamp: event.timestamp,\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordAutoRetryStart(\n\t\tevent: Extract<AgentEvent, { type: \"auto_retry_start\" }>,\n\t): void {\n\t\tconst sequence = this.resolveAutoRetryStartSequence(event.attempt);\n\t\tthis.recordStep({\n\t\t\tid: this.autoRetryStepId(event.attempt, sequence),\n\t\t\tname: `Auto retry ${event.attempt}`,\n\t\t\tstepKind: PlatformAgentRunStepKindValue.System,\n\t\t\tstate: PlatformAgentRunStepStateValue.Waiting,\n\t\t\tinput: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\tattempt: event.attempt,\n\t\t\t\tmax_attempts: event.maxAttempts,\n\t\t\t\tdelay_ms: event.delayMs,\n\t\t\t\terror_message: sanitizeOutboundText(event.errorMessage, 512),\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordAutoRetryEnd(\n\t\tevent: Extract<AgentEvent, { type: \"auto_retry_end\" }>,\n\t): void {\n\t\tconst sequence = this.resolveAutoRetryEndSequence();\n\t\tthis.recordStep({\n\t\t\tid: this.autoRetryStepId(event.attempt, sequence),\n\t\t\tname: `Auto retry ${event.attempt}`,\n\t\t\tstepKind: event.success\n\t\t\t\t? PlatformAgentRunStepKindValue.System\n\t\t\t\t: PlatformAgentRunStepKindValue.Error,\n\t\t\tstate: event.success\n\t\t\t\t? PlatformAgentRunStepStateValue.Succeeded\n\t\t\t\t: PlatformAgentRunStepStateValue.Failed,\n\t\t\terrorMessage: event.success\n\t\t\t\t? undefined\n\t\t\t\t: sanitizeOutboundText(event.finalError, 512),\n\t\t\toutput: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\tsuccess: event.success,\n\t\t\t\tattempt: event.attempt,\n\t\t\t\tfinal_error: sanitizeOutboundText(event.finalError, 512),\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordDiagnosticDelta(\n\t\tevent: Extract<AgentEvent, { type: \"diagnostic_delta\" }>,\n\t): void {\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: \"Maestro diagnostic delta recorded\",\n\t\t\tstepId: this.toolStepId(event.toolCallId),\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\ttool_name: event.toolName,\n\t\t\t\tdisplay_path: compactString(event.displayPath, 512),\n\t\t\t\tused_delta: event.usedDelta,\n\t\t\t\tintroduced_count: event.introducedCount,\n\t\t\t\trepaired_count: event.repairedCount,\n\t\t\t\tremaining_count: event.remainingCount,\n\t\t\t\tfingerprint: event.fingerprint,\n\t\t\t\trepair_attempt: event.repairAttempt,\n\t\t\t\tmax_repair_attempts: event.maxRepairAttempts,\n\t\t\t\twill_auto_follow_up: event.willAutoFollowUp,\n\t\t\t\treason: compactString(event.reason),\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordToolBatchSummary(\n\t\tevent: Extract<AgentEvent, { type: \"tool_batch_summary\" }>,\n\t): void {\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: \"Maestro tool batch summary recorded\",\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\tsummary: sanitizeToolBatchSummaryText(event.summary, event.toolNames),\n\t\t\t\tsummary_labels: sanitizeToolBatchSummaryLabels(\n\t\t\t\t\tevent.summaryLabels,\n\t\t\t\t\tevent.toolNames,\n\t\t\t\t),\n\t\t\t\ttool_call_ids: compactStringArray(event.toolCallIds),\n\t\t\t\ttool_names: compactStringArray(event.toolNames),\n\t\t\t\tcalls_succeeded: event.callsSucceeded,\n\t\t\t\tcalls_failed: event.callsFailed,\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordToolPhaseSummary(\n\t\tevent: Extract<AgentEvent, { type: \"tool_phase_summary\" }>,\n\t): void {\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: \"Maestro tool phase summary recorded\",\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\tmodel_tool_call_count: event.modelToolCallCount,\n\t\t\t\tmodel_emitted_tool_call_count: event.modelEmittedToolCallCount,\n\t\t\t\tschedulable_wave_count: event.schedulableWaveCount,\n\t\t\t\tparallelized_call_count: event.parallelizedCallCount,\n\t\t\t\tactually_parallelized_call_count: event.actuallyParallelizedCallCount,\n\t\t\t\tserialized_call_count: event.serializedCallCount,\n\t\t\t\tdelayed_call_count: event.delayedCallCount,\n\t\t\t\tblocked_by_mutation_count: event.blockedByMutationCount,\n\t\t\t\tmcp_opt_in_call_count: event.mcpOptInCallCount,\n\t\t\t\tmcp_opt_in_use_count: event.mcpOptInUseCount,\n\t\t\t\tcache_hit_count: event.cacheHitCount,\n\t\t\t\ttotal_tool_wait_ms: event.totalToolWaitMs,\n\t\t\t\ttool_wait_time_ms: event.toolWaitTimeMs,\n\t\t\t\tserialization_reasons: event.serializationReasons,\n\t\t\t\tbatch_shaping_feedback: event.batchShapingFeedback,\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordToolExecutionUpdate(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_update\" }>,\n\t): void {\n\t\tconst partialToolExecutionId =\n\t\t\tmaterializedToolExecutionId(event) ??\n\t\t\tmaterializedToolExecutionId({\n\t\t\t\ttoolCallId: event.toolCallId,\n\t\t\t\ttoolExecutionId: event.partialResult.toolExecutionId,\n\t\t\t});\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: \"Maestro tool execution update recorded\",\n\t\t\tstepId: this.toolStepId(event.toolCallId),\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\ttool_execution_id: partialToolExecutionId,\n\t\t\t\ttool_name: event.toolName,\n\t\t\t\tdisplay_name: sanitizeToolOutboundText(\n\t\t\t\t\tevent.toolName,\n\t\t\t\t\tevent.displayName,\n\t\t\t\t),\n\t\t\t\tsummary_label: sanitizeToolOutboundText(\n\t\t\t\t\tevent.toolName,\n\t\t\t\t\tevent.summaryLabel,\n\t\t\t\t),\n\t\t\t\targ_keys: objectKeys(event.args),\n\t\t\t\t...toolResultMetrics(event.partialResult),\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordToolArtifactEvent(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_end\" }>,\n\t): void {\n\t\tconst metadata = event.skillMetadata;\n\t\tif (!metadata) {\n\t\t\treturn;\n\t\t}\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: \"Maestro tool artifact evidence recorded\",\n\t\t\tstepId: this.toolStepId(event.toolCallId),\n\t\t\tartifactId: metadata.artifactId,\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: \"tool_artifact_recorded\",\n\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\ttool_execution_id: materializedToolExecutionId(event),\n\t\t\t\ttool_name: event.toolName,\n\t\t\t\tdisplay_name: sanitizeToolOutboundText(\n\t\t\t\t\tevent.toolName,\n\t\t\t\t\tevent.displayName,\n\t\t\t\t),\n\t\t\t\tsummary_label: sanitizeToolOutboundText(\n\t\t\t\t\tevent.toolName,\n\t\t\t\t\tevent.summaryLabel,\n\t\t\t\t),\n\t\t\t\tskill_name: metadata.name,\n\t\t\t\tskill_hash: metadata.hash,\n\t\t\t\tskill_source: metadata.source,\n\t\t\t\tskill_artifact_id: metadata.artifactId,\n\t\t\t\tskill_version: metadata.version,\n\t\t\t\tskill_scope: metadata.scope,\n\t\t\t\tskill_workspace_id: metadata.workspaceId,\n\t\t\t\tskill_owner_id: metadata.ownerId,\n\t\t\t\tsource_path: compactString(metadata.sourcePath, 512),\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordToolRetryEvent(\n\t\tevent: Extract<\n\t\t\tAgentEvent,\n\t\t\t{ type: \"tool_retry_required\" | \"tool_retry_resolved\" }\n\t\t>,\n\t): void {\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage:\n\t\t\t\tevent.type === \"tool_retry_required\"\n\t\t\t\t\t? \"Maestro tool retry required\"\n\t\t\t\t\t: \"Maestro tool retry resolved\",\n\t\t\tstepId: this.toolStepId(event.request.toolCallId),\n\t\t\twaitId: this.waitId(event.request.id),\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\trequest_id: event.request.id,\n\t\t\t\ttool_call_id: event.request.toolCallId,\n\t\t\t\ttool_name: event.request.toolName,\n\t\t\t\terror_message: sanitizeOutboundText(event.request.errorMessage, 512),\n\t\t\t\tsummary: sanitizeOutboundText(event.request.summary, 512),\n\t\t\t\tattempt: event.request.attempt,\n\t\t\t\tmax_attempts: event.request.maxAttempts,\n\t\t\t\targ_keys: objectKeys(event.request.args),\n\t\t\t\t...(event.type === \"tool_retry_resolved\"\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tresolution: event.decision.action,\n\t\t\t\t\t\t\tresolved_by: event.decision.resolvedBy,\n\t\t\t\t\t\t\treason: sanitizeOutboundText(event.decision.reason, 512),\n\t\t\t\t\t\t}\n\t\t\t\t\t: {}),\n\t\t\t}),\n\t\t});\n\t}\n\n\trecordServerRequestEvent(event: ServerRequestLifecycleEvent): void {\n\t\tif (event.type === \"registered\") {\n\t\t\tthis.recordApprovalWait({\n\t\t\t\tid: event.request.id,\n\t\t\t\tcallId: event.request.callId,\n\t\t\t\ttoolName: event.request.toolName,\n\t\t\t\treason: event.request.reason,\n\t\t\t\tdisplayName: event.request.displayName,\n\t\t\t\tsummaryLabel: event.request.summaryLabel,\n\t\t\t\tkind: event.request.kind,\n\t\t\t\tstartedAtMs: event.request.startedAtMs,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tthis.resumeWait({\n\t\t\tid: event.request.id,\n\t\t\tkind: event.request.kind,\n\t\t\tresolution: event.resolution,\n\t\t\tresolvedBy: event.resolvedBy,\n\t\t\treason: event.reason,\n\t\t\tstartedAtMs: event.request.startedAtMs,\n\t\t\tresolvedAtMs: event.resolvedAtMs,\n\t\t});\n\t}\n\n\trecordPromptFailure(message: string): void {\n\t\tconst stepId = this.stepId(\"error\", `${Date.now()}`);\n\t\tthis.recordStep({\n\t\t\tid: stepId,\n\t\t\tname: \"Prompt failed\",\n\t\t\tstepKind: PlatformAgentRunStepKindValue.Error,\n\t\t\tstate: PlatformAgentRunStepStateValue.Failed,\n\t\t\terrorMessage: sanitizeOutboundText(message),\n\t\t\toutput: this.basePayload({\n\t\t\t\tevent_type: \"prompt_failure\",\n\t\t\t}),\n\t\t});\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: \"Maestro prompt failure recorded\",\n\t\t\tstepId,\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: \"prompt_failure\",\n\t\t\t\terror_message: sanitizeOutboundText(message),\n\t\t\t}),\n\t\t});\n\t}\n\n\trecordTaskProgressEvent(event: HostedAgentRuntimeTaskProgressEvent): void {\n\t\tconst runId = nonEmptyString(this.hostedRunner?.agentRunId);\n\t\tif (!this.hostedRunner?.enabled || !runId) {\n\t\t\treturn;\n\t\t}\n\t\tconst title = sanitizeOutboundText(event.title, 256) ?? event.title;\n\t\tconst goal = sanitizeOutboundText(event.goal, 512);\n\t\tconst nextAction = sanitizeOutboundText(event.nextAction);\n\t\tconst blocker = sanitizeOutboundText(event.blocker);\n\t\tconst errorMessage = sanitizeOutboundText(event.errorMessage, 512);\n\t\tconst eventPayload = sanitizeOutboundPayload(event.payload);\n\t\tconst taskId = this.taskProgressId(event.source, event.id);\n\t\tconst parentWorkItemId = event.parentId\n\t\t\t? this.taskProgressId(event.source, event.parentId)\n\t\t\t: undefined;\n\t\tconst evidenceRefs = [\n\t\t\t`maestro-task:${event.source}:${event.id}`,\n\t\t\t...(event.toolCallId ? [`tool-call:${event.toolCallId}`] : []),\n\t\t\t...(event.toolExecutionId\n\t\t\t\t? [`tool-execution:${event.toolExecutionId}`]\n\t\t\t\t: []),\n\t\t\t...(event.evidenceRefs ?? []),\n\t\t];\n\t\tconst state = taskWorkItemState(event.status);\n\t\tconst payload = this.basePayload({\n\t\t\tevent_type: \"maestro_task_progress\",\n\t\t\ttask_source: event.source,\n\t\t\ttask_id: event.id,\n\t\t\ttask_status: event.status,\n\t\t\tparent_task_id: event.parentId,\n\t\t\towner_child_run_id: event.ownerChildRunId,\n\t\t\ttool_call_id: event.toolCallId,\n\t\t\ttool_execution_id: event.toolExecutionId,\n\t\t\tapproval_request_id: event.approvalRequestId,\n\t\t\ttitle,\n\t\t\tgoal,\n\t\t\tnext_action: nextAction,\n\t\t\tblocker,\n\t\t\t...eventPayload,\n\t\t});\n\t\tthis.enqueue(async () => {\n\t\t\tconst updateWorkItem = () =>\n\t\t\t\tthis.operations.updateWorkItem({\n\t\t\t\t\trunId,\n\t\t\t\t\tworkItemId: taskId,\n\t\t\t\t\tstate,\n\t\t\t\t\t...(nextAction ? { nextAction } : {}),\n\t\t\t\t\t...(blocker ? { blocker } : {}),\n\t\t\t\t\t...(event.toolExecutionId\n\t\t\t\t\t\t? { toolExecutionId: event.toolExecutionId }\n\t\t\t\t\t\t: {}),\n\t\t\t\t\tevidenceRefs,\n\t\t\t\t\tcompletionGate:\n\t\t\t\t\t\tevent.completionGate ?? \"maestro_task_progress_recorded\",\n\t\t\t\t\tpayload,\n\t\t\t\t});\n\t\t\tif (this.recordedTaskWorkItemIds.has(taskId)) {\n\t\t\t\tawait updateWorkItem();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst workItem = {\n\t\t\t\tid: taskId,\n\t\t\t\trunId,\n\t\t\t\t...(parentWorkItemId ? { parentWorkItemId } : {}),\n\t\t\t\t...(event.ownerChildRunId\n\t\t\t\t\t? { ownerChildRunId: event.ownerChildRunId }\n\t\t\t\t\t: {}),\n\t\t\t\tkind: event.workItemKind ?? defaultTaskWorkItemKind(event.source),\n\t\t\t\tstate,\n\t\t\t\ttitle,\n\t\t\t\t...(goal ? { goal } : {}),\n\t\t\t\t...(nextAction ? { nextAction } : {}),\n\t\t\t\t...(blocker ? { blocker } : {}),\n\t\t\t\t...(event.toolExecutionId\n\t\t\t\t\t? { toolExecutionId: event.toolExecutionId }\n\t\t\t\t\t: {}),\n\t\t\t\tevidenceRefs,\n\t\t\t\tcompletionGate:\n\t\t\t\t\tevent.completionGate ?? \"maestro_task_progress_recorded\",\n\t\t\t\tpayload,\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tawait this.operations.recordWorkItem({\n\t\t\t\t\trunId,\n\t\t\t\t\tworkItem,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tif (!isExistingWorkItemCreateError(error)) {\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tawait updateWorkItem();\n\t\t\t}\n\t\t\tthis.recordedTaskWorkItemIds.add(taskId);\n\t\t});\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage: `Maestro ${event.source} task ${event.status}`,\n\t\t\tstepId: shouldRecordTaskStep(event) ? taskId : undefined,\n\t\t\tattributes: payload,\n\t\t});\n\t\tif (!shouldRecordTaskStep(event)) {\n\t\t\treturn;\n\t\t}\n\t\tconst stepState = taskStepState(event.status);\n\t\tconst stepKind =\n\t\t\tevent.stepKind ?? defaultTaskStepKind(event.source, event.status);\n\t\tthis.recordStep({\n\t\t\tid: taskId,\n\t\t\tname: title,\n\t\t\tstepKind,\n\t\t\tstate: stepState,\n\t\t\terrorMessage: event.status === \"failed\" ? errorMessage : undefined,\n\t\t\t...(stepState === PlatformAgentRunStepStateValue.Running ||\n\t\t\tstepState === PlatformAgentRunStepStateValue.Waiting ||\n\t\t\tstepState === PlatformAgentRunStepStateValue.Pending\n\t\t\t\t? { input: payload }\n\t\t\t\t: { output: payload }),\n\t\t});\n\t}\n\n\trecordSwarmEvent(event: SwarmEvent): void {\n\t\tswitch (event.type) {\n\t\t\tcase \"swarm_start\":\n\t\t\t\tthis.recordTaskProgressEvent({\n\t\t\t\t\tsource: \"swarm\",\n\t\t\t\t\tid: event.swarmId,\n\t\t\t\t\tstatus: \"running\",\n\t\t\t\t\ttitle: `Swarm ${event.swarmId}`,\n\t\t\t\t\tgoal: compactString(event.config.planFile, 512),\n\t\t\t\t\tworkItemKind: PlatformAgentWorkItemKindValue.Root,\n\t\t\t\t\tnextAction: \"coordinate swarm teammates\",\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tswarm_id: event.swarmId,\n\t\t\t\t\t\tteammate_count: event.config.teammateCount,\n\t\t\t\t\t\ttask_count: event.config.tasks.length,\n\t\t\t\t\t\tmode: event.config.mode,\n\t\t\t\t\t\tmodel: event.config.model,\n\t\t\t\t\t\tmodel_provider: event.config.modelProvider,\n\t\t\t\t\t\tsubagent_type: event.config.subagentType,\n\t\t\t\t\t\treasoning_effort: event.config.reasoningEffort,\n\t\t\t\t\t\tcontinue_on_failure: event.config.continueOnFailure,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"task_start\":\n\t\t\t\tthis.recordTaskProgressEvent({\n\t\t\t\t\tsource: \"swarm\",\n\t\t\t\t\tid: `${event.swarmId}:task:${event.task.id}`,\n\t\t\t\t\tparentId: event.swarmId,\n\t\t\t\t\tstatus: \"running\",\n\t\t\t\t\ttitle: `Swarm task ${event.task.id}`,\n\t\t\t\t\tgoal: taskPromptSummary(event.task),\n\t\t\t\t\tworkItemKind: PlatformAgentWorkItemKindValue.ChildRun,\n\t\t\t\t\townerChildRunId: `swarm:${event.swarmId}:teammate:${event.teammateId}`,\n\t\t\t\t\tnextAction: \"wait for teammate task completion\",\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tswarm_id: event.swarmId,\n\t\t\t\t\t\tteammate_id: event.teammateId,\n\t\t\t\t\t\ttask_id: event.task.id,\n\t\t\t\t\t\tfile_count: event.task.files?.length ?? 0,\n\t\t\t\t\t\tdepends_on: event.task.dependsOn,\n\t\t\t\t\t\tmodel: event.task.model,\n\t\t\t\t\t\tsubagent_type: event.task.subagentType,\n\t\t\t\t\t\tpriority: event.task.priority,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"task_complete\":\n\t\t\t\tthis.recordTaskProgressEvent({\n\t\t\t\t\tsource: \"swarm\",\n\t\t\t\t\tid: `${event.swarmId}:task:${event.taskId}`,\n\t\t\t\t\tparentId: event.swarmId,\n\t\t\t\t\tstatus: \"succeeded\",\n\t\t\t\t\ttitle: `Swarm task ${event.taskId}`,\n\t\t\t\t\tworkItemKind: PlatformAgentWorkItemKindValue.ChildRun,\n\t\t\t\t\townerChildRunId: `swarm:${event.swarmId}:teammate:${event.teammateId}`,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tswarm_id: event.swarmId,\n\t\t\t\t\t\tteammate_id: event.teammateId,\n\t\t\t\t\t\ttask_id: event.taskId,\n\t\t\t\t\t\toutput_bytes: Buffer.byteLength(event.output, \"utf8\"),\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"task_fail\":\n\t\t\t\tthis.recordTaskProgressEvent({\n\t\t\t\t\tsource: \"swarm\",\n\t\t\t\t\tid: `${event.swarmId}:task:${event.taskId}`,\n\t\t\t\t\tparentId: event.swarmId,\n\t\t\t\t\tstatus: \"failed\",\n\t\t\t\t\ttitle: `Swarm task ${event.taskId}`,\n\t\t\t\t\tworkItemKind: PlatformAgentWorkItemKindValue.ChildRun,\n\t\t\t\t\townerChildRunId: `swarm:${event.swarmId}:teammate:${event.teammateId}`,\n\t\t\t\t\terrorMessage: event.error,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tswarm_id: event.swarmId,\n\t\t\t\t\t\tteammate_id: event.teammateId,\n\t\t\t\t\t\ttask_id: event.taskId,\n\t\t\t\t\t\terror: compactString(event.error, 512),\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"swarm_complete\":\n\t\t\t\tthis.recordTaskProgressEvent({\n\t\t\t\t\tsource: \"swarm\",\n\t\t\t\t\tid: event.swarmId,\n\t\t\t\t\tstatus: swarmCompletionStatus(event),\n\t\t\t\t\ttitle: `Swarm ${event.swarmId}`,\n\t\t\t\t\tworkItemKind: PlatformAgentWorkItemKindValue.Root,\n\t\t\t\t\terrorMessage: event.state.error,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tswarm_id: event.swarmId,\n\t\t\t\t\t\tswarm_status: event.state.status,\n\t\t\t\t\t\tcompleted_task_count: event.state.completedTasks.size,\n\t\t\t\t\t\tfailed_task_count: event.state.failedTasks.size,\n\t\t\t\t\t\tteammate_count: event.state.teammates.length,\n\t\t\t\t\t\terror: compactString(event.state.error, 512),\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"swarm_fail\":\n\t\t\t\tthis.recordTaskProgressEvent({\n\t\t\t\t\tsource: \"swarm\",\n\t\t\t\t\tid: event.swarmId,\n\t\t\t\t\tstatus: \"failed\",\n\t\t\t\t\ttitle: `Swarm ${event.swarmId}`,\n\t\t\t\t\tworkItemKind: PlatformAgentWorkItemKindValue.Root,\n\t\t\t\t\terrorMessage: event.error,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tswarm_id: event.swarmId,\n\t\t\t\t\t\terror: compactString(event.error, 512),\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\tcase \"teammate_spawn\":\n\t\t\tcase \"teammate_complete\":\n\t\t\t\tthis.recordEvent({\n\t\t\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\t\t\tmessage: `Maestro swarm ${event.type}`,\n\t\t\t\t\tattributes: this.basePayload({\n\t\t\t\t\t\tevent_type: \"maestro_swarm_teammate_progress\",\n\t\t\t\t\t\tswarm_id: event.swarmId,\n\t\t\t\t\t\tswarm_event_type: event.type,\n\t\t\t\t\t\tteammate_id: event.teammate.id,\n\t\t\t\t\t\tteammate_name: compactString(event.teammate.name),\n\t\t\t\t\t\tteammate_status: event.teammate.status,\n\t\t\t\t\t\tcompleted_task_count: event.teammate.completedTasks.length,\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t}\n\t}\n\n\tasync flush(): Promise<void> {\n\t\tawait this.pending;\n\t}\n\n\tasync completeRun(\n\t\tinput: HostedAgentRuntimeCompleteInput = {},\n\t): Promise<void> {\n\t\tif (this.terminalRecorded) {\n\t\t\tawait this.flush();\n\t\t\treturn;\n\t\t}\n\t\tthis.terminalRecorded = true;\n\t\tthis.enqueue(async () => {\n\t\t\tconst handles = this.handles();\n\t\t\tif (!handles) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait this.operations.completeRun({\n\t\t\t\trunId: handles.runId,\n\t\t\t\tleaseToken: handles.leaseToken,\n\t\t\t\tresult: this.basePayload({\n\t\t\t\t\tevent_type: \"hosted_runner_drained\",\n\t\t\t\t\tstatus: \"drained\",\n\t\t\t\t\tflush_status: input.flushStatus,\n\t\t\t\t\treason: sanitizeOutboundText(input.reason, 512),\n\t\t\t\t\trequested_by: input.requestedBy,\n\t\t\t\t\tmanifest_path: input.manifestPath,\n\t\t\t\t}),\n\t\t\t});\n\t\t});\n\t\tawait this.flush();\n\t}\n\n\tasync failRun(input: HostedAgentRuntimeFailInput): Promise<void> {\n\t\tif (this.terminalRecorded) {\n\t\t\tawait this.flush();\n\t\t\treturn;\n\t\t}\n\t\tthis.terminalRecorded = true;\n\t\tconst errorMessage =\n\t\t\tsanitizeOutboundText(input.errorMessage, 512) ?? input.errorMessage;\n\t\tconst reason = sanitizeOutboundText(input.reason, 512);\n\t\tthis.recordStep({\n\t\t\tid: this.stepId(\"terminal\", \"failed\"),\n\t\t\tname: \"Hosted runner drain failed\",\n\t\t\tstepKind: PlatformAgentRunStepKindValue.Error,\n\t\t\tstate: PlatformAgentRunStepStateValue.Failed,\n\t\t\terrorMessage,\n\t\t\toutput: this.basePayload({\n\t\t\t\tevent_type: \"hosted_runner_drain_failed\",\n\t\t\t\treason,\n\t\t\t\trequested_by: input.requestedBy,\n\t\t\t\tflush_status: input.flushStatus,\n\t\t\t\tmanifest_path: input.manifestPath,\n\t\t\t}),\n\t\t});\n\t\tthis.enqueue(async () => {\n\t\t\tconst handles = this.handles();\n\t\t\tif (!handles) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait this.operations.failRun({\n\t\t\t\trunId: handles.runId,\n\t\t\t\tleaseToken: handles.leaseToken,\n\t\t\t\terrorMessage,\n\t\t\t\tretryable: input.retryable ?? false,\n\t\t\t});\n\t\t});\n\t\tawait this.flush();\n\t}\n\n\tasync recordHostedRunnerDrain(\n\t\tinput: HostedAgentRuntimeDrainInput,\n\t): Promise<void> {\n\t\tthis.recordDrainManifestEvent(input);\n\t\tif (input.status === \"drained\") {\n\t\t\tawait this.completeRun({\n\t\t\t\treason: input.reason,\n\t\t\t\trequestedBy: input.requestedBy,\n\t\t\t\tflushStatus: input.flushStatus,\n\t\t\t\tmanifestPath: input.manifestPath,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tawait this.failRun({\n\t\t\terrorMessage:\n\t\t\t\tinput.errorMessage ?? \"Hosted runner drain did not complete cleanly\",\n\t\t\treason: input.reason,\n\t\t\trequestedBy: input.requestedBy,\n\t\t\tretryable: false,\n\t\t\tflushStatus: input.flushStatus,\n\t\t\tmanifestPath: input.manifestPath,\n\t\t});\n\t}\n\n\tprivate recordApprovalWait(input: {\n\t\tid: string;\n\t\tcallId: string;\n\t\ttoolName: string;\n\t\treason: string;\n\t\tdisplayName?: string;\n\t\tsummaryLabel?: string;\n\t\tkind?: ServerRequestLifecycleEvent[\"request\"][\"kind\"];\n\t\tstartedAtMs?: number;\n\t}): void {\n\t\tif (this.pendingWaitIds.has(input.id)) {\n\t\t\treturn;\n\t\t}\n\t\tconst waitId = this.waitId(input.id);\n\t\tthis.pendingWaitIds.set(input.id, waitId);\n\t\tthis.enqueue(async () => {\n\t\t\tconst handles = this.handles();\n\t\t\tif (!handles) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait this.operations.waitRun({\n\t\t\t\trunId: handles.runId,\n\t\t\t\tleaseToken: handles.leaseToken,\n\t\t\t\twait: {\n\t\t\t\t\tid: waitId,\n\t\t\t\t\tstepId: this.toolStepId(input.callId),\n\t\t\t\t\ttype: waitTypeForRequest(input.kind ?? \"approval\"),\n\t\t\t\t\texternalRef: input.id,\n\t\t\t\t\treason: sanitizeOutboundText(input.reason),\n\t\t\t\t\tpayload: this.basePayload({\n\t\t\t\t\t\trequest_id: input.id,\n\t\t\t\t\t\trequest_type: input.kind ?? \"approval\",\n\t\t\t\t\t\tcall_id: input.callId,\n\t\t\t\t\t\ttool_name: input.toolName,\n\t\t\t\t\t\tdisplay_name: sanitizeToolOutboundText(\n\t\t\t\t\t\t\tinput.toolName,\n\t\t\t\t\t\t\tinput.displayName,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tsummary_label: sanitizeToolOutboundText(\n\t\t\t\t\t\t\tinput.toolName,\n\t\t\t\t\t\t\tinput.summaryLabel,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tstarted_at_ms: input.startedAtMs,\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t\tcheckpoint: {\n\t\t\t\t\tid: this.checkpointId(input.id),\n\t\t\t\t\tstepId: this.toolStepId(input.callId),\n\t\t\t\t\tresumeToken: waitId,\n\t\t\t\t\tpayload: this.basePayload({\n\t\t\t\t\t\trequest_id: input.id,\n\t\t\t\t\t\trequest_type: input.kind ?? \"approval\",\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate resumeWait(input: {\n\t\tid: string;\n\t\tkind: string;\n\t\tresolution: string;\n\t\tresolvedBy: string;\n\t\treason?: string;\n\t\tstartedAtMs?: number;\n\t\tresolvedAtMs?: number;\n\t}): void {\n\t\tif (this.resumedWaitIds.has(input.id)) {\n\t\t\treturn;\n\t\t}\n\t\tthis.resumedWaitIds.add(input.id);\n\t\tconst waitId = this.pendingWaitIds.get(input.id) ?? this.waitId(input.id);\n\t\tthis.pendingWaitIds.delete(input.id);\n\t\tthis.enqueue(async () => {\n\t\t\tconst handles = this.handles();\n\t\t\tif (!handles) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait this.operations.resumeRun({\n\t\t\t\trunId: handles.runId,\n\t\t\t\twaitId,\n\t\t\t\tresumeEventId: this.resumeEventId(input.id),\n\t\t\t\tpayload: this.basePayload({\n\t\t\t\t\trequest_id: input.id,\n\t\t\t\t\trequest_type: input.kind,\n\t\t\t\t\tresolution: input.resolution,\n\t\t\t\t\tresolved_by: input.resolvedBy,\n\t\t\t\t\treason: sanitizeOutboundText(input.reason),\n\t\t\t\t\tstarted_at_ms: input.startedAtMs,\n\t\t\t\t\tresolved_at_ms: input.resolvedAtMs,\n\t\t\t\t}),\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate recordStep(step: PlatformAgentRunStep): void {\n\t\tthis.enqueue(async () => {\n\t\t\tconst handles = this.handles();\n\t\t\tif (!handles) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait this.operations.recordStep({\n\t\t\t\trunId: handles.runId,\n\t\t\t\tleaseToken: handles.leaseToken,\n\t\t\t\tstep,\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate recordModelUsageEvent(message: AppMessage): void {\n\t\tif (message.role !== \"assistant\") {\n\t\t\treturn;\n\t\t}\n\t\tconst usage = message.usage as Usage | undefined;\n\t\tif (!usage) {\n\t\t\treturn;\n\t\t}\n\t\tconst inputTokens = finiteNumber(usage.input);\n\t\tconst outputTokens = finiteNumber(usage.output);\n\t\tconst cacheReadTokens = finiteNumber(usage.cacheRead);\n\t\tconst cacheWriteTokens = finiteNumber(usage.cacheWrite);\n\t\tconst totalTokens =\n\t\t\tinputTokens + outputTokens + cacheReadTokens + cacheWriteTokens;\n\t\tconst estimatedCostMicros = Math.max(\n\t\t\t0,\n\t\t\tMath.round(finiteNumber(usage.cost?.total) * 1_000_000),\n\t\t);\n\t\tif (totalTokens <= 0 && estimatedCostMicros <= 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst turnId = String(this.turnIndex);\n\t\tif (this.recordedModelUsageTurnIds.has(turnId)) {\n\t\t\treturn;\n\t\t}\n\t\tthis.recordedModelUsageTurnIds.add(turnId);\n\t\tconst modelCallId = this.stepId(\"model\", turnId);\n\t\tconst costId = this.costId(turnId);\n\t\tconst stepId = this.stepId(\"turn\", turnId);\n\t\tconst meterRef = this.meterRef(costId);\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.ModelResponseRecorded,\n\t\t\tmessage: \"Maestro model response usage recorded\",\n\t\t\tstepId,\n\t\t\tcostId,\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: \"model_response_recorded\",\n\t\t\t\tsession_kind: \"codex\",\n\t\t\t\tsession_provider: \"maestro\",\n\t\t\t\tmodel_call_id: modelCallId,\n\t\t\t\tcost_id: costId,\n\t\t\t\tprovider: message.provider,\n\t\t\t\tmodel: message.model,\n\t\t\t\tinput_tokens: inputTokens,\n\t\t\t\toutput_tokens: outputTokens,\n\t\t\t\tcache_read_tokens: cacheReadTokens,\n\t\t\t\tcache_write_tokens: cacheWriteTokens,\n\t\t\t\ttotal_tokens: totalTokens,\n\t\t\t\testimated_cost_micros: estimatedCostMicros,\n\t\t\t\tcurrency: \"USD\",\n\t\t\t}),\n\t\t});\n\t\tthis.recordCost({\n\t\t\tid: costId,\n\t\t\tstepId,\n\t\t\tmeterRef,\n\t\t\tprovider: message.provider,\n\t\t\tmodel: message.model,\n\t\t\tinputTokens,\n\t\t\toutputTokens,\n\t\t\ttotalTokens,\n\t\t\tcurrency: estimatedCostMicros > 0 ? \"USD\" : undefined,\n\t\t\testimatedCostMicros,\n\t\t});\n\t}\n\n\tprivate recordDrainManifestEvent(input: HostedAgentRuntimeDrainInput): void {\n\t\tthis.recordEvent({\n\t\t\ttype: PlatformRuntimeEventTypeValue.AgentProgressRecorded,\n\t\t\tmessage:\n\t\t\t\tinput.status === \"drained\"\n\t\t\t\t\t? \"hosted runner drain manifest recorded\"\n\t\t\t\t\t: \"hosted runner interrupted drain manifest recorded\",\n\t\t\tattributes: this.basePayload({\n\t\t\t\tevent_type: \"hosted_runner_drain_manifest_recorded\",\n\t\t\t\tstatus: input.status,\n\t\t\t\tflush_status: input.flushStatus,\n\t\t\t\treason: sanitizeOutboundText(input.reason, 512),\n\t\t\t\trequested_by: input.requestedBy,\n\t\t\t\tmanifest_path: input.manifestPath,\n\t\t\t\terror: sanitizeOutboundText(input.errorMessage, 512),\n\t\t\t\tplatform_evidence: sanitizeHostedDrainPlatformEvidence(\n\t\t\t\t\tinput.platformEvidence,\n\t\t\t\t),\n\t\t\t}),\n\t\t});\n\t}\n\n\tprivate recordEvent(\n\t\tevent: Omit<PlatformAgentRuntimeRecordRunEventInput, \"runId\">,\n\t): void {\n\t\tthis.enqueue(async () => {\n\t\t\tconst runId = nonEmptyString(this.hostedRunner?.agentRunId);\n\t\t\tif (!this.hostedRunner?.enabled || !runId) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait this.operations.recordEvent({\n\t\t\t\trunId,\n\t\t\t\t...event,\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate recordCost(\n\t\tcost: Parameters<typeof recordAgentRuntimeRunCost>[0][\"cost\"],\n\t): void {\n\t\tthis.enqueue(async () => {\n\t\t\tconst runId = nonEmptyString(this.hostedRunner?.agentRunId);\n\t\t\tconst leaseToken = nonEmptyString(\n\t\t\t\tthis.hostedRunner?.agentRuntimeLeaseToken,\n\t\t\t);\n\t\t\tif (!this.hostedRunner?.enabled || !runId || !leaseToken) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait this.operations.recordCost({\n\t\t\t\trunId,\n\t\t\t\tleaseToken,\n\t\t\t\tcost,\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate recordCodexSubagentWorkItem(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_start\" }>,\n\t): void {\n\t\tconst codexTool = codexSubagentToolName(event.toolName);\n\t\tif (!codexTool) {\n\t\t\treturn;\n\t\t}\n\t\tconst runId = nonEmptyString(this.hostedRunner?.agentRunId);\n\t\tif (!this.hostedRunner?.enabled || !runId) {\n\t\t\treturn;\n\t\t}\n\t\tconst workGraph = codexSubagentWorkGraph(event.args);\n\t\tconst receiverThreadIds = codexSubagentReceiverThreadIds(event.args);\n\t\tconst childRunIds = codexSubagentChildRunIds(event.args, receiverThreadIds);\n\t\tconst ownerChildRunId = childRunIds[0];\n\t\tconst linkedWorkItemIds =\n\t\t\tthis.codexSubagentLinkedWorkItemIds(receiverThreadIds);\n\t\tconst parentWorkItemId =\n\t\t\tlinkedWorkItemIds.length === 1 ? linkedWorkItemIds[0] : undefined;\n\t\tconst workItemId = this.workItemId(event.toolCallId);\n\t\tthis.codexSubagentReceiverThreadIds.set(\n\t\t\tevent.toolCallId,\n\t\t\treceiverThreadIds,\n\t\t);\n\t\tthis.codexSubagentToolChildRunIds.set(event.toolCallId, childRunIds);\n\t\tif (workGraph) {\n\t\t\tthis.codexSubagentToolWorkGraphs.set(event.toolCallId, workGraph);\n\t\t}\n\t\tif (codexTool === \"spawnAgent\") {\n\t\t\tfor (const threadId of receiverThreadIds) {\n\t\t\t\tthis.codexSubagentThreadWorkItemIds.set(threadId, workItemId);\n\t\t\t}\n\t\t}\n\t\tconst toolExecutionId = materializedToolExecutionId(event);\n\t\tconst prompt = nonEmptyString(event.args.prompt);\n\t\tconst sanitizedPrompt = sanitizeDelegationPrompt(prompt);\n\t\tconst delegationPrompt = sanitizeDelegationPrompt(prompt);\n\t\tconst promptCharCount = redactedPromptLength(prompt);\n\t\tconst model = nonEmptyString(event.args.model);\n\t\tconst reasoningEffort = nonEmptyString(event.args.reasoningEffort);\n\t\tconst codexSubagentOperationName = codexSubagentOperation(codexTool);\n\t\tconst workItem: PlatformAgentWorkItem = {\n\t\t\tid: workItemId,\n\t\t\trunId,\n\t\t\t...(parentWorkItemId ? { parentWorkItemId } : {}),\n\t\t\t...(ownerChildRunId ? { ownerChildRunId } : {}),\n\t\t\tkind:\n\t\t\t\tcodexTool === \"wait\"\n\t\t\t\t\t? PlatformAgentWorkItemKindValue.Wait\n\t\t\t\t\t: PlatformAgentWorkItemKindValue.ChildRun,\n\t\t\tstate:\n\t\t\t\tcodexTool === \"wait\"\n\t\t\t\t\t? PlatformAgentWorkItemStateValue.Waiting\n\t\t\t\t\t: PlatformAgentWorkItemStateValue.Running,\n\t\t\ttitle: sanitizedToolDisplayName(event),\n\t\t\t...(sanitizedPrompt ? { goal: sanitizedPrompt } : {}),\n\t\t\tnextAction: codexSubagentNextAction(codexTool),\n\t\t\t...(toolExecutionId ? { toolExecutionId } : {}),\n\t\t\tevidenceRefs: [\n\t\t\t\t`codex-tool-call:${event.toolCallId}`,\n\t\t\t\t...receiverThreadIds.map((id) => `codex-thread:${id}`),\n\t\t\t\t...childRunIds.map((id) => `codex-child-run:${id}`),\n\t\t\t],\n\t\t\tcompletionGate: \"codex_collab_tool_completed\",\n\t\t\tpayload: this.basePayload({\n\t\t\t\tevent_type: event.type,\n\t\t\t\tcodex_tool: codexTool,\n\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\ttool_name: event.toolName,\n\t\t\t\tdisplay_name: sanitizeToolOutboundText(\n\t\t\t\t\tevent.toolName,\n\t\t\t\t\tevent.displayName,\n\t\t\t\t),\n\t\t\t\tsummary_label: sanitizeToolOutboundText(\n\t\t\t\t\tevent.toolName,\n\t\t\t\t\tevent.summaryLabel,\n\t\t\t\t),\n\t\t\t\tcodex_subagent_operation: codexSubagentOperationName,\n\t\t\t\tcodex_subagent_edge_status: activeCodexSubagentEdgeStatus(codexTool),\n\t\t\t\tsender_thread_id: nonEmptyString(event.args.senderThreadId),\n\t\t\t\treceiver_thread_ids: receiverThreadIds,\n\t\t\t\treceiver_thread_count: receiverThreadIds.length,\n\t\t\t\tchild_run_ids: childRunIds,\n\t\t\t\tcodex_work_graph: workGraph,\n\t\t\t\tlinked_work_item_ids: linkedWorkItemIds,\n\t\t\t\tprompt_present: Boolean(prompt),\n\t\t\t\tprompt_char_count: promptCharCount,\n\t\t\t\tmodel,\n\t\t\t\treasoning_effort: reasoningEffort,\n\t\t\t\targ_keys: objectKeys(event.args),\n\t\t\t}),\n\t\t};\n\t\tthis.enqueue(async () => {\n\t\t\tawait this.operations.recordWorkItem({ runId, workItem });\n\t\t});\n\t\tif (codexTool === \"spawnAgent\") {\n\t\t\tthis.recordCodexSubagentDelegation({\n\t\t\t\tevent,\n\t\t\t\trunId,\n\t\t\t\tworkItemId,\n\t\t\t\tparentWorkItemId,\n\t\t\t\townerChildRunId,\n\t\t\t\treceiverThreadIds,\n\t\t\t\tchildRunIds,\n\t\t\t\tlinkedWorkItemIds,\n\t\t\t\tworkGraph,\n\t\t\t\tprompt: delegationPrompt,\n\t\t\t\tmodel,\n\t\t\t\treasoningEffort,\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate recordCodexSubagentDelegation(input: {\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_start\" }>;\n\t\trunId: string;\n\t\tworkItemId: string;\n\t\tparentWorkItemId?: string;\n\t\townerChildRunId?: string;\n\t\treceiverThreadIds: string[];\n\t\tchildRunIds: string[];\n\t\tlinkedWorkItemIds: string[];\n\t\tworkGraph?: Record<string, unknown>;\n\t\tprompt?: string;\n\t\tmodel?: string;\n\t\treasoningEffort?: string;\n\t}): void {\n\t\tconst fromAgentId = nonEmptyString(this.hostedRunner?.agentId) ?? \"maestro\";\n\t\tconst toAgentId = codexSubagentDelegationTargetAgentId(input.event.args);\n\t\tconst requiredCapability = codexSubagentDelegationRequiredCapability(\n\t\t\tinput.event.args,\n\t\t\ttoAgentId,\n\t\t);\n\t\tconst a2aSkillId = codexSubagentDelegationA2ASkillID(\n\t\t\tinput.event.args,\n\t\t\trequiredCapability,\n\t\t);\n\t\tthis.enqueue(async () => {\n\t\t\tconst result = await this.operations.delegateAgent({\n\t\t\t\tfromAgentId,\n\t\t\t\t...(toAgentId ? { toAgentId } : {}),\n\t\t\t\t...(requiredCapability ? { requiredCapability } : {}),\n\t\t\t\t...(a2aSkillId ? { a2aSkillId } : {}),\n\t\t\t\tcontextPayload: this.basePayload({\n\t\t\t\t\tevent_type: \"codex_subagent_delegation_requested\",\n\t\t\t\t\tcodex_tool: \"spawnAgent\",\n\t\t\t\t\tagent_run_id: input.runId,\n\t\t\t\t\twork_item_id: input.workItemId,\n\t\t\t\t\tparent_work_item_id: input.parentWorkItemId,\n\t\t\t\t\towner_child_run_id: input.ownerChildRunId,\n\t\t\t\t\ttool_call_id: input.event.toolCallId,\n\t\t\t\t\ttool_name: input.event.toolName,\n\t\t\t\t\tdisplay_name: sanitizeOutboundText(input.event.displayName),\n\t\t\t\t\tsummary_label: sanitizeOutboundText(input.event.summaryLabel),\n\t\t\t\t\tfrom_agent_id: fromAgentId,\n\t\t\t\t\tto_agent_id: toAgentId,\n\t\t\t\t\trequired_capability: requiredCapability,\n\t\t\t\t\ta2a_skill_id: a2aSkillId,\n\t\t\t\t\tsender_thread_id: nonEmptyString(input.event.args.senderThreadId),\n\t\t\t\t\treceiver_thread_ids: input.receiverThreadIds,\n\t\t\t\t\tchild_run_ids: input.childRunIds,\n\t\t\t\t\tcodex_work_graph: input.workGraph,\n\t\t\t\t\tlinked_work_item_ids: input.linkedWorkItemIds,\n\t\t\t\t\tprompt: input.prompt,\n\t\t\t\t\tprompt_present: Boolean(input.prompt),\n\t\t\t\t\tprompt_char_count: redactedPromptLength(\n\t\t\t\t\t\tnonEmptyString(input.event.args.prompt),\n\t\t\t\t\t),\n\t\t\t\t\tmodel: input.model,\n\t\t\t\t\treasoning_effort: input.reasoningEffort,\n\t\t\t\t\targ_keys: objectKeys(input.event.args),\n\t\t\t\t}),\n\t\t\t\treason: codexSubagentDelegationReason(input.prompt),\n\t\t\t});\n\t\t\tconst delegationId = result?.delegation?.id;\n\t\t\tif (delegationId) {\n\t\t\t\tthis.rememberCodexSubagentDelegation({\n\t\t\t\t\tdelegationId,\n\t\t\t\t\ttoolCallId: input.event.toolCallId,\n\t\t\t\t\treceiverThreadIds: input.receiverThreadIds,\n\t\t\t\t\tchildRunIds: input.childRunIds,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate updateCodexSubagentWorkItem(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_end\" }>,\n\t): void {\n\t\tconst codexTool = codexSubagentToolName(event.toolName);\n\t\tif (!codexTool) {\n\t\t\treturn;\n\t\t}\n\t\tconst runId = nonEmptyString(this.hostedRunner?.agentRunId);\n\t\tif (!this.hostedRunner?.enabled || !runId) {\n\t\t\treturn;\n\t\t}\n\t\tconst details =\n\t\t\tevent.result.details &&\n\t\t\ttypeof event.result.details === \"object\" &&\n\t\t\t!Array.isArray(event.result.details)\n\t\t\t\t? (event.result.details as Record<string, unknown>)\n\t\t\t\t: undefined;\n\t\tconst detailWorkGraph = codexSubagentWorkGraph(details);\n\t\tconst workGraph =\n\t\t\tdetailWorkGraph ?? this.codexSubagentToolWorkGraphs.get(event.toolCallId);\n\t\tconst detailReceiverThreadIds = details\n\t\t\t? codexSubagentReceiverThreadIds(details)\n\t\t\t: [];\n\t\tconst receiverThreadIds =\n\t\t\tdetailReceiverThreadIds.length > 0\n\t\t\t\t? detailReceiverThreadIds\n\t\t\t\t: (this.codexSubagentReceiverThreadIds.get(event.toolCallId) ?? []);\n\t\tconst detailChildRunIds = details\n\t\t\t? codexSubagentExplicitChildRunIds(details)\n\t\t\t: [];\n\t\tconst childRunIds =\n\t\t\tdetailChildRunIds.length > 0\n\t\t\t\t? detailChildRunIds\n\t\t\t\t: (this.codexSubagentToolChildRunIds.get(event.toolCallId) ??\n\t\t\t\t\tcodexSubagentChildRunIds({}, receiverThreadIds));\n\t\tconst linkedWorkItemIds =\n\t\t\tthis.codexSubagentLinkedWorkItemIds(receiverThreadIds);\n\t\tthis.codexSubagentReceiverThreadIds.delete(event.toolCallId);\n\t\tthis.codexSubagentToolChildRunIds.delete(event.toolCallId);\n\t\tthis.codexSubagentToolWorkGraphs.delete(event.toolCallId);\n\t\tif (codexTool === \"closeAgent\" && !event.isError) {\n\t\t\tfor (const threadId of receiverThreadIds) {\n\t\t\t\tthis.codexSubagentThreadWorkItemIds.delete(threadId);\n\t\t\t}\n\t\t}\n\t\tconst codexSubagentOperationName = codexSubagentOperation(codexTool);\n\t\tconst codexSubagentEdgeStatus = terminalCodexSubagentEdgeStatus(\n\t\t\tcodexTool,\n\t\t\tevent.isError,\n\t\t);\n\t\tthis.enqueue(async () => {\n\t\t\tconst delegationIds = this.codexSubagentDelegationIdsFor(\n\t\t\t\tevent.toolCallId,\n\t\t\t\treceiverThreadIds,\n\t\t\t\tchildRunIds,\n\t\t\t);\n\t\t\tconst delegationId = delegationIds[0];\n\t\t\tconst delegationEvidenceRefs = delegationIds.map(\n\t\t\t\t(id) => `agent-registry-delegation:${id}`,\n\t\t\t);\n\t\t\tconst shouldResolveDelegation =\n\t\t\t\tdelegationIds.length > 0 &&\n\t\t\t\tshouldResolveCodexSubagentDelegation(codexTool, event.isError);\n\t\t\tconst toolExecutionId = materializedToolExecutionId(event);\n\t\t\tlet updateError: unknown;\n\t\t\ttry {\n\t\t\t\tawait this.operations.updateWorkItem({\n\t\t\t\t\trunId,\n\t\t\t\t\tworkItemId: this.workItemId(event.toolCallId),\n\t\t\t\t\tstate: event.isError\n\t\t\t\t\t\t? PlatformAgentWorkItemStateValue.Failed\n\t\t\t\t\t\t: PlatformAgentWorkItemStateValue.Succeeded,\n\t\t\t\t\t...(toolExecutionId ? { toolExecutionId } : {}),\n\t\t\t\t\tevidenceRefs: [\n\t\t\t\t\t\t`codex-tool-call:${event.toolCallId}`,\n\t\t\t\t\t\t...receiverThreadIds.map((id) => `codex-thread:${id}`),\n\t\t\t\t\t\t...childRunIds.map((id) => `codex-child-run:${id}`),\n\t\t\t\t\t\t...delegationEvidenceRefs,\n\t\t\t\t\t],\n\t\t\t\t\tcompletionGate: event.isError\n\t\t\t\t\t\t? \"codex_collab_tool_failed\"\n\t\t\t\t\t\t: \"codex_collab_tool_completed\",\n\t\t\t\t\tpayload: this.basePayload({\n\t\t\t\t\t\tevent_type: event.type,\n\t\t\t\t\t\tcodex_tool: codexTool,\n\t\t\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\t\t\ttool_name: event.toolName,\n\t\t\t\t\t\tdisplay_name: sanitizeToolOutboundText(\n\t\t\t\t\t\t\tevent.toolName,\n\t\t\t\t\t\t\tevent.displayName,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tsummary_label: sanitizeToolOutboundText(\n\t\t\t\t\t\t\tevent.toolName,\n\t\t\t\t\t\t\tevent.summaryLabel,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcodex_subagent_operation: codexSubagentOperationName,\n\t\t\t\t\t\tcodex_subagent_edge_status: codexSubagentEdgeStatus,\n\t\t\t\t\t\terror_code: event.errorCode,\n\t\t\t\t\t\tgoverned_outcome: event.governedOutcome,\n\t\t\t\t\t\tresult_error: event.isError,\n\t\t\t\t\t\treceiver_thread_ids: receiverThreadIds,\n\t\t\t\t\t\tchild_run_ids: childRunIds,\n\t\t\t\t\t\tcodex_work_graph: workGraph,\n\t\t\t\t\t\tlinked_work_item_ids: linkedWorkItemIds,\n\t\t\t\t\t\tdelegation_id: delegationId,\n\t\t\t\t\t\tdelegation_ids:\n\t\t\t\t\t\t\tdelegationIds.length > 0 ? delegationIds : undefined,\n\t\t\t\t\t\tdelegation_resolution:\n\t\t\t\t\t\t\tcodexTool === \"spawnAgent\" &&\n\t\t\t\t\t\t\tdelegationIds.length > 0 &&\n\t\t\t\t\t\t\t!event.isError\n\t\t\t\t\t\t\t\t? \"deferred_until_child_terminal_edge\"\n\t\t\t\t\t\t\t\t: shouldResolveDelegation\n\t\t\t\t\t\t\t\t\t? \"resolved_from_child_terminal_edge\"\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\tresult_detail_keys: objectKeys(details),\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tupdateError = error;\n\t\t\t}\n\t\t\tif (shouldResolveDelegation) {\n\t\t\t\tfor (const delegationIdToResolve of delegationIds) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait this.operations.resolveDelegation({\n\t\t\t\t\t\t\tdelegationId: delegationIdToResolve,\n\t\t\t\t\t\t\tstatus: event.isError\n\t\t\t\t\t\t\t\t? PlatformDelegationStatusValue.Failed\n\t\t\t\t\t\t\t\t: PlatformDelegationStatusValue.Completed,\n\t\t\t\t\t\t\tresultPayload: this.basePayload({\n\t\t\t\t\t\t\t\tevent_type: \"codex_subagent_delegation_resolved\",\n\t\t\t\t\t\t\t\tcodex_tool: codexTool,\n\t\t\t\t\t\t\t\tcodex_subagent_operation: codexSubagentOperationName,\n\t\t\t\t\t\t\t\tcodex_subagent_edge_status: codexSubagentEdgeStatus,\n\t\t\t\t\t\t\t\tagent_run_id: runId,\n\t\t\t\t\t\t\t\twork_item_id: this.workItemId(event.toolCallId),\n\t\t\t\t\t\t\t\tresolution_tool_call_id: event.toolCallId,\n\t\t\t\t\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\t\t\t\t\ttool_name: event.toolName,\n\t\t\t\t\t\t\t\tresult_error: event.isError,\n\t\t\t\t\t\t\t\treceiver_thread_ids: receiverThreadIds,\n\t\t\t\t\t\t\t\tchild_run_ids: childRunIds,\n\t\t\t\t\t\t\t\tcodex_work_graph: workGraph,\n\t\t\t\t\t\t\t\tlinked_work_item_ids: linkedWorkItemIds,\n\t\t\t\t\t\t\t\tdelegation_ids: delegationIds,\n\t\t\t\t\t\t\t\tresult_detail_keys: objectKeys(details),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\terrorMessage: event.isError\n\t\t\t\t\t\t\t\t? (event.errorCode ??\n\t\t\t\t\t\t\t\t\tevent.governedOutcome ??\n\t\t\t\t\t\t\t\t\tcodexSubagentDelegationFailureMessage(codexTool))\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t});\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tlogger.warn(\"Failed to resolve Codex subagent delegation\", {\n\t\t\t\t\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\t\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tsession_id: this.sessionId,\n\t\t\t\t\t\t\tagent_run_id: runId,\n\t\t\t\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\t\t\t\tdelegation_id: delegationIdToResolve,\n\t\t\t\t\t\t});\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tthis.clearCodexSubagentDelegationLinks(delegationIdToResolve);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (updateError !== undefined) {\n\t\t\t\tthrow updateError;\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate rememberCodexSubagentDelegation(input: {\n\t\tdelegationId: string;\n\t\ttoolCallId: string;\n\t\treceiverThreadIds: string[];\n\t\tchildRunIds: string[];\n\t}): void {\n\t\tthis.codexSubagentDelegationIds.set(input.toolCallId, input.delegationId);\n\t\tfor (const threadId of input.receiverThreadIds) {\n\t\t\tthis.codexSubagentDelegationIdsByThreadId.set(\n\t\t\t\tthreadId,\n\t\t\t\tinput.delegationId,\n\t\t\t);\n\t\t}\n\t\tfor (const childRunId of input.childRunIds) {\n\t\t\tthis.codexSubagentDelegationIdsByChildRunId.set(\n\t\t\t\tchildRunId,\n\t\t\t\tinput.delegationId,\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate codexSubagentDelegationIdsFor(\n\t\ttoolCallId: string,\n\t\treceiverThreadIds: string[],\n\t\tchildRunIds: string[],\n\t): string[] {\n\t\tconst ids = new Set<string>();\n\t\tconst add = (delegationId: string | undefined) => {\n\t\t\tif (delegationId) {\n\t\t\t\tids.add(delegationId);\n\t\t\t}\n\t\t};\n\t\tadd(this.codexSubagentDelegationIds.get(toolCallId));\n\t\tfor (const childRunId of childRunIds) {\n\t\t\tadd(this.codexSubagentDelegationIdsByChildRunId.get(childRunId));\n\t\t}\n\t\tfor (const threadId of receiverThreadIds) {\n\t\t\tadd(this.codexSubagentDelegationIdsByThreadId.get(threadId));\n\t\t}\n\t\treturn [...ids];\n\t}\n\n\tprivate clearCodexSubagentDelegationLinks(delegationId: string): void {\n\t\tfor (const [toolCallId, linkedDelegationId] of this\n\t\t\t.codexSubagentDelegationIds) {\n\t\t\tif (linkedDelegationId === delegationId) {\n\t\t\t\tthis.codexSubagentDelegationIds.delete(toolCallId);\n\t\t\t}\n\t\t}\n\t\tfor (const [threadId, linkedDelegationId] of this\n\t\t\t.codexSubagentDelegationIdsByThreadId) {\n\t\t\tif (linkedDelegationId === delegationId) {\n\t\t\t\tthis.codexSubagentDelegationIdsByThreadId.delete(threadId);\n\t\t\t}\n\t\t}\n\t\tfor (const [childRunId, linkedDelegationId] of this\n\t\t\t.codexSubagentDelegationIdsByChildRunId) {\n\t\t\tif (linkedDelegationId === delegationId) {\n\t\t\t\tthis.codexSubagentDelegationIdsByChildRunId.delete(childRunId);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate codexSubagentLinkedWorkItemIds(\n\t\treceiverThreadIds: string[],\n\t): string[] {\n\t\tconst linked = receiverThreadIds\n\t\t\t.map((threadId) => this.codexSubagentThreadWorkItemIds.get(threadId))\n\t\t\t.filter((id): id is string => Boolean(id));\n\t\treturn Array.from(new Set(linked));\n\t}\n\n\tprivate recordToolDerivedTaskProgress(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_end\" }>,\n\t): void {\n\t\tconst args = this.toolArgsByCallId.get(event.toolCallId);\n\t\tthis.toolArgsByCallId.delete(event.toolCallId);\n\t\tif (event.isError) {\n\t\t\treturn;\n\t\t}\n\t\tif (event.toolName === \"todo\") {\n\t\t\tthis.recordTodoTaskProgress(event, args);\n\t\t\treturn;\n\t\t}\n\t\tif (event.toolName === \"background_tasks\" || event.toolName === \"bash\") {\n\t\t\tthis.recordBackgroundTaskProgress(event, args);\n\t\t}\n\t}\n\n\tprivate recordTodoTaskProgress(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_end\" }>,\n\t\targs: Record<string, unknown> | undefined,\n\t): void {\n\t\tconst details = isRecord(event.result.details)\n\t\t\t? event.result.details\n\t\t\t: undefined;\n\t\tif (!details) {\n\t\t\treturn;\n\t\t}\n\t\tconst rawGoal = nonEmptyString(args?.goal)?.trim();\n\t\tconst goal = compactString(rawGoal, 512);\n\t\tconst goalHash = rawGoal ? stableShortHash(rawGoal) : undefined;\n\t\tfor (const item of recordArray(details.items)) {\n\t\t\tconst id = compactString(item.id, 128);\n\t\t\tconst content = compactString(item.content, 512);\n\t\t\tif (!id || !content) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst scopedId = goalScopedTodoId(id, rawGoal);\n\t\t\tconst blockedBy = stringArray(item.blockedBy);\n\t\t\tconst status = todoStatusToTaskStatus(item.status);\n\t\t\tthis.recordTaskProgressEvent({\n\t\t\t\tsource: \"todo\",\n\t\t\t\tid: scopedId,\n\t\t\t\tstatus,\n\t\t\t\ttitle: content,\n\t\t\t\tgoal,\n\t\t\t\ttoolCallId: event.toolCallId,\n\t\t\t\ttoolExecutionId: materializedToolExecutionId(event),\n\t\t\t\tcompletionGate: \"todo_status_projected\",\n\t\t\t\tnextAction:\n\t\t\t\t\tstatus === \"pending\"\n\t\t\t\t\t\t? \"wait for task to start\"\n\t\t\t\t\t\t: status === \"running\"\n\t\t\t\t\t\t\t? \"complete the active task\"\n\t\t\t\t\t\t\t: \"task completed\",\n\t\t\t\tblocker: blockedBy.length > 0 ? blockedBy.join(\", \") : undefined,\n\t\t\t\tpayload: {\n\t\t\t\t\ttask_id: id,\n\t\t\t\t\ttodo_id: id,\n\t\t\t\t\ttodo_scope: rawGoal ? \"goal\" : \"session\",\n\t\t\t\t\ttodo_goal_hash: goalHash,\n\t\t\t\t\ttodo_status: compactString(item.status),\n\t\t\t\t\tpriority: compactString(item.priority),\n\t\t\t\t\tblocked_by: blockedBy,\n\t\t\t\t\tdue: compactString(item.due),\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate recordBackgroundTaskProgress(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_end\" }>,\n\t\targs: Record<string, unknown> | undefined,\n\t): void {\n\t\tconst details = event.result.details;\n\t\tconst candidates = Array.isArray(details)\n\t\t\t? recordArray(details)\n\t\t\t: isRecord(details)\n\t\t\t\t? [details]\n\t\t\t\t: [];\n\t\tfor (const detail of candidates) {\n\t\t\tconst id = compactString(detail.id ?? detail.taskId, 128);\n\t\t\tif (!id) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst statusLabel = compactString(detail.status, 64);\n\t\t\tif (!statusLabel) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst command = compactString(detail.command ?? args?.command, 512);\n\t\t\tconst commandSummary = command ? REDACTED : undefined;\n\t\t\tconst status = backgroundStatusToTaskStatus(statusLabel);\n\t\t\tthis.recordTaskProgressEvent({\n\t\t\t\tsource: \"background\",\n\t\t\t\tid,\n\t\t\t\tstatus,\n\t\t\t\ttitle: commandSummary\n\t\t\t\t\t? `Background task: ${commandSummary}`\n\t\t\t\t\t: `Background task ${id}`,\n\t\t\t\ttoolCallId: event.toolCallId,\n\t\t\t\ttoolExecutionId: materializedToolExecutionId(event),\n\t\t\t\tcompletionGate: \"background_task_status_projected\",\n\t\t\t\tnextAction:\n\t\t\t\t\tstatus === \"running\"\n\t\t\t\t\t\t? \"monitor or stop the background task\"\n\t\t\t\t\t\t: \"inspect task result if needed\",\n\t\t\t\terrorMessage: compactString(detail.failureReason, 512),\n\t\t\t\tpayload: {\n\t\t\t\t\tbackground_task_id: id,\n\t\t\t\t\tbackground_task_status: statusLabel,\n\t\t\t\t\tcommand_summary: commandSummary,\n\t\t\t\t\tcwd: compactString(detail.cwd, 512),\n\t\t\t\t\tpid: typeof detail.pid === \"number\" ? detail.pid : undefined,\n\t\t\t\t\tshell_mode: compactString(detail.shellMode, 64),\n\t\t\t\t\trestart_attempts: finiteNumber(detail.restartAttempts),\n\t\t\t\t\trestart_max_attempts: finiteNumber(detail.restartMaxAttempts),\n\t\t\t\t\tlog_truncated:\n\t\t\t\t\t\ttypeof detail.logTruncated === \"boolean\"\n\t\t\t\t\t\t\t? detail.logTruncated\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\tmonitoring_mode: compactString(detail.monitoringMode, 64),\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate enqueue(operation: ProgressOperation): void {\n\t\tthis.pending = this.pending.then(operation, operation).then(\n\t\t\t() => {},\n\t\t\t(error) => {\n\t\t\t\tlogger.warn(\"Failed to record hosted AgentRuntime progress\", {\n\t\t\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t\t\t),\n\t\t\t\t\tsession_id: this.sessionId,\n\t\t\t\t\tagent_run_id: this.hostedRunner?.agentRunId,\n\t\t\t\t});\n\t\t\t},\n\t\t);\n\t}\n\n\tprivate handles(): { runId: string; leaseToken: string } | null {\n\t\tconst runId = nonEmptyString(this.hostedRunner?.agentRunId);\n\t\tconst leaseToken = nonEmptyString(\n\t\t\tthis.hostedRunner?.agentRuntimeLeaseToken,\n\t\t);\n\t\tif (!this.hostedRunner?.enabled || !runId || !leaseToken) {\n\t\t\treturn null;\n\t\t}\n\t\treturn { runId, leaseToken };\n\t}\n\n\tprivate basePayload(\n\t\tvalues: Record<string, unknown>,\n\t): Record<string, unknown> {\n\t\treturn {\n\t\t\tmaestro_session_id: this.sessionId,\n\t\t\t...(this.workspaceRoot ? { workspace_root: this.workspaceRoot } : {}),\n\t\t\t...(this.hostedRunner?.workspaceId\n\t\t\t\t? { workspace_id: this.hostedRunner.workspaceId }\n\t\t\t\t: {}),\n\t\t\t...(this.hostedRunner?.runnerSessionId\n\t\t\t\t? { runner_session_id: this.hostedRunner.runnerSessionId }\n\t\t\t\t: {}),\n\t\t\t...(this.hostedRunner?.ownerInstanceId\n\t\t\t\t? { owner_instance_id: this.hostedRunner.ownerInstanceId }\n\t\t\t\t: {}),\n\t\t\t...(this.hostedRunner?.agentId\n\t\t\t\t? { agent_id: this.hostedRunner.agentId }\n\t\t\t\t: {}),\n\t\t\t...(this.hostedRunner?.agentRuntimeWorkerQueue\n\t\t\t\t? { worker_queue: this.hostedRunner.agentRuntimeWorkerQueue }\n\t\t\t\t: {}),\n\t\t\t...(this.hostedRunner?.agentRuntimeCorrelationPath\n\t\t\t\t? { correlation_path: this.hostedRunner.agentRuntimeCorrelationPath }\n\t\t\t\t: {}),\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries(values).filter(([, value]) => value !== undefined),\n\t\t\t),\n\t\t};\n\t}\n\n\tprivate stepId(kind: string, id: string): string {\n\t\treturn `maestro:${safeIdPart(this.sessionId)}:${kind}:${safeIdPart(id)}`;\n\t}\n\n\tprivate taskProgressId(\n\t\tsource: HostedAgentRuntimeTaskSource,\n\t\tid: string,\n\t): string {\n\t\treturn this.stepId(source, id);\n\t}\n\n\tprivate toolStepId(toolCallId: string): string {\n\t\treturn this.stepId(\"tool\", toolCallId);\n\t}\n\n\tprivate workItemId(toolCallId: string): string {\n\t\treturn this.stepId(\"work\", toolCallId);\n\t}\n\n\tprivate isoTime(value: number | undefined): string | undefined {\n\t\treturn typeof value === \"number\" && Number.isFinite(value)\n\t\t\t? new Date(value).toISOString()\n\t\t\t: undefined;\n\t}\n\n\tprivate durationMs(\n\t\tstartedAtMs: number | undefined,\n\t\tendedAtMs: number,\n\t): number | undefined {\n\t\treturn typeof startedAtMs === \"number\" && Number.isFinite(startedAtMs)\n\t\t\t? Math.max(0, endedAtMs - startedAtMs)\n\t\t\t: undefined;\n\t}\n\n\tprivate resolveAutoRetryStartSequence(attempt: number): number {\n\t\tif (\n\t\t\tthis.activeAutoRetrySequence === null ||\n\t\t\tattempt <= this.lastAutoRetryAttempt\n\t\t) {\n\t\t\tthis.autoRetrySequence += 1;\n\t\t\tthis.activeAutoRetrySequence = this.autoRetrySequence;\n\t\t}\n\t\tthis.lastAutoRetryAttempt = attempt;\n\t\treturn this.activeAutoRetrySequence;\n\t}\n\n\tprivate resolveAutoRetryEndSequence(): number {\n\t\tif (this.activeAutoRetrySequence === null) {\n\t\t\tthis.autoRetrySequence += 1;\n\t\t\tthis.activeAutoRetrySequence = this.autoRetrySequence;\n\t\t}\n\t\tconst sequence = this.activeAutoRetrySequence;\n\t\tthis.activeAutoRetrySequence = null;\n\t\tthis.lastAutoRetryAttempt = 0;\n\t\treturn sequence;\n\t}\n\n\tprivate autoRetryStepId(attempt: number, sequence: number): string {\n\t\treturn this.stepId(\"retry\", `auto-${sequence}-attempt-${attempt}`);\n\t}\n\n\tprivate waitId(requestId: string): string {\n\t\treturn this.stepId(\"wait\", requestId);\n\t}\n\n\tprivate checkpointId(requestId: string): string {\n\t\treturn this.stepId(\"checkpoint\", requestId);\n\t}\n\n\tprivate resumeEventId(requestId: string): string {\n\t\treturn this.stepId(\"resume\", requestId);\n\t}\n\n\tprivate costId(turnId: string): string {\n\t\treturn this.stepId(\"cost\", turnId);\n\t}\n\n\tprivate meterRef(costId: string): string {\n\t\treturn `meter://maestro/model-usage/${safeIdPart(costId)}`;\n\t}\n}\n\nexport function createHostedAgentRuntimeProgressRecorder(\n\toptions: HostedAgentRuntimeProgressRecorderOptions,\n): HostedAgentRuntimeProgressRecorder | undefined {\n\tif (!options.hostedRunner?.enabled) {\n\t\treturn undefined;\n\t}\n\treturn new HostedAgentRuntimeProgressRecorder(options);\n}\n"]}
|