@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,22 @@
|
|
|
1
|
+
import { type ProjectConfig } from "../projects/lib/schema.js";
|
|
2
|
+
import { type ActionProposalPlanActionType, type ActionProposalResource } from "./schemas/index.js";
|
|
3
|
+
export declare const ACTION_PLANNER_CLARIFICATION_MESSAGE = "I can help with this Interf instance. Ask a question about Interf, or ask me to create a Project, build a Context Graph, run a benchmark, improve a Build Plan, or draft a Build Plan and I will prepare an approval proposal.";
|
|
4
|
+
export type LocalTestMode = "source-files" | "context-graph" | "both";
|
|
5
|
+
export declare function createActionProposalId(): string;
|
|
6
|
+
export declare function sanitizeActionProposalPlan(value: unknown): unknown;
|
|
7
|
+
export declare function stringValue(values: Record<string, unknown> | undefined, key: string): string | null;
|
|
8
|
+
export declare function actionTypeFromValues(values: Record<string, unknown> | undefined): ActionProposalPlanActionType | null;
|
|
9
|
+
export declare function directServiceEndpointForAction(actionType: ActionProposalPlanActionType, options?: {
|
|
10
|
+
project?: string | null;
|
|
11
|
+
}): string | null;
|
|
12
|
+
export declare function numberValue(values: Record<string, unknown> | undefined, key: string): number | null;
|
|
13
|
+
export declare function benchmarkModeFromValues(values: Record<string, unknown> | undefined): LocalTestMode | null;
|
|
14
|
+
export declare function buildPlanIdForProposal(message: string, values: Record<string, unknown> | undefined): string;
|
|
15
|
+
export declare function actionValueBuildPlanIntent(values: Record<string, unknown> | undefined): string | null;
|
|
16
|
+
export declare function buildPlanAuthoringPromptFallback(message: string, buildPlanId: string): string;
|
|
17
|
+
export declare function buildPlanAuthoringHintFromPrompt(prompt: string): string;
|
|
18
|
+
export declare function buildPlanLabelFromId(buildPlanId: string): string;
|
|
19
|
+
export declare function requireSelectedBuildPlan(project: ProjectConfig): string;
|
|
20
|
+
export declare function actionCommandPreview(actionType: ActionProposalResource["action_type"], projectName: string | null, buildPlanId: string | null, values: Record<string, unknown> | undefined): string;
|
|
21
|
+
export declare function hasContextGraphBenchmarkTarget(sourcePath: string, projectConfig: ProjectConfig): boolean;
|
|
22
|
+
export declare function actionAssistantMessage(actionType: ActionProposalResource["action_type"], projectName: string | null, commandPreview: string): string;
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure helpers used by the runtime's action-proposal and Build Plan authoring
|
|
3
|
+
* paths. None of these depend on runtime state — they shape strings, parse
|
|
4
|
+
* proposal values, and build CLI previews. Keeping them out of runtime.ts
|
|
5
|
+
* lets the coordinator stay small and means future tests can reach these
|
|
6
|
+
* helpers without booting a runtime.
|
|
7
|
+
*/
|
|
8
|
+
import { existsSync } from "node:fs";
|
|
9
|
+
import { asProjectDataDir, projectContextGraphPath, projectRunContextGraphPath, } from "../contracts/lib/project-paths.js";
|
|
10
|
+
import { DEFAULT_BUILD_PLAN_ID, buildPlanIdForProjectConfig, } from "../projects/source-config.js";
|
|
11
|
+
import { createContextGraphTestTarget, } from "./verify/verify-targets.js";
|
|
12
|
+
import { buildPlanAuthoringIntentBrief, BuildPlanAuthoringActionValuesSchema, } from "./action-values.js";
|
|
13
|
+
import { ActionProposalPlanActionTypeSchema, } from "./schemas/index.js";
|
|
14
|
+
export const ACTION_PLANNER_CLARIFICATION_MESSAGE = "I can help with this Interf instance. Ask a question about Interf, or ask me to create a Project, build a Context Graph, run a benchmark, improve a Build Plan, or draft a Build Plan and I will prepare an approval proposal.";
|
|
15
|
+
export function createActionProposalId() {
|
|
16
|
+
return `action_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 8)}`;
|
|
17
|
+
}
|
|
18
|
+
export function sanitizeActionProposalPlan(value) {
|
|
19
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
20
|
+
return value;
|
|
21
|
+
const plan = { ...value };
|
|
22
|
+
for (const key of ["project", "build_plan", "title", "summary", "assistant_message", "command_preview"]) {
|
|
23
|
+
const current = plan[key];
|
|
24
|
+
if (current === null || current === undefined) {
|
|
25
|
+
delete plan[key];
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
if (typeof current === "string" && current.trim().length === 0) {
|
|
29
|
+
delete plan[key];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return plan;
|
|
33
|
+
}
|
|
34
|
+
function slugFromText(value) {
|
|
35
|
+
const slug = value
|
|
36
|
+
.toLowerCase()
|
|
37
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
38
|
+
.replace(/^-+|-+$/g, "")
|
|
39
|
+
.slice(0, 42)
|
|
40
|
+
.replace(/-+$/g, "");
|
|
41
|
+
return slug || "custom";
|
|
42
|
+
}
|
|
43
|
+
function escapeRegExp(value) {
|
|
44
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
45
|
+
}
|
|
46
|
+
export function stringValue(values, key) {
|
|
47
|
+
const value = values?.[key];
|
|
48
|
+
return typeof value === "string" && value.trim().length > 0 ? value.trim() : null;
|
|
49
|
+
}
|
|
50
|
+
export function actionTypeFromValues(values) {
|
|
51
|
+
const explicit = stringValue(values, "action_type") ?? stringValue(values, "service_action");
|
|
52
|
+
if (explicit) {
|
|
53
|
+
const parsed = ActionProposalPlanActionTypeSchema.safeParse(explicit);
|
|
54
|
+
if (parsed.success && parsed.data !== "clarification")
|
|
55
|
+
return parsed.data;
|
|
56
|
+
}
|
|
57
|
+
const action = stringValue(values, "action");
|
|
58
|
+
if (action === "build" || action === "build-run" || action === "run-project")
|
|
59
|
+
return "build";
|
|
60
|
+
if (action === "benchmark" || action === "run-benchmark")
|
|
61
|
+
return "benchmark";
|
|
62
|
+
if (action === "draft-benchmark-questions" || action === "benchmark-question-draft")
|
|
63
|
+
return "benchmark-question-draft";
|
|
64
|
+
if (action === "create-build-plan" || action === "build-plan-draft")
|
|
65
|
+
return "build-plan-draft";
|
|
66
|
+
if (action === "build-plan-duplicate" || action === "build-plan-remove" || action === "build-plan-change")
|
|
67
|
+
return "build-plan-change";
|
|
68
|
+
if (action === "project-remove" || action === "project-change")
|
|
69
|
+
return "project-change";
|
|
70
|
+
if (action === "improve-project" || action === "build-plan-improvement")
|
|
71
|
+
return "build-plan-improvement";
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
export function directServiceEndpointForAction(actionType, options) {
|
|
75
|
+
const project = options?.project?.trim() || null;
|
|
76
|
+
if (actionType === "project-setup")
|
|
77
|
+
return "/v1/projects";
|
|
78
|
+
if (actionType === "build-plan-change") {
|
|
79
|
+
return project
|
|
80
|
+
? `/v1/projects/${encodeURIComponent(project)}/build-plan-changes`
|
|
81
|
+
: "/v1/projects/<project>/build-plan-changes";
|
|
82
|
+
}
|
|
83
|
+
if (actionType === "project-change") {
|
|
84
|
+
return project
|
|
85
|
+
? `/v1/projects/${encodeURIComponent(project)}`
|
|
86
|
+
: "/v1/projects/<project>";
|
|
87
|
+
}
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
export function numberValue(values, key) {
|
|
91
|
+
const value = values?.[key];
|
|
92
|
+
return typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
93
|
+
}
|
|
94
|
+
export function benchmarkModeFromValues(values) {
|
|
95
|
+
const value = stringValue(values, "mode") ?? stringValue(values, "target");
|
|
96
|
+
return value === "source-files" || value === "context-graph" || value === "both" ? value : null;
|
|
97
|
+
}
|
|
98
|
+
export function buildPlanIdForProposal(message, values) {
|
|
99
|
+
const explicit = stringValue(values, "build_plan_id") ??
|
|
100
|
+
stringValue(values, "build_plan");
|
|
101
|
+
const fromMessage = message.match(/\b(?:create|reate|eate|draft|author|build|make)\s+(?:a\s+new\s+)?(?:interf\s+)?build\s+plan\s+([a-z0-9][a-z0-9-]{0,79})\b/i)?.[1];
|
|
102
|
+
return explicit ?? fromMessage ?? `custom-${slugFromText(message)}`;
|
|
103
|
+
}
|
|
104
|
+
export function actionValueBuildPlanIntent(values) {
|
|
105
|
+
const parsed = BuildPlanAuthoringActionValuesSchema.safeParse(values);
|
|
106
|
+
return parsed.success ? buildPlanAuthoringIntentBrief(parsed.data) : null;
|
|
107
|
+
}
|
|
108
|
+
const BUILD_PLAN_AUTHORING_INTERNAL_INSTRUCTION = /Use the attached values as the Build Plan authoring request before proposing the action\.?/gi;
|
|
109
|
+
const BUILD_PLAN_AUTHORING_LABELS = [
|
|
110
|
+
"Intent",
|
|
111
|
+
"Context Graph output",
|
|
112
|
+
"Coverage",
|
|
113
|
+
"Ready When",
|
|
114
|
+
"CLI preview",
|
|
115
|
+
];
|
|
116
|
+
function normalizeBuildPlanAuthoringText(value) {
|
|
117
|
+
return value
|
|
118
|
+
.replace(/[│]+/g, " ")
|
|
119
|
+
.replace(BUILD_PLAN_AUTHORING_INTERNAL_INSTRUCTION, " ")
|
|
120
|
+
.replace(/\s+/g, " ")
|
|
121
|
+
.trim();
|
|
122
|
+
}
|
|
123
|
+
function extractBuildPlanAuthoringSection(value, label) {
|
|
124
|
+
const otherLabels = BUILD_PLAN_AUTHORING_LABELS
|
|
125
|
+
.filter((candidate) => candidate !== label)
|
|
126
|
+
.map(escapeRegExp)
|
|
127
|
+
.join("|");
|
|
128
|
+
const match = value.match(new RegExp(`${escapeRegExp(label)}\\s*:\\s*([\\s\\S]*?)(?=\\s*(?:${otherLabels})\\s*:|$)`, "i"));
|
|
129
|
+
return match?.[1] ? normalizeBuildPlanAuthoringText(match[1]) : null;
|
|
130
|
+
}
|
|
131
|
+
function stripBuildPlanCommandPrefix(value, buildPlanId) {
|
|
132
|
+
const specific = new RegExp(`^(?:create|reate|eate|draft|author|build|make)\\s+(?:a\\s+new\\s+)?(?:interf\\s+)?build\\s+plan\\s+${escapeRegExp(buildPlanId)}\\.?\\s*`, "i");
|
|
133
|
+
const generic = /^(?:create|reate|eate|draft|author|build|make)\s+(?:a\s+new\s+)?(?:interf\s+)?build\s+plan\b[^.]{0,180}\.\s*/i;
|
|
134
|
+
const stripped = normalizeBuildPlanAuthoringText(value)
|
|
135
|
+
.replace(specific, "")
|
|
136
|
+
.replace(generic, "")
|
|
137
|
+
.trim();
|
|
138
|
+
return stripped || normalizeBuildPlanAuthoringText(value);
|
|
139
|
+
}
|
|
140
|
+
export function buildPlanAuthoringPromptFallback(message, buildPlanId) {
|
|
141
|
+
const cleaned = message
|
|
142
|
+
.replace(/[│]+/g, " ")
|
|
143
|
+
.replace(BUILD_PLAN_AUTHORING_INTERNAL_INSTRUCTION, " ")
|
|
144
|
+
.trim();
|
|
145
|
+
const agentWork = extractBuildPlanAuthoringSection(cleaned, "Intent");
|
|
146
|
+
const portableOutput = extractBuildPlanAuthoringSection(cleaned, "Context Graph output");
|
|
147
|
+
const coverageNotes = extractBuildPlanAuthoringSection(cleaned, "Coverage") ??
|
|
148
|
+
extractBuildPlanAuthoringSection(cleaned, "Ready When");
|
|
149
|
+
const lines = [
|
|
150
|
+
agentWork ? `Intent: ${stripBuildPlanCommandPrefix(agentWork, buildPlanId)}` : null,
|
|
151
|
+
portableOutput ? `Context Graph output: ${portableOutput}` : null,
|
|
152
|
+
coverageNotes ? `Coverage: ${coverageNotes}` : null,
|
|
153
|
+
].filter((line) => Boolean(line));
|
|
154
|
+
if (lines.length > 0)
|
|
155
|
+
return lines.join("\n");
|
|
156
|
+
return stripBuildPlanCommandPrefix(cleaned, buildPlanId);
|
|
157
|
+
}
|
|
158
|
+
export function buildPlanAuthoringHintFromPrompt(prompt) {
|
|
159
|
+
const plain = normalizeBuildPlanAuthoringText(prompt.replace(/\b(?:Intent|Context Graph output|Coverage|Ready When)\s*:/gi, " "));
|
|
160
|
+
if (plain.length <= 180)
|
|
161
|
+
return plain || "Custom Build Plan";
|
|
162
|
+
const clipped = plain.slice(0, 177).replace(/\s+\S*$/, "").trim();
|
|
163
|
+
return `${clipped || plain.slice(0, 177)}...`;
|
|
164
|
+
}
|
|
165
|
+
export function buildPlanLabelFromId(buildPlanId) {
|
|
166
|
+
return buildPlanId
|
|
167
|
+
.split("-")
|
|
168
|
+
.filter(Boolean)
|
|
169
|
+
.map((part) => `${part.slice(0, 1).toUpperCase()}${part.slice(1)}`)
|
|
170
|
+
.join(" ") || buildPlanId;
|
|
171
|
+
}
|
|
172
|
+
export function requireSelectedBuildPlan(project) {
|
|
173
|
+
const buildPlanId = buildPlanIdForProjectConfig(project);
|
|
174
|
+
if (buildPlanId)
|
|
175
|
+
return buildPlanId;
|
|
176
|
+
throw new Error(`Select a Build Plan for Project "${project.name}" before building it.`);
|
|
177
|
+
}
|
|
178
|
+
export function actionCommandPreview(actionType, projectName, buildPlanId, values) {
|
|
179
|
+
if (actionType === "build") {
|
|
180
|
+
const buildPlanSuffix = buildPlanId ? ` # Build Plan: ${buildPlanId}` : "";
|
|
181
|
+
return projectName
|
|
182
|
+
? `interf build ${projectName}${buildPlanSuffix}`
|
|
183
|
+
: `interf build${buildPlanSuffix}`;
|
|
184
|
+
}
|
|
185
|
+
if (actionType === "benchmark") {
|
|
186
|
+
const mode = benchmarkModeFromValues(values) ?? "both";
|
|
187
|
+
return projectName
|
|
188
|
+
? `interf benchmark ${projectName} --target ${mode}`
|
|
189
|
+
: `interf benchmark --target ${mode}`;
|
|
190
|
+
}
|
|
191
|
+
if (actionType === "benchmark-question-draft") {
|
|
192
|
+
return "interf # choose Draft benchmark questions";
|
|
193
|
+
}
|
|
194
|
+
if (actionType === "build-plan-draft" || actionType === "build-plan-improvement") {
|
|
195
|
+
return "interf plan draft";
|
|
196
|
+
}
|
|
197
|
+
return "Try: create a Project, build a Context Graph, run a benchmark, draft benchmark questions, or draft a Build Plan.";
|
|
198
|
+
}
|
|
199
|
+
export function hasContextGraphBenchmarkTarget(sourcePath, projectConfig) {
|
|
200
|
+
const projectDataDir = asProjectDataDir(sourcePath);
|
|
201
|
+
const contextGraphPath = projectConfig.latest_context_graph_run_id
|
|
202
|
+
? projectRunContextGraphPath(projectDataDir, projectConfig.latest_context_graph_run_id)
|
|
203
|
+
: projectContextGraphPath(projectDataDir, projectConfig.name);
|
|
204
|
+
if (!existsSync(contextGraphPath))
|
|
205
|
+
return false;
|
|
206
|
+
return createContextGraphTestTarget(contextGraphPath, projectConfig.name, buildPlanIdForProjectConfig(projectConfig) ?? DEFAULT_BUILD_PLAN_ID).eligible;
|
|
207
|
+
}
|
|
208
|
+
export function actionAssistantMessage(actionType, projectName, commandPreview) {
|
|
209
|
+
const projectSuffix = projectName ? ` for Project "${projectName}"` : "";
|
|
210
|
+
if (actionType === "build") {
|
|
211
|
+
return `Interf prepared a Build proposal${projectSuffix}. Approve to submit it through the local Interf service and watch the run in Interf. CLI equivalent: ${commandPreview}`;
|
|
212
|
+
}
|
|
213
|
+
if (actionType === "benchmark") {
|
|
214
|
+
return `Interf prepared a benchmark/evaluation proposal${projectSuffix}. Approve to run the requested Q&A / fact-check target. CLI equivalent: ${commandPreview}`;
|
|
215
|
+
}
|
|
216
|
+
if (actionType === "benchmark-question-draft") {
|
|
217
|
+
return `Interf prepared a proposal to draft benchmark questions${projectSuffix}. Approve to ask the configured local executor to draft saved Q&A / fact-check evaluation questions as a visible run. CLI equivalent: ${commandPreview}`;
|
|
218
|
+
}
|
|
219
|
+
if (actionType === "build-plan-draft" || actionType === "build-plan-improvement") {
|
|
220
|
+
return `Interf prepared a Build Plan proposal${projectSuffix}. Approve to draft a Build Plan as a visible run. CLI equivalent: ${commandPreview}`;
|
|
221
|
+
}
|
|
222
|
+
return "I could not map that to a safe Interf action. Ask for one action in plain English, such as create a Project, build a Context Graph, run a benchmark, draft benchmark questions, or draft a Build Plan.";
|
|
223
|
+
}
|
|
@@ -1,44 +1,47 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Pure shaping helpers used by the runtime to assemble resource payloads
|
|
3
|
-
* (
|
|
3
|
+
* (projects, Build Plans, evidence, log paths, readiness summaries) from
|
|
4
4
|
* raw state/run records. No I/O, no `this` — every input is passed in.
|
|
5
5
|
*
|
|
6
6
|
* Splitting these out keeps the runtime coordinator focused on
|
|
7
7
|
* orchestration rather than payload formatting.
|
|
8
8
|
*/
|
|
9
|
-
import { type ArtifactRef, type
|
|
10
|
-
import { type
|
|
11
|
-
import { type
|
|
9
|
+
import { type ArtifactRef, type EvidenceRecord } from "./execution/lib/schema.js";
|
|
10
|
+
import { type ContextGraphState } from "./build/state.js";
|
|
11
|
+
import { type ExecutionStageLedger } from "./build/lib/schema.js";
|
|
12
12
|
import { type Artifact, type Readiness, type VerifyTargetResult } from "../contracts/lib/schema.js";
|
|
13
13
|
import { type TestRunTargetSummary } from "./verify/lib/schema.js";
|
|
14
|
-
import { type
|
|
15
|
-
import { type BuildPlanResource, type
|
|
14
|
+
import { type ProjectConfig } from "../projects/lib/schema.js";
|
|
15
|
+
import { type BuildPlanResource, type ProjectResource } from "./schemas/index.js";
|
|
16
16
|
export declare function createRunId(prefix: "build" | "verify" | "job"): string;
|
|
17
17
|
export declare function stageArtifactRefs(stageId: string, artifacts: string[] | undefined): ArtifactRef[];
|
|
18
|
-
export declare function
|
|
18
|
+
export declare function evidenceForStage(options: {
|
|
19
19
|
runId: string;
|
|
20
20
|
stageId: string;
|
|
21
21
|
summary?: string | null;
|
|
22
|
-
stageState: NonNullable<
|
|
22
|
+
stageState: NonNullable<ContextGraphState["stages"]>[string];
|
|
23
23
|
artifacts: ArtifactRef[];
|
|
24
|
-
}):
|
|
25
|
-
export declare function logsForStageRun(stageState: NonNullable<
|
|
24
|
+
}): EvidenceRecord;
|
|
25
|
+
export declare function logsForStageRun(stageState: NonNullable<ContextGraphState["stages"]>[string] | undefined): {
|
|
26
26
|
prompt_path: string;
|
|
27
27
|
event_stream_path: string;
|
|
28
28
|
status_path: string;
|
|
29
29
|
contract_path: string;
|
|
30
30
|
} | undefined;
|
|
31
|
-
export declare function
|
|
31
|
+
export declare function logsForExecutionStageLedger(run: ExecutionStageLedger | undefined): {
|
|
32
|
+
evidence_path?: string | undefined;
|
|
32
33
|
contract_path: string;
|
|
33
34
|
status_path?: string | undefined;
|
|
34
35
|
event_stream_path?: string | undefined;
|
|
35
36
|
prompt_path?: string | undefined;
|
|
36
37
|
} | undefined;
|
|
37
|
-
export declare function
|
|
38
|
-
export declare function readinessTargetResult(summary: TestRunTargetSummary | null | undefined, currentFingerprint: string | null, readinessRunFingerprint: string | null | undefined): VerifyTargetResult | null;
|
|
38
|
+
export declare function readinessTargetResult(summary: TestRunTargetSummary | null | undefined, currentFingerprint: string | null, benchmarkRunFingerprint: string | null | undefined): VerifyTargetResult | null;
|
|
39
39
|
export declare function readinessSummaryForStatus(status: Readiness["status"]): string;
|
|
40
|
-
export declare function
|
|
41
|
-
|
|
40
|
+
export declare function buildProjectResource(project: ProjectConfig, readiness: Readiness, latestRunIds: {
|
|
41
|
+
latestBuildRunId: string | null;
|
|
42
|
+
latestContextGraphBuildRunId: string | null;
|
|
43
|
+
latestTestRunId: string | null;
|
|
44
|
+
}, sourcePath: string, configPath: string, artifacts?: ProjectResource["artifacts"], updatedAt?: string | null): ProjectResource;
|
|
42
45
|
export declare function buildBuildPlanResource(resource: {
|
|
43
46
|
id: string;
|
|
44
47
|
path: string;
|
|
@@ -48,10 +51,14 @@ export declare function buildBuildPlanResource(resource: {
|
|
|
48
51
|
label: string;
|
|
49
52
|
taskHint: string;
|
|
50
53
|
};
|
|
54
|
+
brief?: BuildPlanResource["brief"];
|
|
51
55
|
inputs?: BuildPlanResource["inputs"];
|
|
52
56
|
source_kind: "builtin" | "local";
|
|
53
57
|
built_in: boolean;
|
|
54
|
-
|
|
58
|
+
scope: "builtin" | "user" | "local";
|
|
59
|
+
created_at?: string | null;
|
|
60
|
+
updated_at?: string | null;
|
|
61
|
+
active_for_projects: string[];
|
|
55
62
|
artifacts: Artifact[];
|
|
56
63
|
stages: BuildPlanResource["stages"];
|
|
57
64
|
}): BuildPlanResource;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { buildPlanIdForProjectConfig, } from "../projects/source-config.js";
|
|
2
|
+
import { BuildPlanResourceSchema, } from "./schemas/index.js";
|
|
3
|
+
import { buildPlanContextChecks, } from "./context-checks.js";
|
|
4
4
|
export function createRunId(prefix) {
|
|
5
5
|
return `${prefix}_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 8)}`;
|
|
6
6
|
}
|
|
@@ -12,9 +12,9 @@ export function stageArtifactRefs(stageId, artifacts) {
|
|
|
12
12
|
label: path,
|
|
13
13
|
}));
|
|
14
14
|
}
|
|
15
|
-
export function
|
|
15
|
+
export function evidenceForStage(options) {
|
|
16
16
|
return {
|
|
17
|
-
id: `${options.runId}-${options.stageId}-
|
|
17
|
+
id: `${options.runId}-${options.stageId}-evidence`,
|
|
18
18
|
run_id: options.runId,
|
|
19
19
|
stage_id: options.stageId,
|
|
20
20
|
generated_at: options.stageState.finished_at ?? new Date().toISOString(),
|
|
@@ -52,7 +52,7 @@ export function logsForStageRun(stageState) {
|
|
|
52
52
|
contract_path: `.interf/runtime/logs/${runId}.stage-contract.json`,
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
|
-
export function
|
|
55
|
+
export function logsForExecutionStageLedger(run) {
|
|
56
56
|
if (!run)
|
|
57
57
|
return undefined;
|
|
58
58
|
return {
|
|
@@ -60,17 +60,18 @@ export function logsForRuntimeRun(run) {
|
|
|
60
60
|
...(run.logs?.event_stream_path ? { event_stream_path: run.logs.event_stream_path } : {}),
|
|
61
61
|
...(run.logs?.status_path ? { status_path: run.logs.status_path } : {}),
|
|
62
62
|
contract_path: run.contract_path,
|
|
63
|
+
...(run.evidence_path ? { evidence_path: run.evidence_path } : {}),
|
|
63
64
|
};
|
|
64
65
|
}
|
|
65
|
-
|
|
66
|
+
function passRate(passed, total) {
|
|
66
67
|
if (total <= 0)
|
|
67
68
|
return null;
|
|
68
69
|
return Math.round((passed / total) * 100);
|
|
69
70
|
}
|
|
70
|
-
export function readinessTargetResult(summary, currentFingerprint,
|
|
71
|
+
export function readinessTargetResult(summary, currentFingerprint, benchmarkRunFingerprint) {
|
|
71
72
|
if (!summary)
|
|
72
73
|
return null;
|
|
73
|
-
const resultFingerprint =
|
|
74
|
+
const resultFingerprint = benchmarkRunFingerprint ?? null;
|
|
74
75
|
return {
|
|
75
76
|
passed: summary.passed_cases,
|
|
76
77
|
total: summary.total_cases,
|
|
@@ -83,64 +84,70 @@ export function readinessTargetResult(summary, currentFingerprint, readinessRunF
|
|
|
83
84
|
}
|
|
84
85
|
export function readinessSummaryForStatus(status) {
|
|
85
86
|
if (status === "ready")
|
|
86
|
-
return "Ready for agent
|
|
87
|
+
return "Ready for agent task.";
|
|
87
88
|
if (status === "not-ready")
|
|
88
|
-
return "
|
|
89
|
+
return "Context Graph is missing required coverage for the agent task.";
|
|
89
90
|
if (status === "stale")
|
|
90
|
-
return "
|
|
91
|
+
return "Benchmark result is stale — saved checks have changed since.";
|
|
91
92
|
if (status === "checking")
|
|
92
|
-
return "
|
|
93
|
+
return "Benchmark checks are running.";
|
|
93
94
|
if (status === "building")
|
|
94
|
-
return "
|
|
95
|
+
return "Build is in progress.";
|
|
95
96
|
if (status === "built")
|
|
96
|
-
return "
|
|
97
|
+
return "Context Graph is built; benchmark checks have not run yet.";
|
|
97
98
|
if (status === "not-built")
|
|
98
|
-
return "
|
|
99
|
+
return "Context Graph has not been built yet.";
|
|
99
100
|
if (status === "not-configured")
|
|
100
|
-
return "
|
|
101
|
-
return "Latest
|
|
101
|
+
return "Context Graph preparation is not configured.";
|
|
102
|
+
return "Latest Build failed.";
|
|
102
103
|
}
|
|
103
|
-
export function
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
104
|
+
export function buildProjectResource(project, readiness, latestRunIds, sourcePath, configPath, artifacts = [], updatedAt = null) {
|
|
105
|
+
const buildPlanId = buildPlanIdForProjectConfig(project);
|
|
106
|
+
const { latestBuildRunId, latestContextGraphBuildRunId, latestTestRunId, } = latestRunIds;
|
|
107
|
+
// Inputs are already contract-typed (ProjectConfig, Readiness, ArtifactStatus[]),
|
|
108
|
+
// so re-parsing the assembled object through ProjectResourceSchema can't catch
|
|
109
|
+
// any error the type checker doesn't already catch. Return a typed literal.
|
|
110
|
+
return {
|
|
111
|
+
id: project.name,
|
|
112
|
+
name: project.name,
|
|
113
|
+
source: {
|
|
114
|
+
kind: "local-folder",
|
|
115
|
+
locator: sourcePath,
|
|
116
|
+
},
|
|
117
|
+
intent: project.intent ?? "",
|
|
118
|
+
config: project,
|
|
119
|
+
config_path: configPath,
|
|
120
|
+
source_path: sourcePath,
|
|
121
|
+
updated_at: updatedAt,
|
|
116
122
|
build_plan_id: buildPlanId,
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
path: readiness.verifiable_context_path,
|
|
123
|
-
exists: readiness.verifiable_context_path !== null,
|
|
123
|
+
context_graph: {
|
|
124
|
+
project: project.name,
|
|
125
|
+
path: readiness.context_graph_path,
|
|
126
|
+
exists: readiness.context_graph_path !== null,
|
|
127
|
+
intent: project.intent ?? "",
|
|
124
128
|
build_plan_id: buildPlanId,
|
|
125
|
-
latest_build_run_id:
|
|
126
|
-
|
|
129
|
+
latest_build_run_id: latestContextGraphBuildRunId,
|
|
130
|
+
latest_benchmark_run_id: latestTestRunId,
|
|
127
131
|
},
|
|
128
|
-
|
|
129
|
-
readiness
|
|
132
|
+
context_graph_path: readiness.context_graph_path,
|
|
133
|
+
readiness,
|
|
130
134
|
runs: {
|
|
131
135
|
latest_build_run_id: latestBuildRunId,
|
|
132
|
-
|
|
136
|
+
latest_benchmark_run_id: latestTestRunId,
|
|
133
137
|
},
|
|
134
138
|
latest_build_run_id: latestBuildRunId,
|
|
135
|
-
|
|
139
|
+
latest_benchmark_run_id: latestTestRunId,
|
|
136
140
|
artifacts,
|
|
137
|
-
}
|
|
141
|
+
};
|
|
138
142
|
}
|
|
139
143
|
export function buildBuildPlanResource(resource) {
|
|
140
144
|
return BuildPlanResourceSchema.parse({
|
|
141
145
|
id: resource.id,
|
|
142
146
|
build_plan_id: resource.id,
|
|
143
147
|
path: resource.path,
|
|
148
|
+
scope: resource.scope,
|
|
149
|
+
created_at: resource.created_at ?? null,
|
|
150
|
+
updated_at: resource.updated_at ?? null,
|
|
144
151
|
...(resource.label ? { label: resource.label } : {}),
|
|
145
152
|
...(resource.hint ? { hint: resource.hint } : {}),
|
|
146
153
|
...(resource.purpose
|
|
@@ -151,10 +158,15 @@ export function buildBuildPlanResource(resource) {
|
|
|
151
158
|
},
|
|
152
159
|
}
|
|
153
160
|
: {}),
|
|
161
|
+
...(resource.brief ? { brief: resource.brief } : {}),
|
|
154
162
|
inputs: resource.inputs ?? [],
|
|
155
163
|
source_kind: resource.source_kind,
|
|
156
164
|
built_in: resource.built_in,
|
|
157
|
-
|
|
165
|
+
active_for_projects: resource.active_for_projects,
|
|
166
|
+
context_checks: buildPlanContextChecks({
|
|
167
|
+
brief: resource.brief ?? null,
|
|
168
|
+
artifacts: resource.artifacts,
|
|
169
|
+
}),
|
|
158
170
|
artifacts: resource.artifacts,
|
|
159
171
|
stages: resource.stages,
|
|
160
172
|
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { LocalJobStatus } from "./schemas/jobs.js";
|
|
2
|
+
/**
|
|
3
|
+
* Single source of truth for the terminal-status three-state check.
|
|
4
|
+
*
|
|
5
|
+
* A Run/Job is terminal when it has reached `succeeded`, `failed`, or
|
|
6
|
+
* `cancelled` — the same set across every record model (LocalJobRun,
|
|
7
|
+
* BuildRun, VerifyRun), all of which share the canonical run-status enum
|
|
8
|
+
* (`RunStatusSchema` in `schemas/jobs.ts`, re-aliased as
|
|
9
|
+
* `BuildRunStatusSchema`/`VerifyRunStatusSchema`).
|
|
10
|
+
*
|
|
11
|
+
* Accepts a plain `string` so callers that only have a wire-level status
|
|
12
|
+
* string can reuse the same predicate without re-implementing it.
|
|
13
|
+
*/
|
|
14
|
+
export declare function isTerminalStatus(status: LocalJobStatus | string): boolean;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single source of truth for the terminal-status three-state check.
|
|
3
|
+
*
|
|
4
|
+
* A Run/Job is terminal when it has reached `succeeded`, `failed`, or
|
|
5
|
+
* `cancelled` — the same set across every record model (LocalJobRun,
|
|
6
|
+
* BuildRun, VerifyRun), all of which share the canonical run-status enum
|
|
7
|
+
* (`RunStatusSchema` in `schemas/jobs.ts`, re-aliased as
|
|
8
|
+
* `BuildRunStatusSchema`/`VerifyRunStatusSchema`).
|
|
9
|
+
*
|
|
10
|
+
* Accepts a plain `string` so callers that only have a wire-level status
|
|
11
|
+
* string can reuse the same predicate without re-implementing it.
|
|
12
|
+
*/
|
|
13
|
+
export function isTerminalStatus(status) {
|
|
14
|
+
return status === "succeeded" || status === "failed" || status === "cancelled";
|
|
15
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { type ResolvedRegistry } from "./agents/registry.js";
|
|
2
|
+
import { type VerifyRunResource } from "./schemas/index.js";
|
|
3
|
+
import type { InterfRunEvent } from "./execution/lib/schema.js";
|
|
4
|
+
import type { Readiness } from "../contracts/lib/schema.js";
|
|
5
|
+
import type { LocalServiceRuntime } from "./runtime.js";
|
|
6
|
+
export declare function benchmarkFanoutAgentNames(registry: Pick<ResolvedRegistry, "agents">): string[];
|
|
7
|
+
export declare function latestTopLevelVerifyRun(runs: VerifyRunResource[]): VerifyRunResource | null;
|
|
8
|
+
export declare function summarizeVerifyBatch(childRunIds: string[], children: VerifyRunResource[]): NonNullable<VerifyRunResource["batch"]>;
|
|
9
|
+
export declare function listVerifyRuns(runtime: LocalServiceRuntime, projectDataDir: string): VerifyRunResource[];
|
|
10
|
+
export declare function listVerifyRunsForProject(runtime: LocalServiceRuntime, projectDataDir: string, projectName: string): VerifyRunResource[];
|
|
11
|
+
export declare function getVerifyRun(runtime: LocalServiceRuntime, projectDataDir: string, runId: string): VerifyRunResource | null;
|
|
12
|
+
export declare function createVerifyRun(runtime: LocalServiceRuntime, projectDataDir: string, requestValue: unknown): Promise<VerifyRunResource>;
|
|
13
|
+
export declare function createVerifyRunForRegistry(runtime: LocalServiceRuntime, projectDataDir: string, requestValue: unknown, registry: Pick<ResolvedRegistry, "agents">): Promise<VerifyRunResource>;
|
|
14
|
+
export declare function writeVerifyRun(runtime: LocalServiceRuntime, projectDataDir: string, contextGraphPath: string, run: VerifyRunResource): void;
|
|
15
|
+
export declare function readLatestBenchmarkRun(projectDataDir: string, projectName: string): {
|
|
16
|
+
kind: "interf-benchmark-run";
|
|
17
|
+
version: 1;
|
|
18
|
+
generated_at: string;
|
|
19
|
+
mode: "source-files" | "context-graph" | "both";
|
|
20
|
+
source_path: string;
|
|
21
|
+
project: {
|
|
22
|
+
name: string;
|
|
23
|
+
context_graph_path: string | null;
|
|
24
|
+
};
|
|
25
|
+
source_files: {
|
|
26
|
+
label: string;
|
|
27
|
+
run_path: string;
|
|
28
|
+
ok: boolean;
|
|
29
|
+
passed_cases: number;
|
|
30
|
+
total_cases: number;
|
|
31
|
+
passed_checks: number;
|
|
32
|
+
total_checks: number;
|
|
33
|
+
source_usage: "unknown" | "source-baseline" | "graph-only" | "graph-source-verified";
|
|
34
|
+
target: {
|
|
35
|
+
type: "source-files" | "context-graph";
|
|
36
|
+
name: string;
|
|
37
|
+
path: string;
|
|
38
|
+
build_plan: string;
|
|
39
|
+
};
|
|
40
|
+
executor?: {
|
|
41
|
+
kind: "local-agent" | "connected-provider" | "managed";
|
|
42
|
+
name: string;
|
|
43
|
+
display_name: string;
|
|
44
|
+
command: string | null;
|
|
45
|
+
model?: string | null | undefined;
|
|
46
|
+
effort?: string | null | undefined;
|
|
47
|
+
profile?: string | null | undefined;
|
|
48
|
+
timeout_ms?: number | null | undefined;
|
|
49
|
+
} | null | undefined;
|
|
50
|
+
} | null;
|
|
51
|
+
context_graph: {
|
|
52
|
+
label: string;
|
|
53
|
+
run_path: string;
|
|
54
|
+
ok: boolean;
|
|
55
|
+
passed_cases: number;
|
|
56
|
+
total_cases: number;
|
|
57
|
+
passed_checks: number;
|
|
58
|
+
total_checks: number;
|
|
59
|
+
source_usage: "unknown" | "source-baseline" | "graph-only" | "graph-source-verified";
|
|
60
|
+
target: {
|
|
61
|
+
type: "source-files" | "context-graph";
|
|
62
|
+
name: string;
|
|
63
|
+
path: string;
|
|
64
|
+
build_plan: string;
|
|
65
|
+
};
|
|
66
|
+
executor?: {
|
|
67
|
+
kind: "local-agent" | "connected-provider" | "managed";
|
|
68
|
+
name: string;
|
|
69
|
+
display_name: string;
|
|
70
|
+
command: string | null;
|
|
71
|
+
model?: string | null | undefined;
|
|
72
|
+
effort?: string | null | undefined;
|
|
73
|
+
profile?: string | null | undefined;
|
|
74
|
+
timeout_ms?: number | null | undefined;
|
|
75
|
+
} | null | undefined;
|
|
76
|
+
} | null;
|
|
77
|
+
summary: {
|
|
78
|
+
source_files_pass_rate: number | null;
|
|
79
|
+
context_graph_pass_rate: number | null;
|
|
80
|
+
};
|
|
81
|
+
checks_fingerprint?: string | undefined;
|
|
82
|
+
} | null;
|
|
83
|
+
export declare function checksEvaluatedEvent(runId: string, benchmarkRun: NonNullable<ReturnType<typeof readLatestBenchmarkRun>>): InterfRunEvent;
|
|
84
|
+
export declare function readinessUpdatedEvent(runId: string, project: string, readiness: Readiness): InterfRunEvent;
|