@interf/compiler 0.18.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/build-plan.d.ts +2 -0
- package/dist/cli/commands/build-plan.js +376 -0
- 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.d.ts +0 -34
- package/dist/cli/commands/mcp.js +261 -60
- package/dist/cli/commands/prep.js +67 -35
- package/dist/cli/commands/reset.d.ts +1 -1
- package/dist/cli/commands/reset.js +6 -6
- package/dist/cli/commands/runs.js +105 -33
- package/dist/cli/commands/status.js +4 -2
- package/dist/cli/commands/test.d.ts +10 -0
- package/dist/cli/commands/{verify.js → test.js} +19 -21
- package/dist/cli/commands/web.js +82 -8
- package/dist/cli/commands/wizard.js +63 -64
- package/dist/cli/index.d.ts +4 -4
- package/dist/cli/index.js +7 -7
- package/dist/interf-ui/404.html +1 -0
- package/dist/interf-ui/__next.__PAGE__.txt +10 -0
- package/dist/{compiler-ui → interf-ui}/__next._full.txt +12 -12
- package/dist/interf-ui/__next._head.txt +5 -0
- package/dist/{compiler-ui → interf-ui}/__next._index.txt +4 -4
- package/dist/{compiler-ui → interf-ui}/__next._tree.txt +3 -3
- 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/{compiler-ui/_next/static/chunks/0_i-3_5l9t2qe.js → interf-ui/_next/static/chunks/0dn41fa_zvgsl.js} +1 -1
- 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/{compiler-ui/_next/static/chunks/08g7lvje.te.u.js → interf-ui/_next/static/chunks/0nv3am99vjzn4.js} +1 -1
- package/dist/{compiler-ui/_next/static/chunks/0n51hrfoufc7g.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/{compiler-ui/_next/static/chunks/08m7vf5asqlsm.js → interf-ui/_next/static/chunks/14dznb2qpt-ho.js} +5 -5
- package/dist/interf-ui/_next/static/chunks/15z_en80lrq-3.js +5 -0
- package/dist/{compiler-ui/_next/static/chunks/turbopack-10e~t1yzi4svj.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/{compiler-ui → interf-ui}/_not-found/__next._full.txt +9 -9
- package/dist/interf-ui/_not-found/__next._head.txt +5 -0
- package/dist/{compiler-ui → interf-ui}/_not-found/__next._index.txt +4 -4
- 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 -2
- package/dist/interf-ui/_not-found.html +1 -0
- package/dist/{compiler-ui → interf-ui}/_not-found.txt +9 -9
- package/dist/interf-ui/index.html +1 -0
- package/dist/{compiler-ui → interf-ui}/index.txt +12 -12
- 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} +57 -88
- 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/build-plans/package/local-build-plans.js +472 -0
- 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 +38 -41
- package/dist/packages/contracts/lib/schema.js +44 -35
- package/dist/packages/engine/action-definitions.d.ts +228 -67
- package/dist/packages/engine/action-definitions.js +277 -273
- package/dist/packages/engine/action-planner.d.ts +2 -2
- package/dist/packages/engine/action-planner.js +8 -15
- 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 +33 -31
- package/dist/packages/engine/agents/lib/shells.js +254 -250
- 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/connection-config.js +1 -1
- 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 +100 -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 +45 -39
- package/dist/packages/engine/instance-paths.js +54 -48
- package/dist/packages/engine/lib/schema.d.ts +1568 -484
- package/dist/packages/engine/lib/schema.js +172 -161
- package/dist/packages/engine/native-run-handlers.d.ts +12 -12
- package/dist/packages/engine/native-run-handlers.js +138 -136
- package/dist/packages/engine/preparation-store.d.ts +31 -36
- package/dist/packages/engine/preparation-store.js +42 -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 +5 -0
- package/dist/packages/engine/requested-artifacts.js +36 -0
- 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 +103 -90
- 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 +15 -15
- package/dist/packages/engine/runtime-proposal-helpers.js +81 -85
- package/dist/packages/engine/runtime-resource-builders.d.ts +16 -11
- package/dist/packages/engine/runtime-resource-builders.js +32 -21
- package/dist/packages/engine/runtime.d.ts +53 -60
- package/dist/packages/engine/runtime.js +555 -453
- package/dist/packages/engine/server.d.ts +2 -2
- package/dist/packages/engine/server.js +226 -143
- 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 +42 -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 +36 -36
- 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 +205 -12
- package/dist/packages/project/lib/schema.js +59 -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 +62 -58
- package/dist/packages/project/source-folders.js +1 -1
- package/package.json +14 -17
- package/public-repo/CONTRIBUTING.md +47 -0
- package/public-repo/README.md +327 -0
- package/public-repo/SECURITY.md +67 -0
- package/public-repo/build-plans/interf-default/README.md +33 -0
- package/public-repo/build-plans/interf-default/build/stages/shape/SKILL.md +27 -0
- package/{builtin-methods/interf-default/compile → public-repo/build-plans/interf-default/build}/stages/structure/SKILL.md +2 -2
- package/{builtin-methods/interf-default/compile → public-repo/build-plans/interf-default/build}/stages/summarize/SKILL.md +1 -1
- package/{builtin-methods/interf-default/method.json → public-repo/build-plans/interf-default/build-plan.json} +16 -16
- package/{builtin-methods/interf-default/method.schema.json → public-repo/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/build-plans/interf-default/use/query/SKILL.md +23 -0
- package/public-repo/plugins/README.md +9 -0
- package/public-repo/plugins/interf/.claude-plugin/plugin.json +21 -0
- package/public-repo/plugins/interf/.mcp.json +12 -0
- package/public-repo/plugins/interf/README.md +32 -0
- package/public-repo/plugins/interf/skills/interf/SKILL.md +376 -0
- package/public-repo/skills/interf/SKILL.md +376 -0
- package/README.md +0 -311
- package/agent-skills/interf-actions/SKILL.md +0 -185
- package/agent-skills/interf-actions/references/cli.md +0 -243
- package/builtin-methods/interf-default/README.md +0 -29
- package/builtin-methods/interf-default/compile/stages/shape/SKILL.md +0 -31
- package/builtin-methods/interf-default/improve/SKILL.md +0 -18
- package/builtin-methods/interf-default/use/query/SKILL.md +0 -28
- package/dist/cli/commands/method.d.ts +0 -2
- package/dist/cli/commands/method.js +0 -113
- package/dist/cli/commands/verify.d.ts +0 -10
- package/dist/compiler-ui/404.html +0 -1
- package/dist/compiler-ui/__next.__PAGE__.txt +0 -10
- package/dist/compiler-ui/__next._head.txt +0 -5
- package/dist/compiler-ui/_next/static/chunks/06yhdspx~ca5-.js +0 -5
- package/dist/compiler-ui/_next/static/chunks/06z~l3kwb891e.js +0 -1
- package/dist/compiler-ui/_next/static/chunks/0_c_tvh-cukjz.css +0 -3
- package/dist/compiler-ui/_next/static/chunks/0b-ywny_j0g~0.js +0 -1
- package/dist/compiler-ui/_next/static/chunks/0b52v41o1gixx.js +0 -1
- package/dist/compiler-ui/_next/static/chunks/0f_geuwdesg_c.js +0 -114
- package/dist/compiler-ui/_next/static/chunks/0gpzgsv0w.q~m.js +0 -31
- package/dist/compiler-ui/_next/static/chunks/0ilwfezfvu6~-.js +0 -1
- package/dist/compiler-ui/_next/static/chunks/0xxmf45eskdt~.css +0 -1
- package/dist/compiler-ui/_next/static/chunks/14wtz~vq25~qq.js +0 -1
- package/dist/compiler-ui/_next/static/chunks/turbopack-0.uq1k8c0j4s..js +0 -1
- package/dist/compiler-ui/_not-found/__next._head.txt +0 -5
- 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/index.html +0 -1
- 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 -34
- 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 -73
- package/dist/packages/methods/package/local-methods.js +0 -457
- 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/dist/{compiler-ui/_next/static/6qyE1u9m_oBUkvAhhoCmO → interf-ui/_next/static/_qJKnA0dammQ306MG_zMq}/_buildManifest.js +0 -0
- /package/dist/{compiler-ui/_next/static/6qyE1u9m_oBUkvAhhoCmO → interf-ui/_next/static/_qJKnA0dammQ306MG_zMq}/_clientMiddlewareManifest.js +0 -0
- /package/dist/{compiler-ui/_next/static/6qyE1u9m_oBUkvAhhoCmO → interf-ui/_next/static/_qJKnA0dammQ306MG_zMq}/_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
- /package/{LICENSE.md → public-repo/LICENSE.md} +0 -0
- /package/{TRADEMARKS.md → public-repo/TRADEMARKS.md} +0 -0
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { existsSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { createBuildPlanAuthoringShell, } from "../../engine/agents/lib/shells.js";
|
|
4
|
+
import { createScratchLocalBuildPlanPackage } from "../package/interf-build-plan-package.js";
|
|
5
5
|
import { CONTEXT_INTERFACE_FILE, listContextInterfaceArtifacts } from "../package/context-interface.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { loadBuildPlanDefinitionFromDir, validateBuildPlanPackage, buildPlanDefinitionPath, } from "../package/local-build-plans.js";
|
|
7
|
+
import { runBuildPlanEditSession } from "./build-plan-edit-session.js";
|
|
8
8
|
/**
|
|
9
|
-
* Walk
|
|
9
|
+
* Walk build-plan.json after a successful authoring run and fill in
|
|
10
10
|
* `role: "general"` for any stage missing a role field. Custom role
|
|
11
11
|
* names are kept as-is. Idempotent — does nothing when every stage
|
|
12
12
|
* already declares a role. Returns the list of stage ids that were
|
|
13
13
|
* touched so the runtime can surface that to the user.
|
|
14
14
|
*/
|
|
15
|
-
export function ensureStageRoles(
|
|
16
|
-
const
|
|
17
|
-
if (!existsSync(
|
|
15
|
+
export function ensureStageRoles(buildPlanPath) {
|
|
16
|
+
const buildPlanJsonPath = join(buildPlanPath, "build-plan.json");
|
|
17
|
+
if (!existsSync(buildPlanJsonPath))
|
|
18
18
|
return [];
|
|
19
19
|
let raw;
|
|
20
20
|
try {
|
|
21
|
-
raw = readFileSync(
|
|
21
|
+
raw = readFileSync(buildPlanJsonPath, "utf8");
|
|
22
22
|
}
|
|
23
23
|
catch {
|
|
24
24
|
return [];
|
|
@@ -54,44 +54,44 @@ export function ensureStageRoles(methodPath) {
|
|
|
54
54
|
if (!changed)
|
|
55
55
|
return [];
|
|
56
56
|
value.stages = nextStages;
|
|
57
|
-
writeFileSync(
|
|
57
|
+
writeFileSync(buildPlanJsonPath, `${JSON.stringify(value, null, 2)}\n`);
|
|
58
58
|
return touched;
|
|
59
59
|
}
|
|
60
|
-
function
|
|
60
|
+
function buildBuildPlanAuthoringPrompt() {
|
|
61
61
|
return [
|
|
62
|
-
"This is an automated Interf
|
|
62
|
+
"This is an automated Interf Build Plan authoring run, not an open-ended chat session.",
|
|
63
63
|
"Execute it now.",
|
|
64
|
-
"Create one standalone
|
|
64
|
+
"Create one standalone Build Plan package for the source data, desired verifiable-context outputs, and proof requirements in this source folder.",
|
|
65
65
|
"Read `runtime/authoring-context.json` first.",
|
|
66
66
|
"Treat `task_prompt` as the user's preparation-and-evidence brief: source data, output shape, and evidence that should show the data is ready.",
|
|
67
|
-
`Then read \`
|
|
68
|
-
"The `
|
|
69
|
-
"Replace the scaffold purpose, inputs, Artifacts, stages, stage docs, checks, and query guidance with the
|
|
67
|
+
`Then read \`build-plan/README.md\`, \`build-plan/build-plan.json\`, and \`build-plan/${CONTEXT_INTERFACE_FILE}\`.`,
|
|
68
|
+
"The `build-plan/` directory starts as a neutral Build Plan scaffold, not as a suggested final plan.",
|
|
69
|
+
"Replace the scaffold purpose, inputs, Artifacts, stages, stage docs, checks, and query guidance with the Build Plan this agent work actually needs.",
|
|
70
70
|
"Read `runtime/source-files.json` and inspect the listed source locators before editing the package.",
|
|
71
71
|
"Prefer direct file-reading and search tools over shell commands for routine file inspection.",
|
|
72
72
|
"Do not use shell helpers like `cat`, `sed`, `ls`, or `find` when a native read/search tool can inspect the same files.",
|
|
73
|
-
"Edit only files under `
|
|
74
|
-
"Keep the
|
|
73
|
+
"Edit only files under `build-plan/`.",
|
|
74
|
+
"Keep the Build Plan valid for the current local-engine API and `build-plan.schema.json`.",
|
|
75
75
|
"Choose stage ids, stage order, artifact reads, artifact writes, artifact checks, and stage docs from the source data and preparation-and-evidence brief.",
|
|
76
76
|
"Use kebab-case ids everywhere: stage ids, skill_dir values, Artifact ids, reads/writes values, and package ids. Never use underscores.",
|
|
77
77
|
"Each stage MAY declare a `role`: one of `extractor`, `summarizer`, `structurer`, `verifier`, or `general`. Pick the role that best matches what the stage's prompt asks the agent to do. Omit `role` (or use `general`) when the stage doesn't fit any specialized role. Custom role names are allowed; the engine treats unknown roles as `general`.",
|
|
78
|
-
"Do not preserve the placeholder `prepare` stage unless the final
|
|
78
|
+
"Do not preserve the placeholder `prepare` stage unless the final Build Plan genuinely needs a stage with that exact role.",
|
|
79
79
|
"Put deterministic validation on Artifact `checks[]`; do not add stage `acceptance` blocks.",
|
|
80
80
|
"Use only the CheckKind values listed in `runtime/authoring-context.json`; do not invent aliases.",
|
|
81
|
-
"Keep Artifact checks
|
|
82
|
-
"For every stage in `
|
|
83
|
-
"Every Artifact path in `
|
|
81
|
+
"Keep Artifact checks aligned with produced outputs. Use stage docs to describe the output contract, but do not turn source-specific user wording into brittle stage-doc wording requirements.",
|
|
82
|
+
"For every stage in `build-plan.json`, create `build-plan/build/stages/<skill_dir>/SKILL.md` and make the folder name exactly match that stage's kebab-case `skill_dir`.",
|
|
83
|
+
"Every Artifact path in `build-plan.schema.json` must be unique and non-overlapping.",
|
|
84
84
|
"Make the package materially specific to this Preparation task, output shape, and proof requirement. A no-op scaffold is not acceptable.",
|
|
85
|
-
"Treat the
|
|
86
|
-
"If the
|
|
85
|
+
"Treat the Build Plan as four aligned layers: purpose, inputs, context interface, and stages.",
|
|
86
|
+
"If the Build Plan writes an agent entrypoint, declare it as an Artifact and make the final shaping stage own it.",
|
|
87
87
|
"Prefer explicit stage-doc, stage-policy, purpose, input-contract, and context-interface edits over vague rewrites.",
|
|
88
|
-
"Do not introduce wikilinks unless the
|
|
88
|
+
"Do not introduce wikilinks unless the Build Plan also creates the target note by exact basename or explicit relative path.",
|
|
89
89
|
"Respect stage boundaries: a stage may only introduce links that resolve within that stage's declared writes or already-existing read Artifacts.",
|
|
90
90
|
"Do not make one stage point at files or notes that are only created later by another stage.",
|
|
91
91
|
"Prefer conservative retrieval routing over speculative note sprawl.",
|
|
92
92
|
"Do not narrate plans or ask follow-up questions.",
|
|
93
93
|
"Only emit user-visible updates that begin with STATUS:, DONE:, BLOCKED:, or ERROR:.",
|
|
94
|
-
"As soon as the
|
|
94
|
+
"As soon as the Build Plan edits are complete, stop.",
|
|
95
95
|
].join("\n");
|
|
96
96
|
}
|
|
97
97
|
function stableJson(value) {
|
|
@@ -116,40 +116,8 @@ function checkMatchesRequirement(actual, required) {
|
|
|
116
116
|
function producingStagesForArtifact(definition, artifactId) {
|
|
117
117
|
return (definition.stages ?? []).filter((stage) => Array.isArray(stage.writes) && stage.writes.includes(artifactId));
|
|
118
118
|
}
|
|
119
|
-
function
|
|
120
|
-
|
|
121
|
-
.map((stage) => join(methodPath, "compile", "stages", stage.skill_dir ?? stage.id, "SKILL.md"))
|
|
122
|
-
.filter((filePath) => existsSync(filePath))
|
|
123
|
-
.map((filePath) => readFileSync(filePath, "utf8"))
|
|
124
|
-
.join("\n");
|
|
125
|
-
}
|
|
126
|
-
function validateMustContainStageDocs(methodPath, definition) {
|
|
127
|
-
const artifacts = definition.method_schema.artifacts ?? [];
|
|
128
|
-
const errors = [];
|
|
129
|
-
for (const artifact of artifacts) {
|
|
130
|
-
const producingStages = producingStagesForArtifact(definition, artifact.id);
|
|
131
|
-
if (producingStages.length === 0)
|
|
132
|
-
continue;
|
|
133
|
-
const producingStageDocs = readProducingStageDocs(methodPath, producingStages);
|
|
134
|
-
for (const check of artifact.checks ?? []) {
|
|
135
|
-
if (check.kind !== "must_contain")
|
|
136
|
-
continue;
|
|
137
|
-
const phrases = check.params?.phrases;
|
|
138
|
-
if (!Array.isArray(phrases))
|
|
139
|
-
continue;
|
|
140
|
-
for (const phrase of phrases) {
|
|
141
|
-
if (typeof phrase !== "string")
|
|
142
|
-
continue;
|
|
143
|
-
if (!producingStageDocs.includes(phrase)) {
|
|
144
|
-
errors.push(`Artifact \`${artifact.id}\` check \`${check.id}\` requires phrase not present in producing stage docs.`);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
return errors;
|
|
150
|
-
}
|
|
151
|
-
function validateArtifactRequirements(methodPath, definition, requirements) {
|
|
152
|
-
const artifacts = definition.method_schema.artifacts ?? [];
|
|
119
|
+
function validateArtifactRequirements(definition, requirements) {
|
|
120
|
+
const artifacts = definition.build_plan_schema.artifacts ?? [];
|
|
153
121
|
const errors = [];
|
|
154
122
|
for (const requirement of requirements) {
|
|
155
123
|
const artifact = artifacts.find((candidate) => candidate.id === requirement.id);
|
|
@@ -174,74 +142,75 @@ function validateArtifactRequirements(methodPath, definition, requirements) {
|
|
|
174
142
|
}
|
|
175
143
|
return errors;
|
|
176
144
|
}
|
|
177
|
-
function
|
|
178
|
-
const validation =
|
|
145
|
+
function validateAuthoredBuildPlanPackage(buildPlanPath, artifactRequirements = []) {
|
|
146
|
+
const validation = validateBuildPlanPackage(buildPlanPath);
|
|
179
147
|
if (!validation.ok)
|
|
180
148
|
return validation;
|
|
181
|
-
const definition =
|
|
149
|
+
const definition = loadBuildPlanDefinitionFromDir(buildPlanPath);
|
|
182
150
|
if (!definition)
|
|
183
151
|
return validation;
|
|
184
152
|
const errors = [...validation.errors];
|
|
185
153
|
const placeholderStage = definition.stages?.find((stage) => stage.id === "prepare" &&
|
|
186
|
-
stage.contract_type === "
|
|
154
|
+
stage.contract_type === "build-plan-draft-stage" &&
|
|
187
155
|
stage.writes.includes("draft-context"));
|
|
188
|
-
const placeholderArtifact = listContextInterfaceArtifacts(definition.
|
|
189
|
-
const placeholderPurpose = definition.purpose?.label === "From-scratch
|
|
156
|
+
const placeholderArtifact = listContextInterfaceArtifacts(definition.build_plan_schema).find((artifact) => artifact.id === "draft-context");
|
|
157
|
+
const placeholderPurpose = definition.purpose?.label === "From-scratch Build Plan draft" ||
|
|
190
158
|
definition.purpose?.task_hint?.includes("Replace this neutral scaffold");
|
|
191
159
|
if (placeholderStage) {
|
|
192
|
-
errors.push("Authored
|
|
160
|
+
errors.push("Authored Build Plan still contains the neutral scaffold stage `prepare`.");
|
|
193
161
|
}
|
|
194
162
|
if (placeholderArtifact) {
|
|
195
|
-
errors.push("Authored
|
|
163
|
+
errors.push("Authored Build Plan still contains the neutral scaffold artifact `draft-context`.");
|
|
196
164
|
}
|
|
197
165
|
if (placeholderPurpose) {
|
|
198
|
-
errors.push("Authored
|
|
166
|
+
errors.push("Authored Build Plan still contains the neutral scaffold purpose.");
|
|
199
167
|
}
|
|
200
|
-
errors.push(...validateArtifactRequirements(
|
|
201
|
-
errors.push(...validateMustContainStageDocs(methodPath, definition));
|
|
168
|
+
errors.push(...validateArtifactRequirements(definition, artifactRequirements));
|
|
202
169
|
return {
|
|
203
170
|
ok: validation.ok && errors.length === 0,
|
|
204
171
|
summary: errors.length === 0
|
|
205
172
|
? validation.summary
|
|
206
|
-
: `
|
|
173
|
+
: `Build Plan package has ${errors.length} issue(s).`,
|
|
207
174
|
errors,
|
|
208
175
|
counts: validation.counts,
|
|
209
176
|
};
|
|
210
177
|
}
|
|
211
|
-
export async function
|
|
212
|
-
const
|
|
178
|
+
export async function runBuildPlanAuthoringDraft(options) {
|
|
179
|
+
const buildPlanPath = createScratchLocalBuildPlanPackage({
|
|
213
180
|
prepDataDir: options.prepDataDir,
|
|
214
|
-
|
|
181
|
+
buildPlanId: options.buildPlanId,
|
|
215
182
|
label: options.label,
|
|
216
183
|
hint: options.hint,
|
|
217
184
|
});
|
|
218
|
-
const shell =
|
|
219
|
-
|
|
220
|
-
|
|
185
|
+
const shell = createBuildPlanAuthoringShell({
|
|
186
|
+
buildPlanPath,
|
|
187
|
+
buildPlanId: options.buildPlanId,
|
|
221
188
|
label: options.label,
|
|
222
|
-
|
|
189
|
+
referenceBuildPlanId: options.baseBuildPlanId ?? null,
|
|
223
190
|
sourceFolderPath: options.sourceFolderPath,
|
|
224
191
|
taskPrompt: options.taskPrompt,
|
|
225
192
|
checks: options.checks ?? [],
|
|
193
|
+
requestedArtifacts: options.requestedArtifacts ?? [],
|
|
194
|
+
sourceProfile: options.sourceProfile ?? null,
|
|
226
195
|
artifactRequirements: options.artifactRequirements ?? [],
|
|
227
196
|
});
|
|
228
|
-
const session = await
|
|
197
|
+
const session = await runBuildPlanEditSession({
|
|
229
198
|
executor: options.executor,
|
|
230
|
-
|
|
199
|
+
buildPlanPath,
|
|
231
200
|
shell,
|
|
232
|
-
prompt:
|
|
233
|
-
validate: (
|
|
201
|
+
prompt: buildBuildPlanAuthoringPrompt(),
|
|
202
|
+
validate: (buildPlanPath) => validateAuthoredBuildPlanPackage(buildPlanPath, options.artifactRequirements ?? []),
|
|
234
203
|
maxValidationRepairAttempts: 1,
|
|
235
204
|
onStatus: options.onStatus,
|
|
236
205
|
});
|
|
237
206
|
if (session.status !== "updated") {
|
|
238
|
-
rmSync(
|
|
207
|
+
rmSync(buildPlanPath, { recursive: true, force: true });
|
|
239
208
|
}
|
|
240
209
|
else {
|
|
241
210
|
// 0.15 — auto-fill `role: "general"` for any stage the agent
|
|
242
211
|
// didn't explicitly tag. Idempotent and silent when every stage
|
|
243
212
|
// already declares a role.
|
|
244
|
-
const touched = ensureStageRoles(
|
|
213
|
+
const touched = ensureStageRoles(buildPlanPath);
|
|
245
214
|
if (touched.length > 0 && options.onStatus) {
|
|
246
215
|
options.onStatus(`STATUS: filled role=general on ${touched.length} stage(s) the author didn't tag (${touched.join(", ")}).`);
|
|
247
216
|
}
|
|
@@ -251,10 +220,10 @@ export async function runMethodAuthoringDraft(options) {
|
|
|
251
220
|
changed: session.changed,
|
|
252
221
|
summary: session.summary,
|
|
253
222
|
validation: session.validation,
|
|
254
|
-
|
|
223
|
+
buildPlanPath,
|
|
255
224
|
shellPath: shell.rootPath,
|
|
256
225
|
};
|
|
257
226
|
}
|
|
258
|
-
export function
|
|
259
|
-
return
|
|
227
|
+
export function resolveBuildPlanDraftPath(sourcePath, buildPlanId) {
|
|
228
|
+
return buildPlanDefinitionPath(sourcePath, buildPlanId);
|
|
260
229
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AgentExecutor } from "../../engine/agents/lib/executors.js";
|
|
2
|
+
import type { BuildPlanValidationResult } from "../package/local-build-plans.js";
|
|
3
|
+
import { type BuildPlanEditShellArtifacts } from "./lib/build-plan-edit-utils.js";
|
|
4
|
+
export interface BuildPlanEditSessionResult {
|
|
5
|
+
status: "updated" | "no-change" | "invalid" | "executor-failed";
|
|
6
|
+
changed: boolean;
|
|
7
|
+
validation: BuildPlanValidationResult | null;
|
|
8
|
+
summary: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function runBuildPlanEditSession(options: {
|
|
11
|
+
executor: AgentExecutor;
|
|
12
|
+
buildPlanPath: string;
|
|
13
|
+
shell: BuildPlanEditShellArtifacts;
|
|
14
|
+
prompt: string;
|
|
15
|
+
validate: (buildPlanPath: string) => BuildPlanValidationResult;
|
|
16
|
+
maxValidationRepairAttempts?: number;
|
|
17
|
+
onStatus?: (line: string) => void;
|
|
18
|
+
}): Promise<BuildPlanEditSessionResult>;
|
|
@@ -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>;
|