jev-recipes 0.0.4 → 0.2.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 (527) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +52 -63
  3. package/dist/catalog/groups/answers.d.ts +565 -0
  4. package/dist/catalog/groups/answers.js +82 -0
  5. package/dist/catalog/groups/conversation.d.ts +608 -0
  6. package/dist/catalog/groups/conversation.js +90 -0
  7. package/dist/catalog/groups/knowledge.d.ts +522 -0
  8. package/dist/catalog/groups/knowledge.js +82 -0
  9. package/dist/catalog/groups/retrieval.d.ts +664 -0
  10. package/dist/catalog/groups/retrieval.js +106 -0
  11. package/dist/catalog/groups/support.d.ts +522 -0
  12. package/dist/catalog/groups/support.js +82 -0
  13. package/dist/catalog/groups/workflow.d.ts +623 -0
  14. package/dist/catalog/groups/workflow.js +98 -0
  15. package/dist/catalog/index.d.ts +1564 -5
  16. package/dist/catalog/recipes.d.ts +3239 -102
  17. package/dist/catalog/recipes.js +12 -48
  18. package/dist/catalog/schema.d.ts +65 -1
  19. package/dist/cli/index.js +1 -1
  20. package/dist/cli/schema.d.ts +191 -3
  21. package/dist/examples/support/schema.d.ts +7 -7
  22. package/dist/recipes/action-scope/index.d.ts +5 -0
  23. package/dist/recipes/action-scope/index.js +15 -0
  24. package/dist/recipes/action-scope/metadata.d.ts +8 -0
  25. package/dist/recipes/action-scope/metadata.js +10 -0
  26. package/dist/recipes/action-scope/schema.d.ts +37 -0
  27. package/dist/recipes/action-scope/schema.js +15 -0
  28. package/dist/recipes/answer-consistency/index.d.ts +5 -0
  29. package/dist/recipes/answer-consistency/index.js +16 -0
  30. package/dist/recipes/answer-consistency/metadata.d.ts +8 -0
  31. package/dist/recipes/answer-consistency/metadata.js +10 -0
  32. package/dist/recipes/answer-consistency/schema.d.ts +40 -0
  33. package/dist/recipes/answer-consistency/schema.js +20 -0
  34. package/dist/recipes/answer-coverage/index.d.ts +5 -0
  35. package/dist/recipes/answer-coverage/index.js +22 -0
  36. package/dist/recipes/answer-coverage/metadata.d.ts +8 -0
  37. package/dist/recipes/answer-coverage/metadata.js +11 -0
  38. package/dist/recipes/answer-coverage/schema.d.ts +50 -0
  39. package/dist/recipes/answer-coverage/schema.js +22 -0
  40. package/dist/recipes/answer-invalidation/index.d.ts +5 -0
  41. package/dist/recipes/answer-invalidation/index.js +15 -0
  42. package/dist/recipes/answer-invalidation/metadata.d.ts +8 -0
  43. package/dist/recipes/answer-invalidation/metadata.js +10 -0
  44. package/dist/recipes/answer-invalidation/schema.d.ts +37 -0
  45. package/dist/recipes/answer-invalidation/schema.js +19 -0
  46. package/dist/recipes/answer-relevance/index.d.ts +5 -0
  47. package/dist/recipes/answer-relevance/index.js +16 -0
  48. package/dist/recipes/answer-relevance/metadata.d.ts +8 -0
  49. package/dist/recipes/answer-relevance/metadata.js +10 -0
  50. package/dist/recipes/answer-relevance/schema.d.ts +39 -0
  51. package/dist/recipes/answer-relevance/schema.js +19 -0
  52. package/dist/recipes/answerability/index.js +15 -27
  53. package/dist/recipes/argument-fit/index.d.ts +5 -0
  54. package/dist/recipes/argument-fit/index.js +15 -0
  55. package/dist/recipes/argument-fit/metadata.d.ts +8 -0
  56. package/dist/recipes/argument-fit/metadata.js +10 -0
  57. package/dist/recipes/argument-fit/schema.d.ts +38 -0
  58. package/dist/recipes/argument-fit/schema.js +16 -0
  59. package/dist/recipes/attempted-step/index.d.ts +5 -0
  60. package/dist/recipes/attempted-step/index.js +15 -0
  61. package/dist/recipes/attempted-step/metadata.d.ts +8 -0
  62. package/dist/recipes/attempted-step/metadata.js +10 -0
  63. package/dist/recipes/attempted-step/schema.d.ts +36 -0
  64. package/dist/recipes/attempted-step/schema.js +14 -0
  65. package/dist/recipes/audience-fit/index.d.ts +5 -0
  66. package/dist/recipes/audience-fit/index.js +16 -0
  67. package/dist/recipes/audience-fit/metadata.d.ts +8 -0
  68. package/dist/recipes/audience-fit/metadata.js +10 -0
  69. package/dist/recipes/audience-fit/schema.d.ts +39 -0
  70. package/dist/recipes/audience-fit/schema.js +19 -0
  71. package/dist/recipes/cache-match/index.d.ts +5 -0
  72. package/dist/recipes/cache-match/index.js +15 -0
  73. package/dist/recipes/cache-match/metadata.d.ts +8 -0
  74. package/dist/recipes/cache-match/metadata.js +10 -0
  75. package/dist/recipes/cache-match/schema.d.ts +38 -0
  76. package/dist/recipes/cache-match/schema.js +16 -0
  77. package/dist/recipes/cancellation-check/index.d.ts +5 -0
  78. package/dist/recipes/cancellation-check/index.js +16 -0
  79. package/dist/recipes/cancellation-check/metadata.d.ts +8 -0
  80. package/dist/recipes/cancellation-check/metadata.js +10 -0
  81. package/dist/recipes/cancellation-check/schema.d.ts +40 -0
  82. package/dist/recipes/cancellation-check/schema.js +15 -0
  83. package/dist/recipes/certainty-match/index.d.ts +5 -0
  84. package/dist/recipes/certainty-match/index.js +16 -0
  85. package/dist/recipes/certainty-match/metadata.d.ts +8 -0
  86. package/dist/recipes/certainty-match/metadata.js +10 -0
  87. package/dist/recipes/certainty-match/schema.d.ts +39 -0
  88. package/dist/recipes/certainty-match/schema.js +19 -0
  89. package/dist/recipes/change-meaning/index.d.ts +5 -0
  90. package/dist/recipes/change-meaning/index.js +15 -0
  91. package/dist/recipes/change-meaning/metadata.d.ts +8 -0
  92. package/dist/recipes/change-meaning/metadata.js +10 -0
  93. package/dist/recipes/change-meaning/schema.d.ts +37 -0
  94. package/dist/recipes/change-meaning/schema.js +15 -0
  95. package/dist/recipes/citation-match/index.d.ts +5 -0
  96. package/dist/recipes/citation-match/index.js +21 -0
  97. package/dist/recipes/citation-match/metadata.d.ts +9 -0
  98. package/dist/recipes/citation-match/metadata.js +12 -0
  99. package/dist/recipes/citation-match/schema.d.ts +41 -0
  100. package/dist/recipes/citation-match/schema.js +13 -0
  101. package/dist/recipes/citation-needed/index.d.ts +5 -0
  102. package/dist/recipes/citation-needed/index.js +15 -0
  103. package/dist/recipes/citation-needed/metadata.d.ts +8 -0
  104. package/dist/recipes/citation-needed/metadata.js +10 -0
  105. package/dist/recipes/citation-needed/schema.d.ts +36 -0
  106. package/dist/recipes/citation-needed/schema.js +14 -0
  107. package/dist/recipes/clarify/index.js +15 -34
  108. package/dist/recipes/clarify/schema.d.ts +3 -3
  109. package/dist/recipes/confirmation-match/index.d.ts +5 -0
  110. package/dist/recipes/confirmation-match/index.js +15 -0
  111. package/dist/recipes/confirmation-match/metadata.d.ts +8 -0
  112. package/dist/recipes/confirmation-match/metadata.js +10 -0
  113. package/dist/recipes/confirmation-match/schema.d.ts +37 -0
  114. package/dist/recipes/confirmation-match/schema.js +15 -0
  115. package/dist/recipes/context-role/index.d.ts +5 -0
  116. package/dist/recipes/context-role/index.js +16 -0
  117. package/dist/recipes/context-role/metadata.d.ts +8 -0
  118. package/dist/recipes/context-role/metadata.js +10 -0
  119. package/dist/recipes/context-role/schema.d.ts +39 -0
  120. package/dist/recipes/context-role/schema.js +19 -0
  121. package/dist/recipes/correction-target/index.d.ts +5 -0
  122. package/dist/recipes/correction-target/index.js +7 -0
  123. package/dist/recipes/correction-target/metadata.d.ts +8 -0
  124. package/dist/recipes/correction-target/metadata.js +11 -0
  125. package/dist/recipes/correction-target/schema.d.ts +36 -0
  126. package/dist/recipes/correction-target/schema.js +9 -0
  127. package/dist/recipes/document-role/index.d.ts +5 -0
  128. package/dist/recipes/document-role/index.js +19 -0
  129. package/dist/recipes/document-role/metadata.d.ts +8 -0
  130. package/dist/recipes/document-role/metadata.js +10 -0
  131. package/dist/recipes/document-role/schema.d.ts +47 -0
  132. package/dist/recipes/document-role/schema.js +21 -0
  133. package/dist/recipes/draft-compare/index.d.ts +5 -0
  134. package/dist/recipes/draft-compare/index.js +17 -0
  135. package/dist/recipes/draft-compare/metadata.d.ts +8 -0
  136. package/dist/recipes/draft-compare/metadata.js +10 -0
  137. package/dist/recipes/draft-compare/schema.d.ts +44 -0
  138. package/dist/recipes/draft-compare/schema.js +16 -0
  139. package/dist/recipes/evidence-conflict/index.d.ts +5 -0
  140. package/dist/recipes/evidence-conflict/index.js +16 -0
  141. package/dist/recipes/evidence-conflict/metadata.d.ts +8 -0
  142. package/dist/recipes/evidence-conflict/metadata.js +10 -0
  143. package/dist/recipes/evidence-conflict/schema.d.ts +40 -0
  144. package/dist/recipes/evidence-conflict/schema.js +20 -0
  145. package/dist/recipes/evidence-novelty/index.d.ts +5 -0
  146. package/dist/recipes/evidence-novelty/index.js +16 -0
  147. package/dist/recipes/evidence-novelty/metadata.d.ts +8 -0
  148. package/dist/recipes/evidence-novelty/metadata.js +11 -0
  149. package/dist/recipes/evidence-novelty/schema.d.ts +43 -0
  150. package/dist/recipes/evidence-novelty/schema.js +20 -0
  151. package/dist/recipes/fact-stability/index.d.ts +5 -0
  152. package/dist/recipes/fact-stability/index.js +15 -0
  153. package/dist/recipes/fact-stability/metadata.d.ts +8 -0
  154. package/dist/recipes/fact-stability/metadata.js +10 -0
  155. package/dist/recipes/fact-stability/schema.d.ts +36 -0
  156. package/dist/recipes/fact-stability/schema.js +14 -0
  157. package/dist/recipes/failure-kind/index.d.ts +5 -0
  158. package/dist/recipes/failure-kind/index.js +7 -0
  159. package/dist/recipes/failure-kind/metadata.d.ts +8 -0
  160. package/dist/recipes/failure-kind/metadata.js +11 -0
  161. package/dist/recipes/failure-kind/schema.d.ts +36 -0
  162. package/dist/recipes/failure-kind/schema.js +9 -0
  163. package/dist/recipes/feedback-kind/index.d.ts +5 -0
  164. package/dist/recipes/feedback-kind/index.js +19 -0
  165. package/dist/recipes/feedback-kind/metadata.d.ts +8 -0
  166. package/dist/recipes/feedback-kind/metadata.js +10 -0
  167. package/dist/recipes/feedback-kind/schema.d.ts +48 -0
  168. package/dist/recipes/feedback-kind/schema.js +22 -0
  169. package/dist/recipes/field-select/index.d.ts +5 -0
  170. package/dist/recipes/field-select/index.js +7 -0
  171. package/dist/recipes/field-select/metadata.d.ts +8 -0
  172. package/dist/recipes/field-select/metadata.js +11 -0
  173. package/dist/recipes/field-select/schema.d.ts +36 -0
  174. package/dist/recipes/field-select/schema.js +9 -0
  175. package/dist/recipes/followup-link/index.d.ts +5 -0
  176. package/dist/recipes/followup-link/index.js +7 -0
  177. package/dist/recipes/followup-link/metadata.d.ts +8 -0
  178. package/dist/recipes/followup-link/metadata.js +11 -0
  179. package/dist/recipes/followup-link/schema.d.ts +36 -0
  180. package/dist/recipes/followup-link/schema.js +9 -0
  181. package/dist/recipes/freshness-needed/index.d.ts +5 -0
  182. package/dist/recipes/freshness-needed/index.js +15 -0
  183. package/dist/recipes/freshness-needed/metadata.d.ts +8 -0
  184. package/dist/recipes/freshness-needed/metadata.js +10 -0
  185. package/dist/recipes/freshness-needed/schema.d.ts +35 -0
  186. package/dist/recipes/freshness-needed/schema.js +13 -0
  187. package/dist/recipes/frustration-signal/index.d.ts +5 -0
  188. package/dist/recipes/frustration-signal/index.js +15 -0
  189. package/dist/recipes/frustration-signal/metadata.d.ts +8 -0
  190. package/dist/recipes/frustration-signal/metadata.js +10 -0
  191. package/dist/recipes/frustration-signal/schema.d.ts +36 -0
  192. package/dist/recipes/frustration-signal/schema.js +14 -0
  193. package/dist/recipes/handoff/index.js +16 -35
  194. package/dist/recipes/incident-match/index.d.ts +5 -0
  195. package/dist/recipes/incident-match/index.js +7 -0
  196. package/dist/recipes/incident-match/metadata.d.ts +8 -0
  197. package/dist/recipes/incident-match/metadata.js +11 -0
  198. package/dist/recipes/incident-match/schema.d.ts +36 -0
  199. package/dist/recipes/incident-match/schema.js +9 -0
  200. package/dist/recipes/instruction-fit/index.d.ts +5 -0
  201. package/dist/recipes/instruction-fit/index.js +15 -0
  202. package/dist/recipes/instruction-fit/metadata.d.ts +8 -0
  203. package/dist/recipes/instruction-fit/metadata.js +10 -0
  204. package/dist/recipes/instruction-fit/schema.d.ts +37 -0
  205. package/dist/recipes/instruction-fit/schema.js +15 -0
  206. package/dist/recipes/intent-change/index.d.ts +5 -0
  207. package/dist/recipes/intent-change/index.js +16 -0
  208. package/dist/recipes/intent-change/metadata.d.ts +8 -0
  209. package/dist/recipes/intent-change/metadata.js +10 -0
  210. package/dist/recipes/intent-change/schema.d.ts +40 -0
  211. package/dist/recipes/intent-change/schema.js +15 -0
  212. package/dist/recipes/issue-impact/index.d.ts +5 -0
  213. package/dist/recipes/issue-impact/index.js +16 -0
  214. package/dist/recipes/issue-impact/metadata.d.ts +8 -0
  215. package/dist/recipes/issue-impact/metadata.js +10 -0
  216. package/dist/recipes/issue-impact/schema.d.ts +39 -0
  217. package/dist/recipes/issue-impact/schema.js +14 -0
  218. package/dist/recipes/memory-relation/index.d.ts +5 -0
  219. package/dist/recipes/memory-relation/index.js +18 -0
  220. package/dist/recipes/memory-relation/metadata.d.ts +8 -0
  221. package/dist/recipes/memory-relation/metadata.js +10 -0
  222. package/dist/recipes/memory-relation/schema.d.ts +46 -0
  223. package/dist/recipes/memory-relation/schema.js +22 -0
  224. package/dist/recipes/memory-scope/index.d.ts +5 -0
  225. package/dist/recipes/memory-scope/index.js +17 -0
  226. package/dist/recipes/memory-scope/metadata.d.ts +8 -0
  227. package/dist/recipes/memory-scope/metadata.js +10 -0
  228. package/dist/recipes/memory-scope/schema.d.ts +42 -0
  229. package/dist/recipes/memory-scope/schema.js +14 -0
  230. package/dist/recipes/memory-value/index.d.ts +5 -0
  231. package/dist/recipes/memory-value/index.js +16 -0
  232. package/dist/recipes/memory-value/metadata.d.ts +8 -0
  233. package/dist/recipes/memory-value/metadata.js +10 -0
  234. package/dist/recipes/memory-value/schema.d.ts +40 -0
  235. package/dist/recipes/memory-value/schema.js +20 -0
  236. package/dist/recipes/passage-duplicate/index.d.ts +5 -0
  237. package/dist/recipes/passage-duplicate/index.js +16 -0
  238. package/dist/recipes/passage-duplicate/metadata.d.ts +8 -0
  239. package/dist/recipes/passage-duplicate/metadata.js +10 -0
  240. package/dist/recipes/passage-duplicate/schema.d.ts +39 -0
  241. package/dist/recipes/passage-duplicate/schema.js +19 -0
  242. package/dist/recipes/preference-kind/index.d.ts +5 -0
  243. package/dist/recipes/preference-kind/index.js +16 -0
  244. package/dist/recipes/preference-kind/metadata.d.ts +8 -0
  245. package/dist/recipes/preference-kind/metadata.js +10 -0
  246. package/dist/recipes/preference-kind/schema.d.ts +39 -0
  247. package/dist/recipes/preference-kind/schema.js +19 -0
  248. package/dist/recipes/promise-check/index.d.ts +5 -0
  249. package/dist/recipes/promise-check/index.js +15 -0
  250. package/dist/recipes/promise-check/metadata.d.ts +8 -0
  251. package/dist/recipes/promise-check/metadata.js +10 -0
  252. package/dist/recipes/promise-check/schema.d.ts +36 -0
  253. package/dist/recipes/promise-check/schema.js +14 -0
  254. package/dist/recipes/query-equivalence/index.d.ts +5 -0
  255. package/dist/recipes/query-equivalence/index.js +16 -0
  256. package/dist/recipes/query-equivalence/metadata.d.ts +8 -0
  257. package/dist/recipes/query-equivalence/metadata.js +10 -0
  258. package/dist/recipes/query-equivalence/schema.d.ts +40 -0
  259. package/dist/recipes/query-equivalence/schema.js +20 -0
  260. package/dist/recipes/query-specificity/index.d.ts +5 -0
  261. package/dist/recipes/query-specificity/index.js +15 -0
  262. package/dist/recipes/query-specificity/metadata.d.ts +8 -0
  263. package/dist/recipes/query-specificity/metadata.js +10 -0
  264. package/dist/recipes/query-specificity/schema.d.ts +36 -0
  265. package/dist/recipes/query-specificity/schema.js +14 -0
  266. package/dist/recipes/reference-resolve/index.d.ts +5 -0
  267. package/dist/recipes/reference-resolve/index.js +7 -0
  268. package/dist/recipes/reference-resolve/metadata.d.ts +8 -0
  269. package/dist/recipes/reference-resolve/metadata.js +11 -0
  270. package/dist/recipes/reference-resolve/schema.d.ts +37 -0
  271. package/dist/recipes/reference-resolve/schema.js +10 -0
  272. package/dist/recipes/repeated-attempt/index.d.ts +5 -0
  273. package/dist/recipes/repeated-attempt/index.js +15 -0
  274. package/dist/recipes/repeated-attempt/metadata.d.ts +8 -0
  275. package/dist/recipes/repeated-attempt/metadata.js +10 -0
  276. package/dist/recipes/repeated-attempt/schema.d.ts +37 -0
  277. package/dist/recipes/repeated-attempt/schema.js +19 -0
  278. package/dist/recipes/reply-template-match/index.d.ts +5 -0
  279. package/dist/recipes/reply-template-match/index.js +7 -0
  280. package/dist/recipes/reply-template-match/metadata.d.ts +8 -0
  281. package/dist/recipes/reply-template-match/metadata.js +11 -0
  282. package/dist/recipes/reply-template-match/schema.d.ts +36 -0
  283. package/dist/recipes/reply-template-match/schema.js +9 -0
  284. package/dist/recipes/rerank/index.js +7 -7
  285. package/dist/recipes/resolution-check/index.d.ts +5 -0
  286. package/dist/recipes/resolution-check/index.js +15 -0
  287. package/dist/recipes/resolution-check/metadata.d.ts +8 -0
  288. package/dist/recipes/resolution-check/metadata.js +10 -0
  289. package/dist/recipes/resolution-check/schema.d.ts +37 -0
  290. package/dist/recipes/resolution-check/schema.js +15 -0
  291. package/dist/recipes/response-needed/index.d.ts +5 -0
  292. package/dist/recipes/response-needed/index.js +15 -0
  293. package/dist/recipes/response-needed/metadata.d.ts +8 -0
  294. package/dist/recipes/response-needed/metadata.js +10 -0
  295. package/dist/recipes/response-needed/schema.d.ts +36 -0
  296. package/dist/recipes/response-needed/schema.js +14 -0
  297. package/dist/recipes/result-outcome/index.d.ts +5 -0
  298. package/dist/recipes/result-outcome/index.js +16 -0
  299. package/dist/recipes/result-outcome/metadata.d.ts +8 -0
  300. package/dist/recipes/result-outcome/metadata.js +10 -0
  301. package/dist/recipes/result-outcome/schema.d.ts +39 -0
  302. package/dist/recipes/result-outcome/schema.js +19 -0
  303. package/dist/recipes/result-usefulness/index.d.ts +5 -0
  304. package/dist/recipes/result-usefulness/index.js +16 -0
  305. package/dist/recipes/result-usefulness/metadata.d.ts +8 -0
  306. package/dist/recipes/result-usefulness/metadata.js +10 -0
  307. package/dist/recipes/result-usefulness/schema.d.ts +39 -0
  308. package/dist/recipes/result-usefulness/schema.js +19 -0
  309. package/dist/recipes/retrieval-needed/index.d.ts +5 -0
  310. package/dist/recipes/retrieval-needed/index.js +15 -0
  311. package/dist/recipes/retrieval-needed/metadata.d.ts +8 -0
  312. package/dist/recipes/retrieval-needed/metadata.js +10 -0
  313. package/dist/recipes/retrieval-needed/schema.d.ts +36 -0
  314. package/dist/recipes/retrieval-needed/schema.js +14 -0
  315. package/dist/recipes/route/index.js +12 -21
  316. package/dist/recipes/source-applicability/index.d.ts +5 -0
  317. package/dist/recipes/source-applicability/index.js +15 -0
  318. package/dist/recipes/source-applicability/metadata.d.ts +8 -0
  319. package/dist/recipes/source-applicability/metadata.js +10 -0
  320. package/dist/recipes/source-applicability/schema.d.ts +36 -0
  321. package/dist/recipes/source-applicability/schema.js +14 -0
  322. package/dist/recipes/step-complete/index.d.ts +5 -0
  323. package/dist/recipes/step-complete/index.js +15 -0
  324. package/dist/recipes/step-complete/metadata.d.ts +8 -0
  325. package/dist/recipes/step-complete/metadata.js +10 -0
  326. package/dist/recipes/step-complete/schema.d.ts +36 -0
  327. package/dist/recipes/step-complete/schema.js +14 -0
  328. package/dist/recipes/step-progress/index.d.ts +5 -0
  329. package/dist/recipes/step-progress/index.js +16 -0
  330. package/dist/recipes/step-progress/metadata.d.ts +8 -0
  331. package/dist/recipes/step-progress/metadata.js +10 -0
  332. package/dist/recipes/step-progress/schema.d.ts +40 -0
  333. package/dist/recipes/step-progress/schema.js +15 -0
  334. package/dist/recipes/summary-coverage/index.d.ts +5 -0
  335. package/dist/recipes/summary-coverage/index.js +22 -0
  336. package/dist/recipes/summary-coverage/metadata.d.ts +8 -0
  337. package/dist/recipes/summary-coverage/metadata.js +11 -0
  338. package/dist/recipes/summary-coverage/schema.d.ts +50 -0
  339. package/dist/recipes/summary-coverage/schema.js +22 -0
  340. package/dist/recipes/ticket-match/index.d.ts +5 -0
  341. package/dist/recipes/ticket-match/index.js +16 -0
  342. package/dist/recipes/ticket-match/metadata.d.ts +8 -0
  343. package/dist/recipes/ticket-match/metadata.js +10 -0
  344. package/dist/recipes/ticket-match/schema.d.ts +40 -0
  345. package/dist/recipes/ticket-match/schema.js +15 -0
  346. package/dist/recipes/tone-check/index.d.ts +5 -0
  347. package/dist/recipes/tone-check/index.js +21 -0
  348. package/dist/recipes/tone-check/metadata.d.ts +8 -0
  349. package/dist/recipes/tone-check/metadata.js +11 -0
  350. package/dist/recipes/tone-check/schema.d.ts +47 -0
  351. package/dist/recipes/tone-check/schema.js +22 -0
  352. package/dist/recipes/tool-fit/index.d.ts +5 -0
  353. package/dist/recipes/tool-fit/index.js +15 -0
  354. package/dist/recipes/tool-fit/metadata.d.ts +8 -0
  355. package/dist/recipes/tool-fit/metadata.js +10 -0
  356. package/dist/recipes/tool-fit/schema.d.ts +37 -0
  357. package/dist/recipes/tool-fit/schema.js +15 -0
  358. package/dist/recipes/topic-shift/index.d.ts +5 -0
  359. package/dist/recipes/topic-shift/index.js +16 -0
  360. package/dist/recipes/topic-shift/metadata.d.ts +8 -0
  361. package/dist/recipes/topic-shift/metadata.js +10 -0
  362. package/dist/recipes/topic-shift/schema.d.ts +40 -0
  363. package/dist/recipes/topic-shift/schema.js +15 -0
  364. package/dist/recipes/troubleshooting-fit/index.d.ts +5 -0
  365. package/dist/recipes/troubleshooting-fit/index.js +15 -0
  366. package/dist/recipes/troubleshooting-fit/metadata.d.ts +8 -0
  367. package/dist/recipes/troubleshooting-fit/metadata.js +10 -0
  368. package/dist/recipes/troubleshooting-fit/schema.d.ts +37 -0
  369. package/dist/recipes/troubleshooting-fit/schema.js +15 -0
  370. package/dist/recipes/turn-intent/index.d.ts +5 -0
  371. package/dist/recipes/turn-intent/index.js +19 -0
  372. package/dist/recipes/turn-intent/metadata.d.ts +8 -0
  373. package/dist/recipes/turn-intent/metadata.js +10 -0
  374. package/dist/recipes/turn-intent/schema.d.ts +48 -0
  375. package/dist/recipes/turn-intent/schema.js +22 -0
  376. package/dist/recipes/urgency-signal/index.d.ts +5 -0
  377. package/dist/recipes/urgency-signal/index.js +15 -0
  378. package/dist/recipes/urgency-signal/metadata.d.ts +8 -0
  379. package/dist/recipes/urgency-signal/metadata.js +10 -0
  380. package/dist/recipes/urgency-signal/schema.d.ts +36 -0
  381. package/dist/recipes/urgency-signal/schema.js +14 -0
  382. package/dist/recipes/verify/index.js +11 -31
  383. package/dist/recipes/workaround-fit/index.d.ts +5 -0
  384. package/dist/recipes/workaround-fit/index.js +15 -0
  385. package/dist/recipes/workaround-fit/metadata.d.ts +8 -0
  386. package/dist/recipes/workaround-fit/metadata.js +10 -0
  387. package/dist/recipes/workaround-fit/schema.d.ts +37 -0
  388. package/dist/recipes/workaround-fit/schema.js +15 -0
  389. package/dist/src/checks.d.ts +14 -0
  390. package/dist/src/checks.js +21 -0
  391. package/dist/src/decisions.d.ts +13 -0
  392. package/dist/src/decisions.js +26 -0
  393. package/dist/src/index.d.ts +120 -0
  394. package/dist/src/index.js +60 -0
  395. package/dist/src/schema.d.ts +48 -0
  396. package/dist/src/schema.js +30 -1
  397. package/dist/src/selection.d.ts +2 -0
  398. package/dist/src/selection.js +30 -0
  399. package/examples/support/README.md +1 -1
  400. package/package.json +254 -7
  401. package/recipes/README.md +128 -0
  402. package/recipes/action-scope/README.md +49 -0
  403. package/recipes/action-scope/demo.json +25 -0
  404. package/recipes/answer-consistency/README.md +50 -0
  405. package/recipes/answer-consistency/demo.json +26 -0
  406. package/recipes/answer-coverage/README.md +60 -0
  407. package/recipes/answer-coverage/demo.json +46 -0
  408. package/recipes/answer-invalidation/README.md +50 -0
  409. package/recipes/answer-invalidation/demo.json +26 -0
  410. package/recipes/answer-relevance/README.md +49 -0
  411. package/recipes/answer-relevance/demo.json +26 -0
  412. package/recipes/answerability/README.md +39 -14
  413. package/recipes/argument-fit/README.md +51 -0
  414. package/recipes/argument-fit/demo.json +26 -0
  415. package/recipes/attempted-step/README.md +48 -0
  416. package/recipes/attempted-step/demo.json +25 -0
  417. package/recipes/audience-fit/README.md +50 -0
  418. package/recipes/audience-fit/demo.json +26 -0
  419. package/recipes/cache-match/README.md +51 -0
  420. package/recipes/cache-match/demo.json +26 -0
  421. package/recipes/cancellation-check/README.md +50 -0
  422. package/recipes/cancellation-check/demo.json +26 -0
  423. package/recipes/certainty-match/README.md +49 -0
  424. package/recipes/certainty-match/demo.json +26 -0
  425. package/recipes/change-meaning/README.md +49 -0
  426. package/recipes/change-meaning/demo.json +25 -0
  427. package/recipes/citation-match/README.md +51 -0
  428. package/recipes/citation-match/demo.json +44 -0
  429. package/recipes/citation-needed/README.md +49 -0
  430. package/recipes/citation-needed/demo.json +25 -0
  431. package/recipes/clarify/README.md +42 -13
  432. package/recipes/confirmation-match/README.md +49 -0
  433. package/recipes/confirmation-match/demo.json +25 -0
  434. package/recipes/context-role/README.md +49 -0
  435. package/recipes/context-role/demo.json +26 -0
  436. package/recipes/correction-target/README.md +52 -0
  437. package/recipes/correction-target/demo.json +35 -0
  438. package/recipes/document-role/README.md +51 -0
  439. package/recipes/document-role/demo.json +28 -0
  440. package/recipes/draft-compare/README.md +54 -0
  441. package/recipes/draft-compare/demo.json +29 -0
  442. package/recipes/evidence-conflict/README.md +51 -0
  443. package/recipes/evidence-conflict/demo.json +27 -0
  444. package/recipes/evidence-novelty/README.md +56 -0
  445. package/recipes/evidence-novelty/demo.json +32 -0
  446. package/recipes/fact-stability/README.md +47 -0
  447. package/recipes/fact-stability/demo.json +24 -0
  448. package/recipes/failure-kind/README.md +52 -0
  449. package/recipes/failure-kind/demo.json +35 -0
  450. package/recipes/feedback-kind/README.md +51 -0
  451. package/recipes/feedback-kind/demo.json +28 -0
  452. package/recipes/field-select/README.md +53 -0
  453. package/recipes/field-select/demo.json +36 -0
  454. package/recipes/followup-link/README.md +52 -0
  455. package/recipes/followup-link/demo.json +35 -0
  456. package/recipes/freshness-needed/README.md +46 -0
  457. package/recipes/freshness-needed/demo.json +24 -0
  458. package/recipes/frustration-signal/README.md +47 -0
  459. package/recipes/frustration-signal/demo.json +24 -0
  460. package/recipes/handoff/README.md +34 -13
  461. package/recipes/incident-match/README.md +52 -0
  462. package/recipes/incident-match/demo.json +35 -0
  463. package/recipes/instruction-fit/README.md +49 -0
  464. package/recipes/instruction-fit/demo.json +25 -0
  465. package/recipes/intent-change/README.md +50 -0
  466. package/recipes/intent-change/demo.json +26 -0
  467. package/recipes/issue-impact/README.md +48 -0
  468. package/recipes/issue-impact/demo.json +25 -0
  469. package/recipes/memory-relation/README.md +52 -0
  470. package/recipes/memory-relation/demo.json +28 -0
  471. package/recipes/memory-scope/README.md +50 -0
  472. package/recipes/memory-scope/demo.json +27 -0
  473. package/recipes/memory-value/README.md +50 -0
  474. package/recipes/memory-value/demo.json +26 -0
  475. package/recipes/passage-duplicate/README.md +49 -0
  476. package/recipes/passage-duplicate/demo.json +26 -0
  477. package/recipes/preference-kind/README.md +48 -0
  478. package/recipes/preference-kind/demo.json +25 -0
  479. package/recipes/promise-check/README.md +48 -0
  480. package/recipes/promise-check/demo.json +25 -0
  481. package/recipes/query-equivalence/README.md +50 -0
  482. package/recipes/query-equivalence/demo.json +26 -0
  483. package/recipes/query-specificity/README.md +47 -0
  484. package/recipes/query-specificity/demo.json +24 -0
  485. package/recipes/reference-resolve/README.md +54 -0
  486. package/recipes/reference-resolve/demo.json +36 -0
  487. package/recipes/repeated-attempt/README.md +50 -0
  488. package/recipes/repeated-attempt/demo.json +26 -0
  489. package/recipes/reply-template-match/README.md +52 -0
  490. package/recipes/reply-template-match/demo.json +35 -0
  491. package/recipes/rerank/README.md +40 -10
  492. package/recipes/resolution-check/README.md +49 -0
  493. package/recipes/resolution-check/demo.json +25 -0
  494. package/recipes/response-needed/README.md +48 -0
  495. package/recipes/response-needed/demo.json +25 -0
  496. package/recipes/result-outcome/README.md +49 -0
  497. package/recipes/result-outcome/demo.json +26 -0
  498. package/recipes/result-usefulness/README.md +49 -0
  499. package/recipes/result-usefulness/demo.json +26 -0
  500. package/recipes/retrieval-needed/README.md +48 -0
  501. package/recipes/retrieval-needed/demo.json +25 -0
  502. package/recipes/route/README.md +30 -7
  503. package/recipes/source-applicability/README.md +48 -0
  504. package/recipes/source-applicability/demo.json +25 -0
  505. package/recipes/step-complete/README.md +48 -0
  506. package/recipes/step-complete/demo.json +25 -0
  507. package/recipes/step-progress/README.md +51 -0
  508. package/recipes/step-progress/demo.json +27 -0
  509. package/recipes/summary-coverage/README.md +60 -0
  510. package/recipes/summary-coverage/demo.json +46 -0
  511. package/recipes/ticket-match/README.md +50 -0
  512. package/recipes/ticket-match/demo.json +26 -0
  513. package/recipes/tone-check/README.md +55 -0
  514. package/recipes/tone-check/demo.json +30 -0
  515. package/recipes/tool-fit/README.md +49 -0
  516. package/recipes/tool-fit/demo.json +25 -0
  517. package/recipes/topic-shift/README.md +50 -0
  518. package/recipes/topic-shift/demo.json +26 -0
  519. package/recipes/troubleshooting-fit/README.md +49 -0
  520. package/recipes/troubleshooting-fit/demo.json +25 -0
  521. package/recipes/turn-intent/README.md +52 -0
  522. package/recipes/turn-intent/demo.json +29 -0
  523. package/recipes/urgency-signal/README.md +47 -0
  524. package/recipes/urgency-signal/demo.json +24 -0
  525. package/recipes/verify/README.md +37 -13
  526. package/recipes/workaround-fit/README.md +50 -0
  527. package/recipes/workaround-fit/demo.json +26 -0
@@ -0,0 +1,52 @@
1
+ # Link a follow-up request
2
+
3
+ Which supplied earlier request does message follow up on? Link by the intended task, not merely a shared word. A new unrelated request belongs to none.
4
+
5
+ ```ts
6
+ import { followupLink } from 'jev-recipes/followup-link';
7
+
8
+ const result = await followupLink({
9
+ message: 'Can you make that explanation shorter?',
10
+ requests: [
11
+ {
12
+ id: 'reset',
13
+ text: 'Explain how password resets work.',
14
+ },
15
+ {
16
+ id: 'invoice',
17
+ text: 'Download my invoice.',
18
+ },
19
+ ],
20
+ });
21
+
22
+ console.log(result.status, result.selection);
23
+ ```
24
+
25
+ ## Input
26
+
27
+ | Field | Accepts |
28
+ | --------------- | -------------------------------------------- |
29
+ | `message` | Non-empty text |
30
+ | `requests` | 1 to 50 `{ id, text }` items with unique IDs |
31
+ | `context` | Optional non-empty text |
32
+ | `minConfidence` | Optional number from 0 to 1; defaults to 0.8 |
33
+
34
+ See [shared options and behavior](../README.md#shared-options-and-behavior) for client configuration, validation, and errors.
35
+
36
+ ## Result
37
+
38
+ `verdict` is `matched`, `none`, or `ambiguous`. A confident match returns the original item ID in `selection`. A low-confidence match keeps that ID only in `suggestedSelection`. `none` returns a null selection and can be `ready`; `ambiguous` always requires review. Probabilities are grouped under `candidates` by your original IDs, plus `none` and `ambiguous`.
39
+
40
+ Results include model and token usage. Decisions below `minConfidence` require review. Inspect the outcome as well as the status.
41
+
42
+ ## Reuse and calls
43
+
44
+ Uses the shared candidate-selection helper. This folder owns its selection question and input schema. A live invocation makes one logical Jev request; SDK retries can add transport attempts.
45
+
46
+ ## Limits
47
+
48
+ Selects from the supplied earlier requests. Supply enough conversation context to resolve references.
49
+
50
+ ## Example input
51
+
52
+ [demo.json](demo.json) contains editable input and a hand-authored response. After installing `jev-recipes`, `npx jev-recipes demo followup-link` shows the result offline. The fixture is an illustration, not an accuracy measurement. `npx jev-recipes describe followup-link` shows the input and result schemas.
@@ -0,0 +1,35 @@
1
+ {
2
+ "input": {
3
+ "message": "Can you make that explanation shorter?",
4
+ "requests": [
5
+ {
6
+ "id": "reset",
7
+ "text": "Explain how password resets work."
8
+ },
9
+ {
10
+ "id": "invoice",
11
+ "text": "Download my invoice."
12
+ }
13
+ ]
14
+ },
15
+ "response": {
16
+ "model": "demo-fixture",
17
+ "usage": {
18
+ "input_tokens": 0,
19
+ "output_tokens": 0
20
+ },
21
+ "answers": {
22
+ "decision": {
23
+ "type": "choice",
24
+ "choice": "candidate_0",
25
+ "confidence": 0.96,
26
+ "probabilities": {
27
+ "candidate_0": 1,
28
+ "candidate_1": 0,
29
+ "none": 0,
30
+ "ambiguous": 0
31
+ }
32
+ }
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,46 @@
1
+ # Check information freshness needs
2
+
3
+ Does question require a current or time-specific state that can change, or stable conceptual knowledge? Classify the information need without looking up the answer.
4
+
5
+ ```ts
6
+ import { freshnessNeeded } from 'jev-recipes/freshness-needed';
7
+
8
+ const result = await freshnessNeeded({
9
+ question: 'Is the API experiencing an outage right now?',
10
+ });
11
+
12
+ console.log(result.status, result.verdict);
13
+ ```
14
+
15
+ ## Input
16
+
17
+ | Field | Accepts |
18
+ | --------------- | -------------------------------------------- |
19
+ | `question` | Non-empty text |
20
+ | `minConfidence` | Optional number from 0 to 1; defaults to 0.8 |
21
+
22
+ See [shared options and behavior](../README.md#shared-options-and-behavior) for client configuration, validation, and errors.
23
+
24
+ ## Result
25
+
26
+ | Verdict | Meaning |
27
+ | --------- | ----------------------------------------------------------------------------- |
28
+ | `current` | The answer depends on current or explicitly time-specific facts. |
29
+ | `stable` | The question asks for general concepts that do not depend on a current state. |
30
+ | `unclear` | The intended time sensitivity cannot be determined. |
31
+
32
+ The result includes `verdict`, `confidence`, and all choice `probabilities`. `unclear` always requires review, even at high confidence. Other verdicts can be ready, including negative assessments.
33
+
34
+ Results include model and token usage. Decisions below `minConfidence` require review. Inspect the outcome as well as the status.
35
+
36
+ ## Reuse and calls
37
+
38
+ Uses the shared choice helper for the Jev call and response parsing. This folder owns its question, verdict criteria, and review policy. A live invocation makes one logical Jev request; SDK retries can add transport attempts.
39
+
40
+ ## Limits
41
+
42
+ Does not check timestamps, determine whether a source is up to date, or retrieve current information.
43
+
44
+ ## Example input
45
+
46
+ [demo.json](demo.json) contains editable input and a hand-authored response. After installing `jev-recipes`, `npx jev-recipes demo freshness-needed` shows the result offline. The fixture is an illustration, not an accuracy measurement. `npx jev-recipes describe freshness-needed` shows the input and result schemas.
@@ -0,0 +1,24 @@
1
+ {
2
+ "input": {
3
+ "question": "Is the API experiencing an outage right now?"
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": "current",
15
+ "confidence": 0.96,
16
+ "probabilities": {
17
+ "current": 1,
18
+ "stable": 0,
19
+ "unclear": 0
20
+ }
21
+ }
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,47 @@
1
+ # Detect expressed frustration
2
+
3
+ Does message express frustration or dissatisfaction in its wording? Assess expressed language only, not the writer's hidden emotional or mental state.
4
+
5
+ ```ts
6
+ import { frustrationSignal } from 'jev-recipes/frustration-signal';
7
+
8
+ const result = await frustrationSignal({
9
+ message: 'This is the third time I have asked. It is frustrating to keep repeating myself.',
10
+ });
11
+
12
+ console.log(result.status, result.verdict);
13
+ ```
14
+
15
+ ## Input
16
+
17
+ | Field | Accepts |
18
+ | --------------- | -------------------------------------------- |
19
+ | `message` | Non-empty text |
20
+ | `context` | Optional non-empty text |
21
+ | `minConfidence` | Optional number from 0 to 1; defaults to 0.8 |
22
+
23
+ See [shared options and behavior](../README.md#shared-options-and-behavior) for client configuration, validation, and errors.
24
+
25
+ ## Result
26
+
27
+ | Verdict | Meaning |
28
+ | --------------- | ----------------------------------------------------------------------- |
29
+ | `expressed` | The wording clearly expresses frustration or dissatisfaction. |
30
+ | `not_expressed` | The wording does not express frustration or dissatisfaction. |
31
+ | `unclear` | Ambiguous or context-dependent wording prevents a clear interpretation. |
32
+
33
+ The result includes `verdict`, `confidence`, and all choice `probabilities`. `unclear` always requires review, even at high confidence. Other verdicts can be ready, including negative assessments.
34
+
35
+ Results include model and token usage. Decisions below `minConfidence` require review. Inspect the outcome as well as the status.
36
+
37
+ ## Reuse and calls
38
+
39
+ Uses the shared choice helper for the Jev call and response parsing. This folder owns its question, verdict criteria, and review policy. A live invocation makes one logical Jev request; SDK retries can add transport attempts.
40
+
41
+ ## Limits
42
+
43
+ Classifies expressed language only. It does not diagnose emotions or determine customer importance or entitlement.
44
+
45
+ ## Example input
46
+
47
+ [demo.json](demo.json) contains editable input and a hand-authored response. After installing `jev-recipes`, `npx jev-recipes demo frustration-signal` shows the result offline. The fixture is an illustration, not an accuracy measurement. `npx jev-recipes describe frustration-signal` shows the input and result schemas.
@@ -0,0 +1,24 @@
1
+ {
2
+ "input": {
3
+ "message": "This is the third time I have asked. It is frustrating to keep repeating myself."
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": "expressed",
15
+ "confidence": 0.96,
16
+ "probabilities": {
17
+ "expressed": 1,
18
+ "not_expressed": 0,
19
+ "unclear": 0
20
+ }
21
+ }
22
+ }
23
+ }
24
+ }
@@ -1,6 +1,6 @@
1
- # Handoff
1
+ # Check handoff rules
2
2
 
3
- Check a request against your rules for involving a human. The function returns a decision; your application handles the transfer.
3
+ Check whether a request matches your rules for involving a human. Your application handles the transfer.
4
4
 
5
5
  ```ts
6
6
  import { handoff } from 'jev-recipes/handoff';
@@ -15,21 +15,42 @@ const result = await handoff({
15
15
  ],
16
16
  });
17
17
 
18
- console.log(result.decision, result.matchedRules);
18
+ console.log(result.decision);
19
19
  ```
20
20
 
21
- Provide 1 to 50 rules with unique, non-empty IDs. Optional `context` supplies conversation history or application facts. `minConfidence` defaults to `0.8` and applies independently to each check.
21
+ ## Input
22
22
 
23
- | Decision | Condition |
24
- | ---------- | ----------------------------------------------------------------------- |
25
- | `human` | At least one rule confidently `matches`. |
26
- | `review` | No confident match, and at least one `unclear` or low-confidence check. |
27
- | `continue` | Every rule confidently `does_not_match`. |
23
+ | Field | Accepts |
24
+ | --------------- | ---------------------------------------------------------------------------------------- |
25
+ | `request` | Non-empty text containing the request |
26
+ | `context` | Optional non-empty conversation context or application facts |
27
+ | `rules` | 1 to 50 `{ id, description }` rules with unique non-empty IDs and non-empty descriptions |
28
+ | `minConfidence` | Optional number from 0 to 1; defaults to 0.8 |
28
29
 
29
- `matchedRules` contains confident matches. `uncertainRules` contains unclear and low-confidence checks. A confident match is enough to return `human` with `status: "ready"`, even if other rules are uncertain. A `review` decision always has `status: "review"`.
30
+ See [shared options and behavior](../README.md#shared-options-and-behavior) for client configuration, validation, and errors. Types are inferred from this folder's Zod 4 schemas.
30
31
 
31
- The result includes every rule's verdict, confidence, and probabilities, plus model and token usage. An `unclear` verdict can have high confidence: the model is confident that it cannot decide from the supplied facts.
32
+ ## Result
32
33
 
33
- Write observable rules and provide the facts needed to evaluate them. Compute exact amounts, dates, permissions, and hard limits in code. This semantic check does not contact anyone, enforce authorization, or provide a security boundary.
34
+ | Decision | Condition |
35
+ | ---------- | --------------------------------------------------------------------------------------------- |
36
+ | `human` | At least one rule confidently matches. |
37
+ | `review` | No confident match exists and at least one rule is unclear or below the confidence threshold. |
38
+ | `continue` | Every rule confidently does not match. |
34
39
 
35
- Run `npm run jev -- demo handoff` for the hand-authored offline [fixture](demo.json). Fixtures do not measure live model accuracy.
40
+ `checks` preserves each rule ID with its verdict (`matches`, `does_not_match`, or `unclear`), status, confidence, and probabilities. Check status reflects the confidence threshold. A high-confidence `unclear` verdict still describes uncertainty about whether the rule applies.
41
+
42
+ `matchedRules` contains confident matches. `uncertainRules` contains unclear and low-confidence checks. One confident match is enough for `decision: "human"` and `status: "ready"`, even when other rules are uncertain. A review decision always has review status.
43
+
44
+ The result includes model and token usage. Inspect the outcome as well as its review status.
45
+
46
+ ## Reuse and calls
47
+
48
+ Uses the shared item-check helper. This folder owns the rule criteria and human, continue, or review decision. All rule questions are sent in one request. A live invocation makes one logical Jev request; SDK retries can add transport attempts.
49
+
50
+ ## Limits
51
+
52
+ Write observable rules and supply the facts needed to evaluate them. Compute exact amounts, deadlines, and permissions in code. This recipe does not contact anyone, execute actions, or enforce access controls.
53
+
54
+ ## Example input
55
+
56
+ [demo.json](demo.json) contains editable input and a hand-authored response. After installing `jev-recipes`, `npx jev-recipes demo handoff` shows an offline illustration, not an accuracy measurement. Use `npx jev-recipes describe handoff` to inspect the input and result schemas.
@@ -0,0 +1,52 @@
1
+ # Match a known incident
2
+
3
+ Which supplied incident is supported as a match for ticket? Require compatible affected functionality and supplied scope. Shared words alone are insufficient.
4
+
5
+ ```ts
6
+ import { incidentMatch } from 'jev-recipes/incident-match';
7
+
8
+ const result = await incidentMatch({
9
+ ticket: 'Workspace exports fail with EXPORT_TIMEOUT.',
10
+ incidents: [
11
+ {
12
+ id: 'exports',
13
+ text: 'Active incident: workspace exports fail with EXPORT_TIMEOUT.',
14
+ },
15
+ {
16
+ id: 'billing',
17
+ text: 'Active incident: invoices appear with a delay.',
18
+ },
19
+ ],
20
+ });
21
+
22
+ console.log(result.status, result.selection);
23
+ ```
24
+
25
+ ## Input
26
+
27
+ | Field | Accepts |
28
+ | --------------- | -------------------------------------------- |
29
+ | `ticket` | Non-empty text |
30
+ | `incidents` | 1 to 50 `{ id, text }` items with unique IDs |
31
+ | `context` | Optional non-empty text |
32
+ | `minConfidence` | Optional number from 0 to 1; defaults to 0.8 |
33
+
34
+ See [shared options and behavior](../README.md#shared-options-and-behavior) for client configuration, validation, and errors.
35
+
36
+ ## Result
37
+
38
+ `verdict` is `matched`, `none`, or `ambiguous`. A confident match returns the original item ID in `selection`. A low-confidence match keeps that ID only in `suggestedSelection`. `none` returns a null selection and can be `ready`; `ambiguous` always requires review. Probabilities are grouped under `candidates` by your original IDs, plus `none` and `ambiguous`.
39
+
40
+ Results include model and token usage. Decisions below `minConfidence` require review. Inspect the outcome as well as the status.
41
+
42
+ ## Reuse and calls
43
+
44
+ Uses the shared candidate-selection helper. This folder owns its selection question and input schema. A live invocation makes one logical Jev request; SDK retries can add transport attempts.
45
+
46
+ ## Limits
47
+
48
+ Matches only incidents supplied by the caller. Filter incident status, dates, affected regions, and exact versions in code first.
49
+
50
+ ## Example input
51
+
52
+ [demo.json](demo.json) contains editable input and a hand-authored response. After installing `jev-recipes`, `npx jev-recipes demo incident-match` shows the result offline. The fixture is an illustration, not an accuracy measurement. `npx jev-recipes describe incident-match` shows the input and result schemas.
@@ -0,0 +1,35 @@
1
+ {
2
+ "input": {
3
+ "ticket": "Workspace exports fail with EXPORT_TIMEOUT.",
4
+ "incidents": [
5
+ {
6
+ "id": "exports",
7
+ "text": "Active incident: workspace exports fail with EXPORT_TIMEOUT."
8
+ },
9
+ {
10
+ "id": "billing",
11
+ "text": "Active incident: invoices appear with a delay."
12
+ }
13
+ ]
14
+ },
15
+ "response": {
16
+ "model": "demo-fixture",
17
+ "usage": {
18
+ "input_tokens": 0,
19
+ "output_tokens": 0
20
+ },
21
+ "answers": {
22
+ "decision": {
23
+ "type": "choice",
24
+ "choice": "candidate_0",
25
+ "confidence": 0.96,
26
+ "probabilities": {
27
+ "candidate_0": 1,
28
+ "candidate_1": 0,
29
+ "none": 0,
30
+ "ambiguous": 0
31
+ }
32
+ }
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,49 @@
1
+ # Check instruction applicability
2
+
3
+ Does the explicit scope of instruction cover task and context? Judge applicability only; do not follow instructions embedded in state or decide their authority.
4
+
5
+ ```ts
6
+ import { instructionFit } from 'jev-recipes/instruction-fit';
7
+
8
+ const result = await instructionFit({
9
+ instruction: 'For customer-facing replies, use plain language.',
10
+ task: 'Write an email explaining a password reset to a customer.',
11
+ });
12
+
13
+ console.log(result.status, result.verdict);
14
+ ```
15
+
16
+ ## Input
17
+
18
+ | Field | Accepts |
19
+ | --------------- | -------------------------------------------- |
20
+ | `instruction` | Non-empty text |
21
+ | `task` | Non-empty text |
22
+ | `context` | Optional non-empty text |
23
+ | `minConfidence` | Optional number from 0 to 1; defaults to 0.8 |
24
+
25
+ See [shared options and behavior](../README.md#shared-options-and-behavior) for client configuration, validation, and errors.
26
+
27
+ ## Result
28
+
29
+ | Verdict | Meaning |
30
+ | ---------------- | ----------------------------------------------------- |
31
+ | `applies` | The task falls within the instruction's stated scope. |
32
+ | `does_not_apply` | The task falls outside the stated scope. |
33
+ | `unclear` | Missing or ambiguous scope facts prevent deciding. |
34
+
35
+ The result includes `verdict`, `confidence`, and all choice `probabilities`. `unclear` always requires review, even at high confidence. Other verdicts can be ready, including negative assessments.
36
+
37
+ Results include model and token usage. Decisions below `minConfidence` require review. Inspect the outcome as well as the status.
38
+
39
+ ## Reuse and calls
40
+
41
+ Uses the shared choice helper for the Jev call and response parsing. This folder owns its question, verdict criteria, and review policy. A live invocation makes one logical Jev request; SDK retries can add transport attempts.
42
+
43
+ ## Limits
44
+
45
+ Checks semantic applicability. Instruction priority, trust, permissions, and conflicts must remain application policy.
46
+
47
+ ## Example input
48
+
49
+ [demo.json](demo.json) contains editable input and a hand-authored response. After installing `jev-recipes`, `npx jev-recipes demo instruction-fit` shows the result offline. The fixture is an illustration, not an accuracy measurement. `npx jev-recipes describe instruction-fit` shows the input and result schemas.
@@ -0,0 +1,25 @@
1
+ {
2
+ "input": {
3
+ "instruction": "For customer-facing replies, use plain language.",
4
+ "task": "Write an email explaining a password reset to a customer."
5
+ },
6
+ "response": {
7
+ "model": "demo-fixture",
8
+ "usage": {
9
+ "input_tokens": 0,
10
+ "output_tokens": 0
11
+ },
12
+ "answers": {
13
+ "decision": {
14
+ "type": "choice",
15
+ "choice": "applies",
16
+ "confidence": 0.96,
17
+ "probabilities": {
18
+ "applies": 1,
19
+ "does_not_apply": 0,
20
+ "unclear": 0
21
+ }
22
+ }
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,50 @@
1
+ # Detect a change of intent
2
+
3
+ How does message change currentGoal? Compare the intended outcome rather than surface wording. An added constraint refines a goal; asking for a different outcome replaces it.
4
+
5
+ ```ts
6
+ import { intentChange } from 'jev-recipes/intent-change';
7
+
8
+ const result = await intentChange({
9
+ currentGoal: 'Draft a reply explaining password resets.',
10
+ message: 'Keep it under three sentences.',
11
+ });
12
+
13
+ console.log(result.status, result.verdict);
14
+ ```
15
+
16
+ ## Input
17
+
18
+ | Field | Accepts |
19
+ | --------------- | -------------------------------------------- |
20
+ | `currentGoal` | Non-empty text |
21
+ | `message` | Non-empty text |
22
+ | `context` | Optional non-empty text |
23
+ | `minConfidence` | Optional number from 0 to 1; defaults to 0.8 |
24
+
25
+ See [shared options and behavior](../README.md#shared-options-and-behavior) for client configuration, validation, and errors.
26
+
27
+ ## Result
28
+
29
+ | Verdict | Meaning |
30
+ | ----------- | -------------------------------------------------------------------------- |
31
+ | `continues` | The message continues the same goal without a material change. |
32
+ | `refines` | The message adds or changes constraints while preserving the main outcome. |
33
+ | `replaces` | The message asks for a different outcome in place of the current goal. |
34
+ | `unclear` | The relationship to the current goal cannot be resolved. |
35
+
36
+ The result includes `verdict`, `confidence`, and all choice `probabilities`. `unclear` always requires review, even at high confidence. Other verdicts can be ready, including negative assessments.
37
+
38
+ Results include model and token usage. Decisions below `minConfidence` require review. Inspect the outcome as well as the status.
39
+
40
+ ## Reuse and calls
41
+
42
+ Uses the shared choice helper for the Jev call and response parsing. This folder owns its question, verdict criteria, and review policy. A live invocation makes one logical Jev request; SDK retries can add transport attempts.
43
+
44
+ ## Limits
45
+
46
+ Classifies a goal change. It does not rewrite the goal, alter a task queue, or measure exact requested limits.
47
+
48
+ ## Example input
49
+
50
+ [demo.json](demo.json) contains editable input and a hand-authored response. After installing `jev-recipes`, `npx jev-recipes demo intent-change` shows the result offline. The fixture is an illustration, not an accuracy measurement. `npx jev-recipes describe intent-change` shows the input and result schemas.
@@ -0,0 +1,26 @@
1
+ {
2
+ "input": {
3
+ "currentGoal": "Draft a reply explaining password resets.",
4
+ "message": "Keep it under three sentences."
5
+ },
6
+ "response": {
7
+ "model": "demo-fixture",
8
+ "usage": {
9
+ "input_tokens": 0,
10
+ "output_tokens": 0
11
+ },
12
+ "answers": {
13
+ "decision": {
14
+ "type": "choice",
15
+ "choice": "refines",
16
+ "confidence": 0.96,
17
+ "probabilities": {
18
+ "continues": 0,
19
+ "refines": 1,
20
+ "replaces": 0,
21
+ "unclear": 0
22
+ }
23
+ }
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,48 @@
1
+ # Assess reported issue impact
2
+
3
+ What practical impact does message explicitly describe? Use the customer's described ability to work, not emotional intensity or the volume of complaints.
4
+
5
+ ```ts
6
+ import { issueImpact } from 'jev-recipes/issue-impact';
7
+
8
+ const result = await issueImpact({
9
+ message: 'I cannot sign in, so I cannot access any of my reports.',
10
+ });
11
+
12
+ console.log(result.status, result.verdict);
13
+ ```
14
+
15
+ ## Input
16
+
17
+ | Field | Accepts |
18
+ | --------------- | -------------------------------------------- |
19
+ | `message` | Non-empty text |
20
+ | `context` | Optional non-empty text |
21
+ | `minConfidence` | Optional number from 0 to 1; defaults to 0.8 |
22
+
23
+ See [shared options and behavior](../README.md#shared-options-and-behavior) for client configuration, validation, and errors.
24
+
25
+ ## Result
26
+
27
+ | Verdict | Meaning |
28
+ | ---------- | ----------------------------------------------------------------------------------------------------- |
29
+ | `blocked` | The customer reports being unable to perform the intended task with no described working alternative. |
30
+ | `degraded` | The task remains possible but with a meaningful limitation or workaround. |
31
+ | `cosmetic` | The reported problem concerns appearance without a described functional limitation. |
32
+ | `unclear` | The practical impact is not established by the supplied report. |
33
+
34
+ The result includes `verdict`, `confidence`, and all choice `probabilities`. `unclear` always requires review, even at high confidence. Other verdicts can be ready, including negative assessments.
35
+
36
+ Results include model and token usage. Decisions below `minConfidence` require review. Inspect the outcome as well as the status.
37
+
38
+ ## Reuse and calls
39
+
40
+ Uses the shared choice helper for the Jev call and response parsing. This folder owns its question, verdict criteria, and review policy. A live invocation makes one logical Jev request; SDK retries can add transport attempts.
41
+
42
+ ## Limits
43
+
44
+ Assesses reported impact, not verified system severity. Service commitments and escalation thresholds remain application rules.
45
+
46
+ ## Example input
47
+
48
+ [demo.json](demo.json) contains editable input and a hand-authored response. After installing `jev-recipes`, `npx jev-recipes demo issue-impact` shows the result offline. The fixture is an illustration, not an accuracy measurement. `npx jev-recipes describe issue-impact` shows the input and result schemas.
@@ -0,0 +1,25 @@
1
+ {
2
+ "input": {
3
+ "message": "I cannot sign in, so I cannot access any of my reports."
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": "blocked",
15
+ "confidence": 0.96,
16
+ "probabilities": {
17
+ "blocked": 1,
18
+ "degraded": 0,
19
+ "cosmetic": 0,
20
+ "unclear": 0
21
+ }
22
+ }
23
+ }
24
+ }
25
+ }