@interf/compiler 0.22.2 → 0.50.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/README.md +119 -282
- package/dist/bin-mcp.d.ts +2 -0
- package/dist/bin-mcp.js +63 -0
- package/dist/bin-runtime.d.ts +2 -0
- package/dist/bin-runtime.js +111 -0
- package/dist/cli/commands/agents.js +4 -35
- package/dist/cli/commands/auth.d.ts +20 -0
- package/dist/cli/commands/auth.js +161 -0
- package/dist/cli/commands/benchmark.d.ts +9 -0
- package/dist/cli/commands/benchmark.js +58 -0
- package/dist/cli/commands/build-plan.js +107 -139
- package/dist/cli/commands/build.d.ts +3 -4
- package/dist/cli/commands/build.js +16 -45
- package/dist/cli/commands/doctor.js +3 -3
- package/dist/cli/commands/graphs.d.ts +2 -0
- package/dist/cli/commands/graphs.js +344 -0
- package/dist/cli/commands/login.js +4 -6
- package/dist/cli/commands/logout.js +1 -1
- package/dist/cli/commands/mcp.d.ts +4 -2
- package/dist/cli/commands/mcp.js +846 -232
- package/dist/cli/commands/project.d.ts +2 -0
- package/dist/cli/commands/project.js +176 -0
- package/dist/cli/commands/reset.d.ts +3 -4
- package/dist/cli/commands/reset.js +10 -31
- package/dist/cli/commands/runs.js +136 -57
- package/dist/cli/commands/runtime.d.ts +24 -0
- package/dist/cli/commands/runtime.js +373 -0
- package/dist/cli/commands/status.d.ts +1 -0
- package/dist/cli/commands/status.js +35 -45
- package/dist/cli/commands/traces.d.ts +2 -0
- package/dist/cli/commands/traces.js +97 -0
- package/dist/cli/commands/wizard.js +171 -178
- package/dist/cli/index.d.ts +7 -4
- package/dist/cli/index.js +13 -7
- package/dist/cli/lib/http-client.d.ts +39 -0
- package/dist/cli/lib/http-client.js +73 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/packages/build-plans/authoring/brief.d.ts +538 -0
- package/dist/packages/build-plans/authoring/brief.js +89 -0
- package/dist/packages/build-plans/authoring/build-plan-authoring.d.ts +52 -11
- package/dist/packages/build-plans/authoring/build-plan-authoring.js +493 -46
- package/dist/packages/build-plans/authoring/build-plan-edit-session.d.ts +10 -1
- package/dist/packages/build-plans/authoring/build-plan-edit-session.js +27 -4
- package/dist/packages/build-plans/authoring/build-plan-improvement.d.ts +9 -6
- package/dist/packages/build-plans/authoring/build-plan-improvement.js +97 -46
- package/dist/packages/build-plans/authoring/lib/build-plan-edit-utils.d.ts +1 -0
- package/dist/packages/build-plans/authoring/lib/build-plan-edit-utils.js +7 -7
- package/dist/packages/build-plans/build-plan-resolution.d.ts +1 -1
- package/dist/packages/build-plans/build-plan-resolution.js +3 -3
- package/dist/packages/build-plans/index.d.ts +1 -1
- package/dist/packages/build-plans/index.js +1 -1
- package/dist/packages/build-plans/package/build-plan-definitions.d.ts +14 -13
- package/dist/packages/build-plans/package/build-plan-definitions.js +45 -42
- package/dist/packages/build-plans/package/build-plan-helpers.d.ts +3 -2
- package/dist/packages/build-plans/package/build-plan-helpers.js +27 -13
- package/dist/packages/build-plans/package/build-plan-review-paths.d.ts +5 -5
- package/dist/packages/build-plans/package/build-plan-review-paths.js +15 -15
- package/dist/packages/build-plans/package/build-plan-stage-runner.d.ts +5 -4
- package/dist/packages/build-plans/package/build-plan-stage-runner.js +23 -11
- package/dist/packages/build-plans/package/builtin-build-plan.d.ts +7 -8
- package/dist/packages/build-plans/package/builtin-build-plan.js +10 -11
- package/dist/packages/build-plans/package/context-interface.d.ts +14 -9
- package/dist/packages/build-plans/package/context-interface.js +14 -33
- package/dist/packages/build-plans/package/interf-build-plan-package.d.ts +6 -17
- package/dist/packages/build-plans/package/interf-build-plan-package.js +68 -64
- package/dist/packages/build-plans/package/local-build-plans.d.ts +21 -14
- package/dist/packages/build-plans/package/local-build-plans.js +105 -55
- package/dist/packages/build-plans/package/user-build-plans.js +1 -1
- package/dist/packages/contracts/index.d.ts +5 -2
- package/dist/packages/contracts/index.js +3 -1
- package/dist/packages/contracts/lib/context-graph-layer.d.ts +161 -0
- package/dist/packages/contracts/lib/context-graph-layer.js +216 -0
- package/dist/packages/contracts/lib/project-paths.d.ts +144 -0
- package/dist/packages/contracts/lib/project-paths.js +220 -0
- package/dist/packages/contracts/lib/project-schema.d.ts +423 -0
- package/dist/packages/contracts/lib/project-schema.js +138 -0
- package/dist/packages/contracts/lib/schema.d.ts +1273 -81
- package/dist/packages/contracts/lib/schema.js +675 -79
- package/dist/packages/contracts/utils/filesystem.d.ts +1 -0
- package/dist/packages/contracts/utils/filesystem.js +29 -1
- package/dist/packages/contracts/utils/parse.js +67 -0
- package/dist/packages/projects/index.d.ts +6 -0
- package/dist/packages/{project → projects}/index.js +0 -3
- package/dist/packages/{project → projects}/interf-detect.d.ts +12 -12
- package/dist/packages/{project → projects}/interf-detect.js +56 -50
- package/dist/packages/projects/interf.d.ts +2 -0
- package/dist/packages/projects/interf.js +1 -0
- package/dist/packages/projects/lib/schema.d.ts +77 -0
- package/dist/packages/projects/lib/schema.js +91 -0
- package/dist/packages/projects/source-config.d.ts +53 -0
- package/dist/packages/projects/source-config.js +339 -0
- package/dist/packages/projects/source-folders.d.ts +11 -0
- package/dist/packages/{project → projects}/source-folders.js +26 -26
- package/dist/packages/{engine → runtime}/action-planner.d.ts +1 -1
- package/dist/packages/{engine → runtime}/action-planner.js +20 -22
- package/dist/packages/runtime/action-values.d.ts +1 -0
- package/dist/packages/runtime/action-values.js +1 -0
- package/dist/packages/runtime/actions/errors.d.ts +2 -0
- package/dist/packages/runtime/actions/errors.js +12 -0
- package/dist/packages/runtime/actions/fields.d.ts +86 -0
- package/dist/packages/runtime/actions/form-builders.d.ts +14 -0
- package/dist/packages/runtime/actions/form-builders.js +667 -0
- package/dist/packages/runtime/actions/form-validators.d.ts +8 -0
- package/dist/packages/runtime/actions/form-validators.js +134 -0
- package/dist/packages/runtime/actions/helpers.d.ts +11 -0
- package/dist/packages/runtime/actions/helpers.js +80 -0
- package/dist/packages/runtime/actions/index.d.ts +8 -0
- package/dist/packages/runtime/actions/index.js +11 -0
- package/dist/packages/runtime/actions/registry.d.ts +64 -0
- package/dist/packages/runtime/actions/registry.js +62 -0
- package/dist/packages/runtime/actions/requests.d.ts +45 -0
- package/dist/packages/runtime/actions/requests.js +164 -0
- package/dist/packages/runtime/actions/schemas.d.ts +161 -0
- package/dist/packages/runtime/actions/schemas.js +37 -0
- package/dist/packages/runtime/agent-handoff.d.ts +11 -0
- package/dist/packages/runtime/agent-handoff.js +102 -0
- package/dist/packages/{engine → runtime}/agents/index.d.ts +1 -2
- package/dist/packages/{engine → runtime}/agents/index.js +1 -2
- package/dist/packages/runtime/agents/lib/args.d.ts +14 -0
- package/dist/packages/runtime/agents/lib/args.js +24 -0
- package/dist/packages/{engine → runtime}/agents/lib/constants.d.ts +4 -1
- package/dist/packages/runtime/agents/lib/constants.js +13 -0
- package/dist/packages/runtime/agents/lib/context-graph-bootstrap.d.ts +3 -0
- package/dist/packages/{engine/agents/lib/verifiable-context-bootstrap.js → runtime/agents/lib/context-graph-bootstrap.js} +5 -6
- package/dist/packages/{engine → runtime}/agents/lib/detection.d.ts +5 -0
- package/dist/packages/{engine → runtime}/agents/lib/detection.js +16 -7
- package/dist/packages/{engine → runtime}/agents/lib/execution-profile.d.ts +14 -0
- package/dist/packages/{engine → runtime}/agents/lib/execution-profile.js +31 -14
- package/dist/packages/{engine → runtime}/agents/lib/execution.js +22 -6
- package/dist/packages/{engine → runtime}/agents/lib/executors.d.ts +1 -0
- package/dist/packages/{engine → runtime}/agents/lib/executors.js +11 -2
- package/dist/packages/runtime/agents/lib/logs.d.ts +12 -0
- package/dist/packages/runtime/agents/lib/logs.js +41 -0
- package/dist/packages/{engine → runtime}/agents/lib/preflight.js +19 -14
- package/dist/packages/runtime/agents/lib/render.d.ts +26 -0
- package/dist/packages/{engine → runtime}/agents/lib/render.js +48 -22
- package/dist/packages/runtime/agents/lib/shell-fs.d.ts +18 -0
- package/dist/packages/runtime/agents/lib/shell-fs.js +190 -0
- package/dist/packages/runtime/agents/lib/shell-paths.d.ts +16 -0
- package/dist/packages/runtime/agents/lib/shell-paths.js +63 -0
- package/dist/packages/runtime/agents/lib/shell-projection.d.ts +25 -0
- package/dist/packages/runtime/agents/lib/shell-projection.js +314 -0
- package/dist/packages/runtime/agents/lib/shell-templates.d.ts +30 -0
- package/dist/packages/runtime/agents/lib/shell-templates.js +494 -0
- package/dist/packages/runtime/agents/lib/shell-workspace.d.ts +17 -0
- package/dist/packages/runtime/agents/lib/shell-workspace.js +70 -0
- package/dist/packages/runtime/agents/lib/shells.d.ts +92 -0
- package/dist/packages/runtime/agents/lib/shells.js +509 -0
- package/dist/packages/runtime/agents/lib/source-context-scan.d.ts +10 -0
- package/dist/packages/runtime/agents/lib/source-context-scan.js +388 -0
- package/dist/packages/{engine → runtime}/agents/lib/status.js +1 -14
- package/dist/packages/runtime/agents/lib/string-utils.d.ts +16 -0
- package/dist/packages/runtime/agents/lib/string-utils.js +36 -0
- package/dist/packages/{engine → runtime}/agents/lib/types.d.ts +1 -0
- package/dist/packages/{engine → runtime}/agents/lib/user-config.d.ts +8 -2
- package/dist/packages/{engine → runtime}/agents/lib/user-config.js +8 -2
- package/dist/packages/runtime/agents/providers/claude-code.d.ts +13 -0
- package/dist/packages/runtime/agents/providers/claude-code.js +45 -0
- package/dist/packages/runtime/agents/providers/codex.d.ts +17 -0
- package/dist/packages/runtime/agents/providers/codex.js +66 -0
- package/dist/packages/runtime/agents/providers/cursor.d.ts +9 -0
- package/dist/packages/runtime/agents/providers/cursor.js +24 -0
- package/dist/packages/runtime/agents/providers/index.d.ts +9 -0
- package/dist/packages/runtime/agents/providers/index.js +31 -0
- package/dist/packages/runtime/agents/providers/types.d.ts +50 -0
- package/dist/packages/{engine → runtime}/agents/registry.d.ts +13 -2
- package/dist/packages/{engine → runtime}/agents/registry.js +48 -10
- package/dist/packages/{engine → runtime}/agents/role-executors.d.ts +1 -1
- package/dist/packages/{engine → runtime}/agents/role-executors.js +9 -7
- package/dist/packages/{engine → runtime}/agents/role-router.js +7 -5
- package/dist/packages/runtime/auth/account-context.d.ts +52 -0
- package/dist/packages/runtime/auth/account-context.js +68 -0
- package/dist/packages/runtime/auth/auth-flow.d.ts +73 -0
- package/dist/packages/runtime/auth/auth-flow.js +189 -0
- package/dist/packages/runtime/auth/jwt-validator.d.ts +58 -0
- package/dist/packages/runtime/auth/jwt-validator.js +86 -0
- package/dist/packages/runtime/auth/keychain.d.ts +35 -0
- package/dist/packages/runtime/auth/keychain.js +85 -0
- package/dist/packages/runtime/auth/session-store.d.ts +38 -0
- package/dist/packages/runtime/auth/session-store.js +96 -0
- package/dist/packages/runtime/auth/workos-client.d.ts +58 -0
- package/dist/packages/runtime/auth/workos-client.js +87 -0
- package/dist/packages/runtime/benchmark-question-draft.d.ts +23 -0
- package/dist/packages/runtime/benchmark-question-draft.js +153 -0
- package/dist/packages/runtime/build/artifact-counts.d.ts +1 -0
- package/dist/packages/{engine → runtime}/build/artifact-counts.js +5 -9
- package/dist/packages/{engine → runtime}/build/artifact-status.d.ts +6 -6
- package/dist/packages/{engine → runtime}/build/artifact-status.js +26 -24
- package/dist/packages/runtime/build/atomic-fs.d.ts +3 -0
- package/dist/packages/runtime/build/atomic-fs.js +95 -0
- package/dist/packages/runtime/build/billing-events.d.ts +78 -0
- package/dist/packages/{engine → runtime}/build/billing-events.js +17 -19
- package/dist/packages/runtime/build/build-evidence.d.ts +16 -0
- package/dist/packages/runtime/build/build-evidence.js +179 -0
- package/dist/packages/{engine → runtime}/build/build-pipeline.d.ts +12 -8
- package/dist/packages/runtime/build/build-pipeline.js +388 -0
- package/dist/packages/{engine → runtime}/build/build-plan-primitives.d.ts +1 -1
- package/dist/packages/{engine → runtime}/build/build-plan-primitives.js +0 -1
- package/dist/packages/runtime/build/build-plan-runs.d.ts +14 -0
- package/dist/packages/runtime/build/build-plan-runs.js +31 -0
- package/dist/packages/runtime/build/build-stage-plan.d.ts +16 -0
- package/dist/packages/runtime/build/build-stage-plan.js +101 -0
- package/dist/packages/{engine → runtime}/build/build-stage-runner.d.ts +2 -1
- package/dist/packages/runtime/build/build-stage-runner.js +302 -0
- package/dist/packages/{engine → runtime}/build/build-target.d.ts +7 -4
- package/dist/packages/runtime/build/build-target.js +40 -0
- package/dist/packages/{engine → runtime}/build/check-evaluator.d.ts +14 -16
- package/dist/packages/runtime/build/check-evaluator.js +1226 -0
- package/dist/packages/runtime/build/context-graph-paths.d.ts +64 -0
- package/dist/packages/runtime/build/context-graph-paths.js +160 -0
- package/dist/packages/runtime/build/context-graph-schema.d.ts +19 -0
- package/dist/packages/runtime/build/context-graph-schema.js +39 -0
- package/dist/packages/{engine → runtime}/build/discovery.d.ts +2 -2
- package/dist/packages/{engine → runtime}/build/discovery.js +4 -4
- package/dist/packages/{engine → runtime}/build/index.d.ts +7 -5
- package/dist/packages/{engine → runtime}/build/index.js +7 -5
- package/dist/packages/runtime/build/inspect-map.d.ts +10 -0
- package/dist/packages/runtime/build/inspect-map.js +270 -0
- package/dist/packages/{engine → runtime}/build/lib/schema.d.ts +449 -123
- package/dist/packages/runtime/build/lib/schema.js +494 -0
- package/dist/packages/runtime/build/native-entrypoint.d.ts +2 -0
- package/dist/packages/runtime/build/native-entrypoint.js +286 -0
- package/dist/packages/runtime/build/reset.d.ts +2 -0
- package/dist/packages/runtime/build/reset.js +62 -0
- package/dist/packages/{engine → runtime}/build/runtime-contracts.js +13 -7
- package/dist/packages/runtime/build/runtime-inventory.d.ts +7 -0
- package/dist/packages/{engine → runtime}/build/runtime-inventory.js +3 -3
- package/dist/packages/runtime/build/runtime-log-paths.d.ts +3 -0
- package/dist/packages/runtime/build/runtime-log-paths.js +16 -0
- package/dist/packages/{engine → runtime}/build/runtime-prompt.js +12 -9
- package/dist/packages/{engine → runtime}/build/runtime-reconcile.d.ts +1 -1
- package/dist/packages/{engine → runtime}/build/runtime-reconcile.js +25 -21
- package/dist/packages/runtime/build/runtime-runs.d.ts +10 -0
- package/dist/packages/runtime/build/runtime-runs.js +318 -0
- package/dist/packages/{engine → runtime}/build/runtime-types.d.ts +9 -6
- package/dist/packages/runtime/build/runtime-types.js +1 -0
- package/dist/packages/runtime/build/runtime.d.ts +8 -0
- package/dist/packages/runtime/build/runtime.js +7 -0
- package/dist/packages/runtime/build/source-files.d.ts +58 -0
- package/dist/packages/runtime/build/source-files.js +193 -0
- package/dist/packages/runtime/build/source-inventory.d.ts +28 -0
- package/dist/packages/runtime/build/source-inventory.js +512 -0
- package/dist/packages/runtime/build/source-manifest.d.ts +63 -0
- package/dist/packages/runtime/build/source-manifest.js +220 -0
- package/dist/packages/runtime/build/stage-evidence.d.ts +22 -0
- package/dist/packages/runtime/build/stage-evidence.js +386 -0
- package/dist/packages/runtime/build/stage-manifest.d.ts +45 -0
- package/dist/packages/runtime/build/stage-manifest.js +1125 -0
- package/dist/packages/runtime/build/stage-reuse.d.ts +11 -0
- package/dist/packages/runtime/build/stage-reuse.js +154 -0
- package/dist/packages/runtime/build/stage-session.d.ts +81 -0
- package/dist/packages/runtime/build/stage-session.js +308 -0
- package/dist/packages/runtime/build/state-artifacts.d.ts +9 -0
- package/dist/packages/runtime/build/state-artifacts.js +14 -0
- package/dist/packages/runtime/build/state-health.d.ts +4 -0
- package/dist/packages/{engine → runtime}/build/state-health.js +21 -26
- package/dist/packages/runtime/build/state-io.d.ts +12 -0
- package/dist/packages/runtime/build/state-io.js +118 -0
- package/dist/packages/runtime/build/state-view.d.ts +5 -0
- package/dist/packages/runtime/build/state-view.js +121 -0
- package/dist/packages/runtime/build/state.d.ts +7 -0
- package/dist/packages/runtime/build/state.js +12 -0
- package/dist/packages/runtime/build/summary-coverage-index.d.ts +21 -0
- package/dist/packages/runtime/build/summary-coverage-index.js +189 -0
- package/dist/packages/runtime/build/traces.d.ts +30 -0
- package/dist/packages/runtime/build/traces.js +133 -0
- package/dist/packages/{engine/build/validate-verifiable-context.d.ts → runtime/build/validate-context-graph.d.ts} +6 -6
- package/dist/packages/{engine/build/validate-verifiable-context.js → runtime/build/validate-context-graph.js} +49 -36
- package/dist/packages/{engine → runtime}/build/validate.d.ts +5 -5
- package/dist/packages/{engine → runtime}/build/validate.js +26 -26
- package/dist/packages/{engine → runtime}/client.d.ts +18 -18
- package/dist/packages/{engine → runtime}/client.js +48 -36
- package/dist/packages/{engine → runtime}/connection-config.d.ts +3 -2
- package/dist/packages/{engine → runtime}/connection-config.js +9 -8
- package/dist/packages/runtime/context-checks.d.ts +10 -0
- package/dist/packages/runtime/context-checks.js +127 -0
- package/dist/packages/runtime/context-graph-scaffold.d.ts +9 -0
- package/dist/packages/runtime/context-graph-scaffold.js +135 -0
- package/dist/packages/runtime/context-graph-semantic-graph.d.ts +9 -0
- package/dist/packages/runtime/context-graph-semantic-graph.js +416 -0
- package/dist/packages/runtime/entitlement-guard.d.ts +43 -0
- package/dist/packages/runtime/entitlement-guard.js +70 -0
- package/dist/packages/{engine → runtime}/execution/index.d.ts +2 -2
- package/dist/packages/{engine → runtime}/execution/index.js +1 -1
- package/dist/packages/{engine → runtime}/execution/lib/schema.d.ts +272 -191
- package/dist/packages/{engine → runtime}/execution/lib/schema.js +35 -32
- package/dist/packages/runtime/index.d.ts +29 -0
- package/dist/packages/runtime/index.js +21 -0
- package/dist/packages/runtime/instance-paths.d.ts +30 -0
- package/dist/packages/runtime/instance-paths.js +29 -0
- package/dist/packages/runtime/native-run-handlers.d.ts +63 -0
- package/dist/packages/{engine → runtime}/native-run-handlers.js +217 -166
- package/dist/packages/runtime/plan-artifact-contract.d.ts +17 -0
- package/dist/packages/runtime/plan-artifact-contract.js +42 -0
- package/dist/packages/runtime/project-entries.d.ts +11 -0
- package/dist/packages/runtime/project-entries.js +49 -0
- package/dist/packages/runtime/project-source-state.d.ts +26 -0
- package/dist/packages/runtime/project-source-state.js +56 -0
- package/dist/packages/runtime/project-store.d.ts +90 -0
- package/dist/packages/runtime/project-store.js +195 -0
- package/dist/packages/runtime/requested-artifacts.d.ts +7 -0
- package/dist/packages/{engine → runtime}/requested-artifacts.js +23 -1
- package/dist/packages/{engine → runtime}/run-observability.d.ts +2 -1
- package/dist/packages/{engine → runtime}/run-observability.js +174 -87
- package/dist/packages/runtime/runtime-action-proposals.d.ts +7 -0
- package/dist/packages/runtime/runtime-action-proposals.js +542 -0
- package/dist/packages/runtime/runtime-build-plans.d.ts +5 -0
- package/dist/packages/runtime/runtime-build-plans.js +175 -0
- package/dist/packages/runtime/runtime-build-runs.d.ts +47 -0
- package/dist/packages/runtime/runtime-build-runs.js +555 -0
- package/dist/packages/runtime/runtime-caches.d.ts +117 -0
- package/dist/packages/runtime/runtime-caches.js +266 -0
- package/dist/packages/{engine → runtime}/runtime-event-applier.d.ts +3 -1
- package/dist/packages/{engine → runtime}/runtime-event-applier.js +53 -17
- package/dist/packages/runtime/runtime-executor.d.ts +22 -0
- package/dist/packages/runtime/runtime-executor.js +131 -0
- package/dist/packages/runtime/runtime-jobs.d.ts +13 -0
- package/dist/packages/runtime/runtime-jobs.js +463 -0
- package/dist/packages/runtime/runtime-observability.d.ts +11 -0
- package/dist/packages/runtime/runtime-observability.js +39 -0
- package/dist/packages/{engine → runtime}/runtime-persistence.d.ts +9 -18
- package/dist/packages/{engine → runtime}/runtime-persistence.js +25 -25
- package/dist/packages/runtime/runtime-project-mutations.d.ts +7 -0
- package/dist/packages/runtime/runtime-project-mutations.js +65 -0
- package/dist/packages/runtime/runtime-project-reads.d.ts +18 -0
- package/dist/packages/runtime/runtime-project-reads.js +574 -0
- package/dist/packages/runtime/runtime-proposal-helpers.d.ts +22 -0
- package/dist/packages/runtime/runtime-proposal-helpers.js +223 -0
- package/dist/packages/{engine → runtime}/runtime-resource-builders.d.ts +23 -16
- package/dist/packages/{engine → runtime}/runtime-resource-builders.js +58 -46
- package/dist/packages/runtime/runtime-status.d.ts +14 -0
- package/dist/packages/runtime/runtime-status.js +15 -0
- package/dist/packages/runtime/runtime-verify-runs.d.ts +84 -0
- package/dist/packages/runtime/runtime-verify-runs.js +296 -0
- package/dist/packages/runtime/runtime.d.ts +1582 -0
- package/dist/packages/runtime/runtime.js +431 -0
- package/dist/packages/runtime/schemas/actions.d.ts +1206 -0
- package/dist/packages/runtime/schemas/actions.js +117 -0
- package/dist/packages/runtime/schemas/agents.d.ts +104 -0
- package/dist/packages/runtime/schemas/agents.js +74 -0
- package/dist/packages/runtime/schemas/build-plans.d.ts +1132 -0
- package/dist/packages/runtime/schemas/build-plans.js +141 -0
- package/dist/packages/runtime/schemas/context-graphs.d.ts +1522 -0
- package/dist/packages/runtime/schemas/context-graphs.js +110 -0
- package/dist/packages/runtime/schemas/files.d.ts +227 -0
- package/dist/packages/runtime/schemas/files.js +28 -0
- package/dist/packages/runtime/schemas/index.d.ts +9 -0
- package/dist/packages/runtime/schemas/index.js +13 -0
- package/dist/packages/runtime/schemas/instance.d.ts +141 -0
- package/dist/packages/runtime/schemas/instance.js +143 -0
- package/dist/packages/runtime/schemas/jobs.d.ts +339 -0
- package/dist/packages/runtime/schemas/jobs.js +107 -0
- package/dist/packages/runtime/schemas/projects.d.ts +366 -0
- package/dist/packages/runtime/schemas/projects.js +160 -0
- package/dist/packages/runtime/schemas/runs.d.ts +3445 -0
- package/dist/packages/runtime/schemas/runs.js +115 -0
- package/dist/packages/runtime/service/index.d.ts +3 -0
- package/dist/packages/runtime/service/index.js +3 -0
- package/dist/packages/runtime/service/openapi.d.ts +7 -0
- package/dist/packages/runtime/service/openapi.js +118 -0
- package/dist/packages/runtime/service/operations.d.ts +3011 -0
- package/dist/packages/runtime/service/operations.js +375 -0
- package/dist/packages/runtime/service/routes.d.ts +114 -0
- package/dist/packages/runtime/service/routes.js +128 -0
- package/dist/packages/runtime/service/server-api-files.d.ts +10 -0
- package/dist/packages/runtime/service/server-api-files.js +85 -0
- package/dist/packages/runtime/service/server-app-boot.d.ts +4 -0
- package/dist/packages/runtime/service/server-app-boot.js +46 -0
- package/dist/packages/runtime/service/server-guards.d.ts +63 -0
- package/dist/packages/runtime/service/server-guards.js +181 -0
- package/dist/packages/runtime/service/server-helpers.d.ts +38 -0
- package/dist/packages/runtime/service/server-helpers.js +108 -0
- package/dist/packages/runtime/service/server-instance-helpers.d.ts +30 -0
- package/dist/packages/runtime/service/server-instance-helpers.js +114 -0
- package/dist/packages/runtime/service/server-routes-action-proposals.d.ts +3 -0
- package/dist/packages/runtime/service/server-routes-action-proposals.js +45 -0
- package/dist/packages/runtime/service/server-routes-agents.d.ts +4 -0
- package/dist/packages/runtime/service/server-routes-agents.js +132 -0
- package/dist/packages/runtime/service/server-routes-auth.d.ts +33 -0
- package/dist/packages/runtime/service/server-routes-auth.js +138 -0
- package/dist/packages/runtime/service/server-routes-build-plans.d.ts +3 -0
- package/dist/packages/runtime/service/server-routes-build-plans.js +86 -0
- package/dist/packages/runtime/service/server-routes-discovery.d.ts +4 -0
- package/dist/packages/runtime/service/server-routes-discovery.js +196 -0
- package/dist/packages/runtime/service/server-routes-events.d.ts +5 -0
- package/dist/packages/runtime/service/server-routes-events.js +99 -0
- package/dist/packages/runtime/service/server-routes-project-context.d.ts +9 -0
- package/dist/packages/runtime/service/server-routes-project-context.js +287 -0
- package/dist/packages/runtime/service/server-routes-project-jobs.d.ts +9 -0
- package/dist/packages/runtime/service/server-routes-project-jobs.js +137 -0
- package/dist/packages/runtime/service/server-routes-project-runs.d.ts +14 -0
- package/dist/packages/runtime/service/server-routes-project-runs.js +88 -0
- package/dist/packages/runtime/service/server-routes-projects.d.ts +4 -0
- package/dist/packages/runtime/service/server-routes-projects.js +96 -0
- package/dist/packages/runtime/service/server-routes-runs.d.ts +3 -0
- package/dist/packages/runtime/service/server-routes-runs.js +119 -0
- package/dist/packages/runtime/service/server.d.ts +37 -0
- package/dist/packages/runtime/service/server.js +300 -0
- package/dist/packages/{engine → runtime/service}/service-registry.d.ts +5 -5
- package/dist/packages/{engine → runtime/service}/service-registry.js +7 -7
- package/dist/packages/runtime/verify/benchmark-run.d.ts +81 -0
- package/dist/packages/runtime/verify/benchmark-run.js +303 -0
- package/dist/packages/{engine → runtime}/verify/index.d.ts +2 -2
- package/dist/packages/{engine → runtime}/verify/index.js +1 -1
- package/dist/packages/{engine → runtime}/verify/lib/schema.d.ts +83 -16
- package/dist/packages/{engine → runtime}/verify/lib/schema.js +38 -18
- package/dist/packages/runtime/verify/test-file-guard.d.ts +2 -0
- package/dist/packages/runtime/verify/test-file-guard.js +29 -0
- package/dist/packages/{engine → runtime}/verify/verify-execution.d.ts +7 -0
- package/dist/packages/{engine → runtime}/verify/verify-execution.js +119 -45
- package/dist/packages/{engine → runtime}/verify/verify-paths.d.ts +5 -4
- package/dist/packages/runtime/verify/verify-paths.js +65 -0
- package/dist/packages/{engine → runtime}/verify/verify-sandbox.d.ts +1 -1
- package/dist/packages/runtime/verify/verify-sandbox.js +88 -0
- package/dist/packages/{engine → runtime}/verify/verify-specs.d.ts +2 -0
- package/dist/packages/runtime/verify/verify-specs.js +126 -0
- package/dist/packages/runtime/verify/verify-targets.d.ts +5 -0
- package/dist/packages/{engine → runtime}/verify/verify-targets.js +12 -12
- package/dist/packages/runtime/verify/verify-types.js +1 -0
- package/dist/packages/{engine → runtime}/verify/verify.d.ts +1 -1
- package/dist/packages/{engine → runtime}/verify/verify.js +1 -1
- package/dist/packages/runtime/wire-schemas.d.ts +18 -0
- package/dist/packages/runtime/wire-schemas.js +27 -0
- package/package.json +32 -30
- package/public-repo/CONTRIBUTING.md +16 -18
- package/public-repo/README.md +119 -282
- package/public-repo/SECURITY.md +3 -4
- package/public-repo/build-plans/interf-default/README.md +24 -16
- package/public-repo/build-plans/interf-default/build/stages/entrypoint/SKILL.md +74 -0
- package/public-repo/build-plans/interf-default/build/stages/knowledge/SKILL.md +95 -0
- package/public-repo/build-plans/interf-default/build/stages/summarize/SKILL.md +49 -4
- package/public-repo/build-plans/interf-default/build-plan.json +49 -39
- package/public-repo/build-plans/interf-default/build-plan.schema.json +59 -33
- package/public-repo/build-plans/interf-default/improve/SKILL.md +3 -3
- package/public-repo/build-plans/interf-default/use/query/SKILL.md +18 -11
- package/public-repo/openapi/local-service.openapi.json +14227 -0
- package/public-repo/skills/interf/SKILL.md +508 -187
- package/dist/cli/commands/prep.d.ts +0 -2
- package/dist/cli/commands/prep.js +0 -240
- package/dist/cli/commands/test.d.ts +0 -10
- package/dist/cli/commands/test.js +0 -85
- package/dist/cli/commands/web.d.ts +0 -2
- package/dist/cli/commands/web.js +0 -286
- package/dist/interf-ui/404.html +0 -1
- package/dist/interf-ui/__next.__PAGE__.txt +0 -10
- package/dist/interf-ui/__next._full.txt +0 -20
- package/dist/interf-ui/__next._head.txt +0 -5
- package/dist/interf-ui/__next._index.txt +0 -5
- package/dist/interf-ui/__next._tree.txt +0 -5
- package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_buildManifest.js +0 -11
- package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_clientMiddlewareManifest.js +0 -1
- package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_ssgManifest.js +0 -1
- package/dist/interf-ui/_next/static/chunks/0.tjb6f4golw..css +0 -3
- package/dist/interf-ui/_next/static/chunks/03~yq9q893hmn.js +0 -1
- package/dist/interf-ui/_next/static/chunks/085-n_jv2ng_q.css +0 -1
- package/dist/interf-ui/_next/static/chunks/0dn41fa_zvgsl.js +0 -1
- package/dist/interf-ui/_next/static/chunks/0g-ea0zj5d-0k.js +0 -1
- package/dist/interf-ui/_next/static/chunks/0gwqglc4iz583.js +0 -1
- package/dist/interf-ui/_next/static/chunks/0haldgm65ve6l.js +0 -1
- package/dist/interf-ui/_next/static/chunks/0nv3am99vjzn4.js +0 -1
- package/dist/interf-ui/_next/static/chunks/0s77gt_o4jwtx.js +0 -1
- package/dist/interf-ui/_next/static/chunks/0y5z3t-z1c8ks.js.map +0 -5
- package/dist/interf-ui/_next/static/chunks/0~a36ujuzpaz..js +0 -116
- package/dist/interf-ui/_next/static/chunks/10jeodxe4nkgj.js +0 -31
- package/dist/interf-ui/_next/static/chunks/119h2rouych2t.js +0 -1
- package/dist/interf-ui/_next/static/chunks/13c8b~m8knjsf.js +0 -1
- package/dist/interf-ui/_next/static/chunks/14dznb2qpt-ho.js +0 -91
- package/dist/interf-ui/_next/static/chunks/15z_en80lrq-3.js +0 -5
- package/dist/interf-ui/_next/static/chunks/turbopack-0p.pvcjrtq-jh.js +0 -1
- package/dist/interf-ui/_next/static/chunks/turbopack-0usj_75.8frlw.js +0 -1
- package/dist/interf-ui/_next/static/chunks/turbopack-worker-0sjn--fhq~1cg.js +0 -1
- package/dist/interf-ui/_next/static/media/GeistMono_Variable.p.17jn9btb_52pq.woff2 +0 -0
- package/dist/interf-ui/_next/static/media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2 +0 -0
- package/dist/interf-ui/_next/static/media/worker.102zas1s52_pf.js +0 -109
- package/dist/interf-ui/_not-found/__next._full.txt +0 -15
- package/dist/interf-ui/_not-found/__next._head.txt +0 -5
- package/dist/interf-ui/_not-found/__next._index.txt +0 -5
- package/dist/interf-ui/_not-found/__next._not-found.__PAGE__.txt +0 -5
- package/dist/interf-ui/_not-found/__next._not-found.txt +0 -5
- package/dist/interf-ui/_not-found/__next._tree.txt +0 -2
- package/dist/interf-ui/_not-found.html +0 -1
- package/dist/interf-ui/_not-found.txt +0 -15
- package/dist/interf-ui/index.html +0 -1
- package/dist/interf-ui/index.txt +0 -20
- package/dist/packages/contracts/lib/preparation-paths.d.ts +0 -117
- package/dist/packages/contracts/lib/preparation-paths.js +0 -177
- package/dist/packages/engine/action-definitions.d.ts +0 -407
- package/dist/packages/engine/action-definitions.js +0 -1158
- package/dist/packages/engine/action-values.d.ts +0 -1
- package/dist/packages/engine/action-values.js +0 -1
- package/dist/packages/engine/agents/lib/args.d.ts +0 -4
- package/dist/packages/engine/agents/lib/args.js +0 -52
- package/dist/packages/engine/agents/lib/chart-guidance.d.ts +0 -1
- package/dist/packages/engine/agents/lib/chart-guidance.js +0 -8
- package/dist/packages/engine/agents/lib/constants.js +0 -28
- package/dist/packages/engine/agents/lib/logs.d.ts +0 -2
- package/dist/packages/engine/agents/lib/logs.js +0 -17
- package/dist/packages/engine/agents/lib/render.d.ts +0 -8
- package/dist/packages/engine/agents/lib/schema.d.ts +0 -8
- package/dist/packages/engine/agents/lib/schema.js +0 -7
- package/dist/packages/engine/agents/lib/shells.d.ts +0 -74
- package/dist/packages/engine/agents/lib/shells.js +0 -1052
- package/dist/packages/engine/agents/lib/verifiable-context-bootstrap.d.ts +0 -3
- package/dist/packages/engine/build/artifact-counts.d.ts +0 -1
- package/dist/packages/engine/build/billing-events.d.ts +0 -89
- package/dist/packages/engine/build/build-pipeline.js +0 -175
- package/dist/packages/engine/build/build-plan-runs.d.ts +0 -14
- package/dist/packages/engine/build/build-plan-runs.js +0 -31
- package/dist/packages/engine/build/build-stage-plan.d.ts +0 -16
- package/dist/packages/engine/build/build-stage-plan.js +0 -100
- package/dist/packages/engine/build/build-stage-runner.js +0 -94
- package/dist/packages/engine/build/build-target.js +0 -16
- package/dist/packages/engine/build/check-evaluator.js +0 -298
- package/dist/packages/engine/build/lib/schema.js +0 -316
- package/dist/packages/engine/build/reset.d.ts +0 -2
- package/dist/packages/engine/build/reset.js +0 -74
- package/dist/packages/engine/build/runtime-inventory.d.ts +0 -7
- package/dist/packages/engine/build/runtime-paths.d.ts +0 -8
- package/dist/packages/engine/build/runtime-paths.js +0 -26
- package/dist/packages/engine/build/runtime-runs.d.ts +0 -10
- package/dist/packages/engine/build/runtime-runs.js +0 -224
- package/dist/packages/engine/build/runtime.d.ts +0 -5
- package/dist/packages/engine/build/runtime.js +0 -4
- package/dist/packages/engine/build/source-files.d.ts +0 -46
- package/dist/packages/engine/build/source-files.js +0 -149
- package/dist/packages/engine/build/state-artifacts.d.ts +0 -9
- package/dist/packages/engine/build/state-artifacts.js +0 -14
- package/dist/packages/engine/build/state-health.d.ts +0 -4
- package/dist/packages/engine/build/state-io.d.ts +0 -11
- package/dist/packages/engine/build/state-io.js +0 -82
- package/dist/packages/engine/build/state-paths.d.ts +0 -5
- package/dist/packages/engine/build/state-paths.js +0 -16
- package/dist/packages/engine/build/state-view.d.ts +0 -5
- package/dist/packages/engine/build/state-view.js +0 -94
- package/dist/packages/engine/build/state.d.ts +0 -7
- package/dist/packages/engine/build/state.js +0 -12
- package/dist/packages/engine/build/validate-helpers.d.ts +0 -12
- package/dist/packages/engine/build/validate-helpers.js +0 -41
- package/dist/packages/engine/build/verifiable-context-paths.d.ts +0 -47
- package/dist/packages/engine/build/verifiable-context-paths.js +0 -121
- package/dist/packages/engine/build/verifiable-context-schema.d.ts +0 -21
- package/dist/packages/engine/build/verifiable-context-schema.js +0 -126
- package/dist/packages/engine/cloud-seams.d.ts +0 -115
- package/dist/packages/engine/cloud-seams.js +0 -84
- package/dist/packages/engine/index.d.ts +0 -22
- package/dist/packages/engine/index.js +0 -15
- package/dist/packages/engine/instance-paths.d.ts +0 -106
- package/dist/packages/engine/instance-paths.js +0 -171
- package/dist/packages/engine/lib/schema.d.ts +0 -6304
- package/dist/packages/engine/lib/schema.js +0 -730
- package/dist/packages/engine/native-run-handlers.d.ts +0 -25
- package/dist/packages/engine/preparation-store.d.ts +0 -105
- package/dist/packages/engine/preparation-store.js +0 -213
- package/dist/packages/engine/readiness-check-draft.d.ts +0 -20
- package/dist/packages/engine/readiness-check-draft.js +0 -111
- package/dist/packages/engine/requested-artifacts.d.ts +0 -5
- package/dist/packages/engine/routes.d.ts +0 -85
- package/dist/packages/engine/routes.js +0 -99
- package/dist/packages/engine/runtime-caches.d.ts +0 -76
- package/dist/packages/engine/runtime-caches.js +0 -191
- package/dist/packages/engine/runtime-proposal-helpers.d.ts +0 -35
- package/dist/packages/engine/runtime-proposal-helpers.js +0 -247
- package/dist/packages/engine/runtime.d.ts +0 -371
- package/dist/packages/engine/runtime.js +0 -2463
- package/dist/packages/engine/server.d.ts +0 -58
- package/dist/packages/engine/server.js +0 -1399
- package/dist/packages/engine/verify/readiness-check-run.d.ts +0 -82
- package/dist/packages/engine/verify/readiness-check-run.js +0 -265
- package/dist/packages/engine/verify/verify-paths.js +0 -61
- package/dist/packages/engine/verify/verify-sandbox.js +0 -88
- package/dist/packages/engine/verify/verify-specs.js +0 -114
- package/dist/packages/engine/verify/verify-targets.d.ts +0 -5
- package/dist/packages/engine/wire-schemas.d.ts +0 -547
- package/dist/packages/engine/wire-schemas.js +0 -59
- package/dist/packages/project/index.d.ts +0 -9
- package/dist/packages/project/interf-bootstrap.d.ts +0 -1
- package/dist/packages/project/interf-bootstrap.js +0 -1
- package/dist/packages/project/interf-scaffold.d.ts +0 -3
- package/dist/packages/project/interf-scaffold.js +0 -136
- package/dist/packages/project/interf.d.ts +0 -4
- package/dist/packages/project/interf.js +0 -3
- package/dist/packages/project/lib/schema.d.ts +0 -328
- package/dist/packages/project/lib/schema.js +0 -136
- package/dist/packages/project/preparation-entries.d.ts +0 -11
- package/dist/packages/project/preparation-entries.js +0 -49
- package/dist/packages/project/source-config.d.ts +0 -46
- package/dist/packages/project/source-config.js +0 -394
- package/dist/packages/project/source-folders.d.ts +0 -11
- package/public-repo/build-plans/interf-default/build/stages/shape/SKILL.md +0 -27
- package/public-repo/build-plans/interf-default/build/stages/structure/SKILL.md +0 -21
- package/public-repo/plugins/README.md +0 -9
- package/public-repo/plugins/interf/.claude-plugin/plugin.json +0 -21
- package/public-repo/plugins/interf/.mcp.json +0 -12
- package/public-repo/plugins/interf/README.md +0 -32
- package/public-repo/plugins/interf/skills/interf/SKILL.md +0 -376
- /package/dist/packages/{engine/agents/lib/types.js → runtime/actions/fields.js} +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/agents.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/agents.js +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/execution.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/preflight.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/status.d.ts +0 -0
- /package/dist/packages/{engine/build/runtime-types.js → runtime/agents/lib/types.js} +0 -0
- /package/dist/packages/{engine/verify/verify-types.js → runtime/agents/providers/types.js} +0 -0
- /package/dist/packages/{engine → runtime}/agents/role-router.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/build/build-execution.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/build/build-execution.js +0 -0
- /package/dist/packages/{engine → runtime}/build/runtime-contracts.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/build/runtime-prompt.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/execution/adapters.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/execution/adapters.js +0 -0
- /package/dist/packages/{engine → runtime}/execution/events.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/execution/events.js +0 -0
- /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.js +0 -0
- /package/dist/packages/{engine → runtime}/verify/verify-types.d.ts +0 -0
|
@@ -5,10 +5,13 @@ import { listFilesRecursive } from "../../contracts/utils/filesystem.js";
|
|
|
5
5
|
import { warnInterf } from "../../contracts/utils/logger.js";
|
|
6
6
|
import { readJsonFileUnchecked, readJsonFileWithSchema } from "../../contracts/utils/parse.js";
|
|
7
7
|
import { isMarkdownFile } from "../../contracts/utils/file-types.js";
|
|
8
|
-
import {
|
|
8
|
+
import { BuildPlanRuntimeApiSchema, BuildPlanPurposeSchema, BuildPlanStageArtifactReadAccessSchema, BuildPlanStageArtifactWriteAccessSchema, } from "../../runtime/build/lib/schema.js";
|
|
9
9
|
import { RuntimeContractTypeSchema, InterfIdPattern, } from "../../contracts/lib/schema.js";
|
|
10
|
-
import {
|
|
10
|
+
import { CANONICAL_LAYER_DIRS, } from "../../contracts/lib/context-graph-layer.js";
|
|
11
|
+
import { asProjectDataDir, projectBuildPlansRoot, } from "../../contracts/lib/project-paths.js";
|
|
11
12
|
import { CONTEXT_INTERFACE_FILE, ContextInterfaceSchema, contextInterfaceExists, contextInterfaceFilePath, listContextInterfaceArtifacts, readContextInterface, BuildPlanInputSpecSchema, writeContextInterface, } from "./context-interface.js";
|
|
13
|
+
import { BuildPlanAuthoringBriefSchema, } from "../authoring/brief.js";
|
|
14
|
+
import { DEFAULT_BUILD_PLAN_ID } from "../build-plan-resolution.js";
|
|
12
15
|
import { PACKAGE_ROOT } from "./lib/package-root.js";
|
|
13
16
|
const LocalBuildPlanStageDefinitionSchema = z.object({
|
|
14
17
|
id: z.string().regex(InterfIdPattern),
|
|
@@ -23,8 +26,9 @@ const LocalBuildPlanStageDefinitionSchema = z.object({
|
|
|
23
26
|
const LocalBuildPlanDefinitionSchema = z.object({
|
|
24
27
|
id: z.string().regex(InterfIdPattern),
|
|
25
28
|
type: z.literal("build-plan"),
|
|
26
|
-
|
|
29
|
+
runtime_api: BuildPlanRuntimeApiSchema.optional(),
|
|
27
30
|
purpose: BuildPlanPurposeSchema.optional(),
|
|
31
|
+
brief: BuildPlanAuthoringBriefSchema.optional(),
|
|
28
32
|
inputs: z.array(BuildPlanInputSpecSchema).min(1).optional(),
|
|
29
33
|
label: z.string().min(1),
|
|
30
34
|
hint: z.string().min(1),
|
|
@@ -62,25 +66,29 @@ export function mergeStagePolicyNotesForStages(stages, baseNotes, overrideNotes)
|
|
|
62
66
|
}
|
|
63
67
|
return Object.keys(merged).length > 0 ? merged : undefined;
|
|
64
68
|
}
|
|
65
|
-
function buildPlanRootPath(
|
|
66
|
-
return
|
|
69
|
+
function buildPlanRootPath(projectDataDir) {
|
|
70
|
+
return projectBuildPlansRoot(asProjectDataDir(projectDataDir));
|
|
67
71
|
}
|
|
68
72
|
export function builtinBuildPlanPackagePath(buildPlanId) {
|
|
69
73
|
return join(PACKAGE_ROOT, "public-repo", "build-plans", buildPlanId);
|
|
70
74
|
}
|
|
71
|
-
export function buildPlanDefinitionPath(
|
|
72
|
-
return join(buildPlanRootPath(
|
|
75
|
+
export function buildPlanDefinitionPath(projectDataDir, id) {
|
|
76
|
+
return join(buildPlanRootPath(projectDataDir), id);
|
|
73
77
|
}
|
|
78
|
+
// The single, readable list of which package-relative docs `collectStarterDocs`
|
|
79
|
+
// and `buildPlanPackageCopyPaths` treat as portable starter docs: the package
|
|
80
|
+
// README plus the three authoring-doc trees. A relative path qualifies when it
|
|
81
|
+
// equals or lives under one of these entries.
|
|
82
|
+
const SUPPORTED_STARTER_DOC_PATHS = [
|
|
83
|
+
"README.md",
|
|
84
|
+
"improve/",
|
|
85
|
+
"use/query/",
|
|
86
|
+
"build/stages/",
|
|
87
|
+
];
|
|
74
88
|
function isSupportedBuildPlanStarterDocPath(relativePath) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
return true;
|
|
79
|
-
if (relativePath.startsWith("use/query/"))
|
|
80
|
-
return true;
|
|
81
|
-
if (relativePath.startsWith("build/stages/"))
|
|
82
|
-
return true;
|
|
83
|
-
return false;
|
|
89
|
+
return SUPPORTED_STARTER_DOC_PATHS.some((supported) => supported.endsWith("/")
|
|
90
|
+
? relativePath.startsWith(supported)
|
|
91
|
+
: relativePath === supported);
|
|
84
92
|
}
|
|
85
93
|
function collectStarterDocs(dirPath) {
|
|
86
94
|
return listFilesRecursive(dirPath, isMarkdownFile)
|
|
@@ -90,7 +98,11 @@ function collectStarterDocs(dirPath) {
|
|
|
90
98
|
relativePath,
|
|
91
99
|
content: readFileSync(join(dirPath, relativePath), "utf8"),
|
|
92
100
|
}))
|
|
93
|
-
|
|
101
|
+
// Codepoint order, not locale order: starter-doc ordering must be
|
|
102
|
+
// deterministic across machines (full vs small ICU, LANG/LC_ALL). With
|
|
103
|
+
// localeCompare, "README.md" sorts before lowercase paths in some locales
|
|
104
|
+
// and after in others, which made this collection environment-dependent.
|
|
105
|
+
.sort((a, b) => (a.relativePath < b.relativePath ? -1 : a.relativePath > b.relativePath ? 1 : 0));
|
|
94
106
|
}
|
|
95
107
|
function buildPlanPackageCopyPaths(dirPath) {
|
|
96
108
|
return [
|
|
@@ -139,7 +151,7 @@ export function loadBuildPlanDefinitionFromDir(dirPath) {
|
|
|
139
151
|
buildPlanSchemaPath: contextInterfaceFilePath(dirPath),
|
|
140
152
|
};
|
|
141
153
|
}
|
|
142
|
-
|
|
154
|
+
function isNeutralScaffoldBuildPlanDefinition(definition) {
|
|
143
155
|
const hasScaffoldPurpose = definition.purpose?.label === "From-scratch Build Plan draft" ||
|
|
144
156
|
Boolean(definition.purpose?.task_hint?.includes("Replace this neutral scaffold"));
|
|
145
157
|
const hasScaffoldStage = Boolean(definition.stages?.some((stage) => stage.id === "prepare" &&
|
|
@@ -149,9 +161,9 @@ export function isNeutralScaffoldBuildPlanDefinition(definition) {
|
|
|
149
161
|
artifact.description.includes("neutral authoring scaffold"));
|
|
150
162
|
return hasScaffoldPurpose || hasScaffoldStage || hasScaffoldArtifact;
|
|
151
163
|
}
|
|
152
|
-
export function listLocalBuildPlanDefinitions(
|
|
164
|
+
export function listLocalBuildPlanDefinitions(projectDataDir) {
|
|
153
165
|
const definitions = new Map();
|
|
154
|
-
const root = buildPlanRootPath(
|
|
166
|
+
const root = buildPlanRootPath(projectDataDir);
|
|
155
167
|
if (existsSync(root)) {
|
|
156
168
|
for (const entryPath of readdirSync(root).map((entry) => join(root, entry))) {
|
|
157
169
|
try {
|
|
@@ -169,14 +181,14 @@ export function listLocalBuildPlanDefinitions(prepDataDir) {
|
|
|
169
181
|
}
|
|
170
182
|
return [...definitions.values()].sort((a, b) => a.label.localeCompare(b.label));
|
|
171
183
|
}
|
|
172
|
-
export function loadLocalBuildPlanDefinition(
|
|
173
|
-
const definition = loadBuildPlanDefinitionFromDir(buildPlanDefinitionPath(
|
|
184
|
+
export function loadLocalBuildPlanDefinition(projectDataDir, id) {
|
|
185
|
+
const definition = loadBuildPlanDefinitionFromDir(buildPlanDefinitionPath(projectDataDir, id));
|
|
174
186
|
if (!definition || isNeutralScaffoldBuildPlanDefinition(definition))
|
|
175
187
|
return null;
|
|
176
188
|
return definition;
|
|
177
189
|
}
|
|
178
|
-
export function resolveBuildPlanPackageSourcePath(
|
|
179
|
-
const localPath = buildPlanDefinitionPath(
|
|
190
|
+
export function resolveBuildPlanPackageSourcePath(projectDataDir, buildPlanId) {
|
|
191
|
+
const localPath = buildPlanDefinitionPath(projectDataDir, buildPlanId);
|
|
180
192
|
const local = loadBuildPlanDefinitionFromDir(localPath);
|
|
181
193
|
if (local && !isNeutralScaffoldBuildPlanDefinition(local))
|
|
182
194
|
return localPath;
|
|
@@ -186,8 +198,8 @@ export function resolveBuildPlanPackageSourcePath(prepDataDir, buildPlanId) {
|
|
|
186
198
|
return null;
|
|
187
199
|
}
|
|
188
200
|
export function seedLocalDefaultBuildPlan(options) {
|
|
189
|
-
const buildPlanId =
|
|
190
|
-
const targetPath = buildPlanDefinitionPath(options.
|
|
201
|
+
const buildPlanId = DEFAULT_BUILD_PLAN_ID;
|
|
202
|
+
const targetPath = buildPlanDefinitionPath(options.projectDataDir, buildPlanId);
|
|
191
203
|
if (existsSync(join(targetPath, "build-plan.json"))) {
|
|
192
204
|
return { buildPlanId, targetPath, alreadyExisted: true };
|
|
193
205
|
}
|
|
@@ -199,7 +211,7 @@ export function seedLocalDefaultBuildPlan(options) {
|
|
|
199
211
|
patchBuildPlanPackageMetadata(targetPath, {
|
|
200
212
|
id: buildPlanId,
|
|
201
213
|
label: "Built-in Interf Build Plan",
|
|
202
|
-
hint: "Built-in file-processing Build Plan: summarize source-grounded evidence,
|
|
214
|
+
hint: "Built-in file-processing Build Plan: summarize source-grounded evidence, build task-aware knowledge, and shape the Context Graph around the Project intent and coverage metrics.",
|
|
203
215
|
});
|
|
204
216
|
return { buildPlanId, targetPath, alreadyExisted: false };
|
|
205
217
|
}
|
|
@@ -226,7 +238,7 @@ export function patchBuildPlanPackageMetadata(dirPath, options) {
|
|
|
226
238
|
const nextBuildPlanJson = {
|
|
227
239
|
...buildPlanJson,
|
|
228
240
|
type: "build-plan",
|
|
229
|
-
|
|
241
|
+
runtime_api: buildPlanJson.runtime_api ?? {
|
|
230
242
|
kind: "build",
|
|
231
243
|
version: 1,
|
|
232
244
|
},
|
|
@@ -377,11 +389,12 @@ export function validateBuildPlanPackage(dirPath) {
|
|
|
377
389
|
if (buildPlanSchema) {
|
|
378
390
|
const stages = def.stages ?? [];
|
|
379
391
|
const stageIds = new Set(stages.map((stage) => stage.id));
|
|
380
|
-
const
|
|
392
|
+
const seenArtifactsByPath = new Map();
|
|
381
393
|
const seenArtifactIds = new Set();
|
|
382
394
|
const schemaArtifacts = listContextInterfaceArtifacts(buildPlanSchema);
|
|
383
395
|
const artifactById = new Map(schemaArtifacts.map((artifact) => [artifact.id, artifact]));
|
|
384
396
|
const normalizedParts = (value) => value.replaceAll("\\", "/").split("/").filter(Boolean);
|
|
397
|
+
const normalizedPathKey = (value) => normalizedParts(value).join("/");
|
|
385
398
|
const hasOverlappingPath = (value, other) => {
|
|
386
399
|
const a = normalizedParts(value);
|
|
387
400
|
const b = normalizedParts(other);
|
|
@@ -389,49 +402,74 @@ export function validateBuildPlanPackage(dirPath) {
|
|
|
389
402
|
const longer = a.length <= b.length ? b : a;
|
|
390
403
|
return shorter.every((part, index) => longer[index] === part);
|
|
391
404
|
};
|
|
405
|
+
// Canonical required layer dirs come from the central layer model. Package
|
|
406
|
+
// validation is a strict-declaration context (it mirrors authoring), so it
|
|
407
|
+
// matches the exact lowercase dir name a Build Plan must declare.
|
|
408
|
+
const requiredLayerPaths = new Set(CANONICAL_LAYER_DIRS);
|
|
409
|
+
const isRequiredLayerArtifact = (artifact) => artifact.kind === "directory" && requiredLayerPaths.has(normalizedPathKey(artifact.path));
|
|
410
|
+
const allowsRequiredLayerContainment = (artifact, existingArtifact) => {
|
|
411
|
+
const artifactPath = normalizedPathKey(artifact.path);
|
|
412
|
+
const existingPath = normalizedPathKey(existingArtifact.path);
|
|
413
|
+
if (artifactPath === existingPath)
|
|
414
|
+
return false;
|
|
415
|
+
if (!hasOverlappingPath(artifact.path, existingArtifact.path))
|
|
416
|
+
return false;
|
|
417
|
+
return isRequiredLayerArtifact(artifact) || isRequiredLayerArtifact(existingArtifact);
|
|
418
|
+
};
|
|
392
419
|
for (const artifact of schemaArtifacts) {
|
|
393
420
|
if (seenArtifactIds.has(artifact.id)) {
|
|
394
|
-
errors.push(`build-plan.schema.json repeats
|
|
421
|
+
errors.push(`build-plan.schema.json repeats requested output id "${artifact.id}".`);
|
|
395
422
|
}
|
|
396
423
|
seenArtifactIds.add(artifact.id);
|
|
397
|
-
const
|
|
424
|
+
const pathKey = normalizedPathKey(artifact.path);
|
|
425
|
+
const existingPathOwner = seenArtifactsByPath.get(pathKey);
|
|
398
426
|
if (existingPathOwner) {
|
|
399
|
-
errors.push(`build-plan.schema.json repeats
|
|
427
|
+
errors.push(`build-plan.schema.json repeats requested output path "${artifact.path}".`);
|
|
400
428
|
}
|
|
401
|
-
for (const
|
|
402
|
-
if (
|
|
429
|
+
for (const existingArtifact of seenArtifactsByPath.values()) {
|
|
430
|
+
if (normalizedPathKey(existingArtifact.path) === pathKey)
|
|
403
431
|
continue;
|
|
404
|
-
if (hasOverlappingPath(artifact.path,
|
|
405
|
-
|
|
432
|
+
if (hasOverlappingPath(artifact.path, existingArtifact.path) &&
|
|
433
|
+
!allowsRequiredLayerContainment(artifact, existingArtifact)) {
|
|
434
|
+
errors.push(`build-plan.schema.json requested outputs "${artifact.id}" and "${existingArtifact.id}" overlap on path "${artifact.path}" / "${existingArtifact.path}".`);
|
|
406
435
|
}
|
|
407
436
|
}
|
|
408
|
-
|
|
409
|
-
if ((artifact.role === "input" || artifact.role === "runtime") && artifact.owned_by.length > 0) {
|
|
410
|
-
errors.push(`build-plan.schema.json Artifact "${artifact.id}" cannot declare owners because its role is "${artifact.role}".`);
|
|
411
|
-
}
|
|
437
|
+
seenArtifactsByPath.set(pathKey, artifact);
|
|
412
438
|
for (const owner of artifact.owned_by) {
|
|
413
439
|
if (!stageIds.has(owner)) {
|
|
414
|
-
errors.push(`build-plan.schema.json references unknown stage "${owner}" for
|
|
440
|
+
errors.push(`build-plan.schema.json references unknown stage "${owner}" for requested output path "${artifact.path}".`);
|
|
441
|
+
continue;
|
|
442
|
+
}
|
|
443
|
+
const ownerStage = stages.find((stage) => stage.id === owner);
|
|
444
|
+
if (ownerStage && !ownerStage.writes.includes(artifact.id)) {
|
|
445
|
+
errors.push(`build-plan.schema.json requested output "${artifact.id}" is owned by stage "${owner}" but that stage does not write it in build-plan.json.`);
|
|
415
446
|
}
|
|
416
447
|
}
|
|
417
448
|
}
|
|
449
|
+
for (const requiredPath of CANONICAL_LAYER_DIRS) {
|
|
450
|
+
const artifact = seenArtifactsByPath.get(requiredPath);
|
|
451
|
+
if (!artifact) {
|
|
452
|
+
errors.push(`File-based Build Plan packages must declare a writable requested output at "${requiredPath}".`);
|
|
453
|
+
continue;
|
|
454
|
+
}
|
|
455
|
+
if (artifact.owned_by.length === 0) {
|
|
456
|
+
errors.push(`File-based Build Plan requested output "${artifact.id}" at "${requiredPath}" must be owned by at least one stage.`);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
418
459
|
for (const stage of stages) {
|
|
419
460
|
for (const artifactId of stage.reads) {
|
|
420
461
|
if (!artifactById.has(artifactId)) {
|
|
421
|
-
errors.push(`Stage "${stage.id}" reads unknown
|
|
462
|
+
errors.push(`Stage "${stage.id}" reads unknown requested output "${artifactId}".`);
|
|
422
463
|
}
|
|
423
464
|
}
|
|
424
465
|
for (const artifactId of stage.writes) {
|
|
425
466
|
const artifact = artifactById.get(artifactId);
|
|
426
467
|
if (!artifact) {
|
|
427
|
-
errors.push(`Stage "${stage.id}" writes unknown
|
|
468
|
+
errors.push(`Stage "${stage.id}" writes unknown requested output "${artifactId}".`);
|
|
428
469
|
continue;
|
|
429
470
|
}
|
|
430
|
-
if (artifact.role === "input" || artifact.role === "runtime") {
|
|
431
|
-
errors.push(`Stage "${stage.id}" writes Artifact "${artifactId}" but Artifacts with role "${artifact.role}" are engine-owned inputs, not writable stage outputs.`);
|
|
432
|
-
}
|
|
433
471
|
if (!artifact.owned_by.includes(stage.id)) {
|
|
434
|
-
errors.push(`Stage "${stage.id}" writes
|
|
472
|
+
errors.push(`Stage "${stage.id}" writes requested output "${artifactId}" but that output is not owned by the stage in build-plan.schema.json.`);
|
|
435
473
|
}
|
|
436
474
|
}
|
|
437
475
|
}
|
|
@@ -452,21 +490,33 @@ export function validateBuildPlanPackage(dirPath) {
|
|
|
452
490
|
counts,
|
|
453
491
|
};
|
|
454
492
|
}
|
|
455
|
-
|
|
493
|
+
/**
|
|
494
|
+
* Explain WHY a `build-plan.schema.json` failed to read. Exported so the
|
|
495
|
+
* regression test can assert the corrected branch directly: a valid schema must
|
|
496
|
+
* return `[]` (no issues), an invalid one must return the concrete Zod issues.
|
|
497
|
+
* The previous inverted `if (parsed.success)` reported a VALID schema as
|
|
498
|
+
* "missing or invalid."
|
|
499
|
+
*/
|
|
500
|
+
export function describeContextInterfaceValidationIssues(dirPath) {
|
|
456
501
|
const buildPlanSchemaPath = contextInterfaceFilePath(dirPath);
|
|
457
502
|
if (!existsSync(buildPlanSchemaPath)) {
|
|
458
503
|
return ["build-plan.schema.json is missing."];
|
|
459
504
|
}
|
|
460
|
-
const raw = readJsonFileUnchecked(buildPlanSchemaPath, "Build Plan
|
|
505
|
+
const raw = readJsonFileUnchecked(buildPlanSchemaPath, "Build Plan requested output contract");
|
|
461
506
|
if (raw === null) {
|
|
462
507
|
return ["build-plan.schema.json is invalid JSON."];
|
|
463
508
|
}
|
|
464
509
|
const parsed = ContextInterfaceSchema.safeParse(raw);
|
|
465
|
-
if (parsed.success) {
|
|
466
|
-
|
|
510
|
+
if (!parsed.success) {
|
|
511
|
+
// Invalid schema: surface the concrete Zod issues. Matches the sibling
|
|
512
|
+
// `readContextInterface` (context-interface.ts:174), which treats
|
|
513
|
+
// `!parsed.success` as the failure case. The previous `if (parsed.success)`
|
|
514
|
+
// was inverted and reported a VALID schema as "missing or invalid."
|
|
515
|
+
return parsed.error.issues.map((issue) => {
|
|
516
|
+
const path = issue.path.length > 0 ? issue.path.join(".") : "<root>";
|
|
517
|
+
return `build-plan.schema.json ${path}: ${issue.message}`;
|
|
518
|
+
});
|
|
467
519
|
}
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
return `build-plan.schema.json ${path}: ${issue.message}`;
|
|
471
|
-
});
|
|
520
|
+
// A valid schema has no issues to describe.
|
|
521
|
+
return [];
|
|
472
522
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { cpSync, existsSync, mkdirSync, readFileSync, readdirSync, rmSync, statSync, writeFileSync, } from "node:fs";
|
|
2
2
|
import { dirname, join, resolve } from "node:path";
|
|
3
3
|
import { warnInterf } from "../../contracts/utils/logger.js";
|
|
4
|
-
import { userBuildPlanPackagePath, userBuildPlansRoot, } from "../../contracts/lib/
|
|
4
|
+
import { userBuildPlanPackagePath, userBuildPlansRoot, } from "../../contracts/lib/project-paths.js";
|
|
5
5
|
import { loadBuildPlanDefinitionFromDir, } from "./local-build-plans.js";
|
|
6
6
|
export function userBuildPlanPath(id) {
|
|
7
7
|
return userBuildPlanPackagePath(id);
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export * as schema from "./lib/schema.js";
|
|
2
|
-
export
|
|
3
|
-
export {
|
|
2
|
+
export * as projectSchema from "./lib/project-schema.js";
|
|
3
|
+
export type { AgentRecord, AgentsRegistry, Artifact, ArtifactId, ArtifactShape, ArtifactStatus, CanonicalRole, Check, CheckKind, BuildCheckRow, BuildEvidenceIssueState, BuildEvidenceMetric, BuildEvidenceRef, BuildEvidenceResource, ContextCheck, ContextCheckDeclaration, ContextCheckProjection, ContextCheckStatus, GateStatus, Locator, LocatorKind, BuildPlanId, ProjectId, ProjectIntent, CheckResult, ReadinessGate, ReadinessStatus, Readiness, ReadyVerdict, RoleMap, RuntimeContractType, RuntimeExecutorInfo, RuntimeStage, RuntimeTargetType, Source, SourceBinding, SourceFile, SourceFiles, SourceKind, SourceState, StageEvidence, StageEvidenceCount, StageEvidenceEdge, StageEvidenceItem, StageEvidenceOutputRef, StageEvidenceSourceRef, StageInput, StageInputs, StandardEvidenceFrontmatterKey, TestCaseExpect, TestTargetType, VerifyTargetResult, } from "./lib/schema.js";
|
|
4
|
+
export type { ContextGraph, ContextGraphArtifactHandoff, ContextGraphHandoff, ContextGraphLocator, ContextGraphPortableHandoff, DriftKind, ProjectName, ProjectSourceState, Trace, Traces, } from "./lib/project-schema.js";
|
|
5
|
+
export { CANONICAL_ROLES, CHECK_PARAM_CONTRACTS, CHECK_KINDS, ContextCheckDeclarationSchema, ContextCheckProjectionSchema, ContextCheckSchema, ContextCheckStatusSchema, ProjectIntentSchema, SourceBindingSchema, BuildCheckRowSchema, BuildEvidenceIssueStateSchema, BuildEvidenceMetricSchema, BuildEvidenceRefSchema, BuildEvidenceResourceSchema, EvidenceCountKeySchema, StageEvidenceCountSchema, StageEvidenceEdgeSchema, StageEvidenceItemSchema, StageEvidenceOutputRefSchema, StageEvidenceSchema, StageEvidenceSourceRefSchema, STANDARD_EVIDENCE_FRONTMATTER_KEYS, } from "./lib/schema.js";
|
|
6
|
+
export { ContextGraphArtifactHandoffSchema, ContextGraphHandoffSchema, ContextGraphPortableHandoffSchema, } from "./lib/project-schema.js";
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
export * as schema from "./lib/schema.js";
|
|
2
|
-
export
|
|
2
|
+
export * as projectSchema from "./lib/project-schema.js";
|
|
3
|
+
export { CANONICAL_ROLES, CHECK_PARAM_CONTRACTS, CHECK_KINDS, ContextCheckDeclarationSchema, ContextCheckProjectionSchema, ContextCheckSchema, ContextCheckStatusSchema, ProjectIntentSchema, SourceBindingSchema, BuildCheckRowSchema, BuildEvidenceIssueStateSchema, BuildEvidenceMetricSchema, BuildEvidenceRefSchema, BuildEvidenceResourceSchema, EvidenceCountKeySchema, StageEvidenceCountSchema, StageEvidenceEdgeSchema, StageEvidenceItemSchema, StageEvidenceOutputRefSchema, StageEvidenceSchema, StageEvidenceSourceRefSchema, STANDARD_EVIDENCE_FRONTMATTER_KEYS, } from "./lib/schema.js";
|
|
4
|
+
export { ContextGraphArtifactHandoffSchema, ContextGraphHandoffSchema, ContextGraphPortableHandoffSchema, } from "./lib/project-schema.js";
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* The Context Graph layer model — defined ONCE here and imported by every
|
|
4
|
+
* consumer (Build Plan authoring validation, package validation, StageManifest
|
|
5
|
+
* role inference, the graph-relative link scanner, and the deterministic check
|
|
6
|
+
* defaults). This is the single source of truth for "what are the canonical
|
|
7
|
+
* top-level layers of a Context Graph, and how does a path classify into one."
|
|
8
|
+
*
|
|
9
|
+
* The architecture is FIXED top-level layers / FLEXIBLE interior:
|
|
10
|
+
* - `summaries/` — the grounding/coverage layer (one folder per Source file).
|
|
11
|
+
* - `knowledge/` — the knowledge graph layer; its interior is free
|
|
12
|
+
* (`knowledge/claims/`, `knowledge/entities/`, `knowledge/timelines/`, …).
|
|
13
|
+
* - `artifacts/` — task handoffs / supplemental entrypoints.
|
|
14
|
+
* - `home.md` — the primary entrypoint spine file (exact, no children).
|
|
15
|
+
*
|
|
16
|
+
* Two faces, one definition:
|
|
17
|
+
* - The canonical lowercase set (`CANONICAL_LAYER_DIRS`, `CanonicalLayerSchema`,
|
|
18
|
+
* `isCanonicalLayerDeclaration`) is what a Build Plan may DECLARE. Authoring
|
|
19
|
+
* is strict: a layer must be declared in exact lowercase (`knowledge/`, not
|
|
20
|
+
* `Knowledge/`).
|
|
21
|
+
* - The tolerant classifier (`layerForPath`, `roleForLayerPath`) is DEFENSIVE
|
|
22
|
+
* POLICING of already-built (possibly hand-edited or bad) outputs. It is
|
|
23
|
+
* case-insensitive so a graph that shipped `Knowledge/` notes is still
|
|
24
|
+
* routed into the knowledge layer and still policed by the orphan / web
|
|
25
|
+
* gates — casing can never be used to dodge a gate. Classification only ever
|
|
26
|
+
* widens membership; it never narrows it.
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* The three canonical top-level DIRECTORY layers, in lockstep lowercase. These
|
|
30
|
+
* are the only top-level folders a Build Plan may declare for core derived
|
|
31
|
+
* content. `home.md` is the spine FILE and is handled separately (it is not a
|
|
32
|
+
* directory layer).
|
|
33
|
+
*/
|
|
34
|
+
export declare const CANONICAL_LAYER_DIRS: readonly ["summaries", "knowledge", "artifacts"];
|
|
35
|
+
export type CanonicalLayerDir = (typeof CANONICAL_LAYER_DIRS)[number];
|
|
36
|
+
/**
|
|
37
|
+
* Set form of the canonical directory layers, for membership tests at call
|
|
38
|
+
* sites (authoring guard, package validation) that previously hand-rolled their
|
|
39
|
+
* own `new Set(["summaries", "knowledge", "artifacts"])`.
|
|
40
|
+
*/
|
|
41
|
+
export declare const CANONICAL_LAYER_DIR_SET: ReadonlySet<CanonicalLayerDir>;
|
|
42
|
+
/**
|
|
43
|
+
* The canonical layer "label" a path resolves to. Mirrors the directory layers
|
|
44
|
+
* plus `home` (the spine) and `other` (anything outside the canonical
|
|
45
|
+
* skeleton). This is the layer identity used for role inference and per-layer
|
|
46
|
+
* rollups.
|
|
47
|
+
*/
|
|
48
|
+
export declare const CanonicalLayerSchema: z.ZodEnum<{
|
|
49
|
+
other: "other";
|
|
50
|
+
knowledge: "knowledge";
|
|
51
|
+
summaries: "summaries";
|
|
52
|
+
artifacts: "artifacts";
|
|
53
|
+
home: "home";
|
|
54
|
+
}>;
|
|
55
|
+
export type CanonicalLayer = z.infer<typeof CanonicalLayerSchema>;
|
|
56
|
+
/**
|
|
57
|
+
* The exact spine file name. Canonical only as the top-level file `home.md`
|
|
58
|
+
* with no children.
|
|
59
|
+
*/
|
|
60
|
+
export declare const HOME_SPINE_FILE = "home.md";
|
|
61
|
+
/**
|
|
62
|
+
* Normalize a path to forward slashes with no leading `./` and no trailing
|
|
63
|
+
* slashes. Shared so every consumer normalizes identically before classifying
|
|
64
|
+
* — a layer must not depend on `\` vs `/` or a stray trailing separator.
|
|
65
|
+
*/
|
|
66
|
+
export declare function normalizeLayerPath(value: string): string;
|
|
67
|
+
/**
|
|
68
|
+
* The FIRST path segment of a normalized path (the top-level folder, or the
|
|
69
|
+
* file name when the path is a bare top-level file). Empty string for an empty
|
|
70
|
+
* path. Layer membership keys off this segment only, so the entire interior of
|
|
71
|
+
* `knowledge/` is unconstrained.
|
|
72
|
+
*/
|
|
73
|
+
export declare function topLevelSegment(value: string): string;
|
|
74
|
+
/**
|
|
75
|
+
* Is `segment` an EXACT canonical layer declaration a Build Plan may use? Used
|
|
76
|
+
* by authoring validation. Strict: `knowledge` passes, `Knowledge` does NOT.
|
|
77
|
+
* The mixed-case form is rejected at authoring so a declaration can never pass
|
|
78
|
+
* authoring and then break the lowercase-path-based package validators and
|
|
79
|
+
* runtime scanners downstream.
|
|
80
|
+
*/
|
|
81
|
+
export declare function isCanonicalLayerDeclaration(segment: string): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Is this normalized top-level path a legal canonical DECLARATION? Accepts the
|
|
84
|
+
* exact lowercase layer dirs (and their interiors, since only the first segment
|
|
85
|
+
* is checked) and the exact spine file `home.md`. Strict on case. A non-path
|
|
86
|
+
* artifact (no folder) is the caller's concern; this only judges path shape.
|
|
87
|
+
*/
|
|
88
|
+
export declare function isCanonicalDeclarationPath(rawPath: string): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Classify any path into its canonical layer. Case-INSENSITIVE on the top-level
|
|
91
|
+
* segment: a custom plan (or a hand-edited output) writing notes into
|
|
92
|
+
* `Knowledge/` (or `Summaries/`/`Artifacts/`) still classifies into the right
|
|
93
|
+
* layer, so the orphan + web + connectivity gates can't be dodged by path
|
|
94
|
+
* casing. Canonical layers are lowercase; this only WIDENS membership, never
|
|
95
|
+
* narrows it, and is the single classifier every consumer (note role, stage
|
|
96
|
+
* role, disconnected/web checks, metrics) routes through.
|
|
97
|
+
*
|
|
98
|
+
* Returns `home` for the spine file, a directory layer for `summaries/`,
|
|
99
|
+
* `knowledge/`, `artifacts/`, and `other` for anything else.
|
|
100
|
+
*/
|
|
101
|
+
export declare function layerForPath(rawPath: string): CanonicalLayer;
|
|
102
|
+
/**
|
|
103
|
+
* The directory layer (or `null`) a check should scan for a given artifact
|
|
104
|
+
* target path. `home` and `other` have no scannable directory layer, so they
|
|
105
|
+
* return `null`; the three directory layers return their lowercase dir name.
|
|
106
|
+
* Used by the deterministic checks to derive their scan root from the artifact
|
|
107
|
+
* they are attached to instead of hardcoding a layer dir.
|
|
108
|
+
*/
|
|
109
|
+
export declare function layerDirForPath(rawPath: string): CanonicalLayerDir | null;
|
|
110
|
+
/**
|
|
111
|
+
* The fine-grained kind of a note INSIDE the knowledge layer, by the structural
|
|
112
|
+
* convention every consumer agreed on: a `knowledge/claims/` folder (or a
|
|
113
|
+
* `claim-` leaf) is a claim, `knowledge/entities/` (or `entity-`) an entity,
|
|
114
|
+
* `knowledge/indexes/` (or `index-`) an index. `null` means "knowledge note
|
|
115
|
+
* with no recognized sub-kind". This is the single definition both the
|
|
116
|
+
* StageManifest note-kind labels and the semantic-graph node kinds delegate to,
|
|
117
|
+
* so the `knowledge/claims/` / `claim-` rules can never drift between them.
|
|
118
|
+
*
|
|
119
|
+
* Only the STRUCTURAL rules live here (folder prefix + leaf-token prefix). The
|
|
120
|
+
* looser "leaf merely contains `index`" heuristic is intentionally NOT here; it
|
|
121
|
+
* is a semantic-graph display nicety, and folding it in would silently
|
|
122
|
+
* reclassify manifest note kinds. Case-insensitive, like the rest of this
|
|
123
|
+
* module, so casing can never dodge the classification.
|
|
124
|
+
*/
|
|
125
|
+
export type KnowledgeNoteKind = "claim" | "entity" | "index" | null;
|
|
126
|
+
export declare function knowledgeNoteKind(rawPath: string): KnowledgeNoteKind;
|
|
127
|
+
/**
|
|
128
|
+
* The ResourceRef role a canonical layer maps to. `summaries → summary`,
|
|
129
|
+
* `knowledge → knowledge`, `artifacts`/`home → entrypoint`, `other → other`.
|
|
130
|
+
* Kept here (next to the layer model) so manifest role inference and the layer
|
|
131
|
+
* classifier never drift apart. The string union is the same as
|
|
132
|
+
* `ResourceRoleSchema`'s layer-bearing members; it is intentionally a plain
|
|
133
|
+
* union so this module has no import cycle back into the big schema.
|
|
134
|
+
*/
|
|
135
|
+
export type ContextGraphLayerRole = "summary" | "knowledge" | "entrypoint" | "other";
|
|
136
|
+
export declare function roleForLayer(layer: CanonicalLayer): ContextGraphLayerRole;
|
|
137
|
+
/**
|
|
138
|
+
* Role for a produced-note path (or any graph-relative path), via the tolerant
|
|
139
|
+
* classifier. This is the single mapping `roleForPath` callers route through.
|
|
140
|
+
*/
|
|
141
|
+
export declare function roleForLayerPath(rawPath: string): ContextGraphLayerRole;
|
|
142
|
+
/**
|
|
143
|
+
* Role for a Build Plan artifact's WRITE path. A directory artifact declared as
|
|
144
|
+
* a bare layer token (`knowledge`, `summaries`, `artifacts`) carries no
|
|
145
|
+
* trailing segment; it is still classified as that layer because classification
|
|
146
|
+
* keys off the (case-insensitive) first segment. The `home`/`home.md` spine is
|
|
147
|
+
* the entrypoint. This makes a custom plan that writes artifact id "claims" to
|
|
148
|
+
* path `knowledge/` (or the bare token `knowledge`) still classify as the
|
|
149
|
+
* knowledge layer, with no reliance on stringly ids.
|
|
150
|
+
*/
|
|
151
|
+
export declare function roleForWritePath(rawPath: string): ContextGraphLayerRole;
|
|
152
|
+
/**
|
|
153
|
+
* Matches a graph-relative reference to a canonical layer note inside free text
|
|
154
|
+
* (note bodies): `summaries/…`, `knowledge/…`, `artifacts/…` (optionally ending
|
|
155
|
+
* `.md`), or the exact `home.md`, when bounded by whitespace/brackets/quotes.
|
|
156
|
+
* Derived from `CANONICAL_LAYER_DIRS` so the scanner and the layer model can
|
|
157
|
+
* never list different folders. A fresh RegExp is returned each call because the
|
|
158
|
+
* pattern is stateful (`/g`) and reusing one instance across `matchAll` loops
|
|
159
|
+
* would carry `lastIndex` between callers.
|
|
160
|
+
*/
|
|
161
|
+
export declare function graphRelativePathPattern(): RegExp;
|