@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,15 +1,15 @@
|
|
|
1
1
|
import { type InterfConfig } from "./lib/schema.js";
|
|
2
2
|
export type { InterfConfig } from "./lib/schema.js";
|
|
3
|
-
export interface
|
|
3
|
+
export interface ResolvedVerifiableContext {
|
|
4
4
|
prepDataDir: string;
|
|
5
|
-
|
|
5
|
+
verifiableContextPath: string;
|
|
6
6
|
config: InterfConfig;
|
|
7
7
|
}
|
|
8
8
|
export declare const INTERF_CONTAINER_NAME = "interf";
|
|
9
|
-
export declare const
|
|
9
|
+
export declare const BUILD_PLAN_CONTAINER_NAME = "build-plans";
|
|
10
10
|
export declare const TEST_CONTAINER_NAME = "tests";
|
|
11
11
|
export declare const INTERF_CONFIG_FILE = "interf.json";
|
|
12
|
-
export declare const
|
|
12
|
+
export declare const BUILD_PLAN_PACKAGE_DIR = "build-plan";
|
|
13
13
|
export declare function readInterfConfig(dirPath: string): InterfConfig | null;
|
|
14
14
|
export declare function hasSourceFolderInput(config: InterfConfig | null | undefined): config is InterfConfig & {
|
|
15
15
|
source: {
|
|
@@ -25,14 +25,14 @@ export declare function detectInterf(cwd: string): {
|
|
|
25
25
|
path: string;
|
|
26
26
|
config: InterfConfig;
|
|
27
27
|
} | null;
|
|
28
|
-
export declare function
|
|
29
|
-
export declare function resolveSourceFolderPath(
|
|
30
|
-
export declare function resolveSourceControlPath(
|
|
31
|
-
export declare function resolveSourceInputPath(
|
|
32
|
-
export declare function
|
|
28
|
+
export declare function resolveVerifiableContext(cwd: string): ResolvedVerifiableContext | null;
|
|
29
|
+
export declare function resolveSourceFolderPath(verifiableContextPath: string, config?: InterfConfig | null): string;
|
|
30
|
+
export declare function resolveSourceControlPath(verifiableContextPath: string): string;
|
|
31
|
+
export declare function resolveSourceInputPath(verifiableContextPath: string): string;
|
|
32
|
+
export declare function listVerifiableContextsForSourceFolder(prepDataDir: string): Array<{
|
|
33
33
|
path: string;
|
|
34
34
|
config: InterfConfig;
|
|
35
35
|
}>;
|
|
36
|
-
export declare function
|
|
36
|
+
export declare function assertVerifiableContextContainer(prepDataDir: string): string;
|
|
37
37
|
export declare function assertWritableTargetDir(dirPath: string, label: string): void;
|
|
38
|
-
export declare function
|
|
38
|
+
export declare function assertVerifiableContextName(name: string, label: string): void;
|
|
@@ -2,17 +2,17 @@ import { existsSync, readdirSync, statSync, } from "node:fs";
|
|
|
2
2
|
import { join, resolve } from "node:path";
|
|
3
3
|
import { warnInterf } from "../contracts/utils/logger.js";
|
|
4
4
|
import { readJsonFileUnchecked } from "../contracts/utils/parse.js";
|
|
5
|
-
import { asPreparationDataDir,
|
|
6
|
-
import {
|
|
5
|
+
import { asPreparationDataDir, preparationVerifiableContextPath, } from "../contracts/lib/preparation-paths.js";
|
|
6
|
+
import { resolveSourceControlPathForVerifiableContext, verifiableContextInterfConfigPath, } from "../engine/build/verifiable-context-paths.js";
|
|
7
7
|
import { InterfConfigSchema, } from "./lib/schema.js";
|
|
8
8
|
import { assertPathWithinRoot } from "../contracts/utils/path-guards.js";
|
|
9
9
|
export const INTERF_CONTAINER_NAME = "interf";
|
|
10
|
-
export const
|
|
10
|
+
export const BUILD_PLAN_CONTAINER_NAME = "build-plans";
|
|
11
11
|
export const TEST_CONTAINER_NAME = "tests";
|
|
12
12
|
export const INTERF_CONFIG_FILE = "interf.json";
|
|
13
|
-
export const
|
|
13
|
+
export const BUILD_PLAN_PACKAGE_DIR = "build-plan";
|
|
14
14
|
export function readInterfConfig(dirPath) {
|
|
15
|
-
const configPath =
|
|
15
|
+
const configPath = verifiableContextInterfConfigPath(dirPath);
|
|
16
16
|
if (!existsSync(configPath))
|
|
17
17
|
return null;
|
|
18
18
|
const raw = readJsonFileUnchecked(configPath, "Interf config");
|
|
@@ -20,7 +20,7 @@ export function readInterfConfig(dirPath) {
|
|
|
20
20
|
return null;
|
|
21
21
|
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
22
22
|
return null;
|
|
23
|
-
if (raw.type !== "
|
|
23
|
+
if (raw.type !== "verifiable-context") {
|
|
24
24
|
return null;
|
|
25
25
|
}
|
|
26
26
|
const parsed = InterfConfigSchema.safeParse(raw);
|
|
@@ -42,37 +42,37 @@ export function detectInterf(cwd) {
|
|
|
42
42
|
return { path: cwd, config };
|
|
43
43
|
return null;
|
|
44
44
|
}
|
|
45
|
-
export function
|
|
45
|
+
export function resolveVerifiableContext(cwd) {
|
|
46
46
|
const detected = detectInterf(cwd);
|
|
47
47
|
if (!detected)
|
|
48
48
|
return null;
|
|
49
49
|
return {
|
|
50
50
|
prepDataDir: resolveSourceControlPath(detected.path),
|
|
51
|
-
|
|
51
|
+
verifiableContextPath: detected.path,
|
|
52
52
|
config: detected.config,
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
|
-
export function resolveSourceFolderPath(
|
|
56
|
-
const resolvedConfig = config ?? readInterfConfig(
|
|
55
|
+
export function resolveSourceFolderPath(verifiableContextPath, config = null) {
|
|
56
|
+
const resolvedConfig = config ?? readInterfConfig(verifiableContextPath);
|
|
57
57
|
if (hasSourcePreparationInput(resolvedConfig)) {
|
|
58
|
-
return resolve(
|
|
58
|
+
return resolve(verifiableContextPath, resolvedConfig.source.preparation_path);
|
|
59
59
|
}
|
|
60
60
|
if (hasSourceFolderInput(resolvedConfig)) {
|
|
61
|
-
return assertPathWithinRoot(
|
|
61
|
+
return assertPathWithinRoot(verifiableContextPath, resolve(verifiableContextPath, resolvedConfig.source.path), "Verifiable context source path");
|
|
62
62
|
}
|
|
63
|
-
throw new Error(`
|
|
63
|
+
throw new Error(`Verifiable context at ${verifiableContextPath} is missing source.preparation_path or source.path in ${verifiableContextInterfConfigPath(verifiableContextPath)}.`);
|
|
64
64
|
}
|
|
65
|
-
export function resolveSourceControlPath(
|
|
66
|
-
return
|
|
65
|
+
export function resolveSourceControlPath(verifiableContextPath) {
|
|
66
|
+
return resolveSourceControlPathForVerifiableContext(verifiableContextPath);
|
|
67
67
|
}
|
|
68
|
-
export function resolveSourceInputPath(
|
|
69
|
-
const config = readInterfConfig(
|
|
68
|
+
export function resolveSourceInputPath(verifiableContextPath) {
|
|
69
|
+
const config = readInterfConfig(verifiableContextPath);
|
|
70
70
|
if (hasSourcePreparationInput(config)) {
|
|
71
|
-
return resolve(
|
|
71
|
+
return resolve(verifiableContextPath, config.source.preparation_path);
|
|
72
72
|
}
|
|
73
|
-
throw new Error(`
|
|
73
|
+
throw new Error(`Verifiable context is missing source.preparation_path in ${verifiableContextInterfConfigPath(verifiableContextPath)}.`);
|
|
74
74
|
}
|
|
75
|
-
export function
|
|
75
|
+
export function listVerifiableContextsForSourceFolder(prepDataDir) {
|
|
76
76
|
if (!existsSync(prepDataDir))
|
|
77
77
|
return [];
|
|
78
78
|
try {
|
|
@@ -85,18 +85,18 @@ export function listPortableContextsForSourceFolder(prepDataDir) {
|
|
|
85
85
|
}
|
|
86
86
|
return readdirSync(prepDataDir)
|
|
87
87
|
.filter((entry) => !entry.startsWith(".") &&
|
|
88
|
-
entry !==
|
|
88
|
+
entry !== BUILD_PLAN_CONTAINER_NAME &&
|
|
89
89
|
entry !== TEST_CONTAINER_NAME &&
|
|
90
90
|
entry !== INTERF_CONFIG_FILE)
|
|
91
|
-
.map((entry) =>
|
|
92
|
-
.filter((
|
|
93
|
-
.map((
|
|
94
|
-
const config = readInterfConfig(
|
|
95
|
-
return config ? { path:
|
|
91
|
+
.map((entry) => preparationVerifiableContextPath(asPreparationDataDir(prepDataDir), entry))
|
|
92
|
+
.filter((verifiableContextPath) => existsSync(verifiableContextPath))
|
|
93
|
+
.map((verifiableContextPath) => {
|
|
94
|
+
const config = readInterfConfig(verifiableContextPath);
|
|
95
|
+
return config ? { path: verifiableContextPath, config } : null;
|
|
96
96
|
})
|
|
97
97
|
.filter((value) => value !== null);
|
|
98
98
|
}
|
|
99
|
-
export function
|
|
99
|
+
export function assertVerifiableContextContainer(prepDataDir) {
|
|
100
100
|
if (existsSync(prepDataDir)) {
|
|
101
101
|
const stat = statSync(prepDataDir);
|
|
102
102
|
if (!stat.isDirectory()) {
|
|
@@ -115,7 +115,7 @@ export function assertCompiledContainer(prepDataDir) {
|
|
|
115
115
|
return true;
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
|
-
if (entry ===
|
|
118
|
+
if (entry === BUILD_PLAN_CONTAINER_NAME ||
|
|
119
119
|
entry === TEST_CONTAINER_NAME) {
|
|
120
120
|
try {
|
|
121
121
|
return !statSync(entryPath).isDirectory();
|
|
@@ -157,7 +157,7 @@ export function assertCompiledContainer(prepDataDir) {
|
|
|
157
157
|
return true;
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
|
-
if (entry ===
|
|
160
|
+
if (entry === BUILD_PLAN_CONTAINER_NAME ||
|
|
161
161
|
entry === TEST_CONTAINER_NAME)
|
|
162
162
|
return false;
|
|
163
163
|
const entryPath = join(prepDataDir, entry);
|
|
@@ -187,7 +187,7 @@ export function assertWritableTargetDir(dirPath, label) {
|
|
|
187
187
|
throw new Error(`${label} target already exists and is not empty: ${dirPath}`);
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
|
-
export function
|
|
190
|
+
export function assertVerifiableContextName(name, label) {
|
|
191
191
|
if (!/^[a-z0-9][a-z0-9-]*$/.test(name)) {
|
|
192
192
|
throw new Error(`${label} name must be a safe slug with lowercase letters, numbers, and dashes only: ${name}`);
|
|
193
193
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare function
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function
|
|
1
|
+
export declare function ensureVerifiableContextScaffold(prepDataDir: string, preparationName: string, buildPlanId?: string): string;
|
|
2
|
+
export declare function createVerifiableContext(name: string, prepDataDir: string, buildPlanId: string | undefined, about: string | undefined, sourceFolderPath: string): string;
|
|
3
|
+
export declare function defaultVerifiableContextNameForSource(prepDataDir: string): string;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { mkdirSync, existsSync, writeFileSync, } from "node:fs";
|
|
2
2
|
import { basename, join, relative, sep } from "node:path";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { asPreparationDataDir,
|
|
10
|
-
import {
|
|
11
|
-
import { findSourcePreparationConfig, loadSourceFolderConfig,
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
3
|
+
import { getBuildPlan } from "../build-plans/package/build-plan-definitions.js";
|
|
4
|
+
import { loadBuildPlanDefinitionFromDir, seedLocalDefaultBuildPlan } from "../build-plans/package/local-build-plans.js";
|
|
5
|
+
import { initializeBuildRuntimeState, } from "../engine/build/state.js";
|
|
6
|
+
import { refreshVerifiableContextBootstrapGuidance } from "../engine/agents/lib/verifiable-context-bootstrap.js";
|
|
7
|
+
import { assertVerifiableContextContainer, assertVerifiableContextName, } from "./interf-detect.js";
|
|
8
|
+
import { seedVerifiableContextBuildPlanPackage } from "../build-plans/package/interf-build-plan-package.js";
|
|
9
|
+
import { asPreparationDataDir, preparationVerifiableContextPath, } from "../contracts/lib/preparation-paths.js";
|
|
10
|
+
import { ensureBuildPlanArtifactTargets, listBuildPlanContextArtifacts, readBuildPlanContextFile } from "../engine/build/verifiable-context-schema.js";
|
|
11
|
+
import { findSourcePreparationConfig, loadSourceFolderConfig, buildPlanIdForSourcePreparationConfig, resolveConfiguredSourceFolderPath, resolveSourcePreparationPath, saveVerifiableContextInterfConfig, } from "./source-config.js";
|
|
12
|
+
import { defaultControlPathForVerifiableContext, testRootForVerifiableContext, buildPlanPackagePathForVerifiableContext } from "../engine/build/verifiable-context-paths.js";
|
|
13
|
+
import { DEFAULT_BUILD_PLAN_ID } from "../build-plans/build-plan-resolution.js";
|
|
14
14
|
const DEFAULT_INTERFIGNORE = [
|
|
15
15
|
".claude/",
|
|
16
16
|
".codex/",
|
|
@@ -21,19 +21,19 @@ const DEFAULT_INTERFIGNORE = [
|
|
|
21
21
|
".interf/runtime/",
|
|
22
22
|
"",
|
|
23
23
|
].join("\n");
|
|
24
|
-
const UNCOMPILED_COMPILED_PLACEHOLDER = "Not yet
|
|
25
|
-
function
|
|
24
|
+
const UNCOMPILED_COMPILED_PLACEHOLDER = "Not yet built. Run `interf build` to build this verifiable context.";
|
|
25
|
+
function renderUnbuiltVerifiableContextFile(verifiableContextName, relativePath, about) {
|
|
26
26
|
return [
|
|
27
|
-
`# ${
|
|
27
|
+
`# ${verifiableContextName} — ${relativePath}`,
|
|
28
28
|
"",
|
|
29
29
|
UNCOMPILED_COMPILED_PLACEHOLDER,
|
|
30
30
|
...(about ? ["", `About: ${about}`] : []),
|
|
31
31
|
"",
|
|
32
32
|
].join("\n");
|
|
33
33
|
}
|
|
34
|
-
function
|
|
35
|
-
const schema =
|
|
36
|
-
const artifactEntries = (schema ?
|
|
34
|
+
function verifiableContextGitignoreEntries(verifiableContextPath) {
|
|
35
|
+
const schema = readBuildPlanContextFile(buildPlanPackagePathForVerifiableContext(verifiableContextPath));
|
|
36
|
+
const artifactEntries = (schema ? listBuildPlanContextArtifacts(schema) : [])
|
|
37
37
|
.filter((artifact) => artifact.kind !== "runtime")
|
|
38
38
|
.map((artifact) => artifact.kind === "file" ? artifact.path : `${artifact.path}/`);
|
|
39
39
|
return [
|
|
@@ -47,90 +47,90 @@ function compiledGitignoreEntries(compiledPath) {
|
|
|
47
47
|
".interf/runtime/",
|
|
48
48
|
];
|
|
49
49
|
}
|
|
50
|
-
function
|
|
51
|
-
const schema =
|
|
50
|
+
function scaffoldVerifiableContextOutputs(verifiableContextPath, verifiableContextName, about) {
|
|
51
|
+
const schema = readBuildPlanContextFile(buildPlanPackagePathForVerifiableContext(verifiableContextPath));
|
|
52
52
|
if (!schema) {
|
|
53
|
-
throw new Error(`Missing
|
|
53
|
+
throw new Error(`Missing Build Plan schema at ${buildPlanPackagePathForVerifiableContext(verifiableContextPath)}.`);
|
|
54
54
|
}
|
|
55
|
-
|
|
56
|
-
for (const artifact of
|
|
55
|
+
ensureBuildPlanArtifactTargets(verifiableContextPath, schema);
|
|
56
|
+
for (const artifact of listBuildPlanContextArtifacts(schema)) {
|
|
57
57
|
if (!artifact.required || artifact.kind !== "file" || artifact.role !== "output")
|
|
58
58
|
continue;
|
|
59
|
-
const targetPath = join(
|
|
59
|
+
const targetPath = join(verifiableContextPath, artifact.path);
|
|
60
60
|
if (existsSync(targetPath))
|
|
61
61
|
continue;
|
|
62
|
-
writeFileSync(targetPath,
|
|
62
|
+
writeFileSync(targetPath, renderUnbuiltVerifiableContextFile(verifiableContextName, artifact.path, about));
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
function
|
|
66
|
-
const
|
|
67
|
-
return
|
|
65
|
+
function localBuildPlanMatches(verifiableContextPath, buildPlanId) {
|
|
66
|
+
const localBuildPlan = loadBuildPlanDefinitionFromDir(buildPlanPackagePathForVerifiableContext(verifiableContextPath));
|
|
67
|
+
return localBuildPlan?.id === buildPlanId;
|
|
68
68
|
}
|
|
69
|
-
export function
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
const
|
|
73
|
-
mkdirSync(
|
|
74
|
-
mkdirSync(
|
|
75
|
-
if (
|
|
76
|
-
|
|
69
|
+
export function ensureVerifiableContextScaffold(prepDataDir, preparationName, buildPlanId = DEFAULT_BUILD_PLAN_ID) {
|
|
70
|
+
assertVerifiableContextName(preparationName, "Verifiable context");
|
|
71
|
+
assertVerifiableContextContainer(prepDataDir);
|
|
72
|
+
const verifiableContextPath = preparationVerifiableContextPath(asPreparationDataDir(prepDataDir), preparationName);
|
|
73
|
+
mkdirSync(verifiableContextPath, { recursive: true });
|
|
74
|
+
mkdirSync(testRootForVerifiableContext(verifiableContextPath), { recursive: true });
|
|
75
|
+
if (buildPlanId === "interf-default") {
|
|
76
|
+
seedLocalDefaultBuildPlan({ prepDataDir });
|
|
77
77
|
}
|
|
78
|
-
const
|
|
79
|
-
if (!
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
const selectedBuildPlan = getBuildPlan(buildPlanId, { prepDataDir });
|
|
79
|
+
if (!localBuildPlanMatches(verifiableContextPath, selectedBuildPlan.id)) {
|
|
80
|
+
seedVerifiableContextBuildPlanPackage({
|
|
81
|
+
verifiableContextPath,
|
|
82
82
|
prepDataDir,
|
|
83
|
-
|
|
83
|
+
buildPlanId: selectedBuildPlan.id,
|
|
84
84
|
});
|
|
85
85
|
}
|
|
86
|
-
if (!existsSync(join(
|
|
87
|
-
writeFileSync(join(
|
|
86
|
+
if (!existsSync(join(verifiableContextPath, ".gitignore"))) {
|
|
87
|
+
writeFileSync(join(verifiableContextPath, ".gitignore"), [...verifiableContextGitignoreEntries(verifiableContextPath), ""].join("\n"));
|
|
88
88
|
}
|
|
89
|
-
return
|
|
89
|
+
return verifiableContextPath;
|
|
90
90
|
}
|
|
91
|
-
export function
|
|
92
|
-
|
|
91
|
+
export function createVerifiableContext(name, prepDataDir, buildPlanId = DEFAULT_BUILD_PLAN_ID, about, sourceFolderPath) {
|
|
92
|
+
assertVerifiableContextName(name, "Verifiable context");
|
|
93
93
|
if (!sourceFolderPath || typeof sourceFolderPath !== "string") {
|
|
94
|
-
throw new Error("
|
|
94
|
+
throw new Error("createVerifiableContext requires an explicit sourceFolderPath. Pass the absolute Source Folder path the verifiable context binds to.");
|
|
95
95
|
}
|
|
96
|
-
const
|
|
97
|
-
const
|
|
98
|
-
const
|
|
99
|
-
const
|
|
100
|
-
const resolvedAbout = about ??
|
|
101
|
-
const resolvedSourceFolderPath =
|
|
102
|
-
? resolveConfiguredSourceFolderPath(prepDataDir) ?? resolveSourcePreparationPath(prepDataDir,
|
|
96
|
+
const savedPreparation = findSourcePreparationConfig(loadSourceFolderConfig(prepDataDir), name);
|
|
97
|
+
const effectiveBuildPlanId = buildPlanIdForSourcePreparationConfig(savedPreparation) ?? buildPlanId;
|
|
98
|
+
const selectedBuildPlan = getBuildPlan(effectiveBuildPlanId, { prepDataDir });
|
|
99
|
+
const verifiableContextPath = ensureVerifiableContextScaffold(prepDataDir, name, selectedBuildPlan.id);
|
|
100
|
+
const resolvedAbout = about ?? savedPreparation?.about;
|
|
101
|
+
const resolvedSourceFolderPath = savedPreparation
|
|
102
|
+
? resolveConfiguredSourceFolderPath(prepDataDir) ?? resolveSourcePreparationPath(prepDataDir, savedPreparation)
|
|
103
103
|
: sourceFolderPath;
|
|
104
|
-
const sourceRelativePath = relative(
|
|
105
|
-
|
|
106
|
-
type: "
|
|
104
|
+
const sourceRelativePath = relative(verifiableContextPath, resolvedSourceFolderPath).split(sep).join("/") || ".";
|
|
105
|
+
saveVerifiableContextInterfConfig(verifiableContextPath, {
|
|
106
|
+
type: "verifiable-context",
|
|
107
107
|
name,
|
|
108
108
|
...(resolvedAbout ? { about: resolvedAbout } : {}),
|
|
109
|
-
|
|
110
|
-
...(typeof
|
|
111
|
-
? { max_attempts:
|
|
109
|
+
build_plan: selectedBuildPlan.id,
|
|
110
|
+
...(typeof savedPreparation?.max_attempts === "number"
|
|
111
|
+
? { max_attempts: savedPreparation.max_attempts }
|
|
112
112
|
: {}),
|
|
113
|
-
...(typeof
|
|
114
|
-
? { max_loops:
|
|
113
|
+
...(typeof savedPreparation?.max_loops === "number"
|
|
114
|
+
? { max_loops: savedPreparation.max_loops }
|
|
115
115
|
: {}),
|
|
116
|
-
checks:
|
|
117
|
-
|
|
118
|
-
selected:
|
|
116
|
+
checks: savedPreparation?.checks ?? [],
|
|
117
|
+
build_plan_origin: {
|
|
118
|
+
selected: selectedBuildPlan.id,
|
|
119
119
|
local_draft: false,
|
|
120
120
|
},
|
|
121
121
|
source: {
|
|
122
122
|
path: sourceRelativePath,
|
|
123
|
-
control_path:
|
|
123
|
+
control_path: defaultControlPathForVerifiableContext(verifiableContextPath),
|
|
124
124
|
preparation_path: sourceRelativePath,
|
|
125
125
|
},
|
|
126
126
|
});
|
|
127
|
-
writeFileSync(join(
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
writeFileSync(join(
|
|
131
|
-
|
|
132
|
-
return
|
|
127
|
+
writeFileSync(join(verifiableContextPath, ".interfignore"), DEFAULT_INTERFIGNORE);
|
|
128
|
+
scaffoldVerifiableContextOutputs(verifiableContextPath, name, about);
|
|
129
|
+
refreshVerifiableContextBootstrapGuidance(verifiableContextPath);
|
|
130
|
+
writeFileSync(join(verifiableContextPath, ".gitignore"), [...verifiableContextGitignoreEntries(verifiableContextPath), ""].join("\n"));
|
|
131
|
+
initializeBuildRuntimeState(verifiableContextPath);
|
|
132
|
+
return verifiableContextPath;
|
|
133
133
|
}
|
|
134
|
-
export function
|
|
134
|
+
export function defaultVerifiableContextNameForSource(prepDataDir) {
|
|
135
135
|
return basename(prepDataDir);
|
|
136
136
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { INTERF_CONTAINER_NAME,
|
|
2
|
-
export type { InterfConfig,
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
1
|
+
export { INTERF_CONTAINER_NAME, BUILD_PLAN_CONTAINER_NAME, TEST_CONTAINER_NAME, INTERF_CONFIG_FILE, BUILD_PLAN_PACKAGE_DIR, readInterfConfig, detectInterf, resolveVerifiableContext, resolveSourceFolderPath, resolveSourceControlPath, resolveSourceInputPath, listVerifiableContextsForSourceFolder, hasSourceFolderInput, assertVerifiableContextContainer, assertWritableTargetDir, assertVerifiableContextName, } from "./interf-detect.js";
|
|
2
|
+
export type { InterfConfig, ResolvedVerifiableContext } from "./interf-detect.js";
|
|
3
|
+
export { refreshVerifiableContextBootstrapGuidance, renderClaudeBootstrap, } from "./interf-bootstrap.js";
|
|
4
|
+
export { createVerifiableContext, defaultVerifiableContextNameForSource, ensureVerifiableContextScaffold, } from "./interf-scaffold.js";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { INTERF_CONTAINER_NAME,
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
1
|
+
export { INTERF_CONTAINER_NAME, BUILD_PLAN_CONTAINER_NAME, TEST_CONTAINER_NAME, INTERF_CONFIG_FILE, BUILD_PLAN_PACKAGE_DIR, readInterfConfig, detectInterf, resolveVerifiableContext, resolveSourceFolderPath, resolveSourceControlPath, resolveSourceInputPath, listVerifiableContextsForSourceFolder, hasSourceFolderInput, assertVerifiableContextContainer, assertWritableTargetDir, assertVerifiableContextName, } from "./interf-detect.js";
|
|
2
|
+
export { refreshVerifiableContextBootstrapGuidance, renderClaudeBootstrap, } from "./interf-bootstrap.js";
|
|
3
|
+
export { createVerifiableContext, defaultVerifiableContextNameForSource, ensureVerifiableContextScaffold, } from "./interf-scaffold.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
3
|
-
export {
|
|
2
|
+
import { BuildPlanIdSchema, PreparationNameSchema } from "../../contracts/lib/schema.js";
|
|
3
|
+
export { BuildPlanIdSchema, PreparationNameSchema, } from "../../contracts/lib/schema.js";
|
|
4
4
|
export declare const SourceReadinessCheckSchema: z.ZodObject<{
|
|
5
5
|
id: z.ZodOptional<z.ZodString>;
|
|
6
6
|
question: z.ZodString;
|
|
@@ -108,7 +108,7 @@ export declare const SourcePreparationConfigSchema: z.ZodObject<{
|
|
|
108
108
|
name: z.ZodString;
|
|
109
109
|
path: z.ZodString;
|
|
110
110
|
about: z.ZodOptional<z.ZodString>;
|
|
111
|
-
|
|
111
|
+
build_plan: z.ZodOptional<z.ZodString>;
|
|
112
112
|
max_attempts: z.ZodOptional<z.ZodNumber>;
|
|
113
113
|
max_loops: z.ZodOptional<z.ZodNumber>;
|
|
114
114
|
checks: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -178,11 +178,11 @@ export declare const SourcePreparationConfigSchema: z.ZodObject<{
|
|
|
178
178
|
export declare const SourceFolderBindingSchema: z.ZodObject<{
|
|
179
179
|
path: z.ZodString;
|
|
180
180
|
}, z.core.$loose>;
|
|
181
|
-
export declare const
|
|
182
|
-
type: z.ZodLiteral<"
|
|
181
|
+
export declare const VerifiableContextInterfConfigSchema: z.ZodObject<{
|
|
182
|
+
type: z.ZodLiteral<"verifiable-context">;
|
|
183
183
|
name: z.ZodString;
|
|
184
184
|
about: z.ZodOptional<z.ZodString>;
|
|
185
|
-
|
|
185
|
+
build_plan: z.ZodString;
|
|
186
186
|
max_attempts: z.ZodOptional<z.ZodNumber>;
|
|
187
187
|
max_loops: z.ZodOptional<z.ZodNumber>;
|
|
188
188
|
checks: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -198,7 +198,7 @@ export declare const CompiledInterfConfigSchema: z.ZodObject<{
|
|
|
198
198
|
}, z.core.$strip>>;
|
|
199
199
|
strictness: z.ZodOptional<z.ZodString>;
|
|
200
200
|
}, z.core.$strict>>>;
|
|
201
|
-
|
|
201
|
+
build_plan_origin: z.ZodOptional<z.ZodObject<{
|
|
202
202
|
selected: z.ZodString;
|
|
203
203
|
local_draft: z.ZodOptional<z.ZodBoolean>;
|
|
204
204
|
}, z.core.$strip>>;
|
|
@@ -209,10 +209,10 @@ export declare const CompiledInterfConfigSchema: z.ZodObject<{
|
|
|
209
209
|
}, z.core.$strip>;
|
|
210
210
|
}, z.core.$loose>;
|
|
211
211
|
export declare const InterfConfigSchema: z.ZodObject<{
|
|
212
|
-
type: z.ZodLiteral<"
|
|
212
|
+
type: z.ZodLiteral<"verifiable-context">;
|
|
213
213
|
name: z.ZodString;
|
|
214
214
|
about: z.ZodOptional<z.ZodString>;
|
|
215
|
-
|
|
215
|
+
build_plan: z.ZodString;
|
|
216
216
|
max_attempts: z.ZodOptional<z.ZodNumber>;
|
|
217
217
|
max_loops: z.ZodOptional<z.ZodNumber>;
|
|
218
218
|
checks: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -228,7 +228,7 @@ export declare const InterfConfigSchema: z.ZodObject<{
|
|
|
228
228
|
}, z.core.$strip>>;
|
|
229
229
|
strictness: z.ZodOptional<z.ZodString>;
|
|
230
230
|
}, z.core.$strict>>>;
|
|
231
|
-
|
|
231
|
+
build_plan_origin: z.ZodOptional<z.ZodObject<{
|
|
232
232
|
selected: z.ZodString;
|
|
233
233
|
local_draft: z.ZodOptional<z.ZodBoolean>;
|
|
234
234
|
}, z.core.$strip>>;
|
|
@@ -247,7 +247,7 @@ export declare const SourceFolderConfigSchema: z.ZodObject<{
|
|
|
247
247
|
name: z.ZodString;
|
|
248
248
|
path: z.ZodString;
|
|
249
249
|
about: z.ZodOptional<z.ZodString>;
|
|
250
|
-
|
|
250
|
+
build_plan: z.ZodOptional<z.ZodString>;
|
|
251
251
|
max_attempts: z.ZodOptional<z.ZodNumber>;
|
|
252
252
|
max_loops: z.ZodOptional<z.ZodNumber>;
|
|
253
253
|
checks: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -322,7 +322,7 @@ export type RequestedArtifactOutput = z.infer<typeof RequestedArtifactOutputSche
|
|
|
322
322
|
export type SourceReadinessCheck = z.infer<typeof SourceReadinessCheckSchema>;
|
|
323
323
|
export type SourceProfile = z.infer<typeof SourceProfileSchema>;
|
|
324
324
|
export type PreparationName = z.infer<typeof PreparationNameSchema>;
|
|
325
|
-
export type
|
|
325
|
+
export type BuildPlanId = z.infer<typeof BuildPlanIdSchema>;
|
|
326
326
|
export type SourcePreparationConfig = z.infer<typeof SourcePreparationConfigSchema>;
|
|
327
327
|
export type InterfConfig = z.infer<typeof InterfConfigSchema>;
|
|
328
328
|
export type SourceFolderConfig = z.infer<typeof SourceFolderConfigSchema>;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { isAbsolute, normalize } from "node:path";
|
|
3
|
-
import { ArtifactPathShapeSchema, CheckSchema, InterfIdPattern,
|
|
4
|
-
export {
|
|
3
|
+
import { ArtifactPathShapeSchema, CheckSchema, InterfIdPattern, BuildPlanIdSchema, PreparationNameSchema, SourceBuildMaxAttemptsSchema, SourceBuildMaxLoopsSchema, TestCaseExpectSchema, } from "../../contracts/lib/schema.js";
|
|
4
|
+
export { BuildPlanIdSchema, PreparationNameSchema, } from "../../contracts/lib/schema.js";
|
|
5
5
|
/**
|
|
6
6
|
* Absolute paths that an attacker-controlled config must never reach. The
|
|
7
|
-
*
|
|
7
|
+
* build runtime treats `preparation.path` as a filesystem instruction — letting
|
|
8
8
|
* a browser-tab forge `/etc` or `/sys` could mutate or read system state.
|
|
9
9
|
* The list mirrors the CSO review allowlist.
|
|
10
10
|
*/
|
|
@@ -101,9 +101,9 @@ export const SourcePreparationConfigSchema = z.object({
|
|
|
101
101
|
message: "Preparation path may not contain `..` segments.",
|
|
102
102
|
}),
|
|
103
103
|
about: z.string().min(1).optional(),
|
|
104
|
-
|
|
105
|
-
max_attempts:
|
|
106
|
-
max_loops:
|
|
104
|
+
build_plan: BuildPlanIdSchema.optional(),
|
|
105
|
+
max_attempts: SourceBuildMaxAttemptsSchema.optional(),
|
|
106
|
+
max_loops: SourceBuildMaxLoopsSchema.optional(),
|
|
107
107
|
checks: z.array(SourceReadinessCheckSchema).default([]),
|
|
108
108
|
requested_artifacts: z.array(RequestedArtifactSchema).optional(),
|
|
109
109
|
source_profile: SourceProfileSchema.optional(),
|
|
@@ -111,16 +111,16 @@ export const SourcePreparationConfigSchema = z.object({
|
|
|
111
111
|
export const SourceFolderBindingSchema = z.object({
|
|
112
112
|
path: z.string().min(1),
|
|
113
113
|
}).passthrough();
|
|
114
|
-
export const
|
|
115
|
-
type: z.literal("
|
|
114
|
+
export const VerifiableContextInterfConfigSchema = z.object({
|
|
115
|
+
type: z.literal("verifiable-context"),
|
|
116
116
|
name: PreparationNameSchema,
|
|
117
117
|
about: z.string().optional(),
|
|
118
|
-
|
|
119
|
-
max_attempts:
|
|
120
|
-
max_loops:
|
|
118
|
+
build_plan: BuildPlanIdSchema,
|
|
119
|
+
max_attempts: SourceBuildMaxAttemptsSchema.optional(),
|
|
120
|
+
max_loops: SourceBuildMaxLoopsSchema.optional(),
|
|
121
121
|
checks: z.array(SourceReadinessCheckSchema).default([]),
|
|
122
|
-
|
|
123
|
-
selected:
|
|
122
|
+
build_plan_origin: z.object({
|
|
123
|
+
selected: BuildPlanIdSchema,
|
|
124
124
|
local_draft: z.boolean().optional(),
|
|
125
125
|
}).optional(),
|
|
126
126
|
source: z.object({
|
|
@@ -129,7 +129,7 @@ export const CompiledInterfConfigSchema = z.object({
|
|
|
129
129
|
preparation_path: z.string().optional(),
|
|
130
130
|
}),
|
|
131
131
|
}).passthrough();
|
|
132
|
-
export const InterfConfigSchema =
|
|
132
|
+
export const InterfConfigSchema = VerifiableContextInterfConfigSchema;
|
|
133
133
|
export const SourceFolderConfigSchema = z.object({
|
|
134
134
|
source_folder: SourceFolderBindingSchema.optional(),
|
|
135
135
|
preparations: z.array(SourcePreparationConfigSchema).default([]),
|
|
@@ -5,7 +5,7 @@ export interface SavedPreparationEntry {
|
|
|
5
5
|
localDraft: boolean;
|
|
6
6
|
}
|
|
7
7
|
export declare function listSavedPreparationEntries(prepDataDir: string): SavedPreparationEntry[];
|
|
8
|
-
export declare function
|
|
8
|
+
export declare function findBuiltVerifiableContextPath(prepDataDir: string, preparationName: string): string | null;
|
|
9
9
|
export declare function findSavedPreparationConfig(prepDataDir: string, preparationName: string): SourcePreparationConfig | null;
|
|
10
|
-
export declare function
|
|
11
|
-
export declare function
|
|
10
|
+
export declare function createVerifiableContextFromConfig(prepDataDir: string, preparationConfig: SourcePreparationConfig): string;
|
|
11
|
+
export declare function ensureVerifiableContextFromConfig(prepDataDir: string, preparationConfig: SourcePreparationConfig): string;
|