@stigmer/server 3.15.3-dev.20260914121148 → 3.16.0
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 +3 -3
- package/dist/archive/content-store.d.ts +35 -0
- package/dist/archive/content-store.d.ts.map +1 -0
- package/dist/archive/content-store.js +98 -0
- package/dist/archive/content-store.js.map +1 -0
- package/dist/archive/inflate.d.ts +22 -0
- package/dist/archive/inflate.d.ts.map +1 -0
- package/dist/archive/inflate.js +75 -0
- package/dist/archive/inflate.js.map +1 -0
- package/dist/archive/limits.d.ts +33 -0
- package/dist/archive/limits.d.ts.map +1 -0
- package/dist/archive/limits.js +31 -0
- package/dist/archive/limits.js.map +1 -0
- package/dist/archive/open.d.ts +24 -0
- package/dist/archive/open.d.ts.map +1 -0
- package/dist/archive/open.js +93 -0
- package/dist/archive/open.js.map +1 -0
- package/dist/{domain/skill/storage → archive}/prefilter.d.ts +5 -0
- package/dist/archive/prefilter.d.ts.map +1 -0
- package/dist/archive/prefilter.js.map +1 -0
- package/dist/archive/write.d.ts +8 -0
- package/dist/archive/write.d.ts.map +1 -0
- package/dist/archive/write.js +44 -0
- package/dist/archive/write.js.map +1 -0
- package/dist/authorization/authorizer.d.ts +98 -0
- package/dist/authorization/authorizer.d.ts.map +1 -0
- package/dist/authorization/authorizer.js +156 -0
- package/dist/authorization/authorizer.js.map +1 -0
- package/dist/authorization/derived-tuples.d.ts +42 -0
- package/dist/authorization/derived-tuples.d.ts.map +1 -0
- package/dist/authorization/derived-tuples.js +240 -0
- package/dist/authorization/derived-tuples.js.map +1 -0
- package/dist/authorization/evaluator.d.ts +66 -0
- package/dist/authorization/evaluator.d.ts.map +1 -0
- package/dist/authorization/evaluator.js +153 -0
- package/dist/authorization/evaluator.js.map +1 -0
- package/dist/authorization/facts.d.ts +29 -0
- package/dist/authorization/facts.d.ts.map +1 -0
- package/dist/authorization/facts.js +17 -0
- package/dist/authorization/facts.js.map +1 -0
- package/dist/authorization/lane-admission.d.ts +50 -0
- package/dist/authorization/lane-admission.d.ts.map +1 -0
- package/dist/authorization/lane-admission.js +13 -0
- package/dist/authorization/lane-admission.js.map +1 -0
- package/dist/authorization/list-read-scope.d.ts +18 -0
- package/dist/authorization/list-read-scope.d.ts.map +1 -0
- package/dist/authorization/list-read-scope.js +155 -0
- package/dist/authorization/list-read-scope.js.map +1 -0
- package/dist/authorization/model/agent.d.ts +2 -0
- package/dist/authorization/model/agent.d.ts.map +1 -0
- package/dist/authorization/model/agent.js +42 -0
- package/dist/authorization/model/agent.js.map +1 -0
- package/dist/authorization/model/agent_channel.d.ts +2 -0
- package/dist/authorization/model/agent_channel.d.ts.map +1 -0
- package/dist/authorization/model/agent_channel.js +38 -0
- package/dist/authorization/model/agent_channel.js.map +1 -0
- package/dist/authorization/model/agent_execution.d.ts +2 -0
- package/dist/authorization/model/agent_execution.d.ts.map +1 -0
- package/dist/authorization/model/agent_execution.js +25 -0
- package/dist/authorization/model/agent_execution.js.map +1 -0
- package/dist/authorization/model/agent_instance.d.ts +2 -0
- package/dist/authorization/model/agent_instance.d.ts.map +1 -0
- package/dist/authorization/model/agent_instance.js +47 -0
- package/dist/authorization/model/agent_instance.js.map +1 -0
- package/dist/authorization/model/agent_share.d.ts +2 -0
- package/dist/authorization/model/agent_share.d.ts.map +1 -0
- package/dist/authorization/model/agent_share.js +29 -0
- package/dist/authorization/model/agent_share.js.map +1 -0
- package/dist/authorization/model/api_key.d.ts +2 -0
- package/dist/authorization/model/api_key.d.ts.map +1 -0
- package/dist/authorization/model/api_key.js +27 -0
- package/dist/authorization/model/api_key.js.map +1 -0
- package/dist/authorization/model/artifact.d.ts +2 -0
- package/dist/authorization/model/artifact.d.ts.map +1 -0
- package/dist/authorization/model/artifact.js +27 -0
- package/dist/authorization/model/artifact.js.map +1 -0
- package/dist/authorization/model/channel_app.d.ts +2 -0
- package/dist/authorization/model/channel_app.d.ts.map +1 -0
- package/dist/authorization/model/channel_app.js +28 -0
- package/dist/authorization/model/channel_app.js.map +1 -0
- package/dist/authorization/model/default-of.d.ts +38 -0
- package/dist/authorization/model/default-of.d.ts.map +1 -0
- package/dist/authorization/model/default-of.js +39 -0
- package/dist/authorization/model/default-of.js.map +1 -0
- package/dist/authorization/model/environment.d.ts +2 -0
- package/dist/authorization/model/environment.d.ts.map +1 -0
- package/dist/authorization/model/environment.js +33 -0
- package/dist/authorization/model/environment.js.map +1 -0
- package/dist/authorization/model/execution_context.d.ts +2 -0
- package/dist/authorization/model/execution_context.d.ts.map +1 -0
- package/dist/authorization/model/execution_context.js +19 -0
- package/dist/authorization/model/execution_context.js.map +1 -0
- package/dist/authorization/model/iam_policy.d.ts +2 -0
- package/dist/authorization/model/iam_policy.d.ts.map +1 -0
- package/dist/authorization/model/iam_policy.js +31 -0
- package/dist/authorization/model/iam_policy.js.map +1 -0
- package/dist/authorization/model/identity_account.d.ts +2 -0
- package/dist/authorization/model/identity_account.d.ts.map +1 -0
- package/dist/authorization/model/identity_account.js +25 -0
- package/dist/authorization/model/identity_account.js.map +1 -0
- package/dist/authorization/model/index.d.ts +36 -0
- package/dist/authorization/model/index.d.ts.map +1 -0
- package/dist/authorization/model/index.js +72 -0
- package/dist/authorization/model/index.js.map +1 -0
- package/dist/authorization/model/mcp_server.d.ts +2 -0
- package/dist/authorization/model/mcp_server.d.ts.map +1 -0
- package/dist/authorization/model/mcp_server.js +37 -0
- package/dist/authorization/model/mcp_server.js.map +1 -0
- package/dist/authorization/model/memory.d.ts +2 -0
- package/dist/authorization/model/memory.d.ts.map +1 -0
- package/dist/authorization/model/memory.js +26 -0
- package/dist/authorization/model/memory.js.map +1 -0
- package/dist/authorization/model/oauth_app.d.ts +2 -0
- package/dist/authorization/model/oauth_app.d.ts.map +1 -0
- package/dist/authorization/model/oauth_app.js +30 -0
- package/dist/authorization/model/oauth_app.js.map +1 -0
- package/dist/authorization/model/organization.d.ts +2 -0
- package/dist/authorization/model/organization.d.ts.map +1 -0
- package/dist/authorization/model/organization.js +54 -0
- package/dist/authorization/model/organization.js.map +1 -0
- package/dist/authorization/model/plugin.d.ts +2 -0
- package/dist/authorization/model/plugin.d.ts.map +1 -0
- package/dist/authorization/model/plugin.js +44 -0
- package/dist/authorization/model/plugin.js.map +1 -0
- package/dist/authorization/model/project.d.ts +2 -0
- package/dist/authorization/model/project.d.ts.map +1 -0
- package/dist/authorization/model/project.js +32 -0
- package/dist/authorization/model/project.js.map +1 -0
- package/dist/authorization/model/rewrite.d.ts +127 -0
- package/dist/authorization/model/rewrite.d.ts.map +1 -0
- package/dist/authorization/model/rewrite.js +82 -0
- package/dist/authorization/model/rewrite.js.map +1 -0
- package/dist/authorization/model/schedule.d.ts +2 -0
- package/dist/authorization/model/schedule.d.ts.map +1 -0
- package/dist/authorization/model/schedule.js +29 -0
- package/dist/authorization/model/schedule.js.map +1 -0
- package/dist/authorization/model/session.d.ts +2 -0
- package/dist/authorization/model/session.d.ts.map +1 -0
- package/dist/authorization/model/session.js +38 -0
- package/dist/authorization/model/session.js.map +1 -0
- package/dist/authorization/model/skill.d.ts +2 -0
- package/dist/authorization/model/skill.d.ts.map +1 -0
- package/dist/authorization/model/skill.js +38 -0
- package/dist/authorization/model/skill.js.map +1 -0
- package/dist/authorization/model/workflow.d.ts +2 -0
- package/dist/authorization/model/workflow.d.ts.map +1 -0
- package/dist/authorization/model/workflow.js +38 -0
- package/dist/authorization/model/workflow.js.map +1 -0
- package/dist/authorization/model/workflow_execution.d.ts +2 -0
- package/dist/authorization/model/workflow_execution.d.ts.map +1 -0
- package/dist/authorization/model/workflow_execution.js +32 -0
- package/dist/authorization/model/workflow_execution.js.map +1 -0
- package/dist/authorization/model/workflow_instance.d.ts +2 -0
- package/dist/authorization/model/workflow_instance.d.ts.map +1 -0
- package/dist/authorization/model/workflow_instance.js +92 -0
- package/dist/authorization/model/workflow_instance.js.map +1 -0
- package/dist/authorization/organization-directory.d.ts +13 -0
- package/dist/authorization/organization-directory.d.ts.map +1 -0
- package/dist/authorization/organization-directory.js +83 -0
- package/dist/authorization/organization-directory.js.map +1 -0
- package/dist/authorization/person.d.ts +42 -0
- package/dist/authorization/person.d.ts.map +1 -0
- package/dist/authorization/person.js +19 -0
- package/dist/authorization/person.js.map +1 -0
- package/dist/authorization/posture.d.ts +38 -0
- package/dist/authorization/posture.d.ts.map +1 -0
- package/dist/authorization/posture.js +7 -0
- package/dist/authorization/posture.js.map +1 -0
- package/dist/authorization/schedule-fire-caller.d.ts +12 -0
- package/dist/authorization/schedule-fire-caller.d.ts.map +1 -0
- package/dist/authorization/schedule-fire-caller.js +67 -0
- package/dist/authorization/schedule-fire-caller.js.map +1 -0
- package/dist/authorization/store-test-kit.d.ts +68 -0
- package/dist/authorization/store-test-kit.d.ts.map +1 -0
- package/dist/authorization/store-test-kit.js +311 -0
- package/dist/authorization/store-test-kit.js.map +1 -0
- package/dist/authorization/tuples.d.ts +115 -0
- package/dist/authorization/tuples.d.ts.map +1 -0
- package/dist/authorization/tuples.js +83 -0
- package/dist/authorization/tuples.js.map +1 -0
- package/dist/boot/compose.d.ts.map +1 -1
- package/dist/boot/compose.js +220 -43
- package/dist/boot/compose.js.map +1 -1
- package/dist/boot/inprocess.d.ts +12 -0
- package/dist/boot/inprocess.d.ts.map +1 -1
- package/dist/boot/inprocess.js +68 -21
- package/dist/boot/inprocess.js.map +1 -1
- package/dist/domain/agent/controller.d.ts.map +1 -1
- package/dist/domain/agent/controller.js +9 -0
- package/dist/domain/agent/controller.js.map +1 -1
- package/dist/domain/executioncontext/resolve-values-for-caller.d.ts +33 -14
- package/dist/domain/executioncontext/resolve-values-for-caller.d.ts.map +1 -1
- package/dist/domain/executioncontext/resolve-values-for-caller.js +32 -8
- package/dist/domain/executioncontext/resolve-values-for-caller.js.map +1 -1
- package/dist/domain/iampolicy/constants.d.ts +11 -0
- package/dist/domain/iampolicy/constants.d.ts.map +1 -1
- package/dist/domain/iampolicy/constants.js +11 -0
- package/dist/domain/iampolicy/constants.js.map +1 -1
- package/dist/domain/iampolicy/membership.d.ts +72 -1
- package/dist/domain/iampolicy/membership.d.ts.map +1 -1
- package/dist/domain/iampolicy/membership.js +141 -56
- package/dist/domain/iampolicy/membership.js.map +1 -1
- package/dist/domain/identityaccount/actor.d.ts +41 -0
- package/dist/domain/identityaccount/actor.d.ts.map +1 -0
- package/dist/domain/identityaccount/actor.js +34 -0
- package/dist/domain/identityaccount/actor.js.map +1 -0
- package/dist/domain/identityaccount/resolve.d.ts +19 -0
- package/dist/domain/identityaccount/resolve.d.ts.map +1 -1
- package/dist/domain/identityaccount/resolve.js +12 -0
- package/dist/domain/identityaccount/resolve.js.map +1 -1
- package/dist/domain/mcpserver/connect-execution-id.d.ts +5 -0
- package/dist/domain/mcpserver/connect-execution-id.d.ts.map +1 -0
- package/dist/domain/mcpserver/connect-execution-id.js +32 -0
- package/dist/domain/mcpserver/connect-execution-id.js.map +1 -0
- package/dist/domain/mcpserver/connect.d.ts +28 -2
- package/dist/domain/mcpserver/connect.d.ts.map +1 -1
- package/dist/domain/mcpserver/connect.js +27 -7
- package/dist/domain/mcpserver/connect.js.map +1 -1
- package/dist/domain/mcpserver/controller.d.ts.map +1 -1
- package/dist/domain/mcpserver/controller.js +9 -0
- package/dist/domain/mcpserver/controller.js.map +1 -1
- package/dist/domain/mcpserver/engine.d.ts +9 -3
- package/dist/domain/mcpserver/engine.d.ts.map +1 -1
- package/dist/domain/mcpserver/engine.js.map +1 -1
- package/dist/domain/mcpserver/start-connect.js +1 -1
- package/dist/domain/mcpserver/start-connect.js.map +1 -1
- package/dist/domain/platform/controller.d.ts +24 -11
- package/dist/domain/platform/controller.d.ts.map +1 -1
- package/dist/domain/platform/controller.js.map +1 -1
- package/dist/domain/plugin/archive.d.ts +37 -0
- package/dist/domain/plugin/archive.d.ts.map +1 -0
- package/dist/domain/plugin/archive.js +50 -0
- package/dist/domain/plugin/archive.js.map +1 -0
- package/dist/domain/plugin/constants.d.ts +38 -0
- package/dist/domain/plugin/constants.d.ts.map +1 -0
- package/dist/domain/plugin/constants.js +46 -0
- package/dist/domain/plugin/constants.js.map +1 -0
- package/dist/domain/plugin/controller.d.ts +25 -0
- package/dist/domain/plugin/controller.d.ts.map +1 -0
- package/dist/domain/plugin/controller.js +493 -0
- package/dist/domain/plugin/controller.js.map +1 -0
- package/dist/domain/plugin/materialize/agent.d.ts +13 -0
- package/dist/domain/plugin/materialize/agent.d.ts.map +1 -0
- package/dist/domain/plugin/materialize/agent.js +128 -0
- package/dist/domain/plugin/materialize/agent.js.map +1 -0
- package/dist/domain/plugin/materialize/default-agent-instructions.d.ts +22 -0
- package/dist/domain/plugin/materialize/default-agent-instructions.d.ts.map +1 -0
- package/dist/domain/plugin/materialize/default-agent-instructions.js +31 -0
- package/dist/domain/plugin/materialize/default-agent-instructions.js.map +1 -0
- package/dist/domain/plugin/materialize/identity.d.ts +28 -0
- package/dist/domain/plugin/materialize/identity.d.ts.map +1 -0
- package/dist/domain/plugin/materialize/identity.js +40 -0
- package/dist/domain/plugin/materialize/identity.js.map +1 -0
- package/dist/domain/plugin/materialize/mcp-servers.d.ts +15 -0
- package/dist/domain/plugin/materialize/mcp-servers.d.ts.map +1 -0
- package/dist/domain/plugin/materialize/mcp-servers.js +131 -0
- package/dist/domain/plugin/materialize/mcp-servers.js.map +1 -0
- package/dist/domain/plugin/materialize/plan.d.ts +24 -0
- package/dist/domain/plugin/materialize/plan.d.ts.map +1 -0
- package/dist/domain/plugin/materialize/plan.js +77 -0
- package/dist/domain/plugin/materialize/plan.js.map +1 -0
- package/dist/domain/plugin/materialize/ports.d.ts +42 -0
- package/dist/domain/plugin/materialize/ports.d.ts.map +1 -0
- package/dist/domain/plugin/materialize/ports.js +2 -0
- package/dist/domain/plugin/materialize/ports.js.map +1 -0
- package/dist/domain/plugin/materialize/skills.d.ts +12 -0
- package/dist/domain/plugin/materialize/skills.d.ts.map +1 -0
- package/dist/domain/plugin/materialize/skills.js +44 -0
- package/dist/domain/plugin/materialize/skills.js.map +1 -0
- package/dist/domain/plugin/materialize/workflows.d.ts +15 -0
- package/dist/domain/plugin/materialize/workflows.d.ts.map +1 -0
- package/dist/domain/plugin/materialize/workflows.js +31 -0
- package/dist/domain/plugin/materialize/workflows.js.map +1 -0
- package/dist/domain/plugin/members.d.ts +42 -0
- package/dist/domain/plugin/members.d.ts.map +1 -0
- package/dist/domain/plugin/members.js +97 -0
- package/dist/domain/plugin/members.js.map +1 -0
- package/dist/domain/plugin/overlay/documents.d.ts +31 -0
- package/dist/domain/plugin/overlay/documents.d.ts.map +1 -0
- package/dist/domain/plugin/overlay/documents.js +38 -0
- package/dist/domain/plugin/overlay/documents.js.map +1 -0
- package/dist/domain/plugin/overlay/parse.d.ts +16 -0
- package/dist/domain/plugin/overlay/parse.d.ts.map +1 -0
- package/dist/domain/plugin/overlay/parse.js +79 -0
- package/dist/domain/plugin/overlay/parse.js.map +1 -0
- package/dist/domain/plugin/overlay/sanitize.d.ts +10 -0
- package/dist/domain/plugin/overlay/sanitize.d.ts.map +1 -0
- package/dist/domain/plugin/overlay/sanitize.js +103 -0
- package/dist/domain/plugin/overlay/sanitize.js.map +1 -0
- package/dist/domain/plugin/push.d.ts +133 -0
- package/dist/domain/plugin/push.d.ts.map +1 -0
- package/dist/domain/plugin/push.js +800 -0
- package/dist/domain/plugin/push.js.map +1 -0
- package/dist/domain/plugin/search-extractor.d.ts +3 -0
- package/dist/domain/plugin/search-extractor.d.ts.map +1 -0
- package/dist/domain/plugin/search-extractor.js +41 -0
- package/dist/domain/plugin/search-extractor.js.map +1 -0
- package/dist/domain/skill/constants.d.ts +6 -11
- package/dist/domain/skill/constants.d.ts.map +1 -1
- package/dist/domain/skill/constants.js +6 -11
- package/dist/domain/skill/constants.js.map +1 -1
- package/dist/domain/skill/controller.d.ts.map +1 -1
- package/dist/domain/skill/controller.js +33 -30
- package/dist/domain/skill/controller.js.map +1 -1
- package/dist/domain/skill/push.d.ts +9 -10
- package/dist/domain/skill/push.d.ts.map +1 -1
- package/dist/domain/skill/push.js +53 -122
- package/dist/domain/skill/push.js.map +1 -1
- package/dist/domain/skill/search-extractor.d.ts.map +1 -1
- package/dist/domain/skill/search-extractor.js.map +1 -1
- package/dist/domain/skill/storage/artifact-storage.d.ts +26 -29
- package/dist/domain/skill/storage/artifact-storage.d.ts.map +1 -1
- package/dist/domain/skill/storage/artifact-storage.js +6 -103
- package/dist/domain/skill/storage/artifact-storage.js.map +1 -1
- package/dist/domain/skill/storage/zip-gate.d.ts +1 -2
- package/dist/domain/skill/storage/zip-gate.d.ts.map +1 -1
- package/dist/domain/skill/storage/zip-gate.js +56 -126
- package/dist/domain/skill/storage/zip-gate.js.map +1 -1
- package/dist/domain/skill/version-resolution.d.ts +5 -5
- package/dist/domain/skill/version-resolution.d.ts.map +1 -1
- package/dist/domain/skill/version-resolution.js +34 -216
- package/dist/domain/skill/version-resolution.js.map +1 -1
- package/dist/domain/workflow/controller.d.ts.map +1 -1
- package/dist/domain/workflow/controller.js +30 -3
- package/dist/domain/workflow/controller.js.map +1 -1
- package/dist/domain/workflow/registry/data/task-kind-registry.json +1 -0
- package/dist/domain/workflowexecution/phases.d.ts +21 -0
- package/dist/domain/workflowexecution/phases.d.ts.map +1 -0
- package/dist/domain/workflowexecution/phases.js +31 -0
- package/dist/domain/workflowexecution/phases.js.map +1 -0
- package/dist/extensions/authorizer.d.ts +10 -5
- package/dist/extensions/authorizer.d.ts.map +1 -1
- package/dist/extensions/drivers.d.ts +4 -1
- package/dist/extensions/drivers.d.ts.map +1 -1
- package/dist/extensions/list-read-scope.d.ts +47 -20
- package/dist/extensions/list-read-scope.d.ts.map +1 -1
- package/dist/extensions/list-read-scope.js +20 -24
- package/dist/extensions/list-read-scope.js.map +1 -1
- package/dist/extensions/organization-directory.d.ts +13 -9
- package/dist/extensions/organization-directory.d.ts.map +1 -1
- package/dist/extensions/organization-directory.js.map +1 -1
- package/dist/extensions/resource-authorization.d.ts +33 -0
- package/dist/extensions/resource-authorization.d.ts.map +1 -1
- package/dist/extensions/schedule-fire-caller.d.ts +45 -18
- package/dist/extensions/schedule-fire-caller.d.ts.map +1 -1
- package/dist/extensions/schedule-fire-caller.js +12 -1
- package/dist/extensions/schedule-fire-caller.js.map +1 -1
- package/dist/identity/oidc-verifier.js +8 -1
- package/dist/identity/oidc-verifier.js.map +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/pipeline/apiresource-labels.d.ts +23 -3
- package/dist/pipeline/apiresource-labels.d.ts.map +1 -1
- package/dist/pipeline/apiresource-labels.js +20 -0
- package/dist/pipeline/apiresource-labels.js.map +1 -1
- package/dist/pipeline/apiresource-meta.d.ts +15 -0
- package/dist/pipeline/apiresource-meta.d.ts.map +1 -1
- package/dist/pipeline/apiresource-meta.js +34 -0
- package/dist/pipeline/apiresource-meta.js.map +1 -1
- package/dist/pipeline/errors.d.ts.map +1 -1
- package/dist/pipeline/errors.js.map +1 -1
- package/dist/pipeline/steps/authorization-facts.d.ts +12 -0
- package/dist/pipeline/steps/authorization-facts.d.ts.map +1 -0
- package/dist/pipeline/steps/authorization-facts.js +100 -0
- package/dist/pipeline/steps/authorization-facts.js.map +1 -0
- package/dist/pipeline/steps/delete.d.ts.map +1 -1
- package/dist/pipeline/steps/delete.js +1 -1
- package/dist/pipeline/steps/delete.js.map +1 -1
- package/dist/pipeline/steps/duplicate.d.ts.map +1 -1
- package/dist/pipeline/steps/duplicate.js.map +1 -1
- package/dist/pipeline/steps/guard-memory-capture.d.ts.map +1 -1
- package/dist/pipeline/steps/guard-memory-capture.js +5 -3
- package/dist/pipeline/steps/guard-memory-capture.js.map +1 -1
- package/dist/pipeline/steps/guard-plugin-managed.d.ts +12 -0
- package/dist/pipeline/steps/guard-plugin-managed.d.ts.map +1 -0
- package/dist/pipeline/steps/guard-plugin-managed.js +96 -0
- package/dist/pipeline/steps/guard-plugin-managed.js.map +1 -0
- package/dist/pipeline/steps/guard-reserved-labels.d.ts +16 -2
- package/dist/pipeline/steps/guard-reserved-labels.d.ts.map +1 -1
- package/dist/pipeline/steps/guard-reserved-labels.js +11 -7
- package/dist/pipeline/steps/guard-reserved-labels.js.map +1 -1
- package/dist/pipeline/steps/helpers.d.ts.map +1 -1
- package/dist/pipeline/steps/helpers.js.map +1 -1
- package/dist/pipeline/steps/index-search.d.ts.map +1 -1
- package/dist/pipeline/steps/index-search.js.map +1 -1
- package/dist/pipeline/steps/load-existing.d.ts.map +1 -1
- package/dist/pipeline/steps/load-existing.js +1 -1
- package/dist/pipeline/steps/load-existing.js.map +1 -1
- package/dist/pipeline/steps/references.d.ts +16 -0
- package/dist/pipeline/steps/references.d.ts.map +1 -1
- package/dist/pipeline/steps/references.js +18 -0
- package/dist/pipeline/steps/references.js.map +1 -1
- package/dist/pipeline/steps/resolve-artifact-source.d.ts +35 -0
- package/dist/pipeline/steps/resolve-artifact-source.d.ts.map +1 -0
- package/dist/pipeline/steps/resolve-artifact-source.js +27 -0
- package/dist/pipeline/steps/resolve-artifact-source.js.map +1 -0
- package/dist/pipeline/steps/server-stamped-reserved-labels.d.ts.map +1 -1
- package/dist/pipeline/steps/server-stamped-reserved-labels.js.map +1 -1
- package/dist/pipeline/steps/slug.d.ts.map +1 -1
- package/dist/pipeline/steps/slug.js.map +1 -1
- package/dist/pipeline/steps/validate-visibility.d.ts +9 -0
- package/dist/pipeline/steps/validate-visibility.d.ts.map +1 -1
- package/dist/pipeline/steps/validate-visibility.js +6 -1
- package/dist/pipeline/steps/validate-visibility.js.map +1 -1
- package/dist/pipeline/steps/validation.d.ts.map +1 -1
- package/dist/pipeline/steps/validation.js.map +1 -1
- package/dist/pipeline/steps/version-archive.d.ts +63 -0
- package/dist/pipeline/steps/version-archive.d.ts.map +1 -0
- package/dist/pipeline/steps/version-archive.js +129 -0
- package/dist/pipeline/steps/version-archive.js.map +1 -0
- package/dist/pipeline/steps/version-history.d.ts +49 -0
- package/dist/pipeline/steps/version-history.d.ts.map +1 -0
- package/dist/pipeline/steps/version-history.js +229 -0
- package/dist/pipeline/steps/version-history.js.map +1 -0
- package/dist/pipeline/steps/visibility-gates.d.ts +8 -0
- package/dist/pipeline/steps/visibility-gates.d.ts.map +1 -1
- package/dist/pipeline/steps/visibility-gates.js +7 -2
- package/dist/pipeline/steps/visibility-gates.js.map +1 -1
- package/dist/query/search/registry.d.ts.map +1 -1
- package/dist/query/search/registry.js +2 -0
- package/dist/query/search/registry.js.map +1 -1
- package/dist/runnerauth/bound-execution.d.ts +27 -0
- package/dist/runnerauth/bound-execution.d.ts.map +1 -0
- package/dist/runnerauth/bound-execution.js +137 -0
- package/dist/runnerauth/bound-execution.js.map +1 -0
- package/dist/runnerauth/built-in-runner-credential-provider.d.ts +28 -0
- package/dist/runnerauth/built-in-runner-credential-provider.d.ts.map +1 -0
- package/dist/runnerauth/built-in-runner-credential-provider.js +217 -0
- package/dist/runnerauth/built-in-runner-credential-provider.js.map +1 -0
- package/dist/runnerauth/constants.d.ts +63 -0
- package/dist/runnerauth/constants.d.ts.map +1 -0
- package/dist/runnerauth/constants.js +63 -0
- package/dist/runnerauth/constants.js.map +1 -0
- package/dist/runnerauth/dispatch-credential.d.ts +38 -0
- package/dist/runnerauth/dispatch-credential.d.ts.map +1 -0
- package/dist/runnerauth/dispatch-credential.js +17 -0
- package/dist/runnerauth/dispatch-credential.js.map +1 -0
- package/dist/runnerauth/runner-credential-provider.d.ts +49 -11
- package/dist/runnerauth/runner-credential-provider.d.ts.map +1 -1
- package/dist/runnerauth/runner-credential-provider.js +16 -4
- package/dist/runnerauth/runner-credential-provider.js.map +1 -1
- package/dist/runnerauth/runner-subject-verifier.d.ts +14 -0
- package/dist/runnerauth/runner-subject-verifier.d.ts.map +1 -0
- package/dist/runnerauth/runner-subject-verifier.js +115 -0
- package/dist/runnerauth/runner-subject-verifier.js.map +1 -0
- package/dist/runnerauth/runnerauth.d.ts +33 -4
- package/dist/runnerauth/runnerauth.d.ts.map +1 -1
- package/dist/runnerauth/runnerauth.js +131 -35
- package/dist/runnerauth/runnerauth.js.map +1 -1
- package/dist/temporal/agentexecution/engine-client.d.ts +13 -0
- package/dist/temporal/agentexecution/engine-client.d.ts.map +1 -1
- package/dist/temporal/agentexecution/engine-client.js +10 -2
- package/dist/temporal/agentexecution/engine-client.js.map +1 -1
- package/dist/temporal/agentexecution/workflow-input.d.ts +13 -0
- package/dist/temporal/agentexecution/workflow-input.d.ts.map +1 -1
- package/dist/temporal/agentexecution/workflows/invoke-agent-execution.d.ts.map +1 -1
- package/dist/temporal/agentexecution/workflows/invoke-agent-execution.js +35 -31
- package/dist/temporal/agentexecution/workflows/invoke-agent-execution.js.map +1 -1
- package/dist/temporal/schedule/run-starter.d.ts +1 -1
- package/dist/temporal/schedule/run-starter.d.ts.map +1 -1
- package/dist/temporal/schedule/run-starter.js +14 -1
- package/dist/temporal/schedule/run-starter.js.map +1 -1
- package/dist/temporal/workflowexecution/engine-client.d.ts +24 -0
- package/dist/temporal/workflowexecution/engine-client.d.ts.map +1 -1
- package/dist/temporal/workflowexecution/engine-client.js +26 -19
- package/dist/temporal/workflowexecution/engine-client.js.map +1 -1
- package/dist/temporal/workflowexecution/workflow-input.d.ts +14 -0
- package/dist/temporal/workflowexecution/workflow-input.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/archive/__tests__/archive.test.ts +233 -0
- package/src/{domain/skill → archive}/__tests__/prefilter.test.ts +1 -1
- package/src/archive/content-store.ts +132 -0
- package/src/archive/inflate.ts +107 -0
- package/src/archive/limits.ts +42 -0
- package/src/archive/open.ts +131 -0
- package/src/{domain/skill/storage → archive}/prefilter.ts +5 -0
- package/src/archive/write.ts +54 -0
- package/src/authorization/README.md +124 -0
- package/src/authorization/__tests__/authorizer.test.ts +719 -0
- package/src/authorization/__tests__/derived-tuples.test.ts +802 -0
- package/src/authorization/__tests__/drivers.ts +70 -0
- package/src/authorization/__tests__/evaluator.test.ts +359 -0
- package/src/authorization/__tests__/facts.test.ts +155 -0
- package/src/authorization/__tests__/fixtures/fga/agent-channel-owner.fga.yaml +112 -0
- package/src/authorization/__tests__/fixtures/fga/agent-share-owner.fga.yaml +109 -0
- package/src/authorization/__tests__/fixtures/fga/artifact-org-and-owner.fga.yaml +128 -0
- package/src/authorization/__tests__/fixtures/fga/blueprint-private-visibility.fga.yaml +410 -0
- package/src/authorization/__tests__/fixtures/fga/channel-app-owner.fga.yaml +125 -0
- package/src/authorization/__tests__/fixtures/fga/channel-participation.fga.yaml +201 -0
- package/src/authorization/__tests__/fixtures/fga/channel-session-visibility.fga.yaml +187 -0
- package/src/authorization/__tests__/fixtures/fga/cross-org-share-creation.fga.yaml +98 -0
- package/src/authorization/__tests__/fixtures/fga/default-instance-inheritance.fga.yaml +271 -0
- package/src/authorization/__tests__/fixtures/fga/memory-subject-only.fga.yaml +72 -0
- package/src/authorization/__tests__/fixtures/fga/org-admin-owner-inheritance.fga.yaml +328 -0
- package/src/authorization/__tests__/fixtures/fga/org-shared-environment.fga.yaml +144 -0
- package/src/authorization/__tests__/fixtures/fga/platform-visibility.fga.yaml +223 -0
- package/src/authorization/__tests__/fixtures/fga/provider-standing-viewer.fga.yaml +40 -0
- package/src/authorization/__tests__/fixtures/fga/public-visibility-setter.fga.yaml +52 -0
- package/src/authorization/__tests__/fixtures/fga/reserved-label-writer.fga.yaml +41 -0
- package/src/authorization/__tests__/fixtures/fga/schedule-owner.fga.yaml +113 -0
- package/src/authorization/__tests__/fixtures/fga/schedule-session-visibility.fga.yaml +214 -0
- package/src/authorization/__tests__/fixtures/fga/session-personal-resource.fga.yaml +117 -0
- package/src/authorization/__tests__/fixtures/fga/workflow-execution-sharing.fga.yaml +192 -0
- package/src/authorization/__tests__/lane-admission.test.ts +115 -0
- package/src/authorization/__tests__/list-read-scope.measure.test.ts +317 -0
- package/src/authorization/__tests__/list-read-scope.test.ts +796 -0
- package/src/authorization/__tests__/organization-directory.test.ts +236 -0
- package/src/authorization/__tests__/person.test.ts +114 -0
- package/src/authorization/__tests__/posture.test.ts +25 -0
- package/src/authorization/__tests__/schedule-fire-caller.test.ts +134 -0
- package/src/authorization/__tests__/store-tests.test.ts +306 -0
- package/src/authorization/__tests__/support.ts +101 -0
- package/src/authorization/__tests__/tuples.test.ts +62 -0
- package/src/authorization/__tests__/wire-permissions.test.ts +154 -0
- package/src/authorization/authorizer.ts +208 -0
- package/src/authorization/derived-tuples.ts +384 -0
- package/src/authorization/evaluator.ts +283 -0
- package/src/authorization/facts.ts +47 -0
- package/src/authorization/lane-admission.ts +73 -0
- package/src/authorization/list-read-scope.ts +216 -0
- package/src/authorization/model/__tests__/registry.test.ts +317 -0
- package/src/authorization/model/agent.ts +64 -0
- package/src/authorization/model/agent_channel.ts +49 -0
- package/src/authorization/model/agent_execution.ts +33 -0
- package/src/authorization/model/agent_instance.ts +66 -0
- package/src/authorization/model/agent_share.ts +40 -0
- package/src/authorization/model/api_key.ts +28 -0
- package/src/authorization/model/artifact.ts +38 -0
- package/src/authorization/model/channel_app.ts +39 -0
- package/src/authorization/model/default-of.ts +99 -0
- package/src/authorization/model/environment.ts +48 -0
- package/src/authorization/model/execution_context.ts +20 -0
- package/src/authorization/model/iam_policy.ts +42 -0
- package/src/authorization/model/identity_account.ts +26 -0
- package/src/authorization/model/index.ts +108 -0
- package/src/authorization/model/mcp_server.ts +59 -0
- package/src/authorization/model/memory.ts +27 -0
- package/src/authorization/model/oauth_app.ts +42 -0
- package/src/authorization/model/organization.ts +55 -0
- package/src/authorization/model/plugin.ts +66 -0
- package/src/authorization/model/project.ts +47 -0
- package/src/authorization/model/rewrite.ts +213 -0
- package/src/authorization/model/schedule.ts +40 -0
- package/src/authorization/model/session.ts +50 -0
- package/src/authorization/model/skill.ts +60 -0
- package/src/authorization/model/workflow.ts +60 -0
- package/src/authorization/model/workflow_execution.ts +44 -0
- package/src/authorization/model/workflow_instance.ts +122 -0
- package/src/authorization/organization-directory.ts +114 -0
- package/src/authorization/person.ts +68 -0
- package/src/authorization/posture.ts +49 -0
- package/src/authorization/schedule-fire-caller.ts +87 -0
- package/src/authorization/store-test-kit.ts +454 -0
- package/src/authorization/tuples.ts +190 -0
- package/src/boot/compose.ts +246 -52
- package/src/boot/inprocess.ts +115 -31
- package/src/domain/agent/controller.ts +11 -0
- package/src/domain/executioncontext/__tests__/executioncontext.test.ts +104 -0
- package/src/domain/executioncontext/__tests__/resolve-values-capability.test.ts +33 -4
- package/src/domain/executioncontext/resolve-values-for-caller.ts +79 -22
- package/src/domain/iampolicy/__tests__/membership.test.ts +357 -3
- package/src/domain/iampolicy/constants.ts +12 -0
- package/src/domain/iampolicy/membership.ts +221 -66
- package/src/domain/identityaccount/__tests__/account-for-stamp.test.ts +111 -0
- package/src/domain/identityaccount/actor.ts +84 -0
- package/src/domain/identityaccount/resolve.ts +31 -0
- package/src/domain/mcpserver/__tests__/connect.test.ts +17 -2
- package/src/domain/mcpserver/connect-execution-id.ts +34 -0
- package/src/domain/mcpserver/connect.ts +38 -3
- package/src/domain/mcpserver/controller.ts +11 -0
- package/src/domain/mcpserver/engine.ts +9 -3
- package/src/domain/mcpserver/start-connect.ts +1 -1
- package/src/domain/platform/controller.ts +24 -11
- package/src/domain/plugin/__tests__/materialize.test.ts +303 -0
- package/src/domain/plugin/__tests__/overlay-parse.test.ts +85 -0
- package/src/domain/plugin/__tests__/plugin.test.ts +796 -0
- package/src/domain/plugin/__tests__/sanitize.test.ts +174 -0
- package/src/domain/plugin/archive.ts +89 -0
- package/src/domain/plugin/constants.ts +53 -0
- package/src/domain/plugin/controller.ts +913 -0
- package/src/domain/plugin/materialize/agent.ts +186 -0
- package/src/domain/plugin/materialize/default-agent-instructions.ts +59 -0
- package/src/domain/plugin/materialize/identity.ts +67 -0
- package/src/domain/plugin/materialize/mcp-servers.ts +175 -0
- package/src/domain/plugin/materialize/plan.ts +124 -0
- package/src/domain/plugin/materialize/ports.ts +53 -0
- package/src/domain/plugin/materialize/skills.ts +68 -0
- package/src/domain/plugin/materialize/workflows.ts +51 -0
- package/src/domain/plugin/members.ts +180 -0
- package/src/domain/plugin/overlay/documents.ts +78 -0
- package/src/domain/plugin/overlay/parse.ts +115 -0
- package/src/domain/plugin/overlay/sanitize.ts +151 -0
- package/src/domain/plugin/push.ts +1062 -0
- package/src/domain/plugin/search-extractor.ts +60 -0
- package/src/domain/skill/constants.ts +11 -14
- package/src/domain/skill/controller.ts +44 -36
- package/src/domain/skill/push.ts +61 -156
- package/src/domain/skill/search-extractor.ts +3 -1
- package/src/domain/skill/storage/artifact-storage.ts +23 -124
- package/src/domain/skill/storage/zip-gate.ts +58 -154
- package/src/domain/skill/version-resolution.ts +67 -269
- package/src/domain/workflow/controller.ts +38 -4
- package/src/domain/workflow/registry/data/task-kind-registry.json +1 -0
- package/src/domain/workflowexecution/__tests__/phases.test.ts +58 -0
- package/src/domain/workflowexecution/phases.ts +33 -0
- package/src/extensions/__tests__/built-in-authorization-composed.test.ts +835 -0
- package/src/extensions/__tests__/composed-support.ts +32 -1
- package/src/extensions/__tests__/extension-composition.test.ts +42 -1
- package/src/extensions/__tests__/list-read-scope.test.ts +137 -33
- package/src/extensions/__tests__/role-reconciliation-composed.test.ts +209 -0
- package/src/extensions/__tests__/tier-truthfulness.test.ts +6 -14
- package/src/extensions/authorizer.ts +10 -5
- package/src/extensions/drivers.ts +4 -1
- package/src/extensions/list-read-scope.ts +67 -45
- package/src/extensions/organization-directory.ts +13 -9
- package/src/extensions/resource-authorization.ts +34 -0
- package/src/extensions/schedule-fire-caller.ts +49 -18
- package/src/identity/__tests__/oidc-verifier.test.ts +22 -0
- package/src/identity/oidc-verifier.ts +8 -1
- package/src/index.ts +51 -1
- package/src/pipeline/__tests__/kind-by-id-prefix.test.ts +75 -0
- package/src/pipeline/__tests__/router-transport.test.ts +1 -3
- package/src/pipeline/apiresource-labels.ts +31 -3
- package/src/pipeline/apiresource-meta.ts +41 -0
- package/src/pipeline/errors.ts +5 -5
- package/src/pipeline/steps/__tests__/authorize-annotation-completeness.test.ts +1 -20
- package/src/pipeline/steps/__tests__/guard-memory-capture.test.ts +58 -44
- package/src/pipeline/steps/__tests__/guard-plugin-managed.test.ts +151 -0
- package/src/pipeline/steps/__tests__/guard-reserved-labels.test.ts +83 -8
- package/src/pipeline/steps/authorization-facts.ts +131 -0
- package/src/pipeline/steps/delete.ts +11 -3
- package/src/pipeline/steps/duplicate.ts +8 -2
- package/src/pipeline/steps/guard-memory-capture.ts +5 -3
- package/src/pipeline/steps/guard-plugin-managed.ts +133 -0
- package/src/pipeline/steps/guard-reserved-labels.ts +29 -8
- package/src/pipeline/steps/helpers.ts +4 -1
- package/src/pipeline/steps/index-search.ts +28 -15
- package/src/pipeline/steps/load-existing.ts +12 -3
- package/src/pipeline/steps/references.ts +36 -2
- package/src/pipeline/steps/resolve-artifact-source.ts +66 -0
- package/src/pipeline/steps/server-stamped-reserved-labels.ts +2 -1
- package/src/pipeline/steps/slug.ts +7 -2
- package/src/pipeline/steps/validate-visibility.ts +9 -2
- package/src/pipeline/steps/validation.ts +3 -1
- package/src/pipeline/steps/version-archive.ts +225 -0
- package/src/pipeline/steps/version-history.ts +362 -0
- package/src/pipeline/steps/visibility-gates.ts +12 -9
- package/src/query/README.md +1 -1
- package/src/query/search/__tests__/criteria.test.ts +6 -7
- package/src/query/search/__tests__/query-store.test.ts +9 -2
- package/src/query/search/__tests__/registry.test.ts +6 -4
- package/src/query/search/registry.ts +6 -1
- package/src/runnerauth/__tests__/bound-execution.test.ts +334 -0
- package/src/runnerauth/__tests__/built-in-runner-credential-provider.test.ts +516 -0
- package/src/runnerauth/__tests__/dispatch-credential.test.ts +94 -0
- package/src/runnerauth/__tests__/runner-credential-provider.test.ts +27 -0
- package/src/runnerauth/__tests__/runner-subject-composed.test.ts +497 -0
- package/src/runnerauth/__tests__/runner-subject-verifier.test.ts +541 -0
- package/src/runnerauth/bound-execution.ts +270 -0
- package/src/runnerauth/built-in-runner-credential-provider.ts +300 -0
- package/src/runnerauth/constants.ts +74 -0
- package/src/runnerauth/dispatch-credential.ts +63 -0
- package/src/runnerauth/runner-credential-provider.ts +60 -11
- package/src/runnerauth/runner-subject-verifier.ts +152 -0
- package/src/runnerauth/runnerauth.ts +148 -38
- package/src/temporal/agentexecution/__tests__/engine-client.test.ts +107 -38
- package/src/temporal/agentexecution/__tests__/invoke-workflow.test.ts +105 -2
- package/src/temporal/agentexecution/engine-client.ts +27 -2
- package/src/temporal/agentexecution/workflow-input.ts +13 -0
- package/src/temporal/agentexecution/workflows/invoke-agent-execution.ts +90 -44
- package/src/temporal/schedule/__tests__/run-starter.test.ts +86 -24
- package/src/temporal/schedule/run-starter.ts +31 -8
- package/src/temporal/workflowexecution/__tests__/engine-client.test.ts +139 -33
- package/src/temporal/workflowexecution/engine-client.ts +48 -21
- package/src/temporal/workflowexecution/workflow-input.ts +14 -0
- package/dist/domain/skill/storage/prefilter.d.ts.map +0 -1
- package/dist/domain/skill/storage/prefilter.js.map +0 -1
- /package/dist/{domain/skill/storage → archive}/prefilter.js +0 -0
|
@@ -14,8 +14,14 @@
|
|
|
14
14
|
* map the SDK's workflow-not-found onto EngineWorkflowNotFoundError
|
|
15
15
|
* (Go serviceerror.NotFound → ErrWorkflowNotFound);
|
|
16
16
|
* - the engine-state provider: DISCONNECTED until the first connect,
|
|
17
|
-
* memoized per client instance, re-built on client swap (reconnect)
|
|
17
|
+
* memoized per client instance, re-built on client swap (reconnect);
|
|
18
|
+
* - the run credential on the input (2026-09-16): minted through the
|
|
19
|
+
* composed provider's capability and bound to the execution with no
|
|
20
|
+
* clock; the key is ABSENT when the provider lacks the capability
|
|
21
|
+
* (an edition credentialed another way), when it is keyless, and
|
|
22
|
+
* when the mint throws — a dispatch never fails on a mint.
|
|
18
23
|
*/
|
|
24
|
+
import { randomBytes } from "node:crypto";
|
|
19
25
|
import { mkdtempSync, rmSync } from "node:fs";
|
|
20
26
|
import { tmpdir } from "node:os";
|
|
21
27
|
import path from "node:path";
|
|
@@ -41,6 +47,12 @@ import {
|
|
|
41
47
|
DEFAULT_EXECUTION_TARGET_LOCAL,
|
|
42
48
|
ROUTING_GLOBAL,
|
|
43
49
|
} from "../../../domain/agentexecution/temporal/config.js";
|
|
50
|
+
import type { RunCredentialMint } from "../../../runnerauth/dispatch-credential.js";
|
|
51
|
+
import { newExecutionScopedRunnerCredentialProvider } from "../../../runnerauth/runner-credential-provider.js";
|
|
52
|
+
import {
|
|
53
|
+
isClockedToken,
|
|
54
|
+
RunnerAuthService,
|
|
55
|
+
} from "../../../runnerauth/runnerauth.js";
|
|
44
56
|
import { SqliteStore } from "../../../store/sqlite/store.js";
|
|
45
57
|
import type { Store } from "../../../store/interface.js";
|
|
46
58
|
import type { TemporalManager } from "../../manager.js";
|
|
@@ -48,6 +60,7 @@ import {
|
|
|
48
60
|
newExecutionEngineStateProvider,
|
|
49
61
|
TemporalExecutionEngine,
|
|
50
62
|
} from "../engine-client.js";
|
|
63
|
+
import type { TemporalExecutionEngineDeps } from "../engine-client.js";
|
|
51
64
|
import { DEFAULT_ACTIVITY_TASK_QUEUE } from "../names.js";
|
|
52
65
|
|
|
53
66
|
const silentLogger = createLogger({
|
|
@@ -56,6 +69,28 @@ const silentLogger = createLogger({
|
|
|
56
69
|
write: () => {},
|
|
57
70
|
});
|
|
58
71
|
|
|
72
|
+
/** The keyed OSS default — what a real open-source boot composes. */
|
|
73
|
+
const runnerAuth = RunnerAuthService.create(randomBytes(32));
|
|
74
|
+
const keyedCredentials = newExecutionScopedRunnerCredentialProvider(runnerAuth);
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* One construction site for every arm: the realistic deps by default,
|
|
78
|
+
* any of them overridable, so the next dependency costs one line here.
|
|
79
|
+
*/
|
|
80
|
+
function newEngine(
|
|
81
|
+
client: Client,
|
|
82
|
+
overrides: Partial<Omit<TemporalExecutionEngineDeps, "client">> = {},
|
|
83
|
+
): TemporalExecutionEngine {
|
|
84
|
+
return new TemporalExecutionEngine({
|
|
85
|
+
client,
|
|
86
|
+
config: config(),
|
|
87
|
+
store: overrides.store ?? newStore(),
|
|
88
|
+
runnerCredentials: keyedCredentials,
|
|
89
|
+
logger: silentLogger,
|
|
90
|
+
...overrides,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
|
|
59
94
|
const cleanups: Array<() => Promise<void> | void> = [];
|
|
60
95
|
afterEach(async () => {
|
|
61
96
|
for (const cleanup of cleanups.splice(0)) {
|
|
@@ -123,6 +158,12 @@ function stubClient(behavior?: { handleError?: Error }) {
|
|
|
123
158
|
return { client, startCalls, handleCalls };
|
|
124
159
|
}
|
|
125
160
|
|
|
161
|
+
/** The one workflow input the stub recorded. */
|
|
162
|
+
function dispatchedInput(startCalls: StartCall[]): Record<string, unknown> {
|
|
163
|
+
expect(startCalls).toHaveLength(1);
|
|
164
|
+
return (startCalls[0]!.options["args"] as unknown[])[0] as Record<string, unknown>;
|
|
165
|
+
}
|
|
166
|
+
|
|
126
167
|
function startInput(overrides: Partial<Parameters<TemporalExecutionEngine["startInvokeWorkflow"]>[0]> = {}) {
|
|
127
168
|
return {
|
|
128
169
|
executionId: "aex_1",
|
|
@@ -139,12 +180,7 @@ function startInput(overrides: Partial<Parameters<TemporalExecutionEngine["start
|
|
|
139
180
|
describe("TemporalExecutionEngine.startInvokeWorkflow", () => {
|
|
140
181
|
it("starts the byte-pinned workflow type with the memo, queue, and slim input", async () => {
|
|
141
182
|
const { client, startCalls } = stubClient();
|
|
142
|
-
const engine =
|
|
143
|
-
client,
|
|
144
|
-
config: config(),
|
|
145
|
-
store: newStore(),
|
|
146
|
-
logger: silentLogger,
|
|
147
|
-
});
|
|
183
|
+
const engine = newEngine(client);
|
|
148
184
|
|
|
149
185
|
await engine.startInvokeWorkflow(
|
|
150
186
|
startInput({ callbackToken: Buffer.from("tok"), parentWorkflowId: "parent-wf" }),
|
|
@@ -171,10 +207,67 @@ describe("TemporalExecutionEngine.startInvokeWorkflow", () => {
|
|
|
171
207
|
// keeps it, so the wire carries it) and target resolved LOCAL.
|
|
172
208
|
harness: Harness.NATIVE,
|
|
173
209
|
execution_target: ExecutionTarget.LOCAL,
|
|
210
|
+
// The run credential, minted per dispatch (its own arms below).
|
|
211
|
+
execution_context_token: expect.any(String),
|
|
174
212
|
},
|
|
175
213
|
]);
|
|
176
214
|
});
|
|
177
215
|
|
|
216
|
+
it("carries the run credential minted through the provider: bound to the execution, no clock", async () => {
|
|
217
|
+
const { client, startCalls } = stubClient();
|
|
218
|
+
const engine = newEngine(client);
|
|
219
|
+
|
|
220
|
+
await engine.startInvokeWorkflow(startInput({ executionId: "aex_cred" }));
|
|
221
|
+
|
|
222
|
+
const token = dispatchedInput(startCalls)["execution_context_token"];
|
|
223
|
+
expect(typeof token).toBe("string");
|
|
224
|
+
expect(runnerAuth.verify(token as string)).toBe("aex_cred");
|
|
225
|
+
expect(isClockedToken(token as string)).toBe(false);
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
it("omits the credential when the provider lacks the capability — an edition credentialed another way", async () => {
|
|
229
|
+
const { client, startCalls } = stubClient();
|
|
230
|
+
const withoutCapability: RunCredentialMint = {};
|
|
231
|
+
const engine = newEngine(client, { runnerCredentials: withoutCapability });
|
|
232
|
+
|
|
233
|
+
await engine.startInvokeWorkflow(startInput());
|
|
234
|
+
|
|
235
|
+
expect("execution_context_token" in dispatchedInput(startCalls)).toBe(
|
|
236
|
+
false,
|
|
237
|
+
);
|
|
238
|
+
});
|
|
239
|
+
|
|
240
|
+
it("omits the credential when the provider is keyless", async () => {
|
|
241
|
+
const { client, startCalls } = stubClient();
|
|
242
|
+
const keyless = newExecutionScopedRunnerCredentialProvider(
|
|
243
|
+
RunnerAuthService.create(undefined),
|
|
244
|
+
);
|
|
245
|
+
const engine = newEngine(client, { runnerCredentials: keyless });
|
|
246
|
+
|
|
247
|
+
await engine.startInvokeWorkflow(startInput());
|
|
248
|
+
|
|
249
|
+
expect("execution_context_token" in dispatchedInput(startCalls)).toBe(
|
|
250
|
+
false,
|
|
251
|
+
);
|
|
252
|
+
});
|
|
253
|
+
|
|
254
|
+
it("a mint that throws degrades to a dispatch without the credential — the start still happens", async () => {
|
|
255
|
+
const { client, startCalls } = stubClient();
|
|
256
|
+
const throwing: RunCredentialMint = {
|
|
257
|
+
mintRunCredential(): string {
|
|
258
|
+
throw new Error("signing failed");
|
|
259
|
+
},
|
|
260
|
+
};
|
|
261
|
+
const engine = newEngine(client, { runnerCredentials: throwing });
|
|
262
|
+
|
|
263
|
+
await engine.startInvokeWorkflow(startInput());
|
|
264
|
+
|
|
265
|
+
expect(startCalls).toHaveLength(1);
|
|
266
|
+
expect("execution_context_token" in dispatchedInput(startCalls)).toBe(
|
|
267
|
+
false,
|
|
268
|
+
);
|
|
269
|
+
});
|
|
270
|
+
|
|
178
271
|
it("resolves session routing through dispatch (harness + target in the input)", async () => {
|
|
179
272
|
const { client, startCalls } = stubClient();
|
|
180
273
|
const store = newStore();
|
|
@@ -193,16 +286,11 @@ describe("TemporalExecutionEngine.startInvokeWorkflow", () => {
|
|
|
193
286
|
},
|
|
194
287
|
}),
|
|
195
288
|
);
|
|
196
|
-
const engine =
|
|
197
|
-
client,
|
|
198
|
-
config: config(),
|
|
199
|
-
store,
|
|
200
|
-
logger: silentLogger,
|
|
201
|
-
});
|
|
289
|
+
const engine = newEngine(client, { store });
|
|
202
290
|
|
|
203
291
|
await engine.startInvokeWorkflow(startInput({ sessionId: "ses_1" }));
|
|
204
292
|
|
|
205
|
-
const input = (startCalls
|
|
293
|
+
const input = dispatchedInput(startCalls);
|
|
206
294
|
expect(input["harness"]).toBe(Harness.CURSOR);
|
|
207
295
|
expect(input["execution_target"]).toBe(ExecutionTarget.CLOUD);
|
|
208
296
|
// Omitempty shape: empty callback token and parent id carry NO keys.
|
|
@@ -214,12 +302,7 @@ describe("TemporalExecutionEngine.startInvokeWorkflow", () => {
|
|
|
214
302
|
const { client } = stubClient();
|
|
215
303
|
const store = newStore();
|
|
216
304
|
await store.close(); // Forces a non-NotFound store failure in dispatch.
|
|
217
|
-
const engine =
|
|
218
|
-
client,
|
|
219
|
-
config: config(),
|
|
220
|
-
store,
|
|
221
|
-
logger: silentLogger,
|
|
222
|
-
});
|
|
305
|
+
const engine = newEngine(client, { store });
|
|
223
306
|
|
|
224
307
|
await expect(
|
|
225
308
|
engine.startInvokeWorkflow(startInput({ sessionId: "ses_any" })),
|
|
@@ -234,12 +317,7 @@ describe("TemporalExecutionEngine.startInvokeWorkflow", () => {
|
|
|
234
317
|
describe("TemporalExecutionEngine lifecycle operations", () => {
|
|
235
318
|
it("targets the pinned workflow ID for signal/cancel/terminate", async () => {
|
|
236
319
|
const { client, handleCalls } = stubClient();
|
|
237
|
-
const engine =
|
|
238
|
-
client,
|
|
239
|
-
config: config(),
|
|
240
|
-
store: newStore(),
|
|
241
|
-
logger: silentLogger,
|
|
242
|
-
});
|
|
320
|
+
const engine = newEngine(client);
|
|
243
321
|
|
|
244
322
|
await engine.signalApprovalGateResolved("aex_2");
|
|
245
323
|
await engine.signalPause("aex_2", "Paused by user");
|
|
@@ -260,12 +338,7 @@ describe("TemporalExecutionEngine lifecycle operations", () => {
|
|
|
260
338
|
const { client } = stubClient({
|
|
261
339
|
handleError: new WorkflowNotFoundError("nope", "wf", undefined),
|
|
262
340
|
});
|
|
263
|
-
const engine =
|
|
264
|
-
client,
|
|
265
|
-
config: config(),
|
|
266
|
-
store: newStore(),
|
|
267
|
-
logger: silentLogger,
|
|
268
|
-
});
|
|
341
|
+
const engine = newEngine(client);
|
|
269
342
|
|
|
270
343
|
for (const op of [
|
|
271
344
|
() => engine.signalApprovalGateResolved("aex_3"),
|
|
@@ -280,12 +353,7 @@ describe("TemporalExecutionEngine lifecycle operations", () => {
|
|
|
280
353
|
|
|
281
354
|
it("passes through other errors unmapped", async () => {
|
|
282
355
|
const { client } = stubClient({ handleError: new Error("connection reset") });
|
|
283
|
-
const engine =
|
|
284
|
-
client,
|
|
285
|
-
config: config(),
|
|
286
|
-
store: newStore(),
|
|
287
|
-
logger: silentLogger,
|
|
288
|
-
});
|
|
356
|
+
const engine = newEngine(client);
|
|
289
357
|
await expect(engine.signalResume("aex_4")).rejects.toThrow("connection reset");
|
|
290
358
|
});
|
|
291
359
|
});
|
|
@@ -298,6 +366,7 @@ describe("newExecutionEngineStateProvider", () => {
|
|
|
298
366
|
manager,
|
|
299
367
|
config: config(),
|
|
300
368
|
store: newStore(),
|
|
369
|
+
runnerCredentials: keyedCredentials,
|
|
301
370
|
logger: silentLogger,
|
|
302
371
|
});
|
|
303
372
|
|
|
@@ -20,7 +20,11 @@
|
|
|
20
20
|
* stigmer#282 — and the EC deleted);
|
|
21
21
|
* - callback-token completion on success AND failure (the DD-001 lane,
|
|
22
22
|
* oss#861: the TS error completion WORKS);
|
|
23
|
-
* - the cursor flow's harness_state_id re-read discipline
|
|
23
|
+
* - the cursor flow's harness_state_id re-read discipline;
|
|
24
|
+
* - the run credential handed on (2026-09-16): the workflow input's
|
|
25
|
+
* `execution_context_token` reaches EVERY Execute* invocation, first
|
|
26
|
+
* turn and re-invocation, both harnesses, and the key is absent when
|
|
27
|
+
* the dispatch carried none.
|
|
24
28
|
*
|
|
25
29
|
* Recorder discipline (oss#892): Temporal activities are at-least-once —
|
|
26
30
|
* a workflow task whose completion fails to commit re-executes its local
|
|
@@ -102,6 +106,18 @@ interface ActivityScript {
|
|
|
102
106
|
}) => Promise<Record<string, unknown>>
|
|
103
107
|
>;
|
|
104
108
|
executeCalls: Array<{ thread_id: string; turn_seq: number }>;
|
|
109
|
+
/**
|
|
110
|
+
* The `execution_context_token` each Execute* invocation carried, in
|
|
111
|
+
* order — `undefined` when the key was absent. Recorded beside
|
|
112
|
+
* executeCalls so the arms that pin thread/turn shape stay exact.
|
|
113
|
+
*/
|
|
114
|
+
executeCredentials: Array<string | undefined>;
|
|
115
|
+
/**
|
|
116
|
+
* The argument each GenerateSessionSubject invocation received, verbatim:
|
|
117
|
+
* the positional execution id when the dispatch carried no credential,
|
|
118
|
+
* the typed object when it did (the runner accepts both).
|
|
119
|
+
*/
|
|
120
|
+
subjectArguments: unknown[];
|
|
105
121
|
/** Consumed per LoadAgentExecution call, in order; last one sticks. */
|
|
106
122
|
loadResults: JsonValue[];
|
|
107
123
|
/** Consumed per ReadHarnessStateId call, in order; last one sticks. */
|
|
@@ -137,6 +153,8 @@ function resetScript(): void {
|
|
|
137
153
|
script = {
|
|
138
154
|
executeBehaviors: [],
|
|
139
155
|
executeCalls: [],
|
|
156
|
+
executeCredentials: [],
|
|
157
|
+
subjectArguments: [],
|
|
140
158
|
loadResults: [],
|
|
141
159
|
harnessStateIds: [],
|
|
142
160
|
persistedStatuses: [],
|
|
@@ -210,11 +228,17 @@ function scriptedActivities(): Record<string, (...args: never[]) => Promise<unkn
|
|
|
210
228
|
execution_id: string;
|
|
211
229
|
thread_id: string;
|
|
212
230
|
turn_seq: number;
|
|
231
|
+
execution_context_token?: string;
|
|
213
232
|
}) => {
|
|
214
233
|
script.executeCalls.push({
|
|
215
234
|
thread_id: input.thread_id,
|
|
216
235
|
turn_seq: input.turn_seq,
|
|
217
236
|
});
|
|
237
|
+
script.executeCredentials.push(
|
|
238
|
+
"execution_context_token" in input
|
|
239
|
+
? input.execution_context_token
|
|
240
|
+
: undefined,
|
|
241
|
+
);
|
|
218
242
|
const behavior = script.executeBehaviors.shift();
|
|
219
243
|
if (behavior === undefined) {
|
|
220
244
|
throw new Error("test script exhausted: unexpected agent invocation");
|
|
@@ -224,7 +248,9 @@ function scriptedActivities(): Record<string, (...args: never[]) => Promise<unkn
|
|
|
224
248
|
|
|
225
249
|
return {
|
|
226
250
|
EnsureThread: async (): Promise<string> => script.ensureThreadResult,
|
|
227
|
-
GenerateSessionSubject: async (): Promise<void> => {
|
|
251
|
+
GenerateSessionSubject: async (argument: unknown): Promise<void> => {
|
|
252
|
+
script.subjectArguments.push(argument);
|
|
253
|
+
},
|
|
228
254
|
ExecuteDeepAgent: takeExecuteBehavior as never,
|
|
229
255
|
ExecuteCursor: takeExecuteBehavior as never,
|
|
230
256
|
UpdateExecutionStatus: async (
|
|
@@ -721,6 +747,83 @@ describe("invoke-agent-execution workflow (TestWorkflowEnvironment)", () => {
|
|
|
721
747
|
]);
|
|
722
748
|
}, 30_000);
|
|
723
749
|
|
|
750
|
+
it("hands the run credential to every deep-agent invocation — the first turn and the re-invocation alike", async (testCtx) => { if (!envReady) return testCtx.skip();
|
|
751
|
+
script.executeBehaviors = [
|
|
752
|
+
async () => slimResult(ExecutionPhase.EXECUTION_WAITING_FOR_APPROVAL),
|
|
753
|
+
async () => slimResult(ExecutionPhase.EXECUTION_COMPLETED),
|
|
754
|
+
];
|
|
755
|
+
script.loadResults = [executionJson(statusWithPendingApproval())];
|
|
756
|
+
|
|
757
|
+
const handle = await startWorkflow(
|
|
758
|
+
workflowInput({ execution_context_token: "run-credential-1" }),
|
|
759
|
+
);
|
|
760
|
+
await waitForPersistedPhase(ExecutionPhase.EXECUTION_WAITING_FOR_APPROVAL);
|
|
761
|
+
await handle.signal(SIGNAL_APPROVAL_GATE_RESOLVED);
|
|
762
|
+
await handle.result();
|
|
763
|
+
|
|
764
|
+
expect(script.executeCredentials).toEqual([
|
|
765
|
+
"run-credential-1",
|
|
766
|
+
"run-credential-1",
|
|
767
|
+
]);
|
|
768
|
+
}, 30_000);
|
|
769
|
+
|
|
770
|
+
it("hands the run credential to the cursor invocation too", async (testCtx) => { if (!envReady) return testCtx.skip();
|
|
771
|
+
script.executeBehaviors = [
|
|
772
|
+
async () => slimResult(ExecutionPhase.EXECUTION_COMPLETED),
|
|
773
|
+
];
|
|
774
|
+
script.harnessStateIds = [""];
|
|
775
|
+
|
|
776
|
+
const handle = await startWorkflow(
|
|
777
|
+
workflowInput({
|
|
778
|
+
harness: Harness.CURSOR,
|
|
779
|
+
execution_context_token: "run-credential-2",
|
|
780
|
+
}),
|
|
781
|
+
);
|
|
782
|
+
await handle.result();
|
|
783
|
+
|
|
784
|
+
expect(script.executeCredentials).toEqual(["run-credential-2"]);
|
|
785
|
+
}, 30_000);
|
|
786
|
+
|
|
787
|
+
it("omits the credential key when the dispatch carried none — the omitempty shape an in-flight history has", async (testCtx) => { if (!envReady) return testCtx.skip();
|
|
788
|
+
script.executeBehaviors = [
|
|
789
|
+
async () => slimResult(ExecutionPhase.EXECUTION_COMPLETED),
|
|
790
|
+
];
|
|
791
|
+
|
|
792
|
+
const handle = await startWorkflow(workflowInput());
|
|
793
|
+
await handle.result();
|
|
794
|
+
|
|
795
|
+
expect(script.executeCredentials).toEqual([undefined]);
|
|
796
|
+
}, 30_000);
|
|
797
|
+
|
|
798
|
+
it("calls GenerateSessionSubject with the typed object carrying the run credential when the dispatch has one", async (testCtx) => { if (!envReady) return testCtx.skip();
|
|
799
|
+
script.executeBehaviors = [
|
|
800
|
+
async () => slimResult(ExecutionPhase.EXECUTION_COMPLETED),
|
|
801
|
+
];
|
|
802
|
+
|
|
803
|
+
const handle = await startWorkflow(
|
|
804
|
+
workflowInput({ execution_context_token: "run-credential-3" }),
|
|
805
|
+
);
|
|
806
|
+
await handle.result();
|
|
807
|
+
|
|
808
|
+
expect(script.subjectArguments).toEqual([
|
|
809
|
+
{
|
|
810
|
+
execution_id: currentExecutionId,
|
|
811
|
+
execution_context_token: "run-credential-3",
|
|
812
|
+
},
|
|
813
|
+
]);
|
|
814
|
+
}, 30_000);
|
|
815
|
+
|
|
816
|
+
it("calls GenerateSessionSubject with the positional execution id when the dispatch carried no credential — the shape every earlier runner accepts", async (testCtx) => { if (!envReady) return testCtx.skip();
|
|
817
|
+
script.executeBehaviors = [
|
|
818
|
+
async () => slimResult(ExecutionPhase.EXECUTION_COMPLETED),
|
|
819
|
+
];
|
|
820
|
+
|
|
821
|
+
const handle = await startWorkflow(workflowInput());
|
|
822
|
+
await handle.result();
|
|
823
|
+
|
|
824
|
+
expect(script.subjectArguments).toEqual([currentExecutionId]);
|
|
825
|
+
}, 30_000);
|
|
826
|
+
|
|
724
827
|
it("survives a missing parent workflow for child_execution_started (non-fatal)", async (testCtx) => { if (!envReady) return testCtx.skip();
|
|
725
828
|
script.executeBehaviors = [
|
|
726
829
|
async () => slimResult(ExecutionPhase.EXECUTION_COMPLETED),
|
|
@@ -19,6 +19,15 @@
|
|
|
19
19
|
* engine per client instance — a new engine object per RPC would be
|
|
20
20
|
* garbage for no behavior.
|
|
21
21
|
*
|
|
22
|
+
* The run credential rides the input (2026-09-16): every dispatch — a
|
|
23
|
+
* fresh start and a recovery alike, both through startInvokeWorkflow —
|
|
24
|
+
* asks the composed credential provider for the run's credential
|
|
25
|
+
* (runnerauth/dispatch-credential.ts) and carries it as
|
|
26
|
+
* `execution_context_token`, the connect lane's shape. Minting here, in
|
|
27
|
+
* the one place that builds the input, is what keeps the create step and
|
|
28
|
+
* the recover path ignorant of credentials; a provider without the
|
|
29
|
+
* capability (an edition credentialed another way) leaves the key off.
|
|
30
|
+
*
|
|
22
31
|
* Proven by the agentexecution suites on local-execution.
|
|
23
32
|
*/
|
|
24
33
|
import type { Client } from "@temporalio/client";
|
|
@@ -35,6 +44,8 @@ import {
|
|
|
35
44
|
type StartInvokeWorkflowInput,
|
|
36
45
|
} from "../../domain/agentexecution/engine.js";
|
|
37
46
|
import type { AgentExecutionTemporalConfig } from "../../domain/agentexecution/temporal/config.js";
|
|
47
|
+
import { runCredentialForDispatch } from "../../runnerauth/dispatch-credential.js";
|
|
48
|
+
import type { RunCredentialMint } from "../../runnerauth/dispatch-credential.js";
|
|
38
49
|
import type { Store } from "../../store/interface.js";
|
|
39
50
|
import type { TemporalManager } from "../manager.js";
|
|
40
51
|
import { resolveActivityTaskQueue } from "./dispatch.js";
|
|
@@ -52,6 +63,8 @@ export interface TemporalExecutionEngineDeps {
|
|
|
52
63
|
readonly client: Client;
|
|
53
64
|
readonly config: AgentExecutionTemporalConfig;
|
|
54
65
|
readonly store: Store;
|
|
66
|
+
/** The composed credential provider — the dispatch reads its run-credential capability (module header). */
|
|
67
|
+
readonly runnerCredentials: RunCredentialMint;
|
|
55
68
|
readonly logger: Logger;
|
|
56
69
|
}
|
|
57
70
|
|
|
@@ -59,7 +72,7 @@ export class TemporalExecutionEngine implements ConnectedExecutionEngine {
|
|
|
59
72
|
constructor(private readonly deps: TemporalExecutionEngineDeps) {}
|
|
60
73
|
|
|
61
74
|
async startInvokeWorkflow(input: StartInvokeWorkflowInput): Promise<void> {
|
|
62
|
-
const { client, config, store, logger } = this.deps;
|
|
75
|
+
const { client, config, store, runnerCredentials, logger } = this.deps;
|
|
63
76
|
|
|
64
77
|
let dispatch;
|
|
65
78
|
try {
|
|
@@ -79,6 +92,11 @@ export class TemporalExecutionEngine implements ConnectedExecutionEngine {
|
|
|
79
92
|
}
|
|
80
93
|
|
|
81
94
|
const workflowId = invokeWorkflowIdFor(input.executionId);
|
|
95
|
+
const runCredential = runCredentialForDispatch(
|
|
96
|
+
runnerCredentials,
|
|
97
|
+
input.executionId,
|
|
98
|
+
logger,
|
|
99
|
+
);
|
|
82
100
|
|
|
83
101
|
// Slim input with Go's omitempty shape (workflow-input.ts): zero-value
|
|
84
102
|
// fields are omitted so TS- and Go-authored histories carry the same
|
|
@@ -88,7 +106,9 @@ export class TemporalExecutionEngine implements ConnectedExecutionEngine {
|
|
|
88
106
|
session_id: input.sessionId,
|
|
89
107
|
agent_id: input.agentId,
|
|
90
108
|
...(input.callbackToken.length > 0
|
|
91
|
-
? {
|
|
109
|
+
? {
|
|
110
|
+
callback_token: Buffer.from(input.callbackToken).toString("base64"),
|
|
111
|
+
}
|
|
92
112
|
: {}),
|
|
93
113
|
...(input.autoApproveAll ? { auto_approve_all: true } : {}),
|
|
94
114
|
...(input.parentWorkflowId !== ""
|
|
@@ -98,6 +118,9 @@ export class TemporalExecutionEngine implements ConnectedExecutionEngine {
|
|
|
98
118
|
...(dispatch.executionTarget !== 0
|
|
99
119
|
? { execution_target: dispatch.executionTarget }
|
|
100
120
|
: {}),
|
|
121
|
+
...(runCredential !== ""
|
|
122
|
+
? { execution_context_token: runCredential }
|
|
123
|
+
: {}),
|
|
101
124
|
};
|
|
102
125
|
|
|
103
126
|
// NOTE deliberately NO workflowRunTimeout: HITL approval can block for
|
|
@@ -190,6 +213,7 @@ export interface EngineStateProviderDeps {
|
|
|
190
213
|
readonly manager: TemporalManager;
|
|
191
214
|
readonly config: AgentExecutionTemporalConfig;
|
|
192
215
|
readonly store: Store;
|
|
216
|
+
readonly runnerCredentials: RunCredentialMint;
|
|
193
217
|
readonly logger: Logger;
|
|
194
218
|
}
|
|
195
219
|
|
|
@@ -220,6 +244,7 @@ export function newExecutionEngineStateProvider(
|
|
|
220
244
|
client,
|
|
221
245
|
config: deps.config,
|
|
222
246
|
store: deps.store,
|
|
247
|
+
runnerCredentials: deps.runnerCredentials,
|
|
223
248
|
logger: deps.logger,
|
|
224
249
|
}),
|
|
225
250
|
},
|
|
@@ -25,6 +25,19 @@ export interface InvokeAgentExecutionWorkflowInput {
|
|
|
25
25
|
readonly auto_approve_all?: boolean;
|
|
26
26
|
readonly parent_workflow_id?: string;
|
|
27
27
|
readonly invoker_identity_account_id?: string;
|
|
28
|
+
/**
|
|
29
|
+
* The run credential (runnerauth: a clockless execution-scoped token
|
|
30
|
+
* bound to this execution), minted by the engine client at dispatch
|
|
31
|
+
* when the composed credential provider defines `mintRunCredential`
|
|
32
|
+
* and omitted otherwise. The connect lane's key for the same token
|
|
33
|
+
* type (domain/mcpserver/engine.ts). The workflow hands it to the
|
|
34
|
+
* runner's activities, which present it on the run's own RPCs: under
|
|
35
|
+
* the built-in authorization posture it admits the runner as the
|
|
36
|
+
* human whose run this is, for as long as the run lives. Like the
|
|
37
|
+
* connect lane's, it sits in Temporal history in the clear — history
|
|
38
|
+
* is operator-only, and the operator holds the signing key already.
|
|
39
|
+
*/
|
|
40
|
+
readonly execution_context_token?: string;
|
|
28
41
|
/**
|
|
29
42
|
* Session harness as the proto enum numeric value (0=UNSPECIFIED treated
|
|
30
43
|
* as NATIVE, 1=NATIVE, 2=CURSOR) — selects ExecuteDeepAgent vs
|