@actrun_ai/tastekit-core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/dist/compiler/compiler.d.ts +24 -0
  2. package/dist/compiler/compiler.d.ts.map +1 -0
  3. package/dist/compiler/compiler.js +153 -0
  4. package/dist/compiler/compiler.js.map +1 -0
  5. package/dist/compiler/constitution-compiler.d.ts +11 -0
  6. package/dist/compiler/constitution-compiler.d.ts.map +1 -0
  7. package/dist/compiler/constitution-compiler.js +154 -0
  8. package/dist/compiler/constitution-compiler.js.map +1 -0
  9. package/dist/compiler/derivation.d.ts +125 -0
  10. package/dist/compiler/derivation.d.ts.map +1 -0
  11. package/dist/compiler/derivation.js +109 -0
  12. package/dist/compiler/derivation.js.map +1 -0
  13. package/dist/compiler/guardrails-compiler.d.ts +11 -0
  14. package/dist/compiler/guardrails-compiler.d.ts.map +1 -0
  15. package/dist/compiler/guardrails-compiler.js +362 -0
  16. package/dist/compiler/guardrails-compiler.js.map +1 -0
  17. package/dist/compiler/index.d.ts +13 -0
  18. package/dist/compiler/index.d.ts.map +1 -0
  19. package/dist/compiler/index.js +13 -0
  20. package/dist/compiler/index.js.map +1 -0
  21. package/dist/compiler/memory-compiler.d.ts +12 -0
  22. package/dist/compiler/memory-compiler.d.ts.map +1 -0
  23. package/dist/compiler/memory-compiler.js +293 -0
  24. package/dist/compiler/memory-compiler.js.map +1 -0
  25. package/dist/compiler/playbook-compiler.d.ts +15 -0
  26. package/dist/compiler/playbook-compiler.d.ts.map +1 -0
  27. package/dist/compiler/playbook-compiler.js +1143 -0
  28. package/dist/compiler/playbook-compiler.js.map +1 -0
  29. package/dist/compiler/skills-compiler.d.ts +15 -0
  30. package/dist/compiler/skills-compiler.d.ts.map +1 -0
  31. package/dist/compiler/skills-compiler.js +203 -0
  32. package/dist/compiler/skills-compiler.js.map +1 -0
  33. package/dist/domains/development-agent/domain.d.ts +8 -0
  34. package/dist/domains/development-agent/domain.d.ts.map +1 -0
  35. package/dist/domains/development-agent/domain.js +35 -0
  36. package/dist/domains/development-agent/domain.js.map +1 -0
  37. package/dist/domains/development-agent/index.d.ts +3 -0
  38. package/dist/domains/development-agent/index.d.ts.map +1 -0
  39. package/dist/domains/development-agent/index.js +3 -0
  40. package/dist/domains/development-agent/index.js.map +1 -0
  41. package/dist/domains/development-agent/rubric.d.ts +13 -0
  42. package/dist/domains/development-agent/rubric.d.ts.map +1 -0
  43. package/dist/domains/development-agent/rubric.js +451 -0
  44. package/dist/domains/development-agent/rubric.js.map +1 -0
  45. package/dist/domains/development-agent/skills/code-review.d.ts +25 -0
  46. package/dist/domains/development-agent/skills/code-review.d.ts.map +1 -0
  47. package/dist/domains/development-agent/skills/code-review.js +146 -0
  48. package/dist/domains/development-agent/skills/code-review.js.map +1 -0
  49. package/dist/domains/development-agent/skills/debugging-issues.d.ts +25 -0
  50. package/dist/domains/development-agent/skills/debugging-issues.d.ts.map +1 -0
  51. package/dist/domains/development-agent/skills/debugging-issues.js +155 -0
  52. package/dist/domains/development-agent/skills/debugging-issues.js.map +1 -0
  53. package/dist/domains/development-agent/skills/documenting-code.d.ts +19 -0
  54. package/dist/domains/development-agent/skills/documenting-code.d.ts.map +1 -0
  55. package/dist/domains/development-agent/skills/documenting-code.js +92 -0
  56. package/dist/domains/development-agent/skills/documenting-code.js.map +1 -0
  57. package/dist/domains/development-agent/skills/index.d.ts +55 -0
  58. package/dist/domains/development-agent/skills/index.d.ts.map +1 -0
  59. package/dist/domains/development-agent/skills/index.js +19 -0
  60. package/dist/domains/development-agent/skills/index.js.map +1 -0
  61. package/dist/domains/development-agent/skills/refactor-plan.d.ts +19 -0
  62. package/dist/domains/development-agent/skills/refactor-plan.d.ts.map +1 -0
  63. package/dist/domains/development-agent/skills/refactor-plan.js +117 -0
  64. package/dist/domains/development-agent/skills/refactor-plan.js.map +1 -0
  65. package/dist/domains/development-agent/skills/writing-tests.d.ts +20 -0
  66. package/dist/domains/development-agent/skills/writing-tests.d.ts.map +1 -0
  67. package/dist/domains/development-agent/skills/writing-tests.js +93 -0
  68. package/dist/domains/development-agent/skills/writing-tests.js.map +1 -0
  69. package/dist/domains/general-agent/domain.d.ts +9 -0
  70. package/dist/domains/general-agent/domain.d.ts.map +1 -0
  71. package/dist/domains/general-agent/domain.js +36 -0
  72. package/dist/domains/general-agent/domain.js.map +1 -0
  73. package/dist/domains/general-agent/index.d.ts +4 -0
  74. package/dist/domains/general-agent/index.d.ts.map +1 -0
  75. package/dist/domains/general-agent/index.js +4 -0
  76. package/dist/domains/general-agent/index.js.map +1 -0
  77. package/dist/domains/general-agent/rubric.d.ts +8 -0
  78. package/dist/domains/general-agent/rubric.d.ts.map +1 -0
  79. package/dist/domains/general-agent/rubric.js +332 -0
  80. package/dist/domains/general-agent/rubric.js.map +1 -0
  81. package/dist/domains/general-agent/skills/context-synthesis.d.ts +19 -0
  82. package/dist/domains/general-agent/skills/context-synthesis.d.ts.map +1 -0
  83. package/dist/domains/general-agent/skills/context-synthesis.js +94 -0
  84. package/dist/domains/general-agent/skills/context-synthesis.js.map +1 -0
  85. package/dist/domains/general-agent/skills/index.d.ts +32 -0
  86. package/dist/domains/general-agent/skills/index.d.ts.map +1 -0
  87. package/dist/domains/general-agent/skills/index.js +11 -0
  88. package/dist/domains/general-agent/skills/index.js.map +1 -0
  89. package/dist/domains/general-agent/skills/task-orchestration.d.ts +19 -0
  90. package/dist/domains/general-agent/skills/task-orchestration.d.ts.map +1 -0
  91. package/dist/domains/general-agent/skills/task-orchestration.js +101 -0
  92. package/dist/domains/general-agent/skills/task-orchestration.js.map +1 -0
  93. package/dist/domains/index.d.ts +21 -0
  94. package/dist/domains/index.d.ts.map +1 -0
  95. package/dist/domains/index.js +37 -0
  96. package/dist/domains/index.js.map +1 -0
  97. package/dist/domains/types.d.ts +22 -0
  98. package/dist/domains/types.d.ts.map +1 -0
  99. package/dist/domains/types.js +2 -0
  100. package/dist/domains/types.js.map +1 -0
  101. package/dist/drift/consolidator.d.ts +47 -0
  102. package/dist/drift/consolidator.d.ts.map +1 -0
  103. package/dist/drift/consolidator.js +116 -0
  104. package/dist/drift/consolidator.js.map +1 -0
  105. package/dist/drift/detector.d.ts +79 -0
  106. package/dist/drift/detector.d.ts.map +1 -0
  107. package/dist/drift/detector.js +424 -0
  108. package/dist/drift/detector.js.map +1 -0
  109. package/dist/drift/index.d.ts +9 -0
  110. package/dist/drift/index.d.ts.map +1 -0
  111. package/dist/drift/index.js +9 -0
  112. package/dist/drift/index.js.map +1 -0
  113. package/dist/drift/proposal.d.ts +108 -0
  114. package/dist/drift/proposal.d.ts.map +1 -0
  115. package/dist/drift/proposal.js +2 -0
  116. package/dist/drift/proposal.js.map +1 -0
  117. package/dist/eval/index.d.ts +9 -0
  118. package/dist/eval/index.d.ts.map +1 -0
  119. package/dist/eval/index.js +9 -0
  120. package/dist/eval/index.js.map +1 -0
  121. package/dist/eval/judge.d.ts +33 -0
  122. package/dist/eval/judge.d.ts.map +1 -0
  123. package/dist/eval/judge.js +209 -0
  124. package/dist/eval/judge.js.map +1 -0
  125. package/dist/eval/replay.d.ts +23 -0
  126. package/dist/eval/replay.d.ts.map +1 -0
  127. package/dist/eval/replay.js +42 -0
  128. package/dist/eval/replay.js.map +1 -0
  129. package/dist/eval/runner.d.ts +35 -0
  130. package/dist/eval/runner.d.ts.map +1 -0
  131. package/dist/eval/runner.js +52 -0
  132. package/dist/eval/runner.js.map +1 -0
  133. package/dist/generators/agents-md-generator.d.ts +9 -0
  134. package/dist/generators/agents-md-generator.d.ts.map +1 -0
  135. package/dist/generators/agents-md-generator.js +71 -0
  136. package/dist/generators/agents-md-generator.js.map +1 -0
  137. package/dist/generators/blocks/domain-context.d.ts +7 -0
  138. package/dist/generators/blocks/domain-context.d.ts.map +1 -0
  139. package/dist/generators/blocks/domain-context.js +26 -0
  140. package/dist/generators/blocks/domain-context.js.map +1 -0
  141. package/dist/generators/blocks/drift-awareness.d.ts +6 -0
  142. package/dist/generators/blocks/drift-awareness.d.ts.map +1 -0
  143. package/dist/generators/blocks/drift-awareness.js +28 -0
  144. package/dist/generators/blocks/drift-awareness.js.map +1 -0
  145. package/dist/generators/blocks/evaluation-criteria.d.ts +7 -0
  146. package/dist/generators/blocks/evaluation-criteria.d.ts.map +1 -0
  147. package/dist/generators/blocks/evaluation-criteria.js +18 -0
  148. package/dist/generators/blocks/evaluation-criteria.js.map +1 -0
  149. package/dist/generators/blocks/guardrails.d.ts +6 -0
  150. package/dist/generators/blocks/guardrails.d.ts.map +1 -0
  151. package/dist/generators/blocks/guardrails.js +44 -0
  152. package/dist/generators/blocks/guardrails.js.map +1 -0
  153. package/dist/generators/blocks/identity.d.ts +6 -0
  154. package/dist/generators/blocks/identity.d.ts.map +1 -0
  155. package/dist/generators/blocks/identity.js +36 -0
  156. package/dist/generators/blocks/identity.js.map +1 -0
  157. package/dist/generators/blocks/memory-policy.d.ts +6 -0
  158. package/dist/generators/blocks/memory-policy.d.ts.map +1 -0
  159. package/dist/generators/blocks/memory-policy.js +34 -0
  160. package/dist/generators/blocks/memory-policy.js.map +1 -0
  161. package/dist/generators/blocks/playbook-index.d.ts +7 -0
  162. package/dist/generators/blocks/playbook-index.d.ts.map +1 -0
  163. package/dist/generators/blocks/playbook-index.js +14 -0
  164. package/dist/generators/blocks/playbook-index.js.map +1 -0
  165. package/dist/generators/blocks/session-rhythm.d.ts +6 -0
  166. package/dist/generators/blocks/session-rhythm.d.ts.map +1 -0
  167. package/dist/generators/blocks/session-rhythm.js +11 -0
  168. package/dist/generators/blocks/session-rhythm.js.map +1 -0
  169. package/dist/generators/blocks/skills-index.d.ts +6 -0
  170. package/dist/generators/blocks/skills-index.d.ts.map +1 -0
  171. package/dist/generators/blocks/skills-index.js +36 -0
  172. package/dist/generators/blocks/skills-index.js.map +1 -0
  173. package/dist/generators/blocks/tool-usage.d.ts +6 -0
  174. package/dist/generators/blocks/tool-usage.d.ts.map +1 -0
  175. package/dist/generators/blocks/tool-usage.js +31 -0
  176. package/dist/generators/blocks/tool-usage.js.map +1 -0
  177. package/dist/generators/blocks/vocabulary.d.ts +7 -0
  178. package/dist/generators/blocks/vocabulary.d.ts.map +1 -0
  179. package/dist/generators/blocks/vocabulary.js +27 -0
  180. package/dist/generators/blocks/vocabulary.js.map +1 -0
  181. package/dist/generators/claude-hooks-compat.d.ts +33 -0
  182. package/dist/generators/claude-hooks-compat.d.ts.map +1 -0
  183. package/dist/generators/claude-hooks-compat.js +322 -0
  184. package/dist/generators/claude-hooks-compat.js.map +1 -0
  185. package/dist/generators/claude-md-generator.d.ts +12 -0
  186. package/dist/generators/claude-md-generator.d.ts.map +1 -0
  187. package/dist/generators/claude-md-generator.js +60 -0
  188. package/dist/generators/claude-md-generator.js.map +1 -0
  189. package/dist/generators/index.d.ts +11 -0
  190. package/dist/generators/index.d.ts.map +1 -0
  191. package/dist/generators/index.js +11 -0
  192. package/dist/generators/index.js.map +1 -0
  193. package/dist/generators/soul-md-generator.d.ts +9 -0
  194. package/dist/generators/soul-md-generator.d.ts.map +1 -0
  195. package/dist/generators/soul-md-generator.js +104 -0
  196. package/dist/generators/soul-md-generator.js.map +1 -0
  197. package/dist/generators/types.d.ts +55 -0
  198. package/dist/generators/types.d.ts.map +1 -0
  199. package/dist/generators/types.js +7 -0
  200. package/dist/generators/types.js.map +1 -0
  201. package/dist/index.d.ts +19 -0
  202. package/dist/index.d.ts.map +1 -0
  203. package/dist/index.js +20 -0
  204. package/dist/index.js.map +1 -0
  205. package/dist/interview/index.d.ts +11 -0
  206. package/dist/interview/index.d.ts.map +1 -0
  207. package/dist/interview/index.js +11 -0
  208. package/dist/interview/index.js.map +1 -0
  209. package/dist/interview/interviewer.d.ts +94 -0
  210. package/dist/interview/interviewer.d.ts.map +1 -0
  211. package/dist/interview/interviewer.js +516 -0
  212. package/dist/interview/interviewer.js.map +1 -0
  213. package/dist/interview/questions.d.ts +15 -0
  214. package/dist/interview/questions.d.ts.map +1 -0
  215. package/dist/interview/questions.js +86 -0
  216. package/dist/interview/questions.js.map +1 -0
  217. package/dist/interview/rubric.d.ts +265 -0
  218. package/dist/interview/rubric.d.ts.map +1 -0
  219. package/dist/interview/rubric.js +74 -0
  220. package/dist/interview/rubric.js.map +1 -0
  221. package/dist/interview/session.d.ts +9 -0
  222. package/dist/interview/session.d.ts.map +1 -0
  223. package/dist/interview/session.js +33 -0
  224. package/dist/interview/session.js.map +1 -0
  225. package/dist/interview/universal-rubric.d.ts +11 -0
  226. package/dist/interview/universal-rubric.d.ts.map +1 -0
  227. package/dist/interview/universal-rubric.js +165 -0
  228. package/dist/interview/universal-rubric.js.map +1 -0
  229. package/dist/llm/index.d.ts +8 -0
  230. package/dist/llm/index.d.ts.map +1 -0
  231. package/dist/llm/index.js +8 -0
  232. package/dist/llm/index.js.map +1 -0
  233. package/dist/llm/provider.d.ts +62 -0
  234. package/dist/llm/provider.d.ts.map +1 -0
  235. package/dist/llm/provider.js +24 -0
  236. package/dist/llm/provider.js.map +1 -0
  237. package/dist/llm/providers/anthropic.d.ts +18 -0
  238. package/dist/llm/providers/anthropic.d.ts.map +1 -0
  239. package/dist/llm/providers/anthropic.js +56 -0
  240. package/dist/llm/providers/anthropic.js.map +1 -0
  241. package/dist/llm/providers/ollama.d.ts +17 -0
  242. package/dist/llm/providers/ollama.d.ts.map +1 -0
  243. package/dist/llm/providers/ollama.js +45 -0
  244. package/dist/llm/providers/ollama.js.map +1 -0
  245. package/dist/llm/providers/openai.d.ts +19 -0
  246. package/dist/llm/providers/openai.d.ts.map +1 -0
  247. package/dist/llm/providers/openai.js +52 -0
  248. package/dist/llm/providers/openai.js.map +1 -0
  249. package/dist/llm/resolve.d.ts +11 -0
  250. package/dist/llm/resolve.d.ts.map +1 -0
  251. package/dist/llm/resolve.js +56 -0
  252. package/dist/llm/resolve.js.map +1 -0
  253. package/dist/mcp/binder.d.ts +28 -0
  254. package/dist/mcp/binder.d.ts.map +1 -0
  255. package/dist/mcp/binder.js +87 -0
  256. package/dist/mcp/binder.js.map +1 -0
  257. package/dist/mcp/client.d.ts +99 -0
  258. package/dist/mcp/client.d.ts.map +1 -0
  259. package/dist/mcp/client.js +196 -0
  260. package/dist/mcp/client.js.map +1 -0
  261. package/dist/mcp/index.d.ts +9 -0
  262. package/dist/mcp/index.d.ts.map +1 -0
  263. package/dist/mcp/index.js +9 -0
  264. package/dist/mcp/index.js.map +1 -0
  265. package/dist/mcp/inspector.d.ts +29 -0
  266. package/dist/mcp/inspector.d.ts.map +1 -0
  267. package/dist/mcp/inspector.js +44 -0
  268. package/dist/mcp/inspector.js.map +1 -0
  269. package/dist/schemas/bindings.d.ts +248 -0
  270. package/dist/schemas/bindings.d.ts.map +1 -0
  271. package/dist/schemas/bindings.js +34 -0
  272. package/dist/schemas/bindings.js.map +1 -0
  273. package/dist/schemas/constitution.d.ts +229 -0
  274. package/dist/schemas/constitution.d.ts.map +1 -0
  275. package/dist/schemas/constitution.js +47 -0
  276. package/dist/schemas/constitution.js.map +1 -0
  277. package/dist/schemas/evalpack.d.ts +322 -0
  278. package/dist/schemas/evalpack.d.ts.map +1 -0
  279. package/dist/schemas/evalpack.js +43 -0
  280. package/dist/schemas/evalpack.js.map +1 -0
  281. package/dist/schemas/guardrails.d.ts +171 -0
  282. package/dist/schemas/guardrails.d.ts.map +1 -0
  283. package/dist/schemas/guardrails.js +35 -0
  284. package/dist/schemas/guardrails.js.map +1 -0
  285. package/dist/schemas/index.d.ts +18 -0
  286. package/dist/schemas/index.d.ts.map +1 -0
  287. package/dist/schemas/index.js +18 -0
  288. package/dist/schemas/index.js.map +1 -0
  289. package/dist/schemas/memory.d.ts +277 -0
  290. package/dist/schemas/memory.d.ts.map +1 -0
  291. package/dist/schemas/memory.js +42 -0
  292. package/dist/schemas/memory.js.map +1 -0
  293. package/dist/schemas/playbook.d.ts +270 -0
  294. package/dist/schemas/playbook.d.ts.map +1 -0
  295. package/dist/schemas/playbook.js +52 -0
  296. package/dist/schemas/playbook.js.map +1 -0
  297. package/dist/schemas/skills.d.ts +320 -0
  298. package/dist/schemas/skills.d.ts.map +1 -0
  299. package/dist/schemas/skills.js +84 -0
  300. package/dist/schemas/skills.js.map +1 -0
  301. package/dist/schemas/trace.d.ts +126 -0
  302. package/dist/schemas/trace.d.ts.map +1 -0
  303. package/dist/schemas/trace.js +70 -0
  304. package/dist/schemas/trace.js.map +1 -0
  305. package/dist/schemas/trust.d.ts +142 -0
  306. package/dist/schemas/trust.d.ts.map +1 -0
  307. package/dist/schemas/trust.js +30 -0
  308. package/dist/schemas/trust.js.map +1 -0
  309. package/dist/schemas/validators.d.ts +26 -0
  310. package/dist/schemas/validators.d.ts.map +1 -0
  311. package/dist/schemas/validators.js +79 -0
  312. package/dist/schemas/validators.js.map +1 -0
  313. package/dist/schemas/workspace.d.ts +725 -0
  314. package/dist/schemas/workspace.d.ts.map +1 -0
  315. package/dist/schemas/workspace.js +119 -0
  316. package/dist/schemas/workspace.js.map +1 -0
  317. package/dist/skills/constraints.d.ts +19 -0
  318. package/dist/skills/constraints.d.ts.map +1 -0
  319. package/dist/skills/constraints.js +91 -0
  320. package/dist/skills/constraints.js.map +1 -0
  321. package/dist/skills/generator.d.ts +13 -0
  322. package/dist/skills/generator.d.ts.map +1 -0
  323. package/dist/skills/generator.js +126 -0
  324. package/dist/skills/generator.js.map +1 -0
  325. package/dist/skills/graph.d.ts +42 -0
  326. package/dist/skills/graph.d.ts.map +1 -0
  327. package/dist/skills/graph.js +217 -0
  328. package/dist/skills/graph.js.map +1 -0
  329. package/dist/skills/index.d.ts +13 -0
  330. package/dist/skills/index.d.ts.map +1 -0
  331. package/dist/skills/index.js +13 -0
  332. package/dist/skills/index.js.map +1 -0
  333. package/dist/skills/linter.d.ts +22 -0
  334. package/dist/skills/linter.d.ts.map +1 -0
  335. package/dist/skills/linter.js +201 -0
  336. package/dist/skills/linter.js.map +1 -0
  337. package/dist/skills/packer.d.ts +27 -0
  338. package/dist/skills/packer.d.ts.map +1 -0
  339. package/dist/skills/packer.js +72 -0
  340. package/dist/skills/packer.js.map +1 -0
  341. package/dist/skills/tracker.d.ts +27 -0
  342. package/dist/skills/tracker.d.ts.map +1 -0
  343. package/dist/skills/tracker.js +131 -0
  344. package/dist/skills/tracker.js.map +1 -0
  345. package/dist/skills/versioner.d.ts +19 -0
  346. package/dist/skills/versioner.d.ts.map +1 -0
  347. package/dist/skills/versioner.js +76 -0
  348. package/dist/skills/versioner.js.map +1 -0
  349. package/dist/tracing/index.d.ts +8 -0
  350. package/dist/tracing/index.d.ts.map +1 -0
  351. package/dist/tracing/index.js +8 -0
  352. package/dist/tracing/index.js.map +1 -0
  353. package/dist/tracing/reader.d.ts +18 -0
  354. package/dist/tracing/reader.d.ts.map +1 -0
  355. package/dist/tracing/reader.js +34 -0
  356. package/dist/tracing/reader.js.map +1 -0
  357. package/dist/tracing/tracer.d.ts +22 -0
  358. package/dist/tracing/tracer.d.ts.map +1 -0
  359. package/dist/tracing/tracer.js +105 -0
  360. package/dist/tracing/tracer.js.map +1 -0
  361. package/dist/trust/auditor.d.ts +35 -0
  362. package/dist/trust/auditor.d.ts.map +1 -0
  363. package/dist/trust/auditor.js +78 -0
  364. package/dist/trust/auditor.js.map +1 -0
  365. package/dist/trust/index.d.ts +8 -0
  366. package/dist/trust/index.d.ts.map +1 -0
  367. package/dist/trust/index.js +8 -0
  368. package/dist/trust/index.js.map +1 -0
  369. package/dist/trust/manager.d.ts +18 -0
  370. package/dist/trust/manager.d.ts.map +1 -0
  371. package/dist/trust/manager.js +60 -0
  372. package/dist/trust/manager.js.map +1 -0
  373. package/dist/utils/filesystem.d.ts +15 -0
  374. package/dist/utils/filesystem.d.ts.map +1 -0
  375. package/dist/utils/filesystem.js +53 -0
  376. package/dist/utils/filesystem.js.map +1 -0
  377. package/dist/utils/hash.d.ts +7 -0
  378. package/dist/utils/hash.d.ts.map +1 -0
  379. package/dist/utils/hash.js +15 -0
  380. package/dist/utils/hash.js.map +1 -0
  381. package/dist/utils/index.d.ts +7 -0
  382. package/dist/utils/index.d.ts.map +1 -0
  383. package/dist/utils/index.js +7 -0
  384. package/dist/utils/index.js.map +1 -0
  385. package/dist/utils/yaml.d.ts +6 -0
  386. package/dist/utils/yaml.d.ts.map +1 -0
  387. package/dist/utils/yaml.js +14 -0
  388. package/dist/utils/yaml.js.map +1 -0
  389. package/package.json +58 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"judge.d.ts","sourceRoot":"","sources":["../../eval/judge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAmB,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE5F;;;;;;GAMG;AAEH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3C;AAED,qBAAa,KAAK;IAChB,OAAO,CAAC,WAAW,CAAC,CAAmB;gBAE3B,WAAW,CAAC,EAAE,gBAAgB;IAIpC,YAAY,CAChB,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,EAAE,CAAC;YAWd,SAAS;IAwBvB,OAAO,CAAC,sBAAsB;IA+C9B,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,eAAe;YAoCT,aAAa;IAyD3B;;OAEG;IACH,OAAO,CAAC,eAAe;CAsBxB"}
@@ -0,0 +1,209 @@
1
+ import { z } from 'zod';
2
+ export class Judge {
3
+ llmProvider;
4
+ constructor(llmProvider) {
5
+ this.llmProvider = llmProvider;
6
+ }
7
+ async judgeOutputs(outputs, judging, expected) {
8
+ const results = [];
9
+ for (const rule of judging.rules) {
10
+ const result = await this.applyRule(rule, outputs, expected);
11
+ results.push(result);
12
+ }
13
+ return results;
14
+ }
15
+ async applyRule(rule, outputs, expected) {
16
+ switch (rule.type) {
17
+ case 'deterministic':
18
+ return this.applyDeterministicRule(rule, outputs, expected);
19
+ case 'regex':
20
+ return this.applyRegexRule(rule, outputs);
21
+ case 'schema':
22
+ return this.applySchemaRule(rule, outputs);
23
+ case 'llm_judge':
24
+ return this.applyLLMJudge(rule, outputs);
25
+ default:
26
+ return {
27
+ rule_id: rule.rule_id,
28
+ passed: false,
29
+ score: 0,
30
+ reason: `Unknown rule type: ${rule.type}`,
31
+ };
32
+ }
33
+ }
34
+ applyDeterministicRule(rule, outputs, expected) {
35
+ const outputStr = typeof outputs === 'string' ? outputs : JSON.stringify(outputs);
36
+ // Check required outputs are present
37
+ if (expected.required_outputs && expected.required_outputs.length > 0) {
38
+ const missing = expected.required_outputs.filter(field => {
39
+ if (typeof outputs === 'object' && outputs !== null) {
40
+ return !(field in outputs);
41
+ }
42
+ return !outputStr.includes(field);
43
+ });
44
+ if (missing.length > 0) {
45
+ return {
46
+ rule_id: rule.rule_id,
47
+ passed: false,
48
+ score: 0,
49
+ reason: `Missing required outputs: ${missing.join(', ')}`,
50
+ };
51
+ }
52
+ }
53
+ // Check rubric thresholds if pattern specifies a rubric to check
54
+ if (rule.pattern && expected.thresholds) {
55
+ const rubricId = rule.pattern;
56
+ const threshold = expected.thresholds[rubricId];
57
+ if (threshold !== undefined) {
58
+ const present = outputStr.toLowerCase().includes(rubricId.toLowerCase());
59
+ return {
60
+ rule_id: rule.rule_id,
61
+ passed: present,
62
+ score: present ? 1.0 : 0.0,
63
+ reason: present ? undefined : `Rubric "${rubricId}" not satisfied in output`,
64
+ };
65
+ }
66
+ }
67
+ // Default: check output is non-empty
68
+ const hasContent = outputStr.length > 0 && outputStr !== '{}' && outputStr !== 'null';
69
+ return {
70
+ rule_id: rule.rule_id,
71
+ passed: hasContent,
72
+ score: hasContent ? 1.0 : 0.0,
73
+ reason: hasContent ? undefined : 'Output is empty',
74
+ };
75
+ }
76
+ applyRegexRule(rule, outputs) {
77
+ if (!rule.pattern) {
78
+ return {
79
+ rule_id: rule.rule_id,
80
+ passed: false,
81
+ score: 0,
82
+ reason: 'No pattern specified',
83
+ };
84
+ }
85
+ const regex = new RegExp(rule.pattern);
86
+ const outputStr = typeof outputs === 'string' ? outputs : JSON.stringify(outputs);
87
+ const matches = regex.test(outputStr);
88
+ return {
89
+ rule_id: rule.rule_id,
90
+ passed: matches,
91
+ score: matches ? 1.0 : 0.0,
92
+ reason: matches ? undefined : `Pattern /${rule.pattern}/ did not match output`,
93
+ };
94
+ }
95
+ applySchemaRule(rule, outputs) {
96
+ if (!rule.pattern) {
97
+ return {
98
+ rule_id: rule.rule_id,
99
+ passed: false,
100
+ score: 0,
101
+ reason: 'No schema pattern specified',
102
+ };
103
+ }
104
+ try {
105
+ const schemaDesc = JSON.parse(rule.pattern);
106
+ const zodSchema = this.jsonToZodSchema(schemaDesc);
107
+ const result = zodSchema.safeParse(outputs);
108
+ if (result.success) {
109
+ return { rule_id: rule.rule_id, passed: true, score: 1.0 };
110
+ }
111
+ else {
112
+ const issues = result.error.issues.map(i => `${i.path.join('.')}: ${i.message}`);
113
+ return {
114
+ rule_id: rule.rule_id,
115
+ passed: false,
116
+ score: 0,
117
+ reason: `Schema validation failed: ${issues.join('; ')}`,
118
+ };
119
+ }
120
+ }
121
+ catch (err) {
122
+ return {
123
+ rule_id: rule.rule_id,
124
+ passed: false,
125
+ score: 0,
126
+ reason: `Schema parse error: ${err.message}`,
127
+ };
128
+ }
129
+ }
130
+ async applyLLMJudge(rule, outputs) {
131
+ if (!this.llmProvider) {
132
+ return {
133
+ rule_id: rule.rule_id,
134
+ passed: false,
135
+ score: 0,
136
+ reason: 'LLM judge requires an LLMJudgeProvider. Pass one to the Judge constructor.',
137
+ };
138
+ }
139
+ if (!rule.template) {
140
+ return {
141
+ rule_id: rule.rule_id,
142
+ passed: false,
143
+ score: 0,
144
+ reason: 'LLM judge rule requires a template',
145
+ };
146
+ }
147
+ const outputStr = typeof outputs === 'string' ? outputs : JSON.stringify(outputs, null, 2);
148
+ const prompt = rule.template.replace('{{output}}', outputStr);
149
+ try {
150
+ const response = await this.llmProvider.complete(prompt);
151
+ // Parse score from LLM response (expects "score: 0.X" or similar)
152
+ const scoreMatch = response.match(/(?:score|rating)[\s:]*([0-9]*\.?[0-9]+)/i);
153
+ const score = scoreMatch ? Math.min(1, Math.max(0, parseFloat(scoreMatch[1]))) : 0;
154
+ const passSignals = /\b(pass|passed|yes|good|correct|acceptable)\b/i;
155
+ const failSignals = /\b(fail|failed|no|bad|incorrect|unacceptable)\b/i;
156
+ let passed;
157
+ if (scoreMatch) {
158
+ passed = score >= 0.7;
159
+ }
160
+ else if (passSignals.test(response)) {
161
+ passed = !failSignals.test(response);
162
+ }
163
+ else {
164
+ passed = false;
165
+ }
166
+ return {
167
+ rule_id: rule.rule_id,
168
+ passed,
169
+ score: scoreMatch ? score : (passed ? 0.8 : 0.2),
170
+ reason: response.slice(0, 500),
171
+ };
172
+ }
173
+ catch (err) {
174
+ return {
175
+ rule_id: rule.rule_id,
176
+ passed: false,
177
+ score: 0,
178
+ reason: `LLM judge error: ${err.message}`,
179
+ };
180
+ }
181
+ }
182
+ /**
183
+ * Convert a simple JSON schema description to a Zod schema for validation.
184
+ */
185
+ jsonToZodSchema(desc) {
186
+ if (!desc || !desc.type)
187
+ return z.any();
188
+ switch (desc.type) {
189
+ case 'string': return z.string();
190
+ case 'number': return z.number();
191
+ case 'boolean': return z.boolean();
192
+ case 'array':
193
+ return z.array(desc.items ? this.jsonToZodSchema(desc.items) : z.any());
194
+ case 'object': {
195
+ if (!desc.properties)
196
+ return z.object({}).passthrough();
197
+ const shape = {};
198
+ const required = new Set(desc.required ?? []);
199
+ for (const [key, propDesc] of Object.entries(desc.properties)) {
200
+ const propSchema = this.jsonToZodSchema(propDesc);
201
+ shape[key] = required.has(key) ? propSchema : propSchema.optional();
202
+ }
203
+ return z.object(shape).passthrough();
204
+ }
205
+ default: return z.any();
206
+ }
207
+ }
208
+ }
209
+ //# sourceMappingURL=judge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"judge.js","sourceRoot":"","sources":["../../eval/judge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { TraceEvent } from '../schemas/trace.js';
2
+ import { ConstitutionV1 } from '../schemas/constitution.js';
3
+ /**
4
+ * Replay
5
+ *
6
+ * Replays traces against updated profiles for regression testing.
7
+ */
8
+ export interface ReplayResult {
9
+ trace_path: string;
10
+ profile_version: string;
11
+ violations: Array<{
12
+ event: TraceEvent;
13
+ violation_type: string;
14
+ reason: string;
15
+ }>;
16
+ passed: boolean;
17
+ }
18
+ export declare class Replay {
19
+ private reader;
20
+ constructor();
21
+ replayTrace(tracePath: string, constitution: ConstitutionV1): ReplayResult;
22
+ }
23
+ //# sourceMappingURL=replay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../eval/replay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D;;;;GAIG;AAEH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,KAAK,CAAC;QAChB,KAAK,EAAE,UAAU,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAc;;IAM5B,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,GAAG,YAAY;CAsC3E"}
@@ -0,0 +1,42 @@
1
+ import { TraceReader } from '../tracing/reader.js';
2
+ export class Replay {
3
+ reader;
4
+ constructor() {
5
+ this.reader = new TraceReader();
6
+ }
7
+ replayTrace(tracePath, constitution) {
8
+ const events = this.reader.readTrace(tracePath);
9
+ const violations = [];
10
+ // Check each event against current constitution
11
+ for (const event of events) {
12
+ // Check for forbidden phrases in outputs
13
+ if (event.event_type === 'tool_result' && event.data?.output) {
14
+ const output = JSON.stringify(event.data.output).toLowerCase();
15
+ for (const phrase of constitution.tone.forbidden_phrases) {
16
+ if (output.includes(phrase.toLowerCase())) {
17
+ violations.push({
18
+ event,
19
+ violation_type: 'forbidden_phrase',
20
+ reason: `Output contains forbidden phrase: "${phrase}"`,
21
+ });
22
+ }
23
+ }
24
+ }
25
+ // Check for principle violations
26
+ if (event.event_type === 'error' && event.principle_refs) {
27
+ violations.push({
28
+ event,
29
+ violation_type: 'principle_violation',
30
+ reason: `Error occurred while following principles: ${event.principle_refs.join(', ')}`,
31
+ });
32
+ }
33
+ }
34
+ return {
35
+ trace_path: tracePath,
36
+ profile_version: constitution.generator_version,
37
+ violations,
38
+ passed: violations.length === 0,
39
+ };
40
+ }
41
+ }
42
+ //# sourceMappingURL=replay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replay.js","sourceRoot":"","sources":["../../eval/replay.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAmBnD,MAAM,OAAO,MAAM;IACT,MAAM,CAAc;IAE5B;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,WAAW,CAAC,SAAiB,EAAE,YAA4B;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,UAAU,GAA+B,EAAE,CAAC;QAElD,gDAAgD;QAChD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,yCAAyC;YACzC,IAAI,KAAK,CAAC,UAAU,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;gBAE/D,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;wBAC1C,UAAU,CAAC,IAAI,CAAC;4BACd,KAAK;4BACL,cAAc,EAAE,kBAAkB;4BAClC,MAAM,EAAE,sCAAsC,MAAM,GAAG;yBACxD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzD,UAAU,CAAC,IAAI,CAAC;oBACd,KAAK;oBACL,cAAc,EAAE,qBAAqB;oBACrC,MAAM,EAAE,8CAA8C,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACxF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO;YACL,UAAU,EAAE,SAAS;YACrB,eAAe,EAAE,YAAY,CAAC,iBAAiB;YAC/C,UAAU;YACV,MAAM,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC;SAChC,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,35 @@
1
+ import { EvalPackV1, EvalScenario } from '../schemas/evalpack.js';
2
+ import { JudgmentResult, LLMJudgeProvider } from './judge.js';
3
+ /**
4
+ * Eval Runner
5
+ *
6
+ * Runs evaluation packs and produces reports.
7
+ * Accepts an optional executor function for running scenarios against a real agent.
8
+ */
9
+ export interface EvalResult {
10
+ scenario_id: string;
11
+ passed: boolean;
12
+ score: number;
13
+ judgments: JudgmentResult[];
14
+ outputs: any;
15
+ }
16
+ export interface EvalReport {
17
+ evalpack_id: string;
18
+ timestamp: string;
19
+ results: EvalResult[];
20
+ overall_score: number;
21
+ passed: boolean;
22
+ }
23
+ /** Function that executes a scenario and returns the agent's output */
24
+ export type ScenarioExecutor = (scenario: EvalScenario) => Promise<any>;
25
+ export declare class EvalRunner {
26
+ private judge;
27
+ private executor?;
28
+ constructor(opts?: {
29
+ llmProvider?: LLMJudgeProvider;
30
+ executor?: ScenarioExecutor;
31
+ });
32
+ runEvalPack(evalPack: EvalPackV1): Promise<EvalReport>;
33
+ private runScenario;
34
+ }
35
+ //# sourceMappingURL=runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../eval/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAS,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAErE;;;;;GAKG;AAEH,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,OAAO,EAAE,GAAG,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,uEAAuE;AACvE,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,YAAY,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAExE,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,QAAQ,CAAC,CAAmB;gBAExB,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,gBAAgB,CAAC;QAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAA;KAAE;IAK5E,WAAW,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YAsB9C,WAAW;CA+B1B"}
@@ -0,0 +1,52 @@
1
+ import { Judge } from './judge.js';
2
+ export class EvalRunner {
3
+ judge;
4
+ executor;
5
+ constructor(opts) {
6
+ this.judge = new Judge(opts?.llmProvider);
7
+ this.executor = opts?.executor;
8
+ }
9
+ async runEvalPack(evalPack) {
10
+ const results = [];
11
+ for (const scenario of evalPack.scenarios) {
12
+ const result = await this.runScenario(scenario, evalPack);
13
+ results.push(result);
14
+ }
15
+ const overallScore = results.length > 0
16
+ ? results.reduce((sum, r) => sum + r.score, 0) / results.length
17
+ : 0;
18
+ const passed = results.length > 0 && results.every(r => r.passed);
19
+ return {
20
+ evalpack_id: evalPack.id,
21
+ timestamp: new Date().toISOString(),
22
+ results,
23
+ overall_score: overallScore,
24
+ passed,
25
+ };
26
+ }
27
+ async runScenario(scenario, evalPack) {
28
+ let outputs;
29
+ if (this.executor) {
30
+ // Use the provided executor to run the scenario against a real agent
31
+ outputs = await this.executor(scenario);
32
+ }
33
+ else {
34
+ // Without an executor, use the scenario's setup inputs as a passthrough.
35
+ // This allows judging static outputs (e.g., from trace replay or manual testing).
36
+ outputs = scenario.setup.inputs;
37
+ }
38
+ const judgments = await this.judge.judgeOutputs(outputs, evalPack.judging, scenario.expected);
39
+ const totalScore = judgments.length > 0
40
+ ? judgments.reduce((sum, j) => sum + j.score, 0) / judgments.length
41
+ : 0;
42
+ const passed = judgments.length > 0 && judgments.every(j => j.passed);
43
+ return {
44
+ scenario_id: scenario.scenario_id,
45
+ passed,
46
+ score: totalScore,
47
+ judgments,
48
+ outputs,
49
+ };
50
+ }
51
+ }
52
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../eval/runner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAoC,MAAM,YAAY,CAAC;AA4BrE,MAAM,OAAO,UAAU;IACb,KAAK,CAAQ;IACb,QAAQ,CAAoB;IAEpC,YAAY,IAAsE;QAChF,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,QAAQ,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAoB;QACpC,MAAM,OAAO,GAAiB,EAAE,CAAC;QAEjC,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;YACrC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM;YAC/D,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAElE,OAAO;YACL,WAAW,EAAE,QAAQ,CAAC,EAAE;YACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO;YACP,aAAa,EAAE,YAAY;YAC3B,MAAM;SACP,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,QAAsB,EAAE,QAAoB;QACpE,IAAI,OAAY,CAAC;QAEjB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,qEAAqE;YACrE,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,yEAAyE;YACzE,kFAAkF;YAClF,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QAClC,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAC7C,OAAO,EACP,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,QAAQ,CAClB,CAAC;QAEF,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;YACrC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM;YACnE,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAEtE,OAAO;YACL,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,MAAM;YACN,KAAK,EAAE,UAAU;YACjB,SAAS;YACT,OAAO;SACR,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * AGENTS.md Generator
3
+ *
4
+ * Generates an AGENTS.md from compiled TasteKit artifacts.
5
+ * AGENTS.md is the AAIF standard for agent operational config.
6
+ */
7
+ import type { GeneratorContext } from './types.js';
8
+ export declare function generateAgentsMd(ctx: GeneratorContext): string;
9
+ //# sourceMappingURL=agents-md-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents-md-generator.d.ts","sourceRoot":"","sources":["../../generators/agents-md-generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAwE9D"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * AGENTS.md Generator
3
+ *
4
+ * Generates an AGENTS.md from compiled TasteKit artifacts.
5
+ * AGENTS.md is the AAIF standard for agent operational config.
6
+ */
7
+ export function generateAgentsMd(ctx) {
8
+ const lines = [];
9
+ lines.push('# AGENTS.md');
10
+ lines.push(`<!-- Generated by TasteKit v${ctx.generator_version}. Re-run \`tastekit compile\` to regenerate. -->`);
11
+ lines.push('');
12
+ if (ctx.constitution?.principles && ctx.constitution.principles.length > 0) {
13
+ lines.push('## Principles');
14
+ lines.push('');
15
+ for (const p of ctx.constitution.principles) {
16
+ lines.push(`- **${p.id}**: ${p.statement}`);
17
+ }
18
+ lines.push('');
19
+ }
20
+ if (ctx.guardrails?.permissions) {
21
+ lines.push('## Guardrails');
22
+ lines.push('');
23
+ for (const perm of ctx.guardrails.permissions) {
24
+ lines.push(`- ${perm.action}: ${perm.allowed ? 'allowed' : 'denied'}${perm.requires_approval ? ' (requires approval)' : ''}`);
25
+ }
26
+ lines.push('');
27
+ }
28
+ if (ctx.constitution?.tone) {
29
+ const tone = ctx.constitution.tone;
30
+ lines.push('## Tone & Voice');
31
+ lines.push('');
32
+ if (tone.voice_keywords && tone.voice_keywords.length > 0) {
33
+ lines.push(`Voice: ${tone.voice_keywords.join(', ')}`);
34
+ }
35
+ if (tone.forbidden_phrases && tone.forbidden_phrases.length > 0) {
36
+ lines.push('');
37
+ lines.push('Avoid:');
38
+ for (const phrase of tone.forbidden_phrases) {
39
+ lines.push(`- "${phrase}"`);
40
+ }
41
+ }
42
+ lines.push('');
43
+ }
44
+ if (ctx.constitution?.tradeoffs?.autonomy_level !== undefined) {
45
+ lines.push('## Behavior');
46
+ lines.push('');
47
+ lines.push(`Autonomy level: ${ctx.constitution.tradeoffs.autonomy_level}`);
48
+ lines.push('');
49
+ }
50
+ if (ctx.constitution?.taboos?.never_do && ctx.constitution.taboos.never_do.length > 0) {
51
+ lines.push('## Restrictions');
52
+ lines.push('');
53
+ for (const taboo of ctx.constitution.taboos.never_do) {
54
+ lines.push(`- ${taboo}`);
55
+ }
56
+ lines.push('');
57
+ }
58
+ if (ctx.skills?.skills && ctx.skills.skills.length > 0) {
59
+ lines.push('## Skills');
60
+ lines.push('');
61
+ for (const skill of ctx.skills.skills) {
62
+ lines.push(`- **${skill.name}** (\`${skill.skill_id}\`): ${skill.description}`);
63
+ }
64
+ lines.push('');
65
+ }
66
+ lines.push('---');
67
+ lines.push(`*Generated by TasteKit v${ctx.generator_version} on ${new Date().toISOString().split('T')[0]}*`);
68
+ lines.push('');
69
+ return lines.join('\n');
70
+ }
71
+ //# sourceMappingURL=agents-md-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents-md-generator.js","sourceRoot":"","sources":["../../generators/agents-md-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Domain Context Block — Domain-specific guidance.
3
+ * Included only when domain_id is set.
4
+ */
5
+ import type { GeneratorBlock } from '../types.js';
6
+ export declare const domainContextBlock: GeneratorBlock;
7
+ //# sourceMappingURL=domain-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-context.d.ts","sourceRoot":"","sources":["../../../generators/blocks/domain-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAoBlD,eAAO,MAAM,kBAAkB,EAAE,cAQhC,CAAC"}
@@ -0,0 +1,26 @@
1
+ const DOMAIN_GUIDANCE = {
2
+ 'development-agent': [
3
+ 'This agent specializes in software development.',
4
+ '- Review code against engineering standards before suggesting changes',
5
+ '- Prioritize correctness and security over cleverness',
6
+ '- Follow existing codebase patterns and conventions',
7
+ '- Write tests for new functionality',
8
+ ].join('\n'),
9
+ 'general-agent': [
10
+ 'This agent specializes in general-purpose execution across mixed workflows.',
11
+ '- Synthesize context before acting when the task is ambiguous',
12
+ '- Prefer explicit plans and checkpoints for multi-step work',
13
+ '- Balance research, execution, and reporting based on user goals',
14
+ '- Escalate when uncertainty or risk exceeds the configured autonomy level',
15
+ ].join('\n'),
16
+ };
17
+ export const domainContextBlock = (ctx) => {
18
+ if (!ctx.domain_id)
19
+ return null;
20
+ const guidance = DOMAIN_GUIDANCE[ctx.domain_id];
21
+ if (!guidance)
22
+ return null;
23
+ const lines = ['## Domain Context', '', guidance];
24
+ return lines.join('\n');
25
+ };
26
+ //# sourceMappingURL=domain-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-context.js","sourceRoot":"","sources":["../../../generators/blocks/domain-context.ts"],"names":[],"mappings":"AAMA,MAAM,eAAe,GAA2B;IAC9C,mBAAmB,EAAE;QACnB,iDAAiD;QACjD,uEAAuE;QACvE,uDAAuD;QACvD,qDAAqD;QACrD,qCAAqC;KACtC,CAAC,IAAI,CAAC,IAAI,CAAC;IAEZ,eAAe,EAAE;QACf,6EAA6E;QAC7E,+DAA+D;QAC/D,6DAA6D;QAC7D,kEAAkE;QAClE,2EAA2E;KAC5E,CAAC,IAAI,CAAC,IAAI,CAAC;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAmB,CAAC,GAAG,EAAE,EAAE;IACxD,IAAI,CAAC,GAAG,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAEhC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,KAAK,GAAa,CAAC,mBAAmB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Drift Awareness Block — Self-monitoring instructions.
3
+ */
4
+ import type { GeneratorBlock } from '../types.js';
5
+ export declare const driftAwarenessBlock: GeneratorBlock;
6
+ //# sourceMappingURL=drift-awareness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drift-awareness.d.ts","sourceRoot":"","sources":["../../../generators/blocks/drift-awareness.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,mBAAmB,EAAE,cA4BjC,CAAC"}
@@ -0,0 +1,28 @@
1
+ export const driftAwarenessBlock = (ctx) => {
2
+ const driftVerb = ctx.vocabulary?.drift_verb ?? 'Drift';
3
+ const lines = [
4
+ `## ${driftVerb} Awareness`,
5
+ '',
6
+ 'Monitor your own behavior against the principles above. When you notice:',
7
+ '',
8
+ '- **Repeated user corrections** → log as observation (category: friction)',
9
+ '- **Contradictions between principles and actions** → log as tension',
10
+ '- **Unexpected outcomes** → log as observation (category: surprise)',
11
+ '- **Process bottlenecks** → log as observation (category: process)',
12
+ '',
13
+ 'Review triggers: 10+ observations or 5+ unresolved tensions → suggest a drift review.',
14
+ ];
15
+ // Evidence policy from constitution
16
+ if (ctx.constitution?.evidence_policy) {
17
+ const ep = ctx.constitution.evidence_policy;
18
+ if (ep.require_citations_for.length > 0) {
19
+ lines.push('');
20
+ lines.push(`**Citation required for:** ${ep.require_citations_for.join(', ')}`);
21
+ }
22
+ if (ep.uncertainty_language_rules.length > 0) {
23
+ lines.push(`**Uncertainty language:** ${ep.uncertainty_language_rules.join('. ')}`);
24
+ }
25
+ }
26
+ return lines.join('\n');
27
+ };
28
+ //# sourceMappingURL=drift-awareness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drift-awareness.js","sourceRoot":"","sources":["../../../generators/blocks/drift-awareness.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,mBAAmB,GAAmB,CAAC,GAAG,EAAE,EAAE;IACzD,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,EAAE,UAAU,IAAI,OAAO,CAAC;IACxD,MAAM,KAAK,GAAa;QACtB,MAAM,SAAS,YAAY;QAC3B,EAAE;QACF,0EAA0E;QAC1E,EAAE;QACF,2EAA2E;QAC3E,sEAAsE;QACtE,qEAAqE;QACrE,oEAAoE;QACpE,EAAE;QACF,uFAAuF;KACxF,CAAC;IAEF,oCAAoC;IACpC,IAAI,GAAG,CAAC,YAAY,EAAE,eAAe,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC;QAC5C,IAAI,EAAE,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,EAAE,CAAC,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Evaluation Criteria Block — Self-evaluation instructions.
3
+ * Included only when an evalpack exists.
4
+ */
5
+ import type { GeneratorBlock } from '../types.js';
6
+ export declare const evaluationCriteriaBlock: GeneratorBlock;
7
+ //# sourceMappingURL=evaluation-criteria.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluation-criteria.d.ts","sourceRoot":"","sources":["../../../generators/blocks/evaluation-criteria.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,uBAAuB,EAAE,cAiBrC,CAAC"}
@@ -0,0 +1,18 @@
1
+ export const evaluationCriteriaBlock = (ctx) => {
2
+ if (!ctx.has_evalpack)
3
+ return null;
4
+ const lines = [
5
+ '## Evaluation Criteria',
6
+ '',
7
+ 'An evaluation pack is configured for this workspace. After completing tasks, self-evaluate:',
8
+ '',
9
+ '1. **Principle alignment** — Does the output follow the principles above?',
10
+ '2. **Quality gates** — Does the output pass the skill-specific quality checks?',
11
+ '3. **Tone consistency** — Does the output match the voice and formatting rules?',
12
+ '4. **Guardrail compliance** — Were all approval rules and rate limits respected?',
13
+ '',
14
+ 'Run `tastekit eval` to execute the full evaluation suite against recent traces.',
15
+ ];
16
+ return lines.join('\n');
17
+ };
18
+ //# sourceMappingURL=evaluation-criteria.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluation-criteria.js","sourceRoot":"","sources":["../../../generators/blocks/evaluation-criteria.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,uBAAuB,GAAmB,CAAC,GAAG,EAAE,EAAE;IAC7D,IAAI,CAAC,GAAG,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAEnC,MAAM,KAAK,GAAa;QACtB,wBAAwB;QACxB,EAAE;QACF,6FAA6F;QAC7F,EAAE;QACF,2EAA2E;QAC3E,gFAAgF;QAChF,iFAAiF;QACjF,kFAAkF;QAClF,EAAE;QACF,iFAAiF;KAClF,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Guardrails Block — Hard boundaries, approvals, rate limits.
3
+ */
4
+ import type { GeneratorBlock } from '../types.js';
5
+ export declare const guardrailsBlock: GeneratorBlock;
6
+ //# sourceMappingURL=guardrails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardrails.d.ts","sourceRoot":"","sources":["../../../generators/blocks/guardrails.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,eAAe,EAAE,cA8C7B,CAAC"}