@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,422 @@
1
+ // Tests for agent-base:secure. Adversarial: every HIGH/MEDIUM finding
2
+ // from the 2026-04-26 critical-audit gets a regression test. Real-system
3
+ // where possible (real fs, real crypto); only mocks the network layer
4
+ // at the fetch boundary.
5
+ //
6
+ // Run with: tsx --test registry/layers/agent-base/secure/files/lib/secure/index.test.ts
7
+
8
+ import { test } from 'node:test'
9
+ import assert from 'node:assert/strict'
10
+ import { mkdtempSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs'
11
+ import { tmpdir } from 'node:os'
12
+ import { join } from 'node:path'
13
+ import { createHmac } from 'node:crypto'
14
+
15
+ // Each test must set up a clean workspace + identity before importing the
16
+ // secure modules, so we use dynamic imports inside per-test setup.
17
+
18
+ function tempWorkspace(): string {
19
+ const root = mkdtempSync(join(tmpdir(), 'secure-test-'))
20
+ mkdirSync(join(root, 'agent-A'), { recursive: true })
21
+ mkdirSync(join(root, 'agent-A', '.audit'), { recursive: true })
22
+ return root
23
+ }
24
+
25
+ function setupIdentity(agentId = 'agent-A', capabilities: string[] = []): void {
26
+ const now = Date.now()
27
+ process.env.TANGLE_AGENT_IDENTITY_JSON = JSON.stringify({
28
+ agentId,
29
+ sessionId: `s-${now}`,
30
+ deployerId: 'deployer-A',
31
+ signedAt: now,
32
+ expiresAt: now + 3600_000,
33
+ capabilities,
34
+ publicKey: 'k',
35
+ signature: 's',
36
+ })
37
+ }
38
+
39
+ // Every test that may trigger audit.log needs an isolated workspace root.
40
+ // Tests that explicitly clear env (fail-closed checks) MUST run BEFORE
41
+ // importing modules — or set the root pre-import. This helper does both.
42
+ async function setupTestEnv(agentId = 'agent-A', capabilities: string[] = ['sensitive-fs']): Promise<string> {
43
+ const root = tempWorkspace()
44
+ process.env.AGENT_WORKSPACE_ROOT = root
45
+ setupIdentity(agentId, capabilities)
46
+ mkdirSync(join(root, agentId, '.audit'), { recursive: true })
47
+ // Reset all module-level caches so the new identity + workspace root takes effect.
48
+ const { identity } = await import('./identity.js')
49
+ const { workspace } = await import('./workspace.js')
50
+ const { audit } = await import('./audit.js')
51
+ const { secrets } = await import('./secrets.js')
52
+ identity.invalidate()
53
+ workspace._resetForTest()
54
+ audit._resetStateForTest()
55
+ secrets.clearCache()
56
+ return root
57
+ }
58
+
59
+ function clearEnvForFailClosed(): void {
60
+ delete process.env.TANGLE_AGENT_IDENTITY_JSON
61
+ delete process.env.SF_DEV_IDENTITY_OPTIN
62
+ delete process.env.AGENT_NAME
63
+ }
64
+
65
+ // ── identity (H3) ────────────────────────────────────────────────────────
66
+
67
+ test('identity: fail-closed when env missing AND no dev opt-in', async () => {
68
+ clearEnvForFailClosed()
69
+ // Force re-import to bypass module cache (Node test cache is per-file scope)
70
+ const { identity } = await import('./identity.js')
71
+ identity.invalidate()
72
+ assert.throws(() => identity.current(), /TANGLE_AGENT_IDENTITY_JSON missing/)
73
+ })
74
+
75
+ test('identity: dev opt-in returns synthetic with NO sensitive-fs capability', async () => {
76
+ clearEnvForFailClosed()
77
+ process.env.AGENT_WORKSPACE_ROOT = tempWorkspace()
78
+ process.env.SF_DEV_IDENTITY_OPTIN = '1'
79
+ process.env.AGENT_NAME = 'dev-X'
80
+ mkdirSync(join(process.env.AGENT_WORKSPACE_ROOT, 'dev-X', '.audit'), { recursive: true })
81
+ const { identity } = await import('./identity.js')
82
+ identity.invalidate()
83
+ const id = identity.current()
84
+ assert.equal(id.agentId, 'dev-X')
85
+ assert.deepEqual(id.capabilities, [])
86
+ delete process.env.SF_DEV_IDENTITY_OPTIN
87
+ })
88
+
89
+ test('identity: real envelope honored when present', async () => {
90
+ process.env.AGENT_WORKSPACE_ROOT = tempWorkspace()
91
+ setupIdentity('real-agent', ['sensitive-fs'])
92
+ mkdirSync(join(process.env.AGENT_WORKSPACE_ROOT, 'real-agent', '.audit'), { recursive: true })
93
+ const { identity } = await import('./identity.js')
94
+ identity.invalidate()
95
+ const id = identity.current()
96
+ assert.equal(id.agentId, 'real-agent')
97
+ assert.deepEqual(id.capabilities, ['sensitive-fs'])
98
+ })
99
+
100
+ // ── secrets (H1, M3) ─────────────────────────────────────────────────────
101
+
102
+ test('secrets: dotenvx ciphertext rejected as un-decrypted', async () => {
103
+ setupIdentity()
104
+ process.env.AGENT_WORKSPACE_ROOT = tempWorkspace()
105
+ process.env.NOT_DECRYPTED = 'encrypted:eyJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPT0='
106
+ const { secrets } = await import('./secrets.js')
107
+ secrets.clearCache()
108
+ assert.throws(
109
+ () => secrets.require('NOT_DECRYPTED'),
110
+ /value looks like dotenvx ciphertext/,
111
+ )
112
+ delete process.env.NOT_DECRYPTED
113
+ })
114
+
115
+ test('secrets: SecureString.toString() returns [REDACTED]', async () => {
116
+ setupIdentity()
117
+ process.env.AGENT_WORKSPACE_ROOT = tempWorkspace()
118
+ process.env.LEAK_TEST = 'sk-real-secret-value'
119
+ const { secrets } = await import('./secrets.js')
120
+ secrets.clearCache()
121
+ const sec = secrets.require('LEAK_TEST')
122
+ assert.equal(sec.toString(), '[REDACTED]')
123
+ assert.equal(JSON.stringify({ key: sec }), '{"key":"[REDACTED]"}')
124
+ assert.equal(`${sec}`, '[REDACTED]')
125
+ // unsafeReveal returns the real value
126
+ assert.equal(sec.unsafeReveal('test'), 'sk-real-secret-value')
127
+ delete process.env.LEAK_TEST
128
+ })
129
+
130
+ test('secrets: clearCache() empties cache (M3 fix — renamed from purge)', async () => {
131
+ setupIdentity()
132
+ process.env.AGENT_WORKSPACE_ROOT = tempWorkspace()
133
+ process.env.K1 = 'v1'
134
+ const { secrets } = await import('./secrets.js')
135
+ secrets.clearCache()
136
+ secrets.require('K1')
137
+ // First read populated cache; second read should be a cache hit (audit
138
+ // logs cacheHit:true)
139
+ secrets.require('K1')
140
+ secrets.clearCache()
141
+ // After clear, the next read is a fresh fetch
142
+ secrets.require('K1')
143
+ assert.ok(true) // no crash; behavior verified via audit log inspection
144
+ delete process.env.K1
145
+ })
146
+
147
+ // ── workspace (H2) ───────────────────────────────────────────────────────
148
+
149
+ test('workspace: path-traversal rejected', async () => {
150
+ const root = tempWorkspace()
151
+ process.env.AGENT_WORKSPACE_ROOT = root
152
+ setupIdentity('agent-A', ['sensitive-fs'])
153
+ const { workspace } = await import('./workspace.js')
154
+ workspace._resetForTest()
155
+ assert.throws(() => workspace.read('../../etc/passwd'), /path-traversal rejected/)
156
+ assert.throws(() => workspace.write('../escape', 'oops'), /path-traversal rejected/)
157
+ })
158
+
159
+ test('workspace: agent root frozen at first call (H2 fix)', async () => {
160
+ const root = tempWorkspace()
161
+ mkdirSync(join(root, 'agent-A'), { recursive: true })
162
+ mkdirSync(join(root, 'agent-B'), { recursive: true })
163
+ process.env.AGENT_WORKSPACE_ROOT = root
164
+ setupIdentity('agent-A')
165
+ const { workspace } = await import('./workspace.js')
166
+ workspace._resetForTest()
167
+ workspace.write('canary.txt', 'A')
168
+ // Now mutate identity to claim a different agent
169
+ setupIdentity('agent-B')
170
+ // Read should still resolve under agent-A's root (frozen)
171
+ assert.equal(workspace.read('canary.txt'), 'A')
172
+ // Confirm via direct fs that B did NOT receive the write
173
+ assert.throws(() => readFileSync(join(root, 'agent-B', 'canary.txt'), 'utf8'))
174
+ })
175
+
176
+ test('workspace: sensitive-zone requires sensitive-fs capability', async () => {
177
+ await setupTestEnv('agent-A', []) // NO sensitive-fs
178
+ const { workspace } = await import('./workspace.js')
179
+ assert.throws(() => workspace.write('sensitive/secret.txt', 'oops'), /sensitive zone access denied/)
180
+ })
181
+
182
+ test('workspace: sensitive-zone allowed with capability', async () => {
183
+ await setupTestEnv('agent-A', ['sensitive-fs'])
184
+ const { workspace } = await import('./workspace.js')
185
+ workspace.write('sensitive/notes.txt', 'phi')
186
+ assert.equal(workspace.read('sensitive/notes.txt'), 'phi')
187
+ })
188
+
189
+ // ── webhook-in (H4) ──────────────────────────────────────────────────────
190
+
191
+ test('webhook-in: case-insensitive header lookup (H4 fix)', async () => {
192
+ setupIdentity()
193
+ process.env.AGENT_WORKSPACE_ROOT = tempWorkspace()
194
+ process.env.WH_SECRET = 's3cret-key'
195
+ const { defineWebhook, mountWebhooks } = await import('./webhook-in.js')
196
+ let handlerCalled = false
197
+ defineWebhook({
198
+ path: '/test-h4',
199
+ secretName: 'WH_SECRET',
200
+ handler: () => {
201
+ handlerCalled = true
202
+ },
203
+ })
204
+ const ts = Date.now().toString()
205
+ const body = '{"foo":1}'
206
+ const sig = createHmac('sha256', 's3cret-key').update(`${ts}.${body}`).digest('hex')
207
+ // Mixed-case headers as some frameworks emit
208
+ const res = await mountWebhooks({
209
+ path: '/test-h4',
210
+ headers: { 'X-Tangle-Signature': sig, 'X-Tangle-Timestamp': ts, 'X-Tangle-Sender': 'agent-X' },
211
+ rawBody: body,
212
+ })
213
+ assert.equal(res.status, 200)
214
+ assert.ok(handlerCalled)
215
+ delete process.env.WH_SECRET
216
+ })
217
+
218
+ test('webhook-in: bad signature rejected with 401', async () => {
219
+ setupIdentity()
220
+ process.env.AGENT_WORKSPACE_ROOT = tempWorkspace()
221
+ process.env.WH_SECRET2 = 's3cret-key'
222
+ const { defineWebhook, mountWebhooks } = await import('./webhook-in.js')
223
+ defineWebhook({ path: '/test-bad-sig', secretName: 'WH_SECRET2', handler: () => {} })
224
+ const ts = Date.now().toString()
225
+ const body = '{"foo":1}'
226
+ const res = await mountWebhooks({
227
+ path: '/test-bad-sig',
228
+ headers: { 'x-tangle-signature': 'deadbeef', 'x-tangle-timestamp': ts },
229
+ rawBody: body,
230
+ })
231
+ assert.equal(res.status, 401)
232
+ assert.match(res.body, /signature mismatch/)
233
+ delete process.env.WH_SECRET2
234
+ })
235
+
236
+ test('webhook-in: replay window enforced', async () => {
237
+ setupIdentity()
238
+ process.env.AGENT_WORKSPACE_ROOT = tempWorkspace()
239
+ process.env.WH_SECRET3 = 'k'
240
+ const { defineWebhook, mountWebhooks } = await import('./webhook-in.js')
241
+ defineWebhook({ path: '/test-replay', secretName: 'WH_SECRET3', handler: () => {} })
242
+ const oldTs = (Date.now() - 10 * 60_000).toString() // 10 min ago, past 5-min window
243
+ const body = '{}'
244
+ const sig = createHmac('sha256', 'k').update(`${oldTs}.${body}`).digest('hex')
245
+ const res = await mountWebhooks({
246
+ path: '/test-replay',
247
+ headers: { 'x-tangle-signature': sig, 'x-tangle-timestamp': oldTs },
248
+ rawBody: body,
249
+ })
250
+ assert.equal(res.status, 401)
251
+ assert.match(res.body, /timestamp outside replay window/)
252
+ delete process.env.WH_SECRET3
253
+ })
254
+
255
+ test('webhook-in: schema rejection returns 422', async () => {
256
+ setupIdentity()
257
+ process.env.AGENT_WORKSPACE_ROOT = tempWorkspace()
258
+ process.env.WH_SECRET4 = 'k'
259
+ const { defineWebhook, mountWebhooks } = await import('./webhook-in.js')
260
+ defineWebhook({
261
+ path: '/test-schema',
262
+ secretName: 'WH_SECRET4',
263
+ schema: (b) => (typeof (b as { id?: string }).id === 'string' ? null : 'id required'),
264
+ handler: () => {},
265
+ })
266
+ const ts = Date.now().toString()
267
+ const body = '{"name":"alice"}' // missing id
268
+ const sig = createHmac('sha256', 'k').update(`${ts}.${body}`).digest('hex')
269
+ const res = await mountWebhooks({
270
+ path: '/test-schema',
271
+ headers: { 'x-tangle-signature': sig, 'x-tangle-timestamp': ts },
272
+ rawBody: body,
273
+ })
274
+ assert.equal(res.status, 422)
275
+ assert.match(res.body, /id required/)
276
+ delete process.env.WH_SECRET4
277
+ })
278
+
279
+ // ── webhook-out ──────────────────────────────────────────────────────────
280
+
281
+ test('webhook-out: rejects target not in allowedDomains', async () => {
282
+ setupIdentity()
283
+ process.env.AGENT_WORKSPACE_ROOT = tempWorkspace()
284
+ process.env.OUT_SECRET = 'k'
285
+ const { webhookOut } = await import('./webhook-out.js')
286
+ const r = await webhookOut('https://evil.example.com/hook', { x: 1 }, {
287
+ secretName: 'OUT_SECRET',
288
+ allowedDomains: ['tangle.tools'],
289
+ })
290
+ assert.equal(r.ok, false)
291
+ assert.match(r.error ?? '', /allowedDomains/)
292
+ delete process.env.OUT_SECRET
293
+ })
294
+
295
+ test('webhook-out: subdomain match works', async () => {
296
+ setupIdentity()
297
+ process.env.AGENT_WORKSPACE_ROOT = tempWorkspace()
298
+ process.env.OUT_SECRET2 = 'k'
299
+ // Stub global fetch to capture the request without making it
300
+ const realFetch = globalThis.fetch
301
+ let captured: { url: string; headers: Record<string, string> } | null = null
302
+ globalThis.fetch = (async (url: string, init: RequestInit) => {
303
+ captured = { url, headers: init.headers as Record<string, string> }
304
+ return new Response('ok', { status: 200 })
305
+ }) as typeof fetch
306
+ try {
307
+ const { webhookOut } = await import('./webhook-out.js')
308
+ const r = await webhookOut('https://api.tangle.tools/hook', { x: 1 }, {
309
+ secretName: 'OUT_SECRET2',
310
+ allowedDomains: ['tangle.tools'],
311
+ })
312
+ assert.equal(r.ok, true)
313
+ assert.ok(captured)
314
+ assert.ok(captured!.headers['x-tangle-signature'])
315
+ assert.ok(captured!.headers['x-tangle-timestamp'])
316
+ } finally {
317
+ globalThis.fetch = realFetch
318
+ delete process.env.OUT_SECRET2
319
+ }
320
+ })
321
+
322
+ // ── audit (M1, M2) ───────────────────────────────────────────────────────
323
+
324
+ test('audit: hash chain stable across canonical JSON (M1 fix)', async () => {
325
+ await setupTestEnv()
326
+ const { audit } = await import('./audit.js')
327
+ // Two entries; the chain links via prevHash; verifyDay re-derives the
328
+ // chain and confirms it matches.
329
+ audit.log({ event: 'test.event-1', target: 'X', payload: { a: 1, b: 2 } })
330
+ audit.log({ event: 'test.event-2', target: 'Y', payload: { c: 3 } })
331
+ const today = new Date().toISOString().slice(0, 10)
332
+ const result = audit.verifyDay(today)
333
+ assert.equal(result.ok, true)
334
+ })
335
+
336
+ test('audit: verifyDay detects tampering', async () => {
337
+ setupIdentity('audit-tamper-test')
338
+ const root = tempWorkspace()
339
+ mkdirSync(join(root, 'audit-tamper-test', '.audit'), { recursive: true })
340
+ process.env.AGENT_WORKSPACE_ROOT = root
341
+ const { audit } = await import('./audit.js')
342
+ audit.log({ event: 'untampered', target: 'Z' })
343
+ audit.log({ event: 'untampered2', target: 'Z' })
344
+ const today = new Date().toISOString().slice(0, 10)
345
+ const file = join(root, 'audit-tamper-test', '.audit', `${today}.jsonl`)
346
+ let raw = readFileSync(file, 'utf8')
347
+ // Tamper the first line's payload — the chain hash on line 2 should mismatch
348
+ const lines = raw.trim().split('\n')
349
+ const first = JSON.parse(lines[0]!)
350
+ first.target = 'TAMPERED'
351
+ lines[0] = JSON.stringify(first)
352
+ writeFileSync(file, lines.join('\n') + '\n')
353
+ const result = audit.verifyDay(today)
354
+ assert.equal(result.ok, false)
355
+ assert.ok(result.tamperedAtSeq! >= 1)
356
+ })
357
+
358
+ test('audit: fail-closed on missing identity (M2 fix)', async () => {
359
+ clearEnvForFailClosed()
360
+ const { audit } = await import('./audit.js')
361
+ assert.throws(
362
+ () => audit.log({ event: 'missing-actor' }),
363
+ /cannot resolve actor/,
364
+ )
365
+ })
366
+
367
+ // ── schedule ─────────────────────────────────────────────────────────────
368
+
369
+ test('schedule: cron validation accepts standard expressions', async () => {
370
+ const { schedule } = await import('./schedule.js')
371
+ assert.equal(schedule.validateCron('0 14 * * 1'), null)
372
+ assert.equal(schedule.validateCron('*/15 * * * *'), null)
373
+ })
374
+
375
+ test('schedule: cron validation rejects malformed', async () => {
376
+ const { schedule } = await import('./schedule.js')
377
+ assert.match(schedule.validateCron('0 14 * *') ?? '', /5 fields/)
378
+ assert.match(schedule.validateCron('99 * * * *') ?? '', /out of range/)
379
+ })
380
+
381
+ test('schedule: handler dispatch via _fire respects identity', async () => {
382
+ await setupTestEnv()
383
+ const { schedule } = await import('./schedule.js')
384
+ let fired = false
385
+ // Use unique capability per test so registration doesn't conflict
386
+ schedule.on('test-cap-fire', async () => {
387
+ fired = true
388
+ })
389
+ await schedule._fire({ id: 't1', cron: '0 8 * * *', capability: 'test-cap-fire' })
390
+ assert.equal(fired, true)
391
+ })
392
+
393
+ test('schedule: missing handler throws', async () => {
394
+ await setupTestEnv()
395
+ const { schedule } = await import('./schedule.js')
396
+ await assert.rejects(
397
+ () => schedule._fire({ id: 't2', cron: '0 8 * * *', capability: 'no-such-cap-unique' }),
398
+ /no schedule handler/,
399
+ )
400
+ })
401
+
402
+ // ── identity verify() ────────────────────────────────────────────────────
403
+ //
404
+ // verify() is NOT IMPLEMENTED — see identity.ts. Until the gateway
405
+ // pubkey directory ships, calling verify() throws. This test pins
406
+ // that behavior so a future stub that "just returns true" cannot
407
+ // silently regress the contract.
408
+
409
+ test('identity: verify() throws not-implemented (gateway pubkey directory not shipped)', async () => {
410
+ await setupTestEnv()
411
+ const { identity } = await import('./identity.js')
412
+ const envelope = {
413
+ agentId: 'X',
414
+ sessionId: 's',
415
+ deployerId: 'd',
416
+ signedAt: Date.now(),
417
+ expiresAt: Date.now() + 3600_000,
418
+ publicKey: 'k',
419
+ signature: 's',
420
+ }
421
+ assert.throws(() => identity.verify(envelope), /not implemented/)
422
+ })
@@ -0,0 +1,16 @@
1
+ // agent-base:secure — security floor for every agent-runtime bundle.
2
+ //
3
+ // Composition surface. Each primitive ships as its own module so a bundle
4
+ // can import only what it needs. The default operating mode is "everything
5
+ // is secure unless you explicitly opt out, and opt-outs are audit-logged."
6
+ //
7
+ // See docs/specs/agent-base-secure.md for guarantees, threat model, and
8
+ // operator responsibilities.
9
+
10
+ export { loadSecret, requireSecret, secrets, type SecureString } from './secrets.js'
11
+ export { workspace } from './workspace.js'
12
+ export { defineWebhook, mountWebhooks, type WebhookSpec } from './webhook-in.js'
13
+ export { webhookOut, type WebhookOutOptions } from './webhook-out.js'
14
+ export { schedule, type ScheduledTrigger } from './schedule.js'
15
+ export { identity } from './identity.js'
16
+ export { audit, type AuditEntry } from './audit.js'
@@ -0,0 +1,83 @@
1
+ // schedule — declarative scheduled triggers driven by the manifest's
2
+ // defaults.schedule[] array. Each trigger executes with the agent's
3
+ // signed identity. Replaces wrangler.toml [triggers] cron config.
4
+ //
5
+ // Bundles do not write cron handlers directly; they declare schedules
6
+ // in the manifest and implement the matching capability. The runtime
7
+ // dispatches to the capability at trigger time.
8
+
9
+ import { audit } from './audit.js'
10
+ import { identity } from './identity.js'
11
+
12
+ export interface ScheduledTrigger {
13
+ /** Stable id, matched against capability dispatcher. */
14
+ id: string
15
+ /** Standard 5-field cron expression (minute hour day month dayOfWeek). */
16
+ cron: string
17
+ /** Capability name from manifest.defaults.declaredCapabilities. */
18
+ capability: string
19
+ /** When true, runtime guarantees at-least-once delivery on operator
20
+ * restart; otherwise best-effort. */
21
+ atLeastOnce?: boolean
22
+ }
23
+
24
+ const handlers = new Map<string, (trigger: ScheduledTrigger) => Promise<void>>()
25
+
26
+ export const schedule = {
27
+ /** Register a capability handler. The runtime calls this on trigger
28
+ * fire. The handler's identity is the agent's current identity. */
29
+ on(capability: string, handler: (trigger: ScheduledTrigger) => Promise<void>): void {
30
+ if (handlers.has(capability)) {
31
+ throw new Error(`schedule handler already registered for capability: ${capability}`)
32
+ }
33
+ handlers.set(capability, handler)
34
+ audit.log({ event: 'schedule.handler-register', target: capability })
35
+ },
36
+
37
+ /** Runtime entry point — invoked by the trigger dispatcher when a
38
+ * cron fires. Bundles do NOT call this directly. */
39
+ async _fire(trigger: ScheduledTrigger): Promise<void> {
40
+ const handler = handlers.get(trigger.capability)
41
+ if (!handler) {
42
+ audit.log({ event: 'schedule.miss', target: trigger.id, payload: { capability: trigger.capability, reason: 'no-handler-registered' } })
43
+ throw new Error(`no schedule handler for capability ${trigger.capability}`)
44
+ }
45
+ const id = identity.current()
46
+ audit.log({ event: 'schedule.fire', target: trigger.id, payload: { capability: trigger.capability, agentId: id.agentId } })
47
+ try {
48
+ await handler(trigger)
49
+ audit.log({ event: 'schedule.complete', target: trigger.id, payload: { capability: trigger.capability } })
50
+ } catch (err) {
51
+ audit.log({ event: 'schedule.error', target: trigger.id, payload: { capability: trigger.capability, error: (err as Error).message.slice(0, 200) } })
52
+ throw err
53
+ }
54
+ },
55
+
56
+ /** Validate a cron expression at registration time (before runtime
57
+ * accepts the manifest). Returns null on success, error string on
58
+ * failure. The runtime's own cron parser may be stricter. */
59
+ validateCron(cron: string): null | string {
60
+ const fields = cron.trim().split(/\s+/)
61
+ if (fields.length !== 5) return `expected 5 fields (m h dom mon dow), got ${fields.length}`
62
+ const ranges = [
63
+ [0, 59], // minute
64
+ [0, 23], // hour
65
+ [1, 31], // day-of-month
66
+ [1, 12], // month
67
+ [0, 7], // day-of-week (7 == 0 == Sunday)
68
+ ]
69
+ for (let i = 0; i < 5; i++) {
70
+ const f = fields[i]!
71
+ if (f === '*') continue
72
+ // Allow simple comma-separated lists, ranges, steps.
73
+ if (!/^(\*|\*\/\d+|\d+(-\d+)?(,\d+(-\d+)?)*(\/\d+)?)$/.test(f)) {
74
+ return `field ${i} (${f}) does not match cron syntax`
75
+ }
76
+ const numbers = f.match(/\d+/g)?.map(Number) ?? []
77
+ for (const n of numbers) {
78
+ if (n < ranges[i]![0] || n > ranges[i]![1]) return `field ${i} value ${n} out of range [${ranges[i]![0]}, ${ranges[i]![1]}]`
79
+ }
80
+ }
81
+ return null
82
+ },
83
+ }
@@ -0,0 +1,128 @@
1
+ // secrets — dotenvx-encrypted secret storage with a SecureString that
2
+ // resists accidental leakage via logs/JSON serialization.
3
+ //
4
+ // Threat: an agent author console.logs the API key during a debug
5
+ // session, that log gets shipped to Sentry. SecureString throws on
6
+ // .toString() and serializes as '[REDACTED]'. The author has to call
7
+ // .unsafeReveal() to get the raw string, and that call is audit-logged.
8
+
9
+ import { audit } from './audit.js'
10
+
11
+ const REDACTED = '[REDACTED]'
12
+
13
+ export class SecureString {
14
+ // Private + non-enumerable so JSON.stringify can't reach it.
15
+ readonly #value: string
16
+ readonly #name: string
17
+
18
+ constructor(name: string, value: string) {
19
+ this.#name = name
20
+ this.#value = value
21
+ }
22
+
23
+ toString(): string {
24
+ return REDACTED
25
+ }
26
+
27
+ toJSON(): string {
28
+ return REDACTED
29
+ }
30
+
31
+ // Explicit reveal. Audit-logs every call. Use only at the
32
+ // boundary where the raw string crosses into a non-loggable
33
+ // surface (HTTP Authorization header, signed payload, etc.).
34
+ unsafeReveal(reason: string): string {
35
+ audit.log({
36
+ event: 'secret.reveal',
37
+ target: this.#name,
38
+ payload: { reason: reason.slice(0, 200) },
39
+ })
40
+ return this.#value
41
+ }
42
+
43
+ get name(): string {
44
+ return this.#name
45
+ }
46
+ }
47
+
48
+ interface SecretsBackend {
49
+ get(name: string): string | undefined
50
+ }
51
+
52
+ // Detects values that look like dotenvx ciphertext but were not decrypted —
53
+ // the failure mode H1 flagged. Real dotenvx output always starts with
54
+ // `encrypted:` or is a base64 envelope with a known prefix. If a secret value
55
+ // matches this shape, dotenvx didn't run and we'd be returning ciphertext
56
+ // to the caller as if it were plaintext.
57
+ const DOTENVX_CIPHERTEXT_RE = /^encrypted:[A-Za-z0-9+/=]+$/
58
+
59
+ class DotenvxBackend implements SecretsBackend {
60
+ // Uses process.env at runtime. dotenvx's CLI/runtime decrypts
61
+ // .env.encrypted via DOTENV_PRIVATE_KEY at process start; we read
62
+ // from process.env which the dotenvx wrapper already populated.
63
+ get(name: string): string | undefined {
64
+ const raw = process.env[name]
65
+ if (raw === undefined) return undefined
66
+ if (DOTENVX_CIPHERTEXT_RE.test(raw)) {
67
+ throw new Error(
68
+ `secrets.${name}: value looks like dotenvx ciphertext (starts with 'encrypted:'). ` +
69
+ 'dotenvx decryption did not run — check DOTENV_PRIVATE_KEY is set in the runtime ' +
70
+ 'environment and that .env.encrypted is loaded before the agent starts. ' +
71
+ 'Refusing to return ciphertext as if it were plaintext.',
72
+ )
73
+ }
74
+ return raw
75
+ }
76
+ }
77
+
78
+ const cache = new Map<string, SecureString>()
79
+ const backend: SecretsBackend = new DotenvxBackend()
80
+
81
+ /**
82
+ * Load a secret. Returns undefined when missing (caller decides whether
83
+ * that's recoverable). Use requireSecret() for hard-required secrets.
84
+ */
85
+ export function loadSecret(name: string): SecureString | undefined {
86
+ if (cache.has(name)) {
87
+ audit.log({ event: 'secret.read', target: name, payload: { cacheHit: true } })
88
+ return cache.get(name)
89
+ }
90
+ const raw = backend.get(name)
91
+ if (raw === undefined) {
92
+ audit.log({ event: 'secret.miss', target: name })
93
+ return undefined
94
+ }
95
+ const secure = new SecureString(name, raw)
96
+ cache.set(name, secure)
97
+ audit.log({ event: 'secret.read', target: name, payload: { cacheHit: false } })
98
+ return secure
99
+ }
100
+
101
+ /**
102
+ * Hard-required secret. Throws on miss. Use this when the bundle
103
+ * cannot operate without the secret.
104
+ */
105
+ export function requireSecret(name: string): SecureString {
106
+ const secret = loadSecret(name)
107
+ if (!secret) {
108
+ throw new Error(`required secret missing: ${name} (declare in manifest.defaults.secrets and check .env.encrypted)`)
109
+ }
110
+ return secret
111
+ }
112
+
113
+ export const secrets = {
114
+ load: loadSecret,
115
+ require: requireSecret,
116
+ /**
117
+ * Clear the in-process secret cache. SecureString instances already
118
+ * handed out to bundle code are NOT zeroed — they remain live in
119
+ * memory until garbage-collected. This is a CACHE clear, not a memory
120
+ * shred. The name reflects what it actually does (M3 fix — was misnamed
121
+ * `purge()` which implied a stronger guarantee than delivered).
122
+ */
123
+ clearCache(): void {
124
+ const count = cache.size
125
+ cache.clear()
126
+ audit.log({ event: 'secret.cache-clear', payload: { cleared: count } })
127
+ },
128
+ }