jev-recipes 0.6.1 → 0.8.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/README.md +61 -11
- package/dist/catalog/generated/details/callback-responsibility.json +45 -0
- package/dist/catalog/generated/details/completion-gate.json +110 -0
- package/dist/catalog/generated/details/contact-opt-out.json +45 -0
- package/dist/catalog/generated/details/context-prune.json +59 -0
- package/dist/catalog/generated/details/diff-hazards.json +112 -0
- package/dist/catalog/generated/details/followup-timing.json +45 -0
- package/dist/catalog/generated/details/game-action.json +8 -109
- package/dist/catalog/generated/details/model-route.json +82 -0
- package/dist/catalog/generated/details/route-many.json +68 -0
- package/dist/catalog/generated/details/tool-call-gate.json +123 -0
- package/dist/catalog/generated/details/wake-gate.json +40 -0
- package/dist/catalog/generated/loaders.js +10 -0
- package/dist/catalog/generated/metadata.js +295 -14
- package/dist/catalog/generated/names.d.ts +1 -1
- package/dist/catalog/generated/names.js +10 -0
- package/dist/catalog/schema.d.ts +10 -0
- package/dist/cli/evaluation.d.ts +1 -0
- package/dist/cli/evaluation.js +82 -0
- package/dist/cli/index.js +13 -0
- package/dist/cli/schema.d.ts +30 -0
- package/dist/evaluation/archive.d.ts +501 -0
- package/dist/evaluation/archive.js +276 -0
- package/dist/evaluation/dataset.d.ts +12 -0
- package/dist/evaluation/dataset.js +162 -0
- package/dist/evaluation/decisions.d.ts +10 -0
- package/dist/evaluation/decisions.js +87 -0
- package/dist/evaluation/engine.d.ts +50 -0
- package/dist/evaluation/engine.js +130 -0
- package/dist/evaluation/index.d.ts +5 -0
- package/dist/evaluation/index.js +3 -0
- package/dist/evaluation/report.d.ts +186 -0
- package/dist/evaluation/report.js +177 -0
- package/dist/evaluation/schema.d.ts +82 -0
- package/dist/evaluation/schema.js +50 -0
- package/dist/recipes/callback-responsibility/demo.json +25 -0
- package/dist/recipes/callback-responsibility/index.d.ts +5 -0
- package/dist/recipes/callback-responsibility/index.js +17 -0
- package/dist/recipes/callback-responsibility/schema.d.ts +42 -0
- package/dist/recipes/callback-responsibility/schema.js +20 -0
- package/dist/recipes/cancellation-check/schema.d.ts +6 -6
- package/dist/recipes/checkers-move/schema.d.ts +1 -1
- package/dist/recipes/choose-action/schema.d.ts +1 -1
- package/dist/recipes/clarify/index.js +2 -2
- package/dist/recipes/completion-gate/demo.json +29 -0
- package/dist/recipes/completion-gate/index.d.ts +5 -0
- package/dist/recipes/completion-gate/index.js +53 -0
- package/dist/recipes/completion-gate/schema.d.ts +103 -0
- package/dist/recipes/completion-gate/schema.js +33 -0
- package/dist/recipes/contact-opt-out/demo.json +24 -0
- package/dist/recipes/contact-opt-out/index.d.ts +5 -0
- package/dist/recipes/contact-opt-out/index.js +17 -0
- package/dist/recipes/contact-opt-out/schema.d.ts +42 -0
- package/dist/recipes/contact-opt-out/schema.js +20 -0
- package/dist/recipes/context-prune/demo.json +40 -0
- package/dist/recipes/context-prune/index.d.ts +5 -0
- package/dist/recipes/context-prune/index.js +42 -0
- package/dist/recipes/context-prune/schema.d.ts +58 -0
- package/dist/recipes/context-prune/schema.js +23 -0
- package/dist/recipes/correction-target/schema.d.ts +1 -1
- package/dist/recipes/diff-hazards/demo.json +18 -0
- package/dist/recipes/diff-hazards/index.d.ts +5 -0
- package/dist/recipes/diff-hazards/index.js +48 -0
- package/dist/recipes/diff-hazards/schema.d.ts +96 -0
- package/dist/recipes/diff-hazards/schema.js +24 -0
- package/dist/recipes/exercise-select/schema.d.ts +1 -1
- package/dist/recipes/extraction-fidelity/schema.d.ts +2 -2
- package/dist/recipes/failure-kind/schema.d.ts +1 -1
- package/dist/recipes/field-select/schema.d.ts +1 -1
- package/dist/recipes/finger-actions/schema.d.ts +1 -1
- package/dist/recipes/followup-link/schema.d.ts +1 -1
- package/dist/recipes/followup-timing/demo.json +25 -0
- package/dist/recipes/followup-timing/index.d.ts +5 -0
- package/dist/recipes/followup-timing/index.js +18 -0
- package/dist/recipes/followup-timing/schema.d.ts +45 -0
- package/dist/recipes/followup-timing/schema.js +21 -0
- package/dist/recipes/game-action/schema.d.ts +6 -6
- package/dist/recipes/game-action/schema.js +11 -6
- package/dist/recipes/handoff/schema.d.ts +4 -4
- package/dist/recipes/incident-match/schema.d.ts +1 -1
- package/dist/recipes/model-route/demo.json +45 -0
- package/dist/recipes/model-route/index.d.ts +5 -0
- package/dist/recipes/model-route/index.js +35 -0
- package/dist/recipes/model-route/schema.d.ts +51 -0
- package/dist/recipes/model-route/schema.js +16 -0
- package/dist/recipes/mood-match/schema.d.ts +2 -2
- package/dist/recipes/next-chord/schema.d.ts +1 -1
- package/dist/recipes/next-duration/schema.d.ts +1 -1
- package/dist/recipes/next-note/schema.d.ts +1 -1
- package/dist/recipes/objection-kind/schema.d.ts +3 -3
- package/dist/recipes/performance-feedback-facets/demo.json +1 -1
- package/dist/recipes/performance-feedback-facets/index.js +2 -2
- package/dist/recipes/product-match/schema.d.ts +2 -2
- package/dist/recipes/reference-resolve/schema.d.ts +1 -1
- package/dist/recipes/reply-template-match/schema.d.ts +1 -1
- package/dist/recipes/route/schema.d.ts +2 -2
- package/dist/recipes/route/schema.js +3 -3
- package/dist/recipes/route-many/demo.json +53 -0
- package/dist/recipes/route-many/index.d.ts +5 -0
- package/dist/recipes/route-many/index.js +48 -0
- package/dist/recipes/route-many/schema.d.ts +49 -0
- package/dist/recipes/route-many/schema.js +30 -0
- package/dist/recipes/sound-match/schema.d.ts +2 -2
- package/dist/recipes/step-complete/demo.json +1 -1
- package/dist/recipes/step-complete/index.js +2 -2
- package/dist/recipes/style-kind/schema.d.ts +3 -3
- package/dist/recipes/symptom-facets/demo.json +1 -1
- package/dist/recipes/symptom-facets/index.js +3 -3
- package/dist/recipes/tool-call-gate/demo.json +26 -0
- package/dist/recipes/tool-call-gate/index.d.ts +5 -0
- package/dist/recipes/tool-call-gate/index.js +67 -0
- package/dist/recipes/tool-call-gate/schema.d.ts +134 -0
- package/dist/recipes/tool-call-gate/schema.js +34 -0
- package/dist/recipes/trip-purpose-kind/schema.d.ts +3 -3
- package/dist/recipes/verify/index.js +4 -3
- package/dist/recipes/wake-gate/demo.json +20 -0
- package/dist/recipes/wake-gate/index.d.ts +5 -0
- package/dist/recipes/wake-gate/index.js +16 -0
- package/dist/recipes/wake-gate/schema.d.ts +40 -0
- package/dist/recipes/wake-gate/schema.js +15 -0
- package/dist/src/answers.d.ts +1 -1
- package/dist/src/answers.js +15 -5
- package/dist/src/batch.d.ts +12 -0
- package/dist/src/batch.js +23 -0
- package/dist/src/data.d.ts +6 -0
- package/dist/src/data.js +41 -0
- package/dist/src/decisions.d.ts +1 -1
- package/dist/src/fanout.d.ts +20 -0
- package/dist/src/fanout.js +39 -0
- package/dist/src/index.d.ts +20 -0
- package/dist/src/index.js +10 -0
- package/dist/src/schema.d.ts +4 -4
- package/dist/src/schema.js +4 -3
- package/dist/src/selection.d.ts +18 -0
- package/dist/src/selection.js +41 -11
- package/package.json +56 -4
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
<!-- BEGIN GENERATED: summary -->
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
246 focused recipes for JavaScript and TypeScript. Route messages, check evidence, and label model responses with a function call.
|
|
15
15
|
|
|
16
16
|
<!-- END GENERATED: summary -->
|
|
17
17
|
|
|
@@ -19,6 +19,10 @@ Each recipe accepts your data, calls [Jev through TypeSafe's API](https://docs.t
|
|
|
19
19
|
|
|
20
20
|
For example, give `route` a support message and descriptions of your teams. It returns a team such as `billing`, or a review outcome when the choice is uncertain.
|
|
21
21
|
|
|
22
|
+
Evaluate your own cases with the [installed evaluator](https://github.com/agencyenterprise/jev-recipes/blob/main/docs/evaluation.md), retain model responses, and replay confidence policies offline. The [agent workflow](https://github.com/agencyenterprise/jev-recipes/blob/main/examples/agent-loop/README.md) and [customer queue](https://github.com/agencyenterprise/jev-recipes/blob/main/examples/customer-queue/README.md) show how decisions fit into application code. [Direct and Gateway integrations](https://github.com/agencyenterprise/jev-recipes/blob/main/docs/integrations.md) use the same recipe interface.
|
|
23
|
+
|
|
24
|
+
Build the searchable static catalog with `npm run site:build`, then preview it with `npm run site:preview`. It includes fixture exploration, related-recipe comparisons, and saved evaluation evidence. Current measurements and missing or older evidence are labeled explicitly.
|
|
25
|
+
|
|
22
26
|
## Watch Jev play checkers against Jev using the checkers-move recipe
|
|
23
27
|
|
|
24
28
|
[](https://www.youtube.com/shorts/Z282rGKysTg)
|
|
@@ -117,16 +121,20 @@ The TypeSafe SDK handles API calls and typed answers. Recipes add the instructio
|
|
|
117
121
|
|
|
118
122
|
## Find your recipe
|
|
119
123
|
|
|
120
|
-
| Your task | Start with
|
|
121
|
-
| ------------------------------------------------------ |
|
|
122
|
-
| Send a request to the right team | [`route`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/route/README.md)
|
|
123
|
-
| Find useful passages | [`rerank`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/rerank/README.md)
|
|
124
|
-
| Check whether the evidence is enough to answer | [`answerability`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/answerability/README.md)
|
|
125
|
-
| Check claims against supplied evidence | [`verify`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/verify/README.md)
|
|
126
|
-
| Find missing or ambiguous requirements | [`clarify`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/clarify/README.md)
|
|
127
|
-
| Label a response's stance toward a claim | [`claim-stance`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/claim-stance/README.md)
|
|
128
|
-
| Choose a move from available game actions | [`choose-action`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/choose-action/README.md)
|
|
129
|
-
| Choose a checkers move from your board and legal moves | [`checkers-move`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/checkers-move/README.md)
|
|
124
|
+
| Your task | Start with |
|
|
125
|
+
| ------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------- |
|
|
126
|
+
| Send a request to the right team | [`route`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/route/README.md) |
|
|
127
|
+
| Find useful passages | [`rerank`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/rerank/README.md) |
|
|
128
|
+
| Check whether the evidence is enough to answer | [`answerability`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/answerability/README.md) |
|
|
129
|
+
| Check claims against supplied evidence | [`verify`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/verify/README.md) |
|
|
130
|
+
| Find missing or ambiguous requirements | [`clarify`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/clarify/README.md) |
|
|
131
|
+
| Label a response's stance toward a claim | [`claim-stance`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/claim-stance/README.md) |
|
|
132
|
+
| Choose a move from available game actions | [`choose-action`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/choose-action/README.md) |
|
|
133
|
+
| Choose a checkers move from your board and legal moves | [`checkers-move`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/checkers-move/README.md) |
|
|
134
|
+
| Allow, ask, or deny an agent's tool call | [`tool-call-gate`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/tool-call-gate/README.md) |
|
|
135
|
+
| Check an agent's "done" against evidence | [`completion-gate`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/completion-gate/README.md) |
|
|
136
|
+
| Pick a model tier and effort per request | [`model-route`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/model-route/README.md) |
|
|
137
|
+
| Route a backlog of messages in a few calls | [`route-many`](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/route-many/README.md) |
|
|
130
138
|
|
|
131
139
|
Search, inspect inputs, and try saved results without a key:
|
|
132
140
|
|
|
@@ -140,6 +148,8 @@ npx jev-recipes demo answerability
|
|
|
140
148
|
|
|
141
149
|
For games, use [game-action](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/game-action/README.md) with your existing JSON state and actions. It returns the original selected action, preserving your game IDs. [checkers-move](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/checkers-move/README.md) accepts a structured checkers board and legal moves; the [checkers example](https://github.com/agencyenterprise/jev-recipes/blob/main/examples/checkers/README.md) shows how to run its visual demo locally.
|
|
142
150
|
|
|
151
|
+
For agent harnesses, browse [Agent harness](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/README.md#agent-harness) for the decisions inside an agent loop: `tool-call-gate` before a tool runs, `model-route` per turn, `context-prune` before compaction, `wake-gate` for paused agents, `diff-hazards` before a commit, and `completion-gate` before accepting a result. Search with `npx jev-recipes list harness`.
|
|
152
|
+
|
|
143
153
|
For psychology, browse [Psychology & behavior](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/README.md#psychology--behavior) for gain/loss framing, causal explanations, stated motivation, and related wording annotations. Search with `npx jev-recipes list psychology`.
|
|
144
154
|
|
|
145
155
|
For music, browse [Music & sound](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/README.md#music--sound) for generation-loop decisions such as `next-note` and `phrase-complete`, listener steering such as `listener-request-kind`, and instrument or music-software tooling. Pass musical state as text or JSON. Search with `npx jev-recipes list music`.
|
|
@@ -179,6 +189,46 @@ Batch recipes expose their own summaries, such as `verify.allSupported` and its
|
|
|
179
189
|
|
|
180
190
|
Pass `{ client, model, signal }` as the optional second argument to configure a call. [Shared behavior and limits](https://github.com/agencyenterprise/jev-recipes/blob/main/recipes/README.md#shared-options-and-behavior) covers configuration, input limits, and uncertainty.
|
|
181
191
|
|
|
192
|
+
## Batch many inputs
|
|
193
|
+
|
|
194
|
+
A Jev request evaluates every question in parallel, so several inputs that share the same decision can travel together. `route-many` routes up to 500 requests in batches of 20 by default, making one call per batch instead of one per request:
|
|
195
|
+
|
|
196
|
+
```js
|
|
197
|
+
import { routeMany } from 'jev-recipes/route-many';
|
|
198
|
+
|
|
199
|
+
const result = await routeMany({
|
|
200
|
+
requests: tickets.map((ticket) => ({ id: ticket.id, text: ticket.body })),
|
|
201
|
+
routes: { billing: 'Payments and refunds', technical: 'Errors and outages' },
|
|
202
|
+
batchSize: 20,
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
for (const item of result.items) {
|
|
206
|
+
if (item.status === 'ready') assign(item.id, item.route);
|
|
207
|
+
else queueForReview(item.id, item.suggestedRoute);
|
|
208
|
+
}
|
|
209
|
+
console.log(`${result.requestsMade} calls for ${result.requestCount} tickets`);
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
Accuracy can drop as batches grow. Measure on your own labeled data and tune `batchSize`; the [eval harness](https://github.com/agencyenterprise/jev-recipes/blob/main/CONTRIBUTING.md#model-evaluation) reports calibration per threshold.
|
|
213
|
+
|
|
214
|
+
## Use a local or alternative decision model
|
|
215
|
+
|
|
216
|
+
Recipes talk to any server that implements the TypeSafe `systemOne` wire format. Point the SDK client at it with `baseURL`, or set `TYPESAFE_BASE_URL` in the environment, and pass the client to any recipe:
|
|
217
|
+
|
|
218
|
+
```js
|
|
219
|
+
import { createClient } from 'jev-recipes';
|
|
220
|
+
import { route } from 'jev-recipes/route';
|
|
221
|
+
|
|
222
|
+
const client = createClient({
|
|
223
|
+
baseURL: 'http://localhost:11434', // a self-hosted, TypeSafe-compatible server
|
|
224
|
+
apiKey: 'local',
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
const result = await route({ request, routes }, { client, model: 'my-local-model' });
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
The `model` option selects a model name on that server. Recipes validate every response against the same schemas, so a server that returns malformed probabilities fails loudly rather than silently. The tooling tests exercise this path against a local HTTP server.
|
|
231
|
+
|
|
182
232
|
## Verification and scope
|
|
183
233
|
|
|
184
234
|
The [CI workflow](https://github.com/agencyenterprise/jev-recipes/actions/workflows/ci.yml) runs on Node.js 22 and 24. `make ci` checks types, formatting, generated-file consistency, recipe test coverage, tooling, and the installable package.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"inputSchema": {
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"conversation": { "type": "string" },
|
|
7
|
+
"roles": { "type": "string" },
|
|
8
|
+
"minConfidence": { "type": "number", "minimum": 0, "maximum": 1 }
|
|
9
|
+
},
|
|
10
|
+
"required": ["conversation", "roles"]
|
|
11
|
+
},
|
|
12
|
+
"resultSchema": {
|
|
13
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
14
|
+
"type": "object",
|
|
15
|
+
"properties": {
|
|
16
|
+
"model": { "type": "string" },
|
|
17
|
+
"usage": {
|
|
18
|
+
"type": "object",
|
|
19
|
+
"properties": {
|
|
20
|
+
"input_tokens": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
|
|
21
|
+
"output_tokens": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }
|
|
22
|
+
},
|
|
23
|
+
"required": ["input_tokens", "output_tokens"],
|
|
24
|
+
"additionalProperties": false
|
|
25
|
+
},
|
|
26
|
+
"status": { "type": "string", "enum": ["ready", "review"] },
|
|
27
|
+
"verdict": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"enum": ["business", "customer", "either", "none", "unclear"]
|
|
30
|
+
},
|
|
31
|
+
"confidence": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
32
|
+
"probabilities": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"propertyNames": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"enum": ["business", "customer", "either", "none", "unclear"]
|
|
37
|
+
},
|
|
38
|
+
"additionalProperties": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
39
|
+
"required": ["business", "customer", "either", "none", "unclear"]
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"required": ["model", "usage", "status", "verdict", "confidence", "probabilities"],
|
|
43
|
+
"additionalProperties": false
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
{
|
|
2
|
+
"inputSchema": {
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"task": { "type": "string" },
|
|
7
|
+
"report": { "type": "string" },
|
|
8
|
+
"evidence": { "type": "string" },
|
|
9
|
+
"minConfidence": { "type": "number", "minimum": 0, "maximum": 1 }
|
|
10
|
+
},
|
|
11
|
+
"required": ["task", "report"]
|
|
12
|
+
},
|
|
13
|
+
"resultSchema": {
|
|
14
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
15
|
+
"type": "object",
|
|
16
|
+
"properties": {
|
|
17
|
+
"model": { "type": "string" },
|
|
18
|
+
"usage": {
|
|
19
|
+
"type": "object",
|
|
20
|
+
"properties": {
|
|
21
|
+
"input_tokens": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
|
|
22
|
+
"output_tokens": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }
|
|
23
|
+
},
|
|
24
|
+
"required": ["input_tokens", "output_tokens"],
|
|
25
|
+
"additionalProperties": false
|
|
26
|
+
},
|
|
27
|
+
"status": { "type": "string", "enum": ["ready", "review"] },
|
|
28
|
+
"verdict": { "type": "string", "enum": ["complete", "incomplete", "unverified", "unclear"] },
|
|
29
|
+
"confidence": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
30
|
+
"probabilities": {
|
|
31
|
+
"type": "object",
|
|
32
|
+
"propertyNames": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"enum": ["complete", "incomplete", "unverified", "unclear"]
|
|
35
|
+
},
|
|
36
|
+
"additionalProperties": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
37
|
+
"required": ["complete", "incomplete", "unverified", "unclear"]
|
|
38
|
+
},
|
|
39
|
+
"signals": {
|
|
40
|
+
"type": "object",
|
|
41
|
+
"properties": {
|
|
42
|
+
"claimsWithoutEvidence": {
|
|
43
|
+
"type": "object",
|
|
44
|
+
"properties": {
|
|
45
|
+
"status": { "type": "string", "enum": ["ready", "review"] },
|
|
46
|
+
"verdict": { "type": "string", "enum": ["present", "absent"] },
|
|
47
|
+
"probability": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
48
|
+
"confidence": { "type": "number", "minimum": 0, "maximum": 1 }
|
|
49
|
+
},
|
|
50
|
+
"required": ["status", "verdict", "probability", "confidence"],
|
|
51
|
+
"additionalProperties": false
|
|
52
|
+
},
|
|
53
|
+
"scopeNarrowed": {
|
|
54
|
+
"type": "object",
|
|
55
|
+
"properties": {
|
|
56
|
+
"status": { "type": "string", "enum": ["ready", "review"] },
|
|
57
|
+
"verdict": { "type": "string", "enum": ["present", "absent"] },
|
|
58
|
+
"probability": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
59
|
+
"confidence": { "type": "number", "minimum": 0, "maximum": 1 }
|
|
60
|
+
},
|
|
61
|
+
"required": ["status", "verdict", "probability", "confidence"],
|
|
62
|
+
"additionalProperties": false
|
|
63
|
+
},
|
|
64
|
+
"openQuestions": {
|
|
65
|
+
"type": "object",
|
|
66
|
+
"properties": {
|
|
67
|
+
"status": { "type": "string", "enum": ["ready", "review"] },
|
|
68
|
+
"verdict": { "type": "string", "enum": ["present", "absent"] },
|
|
69
|
+
"probability": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
70
|
+
"confidence": { "type": "number", "minimum": 0, "maximum": 1 }
|
|
71
|
+
},
|
|
72
|
+
"required": ["status", "verdict", "probability", "confidence"],
|
|
73
|
+
"additionalProperties": false
|
|
74
|
+
},
|
|
75
|
+
"unresolvedErrors": {
|
|
76
|
+
"type": "object",
|
|
77
|
+
"properties": {
|
|
78
|
+
"status": { "type": "string", "enum": ["ready", "review"] },
|
|
79
|
+
"verdict": { "type": "string", "enum": ["present", "absent"] },
|
|
80
|
+
"probability": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
81
|
+
"confidence": { "type": "number", "minimum": 0, "maximum": 1 }
|
|
82
|
+
},
|
|
83
|
+
"required": ["status", "verdict", "probability", "confidence"],
|
|
84
|
+
"additionalProperties": false
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"required": ["claimsWithoutEvidence", "scopeNarrowed", "openQuestions", "unresolvedErrors"],
|
|
88
|
+
"additionalProperties": false
|
|
89
|
+
},
|
|
90
|
+
"detected": {
|
|
91
|
+
"type": "array",
|
|
92
|
+
"items": {
|
|
93
|
+
"type": "string",
|
|
94
|
+
"enum": ["claimsWithoutEvidence", "scopeNarrowed", "openQuestions", "unresolvedErrors"]
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"required": [
|
|
99
|
+
"model",
|
|
100
|
+
"usage",
|
|
101
|
+
"status",
|
|
102
|
+
"verdict",
|
|
103
|
+
"confidence",
|
|
104
|
+
"probabilities",
|
|
105
|
+
"signals",
|
|
106
|
+
"detected"
|
|
107
|
+
],
|
|
108
|
+
"additionalProperties": false
|
|
109
|
+
}
|
|
110
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"inputSchema": {
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"message": { "type": "string" },
|
|
7
|
+
"context": { "type": "string" },
|
|
8
|
+
"minConfidence": { "type": "number", "minimum": 0, "maximum": 1 }
|
|
9
|
+
},
|
|
10
|
+
"required": ["message"]
|
|
11
|
+
},
|
|
12
|
+
"resultSchema": {
|
|
13
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
14
|
+
"type": "object",
|
|
15
|
+
"properties": {
|
|
16
|
+
"model": { "type": "string" },
|
|
17
|
+
"usage": {
|
|
18
|
+
"type": "object",
|
|
19
|
+
"properties": {
|
|
20
|
+
"input_tokens": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
|
|
21
|
+
"output_tokens": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }
|
|
22
|
+
},
|
|
23
|
+
"required": ["input_tokens", "output_tokens"],
|
|
24
|
+
"additionalProperties": false
|
|
25
|
+
},
|
|
26
|
+
"status": { "type": "string", "enum": ["ready", "review"] },
|
|
27
|
+
"verdict": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"enum": ["all_contact", "channel", "campaign", "none", "unclear"]
|
|
30
|
+
},
|
|
31
|
+
"confidence": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
32
|
+
"probabilities": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"propertyNames": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"enum": ["all_contact", "channel", "campaign", "none", "unclear"]
|
|
37
|
+
},
|
|
38
|
+
"additionalProperties": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
39
|
+
"required": ["all_contact", "channel", "campaign", "none", "unclear"]
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"required": ["model", "usage", "status", "verdict", "confidence", "probabilities"],
|
|
43
|
+
"additionalProperties": false
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"inputSchema": {
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"objective": { "type": "string" },
|
|
7
|
+
"items": {
|
|
8
|
+
"minItems": 1,
|
|
9
|
+
"maxItems": 50,
|
|
10
|
+
"type": "array",
|
|
11
|
+
"items": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": { "id": { "type": "string" }, "text": { "type": "string" } },
|
|
14
|
+
"required": ["id", "text"]
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"recent": { "type": "string" },
|
|
18
|
+
"minConfidence": { "type": "number", "minimum": 0, "maximum": 1 }
|
|
19
|
+
},
|
|
20
|
+
"required": ["objective", "items"]
|
|
21
|
+
},
|
|
22
|
+
"resultSchema": {
|
|
23
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
24
|
+
"type": "object",
|
|
25
|
+
"properties": {
|
|
26
|
+
"model": { "type": "string" },
|
|
27
|
+
"usage": {
|
|
28
|
+
"type": "object",
|
|
29
|
+
"properties": {
|
|
30
|
+
"input_tokens": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
|
|
31
|
+
"output_tokens": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }
|
|
32
|
+
},
|
|
33
|
+
"required": ["input_tokens", "output_tokens"],
|
|
34
|
+
"additionalProperties": false
|
|
35
|
+
},
|
|
36
|
+
"status": { "type": "string", "enum": ["ready", "review"] },
|
|
37
|
+
"items": {
|
|
38
|
+
"type": "array",
|
|
39
|
+
"items": {
|
|
40
|
+
"type": "object",
|
|
41
|
+
"properties": {
|
|
42
|
+
"id": { "type": "string" },
|
|
43
|
+
"status": { "type": "string", "enum": ["ready", "review"] },
|
|
44
|
+
"verdict": { "type": "string", "enum": ["keep", "drop"] },
|
|
45
|
+
"probability": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
46
|
+
"confidence": { "type": "number", "minimum": 0, "maximum": 1 }
|
|
47
|
+
},
|
|
48
|
+
"required": ["id", "status", "verdict", "probability", "confidence"],
|
|
49
|
+
"additionalProperties": false
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"keep": { "type": "array", "items": { "type": "string" } },
|
|
53
|
+
"drop": { "type": "array", "items": { "type": "string" } },
|
|
54
|
+
"evaluated": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }
|
|
55
|
+
},
|
|
56
|
+
"required": ["model", "usage", "status", "items", "keep", "drop", "evaluated"],
|
|
57
|
+
"additionalProperties": false
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
{
|
|
2
|
+
"inputSchema": {
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"diff": { "type": "string" },
|
|
7
|
+
"context": { "type": "string" },
|
|
8
|
+
"minConfidence": { "type": "number", "minimum": 0, "maximum": 1 }
|
|
9
|
+
},
|
|
10
|
+
"required": ["diff"]
|
|
11
|
+
},
|
|
12
|
+
"resultSchema": {
|
|
13
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
14
|
+
"type": "object",
|
|
15
|
+
"properties": {
|
|
16
|
+
"model": { "type": "string" },
|
|
17
|
+
"usage": {
|
|
18
|
+
"type": "object",
|
|
19
|
+
"properties": {
|
|
20
|
+
"input_tokens": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
|
|
21
|
+
"output_tokens": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }
|
|
22
|
+
},
|
|
23
|
+
"required": ["input_tokens", "output_tokens"],
|
|
24
|
+
"additionalProperties": false
|
|
25
|
+
},
|
|
26
|
+
"status": { "type": "string", "enum": ["ready", "review"] },
|
|
27
|
+
"detected": {
|
|
28
|
+
"type": "array",
|
|
29
|
+
"items": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"enum": [
|
|
32
|
+
"secretLeak",
|
|
33
|
+
"destructiveCommand",
|
|
34
|
+
"debugLeftover",
|
|
35
|
+
"testsWeakened",
|
|
36
|
+
"dependencyChange"
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"labels": {
|
|
41
|
+
"type": "object",
|
|
42
|
+
"properties": {
|
|
43
|
+
"secretLeak": {
|
|
44
|
+
"type": "object",
|
|
45
|
+
"properties": {
|
|
46
|
+
"status": { "type": "string", "enum": ["ready", "review"] },
|
|
47
|
+
"verdict": { "type": "string", "enum": ["present", "absent"] },
|
|
48
|
+
"probability": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
49
|
+
"confidence": { "type": "number", "minimum": 0, "maximum": 1 }
|
|
50
|
+
},
|
|
51
|
+
"required": ["status", "verdict", "probability", "confidence"],
|
|
52
|
+
"additionalProperties": false
|
|
53
|
+
},
|
|
54
|
+
"destructiveCommand": {
|
|
55
|
+
"type": "object",
|
|
56
|
+
"properties": {
|
|
57
|
+
"status": { "type": "string", "enum": ["ready", "review"] },
|
|
58
|
+
"verdict": { "type": "string", "enum": ["present", "absent"] },
|
|
59
|
+
"probability": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
60
|
+
"confidence": { "type": "number", "minimum": 0, "maximum": 1 }
|
|
61
|
+
},
|
|
62
|
+
"required": ["status", "verdict", "probability", "confidence"],
|
|
63
|
+
"additionalProperties": false
|
|
64
|
+
},
|
|
65
|
+
"debugLeftover": {
|
|
66
|
+
"type": "object",
|
|
67
|
+
"properties": {
|
|
68
|
+
"status": { "type": "string", "enum": ["ready", "review"] },
|
|
69
|
+
"verdict": { "type": "string", "enum": ["present", "absent"] },
|
|
70
|
+
"probability": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
71
|
+
"confidence": { "type": "number", "minimum": 0, "maximum": 1 }
|
|
72
|
+
},
|
|
73
|
+
"required": ["status", "verdict", "probability", "confidence"],
|
|
74
|
+
"additionalProperties": false
|
|
75
|
+
},
|
|
76
|
+
"testsWeakened": {
|
|
77
|
+
"type": "object",
|
|
78
|
+
"properties": {
|
|
79
|
+
"status": { "type": "string", "enum": ["ready", "review"] },
|
|
80
|
+
"verdict": { "type": "string", "enum": ["present", "absent"] },
|
|
81
|
+
"probability": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
82
|
+
"confidence": { "type": "number", "minimum": 0, "maximum": 1 }
|
|
83
|
+
},
|
|
84
|
+
"required": ["status", "verdict", "probability", "confidence"],
|
|
85
|
+
"additionalProperties": false
|
|
86
|
+
},
|
|
87
|
+
"dependencyChange": {
|
|
88
|
+
"type": "object",
|
|
89
|
+
"properties": {
|
|
90
|
+
"status": { "type": "string", "enum": ["ready", "review"] },
|
|
91
|
+
"verdict": { "type": "string", "enum": ["present", "absent"] },
|
|
92
|
+
"probability": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
93
|
+
"confidence": { "type": "number", "minimum": 0, "maximum": 1 }
|
|
94
|
+
},
|
|
95
|
+
"required": ["status", "verdict", "probability", "confidence"],
|
|
96
|
+
"additionalProperties": false
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"required": [
|
|
100
|
+
"secretLeak",
|
|
101
|
+
"destructiveCommand",
|
|
102
|
+
"debugLeftover",
|
|
103
|
+
"testsWeakened",
|
|
104
|
+
"dependencyChange"
|
|
105
|
+
],
|
|
106
|
+
"additionalProperties": false
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"required": ["model", "usage", "status", "detected", "labels"],
|
|
110
|
+
"additionalProperties": false
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"inputSchema": {
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"message": { "type": "string" },
|
|
7
|
+
"context": { "type": "string" },
|
|
8
|
+
"minConfidence": { "type": "number", "minimum": 0, "maximum": 1 }
|
|
9
|
+
},
|
|
10
|
+
"required": ["message"]
|
|
11
|
+
},
|
|
12
|
+
"resultSchema": {
|
|
13
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
14
|
+
"type": "object",
|
|
15
|
+
"properties": {
|
|
16
|
+
"model": { "type": "string" },
|
|
17
|
+
"usage": {
|
|
18
|
+
"type": "object",
|
|
19
|
+
"properties": {
|
|
20
|
+
"input_tokens": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
|
|
21
|
+
"output_tokens": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }
|
|
22
|
+
},
|
|
23
|
+
"required": ["input_tokens", "output_tokens"],
|
|
24
|
+
"additionalProperties": false
|
|
25
|
+
},
|
|
26
|
+
"status": { "type": "string", "enum": ["ready", "review"] },
|
|
27
|
+
"verdict": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"enum": ["now", "later", "after_event", "not_requested", "declined", "unclear"]
|
|
30
|
+
},
|
|
31
|
+
"confidence": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
32
|
+
"probabilities": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"propertyNames": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"enum": ["now", "later", "after_event", "not_requested", "declined", "unclear"]
|
|
37
|
+
},
|
|
38
|
+
"additionalProperties": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
39
|
+
"required": ["now", "later", "after_event", "not_requested", "declined", "unclear"]
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"required": ["model", "usage", "status", "verdict", "confidence", "probabilities"],
|
|
43
|
+
"additionalProperties": false
|
|
44
|
+
}
|
|
45
|
+
}
|