@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
package/src/boot/compose.ts
CHANGED
|
@@ -29,8 +29,19 @@ import path from "node:path";
|
|
|
29
29
|
import type { ConnectRouter, Transport } from "@connectrpc/connect";
|
|
30
30
|
|
|
31
31
|
import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
32
|
+
import { ServerEdition } from "@stigmer/protos/ai/stigmer/platform/v1/server_info_pb";
|
|
32
33
|
import { HealthCheckResponse_ServingStatus as ServingStatus } from "@stigmer/protos/grpc/health/v1/health_pb";
|
|
33
34
|
|
|
35
|
+
import { newBuiltInAuthorizer } from "../authorization/authorizer.js";
|
|
36
|
+
import { newLaneAdmittedAuthorizer } from "../authorization/lane-admission.js";
|
|
37
|
+
import { newBuiltInListReadScope } from "../authorization/list-read-scope.js";
|
|
38
|
+
import { newBuiltInOrganizationDirectory } from "../authorization/organization-directory.js";
|
|
39
|
+
import { authorizationPostureOf } from "../authorization/posture.js";
|
|
40
|
+
import { newBuiltInScheduleFireCaller } from "../authorization/schedule-fire-caller.js";
|
|
41
|
+
import type { Authorizer } from "../extensions/authorizer.js";
|
|
42
|
+
import type { ListReadScope } from "../extensions/list-read-scope.js";
|
|
43
|
+
import type { OrganizationDirectory } from "../extensions/organization-directory.js";
|
|
44
|
+
import type { ScheduleFireCallerMint } from "../extensions/schedule-fire-caller.js";
|
|
34
45
|
import { registerAgentServices } from "../domain/agent/controller.js";
|
|
35
46
|
import {
|
|
36
47
|
newConfigFromEnv,
|
|
@@ -99,12 +110,15 @@ import { registerMcpServerServices } from "../domain/mcpserver/controller.js";
|
|
|
99
110
|
import { registerPlatformServices } from "../domain/platform/controller.js";
|
|
100
111
|
import { registerProjectServices } from "../domain/project/controller.js";
|
|
101
112
|
import { registerSessionServices } from "../domain/session/controller.js";
|
|
113
|
+
import { registerPluginServices } from "../domain/plugin/controller.js";
|
|
114
|
+
import { PLUGIN_ARTIFACT_KEY_PREFIX } from "../domain/plugin/constants.js";
|
|
102
115
|
import { registerSkillServices } from "../domain/skill/controller.js";
|
|
103
116
|
import {
|
|
104
117
|
DEFAULT_SLOT_TTL_MS,
|
|
105
118
|
MAX_ZIP_SIZE,
|
|
106
119
|
} from "../domain/skill/constants.js";
|
|
107
120
|
import { newSkillArtifactStorage } from "../domain/skill/storage/artifact-storage.js";
|
|
121
|
+
import { newContentAddressedArchiveStore } from "../archive/content-store.js";
|
|
108
122
|
import {
|
|
109
123
|
newSkillTransferLane,
|
|
110
124
|
uploadUrl as skillUploadUrl,
|
|
@@ -137,7 +151,12 @@ import { operatorIdentitySnapshot } from "../pipeline/steps/defaults.js";
|
|
|
137
151
|
import { createErrorBoundaryInterceptor } from "../pipeline/interceptors/error-boundary.js";
|
|
138
152
|
import { createRequestMetricsInterceptor } from "../pipeline/interceptors/request-metrics.js";
|
|
139
153
|
import { newPermissiveSingleTeamAuthorizer } from "../pipeline/steps/authorize.js";
|
|
154
|
+
import {
|
|
155
|
+
isWorkflowBoundRunner,
|
|
156
|
+
newBuiltInRunnerCredentialProvider,
|
|
157
|
+
} from "../runnerauth/built-in-runner-credential-provider.js";
|
|
140
158
|
import { newExecutionScopedRunnerCredentialProvider } from "../runnerauth/runner-credential-provider.js";
|
|
159
|
+
import { newRunnerSubjectIdentityVerifier } from "../runnerauth/runner-subject-verifier.js";
|
|
141
160
|
import { RunnerAuthService } from "../runnerauth/runnerauth.js";
|
|
142
161
|
import { PostgresStore } from "../store/postgres/store.js";
|
|
143
162
|
import { SqliteStore } from "../store/sqlite/store.js";
|
|
@@ -285,20 +304,6 @@ export async function composeServer(
|
|
|
285
304
|
units: extensions.unitNames.join(", "),
|
|
286
305
|
});
|
|
287
306
|
}
|
|
288
|
-
// The ONE composed Authorizer (DD-007 §3): an extension's registration
|
|
289
|
-
// or the OSS permissive single-team default. Resolved here, handed to
|
|
290
|
-
// every controller as an explicit dependency — the Authorize step at
|
|
291
|
-
// position 1 of every chain calls it (O2).
|
|
292
|
-
const authorizer =
|
|
293
|
-
extensions.authorizer ?? newPermissiveSingleTeamAuthorizer();
|
|
294
|
-
// The built-in authorization POSTURE (20260913.01, Q-OR-6), named once:
|
|
295
|
-
// no unit registered an Authorizer, so the roles open source records
|
|
296
|
-
// exist to feed the built-in one. Under it — and only under it — the
|
|
297
|
-
// identity-accounts stage below installs the built-in role lifecycle
|
|
298
|
-
// and the membership rules; a composition with its own Authorizer has
|
|
299
|
-
// its own onboarding and gets neither.
|
|
300
|
-
const builtInAuthorization = extensions.authorizer === undefined;
|
|
301
|
-
|
|
302
307
|
// Stage: storage — the driver selection seam (DD-010): DATABASE_URL
|
|
303
308
|
// present → Postgres (async connect + advisory-locked migrations), else
|
|
304
309
|
// sqlite on DB_PATH (migrations v1–v7, incl. adopting a Go-created
|
|
@@ -331,6 +336,38 @@ export async function composeServer(
|
|
|
331
336
|
const requireAuthentication =
|
|
332
337
|
authEnabled || extensions.requireAuthentication !== undefined;
|
|
333
338
|
|
|
339
|
+
// The AUTHORIZATION posture (authorization/posture.ts), named once and
|
|
340
|
+
// handed down: a unit's own Authorizer (nothing built in installs);
|
|
341
|
+
// the built-in posture (no unit Authorizer under an authentication
|
|
342
|
+
// posture — open source composes its Authorizer, organization directory
|
|
343
|
+
// and schedule fire caller below, and the roles 2b records are
|
|
344
|
+
// enforced); or trusted-local (the permissive default: one caller,
|
|
345
|
+
// nothing to separate). `builtInAuthorization` (20260913.01, Q-OR-6) is
|
|
346
|
+
// the first two together — the roles exist to feed the built-in
|
|
347
|
+
// authorizer, so the identity stage installs the built-in role
|
|
348
|
+
// lifecycle and the membership rules under both; a composition with its
|
|
349
|
+
// own Authorizer has its own onboarding and gets neither.
|
|
350
|
+
const authorizationPosture = authorizationPostureOf({
|
|
351
|
+
unitAuthorizer: extensions.authorizer !== undefined,
|
|
352
|
+
requireAuthentication,
|
|
353
|
+
});
|
|
354
|
+
const builtInAuthorization = authorizationPosture !== "unit-authorizer";
|
|
355
|
+
// The built-in authorizer declares the open-source kinds and no other
|
|
356
|
+
// (its registry is pinned set-equal to that tier), so a composition
|
|
357
|
+
// that serves a wider edition must bring its own Authorizer: every
|
|
358
|
+
// check on a kind the model does not declare would otherwise fault
|
|
359
|
+
// INTERNAL per request. Refused at boot, the same class as a
|
|
360
|
+
// misconfigured registry (DD-006 §2b) and the verifierless posture
|
|
361
|
+
// below — caught before any side effect.
|
|
362
|
+
if (
|
|
363
|
+
authorizationPosture === "built-in" &&
|
|
364
|
+
extensions.edition !== ServerEdition.oss
|
|
365
|
+
) {
|
|
366
|
+
throw new Error(
|
|
367
|
+
`the composition serves edition '${ServerEdition[extensions.edition]}' under the require-authentication posture but registers no Authorizer — the built-in authorizer enforces the open-source kinds only; register an Authorizer or serve the open-source edition`,
|
|
368
|
+
);
|
|
369
|
+
}
|
|
370
|
+
|
|
334
371
|
// Stage: identity accounts (20260911.11) — the first domain whose
|
|
335
372
|
// persistence is a PORT rather than the generic Store. The composed
|
|
336
373
|
// driver (`drivers.identityAccountStore`, Q-IA-9) serves when a unit
|
|
@@ -400,6 +437,110 @@ export async function composeServer(
|
|
|
400
437
|
operatorEmail: operatorIdentity.email,
|
|
401
438
|
})
|
|
402
439
|
: undefined;
|
|
440
|
+
// Stage: runner credentials (§6c, O5). The concrete service is
|
|
441
|
+
// constructed and exposed UNCONDITIONALLY — its boot-fatal key posture
|
|
442
|
+
// is the ratified cross-domain invariant, and the boot/EC-decrypt tests
|
|
443
|
+
// mint against the server's own key through it. The provider over it is
|
|
444
|
+
// the edition's whole credential story in one object: a composed
|
|
445
|
+
// driver; otherwise, under the built-in authorization posture, open
|
|
446
|
+
// source's built-in provider (runnerauth/built-in-runner-credential-
|
|
447
|
+
// provider.ts — the execution-scoped default plus the lineage-vouching,
|
|
448
|
+
// memory-capture and exchange-gating capabilities an enforcing
|
|
449
|
+
// self-host needs, and the one reading of a runner's binding the
|
|
450
|
+
// Authorizer below admits a workflow-bound runner on); otherwise the
|
|
451
|
+
// execution-scoped default, byte-identical to the wiring this seam
|
|
452
|
+
// replaced. Both open-source providers also mint the RUN credential the
|
|
453
|
+
// two execution engines put on every dispatch (the engines below take
|
|
454
|
+
// this object; runnerauth/dispatch-credential.ts) — a composed driver
|
|
455
|
+
// that leaves that capability undefined dispatches without one, its
|
|
456
|
+
// runners being credentialed another way. Bound HERE, before the
|
|
457
|
+
// Authorizer, because the lane admission reads the binding.
|
|
458
|
+
const runnerAuthService = RunnerAuthService.fromEnv();
|
|
459
|
+
const runnerCredentials =
|
|
460
|
+
extensions.drivers.runnerCredentialProvider ??
|
|
461
|
+
(authorizationPosture === "built-in"
|
|
462
|
+
? newBuiltInRunnerCredentialProvider({
|
|
463
|
+
service: runnerAuthService,
|
|
464
|
+
store,
|
|
465
|
+
accounts: identityAccounts,
|
|
466
|
+
})
|
|
467
|
+
: newExecutionScopedRunnerCredentialProvider(runnerAuthService));
|
|
468
|
+
// The ONE composed Authorizer (DD-007 §3), bound here — after the store,
|
|
469
|
+
// the account port and the IamPolicy port it reads — and handed to every
|
|
470
|
+
// controller as an explicit dependency; the Authorize step at position 1
|
|
471
|
+
// of every chain calls it (O2). By posture: an extension's registration;
|
|
472
|
+
// open source's built-in Authorizer (authorization/authorizer.ts — the
|
|
473
|
+
// cloud's model evaluated over the tuples the row would have had),
|
|
474
|
+
// decorated with the lane admission (authorization/lane-admission.ts) so
|
|
475
|
+
// a runner acting for a WORKFLOW execution passes the run gate on the
|
|
476
|
+
// child executions its `agent_call` creates — the parent workflow
|
|
477
|
+
// already passed its own, the cloud's `workflow_sandbox` posture; or
|
|
478
|
+
// the permissive single-team default. The organization directory and the
|
|
479
|
+
// schedule fire caller are bound beside it under the same posture, so
|
|
480
|
+
// `findMyOrganizations` lists what a person may view and a scheduled run
|
|
481
|
+
// belongs to the person who scheduled it — a fire the internal lane
|
|
482
|
+
// would otherwise hand to nobody an enforcing evaluator recognizes.
|
|
483
|
+
const authorizer: Authorizer =
|
|
484
|
+
extensions.authorizer ??
|
|
485
|
+
(authorizationPosture === "built-in"
|
|
486
|
+
? newLaneAdmittedAuthorizer(
|
|
487
|
+
newBuiltInAuthorizer({
|
|
488
|
+
store,
|
|
489
|
+
policies: iamPolicies,
|
|
490
|
+
accounts: identityAccounts,
|
|
491
|
+
edition: extensions.edition,
|
|
492
|
+
logger,
|
|
493
|
+
}),
|
|
494
|
+
(caller) => isWorkflowBoundRunner(runnerAuthService, caller),
|
|
495
|
+
)
|
|
496
|
+
: newPermissiveSingleTeamAuthorizer());
|
|
497
|
+
const organizationDirectory: OrganizationDirectory | undefined =
|
|
498
|
+
extensions.drivers.organizationDirectory ??
|
|
499
|
+
(authorizationPosture === "built-in"
|
|
500
|
+
? newBuiltInOrganizationDirectory({
|
|
501
|
+
store,
|
|
502
|
+
policies: iamPolicies,
|
|
503
|
+
accounts: identityAccounts,
|
|
504
|
+
})
|
|
505
|
+
: undefined);
|
|
506
|
+
const scheduleFireCaller: ScheduleFireCallerMint | undefined =
|
|
507
|
+
extensions.drivers.scheduleFireCaller ??
|
|
508
|
+
(authorizationPosture === "built-in"
|
|
509
|
+
? newBuiltInScheduleFireCaller({ store, accounts: identityAccounts })
|
|
510
|
+
: undefined);
|
|
511
|
+
// The ONE list read scope (the seam's single-instance point), bound
|
|
512
|
+
// here under the same posture and handed to every list-shaped consumer
|
|
513
|
+
// below — the post-scan lanes through restrictListByReadScope, the
|
|
514
|
+
// search, activity and summary lanes through the enumeration verb. A
|
|
515
|
+
// unit's driver wins in every posture; the built-in one evaluates the
|
|
516
|
+
// model per candidate over the facts the candidate carries
|
|
517
|
+
// (authorization/list-read-scope.ts); trusted-local composes none and
|
|
518
|
+
// keeps the full scan.
|
|
519
|
+
const listReadScope: ListReadScope | undefined =
|
|
520
|
+
extensions.drivers.listReadScope ??
|
|
521
|
+
(authorizationPosture === "built-in"
|
|
522
|
+
? newBuiltInListReadScope({
|
|
523
|
+
store,
|
|
524
|
+
policies: iamPolicies,
|
|
525
|
+
accounts: identityAccounts,
|
|
526
|
+
logger,
|
|
527
|
+
})
|
|
528
|
+
: undefined);
|
|
529
|
+
logger.info("authorization posture resolved", {
|
|
530
|
+
posture: authorizationPosture,
|
|
531
|
+
authorizer:
|
|
532
|
+
extensions.authorizer !== undefined
|
|
533
|
+
? "extension"
|
|
534
|
+
: authorizationPosture === "built-in"
|
|
535
|
+
? "built-in"
|
|
536
|
+
: "permissive",
|
|
537
|
+
listReadScope:
|
|
538
|
+
extensions.drivers.listReadScope !== undefined
|
|
539
|
+
? "extension"
|
|
540
|
+
: authorizationPosture === "built-in"
|
|
541
|
+
? "built-in"
|
|
542
|
+
: "none",
|
|
543
|
+
});
|
|
403
544
|
const identityAccountPath = {
|
|
404
545
|
accounts: identityAccounts,
|
|
405
546
|
logger,
|
|
@@ -456,6 +597,22 @@ export async function composeServer(
|
|
|
456
597
|
});
|
|
457
598
|
}
|
|
458
599
|
}
|
|
600
|
+
// The built-in posture's own boot ensure, the sibling of the block
|
|
601
|
+
// above: the membership rules run at a person's FIRST provisioning, so a
|
|
602
|
+
// database whose people were provisioned before the rules existed (a
|
|
603
|
+
// 3.15.x self-host with OIDC on) holds accounts with no role rows — and
|
|
604
|
+
// the built-in authorizer below would make every one of them an
|
|
605
|
+
// outsider on every organization, with nobody left who could grant a
|
|
606
|
+
// way back. Once per database (a bootstrap-state marker; the rules'
|
|
607
|
+
// header), the same arms run for every person account in creation
|
|
608
|
+
// order; a fault is a loud boot throw like the storage stage's, and the
|
|
609
|
+
// next boot converges. Under the built-in posture only: a unit with its
|
|
610
|
+
// own Authorizer has its own onboarding, and trusted-local has the
|
|
611
|
+
// operator ensure above and one principal.
|
|
612
|
+
if (authorizationPosture === "built-in" && membership !== undefined) {
|
|
613
|
+
await membership.ensureRolesForExistingAccounts();
|
|
614
|
+
logger.info("built-in posture role reconciliation ensured");
|
|
615
|
+
}
|
|
459
616
|
|
|
460
617
|
// Stage: keys — the ratified fail-loud boot ASYMMETRY (D2 cross-domain
|
|
461
618
|
// invariants; Go server.go:277-293):
|
|
@@ -510,16 +667,6 @@ export async function composeServer(
|
|
|
510
667
|
writeVersionValue === "" ? DEFAULT_WRITE_VERSION : writeVersionValue,
|
|
511
668
|
registeredCodecs: [...secretCodecs.keys()].sort(),
|
|
512
669
|
});
|
|
513
|
-
const runnerAuthService = RunnerAuthService.fromEnv();
|
|
514
|
-
// The runner-credential seam (§6c, O5): the composed provider, or the
|
|
515
|
-
// OSS execution-scoped default over the service above. The concrete
|
|
516
|
-
// service is constructed and exposed UNCONDITIONALLY either way — its
|
|
517
|
-
// boot-fatal key posture is the ratified cross-domain invariant, and the
|
|
518
|
-
// boot/EC-decrypt tests mint against the server's own key through it.
|
|
519
|
-
const runnerCredentials =
|
|
520
|
-
extensions.drivers.runnerCredentialProvider ??
|
|
521
|
-
newExecutionScopedRunnerCredentialProvider(runnerAuthService);
|
|
522
|
-
|
|
523
670
|
// Stage: temporal (#18). Construction is sync and connection-free —
|
|
524
671
|
// initialConnect/startWorkers/startHealthMonitor run in start(), all
|
|
525
672
|
// NON-fatal (Go server.go: the server boots and serves with the engine
|
|
@@ -643,9 +790,10 @@ export async function composeServer(
|
|
|
643
790
|
);
|
|
644
791
|
// Every fire enters the FULL execution create pipeline through the
|
|
645
792
|
// in-process agentexecution client (Go server.go 581: the RunStarter's
|
|
646
|
-
// ExecutionCreator edge). The
|
|
647
|
-
// (stigmer-cloud#572
|
|
648
|
-
//
|
|
793
|
+
// ExecutionCreator edge). The scheduleFireCaller driver bound in the
|
|
794
|
+
// identity stage (stigmer-cloud#572; a unit's, or open source's under
|
|
795
|
+
// the built-in posture), when present, gives each fire its identity —
|
|
796
|
+
// propagated by the creator's asCaller lane.
|
|
649
797
|
const scheduleRunStarter = new RunStarter({
|
|
650
798
|
store,
|
|
651
799
|
config: scheduleTemporalConfig,
|
|
@@ -656,7 +804,7 @@ export async function composeServer(
|
|
|
656
804
|
fireCaller,
|
|
657
805
|
),
|
|
658
806
|
},
|
|
659
|
-
fireCallerMint:
|
|
807
|
+
fireCallerMint: scheduleFireCaller,
|
|
660
808
|
logger,
|
|
661
809
|
});
|
|
662
810
|
const scheduleReconciler = new ScheduleReconciler(
|
|
@@ -720,6 +868,7 @@ export async function composeServer(
|
|
|
720
868
|
manager: temporalManager,
|
|
721
869
|
config: temporalConfig,
|
|
722
870
|
store,
|
|
871
|
+
runnerCredentials,
|
|
723
872
|
logger,
|
|
724
873
|
});
|
|
725
874
|
// The workflow-execution twin: the same provider-is-the-injection
|
|
@@ -727,6 +876,7 @@ export async function composeServer(
|
|
|
727
876
|
const workflowExecutionEngineState = newWorkflowExecutionEngineStateProvider({
|
|
728
877
|
manager: temporalManager,
|
|
729
878
|
config: workflowExecutionTemporalConfig,
|
|
879
|
+
runnerCredentials,
|
|
730
880
|
logger,
|
|
731
881
|
});
|
|
732
882
|
// The artifact blob store (Go server.go 349: shared by agentexecution
|
|
@@ -820,6 +970,14 @@ export async function composeServer(
|
|
|
820
970
|
);
|
|
821
971
|
})();
|
|
822
972
|
const skillArtifactStorage = newSkillArtifactStorage(skillStorageDriver);
|
|
973
|
+
// Plugin archives are pushed archives exactly as skills' are, so they
|
|
974
|
+
// ride the same blob driver and backend selection; the key prefix
|
|
975
|
+
// (`plugins/`) keeps the two stores apart and the plugin store owns its
|
|
976
|
+
// keys (src/archive/content-store.ts).
|
|
977
|
+
const pluginArtifactStorage = newContentAddressedArchiveStore(
|
|
978
|
+
skillStorageDriver,
|
|
979
|
+
PLUGIN_ARTIFACT_KEY_PREFIX,
|
|
980
|
+
);
|
|
823
981
|
const skillTransferLane = newSkillTransferLane(
|
|
824
982
|
skillUploadSlots,
|
|
825
983
|
skillArtifactStorage,
|
|
@@ -886,14 +1044,10 @@ export async function composeServer(
|
|
|
886
1044
|
const searchHandler = new SearchHandler(
|
|
887
1045
|
searchQueryStore,
|
|
888
1046
|
logger,
|
|
889
|
-
|
|
1047
|
+
listReadScope,
|
|
890
1048
|
);
|
|
891
1049
|
// The activity recents feed (#14) — pure reads over listResources.
|
|
892
|
-
const activityHandler = new ActivityHandler(
|
|
893
|
-
store,
|
|
894
|
-
logger,
|
|
895
|
-
extensions.drivers.listReadScope,
|
|
896
|
-
);
|
|
1050
|
+
const activityHandler = new ActivityHandler(store, logger, listReadScope);
|
|
897
1051
|
// The environment runtime-resolution service (#5) — the decrypt-for-
|
|
898
1052
|
// execution path the EC builder uses to resolve environment_refs (the
|
|
899
1053
|
// RPC surface redacts secret values, oss#405).
|
|
@@ -972,10 +1126,10 @@ export async function composeServer(
|
|
|
972
1126
|
logger,
|
|
973
1127
|
authorizer,
|
|
974
1128
|
gateSteps: extensions.gateSteps,
|
|
975
|
-
// The role lifecycle (the identity stage): the
|
|
976
|
-
// open source's
|
|
1129
|
+
// The role lifecycle and the directory (the identity stage): the
|
|
1130
|
+
// composed drivers, or open source's under the built-in posture.
|
|
977
1131
|
authorizationLifecycle: roleLifecycle,
|
|
978
|
-
organizationDirectory
|
|
1132
|
+
organizationDirectory,
|
|
979
1133
|
});
|
|
980
1134
|
// ApiKey is the first domain born AFTER the Go port (O3, 20260827.06 —
|
|
981
1135
|
// DD-003: the apikey contract is wholly OSS), so it has no Go
|
|
@@ -987,7 +1141,7 @@ export async function composeServer(
|
|
|
987
1141
|
logger,
|
|
988
1142
|
authorizer,
|
|
989
1143
|
authorizationLifecycle,
|
|
990
|
-
listReadScope
|
|
1144
|
+
listReadScope,
|
|
991
1145
|
});
|
|
992
1146
|
// IdentityAccount (20260911.11): served once by open source in every
|
|
993
1147
|
// edition over the store PORT bound in the identity-accounts stage; a
|
|
@@ -1028,7 +1182,7 @@ export async function composeServer(
|
|
|
1028
1182
|
authorizer,
|
|
1029
1183
|
secretService,
|
|
1030
1184
|
authorizationLifecycle,
|
|
1031
|
-
listReadScope
|
|
1185
|
+
listReadScope,
|
|
1032
1186
|
});
|
|
1033
1187
|
// OAuthApp reuses the environment's SecretService instance — Go wires
|
|
1034
1188
|
// ONE encryption service for both (server.go 302–307).
|
|
@@ -1060,7 +1214,7 @@ export async function composeServer(
|
|
|
1060
1214
|
authorizer,
|
|
1061
1215
|
authorizationLifecycle,
|
|
1062
1216
|
parentAgentLoader: () => requireInProcess().parentAgentLoader,
|
|
1063
|
-
listReadScope
|
|
1217
|
+
listReadScope,
|
|
1064
1218
|
});
|
|
1065
1219
|
registerSessionServices(router, {
|
|
1066
1220
|
store,
|
|
@@ -1071,7 +1225,7 @@ export async function composeServer(
|
|
|
1071
1225
|
gateSteps: extensions.gateSteps,
|
|
1072
1226
|
sandboxLane,
|
|
1073
1227
|
authorizationLifecycle,
|
|
1074
|
-
listReadScope
|
|
1228
|
+
listReadScope,
|
|
1075
1229
|
});
|
|
1076
1230
|
// The sharing/channel family registers after the agent family, as in
|
|
1077
1231
|
// Go server.go (agent 378 → agentshare 384 → agentchannel 391 →
|
|
@@ -1083,14 +1237,14 @@ export async function composeServer(
|
|
|
1083
1237
|
logger,
|
|
1084
1238
|
authorizer,
|
|
1085
1239
|
authorizationLifecycle,
|
|
1086
|
-
listReadScope
|
|
1240
|
+
listReadScope,
|
|
1087
1241
|
});
|
|
1088
1242
|
registerAgentChannelServices(router, {
|
|
1089
1243
|
store,
|
|
1090
1244
|
logger,
|
|
1091
1245
|
authorizer,
|
|
1092
1246
|
authorizationLifecycle,
|
|
1093
|
-
listReadScope
|
|
1247
|
+
listReadScope,
|
|
1094
1248
|
// The SAME domain-owned registry instance the workflow validator
|
|
1095
1249
|
// and the registry lanes read — the channel model-pin rule
|
|
1096
1250
|
// (stigmer/stigmer#774) can never drift from the served pickers.
|
|
@@ -1124,14 +1278,14 @@ export async function composeServer(
|
|
|
1124
1278
|
clock: () => scheduleSyncer,
|
|
1125
1279
|
runner: () => scheduleRunStarter,
|
|
1126
1280
|
authorizationLifecycle,
|
|
1127
|
-
listReadScope
|
|
1281
|
+
listReadScope,
|
|
1128
1282
|
});
|
|
1129
1283
|
registerMemoryServices(router, {
|
|
1130
1284
|
store,
|
|
1131
1285
|
logger,
|
|
1132
1286
|
authorizer,
|
|
1133
1287
|
authorizationLifecycle,
|
|
1134
|
-
listReadScope
|
|
1288
|
+
listReadScope,
|
|
1135
1289
|
runnerCredentialProvider: runnerCredentials,
|
|
1136
1290
|
});
|
|
1137
1291
|
registerAgentExecutionServices(router, {
|
|
@@ -1139,7 +1293,7 @@ export async function composeServer(
|
|
|
1139
1293
|
logger,
|
|
1140
1294
|
authorizer,
|
|
1141
1295
|
authorizationLifecycle,
|
|
1142
|
-
listReadScope
|
|
1296
|
+
listReadScope,
|
|
1143
1297
|
runnerCredentialProvider: runnerCredentials,
|
|
1144
1298
|
broker: agentExecutionStreamBroker,
|
|
1145
1299
|
engineState: executionEngineState,
|
|
@@ -1182,14 +1336,14 @@ export async function composeServer(
|
|
|
1182
1336
|
authorizer,
|
|
1183
1337
|
authorizationLifecycle,
|
|
1184
1338
|
parentWorkflowLoader: () => requireInProcess().parentWorkflowLoader,
|
|
1185
|
-
listReadScope
|
|
1339
|
+
listReadScope,
|
|
1186
1340
|
});
|
|
1187
1341
|
registerWorkflowExecutionServices(router, {
|
|
1188
1342
|
store,
|
|
1189
1343
|
logger,
|
|
1190
1344
|
authorizer,
|
|
1191
1345
|
authorizationLifecycle,
|
|
1192
|
-
listReadScope
|
|
1346
|
+
listReadScope,
|
|
1193
1347
|
gateSteps: extensions.gateSteps,
|
|
1194
1348
|
engineState: workflowExecutionEngineState,
|
|
1195
1349
|
broker: workflowExecutionStreamBroker,
|
|
@@ -1234,8 +1388,8 @@ export async function composeServer(
|
|
|
1234
1388
|
requireInProcess().executionEnvironmentReader.getSecretValue(input),
|
|
1235
1389
|
},
|
|
1236
1390
|
executionContext: {
|
|
1237
|
-
create: (ec) =>
|
|
1238
|
-
requireInProcess().connectExecutionContextClient.create(ec),
|
|
1391
|
+
create: (ec, caller) =>
|
|
1392
|
+
requireInProcess().connectExecutionContextClient.create(ec, caller),
|
|
1239
1393
|
delete: (input) =>
|
|
1240
1394
|
requireInProcess().connectExecutionContextClient.delete(input),
|
|
1241
1395
|
},
|
|
@@ -1263,6 +1417,22 @@ export async function composeServer(
|
|
|
1263
1417
|
baseUrl: config.skillTransferBaseUrl,
|
|
1264
1418
|
},
|
|
1265
1419
|
});
|
|
1420
|
+
// Plugins materialise their members through the in-process lane as
|
|
1421
|
+
// the installing caller; the lazy provider resolves the clients built
|
|
1422
|
+
// from these same routes after boot. The upload slots are the skill
|
|
1423
|
+
// lane's: one upload surface for every archive.
|
|
1424
|
+
registerPluginServices(router, {
|
|
1425
|
+
store,
|
|
1426
|
+
logger,
|
|
1427
|
+
authorizer,
|
|
1428
|
+
authorizationLifecycle,
|
|
1429
|
+
artifactStorage: pluginArtifactStorage,
|
|
1430
|
+
materializerProvider: () => requireInProcess().pluginMaterializer,
|
|
1431
|
+
transferLane: {
|
|
1432
|
+
slots: skillUploadSlots,
|
|
1433
|
+
baseUrl: config.skillTransferBaseUrl,
|
|
1434
|
+
},
|
|
1435
|
+
});
|
|
1266
1436
|
// Artifact CRUD shares the ONE blob store with agentexecution's
|
|
1267
1437
|
// attachment lanes (Go server.go 347–374).
|
|
1268
1438
|
registerArtifactServices(router, {
|
|
@@ -1337,12 +1507,36 @@ export async function composeServer(
|
|
|
1337
1507
|
// port the domain writes through (`identityAccounts`, the
|
|
1338
1508
|
// identity-accounts stage — a composed driver included), so a row
|
|
1339
1509
|
// provisioning creates resolves on the very next request.
|
|
1340
|
-
//
|
|
1341
|
-
//
|
|
1510
|
+
// - the runner-subject verifier rides the AUTHORIZATION posture
|
|
1511
|
+
// (`built-in`, beside the Authorizer and the fire caller above): it
|
|
1512
|
+
// admits the bearer of the server's own execution-scoped runner
|
|
1513
|
+
// token as the human whose run it is, which only means something
|
|
1514
|
+
// when the server enforces who may report on a run. Its place in
|
|
1515
|
+
// the chain is the contract: BETWEEN `apikey` and `oidc`, because
|
|
1516
|
+
// the OIDC verifier claims any JWT-shaped token and throws on one
|
|
1517
|
+
// it cannot verify — composed after it, ours would never see its
|
|
1518
|
+
// own token, and every runner call would fail as the OIDC verifier's
|
|
1519
|
+
// fault (stigmer#1137). Until 2026-09-16 this comment read "the
|
|
1520
|
+
// runner's credential in either posture is an operator-minted API
|
|
1521
|
+
// token via STIGMER_TOKEN — no runner-specific verifier"; that
|
|
1522
|
+
// described a server whose Authorizer was permissive. The operator's
|
|
1523
|
+
// key is still the runner's PROCESS credential (bootstrap, registry);
|
|
1524
|
+
// the run credential is how it acts for each run. A unit with its
|
|
1525
|
+
// own Authorizer composes none of this — its credential story is its
|
|
1526
|
+
// own (the cloud's sandbox lanes).
|
|
1342
1527
|
const identityVerifiers = [
|
|
1343
1528
|
...(requireAuthentication
|
|
1344
1529
|
? [newApiKeyIdentityVerifier({ store, accounts: identityAccounts })]
|
|
1345
1530
|
: []),
|
|
1531
|
+
...(authorizationPosture === "built-in"
|
|
1532
|
+
? [
|
|
1533
|
+
newRunnerSubjectIdentityVerifier({
|
|
1534
|
+
store,
|
|
1535
|
+
accounts: identityAccounts,
|
|
1536
|
+
credentials: runnerCredentials,
|
|
1537
|
+
}),
|
|
1538
|
+
]
|
|
1539
|
+
: []),
|
|
1346
1540
|
...(authEnabled
|
|
1347
1541
|
? [
|
|
1348
1542
|
newOidcIdentityVerifier({
|