@tangle-network/starter-foundry 0.7.0 → 0.7.3
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/corpus/held-out-validation.json +2 -2
- package/dist/cli.js +0 -0
- package/dist/eval/scaffold-bridge.d.ts +99 -2
- package/dist/eval/scaffold-bridge.js +252 -59
- package/dist/eval/scaffold-bridge.js.map +1 -1
- package/dist/lib/compose.js +41 -2
- package/dist/lib/compose.js.map +1 -1
- package/dist/lib/promoter-gates.d.ts +114 -0
- package/dist/lib/promoter-gates.js +426 -0
- package/dist/lib/promoter-gates.js.map +1 -0
- package/dist/lib/prompt-e2e.d.ts +1 -0
- package/dist/lib/prompt-e2e.js +20 -6
- package/dist/lib/prompt-e2e.js.map +1 -1
- package/dist/lib/template-quality.js +20 -4
- package/dist/lib/template-quality.js.map +1 -1
- package/package.json +20 -19
- package/registry/families/fraud-ops-console/files/src/main.tsx +11 -8
- package/registry/families/fraud-ops-console/manifest.json +13 -17
- package/registry/families/kyc-onboarding/files/index.html +1 -1
- package/registry/families/kyc-onboarding/files/vite.config.ts +0 -1
- package/registry/families/kyc-onboarding/manifest.json +12 -12
- package/registry/families/polymarket-portfolio-hedging/files/src/main.tsx +11 -8
- package/registry/families/polymarket-portfolio-hedging/manifest.json +7 -6
- package/registry/layers/capability/agent-eval/files/.github/workflows/eval.yml +60 -0
- package/registry/layers/capability/agent-eval/files/scripts/eval-baseline.mjs +87 -0
- package/registry/layers/capability/agent-eval/files/tests/eval/README.md +76 -0
- package/registry/layers/capability/agent-eval/files/tests/eval/judge.mjs +35 -0
- package/registry/layers/capability/agent-eval/files/tests/eval/run-eval.mjs +204 -0
- package/registry/layers/capability/agent-eval/files/tests/eval/scenarios.json +47 -0
- package/registry/layers/capability/agent-eval/manifest.json +73 -0
- package/registry/layers/framework/forge-foundation/files/foundry.toml +14 -0
- package/registry/layers/framework/tangle-blueprint/files/foundry.toml +8 -0
- package/dist/lib/planner/zk-preferences.d.ts +0 -9
- package/dist/lib/planner/zk-preferences.js +0 -91
- package/dist/lib/planner/zk-preferences.js.map +0 -1
- /package/registry/families/kyc-onboarding/files/src/{main.ts → main.tsx} +0 -0
package/dist/lib/compose.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/lib/compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAK7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAEzD,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAC1D,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,UAAkB,EAAE,UAAkB,EAAE,SAAkC;IAClG,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAA;IAClD,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,GAAW,EAAE,EAAE;QACrE,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;YAClC,OAAO,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QACjD,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;IACF,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;IACzC,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;AAClD,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAsB,EAAE,QAAgB,EAAE,WAAmB;IACzF,MAAM,KAAK,GAAG,SAA0B,CAAA;IACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAgC,CAAA;IACvD,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACtG,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;IAChE,MAAM,UAAU,GAAG,YAAY,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAA;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC,CAAA;AACrF,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAsB,EAAE,WAAmB;IACxE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5C,GAAG,IAAI;QACP,MAAM,EAAE,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC;QACjE,KAAK,EACH,SAAS,CAAC,IAAI,KAAK,OAAO;YACxB,CAAC,CAAC,GAAI,SAA2B,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE,EAAE;YACzD,CAAC,CAAC,SAAS,CAAC,EAAE;KACnB,CAAC,CAAC,CAAA;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAgG;IAC3H,MAAM,KAAK,GAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACtE,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,uBAAuB,CAC9B,UAAgG,EAChG,SAAkC;IAElC,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAC,OAAO,CAC5C,CAAC,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,gBAAgB,IAAI,EAAE,EAAE,SAAS,CAAsB,CACvG,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,UAAgG,EAChG,SAAkC;IAElC,MAAM,MAAM,GAA2B;QACrC,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,IAAa;QACtB,eAAe,EAAE,EAAE;KACpB,CAAA;IAED,KAAK,MAAM,SAAS,IAAI,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,qBAAqB,CAAC,SAAS,CAAC,YAAY,IAAI,EAAE,EAAE,SAAS,CAAiB,CAAA;QAC5F,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAA;QAC/C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAA;QACrD,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAA;QAC7D,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAgB,CAAA;QACzC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC/C,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;IACrD,MAAM,CAAC,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAA;IAE7D,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAyC;IAC1F,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QACvE,OAAO,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAA;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,IAAI,CAAA;IACtE,sEAAsE;IACtE,uEAAuE;IACvE,qEAAqE;IACrE,wEAAwE;IACxE,MAAM,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IAC3E,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM;QACN,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;QAC7B,QAAQ;QACR,UAAU;QACV,eAAe,EAAE,cAAc;QAC/B,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,KAAK,MAAM;KAC9H,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,MAAc;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IAC7D,IAAI,QAAQ,GAAyB,IAAI,CAAA;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;QACnD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAA;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM;QAAE,OAAO,EAAE,CAAA;IAEnD,0CAA0C;IAC1C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAqB,CAAA;IACzC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IACzB,CAAC;IACD,MAAM,MAAM,GAAkB,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAA;IAC3D,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAChF,OAAO,MAAM,CAAC,KAAK,CAAA;AACrB,CAAC;AAED,oEAAoE;AACpE,8EAA8E;AAC9E,wEAAwE;AACxE,2CAA2C;AAC3C,KAAK,UAAU,qBAAqB,CAAC,MAAc,EAAE,MAAuB;IAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACjD,IAAI,GAA4B,CAAA;IAChC,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAM;IACR,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAA;QAC9B,IAAI,CAAC,IAAI;YAAE,SAAQ;QACnB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAA2B,CAAA;YACnE,GAAG,CAAC,YAAY,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;YACxD,OAAO,GAAG,IAAI,CAAA;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAA2B,CAAA;YACtE,GAAG,CAAC,eAAe,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;YAC9D,OAAO,GAAG,IAAI,CAAA;QAChB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO;QAAE,OAAM;IACpB,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAC1E,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAiB,EAAE,MAAc;IAClE,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChD,MAAM,SAAS,GAAG,cAAc,CAC9B;QACE,GAAG,IAAI;QACP,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC;KACvE,EACD,UAAU,CACX,CAAA;IACD,MAAM,cAAc,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IACtD,MAAM,aAAa,GAA2B,EAAE,CAAA;IAChD,MAAM,YAAY,GAAa,EAAE,CAAA;IACjC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAE3C,MAAM,SAAS,CAAC,MAAM,CAAC,CAAA;IAEvB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IACpC,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;QAC3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAW,CAAA;YAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;YAEpD,oCAAoC;YACpC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,cAAc,EAAE,CAAC;gBACnH,MAAM,IAAI,KAAK,CAAC,eAAe,cAAc,gCAAgC,CAAC,CAAA;YAChF,CAAC;YAED,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;YACpD,aAAa,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;YAC1C,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAED,MAAM,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IAEtD,MAAM,aAAa,GAAG;QACpB,IAAI;QACJ,UAAU,EAAE;YACV,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE;YAC5B,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;YACtE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,IAAI;YACvC,KAAK,EAAE,UAAU,CAAC,cAAc;SACjC;QACD,SAAS;QACT,aAAa;QACb,gBAAgB,EAAE,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC;QAChE,YAAY,EAAE,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC;KACzD,CAAA;IAED,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAA;IACtD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,EAAE,aAAa,CAAC,CAAA;IAE5F,oEAAoE;IACpE,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAEpD,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IACxF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG,QAAQ,IAAI,EAAE,MAAM,CAAC,CAAA;IAE3E,4FAA4F;IAC5F,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG,QAAQ,IAAI,EAAE,MAAM,CAAC,CAAA;IAE3E,yEAAyE;IACzE,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC1E,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,OAAO,IAAI,EAAE,MAAM,CAAC,CAAA;IAEzE,uEAAuE;IACvE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAA;IAC/C,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IAE1D,mEAAmE;IACnE,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,UAAU,CAAC,CAAA;IAE9D,OAAO;QACL,MAAM;QACN,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;QAC1F,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;QAC/E,UAAU,EAAE,aAAa,CAAC,UAAU;QACpC,cAAc;QACd,QAAQ;KACT,CAAA;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,UAA8B;IACjE,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;IAC7E,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,mCAAmC;IACrC,CAAC;IACD,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;QAC/E,IAAI,CAAC;YACH,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAA;AAC7C,CAAC;AAED,SAAS,YAAY,CACnB,IAAiB,EACjB,UAA8B,EAC9B,YAAoD;IAEpD,MAAM,KAAK,GAAG;QACZ,KAAK,IAAI,CAAC,WAAW,EAAE;QACvB,EAAE;QACF,KAAK,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE;QACpC,EAAE;QACF,UAAU;QACV,aAAa,IAAI,CAAC,MAAM,EAAE;QAC1B,aAAa,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC1E,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;QACjE,EAAE;QACF,iBAAiB;QACjB,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,EAAE;QACF,aAAa;QACb,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,EAAE;QACF,qBAAqB;QACrB,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;KACnD,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,aAAa,CACpB,IAAiB,EACjB,UAA8B,EAC9B,YAAoD,EACpD,aAA0B,EAAE;IAE5B,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACrD,MAAM,KAAK,GAAa;QACtB,aAAa;QACb,EAAE;KACH,CAAA;IAED,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAChC,CAAC;IAED,wEAAwE;IACxE,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,0EAA0E;IAC1E,yDAAyD;IACzD,KAAK,CAAC,IAAI,CACR,kDAAkD,EAClD,EAAE,EACF,0ZAA0Z,EAC1Z,EAAE,EACF,SAAS,EACT,qLAAqL,EACrL,KAAK,EACL,EAAE,EACF,8HAA8H,EAC9H,EAAE,EACF,qYAAqY,EACrY,EAAE,EACF,qmBAAqmB,EACrmB,EAAE,CACH,CAAA;IAED,mEAAmE;IACnE,0CAA0C;IAC1C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CACR,qEAAqE,EACrE,EAAE,EACF,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAC7C,EAAE,CACH,CAAA;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CACR,iBAAiB,EACjB,EAAE,EACF,sHAAsH,EACtH,EAAE,EACF,mBAAmB,IAAI,CAAC,MAAM,IAAI,EAClC,iBAAiB,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CAAA;IACD,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;IAC3D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QACpC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,sEAAsE;IACtE,uEAAuE;IACvE,sEAAsE;IACtE,IAAI,YAAY,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CACR,cAAc,EACd,EAAE,EACF,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5D,EAAE,CACH,CAAA;IACH,CAAC;IAED,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpG,KAAK,CAAC,IAAI,CACR,yBAAyB,EACzB,EAAE,EACF,qEAAqE,EACrE,EAAE,CACH,CAAA;QACD,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxF,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrG,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACvG,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxG,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7G,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CACR,gCAAgC,EAChC,EAAE,EACF,+SAA+S,EAC/S,EAAE,CACH,CAAA;QACD,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,QAAQ,WAAW,MAAM,MAAM,IAAI,CAAC,CAAA;QAC5D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,qEAAqE;IACrE,qEAAqE;IACrE,4DAA4D;IAC5D,MAAM,aAAa,GAAG,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACjG,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC3B,CAAC;IAED,IAAI,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CACR,uBAAuB,EACvB,EAAE,EACF,wLAAwL,EACxL,EAAE,CACH,CAAA;QACD,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC,gBAAgB,EAAE,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,OAAO,IAAI,EAAE,CAAC,CAAA;QACzC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,IAAI,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CACR,YAAY,EACZ,EAAE,EACF,0DAA0D,EAC1D,EAAE,CACH,CAAA;QACD,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,OAAO,IAAI,EAAE,CAAC,CAAA;QACzC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,SAAS,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CACR,UAAU,EACV,EAAE,EACF,4EAA4E,EAC5E,mEAAmE,EACnE,EAAE,EACF,kCAAkC,EAClC,kCAAkC,CACnC,CAAA;QACD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;QACvG,CAAC;QACD,KAAK,CAAC,IAAI,CACR,EAAE,EACF,2EAA2E,EAC3E,EAAE,CACH,CAAA;IACH,CAAC;IAED,wEAAwE;IACxE,KAAK,CAAC,IAAI,CACR,8CAA8C,EAC9C,EAAE,EACF,qEAAqE,EACrE,iEAAiE,EACjE,mJAAmJ,EACnJ,yEAAyE,EACzE,oDAAoD,EACpD,EAAE,EACF,oCAAoC,EACpC,EAAE,EACF,6GAA6G,EAC7G,uFAAuF,EACvF,wEAAwE,EACxE,EAAE,EACF,oBAAoB,EACpB,EAAE,EACF,4DAA4D,EAC5D,yFAAyF,EACzF,iGAAiG,EACjG,EAAE,CACH,CAAA;IAED,KAAK,CAAC,IAAI,CACR,6BAA6B,EAC7B,EAAE,EACF,+DAA+D,EAC/D,EAAE,EACF,2HAA2H,EAC3H,gIAAgI,EAChI,qGAAqG,EACrG,sFAAsF,CACvF,CAAA;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/lib/compose.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
export type GateStatus = 'pass' | 'fail' | 'skipped';
|
|
2
|
+
export interface BaseGateResult {
|
|
3
|
+
gate: string;
|
|
4
|
+
status: GateStatus;
|
|
5
|
+
message?: string;
|
|
6
|
+
reason?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface DeclaredDepUsedResult extends BaseGateResult {
|
|
9
|
+
gate: 'declared-dep-used';
|
|
10
|
+
/** All packageDeps keys that had no matching import/require in any emitted file. Populated on fail. */
|
|
11
|
+
unusedDeps?: string[];
|
|
12
|
+
/** Files searched for import/require (relative paths). Populated always so the scorecard shows search scope. */
|
|
13
|
+
filesSearched?: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface ScaffoldRunsResult extends BaseGateResult {
|
|
16
|
+
gate: 'scaffold-runs';
|
|
17
|
+
reason?: string;
|
|
18
|
+
stderr?: string;
|
|
19
|
+
/** Port the scaffold was booted on (pass case only). */
|
|
20
|
+
port?: number;
|
|
21
|
+
/** Handle to the still-running process so gate 3 can reuse it. Only set on pass. */
|
|
22
|
+
process?: {
|
|
23
|
+
pid: number;
|
|
24
|
+
kill: () => void;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export interface EvalScoresResult extends BaseGateResult {
|
|
28
|
+
gate: 'eval-scores';
|
|
29
|
+
aggregate?: number;
|
|
30
|
+
threshold?: number;
|
|
31
|
+
failing?: string[];
|
|
32
|
+
reason?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Walk every emitted file in the composed output. For each declared
|
|
36
|
+
* package (dependencies + devDependencies + peerDependencies on the
|
|
37
|
+
* capability/family manifest), assert at least one file contains
|
|
38
|
+
* `import ... from '<pkg>'` or `require('<pkg>')`.
|
|
39
|
+
*
|
|
40
|
+
* Handles scoped packages (`@scope/name`) — the regex is built from
|
|
41
|
+
* escaped package names, so the `@` and `/` don't trip the pattern.
|
|
42
|
+
*
|
|
43
|
+
* Search scope: the ENTIRE composed output, not just the capability's
|
|
44
|
+
* own files/. Rationale: the motivating case is a capability declaring
|
|
45
|
+
* a dep whose consumer sits one layer up (family framework layer uses
|
|
46
|
+
* it; the capability-under-audit just declares it because it composes
|
|
47
|
+
* alongside). Limiting to the capability's own files would false-fail
|
|
48
|
+
* those valid cases. A broken declaration is still caught — the scope
|
|
49
|
+
* widening preserves correctness while accepting a superset.
|
|
50
|
+
*/
|
|
51
|
+
export declare function checkDeclaredDepUsed(args: {
|
|
52
|
+
manifest: Record<string, unknown>;
|
|
53
|
+
composedDir: string;
|
|
54
|
+
}): DeclaredDepUsedResult;
|
|
55
|
+
export interface ScaffoldRunsOptions {
|
|
56
|
+
/** Override port — defaults to manifest `defaults.port` then 3100. */
|
|
57
|
+
port?: number;
|
|
58
|
+
/** Max time to wait for /health 2xx. Defaults to 20s. */
|
|
59
|
+
readyTimeoutMs?: number;
|
|
60
|
+
/** Skip cleanup of the process — gate 3 will reuse it. */
|
|
61
|
+
keepProcess?: boolean;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Boot the composed scaffold's `start` script, wait for /health 2xx on
|
|
65
|
+
* PORT, then either SIGTERM or return a handle for gate 3 to reuse.
|
|
66
|
+
*
|
|
67
|
+
* Language dispatch:
|
|
68
|
+
* - TS/JS: checks package.json for a `start` script. Runs
|
|
69
|
+
* `pnpm start` with PORT=<port>, waits on /health.
|
|
70
|
+
* - Other: returns skipped with `reason: 'unsupported-lang'`. See
|
|
71
|
+
* TODO below — second iteration will add language branches for
|
|
72
|
+
* rust/python/go.
|
|
73
|
+
*
|
|
74
|
+
* Skip contract: we DO NOT silently pass. When there's no `start`
|
|
75
|
+
* script, we emit `status: 'skipped'` with `reason: 'no-start-script'`.
|
|
76
|
+
* The scorecard can detect "scaffold has an agent surface but didn't
|
|
77
|
+
* declare a boot contract" from a higher level.
|
|
78
|
+
*/
|
|
79
|
+
export declare function checkScaffoldRuns(args: {
|
|
80
|
+
composedDir: string;
|
|
81
|
+
manifest: Record<string, unknown>;
|
|
82
|
+
options?: ScaffoldRunsOptions;
|
|
83
|
+
}): Promise<ScaffoldRunsResult>;
|
|
84
|
+
export interface EvalScoresOptions {
|
|
85
|
+
/** Port where the agent is already listening (from gate 2). */
|
|
86
|
+
port: number;
|
|
87
|
+
/** Max time for the eval harness to finish. */
|
|
88
|
+
timeoutMs?: number;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* If the scaffold composed `capability:agent-eval`, run its own
|
|
92
|
+
* `tests/eval/run-eval.mjs --no-spawn --base <url>` against the
|
|
93
|
+
* already-booted agent (gate 2 hands the port in). Read
|
|
94
|
+
* `.evolve/eval/latest.json`, assert aggregate ≥ manifest threshold
|
|
95
|
+
* (fall back to 0.7).
|
|
96
|
+
*
|
|
97
|
+
* Why reuse the booted process from gate 2: the eval runner's default
|
|
98
|
+
* lifecycle spawns the agent itself, but we already have it running.
|
|
99
|
+
* Passing `--no-spawn` tells it to skip spawn and talk to `--base`.
|
|
100
|
+
* This matches how a user would run `run-eval.mjs` against a local
|
|
101
|
+
* dev server, which is the scenario we're dogfooding.
|
|
102
|
+
*
|
|
103
|
+
* Skip conditions:
|
|
104
|
+
* - scaffold did not compose capability:agent-eval (check
|
|
105
|
+
* composedLayers arg).
|
|
106
|
+
* - run-eval.mjs is missing (defensive — should not happen if the
|
|
107
|
+
* capability composed).
|
|
108
|
+
*/
|
|
109
|
+
export declare function checkEvalScores(args: {
|
|
110
|
+
composedDir: string;
|
|
111
|
+
manifest: Record<string, unknown>;
|
|
112
|
+
composedLayers: string[];
|
|
113
|
+
options: EvalScoresOptions;
|
|
114
|
+
}): Promise<EvalScoresResult>;
|
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
// Gen 9 dogfood gates. Three promoter-side checks that run AFTER the
|
|
2
|
+
// Build gate (tsc --noEmit / cargo check / etc. pass) and BEFORE the
|
|
3
|
+
// LLM-driven Fidelity gate. They catch the "ships silently broken" class
|
|
4
|
+
// that compile-gates + manifest schema can't see:
|
|
5
|
+
//
|
|
6
|
+
// 1. declared-dep-used — every packageDeps entry is actually imported
|
|
7
|
+
// somewhere in the composed output. Motivating bug: PR #55 shipped
|
|
8
|
+
// capability:agent-eval declaring `@tangle-network/agent-eval` but
|
|
9
|
+
// no source file imported it. Compile passed, fidelity passed, the
|
|
10
|
+
// dep was inert.
|
|
11
|
+
//
|
|
12
|
+
// 2. scaffold-runs — if the composed scaffold has a `start`
|
|
13
|
+
// script, actually boot it and hit GET /health. Proves the thing
|
|
14
|
+
// doesn't just compile — it can start.
|
|
15
|
+
//
|
|
16
|
+
// 3. eval-scores — if the scaffold composed capability:agent-eval,
|
|
17
|
+
// run its OWN eval harness against the still-booted agent and assert
|
|
18
|
+
// the aggregate score clears the manifest threshold.
|
|
19
|
+
//
|
|
20
|
+
// Each gate returns `{ gate, status, ...detail }`. `status` is one of:
|
|
21
|
+
// - 'pass' — gate ran, passed
|
|
22
|
+
// - 'fail' — gate ran, failed (promoter MUST short-circuit)
|
|
23
|
+
// - 'skipped' — gate intentionally inapplicable to this scaffold;
|
|
24
|
+
// promoter continues. Skip reasons are enumerated per-gate
|
|
25
|
+
// so a skipped gate on a scaffold that SHOULD have run it
|
|
26
|
+
// (e.g. agent-eval composed but scaffold-runs skipped
|
|
27
|
+
// for no-start-script) is still visible in the scorecard.
|
|
28
|
+
import { readFileSync, existsSync, statSync, readdirSync } from 'node:fs';
|
|
29
|
+
import { join, extname, relative } from 'node:path';
|
|
30
|
+
import { spawn } from 'node:child_process';
|
|
31
|
+
// ──────────────────────────────────────────────────────────────────
|
|
32
|
+
// Gate 1 — declared-dep-used
|
|
33
|
+
// ──────────────────────────────────────────────────────────────────
|
|
34
|
+
/**
|
|
35
|
+
* Walk every emitted file in the composed output. For each declared
|
|
36
|
+
* package (dependencies + devDependencies + peerDependencies on the
|
|
37
|
+
* capability/family manifest), assert at least one file contains
|
|
38
|
+
* `import ... from '<pkg>'` or `require('<pkg>')`.
|
|
39
|
+
*
|
|
40
|
+
* Handles scoped packages (`@scope/name`) — the regex is built from
|
|
41
|
+
* escaped package names, so the `@` and `/` don't trip the pattern.
|
|
42
|
+
*
|
|
43
|
+
* Search scope: the ENTIRE composed output, not just the capability's
|
|
44
|
+
* own files/. Rationale: the motivating case is a capability declaring
|
|
45
|
+
* a dep whose consumer sits one layer up (family framework layer uses
|
|
46
|
+
* it; the capability-under-audit just declares it because it composes
|
|
47
|
+
* alongside). Limiting to the capability's own files would false-fail
|
|
48
|
+
* those valid cases. A broken declaration is still caught — the scope
|
|
49
|
+
* widening preserves correctness while accepting a superset.
|
|
50
|
+
*/
|
|
51
|
+
export function checkDeclaredDepUsed(args) {
|
|
52
|
+
const { manifest, composedDir } = args;
|
|
53
|
+
const deps = manifestPackageDeps(manifest);
|
|
54
|
+
if (deps.length === 0) {
|
|
55
|
+
return { gate: 'declared-dep-used', status: 'skipped', reason: 'no-package-deps', filesSearched: [] };
|
|
56
|
+
}
|
|
57
|
+
const files = listScannableFiles(composedDir);
|
|
58
|
+
const unused = [];
|
|
59
|
+
for (const pkg of deps) {
|
|
60
|
+
if (!anyFileImports(files, composedDir, pkg)) {
|
|
61
|
+
unused.push(pkg);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const filesSearched = files.map((f) => relative(composedDir, f));
|
|
65
|
+
if (unused.length > 0) {
|
|
66
|
+
return {
|
|
67
|
+
gate: 'declared-dep-used',
|
|
68
|
+
status: 'fail',
|
|
69
|
+
unusedDeps: unused,
|
|
70
|
+
filesSearched,
|
|
71
|
+
message: `packageDeps declared but unused in composed output: ${unused.join(', ')}`,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
return { gate: 'declared-dep-used', status: 'pass', filesSearched };
|
|
75
|
+
}
|
|
76
|
+
function manifestPackageDeps(manifest) {
|
|
77
|
+
const pkg = manifest.packageDeps;
|
|
78
|
+
if (!pkg)
|
|
79
|
+
return [];
|
|
80
|
+
const names = new Set();
|
|
81
|
+
for (const group of [pkg.dependencies, pkg.devDependencies, pkg.peerDependencies]) {
|
|
82
|
+
if (!group)
|
|
83
|
+
continue;
|
|
84
|
+
for (const name of Object.keys(group))
|
|
85
|
+
names.add(name);
|
|
86
|
+
}
|
|
87
|
+
return [...names];
|
|
88
|
+
}
|
|
89
|
+
// Extensions we'll scan for import/require. Skip binary + asset + lockfile
|
|
90
|
+
// — they're never the site of a JS/TS import statement.
|
|
91
|
+
const SCANNABLE_EXTS = new Set([
|
|
92
|
+
'.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs',
|
|
93
|
+
'.json', // package.json references, JSON-imports via bundlers
|
|
94
|
+
'.md', // README examples
|
|
95
|
+
'.py', '.rs', '.go', '.sol', '.move',
|
|
96
|
+
'.yml', '.yaml',
|
|
97
|
+
]);
|
|
98
|
+
function listScannableFiles(rootDir) {
|
|
99
|
+
const out = [];
|
|
100
|
+
const walk = (dir) => {
|
|
101
|
+
let entries;
|
|
102
|
+
try {
|
|
103
|
+
entries = readdirSync(dir);
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
for (const entry of entries) {
|
|
109
|
+
if (entry === 'node_modules' || entry === '.git' || entry === 'dist' || entry === 'target')
|
|
110
|
+
continue;
|
|
111
|
+
const full = join(dir, entry);
|
|
112
|
+
let s;
|
|
113
|
+
try {
|
|
114
|
+
s = statSync(full);
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
if (s.isDirectory()) {
|
|
120
|
+
walk(full);
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
const ext = extname(entry).toLowerCase();
|
|
124
|
+
if (SCANNABLE_EXTS.has(ext) || entry === 'package.json')
|
|
125
|
+
out.push(full);
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
walk(rootDir);
|
|
129
|
+
return out;
|
|
130
|
+
}
|
|
131
|
+
function anyFileImports(files, root, pkg) {
|
|
132
|
+
// For scoped packages like `@tangle-network/agent-eval`, escape both
|
|
133
|
+
// `@` and `/`. The general import regex accepts both static and
|
|
134
|
+
// dynamic imports, bare-specifier re-exports, and CJS require().
|
|
135
|
+
const escaped = pkg.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
136
|
+
const patterns = [
|
|
137
|
+
new RegExp(`from\\s+['"]${escaped}(?:/[^'"\\s]*)?['"]`),
|
|
138
|
+
new RegExp(`require\\(\\s*['"]${escaped}(?:/[^'"\\s]*)?['"]\\s*\\)`),
|
|
139
|
+
new RegExp(`import\\s*\\(\\s*['"]${escaped}(?:/[^'"\\s]*)?['"]\\s*\\)`),
|
|
140
|
+
// `import '<pkg>'` side-effect import (no `from`) — covers e.g. polyfills.
|
|
141
|
+
new RegExp(`import\\s+['"]${escaped}(?:/[^'"\\s]*)?['"]`),
|
|
142
|
+
// package.json references (dependencies/peerDeps declared by consumer
|
|
143
|
+
// scaffolds are legitimate usage of a dep even without an import).
|
|
144
|
+
new RegExp(`"${escaped}"\\s*:`),
|
|
145
|
+
];
|
|
146
|
+
for (const abs of files) {
|
|
147
|
+
let text;
|
|
148
|
+
try {
|
|
149
|
+
text = readFileSync(abs, 'utf8');
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
// Skip the root-level package.json — it's where the dep is DECLARED,
|
|
155
|
+
// not "used". A scaffold's own package.json listing the dep cannot
|
|
156
|
+
// count as proof-of-use (otherwise this gate would always pass). We
|
|
157
|
+
// still include nested package.json (e.g. workspace sub-projects).
|
|
158
|
+
const rel = relative(root, abs);
|
|
159
|
+
if (rel === 'package.json')
|
|
160
|
+
continue;
|
|
161
|
+
for (const pattern of patterns) {
|
|
162
|
+
if (pattern.test(text))
|
|
163
|
+
return true;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Boot the composed scaffold's `start` script, wait for /health 2xx on
|
|
170
|
+
* PORT, then either SIGTERM or return a handle for gate 3 to reuse.
|
|
171
|
+
*
|
|
172
|
+
* Language dispatch:
|
|
173
|
+
* - TS/JS: checks package.json for a `start` script. Runs
|
|
174
|
+
* `pnpm start` with PORT=<port>, waits on /health.
|
|
175
|
+
* - Other: returns skipped with `reason: 'unsupported-lang'`. See
|
|
176
|
+
* TODO below — second iteration will add language branches for
|
|
177
|
+
* rust/python/go.
|
|
178
|
+
*
|
|
179
|
+
* Skip contract: we DO NOT silently pass. When there's no `start`
|
|
180
|
+
* script, we emit `status: 'skipped'` with `reason: 'no-start-script'`.
|
|
181
|
+
* The scorecard can detect "scaffold has an agent surface but didn't
|
|
182
|
+
* declare a boot contract" from a higher level.
|
|
183
|
+
*/
|
|
184
|
+
export async function checkScaffoldRuns(args) {
|
|
185
|
+
const { composedDir, manifest, options = {} } = args;
|
|
186
|
+
const port = resolveScaffoldPort(manifest, options.port);
|
|
187
|
+
const readyTimeoutMs = options.readyTimeoutMs ?? 20_000;
|
|
188
|
+
const language = manifest.taxonomy?.language;
|
|
189
|
+
const tsOrJs = language === 'typescript' || language === 'javascript' || language === undefined;
|
|
190
|
+
// TODO: add rust-runs / python-runs / go-runs branches — first iteration
|
|
191
|
+
// targets JS/TS because that's where capability:agent-eval lives.
|
|
192
|
+
if (!tsOrJs) {
|
|
193
|
+
return {
|
|
194
|
+
gate: 'scaffold-runs',
|
|
195
|
+
status: 'skipped',
|
|
196
|
+
reason: 'unsupported-lang',
|
|
197
|
+
message: `language '${language ?? 'unknown'}' not yet supported; TODO: add <lang>-runs branch`,
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
const pkgPath = join(composedDir, 'package.json');
|
|
201
|
+
if (!existsSync(pkgPath)) {
|
|
202
|
+
return { gate: 'scaffold-runs', status: 'skipped', reason: 'no-package-json' };
|
|
203
|
+
}
|
|
204
|
+
let pkg;
|
|
205
|
+
try {
|
|
206
|
+
pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
return { gate: 'scaffold-runs', status: 'skipped', reason: 'unreadable-package-json' };
|
|
210
|
+
}
|
|
211
|
+
const startCmd = pkg.scripts?.start;
|
|
212
|
+
if (!startCmd) {
|
|
213
|
+
return { gate: 'scaffold-runs', status: 'skipped', reason: 'no-start-script' };
|
|
214
|
+
}
|
|
215
|
+
// Spawn pnpm start. We use node-native spawn rather than
|
|
216
|
+
// SubprocessSandboxDriver here because we need a long-lived handle
|
|
217
|
+
// (the driver's exec awaits exit, which never happens for a server).
|
|
218
|
+
const child = spawn('pnpm', ['start'], {
|
|
219
|
+
cwd: composedDir,
|
|
220
|
+
env: { ...process.env, PORT: String(port), HOST: '127.0.0.1' },
|
|
221
|
+
detached: true,
|
|
222
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
223
|
+
});
|
|
224
|
+
let stderrBuf = '';
|
|
225
|
+
child.stderr.setEncoding('utf8');
|
|
226
|
+
child.stderr.on('data', (chunk) => { stderrBuf = (stderrBuf + chunk).slice(-4000); });
|
|
227
|
+
child.stdout.setEncoding('utf8');
|
|
228
|
+
// Keep stdout drained so the child's pipe buffer doesn't block it.
|
|
229
|
+
child.stdout.on('data', () => { });
|
|
230
|
+
let earlyExit = null;
|
|
231
|
+
child.on('exit', (code, signal) => { earlyExit = { code, signal }; });
|
|
232
|
+
const baseUrl = `http://127.0.0.1:${port}`;
|
|
233
|
+
const ready = await waitForHealth(baseUrl, readyTimeoutMs, () => earlyExit !== null);
|
|
234
|
+
if (earlyExit !== null) {
|
|
235
|
+
const exit = earlyExit;
|
|
236
|
+
return {
|
|
237
|
+
gate: 'scaffold-runs',
|
|
238
|
+
status: 'fail',
|
|
239
|
+
reason: `start-exited-early (code=${exit.code ?? 'null'} signal=${exit.signal ?? 'null'})`,
|
|
240
|
+
stderr: stderrBuf.slice(-1000),
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
if (!ready) {
|
|
244
|
+
killProcess(child);
|
|
245
|
+
return {
|
|
246
|
+
gate: 'scaffold-runs',
|
|
247
|
+
status: 'fail',
|
|
248
|
+
reason: `health-endpoint-unreachable (${baseUrl}/health within ${readyTimeoutMs}ms)`,
|
|
249
|
+
stderr: stderrBuf.slice(-1000),
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
// Pass. Either hand the process to caller for gate 3, or SIGTERM now.
|
|
253
|
+
if (options.keepProcess) {
|
|
254
|
+
return {
|
|
255
|
+
gate: 'scaffold-runs',
|
|
256
|
+
status: 'pass',
|
|
257
|
+
port,
|
|
258
|
+
process: { pid: child.pid ?? -1, kill: () => killProcess(child) },
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
killProcess(child);
|
|
262
|
+
return { gate: 'scaffold-runs', status: 'pass', port };
|
|
263
|
+
}
|
|
264
|
+
function resolveScaffoldPort(manifest, override) {
|
|
265
|
+
if (override)
|
|
266
|
+
return override;
|
|
267
|
+
const defaults = manifest.defaults;
|
|
268
|
+
// agent-eval uses `evalPort`; generic scaffolds use `port`. Accept both.
|
|
269
|
+
const raw = defaults?.port ?? defaults?.evalPort;
|
|
270
|
+
if (raw != null) {
|
|
271
|
+
const n = Number(raw);
|
|
272
|
+
if (Number.isFinite(n) && n > 0)
|
|
273
|
+
return n;
|
|
274
|
+
}
|
|
275
|
+
return 3100;
|
|
276
|
+
}
|
|
277
|
+
async function waitForHealth(baseUrl, timeoutMs, exited) {
|
|
278
|
+
const deadline = Date.now() + timeoutMs;
|
|
279
|
+
while (Date.now() < deadline) {
|
|
280
|
+
if (exited())
|
|
281
|
+
return false;
|
|
282
|
+
try {
|
|
283
|
+
const res = await fetch(`${baseUrl}/health`, { signal: AbortSignal.timeout(1500) });
|
|
284
|
+
if (res.ok)
|
|
285
|
+
return true;
|
|
286
|
+
}
|
|
287
|
+
catch { /* retry */ }
|
|
288
|
+
await new Promise((r) => setTimeout(r, 250));
|
|
289
|
+
}
|
|
290
|
+
return false;
|
|
291
|
+
}
|
|
292
|
+
function killProcess(child) {
|
|
293
|
+
// Kill the process group. `pnpm start` spawns a child node which IS
|
|
294
|
+
// the server; killing only the pnpm pid leaves the node child alive
|
|
295
|
+
// and holding the port. SIGTERM first for clean shutdown, SIGKILL
|
|
296
|
+
// follow-up after a short grace in case pnpm swallows SIGTERM
|
|
297
|
+
// (observed with some npm/pnpm builds).
|
|
298
|
+
try {
|
|
299
|
+
if (child.pid) {
|
|
300
|
+
try {
|
|
301
|
+
process.kill(-child.pid, 'SIGTERM');
|
|
302
|
+
}
|
|
303
|
+
catch { /* group may not exist */ }
|
|
304
|
+
try {
|
|
305
|
+
child.kill('SIGTERM');
|
|
306
|
+
}
|
|
307
|
+
catch { /* noop */ }
|
|
308
|
+
setTimeout(() => {
|
|
309
|
+
try {
|
|
310
|
+
process.kill(-child.pid, 'SIGKILL');
|
|
311
|
+
}
|
|
312
|
+
catch { /* already dead */ }
|
|
313
|
+
try {
|
|
314
|
+
child.kill('SIGKILL');
|
|
315
|
+
}
|
|
316
|
+
catch { /* noop */ }
|
|
317
|
+
}, 500).unref();
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
catch { /* already dead */ }
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* If the scaffold composed `capability:agent-eval`, run its own
|
|
324
|
+
* `tests/eval/run-eval.mjs --no-spawn --base <url>` against the
|
|
325
|
+
* already-booted agent (gate 2 hands the port in). Read
|
|
326
|
+
* `.evolve/eval/latest.json`, assert aggregate ≥ manifest threshold
|
|
327
|
+
* (fall back to 0.7).
|
|
328
|
+
*
|
|
329
|
+
* Why reuse the booted process from gate 2: the eval runner's default
|
|
330
|
+
* lifecycle spawns the agent itself, but we already have it running.
|
|
331
|
+
* Passing `--no-spawn` tells it to skip spawn and talk to `--base`.
|
|
332
|
+
* This matches how a user would run `run-eval.mjs` against a local
|
|
333
|
+
* dev server, which is the scenario we're dogfooding.
|
|
334
|
+
*
|
|
335
|
+
* Skip conditions:
|
|
336
|
+
* - scaffold did not compose capability:agent-eval (check
|
|
337
|
+
* composedLayers arg).
|
|
338
|
+
* - run-eval.mjs is missing (defensive — should not happen if the
|
|
339
|
+
* capability composed).
|
|
340
|
+
*/
|
|
341
|
+
export async function checkEvalScores(args) {
|
|
342
|
+
const { composedDir, manifest, composedLayers, options } = args;
|
|
343
|
+
if (!composedLayers.some((l) => l === 'capability:agent-eval' || l.endsWith(':agent-eval'))) {
|
|
344
|
+
return {
|
|
345
|
+
gate: 'eval-scores',
|
|
346
|
+
status: 'skipped',
|
|
347
|
+
reason: 'no-agent-eval-capability',
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
const runnerPath = join(composedDir, 'tests/eval/run-eval.mjs');
|
|
351
|
+
if (!existsSync(runnerPath)) {
|
|
352
|
+
return {
|
|
353
|
+
gate: 'eval-scores',
|
|
354
|
+
status: 'skipped',
|
|
355
|
+
reason: 'no-run-eval-script',
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
const threshold = resolveEvalThreshold(manifest);
|
|
359
|
+
const baseUrl = `http://127.0.0.1:${options.port}`;
|
|
360
|
+
const timeoutMs = options.timeoutMs ?? 120_000;
|
|
361
|
+
// Spawn run-eval.mjs. Unlike gate 2 this awaits completion.
|
|
362
|
+
const runnerRes = await new Promise((resolve) => {
|
|
363
|
+
const child = spawn('node', ['tests/eval/run-eval.mjs', '--no-spawn', '--base', baseUrl, '--threshold', String(threshold)], { cwd: composedDir, env: { ...process.env }, stdio: ['ignore', 'pipe', 'pipe'] });
|
|
364
|
+
let stdout = '';
|
|
365
|
+
let stderr = '';
|
|
366
|
+
child.stdout.on('data', (c) => { stdout += c.toString('utf8'); });
|
|
367
|
+
child.stderr.on('data', (c) => { stderr += c.toString('utf8'); });
|
|
368
|
+
const timer = setTimeout(() => {
|
|
369
|
+
try {
|
|
370
|
+
child.kill('SIGKILL');
|
|
371
|
+
}
|
|
372
|
+
catch { /* noop */ }
|
|
373
|
+
}, timeoutMs);
|
|
374
|
+
child.on('exit', (code) => { clearTimeout(timer); resolve({ code, stdout, stderr }); });
|
|
375
|
+
});
|
|
376
|
+
// Read the scorecard — run-eval.mjs writes to .evolve/eval/latest.json
|
|
377
|
+
// inside the scaffold dir.
|
|
378
|
+
const scorecardPath = join(composedDir, '.evolve/eval/latest.json');
|
|
379
|
+
let scorecard = null;
|
|
380
|
+
if (existsSync(scorecardPath)) {
|
|
381
|
+
try {
|
|
382
|
+
scorecard = JSON.parse(readFileSync(scorecardPath, 'utf8'));
|
|
383
|
+
}
|
|
384
|
+
catch { /* leave null */ }
|
|
385
|
+
}
|
|
386
|
+
if (!scorecard) {
|
|
387
|
+
return {
|
|
388
|
+
gate: 'eval-scores',
|
|
389
|
+
status: 'fail',
|
|
390
|
+
threshold,
|
|
391
|
+
reason: `run-eval exited ${runnerRes.code} but no .evolve/eval/latest.json produced. stderr tail: ${runnerRes.stderr.slice(-500)}`,
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
const aggregate = typeof scorecard.aggregate === 'number' ? scorecard.aggregate : 0;
|
|
395
|
+
const failing = (scorecard.scenarios ?? [])
|
|
396
|
+
.filter((s) => s && s.pass === false)
|
|
397
|
+
.map((s) => s.id ?? '(unnamed)');
|
|
398
|
+
if (aggregate < threshold) {
|
|
399
|
+
return {
|
|
400
|
+
gate: 'eval-scores',
|
|
401
|
+
status: 'fail',
|
|
402
|
+
aggregate,
|
|
403
|
+
threshold,
|
|
404
|
+
failing,
|
|
405
|
+
message: `aggregate ${aggregate.toFixed(2)} < threshold ${threshold.toFixed(2)} (failing scenarios: ${failing.join(', ') || 'none'})`,
|
|
406
|
+
};
|
|
407
|
+
}
|
|
408
|
+
return {
|
|
409
|
+
gate: 'eval-scores',
|
|
410
|
+
status: 'pass',
|
|
411
|
+
aggregate,
|
|
412
|
+
threshold,
|
|
413
|
+
failing,
|
|
414
|
+
};
|
|
415
|
+
}
|
|
416
|
+
function resolveEvalThreshold(manifest) {
|
|
417
|
+
const defaults = manifest.defaults;
|
|
418
|
+
const raw = defaults?.evalThreshold;
|
|
419
|
+
if (raw != null) {
|
|
420
|
+
const n = Number(raw);
|
|
421
|
+
if (Number.isFinite(n) && n >= 0 && n <= 1)
|
|
422
|
+
return n;
|
|
423
|
+
}
|
|
424
|
+
return 0.7;
|
|
425
|
+
}
|
|
426
|
+
//# sourceMappingURL=promoter-gates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promoter-gates.js","sourceRoot":"","sources":["../../src/lib/promoter-gates.ts"],"names":[],"mappings":"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"}
|