@stigmer/runner 3.0.1
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 +212 -0
- package/dist/.build-fingerprint +1 -0
- package/dist/activities/call-agent-status.d.ts +37 -0
- package/dist/activities/call-agent-status.js +91 -0
- package/dist/activities/call-agent-status.js.map +1 -0
- package/dist/activities/call-agent.d.ts +25 -0
- package/dist/activities/call-agent.js +233 -0
- package/dist/activities/call-agent.js.map +1 -0
- package/dist/activities/call-eval.d.ts +50 -0
- package/dist/activities/call-eval.js +244 -0
- package/dist/activities/call-eval.js.map +1 -0
- package/dist/activities/call-function.d.ts +21 -0
- package/dist/activities/call-function.js +54 -0
- package/dist/activities/call-function.js.map +1 -0
- package/dist/activities/call-grpc.d.ts +22 -0
- package/dist/activities/call-grpc.js +101 -0
- package/dist/activities/call-grpc.js.map +1 -0
- package/dist/activities/call-http.d.ts +32 -0
- package/dist/activities/call-http.js +134 -0
- package/dist/activities/call-http.js.map +1 -0
- package/dist/activities/call-llm.d.ts +39 -0
- package/dist/activities/call-llm.js +260 -0
- package/dist/activities/call-llm.js.map +1 -0
- package/dist/activities/call-transform.d.ts +20 -0
- package/dist/activities/call-transform.js +33 -0
- package/dist/activities/call-transform.js.map +1 -0
- package/dist/activities/call-validate.d.ts +41 -0
- package/dist/activities/call-validate.js +163 -0
- package/dist/activities/call-validate.js.map +1 -0
- package/dist/activities/classify-tool-approvals.d.ts +47 -0
- package/dist/activities/classify-tool-approvals.js +207 -0
- package/dist/activities/classify-tool-approvals.js.map +1 -0
- package/dist/activities/discover-mcp-server.d.ts +65 -0
- package/dist/activities/discover-mcp-server.js +269 -0
- package/dist/activities/discover-mcp-server.js.map +1 -0
- package/dist/activities/emit-event.d.ts +46 -0
- package/dist/activities/emit-event.js +125 -0
- package/dist/activities/emit-event.js.map +1 -0
- package/dist/activities/ensure-thread.d.ts +24 -0
- package/dist/activities/ensure-thread.js +44 -0
- package/dist/activities/ensure-thread.js.map +1 -0
- package/dist/activities/evaluate-expressions.d.ts +21 -0
- package/dist/activities/evaluate-expressions.js +39 -0
- package/dist/activities/evaluate-expressions.js.map +1 -0
- package/dist/activities/execute-cursor/approval-policy.d.ts +104 -0
- package/dist/activities/execute-cursor/approval-policy.js +193 -0
- package/dist/activities/execute-cursor/approval-policy.js.map +1 -0
- package/dist/activities/execute-cursor/approval-state.d.ts +157 -0
- package/dist/activities/execute-cursor/approval-state.js +223 -0
- package/dist/activities/execute-cursor/approval-state.js.map +1 -0
- package/dist/activities/execute-cursor/attachment-resolver.d.ts +19 -0
- package/dist/activities/execute-cursor/attachment-resolver.js +52 -0
- package/dist/activities/execute-cursor/attachment-resolver.js.map +1 -0
- package/dist/activities/execute-cursor/blueprint-resolver.d.ts +66 -0
- package/dist/activities/execute-cursor/blueprint-resolver.js +169 -0
- package/dist/activities/execute-cursor/blueprint-resolver.js.map +1 -0
- package/dist/activities/execute-cursor/connect-backfill.d.ts +18 -0
- package/dist/activities/execute-cursor/connect-backfill.js +27 -0
- package/dist/activities/execute-cursor/connect-backfill.js.map +1 -0
- package/dist/activities/execute-cursor/cursor-event-recorder.d.ts +24 -0
- package/dist/activities/execute-cursor/cursor-event-recorder.js +66 -0
- package/dist/activities/execute-cursor/cursor-event-recorder.js.map +1 -0
- package/dist/activities/execute-cursor/cursor-mode.d.ts +32 -0
- package/dist/activities/execute-cursor/cursor-mode.js +36 -0
- package/dist/activities/execute-cursor/cursor-mode.js.map +1 -0
- package/dist/activities/execute-cursor/delta-enricher.d.ts +87 -0
- package/dist/activities/execute-cursor/delta-enricher.js +265 -0
- package/dist/activities/execute-cursor/delta-enricher.js.map +1 -0
- package/dist/activities/execute-cursor/env-resolver.d.ts +19 -0
- package/dist/activities/execute-cursor/env-resolver.js +47 -0
- package/dist/activities/execute-cursor/env-resolver.js.map +1 -0
- package/dist/activities/execute-cursor/error-classifier.d.ts +73 -0
- package/dist/activities/execute-cursor/error-classifier.js +185 -0
- package/dist/activities/execute-cursor/error-classifier.js.map +1 -0
- package/dist/activities/execute-cursor/fetch-interceptor.d.ts +59 -0
- package/dist/activities/execute-cursor/fetch-interceptor.js +317 -0
- package/dist/activities/execute-cursor/fetch-interceptor.js.map +1 -0
- package/dist/activities/execute-cursor/hitl-diagnostics.d.ts +32 -0
- package/dist/activities/execute-cursor/hitl-diagnostics.js +73 -0
- package/dist/activities/execute-cursor/hitl-diagnostics.js.map +1 -0
- package/dist/activities/execute-cursor/hook-script.d.ts +47 -0
- package/dist/activities/execute-cursor/hook-script.js +156 -0
- package/dist/activities/execute-cursor/hook-script.js.map +1 -0
- package/dist/activities/execute-cursor/http2-interceptor.d.ts +94 -0
- package/dist/activities/execute-cursor/http2-interceptor.js +209 -0
- package/dist/activities/execute-cursor/http2-interceptor.js.map +1 -0
- package/dist/activities/execute-cursor/index.d.ts +67 -0
- package/dist/activities/execute-cursor/index.js +1176 -0
- package/dist/activities/execute-cursor/index.js.map +1 -0
- package/dist/activities/execute-cursor/mcp-config.d.ts +30 -0
- package/dist/activities/execute-cursor/mcp-config.js +39 -0
- package/dist/activities/execute-cursor/mcp-config.js.map +1 -0
- package/dist/activities/execute-cursor/mcp-resolver.d.ts +91 -0
- package/dist/activities/execute-cursor/mcp-resolver.js +178 -0
- package/dist/activities/execute-cursor/mcp-resolver.js.map +1 -0
- package/dist/activities/execute-cursor/message-translator.d.ts +211 -0
- package/dist/activities/execute-cursor/message-translator.js +786 -0
- package/dist/activities/execute-cursor/message-translator.js.map +1 -0
- package/dist/activities/execute-cursor/model-pricing-data.d.ts +40 -0
- package/dist/activities/execute-cursor/model-pricing-data.js +114 -0
- package/dist/activities/execute-cursor/model-pricing-data.js.map +1 -0
- package/dist/activities/execute-cursor/model-pricing.d.ts +42 -0
- package/dist/activities/execute-cursor/model-pricing.js +141 -0
- package/dist/activities/execute-cursor/model-pricing.js.map +1 -0
- package/dist/activities/execute-cursor/placeholder-resolver.d.ts +34 -0
- package/dist/activities/execute-cursor/placeholder-resolver.js +82 -0
- package/dist/activities/execute-cursor/placeholder-resolver.js.map +1 -0
- package/dist/activities/execute-cursor/prompt-builder.d.ts +80 -0
- package/dist/activities/execute-cursor/prompt-builder.js +280 -0
- package/dist/activities/execute-cursor/prompt-builder.js.map +1 -0
- package/dist/activities/execute-cursor/rejection-capture.d.ts +30 -0
- package/dist/activities/execute-cursor/rejection-capture.js +80 -0
- package/dist/activities/execute-cursor/rejection-capture.js.map +1 -0
- package/dist/activities/execute-cursor/session-lifecycle.d.ts +189 -0
- package/dist/activities/execute-cursor/session-lifecycle.js +285 -0
- package/dist/activities/execute-cursor/session-lifecycle.js.map +1 -0
- package/dist/activities/execute-cursor/skill-resolver.d.ts +29 -0
- package/dist/activities/execute-cursor/skill-resolver.js +134 -0
- package/dist/activities/execute-cursor/skill-resolver.js.map +1 -0
- package/dist/activities/execute-cursor/subagent-config.d.ts +34 -0
- package/dist/activities/execute-cursor/subagent-config.js +55 -0
- package/dist/activities/execute-cursor/subagent-config.js.map +1 -0
- package/dist/activities/execute-cursor/todo-tracker.d.ts +35 -0
- package/dist/activities/execute-cursor/todo-tracker.js +108 -0
- package/dist/activities/execute-cursor/todo-tracker.js.map +1 -0
- package/dist/activities/execute-cursor/usage-accumulator.d.ts +55 -0
- package/dist/activities/execute-cursor/usage-accumulator.js +89 -0
- package/dist/activities/execute-cursor/usage-accumulator.js.map +1 -0
- package/dist/activities/execute-cursor/workspace-provision.d.ts +22 -0
- package/dist/activities/execute-cursor/workspace-provision.js +37 -0
- package/dist/activities/execute-cursor/workspace-provision.js.map +1 -0
- package/dist/activities/execute-cursor/workspace-setup.d.ts +27 -0
- package/dist/activities/execute-cursor/workspace-setup.js +61 -0
- package/dist/activities/execute-cursor/workspace-setup.js.map +1 -0
- package/dist/activities/execute-deep-agent/__test-utils__/v3-event-fixtures.d.ts +71 -0
- package/dist/activities/execute-deep-agent/__test-utils__/v3-event-fixtures.js +182 -0
- package/dist/activities/execute-deep-agent/__test-utils__/v3-event-fixtures.js.map +1 -0
- package/dist/activities/execute-deep-agent/attachment-injector.d.ts +67 -0
- package/dist/activities/execute-deep-agent/attachment-injector.js +306 -0
- package/dist/activities/execute-deep-agent/attachment-injector.js.map +1 -0
- package/dist/activities/execute-deep-agent/auto-publish.d.ts +17 -0
- package/dist/activities/execute-deep-agent/auto-publish.js +71 -0
- package/dist/activities/execute-deep-agent/auto-publish.js.map +1 -0
- package/dist/activities/execute-deep-agent/environment.d.ts +24 -0
- package/dist/activities/execute-deep-agent/environment.js +50 -0
- package/dist/activities/execute-deep-agent/environment.js.map +1 -0
- package/dist/activities/execute-deep-agent/event-recorder.d.ts +21 -0
- package/dist/activities/execute-deep-agent/event-recorder.js +67 -0
- package/dist/activities/execute-deep-agent/event-recorder.js.map +1 -0
- package/dist/activities/execute-deep-agent/execution-state.d.ts +61 -0
- package/dist/activities/execute-deep-agent/execution-state.js +76 -0
- package/dist/activities/execute-deep-agent/execution-state.js.map +1 -0
- package/dist/activities/execute-deep-agent/execution-status-writer.d.ts +17 -0
- package/dist/activities/execute-deep-agent/execution-status-writer.js +9 -0
- package/dist/activities/execute-deep-agent/execution-status-writer.js.map +1 -0
- package/dist/activities/execute-deep-agent/hitl.d.ts +58 -0
- package/dist/activities/execute-deep-agent/hitl.js +155 -0
- package/dist/activities/execute-deep-agent/hitl.js.map +1 -0
- package/dist/activities/execute-deep-agent/index.d.ts +14 -0
- package/dist/activities/execute-deep-agent/index.js +286 -0
- package/dist/activities/execute-deep-agent/index.js.map +1 -0
- package/dist/activities/execute-deep-agent/inline-publisher.d.ts +36 -0
- package/dist/activities/execute-deep-agent/inline-publisher.js +105 -0
- package/dist/activities/execute-deep-agent/inline-publisher.js.map +1 -0
- package/dist/activities/execute-deep-agent/post-stream.d.ts +23 -0
- package/dist/activities/execute-deep-agent/post-stream.js +71 -0
- package/dist/activities/execute-deep-agent/post-stream.js.map +1 -0
- package/dist/activities/execute-deep-agent/prompt-builder.d.ts +27 -0
- package/dist/activities/execute-deep-agent/prompt-builder.js +200 -0
- package/dist/activities/execute-deep-agent/prompt-builder.js.map +1 -0
- package/dist/activities/execute-deep-agent/setup.d.ts +55 -0
- package/dist/activities/execute-deep-agent/setup.js +411 -0
- package/dist/activities/execute-deep-agent/setup.js.map +1 -0
- package/dist/activities/execute-deep-agent/status-builder-shared.d.ts +39 -0
- package/dist/activities/execute-deep-agent/status-builder-shared.js +120 -0
- package/dist/activities/execute-deep-agent/status-builder-shared.js.map +1 -0
- package/dist/activities/execute-deep-agent/status-builder.d.ts +81 -0
- package/dist/activities/execute-deep-agent/status-builder.js +312 -0
- package/dist/activities/execute-deep-agent/status-builder.js.map +1 -0
- package/dist/activities/execute-deep-agent/streaming-scheduler.d.ts +60 -0
- package/dist/activities/execute-deep-agent/streaming-scheduler.js +114 -0
- package/dist/activities/execute-deep-agent/streaming-scheduler.js.map +1 -0
- package/dist/activities/execute-deep-agent/streaming-side-effects.d.ts +22 -0
- package/dist/activities/execute-deep-agent/streaming-side-effects.js +83 -0
- package/dist/activities/execute-deep-agent/streaming-side-effects.js.map +1 -0
- package/dist/activities/execute-deep-agent/streaming-terminal.d.ts +12 -0
- package/dist/activities/execute-deep-agent/streaming-terminal.js +71 -0
- package/dist/activities/execute-deep-agent/streaming-terminal.js.map +1 -0
- package/dist/activities/execute-deep-agent/streaming-v3.d.ts +13 -0
- package/dist/activities/execute-deep-agent/streaming-v3.js +170 -0
- package/dist/activities/execute-deep-agent/streaming-v3.js.map +1 -0
- package/dist/activities/execute-deep-agent/streaming.d.ts +66 -0
- package/dist/activities/execute-deep-agent/streaming.js +169 -0
- package/dist/activities/execute-deep-agent/streaming.js.map +1 -0
- package/dist/activities/execute-deep-agent/subagent-tracker.d.ts +90 -0
- package/dist/activities/execute-deep-agent/subagent-tracker.js +364 -0
- package/dist/activities/execute-deep-agent/subagent-tracker.js.map +1 -0
- package/dist/activities/execute-deep-agent/subagent-transformer.d.ts +150 -0
- package/dist/activities/execute-deep-agent/subagent-transformer.js +450 -0
- package/dist/activities/execute-deep-agent/subagent-transformer.js.map +1 -0
- package/dist/activities/execute-deep-agent/subagent-wiring.d.ts +28 -0
- package/dist/activities/execute-deep-agent/subagent-wiring.js +40 -0
- package/dist/activities/execute-deep-agent/subagent-wiring.js.map +1 -0
- package/dist/activities/execute-deep-agent/v3-event-recorder.d.ts +31 -0
- package/dist/activities/execute-deep-agent/v3-event-recorder.js +71 -0
- package/dist/activities/execute-deep-agent/v3-event-recorder.js.map +1 -0
- package/dist/activities/execute-deep-agent/v3-events.d.ts +102 -0
- package/dist/activities/execute-deep-agent/v3-events.js +35 -0
- package/dist/activities/execute-deep-agent/v3-events.js.map +1 -0
- package/dist/activities/execute-deep-agent/v3-protocol-normalizer.d.ts +15 -0
- package/dist/activities/execute-deep-agent/v3-protocol-normalizer.js +235 -0
- package/dist/activities/execute-deep-agent/v3-protocol-normalizer.js.map +1 -0
- package/dist/activities/execute-deep-agent/v3-status-builder.d.ts +68 -0
- package/dist/activities/execute-deep-agent/v3-status-builder.js +394 -0
- package/dist/activities/execute-deep-agent/v3-status-builder.js.map +1 -0
- package/dist/activities/execute-deep-agent/writeback-coordinator.d.ts +71 -0
- package/dist/activities/execute-deep-agent/writeback-coordinator.js +295 -0
- package/dist/activities/execute-deep-agent/writeback-coordinator.js.map +1 -0
- package/dist/activities/hydrate-workflow-execution.d.ts +32 -0
- package/dist/activities/hydrate-workflow-execution.js +212 -0
- package/dist/activities/hydrate-workflow-execution.js.map +1 -0
- package/dist/activities/notification.d.ts +19 -0
- package/dist/activities/notification.js +47 -0
- package/dist/activities/notification.js.map +1 -0
- package/dist/activities/promote-task-output.d.ts +38 -0
- package/dist/activities/promote-task-output.js +90 -0
- package/dist/activities/promote-task-output.js.map +1 -0
- package/dist/activities/run-command.d.ts +15 -0
- package/dist/activities/run-command.js +123 -0
- package/dist/activities/run-command.js.map +1 -0
- package/dist/activities/workflow-event-activities.d.ts +48 -0
- package/dist/activities/workflow-event-activities.js +415 -0
- package/dist/activities/workflow-event-activities.js.map +1 -0
- package/dist/bootstrap.d.ts +80 -0
- package/dist/bootstrap.js +114 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/budget/index.d.ts +1 -0
- package/dist/budget/index.js +2 -0
- package/dist/budget/index.js.map +1 -0
- package/dist/budget/tracker.d.ts +52 -0
- package/dist/budget/tracker.js +123 -0
- package/dist/budget/tracker.js.map +1 -0
- package/dist/claimcheck/compressor.d.ts +2 -0
- package/dist/claimcheck/compressor.js +8 -0
- package/dist/claimcheck/compressor.js.map +1 -0
- package/dist/claimcheck/config.d.ts +7 -0
- package/dist/claimcheck/config.js +10 -0
- package/dist/claimcheck/config.js.map +1 -0
- package/dist/claimcheck/index.d.ts +3 -0
- package/dist/claimcheck/index.js +4 -0
- package/dist/claimcheck/index.js.map +1 -0
- package/dist/claimcheck/payload-codec.d.ts +23 -0
- package/dist/claimcheck/payload-codec.js +81 -0
- package/dist/claimcheck/payload-codec.js.map +1 -0
- package/dist/client/server-contracts.d.ts +52 -0
- package/dist/client/server-contracts.js +72 -0
- package/dist/client/server-contracts.js.map +1 -0
- package/dist/client/stigmer-client.d.ts +131 -0
- package/dist/client/stigmer-client.js +239 -0
- package/dist/client/stigmer-client.js.map +1 -0
- package/dist/config.d.ts +64 -0
- package/dist/config.js +123 -0
- package/dist/config.js.map +1 -0
- package/dist/idle-watchdog.d.ts +11 -0
- package/dist/idle-watchdog.js +24 -0
- package/dist/idle-watchdog.js.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.js +42 -0
- package/dist/index.js.map +1 -0
- package/dist/interceptors/workflow-metrics-sink.d.ts +11 -0
- package/dist/interceptors/workflow-metrics-sink.js +51 -0
- package/dist/interceptors/workflow-metrics-sink.js.map +1 -0
- package/dist/ipc-protocol-fixtures.d.ts +32 -0
- package/dist/ipc-protocol-fixtures.js +69 -0
- package/dist/ipc-protocol-fixtures.js.map +1 -0
- package/dist/ipc-protocol.d.ts +60 -0
- package/dist/ipc-protocol.js +19 -0
- package/dist/ipc-protocol.js.map +1 -0
- package/dist/main.d.ts +19 -0
- package/dist/main.js +292 -0
- package/dist/main.js.map +1 -0
- package/dist/middleware/approval-gate.d.ts +30 -0
- package/dist/middleware/approval-gate.js +125 -0
- package/dist/middleware/approval-gate.js.map +1 -0
- package/dist/middleware/cost-cap.d.ts +22 -0
- package/dist/middleware/cost-cap.js +159 -0
- package/dist/middleware/cost-cap.js.map +1 -0
- package/dist/middleware/error-hints.d.ts +27 -0
- package/dist/middleware/error-hints.js +116 -0
- package/dist/middleware/error-hints.js.map +1 -0
- package/dist/middleware/execution-budget.d.ts +20 -0
- package/dist/middleware/execution-budget.js +151 -0
- package/dist/middleware/execution-budget.js.map +1 -0
- package/dist/middleware/graceful-stop.d.ts +17 -0
- package/dist/middleware/graceful-stop.js +63 -0
- package/dist/middleware/graceful-stop.js.map +1 -0
- package/dist/middleware/index.d.ts +27 -0
- package/dist/middleware/index.js +45 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/loop-detection.d.ts +14 -0
- package/dist/middleware/loop-detection.js +156 -0
- package/dist/middleware/loop-detection.js.map +1 -0
- package/dist/middleware/otel-spans.d.ts +11 -0
- package/dist/middleware/otel-spans.js +177 -0
- package/dist/middleware/otel-spans.js.map +1 -0
- package/dist/middleware/think-tool.d.ts +23 -0
- package/dist/middleware/think-tool.js +33 -0
- package/dist/middleware/think-tool.js.map +1 -0
- package/dist/middleware/tool-truncation.d.ts +16 -0
- package/dist/middleware/tool-truncation.js +67 -0
- package/dist/middleware/tool-truncation.js.map +1 -0
- package/dist/middleware/types.d.ts +100 -0
- package/dist/middleware/types.js +9 -0
- package/dist/middleware/types.js.map +1 -0
- package/dist/notification/index.d.ts +2 -0
- package/dist/notification/index.js +6 -0
- package/dist/notification/index.js.map +1 -0
- package/dist/notification/provider.d.ts +29 -0
- package/dist/notification/provider.js +25 -0
- package/dist/notification/provider.js.map +1 -0
- package/dist/notification/webhook.d.ts +13 -0
- package/dist/notification/webhook.js +55 -0
- package/dist/notification/webhook.js.map +1 -0
- package/dist/otel-metrics.d.ts +21 -0
- package/dist/otel-metrics.js +54 -0
- package/dist/otel-metrics.js.map +1 -0
- package/dist/otel.d.ts +57 -0
- package/dist/otel.js +164 -0
- package/dist/otel.js.map +1 -0
- package/dist/runner-manager.d.ts +113 -0
- package/dist/runner-manager.js +412 -0
- package/dist/runner-manager.js.map +1 -0
- package/dist/runner-token-coordinator.d.ts +56 -0
- package/dist/runner-token-coordinator.js +84 -0
- package/dist/runner-token-coordinator.js.map +1 -0
- package/dist/runner.d.ts +104 -0
- package/dist/runner.js +234 -0
- package/dist/runner.js.map +1 -0
- package/dist/shared/approval-policy.d.ts +45 -0
- package/dist/shared/approval-policy.js +122 -0
- package/dist/shared/approval-policy.js.map +1 -0
- package/dist/shared/artifact-storage.d.ts +44 -0
- package/dist/shared/artifact-storage.js +162 -0
- package/dist/shared/artifact-storage.js.map +1 -0
- package/dist/shared/checkpointer/factory.d.ts +28 -0
- package/dist/shared/checkpointer/factory.js +55 -0
- package/dist/shared/checkpointer/factory.js.map +1 -0
- package/dist/shared/checkpointer/http-saver.d.ts +34 -0
- package/dist/shared/checkpointer/http-saver.js +274 -0
- package/dist/shared/checkpointer/http-saver.js.map +1 -0
- package/dist/shared/checkpointer/types.d.ts +12 -0
- package/dist/shared/checkpointer/types.js +2 -0
- package/dist/shared/checkpointer/types.js.map +1 -0
- package/dist/shared/connect-backfill.d.ts +58 -0
- package/dist/shared/connect-backfill.js +119 -0
- package/dist/shared/connect-backfill.js.map +1 -0
- package/dist/shared/extract-json.d.ts +26 -0
- package/dist/shared/extract-json.js +140 -0
- package/dist/shared/extract-json.js.map +1 -0
- package/dist/shared/grpc-retry.d.ts +35 -0
- package/dist/shared/grpc-retry.js +78 -0
- package/dist/shared/grpc-retry.js.map +1 -0
- package/dist/shared/heartbeat.d.ts +22 -0
- package/dist/shared/heartbeat.js +55 -0
- package/dist/shared/heartbeat.js.map +1 -0
- package/dist/shared/json-schema-to-zod.d.ts +13 -0
- package/dist/shared/json-schema-to-zod.js +49 -0
- package/dist/shared/json-schema-to-zod.js.map +1 -0
- package/dist/shared/llm-proxy.d.ts +57 -0
- package/dist/shared/llm-proxy.js +116 -0
- package/dist/shared/llm-proxy.js.map +1 -0
- package/dist/shared/mcp-manager.d.ts +47 -0
- package/dist/shared/mcp-manager.js +118 -0
- package/dist/shared/mcp-manager.js.map +1 -0
- package/dist/shared/mcp-resolver.d.ts +41 -0
- package/dist/shared/mcp-resolver.js +96 -0
- package/dist/shared/mcp-resolver.js.map +1 -0
- package/dist/shared/model-pricing-data.d.ts +18 -0
- package/dist/shared/model-pricing-data.js +78 -0
- package/dist/shared/model-pricing-data.js.map +1 -0
- package/dist/shared/model-pricing.d.ts +24 -0
- package/dist/shared/model-pricing.js +58 -0
- package/dist/shared/model-pricing.js.map +1 -0
- package/dist/shared/model-registry.d.ts +55 -0
- package/dist/shared/model-registry.js +178 -0
- package/dist/shared/model-registry.js.map +1 -0
- package/dist/shared/placeholder-resolver.d.ts +27 -0
- package/dist/shared/placeholder-resolver.js +75 -0
- package/dist/shared/placeholder-resolver.js.map +1 -0
- package/dist/shared/plan-artifact.d.ts +56 -0
- package/dist/shared/plan-artifact.js +98 -0
- package/dist/shared/plan-artifact.js.map +1 -0
- package/dist/shared/skill-relevance.d.ts +65 -0
- package/dist/shared/skill-relevance.js +175 -0
- package/dist/shared/skill-relevance.js.map +1 -0
- package/dist/shared/skill-writer.d.ts +73 -0
- package/dist/shared/skill-writer.js +230 -0
- package/dist/shared/skill-writer.js.map +1 -0
- package/dist/shared/status.d.ts +37 -0
- package/dist/shared/status.js +73 -0
- package/dist/shared/status.js.map +1 -0
- package/dist/shared/subagent-gate.d.ts +41 -0
- package/dist/shared/subagent-gate.js +93 -0
- package/dist/shared/subagent-gate.js.map +1 -0
- package/dist/shared/tool-kind.d.ts +22 -0
- package/dist/shared/tool-kind.js +79 -0
- package/dist/shared/tool-kind.js.map +1 -0
- package/dist/shared/workspace/file-tree.d.ts +13 -0
- package/dist/shared/workspace/file-tree.js +101 -0
- package/dist/shared/workspace/file-tree.js.map +1 -0
- package/dist/shared/workspace/local-backend.d.ts +41 -0
- package/dist/shared/workspace/local-backend.js +113 -0
- package/dist/shared/workspace/local-backend.js.map +1 -0
- package/dist/shared/workspace/platform-dir.d.ts +25 -0
- package/dist/shared/workspace/platform-dir.js +36 -0
- package/dist/shared/workspace/platform-dir.js.map +1 -0
- package/dist/shared/workspace/platform-mount.d.ts +95 -0
- package/dist/shared/workspace/platform-mount.js +157 -0
- package/dist/shared/workspace/platform-mount.js.map +1 -0
- package/dist/shared/workspace/provisioner.d.ts +47 -0
- package/dist/shared/workspace/provisioner.js +84 -0
- package/dist/shared/workspace/provisioner.js.map +1 -0
- package/dist/shared/workspace/sources/empty.d.ts +8 -0
- package/dist/shared/workspace/sources/empty.js +18 -0
- package/dist/shared/workspace/sources/empty.js.map +1 -0
- package/dist/shared/workspace/sources/git.d.ts +22 -0
- package/dist/shared/workspace/sources/git.js +207 -0
- package/dist/shared/workspace/sources/git.js.map +1 -0
- package/dist/shared/workspace/sources/local-path.d.ts +17 -0
- package/dist/shared/workspace/sources/local-path.js +57 -0
- package/dist/shared/workspace/sources/local-path.js.map +1 -0
- package/dist/shared/workspace/types.d.ts +58 -0
- package/dist/shared/workspace/types.js +25 -0
- package/dist/shared/workspace/types.js.map +1 -0
- package/dist/shared/zip-extract.d.ts +30 -0
- package/dist/shared/zip-extract.js +150 -0
- package/dist/shared/zip-extract.js.map +1 -0
- package/dist/worker.d.ts +27 -0
- package/dist/worker.js +65 -0
- package/dist/worker.js.map +1 -0
- package/dist/workflow-engine/clone.d.ts +11 -0
- package/dist/workflow-engine/clone.js +21 -0
- package/dist/workflow-engine/clone.js.map +1 -0
- package/dist/workflow-engine/do-executor.d.ts +27 -0
- package/dist/workflow-engine/do-executor.js +418 -0
- package/dist/workflow-engine/do-executor.js.map +1 -0
- package/dist/workflow-engine/duration.d.ts +12 -0
- package/dist/workflow-engine/duration.js +25 -0
- package/dist/workflow-engine/duration.js.map +1 -0
- package/dist/workflow-engine/error-utils.d.ts +42 -0
- package/dist/workflow-engine/error-utils.js +77 -0
- package/dist/workflow-engine/error-utils.js.map +1 -0
- package/dist/workflow-engine/errors.d.ts +46 -0
- package/dist/workflow-engine/errors.js +105 -0
- package/dist/workflow-engine/errors.js.map +1 -0
- package/dist/workflow-engine/expression-utils.d.ts +60 -0
- package/dist/workflow-engine/expression-utils.js +108 -0
- package/dist/workflow-engine/expression-utils.js.map +1 -0
- package/dist/workflow-engine/expression.d.ts +132 -0
- package/dist/workflow-engine/expression.js +366 -0
- package/dist/workflow-engine/expression.js.map +1 -0
- package/dist/workflow-engine/loader.d.ts +23 -0
- package/dist/workflow-engine/loader.js +429 -0
- package/dist/workflow-engine/loader.js.map +1 -0
- package/dist/workflow-engine/recovery.d.ts +53 -0
- package/dist/workflow-engine/recovery.js +46 -0
- package/dist/workflow-engine/recovery.js.map +1 -0
- package/dist/workflow-engine/resolve.d.ts +83 -0
- package/dist/workflow-engine/resolve.js +257 -0
- package/dist/workflow-engine/resolve.js.map +1 -0
- package/dist/workflow-engine/retry.d.ts +30 -0
- package/dist/workflow-engine/retry.js +97 -0
- package/dist/workflow-engine/retry.js.map +1 -0
- package/dist/workflow-engine/state.d.ts +26 -0
- package/dist/workflow-engine/state.js +49 -0
- package/dist/workflow-engine/state.js.map +1 -0
- package/dist/workflow-engine/task-factory.d.ts +20 -0
- package/dist/workflow-engine/task-factory.js +133 -0
- package/dist/workflow-engine/task-factory.js.map +1 -0
- package/dist/workflow-engine/task-status-accumulator.d.ts +59 -0
- package/dist/workflow-engine/task-status-accumulator.js +164 -0
- package/dist/workflow-engine/task-status-accumulator.js.map +1 -0
- package/dist/workflow-engine/tasks/call-agent-output.d.ts +26 -0
- package/dist/workflow-engine/tasks/call-agent-output.js +109 -0
- package/dist/workflow-engine/tasks/call-agent-output.js.map +1 -0
- package/dist/workflow-engine/tasks/call-agent.d.ts +31 -0
- package/dist/workflow-engine/tasks/call-agent.js +161 -0
- package/dist/workflow-engine/tasks/call-agent.js.map +1 -0
- package/dist/workflow-engine/tasks/call-function.d.ts +19 -0
- package/dist/workflow-engine/tasks/call-function.js +64 -0
- package/dist/workflow-engine/tasks/call-function.js.map +1 -0
- package/dist/workflow-engine/tasks/call-grpc.d.ts +15 -0
- package/dist/workflow-engine/tasks/call-grpc.js +27 -0
- package/dist/workflow-engine/tasks/call-grpc.js.map +1 -0
- package/dist/workflow-engine/tasks/call-http.d.ts +19 -0
- package/dist/workflow-engine/tasks/call-http.js +31 -0
- package/dist/workflow-engine/tasks/call-http.js.map +1 -0
- package/dist/workflow-engine/tasks/for.d.ts +39 -0
- package/dist/workflow-engine/tasks/for.js +154 -0
- package/dist/workflow-engine/tasks/for.js.map +1 -0
- package/dist/workflow-engine/tasks/fork.d.ts +42 -0
- package/dist/workflow-engine/tasks/fork.js +142 -0
- package/dist/workflow-engine/tasks/fork.js.map +1 -0
- package/dist/workflow-engine/tasks/human-input.d.ts +33 -0
- package/dist/workflow-engine/tasks/human-input.js +109 -0
- package/dist/workflow-engine/tasks/human-input.js.map +1 -0
- package/dist/workflow-engine/tasks/listen.d.ts +34 -0
- package/dist/workflow-engine/tasks/listen.js +119 -0
- package/dist/workflow-engine/tasks/listen.js.map +1 -0
- package/dist/workflow-engine/tasks/raise.d.ts +18 -0
- package/dist/workflow-engine/tasks/raise.js +60 -0
- package/dist/workflow-engine/tasks/raise.js.map +1 -0
- package/dist/workflow-engine/tasks/run.d.ts +39 -0
- package/dist/workflow-engine/tasks/run.js +114 -0
- package/dist/workflow-engine/tasks/run.js.map +1 -0
- package/dist/workflow-engine/tasks/set.d.ts +15 -0
- package/dist/workflow-engine/tasks/set.js +31 -0
- package/dist/workflow-engine/tasks/set.js.map +1 -0
- package/dist/workflow-engine/tasks/switch.d.ts +25 -0
- package/dist/workflow-engine/tasks/switch.js +76 -0
- package/dist/workflow-engine/tasks/switch.js.map +1 -0
- package/dist/workflow-engine/tasks/try.d.ts +49 -0
- package/dist/workflow-engine/tasks/try.js +189 -0
- package/dist/workflow-engine/tasks/try.js.map +1 -0
- package/dist/workflow-engine/tasks/wait.d.ts +24 -0
- package/dist/workflow-engine/tasks/wait.js +39 -0
- package/dist/workflow-engine/tasks/wait.js.map +1 -0
- package/dist/workflow-engine/types.d.ts +682 -0
- package/dist/workflow-engine/types.js +47 -0
- package/dist/workflow-engine/types.js.map +1 -0
- package/dist/workflows/call-agent-orchestrator.d.ts +31 -0
- package/dist/workflows/call-agent-orchestrator.js +214 -0
- package/dist/workflows/call-agent-orchestrator.js.map +1 -0
- package/dist/workflows/connect-mcp-server.d.ts +20 -0
- package/dist/workflows/connect-mcp-server.js +113 -0
- package/dist/workflows/connect-mcp-server.js.map +1 -0
- package/dist/workflows/engine-core.d.ts +36 -0
- package/dist/workflows/engine-core.js +272 -0
- package/dist/workflows/engine-core.js.map +1 -0
- package/dist/workflows/execute-from-execution.d.ts +32 -0
- package/dist/workflows/execute-from-execution.js +71 -0
- package/dist/workflows/execute-from-execution.js.map +1 -0
- package/dist/workflows/execute-serverless-workflow.d.ts +32 -0
- package/dist/workflows/execute-serverless-workflow.js +36 -0
- package/dist/workflows/execute-serverless-workflow.js.map +1 -0
- package/dist/workflows/human-input-orchestrator.d.ts +19 -0
- package/dist/workflows/human-input-orchestrator.js +59 -0
- package/dist/workflows/human-input-orchestrator.js.map +1 -0
- package/dist/workflows/index.d.ts +22 -0
- package/dist/workflows/index.js +23 -0
- package/dist/workflows/index.js.map +1 -0
- package/dist/workflows/listen-orchestrator.d.ts +29 -0
- package/dist/workflows/listen-orchestrator.js +143 -0
- package/dist/workflows/listen-orchestrator.js.map +1 -0
- package/dist/workflows/metrics-sink.d.ts +33 -0
- package/dist/workflows/metrics-sink.js +21 -0
- package/dist/workflows/metrics-sink.js.map +1 -0
- package/dist/workflows/run-orchestrator.d.ts +15 -0
- package/dist/workflows/run-orchestrator.js +27 -0
- package/dist/workflows/run-orchestrator.js.map +1 -0
- package/dist/workflows/types.d.ts +46 -0
- package/dist/workflows/types.js +15 -0
- package/dist/workflows/types.js.map +1 -0
- package/dist/workflows/workflow-signals.d.ts +29 -0
- package/dist/workflows/workflow-signals.js +46 -0
- package/dist/workflows/workflow-signals.js.map +1 -0
- package/package.json +108 -0
- package/src/__test-utils__/__tests__/replay-fetch.test.ts +155 -0
- package/src/__test-utils__/mock-client.ts +44 -0
- package/src/__test-utils__/mock-workspace.ts +28 -0
- package/src/__test-utils__/proto-helpers.ts +41 -0
- package/src/__test-utils__/replay-fetch.ts +523 -0
- package/src/__tests__/bootstrap.test.ts +221 -0
- package/src/__tests__/claimcheck-codec.test.ts +257 -0
- package/src/__tests__/config.test.ts +150 -0
- package/src/__tests__/deterministic-eval-llm.test.ts +269 -0
- package/src/__tests__/deterministic-mcp-hitl.test.ts +405 -0
- package/src/__tests__/golden-e2e.test.ts +250 -0
- package/src/__tests__/ipc-protocol-fixtures.test.ts +66 -0
- package/src/__tests__/ipc-protocol.test.ts +32 -0
- package/src/__tests__/otel-metrics.test.ts +40 -0
- package/src/__tests__/runner-manager.test.ts +55 -0
- package/src/__tests__/runner-token-coordinator.test.ts +166 -0
- package/src/__tests__/runner.test.ts +182 -0
- package/src/__tests__/worker.test.ts +18 -0
- package/src/activities/__tests__/call-agent-contracts.test.ts +483 -0
- package/src/activities/__tests__/call-agent.test.ts +263 -0
- package/src/activities/__tests__/call-function.test.ts +47 -0
- package/src/activities/__tests__/call-grpc.test.ts +39 -0
- package/src/activities/__tests__/call-http.test.ts +288 -0
- package/src/activities/__tests__/call-llm.test.ts +301 -0
- package/src/activities/__tests__/classify-tool-approvals.test.ts +430 -0
- package/src/activities/__tests__/discover-mcp-server.test.ts +641 -0
- package/src/activities/__tests__/ensure-thread.test.ts +96 -0
- package/src/activities/__tests__/error-classifier.test.ts +372 -0
- package/src/activities/__tests__/evaluate-expressions.test.ts +114 -0
- package/src/activities/__tests__/hydrate-workflow-execution.test.ts +321 -0
- package/src/activities/__tests__/notification.test.ts +151 -0
- package/src/activities/__tests__/workflow-event-activities.test.ts +664 -0
- package/src/activities/call-agent-status.ts +130 -0
- package/src/activities/call-agent.ts +302 -0
- package/src/activities/call-eval.ts +333 -0
- package/src/activities/call-function.ts +73 -0
- package/src/activities/call-grpc.ts +140 -0
- package/src/activities/call-http.ts +185 -0
- package/src/activities/call-llm.ts +379 -0
- package/src/activities/call-transform.ts +54 -0
- package/src/activities/call-validate.ts +223 -0
- package/src/activities/classify-tool-approvals.ts +319 -0
- package/src/activities/discover-mcp-server.ts +411 -0
- package/src/activities/emit-event.ts +195 -0
- package/src/activities/ensure-thread.ts +45 -0
- package/src/activities/evaluate-expressions.ts +47 -0
- package/src/activities/execute-cursor/__tests__/approval-gate.test.ts +188 -0
- package/src/activities/execute-cursor/__tests__/build-prompt.test.ts +111 -0
- package/src/activities/execute-cursor/__tests__/cursor-baseurl-routing.test.ts +86 -0
- package/src/activities/execute-cursor/__tests__/cursor-fetch-interceptor-bypass.test.ts +64 -0
- package/src/activities/execute-cursor/__tests__/cursor-mode.test.ts +95 -0
- package/src/activities/execute-cursor/__tests__/cursor-sdk-auth-smoke.test.ts +90 -0
- package/src/activities/execute-cursor/__tests__/delta-enricher.test.ts +242 -0
- package/src/activities/execute-cursor/__tests__/error-classifier-introspection.test.ts +156 -0
- package/src/activities/execute-cursor/__tests__/fetch-interceptor.test.ts +211 -0
- package/src/activities/execute-cursor/__tests__/hitl-ledger.test.ts +298 -0
- package/src/activities/execute-cursor/__tests__/http2-interceptor.test.ts +360 -0
- package/src/activities/execute-cursor/__tests__/message-translator.test.ts +657 -0
- package/src/activities/execute-cursor/__tests__/model-pricing.test.ts +92 -0
- package/src/activities/execute-cursor/__tests__/prompt-builder-delegation.test.ts +101 -0
- package/src/activities/execute-cursor/__tests__/runner-error-regressions.test.ts +144 -0
- package/src/activities/execute-cursor/__tests__/session-lifecycle.test.ts +65 -0
- package/src/activities/execute-cursor/__tests__/skill-resolver.test.ts +265 -0
- package/src/activities/execute-cursor/__tests__/subagent-config.test.ts +107 -0
- package/src/activities/execute-cursor/__tests__/todo-tracker.test.ts +498 -0
- package/src/activities/execute-cursor/__tests__/workspace-provision.test.ts +283 -0
- package/src/activities/execute-cursor/approval-policy.ts +224 -0
- package/src/activities/execute-cursor/approval-state.ts +311 -0
- package/src/activities/execute-cursor/attachment-resolver.ts +78 -0
- package/src/activities/execute-cursor/blueprint-resolver.ts +234 -0
- package/src/activities/execute-cursor/connect-backfill.ts +49 -0
- package/src/activities/execute-cursor/cursor-event-recorder.ts +83 -0
- package/src/activities/execute-cursor/cursor-mode.ts +42 -0
- package/src/activities/execute-cursor/delta-enricher.ts +307 -0
- package/src/activities/execute-cursor/env-resolver.ts +64 -0
- package/src/activities/execute-cursor/error-classifier.ts +247 -0
- package/src/activities/execute-cursor/fetch-interceptor.ts +382 -0
- package/src/activities/execute-cursor/hitl-diagnostics.ts +82 -0
- package/src/activities/execute-cursor/hook-script.ts +159 -0
- package/src/activities/execute-cursor/http2-interceptor.ts +253 -0
- package/src/activities/execute-cursor/index.ts +1439 -0
- package/src/activities/execute-cursor/mcp-config.ts +66 -0
- package/src/activities/execute-cursor/mcp-resolver.ts +271 -0
- package/src/activities/execute-cursor/message-translator.ts +896 -0
- package/src/activities/execute-cursor/model-pricing-data.ts +167 -0
- package/src/activities/execute-cursor/model-pricing.ts +167 -0
- package/src/activities/execute-cursor/placeholder-resolver.ts +109 -0
- package/src/activities/execute-cursor/prompt-builder.ts +349 -0
- package/src/activities/execute-cursor/rejection-capture.ts +100 -0
- package/src/activities/execute-cursor/session-lifecycle.ts +429 -0
- package/src/activities/execute-cursor/skill-resolver.ts +176 -0
- package/src/activities/execute-cursor/subagent-config.ts +62 -0
- package/src/activities/execute-cursor/todo-tracker.ts +133 -0
- package/src/activities/execute-cursor/usage-accumulator.ts +126 -0
- package/src/activities/execute-cursor/workspace-provision.ts +55 -0
- package/src/activities/execute-cursor/workspace-setup.ts +75 -0
- package/src/activities/execute-deep-agent/__test-utils__/v3-event-fixtures.ts +281 -0
- package/src/activities/execute-deep-agent/__tests__/attachment-injector.test.ts +720 -0
- package/src/activities/execute-deep-agent/__tests__/auto-publish.test.ts +146 -0
- package/src/activities/execute-deep-agent/__tests__/environment.test.ts +103 -0
- package/src/activities/execute-deep-agent/__tests__/event-recorder.test.ts +150 -0
- package/src/activities/execute-deep-agent/__tests__/execution-state-extended.test.ts +150 -0
- package/src/activities/execute-deep-agent/__tests__/execution-state.test.ts +157 -0
- package/src/activities/execute-deep-agent/__tests__/hitl-integration.test.ts +223 -0
- package/src/activities/execute-deep-agent/__tests__/hitl.test.ts +244 -0
- package/src/activities/execute-deep-agent/__tests__/index.test.ts +91 -0
- package/src/activities/execute-deep-agent/__tests__/inline-publisher.test.ts +240 -0
- package/src/activities/execute-deep-agent/__tests__/post-stream.test.ts +112 -0
- package/src/activities/execute-deep-agent/__tests__/prompt-builder.test.ts +208 -0
- package/src/activities/execute-deep-agent/__tests__/status-builder.test.ts +1771 -0
- package/src/activities/execute-deep-agent/__tests__/streaming-scheduler.test.ts +199 -0
- package/src/activities/execute-deep-agent/__tests__/streaming-v3.test.ts +527 -0
- package/src/activities/execute-deep-agent/__tests__/streaming.test.ts +508 -0
- package/src/activities/execute-deep-agent/__tests__/subagent-tracker.test.ts +474 -0
- package/src/activities/execute-deep-agent/__tests__/subagent-transformer.test.ts +734 -0
- package/src/activities/execute-deep-agent/__tests__/subagent-wiring.test.ts +71 -0
- package/src/activities/execute-deep-agent/__tests__/summarization-verification.test.ts +323 -0
- package/src/activities/execute-deep-agent/__tests__/v3-event-recorder.test.ts +186 -0
- package/src/activities/execute-deep-agent/__tests__/v3-protocol-normalizer.test.ts +324 -0
- package/src/activities/execute-deep-agent/__tests__/v3-status-builder.test.ts +504 -0
- package/src/activities/execute-deep-agent/__tests__/writeback-coordinator.test.ts +399 -0
- package/src/activities/execute-deep-agent/attachment-injector.ts +470 -0
- package/src/activities/execute-deep-agent/auto-publish.ts +80 -0
- package/src/activities/execute-deep-agent/environment.ts +67 -0
- package/src/activities/execute-deep-agent/event-recorder.ts +95 -0
- package/src/activities/execute-deep-agent/execution-state.ts +87 -0
- package/src/activities/execute-deep-agent/execution-status-writer.ts +19 -0
- package/src/activities/execute-deep-agent/hitl.ts +221 -0
- package/src/activities/execute-deep-agent/index.ts +342 -0
- package/src/activities/execute-deep-agent/inline-publisher.ts +134 -0
- package/src/activities/execute-deep-agent/post-stream.ts +109 -0
- package/src/activities/execute-deep-agent/prompt-builder.ts +264 -0
- package/src/activities/execute-deep-agent/setup.ts +599 -0
- package/src/activities/execute-deep-agent/status-builder-shared.ts +136 -0
- package/src/activities/execute-deep-agent/status-builder.ts +412 -0
- package/src/activities/execute-deep-agent/streaming-scheduler.ts +159 -0
- package/src/activities/execute-deep-agent/streaming-side-effects.ts +89 -0
- package/src/activities/execute-deep-agent/streaming-terminal.ts +96 -0
- package/src/activities/execute-deep-agent/streaming-v3.ts +272 -0
- package/src/activities/execute-deep-agent/streaming.ts +303 -0
- package/src/activities/execute-deep-agent/subagent-tracker.ts +445 -0
- package/src/activities/execute-deep-agent/subagent-transformer.ts +648 -0
- package/src/activities/execute-deep-agent/subagent-wiring.ts +56 -0
- package/src/activities/execute-deep-agent/v3-event-recorder.ts +111 -0
- package/src/activities/execute-deep-agent/v3-events.ts +153 -0
- package/src/activities/execute-deep-agent/v3-protocol-normalizer.ts +264 -0
- package/src/activities/execute-deep-agent/v3-status-builder.ts +490 -0
- package/src/activities/execute-deep-agent/writeback-coordinator.ts +420 -0
- package/src/activities/hydrate-workflow-execution.ts +306 -0
- package/src/activities/notification.ts +71 -0
- package/src/activities/promote-task-output.ts +126 -0
- package/src/activities/run-command.ts +148 -0
- package/src/activities/workflow-event-activities.ts +481 -0
- package/src/bootstrap.ts +173 -0
- package/src/budget/__tests__/tracker.test.ts +293 -0
- package/src/budget/index.ts +9 -0
- package/src/budget/tracker.ts +171 -0
- package/src/claimcheck/compressor.ts +9 -0
- package/src/claimcheck/config.ts +20 -0
- package/src/claimcheck/index.ts +3 -0
- package/src/claimcheck/payload-codec.ts +107 -0
- package/src/client/__tests__/server-contracts.test.ts +149 -0
- package/src/client/__tests__/stigmer-client.test.ts +142 -0
- package/src/client/server-contracts.ts +125 -0
- package/src/client/stigmer-client.ts +339 -0
- package/src/config.ts +185 -0
- package/src/idle-watchdog.ts +28 -0
- package/src/index.ts +48 -0
- package/src/interceptors/workflow-metrics-sink.ts +56 -0
- package/src/ipc-protocol-fixtures.ts +117 -0
- package/src/ipc-protocol.ts +113 -0
- package/src/main.ts +324 -0
- package/src/middleware/__tests__/approval-gate.test.ts +231 -0
- package/src/middleware/__tests__/cost-cap.test.ts +192 -0
- package/src/middleware/__tests__/error-hints.test.ts +90 -0
- package/src/middleware/__tests__/execution-budget.test.ts +138 -0
- package/src/middleware/__tests__/graceful-stop.test.ts +105 -0
- package/src/middleware/__tests__/loop-detection.test.ts +137 -0
- package/src/middleware/__tests__/otel-spans.test.ts +89 -0
- package/src/middleware/__tests__/think-tool.test.ts +26 -0
- package/src/middleware/__tests__/tool-truncation.test.ts +112 -0
- package/src/middleware/approval-gate.ts +179 -0
- package/src/middleware/cost-cap.ts +213 -0
- package/src/middleware/error-hints.ts +136 -0
- package/src/middleware/execution-budget.ts +176 -0
- package/src/middleware/graceful-stop.ts +86 -0
- package/src/middleware/index.ts +70 -0
- package/src/middleware/loop-detection.ts +192 -0
- package/src/middleware/otel-spans.ts +205 -0
- package/src/middleware/think-tool.ts +38 -0
- package/src/middleware/tool-truncation.ts +94 -0
- package/src/middleware/types.ts +114 -0
- package/src/notification/__tests__/provider.test.ts +85 -0
- package/src/notification/__tests__/webhook.test.ts +127 -0
- package/src/notification/index.ts +15 -0
- package/src/notification/provider.ts +52 -0
- package/src/notification/webhook.ts +61 -0
- package/src/otel-metrics.ts +73 -0
- package/src/otel.ts +194 -0
- package/src/runner-manager.ts +652 -0
- package/src/runner-token-coordinator.ts +135 -0
- package/src/runner.ts +380 -0
- package/src/shared/__tests__/approval-policy.test.ts +256 -0
- package/src/shared/__tests__/artifact-storage-extended.test.ts +208 -0
- package/src/shared/__tests__/artifact-storage.test.ts +365 -0
- package/src/shared/__tests__/connect-backfill.test.ts +346 -0
- package/src/shared/__tests__/extract-json.test.ts +153 -0
- package/src/shared/__tests__/grpc-retry-extended.test.ts +176 -0
- package/src/shared/__tests__/grpc-retry.test.ts +172 -0
- package/src/shared/__tests__/json-schema-to-zod.test.ts +227 -0
- package/src/shared/__tests__/llm-proxy.test.ts +179 -0
- package/src/shared/__tests__/mcp-manager.test.ts +154 -0
- package/src/shared/__tests__/model-pricing.test.ts +85 -0
- package/src/shared/__tests__/model-registry.test.ts +197 -0
- package/src/shared/__tests__/placeholder-resolver.test.ts +210 -0
- package/src/shared/__tests__/plan-artifact.test.ts +142 -0
- package/src/shared/__tests__/skill-relevance.test.ts +292 -0
- package/src/shared/__tests__/skill-writer.test.ts +349 -0
- package/src/shared/__tests__/status.test.ts +142 -0
- package/src/shared/__tests__/subagent-gate.test.ts +112 -0
- package/src/shared/__tests__/tool-kind.test.ts +58 -0
- package/src/shared/__tests__/zip-extract.test.ts +204 -0
- package/src/shared/approval-policy.ts +146 -0
- package/src/shared/artifact-storage.ts +207 -0
- package/src/shared/checkpointer/__tests__/factory.test.ts +42 -0
- package/src/shared/checkpointer/__tests__/http-saver.test.ts +176 -0
- package/src/shared/checkpointer/factory.ts +73 -0
- package/src/shared/checkpointer/http-saver.ts +349 -0
- package/src/shared/checkpointer/types.ts +12 -0
- package/src/shared/connect-backfill.ts +162 -0
- package/src/shared/extract-json.ts +153 -0
- package/src/shared/grpc-retry.ts +113 -0
- package/src/shared/heartbeat.ts +70 -0
- package/src/shared/json-schema-to-zod.ts +53 -0
- package/src/shared/llm-proxy.ts +138 -0
- package/src/shared/mcp-manager.ts +150 -0
- package/src/shared/mcp-resolver.ts +150 -0
- package/src/shared/model-pricing-data.ts +109 -0
- package/src/shared/model-pricing.ts +81 -0
- package/src/shared/model-registry.ts +214 -0
- package/src/shared/placeholder-resolver.ts +102 -0
- package/src/shared/plan-artifact.ts +120 -0
- package/src/shared/skill-relevance.ts +222 -0
- package/src/shared/skill-writer.ts +300 -0
- package/src/shared/status.ts +94 -0
- package/src/shared/subagent-gate.ts +117 -0
- package/src/shared/tool-kind.ts +91 -0
- package/src/shared/workspace/__tests__/file-tree.test.ts +210 -0
- package/src/shared/workspace/__tests__/git-source.test.ts +423 -0
- package/src/shared/workspace/__tests__/local-backend-platform.test.ts +259 -0
- package/src/shared/workspace/__tests__/local-backend.test.ts +154 -0
- package/src/shared/workspace/__tests__/platform-mount.test.ts +378 -0
- package/src/shared/workspace/__tests__/provisioner.test.ts +145 -0
- package/src/shared/workspace/file-tree.ts +116 -0
- package/src/shared/workspace/local-backend.ts +140 -0
- package/src/shared/workspace/platform-dir.ts +38 -0
- package/src/shared/workspace/platform-mount.ts +190 -0
- package/src/shared/workspace/provisioner.ts +150 -0
- package/src/shared/workspace/sources/empty.ts +20 -0
- package/src/shared/workspace/sources/git.ts +285 -0
- package/src/shared/workspace/sources/local-path.ts +89 -0
- package/src/shared/workspace/types.ts +69 -0
- package/src/shared/zip-extract.ts +193 -0
- package/src/worker.ts +98 -0
- package/src/workflow-engine/__tests__/do-executor-recovery.test.ts +382 -0
- package/src/workflow-engine/__tests__/do-executor.test.ts +963 -0
- package/src/workflow-engine/__tests__/errors.test.ts +174 -0
- package/src/workflow-engine/__tests__/expression.test.ts +776 -0
- package/src/workflow-engine/__tests__/for.test.ts +575 -0
- package/src/workflow-engine/__tests__/fork.test.ts +838 -0
- package/src/workflow-engine/__tests__/golden-execution.test.ts +1085 -0
- package/src/workflow-engine/__tests__/jq-wasm-spike.test.ts +90 -0
- package/src/workflow-engine/__tests__/loader.test.ts +1393 -0
- package/src/workflow-engine/__tests__/pause-resume.test.ts +267 -0
- package/src/workflow-engine/__tests__/recovery.test.ts +115 -0
- package/src/workflow-engine/__tests__/resolve.test.ts +432 -0
- package/src/workflow-engine/__tests__/retry.test.ts +306 -0
- package/src/workflow-engine/__tests__/state.test.ts +174 -0
- package/src/workflow-engine/__tests__/task-status-accumulator.test.ts +373 -0
- package/src/workflow-engine/__tests__/tasks/call-agent-output.test.ts +120 -0
- package/src/workflow-engine/__tests__/tasks/call-agent.test.ts +816 -0
- package/src/workflow-engine/__tests__/tasks/call-function.test.ts +205 -0
- package/src/workflow-engine/__tests__/tasks/call-grpc.test.ts +133 -0
- package/src/workflow-engine/__tests__/tasks/call-http.test.ts +150 -0
- package/src/workflow-engine/__tests__/tasks/emit-event.test.ts +322 -0
- package/src/workflow-engine/__tests__/tasks/human-input.test.ts +416 -0
- package/src/workflow-engine/__tests__/tasks/listen.test.ts +422 -0
- package/src/workflow-engine/__tests__/tasks/raise.test.ts +166 -0
- package/src/workflow-engine/__tests__/tasks/run.test.ts +272 -0
- package/src/workflow-engine/__tests__/tasks/set.test.ts +127 -0
- package/src/workflow-engine/__tests__/tasks/switch.test.ts +277 -0
- package/src/workflow-engine/__tests__/tasks/try.test.ts +590 -0
- package/src/workflow-engine/__tests__/tasks/wait.test.ts +173 -0
- package/src/workflow-engine/clone.ts +18 -0
- package/src/workflow-engine/do-executor.ts +569 -0
- package/src/workflow-engine/duration.ts +22 -0
- package/src/workflow-engine/error-utils.ts +97 -0
- package/src/workflow-engine/errors.ts +130 -0
- package/src/workflow-engine/expression-utils.ts +129 -0
- package/src/workflow-engine/expression.ts +430 -0
- package/src/workflow-engine/loader.ts +524 -0
- package/src/workflow-engine/recovery.ts +80 -0
- package/src/workflow-engine/resolve.ts +342 -0
- package/src/workflow-engine/retry.ts +109 -0
- package/src/workflow-engine/state.ts +56 -0
- package/src/workflow-engine/task-factory.ts +160 -0
- package/src/workflow-engine/task-status-accumulator.ts +204 -0
- package/src/workflow-engine/tasks/call-agent-output.ts +132 -0
- package/src/workflow-engine/tasks/call-agent.ts +221 -0
- package/src/workflow-engine/tasks/call-function.ts +107 -0
- package/src/workflow-engine/tasks/call-grpc.ts +47 -0
- package/src/workflow-engine/tasks/call-http.ts +51 -0
- package/src/workflow-engine/tasks/for.ts +244 -0
- package/src/workflow-engine/tasks/fork.ts +228 -0
- package/src/workflow-engine/tasks/human-input.ts +147 -0
- package/src/workflow-engine/tasks/listen.ts +166 -0
- package/src/workflow-engine/tasks/raise.ts +81 -0
- package/src/workflow-engine/tasks/run.ts +142 -0
- package/src/workflow-engine/tasks/set.ts +47 -0
- package/src/workflow-engine/tasks/switch.ts +102 -0
- package/src/workflow-engine/tasks/try.ts +274 -0
- package/src/workflow-engine/tasks/wait.ts +53 -0
- package/src/workflow-engine/types.ts +911 -0
- package/src/workflows/__tests__/connect-mcp-server.test.ts +359 -0
- package/src/workflows/__tests__/execute-serverless-workflow.test.ts +277 -0
- package/src/workflows/call-agent-orchestrator.ts +283 -0
- package/src/workflows/connect-mcp-server.ts +152 -0
- package/src/workflows/engine-core.ts +406 -0
- package/src/workflows/execute-from-execution.ts +101 -0
- package/src/workflows/execute-serverless-workflow.ts +60 -0
- package/src/workflows/human-input-orchestrator.ts +76 -0
- package/src/workflows/index.ts +32 -0
- package/src/workflows/listen-orchestrator.ts +200 -0
- package/src/workflows/metrics-sink.ts +48 -0
- package/src/workflows/run-orchestrator.ts +34 -0
- package/src/workflows/types.ts +64 -0
- package/src/workflows/workflow-signals.ts +55 -0
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SubAgent transformation and compilation.
|
|
3
|
+
*
|
|
4
|
+
* Transforms proto SubAgent definitions into CompiledSubAgent instances for
|
|
5
|
+
* the deepagents JS runtime. Each compiled subagent is a pre-compiled graph
|
|
6
|
+
* with its own middleware stack (loop detection, budget, truncation, cost cap)
|
|
7
|
+
* and concurrency gating via SubAgentGate.
|
|
8
|
+
*
|
|
9
|
+
* Design decisions:
|
|
10
|
+
* - CompiledSubAgent format: full middleware control, no unwanted deepagents defaults
|
|
11
|
+
* - Filter parent MCP tools: no reconnection overhead, stateless servers are the norm
|
|
12
|
+
* - Prompt injection for skills: FilesystemBackend incompatible with native skills field
|
|
13
|
+
* - Built-in explore/shell subagents use prompt-based tool restriction
|
|
14
|
+
* - Invalid configurations are logged and skipped (graceful degradation)
|
|
15
|
+
* - Empty subagent list returns null (no subagents configured)
|
|
16
|
+
*/
|
|
17
|
+
import type { CompiledSubAgent } from "deepagents";
|
|
18
|
+
import type { StructuredTool } from "@langchain/core/tools";
|
|
19
|
+
import type { BaseChatModel } from "@langchain/core/language_models/chat_models";
|
|
20
|
+
import type { SubAgent, McpServerUsage } from "@stigmer/protos/ai/stigmer/agentic/agent/v1/spec_pb";
|
|
21
|
+
import type { WorkspaceBackend } from "../../shared/workspace/types.js";
|
|
22
|
+
import type { StigmerClient } from "../../client/stigmer-client.js";
|
|
23
|
+
import type { MergedToolPolicy } from "../../shared/approval-policy.js";
|
|
24
|
+
import type { CostCapMiddleware } from "../../middleware/index.js";
|
|
25
|
+
export declare const BUILTIN_SUBAGENT_TYPES: ReadonlySet<string>;
|
|
26
|
+
/**
|
|
27
|
+
* Intermediate representation of a transformed subagent before compilation.
|
|
28
|
+
* Contains all the data needed to create a compiled agent graph.
|
|
29
|
+
*/
|
|
30
|
+
export interface TransformedSubagent {
|
|
31
|
+
readonly name: string;
|
|
32
|
+
readonly description: string;
|
|
33
|
+
readonly systemPrompt: string;
|
|
34
|
+
readonly tools: StructuredTool[];
|
|
35
|
+
readonly model?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Options for the full subagent transformation and compilation pipeline.
|
|
39
|
+
*/
|
|
40
|
+
export interface SubagentTransformOptions {
|
|
41
|
+
readonly subAgents: readonly SubAgent[];
|
|
42
|
+
readonly parentMcpTools: readonly StructuredTool[];
|
|
43
|
+
readonly parentMcpServerToolMap: ReadonlyMap<string, readonly StructuredTool[]>;
|
|
44
|
+
readonly parentMcpUsages: readonly McpServerUsage[];
|
|
45
|
+
readonly skillClient: StigmerClient;
|
|
46
|
+
readonly workspaceBackend: WorkspaceBackend;
|
|
47
|
+
readonly approvalPolicies: ReadonlyMap<string, MergedToolPolicy>;
|
|
48
|
+
readonly autoApproveAll: boolean;
|
|
49
|
+
readonly parentModelName: string;
|
|
50
|
+
readonly parentHasNativeThinking: boolean;
|
|
51
|
+
readonly costCap?: CostCapMiddleware;
|
|
52
|
+
/**
|
|
53
|
+
* Builds a configured chat-model instance for a given model name. When
|
|
54
|
+
* provided, sub-agents are compiled with the same proxy-aware model client
|
|
55
|
+
* as the parent (base URL, auth headers, API key). When absent (unit tests),
|
|
56
|
+
* the model name string is passed to deepagents directly.
|
|
57
|
+
*/
|
|
58
|
+
readonly modelFactory?: (modelName: string) => BaseChatModel;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Create built-in explore and shell subagent specifications.
|
|
62
|
+
*
|
|
63
|
+
* Built-in subagents receive:
|
|
64
|
+
* - The full deepagents built-in tool set (from FilesystemBackend) restricted via prompt
|
|
65
|
+
* - Purpose-built system prompts with explicit scope boundaries
|
|
66
|
+
* - No skills, no MCP tools, no parent prompt inheritance
|
|
67
|
+
*
|
|
68
|
+
* Returns an empty array if no workspace is configured (subagents need
|
|
69
|
+
* workspace tools to be useful).
|
|
70
|
+
*/
|
|
71
|
+
export declare function createBuiltinSubagents(hasWorkspace: boolean): TransformedSubagent[];
|
|
72
|
+
/**
|
|
73
|
+
* Transform a single SubAgent proto into the intermediate representation.
|
|
74
|
+
*
|
|
75
|
+
* Handles: proto field extraction, model override validation, think tool
|
|
76
|
+
* injection, and response rules appending. MCP filtering and skill
|
|
77
|
+
* resolution are handled separately and composed by the caller.
|
|
78
|
+
*
|
|
79
|
+
* Returns null if the subagent should be skipped (e.g., invalid model override).
|
|
80
|
+
*/
|
|
81
|
+
export declare function transformSingleSubagent(subAgent: SubAgent, opts: {
|
|
82
|
+
readonly parentMcpTools: readonly StructuredTool[];
|
|
83
|
+
readonly parentMcpServerToolMap: ReadonlyMap<string, readonly StructuredTool[]>;
|
|
84
|
+
readonly parentMcpUsages: readonly McpServerUsage[];
|
|
85
|
+
readonly parentHasNativeThinking: boolean;
|
|
86
|
+
readonly parentModelName: string;
|
|
87
|
+
}): Promise<TransformedSubagent | null>;
|
|
88
|
+
/**
|
|
89
|
+
* Filter parent MCP tools based on a subagent's McpAccess grants.
|
|
90
|
+
*
|
|
91
|
+
* Permission model:
|
|
92
|
+
* - Subagent can only access MCP servers explicitly listed in its mcpAccess
|
|
93
|
+
* - Tool names must be a subset of parent's enabled tools for that server
|
|
94
|
+
* - Empty enabledTools in McpAccess = inherit all parent tools for that server
|
|
95
|
+
* - Invalid slug or missing server → warn and skip
|
|
96
|
+
*/
|
|
97
|
+
export declare function filterMcpToolsForSubagent(mcpAccess: readonly {
|
|
98
|
+
mcpServer: string;
|
|
99
|
+
enabledTools: readonly string[];
|
|
100
|
+
}[], parentMcpServerToolMap: ReadonlyMap<string, readonly StructuredTool[]>, parentMcpUsages: readonly McpServerUsage[]): StructuredTool[];
|
|
101
|
+
/**
|
|
102
|
+
* Collect all unique skill refs across all subagents for batch fetching.
|
|
103
|
+
*
|
|
104
|
+
* Deduplicates by slug to minimize gRPC calls. Returns an array of refs
|
|
105
|
+
* and the mapping from slug to original refs for distribution.
|
|
106
|
+
*/
|
|
107
|
+
export declare function collectAllSkillRefs(subAgents: readonly SubAgent[]): {
|
|
108
|
+
slug: string;
|
|
109
|
+
ref: unknown;
|
|
110
|
+
}[];
|
|
111
|
+
/**
|
|
112
|
+
* Resolve skills for a single subagent and return the prompt section.
|
|
113
|
+
*
|
|
114
|
+
* Looks up each of the subagent's skill_refs in the pre-fetched skills
|
|
115
|
+
* collection and generates a prompt section containing activation
|
|
116
|
+
* instructions and file paths.
|
|
117
|
+
*
|
|
118
|
+
* Returns empty string if no skills match or if the subagent has no skill_refs.
|
|
119
|
+
*/
|
|
120
|
+
export declare function resolveSubagentSkillPrompt(subAgent: SubAgent, skillsBySlug: ReadonlyMap<string, {
|
|
121
|
+
skill: unknown;
|
|
122
|
+
path: string;
|
|
123
|
+
}>): string;
|
|
124
|
+
/**
|
|
125
|
+
* Compile transformed subagent specifications into CompiledSubAgent instances.
|
|
126
|
+
*
|
|
127
|
+
* Each subagent gets:
|
|
128
|
+
* - Its own agent graph (via createDeepAgent with FilesystemBackend sharing the workspace)
|
|
129
|
+
* - Per-subagent middleware (loop detection, budget, truncation, cost cap view)
|
|
130
|
+
* - Concurrency gating via shared SubAgentGate
|
|
131
|
+
*/
|
|
132
|
+
export declare function compileSubagents(transformed: readonly TransformedSubagent[], opts: {
|
|
133
|
+
readonly costCap?: CostCapMiddleware;
|
|
134
|
+
readonly parentModelName: string;
|
|
135
|
+
readonly workspaceRootDir: string;
|
|
136
|
+
readonly modelFactory?: (modelName: string) => BaseChatModel;
|
|
137
|
+
}): Promise<CompiledSubAgent[]>;
|
|
138
|
+
/**
|
|
139
|
+
* Transform proto SubAgents and compile into CompiledSubAgent instances.
|
|
140
|
+
*
|
|
141
|
+
* This is the main entry point called from setup.ts. It orchestrates:
|
|
142
|
+
* 1. Built-in subagent creation (explore + shell)
|
|
143
|
+
* 2. Per-subagent transformation (proto → TransformedSubagent)
|
|
144
|
+
* 3. MCP tool filtering per subagent
|
|
145
|
+
* 4. Skill resolution and prompt injection (Session 2)
|
|
146
|
+
* 5. Compilation with middleware + gate wrapping
|
|
147
|
+
*
|
|
148
|
+
* Returns null if no valid subagents after transformation.
|
|
149
|
+
*/
|
|
150
|
+
export declare function transformAndCompileSubagents(options: SubagentTransformOptions): Promise<CompiledSubAgent[] | null>;
|
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SubAgent transformation and compilation.
|
|
3
|
+
*
|
|
4
|
+
* Transforms proto SubAgent definitions into CompiledSubAgent instances for
|
|
5
|
+
* the deepagents JS runtime. Each compiled subagent is a pre-compiled graph
|
|
6
|
+
* with its own middleware stack (loop detection, budget, truncation, cost cap)
|
|
7
|
+
* and concurrency gating via SubAgentGate.
|
|
8
|
+
*
|
|
9
|
+
* Design decisions:
|
|
10
|
+
* - CompiledSubAgent format: full middleware control, no unwanted deepagents defaults
|
|
11
|
+
* - Filter parent MCP tools: no reconnection overhead, stateless servers are the norm
|
|
12
|
+
* - Prompt injection for skills: FilesystemBackend incompatible with native skills field
|
|
13
|
+
* - Built-in explore/shell subagents use prompt-based tool restriction
|
|
14
|
+
* - Invalid configurations are logged and skipped (graceful degradation)
|
|
15
|
+
* - Empty subagent list returns null (no subagents configured)
|
|
16
|
+
*/
|
|
17
|
+
import { createDeepAgent, FilesystemBackend } from "deepagents";
|
|
18
|
+
import { createThinkTool } from "../../middleware/index.js";
|
|
19
|
+
import { buildSubAgentMiddleware } from "./subagent-wiring.js";
|
|
20
|
+
import { SubAgentGate } from "../../shared/subagent-gate.js";
|
|
21
|
+
import { isModelRegistered } from "../../shared/model-registry.js";
|
|
22
|
+
import { fetchSkillsByRefs, fetchSkillArtifacts, writeSkills, generatePromptSection, } from "../../shared/skill-writer.js";
|
|
23
|
+
// =========================================================================
|
|
24
|
+
// Built-in subagent types and prompts
|
|
25
|
+
// =========================================================================
|
|
26
|
+
export const BUILTIN_SUBAGENT_TYPES = new Set(["explore", "shell"]);
|
|
27
|
+
const EXPLORE_SYSTEM_PROMPT = `\
|
|
28
|
+
You are an exploration specialist. Your ONLY job is to explore codebases \
|
|
29
|
+
and report findings back to the parent agent.
|
|
30
|
+
|
|
31
|
+
STRICT BOUNDARIES:
|
|
32
|
+
- Use ONLY the read-only tools provided (read_file, list_dir, glob, grep, search)
|
|
33
|
+
- Do NOT write files, create files, or modify anything
|
|
34
|
+
- Do NOT execute shell commands
|
|
35
|
+
- Do NOT follow skill activation instructions from any context
|
|
36
|
+
- Do NOT create deliverables, scaffolds, or run initialization scripts
|
|
37
|
+
- Report your findings concisely — the parent agent has direct file access
|
|
38
|
+
|
|
39
|
+
Your task: {description}`;
|
|
40
|
+
const SHELL_SYSTEM_PROMPT = `\
|
|
41
|
+
You are a command execution specialist. Your ONLY job is to run shell \
|
|
42
|
+
commands and report the results back to the parent agent.
|
|
43
|
+
|
|
44
|
+
STRICT BOUNDARIES:
|
|
45
|
+
- Use ONLY the tools provided (execute, read_file, list_dir)
|
|
46
|
+
- Do NOT write or modify files directly — use shell commands if needed
|
|
47
|
+
- Do NOT search extensively or explore the codebase beyond what is needed
|
|
48
|
+
- Do NOT follow skill activation instructions from any context
|
|
49
|
+
- Do NOT create deliverables, scaffolds, or run initialization scripts
|
|
50
|
+
- Report command output concisely — the parent agent will interpret results
|
|
51
|
+
|
|
52
|
+
Your task: {description}`;
|
|
53
|
+
const BUILTIN_DESCRIPTIONS = new Map([
|
|
54
|
+
["explore", ("Read-only codebase exploration specialist. Use for searching, " +
|
|
55
|
+
"reading files, finding patterns, and understanding code structure. " +
|
|
56
|
+
"Cannot write files or execute commands.")],
|
|
57
|
+
["shell", ("Command execution specialist. Use for running shell commands, " +
|
|
58
|
+
"build operations, and system tasks. Has minimal file read access.")],
|
|
59
|
+
]);
|
|
60
|
+
const BUILTIN_PROMPTS = new Map([
|
|
61
|
+
["explore", EXPLORE_SYSTEM_PROMPT],
|
|
62
|
+
["shell", SHELL_SYSTEM_PROMPT],
|
|
63
|
+
]);
|
|
64
|
+
const RESPONSE_RULES = `\
|
|
65
|
+
|
|
66
|
+
## Response rules
|
|
67
|
+
|
|
68
|
+
- After using the read tool, NEVER reprint, echo, list, or \
|
|
69
|
+
summarize file contents in your response. Tool results are \
|
|
70
|
+
already in your context. Proceed directly to the task.
|
|
71
|
+
- Your response is returned to the parent agent as a task \
|
|
72
|
+
result. Return concise findings and actionable results — not \
|
|
73
|
+
raw file contents. The parent agent has direct access to the \
|
|
74
|
+
same files.
|
|
75
|
+
- Do not begin responses with phrases like \
|
|
76
|
+
"Below is the complete content", \
|
|
77
|
+
"Here are the contents of the files", or similar.
|
|
78
|
+
`;
|
|
79
|
+
// =========================================================================
|
|
80
|
+
// Built-in subagent creation
|
|
81
|
+
// =========================================================================
|
|
82
|
+
/**
|
|
83
|
+
* Create built-in explore and shell subagent specifications.
|
|
84
|
+
*
|
|
85
|
+
* Built-in subagents receive:
|
|
86
|
+
* - The full deepagents built-in tool set (from FilesystemBackend) restricted via prompt
|
|
87
|
+
* - Purpose-built system prompts with explicit scope boundaries
|
|
88
|
+
* - No skills, no MCP tools, no parent prompt inheritance
|
|
89
|
+
*
|
|
90
|
+
* Returns an empty array if no workspace is configured (subagents need
|
|
91
|
+
* workspace tools to be useful).
|
|
92
|
+
*/
|
|
93
|
+
export function createBuiltinSubagents(hasWorkspace) {
|
|
94
|
+
if (!hasWorkspace) {
|
|
95
|
+
return [];
|
|
96
|
+
}
|
|
97
|
+
const result = [];
|
|
98
|
+
for (const subagentType of ["explore", "shell"]) {
|
|
99
|
+
const prompt = BUILTIN_PROMPTS.get(subagentType);
|
|
100
|
+
const description = BUILTIN_DESCRIPTIONS.get(subagentType);
|
|
101
|
+
if (!prompt || !description)
|
|
102
|
+
continue;
|
|
103
|
+
result.push({
|
|
104
|
+
name: subagentType,
|
|
105
|
+
description,
|
|
106
|
+
systemPrompt: prompt + RESPONSE_RULES,
|
|
107
|
+
tools: [],
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
return result;
|
|
111
|
+
}
|
|
112
|
+
// =========================================================================
|
|
113
|
+
// Single subagent transformation
|
|
114
|
+
// =========================================================================
|
|
115
|
+
/**
|
|
116
|
+
* Transform a single SubAgent proto into the intermediate representation.
|
|
117
|
+
*
|
|
118
|
+
* Handles: proto field extraction, model override validation, think tool
|
|
119
|
+
* injection, and response rules appending. MCP filtering and skill
|
|
120
|
+
* resolution are handled separately and composed by the caller.
|
|
121
|
+
*
|
|
122
|
+
* Returns null if the subagent should be skipped (e.g., invalid model override).
|
|
123
|
+
*/
|
|
124
|
+
export async function transformSingleSubagent(subAgent, opts) {
|
|
125
|
+
const name = subAgent.name;
|
|
126
|
+
const description = subAgent.description || `Sub-agent: ${name}`;
|
|
127
|
+
let systemPrompt = subAgent.instructions || "";
|
|
128
|
+
// Validate model_override if specified
|
|
129
|
+
let model;
|
|
130
|
+
if (subAgent.modelOverride) {
|
|
131
|
+
const isKnown = await isModelRegistered(subAgent.modelOverride);
|
|
132
|
+
if (!isKnown) {
|
|
133
|
+
console.error(`[subagent-transformer] Sub-agent '${name}' specifies model_override='${subAgent.modelOverride}' ` +
|
|
134
|
+
`which is not recognised by the ModelRegistry. Skipping this sub-agent. ` +
|
|
135
|
+
`Use a registered model name (e.g. 'claude-haiku-4.5') or a valid API model ID.`);
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
model = subAgent.modelOverride;
|
|
139
|
+
}
|
|
140
|
+
// Build tools list — start with filtered MCP tools (populated by caller)
|
|
141
|
+
const tools = [];
|
|
142
|
+
// Inject think tool when model lacks native extended thinking
|
|
143
|
+
const saHasNativeThinking = model
|
|
144
|
+
? await _modelSupportsThinking(model)
|
|
145
|
+
: opts.parentHasNativeThinking;
|
|
146
|
+
if (!saHasNativeThinking) {
|
|
147
|
+
tools.push(createThinkTool());
|
|
148
|
+
}
|
|
149
|
+
// Append response rules
|
|
150
|
+
systemPrompt += RESPONSE_RULES;
|
|
151
|
+
return { name, description, systemPrompt, tools, model };
|
|
152
|
+
}
|
|
153
|
+
// =========================================================================
|
|
154
|
+
// MCP tool filtering
|
|
155
|
+
// =========================================================================
|
|
156
|
+
/**
|
|
157
|
+
* Filter parent MCP tools based on a subagent's McpAccess grants.
|
|
158
|
+
*
|
|
159
|
+
* Permission model:
|
|
160
|
+
* - Subagent can only access MCP servers explicitly listed in its mcpAccess
|
|
161
|
+
* - Tool names must be a subset of parent's enabled tools for that server
|
|
162
|
+
* - Empty enabledTools in McpAccess = inherit all parent tools for that server
|
|
163
|
+
* - Invalid slug or missing server → warn and skip
|
|
164
|
+
*/
|
|
165
|
+
export function filterMcpToolsForSubagent(mcpAccess, parentMcpServerToolMap, parentMcpUsages) {
|
|
166
|
+
if (mcpAccess.length === 0)
|
|
167
|
+
return [];
|
|
168
|
+
const usageSlugs = new Set(parentMcpUsages
|
|
169
|
+
.map((u) => u.mcpServerRef?.slug)
|
|
170
|
+
.filter((s) => !!s));
|
|
171
|
+
const filtered = [];
|
|
172
|
+
for (const access of mcpAccess) {
|
|
173
|
+
const slug = access.mcpServer;
|
|
174
|
+
if (!slug) {
|
|
175
|
+
console.warn("[subagent-transformer] McpAccess has empty mcp_server slug, skipping");
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
if (!usageSlugs.has(slug)) {
|
|
179
|
+
console.warn(`[subagent-transformer] SubAgent references unknown MCP server '${slug}' ` +
|
|
180
|
+
"(not in parent's mcp_server_usages), skipping");
|
|
181
|
+
continue;
|
|
182
|
+
}
|
|
183
|
+
const serverTools = parentMcpServerToolMap.get(slug);
|
|
184
|
+
if (!serverTools || serverTools.length === 0) {
|
|
185
|
+
console.warn(`[subagent-transformer] MCP server '${slug}' has no tools in parent's connection, skipping`);
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
if (access.enabledTools.length === 0) {
|
|
189
|
+
filtered.push(...serverTools);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
const allowedNames = new Set(access.enabledTools);
|
|
193
|
+
for (const tool of serverTools) {
|
|
194
|
+
if (allowedNames.has(tool.name)) {
|
|
195
|
+
filtered.push(tool);
|
|
196
|
+
}
|
|
197
|
+
else if (allowedNames.has(tool.name)) {
|
|
198
|
+
// already included
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
const parentToolNames = new Set(serverTools.map((t) => t.name));
|
|
202
|
+
for (const requestedTool of access.enabledTools) {
|
|
203
|
+
if (!parentToolNames.has(requestedTool)) {
|
|
204
|
+
console.warn(`[subagent-transformer] SubAgent requests tool '${requestedTool}' from server '${slug}' ` +
|
|
205
|
+
"but it's not in parent's enabled tools, skipping tool");
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return filtered;
|
|
211
|
+
}
|
|
212
|
+
// =========================================================================
|
|
213
|
+
// Skill resolution for subagents
|
|
214
|
+
// =========================================================================
|
|
215
|
+
/**
|
|
216
|
+
* Collect all unique skill refs across all subagents for batch fetching.
|
|
217
|
+
*
|
|
218
|
+
* Deduplicates by slug to minimize gRPC calls. Returns an array of refs
|
|
219
|
+
* and the mapping from slug to original refs for distribution.
|
|
220
|
+
*/
|
|
221
|
+
export function collectAllSkillRefs(subAgents) {
|
|
222
|
+
const seen = new Set();
|
|
223
|
+
const unique = [];
|
|
224
|
+
for (const sa of subAgents) {
|
|
225
|
+
for (const ref of sa.skillRefs) {
|
|
226
|
+
const slug = ref.slug;
|
|
227
|
+
if (slug && !seen.has(slug)) {
|
|
228
|
+
seen.add(slug);
|
|
229
|
+
unique.push({ slug, ref });
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return unique;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Resolve skills for a single subagent and return the prompt section.
|
|
237
|
+
*
|
|
238
|
+
* Looks up each of the subagent's skill_refs in the pre-fetched skills
|
|
239
|
+
* collection and generates a prompt section containing activation
|
|
240
|
+
* instructions and file paths.
|
|
241
|
+
*
|
|
242
|
+
* Returns empty string if no skills match or if the subagent has no skill_refs.
|
|
243
|
+
*/
|
|
244
|
+
export function resolveSubagentSkillPrompt(subAgent, skillsBySlug) {
|
|
245
|
+
if (subAgent.skillRefs.length === 0)
|
|
246
|
+
return "";
|
|
247
|
+
const matchedSkills = [];
|
|
248
|
+
const matchedPaths = new Map();
|
|
249
|
+
for (const ref of subAgent.skillRefs) {
|
|
250
|
+
const slug = ref.slug;
|
|
251
|
+
if (!slug)
|
|
252
|
+
continue;
|
|
253
|
+
const entry = skillsBySlug.get(slug);
|
|
254
|
+
if (entry) {
|
|
255
|
+
matchedSkills.push(entry.skill);
|
|
256
|
+
const id = entry.skill.metadata?.id;
|
|
257
|
+
if (id)
|
|
258
|
+
matchedPaths.set(id, entry.path);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
if (matchedSkills.length === 0)
|
|
262
|
+
return "";
|
|
263
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
264
|
+
return generatePromptSection(matchedSkills, matchedPaths);
|
|
265
|
+
}
|
|
266
|
+
// =========================================================================
|
|
267
|
+
// Compilation pipeline
|
|
268
|
+
// =========================================================================
|
|
269
|
+
/**
|
|
270
|
+
* Compile transformed subagent specifications into CompiledSubAgent instances.
|
|
271
|
+
*
|
|
272
|
+
* Each subagent gets:
|
|
273
|
+
* - Its own agent graph (via createDeepAgent with FilesystemBackend sharing the workspace)
|
|
274
|
+
* - Per-subagent middleware (loop detection, budget, truncation, cost cap view)
|
|
275
|
+
* - Concurrency gating via shared SubAgentGate
|
|
276
|
+
*/
|
|
277
|
+
export async function compileSubagents(transformed, opts) {
|
|
278
|
+
if (transformed.length === 0)
|
|
279
|
+
return [];
|
|
280
|
+
const gate = new SubAgentGate();
|
|
281
|
+
const compiled = [];
|
|
282
|
+
for (const spec of transformed) {
|
|
283
|
+
try {
|
|
284
|
+
const middleware = buildSubAgentMiddleware({
|
|
285
|
+
costCap: opts.costCap,
|
|
286
|
+
});
|
|
287
|
+
const modelName = spec.model ?? opts.parentModelName;
|
|
288
|
+
// Use a configured model instance (proxy base URL + auth) when a
|
|
289
|
+
// factory is supplied so sub-agent LLM calls route through the same
|
|
290
|
+
// proxy as the parent. Falling back to the bare name lets deepagents
|
|
291
|
+
// construct a default client (unit tests / no-proxy paths).
|
|
292
|
+
const model = opts.modelFactory ? opts.modelFactory(modelName) : modelName;
|
|
293
|
+
const agentGraph = await createDeepAgent({
|
|
294
|
+
model,
|
|
295
|
+
systemPrompt: spec.systemPrompt,
|
|
296
|
+
tools: spec.tools.length > 0 ? spec.tools : undefined,
|
|
297
|
+
middleware: middleware,
|
|
298
|
+
backend: new FilesystemBackend({ rootDir: opts.workspaceRootDir }),
|
|
299
|
+
generalPurposeAgent: false,
|
|
300
|
+
});
|
|
301
|
+
const gatedRunnable = gate.wrapRunnable(
|
|
302
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
303
|
+
agentGraph, spec.name);
|
|
304
|
+
compiled.push({
|
|
305
|
+
name: spec.name,
|
|
306
|
+
description: spec.description,
|
|
307
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
308
|
+
runnable: gatedRunnable,
|
|
309
|
+
});
|
|
310
|
+
console.log(`[subagent-transformer] Compiled sub-agent '${spec.name}' ` +
|
|
311
|
+
`(model=${modelName}, tools=${spec.tools.length})`);
|
|
312
|
+
}
|
|
313
|
+
catch (err) {
|
|
314
|
+
console.error(`[subagent-transformer] Failed to compile sub-agent '${spec.name}': ${err}`);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
return compiled;
|
|
318
|
+
}
|
|
319
|
+
// =========================================================================
|
|
320
|
+
// Top-level orchestrator
|
|
321
|
+
// =========================================================================
|
|
322
|
+
/**
|
|
323
|
+
* Transform proto SubAgents and compile into CompiledSubAgent instances.
|
|
324
|
+
*
|
|
325
|
+
* This is the main entry point called from setup.ts. It orchestrates:
|
|
326
|
+
* 1. Built-in subagent creation (explore + shell)
|
|
327
|
+
* 2. Per-subagent transformation (proto → TransformedSubagent)
|
|
328
|
+
* 3. MCP tool filtering per subagent
|
|
329
|
+
* 4. Skill resolution and prompt injection (Session 2)
|
|
330
|
+
* 5. Compilation with middleware + gate wrapping
|
|
331
|
+
*
|
|
332
|
+
* Returns null if no valid subagents after transformation.
|
|
333
|
+
*/
|
|
334
|
+
export async function transformAndCompileSubagents(options) {
|
|
335
|
+
const { subAgents, parentMcpTools, parentMcpServerToolMap, parentMcpUsages, skillClient, workspaceBackend, parentModelName, parentHasNativeThinking, costCap, modelFactory, } = options;
|
|
336
|
+
if (subAgents.length === 0 && !workspaceBackend.rootDir) {
|
|
337
|
+
return null;
|
|
338
|
+
}
|
|
339
|
+
console.log(`[subagent-transformer] Transforming ${subAgents.length} proto sub-agent(s)` +
|
|
340
|
+
(workspaceBackend.rootDir ? " + built-in types" : ""));
|
|
341
|
+
// Step 1: Create built-in subagents
|
|
342
|
+
const builtins = createBuiltinSubagents(!!workspaceBackend.rootDir);
|
|
343
|
+
// Step 1b: Batch fetch all skills referenced by subagents
|
|
344
|
+
const allSkillRefs = collectAllSkillRefs(subAgents);
|
|
345
|
+
const skillsBySlug = new Map();
|
|
346
|
+
if (allSkillRefs.length > 0) {
|
|
347
|
+
try {
|
|
348
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
349
|
+
const refs = allSkillRefs.map((r) => r.ref);
|
|
350
|
+
const skills = await fetchSkillsByRefs(skillClient, refs);
|
|
351
|
+
if (skills.length > 0) {
|
|
352
|
+
const artifacts = await fetchSkillArtifacts(skillClient, skills);
|
|
353
|
+
const { paths: skillPaths } = await writeSkills(skills, workspaceBackend, artifacts);
|
|
354
|
+
for (const skill of skills) {
|
|
355
|
+
const slug = skill.metadata?.slug;
|
|
356
|
+
const id = skill.metadata?.id;
|
|
357
|
+
if (slug && id) {
|
|
358
|
+
skillsBySlug.set(slug, { skill, path: skillPaths.get(id) ?? "" });
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
console.log(`[subagent-transformer] Fetched ${skills.length} skill(s) for subagents`);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
catch (err) {
|
|
365
|
+
console.error(`[subagent-transformer] Failed to fetch skills for subagents: ${err}`);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
// Step 2: Transform proto subagents
|
|
369
|
+
const transformed = [];
|
|
370
|
+
for (const subAgent of subAgents) {
|
|
371
|
+
if (BUILTIN_SUBAGENT_TYPES.has(subAgent.name)) {
|
|
372
|
+
console.warn(`[subagent-transformer] Sub-agent name '${subAgent.name}' conflicts with ` +
|
|
373
|
+
"built-in type. The proto definition will override the built-in.");
|
|
374
|
+
}
|
|
375
|
+
try {
|
|
376
|
+
const result = await transformSingleSubagent(subAgent, {
|
|
377
|
+
parentMcpTools,
|
|
378
|
+
parentMcpServerToolMap,
|
|
379
|
+
parentMcpUsages,
|
|
380
|
+
parentHasNativeThinking,
|
|
381
|
+
parentModelName,
|
|
382
|
+
});
|
|
383
|
+
if (result) {
|
|
384
|
+
// Apply MCP filtering for this subagent
|
|
385
|
+
const mcpTools = filterMcpToolsForSubagent(subAgent.mcpAccess, parentMcpServerToolMap, parentMcpUsages);
|
|
386
|
+
// Resolve skills prompt section for this subagent
|
|
387
|
+
const skillsSection = resolveSubagentSkillPrompt(subAgent, skillsBySlug);
|
|
388
|
+
const enhancedPrompt = skillsSection
|
|
389
|
+
? result.systemPrompt.replace(RESPONSE_RULES, skillsSection + RESPONSE_RULES)
|
|
390
|
+
: result.systemPrompt;
|
|
391
|
+
transformed.push({
|
|
392
|
+
...result,
|
|
393
|
+
systemPrompt: enhancedPrompt,
|
|
394
|
+
tools: [...mcpTools, ...result.tools],
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
catch (err) {
|
|
399
|
+
console.error(`[subagent-transformer] Failed to transform sub-agent '${subAgent.name}': ${err}`);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
// Step 3: Merge built-ins with transformed (proto overrides take precedence)
|
|
403
|
+
const protoNames = new Set(transformed.map((t) => t.name));
|
|
404
|
+
const allSpecs = [
|
|
405
|
+
...builtins.filter((b) => !protoNames.has(b.name)),
|
|
406
|
+
...transformed,
|
|
407
|
+
];
|
|
408
|
+
if (allSpecs.length === 0) {
|
|
409
|
+
console.warn("[subagent-transformer] No valid subagents after transformation");
|
|
410
|
+
return null;
|
|
411
|
+
}
|
|
412
|
+
// Step 4: Compile all subagents
|
|
413
|
+
const compiled = await compileSubagents(allSpecs, {
|
|
414
|
+
costCap,
|
|
415
|
+
parentModelName,
|
|
416
|
+
workspaceRootDir: workspaceBackend.rootDir,
|
|
417
|
+
modelFactory,
|
|
418
|
+
});
|
|
419
|
+
if (compiled.length === 0) {
|
|
420
|
+
console.warn("[subagent-transformer] No subagents compiled successfully");
|
|
421
|
+
return null;
|
|
422
|
+
}
|
|
423
|
+
console.log(`[subagent-transformer] Successfully compiled ${compiled.length} sub-agent(s)`);
|
|
424
|
+
return compiled;
|
|
425
|
+
}
|
|
426
|
+
// =========================================================================
|
|
427
|
+
// Private helpers
|
|
428
|
+
// =========================================================================
|
|
429
|
+
/**
|
|
430
|
+
* Check if a model supports native extended thinking.
|
|
431
|
+
*
|
|
432
|
+
* Heuristic: models with "claude" in the name that are NOT haiku-class
|
|
433
|
+
* support thinking. Models with "o1", "o3", "o4" support reasoning.
|
|
434
|
+
* This is a conservative heuristic — err on the side of injecting the
|
|
435
|
+
* think tool (it's harmless if the model already thinks natively).
|
|
436
|
+
*/
|
|
437
|
+
async function _modelSupportsThinking(modelId) {
|
|
438
|
+
const lower = modelId.toLowerCase();
|
|
439
|
+
if (lower.includes("haiku"))
|
|
440
|
+
return false;
|
|
441
|
+
if (lower.includes("gpt-4o-mini"))
|
|
442
|
+
return false;
|
|
443
|
+
if (lower.includes("claude") && (lower.includes("sonnet") || lower.includes("opus")))
|
|
444
|
+
return true;
|
|
445
|
+
if (lower.includes("o1") || lower.includes("o3") || lower.includes("o4")) {
|
|
446
|
+
return true;
|
|
447
|
+
}
|
|
448
|
+
return false;
|
|
449
|
+
}
|
|
450
|
+
//# sourceMappingURL=subagent-transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagent-transformer.js","sourceRoot":"","sources":["../../../src/activities/execute-deep-agent/subagent-transformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sub-agent middleware composition for ExecuteDeepAgent.
|
|
3
|
+
*
|
|
4
|
+
* Each sub-agent gets its own middleware stack with:
|
|
5
|
+
* - Fresh loop detection (independent cycle tracking)
|
|
6
|
+
* - Fresh tool truncation (same limits as parent)
|
|
7
|
+
* - Periodic execution budget (interval=30, max=4 advisories)
|
|
8
|
+
* - Shared cost cap view (parent's budget, no reset on sub-agent start)
|
|
9
|
+
*
|
|
10
|
+
* The sub-agent middleware stack does NOT include:
|
|
11
|
+
* - Graceful stop (parent handles STOP signal propagation)
|
|
12
|
+
* - OTel spans (parent's OTel context propagates automatically)
|
|
13
|
+
* - Error hints (applied at tool level, not sub-agent level)
|
|
14
|
+
* - Approval gate (sub-agent interrupts propagate to parent checkpoint)
|
|
15
|
+
*/
|
|
16
|
+
import type { StigmerMiddleware, ToolTruncationConfig } from "../../middleware/types.js";
|
|
17
|
+
import type { CostCapMiddleware } from "../../middleware/index.js";
|
|
18
|
+
export interface SubAgentMiddlewareOptions {
|
|
19
|
+
readonly costCap?: CostCapMiddleware;
|
|
20
|
+
readonly toolTruncation?: Partial<ToolTruncationConfig>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Build the middleware stack for a single sub-agent.
|
|
24
|
+
*
|
|
25
|
+
* Returns an ordered array matching the Python `compile_subagent` composition:
|
|
26
|
+
* loop detection → execution budget (periodic) → tool truncation → cost cap view.
|
|
27
|
+
*/
|
|
28
|
+
export declare function buildSubAgentMiddleware(options?: SubAgentMiddlewareOptions): StigmerMiddleware[];
|