jev-recipes 0.2.0 → 0.4.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 (437) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/README.md +74 -85
  3. package/dist/catalog/generated/details/action-scope.json +43 -0
  4. package/dist/catalog/generated/details/answer-consistency.json +46 -0
  5. package/dist/catalog/generated/details/answer-coverage.json +66 -0
  6. package/dist/catalog/generated/details/answer-invalidation.json +43 -0
  7. package/dist/catalog/generated/details/answer-relevance.json +45 -0
  8. package/dist/catalog/generated/details/answerability.json +55 -0
  9. package/dist/catalog/generated/details/argument-fit.json +41 -0
  10. package/dist/catalog/generated/details/attempted-step.json +39 -0
  11. package/dist/catalog/generated/details/audience-fit.json +45 -0
  12. package/dist/catalog/generated/details/cache-match.json +41 -0
  13. package/dist/catalog/generated/details/cancellation-check.json +40 -0
  14. package/dist/catalog/generated/details/certainty-match.json +45 -0
  15. package/dist/catalog/generated/details/change-meaning.json +43 -0
  16. package/dist/catalog/generated/details/citation-match.json +64 -0
  17. package/dist/catalog/generated/details/citation-needed.json +39 -0
  18. package/dist/catalog/generated/details/claim-stance.json +55 -0
  19. package/dist/catalog/generated/details/clarify.json +64 -0
  20. package/dist/catalog/generated/details/confirmation-match.json +40 -0
  21. package/dist/catalog/generated/details/constraint-strength.json +48 -0
  22. package/dist/catalog/generated/details/context-role.json +45 -0
  23. package/dist/catalog/generated/details/correction-target.json +68 -0
  24. package/dist/catalog/generated/details/document-role.json +68 -0
  25. package/dist/catalog/generated/details/draft-compare.json +44 -0
  26. package/dist/catalog/generated/details/evidence-conflict.json +46 -0
  27. package/dist/catalog/generated/details/evidence-novelty.json +55 -0
  28. package/dist/catalog/generated/details/fact-stability.json +39 -0
  29. package/dist/catalog/generated/details/failure-kind.json +68 -0
  30. package/dist/catalog/generated/details/feedback-kind.json +69 -0
  31. package/dist/catalog/generated/details/field-select.json +68 -0
  32. package/dist/catalog/generated/details/followup-link.json +68 -0
  33. package/dist/catalog/generated/details/freshness-needed.json +38 -0
  34. package/dist/catalog/generated/details/frustration-signal.json +39 -0
  35. package/dist/catalog/generated/details/handoff.json +75 -0
  36. package/dist/catalog/generated/details/incident-match.json +68 -0
  37. package/dist/catalog/generated/details/instruction-conflict.json +52 -0
  38. package/dist/catalog/generated/details/instruction-fit.json +40 -0
  39. package/dist/catalog/generated/details/intent-change.json +43 -0
  40. package/dist/catalog/generated/details/issue-impact.json +42 -0
  41. package/dist/catalog/generated/details/memory-relation.json +46 -0
  42. package/dist/catalog/generated/details/memory-scope.json +42 -0
  43. package/dist/catalog/generated/details/memory-value.json +46 -0
  44. package/dist/catalog/generated/details/passage-duplicate.json +42 -0
  45. package/dist/catalog/generated/details/preference-kind.json +45 -0
  46. package/dist/catalog/generated/details/promise-check.json +42 -0
  47. package/dist/catalog/generated/details/query-equivalence.json +43 -0
  48. package/dist/catalog/generated/details/query-specificity.json +39 -0
  49. package/dist/catalog/generated/details/reference-resolve.json +69 -0
  50. package/dist/catalog/generated/details/repeated-attempt.json +43 -0
  51. package/dist/catalog/generated/details/reply-template-match.json +68 -0
  52. package/dist/catalog/generated/details/requirement-testability.json +45 -0
  53. package/dist/catalog/generated/details/rerank.json +55 -0
  54. package/dist/catalog/generated/details/resolution-check.json +40 -0
  55. package/dist/catalog/generated/details/response-needed.json +42 -0
  56. package/dist/catalog/generated/details/result-outcome.json +42 -0
  57. package/dist/catalog/generated/details/result-usefulness.json +45 -0
  58. package/dist/catalog/generated/details/retrieval-needed.json +39 -0
  59. package/dist/catalog/generated/details/route.json +51 -0
  60. package/dist/catalog/generated/details/source-applicability.json +39 -0
  61. package/dist/catalog/generated/details/step-complete.json +39 -0
  62. package/dist/catalog/generated/details/step-progress.json +43 -0
  63. package/dist/catalog/generated/details/summary-coverage.json +66 -0
  64. package/dist/catalog/generated/details/task-dependency.json +61 -0
  65. package/dist/catalog/generated/details/task-duplicate.json +49 -0
  66. package/dist/catalog/generated/details/ticket-match.json +43 -0
  67. package/dist/catalog/generated/details/tone-check.json +63 -0
  68. package/dist/catalog/generated/details/tool-fit.json +40 -0
  69. package/dist/catalog/generated/details/topic-shift.json +43 -0
  70. package/dist/catalog/generated/details/troubleshooting-fit.json +40 -0
  71. package/dist/catalog/generated/details/turn-intent.json +69 -0
  72. package/dist/catalog/generated/details/urgency-signal.json +39 -0
  73. package/dist/catalog/generated/details/verify.json +66 -0
  74. package/dist/catalog/generated/details/workaround-fit.json +40 -0
  75. package/dist/catalog/generated/loaders.d.ts +3 -0
  76. package/dist/catalog/generated/loaders.js +74 -0
  77. package/dist/catalog/generated/metadata.d.ts +2 -0
  78. package/dist/catalog/generated/metadata.js +1286 -0
  79. package/dist/catalog/generated/names.d.ts +1 -0
  80. package/dist/catalog/generated/names.js +75 -0
  81. package/dist/catalog/index.d.ts +9 -1764
  82. package/dist/catalog/index.js +8 -24
  83. package/dist/catalog/runner.d.ts +4 -0
  84. package/dist/catalog/runner.js +5 -0
  85. package/dist/catalog/schema.d.ts +57 -50
  86. package/dist/catalog/schema.js +2 -2
  87. package/dist/catalog/search.d.ts +3 -0
  88. package/dist/catalog/search.js +60 -0
  89. package/dist/cli/index.js +17 -8
  90. package/dist/cli/schema.d.ts +169 -167
  91. package/dist/cli/schema.js +37 -4
  92. package/dist/recipes/action-scope/schema.d.ts +3 -3
  93. package/dist/recipes/answer-consistency/schema.d.ts +3 -3
  94. package/dist/recipes/answer-coverage/schema.d.ts +6 -6
  95. package/dist/recipes/answerability/schema.d.ts +6 -6
  96. package/dist/recipes/cancellation-check/schema.d.ts +3 -3
  97. package/dist/recipes/certainty-match/schema.d.ts +3 -3
  98. package/dist/recipes/citation-needed/schema.d.ts +3 -3
  99. package/dist/recipes/claim-stance/demo.json +27 -0
  100. package/dist/recipes/claim-stance/index.d.ts +5 -0
  101. package/dist/recipes/claim-stance/index.js +17 -0
  102. package/dist/recipes/claim-stance/schema.d.ts +43 -0
  103. package/dist/recipes/claim-stance/schema.js +23 -0
  104. package/dist/recipes/clarify/schema.d.ts +3 -3
  105. package/dist/recipes/constraint-strength/demo.json +25 -0
  106. package/dist/recipes/constraint-strength/index.d.ts +5 -0
  107. package/dist/recipes/constraint-strength/index.js +16 -0
  108. package/dist/recipes/constraint-strength/schema.d.ts +39 -0
  109. package/dist/recipes/constraint-strength/schema.js +21 -0
  110. package/dist/recipes/document-role/schema.d.ts +6 -6
  111. package/dist/recipes/evidence-conflict/schema.d.ts +6 -6
  112. package/dist/recipes/feedback-kind/schema.d.ts +3 -3
  113. package/dist/recipes/freshness-needed/schema.d.ts +3 -3
  114. package/dist/recipes/handoff/schema.d.ts +3 -3
  115. package/dist/recipes/instruction-conflict/demo.json +27 -0
  116. package/dist/recipes/instruction-conflict/index.d.ts +5 -0
  117. package/dist/recipes/instruction-conflict/index.js +16 -0
  118. package/dist/recipes/instruction-conflict/schema.d.ts +40 -0
  119. package/dist/recipes/instruction-conflict/schema.js +22 -0
  120. package/dist/recipes/passage-duplicate/schema.d.ts +3 -3
  121. package/dist/recipes/preference-kind/schema.d.ts +6 -6
  122. package/dist/recipes/promise-check/schema.d.ts +3 -3
  123. package/dist/recipes/query-equivalence/schema.d.ts +3 -3
  124. package/dist/recipes/requirement-testability/demo.json +24 -0
  125. package/dist/recipes/requirement-testability/index.d.ts +5 -0
  126. package/dist/recipes/requirement-testability/index.js +15 -0
  127. package/dist/recipes/requirement-testability/schema.d.ts +36 -0
  128. package/dist/recipes/requirement-testability/schema.js +16 -0
  129. package/dist/recipes/result-outcome/schema.d.ts +3 -3
  130. package/dist/recipes/retrieval-needed/schema.d.ts +3 -3
  131. package/dist/recipes/step-progress/schema.d.ts +3 -3
  132. package/dist/recipes/summary-coverage/schema.d.ts +3 -3
  133. package/dist/recipes/task-dependency/demo.json +28 -0
  134. package/dist/recipes/task-dependency/index.d.ts +5 -0
  135. package/dist/recipes/task-dependency/index.js +17 -0
  136. package/dist/recipes/task-dependency/schema.d.ts +43 -0
  137. package/dist/recipes/task-dependency/schema.js +23 -0
  138. package/dist/recipes/task-duplicate/demo.json +27 -0
  139. package/dist/recipes/task-duplicate/index.d.ts +5 -0
  140. package/dist/recipes/task-duplicate/index.js +16 -0
  141. package/dist/recipes/task-duplicate/schema.d.ts +40 -0
  142. package/dist/recipes/task-duplicate/schema.js +22 -0
  143. package/dist/recipes/ticket-match/schema.d.ts +3 -3
  144. package/dist/recipes/topic-shift/schema.d.ts +3 -3
  145. package/dist/recipes/turn-intent/schema.d.ts +12 -12
  146. package/dist/src/index.d.ts +129 -117
  147. package/dist/src/index.js +57 -50
  148. package/dist/src/schema.d.ts +5 -0
  149. package/dist/src/schema.js +2 -0
  150. package/package.json +221 -188
  151. package/dist/catalog/groups/answers.d.ts +0 -565
  152. package/dist/catalog/groups/answers.js +0 -82
  153. package/dist/catalog/groups/conversation.d.ts +0 -608
  154. package/dist/catalog/groups/conversation.js +0 -90
  155. package/dist/catalog/groups/knowledge.d.ts +0 -522
  156. package/dist/catalog/groups/knowledge.js +0 -82
  157. package/dist/catalog/groups/retrieval.d.ts +0 -664
  158. package/dist/catalog/groups/retrieval.js +0 -106
  159. package/dist/catalog/groups/support.d.ts +0 -522
  160. package/dist/catalog/groups/support.js +0 -82
  161. package/dist/catalog/groups/workflow.d.ts +0 -623
  162. package/dist/catalog/groups/workflow.js +0 -98
  163. package/dist/catalog/recipes.d.ts +0 -3488
  164. package/dist/catalog/recipes.js +0 -14
  165. package/dist/examples/support/index.d.ts +0 -1
  166. package/dist/examples/support/index.js +0 -37
  167. package/dist/examples/support/schema.d.ts +0 -566
  168. package/dist/examples/support/schema.js +0 -76
  169. package/dist/examples/support/workflow.d.ts +0 -3
  170. package/dist/examples/support/workflow.js +0 -85
  171. package/dist/recipes/action-scope/metadata.d.ts +0 -8
  172. package/dist/recipes/action-scope/metadata.js +0 -10
  173. package/dist/recipes/answer-consistency/metadata.d.ts +0 -8
  174. package/dist/recipes/answer-consistency/metadata.js +0 -10
  175. package/dist/recipes/answer-coverage/metadata.d.ts +0 -8
  176. package/dist/recipes/answer-coverage/metadata.js +0 -11
  177. package/dist/recipes/answer-invalidation/metadata.d.ts +0 -8
  178. package/dist/recipes/answer-invalidation/metadata.js +0 -10
  179. package/dist/recipes/answer-relevance/metadata.d.ts +0 -8
  180. package/dist/recipes/answer-relevance/metadata.js +0 -10
  181. package/dist/recipes/answerability/metadata.d.ts +0 -8
  182. package/dist/recipes/answerability/metadata.js +0 -11
  183. package/dist/recipes/argument-fit/metadata.d.ts +0 -8
  184. package/dist/recipes/argument-fit/metadata.js +0 -10
  185. package/dist/recipes/attempted-step/metadata.d.ts +0 -8
  186. package/dist/recipes/attempted-step/metadata.js +0 -10
  187. package/dist/recipes/audience-fit/metadata.d.ts +0 -8
  188. package/dist/recipes/audience-fit/metadata.js +0 -10
  189. package/dist/recipes/cache-match/metadata.d.ts +0 -8
  190. package/dist/recipes/cache-match/metadata.js +0 -10
  191. package/dist/recipes/cancellation-check/metadata.d.ts +0 -8
  192. package/dist/recipes/cancellation-check/metadata.js +0 -10
  193. package/dist/recipes/certainty-match/metadata.d.ts +0 -8
  194. package/dist/recipes/certainty-match/metadata.js +0 -10
  195. package/dist/recipes/change-meaning/metadata.d.ts +0 -8
  196. package/dist/recipes/change-meaning/metadata.js +0 -10
  197. package/dist/recipes/citation-match/metadata.d.ts +0 -9
  198. package/dist/recipes/citation-match/metadata.js +0 -12
  199. package/dist/recipes/citation-needed/metadata.d.ts +0 -8
  200. package/dist/recipes/citation-needed/metadata.js +0 -10
  201. package/dist/recipes/clarify/metadata.d.ts +0 -8
  202. package/dist/recipes/clarify/metadata.js +0 -11
  203. package/dist/recipes/confirmation-match/metadata.d.ts +0 -8
  204. package/dist/recipes/confirmation-match/metadata.js +0 -10
  205. package/dist/recipes/context-role/metadata.d.ts +0 -8
  206. package/dist/recipes/context-role/metadata.js +0 -10
  207. package/dist/recipes/correction-target/metadata.d.ts +0 -8
  208. package/dist/recipes/correction-target/metadata.js +0 -11
  209. package/dist/recipes/document-role/metadata.d.ts +0 -8
  210. package/dist/recipes/document-role/metadata.js +0 -10
  211. package/dist/recipes/draft-compare/metadata.d.ts +0 -8
  212. package/dist/recipes/draft-compare/metadata.js +0 -10
  213. package/dist/recipes/evidence-conflict/metadata.d.ts +0 -8
  214. package/dist/recipes/evidence-conflict/metadata.js +0 -10
  215. package/dist/recipes/evidence-novelty/metadata.d.ts +0 -8
  216. package/dist/recipes/evidence-novelty/metadata.js +0 -11
  217. package/dist/recipes/fact-stability/metadata.d.ts +0 -8
  218. package/dist/recipes/fact-stability/metadata.js +0 -10
  219. package/dist/recipes/failure-kind/metadata.d.ts +0 -8
  220. package/dist/recipes/failure-kind/metadata.js +0 -11
  221. package/dist/recipes/feedback-kind/metadata.d.ts +0 -8
  222. package/dist/recipes/feedback-kind/metadata.js +0 -10
  223. package/dist/recipes/field-select/metadata.d.ts +0 -8
  224. package/dist/recipes/field-select/metadata.js +0 -11
  225. package/dist/recipes/followup-link/metadata.d.ts +0 -8
  226. package/dist/recipes/followup-link/metadata.js +0 -11
  227. package/dist/recipes/freshness-needed/metadata.d.ts +0 -8
  228. package/dist/recipes/freshness-needed/metadata.js +0 -10
  229. package/dist/recipes/frustration-signal/metadata.d.ts +0 -8
  230. package/dist/recipes/frustration-signal/metadata.js +0 -10
  231. package/dist/recipes/handoff/metadata.d.ts +0 -8
  232. package/dist/recipes/handoff/metadata.js +0 -11
  233. package/dist/recipes/incident-match/metadata.d.ts +0 -8
  234. package/dist/recipes/incident-match/metadata.js +0 -11
  235. package/dist/recipes/instruction-fit/metadata.d.ts +0 -8
  236. package/dist/recipes/instruction-fit/metadata.js +0 -10
  237. package/dist/recipes/intent-change/metadata.d.ts +0 -8
  238. package/dist/recipes/intent-change/metadata.js +0 -10
  239. package/dist/recipes/issue-impact/metadata.d.ts +0 -8
  240. package/dist/recipes/issue-impact/metadata.js +0 -10
  241. package/dist/recipes/memory-relation/metadata.d.ts +0 -8
  242. package/dist/recipes/memory-relation/metadata.js +0 -10
  243. package/dist/recipes/memory-scope/metadata.d.ts +0 -8
  244. package/dist/recipes/memory-scope/metadata.js +0 -10
  245. package/dist/recipes/memory-value/metadata.d.ts +0 -8
  246. package/dist/recipes/memory-value/metadata.js +0 -10
  247. package/dist/recipes/passage-duplicate/metadata.d.ts +0 -8
  248. package/dist/recipes/passage-duplicate/metadata.js +0 -10
  249. package/dist/recipes/preference-kind/metadata.d.ts +0 -8
  250. package/dist/recipes/preference-kind/metadata.js +0 -10
  251. package/dist/recipes/promise-check/metadata.d.ts +0 -8
  252. package/dist/recipes/promise-check/metadata.js +0 -10
  253. package/dist/recipes/query-equivalence/metadata.d.ts +0 -8
  254. package/dist/recipes/query-equivalence/metadata.js +0 -10
  255. package/dist/recipes/query-specificity/metadata.d.ts +0 -8
  256. package/dist/recipes/query-specificity/metadata.js +0 -10
  257. package/dist/recipes/reference-resolve/metadata.d.ts +0 -8
  258. package/dist/recipes/reference-resolve/metadata.js +0 -11
  259. package/dist/recipes/repeated-attempt/metadata.d.ts +0 -8
  260. package/dist/recipes/repeated-attempt/metadata.js +0 -10
  261. package/dist/recipes/reply-template-match/metadata.d.ts +0 -8
  262. package/dist/recipes/reply-template-match/metadata.js +0 -11
  263. package/dist/recipes/rerank/metadata.d.ts +0 -8
  264. package/dist/recipes/rerank/metadata.js +0 -11
  265. package/dist/recipes/resolution-check/metadata.d.ts +0 -8
  266. package/dist/recipes/resolution-check/metadata.js +0 -10
  267. package/dist/recipes/response-needed/metadata.d.ts +0 -8
  268. package/dist/recipes/response-needed/metadata.js +0 -10
  269. package/dist/recipes/result-outcome/metadata.d.ts +0 -8
  270. package/dist/recipes/result-outcome/metadata.js +0 -10
  271. package/dist/recipes/result-usefulness/metadata.d.ts +0 -8
  272. package/dist/recipes/result-usefulness/metadata.js +0 -10
  273. package/dist/recipes/retrieval-needed/metadata.d.ts +0 -8
  274. package/dist/recipes/retrieval-needed/metadata.js +0 -10
  275. package/dist/recipes/route/metadata.d.ts +0 -8
  276. package/dist/recipes/route/metadata.js +0 -11
  277. package/dist/recipes/source-applicability/metadata.d.ts +0 -8
  278. package/dist/recipes/source-applicability/metadata.js +0 -10
  279. package/dist/recipes/step-complete/metadata.d.ts +0 -8
  280. package/dist/recipes/step-complete/metadata.js +0 -10
  281. package/dist/recipes/step-progress/metadata.d.ts +0 -8
  282. package/dist/recipes/step-progress/metadata.js +0 -10
  283. package/dist/recipes/summary-coverage/metadata.d.ts +0 -8
  284. package/dist/recipes/summary-coverage/metadata.js +0 -11
  285. package/dist/recipes/ticket-match/metadata.d.ts +0 -8
  286. package/dist/recipes/ticket-match/metadata.js +0 -10
  287. package/dist/recipes/tone-check/metadata.d.ts +0 -8
  288. package/dist/recipes/tone-check/metadata.js +0 -11
  289. package/dist/recipes/tool-fit/metadata.d.ts +0 -8
  290. package/dist/recipes/tool-fit/metadata.js +0 -10
  291. package/dist/recipes/topic-shift/metadata.d.ts +0 -8
  292. package/dist/recipes/topic-shift/metadata.js +0 -10
  293. package/dist/recipes/troubleshooting-fit/metadata.d.ts +0 -8
  294. package/dist/recipes/troubleshooting-fit/metadata.js +0 -10
  295. package/dist/recipes/turn-intent/metadata.d.ts +0 -8
  296. package/dist/recipes/turn-intent/metadata.js +0 -10
  297. package/dist/recipes/urgency-signal/metadata.d.ts +0 -8
  298. package/dist/recipes/urgency-signal/metadata.js +0 -10
  299. package/dist/recipes/verify/metadata.d.ts +0 -8
  300. package/dist/recipes/verify/metadata.js +0 -11
  301. package/dist/recipes/workaround-fit/metadata.d.ts +0 -8
  302. package/dist/recipes/workaround-fit/metadata.js +0 -10
  303. package/examples/support/README.md +0 -60
  304. package/examples/support/demo.json +0 -156
  305. package/recipes/README.md +0 -128
  306. package/recipes/action-scope/README.md +0 -49
  307. package/recipes/answer-consistency/README.md +0 -50
  308. package/recipes/answer-coverage/README.md +0 -60
  309. package/recipes/answer-invalidation/README.md +0 -50
  310. package/recipes/answer-relevance/README.md +0 -49
  311. package/recipes/answerability/README.md +0 -54
  312. package/recipes/argument-fit/README.md +0 -51
  313. package/recipes/attempted-step/README.md +0 -48
  314. package/recipes/audience-fit/README.md +0 -50
  315. package/recipes/cache-match/README.md +0 -51
  316. package/recipes/cancellation-check/README.md +0 -50
  317. package/recipes/certainty-match/README.md +0 -49
  318. package/recipes/change-meaning/README.md +0 -49
  319. package/recipes/citation-match/README.md +0 -51
  320. package/recipes/citation-needed/README.md +0 -49
  321. package/recipes/clarify/README.md +0 -61
  322. package/recipes/confirmation-match/README.md +0 -49
  323. package/recipes/context-role/README.md +0 -49
  324. package/recipes/correction-target/README.md +0 -52
  325. package/recipes/document-role/README.md +0 -51
  326. package/recipes/draft-compare/README.md +0 -54
  327. package/recipes/evidence-conflict/README.md +0 -51
  328. package/recipes/evidence-novelty/README.md +0 -56
  329. package/recipes/fact-stability/README.md +0 -47
  330. package/recipes/failure-kind/README.md +0 -52
  331. package/recipes/feedback-kind/README.md +0 -51
  332. package/recipes/field-select/README.md +0 -53
  333. package/recipes/followup-link/README.md +0 -52
  334. package/recipes/freshness-needed/README.md +0 -46
  335. package/recipes/frustration-signal/README.md +0 -47
  336. package/recipes/handoff/README.md +0 -56
  337. package/recipes/incident-match/README.md +0 -52
  338. package/recipes/instruction-fit/README.md +0 -49
  339. package/recipes/intent-change/README.md +0 -50
  340. package/recipes/issue-impact/README.md +0 -48
  341. package/recipes/memory-relation/README.md +0 -52
  342. package/recipes/memory-scope/README.md +0 -50
  343. package/recipes/memory-value/README.md +0 -50
  344. package/recipes/passage-duplicate/README.md +0 -49
  345. package/recipes/preference-kind/README.md +0 -48
  346. package/recipes/promise-check/README.md +0 -48
  347. package/recipes/query-equivalence/README.md +0 -50
  348. package/recipes/query-specificity/README.md +0 -47
  349. package/recipes/reference-resolve/README.md +0 -54
  350. package/recipes/repeated-attempt/README.md +0 -50
  351. package/recipes/reply-template-match/README.md +0 -52
  352. package/recipes/rerank/README.md +0 -55
  353. package/recipes/resolution-check/README.md +0 -49
  354. package/recipes/response-needed/README.md +0 -48
  355. package/recipes/result-outcome/README.md +0 -49
  356. package/recipes/result-usefulness/README.md +0 -49
  357. package/recipes/retrieval-needed/README.md +0 -48
  358. package/recipes/route/README.md +0 -47
  359. package/recipes/source-applicability/README.md +0 -48
  360. package/recipes/step-complete/README.md +0 -48
  361. package/recipes/step-progress/README.md +0 -51
  362. package/recipes/summary-coverage/README.md +0 -60
  363. package/recipes/ticket-match/README.md +0 -50
  364. package/recipes/tone-check/README.md +0 -55
  365. package/recipes/tool-fit/README.md +0 -49
  366. package/recipes/topic-shift/README.md +0 -50
  367. package/recipes/troubleshooting-fit/README.md +0 -49
  368. package/recipes/turn-intent/README.md +0 -52
  369. package/recipes/urgency-signal/README.md +0 -47
  370. package/recipes/verify/README.md +0 -54
  371. package/recipes/workaround-fit/README.md +0 -50
  372. /package/{recipes → dist/recipes}/action-scope/demo.json +0 -0
  373. /package/{recipes → dist/recipes}/answer-consistency/demo.json +0 -0
  374. /package/{recipes → dist/recipes}/answer-coverage/demo.json +0 -0
  375. /package/{recipes → dist/recipes}/answer-invalidation/demo.json +0 -0
  376. /package/{recipes → dist/recipes}/answer-relevance/demo.json +0 -0
  377. /package/{recipes → dist/recipes}/answerability/demo.json +0 -0
  378. /package/{recipes → dist/recipes}/argument-fit/demo.json +0 -0
  379. /package/{recipes → dist/recipes}/attempted-step/demo.json +0 -0
  380. /package/{recipes → dist/recipes}/audience-fit/demo.json +0 -0
  381. /package/{recipes → dist/recipes}/cache-match/demo.json +0 -0
  382. /package/{recipes → dist/recipes}/cancellation-check/demo.json +0 -0
  383. /package/{recipes → dist/recipes}/certainty-match/demo.json +0 -0
  384. /package/{recipes → dist/recipes}/change-meaning/demo.json +0 -0
  385. /package/{recipes → dist/recipes}/citation-match/demo.json +0 -0
  386. /package/{recipes → dist/recipes}/citation-needed/demo.json +0 -0
  387. /package/{recipes → dist/recipes}/clarify/demo.json +0 -0
  388. /package/{recipes → dist/recipes}/confirmation-match/demo.json +0 -0
  389. /package/{recipes → dist/recipes}/context-role/demo.json +0 -0
  390. /package/{recipes → dist/recipes}/correction-target/demo.json +0 -0
  391. /package/{recipes → dist/recipes}/document-role/demo.json +0 -0
  392. /package/{recipes → dist/recipes}/draft-compare/demo.json +0 -0
  393. /package/{recipes → dist/recipes}/evidence-conflict/demo.json +0 -0
  394. /package/{recipes → dist/recipes}/evidence-novelty/demo.json +0 -0
  395. /package/{recipes → dist/recipes}/fact-stability/demo.json +0 -0
  396. /package/{recipes → dist/recipes}/failure-kind/demo.json +0 -0
  397. /package/{recipes → dist/recipes}/feedback-kind/demo.json +0 -0
  398. /package/{recipes → dist/recipes}/field-select/demo.json +0 -0
  399. /package/{recipes → dist/recipes}/followup-link/demo.json +0 -0
  400. /package/{recipes → dist/recipes}/freshness-needed/demo.json +0 -0
  401. /package/{recipes → dist/recipes}/frustration-signal/demo.json +0 -0
  402. /package/{recipes → dist/recipes}/handoff/demo.json +0 -0
  403. /package/{recipes → dist/recipes}/incident-match/demo.json +0 -0
  404. /package/{recipes → dist/recipes}/instruction-fit/demo.json +0 -0
  405. /package/{recipes → dist/recipes}/intent-change/demo.json +0 -0
  406. /package/{recipes → dist/recipes}/issue-impact/demo.json +0 -0
  407. /package/{recipes → dist/recipes}/memory-relation/demo.json +0 -0
  408. /package/{recipes → dist/recipes}/memory-scope/demo.json +0 -0
  409. /package/{recipes → dist/recipes}/memory-value/demo.json +0 -0
  410. /package/{recipes → dist/recipes}/passage-duplicate/demo.json +0 -0
  411. /package/{recipes → dist/recipes}/preference-kind/demo.json +0 -0
  412. /package/{recipes → dist/recipes}/promise-check/demo.json +0 -0
  413. /package/{recipes → dist/recipes}/query-equivalence/demo.json +0 -0
  414. /package/{recipes → dist/recipes}/query-specificity/demo.json +0 -0
  415. /package/{recipes → dist/recipes}/reference-resolve/demo.json +0 -0
  416. /package/{recipes → dist/recipes}/repeated-attempt/demo.json +0 -0
  417. /package/{recipes → dist/recipes}/reply-template-match/demo.json +0 -0
  418. /package/{recipes → dist/recipes}/rerank/demo.json +0 -0
  419. /package/{recipes → dist/recipes}/resolution-check/demo.json +0 -0
  420. /package/{recipes → dist/recipes}/response-needed/demo.json +0 -0
  421. /package/{recipes → dist/recipes}/result-outcome/demo.json +0 -0
  422. /package/{recipes → dist/recipes}/result-usefulness/demo.json +0 -0
  423. /package/{recipes → dist/recipes}/retrieval-needed/demo.json +0 -0
  424. /package/{recipes → dist/recipes}/route/demo.json +0 -0
  425. /package/{recipes → dist/recipes}/source-applicability/demo.json +0 -0
  426. /package/{recipes → dist/recipes}/step-complete/demo.json +0 -0
  427. /package/{recipes → dist/recipes}/step-progress/demo.json +0 -0
  428. /package/{recipes → dist/recipes}/summary-coverage/demo.json +0 -0
  429. /package/{recipes → dist/recipes}/ticket-match/demo.json +0 -0
  430. /package/{recipes → dist/recipes}/tone-check/demo.json +0 -0
  431. /package/{recipes → dist/recipes}/tool-fit/demo.json +0 -0
  432. /package/{recipes → dist/recipes}/topic-shift/demo.json +0 -0
  433. /package/{recipes → dist/recipes}/troubleshooting-fit/demo.json +0 -0
  434. /package/{recipes → dist/recipes}/turn-intent/demo.json +0 -0
  435. /package/{recipes → dist/recipes}/urgency-signal/demo.json +0 -0
  436. /package/{recipes → dist/recipes}/verify/demo.json +0 -0
  437. /package/{recipes → dist/recipes}/workaround-fit/demo.json +0 -0
@@ -1,8 +1,8 @@
1
1
  import { z } from 'zod';
2
2
  export declare const queryEquivalenceVerdictSchema: z.ZodEnum<{
3
+ related: "related";
3
4
  unclear: "unclear";
4
5
  equivalent: "equivalent";
5
- related: "related";
6
6
  different: "different";
7
7
  }>;
8
8
  export declare const queryEquivalenceInputSchema: z.ZodObject<{
@@ -22,16 +22,16 @@ export declare const queryEquivalenceResultSchema: z.ZodObject<{
22
22
  review: "review";
23
23
  }>;
24
24
  verdict: z.ZodEnum<{
25
+ related: "related";
25
26
  unclear: "unclear";
26
27
  equivalent: "equivalent";
27
- related: "related";
28
28
  different: "different";
29
29
  }>;
30
30
  confidence: z.ZodNumber;
31
31
  probabilities: z.ZodRecord<z.ZodEnum<{
32
+ related: "related";
32
33
  unclear: "unclear";
33
34
  equivalent: "equivalent";
34
- related: "related";
35
35
  different: "different";
36
36
  }>, z.ZodNumber>;
37
37
  }, z.core.$strip>;
@@ -0,0 +1,24 @@
1
+ {
2
+ "input": {
3
+ "requirement": "The dashboard should load quickly."
4
+ },
5
+ "response": {
6
+ "model": "demo-fixture",
7
+ "usage": {
8
+ "input_tokens": 0,
9
+ "output_tokens": 0
10
+ },
11
+ "answers": {
12
+ "decision": {
13
+ "type": "choice",
14
+ "choice": "not_testable",
15
+ "confidence": 0.96,
16
+ "probabilities": {
17
+ "testable": 0.02,
18
+ "not_testable": 0.96,
19
+ "unclear": 0.02
20
+ }
21
+ }
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,5 @@
1
+ import type { RecipeOptions } from '../../src/schema.js';
2
+ import type { RequirementTestabilityInput, RequirementTestabilityResult } from './schema.js';
3
+ export declare function requirementTestability(input: RequirementTestabilityInput, options?: RecipeOptions): Promise<RequirementTestabilityResult>;
4
+ export { requirementTestabilityInputSchema, requirementTestabilityResultSchema, requirementTestabilityVerdictSchema, } from './schema.js';
5
+ export type { RequirementTestabilityInput, RequirementTestabilityResult, RequirementTestabilityVerdict, } from './schema.js';
@@ -0,0 +1,15 @@
1
+ import { evaluateChoice } from '../../src/decisions.js';
2
+ import { requirementTestabilityInputSchema, requirementTestabilityResultSchema } from './schema.js';
3
+ export async function requirementTestability(input, options = {}) {
4
+ const { minConfidence = 0.8, ...state } = requirementTestabilityInputSchema.parse(input);
5
+ const decision = await evaluateChoice(state, 'Do requirement and context define an observable way to distinguish meeting this requirement from failing it? Judge the stated acceptance criteria, not feasibility, current implementation, or whether it already passes. A criterion can be qualitative if the supplied definitions make the expected observation clear. Do not invent thresholds, measurement conditions, definitions, or a test procedure. Choose not_testable when the intended requirement is understandable but its completion criteria remain subjective or unbounded; choose unclear when the requirement itself or a reference cannot be interpreted.', {
6
+ testable: 'The supplied requirement and definitions establish observable conditions for distinguishing pass from fail.',
7
+ not_testable: 'The intended requirement is understandable, but the supplied criteria do not define an observable pass/fail boundary.',
8
+ unclear: 'The requirement or its references are too ambiguous to determine what would need to be observed.',
9
+ }, options);
10
+ return requirementTestabilityResultSchema.parse({
11
+ ...decision,
12
+ status: decision.confidence < minConfidence || decision.verdict === 'unclear' ? 'review' : 'ready',
13
+ });
14
+ }
15
+ export { requirementTestabilityInputSchema, requirementTestabilityResultSchema, requirementTestabilityVerdictSchema, } from './schema.js';
@@ -0,0 +1,36 @@
1
+ import { z } from 'zod';
2
+ export declare const requirementTestabilityVerdictSchema: z.ZodEnum<{
3
+ testable: "testable";
4
+ unclear: "unclear";
5
+ not_testable: "not_testable";
6
+ }>;
7
+ export declare const requirementTestabilityInputSchema: z.ZodObject<{
8
+ requirement: z.ZodString;
9
+ context: z.ZodOptional<z.ZodString>;
10
+ minConfidence: z.ZodOptional<z.ZodNumber>;
11
+ }, z.core.$strip>;
12
+ export declare const requirementTestabilityResultSchema: z.ZodObject<{
13
+ model: z.ZodString;
14
+ usage: z.ZodObject<{
15
+ input_tokens: z.ZodNumber;
16
+ output_tokens: z.ZodNumber;
17
+ }, z.core.$strip>;
18
+ status: z.ZodEnum<{
19
+ ready: "ready";
20
+ review: "review";
21
+ }>;
22
+ verdict: z.ZodEnum<{
23
+ testable: "testable";
24
+ unclear: "unclear";
25
+ not_testable: "not_testable";
26
+ }>;
27
+ confidence: z.ZodNumber;
28
+ probabilities: z.ZodRecord<z.ZodEnum<{
29
+ testable: "testable";
30
+ unclear: "unclear";
31
+ not_testable: "not_testable";
32
+ }>, z.ZodNumber>;
33
+ }, z.core.$strip>;
34
+ export type RequirementTestabilityInput = z.infer<typeof requirementTestabilityInputSchema>;
35
+ export type RequirementTestabilityResult = z.infer<typeof requirementTestabilityResultSchema>;
36
+ export type RequirementTestabilityVerdict = z.infer<typeof requirementTestabilityVerdictSchema>;
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ import { decisionStatusSchema, nonEmptyText, probability, resultMetadataSchema, } from '../../src/schema.js';
3
+ export const requirementTestabilityVerdictSchema = z.enum(['testable', 'not_testable', 'unclear']);
4
+ export const requirementTestabilityInputSchema = z.object({
5
+ requirement: nonEmptyText.describe('One requirement whose completion criteria need review.'),
6
+ context: nonEmptyText
7
+ .describe('Supplied definitions, acceptance criteria, and observation conditions.')
8
+ .optional(),
9
+ minConfidence: probability.optional(),
10
+ });
11
+ export const requirementTestabilityResultSchema = resultMetadataSchema.extend({
12
+ status: decisionStatusSchema,
13
+ verdict: requirementTestabilityVerdictSchema,
14
+ confidence: probability,
15
+ probabilities: z.record(requirementTestabilityVerdictSchema, probability),
16
+ });
@@ -1,9 +1,9 @@
1
1
  import { z } from 'zod';
2
2
  export declare const resultOutcomeVerdictSchema: z.ZodEnum<{
3
3
  success: "success";
4
+ failure: "failure";
4
5
  unclear: "unclear";
5
6
  partial_success: "partial_success";
6
- failure: "failure";
7
7
  }>;
8
8
  export declare const resultOutcomeInputSchema: z.ZodObject<{
9
9
  task: z.ZodString;
@@ -22,16 +22,16 @@ export declare const resultOutcomeResultSchema: z.ZodObject<{
22
22
  }>;
23
23
  verdict: z.ZodEnum<{
24
24
  success: "success";
25
+ failure: "failure";
25
26
  unclear: "unclear";
26
27
  partial_success: "partial_success";
27
- failure: "failure";
28
28
  }>;
29
29
  confidence: z.ZodNumber;
30
30
  probabilities: z.ZodRecord<z.ZodEnum<{
31
31
  success: "success";
32
+ failure: "failure";
32
33
  unclear: "unclear";
33
34
  partial_success: "partial_success";
34
- failure: "failure";
35
35
  }>, z.ZodNumber>;
36
36
  }, z.core.$strip>;
37
37
  export type ResultOutcomeInput = z.infer<typeof resultOutcomeInputSchema>;
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  export declare const retrievalNeededVerdictSchema: z.ZodEnum<{
3
- unclear: "unclear";
4
3
  needed: "needed";
4
+ unclear: "unclear";
5
5
  unnecessary: "unnecessary";
6
6
  }>;
7
7
  export declare const retrievalNeededInputSchema: z.ZodObject<{
@@ -20,14 +20,14 @@ export declare const retrievalNeededResultSchema: z.ZodObject<{
20
20
  review: "review";
21
21
  }>;
22
22
  verdict: z.ZodEnum<{
23
- unclear: "unclear";
24
23
  needed: "needed";
24
+ unclear: "unclear";
25
25
  unnecessary: "unnecessary";
26
26
  }>;
27
27
  confidence: z.ZodNumber;
28
28
  probabilities: z.ZodRecord<z.ZodEnum<{
29
- unclear: "unclear";
30
29
  needed: "needed";
30
+ unclear: "unclear";
31
31
  unnecessary: "unnecessary";
32
32
  }>, z.ZodNumber>;
33
33
  }, z.core.$strip>;
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  export declare const stepProgressVerdictSchema: z.ZodEnum<{
3
- unclear: "unclear";
4
3
  progress: "progress";
4
+ unclear: "unclear";
5
5
  no_progress: "no_progress";
6
6
  setback: "setback";
7
7
  }>;
@@ -22,15 +22,15 @@ export declare const stepProgressResultSchema: z.ZodObject<{
22
22
  review: "review";
23
23
  }>;
24
24
  verdict: z.ZodEnum<{
25
- unclear: "unclear";
26
25
  progress: "progress";
26
+ unclear: "unclear";
27
27
  no_progress: "no_progress";
28
28
  setback: "setback";
29
29
  }>;
30
30
  confidence: z.ZodNumber;
31
31
  probabilities: z.ZodRecord<z.ZodEnum<{
32
- unclear: "unclear";
33
32
  progress: "progress";
33
+ unclear: "unclear";
34
34
  no_progress: "no_progress";
35
35
  setback: "setback";
36
36
  }>, z.ZodNumber>;
@@ -1,8 +1,8 @@
1
1
  import { z } from 'zod';
2
2
  export declare const summaryCoverageVerdictSchema: z.ZodEnum<{
3
+ unclear: "unclear";
3
4
  partial: "partial";
4
5
  missing: "missing";
5
- unclear: "unclear";
6
6
  preserved: "preserved";
7
7
  }>;
8
8
  export declare const summaryCoverageInputSchema: z.ZodObject<{
@@ -31,16 +31,16 @@ export declare const summaryCoverageResultSchema: z.ZodObject<{
31
31
  review: "review";
32
32
  }>;
33
33
  verdict: z.ZodEnum<{
34
+ unclear: "unclear";
34
35
  partial: "partial";
35
36
  missing: "missing";
36
- unclear: "unclear";
37
37
  preserved: "preserved";
38
38
  }>;
39
39
  confidence: z.ZodNumber;
40
40
  probabilities: z.ZodRecord<z.ZodEnum<{
41
+ unclear: "unclear";
41
42
  partial: "partial";
42
43
  missing: "missing";
43
- unclear: "unclear";
44
44
  preserved: "preserved";
45
45
  }>, z.ZodNumber>;
46
46
  }, z.core.$strip>>;
@@ -0,0 +1,28 @@
1
+ {
2
+ "input": {
3
+ "firstTask": "Build the release archive from the source code.",
4
+ "secondTask": "Upload the completed release archive to the artifact store.",
5
+ "context": "The source code is available. No release archive exists yet, and uploading requires the completed archive."
6
+ },
7
+ "response": {
8
+ "model": "demo-fixture",
9
+ "usage": {
10
+ "input_tokens": 0,
11
+ "output_tokens": 0
12
+ },
13
+ "answers": {
14
+ "decision": {
15
+ "type": "choice",
16
+ "choice": "first_before_second",
17
+ "confidence": 0.96,
18
+ "probabilities": {
19
+ "first_before_second": 0.96,
20
+ "second_before_first": 0.01,
21
+ "independent": 0.01,
22
+ "cyclic": 0.01,
23
+ "unclear": 0.01
24
+ }
25
+ }
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,5 @@
1
+ import type { RecipeOptions } from '../../src/schema.js';
2
+ import type { TaskDependencyInput, TaskDependencyResult } from './schema.js';
3
+ export declare function taskDependency(input: TaskDependencyInput, options?: RecipeOptions): Promise<TaskDependencyResult>;
4
+ export { taskDependencyInputSchema, taskDependencyResultSchema, taskDependencyVerdictSchema, } from './schema.js';
5
+ export type { TaskDependencyInput, TaskDependencyResult, TaskDependencyVerdict } from './schema.js';
@@ -0,0 +1,17 @@
1
+ import { evaluateChoice } from '../../src/decisions.js';
2
+ import { taskDependencyInputSchema, taskDependencyResultSchema } from './schema.js';
3
+ export async function taskDependency(input, options = {}) {
4
+ const { minConfidence = 0.8, ...state } = taskDependencyInputSchema.parse(input);
5
+ const decision = await evaluateChoice(state, 'Does either of firstTask and secondTask require the other to finish before it can start, using only their descriptions and context? Judge necessary prerequisites, not a preferred or convenient order. Never infer a dependency from the order in which tasks are supplied. Shared subject matter or duplicate work alone does not establish a dependency. Choose independent only when the supplied facts establish that both can start without the other finishing. Missing prerequisite information is unclear, not independence.', {
6
+ first_before_second: 'The second task needs the first task to finish, and the first does not need the second to finish.',
7
+ second_before_first: 'The first task needs the second task to finish, and the second does not need the first to finish.',
8
+ independent: 'Neither task needs the other to finish before it can start under the supplied conditions.',
9
+ cyclic: 'Each task requires the other to finish before it can start.',
10
+ unclear: 'The supplied descriptions do not establish the prerequisite relationship.',
11
+ }, options);
12
+ return taskDependencyResultSchema.parse({
13
+ ...decision,
14
+ status: decision.confidence < minConfidence || decision.verdict === 'unclear' ? 'review' : 'ready',
15
+ });
16
+ }
17
+ export { taskDependencyInputSchema, taskDependencyResultSchema, taskDependencyVerdictSchema, } from './schema.js';
@@ -0,0 +1,43 @@
1
+ import { z } from 'zod';
2
+ export declare const taskDependencyVerdictSchema: z.ZodEnum<{
3
+ unclear: "unclear";
4
+ first_before_second: "first_before_second";
5
+ second_before_first: "second_before_first";
6
+ independent: "independent";
7
+ cyclic: "cyclic";
8
+ }>;
9
+ export declare const taskDependencyInputSchema: z.ZodObject<{
10
+ firstTask: z.ZodString;
11
+ secondTask: z.ZodString;
12
+ context: z.ZodOptional<z.ZodString>;
13
+ minConfidence: z.ZodOptional<z.ZodNumber>;
14
+ }, z.core.$strip>;
15
+ export declare const taskDependencyResultSchema: z.ZodObject<{
16
+ model: z.ZodString;
17
+ usage: z.ZodObject<{
18
+ input_tokens: z.ZodNumber;
19
+ output_tokens: z.ZodNumber;
20
+ }, z.core.$strip>;
21
+ status: z.ZodEnum<{
22
+ ready: "ready";
23
+ review: "review";
24
+ }>;
25
+ verdict: z.ZodEnum<{
26
+ unclear: "unclear";
27
+ first_before_second: "first_before_second";
28
+ second_before_first: "second_before_first";
29
+ independent: "independent";
30
+ cyclic: "cyclic";
31
+ }>;
32
+ confidence: z.ZodNumber;
33
+ probabilities: z.ZodRecord<z.ZodEnum<{
34
+ unclear: "unclear";
35
+ first_before_second: "first_before_second";
36
+ second_before_first: "second_before_first";
37
+ independent: "independent";
38
+ cyclic: "cyclic";
39
+ }>, z.ZodNumber>;
40
+ }, z.core.$strip>;
41
+ export type TaskDependencyInput = z.infer<typeof taskDependencyInputSchema>;
42
+ export type TaskDependencyResult = z.infer<typeof taskDependencyResultSchema>;
43
+ export type TaskDependencyVerdict = z.infer<typeof taskDependencyVerdictSchema>;
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod';
2
+ import { decisionStatusSchema, nonEmptyText, probability, resultMetadataSchema, } from '../../src/schema.js';
3
+ export const taskDependencyVerdictSchema = z.enum([
4
+ 'first_before_second',
5
+ 'second_before_first',
6
+ 'independent',
7
+ 'cyclic',
8
+ 'unclear',
9
+ ]);
10
+ export const taskDependencyInputSchema = z.object({
11
+ firstTask: nonEmptyText.describe('The first task, including its inputs and output when known.'),
12
+ secondTask: nonEmptyText.describe('The second task, including its inputs and output when known.'),
13
+ context: nonEmptyText
14
+ .describe('Known prerequisites, available inputs, and relevant workflow conditions.')
15
+ .optional(),
16
+ minConfidence: probability.optional(),
17
+ });
18
+ export const taskDependencyResultSchema = resultMetadataSchema.extend({
19
+ status: decisionStatusSchema,
20
+ verdict: taskDependencyVerdictSchema,
21
+ confidence: probability,
22
+ probabilities: z.record(taskDependencyVerdictSchema, probability),
23
+ });
@@ -0,0 +1,27 @@
1
+ {
2
+ "input": {
3
+ "firstTask": "Write a summary of the supplied onboarding guide for new hires.",
4
+ "secondTask": "Summarize the same supplied onboarding guide for new hires and translate the summary into Spanish.",
5
+ "context": "Both tasks require the same English summary; only the second also requires a Spanish translation."
6
+ },
7
+ "response": {
8
+ "model": "demo-fixture",
9
+ "usage": {
10
+ "input_tokens": 0,
11
+ "output_tokens": 0
12
+ },
13
+ "answers": {
14
+ "decision": {
15
+ "type": "choice",
16
+ "choice": "overlapping",
17
+ "confidence": 0.96,
18
+ "probabilities": {
19
+ "duplicate": 0.013333333333333334,
20
+ "overlapping": 0.96,
21
+ "distinct": 0.013333333333333334,
22
+ "unclear": 0.013333333333333334
23
+ }
24
+ }
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,5 @@
1
+ import type { RecipeOptions } from '../../src/schema.js';
2
+ import type { TaskDuplicateInput, TaskDuplicateResult } from './schema.js';
3
+ export declare function taskDuplicate(input: TaskDuplicateInput, options?: RecipeOptions): Promise<TaskDuplicateResult>;
4
+ export { taskDuplicateInputSchema, taskDuplicateResultSchema, taskDuplicateVerdictSchema, } from './schema.js';
5
+ export type { TaskDuplicateInput, TaskDuplicateResult, TaskDuplicateVerdict } from './schema.js';
@@ -0,0 +1,16 @@
1
+ import { evaluateChoice } from '../../src/decisions.js';
2
+ import { taskDuplicateInputSchema, taskDuplicateResultSchema } from './schema.js';
3
+ export async function taskDuplicate(input, options = {}) {
4
+ const { minConfidence = 0.8, ...state } = taskDuplicateInputSchema.parse(input);
5
+ const decision = await evaluateChoice(state, 'Do firstTask and secondTask request the same completed outcome under the same scope in context? Compare targets, deliverables, time periods, and constraints, not just wording or methods. Different methods can produce the same requested outcome. The same method applied to different targets is not duplicate work. Choose duplicate only when completing either task would fully satisfy the other; use overlapping when shared requested work leaves a material requirement unique to at least one task. Do not assume that matching titles identify the same task.', {
6
+ duplicate: 'Completing either task would fully satisfy the other under the same scope and constraints.',
7
+ overlapping: 'The tasks share requested work, but at least one includes material work the other does not.',
8
+ distinct: 'The tasks have separate requested outcomes or incompatible scopes with no shared requested work.',
9
+ unclear: 'Their targets, scope, or intended outcomes cannot be compared from the supplied information.',
10
+ }, options);
11
+ return taskDuplicateResultSchema.parse({
12
+ ...decision,
13
+ status: decision.confidence < minConfidence || decision.verdict === 'unclear' ? 'review' : 'ready',
14
+ });
15
+ }
16
+ export { taskDuplicateInputSchema, taskDuplicateResultSchema, taskDuplicateVerdictSchema, } from './schema.js';
@@ -0,0 +1,40 @@
1
+ import { z } from 'zod';
2
+ export declare const taskDuplicateVerdictSchema: z.ZodEnum<{
3
+ duplicate: "duplicate";
4
+ unclear: "unclear";
5
+ overlapping: "overlapping";
6
+ distinct: "distinct";
7
+ }>;
8
+ export declare const taskDuplicateInputSchema: z.ZodObject<{
9
+ firstTask: z.ZodString;
10
+ secondTask: z.ZodString;
11
+ context: z.ZodOptional<z.ZodString>;
12
+ minConfidence: z.ZodOptional<z.ZodNumber>;
13
+ }, z.core.$strip>;
14
+ export declare const taskDuplicateResultSchema: z.ZodObject<{
15
+ model: z.ZodString;
16
+ usage: z.ZodObject<{
17
+ input_tokens: z.ZodNumber;
18
+ output_tokens: z.ZodNumber;
19
+ }, z.core.$strip>;
20
+ status: z.ZodEnum<{
21
+ ready: "ready";
22
+ review: "review";
23
+ }>;
24
+ verdict: z.ZodEnum<{
25
+ duplicate: "duplicate";
26
+ unclear: "unclear";
27
+ overlapping: "overlapping";
28
+ distinct: "distinct";
29
+ }>;
30
+ confidence: z.ZodNumber;
31
+ probabilities: z.ZodRecord<z.ZodEnum<{
32
+ duplicate: "duplicate";
33
+ unclear: "unclear";
34
+ overlapping: "overlapping";
35
+ distinct: "distinct";
36
+ }>, z.ZodNumber>;
37
+ }, z.core.$strip>;
38
+ export type TaskDuplicateInput = z.infer<typeof taskDuplicateInputSchema>;
39
+ export type TaskDuplicateResult = z.infer<typeof taskDuplicateResultSchema>;
40
+ export type TaskDuplicateVerdict = z.infer<typeof taskDuplicateVerdictSchema>;
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ import { decisionStatusSchema, nonEmptyText, probability, resultMetadataSchema, } from '../../src/schema.js';
3
+ export const taskDuplicateVerdictSchema = z.enum([
4
+ 'duplicate',
5
+ 'overlapping',
6
+ 'distinct',
7
+ 'unclear',
8
+ ]);
9
+ export const taskDuplicateInputSchema = z.object({
10
+ firstTask: nonEmptyText.describe('The first task and its intended outcome.'),
11
+ secondTask: nonEmptyText.describe('The second task and its intended outcome.'),
12
+ context: nonEmptyText
13
+ .describe('Relevant targets, scope, time periods, and constraints for the comparison.')
14
+ .optional(),
15
+ minConfidence: probability.optional(),
16
+ });
17
+ export const taskDuplicateResultSchema = resultMetadataSchema.extend({
18
+ status: decisionStatusSchema,
19
+ verdict: taskDuplicateVerdictSchema,
20
+ confidence: probability,
21
+ probabilities: z.record(taskDuplicateVerdictSchema, probability),
22
+ });
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  export declare const ticketMatchVerdictSchema: z.ZodEnum<{
3
- unclear: "unclear";
4
3
  related: "related";
4
+ unclear: "unclear";
5
5
  different: "different";
6
6
  same_issue: "same_issue";
7
7
  }>;
@@ -22,15 +22,15 @@ export declare const ticketMatchResultSchema: z.ZodObject<{
22
22
  review: "review";
23
23
  }>;
24
24
  verdict: z.ZodEnum<{
25
- unclear: "unclear";
26
25
  related: "related";
26
+ unclear: "unclear";
27
27
  different: "different";
28
28
  same_issue: "same_issue";
29
29
  }>;
30
30
  confidence: z.ZodNumber;
31
31
  probabilities: z.ZodRecord<z.ZodEnum<{
32
- unclear: "unclear";
33
32
  related: "related";
33
+ unclear: "unclear";
34
34
  different: "different";
35
35
  same_issue: "same_issue";
36
36
  }>, z.ZodNumber>;
@@ -1,9 +1,9 @@
1
1
  import { z } from 'zod';
2
2
  export declare const topicShiftVerdictSchema: z.ZodEnum<{
3
3
  unclear: "unclear";
4
+ mixed: "mixed";
4
5
  same_topic: "same_topic";
5
6
  new_topic: "new_topic";
6
- mixed: "mixed";
7
7
  }>;
8
8
  export declare const topicShiftInputSchema: z.ZodObject<{
9
9
  currentTopic: z.ZodString;
@@ -23,16 +23,16 @@ export declare const topicShiftResultSchema: z.ZodObject<{
23
23
  }>;
24
24
  verdict: z.ZodEnum<{
25
25
  unclear: "unclear";
26
+ mixed: "mixed";
26
27
  same_topic: "same_topic";
27
28
  new_topic: "new_topic";
28
- mixed: "mixed";
29
29
  }>;
30
30
  confidence: z.ZodNumber;
31
31
  probabilities: z.ZodRecord<z.ZodEnum<{
32
32
  unclear: "unclear";
33
+ mixed: "mixed";
33
34
  same_topic: "same_topic";
34
35
  new_topic: "new_topic";
35
- mixed: "mixed";
36
36
  }>, z.ZodNumber>;
37
37
  }, z.core.$strip>;
38
38
  export type TopicShiftInput = z.infer<typeof topicShiftInputSchema>;
@@ -1,12 +1,12 @@
1
1
  import { z } from 'zod';
2
2
  export declare const turnIntentVerdictSchema: z.ZodEnum<{
3
- request: "request";
4
- unclear: "unclear";
5
3
  answer: "answer";
6
- correction: "correction";
7
4
  cancellation: "cancellation";
8
- acknowledgment: "acknowledgment";
5
+ correction: "correction";
6
+ unclear: "unclear";
7
+ request: "request";
9
8
  other: "other";
9
+ acknowledgment: "acknowledgment";
10
10
  }>;
11
11
  export declare const turnIntentInputSchema: z.ZodObject<{
12
12
  message: z.ZodString;
@@ -24,23 +24,23 @@ export declare const turnIntentResultSchema: z.ZodObject<{
24
24
  review: "review";
25
25
  }>;
26
26
  verdict: z.ZodEnum<{
27
- request: "request";
28
- unclear: "unclear";
29
27
  answer: "answer";
30
- correction: "correction";
31
28
  cancellation: "cancellation";
32
- acknowledgment: "acknowledgment";
29
+ correction: "correction";
30
+ unclear: "unclear";
31
+ request: "request";
33
32
  other: "other";
33
+ acknowledgment: "acknowledgment";
34
34
  }>;
35
35
  confidence: z.ZodNumber;
36
36
  probabilities: z.ZodRecord<z.ZodEnum<{
37
- request: "request";
38
- unclear: "unclear";
39
37
  answer: "answer";
40
- correction: "correction";
41
38
  cancellation: "cancellation";
42
- acknowledgment: "acknowledgment";
39
+ correction: "correction";
40
+ unclear: "unclear";
41
+ request: "request";
43
42
  other: "other";
43
+ acknowledgment: "acknowledgment";
44
44
  }>, z.ZodNumber>;
45
45
  }, z.core.$strip>;
46
46
  export type TurnIntentInput = z.infer<typeof turnIntentInputSchema>;