@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
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Artifact } from "../contracts/lib/schema.js";
|
|
2
|
+
import type { RequestedArtifact } from "../build-plans/authoring/brief.js";
|
|
3
|
+
import type { ProjectConfig } from "../projects/lib/schema.js";
|
|
4
|
+
import type { BuildPlanAuthoringArtifactRequirement } from "./schemas/index.js";
|
|
5
|
+
export declare function artifactsForBuildPlan(projectDataDir: string, buildPlanId: string | null | undefined): Artifact[];
|
|
6
|
+
export declare function artifactsForSelectedBuildPlan(projectDataDir: string, projectConfig: ProjectConfig): Artifact[];
|
|
7
|
+
export declare function requestedArtifactsForPlanAuthoring(options: {
|
|
8
|
+
projectDataDir: string;
|
|
9
|
+
projectConfig: ProjectConfig | null;
|
|
10
|
+
explicitRequestedArtifacts?: RequestedArtifact[];
|
|
11
|
+
}): RequestedArtifact[];
|
|
12
|
+
export declare function artifactRequirementsForPlanAuthoring(options: {
|
|
13
|
+
projectDataDir: string;
|
|
14
|
+
projectConfig: ProjectConfig | null;
|
|
15
|
+
requestedArtifacts: RequestedArtifact[];
|
|
16
|
+
explicitArtifactRequirements?: BuildPlanAuthoringArtifactRequirement[];
|
|
17
|
+
}): BuildPlanAuthoringArtifactRequirement[];
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { getBuildPlan, } from "../build-plans/package/build-plan-definitions.js";
|
|
2
|
+
import { buildPlanIdForProjectConfig, } from "../projects/source-config.js";
|
|
3
|
+
import { artifactRequirementsFromRequestedArtifacts, requestedArtifactsFromPlanArtifacts, } from "./requested-artifacts.js";
|
|
4
|
+
export function artifactsForBuildPlan(projectDataDir, buildPlanId) {
|
|
5
|
+
if (!buildPlanId)
|
|
6
|
+
return [];
|
|
7
|
+
try {
|
|
8
|
+
const buildPlan = getBuildPlan(buildPlanId, { projectDataDir });
|
|
9
|
+
return [...(buildPlan.contextInterface?.artifacts ?? [])];
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
return [];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export function artifactsForSelectedBuildPlan(projectDataDir, projectConfig) {
|
|
16
|
+
return artifactsForBuildPlan(projectDataDir, buildPlanIdForProjectConfig(projectConfig));
|
|
17
|
+
}
|
|
18
|
+
export function requestedArtifactsForPlanAuthoring(options) {
|
|
19
|
+
if (options.explicitRequestedArtifacts) {
|
|
20
|
+
return options.explicitRequestedArtifacts;
|
|
21
|
+
}
|
|
22
|
+
if (!options.projectConfig)
|
|
23
|
+
return [];
|
|
24
|
+
return requestedArtifactsFromPlanArtifacts(artifactsForSelectedBuildPlan(options.projectDataDir, options.projectConfig));
|
|
25
|
+
}
|
|
26
|
+
export function artifactRequirementsForPlanAuthoring(options) {
|
|
27
|
+
if (options.explicitArtifactRequirements) {
|
|
28
|
+
return options.explicitArtifactRequirements;
|
|
29
|
+
}
|
|
30
|
+
const fromRequestedArtifacts = artifactRequirementsFromRequestedArtifacts(options.requestedArtifacts);
|
|
31
|
+
if (fromRequestedArtifacts.length > 0)
|
|
32
|
+
return fromRequestedArtifacts;
|
|
33
|
+
if (!options.projectConfig)
|
|
34
|
+
return [];
|
|
35
|
+
const buildPlanArtifacts = artifactsForSelectedBuildPlan(options.projectDataDir, options.projectConfig);
|
|
36
|
+
return buildPlanArtifacts.map((artifact) => ({
|
|
37
|
+
id: artifact.id,
|
|
38
|
+
description: artifact.description,
|
|
39
|
+
shape: artifact.shape,
|
|
40
|
+
checks: artifact.checks,
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ProjectConfig } from "../projects/lib/schema.js";
|
|
2
|
+
export interface SavedProjectEntry {
|
|
3
|
+
config: ProjectConfig;
|
|
4
|
+
path: string | null;
|
|
5
|
+
localDraft: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function listSavedProjectEntries(projectDataDir: string): SavedProjectEntry[];
|
|
8
|
+
export declare function findBuiltContextGraphPath(projectDataDir: string, projectName: string): string | null;
|
|
9
|
+
export declare function findSavedProjectConfig(projectDataDir: string, projectName: string): ProjectConfig | null;
|
|
10
|
+
export declare function createContextGraphFromConfig(projectDataDir: string, projectConfig: ProjectConfig): string;
|
|
11
|
+
export declare function ensureContextGraphFromConfig(projectDataDir: string, projectConfig: ProjectConfig): string;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { listContextGraphsForSourceFolder, } from "../projects/interf-detect.js";
|
|
2
|
+
import { createContextGraph, ensureContextGraphScaffold, } from "./context-graph-scaffold.js";
|
|
3
|
+
import { listProjectConfigs, loadContextGraphProjectConfig, loadSourceFolderConfig, resolveProjectSourceBindingPath, projectConfigFromInterfConfig, syncContextGraphInterfConfigFromProjectConfig, } from "../projects/source-config.js";
|
|
4
|
+
import { DEFAULT_BUILD_PLAN_ID, buildPlanIdForProjectConfig, } from "../build-plans/build-plan-resolution.js";
|
|
5
|
+
export function listSavedProjectEntries(projectDataDir) {
|
|
6
|
+
const builtEntries = new Map();
|
|
7
|
+
for (const builtContext of listContextGraphsForSourceFolder(projectDataDir)) {
|
|
8
|
+
const projectConfig = loadContextGraphProjectConfig(builtContext.path)
|
|
9
|
+
?? projectConfigFromInterfConfig(builtContext.config);
|
|
10
|
+
builtEntries.set(builtContext.config.name, {
|
|
11
|
+
config: projectConfig,
|
|
12
|
+
path: builtContext.path,
|
|
13
|
+
localDraft: builtContext.config.build_plan_origin?.local_draft === true,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
const entries = new Map();
|
|
17
|
+
for (const config of listProjectConfigs(loadSourceFolderConfig(projectDataDir))) {
|
|
18
|
+
const built = builtEntries.get(config.name);
|
|
19
|
+
entries.set(config.name, {
|
|
20
|
+
config,
|
|
21
|
+
path: built?.path ?? null,
|
|
22
|
+
localDraft: built?.localDraft ?? false,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return Array.from(entries.values()).sort((left, right) => left.config.name.localeCompare(right.config.name));
|
|
26
|
+
}
|
|
27
|
+
export function findBuiltContextGraphPath(projectDataDir, projectName) {
|
|
28
|
+
return listSavedProjectEntries(projectDataDir).find((entry) => entry.config.name === projectName)?.path ?? null;
|
|
29
|
+
}
|
|
30
|
+
export function findSavedProjectConfig(projectDataDir, projectName) {
|
|
31
|
+
return listSavedProjectEntries(projectDataDir).find((entry) => entry.config.name === projectName)?.config ?? null;
|
|
32
|
+
}
|
|
33
|
+
export function createContextGraphFromConfig(projectDataDir, projectConfig) {
|
|
34
|
+
const buildPlanId = buildPlanIdForProjectConfig(projectConfig) ?? DEFAULT_BUILD_PLAN_ID;
|
|
35
|
+
const sourceFolderPath = resolveProjectSourceBindingPath(projectDataDir, projectConfig);
|
|
36
|
+
const contextGraphPath = createContextGraph(projectConfig.name, projectDataDir, buildPlanId, sourceFolderPath);
|
|
37
|
+
syncContextGraphInterfConfigFromProjectConfig(contextGraphPath, projectConfig);
|
|
38
|
+
return contextGraphPath;
|
|
39
|
+
}
|
|
40
|
+
export function ensureContextGraphFromConfig(projectDataDir, projectConfig) {
|
|
41
|
+
const buildPlanId = buildPlanIdForProjectConfig(projectConfig) ?? DEFAULT_BUILD_PLAN_ID;
|
|
42
|
+
const existingPath = findBuiltContextGraphPath(projectDataDir, projectConfig.name);
|
|
43
|
+
if (existingPath) {
|
|
44
|
+
ensureContextGraphScaffold(projectDataDir, projectConfig.name, buildPlanId);
|
|
45
|
+
syncContextGraphInterfConfigFromProjectConfig(existingPath, projectConfig);
|
|
46
|
+
return existingPath;
|
|
47
|
+
}
|
|
48
|
+
return createContextGraphFromConfig(projectDataDir, projectConfig);
|
|
49
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project source-state computation.
|
|
3
|
+
*
|
|
4
|
+
* Interf does not inspect Source bytes directly. The latest Source Manifest
|
|
5
|
+
* is the scan state for a Project; before a manifest exists the Source state
|
|
6
|
+
* is unknown, not missing.
|
|
7
|
+
*/
|
|
8
|
+
import type { ProjectSourceState } from "../contracts/lib/project-schema.js";
|
|
9
|
+
export interface ProjectSourceStateInput {
|
|
10
|
+
projectId: string;
|
|
11
|
+
contextGraphPath: string;
|
|
12
|
+
/**
|
|
13
|
+
* Hash from the last successful Build (typically the latest Context
|
|
14
|
+
* Graph's file index hash). Omit when computing state for the latest
|
|
15
|
+
* Context Graph itself; pass null only when no Build has produced a
|
|
16
|
+
* manifest yet.
|
|
17
|
+
*/
|
|
18
|
+
lastGraphIndexHash?: string | null;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Compute the current `ProjectSourceState`.
|
|
22
|
+
*
|
|
23
|
+
* The Project Source state is manifest-backed. Interf does not stat or hash
|
|
24
|
+
* the bound Source locator while answering this API.
|
|
25
|
+
*/
|
|
26
|
+
export declare function computeProjectSourceState(input: ProjectSourceStateInput): ProjectSourceState;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project source-state computation.
|
|
3
|
+
*
|
|
4
|
+
* Interf does not inspect Source bytes directly. The latest Source Manifest
|
|
5
|
+
* is the scan state for a Project; before a manifest exists the Source state
|
|
6
|
+
* is unknown, not missing.
|
|
7
|
+
*/
|
|
8
|
+
import { computeFileIndexHash, loadContextGraphSourceManifest, sourceManifestToSourceFiles } from "./build/source-manifest.js";
|
|
9
|
+
/**
|
|
10
|
+
* Compute the current `ProjectSourceState`.
|
|
11
|
+
*
|
|
12
|
+
* The Project Source state is manifest-backed. Interf does not stat or hash
|
|
13
|
+
* the bound Source locator while answering this API.
|
|
14
|
+
*/
|
|
15
|
+
export function computeProjectSourceState(input) {
|
|
16
|
+
const generatedAt = new Date().toISOString();
|
|
17
|
+
const manifest = loadContextGraphSourceManifest(input.contextGraphPath);
|
|
18
|
+
if (!manifest) {
|
|
19
|
+
return {
|
|
20
|
+
kind: "interf-project-source-state",
|
|
21
|
+
version: 1,
|
|
22
|
+
project_id: input.projectId,
|
|
23
|
+
file_index_hash: null,
|
|
24
|
+
file_count: 0,
|
|
25
|
+
last_observed_at: generatedAt,
|
|
26
|
+
drift_kind: "unknown",
|
|
27
|
+
drift_summary: "No Source Manifest has been recorded for this Project yet.",
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
const sourceFiles = sourceManifestToSourceFiles(manifest);
|
|
31
|
+
const fileIndexHash = computeFileIndexHash(sourceFiles);
|
|
32
|
+
const baselineIndexHash = input.lastGraphIndexHash === undefined
|
|
33
|
+
? fileIndexHash
|
|
34
|
+
: input.lastGraphIndexHash;
|
|
35
|
+
const driftKind = (() => {
|
|
36
|
+
if (baselineIndexHash === null)
|
|
37
|
+
return "unknown";
|
|
38
|
+
if (baselineIndexHash === fileIndexHash)
|
|
39
|
+
return "fresh";
|
|
40
|
+
return "drifted";
|
|
41
|
+
})();
|
|
42
|
+
return {
|
|
43
|
+
kind: "interf-project-source-state",
|
|
44
|
+
version: 1,
|
|
45
|
+
project_id: input.projectId,
|
|
46
|
+
file_index_hash: fileIndexHash,
|
|
47
|
+
file_count: sourceFiles.files.length,
|
|
48
|
+
last_observed_at: generatedAt,
|
|
49
|
+
drift_kind: driftKind,
|
|
50
|
+
drift_summary: driftKind === "drifted"
|
|
51
|
+
? "A newer Source Manifest differs from the last Build. Build again to reflect changes."
|
|
52
|
+
: driftKind === "fresh"
|
|
53
|
+
? "Latest Source Manifest matches the Context Graph."
|
|
54
|
+
: "Latest Source Manifest has been recorded; run a rescan to check for Source drift.",
|
|
55
|
+
};
|
|
56
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project store.
|
|
3
|
+
*
|
|
4
|
+
* Each Project lives at `~/.interf/projects/<id>/` and is registered
|
|
5
|
+
* with the runtime so the build / benchmark / readiness machinery can find its
|
|
6
|
+
* Project data dir.
|
|
7
|
+
*
|
|
8
|
+
* ~/.interf/projects/<id>/
|
|
9
|
+
* interf.json <- Project config, single Project entry name=<id>
|
|
10
|
+
* graphs/<run-id>/ <- per-Build Run Context Graph outputs
|
|
11
|
+
*
|
|
12
|
+
* NOTE: `projectDataDir` remains the storage helper type name until the P7.3
|
|
13
|
+
* path-helper cleanup. The runtime and HTTP resource are Project-keyed.
|
|
14
|
+
*/
|
|
15
|
+
import type { ProjectConfig } from "../projects/lib/schema.js";
|
|
16
|
+
import type { LocalServiceRuntime } from "./runtime.js";
|
|
17
|
+
export interface ProjectCreateInput {
|
|
18
|
+
id: string;
|
|
19
|
+
source: {
|
|
20
|
+
kind: "local-folder";
|
|
21
|
+
locator: string;
|
|
22
|
+
};
|
|
23
|
+
intent: string;
|
|
24
|
+
/** Build Plan binding. Null/undefined means "not bound yet" — bind later via update. */
|
|
25
|
+
build_plan_id?: string | null;
|
|
26
|
+
}
|
|
27
|
+
export interface ProjectUpdateInput {
|
|
28
|
+
intent?: string;
|
|
29
|
+
build_plan_id?: string | null;
|
|
30
|
+
}
|
|
31
|
+
export interface StoredProject {
|
|
32
|
+
id: string;
|
|
33
|
+
projectDataDir: string;
|
|
34
|
+
source: {
|
|
35
|
+
kind: "local-folder";
|
|
36
|
+
locator: string;
|
|
37
|
+
};
|
|
38
|
+
intent: string;
|
|
39
|
+
/** Null when no Build Plan has been bound to this Project yet. */
|
|
40
|
+
buildPlanId: string | null;
|
|
41
|
+
config: ProjectConfig;
|
|
42
|
+
contextGraphPath: string;
|
|
43
|
+
configPath: string;
|
|
44
|
+
}
|
|
45
|
+
/** List every Project registered under `~/.interf/projects/`. */
|
|
46
|
+
export declare function listStoredProjects(): StoredProject[];
|
|
47
|
+
/** Read one Project by id. Returns null when missing. */
|
|
48
|
+
export declare function getStoredProject(projectId: string): StoredProject | null;
|
|
49
|
+
/**
|
|
50
|
+
* Create a Project: scaffold its data dir, write the local
|
|
51
|
+
* Project config, and register it with the runtime so subsequent
|
|
52
|
+
* build / benchmark / readiness calls find it.
|
|
53
|
+
*
|
|
54
|
+
* Throws on validation errors (bad id, bad Build Plan id, source missing).
|
|
55
|
+
*/
|
|
56
|
+
export declare function createStoredProject(runtime: LocalServiceRuntime, input: ProjectCreateInput): StoredProject;
|
|
57
|
+
/**
|
|
58
|
+
* Delete a Project: deregister its runtime context and remove
|
|
59
|
+
* `~/.interf/projects/<id>/` from disk. Returns true when something
|
|
60
|
+
* was actually removed.
|
|
61
|
+
*/
|
|
62
|
+
export declare function deleteStoredProject(runtime: LocalServiceRuntime, projectId: string): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Update mutable fields on an existing Project. Returns the freshly-loaded
|
|
65
|
+
* record. Throws if the Project does not exist.
|
|
66
|
+
*/
|
|
67
|
+
export declare function updateStoredProject(projectId: string, patch: ProjectUpdateInput): StoredProject;
|
|
68
|
+
/**
|
|
69
|
+
* Re-register every Project directory with the runtime on startup so
|
|
70
|
+
* Projects survive an `interf runtime` restart.
|
|
71
|
+
*/
|
|
72
|
+
export declare function rehydrateProjects(runtime: LocalServiceRuntime): void;
|
|
73
|
+
/** Build the wire shape for `GET /v1/projects/<id>` given a stored Project. */
|
|
74
|
+
export declare function projectWireShape(stored: StoredProject): {
|
|
75
|
+
id: string;
|
|
76
|
+
project_id: string;
|
|
77
|
+
source: {
|
|
78
|
+
kind: string;
|
|
79
|
+
locator: string;
|
|
80
|
+
};
|
|
81
|
+
intent: string;
|
|
82
|
+
build_plan_id: string | null;
|
|
83
|
+
config_path: string;
|
|
84
|
+
updated_at: string | null;
|
|
85
|
+
context_graph: {
|
|
86
|
+
kind: "local-path";
|
|
87
|
+
value: string;
|
|
88
|
+
};
|
|
89
|
+
context_graph_path: string;
|
|
90
|
+
};
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project store.
|
|
3
|
+
*
|
|
4
|
+
* Each Project lives at `~/.interf/projects/<id>/` and is registered
|
|
5
|
+
* with the runtime so the build / benchmark / readiness machinery can find its
|
|
6
|
+
* Project data dir.
|
|
7
|
+
*
|
|
8
|
+
* ~/.interf/projects/<id>/
|
|
9
|
+
* interf.json <- Project config, single Project entry name=<id>
|
|
10
|
+
* graphs/<run-id>/ <- per-Build Run Context Graph outputs
|
|
11
|
+
*
|
|
12
|
+
* NOTE: `projectDataDir` remains the storage helper type name until the P7.3
|
|
13
|
+
* path-helper cleanup. The runtime and HTTP resource are Project-keyed.
|
|
14
|
+
*/
|
|
15
|
+
import { existsSync, mkdirSync, readdirSync, rmSync, statSync, } from "node:fs";
|
|
16
|
+
import { resolve } from "node:path";
|
|
17
|
+
import { ProjectIdSchema, BuildPlanIdSchema, ProjectIntentSchema, } from "../contracts/lib/schema.js";
|
|
18
|
+
import { projectDataDir as resolveProjectDataDir, projectConfigPath, projectContextGraphPath, projectRunContextGraphPath, projectsRoot, } from "../contracts/lib/project-paths.js";
|
|
19
|
+
import { saveSourceFolderConfig, loadSourceFolderConfig, } from "../projects/source-config.js";
|
|
20
|
+
import { assertCanCreateProject } from "./entitlement-guard.js";
|
|
21
|
+
function ensureProjectsRoot() {
|
|
22
|
+
mkdirSync(projectsRoot(), { recursive: true });
|
|
23
|
+
}
|
|
24
|
+
function loadStoredProject(projectId) {
|
|
25
|
+
const projectDataDir = resolveProjectDataDir(projectId);
|
|
26
|
+
if (!existsSync(projectDataDir) || !statSync(projectDataDir).isDirectory())
|
|
27
|
+
return null;
|
|
28
|
+
const config = loadSourceFolderConfig(projectDataDir);
|
|
29
|
+
if (!config)
|
|
30
|
+
return null;
|
|
31
|
+
const loadedProject = config.projects?.find((p) => p.name === projectId);
|
|
32
|
+
if (!loadedProject)
|
|
33
|
+
return null;
|
|
34
|
+
const intent = ProjectIntentSchema.safeParse(loadedProject.intent);
|
|
35
|
+
if (!intent.success)
|
|
36
|
+
return null;
|
|
37
|
+
const project = { ...loadedProject, intent: intent.data };
|
|
38
|
+
const sourceFolderPath = config.source_folder?.path;
|
|
39
|
+
if (!sourceFolderPath)
|
|
40
|
+
return null;
|
|
41
|
+
return {
|
|
42
|
+
id: projectId,
|
|
43
|
+
projectDataDir,
|
|
44
|
+
source: { kind: "local-folder", locator: sourceFolderPath },
|
|
45
|
+
intent: project.intent,
|
|
46
|
+
buildPlanId: project.build_plan ?? null,
|
|
47
|
+
config: project,
|
|
48
|
+
contextGraphPath: project.latest_context_graph_run_id
|
|
49
|
+
? projectRunContextGraphPath(projectDataDir, project.latest_context_graph_run_id)
|
|
50
|
+
: projectContextGraphPath(projectDataDir, projectId),
|
|
51
|
+
configPath: projectConfigPath(projectDataDir),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/** List every Project registered under `~/.interf/projects/`. */
|
|
55
|
+
export function listStoredProjects() {
|
|
56
|
+
const root = projectsRoot();
|
|
57
|
+
if (!existsSync(root))
|
|
58
|
+
return [];
|
|
59
|
+
const entries = readdirSync(root, { withFileTypes: true });
|
|
60
|
+
const out = [];
|
|
61
|
+
for (const entry of entries) {
|
|
62
|
+
if (!entry.isDirectory())
|
|
63
|
+
continue;
|
|
64
|
+
const stored = loadStoredProject(entry.name);
|
|
65
|
+
if (stored)
|
|
66
|
+
out.push(stored);
|
|
67
|
+
}
|
|
68
|
+
return out.sort((a, b) => a.id.localeCompare(b.id));
|
|
69
|
+
}
|
|
70
|
+
/** Read one Project by id. Returns null when missing. */
|
|
71
|
+
export function getStoredProject(projectId) {
|
|
72
|
+
return loadStoredProject(projectId);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Create a Project: scaffold its data dir, write the local
|
|
76
|
+
* Project config, and register it with the runtime so subsequent
|
|
77
|
+
* build / benchmark / readiness calls find it.
|
|
78
|
+
*
|
|
79
|
+
* Throws on validation errors (bad id, bad Build Plan id, source missing).
|
|
80
|
+
*/
|
|
81
|
+
export function createStoredProject(runtime, input) {
|
|
82
|
+
ProjectIdSchema.parse(input.id);
|
|
83
|
+
if (input.build_plan_id != null) {
|
|
84
|
+
BuildPlanIdSchema.parse(input.build_plan_id);
|
|
85
|
+
}
|
|
86
|
+
const intent = ProjectIntentSchema.parse(input.intent);
|
|
87
|
+
const sourceLocator = resolve(input.source.locator);
|
|
88
|
+
ensureProjectsRoot();
|
|
89
|
+
const projectDataDir = resolveProjectDataDir(input.id);
|
|
90
|
+
if (existsSync(projectDataDir) && loadStoredProject(input.id)) {
|
|
91
|
+
throw new Error(`Project already exists: ${input.id}`);
|
|
92
|
+
}
|
|
93
|
+
// Free-tier 10-Project cap. Cloud accounts on Pro bypass this.
|
|
94
|
+
assertCanCreateProject(runtime.currentAccount, listStoredProjects().length);
|
|
95
|
+
mkdirSync(projectDataDir, { recursive: true });
|
|
96
|
+
const project = {
|
|
97
|
+
name: input.id,
|
|
98
|
+
intent,
|
|
99
|
+
path: input.id,
|
|
100
|
+
...(input.build_plan_id ? { build_plan: input.build_plan_id } : {}),
|
|
101
|
+
};
|
|
102
|
+
saveSourceFolderConfig(projectDataDir, {
|
|
103
|
+
source_folder: { path: sourceLocator },
|
|
104
|
+
projects: [project],
|
|
105
|
+
});
|
|
106
|
+
// Hand the Project data dir to the runtime so the existing
|
|
107
|
+
// build/benchmark/readiness paths see it.
|
|
108
|
+
runtime.registerProject(projectDataDir);
|
|
109
|
+
const stored = loadStoredProject(input.id);
|
|
110
|
+
if (!stored)
|
|
111
|
+
throw new Error(`Failed to load freshly-created Project ${input.id}`);
|
|
112
|
+
return stored;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Delete a Project: deregister its runtime context and remove
|
|
116
|
+
* `~/.interf/projects/<id>/` from disk. Returns true when something
|
|
117
|
+
* was actually removed.
|
|
118
|
+
*/
|
|
119
|
+
export function deleteStoredProject(runtime, projectId) {
|
|
120
|
+
const projectDataDir = resolveProjectDataDir(projectId);
|
|
121
|
+
if (!existsSync(projectDataDir))
|
|
122
|
+
return false;
|
|
123
|
+
runtime.deregisterProject(projectDataDir);
|
|
124
|
+
rmSync(projectDataDir, { recursive: true, force: true });
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Update mutable fields on an existing Project. Returns the freshly-loaded
|
|
129
|
+
* record. Throws if the Project does not exist.
|
|
130
|
+
*/
|
|
131
|
+
export function updateStoredProject(projectId, patch) {
|
|
132
|
+
const stored = loadStoredProject(projectId);
|
|
133
|
+
if (!stored)
|
|
134
|
+
throw new Error(`Project not found: ${projectId}`);
|
|
135
|
+
if (patch.build_plan_id !== undefined && patch.build_plan_id !== null) {
|
|
136
|
+
BuildPlanIdSchema.parse(patch.build_plan_id);
|
|
137
|
+
}
|
|
138
|
+
if (patch.intent !== undefined) {
|
|
139
|
+
ProjectIntentSchema.parse(patch.intent);
|
|
140
|
+
}
|
|
141
|
+
const nextProject = {
|
|
142
|
+
...stored.config,
|
|
143
|
+
...(patch.intent !== undefined ? { intent: ProjectIntentSchema.parse(patch.intent) } : {}),
|
|
144
|
+
...(patch.build_plan_id === null
|
|
145
|
+
? { build_plan: undefined }
|
|
146
|
+
: patch.build_plan_id !== undefined
|
|
147
|
+
? { build_plan: patch.build_plan_id }
|
|
148
|
+
: {}),
|
|
149
|
+
};
|
|
150
|
+
saveSourceFolderConfig(stored.projectDataDir, {
|
|
151
|
+
source_folder: { path: stored.source.locator },
|
|
152
|
+
projects: [nextProject],
|
|
153
|
+
});
|
|
154
|
+
const next = loadStoredProject(projectId);
|
|
155
|
+
if (!next)
|
|
156
|
+
throw new Error(`Failed to reload updated Project ${projectId}`);
|
|
157
|
+
return next;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Re-register every Project directory with the runtime on startup so
|
|
161
|
+
* Projects survive an `interf runtime` restart.
|
|
162
|
+
*/
|
|
163
|
+
export function rehydrateProjects(runtime) {
|
|
164
|
+
for (const stored of listStoredProjects()) {
|
|
165
|
+
runtime.registerProject(stored.projectDataDir);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Last-modified time of the Project's `interf.json`, ISO 8601. This is the
|
|
170
|
+
* Projects list recency signal: it advances on create, edit (intent / Build
|
|
171
|
+
* Plan change), and a successful Build (which writes `latest_context_graph_run_id`
|
|
172
|
+
* back into the config). Null when the mtime can't be read.
|
|
173
|
+
*/
|
|
174
|
+
function projectConfigUpdatedAt(configPath) {
|
|
175
|
+
try {
|
|
176
|
+
return statSync(configPath).mtime.toISOString();
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
/** Build the wire shape for `GET /v1/projects/<id>` given a stored Project. */
|
|
183
|
+
export function projectWireShape(stored) {
|
|
184
|
+
return {
|
|
185
|
+
id: stored.id,
|
|
186
|
+
project_id: stored.id,
|
|
187
|
+
source: stored.source,
|
|
188
|
+
intent: stored.intent,
|
|
189
|
+
build_plan_id: stored.buildPlanId,
|
|
190
|
+
config_path: stored.configPath,
|
|
191
|
+
updated_at: projectConfigUpdatedAt(stored.configPath),
|
|
192
|
+
context_graph: { kind: "local-path", value: stored.contextGraphPath },
|
|
193
|
+
context_graph_path: stored.contextGraphPath,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { RequestedArtifact } from "../build-plans/authoring/brief.js";
|
|
2
|
+
import { type Artifact } from "../contracts/lib/schema.js";
|
|
3
|
+
import type { BuildPlanAuthoringArtifactRequirement } from "../build-plans/authoring/brief.js";
|
|
4
|
+
export declare function requestedArtifactCheckLabel(check: RequestedArtifact["checks"][number]): string;
|
|
5
|
+
export declare function formatRequestedArtifactsForPrompt(artifacts: RequestedArtifact[]): string;
|
|
6
|
+
export declare function artifactRequirementsFromRequestedArtifacts(artifacts: RequestedArtifact[]): BuildPlanAuthoringArtifactRequirement[];
|
|
7
|
+
export declare function requestedArtifactsFromPlanArtifacts(artifacts: readonly Artifact[]): RequestedArtifact[];
|
|
@@ -7,7 +7,7 @@ export function formatRequestedArtifactsForPrompt(artifacts) {
|
|
|
7
7
|
return "";
|
|
8
8
|
return artifacts.map((artifact, index) => {
|
|
9
9
|
const lines = [
|
|
10
|
-
`${index + 1}. ${artifact.title}`,
|
|
10
|
+
`${index + 1}. ${artifact.title}${artifact.id ? ` (id: ${artifact.id})` : ""}`,
|
|
11
11
|
artifact.purpose ?? artifact.description ?? null,
|
|
12
12
|
artifact.checks.length > 0
|
|
13
13
|
? `Checks:\n${artifact.checks.map((check) => `- ${requestedArtifactCheckLabel(check)}`).join("\n")}`
|
|
@@ -34,3 +34,25 @@ export function artifactRequirementsFromRequestedArtifacts(artifacts) {
|
|
|
34
34
|
}];
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
|
+
function titleFromArtifactId(value) {
|
|
38
|
+
return value
|
|
39
|
+
.split("-")
|
|
40
|
+
.filter(Boolean)
|
|
41
|
+
.map((part) => `${part.charAt(0).toUpperCase()}${part.slice(1)}`)
|
|
42
|
+
.join(" ");
|
|
43
|
+
}
|
|
44
|
+
function labelForArtifactCheck(check) {
|
|
45
|
+
return check.description ?? titleFromArtifactId(check.id) ?? "Output diagnostic";
|
|
46
|
+
}
|
|
47
|
+
export function requestedArtifactsFromPlanArtifacts(artifacts) {
|
|
48
|
+
return artifacts.map((artifact) => ({
|
|
49
|
+
id: artifact.id,
|
|
50
|
+
title: titleFromArtifactId(artifact.id),
|
|
51
|
+
description: artifact.description,
|
|
52
|
+
checks: artifact.checks.map(labelForArtifactCheck),
|
|
53
|
+
output: {
|
|
54
|
+
shape: artifact.shape,
|
|
55
|
+
checks: artifact.checks,
|
|
56
|
+
},
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type ArtifactRef, type BuildRun } from "./execution/lib/schema.js";
|
|
2
|
-
import { type BuildRunResource, type LocalJobRunResource, type RunObservabilityResource, type VerifyRunResource } from "./
|
|
2
|
+
import { type BuildRunResource, type LocalJobRunResource, type RunObservabilityResource, type RunStatusResource, type VerifyRunResource } from "./schemas/index.js";
|
|
3
3
|
export declare function uniqueArtifacts(artifacts: ArtifactRef[]): ArtifactRef[];
|
|
4
|
+
export declare function runObservabilityToStatus(run: RunObservabilityResource): RunStatusResource;
|
|
4
5
|
type BuildRunForObservability = BuildRun | BuildRunResource["run"];
|
|
5
6
|
export declare function buildRunToObservability(run: BuildRunForObservability): RunObservabilityResource;
|
|
6
7
|
export declare function verifyRunToObservability(run: VerifyRunResource): RunObservabilityResource;
|