@stigmer/runner 3.10.0 → 3.11.1-dev.20260812192248
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 +14 -1
- package/dist/.build-fingerprint +1 -1
- package/dist/activities/call-llm.js +9 -10
- package/dist/activities/call-llm.js.map +1 -1
- package/dist/activities/classify-tool-approvals.d.ts +2 -1
- package/dist/activities/classify-tool-approvals.js +28 -2
- package/dist/activities/classify-tool-approvals.js.map +1 -1
- package/dist/activities/discover-mcp-server.d.ts +39 -0
- package/dist/activities/discover-mcp-server.js +165 -28
- package/dist/activities/discover-mcp-server.js.map +1 -1
- package/dist/activities/emit-event.d.ts +14 -2
- package/dist/activities/emit-event.js +52 -17
- package/dist/activities/emit-event.js.map +1 -1
- package/dist/activities/execute-cursor/__test-utils__/cursor-hook-harness.d.ts +8 -0
- package/dist/activities/execute-cursor/__test-utils__/cursor-hook-harness.js +1 -1
- package/dist/activities/execute-cursor/__test-utils__/cursor-hook-harness.js.map +1 -1
- package/dist/activities/execute-cursor/approval-state.d.ts +28 -2
- package/dist/activities/execute-cursor/approval-state.js +7 -1
- package/dist/activities/execute-cursor/approval-state.js.map +1 -1
- package/dist/activities/execute-cursor/attachment-resolver.d.ts +14 -0
- package/dist/activities/execute-cursor/attachment-resolver.js +18 -4
- package/dist/activities/execute-cursor/attachment-resolver.js.map +1 -1
- package/dist/activities/execute-cursor/blueprint-resolver.d.ts +1 -9
- package/dist/activities/execute-cursor/blueprint-resolver.js +6 -22
- package/dist/activities/execute-cursor/blueprint-resolver.js.map +1 -1
- package/dist/activities/execute-cursor/env-resolver.js +3 -1
- package/dist/activities/execute-cursor/env-resolver.js.map +1 -1
- package/dist/activities/execute-cursor/error-classifier.d.ts +59 -3
- package/dist/activities/execute-cursor/error-classifier.js +115 -6
- package/dist/activities/execute-cursor/error-classifier.js.map +1 -1
- package/dist/activities/execute-cursor/extract-structured-output.d.ts +29 -0
- package/dist/activities/execute-cursor/extract-structured-output.js +58 -0
- package/dist/activities/execute-cursor/extract-structured-output.js.map +1 -0
- package/dist/activities/execute-cursor/hook-script.d.ts +14 -3
- package/dist/activities/execute-cursor/hook-script.js +72 -10
- package/dist/activities/execute-cursor/hook-script.js.map +1 -1
- package/dist/activities/execute-cursor/index.d.ts +51 -11
- package/dist/activities/execute-cursor/index.js +177 -93
- package/dist/activities/execute-cursor/index.js.map +1 -1
- package/dist/activities/execute-cursor/mcp-resolver.d.ts +24 -1
- package/dist/activities/execute-cursor/mcp-resolver.js +5 -2
- package/dist/activities/execute-cursor/mcp-resolver.js.map +1 -1
- package/dist/activities/execute-cursor/model-pricing-data.d.ts +2 -0
- package/dist/activities/execute-cursor/model-pricing-data.js +13 -3
- package/dist/activities/execute-cursor/model-pricing-data.js.map +1 -1
- package/dist/activities/execute-cursor/prompt-builder.d.ts +51 -4
- package/dist/activities/execute-cursor/prompt-builder.js +49 -7
- package/dist/activities/execute-cursor/prompt-builder.js.map +1 -1
- package/dist/activities/execute-cursor/turn-recovery.d.ts +52 -0
- package/dist/activities/execute-cursor/turn-recovery.js +193 -0
- package/dist/activities/execute-cursor/turn-recovery.js.map +1 -0
- package/dist/activities/execute-cursor/turn-stream.js +4 -1
- package/dist/activities/execute-cursor/turn-stream.js.map +1 -1
- package/dist/activities/execute-deep-agent/attachment-injector.d.ts +18 -1
- package/dist/activities/execute-deep-agent/attachment-injector.js +68 -23
- package/dist/activities/execute-deep-agent/attachment-injector.js.map +1 -1
- package/dist/activities/execute-deep-agent/environment.js +3 -1
- package/dist/activities/execute-deep-agent/environment.js.map +1 -1
- package/dist/activities/execute-deep-agent/index.js +15 -0
- package/dist/activities/execute-deep-agent/index.js.map +1 -1
- package/dist/activities/execute-deep-agent/prompt-builder.d.ts +7 -7
- package/dist/activities/execute-deep-agent/prompt-builder.js +8 -2
- package/dist/activities/execute-deep-agent/prompt-builder.js.map +1 -1
- package/dist/activities/execute-deep-agent/setup.d.ts +10 -0
- package/dist/activities/execute-deep-agent/setup.js +65 -24
- package/dist/activities/execute-deep-agent/setup.js.map +1 -1
- package/dist/activities/execute-deep-agent/shell-env.d.ts +5 -1
- package/dist/activities/execute-deep-agent/shell-env.js +7 -9
- package/dist/activities/execute-deep-agent/shell-env.js.map +1 -1
- package/dist/activities/execute-deep-agent/subagent-transformer.d.ts +18 -1
- package/dist/activities/execute-deep-agent/subagent-transformer.js +15 -2
- package/dist/activities/execute-deep-agent/subagent-transformer.js.map +1 -1
- package/dist/activities/execute-deep-agent/subagent-wiring.d.ts +27 -6
- package/dist/activities/execute-deep-agent/subagent-wiring.js +26 -5
- package/dist/activities/execute-deep-agent/subagent-wiring.js.map +1 -1
- package/dist/activities/hydrate-workflow-execution.js +8 -3
- package/dist/activities/hydrate-workflow-execution.js.map +1 -1
- package/dist/activities/run-command.d.ts +5 -2
- package/dist/activities/run-command.js +22 -10
- package/dist/activities/run-command.js.map +1 -1
- package/dist/activities/run-env.d.ts +40 -0
- package/dist/activities/run-env.js +66 -0
- package/dist/activities/run-env.js.map +1 -0
- package/dist/activities/workflow-event-activities.d.ts +28 -10
- package/dist/activities/workflow-event-activities.js +87 -58
- package/dist/activities/workflow-event-activities.js.map +1 -1
- package/dist/bootstrap.js +5 -0
- package/dist/bootstrap.js.map +1 -1
- package/dist/claimcheck/payload-codec.js +21 -1
- package/dist/claimcheck/payload-codec.js.map +1 -1
- package/dist/client/stigmer-client.d.ts +83 -21
- package/dist/client/stigmer-client.js +106 -29
- package/dist/client/stigmer-client.js.map +1 -1
- package/dist/encryption/config.d.ts +64 -0
- package/dist/encryption/config.js +108 -0
- package/dist/encryption/config.js.map +1 -0
- package/dist/encryption/index.d.ts +3 -0
- package/dist/encryption/index.js +3 -0
- package/dist/encryption/index.js.map +1 -0
- package/dist/encryption/payload-codec.d.ts +41 -0
- package/dist/encryption/payload-codec.js +130 -0
- package/dist/encryption/payload-codec.js.map +1 -0
- package/dist/middleware/index.d.ts +3 -0
- package/dist/middleware/index.js +7 -0
- package/dist/middleware/index.js.map +1 -1
- package/dist/middleware/path-normalization.d.ts +57 -0
- package/dist/middleware/path-normalization.js +109 -0
- package/dist/middleware/path-normalization.js.map +1 -0
- package/dist/middleware/types.d.ts +8 -0
- package/dist/payload-codecs.d.ts +17 -0
- package/dist/payload-codecs.js +42 -0
- package/dist/payload-codecs.js.map +1 -0
- package/dist/preflight.d.ts +31 -0
- package/dist/preflight.js +43 -0
- package/dist/preflight.js.map +1 -1
- package/dist/runner-manager.js +21 -17
- package/dist/runner-manager.js.map +1 -1
- package/dist/runner.js +11 -18
- package/dist/runner.js.map +1 -1
- package/dist/shared/approval-policy.d.ts +9 -3
- package/dist/shared/approval-policy.js +15 -6
- package/dist/shared/approval-policy.js.map +1 -1
- package/dist/shared/artifact-storage.d.ts +23 -1
- package/dist/shared/artifact-storage.js +51 -10
- package/dist/shared/artifact-storage.js.map +1 -1
- package/dist/shared/attachment-naming.d.ts +53 -0
- package/dist/shared/attachment-naming.js +59 -0
- package/dist/shared/attachment-naming.js.map +1 -0
- package/dist/shared/caller-identity.d.ts +23 -2
- package/dist/shared/caller-identity.js +36 -5
- package/dist/shared/caller-identity.js.map +1 -1
- package/dist/shared/channel-attachment.js +1 -0
- package/dist/shared/channel-attachment.js.map +1 -1
- package/dist/shared/checkpointer/http-saver.d.ts +26 -1
- package/dist/shared/checkpointer/http-saver.js +54 -8
- package/dist/shared/checkpointer/http-saver.js.map +1 -1
- package/dist/shared/conversation-attachment.js +1 -0
- package/dist/shared/conversation-attachment.js.map +1 -1
- package/dist/shared/conversation-catchup.d.ts +9 -2
- package/dist/shared/conversation-catchup.js +39 -6
- package/dist/shared/conversation-catchup.js.map +1 -1
- package/dist/shared/datastore-attachment.d.ts +50 -7
- package/dist/shared/datastore-attachment.js +93 -11
- package/dist/shared/datastore-attachment.js.map +1 -1
- package/dist/shared/grpc-retry.d.ts +5 -1
- package/dist/shared/grpc-retry.js +5 -1
- package/dist/shared/grpc-retry.js.map +1 -1
- package/dist/shared/http-retry.d.ts +85 -0
- package/dist/shared/http-retry.js +101 -0
- package/dist/shared/http-retry.js.map +1 -0
- package/dist/shared/llm-backend.d.ts +275 -0
- package/dist/shared/llm-backend.js +425 -0
- package/dist/shared/llm-backend.js.map +1 -0
- package/dist/shared/llm-proxy.d.ts +8 -0
- package/dist/shared/llm-proxy.js +15 -0
- package/dist/shared/llm-proxy.js.map +1 -1
- package/dist/shared/mcp-enabled-tools.d.ts +57 -0
- package/dist/shared/mcp-enabled-tools.js +86 -0
- package/dist/shared/mcp-enabled-tools.js.map +1 -0
- package/dist/shared/mcp-manager.d.ts +11 -5
- package/dist/shared/mcp-manager.js +47 -8
- package/dist/shared/mcp-manager.js.map +1 -1
- package/dist/shared/mcp-resolver.d.ts +39 -2
- package/dist/shared/mcp-resolver.js +38 -2
- package/dist/shared/mcp-resolver.js.map +1 -1
- package/dist/shared/mcp-schema-sanitizer.d.ts +70 -0
- package/dist/shared/mcp-schema-sanitizer.js +197 -0
- package/dist/shared/mcp-schema-sanitizer.js.map +1 -0
- package/dist/shared/model-client.d.ts +18 -5
- package/dist/shared/model-client.js +149 -18
- package/dist/shared/model-client.js.map +1 -1
- package/dist/shared/model-error.js +198 -5
- package/dist/shared/model-error.js.map +1 -1
- package/dist/shared/model-pricing-data.d.ts +2 -0
- package/dist/shared/model-pricing-data.js +13 -3
- package/dist/shared/model-pricing-data.js.map +1 -1
- package/dist/shared/model-registry.js +3 -2
- package/dist/shared/model-registry.js.map +1 -1
- package/dist/shared/plan-mode-permissions.d.ts +33 -0
- package/dist/shared/plan-mode-permissions.js +35 -0
- package/dist/shared/plan-mode-permissions.js.map +1 -0
- package/dist/shared/registry-endpoint.d.ts +20 -0
- package/dist/shared/registry-endpoint.js +25 -0
- package/dist/shared/registry-endpoint.js.map +1 -1
- package/dist/shared/runner-credential-keys.d.ts +24 -0
- package/dist/shared/runner-credential-keys.js +47 -0
- package/dist/shared/runner-credential-keys.js.map +1 -0
- package/dist/worker.d.ts +2 -1
- package/dist/worker.js +2 -4
- package/dist/worker.js.map +1 -1
- package/dist/workflow-engine/resolve.d.ts +19 -1
- package/dist/workflow-engine/resolve.js +37 -2
- package/dist/workflow-engine/resolve.js.map +1 -1
- package/dist/workflow-engine/types.d.ts +18 -0
- package/dist/workflow-engine/types.js.map +1 -1
- package/dist/workflows/call-agent-orchestrator.d.ts +9 -0
- package/dist/workflows/call-agent-orchestrator.js +1 -0
- package/dist/workflows/call-agent-orchestrator.js.map +1 -1
- package/dist/workflows/connect-mcp-server.js +9 -0
- package/dist/workflows/connect-mcp-server.js.map +1 -1
- package/dist/workflows/engine-core.js +23 -2
- package/dist/workflows/engine-core.js.map +1 -1
- package/dist/workflows/execute-from-execution.d.ts +1 -1
- package/dist/workflows/execute-from-execution.js +11 -1
- package/dist/workflows/execute-from-execution.js.map +1 -1
- package/dist/workflows/types.d.ts +8 -0
- package/package.json +9 -4
- package/src/__test-utils__/__tests__/vitest-global-setup.test.ts +37 -0
- package/src/__test-utils__/vitest-global-setup.ts +50 -0
- package/src/__tests__/bootstrap.test.ts +43 -0
- package/src/__tests__/claimcheck-codec.test.ts +36 -0
- package/src/__tests__/encryption-codec.test.ts +287 -0
- package/src/__tests__/fixtures/encrypted-payload-fixture.json +15 -0
- package/src/__tests__/history-encryption-e2e.test.ts +243 -0
- package/src/__tests__/preflight.test.ts +65 -2
- package/src/activities/__tests__/call-llm.test.ts +75 -0
- package/src/activities/__tests__/classify-tool-approvals.test.ts +117 -1
- package/src/activities/__tests__/discover-mcp-server.hang.test.ts +103 -0
- package/src/activities/__tests__/discover-mcp-server.test.ts +242 -1
- package/src/activities/__tests__/error-classifier.test.ts +94 -2
- package/src/activities/__tests__/run-command.test.ts +221 -0
- package/src/activities/__tests__/workflow-event-activities.test.ts +107 -8
- package/src/activities/call-llm.ts +9 -16
- package/src/activities/classify-tool-approvals.ts +34 -4
- package/src/activities/discover-mcp-server.ts +203 -31
- package/src/activities/emit-event.ts +65 -21
- package/src/activities/execute-cursor/__test-utils__/cursor-hook-harness.ts +9 -0
- package/src/activities/execute-cursor/__tests__/approval-gate.test.ts +14 -0
- package/src/activities/execute-cursor/__tests__/attachment-resolver.test.ts +53 -0
- package/src/activities/execute-cursor/__tests__/build-prompt.test.ts +151 -16
- package/src/activities/execute-cursor/__tests__/error-classifier-extraction.test.ts +208 -0
- package/src/activities/execute-cursor/__tests__/extract-structured-output.test.ts +120 -0
- package/src/activities/execute-cursor/__tests__/hook-script.test.ts +93 -0
- package/src/activities/execute-cursor/__tests__/mcp-resolver.test.ts +125 -0
- package/src/activities/execute-cursor/__tests__/model-pricing.test.ts +62 -1
- package/src/activities/execute-cursor/__tests__/prompt-builder-delegation.test.ts +1 -1
- package/src/activities/execute-cursor/__tests__/turn-recovery.test.ts +160 -0
- package/src/activities/execute-cursor/__tests__/turn-stream.test.ts +13 -0
- package/src/activities/execute-cursor/approval-state.ts +30 -1
- package/src/activities/execute-cursor/attachment-resolver.ts +31 -3
- package/src/activities/execute-cursor/blueprint-resolver.ts +7 -27
- package/src/activities/execute-cursor/env-resolver.ts +3 -1
- package/src/activities/execute-cursor/error-classifier.ts +131 -7
- package/src/activities/execute-cursor/extract-structured-output.ts +72 -0
- package/src/activities/execute-cursor/hook-script.ts +74 -10
- package/src/activities/execute-cursor/index.ts +209 -109
- package/src/activities/execute-cursor/mcp-resolver.ts +36 -2
- package/src/activities/execute-cursor/model-pricing-data.ts +22 -3
- package/src/activities/execute-cursor/prompt-builder.ts +85 -9
- package/src/activities/execute-cursor/turn-recovery.ts +208 -0
- package/src/activities/execute-cursor/turn-stream.ts +5 -2
- package/src/activities/execute-deep-agent/__tests__/attachment-injector.test.ts +110 -8
- package/src/activities/execute-deep-agent/__tests__/datastore-degradation.test.ts +104 -0
- package/src/activities/execute-deep-agent/__tests__/hitl-reject.test.ts +2 -0
- package/src/activities/execute-deep-agent/__tests__/hitl-resume-approve-all.test.ts +1 -0
- package/src/activities/execute-deep-agent/__tests__/hitl-resume-history.test.ts +1 -0
- package/src/activities/execute-deep-agent/__tests__/plan-mode-path-normalization.test.ts +174 -0
- package/src/activities/execute-deep-agent/__tests__/prompt-builder.test.ts +34 -5
- package/src/activities/execute-deep-agent/__tests__/sequential-gate-resume.test.ts +1 -0
- package/src/activities/execute-deep-agent/__tests__/shell-env.test.ts +24 -10
- package/src/activities/execute-deep-agent/__tests__/subagent-plan-mode-permissions.test.ts +178 -0
- package/src/activities/execute-deep-agent/__tests__/subagent-wiring.test.ts +12 -7
- package/src/activities/execute-deep-agent/attachment-injector.ts +94 -30
- package/src/activities/execute-deep-agent/environment.ts +3 -1
- package/src/activities/execute-deep-agent/index.ts +20 -0
- package/src/activities/execute-deep-agent/prompt-builder.ts +20 -10
- package/src/activities/execute-deep-agent/setup.ts +85 -29
- package/src/activities/execute-deep-agent/shell-env.ts +8 -9
- package/src/activities/execute-deep-agent/subagent-transformer.ts +30 -2
- package/src/activities/execute-deep-agent/subagent-wiring.ts +39 -6
- package/src/activities/hydrate-workflow-execution.ts +8 -3
- package/src/activities/run-command.ts +25 -12
- package/src/activities/run-env.ts +79 -0
- package/src/activities/workflow-event-activities.ts +96 -69
- package/src/bootstrap.ts +5 -0
- package/src/claimcheck/payload-codec.ts +33 -1
- package/src/client/__tests__/stigmer-client.test.ts +110 -11
- package/src/client/stigmer-client.ts +150 -37
- package/src/encryption/config.ts +155 -0
- package/src/encryption/index.ts +3 -0
- package/src/encryption/payload-codec.ts +152 -0
- package/src/middleware/__tests__/path-normalization.test.ts +140 -0
- package/src/middleware/index.ts +8 -0
- package/src/middleware/path-normalization.ts +125 -0
- package/src/middleware/types.ts +11 -0
- package/src/payload-codecs.ts +62 -0
- package/src/preflight.ts +45 -0
- package/src/runner-manager.ts +26 -26
- package/src/runner.ts +12 -27
- package/src/shared/__tests__/approval-policy.test.ts +82 -39
- package/src/shared/__tests__/artifact-storage.test.ts +145 -2
- package/src/shared/__tests__/attachment-naming.test.ts +159 -0
- package/src/shared/__tests__/bedrock-adapter.test.ts +213 -0
- package/src/shared/__tests__/bedrock-seam.test.ts +390 -0
- package/src/shared/__tests__/caller-identity.test.ts +25 -0
- package/src/shared/__tests__/channel-attachment.test.ts +1 -1
- package/src/shared/__tests__/connect-backfill.test.ts +1 -0
- package/src/shared/__tests__/conversation-attachment.test.ts +1 -1
- package/src/shared/__tests__/conversation-catchup.test.ts +24 -0
- package/src/shared/__tests__/datastore-attachment.test.ts +129 -1
- package/src/shared/__tests__/foundry-adapter.test.ts +276 -0
- package/src/shared/__tests__/foundry-seam.test.ts +482 -0
- package/src/shared/__tests__/http-retry.test.ts +68 -0
- package/src/shared/__tests__/llm-backend.test.ts +616 -0
- package/src/shared/__tests__/mcp-enabled-tools.test.ts +86 -0
- package/src/shared/__tests__/mcp-manager.test.ts +137 -15
- package/src/shared/__tests__/mcp-resolver.test.ts +146 -3
- package/src/shared/__tests__/mcp-schema-sanitizer.test.ts +267 -0
- package/src/shared/__tests__/model-client.test.ts +200 -0
- package/src/shared/__tests__/model-error.test.ts +289 -1
- package/src/shared/__tests__/model-pricing.test.ts +62 -2
- package/src/shared/__tests__/model-registry.test.ts +22 -0
- package/src/shared/__tests__/synthesized-attachment.test.ts +1 -0
- package/src/shared/__tests__/vertex-adapter.test.ts +169 -0
- package/src/shared/__tests__/vertex-seam.test.ts +295 -0
- package/src/shared/approval-policy.ts +14 -7
- package/src/shared/artifact-storage.ts +75 -10
- package/src/shared/attachment-naming.ts +78 -0
- package/src/shared/caller-identity.ts +40 -5
- package/src/shared/channel-attachment.ts +1 -0
- package/src/shared/checkpointer/__tests__/http-saver.test.ts +196 -1
- package/src/shared/checkpointer/http-saver.ts +71 -8
- package/src/shared/conversation-attachment.ts +1 -0
- package/src/shared/conversation-catchup.ts +39 -6
- package/src/shared/datastore-attachment.ts +106 -11
- package/src/shared/grpc-retry.ts +5 -1
- package/src/shared/http-retry.ts +139 -0
- package/src/shared/llm-backend.ts +544 -0
- package/src/shared/llm-proxy.ts +15 -0
- package/src/shared/mcp-enabled-tools.ts +105 -0
- package/src/shared/mcp-manager.ts +56 -8
- package/src/shared/mcp-resolver.ts +73 -2
- package/src/shared/mcp-schema-sanitizer.ts +224 -0
- package/src/shared/model-client.ts +179 -19
- package/src/shared/model-error.ts +222 -4
- package/src/shared/model-pricing-data.ts +22 -3
- package/src/shared/model-registry.ts +7 -2
- package/src/shared/plan-mode-permissions.ts +37 -0
- package/src/shared/registry-endpoint.ts +27 -0
- package/src/shared/runner-credential-keys.ts +46 -0
- package/src/worker.ts +4 -5
- package/src/workflow-engine/__tests__/tasks/emit-event.test.ts +127 -49
- package/src/workflow-engine/resolve.ts +48 -2
- package/src/workflow-engine/types.ts +18 -0
- package/src/workflows/__tests__/connect-mcp-server.test.ts +25 -0
- package/src/workflows/__tests__/execute-serverless-workflow.test.ts +68 -2
- package/src/workflows/call-agent-orchestrator.ts +10 -0
- package/src/workflows/connect-mcp-server.ts +9 -0
- package/src/workflows/engine-core.ts +23 -2
- package/src/workflows/execute-from-execution.ts +12 -2
- package/src/workflows/types.ts +8 -0
- package/dist/activities/execute-cursor/mcp-config.d.ts +0 -30
- package/dist/activities/execute-cursor/mcp-config.js +0 -39
- package/dist/activities/execute-cursor/mcp-config.js.map +0 -1
- package/src/activities/execute-cursor/mcp-config.ts +0 -66
package/README.md
CHANGED
|
@@ -173,9 +173,22 @@ All configuration is environment-driven. Names and defaults below are verified a
|
|
|
173
173
|
| `LOCAL_ARTIFACT_PATH` | Local storage | No | `~/.stigmer/data/artifacts` | Filesystem root of the local artifact store. **Must equal the stigmer-server's `ARTIFACT_LOCAL_BASE_PATH`** — in local mode the server writes an artifact to `<ARTIFACT_LOCAL_BASE_PATH>/<key>` and the runner reads it from `<LOCAL_ARTIFACT_PATH>/<key>`, so a mismatch makes every storage-key attachment and offload fail to resolve. The defaults align out of the box; the CLI local daemon sets both explicitly. |
|
|
174
174
|
| `LOCAL_ARTIFACT_SERVE_URL` | Local storage | No | `http://localhost:7235` | Base URL of the server's artifact HTTP file server (its `ARTIFACT_HTTP_PORT`, default `GRPC_PORT + 1`). Used for blob downloads; the runner's own read-back goes straight to disk. |
|
|
175
175
|
|
|
176
|
+
### Payload encryption (Temporal history at rest)
|
|
177
|
+
|
|
178
|
+
The encryption codec encrypts every Temporal payload the runner produces (AES-256-GCM), so decrypted execution-context secrets never rest in workflow history or the Temporal UI. Payloads the runner did not encrypt (orchestrator inputs, signals, pre-rollout histories) pass through untouched. A key without its id — or a malformed key — fails the boot rather than silently running plaintext.
|
|
179
|
+
|
|
180
|
+
Keys come from two sources with strict precedence: the env vars below (the operator's explicit choice — self-hosted deployments and cloud sandboxes), or, when the env is silent, server-managed per-identity keys delivered by `getRunnerBootstrapConfig` (desktop-class runners on cloud; held in memory only, re-fetched each boot). See `src/encryption/config.ts`.
|
|
181
|
+
|
|
182
|
+
| Variable | Applies to | Required | Default | Purpose |
|
|
183
|
+
|----------|-----------|----------|---------|---------|
|
|
184
|
+
| `STIGMER_PAYLOAD_ENCRYPTION_KEY` | All | No | _(unset — encryption off)_ | Base64-encoded 32-byte AES-256 key. Setting it enables the codec. |
|
|
185
|
+
| `STIGMER_PAYLOAD_ENCRYPTION_KEY_ID` | Payload encryption | With the key | _(none)_ | Identifier stamped on every encrypted payload so rotation can tell keys apart. Required when the key is set. |
|
|
186
|
+
| `STIGMER_PAYLOAD_ENCRYPTION_SECONDARY_KEY` | Payload encryption | No | _(unset)_ | Decrypt-only key accepted during rotation windows (payloads written under the previous key stay readable). |
|
|
187
|
+
| `STIGMER_PAYLOAD_ENCRYPTION_SECONDARY_KEY_ID` | Payload encryption | With the secondary key | _(none)_ | Key id of the secondary key. |
|
|
188
|
+
|
|
176
189
|
### Claim-check (large Temporal payloads)
|
|
177
190
|
|
|
178
|
-
The claim-check codec offloads oversized Temporal payloads to artifact storage and passes a reference instead.
|
|
191
|
+
The claim-check codec offloads oversized Temporal payloads to artifact storage and passes a reference instead. When payload encryption is enabled, encryption runs first, so offloaded blobs are ciphertext.
|
|
179
192
|
|
|
180
193
|
| Variable | Applies to | Required | Default | Purpose |
|
|
181
194
|
|----------|-----------|----------|---------|---------|
|
package/dist/.build-fingerprint
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"hash":"
|
|
1
|
+
{"hash":"25c3d77a6cc06f15","builtAt":"2026-08-12T19:27:53.336Z","fileCount":290}
|
|
@@ -23,6 +23,7 @@ import { inferProvider, stripProviderPrefix, } from "../shared/llm-proxy.js";
|
|
|
23
23
|
import { computeLlmCostMicros, ensureLoaded as ensurePricingLoaded } from "../shared/model-pricing.js";
|
|
24
24
|
import { resolveToApiModelId } from "../shared/model-registry.js";
|
|
25
25
|
import { buildChatModel } from "../shared/model-client.js";
|
|
26
|
+
import { checkDirectCredentials } from "../shared/llm-backend.js";
|
|
26
27
|
import { classifyModelCallError } from "../shared/model-error.js";
|
|
27
28
|
/**
|
|
28
29
|
* Stream a chat model invocation and collect the response.
|
|
@@ -108,17 +109,15 @@ export async function callLlmAction(config, runtimeEnv, executionId) {
|
|
|
108
109
|
const proxyActive = !!(proxyEndpoint && stigmerToken);
|
|
109
110
|
console.log(`[call-llm] model=${modelId} provider=${provider} proxy=${proxyActive} ` +
|
|
110
111
|
`structured=${!!config.response_schema} execution=${executionId}`);
|
|
111
|
-
// Direct mode (no proxy) requires
|
|
112
|
-
//
|
|
113
|
-
//
|
|
112
|
+
// Direct mode (no proxy) requires a usable credential path — the provider's
|
|
113
|
+
// own API key, or a configured model backend that authenticates itself
|
|
114
|
+
// (vertex uses Google ADC; requiring an Anthropic key there would reject a
|
|
115
|
+
// correctly-configured deployment). Validated here rather than in
|
|
116
|
+
// buildChatModel so the shared module stays free of Temporal failure types.
|
|
114
117
|
if (!proxyActive) {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
if (provider === "anthropic" && !process.env.ANTHROPIC_API_KEY) {
|
|
120
|
-
throw ApplicationFailure.nonRetryable(`ANTHROPIC_API_KEY is not set and no proxy is configured. ` +
|
|
121
|
-
`Set the API key in your environment or connect to a Stigmer Cloud deployment.`, "LLM_MISSING_API_KEY");
|
|
118
|
+
const missing = checkDirectCredentials(provider);
|
|
119
|
+
if (missing !== null) {
|
|
120
|
+
throw ApplicationFailure.nonRetryable(missing, "LLM_MISSING_API_KEY");
|
|
122
121
|
}
|
|
123
122
|
}
|
|
124
123
|
// Anthropic requires an explicit maxTokens; preserve the 4096 default here
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-llm.js","sourceRoot":"","sources":["../../src/activities/call-llm.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"call-llm.js","sourceRoot":"","sources":["../../src/activities/call-llm.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,7 +44,8 @@ export interface ToolApprovalResult {
|
|
|
44
44
|
from_destructive_hint?: boolean;
|
|
45
45
|
}
|
|
46
46
|
export interface ClassifyToolsOptions {
|
|
47
|
-
|
|
47
|
+
/** Null when the deployment has no proxy — the runner calls providers directly. */
|
|
48
|
+
proxyEndpoint: string | null;
|
|
48
49
|
stigmerToken: string | null;
|
|
49
50
|
primaryModel: string;
|
|
50
51
|
}
|
|
@@ -22,6 +22,8 @@ import { SystemMessage, HumanMessage } from "@langchain/core/messages";
|
|
|
22
22
|
import { activityStarted, activityFinished } from "../idle-watchdog.js";
|
|
23
23
|
import { getSummarizationModel } from "../shared/model-registry.js";
|
|
24
24
|
import { buildChatModel } from "../shared/model-client.js";
|
|
25
|
+
import { checkDirectCredentials } from "../shared/llm-backend.js";
|
|
26
|
+
import { tryInferProvider } from "../shared/llm-proxy.js";
|
|
25
27
|
const BATCH_SIZE = 40;
|
|
26
28
|
const MAX_TOKENS_PER_TOOL = 60;
|
|
27
29
|
const MIN_MAX_TOKENS = 4096;
|
|
@@ -88,6 +90,23 @@ export async function classifyTools(input, options) {
|
|
|
88
90
|
return [];
|
|
89
91
|
}
|
|
90
92
|
const model = await getSummarizationModel(options.primaryModel);
|
|
93
|
+
// Direct mode with no credential path fails closed up front, with one
|
|
94
|
+
// actionable message instead of a provider 401 per batch. The message
|
|
95
|
+
// names the economy model and its provider because classification's
|
|
96
|
+
// provider follows the economy-model resolution, not the operator's key:
|
|
97
|
+
// "OPENAI_API_KEY is missing" is baffling to an operator holding an
|
|
98
|
+
// Anthropic key unless the log says which model classification wanted.
|
|
99
|
+
if (!options.proxyEndpoint) {
|
|
100
|
+
const provider = tryInferProvider(model);
|
|
101
|
+
const missing = provider === null ? null : checkDirectCredentials(provider);
|
|
102
|
+
if (missing !== null) {
|
|
103
|
+
console.warn(`[ClassifyToolApprovals] Cannot classify ${tools.length} tool(s) for ` +
|
|
104
|
+
`'${serverName}': the classifier model '${model}' (${provider}) has no ` +
|
|
105
|
+
`credential path — failing closed, every tool requires approval until ` +
|
|
106
|
+
`a reconnect re-classifies it. ${missing}`);
|
|
107
|
+
return fallbackApprovals(tools);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
91
110
|
const batches = [];
|
|
92
111
|
for (let i = 0; i < tools.length; i += BATCH_SIZE) {
|
|
93
112
|
batches.push(tools.slice(i, i + BATCH_SIZE));
|
|
@@ -141,7 +160,7 @@ async function classifyBatch(params) {
|
|
|
141
160
|
// primary this routes to Claude, not the hardcoded OpenAI path it used to.
|
|
142
161
|
const { model: llm } = await buildChatModel({
|
|
143
162
|
modelName: model,
|
|
144
|
-
proxyEndpoint,
|
|
163
|
+
proxyEndpoint: proxyEndpoint ?? undefined,
|
|
145
164
|
stigmerToken: stigmerToken ?? undefined,
|
|
146
165
|
headerScope: { mcpServerId: mcpServerId ?? undefined },
|
|
147
166
|
maxTokens,
|
|
@@ -244,8 +263,15 @@ export function createClassifyToolApprovalsActivities(config) {
|
|
|
244
263
|
activityStarted();
|
|
245
264
|
try {
|
|
246
265
|
console.log(`[ClassifyToolApprovals] Activity started: ${input.tools.length} tools for '${input.serverName}'`);
|
|
266
|
+
// Only a real proxy is an LLM proxy. stigmerBackendEndpoint (the
|
|
267
|
+
// gRPC control plane) serves no /v1/proxy/llm route — coercing it
|
|
268
|
+
// into one here used to 404 every classification in unproxied OSS
|
|
269
|
+
// and silently disable the vertex backend for this activity. (The
|
|
270
|
+
// registry fetch legitimately falls back to the backend endpoint —
|
|
271
|
+
// see shared/registry-endpoint.ts — because the control plane DOES
|
|
272
|
+
// serve /v1/proxy/model-registry; that fallback does not port here.)
|
|
247
273
|
return await classifyTools(input, {
|
|
248
|
-
proxyEndpoint: config.proxyEndpoint
|
|
274
|
+
proxyEndpoint: config.proxyEndpoint,
|
|
249
275
|
stigmerToken: config.stigmerToken,
|
|
250
276
|
primaryModel: config.primaryModel,
|
|
251
277
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classify-tool-approvals.js","sourceRoot":"","sources":["../../src/activities/classify-tool-approvals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"classify-tool-approvals.js","sourceRoot":"","sources":["../../src/activities/classify-tool-approvals.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,12 +18,20 @@
|
|
|
18
18
|
* Output: DiscoverMcpServerOutput
|
|
19
19
|
*/
|
|
20
20
|
import { StigmerClient } from "../client/stigmer-client.js";
|
|
21
|
+
import { type ResolvedMcpServer } from "../shared/mcp-resolver.js";
|
|
21
22
|
import { type McpTransportPosture } from "../shared/mcp-transport-guard.js";
|
|
22
23
|
import type { McpServer } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/api_pb";
|
|
23
24
|
import type { Config } from "../config.js";
|
|
24
25
|
export interface DiscoverMcpServerInput {
|
|
25
26
|
mcpServerId: string;
|
|
26
27
|
executionContextId?: string | null;
|
|
28
|
+
/**
|
|
29
|
+
* Execution-scoped token unlocking the connect EC's decrypted credentials
|
|
30
|
+
* (oss#535). Minted by the OSS handler and carried with the work item —
|
|
31
|
+
* discovery has no execution of its own to exchange for one. Absent on
|
|
32
|
+
* cloud, where the ambient connect_sandbox credential decrypts.
|
|
33
|
+
*/
|
|
34
|
+
executionContextToken?: string | null;
|
|
27
35
|
invokerIdentityAccountId?: string | null;
|
|
28
36
|
}
|
|
29
37
|
export interface DiscoveredToolResult {
|
|
@@ -55,6 +63,24 @@ export interface ToolApprovalDict {
|
|
|
55
63
|
requiresApproval: boolean;
|
|
56
64
|
message: string;
|
|
57
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Raised when the credentials a server declares could not be delivered to
|
|
68
|
+
* discovery — the ExecutionContext read failed, came back empty, or returned
|
|
69
|
+
* redacted values (issue #239).
|
|
70
|
+
*
|
|
71
|
+
* Exists because the alternative is strictly worse: proceeding without the
|
|
72
|
+
* declared credentials either dies later as an opaque
|
|
73
|
+
* PlaceholderResolutionError (when a header/arg templates the missing var) or
|
|
74
|
+
* dials the endpoint with a garbage credential and strands the connect in the
|
|
75
|
+
* 4xx → SSE-fallback limbo this file's init bounds exist to contain. Failing
|
|
76
|
+
* here names the ROOT cause — credential delivery — instead of its downstream
|
|
77
|
+
* symptom. The message is user-facing and self-contained: it survives the
|
|
78
|
+
* Temporal boundary and the Go/Java connect wrappers include it in the
|
|
79
|
+
* user-facing failure text.
|
|
80
|
+
*/
|
|
81
|
+
export declare class CredentialResolutionError extends Error {
|
|
82
|
+
constructor(message: string);
|
|
83
|
+
}
|
|
58
84
|
export declare function toolsFingerprint(tools: DiscoveredToolResult[]): string;
|
|
59
85
|
interface PreviousState {
|
|
60
86
|
fingerprint: string;
|
|
@@ -75,6 +101,19 @@ export interface DiscoverDeps {
|
|
|
75
101
|
transportPosture: McpTransportPosture;
|
|
76
102
|
}
|
|
77
103
|
export declare function discoverMcpServer(input: DiscoverMcpServerInput, deps: DiscoverDeps): Promise<DiscoverMcpServerOutput>;
|
|
104
|
+
/**
|
|
105
|
+
* Pick the session-init bound for a resolved server's transport.
|
|
106
|
+
*
|
|
107
|
+
* Exported for tests; pure so the timeout choice (the load-bearing half of
|
|
108
|
+
* the issue-#239 fix) can be pinned without wiring a slow clock.
|
|
109
|
+
*/
|
|
110
|
+
export declare function initTimeoutMsFor(connectionType: ResolvedMcpServer["connectionType"]): number;
|
|
111
|
+
/**
|
|
112
|
+
* The user-facing message for a session-init timeout. Names the endpoint (or
|
|
113
|
+
* command) so the failure is diagnosable from the message alone, and explains
|
|
114
|
+
* the known silent-hang shape for HTTP endpoints — issue #239's mechanism.
|
|
115
|
+
*/
|
|
116
|
+
export declare function initTimeoutMessageFor(slug: string, resolved: ResolvedMcpServer): string;
|
|
78
117
|
export declare function createDiscoverMcpServerActivities(config: Config): {
|
|
79
118
|
DiscoverMcpServerCapabilities: (input: DiscoverMcpServerInput) => Promise<DiscoverMcpServerOutput>;
|
|
80
119
|
};
|
|
@@ -26,11 +26,63 @@ import { toMcpClientConfig } from "../shared/mcp-manager.js";
|
|
|
26
26
|
import { assertTransportAllowed, resolveMcpTransportPosture, } from "../shared/mcp-transport-guard.js";
|
|
27
27
|
import { detectOAuthChallenge } from "../shared/mcp-oauth-detect.js";
|
|
28
28
|
import { injectAnonymousCallerIdentityForDiscovery } from "../shared/caller-identity.js";
|
|
29
|
+
import { startHeartbeat } from "../shared/heartbeat.js";
|
|
29
30
|
import { withTimeout } from "../shared/with-timeout.js";
|
|
30
|
-
|
|
31
|
+
/**
|
|
32
|
+
* MCP session-init bounds, per transport (issue #239).
|
|
33
|
+
*
|
|
34
|
+
* A remote endpoint that accepts a connection but never completes the MCP
|
|
35
|
+
* handshake would otherwise hang initialization forever: the MCP SDK's SSE
|
|
36
|
+
* transport resolves only on the server's `endpoint` event, with no timer of
|
|
37
|
+
* its own, and mcp-adapters silently falls back to SSE whenever the
|
|
38
|
+
* streamable-HTTP POST is answered with a 4xx (monday.com's endpoint did
|
|
39
|
+
* exactly this — 4xx on POST, then a silently-open SSE stream).
|
|
40
|
+
*
|
|
41
|
+
* HTTP endpoints get a short bound: there is nothing to install or compile,
|
|
42
|
+
* so a healthy endpoint completes the handshake in seconds — a short bound is
|
|
43
|
+
* what converts the silent hang into a fast, actionable failure (with room for
|
|
44
|
+
* the 10s OAuth re-probe on the failure path). stdio servers keep the generous
|
|
45
|
+
* bound because their first run may compile or install packages (`go run`,
|
|
46
|
+
* `npx`) — the cold-start case (issue #243). The OSS server's connect-workflow
|
|
47
|
+
* run timeout (connectTimeout, controller/connect.go) is derived from the
|
|
48
|
+
* stdio bound + the classification floor, so both errors stay reachable.
|
|
49
|
+
*/
|
|
50
|
+
const HTTP_INIT_TIMEOUT_MS = 30_000;
|
|
51
|
+
const STDIO_INIT_TIMEOUT_MS = 270_000;
|
|
52
|
+
/**
|
|
53
|
+
* The server-side secret-redaction sentinel. Byte-for-byte the value both
|
|
54
|
+
* editions substitute for secret values a caller may not decrypt
|
|
55
|
+
* (`SecretEncryptionService.REDACTED_MARKER` in stigmer-cloud,
|
|
56
|
+
* `RedactedMarker` in the OSS Go server). Discovery dialing an
|
|
57
|
+
* endpoint with a redacted credential is guaranteed to fail confusingly
|
|
58
|
+
* (e.g. `Authorization: Bearer ***REDACTED***` → 401 → SSE-fallback limbo),
|
|
59
|
+
* so it is refused up front with an actionable error instead.
|
|
60
|
+
*/
|
|
61
|
+
const REDACTED_MARKER = "***REDACTED***";
|
|
31
62
|
const PLATFORM_INJECTABLE_MAP = {
|
|
32
63
|
STIGMER_SERVER_ADDRESS: "STIGMER_MCP_PUBLIC_ENDPOINT",
|
|
33
64
|
};
|
|
65
|
+
/**
|
|
66
|
+
* Raised when the credentials a server declares could not be delivered to
|
|
67
|
+
* discovery — the ExecutionContext read failed, came back empty, or returned
|
|
68
|
+
* redacted values (issue #239).
|
|
69
|
+
*
|
|
70
|
+
* Exists because the alternative is strictly worse: proceeding without the
|
|
71
|
+
* declared credentials either dies later as an opaque
|
|
72
|
+
* PlaceholderResolutionError (when a header/arg templates the missing var) or
|
|
73
|
+
* dials the endpoint with a garbage credential and strands the connect in the
|
|
74
|
+
* 4xx → SSE-fallback limbo this file's init bounds exist to contain. Failing
|
|
75
|
+
* here names the ROOT cause — credential delivery — instead of its downstream
|
|
76
|
+
* symptom. The message is user-facing and self-contained: it survives the
|
|
77
|
+
* Temporal boundary and the Go/Java connect wrappers include it in the
|
|
78
|
+
* user-facing failure text.
|
|
79
|
+
*/
|
|
80
|
+
export class CredentialResolutionError extends Error {
|
|
81
|
+
constructor(message) {
|
|
82
|
+
super(message);
|
|
83
|
+
this.name = "CredentialResolutionError";
|
|
84
|
+
}
|
|
85
|
+
}
|
|
34
86
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
35
87
|
// Tools Fingerprint (pure, deterministic, safe in workflow code)
|
|
36
88
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -120,7 +172,7 @@ export function injectPlatformEnv(declaredEnvKeys, envVars) {
|
|
|
120
172
|
return result ?? envVars;
|
|
121
173
|
}
|
|
122
174
|
export async function discoverMcpServer(input, deps) {
|
|
123
|
-
const { mcpServerId, executionContextId } = input;
|
|
175
|
+
const { mcpServerId, executionContextId, executionContextToken } = input;
|
|
124
176
|
const { stigmerClient } = deps;
|
|
125
177
|
console.log(`[DiscoverMcpServer] Discovery started for mcp_server_id=${mcpServerId}`);
|
|
126
178
|
const mcpServer = await stigmerClient.getMcpServer(mcpServerId);
|
|
@@ -129,10 +181,9 @@ export async function discoverMcpServer(input, deps) {
|
|
|
129
181
|
}
|
|
130
182
|
const slug = mcpServer.metadata?.slug || mcpServerId;
|
|
131
183
|
const previousState = extractPreviousState(mcpServer);
|
|
132
|
-
const
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
: new Set();
|
|
184
|
+
const declaredEnv = mcpServer.spec.env ?? {};
|
|
185
|
+
const envVars = await resolveEnvVarsForDiscovery(stigmerClient, executionContextId ?? null, executionContextToken ?? null, slug, declaredEnv);
|
|
186
|
+
const declaredEnvKeys = new Set(Object.keys(declaredEnv));
|
|
136
187
|
const platformEnv = injectPlatformEnv(declaredEnvKeys, envVars);
|
|
137
188
|
// Discovery runs with no session, so every declared caller-identity key
|
|
138
189
|
// resolves to the anonymous sentinel — without it, a server templating
|
|
@@ -148,7 +199,7 @@ export async function discoverMcpServer(input, deps) {
|
|
|
148
199
|
}
|
|
149
200
|
assertTransportAllowed(resolved.slug, resolved.connectionType, deps.transportPosture);
|
|
150
201
|
const connectionConfig = toMcpClientConfig([resolved]);
|
|
151
|
-
const { tools, resourceTemplates } = await connectAndDiscover(slug, connectionConfig);
|
|
202
|
+
const { tools, resourceTemplates } = await connectAndDiscover(slug, connectionConfig, resolved);
|
|
152
203
|
const newFp = toolsFingerprint(tools);
|
|
153
204
|
console.log(`[DiscoverMcpServer] Discovery complete for '${slug}': ` +
|
|
154
205
|
`${tools.length} tool(s), ${resourceTemplates.length} resource template(s)`);
|
|
@@ -164,43 +215,119 @@ export async function discoverMcpServer(input, deps) {
|
|
|
164
215
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
165
216
|
// Env Var Resolution
|
|
166
217
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
167
|
-
|
|
218
|
+
/**
|
|
219
|
+
* Resolve the discovery env from the connect flow's ExecutionContext,
|
|
220
|
+
* failing CLOSED when a server's declared credentials cannot be delivered.
|
|
221
|
+
*
|
|
222
|
+
* The strictness is keyed on whether the server declares any NON-OPTIONAL
|
|
223
|
+
* env var ("credentials expected"):
|
|
224
|
+
*
|
|
225
|
+
* - Credentials expected + the EC read errors, or the EC is missing/empty →
|
|
226
|
+
* {@link CredentialResolutionError}. The backend only creates a connect EC
|
|
227
|
+
* when it resolved credentials to deliver, so an unreadable or empty EC is
|
|
228
|
+
* a delivery failure (auth/scope refusal, transient backend error), never a
|
|
229
|
+
* normal state. Limping ahead was issue #239's failure mode: discovery died
|
|
230
|
+
* later as an opaque PlaceholderResolutionError or a doomed dial.
|
|
231
|
+
* - Any delivered value equal to the redaction sentinel →
|
|
232
|
+
* {@link CredentialResolutionError}, regardless of optionality. A redacted
|
|
233
|
+
* value means the server-side decrypt gate refused THIS runner's credential
|
|
234
|
+
* class/scope and fell closed to redaction — dialing with the literal
|
|
235
|
+
* sentinel can only produce a misleading 401.
|
|
236
|
+
* - No non-optional declarations → the old lenient path (warn and continue):
|
|
237
|
+
* servers declaring nothing (or only optional/injected keys like the
|
|
238
|
+
* caller-identity family) legitimately discover without an EC.
|
|
239
|
+
*/
|
|
240
|
+
async function resolveEnvVarsForDiscovery(client, executionContextId, executionContextToken, slug, declaredEnv) {
|
|
241
|
+
const requiredKeys = Object.entries(declaredEnv)
|
|
242
|
+
.filter(([, decl]) => !decl.optional)
|
|
243
|
+
.map(([key]) => key);
|
|
244
|
+
const credentialsExpected = requiredKeys.length > 0;
|
|
168
245
|
if (!executionContextId)
|
|
169
246
|
return {};
|
|
247
|
+
let execCtx;
|
|
170
248
|
try {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
`or empty — MCP server may not require environment variables`);
|
|
175
|
-
return {};
|
|
176
|
-
}
|
|
177
|
-
const envVars = {};
|
|
178
|
-
for (const [key, execValue] of Object.entries(execCtx.spec.data)) {
|
|
179
|
-
envVars[key] = execValue.value;
|
|
180
|
-
}
|
|
181
|
-
console.log(`[DiscoverMcpServer] Resolved ${Object.keys(envVars).length} env var(s) ` +
|
|
182
|
-
`from ExecutionContext '${executionContextId}'`);
|
|
183
|
-
return envVars;
|
|
249
|
+
// The payload-carried token authenticates the read on OSS (oss#535);
|
|
250
|
+
// undefined on cloud, where the ambient credential applies instead.
|
|
251
|
+
execCtx = await client.getExecutionContextByExecutionId(executionContextId, executionContextToken ?? undefined);
|
|
184
252
|
}
|
|
185
253
|
catch (err) {
|
|
254
|
+
const cause = err instanceof Error ? err.message : String(err);
|
|
255
|
+
if (credentialsExpected) {
|
|
256
|
+
throw new CredentialResolutionError(`Could not resolve the credentials MCP server '${slug}' requires ` +
|
|
257
|
+
`(${requiredKeys.join(", ")}): the connect credential store was ` +
|
|
258
|
+
`unreadable (${cause}). This is a platform-side delivery failure, ` +
|
|
259
|
+
`not a problem with your credentials — retry the connect, and if it ` +
|
|
260
|
+
`persists, re-run the OAuth sign-in or re-enter the credentials.`);
|
|
261
|
+
}
|
|
186
262
|
console.warn(`[DiscoverMcpServer] Failed to resolve ExecutionContext '${executionContextId}': ` +
|
|
187
|
-
`${
|
|
263
|
+
`${cause}`);
|
|
264
|
+
return {};
|
|
265
|
+
}
|
|
266
|
+
const data = execCtx?.spec?.data ?? {};
|
|
267
|
+
if (Object.keys(data).length === 0) {
|
|
268
|
+
if (credentialsExpected) {
|
|
269
|
+
throw new CredentialResolutionError(`MCP server '${slug}' requires ${requiredKeys.join(", ")}, but the ` +
|
|
270
|
+
`connect flow delivered no credentials. Re-run the OAuth sign-in ` +
|
|
271
|
+
`(or re-enter the credentials) and connect again.`);
|
|
272
|
+
}
|
|
273
|
+
console.warn(`[DiscoverMcpServer] ExecutionContext '${executionContextId}' not found ` +
|
|
274
|
+
`or empty — MCP server may not require environment variables`);
|
|
188
275
|
return {};
|
|
189
276
|
}
|
|
277
|
+
const redactedKeys = Object.entries(data)
|
|
278
|
+
.filter(([, execValue]) => execValue.value === REDACTED_MARKER)
|
|
279
|
+
.map(([key]) => key);
|
|
280
|
+
if (redactedKeys.length > 0) {
|
|
281
|
+
throw new CredentialResolutionError(`The credentials for MCP server '${slug}' were delivered redacted ` +
|
|
282
|
+
`(${redactedKeys.join(", ")}): the platform refused to decrypt them ` +
|
|
283
|
+
`for this runner. This is a platform-side authorization failure — ` +
|
|
284
|
+
`retry the connect, and report it if it persists.`);
|
|
285
|
+
}
|
|
286
|
+
const envVars = {};
|
|
287
|
+
for (const [key, execValue] of Object.entries(data)) {
|
|
288
|
+
envVars[key] = execValue.value;
|
|
289
|
+
}
|
|
290
|
+
console.log(`[DiscoverMcpServer] Resolved ${Object.keys(envVars).length} env var(s) ` +
|
|
291
|
+
`from ExecutionContext '${executionContextId}'`);
|
|
292
|
+
return envVars;
|
|
190
293
|
}
|
|
191
294
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
192
295
|
// MCP Connection + Enumeration
|
|
193
296
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
194
|
-
|
|
297
|
+
/**
|
|
298
|
+
* Pick the session-init bound for a resolved server's transport.
|
|
299
|
+
*
|
|
300
|
+
* Exported for tests; pure so the timeout choice (the load-bearing half of
|
|
301
|
+
* the issue-#239 fix) can be pinned without wiring a slow clock.
|
|
302
|
+
*/
|
|
303
|
+
export function initTimeoutMsFor(connectionType) {
|
|
304
|
+
return connectionType === "stdio" ? STDIO_INIT_TIMEOUT_MS : HTTP_INIT_TIMEOUT_MS;
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* The user-facing message for a session-init timeout. Names the endpoint (or
|
|
308
|
+
* command) so the failure is diagnosable from the message alone, and explains
|
|
309
|
+
* the known silent-hang shape for HTTP endpoints — issue #239's mechanism.
|
|
310
|
+
*/
|
|
311
|
+
export function initTimeoutMessageFor(slug, resolved) {
|
|
312
|
+
const seconds = Math.round(initTimeoutMsFor(resolved.connectionType) / 1000);
|
|
313
|
+
if (resolved.connectionType === "stdio") {
|
|
314
|
+
return (`MCP server '${slug}' (command: ${resolved.command}) did not complete ` +
|
|
315
|
+
`MCP initialization within ${seconds}s. If this server requires ` +
|
|
316
|
+
`compilation or package installation on first run (e.g. go run, npx), ` +
|
|
317
|
+
`the cold start may have exceeded the discovery timeout.`);
|
|
318
|
+
}
|
|
319
|
+
return (`MCP server '${slug}' at ${resolved.url} did not complete MCP ` +
|
|
320
|
+
`initialization within ${seconds}s. The endpoint accepted the connection ` +
|
|
321
|
+
`but never finished the handshake — commonly an endpoint that rejects ` +
|
|
322
|
+
`streamable HTTP while leaving its SSE fallback stream silently open. ` +
|
|
323
|
+
`Verify the URL points at a live streamable-HTTP MCP endpoint.`);
|
|
324
|
+
}
|
|
325
|
+
async function connectAndDiscover(slug, connectionConfig, resolved) {
|
|
195
326
|
const client = new MultiServerMCPClient(connectionConfig);
|
|
196
327
|
const tools = [];
|
|
197
328
|
const resourceTemplates = [];
|
|
198
329
|
try {
|
|
199
|
-
|
|
200
|
-
`${Math.round(SESSION_INIT_TIMEOUT_MS / 1000)}s. If this server requires compilation or ` +
|
|
201
|
-
`package installation on first run (e.g. go run, npx), the cold ` +
|
|
202
|
-
`start may have exceeded the discovery timeout.`;
|
|
203
|
-
await withTimeout(SESSION_INIT_TIMEOUT_MS, timeoutMessage, async () => {
|
|
330
|
+
await withTimeout(initTimeoutMsFor(resolved.connectionType), () => initTimeoutMessageFor(slug, resolved), async () => {
|
|
204
331
|
await client.initializeConnections();
|
|
205
332
|
const mcpClient = await client.getClient(slug);
|
|
206
333
|
if (!mcpClient) {
|
|
@@ -287,6 +414,15 @@ export function createDiscoverMcpServerActivities(config) {
|
|
|
287
414
|
return {
|
|
288
415
|
DiscoverMcpServerCapabilities: async (input) => {
|
|
289
416
|
activityStarted();
|
|
417
|
+
// The connect workflow proxies this activity with a 60s heartbeatTimeout,
|
|
418
|
+
// so it MUST heartbeat: before this loop existed, any discovery slower
|
|
419
|
+
// than 60s (stdio cold start — issue #243) or wedged on a silent remote
|
|
420
|
+
// (issue #239) was killed by Temporal with an opaque heartbeat timeout
|
|
421
|
+
// instead of reaching this file's actionable init-timeout errors.
|
|
422
|
+
const hb = startHeartbeat(15_000, () => ({
|
|
423
|
+
phase: "discovering_mcp_server",
|
|
424
|
+
mcpServerId: input.mcpServerId,
|
|
425
|
+
}));
|
|
290
426
|
try {
|
|
291
427
|
return await discoverMcpServer(input, {
|
|
292
428
|
stigmerClient,
|
|
@@ -294,6 +430,7 @@ export function createDiscoverMcpServerActivities(config) {
|
|
|
294
430
|
});
|
|
295
431
|
}
|
|
296
432
|
finally {
|
|
433
|
+
hb.stop();
|
|
297
434
|
activityFinished();
|
|
298
435
|
}
|
|
299
436
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover-mcp-server.js","sourceRoot":"","sources":["../../src/activities/discover-mcp-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"discover-mcp-server.js","sourceRoot":"","sources":["../../src/activities/discover-mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAE3B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,yCAAyC,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAKxD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,oBAAoB,GAAG,MAAM,CAAC;AACpC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAEzC,MAAM,uBAAuB,GAA2B;IACtD,sBAAsB,EAAE,6BAA6B;CACtD,CAAC;AA+DF;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,gFAAgF;AAChF,iEAAiE;AACjE,gFAAgF;AAEhF,MAAM,UAAU,gBAAgB,CAAC,KAA6B;IAC5D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,SAAS,GAAG,KAAK;SACpB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,YAAY,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI;KACpC,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhD,OAAO,UAAU,CAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;SACjC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAYD,MAAM,UAAU,oBAAoB,CAAC,SAAoB;IACvD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAEtE,MAAM,IAAI,GAAG,MAAM,CAAC,sBAAsB,CAAC;IAC3C,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,MAAM,GAAmC,IAAI,CAAC;YAClD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjD,CAAC;YACD,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAuB,EAAE,CAAC;IAC7C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QAC5C,aAAa,CAAC,IAAI,CAAC;YACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,gBAAgB,EAAE,IAAI;YACtB,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,WAAW,EAAE,gBAAgB,CAAC,SAAS,CAAC;QACxC,aAAa;QACb,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,MAAe;IAC1C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF,MAAM,UAAU,iBAAiB,CAC/B,eAA4B,EAC5B,OAA+B;IAE/B,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAE/C,IAAI,MAA0C,CAAC;IAE/C,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC7E,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,SAAS;QAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,IAAI,CAAC,MAAM;YAAE,MAAM,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QACrC,IAAI,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE,CAAC;YACvD,OAAO,CAAC,IAAI,CACV,qBAAqB,SAAS,0CAA0C;gBACxE,yCAAyC,CAC1C,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,IAAI,OAAO,CAAC;AAC3B,CAAC;AAkBD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAA6B,EAC7B,IAAkB;IAElB,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,GAAG,KAAK,CAAC;IACzE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAE/B,OAAO,CAAC,GAAG,CACT,2DAA2D,WAAW,EAAE,CACzE,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAChE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,eAAe,WAAW,4BAA4B,CACvD,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,IAAI,WAAW,CAAC;IACrD,MAAM,aAAa,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,0BAA0B,CAC9C,aAAa,EACb,kBAAkB,IAAI,IAAI,EAC1B,qBAAqB,IAAI,IAAI,EAC7B,IAAI,EACJ,WAAW,CACZ,CAAC;IAEF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,iBAAiB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAEhE,wEAAwE;IACxE,uEAAuE;IACvE,uEAAuE;IACvE,+DAA+D;IAC/D,gEAAgE;IAChE,iCAAiC;IACjC,MAAM,QAAQ,GAAG,yCAAyC,CACxD,eAAe,EACf,WAAW,CACZ,CAAC;IAEF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,eAAe,IAAI,wCAAwC;YAC3D,qDAAqD,CACtD,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAEtF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,MAAM,kBAAkB,CAC3D,IAAI,EACJ,gBAAgB,EAChB,QAAQ,CACT,CAAC;IAEF,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAEtC,OAAO,CAAC,GAAG,CACT,+CAA+C,IAAI,KAAK;QACxD,GAAG,KAAK,CAAC,MAAM,aAAa,iBAAiB,CAAC,MAAM,uBAAuB,CAC5E,CAAC;IAEF,OAAO;QACL,KAAK;QACL,iBAAiB;QACjB,wBAAwB,EAAE,aAAa,CAAC,WAAW;QACnD,qBAAqB,EAAE,aAAa,CAAC,aAAa;QAClD,mBAAmB,EAAE,KAAK;QAC1B,aAAa,EAAE,aAAa,CAAC,KAAK;KACnC,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,KAAK,UAAU,0BAA0B,CACvC,MAAqB,EACrB,kBAAiC,EACjC,qBAAoC,EACpC,IAAY,EACZ,WAA8C;IAE9C,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;SACpC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAEpD,IAAI,CAAC,kBAAkB;QAAE,OAAO,EAAE,CAAC;IAEnC,IAAI,OAA4E,CAAC;IACjF,IAAI,CAAC;QACH,qEAAqE;QACrE,oEAAoE;QACpE,OAAO,GAAG,MAAM,MAAM,CAAC,gCAAgC,CACrD,kBAAkB,EAClB,qBAAqB,IAAI,SAAS,CACnC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/D,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,IAAI,yBAAyB,CACjC,iDAAiD,IAAI,aAAa;gBAClE,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC;gBACjE,eAAe,KAAK,+CAA+C;gBACnE,qEAAqE;gBACrE,iEAAiE,CAClE,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CACV,2DAA2D,kBAAkB,KAAK;YAClF,GAAG,KAAK,EAAE,CACX,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;IACvC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,IAAI,yBAAyB,CACjC,eAAe,IAAI,cAAc,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;gBACpE,kEAAkE;gBAClE,kDAAkD,CACnD,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CACV,yCAAyC,kBAAkB,cAAc;YACzE,6DAA6D,CAC9D,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACtC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,eAAe,CAAC;SAC9D,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,yBAAyB,CACjC,mCAAmC,IAAI,4BAA4B;YACnE,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,0CAA0C;YACrE,mEAAmE;YACnE,kDAAkD,CACnD,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,GAAG,CACT,gCAAgC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,cAAc;QACzE,0BAA0B,kBAAkB,GAAG,CAChD,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gFAAgF;AAChF,+BAA+B;AAC/B,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,cAAmD;IAClF,OAAO,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,oBAAoB,CAAC;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,QAA2B;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7E,IAAI,QAAQ,CAAC,cAAc,KAAK,OAAO,EAAE,CAAC;QACxC,OAAO,CACL,eAAe,IAAI,eAAe,QAAQ,CAAC,OAAO,qBAAqB;YACvE,6BAA6B,OAAO,6BAA6B;YACjE,uEAAuE;YACvE,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IACD,OAAO,CACL,eAAe,IAAI,QAAQ,QAAQ,CAAC,GAAG,wBAAwB;QAC/D,yBAAyB,OAAO,0CAA0C;QAC1E,uEAAuE;QACvE,uEAAuE;QACvE,+DAA+D,CAChE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,IAAY,EACZ,gBAAsD,EACtD,QAA2B;IAK3B,MAAM,MAAM,GAAG,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,MAAM,iBAAiB,GAAuC,EAAE,CAAC;IAEjE,IAAI,CAAC;QACH,MAAM,WAAW,CACf,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,EACzC,GAAG,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAC3C,KAAK,IAAI,EAAE;YACX,MAAM,MAAM,CAAC,qBAAqB,EAAE,CAAC;YAErC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb,wCAAwC,IAAI,wBAAwB,CACrE,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC;YAChD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;oBACnC,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC3B,CAAC,CAAE,IAAI,CAAC,WAAuC;wBAC/C,CAAC,CAAC,IAAI;oBACR,sEAAsE;oBACtE,2DAA2D;oBAC3D,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC3B,CAAC,CAAC;4BACE,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY;4BAC3C,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe;yBAClD;wBACH,CAAC,CAAC,IAAI;iBACT,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;gBACvD,IAAI,YAAY,EAAE,SAAS,EAAE,CAAC;oBAC5B,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,qBAAqB,EAAE,CAAC;oBAChE,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,iBAAiB,EAAE,CAAC;wBACpD,iBAAiB,CAAC,IAAI,CAAC;4BACrB,WAAW,EAAE,GAAG,CAAC,WAAW;4BAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;4BAClC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE;yBAC7B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CACV,+BAA+B,IAAI,qBAAqB;oBACxD,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAClE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,uEAAuE;QACvE,0EAA0E;QAC1E,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAC1E,IAAI,UAAU;YAAE,MAAM,UAAU,CAAC;QACjC,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YAC1C,OAAO,CAAC,IAAI,CACV,qDAAqD,IAAI,KAAK;gBAC9D,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAC9C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,wBAAwB,CACrC,IAAY,EACZ,gBAAsD;IAEtD,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,oBAAoB,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAEhF,MAAM,UAAU,iCAAiC,CAAC,MAAc;IAC9D,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC;QACtC,QAAQ,EAAE,MAAM,CAAC,sBAAsB;QACvC,KAAK,EAAE,MAAM,CAAC,YAAY;QAC1B,QAAQ,EAAE,MAAM,CAAC,eAAe;QAChC,cAAc,EAAE,MAAM,CAAC,qBAAqB;KAC7C,CAAC,CAAC;IAEH,OAAO;QACL,6BAA6B,EAAE,KAAK,EAClC,KAA6B,EACK,EAAE;YACpC,eAAe,EAAE,CAAC;YAClB,0EAA0E;YAC1E,uEAAuE;YACvE,wEAAwE;YACxE,uEAAuE;YACvE,kEAAkE;YAClE,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACvC,KAAK,EAAE,wBAAwB;gBAC/B,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC;gBACH,OAAO,MAAM,iBAAiB,CAAC,KAAK,EAAE;oBACpC,aAAa;oBACb,gBAAgB,EAAE,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC;iBAC1D,CAAC,CAAC;YACL,CAAC;oBAAS,CAAC;gBACT,EAAE,CAAC,IAAI,EAAE,CAAC;gBACV,gBAAgB,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -9,7 +9,17 @@
|
|
|
9
9
|
*
|
|
10
10
|
* Supported delivery targets:
|
|
11
11
|
* - webhook: HTTP POST with Content-Type: application/cloudevents+json
|
|
12
|
-
* - signal:
|
|
12
|
+
* - signal: signal to another workflow execution's listen task, routed
|
|
13
|
+
* through the server's SendSignal lane
|
|
14
|
+
*
|
|
15
|
+
* Signal delivery is deliberately server-mediated (oss#517): a direct
|
|
16
|
+
* Temporal client here would bypass the authorization boundary (any
|
|
17
|
+
* workflow could signal any workflow id in the namespace) and is
|
|
18
|
+
* structurally incompatible with payload encryption — emit→listen is
|
|
19
|
+
* the platform's only runner-to-runner channel, and under per-identity
|
|
20
|
+
* runner keys a sender-encrypted signal fails closed at a receiver
|
|
21
|
+
* holding a different key. The server re-produces the payload, so each
|
|
22
|
+
* side's codec passes it through.
|
|
13
23
|
*
|
|
14
24
|
* CloudEvents spec: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md
|
|
15
25
|
*/
|
|
@@ -18,7 +28,9 @@ export interface WebhookDeliveryTarget {
|
|
|
18
28
|
readonly headers?: Readonly<Record<string, string>>;
|
|
19
29
|
}
|
|
20
30
|
export interface SignalDeliveryTarget {
|
|
21
|
-
|
|
31
|
+
/** Target workflow execution id ("wfx_..."), as returned by run/create. */
|
|
32
|
+
readonly execution_id: string;
|
|
33
|
+
/** Signal name matching the target's listen task event id (verbatim). */
|
|
22
34
|
readonly signal_name: string;
|
|
23
35
|
}
|
|
24
36
|
export type DeliveryTarget = {
|