@tangle-network/starter-foundry 0.7.3 → 0.13.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 (1335) hide show
  1. package/LICENSE-APACHE +201 -0
  2. package/README.md +63 -174
  3. package/corpus/template-family-mapping.json +0 -1
  4. package/dist/cli.js +206 -85
  5. package/dist/cli.js.map +1 -1
  6. package/dist/eval/diagnoser.d.ts +2 -2
  7. package/dist/eval/diagnoser.js +28 -7
  8. package/dist/eval/diagnoser.js.map +1 -1
  9. package/dist/eval/propose.js +1 -1
  10. package/dist/eval/propose.js.map +1 -1
  11. package/dist/eval/replay.d.ts +8 -8
  12. package/dist/eval/replay.js +44 -21
  13. package/dist/eval/replay.js.map +1 -1
  14. package/dist/eval/scaffold-bridge.d.ts +6 -6
  15. package/dist/eval/scaffold-bridge.js +103 -30
  16. package/dist/eval/scaffold-bridge.js.map +1 -1
  17. package/dist/lib/agent-bundle.d.ts +278 -0
  18. package/dist/lib/agent-bundle.js +411 -0
  19. package/dist/lib/agent-bundle.js.map +1 -0
  20. package/dist/lib/agent-context.js +4 -4
  21. package/dist/lib/agent-context.js.map +1 -1
  22. package/dist/lib/agent-runners.d.ts +2 -2
  23. package/dist/lib/agent-runners.js +5 -3
  24. package/dist/lib/agent-runners.js.map +1 -1
  25. package/dist/lib/augment.js.map +1 -1
  26. package/dist/lib/brand/first-turn-flows.js +5 -3
  27. package/dist/lib/brand/first-turn-flows.js.map +1 -1
  28. package/dist/lib/brand/i18n.d.ts +2 -2
  29. package/dist/lib/brand/i18n.js +37 -7
  30. package/dist/lib/brand/i18n.js.map +1 -1
  31. package/dist/lib/brand/index.js +43 -8
  32. package/dist/lib/brand/index.js.map +1 -1
  33. package/dist/lib/brand/media-manifest.d.ts +2 -2
  34. package/dist/lib/brand/media-manifest.js +20 -4
  35. package/dist/lib/brand/media-manifest.js.map +1 -1
  36. package/dist/lib/brand/user-segments.js +49 -16
  37. package/dist/lib/brand/user-segments.js.map +1 -1
  38. package/dist/lib/brand/voice.js.map +1 -1
  39. package/dist/lib/bridge.d.ts +2 -2
  40. package/dist/lib/bridge.js +18 -14
  41. package/dist/lib/bridge.js.map +1 -1
  42. package/dist/lib/build-plan.d.ts +1 -1
  43. package/dist/lib/build-plan.js +66 -15
  44. package/dist/lib/build-plan.js.map +1 -1
  45. package/dist/lib/buildout-traces.d.ts +3 -3
  46. package/dist/lib/buildout-traces.js +4 -4
  47. package/dist/lib/buildout-traces.js.map +1 -1
  48. package/dist/lib/canary.js.map +1 -1
  49. package/dist/lib/capability-inferrer.d.ts +2 -2
  50. package/dist/lib/capability-inferrer.js +1 -1
  51. package/dist/lib/capability-inferrer.js.map +1 -1
  52. package/dist/lib/catalog.d.ts +2 -2
  53. package/dist/lib/cli/export-runs.d.ts +13 -0
  54. package/dist/lib/cli/export-runs.js +57 -0
  55. package/dist/lib/cli/export-runs.js.map +1 -0
  56. package/dist/lib/cli/gate.d.ts +11 -0
  57. package/dist/lib/cli/gate.js +60 -0
  58. package/dist/lib/cli/gate.js.map +1 -0
  59. package/dist/lib/cli/profiles.d.ts +12 -0
  60. package/dist/lib/cli/profiles.js +63 -0
  61. package/dist/lib/cli/profiles.js.map +1 -0
  62. package/dist/lib/cli/refresh-snapshots.d.ts +15 -0
  63. package/dist/lib/cli/refresh-snapshots.js +40 -0
  64. package/dist/lib/cli/refresh-snapshots.js.map +1 -0
  65. package/dist/lib/compose-prompt.d.ts +1 -1
  66. package/dist/lib/compose-prompt.js +1 -1
  67. package/dist/lib/compose-prompt.js.map +1 -1
  68. package/dist/lib/compose.d.ts +1 -1
  69. package/dist/lib/compose.js +212 -33
  70. package/dist/lib/compose.js.map +1 -1
  71. package/dist/lib/context-pack.d.ts +1 -1
  72. package/dist/lib/context-pack.js +2 -1
  73. package/dist/lib/context-pack.js.map +1 -1
  74. package/dist/lib/cost.js +2 -1
  75. package/dist/lib/cost.js.map +1 -1
  76. package/dist/lib/domain-packs.d.ts +31 -0
  77. package/dist/lib/domain-packs.js +261 -0
  78. package/dist/lib/domain-packs.js.map +1 -0
  79. package/dist/lib/eval/ab.js.map +1 -0
  80. package/dist/lib/{audit.d.ts → eval/audit.d.ts} +1 -1
  81. package/dist/lib/{audit.js → eval/audit.js} +2 -2
  82. package/dist/lib/eval/audit.js.map +1 -0
  83. package/dist/lib/{batch-export.js → eval/batch-export.js} +38 -9
  84. package/dist/lib/eval/batch-export.js.map +1 -0
  85. package/dist/lib/{benchmark.d.ts → eval/benchmark.d.ts} +1 -1
  86. package/dist/lib/{benchmark.js → eval/benchmark.js} +4 -4
  87. package/dist/lib/eval/benchmark.js.map +1 -0
  88. package/dist/lib/eval/emit-run-record.d.ts +38 -0
  89. package/dist/lib/eval/emit-run-record.js +37 -0
  90. package/dist/lib/eval/emit-run-record.js.map +1 -0
  91. package/dist/lib/{prove.d.ts → eval/prove.d.ts} +2 -2
  92. package/dist/lib/{prove.js → eval/prove.js} +2 -2
  93. package/dist/lib/eval/prove.js.map +1 -0
  94. package/dist/lib/{reproducibility.d.ts → eval/reproducibility.d.ts} +3 -3
  95. package/dist/lib/eval/reproducibility.js.map +1 -0
  96. package/dist/lib/{sbom.d.ts → eval/sbom.d.ts} +2 -2
  97. package/dist/lib/{sbom.js → eval/sbom.js} +5 -2
  98. package/dist/lib/eval/sbom.js.map +1 -0
  99. package/dist/lib/fatten.d.ts +2 -2
  100. package/dist/lib/fatten.js +38 -10
  101. package/dist/lib/fatten.js.map +1 -1
  102. package/dist/lib/fs.js +11 -5
  103. package/dist/lib/fs.js.map +1 -1
  104. package/dist/lib/held-out-gate.d.ts +88 -0
  105. package/dist/lib/held-out-gate.js +177 -0
  106. package/dist/lib/held-out-gate.js.map +1 -0
  107. package/dist/lib/index.d.ts +24 -13
  108. package/dist/lib/index.js +17 -8
  109. package/dist/lib/index.js.map +1 -1
  110. package/dist/lib/industries.js +2 -2
  111. package/dist/lib/industries.js.map +1 -1
  112. package/dist/lib/industry-flows.js +3 -5
  113. package/dist/lib/industry-flows.js.map +1 -1
  114. package/dist/lib/keywords.js +31 -21
  115. package/dist/lib/keywords.js.map +1 -1
  116. package/dist/lib/llm.js +22 -21
  117. package/dist/lib/llm.js.map +1 -1
  118. package/dist/lib/planner/contracts.js +45 -13
  119. package/dist/lib/planner/contracts.js.map +1 -1
  120. package/dist/lib/planner/detectors.js +31 -9
  121. package/dist/lib/planner/detectors.js.map +1 -1
  122. package/dist/lib/planner/domain-pack-signals.d.ts +6 -0
  123. package/dist/lib/planner/domain-pack-signals.js +36 -0
  124. package/dist/lib/planner/domain-pack-signals.js.map +1 -0
  125. package/dist/lib/planner/implicit-caps.js +12 -2
  126. package/dist/lib/planner/implicit-caps.js.map +1 -1
  127. package/dist/lib/planner/partner-first.d.ts +0 -14
  128. package/dist/lib/planner/partner-first.js +14 -14
  129. package/dist/lib/planner/partner-first.js.map +1 -1
  130. package/dist/lib/planner/projects.d.ts +5 -1
  131. package/dist/lib/planner/projects.js +460 -113
  132. package/dist/lib/planner/projects.js.map +1 -1
  133. package/dist/lib/planner/signals.d.ts +9 -0
  134. package/dist/lib/planner/signals.js +195 -27
  135. package/dist/lib/planner/signals.js.map +1 -1
  136. package/dist/lib/product-brief.js +4 -1
  137. package/dist/lib/product-brief.js.map +1 -1
  138. package/dist/lib/profile-loader.d.ts +56 -0
  139. package/dist/lib/profile-loader.js +144 -0
  140. package/dist/lib/profile-loader.js.map +1 -0
  141. package/dist/lib/promoter-gates.js +86 -22
  142. package/dist/lib/promoter-gates.js.map +1 -1
  143. package/dist/lib/prompt-e2e.d.ts +3 -3
  144. package/dist/lib/prompt-e2e.js +1 -1
  145. package/dist/lib/prompt-e2e.js.map +1 -1
  146. package/dist/lib/prompt-planner.js +428 -88
  147. package/dist/lib/prompt-planner.js.map +1 -1
  148. package/dist/lib/prompt-rewriter.d.ts +2 -1
  149. package/dist/lib/prompt-rewriter.js +6 -3
  150. package/dist/lib/prompt-rewriter.js.map +1 -1
  151. package/dist/lib/registry-mirror.d.ts +2 -2
  152. package/dist/lib/registry-mirror.js +3 -1
  153. package/dist/lib/registry-mirror.js.map +1 -1
  154. package/dist/lib/registry.d.ts +6 -6
  155. package/dist/lib/registry.js +193 -12
  156. package/dist/lib/registry.js.map +1 -1
  157. package/dist/lib/release.js +7 -4
  158. package/dist/lib/release.js.map +1 -1
  159. package/dist/lib/reviewer-route.js +33 -19
  160. package/dist/lib/reviewer-route.js.map +1 -1
  161. package/dist/lib/run-canaries.d.ts +102 -0
  162. package/dist/lib/run-canaries.js +305 -0
  163. package/dist/lib/run-canaries.js.map +1 -0
  164. package/dist/lib/run-record-store.d.ts +21 -0
  165. package/dist/lib/run-record-store.js +61 -0
  166. package/dist/lib/run-record-store.js.map +1 -0
  167. package/dist/lib/run-record.d.ts +105 -0
  168. package/dist/lib/run-record.js +189 -0
  169. package/dist/lib/run-record.js.map +1 -0
  170. package/dist/lib/safety/license-check.js +18 -10
  171. package/dist/lib/safety/license-check.js.map +1 -1
  172. package/dist/lib/safety/secret-scan.js +15 -1
  173. package/dist/lib/safety/secret-scan.js.map +1 -1
  174. package/dist/lib/selection.d.ts +15 -0
  175. package/dist/lib/selection.js +138 -17
  176. package/dist/lib/selection.js.map +1 -1
  177. package/dist/lib/semantic-router.d.ts +5 -1
  178. package/dist/lib/semantic-router.js +7 -3
  179. package/dist/lib/semantic-router.js.map +1 -1
  180. package/dist/lib/snapshot-resolver.d.ts +94 -0
  181. package/dist/lib/snapshot-resolver.js +228 -0
  182. package/dist/lib/snapshot-resolver.js.map +1 -0
  183. package/dist/lib/synthetic/index.js +4 -2
  184. package/dist/lib/synthetic/index.js.map +1 -1
  185. package/dist/lib/telemetry/stream.js +3 -1
  186. package/dist/lib/telemetry/stream.js.map +1 -1
  187. package/dist/lib/telemetry.d.ts +2 -1
  188. package/dist/lib/telemetry.js +8 -2
  189. package/dist/lib/telemetry.js.map +1 -1
  190. package/dist/lib/template-quality.d.ts +2 -2
  191. package/dist/lib/template-quality.js +6 -4
  192. package/dist/lib/template-quality.js.map +1 -1
  193. package/dist/lib/validate-plan.js +4 -1
  194. package/dist/lib/validate-plan.js.map +1 -1
  195. package/dist/lib/validate.d.ts +5 -1
  196. package/dist/lib/validate.js +340 -4
  197. package/dist/lib/validate.js.map +1 -1
  198. package/dist/lib/vb-outcomes.d.ts +2 -2
  199. package/dist/lib/vb-outcomes.js.map +1 -1
  200. package/dist/lib/version-history.js.map +1 -1
  201. package/dist/lib/visual-regression.d.ts +2 -2
  202. package/dist/lib/visual-regression.js.map +1 -1
  203. package/dist/lib/workspace-presets.d.ts +125 -0
  204. package/dist/lib/workspace-presets.js +364 -0
  205. package/dist/lib/workspace-presets.js.map +1 -0
  206. package/dist/lib/workspace.d.ts +6 -6
  207. package/dist/lib/workspace.js +8 -7
  208. package/dist/lib/workspace.js.map +1 -1
  209. package/dist/training/capability_proposer/propose.d.ts +2 -3
  210. package/dist/training/capability_proposer/propose.js +26 -15
  211. package/dist/training/capability_proposer/propose.js.map +1 -1
  212. package/dist/training/family_proposer/propose.d.ts +2 -3
  213. package/dist/training/family_proposer/propose.js +275 -42
  214. package/dist/training/family_proposer/propose.js.map +1 -1
  215. package/dist/training/routing/train.d.ts +2 -2
  216. package/dist/training/routing/train.js +9 -6
  217. package/dist/training/routing/train.js.map +1 -1
  218. package/dist/training/template_v1/audit.js +5 -3
  219. package/dist/training/template_v1/audit.js.map +1 -1
  220. package/dist/training/template_v1/correctness.js +10 -11
  221. package/dist/training/template_v1/correctness.js.map +1 -1
  222. package/dist/training/template_v1/harvest.d.ts +7 -7
  223. package/dist/training/template_v1/harvest.js +5 -7
  224. package/dist/training/template_v1/harvest.js.map +1 -1
  225. package/dist/training/template_v1/judge.d.ts +1 -1
  226. package/dist/training/template_v1/judge.js +7 -4
  227. package/dist/training/template_v1/judge.js.map +1 -1
  228. package/dist/training/template_v1/multi-propose.d.ts +3 -3
  229. package/dist/training/template_v1/multi-propose.js +3 -2
  230. package/dist/training/template_v1/multi-propose.js.map +1 -1
  231. package/dist/training/template_v1/run.js +34 -17
  232. package/dist/training/template_v1/run.js.map +1 -1
  233. package/dist/training/template_v1/synthesize.js +9 -3
  234. package/dist/training/template_v1/synthesize.js.map +1 -1
  235. package/dist/training/variant_b/brief-loader.js +32 -12
  236. package/dist/training/variant_b/brief-loader.js.map +1 -1
  237. package/dist/training/variant_b/flow.d.ts +2 -2
  238. package/dist/training/variant_b/flow.js +2 -2
  239. package/dist/training/variant_b/flow.js.map +1 -1
  240. package/dist/training/variant_b/generate.js +8 -4
  241. package/dist/training/variant_b/generate.js.map +1 -1
  242. package/dist/training/variant_b/judge.d.ts +2 -3
  243. package/dist/training/variant_b/judge.js.map +1 -1
  244. package/dist/training/variant_b/nodes/collect.d.ts +2 -2
  245. package/dist/training/variant_b/nodes/collect.js.map +1 -1
  246. package/dist/training/variant_b/nodes/generate.js +12 -3
  247. package/dist/training/variant_b/nodes/generate.js.map +1 -1
  248. package/dist/training/variant_b/nodes/judge.js.map +1 -1
  249. package/dist/training/variant_b/nodes/promote.d.ts +2 -2
  250. package/dist/training/variant_b/nodes/promote.js.map +1 -1
  251. package/dist/training/variant_b/nodes/rank.js.map +1 -1
  252. package/dist/training/variant_b/nodes/train.js +13 -7
  253. package/dist/training/variant_b/nodes/train.js.map +1 -1
  254. package/dist/training/variant_b/run-flow.js +1 -1
  255. package/dist/training/variant_b/run-flow.js.map +1 -1
  256. package/dist/training/variant_b/train.js +1 -1
  257. package/dist/training/variant_b/train.js.map +1 -1
  258. package/dist/types/compose.d.ts +126 -0
  259. package/dist/types/compose.js +5 -0
  260. package/dist/types/compose.js.map +1 -0
  261. package/dist/types/eval.d.ts +89 -0
  262. package/dist/types/eval.js +5 -0
  263. package/dist/types/eval.js.map +1 -0
  264. package/dist/types/ids.d.ts +46 -0
  265. package/dist/types/ids.js +87 -0
  266. package/dist/types/ids.js.map +1 -0
  267. package/dist/types/index.d.ts +5 -0
  268. package/dist/types/index.js +10 -0
  269. package/dist/types/index.js.map +1 -0
  270. package/dist/types/planner.d.ts +64 -0
  271. package/dist/types/planner.js +4 -0
  272. package/dist/types/planner.js.map +1 -0
  273. package/dist/types/registry-schemas.generated.d.ts +96 -1
  274. package/dist/types/registry-schemas.generated.js +2 -2
  275. package/dist/types/registry-schemas.generated.js.map +1 -1
  276. package/dist/types/registry.d.ts +243 -0
  277. package/dist/types/registry.js +4 -0
  278. package/dist/types/registry.js.map +1 -0
  279. package/dist/types.d.ts +1 -444
  280. package/dist/types.js +6 -1
  281. package/dist/types.js.map +1 -1
  282. package/package.json +108 -51
  283. package/registry/_schemas/agent.schema.json +101 -0
  284. package/registry/_schemas/family.schema.json +62 -2
  285. package/registry/_schemas/layer.schema.json +70 -0
  286. package/registry/families/agent-debug-ui-ts/files/.env.example +13 -0
  287. package/registry/families/agent-debug-ui-ts/files/README.md +78 -0
  288. package/registry/families/agent-debug-ui-ts/files/index.html +12 -0
  289. package/registry/families/agent-debug-ui-ts/files/package.json +24 -0
  290. package/registry/families/agent-debug-ui-ts/files/pnpm-workspace.yaml +3 -0
  291. package/registry/families/agent-debug-ui-ts/files/src/App.tsx +224 -0
  292. package/registry/families/agent-debug-ui-ts/files/src/components/ChatPair.tsx +69 -0
  293. package/registry/families/agent-debug-ui-ts/files/src/components/EventInspector.tsx +36 -0
  294. package/registry/families/agent-debug-ui-ts/files/src/components/EventStream.tsx +122 -0
  295. package/registry/families/agent-debug-ui-ts/files/src/components/ReplayScrubber.tsx +59 -0
  296. package/registry/families/agent-debug-ui-ts/files/src/components/ToolCallTimeline.tsx +136 -0
  297. package/registry/families/agent-debug-ui-ts/files/src/lib/event-types.ts +115 -0
  298. package/registry/families/agent-debug-ui-ts/files/src/lib/sandbox-stream.ts +133 -0
  299. package/registry/families/agent-debug-ui-ts/files/src/main.tsx +13 -0
  300. package/registry/families/agent-debug-ui-ts/files/src/styles.css +382 -0
  301. package/registry/families/agent-debug-ui-ts/files/tsconfig.json +25 -0
  302. package/registry/families/agent-debug-ui-ts/files/tsconfig.node.json +11 -0
  303. package/registry/families/agent-debug-ui-ts/files/vite.config.ts +15 -0
  304. package/registry/families/agent-debug-ui-ts/manifest.json +92 -0
  305. package/registry/families/agent-eval-harness-py/files/.github/workflows/eval.yml +70 -0
  306. package/registry/families/agent-eval-harness-py/files/AGENTS.md +135 -0
  307. package/registry/families/agent-eval-harness-py/files/README.md +145 -0
  308. package/registry/families/agent-eval-harness-py/files/agent.json +30 -0
  309. package/registry/families/agent-eval-harness-py/files/pyproject.toml +48 -0
  310. package/registry/families/agent-eval-harness-py/files/requirements.txt +7 -0
  311. package/registry/families/agent-eval-harness-py/files/scenarios/__init__.py +1 -0
  312. package/registry/families/agent-eval-harness-py/files/scenarios/example.py +50 -0
  313. package/registry/families/agent-eval-harness-py/files/src/eval/__init__.py +57 -0
  314. package/registry/families/agent-eval-harness-py/files/src/eval/__main__.py +10 -0
  315. package/registry/families/agent-eval-harness-py/files/src/eval/cli.py +281 -0
  316. package/registry/families/agent-eval-harness-py/files/src/eval/judges/__init__.py +27 -0
  317. package/registry/families/agent-eval-harness-py/files/src/eval/judges/example_judge.py +52 -0
  318. package/registry/families/agent-eval-harness-py/files/src/eval/judges/rubric.py +299 -0
  319. package/registry/families/agent-eval-harness-py/files/src/eval/regression.py +299 -0
  320. package/registry/families/agent-eval-harness-py/files/src/eval/runner.py +320 -0
  321. package/registry/families/agent-eval-harness-py/files/src/eval/sandbox_runner.py +194 -0
  322. package/registry/families/agent-eval-harness-py/files/src/eval/scorecard.py +192 -0
  323. package/registry/families/agent-eval-harness-py/files/tests/__init__.py +0 -0
  324. package/registry/families/agent-eval-harness-py/files/tests/test_regression.py +266 -0
  325. package/registry/families/agent-eval-harness-py/files/tests/test_runner.py +291 -0
  326. package/registry/families/agent-eval-harness-py/files/tests/test_sandbox.py +258 -0
  327. package/registry/families/agent-eval-harness-py/manifest.json +209 -0
  328. package/registry/families/agent-eval-harness-ts/files/.github/workflows/eval.yml +55 -0
  329. package/registry/families/agent-eval-harness-ts/files/AGENTS.md +116 -0
  330. package/registry/families/agent-eval-harness-ts/files/README.md +138 -0
  331. package/registry/families/agent-eval-harness-ts/files/agent.json +32 -0
  332. package/registry/families/agent-eval-harness-ts/files/judges/example.judge.ts +93 -0
  333. package/registry/families/agent-eval-harness-ts/files/package.json +21 -0
  334. package/registry/families/agent-eval-harness-ts/files/pnpm-workspace.yaml +3 -0
  335. package/registry/families/agent-eval-harness-ts/files/scenarios/.gitkeep +0 -0
  336. package/registry/families/agent-eval-harness-ts/files/scenarios/example.scenario.ts +34 -0
  337. package/registry/families/agent-eval-harness-ts/files/src/eval/campaign.ts +137 -0
  338. package/registry/families/agent-eval-harness-ts/files/src/eval/cli.ts +65 -0
  339. package/registry/families/agent-eval-harness-ts/files/src/eval/runner.ts +491 -0
  340. package/registry/families/agent-eval-harness-ts/files/src/eval/scorecard.ts +89 -0
  341. package/registry/families/agent-eval-harness-ts/files/tests/fixtures/scenarios-bad/missing-thesis.scenario.ts +14 -0
  342. package/registry/families/agent-eval-harness-ts/files/tests/fixtures/scenarios-good/example.scenario.ts +15 -0
  343. package/registry/families/agent-eval-harness-ts/files/tests/scenario-loader-import.test.ts +63 -0
  344. package/registry/families/agent-eval-harness-ts/files/tsconfig.json +24 -0
  345. package/registry/families/agent-eval-harness-ts/manifest.json +124 -0
  346. package/registry/families/agent-eval-ui-ts/files/.env.example +12 -0
  347. package/registry/families/agent-eval-ui-ts/files/README.md +66 -0
  348. package/registry/families/agent-eval-ui-ts/files/index.html +12 -0
  349. package/registry/families/agent-eval-ui-ts/files/package.json +26 -0
  350. package/registry/families/agent-eval-ui-ts/files/pnpm-workspace.yaml +3 -0
  351. package/registry/families/agent-eval-ui-ts/files/src/App.tsx +148 -0
  352. package/registry/families/agent-eval-ui-ts/files/src/components/RunDiff.tsx +91 -0
  353. package/registry/families/agent-eval-ui-ts/files/src/components/ScoreRadar.tsx +78 -0
  354. package/registry/families/agent-eval-ui-ts/files/src/components/TraceDetail.tsx +168 -0
  355. package/registry/families/agent-eval-ui-ts/files/src/components/TraceList.tsx +98 -0
  356. package/registry/families/agent-eval-ui-ts/files/src/lib/scoring.ts +124 -0
  357. package/registry/families/agent-eval-ui-ts/files/src/lib/traces.ts +301 -0
  358. package/registry/families/agent-eval-ui-ts/files/src/main.tsx +16 -0
  359. package/registry/families/agent-eval-ui-ts/files/src/styles.css +140 -0
  360. package/registry/families/agent-eval-ui-ts/files/tsconfig.json +24 -0
  361. package/registry/families/agent-eval-ui-ts/files/vite.config.ts +64 -0
  362. package/registry/families/agent-eval-ui-ts/manifest.json +102 -0
  363. package/registry/families/agent-marketplace-ui-ts/files/.env.example +19 -0
  364. package/registry/families/agent-marketplace-ui-ts/files/README.md +54 -0
  365. package/registry/families/agent-marketplace-ui-ts/files/next.config.js +18 -0
  366. package/registry/families/agent-marketplace-ui-ts/files/package.json +27 -0
  367. package/registry/families/agent-marketplace-ui-ts/files/pnpm-workspace.yaml +3 -0
  368. package/registry/families/agent-marketplace-ui-ts/files/src/app/bundles/[id]/page.tsx +78 -0
  369. package/registry/families/agent-marketplace-ui-ts/files/src/app/deploy/[id]/page.tsx +28 -0
  370. package/registry/families/agent-marketplace-ui-ts/files/src/app/layout.tsx +35 -0
  371. package/registry/families/agent-marketplace-ui-ts/files/src/app/page-client.tsx +26 -0
  372. package/registry/families/agent-marketplace-ui-ts/files/src/app/page.tsx +39 -0
  373. package/registry/families/agent-marketplace-ui-ts/files/src/components/AgentsMdPreview.tsx +132 -0
  374. package/registry/families/agent-marketplace-ui-ts/files/src/components/BundleCard.tsx +34 -0
  375. package/registry/families/agent-marketplace-ui-ts/files/src/components/BundleGrid.tsx +23 -0
  376. package/registry/families/agent-marketplace-ui-ts/files/src/components/DeployFlow.tsx +263 -0
  377. package/registry/families/agent-marketplace-ui-ts/files/src/components/SearchFilters.tsx +61 -0
  378. package/registry/families/agent-marketplace-ui-ts/files/src/lib/catalog.ts +208 -0
  379. package/registry/families/agent-marketplace-ui-ts/files/src/lib/search.ts +54 -0
  380. package/registry/families/agent-marketplace-ui-ts/files/src/styles/globals.css +244 -0
  381. package/registry/families/agent-marketplace-ui-ts/files/tsconfig.json +27 -0
  382. package/registry/families/agent-marketplace-ui-ts/manifest.json +105 -0
  383. package/registry/families/agent-research-harness-py/files/.github/workflows/research.yml +45 -0
  384. package/registry/families/agent-research-harness-py/files/AGENTS.md +87 -0
  385. package/registry/families/agent-research-harness-py/files/README.md +63 -0
  386. package/registry/families/agent-research-harness-py/files/agent.json +45 -0
  387. package/registry/families/agent-research-harness-py/files/hypotheses/README.md +45 -0
  388. package/registry/families/agent-research-harness-py/files/hypotheses/example.json +29 -0
  389. package/registry/families/agent-research-harness-py/files/hypotheses/queue.json +1 -0
  390. package/registry/families/agent-research-harness-py/files/pyproject.toml +33 -0
  391. package/registry/families/agent-research-harness-py/files/requirements.txt +6 -0
  392. package/registry/families/agent-research-harness-py/files/src/research/__init__.py +37 -0
  393. package/registry/families/agent-research-harness-py/files/src/research/__main__.py +6 -0
  394. package/registry/families/agent-research-harness-py/files/src/research/cli.py +146 -0
  395. package/registry/families/agent-research-harness-py/files/src/research/proposer.py +140 -0
  396. package/registry/families/agent-research-harness-py/files/src/research/runner.py +230 -0
  397. package/registry/families/agent-research-harness-py/files/src/research/sandbox_runner.py +180 -0
  398. package/registry/families/agent-research-harness-py/files/src/research/screener.py +55 -0
  399. package/registry/families/agent-research-harness-py/files/src/research/types.py +128 -0
  400. package/registry/families/agent-research-harness-py/files/src/research/validator.py +305 -0
  401. package/registry/families/agent-research-harness-py/files/tests/__init__.py +0 -0
  402. package/registry/families/agent-research-harness-py/files/tests/test_sandbox.py +181 -0
  403. package/registry/families/agent-research-harness-py/files/tests/test_screener.py +74 -0
  404. package/registry/families/agent-research-harness-py/files/tests/test_validator.py +250 -0
  405. package/registry/families/agent-research-harness-py/manifest.json +199 -0
  406. package/registry/families/agent-research-harness-ts/files/.github/workflows/research.yml +65 -0
  407. package/registry/families/agent-research-harness-ts/files/AGENTS.md +121 -0
  408. package/registry/families/agent-research-harness-ts/files/README.md +155 -0
  409. package/registry/families/agent-research-harness-ts/files/agent.json +31 -0
  410. package/registry/families/agent-research-harness-ts/files/hypotheses/README.md +79 -0
  411. package/registry/families/agent-research-harness-ts/files/hypotheses/example.json +18 -0
  412. package/registry/families/agent-research-harness-ts/files/hypotheses/queue.json +3 -0
  413. package/registry/families/agent-research-harness-ts/files/package.json +31 -0
  414. package/registry/families/agent-research-harness-ts/files/pnpm-workspace.yaml +3 -0
  415. package/registry/families/agent-research-harness-ts/files/src/research/cli.ts +160 -0
  416. package/registry/families/agent-research-harness-ts/files/src/research/proposer.ts +215 -0
  417. package/registry/families/agent-research-harness-ts/files/src/research/runner.ts +253 -0
  418. package/registry/families/agent-research-harness-ts/files/src/research/screener.ts +105 -0
  419. package/registry/families/agent-research-harness-ts/files/src/research/types.ts +143 -0
  420. package/registry/families/agent-research-harness-ts/files/src/research/validator.ts +310 -0
  421. package/registry/families/agent-research-harness-ts/files/tests/research-runner.test.ts +422 -0
  422. package/registry/families/agent-research-harness-ts/files/tests/screener.test.ts +93 -0
  423. package/registry/families/agent-research-harness-ts/files/tests/validator.test.ts +149 -0
  424. package/registry/families/agent-research-harness-ts/files/tsconfig.json +19 -0
  425. package/registry/families/agent-research-harness-ts/manifest.json +109 -0
  426. package/registry/families/agent-runtime-account-executive-ts/files/AGENTS.md +66 -0
  427. package/registry/families/agent-runtime-account-executive-ts/files/README.md +25 -0
  428. package/registry/families/agent-runtime-account-executive-ts/files/TOOLS.md +23 -0
  429. package/registry/families/agent-runtime-account-executive-ts/files/agent.json +40 -0
  430. package/registry/families/agent-runtime-account-executive-ts/files/methodology/deal-progression.md +40 -0
  431. package/registry/families/agent-runtime-account-executive-ts/files/methodology/index.json +25 -0
  432. package/registry/families/agent-runtime-account-executive-ts/files/methodology/opportunity-scoring.md +60 -0
  433. package/registry/families/agent-runtime-account-executive-ts/files/methodology/pipeline-review.md +35 -0
  434. package/registry/families/agent-runtime-account-executive-ts/manifest.json +151 -0
  435. package/registry/families/agent-runtime-architect-ts/files/AGENTS.md +66 -0
  436. package/registry/families/agent-runtime-architect-ts/files/README.md +29 -0
  437. package/registry/families/agent-runtime-architect-ts/files/TOOLS.md +23 -0
  438. package/registry/families/agent-runtime-architect-ts/files/agent.json +38 -0
  439. package/registry/families/agent-runtime-architect-ts/files/methodology/architecture-decision-record.md +157 -0
  440. package/registry/families/agent-runtime-architect-ts/files/methodology/index.json +25 -0
  441. package/registry/families/agent-runtime-architect-ts/files/methodology/system-design-canvas.md +33 -0
  442. package/registry/families/agent-runtime-architect-ts/files/methodology/trade-off-analysis.md +146 -0
  443. package/registry/families/agent-runtime-architect-ts/manifest.json +146 -0
  444. package/registry/families/agent-runtime-auditor-ts/files/AGENTS.md +99 -0
  445. package/registry/families/agent-runtime-auditor-ts/files/README.md +28 -0
  446. package/registry/families/agent-runtime-auditor-ts/files/agent.json +36 -0
  447. package/registry/families/agent-runtime-auditor-ts/files/methodology/control-walkthrough.md +80 -0
  448. package/registry/families/agent-runtime-auditor-ts/files/methodology/deficiency-write-up.md +101 -0
  449. package/registry/families/agent-runtime-auditor-ts/files/methodology/evidence-request-list.md +84 -0
  450. package/registry/families/agent-runtime-auditor-ts/files/methodology/index.json +22 -0
  451. package/registry/families/agent-runtime-auditor-ts/manifest.json +96 -0
  452. package/registry/families/agent-runtime-biology-research-ts/files/AGENTS.md +85 -0
  453. package/registry/families/agent-runtime-biology-research-ts/files/README.md +46 -0
  454. package/registry/families/agent-runtime-biology-research-ts/files/methodology/experimental-design.md +134 -0
  455. package/registry/families/agent-runtime-biology-research-ts/files/methodology/index.json +25 -0
  456. package/registry/families/agent-runtime-biology-research-ts/files/methodology/literature-search.md +105 -0
  457. package/registry/families/agent-runtime-biology-research-ts/files/methodology/sequence-analysis.md +109 -0
  458. package/registry/families/agent-runtime-biology-research-ts/manifest.json +89 -0
  459. package/registry/families/agent-runtime-business-partner-ts/files/AGENTS.md +129 -0
  460. package/registry/families/agent-runtime-business-partner-ts/files/README.md +94 -0
  461. package/registry/families/agent-runtime-business-partner-ts/files/TOOLS.md +32 -0
  462. package/registry/families/agent-runtime-business-partner-ts/files/agent.json +40 -0
  463. package/registry/families/agent-runtime-business-partner-ts/files/methodology/decision-journal.md +149 -0
  464. package/registry/families/agent-runtime-business-partner-ts/files/methodology/index.json +25 -0
  465. package/registry/families/agent-runtime-business-partner-ts/files/methodology/okr-design.md +130 -0
  466. package/registry/families/agent-runtime-business-partner-ts/files/methodology/weekly-review-protocol.md +103 -0
  467. package/registry/families/agent-runtime-business-partner-ts/manifest.json +194 -0
  468. package/registry/families/agent-runtime-career-coach-ts/files/AGENTS.md +62 -0
  469. package/registry/families/agent-runtime-career-coach-ts/files/README.md +39 -0
  470. package/registry/families/agent-runtime-career-coach-ts/files/TOOLS.md +23 -0
  471. package/registry/families/agent-runtime-career-coach-ts/files/agent.json +40 -0
  472. package/registry/families/agent-runtime-career-coach-ts/files/methodology/decision-framework.md +36 -0
  473. package/registry/families/agent-runtime-career-coach-ts/files/methodology/index.json +25 -0
  474. package/registry/families/agent-runtime-career-coach-ts/files/methodology/market-positioning.md +38 -0
  475. package/registry/families/agent-runtime-career-coach-ts/files/methodology/self-assessment.md +37 -0
  476. package/registry/families/agent-runtime-career-coach-ts/manifest.json +142 -0
  477. package/registry/families/agent-runtime-chef-ts/files/AGENTS.md +75 -0
  478. package/registry/families/agent-runtime-chef-ts/files/README.md +35 -0
  479. package/registry/families/agent-runtime-chef-ts/files/TOOLS.md +30 -0
  480. package/registry/families/agent-runtime-chef-ts/files/agent.json +38 -0
  481. package/registry/families/agent-runtime-chef-ts/files/methodology/index.json +25 -0
  482. package/registry/families/agent-runtime-chef-ts/files/methodology/meal-planning.md +90 -0
  483. package/registry/families/agent-runtime-chef-ts/files/methodology/recipe-development.md +96 -0
  484. package/registry/families/agent-runtime-chef-ts/files/methodology/technique-guidance.md +90 -0
  485. package/registry/families/agent-runtime-chef-ts/manifest.json +148 -0
  486. package/registry/families/agent-runtime-chemistry-research-ts/files/AGENTS.md +80 -0
  487. package/registry/families/agent-runtime-chemistry-research-ts/files/README.md +28 -0
  488. package/registry/families/agent-runtime-chemistry-research-ts/files/TOOLS.md +32 -0
  489. package/registry/families/agent-runtime-chemistry-research-ts/files/agent.json +39 -0
  490. package/registry/families/agent-runtime-chemistry-research-ts/files/methodology/compound-data-extraction.md +104 -0
  491. package/registry/families/agent-runtime-chemistry-research-ts/files/methodology/index.json +25 -0
  492. package/registry/families/agent-runtime-chemistry-research-ts/files/methodology/literature-search.md +101 -0
  493. package/registry/families/agent-runtime-chemistry-research-ts/files/methodology/reaction-planning.md +125 -0
  494. package/registry/families/agent-runtime-chemistry-research-ts/manifest.json +156 -0
  495. package/registry/families/agent-runtime-cmo-advisor-ts/files/AGENTS.md +86 -0
  496. package/registry/families/agent-runtime-cmo-advisor-ts/files/README.md +52 -0
  497. package/registry/families/agent-runtime-cmo-advisor-ts/files/TOOLS.md +23 -0
  498. package/registry/families/agent-runtime-cmo-advisor-ts/files/agent.json +38 -0
  499. package/registry/families/agent-runtime-cmo-advisor-ts/files/methodology/channel-experiment-design.md +101 -0
  500. package/registry/families/agent-runtime-cmo-advisor-ts/files/methodology/icp-deep-dive.md +99 -0
  501. package/registry/families/agent-runtime-cmo-advisor-ts/files/methodology/index.json +25 -0
  502. package/registry/families/agent-runtime-cmo-advisor-ts/files/methodology/positioning-canvas.md +88 -0
  503. package/registry/families/agent-runtime-cmo-advisor-ts/manifest.json +184 -0
  504. package/registry/families/agent-runtime-college-counselor-ts/files/AGENTS.md +66 -0
  505. package/registry/families/agent-runtime-college-counselor-ts/files/README.md +17 -0
  506. package/registry/families/agent-runtime-college-counselor-ts/files/TOOLS.md +23 -0
  507. package/registry/families/agent-runtime-college-counselor-ts/files/agent.json +39 -0
  508. package/registry/families/agent-runtime-college-counselor-ts/files/methodology/application-strategy.md +33 -0
  509. package/registry/families/agent-runtime-college-counselor-ts/files/methodology/essay-coaching.md +146 -0
  510. package/registry/families/agent-runtime-college-counselor-ts/files/methodology/financial-aid-navigation.md +153 -0
  511. package/registry/families/agent-runtime-college-counselor-ts/files/methodology/index.json +25 -0
  512. package/registry/families/agent-runtime-college-counselor-ts/manifest.json +144 -0
  513. package/registry/families/agent-runtime-cs-research-ts/files/AGENTS.md +62 -0
  514. package/registry/families/agent-runtime-cs-research-ts/files/README.md +35 -0
  515. package/registry/families/agent-runtime-cs-research-ts/files/TOOLS.md +33 -0
  516. package/registry/families/agent-runtime-cs-research-ts/files/agent.json +39 -0
  517. package/registry/families/agent-runtime-cs-research-ts/files/methodology/citation-graph-exploration.md +36 -0
  518. package/registry/families/agent-runtime-cs-research-ts/files/methodology/index.json +32 -0
  519. package/registry/families/agent-runtime-cs-research-ts/files/methodology/literature-survey.md +40 -0
  520. package/registry/families/agent-runtime-cs-research-ts/files/methodology/paper-summarization.md +120 -0
  521. package/registry/families/agent-runtime-cs-research-ts/files/methodology/research-question-formulation.md +132 -0
  522. package/registry/families/agent-runtime-cs-research-ts/manifest.json +157 -0
  523. package/registry/families/agent-runtime-cs-tutor-ts/files/AGENTS.md +58 -0
  524. package/registry/families/agent-runtime-cs-tutor-ts/files/README.md +29 -0
  525. package/registry/families/agent-runtime-cs-tutor-ts/files/TOOLS.md +23 -0
  526. package/registry/families/agent-runtime-cs-tutor-ts/files/agent.json +38 -0
  527. package/registry/families/agent-runtime-cs-tutor-ts/files/methodology/debug-code.md +33 -0
  528. package/registry/families/agent-runtime-cs-tutor-ts/files/methodology/explain-concept.md +34 -0
  529. package/registry/families/agent-runtime-cs-tutor-ts/files/methodology/generate-exercise.md +44 -0
  530. package/registry/families/agent-runtime-cs-tutor-ts/files/methodology/index.json +25 -0
  531. package/registry/families/agent-runtime-cs-tutor-ts/manifest.json +145 -0
  532. package/registry/families/agent-runtime-customer-success-ts/files/AGENTS.md +64 -0
  533. package/registry/families/agent-runtime-customer-success-ts/files/README.md +32 -0
  534. package/registry/families/agent-runtime-customer-success-ts/files/TOOLS.md +24 -0
  535. package/registry/families/agent-runtime-customer-success-ts/files/agent.json +40 -0
  536. package/registry/families/agent-runtime-customer-success-ts/files/methodology/escalation-triage.md +44 -0
  537. package/registry/families/agent-runtime-customer-success-ts/files/methodology/health-score.md +41 -0
  538. package/registry/families/agent-runtime-customer-success-ts/files/methodology/index.json +32 -0
  539. package/registry/families/agent-runtime-customer-success-ts/files/methodology/qbr-framework.md +39 -0
  540. package/registry/families/agent-runtime-customer-success-ts/files/methodology/retention-playbook.md +39 -0
  541. package/registry/families/agent-runtime-customer-success-ts/manifest.json +156 -0
  542. package/registry/families/agent-runtime-data-analyst-ts/files/AGENTS.md +62 -0
  543. package/registry/families/agent-runtime-data-analyst-ts/files/README.md +34 -0
  544. package/registry/families/agent-runtime-data-analyst-ts/files/TOOLS.md +24 -0
  545. package/registry/families/agent-runtime-data-analyst-ts/files/agent.json +40 -0
  546. package/registry/families/agent-runtime-data-analyst-ts/files/methodology/ad-hoc-query.md +39 -0
  547. package/registry/families/agent-runtime-data-analyst-ts/files/methodology/dashboard-design.md +127 -0
  548. package/registry/families/agent-runtime-data-analyst-ts/files/methodology/data-quality-audit.md +138 -0
  549. package/registry/families/agent-runtime-data-analyst-ts/files/methodology/exploratory-analysis.md +33 -0
  550. package/registry/families/agent-runtime-data-analyst-ts/files/methodology/index.json +32 -0
  551. package/registry/families/agent-runtime-data-analyst-ts/manifest.json +154 -0
  552. package/registry/families/agent-runtime-designer-ts/files/AGENTS.md +60 -0
  553. package/registry/families/agent-runtime-designer-ts/files/README.md +25 -0
  554. package/registry/families/agent-runtime-designer-ts/files/TOOLS.md +23 -0
  555. package/registry/families/agent-runtime-designer-ts/files/agent.json +39 -0
  556. package/registry/families/agent-runtime-designer-ts/files/methodology/design-critique.md +140 -0
  557. package/registry/families/agent-runtime-designer-ts/files/methodology/index.json +25 -0
  558. package/registry/families/agent-runtime-designer-ts/files/methodology/prototyping-guide.md +32 -0
  559. package/registry/families/agent-runtime-designer-ts/files/methodology/ux-strategy.md +39 -0
  560. package/registry/families/agent-runtime-designer-ts/manifest.json +143 -0
  561. package/registry/families/agent-runtime-devops-ts/files/AGENTS.md +66 -0
  562. package/registry/families/agent-runtime-devops-ts/files/README.md +30 -0
  563. package/registry/families/agent-runtime-devops-ts/files/TOOLS.md +23 -0
  564. package/registry/families/agent-runtime-devops-ts/files/agent.json +40 -0
  565. package/registry/families/agent-runtime-devops-ts/files/methodology/iac-review.md +39 -0
  566. package/registry/families/agent-runtime-devops-ts/files/methodology/incident-response-protocol.md +36 -0
  567. package/registry/families/agent-runtime-devops-ts/files/methodology/index.json +25 -0
  568. package/registry/families/agent-runtime-devops-ts/files/methodology/runbook-automation.md +32 -0
  569. package/registry/families/agent-runtime-devops-ts/manifest.json +149 -0
  570. package/registry/families/agent-runtime-doctor-ts/files/AGENTS.md +70 -0
  571. package/registry/families/agent-runtime-doctor-ts/files/README.md +33 -0
  572. package/registry/families/agent-runtime-doctor-ts/files/TOOLS.md +23 -0
  573. package/registry/families/agent-runtime-doctor-ts/files/agent.json +38 -0
  574. package/registry/families/agent-runtime-doctor-ts/files/methodology/index.json +25 -0
  575. package/registry/families/agent-runtime-doctor-ts/files/methodology/medical-reference.md +42 -0
  576. package/registry/families/agent-runtime-doctor-ts/files/methodology/symptom-explainer.md +34 -0
  577. package/registry/families/agent-runtime-doctor-ts/files/methodology/treatment-overview.md +36 -0
  578. package/registry/families/agent-runtime-doctor-ts/manifest.json +143 -0
  579. package/registry/families/agent-runtime-engineering-manager-ts/files/AGENTS.md +64 -0
  580. package/registry/families/agent-runtime-engineering-manager-ts/files/README.md +18 -0
  581. package/registry/families/agent-runtime-engineering-manager-ts/files/TOOLS.md +24 -0
  582. package/registry/families/agent-runtime-engineering-manager-ts/files/agent.json +41 -0
  583. package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/incident-postmortem.md +124 -0
  584. package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/index.json +32 -0
  585. package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/one-on-one-cadence.md +109 -0
  586. package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/sprint-planning.md +122 -0
  587. package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/tech-debt-triage.md +113 -0
  588. package/registry/families/agent-runtime-engineering-manager-ts/manifest.json +154 -0
  589. package/registry/families/agent-runtime-essay-coach-ts/files/AGENTS.md +62 -0
  590. package/registry/families/agent-runtime-essay-coach-ts/files/README.md +24 -0
  591. package/registry/families/agent-runtime-essay-coach-ts/files/TOOLS.md +23 -0
  592. package/registry/families/agent-runtime-essay-coach-ts/files/agent.json +38 -0
  593. package/registry/families/agent-runtime-essay-coach-ts/files/methodology/argument-structuring.md +30 -0
  594. package/registry/families/agent-runtime-essay-coach-ts/files/methodology/index.json +25 -0
  595. package/registry/families/agent-runtime-essay-coach-ts/files/methodology/revision-cycle.md +32 -0
  596. package/registry/families/agent-runtime-essay-coach-ts/files/methodology/thesis-development.md +38 -0
  597. package/registry/families/agent-runtime-essay-coach-ts/manifest.json +145 -0
  598. package/registry/families/agent-runtime-financial-analyst-ts/files/AGENTS.md +67 -0
  599. package/registry/families/agent-runtime-financial-analyst-ts/files/README.md +19 -0
  600. package/registry/families/agent-runtime-financial-analyst-ts/files/TOOLS.md +23 -0
  601. package/registry/families/agent-runtime-financial-analyst-ts/files/agent.json +38 -0
  602. package/registry/families/agent-runtime-financial-analyst-ts/files/methodology/equity-research.md +145 -0
  603. package/registry/families/agent-runtime-financial-analyst-ts/files/methodology/financial-modeling.md +132 -0
  604. package/registry/families/agent-runtime-financial-analyst-ts/files/methodology/index.json +25 -0
  605. package/registry/families/agent-runtime-financial-analyst-ts/files/methodology/investment-memo.md +146 -0
  606. package/registry/families/agent-runtime-financial-analyst-ts/manifest.json +145 -0
  607. package/registry/families/agent-runtime-fitness-coach-ts/files/AGENTS.md +141 -0
  608. package/registry/families/agent-runtime-fitness-coach-ts/files/README.md +76 -0
  609. package/registry/families/agent-runtime-fitness-coach-ts/files/TOOLS.md +30 -0
  610. package/registry/families/agent-runtime-fitness-coach-ts/files/agent.json +38 -0
  611. package/registry/families/agent-runtime-fitness-coach-ts/files/methodology/deload-prompt.md +106 -0
  612. package/registry/families/agent-runtime-fitness-coach-ts/files/methodology/form-check-protocol.md +136 -0
  613. package/registry/families/agent-runtime-fitness-coach-ts/files/methodology/index.json +26 -0
  614. package/registry/families/agent-runtime-fitness-coach-ts/files/methodology/weekly-program.md +115 -0
  615. package/registry/families/agent-runtime-fitness-coach-ts/manifest.json +193 -0
  616. package/registry/families/agent-runtime-friend-ts/files/AGENTS.md +82 -0
  617. package/registry/families/agent-runtime-friend-ts/files/README.md +32 -0
  618. package/registry/families/agent-runtime-friend-ts/files/agent.json +35 -0
  619. package/registry/families/agent-runtime-friend-ts/files/methodology/check-in-protocol.md +54 -0
  620. package/registry/families/agent-runtime-friend-ts/files/methodology/index.json +22 -0
  621. package/registry/families/agent-runtime-friend-ts/files/methodology/rapport-warm.md +50 -0
  622. package/registry/families/agent-runtime-friend-ts/files/methodology/topic-pivot.md +53 -0
  623. package/registry/families/agent-runtime-friend-ts/manifest.json +92 -0
  624. package/registry/families/agent-runtime-game-designer-ts/files/AGENTS.md +56 -0
  625. package/registry/families/agent-runtime-game-designer-ts/files/README.md +32 -0
  626. package/registry/families/agent-runtime-game-designer-ts/files/TOOLS.md +23 -0
  627. package/registry/families/agent-runtime-game-designer-ts/files/agent.json +38 -0
  628. package/registry/families/agent-runtime-game-designer-ts/files/methodology/index.json +25 -0
  629. package/registry/families/agent-runtime-game-designer-ts/files/methodology/mechanic-design.md +110 -0
  630. package/registry/families/agent-runtime-game-designer-ts/files/methodology/narrative-system.md +135 -0
  631. package/registry/families/agent-runtime-game-designer-ts/files/methodology/player-loop.md +143 -0
  632. package/registry/families/agent-runtime-game-designer-ts/manifest.json +150 -0
  633. package/registry/families/agent-runtime-grant-writer-ts/files/AGENTS.md +60 -0
  634. package/registry/families/agent-runtime-grant-writer-ts/files/README.md +17 -0
  635. package/registry/families/agent-runtime-grant-writer-ts/files/TOOLS.md +23 -0
  636. package/registry/families/agent-runtime-grant-writer-ts/files/agent.json +38 -0
  637. package/registry/families/agent-runtime-grant-writer-ts/files/methodology/deadline-tracker.md +140 -0
  638. package/registry/families/agent-runtime-grant-writer-ts/files/methodology/grant-proposal-canvas.md +37 -0
  639. package/registry/families/agent-runtime-grant-writer-ts/files/methodology/index.json +25 -0
  640. package/registry/families/agent-runtime-grant-writer-ts/files/methodology/reporting-template.md +30 -0
  641. package/registry/families/agent-runtime-grant-writer-ts/manifest.json +148 -0
  642. package/registry/families/agent-runtime-history-tutor-ts/files/AGENTS.md +59 -0
  643. package/registry/families/agent-runtime-history-tutor-ts/files/README.md +22 -0
  644. package/registry/families/agent-runtime-history-tutor-ts/files/TOOLS.md +23 -0
  645. package/registry/families/agent-runtime-history-tutor-ts/files/agent.json +39 -0
  646. package/registry/families/agent-runtime-history-tutor-ts/files/methodology/historiographic-debate.md +123 -0
  647. package/registry/families/agent-runtime-history-tutor-ts/files/methodology/index.json +25 -0
  648. package/registry/families/agent-runtime-history-tutor-ts/files/methodology/source-analysis.md +117 -0
  649. package/registry/families/agent-runtime-history-tutor-ts/files/methodology/timeline-reasoning.md +134 -0
  650. package/registry/families/agent-runtime-history-tutor-ts/manifest.json +145 -0
  651. package/registry/families/agent-runtime-illustrator-ts/files/AGENTS.md +64 -0
  652. package/registry/families/agent-runtime-illustrator-ts/files/README.md +29 -0
  653. package/registry/families/agent-runtime-illustrator-ts/files/TOOLS.md +23 -0
  654. package/registry/families/agent-runtime-illustrator-ts/files/agent.json +39 -0
  655. package/registry/families/agent-runtime-illustrator-ts/files/methodology/art-direction-canvas.md +31 -0
  656. package/registry/families/agent-runtime-illustrator-ts/files/methodology/composition-guide.md +36 -0
  657. package/registry/families/agent-runtime-illustrator-ts/files/methodology/index.json +25 -0
  658. package/registry/families/agent-runtime-illustrator-ts/files/methodology/style-development.md +39 -0
  659. package/registry/families/agent-runtime-illustrator-ts/manifest.json +146 -0
  660. package/registry/families/agent-runtime-language-tutor-ts/files/AGENTS.md +111 -0
  661. package/registry/families/agent-runtime-language-tutor-ts/files/README.md +101 -0
  662. package/registry/families/agent-runtime-language-tutor-ts/files/TOOLS.md +30 -0
  663. package/registry/families/agent-runtime-language-tutor-ts/files/agent.json +38 -0
  664. package/registry/families/agent-runtime-language-tutor-ts/files/methodology/daily-conversation-prompt.md +103 -0
  665. package/registry/families/agent-runtime-language-tutor-ts/files/methodology/index.json +27 -0
  666. package/registry/families/agent-runtime-language-tutor-ts/files/methodology/shadowing-protocol.md +102 -0
  667. package/registry/families/agent-runtime-language-tutor-ts/files/methodology/vocabulary-drill.md +121 -0
  668. package/registry/families/agent-runtime-language-tutor-ts/manifest.json +187 -0
  669. package/registry/families/agent-runtime-legal-counsel-ts/files/AGENTS.md +114 -0
  670. package/registry/families/agent-runtime-legal-counsel-ts/files/README.md +77 -0
  671. package/registry/families/agent-runtime-legal-counsel-ts/files/TOOLS.md +24 -0
  672. package/registry/families/agent-runtime-legal-counsel-ts/files/agent.json +38 -0
  673. package/registry/families/agent-runtime-legal-counsel-ts/files/methodology/contract-redline-protocol.md +111 -0
  674. package/registry/families/agent-runtime-legal-counsel-ts/files/methodology/index.json +25 -0
  675. package/registry/families/agent-runtime-legal-counsel-ts/files/methodology/msa-checklist.md +190 -0
  676. package/registry/families/agent-runtime-legal-counsel-ts/files/methodology/nda-checklist.md +122 -0
  677. package/registry/families/agent-runtime-legal-counsel-ts/manifest.json +178 -0
  678. package/registry/families/agent-runtime-math-research-ts/files/AGENTS.md +67 -0
  679. package/registry/families/agent-runtime-math-research-ts/files/README.md +18 -0
  680. package/registry/families/agent-runtime-math-research-ts/files/TOOLS.md +32 -0
  681. package/registry/families/agent-runtime-math-research-ts/files/agent.json +39 -0
  682. package/registry/families/agent-runtime-math-research-ts/files/methodology/index.json +25 -0
  683. package/registry/families/agent-runtime-math-research-ts/files/methodology/literature-review.md +106 -0
  684. package/registry/families/agent-runtime-math-research-ts/files/methodology/mathematical-reasoning.md +126 -0
  685. package/registry/families/agent-runtime-math-research-ts/files/methodology/proof-verification.md +140 -0
  686. package/registry/families/agent-runtime-math-research-ts/manifest.json +150 -0
  687. package/registry/families/agent-runtime-math-tutor-ts/files/AGENTS.md +70 -0
  688. package/registry/families/agent-runtime-math-tutor-ts/files/README.md +37 -0
  689. package/registry/families/agent-runtime-math-tutor-ts/files/TOOLS.md +23 -0
  690. package/registry/families/agent-runtime-math-tutor-ts/files/agent.json +38 -0
  691. package/registry/families/agent-runtime-math-tutor-ts/files/methodology/concept-explanation.md +67 -0
  692. package/registry/families/agent-runtime-math-tutor-ts/files/methodology/index.json +25 -0
  693. package/registry/families/agent-runtime-math-tutor-ts/files/methodology/problem-generation.md +47 -0
  694. package/registry/families/agent-runtime-math-tutor-ts/files/methodology/step-by-step-solution.md +58 -0
  695. package/registry/families/agent-runtime-math-tutor-ts/manifest.json +143 -0
  696. package/registry/families/agent-runtime-mediator-ts/files/AGENTS.md +75 -0
  697. package/registry/families/agent-runtime-mediator-ts/files/README.md +30 -0
  698. package/registry/families/agent-runtime-mediator-ts/files/TOOLS.md +30 -0
  699. package/registry/families/agent-runtime-mediator-ts/files/agent.json +38 -0
  700. package/registry/families/agent-runtime-mediator-ts/files/methodology/agreement-drafting.md +36 -0
  701. package/registry/families/agent-runtime-mediator-ts/files/methodology/de-escalation-protocol.md +41 -0
  702. package/registry/families/agent-runtime-mediator-ts/files/methodology/index.json +26 -0
  703. package/registry/families/agent-runtime-mediator-ts/files/methodology/structured-dialogue.md +42 -0
  704. package/registry/families/agent-runtime-mediator-ts/manifest.json +147 -0
  705. package/registry/families/agent-runtime-meditation-coach-ts/files/AGENTS.md +74 -0
  706. package/registry/families/agent-runtime-meditation-coach-ts/files/README.md +26 -0
  707. package/registry/families/agent-runtime-meditation-coach-ts/files/TOOLS.md +30 -0
  708. package/registry/families/agent-runtime-meditation-coach-ts/files/agent.json +38 -0
  709. package/registry/families/agent-runtime-meditation-coach-ts/files/methodology/guided-session.md +33 -0
  710. package/registry/families/agent-runtime-meditation-coach-ts/files/methodology/index.json +26 -0
  711. package/registry/families/agent-runtime-meditation-coach-ts/files/methodology/mindfulness-check.md +139 -0
  712. package/registry/families/agent-runtime-meditation-coach-ts/files/methodology/technique-cue.md +141 -0
  713. package/registry/families/agent-runtime-meditation-coach-ts/manifest.json +148 -0
  714. package/registry/families/agent-runtime-ml-research-ts/files/AGENTS.md +71 -0
  715. package/registry/families/agent-runtime-ml-research-ts/files/README.md +19 -0
  716. package/registry/families/agent-runtime-ml-research-ts/files/TOOLS.md +32 -0
  717. package/registry/families/agent-runtime-ml-research-ts/files/agent.json +39 -0
  718. package/registry/families/agent-runtime-ml-research-ts/files/methodology/experiment-design.md +141 -0
  719. package/registry/families/agent-runtime-ml-research-ts/files/methodology/index.json +25 -0
  720. package/registry/families/agent-runtime-ml-research-ts/files/methodology/literature-review.md +115 -0
  721. package/registry/families/agent-runtime-ml-research-ts/files/methodology/result-interpretation.md +141 -0
  722. package/registry/families/agent-runtime-ml-research-ts/manifest.json +149 -0
  723. package/registry/families/agent-runtime-music-producer-ts/files/AGENTS.md +55 -0
  724. package/registry/families/agent-runtime-music-producer-ts/files/README.md +60 -0
  725. package/registry/families/agent-runtime-music-producer-ts/files/TOOLS.md +40 -0
  726. package/registry/families/agent-runtime-music-producer-ts/files/agent.json +38 -0
  727. package/registry/families/agent-runtime-music-producer-ts/files/methodology/arrangement-review.md +83 -0
  728. package/registry/families/agent-runtime-music-producer-ts/files/methodology/index.json +29 -0
  729. package/registry/families/agent-runtime-music-producer-ts/files/methodology/listening-prompt.md +78 -0
  730. package/registry/families/agent-runtime-music-producer-ts/files/methodology/mix-feedback.md +74 -0
  731. package/registry/families/agent-runtime-music-producer-ts/manifest.json +160 -0
  732. package/registry/families/agent-runtime-novelist-coach-ts/files/AGENTS.md +109 -0
  733. package/registry/families/agent-runtime-novelist-coach-ts/files/README.md +76 -0
  734. package/registry/families/agent-runtime-novelist-coach-ts/files/TOOLS.md +23 -0
  735. package/registry/families/agent-runtime-novelist-coach-ts/files/agent.json +38 -0
  736. package/registry/families/agent-runtime-novelist-coach-ts/files/methodology/beat-sheet-review.md +136 -0
  737. package/registry/families/agent-runtime-novelist-coach-ts/files/methodology/index.json +25 -0
  738. package/registry/families/agent-runtime-novelist-coach-ts/files/methodology/scene-card-protocol.md +104 -0
  739. package/registry/families/agent-runtime-novelist-coach-ts/files/methodology/voice-audit.md +123 -0
  740. package/registry/families/agent-runtime-novelist-coach-ts/manifest.json +194 -0
  741. package/registry/families/agent-runtime-nutritionist-ts/files/AGENTS.md +73 -0
  742. package/registry/families/agent-runtime-nutritionist-ts/files/README.md +33 -0
  743. package/registry/families/agent-runtime-nutritionist-ts/files/TOOLS.md +23 -0
  744. package/registry/families/agent-runtime-nutritionist-ts/files/agent.json +40 -0
  745. package/registry/families/agent-runtime-nutritionist-ts/files/methodology/dietary-assessment.md +153 -0
  746. package/registry/families/agent-runtime-nutritionist-ts/files/methodology/index.json +25 -0
  747. package/registry/families/agent-runtime-nutritionist-ts/files/methodology/macro-targets.md +171 -0
  748. package/registry/families/agent-runtime-nutritionist-ts/files/methodology/meal-plan.md +33 -0
  749. package/registry/families/agent-runtime-nutritionist-ts/manifest.json +145 -0
  750. package/registry/families/agent-runtime-pentester-ts/files/AGENTS.md +66 -0
  751. package/registry/families/agent-runtime-pentester-ts/files/README.md +24 -0
  752. package/registry/families/agent-runtime-pentester-ts/files/TOOLS.md +23 -0
  753. package/registry/families/agent-runtime-pentester-ts/files/agent.json +39 -0
  754. package/registry/families/agent-runtime-pentester-ts/files/methodology/ctf-coaching.md +34 -0
  755. package/registry/families/agent-runtime-pentester-ts/files/methodology/exploit-analysis.md +31 -0
  756. package/registry/families/agent-runtime-pentester-ts/files/methodology/index.json +25 -0
  757. package/registry/families/agent-runtime-pentester-ts/files/methodology/vulnerability-research.md +35 -0
  758. package/registry/families/agent-runtime-pentester-ts/manifest.json +152 -0
  759. package/registry/families/agent-runtime-pharmacist-ts/files/AGENTS.md +77 -0
  760. package/registry/families/agent-runtime-pharmacist-ts/files/README.md +26 -0
  761. package/registry/families/agent-runtime-pharmacist-ts/files/TOOLS.md +24 -0
  762. package/registry/families/agent-runtime-pharmacist-ts/files/agent.json +39 -0
  763. package/registry/families/agent-runtime-pharmacist-ts/files/methodology/adverse-effect-monitoring.md +155 -0
  764. package/registry/families/agent-runtime-pharmacist-ts/files/methodology/dosing-guidance.md +41 -0
  765. package/registry/families/agent-runtime-pharmacist-ts/files/methodology/drug-information.md +47 -0
  766. package/registry/families/agent-runtime-pharmacist-ts/files/methodology/drug-interaction-check.md +35 -0
  767. package/registry/families/agent-runtime-pharmacist-ts/files/methodology/index.json +32 -0
  768. package/registry/families/agent-runtime-pharmacist-ts/manifest.json +156 -0
  769. package/registry/families/agent-runtime-photographer-ts/files/AGENTS.md +55 -0
  770. package/registry/families/agent-runtime-photographer-ts/files/README.md +35 -0
  771. package/registry/families/agent-runtime-photographer-ts/files/TOOLS.md +23 -0
  772. package/registry/families/agent-runtime-photographer-ts/files/agent.json +40 -0
  773. package/registry/families/agent-runtime-photographer-ts/files/methodology/composition-canvas.md +36 -0
  774. package/registry/families/agent-runtime-photographer-ts/files/methodology/index.json +25 -0
  775. package/registry/families/agent-runtime-photographer-ts/files/methodology/lighting-setup-design.md +34 -0
  776. package/registry/families/agent-runtime-photographer-ts/files/methodology/post-production-workflow.md +32 -0
  777. package/registry/families/agent-runtime-photographer-ts/manifest.json +148 -0
  778. package/registry/families/agent-runtime-physics-research-ts/files/AGENTS.md +69 -0
  779. package/registry/families/agent-runtime-physics-research-ts/files/README.md +26 -0
  780. package/registry/families/agent-runtime-physics-research-ts/files/agent.json +36 -0
  781. package/registry/families/agent-runtime-physics-research-ts/files/methodology/citation-analysis.md +110 -0
  782. package/registry/families/agent-runtime-physics-research-ts/files/methodology/experimental-design.md +129 -0
  783. package/registry/families/agent-runtime-physics-research-ts/files/methodology/index.json +25 -0
  784. package/registry/families/agent-runtime-physics-research-ts/files/methodology/literature-search.md +113 -0
  785. package/registry/families/agent-runtime-physics-research-ts/files/templates/citation-analysis.md +37 -0
  786. package/registry/families/agent-runtime-physics-research-ts/files/templates/experimental-design.md +45 -0
  787. package/registry/families/agent-runtime-physics-research-ts/files/templates/index.json +25 -0
  788. package/registry/families/agent-runtime-physics-research-ts/files/templates/literature-search.md +32 -0
  789. package/registry/families/agent-runtime-physics-research-ts/files/wrangler.toml +22 -0
  790. package/registry/families/agent-runtime-physics-research-ts/manifest.json +162 -0
  791. package/registry/families/agent-runtime-product-manager-ts/files/AGENTS.md +58 -0
  792. package/registry/families/agent-runtime-product-manager-ts/files/README.md +30 -0
  793. package/registry/families/agent-runtime-product-manager-ts/files/TOOLS.md +23 -0
  794. package/registry/families/agent-runtime-product-manager-ts/files/agent.json +39 -0
  795. package/registry/families/agent-runtime-product-manager-ts/files/methodology/discovery-cycle.md +38 -0
  796. package/registry/families/agent-runtime-product-manager-ts/files/methodology/index.json +25 -0
  797. package/registry/families/agent-runtime-product-manager-ts/files/methodology/prioritization-framework.md +41 -0
  798. package/registry/families/agent-runtime-product-manager-ts/files/methodology/product-strategy-canvas.md +42 -0
  799. package/registry/families/agent-runtime-product-manager-ts/manifest.json +144 -0
  800. package/registry/families/agent-runtime-real-estate-ts/files/AGENTS.md +162 -0
  801. package/registry/families/agent-runtime-real-estate-ts/files/README.md +80 -0
  802. package/registry/families/agent-runtime-real-estate-ts/files/TOOLS.md +23 -0
  803. package/registry/families/agent-runtime-real-estate-ts/files/agent.json +37 -0
  804. package/registry/families/agent-runtime-real-estate-ts/files/methodology/cap-rate-worksheet.md +180 -0
  805. package/registry/families/agent-runtime-real-estate-ts/files/methodology/comp-analysis.md +137 -0
  806. package/registry/families/agent-runtime-real-estate-ts/files/methodology/index.json +25 -0
  807. package/registry/families/agent-runtime-real-estate-ts/files/methodology/offer-strategy.md +169 -0
  808. package/registry/families/agent-runtime-real-estate-ts/manifest.json +178 -0
  809. package/registry/families/agent-runtime-recruiter-ts/files/AGENTS.md +128 -0
  810. package/registry/families/agent-runtime-recruiter-ts/files/README.md +82 -0
  811. package/registry/families/agent-runtime-recruiter-ts/files/TOOLS.md +23 -0
  812. package/registry/families/agent-runtime-recruiter-ts/files/agent.json +38 -0
  813. package/registry/families/agent-runtime-recruiter-ts/files/methodology/index.json +25 -0
  814. package/registry/families/agent-runtime-recruiter-ts/files/methodology/interview-loop-design.md +135 -0
  815. package/registry/families/agent-runtime-recruiter-ts/files/methodology/jd-drafting-protocol.md +124 -0
  816. package/registry/families/agent-runtime-recruiter-ts/files/methodology/screening-rubric.md +118 -0
  817. package/registry/families/agent-runtime-recruiter-ts/manifest.json +192 -0
  818. package/registry/families/agent-runtime-relationship-coach-ts/files/AGENTS.md +185 -0
  819. package/registry/families/agent-runtime-relationship-coach-ts/files/README.md +90 -0
  820. package/registry/families/agent-runtime-relationship-coach-ts/files/TOOLS.md +30 -0
  821. package/registry/families/agent-runtime-relationship-coach-ts/files/agent.json +39 -0
  822. package/registry/families/agent-runtime-relationship-coach-ts/files/methodology/check-in-protocol.md +129 -0
  823. package/registry/families/agent-runtime-relationship-coach-ts/files/methodology/communication-tool-practice.md +175 -0
  824. package/registry/families/agent-runtime-relationship-coach-ts/files/methodology/conflict-pattern-naming.md +193 -0
  825. package/registry/families/agent-runtime-relationship-coach-ts/files/methodology/index.json +25 -0
  826. package/registry/families/agent-runtime-relationship-coach-ts/manifest.json +224 -0
  827. package/registry/families/agent-runtime-research/files/AGENTS.md +56 -0
  828. package/registry/families/agent-runtime-research/files/README.md +45 -0
  829. package/registry/families/agent-runtime-research/files/TOOLS.md +22 -0
  830. package/registry/families/agent-runtime-research/files/agent.json +37 -0
  831. package/registry/families/agent-runtime-research/files/methodology/index.json +18 -0
  832. package/registry/families/agent-runtime-research/files/methodology/literature-survey.md +59 -0
  833. package/registry/families/agent-runtime-research/files/methodology/proposal-drafting.md +63 -0
  834. package/registry/families/agent-runtime-research/manifest.json +190 -0
  835. package/registry/families/agent-runtime-sales-engineer-ts/files/AGENTS.md +63 -0
  836. package/registry/families/agent-runtime-sales-engineer-ts/files/README.md +37 -0
  837. package/registry/families/agent-runtime-sales-engineer-ts/files/TOOLS.md +23 -0
  838. package/registry/families/agent-runtime-sales-engineer-ts/files/agent.json +39 -0
  839. package/registry/families/agent-runtime-sales-engineer-ts/files/methodology/competitive-technical-positioning.md +39 -0
  840. package/registry/families/agent-runtime-sales-engineer-ts/files/methodology/demo-script.md +36 -0
  841. package/registry/families/agent-runtime-sales-engineer-ts/files/methodology/index.json +25 -0
  842. package/registry/families/agent-runtime-sales-engineer-ts/files/methodology/poc-design.md +43 -0
  843. package/registry/families/agent-runtime-sales-engineer-ts/manifest.json +148 -0
  844. package/registry/families/agent-runtime-screenwriter-ts/files/AGENTS.md +69 -0
  845. package/registry/families/agent-runtime-screenwriter-ts/files/README.md +25 -0
  846. package/registry/families/agent-runtime-screenwriter-ts/files/agent.json +34 -0
  847. package/registry/families/agent-runtime-screenwriter-ts/files/methodology/beat-out-protocol.md +58 -0
  848. package/registry/families/agent-runtime-screenwriter-ts/files/methodology/index.json +22 -0
  849. package/registry/families/agent-runtime-screenwriter-ts/files/methodology/logline-sharpener.md +52 -0
  850. package/registry/families/agent-runtime-screenwriter-ts/files/methodology/scene-rewrite-pass.md +61 -0
  851. package/registry/families/agent-runtime-screenwriter-ts/manifest.json +90 -0
  852. package/registry/families/agent-runtime-security-engineer-ts/files/AGENTS.md +70 -0
  853. package/registry/families/agent-runtime-security-engineer-ts/files/README.md +24 -0
  854. package/registry/families/agent-runtime-security-engineer-ts/files/TOOLS.md +23 -0
  855. package/registry/families/agent-runtime-security-engineer-ts/files/agent.json +39 -0
  856. package/registry/families/agent-runtime-security-engineer-ts/files/methodology/index.json +25 -0
  857. package/registry/families/agent-runtime-security-engineer-ts/files/methodology/security-architecture-review.md +138 -0
  858. package/registry/families/agent-runtime-security-engineer-ts/files/methodology/threat-modeling.md +105 -0
  859. package/registry/families/agent-runtime-security-engineer-ts/files/methodology/vulnerability-triage.md +121 -0
  860. package/registry/families/agent-runtime-security-engineer-ts/manifest.json +144 -0
  861. package/registry/families/agent-runtime-tax-ts/files/AGENTS.md +79 -0
  862. package/registry/families/agent-runtime-tax-ts/files/README.md +49 -0
  863. package/registry/families/agent-runtime-tax-ts/files/TOOLS.md +24 -0
  864. package/registry/families/agent-runtime-tax-ts/files/agent.json +38 -0
  865. package/registry/families/agent-runtime-tax-ts/files/methodology/deadlines.md +91 -0
  866. package/registry/families/agent-runtime-tax-ts/files/methodology/filing-1040.md +119 -0
  867. package/registry/families/agent-runtime-tax-ts/files/methodology/index.json +27 -0
  868. package/registry/families/agent-runtime-tax-ts/files/methodology/refusal-protocol.md +98 -0
  869. package/registry/families/agent-runtime-tax-ts/manifest.json +185 -0
  870. package/registry/families/agent-runtime-therapist-ts/files/AGENTS.md +82 -0
  871. package/registry/families/agent-runtime-therapist-ts/files/README.md +51 -0
  872. package/registry/families/agent-runtime-therapist-ts/files/TOOLS.md +31 -0
  873. package/registry/families/agent-runtime-therapist-ts/files/agent.json +38 -0
  874. package/registry/families/agent-runtime-therapist-ts/files/methodology/escalation-protocol.md +146 -0
  875. package/registry/families/agent-runtime-therapist-ts/files/methodology/index.json +35 -0
  876. package/registry/families/agent-runtime-therapist-ts/files/methodology/listening-protocol.md +76 -0
  877. package/registry/families/agent-runtime-therapist-ts/files/methodology/screener-gad7.md +119 -0
  878. package/registry/families/agent-runtime-therapist-ts/files/methodology/screener-phq9.md +126 -0
  879. package/registry/families/agent-runtime-therapist-ts/manifest.json +197 -0
  880. package/registry/families/agent-runtime-travel-planner-ts/files/AGENTS.md +76 -0
  881. package/registry/families/agent-runtime-travel-planner-ts/files/README.md +15 -0
  882. package/registry/families/agent-runtime-travel-planner-ts/files/TOOLS.md +23 -0
  883. package/registry/families/agent-runtime-travel-planner-ts/files/agent.json +38 -0
  884. package/registry/families/agent-runtime-travel-planner-ts/files/methodology/budget-optimization.md +42 -0
  885. package/registry/families/agent-runtime-travel-planner-ts/files/methodology/index.json +25 -0
  886. package/registry/families/agent-runtime-travel-planner-ts/files/methodology/itinerary-design.md +38 -0
  887. package/registry/families/agent-runtime-travel-planner-ts/files/methodology/logistics-check.md +54 -0
  888. package/registry/families/agent-runtime-travel-planner-ts/manifest.json +130 -0
  889. package/registry/families/agent-runtime-veterinarian-ts/files/AGENTS.md +136 -0
  890. package/registry/families/agent-runtime-veterinarian-ts/files/README.md +94 -0
  891. package/registry/families/agent-runtime-veterinarian-ts/files/TOOLS.md +24 -0
  892. package/registry/families/agent-runtime-veterinarian-ts/files/agent.json +38 -0
  893. package/registry/families/agent-runtime-veterinarian-ts/files/methodology/emergency-triage.md +147 -0
  894. package/registry/families/agent-runtime-veterinarian-ts/files/methodology/husbandry-reference.md +111 -0
  895. package/registry/families/agent-runtime-veterinarian-ts/files/methodology/index.json +28 -0
  896. package/registry/families/agent-runtime-veterinarian-ts/files/methodology/vaccination-framework.md +119 -0
  897. package/registry/families/agent-runtime-veterinarian-ts/manifest.json +183 -0
  898. package/registry/families/agent-runtime-wealth-manager-ts/files/AGENTS.md +123 -0
  899. package/registry/families/agent-runtime-wealth-manager-ts/files/README.md +75 -0
  900. package/registry/families/agent-runtime-wealth-manager-ts/files/TOOLS.md +24 -0
  901. package/registry/families/agent-runtime-wealth-manager-ts/files/agent.json +38 -0
  902. package/registry/families/agent-runtime-wealth-manager-ts/files/methodology/allocation-review.md +147 -0
  903. package/registry/families/agent-runtime-wealth-manager-ts/files/methodology/index.json +25 -0
  904. package/registry/families/agent-runtime-wealth-manager-ts/files/methodology/retirement-projection.md +186 -0
  905. package/registry/families/agent-runtime-wealth-manager-ts/files/methodology/tax-loss-harvest-protocol.md +178 -0
  906. package/registry/families/agent-runtime-wealth-manager-ts/manifest.json +194 -0
  907. package/registry/families/agent-service-ts/files/package.json +3 -1
  908. package/registry/families/agent-swarm-ts/files/package.json +3 -1
  909. package/registry/families/agent-swarm-ts/manifest.json +1 -1
  910. package/registry/families/agent-with-ui-ts/files/README.md +107 -0
  911. package/registry/families/agent-with-ui-ts/files/index.html +12 -0
  912. package/registry/families/agent-with-ui-ts/files/package.json +27 -0
  913. package/registry/families/agent-with-ui-ts/files/pnpm-workspace.yaml +3 -0
  914. package/registry/families/agent-with-ui-ts/files/postcss.config.cjs +6 -0
  915. package/registry/families/agent-with-ui-ts/files/src/App.tsx +147 -0
  916. package/registry/families/agent-with-ui-ts/files/src/index.css +12 -0
  917. package/registry/families/agent-with-ui-ts/files/src/main.tsx +13 -0
  918. package/registry/families/agent-with-ui-ts/files/tailwind.config.cjs +8 -0
  919. package/registry/families/agent-with-ui-ts/files/tsconfig.json +24 -0
  920. package/registry/families/agent-with-ui-ts/files/vite.config.ts +15 -0
  921. package/registry/families/agent-with-ui-ts/manifest.json +82 -0
  922. package/registry/families/angular-ts/files/package.json +3 -1
  923. package/registry/families/api-service/files/package.json +4 -0
  924. package/registry/families/arkworks-prover/files/Cargo.toml +1 -1
  925. package/registry/families/astro-static/files/package.json +3 -1
  926. package/registry/families/browser-extension-ts/files/package.json +4 -0
  927. package/registry/families/bun-http/files/package.json +3 -1
  928. package/registry/families/cli-ts/files/package.json +3 -1
  929. package/registry/families/cloudflare-worker-ts/files/package.json +3 -1
  930. package/registry/families/crm-backend/files/package.json +10 -2
  931. package/registry/families/ecommerce-headless/files/package.json +10 -2
  932. package/registry/families/electron-desktop-ts/files/package.json +3 -1
  933. package/registry/families/electron-native-os/files/package.json +3 -1
  934. package/registry/families/eleventy-static/files/package.json +3 -1
  935. package/registry/families/evm-infra-ts/files/package.json +4 -0
  936. package/registry/families/expo-react-native-ts/files/package.json +3 -1
  937. package/registry/families/expo-react-native-ts/manifest.json +17 -2
  938. package/registry/families/expo-rn-rich/files/package.json +3 -1
  939. package/registry/families/fhenix-contracts/files/package.json +4 -0
  940. package/registry/families/fhenix-contracts/manifest.json +53 -0
  941. package/registry/families/fhenix-foundry/manifest.json +84 -0
  942. package/registry/families/fhevm-contracts/files/package.json +4 -0
  943. package/registry/families/fhevm-contracts/manifest.json +53 -0
  944. package/registry/families/fintech-ledger-backend/files/package.json +3 -1
  945. package/registry/families/forge-contracts/manifest.json +3 -0
  946. package/registry/families/fraud-ops-console/files/package.json +3 -1
  947. package/registry/families/frontend-static/files/package.json +3 -1
  948. package/registry/families/fullstack-ts/files/package.json +3 -1
  949. package/registry/families/gdpr-compliance-pack/files/package.json +4 -0
  950. package/registry/families/hardhat-contracts/files/package.json +3 -1
  951. package/registry/families/healthcare-hipaa-backend/files/package.json +3 -1
  952. package/registry/families/hipaa-compliance-pack/files/package.json +4 -0
  953. package/registry/families/hls-origin/files/package.json +3 -1
  954. package/registry/families/k12-edtech/files/package.json +10 -2
  955. package/registry/families/kyc-onboarding/files/package.json +4 -0
  956. package/registry/families/legal-case-mgmt/files/package.json +10 -2
  957. package/registry/families/livekit-sfu/files/package.json +3 -1
  958. package/registry/families/mcp-server-ts/files/package.json +5 -1
  959. package/registry/families/multi-agent-creative-studio-ts/files/AGENTS.md +367 -0
  960. package/registry/families/multi-agent-creative-studio-ts/files/README.md +86 -0
  961. package/registry/families/multi-agent-creative-studio-ts/files/agent.json +71 -0
  962. package/registry/families/multi-agent-creative-studio-ts/files/agents.json +70 -0
  963. package/registry/families/multi-agent-creative-studio-ts/files/roles/illustrator/AGENTS.md +168 -0
  964. package/registry/families/multi-agent-creative-studio-ts/files/roles/illustrator/methodology/color-palette-design.md +180 -0
  965. package/registry/families/multi-agent-creative-studio-ts/files/roles/illustrator/methodology/composition-canvas.md +145 -0
  966. package/registry/families/multi-agent-creative-studio-ts/files/roles/illustrator/methodology/storyboard-protocol.md +169 -0
  967. package/registry/families/multi-agent-creative-studio-ts/files/roles/music-producer/AGENTS.md +141 -0
  968. package/registry/families/multi-agent-creative-studio-ts/files/roles/music-producer/methodology/arrangement-review.md +122 -0
  969. package/registry/families/multi-agent-creative-studio-ts/files/roles/music-producer/methodology/mix-feedback.md +110 -0
  970. package/registry/families/multi-agent-creative-studio-ts/files/roles/music-producer/methodology/needle-drop-suggestions.md +147 -0
  971. package/registry/families/multi-agent-creative-studio-ts/files/roles/novelist-coach/AGENTS.md +153 -0
  972. package/registry/families/multi-agent-creative-studio-ts/files/roles/novelist-coach/methodology/scene-card-system.md +133 -0
  973. package/registry/families/multi-agent-creative-studio-ts/files/roles/novelist-coach/methodology/voice-audit.md +155 -0
  974. package/registry/families/multi-agent-creative-studio-ts/files/roles/screenwriter/AGENTS.md +147 -0
  975. package/registry/families/multi-agent-creative-studio-ts/files/roles/screenwriter/methodology/beat-out-protocol.md +123 -0
  976. package/registry/families/multi-agent-creative-studio-ts/files/roles/screenwriter/methodology/logline-sharpener.md +111 -0
  977. package/registry/families/multi-agent-creative-studio-ts/files/roles/screenwriter/methodology/scene-rewrite-pass.md +125 -0
  978. package/registry/families/multi-agent-creative-studio-ts/manifest.json +212 -0
  979. package/registry/families/multi-agent-legal-ops-ts/files/AGENTS.md +404 -0
  980. package/registry/families/multi-agent-legal-ops-ts/files/README.md +151 -0
  981. package/registry/families/multi-agent-legal-ops-ts/files/agent.json +63 -0
  982. package/registry/families/multi-agent-legal-ops-ts/files/agents.json +53 -0
  983. package/registry/families/multi-agent-legal-ops-ts/files/roles/auditor/AGENTS.md +187 -0
  984. package/registry/families/multi-agent-legal-ops-ts/files/roles/auditor/methodology/control-walkthrough.md +142 -0
  985. package/registry/families/multi-agent-legal-ops-ts/files/roles/auditor/methodology/deficiency-write-up.md +148 -0
  986. package/registry/families/multi-agent-legal-ops-ts/files/roles/legal-counsel/AGENTS.md +186 -0
  987. package/registry/families/multi-agent-legal-ops-ts/files/roles/legal-counsel/methodology/contract-redline.md +163 -0
  988. package/registry/families/multi-agent-legal-ops-ts/files/roles/legal-counsel/methodology/nda-msa-review.md +273 -0
  989. package/registry/families/multi-agent-legal-ops-ts/files/roles/legal-counsel/methodology/regulatory-research.md +129 -0
  990. package/registry/families/multi-agent-legal-ops-ts/files/roles/paralegal-intake/AGENTS.md +149 -0
  991. package/registry/families/multi-agent-legal-ops-ts/files/roles/paralegal-intake/methodology/conflict-check.md +85 -0
  992. package/registry/families/multi-agent-legal-ops-ts/files/roles/paralegal-intake/methodology/fact-pattern-summary.md +101 -0
  993. package/registry/families/multi-agent-legal-ops-ts/files/roles/paralegal-intake/methodology/intake-checklist.md +71 -0
  994. package/registry/families/multi-agent-legal-ops-ts/manifest.json +214 -0
  995. package/registry/families/multi-agent-product-ops-ts/files/AGENTS.md +325 -0
  996. package/registry/families/multi-agent-product-ops-ts/files/README.md +66 -0
  997. package/registry/families/multi-agent-product-ops-ts/files/agent.json +69 -0
  998. package/registry/families/multi-agent-product-ops-ts/files/agents.json +70 -0
  999. package/registry/families/multi-agent-product-ops-ts/files/roles/customer-success/AGENTS.md +97 -0
  1000. package/registry/families/multi-agent-product-ops-ts/files/roles/customer-success/methodology/churn-risk-analysis.md +113 -0
  1001. package/registry/families/multi-agent-product-ops-ts/files/roles/customer-success/methodology/qbr-prep.md +103 -0
  1002. package/registry/families/multi-agent-product-ops-ts/files/roles/designer/AGENTS.md +90 -0
  1003. package/registry/families/multi-agent-product-ops-ts/files/roles/designer/methodology/design-critique.md +76 -0
  1004. package/registry/families/multi-agent-product-ops-ts/files/roles/designer/methodology/ux-strategy.md +86 -0
  1005. package/registry/families/multi-agent-product-ops-ts/files/roles/eng-manager/AGENTS.md +99 -0
  1006. package/registry/families/multi-agent-product-ops-ts/files/roles/eng-manager/methodology/sprint-planning.md +102 -0
  1007. package/registry/families/multi-agent-product-ops-ts/files/roles/eng-manager/methodology/tech-feasibility-scoping.md +88 -0
  1008. package/registry/families/multi-agent-product-ops-ts/files/roles/pm/AGENTS.md +87 -0
  1009. package/registry/families/multi-agent-product-ops-ts/files/roles/pm/methodology/discovery-cycle.md +76 -0
  1010. package/registry/families/multi-agent-product-ops-ts/files/roles/pm/methodology/prd-template.md +94 -0
  1011. package/registry/families/multi-agent-product-ops-ts/files/roles/pm/methodology/prioritization-rice.md +94 -0
  1012. package/registry/families/multi-agent-product-ops-ts/manifest.json +188 -0
  1013. package/registry/families/multi-agent-research-lab-ts/files/AGENTS.md +352 -0
  1014. package/registry/families/multi-agent-research-lab-ts/files/README.md +84 -0
  1015. package/registry/families/multi-agent-research-lab-ts/files/agent.json +70 -0
  1016. package/registry/families/multi-agent-research-lab-ts/files/agents.json +70 -0
  1017. package/registry/families/multi-agent-research-lab-ts/files/roles/biology-researcher/AGENTS.md +140 -0
  1018. package/registry/families/multi-agent-research-lab-ts/files/roles/biology-researcher/methodology/bioinformatics-survey.md +207 -0
  1019. package/registry/families/multi-agent-research-lab-ts/files/roles/biology-researcher/methodology/protein-structure-analysis.md +185 -0
  1020. package/registry/families/multi-agent-research-lab-ts/files/roles/chemistry-researcher/AGENTS.md +127 -0
  1021. package/registry/families/multi-agent-research-lab-ts/files/roles/chemistry-researcher/methodology/crossref-literature-search.md +167 -0
  1022. package/registry/families/multi-agent-research-lab-ts/files/roles/chemistry-researcher/methodology/reaction-mechanism-analysis.md +180 -0
  1023. package/registry/families/multi-agent-research-lab-ts/files/roles/lab-director/AGENTS.md +156 -0
  1024. package/registry/families/multi-agent-research-lab-ts/files/roles/lab-director/methodology/cross-domain-synthesis.md +150 -0
  1025. package/registry/families/multi-agent-research-lab-ts/files/roles/lab-director/methodology/literature-triage.md +158 -0
  1026. package/registry/families/multi-agent-research-lab-ts/files/roles/lab-director/methodology/research-question-formulation.md +190 -0
  1027. package/registry/families/multi-agent-research-lab-ts/files/roles/physics-researcher/AGENTS.md +122 -0
  1028. package/registry/families/multi-agent-research-lab-ts/files/roles/physics-researcher/methodology/arxiv-literature-search.md +149 -0
  1029. package/registry/families/multi-agent-research-lab-ts/files/roles/physics-researcher/methodology/experimental-design.md +194 -0
  1030. package/registry/families/multi-agent-research-lab-ts/manifest.json +223 -0
  1031. package/registry/families/multi-agent-startup-team-ts/files/AGENTS.md +360 -0
  1032. package/registry/families/multi-agent-startup-team-ts/files/README.md +200 -0
  1033. package/registry/families/multi-agent-startup-team-ts/files/agent.json +78 -0
  1034. package/registry/families/multi-agent-startup-team-ts/files/agents.json +87 -0
  1035. package/registry/families/multi-agent-startup-team-ts/files/roles/ceo/AGENTS.md +157 -0
  1036. package/registry/families/multi-agent-startup-team-ts/files/roles/ceo/methodology/decision-journal.md +176 -0
  1037. package/registry/families/multi-agent-startup-team-ts/files/roles/ceo/methodology/okr-design.md +181 -0
  1038. package/registry/families/multi-agent-startup-team-ts/files/roles/ceo/methodology/weekly-review.md +150 -0
  1039. package/registry/families/multi-agent-startup-team-ts/files/roles/cfo-advisor/AGENTS.md +176 -0
  1040. package/registry/families/multi-agent-startup-team-ts/files/roles/cfo-advisor/methodology/burn-runway-model.md +203 -0
  1041. package/registry/families/multi-agent-startup-team-ts/files/roles/cfo-advisor/methodology/fundraise-prep.md +192 -0
  1042. package/registry/families/multi-agent-startup-team-ts/files/roles/cmo/AGENTS.md +145 -0
  1043. package/registry/families/multi-agent-startup-team-ts/files/roles/cmo/methodology/channel-experiment-design.md +156 -0
  1044. package/registry/families/multi-agent-startup-team-ts/files/roles/cmo/methodology/positioning-canvas.md +124 -0
  1045. package/registry/families/multi-agent-startup-team-ts/files/roles/cto/AGENTS.md +151 -0
  1046. package/registry/families/multi-agent-startup-team-ts/files/roles/cto/methodology/architecture-decision.md +196 -0
  1047. package/registry/families/multi-agent-startup-team-ts/files/roles/cto/methodology/one-on-one-cadence.md +149 -0
  1048. package/registry/families/multi-agent-startup-team-ts/files/roles/cto/methodology/tech-debt-triage.md +138 -0
  1049. package/registry/families/multi-agent-startup-team-ts/files/roles/hr/AGENTS.md +192 -0
  1050. package/registry/families/multi-agent-startup-team-ts/files/roles/hr/methodology/interview-rubric.md +171 -0
  1051. package/registry/families/multi-agent-startup-team-ts/files/roles/hr/methodology/recruiting-loop-design.md +222 -0
  1052. package/registry/families/multi-agent-startup-team-ts/manifest.json +299 -0
  1053. package/registry/families/multimodal-agent/files/api/README.md +1 -1
  1054. package/registry/families/multimodal-agent/files/package.json +3 -1
  1055. package/registry/families/nextjs-ts/files/package.json +3 -1
  1056. package/registry/families/observable-notebook/files/package.json +3 -1
  1057. package/registry/families/observable-notebook/manifest.json +18 -1
  1058. package/registry/families/ollama-server/files/package.json +4 -0
  1059. package/registry/families/orchestrator-with-ui-ts/files/README.md +137 -0
  1060. package/registry/families/orchestrator-with-ui-ts/files/app/agents/[id]/page.tsx +124 -0
  1061. package/registry/families/orchestrator-with-ui-ts/files/app/globals.css +38 -0
  1062. package/registry/families/orchestrator-with-ui-ts/files/app/layout.tsx +30 -0
  1063. package/registry/families/orchestrator-with-ui-ts/files/app/page.tsx +132 -0
  1064. package/registry/families/orchestrator-with-ui-ts/files/next.config.mjs +21 -0
  1065. package/registry/families/orchestrator-with-ui-ts/files/package.json +30 -0
  1066. package/registry/families/orchestrator-with-ui-ts/files/pnpm-workspace.yaml +3 -0
  1067. package/registry/families/orchestrator-with-ui-ts/files/postcss.config.cjs +6 -0
  1068. package/registry/families/orchestrator-with-ui-ts/files/src/lib/agent-roster.ts +86 -0
  1069. package/registry/families/orchestrator-with-ui-ts/files/tailwind.config.cjs +12 -0
  1070. package/registry/families/orchestrator-with-ui-ts/files/tsconfig.json +27 -0
  1071. package/registry/families/orchestrator-with-ui-ts/manifest.json +92 -0
  1072. package/registry/families/pci-dss-compliance-pack/files/package.json +4 -0
  1073. package/registry/families/phaser-game/files/package.json +4 -0
  1074. package/registry/families/pixijs-game/files/package.json +4 -0
  1075. package/registry/families/playwright-worker/files/package.json +3 -1
  1076. package/registry/families/polymarket-portfolio-hedging/files/package.json +3 -1
  1077. package/registry/families/react-vite-ts/files/package.json +3 -1
  1078. package/registry/families/realtime-audio-ts/files/package.json +3 -1
  1079. package/registry/families/remix-ts/files/package.json +3 -1
  1080. package/registry/families/risczero-zkvm/files/methods/build.rs +31 -0
  1081. package/registry/families/risczero-zkvm/files/methods/guest-Cargo.toml +8 -0
  1082. package/registry/families/sandbox-app-ts/files/README.md +65 -0
  1083. package/registry/families/sandbox-app-ts/files/index.html +12 -0
  1084. package/registry/families/sandbox-app-ts/files/package.json +27 -0
  1085. package/registry/families/sandbox-app-ts/files/pnpm-workspace.yaml +3 -0
  1086. package/registry/families/sandbox-app-ts/files/postcss.config.cjs +6 -0
  1087. package/registry/families/sandbox-app-ts/files/src/App.tsx +92 -0
  1088. package/registry/families/sandbox-app-ts/files/src/index.css +12 -0
  1089. package/registry/families/sandbox-app-ts/files/src/lib/sandbox-client.ts +182 -0
  1090. package/registry/families/sandbox-app-ts/files/src/main.tsx +13 -0
  1091. package/registry/families/sandbox-app-ts/files/tailwind.config.cjs +8 -0
  1092. package/registry/families/sandbox-app-ts/files/tsconfig.json +24 -0
  1093. package/registry/families/sandbox-app-ts/files/vite.config.ts +15 -0
  1094. package/registry/families/sandbox-app-ts/manifest.json +84 -0
  1095. package/registry/families/soc2-compliance-pack/files/package.json +4 -0
  1096. package/registry/families/sp1-zkvm/files/script/build.rs +63 -0
  1097. package/registry/families/sp1-zkvm/files/script-Cargo.toml +7 -1
  1098. package/registry/families/sp1-zkvm/manifest.json +4 -0
  1099. package/registry/families/stylus-contracts/manifest.json +25 -0
  1100. package/registry/families/sveltekit-ts/files/package.json +3 -1
  1101. package/registry/families/tauri-desktop/files/package.json +4 -0
  1102. package/registry/families/tauri-menubar/files/package.json +3 -1
  1103. package/registry/families/tauri-tray/files/package.json +3 -1
  1104. package/registry/families/threejs-game/files/package.json +3 -1
  1105. package/registry/families/unity-web-proxy/files/package.json +3 -1
  1106. package/registry/families/vision-first-agent/files/api/README.md +1 -1
  1107. package/registry/families/vision-first-agent/files/package.json +3 -1
  1108. package/registry/families/voice-first-agent/files/api/README.md +1 -1
  1109. package/registry/families/voice-first-agent/files/package.json +3 -1
  1110. package/registry/families/vue-ts/files/package.json +3 -1
  1111. package/registry/families/wasm-rust/files/package.json +3 -1
  1112. package/registry/families/wasm-rust/manifest.json +23 -2
  1113. package/registry/families/webgpu-inference/files/package.json +3 -1
  1114. package/registry/families/webgpu-render/files/package.json +3 -1
  1115. package/registry/families/worker-job/files/package.json +4 -0
  1116. package/registry/families/x402-service/files/package.json +5 -1
  1117. package/registry/families/zk-prover-service/files/package.json +5 -1
  1118. package/registry/layers/agent-base/mcp-registry/files/.mcp.json +27 -0
  1119. package/registry/layers/agent-base/mcp-registry/files/lib/mcp/README.md +47 -0
  1120. package/registry/layers/agent-base/mcp-registry/files/lib/mcp/register.ts +130 -0
  1121. package/registry/layers/agent-base/mcp-registry/manifest.json +109 -0
  1122. package/registry/layers/agent-base/memory/files/lib/memory/grep.ts +126 -0
  1123. package/registry/layers/agent-base/memory/files/lib/memory/index.test.ts +216 -0
  1124. package/registry/layers/agent-base/memory/files/lib/memory/index.ts +258 -0
  1125. package/registry/layers/agent-base/memory/files/lib/memory/types.ts +58 -0
  1126. package/registry/layers/agent-base/memory/manifest.json +108 -0
  1127. package/registry/layers/agent-base/privacy/files/lib/privacy/README.md +116 -0
  1128. package/registry/layers/agent-base/privacy/files/lib/privacy/detectors.ts +179 -0
  1129. package/registry/layers/agent-base/privacy/files/lib/privacy/index.test.ts +172 -0
  1130. package/registry/layers/agent-base/privacy/files/lib/privacy/index.ts +150 -0
  1131. package/registry/layers/agent-base/privacy/files/lib/privacy/types.ts +66 -0
  1132. package/registry/layers/agent-base/privacy/manifest.json +74 -0
  1133. package/registry/layers/agent-base/scheduler/files/lib/scheduler/cron-parse.ts +221 -0
  1134. package/registry/layers/agent-base/scheduler/files/lib/scheduler/index.test.ts +296 -0
  1135. package/registry/layers/agent-base/scheduler/files/lib/scheduler/index.ts +175 -0
  1136. package/registry/layers/agent-base/scheduler/files/lib/scheduler/sweep.ts +66 -0
  1137. package/registry/layers/agent-base/scheduler/files/lib/scheduler/types.ts +43 -0
  1138. package/registry/layers/agent-base/scheduler/manifest.json +119 -0
  1139. package/registry/layers/agent-base/secure/files/lib/secure/README.md +95 -0
  1140. package/registry/layers/agent-base/secure/files/lib/secure/audit.ts +166 -0
  1141. package/registry/layers/agent-base/secure/files/lib/secure/identity.ts +110 -0
  1142. package/registry/layers/agent-base/secure/files/lib/secure/index.test.ts +422 -0
  1143. package/registry/layers/agent-base/secure/files/lib/secure/index.ts +16 -0
  1144. package/registry/layers/agent-base/secure/files/lib/secure/schedule.ts +83 -0
  1145. package/registry/layers/agent-base/secure/files/lib/secure/secrets.ts +128 -0
  1146. package/registry/layers/agent-base/secure/files/lib/secure/webhook-in.ts +125 -0
  1147. package/registry/layers/agent-base/secure/files/lib/secure/webhook-out.ts +137 -0
  1148. package/registry/layers/agent-base/secure/files/lib/secure/workspace.ts +123 -0
  1149. package/registry/layers/agent-base/secure/manifest.json +174 -0
  1150. package/registry/layers/agent-base/tangle/files/lib/tangle.ts +56 -0
  1151. package/registry/layers/agent-base/tangle/manifest.json +103 -0
  1152. package/registry/layers/agent-channels/discord/files/channels/discord.env.example +14 -0
  1153. package/registry/layers/agent-channels/discord/files/channels/discord.ts +127 -0
  1154. package/registry/layers/agent-channels/discord/manifest.json +95 -0
  1155. package/registry/layers/agent-channels/gmail/files/channels/gmail.env.example +54 -0
  1156. package/registry/layers/agent-channels/gmail/files/channels/gmail.ts +206 -0
  1157. package/registry/layers/agent-channels/gmail/manifest.json +95 -0
  1158. package/registry/layers/agent-channels/imessage/files/channels/imessage.env.example +31 -0
  1159. package/registry/layers/agent-channels/imessage/files/channels/imessage.ts +123 -0
  1160. package/registry/layers/agent-channels/imessage/manifest.json +102 -0
  1161. package/registry/layers/agent-channels/linear/files/channels/linear.env.example +42 -0
  1162. package/registry/layers/agent-channels/linear/files/channels/linear.ts +163 -0
  1163. package/registry/layers/agent-channels/linear/manifest.json +95 -0
  1164. package/registry/layers/agent-channels/slack/files/channels/slack.env.example +17 -0
  1165. package/registry/layers/agent-channels/slack/files/channels/slack.ts +119 -0
  1166. package/registry/layers/agent-channels/slack/manifest.json +95 -0
  1167. package/registry/layers/agent-channels/telegram/files/channels/telegram.env.example +9 -0
  1168. package/registry/layers/agent-channels/telegram/files/channels/telegram.ts +72 -0
  1169. package/registry/layers/agent-channels/telegram/manifest.json +95 -0
  1170. package/registry/layers/agent-channels/whatsapp/files/channels/whatsapp.env.example +31 -0
  1171. package/registry/layers/agent-channels/whatsapp/files/channels/whatsapp.ts +158 -0
  1172. package/registry/layers/agent-channels/whatsapp/manifest.json +106 -0
  1173. package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/README.md +95 -0
  1174. package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/index.ts +49 -0
  1175. package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/loop.ts +151 -0
  1176. package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/pareto.ts +60 -0
  1177. package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/propose-review.ts +36 -0
  1178. package/registry/layers/agent-eval/auto-research/manifest.json +86 -0
  1179. package/registry/layers/agent-eval/judge-pairwise/files/src/eval/judges/README.md +86 -0
  1180. package/registry/layers/agent-eval/judge-pairwise/files/src/eval/judges/pairwise-cli.ts +118 -0
  1181. package/registry/layers/agent-eval/judge-pairwise/files/src/eval/judges/pairwise-runner.ts +249 -0
  1182. package/registry/layers/agent-eval/judge-pairwise/files/src/eval/judges/pairwise.example.ts +100 -0
  1183. package/registry/layers/agent-eval/judge-pairwise/files/tests/pairwise-runner.test.ts +136 -0
  1184. package/registry/layers/agent-eval/judge-pairwise/manifest.json +71 -0
  1185. package/registry/layers/agent-eval/judge-rubric/files/judges/rubric.example.ts +38 -0
  1186. package/registry/layers/agent-eval/judge-rubric/files/src/eval/judges/README.md +84 -0
  1187. package/registry/layers/agent-eval/judge-rubric/files/src/eval/judges/rubric-runner.ts +249 -0
  1188. package/registry/layers/agent-eval/judge-rubric/manifest.json +48 -0
  1189. package/registry/layers/agent-eval/redteam/files/src/eval/redteam/README.md +100 -0
  1190. package/registry/layers/agent-eval/redteam/files/src/eval/redteam/categories.ts +106 -0
  1191. package/registry/layers/agent-eval/redteam/files/src/eval/redteam/cli.ts +106 -0
  1192. package/registry/layers/agent-eval/redteam/files/src/eval/redteam/runner.ts +257 -0
  1193. package/registry/layers/agent-eval/redteam/files/tests/runner.test.ts +82 -0
  1194. package/registry/layers/agent-eval/redteam/manifest.json +81 -0
  1195. package/registry/layers/agent-eval/regression/files/.github/workflows/regression-gate.yml +85 -0
  1196. package/registry/layers/agent-eval/regression/files/src/eval/regression/README.md +93 -0
  1197. package/registry/layers/agent-eval/regression/files/src/eval/regression/cli.ts +106 -0
  1198. package/registry/layers/agent-eval/regression/files/src/eval/regression/gate.ts +260 -0
  1199. package/registry/layers/agent-eval/regression/manifest.json +60 -0
  1200. package/registry/layers/agent-eval/scenarios/files/scenarios/README.md +64 -0
  1201. package/registry/layers/agent-eval/scenarios/files/src/eval/scenario-loader.ts +85 -0
  1202. package/registry/layers/agent-eval/scenarios/files/src/eval/scenario-types.ts +15 -0
  1203. package/registry/layers/agent-eval/scenarios/manifest.json +44 -0
  1204. package/registry/layers/agent-eval/trace-multi-turn/files/src/eval/trace/README.md +75 -0
  1205. package/registry/layers/agent-eval/trace-multi-turn/files/src/eval/trace/example-rubric.ts +105 -0
  1206. package/registry/layers/agent-eval/trace-multi-turn/files/src/eval/trace/per-turn-scorer.ts +230 -0
  1207. package/registry/layers/agent-eval/trace-multi-turn/files/src/eval/trace/trajectory-runner.ts +142 -0
  1208. package/registry/layers/agent-eval/trace-multi-turn/files/tests/per-turn-scorer.test.ts +184 -0
  1209. package/registry/layers/agent-eval/trace-multi-turn/manifest.json +70 -0
  1210. package/registry/layers/agent-output/blocks/files/lib/blocks.ts +57 -0
  1211. package/registry/layers/agent-output/blocks/manifest.json +95 -0
  1212. package/registry/layers/agent-tools/clinical-screeners/files/lib/tools/screeners.ts +61 -0
  1213. package/registry/layers/agent-tools/clinical-screeners/files/templates/escalation-protocol.md +77 -0
  1214. package/registry/layers/agent-tools/clinical-screeners/files/templates/screener-gad7.md +62 -0
  1215. package/registry/layers/agent-tools/clinical-screeners/files/templates/screener-phq9.md +84 -0
  1216. package/registry/layers/agent-tools/clinical-screeners/manifest.json +61 -0
  1217. package/registry/layers/agent-tools/phony-voice/files/lib/tools/voice.ts +38 -0
  1218. package/registry/layers/agent-tools/phony-voice/manifest.json +47 -0
  1219. package/registry/layers/agent-tools/research-corpus/files/lib/tools/research.ts +46 -0
  1220. package/registry/layers/agent-tools/research-corpus/manifest.json +52 -0
  1221. package/registry/layers/capability/agent-eval/files/tests/eval/README.md +5 -5
  1222. package/registry/layers/capability/agent-eval/files/tests/eval/judge.mjs +25 -15
  1223. package/registry/layers/capability/agent-eval/manifest.json +2 -1
  1224. package/registry/layers/capability/ai-chat-ui/manifest.json +2 -0
  1225. package/registry/layers/capability/bridge-protocol-api/files/bridge-protocol-config.json +5 -0
  1226. package/registry/layers/capability/bridge-protocol-api/files/bridge-status-routes.ts +31 -0
  1227. package/registry/layers/capability/bridge-protocol-api/manifest.json +92 -0
  1228. package/registry/layers/capability/crypto-bridge-ui/manifest.json +54 -2
  1229. package/registry/layers/capability/defi-bridge/manifest.json +12 -0
  1230. package/registry/layers/capability/evm-layerzero-oft/manifest.json +59 -0
  1231. package/registry/layers/capability/evm-nft-mint-page/manifest.json +1 -0
  1232. package/registry/layers/capability/evm-uniswap-v4-hook/manifest.json +58 -0
  1233. package/registry/layers/capability/fhe-foundry-private-token/files/PrivateToken.sol +58 -0
  1234. package/registry/layers/capability/fhe-foundry-private-token/manifest.json +27 -0
  1235. package/registry/layers/capability/fhe-foundry-private-voting/files/PrivateVoting.sol +54 -0
  1236. package/registry/layers/capability/fhe-foundry-private-voting/manifest.json +27 -0
  1237. package/registry/layers/capability/fhe-foundry-sealed-auction/files/SealedAuction.sol +54 -0
  1238. package/registry/layers/capability/fhe-foundry-sealed-auction/manifest.json +27 -0
  1239. package/registry/layers/capability/fhe-private-token/manifest.json +16 -1
  1240. package/registry/layers/capability/fhe-private-voting/manifest.json +16 -1
  1241. package/registry/layers/capability/fhe-sealed-auction/manifest.json +17 -2
  1242. package/registry/layers/capability/fhevm-private-token/files/PrivateToken.sol +55 -0
  1243. package/registry/layers/capability/fhevm-private-token/manifest.json +27 -0
  1244. package/registry/layers/capability/fhevm-private-voting/files/PrivateVoting.sol +51 -0
  1245. package/registry/layers/capability/fhevm-private-voting/manifest.json +27 -0
  1246. package/registry/layers/capability/fhevm-sealed-auction/files/SealedAuction.sol +55 -0
  1247. package/registry/layers/capability/fhevm-sealed-auction/manifest.json +27 -0
  1248. package/registry/layers/capability/layout-auth/manifest.json +7 -0
  1249. package/registry/layers/capability/layout-chat/manifest.json +3 -0
  1250. package/registry/layers/capability/tangle-remote-provider/files/remote-config.json +1 -1
  1251. package/registry/layers/capability/zk-browser/manifest.json +1 -1
  1252. package/registry/layers/framework/aptos-move/files/package.json +4 -0
  1253. package/registry/layers/framework/crm-backend/files/package.json +4 -0
  1254. package/registry/layers/framework/ecommerce-headless/files/package.json +4 -0
  1255. package/registry/layers/framework/electron-native-os/files/package.json +4 -0
  1256. package/registry/layers/framework/fhenix-foundry/files/Contract.sol +55 -0
  1257. package/registry/layers/framework/fhenix-foundry/files/Contract.t.sol +39 -0
  1258. package/registry/layers/framework/fhenix-foundry/files/Deploy.s.sol +12 -0
  1259. package/registry/layers/framework/fhenix-foundry/files/foundry.toml +25 -0
  1260. package/registry/layers/framework/fhenix-foundry/files/lib/cofhe-contracts/contracts/FHE.sol +94 -0
  1261. package/registry/layers/framework/fhenix-foundry/manifest.json +12 -0
  1262. package/registry/layers/framework/gdpr-compliance-pack/files/package.json +4 -0
  1263. package/registry/layers/framework/godot-web/files/package.json +4 -0
  1264. package/registry/layers/framework/healthcare-hipaa-backend/files/package.json +4 -0
  1265. package/registry/layers/framework/hipaa-compliance-pack/files/package.json +4 -0
  1266. package/registry/layers/framework/hugo-static/files/package.json +4 -0
  1267. package/registry/layers/framework/legal-case-mgmt/files/package.json +4 -0
  1268. package/registry/layers/framework/move-package/files/Move.toml +7 -3
  1269. package/registry/layers/framework/react-vite-ts/files/index.html +3 -3
  1270. package/registry/layers/framework/tangle-blueprint/files/main.rs +2 -17
  1271. package/registry/layers/framework/zola-static/files/package.json +5 -1
  1272. package/registry/layers/ui-adapter/blocks-renderer/files/lib/blocks-to-artifacts.tsx +188 -0
  1273. package/registry/layers/ui-adapter/blocks-renderer/files/lib/parse-blocks.test.ts +58 -0
  1274. package/registry/layers/ui-adapter/blocks-renderer/files/lib/parse-blocks.ts +163 -0
  1275. package/registry/layers/ui-adapter/blocks-renderer/manifest.json +61 -0
  1276. package/registry/seed-list-agent-runtime.json +250 -0
  1277. package/dist/lib/ab.js.map +0 -1
  1278. package/dist/lib/audit.js.map +0 -1
  1279. package/dist/lib/batch-export.js.map +0 -1
  1280. package/dist/lib/benchmark.js.map +0 -1
  1281. package/dist/lib/compose-seed.d.ts +0 -15
  1282. package/dist/lib/compose-seed.js +0 -44
  1283. package/dist/lib/compose-seed.js.map +0 -1
  1284. package/dist/lib/prove.js.map +0 -1
  1285. package/dist/lib/reproducibility.js.map +0 -1
  1286. package/dist/lib/sbom.js.map +0 -1
  1287. package/specs/agent-python-research.json +0 -12
  1288. package/specs/agent-rust-runtime.json +0 -11
  1289. package/specs/agent-ts-control-plane.json +0 -13
  1290. package/specs/api-evm-protocol.json +0 -17
  1291. package/specs/api-health.json +0 -14
  1292. package/specs/browser-extension-research.json +0 -12
  1293. package/specs/cli-release-tool.json +0 -9
  1294. package/specs/cloudflare-edge.json +0 -13
  1295. package/specs/coinbase-landing.json +0 -13
  1296. package/specs/dspy-pipeline.json +0 -8
  1297. package/specs/eigenlayer-avs.json +0 -8
  1298. package/specs/electron-ops-console.json +0 -14
  1299. package/specs/evm-infra.json +0 -15
  1300. package/specs/expo-wallet-mobile.json +0 -14
  1301. package/specs/forge-counter.json +0 -10
  1302. package/specs/fullstack-control-plane.json +0 -16
  1303. package/specs/go-api.json +0 -12
  1304. package/specs/go-worker.json +0 -11
  1305. package/specs/hardhat-xlayer-config.json +0 -9
  1306. package/specs/mcp-server.json +0 -8
  1307. package/specs/move-treasury.json +0 -10
  1308. package/specs/multichain-workspace.json +0 -74
  1309. package/specs/nextjs-saas.json +0 -11
  1310. package/specs/playwright-worker.json +0 -11
  1311. package/specs/python-api.json +0 -13
  1312. package/specs/python-data-insights.json +0 -9
  1313. package/specs/react-vite-coinbase.json +0 -11
  1314. package/specs/rust-service.json +0 -13
  1315. package/specs/solana-keeper-worker.json +0 -13
  1316. package/specs/solana-perps.json +0 -12
  1317. package/specs/solana-prediction.json +0 -12
  1318. package/specs/solana-treasury.json +0 -10
  1319. package/specs/stylus-contracts.json +0 -8
  1320. package/specs/tangle-blueprint.json +0 -9
  1321. package/specs/tangle-custody.json +0 -11
  1322. package/specs/tangle-oracle.json +0 -11
  1323. package/specs/tauri-desktop.json +0 -13
  1324. package/specs/trading-worker.json +0 -12
  1325. package/specs/x402-service.json +0 -8
  1326. package/specs/xlayer-aa.json +0 -13
  1327. package/specs/xlayer-foundry-deploy.json +0 -12
  1328. package/specs/xlayer-oft.json +0 -13
  1329. package/specs/xlayer-wallet-dashboard.json +0 -18
  1330. package/specs/zk-prover.json +0 -8
  1331. /package/{LICENSE → LICENSE-MIT} +0 -0
  1332. /package/dist/lib/{ab.d.ts → eval/ab.d.ts} +0 -0
  1333. /package/dist/lib/{ab.js → eval/ab.js} +0 -0
  1334. /package/dist/lib/{batch-export.d.ts → eval/batch-export.d.ts} +0 -0
  1335. /package/dist/lib/{reproducibility.js → eval/reproducibility.js} +0 -0
@@ -0,0 +1,491 @@
1
+ // Eval runner — thin shell over @tangle-network/agent-eval primitives.
2
+ //
3
+ // Lifecycle:
4
+ // 1. Load every Scenario exported from `scenarios/*.scenario.ts`.
5
+ // 2. For each scenario, build a TestGradedScenario whose harness.testCommand
6
+ // is a curl-based assertion against the target URL (or skip the test
7
+ // command entirely when running in `judge-only` mode).
8
+ // 3. Delegate to `runTestGradedScenario` from agent-eval — it spawns the
9
+ // command via SubprocessSandboxDriver, emits a Run, persists spans
10
+ // via FileSystemTraceStore.
11
+ // 4. Run every JudgeFn in `judges/*.judge.ts` over the collected
12
+ // ScenarioResult; aggregate via `JudgeRunner` when sandbox-graded.
13
+ // 5. Emit a scorecard via `writeScorecard` (see scorecard.ts).
14
+ //
15
+ // Capture integrity (agent-eval 0.21+):
16
+ // - Allocates a `FileSystemRawProviderSink` per run, rooted under
17
+ // `<tracesDir>/raw-events/<runId>/`. LLM-as-judge call sites that
18
+ // read `globalThis.__agentEvalRawSink` (or that consumers wire
19
+ // explicitly) auto-capture every provider HTTP request/response.
20
+ // - When `EVAL_LLM_BASE_URL` is set the runner calls `assertLlmRoute`
21
+ // at preflight so the sweep fails loud if it would silently fall
22
+ // back to the public router.
23
+ // - After every `runTestGradedScenario` the runner calls
24
+ // `assertRunCaptured` to verify the run wrote the expected spans
25
+ // (and, when judges ran, that every LlmSpan has a matching raw
26
+ // `request` event). Integrity issues are surfaced on the outcome
27
+ // row but only fail the scenario when `EVAL_INTEGRITY=strict`.
28
+ //
29
+ // All primitives come from the published package — this file is the
30
+ // integration glue, not new measurement infra.
31
+
32
+ import { readdir } from 'node:fs/promises'
33
+ import { resolve, join, dirname, isAbsolute } from 'node:path'
34
+ import { fileURLToPath, pathToFileURL } from 'node:url'
35
+ import {
36
+ FileSystemTraceStore,
37
+ fileExperimentStore,
38
+ SubprocessSandboxDriver,
39
+ assertLlmRoute,
40
+ LlmRouteAssertionError,
41
+ runTestGradedScenario,
42
+ type Scenario,
43
+ type TestGradedScenario,
44
+ type TestGradedRunResult,
45
+ type JudgeFn,
46
+ type JudgeInput,
47
+ type JudgeScore,
48
+ type CollectedArtifacts,
49
+ } from '@tangle-network/agent-eval'
50
+ import {
51
+ FileSystemRawProviderSink,
52
+ assertRunCaptured,
53
+ type RawProviderSink,
54
+ type RunIntegrityReport,
55
+ } from '@tangle-network/agent-eval/traces'
56
+ import { TCloud } from '@tangle-network/tcloud'
57
+ // Single source of truth for scenario loading: the agent-eval:scenarios
58
+ // layer composes `src/eval/scenario-loader.ts` next to this runner. Pre-fix
59
+ // the family re-implemented a weaker loader inline (no shape validation),
60
+ // silently diverging from the layer's strict checks. Per CLAUDE.md
61
+ // "extend, don't duplicate", the runner imports the layer's loader.
62
+ import { loadScenarios, type LoadedScenario } from './scenario-loader.js'
63
+ import { writeScorecard, type ScorecardFlow } from './scorecard.js'
64
+
65
+ export type IntegrityMode = 'off' | 'log' | 'strict'
66
+
67
+ export interface RunnerOptions {
68
+ /** Project root — defaults to cwd of the runner. */
69
+ projectRoot?: string
70
+ /** HTTP target URL the test commands hit. */
71
+ targetUrl?: string
72
+ /** Pass threshold for the aggregate. CI gate uses this. */
73
+ threshold?: number
74
+ /** Override scenarios dir (default: <root>/scenarios). */
75
+ scenariosDir?: string
76
+ /** Override judges dir (default: <root>/judges). */
77
+ judgesDir?: string
78
+ /** Override traces dir (default: <root>/.evolve/agent-eval/traces). */
79
+ tracesDir?: string
80
+ /** Override experiments dir (default: <root>/.evolve/agent-eval/experiments). */
81
+ experimentsDir?: string
82
+ /**
83
+ * Root for per-run `FileSystemRawProviderSink` directories. Default:
84
+ * `<tracesDir>/../raw-events`. Disabled when `integrityMode` is `'off'`.
85
+ */
86
+ rawEventsDir?: string
87
+ /** Where the project-level scorecard.json lands. */
88
+ scorecardPath?: string
89
+ /** Variant label tagged onto every Run for A/B compares. */
90
+ variantId?: string
91
+ /**
92
+ * Capture-integrity behaviour after each `runTestGradedScenario`:
93
+ *
94
+ * - `'off'` — skip raw-sink wiring and `assertRunCaptured`.
95
+ * - `'log'` — assert and surface issues on the outcome row, but do
96
+ * NOT downgrade the scenario verdict. (default)
97
+ * - `'strict'`— integrity issues mark the scenario as failed with
98
+ * `failureClass='integrity'`.
99
+ *
100
+ * Honours `EVAL_INTEGRITY` env var when unset.
101
+ */
102
+ integrityMode?: IntegrityMode
103
+ /**
104
+ * Optional LLM client options carried only for the preflight route guard.
105
+ * When `baseUrl` is set the runner calls `assertLlmRoute` once before any
106
+ * scenario runs so the sweep fails loud if it would silently fall back
107
+ * to the public router. Mirrors the `LlmClientOptions` shape from
108
+ * agent-eval; pass `{ baseUrl, provider, apiKey }` for the LLM judge
109
+ * route you actually want to exercise.
110
+ */
111
+ llmOpts?: {
112
+ baseUrl?: string
113
+ provider?: string
114
+ apiKey?: string
115
+ }
116
+ }
117
+
118
+ interface ScenarioOutcome {
119
+ scenarioId: string
120
+ pass: boolean
121
+ score: number
122
+ durationMs: number
123
+ failureClass: string | null
124
+ filePath: string
125
+ runId: string
126
+ measuredJudgeCount: number
127
+ unmeasuredJudgeCount: number
128
+ /**
129
+ * Capture-integrity issues observed at run-end. Empty in the common
130
+ * happy-path case. Surfaced on the row so a launch reviewer can spot
131
+ * runs that completed structurally but lost their forensic evidence.
132
+ */
133
+ integrityIssues?: string[]
134
+ }
135
+
136
+ /**
137
+ * Lightweight RawProviderSink handle exposed on `globalThis` for ad-hoc
138
+ * LLM-judge wiring. A judge call site can read this to pass `rawSink`
139
+ * into `callLlm` without the runner having to know about the judge. The
140
+ * canonical pattern is to wire `rawSink` explicitly via dependency
141
+ * injection — this hook exists so the example judge auto-captures.
142
+ */
143
+ declare global {
144
+ // eslint-disable-next-line no-var
145
+ var __agentEvalRawSink: RawProviderSink | undefined
146
+ }
147
+
148
+ const HERE = dirname(fileURLToPath(import.meta.url))
149
+ const DEFAULT_ROOT = resolve(HERE, '..', '..')
150
+
151
+ function shQuote(s: string): string {
152
+ return `'${String(s).replace(/'/g, `'\\''`)}'`
153
+ }
154
+
155
+ interface LoadedJudge {
156
+ fn: JudgeFn
157
+ filePath: string
158
+ }
159
+
160
+ async function loadJudgesFrom(dir: string): Promise<LoadedJudge[]> {
161
+ let entries: string[]
162
+ try {
163
+ entries = await readdir(dir)
164
+ } catch {
165
+ return []
166
+ }
167
+ const judges: LoadedJudge[] = []
168
+ for (const entry of entries.sort()) {
169
+ if (!entry.endsWith('.judge.ts') && !entry.endsWith('.judge.js')) continue
170
+ const filePath = join(dir, entry)
171
+ const url = pathToFileURL(isAbsolute(filePath) ? filePath : resolve(filePath)).href
172
+ const mod = (await import(url)) as { default?: JudgeFn }
173
+ if (typeof mod.default === 'function') judges.push({ fn: mod.default, filePath })
174
+ }
175
+ return judges
176
+ }
177
+
178
+ function createJudgeClient(apiKey: string | undefined, baseUrl: string | undefined): TCloud | undefined {
179
+ if (!apiKey) return undefined
180
+ const trimmed = baseUrl?.replace(/\/+$/, '')
181
+ const baseURL = trimmed ? (trimmed.endsWith('/v1') ? trimmed : `${trimmed}/v1`) : undefined
182
+ return TCloud.create({ apiKey, ...(baseURL ? { baseURL } : {}) })
183
+ }
184
+
185
+ // Translate a Scenario into a TestGradedScenario — the bridge between
186
+ // the conversational scenario shape and the test-graded-runner shape.
187
+ //
188
+ // Default policy: every scenario's first turn is POST-ed at the target
189
+ // URL's /chat route, and the response is checked for non-empty content.
190
+ // Override by editing the testCommand in your scenario file's tags.
191
+ function toTestGraded(scenario: Scenario, targetUrl: string): TestGradedScenario {
192
+ const customTestCommand = (scenario as Scenario & { testCommand?: string }).testCommand
193
+ const firstTurn = scenario.turns[0]
194
+ const userMessage = firstTurn?.user ?? ''
195
+ const bodyPath = `/tmp/eval-body-${scenario.id.replace(/[^a-zA-Z0-9_-]/g, '_')}`
196
+ const defaultTest =
197
+ `body=${shQuote(bodyPath)}; status=$(curl -sS -o "$body" -w '%{http_code}' -X POST -H 'content-type: application/json' ` +
198
+ `--data ${shQuote(JSON.stringify({ message: userMessage, scenarioId: scenario.id }))} ` +
199
+ `${shQuote(`${targetUrl}/chat`)}); printf '%s' "$status" | grep -E '^(200|201)$' >/dev/null && ` +
200
+ `test $(wc -c < "$body") -ge 1 && cat "$body"`
201
+ return {
202
+ id: scenario.id,
203
+ description: scenario.label ?? scenario.thesis ?? scenario.id,
204
+ harness: {
205
+ testCommand: customTestCommand ?? defaultTest,
206
+ timeoutMs: 30_000,
207
+ },
208
+ passThreshold: 1.0,
209
+ tags: { persona: scenario.persona, dimensions: scenario.dimensions.join(',') },
210
+ }
211
+ }
212
+
213
+ export interface RunReport {
214
+ timestamp: string
215
+ variantId?: string
216
+ scenarioCount: number
217
+ passCount: number
218
+ aggregate: number
219
+ measuredScenarioCount: number
220
+ unmeasuredScenarioCount: number
221
+ threshold: number
222
+ outcomes: ScenarioOutcome[]
223
+ tracesDir: string
224
+ rawEventsDir: string | null
225
+ scorecardPath: string
226
+ integrityMode: IntegrityMode
227
+ /** Per-run integrity reports, indexed by runId. */
228
+ integrityReports: Record<string, RunIntegrityReport>
229
+ }
230
+
231
+ function resolveIntegrityMode(opt: IntegrityMode | undefined): IntegrityMode {
232
+ if (opt) return opt
233
+ const env = (process.env.EVAL_INTEGRITY ?? '').toLowerCase()
234
+ if (env === 'off' || env === 'log' || env === 'strict') return env
235
+ return 'log'
236
+ }
237
+
238
+ export async function runHarness(opts: RunnerOptions = {}): Promise<RunReport> {
239
+ const projectRoot = opts.projectRoot ?? process.cwd()
240
+ const targetUrl = opts.targetUrl ?? process.env.EVAL_TARGET_BASE_URL ?? 'http://127.0.0.1:8787'
241
+ const threshold = opts.threshold ?? Number(process.env.EVAL_THRESHOLD ?? '0.7')
242
+ const scenariosDir = opts.scenariosDir ?? join(projectRoot, 'scenarios')
243
+ const judgesDir = opts.judgesDir ?? join(projectRoot, 'judges')
244
+ const tracesDir = opts.tracesDir ?? join(projectRoot, '.evolve', 'agent-eval', 'traces')
245
+ const experimentsDir =
246
+ opts.experimentsDir ?? join(projectRoot, '.evolve', 'agent-eval', 'experiments')
247
+ const rawEventsDir =
248
+ opts.rawEventsDir ?? join(projectRoot, '.evolve', 'agent-eval', 'raw-events')
249
+ const scorecardPath = opts.scorecardPath ?? join(projectRoot, '.evolve', 'scorecard.json')
250
+ const variantId = opts.variantId ?? process.env.EVAL_VARIANT_ID
251
+ const integrityMode = resolveIntegrityMode(opts.integrityMode)
252
+
253
+ // ── 0.21 Directive 2: assert the route at preflight ───────────────────
254
+ // Pure function; no I/O. Only runs when a baseUrl is supplied (env or
255
+ // opts) — the eval-harness ships with no LLM judge by default, so we
256
+ // don't want to block users who never call an LLM. When a route IS
257
+ // declared, fail loud before any scenario runs.
258
+ const llmBaseUrl = opts.llmOpts?.baseUrl ?? process.env.EVAL_LLM_BASE_URL
259
+ const llmApiKey = opts.llmOpts?.apiKey ?? process.env.EVAL_LLM_API_KEY ?? process.env.TANGLE_API_KEY
260
+ const llmProvider = opts.llmOpts?.provider ?? process.env.EVAL_LLM_PROVIDER
261
+ if (llmBaseUrl) {
262
+ try {
263
+ assertLlmRoute(
264
+ { baseUrl: llmBaseUrl, apiKey: llmApiKey, provider: llmProvider },
265
+ { requireExplicitBaseUrl: true, requireAuth: true },
266
+ )
267
+ } catch (err) {
268
+ if (err instanceof LlmRouteAssertionError) {
269
+ throw new Error(
270
+ `eval-harness: preflight route check failed (code=${err.code}). ` +
271
+ `Set EVAL_LLM_BASE_URL + auth, or unset to skip the check. ${err.message}`,
272
+ )
273
+ }
274
+ throw err
275
+ }
276
+ }
277
+
278
+ const traceStore = new FileSystemTraceStore({ dir: tracesDir })
279
+ // Experiment store: agent-eval 0.99 exposes this as the `fileExperimentStore`
280
+ // factory (replacing the old `FileSystemExperimentStore` class). Constructed
281
+ // so callers extending this runner can persist experiment metadata alongside
282
+ // traces; `void` marks the intentional construct-for-availability.
283
+ void fileExperimentStore(experimentsDir)
284
+ const driver = new SubprocessSandboxDriver({ cwd: projectRoot }) // muffle-ok: agent-eval honors constructor cwd as fallback when HarnessConfig.cwd is unset; runTestGradedScenario does not thread per-call cwd here, so the constructor arg is the active value.
285
+
286
+ const loaded: LoadedScenario[] = await loadScenarios(scenariosDir)
287
+ if (loaded.length === 0) {
288
+ throw new Error(
289
+ `eval-harness: no scenarios loaded from ${scenariosDir}. Drop a *.scenario.ts file with a default-exported Scenario.`,
290
+ )
291
+ }
292
+ const judges = await loadJudgesFrom(judgesDir)
293
+ const judgeClient = createJudgeClient(
294
+ llmApiKey,
295
+ llmBaseUrl ?? process.env.LLM_ROUTER_URL,
296
+ )
297
+
298
+ const integrityReports: Record<string, RunIntegrityReport> = {}
299
+ const outcomes: ScenarioOutcome[] = []
300
+ for (const { scenario, filePath } of loaded) {
301
+ const tgs = toTestGraded(scenario, targetUrl)
302
+ const startedAt = Date.now()
303
+
304
+ // ── 0.21 Directive 1: per-run RawProviderSink ──────────────────────
305
+ // Allocated even when no LLM judge runs — the cost is one (possibly
306
+ // empty) NDJSON file per scenario, and the alternative is a silent
307
+ // partial-capture bug the next time someone wires in an LLM judge.
308
+ // Exposed via globalThis so the ad-hoc judge call sites in this
309
+ // template's `judges/` dir pick it up without explicit plumbing.
310
+ let rawSink: RawProviderSink | undefined
311
+ if (integrityMode !== 'off') {
312
+ rawSink = new FileSystemRawProviderSink({
313
+ dir: join(rawEventsDir, scenario.id),
314
+ })
315
+ globalThis.__agentEvalRawSink = rawSink
316
+ }
317
+
318
+ let result: TestGradedRunResult
319
+ try {
320
+ result = await runTestGradedScenario(tgs, traceStore, { driver, variantId })
321
+ } catch (err) {
322
+ outcomes.push({
323
+ scenarioId: scenario.id,
324
+ pass: false,
325
+ score: 0,
326
+ durationMs: Date.now() - startedAt,
327
+ failureClass: 'harness_error',
328
+ filePath,
329
+ runId: '',
330
+ measuredJudgeCount: 0,
331
+ unmeasuredJudgeCount: 0,
332
+ })
333
+ console.error(` ✗ ${scenario.id} — harness error: ${(err as Error).message}`)
334
+ globalThis.__agentEvalRawSink = undefined
335
+ continue
336
+ }
337
+
338
+ const judgeScores: JudgeScore[] = []
339
+ if (judges.length > 0) {
340
+ const response = result.harness.test?.stdout ?? ''
341
+ const judgeInput: JudgeInput = {
342
+ scenario,
343
+ turns: [
344
+ {
345
+ turnIndex: 0,
346
+ userMessage: scenario.turns[0]?.user ?? '',
347
+ agentResponse: response,
348
+ durationMs: result.harness.test?.wallMs ?? 0,
349
+ blocksExtracted: [],
350
+ containsCode: response.includes('```'),
351
+ containsToolCall: false,
352
+ },
353
+ ],
354
+ artifacts: {
355
+ vaultFiles: [],
356
+ blocksExtracted: [],
357
+ codeBlocks: [],
358
+ toolCalls: [],
359
+ } as CollectedArtifacts,
360
+ }
361
+ for (const judge of judges) {
362
+ try {
363
+ const scores = await judge.fn(judgeClient as TCloud, judgeInput)
364
+ judgeScores.push(...scores)
365
+ } catch (err) {
366
+ console.warn(` ! judge ${judge.filePath} threw: ${(err as Error).message}`)
367
+ }
368
+ }
369
+ }
370
+ globalThis.__agentEvalRawSink = undefined
371
+
372
+ let measuredJudgeCount = 0
373
+ let unmeasuredJudgeCount = 0
374
+ let judgeScoreTotal = 0
375
+ for (const score of judgeScores) {
376
+ const status = (score as JudgeScore & { status?: string }).status
377
+ if (status === 'unmeasured' || !Number.isFinite(score.score)) {
378
+ unmeasuredJudgeCount += 1
379
+ } else {
380
+ measuredJudgeCount += 1
381
+ judgeScoreTotal += score.score
382
+ }
383
+ }
384
+ const score =
385
+ measuredJudgeCount > 0
386
+ ? (result.score + judgeScoreTotal) / (measuredJudgeCount + 1)
387
+ : result.score
388
+
389
+ // ── 0.21 Directive 3: assert the run captured before declaring done ─
390
+ // Read-only. We do NOT set `requireRawCoverageOfLlmSpans` because
391
+ // the test-graded path may not call any LLM at all (the default
392
+ // testCommand is a curl). When an LLM judge IS wired the sink will
393
+ // be populated and consumers can tighten this in `runIntegrityExpect`.
394
+ let integrityIssues: string[] | undefined
395
+ if (integrityMode !== 'off' && result.runId) {
396
+ const report = await assertRunCaptured(traceStore, result.runId, {
397
+ rawSink,
398
+ // requireOutcome: the harness always sets pass/score, so this is
399
+ // a cheap belt-and-suspenders check.
400
+ requireOutcome: true,
401
+ })
402
+ integrityReports[result.runId] = report
403
+ if (!report.ok) {
404
+ integrityIssues = report.issues.map((i) => i.code)
405
+ }
406
+ }
407
+
408
+ const integrityFailed = integrityMode === 'strict' && integrityIssues !== undefined
409
+ const scenarioPassed = result.pass && score >= threshold
410
+ outcomes.push({
411
+ scenarioId: scenario.id,
412
+ pass: integrityFailed ? false : scenarioPassed,
413
+ score: integrityFailed ? 0 : score,
414
+ durationMs: Date.now() - startedAt,
415
+ failureClass: integrityFailed ? 'integrity' : (result.failureClass ?? null),
416
+ filePath,
417
+ runId: result.runId,
418
+ measuredJudgeCount,
419
+ unmeasuredJudgeCount,
420
+ ...(integrityIssues ? { integrityIssues } : {}),
421
+ })
422
+ const mark = integrityFailed ? '✗' : scenarioPassed ? '✓' : '✗'
423
+ const integritySuffix = integrityIssues ? ` (integrity: ${integrityIssues.join(', ')})` : ''
424
+ const judgeSuffix =
425
+ judges.length > 0
426
+ ? ` judges=${measuredJudgeCount} measured/${unmeasuredJudgeCount} unmeasured`
427
+ : ''
428
+ console.log(
429
+ ` ${mark} ${scenario.id} — score=${score.toFixed(3)}${judgeSuffix}${integritySuffix}`,
430
+ )
431
+ }
432
+
433
+ const passCount = outcomes.filter((o) => o.pass).length
434
+ const aggregate = outcomes.reduce((a, o) => a + o.score, 0) / Math.max(outcomes.length, 1)
435
+
436
+ const flows: ScorecardFlow[] = outcomes.map((o) => ({
437
+ name: o.scenarioId,
438
+ value: o.score,
439
+ target: 1.0,
440
+ status: o.pass ? 'pass' : 'fail',
441
+ direction: 'higher-better',
442
+ productValueClaim: `Scenario "${o.scenarioId}" — pass rate against the agent under test.`,
443
+ }))
444
+ const report: RunReport = {
445
+ timestamp: new Date().toISOString(),
446
+ variantId,
447
+ scenarioCount: outcomes.length,
448
+ passCount,
449
+ aggregate,
450
+ measuredScenarioCount: outcomes.length,
451
+ unmeasuredScenarioCount: 0,
452
+ threshold,
453
+ outcomes,
454
+ tracesDir,
455
+ rawEventsDir: integrityMode === 'off' ? null : rawEventsDir,
456
+ scorecardPath,
457
+ integrityMode,
458
+ integrityReports,
459
+ }
460
+ await writeScorecard(scorecardPath, {
461
+ product: process.env.EVAL_PRODUCT_NAME ?? 'eval-harness',
462
+ timestamp: report.timestamp,
463
+ aggregate,
464
+ coverage: `${passCount}/${outcomes.length} scenarios passed`,
465
+ flows,
466
+ })
467
+ const integritySummary =
468
+ integrityMode === 'off'
469
+ ? 'integrity=off'
470
+ : `integrity=${integrityMode} ` +
471
+ `${Object.values(integrityReports).filter((r) => !r.ok).length}/${
472
+ Object.keys(integrityReports).length
473
+ } flagged`
474
+ console.log(
475
+ `\naggregate=${aggregate.toFixed(3)} pass=${passCount}/${outcomes.length} threshold=${threshold} ${integritySummary}`,
476
+ )
477
+ return report
478
+ }
479
+
480
+ // CLI-friendly default — invoked from `pnpm eval` when this file is the entry.
481
+ if (import.meta.url === pathToFileURL(process.argv[1] ?? '').href) {
482
+ const projectRoot = process.env.EVAL_PROJECT_ROOT ?? DEFAULT_ROOT
483
+ runHarness({ projectRoot })
484
+ .then((r) => {
485
+ process.exitCode = r.aggregate < r.threshold ? 1 : 0
486
+ })
487
+ .catch((err) => {
488
+ console.error('[runner] fatal:', err)
489
+ process.exit(2)
490
+ })
491
+ }
@@ -0,0 +1,89 @@
1
+ // Scorecard emitter — writes scorecard.json in the shape consumed by the
2
+ // project-level dashboard (.evolve/scorecard.json).
3
+ //
4
+ // The shape is intentionally a subset of the parent-repo scorecard so a
5
+ // composed eval harness drops into an existing .evolve workflow without
6
+ // translation. Extra dashboard fields (sourceMtime, stale, etc.) are
7
+ // only relevant when the parent repo aggregates multiple inputs — for a
8
+ // standalone harness, the runner's outputs are the single source.
9
+
10
+ import { writeFile, mkdir } from 'node:fs/promises'
11
+ import { dirname } from 'node:path'
12
+
13
+ export type FlowDirection = 'higher-better' | 'lower-better'
14
+ export type FlowStatus = 'pass' | 'fail' | 'skip'
15
+
16
+ export interface ScorecardFlow {
17
+ name: string
18
+ value: number
19
+ target: number
20
+ status: FlowStatus
21
+ productValueClaim: string
22
+ direction: FlowDirection
23
+ }
24
+
25
+ export interface Scorecard {
26
+ product: string
27
+ timestamp: string
28
+ aggregate: number
29
+ coverage: string
30
+ flows: ScorecardFlow[]
31
+ }
32
+
33
+ export async function writeScorecard(path: string, scorecard: Scorecard): Promise<void> {
34
+ await mkdir(dirname(path), { recursive: true })
35
+ await writeFile(path, JSON.stringify(scorecard, null, 2) + '\n', 'utf8')
36
+ }
37
+
38
+ export async function readScorecard(path: string): Promise<Scorecard> {
39
+ const { readFile } = await import('node:fs/promises')
40
+ const raw = await readFile(path, 'utf8')
41
+ return JSON.parse(raw) as Scorecard
42
+ }
43
+
44
+ export interface ScorecardDiff {
45
+ baseline: Scorecard
46
+ head: Scorecard
47
+ aggregateDelta: number
48
+ perFlow: Array<{
49
+ name: string
50
+ baseline: number | null
51
+ head: number | null
52
+ delta: number | null
53
+ status: 'improved' | 'regressed' | 'stable' | 'introduced' | 'removed'
54
+ }>
55
+ }
56
+
57
+ const STABILITY_EPSILON = 0.005
58
+
59
+ export function diffScorecards(baseline: Scorecard, head: Scorecard): ScorecardDiff {
60
+ const baselineByName = new Map<string, ScorecardFlow>()
61
+ for (const f of baseline.flows) baselineByName.set(f.name, f)
62
+ const headByName = new Map<string, ScorecardFlow>()
63
+ for (const f of head.flows) headByName.set(f.name, f)
64
+ const allNames = new Set<string>([...baselineByName.keys(), ...headByName.keys()])
65
+ const perFlow: ScorecardDiff['perFlow'] = []
66
+ for (const name of allNames) {
67
+ const b = baselineByName.get(name)
68
+ const h = headByName.get(name)
69
+ if (b && h) {
70
+ const delta = h.value - b.value
71
+ let status: ScorecardDiff['perFlow'][number]['status'] = 'stable'
72
+ if (Math.abs(delta) >= STABILITY_EPSILON) {
73
+ const better = h.direction === 'higher-better' ? delta > 0 : delta < 0
74
+ status = better ? 'improved' : 'regressed'
75
+ }
76
+ perFlow.push({ name, baseline: b.value, head: h.value, delta, status })
77
+ } else if (b) {
78
+ perFlow.push({ name, baseline: b.value, head: null, delta: null, status: 'removed' })
79
+ } else if (h) {
80
+ perFlow.push({ name, baseline: null, head: h.value, delta: null, status: 'introduced' })
81
+ }
82
+ }
83
+ return {
84
+ baseline,
85
+ head,
86
+ aggregateDelta: head.aggregate - baseline.aggregate,
87
+ perFlow,
88
+ }
89
+ }
@@ -0,0 +1,14 @@
1
+ // Fixture: scenario missing the required `thesis` field. The layer's
2
+ // strict loader must reject this; the family's pre-fix loader silently
3
+ // accepted it.
4
+ const scenario = {
5
+ id: 'fixture-bad',
6
+ persona: 'developer',
7
+ label: 'missing-thesis',
8
+ // NB: thesis intentionally omitted to trigger the strict validator.
9
+ dimensions: ['success'],
10
+ turns: [{ user: 'hi' }],
11
+ artifactChecks: [],
12
+ }
13
+
14
+ export default scenario
@@ -0,0 +1,15 @@
1
+ // Fixture for runner tests — a fully-shaped Scenario that the layer's
2
+ // strict loader accepts.
3
+ import type { Scenario } from '@tangle-network/agent-eval'
4
+
5
+ const scenario: Scenario = {
6
+ id: 'fixture-good',
7
+ persona: 'developer',
8
+ label: 'happy-path',
9
+ thesis: 'agent must respond non-empty',
10
+ dimensions: ['success'],
11
+ turns: [{ user: 'hi', expectedBehaviors: ['responds non-empty'] }],
12
+ artifactChecks: [],
13
+ }
14
+
15
+ export default scenario
@@ -0,0 +1,63 @@
1
+ // Family runner imports the layer's `loadScenarios` (extend, don't duplicate).
2
+ //
3
+ // Regression bait:
4
+ // - Pre-fix: the family's `runner.ts` re-implemented a weaker scenario
5
+ // loader inline. Bad scenarios (missing required fields) silently
6
+ // loaded; the layer's strict validator was bypassed. Test asserts the
7
+ // family's runner now wires the layer's loader and rejects malformed
8
+ // scenarios with the layer's error message.
9
+
10
+ import test, { describe } from 'node:test'
11
+ import assert from 'node:assert/strict'
12
+ import { dirname, resolve } from 'node:path'
13
+ import { fileURLToPath } from 'node:url'
14
+ import { readFileSync } from 'node:fs'
15
+
16
+ // Compose-time, the layer's loader lands at ../src/eval/scenario-loader.js
17
+ // next to the family runner. At test-time we import from the layer's
18
+ // source directly so the test exercises what the family will actually
19
+ // ship with after composition.
20
+ import { loadScenarios } from '../../../../layers/agent-eval/scenarios/files/src/eval/scenario-loader.js'
21
+
22
+ const HERE = dirname(fileURLToPath(import.meta.url))
23
+ // loadScenarios reads .scenario.ts/.scenario.js — at test-time the fixtures
24
+ // have been compiled to .scenario.js next to this file in dist-layer-tests.
25
+ const GOOD = resolve(HERE, 'fixtures', 'scenarios-good')
26
+ const BAD = resolve(HERE, 'fixtures', 'scenarios-bad')
27
+
28
+ describe('agent-eval-harness-ts: family runner uses layer loader', () => {
29
+ test('runner.ts imports loadScenarios from scenario-loader (the layer)', () => {
30
+ // HERE = .../dist-layer-tests/registry/families/agent-eval-harness-ts/files/tests
31
+ // Walk up to the repo root, then back down to the family's source tree.
32
+ const repoRoot = resolve(HERE, '..', '..', '..', '..', '..', '..')
33
+ const runnerPath = resolve(
34
+ repoRoot,
35
+ 'registry/families/agent-eval-harness-ts/files/src/eval/runner.ts',
36
+ )
37
+ const text = readFileSync(runnerPath, 'utf8')
38
+ assert.match(
39
+ text,
40
+ /from\s+'\.\/scenario-loader\.js'/,
41
+ 'runner.ts must import from the composed layer (scenario-loader.js), not re-implement',
42
+ )
43
+ assert.doesNotMatch(
44
+ text,
45
+ /async function loadScenariosFrom\b/,
46
+ 'family runner must not declare a local loadScenariosFrom — that was the duplicate',
47
+ )
48
+ })
49
+
50
+ test('layer loader accepts a fully-shaped scenario', async () => {
51
+ const loaded = await loadScenarios(GOOD)
52
+ assert.equal(loaded.length, 1)
53
+ assert.equal(loaded[0]!.scenario.id, 'fixture-good')
54
+ })
55
+
56
+ test('layer loader rejects a scenario missing required fields', async () => {
57
+ await assert.rejects(
58
+ () => loadScenarios(BAD),
59
+ /missing required field "thesis"/,
60
+ 'layer loader must surface the layer\'s strict error message, not silently include the bad scenario',
61
+ )
62
+ })
63
+ })