@interf/compiler 0.21.0 → 0.22.2
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 +65 -63
- package/dist/cli/commands/build-plan.d.ts +2 -0
- package/dist/cli/commands/{method.js → build-plan.js} +89 -72
- package/dist/cli/commands/{compile.d.ts → build.d.ts} +2 -2
- package/dist/cli/commands/{compile.js → build.js} +18 -18
- package/dist/cli/commands/doctor.js +2 -2
- package/dist/cli/commands/mcp.js +48 -48
- package/dist/cli/commands/prep.js +16 -29
- package/dist/cli/commands/reset.d.ts +1 -1
- package/dist/cli/commands/reset.js +6 -6
- package/dist/cli/commands/runs.js +6 -28
- package/dist/cli/commands/status.js +1 -1
- package/dist/cli/commands/test.d.ts +1 -1
- package/dist/cli/commands/test.js +8 -8
- package/dist/cli/commands/web.js +3 -3
- package/dist/cli/commands/wizard.js +38 -38
- package/dist/cli/index.d.ts +3 -3
- package/dist/cli/index.js +5 -5
- package/dist/interf-ui/404.html +1 -0
- package/dist/interf-ui/__next.__PAGE__.txt +10 -0
- package/dist/interf-ui/__next._full.txt +20 -0
- package/dist/interf-ui/__next._head.txt +5 -0
- package/dist/interf-ui/__next._index.txt +5 -0
- package/dist/{compiler-ui → interf-ui}/__next._tree.txt +3 -4
- package/dist/interf-ui/_next/static/chunks/0.tjb6f4golw..css +3 -0
- package/dist/interf-ui/_next/static/chunks/085-n_jv2ng_q.css +1 -0
- package/dist/interf-ui/_next/static/chunks/0dn41fa_zvgsl.js +1 -0
- package/dist/interf-ui/_next/static/chunks/0g-ea0zj5d-0k.js +1 -0
- package/dist/interf-ui/_next/static/chunks/0gwqglc4iz583.js +1 -0
- package/dist/interf-ui/_next/static/chunks/0haldgm65ve6l.js +1 -0
- package/dist/interf-ui/_next/static/chunks/0nv3am99vjzn4.js +1 -0
- package/dist/{compiler-ui/_next/static/chunks/02f_.8.ebn556.js → interf-ui/_next/static/chunks/0s77gt_o4jwtx.js} +1 -1
- package/dist/interf-ui/_next/static/chunks/0~a36ujuzpaz..js +116 -0
- package/dist/interf-ui/_next/static/chunks/10jeodxe4nkgj.js +31 -0
- package/dist/interf-ui/_next/static/chunks/119h2rouych2t.js +1 -0
- package/dist/interf-ui/_next/static/chunks/13c8b~m8knjsf.js +1 -0
- package/dist/interf-ui/_next/static/chunks/14dznb2qpt-ho.js +91 -0
- package/dist/interf-ui/_next/static/chunks/15z_en80lrq-3.js +5 -0
- package/dist/{compiler-ui/_next/static/chunks/turbopack-0apv8vb-nczuy.js → interf-ui/_next/static/chunks/turbopack-0p.pvcjrtq-jh.js} +1 -1
- package/dist/interf-ui/_next/static/chunks/turbopack-0usj_75.8frlw.js +1 -0
- package/dist/interf-ui/_not-found/__next._full.txt +15 -0
- package/dist/interf-ui/_not-found/__next._head.txt +5 -0
- package/dist/interf-ui/_not-found/__next._index.txt +5 -0
- package/dist/{compiler-ui → interf-ui}/_not-found/__next._not-found.__PAGE__.txt +2 -2
- package/dist/interf-ui/_not-found/__next._not-found.txt +5 -0
- package/dist/{compiler-ui → interf-ui}/_not-found/__next._tree.txt +2 -3
- package/dist/interf-ui/_not-found.html +1 -0
- package/dist/interf-ui/_not-found.txt +15 -0
- package/dist/interf-ui/index.html +1 -0
- package/dist/interf-ui/index.txt +20 -0
- package/dist/packages/build-plans/authoring/build-plan-authoring.d.ts +36 -0
- package/dist/packages/{methods/authoring/method-authoring.js → build-plans/authoring/build-plan-authoring.js} +52 -52
- package/dist/packages/build-plans/authoring/build-plan-edit-session.d.ts +18 -0
- package/dist/packages/{methods/authoring/method-edit-session.js → build-plans/authoring/build-plan-edit-session.js} +34 -34
- package/dist/packages/build-plans/authoring/build-plan-improvement.d.ts +23 -0
- package/dist/packages/build-plans/authoring/build-plan-improvement.js +216 -0
- package/dist/packages/build-plans/authoring/index.d.ts +4 -0
- package/dist/packages/build-plans/authoring/index.js +4 -0
- package/dist/packages/{methods/authoring/lib/method-edit-utils.d.ts → build-plans/authoring/lib/build-plan-edit-utils.d.ts} +3 -3
- package/dist/packages/build-plans/build-plan-resolution.d.ts +6 -0
- package/dist/packages/build-plans/build-plan-resolution.js +7 -0
- package/dist/packages/build-plans/index.d.ts +2 -0
- package/dist/packages/build-plans/index.js +2 -0
- package/dist/packages/build-plans/package/build-plan-definitions.d.ts +61 -0
- package/dist/packages/build-plans/package/build-plan-definitions.js +214 -0
- package/dist/packages/{methods/package/method-helpers.d.ts → build-plans/package/build-plan-helpers.d.ts} +7 -7
- package/dist/packages/{methods/package/method-helpers.js → build-plans/package/build-plan-helpers.js} +20 -20
- package/dist/packages/build-plans/package/build-plan-review-paths.d.ts +10 -0
- package/dist/packages/build-plans/package/build-plan-review-paths.js +31 -0
- package/dist/packages/{methods/package/method-stage-runner.d.ts → build-plans/package/build-plan-stage-runner.d.ts} +12 -12
- package/dist/packages/{methods/package/method-stage-runner.js → build-plans/package/build-plan-stage-runner.js} +10 -10
- package/dist/packages/build-plans/package/builtin-build-plan.d.ts +37 -0
- package/dist/packages/build-plans/package/builtin-build-plan.js +91 -0
- package/dist/packages/{methods → build-plans}/package/context-interface.d.ts +11 -11
- package/dist/packages/{methods → build-plans}/package/context-interface.js +23 -23
- package/dist/packages/build-plans/package/interf-build-plan-package.d.ts +31 -0
- package/dist/packages/build-plans/package/interf-build-plan-package.js +466 -0
- package/dist/packages/{methods → build-plans}/package/lib/package-root.js +1 -1
- package/dist/packages/build-plans/package/local-build-plans.d.ts +74 -0
- package/dist/packages/{methods/package/local-methods.js → build-plans/package/local-build-plans.js} +152 -152
- package/dist/packages/build-plans/package/user-build-plans.d.ts +17 -0
- package/dist/packages/build-plans/package/user-build-plans.js +77 -0
- package/dist/packages/contracts/index.d.ts +1 -1
- package/dist/packages/contracts/lib/preparation-paths.d.ts +37 -37
- package/dist/packages/contracts/lib/preparation-paths.js +43 -43
- package/dist/packages/contracts/lib/schema.d.ts +34 -41
- package/dist/packages/contracts/lib/schema.js +42 -34
- package/dist/packages/engine/action-definitions.d.ts +60 -60
- package/dist/packages/engine/action-definitions.js +198 -197
- package/dist/packages/engine/action-planner.d.ts +2 -2
- package/dist/packages/engine/action-planner.js +5 -5
- package/dist/packages/engine/action-values.d.ts +1 -1
- package/dist/packages/engine/action-values.js +1 -1
- package/dist/packages/engine/agents/index.d.ts +2 -2
- package/dist/packages/engine/agents/index.js +1 -1
- package/dist/packages/engine/agents/lib/args.d.ts +2 -2
- package/dist/packages/engine/agents/lib/args.js +1 -1
- package/dist/packages/engine/agents/lib/constants.js +1 -1
- package/dist/packages/engine/agents/lib/execution-profile.d.ts +5 -5
- package/dist/packages/engine/agents/lib/execution-profile.js +3 -3
- package/dist/packages/engine/agents/lib/executors.d.ts +11 -11
- package/dist/packages/engine/agents/lib/render.js +4 -4
- package/dist/packages/engine/agents/lib/shells.d.ts +30 -30
- package/dist/packages/engine/agents/lib/shells.js +248 -248
- package/dist/packages/engine/agents/lib/types.d.ts +2 -2
- package/dist/packages/engine/agents/lib/verifiable-context-bootstrap.d.ts +3 -0
- package/dist/packages/engine/agents/lib/verifiable-context-bootstrap.js +19 -0
- package/dist/packages/engine/agents/role-executors.d.ts +7 -7
- package/dist/packages/engine/agents/role-executors.js +2 -2
- package/dist/packages/engine/agents/role-router.d.ts +2 -2
- package/dist/packages/engine/agents/role-router.js +1 -1
- package/dist/packages/engine/build/artifact-counts.d.ts +1 -0
- package/dist/packages/engine/{compile → build}/artifact-counts.js +7 -7
- package/dist/packages/engine/{compile → build}/artifact-status.d.ts +8 -8
- package/dist/packages/engine/{compile → build}/artifact-status.js +19 -19
- package/dist/packages/engine/{compile → build}/billing-events.d.ts +4 -4
- package/dist/packages/engine/{compile → build}/billing-events.js +4 -4
- package/dist/packages/engine/build/build-execution.d.ts +4 -0
- package/dist/packages/engine/build/build-execution.js +4 -0
- package/dist/packages/engine/build/build-pipeline.d.ts +56 -0
- package/dist/packages/engine/{compile/compiled-pipeline.js → build/build-pipeline.js} +55 -55
- package/dist/packages/engine/build/build-plan-primitives.d.ts +2 -0
- package/dist/packages/engine/{compile/method-primitives.js → build/build-plan-primitives.js} +1 -1
- package/dist/packages/engine/build/build-plan-runs.d.ts +14 -0
- package/dist/packages/engine/build/build-plan-runs.js +31 -0
- package/dist/packages/engine/build/build-stage-plan.d.ts +16 -0
- package/dist/packages/engine/build/build-stage-plan.js +100 -0
- package/dist/packages/engine/build/build-stage-runner.d.ts +15 -0
- package/dist/packages/engine/{compile/compiled-stage-runner.js → build/build-stage-runner.js} +21 -21
- package/dist/packages/engine/build/build-target.d.ts +11 -0
- package/dist/packages/engine/build/build-target.js +16 -0
- package/dist/packages/engine/{compile → build}/check-evaluator.d.ts +4 -4
- package/dist/packages/engine/{compile → build}/check-evaluator.js +1 -1
- package/dist/packages/engine/{compile → build}/discovery.d.ts +2 -2
- package/dist/packages/engine/{compile → build}/discovery.js +4 -4
- package/dist/packages/engine/{compile → build}/index.d.ts +6 -6
- package/dist/packages/engine/{compile → build}/index.js +5 -5
- package/dist/packages/engine/{compile → build}/lib/schema.d.ts +79 -79
- package/dist/packages/engine/{compile → build}/lib/schema.js +71 -71
- package/dist/packages/engine/build/reset.d.ts +2 -0
- package/dist/packages/engine/build/reset.js +74 -0
- package/dist/packages/engine/{compile → build}/runtime-contracts.js +8 -8
- package/dist/packages/engine/build/runtime-inventory.d.ts +7 -0
- package/dist/packages/engine/{compile → build}/runtime-inventory.js +8 -8
- package/dist/packages/engine/{compile → build}/runtime-paths.js +6 -6
- package/dist/packages/engine/{compile → build}/runtime-prompt.js +11 -11
- package/dist/packages/engine/build/runtime-reconcile.d.ts +2 -0
- package/dist/packages/engine/{compile → build}/runtime-reconcile.js +18 -18
- package/dist/packages/engine/{compile → build}/runtime-runs.js +27 -27
- package/dist/packages/engine/{compile → build}/runtime-types.d.ts +10 -10
- package/dist/packages/engine/build/source-files.d.ts +46 -0
- package/dist/packages/engine/{compile → build}/source-files.js +32 -32
- package/dist/packages/engine/build/state-artifacts.d.ts +9 -0
- package/dist/packages/engine/build/state-artifacts.js +14 -0
- package/dist/packages/engine/build/state-health.d.ts +4 -0
- package/dist/packages/engine/{compile → build}/state-health.js +40 -40
- package/dist/packages/engine/build/state-io.d.ts +11 -0
- package/dist/packages/engine/{compile → build}/state-io.js +22 -22
- package/dist/packages/engine/build/state-paths.js +16 -0
- package/dist/packages/engine/build/state-view.d.ts +5 -0
- package/dist/packages/engine/{compile → build}/state-view.js +29 -29
- package/dist/packages/engine/build/state.d.ts +7 -0
- package/dist/packages/engine/build/state.js +12 -0
- package/dist/packages/engine/build/validate-verifiable-context.d.ts +27 -0
- package/dist/packages/engine/{compile/validate-compiled.js → build/validate-verifiable-context.js} +73 -73
- package/dist/packages/engine/{compile → build}/validate.d.ts +4 -4
- package/dist/packages/engine/{compile → build}/validate.js +27 -27
- package/dist/packages/engine/build/verifiable-context-paths.d.ts +47 -0
- package/dist/packages/engine/build/verifiable-context-paths.js +121 -0
- package/dist/packages/engine/build/verifiable-context-schema.d.ts +21 -0
- package/dist/packages/engine/build/verifiable-context-schema.js +126 -0
- package/dist/packages/engine/client.d.ts +16 -16
- package/dist/packages/engine/client.js +21 -21
- package/dist/packages/engine/cloud-seams.d.ts +3 -3
- package/dist/packages/engine/execution/index.d.ts +2 -2
- package/dist/packages/engine/execution/index.js +1 -1
- package/dist/packages/engine/execution/lib/schema.d.ts +90 -95
- package/dist/packages/engine/execution/lib/schema.js +31 -31
- package/dist/packages/engine/index.d.ts +7 -7
- package/dist/packages/engine/index.js +3 -3
- package/dist/packages/engine/instance-paths.d.ts +39 -39
- package/dist/packages/engine/instance-paths.js +48 -48
- package/dist/packages/engine/lib/schema.d.ts +900 -472
- package/dist/packages/engine/lib/schema.js +137 -153
- package/dist/packages/engine/native-run-handlers.d.ts +12 -12
- package/dist/packages/engine/native-run-handlers.js +135 -135
- package/dist/packages/engine/preparation-store.d.ts +22 -23
- package/dist/packages/engine/preparation-store.js +30 -31
- package/dist/packages/engine/readiness-check-draft.d.ts +2 -2
- package/dist/packages/engine/readiness-check-draft.js +1 -1
- package/dist/packages/engine/requested-artifacts.d.ts +2 -2
- package/dist/packages/engine/routes.d.ts +18 -17
- package/dist/packages/engine/routes.js +20 -19
- package/dist/packages/engine/run-observability.d.ts +5 -3
- package/dist/packages/engine/run-observability.js +101 -89
- package/dist/packages/engine/runtime-caches.d.ts +16 -16
- package/dist/packages/engine/runtime-caches.js +26 -26
- package/dist/packages/engine/runtime-event-applier.d.ts +2 -2
- package/dist/packages/engine/runtime-event-applier.js +1 -1
- package/dist/packages/engine/runtime-persistence.d.ts +9 -9
- package/dist/packages/engine/runtime-persistence.js +16 -16
- package/dist/packages/engine/runtime-proposal-helpers.d.ts +14 -14
- package/dist/packages/engine/runtime-proposal-helpers.js +78 -80
- package/dist/packages/engine/runtime-resource-builders.d.ts +12 -12
- package/dist/packages/engine/runtime-resource-builders.js +19 -19
- package/dist/packages/engine/runtime.d.ts +52 -61
- package/dist/packages/engine/runtime.js +440 -463
- package/dist/packages/engine/server.d.ts +2 -2
- package/dist/packages/engine/server.js +147 -116
- package/dist/packages/engine/service-registry.d.ts +5 -17
- package/dist/packages/engine/service-registry.js +5 -20
- package/dist/packages/engine/verify/lib/schema.d.ts +19 -19
- package/dist/packages/engine/verify/lib/schema.js +36 -8
- package/dist/packages/engine/verify/readiness-check-run.d.ts +15 -16
- package/dist/packages/engine/verify/readiness-check-run.js +46 -46
- package/dist/packages/engine/verify/verify-execution.d.ts +3 -3
- package/dist/packages/engine/verify/verify-execution.js +10 -10
- package/dist/packages/engine/verify/verify-paths.d.ts +4 -4
- package/dist/packages/engine/verify/verify-paths.js +17 -17
- package/dist/packages/engine/verify/verify-sandbox.d.ts +1 -1
- package/dist/packages/engine/verify/verify-sandbox.js +26 -26
- package/dist/packages/engine/verify/verify-targets.d.ts +2 -2
- package/dist/packages/engine/verify/verify-targets.js +17 -17
- package/dist/packages/engine/verify/verify-types.d.ts +2 -2
- package/dist/packages/engine/verify/verify.d.ts +1 -1
- package/dist/packages/engine/verify/verify.js +1 -1
- package/dist/packages/engine/wire-schemas.d.ts +38 -40
- package/dist/packages/engine/wire-schemas.js +13 -13
- package/dist/packages/project/index.d.ts +1 -1
- package/dist/packages/project/interf-bootstrap.d.ts +1 -1
- package/dist/packages/project/interf-bootstrap.js +1 -1
- package/dist/packages/project/interf-detect.d.ts +11 -11
- package/dist/packages/project/interf-detect.js +30 -30
- package/dist/packages/project/interf-scaffold.d.ts +3 -3
- package/dist/packages/project/interf-scaffold.js +72 -72
- package/dist/packages/project/interf.d.ts +4 -4
- package/dist/packages/project/interf.js +3 -3
- package/dist/packages/project/lib/schema.d.ts +12 -12
- package/dist/packages/project/lib/schema.js +14 -14
- package/dist/packages/project/preparation-entries.d.ts +3 -3
- package/dist/packages/project/preparation-entries.js +19 -19
- package/dist/packages/project/source-config.d.ts +10 -10
- package/dist/packages/project/source-config.js +58 -58
- package/package.json +15 -15
- package/public-repo/CONTRIBUTING.md +12 -12
- package/public-repo/README.md +65 -63
- package/public-repo/SECURITY.md +3 -3
- package/public-repo/build-plans/interf-default/README.md +33 -0
- package/public-repo/{methods/interf-default/compile → build-plans/interf-default/build}/stages/shape/SKILL.md +10 -10
- package/public-repo/{methods/interf-default/compile → build-plans/interf-default/build}/stages/structure/SKILL.md +2 -2
- package/public-repo/{methods/interf-default/compile → build-plans/interf-default/build}/stages/summarize/SKILL.md +1 -1
- package/public-repo/{methods/interf-default/method.json → build-plans/interf-default/build-plan.json} +15 -15
- package/public-repo/{methods/interf-default/method.schema.json → build-plans/interf-default/build-plan.schema.json} +4 -4
- package/public-repo/build-plans/interf-default/improve/SKILL.md +18 -0
- package/public-repo/{methods → build-plans}/interf-default/use/query/SKILL.md +6 -6
- package/public-repo/plugins/README.md +1 -1
- package/public-repo/plugins/interf/.claude-plugin/plugin.json +3 -3
- package/public-repo/plugins/interf/README.md +4 -1
- package/public-repo/plugins/interf/skills/interf/SKILL.md +189 -290
- package/public-repo/skills/interf/SKILL.md +189 -290
- package/LICENSE.md +0 -1
- package/TRADEMARKS.md +0 -8
- package/dist/cli/commands/method.d.ts +0 -2
- package/dist/compiler-ui/404.html +0 -1
- package/dist/compiler-ui/__next.__PAGE__.txt +0 -10
- package/dist/compiler-ui/__next._full.txt +0 -21
- package/dist/compiler-ui/__next._head.txt +0 -5
- package/dist/compiler-ui/__next._index.txt +0 -6
- package/dist/compiler-ui/_next/static/chunks/01646j7yi.w5a.css +0 -1
- package/dist/compiler-ui/_next/static/chunks/02r7siaw-_p5w.js +0 -1
- package/dist/compiler-ui/_next/static/chunks/04d0ly-7xb~-j.js +0 -91
- package/dist/compiler-ui/_next/static/chunks/0fhs9psnxqd8s.js +0 -1
- package/dist/compiler-ui/_next/static/chunks/0mssmhpbifj15.css +0 -2
- package/dist/compiler-ui/_next/static/chunks/0nypu~ddwxari.js +0 -116
- package/dist/compiler-ui/_next/static/chunks/0p3s8iyhgcww2.js +0 -31
- package/dist/compiler-ui/_next/static/chunks/0tjf-vu_rz8s0.css +0 -1
- package/dist/compiler-ui/_next/static/chunks/0u6p3fpbbfgtl.js +0 -1
- package/dist/compiler-ui/_next/static/chunks/0wpx5..8dnh0w.js +0 -1
- package/dist/compiler-ui/_next/static/chunks/0y0uj160p0ts~.js +0 -1
- package/dist/compiler-ui/_next/static/chunks/10t8l~_oenf.c.js +0 -1
- package/dist/compiler-ui/_next/static/chunks/13gz9e7z~imx1.js +0 -5
- package/dist/compiler-ui/_next/static/chunks/156xed-b6czaw.js +0 -1
- package/dist/compiler-ui/_next/static/chunks/turbopack-02-3e_c-yz~5g.js +0 -1
- package/dist/compiler-ui/_not-found/__next._full.txt +0 -16
- package/dist/compiler-ui/_not-found/__next._head.txt +0 -5
- package/dist/compiler-ui/_not-found/__next._index.txt +0 -6
- package/dist/compiler-ui/_not-found/__next._not-found.txt +0 -5
- package/dist/compiler-ui/_not-found.html +0 -1
- package/dist/compiler-ui/_not-found.txt +0 -16
- package/dist/compiler-ui/index.html +0 -1
- package/dist/compiler-ui/index.txt +0 -21
- package/dist/packages/engine/agents/lib/compiled-bootstrap.d.ts +0 -3
- package/dist/packages/engine/agents/lib/compiled-bootstrap.js +0 -19
- package/dist/packages/engine/compile/artifact-counts.d.ts +0 -1
- package/dist/packages/engine/compile/compiled-compile.d.ts +0 -4
- package/dist/packages/engine/compile/compiled-compile.js +0 -4
- package/dist/packages/engine/compile/compiled-paths.d.ts +0 -47
- package/dist/packages/engine/compile/compiled-paths.js +0 -121
- package/dist/packages/engine/compile/compiled-pipeline.d.ts +0 -56
- package/dist/packages/engine/compile/compiled-schema.d.ts +0 -21
- package/dist/packages/engine/compile/compiled-schema.js +0 -126
- package/dist/packages/engine/compile/compiled-stage-plan.d.ts +0 -16
- package/dist/packages/engine/compile/compiled-stage-plan.js +0 -100
- package/dist/packages/engine/compile/compiled-stage-runner.d.ts +0 -15
- package/dist/packages/engine/compile/compiled-target.d.ts +0 -11
- package/dist/packages/engine/compile/compiled-target.js +0 -16
- package/dist/packages/engine/compile/method-primitives.d.ts +0 -2
- package/dist/packages/engine/compile/method-runs.d.ts +0 -14
- package/dist/packages/engine/compile/method-runs.js +0 -31
- package/dist/packages/engine/compile/reset.d.ts +0 -2
- package/dist/packages/engine/compile/reset.js +0 -74
- package/dist/packages/engine/compile/runtime-inventory.d.ts +0 -7
- package/dist/packages/engine/compile/runtime-reconcile.d.ts +0 -2
- package/dist/packages/engine/compile/source-files.d.ts +0 -46
- package/dist/packages/engine/compile/state-artifacts.d.ts +0 -9
- package/dist/packages/engine/compile/state-artifacts.js +0 -14
- package/dist/packages/engine/compile/state-health.d.ts +0 -4
- package/dist/packages/engine/compile/state-io.d.ts +0 -11
- package/dist/packages/engine/compile/state-paths.js +0 -16
- package/dist/packages/engine/compile/state-view.d.ts +0 -5
- package/dist/packages/engine/compile/state.d.ts +0 -7
- package/dist/packages/engine/compile/state.js +0 -12
- package/dist/packages/engine/compile/validate-compiled.d.ts +0 -27
- package/dist/packages/methods/authoring/index.d.ts +0 -4
- package/dist/packages/methods/authoring/index.js +0 -4
- package/dist/packages/methods/authoring/method-authoring.d.ts +0 -36
- package/dist/packages/methods/authoring/method-edit-session.d.ts +0 -18
- package/dist/packages/methods/authoring/method-improvement.d.ts +0 -23
- package/dist/packages/methods/authoring/method-improvement.js +0 -217
- package/dist/packages/methods/index.d.ts +0 -2
- package/dist/packages/methods/index.js +0 -2
- package/dist/packages/methods/method-resolution.d.ts +0 -6
- package/dist/packages/methods/method-resolution.js +0 -7
- package/dist/packages/methods/package/builtin-compiled-method.d.ts +0 -37
- package/dist/packages/methods/package/builtin-compiled-method.js +0 -91
- package/dist/packages/methods/package/interf-method-package.d.ts +0 -31
- package/dist/packages/methods/package/interf-method-package.js +0 -466
- package/dist/packages/methods/package/local-methods.d.ts +0 -74
- package/dist/packages/methods/package/method-definitions.d.ts +0 -61
- package/dist/packages/methods/package/method-definitions.js +0 -214
- package/dist/packages/methods/package/method-review-paths.d.ts +0 -10
- package/dist/packages/methods/package/method-review-paths.js +0 -31
- package/dist/packages/methods/package/user-methods.d.ts +0 -17
- package/dist/packages/methods/package/user-methods.js +0 -77
- package/public-repo/methods/interf-default/README.md +0 -33
- package/public-repo/methods/interf-default/improve/SKILL.md +0 -18
- /package/dist/{compiler-ui/_next/static/tYHMLL9oKds1yDoNYgkPV → interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6}/_buildManifest.js +0 -0
- /package/dist/{compiler-ui/_next/static/tYHMLL9oKds1yDoNYgkPV → interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6}/_clientMiddlewareManifest.js +0 -0
- /package/dist/{compiler-ui/_next/static/tYHMLL9oKds1yDoNYgkPV → interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6}/_ssgManifest.js +0 -0
- /package/dist/{compiler-ui → interf-ui}/_next/static/chunks/03~yq9q893hmn.js +0 -0
- /package/dist/{compiler-ui → interf-ui}/_next/static/chunks/0y5z3t-z1c8ks.js.map +0 -0
- /package/dist/{compiler-ui → interf-ui}/_next/static/chunks/turbopack-worker-0sjn--fhq~1cg.js +0 -0
- /package/dist/{compiler-ui → interf-ui}/_next/static/media/GeistMono_Variable.p.17jn9btb_52pq.woff2 +0 -0
- /package/dist/{compiler-ui → interf-ui}/_next/static/media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2 +0 -0
- /package/dist/{compiler-ui → interf-ui}/_next/static/media/worker.102zas1s52_pf.js +0 -0
- /package/dist/packages/{methods/authoring/lib/method-edit-utils.js → build-plans/authoring/lib/build-plan-edit-utils.js} +0 -0
- /package/dist/packages/{methods → build-plans}/package/lib/package-root.d.ts +0 -0
- /package/dist/packages/engine/{compile → build}/runtime-contracts.d.ts +0 -0
- /package/dist/packages/engine/{compile → build}/runtime-paths.d.ts +0 -0
- /package/dist/packages/engine/{compile → build}/runtime-prompt.d.ts +0 -0
- /package/dist/packages/engine/{compile → build}/runtime-runs.d.ts +0 -0
- /package/dist/packages/engine/{compile → build}/runtime-types.js +0 -0
- /package/dist/packages/engine/{compile → build}/runtime.d.ts +0 -0
- /package/dist/packages/engine/{compile → build}/runtime.js +0 -0
- /package/dist/packages/engine/{compile → build}/state-paths.d.ts +0 -0
- /package/dist/packages/engine/{compile → build}/validate-helpers.d.ts +0 -0
- /package/dist/packages/engine/{compile → build}/validate-helpers.js +0 -0
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `interf
|
|
2
|
+
* `interf build-plan` — manage Build Plans on the connected instance.
|
|
3
3
|
*
|
|
4
|
-
* interf
|
|
5
|
-
* interf
|
|
6
|
-
* interf
|
|
7
|
-
* interf
|
|
8
|
-
* interf
|
|
4
|
+
* interf build-plan list # list Build Plans
|
|
5
|
+
* interf build-plan show <build-plan-id> # show a Build Plan summary
|
|
6
|
+
* interf build-plan select <prep-id> <id> # select a Build Plan for a Preparation
|
|
7
|
+
* interf build-plan save <path-or-id> # save/promote a reusable Build Plan
|
|
8
|
+
* interf build-plan draft <prep-id> # start a Build Plan draft run
|
|
9
|
+
* interf build-plan improve <prep-id> # start a Build Plan improvement run
|
|
9
10
|
*/
|
|
10
11
|
import chalk from "chalk";
|
|
11
12
|
import { resolve } from "node:path";
|
|
12
13
|
import { CONNECT_OR_ERROR_HINT, readActiveConnection } from "../../packages/engine/connection-config.js";
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
14
|
+
import { buildPlanResourcePath, preparationResourcePath, preparationSubresourcePath, } from "../../packages/engine/routes.js";
|
|
15
|
+
import { BuildPlanAuthoringArtifactRequirementSchema, } from "../../packages/engine/lib/schema.js";
|
|
15
16
|
import { artifactRequirementsFromRequestedArtifacts, formatRequestedArtifactsForPrompt, } from "../../packages/engine/requested-artifacts.js";
|
|
16
17
|
import { slugify } from "../../packages/contracts/utils/naming.js";
|
|
17
18
|
function resolveConnection(args) {
|
|
@@ -47,7 +48,7 @@ async function callJson(url, token, init = {}) {
|
|
|
47
48
|
function asArray(value) {
|
|
48
49
|
return Array.isArray(value) ? value : [];
|
|
49
50
|
}
|
|
50
|
-
const
|
|
51
|
+
const BuildPlanAuthoringArtifactRequirementsCliSchema = BuildPlanAuthoringArtifactRequirementSchema.array();
|
|
51
52
|
function parseJsonOption(label, value, parse) {
|
|
52
53
|
if (!value)
|
|
53
54
|
return undefined;
|
|
@@ -77,29 +78,29 @@ function buildRunUrl(url, prepId, runId) {
|
|
|
77
78
|
return null;
|
|
78
79
|
return `${url}/?section=preparations&preparation=${encodeURIComponent(prepId)}&preparationTab=runs&run=${encodeURIComponent(runId)}`;
|
|
79
80
|
}
|
|
80
|
-
function
|
|
81
|
+
function defaultBuildPlanIdForPreparation(prepId) {
|
|
81
82
|
return slugify(`${prepId}-build-plan`) || "build-plan";
|
|
82
83
|
}
|
|
83
|
-
function
|
|
84
|
-
const label =
|
|
84
|
+
function labelFromBuildPlanId(buildPlanId) {
|
|
85
|
+
const label = buildPlanId
|
|
85
86
|
.split("-")
|
|
86
87
|
.filter(Boolean)
|
|
87
88
|
.map((part) => part.charAt(0).toUpperCase() + part.slice(1))
|
|
88
89
|
.join(" ");
|
|
89
90
|
return label || "Build Plan";
|
|
90
91
|
}
|
|
91
|
-
function
|
|
92
|
-
const id =
|
|
92
|
+
function renderBuildPlanSummary(buildPlan) {
|
|
93
|
+
const id = buildPlan.build_plan_id ?? buildPlan.id ?? "(?)";
|
|
93
94
|
console.log();
|
|
94
|
-
console.log(` ${chalk.bold(
|
|
95
|
+
console.log(` ${chalk.bold(buildPlan.label ?? id)}`);
|
|
95
96
|
console.log(chalk.dim(` id: ${id}`));
|
|
96
|
-
if (
|
|
97
|
-
console.log(chalk.dim(` hint: ${
|
|
98
|
-
if (
|
|
99
|
-
console.log(chalk.dim(` purpose: ${
|
|
100
|
-
if (
|
|
101
|
-
console.log(chalk.dim(` source: ${
|
|
102
|
-
const artifacts =
|
|
97
|
+
if (buildPlan.hint)
|
|
98
|
+
console.log(chalk.dim(` hint: ${buildPlan.hint}`));
|
|
99
|
+
if (buildPlan.purpose?.task_hint)
|
|
100
|
+
console.log(chalk.dim(` purpose: ${buildPlan.purpose.task_hint}`));
|
|
101
|
+
if (buildPlan.source_kind)
|
|
102
|
+
console.log(chalk.dim(` source: ${buildPlan.source_kind}`));
|
|
103
|
+
const artifacts = buildPlan.artifacts ?? [];
|
|
103
104
|
if (artifacts.length > 0) {
|
|
104
105
|
console.log();
|
|
105
106
|
console.log(chalk.bold(" Artifacts"));
|
|
@@ -116,7 +117,7 @@ function renderMethodSummary(method) {
|
|
|
116
117
|
}
|
|
117
118
|
}
|
|
118
119
|
}
|
|
119
|
-
const stages =
|
|
120
|
+
const stages = buildPlan.stages ?? [];
|
|
120
121
|
if (stages.length > 0) {
|
|
121
122
|
console.log();
|
|
122
123
|
console.log(chalk.bold(" Stages"));
|
|
@@ -131,9 +132,9 @@ function renderMethodSummary(method) {
|
|
|
131
132
|
console.log(chalk.dim(` writes: ${writes}`));
|
|
132
133
|
}
|
|
133
134
|
}
|
|
134
|
-
if (
|
|
135
|
+
if (buildPlan.active_for_preparations?.length) {
|
|
135
136
|
console.log();
|
|
136
|
-
console.log(chalk.dim(` used by: ${
|
|
137
|
+
console.log(chalk.dim(` used by: ${buildPlan.active_for_preparations.join(", ")}`));
|
|
137
138
|
}
|
|
138
139
|
console.log();
|
|
139
140
|
console.log(chalk.dim(" Run with --json for the raw Build Plan record."));
|
|
@@ -152,8 +153,8 @@ function preparationRequestedArtifacts(preparation) {
|
|
|
152
153
|
function preparationSourceProfile(preparation) {
|
|
153
154
|
return preparation.source_profile ?? preparation.preparation?.source_profile ?? null;
|
|
154
155
|
}
|
|
155
|
-
function
|
|
156
|
-
return preparation.
|
|
156
|
+
function selectedBuildPlanId(preparation) {
|
|
157
|
+
return preparation.build_plan_id ?? preparation.preparation?.build_plan ?? null;
|
|
157
158
|
}
|
|
158
159
|
function sourceFolderPathFromPreparation(preparation, sourceFiles) {
|
|
159
160
|
if (preparation.source?.kind === "local-folder" && preparation.source.locator)
|
|
@@ -172,7 +173,7 @@ function buildTaskPrompt(args, preparation, prepId, mode) {
|
|
|
172
173
|
requestedArtifacts ? `Requested Artifacts saved on the Preparation:\n${requestedArtifacts}` : null,
|
|
173
174
|
args.artifacts?.trim() ? `Additional Artifact notes:\n${args.artifacts.trim()}` : null,
|
|
174
175
|
args.readyWhen?.trim() ? `Ready when:\n${args.readyWhen.trim()}` : null,
|
|
175
|
-
"Return a
|
|
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.",
|
|
176
177
|
].filter((section) => Boolean(section));
|
|
177
178
|
return sections.join("\n\n");
|
|
178
179
|
}
|
|
@@ -205,25 +206,25 @@ async function readPreparationContext(url, token, prepId) {
|
|
|
205
206
|
async function startBuildPlanRun(args, mode) {
|
|
206
207
|
const { url, token } = resolveConnection(args);
|
|
207
208
|
const { preparation, sourceFolderPath, checks } = await readPreparationContext(url, token, args.prepId);
|
|
208
|
-
const
|
|
209
|
-
const
|
|
209
|
+
const existingBuildPlan = selectedBuildPlanId(preparation);
|
|
210
|
+
const buildPlanId = args.buildPlan ?? (mode === "improve" ? existingBuildPlan : defaultBuildPlanIdForPreparation(args.prepId));
|
|
210
211
|
const requestedArtifacts = preparationRequestedArtifacts(preparation);
|
|
211
|
-
const explicitArtifactRequirements = parseJsonOption("--artifact-requirements-json", args.artifactRequirementsJson, (input) =>
|
|
212
|
+
const explicitArtifactRequirements = parseJsonOption("--artifact-requirements-json", args.artifactRequirementsJson, (input) => BuildPlanAuthoringArtifactRequirementsCliSchema.parse(input));
|
|
212
213
|
const artifactRequirements = explicitArtifactRequirements
|
|
213
214
|
?? artifactRequirementsFromRequestedArtifacts(requestedArtifacts);
|
|
214
|
-
if (!
|
|
215
|
+
if (!buildPlanId) {
|
|
215
216
|
console.error(chalk.red(`Preparation ${args.prepId} has no selected Build Plan to improve.`));
|
|
216
|
-
console.error(chalk.dim(`Draft one first: interf
|
|
217
|
+
console.error(chalk.dim(`Draft one first: interf build-plan draft ${args.prepId} --task "..."`));
|
|
217
218
|
process.exit(1);
|
|
218
219
|
}
|
|
219
220
|
const body = {
|
|
220
221
|
preparation: args.prepId,
|
|
221
222
|
source_folder_path: sourceFolderPath,
|
|
222
|
-
...(args.
|
|
223
|
-
...(args.
|
|
224
|
-
...(mode === "improve" && !args.
|
|
225
|
-
|
|
226
|
-
label: args.label ??
|
|
223
|
+
...(args.baseBuildPlan ? { base_build_plan_id: args.baseBuildPlan } : {}),
|
|
224
|
+
...(args.referenceBuildPlan ? { reference_build_plan_id: args.referenceBuildPlan } : {}),
|
|
225
|
+
...(mode === "improve" && !args.referenceBuildPlan && existingBuildPlan ? { reference_build_plan_id: existingBuildPlan } : {}),
|
|
226
|
+
build_plan_id: buildPlanId,
|
|
227
|
+
label: args.label ?? labelFromBuildPlanId(buildPlanId),
|
|
227
228
|
hint: args.hint ?? `Build Plan for Preparation ${args.prepId}.`,
|
|
228
229
|
task_prompt: buildTaskPrompt(args, preparation, args.prepId, mode),
|
|
229
230
|
checks,
|
|
@@ -231,7 +232,7 @@ async function startBuildPlanRun(args, mode) {
|
|
|
231
232
|
source_profile: preparationSourceProfile(preparation),
|
|
232
233
|
artifact_requirements: artifactRequirements,
|
|
233
234
|
};
|
|
234
|
-
const endpoint = mode === "improve" ? "
|
|
235
|
+
const endpoint = mode === "improve" ? "buildPlanImprovementRuns" : "buildPlanDraftRuns";
|
|
235
236
|
const { status, body: run, raw } = await callJson(`${url}${preparationSubresourcePath(args.prepId, endpoint)}`, token, { method: "POST", body: JSON.stringify(body) });
|
|
236
237
|
if (status !== 202 && status !== 201 && status !== 200) {
|
|
237
238
|
console.error(chalk.red(`Failed to start Build Plan ${mode} run (HTTP ${status}).`));
|
|
@@ -246,73 +247,76 @@ async function startBuildPlanRun(args, mode) {
|
|
|
246
247
|
run_id: run?.run_id ?? null,
|
|
247
248
|
status: run?.status ?? null,
|
|
248
249
|
preparation: args.prepId,
|
|
249
|
-
|
|
250
|
+
build_plan_id: buildPlanId,
|
|
250
251
|
run_url: runUrl,
|
|
251
252
|
review_url: reviewUrl,
|
|
252
253
|
}, null, 2));
|
|
253
254
|
return;
|
|
254
255
|
}
|
|
255
256
|
console.log(chalk.green(`Build Plan ${mode} run ${chalk.bold(run?.run_id ?? "(?)")} started.`));
|
|
256
|
-
console.log(chalk.dim(` Build Plan: ${
|
|
257
|
+
console.log(chalk.dim(` Build Plan: ${buildPlanId}`));
|
|
257
258
|
if (runUrl)
|
|
258
259
|
console.log(chalk.dim(` watch: ${runUrl}`));
|
|
259
260
|
console.log(chalk.dim(` review after it finishes: ${reviewUrl}`));
|
|
260
261
|
}
|
|
261
|
-
export const
|
|
262
|
-
command: "
|
|
263
|
-
describe: "Manage
|
|
262
|
+
export const buildPlanCommand = {
|
|
263
|
+
command: "build-plan <subcommand>",
|
|
264
|
+
describe: "Manage Build Plans on the connected instance",
|
|
264
265
|
builder: (yargs) => yargs
|
|
265
266
|
.option("url", { type: "string", describe: "Override the active connection URL" })
|
|
266
267
|
.option("token", { type: "string", describe: "Override the active bearer token" })
|
|
267
|
-
.command("
|
|
268
|
+
.command("list", "List Build Plans on the instance", (y) => y, async (args) => {
|
|
268
269
|
const { url, token } = resolveConnection(args);
|
|
269
|
-
const { status, body, raw } = await callJson(`${url}/v1/
|
|
270
|
+
const { status, body, raw } = await callJson(`${url}/v1/build-plans`, token);
|
|
270
271
|
if (status !== 200) {
|
|
271
|
-
console.error(chalk.red(`Failed to list
|
|
272
|
+
console.error(chalk.red(`Failed to list Build Plans (HTTP ${status}).`));
|
|
272
273
|
if (raw)
|
|
273
274
|
console.error(raw);
|
|
274
275
|
process.exit(1);
|
|
275
276
|
}
|
|
276
|
-
const
|
|
277
|
-
if (
|
|
278
|
-
console.log(chalk.dim(" No
|
|
277
|
+
const buildPlans = body?.build_plans ?? [];
|
|
278
|
+
if (buildPlans.length === 0) {
|
|
279
|
+
console.log(chalk.dim(" No Build Plans on this instance."));
|
|
279
280
|
return;
|
|
280
281
|
}
|
|
281
282
|
console.log();
|
|
282
|
-
for (const
|
|
283
|
-
const id =
|
|
284
|
-
const label =
|
|
285
|
-
const kind =
|
|
283
|
+
for (const buildPlan of buildPlans) {
|
|
284
|
+
const id = buildPlan.build_plan_id ?? buildPlan.id ?? "(?)";
|
|
285
|
+
const label = buildPlan.label ? ` ${chalk.dim(buildPlan.label)}` : "";
|
|
286
|
+
const kind = buildPlan.source_kind ? chalk.dim(`[${buildPlan.source_kind}]`) : "";
|
|
286
287
|
console.log(` ${chalk.bold(id)} ${kind}${label}`);
|
|
287
|
-
if (
|
|
288
|
-
console.log(chalk.dim(` used by: ${
|
|
288
|
+
if (buildPlan.active_for_preparations?.length) {
|
|
289
|
+
console.log(chalk.dim(` used by: ${buildPlan.active_for_preparations.join(", ")}`));
|
|
289
290
|
}
|
|
290
291
|
}
|
|
291
292
|
console.log();
|
|
292
293
|
})
|
|
293
|
-
.command("
|
|
294
|
+
.command("save <source>", "Save a Build Plan definition from a local folder", (y) => y
|
|
295
|
+
.positional("source", { type: "string", demandOption: true, describe: "Path to the Build Plan definition folder" })
|
|
296
|
+
.option("as", { type: "string", describe: "Build Plan id to save as" })
|
|
297
|
+
.option("overwrite", { type: "boolean", default: false, describe: "Replace an existing Build Plan with the same id" }), async (args) => {
|
|
294
298
|
const { url, token } = resolveConnection(args);
|
|
295
|
-
const absolute = resolve(process.cwd(), args.
|
|
296
|
-
const { status, raw } = await callJson(`${url}/v1/
|
|
299
|
+
const absolute = resolve(process.cwd(), args.source);
|
|
300
|
+
const { status, raw } = await callJson(`${url}/v1/build-plans`, token, { method: "POST", body: JSON.stringify({ source_path: absolute, id: args.as, overwrite: args.overwrite }) });
|
|
297
301
|
if (status !== 201 && status !== 200) {
|
|
298
|
-
console.error(chalk.red(`Failed to
|
|
302
|
+
console.error(chalk.red(`Failed to save Build Plan (HTTP ${status}).`));
|
|
299
303
|
if (raw)
|
|
300
304
|
console.error(raw);
|
|
301
305
|
process.exit(1);
|
|
302
306
|
}
|
|
303
|
-
console.log(chalk.green(`
|
|
307
|
+
console.log(chalk.green(`Saved Build Plan from ${absolute}.`));
|
|
304
308
|
})
|
|
305
|
-
.command("show <
|
|
306
|
-
.positional("
|
|
309
|
+
.command("show <build-plan-id>", "Show a Build Plan", (y) => y
|
|
310
|
+
.positional("build-plan-id", { type: "string", demandOption: true, describe: "Build Plan id" })
|
|
307
311
|
.option("json", {
|
|
308
312
|
type: "boolean",
|
|
309
313
|
default: false,
|
|
310
314
|
describe: "Print the raw JSON record instead of the formatted summary",
|
|
311
315
|
}), async (args) => {
|
|
312
316
|
const { url, token } = resolveConnection(args);
|
|
313
|
-
const { status, body, raw } = await callJson(`${url}${
|
|
317
|
+
const { status, body, raw } = await callJson(`${url}${buildPlanResourcePath(args.buildPlanId)}`, token);
|
|
314
318
|
if (status !== 200 || !body) {
|
|
315
|
-
console.error(chalk.red(`Failed to read Build Plan ${args.
|
|
319
|
+
console.error(chalk.red(`Failed to read Build Plan ${args.buildPlanId} (HTTP ${status}).`));
|
|
316
320
|
if (raw)
|
|
317
321
|
console.error(raw);
|
|
318
322
|
process.exit(1);
|
|
@@ -321,7 +325,20 @@ export const methodCommand = {
|
|
|
321
325
|
console.log(JSON.stringify(body, null, 2));
|
|
322
326
|
return;
|
|
323
327
|
}
|
|
324
|
-
|
|
328
|
+
renderBuildPlanSummary(body);
|
|
329
|
+
})
|
|
330
|
+
.command("select <prep-id> <build-plan-id>", "Select a Build Plan for a Preparation", (y) => y
|
|
331
|
+
.positional("prep-id", { type: "string", demandOption: true, describe: "Preparation id" })
|
|
332
|
+
.positional("build-plan-id", { type: "string", demandOption: true, describe: "Build Plan id" }), async (args) => {
|
|
333
|
+
const { url, token } = resolveConnection(args);
|
|
334
|
+
const { status, raw } = await callJson(`${url}${preparationResourcePath(args.prepId)}`, token, { method: "PATCH", body: JSON.stringify({ build_plan_id: args.buildPlanId }) });
|
|
335
|
+
if (status !== 200) {
|
|
336
|
+
console.error(chalk.red(`Failed to select Build Plan (HTTP ${status}).`));
|
|
337
|
+
if (raw)
|
|
338
|
+
console.error(raw);
|
|
339
|
+
process.exit(1);
|
|
340
|
+
}
|
|
341
|
+
console.log(chalk.green(`Selected Build Plan ${chalk.bold(args.buildPlanId)} for ${chalk.bold(args.prepId)}.`));
|
|
325
342
|
})
|
|
326
343
|
.command("draft <prep-id>", "Start a Build Plan draft run for a preparation", (y) => y
|
|
327
344
|
.positional("prep-id", { type: "string", demandOption: true, describe: "Preparation id" })
|
|
@@ -329,11 +346,11 @@ export const methodCommand = {
|
|
|
329
346
|
.option("artifacts", { type: "string", describe: "Requested Artifacts and why the agent needs them" })
|
|
330
347
|
.option("artifact-requirements-json", { type: "string", describe: "JSON array of exact Artifact output requirements for the Build Plan" })
|
|
331
348
|
.option("ready-when", { type: "string", describe: "Proof or readiness expectations for the Build Plan" })
|
|
332
|
-
.option("
|
|
349
|
+
.option("build-plan", { type: "string", describe: "Build Plan id to write" })
|
|
333
350
|
.option("label", { type: "string", describe: "Human-readable Build Plan label" })
|
|
334
351
|
.option("hint", { type: "string", describe: "Short Build Plan hint for reviewers" })
|
|
335
|
-
.option("base-
|
|
336
|
-
.option("reference-
|
|
352
|
+
.option("base-build-plan", { type: "string", describe: "Existing Build Plan id to use as a starting point" })
|
|
353
|
+
.option("reference-build-plan", { type: "string", describe: "Existing Build Plan id to reference while drafting" })
|
|
337
354
|
.option("json", { type: "boolean", default: false, describe: "Print machine-readable run metadata" }), async (args) => {
|
|
338
355
|
await startBuildPlanRun(args, "draft");
|
|
339
356
|
})
|
|
@@ -343,11 +360,11 @@ export const methodCommand = {
|
|
|
343
360
|
.option("artifacts", { type: "string", describe: "Requested Artifact changes and why they matter" })
|
|
344
361
|
.option("artifact-requirements-json", { type: "string", describe: "JSON array of exact Artifact output requirements for the Build Plan" })
|
|
345
362
|
.option("ready-when", { type: "string", describe: "Proof or readiness expectations to add or change" })
|
|
346
|
-
.option("
|
|
363
|
+
.option("build-plan", { type: "string", describe: "Build Plan id to update" })
|
|
347
364
|
.option("label", { type: "string", describe: "Human-readable Build Plan label" })
|
|
348
365
|
.option("hint", { type: "string", describe: "Short Build Plan hint for reviewers" })
|
|
349
|
-
.option("base-
|
|
350
|
-
.option("reference-
|
|
366
|
+
.option("base-build-plan", { type: "string", describe: "Existing Build Plan id to use as a starting point" })
|
|
367
|
+
.option("reference-build-plan", { type: "string", describe: "Existing Build Plan id to reference while improving" })
|
|
351
368
|
.option("json", { type: "boolean", default: false, describe: "Print machine-readable run metadata" }), async (args) => {
|
|
352
369
|
await startBuildPlanRun(args, "improve");
|
|
353
370
|
})
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CommandModule } from "yargs";
|
|
2
|
-
interface
|
|
2
|
+
interface BuildArgs {
|
|
3
3
|
prepId: string;
|
|
4
4
|
watch?: boolean;
|
|
5
5
|
quiet?: boolean;
|
|
@@ -7,5 +7,5 @@ interface CompileArgs {
|
|
|
7
7
|
url?: string;
|
|
8
8
|
token?: string;
|
|
9
9
|
}
|
|
10
|
-
export declare const
|
|
10
|
+
export declare const buildCommand: CommandModule<unknown, BuildArgs>;
|
|
11
11
|
export {};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Build command stack.
|
|
3
3
|
*
|
|
4
|
-
* interf
|
|
5
|
-
* interf
|
|
6
|
-
* interf
|
|
4
|
+
* interf build bristol
|
|
5
|
+
* interf build bristol --quiet # only the locator on stdout (scripting)
|
|
6
|
+
* interf build bristol --watch # stream events
|
|
7
7
|
*
|
|
8
|
-
* Requires an active connection. Hits POST /v1/preparations/<id>/
|
|
8
|
+
* Requires an active connection. Hits POST /v1/preparations/<id>/build-runs.
|
|
9
9
|
*/
|
|
10
10
|
import chalk from "chalk";
|
|
11
11
|
import { CONNECT_OR_ERROR_HINT, readActiveConnection } from "../../packages/engine/connection-config.js";
|
|
@@ -39,23 +39,23 @@ async function callJson(url, token, init = {}) {
|
|
|
39
39
|
}
|
|
40
40
|
return { status: response.status, body, raw };
|
|
41
41
|
}
|
|
42
|
-
export const
|
|
43
|
-
command: "
|
|
44
|
-
describe: "
|
|
42
|
+
export const buildCommand = {
|
|
43
|
+
command: "build <prep-id>",
|
|
44
|
+
describe: "Run the selected Build Plan for a Preparation",
|
|
45
45
|
builder: (yargs) => yargs
|
|
46
46
|
.positional("prep-id", { type: "string", demandOption: true, describe: "Preparation id" })
|
|
47
|
-
.option("watch", { type: "boolean", default: false, describe: "Stream run events" })
|
|
48
|
-
.option("quiet", { type: "boolean", default: false, describe: "Print only the
|
|
47
|
+
.option("watch", { type: "boolean", default: false, describe: "Stream build-run events" })
|
|
48
|
+
.option("quiet", { type: "boolean", default: false, describe: "Print only the context locator on success" })
|
|
49
49
|
.option("idempotency-key", { type: "string", describe: "Client-supplied dedupe key" })
|
|
50
50
|
.option("url", { type: "string", describe: "Override the active connection URL" })
|
|
51
51
|
.option("token", { type: "string", describe: "Override the active bearer token" }),
|
|
52
52
|
handler: async (args) => {
|
|
53
53
|
const { url, token } = resolveConnection(args);
|
|
54
|
-
// 0.15 hard-error: refuse to start a
|
|
55
|
-
// connected agents — the
|
|
54
|
+
// 0.15 hard-error: refuse to start a build if the engine has zero
|
|
55
|
+
// connected agents — the build pipeline can't run without one.
|
|
56
56
|
const instance = await callJson(`${url}/v1/instance`, token);
|
|
57
57
|
if (instance.body && instance.body.agent_count === 0) {
|
|
58
|
-
console.error(chalk.red(" Cannot
|
|
58
|
+
console.error(chalk.red(" Cannot build — no agents available."));
|
|
59
59
|
console.error(" Install Claude Code, Codex, Gemini, or another agent CLI, or");
|
|
60
60
|
console.error(" register a custom CLI: `interf agents register <name> --command <cmd>`.");
|
|
61
61
|
process.exit(1);
|
|
@@ -63,23 +63,23 @@ export const compileCommand = {
|
|
|
63
63
|
const headers = {};
|
|
64
64
|
if (args.idempotencyKey)
|
|
65
65
|
headers["x-interf-idempotency-key"] = args.idempotencyKey;
|
|
66
|
-
const { status, body, raw } = await callJson(`${url}/v1/preparations/${encodeURIComponent(args.prepId)}/
|
|
66
|
+
const { status, body, raw } = await callJson(`${url}/v1/preparations/${encodeURIComponent(args.prepId)}/build-runs`, token, { method: "POST", headers, body: JSON.stringify({}) });
|
|
67
67
|
if (status !== 201 && status !== 200 && status !== 202) {
|
|
68
|
-
console.error(chalk.red(`Failed to start
|
|
68
|
+
console.error(chalk.red(`Failed to start build run for ${args.prepId} (HTTP ${status}).`));
|
|
69
69
|
if (raw)
|
|
70
70
|
console.error(raw);
|
|
71
71
|
process.exit(1);
|
|
72
72
|
}
|
|
73
73
|
const run = body?.run;
|
|
74
74
|
const runId = run?.run_id ?? "(unknown run)";
|
|
75
|
-
const locator = run?.
|
|
75
|
+
const locator = run?.verifiable_context_path ?? "(no locator)";
|
|
76
76
|
if (args.quiet) {
|
|
77
77
|
console.log(locator);
|
|
78
78
|
return;
|
|
79
79
|
}
|
|
80
80
|
console.log();
|
|
81
|
-
console.log(`
|
|
82
|
-
console.log(`
|
|
81
|
+
console.log(` Build run ${chalk.bold(runId)} ${chalk.dim(`(${run?.status ?? "started"})`)}`);
|
|
82
|
+
console.log(` Verifiable context: ${locator}`);
|
|
83
83
|
if (run?.status === "succeeded" || run?.finished_at) {
|
|
84
84
|
const prepResp = await callJson(`${url}/v1/preparations/${encodeURIComponent(args.prepId)}`, token);
|
|
85
85
|
const readiness = prepResp.body?.readiness?.status;
|
|
@@ -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 readiness checks,
|
|
100
|
+
message: "Skipped. Run `interf doctor --live` to exercise the real local agent before drafting readiness checks, Build Plan authoring, a readiness check, or a Build run.",
|
|
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
|
}
|