@stigmer/server 3.40.1 → 3.41.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/dist/authorization/authorizer.d.ts +16 -10
- package/dist/authorization/authorizer.d.ts.map +1 -1
- package/dist/authorization/authorizer.js +17 -9
- package/dist/authorization/authorizer.js.map +1 -1
- package/dist/authorization/derived-tuples.d.ts +7 -3
- package/dist/authorization/derived-tuples.d.ts.map +1 -1
- package/dist/authorization/derived-tuples.js +62 -6
- package/dist/authorization/derived-tuples.js.map +1 -1
- package/dist/authorization/evaluator.d.ts +11 -7
- package/dist/authorization/evaluator.d.ts.map +1 -1
- package/dist/authorization/evaluator.js +16 -10
- package/dist/authorization/evaluator.js.map +1 -1
- package/dist/authorization/list-read-scope.d.ts +4 -0
- package/dist/authorization/list-read-scope.d.ts.map +1 -1
- package/dist/authorization/list-read-scope.js +1 -0
- package/dist/authorization/list-read-scope.js.map +1 -1
- package/dist/authorization/model/data/authorization-model.json +830 -67
- package/dist/authorization/model/execution-viewer.d.ts.map +1 -1
- package/dist/authorization/model/execution-viewer.js +26 -24
- package/dist/authorization/model/execution-viewer.js.map +1 -1
- package/dist/authorization/model/index.d.ts +4 -1
- package/dist/authorization/model/index.d.ts.map +1 -1
- package/dist/authorization/model/index.js +4 -1
- package/dist/authorization/model/index.js.map +1 -1
- package/dist/authorization/model/rewrite.d.ts +5 -3
- package/dist/authorization/model/rewrite.d.ts.map +1 -1
- package/dist/authorization/organization-directory.d.ts +44 -0
- package/dist/authorization/organization-directory.d.ts.map +1 -1
- package/dist/authorization/organization-directory.js +1 -0
- package/dist/authorization/organization-directory.js.map +1 -1
- package/dist/authorization/person.d.ts +14 -1
- package/dist/authorization/person.d.ts.map +1 -1
- package/dist/authorization/person.js +16 -0
- package/dist/authorization/person.js.map +1 -1
- package/dist/authorization/policy-check.d.ts +52 -0
- package/dist/authorization/policy-check.d.ts.map +1 -0
- package/dist/authorization/policy-check.js +35 -0
- package/dist/authorization/policy-check.js.map +1 -0
- package/dist/authorization/posture.d.ts +30 -4
- package/dist/authorization/posture.d.ts.map +1 -1
- package/dist/authorization/posture.js +58 -0
- package/dist/authorization/posture.js.map +1 -1
- package/dist/authorization/resource-creators.d.ts +4 -0
- package/dist/authorization/resource-creators.d.ts.map +1 -0
- package/dist/authorization/resource-creators.js +44 -0
- package/dist/authorization/resource-creators.js.map +1 -0
- package/dist/authorization/trusted-local-authorizer.d.ts +9 -0
- package/dist/authorization/trusted-local-authorizer.d.ts.map +1 -0
- package/dist/authorization/trusted-local-authorizer.js +70 -0
- package/dist/authorization/trusted-local-authorizer.js.map +1 -0
- package/dist/authorization/tuples.d.ts +12 -0
- package/dist/authorization/tuples.d.ts.map +1 -1
- package/dist/authorization/tuples.js +3 -0
- package/dist/authorization/tuples.js.map +1 -1
- package/dist/boot/compose.d.ts.map +1 -1
- package/dist/boot/compose.js +132 -43
- package/dist/boot/compose.js.map +1 -1
- package/dist/boot/config.d.ts +22 -7
- package/dist/boot/config.d.ts.map +1 -1
- package/dist/boot/config.js +2 -1
- package/dist/boot/config.js.map +1 -1
- package/dist/boot/inprocess.d.ts.map +1 -1
- package/dist/boot/inprocess.js +10 -4
- package/dist/boot/inprocess.js.map +1 -1
- package/dist/boot/list-indexes.d.ts.map +1 -1
- package/dist/boot/list-indexes.js +6 -1
- package/dist/boot/list-indexes.js.map +1 -1
- package/dist/boot/logger.d.ts +3 -1
- package/dist/boot/logger.d.ts.map +1 -1
- package/dist/boot/logger.js +3 -1
- package/dist/boot/logger.js.map +1 -1
- package/dist/boot/oauth-redirect-uri.d.ts +33 -12
- package/dist/boot/oauth-redirect-uri.d.ts.map +1 -1
- package/dist/boot/oauth-redirect-uri.js +43 -14
- package/dist/boot/oauth-redirect-uri.js.map +1 -1
- package/dist/boot/skill-transfer-origin.d.ts +46 -14
- package/dist/boot/skill-transfer-origin.d.ts.map +1 -1
- package/dist/boot/skill-transfer-origin.js +53 -13
- package/dist/boot/skill-transfer-origin.js.map +1 -1
- package/dist/domain/agentchannel/steps.d.ts +8 -6
- package/dist/domain/agentchannel/steps.d.ts.map +1 -1
- package/dist/domain/agentchannel/steps.js +9 -7
- package/dist/domain/agentchannel/steps.js.map +1 -1
- package/dist/domain/agentexecution/controller.d.ts +7 -0
- package/dist/domain/agentexecution/controller.d.ts.map +1 -1
- package/dist/domain/agentexecution/controller.js +1 -1
- package/dist/domain/agentexecution/controller.js.map +1 -1
- package/dist/domain/agentexecution/create-steps.d.ts +26 -12
- package/dist/domain/agentexecution/create-steps.d.ts.map +1 -1
- package/dist/domain/agentexecution/create-steps.js +61 -43
- package/dist/domain/agentexecution/create-steps.js.map +1 -1
- package/dist/domain/agentexecution/submit-approval.d.ts.map +1 -1
- package/dist/domain/agentexecution/submit-approval.js +9 -6
- package/dist/domain/agentexecution/submit-approval.js.map +1 -1
- package/dist/domain/agentexecution/submit-file-decision.d.ts.map +1 -1
- package/dist/domain/agentexecution/submit-file-decision.js +5 -4
- package/dist/domain/agentexecution/submit-file-decision.js.map +1 -1
- package/dist/domain/agentshare/steps.d.ts +5 -3
- package/dist/domain/agentshare/steps.d.ts.map +1 -1
- package/dist/domain/agentshare/steps.js +6 -4
- package/dist/domain/agentshare/steps.js.map +1 -1
- package/dist/domain/apikey/verifier.d.ts +7 -0
- package/dist/domain/apikey/verifier.d.ts.map +1 -1
- package/dist/domain/apikey/verifier.js +34 -1
- package/dist/domain/apikey/verifier.js.map +1 -1
- package/dist/domain/channelapp/controller.d.ts +4 -3
- package/dist/domain/channelapp/controller.d.ts.map +1 -1
- package/dist/domain/channelapp/controller.js.map +1 -1
- package/dist/domain/executioncontext/steps.d.ts +2 -1
- package/dist/domain/executioncontext/steps.d.ts.map +1 -1
- package/dist/domain/executioncontext/steps.js +2 -1
- package/dist/domain/executioncontext/steps.js.map +1 -1
- package/dist/domain/iampolicy/access-lists.d.ts.map +1 -1
- package/dist/domain/iampolicy/access-lists.js +57 -2
- package/dist/domain/iampolicy/access-lists.js.map +1 -1
- package/dist/domain/iampolicy/change.d.ts +53 -0
- package/dist/domain/iampolicy/change.d.ts.map +1 -0
- package/dist/domain/iampolicy/change.js +44 -0
- package/dist/domain/iampolicy/change.js.map +1 -0
- package/dist/domain/iampolicy/constants.d.ts +6 -0
- package/dist/domain/iampolicy/constants.d.ts.map +1 -1
- package/dist/domain/iampolicy/constants.js +6 -0
- package/dist/domain/iampolicy/constants.js.map +1 -1
- package/dist/domain/iampolicy/controller.d.ts.map +1 -1
- package/dist/domain/iampolicy/controller.js +9 -5
- package/dist/domain/iampolicy/controller.js.map +1 -1
- package/dist/domain/iampolicy/grant-path.d.ts +31 -13
- package/dist/domain/iampolicy/grant-path.d.ts.map +1 -1
- package/dist/domain/iampolicy/grant-path.js +216 -19
- package/dist/domain/iampolicy/grant-path.js.map +1 -1
- package/dist/domain/iampolicy/membership.d.ts +11 -3
- package/dist/domain/iampolicy/membership.d.ts.map +1 -1
- package/dist/domain/iampolicy/membership.js +18 -13
- package/dist/domain/iampolicy/membership.js.map +1 -1
- package/dist/domain/iampolicy/resource-store.d.ts.map +1 -1
- package/dist/domain/iampolicy/resource-store.js +4 -0
- package/dist/domain/iampolicy/resource-store.js.map +1 -1
- package/dist/domain/iampolicy/role-lifecycle.d.ts.map +1 -1
- package/dist/domain/iampolicy/role-lifecycle.js +2 -2
- package/dist/domain/iampolicy/role-lifecycle.js.map +1 -1
- package/dist/domain/iampolicy/roles.d.ts.map +1 -1
- package/dist/domain/iampolicy/roles.js +7 -0
- package/dist/domain/iampolicy/roles.js.map +1 -1
- package/dist/domain/iampolicy/steps.d.ts +4 -3
- package/dist/domain/iampolicy/steps.d.ts.map +1 -1
- package/dist/domain/iampolicy/steps.js +7 -7
- package/dist/domain/iampolicy/steps.js.map +1 -1
- package/dist/domain/iampolicy/store-contract.d.ts.map +1 -1
- package/dist/domain/iampolicy/store-contract.js +22 -1
- package/dist/domain/iampolicy/store-contract.js.map +1 -1
- package/dist/domain/iampolicy/store.d.ts +18 -5
- package/dist/domain/iampolicy/store.d.ts.map +1 -1
- package/dist/domain/iampolicy/store.js.map +1 -1
- package/dist/domain/identityaccount/constants.d.ts +15 -0
- package/dist/domain/identityaccount/constants.d.ts.map +1 -1
- package/dist/domain/identityaccount/constants.js +17 -0
- package/dist/domain/identityaccount/constants.js.map +1 -1
- package/dist/domain/identityaccount/controller.d.ts.map +1 -1
- package/dist/domain/identityaccount/controller.js +17 -6
- package/dist/domain/identityaccount/controller.js.map +1 -1
- package/dist/domain/identityaccount/resolve.d.ts +47 -0
- package/dist/domain/identityaccount/resolve.d.ts.map +1 -1
- package/dist/domain/identityaccount/resolve.js +38 -1
- package/dist/domain/identityaccount/resolve.js.map +1 -1
- package/dist/domain/identityaccount/resource-store.d.ts.map +1 -1
- package/dist/domain/identityaccount/resource-store.js +11 -1
- package/dist/domain/identityaccount/resource-store.js.map +1 -1
- package/dist/domain/identityaccount/steps.d.ts +2 -1
- package/dist/domain/identityaccount/steps.d.ts.map +1 -1
- package/dist/domain/identityaccount/steps.js +4 -3
- package/dist/domain/identityaccount/steps.js.map +1 -1
- package/dist/domain/identityaccount/store-contract.js +2 -2
- package/dist/domain/identityaccount/store-contract.js.map +1 -1
- package/dist/domain/identityaccount/store.d.ts +6 -1
- package/dist/domain/identityaccount/store.d.ts.map +1 -1
- package/dist/domain/mcpserver/connect-sandbox.d.ts +67 -0
- package/dist/domain/mcpserver/connect-sandbox.d.ts.map +1 -0
- package/dist/domain/mcpserver/connect-sandbox.js +64 -0
- package/dist/domain/mcpserver/connect-sandbox.js.map +1 -0
- package/dist/domain/mcpserver/connect.d.ts +42 -10
- package/dist/domain/mcpserver/connect.d.ts.map +1 -1
- package/dist/domain/mcpserver/connect.js +147 -40
- package/dist/domain/mcpserver/connect.js.map +1 -1
- package/dist/domain/mcpserver/controller.js +4 -2
- package/dist/domain/mcpserver/controller.js.map +1 -1
- package/dist/domain/mcpserver/engine.d.ts +26 -7
- 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.d.ts +5 -0
- package/dist/domain/mcpserver/start-connect.d.ts.map +1 -1
- package/dist/domain/mcpserver/start-connect.js +38 -15
- package/dist/domain/mcpserver/start-connect.js.map +1 -1
- package/dist/domain/memory/controller.js +2 -1
- package/dist/domain/memory/controller.js.map +1 -1
- package/dist/domain/memory/list-index.d.ts +2 -0
- package/dist/domain/memory/list-index.d.ts.map +1 -0
- package/dist/domain/memory/list-index.js +31 -0
- package/dist/domain/memory/list-index.js.map +1 -0
- package/dist/domain/memory/queries.d.ts +10 -0
- package/dist/domain/memory/queries.d.ts.map +1 -0
- package/dist/domain/memory/queries.js +54 -0
- package/dist/domain/memory/queries.js.map +1 -0
- package/dist/domain/memory/steps.d.ts +13 -11
- package/dist/domain/memory/steps.d.ts.map +1 -1
- package/dist/domain/memory/steps.js +26 -57
- package/dist/domain/memory/steps.js.map +1 -1
- package/dist/domain/organization/steps.d.ts.map +1 -1
- package/dist/domain/organization/steps.js +1 -1
- package/dist/domain/organization/steps.js.map +1 -1
- package/dist/domain/platformclient/mint.d.ts.map +1 -1
- package/dist/domain/platformclient/mint.js +2 -2
- package/dist/domain/platformclient/mint.js.map +1 -1
- package/dist/domain/platformclient/verifier.d.ts.map +1 -1
- package/dist/domain/platformclient/verifier.js +6 -3
- package/dist/domain/platformclient/verifier.js.map +1 -1
- package/dist/domain/plugin/push.d.ts.map +1 -1
- package/dist/domain/plugin/push.js +1 -0
- package/dist/domain/plugin/push.js.map +1 -1
- package/dist/domain/schedule/steps.d.ts +3 -1
- package/dist/domain/schedule/steps.d.ts.map +1 -1
- package/dist/domain/schedule/steps.js +3 -1
- package/dist/domain/schedule/steps.js.map +1 -1
- package/dist/domain/skill/push.d.ts.map +1 -1
- package/dist/domain/skill/push.js +1 -0
- package/dist/domain/skill/push.js.map +1 -1
- package/dist/domain/workflow/registry/data/task-kind-registry.json +27 -1
- package/dist/domain/workflowexecution/submit-approval.d.ts +5 -2
- package/dist/domain/workflowexecution/submit-approval.d.ts.map +1 -1
- package/dist/domain/workflowexecution/submit-approval.js +1 -1
- package/dist/domain/workflowexecution/submit-approval.js.map +1 -1
- package/dist/domain/workflowexecution/submit-file-decision.d.ts +5 -2
- package/dist/domain/workflowexecution/submit-file-decision.d.ts.map +1 -1
- package/dist/domain/workflowexecution/submit-file-decision.js +1 -1
- package/dist/domain/workflowexecution/submit-file-decision.js.map +1 -1
- package/dist/domain/workflowexecution/submit-workflow-task-approval.d.ts.map +1 -1
- package/dist/domain/workflowexecution/submit-workflow-task-approval.js +12 -1
- package/dist/domain/workflowexecution/submit-workflow-task-approval.js.map +1 -1
- package/dist/domain/workflowinstance/controller.d.ts +6 -3
- package/dist/domain/workflowinstance/controller.d.ts.map +1 -1
- package/dist/domain/workflowinstance/controller.js +12 -7
- package/dist/domain/workflowinstance/controller.js.map +1 -1
- package/dist/domain/workflowinstance/steps.d.ts +31 -0
- package/dist/domain/workflowinstance/steps.d.ts.map +1 -1
- package/dist/domain/workflowinstance/steps.js +88 -1
- package/dist/domain/workflowinstance/steps.js.map +1 -1
- package/dist/extensions/composed-services.d.ts +56 -0
- package/dist/extensions/composed-services.d.ts.map +1 -0
- package/dist/extensions/composed-services.js +2 -0
- package/dist/extensions/composed-services.js.map +1 -0
- package/dist/extensions/drivers.d.ts +32 -1
- package/dist/extensions/drivers.d.ts.map +1 -1
- package/dist/extensions/identity.d.ts +4 -1
- package/dist/extensions/identity.d.ts.map +1 -1
- package/dist/extensions/identity.js +4 -1
- package/dist/extensions/identity.js.map +1 -1
- package/dist/extensions/registry.d.ts +37 -0
- package/dist/extensions/registry.d.ts.map +1 -1
- package/dist/extensions/registry.js +50 -0
- package/dist/extensions/registry.js.map +1 -1
- package/dist/extensions/resource-authorization.d.ts +78 -0
- package/dist/extensions/resource-authorization.d.ts.map +1 -1
- package/dist/extensions/resource-row-reader.d.ts +43 -0
- package/dist/extensions/resource-row-reader.d.ts.map +1 -0
- package/dist/extensions/resource-row-reader.js +2 -0
- package/dist/extensions/resource-row-reader.js.map +1 -0
- package/dist/extensions/visitor-classifier.d.ts +41 -0
- package/dist/extensions/visitor-classifier.d.ts.map +1 -0
- package/dist/extensions/visitor-classifier.js +2 -0
- package/dist/extensions/visitor-classifier.js.map +1 -0
- package/dist/identity/oidc-userinfo.d.ts +6 -1
- package/dist/identity/oidc-userinfo.d.ts.map +1 -1
- package/dist/identity/oidc-userinfo.js.map +1 -1
- package/dist/identity/oidc-verifier.d.ts.map +1 -1
- package/dist/identity/oidc-verifier.js +37 -8
- package/dist/identity/oidc-verifier.js.map +1 -1
- package/dist/index.d.ts +14 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -9
- package/dist/index.js.map +1 -1
- package/dist/pipeline/errors.d.ts +8 -0
- package/dist/pipeline/errors.d.ts.map +1 -1
- package/dist/pipeline/errors.js +25 -16
- package/dist/pipeline/errors.js.map +1 -1
- package/dist/pipeline/interceptors/auth.d.ts +17 -9
- package/dist/pipeline/interceptors/auth.d.ts.map +1 -1
- package/dist/pipeline/interceptors/auth.js +17 -9
- package/dist/pipeline/interceptors/auth.js.map +1 -1
- package/dist/pipeline/steps/authorization-tuples.d.ts +23 -1
- package/dist/pipeline/steps/authorization-tuples.d.ts.map +1 -1
- package/dist/pipeline/steps/authorization-tuples.js +42 -0
- package/dist/pipeline/steps/authorization-tuples.js.map +1 -1
- package/dist/pipeline/steps/authorize.d.ts +6 -5
- package/dist/pipeline/steps/authorize.d.ts.map +1 -1
- package/dist/pipeline/steps/authorize.js +6 -5
- package/dist/pipeline/steps/authorize.js.map +1 -1
- package/dist/pipeline/steps/defaults.d.ts +12 -0
- package/dist/pipeline/steps/defaults.d.ts.map +1 -1
- package/dist/pipeline/steps/defaults.js +42 -7
- package/dist/pipeline/steps/defaults.js.map +1 -1
- package/dist/pipeline/steps/guard-memory-capture.d.ts +13 -15
- package/dist/pipeline/steps/guard-memory-capture.d.ts.map +1 -1
- package/dist/pipeline/steps/guard-memory-capture.js +2 -3
- package/dist/pipeline/steps/guard-memory-capture.js.map +1 -1
- package/dist/runnerauth/built-in-runner-credential-provider.d.ts +0 -2
- package/dist/runnerauth/built-in-runner-credential-provider.d.ts.map +1 -1
- package/dist/runnerauth/built-in-runner-credential-provider.js +8 -17
- package/dist/runnerauth/built-in-runner-credential-provider.js.map +1 -1
- package/dist/runnerauth/runner-credential-provider.d.ts +17 -7
- package/dist/runnerauth/runner-credential-provider.d.ts.map +1 -1
- package/dist/runnerauth/runner-credential-provider.js.map +1 -1
- package/dist/sandbox/docker.d.ts.map +1 -1
- package/dist/sandbox/docker.js +3 -0
- package/dist/sandbox/docker.js.map +1 -1
- package/dist/sandbox/kubernetes.d.ts.map +1 -1
- package/dist/sandbox/kubernetes.js +3 -0
- package/dist/sandbox/kubernetes.js.map +1 -1
- package/dist/sandbox/local-process.d.ts.map +1 -1
- package/dist/sandbox/local-process.js +4 -0
- package/dist/sandbox/local-process.js.map +1 -1
- package/dist/sandbox/provisioner.d.ts +18 -6
- package/dist/sandbox/provisioner.d.ts.map +1 -1
- package/dist/sandbox/provisioner.js.map +1 -1
- package/dist/temporal/manager.d.ts +5 -0
- package/dist/temporal/manager.d.ts.map +1 -1
- package/dist/temporal/manager.js +9 -0
- package/dist/temporal/manager.js.map +1 -1
- package/dist/temporal/mcpserver/engine-client.d.ts +2 -2
- package/dist/temporal/mcpserver/engine-client.d.ts.map +1 -1
- package/dist/temporal/mcpserver/engine-client.js +6 -4
- package/dist/temporal/mcpserver/engine-client.js.map +1 -1
- package/dist/temporal/mcpserver/names.d.ts +13 -2
- package/dist/temporal/mcpserver/names.d.ts.map +1 -1
- package/dist/temporal/mcpserver/names.js +15 -2
- package/dist/temporal/mcpserver/names.js.map +1 -1
- package/dist/temporal/sdk-logger.d.ts +74 -0
- package/dist/temporal/sdk-logger.d.ts.map +1 -0
- package/dist/temporal/sdk-logger.js +143 -0
- package/dist/temporal/sdk-logger.js.map +1 -0
- package/package.json +6 -6
- package/src/authorization/README.md +18 -6
- package/src/authorization/__tests__/authorizer.test.ts +5 -1
- package/src/authorization/__tests__/derived-tuples.test.ts +26 -0
- package/src/authorization/__tests__/evaluator.test.ts +4 -0
- package/src/authorization/__tests__/list-read-scope.test.ts +11 -5
- package/src/authorization/__tests__/store-tests.test.ts +3 -1
- package/src/authorization/__tests__/trusted-local-authorizer.test.ts +155 -0
- package/src/authorization/__tests__/unit-owned-kinds.test.ts +420 -0
- package/src/authorization/__tests__/wire-permissions.test.ts +31 -2
- package/src/authorization/authorizer.ts +21 -10
- package/src/authorization/derived-tuples.ts +92 -18
- package/src/authorization/evaluator.ts +30 -15
- package/src/authorization/list-read-scope.ts +4 -0
- package/src/authorization/model/__tests__/registry.test.ts +23 -0
- package/src/authorization/model/data/authorization-model.json +830 -67
- package/src/authorization/model/execution-viewer.ts +32 -27
- package/src/authorization/model/index.ts +4 -1
- package/src/authorization/model/rewrite.ts +5 -3
- package/src/authorization/organization-directory.ts +4 -0
- package/src/authorization/person.ts +32 -1
- package/src/authorization/policy-check.ts +105 -0
- package/src/authorization/posture.ts +45 -4
- package/src/authorization/resource-creators.ts +48 -0
- package/src/authorization/trusted-local-authorizer.ts +91 -0
- package/src/authorization/tuples.ts +17 -0
- package/src/boot/__tests__/compose.test.ts +120 -4
- package/src/boot/__tests__/list-indexes.test.ts +4 -0
- package/src/boot/__tests__/oauth-redirect-uri.test.ts +121 -10
- package/src/boot/__tests__/skill-transfer-origin.test.ts +96 -25
- package/src/boot/compose.ts +153 -61
- package/src/boot/config.ts +28 -12
- package/src/boot/inprocess.ts +18 -4
- package/src/boot/list-indexes.ts +6 -1
- package/src/boot/logger.ts +3 -1
- package/src/boot/oauth-redirect-uri.ts +62 -17
- package/src/boot/skill-transfer-origin.ts +71 -16
- package/src/domain/agent/__tests__/agent.test.ts +42 -1
- package/src/domain/agentchannel/__tests__/agentchannel.test.ts +9 -0
- package/src/domain/agentchannel/__tests__/channel-runtime.test.ts +2 -0
- package/src/domain/agentchannel/__tests__/create-authorization.test.ts +7 -6
- package/src/domain/agentchannel/steps.ts +9 -7
- package/src/domain/agentexecution/__tests__/agentexecution.test.ts +148 -56
- package/src/domain/agentexecution/__tests__/create-steps.test.ts +175 -12
- package/src/domain/agentexecution/__tests__/file-review-seed.ts +91 -0
- package/src/domain/agentexecution/controller.ts +8 -0
- package/src/domain/agentexecution/create-steps.ts +74 -44
- package/src/domain/agentexecution/submit-approval.ts +9 -6
- package/src/domain/agentexecution/submit-file-decision.ts +5 -4
- package/src/domain/agentinstance/__tests__/agentinstance.test.ts +2 -0
- package/src/domain/agentshare/__tests__/agentshare.test.ts +17 -0
- package/src/domain/agentshare/__tests__/create-authorization.test.ts +5 -4
- package/src/domain/agentshare/steps.ts +6 -4
- package/src/domain/apikey/__tests__/verifier.test.ts +73 -1
- package/src/domain/apikey/verifier.ts +45 -1
- package/src/domain/artifact/__tests__/artifact.test.ts +13 -24
- package/src/domain/channelapp/__tests__/channelapp.test.ts +7 -0
- package/src/domain/channelapp/controller.ts +4 -3
- package/src/domain/environment/__tests__/environment.test.ts +13 -0
- package/src/domain/executioncontext/__tests__/executioncontext.test.ts +2 -0
- package/src/domain/executioncontext/steps.ts +2 -1
- package/src/domain/iampolicy/__tests__/access-lists.test.ts +79 -0
- package/src/domain/iampolicy/__tests__/change.test.ts +63 -0
- package/src/domain/iampolicy/__tests__/controller.test.ts +39 -3
- package/src/domain/iampolicy/__tests__/grant-path.test.ts +595 -27
- package/src/domain/iampolicy/__tests__/iampolicy.test.ts +33 -2
- package/src/domain/iampolicy/__tests__/membership.test.ts +47 -5
- package/src/domain/iampolicy/__tests__/resource-store.test.ts +1 -0
- package/src/domain/iampolicy/__tests__/role-lifecycle.test.ts +41 -8
- package/src/domain/iampolicy/__tests__/roles.test.ts +3 -2
- package/src/domain/iampolicy/__tests__/steps.test.ts +75 -6
- package/src/domain/iampolicy/__tests__/support.ts +68 -4
- package/src/domain/iampolicy/access-lists.ts +70 -2
- package/src/domain/iampolicy/change.ts +109 -0
- package/src/domain/iampolicy/constants.ts +8 -0
- package/src/domain/iampolicy/controller.ts +17 -3
- package/src/domain/iampolicy/grant-path.ts +349 -31
- package/src/domain/iampolicy/membership.ts +32 -12
- package/src/domain/iampolicy/resource-store.ts +4 -0
- package/src/domain/iampolicy/role-lifecycle.ts +2 -0
- package/src/domain/iampolicy/roles.ts +8 -0
- package/src/domain/iampolicy/steps.ts +15 -5
- package/src/domain/iampolicy/store-contract.ts +37 -1
- package/src/domain/iampolicy/store.ts +19 -5
- package/src/domain/identityaccount/__tests__/resolve.test.ts +246 -2
- package/src/domain/identityaccount/__tests__/resource-store.test.ts +1 -1
- package/src/domain/identityaccount/constants.ts +20 -0
- package/src/domain/identityaccount/controller.ts +20 -5
- package/src/domain/identityaccount/resolve.ts +80 -1
- package/src/domain/identityaccount/resource-store.ts +14 -1
- package/src/domain/identityaccount/steps.ts +4 -3
- package/src/domain/identityaccount/store-contract.ts +4 -4
- package/src/domain/identityaccount/store.ts +6 -1
- package/src/domain/mcpserver/__tests__/connect-authorization.test.ts +1 -0
- package/src/domain/mcpserver/__tests__/connect.test.ts +358 -15
- package/src/domain/mcpserver/__tests__/mcpserver.test.ts +2 -0
- package/src/domain/mcpserver/__tests__/oauth-handshake.test.ts +2 -0
- package/src/domain/mcpserver/__tests__/store-faults.test.ts +2 -0
- package/src/domain/mcpserver/connect-sandbox.ts +135 -0
- package/src/domain/mcpserver/connect.ts +226 -56
- package/src/domain/mcpserver/controller.ts +8 -2
- package/src/domain/mcpserver/engine.ts +24 -6
- package/src/domain/mcpserver/start-connect.ts +49 -10
- package/src/domain/memory/__tests__/memory.test.ts +92 -22
- package/src/domain/memory/__tests__/queries.test.ts +173 -0
- package/src/domain/memory/controller.ts +2 -1
- package/src/domain/memory/list-index.ts +32 -0
- package/src/domain/memory/queries.ts +72 -0
- package/src/domain/memory/steps.ts +26 -63
- package/src/domain/oauthapp/__tests__/oauthapp.test.ts +14 -0
- package/src/domain/organization/__tests__/support.ts +41 -0
- package/src/domain/organization/steps.ts +1 -0
- package/src/domain/platformclient/mint.ts +6 -2
- package/src/domain/platformclient/verifier.ts +6 -3
- package/src/domain/plugin/__tests__/plugin.test.ts +11 -24
- package/src/domain/plugin/push.ts +1 -0
- package/src/domain/schedule/__tests__/schedule.composed.test.ts +2 -0
- package/src/domain/schedule/steps.ts +3 -1
- package/src/domain/session/__tests__/session.test.ts +2 -0
- package/src/domain/skill/__tests__/skill.test.ts +7 -25
- package/src/domain/skill/push.ts +1 -0
- package/src/domain/workflow/__tests__/workflow.test.ts +2 -0
- package/src/domain/workflow/registry/data/task-kind-registry.json +27 -1
- package/src/domain/workflowexecution/__tests__/forward-attribution-composed.test.ts +270 -0
- package/src/domain/workflowexecution/__tests__/submit-workflow-task-approval.test.ts +196 -0
- package/src/domain/workflowexecution/__tests__/workflowexecution.test.ts +3 -57
- package/src/domain/workflowexecution/submit-approval.ts +9 -2
- package/src/domain/workflowexecution/submit-file-decision.ts +6 -1
- package/src/domain/workflowexecution/submit-workflow-task-approval.ts +23 -5
- package/src/domain/workflowinstance/controller.ts +27 -9
- package/src/domain/workflowinstance/steps.ts +123 -1
- package/src/extensions/__tests__/apikey-before-sign-in-composed.test.ts +172 -0
- package/src/extensions/__tests__/built-in-authorization-composed.test.ts +80 -1
- package/src/extensions/__tests__/composed-services-composed.test.ts +236 -0
- package/src/extensions/__tests__/extension-composition.test.ts +229 -16
- package/src/extensions/__tests__/identity-account-composed.test.ts +84 -4
- package/src/extensions/__tests__/list-read-scope-composed.test.ts +2 -0
- package/src/extensions/__tests__/registry.test.ts +147 -1
- package/src/extensions/__tests__/secret-cleanup-composed.test.ts +2 -0
- package/src/extensions/__tests__/visitor-classifier-points.test.ts +42 -0
- package/src/extensions/composed-services.ts +61 -0
- package/src/extensions/drivers.ts +33 -1
- package/src/extensions/identity.ts +4 -1
- package/src/extensions/registry.ts +105 -0
- package/src/extensions/resource-authorization.ts +87 -0
- package/src/extensions/resource-row-reader.ts +43 -0
- package/src/extensions/visitor-classifier.ts +41 -0
- package/src/identity/__tests__/oidc-verifier.test.ts +38 -12
- package/src/identity/oidc-userinfo.ts +6 -1
- package/src/identity/oidc-verifier.ts +42 -8
- package/src/index.ts +61 -6
- package/src/pipeline/__tests__/steps.test.ts +31 -4
- package/src/pipeline/errors.ts +30 -16
- package/src/pipeline/interceptors/auth.ts +17 -9
- package/src/pipeline/steps/__tests__/authorization-tuples.test.ts +20 -0
- package/src/pipeline/steps/__tests__/guard-memory-capture.test.ts +72 -15
- package/src/pipeline/steps/authorization-tuples.ts +54 -0
- package/src/pipeline/steps/authorize.ts +6 -5
- package/src/pipeline/steps/defaults.ts +52 -7
- package/src/pipeline/steps/guard-memory-capture.ts +15 -20
- package/src/runnerauth/__tests__/built-in-runner-credential-provider.test.ts +1 -1
- package/src/runnerauth/__tests__/runner-subject-composed.test.ts +13 -0
- package/src/runnerauth/bound-execution.ts +2 -2
- package/src/runnerauth/built-in-runner-credential-provider.ts +8 -21
- package/src/runnerauth/runner-credential-provider.ts +17 -7
- package/src/sandbox/__tests__/docker.integration.test.ts +4 -0
- package/src/sandbox/__tests__/kubernetes.test.ts +18 -1
- package/src/sandbox/__tests__/local-process.integration.test.ts +4 -0
- package/src/sandbox/__tests__/provisioner.test.ts +1 -0
- package/src/sandbox/docker.ts +3 -0
- package/src/sandbox/kubernetes.ts +3 -0
- package/src/sandbox/local-process.ts +4 -0
- package/src/sandbox/provisioner.ts +18 -6
- package/src/store/postgres/__tests__/support.ts +11 -2
- package/src/temporal/README.md +1 -0
- package/src/temporal/__tests__/manager.test.ts +56 -4
- package/src/temporal/__tests__/sdk-log-workflows.ts +26 -0
- package/src/temporal/__tests__/sdk-logger.e2e.test.ts +150 -0
- package/src/temporal/__tests__/sdk-logger.test.ts +238 -0
- package/src/temporal/manager.ts +9 -0
- package/src/temporal/mcpserver/engine-client.ts +8 -3
- package/src/temporal/mcpserver/names.ts +16 -2
- package/src/temporal/sdk-logger.ts +173 -0
- package/dist/authorization/lane-admission.d.ts +0 -50
- package/dist/authorization/lane-admission.d.ts.map +0 -1
- package/dist/authorization/lane-admission.js +0 -13
- package/dist/authorization/lane-admission.js.map +0 -1
- package/src/authorization/__tests__/lane-admission.test.ts +0 -115
- package/src/authorization/lane-admission.ts +0 -73
|
@@ -52,6 +52,17 @@
|
|
|
52
52
|
* before the row mirror existed.
|
|
53
53
|
* Absent method = no mirror is written (the OSS posture: rows are the
|
|
54
54
|
* record).
|
|
55
|
+
*
|
|
56
|
+
* One more structural relation rides the seam the way `default_of` does:
|
|
57
|
+
* a workflow instance's run audience, `execution_viewer`, which open
|
|
58
|
+
* source derives from `spec.execution_visibility` when a check asks
|
|
59
|
+
* (authorization/model/execution-viewer.ts) and an edition that stores
|
|
60
|
+
* tuples must write. `onExecutionVisibilityChanged` hands the driver the
|
|
61
|
+
* audience the stored level names, from the two doors that may set it
|
|
62
|
+
* (create, and updateExecutionVisibility; Update and Apply keep the
|
|
63
|
+
* stored level, domain/workflowinstance/steps.ts). Synchronous,
|
|
64
|
+
* post-persist; a throw fails the request with the level persisted, and a
|
|
65
|
+
* retry converges because the event is the whole target state.
|
|
55
66
|
*/
|
|
56
67
|
import type { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
57
68
|
import type { OwnerAttributionType } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/authorization_config_pb";
|
|
@@ -69,6 +80,15 @@ import type { CallerIdentity } from "./identity.js";
|
|
|
69
80
|
* reaches every account.
|
|
70
81
|
*/
|
|
71
82
|
export type VisibilityTupleShape = "org-viewer" | "platform-viewer";
|
|
83
|
+
/**
|
|
84
|
+
* The run-audience shapes of a workflow instance's execution visibility,
|
|
85
|
+
* named edition-neutrally. The driver maps each to its tuple:
|
|
86
|
+
* - org-viewer: <instanceKind>:<id>#execution_viewer@organization:<org>#viewer
|
|
87
|
+
* The same word as the resource visibility's org shape, a different
|
|
88
|
+
* relation: making an instance's RUNS observable never widens who can see
|
|
89
|
+
* or run the instance itself (fga/model/agentic/workflow_instance.fga).
|
|
90
|
+
*/
|
|
91
|
+
export type ExecutionAudienceShape = "org-viewer";
|
|
72
92
|
/**
|
|
73
93
|
* One resolved structural link from the created resource to a parent
|
|
74
94
|
* object — the scope link (relation `organization` for ORGANIZATION
|
|
@@ -153,6 +173,8 @@ export interface VisibilityChangedEvent {
|
|
|
153
173
|
readonly kind: ApiResourceKind;
|
|
154
174
|
readonly resourceId: string;
|
|
155
175
|
readonly orgId: string;
|
|
176
|
+
/** Who changed the visibility — the audience rows a driver writes are theirs to answer for. */
|
|
177
|
+
readonly caller: CallerIdentity;
|
|
156
178
|
/** Shapes present in the new level but not the old — to be written. */
|
|
157
179
|
readonly shapesToCreate: ReadonlyArray<VisibilityTupleShape>;
|
|
158
180
|
/** Shapes present in the old level but not the new — to be deleted. */
|
|
@@ -176,6 +198,21 @@ export interface DefaultInstanceLinkedEvent {
|
|
|
176
198
|
readonly blueprintKind: ApiResourceKind;
|
|
177
199
|
readonly blueprintId: string;
|
|
178
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Fired synchronously after a workflow instance's
|
|
203
|
+
* `spec.execution_visibility` is persisted at create (only when the level
|
|
204
|
+
* names an audience) or by updateExecutionVisibility (always). `shapes` is
|
|
205
|
+
* the audience the stored level names — ["org-viewer"] for ORGANIZATION,
|
|
206
|
+
* [] for PRIVATE and unset — never a diff: the driver makes its tuples
|
|
207
|
+
* match it, so a retry, a repeat, or a transition whose old level it never
|
|
208
|
+
* saw all converge.
|
|
209
|
+
*/
|
|
210
|
+
export interface ExecutionVisibilityChangedEvent {
|
|
211
|
+
readonly instanceKind: ApiResourceKind;
|
|
212
|
+
readonly instanceId: string;
|
|
213
|
+
readonly orgId: string;
|
|
214
|
+
readonly shapes: ReadonlyArray<ExecutionAudienceShape>;
|
|
215
|
+
}
|
|
179
216
|
/**
|
|
180
217
|
* Fired synchronously AFTER an IamPolicy row is persisted by the domain's
|
|
181
218
|
* grant path — and on the duplicate arm, when the triple was already held
|
|
@@ -199,6 +236,21 @@ export interface PolicyRevokedEvent {
|
|
|
199
236
|
readonly spec: IamPolicySpec;
|
|
200
237
|
readonly policy: IamPolicy | undefined;
|
|
201
238
|
}
|
|
239
|
+
/**
|
|
240
|
+
* A person's organization rows are about to change, or have changed. The
|
|
241
|
+
* model's `organization#affiliated` (fga/model/tenancy/organization.fga)
|
|
242
|
+
* stands exactly while the person holds at least one row on the
|
|
243
|
+
* organization; the grant path announces every change of those rows and an
|
|
244
|
+
* edition that stores tuples keeps the relation from the announcements.
|
|
245
|
+
* The grant path never says whether the person is still affiliated: the
|
|
246
|
+
* driver derives that from the committed rows, so two changes racing on
|
|
247
|
+
* one person cannot leave the tuple standing on the word of the one that
|
|
248
|
+
* read first.
|
|
249
|
+
*/
|
|
250
|
+
export interface OrganizationAffiliationEvent {
|
|
251
|
+
readonly identityAccountId: string;
|
|
252
|
+
readonly organizationId: string;
|
|
253
|
+
}
|
|
202
254
|
/**
|
|
203
255
|
* The driver interface (single-instance point, registered via
|
|
204
256
|
* ExtensionDrivers.resourceAuthorizationLifecycle). Implementations must
|
|
@@ -216,6 +268,13 @@ export interface ResourceAuthorizationLifecycle {
|
|
|
216
268
|
* (the OSS posture: local access control needs none).
|
|
217
269
|
*/
|
|
218
270
|
onDefaultInstanceLinked?(event: DefaultInstanceLinkedEvent): Promise<void>;
|
|
271
|
+
/**
|
|
272
|
+
* OPTIONAL (stigmer-cloud#720): synchronous, post-persist; a throw fails
|
|
273
|
+
* the request (the level survives — retry converges, the event is the
|
|
274
|
+
* target state). Absent method = no run-audience tuple is written (the
|
|
275
|
+
* OSS posture: the relation is derived from the row at check time).
|
|
276
|
+
*/
|
|
277
|
+
onExecutionVisibilityChanged?(event: ExecutionVisibilityChangedEvent): Promise<void>;
|
|
219
278
|
/**
|
|
220
279
|
* OPTIONAL (added 20260913.01 slice 2): synchronous, AFTER the row
|
|
221
280
|
* persist, on the duplicate arm too; a throw fails the grant with the
|
|
@@ -228,5 +287,24 @@ export interface ResourceAuthorizationLifecycle {
|
|
|
228
287
|
* rows are the record (the OSS posture).
|
|
229
288
|
*/
|
|
230
289
|
onPolicyRevoked?(event: PolicyRevokedEvent): Promise<void>;
|
|
290
|
+
/**
|
|
291
|
+
* OPTIONAL: synchronous, BEFORE a row naming an account on an
|
|
292
|
+
* organization is deleted, ahead of that row's `onPolicyRevoked`. A
|
|
293
|
+
* driver removes the organization's `affiliated` tuple for the account
|
|
294
|
+
* here, so a crash anywhere after it leaves the person denied, never
|
|
295
|
+
* admitted. A throw leaves every row in place for the retry. Absent
|
|
296
|
+
* method = the edition derives the relation from rows (the OSS posture).
|
|
297
|
+
*/
|
|
298
|
+
onOrganizationAffiliationChanging?(event: OrganizationAffiliationEvent): Promise<void>;
|
|
299
|
+
/**
|
|
300
|
+
* OPTIONAL: synchronous, AFTER a row naming an account on an organization
|
|
301
|
+
* is written (the duplicate arm too, the inline heal) or deleted, and
|
|
302
|
+
* after a revoke that found no row. A driver re-derives the
|
|
303
|
+
* organization's `affiliated` tuple for the account from the committed
|
|
304
|
+
* rows: written while one remains, removed when none does. A throw fails
|
|
305
|
+
* the request with the rows committed; the next change or the driver's
|
|
306
|
+
* own reconcile converges. Absent method = as above.
|
|
307
|
+
*/
|
|
308
|
+
onOrganizationAffiliationChanged?(event: OrganizationAffiliationEvent): Promise<void>;
|
|
231
309
|
}
|
|
232
310
|
//# sourceMappingURL=resource-authorization.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-authorization.d.ts","sourceRoot":"","sources":["../../src/extensions/resource-authorization.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"resource-authorization.d.ts","sourceRoot":"","sources":["../../src/extensions/resource-authorization.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The resource-row-reader driver point: where the built-in authorizer
|
|
3
|
+
* reads the rows of a kind a unit keeps in a store of its own. Keyed by
|
|
4
|
+
* kind, registered as `drivers.resourceRowReaders`.
|
|
5
|
+
*
|
|
6
|
+
* The built-in authorizer evaluates the one authorization model over the
|
|
7
|
+
* tuples each row stands for, derived from the row when a check asks
|
|
8
|
+
* (authorization/derived-tuples.ts). It reads open source's kinds from the
|
|
9
|
+
* generic Store and identity accounts through the account port. A kind an
|
|
10
|
+
* edition above open source serves (an identity provider, an invitation,
|
|
11
|
+
* a team) lives wherever the unit that serves it keeps it, so the unit
|
|
12
|
+
* says where: it registers a reader for each such kind, and the built-in
|
|
13
|
+
* loader asks that reader before the generic Store. A unit that keeps its
|
|
14
|
+
* rows in the generic Store registers a reader over it; one with tables of
|
|
15
|
+
* its own registers a reader over those. Under a composition's own
|
|
16
|
+
* Authorizer nothing reads them.
|
|
17
|
+
*
|
|
18
|
+
* The contract:
|
|
19
|
+
* - `findById` answers the row decoded with the kind's model schema
|
|
20
|
+
* (authorization/model/bindings.ts), or undefined when no row has the
|
|
21
|
+
* id. Undefined is a real answer: the authorizer then denies, and never
|
|
22
|
+
* reports the row missing, for the kinds whose existence it does not
|
|
23
|
+
* disclose (authorization/authorizer.ts, NOT_FOUND_EXEMPT_KINDS).
|
|
24
|
+
* - A fault it cannot answer through THROWS (the ListReadScope rule: an
|
|
25
|
+
* absent row is never an outage in disguise), and the check answers
|
|
26
|
+
* unavailable, never a denial.
|
|
27
|
+
* - The row's organization, creator stamp and visibility are the ones
|
|
28
|
+
* its unit wrote: the tuples derive from them, so a reader that hands
|
|
29
|
+
* back a different organization grants that organization's members.
|
|
30
|
+
*
|
|
31
|
+
* The merge rules (extensions/registry.ts): one reader per kind across the
|
|
32
|
+
* composed set; never for an open-source kind, whose rows are open
|
|
33
|
+
* source's own store's; never for `identity_account`, whose rows are read
|
|
34
|
+
* through the account port a composition substitutes as
|
|
35
|
+
* `drivers.identityAccountStore`. Each is a boot throw naming the unit.
|
|
36
|
+
*/
|
|
37
|
+
import type { Message } from "@bufbuild/protobuf";
|
|
38
|
+
/** The row-reader contract (keyed point, ExtensionDrivers.resourceRowReaders). */
|
|
39
|
+
export interface ResourceRowReader {
|
|
40
|
+
/** The row with this id, decoded with the kind's model schema, or undefined when absent. */
|
|
41
|
+
findById(id: string): Promise<Message | undefined>;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=resource-row-reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-row-reader.d.ts","sourceRoot":"","sources":["../../src/extensions/resource-row-reader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,kFAAkF;AAClF,MAAM,WAAW,iBAAiB;IAChC,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;CACpD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-row-reader.js","sourceRoot":"","sources":["../../src/extensions/resource-row-reader.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The visitor-classifier driver point: which callers are VISITORS, people
|
|
3
|
+
* the organization lets reach its agents without belonging to it.
|
|
4
|
+
* Single instance, registered as `drivers.visitorClassifier`.
|
|
5
|
+
*
|
|
6
|
+
* Open source has no visitor lanes: every caller it authenticates is the
|
|
7
|
+
* organization's own (a person, a runner, a machine account, the server
|
|
8
|
+
* itself). An edition that admits outsiders mints their credentials (the
|
|
9
|
+
* cloud's shared-agent guests and channel senders, each a caller class of
|
|
10
|
+
* its own) and says here which callers those are. OSS never learns the
|
|
11
|
+
* lane names (the guard-memory-capture.ts doctrine); it asks this point.
|
|
12
|
+
* Absent means nobody is a visitor, which is true of open source.
|
|
13
|
+
*
|
|
14
|
+
* A core step reads it wherever an outsider must be treated differently
|
|
15
|
+
* from a member. Today that is ComposeDeclaredPreferences: the
|
|
16
|
+
* organization's standing context, written by its admins for its own
|
|
17
|
+
* work, is never composed onto a visitor's run (stigmer/stigmer#1401).
|
|
18
|
+
* The error boundary's VisitorErrorPolicy stays its own seam: its
|
|
19
|
+
* eligibility is method-aware and must answer before an identity exists
|
|
20
|
+
* (pipeline/interceptors/error-boundary.ts).
|
|
21
|
+
*
|
|
22
|
+
* The contract:
|
|
23
|
+
* - Synchronous and cheap: it runs on every execution create. The
|
|
24
|
+
* classification keys on the verified identity alone (its class,
|
|
25
|
+
* its raw token), never on a store read.
|
|
26
|
+
* - It classifies the caller whatever the transport: in-process
|
|
27
|
+
* propagation keeps the forwarded identity's class
|
|
28
|
+
* (pipeline/interceptors/auth.ts), so a visitor's request the server
|
|
29
|
+
* composes further stays a visitor's.
|
|
30
|
+
* - A throw counts as a visitor at every consumer, which logs it:
|
|
31
|
+
* withholding the organization's context from a member is
|
|
32
|
+
* recoverable, handing it to an outsider is not (the error boundary's
|
|
33
|
+
* posture).
|
|
34
|
+
*/
|
|
35
|
+
import type { CallerIdentity } from "./identity.js";
|
|
36
|
+
/** The visitor-classifier contract (single-instance point, ExtensionDrivers.visitorClassifier). */
|
|
37
|
+
export interface VisitorClassifier {
|
|
38
|
+
/** Whether `caller` is a visitor: admitted to the organization's agents without belonging to it. */
|
|
39
|
+
isVisitor(caller: CallerIdentity): boolean;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=visitor-classifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visitor-classifier.d.ts","sourceRoot":"","sources":["../../src/extensions/visitor-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,mGAAmG;AACnG,MAAM,WAAW,iBAAiB;IAChC,oGAAoG;IACpG,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC;CAC5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visitor-classifier.js","sourceRoot":"","sources":["../../src/extensions/visitor-classifier.ts"],"names":[],"mappings":""}
|
|
@@ -11,7 +11,12 @@
|
|
|
11
11
|
* the cloud's verifiers name theirs on the CallerIdentity they mint. The
|
|
12
12
|
* one issuer whose userinfo can answer for a token is the one that issued
|
|
13
13
|
* it — and a verifier already trusted it, so the token goes only where it
|
|
14
|
-
* came from.
|
|
14
|
+
* came from. The domain calls this only for a caller the platform's own
|
|
15
|
+
* sign-in vouched for (domain/identityaccount/resolve.ts
|
|
16
|
+
* `mayProvisionDirectAccount`), so the issuer is always the operator's own
|
|
17
|
+
* configuration: an issuer an organization admin registered, whose
|
|
18
|
+
* discovery document could name any address, never reaches this plain
|
|
19
|
+
* fetch.
|
|
15
20
|
*
|
|
16
21
|
* The endpoint is the discovery document's word, never a guessed
|
|
17
22
|
* `<issuer>/userinfo`: a document that names no `userinfo_endpoint` is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc-userinfo.d.ts","sourceRoot":"","sources":["../../src/identity/oidc-userinfo.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"oidc-userinfo.d.ts","sourceRoot":"","sources":["../../src/identity/oidc-userinfo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,eAAe,EAC1B,SAAS,GAAE,OAAO,KAAa,GAC9B,cAAc,CA4BhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc-userinfo.js","sourceRoot":"","sources":["../../src/identity/oidc-userinfo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oidc-userinfo.js","sourceRoot":"","sources":["../../src/identity/oidc-userinfo.ts"],"names":[],"mappings":"AAqCA,MAAM,UAAU,qBAAqB,CACnC,SAA0B,EAC1B,YAA0B,KAAK;IAE/B,OAAO;QACL,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW;YACxC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9D,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CACb,WAAW,MAAM,4DAA4D,CAC9E,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,gBAAgB,EAAE;gBACjD,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,WAAW,EAAE,EAAE;aACpD,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;YAClE,MAAM,IAAI,GAAG,CAAC,GAAW,EAAU,EAAE;gBACnC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,CAAC,CAAC;YACF,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;gBACpB,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;gBAC7B,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC;gBAC7B,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC;aAC5B,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc-verifier.d.ts","sourceRoot":"","sources":["../../src/identity/oidc-verifier.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oidc-verifier.d.ts","sourceRoot":"","sources":["../../src/identity/oidc-verifier.ts"],"names":[],"mappings":"AAgEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,oEAAoE;AACpE,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AACzD,eAAO,MAAM,sBAAsB,wDACoB,CAAC;AACxD,eAAO,MAAM,uBAAuB,wCAAwC,CAAC;AAC7E,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AAErD,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oGAAoG;IACpG,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;CACrC;AAID,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,kBAAkB,GACzB,gBAAgB,CAkDlB"}
|
|
@@ -6,11 +6,19 @@
|
|
|
6
6
|
* Cloud points STIGMER_OIDC_ISSUER at Auth0 and registers NO code here;
|
|
7
7
|
* any self-host points it at their own issuer (Keycloak, Okta, Dex, …).
|
|
8
8
|
*
|
|
9
|
-
* Claim rule:
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
9
|
+
* Claim rule: a JWT-shaped token (three non-empty dot-separated segments)
|
|
10
|
+
* whose `iss` is this lane's issuer, compared exactly, as discovery
|
|
11
|
+
* compares it. API keys never look like JWTs (`stk_` + one Base64URL run),
|
|
12
|
+
* so ordering after the apikey verifier keeps both claims disjoint. A JWT
|
|
13
|
+
* naming another issuer PASSES, so a lane composed after this one (a
|
|
14
|
+
* composition's own sign-in lane for another issuer) can claim it, and a
|
|
15
|
+
* token no lane claims is refused by the verifier chain as unclaimed —
|
|
16
|
+
* UNAUTHENTICATED either way. The `iss` read before verification only
|
|
17
|
+
* routes the token; it grants nothing, because a claimed token is then
|
|
18
|
+
* verified whole against this issuer's keys. A JWT-shaped token with no
|
|
19
|
+
* readable string `iss` is malformed and THROWS "invalid token". A claimed
|
|
20
|
+
* token that fails verification THROWS (identity.ts contract) with the
|
|
21
|
+
* Java classifyAuthError copy, byte-pinned:
|
|
14
22
|
*
|
|
15
23
|
* - expiry → "token has expired"
|
|
16
24
|
* - audience mismatch → "token audience does not match the expected audience"
|
|
@@ -41,10 +49,10 @@
|
|
|
41
49
|
* issuer is the configured issuer; email/displayName come from the
|
|
42
50
|
* standard `email`/`name` claims when present (the DD-007 Q5 addendum
|
|
43
51
|
* added the fields for exactly these claims), whichever way the subject
|
|
44
|
-
* resolved. Claim-or-pass runs before any of this: a non-JWT token
|
|
45
|
-
* passes with no network.
|
|
52
|
+
* resolved. Claim-or-pass runs before any of this: a non-JWT token, and a
|
|
53
|
+
* JWT from another issuer, passes with no network.
|
|
46
54
|
*/
|
|
47
|
-
import { createRemoteJWKSet, jwtVerify, errors as joseErrors } from "jose";
|
|
55
|
+
import { createRemoteJWKSet, decodeJwt, jwtVerify, errors as joseErrors, } from "jose";
|
|
48
56
|
import { Code, ConnectError } from "@connectrpc/connect";
|
|
49
57
|
import { identityIdForSubject } from "../domain/identityaccount/resolve.js";
|
|
50
58
|
/** Java classifyAuthError arms — byte-pinned cross-edition copy. */
|
|
@@ -70,6 +78,9 @@ export function newOidcIdentityVerifier(config) {
|
|
|
70
78
|
if (!isJwtShaped(token)) {
|
|
71
79
|
return null;
|
|
72
80
|
}
|
|
81
|
+
if (unverifiedIssuerOf(token) !== config.issuer) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
73
84
|
const keys = await jwksFor();
|
|
74
85
|
let payload;
|
|
75
86
|
try {
|
|
@@ -99,6 +110,24 @@ export function newOidcIdentityVerifier(config) {
|
|
|
99
110
|
},
|
|
100
111
|
};
|
|
101
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* The `iss` a JWT-shaped token names, read without verifying it — only to
|
|
115
|
+
* decide which lane verifies it. A payload that does not decode, or names
|
|
116
|
+
* no string issuer, is a malformed credential this lane refuses outright.
|
|
117
|
+
*/
|
|
118
|
+
function unverifiedIssuerOf(token) {
|
|
119
|
+
let issuer;
|
|
120
|
+
try {
|
|
121
|
+
issuer = decodeJwt(token).iss;
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
throw new ConnectError(INVALID_TOKEN_MESSAGE, Code.Unauthenticated);
|
|
125
|
+
}
|
|
126
|
+
if (typeof issuer !== "string" || issuer === "") {
|
|
127
|
+
throw new ConnectError(INVALID_TOKEN_MESSAGE, Code.Unauthenticated);
|
|
128
|
+
}
|
|
129
|
+
return issuer;
|
|
130
|
+
}
|
|
102
131
|
/** Three non-empty dot-separated segments — the JWS compact shape. */
|
|
103
132
|
function isJwtShaped(token) {
|
|
104
133
|
const segments = token.split(".");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc-verifier.js","sourceRoot":"","sources":["../../src/identity/oidc-verifier.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"oidc-verifier.js","sourceRoot":"","sources":["../../src/identity/oidc-verifier.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -51,7 +51,8 @@ export { loadConfig } from "./boot/config.js";
|
|
|
51
51
|
export type { ServerConfig } from "./boot/config.js";
|
|
52
52
|
export { createLogger } from "./boot/logger.js";
|
|
53
53
|
export type { LogEntry, LogFields, Logger, LoggerOptions, LogLevel, LogSink, } from "./boot/logger.js";
|
|
54
|
-
export type { ExtensionServiceRegistration, ResolvedExtensions, ResolvedServiceRegistration, ServerExtension, } from "./extensions/registry.js";
|
|
54
|
+
export type { ExtensionServiceRegistration, ResolvedExtensions, ResolvedServiceRegistration, ResolvedUnitHook, ServerExtension, } from "./extensions/registry.js";
|
|
55
|
+
export type { ComposedServices } from "./extensions/composed-services.js";
|
|
55
56
|
export type { CallerClass, CallerIdentity, IdentityVerifier, } from "./extensions/identity.js";
|
|
56
57
|
export type { CallerGuard } from "./extensions/caller-guards.js";
|
|
57
58
|
export type { Authorizer, AuthzCheck, AuthzDecision, } from "./extensions/authorizer.js";
|
|
@@ -59,7 +60,7 @@ export type { GateSlotName } from "./extensions/gate-slots.js";
|
|
|
59
60
|
export type { AgentExecutionResponseDecorator, AgentExecutionStatusHooks, AgentExecutionStatusObserver, AgentExecutionStatusTransition, } from "./extensions/status-hooks.js";
|
|
60
61
|
export type { ExtensionDrivers } from "./extensions/drivers.js";
|
|
61
62
|
export type { ResolvedExtensionDrivers } from "./extensions/registry.js";
|
|
62
|
-
export type { DefaultInstanceLinkedEvent, PolicyGrantedEvent, PolicyRevokedEvent, ResourceAuthorizationLifecycle, ResourceCreatedEvent, ResourceDeletedEvent, VisibilityChangedEvent, VisibilityTupleShape, ResolvedParentLink, } from "./extensions/resource-authorization.js";
|
|
63
|
+
export type { DefaultInstanceLinkedEvent, ExecutionAudienceShape, ExecutionVisibilityChangedEvent, OrganizationAffiliationEvent, PolicyGrantedEvent, PolicyRevokedEvent, ResourceAuthorizationLifecycle, ResourceCreatedEvent, ResourceDeletedEvent, VisibilityChangedEvent, VisibilityTupleShape, ResolvedParentLink, } from "./extensions/resource-authorization.js";
|
|
63
64
|
export type { ExternalOrganizationLookup, IdentityProviderRef, OrganizationDirectory, } from "./extensions/organization-directory.js";
|
|
64
65
|
export { ALL_ORGANIZATIONS } from "./extensions/organization-directory.js";
|
|
65
66
|
export type { LicenseStatusProvider, LicenseStatusReport, } from "./extensions/license-status.js";
|
|
@@ -69,17 +70,22 @@ export type { IdentityAccountStore } from "./domain/identityaccount/store.js";
|
|
|
69
70
|
export { DuplicateAccountError } from "./domain/identityaccount/store.js";
|
|
70
71
|
export type { IdentityAccountStoreContractCase, IdentityAccountStoreContractFixture, } from "./domain/identityaccount/store-contract.js";
|
|
71
72
|
export { identityAccountStoreContract } from "./domain/identityaccount/store-contract.js";
|
|
73
|
+
export type { PortContractBody, PortContractCase, PortContractDeclaration, PortContractFixture, } from "./store/port-contract.js";
|
|
74
|
+
export { portContractCases } from "./store/port-contract.js";
|
|
72
75
|
export type { IamPolicyStore } from "./domain/iampolicy/store.js";
|
|
73
76
|
export { DuplicatePolicyError } from "./domain/iampolicy/store.js";
|
|
77
|
+
export type { PolicyActor, PolicyChangeCause, PolicyChangeRecord, } from "./domain/iampolicy/change.js";
|
|
74
78
|
export type { IamPolicyStoreContractCase, IamPolicyStoreContractFixture, } from "./domain/iampolicy/store-contract.js";
|
|
75
79
|
export { iamPolicyStoreContract } from "./domain/iampolicy/store-contract.js";
|
|
76
80
|
export { OWNER_ASSIGNMENT_DENIED_MESSAGE } from "./domain/iampolicy/constants.js";
|
|
77
81
|
export type { PolicyGrantScope } from "./extensions/policy-grant-scope.js";
|
|
78
82
|
export type { AuthorizationQueryEngine } from "./extensions/authorization-queries.js";
|
|
79
83
|
export type { PrincipalDisplay } from "./extensions/principal-display.js";
|
|
84
|
+
export type { ResourceRowReader } from "./extensions/resource-row-reader.js";
|
|
80
85
|
export type { IdentityFederation } from "./extensions/identity-federation.js";
|
|
81
86
|
export type { AccountsBySubject } from "./domain/identityaccount/resolve.js";
|
|
82
87
|
export { identityIdForSubject } from "./domain/identityaccount/resolve.js";
|
|
88
|
+
export { accountIdFor } from "./domain/identityaccount/constants.js";
|
|
83
89
|
export type { PlatformClientStore } from "./domain/platformclient/store.js";
|
|
84
90
|
export { DuplicatePlatformClientError } from "./domain/platformclient/store.js";
|
|
85
91
|
export type { PlatformClientStoreContractCase, PlatformClientStoreContractFixture, } from "./domain/platformclient/store-contract.js";
|
|
@@ -100,13 +106,14 @@ export type { ScheduleFireCallerMint } from "./extensions/schedule-fire-caller.j
|
|
|
100
106
|
export { ScheduleFireCallerRefusedError } from "./extensions/schedule-fire-caller.js";
|
|
101
107
|
export type { VisitorErrorPolicy } from "./pipeline/interceptors/error-boundary.js";
|
|
102
108
|
export { createErrorBoundaryInterceptor } from "./pipeline/interceptors/error-boundary.js";
|
|
103
|
-
export {
|
|
109
|
+
export type { VisitorClassifier } from "./extensions/visitor-classifier.js";
|
|
110
|
+
export { diffVisibilityShapes, executionAudienceShapes, resolveResourceCreatedEvent, visibilityShapesFor, } from "./pipeline/steps/authorization-tuples.js";
|
|
104
111
|
export type { PipelineStep } from "./pipeline/pipeline.js";
|
|
105
112
|
export { RequestContext } from "./pipeline/request-context.js";
|
|
106
|
-
export { abortedError, alreadyExistsError, alreadyExistsWithReasonError, ERROR_REASON_DOMAIN, failedPreconditionError, internalError, invalidArgumentError, notFoundError, unavailableError, } from "./pipeline/errors.js";
|
|
113
|
+
export { abortedError, alreadyExistsError, alreadyExistsWithReasonError, ERROR_REASON_DOMAIN, failedPreconditionError, internalError, invalidArgumentError, notFoundError, unauthenticatedWithReasonError, unavailableError, } from "./pipeline/errors.js";
|
|
107
114
|
export type { RefusalReason } from "./pipeline/errors.js";
|
|
108
115
|
export { generateSlug } from "./pipeline/steps/slug.js";
|
|
109
|
-
export { encodeInProcessCaller, IN_PROCESS_CALLER_HEADER, } from "./pipeline/interceptors/auth.js";
|
|
116
|
+
export { encodeInProcessCaller, IN_PROCESS_CALLER_HEADER, serverActingFor, } from "./pipeline/interceptors/auth.js";
|
|
110
117
|
export { callerIdentityKey, callerIdentityOf, } from "./pipeline/interceptors/auth.js";
|
|
111
118
|
export { createVerifierChainInterceptor } from "./pipeline/interceptors/auth.js";
|
|
112
119
|
export { authenticateBearerToken, parseBearerToken, } from "./pipeline/interceptors/auth.js";
|
|
@@ -114,7 +121,7 @@ export { newPipeline } from "./pipeline/pipeline.js";
|
|
|
114
121
|
export { newAuthorizeStep } from "./pipeline/steps/authorize.js";
|
|
115
122
|
export { isRunGateCheck } from "./pipeline/steps/authorize-run-target.js";
|
|
116
123
|
export { newValidateProtoStep } from "./pipeline/steps/validation.js";
|
|
117
|
-
export { newBuildNewStateStep } from "./pipeline/steps/defaults.js";
|
|
124
|
+
export { assignServerId, newBuildNewStateStep, SERVER_ASSIGNED_ID_KEY, } from "./pipeline/steps/defaults.js";
|
|
118
125
|
export { newResolveSlugStep } from "./pipeline/steps/slug.js";
|
|
119
126
|
export { newBuildUpdateStateStep } from "./pipeline/steps/build-update-state.js";
|
|
120
127
|
export { EXISTING_RESOURCE_KEY } from "./pipeline/steps/load-existing.js";
|
|
@@ -124,6 +131,7 @@ export type { Store, StoreOpenOptions } from "./store/interface.js";
|
|
|
124
131
|
export { AuditNotFoundError, ResourceNotFoundError, } from "./store/interface.js";
|
|
125
132
|
export type { OrganizationSlugClaim, OrganizationSlugEntry, OrganizationSlugStore, } from "./store/interface.js";
|
|
126
133
|
export { ORGANIZATION_SLUG_RESERVED } from "./domain/organization/slug-ledger.js";
|
|
134
|
+
export { API_KEY_CREATED_BEFORE_SIGN_IN } from "./domain/apikey/verifier.js";
|
|
127
135
|
export type { ListIndexCursor, ListIndexDeclaration, ListIndexQuery, ListIndexRow, } from "./store/list-index.js";
|
|
128
136
|
export type { RawResourceDocument } from "./store/interface.js";
|
|
129
137
|
export { PostgresStore } from "./store/postgres/store.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,YAAY,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,aAAa,EACb,QAAQ,EACR,OAAO,GACR,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,4BAA4B,EAC5B,kBAAkB,EAClB,2BAA2B,EAC3B,eAAe,GAChB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,YAAY,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,aAAa,EACb,QAAQ,EACR,OAAO,GACR,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,4BAA4B,EAC5B,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAIlC,YAAY,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,YAAY,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AASlC,YAAY,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAOjE,YAAY,EACV,UAAU,EACV,UAAU,EACV,aAAa,GACd,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,YAAY,EACV,+BAA+B,EAC/B,yBAAyB,EACzB,4BAA4B,EAC5B,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAIzE,YAAY,EACV,0BAA0B,EAC1B,sBAAsB,EACtB,+BAA+B,EAC/B,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,EAClB,8BAA8B,EAC9B,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,wCAAwC,CAAC;AAChD,YAAY,EACV,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAK3E,YAAY,EACV,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AAMxC,YAAY,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EACL,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AAOzC,YAAY,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAI1E,YAAY,EACV,gCAAgC,EAChC,mCAAmC,GACpC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAI1F,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAU7D,YAAY,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAInE,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAK9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAClF,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAGtF,YAAY,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAG1E,YAAY,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,YAAY,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,YAAY,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAI3E,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AASrE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,YAAY,EACV,+BAA+B,EAC/B,kCAAkC,GACnC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,YAAY,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,YAAY,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAClG,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAOhF,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,qBAAqB,EACrB,+BAA+B,EAC/B,gBAAgB,EAChB,kCAAkC,EAClC,yBAAyB,EACzB,iBAAiB,EACjB,WAAW,EACX,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kCAAkC,EAClC,OAAO,EACP,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,YAAY,EACV,aAAa,EACb,aAAa,GACd,MAAM,iCAAiC,CAAC;AAKzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAI1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAM7E,YAAY,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAStF,YAAY,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAI3F,YAAY,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAM5E,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAGlD,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,4BAA4B,EAC5B,mBAAmB,EACnB,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,8BAA8B,EAC9B,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAK1D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AASxD,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,GAChB,MAAM,iCAAiC,CAAC;AAgBzC,OAAO,EACL,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AAOjF,OAAO,EACL,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAOjE,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAetE,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAW9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EACL,oBAAoB,EACpB,8BAA8B,GAC/B,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAKtE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EACL,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAK9B,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAIlF,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAI7E,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,YAAY,GACb,MAAM,uBAAuB,CAAC;AAK/B,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAWhE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,YAAY,EACV,eAAe,EACf,4BAA4B,EAC5B,eAAe,EACf,gBAAgB,GACjB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAIrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,YAAY,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAMvE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAKjG,OAAO,EAAE,mCAAmC,EAAE,MAAM,gDAAgD,CAAC;AACrG,YAAY,EACV,wBAAwB,EAKxB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EAKxB,qBAAqB,GACtB,MAAM,4CAA4C,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AAcpC,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,0BAA0B,EAC1B,sBAAsB,EACtB,aAAa,GACd,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAMzD,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AAS9E,OAAO,EACL,4BAA4B,EAC5B,eAAe,EACf,gBAAgB,IAAI,sCAAsC,GAC3D,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,0BAA0B,EAC1B,+BAA+B,EAC/B,iCAAiC,GAClC,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAQrE,YAAY,EACV,cAAc,EACd,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,0CAA0C,CAAC;AAOlD,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -53,6 +53,7 @@ export { ALL_ORGANIZATIONS } from "./extensions/organization-directory.js";
|
|
|
53
53
|
export { relaxedEgressPolicy, strictEgressPolicy, } from "./extensions/outbound-egress.js";
|
|
54
54
|
export { DuplicateAccountError } from "./domain/identityaccount/store.js";
|
|
55
55
|
export { identityAccountStoreContract } from "./domain/identityaccount/store-contract.js";
|
|
56
|
+
export { portContractCases } from "./store/port-contract.js";
|
|
56
57
|
export { DuplicatePolicyError } from "./domain/iampolicy/store.js";
|
|
57
58
|
export { iamPolicyStoreContract } from "./domain/iampolicy/store-contract.js";
|
|
58
59
|
// The owner rule's refusal, the one sentence every door that grants the
|
|
@@ -61,6 +62,10 @@ export { iamPolicyStoreContract } from "./domain/iampolicy/store-contract.js";
|
|
|
61
62
|
// owner invitation).
|
|
62
63
|
export { OWNER_ASSIGNMENT_DENIED_MESSAGE } from "./domain/iampolicy/constants.js";
|
|
63
64
|
export { identityIdForSubject } from "./domain/identityaccount/resolve.js";
|
|
65
|
+
// The derived id of the account under a subject. An edition's own per-org
|
|
66
|
+
// system accounts take the id of their own subject, so the primary key holds
|
|
67
|
+
// one row per subject there as it does for every account the library mints.
|
|
68
|
+
export { accountIdFor } from "./domain/identityaccount/constants.js";
|
|
64
69
|
export { DuplicatePlatformClientError } from "./domain/platformclient/store.js";
|
|
65
70
|
export { platformClientStoreContract } from "./domain/platformclient/store-contract.js";
|
|
66
71
|
export { newSystemManagedPlatformClient } from "./domain/platformclient/system-managed.js";
|
|
@@ -90,9 +95,9 @@ export { createErrorBoundaryInterceptor } from "./pipeline/interceptors/error-bo
|
|
|
90
95
|
// derives the creation event from the kind's `kind_meta` exactly as the
|
|
91
96
|
// shared CreateAuthorizationTuples step does, so the driver sees one shape
|
|
92
97
|
// whichever chain created the row.
|
|
93
|
-
export { diffVisibilityShapes, resolveResourceCreatedEvent, visibilityShapesFor, } from "./pipeline/steps/authorization-tuples.js";
|
|
98
|
+
export { diffVisibilityShapes, executionAudienceShapes, resolveResourceCreatedEvent, visibilityShapesFor, } from "./pipeline/steps/authorization-tuples.js";
|
|
94
99
|
export { RequestContext } from "./pipeline/request-context.js";
|
|
95
|
-
export { abortedError, alreadyExistsError, alreadyExistsWithReasonError, ERROR_REASON_DOMAIN, failedPreconditionError, internalError, invalidArgumentError, notFoundError, unavailableError, } from "./pipeline/errors.js";
|
|
100
|
+
export { abortedError, alreadyExistsError, alreadyExistsWithReasonError, ERROR_REASON_DOMAIN, failedPreconditionError, internalError, invalidArgumentError, notFoundError, unauthenticatedWithReasonError, unavailableError, } from "./pipeline/errors.js";
|
|
96
101
|
// The shared slug derivation (C2 Stage 3): extension-registered resource
|
|
97
102
|
// kinds derive slugs with the SAME generator both editions pin
|
|
98
103
|
// (ApiRequestResourceSlugGenerator parity) — the semantics live exactly
|
|
@@ -102,7 +107,11 @@ export { generateSlug } from "./pipeline/steps/slug.js";
|
|
|
102
107
|
// composing requests through the in-process transport AS a caller rides
|
|
103
108
|
// the same header the OSS asCaller adapters use. (callerIdentityOf and
|
|
104
109
|
// callerIdentityKey ride the request-idiom export block below.)
|
|
105
|
-
|
|
110
|
+
// serverActingFor is the one construction of "the server acting for" a
|
|
111
|
+
// principal: an extension that writes on a person's behalf (an invitation,
|
|
112
|
+
// a deleted team's cleanup) sends it so the write names that person while
|
|
113
|
+
// the server's own admission rules apply.
|
|
114
|
+
export { encodeInProcessCaller, IN_PROCESS_CALLER_HEADER, serverActingFor, } from "./pipeline/interceptors/auth.js";
|
|
106
115
|
// The request idiom for extension-REGISTERED services (C4 Stage 4): a
|
|
107
116
|
// service contributed through ServerExtension.services runs the same
|
|
108
117
|
// chain shape every OSS controller runs — identity read once
|
|
@@ -133,10 +142,10 @@ export { createVerifierChainInterceptor } from "./pipeline/interceptors/auth.js"
|
|
|
133
142
|
export { authenticateBearerToken, parseBearerToken, } from "./pipeline/interceptors/auth.js";
|
|
134
143
|
export { newPipeline } from "./pipeline/pipeline.js";
|
|
135
144
|
export { newAuthorizeStep } from "./pipeline/steps/authorize.js";
|
|
136
|
-
// The run gate's check set
|
|
137
|
-
//
|
|
138
|
-
//
|
|
139
|
-
//
|
|
145
|
+
// The run gate's check set: an edition's Authorizer keys its lane
|
|
146
|
+
// admission on this predicate — the runtime lanes it mints (a guest
|
|
147
|
+
// share, a channel, a schedule fire) were admitted upstream by their own
|
|
148
|
+
// gate steps and are not re-asked here.
|
|
140
149
|
// OSS defines the gate, so OSS defines which checks are the gate; a
|
|
141
150
|
// composition never re-derives the set.
|
|
142
151
|
export { isRunGateCheck } from "./pipeline/steps/authorize-run-target.js";
|
|
@@ -151,8 +160,11 @@ export { newValidateProtoStep } from "./pipeline/steps/validation.js";
|
|
|
151
160
|
// constructor argument) for BuildNewState to pick the id prefix.
|
|
152
161
|
// CheckDuplicate is deliberately not here: it reads this server's Store,
|
|
153
162
|
// and a composition's own table answers that question in a step of the
|
|
154
|
-
// same name over its own repo.
|
|
155
|
-
|
|
163
|
+
// same name over its own repo. BuildNewState replaces any id a request
|
|
164
|
+
// carries (stigmer/stigmer#1266); a composition step that derives a
|
|
165
|
+
// create's id before it runs claims that id with assignServerId, the one
|
|
166
|
+
// way an id survives the step.
|
|
167
|
+
export { assignServerId, newBuildNewStateStep, SERVER_ASSIGNED_ID_KEY, } from "./pipeline/steps/defaults.js";
|
|
156
168
|
export { newResolveSlugStep } from "./pipeline/steps/slug.js";
|
|
157
169
|
// The update and reference-read steps for the same kinds, on the same
|
|
158
170
|
// terms. An update runs BuildUpdateState after the composition's own
|
|
@@ -170,6 +182,10 @@ export { loadedTargetAsMethod, newAuthorizeResolvedTargetStep, } from "./pipelin
|
|
|
170
182
|
export { TARGET_RESOURCE_KEY } from "./pipeline/steps/load-target.js";
|
|
171
183
|
export { AuditNotFoundError, ResourceNotFoundError, } from "./store/interface.js";
|
|
172
184
|
export { ORGANIZATION_SLUG_RESERVED } from "./domain/organization/slug-ledger.js";
|
|
185
|
+
// The API-key verifier's refusal of a key created before sign-in was
|
|
186
|
+
// turned on (stigmer/stigmer#1169): a client branches on the reason, not
|
|
187
|
+
// the copy.
|
|
188
|
+
export { API_KEY_CREATED_BEFORE_SIGN_IN } from "./domain/apikey/verifier.js";
|
|
173
189
|
// The Postgres driver constructor (stigmer-cloud 20260910.04 ruling 4;
|
|
174
190
|
// the newR2ArtifactStorage precedent for blessing a driver constructor).
|
|
175
191
|
// A composition that runs its own schema chain in the SAME database as
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,wCAAwC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|