jevctl 0.1.0 → 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.
- package/CHANGELOG.md +44 -1
- package/NOTICE +4 -0
- package/README.md +54 -388
- package/SECURITY.md +5 -3
- package/dist/cli.js +105 -16
- package/dist/cli.js.map +1 -1
- package/dist/commands/ask.d.ts +5 -1
- package/dist/commands/ask.js +27 -10
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/auth.d.ts +14 -0
- package/dist/commands/auth.js +134 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/batch.d.ts +28 -0
- package/dist/commands/batch.js +221 -0
- package/dist/commands/batch.js.map +1 -0
- package/dist/commands/classify.d.ts +34 -0
- package/dist/commands/classify.js +187 -0
- package/dist/commands/classify.js.map +1 -0
- package/dist/commands/compact.d.ts +29 -0
- package/dist/commands/compact.js +146 -0
- package/dist/commands/compact.js.map +1 -0
- package/dist/commands/config.d.ts +2 -1
- package/dist/commands/config.js +27 -10
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/extract.d.ts +18 -0
- package/dist/commands/extract.js +108 -0
- package/dist/commands/extract.js.map +1 -0
- package/dist/commands/find.d.ts +5 -1
- package/dist/commands/find.js +30 -15
- package/dist/commands/find.js.map +1 -1
- package/dist/commands/match.d.ts +18 -0
- package/dist/commands/match.js +118 -0
- package/dist/commands/match.js.map +1 -0
- package/dist/commands/models.js +12 -10
- package/dist/commands/models.js.map +1 -1
- package/dist/commands/rerank.d.ts +15 -0
- package/dist/commands/rerank.js +82 -0
- package/dist/commands/rerank.js.map +1 -0
- package/dist/commands/route.d.ts +19 -0
- package/dist/commands/route.js +120 -0
- package/dist/commands/route.js.map +1 -0
- package/dist/commands/screen.d.ts +5 -1
- package/dist/commands/screen.js +27 -10
- package/dist/commands/screen.js.map +1 -1
- package/dist/commands/verify.d.ts +5 -1
- package/dist/commands/verify.js +23 -12
- package/dist/commands/verify.js.map +1 -1
- package/dist/config.d.ts +66 -6
- package/dist/config.js +53 -2
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +4 -0
- package/dist/context.js +11 -5
- package/dist/context.js.map +1 -1
- package/dist/core/ask.js +8 -3
- package/dist/core/ask.js.map +1 -1
- package/dist/core/batch.d.ts +42 -0
- package/dist/core/batch.js +93 -0
- package/dist/core/batch.js.map +1 -0
- package/dist/core/classify.d.ts +103 -0
- package/dist/core/classify.js +216 -0
- package/dist/core/classify.js.map +1 -0
- package/dist/core/compact.d.ts +32 -0
- package/dist/core/compact.js +47 -0
- package/dist/core/compact.js.map +1 -0
- package/dist/core/extract.d.ts +58 -0
- package/dist/core/extract.js +214 -0
- package/dist/core/extract.js.map +1 -0
- package/dist/core/find.js +3 -0
- package/dist/core/find.js.map +1 -1
- package/dist/core/match.d.ts +55 -0
- package/dist/core/match.js +114 -0
- package/dist/core/match.js.map +1 -0
- package/dist/core/rerank.d.ts +47 -0
- package/dist/core/rerank.js +60 -0
- package/dist/core/rerank.js.map +1 -0
- package/dist/core/route.d.ts +74 -0
- package/dist/core/route.js +153 -0
- package/dist/core/route.js.map +1 -0
- package/dist/core/transcript.d.ts +15 -0
- package/dist/core/transcript.js +118 -0
- package/dist/core/transcript.js.map +1 -0
- package/dist/credentials.d.ts +30 -0
- package/dist/credentials.js +161 -0
- package/dist/credentials.js.map +1 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/input.js +1 -1
- package/dist/input.js.map +1 -1
- package/dist/lib.d.ts +2 -0
- package/dist/lib.js +9 -0
- package/dist/lib.js.map +1 -1
- package/dist/output.d.ts +41 -3
- package/dist/output.js +131 -6
- package/dist/output.js.map +1 -1
- package/dist/provider.d.ts +8 -0
- package/dist/provider.js +44 -4
- package/dist/provider.js.map +1 -1
- package/dist/vendor/compaction/compact.d.ts +29 -0
- package/dist/vendor/compaction/compact.js +236 -0
- package/dist/vendor/compaction/compact.js.map +1 -0
- package/dist/vendor/compaction/index.d.ts +4 -0
- package/dist/vendor/compaction/index.js +8 -0
- package/dist/vendor/compaction/index.js.map +1 -0
- package/dist/vendor/compaction/request.d.ts +19 -0
- package/dist/vendor/compaction/request.js +53 -0
- package/dist/vendor/compaction/request.js.map +1 -0
- package/dist/vendor/compaction/state.d.ts +28 -0
- package/dist/vendor/compaction/state.js +258 -0
- package/dist/vendor/compaction/state.js.map +1 -0
- package/dist/vendor/compaction/types.d.ts +177 -0
- package/dist/vendor/compaction/types.js +4 -0
- package/dist/vendor/compaction/types.js.map +1 -0
- package/docs/ask.md +52 -0
- package/docs/auth.md +53 -0
- package/docs/batch.md +48 -0
- package/docs/classify.md +55 -0
- package/docs/compact.md +58 -0
- package/docs/config.md +81 -0
- package/docs/extract.md +59 -0
- package/docs/find.md +49 -0
- package/docs/guidelines.md +19 -0
- package/docs/library.md +41 -0
- package/docs/match.md +52 -0
- package/docs/output.md +65 -0
- package/docs/recipes.md +78 -0
- package/docs/rerank.md +44 -0
- package/docs/route.md +57 -0
- package/docs/screen.md +53 -0
- package/docs/troubleshooting.md +17 -0
- package/docs/verify.md +58 -0
- package/package.json +9 -6
package/dist/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
|
package/dist/output.d.ts
CHANGED
|
@@ -1,11 +1,37 @@
|
|
|
1
1
|
import { styleText } from "node:util";
|
|
2
|
-
export
|
|
2
|
+
export declare const FORMATS: readonly ["text", "json", "jsonl", "csv", "tsv", "md"];
|
|
3
|
+
export type Format = (typeof FORMATS)[number];
|
|
3
4
|
export interface OutputOptions {
|
|
4
5
|
format: Format;
|
|
5
6
|
color: boolean;
|
|
6
7
|
quiet: boolean;
|
|
8
|
+
/** Path into the JSON payload; when set, only that value is printed. */
|
|
9
|
+
pluck?: string;
|
|
7
10
|
stream?: NodeJS.WritableStream;
|
|
8
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* What a command wants to show. Text mode prints head, table, tail, usage;
|
|
14
|
+
* Markdown does the same in GFM; CSV/TSV print the table (or the key/value
|
|
15
|
+
* pairs when there is no table). Cells may carry ANSI color; non-text formats strip it.
|
|
16
|
+
*/
|
|
17
|
+
export interface View {
|
|
18
|
+
head?: string[];
|
|
19
|
+
table?: {
|
|
20
|
+
columns: string[];
|
|
21
|
+
rows: string[][];
|
|
22
|
+
};
|
|
23
|
+
tail?: string[];
|
|
24
|
+
/** Key/value pairs describing a single-answer result, for csv/tsv/md when there is no table. */
|
|
25
|
+
kv?: Array<[string, string]>;
|
|
26
|
+
usage?: {
|
|
27
|
+
usage: {
|
|
28
|
+
input_tokens: number;
|
|
29
|
+
output_tokens: number;
|
|
30
|
+
};
|
|
31
|
+
model: string;
|
|
32
|
+
provider: string;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
9
35
|
/** Decide whether to colorize, honoring NO_COLOR, FORCE_COLOR, and TTY. */
|
|
10
36
|
export declare function shouldColor(env?: NodeJS.ProcessEnv, isTTY?: boolean): boolean;
|
|
11
37
|
type Style = Parameters<typeof styleText>[0];
|
|
@@ -15,12 +41,24 @@ export declare function formatProbability(p: number | null | undefined): string;
|
|
|
15
41
|
export declare function table(rows: string[][], opts?: {
|
|
16
42
|
color?: boolean;
|
|
17
43
|
}): string;
|
|
44
|
+
export declare function plain(s: string): string;
|
|
18
45
|
/** Clip a string for table display. */
|
|
19
46
|
export declare function clip(text: string, max?: number): string;
|
|
20
47
|
export declare function usageLine(usage: {
|
|
21
48
|
input_tokens: number;
|
|
22
49
|
output_tokens: number;
|
|
23
50
|
}, model: string, provider: string): string;
|
|
24
|
-
|
|
25
|
-
export declare function
|
|
51
|
+
export declare function renderText(view: View, opts: Pick<OutputOptions, "color" | "quiet">): string;
|
|
52
|
+
export declare function renderMarkdown(view: View, opts: Pick<OutputOptions, "quiet">): string;
|
|
53
|
+
export declare function renderDelimited(view: View, sep: "," | "\t"): string;
|
|
54
|
+
/**
|
|
55
|
+
* Resolve a dotted path with `[n]` indexes and `[]` wildcards, e.g.
|
|
56
|
+
* `label`, `results[0].verdict`, `results[].verdict`, `fields.email.value`.
|
|
57
|
+
* A wildcard maps over the array and flattens one level.
|
|
58
|
+
*/
|
|
59
|
+
export declare function pluck(value: unknown, path: string): unknown;
|
|
60
|
+
/** Print a plucked value: one line per array element, raw scalars, compact JSON for objects. */
|
|
61
|
+
export declare function renderPluck(value: unknown, format: Format): string;
|
|
62
|
+
/** Write a result in the requested format. `view` is only evaluated for text, md, csv, tsv. */
|
|
63
|
+
export declare function emit(opts: OutputOptions, payload: unknown, view: () => View): void;
|
|
26
64
|
export {};
|
package/dist/output.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { stripVTControlCharacters, styleText } from "node:util";
|
|
2
|
+
import { CliError } from "./errors.js";
|
|
3
|
+
export const FORMATS = ["text", "json", "jsonl", "csv", "tsv", "md"];
|
|
2
4
|
/** Decide whether to colorize, honoring NO_COLOR, FORCE_COLOR, and TTY. */
|
|
3
5
|
export function shouldColor(env = process.env, isTTY = process.stdout.isTTY) {
|
|
4
6
|
if (env.NO_COLOR !== undefined && env.NO_COLOR !== "")
|
|
@@ -39,21 +41,144 @@ export function table(rows, opts = {}) {
|
|
|
39
41
|
function visibleLength(s) {
|
|
40
42
|
return stripVTControlCharacters(s).length;
|
|
41
43
|
}
|
|
44
|
+
export function plain(s) {
|
|
45
|
+
return stripVTControlCharacters(s);
|
|
46
|
+
}
|
|
42
47
|
/** Clip a string for table display. */
|
|
43
48
|
export function clip(text, max = 60) {
|
|
44
49
|
const oneLine = text.replace(/\s+/g, " ").trim();
|
|
45
50
|
return oneLine.length <= max ? oneLine : `${oneLine.slice(0, max - 1)}…`;
|
|
46
51
|
}
|
|
47
52
|
export function usageLine(usage, model, provider) {
|
|
53
|
+
if (!model && !provider)
|
|
54
|
+
return "no API call made";
|
|
48
55
|
return `${usage.input_tokens} in / ${usage.output_tokens} out tokens · ${model} via ${provider}`;
|
|
49
56
|
}
|
|
50
|
-
|
|
51
|
-
export function
|
|
57
|
+
// ── renderers ───────────────────────────────────────────────────────────────
|
|
58
|
+
export function renderText(view, opts) {
|
|
59
|
+
const parts = [];
|
|
60
|
+
if (view.head?.length)
|
|
61
|
+
parts.push(view.head.join("\n"));
|
|
62
|
+
if (view.table)
|
|
63
|
+
parts.push(table([view.table.columns, ...view.table.rows], { color: opts.color }));
|
|
64
|
+
if (view.tail?.length)
|
|
65
|
+
parts.push(view.tail.join("\n"));
|
|
66
|
+
const body = parts.join("\n\n");
|
|
67
|
+
if (view.usage && !opts.quiet) {
|
|
68
|
+
const footer = paint(opts.color, "dim", usageLine(view.usage.usage, view.usage.model, view.usage.provider));
|
|
69
|
+
return body ? `${body}\n${footer}` : footer;
|
|
70
|
+
}
|
|
71
|
+
return body;
|
|
72
|
+
}
|
|
73
|
+
function mdCell(s) {
|
|
74
|
+
return plain(s).replace(/\|/g, "\\|").replace(/\n/g, " ");
|
|
75
|
+
}
|
|
76
|
+
export function renderMarkdown(view, opts) {
|
|
77
|
+
const parts = [];
|
|
78
|
+
if (view.head?.length)
|
|
79
|
+
parts.push(view.head.map(plain).join(" \n"));
|
|
80
|
+
const tbl = view.table ?? (view.kv ? { columns: ["Field", "Value"], rows: view.kv } : undefined);
|
|
81
|
+
if (tbl) {
|
|
82
|
+
const header = `| ${tbl.columns.map(mdCell).join(" | ")} |`;
|
|
83
|
+
const sep = `| ${tbl.columns.map(() => "---").join(" | ")} |`;
|
|
84
|
+
const rows = tbl.rows.map((r) => `| ${tbl.columns.map((_, i) => mdCell(r[i] ?? "")).join(" | ")} |`);
|
|
85
|
+
parts.push([header, sep, ...rows].join("\n"));
|
|
86
|
+
}
|
|
87
|
+
if (view.tail?.length)
|
|
88
|
+
parts.push(view.tail.map(plain).join(" \n"));
|
|
89
|
+
if (view.usage && !opts.quiet) {
|
|
90
|
+
parts.push(`_${usageLine(view.usage.usage, view.usage.model, view.usage.provider)}_`);
|
|
91
|
+
}
|
|
92
|
+
return parts.join("\n\n");
|
|
93
|
+
}
|
|
94
|
+
function csvCell(s, sep) {
|
|
95
|
+
const v = plain(s);
|
|
96
|
+
return /[",\n\r]/.test(v) || v.includes(sep) ? `"${v.replace(/"/g, '""')}"` : v;
|
|
97
|
+
}
|
|
98
|
+
export function renderDelimited(view, sep) {
|
|
99
|
+
const tbl = view.table ?? (view.kv ? { columns: ["field", "value"], rows: view.kv } : undefined);
|
|
100
|
+
if (!tbl)
|
|
101
|
+
throw new CliError("This result has no tabular form; use --json, --md, or --pluck.");
|
|
102
|
+
const line = (cells) => cells.map((c) => (sep === "\t" ? plain(c).replace(/\t|\n/g, " ") : csvCell(c, sep))).join(sep);
|
|
103
|
+
return [line(tbl.columns), ...tbl.rows.map((r) => line(tbl.columns.map((_, i) => r[i] ?? "")))].join("\n");
|
|
104
|
+
}
|
|
105
|
+
// ── pluck ───────────────────────────────────────────────────────────────────
|
|
106
|
+
/**
|
|
107
|
+
* Resolve a dotted path with `[n]` indexes and `[]` wildcards, e.g.
|
|
108
|
+
* `label`, `results[0].verdict`, `results[].verdict`, `fields.email.value`.
|
|
109
|
+
* A wildcard maps over the array and flattens one level.
|
|
110
|
+
*/
|
|
111
|
+
export function pluck(value, path) {
|
|
112
|
+
const tokens = path.match(/[^.[\]]+|\[\d*\]/g);
|
|
113
|
+
if (!tokens || tokens.length === 0)
|
|
114
|
+
throw new CliError(`Invalid --pluck path "${path}".`);
|
|
115
|
+
let current = [value];
|
|
116
|
+
for (const token of tokens) {
|
|
117
|
+
const next = [];
|
|
118
|
+
for (const v of current) {
|
|
119
|
+
if (token === "[]") {
|
|
120
|
+
if (Array.isArray(v))
|
|
121
|
+
next.push(...v);
|
|
122
|
+
else if (v && typeof v === "object")
|
|
123
|
+
next.push(...Object.values(v));
|
|
124
|
+
else
|
|
125
|
+
next.push(undefined);
|
|
126
|
+
}
|
|
127
|
+
else if (/^\[\d+\]$/.test(token)) {
|
|
128
|
+
next.push(Array.isArray(v) ? v[Number(token.slice(1, -1))] : undefined);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
next.push(v && typeof v === "object" ? v[token] : undefined);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
current = next;
|
|
135
|
+
}
|
|
136
|
+
return path.includes("[]") ? current : current[0];
|
|
137
|
+
}
|
|
138
|
+
function scalarText(v) {
|
|
139
|
+
if (v === null || v === undefined)
|
|
140
|
+
return "";
|
|
141
|
+
if (typeof v === "string")
|
|
142
|
+
return v;
|
|
143
|
+
if (typeof v === "number" || typeof v === "boolean")
|
|
144
|
+
return String(v);
|
|
145
|
+
return JSON.stringify(v);
|
|
146
|
+
}
|
|
147
|
+
/** Print a plucked value: one line per array element, raw scalars, compact JSON for objects. */
|
|
148
|
+
export function renderPluck(value, format) {
|
|
149
|
+
if (format === "json")
|
|
150
|
+
return JSON.stringify(value ?? null, null, 2);
|
|
151
|
+
if (format === "jsonl")
|
|
152
|
+
return JSON.stringify(value ?? null);
|
|
153
|
+
if (Array.isArray(value))
|
|
154
|
+
return value.map(scalarText).join("\n");
|
|
155
|
+
return scalarText(value);
|
|
156
|
+
}
|
|
157
|
+
// ── emit ────────────────────────────────────────────────────────────────────
|
|
158
|
+
/** Write a result in the requested format. `view` is only evaluated for text, md, csv, tsv. */
|
|
159
|
+
export function emit(opts, payload, view) {
|
|
52
160
|
const stream = opts.stream ?? process.stdout;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
161
|
+
const write = (s) => stream.write(`${s}\n`);
|
|
162
|
+
if (opts.pluck) {
|
|
163
|
+
const value = pluck(payload, opts.pluck);
|
|
164
|
+
const empty = value === undefined || (Array.isArray(value) && value.every((v) => v === undefined));
|
|
165
|
+
if (empty)
|
|
166
|
+
throw new CliError(`--pluck path "${opts.pluck}" matched nothing in this result.`);
|
|
167
|
+
return void write(renderPluck(value, opts.format));
|
|
168
|
+
}
|
|
169
|
+
switch (opts.format) {
|
|
170
|
+
case "json":
|
|
171
|
+
return void write(JSON.stringify(payload, null, 2));
|
|
172
|
+
case "jsonl":
|
|
173
|
+
return void write(JSON.stringify(payload));
|
|
174
|
+
case "md":
|
|
175
|
+
return void write(renderMarkdown(view(), opts));
|
|
176
|
+
case "csv":
|
|
177
|
+
return void write(renderDelimited(view(), ","));
|
|
178
|
+
case "tsv":
|
|
179
|
+
return void write(renderDelimited(view(), "\t"));
|
|
180
|
+
default:
|
|
181
|
+
return void write(renderText(view(), opts));
|
|
56
182
|
}
|
|
57
|
-
stream.write(`${renderText()}\n`);
|
|
58
183
|
}
|
|
59
184
|
//# sourceMappingURL=output.js.map
|
package/dist/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
|
package/dist/provider.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export interface Usage {
|
|
|
5
5
|
output_tokens: number;
|
|
6
6
|
}
|
|
7
7
|
export interface AskResult {
|
|
8
|
+
/** One answer per question id, validated by `validateAnswers`; commands narrow by question type. */
|
|
8
9
|
answers: Record<string, any>;
|
|
9
10
|
usage: Usage;
|
|
10
11
|
provider: ResolvedProvider;
|
|
@@ -26,5 +27,12 @@ export declare const OPENROUTER_LATEST = "jev-1.13";
|
|
|
26
27
|
export declare function resolveProvider(env: NodeJS.ProcessEnv, explicit?: ProviderName): ResolvedProvider;
|
|
27
28
|
/** Model slug as each proxy expects it. */
|
|
28
29
|
export declare function providerModel(provider: ResolvedProvider, model: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* Reject a response that is not the answers the request asked for. Jev either
|
|
32
|
+
* answers every question or the request fails; a missing or mistyped answer
|
|
33
|
+
* means a proxy or transport problem, and treating it as "probability 0" would
|
|
34
|
+
* let a screen pass or a claim verify by accident.
|
|
35
|
+
*/
|
|
36
|
+
export declare function validateAnswers(questions: Record<string, unknown>, answers: unknown, model: string): Record<string, any>;
|
|
29
37
|
/** Build an `AskFn` bound to the resolved provider. */
|
|
30
38
|
export declare function createAsk(opts: ProviderOptions): AskFn;
|
package/dist/provider.js
CHANGED
|
@@ -57,6 +57,41 @@ export function providerModel(provider, model) {
|
|
|
57
57
|
}
|
|
58
58
|
return model;
|
|
59
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Reject a response that is not the answers the request asked for. Jev either
|
|
62
|
+
* answers every question or the request fails; a missing or mistyped answer
|
|
63
|
+
* means a proxy or transport problem, and treating it as "probability 0" would
|
|
64
|
+
* let a screen pass or a claim verify by accident.
|
|
65
|
+
*/
|
|
66
|
+
export function validateAnswers(questions, answers, model) {
|
|
67
|
+
if (!answers || typeof answers !== "object" || Array.isArray(answers)) {
|
|
68
|
+
throw new CliError(`Malformed response from ${model}: no answers object. Retry, or check TYPESAFE_BASE_URL.`);
|
|
69
|
+
}
|
|
70
|
+
const got = answers;
|
|
71
|
+
const missing = Object.keys(questions).filter((id) => !(id in got));
|
|
72
|
+
if (missing.length > 0) {
|
|
73
|
+
const shown = missing.slice(0, 5).join(", ") + (missing.length > 5 ? `, … (${missing.length})` : "");
|
|
74
|
+
throw new CliError(`Malformed response from ${model}: no answer for ${shown}.`);
|
|
75
|
+
}
|
|
76
|
+
for (const [id, q] of Object.entries(questions)) {
|
|
77
|
+
const asked = q?.type;
|
|
78
|
+
const a = got[id];
|
|
79
|
+
const problem = !a || typeof a !== "object"
|
|
80
|
+
? "is not an object"
|
|
81
|
+
: asked && a.type !== asked
|
|
82
|
+
? `has type ${String(a.type)} but the question was ${asked}`
|
|
83
|
+
: a.type === "noul" && typeof a.noul !== "number"
|
|
84
|
+
? "has a non-numeric noul probability"
|
|
85
|
+
: a.type === "choice" && typeof a.choice !== "string"
|
|
86
|
+
? "has no choice"
|
|
87
|
+
: a.type === "score" && typeof a.score !== "number"
|
|
88
|
+
? "has a non-numeric score"
|
|
89
|
+
: null;
|
|
90
|
+
if (problem)
|
|
91
|
+
throw new CliError(`Malformed response from ${model}: answer "${id}" ${problem}.`);
|
|
92
|
+
}
|
|
93
|
+
return got;
|
|
94
|
+
}
|
|
60
95
|
/** Build an `AskFn` bound to the resolved provider. */
|
|
61
96
|
export function createAsk(opts) {
|
|
62
97
|
const env = opts.env ?? process.env;
|
|
@@ -69,13 +104,18 @@ export function createAsk(opts) {
|
|
|
69
104
|
baseURL: env.TYPESAFE_BASE_URL || undefined,
|
|
70
105
|
defaultModel: model,
|
|
71
106
|
timeout: opts.timeoutMs,
|
|
107
|
+
// biome-ignore lint/suspicious/noExplicitAny: the SDK declares its own fetch type
|
|
72
108
|
fetch: fetchImpl,
|
|
73
109
|
defaultHeaders: { "User-Agent": USER_AGENT },
|
|
74
110
|
});
|
|
75
111
|
return async (state, questions) => {
|
|
76
|
-
const response = await client.systemOne({
|
|
112
|
+
const response = await client.systemOne({
|
|
113
|
+
state: state,
|
|
114
|
+
questions: questions,
|
|
115
|
+
model,
|
|
116
|
+
}, { signal: opts.signal });
|
|
77
117
|
return {
|
|
78
|
-
answers: response.answers,
|
|
118
|
+
answers: validateAnswers(questions, response.answers, response.model ?? model),
|
|
79
119
|
usage: {
|
|
80
120
|
input_tokens: response.usage?.input_tokens ?? 0,
|
|
81
121
|
output_tokens: response.usage?.output_tokens ?? 0,
|
|
@@ -103,7 +143,7 @@ export function createAsk(opts) {
|
|
|
103
143
|
}
|
|
104
144
|
const body = (await response.json());
|
|
105
145
|
return {
|
|
106
|
-
answers: body.answers ??
|
|
146
|
+
answers: validateAnswers(questions, body.answers, body.model ?? model),
|
|
107
147
|
usage: { input_tokens: body.usage?.input_tokens ?? 0, output_tokens: body.usage?.output_tokens ?? 0 },
|
|
108
148
|
provider,
|
|
109
149
|
model: body.model ?? model,
|
|
@@ -131,7 +171,7 @@ export function createAsk(opts) {
|
|
|
131
171
|
}
|
|
132
172
|
const payload = outer?.result ?? outer ?? body;
|
|
133
173
|
return {
|
|
134
|
-
answers: payload.answers ??
|
|
174
|
+
answers: validateAnswers(questions, payload.answers, payload.model ?? model),
|
|
135
175
|
usage: {
|
|
136
176
|
input_tokens: payload.usage?.input_tokens ?? 0,
|
|
137
177
|
output_tokens: payload.usage?.output_tokens ?? 0,
|
package/dist/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,+EAA+E;AAC/E,sEAAsE;AACtE,uBAAuB;AAEvB,OAAO,EAAkB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { CallAnswer, CallDecision, CompactOptions, CompactResult, JevAsker, JevQuestions, Message, ResolvedCompactOptions, ToolCall } from './types.js';
|
|
2
|
+
export declare const DEFAULT_OPTIONS: ResolvedCompactOptions;
|
|
3
|
+
export declare function resolveOptions(options?: CompactOptions): ResolvedCompactOptions;
|
|
4
|
+
/** The two `noul` questions asked about one call: keep the call, keep its result. */
|
|
5
|
+
export declare function questionsFor(call: ToolCall): JevQuestions;
|
|
6
|
+
/**
|
|
7
|
+
* Splits the candidate calls into batches whose questions, together with the
|
|
8
|
+
* (always complete) state, fit one request.
|
|
9
|
+
*/
|
|
10
|
+
export declare function batchCalls(calls: readonly ToolCall[], stateTokens: number, options: Pick<ResolvedCompactOptions, 'maxRequestTokens'>): ToolCall[][];
|
|
11
|
+
export declare function decideCall(call: Pick<ToolCall, 'id' | 'tool' | 'pinned'>, answer: CallAnswer, options: Pick<ResolvedCompactOptions, 'keepThreshold'>): CallDecision;
|
|
12
|
+
/**
|
|
13
|
+
* Rebuilds the conversation from the decisions. A dropped call disappears
|
|
14
|
+
* together with its result; a dropped result keeps a bounded head and note.
|
|
15
|
+
* Messages that lose all their content are removed; untouched messages are
|
|
16
|
+
* returned as the same objects they came in as.
|
|
17
|
+
*/
|
|
18
|
+
export declare function applyDecisions(messages: readonly Message[], decisions: readonly CallDecision[], calls: readonly ToolCall[], headChars: number): Message[];
|
|
19
|
+
/** Characters of text, tool input and tool output a message holds. */
|
|
20
|
+
export declare function messageChars(message: Message): number;
|
|
21
|
+
export declare function reductionRatio(result: Pick<CompactResult, 'stats'>): number;
|
|
22
|
+
/**
|
|
23
|
+
* Compacts a transcript by asking Jev, for every tool call outside the pinned
|
|
24
|
+
* first and newest messages, whether the call and whether its result must
|
|
25
|
+
* stay. The whole history (results omitted, fitted into `maxStateTokens`) is
|
|
26
|
+
* sent as state with every batch of questions. Throws when Jev fails or the
|
|
27
|
+
* history cannot be fitted; the caller decides whether to fall back.
|
|
28
|
+
*/
|
|
29
|
+
export declare function compact(messages: readonly Message[], asker: JevAsker, options?: CompactOptions): Promise<CompactResult>;
|