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,54 @@
1
+ # Resolve a reference
2
+
3
+ Which supplied candidate does reference refer to in message and context? Resolve only this reference. Do not invent an entity or break a genuine tie.
4
+
5
+ ```ts
6
+ import { referenceResolve } from 'jev-recipes/reference-resolve';
7
+
8
+ const result = await referenceResolve({
9
+ message: 'Please cancel the hardware order, not my subscription.',
10
+ reference: 'the hardware order',
11
+ candidates: [
12
+ {
13
+ id: 'order',
14
+ text: 'A pending hardware order.',
15
+ },
16
+ {
17
+ id: 'subscription',
18
+ text: 'An active monthly storage subscription.',
19
+ },
20
+ ],
21
+ });
22
+
23
+ console.log(result.status, result.selection);
24
+ ```
25
+
26
+ ## Input
27
+
28
+ | Field | Accepts |
29
+ | --------------- | -------------------------------------------- |
30
+ | `message` | Non-empty text |
31
+ | `reference` | Non-empty text |
32
+ | `candidates` | 1 to 50 `{ id, text }` items with unique IDs |
33
+ | `context` | Optional non-empty text |
34
+ | `minConfidence` | Optional number from 0 to 1; defaults to 0.8 |
35
+
36
+ See [shared options and behavior](../README.md#shared-options-and-behavior) for client configuration, validation, and errors.
37
+
38
+ ## Result
39
+
40
+ `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`.
41
+
42
+ Results include model and token usage. Decisions below `minConfidence` require review. Inspect the outcome as well as the status.
43
+
44
+ ## Reuse and calls
45
+
46
+ 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.
47
+
48
+ ## Limits
49
+
50
+ Resolves a supplied reference among candidates. It does not extract references, verify identity, or authorize changes.
51
+
52
+ ## Example input
53
+
54
+ [demo.json](demo.json) contains editable input and a hand-authored response. After installing `jev-recipes`, `npx jev-recipes demo reference-resolve` shows the result offline. The fixture is an illustration, not an accuracy measurement. `npx jev-recipes describe reference-resolve` shows the input and result schemas.
@@ -0,0 +1,36 @@
1
+ {
2
+ "input": {
3
+ "message": "Please cancel the hardware order, not my subscription.",
4
+ "reference": "the hardware order",
5
+ "candidates": [
6
+ {
7
+ "id": "order",
8
+ "text": "A pending hardware order."
9
+ },
10
+ {
11
+ "id": "subscription",
12
+ "text": "An active monthly storage subscription."
13
+ }
14
+ ]
15
+ },
16
+ "response": {
17
+ "model": "demo-fixture",
18
+ "usage": {
19
+ "input_tokens": 0,
20
+ "output_tokens": 0
21
+ },
22
+ "answers": {
23
+ "decision": {
24
+ "type": "choice",
25
+ "choice": "candidate_0",
26
+ "confidence": 0.96,
27
+ "probabilities": {
28
+ "candidate_0": 1,
29
+ "candidate_1": 0,
30
+ "none": 0,
31
+ "ambiguous": 0
32
+ }
33
+ }
34
+ }
35
+ }
36
+ }
@@ -0,0 +1,50 @@
1
+ # Compare attempted approaches
2
+
3
+ Does proposedAttempt use essentially the same approach as previousAttempt for objective? Rewording the same query without a material strategy change counts as the same approach.
4
+
5
+ ```ts
6
+ import { repeatedAttempt } from 'jev-recipes/repeated-attempt';
7
+
8
+ const result = await repeatedAttempt({
9
+ objective: 'Find reset documentation.',
10
+ previousAttempt: 'Search the help center for password reset.',
11
+ proposedAttempt: 'Search the same help center for reset password.',
12
+ });
13
+
14
+ console.log(result.status, result.verdict);
15
+ ```
16
+
17
+ ## Input
18
+
19
+ | Field | Accepts |
20
+ | ----------------- | -------------------------------------------- |
21
+ | `objective` | Non-empty text |
22
+ | `previousAttempt` | Non-empty text |
23
+ | `proposedAttempt` | Non-empty text |
24
+ | `minConfidence` | Optional number from 0 to 1; defaults to 0.8 |
25
+
26
+ See [shared options and behavior](../README.md#shared-options-and-behavior) for client configuration, validation, and errors.
27
+
28
+ ## Result
29
+
30
+ | Verdict | Meaning |
31
+ | -------------------- | -------------------------------------------------------------------------- |
32
+ | `same_approach` | The proposed attempt repeats the material method and relevant assumptions. |
33
+ | `different_approach` | The proposed attempt changes a material method, source, or assumption. |
34
+ | `unclear` | The attempts are not described precisely enough to compare. |
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
+ Compares two attempts only. Counting repeats, deciding whether a retry is justified, and stopping loops belong in application code.
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 repeated-attempt` shows the result offline. The fixture is an illustration, not an accuracy measurement. `npx jev-recipes describe repeated-attempt` shows the input and result schemas.
@@ -0,0 +1,26 @@
1
+ {
2
+ "input": {
3
+ "objective": "Find reset documentation.",
4
+ "previousAttempt": "Search the help center for password reset.",
5
+ "proposedAttempt": "Search the same help center for reset password."
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": "same_approach",
17
+ "confidence": 0.96,
18
+ "probabilities": {
19
+ "same_approach": 1,
20
+ "different_approach": 0,
21
+ "unclear": 0
22
+ }
23
+ }
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,52 @@
1
+ # Select a reply template
2
+
3
+ Which supplied approved template applies to request and context? Match any stated template conditions and do not select a template that promises unsupported actions.
4
+
5
+ ```ts
6
+ import { replyTemplateMatch } from 'jev-recipes/reply-template-match';
7
+
8
+ const result = await replyTemplateMatch({
9
+ request: 'How do I reset my password?',
10
+ templates: [
11
+ {
12
+ id: 'reset',
13
+ text: 'For password reset requests: Select Forgot password on the sign-in page.',
14
+ },
15
+ {
16
+ id: 'invoice',
17
+ text: 'For invoice requests: Open Billing and select Download invoice.',
18
+ },
19
+ ],
20
+ });
21
+
22
+ console.log(result.status, result.selection);
23
+ ```
24
+
25
+ ## Input
26
+
27
+ | Field | Accepts |
28
+ | --------------- | -------------------------------------------- |
29
+ | `request` | Non-empty text |
30
+ | `templates` | 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 a supplied template. It does not fill placeholders, approve its content, personalize it, or send a response.
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 reply-template-match` shows the result offline. The fixture is an illustration, not an accuracy measurement. `npx jev-recipes describe reply-template-match` shows the input and result schemas.
@@ -0,0 +1,35 @@
1
+ {
2
+ "input": {
3
+ "request": "How do I reset my password?",
4
+ "templates": [
5
+ {
6
+ "id": "reset",
7
+ "text": "For password reset requests: Select Forgot password on the sign-in page."
8
+ },
9
+ {
10
+ "id": "invoice",
11
+ "text": "For invoice requests: Open Billing and select Download 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
+ }
@@ -1,6 +1,6 @@
1
- # Rerank
1
+ # Rerank evidence
2
2
 
3
- Rank supplied passages by how directly they help answer a query. This function does not retrieve documents or write an answer.
3
+ Select supplied passages by how directly they help answer a query, then order them by relevance.
4
4
 
5
5
  ```ts
6
6
  import { rerank } from 'jev-recipes/rerank';
@@ -8,18 +8,48 @@ import { rerank } from 'jev-recipes/rerank';
8
8
  const result = await rerank({
9
9
  query: 'How do I reset my password?',
10
10
  items: [
11
- { id: 'billing', text: 'Invoices appear on the Billing page.' },
12
- { id: 'reset', text: 'Select Forgot password to receive a reset link.' },
11
+ {
12
+ id: 'billing',
13
+ text: 'Invoices appear on the Billing page.',
14
+ },
15
+ {
16
+ id: 'reset',
17
+ text: 'Select Forgot password to receive a reset link.',
18
+ },
13
19
  ],
14
- topK: 5,
15
- minRelevance: 0.5,
20
+ topK: 1,
16
21
  });
22
+
23
+ console.log(result.items);
17
24
  ```
18
25
 
19
- Supply 1 to 100 items with unique, non-empty IDs and non-empty text. `topK` defaults to `5` and must be an integer from 1 to 100. `minRelevance` defaults to `0.5` and must be between 0 and 1.
26
+ ## Input
27
+
28
+ | Field | Accepts |
29
+ | -------------- | -------------------------------------------------------------------------- |
30
+ | `query` | Non-empty text describing the information needed |
31
+ | `items` | 1 to 100 `{ id, text }` items with unique non-empty IDs and non-empty text |
32
+ | `topK` | Optional integer from 1 to 100; defaults to 5 |
33
+ | `minRelevance` | Optional number from 0 to 1; defaults to 0.5 |
34
+
35
+ 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.
36
+
37
+ ## Result
38
+
39
+ `items` contains passages at or above `minRelevance`, ordered from highest relevance to lowest and limited to `topK`. Each item keeps its ID and text and adds `relevance`. Equal values preserve input order. The input array is not changed.
40
+
41
+ `status` is `ready` when at least one passage qualifies, otherwise `review`. `evaluated` reports the number of supplied items. Relevance comes from independent yes/no questions, so values do not sum to 1 and have no separate confidence field.
42
+
43
+ The result includes model and token usage. Inspect the outcome as well as its review status.
44
+
45
+ ## Reuse and calls
46
+
47
+ Uses shared input preparation, instruction handling, the SDK client, and yes/no answer parsing. This folder owns the relevance question, filtering, and ordering. All item questions are sent in one request. A live invocation makes one logical Jev request; SDK retries can add transport attempts.
48
+
49
+ ## Limits
20
50
 
21
- One Jev call asks an independent yes/no relevance question for every item. The returned relevance values do not sum to 1 and have no separate confidence field. Results at or above the threshold are sorted, then limited to `topK`. Equal scores keep the original order. IDs and text are preserved, and the input array is not changed.
51
+ Relevance does not establish that a passage is true or sufficient to answer the entire query. Use answerability to assess the selected evidence. This recipe does not retrieve documents or generate an answer.
22
52
 
23
- An empty selection returns `status: "review"`. `ready` means some candidates passed the relevance threshold; it does not establish that they completely answer the query. The result also includes the number evaluated, model, and token usage. Large passages may require fewer items to fit the provider's context limit.
53
+ ## Example input
24
54
 
25
- Try `npm run jev -- demo rerank` for the offline [`demo.json`](demo.json) fixture. Use `node dist/cli/index.js example rerank` to print editable input. Live retrieval quality and cost improvements have not been measured.
55
+ [demo.json](demo.json) contains editable input and a hand-authored response. After installing `jev-recipes`, `npx jev-recipes demo rerank` shows an offline illustration, not an accuracy measurement. Use `npx jev-recipes describe rerank` to inspect the input and result schemas.
@@ -0,0 +1,49 @@
1
+ # Check reported resolution
2
+
3
+ Does message establish that the customer reports issue as resolved? Courtesy or thanks without a resolution statement is not enough. Assess the reported state, not the actual system state.
4
+
5
+ ```ts
6
+ import { resolutionCheck } from 'jev-recipes/resolution-check';
7
+
8
+ const result = await resolutionCheck({
9
+ issue: 'The customer cannot sign in.',
10
+ message: 'The reset worked. I can sign in now.',
11
+ });
12
+
13
+ console.log(result.status, result.verdict);
14
+ ```
15
+
16
+ ## Input
17
+
18
+ | Field | Accepts |
19
+ | --------------- | -------------------------------------------- |
20
+ | `issue` | 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
+ | `resolved` | The customer clearly reports this issue is solved or the desired outcome now works. |
32
+ | `unresolved` | The customer clearly reports this issue persists or the attempted fix failed. |
33
+ | `unclear` | The message does not establish whether this issue is resolved. |
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
+ Interprets the customer report. It does not verify the system state, close a ticket, or treat courtesy alone as resolution.
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 resolution-check` shows the result offline. The fixture is an illustration, not an accuracy measurement. `npx jev-recipes describe resolution-check` shows the input and result schemas.
@@ -0,0 +1,25 @@
1
+ {
2
+ "input": {
3
+ "issue": "The customer cannot sign in.",
4
+ "message": "The reset worked. I can sign in now."
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": "resolved",
16
+ "confidence": 0.96,
17
+ "probabilities": {
18
+ "resolved": 1,
19
+ "unresolved": 0,
20
+ "unclear": 0
21
+ }
22
+ }
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,48 @@
1
+ # Check whether a reply is needed
2
+
3
+ Does message require a substantive reply in context? A question, request, correction needing follow-through, or unresolved issue requires a reply. A simple closing acknowledgment does not.
4
+
5
+ ```ts
6
+ import { responseNeeded } from 'jev-recipes/response-needed';
7
+
8
+ const result = await responseNeeded({
9
+ message: 'Thanks, that solved it!',
10
+ context: 'The assistant provided password reset instructions.',
11
+ });
12
+
13
+ console.log(result.status, result.verdict);
14
+ ```
15
+
16
+ ## Input
17
+
18
+ | Field | Accepts |
19
+ | --------------- | -------------------------------------------- |
20
+ | `message` | Non-empty text |
21
+ | `context` | Optional non-empty text |
22
+ | `minConfidence` | Optional number from 0 to 1; defaults to 0.8 |
23
+
24
+ See [shared options and behavior](../README.md#shared-options-and-behavior) for client configuration, validation, and errors.
25
+
26
+ ## Result
27
+
28
+ | Verdict | Meaning |
29
+ | ----------------- | ------------------------------------------------------------------------------ |
30
+ | `reply_needed` | The message requests or requires substantive follow-through. |
31
+ | `no_reply_needed` | The message closes or acknowledges the exchange without an unresolved request. |
32
+ | `unclear` | The supplied context does not establish whether a response is expected. |
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 conversational need. Channel-specific response obligations and customer service policies 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 response-needed` shows the result offline. The fixture is an illustration, not an accuracy measurement. `npx jev-recipes describe response-needed` shows the input and result schemas.
@@ -0,0 +1,25 @@
1
+ {
2
+ "input": {
3
+ "message": "Thanks, that solved it!",
4
+ "context": "The assistant provided password reset instructions."
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": "no_reply_needed",
16
+ "confidence": 0.96,
17
+ "probabilities": {
18
+ "reply_needed": 0,
19
+ "no_reply_needed": 1,
20
+ "unclear": 0
21
+ }
22
+ }
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,49 @@
1
+ # Interpret a reported tool outcome
2
+
3
+ What outcome does result report for task? Judge only what the response claims. A success status for transport alone does not establish completion of the requested task.
4
+
5
+ ```ts
6
+ import { resultOutcome } from 'jev-recipes/result-outcome';
7
+
8
+ const result = await resultOutcome({
9
+ task: 'Export the customer report.',
10
+ result: 'The export could not be created because the account lacks export access.',
11
+ });
12
+
13
+ console.log(result.status, result.verdict);
14
+ ```
15
+
16
+ ## Input
17
+
18
+ | Field | Accepts |
19
+ | --------------- | -------------------------------------------- |
20
+ | `task` | Non-empty text |
21
+ | `result` | Non-empty text |
22
+ | `minConfidence` | Optional number from 0 to 1; defaults to 0.8 |
23
+
24
+ See [shared options and behavior](../README.md#shared-options-and-behavior) for client configuration, validation, and errors.
25
+
26
+ ## Result
27
+
28
+ | Verdict | Meaning |
29
+ | ----------------- | ------------------------------------------------------------------------------------ |
30
+ | `success` | The response explicitly reports the full requested task completed. |
31
+ | `partial_success` | The response reports some requested work completed and some unfinished. |
32
+ | `failure` | The response explicitly reports the requested work failed or could not be performed. |
33
+ | `unclear` | The response does not establish a task outcome. |
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
+ Interprets a report; it does not independently confirm an external action occurred. Prefer structured result fields when available.
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 result-outcome` shows the result offline. The fixture is an illustration, not an accuracy measurement. `npx jev-recipes describe result-outcome` shows the input and result schemas.
@@ -0,0 +1,26 @@
1
+ {
2
+ "input": {
3
+ "task": "Export the customer report.",
4
+ "result": "The export could not be created because the account lacks export access."
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": "failure",
16
+ "confidence": 0.96,
17
+ "probabilities": {
18
+ "success": 0,
19
+ "partial_success": 0,
20
+ "failure": 1,
21
+ "unclear": 0
22
+ }
23
+ }
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,49 @@
1
+ # Check tool result usefulness
2
+
3
+ Does result provide information useful for task? A response can be technically successful but contain no substantive information or information about a different task.
4
+
5
+ ```ts
6
+ import { resultUsefulness } from 'jev-recipes/result-usefulness';
7
+
8
+ const result = await resultUsefulness({
9
+ task: 'Find password reset instructions.',
10
+ result: 'Search completed successfully. No matching documents were found.',
11
+ });
12
+
13
+ console.log(result.status, result.verdict);
14
+ ```
15
+
16
+ ## Input
17
+
18
+ | Field | Accepts |
19
+ | --------------- | -------------------------------------------- |
20
+ | `task` | Non-empty text |
21
+ | `result` | Non-empty text |
22
+ | `minConfidence` | Optional number from 0 to 1; defaults to 0.8 |
23
+
24
+ See [shared options and behavior](../README.md#shared-options-and-behavior) for client configuration, validation, and errors.
25
+
26
+ ## Result
27
+
28
+ | Verdict | Meaning |
29
+ | ----------------------- | --------------------------------------------------------------------------------- |
30
+ | `useful` | The response contains substantive information useful for the task. |
31
+ | `no_useful_information` | The response reports no results, an inability to help, or only empty boilerplate. |
32
+ | `irrelevant` | The response contains substantive information about a different task or subject. |
33
+ | `unclear` | The response cannot be interpreted well enough to assess usefulness. |
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
+ Assesses response content, not transport success or source truth. Handle empty bodies and status codes in code.
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 result-usefulness` shows the result offline. The fixture is an illustration, not an accuracy measurement. `npx jev-recipes describe result-usefulness` shows the input and result schemas.
@@ -0,0 +1,26 @@
1
+ {
2
+ "input": {
3
+ "task": "Find password reset instructions.",
4
+ "result": "Search completed successfully. No matching documents were found."
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": "no_useful_information",
16
+ "confidence": 0.96,
17
+ "probabilities": {
18
+ "useful": 0,
19
+ "no_useful_information": 1,
20
+ "irrelevant": 0,
21
+ "unclear": 0
22
+ }
23
+ }
24
+ }
25
+ }
26
+ }