jev-recipes 0.2.0 → 0.3.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.
- package/CHANGELOG.md +8 -1
- package/README.md +62 -89
- package/dist/catalog/generated/details/action-scope.json +43 -0
- package/dist/catalog/generated/details/answer-consistency.json +46 -0
- package/dist/catalog/generated/details/answer-coverage.json +66 -0
- package/dist/catalog/generated/details/answer-invalidation.json +43 -0
- package/dist/catalog/generated/details/answer-relevance.json +45 -0
- package/dist/catalog/generated/details/answerability.json +55 -0
- package/dist/catalog/generated/details/argument-fit.json +41 -0
- package/dist/catalog/generated/details/attempted-step.json +39 -0
- package/dist/catalog/generated/details/audience-fit.json +45 -0
- package/dist/catalog/generated/details/cache-match.json +41 -0
- package/dist/catalog/generated/details/cancellation-check.json +40 -0
- package/dist/catalog/generated/details/certainty-match.json +45 -0
- package/dist/catalog/generated/details/change-meaning.json +43 -0
- package/dist/catalog/generated/details/citation-match.json +64 -0
- package/dist/catalog/generated/details/citation-needed.json +39 -0
- package/dist/catalog/generated/details/clarify.json +64 -0
- package/dist/catalog/generated/details/confirmation-match.json +40 -0
- package/dist/catalog/generated/details/context-role.json +45 -0
- package/dist/catalog/generated/details/correction-target.json +68 -0
- package/dist/catalog/generated/details/document-role.json +68 -0
- package/dist/catalog/generated/details/draft-compare.json +44 -0
- package/dist/catalog/generated/details/evidence-conflict.json +46 -0
- package/dist/catalog/generated/details/evidence-novelty.json +55 -0
- package/dist/catalog/generated/details/fact-stability.json +39 -0
- package/dist/catalog/generated/details/failure-kind.json +68 -0
- package/dist/catalog/generated/details/feedback-kind.json +69 -0
- package/dist/catalog/generated/details/field-select.json +68 -0
- package/dist/catalog/generated/details/followup-link.json +68 -0
- package/dist/catalog/generated/details/freshness-needed.json +38 -0
- package/dist/catalog/generated/details/frustration-signal.json +39 -0
- package/dist/catalog/generated/details/handoff.json +75 -0
- package/dist/catalog/generated/details/incident-match.json +68 -0
- package/dist/catalog/generated/details/instruction-fit.json +40 -0
- package/dist/catalog/generated/details/intent-change.json +43 -0
- package/dist/catalog/generated/details/issue-impact.json +42 -0
- package/dist/catalog/generated/details/memory-relation.json +46 -0
- package/dist/catalog/generated/details/memory-scope.json +42 -0
- package/dist/catalog/generated/details/memory-value.json +46 -0
- package/dist/catalog/generated/details/passage-duplicate.json +42 -0
- package/dist/catalog/generated/details/preference-kind.json +45 -0
- package/dist/catalog/generated/details/promise-check.json +42 -0
- package/dist/catalog/generated/details/query-equivalence.json +43 -0
- package/dist/catalog/generated/details/query-specificity.json +39 -0
- package/dist/catalog/generated/details/reference-resolve.json +69 -0
- package/dist/catalog/generated/details/repeated-attempt.json +43 -0
- package/dist/catalog/generated/details/reply-template-match.json +68 -0
- package/dist/catalog/generated/details/rerank.json +55 -0
- package/dist/catalog/generated/details/resolution-check.json +40 -0
- package/dist/catalog/generated/details/response-needed.json +42 -0
- package/dist/catalog/generated/details/result-outcome.json +42 -0
- package/dist/catalog/generated/details/result-usefulness.json +45 -0
- package/dist/catalog/generated/details/retrieval-needed.json +39 -0
- package/dist/catalog/generated/details/route.json +51 -0
- package/dist/catalog/generated/details/source-applicability.json +39 -0
- package/dist/catalog/generated/details/step-complete.json +39 -0
- package/dist/catalog/generated/details/step-progress.json +43 -0
- package/dist/catalog/generated/details/summary-coverage.json +66 -0
- package/dist/catalog/generated/details/ticket-match.json +43 -0
- package/dist/catalog/generated/details/tone-check.json +63 -0
- package/dist/catalog/generated/details/tool-fit.json +40 -0
- package/dist/catalog/generated/details/topic-shift.json +43 -0
- package/dist/catalog/generated/details/troubleshooting-fit.json +40 -0
- package/dist/catalog/generated/details/turn-intent.json +69 -0
- package/dist/catalog/generated/details/urgency-signal.json +39 -0
- package/dist/catalog/generated/details/verify.json +66 -0
- package/dist/catalog/generated/details/workaround-fit.json +40 -0
- package/dist/catalog/generated/loaders.d.ts +3 -0
- package/dist/catalog/generated/loaders.js +68 -0
- package/dist/catalog/generated/metadata.d.ts +2 -0
- package/dist/catalog/generated/metadata.js +1115 -0
- package/dist/catalog/generated/names.d.ts +1 -0
- package/dist/catalog/generated/names.js +69 -0
- package/dist/catalog/index.d.ts +9 -1764
- package/dist/catalog/index.js +8 -24
- package/dist/catalog/runner.d.ts +4 -0
- package/dist/catalog/runner.js +5 -0
- package/dist/catalog/schema.d.ts +51 -50
- package/dist/catalog/schema.js +2 -2
- package/dist/catalog/search.d.ts +3 -0
- package/dist/catalog/search.js +60 -0
- package/dist/cli/index.js +17 -8
- package/dist/cli/schema.d.ts +151 -167
- package/dist/cli/schema.js +37 -4
- package/dist/recipes/action-scope/schema.d.ts +3 -3
- package/dist/recipes/answer-consistency/schema.d.ts +3 -3
- package/dist/recipes/answer-coverage/schema.d.ts +6 -6
- package/dist/recipes/answerability/schema.d.ts +6 -6
- package/dist/recipes/cancellation-check/schema.d.ts +3 -3
- package/dist/recipes/certainty-match/schema.d.ts +3 -3
- package/dist/recipes/citation-needed/schema.d.ts +3 -3
- package/dist/recipes/clarify/schema.d.ts +3 -3
- package/dist/recipes/document-role/schema.d.ts +6 -6
- package/dist/recipes/evidence-conflict/schema.d.ts +3 -3
- package/dist/recipes/feedback-kind/schema.d.ts +3 -3
- package/dist/recipes/freshness-needed/schema.d.ts +3 -3
- package/dist/recipes/handoff/schema.d.ts +3 -3
- package/dist/recipes/passage-duplicate/schema.d.ts +3 -3
- package/dist/recipes/preference-kind/schema.d.ts +3 -3
- package/dist/recipes/promise-check/schema.d.ts +3 -3
- package/dist/recipes/query-equivalence/schema.d.ts +3 -3
- package/dist/recipes/result-outcome/schema.d.ts +3 -3
- package/dist/recipes/retrieval-needed/schema.d.ts +3 -3
- package/dist/recipes/step-progress/schema.d.ts +3 -3
- package/dist/recipes/summary-coverage/schema.d.ts +3 -3
- package/dist/recipes/ticket-match/schema.d.ts +3 -3
- package/dist/recipes/turn-intent/schema.d.ts +12 -12
- package/dist/src/index.d.ts +117 -117
- package/dist/src/index.js +51 -50
- package/dist/src/schema.d.ts +5 -0
- package/dist/src/schema.js +2 -0
- package/package.json +200 -191
- package/dist/catalog/groups/answers.d.ts +0 -565
- package/dist/catalog/groups/answers.js +0 -82
- package/dist/catalog/groups/conversation.d.ts +0 -608
- package/dist/catalog/groups/conversation.js +0 -90
- package/dist/catalog/groups/knowledge.d.ts +0 -522
- package/dist/catalog/groups/knowledge.js +0 -82
- package/dist/catalog/groups/retrieval.d.ts +0 -664
- package/dist/catalog/groups/retrieval.js +0 -106
- package/dist/catalog/groups/support.d.ts +0 -522
- package/dist/catalog/groups/support.js +0 -82
- package/dist/catalog/groups/workflow.d.ts +0 -623
- package/dist/catalog/groups/workflow.js +0 -98
- package/dist/catalog/recipes.d.ts +0 -3488
- package/dist/catalog/recipes.js +0 -14
- package/dist/examples/support/index.d.ts +0 -1
- package/dist/examples/support/index.js +0 -37
- package/dist/examples/support/schema.d.ts +0 -566
- package/dist/examples/support/schema.js +0 -76
- package/dist/examples/support/workflow.d.ts +0 -3
- package/dist/examples/support/workflow.js +0 -85
- package/dist/recipes/action-scope/metadata.d.ts +0 -8
- package/dist/recipes/action-scope/metadata.js +0 -10
- package/dist/recipes/answer-consistency/metadata.d.ts +0 -8
- package/dist/recipes/answer-consistency/metadata.js +0 -10
- package/dist/recipes/answer-coverage/metadata.d.ts +0 -8
- package/dist/recipes/answer-coverage/metadata.js +0 -11
- package/dist/recipes/answer-invalidation/metadata.d.ts +0 -8
- package/dist/recipes/answer-invalidation/metadata.js +0 -10
- package/dist/recipes/answer-relevance/metadata.d.ts +0 -8
- package/dist/recipes/answer-relevance/metadata.js +0 -10
- package/dist/recipes/answerability/metadata.d.ts +0 -8
- package/dist/recipes/answerability/metadata.js +0 -11
- package/dist/recipes/argument-fit/metadata.d.ts +0 -8
- package/dist/recipes/argument-fit/metadata.js +0 -10
- package/dist/recipes/attempted-step/metadata.d.ts +0 -8
- package/dist/recipes/attempted-step/metadata.js +0 -10
- package/dist/recipes/audience-fit/metadata.d.ts +0 -8
- package/dist/recipes/audience-fit/metadata.js +0 -10
- package/dist/recipes/cache-match/metadata.d.ts +0 -8
- package/dist/recipes/cache-match/metadata.js +0 -10
- package/dist/recipes/cancellation-check/metadata.d.ts +0 -8
- package/dist/recipes/cancellation-check/metadata.js +0 -10
- package/dist/recipes/certainty-match/metadata.d.ts +0 -8
- package/dist/recipes/certainty-match/metadata.js +0 -10
- package/dist/recipes/change-meaning/metadata.d.ts +0 -8
- package/dist/recipes/change-meaning/metadata.js +0 -10
- package/dist/recipes/citation-match/metadata.d.ts +0 -9
- package/dist/recipes/citation-match/metadata.js +0 -12
- package/dist/recipes/citation-needed/metadata.d.ts +0 -8
- package/dist/recipes/citation-needed/metadata.js +0 -10
- package/dist/recipes/clarify/metadata.d.ts +0 -8
- package/dist/recipes/clarify/metadata.js +0 -11
- package/dist/recipes/confirmation-match/metadata.d.ts +0 -8
- package/dist/recipes/confirmation-match/metadata.js +0 -10
- package/dist/recipes/context-role/metadata.d.ts +0 -8
- package/dist/recipes/context-role/metadata.js +0 -10
- package/dist/recipes/correction-target/metadata.d.ts +0 -8
- package/dist/recipes/correction-target/metadata.js +0 -11
- package/dist/recipes/document-role/metadata.d.ts +0 -8
- package/dist/recipes/document-role/metadata.js +0 -10
- package/dist/recipes/draft-compare/metadata.d.ts +0 -8
- package/dist/recipes/draft-compare/metadata.js +0 -10
- package/dist/recipes/evidence-conflict/metadata.d.ts +0 -8
- package/dist/recipes/evidence-conflict/metadata.js +0 -10
- package/dist/recipes/evidence-novelty/metadata.d.ts +0 -8
- package/dist/recipes/evidence-novelty/metadata.js +0 -11
- package/dist/recipes/fact-stability/metadata.d.ts +0 -8
- package/dist/recipes/fact-stability/metadata.js +0 -10
- package/dist/recipes/failure-kind/metadata.d.ts +0 -8
- package/dist/recipes/failure-kind/metadata.js +0 -11
- package/dist/recipes/feedback-kind/metadata.d.ts +0 -8
- package/dist/recipes/feedback-kind/metadata.js +0 -10
- package/dist/recipes/field-select/metadata.d.ts +0 -8
- package/dist/recipes/field-select/metadata.js +0 -11
- package/dist/recipes/followup-link/metadata.d.ts +0 -8
- package/dist/recipes/followup-link/metadata.js +0 -11
- package/dist/recipes/freshness-needed/metadata.d.ts +0 -8
- package/dist/recipes/freshness-needed/metadata.js +0 -10
- package/dist/recipes/frustration-signal/metadata.d.ts +0 -8
- package/dist/recipes/frustration-signal/metadata.js +0 -10
- package/dist/recipes/handoff/metadata.d.ts +0 -8
- package/dist/recipes/handoff/metadata.js +0 -11
- package/dist/recipes/incident-match/metadata.d.ts +0 -8
- package/dist/recipes/incident-match/metadata.js +0 -11
- package/dist/recipes/instruction-fit/metadata.d.ts +0 -8
- package/dist/recipes/instruction-fit/metadata.js +0 -10
- package/dist/recipes/intent-change/metadata.d.ts +0 -8
- package/dist/recipes/intent-change/metadata.js +0 -10
- package/dist/recipes/issue-impact/metadata.d.ts +0 -8
- package/dist/recipes/issue-impact/metadata.js +0 -10
- package/dist/recipes/memory-relation/metadata.d.ts +0 -8
- package/dist/recipes/memory-relation/metadata.js +0 -10
- package/dist/recipes/memory-scope/metadata.d.ts +0 -8
- package/dist/recipes/memory-scope/metadata.js +0 -10
- package/dist/recipes/memory-value/metadata.d.ts +0 -8
- package/dist/recipes/memory-value/metadata.js +0 -10
- package/dist/recipes/passage-duplicate/metadata.d.ts +0 -8
- package/dist/recipes/passage-duplicate/metadata.js +0 -10
- package/dist/recipes/preference-kind/metadata.d.ts +0 -8
- package/dist/recipes/preference-kind/metadata.js +0 -10
- package/dist/recipes/promise-check/metadata.d.ts +0 -8
- package/dist/recipes/promise-check/metadata.js +0 -10
- package/dist/recipes/query-equivalence/metadata.d.ts +0 -8
- package/dist/recipes/query-equivalence/metadata.js +0 -10
- package/dist/recipes/query-specificity/metadata.d.ts +0 -8
- package/dist/recipes/query-specificity/metadata.js +0 -10
- package/dist/recipes/reference-resolve/metadata.d.ts +0 -8
- package/dist/recipes/reference-resolve/metadata.js +0 -11
- package/dist/recipes/repeated-attempt/metadata.d.ts +0 -8
- package/dist/recipes/repeated-attempt/metadata.js +0 -10
- package/dist/recipes/reply-template-match/metadata.d.ts +0 -8
- package/dist/recipes/reply-template-match/metadata.js +0 -11
- package/dist/recipes/rerank/metadata.d.ts +0 -8
- package/dist/recipes/rerank/metadata.js +0 -11
- package/dist/recipes/resolution-check/metadata.d.ts +0 -8
- package/dist/recipes/resolution-check/metadata.js +0 -10
- package/dist/recipes/response-needed/metadata.d.ts +0 -8
- package/dist/recipes/response-needed/metadata.js +0 -10
- package/dist/recipes/result-outcome/metadata.d.ts +0 -8
- package/dist/recipes/result-outcome/metadata.js +0 -10
- package/dist/recipes/result-usefulness/metadata.d.ts +0 -8
- package/dist/recipes/result-usefulness/metadata.js +0 -10
- package/dist/recipes/retrieval-needed/metadata.d.ts +0 -8
- package/dist/recipes/retrieval-needed/metadata.js +0 -10
- package/dist/recipes/route/metadata.d.ts +0 -8
- package/dist/recipes/route/metadata.js +0 -11
- package/dist/recipes/source-applicability/metadata.d.ts +0 -8
- package/dist/recipes/source-applicability/metadata.js +0 -10
- package/dist/recipes/step-complete/metadata.d.ts +0 -8
- package/dist/recipes/step-complete/metadata.js +0 -10
- package/dist/recipes/step-progress/metadata.d.ts +0 -8
- package/dist/recipes/step-progress/metadata.js +0 -10
- package/dist/recipes/summary-coverage/metadata.d.ts +0 -8
- package/dist/recipes/summary-coverage/metadata.js +0 -11
- package/dist/recipes/ticket-match/metadata.d.ts +0 -8
- package/dist/recipes/ticket-match/metadata.js +0 -10
- package/dist/recipes/tone-check/metadata.d.ts +0 -8
- package/dist/recipes/tone-check/metadata.js +0 -11
- package/dist/recipes/tool-fit/metadata.d.ts +0 -8
- package/dist/recipes/tool-fit/metadata.js +0 -10
- package/dist/recipes/topic-shift/metadata.d.ts +0 -8
- package/dist/recipes/topic-shift/metadata.js +0 -10
- package/dist/recipes/troubleshooting-fit/metadata.d.ts +0 -8
- package/dist/recipes/troubleshooting-fit/metadata.js +0 -10
- package/dist/recipes/turn-intent/metadata.d.ts +0 -8
- package/dist/recipes/turn-intent/metadata.js +0 -10
- package/dist/recipes/urgency-signal/metadata.d.ts +0 -8
- package/dist/recipes/urgency-signal/metadata.js +0 -10
- package/dist/recipes/verify/metadata.d.ts +0 -8
- package/dist/recipes/verify/metadata.js +0 -11
- package/dist/recipes/workaround-fit/metadata.d.ts +0 -8
- package/dist/recipes/workaround-fit/metadata.js +0 -10
- package/examples/support/README.md +0 -60
- package/examples/support/demo.json +0 -156
- package/recipes/README.md +0 -128
- package/recipes/action-scope/README.md +0 -49
- package/recipes/answer-consistency/README.md +0 -50
- package/recipes/answer-coverage/README.md +0 -60
- package/recipes/answer-invalidation/README.md +0 -50
- package/recipes/answer-relevance/README.md +0 -49
- package/recipes/answerability/README.md +0 -54
- package/recipes/argument-fit/README.md +0 -51
- package/recipes/attempted-step/README.md +0 -48
- package/recipes/audience-fit/README.md +0 -50
- package/recipes/cache-match/README.md +0 -51
- package/recipes/cancellation-check/README.md +0 -50
- package/recipes/certainty-match/README.md +0 -49
- package/recipes/change-meaning/README.md +0 -49
- package/recipes/citation-match/README.md +0 -51
- package/recipes/citation-needed/README.md +0 -49
- package/recipes/clarify/README.md +0 -61
- package/recipes/confirmation-match/README.md +0 -49
- package/recipes/context-role/README.md +0 -49
- package/recipes/correction-target/README.md +0 -52
- package/recipes/document-role/README.md +0 -51
- package/recipes/draft-compare/README.md +0 -54
- package/recipes/evidence-conflict/README.md +0 -51
- package/recipes/evidence-novelty/README.md +0 -56
- package/recipes/fact-stability/README.md +0 -47
- package/recipes/failure-kind/README.md +0 -52
- package/recipes/feedback-kind/README.md +0 -51
- package/recipes/field-select/README.md +0 -53
- package/recipes/followup-link/README.md +0 -52
- package/recipes/freshness-needed/README.md +0 -46
- package/recipes/frustration-signal/README.md +0 -47
- package/recipes/handoff/README.md +0 -56
- package/recipes/incident-match/README.md +0 -52
- package/recipes/instruction-fit/README.md +0 -49
- package/recipes/intent-change/README.md +0 -50
- package/recipes/issue-impact/README.md +0 -48
- package/recipes/memory-relation/README.md +0 -52
- package/recipes/memory-scope/README.md +0 -50
- package/recipes/memory-value/README.md +0 -50
- package/recipes/passage-duplicate/README.md +0 -49
- package/recipes/preference-kind/README.md +0 -48
- package/recipes/promise-check/README.md +0 -48
- package/recipes/query-equivalence/README.md +0 -50
- package/recipes/query-specificity/README.md +0 -47
- package/recipes/reference-resolve/README.md +0 -54
- package/recipes/repeated-attempt/README.md +0 -50
- package/recipes/reply-template-match/README.md +0 -52
- package/recipes/rerank/README.md +0 -55
- package/recipes/resolution-check/README.md +0 -49
- package/recipes/response-needed/README.md +0 -48
- package/recipes/result-outcome/README.md +0 -49
- package/recipes/result-usefulness/README.md +0 -49
- package/recipes/retrieval-needed/README.md +0 -48
- package/recipes/route/README.md +0 -47
- package/recipes/source-applicability/README.md +0 -48
- package/recipes/step-complete/README.md +0 -48
- package/recipes/step-progress/README.md +0 -51
- package/recipes/summary-coverage/README.md +0 -60
- package/recipes/ticket-match/README.md +0 -50
- package/recipes/tone-check/README.md +0 -55
- package/recipes/tool-fit/README.md +0 -49
- package/recipes/topic-shift/README.md +0 -50
- package/recipes/troubleshooting-fit/README.md +0 -49
- package/recipes/turn-intent/README.md +0 -52
- package/recipes/urgency-signal/README.md +0 -47
- package/recipes/verify/README.md +0 -54
- package/recipes/workaround-fit/README.md +0 -50
- /package/{recipes → dist/recipes}/action-scope/demo.json +0 -0
- /package/{recipes → dist/recipes}/answer-consistency/demo.json +0 -0
- /package/{recipes → dist/recipes}/answer-coverage/demo.json +0 -0
- /package/{recipes → dist/recipes}/answer-invalidation/demo.json +0 -0
- /package/{recipes → dist/recipes}/answer-relevance/demo.json +0 -0
- /package/{recipes → dist/recipes}/answerability/demo.json +0 -0
- /package/{recipes → dist/recipes}/argument-fit/demo.json +0 -0
- /package/{recipes → dist/recipes}/attempted-step/demo.json +0 -0
- /package/{recipes → dist/recipes}/audience-fit/demo.json +0 -0
- /package/{recipes → dist/recipes}/cache-match/demo.json +0 -0
- /package/{recipes → dist/recipes}/cancellation-check/demo.json +0 -0
- /package/{recipes → dist/recipes}/certainty-match/demo.json +0 -0
- /package/{recipes → dist/recipes}/change-meaning/demo.json +0 -0
- /package/{recipes → dist/recipes}/citation-match/demo.json +0 -0
- /package/{recipes → dist/recipes}/citation-needed/demo.json +0 -0
- /package/{recipes → dist/recipes}/clarify/demo.json +0 -0
- /package/{recipes → dist/recipes}/confirmation-match/demo.json +0 -0
- /package/{recipes → dist/recipes}/context-role/demo.json +0 -0
- /package/{recipes → dist/recipes}/correction-target/demo.json +0 -0
- /package/{recipes → dist/recipes}/document-role/demo.json +0 -0
- /package/{recipes → dist/recipes}/draft-compare/demo.json +0 -0
- /package/{recipes → dist/recipes}/evidence-conflict/demo.json +0 -0
- /package/{recipes → dist/recipes}/evidence-novelty/demo.json +0 -0
- /package/{recipes → dist/recipes}/fact-stability/demo.json +0 -0
- /package/{recipes → dist/recipes}/failure-kind/demo.json +0 -0
- /package/{recipes → dist/recipes}/feedback-kind/demo.json +0 -0
- /package/{recipes → dist/recipes}/field-select/demo.json +0 -0
- /package/{recipes → dist/recipes}/followup-link/demo.json +0 -0
- /package/{recipes → dist/recipes}/freshness-needed/demo.json +0 -0
- /package/{recipes → dist/recipes}/frustration-signal/demo.json +0 -0
- /package/{recipes → dist/recipes}/handoff/demo.json +0 -0
- /package/{recipes → dist/recipes}/incident-match/demo.json +0 -0
- /package/{recipes → dist/recipes}/instruction-fit/demo.json +0 -0
- /package/{recipes → dist/recipes}/intent-change/demo.json +0 -0
- /package/{recipes → dist/recipes}/issue-impact/demo.json +0 -0
- /package/{recipes → dist/recipes}/memory-relation/demo.json +0 -0
- /package/{recipes → dist/recipes}/memory-scope/demo.json +0 -0
- /package/{recipes → dist/recipes}/memory-value/demo.json +0 -0
- /package/{recipes → dist/recipes}/passage-duplicate/demo.json +0 -0
- /package/{recipes → dist/recipes}/preference-kind/demo.json +0 -0
- /package/{recipes → dist/recipes}/promise-check/demo.json +0 -0
- /package/{recipes → dist/recipes}/query-equivalence/demo.json +0 -0
- /package/{recipes → dist/recipes}/query-specificity/demo.json +0 -0
- /package/{recipes → dist/recipes}/reference-resolve/demo.json +0 -0
- /package/{recipes → dist/recipes}/repeated-attempt/demo.json +0 -0
- /package/{recipes → dist/recipes}/reply-template-match/demo.json +0 -0
- /package/{recipes → dist/recipes}/rerank/demo.json +0 -0
- /package/{recipes → dist/recipes}/resolution-check/demo.json +0 -0
- /package/{recipes → dist/recipes}/response-needed/demo.json +0 -0
- /package/{recipes → dist/recipes}/result-outcome/demo.json +0 -0
- /package/{recipes → dist/recipes}/result-usefulness/demo.json +0 -0
- /package/{recipes → dist/recipes}/retrieval-needed/demo.json +0 -0
- /package/{recipes → dist/recipes}/route/demo.json +0 -0
- /package/{recipes → dist/recipes}/source-applicability/demo.json +0 -0
- /package/{recipes → dist/recipes}/step-complete/demo.json +0 -0
- /package/{recipes → dist/recipes}/step-progress/demo.json +0 -0
- /package/{recipes → dist/recipes}/summary-coverage/demo.json +0 -0
- /package/{recipes → dist/recipes}/ticket-match/demo.json +0 -0
- /package/{recipes → dist/recipes}/tone-check/demo.json +0 -0
- /package/{recipes → dist/recipes}/tool-fit/demo.json +0 -0
- /package/{recipes → dist/recipes}/topic-shift/demo.json +0 -0
- /package/{recipes → dist/recipes}/troubleshooting-fit/demo.json +0 -0
- /package/{recipes → dist/recipes}/turn-intent/demo.json +0 -0
- /package/{recipes → dist/recipes}/urgency-signal/demo.json +0 -0
- /package/{recipes → dist/recipes}/verify/demo.json +0 -0
- /package/{recipes → dist/recipes}/workaround-fit/demo.json +0 -0
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export const metadata = {
|
|
2
|
-
id: 'step-complete',
|
|
3
|
-
title: 'Check one completion condition',
|
|
4
|
-
description: 'Does evidence establish that condition has been met?',
|
|
5
|
-
category: 'workflow',
|
|
6
|
-
tags: ['workflow', 'step', 'complete'],
|
|
7
|
-
limitations: [
|
|
8
|
-
'Assesses supplied evidence for one condition. Use exact system state checks when the condition can be determined in code.',
|
|
9
|
-
],
|
|
10
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export const metadata = {
|
|
2
|
-
id: 'step-progress',
|
|
3
|
-
title: 'Check step progress',
|
|
4
|
-
description: 'How does observation change progress toward objective relative to previousState?',
|
|
5
|
-
category: 'workflow',
|
|
6
|
-
tags: ['workflow', 'step', 'progress'],
|
|
7
|
-
limitations: [
|
|
8
|
-
'Compares one observation with a supplied prior state. It does not measure elapsed time or schedule the next step.',
|
|
9
|
-
],
|
|
10
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export const metadata = {
|
|
2
|
-
id: 'summary-coverage',
|
|
3
|
-
title: 'Check summary coverage',
|
|
4
|
-
description: 'Check whether a summary preserves each supplied point.',
|
|
5
|
-
category: 'answer-quality',
|
|
6
|
-
tags: ['answer-quality', 'summary', 'coverage', 'rag', 'evidence'],
|
|
7
|
-
limitations: [
|
|
8
|
-
'Checks the points you supply. It does not select important points from a transcript or detect unrelated invented statements.',
|
|
9
|
-
'Supply 1 to 50 items per list, each with a unique non-empty ID and non-empty text.',
|
|
10
|
-
],
|
|
11
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export const metadata = {
|
|
2
|
-
id: 'ticket-match',
|
|
3
|
-
title: 'Compare support tickets',
|
|
4
|
-
description: 'Do firstTicket and secondTicket describe the same underlying reported issue?',
|
|
5
|
-
category: 'support',
|
|
6
|
-
tags: ['support', 'ticket', 'match'],
|
|
7
|
-
limitations: [
|
|
8
|
-
'Does not merge tickets or establish a shared root cause from similar symptoms alone. Compare exact identifiers in code.',
|
|
9
|
-
],
|
|
10
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export const metadata = {
|
|
2
|
-
id: 'tone-check',
|
|
3
|
-
title: 'Check writing criteria',
|
|
4
|
-
description: 'Check a draft against each supplied writing criterion.',
|
|
5
|
-
category: 'answer-quality',
|
|
6
|
-
tags: ['answer-quality', 'tone', 'check', 'rag', 'evidence'],
|
|
7
|
-
limitations: [
|
|
8
|
-
'Checks supplied writing criteria. It does not rewrite text, determine factual accuracy, or check exact character counts.',
|
|
9
|
-
'Supply 1 to 50 items per list, each with a unique non-empty ID and non-empty text.',
|
|
10
|
-
],
|
|
11
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export const metadata = {
|
|
2
|
-
id: 'tool-fit',
|
|
3
|
-
title: 'Check a tool fit',
|
|
4
|
-
description: 'Can the capabilities explicitly described in tool perform task?',
|
|
5
|
-
category: 'workflow',
|
|
6
|
-
tags: ['workflow', 'tool', 'fit'],
|
|
7
|
-
limitations: [
|
|
8
|
-
'Assesses a supplied capability description. It does not discover tools, validate credentials, or grant permission.',
|
|
9
|
-
],
|
|
10
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export const metadata = {
|
|
2
|
-
id: 'topic-shift',
|
|
3
|
-
title: 'Detect a topic shift',
|
|
4
|
-
description: 'Does message stay with currentTopic, introduce a different topic, or contain both?',
|
|
5
|
-
category: 'conversation',
|
|
6
|
-
tags: ['conversation', 'topic', 'shift'],
|
|
7
|
-
limitations: [
|
|
8
|
-
'Compares one message with a supplied topic. It does not generate topic labels or split conversation threads.',
|
|
9
|
-
],
|
|
10
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export const metadata = {
|
|
2
|
-
id: 'troubleshooting-fit',
|
|
3
|
-
title: 'Check troubleshooting applicability',
|
|
4
|
-
description: 'Does procedure address symptoms under the described circumstances?',
|
|
5
|
-
category: 'support',
|
|
6
|
-
tags: ['support', 'troubleshooting', 'fit'],
|
|
7
|
-
limitations: [
|
|
8
|
-
'Assesses a supplied procedure; it does not diagnose a root cause, generate steps, or execute them.',
|
|
9
|
-
],
|
|
10
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export const metadata = {
|
|
2
|
-
id: 'turn-intent',
|
|
3
|
-
title: 'Identify a conversation turn',
|
|
4
|
-
description: 'What is the primary communicative purpose of message in context?',
|
|
5
|
-
category: 'conversation',
|
|
6
|
-
tags: ['conversation', 'turn', 'intent'],
|
|
7
|
-
limitations: [
|
|
8
|
-
'Returns the primary purpose only. It does not split a message into separate requests or execute instructions.',
|
|
9
|
-
],
|
|
10
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export const metadata = {
|
|
2
|
-
id: 'urgency-signal',
|
|
3
|
-
title: 'Detect an explicit urgency request',
|
|
4
|
-
description: 'Does message explicitly request urgent attention?',
|
|
5
|
-
category: 'support',
|
|
6
|
-
tags: ['support', 'urgency', 'signal'],
|
|
7
|
-
limitations: [
|
|
8
|
-
'Detects an expressed urgency request. Compute deadline proximity and apply incident or service priority rules in code.',
|
|
9
|
-
],
|
|
10
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export const metadata = {
|
|
2
|
-
id: 'verify',
|
|
3
|
-
title: 'Verify claims',
|
|
4
|
-
description: 'Check each supplied claim against its paired evidence.',
|
|
5
|
-
category: 'retrieval',
|
|
6
|
-
tags: ['rag', 'grounding', 'claims'],
|
|
7
|
-
limitations: [
|
|
8
|
-
'Checks only supplied claims; does not establish source truth or completeness.',
|
|
9
|
-
'Provide 1 to 100 claims with unique IDs.',
|
|
10
|
-
],
|
|
11
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export const metadata = {
|
|
2
|
-
id: 'workaround-fit',
|
|
3
|
-
title: 'Check workaround fit',
|
|
4
|
-
description: 'Can workaround address issue without violating constraints?',
|
|
5
|
-
category: 'support',
|
|
6
|
-
tags: ['support', 'workaround', 'fit'],
|
|
7
|
-
limitations: [
|
|
8
|
-
'Assesses described compatibility. It does not establish operational safety, execute a workaround, or grant access.',
|
|
9
|
-
],
|
|
10
|
-
};
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# Support assistant
|
|
2
|
-
|
|
3
|
-
A support workflow built from the recipe catalog. The workflow lives here so each recipe remains independently usable.
|
|
4
|
-
|
|
5
|
-
From the repository, after `npm run build`:
|
|
6
|
-
|
|
7
|
-
```sh
|
|
8
|
-
npm run example:support
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
The default run uses hand-authored Jev responses and a saved draft from [demo.json](demo.json). It requires no API key and makes no model calls.
|
|
12
|
-
|
|
13
|
-
To use live Jev decisions with the same saved draft:
|
|
14
|
-
|
|
15
|
-
```sh
|
|
16
|
-
npm run example:support -- --live
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
This loads `TYPESAFE_API_KEY` from `.env`, sends synthetic fixture inputs to TypeSafe, and makes up to six Jev requests with retries disabled. There is no generative model call. The output identifies the mode, outcome, and decisions made before stopping.
|
|
20
|
-
|
|
21
|
-
After installing a packed or released package, you can run the compiled example directly:
|
|
22
|
-
|
|
23
|
-
```sh
|
|
24
|
-
node node_modules/jev-recipes/dist/examples/support/index.js
|
|
25
|
-
node --env-file=.env node_modules/jev-recipes/dist/examples/support/index.js --live
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Follow the flow
|
|
29
|
-
|
|
30
|
-
Read [workflow.ts](https://github.com/agencyenterprise/jev-recipes/blob/main/examples/support/workflow.ts) from top to bottom:
|
|
31
|
-
|
|
32
|
-
1. `handoff` checks escalation rules first. A human request or uncertainty stops here.
|
|
33
|
-
2. `clarify` checks the information needed to proceed.
|
|
34
|
-
3. `route` selects the support handler. Its name is passed to the draft callback.
|
|
35
|
-
4. `rerank` selects useful passages from evidence the application already retrieved.
|
|
36
|
-
5. `answerability` checks whether those passages answer the question.
|
|
37
|
-
6. Your `draftAnswer` callback creates claims with references to selected evidence IDs.
|
|
38
|
-
7. `verify` checks each claim against the referenced original passages.
|
|
39
|
-
8. The final answer joins only those checked claims after all are supported.
|
|
40
|
-
|
|
41
|
-
The workflow rejects references to evidence that was not selected. The callback supplies IDs, never replacement evidence text. The final response contains no unchecked prose outside the supplied claims. Claim verification still does not establish source truth or guarantee that the answer covers every part of the question.
|
|
42
|
-
|
|
43
|
-
## Adapt it
|
|
44
|
-
|
|
45
|
-
Copy `workflow.ts` and `schema.ts` into your application. Replace their repository-relative imports with `jev-recipes` or individual recipe exports. The example schemas also use lower-level recipe schemas; either define your application's shapes locally or derive them from each exported input schema's `.shape`.
|
|
46
|
-
|
|
47
|
-
Supply your own routes, requirements, handoff rules, and retrieved evidence. Replace the runner's saved-draft callback with your existing generation code, returning `{ claims: [{ id, claim, evidenceIds }] }`. The callback receives the original request, optional conversation context, selected route, and selected passages. You choose the model and framework.
|
|
48
|
-
|
|
49
|
-
A caller can import the source workflow within this repository:
|
|
50
|
-
|
|
51
|
-
```ts
|
|
52
|
-
import { answerSupportRequest } from './workflow.js';
|
|
53
|
-
|
|
54
|
-
const result = await answerSupportRequest(input, draftAnswer, { client });
|
|
55
|
-
if (result.outcome === 'answered') console.log(result.answer);
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
The possible outcomes are `answered`, `human`, `review`, `clarification`, `no_evidence`, `cannot_answer`, and `unverified`. Stopped results identify the `stage`. Results include completed `decisions` for inspection. Only `answered` includes an answer; errors in inputs, draft references, model responses, or transport throw.
|
|
59
|
-
|
|
60
|
-
This example does not retrieve documents, send responses, open tickets, or make account changes. Your application handles those actions and follows its own review policy. The example is not an accuracy benchmark.
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"input": {
|
|
3
|
-
"request": "How do I reset my password?",
|
|
4
|
-
"routes": {
|
|
5
|
-
"account": "Sign-in, passwords, and account access",
|
|
6
|
-
"billing": "Invoices, payments, and subscriptions"
|
|
7
|
-
},
|
|
8
|
-
"requirements": [
|
|
9
|
-
{
|
|
10
|
-
"id": "intent",
|
|
11
|
-
"description": "The customer identifies what they need help with."
|
|
12
|
-
}
|
|
13
|
-
],
|
|
14
|
-
"handoffRules": [
|
|
15
|
-
{
|
|
16
|
-
"id": "requested-human",
|
|
17
|
-
"description": "The customer explicitly asks to speak with a human support representative."
|
|
18
|
-
}
|
|
19
|
-
],
|
|
20
|
-
"evidence": [
|
|
21
|
-
{
|
|
22
|
-
"id": "password-reset",
|
|
23
|
-
"text": "Select Forgot password on the sign-in page to receive a password reset link."
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"id": "invoices",
|
|
27
|
-
"text": "Download invoices from the Billing page."
|
|
28
|
-
}
|
|
29
|
-
],
|
|
30
|
-
"topK": 1
|
|
31
|
-
},
|
|
32
|
-
"draft": {
|
|
33
|
-
"claims": [
|
|
34
|
-
{
|
|
35
|
-
"id": "reset-instructions",
|
|
36
|
-
"claim": "Select Forgot password on the sign-in page to receive a password reset link.",
|
|
37
|
-
"evidenceIds": ["password-reset"]
|
|
38
|
-
}
|
|
39
|
-
]
|
|
40
|
-
},
|
|
41
|
-
"responses": {
|
|
42
|
-
"rule_0": {
|
|
43
|
-
"model": "demo-fixture",
|
|
44
|
-
"usage": {
|
|
45
|
-
"input_tokens": 0,
|
|
46
|
-
"output_tokens": 0
|
|
47
|
-
},
|
|
48
|
-
"answers": {
|
|
49
|
-
"rule_0": {
|
|
50
|
-
"type": "choice",
|
|
51
|
-
"choice": "does_not_match",
|
|
52
|
-
"confidence": 0.96,
|
|
53
|
-
"probabilities": {
|
|
54
|
-
"matches": 0.015,
|
|
55
|
-
"does_not_match": 0.97,
|
|
56
|
-
"unclear": 0.015
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
"requirement_0": {
|
|
62
|
-
"model": "demo-fixture",
|
|
63
|
-
"usage": {
|
|
64
|
-
"input_tokens": 0,
|
|
65
|
-
"output_tokens": 0
|
|
66
|
-
},
|
|
67
|
-
"answers": {
|
|
68
|
-
"requirement_0": {
|
|
69
|
-
"type": "choice",
|
|
70
|
-
"choice": "present",
|
|
71
|
-
"confidence": 0.96,
|
|
72
|
-
"probabilities": {
|
|
73
|
-
"present": 0.97,
|
|
74
|
-
"missing": 0.015,
|
|
75
|
-
"ambiguous": 0.015
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
"route": {
|
|
81
|
-
"model": "demo-fixture",
|
|
82
|
-
"usage": {
|
|
83
|
-
"input_tokens": 0,
|
|
84
|
-
"output_tokens": 0
|
|
85
|
-
},
|
|
86
|
-
"answers": {
|
|
87
|
-
"route": {
|
|
88
|
-
"type": "choice",
|
|
89
|
-
"choice": "account",
|
|
90
|
-
"confidence": 0.96,
|
|
91
|
-
"probabilities": {
|
|
92
|
-
"account": 0.97,
|
|
93
|
-
"billing": 0.015,
|
|
94
|
-
"__review__": 0.015
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
},
|
|
99
|
-
"item_0,item_1": {
|
|
100
|
-
"model": "demo-fixture",
|
|
101
|
-
"usage": {
|
|
102
|
-
"input_tokens": 0,
|
|
103
|
-
"output_tokens": 0
|
|
104
|
-
},
|
|
105
|
-
"answers": {
|
|
106
|
-
"item_0": {
|
|
107
|
-
"type": "noul",
|
|
108
|
-
"noul": 0.97
|
|
109
|
-
},
|
|
110
|
-
"item_1": {
|
|
111
|
-
"type": "noul",
|
|
112
|
-
"noul": 0.04
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
},
|
|
116
|
-
"answerability": {
|
|
117
|
-
"model": "demo-fixture",
|
|
118
|
-
"usage": {
|
|
119
|
-
"input_tokens": 0,
|
|
120
|
-
"output_tokens": 0
|
|
121
|
-
},
|
|
122
|
-
"answers": {
|
|
123
|
-
"answerability": {
|
|
124
|
-
"type": "choice",
|
|
125
|
-
"choice": "sufficient",
|
|
126
|
-
"confidence": 0.96,
|
|
127
|
-
"probabilities": {
|
|
128
|
-
"sufficient": 0.97,
|
|
129
|
-
"partial": 0.01,
|
|
130
|
-
"insufficient": 0.01,
|
|
131
|
-
"conflicting": 0.01
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
},
|
|
136
|
-
"claim_0": {
|
|
137
|
-
"model": "demo-fixture",
|
|
138
|
-
"usage": {
|
|
139
|
-
"input_tokens": 0,
|
|
140
|
-
"output_tokens": 0
|
|
141
|
-
},
|
|
142
|
-
"answers": {
|
|
143
|
-
"claim_0": {
|
|
144
|
-
"type": "choice",
|
|
145
|
-
"choice": "supported",
|
|
146
|
-
"confidence": 0.96,
|
|
147
|
-
"probabilities": {
|
|
148
|
-
"supported": 0.97,
|
|
149
|
-
"contradicted": 0.015,
|
|
150
|
-
"unsupported": 0.015
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
package/recipes/README.md
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
# Recipe catalog
|
|
2
|
-
|
|
3
|
-
66 small decisions for AI applications. Every recipe has its own input and result schemas, example, and usage guide. The package exports camelCase functions from kebab-case paths: `answerCoverage` from `jev-recipes/answer-coverage`, for example.
|
|
4
|
-
|
|
5
|
-
After `npm install jev-recipes`, browse the groups below or use `npx jev-recipes list <query>` and `npx jev-recipes describe <recipe>` from your app’s directory. Discovery needs no API key. Each recipe guide describes its inputs, results, limits, and review policy.
|
|
6
|
-
|
|
7
|
-
## Answer quality
|
|
8
|
-
|
|
9
|
-
| Recipe | Function | Decision |
|
|
10
|
-
| ---------------------------------------------------- | ------------------- | ------------------------------------------------------------------------------------------------------ |
|
|
11
|
-
| [`answer-coverage`](answer-coverage/README.md) | `answerCoverage` | Check whether a draft answers each supplied question. |
|
|
12
|
-
| [`answer-relevance`](answer-relevance/README.md) | `answerRelevance` | How directly does draft address request? |
|
|
13
|
-
| [`citation-match`](citation-match/README.md) | `citationMatch` | Find supplied passages that independently support an entire claim. |
|
|
14
|
-
| [`citation-needed`](citation-needed/README.md) | `citationNeeded` | Do citationRules require evidence for statement? |
|
|
15
|
-
| [`answer-consistency`](answer-consistency/README.md) | `answerConsistency` | Do firstStatement and secondStatement make compatible claims about the same subject and circumstances? |
|
|
16
|
-
| [`summary-coverage`](summary-coverage/README.md) | `summaryCoverage` | Check whether a summary preserves each supplied point. |
|
|
17
|
-
| [`certainty-match`](certainty-match/README.md) | `certaintyMatch` | Does the certainty expressed in draft match assessment? |
|
|
18
|
-
| [`promise-check`](promise-check/README.md) | `promiseCheck` | Does reply promise actions or outcomes beyond allowedCommitments? |
|
|
19
|
-
| [`tone-check`](tone-check/README.md) | `toneCheck` | Check a draft against each supplied writing criterion. |
|
|
20
|
-
| [`draft-compare`](draft-compare/README.md) | `draftCompare` | Which draft better satisfies request under rubric? |
|
|
21
|
-
|
|
22
|
-
## Retrieval and evidence
|
|
23
|
-
|
|
24
|
-
| Recipe | Function | Decision |
|
|
25
|
-
| -------------------------------------------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
26
|
-
| [`rerank`](rerank/README.md) | `rerank` | Select and order relevant passages. |
|
|
27
|
-
| [`verify`](verify/README.md) | `verify` | Check claims against supplied evidence. |
|
|
28
|
-
| [`answerability`](answerability/README.md) | `answerability` | Check whether evidence can answer the question. |
|
|
29
|
-
| [`retrieval-needed`](retrieval-needed/README.md) | `retrievalNeeded` | Does request require facts beyond context? |
|
|
30
|
-
| [`freshness-needed`](freshness-needed/README.md) | `freshnessNeeded` | Does question require a current or time-specific state that can change, or stable conceptual knowledge? |
|
|
31
|
-
| [`source-applicability`](source-applicability/README.md) | `sourceApplicability` | Does the scope described in passage apply to scenario? |
|
|
32
|
-
| [`evidence-conflict`](evidence-conflict/README.md) | `evidenceConflict` | Do firstPassage and secondPassage give incompatible evidence relevant to question under the same conditions? |
|
|
33
|
-
| [`passage-duplicate`](passage-duplicate/README.md) | `passageDuplicate` | How much material information do firstPassage and secondPassage share? |
|
|
34
|
-
| [`evidence-novelty`](evidence-novelty/README.md) | `evidenceNovelty` | Does passage add material information relevant to question beyond existingEvidence? |
|
|
35
|
-
| [`cache-match`](cache-match/README.md) | `cacheMatch` | Does cachedAnswer address question with the same relevant meaning and conditions as originalQuestion? |
|
|
36
|
-
| [`query-equivalence`](query-equivalence/README.md) | `queryEquivalence` | Do firstQuestion and secondQuestion request the same information under the same stated conditions? |
|
|
37
|
-
| [`context-role`](context-role/README.md) | `contextRole` | What role does passage play in answering question? |
|
|
38
|
-
| [`query-specificity`](query-specificity/README.md) | `querySpecificity` | Does question, interpreted with context, identify a focused information need? |
|
|
39
|
-
|
|
40
|
-
## Conversation
|
|
41
|
-
|
|
42
|
-
| Recipe | Function | Decision |
|
|
43
|
-
| ---------------------------------------------------- | ------------------- | ---------------------------------------------------------------------------------- |
|
|
44
|
-
| [`clarify`](clarify/README.md) | `clarify` | Find missing or ambiguous requirements. |
|
|
45
|
-
| [`turn-intent`](turn-intent/README.md) | `turnIntent` | What is the primary communicative purpose of message in context? |
|
|
46
|
-
| [`followup-link`](followup-link/README.md) | `followupLink` | Which supplied earlier request does message follow up on? |
|
|
47
|
-
| [`reference-resolve`](reference-resolve/README.md) | `referenceResolve` | Which supplied candidate does reference refer to in message and context? |
|
|
48
|
-
| [`intent-change`](intent-change/README.md) | `intentChange` | How does message change currentGoal? |
|
|
49
|
-
| [`correction-target`](correction-target/README.md) | `correctionTarget` | Which supplied field or statement is message correcting? |
|
|
50
|
-
| [`confirmation-match`](confirmation-match/README.md) | `confirmationMatch` | Does response clearly agree to or reject this exact proposal? |
|
|
51
|
-
| [`cancellation-check`](cancellation-check/README.md) | `cancellationCheck` | Does message ask to cancel, pause, or continue task? |
|
|
52
|
-
| [`topic-shift`](topic-shift/README.md) | `topicShift` | Does message stay with currentTopic, introduce a different topic, or contain both? |
|
|
53
|
-
| [`response-needed`](response-needed/README.md) | `responseNeeded` | Does message require a substantive reply in context? |
|
|
54
|
-
| [`resolution-check`](resolution-check/README.md) | `resolutionCheck` | Does message establish that the customer reports issue as resolved? |
|
|
55
|
-
|
|
56
|
-
## Tools and tasks
|
|
57
|
-
|
|
58
|
-
| Recipe | Function | Decision |
|
|
59
|
-
| -------------------------------------------------- | ------------------ | ---------------------------------------------------------------------------------------- |
|
|
60
|
-
| [`route`](route/README.md) | `route` | Choose a handler for a request. |
|
|
61
|
-
| [`handoff`](handoff/README.md) | `handoff` | Check your rules for involving a human. |
|
|
62
|
-
| [`tool-fit`](tool-fit/README.md) | `toolFit` | Can the capabilities explicitly described in tool perform task? |
|
|
63
|
-
| [`argument-fit`](argument-fit/README.md) | `argumentFit` | Does proposedValue for argument express the intended value in request and context? |
|
|
64
|
-
| [`result-usefulness`](result-usefulness/README.md) | `resultUsefulness` | Does result provide information useful for task? |
|
|
65
|
-
| [`result-outcome`](result-outcome/README.md) | `resultOutcome` | What outcome does result report for task? |
|
|
66
|
-
| [`action-scope`](action-scope/README.md) | `actionScope` | Is proposedAction within the work requested in request and constraints? |
|
|
67
|
-
| [`step-progress`](step-progress/README.md) | `stepProgress` | How does observation change progress toward objective relative to previousState? |
|
|
68
|
-
| [`repeated-attempt`](repeated-attempt/README.md) | `repeatedAttempt` | Does proposedAttempt use essentially the same approach as previousAttempt for objective? |
|
|
69
|
-
| [`step-complete`](step-complete/README.md) | `stepComplete` | Does evidence establish that condition has been met? |
|
|
70
|
-
| [`failure-kind`](failure-kind/README.md) | `failureKind` | Which supplied category best describes the observed failure? |
|
|
71
|
-
| [`instruction-fit`](instruction-fit/README.md) | `instructionFit` | Does the explicit scope of instruction cover task and context? |
|
|
72
|
-
|
|
73
|
-
## Customer support
|
|
74
|
-
|
|
75
|
-
| Recipe | Function | Decision |
|
|
76
|
-
| -------------------------------------------------------- | -------------------- | ---------------------------------------------------------------------------- |
|
|
77
|
-
| [`issue-impact`](issue-impact/README.md) | `issueImpact` | What practical impact does message explicitly describe? |
|
|
78
|
-
| [`attempted-step`](attempted-step/README.md) | `attemptedStep` | Does conversation establish whether the customer already performed step? |
|
|
79
|
-
| [`workaround-fit`](workaround-fit/README.md) | `workaroundFit` | Can workaround address issue without violating constraints? |
|
|
80
|
-
| [`ticket-match`](ticket-match/README.md) | `ticketMatch` | Do firstTicket and secondTicket describe the same underlying reported issue? |
|
|
81
|
-
| [`incident-match`](incident-match/README.md) | `incidentMatch` | Which supplied incident is supported as a match for ticket? |
|
|
82
|
-
| [`troubleshooting-fit`](troubleshooting-fit/README.md) | `troubleshootingFit` | Does procedure address symptoms under the described circumstances? |
|
|
83
|
-
| [`frustration-signal`](frustration-signal/README.md) | `frustrationSignal` | Does message express frustration or dissatisfaction in its wording? |
|
|
84
|
-
| [`urgency-signal`](urgency-signal/README.md) | `urgencySignal` | Does message explicitly request urgent attention? |
|
|
85
|
-
| [`feedback-kind`](feedback-kind/README.md) | `feedbackKind` | What is the primary kind of feedback in message? |
|
|
86
|
-
| [`reply-template-match`](reply-template-match/README.md) | `replyTemplateMatch` | Which supplied approved template applies to request and context? |
|
|
87
|
-
|
|
88
|
-
## Memory
|
|
89
|
-
|
|
90
|
-
| Recipe | Function | Decision |
|
|
91
|
-
| ---------------------------------------------- | ---------------- | ------------------------------------------------------------------------------------------ |
|
|
92
|
-
| [`memory-value`](memory-value/README.md) | `memoryValue` | How useful is fact for future work under purpose? |
|
|
93
|
-
| [`memory-scope`](memory-scope/README.md) | `memoryScope` | What is the narrowest explicitly supported scope of fact in context? |
|
|
94
|
-
| [`memory-relation`](memory-relation/README.md) | `memoryRelation` | How does newFact relate to existingMemory? |
|
|
95
|
-
| [`preference-kind`](preference-kind/README.md) | `preferenceKind` | Does statement express an ongoing preference, a factual assertion, or a temporary request? |
|
|
96
|
-
| [`fact-stability`](fact-stability/README.md) | `factStability` | Is fact about an enduring or historical attribute, or a state that is expected to change? |
|
|
97
|
-
|
|
98
|
-
## Knowledge maintenance
|
|
99
|
-
|
|
100
|
-
| Recipe | Function | Decision |
|
|
101
|
-
| ------------------------------------------------------ | -------------------- | ------------------------------------------------------------------------------------------------------- |
|
|
102
|
-
| [`document-role`](document-role/README.md) | `documentRole` | What is the primary purpose of document? |
|
|
103
|
-
| [`audience-fit`](audience-fit/README.md) | `audienceFit` | Does the level of explanation in document fit the knowledge and needs explicitly described in audience? |
|
|
104
|
-
| [`change-meaning`](change-meaning/README.md) | `changeMeaning` | Does the revision from before to after change material meaning, conditions, or obligations? |
|
|
105
|
-
| [`answer-invalidation`](answer-invalidation/README.md) | `answerInvalidation` | Does updatedEvidence still support the entire claim that was based on previousEvidence? |
|
|
106
|
-
| [`field-select`](field-select/README.md) | `fieldSelect` | Which supplied candidate is the value of field in document? |
|
|
107
|
-
|
|
108
|
-
## Shared options and behavior
|
|
109
|
-
|
|
110
|
-
- Pass `{ client, model, signal }` as an optional second argument to any recipe. The default client reads `TYPESAFE_API_KEY` from the process environment.
|
|
111
|
-
- Recipes that accept `minConfidence` default it to `0.8`. Rerank uses `minRelevance`, defaulting to `0.5`. Each guide explains which outcomes require review and how individual checks affect the overall decision.
|
|
112
|
-
- `ready` describes confidence in the assessment. Inspect the verdict too: a ready result can describe a conflict, missing information, or an unsuitable candidate.
|
|
113
|
-
- Candidate selectors return `selection` only for a ready match. `suggestedSelection` preserves a low-confidence suggestion. Candidate probabilities use your supplied IDs; no candidate match and ambiguity are separate outcomes.
|
|
114
|
-
- Item checks preserve each item's ID, verdict, confidence, and status. The coverage and tone recipes also provide `allAnswered`, `allPreserved`, or `allPassed` as appropriate.
|
|
115
|
-
- Model and token usage accompany every result. Inputs and model responses are validated with Zod 4. Invalid input, malformed answers, and provider failures throw.
|
|
116
|
-
- Shared `{ id, text }` lists accept 1 to 50 items with unique non-empty IDs. Route accepts up to 254 routes; rerank and verify accept up to 100 items. Each guide documents its input limits. Provider context limits may require smaller inputs; content is not silently truncated.
|
|
117
|
-
|
|
118
|
-
## Reuse and side effects
|
|
119
|
-
|
|
120
|
-
Recipes share small helpers for choices, candidate selection, and item checks. Rerank uses independent yes/no relevance scores. Each recipe owns its question and decision rules. `citation-match` composes the public `verify` function; its guide and catalog `uses` field name that dependency.
|
|
121
|
-
|
|
122
|
-
Each current recipe makes one logical Jev request per live invocation. Batch checks place their questions in that request. SDK retries can add transport attempts. The recipes return decisions without executing application actions. The separate support example makes up to six logical requests and can stop early.
|
|
123
|
-
|
|
124
|
-
## Examples and limits
|
|
125
|
-
|
|
126
|
-
Every `demo.json` includes input and a hand-authored response. These examples illustrate behavior; they are not model accuracy results. Use `example <recipe>` to obtain editable input and `demo <recipe>` to inspect an offline illustration when desired.
|
|
127
|
-
|
|
128
|
-
Application code owns exact arithmetic, dates, identifiers, access controls, consent, and storage. Recipe guides describe the limits of each semantic decision. Larger applications combine the recipes in caller code; see [Cool projects](../README.md#cool-projects).
|