@evalops/maestro 0.10.49 → 0.10.51
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/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/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/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 +2 -2
- package/dist/agent/modes.d.ts.map +1 -1
- package/dist/agent/modes.js +10 -3
- package/dist/agent/modes.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 +203 -107
- package/dist/agent/providers/google.js +100 -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 +203 -107
- 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 +4 -1
- package/dist/agent/subagent-specs.d.ts.map +1 -1
- package/dist/agent/subagent-specs.js +81 -8
- 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/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/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 +1 -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/cli/args.d.ts +2 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +15 -0
- 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/agents.d.ts +4 -0
- package/dist/cli/commands/agents.d.ts.map +1 -1
- package/dist/cli/commands/agents.js +149 -0
- package/dist/cli/commands/agents.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/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/help.d.ts.map +1 -1
- package/dist/cli/help.js +10 -0
- package/dist/cli/help.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.js +2 -2
- package/dist/cli-command-runtime.js.map +1 -1
- package/dist/cli-runtime.js +7798 -2805
- package/dist/cli-tui/client-tools/client-tool-controller.d.ts.map +1 -1
- package/dist/cli-tui/client-tools/client-tool-controller.js +1 -3
- package/dist/cli-tui/client-tools/client-tool-controller.js.map +1 -1
- package/dist/cli-tui/commands/undo-handlers.d.ts.map +1 -1
- package/dist/cli-tui/commands/undo-handlers.js +7 -2
- package/dist/cli-tui/commands/undo-handlers.js.map +1 -1
- package/dist/cli-tui/tui-renderer/skills-controller.d.ts +3 -0
- package/dist/cli-tui/tui-renderer/skills-controller.d.ts.map +1 -1
- package/dist/cli-tui/tui-renderer/skills-controller.js +77 -33
- package/dist/cli-tui/tui-renderer/skills-controller.js.map +1 -1
- package/dist/cli.js +4 -6
- package/dist/cli.js.map +1 -1
- 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/context/manifest.d.ts.map +1 -1
- package/dist/context/manifest.js +1 -3
- package/dist/context/manifest.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/health.d.ts +1 -1
- package/dist/db/health.d.ts.map +1 -1
- package/dist/db/health.js +10 -0
- package/dist/db/health.js.map +1 -1
- package/dist/db/migrations/0009_operating_layer_evidence.sql +30 -0
- package/dist/db/migrations/meta/_journal.json +7 -0
- package/dist/db/schema.d.ts +268 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +28 -0
- 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/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 +13 -0
- package/dist/load-env.d.ts.map +1 -1
- package/dist/load-env.js +17 -0
- package/dist/load-env.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +96 -7
- 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.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 +1 -0
- package/dist/node_modules/@evalops/contracts/dist/index.d.ts.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/index.js +1 -0
- package/dist/node_modules/@evalops/contracts/dist/index.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/package.json +1 -1
- package/dist/node_modules/@evalops/tui/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/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 +127 -0
- package/dist/platform/operating-layer.d.ts.map +1 -0
- package/dist/platform/operating-layer.js +360 -0
- package/dist/platform/operating-layer.js.map +1 -0
- 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/env.d.ts +9 -1
- package/dist/runtime/env.d.ts.map +1 -1
- package/dist/runtime/env.js +63 -1
- package/dist/runtime/env.js.map +1 -1
- 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/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/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/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/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/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 +1 -3
- package/dist/server/session-serialization.js.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/intelligent-router/normalize.d.ts.map +1 -1
- package/dist/services/intelligent-router/normalize.js +1 -3
- package/dist/services/intelligent-router/normalize.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/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/skills/composer.d.ts.map +1 -1
- package/dist/skills/composer.js +13 -1
- package/dist/skills/composer.js.map +1 -1
- package/dist/skills/index.d.ts +1 -0
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +1 -0
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/learned-guidelines.d.ts +33 -0
- package/dist/skills/learned-guidelines.d.ts.map +1 -0
- package/dist/skills/learned-guidelines.js +291 -0
- package/dist/skills/learned-guidelines.js.map +1 -0
- package/dist/skills/linter.d.ts.map +1 -1
- package/dist/skills/linter.js +1 -3
- package/dist/skills/linter.js.map +1 -1
- package/dist/skills/runtime-activation.d.ts +1 -0
- package/dist/skills/runtime-activation.d.ts.map +1 -1
- package/dist/skills/runtime-activation.js +2 -3
- package/dist/skills/runtime-activation.js.map +1 -1
- package/dist/skills/tool.d.ts.map +1 -1
- package/dist/skills/tool.js +26 -21
- package/dist/skills/tool.js.map +1 -1
- package/dist/skills/trust-cache.d.ts +7 -0
- package/dist/skills/trust-cache.d.ts.map +1 -1
- package/dist/skills/trust-cache.js +16 -0
- package/dist/skills/trust-cache.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.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.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/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/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/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 +2 -5
- package/dist/web-server.js.map +1 -1
- package/package.json +310 -306
- package/skills/incident-triage/SKILL.md +19 -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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-app-server-ws.js","sourceRoot":"","sources":["../../../src/server/handlers/runtime-app-server-ws.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\ttype RuntimeAppServerClientRequest,\n\ttype RuntimeAppServerInitializeResult,\n\ttype RuntimeAppServerModelProviderCapabilitiesResult,\n\ttype RuntimeAppServerResponse,\n\ttype RuntimeAppServerServerNotification,\n\truntimeAppServerProtocolVersion,\n} from \"@evalops/contracts\";\nimport type { WebSocket } from \"ws\";\nimport { getRegisteredModels } from \"../../models/registry.js\";\nimport {\n\ttype ServerRequestLifecycleEvent,\n\ttype ServerRequestManager,\n\tserverRequestManager as defaultServerRequestManager,\n} from \"../server-request-manager.js\";\n\ninterface RuntimeAppServerOptions {\n\tserverRequestManager?: ServerRequestManager;\n\tsessionId?: string;\n\tvalidateSessionAccess?: (sessionId: string) => boolean | Promise<boolean>;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn Boolean(value && typeof value === \"object\" && !Array.isArray(value));\n}\n\nfunction canWrite(ws: WebSocket): boolean {\n\treturn ws.readyState === 1;\n}\n\nfunction send(\n\tws: WebSocket,\n\tpayload: RuntimeAppServerResponse | RuntimeAppServerServerNotification,\n): void {\n\tif (!canWrite(ws)) return;\n\ttry {\n\t\tws.send(JSON.stringify(payload));\n\t} catch {\n\t\t// Disconnect races can close the socket after readyState is checked.\n\t}\n}\n\nfunction toErrorResponse(\n\tid: string | number | null,\n\tcode: number,\n\tmessage: string,\n): RuntimeAppServerResponse {\n\treturn {\n\t\tjsonrpc: \"2.0\",\n\t\tid,\n\t\terror: { code, message },\n\t};\n}\n\nfunction parseClientRequest(raw: unknown): RuntimeAppServerClientRequest {\n\tif (!isRecord(raw)) {\n\t\tthrow new Error(\"Runtime app-server request must be an object\");\n\t}\n\tif (raw.jsonrpc !== \"2.0\") {\n\t\tthrow new Error(\"Runtime app-server request must use JSON-RPC 2.0\");\n\t}\n\tif (typeof raw.id !== \"string\" && typeof raw.id !== \"number\") {\n\t\tthrow new Error(\"Runtime app-server request id must be a string or number\");\n\t}\n\tif (\n\t\traw.method !== \"runtime.initialize\" &&\n\t\traw.method !== \"runtime.model_provider_capabilities.read\" &&\n\t\traw.method !== \"runtime.ping\"\n\t) {\n\t\tthrow new Error(\"Unsupported runtime app-server method\");\n\t}\n\treturn raw as RuntimeAppServerClientRequest;\n}\n\nfunction initializeResult(): RuntimeAppServerInitializeResult {\n\treturn {\n\t\tprotocolVersion: runtimeAppServerProtocolVersion,\n\t\tserverInfo: { name: \"maestro\" },\n\t\tcapabilities: {\n\t\t\tchat: false,\n\t\t\tserverRequests: true,\n\t\t\tmodelCapabilities: true,\n\t\t},\n\t};\n}\n\nfunction modelProviderCapabilities(): RuntimeAppServerModelProviderCapabilitiesResult {\n\tconst providers = new Map<\n\t\tstring,\n\t\tRuntimeAppServerModelProviderCapabilitiesResult[\"providers\"][number]\n\t>();\n\tfor (const model of getRegisteredModels()) {\n\t\tconst provider = providers.get(model.provider) ?? {\n\t\t\tid: model.provider,\n\t\t\tname: model.providerName,\n\t\t\tmodels: [],\n\t\t};\n\t\tprovider.models.push({\n\t\t\tid: model.id,\n\t\t\tname: model.name,\n\t\t\tapi: model.api,\n\t\t\tprovider: model.provider,\n\t\t\tsource: model.source,\n\t\t\tcontextWindow: model.contextWindow,\n\t\t\tmaxTokens: model.maxTokens,\n\t\t\tcapabilities: {\n\t\t\t\tstreaming: true,\n\t\t\t\ttools: Boolean(model.toolUse),\n\t\t\t\tvision: model.input.includes(\"image\"),\n\t\t\t\treasoning: Boolean(model.reasoning),\n\t\t\t\tlocal: model.isLocal,\n\t\t\t},\n\t\t});\n\t\tproviders.set(model.provider, provider);\n\t}\n\treturn {\n\t\tproviders: Array.from(providers.values()).sort((left, right) =>\n\t\t\tleft.id.localeCompare(right.id),\n\t\t),\n\t};\n}\n\nfunction serverRequestMethod(event: ServerRequestLifecycleEvent) {\n\treturn event.type === \"registered\"\n\t\t? \"runtime.server_request.registered\"\n\t\t: \"runtime.server_request.resolved\";\n}\n\nexport function handleRuntimeAppServerWebSocket(\n\tws: WebSocket,\n\toptions: RuntimeAppServerOptions = {},\n): void {\n\tconst manager = options.serverRequestManager ?? defaultServerRequestManager;\n\tlet sessionId = options.sessionId;\n\tlet bindingSessionId: string | undefined;\n\tlet initialized = false;\n\tconst sentRegisteredRequestIds = new Set<string>();\n\tconst sendServerRequestEvent = (event: ServerRequestLifecycleEvent): void => {\n\t\tif (event.type === \"registered\") {\n\t\t\tsentRegisteredRequestIds.add(event.request.id);\n\t\t}\n\t\tsend(ws, {\n\t\t\tjsonrpc: \"2.0\",\n\t\t\tmethod: serverRequestMethod(event),\n\t\t\tparams: event,\n\t\t});\n\t};\n\tconst replayPendingServerRequests = (): void => {\n\t\tif (!initialized || !sessionId) {\n\t\t\treturn;\n\t\t}\n\t\tfor (const request of manager.listPending({ sessionId })) {\n\t\t\tif (sentRegisteredRequestIds.has(request.id)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tsendServerRequestEvent({\n\t\t\t\ttype: \"registered\",\n\t\t\t\trequest,\n\t\t\t});\n\t\t}\n\t};\n\tconst bindSessionId = async (requestedSessionId: unknown): Promise<void> => {\n\t\tif (typeof requestedSessionId !== \"string\" || !requestedSessionId.trim()) {\n\t\t\treturn;\n\t\t}\n\t\tconst nextSessionId = requestedSessionId.trim();\n\t\tif (sessionId && sessionId !== nextSessionId) {\n\t\t\tthrow new Error(\"Runtime app-server session is already bound\");\n\t\t}\n\t\tif (bindingSessionId && bindingSessionId !== nextSessionId) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Runtime app-server session binding is already in progress\",\n\t\t\t);\n\t\t}\n\t\tbindingSessionId = nextSessionId;\n\t\ttry {\n\t\t\tif (\n\t\t\t\toptions.validateSessionAccess &&\n\t\t\t\t!(await options.validateSessionAccess(nextSessionId))\n\t\t\t) {\n\t\t\t\tthrow new Error(\"Runtime app-server session access denied\");\n\t\t\t}\n\t\t\tif (sessionId && sessionId !== nextSessionId) {\n\t\t\t\tthrow new Error(\"Runtime app-server session is already bound\");\n\t\t\t}\n\t\t\tsessionId = nextSessionId;\n\t\t} finally {\n\t\t\tif (bindingSessionId === nextSessionId) {\n\t\t\t\tbindingSessionId = undefined;\n\t\t\t}\n\t\t}\n\t};\n\tconst unsubscribe = manager.subscribe((event) => {\n\t\tif (!initialized || !sessionId || event.request.sessionId !== sessionId) {\n\t\t\treturn;\n\t\t}\n\t\tsendServerRequestEvent(event);\n\t});\n\n\tws.on(\"message\", async (data) => {\n\t\tlet parsed: unknown;\n\t\ttry {\n\t\t\ttry {\n\t\t\t\tparsed = JSON.parse(String(data));\n\t\t\t} catch {\n\t\t\t\tsend(ws, toErrorResponse(null, -32700, \"Parse error\"));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst request = parseClientRequest(parsed);\n\t\t\tif (request.method === \"runtime.initialize\") {\n\t\t\t\tconst requestedSessionId = isRecord(request.params)\n\t\t\t\t\t? request.params.sessionId\n\t\t\t\t\t: undefined;\n\t\t\t\tawait bindSessionId(requestedSessionId);\n\t\t\t\tconst result = initializeResult();\n\t\t\t\tsend(ws, { jsonrpc: \"2.0\", id: request.id, result });\n\t\t\t\tsend(ws, {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tmethod: \"runtime.initialized\",\n\t\t\t\t\tparams: result,\n\t\t\t\t});\n\t\t\t\tinitialized = true;\n\t\t\t\treplayPendingServerRequests();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (request.method === \"runtime.model_provider_capabilities.read\") {\n\t\t\t\tsend(ws, {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid: request.id,\n\t\t\t\t\tresult: modelProviderCapabilities(),\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsend(ws, { jsonrpc: \"2.0\", id: request.id, result: { ok: true } });\n\t\t} catch (error) {\n\t\t\tconst id =\n\t\t\t\tisRecord(parsed) &&\n\t\t\t\t(typeof parsed.id === \"string\" || typeof parsed.id === \"number\")\n\t\t\t\t\t? parsed.id\n\t\t\t\t\t: null;\n\t\t\tsend(\n\t\t\t\tws,\n\t\t\t\ttoErrorResponse(\n\t\t\t\t\tid,\n\t\t\t\t\terror instanceof Error &&\n\t\t\t\t\t\terror.message === \"Unsupported runtime app-server method\"\n\t\t\t\t\t\t? -32601\n\t\t\t\t\t\t: -32600,\n\t\t\t\t\terror instanceof Error ? error.message : \"Invalid request\",\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t});\n\n\tws.on(\"close\", () => {\n\t\tunsubscribe();\n\t});\n}\n"]}
|
|
1
|
+
{"version":3,"file":"runtime-app-server-ws.js","sourceRoot":"","sources":["../../../src/server/handlers/runtime-app-server-ws.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\ttype RuntimeAppServerClientRequest,\n\ttype RuntimeAppServerInitializeResult,\n\ttype RuntimeAppServerModelProviderCapabilitiesResult,\n\ttype RuntimeAppServerResponse,\n\ttype RuntimeAppServerServerNotification,\n\truntimeAppServerProtocolVersion,\n} from \"@evalops/contracts\";\nimport type { WebSocket } from \"ws\";\nimport { getRegisteredModels } from \"../../models/registry.js\";\nimport { isRecord } from \"../../utils/json.js\";\nimport {\n\ttype ServerRequestLifecycleEvent,\n\ttype ServerRequestManager,\n\tserverRequestManager as defaultServerRequestManager,\n} from \"../server-request-manager.js\";\n\ninterface RuntimeAppServerOptions {\n\tserverRequestManager?: ServerRequestManager;\n\tsessionId?: string;\n\tvalidateSessionAccess?: (sessionId: string) => boolean | Promise<boolean>;\n}\n\nfunction canWrite(ws: WebSocket): boolean {\n\treturn ws.readyState === 1;\n}\n\nfunction send(\n\tws: WebSocket,\n\tpayload: RuntimeAppServerResponse | RuntimeAppServerServerNotification,\n): void {\n\tif (!canWrite(ws)) return;\n\ttry {\n\t\tws.send(JSON.stringify(payload));\n\t} catch {\n\t\t// Disconnect races can close the socket after readyState is checked.\n\t}\n}\n\nfunction toErrorResponse(\n\tid: string | number | null,\n\tcode: number,\n\tmessage: string,\n): RuntimeAppServerResponse {\n\treturn {\n\t\tjsonrpc: \"2.0\",\n\t\tid,\n\t\terror: { code, message },\n\t};\n}\n\nfunction parseClientRequest(raw: unknown): RuntimeAppServerClientRequest {\n\tif (!isRecord(raw)) {\n\t\tthrow new Error(\"Runtime app-server request must be an object\");\n\t}\n\tif (raw.jsonrpc !== \"2.0\") {\n\t\tthrow new Error(\"Runtime app-server request must use JSON-RPC 2.0\");\n\t}\n\tif (typeof raw.id !== \"string\" && typeof raw.id !== \"number\") {\n\t\tthrow new Error(\"Runtime app-server request id must be a string or number\");\n\t}\n\tif (\n\t\traw.method !== \"runtime.initialize\" &&\n\t\traw.method !== \"runtime.model_provider_capabilities.read\" &&\n\t\traw.method !== \"runtime.ping\"\n\t) {\n\t\tthrow new Error(\"Unsupported runtime app-server method\");\n\t}\n\treturn raw as RuntimeAppServerClientRequest;\n}\n\nfunction initializeResult(): RuntimeAppServerInitializeResult {\n\treturn {\n\t\tprotocolVersion: runtimeAppServerProtocolVersion,\n\t\tserverInfo: { name: \"maestro\" },\n\t\tcapabilities: {\n\t\t\tchat: false,\n\t\t\tserverRequests: true,\n\t\t\tmodelCapabilities: true,\n\t\t},\n\t};\n}\n\nfunction modelProviderCapabilities(): RuntimeAppServerModelProviderCapabilitiesResult {\n\tconst providers = new Map<\n\t\tstring,\n\t\tRuntimeAppServerModelProviderCapabilitiesResult[\"providers\"][number]\n\t>();\n\tfor (const model of getRegisteredModels()) {\n\t\tconst provider = providers.get(model.provider) ?? {\n\t\t\tid: model.provider,\n\t\t\tname: model.providerName,\n\t\t\tmodels: [],\n\t\t};\n\t\tprovider.models.push({\n\t\t\tid: model.id,\n\t\t\tname: model.name,\n\t\t\tapi: model.api,\n\t\t\tprovider: model.provider,\n\t\t\tsource: model.source,\n\t\t\tcontextWindow: model.contextWindow,\n\t\t\tmaxTokens: model.maxTokens,\n\t\t\tcapabilities: {\n\t\t\t\tstreaming: true,\n\t\t\t\ttools: Boolean(model.toolUse),\n\t\t\t\tvision: model.input.includes(\"image\"),\n\t\t\t\treasoning: Boolean(model.reasoning),\n\t\t\t\tlocal: model.isLocal,\n\t\t\t},\n\t\t});\n\t\tproviders.set(model.provider, provider);\n\t}\n\treturn {\n\t\tproviders: Array.from(providers.values()).sort((left, right) =>\n\t\t\tleft.id.localeCompare(right.id),\n\t\t),\n\t};\n}\n\nfunction serverRequestMethod(event: ServerRequestLifecycleEvent) {\n\treturn event.type === \"registered\"\n\t\t? \"runtime.server_request.registered\"\n\t\t: \"runtime.server_request.resolved\";\n}\n\nexport function handleRuntimeAppServerWebSocket(\n\tws: WebSocket,\n\toptions: RuntimeAppServerOptions = {},\n): void {\n\tconst manager = options.serverRequestManager ?? defaultServerRequestManager;\n\tlet sessionId = options.sessionId;\n\tlet bindingSessionId: string | undefined;\n\tlet initialized = false;\n\tconst sentRegisteredRequestIds = new Set<string>();\n\tconst sendServerRequestEvent = (event: ServerRequestLifecycleEvent): void => {\n\t\tif (event.type === \"registered\") {\n\t\t\tsentRegisteredRequestIds.add(event.request.id);\n\t\t}\n\t\tsend(ws, {\n\t\t\tjsonrpc: \"2.0\",\n\t\t\tmethod: serverRequestMethod(event),\n\t\t\tparams: event,\n\t\t});\n\t};\n\tconst replayPendingServerRequests = (): void => {\n\t\tif (!initialized || !sessionId) {\n\t\t\treturn;\n\t\t}\n\t\tfor (const request of manager.listPending({ sessionId })) {\n\t\t\tif (sentRegisteredRequestIds.has(request.id)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tsendServerRequestEvent({\n\t\t\t\ttype: \"registered\",\n\t\t\t\trequest,\n\t\t\t});\n\t\t}\n\t};\n\tconst bindSessionId = async (requestedSessionId: unknown): Promise<void> => {\n\t\tif (typeof requestedSessionId !== \"string\" || !requestedSessionId.trim()) {\n\t\t\treturn;\n\t\t}\n\t\tconst nextSessionId = requestedSessionId.trim();\n\t\tif (sessionId && sessionId !== nextSessionId) {\n\t\t\tthrow new Error(\"Runtime app-server session is already bound\");\n\t\t}\n\t\tif (bindingSessionId && bindingSessionId !== nextSessionId) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Runtime app-server session binding is already in progress\",\n\t\t\t);\n\t\t}\n\t\tbindingSessionId = nextSessionId;\n\t\ttry {\n\t\t\tif (\n\t\t\t\toptions.validateSessionAccess &&\n\t\t\t\t!(await options.validateSessionAccess(nextSessionId))\n\t\t\t) {\n\t\t\t\tthrow new Error(\"Runtime app-server session access denied\");\n\t\t\t}\n\t\t\tif (sessionId && sessionId !== nextSessionId) {\n\t\t\t\tthrow new Error(\"Runtime app-server session is already bound\");\n\t\t\t}\n\t\t\tsessionId = nextSessionId;\n\t\t} finally {\n\t\t\tif (bindingSessionId === nextSessionId) {\n\t\t\t\tbindingSessionId = undefined;\n\t\t\t}\n\t\t}\n\t};\n\tconst unsubscribe = manager.subscribe((event) => {\n\t\tif (!initialized || !sessionId || event.request.sessionId !== sessionId) {\n\t\t\treturn;\n\t\t}\n\t\tsendServerRequestEvent(event);\n\t});\n\n\tws.on(\"message\", async (data) => {\n\t\tlet parsed: unknown;\n\t\ttry {\n\t\t\ttry {\n\t\t\t\tparsed = JSON.parse(String(data));\n\t\t\t} catch {\n\t\t\t\tsend(ws, toErrorResponse(null, -32700, \"Parse error\"));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst request = parseClientRequest(parsed);\n\t\t\tif (request.method === \"runtime.initialize\") {\n\t\t\t\tconst requestedSessionId = isRecord(request.params)\n\t\t\t\t\t? request.params.sessionId\n\t\t\t\t\t: undefined;\n\t\t\t\tawait bindSessionId(requestedSessionId);\n\t\t\t\tconst result = initializeResult();\n\t\t\t\tsend(ws, { jsonrpc: \"2.0\", id: request.id, result });\n\t\t\t\tsend(ws, {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tmethod: \"runtime.initialized\",\n\t\t\t\t\tparams: result,\n\t\t\t\t});\n\t\t\t\tinitialized = true;\n\t\t\t\treplayPendingServerRequests();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (request.method === \"runtime.model_provider_capabilities.read\") {\n\t\t\t\tsend(ws, {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid: request.id,\n\t\t\t\t\tresult: modelProviderCapabilities(),\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsend(ws, { jsonrpc: \"2.0\", id: request.id, result: { ok: true } });\n\t\t} catch (error) {\n\t\t\tconst id =\n\t\t\t\tisRecord(parsed) &&\n\t\t\t\t(typeof parsed.id === \"string\" || typeof parsed.id === \"number\")\n\t\t\t\t\t? parsed.id\n\t\t\t\t\t: null;\n\t\t\tsend(\n\t\t\t\tws,\n\t\t\t\ttoErrorResponse(\n\t\t\t\t\tid,\n\t\t\t\t\terror instanceof Error &&\n\t\t\t\t\t\terror.message === \"Unsupported runtime app-server method\"\n\t\t\t\t\t\t? -32601\n\t\t\t\t\t\t: -32600,\n\t\t\t\t\terror instanceof Error ? error.message : \"Invalid request\",\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t});\n\n\tws.on(\"close\", () => {\n\t\tunsubscribe();\n\t});\n}\n"]}
|
|
@@ -288,6 +288,22 @@ export declare class HeadlessSessionRuntime {
|
|
|
288
288
|
connectionId?: string | null;
|
|
289
289
|
subscriptionId?: string | null;
|
|
290
290
|
}): Promise<void>;
|
|
291
|
+
private handleHello;
|
|
292
|
+
private handleInit;
|
|
293
|
+
private handlePrompt;
|
|
294
|
+
private handleInterrupt;
|
|
295
|
+
private handleToolResponse;
|
|
296
|
+
private handleClientToolResult;
|
|
297
|
+
private handleServerRequestResponse;
|
|
298
|
+
private handleShutdown;
|
|
299
|
+
private handleUtilityCommandStart;
|
|
300
|
+
private handleUtilityCommandTerminate;
|
|
301
|
+
private handleUtilityCommandStdin;
|
|
302
|
+
private handleUtilityCommandResize;
|
|
303
|
+
private handleUtilityFileSearch;
|
|
304
|
+
private handleUtilityFileRead;
|
|
305
|
+
private handleUtilityFileWatchStart;
|
|
306
|
+
private handleUtilityFileWatchStop;
|
|
291
307
|
private runPrompt;
|
|
292
308
|
private publish;
|
|
293
309
|
private publishSnapshot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless-runtime-service.d.ts","sourceRoot":"","sources":["../../src/server/headless-runtime-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"headless-runtime-service.d.ts","sourceRoot":"","sources":["../../src/server/headless-runtime-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ import { createAutomaticMemoryExtractionCoordinator, } from "../memory/auto-extr
|
|
|
16
16
|
import { checkSessionLimits } from "../safety/policy.js";
|
|
17
17
|
import { toSessionModelMetadata } from "../session/manager.js";
|
|
18
18
|
import { createRuntimeSessionSummaryUpdater } from "../session/runtime-summary-updater.js";
|
|
19
|
+
import { isRecord } from "../utils/json.js";
|
|
19
20
|
import { createLogger } from "../utils/logger.js";
|
|
20
21
|
import { sanitizeWithStaticMask } from "../utils/secret-redactor.js";
|
|
21
22
|
import { WebActionApprovalService } from "./approval-service.js";
|
|
@@ -121,9 +122,6 @@ export class HeadlessRuntimeNotReadyError extends Error {
|
|
|
121
122
|
this.name = "HeadlessRuntimeNotReadyError";
|
|
122
123
|
}
|
|
123
124
|
}
|
|
124
|
-
function isRecord(value) {
|
|
125
|
-
return Boolean(value && typeof value === "object" && !Array.isArray(value));
|
|
126
|
-
}
|
|
127
125
|
function restoreFlushStatus(value) {
|
|
128
126
|
switch (value) {
|
|
129
127
|
case "completed":
|
|
@@ -1218,223 +1216,251 @@ export class HeadlessSessionRuntime {
|
|
|
1218
1216
|
}
|
|
1219
1217
|
this.updatedAt = Date.now();
|
|
1220
1218
|
switch (msg.type) {
|
|
1221
|
-
case "hello":
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
this.
|
|
1227
|
-
connectionId: subscriber?.connectionId ?? metadata?.connectionId ?? undefined,
|
|
1228
|
-
clientProtocolVersion: msg.protocol_version,
|
|
1229
|
-
clientInfo: msg.client_info,
|
|
1230
|
-
capabilities: msg.capabilities,
|
|
1231
|
-
optOutNotifications: msg.opt_out_notifications,
|
|
1232
|
-
role: msg.role,
|
|
1233
|
-
});
|
|
1234
|
-
const connection = this.getConnectionById(subscriber?.connectionId ?? metadata?.connectionId ?? undefined) ?? this.getPreferredConnection();
|
|
1235
|
-
if (connection) {
|
|
1236
|
-
this.enqueuePrivateMessage(this.translator.buildHelloOkMessage({
|
|
1237
|
-
connection_id: connection.id,
|
|
1238
|
-
protocol_version: HEADLESS_PROTOCOL_VERSION,
|
|
1239
|
-
client_protocol_version: connection.clientProtocolVersion,
|
|
1240
|
-
client_info: connection.clientInfo,
|
|
1241
|
-
capabilities: connection.capabilities,
|
|
1242
|
-
opt_out_notifications: connection.optOutNotifications
|
|
1243
|
-
? [...connection.optOutNotifications]
|
|
1244
|
-
: undefined,
|
|
1245
|
-
role: connection.role,
|
|
1246
|
-
controller_connection_id: this.controllerConnectionId,
|
|
1247
|
-
lease_expires_at: this.getLeaseExpiryIso(connection),
|
|
1248
|
-
}), metadata);
|
|
1249
|
-
}
|
|
1250
|
-
if (msg.protocol_version &&
|
|
1251
|
-
msg.protocol_version !== HEADLESS_PROTOCOL_VERSION) {
|
|
1252
|
-
this.publish({
|
|
1253
|
-
type: "status",
|
|
1254
|
-
message: `Client protocol ${msg.protocol_version} attached to server ${HEADLESS_PROTOCOL_VERSION}`,
|
|
1255
|
-
});
|
|
1256
|
-
}
|
|
1257
|
-
return;
|
|
1258
|
-
}
|
|
1259
|
-
case "init": {
|
|
1260
|
-
this.lastInit = msg;
|
|
1261
|
-
applyOutgoingHeadlessMessage(this.state, msg);
|
|
1262
|
-
const applied = applyInitMessage(this.agent, msg, this.approvalService);
|
|
1263
|
-
this.publish({
|
|
1264
|
-
type: "status",
|
|
1265
|
-
message: applied.length > 0
|
|
1266
|
-
? `Initialized: ${applied.join(", ")}`
|
|
1267
|
-
: "Init received with no changes",
|
|
1268
|
-
});
|
|
1269
|
-
return;
|
|
1270
|
-
}
|
|
1271
|
-
case "prompt": {
|
|
1272
|
-
if (this.running) {
|
|
1273
|
-
throw new Error("Headless runtime is already processing a prompt");
|
|
1274
|
-
}
|
|
1275
|
-
applyOutgoingHeadlessMessage(this.state, msg);
|
|
1276
|
-
this.running = true;
|
|
1277
|
-
let attachments;
|
|
1278
|
-
if (msg.attachments?.length) {
|
|
1279
|
-
const loaded = await loadPromptAttachments(msg.attachments, (message) => {
|
|
1280
|
-
this.publish({
|
|
1281
|
-
type: "error",
|
|
1282
|
-
message,
|
|
1283
|
-
fatal: false,
|
|
1284
|
-
error_type: "tool",
|
|
1285
|
-
});
|
|
1286
|
-
});
|
|
1287
|
-
if (loaded.length > 0) {
|
|
1288
|
-
attachments = loaded;
|
|
1289
|
-
this.publish({
|
|
1290
|
-
type: "status",
|
|
1291
|
-
message: `Loaded ${loaded.length} attachment(s)`,
|
|
1292
|
-
});
|
|
1293
|
-
}
|
|
1294
|
-
}
|
|
1295
|
-
void this.runPrompt(msg.content, attachments);
|
|
1296
|
-
return;
|
|
1297
|
-
}
|
|
1219
|
+
case "hello":
|
|
1220
|
+
return this.handleHello(msg, metadata);
|
|
1221
|
+
case "init":
|
|
1222
|
+
return this.handleInit(msg);
|
|
1223
|
+
case "prompt":
|
|
1224
|
+
return this.handlePrompt(msg);
|
|
1298
1225
|
case "interrupt":
|
|
1299
1226
|
case "cancel":
|
|
1300
|
-
this.
|
|
1301
|
-
? "Interrupted before request completed"
|
|
1302
|
-
: "Cancelled before request completed");
|
|
1303
|
-
applyOutgoingHeadlessMessage(this.state, msg);
|
|
1304
|
-
await this.utilityCommands.dispose(msg.type === "interrupt"
|
|
1305
|
-
? "Interrupted while utility command was still running"
|
|
1306
|
-
: "Cancelled while utility command was still running");
|
|
1307
|
-
this.fileWatches.dispose(msg.type === "interrupt"
|
|
1308
|
-
? "Interrupted while file watch was still running"
|
|
1309
|
-
: "Cancelled while file watch was still running");
|
|
1310
|
-
this.agent.abort();
|
|
1311
|
-
this.publishSnapshot();
|
|
1312
|
-
return;
|
|
1227
|
+
return this.handleInterrupt(msg);
|
|
1313
1228
|
case "tool_response":
|
|
1314
|
-
this.
|
|
1315
|
-
|
|
1316
|
-
this.
|
|
1317
|
-
return;
|
|
1318
|
-
case "client_tool_result": {
|
|
1319
|
-
this.resolveLegacyClientToolResult(msg);
|
|
1320
|
-
applyOutgoingHeadlessMessage(this.state, msg);
|
|
1321
|
-
this.publishSnapshot();
|
|
1322
|
-
return;
|
|
1323
|
-
}
|
|
1229
|
+
return this.handleToolResponse(msg);
|
|
1230
|
+
case "client_tool_result":
|
|
1231
|
+
return this.handleClientToolResult(msg);
|
|
1324
1232
|
case "server_request_response":
|
|
1325
|
-
this.
|
|
1326
|
-
applyOutgoingHeadlessMessage(this.state, msg);
|
|
1327
|
-
this.publishSnapshot();
|
|
1328
|
-
return;
|
|
1233
|
+
return this.handleServerRequestResponse(msg);
|
|
1329
1234
|
case "shutdown":
|
|
1330
|
-
this.
|
|
1331
|
-
applyOutgoingHeadlessMessage(this.state, msg);
|
|
1332
|
-
await this.utilityCommands.dispose("Headless runtime shutdown while utility command was still running");
|
|
1333
|
-
this.fileWatches.dispose("Headless runtime shutdown while file watch was still running");
|
|
1334
|
-
this.agent.abort();
|
|
1335
|
-
this.publishSnapshot();
|
|
1336
|
-
this.finalizeDisposal();
|
|
1337
|
-
return;
|
|
1235
|
+
return this.handleShutdown(msg);
|
|
1338
1236
|
case "utility_command_start":
|
|
1339
|
-
|
|
1340
|
-
throw new Error("utility_command_start requires command_exec capability");
|
|
1341
|
-
}
|
|
1342
|
-
await this.utilityCommands.start({
|
|
1343
|
-
command_id: msg.command_id,
|
|
1344
|
-
command: msg.command,
|
|
1345
|
-
cwd: msg.cwd,
|
|
1346
|
-
env: msg.env,
|
|
1347
|
-
shell_mode: msg.shell_mode,
|
|
1348
|
-
terminal_mode: msg.terminal_mode,
|
|
1349
|
-
allow_stdin: msg.allow_stdin,
|
|
1350
|
-
columns: msg.columns,
|
|
1351
|
-
rows: msg.rows,
|
|
1352
|
-
owner_connection_id: this.getMessageConnectionId(metadata),
|
|
1353
|
-
});
|
|
1354
|
-
return;
|
|
1237
|
+
return this.handleUtilityCommandStart(msg, metadata);
|
|
1355
1238
|
case "utility_command_terminate":
|
|
1356
|
-
this.
|
|
1357
|
-
await this.utilityCommands.terminate(msg.command_id, msg.force);
|
|
1358
|
-
return;
|
|
1239
|
+
return this.handleUtilityCommandTerminate(msg, metadata);
|
|
1359
1240
|
case "utility_command_stdin":
|
|
1360
|
-
|
|
1361
|
-
throw new Error("utility_command_stdin requires command_exec capability");
|
|
1362
|
-
}
|
|
1363
|
-
this.assertUtilityOwnerAccess(this.utilityCommands.get(msg.command_id)?.owner_connection_id, this.getMessageConnectionId(metadata), "command", msg.command_id);
|
|
1364
|
-
await this.utilityCommands.writeStdin(msg.command_id, msg.content, msg.eof);
|
|
1365
|
-
return;
|
|
1241
|
+
return this.handleUtilityCommandStdin(msg, metadata);
|
|
1366
1242
|
case "utility_command_resize":
|
|
1367
|
-
|
|
1368
|
-
throw new Error("utility_command_resize requires command_exec capability");
|
|
1369
|
-
}
|
|
1370
|
-
this.assertUtilityOwnerAccess(this.utilityCommands.get(msg.command_id)?.owner_connection_id, this.getMessageConnectionId(metadata), "command", msg.command_id);
|
|
1371
|
-
await this.utilityCommands.resize(msg.command_id, msg.columns, msg.rows);
|
|
1372
|
-
return;
|
|
1243
|
+
return this.handleUtilityCommandResize(msg, metadata);
|
|
1373
1244
|
case "utility_file_search":
|
|
1374
|
-
|
|
1375
|
-
throw new Error("utility_file_search requires file_search capability");
|
|
1376
|
-
}
|
|
1377
|
-
{
|
|
1378
|
-
const result = searchWorkspaceFiles({
|
|
1379
|
-
query: msg.query,
|
|
1380
|
-
cwd: msg.cwd,
|
|
1381
|
-
workspaceRoot: this.workspaceRoot,
|
|
1382
|
-
limit: msg.limit,
|
|
1383
|
-
});
|
|
1384
|
-
this.publish({
|
|
1385
|
-
type: "utility_file_search_results",
|
|
1386
|
-
search_id: msg.search_id,
|
|
1387
|
-
query: result.query,
|
|
1388
|
-
cwd: result.cwd,
|
|
1389
|
-
results: result.results,
|
|
1390
|
-
truncated: result.truncated,
|
|
1391
|
-
});
|
|
1392
|
-
}
|
|
1393
|
-
return;
|
|
1245
|
+
return this.handleUtilityFileSearch(msg);
|
|
1394
1246
|
case "utility_file_read":
|
|
1395
|
-
|
|
1396
|
-
throw new Error("utility_file_read requires file_read capability");
|
|
1397
|
-
}
|
|
1398
|
-
{
|
|
1399
|
-
const result = await readWorkspaceFile({
|
|
1400
|
-
path: msg.path,
|
|
1401
|
-
cwd: msg.cwd,
|
|
1402
|
-
workspaceRoot: this.workspaceRoot,
|
|
1403
|
-
offset: msg.offset,
|
|
1404
|
-
limit: msg.limit,
|
|
1405
|
-
});
|
|
1406
|
-
this.publish({
|
|
1407
|
-
type: "utility_file_read_result",
|
|
1408
|
-
read_id: msg.read_id,
|
|
1409
|
-
path: result.path,
|
|
1410
|
-
relative_path: result.relative_path,
|
|
1411
|
-
cwd: result.cwd,
|
|
1412
|
-
content: result.content,
|
|
1413
|
-
start_line: result.start_line,
|
|
1414
|
-
end_line: result.end_line,
|
|
1415
|
-
total_lines: result.total_lines,
|
|
1416
|
-
truncated: result.truncated,
|
|
1417
|
-
});
|
|
1418
|
-
}
|
|
1419
|
-
return;
|
|
1247
|
+
return this.handleUtilityFileRead(msg);
|
|
1420
1248
|
case "utility_file_watch_start":
|
|
1421
|
-
|
|
1422
|
-
throw new Error("utility_file_watch_start requires file_watch capability");
|
|
1423
|
-
}
|
|
1424
|
-
await this.fileWatches.start({
|
|
1425
|
-
watch_id: msg.watch_id,
|
|
1426
|
-
root_dir: msg.root_dir,
|
|
1427
|
-
include_patterns: msg.include_patterns,
|
|
1428
|
-
exclude_patterns: msg.exclude_patterns,
|
|
1429
|
-
debounce_ms: msg.debounce_ms,
|
|
1430
|
-
owner_connection_id: this.getMessageConnectionId(metadata),
|
|
1431
|
-
});
|
|
1432
|
-
return;
|
|
1249
|
+
return this.handleUtilityFileWatchStart(msg, metadata);
|
|
1433
1250
|
case "utility_file_watch_stop":
|
|
1434
|
-
this.
|
|
1435
|
-
|
|
1436
|
-
|
|
1251
|
+
return this.handleUtilityFileWatchStop(msg, metadata);
|
|
1252
|
+
}
|
|
1253
|
+
}
|
|
1254
|
+
async handleHello(msg, metadata) {
|
|
1255
|
+
applyOutgoingHeadlessMessage(this.state, msg);
|
|
1256
|
+
const subscriber = metadata?.subscriptionId
|
|
1257
|
+
? this.subscribers.get(metadata.subscriptionId)
|
|
1258
|
+
: undefined;
|
|
1259
|
+
this.updateConnectionMetadata({
|
|
1260
|
+
connectionId: subscriber?.connectionId ?? metadata?.connectionId ?? undefined,
|
|
1261
|
+
clientProtocolVersion: msg.protocol_version,
|
|
1262
|
+
clientInfo: msg.client_info,
|
|
1263
|
+
capabilities: msg.capabilities,
|
|
1264
|
+
optOutNotifications: msg.opt_out_notifications,
|
|
1265
|
+
role: msg.role,
|
|
1266
|
+
});
|
|
1267
|
+
const connection = this.getConnectionById(subscriber?.connectionId ?? metadata?.connectionId ?? undefined) ?? this.getPreferredConnection();
|
|
1268
|
+
if (connection) {
|
|
1269
|
+
this.enqueuePrivateMessage(this.translator.buildHelloOkMessage({
|
|
1270
|
+
connection_id: connection.id,
|
|
1271
|
+
protocol_version: HEADLESS_PROTOCOL_VERSION,
|
|
1272
|
+
client_protocol_version: connection.clientProtocolVersion,
|
|
1273
|
+
client_info: connection.clientInfo,
|
|
1274
|
+
capabilities: connection.capabilities,
|
|
1275
|
+
opt_out_notifications: connection.optOutNotifications
|
|
1276
|
+
? [...connection.optOutNotifications]
|
|
1277
|
+
: undefined,
|
|
1278
|
+
role: connection.role,
|
|
1279
|
+
controller_connection_id: this.controllerConnectionId,
|
|
1280
|
+
lease_expires_at: this.getLeaseExpiryIso(connection),
|
|
1281
|
+
}), metadata);
|
|
1282
|
+
}
|
|
1283
|
+
if (msg.protocol_version &&
|
|
1284
|
+
msg.protocol_version !== HEADLESS_PROTOCOL_VERSION) {
|
|
1285
|
+
this.publish({
|
|
1286
|
+
type: "status",
|
|
1287
|
+
message: `Client protocol ${msg.protocol_version} attached to server ${HEADLESS_PROTOCOL_VERSION}`,
|
|
1288
|
+
});
|
|
1289
|
+
}
|
|
1290
|
+
}
|
|
1291
|
+
async handleInit(msg) {
|
|
1292
|
+
this.lastInit = msg;
|
|
1293
|
+
applyOutgoingHeadlessMessage(this.state, msg);
|
|
1294
|
+
const applied = applyInitMessage(this.agent, msg, this.approvalService);
|
|
1295
|
+
this.publish({
|
|
1296
|
+
type: "status",
|
|
1297
|
+
message: applied.length > 0
|
|
1298
|
+
? `Initialized: ${applied.join(", ")}`
|
|
1299
|
+
: "Init received with no changes",
|
|
1300
|
+
});
|
|
1301
|
+
}
|
|
1302
|
+
async handlePrompt(msg) {
|
|
1303
|
+
if (this.running) {
|
|
1304
|
+
throw new Error("Headless runtime is already processing a prompt");
|
|
1305
|
+
}
|
|
1306
|
+
applyOutgoingHeadlessMessage(this.state, msg);
|
|
1307
|
+
this.running = true;
|
|
1308
|
+
let attachments;
|
|
1309
|
+
if (msg.attachments?.length) {
|
|
1310
|
+
const loaded = await loadPromptAttachments(msg.attachments, (message) => {
|
|
1311
|
+
this.publish({
|
|
1312
|
+
type: "error",
|
|
1313
|
+
message,
|
|
1314
|
+
fatal: false,
|
|
1315
|
+
error_type: "tool",
|
|
1316
|
+
});
|
|
1317
|
+
});
|
|
1318
|
+
if (loaded.length > 0) {
|
|
1319
|
+
attachments = loaded;
|
|
1320
|
+
this.publish({
|
|
1321
|
+
type: "status",
|
|
1322
|
+
message: `Loaded ${loaded.length} attachment(s)`,
|
|
1323
|
+
});
|
|
1324
|
+
}
|
|
1437
1325
|
}
|
|
1326
|
+
void this.runPrompt(msg.content, attachments);
|
|
1327
|
+
}
|
|
1328
|
+
async handleInterrupt(msg) {
|
|
1329
|
+
this.cancelPendingServerRequests(msg.type === "interrupt"
|
|
1330
|
+
? "Interrupted before request completed"
|
|
1331
|
+
: "Cancelled before request completed");
|
|
1332
|
+
applyOutgoingHeadlessMessage(this.state, msg);
|
|
1333
|
+
await this.utilityCommands.dispose(msg.type === "interrupt"
|
|
1334
|
+
? "Interrupted while utility command was still running"
|
|
1335
|
+
: "Cancelled while utility command was still running");
|
|
1336
|
+
this.fileWatches.dispose(msg.type === "interrupt"
|
|
1337
|
+
? "Interrupted while file watch was still running"
|
|
1338
|
+
: "Cancelled while file watch was still running");
|
|
1339
|
+
this.agent.abort();
|
|
1340
|
+
this.publishSnapshot();
|
|
1341
|
+
}
|
|
1342
|
+
async handleToolResponse(msg) {
|
|
1343
|
+
this.resolveLegacyToolResponse(msg);
|
|
1344
|
+
applyOutgoingHeadlessMessage(this.state, msg);
|
|
1345
|
+
this.publishSnapshot();
|
|
1346
|
+
}
|
|
1347
|
+
async handleClientToolResult(msg) {
|
|
1348
|
+
this.resolveLegacyClientToolResult(msg);
|
|
1349
|
+
applyOutgoingHeadlessMessage(this.state, msg);
|
|
1350
|
+
this.publishSnapshot();
|
|
1351
|
+
}
|
|
1352
|
+
async handleServerRequestResponse(msg) {
|
|
1353
|
+
this.resolveServerRequestResponse(msg);
|
|
1354
|
+
applyOutgoingHeadlessMessage(this.state, msg);
|
|
1355
|
+
this.publishSnapshot();
|
|
1356
|
+
}
|
|
1357
|
+
async handleShutdown(msg) {
|
|
1358
|
+
this.cancelPendingServerRequests("Shutdown before request completed");
|
|
1359
|
+
applyOutgoingHeadlessMessage(this.state, msg);
|
|
1360
|
+
await this.utilityCommands.dispose("Headless runtime shutdown while utility command was still running");
|
|
1361
|
+
this.fileWatches.dispose("Headless runtime shutdown while file watch was still running");
|
|
1362
|
+
this.agent.abort();
|
|
1363
|
+
this.publishSnapshot();
|
|
1364
|
+
this.finalizeDisposal();
|
|
1365
|
+
}
|
|
1366
|
+
async handleUtilityCommandStart(msg, metadata) {
|
|
1367
|
+
if (!this.state.capabilities?.utility_operations?.includes("command_exec")) {
|
|
1368
|
+
throw new Error("utility_command_start requires command_exec capability");
|
|
1369
|
+
}
|
|
1370
|
+
await this.utilityCommands.start({
|
|
1371
|
+
command_id: msg.command_id,
|
|
1372
|
+
command: msg.command,
|
|
1373
|
+
cwd: msg.cwd,
|
|
1374
|
+
env: msg.env,
|
|
1375
|
+
shell_mode: msg.shell_mode,
|
|
1376
|
+
terminal_mode: msg.terminal_mode,
|
|
1377
|
+
allow_stdin: msg.allow_stdin,
|
|
1378
|
+
columns: msg.columns,
|
|
1379
|
+
rows: msg.rows,
|
|
1380
|
+
owner_connection_id: this.getMessageConnectionId(metadata),
|
|
1381
|
+
});
|
|
1382
|
+
}
|
|
1383
|
+
async handleUtilityCommandTerminate(msg, metadata) {
|
|
1384
|
+
this.assertUtilityOwnerAccess(this.utilityCommands.get(msg.command_id)?.owner_connection_id, this.getMessageConnectionId(metadata), "command", msg.command_id);
|
|
1385
|
+
await this.utilityCommands.terminate(msg.command_id, msg.force);
|
|
1386
|
+
}
|
|
1387
|
+
async handleUtilityCommandStdin(msg, metadata) {
|
|
1388
|
+
if (!this.state.capabilities?.utility_operations?.includes("command_exec")) {
|
|
1389
|
+
throw new Error("utility_command_stdin requires command_exec capability");
|
|
1390
|
+
}
|
|
1391
|
+
this.assertUtilityOwnerAccess(this.utilityCommands.get(msg.command_id)?.owner_connection_id, this.getMessageConnectionId(metadata), "command", msg.command_id);
|
|
1392
|
+
await this.utilityCommands.writeStdin(msg.command_id, msg.content, msg.eof);
|
|
1393
|
+
}
|
|
1394
|
+
async handleUtilityCommandResize(msg, metadata) {
|
|
1395
|
+
if (!this.state.capabilities?.utility_operations?.includes("command_exec")) {
|
|
1396
|
+
throw new Error("utility_command_resize requires command_exec capability");
|
|
1397
|
+
}
|
|
1398
|
+
this.assertUtilityOwnerAccess(this.utilityCommands.get(msg.command_id)?.owner_connection_id, this.getMessageConnectionId(metadata), "command", msg.command_id);
|
|
1399
|
+
await this.utilityCommands.resize(msg.command_id, msg.columns, msg.rows);
|
|
1400
|
+
}
|
|
1401
|
+
async handleUtilityFileSearch(msg) {
|
|
1402
|
+
if (!this.state.capabilities?.utility_operations?.includes("file_search")) {
|
|
1403
|
+
throw new Error("utility_file_search requires file_search capability");
|
|
1404
|
+
}
|
|
1405
|
+
{
|
|
1406
|
+
const result = searchWorkspaceFiles({
|
|
1407
|
+
query: msg.query,
|
|
1408
|
+
cwd: msg.cwd,
|
|
1409
|
+
workspaceRoot: this.workspaceRoot,
|
|
1410
|
+
limit: msg.limit,
|
|
1411
|
+
});
|
|
1412
|
+
this.publish({
|
|
1413
|
+
type: "utility_file_search_results",
|
|
1414
|
+
search_id: msg.search_id,
|
|
1415
|
+
query: result.query,
|
|
1416
|
+
cwd: result.cwd,
|
|
1417
|
+
results: result.results,
|
|
1418
|
+
truncated: result.truncated,
|
|
1419
|
+
});
|
|
1420
|
+
}
|
|
1421
|
+
}
|
|
1422
|
+
async handleUtilityFileRead(msg) {
|
|
1423
|
+
if (!this.state.capabilities?.utility_operations?.includes("file_read")) {
|
|
1424
|
+
throw new Error("utility_file_read requires file_read capability");
|
|
1425
|
+
}
|
|
1426
|
+
{
|
|
1427
|
+
const result = await readWorkspaceFile({
|
|
1428
|
+
path: msg.path,
|
|
1429
|
+
cwd: msg.cwd,
|
|
1430
|
+
workspaceRoot: this.workspaceRoot,
|
|
1431
|
+
offset: msg.offset,
|
|
1432
|
+
limit: msg.limit,
|
|
1433
|
+
});
|
|
1434
|
+
this.publish({
|
|
1435
|
+
type: "utility_file_read_result",
|
|
1436
|
+
read_id: msg.read_id,
|
|
1437
|
+
path: result.path,
|
|
1438
|
+
relative_path: result.relative_path,
|
|
1439
|
+
cwd: result.cwd,
|
|
1440
|
+
content: result.content,
|
|
1441
|
+
start_line: result.start_line,
|
|
1442
|
+
end_line: result.end_line,
|
|
1443
|
+
total_lines: result.total_lines,
|
|
1444
|
+
truncated: result.truncated,
|
|
1445
|
+
});
|
|
1446
|
+
}
|
|
1447
|
+
}
|
|
1448
|
+
async handleUtilityFileWatchStart(msg, metadata) {
|
|
1449
|
+
if (!this.state.capabilities?.utility_operations?.includes("file_watch")) {
|
|
1450
|
+
throw new Error("utility_file_watch_start requires file_watch capability");
|
|
1451
|
+
}
|
|
1452
|
+
await this.fileWatches.start({
|
|
1453
|
+
watch_id: msg.watch_id,
|
|
1454
|
+
root_dir: msg.root_dir,
|
|
1455
|
+
include_patterns: msg.include_patterns,
|
|
1456
|
+
exclude_patterns: msg.exclude_patterns,
|
|
1457
|
+
debounce_ms: msg.debounce_ms,
|
|
1458
|
+
owner_connection_id: this.getMessageConnectionId(metadata),
|
|
1459
|
+
});
|
|
1460
|
+
}
|
|
1461
|
+
async handleUtilityFileWatchStop(msg, metadata) {
|
|
1462
|
+
this.assertUtilityOwnerAccess(this.fileWatches.get(msg.watch_id)?.owner_connection_id, this.getMessageConnectionId(metadata), "file watch", msg.watch_id);
|
|
1463
|
+
this.fileWatches.stop(msg.watch_id, "Stopped by controller");
|
|
1438
1464
|
}
|
|
1439
1465
|
async runPrompt(content, attachments) {
|
|
1440
1466
|
try {
|