@tangle-network/starter-foundry 0.5.4 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1052) hide show
  1. package/README.md +28 -5
  2. package/corpus/held-out-validation.json +3 -3
  3. package/corpus/model-rates.json +56 -0
  4. package/dist/cli.js +7 -4
  5. package/dist/cli.js.map +1 -1
  6. package/dist/eval/diagnoser.d.ts +37 -0
  7. package/dist/eval/diagnoser.js +113 -0
  8. package/dist/eval/diagnoser.js.map +1 -0
  9. package/dist/eval/propose.d.ts +20 -0
  10. package/dist/eval/propose.js +75 -0
  11. package/dist/eval/propose.js.map +1 -0
  12. package/dist/eval/replay.d.ts +137 -0
  13. package/dist/eval/replay.js +392 -0
  14. package/dist/eval/replay.js.map +1 -0
  15. package/dist/eval/scaffold-bridge.d.ts +197 -0
  16. package/dist/eval/scaffold-bridge.js +685 -0
  17. package/dist/eval/scaffold-bridge.js.map +1 -0
  18. package/dist/lib/ab.d.ts +61 -0
  19. package/dist/lib/ab.js +80 -0
  20. package/dist/lib/ab.js.map +1 -0
  21. package/dist/lib/batch-export.js +1 -11
  22. package/dist/lib/batch-export.js.map +1 -1
  23. package/dist/lib/brand/first-turn-flows.d.ts +10 -0
  24. package/dist/lib/brand/first-turn-flows.js +114 -0
  25. package/dist/lib/brand/first-turn-flows.js.map +1 -0
  26. package/dist/lib/brand/i18n.d.ts +15 -0
  27. package/dist/lib/brand/i18n.js +100 -0
  28. package/dist/lib/brand/i18n.js.map +1 -0
  29. package/dist/lib/brand/index.d.ts +27 -0
  30. package/dist/lib/brand/index.js +100 -0
  31. package/dist/lib/brand/index.js.map +1 -0
  32. package/dist/lib/brand/media-manifest.d.ts +26 -0
  33. package/dist/lib/brand/media-manifest.js +98 -0
  34. package/dist/lib/brand/media-manifest.js.map +1 -0
  35. package/dist/lib/brand/user-segments.d.ts +7 -0
  36. package/dist/lib/brand/user-segments.js +81 -0
  37. package/dist/lib/brand/user-segments.js.map +1 -0
  38. package/dist/lib/brand/voice.d.ts +10 -0
  39. package/dist/lib/brand/voice.js +92 -0
  40. package/dist/lib/brand/voice.js.map +1 -0
  41. package/dist/lib/bridge.d.ts +38 -0
  42. package/dist/lib/bridge.js +130 -0
  43. package/dist/lib/bridge.js.map +1 -0
  44. package/dist/lib/build-plan.d.ts +25 -0
  45. package/dist/lib/build-plan.js +67 -1
  46. package/dist/lib/build-plan.js.map +1 -1
  47. package/dist/lib/buildout-traces.d.ts +70 -1
  48. package/dist/lib/buildout-traces.js +66 -0
  49. package/dist/lib/buildout-traces.js.map +1 -1
  50. package/dist/lib/canary.d.ts +38 -0
  51. package/dist/lib/canary.js +91 -0
  52. package/dist/lib/canary.js.map +1 -0
  53. package/dist/lib/capability-inferrer.d.ts +5 -4
  54. package/dist/lib/compose-prompt.d.ts +8 -7
  55. package/dist/lib/compose-prompt.js +30 -7
  56. package/dist/lib/compose-prompt.js.map +1 -1
  57. package/dist/lib/compose-seed.d.ts +15 -0
  58. package/dist/lib/compose-seed.js +44 -0
  59. package/dist/lib/compose-seed.js.map +1 -0
  60. package/dist/lib/compose.js +147 -3
  61. package/dist/lib/compose.js.map +1 -1
  62. package/dist/lib/cost.d.ts +53 -0
  63. package/dist/lib/cost.js +77 -0
  64. package/dist/lib/cost.js.map +1 -0
  65. package/dist/lib/fs.d.ts +1 -0
  66. package/dist/lib/fs.js +10 -0
  67. package/dist/lib/fs.js.map +1 -1
  68. package/dist/lib/index.d.ts +42 -1
  69. package/dist/lib/index.js +22 -1
  70. package/dist/lib/index.js.map +1 -1
  71. package/dist/lib/industry-flows.d.ts +6 -0
  72. package/dist/lib/industry-flows.js +165 -0
  73. package/dist/lib/industry-flows.js.map +1 -0
  74. package/dist/lib/keywords.js +14 -0
  75. package/dist/lib/keywords.js.map +1 -1
  76. package/dist/lib/llm.d.ts +7 -2
  77. package/dist/lib/llm.js +137 -8
  78. package/dist/lib/llm.js.map +1 -1
  79. package/dist/lib/planner/contracts.d.ts +2 -1
  80. package/dist/lib/planner/detectors.js +26 -0
  81. package/dist/lib/planner/detectors.js.map +1 -1
  82. package/dist/lib/planner/helpers.js +157 -0
  83. package/dist/lib/planner/helpers.js.map +1 -1
  84. package/dist/lib/planner/implicit-caps.js +63 -1
  85. package/dist/lib/planner/implicit-caps.js.map +1 -1
  86. package/dist/lib/planner/partner-first.d.ts +31 -0
  87. package/dist/lib/planner/partner-first.js +137 -0
  88. package/dist/lib/planner/partner-first.js.map +1 -0
  89. package/dist/lib/planner/projects.d.ts +2 -2
  90. package/dist/lib/planner/projects.js +452 -2
  91. package/dist/lib/planner/projects.js.map +1 -1
  92. package/dist/lib/planner/signals.d.ts +7 -0
  93. package/dist/lib/planner/signals.js +203 -1
  94. package/dist/lib/planner/signals.js.map +1 -1
  95. package/dist/lib/planner/zk-preferences.d.ts +9 -0
  96. package/dist/lib/planner/zk-preferences.js +91 -0
  97. package/dist/lib/planner/zk-preferences.js.map +1 -0
  98. package/dist/lib/promoter-gates.d.ts +114 -0
  99. package/dist/lib/promoter-gates.js +426 -0
  100. package/dist/lib/promoter-gates.js.map +1 -0
  101. package/dist/lib/prompt-e2e.d.ts +1 -0
  102. package/dist/lib/prompt-e2e.js +20 -6
  103. package/dist/lib/prompt-e2e.js.map +1 -1
  104. package/dist/lib/prompt-planner.js +187 -2
  105. package/dist/lib/prompt-planner.js.map +1 -1
  106. package/dist/lib/prompt-rewriter.d.ts +4 -3
  107. package/dist/lib/prompt-rewriter.js +11 -0
  108. package/dist/lib/prompt-rewriter.js.map +1 -1
  109. package/dist/lib/registry-mirror.d.ts +28 -0
  110. package/dist/lib/registry-mirror.js +64 -0
  111. package/dist/lib/registry-mirror.js.map +1 -0
  112. package/dist/lib/release.js +1 -11
  113. package/dist/lib/release.js.map +1 -1
  114. package/dist/lib/reproducibility.d.ts +39 -0
  115. package/dist/lib/reproducibility.js +96 -0
  116. package/dist/lib/reproducibility.js.map +1 -0
  117. package/dist/lib/reviewer-route.d.ts +12 -0
  118. package/dist/lib/reviewer-route.js +99 -0
  119. package/dist/lib/reviewer-route.js.map +1 -0
  120. package/dist/lib/safety/license-check.d.ts +9 -0
  121. package/dist/lib/safety/license-check.js +61 -0
  122. package/dist/lib/safety/license-check.js.map +1 -0
  123. package/dist/lib/safety/secret-scan.d.ts +7 -0
  124. package/dist/lib/safety/secret-scan.js +67 -0
  125. package/dist/lib/safety/secret-scan.js.map +1 -0
  126. package/dist/lib/sbom.d.ts +34 -0
  127. package/dist/lib/sbom.js +89 -0
  128. package/dist/lib/sbom.js.map +1 -0
  129. package/dist/lib/selection.d.ts +22 -0
  130. package/dist/lib/selection.js +56 -1
  131. package/dist/lib/selection.js.map +1 -1
  132. package/dist/lib/semantic-router.d.ts +2 -1
  133. package/dist/lib/synthetic/index.d.ts +45 -0
  134. package/dist/lib/synthetic/index.js +101 -0
  135. package/dist/lib/synthetic/index.js.map +1 -0
  136. package/dist/lib/telemetry/stream.d.ts +52 -0
  137. package/dist/lib/telemetry/stream.js +153 -0
  138. package/dist/lib/telemetry/stream.js.map +1 -0
  139. package/dist/lib/telemetry.d.ts +6 -0
  140. package/dist/lib/telemetry.js.map +1 -1
  141. package/dist/lib/template-quality.d.ts +61 -0
  142. package/dist/lib/template-quality.js +100 -0
  143. package/dist/lib/template-quality.js.map +1 -0
  144. package/dist/lib/validate-plan.d.ts +10 -0
  145. package/dist/lib/validate-plan.js +74 -0
  146. package/dist/lib/validate-plan.js.map +1 -0
  147. package/dist/lib/vb-outcomes.d.ts +2 -1
  148. package/dist/lib/version-history.d.ts +15 -0
  149. package/dist/lib/version-history.js +40 -0
  150. package/dist/lib/version-history.js.map +1 -0
  151. package/dist/lib/visual-regression.d.ts +75 -0
  152. package/dist/lib/visual-regression.js +125 -0
  153. package/dist/lib/visual-regression.js.map +1 -0
  154. package/dist/training/capability_proposer/propose.d.ts +26 -0
  155. package/dist/training/capability_proposer/propose.js +305 -0
  156. package/dist/training/capability_proposer/propose.js.map +1 -0
  157. package/dist/training/family_proposer/propose.d.ts +35 -0
  158. package/dist/training/family_proposer/propose.js +664 -0
  159. package/dist/training/family_proposer/propose.js.map +1 -0
  160. package/dist/training/routing/train.d.ts +49 -0
  161. package/dist/training/routing/train.js +249 -0
  162. package/dist/training/routing/train.js.map +1 -0
  163. package/dist/training/template_v1/audit.d.ts +15 -0
  164. package/dist/training/template_v1/audit.js +83 -0
  165. package/dist/training/template_v1/audit.js.map +1 -0
  166. package/dist/training/template_v1/correctness.d.ts +25 -0
  167. package/dist/training/template_v1/correctness.js +194 -0
  168. package/dist/training/template_v1/correctness.js.map +1 -0
  169. package/dist/training/template_v1/harvest.d.ts +25 -0
  170. package/dist/training/template_v1/harvest.js +101 -0
  171. package/dist/training/template_v1/harvest.js.map +1 -0
  172. package/dist/training/template_v1/judge.d.ts +26 -0
  173. package/dist/training/template_v1/judge.js +104 -0
  174. package/dist/training/template_v1/judge.js.map +1 -0
  175. package/dist/training/template_v1/multi-propose.d.ts +27 -0
  176. package/dist/training/template_v1/multi-propose.js +34 -0
  177. package/dist/training/template_v1/multi-propose.js.map +1 -0
  178. package/dist/training/template_v1/run.d.ts +1 -0
  179. package/dist/training/template_v1/run.js +369 -0
  180. package/dist/training/template_v1/run.js.map +1 -0
  181. package/dist/training/template_v1/synthesize.d.ts +14 -0
  182. package/dist/training/template_v1/synthesize.js +101 -0
  183. package/dist/training/template_v1/synthesize.js.map +1 -0
  184. package/dist/training/variant_b/flow.d.ts +9 -14
  185. package/dist/training/variant_b/run-flow.d.ts +2 -1
  186. package/dist/types/registry-schemas.generated.d.ts +105 -0
  187. package/dist/types/registry-schemas.generated.js +5 -0
  188. package/dist/types/registry-schemas.generated.js.map +1 -0
  189. package/dist/types.d.ts +119 -0
  190. package/package.json +45 -4
  191. package/registry/_mirrors.json +29 -0
  192. package/registry/_schemas/buildhints.schema.json +30 -0
  193. package/registry/_schemas/family.schema.json +92 -0
  194. package/registry/_schemas/layer.schema.json +59 -0
  195. package/registry/_schemas/partner.schema.json +27 -0
  196. package/registry/families/agent-service-py/manifest.json +9 -0
  197. package/registry/families/agent-service-ts/files/package.json +8 -0
  198. package/registry/families/agent-service-ts/manifest.json +1 -4
  199. package/registry/families/agent-swarm-ts/files/package.json +31 -0
  200. package/registry/families/agent-swarm-ts/files/tsconfig.json +14 -0
  201. package/registry/families/agent-swarm-ts/files/validate-swarm.mjs +28 -0
  202. package/registry/families/agent-swarm-ts/manifest.json +174 -0
  203. package/registry/families/angular-ts/files/package.json +8 -0
  204. package/registry/families/aptos-move/files/README.md +45 -0
  205. package/registry/families/aptos-move/files/validate-aptos.mjs +33 -0
  206. package/registry/families/aptos-move/manifest.json +106 -0
  207. package/registry/families/arkworks-prover/files/Cargo.toml +25 -0
  208. package/registry/families/arkworks-prover/files/README.md +77 -0
  209. package/registry/families/arkworks-prover/files/rust-toolchain.toml +3 -0
  210. package/registry/families/arkworks-prover/files/src/circuit.rs +39 -0
  211. package/registry/families/arkworks-prover/files/src/main.rs +31 -0
  212. package/registry/families/arkworks-prover/files/src/prover.rs +47 -0
  213. package/registry/families/arkworks-prover/files/validate-arkworks.mjs +25 -0
  214. package/registry/families/arkworks-prover/manifest.json +84 -0
  215. package/registry/families/astro-static/files/package.json +28 -0
  216. package/registry/families/astro-static/files/tsconfig.json +5 -0
  217. package/registry/families/astro-static/files/validate-astro.mjs +26 -0
  218. package/registry/families/astro-static/manifest.json +141 -0
  219. package/registry/families/bevy-web/files/Cargo.toml +27 -0
  220. package/registry/families/bevy-web/files/Trunk.toml +20 -0
  221. package/registry/families/bevy-web/files/build.sh +32 -0
  222. package/registry/families/bevy-web/files/index.html +30 -0
  223. package/registry/families/bevy-web/files/validate-bevy-web.mjs +46 -0
  224. package/registry/families/bevy-web/manifest.json +171 -0
  225. package/registry/families/browser-extension-ts/files/package.json +3 -3
  226. package/registry/families/bun-http/files/bunfig.toml +9 -0
  227. package/registry/families/bun-http/files/package.json +23 -0
  228. package/registry/families/bun-http/files/tsconfig.json +16 -0
  229. package/registry/families/bun-http/files/validate-bun.mjs +21 -0
  230. package/registry/families/bun-http/manifest.json +163 -0
  231. package/registry/families/celestia-da/files/README.md +53 -0
  232. package/registry/families/celestia-da/files/validate-celestia.mjs +43 -0
  233. package/registry/families/celestia-da/manifest.json +117 -0
  234. package/registry/families/cli-ts/files/package.json +10 -2
  235. package/registry/families/cloudflare-worker-ts/files/package.json +8 -0
  236. package/registry/families/crm-backend/files/package.json +23 -0
  237. package/registry/families/crm-backend/files/tsconfig.json +14 -0
  238. package/registry/families/crm-backend/files/validate-crm.mjs +32 -0
  239. package/registry/families/crm-backend/manifest.json +132 -0
  240. package/registry/families/deno-edge/files/deno.json +17 -0
  241. package/registry/families/deno-edge/files/validate-deno.mjs +21 -0
  242. package/registry/families/deno-edge/manifest.json +153 -0
  243. package/registry/families/ecommerce-headless/files/package.json +24 -0
  244. package/registry/families/ecommerce-headless/files/tsconfig.json +14 -0
  245. package/registry/families/ecommerce-headless/files/validate-commerce.mjs +37 -0
  246. package/registry/families/ecommerce-headless/manifest.json +68 -0
  247. package/registry/families/electron-desktop-ts/files/package.json +10 -2
  248. package/registry/families/electron-native-os/files/package.json +35 -0
  249. package/registry/families/electron-native-os/files/preview-server.mjs +34 -0
  250. package/registry/families/electron-native-os/files/validate-types.mjs +39 -0
  251. package/registry/families/electron-native-os/manifest.json +200 -0
  252. package/registry/families/eleventy-static/files/.eleventy.js +16 -0
  253. package/registry/families/eleventy-static/files/package.json +23 -0
  254. package/registry/families/eleventy-static/files/validate-eleventy.mjs +25 -0
  255. package/registry/families/eleventy-static/manifest.json +106 -0
  256. package/registry/families/esp32-rust/files/Cargo.toml +47 -0
  257. package/registry/families/esp32-rust/files/build.rs +9 -0
  258. package/registry/families/esp32-rust/files/cargo-config.toml +22 -0
  259. package/registry/families/esp32-rust/files/rust-toolchain.toml +10 -0
  260. package/registry/families/esp32-rust/files/sdkconfig.defaults +28 -0
  261. package/registry/families/esp32-rust/files/validate-esp32.mjs +54 -0
  262. package/registry/families/esp32-rust/manifest.json +168 -0
  263. package/registry/families/expo-react-native-ts/files/package.json +11 -3
  264. package/registry/families/expo-rn-rich/files/package.json +37 -0
  265. package/registry/families/expo-rn-rich/files/validate-expo-rn-rich.mjs +43 -0
  266. package/registry/families/expo-rn-rich/manifest.json +181 -0
  267. package/registry/families/fintech-ledger-backend/files/package.json +30 -0
  268. package/registry/families/fintech-ledger-backend/files/tsconfig.json +14 -0
  269. package/registry/families/fintech-ledger-backend/files/validate-fintech.mjs +43 -0
  270. package/registry/families/fintech-ledger-backend/manifest.json +138 -0
  271. package/registry/families/flutter-app/files/analysis_options.yaml +17 -0
  272. package/registry/families/flutter-app/files/android/app/build.gradle +38 -0
  273. package/registry/families/flutter-app/files/ios/Runner/Info.plist +49 -0
  274. package/registry/families/flutter-app/files/pubspec.yaml +24 -0
  275. package/registry/families/flutter-app/files/validate-flutter.mjs +43 -0
  276. package/registry/families/flutter-app/manifest.json +189 -0
  277. package/registry/families/fraud-ops-console/files/.env.example +6 -0
  278. package/registry/families/fraud-ops-console/files/.gitkeep +0 -0
  279. package/registry/families/fraud-ops-console/files/README.md +43 -0
  280. package/registry/families/fraud-ops-console/files/index.html +12 -0
  281. package/registry/families/fraud-ops-console/files/package.json +37 -0
  282. package/registry/families/fraud-ops-console/files/src/App.tsx +19 -0
  283. package/registry/families/fraud-ops-console/files/src/main.tsx +12 -0
  284. package/registry/families/fraud-ops-console/files/tsconfig.json +12 -0
  285. package/registry/families/fraud-ops-console/files/validate-node.mjs +49 -0
  286. package/registry/families/fraud-ops-console/files/vite.config.ts +10 -0
  287. package/registry/families/fraud-ops-console/manifest.json +134 -0
  288. package/registry/families/frontend-static/files/package.json +8 -0
  289. package/registry/families/frontend-static/manifest.json +17 -0
  290. package/registry/families/fullstack-ts/files/package.json +10 -2
  291. package/registry/families/fullstack-ts/manifest.json +22 -0
  292. package/registry/families/gdpr-compliance-pack/files/docs/DPIA-template.md +55 -0
  293. package/registry/families/gdpr-compliance-pack/files/docs/GDPR-controls.md +65 -0
  294. package/registry/families/gdpr-compliance-pack/files/package.json +14 -0
  295. package/registry/families/gdpr-compliance-pack/files/src/components/CookieBanner.tsx +115 -0
  296. package/registry/families/gdpr-compliance-pack/files/src/consent.ts +71 -0
  297. package/registry/families/gdpr-compliance-pack/files/src/data-inventory.ts +94 -0
  298. package/registry/families/gdpr-compliance-pack/files/src/data-subject-rights.ts +98 -0
  299. package/registry/families/gdpr-compliance-pack/files/tsconfig.json +14 -0
  300. package/registry/families/gdpr-compliance-pack/files/validate-gdpr-pack.mjs +31 -0
  301. package/registry/families/gdpr-compliance-pack/manifest.json +56 -0
  302. package/registry/families/godot-web/files/README.md +71 -0
  303. package/registry/families/godot-web/files/export_presets.cfg +44 -0
  304. package/registry/families/godot-web/files/icon.svg +7 -0
  305. package/registry/families/godot-web/files/project.godot +28 -0
  306. package/registry/families/godot-web/files/validate-godot-web.mjs +46 -0
  307. package/registry/families/godot-web/manifest.json +172 -0
  308. package/registry/families/hardhat-contracts/files/package.json +10 -2
  309. package/registry/families/healthcare-hipaa-backend/files/package.json +29 -0
  310. package/registry/families/healthcare-hipaa-backend/files/tsconfig.json +15 -0
  311. package/registry/families/healthcare-hipaa-backend/files/validate-hipaa.mjs +35 -0
  312. package/registry/families/healthcare-hipaa-backend/manifest.json +145 -0
  313. package/registry/families/hipaa-compliance-pack/files/docs/BAA-template.md +60 -0
  314. package/registry/families/hipaa-compliance-pack/files/docs/HIPAA-controls.md +58 -0
  315. package/registry/families/hipaa-compliance-pack/files/package.json +14 -0
  316. package/registry/families/hipaa-compliance-pack/files/src/audit-log.ts +54 -0
  317. package/registry/families/hipaa-compliance-pack/files/src/encryption.ts +74 -0
  318. package/registry/families/hipaa-compliance-pack/files/src/phi-access.ts +83 -0
  319. package/registry/families/hipaa-compliance-pack/files/tsconfig.json +14 -0
  320. package/registry/families/hipaa-compliance-pack/files/validate-hipaa-pack.mjs +33 -0
  321. package/registry/families/hipaa-compliance-pack/manifest.json +63 -0
  322. package/registry/families/hls-origin/files/docker-compose.yml +32 -0
  323. package/registry/families/hls-origin/files/nginx.conf +68 -0
  324. package/registry/families/hls-origin/files/package.json +30 -0
  325. package/registry/families/hls-origin/files/start-stream.sh +58 -0
  326. package/registry/families/hls-origin/files/tsconfig.json +15 -0
  327. package/registry/families/hls-origin/files/validate-hls.mjs +50 -0
  328. package/registry/families/hls-origin/manifest.json +159 -0
  329. package/registry/families/hugo-static/files/config.toml +12 -0
  330. package/registry/families/hugo-static/files/validate-hugo.mjs +22 -0
  331. package/registry/families/hugo-static/manifest.json +99 -0
  332. package/registry/families/jupyter-book/files/_config.yml +26 -0
  333. package/registry/families/jupyter-book/files/_toc.yml +4 -0
  334. package/registry/families/jupyter-book/files/intro.md +16 -0
  335. package/registry/families/jupyter-book/files/requirements.txt +3 -0
  336. package/registry/families/jupyter-book/files/validate-jupyter-book.mjs +26 -0
  337. package/registry/families/jupyter-book/manifest.json +115 -0
  338. package/registry/families/k12-edtech/files/package.json +23 -0
  339. package/registry/families/k12-edtech/files/tsconfig.json +14 -0
  340. package/registry/families/k12-edtech/files/validate-k12.mjs +28 -0
  341. package/registry/families/k12-edtech/manifest.json +64 -0
  342. package/registry/families/kotlin-multiplatform/files/build.gradle.kts +67 -0
  343. package/registry/families/kotlin-multiplatform/files/gradle.properties +12 -0
  344. package/registry/families/kotlin-multiplatform/files/root-build.gradle.kts +12 -0
  345. package/registry/families/kotlin-multiplatform/files/settings.gradle.kts +30 -0
  346. package/registry/families/kotlin-multiplatform/files/validate-kmp.mjs +52 -0
  347. package/registry/families/kotlin-multiplatform/manifest.json +196 -0
  348. package/registry/families/kyc-onboarding/files/.env.example +6 -0
  349. package/registry/families/kyc-onboarding/files/.gitkeep +0 -0
  350. package/registry/families/kyc-onboarding/files/README.md +23 -0
  351. package/registry/families/kyc-onboarding/files/index.html +12 -0
  352. package/registry/families/kyc-onboarding/files/package.json +24 -0
  353. package/registry/families/kyc-onboarding/files/src/App.tsx +40 -0
  354. package/registry/families/kyc-onboarding/files/src/main.tsx +12 -0
  355. package/registry/families/kyc-onboarding/files/tsconfig.json +17 -0
  356. package/registry/families/kyc-onboarding/files/validate-node.mjs +17 -0
  357. package/registry/families/kyc-onboarding/files/vite.config.ts +14 -0
  358. package/registry/families/kyc-onboarding/manifest.json +140 -0
  359. package/registry/families/legal-case-mgmt/files/package.json +24 -0
  360. package/registry/families/legal-case-mgmt/files/tsconfig.json +14 -0
  361. package/registry/families/legal-case-mgmt/files/validate-legal.mjs +12 -0
  362. package/registry/families/legal-case-mgmt/manifest.json +85 -0
  363. package/registry/families/livekit-sfu/files/.env.example +8 -0
  364. package/registry/families/livekit-sfu/files/docker-compose.yml +27 -0
  365. package/registry/families/livekit-sfu/files/livekit.yaml +30 -0
  366. package/registry/families/livekit-sfu/files/package.json +31 -0
  367. package/registry/families/livekit-sfu/files/tsconfig.json +15 -0
  368. package/registry/families/livekit-sfu/files/validate-livekit.mjs +46 -0
  369. package/registry/families/livekit-sfu/manifest.json +152 -0
  370. package/registry/families/lora-training/files/.env.example +8 -0
  371. package/registry/families/lora-training/files/README-lora.md +71 -0
  372. package/registry/families/lora-training/files/config/train.yaml +54 -0
  373. package/registry/families/lora-training/files/data/sample.jsonl +5 -0
  374. package/registry/families/lora-training/files/pyproject.toml +29 -0
  375. package/registry/families/lora-training/files/validate-lora.mjs +63 -0
  376. package/registry/families/lora-training/manifest.json +183 -0
  377. package/registry/families/move-contracts/files/validate-move.mjs +1 -1
  378. package/registry/families/move-contracts/manifest.json +0 -1
  379. package/registry/families/multimodal-agent/files/api/README.md +108 -0
  380. package/registry/families/multimodal-agent/files/index.html +105 -0
  381. package/registry/families/multimodal-agent/files/package.json +31 -0
  382. package/registry/families/multimodal-agent/files/tsconfig.json +15 -0
  383. package/registry/families/multimodal-agent/files/validate-multimodal.mjs +64 -0
  384. package/registry/families/multimodal-agent/files/vite.config.ts +15 -0
  385. package/registry/families/multimodal-agent/manifest.json +143 -0
  386. package/registry/families/nextjs-ts/files/package.json +15 -7
  387. package/registry/families/nextjs-ts/manifest.json +35 -0
  388. package/registry/families/nextjs-ts/prompt-fragment.md +12 -0
  389. package/registry/families/observable-notebook/files/index.md +23 -0
  390. package/registry/families/observable-notebook/files/observablehq.config.ts +15 -0
  391. package/registry/families/observable-notebook/files/package.json +26 -0
  392. package/registry/families/observable-notebook/files/tsconfig.json +13 -0
  393. package/registry/families/observable-notebook/files/validate-observable.mjs +24 -0
  394. package/registry/families/observable-notebook/manifest.json +110 -0
  395. package/registry/families/ollama-server/files/Modelfile +10 -0
  396. package/registry/families/ollama-server/files/README.md +32 -0
  397. package/registry/families/ollama-server/files/docker-compose.yml +23 -0
  398. package/registry/families/ollama-server/files/package.json +14 -0
  399. package/registry/families/ollama-server/files/tsconfig.json +13 -0
  400. package/registry/families/ollama-server/files/validate-ollama.mjs +19 -0
  401. package/registry/families/ollama-server/manifest.json +101 -0
  402. package/registry/families/pci-dss-compliance-pack/files/docs/PCI-DSS-controls.md +43 -0
  403. package/registry/families/pci-dss-compliance-pack/files/package.json +14 -0
  404. package/registry/families/pci-dss-compliance-pack/files/src/pan-redact.ts +50 -0
  405. package/registry/families/pci-dss-compliance-pack/files/src/tokenize.ts +39 -0
  406. package/registry/families/pci-dss-compliance-pack/files/tsconfig.json +14 -0
  407. package/registry/families/pci-dss-compliance-pack/files/validate-pci-pack.mjs +19 -0
  408. package/registry/families/pci-dss-compliance-pack/manifest.json +50 -0
  409. package/registry/families/phaser-game/files/index.html +17 -0
  410. package/registry/families/phaser-game/files/package.json +18 -0
  411. package/registry/families/phaser-game/files/tsconfig.json +15 -0
  412. package/registry/families/phaser-game/files/validate-phaser.mjs +19 -0
  413. package/registry/families/phaser-game/files/vite.config.ts +11 -0
  414. package/registry/families/phaser-game/manifest.json +91 -0
  415. package/registry/families/pixijs-game/files/index.html +16 -0
  416. package/registry/families/pixijs-game/files/package.json +18 -0
  417. package/registry/families/pixijs-game/files/tsconfig.json +13 -0
  418. package/registry/families/pixijs-game/files/validate-pixi.mjs +14 -0
  419. package/registry/families/pixijs-game/files/vite.config.ts +6 -0
  420. package/registry/families/pixijs-game/manifest.json +90 -0
  421. package/registry/families/playwright-worker/files/package.json +8 -0
  422. package/registry/families/polymarket-portfolio-hedging/files/.env.example +5 -0
  423. package/registry/families/polymarket-portfolio-hedging/files/.gitkeep +0 -0
  424. package/registry/families/polymarket-portfolio-hedging/files/README.md +37 -0
  425. package/registry/families/polymarket-portfolio-hedging/files/index.html +1 -0
  426. package/registry/families/polymarket-portfolio-hedging/files/package.json +32 -0
  427. package/registry/families/polymarket-portfolio-hedging/files/src/App.tsx +45 -0
  428. package/registry/families/polymarket-portfolio-hedging/files/src/main.tsx +12 -0
  429. package/registry/families/polymarket-portfolio-hedging/files/tsconfig.json +12 -0
  430. package/registry/families/polymarket-portfolio-hedging/files/validate-node.mjs +1 -0
  431. package/registry/families/polymarket-portfolio-hedging/files/vite.config.ts +10 -0
  432. package/registry/families/polymarket-portfolio-hedging/manifest.json +128 -0
  433. package/registry/families/python-api/manifest.json +1 -3
  434. package/registry/families/rag-pipeline-py/files/.env.example +20 -0
  435. package/registry/families/rag-pipeline-py/files/README-rag.md +57 -0
  436. package/registry/families/rag-pipeline-py/files/docs/sample.md +14 -0
  437. package/registry/families/rag-pipeline-py/files/pyproject.toml +26 -0
  438. package/registry/families/rag-pipeline-py/files/validate-rag.mjs +38 -0
  439. package/registry/families/rag-pipeline-py/manifest.json +174 -0
  440. package/registry/families/react-vite-ts/files/package.json +7 -7
  441. package/registry/families/react-vite-ts/manifest.json +31 -0
  442. package/registry/families/realtime-audio-ts/files/package.json +25 -0
  443. package/registry/families/realtime-audio-ts/files/validate-realtime-audio.mjs +43 -0
  444. package/registry/families/realtime-audio-ts/manifest.json +177 -0
  445. package/registry/families/remix-ts/files/package.json +7 -7
  446. package/registry/families/remix-ts/manifest.json +30 -0
  447. package/registry/families/risczero-zkvm/files/Cargo.toml +23 -0
  448. package/registry/families/risczero-zkvm/files/README.md +66 -0
  449. package/registry/families/risczero-zkvm/files/host/main.rs +25 -0
  450. package/registry/families/risczero-zkvm/files/host/prover.rs +48 -0
  451. package/registry/families/risczero-zkvm/files/host-Cargo.toml +16 -0
  452. package/registry/families/risczero-zkvm/files/methods/Cargo.toml +11 -0
  453. package/registry/families/risczero-zkvm/files/methods/build.rs +6 -0
  454. package/registry/families/risczero-zkvm/files/methods/guest/main.rs +38 -0
  455. package/registry/families/risczero-zkvm/files/methods/guest-Cargo.toml +12 -0
  456. package/registry/families/risczero-zkvm/files/methods/src-lib.rs +3 -0
  457. package/registry/families/risczero-zkvm/files/rust-toolchain.toml +3 -0
  458. package/registry/families/risczero-zkvm/files/validate-risczero.mjs +41 -0
  459. package/registry/families/risczero-zkvm/manifest.json +109 -0
  460. package/registry/families/ros2-node-py/files/README-ros2.md +46 -0
  461. package/registry/families/ros2-node-py/files/package.xml +28 -0
  462. package/registry/families/ros2-node-py/files/resource-marker +1 -0
  463. package/registry/families/ros2-node-py/files/setup.cfg +5 -0
  464. package/registry/families/ros2-node-py/files/setup.py +32 -0
  465. package/registry/families/ros2-node-py/files/validate-ros2-py.mjs +96 -0
  466. package/registry/families/ros2-node-py/manifest.json +197 -0
  467. package/registry/families/sglang-server/files/.env.example +21 -0
  468. package/registry/families/sglang-server/files/README-sglang.md +60 -0
  469. package/registry/families/sglang-server/files/client.py +87 -0
  470. package/registry/families/sglang-server/files/docker-compose.yml +46 -0
  471. package/registry/families/sglang-server/files/launch.sh +26 -0
  472. package/registry/families/sglang-server/files/requirements.txt +5 -0
  473. package/registry/families/sglang-server/files/validate-sglang.mjs +49 -0
  474. package/registry/families/sglang-server/manifest.json +182 -0
  475. package/registry/families/skypilot-serving/files/.env.example +12 -0
  476. package/registry/families/skypilot-serving/files/README-skypilot.md +73 -0
  477. package/registry/families/skypilot-serving/files/requirements.txt +5 -0
  478. package/registry/families/skypilot-serving/files/service.yaml +44 -0
  479. package/registry/families/skypilot-serving/files/sky-serve.yaml +25 -0
  480. package/registry/families/skypilot-serving/files/validate-skypilot.mjs +41 -0
  481. package/registry/families/skypilot-serving/manifest.json +181 -0
  482. package/registry/families/soc2-compliance-pack/files/docs/SOC2-controls.md +54 -0
  483. package/registry/families/soc2-compliance-pack/files/docs/incident-response.md +33 -0
  484. package/registry/families/soc2-compliance-pack/files/docs/vendor-attestations.md +36 -0
  485. package/registry/families/soc2-compliance-pack/files/package.json +14 -0
  486. package/registry/families/soc2-compliance-pack/files/src/audit.ts +46 -0
  487. package/registry/families/soc2-compliance-pack/files/src/change-mgmt.ts +36 -0
  488. package/registry/families/soc2-compliance-pack/files/tsconfig.json +14 -0
  489. package/registry/families/soc2-compliance-pack/files/validate-soc2-pack.mjs +25 -0
  490. package/registry/families/soc2-compliance-pack/manifest.json +60 -0
  491. package/registry/families/sp1-zkvm/files/Cargo.toml +18 -0
  492. package/registry/families/sp1-zkvm/files/README.md +68 -0
  493. package/registry/families/sp1-zkvm/files/program/main.rs +21 -0
  494. package/registry/families/sp1-zkvm/files/program-Cargo.toml +11 -0
  495. package/registry/families/sp1-zkvm/files/rust-toolchain.toml +3 -0
  496. package/registry/families/sp1-zkvm/files/script/main.rs +13 -0
  497. package/registry/families/sp1-zkvm/files/script/prover.rs +36 -0
  498. package/registry/families/sp1-zkvm/files/script-Cargo.toml +17 -0
  499. package/registry/families/sp1-zkvm/files/validate-sp1.mjs +30 -0
  500. package/registry/families/sp1-zkvm/manifest.json +92 -0
  501. package/registry/families/stm32-rust/files/Cargo.toml +69 -0
  502. package/registry/families/stm32-rust/files/Embed.toml +26 -0
  503. package/registry/families/stm32-rust/files/build.rs +24 -0
  504. package/registry/families/stm32-rust/files/cargo-config.toml +20 -0
  505. package/registry/families/stm32-rust/files/memory.x +25 -0
  506. package/registry/families/stm32-rust/files/validate-stm32.mjs +19 -0
  507. package/registry/families/stm32-rust/manifest.json +170 -0
  508. package/registry/families/streamlit-advanced/files/config.toml +12 -0
  509. package/registry/families/streamlit-advanced/files/requirements.txt +5 -0
  510. package/registry/families/streamlit-advanced/files/validate-streamlit.mjs +27 -0
  511. package/registry/families/streamlit-advanced/manifest.json +109 -0
  512. package/registry/families/tauri-desktop/files/package.json +6 -6
  513. package/registry/families/tauri-menubar/files/package.json +31 -0
  514. package/registry/families/tauri-menubar/files/preview-server.mjs +36 -0
  515. package/registry/families/tauri-menubar/files/validate-types.mjs +31 -0
  516. package/registry/families/tauri-menubar/manifest.json +174 -0
  517. package/registry/families/tauri-tray/files/package.json +23 -0
  518. package/registry/families/tauri-tray/files/preview-server.mjs +63 -0
  519. package/registry/families/tauri-tray/files/validate-types.mjs +27 -0
  520. package/registry/families/tauri-tray/manifest.json +174 -0
  521. package/registry/families/tgi-server/files/.env.example +22 -0
  522. package/registry/families/tgi-server/files/README-tgi.md +59 -0
  523. package/registry/families/tgi-server/files/client.py +78 -0
  524. package/registry/families/tgi-server/files/docker-compose.yml +46 -0
  525. package/registry/families/tgi-server/files/requirements.txt +3 -0
  526. package/registry/families/tgi-server/files/validate-tgi.mjs +44 -0
  527. package/registry/families/tgi-server/manifest.json +178 -0
  528. package/registry/families/threejs-game/files/index.html +16 -0
  529. package/registry/families/threejs-game/files/package.json +27 -0
  530. package/registry/families/threejs-game/files/tsconfig.json +13 -0
  531. package/registry/families/threejs-game/files/validate-threejs.mjs +32 -0
  532. package/registry/families/threejs-game/files/vite.config.ts +10 -0
  533. package/registry/families/threejs-game/manifest.json +164 -0
  534. package/registry/families/triton-server/files/README-triton.md +65 -0
  535. package/registry/families/triton-server/files/client.py +54 -0
  536. package/registry/families/triton-server/files/docker-compose.yml +41 -0
  537. package/registry/families/triton-server/files/model_repository/identity/1/.gitkeep +9 -0
  538. package/registry/families/triton-server/files/model_repository/identity/config.pbtxt +43 -0
  539. package/registry/families/triton-server/files/requirements.txt +2 -0
  540. package/registry/families/triton-server/files/validate-triton.mjs +53 -0
  541. package/registry/families/triton-server/manifest.json +190 -0
  542. package/registry/families/unity-web-proxy/files/Build/.gitkeep +17 -0
  543. package/registry/families/unity-web-proxy/files/README.md +68 -0
  544. package/registry/families/unity-web-proxy/files/package.json +24 -0
  545. package/registry/families/unity-web-proxy/files/scripts/build-webgl.sh +62 -0
  546. package/registry/families/unity-web-proxy/files/tsconfig.json +13 -0
  547. package/registry/families/unity-web-proxy/files/validate-unity.mjs +60 -0
  548. package/registry/families/unity-web-proxy/files/vite.config.ts +32 -0
  549. package/registry/families/unity-web-proxy/manifest.json +175 -0
  550. package/registry/families/vision-first-agent/files/api/README.md +92 -0
  551. package/registry/families/vision-first-agent/files/index.html +67 -0
  552. package/registry/families/vision-first-agent/files/package.json +24 -0
  553. package/registry/families/vision-first-agent/files/tsconfig.json +13 -0
  554. package/registry/families/vision-first-agent/files/validate-vision.mjs +48 -0
  555. package/registry/families/vision-first-agent/files/vite.config.ts +13 -0
  556. package/registry/families/vision-first-agent/manifest.json +142 -0
  557. package/registry/families/vllm-server/files/README-serving.md +60 -0
  558. package/registry/families/vllm-server/files/config.yaml +26 -0
  559. package/registry/families/vllm-server/files/requirements.txt +6 -0
  560. package/registry/families/vllm-server/files/validate-vllm.mjs +30 -0
  561. package/registry/families/vllm-server/manifest.json +165 -0
  562. package/registry/families/voice-first-agent/files/api/README.md +83 -0
  563. package/registry/families/voice-first-agent/files/index.html +59 -0
  564. package/registry/families/voice-first-agent/files/package.json +24 -0
  565. package/registry/families/voice-first-agent/files/tsconfig.json +13 -0
  566. package/registry/families/voice-first-agent/files/validate-voice.mjs +46 -0
  567. package/registry/families/voice-first-agent/files/vite.config.ts +16 -0
  568. package/registry/families/voice-first-agent/manifest.json +140 -0
  569. package/registry/families/wasm-rust/files/Cargo.toml +20 -0
  570. package/registry/families/wasm-rust/files/build-wasm.mjs +22 -0
  571. package/registry/families/wasm-rust/files/package.json +27 -0
  572. package/registry/families/wasm-rust/files/tsconfig.json +14 -0
  573. package/registry/families/wasm-rust/files/validate-wasm.mjs +30 -0
  574. package/registry/families/wasm-rust/files/vite.config.ts +11 -0
  575. package/registry/families/wasm-rust/manifest.json +156 -0
  576. package/registry/families/webgpu-inference/files/index.html +25 -0
  577. package/registry/families/webgpu-inference/files/package.json +24 -0
  578. package/registry/families/webgpu-inference/files/tsconfig.json +14 -0
  579. package/registry/families/webgpu-inference/files/validate-webgpu-inference.mjs +52 -0
  580. package/registry/families/webgpu-inference/files/vite.config.ts +13 -0
  581. package/registry/families/webgpu-inference/manifest.json +173 -0
  582. package/registry/families/webgpu-render/files/index.html +19 -0
  583. package/registry/families/webgpu-render/files/package.json +24 -0
  584. package/registry/families/webgpu-render/files/tsconfig.json +14 -0
  585. package/registry/families/webgpu-render/files/validate-webgpu-render.mjs +58 -0
  586. package/registry/families/webgpu-render/files/vite.config.ts +11 -0
  587. package/registry/families/webgpu-render/manifest.json +171 -0
  588. package/registry/families/zk-prover-service/manifest.json +2 -6
  589. package/registry/families/zola-static/files/config.toml +13 -0
  590. package/registry/families/zola-static/files/validate-zola.mjs +23 -0
  591. package/registry/families/zola-static/manifest.json +96 -0
  592. package/registry/layers/auth/better-auth/manifest.json +40 -18
  593. package/registry/layers/auth/clerk/manifest.json +40 -18
  594. package/registry/layers/auth/none/manifest.json +42 -18
  595. package/registry/layers/auth/supabase-auth/manifest.json +29 -18
  596. package/registry/layers/capability/agent-eval/files/.github/workflows/eval.yml +60 -0
  597. package/registry/layers/capability/agent-eval/files/scripts/eval-baseline.mjs +87 -0
  598. package/registry/layers/capability/agent-eval/files/tests/eval/README.md +76 -0
  599. package/registry/layers/capability/agent-eval/files/tests/eval/judge.mjs +35 -0
  600. package/registry/layers/capability/agent-eval/files/tests/eval/run-eval.mjs +204 -0
  601. package/registry/layers/capability/agent-eval/files/tests/eval/scenarios.json +47 -0
  602. package/registry/layers/capability/agent-eval/manifest.json +73 -0
  603. package/registry/layers/capability/agent-multi-agent/manifest.json +9 -9
  604. package/registry/layers/capability/ai-chat-ui/manifest.json +112 -1
  605. package/registry/layers/capability/banking-baas/files/banking-config.json +25 -0
  606. package/registry/layers/capability/banking-baas/files/banking.ts +125 -0
  607. package/registry/layers/capability/banking-baas/manifest.json +59 -0
  608. package/registry/layers/capability/chart-widget/manifest.json +69 -3
  609. package/registry/layers/capability/code-editor/files/code-editor.tsx +82 -0
  610. package/registry/layers/capability/code-editor/manifest.json +90 -0
  611. package/registry/layers/capability/date-utils/manifest.json +64 -0
  612. package/registry/layers/capability/evm-nft-mint-page/files/.gitkeep +0 -0
  613. package/registry/layers/capability/evm-nft-mint-page/files/evm-nft-mint.md +21 -0
  614. package/registry/layers/capability/evm-nft-mint-page/files/src/components/MintPage.tsx +38 -0
  615. package/registry/layers/capability/evm-nft-mint-page/files/src/mint-page-config.json +1 -0
  616. package/registry/layers/capability/evm-nft-mint-page/manifest.json +75 -0
  617. package/registry/layers/capability/evm-wallet-dashboard/manifest.json +6 -1
  618. package/registry/layers/capability/layout-admin/manifest.json +84 -14
  619. package/registry/layers/capability/layout-auth/manifest.json +12 -0
  620. package/registry/layers/capability/layout-chat/manifest.json +100 -14
  621. package/registry/layers/capability/layout-dashboard/manifest.json +0 -1
  622. package/registry/layers/capability/logging/manifest.json +10 -14
  623. package/registry/layers/capability/multi-tenancy/manifest.json +60 -0
  624. package/registry/layers/capability/passkey-onboarding/files/.gitkeep +0 -0
  625. package/registry/layers/capability/passkey-onboarding/files/passkey-onboarding.md +37 -0
  626. package/registry/layers/capability/passkey-onboarding/files/src/components/PasskeyRegister.tsx +25 -0
  627. package/registry/layers/capability/passkey-onboarding/files/src/components/PasskeySignIn.tsx +84 -0
  628. package/registry/layers/capability/passkey-onboarding/files/src/passkey-onboarding-config.json +1 -0
  629. package/registry/layers/capability/passkey-onboarding/manifest.json +78 -0
  630. package/registry/layers/capability/routing/files/router.tsx +63 -0
  631. package/registry/layers/capability/routing/files/routing-notes.md +33 -0
  632. package/registry/layers/capability/routing/manifest.json +66 -0
  633. package/registry/layers/capability/saas-billing/manifest.json +5 -0
  634. package/registry/layers/capability/shadcn/files/breadcrumb.tsx +1 -1
  635. package/registry/layers/capability/shadcn/files/collapsible.tsx +50 -0
  636. package/registry/layers/capability/shadcn/files/popover.tsx +54 -0
  637. package/registry/layers/capability/shadcn/manifest.json +22 -1
  638. package/registry/layers/capability/stripe-checkout-onetime/files/checkout.ts +60 -0
  639. package/registry/layers/capability/stripe-checkout-onetime/manifest.json +36 -0
  640. package/registry/layers/capability/stripe-connect/files/connect-api.ts +57 -0
  641. package/registry/layers/capability/stripe-connect/files/connect-config.json +8 -0
  642. package/registry/layers/capability/stripe-connect/manifest.json +40 -0
  643. package/registry/layers/capability/stripe-metered/files/metered.ts +43 -0
  644. package/registry/layers/capability/stripe-metered/manifest.json +35 -0
  645. package/registry/layers/capability/tailwind/manifest.json +13 -1
  646. package/registry/layers/capability/tangle-gpu-provider/files/gpu-config.json +14 -0
  647. package/registry/layers/capability/tangle-gpu-provider/manifest.json +34 -0
  648. package/registry/layers/capability/tangle-mpp/files/mpp-config.json +18 -0
  649. package/registry/layers/capability/tangle-mpp/manifest.json +30 -0
  650. package/registry/layers/capability/tangle-remote-provider/files/remote-config.json +28 -0
  651. package/registry/layers/capability/tangle-remote-provider/manifest.json +29 -0
  652. package/registry/layers/capability/tangle-tee/files/tee-config.json +20 -0
  653. package/registry/layers/capability/tangle-tee/manifest.json +31 -0
  654. package/registry/layers/capability/tangle-x402/files/x402-config.json +11 -0
  655. package/registry/layers/capability/tangle-x402/manifest.json +24 -0
  656. package/registry/layers/capability/webhook-processor/manifest.json +10 -14
  657. package/registry/layers/capability/webrtc/manifest.json +79 -10
  658. package/registry/layers/capability/zk-browser/files/mixer-deposit-panel.tsx +64 -0
  659. package/registry/layers/capability/zk-browser/files/mixer-merkle-panel.tsx +41 -0
  660. package/registry/layers/capability/zk-browser/files/mixer-note.ts +90 -0
  661. package/registry/layers/capability/zk-browser/files/mixer-verify-panel.tsx +66 -0
  662. package/registry/layers/capability/zk-browser/files/mixer-withdraw-panel.tsx +105 -0
  663. package/registry/layers/capability/zk-browser/files/zk-circuits.md +73 -0
  664. package/registry/layers/capability/zk-browser/files/zkproof.ts +94 -0
  665. package/registry/layers/capability/zk-browser/manifest.json +112 -0
  666. package/registry/layers/capability/zk-gnark/files/circuit.go +28 -0
  667. package/registry/layers/capability/zk-gnark/files/gnark-notes.md +80 -0
  668. package/registry/layers/capability/zk-gnark/files/prover.go +70 -0
  669. package/registry/layers/capability/zk-gnark/manifest.json +63 -0
  670. package/registry/layers/capability/zk-noir/files/circuits/Nargo.toml +7 -0
  671. package/registry/layers/capability/zk-noir/files/circuits/main.nr +22 -0
  672. package/registry/layers/capability/zk-noir/files/noir-notes.md +72 -0
  673. package/registry/layers/capability/zk-noir/files/prover.ts +53 -0
  674. package/registry/layers/capability/zk-noir/manifest.json +72 -0
  675. package/registry/layers/database/convex/manifest.json +12 -9
  676. package/registry/layers/database/mongodb/manifest.json +12 -9
  677. package/registry/layers/database/postgres/manifest.json +18 -9
  678. package/registry/layers/database/sqlite/manifest.json +18 -9
  679. package/registry/layers/framework/agent-swarm-ts/files/researcher.ts +30 -0
  680. package/registry/layers/framework/agent-swarm-ts/files/server.ts +35 -0
  681. package/registry/layers/framework/agent-swarm-ts/files/state.ts +33 -0
  682. package/registry/layers/framework/agent-swarm-ts/files/supervisor.ts +31 -0
  683. package/registry/layers/framework/agent-swarm-ts/files/writer.ts +27 -0
  684. package/registry/layers/framework/agent-swarm-ts/manifest.json +27 -0
  685. package/registry/layers/framework/aptos-move/files/AGENTS.md +58 -0
  686. package/registry/layers/framework/aptos-move/files/Move.toml +10 -0
  687. package/registry/layers/framework/aptos-move/files/module.move +46 -0
  688. package/registry/layers/framework/aptos-move/files/package.json +9 -0
  689. package/registry/layers/framework/aptos-move/files/scripts/deploy.sh +21 -0
  690. package/registry/layers/framework/aptos-move/files/test.move +30 -0
  691. package/registry/layers/framework/aptos-move/manifest.json +88 -0
  692. package/registry/layers/framework/arkworks-prover/manifest.json +6 -0
  693. package/registry/layers/framework/astro-static/files/astro.config.mjs +9 -0
  694. package/registry/layers/framework/astro-static/files/src/env.d.ts +1 -0
  695. package/registry/layers/framework/astro-static/files/src/layouts/Base.astro +33 -0
  696. package/registry/layers/framework/astro-static/files/src/pages/index.astro +18 -0
  697. package/registry/layers/framework/astro-static/manifest.json +75 -0
  698. package/registry/layers/framework/bevy-web/files/src/main.rs +79 -0
  699. package/registry/layers/framework/bevy-web/manifest.json +48 -0
  700. package/registry/layers/framework/bun-http/files/handlers.ts +25 -0
  701. package/registry/layers/framework/bun-http/files/server.ts +15 -0
  702. package/registry/layers/framework/bun-http/manifest.json +15 -0
  703. package/registry/layers/framework/celestia-da/files/AGENTS.md +70 -0
  704. package/registry/layers/framework/celestia-da/files/cmd/celestia-node/main.go +146 -0
  705. package/registry/layers/framework/celestia-da/files/config.toml +32 -0
  706. package/registry/layers/framework/celestia-da/files/docker-compose.yml +30 -0
  707. package/registry/layers/framework/celestia-da/files/go.mod +3 -0
  708. package/registry/layers/framework/celestia-da/files/go.sum +0 -0
  709. package/registry/layers/framework/celestia-da/files/submit-blob.sh +54 -0
  710. package/registry/layers/framework/celestia-da/manifest.json +65 -0
  711. package/registry/layers/framework/crm-backend/files/contacts.ts +93 -0
  712. package/registry/layers/framework/crm-backend/files/db.ts +8 -0
  713. package/registry/layers/framework/crm-backend/files/drizzle.config.ts +9 -0
  714. package/registry/layers/framework/crm-backend/files/package.json +22 -0
  715. package/registry/layers/framework/crm-backend/files/pipeline.ts +158 -0
  716. package/registry/layers/framework/crm-backend/files/reporting.ts +69 -0
  717. package/registry/layers/framework/crm-backend/files/schema.ts +146 -0
  718. package/registry/layers/framework/crm-backend/files/server.ts +42 -0
  719. package/registry/layers/framework/crm-backend/manifest.json +89 -0
  720. package/registry/layers/framework/deno-edge/files/handlers.ts +24 -0
  721. package/registry/layers/framework/deno-edge/files/server.ts +12 -0
  722. package/registry/layers/framework/deno-edge/manifest.json +15 -0
  723. package/registry/layers/framework/ecommerce-headless/files/.env.example +12 -0
  724. package/registry/layers/framework/ecommerce-headless/files/AGENTS.md +57 -0
  725. package/registry/layers/framework/ecommerce-headless/files/cart.ts +119 -0
  726. package/registry/layers/framework/ecommerce-headless/files/checkout.ts +113 -0
  727. package/registry/layers/framework/ecommerce-headless/files/db.ts +8 -0
  728. package/registry/layers/framework/ecommerce-headless/files/drizzle.config.ts +9 -0
  729. package/registry/layers/framework/ecommerce-headless/files/package.json +23 -0
  730. package/registry/layers/framework/ecommerce-headless/files/products.ts +33 -0
  731. package/registry/layers/framework/ecommerce-headless/files/schema.ts +160 -0
  732. package/registry/layers/framework/ecommerce-headless/files/server.ts +43 -0
  733. package/registry/layers/framework/ecommerce-headless/files/stripe-webhook.ts +148 -0
  734. package/registry/layers/framework/ecommerce-headless/files/tsconfig.json +14 -0
  735. package/registry/layers/framework/ecommerce-headless/manifest.json +81 -0
  736. package/registry/layers/framework/electron-native-os/files/App.tsx +87 -0
  737. package/registry/layers/framework/electron-native-os/files/deeplinks.ts +59 -0
  738. package/registry/layers/framework/electron-native-os/files/electron-builder.json +39 -0
  739. package/registry/layers/framework/electron-native-os/files/electron.vite.config.ts +14 -0
  740. package/registry/layers/framework/electron-native-os/files/index.ts +119 -0
  741. package/registry/layers/framework/electron-native-os/files/menu.ts +99 -0
  742. package/registry/layers/framework/electron-native-os/files/package.json +30 -0
  743. package/registry/layers/framework/electron-native-os/files/preload.ts +33 -0
  744. package/registry/layers/framework/electron-native-os/files/protocol.ts +56 -0
  745. package/registry/layers/framework/electron-native-os/files/renderer-index.html +14 -0
  746. package/registry/layers/framework/electron-native-os/files/renderer-main.tsx +12 -0
  747. package/registry/layers/framework/electron-native-os/files/styles.css +72 -0
  748. package/registry/layers/framework/electron-native-os/files/tsconfig.json +14 -0
  749. package/registry/layers/framework/electron-native-os/files/updater.ts +29 -0
  750. package/registry/layers/framework/electron-native-os/manifest.json +121 -0
  751. package/registry/layers/framework/eleventy-static/files/base.njk +23 -0
  752. package/registry/layers/framework/eleventy-static/files/index.md +11 -0
  753. package/registry/layers/framework/eleventy-static/files/src/assets/.gitkeep +0 -0
  754. package/registry/layers/framework/eleventy-static/manifest.json +75 -0
  755. package/registry/layers/framework/esp32-rust/files/.cargo/config.toml +3 -0
  756. package/registry/layers/framework/esp32-rust/files/Cargo.toml +11 -0
  757. package/registry/layers/framework/esp32-rust/files/README.md +51 -0
  758. package/registry/layers/framework/esp32-rust/files/build.rs +1 -0
  759. package/registry/layers/framework/esp32-rust/files/rust-toolchain.toml +2 -0
  760. package/registry/layers/framework/esp32-rust/files/src/main.rs +16 -0
  761. package/registry/layers/framework/esp32-rust/manifest.json +48 -0
  762. package/registry/layers/framework/expo-rn-rich/files/App.tsx +28 -0
  763. package/registry/layers/framework/expo-rn-rich/files/CanvasScreen.tsx +84 -0
  764. package/registry/layers/framework/expo-rn-rich/files/HomeScreen.tsx +43 -0
  765. package/registry/layers/framework/expo-rn-rich/files/RootNavigator.tsx +37 -0
  766. package/registry/layers/framework/expo-rn-rich/files/app.json +27 -0
  767. package/registry/layers/framework/expo-rn-rich/files/babel.config.js +10 -0
  768. package/registry/layers/framework/expo-rn-rich/files/metro.config.cjs +9 -0
  769. package/registry/layers/framework/expo-rn-rich/files/metro.config.js +14 -0
  770. package/registry/layers/framework/expo-rn-rich/files/tsconfig.json +12 -0
  771. package/registry/layers/framework/expo-rn-rich/manifest.json +101 -0
  772. package/registry/layers/framework/fintech-ledger-backend/files/db.ts +10 -0
  773. package/registry/layers/framework/fintech-ledger-backend/files/drizzle.config.ts +9 -0
  774. package/registry/layers/framework/fintech-ledger-backend/files/ledger/query.ts +66 -0
  775. package/registry/layers/framework/fintech-ledger-backend/files/money.ts +32 -0
  776. package/registry/layers/framework/fintech-ledger-backend/files/post.ts +141 -0
  777. package/registry/layers/framework/fintech-ledger-backend/files/schema.ts +87 -0
  778. package/registry/layers/framework/fintech-ledger-backend/files/server.ts +26 -0
  779. package/registry/layers/framework/fintech-ledger-backend/files/transactions-api.ts +59 -0
  780. package/registry/layers/framework/fintech-ledger-backend/files/tsconfig.json +17 -0
  781. package/registry/layers/framework/fintech-ledger-backend/manifest.json +82 -0
  782. package/registry/layers/framework/flutter-app/files/main.dart +189 -0
  783. package/registry/layers/framework/flutter-app/manifest.json +15 -0
  784. package/registry/layers/framework/forge-foundation/files/foundry.toml +17 -14
  785. package/registry/layers/framework/fraud-ops-console/manifest.json +8 -0
  786. package/registry/layers/framework/gdpr-compliance-pack/files/AGENTS.md +40 -0
  787. package/registry/layers/framework/gdpr-compliance-pack/files/package.json +19 -0
  788. package/registry/layers/framework/gdpr-compliance-pack/files/tsconfig.json +14 -0
  789. package/registry/layers/framework/gdpr-compliance-pack/manifest.json +60 -0
  790. package/registry/layers/framework/godot-web/files/export/web/.gitkeep +0 -0
  791. package/registry/layers/framework/godot-web/files/export_presets.cfg +5 -0
  792. package/registry/layers/framework/godot-web/files/exports/web/.gitkeep +0 -0
  793. package/registry/layers/framework/godot-web/files/package.json +15 -0
  794. package/registry/layers/framework/godot-web/files/project.godot +5 -0
  795. package/registry/layers/framework/godot-web/files/scenes/main.tscn +19 -0
  796. package/registry/layers/framework/godot-web/files/scripts/main.gd +29 -0
  797. package/registry/layers/framework/godot-web/files/src/main.ts +2 -0
  798. package/registry/layers/framework/godot-web/files/tsconfig.json +11 -0
  799. package/registry/layers/framework/godot-web/manifest.json +62 -0
  800. package/registry/layers/framework/healthcare-hipaa-backend/files/db.ts +13 -0
  801. package/registry/layers/framework/healthcare-hipaa-backend/files/drizzle.config.ts +11 -0
  802. package/registry/layers/framework/healthcare-hipaa-backend/files/encounters.ts +89 -0
  803. package/registry/layers/framework/healthcare-hipaa-backend/files/encryption.ts +69 -0
  804. package/registry/layers/framework/healthcare-hipaa-backend/files/hipaa.md +65 -0
  805. package/registry/layers/framework/healthcare-hipaa-backend/files/package.json +22 -0
  806. package/registry/layers/framework/healthcare-hipaa-backend/files/patients.ts +86 -0
  807. package/registry/layers/framework/healthcare-hipaa-backend/files/phi-access.ts +85 -0
  808. package/registry/layers/framework/healthcare-hipaa-backend/files/schema.ts +82 -0
  809. package/registry/layers/framework/healthcare-hipaa-backend/files/server.ts +43 -0
  810. package/registry/layers/framework/healthcare-hipaa-backend/files/tsconfig.json +15 -0
  811. package/registry/layers/framework/healthcare-hipaa-backend/manifest.json +138 -0
  812. package/registry/layers/framework/hipaa-compliance-pack/files/AGENTS.md +39 -0
  813. package/registry/layers/framework/hipaa-compliance-pack/files/docs/BAA-template.md +60 -0
  814. package/registry/layers/framework/hipaa-compliance-pack/files/docs/HIPAA-controls.md +58 -0
  815. package/registry/layers/framework/hipaa-compliance-pack/files/package.json +14 -0
  816. package/registry/layers/framework/hipaa-compliance-pack/files/src/audit-log.ts +54 -0
  817. package/registry/layers/framework/hipaa-compliance-pack/files/src/encryption.ts +74 -0
  818. package/registry/layers/framework/hipaa-compliance-pack/files/src/phi-access.ts +83 -0
  819. package/registry/layers/framework/hipaa-compliance-pack/files/tsconfig.json +14 -0
  820. package/registry/layers/framework/hipaa-compliance-pack/files/validate-hipaa-pack.mjs +33 -0
  821. package/registry/layers/framework/hipaa-compliance-pack/manifest.json +56 -0
  822. package/registry/layers/framework/hls-origin/files/server.ts +83 -0
  823. package/registry/layers/framework/hls-origin/manifest.json +72 -0
  824. package/registry/layers/framework/hugo-static/files/_index.md +18 -0
  825. package/registry/layers/framework/hugo-static/files/baseof.html +22 -0
  826. package/registry/layers/framework/hugo-static/files/index.html +13 -0
  827. package/registry/layers/framework/hugo-static/files/package.json +13 -0
  828. package/registry/layers/framework/hugo-static/manifest.json +70 -0
  829. package/registry/layers/framework/jupyter-book/files/chapter-1.md +30 -0
  830. package/registry/layers/framework/jupyter-book/manifest.json +63 -0
  831. package/registry/layers/framework/k12-edtech/files/README.md +79 -0
  832. package/registry/layers/framework/k12-edtech/files/classroom.ts +119 -0
  833. package/registry/layers/framework/k12-edtech/files/db.ts +8 -0
  834. package/registry/layers/framework/k12-edtech/files/drizzle.config.ts +9 -0
  835. package/registry/layers/framework/k12-edtech/files/gradebook.ts +161 -0
  836. package/registry/layers/framework/k12-edtech/files/schema.ts +171 -0
  837. package/registry/layers/framework/k12-edtech/files/server.ts +58 -0
  838. package/registry/layers/framework/k12-edtech/files/tsconfig.json +15 -0
  839. package/registry/layers/framework/k12-edtech/manifest.json +105 -0
  840. package/registry/layers/framework/kotlin-multiplatform/files/AGENTS.md +67 -0
  841. package/registry/layers/framework/kotlin-multiplatform/files/App.kt +46 -0
  842. package/registry/layers/framework/kotlin-multiplatform/files/Platform.android.kt +5 -0
  843. package/registry/layers/framework/kotlin-multiplatform/files/Platform.ios.kt +6 -0
  844. package/registry/layers/framework/kotlin-multiplatform/files/build.gradle.kts +3 -0
  845. package/registry/layers/framework/kotlin-multiplatform/files/pom.xml +38 -0
  846. package/registry/layers/framework/kotlin-multiplatform/files/settings.gradle.kts +7 -0
  847. package/registry/layers/framework/kotlin-multiplatform/files/src/commonMain/kotlin/App.kt +3 -0
  848. package/registry/layers/framework/kotlin-multiplatform/manifest.json +74 -0
  849. package/registry/layers/framework/kyc-onboarding/manifest.json +8 -0
  850. package/registry/layers/framework/legal-case-mgmt/files/.env.example +5 -0
  851. package/registry/layers/framework/legal-case-mgmt/files/AGENTS.md +62 -0
  852. package/registry/layers/framework/legal-case-mgmt/files/billing.ts +130 -0
  853. package/registry/layers/framework/legal-case-mgmt/files/db.ts +8 -0
  854. package/registry/layers/framework/legal-case-mgmt/files/drizzle.config.ts +9 -0
  855. package/registry/layers/framework/legal-case-mgmt/files/matter.ts +111 -0
  856. package/registry/layers/framework/legal-case-mgmt/files/package.json +23 -0
  857. package/registry/layers/framework/legal-case-mgmt/files/schema.ts +148 -0
  858. package/registry/layers/framework/legal-case-mgmt/files/server.ts +50 -0
  859. package/registry/layers/framework/legal-case-mgmt/files/tsconfig.json +16 -0
  860. package/registry/layers/framework/legal-case-mgmt/files/validate-legal.mjs +26 -0
  861. package/registry/layers/framework/legal-case-mgmt/manifest.json +79 -0
  862. package/registry/layers/framework/livekit-sfu/files/AGENTS.md +76 -0
  863. package/registry/layers/framework/livekit-sfu/files/server.ts +84 -0
  864. package/registry/layers/framework/livekit-sfu/manifest.json +67 -0
  865. package/registry/layers/framework/lora-training/files/infer.py +102 -0
  866. package/registry/layers/framework/lora-training/files/pyrightconfig.json +8 -0
  867. package/registry/layers/framework/lora-training/files/train.py +174 -0
  868. package/registry/layers/framework/lora-training/manifest.json +78 -0
  869. package/registry/layers/framework/move-package/files/Move.toml +20 -1
  870. package/registry/layers/framework/move-package/files/module.move +1 -1
  871. package/registry/layers/framework/move-package/files/test.move +4 -6
  872. package/registry/layers/framework/multimodal-agent/files/App.tsx +219 -0
  873. package/registry/layers/framework/multimodal-agent/files/main.tsx +12 -0
  874. package/registry/layers/framework/multimodal-agent/manifest.json +60 -0
  875. package/registry/layers/framework/observable-notebook/files/data/rows.json.ts +11 -0
  876. package/registry/layers/framework/observable-notebook/files/overview.md +28 -0
  877. package/registry/layers/framework/observable-notebook/files/src/observablehq.d.ts +12 -0
  878. package/registry/layers/framework/observable-notebook/files/tsconfig.json +13 -0
  879. package/registry/layers/framework/observable-notebook/manifest.json +55 -0
  880. package/registry/layers/framework/ollama-server/files/.env.example +6 -0
  881. package/registry/layers/framework/ollama-server/files/src/client.ts +52 -0
  882. package/registry/layers/framework/ollama-server/manifest.json +52 -0
  883. package/registry/layers/framework/pci-dss-compliance-pack/files/AGENTS.md +52 -0
  884. package/registry/layers/framework/pci-dss-compliance-pack/files/README.md +51 -0
  885. package/registry/layers/framework/pci-dss-compliance-pack/files/src/index.ts +3 -0
  886. package/registry/layers/framework/pci-dss-compliance-pack/manifest.json +50 -0
  887. package/registry/layers/framework/phaser-game/files/src/main.ts +19 -0
  888. package/registry/layers/framework/phaser-game/files/src/scenes/MainScene.ts +38 -0
  889. package/registry/layers/framework/phaser-game/manifest.json +55 -0
  890. package/registry/layers/framework/pixijs-game/files/src/main.ts +49 -0
  891. package/registry/layers/framework/pixijs-game/files/src/vite-env.d.ts +1 -0
  892. package/registry/layers/framework/pixijs-game/manifest.json +51 -0
  893. package/registry/layers/framework/polymarket-portfolio-hedging/manifest.json +8 -0
  894. package/registry/layers/framework/rag-pipeline-py/files/AGENTS.md +55 -0
  895. package/registry/layers/framework/rag-pipeline-py/files/__init__.py +1 -0
  896. package/registry/layers/framework/rag-pipeline-py/files/pipeline.py +220 -0
  897. package/registry/layers/framework/rag-pipeline-py/manifest.json +56 -0
  898. package/registry/layers/framework/react-vite-ts/files/App.tsx +9 -72
  899. package/registry/layers/framework/realtime-audio-ts/files/audio.ts +75 -0
  900. package/registry/layers/framework/realtime-audio-ts/files/index.html +34 -0
  901. package/registry/layers/framework/realtime-audio-ts/files/main.ts +93 -0
  902. package/registry/layers/framework/realtime-audio-ts/files/peer.ts +68 -0
  903. package/registry/layers/framework/realtime-audio-ts/files/styles.css +59 -0
  904. package/registry/layers/framework/realtime-audio-ts/files/tsconfig.json +12 -0
  905. package/registry/layers/framework/realtime-audio-ts/files/visualizer.ts +59 -0
  906. package/registry/layers/framework/realtime-audio-ts/files/vite.config.ts +16 -0
  907. package/registry/layers/framework/realtime-audio-ts/manifest.json +54 -0
  908. package/registry/layers/framework/risczero-zkvm/manifest.json +6 -0
  909. package/registry/layers/framework/ros2-node-py/files/AGENTS.md +58 -0
  910. package/registry/layers/framework/ros2-node-py/files/__init__.py +0 -0
  911. package/registry/layers/framework/ros2-node-py/files/bringup.launch.py +23 -0
  912. package/registry/layers/framework/ros2-node-py/files/minimal_publisher.py +43 -0
  913. package/registry/layers/framework/ros2-node-py/files/minimal_subscriber.py +36 -0
  914. package/registry/layers/framework/ros2-node-py/files/my_node.py +24 -0
  915. package/registry/layers/framework/ros2-node-py/files/setup.py +28 -0
  916. package/registry/layers/framework/ros2-node-py/manifest.json +90 -0
  917. package/registry/layers/framework/sglang-server/files/Makefile +22 -0
  918. package/registry/layers/framework/sglang-server/files/README.md +56 -0
  919. package/registry/layers/framework/sglang-server/files/__init__.py +1 -0
  920. package/registry/layers/framework/sglang-server/files/pyproject.toml +30 -0
  921. package/registry/layers/framework/sglang-server/manifest.json +62 -0
  922. package/registry/layers/framework/skypilot-serving/files/AGENTS.md +85 -0
  923. package/registry/layers/framework/skypilot-serving/manifest.json +68 -0
  924. package/registry/layers/framework/soc2-compliance-pack/files/AGENTS.md +46 -0
  925. package/registry/layers/framework/soc2-compliance-pack/files/README.md +61 -0
  926. package/registry/layers/framework/soc2-compliance-pack/files/src/index.ts +3 -0
  927. package/registry/layers/framework/soc2-compliance-pack/manifest.json +52 -0
  928. package/registry/layers/framework/sp1-zkvm/manifest.json +6 -0
  929. package/registry/layers/framework/stm32-rust/files/.cargo/config.toml +9 -0
  930. package/registry/layers/framework/stm32-rust/files/Embed.toml +27 -0
  931. package/registry/layers/framework/stm32-rust/files/rust-toolchain.toml +3 -0
  932. package/registry/layers/framework/stm32-rust/files/src/main.rs +54 -0
  933. package/registry/layers/framework/stm32-rust/manifest.json +66 -0
  934. package/registry/layers/framework/streamlit-advanced/files/.env.example +3 -0
  935. package/registry/layers/framework/streamlit-advanced/files/README.md +58 -0
  936. package/registry/layers/framework/streamlit-advanced/files/analysis.py +40 -0
  937. package/registry/layers/framework/streamlit-advanced/files/app.py +76 -0
  938. package/registry/layers/framework/streamlit-advanced/manifest.json +60 -0
  939. package/registry/layers/framework/tangle-blueprint/files/foundry.toml +8 -0
  940. package/registry/layers/framework/tangle-blueprint/files/lib.rs +29 -15
  941. package/registry/layers/framework/tauri-menubar/README.md +54 -0
  942. package/registry/layers/framework/tauri-menubar/files/App.tsx +65 -0
  943. package/registry/layers/framework/tauri-menubar/files/Cargo.toml +18 -0
  944. package/registry/layers/framework/tauri-menubar/files/build.rs +3 -0
  945. package/registry/layers/framework/tauri-menubar/files/index.html +13 -0
  946. package/registry/layers/framework/tauri-menubar/files/lib.rs +75 -0
  947. package/registry/layers/framework/tauri-menubar/files/main.rs +7 -0
  948. package/registry/layers/framework/tauri-menubar/files/main.tsx +14 -0
  949. package/registry/layers/framework/tauri-menubar/files/styles.css +112 -0
  950. package/registry/layers/framework/tauri-menubar/files/tauri.conf.json +45 -0
  951. package/registry/layers/framework/tauri-menubar/files/tsconfig.json +13 -0
  952. package/registry/layers/framework/tauri-menubar/files/vite.config.ts +18 -0
  953. package/registry/layers/framework/tauri-menubar/manifest.json +92 -0
  954. package/registry/layers/framework/tauri-tray/files/Cargo.toml +19 -0
  955. package/registry/layers/framework/tauri-tray/files/build.rs +3 -0
  956. package/registry/layers/framework/tauri-tray/files/lib.rs +89 -0
  957. package/registry/layers/framework/tauri-tray/files/main.rs +5 -0
  958. package/registry/layers/framework/tauri-tray/files/src/main.ts +1 -0
  959. package/registry/layers/framework/tauri-tray/files/src/tray.ts +5 -0
  960. package/registry/layers/framework/tauri-tray/files/tauri.conf.json +28 -0
  961. package/registry/layers/framework/tauri-tray/files/tsconfig.json +11 -0
  962. package/registry/layers/framework/tauri-tray/manifest.json +80 -0
  963. package/registry/layers/framework/tgi-server/files/pyproject.toml +20 -0
  964. package/registry/layers/framework/tgi-server/files/src/__init__.py +1 -0
  965. package/registry/layers/framework/tgi-server/files/src/main.py +50 -0
  966. package/registry/layers/framework/tgi-server/manifest.json +41 -0
  967. package/registry/layers/framework/threejs-game/files/src/main.ts +62 -0
  968. package/registry/layers/framework/threejs-game/files/src/vite-env.d.ts +1 -0
  969. package/registry/layers/framework/threejs-game/manifest.json +50 -0
  970. package/registry/layers/framework/triton-server/files/AGENTS.md +71 -0
  971. package/registry/layers/framework/triton-server/files/Makefile +25 -0
  972. package/registry/layers/framework/triton-server/files/__init__.py +1 -0
  973. package/registry/layers/framework/triton-server/files/pyproject.toml +33 -0
  974. package/registry/layers/framework/triton-server/manifest.json +70 -0
  975. package/registry/layers/framework/unity-web-proxy/files/index.html +104 -0
  976. package/registry/layers/framework/unity-web-proxy/manifest.json +63 -0
  977. package/registry/layers/framework/vision-first-agent/files/main.ts +143 -0
  978. package/registry/layers/framework/vision-first-agent/files/vite-env.d.ts +1 -0
  979. package/registry/layers/framework/vision-first-agent/manifest.json +47 -0
  980. package/registry/layers/framework/vllm-server/files/__init__.py +0 -0
  981. package/registry/layers/framework/vllm-server/files/server.py +134 -0
  982. package/registry/layers/framework/vllm-server/manifest.json +15 -0
  983. package/registry/layers/framework/voice-first-agent/files/main.ts +160 -0
  984. package/registry/layers/framework/voice-first-agent/files/vite-env.d.ts +1 -0
  985. package/registry/layers/framework/voice-first-agent/manifest.json +48 -0
  986. package/registry/layers/framework/wasm-rust/files/index.html +12 -0
  987. package/registry/layers/framework/wasm-rust/files/lib.rs +43 -0
  988. package/registry/layers/framework/wasm-rust/files/main.ts +24 -0
  989. package/registry/layers/framework/wasm-rust/files/pkg/starter_foundry_wasm.d.ts +7 -0
  990. package/registry/layers/framework/wasm-rust/manifest.json +23 -0
  991. package/registry/layers/framework/webgpu-inference/files/src/main.ts +167 -0
  992. package/registry/layers/framework/webgpu-inference/files/src/shaders/matmul.wgsl +30 -0
  993. package/registry/layers/framework/webgpu-inference/manifest.json +55 -0
  994. package/registry/layers/framework/webgpu-render/files/src/main.ts +113 -0
  995. package/registry/layers/framework/webgpu-render/files/src/shaders/main.wgsl +37 -0
  996. package/registry/layers/framework/webgpu-render/files/src/vite-env.d.ts +1 -0
  997. package/registry/layers/framework/webgpu-render/manifest.json +56 -0
  998. package/registry/layers/framework/zola-static/files/_index.md +10 -0
  999. package/registry/layers/framework/zola-static/files/base.html +12 -0
  1000. package/registry/layers/framework/zola-static/files/gitignore +3 -0
  1001. package/registry/layers/framework/zola-static/files/index.html +26 -0
  1002. package/registry/layers/framework/zola-static/files/main.scss +21 -0
  1003. package/registry/layers/framework/zola-static/files/package.json +12 -0
  1004. package/registry/layers/framework/zola-static/files/static.gitkeep +0 -0
  1005. package/registry/layers/framework/zola-static/manifest.json +72 -0
  1006. package/registry/layers/payments/coinbase-commerce/manifest.json +26 -17
  1007. package/registry/layers/payments/none/manifest.json +28 -17
  1008. package/registry/layers/payments/stripe/manifest.json +27 -17
  1009. package/registry/layers/queue/bullmq/manifest.json +15 -13
  1010. package/registry/layers/queue/none/manifest.json +15 -13
  1011. package/registry/layers/queue/trigger-dev/manifest.json +15 -13
  1012. package/registry/layers/sdk/coinbase-cdp/manifest.json +24 -17
  1013. package/registry/layers/sdk/evm-wallet/manifest.json +24 -17
  1014. package/registry/layers/sdk/none/manifest.json +26 -17
  1015. package/registry/layers/sdk/solana-web3/manifest.json +24 -17
  1016. package/registry/package-to-capability.json +16 -10
  1017. package/registry/partners/avalanche/files/partner-config.json +14 -0
  1018. package/registry/partners/avalanche/files/starter-brand.json +5 -0
  1019. package/registry/partners/avalanche/manifest.json +46 -0
  1020. package/registry/partners/chainlink/files/chainlink-config.json +29 -0
  1021. package/registry/partners/chainlink/manifest.json +43 -0
  1022. package/registry/partners/farcaster/files/partner-config.json +10 -0
  1023. package/registry/partners/farcaster/files/starter-brand.json +5 -0
  1024. package/registry/partners/farcaster/manifest.json +44 -0
  1025. package/registry/partners/hyperliquid/files/partner-config.json +12 -0
  1026. package/registry/partners/hyperliquid/files/starter-brand.json +5 -0
  1027. package/registry/partners/hyperliquid/manifest.json +46 -0
  1028. package/registry/partners/lens/files/partner-config.json +12 -0
  1029. package/registry/partners/lens/files/starter-brand.json +5 -0
  1030. package/registry/partners/lens/manifest.json +44 -0
  1031. package/registry/partners/linea/files/partner-config.json +13 -0
  1032. package/registry/partners/linea/files/starter-brand.json +5 -0
  1033. package/registry/partners/linea/manifest.json +45 -0
  1034. package/registry/partners/monad/files/partner-config.json +10 -0
  1035. package/registry/partners/monad/files/starter-brand.json +5 -0
  1036. package/registry/partners/monad/manifest.json +46 -0
  1037. package/registry/partners/polygon/files/partner-config.json +16 -0
  1038. package/registry/partners/polygon/files/starter-brand.json +5 -0
  1039. package/registry/partners/polygon/manifest.json +46 -0
  1040. package/registry/partners/sei-evm/files/partner-config.json +12 -0
  1041. package/registry/partners/sei-evm/files/starter-brand.json +5 -0
  1042. package/registry/partners/sei-evm/manifest.json +45 -0
  1043. package/registry/partners/sui/files/sui-config.json +18 -0
  1044. package/registry/partners/sui/manifest.json +41 -0
  1045. package/registry/partners/tempo/files/tempo-config.json +26 -0
  1046. package/registry/partners/tempo/manifest.json +46 -0
  1047. package/registry/partners/tether/files/partner-config.json +17 -0
  1048. package/registry/partners/tether/files/starter-brand.json +5 -0
  1049. package/registry/partners/tether/manifest.json +49 -0
  1050. package/registry/partners/usdc-circle/files/partner-config.json +25 -0
  1051. package/registry/partners/usdc-circle/files/starter-brand.json +5 -0
  1052. package/registry/partners/usdc-circle/manifest.json +50 -0
@@ -0,0 +1,685 @@
1
+ // Scaffold-bridge — adapts starter-foundry's compose surface to
2
+ // agent-eval's BuilderSession + SandboxHarness. Given a spec (family +
3
+ // layers + variables), this module:
4
+ //
5
+ // 1. composes the scaffold to a tempdir
6
+ // 2. returns a HarnessConfig tuned for the family's build toolchain
7
+ // (pnpm / cargo / go / aptos / node — dispatch on taxonomy.language)
8
+ // 3. registers family-aware judges that grade meta_score against the
9
+ // composed output (manifest compliance, idiomatic layout, deps
10
+ // resolved)
11
+ //
12
+ // The glue is deliberately thin. Every primitive (sandbox driver, judge
13
+ // factory, workspace assertions) comes from agent-eval. Nothing new here
14
+ // lives in starter-foundry except the composition adapter + family
15
+ // dispatch table.
16
+ import { readFileSync, mkdtempSync, rmSync } from 'node:fs';
17
+ import { join } from 'node:path';
18
+ import { tmpdir } from 'node:os';
19
+ import { spawnSync } from 'node:child_process';
20
+ import { fileExists } from '@tangle-network/agent-eval';
21
+ // ──────────────────────────────────────────────────────────────────
22
+ // Per-family harness dispatch
23
+ // ──────────────────────────────────────────────────────────────────
24
+ /**
25
+ * Per-language harness config table. Single source of truth — the
26
+ * promoters (scripts/promote-family-proposal.mjs,
27
+ * scripts/promote-capability-proposal.mjs) import this table rather
28
+ * than redefining it. Gen 8b shipped when only two of three copies
29
+ * got the strict-gate fix; centralizing removes the drift surface.
30
+ *
31
+ * Keys are `taxonomy.language` values. New languages must be added
32
+ * here — `makeHarnessConfig` THROWS on unknown languages rather than
33
+ * silently returning a no-op (which was the muffled-gate shape where
34
+ * a Zig family silent-passed the build phase).
35
+ *
36
+ * `muffle-ok:` annotations mark places where a non-strict command
37
+ * is intentional and documented.
38
+ */
39
+ export const HARNESS_CONFIGS = {
40
+ typescript: {
41
+ setupCommand: 'pnpm install --prefer-offline',
42
+ // Strict: tsc --noEmit fails loud on type errors. The previous
43
+ // `pnpm run validate || pnpm run build || true` swallowed exit
44
+ // codes and silent-passed broken React 17 / .ts-JSX scaffolds —
45
+ // the Gen 8 Goodhart bug that triggered the compile-gate work.
46
+ testCommand: 'pnpm exec tsc --noEmit',
47
+ timeoutMs: 180_000,
48
+ },
49
+ javascript: {
50
+ setupCommand: 'pnpm install --prefer-offline',
51
+ // No tsc for JS; fall back to the build script. If a family lacks
52
+ // a build script it must declare a validationCheck instead.
53
+ testCommand: 'pnpm run build',
54
+ timeoutMs: 180_000,
55
+ },
56
+ rust: {
57
+ setupCommand: 'cargo fetch',
58
+ // muffle-ok: `|| cargo check` is a narrower-scope retry for
59
+ // non-workspace crates, not a pass-through. Both branches still
60
+ // fail-loud on type errors.
61
+ testCommand: 'cargo check --workspace || cargo check',
62
+ timeoutMs: 300_000,
63
+ },
64
+ go: {
65
+ setupCommand: 'go mod tidy',
66
+ testCommand: 'go build ./... && go vet ./...',
67
+ timeoutMs: 180_000,
68
+ },
69
+ python: {
70
+ // muffle-ok: setup is best-effort — if requirements.txt is
71
+ // absent, skip install. The testCommand (compileall) still
72
+ // fail-louds on syntax errors regardless of install outcome.
73
+ setupCommand: '[ -f requirements.txt ] && pip install -r requirements.txt || true', // muffle-ok: best-effort install; compileall is the real gate
74
+ testCommand: 'python -m compileall -q .',
75
+ timeoutMs: 120_000,
76
+ },
77
+ solidity: {
78
+ // muffle-ok: forge install is best-effort; if deps are vendored
79
+ // it may not be needed. `forge build` is the real gate.
80
+ setupCommand: 'forge install --no-git || true', // muffle-ok: setup is best-effort; forge build is the real gate
81
+ testCommand: 'forge build',
82
+ timeoutMs: 180_000,
83
+ },
84
+ move: {
85
+ setupCommand: '',
86
+ testCommand: 'aptos move compile --dev',
87
+ timeoutMs: 300_000,
88
+ },
89
+ };
90
+ /**
91
+ * Build the harness config for a family based on its taxonomy.language.
92
+ * The resolved setup/test commands run inside the composed tempdir, so
93
+ * the agent-eval SandboxHarness can subprocess-invoke them.
94
+ *
95
+ * Throws on unknown language — the previous fallback (`testCommand:
96
+ * 'true'`) silent-passed any family whose language wasn't in the
97
+ * dispatch, which is the muffled-gate shape Gen 9 closes. Callers
98
+ * that want to tolerate unknown languages must handle the throw
99
+ * explicitly.
100
+ */
101
+ export function makeHarnessConfig(components) {
102
+ const language = components.family.taxonomy?.language ?? 'unknown';
103
+ const config = HARNESS_CONFIGS[language];
104
+ if (!config) {
105
+ throw new Error(`makeHarnessConfig: unsupported taxonomy.language '${language}'. ` +
106
+ `Add it to HARNESS_CONFIGS in src/eval/scaffold-bridge.ts with a ` +
107
+ `strict (fail-loud) testCommand before composing a scaffold for it.`);
108
+ }
109
+ return config;
110
+ }
111
+ // ──────────────────────────────────────────────────────────────────
112
+ // Workspace assertions — manifest.files → real files on disk
113
+ // ──────────────────────────────────────────────────────────────────
114
+ /**
115
+ * Generate workspace assertions from a resolved component tree. Every
116
+ * file the manifest declares must exist after compose. This is the
117
+ * structural correctness floor — no LLM needed.
118
+ *
119
+ * Uses agent-eval's `fileExists(path)` helper which returns a
120
+ * WorkspaceAssertion whose `.check(snapshot)` resolves against the
121
+ * snapshot's `files` record at eval time.
122
+ */
123
+ export function manifestComplianceAssertions(components) {
124
+ const assertions = [];
125
+ const seen = new Set();
126
+ const addFile = (target) => {
127
+ if (seen.has(target))
128
+ return;
129
+ seen.add(target);
130
+ assertions.push(fileExists(target));
131
+ };
132
+ for (const file of components.family.files ?? [])
133
+ addFile(file.target);
134
+ for (const layer of components.layers) {
135
+ for (const file of layer.files ?? [])
136
+ addFile(file.target);
137
+ }
138
+ return assertions;
139
+ }
140
+ // ──────────────────────────────────────────────────────────────────
141
+ // Snapshot helper — reads a composed scaffold into a WorkspaceSnapshot
142
+ // ──────────────────────────────────────────────────────────────────
143
+ /**
144
+ * Walk the composed scaffold directory, return a WorkspaceSnapshot the
145
+ * agent-eval `InMemoryWorkspaceInspector` + `runAssertions` understand.
146
+ *
147
+ * Content handling:
148
+ * - UTF-8-valid text of any size → `files[path] = content` (full).
149
+ * Assertions like `fileContains(path, needle)` work against the
150
+ * complete file regardless of size. No arbitrary truncation.
151
+ * - Binary / non-UTF-8 files → `blobs[path] = { size, hash, mimeType }`.
152
+ * This is exactly what agent-eval's blob channel is for — keeps the
153
+ * snapshot small while preserving "this file exists and is binary"
154
+ * for file-exists-style assertions.
155
+ *
156
+ * Excluded: node_modules, target (cargo), .git, dist — noise that
157
+ * would 10× the snapshot with no value for eval.
158
+ */
159
+ export function snapshotScaffold(scaffoldDir) {
160
+ const files = {};
161
+ const blobs = {};
162
+ const res = spawnSync('find', [scaffoldDir, '-type', 'f', '-not', '-path', '*/node_modules/*', '-not', '-path', '*/target/*', '-not', '-path', '*/.git/*', '-not', '-path', '*/dist/*'], { encoding: 'utf8' });
163
+ if (res.status === 0) {
164
+ for (const absPath of res.stdout.trim().split('\n').filter(Boolean)) {
165
+ const relPath = absPath.startsWith(scaffoldDir + '/') ? absPath.slice(scaffoldDir.length + 1) : absPath;
166
+ try {
167
+ const buf = readFileSync(absPath);
168
+ if (isProbablyText(buf)) {
169
+ files[relPath] = buf.toString('utf8');
170
+ }
171
+ else {
172
+ blobs[relPath] = {
173
+ size: buf.length,
174
+ // Don't compute hash here — it's O(size) on every eval; caller
175
+ // adds it selectively when assertions need it.
176
+ mimeType: guessMimeType(relPath),
177
+ };
178
+ }
179
+ }
180
+ catch {
181
+ // Read error (permissions, broken symlink): record as empty text
182
+ // so file-exists assertions still resolve truthy while read-
183
+ // dependent assertions fail with an empty content mismatch.
184
+ files[relPath] = '';
185
+ }
186
+ }
187
+ }
188
+ return { files, rows: {}, kv: {}, blobs: Object.keys(blobs).length ? blobs : undefined };
189
+ }
190
+ /**
191
+ * Heuristic: a file is "probably text" if the first 4KB contains no
192
+ * NUL byte and is decodable as UTF-8 without replacement chars. This
193
+ * catches the common cases (source code, configs, markdown, json) and
194
+ * correctly diverts binaries (wasm, .zkey, images, compiled elf) to
195
+ * the blob channel.
196
+ */
197
+ function isProbablyText(buf) {
198
+ const head = buf.subarray(0, Math.min(4096, buf.length));
199
+ if (head.includes(0))
200
+ return false;
201
+ // Attempt strict decode — if the bytes form invalid UTF-8, TextDecoder
202
+ // with `fatal: true` throws.
203
+ try {
204
+ new TextDecoder('utf-8', { fatal: true }).decode(head);
205
+ return true;
206
+ }
207
+ catch {
208
+ return false;
209
+ }
210
+ }
211
+ function guessMimeType(path) {
212
+ const ext = path.toLowerCase().split('.').pop() ?? '';
213
+ switch (ext) {
214
+ case 'wasm': return 'application/wasm';
215
+ case 'zkey': return 'application/octet-stream+zkey';
216
+ case 'png': return 'image/png';
217
+ case 'jpg':
218
+ case 'jpeg': return 'image/jpeg';
219
+ case 'webp': return 'image/webp';
220
+ case 'woff':
221
+ case 'woff2': return 'font/woff2';
222
+ case 'pdf': return 'application/pdf';
223
+ default: return undefined;
224
+ }
225
+ }
226
+ // ──────────────────────────────────────────────────────────────────
227
+ // Judge factory — scaffold meta_score rubric
228
+ // ──────────────────────────────────────────────────────────────────
229
+ /**
230
+ * Build a JudgeFn that grades a composed scaffold on five dimensions:
231
+ * 1. correctness — imports resolve, build recipe valid
232
+ * 2. completeness — all manifest-declared files present
233
+ * 3. idiomatic — workspace layout matches family convention
234
+ * 4. production-ready — env vars documented, secrets not in source
235
+ * 5. over-scaffold — no extraneous layers attached for the prompt
236
+ *
237
+ * The judge is meant to be plugged into agent-eval's BuilderSession via
238
+ * `recordMetaScore(await judge(...))`. The fn itself doesn't call an LLM
239
+ * — it builds the prompt and expects the caller (driver script) to hand
240
+ * off to `createLlmReviewer`.
241
+ *
242
+ * Why this shape: agent-eval's JudgeFn takes a context object with
243
+ * scenario+artifacts; the scaffold eval's "scenario" IS the user prompt,
244
+ * and "artifacts" are the composed files. This adapter packs them up.
245
+ */
246
+ export function buildScaffoldMetaPrompt(args) {
247
+ const { userPrompt, composedSpec, snapshot } = args;
248
+ const paths = Object.keys(snapshot.files).sort();
249
+ const fileList = paths
250
+ .slice(0, 80) // cap prompt length
251
+ .join('\n ');
252
+ const keyFiles = pickKeyFiles(snapshot);
253
+ // Prompt-budget truncation (distinct from snapshot completeness —
254
+ // the snapshot has the full file; this is render-only).
255
+ const PROMPT_FILE_CAP = 4000;
256
+ const keyFilesSection = keyFiles
257
+ .map((f) => {
258
+ const truncated = f.content.length > PROMPT_FILE_CAP;
259
+ const body = truncated
260
+ ? `${f.content.slice(0, PROMPT_FILE_CAP)}\n\n[... ${f.content.length - PROMPT_FILE_CAP} more characters truncated for prompt budget — full content is in the snapshot ...]`
261
+ : f.content;
262
+ return `\n### ${f.path}${truncated ? ' (truncated for prompt)' : ''}\n\`\`\`\n${body}\n\`\`\``;
263
+ })
264
+ .join('\n');
265
+ return [
266
+ '# Scaffold quality assessment',
267
+ '',
268
+ 'You are grading a composed project scaffold. The user gave a prompt and the',
269
+ 'planner selected a family + capability layers + variables. After composition,',
270
+ 'these files are on disk:',
271
+ '',
272
+ '## User prompt',
273
+ userPrompt,
274
+ '',
275
+ '## Resolved composition',
276
+ `- family: ${composedSpec.family}`,
277
+ `- layers: ${(composedSpec.layers ?? []).join(', ')}`,
278
+ `- partner: ${composedSpec.partner ?? '(none)'}`,
279
+ '',
280
+ '## File list',
281
+ ' ' + fileList,
282
+ ...(paths.length > 80 ? [` ... ${paths.length - 80} more`] : []),
283
+ '',
284
+ '## Key files',
285
+ keyFilesSection,
286
+ '',
287
+ '## Rubric (0-1 per dimension, 1 = perfect)',
288
+ '',
289
+ '1. **correctness** — do imports resolve? Is the build recipe plausible? Any obvious typos or broken references?',
290
+ '2. **completeness** — does the scaffold cover the prompt\'s stated surfaces? (if prompt says "ZK prover + frontend", do both exist?)',
291
+ '3. **idiomatic** — does the layout match the framework\'s canonical pattern? (risczero has methods/guest+host; SP1 has program/+script/)',
292
+ '4. **production-ready** — are env vars documented? secrets NOT in source? build caching hints present?',
293
+ '5. **over-scaffold** — score 1 if ZERO layers are extraneous; lower if capabilities are attached that the prompt doesn\'t justify.',
294
+ '',
295
+ '## Output',
296
+ '',
297
+ 'Return a single JSON object:',
298
+ '```json',
299
+ '{',
300
+ ' "correctness": 0.9,',
301
+ ' "completeness": 0.95,',
302
+ ' "idiomatic": 0.85,',
303
+ ' "productionReady": 0.8,',
304
+ ' "overScaffold": 1.0,',
305
+ ' "overall": 0.9,',
306
+ ' "issues": [{"dimension": "...", "severity": "low|medium|high", "description": "..."}],',
307
+ ' "verdict": "pass | fail | borderline"',
308
+ '}',
309
+ '```',
310
+ ].join('\n');
311
+ }
312
+ /**
313
+ * Pick the "key files" agent-eval's judge should see in full. We don't
314
+ * want to ship the entire scaffold into the prompt (token explosion);
315
+ * instead surface the files that carry the scaffold's signal.
316
+ */
317
+ function pickKeyFiles(snapshot) {
318
+ const priorities = [
319
+ /^package\.json$/,
320
+ /^Cargo\.toml$/,
321
+ /^go\.mod$/,
322
+ /^Move\.toml$/,
323
+ /^foundry\.toml$/,
324
+ /^requirements\.txt$/,
325
+ /^pyproject\.toml$/,
326
+ /^README\.md$/,
327
+ /^tsconfig\.json$/,
328
+ /^src\/main\.(ts|rs|py|go)$/,
329
+ /^src\/App\.tsx$/,
330
+ /^src\/index\.(ts|tsx)$/,
331
+ /^methods\/guest\/src\/main\.rs$/,
332
+ /^program\/src\/main\.rs$/,
333
+ /^host\/src\/main\.rs$/,
334
+ ];
335
+ const paths = Object.keys(snapshot.files);
336
+ const out = [];
337
+ for (const pattern of priorities) {
338
+ const match = paths.find((p) => pattern.test(p));
339
+ if (match)
340
+ out.push({ path: match, content: snapshot.files[match] });
341
+ if (out.length >= 6)
342
+ break;
343
+ }
344
+ return out;
345
+ }
346
+ /**
347
+ * Compose a spec to a tempdir + package up everything the driver needs
348
+ * to run agent-eval's BuilderSession: sandbox config, file snapshot,
349
+ * structural assertions, cleanup thunk.
350
+ *
351
+ * Compose failure throws. Caller handles by scoring the build_score as
352
+ * 0 and proceeding with a failed-compose meta judgment.
353
+ */
354
+ export async function prepareScaffoldForEval(args) {
355
+ const scaffoldDir = mkdtempSync(join(tmpdir(), 'scaffold-eval-'));
356
+ // Invoke the compose CLI. Runs against the live `dist/` so the bridge
357
+ // stays registry-version-agnostic; no in-process coupling to compose.
358
+ const specPath = join(scaffoldDir, 'spec.json');
359
+ const { writeFileSync } = await import('node:fs');
360
+ writeFileSync(specPath, JSON.stringify(args.spec));
361
+ const res = spawnSync('node', ['dist/cli.js', 'compose', '--spec', specPath, '--out', scaffoldDir, '--json'], {
362
+ cwd: process.cwd(),
363
+ encoding: 'utf8',
364
+ });
365
+ if (res.status !== 0) {
366
+ rmSync(scaffoldDir, { recursive: true, force: true });
367
+ throw new Error(`compose failed (exit ${res.status}): ${res.stderr.slice(-500)}`);
368
+ }
369
+ const snapshot = snapshotScaffold(scaffoldDir);
370
+ // cwd MUST be baked into the harness at preparation time. agent-eval's
371
+ // SubprocessSandboxDriver.exec reads cwd from the per-call HarnessConfig,
372
+ // NOT from the driver constructor (see agent-eval@0.7.0 — Gen 8b bug).
373
+ // Returning the harness without cwd forces every caller to remember to
374
+ // spread it in, and historical evidence says that fails — the runtime
375
+ // eval path in scripts/agent-eval-scaffold.mjs (pre-Round-0) had the
376
+ // same construct-vs-call bug Gen 8b fixed in the promoters. Bake it in
377
+ // here so the muffled gate is structurally impossible at this seam.
378
+ const harness = { ...makeHarnessConfig(args.components), cwd: scaffoldDir };
379
+ const assertions = manifestComplianceAssertions(args.components);
380
+ return {
381
+ scaffoldDir,
382
+ harness,
383
+ snapshot,
384
+ assertions,
385
+ cleanup: () => {
386
+ try {
387
+ rmSync(scaffoldDir, { recursive: true, force: true });
388
+ }
389
+ catch { /* noop */ }
390
+ },
391
+ };
392
+ }
393
+ /**
394
+ * Meta judge — Ax-structured scaffold quality assessment.
395
+ *
396
+ * Uses AxSignature + AxGen so the output schema is enforced at the library
397
+ * layer, not via my hand-rolled regex-JSON-parse. Ax handles:
398
+ * - retries on malformed output
399
+ * - field-type coercion (number fields get numbers, not strings)
400
+ * - structured error reporting when the LLM refuses schema compliance
401
+ *
402
+ * Routes through `createLLM` which uses router.tangle.tools when
403
+ * TANGLE_ROUTER_USER_KEY is set (preferred — centralized spend + governance),
404
+ * else falls back to direct provider keys.
405
+ */
406
+ // AxSignature DSL: '"<instruction>" input1:type, ... -> output1:type, ...'
407
+ // Each field can have a ':string' / ':number' / ':string[]' / ':boolean' type
408
+ // annotation. Ax coerces output into the declared type and retries if the
409
+ // model returns something uncoercible.
410
+ const META_JUDGE_SIGNATURE = '"Grade a freshly-composed project STARTER SCAFFOLD on five rubric dimensions (0..1 each, 1=perfect). ' +
411
+ 'CRITICAL CALIBRATION: a starter scaffold is a SKELETON the agent extends. ' +
412
+ 'Do NOT penalize for missing business logic, missing API client implementations, or missing domain-specific code. ' +
413
+ 'The scaffold\'s job is to give the agent a buildable floor — extension is the agent\'s job. ' +
414
+ 'Judge ONLY what is given; do not hallucinate missing files. ' +
415
+ 'correctness = imports resolve, build recipe plausible, no obvious taxonomy/implementation mismatches (e.g. frontend surface with Node HTTP server in main.ts). ' +
416
+ 'completeness = scaffold has the expected slot files for its (language, runtime, surface) — e.g. frontend TS needs package.json + vite.config + index.html + entrypoint + README. Does NOT require business-logic implementation. ' +
417
+ 'idiomatic = layout + configs + dep versions match the framework\'s current canonical pattern (e.g. vite+react with TS5, not jest+TS4). ' +
418
+ 'productionReady = env vars documented via .env.example or README Environment section, no secrets in source, scripts are the conventional ones for the runtime. ' +
419
+ 'overScaffold = 1 if zero extraneous dependencies or capabilities beyond what the surface justifies. ' +
420
+ 'overall = weighted aggregate; a SKELETON-COMPLETE scaffold with no taxonomy mismatches should score ≥ 0.8 and verdict=pass. ' +
421
+ 'verdict = pass | fail | borderline. issues = concrete defects ONLY (not missing business logic)." ' +
422
+ 'userPrompt:string, family:string, layers:string, fileList:string, keyFiles:string -> ' +
423
+ 'correctness:number, completeness:number, idiomatic:number, productionReady:number, overScaffold:number, ' +
424
+ 'overall:number, verdict:string, issues:string[], rationale:string';
425
+ export async function invokeMetaJudge(args) {
426
+ // Compile-gate short-circuit. If the caller already ran the build and it
427
+ // failed, return fail immediately. Saves the LLM call AND closes the
428
+ // Goodhart loop where fidelity passes scaffolds the build would reject.
429
+ if (args.buildOutcome && args.buildOutcome.passed === false) {
430
+ const phase = args.buildOutcome.phase ?? 'build';
431
+ const stderrTail = (args.buildOutcome.stderr ?? args.buildOutcome.stdout ?? '').slice(-500);
432
+ return {
433
+ correctness: 0,
434
+ completeness: 0,
435
+ idiomatic: 0,
436
+ productionReady: 0,
437
+ overScaffold: 0,
438
+ overall: 0,
439
+ issues: [
440
+ {
441
+ dimension: 'correctness',
442
+ severity: 'high',
443
+ description: `${phase} failed: ${stderrTail.replace(/\s+/g, ' ').trim().slice(0, 400)}`,
444
+ },
445
+ ],
446
+ verdict: 'fail',
447
+ rationale: `Build/typecheck failed at ${phase} — scaffold cannot run. LLM scoring skipped (compile-gate).`,
448
+ };
449
+ }
450
+ const { createLLM } = await import('../lib/llm.js');
451
+ const { ax } = await import('@ax-llm/ax');
452
+ const { estimateTokens } = await import('@tangle-network/agent-eval');
453
+ // Don't pin a router-specific model slug like "anthropic/claude-sonnet-4-6" —
454
+ // it 404s on non-router providers in the fallback chain. createLLM() picks
455
+ // each provider's default (Claude Haiku on Anthropic, Llama 3.3 on Together,
456
+ // gpt-4o-mini on OpenAI, Haiku via router when the router key is present).
457
+ // Any of these are capable enough to run a 5-dimensional rubric judge.
458
+ const llm = createLLM();
459
+ const judge = ax(META_JUDGE_SIGNATURE);
460
+ const paths = Object.keys(args.snapshot.files).sort();
461
+ const fileList = paths.slice(0, 80).join('\n') + (paths.length > 80 ? `\n[+${paths.length - 80} more]` : '');
462
+ const keyFiles = renderKeyFilesForSignature(args.snapshot);
463
+ const raw = (await judge.forward(llm, {
464
+ userPrompt: args.userPrompt,
465
+ family: args.composedSpec.family ?? 'unknown',
466
+ layers: (args.composedSpec.layers ?? []).join(', ') || '(none)',
467
+ fileList,
468
+ keyFiles,
469
+ }, { stream: false }));
470
+ const num = (v, fallback = 0) => {
471
+ if (typeof v !== 'number' || Number.isNaN(v))
472
+ return fallback;
473
+ if (v > 1 && v <= 10)
474
+ return v / 10; // defensive: tolerate 0-10 scale drift
475
+ return Math.max(0, Math.min(1, v));
476
+ };
477
+ const issues = normalizeIssues(raw.issues);
478
+ const correctness = num(raw.correctness);
479
+ const completeness = num(raw.completeness);
480
+ const idiomatic = num(raw.idiomatic);
481
+ const productionReady = num(raw.productionReady);
482
+ const overScaffold = num(raw.overScaffold, 1);
483
+ const overallFallback = correctness * 0.3 + completeness * 0.3 + idiomatic * 0.2 + productionReady * 0.1 + overScaffold * 0.1;
484
+ const verdict = raw.verdict === 'pass' || raw.verdict === 'fail' || raw.verdict === 'borderline' ? raw.verdict : 'borderline';
485
+ // Estimate token usage for cost tracking. AxGen.forward doesn't surface
486
+ // provider usage stats in a stable shape across backends (router vs
487
+ // Anthropic vs Together vs OpenAI), so estimate from the rendered
488
+ // prompt + output text via agent-eval's char-based heuristic. Under-
489
+ // estimates for structured-output heavy responses by <15%, good enough
490
+ // for scorecard-level cost visibility. Replace with live usage if ax
491
+ // exposes it via the AxAIService in a later version.
492
+ const promptText = `${META_JUDGE_SIGNATURE}\n${args.userPrompt}\n${args.composedSpec.family ?? ''}\n${(args.composedSpec.layers ?? []).join(',')}\n${fileList}\n${keyFiles}`;
493
+ const outputText = JSON.stringify(raw);
494
+ const usage = {
495
+ inputTokens: estimateTokens(promptText),
496
+ outputTokens: estimateTokens(outputText),
497
+ // createLLM's model is provider-picked — record what the signature
498
+ // most-closely corresponds to in MODEL_PRICING. Override in future
499
+ // if createLLM exposes the resolved model name.
500
+ model: 'claude-sonnet-4-20250514',
501
+ };
502
+ return {
503
+ correctness,
504
+ completeness,
505
+ idiomatic,
506
+ productionReady,
507
+ overScaffold,
508
+ overall: num(raw.overall, overallFallback),
509
+ issues,
510
+ verdict,
511
+ rationale: raw.rationale,
512
+ usage,
513
+ };
514
+ }
515
+ /**
516
+ * Per-language fleet config table. Each language maps to a set of
517
+ * sandbox commands the four mechanical judges will run. New languages
518
+ * must be added here; absent languages skip the fleet (return
519
+ * empty-pass) since we have no defensible commands to run.
520
+ *
521
+ * Why these specific commands:
522
+ * compiler: same testCommand from HARNESS_CONFIGS — it's the
523
+ * authoritative typecheck. Reusing keeps fleet aligned with the
524
+ * existing build gate.
525
+ * test: family-canonical test runner if the language convention
526
+ * has one (vitest for TS, pytest for Python, cargo test for Rust).
527
+ * For families that ship no test fixtures, test judge is a no-op
528
+ * pass — this is honest (we have nothing to validate against)
529
+ * rather than fabricating green.
530
+ * linter: forge-lint for solidity (Gen R1 cluster-fix), eslint for
531
+ * TS where configured, ruff for Python. No command = honest skip.
532
+ * security: a deps-vuln scan via `pnpm audit --audit-level high` for
533
+ * pnpm projects, `cargo audit` for Rust. Skip otherwise.
534
+ */
535
+ function fleetCommandsForLanguage(language, surface) {
536
+ switch (language) {
537
+ case 'typescript':
538
+ case 'javascript':
539
+ return {
540
+ compiler: 'pnpm exec tsc --noEmit',
541
+ // Gracefully skip when no test script defined; vitest --run hard
542
+ // fails if vitest absent. The `pnpm test` form respects whatever
543
+ // test command the family/package declares — including the
544
+ // muffle-ok'd `echo no tests` patterns where applicable.
545
+ test: 'pnpm test --run --passWithNoTests 2>&1 || true', // muffle-ok: test judge tolerates absent suites — it scores 1 only when tests exist AND pass; absent suites score honest-null
546
+ linter: 'pnpm lint 2>&1 || true', // muffle-ok: linter score reflects exit 0/non-zero; absent lint script honest-skips
547
+ security: 'pnpm audit --audit-level high --json 2>&1 || true', // muffle-ok: parsed by score function below; non-zero on real vulns
548
+ };
549
+ case 'rust':
550
+ return {
551
+ compiler: 'cargo check --workspace || cargo check',
552
+ test: 'cargo test --workspace --no-run 2>&1 || true', // muffle-ok: compile-only test detection; test execution costly + flaky
553
+ };
554
+ case 'solidity':
555
+ return {
556
+ compiler: 'forge build',
557
+ test: 'forge test --no-match-test "Skip" 2>&1 || true', // muffle-ok: many forge tests need fork-block setup; absent → score honest-null
558
+ linter: 'forge lint 2>&1 || true', // muffle-ok: lint score reflects exit; absent foundry.toml [lint] section → honest-pass per Gen R1 fix
559
+ };
560
+ default:
561
+ return {};
562
+ }
563
+ }
564
+ /**
565
+ * Score a fleet judge result. SandboxJudgeResult.score from agent-eval
566
+ * is testsPassed/testsTotal where parsers exist; we override for cases
567
+ * where the raw exit-code semantics need interpretation (e.g. lint
568
+ * exit-2 means warnings-only on some toolchains, exit-non-zero means
569
+ * security findings on pnpm audit).
570
+ */
571
+ function interpretFleetResult(kind, exitCode, stdout) {
572
+ if (kind === 'security') {
573
+ // pnpm audit exits non-zero on findings; parse JSON for high+ count.
574
+ try {
575
+ const j = JSON.parse(stdout || '{}');
576
+ const high = (j.metadata?.vulnerabilities?.high ?? 0) + (j.metadata?.vulnerabilities?.critical ?? 0);
577
+ return { passed: high === 0, score: high === 0 ? 1 : 0, summary: high === 0 ? 'no high/critical vulns' : `${high} high+ vulns` };
578
+ }
579
+ catch {
580
+ return { passed: exitCode === 0, score: exitCode === 0 ? 1 : 0, summary: `audit exit=${exitCode}` };
581
+ }
582
+ }
583
+ return {
584
+ passed: exitCode === 0,
585
+ score: exitCode === 0 ? 1 : 0,
586
+ summary: exitCode === 0 ? `${kind} pass` : `${kind} exit=${exitCode}`,
587
+ };
588
+ }
589
+ /**
590
+ * Invoke the judge fleet against a composed scaffold's harness config.
591
+ *
592
+ * Returns a `FleetVerdict` aggregating per-judge results. Unanimous
593
+ * pass is the new strictness bar — replaces "single LLM judge said
594
+ * 0.85" as the validation gate.
595
+ *
596
+ * Reuses `BuilderSession`'s harness machinery for sandbox isolation;
597
+ * each judge runs in its own subprocess with the language-specific
598
+ * command. Skipped judges (no command for the language) score
599
+ * honest-null and are excluded from `unanimousPass` math.
600
+ */
601
+ export async function invokeJudgeFleet(args) {
602
+ const { runJudgeFleet, compilerJudge, testJudge, linterJudge, securityJudge } = await import('@tangle-network/agent-eval');
603
+ const language = args.components.family.taxonomy?.language ?? 'unknown';
604
+ const surface = args.components.family.taxonomy?.surface ?? 'unknown';
605
+ const cmds = fleetCommandsForLanguage(language, surface);
606
+ const specs = [];
607
+ if (cmds.compiler)
608
+ specs.push(compilerJudge('fleet:compiler', { ...args.harness, testCommand: cmds.compiler }));
609
+ if (cmds.test)
610
+ specs.push(testJudge('fleet:test', { ...args.harness, testCommand: cmds.test }));
611
+ if (cmds.linter)
612
+ specs.push(linterJudge('fleet:linter', { ...args.harness, testCommand: cmds.linter }));
613
+ if (cmds.security)
614
+ specs.push(securityJudge('fleet:security', { ...args.harness, testCommand: cmds.security }));
615
+ if (specs.length === 0) {
616
+ return { unanimousPass: false, byJudge: [], overall: 0, wallMs: 0 };
617
+ }
618
+ const start = Date.now();
619
+ const results = await runJudgeFleet(specs, { parallel: true });
620
+ const wallMs = Date.now() - start;
621
+ const byJudge = results.map((r) => {
622
+ const exit = r.detail?.test?.exitCode ?? r.detail?.run?.exitCode ?? r.detail?.setup?.exitCode ?? 1;
623
+ const stdout = r.detail?.test?.stdout ?? r.detail?.run?.stdout ?? '';
624
+ const interp = interpretFleetResult(r.kind, exit, stdout);
625
+ return {
626
+ id: r.id,
627
+ kind: r.kind,
628
+ passed: interp.passed,
629
+ score: interp.score,
630
+ summary: interp.summary,
631
+ durationMs: r.detail?.totalWallMs ?? 0,
632
+ };
633
+ });
634
+ const unanimousPass = byJudge.length > 0 && byJudge.every((j) => j.passed);
635
+ const overall = byJudge.length > 0 ? byJudge.reduce((a, j) => a + j.score, 0) / byJudge.length : 0;
636
+ return { unanimousPass, byJudge, overall, wallMs };
637
+ }
638
+ /**
639
+ * Normalize the LLM's `issues` output into our typed shape. The AxSignature
640
+ * declares issues:string[] (simple list of concerns). We then parse each
641
+ * line for a "dimension: severity: description" pattern; if it doesn't
642
+ * match, treat the whole line as a medium-severity unscoped issue. This
643
+ * lets the judge use free-form language while giving the scorecard
644
+ * consumer a structured shape.
645
+ */
646
+ function normalizeIssues(raw) {
647
+ if (!Array.isArray(raw))
648
+ return [];
649
+ const out = [];
650
+ for (const item of raw) {
651
+ if (typeof item === 'string') {
652
+ const m = item.match(/^\s*(\w[\w-]*)\s*:\s*(low|medium|high)\s*:\s*(.+)$/i);
653
+ if (m) {
654
+ out.push({ dimension: m[1], severity: m[2].toLowerCase(), description: m[3].trim() });
655
+ }
656
+ else {
657
+ out.push({ dimension: 'general', severity: 'medium', description: item.trim() });
658
+ }
659
+ }
660
+ else if (item && typeof item === 'object') {
661
+ const o = item;
662
+ const sev = (o.severity === 'low' || o.severity === 'high') ? o.severity : 'medium';
663
+ out.push({
664
+ dimension: typeof o.dimension === 'string' ? o.dimension : 'general',
665
+ severity: sev,
666
+ description: typeof o.description === 'string' ? o.description : JSON.stringify(o),
667
+ });
668
+ }
669
+ }
670
+ return out;
671
+ }
672
+ function renderKeyFilesForSignature(snapshot) {
673
+ const keyFiles = pickKeyFiles(snapshot);
674
+ const PROMPT_FILE_CAP = 4000;
675
+ return keyFiles
676
+ .map((f) => {
677
+ const truncated = f.content.length > PROMPT_FILE_CAP;
678
+ const body = truncated
679
+ ? `${f.content.slice(0, PROMPT_FILE_CAP)}\n[... ${f.content.length - PROMPT_FILE_CAP} more chars truncated for prompt — full content is in the snapshot ...]`
680
+ : f.content;
681
+ return `### ${f.path}${truncated ? ' (truncated for prompt)' : ''}\n${body}`;
682
+ })
683
+ .join('\n\n---\n\n');
684
+ }
685
+ //# sourceMappingURL=scaffold-bridge.js.map