@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,266 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import {
|
|
3
|
+
CapabilityPolicySchema,
|
|
4
|
+
CapabilityError,
|
|
5
|
+
CapabilityErrorCode,
|
|
6
|
+
type CapabilityPolicy,
|
|
7
|
+
} from '../../capability';
|
|
8
|
+
import {
|
|
9
|
+
BUILT_IN_ENVIRONMENT_SLUGS,
|
|
10
|
+
ExecutionEnvironmentKind,
|
|
11
|
+
isExecutionEnvironmentKind,
|
|
12
|
+
} from './built-in-environments';
|
|
13
|
+
import { ApprovalRuleSchema, type ApprovalRule } from './approval-rule';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Canonical Execution Environment Reference grammar (plan §3.4):
|
|
17
|
+
*
|
|
18
|
+
* `environment:<slug>`
|
|
19
|
+
*
|
|
20
|
+
* where `<slug>` matches `/^[a-z][a-z0-9-]*$/` (kebab, must start with a
|
|
21
|
+
* letter). The grammar is intentionally tight so the reference can never
|
|
22
|
+
* silently absorb a free-form string.
|
|
23
|
+
*
|
|
24
|
+
* v1 only mints refs whose slug is an `ExecutionEnvironmentKind` value
|
|
25
|
+
* (plan §16 forbids custom environments). The type still validates the
|
|
26
|
+
* *grammar* — semantic "built-in-only" enforcement lives one layer up
|
|
27
|
+
* in `authorization-api`, which calls
|
|
28
|
+
* `isExecutionEnvironmentKind(parseEnvironmentRef(ref).slug)`.
|
|
29
|
+
*/
|
|
30
|
+
const EXECUTION_ENVIRONMENT_REF_REGEX = /^environment:[a-z][a-z0-9-]*$/;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Template-literal alias rather than a `unique symbol` brand — refs are
|
|
34
|
+
* serialized over the wire and JSON cannot carry a symbol; the literal
|
|
35
|
+
* alias still provides editor autocomplete on hand-written refs while
|
|
36
|
+
* accepting any string that matches the runtime regex.
|
|
37
|
+
*/
|
|
38
|
+
export type ExecutionEnvironmentRef = `environment:${string}` & {
|
|
39
|
+
readonly __executionEnvironmentRef?: never;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export const ExecutionEnvironmentRefSchema: z.ZodType<ExecutionEnvironmentRef> = z
|
|
43
|
+
.string()
|
|
44
|
+
.regex(EXECUTION_ENVIRONMENT_REF_REGEX, {
|
|
45
|
+
message:
|
|
46
|
+
'ExecutionEnvironmentRef must match `environment:<slug>` (lowercase kebab; must start with a letter).',
|
|
47
|
+
}) as unknown as z.ZodType<ExecutionEnvironmentRef>;
|
|
48
|
+
|
|
49
|
+
export interface ParsedExecutionEnvironmentRef {
|
|
50
|
+
readonly slug: string;
|
|
51
|
+
readonly raw: ExecutionEnvironmentRef;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Structured error thrown by `parseEnvironmentRef` / `formatEnvironmentRef`.
|
|
56
|
+
* Carries the stable `EXECUTION_ENVIRONMENT_REF_INVALID` code. Subclass
|
|
57
|
+
* of `CapabilityError` so call sites that already branch on capability-
|
|
58
|
+
* layer errors get this for free; the dedicated code keeps the denial
|
|
59
|
+
* taxonomy crisp.
|
|
60
|
+
*/
|
|
61
|
+
export class ExecutionEnvironmentRefParseError extends CapabilityError {
|
|
62
|
+
constructor(args: { message: string; raw: string }) {
|
|
63
|
+
super({
|
|
64
|
+
code: CapabilityErrorCode.CapabilityRefInvalid,
|
|
65
|
+
message: args.message,
|
|
66
|
+
capability: args.raw,
|
|
67
|
+
});
|
|
68
|
+
this.name = 'ExecutionEnvironmentRefParseError';
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/** Stable wire code for `ExecutionEnvironmentRefParseError`. */
|
|
73
|
+
export const EXECUTION_ENVIRONMENT_REF_INVALID = 'EXECUTION_ENVIRONMENT_REF_INVALID';
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Parse an `ExecutionEnvironmentRef` string into its structured parts.
|
|
77
|
+
* Throws `ExecutionEnvironmentRefParseError` on any grammar violation —
|
|
78
|
+
* never returns `null`, never silently coerces.
|
|
79
|
+
*/
|
|
80
|
+
export function parseEnvironmentRef(ref: string): ParsedExecutionEnvironmentRef {
|
|
81
|
+
if (typeof ref !== 'string' || ref.length === 0) {
|
|
82
|
+
throw new ExecutionEnvironmentRefParseError({
|
|
83
|
+
message: 'ExecutionEnvironmentRef must be a non-empty string.',
|
|
84
|
+
raw: String(ref),
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
if (!EXECUTION_ENVIRONMENT_REF_REGEX.test(ref)) {
|
|
88
|
+
throw new ExecutionEnvironmentRefParseError({
|
|
89
|
+
message: `ExecutionEnvironmentRef "${ref}" does not match \`environment:<slug>\`.`,
|
|
90
|
+
raw: ref,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
const slug = ref.slice('environment:'.length);
|
|
94
|
+
return { slug, raw: ref as ExecutionEnvironmentRef };
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Format an `ExecutionEnvironmentRef` from a slug. Performs the same
|
|
99
|
+
* validation as `parseEnvironmentRef` so every value produced round-
|
|
100
|
+
* trips cleanly.
|
|
101
|
+
*/
|
|
102
|
+
export function formatEnvironmentRef(slug: string): ExecutionEnvironmentRef {
|
|
103
|
+
const raw = `environment:${slug}`;
|
|
104
|
+
if (!EXECUTION_ENVIRONMENT_REF_REGEX.test(raw)) {
|
|
105
|
+
throw new ExecutionEnvironmentRefParseError({
|
|
106
|
+
message: `formatEnvironmentRef produced invalid ref "${raw}".`,
|
|
107
|
+
raw,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
return raw as ExecutionEnvironmentRef;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Pre-built `ExecutionEnvironmentRef` for every built-in environment.
|
|
115
|
+
* Consumers should refer to a built-in by
|
|
116
|
+
* `BUILT_IN_ENVIRONMENT_REFS[ExecutionEnvironmentKind.Sandbox]` rather
|
|
117
|
+
* than reconstructing the string.
|
|
118
|
+
*/
|
|
119
|
+
export const BUILT_IN_ENVIRONMENT_REFS: Record<
|
|
120
|
+
ExecutionEnvironmentKind,
|
|
121
|
+
ExecutionEnvironmentRef
|
|
122
|
+
> = Object.freeze(
|
|
123
|
+
BUILT_IN_ENVIRONMENT_SLUGS.reduce(
|
|
124
|
+
(acc, slug) => {
|
|
125
|
+
acc[slug] = formatEnvironmentRef(slug);
|
|
126
|
+
return acc;
|
|
127
|
+
},
|
|
128
|
+
{} as Record<ExecutionEnvironmentKind, ExecutionEnvironmentRef>,
|
|
129
|
+
),
|
|
130
|
+
);
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Runtime budget caps the environment advertises to the gateway (plan §3.4
|
|
134
|
+
* `ExecutionEnvironment.runtimeLimits`). All fields are optional — omitted means
|
|
135
|
+
* "no cap from the environment", but the gateway may still apply org- or
|
|
136
|
+
* grant-level caps. None of these fields fall back to a hidden default.
|
|
137
|
+
*/
|
|
138
|
+
export interface RuntimeLimits {
|
|
139
|
+
maxTokens?: number;
|
|
140
|
+
maxCostUsd?: number;
|
|
141
|
+
maxDurationSeconds?: number;
|
|
142
|
+
maxToolCalls?: number;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export const RuntimeLimitsSchema = z.object({
|
|
146
|
+
maxTokens: z.number().int().nonnegative().optional(),
|
|
147
|
+
maxCostUsd: z.number().nonnegative().optional(),
|
|
148
|
+
maxDurationSeconds: z.number().int().nonnegative().optional(),
|
|
149
|
+
maxToolCalls: z.number().int().nonnegative().optional(),
|
|
150
|
+
}) as z.ZodType<RuntimeLimits>;
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Allow-list of knowledge scope refs reachable from this environment (plan §3.4
|
|
154
|
+
* `ExecutionEnvironment.allowedKnowledgeScopes`).
|
|
155
|
+
*
|
|
156
|
+
* v1 keeps the shape minimal — the ref string is sufficient for the
|
|
157
|
+
* sandbox→prod boundary check that lands in Phase 4. Detailed per-scope
|
|
158
|
+
* sub-schemas (e.g. spaces, page subtrees, redaction rules) are scheduled
|
|
159
|
+
* for the knowledge-base-api Phase 4+ companion plan.
|
|
160
|
+
*/
|
|
161
|
+
export interface KnowledgePolicy {
|
|
162
|
+
allowedRefs: readonly string[];
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export const KnowledgePolicySchema = z.object({
|
|
166
|
+
allowedRefs: z.array(z.string().min(1)).readonly(),
|
|
167
|
+
}) as z.ZodType<KnowledgePolicy>;
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Allow-list of connector binding refs reachable from this environment (plan §3.4
|
|
171
|
+
* `ExecutionEnvironment.allowedConnectors`).
|
|
172
|
+
*
|
|
173
|
+
* v1 keeps the shape minimal — the ref string is sufficient for the
|
|
174
|
+
* sandbox→prod boundary check that lands in Phase 4. Per-connector
|
|
175
|
+
* permission detail (per-repo globs, per-tracker projects, etc.) is
|
|
176
|
+
* scheduled for the connector-gateway-api companion plan.
|
|
177
|
+
*/
|
|
178
|
+
export interface ConnectorPolicy {
|
|
179
|
+
allowedRefs: readonly string[];
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
export const ConnectorPolicySchema = z.object({
|
|
183
|
+
allowedRefs: z.array(z.string().min(1)).readonly(),
|
|
184
|
+
}) as z.ZodType<ConnectorPolicy>;
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Allow-list of biome refs that may run inside this environment (plan §3.4
|
|
188
|
+
* `ExecutionEnvironment.allowedBiomes`).
|
|
189
|
+
*
|
|
190
|
+
* v1 keeps the shape minimal — the ref string is sufficient for the
|
|
191
|
+
* built-in-environment install policy that lands in Phase 4 / Phase 6. Lifecycle-
|
|
192
|
+
* stage restrictions (draft / published / archived) are scheduled for the
|
|
193
|
+
* biome-host-api companion plan.
|
|
194
|
+
*/
|
|
195
|
+
export interface BiomePolicy {
|
|
196
|
+
allowedRefs: readonly string[];
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
export const BiomePolicySchema = z.object({
|
|
200
|
+
allowedRefs: z.array(z.string().min(1)).readonly(),
|
|
201
|
+
}) as z.ZodType<BiomePolicy>;
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Allow-list of mount-source refs reachable from this environment (plan §3.4
|
|
205
|
+
* `ExecutionEnvironment.allowedMounts`).
|
|
206
|
+
*
|
|
207
|
+
* v1 keeps the shape minimal — the ref string is sufficient for the
|
|
208
|
+
* XVFS read/write boundary check that lands in Phase 4 / Phase 5. Per-mount
|
|
209
|
+
* read/write splitting and path globs are scheduled for the xema-shell-api
|
|
210
|
+
* companion plan.
|
|
211
|
+
*/
|
|
212
|
+
export interface MountPolicy {
|
|
213
|
+
allowedRefs: readonly string[];
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export const MountPolicySchema = z.object({
|
|
217
|
+
allowedRefs: z.array(z.string().min(1)).readonly(),
|
|
218
|
+
}) as z.ZodType<MountPolicy>;
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* `ExecutionEnvironment` — the canonical permission-plane object (plan §3.4).
|
|
222
|
+
*
|
|
223
|
+
* An environment declares the capability surface, knowledge/connector/biome/mount
|
|
224
|
+
* allow-lists, approval rules, and runtime budget that apply to every
|
|
225
|
+
* invocation tagged with this environment's ref.
|
|
226
|
+
*
|
|
227
|
+
* `scope` widens to `ExecutionEnvironmentKind | string` to keep room for
|
|
228
|
+
* v2 custom environments; at v1 the only legal scope values are
|
|
229
|
+
* `ExecutionEnvironmentKind` members. Use
|
|
230
|
+
* `isExecutionEnvironmentKind(scope)` to enforce that at construction
|
|
231
|
+
* sites.
|
|
232
|
+
*/
|
|
233
|
+
export interface ExecutionEnvironment {
|
|
234
|
+
ref: ExecutionEnvironmentRef;
|
|
235
|
+
/**
|
|
236
|
+
* The environment's logical scope. v1 only accepts
|
|
237
|
+
* `ExecutionEnvironmentKind` slugs; the string-side of the union is
|
|
238
|
+
* reserved for v2 custom environments (plan §16 non-goal at v1).
|
|
239
|
+
*/
|
|
240
|
+
scope: ExecutionEnvironmentKind | string;
|
|
241
|
+
allowedCapabilities: CapabilityPolicy[];
|
|
242
|
+
allowedKnowledgeScopes: KnowledgePolicy[];
|
|
243
|
+
allowedConnectors: ConnectorPolicy[];
|
|
244
|
+
allowedBiomes: BiomePolicy[];
|
|
245
|
+
allowedMounts: MountPolicy[];
|
|
246
|
+
approvalRules: ApprovalRule[];
|
|
247
|
+
runtimeLimits: RuntimeLimits;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
export const ExecutionEnvironmentSchema = z.object({
|
|
251
|
+
ref: ExecutionEnvironmentRefSchema,
|
|
252
|
+
scope: z.string().min(1).refine(
|
|
253
|
+
(s) => isExecutionEnvironmentKind(s),
|
|
254
|
+
{
|
|
255
|
+
message:
|
|
256
|
+
'ExecutionEnvironment.scope must be an ExecutionEnvironmentKind slug at v1; custom environments are a v2 extension (plan §16).',
|
|
257
|
+
},
|
|
258
|
+
),
|
|
259
|
+
allowedCapabilities: z.array(CapabilityPolicySchema),
|
|
260
|
+
allowedKnowledgeScopes: z.array(KnowledgePolicySchema),
|
|
261
|
+
allowedConnectors: z.array(ConnectorPolicySchema),
|
|
262
|
+
allowedBiomes: z.array(BiomePolicySchema),
|
|
263
|
+
allowedMounts: z.array(MountPolicySchema),
|
|
264
|
+
approvalRules: z.array(ApprovalRuleSchema),
|
|
265
|
+
runtimeLimits: RuntimeLimitsSchema,
|
|
266
|
+
}) as z.ZodType<ExecutionEnvironment>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KernelState adapter kinds (plan §6 Phase D.3 — locked decision L9).
|
|
3
|
+
*
|
|
4
|
+
* The plan explicitly closes the set to TWO adapters. There is no
|
|
5
|
+
* Postgres adapter for KernelState; Postgres is reserved for service
|
|
6
|
+
* domain data. Two DB engines max in any deployment is a load-bearing
|
|
7
|
+
* invariant — do NOT extend this enum without updating L9.
|
|
8
|
+
*
|
|
9
|
+
* - `Sqlite` — file at `~/.xema/dev/kernel-state.sqlite` (dev) or
|
|
10
|
+
* `/var/lib/xema/kernel-state.sqlite` (single-instance). Advisory
|
|
11
|
+
* locking via `BEGIN IMMEDIATE`; watches via in-process pub-sub.
|
|
12
|
+
* - `Etcd` — direct etcd client. Leases via etcd TTL; watches via etcd
|
|
13
|
+
* streams.
|
|
14
|
+
*/
|
|
15
|
+
export enum KernelStateAdapterKind {
|
|
16
|
+
Sqlite = 'sqlite',
|
|
17
|
+
Etcd = 'etcd',
|
|
18
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KernelState client contract (plan §6 Phase D.3).
|
|
3
|
+
*
|
|
4
|
+
* KernelState is the kernel's single strongly-consistent KV / lease /
|
|
5
|
+
* watch primitive. Every adapter (SQLite or etcd — see
|
|
6
|
+
* `KernelStateAdapterKind`) implements this interface; every callsite
|
|
7
|
+
* (Service Registry writer, runner attestation store, desired-state
|
|
8
|
+
* controller, route registry, etc.) talks to KernelState through this
|
|
9
|
+
* one shape.
|
|
10
|
+
*
|
|
11
|
+
* All keys MUST pass `validateKernelStateKey` (see `./key-grammar`).
|
|
12
|
+
* Adapters MUST throw fail-fast — never silently coerce or drop.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
export interface KernelStateEntry {
|
|
16
|
+
key: string;
|
|
17
|
+
/**
|
|
18
|
+
* Adapter-agnostic JSON value. Adapters serialize as JSON on write
|
|
19
|
+
* and parse on read; callers MUST NOT pass binary or non-JSON-safe
|
|
20
|
+
* values.
|
|
21
|
+
*/
|
|
22
|
+
value: unknown;
|
|
23
|
+
/**
|
|
24
|
+
* Monotonic revision assigned by the adapter on every successful
|
|
25
|
+
* write of `key`. Used for CAS in `PutOptions.ifRevision`. Adapters
|
|
26
|
+
* MUST guarantee strictly-increasing revisions per-key.
|
|
27
|
+
*/
|
|
28
|
+
revision: number;
|
|
29
|
+
/**
|
|
30
|
+
* Optional lease this entry is associated with. If set, the entry
|
|
31
|
+
* is deleted when the lease expires or is revoked.
|
|
32
|
+
*/
|
|
33
|
+
leaseId?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Absolute UTC ISO-8601 timestamp at which the adapter accepted the
|
|
36
|
+
* write.
|
|
37
|
+
*/
|
|
38
|
+
modifiedAt: string;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Change events delivered to `watch()` callbacks. The closed kind set
|
|
43
|
+
* makes it impossible to silently swallow a new event type.
|
|
44
|
+
*/
|
|
45
|
+
export enum KernelStateChangeKind {
|
|
46
|
+
Put = 'put',
|
|
47
|
+
Delete = 'delete',
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export interface KernelStateChange {
|
|
51
|
+
kind: KernelStateChangeKind;
|
|
52
|
+
key: string;
|
|
53
|
+
/**
|
|
54
|
+
* Present for `Put`; absent for `Delete`. Adapters MUST NOT collapse
|
|
55
|
+
* a delete-then-put pair into a single event — consumers rely on the
|
|
56
|
+
* full sequence to maintain in-memory caches.
|
|
57
|
+
*/
|
|
58
|
+
entry?: KernelStateEntry;
|
|
59
|
+
/**
|
|
60
|
+
* Revision of the change. Strictly increasing across all keys in a
|
|
61
|
+
* single watch subscription so consumers can resume after a
|
|
62
|
+
* disconnect by passing the last seen revision to a future API
|
|
63
|
+
* extension. Adapters MUST NOT reuse revisions.
|
|
64
|
+
*/
|
|
65
|
+
revision: number;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Lease handle returned by `acquireLease` / `renewLease`. The lease is
|
|
70
|
+
* the only mechanism for expiring keys. Mirrors etcd's lease semantics
|
|
71
|
+
* intentionally so the etcd adapter is a pass-through.
|
|
72
|
+
*/
|
|
73
|
+
export interface KernelStateLease {
|
|
74
|
+
leaseId: string;
|
|
75
|
+
/**
|
|
76
|
+
* Absolute UTC ISO-8601 timestamp at which the lease (and every
|
|
77
|
+
* entry attached to it) expires unless renewed.
|
|
78
|
+
*/
|
|
79
|
+
expiresAt: string;
|
|
80
|
+
ttlSeconds: number;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Options accepted by `put`. All fields are optional; the default is
|
|
85
|
+
* a blind unconditional write with no lease attachment.
|
|
86
|
+
*/
|
|
87
|
+
export interface PutOptions {
|
|
88
|
+
/**
|
|
89
|
+
* Optimistic-concurrency check: write only if the current revision
|
|
90
|
+
* of `key` equals this value. `0` means "create only — fail if the
|
|
91
|
+
* key already exists". Adapters MUST throw a typed
|
|
92
|
+
* `KernelStateRevisionMismatchError` on mismatch (no silent
|
|
93
|
+
* overwrite).
|
|
94
|
+
*/
|
|
95
|
+
ifRevision?: number;
|
|
96
|
+
/**
|
|
97
|
+
* Attach the new entry to an existing lease. When the lease
|
|
98
|
+
* expires, the entry is deleted. Mutually exclusive with `ttlSeconds`
|
|
99
|
+
* below — passing both is a programming error and adapters MUST
|
|
100
|
+
* throw.
|
|
101
|
+
*/
|
|
102
|
+
leaseId?: string;
|
|
103
|
+
/**
|
|
104
|
+
* Shorthand for "create a one-off lease of this TTL and attach this
|
|
105
|
+
* single key to it". The lease is owned by the entry; renewing it
|
|
106
|
+
* requires a separate `acquireLease`/`renewLease` flow.
|
|
107
|
+
*/
|
|
108
|
+
ttlSeconds?: number;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* The KernelState client. Every adapter implements exactly this
|
|
113
|
+
* surface — no extension methods, no provider-specific escape hatches.
|
|
114
|
+
*
|
|
115
|
+
* Implementations MUST:
|
|
116
|
+
* - call `validateKernelStateKey(key)` on every key before any I/O.
|
|
117
|
+
* - throw on `get` / `delete` of an invalid key (fail-fast).
|
|
118
|
+
* - return `null` from `get` when the key is valid but absent (this
|
|
119
|
+
* is the ONLY non-error "missing" state — `list` returns `[]`).
|
|
120
|
+
* - deliver an initial snapshot to a `watch` subscriber synchronously
|
|
121
|
+
* on subscribe, then subsequent `KernelStateChange[]` batches in
|
|
122
|
+
* revision order.
|
|
123
|
+
* - return a function from `watch` that fully detaches the
|
|
124
|
+
* subscription when invoked.
|
|
125
|
+
* - throw on `renewLease` of an unknown / already-expired lease (no
|
|
126
|
+
* silent re-acquire).
|
|
127
|
+
*/
|
|
128
|
+
export interface KernelState {
|
|
129
|
+
get(key: string): Promise<KernelStateEntry | null>;
|
|
130
|
+
list(prefix: string): Promise<KernelStateEntry[]>;
|
|
131
|
+
put(key: string, value: unknown, opts?: PutOptions): Promise<void>;
|
|
132
|
+
delete(key: string): Promise<void>;
|
|
133
|
+
watch(
|
|
134
|
+
prefix: string,
|
|
135
|
+
cb: (events: KernelStateChange[]) => void,
|
|
136
|
+
): () => void;
|
|
137
|
+
acquireLease(key: string, ttlSeconds: number): Promise<KernelStateLease>;
|
|
138
|
+
renewLease(leaseId: string): Promise<KernelStateLease>;
|
|
139
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KernelState key grammar (plan §6 Phase D.4).
|
|
3
|
+
*
|
|
4
|
+
* Every key written to KernelState MUST start with one of the prefixes
|
|
5
|
+
* below. The boundary CI script `check-kernel-state-key-ownership.mjs`
|
|
6
|
+
* parses every `kernelState.put(...)` call site at build time and
|
|
7
|
+
* validates the prefix against the writer's declared role; this enum
|
|
8
|
+
* is the single source of truth that script reads from.
|
|
9
|
+
*
|
|
10
|
+
* String values include trailing `/` so concatenation
|
|
11
|
+
* (`KernelStateKeyPrefix.Services + name`) yields a valid key with
|
|
12
|
+
* exactly one separator.
|
|
13
|
+
*/
|
|
14
|
+
export enum KernelStateKeyPrefix {
|
|
15
|
+
Runners = '/xema/runners/',
|
|
16
|
+
Biomes = '/xema/biomes/',
|
|
17
|
+
Capabilities = '/xema/capabilities/',
|
|
18
|
+
Routes = '/xema/routes/',
|
|
19
|
+
Services = '/xema/services/',
|
|
20
|
+
DesiredState = '/xema/desired-state/',
|
|
21
|
+
Leases = '/xema/leases/',
|
|
22
|
+
Locks = '/xema/locks/',
|
|
23
|
+
Config = '/xema/config/',
|
|
24
|
+
Policies = '/xema/policies/',
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Frozen, ordered list of every valid prefix. Exported so tooling
|
|
29
|
+
* (boundary check, docs gen) can iterate without re-deriving from the
|
|
30
|
+
* enum at runtime.
|
|
31
|
+
*/
|
|
32
|
+
export const KERNEL_STATE_KEY_PREFIXES: readonly KernelStateKeyPrefix[] =
|
|
33
|
+
Object.freeze([
|
|
34
|
+
KernelStateKeyPrefix.Runners,
|
|
35
|
+
KernelStateKeyPrefix.Biomes,
|
|
36
|
+
KernelStateKeyPrefix.Capabilities,
|
|
37
|
+
KernelStateKeyPrefix.Routes,
|
|
38
|
+
KernelStateKeyPrefix.Services,
|
|
39
|
+
KernelStateKeyPrefix.DesiredState,
|
|
40
|
+
KernelStateKeyPrefix.Leases,
|
|
41
|
+
KernelStateKeyPrefix.Locks,
|
|
42
|
+
KernelStateKeyPrefix.Config,
|
|
43
|
+
KernelStateKeyPrefix.Policies,
|
|
44
|
+
]);
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Fail-fast guard: throws when `key` is not anchored to one of the
|
|
48
|
+
* known prefixes. Used by every adapter at the write boundary AND by
|
|
49
|
+
* the boundary CI script at scan time.
|
|
50
|
+
*
|
|
51
|
+
* Rejection cases:
|
|
52
|
+
* - non-string input
|
|
53
|
+
* - empty string
|
|
54
|
+
* - prefix not in the closed set above
|
|
55
|
+
* - key equal to a prefix (no body after the trailing `/`)
|
|
56
|
+
*/
|
|
57
|
+
export function validateKernelStateKey(key: string): KernelStateKeyPrefix {
|
|
58
|
+
if (typeof key !== 'string' || key.length === 0) {
|
|
59
|
+
throw new Error(
|
|
60
|
+
`KernelState key must be a non-empty string, received: ${typeof key}`,
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
const match = KERNEL_STATE_KEY_PREFIXES.find((prefix) =>
|
|
64
|
+
key.startsWith(prefix),
|
|
65
|
+
);
|
|
66
|
+
if (match === undefined) {
|
|
67
|
+
throw new Error(
|
|
68
|
+
`KernelState key "${key}" does not start with a known prefix. ` +
|
|
69
|
+
`Valid prefixes: ${KERNEL_STATE_KEY_PREFIXES.join(', ')}`,
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
if (key.length === match.length) {
|
|
73
|
+
throw new Error(
|
|
74
|
+
`KernelState key "${key}" is exactly the prefix; a body segment after the trailing "/" is required.`,
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
return match;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Prefix-side validation for `list()` / `watch()` arguments. Unlike
|
|
82
|
+
* `validateKernelStateKey`, the input MAY be exactly a known prefix
|
|
83
|
+
* (e.g. `/xema/services/` to scan every service entry) — that is the
|
|
84
|
+
* intended "scan everything under this owner" use case.
|
|
85
|
+
*
|
|
86
|
+
* Rejection cases:
|
|
87
|
+
* - non-string input
|
|
88
|
+
* - empty string
|
|
89
|
+
* - prefix that does not start with one of the known top-level prefixes
|
|
90
|
+
*/
|
|
91
|
+
export function validateKernelStatePrefix(prefix: string): KernelStateKeyPrefix {
|
|
92
|
+
if (typeof prefix !== 'string' || prefix.length === 0) {
|
|
93
|
+
throw new Error(
|
|
94
|
+
`KernelState prefix must be a non-empty string, received: ${typeof prefix}`,
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
const match = KERNEL_STATE_KEY_PREFIXES.find((p) => prefix.startsWith(p));
|
|
98
|
+
if (match === undefined) {
|
|
99
|
+
throw new Error(
|
|
100
|
+
`KernelState prefix "${prefix}" does not start with a known prefix. ` +
|
|
101
|
+
`Valid prefixes: ${KERNEL_STATE_KEY_PREFIXES.join(', ')}`,
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
return match;
|
|
105
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic envelope identifying *which* domain object an LLM call is
|
|
3
|
+
* being attributed to. Carried through the LLM gateway end-to-end
|
|
4
|
+
* (gateway session JWT → usage event → pipeline-history `LlmUsageRecord`)
|
|
5
|
+
* so every call is traceable regardless of which platform feature
|
|
6
|
+
* issued it — pipeline runs, chat threads, interactive sessions,
|
|
7
|
+
* ad-hoc direct calls, future call kinds.
|
|
8
|
+
*
|
|
9
|
+
* Single source of truth for both the gateway service and every platform
|
|
10
|
+
* consumer. Submodule services that cannot yet depend on this package
|
|
11
|
+
* (because they are vendored independently) keep a value-identical local
|
|
12
|
+
* copy guarded by `scripts/check-llm-caller-parity.mjs`. That parity
|
|
13
|
+
* script is deleted once every submodule consumes this package.
|
|
14
|
+
*/
|
|
15
|
+
export enum LlmCallerKind {
|
|
16
|
+
/** A pipeline run (FK to `PipelineRun.id` in pipeline-history). */
|
|
17
|
+
PIPELINE_RUN = 'pipeline_run',
|
|
18
|
+
/** A bootstrap chat thread (e.g. clarification flow before launch). */
|
|
19
|
+
CHAT_THREAD = 'chat_thread',
|
|
20
|
+
/** An interactive session (long-lived agent worker). */
|
|
21
|
+
AGENT_SESSION = 'agent_session',
|
|
22
|
+
/**
|
|
23
|
+
* A direct call with no enclosing user-facing artifact — e.g. internal
|
|
24
|
+
* embedding requests, system bootstrap probes, ad-hoc API usage.
|
|
25
|
+
*/
|
|
26
|
+
DIRECT = 'direct',
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Stable wire shape carried alongside every gateway session.
|
|
31
|
+
*
|
|
32
|
+
* - `kind` + `id` together identify the originating object.
|
|
33
|
+
* - `orgId` is always present (billing/audit anchor).
|
|
34
|
+
* - `projectId` is set when the call is project-scoped (most are).
|
|
35
|
+
* - `groupKey` is set when the caller is tied to a workflow's structural
|
|
36
|
+
* group bucket. Kernel-neutral name; a sub-app biome (e.g. software-dev)
|
|
37
|
+
* maps its own `phaseKey` value onto this field at compile time.
|
|
38
|
+
*
|
|
39
|
+
* Adding new fields is non-breaking; renaming or repurposing existing
|
|
40
|
+
* ones is breaking and requires updates on both gateway and consumers.
|
|
41
|
+
*/
|
|
42
|
+
export interface LlmCaller {
|
|
43
|
+
kind: LlmCallerKind;
|
|
44
|
+
id: string;
|
|
45
|
+
orgId: string;
|
|
46
|
+
projectId?: string;
|
|
47
|
+
groupKey?: string;
|
|
48
|
+
}
|