@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,11 +1,11 @@
|
|
|
1
1
|
import { appendFileSync, existsSync, realpathSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
-
import { copyDirectory, directoriesMatch, } from "./lib/
|
|
4
|
-
export async function
|
|
5
|
-
const
|
|
6
|
-
copyDirectory(options.
|
|
7
|
-
if (!existsSync(
|
|
8
|
-
copyDirectory(options.
|
|
3
|
+
import { copyDirectory, directoriesMatch, } from "./lib/build-plan-edit-utils.js";
|
|
4
|
+
export async function runBuildPlanEditSession(options) {
|
|
5
|
+
const editableBuildPlanPath = join(options.shell.rootPath, "build-plan");
|
|
6
|
+
copyDirectory(options.buildPlanPath, options.shell.buildPlanBeforePath);
|
|
7
|
+
if (!existsSync(editableBuildPlanPath)) {
|
|
8
|
+
copyDirectory(options.buildPlanPath, editableBuildPlanPath);
|
|
9
9
|
}
|
|
10
10
|
writeFileSync(options.shell.promptLogPath, `${options.prompt}\n`);
|
|
11
11
|
const maxValidationRepairAttempts = options.maxValidationRepairAttempts ?? 0;
|
|
@@ -19,9 +19,9 @@ export async function runMethodEditSession(options) {
|
|
|
19
19
|
statusLogPath: options.shell.statusLogPath,
|
|
20
20
|
completionCheck: () => {
|
|
21
21
|
try {
|
|
22
|
-
if (directoriesMatch(options.shell.
|
|
22
|
+
if (directoriesMatch(options.shell.buildPlanBeforePath, editableBuildPlanPath))
|
|
23
23
|
return false;
|
|
24
|
-
return options.validate(
|
|
24
|
+
return options.validate(editableBuildPlanPath).ok;
|
|
25
25
|
}
|
|
26
26
|
catch {
|
|
27
27
|
return false;
|
|
@@ -33,84 +33,84 @@ export async function runMethodEditSession(options) {
|
|
|
33
33
|
catch (error) {
|
|
34
34
|
executeError = error instanceof Error ? error.message : String(error);
|
|
35
35
|
}
|
|
36
|
-
copyDirectory(
|
|
37
|
-
const changed = !directoriesMatch(options.shell.
|
|
36
|
+
copyDirectory(editableBuildPlanPath, options.shell.buildPlanAfterPath);
|
|
37
|
+
const changed = !directoriesMatch(options.shell.buildPlanBeforePath, options.shell.buildPlanAfterPath);
|
|
38
38
|
if (executeError) {
|
|
39
|
-
copyDirectory(options.shell.
|
|
40
|
-
copyDirectory(options.shell.
|
|
39
|
+
copyDirectory(options.shell.buildPlanBeforePath, options.buildPlanPath);
|
|
40
|
+
copyDirectory(options.shell.buildPlanBeforePath, editableBuildPlanPath);
|
|
41
41
|
return {
|
|
42
42
|
status: "executor-failed",
|
|
43
43
|
changed,
|
|
44
44
|
validation: null,
|
|
45
|
-
summary: `
|
|
45
|
+
summary: `Build Plan editor failed before completing: ${executeError}`,
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
48
|
if (code !== 0) {
|
|
49
|
-
copyDirectory(options.shell.
|
|
50
|
-
copyDirectory(options.shell.
|
|
49
|
+
copyDirectory(options.shell.buildPlanBeforePath, options.buildPlanPath);
|
|
50
|
+
copyDirectory(options.shell.buildPlanBeforePath, editableBuildPlanPath);
|
|
51
51
|
return {
|
|
52
52
|
status: "executor-failed",
|
|
53
53
|
changed,
|
|
54
54
|
validation: null,
|
|
55
|
-
summary: `
|
|
55
|
+
summary: `Build Plan editor exited with code ${code}.`,
|
|
56
56
|
};
|
|
57
57
|
}
|
|
58
|
-
const validation = options.validate(
|
|
58
|
+
const validation = options.validate(editableBuildPlanPath);
|
|
59
59
|
if (validation.ok) {
|
|
60
|
-
if (!sameRealPath(
|
|
61
|
-
copyDirectory(
|
|
60
|
+
if (!sameRealPath(editableBuildPlanPath, options.buildPlanPath)) {
|
|
61
|
+
copyDirectory(editableBuildPlanPath, options.buildPlanPath);
|
|
62
62
|
}
|
|
63
63
|
return {
|
|
64
64
|
status: changed ? "updated" : "no-change",
|
|
65
65
|
changed,
|
|
66
66
|
validation,
|
|
67
67
|
summary: changed
|
|
68
|
-
? "
|
|
69
|
-
: "
|
|
68
|
+
? "Build Plan package updated and validated."
|
|
69
|
+
: "Build Plan package is valid without additional edits.",
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
72
|
const details = validation.errors.length > 0
|
|
73
73
|
? `: ${validation.errors.slice(0, 6).join("; ")}`
|
|
74
74
|
: "";
|
|
75
75
|
if (!changed || attempt >= maxValidationRepairAttempts) {
|
|
76
|
-
copyDirectory(options.shell.
|
|
77
|
-
copyDirectory(options.shell.
|
|
76
|
+
copyDirectory(options.shell.buildPlanBeforePath, options.buildPlanPath);
|
|
77
|
+
copyDirectory(options.shell.buildPlanBeforePath, editableBuildPlanPath);
|
|
78
78
|
return {
|
|
79
79
|
status: "invalid",
|
|
80
80
|
changed,
|
|
81
81
|
validation,
|
|
82
82
|
summary: changed
|
|
83
|
-
? `
|
|
84
|
-
: `
|
|
83
|
+
? `Build Plan package failed validation: ${validation.summary}${details}`
|
|
84
|
+
: `Build Plan package is invalid without any Build Plan edits: ${validation.summary}${details}`,
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
87
|
prompt = [
|
|
88
|
-
"This is an automated Interf
|
|
88
|
+
"This is an automated Interf Build Plan validation-repair pass.",
|
|
89
89
|
"The previous edit did not pass package validation.",
|
|
90
|
-
"Fix only the validation errors below. Do not redesign the
|
|
90
|
+
"Fix only the validation errors below. Do not redesign the Build Plan.",
|
|
91
91
|
"",
|
|
92
92
|
"Validation errors:",
|
|
93
93
|
...validation.errors.slice(0, 12).map((error) => `- ${error}`),
|
|
94
94
|
"",
|
|
95
95
|
"Rules:",
|
|
96
|
-
"- Edit only files under `
|
|
96
|
+
"- Edit only files under `build-plan/`.",
|
|
97
97
|
"- Use kebab-case ids everywhere: stage ids, skill_dir values, Artifact ids, reads/writes values, and package ids. Never use underscores.",
|
|
98
|
-
"- Keep every stage `skill_dir` matched by `
|
|
99
|
-
"- Keep `
|
|
98
|
+
"- Keep every stage `skill_dir` matched by `build-plan/build/stages/<skill_dir>/SKILL.md`.",
|
|
99
|
+
"- Keep `build-plan.schema.json` Artifact paths unique and non-overlapping.",
|
|
100
100
|
"- Put deterministic validation on Artifact `checks[]`; do not add stage `acceptance` blocks.",
|
|
101
101
|
"- Use only CheckKind values listed in `runtime/authoring-context.json`; replace invented aliases with valid kinds.",
|
|
102
|
-
"- If the
|
|
102
|
+
"- If the Build Plan writes an agent entrypoint, keep it declared as an Artifact owned by the producing stage.",
|
|
103
103
|
"- Stop as soon as the package should validate.",
|
|
104
104
|
].join("\n");
|
|
105
105
|
appendFileSync(options.shell.promptLogPath, `\n\n---\n\n${prompt}\n`);
|
|
106
106
|
}
|
|
107
|
-
copyDirectory(options.shell.
|
|
108
|
-
copyDirectory(options.shell.
|
|
107
|
+
copyDirectory(options.shell.buildPlanBeforePath, options.buildPlanPath);
|
|
108
|
+
copyDirectory(options.shell.buildPlanBeforePath, editableBuildPlanPath);
|
|
109
109
|
return {
|
|
110
110
|
status: "invalid",
|
|
111
111
|
changed: true,
|
|
112
112
|
validation: null,
|
|
113
|
-
summary: "
|
|
113
|
+
summary: "Build Plan package failed validation.",
|
|
114
114
|
};
|
|
115
115
|
}
|
|
116
116
|
function sameRealPath(leftPath, rightPath) {
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { AgentExecutor } from "../../engine/agents/lib/executors.js";
|
|
2
|
+
import { type BuildPlanValidationResult } from "../package/local-build-plans.js";
|
|
3
|
+
import type { SourcePreparationConfig } from "../../project/lib/schema.js";
|
|
4
|
+
import type { BuildPlanImprovementLoopSummary } from "../../engine/build/lib/schema.js";
|
|
5
|
+
export interface BuildPlanImprovementRunResult {
|
|
6
|
+
status: "updated" | "no-change" | "invalid" | "executor-failed";
|
|
7
|
+
changed: boolean;
|
|
8
|
+
validation: BuildPlanValidationResult | null;
|
|
9
|
+
summary: string;
|
|
10
|
+
shellPath: string;
|
|
11
|
+
loopRootPath: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function runBuildPlanImprovementLoop(options: {
|
|
14
|
+
executor: AgentExecutor;
|
|
15
|
+
verifiableContextPath: string;
|
|
16
|
+
buildPlanId: string;
|
|
17
|
+
verifiableContextConfig: Pick<SourcePreparationConfig, "checks">;
|
|
18
|
+
runId: string;
|
|
19
|
+
loopIndex: number;
|
|
20
|
+
maxLoops: number;
|
|
21
|
+
maxAttempts: number;
|
|
22
|
+
previousVariations: BuildPlanImprovementLoopSummary[];
|
|
23
|
+
}): Promise<BuildPlanImprovementRunResult>;
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { appendFileSync, existsSync, mkdirSync, writeFileSync, } from "node:fs";
|
|
2
|
+
import { join, relative } from "node:path";
|
|
3
|
+
import { createBuildPlanImprovementShell, freezeBuildPlanImprovementShell, } from "../../engine/agents/lib/shells.js";
|
|
4
|
+
import { validateBuildPlanPackage } from "../package/local-build-plans.js";
|
|
5
|
+
import { CONTEXT_INTERFACE_FILE } from "../package/context-interface.js";
|
|
6
|
+
import { readJsonFileWithSchema } from "../../contracts/utils/parse.js";
|
|
7
|
+
import { resolveBuildPlanImprovementReviewPaths } from "../package/build-plan-review-paths.js";
|
|
8
|
+
import { targetTestRunsRootForVerifiableContext, targetTestSandboxesRootForVerifiableContext, buildPlanImprovementRunRoot, buildPlanPackagePathForVerifiableContext, } from "../../engine/build/verifiable-context-paths.js";
|
|
9
|
+
import { readInterfConfig } from "../../project/interf.js";
|
|
10
|
+
import { saveVerifiableContextInterfConfig } from "../../project/source-config.js";
|
|
11
|
+
import { BuildPlanImprovementRunLedgerSchema, } from "../../engine/build/lib/schema.js";
|
|
12
|
+
import { runBuildPlanEditSession } from "./build-plan-edit-session.js";
|
|
13
|
+
import { ensureStageRoles } from "./build-plan-authoring.js";
|
|
14
|
+
function toShellArtifactPath(absolutePath, sourceRoot, shellRoot) {
|
|
15
|
+
if (!absolutePath)
|
|
16
|
+
return null;
|
|
17
|
+
const normalizedSourceRoot = `${sourceRoot}/`;
|
|
18
|
+
if (absolutePath !== sourceRoot && !absolutePath.startsWith(normalizedSourceRoot)) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
const relativePath = relative(sourceRoot, absolutePath);
|
|
22
|
+
return join(shellRoot, relativePath);
|
|
23
|
+
}
|
|
24
|
+
function mapLoopSummaryForShell(summary, verifiableContextPath) {
|
|
25
|
+
const shellTestRunsRoot = "artifacts/test-runs";
|
|
26
|
+
const shellTestSandboxesRoot = "artifacts/test-sandboxes";
|
|
27
|
+
return {
|
|
28
|
+
...summary,
|
|
29
|
+
test_run_path: toShellArtifactPath(summary.test_run_path, targetTestRunsRootForVerifiableContext(verifiableContextPath), shellTestRunsRoot) ?? summary.test_run_path ?? null,
|
|
30
|
+
test_sandbox_path: toShellArtifactPath(summary.test_sandbox_path, targetTestSandboxesRootForVerifiableContext(verifiableContextPath), shellTestSandboxesRoot) ?? summary.test_sandbox_path ?? null,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function buildLoopContext(options) {
|
|
34
|
+
const previousVariations = options.previousVariations.map((summary) => mapLoopSummaryForShell(summary, options.verifiableContextPath));
|
|
35
|
+
const latestFailure = previousVariations.at(-1) ?? null;
|
|
36
|
+
return {
|
|
37
|
+
kind: "interf-build-plan-improvement-loop",
|
|
38
|
+
version: 1,
|
|
39
|
+
generated_at: new Date().toISOString(),
|
|
40
|
+
target_name: readInterfConfig(options.verifiableContextPath)?.name ?? "verifiable-context",
|
|
41
|
+
build_plan_id: options.buildPlanId,
|
|
42
|
+
loop_index: options.loopIndex,
|
|
43
|
+
max_loops: options.maxLoops,
|
|
44
|
+
max_attempts: options.maxAttempts,
|
|
45
|
+
review_paths: resolveBuildPlanImprovementReviewPaths(options.verifiableContextPath),
|
|
46
|
+
readiness_checks: {
|
|
47
|
+
count: options.verifiableContextConfig.checks.length,
|
|
48
|
+
questions: options.verifiableContextConfig.checks.map((check, index) => ({
|
|
49
|
+
id: check.id ?? `check-${index + 1}`,
|
|
50
|
+
question: check.question,
|
|
51
|
+
})),
|
|
52
|
+
},
|
|
53
|
+
previous_variations: previousVariations,
|
|
54
|
+
latest_failure: latestFailure,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function buildBuildPlanImprovementPrompt() {
|
|
58
|
+
return [
|
|
59
|
+
"This is an automated Interf Build Plan improvement run, not an open-ended chat session.",
|
|
60
|
+
"The user already invoked this through `interf build` with self-improving loops enabled. Execute it now.",
|
|
61
|
+
"Read `runtime/loop-context.json` first.",
|
|
62
|
+
`Then read \`build-plan/README.md\`, \`build-plan/build-plan.json\`, \`build-plan/${CONTEXT_INTERFACE_FILE}\`, and \`build-plan/improve/SKILL.md\` if it exists.`,
|
|
63
|
+
"Review preserved evidence from earlier failures under `artifacts/` before you edit the Build Plan.",
|
|
64
|
+
"Treat `build-plan/improve/SKILL.md` as guidance for how to improve the Build Plan, not as the default file to edit.",
|
|
65
|
+
"Treat the Build Plan package as four aligned layers: purpose, inputs, context interface, and stages.",
|
|
66
|
+
"Prefer editing the stage docs, Build Plan contract, input contract, or schema ownership that actually change verifiable-context outputs.",
|
|
67
|
+
"Edit only files under `build-plan/`.",
|
|
68
|
+
"Do not edit checks, test specs, source files, or generated verifiable-context outputs.",
|
|
69
|
+
"Keep the Build Plan package valid for the current build API and `build-plan.schema.json`.",
|
|
70
|
+
"Respect stage boundaries: a stage may only introduce links that resolve within that stage's declared writes or already-existing read Artifacts.",
|
|
71
|
+
"Do not make one stage point at files or notes that are only created later by another stage.",
|
|
72
|
+
"Prefer small, defensible changes to Build Plan docs, stage docs, stage policies, or schema ownership over random churn.",
|
|
73
|
+
"Do not narrate plans or ask follow-up questions.",
|
|
74
|
+
"Only emit user-visible updates that begin with STATUS:, DONE:, BLOCKED:, or ERROR:.",
|
|
75
|
+
"As soon as the Build Plan edits are complete, stop.",
|
|
76
|
+
].join("\n");
|
|
77
|
+
}
|
|
78
|
+
function updateBuildPlanOrigin(options) {
|
|
79
|
+
const current = readInterfConfig(options.verifiableContextPath);
|
|
80
|
+
if (!current)
|
|
81
|
+
return;
|
|
82
|
+
const nextConfig = {
|
|
83
|
+
...current,
|
|
84
|
+
build_plan_origin: {
|
|
85
|
+
selected: options.selectedBuildPlanId,
|
|
86
|
+
...(options.localDraft ? { local_draft: true } : {}),
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
saveVerifiableContextInterfConfig(options.verifiableContextPath, nextConfig);
|
|
90
|
+
}
|
|
91
|
+
function buildPlanImprovementRunLedgerPath(verifiableContextPath, runId) {
|
|
92
|
+
return join(buildPlanImprovementRunRoot(verifiableContextPath, runId), "run.json");
|
|
93
|
+
}
|
|
94
|
+
function buildPlanImprovementLoopHistoryPath(verifiableContextPath, runId) {
|
|
95
|
+
return join(buildPlanImprovementRunRoot(verifiableContextPath, runId), "loop-history.jsonl");
|
|
96
|
+
}
|
|
97
|
+
function buildPlanImprovementLoopRecordPath(loopRootPath) {
|
|
98
|
+
return join(loopRootPath, "loop.json");
|
|
99
|
+
}
|
|
100
|
+
function readBuildPlanImprovementRunLedger(verifiableContextPath, runId) {
|
|
101
|
+
const ledgerPath = buildPlanImprovementRunLedgerPath(verifiableContextPath, runId);
|
|
102
|
+
if (!existsSync(ledgerPath))
|
|
103
|
+
return null;
|
|
104
|
+
return readJsonFileWithSchema(ledgerPath, "Build Plan improvement run ledger", BuildPlanImprovementRunLedgerSchema);
|
|
105
|
+
}
|
|
106
|
+
function writeBuildPlanImprovementRunLedger(verifiableContextPath, runId, record, options) {
|
|
107
|
+
const runRoot = buildPlanImprovementRunRoot(verifiableContextPath, runId);
|
|
108
|
+
mkdirSync(runRoot, { recursive: true });
|
|
109
|
+
const existing = readBuildPlanImprovementRunLedger(verifiableContextPath, runId);
|
|
110
|
+
const generatedAt = existing?.generated_at ?? new Date().toISOString();
|
|
111
|
+
const ledger = {
|
|
112
|
+
kind: "interf-build-plan-improvement-run",
|
|
113
|
+
version: 1,
|
|
114
|
+
generated_at: generatedAt,
|
|
115
|
+
updated_at: new Date().toISOString(),
|
|
116
|
+
run_id: runId,
|
|
117
|
+
target_name: options.targetName,
|
|
118
|
+
build_plan_id: options.buildPlanId,
|
|
119
|
+
max_loops: options.maxLoops,
|
|
120
|
+
max_attempts: options.maxAttempts,
|
|
121
|
+
loops: [...(existing?.loops ?? []), record],
|
|
122
|
+
};
|
|
123
|
+
writeFileSync(buildPlanImprovementRunLedgerPath(verifiableContextPath, runId), `${JSON.stringify(ledger, null, 2)}\n`);
|
|
124
|
+
writeFileSync(buildPlanImprovementLoopRecordPath(record.loop_root_path), `${JSON.stringify(record, null, 2)}\n`);
|
|
125
|
+
appendFileSync(buildPlanImprovementLoopHistoryPath(verifiableContextPath, runId), `${JSON.stringify(record)}\n`);
|
|
126
|
+
}
|
|
127
|
+
function buildBuildPlanImprovementLoopRecord(options) {
|
|
128
|
+
return {
|
|
129
|
+
kind: "interf-build-plan-improvement-loop-record",
|
|
130
|
+
version: 1,
|
|
131
|
+
recorded_at: new Date().toISOString(),
|
|
132
|
+
run_id: options.runId,
|
|
133
|
+
loop_index: options.loopIndex,
|
|
134
|
+
target_name: options.targetName,
|
|
135
|
+
build_plan_id: options.buildPlanId,
|
|
136
|
+
result: options.result,
|
|
137
|
+
changed: options.changed,
|
|
138
|
+
applied: options.result === "updated",
|
|
139
|
+
summary: options.summary,
|
|
140
|
+
shell_path: options.shellPath,
|
|
141
|
+
loop_root_path: options.loopRootPath,
|
|
142
|
+
context_path: join(options.shellPath, "runtime", "loop-context.json"),
|
|
143
|
+
build_plan_before_path: options.buildPlanBeforePath,
|
|
144
|
+
build_plan_after_path: options.buildPlanAfterPath,
|
|
145
|
+
prompt_log_path: options.promptLogPath,
|
|
146
|
+
event_log_path: options.eventLogPath,
|
|
147
|
+
status_log_path: options.statusLogPath,
|
|
148
|
+
preserved_shell_manifest_path: options.preservedShellManifestPath,
|
|
149
|
+
validation: options.validation,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
export async function runBuildPlanImprovementLoop(options) {
|
|
153
|
+
const verifiableContextName = readInterfConfig(options.verifiableContextPath)?.name ?? "verifiable-context";
|
|
154
|
+
const context = buildLoopContext(options);
|
|
155
|
+
const shell = createBuildPlanImprovementShell({
|
|
156
|
+
verifiableContextPath: options.verifiableContextPath,
|
|
157
|
+
verifiableContextName,
|
|
158
|
+
buildPlanId: options.buildPlanId,
|
|
159
|
+
runId: options.runId,
|
|
160
|
+
loopIndex: options.loopIndex,
|
|
161
|
+
context,
|
|
162
|
+
});
|
|
163
|
+
const buildPlanRoot = buildPlanPackagePathForVerifiableContext(options.verifiableContextPath);
|
|
164
|
+
const session = await runBuildPlanEditSession({
|
|
165
|
+
executor: options.executor,
|
|
166
|
+
buildPlanPath: buildPlanRoot,
|
|
167
|
+
shell,
|
|
168
|
+
prompt: buildBuildPlanImprovementPrompt(),
|
|
169
|
+
validate: validateBuildPlanPackage,
|
|
170
|
+
maxValidationRepairAttempts: 1,
|
|
171
|
+
});
|
|
172
|
+
if (session.status === "updated") {
|
|
173
|
+
// 0.15 — fill role=general on any stage the improvement run
|
|
174
|
+
// dropped a role from. Idempotent and silent when complete.
|
|
175
|
+
ensureStageRoles(buildPlanRoot);
|
|
176
|
+
}
|
|
177
|
+
const preservedShellManifestPath = freezeBuildPlanImprovementShell(shell.rootPath);
|
|
178
|
+
writeBuildPlanImprovementRunLedger(options.verifiableContextPath, options.runId, buildBuildPlanImprovementLoopRecord({
|
|
179
|
+
targetName: verifiableContextName,
|
|
180
|
+
buildPlanId: options.buildPlanId,
|
|
181
|
+
runId: options.runId,
|
|
182
|
+
loopIndex: options.loopIndex,
|
|
183
|
+
shellPath: shell.rootPath,
|
|
184
|
+
loopRootPath: shell.loopRootPath,
|
|
185
|
+
buildPlanBeforePath: shell.buildPlanBeforePath,
|
|
186
|
+
buildPlanAfterPath: shell.buildPlanAfterPath,
|
|
187
|
+
promptLogPath: shell.promptLogPath,
|
|
188
|
+
eventLogPath: shell.eventLogPath,
|
|
189
|
+
statusLogPath: shell.statusLogPath,
|
|
190
|
+
preservedShellManifestPath,
|
|
191
|
+
changed: session.changed,
|
|
192
|
+
validation: session.validation,
|
|
193
|
+
result: session.status,
|
|
194
|
+
summary: session.summary,
|
|
195
|
+
}), {
|
|
196
|
+
targetName: verifiableContextName,
|
|
197
|
+
buildPlanId: options.buildPlanId,
|
|
198
|
+
maxLoops: options.maxLoops,
|
|
199
|
+
maxAttempts: options.maxAttempts,
|
|
200
|
+
});
|
|
201
|
+
if (session.status === "updated") {
|
|
202
|
+
updateBuildPlanOrigin({
|
|
203
|
+
verifiableContextPath: options.verifiableContextPath,
|
|
204
|
+
selectedBuildPlanId: options.buildPlanId,
|
|
205
|
+
localDraft: true,
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
return {
|
|
209
|
+
status: session.status,
|
|
210
|
+
changed: session.changed,
|
|
211
|
+
validation: session.validation,
|
|
212
|
+
summary: session.summary,
|
|
213
|
+
shellPath: shell.rootPath,
|
|
214
|
+
loopRootPath: shell.loopRootPath,
|
|
215
|
+
};
|
|
216
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export declare function copyDirectory(sourcePath: string, targetPath: string): void;
|
|
2
2
|
export declare function directoriesMatch(leftPath: string, rightPath: string): boolean;
|
|
3
|
-
export interface
|
|
3
|
+
export interface BuildPlanEditShellArtifacts {
|
|
4
4
|
rootPath: string;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
buildPlanBeforePath: string;
|
|
6
|
+
buildPlanAfterPath: string;
|
|
7
7
|
promptLogPath: string;
|
|
8
8
|
eventLogPath: string;
|
|
9
9
|
statusLogPath: string;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const DEFAULT_BUILD_PLAN_ID = "interf-default";
|
|
2
|
+
export interface BuildPlanSelectionLike {
|
|
3
|
+
build_plan?: string | null;
|
|
4
|
+
}
|
|
5
|
+
export declare function buildPlanIdForSourcePreparationConfig(preparationConfig: BuildPlanSelectionLike | null | undefined): string | null;
|
|
6
|
+
export declare function resolveBuildPlanId(selection: BuildPlanSelectionLike | null | undefined, fallback?: string): string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const DEFAULT_BUILD_PLAN_ID = "interf-default";
|
|
2
|
+
export function buildPlanIdForSourcePreparationConfig(preparationConfig) {
|
|
3
|
+
return preparationConfig?.build_plan ?? null;
|
|
4
|
+
}
|
|
5
|
+
export function resolveBuildPlanId(selection, fallback = DEFAULT_BUILD_PLAN_ID) {
|
|
6
|
+
return buildPlanIdForSourcePreparationConfig(selection) ?? fallback;
|
|
7
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { type LocalBuildPlanDefinition } from "./local-build-plans.js";
|
|
2
|
+
import type { BuildPlanEngineApi } from "../../engine/build/lib/schema.js";
|
|
3
|
+
import type { BuildPlanId, RuntimeContractType } from "../../contracts/lib/schema.js";
|
|
4
|
+
import { type ContextInterface, type ContextInterfaceArtifactId, type BuildPlanInputSpec } from "./context-interface.js";
|
|
5
|
+
export interface BuildPlanStarterDoc {
|
|
6
|
+
relativePath: string;
|
|
7
|
+
content: string;
|
|
8
|
+
}
|
|
9
|
+
export interface BuildPlanStageDefinition {
|
|
10
|
+
id: string;
|
|
11
|
+
label: string;
|
|
12
|
+
description: string;
|
|
13
|
+
contractType: RuntimeContractType;
|
|
14
|
+
skillDir: string;
|
|
15
|
+
/**
|
|
16
|
+
* Role hint declared by the Build Plan package. Defaults to `general` when
|
|
17
|
+
* absent; mapped to a connected agent via the user's role-map at run
|
|
18
|
+
* time.
|
|
19
|
+
*/
|
|
20
|
+
role: string;
|
|
21
|
+
reads: ContextInterfaceArtifactId[];
|
|
22
|
+
writes: ContextInterfaceArtifactId[];
|
|
23
|
+
}
|
|
24
|
+
export interface BuildPlanDefinition<TId extends string> {
|
|
25
|
+
id: TId;
|
|
26
|
+
engineApi?: BuildPlanEngineApi;
|
|
27
|
+
purpose?: {
|
|
28
|
+
label: string;
|
|
29
|
+
taskHint: string;
|
|
30
|
+
};
|
|
31
|
+
inputs?: BuildPlanInputSpec[];
|
|
32
|
+
label: string;
|
|
33
|
+
hint: string;
|
|
34
|
+
recommended?: boolean;
|
|
35
|
+
contextInterface?: ContextInterface;
|
|
36
|
+
schema?: ContextInterface;
|
|
37
|
+
stages: BuildPlanStageDefinition[];
|
|
38
|
+
stagePolicyNotes?: Record<string, string[]>;
|
|
39
|
+
starterDocs?: BuildPlanStarterDoc[];
|
|
40
|
+
scope?: "builtin" | "user" | "local";
|
|
41
|
+
}
|
|
42
|
+
export type ResolvedBuildPlanId = string;
|
|
43
|
+
export declare function standaloneBuildPlanDefinitionFromLocalPackage(local: LocalBuildPlanDefinition): BuildPlanDefinition<string>;
|
|
44
|
+
export declare function listBuildPlanChoices(prepDataDir?: string): BuildPlanDefinition<string>[];
|
|
45
|
+
export declare function getBuildPlan(buildPlanId: ResolvedBuildPlanId, options?: {
|
|
46
|
+
prepDataDir?: string;
|
|
47
|
+
}): BuildPlanDefinition<string>;
|
|
48
|
+
export declare function getActiveBuildPlan(verifiableContextPath: string): BuildPlanDefinition<string>;
|
|
49
|
+
export declare function resolveVerifiableContextBuildPlanId(value: unknown): ResolvedBuildPlanId | null;
|
|
50
|
+
export declare function resolveBuildPlanFromConfig(config: unknown): ResolvedBuildPlanId | null;
|
|
51
|
+
export declare function resolveRequiredBuildPlanFromConfig(config: unknown, label?: string): ResolvedBuildPlanId;
|
|
52
|
+
export declare function getBuildPlanStageDefinition(buildPlanId: BuildPlanId, stage: string, prepDataDir?: string): BuildPlanStageDefinition | null;
|
|
53
|
+
export declare function getBuildPlanStagePosition(buildPlanId: BuildPlanId, stage: string, prepDataDir?: string): {
|
|
54
|
+
stageIndex: number;
|
|
55
|
+
stageTotal: number;
|
|
56
|
+
stages: string[];
|
|
57
|
+
} | null;
|
|
58
|
+
export declare function getBuildPlanStages(buildPlanId: BuildPlanId, prepDataDir?: string): string[];
|
|
59
|
+
export declare function getActiveBuildPlanStages(verifiableContextPath: string): string[];
|
|
60
|
+
export declare function getActiveBuildPlanStagePolicyNotes(verifiableContextPath: string, stage: string): string[];
|
|
61
|
+
export declare function formatActiveBuildPlanStageLabel(verifiableContextPath: string, stage: string): string;
|