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.
Files changed (133) hide show
  1. package/CHANGELOG.md +44 -1
  2. package/NOTICE +4 -0
  3. package/README.md +54 -388
  4. package/SECURITY.md +5 -3
  5. package/dist/cli.js +105 -16
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/ask.d.ts +5 -1
  8. package/dist/commands/ask.js +27 -10
  9. package/dist/commands/ask.js.map +1 -1
  10. package/dist/commands/auth.d.ts +14 -0
  11. package/dist/commands/auth.js +134 -0
  12. package/dist/commands/auth.js.map +1 -0
  13. package/dist/commands/batch.d.ts +28 -0
  14. package/dist/commands/batch.js +221 -0
  15. package/dist/commands/batch.js.map +1 -0
  16. package/dist/commands/classify.d.ts +34 -0
  17. package/dist/commands/classify.js +187 -0
  18. package/dist/commands/classify.js.map +1 -0
  19. package/dist/commands/compact.d.ts +29 -0
  20. package/dist/commands/compact.js +146 -0
  21. package/dist/commands/compact.js.map +1 -0
  22. package/dist/commands/config.d.ts +2 -1
  23. package/dist/commands/config.js +27 -10
  24. package/dist/commands/config.js.map +1 -1
  25. package/dist/commands/extract.d.ts +18 -0
  26. package/dist/commands/extract.js +108 -0
  27. package/dist/commands/extract.js.map +1 -0
  28. package/dist/commands/find.d.ts +5 -1
  29. package/dist/commands/find.js +30 -15
  30. package/dist/commands/find.js.map +1 -1
  31. package/dist/commands/match.d.ts +18 -0
  32. package/dist/commands/match.js +118 -0
  33. package/dist/commands/match.js.map +1 -0
  34. package/dist/commands/models.js +12 -10
  35. package/dist/commands/models.js.map +1 -1
  36. package/dist/commands/rerank.d.ts +15 -0
  37. package/dist/commands/rerank.js +82 -0
  38. package/dist/commands/rerank.js.map +1 -0
  39. package/dist/commands/route.d.ts +19 -0
  40. package/dist/commands/route.js +120 -0
  41. package/dist/commands/route.js.map +1 -0
  42. package/dist/commands/screen.d.ts +5 -1
  43. package/dist/commands/screen.js +27 -10
  44. package/dist/commands/screen.js.map +1 -1
  45. package/dist/commands/verify.d.ts +5 -1
  46. package/dist/commands/verify.js +23 -12
  47. package/dist/commands/verify.js.map +1 -1
  48. package/dist/config.d.ts +66 -6
  49. package/dist/config.js +53 -2
  50. package/dist/config.js.map +1 -1
  51. package/dist/context.d.ts +4 -0
  52. package/dist/context.js +11 -5
  53. package/dist/context.js.map +1 -1
  54. package/dist/core/ask.js +8 -3
  55. package/dist/core/ask.js.map +1 -1
  56. package/dist/core/batch.d.ts +42 -0
  57. package/dist/core/batch.js +93 -0
  58. package/dist/core/batch.js.map +1 -0
  59. package/dist/core/classify.d.ts +103 -0
  60. package/dist/core/classify.js +216 -0
  61. package/dist/core/classify.js.map +1 -0
  62. package/dist/core/compact.d.ts +32 -0
  63. package/dist/core/compact.js +47 -0
  64. package/dist/core/compact.js.map +1 -0
  65. package/dist/core/extract.d.ts +58 -0
  66. package/dist/core/extract.js +214 -0
  67. package/dist/core/extract.js.map +1 -0
  68. package/dist/core/find.js +3 -0
  69. package/dist/core/find.js.map +1 -1
  70. package/dist/core/match.d.ts +55 -0
  71. package/dist/core/match.js +114 -0
  72. package/dist/core/match.js.map +1 -0
  73. package/dist/core/rerank.d.ts +47 -0
  74. package/dist/core/rerank.js +60 -0
  75. package/dist/core/rerank.js.map +1 -0
  76. package/dist/core/route.d.ts +74 -0
  77. package/dist/core/route.js +153 -0
  78. package/dist/core/route.js.map +1 -0
  79. package/dist/core/transcript.d.ts +15 -0
  80. package/dist/core/transcript.js +118 -0
  81. package/dist/core/transcript.js.map +1 -0
  82. package/dist/credentials.d.ts +30 -0
  83. package/dist/credentials.js +161 -0
  84. package/dist/credentials.js.map +1 -0
  85. package/dist/errors.js.map +1 -1
  86. package/dist/index.d.ts +10 -0
  87. package/dist/index.js +10 -0
  88. package/dist/index.js.map +1 -1
  89. package/dist/input.js +1 -1
  90. package/dist/input.js.map +1 -1
  91. package/dist/lib.d.ts +2 -0
  92. package/dist/lib.js +9 -0
  93. package/dist/lib.js.map +1 -1
  94. package/dist/output.d.ts +41 -3
  95. package/dist/output.js +131 -6
  96. package/dist/output.js.map +1 -1
  97. package/dist/provider.d.ts +8 -0
  98. package/dist/provider.js +44 -4
  99. package/dist/provider.js.map +1 -1
  100. package/dist/vendor/compaction/compact.d.ts +29 -0
  101. package/dist/vendor/compaction/compact.js +236 -0
  102. package/dist/vendor/compaction/compact.js.map +1 -0
  103. package/dist/vendor/compaction/index.d.ts +4 -0
  104. package/dist/vendor/compaction/index.js +8 -0
  105. package/dist/vendor/compaction/index.js.map +1 -0
  106. package/dist/vendor/compaction/request.d.ts +19 -0
  107. package/dist/vendor/compaction/request.js +53 -0
  108. package/dist/vendor/compaction/request.js.map +1 -0
  109. package/dist/vendor/compaction/state.d.ts +28 -0
  110. package/dist/vendor/compaction/state.js +258 -0
  111. package/dist/vendor/compaction/state.js.map +1 -0
  112. package/dist/vendor/compaction/types.d.ts +177 -0
  113. package/dist/vendor/compaction/types.js +4 -0
  114. package/dist/vendor/compaction/types.js.map +1 -0
  115. package/docs/ask.md +52 -0
  116. package/docs/auth.md +53 -0
  117. package/docs/batch.md +48 -0
  118. package/docs/classify.md +55 -0
  119. package/docs/compact.md +58 -0
  120. package/docs/config.md +81 -0
  121. package/docs/extract.md +59 -0
  122. package/docs/find.md +49 -0
  123. package/docs/guidelines.md +19 -0
  124. package/docs/library.md +41 -0
  125. package/docs/match.md +52 -0
  126. package/docs/output.md +65 -0
  127. package/docs/recipes.md +78 -0
  128. package/docs/rerank.md +44 -0
  129. package/docs/route.md +57 -0
  130. package/docs/screen.md +53 -0
  131. package/docs/troubleshooting.md +17 -0
  132. package/docs/verify.md +58 -0
  133. 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 type Format = "text" | "json";
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
- /** Write a result either as JSON or via the provided text renderer. */
25
- export declare function emit(opts: OutputOptions, payload: unknown, renderText: () => string): void;
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
- /** Write a result either as JSON or via the provided text renderer. */
51
- export function emit(opts, payload, renderText) {
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
- if (opts.format === "json") {
54
- stream.write(`${JSON.stringify(payload, null, 2)}\n`);
55
- return;
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
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
@@ -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({ state: state, questions: questions, model }, { signal: opts.signal });
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,
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
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>;