@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
|
@@ -1,54 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `interf
|
|
2
|
+
* `interf plan` — manage Build Plans on the connected instance.
|
|
3
3
|
*
|
|
4
|
-
* interf
|
|
5
|
-
* interf
|
|
6
|
-
* interf
|
|
7
|
-
* interf
|
|
8
|
-
* interf
|
|
9
|
-
* interf
|
|
4
|
+
* interf plan list # list Build Plans
|
|
5
|
+
* interf plan show <plan-id> # show a Build Plan summary
|
|
6
|
+
* interf plan select <project-id> <id> # select a Build Plan for a Project
|
|
7
|
+
* interf plan save <path-or-id> # save/promote a reusable Build Plan
|
|
8
|
+
* interf plan draft <project-id> # start a Build Plan draft run
|
|
9
|
+
* interf plan improve <project-id> # start a Build Plan improvement run
|
|
10
|
+
*
|
|
11
|
+
* The command name stays short for CLI ergonomics; user-facing copy says
|
|
12
|
+
* Build Plan.
|
|
10
13
|
*/
|
|
11
14
|
import chalk from "chalk";
|
|
12
15
|
import { resolve } from "node:path";
|
|
13
|
-
import {
|
|
14
|
-
import { buildPlanResourcePath,
|
|
15
|
-
import { BuildPlanAuthoringArtifactRequirementSchema, } from "../../packages/
|
|
16
|
-
import { artifactRequirementsFromRequestedArtifacts, formatRequestedArtifactsForPrompt, } from "../../packages/
|
|
16
|
+
import { callJson, resolveConnection } from "../lib/http-client.js";
|
|
17
|
+
import { buildPlanResourcePath, projectResourcePath, projectSubresourcePath, } from "../../packages/runtime/service/routes.js";
|
|
18
|
+
import { BuildPlanAuthoringArtifactRequirementSchema, BuildPlanContextCheckDraftSchema, RequestedArtifactSchema, SourceContextSchema, } from "../../packages/runtime/schemas/index.js";
|
|
19
|
+
import { artifactRequirementsFromRequestedArtifacts, formatRequestedArtifactsForPrompt, requestedArtifactsFromPlanArtifacts, } from "../../packages/runtime/requested-artifacts.js";
|
|
17
20
|
import { slugify } from "../../packages/contracts/utils/naming.js";
|
|
18
|
-
function resolveConnection(args) {
|
|
19
|
-
const conn = readActiveConnection({
|
|
20
|
-
urlOverride: args.url,
|
|
21
|
-
authTokenOverride: args.token,
|
|
22
|
-
});
|
|
23
|
-
if (!conn) {
|
|
24
|
-
console.error(CONNECT_OR_ERROR_HINT);
|
|
25
|
-
process.exit(1);
|
|
26
|
-
}
|
|
27
|
-
return { url: conn.url.replace(/\/+$/, ""), token: conn.auth_token };
|
|
28
|
-
}
|
|
29
|
-
async function callJson(url, token, init = {}) {
|
|
30
|
-
const headers = new Headers(init.headers ?? {});
|
|
31
|
-
if (token)
|
|
32
|
-
headers.set("authorization", `Bearer ${token}`);
|
|
33
|
-
if (init.body && !headers.has("content-type"))
|
|
34
|
-
headers.set("content-type", "application/json");
|
|
35
|
-
const response = await fetch(url, { ...init, headers });
|
|
36
|
-
const raw = await response.text();
|
|
37
|
-
let body = null;
|
|
38
|
-
if (raw) {
|
|
39
|
-
try {
|
|
40
|
-
body = JSON.parse(raw);
|
|
41
|
-
}
|
|
42
|
-
catch {
|
|
43
|
-
body = null;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return { status: response.status, body, raw };
|
|
47
|
-
}
|
|
48
|
-
function asArray(value) {
|
|
49
|
-
return Array.isArray(value) ? value : [];
|
|
50
|
-
}
|
|
51
21
|
const BuildPlanAuthoringArtifactRequirementsCliSchema = BuildPlanAuthoringArtifactRequirementSchema.array();
|
|
22
|
+
const BuildPlanChecksCliSchema = BuildPlanContextCheckDraftSchema.array();
|
|
23
|
+
const RequestedArtifactsCliSchema = RequestedArtifactSchema.array();
|
|
52
24
|
function parseJsonOption(label, value, parse) {
|
|
53
25
|
if (!value)
|
|
54
26
|
return undefined;
|
|
@@ -70,16 +42,16 @@ function parseJsonOption(label, value, parse) {
|
|
|
70
42
|
process.exit(1);
|
|
71
43
|
}
|
|
72
44
|
}
|
|
73
|
-
function
|
|
74
|
-
return `${url}/?section=
|
|
45
|
+
function buildProjectReviewUrl(url, projectId) {
|
|
46
|
+
return `${url}/?section=projects&project=${encodeURIComponent(projectId)}&projectTab=build-plan`;
|
|
75
47
|
}
|
|
76
|
-
function buildRunUrl(url,
|
|
48
|
+
function buildRunUrl(url, projectId, runId) {
|
|
77
49
|
if (!runId)
|
|
78
50
|
return null;
|
|
79
|
-
return `${url}/?section=
|
|
51
|
+
return `${url}/?section=projects&project=${encodeURIComponent(projectId)}&projectTab=runs&run=${encodeURIComponent(runId)}`;
|
|
80
52
|
}
|
|
81
|
-
function
|
|
82
|
-
return slugify(`${
|
|
53
|
+
function defaultBuildPlanIdForProject(projectId) {
|
|
54
|
+
return slugify(`${projectId}-build-plan`) || "build-plan";
|
|
83
55
|
}
|
|
84
56
|
function labelFromBuildPlanId(buildPlanId) {
|
|
85
57
|
const label = buildPlanId
|
|
@@ -103,7 +75,7 @@ function renderBuildPlanSummary(buildPlan) {
|
|
|
103
75
|
const artifacts = buildPlan.artifacts ?? [];
|
|
104
76
|
if (artifacts.length > 0) {
|
|
105
77
|
console.log();
|
|
106
|
-
console.log(chalk.bold("
|
|
78
|
+
console.log(chalk.bold(" Requested outputs"));
|
|
107
79
|
for (const artifact of artifacts) {
|
|
108
80
|
const shape = artifact.shape?.path
|
|
109
81
|
? chalk.dim(` -> ${artifact.shape.path}`)
|
|
@@ -132,121 +104,110 @@ function renderBuildPlanSummary(buildPlan) {
|
|
|
132
104
|
console.log(chalk.dim(` writes: ${writes}`));
|
|
133
105
|
}
|
|
134
106
|
}
|
|
135
|
-
if (buildPlan.
|
|
107
|
+
if (buildPlan.active_for_projects?.length) {
|
|
136
108
|
console.log();
|
|
137
|
-
console.log(chalk.dim(` used by: ${buildPlan.
|
|
109
|
+
console.log(chalk.dim(` used by: ${buildPlan.active_for_projects.join(", ")}`));
|
|
138
110
|
}
|
|
139
111
|
console.log();
|
|
140
112
|
console.log(chalk.dim(" Run with --json for the raw Build Plan record."));
|
|
141
113
|
console.log();
|
|
142
114
|
}
|
|
143
|
-
function
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
115
|
+
async function selectedBuildPlanRequestedArtifacts(url, token, buildPlanId) {
|
|
116
|
+
if (!buildPlanId)
|
|
117
|
+
return [];
|
|
118
|
+
const fetched = await callJson(`${url}${buildPlanResourcePath(buildPlanId)}`, token);
|
|
119
|
+
if (fetched.status !== 200 || !fetched.body)
|
|
120
|
+
return [];
|
|
121
|
+
return requestedArtifactsFromPlanArtifacts(fetched.body.artifacts ?? []);
|
|
147
122
|
}
|
|
148
|
-
function
|
|
149
|
-
return
|
|
150
|
-
? preparation.requested_artifacts
|
|
151
|
-
: preparation.preparation?.requested_artifacts ?? [];
|
|
123
|
+
function selectedBuildPlanId(project) {
|
|
124
|
+
return project.build_plan_id;
|
|
152
125
|
}
|
|
153
|
-
function
|
|
154
|
-
|
|
155
|
-
}
|
|
156
|
-
function selectedBuildPlanId(preparation) {
|
|
157
|
-
return preparation.build_plan_id ?? preparation.preparation?.build_plan ?? null;
|
|
158
|
-
}
|
|
159
|
-
function sourceFolderPathFromPreparation(preparation, sourceFiles) {
|
|
160
|
-
if (preparation.source?.kind === "local-folder" && preparation.source.locator)
|
|
161
|
-
return preparation.source.locator;
|
|
162
|
-
if (sourceFiles?.source_files?.[0]?.source_folder_path)
|
|
163
|
-
return sourceFiles.source_files[0].source_folder_path;
|
|
164
|
-
return preparation.source_path ?? null;
|
|
165
|
-
}
|
|
166
|
-
function buildTaskPrompt(args, preparation, prepId, mode) {
|
|
167
|
-
const about = (preparation.about ?? preparation.preparation?.about)?.trim();
|
|
168
|
-
const requestedArtifacts = formatRequestedArtifactsForPrompt(preparationRequestedArtifacts(preparation));
|
|
126
|
+
function buildTaskPrompt(args, requestedArtifacts, projectId, mode) {
|
|
127
|
+
const requestedArtifactsText = formatRequestedArtifactsForPrompt(requestedArtifacts);
|
|
169
128
|
const sections = [
|
|
170
|
-
`${mode === "improve" ? "Improve" : "Draft"} a Build Plan for
|
|
171
|
-
args.
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
args.
|
|
175
|
-
|
|
176
|
-
"Return a Build Plan definition that declares the verifiable Artifacts, the stages that build them, and the checks that prove the verifiable context is ready for agent work.",
|
|
129
|
+
`${mode === "improve" ? "Improve" : "Draft"} a Build Plan for Project "${projectId}".`,
|
|
130
|
+
args.intent?.trim() ? `Intent:\n${args.intent.trim()}` : null,
|
|
131
|
+
requestedArtifactsText ? `Requested graph outputs:\n${requestedArtifactsText}` : null,
|
|
132
|
+
args.artifacts?.trim() ? `Additional output notes:\n${args.artifacts.trim()}` : null,
|
|
133
|
+
args.readyWhen?.trim() ? `Coverage goal:\n${args.readyWhen.trim()}` : null,
|
|
134
|
+
"Return a Build Plan definition that starts from Project intent, declares the Context Graph outputs, stage inputs, coverage metrics, and deterministic validation needed for local service review.",
|
|
177
135
|
].filter((section) => Boolean(section));
|
|
178
136
|
return sections.join("\n\n");
|
|
179
137
|
}
|
|
180
|
-
async function
|
|
181
|
-
const fetched = await callJson(`${url}${
|
|
138
|
+
async function readProjectContext(url, token, projectId) {
|
|
139
|
+
const fetched = await callJson(`${url}${projectResourcePath(projectId)}`, token);
|
|
182
140
|
if (fetched.status !== 200 || !fetched.body) {
|
|
183
|
-
console.error(chalk.red(`Failed to read
|
|
141
|
+
console.error(chalk.red(`Failed to read Project ${projectId} (HTTP ${fetched.status}).`));
|
|
184
142
|
if (fetched.raw)
|
|
185
143
|
console.error(fetched.raw);
|
|
186
144
|
process.exit(1);
|
|
187
145
|
}
|
|
188
|
-
let sourceFiles = null;
|
|
189
|
-
const sourcePath = sourceFolderPathFromPreparation(fetched.body, sourceFiles);
|
|
190
|
-
if (!sourcePath) {
|
|
191
|
-
const listed = await callJson(`${url}${preparationSubresourcePath(prepId, "sourceFiles")}`, token);
|
|
192
|
-
if (listed.status === 200)
|
|
193
|
-
sourceFiles = listed.body;
|
|
194
|
-
}
|
|
195
|
-
const sourceFolderPath = sourceFolderPathFromPreparation(fetched.body, sourceFiles);
|
|
196
|
-
if (!sourceFolderPath) {
|
|
197
|
-
console.error(chalk.red(`Preparation ${prepId} has no readable local Source binding.`));
|
|
198
|
-
process.exit(1);
|
|
199
|
-
}
|
|
200
146
|
return {
|
|
201
|
-
|
|
202
|
-
sourceFolderPath,
|
|
203
|
-
checks: preparationChecks(fetched.body),
|
|
147
|
+
project: fetched.body,
|
|
204
148
|
};
|
|
205
149
|
}
|
|
206
150
|
async function startBuildPlanRun(args, mode) {
|
|
207
151
|
const { url, token } = resolveConnection(args);
|
|
208
|
-
const {
|
|
209
|
-
const
|
|
210
|
-
const
|
|
211
|
-
const
|
|
152
|
+
const { project } = await readProjectContext(url, token, args.projectId);
|
|
153
|
+
const projectIntent = typeof project.intent === "string" ? project.intent.trim() : "";
|
|
154
|
+
const effectiveIntent = args.intent?.trim() || projectIntent;
|
|
155
|
+
const existingBuildPlan = selectedBuildPlanId(project);
|
|
156
|
+
const buildPlanId = args.buildPlan ?? (mode === "improve" ? existingBuildPlan : defaultBuildPlanIdForProject(args.projectId));
|
|
157
|
+
const explicitRequestedArtifacts = parseJsonOption("--requested-artifacts-json", args.requestedArtifactsJson, (input) => RequestedArtifactsCliSchema.parse(input));
|
|
158
|
+
const requestedArtifacts = explicitRequestedArtifacts
|
|
159
|
+
?? await selectedBuildPlanRequestedArtifacts(url, token, existingBuildPlan);
|
|
212
160
|
const explicitArtifactRequirements = parseJsonOption("--artifact-requirements-json", args.artifactRequirementsJson, (input) => BuildPlanAuthoringArtifactRequirementsCliSchema.parse(input));
|
|
213
161
|
const artifactRequirements = explicitArtifactRequirements
|
|
214
162
|
?? artifactRequirementsFromRequestedArtifacts(requestedArtifacts);
|
|
163
|
+
const explicitChecks = parseJsonOption("--checks-json", args.checksJson, (input) => BuildPlanChecksCliSchema.parse(input));
|
|
164
|
+
const sourceContext = parseJsonOption("--source-context-json", args.sourceContextJson, (input) => SourceContextSchema.parse(input));
|
|
165
|
+
const buildPlanChecks = explicitChecks
|
|
166
|
+
?? (args.readyWhen?.trim()
|
|
167
|
+
? [{
|
|
168
|
+
label: args.readyWhen.trim(),
|
|
169
|
+
backed_by_artifact_ids: artifactRequirements.map((artifact) => artifact.id),
|
|
170
|
+
required: true,
|
|
171
|
+
}]
|
|
172
|
+
: []);
|
|
215
173
|
if (!buildPlanId) {
|
|
216
|
-
console.error(chalk.red(`
|
|
217
|
-
console.error(chalk.dim(`Draft
|
|
174
|
+
console.error(chalk.red(`Project ${args.projectId} has no selected Build Plan to improve.`));
|
|
175
|
+
console.error(chalk.dim(`Draft a Build Plan first: interf plan draft ${args.projectId}`));
|
|
176
|
+
process.exit(1);
|
|
177
|
+
}
|
|
178
|
+
if (!effectiveIntent) {
|
|
179
|
+
console.error(chalk.red(`Project ${args.projectId} has no saved intent.`));
|
|
180
|
+
console.error(chalk.dim("Create or update the Project with an agent task intent before drafting a Build Plan."));
|
|
218
181
|
process.exit(1);
|
|
219
182
|
}
|
|
220
183
|
const body = {
|
|
221
|
-
preparation: args.prepId,
|
|
222
|
-
source_folder_path: sourceFolderPath,
|
|
223
184
|
...(args.baseBuildPlan ? { base_build_plan_id: args.baseBuildPlan } : {}),
|
|
224
185
|
...(args.referenceBuildPlan ? { reference_build_plan_id: args.referenceBuildPlan } : {}),
|
|
225
186
|
...(mode === "improve" && !args.referenceBuildPlan && existingBuildPlan ? { reference_build_plan_id: existingBuildPlan } : {}),
|
|
226
187
|
build_plan_id: buildPlanId,
|
|
227
188
|
label: args.label ?? labelFromBuildPlanId(buildPlanId),
|
|
228
|
-
hint: args.hint ?? `Build Plan for
|
|
229
|
-
|
|
230
|
-
checks,
|
|
189
|
+
hint: args.hint ?? `Build Plan for Project ${args.projectId}.`,
|
|
190
|
+
intent: buildTaskPrompt({ ...args, intent: effectiveIntent }, requestedArtifacts, args.projectId, mode),
|
|
191
|
+
checks: buildPlanChecks,
|
|
231
192
|
requested_artifacts: requestedArtifacts,
|
|
232
|
-
source_profile: preparationSourceProfile(preparation),
|
|
233
193
|
artifact_requirements: artifactRequirements,
|
|
194
|
+
...(sourceContext !== undefined ? { source_context: sourceContext } : {}),
|
|
234
195
|
};
|
|
235
196
|
const endpoint = mode === "improve" ? "buildPlanImprovementRuns" : "buildPlanDraftRuns";
|
|
236
|
-
const { status, body: run, raw } = await callJson(`${url}${
|
|
197
|
+
const { status, body: run, raw } = await callJson(`${url}${projectSubresourcePath(args.projectId, endpoint)}`, token, { method: "POST", body: JSON.stringify(body) });
|
|
237
198
|
if (status !== 202 && status !== 201 && status !== 200) {
|
|
238
199
|
console.error(chalk.red(`Failed to start Build Plan ${mode} run (HTTP ${status}).`));
|
|
239
200
|
if (raw)
|
|
240
201
|
console.error(raw);
|
|
241
202
|
process.exit(1);
|
|
242
203
|
}
|
|
243
|
-
const runUrl = buildRunUrl(url, args.
|
|
244
|
-
const reviewUrl =
|
|
204
|
+
const runUrl = buildRunUrl(url, args.projectId, run?.run_id);
|
|
205
|
+
const reviewUrl = buildProjectReviewUrl(url, args.projectId);
|
|
245
206
|
if (args.json) {
|
|
246
207
|
console.log(JSON.stringify({
|
|
247
208
|
run_id: run?.run_id ?? null,
|
|
248
209
|
status: run?.status ?? null,
|
|
249
|
-
|
|
210
|
+
project: args.projectId,
|
|
250
211
|
build_plan_id: buildPlanId,
|
|
251
212
|
run_url: runUrl,
|
|
252
213
|
review_url: reviewUrl,
|
|
@@ -260,8 +221,9 @@ async function startBuildPlanRun(args, mode) {
|
|
|
260
221
|
console.log(chalk.dim(` review after it finishes: ${reviewUrl}`));
|
|
261
222
|
}
|
|
262
223
|
export const buildPlanCommand = {
|
|
263
|
-
command: "
|
|
224
|
+
command: "plan <subcommand>",
|
|
264
225
|
describe: "Manage Build Plans on the connected instance",
|
|
226
|
+
aliases: [],
|
|
265
227
|
builder: (yargs) => yargs
|
|
266
228
|
.option("url", { type: "string", describe: "Override the active connection URL" })
|
|
267
229
|
.option("token", { type: "string", describe: "Override the active bearer token" })
|
|
@@ -285,8 +247,8 @@ export const buildPlanCommand = {
|
|
|
285
247
|
const label = buildPlan.label ? ` ${chalk.dim(buildPlan.label)}` : "";
|
|
286
248
|
const kind = buildPlan.source_kind ? chalk.dim(`[${buildPlan.source_kind}]`) : "";
|
|
287
249
|
console.log(` ${chalk.bold(id)} ${kind}${label}`);
|
|
288
|
-
if (buildPlan.
|
|
289
|
-
console.log(chalk.dim(` used by: ${buildPlan.
|
|
250
|
+
if (buildPlan.active_for_projects?.length) {
|
|
251
|
+
console.log(chalk.dim(` used by: ${buildPlan.active_for_projects.join(", ")}`));
|
|
290
252
|
}
|
|
291
253
|
}
|
|
292
254
|
console.log();
|
|
@@ -327,42 +289,48 @@ export const buildPlanCommand = {
|
|
|
327
289
|
}
|
|
328
290
|
renderBuildPlanSummary(body);
|
|
329
291
|
})
|
|
330
|
-
.command("select <
|
|
331
|
-
.positional("
|
|
292
|
+
.command("select <project-id> <build-plan-id>", "Select a Build Plan for a Project", (y) => y
|
|
293
|
+
.positional("project-id", { type: "string", demandOption: true, describe: "Project id" })
|
|
332
294
|
.positional("build-plan-id", { type: "string", demandOption: true, describe: "Build Plan id" }), async (args) => {
|
|
333
295
|
const { url, token } = resolveConnection(args);
|
|
334
|
-
const { status, raw } = await callJson(`${url}${
|
|
296
|
+
const { status, raw } = await callJson(`${url}${projectResourcePath(args.projectId)}`, token, { method: "PATCH", body: JSON.stringify({ build_plan_id: args.buildPlanId }) });
|
|
335
297
|
if (status !== 200) {
|
|
336
298
|
console.error(chalk.red(`Failed to select Build Plan (HTTP ${status}).`));
|
|
337
299
|
if (raw)
|
|
338
300
|
console.error(raw);
|
|
339
301
|
process.exit(1);
|
|
340
302
|
}
|
|
341
|
-
console.log(chalk.green(`Selected Build Plan ${chalk.bold(args.buildPlanId)} for ${chalk.bold(args.
|
|
303
|
+
console.log(chalk.green(`Selected Build Plan ${chalk.bold(args.buildPlanId)} for ${chalk.bold(args.projectId)}.`));
|
|
342
304
|
})
|
|
343
|
-
.command("draft <
|
|
344
|
-
.positional("
|
|
345
|
-
.option("
|
|
346
|
-
.option("artifacts", { type: "string", describe: "Requested
|
|
347
|
-
.option("
|
|
348
|
-
.option("
|
|
305
|
+
.command("draft <project-id>", "Start a Build Plan draft run for a Project", (y) => y
|
|
306
|
+
.positional("project-id", { type: "string", demandOption: true, describe: "Project id" })
|
|
307
|
+
.option("intent", { type: "string", describe: "Agent task this Build Plan should support. Defaults to the Project intent." })
|
|
308
|
+
.option("artifacts", { type: "string", describe: "Requested outputs and why the agent needs them" })
|
|
309
|
+
.option("requested-artifacts-json", { type: "string", describe: "JSON array of structured requested outputs for Build Plan authoring" })
|
|
310
|
+
.option("checks-json", { type: "string", describe: "JSON array of coverage goals for Build Plan authoring" })
|
|
311
|
+
.option("artifact-requirements-json", { type: "string", describe: "JSON array of exact output requirements for the Build Plan" })
|
|
312
|
+
.option("source-context-json", { type: "string", describe: "JSON object with advisory Source context for Build Plan authoring" })
|
|
313
|
+
.option("ready-when", { type: "string", describe: "Plain-English coverage goal the Context Graph should satisfy" })
|
|
349
314
|
.option("build-plan", { type: "string", describe: "Build Plan id to write" })
|
|
350
315
|
.option("label", { type: "string", describe: "Human-readable Build Plan label" })
|
|
351
|
-
.option("hint", { type: "string", describe: "Short Build Plan
|
|
316
|
+
.option("hint", { type: "string", describe: "Short Build Plan summary for review" })
|
|
352
317
|
.option("base-build-plan", { type: "string", describe: "Existing Build Plan id to use as a starting point" })
|
|
353
318
|
.option("reference-build-plan", { type: "string", describe: "Existing Build Plan id to reference while drafting" })
|
|
354
319
|
.option("json", { type: "boolean", default: false, describe: "Print machine-readable run metadata" }), async (args) => {
|
|
355
320
|
await startBuildPlanRun(args, "draft");
|
|
356
321
|
})
|
|
357
|
-
.command("improve <
|
|
358
|
-
.positional("
|
|
359
|
-
.option("
|
|
360
|
-
.option("artifacts", { type: "string", describe: "Requested
|
|
361
|
-
.option("
|
|
362
|
-
.option("
|
|
322
|
+
.command("improve <project-id>", "Start a Build Plan improvement run for a Project", (y) => y
|
|
323
|
+
.positional("project-id", { type: "string", demandOption: true, describe: "Project id" })
|
|
324
|
+
.option("intent", { type: "string", describe: "Change request for the selected Build Plan" })
|
|
325
|
+
.option("artifacts", { type: "string", describe: "Requested output changes and why they matter" })
|
|
326
|
+
.option("requested-artifacts-json", { type: "string", describe: "JSON array of structured requested outputs for Build Plan authoring" })
|
|
327
|
+
.option("checks-json", { type: "string", describe: "JSON array of coverage goals for Build Plan authoring" })
|
|
328
|
+
.option("artifact-requirements-json", { type: "string", describe: "JSON array of exact output requirements for the Build Plan" })
|
|
329
|
+
.option("source-context-json", { type: "string", describe: "JSON object with advisory Source context for Build Plan authoring" })
|
|
330
|
+
.option("ready-when", { type: "string", describe: "Plain-English coverage goal to add or change" })
|
|
363
331
|
.option("build-plan", { type: "string", describe: "Build Plan id to update" })
|
|
364
332
|
.option("label", { type: "string", describe: "Human-readable Build Plan label" })
|
|
365
|
-
.option("hint", { type: "string", describe: "Short Build Plan
|
|
333
|
+
.option("hint", { type: "string", describe: "Short Build Plan summary for review" })
|
|
366
334
|
.option("base-build-plan", { type: "string", describe: "Existing Build Plan id to use as a starting point" })
|
|
367
335
|
.option("reference-build-plan", { type: "string", describe: "Existing Build Plan id to reference while improving" })
|
|
368
336
|
.option("json", { type: "boolean", default: false, describe: "Print machine-readable run metadata" }), async (args) => {
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import type { CommandModule } from "yargs";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { type ConnectionArgs } from "../lib/http-client.js";
|
|
3
|
+
interface BuildArgs extends ConnectionArgs {
|
|
4
|
+
projectId: string;
|
|
4
5
|
watch?: boolean;
|
|
5
6
|
quiet?: boolean;
|
|
6
7
|
idempotencyKey?: string;
|
|
7
|
-
url?: string;
|
|
8
|
-
token?: string;
|
|
9
8
|
}
|
|
10
9
|
export declare const buildCommand: CommandModule<unknown, BuildArgs>;
|
|
11
10
|
export {};
|
|
@@ -5,54 +5,25 @@
|
|
|
5
5
|
* interf build bristol --quiet # only the locator on stdout (scripting)
|
|
6
6
|
* interf build bristol --watch # stream events
|
|
7
7
|
*
|
|
8
|
-
* Requires an active connection. Hits POST /v1/
|
|
8
|
+
* Requires an active connection. Hits POST /v1/projects/<id>/build-runs.
|
|
9
9
|
*/
|
|
10
10
|
import chalk from "chalk";
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
const conn = readActiveConnection({
|
|
14
|
-
urlOverride: args.url,
|
|
15
|
-
authTokenOverride: args.token,
|
|
16
|
-
});
|
|
17
|
-
if (!conn) {
|
|
18
|
-
console.error(CONNECT_OR_ERROR_HINT);
|
|
19
|
-
process.exit(1);
|
|
20
|
-
}
|
|
21
|
-
return { url: conn.url.replace(/\/+$/, ""), token: conn.auth_token };
|
|
22
|
-
}
|
|
23
|
-
async function callJson(url, token, init = {}) {
|
|
24
|
-
const headers = new Headers(init.headers ?? {});
|
|
25
|
-
if (token)
|
|
26
|
-
headers.set("authorization", `Bearer ${token}`);
|
|
27
|
-
if (init.body && !headers.has("content-type"))
|
|
28
|
-
headers.set("content-type", "application/json");
|
|
29
|
-
const response = await fetch(url, { ...init, headers });
|
|
30
|
-
const raw = await response.text();
|
|
31
|
-
let body = null;
|
|
32
|
-
if (raw.length > 0) {
|
|
33
|
-
try {
|
|
34
|
-
body = JSON.parse(raw);
|
|
35
|
-
}
|
|
36
|
-
catch {
|
|
37
|
-
body = null;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return { status: response.status, body, raw };
|
|
41
|
-
}
|
|
11
|
+
import { callJson, resolveConnection } from "../lib/http-client.js";
|
|
12
|
+
import { projectSubresourcePath } from "../../packages/runtime/service/routes.js";
|
|
42
13
|
export const buildCommand = {
|
|
43
|
-
command: "build <
|
|
44
|
-
describe: "
|
|
14
|
+
command: "build <project-id>",
|
|
15
|
+
describe: "Build Context Graph for a Project",
|
|
45
16
|
builder: (yargs) => yargs
|
|
46
|
-
.positional("
|
|
47
|
-
.option("watch", { type: "boolean", default: false, describe: "Stream
|
|
48
|
-
.option("quiet", { type: "boolean", default: false, describe: "Print only the
|
|
17
|
+
.positional("project-id", { type: "string", demandOption: true, describe: "Project id" })
|
|
18
|
+
.option("watch", { type: "boolean", default: false, describe: "Stream Run events" })
|
|
19
|
+
.option("quiet", { type: "boolean", default: false, describe: "Print only the Context Graph locator on success" })
|
|
49
20
|
.option("idempotency-key", { type: "string", describe: "Client-supplied dedupe key" })
|
|
50
21
|
.option("url", { type: "string", describe: "Override the active connection URL" })
|
|
51
22
|
.option("token", { type: "string", describe: "Override the active bearer token" }),
|
|
52
23
|
handler: async (args) => {
|
|
53
24
|
const { url, token } = resolveConnection(args);
|
|
54
|
-
//
|
|
55
|
-
//
|
|
25
|
+
// hard-error: refuse to start a Build if the local service has zero
|
|
26
|
+
// execution agents — the build pipeline can't run without one.
|
|
56
27
|
const instance = await callJson(`${url}/v1/instance`, token);
|
|
57
28
|
if (instance.body && instance.body.agent_count === 0) {
|
|
58
29
|
console.error(chalk.red(" Cannot build — no agents available."));
|
|
@@ -63,26 +34,26 @@ export const buildCommand = {
|
|
|
63
34
|
const headers = {};
|
|
64
35
|
if (args.idempotencyKey)
|
|
65
36
|
headers["x-interf-idempotency-key"] = args.idempotencyKey;
|
|
66
|
-
const { status, body, raw } = await callJson(`${url}
|
|
37
|
+
const { status, body, raw } = await callJson(`${url}${projectSubresourcePath(args.projectId, "buildRuns")}`, token, { method: "POST", headers, body: JSON.stringify({}) });
|
|
67
38
|
if (status !== 201 && status !== 200 && status !== 202) {
|
|
68
|
-
console.error(chalk.red(`Failed to
|
|
39
|
+
console.error(chalk.red(`Failed to build Context Graph for ${args.projectId} (HTTP ${status}).`));
|
|
69
40
|
if (raw)
|
|
70
41
|
console.error(raw);
|
|
71
42
|
process.exit(1);
|
|
72
43
|
}
|
|
73
44
|
const run = body?.run;
|
|
74
45
|
const runId = run?.run_id ?? "(unknown run)";
|
|
75
|
-
const locator = run?.
|
|
46
|
+
const locator = run?.context_graph_path ?? "(no locator)";
|
|
76
47
|
if (args.quiet) {
|
|
77
48
|
console.log(locator);
|
|
78
49
|
return;
|
|
79
50
|
}
|
|
80
51
|
console.log();
|
|
81
52
|
console.log(` Build run ${chalk.bold(runId)} ${chalk.dim(`(${run?.status ?? "started"})`)}`);
|
|
82
|
-
console.log(`
|
|
53
|
+
console.log(` Context Graph: ${locator}`);
|
|
83
54
|
if (run?.status === "succeeded" || run?.finished_at) {
|
|
84
|
-
const
|
|
85
|
-
const readiness =
|
|
55
|
+
const projectResp = await callJson(`${url}/v1/projects/${encodeURIComponent(args.projectId)}`, token);
|
|
56
|
+
const readiness = projectResp.body?.readiness?.status;
|
|
86
57
|
if (readiness)
|
|
87
58
|
console.log(` Readiness: ${readiness}`);
|
|
88
59
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
|
-
import { agents, userConfig } from "../../packages/
|
|
2
|
+
import { agents, userConfig } from "../../packages/runtime/agents/index.js";
|
|
3
3
|
function iconFor(status) {
|
|
4
4
|
if (status === "pass")
|
|
5
5
|
return chalk.green("✓");
|
|
@@ -97,7 +97,7 @@ export const doctorCommand = {
|
|
|
97
97
|
id: "live",
|
|
98
98
|
label: "Live executor preflight",
|
|
99
99
|
status: "skipped",
|
|
100
|
-
message: "Skipped. Run `interf doctor --live` to exercise the real local agent before drafting
|
|
100
|
+
message: "Skipped. Run `interf doctor --live` to exercise the real local agent before drafting benchmark questions, Build Plan authoring, a benchmark pass, or a Build.",
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
103
|
const ok = checks.every((check) => check.status !== "fail");
|
|
@@ -121,7 +121,7 @@ export const doctorCommand = {
|
|
|
121
121
|
}
|
|
122
122
|
console.log();
|
|
123
123
|
if (!argv.live) {
|
|
124
|
-
console.log(chalk.dim(" Tip: run `interf doctor --live` before a first
|
|
124
|
+
console.log(chalk.dim(" Tip: run `interf doctor --live` before a first Build on a new machine."));
|
|
125
125
|
console.log();
|
|
126
126
|
}
|
|
127
127
|
}
|