@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,212 @@
|
|
|
1
|
+
import type { WorkingFileBinding } from './working-file';
|
|
2
|
+
|
|
3
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
4
|
+
// ── Agent Workspace Protocol (AWP) — versioned WorkspaceSpec ──
|
|
5
|
+
//
|
|
6
|
+
// The declarative description of the `/workspace/` tree every agent session
|
|
7
|
+
// runs inside. Versioned (`awp/v<n>`) and serializable so it can seed a
|
|
8
|
+
// fine-tune corpus.
|
|
9
|
+
//
|
|
10
|
+
// Replaces the closed `WorkspaceMount` enum + the hardcoded
|
|
11
|
+
// `READWRITE_MOUNT_KEYS` set in the DSL compiler. Biomes additively
|
|
12
|
+
// contribute slots/sub-slots through `WorkspaceSpec` overlays at platform
|
|
13
|
+
// boot — they cannot drop or modify base slots.
|
|
14
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
15
|
+
|
|
16
|
+
export enum SlotMode {
|
|
17
|
+
ReadOnly = 'read-only',
|
|
18
|
+
ReadWrite = 'read-write',
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Whether a slot is included in every workspace by default (`always`) or
|
|
23
|
+
* only when a workflow explicitly mounts it (`optional`).
|
|
24
|
+
*
|
|
25
|
+
* `always` slots are auto-mounted by the renderer regardless of the
|
|
26
|
+
* workflow YAML's `with.mounts` block. The action manifest's
|
|
27
|
+
* `allowedMounts` is the per-action subset of `optional` slots that may be
|
|
28
|
+
* explicitly declared.
|
|
29
|
+
*/
|
|
30
|
+
export type SlotPresence = 'always' | 'optional';
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Who controls a sub-slot's contents. `user` sub-slots are populated from
|
|
34
|
+
* DSL refIds (workflow author or runtime caller); `platform` sub-slots
|
|
35
|
+
* are populated by the orchestrator adapter at session start (e.g. the
|
|
36
|
+
* OpenCode adapter writing `.opencode/biomes/`).
|
|
37
|
+
*/
|
|
38
|
+
export type SlotOwnership = 'user' | 'platform';
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Which runtime identifier the `git-push` policy uses as the suffix on
|
|
42
|
+
* the branch name. Closed enum so manifest overrides and callers stay
|
|
43
|
+
* type-safe. `sessionId` (default) gives session-scoped branches
|
|
44
|
+
* (`xema/session/<sessionId>`) — the right choice when each session's
|
|
45
|
+
* work is short-lived. `projectId` gives a long-lived working branch
|
|
46
|
+
* shared across sessions (`xema/webapp/<projectId>`) — used by the
|
|
47
|
+
* Webapp Studio biome where the user accumulates progress.
|
|
48
|
+
*/
|
|
49
|
+
export enum GitPushBranchSuffix {
|
|
50
|
+
SessionId = 'sessionId',
|
|
51
|
+
ProjectId = 'projectId',
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Concurrency posture for the `git-push` policy when multiple sessions
|
|
56
|
+
* might write the same branch. `force` (default) blindly overwrites —
|
|
57
|
+
* safe for session-scoped branches because each session owns its own
|
|
58
|
+
* suffix. `lease` uses `git push --force-with-lease` so concurrent
|
|
59
|
+
* writers fail fast with a recoverable conflict instead of clobbering
|
|
60
|
+
* each other — required when multiple sessions can target the same
|
|
61
|
+
* long-lived branch (studio working branch).
|
|
62
|
+
*/
|
|
63
|
+
export enum GitPushConcurrencyMode {
|
|
64
|
+
Force = 'force',
|
|
65
|
+
Lease = 'lease',
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* How a slot's contents survive across pod recycle / session resume.
|
|
70
|
+
*
|
|
71
|
+
* - `none` (default) — ephemeral. The slot is regenerated at session
|
|
72
|
+
* start and never persisted. Use for platform-rendered slots and for
|
|
73
|
+
* user-data slots that are deterministic functions of the invocation
|
|
74
|
+
* (e.g. `inputs/`).
|
|
75
|
+
* - `tarball` — captured by the existing snapshot pipeline as
|
|
76
|
+
* per-path tarballs in MinIO (`{org}/{project}/{sessionId}/workspace/<path>.tar.gz`)
|
|
77
|
+
* and restored on resume. Use for user-authored content that must
|
|
78
|
+
* survive worker recycle (e.g. `deliverables/`, `uploads/`).
|
|
79
|
+
* - `git-push` — captured by pushing the slot's working tree to a
|
|
80
|
+
* branch on the SCM remote. The branch name is
|
|
81
|
+
* `{branchPrefix}{<branchSuffix>}` where `branchSuffix` picks the
|
|
82
|
+
* runtime identifier (sessionId by default; projectId for studio's
|
|
83
|
+
* long-lived working branch). `concurrencyMode` selects between
|
|
84
|
+
* `--force` (overwrite — fine for session-scoped suffixes) and
|
|
85
|
+
* `--force-with-lease` (fail-fast on concurrent writers — required
|
|
86
|
+
* for shared long-lived suffixes).
|
|
87
|
+
*/
|
|
88
|
+
export type SlotPersistencePolicy =
|
|
89
|
+
| { readonly kind: 'none' }
|
|
90
|
+
| { readonly kind: 'tarball' }
|
|
91
|
+
| {
|
|
92
|
+
readonly kind: 'git-push';
|
|
93
|
+
readonly branchPrefix: string;
|
|
94
|
+
/** Defaults to `GitPushBranchSuffix.SessionId` when omitted. */
|
|
95
|
+
readonly branchSuffix?: GitPushBranchSuffix;
|
|
96
|
+
/** Defaults to `GitPushConcurrencyMode.Force` when omitted. */
|
|
97
|
+
readonly concurrencyMode?: GitPushConcurrencyMode;
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
export interface SubSlotDefinition {
|
|
101
|
+
readonly key: string;
|
|
102
|
+
readonly path: string;
|
|
103
|
+
readonly allowedModes: readonly SlotMode[];
|
|
104
|
+
readonly defaultMode: SlotMode;
|
|
105
|
+
readonly ownership: SlotOwnership;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export interface SlotDefinition {
|
|
109
|
+
readonly key: string;
|
|
110
|
+
readonly path: string;
|
|
111
|
+
readonly presence: SlotPresence;
|
|
112
|
+
readonly allowedModes: readonly SlotMode[];
|
|
113
|
+
readonly defaultMode: SlotMode;
|
|
114
|
+
readonly subSlots?: readonly SubSlotDefinition[];
|
|
115
|
+
/**
|
|
116
|
+
* When true, the slot's `path` IS the full target file path (no
|
|
117
|
+
* sub-paths allowed). Mount entries targeting a single-file slot must
|
|
118
|
+
* have `relPath === ''`. Used for platform-rendered single-file slots
|
|
119
|
+
* like `agents-md` (`/workspace/AGENTS.md`) and `context-json`
|
|
120
|
+
* (`/workspace/context.json`).
|
|
121
|
+
*/
|
|
122
|
+
readonly singleFile?: boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Who controls this slot's contents. Mirrors `SubSlotDefinition.ownership`.
|
|
125
|
+
* `platform` slots are populated by platform-rendered sources (e.g.
|
|
126
|
+
* `rendered-agents-md`, `agent-definition`); `user` slots are populated
|
|
127
|
+
* from user-declared inputs. Optional for backward compatibility — when
|
|
128
|
+
* absent, treated as `user`.
|
|
129
|
+
*/
|
|
130
|
+
readonly ownership?: SlotOwnership;
|
|
131
|
+
/**
|
|
132
|
+
* Short human-facing sentence the renderer drops into AGENTS.md so
|
|
133
|
+
* the agent knows what each mounted slot is for. Omitting it yields a
|
|
134
|
+
* bare `- /workspace/<slot>/` line — fine for platform slots that
|
|
135
|
+
* have obvious purposes; preferred for user-data slots.
|
|
136
|
+
*/
|
|
137
|
+
readonly humanDescription?: string;
|
|
138
|
+
/**
|
|
139
|
+
* How this slot's contents survive across pod recycle. Defaults to
|
|
140
|
+
* `{ kind: 'none' }` (ephemeral) when omitted. The session snapshot
|
|
141
|
+
* pipeline reads this field to decide which slots to capture/restore
|
|
142
|
+
* and via which mechanism (tarball vs git push).
|
|
143
|
+
*/
|
|
144
|
+
readonly persistencePolicy?: SlotPersistencePolicy;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Workspace-relative paths captured on session pause and restored on
|
|
149
|
+
* resume, plus per-slot policy overrides. The authoritative SOURCE of
|
|
150
|
+
* these values is the authored `Composition.workspace.persistence` block
|
|
151
|
+
* (`@xemahq/agent-composition-contracts`); they are projected onto
|
|
152
|
+
* `WorkspaceSpec` so workspace-tree consumers (session lifecycle,
|
|
153
|
+
* workspace-proxy snapshot pipeline) read them off one resolved spec
|
|
154
|
+
* without re-resolving the composition.
|
|
155
|
+
*
|
|
156
|
+
* Replaces the equivalent `persistence` block carried by the legacy
|
|
157
|
+
* `WorkspaceManifest` (`ManifestPersistence` in `@xemahq/workspace-manifest-dsl`).
|
|
158
|
+
*/
|
|
159
|
+
export interface WorkspacePersistenceSpec {
|
|
160
|
+
/** Workspace-relative paths. No leading `/`, no `..`. */
|
|
161
|
+
readonly paths: readonly string[];
|
|
162
|
+
/**
|
|
163
|
+
* Per-slot persistence policy overrides, keyed by AWP slot key
|
|
164
|
+
* (`repos`, etc.). Only `git-push` slots are overridable — `none` /
|
|
165
|
+
* `tarball` carry no fields to tune. An override never widens the
|
|
166
|
+
* slot's allowed modes; it only refines branch naming + concurrency.
|
|
167
|
+
*/
|
|
168
|
+
readonly overrides?: Readonly<Record<string, SlotPersistencePolicy>>;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* A single environment variable applied to the agent runtime before
|
|
173
|
+
* dispatch. `name` is SCREAMING_SNAKE_CASE; `value` is the resolved
|
|
174
|
+
* literal (the composition author may have used `${input.x}`
|
|
175
|
+
* interpolation, but the projected spec carries resolved values only).
|
|
176
|
+
*/
|
|
177
|
+
export interface WorkspaceEnvVar {
|
|
178
|
+
readonly name: string;
|
|
179
|
+
readonly value: string;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
export interface WorkspaceSpec {
|
|
183
|
+
readonly id: string;
|
|
184
|
+
readonly version: string;
|
|
185
|
+
readonly slots: readonly SlotDefinition[];
|
|
186
|
+
/**
|
|
187
|
+
* Workspace-relative persist-paths + per-slot policy overrides.
|
|
188
|
+
* Projected from `Composition.workspace.persistence`. Optional — when
|
|
189
|
+
* absent the workspace persists only what the slots' own
|
|
190
|
+
* `persistencePolicy` fields declare. Additive: pre-existing consumers
|
|
191
|
+
* that never read this field keep compiling.
|
|
192
|
+
*/
|
|
193
|
+
readonly persistence?: WorkspacePersistenceSpec;
|
|
194
|
+
/**
|
|
195
|
+
* Environment variables applied to the agent runtime before dispatch.
|
|
196
|
+
* Projected from `Composition.workspace.env`. Optional / additive —
|
|
197
|
+
* absent means the composition declared no env block.
|
|
198
|
+
*/
|
|
199
|
+
readonly env?: readonly WorkspaceEnvVar[];
|
|
200
|
+
/**
|
|
201
|
+
* Working files the platform materialises before the agent's first
|
|
202
|
+
* turn — the first-class primitive that replaces the legacy
|
|
203
|
+
* document-sync hardcoded path. Each binding's resolved `path`
|
|
204
|
+
* contributes to `authority.mayWriteWorkspace` (write authority
|
|
205
|
+
* narrowed by contract, not by prompt prose).
|
|
206
|
+
*
|
|
207
|
+
* Optional / additive — compositions that do not declare a working
|
|
208
|
+
* file produce no entries, and the worker's working-file engine stays
|
|
209
|
+
* idle for that session.
|
|
210
|
+
*/
|
|
211
|
+
readonly workingFiles?: readonly WorkingFileBinding[];
|
|
212
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './lib/biome-capability-refs';
|
|
2
|
+
export * from './lib/biome-lifecycle';
|
|
3
|
+
export * from './lib/biome-scope';
|
|
4
|
+
export * from './lib/biome-trust-tier';
|
|
5
|
+
export * from './lib/biome-api';
|
|
6
|
+
export * from './lib/biome-lifecycle-hooks';
|
|
7
|
+
export * from './lib/biome-engines';
|
|
8
|
+
export * from './lib/biome-permissions';
|
|
9
|
+
export * from './lib/biome-manifest';
|
|
10
|
+
export * from './lib/trust-tier-policies';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `BiomeApiManifest` — one entry of the biome manifest's `ships.apis[]`
|
|
5
|
+
* array (plan §25.1). A biome may ship zero, one, or many NestJS
|
|
6
|
+
* services; each becomes its own Helm sub-chart, its own Docker image,
|
|
7
|
+
* its own subdomain (`<biomeId>.<name>.api.<domain>`), and its own
|
|
8
|
+
* capability namespace (`biome:<biomeId>.<apiName>.<verb>@1`).
|
|
9
|
+
*
|
|
10
|
+
* `scopes` is the closed list of capability verb scopes this API
|
|
11
|
+
* advertises. Strings are intentional here (not a TS enum) because the
|
|
12
|
+
* value space is biome-author-defined; the kernel only validates the
|
|
13
|
+
* outer shape.
|
|
14
|
+
*/
|
|
15
|
+
export interface BiomeApiManifest {
|
|
16
|
+
name: string;
|
|
17
|
+
basePath: string;
|
|
18
|
+
image: {
|
|
19
|
+
package: string;
|
|
20
|
+
port: number;
|
|
21
|
+
};
|
|
22
|
+
scopes: readonly string[];
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export const BiomeApiManifestSchema = z.object({
|
|
26
|
+
name: z.string().min(1),
|
|
27
|
+
basePath: z.string().min(1),
|
|
28
|
+
image: z.object({
|
|
29
|
+
package: z.string().min(1),
|
|
30
|
+
port: z.number().int().positive(),
|
|
31
|
+
}),
|
|
32
|
+
scopes: z.array(z.string().min(1)).readonly(),
|
|
33
|
+
}) as z.ZodType<BiomeApiManifest>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `BIOME_CAPABILITY_REFS` — the closed set of capability refs guarding
|
|
3
|
+
* biome-lifecycle transitions (plan §4.2, §17.7 Phase 6). Each transition
|
|
4
|
+
* out of `draft`/`sandbox-installed` requires the corresponding capability
|
|
5
|
+
* check at `xema-capability-router`; promote-out-of-sandbox defaults to
|
|
6
|
+
* `requiresApproval=true`.
|
|
7
|
+
*
|
|
8
|
+
* Frozen so consumers (biome-host-api lifecycle controller, store, UI)
|
|
9
|
+
* cannot mutate the ref strings at runtime.
|
|
10
|
+
*/
|
|
11
|
+
export const BIOME_CAPABILITY_REFS = Object.freeze({
|
|
12
|
+
Install: 'biome:install@1',
|
|
13
|
+
Promote: 'biome:promote@1',
|
|
14
|
+
SubmitToStore: 'biome:submit-to-store@1',
|
|
15
|
+
ApproveInStore: 'biome:approve-in-store@1',
|
|
16
|
+
Archive: 'biome:archive@1',
|
|
17
|
+
/**
|
|
18
|
+
* Sandbox-environment-only real-terminal capability (plan §6.3 + §17.6 Phase
|
|
19
|
+
* 5 item 4). Guards the `WS /sandbox/terminal/:installationId`
|
|
20
|
+
* endpoint in `biome-host-api` — the ONLY PTY surface in Xema. The
|
|
21
|
+
* gateway MUST refuse the invocation when the subject's effective
|
|
22
|
+
* environment is not `sandbox`.
|
|
23
|
+
*/
|
|
24
|
+
SandboxTerminal: 'biome:sandbox.terminal@1',
|
|
25
|
+
} as const);
|
|
26
|
+
|
|
27
|
+
export type BiomeCapabilityRefKey = keyof typeof BIOME_CAPABILITY_REFS;
|
|
28
|
+
export type BiomeCapabilityRef =
|
|
29
|
+
(typeof BIOME_CAPABILITY_REFS)[BiomeCapabilityRefKey];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `BiomeEngines` — the required `engines` block of the biome manifest
|
|
5
|
+
* (plan §24.4). `xema` is a semver range; `biome-host-api` refuses to
|
|
6
|
+
* install a biome whose engine constraint is not satisfied by the
|
|
7
|
+
* running platform version. The constraint is a hard, fail-fast gate.
|
|
8
|
+
*
|
|
9
|
+
* Range syntax is not parsed here — that is the host's responsibility.
|
|
10
|
+
* The kernel only validates that the field is a non-empty string.
|
|
11
|
+
*/
|
|
12
|
+
export interface BiomeEngines {
|
|
13
|
+
xema: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const BiomeEnginesSchema = z.object({
|
|
17
|
+
xema: z.string().min(1),
|
|
18
|
+
}) as z.ZodType<BiomeEngines>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `BiomeLifecycleHooks` — the optional `lifecycle` block of the biome
|
|
5
|
+
* manifest (plan §24.5). Each value is the module path (relative to the
|
|
6
|
+
* biome package root) of a hook module that `biome-host-api` invokes at
|
|
7
|
+
* the corresponding `BiomeLifecycle` transition.
|
|
8
|
+
*
|
|
9
|
+
* Hooks run with the biome's own capability set — they cannot do
|
|
10
|
+
* anything the biome cannot do as a running participant. The kernel
|
|
11
|
+
* does not load the modules; it only validates that the manifest
|
|
12
|
+
* declares well-formed strings.
|
|
13
|
+
*/
|
|
14
|
+
export interface BiomeLifecycleHooks {
|
|
15
|
+
onInstall?: string;
|
|
16
|
+
onUninstall?: string;
|
|
17
|
+
onUpgrade?: string;
|
|
18
|
+
onEnable?: string;
|
|
19
|
+
onDisable?: string;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const BiomeLifecycleHooksSchema = z.object({
|
|
23
|
+
onInstall: z.string().min(1).optional(),
|
|
24
|
+
onUninstall: z.string().min(1).optional(),
|
|
25
|
+
onUpgrade: z.string().min(1).optional(),
|
|
26
|
+
onEnable: z.string().min(1).optional(),
|
|
27
|
+
onDisable: z.string().min(1).optional(),
|
|
28
|
+
}) as z.ZodType<BiomeLifecycleHooks>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `BiomeLifecycle` is the closed set of deliberate, observable stages a
|
|
5
|
+
* biome (plan §4) moves through from authoring to the Xema Store and
|
|
6
|
+
* eventually to archival. Generated-by-agent biomes (§7) traverse the
|
|
7
|
+
* same stages — humans hold every promote-out-of-sandbox gate.
|
|
8
|
+
*
|
|
9
|
+
* Linear progression (plan §4.2):
|
|
10
|
+
*
|
|
11
|
+
* draft → sandbox-installed → review-required → org-installed
|
|
12
|
+
* → store-submitted
|
|
13
|
+
* → store-approved
|
|
14
|
+
* → archived
|
|
15
|
+
*
|
|
16
|
+
* String values match the on-wire / on-disk representation written by
|
|
17
|
+
* `biome-host-api` lifecycle transitions and emitted on audit events.
|
|
18
|
+
*/
|
|
19
|
+
export enum BiomeLifecycle {
|
|
20
|
+
Draft = 'draft',
|
|
21
|
+
SandboxInstalled = 'sandbox-installed',
|
|
22
|
+
ReviewRequired = 'review-required',
|
|
23
|
+
OrgInstalled = 'org-installed',
|
|
24
|
+
StoreSubmitted = 'store-submitted',
|
|
25
|
+
StoreApproved = 'store-approved',
|
|
26
|
+
Archived = 'archived',
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export const BiomeLifecycleSchema = z.nativeEnum(BiomeLifecycle);
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import {
|
|
3
|
+
CapabilityRefSchema,
|
|
4
|
+
type CapabilityRef,
|
|
5
|
+
} from '../../capability';
|
|
6
|
+
import {
|
|
7
|
+
ContributionKind,
|
|
8
|
+
ContributionKindSchema,
|
|
9
|
+
} from '../../contribution';
|
|
10
|
+
import { BiomeTrustTier, BiomeTrustTierSchema } from './biome-trust-tier';
|
|
11
|
+
import { BiomeEnginesSchema, type BiomeEngines } from './biome-engines';
|
|
12
|
+
import {
|
|
13
|
+
BiomePermissionsManifestSchema,
|
|
14
|
+
type BiomePermissionsManifest,
|
|
15
|
+
} from './biome-permissions';
|
|
16
|
+
import {
|
|
17
|
+
BiomeLifecycleHooksSchema,
|
|
18
|
+
type BiomeLifecycleHooks,
|
|
19
|
+
} from './biome-lifecycle-hooks';
|
|
20
|
+
import { BiomeApiManifestSchema, type BiomeApiManifest } from './biome-api';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Canonical filename of the new biome manifest at the root of every
|
|
24
|
+
* biome source package (plan §4.1). The legacy `xema-biome.json` name
|
|
25
|
+
* is NOT recognised by this contracts package — Phase 6 (plan §17.7)
|
|
26
|
+
* renames it in a single coordinated PR, with no dual parser.
|
|
27
|
+
*/
|
|
28
|
+
export const BIOME_MANIFEST_FILENAME = 'xema-biome.json';
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Schema-versioning seed for the biome manifest. Bumped via a
|
|
32
|
+
* coordinated PR whenever the manifest shape changes incompatibly;
|
|
33
|
+
* downstream consumers refuse manifests whose `schemaVersion` they do
|
|
34
|
+
* not understand (fail-fast — no silent best-effort parse).
|
|
35
|
+
*/
|
|
36
|
+
export type BiomeManifestSchemaVersion = 1;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Declarative event subscription entry of the biome manifest
|
|
40
|
+
* (plan §12.4). `event` is the CloudEvents `type` the biome subscribes
|
|
41
|
+
* to (e.g. `xema.kb.page.published.v1`); `handlerModule` is the module
|
|
42
|
+
* path relative to the biome package root that `biome-host-api` loads
|
|
43
|
+
* to dispatch matching events.
|
|
44
|
+
*/
|
|
45
|
+
export interface BiomeEventSubscription {
|
|
46
|
+
event: string;
|
|
47
|
+
handlerModule: string;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export const BiomeEventSubscriptionSchema = z.object({
|
|
51
|
+
event: z.string().min(1),
|
|
52
|
+
handlerModule: z.string().min(1),
|
|
53
|
+
}) as z.ZodType<BiomeEventSubscription>;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* `BiomeManifest` — the top-level shape of `xema-biome.json` (plan §4,
|
|
57
|
+
* §12, §24.4, §24.5, §25). This is the NEW shape introduced in Phase
|
|
58
|
+
* 1A; the SDK-side parser is still housed under `biome-host-sdk` until
|
|
59
|
+
* the Phase 6 rename, but the schema itself lives here from day one.
|
|
60
|
+
*/
|
|
61
|
+
export interface BiomeManifest {
|
|
62
|
+
schemaVersion: BiomeManifestSchemaVersion;
|
|
63
|
+
id: string;
|
|
64
|
+
name: string;
|
|
65
|
+
version: string;
|
|
66
|
+
trustTier: BiomeTrustTier;
|
|
67
|
+
engines: BiomeEngines;
|
|
68
|
+
requiresCapabilities: readonly CapabilityRef[];
|
|
69
|
+
exposesCapabilities: readonly CapabilityRef[];
|
|
70
|
+
contributes: readonly ContributionKind[];
|
|
71
|
+
subscribes?: readonly BiomeEventSubscription[];
|
|
72
|
+
/** biome-id → semver range. */
|
|
73
|
+
requires?: Readonly<Record<string, string>>;
|
|
74
|
+
permissions?: BiomePermissionsManifest;
|
|
75
|
+
lifecycle?: BiomeLifecycleHooks;
|
|
76
|
+
ships?: {
|
|
77
|
+
apis?: readonly BiomeApiManifest[];
|
|
78
|
+
content?: readonly string[];
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export const BiomeManifestSchema = z.object({
|
|
83
|
+
schemaVersion: z.literal(1),
|
|
84
|
+
id: z.string().min(1),
|
|
85
|
+
name: z.string().min(1),
|
|
86
|
+
version: z.string().min(1),
|
|
87
|
+
trustTier: BiomeTrustTierSchema,
|
|
88
|
+
engines: BiomeEnginesSchema,
|
|
89
|
+
requiresCapabilities: z.array(CapabilityRefSchema).readonly(),
|
|
90
|
+
exposesCapabilities: z.array(CapabilityRefSchema).readonly(),
|
|
91
|
+
contributes: z.array(ContributionKindSchema).readonly(),
|
|
92
|
+
subscribes: z.array(BiomeEventSubscriptionSchema).readonly().optional(),
|
|
93
|
+
requires: z.record(z.string().min(1), z.string().min(1)).optional(),
|
|
94
|
+
permissions: BiomePermissionsManifestSchema.optional(),
|
|
95
|
+
lifecycle: BiomeLifecycleHooksSchema.optional(),
|
|
96
|
+
ships: z
|
|
97
|
+
.object({
|
|
98
|
+
apis: z.array(BiomeApiManifestSchema).readonly().optional(),
|
|
99
|
+
content: z.array(z.string().min(1)).readonly().optional(),
|
|
100
|
+
})
|
|
101
|
+
.optional(),
|
|
102
|
+
}) as z.ZodType<BiomeManifest>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import {
|
|
3
|
+
BiomePermissionProfile,
|
|
4
|
+
BiomePermissionProfileSchema,
|
|
5
|
+
PermissionGroupSchema,
|
|
6
|
+
PermissionHintSchema,
|
|
7
|
+
type PermissionGroup,
|
|
8
|
+
type PermissionHint,
|
|
9
|
+
} from '../../capability';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* `BiomePermissionsManifest` — the optional `permissions` block of the
|
|
13
|
+
* biome manifest (plan §30.2). It carries:
|
|
14
|
+
*
|
|
15
|
+
* - `defaultProfile`: the built-in `BiomePermissionProfile` (plan §30.3)
|
|
16
|
+
* the install UI suggests by default. Third-party biomes MUST NOT
|
|
17
|
+
* define new profiles — those are kernel-shipped or org-custom only.
|
|
18
|
+
* - `hints`: one entry per declared `requiresCapabilities[]` ref. The
|
|
19
|
+
* hint is author-facing copy used to render the install-time digest;
|
|
20
|
+
* it does not itself grant anything.
|
|
21
|
+
* - `groups`: optional author-side bundling of related capabilities so
|
|
22
|
+
* the install UI can render "Grant the *kb-read* group" as one
|
|
23
|
+
* toggle. Pure UX sugar — grants are still recorded per-capability.
|
|
24
|
+
*/
|
|
25
|
+
export interface BiomePermissionsManifest {
|
|
26
|
+
defaultProfile: BiomePermissionProfile;
|
|
27
|
+
hints: readonly PermissionHint[];
|
|
28
|
+
groups?: readonly PermissionGroup[];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export const BiomePermissionsManifestSchema = z.object({
|
|
32
|
+
defaultProfile: BiomePermissionProfileSchema,
|
|
33
|
+
hints: z.array(PermissionHintSchema).readonly(),
|
|
34
|
+
groups: z.array(PermissionGroupSchema).readonly().optional(),
|
|
35
|
+
}) as z.ZodType<BiomePermissionsManifest>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `BiomeScope` is the closed set of installation scopes a biome may live
|
|
5
|
+
* in (plan §4). A biome installed twice — once in `Org` and once in
|
|
6
|
+
* `Sandbox` — is two installations with disjoint state (storage,
|
|
7
|
+
* grants, audit lineage) per §25.2.
|
|
8
|
+
*
|
|
9
|
+
* String values match the on-wire representation used by
|
|
10
|
+
* `biome-host-api` install records and Object Registry projections.
|
|
11
|
+
*/
|
|
12
|
+
export enum BiomeScope {
|
|
13
|
+
System = 'system',
|
|
14
|
+
Org = 'org',
|
|
15
|
+
Project = 'project',
|
|
16
|
+
Sandbox = 'sandbox',
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const BiomeScopeSchema = z.nativeEnum(BiomeScope);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `BiomeTrustTier` is the closed set of provenance tiers a biome may
|
|
5
|
+
* carry (plan §21 OQ6). The tier is set at biome publication / install
|
|
6
|
+
* time and is the primary input to the trust-tier default capability
|
|
7
|
+
* policy (see `trust-tier-policies.ts`).
|
|
8
|
+
*
|
|
9
|
+
* String values match the on-wire representation in `xema-biome.json`
|
|
10
|
+
* manifests, Store catalog entries, and audit events.
|
|
11
|
+
*/
|
|
12
|
+
export enum BiomeTrustTier {
|
|
13
|
+
System = 'system',
|
|
14
|
+
FirstParty = 'first-party',
|
|
15
|
+
VerifiedStore = 'verified-store',
|
|
16
|
+
CommunityStore = 'community-store',
|
|
17
|
+
PrivateOrg = 'private-org',
|
|
18
|
+
GeneratedSandbox = 'generated-sandbox',
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const BiomeTrustTierSchema = z.nativeEnum(BiomeTrustTier);
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { BiomeTrustTier } from './biome-trust-tier';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Default capability-policy summary per `BiomeTrustTier` (plan §21 OQ6).
|
|
5
|
+
*
|
|
6
|
+
* This table is NOT the authorization decision — `authorization-api` is
|
|
7
|
+
* the source of truth at runtime. It is the kernel-shipped default that
|
|
8
|
+
* the install UI uses to render the digest, that the boundary CI uses
|
|
9
|
+
* to spot ill-formed manifests, and that `biome-host-api` uses as the
|
|
10
|
+
* starting point for the `(BiomeInstall, ExecutionEnvironment)` grant
|
|
11
|
+
* materialisation.
|
|
12
|
+
*
|
|
13
|
+
* Fields:
|
|
14
|
+
*
|
|
15
|
+
* - `allowsProdZones`: whether the tier is allowed to be installed in
|
|
16
|
+
* any of `org` / `project` / `app` / `session` zones by default.
|
|
17
|
+
* `false` means the install is fenced to `sandbox` and/or
|
|
18
|
+
* `store-review` regardless of org policy.
|
|
19
|
+
* - `requiresHumanApproval`: whether install / promote-out-of-sandbox
|
|
20
|
+
* defaults to `requiresApproval=true` on the corresponding capability
|
|
21
|
+
* call (`biome:install@1`, `biome:promote@1`).
|
|
22
|
+
* - `allowedEnvironments`: the environment slugs the tier may live in by default —
|
|
23
|
+
* one of the eight built-in zones declared in plan §3.4
|
|
24
|
+
* (`system | org | project | app | session | sandbox | public |
|
|
25
|
+
* store-review`). Org admins may relax or tighten this through
|
|
26
|
+
* custom policy; the kernel default is the conservative baseline.
|
|
27
|
+
*
|
|
28
|
+
* The frozen const guarantees every `BiomeTrustTier` value is mapped;
|
|
29
|
+
* adding a tier without extending this table is a compile-time error.
|
|
30
|
+
*/
|
|
31
|
+
export interface BiomeTrustTierDefaultPolicy {
|
|
32
|
+
readonly allowsProdZones: boolean;
|
|
33
|
+
readonly requiresHumanApproval: boolean;
|
|
34
|
+
readonly allowedEnvironments: readonly string[];
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export const TRUST_TIER_DEFAULT_CAPABILITY_POLICIES: Readonly<
|
|
38
|
+
Record<BiomeTrustTier, BiomeTrustTierDefaultPolicy>
|
|
39
|
+
> = Object.freeze({
|
|
40
|
+
[BiomeTrustTier.System]: Object.freeze({
|
|
41
|
+
allowsProdZones: true,
|
|
42
|
+
requiresHumanApproval: false,
|
|
43
|
+
allowedEnvironments: Object.freeze([
|
|
44
|
+
'system',
|
|
45
|
+
'org',
|
|
46
|
+
'project',
|
|
47
|
+
'app',
|
|
48
|
+
'session',
|
|
49
|
+
'sandbox',
|
|
50
|
+
'public',
|
|
51
|
+
'store-review',
|
|
52
|
+
] as const),
|
|
53
|
+
}),
|
|
54
|
+
[BiomeTrustTier.FirstParty]: Object.freeze({
|
|
55
|
+
allowsProdZones: true,
|
|
56
|
+
requiresHumanApproval: false,
|
|
57
|
+
allowedEnvironments: Object.freeze([
|
|
58
|
+
'org',
|
|
59
|
+
'project',
|
|
60
|
+
'app',
|
|
61
|
+
'session',
|
|
62
|
+
'sandbox',
|
|
63
|
+
'store-review',
|
|
64
|
+
] as const),
|
|
65
|
+
}),
|
|
66
|
+
[BiomeTrustTier.VerifiedStore]: Object.freeze({
|
|
67
|
+
allowsProdZones: true,
|
|
68
|
+
requiresHumanApproval: true,
|
|
69
|
+
allowedEnvironments: Object.freeze([
|
|
70
|
+
'org',
|
|
71
|
+
'project',
|
|
72
|
+
'app',
|
|
73
|
+
'session',
|
|
74
|
+
'sandbox',
|
|
75
|
+
'store-review',
|
|
76
|
+
] as const),
|
|
77
|
+
}),
|
|
78
|
+
[BiomeTrustTier.CommunityStore]: Object.freeze({
|
|
79
|
+
allowsProdZones: false,
|
|
80
|
+
requiresHumanApproval: true,
|
|
81
|
+
allowedEnvironments: Object.freeze(['sandbox', 'store-review'] as const),
|
|
82
|
+
}),
|
|
83
|
+
[BiomeTrustTier.PrivateOrg]: Object.freeze({
|
|
84
|
+
allowsProdZones: true,
|
|
85
|
+
requiresHumanApproval: true,
|
|
86
|
+
allowedEnvironments: Object.freeze([
|
|
87
|
+
'org',
|
|
88
|
+
'project',
|
|
89
|
+
'app',
|
|
90
|
+
'session',
|
|
91
|
+
'sandbox',
|
|
92
|
+
] as const),
|
|
93
|
+
}),
|
|
94
|
+
[BiomeTrustTier.GeneratedSandbox]: Object.freeze({
|
|
95
|
+
allowsProdZones: false,
|
|
96
|
+
requiresHumanApproval: true,
|
|
97
|
+
allowedEnvironments: Object.freeze(['sandbox'] as const),
|
|
98
|
+
}),
|
|
99
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './lib/capability-ref';
|
|
2
|
+
export * from './lib/capability-grant';
|
|
3
|
+
export * from './lib/capability-policy';
|
|
4
|
+
export * from './lib/permission-profile';
|
|
5
|
+
export * from './lib/shell-command-descriptor';
|
|
6
|
+
export * from './lib/meta-tool';
|
|
7
|
+
export * from './lib/capability-contribution';
|
|
8
|
+
export * from './lib/errors';
|