@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,13 +1,13 @@
|
|
|
1
1
|
import { existsSync, readFileSync, statSync, writeFileSync, } from "node:fs";
|
|
2
2
|
import { extname, join, relative } from "node:path";
|
|
3
3
|
import { listFilesRecursive } from "../../contracts/utils/filesystem.js";
|
|
4
|
-
import {
|
|
4
|
+
import { verifiableContextArtifactAbsolutePath, findBuildPlanContextArtifact, readBuildPlanContextFile, } from "./verifiable-context-schema.js";
|
|
5
5
|
import { parseJsonFrontmatter } from "../../contracts/utils/parse.js";
|
|
6
6
|
import { loadRuntimeRun } from "./runtime.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { initVerifiableContextState, loadState, refreshVerifiableContextArtifacts, saveState, } from "./state.js";
|
|
8
|
+
import { buildInventoryFromEntries } from "./runtime-inventory.js";
|
|
9
9
|
import { STANDARD_EVIDENCE_FRONTMATTER_KEYS, } from "../../contracts/lib/schema.js";
|
|
10
|
-
import {
|
|
10
|
+
import { verifiableContextRuntimeRoot, buildPlanPackagePathForVerifiableContext } from "./verifiable-context-paths.js";
|
|
11
11
|
import { extractSynthAbstract, isOutputMarkdownFile } from "./validate.js";
|
|
12
12
|
function readActiveRunStartedAtMs(dirPath) {
|
|
13
13
|
const run = loadRuntimeRun(dirPath);
|
|
@@ -39,7 +39,7 @@ function anyPathUpdatedSince(absolutePath, sinceMs) {
|
|
|
39
39
|
return false;
|
|
40
40
|
}
|
|
41
41
|
function artifactCount(dirPath, artifactPath, kind) {
|
|
42
|
-
const absolutePath =
|
|
42
|
+
const absolutePath = verifiableContextArtifactAbsolutePath(dirPath, { path: artifactPath });
|
|
43
43
|
if (!existsSync(absolutePath))
|
|
44
44
|
return 0;
|
|
45
45
|
if (kind === "file")
|
|
@@ -53,7 +53,7 @@ function summaryAbstract(content) {
|
|
|
53
53
|
return extractSynthAbstract(parsed.frontmatter, parsed.body);
|
|
54
54
|
}
|
|
55
55
|
function listZoneArtifacts(dirPath, artifact) {
|
|
56
|
-
const absolutePath =
|
|
56
|
+
const absolutePath = verifiableContextArtifactAbsolutePath(dirPath, artifact);
|
|
57
57
|
if (!existsSync(absolutePath) || artifact.kind === "runtime")
|
|
58
58
|
return [];
|
|
59
59
|
if (artifact.kind === "file") {
|
|
@@ -82,7 +82,7 @@ function buildInventoryMetadata(options) {
|
|
|
82
82
|
metadata.abstract_read = true;
|
|
83
83
|
}
|
|
84
84
|
// Project the standard evidence frontmatter keys onto the inventory
|
|
85
|
-
// metadata.
|
|
85
|
+
// metadata. Build Plan authors that emit the canonical evidence keys
|
|
86
86
|
// (`STANDARD_EVIDENCE_FRONTMATTER_KEYS` in contracts) get them
|
|
87
87
|
// surfaced on stage inventory entries; non-standard keys are ignored.
|
|
88
88
|
const frontmatter = options.parsedFrontmatter.frontmatter;
|
|
@@ -95,14 +95,14 @@ function buildInventoryMetadata(options) {
|
|
|
95
95
|
return metadata;
|
|
96
96
|
}
|
|
97
97
|
function buildStageInventoryEntries(dirPath, stage) {
|
|
98
|
-
const schema =
|
|
98
|
+
const schema = readBuildPlanContextFile(buildPlanPackagePathForVerifiableContext(dirPath));
|
|
99
99
|
if (!schema)
|
|
100
100
|
return [];
|
|
101
101
|
const readableInputArtifacts = stage.reads
|
|
102
|
-
.map((artifactId) =>
|
|
102
|
+
.map((artifactId) => findBuildPlanContextArtifact(schema, artifactId))
|
|
103
103
|
.filter((artifact) => artifact !== null && artifact.kind !== "runtime");
|
|
104
104
|
const outputArtifacts = stage.writes
|
|
105
|
-
.map((artifactId) =>
|
|
105
|
+
.map((artifactId) => findBuildPlanContextArtifact(schema, artifactId))
|
|
106
106
|
.filter((artifact) => artifact !== null && artifact.kind !== "runtime");
|
|
107
107
|
if (outputArtifacts.length === 0)
|
|
108
108
|
return [];
|
|
@@ -148,29 +148,29 @@ function buildStageInventoryEntries(dirPath, stage) {
|
|
|
148
148
|
return entries.sort((left, right) => `${left.output_artifact}:${left.output_path}`.localeCompare(`${right.output_artifact}:${right.output_path}`));
|
|
149
149
|
}
|
|
150
150
|
function writeStageInventory(dirPath, stageId, entries) {
|
|
151
|
-
writeFileSync(join(
|
|
151
|
+
writeFileSync(join(verifiableContextRuntimeRoot(dirPath), "inventory.json"), JSON.stringify(buildInventoryFromEntries(entries, stageId), null, 2) + "\n");
|
|
152
152
|
}
|
|
153
153
|
function activeRunCounts(dirPath) {
|
|
154
154
|
return { ...(loadRuntimeRun(dirPath)?.counts ?? {}) };
|
|
155
155
|
}
|
|
156
|
-
export function
|
|
156
|
+
export function reconcileBuildStageRun(dirPath, stage) {
|
|
157
157
|
const startedAtMs = readActiveRunStartedAtMs(dirPath);
|
|
158
158
|
if (startedAtMs === null)
|
|
159
159
|
return false;
|
|
160
|
-
const schema =
|
|
160
|
+
const schema = readBuildPlanContextFile(buildPlanPackagePathForVerifiableContext(dirPath));
|
|
161
161
|
if (!schema)
|
|
162
162
|
return false;
|
|
163
163
|
const writeArtifacts = stage.writes
|
|
164
|
-
.map((artifactId) =>
|
|
164
|
+
.map((artifactId) => findBuildPlanContextArtifact(schema, artifactId))
|
|
165
165
|
.filter((artifact) => artifact !== null);
|
|
166
166
|
if (writeArtifacts.length === 0)
|
|
167
167
|
return false;
|
|
168
|
-
if (!writeArtifacts.some((artifact) => anyPathUpdatedSince(
|
|
168
|
+
if (!writeArtifacts.some((artifact) => anyPathUpdatedSince(verifiableContextArtifactAbsolutePath(dirPath, artifact), startedAtMs))) {
|
|
169
169
|
return false;
|
|
170
170
|
}
|
|
171
171
|
writeStageInventory(dirPath, stage.id, buildStageInventoryEntries(dirPath, stage));
|
|
172
172
|
const currentState = {
|
|
173
|
-
...
|
|
173
|
+
...initVerifiableContextState(),
|
|
174
174
|
...(loadState(dirPath) ?? {}),
|
|
175
175
|
stages: {
|
|
176
176
|
...(loadState(dirPath)?.stages ?? {}),
|
|
@@ -188,8 +188,8 @@ export function reconcileCompiledStageRun(dirPath, stage) {
|
|
|
188
188
|
summary: loadRuntimeRun(dirPath)?.summary ?? null,
|
|
189
189
|
run_id: loadRuntimeRun(dirPath)?.run_id ?? null,
|
|
190
190
|
};
|
|
191
|
-
currentState.
|
|
191
|
+
currentState.last_build = now;
|
|
192
192
|
saveState(dirPath, currentState);
|
|
193
|
-
|
|
193
|
+
refreshVerifiableContextArtifacts(dirPath, { ensureViewSpec: true });
|
|
194
194
|
return true;
|
|
195
195
|
}
|
|
@@ -2,7 +2,7 @@ import { appendFileSync, mkdirSync, existsSync, readFileSync, writeFileSync, } f
|
|
|
2
2
|
import { dirname, relative } from "node:path";
|
|
3
3
|
import { buildRuntimeExecutorInfo } from "../agents/lib/executors.js";
|
|
4
4
|
import { RuntimeRunSchema, } from "./lib/schema.js";
|
|
5
|
-
import {
|
|
5
|
+
import { getBuildPlanStageDefinition, getBuildPlanStagePosition, getBuildPlanStages, } from "../../build-plans/package/build-plan-definitions.js";
|
|
6
6
|
import { archivedStageContractPath, eventLogPath, logsDirPath, promptLogPath, runHistoryPath, runPath, stageContractPath, statusLogPath, } from "./runtime-paths.js";
|
|
7
7
|
import { warnInterf } from "../../contracts/utils/logger.js";
|
|
8
8
|
export function loadRuntimeRun(dirPath) {
|
|
@@ -41,15 +41,15 @@ function writeArchivedStageContract(dirPath, runId, contract) {
|
|
|
41
41
|
export async function runExecutorStage(options) {
|
|
42
42
|
const startedRun = startRuntimeRun(options);
|
|
43
43
|
const prompt = options.buildPrompt(startedRun.activeContractPath);
|
|
44
|
-
writeRuntimeRunPrompt(options.
|
|
45
|
-
const executionPath = options.executionPath ?? options.
|
|
44
|
+
writeRuntimeRunPrompt(options.verifiableContextPath, startedRun.run.run_id, prompt);
|
|
45
|
+
const executionPath = options.executionPath ?? options.verifiableContextPath;
|
|
46
46
|
const code = await options.executor.execute(executionPath, prompt, {
|
|
47
|
-
eventLogPath: eventLogPath(options.
|
|
48
|
-
statusLogPath: statusLogPath(options.
|
|
47
|
+
eventLogPath: eventLogPath(options.verifiableContextPath, startedRun.run.run_id),
|
|
48
|
+
statusLogPath: statusLogPath(options.verifiableContextPath, startedRun.run.run_id),
|
|
49
49
|
completionCheck: options.completionCheck,
|
|
50
50
|
onStatus: options.onStatus,
|
|
51
51
|
});
|
|
52
|
-
finalizeRuntimeRun(options.
|
|
52
|
+
finalizeRuntimeRun(options.verifiableContextPath, code);
|
|
53
53
|
return code;
|
|
54
54
|
}
|
|
55
55
|
export function beginRuntimeRun(dirPath, run) {
|
|
@@ -107,21 +107,21 @@ export function markRuntimeRunSucceededAfterValidation(dirPath, summary) {
|
|
|
107
107
|
function startRuntimeRun(options) {
|
|
108
108
|
const runId = createRunId();
|
|
109
109
|
const generatedAt = new Date().toISOString();
|
|
110
|
-
const
|
|
111
|
-
const stagePosition =
|
|
112
|
-
const stageDefinition =
|
|
110
|
+
const buildPlanStages = getBuildPlanStages(options.buildPlan, options.buildPlanSourcePath);
|
|
111
|
+
const stagePosition = getBuildPlanStagePosition(options.buildPlan, options.stage, options.buildPlanSourcePath);
|
|
112
|
+
const stageDefinition = getBuildPlanStageDefinition(options.buildPlan, options.stage, options.buildPlanSourcePath);
|
|
113
113
|
const contract = {
|
|
114
114
|
kind: "interf-stage-contract",
|
|
115
115
|
version: 1,
|
|
116
116
|
generated_at: generatedAt,
|
|
117
117
|
run_id: runId,
|
|
118
|
-
target_type: "
|
|
119
|
-
target_name: options.
|
|
120
|
-
|
|
121
|
-
id: options.
|
|
118
|
+
target_type: "verifiable-context",
|
|
119
|
+
target_name: options.verifiableContextName,
|
|
120
|
+
build_plan: {
|
|
121
|
+
id: options.buildPlan,
|
|
122
122
|
stage_index: stagePosition?.stageIndex ?? null,
|
|
123
|
-
stage_total: stagePosition?.stageTotal ??
|
|
124
|
-
stages: stagePosition?.stages ??
|
|
123
|
+
stage_total: stagePosition?.stageTotal ?? buildPlanStages.length,
|
|
124
|
+
stages: stagePosition?.stages ?? buildPlanStages,
|
|
125
125
|
},
|
|
126
126
|
stage: options.stage,
|
|
127
127
|
stage_label: stageDefinition?.label ?? options.stageLabel,
|
|
@@ -132,15 +132,15 @@ function startRuntimeRun(options) {
|
|
|
132
132
|
artifacts: options.contract.artifacts,
|
|
133
133
|
policies: options.contract.policies,
|
|
134
134
|
};
|
|
135
|
-
const activeContractPath = writeStageContract(options.
|
|
136
|
-
const archivedContractPath = writeArchivedStageContract(options.
|
|
135
|
+
const activeContractPath = writeStageContract(options.verifiableContextPath, contract);
|
|
136
|
+
const archivedContractPath = writeArchivedStageContract(options.verifiableContextPath, runId, contract);
|
|
137
137
|
const run = {
|
|
138
138
|
kind: "interf-run",
|
|
139
139
|
version: 1,
|
|
140
140
|
run_id: runId,
|
|
141
|
-
target_type: "
|
|
142
|
-
target_name: options.
|
|
143
|
-
|
|
141
|
+
target_type: "verifiable-context",
|
|
142
|
+
target_name: options.verifiableContextName,
|
|
143
|
+
build_plan: options.buildPlan,
|
|
144
144
|
stage: options.stage,
|
|
145
145
|
stage_label: stageDefinition?.label ?? options.stageLabel,
|
|
146
146
|
contract_type: options.contractType,
|
|
@@ -149,24 +149,24 @@ function startRuntimeRun(options) {
|
|
|
149
149
|
started_at: generatedAt,
|
|
150
150
|
updated_at: generatedAt,
|
|
151
151
|
finished_at: null,
|
|
152
|
-
contract_path: relative(options.
|
|
153
|
-
...(options.executionPath ? { execution_path: relative(options.
|
|
152
|
+
contract_path: relative(options.verifiableContextPath, archivedContractPath),
|
|
153
|
+
...(options.executionPath ? { execution_path: relative(options.verifiableContextPath, options.executionPath) } : {}),
|
|
154
154
|
counts: { ...contract.counts },
|
|
155
155
|
output_artifacts: [...contract.artifacts.writes],
|
|
156
156
|
logs: {
|
|
157
|
-
prompt_path: relative(options.
|
|
158
|
-
event_stream_path: relative(options.
|
|
159
|
-
status_path: relative(options.
|
|
157
|
+
prompt_path: relative(options.verifiableContextPath, promptLogPath(options.verifiableContextPath, runId)),
|
|
158
|
+
event_stream_path: relative(options.verifiableContextPath, eventLogPath(options.verifiableContextPath, runId)),
|
|
159
|
+
status_path: relative(options.verifiableContextPath, statusLogPath(options.verifiableContextPath, runId)),
|
|
160
160
|
},
|
|
161
161
|
summary: options.summary,
|
|
162
162
|
exit_code: null,
|
|
163
163
|
error: null,
|
|
164
164
|
};
|
|
165
165
|
return {
|
|
166
|
-
run: beginRuntimeRun(options.
|
|
166
|
+
run: beginRuntimeRun(options.verifiableContextPath, run),
|
|
167
167
|
activeContractPath: options.executionPath
|
|
168
168
|
? "runtime/stage-contract.json"
|
|
169
|
-
: relative(options.
|
|
169
|
+
: relative(options.verifiableContextPath, activeContractPath),
|
|
170
170
|
};
|
|
171
171
|
}
|
|
172
172
|
function finalizeRuntimeRun(dirPath, code) {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type AgentExecutor } from "../agents/lib/executors.js";
|
|
2
2
|
import { type RuntimeRun, type RuntimeStageContract, type RuntimeStageInstructions } from "./lib/schema.js";
|
|
3
|
-
import type { Check,
|
|
3
|
+
import type { Check, BuildPlanId, RuntimeContractType, RuntimeStage } from "../../contracts/lib/schema.js";
|
|
4
4
|
export type RuntimeRunStatus = "running" | "succeeded" | "failed";
|
|
5
|
-
export type RuntimeStageContractDraft = Omit<RuntimeStageContract, "kind" | "version" | "generated_at" | "run_id" | "target_type" | "target_name" | "
|
|
5
|
+
export type RuntimeStageContractDraft = Omit<RuntimeStageContract, "kind" | "version" | "generated_at" | "run_id" | "target_type" | "target_name" | "build_plan" | "stage" | "stage_label" | "contract_type" | "executor">;
|
|
6
6
|
export interface RuntimeStageExecutionOptions {
|
|
7
|
-
executor:
|
|
8
|
-
|
|
7
|
+
executor: AgentExecutor;
|
|
8
|
+
verifiableContextPath: string;
|
|
9
9
|
executionPath?: string;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
verifiableContextName: string;
|
|
11
|
+
buildPlan: BuildPlanId;
|
|
12
|
+
buildPlanSourcePath?: string;
|
|
13
13
|
stage: RuntimeStage;
|
|
14
14
|
stageLabel: string;
|
|
15
15
|
contractType: RuntimeContractType;
|
|
@@ -20,7 +20,7 @@ export interface RuntimeStageExecutionOptions {
|
|
|
20
20
|
onStatus?: (line: string) => void;
|
|
21
21
|
}
|
|
22
22
|
export interface RuntimeStageContractOptions {
|
|
23
|
-
|
|
23
|
+
verifiableContextName: string;
|
|
24
24
|
stageId: string;
|
|
25
25
|
stageLabel: string;
|
|
26
26
|
counts?: Record<string, number>;
|
|
@@ -32,7 +32,7 @@ export interface RuntimeStageContractOptions {
|
|
|
32
32
|
path: string;
|
|
33
33
|
checks: Check[];
|
|
34
34
|
}>;
|
|
35
|
-
|
|
35
|
+
buildPlanNotes?: string[];
|
|
36
36
|
localSkillDocs?: string[];
|
|
37
37
|
instructions: RuntimeStageInstructions;
|
|
38
38
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { type SourceFiles, type SourceSnapshot, type StageInputs } from "../../contracts/lib/schema.js";
|
|
2
|
+
export declare function buildVerifiableContextSourceFiles(verifiableContextPath: string, sourcePath?: string, generatedAt?: string): SourceFiles;
|
|
3
|
+
export declare function writeVerifiableContextSourceFiles(verifiableContextPath: string, sourcePath?: string, generatedAt?: string): SourceFiles;
|
|
4
|
+
export declare function buildVerifiableContextSourceSnapshot(options: {
|
|
5
|
+
verifiableContextPath: string;
|
|
6
|
+
sourceFiles?: SourceFiles;
|
|
7
|
+
sourcePath?: string;
|
|
8
|
+
runId?: string | null;
|
|
9
|
+
generatedAt?: string;
|
|
10
|
+
}): SourceSnapshot;
|
|
11
|
+
export declare function writeVerifiableContextSourceSnapshot(options: {
|
|
12
|
+
verifiableContextPath: string;
|
|
13
|
+
sourceFiles?: SourceFiles;
|
|
14
|
+
sourcePath?: string;
|
|
15
|
+
runId?: string | null;
|
|
16
|
+
generatedAt?: string;
|
|
17
|
+
}): SourceSnapshot;
|
|
18
|
+
export declare function buildBuildStageInputs(options: {
|
|
19
|
+
buildPlanId: string;
|
|
20
|
+
stageId: string;
|
|
21
|
+
snapshot: SourceSnapshot;
|
|
22
|
+
runId?: string | null;
|
|
23
|
+
generatedAt?: string;
|
|
24
|
+
}): StageInputs;
|
|
25
|
+
export declare function writeBuildStageInputs(options: {
|
|
26
|
+
verifiableContextPath: string;
|
|
27
|
+
buildPlanId: string;
|
|
28
|
+
stageId: string;
|
|
29
|
+
snapshot: SourceSnapshot;
|
|
30
|
+
runId?: string | null;
|
|
31
|
+
generatedAt?: string;
|
|
32
|
+
}): StageInputs;
|
|
33
|
+
export declare function writeBuildSourceRuntime(options: {
|
|
34
|
+
verifiableContextPath: string;
|
|
35
|
+
buildPlanId: string;
|
|
36
|
+
stageIds: string[];
|
|
37
|
+
sourcePath?: string;
|
|
38
|
+
runId?: string | null;
|
|
39
|
+
}): {
|
|
40
|
+
sourceFiles: SourceFiles;
|
|
41
|
+
snapshot: SourceSnapshot;
|
|
42
|
+
stageInputs: StageInputs[];
|
|
43
|
+
};
|
|
44
|
+
export declare function loadVerifiableContextSourceFiles(verifiableContextPath: string): SourceFiles | null;
|
|
45
|
+
export declare function loadVerifiableContextSourceSnapshot(verifiableContextPath: string): SourceSnapshot | null;
|
|
46
|
+
export declare function loadBuildStageInputs(verifiableContextPath: string, stageId: string): StageInputs | null;
|
|
@@ -4,7 +4,7 @@ import { dirname, resolve } from "node:path";
|
|
|
4
4
|
import { SourceFilesSchema, SourceSnapshotSchema, StageInputsSchema, } from "../../contracts/lib/schema.js";
|
|
5
5
|
import { readJsonFileWithSchema } from "../../contracts/utils/parse.js";
|
|
6
6
|
import { discoverSourceFiles } from "./discovery.js";
|
|
7
|
-
import {
|
|
7
|
+
import { verifiableContextRuntimeSourceFilesPath, verifiableContextRuntimeSourceSnapshotPath, verifiableContextRuntimeStageInputsPath, } from "./verifiable-context-paths.js";
|
|
8
8
|
import { resolveSourceInputPath } from "../../project/interf-detect.js";
|
|
9
9
|
function shortHash(value, length = 16) {
|
|
10
10
|
return createHash("sha256")
|
|
@@ -44,8 +44,8 @@ function writeJson(filePath, value) {
|
|
|
44
44
|
mkdirSync(dirname(filePath), { recursive: true });
|
|
45
45
|
writeFileSync(filePath, `${JSON.stringify(value, null, 2)}\n`);
|
|
46
46
|
}
|
|
47
|
-
export function
|
|
48
|
-
const discovery = discoverSourceFiles(sourcePath,
|
|
47
|
+
export function buildVerifiableContextSourceFiles(verifiableContextPath, sourcePath = resolveSourceInputPath(verifiableContextPath), generatedAt = new Date().toISOString()) {
|
|
48
|
+
const discovery = discoverSourceFiles(sourcePath, verifiableContextPath);
|
|
49
49
|
const source = buildSource(sourcePath);
|
|
50
50
|
const files = discovery.sourceFiles.map((relativePath) => buildSourceFile(source, sourcePath, relativePath));
|
|
51
51
|
return {
|
|
@@ -57,16 +57,16 @@ export function buildCompiledSourceFiles(compiledPath, sourcePath = resolveSourc
|
|
|
57
57
|
files,
|
|
58
58
|
};
|
|
59
59
|
}
|
|
60
|
-
export function
|
|
61
|
-
const sourceFiles =
|
|
60
|
+
export function writeVerifiableContextSourceFiles(verifiableContextPath, sourcePath = resolveSourceInputPath(verifiableContextPath), generatedAt = new Date().toISOString()) {
|
|
61
|
+
const sourceFiles = buildVerifiableContextSourceFiles(verifiableContextPath, sourcePath, generatedAt);
|
|
62
62
|
const parsed = SourceFilesSchema.parse(sourceFiles);
|
|
63
|
-
writeJson(
|
|
63
|
+
writeJson(verifiableContextRuntimeSourceFilesPath(verifiableContextPath), parsed);
|
|
64
64
|
return parsed;
|
|
65
65
|
}
|
|
66
|
-
export function
|
|
66
|
+
export function buildVerifiableContextSourceSnapshot(options) {
|
|
67
67
|
const generatedAt = options.generatedAt ?? new Date().toISOString();
|
|
68
68
|
const sourceFiles = options.sourceFiles
|
|
69
|
-
??
|
|
69
|
+
?? buildVerifiableContextSourceFiles(options.verifiableContextPath, options.sourcePath ?? resolveSourceInputPath(options.verifiableContextPath), generatedAt);
|
|
70
70
|
return {
|
|
71
71
|
kind: "interf-source-snapshot",
|
|
72
72
|
version: 1,
|
|
@@ -82,19 +82,19 @@ export function buildCompiledSourceSnapshot(options) {
|
|
|
82
82
|
files: sourceFiles.files,
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
|
-
export function
|
|
86
|
-
const snapshot = SourceSnapshotSchema.parse(
|
|
87
|
-
writeJson(
|
|
85
|
+
export function writeVerifiableContextSourceSnapshot(options) {
|
|
86
|
+
const snapshot = SourceSnapshotSchema.parse(buildVerifiableContextSourceSnapshot(options));
|
|
87
|
+
writeJson(verifiableContextRuntimeSourceSnapshotPath(options.verifiableContextPath), snapshot);
|
|
88
88
|
return snapshot;
|
|
89
89
|
}
|
|
90
|
-
export function
|
|
90
|
+
export function buildBuildStageInputs(options) {
|
|
91
91
|
const generatedAt = options.generatedAt ?? new Date().toISOString();
|
|
92
92
|
return {
|
|
93
93
|
kind: "interf-stage-inputs",
|
|
94
94
|
version: 1,
|
|
95
95
|
generated_at: generatedAt,
|
|
96
96
|
run_id: options.runId ?? options.snapshot.run_id ?? null,
|
|
97
|
-
|
|
97
|
+
build_plan: options.buildPlanId,
|
|
98
98
|
stage: options.stageId,
|
|
99
99
|
source_snapshot_id: options.snapshot.snapshot_id,
|
|
100
100
|
input_total: options.snapshot.files.length,
|
|
@@ -105,23 +105,23 @@ export function buildCompiledStageInputs(options) {
|
|
|
105
105
|
})),
|
|
106
106
|
};
|
|
107
107
|
}
|
|
108
|
-
export function
|
|
109
|
-
const stageInputs = StageInputsSchema.parse(
|
|
110
|
-
writeJson(
|
|
108
|
+
export function writeBuildStageInputs(options) {
|
|
109
|
+
const stageInputs = StageInputsSchema.parse(buildBuildStageInputs(options));
|
|
110
|
+
writeJson(verifiableContextRuntimeStageInputsPath(options.verifiableContextPath, options.stageId), stageInputs);
|
|
111
111
|
return stageInputs;
|
|
112
112
|
}
|
|
113
|
-
export function
|
|
113
|
+
export function writeBuildSourceRuntime(options) {
|
|
114
114
|
const generatedAt = new Date().toISOString();
|
|
115
|
-
const sourceFiles =
|
|
116
|
-
const snapshot =
|
|
117
|
-
|
|
115
|
+
const sourceFiles = writeVerifiableContextSourceFiles(options.verifiableContextPath, options.sourcePath ?? resolveSourceInputPath(options.verifiableContextPath), generatedAt);
|
|
116
|
+
const snapshot = writeVerifiableContextSourceSnapshot({
|
|
117
|
+
verifiableContextPath: options.verifiableContextPath,
|
|
118
118
|
sourceFiles,
|
|
119
119
|
runId: options.runId ?? null,
|
|
120
120
|
generatedAt,
|
|
121
121
|
});
|
|
122
|
-
const stageInputs = options.stageIds.map((stageId) =>
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
const stageInputs = options.stageIds.map((stageId) => writeBuildStageInputs({
|
|
123
|
+
verifiableContextPath: options.verifiableContextPath,
|
|
124
|
+
buildPlanId: options.buildPlanId,
|
|
125
125
|
stageId,
|
|
126
126
|
snapshot,
|
|
127
127
|
runId: options.runId ?? null,
|
|
@@ -129,21 +129,21 @@ export function writeCompiledSourceRuntime(options) {
|
|
|
129
129
|
}));
|
|
130
130
|
return { sourceFiles, snapshot, stageInputs };
|
|
131
131
|
}
|
|
132
|
-
export function
|
|
133
|
-
const filePath =
|
|
132
|
+
export function loadVerifiableContextSourceFiles(verifiableContextPath) {
|
|
133
|
+
const filePath = verifiableContextRuntimeSourceFilesPath(verifiableContextPath);
|
|
134
134
|
if (!existsSync(filePath))
|
|
135
135
|
return null;
|
|
136
|
-
return readJsonFileWithSchema(filePath, "
|
|
136
|
+
return readJsonFileWithSchema(filePath, "verifiable-context source files", SourceFilesSchema);
|
|
137
137
|
}
|
|
138
|
-
export function
|
|
139
|
-
const filePath =
|
|
138
|
+
export function loadVerifiableContextSourceSnapshot(verifiableContextPath) {
|
|
139
|
+
const filePath = verifiableContextRuntimeSourceSnapshotPath(verifiableContextPath);
|
|
140
140
|
if (!existsSync(filePath))
|
|
141
141
|
return null;
|
|
142
|
-
return readJsonFileWithSchema(filePath, "
|
|
142
|
+
return readJsonFileWithSchema(filePath, "verifiable-context source snapshot", SourceSnapshotSchema);
|
|
143
143
|
}
|
|
144
|
-
export function
|
|
145
|
-
const filePath =
|
|
144
|
+
export function loadBuildStageInputs(verifiableContextPath, stageId) {
|
|
145
|
+
const filePath = verifiableContextRuntimeStageInputsPath(verifiableContextPath, stageId);
|
|
146
146
|
if (!existsSync(filePath))
|
|
147
147
|
return null;
|
|
148
|
-
return readJsonFileWithSchema(filePath, "
|
|
148
|
+
return readJsonFileWithSchema(filePath, "verifiable-context stage inputs", StageInputsSchema);
|
|
149
149
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type VerifiableContextHealth, type VerifiableContextViewSpec, type SourceFiles, type SourceSnapshot } from "./lib/schema.js";
|
|
2
|
+
export declare function refreshVerifiableContextArtifacts(dirPath: string, options?: {
|
|
3
|
+
ensureViewSpec?: boolean;
|
|
4
|
+
}): {
|
|
5
|
+
health: VerifiableContextHealth;
|
|
6
|
+
viewSpec?: VerifiableContextViewSpec;
|
|
7
|
+
sourceFiles: SourceFiles;
|
|
8
|
+
sourceSnapshot: SourceSnapshot;
|
|
9
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { saveVerifiableContextHealth, } from "./state-io.js";
|
|
2
|
+
import { computeVerifiableContextHealth, } from "./state-health.js";
|
|
3
|
+
import { ensureVerifiableContextSourceFiles, ensureVerifiableContextSourceSnapshot, ensureVerifiableContextViewSpec, } from "./state-view.js";
|
|
4
|
+
export function refreshVerifiableContextArtifacts(dirPath, options) {
|
|
5
|
+
const health = computeVerifiableContextHealth(dirPath);
|
|
6
|
+
saveVerifiableContextHealth(dirPath, health);
|
|
7
|
+
const sourceFiles = ensureVerifiableContextSourceFiles(dirPath);
|
|
8
|
+
const sourceSnapshot = ensureVerifiableContextSourceSnapshot(dirPath, sourceFiles);
|
|
9
|
+
let viewSpec;
|
|
10
|
+
if (options?.ensureViewSpec) {
|
|
11
|
+
viewSpec = ensureVerifiableContextViewSpec(dirPath);
|
|
12
|
+
}
|
|
13
|
+
return { health, viewSpec, sourceFiles, sourceSnapshot };
|
|
14
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type VerifiableContextHealth, type BuildStage, type RuntimeStatus } from "./lib/schema.js";
|
|
2
|
+
export declare function computeVerifiableContextHealth(dirPath: string): VerifiableContextHealth;
|
|
3
|
+
export declare function resolveVerifiableContextStatus(..._args: unknown[]): RuntimeStatus;
|
|
4
|
+
export declare function resolveBuildStage(...args: unknown[]): BuildStage;
|
|
@@ -3,52 +3,52 @@ import { readInterfConfig, resolveSourceFolderPath, } from "../../project/interf
|
|
|
3
3
|
import { discoverSourceFiles } from "./discovery.js";
|
|
4
4
|
import { loadRuntimeRun } from "./runtime.js";
|
|
5
5
|
import { loadState } from "./state-io.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
export function
|
|
6
|
+
import { validateVerifiableContextSetup, validateBuildStage, validateVerifiableContext, } from "./validate.js";
|
|
7
|
+
import { listBuildPlanContextArtifacts, readBuildPlanContextFile } from "./verifiable-context-schema.js";
|
|
8
|
+
import { buildPlanPackagePathForVerifiableContext } from "./verifiable-context-paths.js";
|
|
9
|
+
import { getActiveBuildPlan, resolveRequiredBuildPlanFromConfig } from "../../build-plans/package/build-plan-definitions.js";
|
|
10
|
+
import { countBuildArtifactsAtPath } from "./artifact-counts.js";
|
|
11
|
+
export function computeVerifiableContextHealth(dirPath) {
|
|
12
12
|
const now = new Date().toISOString();
|
|
13
13
|
const config = readInterfConfig(dirPath);
|
|
14
14
|
const targetName = config?.name ?? basename(dirPath);
|
|
15
15
|
const sourcePath = config ? resolveSourceFolderPath(dirPath, config) : dirPath;
|
|
16
16
|
const sourceTotal = config ? discoverSourceFiles(sourcePath, dirPath).totalCount : 0;
|
|
17
17
|
const state = loadState(dirPath);
|
|
18
|
-
const validation =
|
|
18
|
+
const validation = validateVerifiableContextSetup(dirPath);
|
|
19
19
|
const activeRun = loadRuntimeRun(dirPath);
|
|
20
|
-
const
|
|
21
|
-
?
|
|
20
|
+
const buildPlanId = config
|
|
21
|
+
? resolveRequiredBuildPlanFromConfig(config, `.interf/interf.json for ${dirPath}`)
|
|
22
22
|
: null;
|
|
23
|
-
let
|
|
24
|
-
if (
|
|
23
|
+
let buildPlan = null;
|
|
24
|
+
if (buildPlanId) {
|
|
25
25
|
try {
|
|
26
|
-
|
|
26
|
+
buildPlan = getActiveBuildPlan(dirPath);
|
|
27
27
|
}
|
|
28
28
|
catch {
|
|
29
|
-
|
|
29
|
+
buildPlan = null;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
const stageResults =
|
|
32
|
+
const stageResults = buildPlan?.stages.map((stage) => ({
|
|
33
33
|
stage,
|
|
34
|
-
validation:
|
|
34
|
+
validation: validateBuildStage(dirPath, stage.id),
|
|
35
35
|
})) ?? [];
|
|
36
36
|
const completedStages = stageResults.filter((entry) => entry.validation.ok).length;
|
|
37
37
|
const firstFailed = stageResults.find((entry) => !entry.validation.ok) ?? null;
|
|
38
|
-
const
|
|
39
|
-
const schema =
|
|
40
|
-
const artifactMetrics = Object.fromEntries((schema ?
|
|
38
|
+
const buildPlanValidation = validateVerifiableContext(dirPath);
|
|
39
|
+
const schema = readBuildPlanContextFile(buildPlanPackagePathForVerifiableContext(dirPath));
|
|
40
|
+
const artifactMetrics = Object.fromEntries((schema ? listBuildPlanContextArtifacts(schema) : []).map((artifact) => [
|
|
41
41
|
`artifact_${artifact.id}`,
|
|
42
|
-
|
|
42
|
+
countBuildArtifactsAtPath(dirPath, artifact.path, artifact.kind),
|
|
43
43
|
]));
|
|
44
44
|
let status = "idle";
|
|
45
45
|
let stage = "idle";
|
|
46
|
-
let summary = "Idle — no source files have been
|
|
47
|
-
const errors =
|
|
48
|
-
if (!validation.config_present || !validation.config_valid || !validation.config_type_match || !validation.
|
|
46
|
+
let summary = "Idle — no source files have been built yet.";
|
|
47
|
+
const errors = buildPlanValidation.errors.length;
|
|
48
|
+
if (!validation.config_present || !validation.config_valid || !validation.config_type_match || !validation.build_plan_valid || !validation.schema_valid) {
|
|
49
49
|
status = "failed";
|
|
50
50
|
stage = "failed";
|
|
51
|
-
summary =
|
|
51
|
+
summary = buildPlanValidation.summary;
|
|
52
52
|
}
|
|
53
53
|
else if (activeRun?.status === "running") {
|
|
54
54
|
status = "running";
|
|
@@ -58,34 +58,34 @@ export function computeCompiledHealth(dirPath) {
|
|
|
58
58
|
else if (sourceTotal === 0 && completedStages === 0) {
|
|
59
59
|
status = "idle";
|
|
60
60
|
stage = "idle";
|
|
61
|
-
summary = "Idle — no source files have been
|
|
61
|
+
summary = "Idle — no source files have been built yet.";
|
|
62
62
|
}
|
|
63
63
|
else if (activeRun?.status === "failed") {
|
|
64
64
|
status = "failed";
|
|
65
65
|
stage = activeRun.stage;
|
|
66
66
|
summary = activeRun.error ?? activeRun.summary;
|
|
67
67
|
}
|
|
68
|
-
else if (
|
|
69
|
-
status = "
|
|
70
|
-
stage = "
|
|
71
|
-
summary = `
|
|
68
|
+
else if (buildPlanValidation.ok) {
|
|
69
|
+
status = "built";
|
|
70
|
+
stage = "built";
|
|
71
|
+
summary = `Built — ${completedStages}/${buildPlan?.stages.length ?? 0} Build Plan stages satisfied.`;
|
|
72
72
|
}
|
|
73
73
|
else {
|
|
74
74
|
status = "stale";
|
|
75
|
-
stage = firstFailed?.stage.id ?? "
|
|
76
|
-
summary = firstFailed?.validation.summary ??
|
|
75
|
+
stage = firstFailed?.stage.id ?? "built";
|
|
76
|
+
summary = firstFailed?.validation.summary ?? buildPlanValidation.summary;
|
|
77
77
|
}
|
|
78
78
|
const checks = {
|
|
79
79
|
...validation,
|
|
80
|
-
...(
|
|
81
|
-
? Object.fromEntries(
|
|
82
|
-
`stage_${
|
|
83
|
-
stageResults.find((entry) => entry.stage.id ===
|
|
80
|
+
...(buildPlan
|
|
81
|
+
? Object.fromEntries(buildPlan.stages.map((buildPlanStage) => [
|
|
82
|
+
`stage_${buildPlanStage.id}_ok`,
|
|
83
|
+
stageResults.find((entry) => entry.stage.id === buildPlanStage.id)?.validation.ok ?? false,
|
|
84
84
|
]))
|
|
85
85
|
: {}),
|
|
86
86
|
};
|
|
87
87
|
return {
|
|
88
|
-
kind: "
|
|
88
|
+
kind: "verifiable-context-health",
|
|
89
89
|
version: 2,
|
|
90
90
|
generated_at: now,
|
|
91
91
|
target_name: targetName,
|
|
@@ -94,7 +94,7 @@ export function computeCompiledHealth(dirPath) {
|
|
|
94
94
|
summary,
|
|
95
95
|
metrics: {
|
|
96
96
|
source_total: sourceTotal,
|
|
97
|
-
stage_total:
|
|
97
|
+
stage_total: buildPlan?.stages.length ?? 0,
|
|
98
98
|
completed_stages: completedStages,
|
|
99
99
|
warnings: state?.warning_count ?? 0,
|
|
100
100
|
errors: (state?.error_count ?? 0) + errors,
|
|
@@ -103,21 +103,21 @@ export function computeCompiledHealth(dirPath) {
|
|
|
103
103
|
checks,
|
|
104
104
|
};
|
|
105
105
|
}
|
|
106
|
-
export function
|
|
106
|
+
export function resolveVerifiableContextStatus(..._args) {
|
|
107
107
|
const state = _args[_args.length - 1];
|
|
108
108
|
if (state?.error_count && state.error_count > 0)
|
|
109
109
|
return "failed";
|
|
110
110
|
if (!state?.stages || Object.keys(state.stages).length === 0)
|
|
111
111
|
return "idle";
|
|
112
112
|
const allSucceeded = Object.values(state.stages).every((stage) => stage.status === "succeeded");
|
|
113
|
-
return allSucceeded ? "
|
|
113
|
+
return allSucceeded ? "built" : "stale";
|
|
114
114
|
}
|
|
115
|
-
export function
|
|
115
|
+
export function resolveBuildStage(...args) {
|
|
116
116
|
const state = args[0];
|
|
117
117
|
if (state?.error_count && state.error_count > 0)
|
|
118
118
|
return "failed";
|
|
119
119
|
if (!state?.stages || Object.keys(state.stages).length === 0)
|
|
120
120
|
return "idle";
|
|
121
121
|
const failedStage = Object.entries(state.stages).find(([, stage]) => stage.status !== "succeeded");
|
|
122
|
-
return failedStage?.[0] ?? "
|
|
122
|
+
return failedStage?.[0] ?? "built";
|
|
123
123
|
}
|