@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,424 @@
1
+ import { TraceReader } from '../tracing/reader.js';
2
+ import { readFileIfExists } from '../utils/filesystem.js';
3
+ import { aggregateSkillRuns, getSkillPerformance, rankByFailureRate } from '../skills/tracker.js';
4
+ export class DriftDetector {
5
+ reader;
6
+ constructor() {
7
+ this.reader = new TraceReader();
8
+ }
9
+ detectFromTraces(tracePaths, options = {}) {
10
+ const proposals = [];
11
+ // Collect all events
12
+ const allEvents = [];
13
+ for (const path of tracePaths) {
14
+ const events = this.reader.readTrace(path);
15
+ allEvents.push(...events);
16
+ }
17
+ // Filter by options
18
+ let filteredEvents = allEvents;
19
+ if (options.since) {
20
+ filteredEvents = filteredEvents.filter(e => new Date(e.timestamp) >= options.since);
21
+ }
22
+ if (options.skillId) {
23
+ filteredEvents = this.reader.filterBySkill(filteredEvents, options.skillId);
24
+ }
25
+ // Detect all 7 signal types
26
+ const signals = this.detectSignals(filteredEvents, options);
27
+ // Generate proposals from signals
28
+ for (const signal of signals) {
29
+ if (signal.frequency >= 3) {
30
+ proposals.push(this.createProposalFromSignal(signal));
31
+ }
32
+ }
33
+ return proposals;
34
+ }
35
+ detectSignals(events, options) {
36
+ const signals = [];
37
+ // 1. Repeated edits — user rejections
38
+ signals.push(...this.detectRepeatedEdits(events));
39
+ // 2. Principle violations — errors
40
+ signals.push(...this.detectPrincipleViolations(events));
41
+ // 3. User corrections — user edits after agent output
42
+ signals.push(...this.detectUserCorrections(events));
43
+ // 4. Tool changes — tool switching patterns
44
+ signals.push(...this.detectToolChanges(events));
45
+ // 5. Staleness — check constitution age
46
+ if (options.constitutionPath) {
47
+ signals.push(...this.detectStaleness(events, options.constitutionPath));
48
+ }
49
+ // 6. Coverage gaps — tools/skills used but not configured
50
+ if (options.knownSkillIds || options.knownToolRefs) {
51
+ signals.push(...this.detectCoverageGaps(events, options.knownSkillIds ?? [], options.knownToolRefs ?? []));
52
+ }
53
+ // 7. Assertion mismatches — principles say "never" but traces show it
54
+ signals.push(...this.detectAssertionMismatches(events));
55
+ return signals;
56
+ }
57
+ /** Signal 1: Repeated rejections of agent actions */
58
+ detectRepeatedEdits(events) {
59
+ const signals = [];
60
+ const approvalResponses = this.reader.filterByEventType(events, 'approval_response');
61
+ const rejections = approvalResponses.filter(e => e.data?.approved === false);
62
+ if (rejections.length > 0) {
63
+ const reasonCounts = new Map();
64
+ for (const rejection of rejections) {
65
+ const reason = rejection.data?.reason || 'unknown';
66
+ reasonCounts.set(reason, (reasonCounts.get(reason) || 0) + 1);
67
+ }
68
+ for (const [reason, count] of reasonCounts) {
69
+ signals.push({
70
+ type: 'repeated_edit',
71
+ frequency: count,
72
+ context: { reason },
73
+ });
74
+ }
75
+ }
76
+ return signals;
77
+ }
78
+ /** Signal 2: Error accumulation suggests principle violations */
79
+ detectPrincipleViolations(events) {
80
+ const signals = [];
81
+ const errors = this.reader.getErrors(events);
82
+ if (errors.length > 0) {
83
+ signals.push({
84
+ type: 'principle_violation',
85
+ frequency: errors.length,
86
+ context: { errors: errors.slice(0, 5).map(e => e.error ?? 'unknown') },
87
+ });
88
+ }
89
+ return signals;
90
+ }
91
+ /** Signal 3: User edits shortly after agent produces output */
92
+ detectUserCorrections(events) {
93
+ const signals = [];
94
+ let corrections = 0;
95
+ const correctedArtifacts = [];
96
+ for (let i = 1; i < events.length; i++) {
97
+ const prev = events[i - 1];
98
+ const curr = events[i];
99
+ // Pattern: agent writes artifact, then user writes to same area
100
+ if (prev.event_type === 'artifact_written' &&
101
+ prev.actor === 'agent' &&
102
+ curr.event_type === 'artifact_written' &&
103
+ curr.actor === 'user') {
104
+ const timeDiff = new Date(curr.timestamp).getTime() - new Date(prev.timestamp).getTime();
105
+ const fiveMinutes = 5 * 60 * 1000;
106
+ if (timeDiff < fiveMinutes) {
107
+ corrections++;
108
+ const artifact = prev.data?.path ?? 'unknown';
109
+ if (!correctedArtifacts.includes(artifact)) {
110
+ correctedArtifacts.push(artifact);
111
+ }
112
+ }
113
+ }
114
+ }
115
+ if (corrections > 0) {
116
+ signals.push({
117
+ type: 'user_correction',
118
+ frequency: corrections,
119
+ context: { corrected_artifacts: correctedArtifacts },
120
+ });
121
+ }
122
+ return signals;
123
+ }
124
+ /** Signal 4: User switches tools for similar tasks */
125
+ detectToolChanges(events) {
126
+ const signals = [];
127
+ const toolCalls = events.filter(e => e.event_type === 'tool_call' && e.tool_ref);
128
+ // Group by skill_id and detect tool ref changes
129
+ const toolsBySkill = new Map();
130
+ for (const event of toolCalls) {
131
+ const skill = event.skill_id ?? '_global';
132
+ if (!toolsBySkill.has(skill))
133
+ toolsBySkill.set(skill, new Set());
134
+ toolsBySkill.get(skill).add(event.tool_ref);
135
+ }
136
+ for (const [skill, tools] of toolsBySkill) {
137
+ if (tools.size > 1) {
138
+ signals.push({
139
+ type: 'tool_change',
140
+ frequency: tools.size,
141
+ context: { skill_id: skill, tools_used: [...tools] },
142
+ });
143
+ }
144
+ }
145
+ return signals;
146
+ }
147
+ /** Signal 5: Constitution staleness — gap between constitution age and latest traces */
148
+ detectStaleness(events, constitutionPath) {
149
+ const signals = [];
150
+ const content = readFileIfExists(constitutionPath);
151
+ if (!content)
152
+ return signals;
153
+ try {
154
+ const constitution = JSON.parse(content);
155
+ const generatedAt = new Date(constitution.generated_at);
156
+ const latestTrace = events.length > 0
157
+ ? new Date(events[events.length - 1].timestamp)
158
+ : new Date();
159
+ const daysSinceCompile = (latestTrace.getTime() - generatedAt.getTime()) / (1000 * 60 * 60 * 24);
160
+ if (daysSinceCompile > 30) {
161
+ signals.push({
162
+ type: 'staleness',
163
+ frequency: Math.floor(daysSinceCompile),
164
+ context: {
165
+ generated_at: constitution.generated_at,
166
+ days_since: Math.floor(daysSinceCompile),
167
+ },
168
+ });
169
+ }
170
+ }
171
+ catch {
172
+ // Constitution not parseable — skip
173
+ }
174
+ return signals;
175
+ }
176
+ /** Signal 6: Tools/skills used in traces that aren't in the manifest */
177
+ detectCoverageGaps(events, knownSkillIds, knownToolRefs) {
178
+ const signals = [];
179
+ const usedSkills = new Set();
180
+ const usedTools = new Set();
181
+ for (const event of events) {
182
+ if (event.skill_id)
183
+ usedSkills.add(event.skill_id);
184
+ if (event.tool_ref)
185
+ usedTools.add(event.tool_ref);
186
+ }
187
+ const unknownSkills = [...usedSkills].filter(s => !knownSkillIds.includes(s));
188
+ const unknownTools = [...usedTools].filter(t => !knownToolRefs.includes(t));
189
+ if (unknownSkills.length + unknownTools.length > 0) {
190
+ signals.push({
191
+ type: 'coverage_gap',
192
+ frequency: unknownSkills.length + unknownTools.length,
193
+ context: {
194
+ unknown_skills: unknownSkills,
195
+ unknown_tools: unknownTools,
196
+ },
197
+ });
198
+ }
199
+ return signals;
200
+ }
201
+ /** Signal 7: "never X" principles but traces show X happening */
202
+ detectAssertionMismatches(events) {
203
+ const signals = [];
204
+ const principleEvents = events.filter(e => e.principle_refs && e.principle_refs.length > 0);
205
+ const errorsWithPrinciples = principleEvents.filter(e => e.event_type === 'error');
206
+ if (errorsWithPrinciples.length > 0) {
207
+ const affectedPrinciples = new Set();
208
+ for (const event of errorsWithPrinciples) {
209
+ event.principle_refs?.forEach(p => affectedPrinciples.add(p));
210
+ }
211
+ signals.push({
212
+ type: 'assertion_mismatch',
213
+ frequency: errorsWithPrinciples.length,
214
+ context: {
215
+ affected_principles: [...affectedPrinciples],
216
+ sample_errors: errorsWithPrinciples.slice(0, 3).map(e => e.error ?? 'unknown'),
217
+ },
218
+ });
219
+ }
220
+ return signals;
221
+ }
222
+ createProposalFromSignal(signal) {
223
+ const proposalId = `drift_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
224
+ let proposedChanges = {};
225
+ let rationale = '';
226
+ switch (signal.type) {
227
+ case 'repeated_edit':
228
+ rationale = `User repeatedly rejected actions with reason: "${signal.context.reason}". This suggests a principle or preference that should be captured.`;
229
+ proposedChanges = {
230
+ constitution: {
231
+ add_principle: {
232
+ statement: `Avoid: ${signal.context.reason}`,
233
+ priority: 10,
234
+ applies_to: ['*'],
235
+ },
236
+ },
237
+ };
238
+ break;
239
+ case 'principle_violation':
240
+ rationale = `Multiple errors detected (${signal.frequency} occurrences). Review and update guardrails or principles.`;
241
+ proposedChanges = {
242
+ guardrails: {
243
+ add_approval: {
244
+ rule_id: 'auto-detected-violation',
245
+ when: 'Similar error pattern detected',
246
+ action: 'require_approval',
247
+ },
248
+ },
249
+ };
250
+ break;
251
+ case 'user_correction':
252
+ rationale = `User corrected agent output ${signal.frequency} times on: ${signal.context.corrected_artifacts?.join(', ')}. The agent may be misunderstanding preferences.`;
253
+ proposedChanges = {
254
+ constitution: {
255
+ add_principle: {
256
+ statement: 'Review output carefully before submitting — user has corrected similar work before',
257
+ priority: 5,
258
+ applies_to: signal.context.corrected_artifacts ?? ['*'],
259
+ },
260
+ },
261
+ };
262
+ break;
263
+ case 'tool_change':
264
+ rationale = `Multiple tools used for skill "${signal.context.skill_id}": ${signal.context.tools_used?.join(', ')}. Consider binding a preferred tool.`;
265
+ proposedChanges = {
266
+ skills: {
267
+ modify_skill: {
268
+ skill_id: signal.context.skill_id,
269
+ changes: `Bind to preferred tool from: ${signal.context.tools_used?.join(', ')}`,
270
+ },
271
+ },
272
+ };
273
+ break;
274
+ case 'staleness':
275
+ rationale = `Constitution was compiled ${signal.context.days_since} days ago. Consider recompiling to reflect any evolved preferences.`;
276
+ proposedChanges = {};
277
+ break;
278
+ case 'coverage_gap': {
279
+ const unknownSkills = signal.context.unknown_skills ?? [];
280
+ const unknownTools = signal.context.unknown_tools ?? [];
281
+ rationale = `Used skills/tools not in manifest: skills=[${unknownSkills.join(', ')}], tools=[${unknownTools.join(', ')}]. Consider adding to configuration.`;
282
+ if (unknownSkills.length > 0) {
283
+ proposedChanges = {
284
+ skills: {
285
+ suggest_skill: {
286
+ description: `Add skill definitions for: ${unknownSkills.join(', ')}`,
287
+ reason: 'Used in traces but not configured',
288
+ },
289
+ },
290
+ };
291
+ }
292
+ break;
293
+ }
294
+ case 'assertion_mismatch':
295
+ rationale = `Principles were violated ${signal.frequency} times (principles: ${signal.context.affected_principles?.join(', ')}). Either the principles are wrong or enforcement is broken.`;
296
+ proposedChanges = {
297
+ constitution: {
298
+ modify_principle: {
299
+ id: signal.context.affected_principles?.[0] ?? 'unknown',
300
+ changes: { rationale: 'Review: this principle is being violated in practice' },
301
+ },
302
+ },
303
+ };
304
+ break;
305
+ default:
306
+ rationale = `Drift detected: ${signal.type} (${signal.frequency} occurrences)`;
307
+ }
308
+ const evidence = {
309
+ reason: signal.context.reason,
310
+ occurrences: signal.frequency,
311
+ context: signal.context,
312
+ };
313
+ return {
314
+ proposal_id: proposalId,
315
+ created_at: new Date().toISOString(),
316
+ signal_type: signal.type,
317
+ frequency: signal.frequency,
318
+ rationale,
319
+ proposed_changes: proposedChanges,
320
+ risk_rating: signal.frequency > 10 ? 'high' : signal.frequency > 5 ? 'medium' : 'low',
321
+ evidence,
322
+ };
323
+ }
324
+ }
325
+ // ---------------------------------------------------------------------------
326
+ // Observation & Tension Aggregation
327
+ // ---------------------------------------------------------------------------
328
+ /** Aggregate observation events from traces */
329
+ export function aggregateObservations(events) {
330
+ const observations = events.filter(e => e.event_type === 'observation');
331
+ const byCategory = {};
332
+ for (const obs of observations) {
333
+ const cat = obs.observation_category ?? 'uncategorized';
334
+ byCategory[cat] = (byCategory[cat] || 0) + 1;
335
+ }
336
+ return {
337
+ total: observations.length,
338
+ by_category: byCategory,
339
+ recent: observations.slice(-10),
340
+ };
341
+ }
342
+ /** Aggregate tension events from traces */
343
+ export function aggregateTensions(events) {
344
+ const tensions = events.filter(e => e.event_type === 'tension');
345
+ const pending = tensions.filter(e => e.tension?.status === 'pending');
346
+ return {
347
+ total: tensions.length,
348
+ pending: pending.length,
349
+ recent: tensions.slice(-10),
350
+ };
351
+ }
352
+ /**
353
+ * Detect underperforming skills from traces and generate amendment proposals.
354
+ */
355
+ export function detectSkillDrift(events, manifest, options = {}) {
356
+ const threshold = options.successThreshold ?? 0.7;
357
+ const minRuns = options.minRuns ?? 3;
358
+ const records = aggregateSkillRuns(events);
359
+ const reports = rankByFailureRate(getSkillPerformance(records));
360
+ const proposals = [];
361
+ for (const report of reports) {
362
+ if (report.total_runs < minRuns)
363
+ continue;
364
+ if (report.success_rate >= threshold)
365
+ continue;
366
+ // Determine amendment type from failure patterns
367
+ const amendmentType = inferAmendmentType(report.failure_reasons);
368
+ const suggestedChanges = generateSuggestions(report, manifest);
369
+ // Confidence based on how far below threshold + how many runs
370
+ const distanceBelowThreshold = threshold - report.success_rate;
371
+ const runConfidence = Math.min(1, report.total_runs / 10);
372
+ const confidence = Math.round(Math.min(1, distanceBelowThreshold + runConfidence * 0.3) * 100) / 100;
373
+ proposals.push({
374
+ skill_id: report.skill_id,
375
+ proposal_id: `skill_amend_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`,
376
+ evidence: {
377
+ total_runs: report.total_runs,
378
+ success_rate: report.success_rate,
379
+ failure_reasons: report.failure_reasons,
380
+ trend: report.trend,
381
+ },
382
+ suggested_changes: suggestedChanges,
383
+ amendment_type: amendmentType,
384
+ confidence,
385
+ });
386
+ }
387
+ return proposals;
388
+ }
389
+ function inferAmendmentType(failureReasons) {
390
+ const reasons = Object.keys(failureReasons).join(' ').toLowerCase();
391
+ if (reasons.includes('tool') || reasons.includes('binding'))
392
+ return 'update_tool_binding';
393
+ if (reasons.includes('format') || reasons.includes('output'))
394
+ return 'change_output_format';
395
+ if (reasons.includes('trigger') || reasons.includes('routing'))
396
+ return 'tighten_trigger';
397
+ if (reasons.includes('step') || reasons.includes('order'))
398
+ return 'reorder_steps';
399
+ return 'add_condition';
400
+ }
401
+ function generateSuggestions(report, _manifest) {
402
+ const suggestions = [];
403
+ if (report.success_rate < 0.3) {
404
+ suggestions.push(`Skill "${report.skill_id}" is critically underperforming (${(report.success_rate * 100).toFixed(0)}% success). Consider a full rewrite or replacement.`);
405
+ }
406
+ else if (report.success_rate < 0.5) {
407
+ suggestions.push(`Skill "${report.skill_id}" has low success rate (${(report.success_rate * 100).toFixed(0)}%). Review procedure steps and add missing conditions.`);
408
+ }
409
+ const topFailures = Object.entries(report.failure_reasons)
410
+ .sort(([, a], [, b]) => b - a)
411
+ .slice(0, 3);
412
+ for (const [reason, count] of topFailures) {
413
+ suggestions.push(`Address recurring failure (${count}x): ${reason}`);
414
+ }
415
+ if (report.trend === 'degrading') {
416
+ suggestions.push('Performance is degrading over time — check for environment/codebase changes affecting this skill.');
417
+ }
418
+ return suggestions;
419
+ }
420
+ /** Check if accumulated observations/tensions warrant a meta-review */
421
+ export function shouldTriggerReview(observations, tensions) {
422
+ return observations.total >= 10 || tensions.pending >= 5;
423
+ }
424
+ //# sourceMappingURL=detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../drift/detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * TasteKit Drift Module
3
+ *
4
+ * Drift detection and memory consolidation.
5
+ */
6
+ export * from './detector.js';
7
+ export * from './proposal.js';
8
+ export * from './consolidator.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../drift/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * TasteKit Drift Module
3
+ *
4
+ * Drift detection and memory consolidation.
5
+ */
6
+ export * from './detector.js';
7
+ export * from './proposal.js';
8
+ export * from './consolidator.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../drift/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,108 @@
1
+ import { ConstitutionPrinciple } from '../schemas/constitution.js';
2
+ /**
3
+ * Drift Proposal — Properly Typed
4
+ *
5
+ * Represents a proposed change to artifacts based on detected drift.
6
+ * All fields are fully typed (no `any`).
7
+ */
8
+ /** All recognized drift signal types */
9
+ export type DriftSignalType = 'repeated_edit' | 'principle_violation' | 'user_correction' | 'tool_change' | 'staleness' | 'coverage_gap' | 'assertion_mismatch';
10
+ /** Typed proposed changes to constitution artifacts */
11
+ export interface ProposedConstitutionChange {
12
+ add_principle?: {
13
+ statement: string;
14
+ priority: number;
15
+ applies_to: string[];
16
+ };
17
+ modify_principle?: {
18
+ id: string;
19
+ changes: Partial<Pick<ConstitutionPrinciple, 'statement' | 'priority' | 'rationale' | 'applies_to'>>;
20
+ };
21
+ remove_principle?: {
22
+ id: string;
23
+ reason: string;
24
+ };
25
+ }
26
+ /** Typed proposed changes to guardrails */
27
+ export interface ProposedGuardrailsChange {
28
+ add_approval?: {
29
+ rule_id: string;
30
+ when: string;
31
+ action: string;
32
+ };
33
+ modify_rate_limit?: {
34
+ tool_ref: string;
35
+ limit: number;
36
+ window: string;
37
+ };
38
+ }
39
+ /** Typed proposed changes to tone */
40
+ export interface ProposedToneChange {
41
+ add_forbidden_phrase?: string;
42
+ add_voice_keyword?: string;
43
+ remove_forbidden_phrase?: string;
44
+ }
45
+ /** Typed proposed changes to skills */
46
+ export interface ProposedSkillsChange {
47
+ suggest_skill?: {
48
+ description: string;
49
+ reason: string;
50
+ };
51
+ modify_skill?: {
52
+ skill_id: string;
53
+ changes: string;
54
+ };
55
+ }
56
+ /** All possible proposed changes, organized by artifact type */
57
+ export interface ProposedChanges {
58
+ constitution?: ProposedConstitutionChange;
59
+ guardrails?: ProposedGuardrailsChange;
60
+ tone?: ProposedToneChange;
61
+ skills?: ProposedSkillsChange;
62
+ }
63
+ /** Evidence supporting a drift proposal */
64
+ export interface DriftEvidence {
65
+ /** Sample trace event IDs or timestamps */
66
+ event_refs?: string[];
67
+ /** Specific reason or pattern description */
68
+ reason?: string;
69
+ /** Count of occurrences */
70
+ occurrences?: number;
71
+ /** Affected artifact or principle IDs */
72
+ affected_ids?: string[];
73
+ /** Free-form context */
74
+ context?: Record<string, unknown>;
75
+ }
76
+ export interface DriftProposal {
77
+ proposal_id: string;
78
+ created_at: string;
79
+ signal_type: DriftSignalType;
80
+ frequency: number;
81
+ rationale: string;
82
+ proposed_changes: ProposedChanges;
83
+ risk_rating: 'low' | 'medium' | 'high';
84
+ evidence: DriftEvidence;
85
+ }
86
+ export interface AppliedProposal {
87
+ proposal_id: string;
88
+ applied_at: string;
89
+ artifacts_updated: string[];
90
+ recompiled: boolean;
91
+ }
92
+ /** Amendment type — what kind of change to propose for a skill */
93
+ export type SkillAmendmentType = 'tighten_trigger' | 'add_condition' | 'reorder_steps' | 'change_output_format' | 'update_tool_binding';
94
+ /** A proposal to amend a specific skill based on performance evidence */
95
+ export interface SkillAmendmentProposal {
96
+ skill_id: string;
97
+ proposal_id: string;
98
+ evidence: {
99
+ total_runs: number;
100
+ success_rate: number;
101
+ failure_reasons: Record<string, number>;
102
+ trend: 'improving' | 'stable' | 'degrading';
103
+ };
104
+ suggested_changes: string[];
105
+ amendment_type: SkillAmendmentType;
106
+ confidence: number;
107
+ }
108
+ //# sourceMappingURL=proposal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposal.d.ts","sourceRoot":"","sources":["../../drift/proposal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=proposal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposal.js","sourceRoot":"","sources":["../../drift/proposal.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * TasteKit Evaluation Module
3
+ *
4
+ * Evaluation packs and judging for taste compliance.
5
+ */
6
+ export * from './runner.js';
7
+ export * from './judge.js';
8
+ export * from './replay.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../eval/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * TasteKit Evaluation Module
3
+ *
4
+ * Evaluation packs and judging for taste compliance.
5
+ */
6
+ export * from './runner.js';
7
+ export * from './judge.js';
8
+ export * from './replay.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../eval/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { EvalJudging, EvalScenarioExpected } from '../schemas/evalpack.js';
2
+ /**
3
+ * Judge
4
+ *
5
+ * Judges outputs against rubrics and expectations.
6
+ * Supports deterministic checks, regex matching, JSON schema validation,
7
+ * and LLM-as-judge evaluation.
8
+ */
9
+ export interface JudgmentResult {
10
+ rule_id: string;
11
+ passed: boolean;
12
+ score: number;
13
+ reason?: string;
14
+ }
15
+ export interface LLMJudgeProvider {
16
+ /** Call an LLM with a prompt and return the response text */
17
+ complete(prompt: string): Promise<string>;
18
+ }
19
+ export declare class Judge {
20
+ private llmProvider?;
21
+ constructor(llmProvider?: LLMJudgeProvider);
22
+ judgeOutputs(outputs: any, judging: EvalJudging, expected: EvalScenarioExpected): Promise<JudgmentResult[]>;
23
+ private applyRule;
24
+ private applyDeterministicRule;
25
+ private applyRegexRule;
26
+ private applySchemaRule;
27
+ private applyLLMJudge;
28
+ /**
29
+ * Convert a simple JSON schema description to a Zod schema for validation.
30
+ */
31
+ private jsonToZodSchema;
32
+ }
33
+ //# sourceMappingURL=judge.d.ts.map