@xemahq/kernel-contracts 0.1.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/agent-composition/index.d.ts +7 -0
- package/dist/agent-composition/index.d.ts.map +1 -0
- package/dist/agent-composition/index.js +23 -0
- package/dist/agent-composition/index.js.map +1 -0
- package/dist/agent-composition/lib/capability-layer.d.ts +11 -0
- package/dist/agent-composition/lib/capability-layer.d.ts.map +1 -0
- package/dist/agent-composition/lib/capability-layer.js +10 -0
- package/dist/agent-composition/lib/capability-layer.js.map +1 -0
- package/dist/agent-composition/lib/composition-limits-schema.d.ts +4 -0
- package/dist/agent-composition/lib/composition-limits-schema.d.ts.map +1 -0
- package/dist/agent-composition/lib/composition-limits-schema.js +13 -0
- package/dist/agent-composition/lib/composition-limits-schema.js.map +1 -0
- package/dist/agent-composition/lib/composition-workspace.d.ts +35 -0
- package/dist/agent-composition/lib/composition-workspace.d.ts.map +1 -0
- package/dist/agent-composition/lib/composition-workspace.js +9 -0
- package/dist/agent-composition/lib/composition-workspace.js.map +1 -0
- package/dist/agent-composition/lib/composition.d.ts +66 -0
- package/dist/agent-composition/lib/composition.d.ts.map +1 -0
- package/dist/agent-composition/lib/composition.js +18 -0
- package/dist/agent-composition/lib/composition.js.map +1 -0
- package/dist/agent-composition/lib/intrinsic-floor.d.ts +15 -0
- package/dist/agent-composition/lib/intrinsic-floor.d.ts.map +1 -0
- package/dist/agent-composition/lib/intrinsic-floor.js +22 -0
- package/dist/agent-composition/lib/intrinsic-floor.js.map +1 -0
- package/dist/agent-composition/lib/model-resolution-matrix.d.ts +38 -0
- package/dist/agent-composition/lib/model-resolution-matrix.d.ts.map +1 -0
- package/dist/agent-composition/lib/model-resolution-matrix.js +12 -0
- package/dist/agent-composition/lib/model-resolution-matrix.js.map +1 -0
- package/dist/agent-workspace/awp-spec.json +225 -0
- package/dist/agent-workspace/index.d.ts +12 -0
- package/dist/agent-workspace/index.d.ts.map +1 -0
- package/dist/agent-workspace/index.js +28 -0
- package/dist/agent-workspace/index.js.map +1 -0
- package/dist/agent-workspace/lib/agent-run-context.d.ts +12 -0
- package/dist/agent-workspace/lib/agent-run-context.d.ts.map +1 -0
- package/dist/agent-workspace/lib/agent-run-context.js +3 -0
- package/dist/agent-workspace/lib/agent-run-context.js.map +1 -0
- package/dist/agent-workspace/lib/agent-tool-defaults.d.ts +21 -0
- package/dist/agent-workspace/lib/agent-tool-defaults.d.ts.map +1 -0
- package/dist/agent-workspace/lib/agent-tool-defaults.js +111 -0
- package/dist/agent-workspace/lib/agent-tool-defaults.js.map +1 -0
- package/dist/agent-workspace/lib/awp-v1.d.ts +15 -0
- package/dist/agent-workspace/lib/awp-v1.d.ts.map +1 -0
- package/dist/agent-workspace/lib/awp-v1.js +197 -0
- package/dist/agent-workspace/lib/awp-v1.js.map +1 -0
- package/dist/agent-workspace/lib/context-json.d.ts +35 -0
- package/dist/agent-workspace/lib/context-json.d.ts.map +1 -0
- package/dist/agent-workspace/lib/context-json.js +3 -0
- package/dist/agent-workspace/lib/context-json.js.map +1 -0
- package/dist/agent-workspace/lib/deliverable-spec-ref.d.ts +10 -0
- package/dist/agent-workspace/lib/deliverable-spec-ref.d.ts.map +1 -0
- package/dist/agent-workspace/lib/deliverable-spec-ref.js +33 -0
- package/dist/agent-workspace/lib/deliverable-spec-ref.js.map +1 -0
- package/dist/agent-workspace/lib/endpoint-fetch-spec.d.ts +31 -0
- package/dist/agent-workspace/lib/endpoint-fetch-spec.d.ts.map +1 -0
- package/dist/agent-workspace/lib/endpoint-fetch-spec.js +20 -0
- package/dist/agent-workspace/lib/endpoint-fetch-spec.js.map +1 -0
- package/dist/agent-workspace/lib/manifest.d.ts +28 -0
- package/dist/agent-workspace/lib/manifest.d.ts.map +1 -0
- package/dist/agent-workspace/lib/manifest.js +16 -0
- package/dist/agent-workspace/lib/manifest.js.map +1 -0
- package/dist/agent-workspace/lib/mount-apply.d.ts +42 -0
- package/dist/agent-workspace/lib/mount-apply.d.ts.map +1 -0
- package/dist/agent-workspace/lib/mount-apply.js +15 -0
- package/dist/agent-workspace/lib/mount-apply.js.map +1 -0
- package/dist/agent-workspace/lib/working-file.d.ts +20 -0
- package/dist/agent-workspace/lib/working-file.d.ts.map +1 -0
- package/dist/agent-workspace/lib/working-file.js +42 -0
- package/dist/agent-workspace/lib/working-file.js.map +1 -0
- package/dist/agent-workspace/lib/workspace-layout.d.ts +34 -0
- package/dist/agent-workspace/lib/workspace-layout.d.ts.map +1 -0
- package/dist/agent-workspace/lib/workspace-layout.js +31 -0
- package/dist/agent-workspace/lib/workspace-layout.js.map +1 -0
- package/dist/agent-workspace/lib/workspace-spec.d.ts +61 -0
- package/dist/agent-workspace/lib/workspace-spec.d.ts.map +1 -0
- package/dist/agent-workspace/lib/workspace-spec.js +19 -0
- package/dist/agent-workspace/lib/workspace-spec.js.map +1 -0
- package/dist/biome/index.d.ts +11 -0
- package/dist/biome/index.d.ts.map +1 -0
- package/dist/biome/index.js +27 -0
- package/dist/biome/index.js.map +1 -0
- package/dist/biome/lib/biome-api.d.ts +12 -0
- package/dist/biome/lib/biome-api.d.ts.map +1 -0
- package/dist/biome/lib/biome-api.js +14 -0
- package/dist/biome/lib/biome-api.js.map +1 -0
- package/dist/biome/lib/biome-capability-refs.d.ts +11 -0
- package/dist/biome/lib/biome-capability-refs.d.ts.map +1 -0
- package/dist/biome/lib/biome-capability-refs.js +12 -0
- package/dist/biome/lib/biome-capability-refs.js.map +1 -0
- package/dist/biome/lib/biome-engines.d.ts +6 -0
- package/dist/biome/lib/biome-engines.d.ts.map +1 -0
- package/dist/biome/lib/biome-engines.js +8 -0
- package/dist/biome/lib/biome-engines.js.map +1 -0
- package/dist/biome/lib/biome-lifecycle-hooks.d.ts +10 -0
- package/dist/biome/lib/biome-lifecycle-hooks.d.ts.map +1 -0
- package/dist/biome/lib/biome-lifecycle-hooks.js +12 -0
- package/dist/biome/lib/biome-lifecycle-hooks.js.map +1 -0
- package/dist/biome/lib/biome-lifecycle.d.ts +12 -0
- package/dist/biome/lib/biome-lifecycle.d.ts.map +1 -0
- package/dist/biome/lib/biome-lifecycle.js +16 -0
- package/dist/biome/lib/biome-lifecycle.js.map +1 -0
- package/dist/biome/lib/biome-manifest.d.ts +36 -0
- package/dist/biome/lib/biome-manifest.d.ts.map +1 -0
- package/dist/biome/lib/biome-manifest.js +38 -0
- package/dist/biome/lib/biome-manifest.js.map +1 -0
- package/dist/biome/lib/biome-permissions.d.ts +9 -0
- package/dist/biome/lib/biome-permissions.d.ts.map +1 -0
- package/dist/biome/lib/biome-permissions.js +11 -0
- package/dist/biome/lib/biome-permissions.js.map +1 -0
- package/dist/biome/lib/biome-scope.d.ts +9 -0
- package/dist/biome/lib/biome-scope.d.ts.map +1 -0
- package/dist/biome/lib/biome-scope.js +13 -0
- package/dist/biome/lib/biome-scope.js.map +1 -0
- package/dist/biome/lib/biome-trust-tier.d.ts +11 -0
- package/dist/biome/lib/biome-trust-tier.d.ts.map +1 -0
- package/dist/biome/lib/biome-trust-tier.js +15 -0
- package/dist/biome/lib/biome-trust-tier.js.map +1 -0
- package/dist/biome/lib/trust-tier-policies.d.ts +8 -0
- package/dist/biome/lib/trust-tier-policies.d.ts.map +1 -0
- package/dist/biome/lib/trust-tier-policies.js +66 -0
- package/dist/biome/lib/trust-tier-policies.js.map +1 -0
- package/dist/capability/index.d.ts +9 -0
- package/dist/capability/index.d.ts.map +1 -0
- package/dist/capability/index.js +25 -0
- package/dist/capability/index.js.map +1 -0
- package/dist/capability/lib/capability-contribution.d.ts +18 -0
- package/dist/capability/lib/capability-contribution.d.ts.map +1 -0
- package/dist/capability/lib/capability-contribution.js +23 -0
- package/dist/capability/lib/capability-contribution.js.map +1 -0
- package/dist/capability/lib/capability-grant.d.ts +22 -0
- package/dist/capability/lib/capability-grant.d.ts.map +1 -0
- package/dist/capability/lib/capability-grant.js +27 -0
- package/dist/capability/lib/capability-grant.js.map +1 -0
- package/dist/capability/lib/capability-policy.d.ts +12 -0
- package/dist/capability/lib/capability-policy.d.ts.map +1 -0
- package/dist/capability/lib/capability-policy.js +14 -0
- package/dist/capability/lib/capability-policy.js.map +1 -0
- package/dist/capability/lib/capability-ref.d.ts +19 -0
- package/dist/capability/lib/capability-ref.d.ts.map +1 -0
- package/dist/capability/lib/capability-ref.js +63 -0
- package/dist/capability/lib/capability-ref.js.map +1 -0
- package/dist/capability/lib/errors.d.ts +60 -0
- package/dist/capability/lib/errors.d.ts.map +1 -0
- package/dist/capability/lib/errors.js +73 -0
- package/dist/capability/lib/errors.js.map +1 -0
- package/dist/capability/lib/meta-tool.d.ts +77 -0
- package/dist/capability/lib/meta-tool.d.ts.map +1 -0
- package/dist/capability/lib/meta-tool.js +76 -0
- package/dist/capability/lib/meta-tool.js.map +1 -0
- package/dist/capability/lib/permission-profile.d.ts +35 -0
- package/dist/capability/lib/permission-profile.d.ts.map +1 -0
- package/dist/capability/lib/permission-profile.js +38 -0
- package/dist/capability/lib/permission-profile.js.map +1 -0
- package/dist/capability/lib/shell-command-descriptor.d.ts +19 -0
- package/dist/capability/lib/shell-command-descriptor.d.ts.map +1 -0
- package/dist/capability/lib/shell-command-descriptor.js +20 -0
- package/dist/capability/lib/shell-command-descriptor.js.map +1 -0
- package/dist/contribution/index.d.ts +5 -0
- package/dist/contribution/index.d.ts.map +1 -0
- package/dist/contribution/index.js +21 -0
- package/dist/contribution/index.js.map +1 -0
- package/dist/contribution/lib/contribution-kind.d.ts +44 -0
- package/dist/contribution/lib/contribution-kind.d.ts.map +1 -0
- package/dist/contribution/lib/contribution-kind.js +47 -0
- package/dist/contribution/lib/contribution-kind.js.map +1 -0
- package/dist/contribution/lib/contribution-source.d.ts +11 -0
- package/dist/contribution/lib/contribution-source.d.ts.map +1 -0
- package/dist/contribution/lib/contribution-source.js +14 -0
- package/dist/contribution/lib/contribution-source.js.map +1 -0
- package/dist/contribution/lib/contribution.d.ts +36 -0
- package/dist/contribution/lib/contribution.d.ts.map +1 -0
- package/dist/contribution/lib/contribution.js +56 -0
- package/dist/contribution/lib/contribution.js.map +1 -0
- package/dist/contribution/lib/registry.d.ts +25 -0
- package/dist/contribution/lib/registry.d.ts.map +1 -0
- package/dist/contribution/lib/registry.js +54 -0
- package/dist/contribution/lib/registry.js.map +1 -0
- package/dist/document-templates/index.d.ts +3 -0
- package/dist/document-templates/index.d.ts.map +1 -0
- package/dist/document-templates/index.js +19 -0
- package/dist/document-templates/index.js.map +1 -0
- package/dist/document-templates/lib/document-template.d.ts +24 -0
- package/dist/document-templates/lib/document-template.d.ts.map +1 -0
- package/dist/document-templates/lib/document-template.js +10 -0
- package/dist/document-templates/lib/document-template.js.map +1 -0
- package/dist/document-templates/lib/index.d.ts +3 -0
- package/dist/document-templates/lib/index.d.ts.map +1 -0
- package/dist/document-templates/lib/index.js +19 -0
- package/dist/document-templates/lib/index.js.map +1 -0
- package/dist/document-templates/lib/rendering-shape.d.ts +7 -0
- package/dist/document-templates/lib/rendering-shape.d.ts.map +1 -0
- package/dist/document-templates/lib/rendering-shape.js +20 -0
- package/dist/document-templates/lib/rendering-shape.js.map +1 -0
- package/dist/document-themes/index.d.ts +3 -0
- package/dist/document-themes/index.d.ts.map +1 -0
- package/dist/document-themes/index.js +19 -0
- package/dist/document-themes/index.js.map +1 -0
- package/dist/document-themes/lib/component-vocabulary.d.ts +16 -0
- package/dist/document-themes/lib/component-vocabulary.d.ts.map +1 -0
- package/dist/document-themes/lib/component-vocabulary.js +55 -0
- package/dist/document-themes/lib/component-vocabulary.js.map +1 -0
- package/dist/document-themes/lib/document-theme.d.ts +57 -0
- package/dist/document-themes/lib/document-theme.d.ts.map +1 -0
- package/dist/document-themes/lib/document-theme.js +10 -0
- package/dist/document-themes/lib/document-theme.js.map +1 -0
- package/dist/document-themes/lib/index.d.ts +3 -0
- package/dist/document-themes/lib/index.d.ts.map +1 -0
- package/dist/document-themes/lib/index.js +19 -0
- package/dist/document-themes/lib/index.js.map +1 -0
- package/dist/entitlement/index.d.ts +2 -0
- package/dist/entitlement/index.d.ts.map +1 -0
- package/dist/entitlement/index.js +18 -0
- package/dist/entitlement/index.js.map +1 -0
- package/dist/entitlement/lib/entitlement.d.ts +25 -0
- package/dist/entitlement/lib/entitlement.d.ts.map +1 -0
- package/dist/entitlement/lib/entitlement.js +54 -0
- package/dist/entitlement/lib/entitlement.js.map +1 -0
- package/dist/execution-context/index.d.ts +4 -0
- package/dist/execution-context/index.d.ts.map +1 -0
- package/dist/execution-context/index.js +20 -0
- package/dist/execution-context/index.js.map +1 -0
- package/dist/execution-context/lib/caller.d.ts +19 -0
- package/dist/execution-context/lib/caller.d.ts.map +1 -0
- package/dist/execution-context/lib/caller.js +22 -0
- package/dist/execution-context/lib/caller.js.map +1 -0
- package/dist/execution-context/lib/execution-context.d.ts +60 -0
- package/dist/execution-context/lib/execution-context.d.ts.map +1 -0
- package/dist/execution-context/lib/execution-context.js +58 -0
- package/dist/execution-context/lib/execution-context.js.map +1 -0
- package/dist/execution-context/lib/subject.d.ts +3 -0
- package/dist/execution-context/lib/subject.d.ts.map +1 -0
- package/dist/execution-context/lib/subject.js +11 -0
- package/dist/execution-context/lib/subject.js.map +1 -0
- package/dist/execution-environment/index.d.ts +4 -0
- package/dist/execution-environment/index.d.ts.map +1 -0
- package/dist/execution-environment/index.js +20 -0
- package/dist/execution-environment/index.js.map +1 -0
- package/dist/execution-environment/lib/approval-rule.d.ts +10 -0
- package/dist/execution-environment/lib/approval-rule.d.ts.map +1 -0
- package/dist/execution-environment/lib/approval-rule.js +12 -0
- package/dist/execution-environment/lib/approval-rule.js.map +1 -0
- package/dist/execution-environment/lib/built-in-environments.d.ts +16 -0
- package/dist/execution-environment/lib/built-in-environments.d.ts.map +1 -0
- package/dist/execution-environment/lib/built-in-environments.js +33 -0
- package/dist/execution-environment/lib/built-in-environments.js.map +1 -0
- package/dist/execution-environment/lib/execution-environment.d.ts +58 -0
- package/dist/execution-environment/lib/execution-environment.d.ts.map +1 -0
- package/dist/execution-environment/lib/execution-environment.js +89 -0
- package/dist/execution-environment/lib/execution-environment.js.map +1 -0
- package/dist/kernel-state/index.d.ts +4 -0
- package/dist/kernel-state/index.d.ts.map +1 -0
- package/dist/kernel-state/index.js +20 -0
- package/dist/kernel-state/index.js.map +1 -0
- package/dist/kernel-state/lib/adapter-kind.d.ts +5 -0
- package/dist/kernel-state/lib/adapter-kind.d.ts.map +1 -0
- package/dist/kernel-state/lib/adapter-kind.js +9 -0
- package/dist/kernel-state/lib/adapter-kind.js.map +1 -0
- package/dist/kernel-state/lib/kernel-state.d.ts +37 -0
- package/dist/kernel-state/lib/kernel-state.d.ts.map +1 -0
- package/dist/kernel-state/lib/kernel-state.js +9 -0
- package/dist/kernel-state/lib/kernel-state.js.map +1 -0
- package/dist/kernel-state/lib/key-grammar.d.ts +16 -0
- package/dist/kernel-state/lib/key-grammar.d.ts.map +1 -0
- package/dist/kernel-state/lib/key-grammar.js +56 -0
- package/dist/kernel-state/lib/key-grammar.js.map +1 -0
- package/dist/llm-gateway/index.d.ts +3 -0
- package/dist/llm-gateway/index.d.ts.map +1 -0
- package/dist/llm-gateway/index.js +19 -0
- package/dist/llm-gateway/index.js.map +1 -0
- package/dist/llm-gateway/lib/caller.d.ts +14 -0
- package/dist/llm-gateway/lib/caller.d.ts.map +1 -0
- package/dist/llm-gateway/lib/caller.js +11 -0
- package/dist/llm-gateway/lib/caller.js.map +1 -0
- package/dist/llm-gateway/lib/errors.d.ts +27 -0
- package/dist/llm-gateway/lib/errors.d.ts.map +1 -0
- package/dist/llm-gateway/lib/errors.js +36 -0
- package/dist/llm-gateway/lib/errors.js.map +1 -0
- package/dist/mcp-tool/index.d.ts +7 -0
- package/dist/mcp-tool/index.d.ts.map +1 -0
- package/dist/mcp-tool/index.js +23 -0
- package/dist/mcp-tool/index.js.map +1 -0
- package/dist/mcp-tool/lib/mcp-protocol.d.ts +75 -0
- package/dist/mcp-tool/lib/mcp-protocol.d.ts.map +1 -0
- package/dist/mcp-tool/lib/mcp-protocol.js +19 -0
- package/dist/mcp-tool/lib/mcp-protocol.js.map +1 -0
- package/dist/mcp-tool/lib/mcp-server-config.d.ts +8 -0
- package/dist/mcp-tool/lib/mcp-server-config.d.ts.map +1 -0
- package/dist/mcp-tool/lib/mcp-server-config.js +3 -0
- package/dist/mcp-tool/lib/mcp-server-config.js.map +1 -0
- package/dist/mcp-tool/lib/provider-kind.d.ts +10 -0
- package/dist/mcp-tool/lib/provider-kind.d.ts.map +1 -0
- package/dist/mcp-tool/lib/provider-kind.js +14 -0
- package/dist/mcp-tool/lib/provider-kind.js.map +1 -0
- package/dist/mcp-tool/lib/resolver-scope.d.ts +16 -0
- package/dist/mcp-tool/lib/resolver-scope.d.ts.map +1 -0
- package/dist/mcp-tool/lib/resolver-scope.js +12 -0
- package/dist/mcp-tool/lib/resolver-scope.js.map +1 -0
- package/dist/mcp-tool/lib/tool-provider.d.ts +21 -0
- package/dist/mcp-tool/lib/tool-provider.d.ts.map +1 -0
- package/dist/mcp-tool/lib/tool-provider.js +3 -0
- package/dist/mcp-tool/lib/tool-provider.js.map +1 -0
- package/dist/mcp-tool/lib/tool-selection.d.ts +34 -0
- package/dist/mcp-tool/lib/tool-selection.d.ts.map +1 -0
- package/dist/mcp-tool/lib/tool-selection.js +18 -0
- package/dist/mcp-tool/lib/tool-selection.js.map +1 -0
- package/dist/object/index.d.ts +5 -0
- package/dist/object/index.d.ts.map +1 -0
- package/dist/object/index.js +21 -0
- package/dist/object/index.js.map +1 -0
- package/dist/object/lib/object-lifecycle.d.ts +8 -0
- package/dist/object/lib/object-lifecycle.d.ts.map +1 -0
- package/dist/object/lib/object-lifecycle.js +12 -0
- package/dist/object/lib/object-lifecycle.js.map +1 -0
- package/dist/object/lib/xema-object-kind.d.ts +43 -0
- package/dist/object/lib/xema-object-kind.d.ts.map +1 -0
- package/dist/object/lib/xema-object-kind.js +47 -0
- package/dist/object/lib/xema-object-kind.js.map +1 -0
- package/dist/object/lib/xema-object-ref.d.ts +20 -0
- package/dist/object/lib/xema-object-ref.d.ts.map +1 -0
- package/dist/object/lib/xema-object-ref.js +133 -0
- package/dist/object/lib/xema-object-ref.js.map +1 -0
- package/dist/object/lib/xema-object.d.ts +24 -0
- package/dist/object/lib/xema-object.d.ts.map +1 -0
- package/dist/object/lib/xema-object.js +24 -0
- package/dist/object/lib/xema-object.js.map +1 -0
- package/dist/policy/index.d.ts +4 -0
- package/dist/policy/index.d.ts.map +1 -0
- package/dist/policy/index.js +20 -0
- package/dist/policy/index.js.map +1 -0
- package/dist/policy/lib/obligations.d.ts +91 -0
- package/dist/policy/lib/obligations.d.ts.map +1 -0
- package/dist/policy/lib/obligations.js +76 -0
- package/dist/policy/lib/obligations.js.map +1 -0
- package/dist/policy/lib/policy.d.ts +29 -0
- package/dist/policy/lib/policy.d.ts.map +1 -0
- package/dist/policy/lib/policy.js +32 -0
- package/dist/policy/lib/policy.js.map +1 -0
- package/dist/policy/lib/route-hints.d.ts +11 -0
- package/dist/policy/lib/route-hints.d.ts.map +1 -0
- package/dist/policy/lib/route-hints.js +15 -0
- package/dist/policy/lib/route-hints.js.map +1 -0
- package/dist/runner/index.d.ts +12 -0
- package/dist/runner/index.d.ts.map +1 -0
- package/dist/runner/index.js +28 -0
- package/dist/runner/index.js.map +1 -0
- package/dist/runner/lib/dispatch.d.ts +13 -0
- package/dist/runner/lib/dispatch.d.ts.map +1 -0
- package/dist/runner/lib/dispatch.js +15 -0
- package/dist/runner/lib/dispatch.js.map +1 -0
- package/dist/runner/lib/input-hash.d.ts +2 -0
- package/dist/runner/lib/input-hash.d.ts.map +1 -0
- package/dist/runner/lib/input-hash.js +37 -0
- package/dist/runner/lib/input-hash.js.map +1 -0
- package/dist/runner/lib/job-token.d.ts +22 -0
- package/dist/runner/lib/job-token.d.ts.map +1 -0
- package/dist/runner/lib/job-token.js +3 -0
- package/dist/runner/lib/job-token.js.map +1 -0
- package/dist/runner/lib/runner-attestation.d.ts +10 -0
- package/dist/runner/lib/runner-attestation.d.ts.map +1 -0
- package/dist/runner/lib/runner-attestation.js +5 -0
- package/dist/runner/lib/runner-attestation.js.map +1 -0
- package/dist/runner/lib/runner-job.d.ts +26 -0
- package/dist/runner/lib/runner-job.d.ts.map +1 -0
- package/dist/runner/lib/runner-job.js +36 -0
- package/dist/runner/lib/runner-job.js.map +1 -0
- package/dist/runner/lib/runner-kind.d.ts +2 -0
- package/dist/runner/lib/runner-kind.d.ts.map +1 -0
- package/dist/runner/lib/runner-kind.js +7 -0
- package/dist/runner/lib/runner-kind.js.map +1 -0
- package/dist/runner/lib/runner-mode.d.ts +5 -0
- package/dist/runner/lib/runner-mode.d.ts.map +1 -0
- package/dist/runner/lib/runner-mode.js +9 -0
- package/dist/runner/lib/runner-mode.js.map +1 -0
- package/dist/runner/lib/runner-plane.d.ts +19 -0
- package/dist/runner/lib/runner-plane.d.ts.map +1 -0
- package/dist/runner/lib/runner-plane.js +31 -0
- package/dist/runner/lib/runner-plane.js.map +1 -0
- package/dist/runner/lib/runner-registration.d.ts +60 -0
- package/dist/runner/lib/runner-registration.d.ts.map +1 -0
- package/dist/runner/lib/runner-registration.js +62 -0
- package/dist/runner/lib/runner-registration.js.map +1 -0
- package/dist/runner/lib/runner.d.ts +24 -0
- package/dist/runner/lib/runner.d.ts.map +1 -0
- package/dist/runner/lib/runner.js +26 -0
- package/dist/runner/lib/runner.js.map +1 -0
- package/dist/runner/lib/runtime-isolation.d.ts +10 -0
- package/dist/runner/lib/runtime-isolation.d.ts.map +1 -0
- package/dist/runner/lib/runtime-isolation.js +23 -0
- package/dist/runner/lib/runtime-isolation.js.map +1 -0
- package/dist/search-source/index.d.ts +5 -0
- package/dist/search-source/index.d.ts.map +1 -0
- package/dist/search-source/index.js +21 -0
- package/dist/search-source/index.js.map +1 -0
- package/dist/search-source/lib/indexable-document.d.ts +40 -0
- package/dist/search-source/lib/indexable-document.d.ts.map +1 -0
- package/dist/search-source/lib/indexable-document.js +26 -0
- package/dist/search-source/lib/indexable-document.js.map +1 -0
- package/dist/search-source/lib/search-index-event.d.ts +52 -0
- package/dist/search-source/lib/search-index-event.d.ts.map +1 -0
- package/dist/search-source/lib/search-index-event.js +29 -0
- package/dist/search-source/lib/search-index-event.js.map +1 -0
- package/dist/search-source/lib/search-replay.d.ts +46 -0
- package/dist/search-source/lib/search-replay.d.ts.map +1 -0
- package/dist/search-source/lib/search-replay.js +36 -0
- package/dist/search-source/lib/search-replay.js.map +1 -0
- package/dist/search-source/lib/search-source-descriptor.d.ts +15 -0
- package/dist/search-source/lib/search-source-descriptor.d.ts.map +1 -0
- package/dist/search-source/lib/search-source-descriptor.js +3 -0
- package/dist/search-source/lib/search-source-descriptor.js.map +1 -0
- package/dist/service-registry/index.d.ts +4 -0
- package/dist/service-registry/index.d.ts.map +1 -0
- package/dist/service-registry/index.js +20 -0
- package/dist/service-registry/index.js.map +1 -0
- package/dist/service-registry/lib/inject-service.d.ts +6 -0
- package/dist/service-registry/lib/inject-service.d.ts.map +1 -0
- package/dist/service-registry/lib/inject-service.js +5 -0
- package/dist/service-registry/lib/inject-service.js.map +1 -0
- package/dist/service-registry/lib/service-descriptor.d.ts +28 -0
- package/dist/service-registry/lib/service-descriptor.d.ts.map +1 -0
- package/dist/service-registry/lib/service-descriptor.js +17 -0
- package/dist/service-registry/lib/service-descriptor.js.map +1 -0
- package/dist/service-registry/lib/service-registry-client.d.ts +30 -0
- package/dist/service-registry/lib/service-registry-client.d.ts.map +1 -0
- package/dist/service-registry/lib/service-registry-client.js +3 -0
- package/dist/service-registry/lib/service-registry-client.js.map +1 -0
- package/dist/skill/index.d.ts +5 -0
- package/dist/skill/index.d.ts.map +1 -0
- package/dist/skill/index.js +21 -0
- package/dist/skill/index.js.map +1 -0
- package/dist/skill/lib/skill-enums.d.ts +41 -0
- package/dist/skill/lib/skill-enums.d.ts.map +1 -0
- package/dist/skill/lib/skill-enums.js +54 -0
- package/dist/skill/lib/skill-enums.js.map +1 -0
- package/dist/skill/lib/skill-governance.d.ts +106 -0
- package/dist/skill/lib/skill-governance.d.ts.map +1 -0
- package/dist/skill/lib/skill-governance.js +61 -0
- package/dist/skill/lib/skill-governance.js.map +1 -0
- package/dist/skill/lib/skill-source.d.ts +14 -0
- package/dist/skill/lib/skill-source.d.ts.map +1 -0
- package/dist/skill/lib/skill-source.js +3 -0
- package/dist/skill/lib/skill-source.js.map +1 -0
- package/dist/skill/lib/skill.d.ts +52 -0
- package/dist/skill/lib/skill.d.ts.map +1 -0
- package/dist/skill/lib/skill.js +3 -0
- package/dist/skill/lib/skill.js.map +1 -0
- package/dist/space/index.d.ts +4 -0
- package/dist/space/index.d.ts.map +1 -0
- package/dist/space/index.js +20 -0
- package/dist/space/index.js.map +1 -0
- package/dist/space/lib/space-ref-parser.d.ts +8 -0
- package/dist/space/lib/space-ref-parser.d.ts.map +1 -0
- package/dist/space/lib/space-ref-parser.js +149 -0
- package/dist/space/lib/space-ref-parser.js.map +1 -0
- package/dist/space/lib/space-traversal.d.ts +3 -0
- package/dist/space/lib/space-traversal.d.ts.map +1 -0
- package/dist/space/lib/space-traversal.js +56 -0
- package/dist/space/lib/space-traversal.js.map +1 -0
- package/dist/space/lib/space.d.ts +53 -0
- package/dist/space/lib/space.d.ts.map +1 -0
- package/dist/space/lib/space.js +98 -0
- package/dist/space/lib/space.js.map +1 -0
- package/dist/subject/index.d.ts +3 -0
- package/dist/subject/index.d.ts.map +1 -0
- package/dist/subject/index.js +19 -0
- package/dist/subject/index.js.map +1 -0
- package/dist/subject/lib/subject.d.ts +29 -0
- package/dist/subject/lib/subject.d.ts.map +1 -0
- package/dist/subject/lib/subject.js +47 -0
- package/dist/subject/lib/subject.js.map +1 -0
- package/dist/subject/lib/token-class.d.ts +11 -0
- package/dist/subject/lib/token-class.d.ts.map +1 -0
- package/dist/subject/lib/token-class.js +15 -0
- package/dist/subject/lib/token-class.js.map +1 -0
- package/dist/workflow/index.d.ts +31 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +47 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflow/lib/action-ref.d.ts +12 -0
- package/dist/workflow/lib/action-ref.d.ts.map +1 -0
- package/dist/workflow/lib/action-ref.js +3 -0
- package/dist/workflow/lib/action-ref.js.map +1 -0
- package/dist/workflow/lib/activity-outputs.d.ts +14 -0
- package/dist/workflow/lib/activity-outputs.d.ts.map +1 -0
- package/dist/workflow/lib/activity-outputs.js +3 -0
- package/dist/workflow/lib/activity-outputs.js.map +1 -0
- package/dist/workflow/lib/agent-role.d.ts +6 -0
- package/dist/workflow/lib/agent-role.d.ts.map +1 -0
- package/dist/workflow/lib/agent-role.js +41 -0
- package/dist/workflow/lib/agent-role.js.map +1 -0
- package/dist/workflow/lib/artifact-ref.d.ts +21 -0
- package/dist/workflow/lib/artifact-ref.d.ts.map +1 -0
- package/dist/workflow/lib/artifact-ref.js +38 -0
- package/dist/workflow/lib/artifact-ref.js.map +1 -0
- package/dist/workflow/lib/briefcase.d.ts +107 -0
- package/dist/workflow/lib/briefcase.d.ts.map +1 -0
- package/dist/workflow/lib/briefcase.js +62 -0
- package/dist/workflow/lib/briefcase.js.map +1 -0
- package/dist/workflow/lib/canonical-concepts/canonical-concept-registry.d.ts +18 -0
- package/dist/workflow/lib/canonical-concepts/canonical-concept-registry.d.ts.map +1 -0
- package/dist/workflow/lib/canonical-concepts/canonical-concept-registry.js +45 -0
- package/dist/workflow/lib/canonical-concepts/canonical-concept-registry.js.map +1 -0
- package/dist/workflow/lib/canonical-concepts/concepts/change-intent.concepts.d.ts +3 -0
- package/dist/workflow/lib/canonical-concepts/concepts/change-intent.concepts.d.ts.map +1 -0
- package/dist/workflow/lib/canonical-concepts/concepts/change-intent.concepts.js +79 -0
- package/dist/workflow/lib/canonical-concepts/concepts/change-intent.concepts.js.map +1 -0
- package/dist/workflow/lib/canonical-concepts/concepts/concern.concepts.d.ts +3 -0
- package/dist/workflow/lib/canonical-concepts/concepts/concern.concepts.d.ts.map +1 -0
- package/dist/workflow/lib/canonical-concepts/concepts/concern.concepts.js +133 -0
- package/dist/workflow/lib/canonical-concepts/concepts/concern.concepts.js.map +1 -0
- package/dist/workflow/lib/canonical-concepts/concepts/domain.concepts.d.ts +3 -0
- package/dist/workflow/lib/canonical-concepts/concepts/domain.concepts.d.ts.map +1 -0
- package/dist/workflow/lib/canonical-concepts/concepts/domain.concepts.js +116 -0
- package/dist/workflow/lib/canonical-concepts/concepts/domain.concepts.js.map +1 -0
- package/dist/workflow/lib/canonical-concepts/concepts/index.d.ts +8 -0
- package/dist/workflow/lib/canonical-concepts/concepts/index.d.ts.map +1 -0
- package/dist/workflow/lib/canonical-concepts/concepts/index.js +18 -0
- package/dist/workflow/lib/canonical-concepts/concepts/index.js.map +1 -0
- package/dist/workflow/lib/canonical-concepts/concepts/technology.concepts.d.ts +3 -0
- package/dist/workflow/lib/canonical-concepts/concepts/technology.concepts.d.ts.map +1 -0
- package/dist/workflow/lib/canonical-concepts/concepts/technology.concepts.js +462 -0
- package/dist/workflow/lib/canonical-concepts/concepts/technology.concepts.js.map +1 -0
- package/dist/workflow/lib/canonical-concepts/index.d.ts +3 -0
- package/dist/workflow/lib/canonical-concepts/index.d.ts.map +1 -0
- package/dist/workflow/lib/canonical-concepts/index.js +16 -0
- package/dist/workflow/lib/canonical-concepts/index.js.map +1 -0
- package/dist/workflow/lib/catalog-taxonomies.d.ts +41 -0
- package/dist/workflow/lib/catalog-taxonomies.d.ts.map +1 -0
- package/dist/workflow/lib/catalog-taxonomies.js +3475 -0
- package/dist/workflow/lib/catalog-taxonomies.js.map +1 -0
- package/dist/workflow/lib/compiled-run.d.ts +118 -0
- package/dist/workflow/lib/compiled-run.d.ts.map +1 -0
- package/dist/workflow/lib/compiled-run.js +3 -0
- package/dist/workflow/lib/compiled-run.js.map +1 -0
- package/dist/workflow/lib/compiled-working-file.d.ts +11 -0
- package/dist/workflow/lib/compiled-working-file.d.ts.map +1 -0
- package/dist/workflow/lib/compiled-working-file.js +3 -0
- package/dist/workflow/lib/compiled-working-file.js.map +1 -0
- package/dist/workflow/lib/compiled-workspace-manifest.d.ts +101 -0
- package/dist/workflow/lib/compiled-workspace-manifest.d.ts.map +1 -0
- package/dist/workflow/lib/compiled-workspace-manifest.js +3 -0
- package/dist/workflow/lib/compiled-workspace-manifest.js.map +1 -0
- package/dist/workflow/lib/concurrency-group.d.ts +6 -0
- package/dist/workflow/lib/concurrency-group.d.ts.map +1 -0
- package/dist/workflow/lib/concurrency-group.js +3 -0
- package/dist/workflow/lib/concurrency-group.js.map +1 -0
- package/dist/workflow/lib/deliverable-result.d.ts +124 -0
- package/dist/workflow/lib/deliverable-result.d.ts.map +1 -0
- package/dist/workflow/lib/deliverable-result.js +27 -0
- package/dist/workflow/lib/deliverable-result.js.map +1 -0
- package/dist/workflow/lib/domain-tag.d.ts +2 -0
- package/dist/workflow/lib/domain-tag.d.ts.map +1 -0
- package/dist/workflow/lib/domain-tag.js +3 -0
- package/dist/workflow/lib/domain-tag.js.map +1 -0
- package/dist/workflow/lib/enums.d.ts +138 -0
- package/dist/workflow/lib/enums.d.ts.map +1 -0
- package/dist/workflow/lib/enums.js +166 -0
- package/dist/workflow/lib/enums.js.map +1 -0
- package/dist/workflow/lib/errors.d.ts +35 -0
- package/dist/workflow/lib/errors.d.ts.map +1 -0
- package/dist/workflow/lib/errors.js +62 -0
- package/dist/workflow/lib/errors.js.map +1 -0
- package/dist/workflow/lib/job-run.d.ts +32 -0
- package/dist/workflow/lib/job-run.d.ts.map +1 -0
- package/dist/workflow/lib/job-run.js +3 -0
- package/dist/workflow/lib/job-run.js.map +1 -0
- package/dist/workflow/lib/model-ref.d.ts +40 -0
- package/dist/workflow/lib/model-ref.d.ts.map +1 -0
- package/dist/workflow/lib/model-ref.js +34 -0
- package/dist/workflow/lib/model-ref.js.map +1 -0
- package/dist/workflow/lib/mount-plan.d.ts +105 -0
- package/dist/workflow/lib/mount-plan.d.ts.map +1 -0
- package/dist/workflow/lib/mount-plan.js +3 -0
- package/dist/workflow/lib/mount-plan.js.map +1 -0
- package/dist/workflow/lib/phase-report.d.ts +9 -0
- package/dist/workflow/lib/phase-report.d.ts.map +1 -0
- package/dist/workflow/lib/phase-report.js +30 -0
- package/dist/workflow/lib/phase-report.js.map +1 -0
- package/dist/workflow/lib/platform-task-queue.d.ts +17 -0
- package/dist/workflow/lib/platform-task-queue.d.ts.map +1 -0
- package/dist/workflow/lib/platform-task-queue.js +33 -0
- package/dist/workflow/lib/platform-task-queue.js.map +1 -0
- package/dist/workflow/lib/review-subject/index.d.ts +5 -0
- package/dist/workflow/lib/review-subject/index.d.ts.map +1 -0
- package/dist/workflow/lib/review-subject/index.js +8 -0
- package/dist/workflow/lib/review-subject/index.js.map +1 -0
- package/dist/workflow/lib/review-subject/kinds.d.ts +5 -0
- package/dist/workflow/lib/review-subject/kinds.d.ts.map +1 -0
- package/dist/workflow/lib/review-subject/kinds.js +9 -0
- package/dist/workflow/lib/review-subject/kinds.js.map +1 -0
- package/dist/workflow/lib/review-subject/narrow.d.ts +5 -0
- package/dist/workflow/lib/review-subject/narrow.d.ts.map +1 -0
- package/dist/workflow/lib/review-subject/narrow.js +79 -0
- package/dist/workflow/lib/review-subject/narrow.js.map +1 -0
- package/dist/workflow/lib/review-subject/producers/artifact-ref.d.ts +9 -0
- package/dist/workflow/lib/review-subject/producers/artifact-ref.d.ts.map +1 -0
- package/dist/workflow/lib/review-subject/producers/artifact-ref.js +16 -0
- package/dist/workflow/lib/review-subject/producers/artifact-ref.js.map +1 -0
- package/dist/workflow/lib/review-subject/producers/string.d.ts +7 -0
- package/dist/workflow/lib/review-subject/producers/string.d.ts.map +1 -0
- package/dist/workflow/lib/review-subject/producers/string.js +11 -0
- package/dist/workflow/lib/review-subject/producers/string.js.map +1 -0
- package/dist/workflow/lib/role-capability.d.ts +16 -0
- package/dist/workflow/lib/role-capability.d.ts.map +1 -0
- package/dist/workflow/lib/role-capability.js +19 -0
- package/dist/workflow/lib/role-capability.js.map +1 -0
- package/dist/workflow/lib/run-progress.d.ts +100 -0
- package/dist/workflow/lib/run-progress.d.ts.map +1 -0
- package/dist/workflow/lib/run-progress.js +96 -0
- package/dist/workflow/lib/run-progress.js.map +1 -0
- package/dist/workflow/lib/sampling-profiles.d.ts +18 -0
- package/dist/workflow/lib/sampling-profiles.d.ts.map +1 -0
- package/dist/workflow/lib/sampling-profiles.js +56 -0
- package/dist/workflow/lib/sampling-profiles.js.map +1 -0
- package/dist/workflow/lib/snapshot-ref.d.ts +10 -0
- package/dist/workflow/lib/snapshot-ref.d.ts.map +1 -0
- package/dist/workflow/lib/snapshot-ref.js +3 -0
- package/dist/workflow/lib/snapshot-ref.js.map +1 -0
- package/dist/workflow/lib/temporal-namespace.d.ts +5 -0
- package/dist/workflow/lib/temporal-namespace.d.ts.map +1 -0
- package/dist/workflow/lib/temporal-namespace.js +34 -0
- package/dist/workflow/lib/temporal-namespace.js.map +1 -0
- package/dist/workflow/lib/trigger-payload.d.ts +35 -0
- package/dist/workflow/lib/trigger-payload.d.ts.map +1 -0
- package/dist/workflow/lib/trigger-payload.js +3 -0
- package/dist/workflow/lib/trigger-payload.js.map +1 -0
- package/dist/workflow/lib/variable-requirement.d.ts +18 -0
- package/dist/workflow/lib/variable-requirement.d.ts.map +1 -0
- package/dist/workflow/lib/variable-requirement.js +3 -0
- package/dist/workflow/lib/variable-requirement.js.map +1 -0
- package/dist/workflow/lib/work-item-payloads.d.ts +114 -0
- package/dist/workflow/lib/work-item-payloads.d.ts.map +1 -0
- package/dist/workflow/lib/work-item-payloads.js +60 -0
- package/dist/workflow/lib/work-item-payloads.js.map +1 -0
- package/dist/workflow/lib/workflow-stage.d.ts +11 -0
- package/dist/workflow/lib/workflow-stage.d.ts.map +1 -0
- package/dist/workflow/lib/workflow-stage.js +28 -0
- package/dist/workflow/lib/workflow-stage.js.map +1 -0
- package/dist/workflow/lib/workspace-manifest-enums.d.ts +42 -0
- package/dist/workflow/lib/workspace-manifest-enums.d.ts.map +1 -0
- package/dist/workflow/lib/workspace-manifest-enums.js +80 -0
- package/dist/workflow/lib/workspace-manifest-enums.js.map +1 -0
- package/package.json +173 -0
- package/src/agent-composition/index.ts +17 -0
- package/src/agent-composition/lib/capability-layer.ts +46 -0
- package/src/agent-composition/lib/composition-limits-schema.ts +38 -0
- package/src/agent-composition/lib/composition-workspace.ts +210 -0
- package/src/agent-composition/lib/composition.ts +205 -0
- package/src/agent-composition/lib/intrinsic-floor.ts +50 -0
- package/src/agent-composition/lib/model-resolution-matrix.ts +112 -0
- package/src/agent-workspace/index.ts +27 -0
- package/src/agent-workspace/lib/agent-run-context.ts +44 -0
- package/src/agent-workspace/lib/agent-tool-defaults.ts +252 -0
- package/src/agent-workspace/lib/awp-v1.ts +289 -0
- package/src/agent-workspace/lib/context-json.ts +92 -0
- package/src/agent-workspace/lib/deliverable-spec-ref.ts +60 -0
- package/src/agent-workspace/lib/endpoint-fetch-spec.ts +66 -0
- package/src/agent-workspace/lib/manifest.ts +53 -0
- package/src/agent-workspace/lib/mount-apply.ts +79 -0
- package/src/agent-workspace/lib/working-file.ts +173 -0
- package/src/agent-workspace/lib/workspace-layout.ts +106 -0
- package/src/agent-workspace/lib/workspace-spec.ts +212 -0
- package/src/biome/index.ts +10 -0
- package/src/biome/lib/biome-api.ts +33 -0
- package/src/biome/lib/biome-capability-refs.ts +29 -0
- package/src/biome/lib/biome-engines.ts +18 -0
- package/src/biome/lib/biome-lifecycle-hooks.ts +28 -0
- package/src/biome/lib/biome-lifecycle.ts +29 -0
- package/src/biome/lib/biome-manifest.ts +102 -0
- package/src/biome/lib/biome-permissions.ts +35 -0
- package/src/biome/lib/biome-scope.ts +19 -0
- package/src/biome/lib/biome-trust-tier.ts +21 -0
- package/src/biome/lib/trust-tier-policies.ts +99 -0
- package/src/capability/index.ts +8 -0
- package/src/capability/lib/capability-contribution.ts +99 -0
- package/src/capability/lib/capability-grant.ts +90 -0
- package/src/capability/lib/capability-policy.ts +37 -0
- package/src/capability/lib/capability-ref.ts +138 -0
- package/src/capability/lib/errors.ts +180 -0
- package/src/capability/lib/meta-tool.ts +213 -0
- package/src/capability/lib/permission-profile.ts +91 -0
- package/src/capability/lib/shell-command-descriptor.ts +66 -0
- package/src/contribution/index.ts +4 -0
- package/src/contribution/lib/contribution-kind.ts +132 -0
- package/src/contribution/lib/contribution-source.ts +29 -0
- package/src/contribution/lib/contribution.ts +209 -0
- package/src/contribution/lib/registry.ts +100 -0
- package/src/document-templates/index.ts +24 -0
- package/src/document-templates/lib/document-template.ts +88 -0
- package/src/document-templates/lib/index.ts +2 -0
- package/src/document-templates/lib/rendering-shape.ts +48 -0
- package/src/document-themes/index.ts +21 -0
- package/src/document-themes/lib/component-vocabulary.ts +100 -0
- package/src/document-themes/lib/document-theme.ts +110 -0
- package/src/document-themes/lib/index.ts +2 -0
- package/src/entitlement/index.ts +1 -0
- package/src/entitlement/lib/entitlement.ts +142 -0
- package/src/execution-context/index.ts +3 -0
- package/src/execution-context/lib/caller.ts +46 -0
- package/src/execution-context/lib/execution-context.ts +205 -0
- package/src/execution-context/lib/subject.ts +17 -0
- package/src/execution-environment/index.ts +3 -0
- package/src/execution-environment/lib/approval-rule.ts +32 -0
- package/src/execution-environment/lib/built-in-environments.ts +89 -0
- package/src/execution-environment/lib/execution-environment.ts +266 -0
- package/src/kernel-state/index.ts +3 -0
- package/src/kernel-state/lib/adapter-kind.ts +18 -0
- package/src/kernel-state/lib/kernel-state.ts +139 -0
- package/src/kernel-state/lib/key-grammar.ts +105 -0
- package/src/llm-gateway/index.ts +2 -0
- package/src/llm-gateway/lib/caller.ts +48 -0
- package/src/llm-gateway/lib/errors.ts +111 -0
- package/src/mcp-tool/index.ts +6 -0
- package/src/mcp-tool/lib/mcp-protocol.ts +94 -0
- package/src/mcp-tool/lib/mcp-server-config.ts +17 -0
- package/src/mcp-tool/lib/provider-kind.ts +35 -0
- package/src/mcp-tool/lib/resolver-scope.ts +32 -0
- package/src/mcp-tool/lib/tool-provider.ts +62 -0
- package/src/mcp-tool/lib/tool-selection.ts +48 -0
- package/src/object/index.ts +4 -0
- package/src/object/lib/object-lifecycle.ts +22 -0
- package/src/object/lib/xema-object-kind.ts +73 -0
- package/src/object/lib/xema-object-ref.ts +233 -0
- package/src/object/lib/xema-object.ts +81 -0
- package/src/policy/index.ts +3 -0
- package/src/policy/lib/obligations.ts +155 -0
- package/src/policy/lib/policy.ts +104 -0
- package/src/policy/lib/route-hints.ts +51 -0
- package/src/runner/index.ts +11 -0
- package/src/runner/lib/dispatch.ts +61 -0
- package/src/runner/lib/input-hash.ts +66 -0
- package/src/runner/lib/job-token.ts +80 -0
- package/src/runner/lib/runner-attestation.ts +53 -0
- package/src/runner/lib/runner-job.ts +90 -0
- package/src/runner/lib/runner-kind.ts +10 -0
- package/src/runner/lib/runner-mode.ts +16 -0
- package/src/runner/lib/runner-plane.ts +101 -0
- package/src/runner/lib/runner-registration.ts +204 -0
- package/src/runner/lib/runner.ts +103 -0
- package/src/runner/lib/runtime-isolation.ts +53 -0
- package/src/search-source/index.ts +4 -0
- package/src/search-source/lib/indexable-document.ts +70 -0
- package/src/search-source/lib/search-index-event.ts +56 -0
- package/src/search-source/lib/search-replay.ts +96 -0
- package/src/search-source/lib/search-source-descriptor.ts +50 -0
- package/src/service-registry/index.ts +3 -0
- package/src/service-registry/lib/inject-service.ts +25 -0
- package/src/service-registry/lib/service-descriptor.ts +75 -0
- package/src/service-registry/lib/service-registry-client.ts +107 -0
- package/src/skill/index.ts +15 -0
- package/src/skill/lib/skill-enums.ts +124 -0
- package/src/skill/lib/skill-governance.ts +281 -0
- package/src/skill/lib/skill-source.ts +41 -0
- package/src/skill/lib/skill.ts +150 -0
- package/src/space/index.ts +3 -0
- package/src/space/lib/space-ref-parser.ts +198 -0
- package/src/space/lib/space-traversal.ts +55 -0
- package/src/space/lib/space.ts +173 -0
- package/src/subject/index.ts +2 -0
- package/src/subject/lib/subject.ts +111 -0
- package/src/subject/lib/token-class.ts +27 -0
- package/src/workflow/index.ts +45 -0
- package/src/workflow/lib/action-ref.ts +48 -0
- package/src/workflow/lib/activity-outputs.ts +105 -0
- package/src/workflow/lib/agent-role.ts +136 -0
- package/src/workflow/lib/artifact-ref.ts +93 -0
- package/src/workflow/lib/briefcase.ts +194 -0
- package/src/workflow/lib/canonical-concepts/canonical-concept-registry.ts +99 -0
- package/src/workflow/lib/canonical-concepts/concepts/change-intent.concepts.ts +124 -0
- package/src/workflow/lib/canonical-concepts/concepts/concern.concepts.ts +194 -0
- package/src/workflow/lib/canonical-concepts/concepts/domain.concepts.ts +205 -0
- package/src/workflow/lib/canonical-concepts/concepts/index.ts +15 -0
- package/src/workflow/lib/canonical-concepts/concepts/technology.concepts.ts +667 -0
- package/src/workflow/lib/canonical-concepts/index.ts +2 -0
- package/src/workflow/lib/catalog-taxonomies.ts +3695 -0
- package/src/workflow/lib/compiled-run.ts +376 -0
- package/src/workflow/lib/compiled-working-file.ts +35 -0
- package/src/workflow/lib/compiled-workspace-manifest.ts +185 -0
- package/src/workflow/lib/concurrency-group.ts +17 -0
- package/src/workflow/lib/deliverable-result.ts +238 -0
- package/src/workflow/lib/domain-tag.ts +48 -0
- package/src/workflow/lib/enums.ts +288 -0
- package/src/workflow/lib/errors.ts +171 -0
- package/src/workflow/lib/job-run.ts +65 -0
- package/src/workflow/lib/model-ref.ts +118 -0
- package/src/workflow/lib/mount-plan.ts +230 -0
- package/src/workflow/lib/phase-report.ts +67 -0
- package/src/workflow/lib/platform-task-queue.ts +83 -0
- package/src/workflow/lib/review-subject/index.ts +15 -0
- package/src/workflow/lib/review-subject/kinds.ts +31 -0
- package/src/workflow/lib/review-subject/narrow.ts +123 -0
- package/src/workflow/lib/review-subject/producers/artifact-ref.ts +33 -0
- package/src/workflow/lib/review-subject/producers/string.ts +24 -0
- package/src/workflow/lib/role-capability.ts +80 -0
- package/src/workflow/lib/run-progress.ts +254 -0
- package/src/workflow/lib/sampling-profiles.ts +153 -0
- package/src/workflow/lib/snapshot-ref.ts +27 -0
- package/src/workflow/lib/temporal-namespace.ts +78 -0
- package/src/workflow/lib/trigger-payload.ts +69 -0
- package/src/workflow/lib/variable-requirement.ts +66 -0
- package/src/workflow/lib/work-item-payloads.ts +139 -0
- package/src/workflow/lib/workflow-stage.ts +89 -0
- package/src/workflow/lib/workspace-manifest-enums.ts +143 -0
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { SpaceKind, type SpaceRef } from './space';
|
|
2
|
+
|
|
3
|
+
// SpaceRef URI grammar (plan §2 + §6.A.2):
|
|
4
|
+
//
|
|
5
|
+
// xema://system
|
|
6
|
+
// xema://org/<org>
|
|
7
|
+
// xema://org/<org>/project/<project>
|
|
8
|
+
// xema://org/<org>/project/<project>/app/<app>
|
|
9
|
+
// xema://org/<org>/project/<project>/app/<app>/session/<session>
|
|
10
|
+
// xema://org/<org>/project/<project>/app/<app>/biome/<biome>
|
|
11
|
+
// xema://user/<user>
|
|
12
|
+
//
|
|
13
|
+
// The grammar is closed and ordered. Every segment identifier matches
|
|
14
|
+
// `/^[a-z0-9][a-z0-9_-]*$/`. `system` is the rootless kind. `user` is a
|
|
15
|
+
// sibling of `org` (a User Space is owned by the person, not an org).
|
|
16
|
+
// Bound to the SpaceKind enum — adding a new kind requires extending both.
|
|
17
|
+
|
|
18
|
+
const SCHEME = 'xema://';
|
|
19
|
+
const IDENT_REGEX = /^[a-z0-9][a-z0-9_-]*$/;
|
|
20
|
+
|
|
21
|
+
const SEGMENT_KEYS = ['org', 'project', 'app', 'session', 'biome', 'user'] as const;
|
|
22
|
+
type SegmentKey = (typeof SEGMENT_KEYS)[number];
|
|
23
|
+
|
|
24
|
+
const SEGMENT_KEY_SET: ReadonlySet<string> = new Set(SEGMENT_KEYS);
|
|
25
|
+
|
|
26
|
+
// Ordered prefix chains — the deepest segment determines `tier`.
|
|
27
|
+
// Each chain must be a strict prefix of one canonical path.
|
|
28
|
+
const KIND_BY_DEEPEST_SEGMENT: Readonly<Record<SegmentKey, SpaceKind>> = {
|
|
29
|
+
org: SpaceKind.Org,
|
|
30
|
+
project: SpaceKind.Project,
|
|
31
|
+
app: SpaceKind.App,
|
|
32
|
+
session: SpaceKind.Session,
|
|
33
|
+
biome: SpaceKind.Biome,
|
|
34
|
+
user: SpaceKind.User,
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// Maps URI segment keys to the corresponding SpaceRef field name.
|
|
38
|
+
const FIELD_OF: Readonly<Record<SegmentKey, keyof SpaceRef>> = {
|
|
39
|
+
org: 'orgId',
|
|
40
|
+
project: 'projectId',
|
|
41
|
+
app: 'appId',
|
|
42
|
+
session: 'sessionId',
|
|
43
|
+
biome: 'biomeId',
|
|
44
|
+
user: 'userId',
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
// Allowed parent for each segment — enforces the canonical ordering.
|
|
48
|
+
const PARENT_OF: Readonly<Record<SegmentKey, SegmentKey | null>> = {
|
|
49
|
+
org: null,
|
|
50
|
+
project: 'org',
|
|
51
|
+
app: 'project',
|
|
52
|
+
session: 'app',
|
|
53
|
+
biome: 'app',
|
|
54
|
+
user: null,
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
export class SpaceRefParseError extends Error {
|
|
58
|
+
readonly raw: string;
|
|
59
|
+
constructor(message: string, raw: string) {
|
|
60
|
+
super(message);
|
|
61
|
+
this.name = 'SpaceRefParseError';
|
|
62
|
+
this.raw = raw;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export function parseSpaceRef(uri: string): SpaceRef {
|
|
67
|
+
if (typeof uri !== 'string' || uri.length === 0) {
|
|
68
|
+
throw new SpaceRefParseError('SpaceRef URI must be a non-empty string.', String(uri));
|
|
69
|
+
}
|
|
70
|
+
if (!uri.startsWith(SCHEME)) {
|
|
71
|
+
throw new SpaceRefParseError(`SpaceRef URI must start with "${SCHEME}".`, uri);
|
|
72
|
+
}
|
|
73
|
+
const body = uri.slice(SCHEME.length);
|
|
74
|
+
if (body.length === 0) {
|
|
75
|
+
throw new SpaceRefParseError('SpaceRef URI has empty body after scheme.', uri);
|
|
76
|
+
}
|
|
77
|
+
const parts = body.split('/');
|
|
78
|
+
|
|
79
|
+
if (parts.length === 1 && parts[0] === 'system') {
|
|
80
|
+
return { tier: SpaceKind.System, path: uri };
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (parts.length % 2 !== 0) {
|
|
84
|
+
throw new SpaceRefParseError(
|
|
85
|
+
`SpaceRef URI body must be pairs of <segment>/<id> (got ${parts.length} parts).`,
|
|
86
|
+
uri,
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const segments: Partial<Record<SegmentKey, string>> = {};
|
|
91
|
+
let lastSegment: SegmentKey | null = null;
|
|
92
|
+
|
|
93
|
+
for (let i = 0; i < parts.length; i += 2) {
|
|
94
|
+
const key = parts[i]!;
|
|
95
|
+
const value = parts[i + 1]!;
|
|
96
|
+
if (!SEGMENT_KEY_SET.has(key)) {
|
|
97
|
+
throw new SpaceRefParseError(
|
|
98
|
+
`SpaceRef URI has unknown segment key "${key}". Allowed: ${SEGMENT_KEYS.join(', ')}.`,
|
|
99
|
+
uri,
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
const typedKey = key as SegmentKey;
|
|
103
|
+
if (segments[typedKey] !== undefined) {
|
|
104
|
+
throw new SpaceRefParseError(`SpaceRef URI repeats segment "${key}".`, uri);
|
|
105
|
+
}
|
|
106
|
+
if (!IDENT_REGEX.test(value)) {
|
|
107
|
+
throw new SpaceRefParseError(
|
|
108
|
+
`SpaceRef URI segment "${key}" has invalid id "${value}".`,
|
|
109
|
+
uri,
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
const expectedParent = PARENT_OF[typedKey];
|
|
113
|
+
if (expectedParent !== lastSegment) {
|
|
114
|
+
throw new SpaceRefParseError(
|
|
115
|
+
`SpaceRef URI segment "${key}" must follow "${expectedParent ?? '(root)'}", got "${lastSegment ?? '(root)'}".`,
|
|
116
|
+
uri,
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
segments[typedKey] = value;
|
|
120
|
+
lastSegment = typedKey;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (lastSegment === null) {
|
|
124
|
+
throw new SpaceRefParseError('SpaceRef URI parsed no segments.', uri);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
const tier = KIND_BY_DEEPEST_SEGMENT[lastSegment];
|
|
128
|
+
const ref: SpaceRef = { tier, path: uri };
|
|
129
|
+
for (const segKey of SEGMENT_KEYS) {
|
|
130
|
+
const segValue = segments[segKey];
|
|
131
|
+
if (segValue !== undefined) {
|
|
132
|
+
const fieldName = FIELD_OF[segKey];
|
|
133
|
+
(ref as unknown as Record<string, string>)[fieldName] = segValue;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return ref;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export function formatSpaceRef(ref: SpaceRef): string {
|
|
140
|
+
if (ref.tier === SpaceKind.System) {
|
|
141
|
+
return `${SCHEME}system`;
|
|
142
|
+
}
|
|
143
|
+
const out: string[] = [SCHEME];
|
|
144
|
+
const append = (key: SegmentKey, value: string | undefined): void => {
|
|
145
|
+
if (value === undefined) {
|
|
146
|
+
throw new SpaceRefParseError(
|
|
147
|
+
`formatSpaceRef: missing required segment "${key}" for tier "${ref.tier}".`,
|
|
148
|
+
ref.tier,
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
if (!IDENT_REGEX.test(value)) {
|
|
152
|
+
throw new SpaceRefParseError(
|
|
153
|
+
`formatSpaceRef: segment "${key}" id "${value}" violates grammar.`,
|
|
154
|
+
ref.tier,
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
if (out.length > 1) out.push('/');
|
|
158
|
+
out.push(`${key}/${value}`);
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
switch (ref.tier) {
|
|
162
|
+
case SpaceKind.User:
|
|
163
|
+
append('user', ref.userId);
|
|
164
|
+
break;
|
|
165
|
+
case SpaceKind.Org:
|
|
166
|
+
append('org', ref.orgId);
|
|
167
|
+
break;
|
|
168
|
+
case SpaceKind.Project:
|
|
169
|
+
append('org', ref.orgId);
|
|
170
|
+
append('project', ref.projectId);
|
|
171
|
+
break;
|
|
172
|
+
case SpaceKind.App:
|
|
173
|
+
append('org', ref.orgId);
|
|
174
|
+
append('project', ref.projectId);
|
|
175
|
+
append('app', ref.appId);
|
|
176
|
+
break;
|
|
177
|
+
case SpaceKind.Session:
|
|
178
|
+
append('org', ref.orgId);
|
|
179
|
+
append('project', ref.projectId);
|
|
180
|
+
append('app', ref.appId);
|
|
181
|
+
append('session', ref.sessionId);
|
|
182
|
+
break;
|
|
183
|
+
case SpaceKind.Biome:
|
|
184
|
+
append('org', ref.orgId);
|
|
185
|
+
append('project', ref.projectId);
|
|
186
|
+
append('app', ref.appId);
|
|
187
|
+
append('biome', ref.biomeId);
|
|
188
|
+
break;
|
|
189
|
+
default: {
|
|
190
|
+
const exhaustive: never = ref.tier;
|
|
191
|
+
throw new SpaceRefParseError(
|
|
192
|
+
`formatSpaceRef: unhandled SpaceKind "${String(exhaustive)}".`,
|
|
193
|
+
String(exhaustive),
|
|
194
|
+
);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
return out.join('');
|
|
198
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { formatSpaceRef } from './space-ref-parser';
|
|
2
|
+
import { SpaceKind, type SpaceRef } from './space';
|
|
3
|
+
|
|
4
|
+
// Closest-first ancestor walk. For a Project space the walk is
|
|
5
|
+
// [Project, Org, System]; for a Session space it is
|
|
6
|
+
// [Session, App, Project, Org, System]; for a User space it is
|
|
7
|
+
// [User, System]. Used by policy resolution: "most-specific match wins".
|
|
8
|
+
//
|
|
9
|
+
// Implementation: derive each ancestor by stripping the deepest segment.
|
|
10
|
+
// We rebuild via formatSpaceRef so the returned `path` is always canonical.
|
|
11
|
+
export function walkAncestors(ref: SpaceRef): SpaceRef[] {
|
|
12
|
+
const out: SpaceRef[] = [];
|
|
13
|
+
let current: SpaceRef | null = ref;
|
|
14
|
+
while (current !== null) {
|
|
15
|
+
out.push(current);
|
|
16
|
+
current = parentOf(current);
|
|
17
|
+
}
|
|
18
|
+
return out;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function parentOf(ref: SpaceRef): SpaceRef | null {
|
|
22
|
+
switch (ref.tier) {
|
|
23
|
+
case SpaceKind.System:
|
|
24
|
+
return null;
|
|
25
|
+
case SpaceKind.User:
|
|
26
|
+
case SpaceKind.Org:
|
|
27
|
+
return { tier: SpaceKind.System, path: formatSpaceRef({ tier: SpaceKind.System }) };
|
|
28
|
+
case SpaceKind.Project: {
|
|
29
|
+
const parent: SpaceRef = { tier: SpaceKind.Org };
|
|
30
|
+
if (ref.orgId !== undefined) parent.orgId = ref.orgId;
|
|
31
|
+
parent.path = formatSpaceRef(parent);
|
|
32
|
+
return parent;
|
|
33
|
+
}
|
|
34
|
+
case SpaceKind.App: {
|
|
35
|
+
const parent: SpaceRef = { tier: SpaceKind.Project };
|
|
36
|
+
if (ref.orgId !== undefined) parent.orgId = ref.orgId;
|
|
37
|
+
if (ref.projectId !== undefined) parent.projectId = ref.projectId;
|
|
38
|
+
parent.path = formatSpaceRef(parent);
|
|
39
|
+
return parent;
|
|
40
|
+
}
|
|
41
|
+
case SpaceKind.Session:
|
|
42
|
+
case SpaceKind.Biome: {
|
|
43
|
+
const parent: SpaceRef = { tier: SpaceKind.App };
|
|
44
|
+
if (ref.orgId !== undefined) parent.orgId = ref.orgId;
|
|
45
|
+
if (ref.projectId !== undefined) parent.projectId = ref.projectId;
|
|
46
|
+
if (ref.appId !== undefined) parent.appId = ref.appId;
|
|
47
|
+
parent.path = formatSpaceRef(parent);
|
|
48
|
+
return parent;
|
|
49
|
+
}
|
|
50
|
+
default: {
|
|
51
|
+
const exhaustive: never = ref.tier;
|
|
52
|
+
throw new Error(`walkAncestors: unhandled SpaceKind "${String(exhaustive)}".`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Closed kind set — Spaces have exactly these 7 layers (plan v4.3 §2/§3
|
|
5
|
+
* vocabulary). Replaces the legacy 5-tier `ScopeTier` (System / Biome /
|
|
6
|
+
* Org / Project / User) by adding `App` and `Session` for the runtime
|
|
7
|
+
* ownership plane introduced in Phase A.2.
|
|
8
|
+
*
|
|
9
|
+
* Precedence is **most specific wins**:
|
|
10
|
+
* User > Session > Biome > App > Project > Org > System
|
|
11
|
+
* applied by `walkAncestors` in `./space-traversal`.
|
|
12
|
+
*/
|
|
13
|
+
export enum SpaceKind {
|
|
14
|
+
System = 'system',
|
|
15
|
+
Org = 'org',
|
|
16
|
+
Project = 'project',
|
|
17
|
+
App = 'app',
|
|
18
|
+
Session = 'session',
|
|
19
|
+
Biome = 'biome',
|
|
20
|
+
User = 'user',
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** Closed data-classification set used by policy obligations + redaction. */
|
|
24
|
+
export enum DataClassification {
|
|
25
|
+
Public = 'public',
|
|
26
|
+
Internal = 'internal',
|
|
27
|
+
Confidential = 'confidential',
|
|
28
|
+
Secret = 'secret',
|
|
29
|
+
Regulated = 'regulated',
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* `SpaceRef` — the canonical structured pointer to a Space.
|
|
34
|
+
*
|
|
35
|
+
* The `tier` field carries the {@link SpaceKind} value. Each tier
|
|
36
|
+
* requires the matching `<x>Id` segment to be set; ancestor segments
|
|
37
|
+
* MAY be populated when known (e.g. a `Project` ref carries both
|
|
38
|
+
* `orgId` and `projectId`). Optional `path` carries the fully-formatted
|
|
39
|
+
* `xema://...` URI when materialised.
|
|
40
|
+
*
|
|
41
|
+
* Phase A.2 (plan v4.3) — value-identical rename from `ScopeRef`. Field
|
|
42
|
+
* names (`tier`, `orgId`, `projectId`, `biomeId`, `userId`) are
|
|
43
|
+
* unchanged so the rename is a single identifier swap at every consumer.
|
|
44
|
+
*/
|
|
45
|
+
export interface SpaceRef {
|
|
46
|
+
tier: SpaceKind;
|
|
47
|
+
orgId?: string;
|
|
48
|
+
projectId?: string;
|
|
49
|
+
appId?: string;
|
|
50
|
+
sessionId?: string;
|
|
51
|
+
biomeId?: string;
|
|
52
|
+
userId?: string;
|
|
53
|
+
path?: string;
|
|
54
|
+
classification?: DataClassification;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export const SpaceKindSchema = z.nativeEnum(SpaceKind);
|
|
58
|
+
export const DataClassificationSchema = z.nativeEnum(DataClassification);
|
|
59
|
+
|
|
60
|
+
type SegmentKey =
|
|
61
|
+
| 'orgId'
|
|
62
|
+
| 'projectId'
|
|
63
|
+
| 'appId'
|
|
64
|
+
| 'sessionId'
|
|
65
|
+
| 'biomeId'
|
|
66
|
+
| 'userId';
|
|
67
|
+
|
|
68
|
+
const spaceRefBaseShape = {
|
|
69
|
+
tier: SpaceKindSchema,
|
|
70
|
+
orgId: z.string().min(1).optional(),
|
|
71
|
+
projectId: z.string().min(1).optional(),
|
|
72
|
+
appId: z.string().min(1).optional(),
|
|
73
|
+
sessionId: z.string().min(1).optional(),
|
|
74
|
+
biomeId: z.string().min(1).optional(),
|
|
75
|
+
userId: z.string().min(1).optional(),
|
|
76
|
+
path: z.string().min(1).optional(),
|
|
77
|
+
classification: DataClassificationSchema.optional(),
|
|
78
|
+
} as const;
|
|
79
|
+
|
|
80
|
+
type SpaceRefValidated = z.infer<z.ZodObject<typeof spaceRefBaseShape>>;
|
|
81
|
+
|
|
82
|
+
function validateSpaceRefSegments(
|
|
83
|
+
value: SpaceRefValidated,
|
|
84
|
+
ctx: z.RefinementCtx,
|
|
85
|
+
): void {
|
|
86
|
+
const required = REQUIRED_SEGMENTS[value.tier];
|
|
87
|
+
for (const key of required) {
|
|
88
|
+
const segValue = value[key as keyof SpaceRefValidated];
|
|
89
|
+
if (!segValue) {
|
|
90
|
+
ctx.addIssue({
|
|
91
|
+
code: z.ZodIssueCode.custom,
|
|
92
|
+
message: `SpaceKind.${value.tier} requires ${key}`,
|
|
93
|
+
path: [key],
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export const SpaceRefSchema = z
|
|
100
|
+
.object(spaceRefBaseShape)
|
|
101
|
+
.superRefine(validateSpaceRefSegments);
|
|
102
|
+
|
|
103
|
+
const REQUIRED_SEGMENTS: Readonly<Record<SpaceKind, readonly SegmentKey[]>> = {
|
|
104
|
+
[SpaceKind.System]: [],
|
|
105
|
+
[SpaceKind.Org]: ['orgId'],
|
|
106
|
+
[SpaceKind.Project]: ['orgId', 'projectId'],
|
|
107
|
+
[SpaceKind.App]: ['orgId', 'projectId', 'appId'],
|
|
108
|
+
[SpaceKind.Session]: ['sessionId'],
|
|
109
|
+
[SpaceKind.Biome]: ['biomeId'],
|
|
110
|
+
[SpaceKind.User]: ['userId'],
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Render a `SpaceRef` as its XVFS path prefix (used by `XemaObjectRef`
|
|
115
|
+
* formatting and by object-registry-api projections). Returns a string
|
|
116
|
+
* that starts with `/`. Fails fast if a required segment is missing.
|
|
117
|
+
*/
|
|
118
|
+
export function spaceRefToPath(ref: SpaceRef): string {
|
|
119
|
+
switch (ref.tier) {
|
|
120
|
+
case SpaceKind.System:
|
|
121
|
+
return '/system';
|
|
122
|
+
case SpaceKind.Biome:
|
|
123
|
+
if (!ref.biomeId) {
|
|
124
|
+
throw new Error('spaceRefToPath: SpaceKind.Biome requires biomeId');
|
|
125
|
+
}
|
|
126
|
+
return `/biomes/${ref.biomeId}`;
|
|
127
|
+
case SpaceKind.Org:
|
|
128
|
+
if (!ref.orgId) {
|
|
129
|
+
throw new Error('spaceRefToPath: SpaceKind.Org requires orgId');
|
|
130
|
+
}
|
|
131
|
+
return `/orgs/${ref.orgId}`;
|
|
132
|
+
case SpaceKind.Project:
|
|
133
|
+
if (!ref.orgId || !ref.projectId) {
|
|
134
|
+
throw new Error(
|
|
135
|
+
'spaceRefToPath: SpaceKind.Project requires orgId and projectId',
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
return `/orgs/${ref.orgId}/projects/${ref.projectId}`;
|
|
139
|
+
case SpaceKind.App:
|
|
140
|
+
if (!ref.orgId || !ref.projectId || !ref.appId) {
|
|
141
|
+
throw new Error(
|
|
142
|
+
'spaceRefToPath: SpaceKind.App requires orgId, projectId, and appId',
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
return `/orgs/${ref.orgId}/projects/${ref.projectId}/apps/${ref.appId}`;
|
|
146
|
+
case SpaceKind.Session:
|
|
147
|
+
if (!ref.sessionId) {
|
|
148
|
+
throw new Error('spaceRefToPath: SpaceKind.Session requires sessionId');
|
|
149
|
+
}
|
|
150
|
+
return `/sessions/${ref.sessionId}`;
|
|
151
|
+
case SpaceKind.User:
|
|
152
|
+
if (!ref.userId) {
|
|
153
|
+
throw new Error('spaceRefToPath: SpaceKind.User requires userId');
|
|
154
|
+
}
|
|
155
|
+
return `/users/${ref.userId}`;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* `Space` — the persisted Space row shape consumed across services.
|
|
161
|
+
* Domain services own their own storage; this is the wire contract used
|
|
162
|
+
* by the object-registry-api projection and by policy decisions.
|
|
163
|
+
*/
|
|
164
|
+
export interface Space {
|
|
165
|
+
id: string;
|
|
166
|
+
ref: SpaceRef;
|
|
167
|
+
displayName: string;
|
|
168
|
+
parentId?: string;
|
|
169
|
+
classification?: DataClassification;
|
|
170
|
+
createdAt: string;
|
|
171
|
+
updatedAt: string;
|
|
172
|
+
labels?: Record<string, string>;
|
|
173
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Canonical, closed subject taxonomy for Xema (the single source of truth).
|
|
5
|
+
*
|
|
6
|
+
* Every Xema invocation has exactly one Subject; the kind tells policy how to
|
|
7
|
+
* interpret `id` (e.g. a Keycloak user id vs an agent slug vs a service-account
|
|
8
|
+
* name vs an opaque external-session id) and which obligations apply.
|
|
9
|
+
*
|
|
10
|
+
* This is the UNION of the historically-divergent enums that previously lived
|
|
11
|
+
* in `@xemahq/capability-contracts` and `@xemahq/execution-context-contracts`.
|
|
12
|
+
* Both now re-export from here. Closed set — adding a kind is a kernel change
|
|
13
|
+
* (boundary CI rejects an unknown discriminator at runtime via the schema).
|
|
14
|
+
*
|
|
15
|
+
* NOTE: `workflow` is intentionally NOT a SubjectKind. A workflow run acts as a
|
|
16
|
+
* `service` (or `agent`) subject distinguished by its `TokenClass`
|
|
17
|
+
* (`workflow_runtime_token`) — token class is orthogonal to subject kind, so we
|
|
18
|
+
* do not double-encode it here.
|
|
19
|
+
*/
|
|
20
|
+
export enum SubjectKind {
|
|
21
|
+
User = 'user',
|
|
22
|
+
Agent = 'agent',
|
|
23
|
+
App = 'app',
|
|
24
|
+
AppClient = 'app-client',
|
|
25
|
+
Service = 'service',
|
|
26
|
+
Group = 'group',
|
|
27
|
+
Role = 'role',
|
|
28
|
+
Runner = 'runner',
|
|
29
|
+
ExternalSubject = 'external-subject',
|
|
30
|
+
Anon = 'anon',
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const SubjectKindSchema = z.nativeEnum(SubjectKind);
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Delegation pointer. Set on `SubjectRef.actingFor` when the present Subject is
|
|
37
|
+
* acting on behalf of another Subject (e.g. an agent invoking a capability
|
|
38
|
+
* under a user's authority). Policy MUST evaluate BOTH the acting subject and
|
|
39
|
+
* the principal — never conflate or drop the `actingFor` half.
|
|
40
|
+
*
|
|
41
|
+
* For multi-hop delegation (external visitor → agent-session → agent → owner)
|
|
42
|
+
* carry the full ordered chain on `RequestContext.actorChain`; `actingFor` is
|
|
43
|
+
* the single immediate principal.
|
|
44
|
+
*/
|
|
45
|
+
export interface ActingForRef {
|
|
46
|
+
kind: SubjectKind;
|
|
47
|
+
id: string;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export const ActingForRefSchema = z.object({
|
|
51
|
+
kind: SubjectKindSchema,
|
|
52
|
+
id: z.string().min(1),
|
|
53
|
+
}) as z.ZodType<ActingForRef>;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* `SubjectRef` — the canonical pointer to who is invoking a capability.
|
|
57
|
+
*
|
|
58
|
+
* Shape: `{ kind, id, roles?, actingFor? }`. `id` is the bare per-kind
|
|
59
|
+
* identifier (NOT a `kind:id` composite — use `subjectRefToString` when a
|
|
60
|
+
* composite string is needed, e.g. for OpenFGA object ids or grant-table refs).
|
|
61
|
+
* `roles` is an OPAQUE array of role identifiers — the closed dictionary is
|
|
62
|
+
* owned by `authorization-api` + the org policy bundle, not by the kernel.
|
|
63
|
+
*/
|
|
64
|
+
export interface SubjectRef {
|
|
65
|
+
kind: SubjectKind;
|
|
66
|
+
id: string;
|
|
67
|
+
roles?: string[];
|
|
68
|
+
actingFor?: ActingForRef;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export const SubjectRefSchema = z.object({
|
|
72
|
+
kind: SubjectKindSchema,
|
|
73
|
+
id: z.string().min(1),
|
|
74
|
+
roles: z.array(z.string().min(1)).optional(),
|
|
75
|
+
actingFor: ActingForRefSchema.optional(),
|
|
76
|
+
}) as z.ZodType<SubjectRef>;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Render a subject to its canonical composite string `"<kind>:<id>"` — the
|
|
80
|
+
* encoding used for OpenFGA object ids and the `authorization-api` grant-table
|
|
81
|
+
* `subjectRef` column. Lossless inverse of `parseSubjectRef`: `id` may itself
|
|
82
|
+
* contain `:` (only the kind prefix is split off), so round-tripping is stable.
|
|
83
|
+
*/
|
|
84
|
+
export function subjectRefToString(
|
|
85
|
+
subject: Pick<SubjectRef, 'kind' | 'id'>,
|
|
86
|
+
): string {
|
|
87
|
+
return `${subject.kind}:${subject.id}`;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Parse a canonical composite string `"<kind>:<id>"` back into a `SubjectRef`.
|
|
92
|
+
* Splits ONLY on the first `:` so ids containing colons survive. Fail-fast on a
|
|
93
|
+
* missing/empty id or an unknown kind — never silently coerce.
|
|
94
|
+
*/
|
|
95
|
+
export function parseSubjectRef(ref: string): SubjectRef {
|
|
96
|
+
const firstColon = ref.indexOf(':');
|
|
97
|
+
if (firstColon <= 0 || firstColon === ref.length - 1) {
|
|
98
|
+
throw new Error(
|
|
99
|
+
`Invalid subject ref "${ref}": expected "<kind>:<id>" with a non-empty kind and id.`,
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
const kind = ref.slice(0, firstColon);
|
|
103
|
+
const id = ref.slice(firstColon + 1);
|
|
104
|
+
const parsed = SubjectKindSchema.safeParse(kind);
|
|
105
|
+
if (!parsed.success) {
|
|
106
|
+
throw new Error(
|
|
107
|
+
`Invalid subject ref "${ref}": "${kind}" is not a known SubjectKind.`,
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
return { kind: parsed.data, id };
|
|
111
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Closed set of token classes Xema mints and enforces. The class is an explicit
|
|
5
|
+
* minted claim (`token_class`) — it is orthogonal to `SubjectKind` and travels
|
|
6
|
+
* with the subject on `RequestContext.tokenClass`. Guards enforce class
|
|
7
|
+
* boundaries (e.g. `ServiceActorGuard` admits ONLY `service_jwt`; the
|
|
8
|
+
* capability-router/public-gateway edges admit the scoped runtime/session
|
|
9
|
+
* classes on invoke routes via `@RequireTokenClass`).
|
|
10
|
+
*
|
|
11
|
+
* - `user_jwt` — browser/user login token (browser-safe APIs, public gateway).
|
|
12
|
+
* - `service_jwt` — trusted platform service-to-service token (internal APIs, capability-router).
|
|
13
|
+
* - `agent_runtime_token` — scoped agent token; may invoke capabilities per grants, NOT call internal s2s APIs.
|
|
14
|
+
* - `workflow_runtime_token` — scoped workflow-run token; same constraints as agent.
|
|
15
|
+
* - `external_session_token` — scoped website-visitor/public-session token; only its channel/session surface.
|
|
16
|
+
* - `runner_attestation_token` — biome-runner token for register/heartbeat/claim-work.
|
|
17
|
+
*/
|
|
18
|
+
export enum TokenClass {
|
|
19
|
+
UserJwt = 'user_jwt',
|
|
20
|
+
ServiceJwt = 'service_jwt',
|
|
21
|
+
AgentRuntimeToken = 'agent_runtime_token',
|
|
22
|
+
WorkflowRuntimeToken = 'workflow_runtime_token',
|
|
23
|
+
ExternalSessionToken = 'external_session_token',
|
|
24
|
+
RunnerAttestationToken = 'runner_attestation_token',
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export const TokenClassSchema = z.nativeEnum(TokenClass);
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
2
|
+
// ── Workflow Contracts — Barrel Export ──
|
|
3
|
+
//
|
|
4
|
+
// Types + enums shared between workflow-engine-api, workflow-runtime-worker,
|
|
5
|
+
// and the frontend client. Runtime-framework-agnostic. No NestJS, no Prisma.
|
|
6
|
+
//
|
|
7
|
+
// Consumers import specific symbols; never re-declare these shapes locally.
|
|
8
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
9
|
+
|
|
10
|
+
export * from './lib/enums';
|
|
11
|
+
export * from './lib/temporal-namespace';
|
|
12
|
+
export * from './lib/platform-task-queue';
|
|
13
|
+
export * from './lib/errors';
|
|
14
|
+
export * from './lib/snapshot-ref';
|
|
15
|
+
export * from './lib/action-ref';
|
|
16
|
+
export * from './lib/artifact-ref';
|
|
17
|
+
export * from './lib/activity-outputs';
|
|
18
|
+
export * from './lib/mount-plan';
|
|
19
|
+
export * from './lib/agent-role';
|
|
20
|
+
export * from './lib/role-capability';
|
|
21
|
+
export * from './lib/concurrency-group';
|
|
22
|
+
export * from './lib/trigger-payload';
|
|
23
|
+
export * from './lib/compiled-run';
|
|
24
|
+
export * from './lib/variable-requirement';
|
|
25
|
+
export * from './lib/compiled-workspace-manifest';
|
|
26
|
+
export * from './lib/workspace-manifest-enums';
|
|
27
|
+
export * from './lib/model-ref';
|
|
28
|
+
export * from './lib/job-run';
|
|
29
|
+
export * from './lib/run-progress';
|
|
30
|
+
export * from './lib/deliverable-result';
|
|
31
|
+
export * from './lib/review-subject/index';
|
|
32
|
+
export * from './lib/briefcase';
|
|
33
|
+
|
|
34
|
+
// Workflow-domain types absorbed from the deleted pipeline-contracts package.
|
|
35
|
+
export * from './lib/catalog-taxonomies';
|
|
36
|
+
export * from './lib/domain-tag';
|
|
37
|
+
// Generic ordered-stage contract. The software-delivery-specific stage list,
|
|
38
|
+
// hierarchy, and gate-reviewer map were relocated to the software-dev biome
|
|
39
|
+
// (`biomes/platform/software-dev/workflow-config/phase-config.json`) — the
|
|
40
|
+
// kernel carries no domain phase enum.
|
|
41
|
+
export * from './lib/workflow-stage';
|
|
42
|
+
export * from './lib/phase-report';
|
|
43
|
+
export * from './lib/work-item-payloads';
|
|
44
|
+
export * from './lib/sampling-profiles';
|
|
45
|
+
export * from './lib/canonical-concepts';
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ActionExecutionKind, ActionKind, TaskQueueName } from './enums';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Immutable reference to a specific action version resolved at compile time.
|
|
5
|
+
* The compiler replaces authored `uses: xema/<id>@<ver>` strings with this
|
|
6
|
+
* structure so the engine + worker never re-resolve at runtime (defensively
|
|
7
|
+
* against action-manifest drift between compile and execute).
|
|
8
|
+
*/
|
|
9
|
+
export interface ActionRef {
|
|
10
|
+
/** Action id, e.g. `xema/agent`. For reusable workflows, `xema://workflow/<slug>`. */
|
|
11
|
+
readonly id: string;
|
|
12
|
+
/** Semantic version — resolved from `@<ver>` against the action-manifest registry. */
|
|
13
|
+
readonly version: string;
|
|
14
|
+
/** sha256 of the resolved action manifest YAML. Used for audit + cache keys. */
|
|
15
|
+
readonly manifestSha256: string;
|
|
16
|
+
/** How this action executes under Temporal. Fixed at the manifest level. */
|
|
17
|
+
readonly executionKind: ActionExecutionKind;
|
|
18
|
+
/** Temporal task queue this action executes on. Fixed at the manifest level. */
|
|
19
|
+
readonly taskQueue: TaskQueueName;
|
|
20
|
+
/**
|
|
21
|
+
* Semantic category of the action — drives consumer presentation
|
|
22
|
+
* (FE canvas shape, badge icon, narration colour). Closed enum at
|
|
23
|
+
* the kernel boundary; unknown strings from third-party manifests
|
|
24
|
+
* MUST be treated as `GENERIC` by consumers. Pinned at compile time
|
|
25
|
+
* from the manifest's `spec.actionKind`. Reusable workflows + legacy
|
|
26
|
+
* un-manifested actions get `GENERIC` (or `DISPATCH` for reusables).
|
|
27
|
+
*/
|
|
28
|
+
readonly actionKind: ActionKind;
|
|
29
|
+
/** True if `uses:` resolves to a reusable workflow rather than a built-in/custom action. */
|
|
30
|
+
readonly isReusableWorkflow: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* JSON Schema for the action's `with:` block, copied verbatim from
|
|
33
|
+
* `spec.inputs` of the resolved manifest at compile time. The worker
|
|
34
|
+
* validates each materialized `with:` payload against this schema before
|
|
35
|
+
* dispatching the activity, so the manifest's `pattern` / `enum` /
|
|
36
|
+
* `required` declarations are enforced at the engine boundary instead of
|
|
37
|
+
* silently surviving until a downstream service rejects them.
|
|
38
|
+
*
|
|
39
|
+
* Pinned at compile time on purpose: a workflow run validates against the
|
|
40
|
+
* SAME schema that was in effect when the run was compiled, even if a
|
|
41
|
+
* newer manifest version has been published since. No drift.
|
|
42
|
+
*
|
|
43
|
+
* Null only for reusable-workflow jobs (their `with:` is the parent
|
|
44
|
+
* workflow's `workflow_call.inputs`, validated by the child compile pass)
|
|
45
|
+
* and for legacy/un-manifested actions.
|
|
46
|
+
*/
|
|
47
|
+
readonly inputsSchema: Readonly<Record<string, unknown>> | null;
|
|
48
|
+
}
|