@stigmer/server 3.15.3-dev.20260914121148 → 3.15.3-dev.20260916211208
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/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 +157 -32
- 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 +62 -20
- 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/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 +26 -0
- package/dist/domain/identityaccount/actor.d.ts.map +1 -0
- package/dist/domain/identityaccount/actor.js +17 -0
- package/dist/domain/identityaccount/actor.js.map +1 -0
- 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/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 +101 -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/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/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/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-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/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/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__/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/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 +91 -0
- package/src/authorization/store-test-kit.ts +454 -0
- package/src/authorization/tuples.ts +190 -0
- package/src/boot/compose.ts +175 -38
- package/src/boot/inprocess.ts +108 -30
- package/src/domain/agent/controller.ts +11 -0
- 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/actor.ts +44 -0
- package/src/domain/mcpserver/controller.ts +11 -0
- 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 +681 -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 +149 -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/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 +35 -0
- 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/index.ts +51 -1
- package/src/pipeline/__tests__/router-transport.test.ts +1 -3
- package/src/pipeline/apiresource-labels.ts +31 -3
- 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 +3 -9
- 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-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/temporal/schedule/__tests__/run-starter.test.ts +86 -24
- package/src/temporal/schedule/run-starter.ts +31 -8
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-starter.js","sourceRoot":"","sources":["../../../src/temporal/schedule/run-starter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6DAA6D,CAAC;AAEnG,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,8DAA8D,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AAC5F,OAAO,EACL,WAAW,EACX,YAAY,GACb,MAAM,8DAA8D,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AAGvF,OAAO,EAAE,OAAO,EAAE,MAAM,uDAAuD,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;AACtH,OAAO,EAAE,yBAAyB,EAAE,MAAM,4DAA4D,CAAC;AAKvG,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AA0B9D;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,kBAA0B,EAC1B,eAAqB;IAErB,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACrE,OAAO,GAAG,MAAM,IAAI,qBAAqB,CAAC,eAAe,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,4EAA4E;AAC5E,SAAS,qBAAqB,CAAC,OAAa;IAC1C,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,OAAO,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC;AACxE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAkB,EAClB,eAAqB;IAErB,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;IAChD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;IAC1D,OAAO,GAAG,WAAW,6BAA6B,SAAS,KAAK,QAAQ,IAAI,CAAC;AAC/E,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CACtB,aAAqB,EACrB,OAAa;IAEb,IAAI,IAAI,GAAG,aAAa,CAAC;IACzB,IAAI,KAAgC,CAAC;IACrC,IAAI,CAAC;QACH,KAAK,GAAG,oBAAoB,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAChF,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,IAAI,GAAG,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,KAAK,CAAC;QACb,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,IAAqC,EAAU,EAAE,CAC5D,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;IACxD,MAAM,SAAS,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IACpH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QACtC,QAAQ;QACR,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,IAAU;IAQ1B,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,KAAa,EAAU,EAAE,CACnD,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACnC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC9B,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAChC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACpC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,QAAkB;IACtC,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO;QAC3C,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;QAC5B,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAWD,MAAM,OAAO,UAAU;IACQ;IAA7B,YAA6B,IAAoB;QAApB,SAAI,GAAJ,IAAI,CAAgB;IAAG,CAAC;IAErD;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CACZ,QAAkB,EAClB,eAAqB;QAErB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QACpC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;QAEzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;gBAC/C,WAAW,EAAE,UAAU;gBACvB,MAAM,EAAE,QAAQ,CAAC,aAAa;aAC/B,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAC;QACnE,CAAC;QAED,+DAA+D;QAC/D,uEAAuE;QACvE,oEAAoE;QACpE,mEAAmE;QACnE,mEAAmE;QACnE,0CAA0C;QAC1C,MAAM,cAAc,GAAG,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE;gBAClE,WAAW,EAAE,UAAU;gBACvB,MAAM,EAAE,cAAc;aACvB,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QACrD,CAAC;QAED,MAAM,aAAa,GAAG,sBAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAE1E,mEAAmE;QACnE,qEAAqE;QACrE,qEAAqE;QACrE,4DAA4D;QAC5D,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,kBAAkB,CACjC,KAAK,EACL,eAAe,CAAC,eAAe,EAC/B,oBAAoB,EACpB,aAAa,EACb,GAAG,CACJ,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oEAAoE;YACpE,yDAAyD;YACzD,MAAM,IAAI,KAAK,CACb,qBAAqB,aAAa,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAC/F,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,4DAA4D,EAAE;gBACxE,WAAW,EAAE,UAAU;gBACvB,YAAY,EAAE,WAAW;aAC1B,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACzD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAChE,CAAC;QAED,sEAAsE;QACtE,oEAAoE;QACpE,wDAAwD;QACxD,oEAAoE;QACpE,2DAA2D;QAC3D,IAAI,UAAsC,CAAC;QAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CACxD,GAAG,EACH,UAAU,CACX,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb,iCAAiC,UAAU,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACxG,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,OAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CACzC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,eAAe,CAAC,EACpF,UAAU,CACX,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC,EAAE,CAAC;gBACrC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;oBACxB,4DAA4D;oBAC5D,+DAA+D;oBAC/D,iEAAiE;oBACjE,0DAA0D;oBAC1D,IAAI,MAAM,CAAC;oBACX,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,kBAAkB,CAC/B,KAAK,EACL,eAAe,CAAC,eAAe,EAC/B,oBAAoB,EACpB,aAAa,EACb,GAAG,CACJ,CAAC;oBACJ,CAAC;oBAAC,OAAO,SAAS,EAAE,CAAC;wBACnB,MAAM,IAAI,KAAK,CACb,oDAAoD,aAAa,KAAK,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAC1I,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;oBACJ,CAAC;oBACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACzB,MAAM,IAAI,KAAK,CACb,oDAAoD,aAAa,KAAK,KAAK,CAAC,OAAO,EAAE,EACrF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;oBACJ,CAAC;oBACD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;oBAC9C,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;oBACzD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;gBAChE,CAAC;gBACD,KAAK,IAAI,CAAC,kBAAkB,CAAC;gBAC7B,KAAK,IAAI,CAAC,gBAAgB,CAAC;gBAC3B,KAAK,IAAI,CAAC,QAAQ,CAAC;gBACnB,KAAK,IAAI,CAAC,eAAe,CAAC;gBAC1B,KAAK,IAAI,CAAC,iBAAiB;oBACzB,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE;wBACrD,WAAW,EAAE,UAAU;wBACvB,GAAG;wBACH,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACtB,MAAM,EAAE,KAAK,CAAC,UAAU;qBACzB,CAAC,CAAC;oBACH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;gBACvD;oBACE,MAAM,KAAK,CAAC;YAChB,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;QAC/C,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACzD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,kBAAkB,CAC9B,QAAkB;QAElB,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;QAC7C,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAE,CAAC;QAC3D,CAAC;QACD,IAAI,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;QACzB,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACf,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,KAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,kBAAkB,CAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,EACf,eAAe,CAAC,KAAK,EACrB,WAAW,EACX,IAAI,EACJ,GAAG,CACJ,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,wBAAwB,GAAG,IAAI,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAChG,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,qEAAqE;YACrE,mEAAmE;YACnE,kBAAkB;YAClB,OAAO,EAAE,aAAa,EAAE,gBAAgB,GAAG,IAAI,IAAI,YAAY,EAAE,CAAC;QACpE,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IAED;;;;;;;;OAQG;IACK,qBAAqB,CAC3B,QAAkB,EAClB,KAAY,EACZ,aAAqB,EACrB,eAAqB;QAErB,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,UAAU,EAAE,SAAS,CAAC;QAExC,MAAM,eAAe,GAAG,MAAM,CAAC,qBAAqB,EAAE;YACpD,YAAY,EAAE,YAAY,CAAC,UAAU;YACrC,mEAAmE;YACnE,+DAA+D;YAC/D,oEAAoE;YACpE,+DAA+D;YAC/D,YAAY;YACZ,aAAa,EAAE,eAAe,CAC5B,SAAS,EAAE,aAAa,IAAI,CAAC,EAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAC/C;YACD,UAAU,EAAE,eAAe,CACzB,SAAS,EAAE,UAAU,IAAI,CAAC,EAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAC5C;SACF,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACjB,eAAe,CAAC,SAAS,GAAG,KAAK,CAAC;QACpC,CAAC;QACD,oEAAoE;QACpE,iEAAiE;QACjE,gEAAgE;QAChE,0CAA0C;QAC1C,IACE,SAAS,KAAK,SAAS;YACvB,SAAS,CAAC,WAAW,KAAK,WAAW,CAAC,WAAW,EACjD,CAAC;YACD,eAAe,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACtD,CAAC;QACD,uEAAuE;QACvE,sEAAsE;QACtE,8BAA8B;QAC9B,IACE,SAAS,KAAK,SAAS;YACvB,SAAS,CAAC,YAAY,KAAK,YAAY,CAAC,WAAW,EACnD,CAAC;YACD,eAAe,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;QACxD,CAAC;QAED,kEAAkE;QAClE,qEAAqE;QACrE,uEAAuE;QACvE,oEAAoE;QACpE,sEAAsE;QACtE,qCAAqC;QACrC,MAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,EAAE;YAC5C,OAAO,EAAE,sBAAsB,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;YACjE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,IAAI,EAAE;SACrD,CAAC,CAAC;QACH,IACE,UAAU,KAAK,SAAS;YACxB,UAAU,CAAC,OAAO,KAAK,OAAO,CAAC,WAAW,EAC1C,CAAC;YACD,WAAW,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAC3C,CAAC;QAED,OAAO,MAAM,CAAC,oBAAoB,EAAE;YAClC,UAAU,EAAE,uBAAuB;YACnC,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,MAAM,CAAC,yBAAyB,EAAE;gBAC1C,IAAI,EAAE,aAAa;gBACnB,mEAAmE;gBACnE,iEAAiE;gBACjE,mEAAmE;gBACnE,yBAAyB;gBACzB,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE;gBACjC,gDAAgD;gBAChD,0DAA0D;gBAC1D,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE;aACjE,CAAC;YACF,IAAI,EAAE,MAAM,CAAC,wBAAwB,EAAE;gBACrC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE;gBACjC,OAAO,EAAE,cAAc,CAAC,QAAQ,EAAE,eAAe,CAAC;gBAClD,WAAW;gBACX,eAAe;aAChB,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,oBAAoB,CAChC,UAAkB,EAClB,WAAmB;QAEnB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAClC,eAAe,CAAC,QAAQ,EACxB,UAAU,EACV,cAAc,EACd,CAAC,IAAI,EAAE,EAAE;gBACP,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,CAAC,eAAe,GAAG,WAAW,CAAC;gBACrC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;gBAC3C,OAAO,CAAC,qCAAqC;YAC/C,CAAC;YACD,MAAM,IAAI,KAAK,CACb,uCAAuC,UAAU,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAC9G,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,QAAgB;IAC7D,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC"}
|
|
1
|
+
{"version":3,"file":"run-starter.js","sourceRoot":"","sources":["../../../src/temporal/schedule/run-starter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stigmer/server",
|
|
3
|
-
"version": "3.15.3-dev.
|
|
3
|
+
"version": "3.15.3-dev.20260916211208",
|
|
4
4
|
"description": "The Stigmer OSS control plane as a composable library: composeServer, the extension registry and the driver seams a composition builds on. The self-contained deployable of the same server is @stigmer/server-slim.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -62,9 +62,10 @@
|
|
|
62
62
|
"@connectrpc/connect-node": "^2.0.0",
|
|
63
63
|
"@kubernetes/client-node": "2.0.0",
|
|
64
64
|
"@opentelemetry/api": "^1.9.0",
|
|
65
|
-
"@stigmer/
|
|
66
|
-
"@stigmer/
|
|
67
|
-
"@stigmer/
|
|
65
|
+
"@stigmer/plugin-package": "3.15.3-dev.20260916211208",
|
|
66
|
+
"@stigmer/protos": "3.15.3-dev.20260916211208",
|
|
67
|
+
"@stigmer/temporal-codecs": "3.15.3-dev.20260916211208",
|
|
68
|
+
"@stigmer/zip-structure": "3.15.3-dev.20260916211208",
|
|
68
69
|
"@temporalio/activity": "1.16.2",
|
|
69
70
|
"@temporalio/client": "1.16.2",
|
|
70
71
|
"@temporalio/common": "1.16.2",
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pins the shared archive plumbing on its own, apart from the skill gate
|
|
3
|
+
* that composes it: the structural walk's sentences and their order, the
|
|
4
|
+
* capped inflate's typed outcomes, the writer's determinism (the same
|
|
5
|
+
* files twice are byte-equal, entry order is irrelevant, the result reads
|
|
6
|
+
* back through the server's own reader), and the content-addressed
|
|
7
|
+
* store's key shape and traversal collapse under a second prefix. The
|
|
8
|
+
* skill gate's zip-gate.test.ts proves the composition keeps its pinned
|
|
9
|
+
* copy; this file proves the pieces a plugin builds on.
|
|
10
|
+
*/
|
|
11
|
+
import { mkdtempSync, rmSync } from "node:fs";
|
|
12
|
+
import { tmpdir } from "node:os";
|
|
13
|
+
import path from "node:path";
|
|
14
|
+
|
|
15
|
+
import { afterEach, beforeEach, describe, expect, it } from "vitest";
|
|
16
|
+
|
|
17
|
+
import { parseZipStructure } from "@stigmer/zip-structure";
|
|
18
|
+
import { buildZip } from "@stigmer/zip-structure/testing";
|
|
19
|
+
|
|
20
|
+
import { LocalArtifactStorage } from "../../artifactstorage/artifact-storage.js";
|
|
21
|
+
import {
|
|
22
|
+
ArtifactNotFoundError,
|
|
23
|
+
newContentAddressedArchiveStore,
|
|
24
|
+
} from "../content-store.js";
|
|
25
|
+
import { InflateError, inflateEntry } from "../inflate.js";
|
|
26
|
+
import { PLATFORM_ARCHIVE_LIMITS } from "../limits.js";
|
|
27
|
+
import {
|
|
28
|
+
calculateHash,
|
|
29
|
+
openArchive,
|
|
30
|
+
validateArchiveStructure,
|
|
31
|
+
} from "../open.js";
|
|
32
|
+
import { writeArchive } from "../write.js";
|
|
33
|
+
|
|
34
|
+
const encoder = new TextEncoder();
|
|
35
|
+
|
|
36
|
+
describe("openArchive", () => {
|
|
37
|
+
it("hashes the bytes and pre-filters the entries", () => {
|
|
38
|
+
const zip = buildZip([{ name: "./a/../plugin.json", content: "{}" }]);
|
|
39
|
+
const opened = openArchive(zip);
|
|
40
|
+
expect(opened.hash).toBe(calculateHash(zip));
|
|
41
|
+
expect(opened.entries.map((e) => e.name)).toEqual(["plugin.json"]);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it("refuses an over-limit archive before parsing, naming the limit", () => {
|
|
45
|
+
expect(() => openArchive(new Uint8Array(11), 10)).toThrow(
|
|
46
|
+
"ZIP file too large: 11 bytes (max: 10)",
|
|
47
|
+
);
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it("refuses bytes that are not a zip with the stdlib text", () => {
|
|
51
|
+
expect(() => openArchive(encoder.encode("not a zip"))).toThrow(
|
|
52
|
+
"invalid ZIP file: zip: not a valid zip file",
|
|
53
|
+
);
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
describe("validateArchiveStructure", () => {
|
|
58
|
+
it("refuses an empty archive first", () => {
|
|
59
|
+
expect(() => validateArchiveStructure([], PLATFORM_ARCHIVE_LIMITS)).toThrow(
|
|
60
|
+
"ZIP file is empty",
|
|
61
|
+
);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
it("refuses too many files, then a control character, then the budget", () => {
|
|
65
|
+
const one = openArchive(buildZip([{ name: "a", content: "x" }])).entries;
|
|
66
|
+
expect(() =>
|
|
67
|
+
validateArchiveStructure(one, {
|
|
68
|
+
...PLATFORM_ARCHIVE_LIMITS,
|
|
69
|
+
maxFiles: 0,
|
|
70
|
+
}),
|
|
71
|
+
).toThrow("too many files in ZIP: 1 (max: 0)");
|
|
72
|
+
|
|
73
|
+
const control = openArchive(
|
|
74
|
+
buildZip([{ name: "bad\u0001name", content: "x" }]),
|
|
75
|
+
).entries;
|
|
76
|
+
expect(() =>
|
|
77
|
+
validateArchiveStructure(control, PLATFORM_ARCHIVE_LIMITS),
|
|
78
|
+
).toThrow("invalid character in filename: bad\u0001name");
|
|
79
|
+
|
|
80
|
+
const big = openArchive(
|
|
81
|
+
buildZip([{ name: "a", content: "x".repeat(64) }]),
|
|
82
|
+
).entries;
|
|
83
|
+
expect(() =>
|
|
84
|
+
validateArchiveStructure(big, {
|
|
85
|
+
...PLATFORM_ARCHIVE_LIMITS,
|
|
86
|
+
maxUncompressedSize: 10,
|
|
87
|
+
}),
|
|
88
|
+
).toThrow("total uncompressed size too large: 64 bytes (max: 10)");
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
it("hands every sanitised name to the observer in order", () => {
|
|
92
|
+
const entries = openArchive(
|
|
93
|
+
buildZip([
|
|
94
|
+
{ name: "skills/x/SKILL.md", content: "---\nname: x\n---" },
|
|
95
|
+
{ name: "plugin.json", content: "{}" },
|
|
96
|
+
]),
|
|
97
|
+
).entries;
|
|
98
|
+
const seen: string[] = [];
|
|
99
|
+
validateArchiveStructure(entries, PLATFORM_ARCHIVE_LIMITS, (name) =>
|
|
100
|
+
seen.push(name),
|
|
101
|
+
);
|
|
102
|
+
expect(seen).toEqual(["skills/x/SKILL.md", "plugin.json"]);
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
describe("inflateEntry", () => {
|
|
107
|
+
it("returns stored and deflated payloads under the cap", () => {
|
|
108
|
+
const zip = buildZip([
|
|
109
|
+
{ name: "s", content: "stored" },
|
|
110
|
+
{ name: "d", content: "deflated".repeat(20), method: "deflated" },
|
|
111
|
+
]);
|
|
112
|
+
const [stored, deflated] = parseZipStructure(zip);
|
|
113
|
+
expect(new TextDecoder().decode(inflateEntry(stored!, 1024))).toBe(
|
|
114
|
+
"stored",
|
|
115
|
+
);
|
|
116
|
+
expect(new TextDecoder().decode(inflateEntry(deflated!, 1024))).toBe(
|
|
117
|
+
"deflated".repeat(20),
|
|
118
|
+
);
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
it("refuses output past the cap as too-large, judged on the real bytes", () => {
|
|
122
|
+
const zip = buildZip([
|
|
123
|
+
{ name: "d", content: "a".repeat(4096), method: "deflated" },
|
|
124
|
+
]);
|
|
125
|
+
const [entry] = parseZipStructure(zip);
|
|
126
|
+
let failure: InflateError | undefined;
|
|
127
|
+
try {
|
|
128
|
+
inflateEntry(entry!, 100);
|
|
129
|
+
} catch (error) {
|
|
130
|
+
failure = error instanceof InflateError ? error : undefined;
|
|
131
|
+
}
|
|
132
|
+
expect(failure?.kind).toBe("too-large");
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
it("refuses a corrupt payload as a checksum failure", () => {
|
|
136
|
+
const zip = buildZip([{ name: "s", content: "hello" }]);
|
|
137
|
+
const [entry] = parseZipStructure(zip);
|
|
138
|
+
const corrupted = { ...entry!, compressedData: encoder.encode("jello") };
|
|
139
|
+
let failure: InflateError | undefined;
|
|
140
|
+
try {
|
|
141
|
+
inflateEntry(corrupted, 1024);
|
|
142
|
+
} catch (error) {
|
|
143
|
+
failure = error instanceof InflateError ? error : undefined;
|
|
144
|
+
}
|
|
145
|
+
expect(failure?.kind).toBe("checksum");
|
|
146
|
+
expect(failure?.detail).toBe("zip: checksum error");
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
it("refuses a compression method the platform does not register", () => {
|
|
150
|
+
const zip = buildZip([{ name: "s", content: "hello" }]);
|
|
151
|
+
const [entry] = parseZipStructure(zip);
|
|
152
|
+
const bzip2 = { ...entry!, compressionMethod: 12 };
|
|
153
|
+
expect(() => inflateEntry(bzip2, 1024)).toThrow(
|
|
154
|
+
"unsupported-method: zip: unsupported compression algorithm",
|
|
155
|
+
);
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
describe("writeArchive", () => {
|
|
160
|
+
const files = [
|
|
161
|
+
{
|
|
162
|
+
path: "skills/x/SKILL.md",
|
|
163
|
+
bytes: encoder.encode("---\nname: x\n---\nbody"),
|
|
164
|
+
},
|
|
165
|
+
{ path: "plugin.json", bytes: encoder.encode('{"name":"x"}') },
|
|
166
|
+
];
|
|
167
|
+
|
|
168
|
+
it("is byte-deterministic and independent of entry order", () => {
|
|
169
|
+
const first = writeArchive(files);
|
|
170
|
+
const second = writeArchive([...files].reverse());
|
|
171
|
+
expect(Buffer.from(first).equals(Buffer.from(second))).toBe(true);
|
|
172
|
+
expect(calculateHash(first)).toBe(calculateHash(second));
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
it("round-trips through the server's own reader", () => {
|
|
176
|
+
const opened = openArchive(writeArchive(files));
|
|
177
|
+
expect(opened.entries.map((e) => e.name)).toEqual([
|
|
178
|
+
"plugin.json",
|
|
179
|
+
"skills/x/SKILL.md",
|
|
180
|
+
]);
|
|
181
|
+
const skill = opened.entries.find((e) => e.name === "skills/x/SKILL.md")!;
|
|
182
|
+
expect(new TextDecoder().decode(inflateEntry(skill.entry, 1024))).toBe(
|
|
183
|
+
"---\nname: x\n---\nbody",
|
|
184
|
+
);
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
it("refuses a path listed twice", () => {
|
|
188
|
+
expect(() => writeArchive([files[0]!, files[0]!])).toThrow(
|
|
189
|
+
"archive path 'skills/x/SKILL.md' listed twice",
|
|
190
|
+
);
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
describe("newContentAddressedArchiveStore", () => {
|
|
195
|
+
let dir: string;
|
|
196
|
+
beforeEach(() => {
|
|
197
|
+
dir = mkdtempSync(path.join(tmpdir(), "archive-store-test-"));
|
|
198
|
+
});
|
|
199
|
+
afterEach(() => {
|
|
200
|
+
rmSync(dir, { recursive: true, force: true });
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
it("keys under its prefix and round-trips bytes", async () => {
|
|
204
|
+
const store = newContentAddressedArchiveStore(
|
|
205
|
+
new LocalArtifactStorage(dir, ""),
|
|
206
|
+
"plugins/",
|
|
207
|
+
);
|
|
208
|
+
const hash = "a".repeat(64);
|
|
209
|
+
expect(store.getStorageKey(hash)).toBe(`plugins/${hash}.zip`);
|
|
210
|
+
expect(await store.exists(hash)).toBe(false);
|
|
211
|
+
const key = await store.store(hash, encoder.encode("zip"));
|
|
212
|
+
expect(key).toBe(`plugins/${hash}.zip`);
|
|
213
|
+
expect(await store.exists(hash)).toBe(true);
|
|
214
|
+
expect(new TextDecoder().decode(await store.get(key))).toBe("zip");
|
|
215
|
+
expect(await store.size(key)).toBe(3);
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
it("collapses a traversal-shaped key and a missing key to one not-found", async () => {
|
|
219
|
+
const store = newContentAddressedArchiveStore(
|
|
220
|
+
new LocalArtifactStorage(dir, ""),
|
|
221
|
+
"plugins/",
|
|
222
|
+
);
|
|
223
|
+
await expect(store.get("../../etc/passwd")).rejects.toBeInstanceOf(
|
|
224
|
+
ArtifactNotFoundError,
|
|
225
|
+
);
|
|
226
|
+
await expect(store.get("plugins/missing.zip")).rejects.toBeInstanceOf(
|
|
227
|
+
ArtifactNotFoundError,
|
|
228
|
+
);
|
|
229
|
+
await expect(store.size("../x")).rejects.toThrow(
|
|
230
|
+
"artifact not found: ../x",
|
|
231
|
+
);
|
|
232
|
+
});
|
|
233
|
+
});
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
entryTypeBits,
|
|
16
16
|
hasWindowsShortFilenames,
|
|
17
17
|
sanitizePath,
|
|
18
|
-
} from "../
|
|
18
|
+
} from "../prefilter.js";
|
|
19
19
|
|
|
20
20
|
// versionMadeBy high byte 3 = Unix creator; POSIX mode rides the attribute
|
|
21
21
|
// high 16 bits (how zip writers encode symlinks and special files).
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The content-addressed archive store — a domain port over the one
|
|
3
|
+
* ArtifactStorage blob driver: keys are `<prefix><sha256>.zip`, writes are
|
|
4
|
+
* once and never garbage-collected (historical versions stay downloadable
|
|
5
|
+
* through the keys a version history exposes), and a key that addresses
|
|
6
|
+
* nothing inside the store collapses to one not-found before the driver
|
|
7
|
+
* sees it. Skills shipped this shape first
|
|
8
|
+
* (pkg/domain/skill/storage/artifact_storage.go, then the TS port under
|
|
9
|
+
* domain/skill/storage); plugins need the identical port under another
|
|
10
|
+
* prefix, so the implementation lives here and each domain names its
|
|
11
|
+
* instance (`skills/`, `plugins/`).
|
|
12
|
+
*
|
|
13
|
+
* Why the traversal guard is the port's, not the driver's: a
|
|
14
|
+
* client-supplied storage key that resolves outside the store must read
|
|
15
|
+
* exactly like a missing file — the driver's own containment refusal is a
|
|
16
|
+
* distinguishable error, and distinguishing them would tell a probing
|
|
17
|
+
* caller which escapes exist. Lexical, against a fixed virtual root, so
|
|
18
|
+
* the judgment is identical on every backend.
|
|
19
|
+
*
|
|
20
|
+
* Key shape: a LITERAL forward-slash join, never path.join — the key is a
|
|
21
|
+
* wire-visible identifier (status.artifact_storage_key, download URLs, the
|
|
22
|
+
* lane's prefix check) and Windows support arrives only through this server
|
|
23
|
+
* (#24); path.join would mint backslash keys there.
|
|
24
|
+
*
|
|
25
|
+
* Proven by the skill store's __tests__/artifact-storage.test.ts (the
|
|
26
|
+
* `skills/` instance) and by __tests__/content-store.test.ts.
|
|
27
|
+
*/
|
|
28
|
+
import path from "node:path";
|
|
29
|
+
|
|
30
|
+
import type { ArtifactStorage } from "../artifactstorage/artifact-storage.js";
|
|
31
|
+
import { ArtifactStorageNotFoundError } from "../artifactstorage/artifact-storage.js";
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Storage abstraction for content-addressed archives. The interface exists
|
|
35
|
+
* for the same reason Go's did: the cloud edition uses R2 behind the
|
|
36
|
+
* identical surface, and a controller must not know which one it holds.
|
|
37
|
+
*/
|
|
38
|
+
export interface ContentAddressedArchiveStore {
|
|
39
|
+
/** Saves an archive under its content hash; returns the storage key. */
|
|
40
|
+
store(hash: string, data: Uint8Array): Promise<string>;
|
|
41
|
+
/** Loads an archive by storage key; throws ArtifactNotFoundError if absent. */
|
|
42
|
+
get(storageKey: string): Promise<Uint8Array>;
|
|
43
|
+
/** Whether an archive with this content hash already exists (dedupe). */
|
|
44
|
+
exists(hash: string): Promise<boolean>;
|
|
45
|
+
/** The storage key for a hash, without storing ("<prefix><hash>.zip"). */
|
|
46
|
+
getStorageKey(hash: string): string;
|
|
47
|
+
/** The stored archive's byte size via stat — never loads content. */
|
|
48
|
+
size(storageKey: string): Promise<number>;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* A storage key that addresses nothing inside the store — missing file OR
|
|
53
|
+
* a traversal-shaped key (both render as Go's "artifact not found: %s").
|
|
54
|
+
*/
|
|
55
|
+
export class ArtifactNotFoundError extends Error {
|
|
56
|
+
constructor(storageKey: string) {
|
|
57
|
+
super(`artifact not found: ${storageKey}`);
|
|
58
|
+
this.name = "ArtifactNotFoundError";
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/** Archives are zip files; the driver stores the honest type. */
|
|
63
|
+
const ARCHIVE_CONTENT_TYPE = "application/zip";
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* The store over a blob driver. Object-literal factory rather than a class:
|
|
67
|
+
* all state is the captured driver and prefix, and the seam-adapter shape
|
|
68
|
+
* matches runner-credential-provider.ts (the house style for ports).
|
|
69
|
+
*
|
|
70
|
+
* `keyPrefix` ends with a slash (`skills/`); it is also the download lane's
|
|
71
|
+
* containment prefix, so the two agree by construction.
|
|
72
|
+
*/
|
|
73
|
+
export function newContentAddressedArchiveStore(
|
|
74
|
+
driver: ArtifactStorage,
|
|
75
|
+
keyPrefix: string,
|
|
76
|
+
): ContentAddressedArchiveStore {
|
|
77
|
+
const virtualRoot = path.resolve(path.sep, "archive-store");
|
|
78
|
+
const keyEscapesStore = (storageKey: string): boolean => {
|
|
79
|
+
const resolved = path.resolve(virtualRoot, storageKey);
|
|
80
|
+
return (
|
|
81
|
+
resolved !== virtualRoot && !resolved.startsWith(virtualRoot + path.sep)
|
|
82
|
+
);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
return {
|
|
86
|
+
getStorageKey(hash: string): string {
|
|
87
|
+
return `${keyPrefix}${hash}.zip`;
|
|
88
|
+
},
|
|
89
|
+
|
|
90
|
+
async store(hash: string, data: Uint8Array): Promise<string> {
|
|
91
|
+
const storageKey = this.getStorageKey(hash);
|
|
92
|
+
await driver.upload(storageKey, data, ARCHIVE_CONTENT_TYPE);
|
|
93
|
+
return storageKey;
|
|
94
|
+
},
|
|
95
|
+
|
|
96
|
+
async get(storageKey: string): Promise<Uint8Array> {
|
|
97
|
+
if (keyEscapesStore(storageKey)) {
|
|
98
|
+
throw new ArtifactNotFoundError(storageKey);
|
|
99
|
+
}
|
|
100
|
+
try {
|
|
101
|
+
return await driver.download(storageKey);
|
|
102
|
+
} catch (error) {
|
|
103
|
+
if (error instanceof ArtifactStorageNotFoundError) {
|
|
104
|
+
throw new ArtifactNotFoundError(storageKey);
|
|
105
|
+
}
|
|
106
|
+
throw new Error(
|
|
107
|
+
`failed to read artifact: ${error instanceof Error ? error.message : String(error)}`,
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
|
|
112
|
+
async exists(hash: string): Promise<boolean> {
|
|
113
|
+
return driver.exists(this.getStorageKey(hash));
|
|
114
|
+
},
|
|
115
|
+
|
|
116
|
+
async size(storageKey: string): Promise<number> {
|
|
117
|
+
if (keyEscapesStore(storageKey)) {
|
|
118
|
+
throw new ArtifactNotFoundError(storageKey);
|
|
119
|
+
}
|
|
120
|
+
try {
|
|
121
|
+
return await driver.size(storageKey);
|
|
122
|
+
} catch (error) {
|
|
123
|
+
if (error instanceof ArtifactStorageNotFoundError) {
|
|
124
|
+
throw new ArtifactNotFoundError(storageKey);
|
|
125
|
+
}
|
|
126
|
+
throw new Error(
|
|
127
|
+
`failed to stat artifact: ${error instanceof Error ? error.message : String(error)}`,
|
|
128
|
+
);
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reading one archive entry under a real cap. Declared sizes are client
|
|
3
|
+
* claims, so every gate that opens an entry bounds the ACTUAL inflated
|
|
4
|
+
* output (`maxOutputLength`), verifies the CRC the way Go's checksumReader
|
|
5
|
+
* does on every read, and opens only the two methods the platform
|
|
6
|
+
* registers (stored, deflated). The skill gate did this for SKILL.md alone;
|
|
7
|
+
* a plugin reads many documents through the same discipline, so the read
|
|
8
|
+
* lives here and each kind keeps its own sentences: the outcome is a typed
|
|
9
|
+
* failure, never prose, because the skill's copy is byte-pinned wire
|
|
10
|
+
* contract and a plugin's names a different document.
|
|
11
|
+
*
|
|
12
|
+
* Proven by __tests__/inflate.test.ts and, through composition, by the
|
|
13
|
+
* skill gate's zip-gate.test.ts.
|
|
14
|
+
*/
|
|
15
|
+
import { inflateRawSync } from "node:zlib";
|
|
16
|
+
|
|
17
|
+
import { crc32 } from "@stigmer/zip-structure";
|
|
18
|
+
import type { ZipStructuralEntry } from "@stigmer/zip-structure";
|
|
19
|
+
|
|
20
|
+
/** ZIP compression methods the gate can open (Go registers the same two). */
|
|
21
|
+
const METHOD_STORED = 0;
|
|
22
|
+
const METHOD_DEFLATED = 8;
|
|
23
|
+
|
|
24
|
+
export type InflateFailureKind =
|
|
25
|
+
/** The inflated output passed `maxSize`. */
|
|
26
|
+
| "too-large"
|
|
27
|
+
/** zlib refused the payload; `detail` carries its message. */
|
|
28
|
+
| "read-failed"
|
|
29
|
+
/** A compression method neither Go nor this gate registers. */
|
|
30
|
+
| "unsupported-method"
|
|
31
|
+
/** The inflated bytes do not match the entry's CRC. */
|
|
32
|
+
| "checksum";
|
|
33
|
+
|
|
34
|
+
/** A typed refusal; the kind that called maps it to its pinned sentence. */
|
|
35
|
+
export class InflateError extends Error {
|
|
36
|
+
constructor(
|
|
37
|
+
readonly kind: InflateFailureKind,
|
|
38
|
+
readonly detail: string,
|
|
39
|
+
) {
|
|
40
|
+
super(`${kind}: ${detail}`);
|
|
41
|
+
this.name = "InflateError";
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Inflates one entry to at most `maxSize` bytes and verifies its CRC.
|
|
47
|
+
* The cap bounds the actual output, not the declaration.
|
|
48
|
+
*/
|
|
49
|
+
export function inflateEntry(
|
|
50
|
+
entry: ZipStructuralEntry,
|
|
51
|
+
maxSize: number,
|
|
52
|
+
): Uint8Array {
|
|
53
|
+
let content: Uint8Array;
|
|
54
|
+
switch (entry.compressionMethod) {
|
|
55
|
+
case METHOD_STORED:
|
|
56
|
+
content = entry.compressedData;
|
|
57
|
+
break;
|
|
58
|
+
case METHOD_DEFLATED:
|
|
59
|
+
try {
|
|
60
|
+
content = new Uint8Array(
|
|
61
|
+
inflateRawSync(entry.compressedData, {
|
|
62
|
+
maxOutputLength: maxSize + 1,
|
|
63
|
+
}),
|
|
64
|
+
);
|
|
65
|
+
} catch (error) {
|
|
66
|
+
if (isOutputLengthError(error)) {
|
|
67
|
+
throw new InflateError(
|
|
68
|
+
"too-large",
|
|
69
|
+
`output exceeds ${maxSize} bytes`,
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
throw new InflateError(
|
|
73
|
+
"read-failed",
|
|
74
|
+
error instanceof Error ? error.message : String(error),
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
break;
|
|
78
|
+
default:
|
|
79
|
+
// Go: File.Open returns ErrAlgorithm for methods without a registered
|
|
80
|
+
// decompressor; each kind pins the text via its own %w-shaped arm.
|
|
81
|
+
throw new InflateError(
|
|
82
|
+
"unsupported-method",
|
|
83
|
+
"zip: unsupported compression algorithm",
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (content.length > maxSize) {
|
|
88
|
+
throw new InflateError("too-large", `output exceeds ${maxSize} bytes`);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (crc32(content) !== entry.crc32) {
|
|
92
|
+
// Go's checksumReader: stdlib ErrChecksum via the read-error arm.
|
|
93
|
+
throw new InflateError("checksum", "zip: checksum error");
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
return content;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/** node:zlib's maxOutputLength violation (the output-cap arm). */
|
|
100
|
+
function isOutputLengthError(error: unknown): boolean {
|
|
101
|
+
return (
|
|
102
|
+
error instanceof Error &&
|
|
103
|
+
(("code" in error &&
|
|
104
|
+
(error as { code?: string }).code === "ERR_BUFFER_TOO_LARGE") ||
|
|
105
|
+
error.message.includes("maxOutputLength"))
|
|
106
|
+
);
|
|
107
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The platform's archive limits — one home for every ZIP-bomb budget the
|
|
3
|
+
* server applies to a pushed archive, whichever kind it becomes. Skills
|
|
4
|
+
* carried these alone until plugins arrived (also pushed as a ZIP); the
|
|
5
|
+
* values stay byte-pinned to the retired Go gate's (pkg/domain/skill/storage/
|
|
6
|
+
* zip_extractor.go), because every sentence quoting them is wire contract
|
|
7
|
+
* and the transfer lane refuses over-limit declarations by them before a
|
|
8
|
+
* byte moves.
|
|
9
|
+
*
|
|
10
|
+
* A per-kind cap that is NOT an archive budget (the 1 MB SKILL.md
|
|
11
|
+
* extraction cap) stays with its kind: it bounds one document, not the
|
|
12
|
+
* archive.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The compressed-archive ceiling. The platform's artifact size limit, not
|
|
17
|
+
* just an extraction guard: createArtifactUploadUrl enforces it before any
|
|
18
|
+
* bytes move and clients quote it in fail-loud size errors (#675).
|
|
19
|
+
*/
|
|
20
|
+
export const MAX_ZIP_SIZE = 100 * 1024 * 1024;
|
|
21
|
+
|
|
22
|
+
/** Total declared-uncompressed budget across all entries (ZIP-bomb guard). */
|
|
23
|
+
export const MAX_UNCOMPRESSED_SIZE = 500 * 1024 * 1024;
|
|
24
|
+
|
|
25
|
+
/** Per-file declared compression ratio ceiling (ZIP-bomb guard). */
|
|
26
|
+
export const MAX_COMPRESSION_RATIO = 100;
|
|
27
|
+
|
|
28
|
+
/** Entry-count ceiling. */
|
|
29
|
+
export const MAX_FILES = 10_000;
|
|
30
|
+
|
|
31
|
+
/** The budgets `validateArchiveStructure` applies; the platform's by default. */
|
|
32
|
+
export interface ArchiveLimits {
|
|
33
|
+
readonly maxFiles: number;
|
|
34
|
+
readonly maxUncompressedSize: number;
|
|
35
|
+
readonly maxCompressionRatio: number;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export const PLATFORM_ARCHIVE_LIMITS: ArchiveLimits = {
|
|
39
|
+
maxFiles: MAX_FILES,
|
|
40
|
+
maxUncompressedSize: MAX_UNCOMPRESSED_SIZE,
|
|
41
|
+
maxCompressionRatio: MAX_COMPRESSION_RATIO,
|
|
42
|
+
};
|