agent-nuvira 3.3.9 → 3.3.11
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/dist/agents/orchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator.js +6 -0
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +27 -17
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/config.d.ts +28 -0
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +155 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/eval.d.ts +8 -0
- package/dist/cli/eval.d.ts.map +1 -1
- package/dist/cli/eval.js +64 -0
- package/dist/cli/eval.js.map +1 -1
- package/dist/cli/loop-executor.d.ts +13 -0
- package/dist/cli/loop-executor.d.ts.map +1 -1
- package/dist/cli/loop-executor.js +22 -18
- package/dist/cli/loop-executor.js.map +1 -1
- package/dist/config/capability-mode.d.ts +122 -0
- package/dist/config/capability-mode.d.ts.map +1 -0
- package/dist/config/capability-mode.js +132 -0
- package/dist/config/capability-mode.js.map +1 -0
- package/dist/config/limits.d.ts +47 -0
- package/dist/config/limits.d.ts.map +1 -0
- package/dist/config/limits.js +64 -0
- package/dist/config/limits.js.map +1 -0
- package/dist/config/process-env.d.ts.map +1 -1
- package/dist/config/process-env.js +44 -0
- package/dist/config/process-env.js.map +1 -1
- package/dist/config/types.d.ts +77 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/work-digest.d.ts +46 -0
- package/dist/config/work-digest.d.ts.map +1 -0
- package/dist/config/work-digest.js +80 -0
- package/dist/config/work-digest.js.map +1 -0
- package/dist/gateway/inbound-media.d.ts +18 -0
- package/dist/gateway/inbound-media.d.ts.map +1 -1
- package/dist/gateway/inbound-media.js +96 -2
- package/dist/gateway/inbound-media.js.map +1 -1
- package/dist/inference/anthropic-adapter.d.ts +6 -0
- package/dist/inference/anthropic-adapter.d.ts.map +1 -1
- package/dist/inference/anthropic-adapter.js +79 -8
- package/dist/inference/anthropic-adapter.js.map +1 -1
- package/dist/inference/gemini-adapter.d.ts +6 -0
- package/dist/inference/gemini-adapter.d.ts.map +1 -1
- package/dist/inference/gemini-adapter.js +73 -8
- package/dist/inference/gemini-adapter.js.map +1 -1
- package/dist/inference/groq-adapter.d.ts +3 -0
- package/dist/inference/groq-adapter.d.ts.map +1 -1
- package/dist/inference/groq-adapter.js +83 -40
- package/dist/inference/groq-adapter.js.map +1 -1
- package/dist/inference/interface.d.ts +7 -0
- package/dist/inference/interface.d.ts.map +1 -1
- package/dist/inference/model-probe.d.ts +17 -0
- package/dist/inference/model-probe.d.ts.map +1 -1
- package/dist/inference/model-probe.js +58 -1
- package/dist/inference/model-probe.js.map +1 -1
- package/dist/inference/model-validator.d.ts +16 -1
- package/dist/inference/model-validator.d.ts.map +1 -1
- package/dist/inference/model-validator.js +83 -2
- package/dist/inference/model-validator.js.map +1 -1
- package/dist/inference/nim-adapter.js +4 -4
- package/dist/inference/nim-adapter.js.map +1 -1
- package/dist/inference/openai-compat-adapter.d.ts +9 -0
- package/dist/inference/openai-compat-adapter.d.ts.map +1 -1
- package/dist/inference/openai-compat-adapter.js +101 -51
- package/dist/inference/openai-compat-adapter.js.map +1 -1
- package/dist/inference/openrouter-adapter.d.ts +3 -0
- package/dist/inference/openrouter-adapter.d.ts.map +1 -1
- package/dist/inference/openrouter-adapter.js +134 -57
- package/dist/inference/openrouter-adapter.js.map +1 -1
- package/dist/inference/reasoning-effort.d.ts +130 -0
- package/dist/inference/reasoning-effort.d.ts.map +1 -0
- package/dist/inference/reasoning-effort.js +237 -0
- package/dist/inference/reasoning-effort.js.map +1 -0
- package/dist/inference/route-resolver.d.ts +7 -0
- package/dist/inference/route-resolver.d.ts.map +1 -1
- package/dist/inference/route-resolver.js +2 -1
- package/dist/inference/route-resolver.js.map +1 -1
- package/dist/inference/sse.d.ts +6 -0
- package/dist/inference/sse.d.ts.map +1 -1
- package/dist/inference/sse.js +1 -0
- package/dist/inference/sse.js.map +1 -1
- package/dist/inference/tools.d.ts +13 -0
- package/dist/inference/tools.d.ts.map +1 -1
- package/dist/inference/tools.js +20 -2
- package/dist/inference/tools.js.map +1 -1
- package/dist/learning/autonomy-policy.d.ts +8 -0
- package/dist/learning/autonomy-policy.d.ts.map +1 -1
- package/dist/learning/autonomy-policy.js +34 -0
- package/dist/learning/autonomy-policy.js.map +1 -1
- package/dist/learning/capability-parity.d.ts +108 -0
- package/dist/learning/capability-parity.d.ts.map +1 -0
- package/dist/learning/capability-parity.js +154 -0
- package/dist/learning/capability-parity.js.map +1 -0
- package/dist/learning/cost-tracker.d.ts +28 -4
- package/dist/learning/cost-tracker.d.ts.map +1 -1
- package/dist/learning/cost-tracker.js +58 -8
- package/dist/learning/cost-tracker.js.map +1 -1
- package/dist/learning/eval-framework.d.ts +17 -0
- package/dist/learning/eval-framework.d.ts.map +1 -1
- package/dist/learning/eval-framework.js +63 -2
- package/dist/learning/eval-framework.js.map +1 -1
- package/dist/learning/model-capability.d.ts +94 -0
- package/dist/learning/model-capability.d.ts.map +1 -0
- package/dist/learning/model-capability.js +172 -0
- package/dist/learning/model-capability.js.map +1 -0
- package/dist/learning/model-registry.d.ts +33 -0
- package/dist/learning/model-registry.d.ts.map +1 -1
- package/dist/learning/model-registry.js +79 -0
- package/dist/learning/model-registry.js.map +1 -1
- package/dist/learning/reasoning-trace.d.ts +1 -1
- package/dist/learning/reasoning-trace.d.ts.map +1 -1
- package/dist/learning/reasoning-trace.js.map +1 -1
- package/dist/learning/resolve-options.d.ts.map +1 -1
- package/dist/learning/resolve-options.js +16 -3
- package/dist/learning/resolve-options.js.map +1 -1
- package/dist/learning/run-trace.d.ts +68 -0
- package/dist/learning/run-trace.d.ts.map +1 -1
- package/dist/learning/run-trace.js +101 -0
- package/dist/learning/run-trace.js.map +1 -1
- package/dist/tools/loop-skill-hint.d.ts +27 -0
- package/dist/tools/loop-skill-hint.d.ts.map +1 -1
- package/dist/tools/loop-skill-hint.js +189 -5
- package/dist/tools/loop-skill-hint.js.map +1 -1
- package/dist/tools/read-extract.d.ts +9 -3
- package/dist/tools/read-extract.d.ts.map +1 -1
- package/dist/tools/read-extract.js +70 -25
- package/dist/tools/read-extract.js.map +1 -1
- package/dist/tools/tool-loop.d.ts +120 -0
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +447 -5
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/web-dashboard/attachment-extract.d.ts +8 -1
- package/dist/web-dashboard/attachment-extract.d.ts.map +1 -1
- package/dist/web-dashboard/attachment-extract.js +14 -3
- package/dist/web-dashboard/attachment-extract.js.map +1 -1
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +160 -21
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +26 -0
- package/dist/web-dashboard/src/types.d.ts.map +1 -1
- package/dist/web-dashboard/workspace-guard.d.ts.map +1 -1
- package/dist/web-dashboard/workspace-guard.js +44 -4
- package/dist/web-dashboard/workspace-guard.js.map +1 -1
- package/package.json +1 -1
- package/src/web-dashboard/public/assets/index-BdKf5Xw2.js +207 -0
- package/src/web-dashboard/public/assets/index-BdKf5Xw2.js.map +1 -0
- package/src/web-dashboard/public/assets/index-C9eBskc9.css +1 -0
- package/src/web-dashboard/public/index.html +2 -2
- package/src/web-dashboard/public/assets/index-Beportyl.js +0 -207
- package/src/web-dashboard/public/assets/index-Beportyl.js.map +0 -1
- package/src/web-dashboard/public/assets/index-gtQyg9nm.css +0 -1
|
@@ -97,6 +97,7 @@ export interface RunTraceSnapshot {
|
|
|
97
97
|
export declare class RunTrace {
|
|
98
98
|
private asks;
|
|
99
99
|
private refusals;
|
|
100
|
+
private failures;
|
|
100
101
|
private mutations;
|
|
101
102
|
/** Prior asks that are the SAME question as this one (excluding it). */
|
|
102
103
|
priorAskMatches(question: string): AskRecord[];
|
|
@@ -107,6 +108,39 @@ export declare class RunTrace {
|
|
|
107
108
|
/** Prior refusals of the SAME tool for the SAME reason. */
|
|
108
109
|
priorRefusalMatches(tool: string, detail: string): number;
|
|
109
110
|
recordRefusal(tool: string, reason: string, detail: string): void;
|
|
111
|
+
/**
|
|
112
|
+
* Record an action that RAN and FAILED, keyed by what it was (the command or
|
|
113
|
+
* path), so the identical retry is recognizable.
|
|
114
|
+
*/
|
|
115
|
+
recordFailure(tool: string, action: string, detail: string): void;
|
|
116
|
+
/**
|
|
117
|
+
* The most recent FAILED actions, newest last — for a stall nudge that must
|
|
118
|
+
* name what was actually tried instead of describing "your attempts".
|
|
119
|
+
*
|
|
120
|
+
* Bounded by the caller (the loop asks for the last few), so the prompt a
|
|
121
|
+
* stuck model reads stays short and specific.
|
|
122
|
+
*/
|
|
123
|
+
recentFailures(limit?: number): Array<{
|
|
124
|
+
tool: string;
|
|
125
|
+
action: string;
|
|
126
|
+
detail: string;
|
|
127
|
+
}>;
|
|
128
|
+
/**
|
|
129
|
+
* The action that has failed MORE THAN ONCE, with its count — or null when no
|
|
130
|
+
* action has repeated.
|
|
131
|
+
*
|
|
132
|
+
* The single signal a stuck run needs: "I have tried this exact thing N times
|
|
133
|
+
* and it has failed every time." Deliberately counts by ACTION (the command /
|
|
134
|
+
* path), not by tool: `run_terminal` failing once on `npm test` and once on
|
|
135
|
+
* `npm build` is normal iteration, while the SAME command failing twice is a
|
|
136
|
+
* loop that will not resolve by trying it a third time.
|
|
137
|
+
*/
|
|
138
|
+
repeatedFailure(): {
|
|
139
|
+
tool: string;
|
|
140
|
+
action: string;
|
|
141
|
+
times: number;
|
|
142
|
+
detail: string;
|
|
143
|
+
} | null;
|
|
110
144
|
recordMutation(tool: string, path?: string): void;
|
|
111
145
|
countAsks(): number;
|
|
112
146
|
countShownAsks(): number;
|
|
@@ -150,6 +184,40 @@ export declare class RunTrace {
|
|
|
150
184
|
* a loop and bulldozing a decision.
|
|
151
185
|
*/
|
|
152
186
|
export declare function repeatNudge(question: string, answer?: string): string;
|
|
187
|
+
/**
|
|
188
|
+
* The correction handed back when the SAME action has failed more than once.
|
|
189
|
+
*
|
|
190
|
+
* This is the loop's missing self-diagnosis. A run that re-issues the identical
|
|
191
|
+
* command and gets the identical failure is not "trying again" — it is
|
|
192
|
+
* rediscovering the same wall, and the next attempt will hit it too. The nudge
|
|
193
|
+
* does not tell the model what the cause is (it does not know); it demands that
|
|
194
|
+
* the model STOP and diagnose: state the cause, and change the APPROACH rather
|
|
195
|
+
* than the command. Crucially it forbids the one move that produced the loop —
|
|
196
|
+
* asking the user for permission to run the same failing command again.
|
|
197
|
+
*/
|
|
198
|
+
export declare function repeatedFailureNudge(failure: {
|
|
199
|
+
tool: string;
|
|
200
|
+
action: string;
|
|
201
|
+
times: number;
|
|
202
|
+
detail: string;
|
|
203
|
+
}): string;
|
|
204
|
+
/**
|
|
205
|
+
* The correction handed back when the run has taken several steps in a row and
|
|
206
|
+
* NONE of them succeeded — the generalisation of {@link repeatedFailureNudge}.
|
|
207
|
+
*
|
|
208
|
+
* `repeatedFailure` catches the identical action retried verbatim. A weaker run
|
|
209
|
+
* loops in a second shape that it misses entirely: it keeps substituting a
|
|
210
|
+
* different command each step, every one of them failing the same underlying
|
|
211
|
+
* way (`npx tauri build` → `cargo build` → `rustc …`, all against a missing
|
|
212
|
+
* toolchain). Nothing repeats exactly, so nothing was caught, and the run burns
|
|
213
|
+
* its whole budget rediscovering one wall. This nudge names the shared failure
|
|
214
|
+
* and demands the same diagnosis — cause first, then a different APPROACH.
|
|
215
|
+
*/
|
|
216
|
+
export declare function noProgressNudge(failures: Array<{
|
|
217
|
+
tool: string;
|
|
218
|
+
action: string;
|
|
219
|
+
detail: string;
|
|
220
|
+
}>, steps: number): string;
|
|
153
221
|
/** Is the user asking about the agent's own behaviour? */
|
|
154
222
|
export declare function detectProcessComplaint(text: string): boolean;
|
|
155
223
|
/** Is this object usable as a trace key (a session handle)? */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-trace.d.ts","sourceRoot":"","sources":["../../src/learning/run-trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,qEAAqE;AACrE,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAsCD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAiB7D;AAUD,oEAAoE;AACpE,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO,CAK1E;AAED,oCAAoC;AACpC,UAAU,SAAS;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,+DAA+D;IAC/D,KAAK,EAAE,OAAO,CAAC;IACf,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ;
|
|
1
|
+
{"version":3,"file":"run-trace.d.ts","sourceRoot":"","sources":["../../src/learning/run-trace.ts"],"names":[],"mappings":"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"}
|
|
@@ -126,6 +126,7 @@ export const MAX_TRACE_ENTRIES = 60;
|
|
|
126
126
|
export class RunTrace {
|
|
127
127
|
asks = [];
|
|
128
128
|
refusals = [];
|
|
129
|
+
failures = [];
|
|
129
130
|
mutations = [];
|
|
130
131
|
/** Prior asks that are the SAME question as this one (excluding it). */
|
|
131
132
|
priorAskMatches(question) {
|
|
@@ -164,6 +165,60 @@ export class RunTrace {
|
|
|
164
165
|
if (this.refusals.length > MAX_TRACE_ENTRIES)
|
|
165
166
|
this.refusals.shift();
|
|
166
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Record an action that RAN and FAILED, keyed by what it was (the command or
|
|
170
|
+
* path), so the identical retry is recognizable.
|
|
171
|
+
*/
|
|
172
|
+
recordFailure(tool, action, detail) {
|
|
173
|
+
this.failures.push({
|
|
174
|
+
tool,
|
|
175
|
+
action: normalize(action).slice(0, 200),
|
|
176
|
+
detail: String(detail ?? '').slice(0, 200),
|
|
177
|
+
at: Date.now(),
|
|
178
|
+
});
|
|
179
|
+
if (this.failures.length > MAX_TRACE_ENTRIES)
|
|
180
|
+
this.failures.shift();
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* The most recent FAILED actions, newest last — for a stall nudge that must
|
|
184
|
+
* name what was actually tried instead of describing "your attempts".
|
|
185
|
+
*
|
|
186
|
+
* Bounded by the caller (the loop asks for the last few), so the prompt a
|
|
187
|
+
* stuck model reads stays short and specific.
|
|
188
|
+
*/
|
|
189
|
+
recentFailures(limit = 3) {
|
|
190
|
+
return this.failures.slice(-Math.max(1, limit)).map((f) => ({ tool: f.tool, action: f.action, detail: f.detail }));
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* The action that has failed MORE THAN ONCE, with its count — or null when no
|
|
194
|
+
* action has repeated.
|
|
195
|
+
*
|
|
196
|
+
* The single signal a stuck run needs: "I have tried this exact thing N times
|
|
197
|
+
* and it has failed every time." Deliberately counts by ACTION (the command /
|
|
198
|
+
* path), not by tool: `run_terminal` failing once on `npm test` and once on
|
|
199
|
+
* `npm build` is normal iteration, while the SAME command failing twice is a
|
|
200
|
+
* loop that will not resolve by trying it a third time.
|
|
201
|
+
*/
|
|
202
|
+
repeatedFailure() {
|
|
203
|
+
const counts = new Map();
|
|
204
|
+
for (const f of this.failures) {
|
|
205
|
+
const key = `${f.tool}\u0000${f.action}`;
|
|
206
|
+
const hit = counts.get(key);
|
|
207
|
+
if (hit) {
|
|
208
|
+
hit.times += 1;
|
|
209
|
+
hit.detail = f.detail;
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
counts.set(key, { tool: f.tool, action: f.action, times: 1, detail: f.detail });
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
let worst = null;
|
|
216
|
+
for (const entry of counts.values()) {
|
|
217
|
+
if (entry.times >= 2 && (!worst || entry.times > worst.times))
|
|
218
|
+
worst = entry;
|
|
219
|
+
}
|
|
220
|
+
return worst;
|
|
221
|
+
}
|
|
167
222
|
recordMutation(tool, path) {
|
|
168
223
|
this.mutations.push({ tool, ...(path ? { path } : {}), at: Date.now() });
|
|
169
224
|
if (this.mutations.length > MAX_TRACE_ENTRIES)
|
|
@@ -289,6 +344,52 @@ export function repeatNudge(question, answer) {
|
|
|
289
344
|
'of repeating the question. Repeating a question the user has answered is the one ' +
|
|
290
345
|
'behaviour they will read as the agent being stuck.');
|
|
291
346
|
}
|
|
347
|
+
/**
|
|
348
|
+
* The correction handed back when the SAME action has failed more than once.
|
|
349
|
+
*
|
|
350
|
+
* This is the loop's missing self-diagnosis. A run that re-issues the identical
|
|
351
|
+
* command and gets the identical failure is not "trying again" — it is
|
|
352
|
+
* rediscovering the same wall, and the next attempt will hit it too. The nudge
|
|
353
|
+
* does not tell the model what the cause is (it does not know); it demands that
|
|
354
|
+
* the model STOP and diagnose: state the cause, and change the APPROACH rather
|
|
355
|
+
* than the command. Crucially it forbids the one move that produced the loop —
|
|
356
|
+
* asking the user for permission to run the same failing command again.
|
|
357
|
+
*/
|
|
358
|
+
export function repeatedFailureNudge(failure) {
|
|
359
|
+
return (`You have run the SAME action ${failure.times} times and it has FAILED every time: ` +
|
|
360
|
+
`\`${failure.action}\` (${failure.tool}).\n` +
|
|
361
|
+
`Most recent failure: ${failure.detail}\n` +
|
|
362
|
+
'STOP retrying it. Repeating an identical failing action is a loop, not progress. ' +
|
|
363
|
+
'Before you do anything else, DIAGNOSE: (1) state the ROOT CAUSE of the failure in one line, ' +
|
|
364
|
+
'(2) name the specific thing that must change (a missing tool, a wrong path, a config value, ' +
|
|
365
|
+
'a version mismatch), and (3) take a DIFFERENT action that addresses that cause — or, if the ' +
|
|
366
|
+
'blocker is genuinely outside your reach, say so plainly and stop. Do NOT ask the user for ' +
|
|
367
|
+
'permission to run the same failing command again.');
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* The correction handed back when the run has taken several steps in a row and
|
|
371
|
+
* NONE of them succeeded — the generalisation of {@link repeatedFailureNudge}.
|
|
372
|
+
*
|
|
373
|
+
* `repeatedFailure` catches the identical action retried verbatim. A weaker run
|
|
374
|
+
* loops in a second shape that it misses entirely: it keeps substituting a
|
|
375
|
+
* different command each step, every one of them failing the same underlying
|
|
376
|
+
* way (`npx tauri build` → `cargo build` → `rustc …`, all against a missing
|
|
377
|
+
* toolchain). Nothing repeats exactly, so nothing was caught, and the run burns
|
|
378
|
+
* its whole budget rediscovering one wall. This nudge names the shared failure
|
|
379
|
+
* and demands the same diagnosis — cause first, then a different APPROACH.
|
|
380
|
+
*/
|
|
381
|
+
export function noProgressNudge(failures, steps) {
|
|
382
|
+
const listed = failures.length > 0
|
|
383
|
+
? failures.map((f) => ` • ${f.tool}: \`${f.action}\` → ${f.detail}`).join('\n')
|
|
384
|
+
: ' • (no single action repeated, but none of them succeeded)';
|
|
385
|
+
return (`You have made ${steps} attempts in a row and NONE of them succeeded:\n${listed}\n` +
|
|
386
|
+
'This is a STALL, not progress. Do NOT keep substituting commands that fail the same way. ' +
|
|
387
|
+
'Before you do anything else, DIAGNOSE: (1) state in ONE line why these attempts are failing — ' +
|
|
388
|
+
'name the shared cause if there is one (a missing dependency or toolchain, an unconfigured tool, ' +
|
|
389
|
+
'the wrong directory, a permission wall, a version mismatch); (2) name the ONE thing that must ' +
|
|
390
|
+
'change; and (3) take a DIFFERENT action that addresses that cause — or, if the blocker is ' +
|
|
391
|
+
'genuinely outside your reach, say plainly and specifically what it is and stop.');
|
|
392
|
+
}
|
|
292
393
|
// ─── Frame detection: when is the user asking ABOUT the run? ────────────────
|
|
293
394
|
/**
|
|
294
395
|
* The user asking about the agent's OWN behaviour ("why are you asking me this
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-trace.js","sourceRoot":"","sources":["../../src/learning/run-trace.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-trace.js","sourceRoot":"","sources":["../../src/learning/run-trace.ts"],"names":[],"mappings":"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"}
|
|
@@ -136,6 +136,33 @@ export declare function findLoopSkillMatch(goal: string, cm?: ConfigManager): Pr
|
|
|
136
136
|
export declare function buildLoopSkillHint(goal: string, cm?: ConfigManager, injected?: {
|
|
137
137
|
value: LoopSkillHintMatch | null;
|
|
138
138
|
}): Promise<string>;
|
|
139
|
+
/**
|
|
140
|
+
* A bounded CATALOG of available skills for the system prompt — the model-facing
|
|
141
|
+
* replacement for keyword auto-injection.
|
|
142
|
+
*
|
|
143
|
+
* WHY THIS REPLACES THE MATCHER: a word list cannot decide whether "blood test
|
|
144
|
+
* report" is software testing, and every stopword added to force it right made
|
|
145
|
+
* some real match wrong. The model can read the same catalog and judge instantly,
|
|
146
|
+
* so the fix is to STOP deciding in code and hand the model the list: name + a
|
|
147
|
+
* one-line description each, plus the exact `skill` tool syntax to load one. This
|
|
148
|
+
* scales to infinite permutations with no maintenance and no false positives —
|
|
149
|
+
* the model loads a skill only when it actually applies.
|
|
150
|
+
*
|
|
151
|
+
* Bounded deliberately: descriptions are capped and the list is capped, so a
|
|
152
|
+
* crowded catalog cannot balloon the system prompt. Returns '' when there are no
|
|
153
|
+
* skills (nothing to say) — never a forced recommendation.
|
|
154
|
+
*
|
|
155
|
+
* @param cm ConfigManager (honors skills.disabled — a disabled skill is
|
|
156
|
+
* never listed, the same gate the tool enforces)
|
|
157
|
+
* @param opts caps: maxSkills (default 200 — the full bundled+hub catalog,
|
|
158
|
+
* so NO skill is dropped from the model's view; missing a skill
|
|
159
|
+
* is the failure this design exists to avoid), descriptionChars
|
|
160
|
+
* (default 140)
|
|
161
|
+
*/
|
|
162
|
+
export declare function buildSkillCatalogHint(cm?: ConfigManager, opts?: {
|
|
163
|
+
maxSkills?: number;
|
|
164
|
+
descriptionChars?: number;
|
|
165
|
+
}): Promise<string>;
|
|
139
166
|
/**
|
|
140
167
|
* Mark an injected skill as used (usage tracking parity with the orchestrator
|
|
141
168
|
* — compiled skills only; hub skills have no compiled usage counter). The
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-skill-hint.d.ts","sourceRoot":"","sources":["../../src/tools/loop-skill-hint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,GAAG,KAAK,CAAC;CAC5B;
|
|
1
|
+
{"version":3,"file":"loop-skill-hint.d.ts","sourceRoot":"","sources":["../../src/tools/loop-skill-hint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,GAAG,KAAK,CAAC;CAC5B;AA8MD,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACnF,OAAO,CAiDT;AAYD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAChG,OAAO,CAIT;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,EAAE,CAAC,EAAE,aAAa,GACjB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAuCpC;AAmCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,EAAE,CAAC,EAAE,aAAa,EAClB,QAAQ,CAAC,EAAE;IAAE,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAA;CAAE,GAC9C,OAAO,CAAC,MAAM,CAAC,CAsCjB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,qBAAqB,CACzC,EAAE,CAAC,EAAE,aAAa,EAClB,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAO,GAC3D,OAAO,CAAC,MAAM,CAAC,CA2CjB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAQvF"}
|
|
@@ -66,7 +66,113 @@ const PATTERN_STOPWORDS = new Set([
|
|
|
66
66
|
'into', 'user', 'users', 'want', 'wants', 'need', 'needs', 'request',
|
|
67
67
|
'requests', 'help', 'make', 'using', 'used', 'work', 'works', 'some',
|
|
68
68
|
'onto', 'over', 'your', 'their', 'them', 'then', 'also', 'each',
|
|
69
|
+
// Generic document nouns/verbs — no domain evidence on their own.
|
|
70
|
+
//
|
|
71
|
+
// The docx skill's DESCRIPTION is long prose ("create, read, edit, or
|
|
72
|
+
// manipulate Word **documents**… produce professional **documents** with
|
|
73
|
+
// … **page** numbers"), so its generic words cleared the two-distinct-word
|
|
74
|
+
// bar for any goal that merely mentioned a document. Measured live
|
|
75
|
+
// (2026-10-03): the hub docx skill matched "Read the health report PDF …
|
|
76
|
+
// produce a thorough assessment" on exactly `documents` + `produce` + `page`
|
|
77
|
+
// — none of which names a document FORMAT.
|
|
78
|
+
'document', 'documents', 'produce', 'produces', 'page', 'pages',
|
|
79
|
+
// Generic document/analysis verbs — no domain evidence on their own.
|
|
80
|
+
//
|
|
81
|
+
// Measured live (2026-10-03): "read my health report - blood test report
|
|
82
|
+
// and share me findings which are concerning and what changes i should do"
|
|
83
|
+
// activated the **docx** skill and injected its whole "a .docx is a ZIP
|
|
84
|
+
// archive of XML files / read with pandoc / unzip → edit word/document.xml"
|
|
85
|
+
// methodology into a PDF lab-report turn — the model then reported the PDF
|
|
86
|
+
// as a .docx with blank tables. The two "domain" words that cleared the
|
|
87
|
+
// two-word bar were `read` (from the docx goalPattern) and `changes` (from
|
|
88
|
+
// the description's "tracked changes"); neither names a document FORMAT.
|
|
89
|
+
//
|
|
90
|
+
// A FORMAT skill must match on its format NAME or a domain TAG, never on the
|
|
91
|
+
// generic act of reading or on the noun "changes". Deliberately narrow: only
|
|
92
|
+
// the two words observed in the false positive are excluded, so skills whose
|
|
93
|
+
// real evidence is `create`/`build`/`edit`/`convert` are unaffected.
|
|
94
|
+
'read', 'reads', 'reading', 'changes', 'changed', 'changing',
|
|
95
|
+
]);
|
|
96
|
+
/**
|
|
97
|
+
* Skill-NAME words that are too generic to be evidence on their own.
|
|
98
|
+
*
|
|
99
|
+
* A skill's name is normally its strongest evidence — `wsl-setup` fires on
|
|
100
|
+
* "wsl", `docker-config` on "docker". But a handful of skill names are built
|
|
101
|
+
* from ordinary English words that carry a DIFFERENT meaning outside software:
|
|
102
|
+
* `test` is also a medical/chemical noun (a blood test), a school noun, a
|
|
103
|
+
* quality noun. Measured live (2026-10-03): the goal "read my health report -
|
|
104
|
+
* blood test report and share me findings…" matched the **test-strategy**
|
|
105
|
+
* skill on the single name word `test` and would have injected a
|
|
106
|
+
* unit/integration/e2e software-testing methodology into a lab-report turn.
|
|
107
|
+
*
|
|
108
|
+
* A generic name word is NOT thrown away — it is DEMOTED: it counts as
|
|
109
|
+
* evidence only when the goal uses it as the action (a leading/verb use, e.g.
|
|
110
|
+
* "test the project") or when the skill's own domain vocabulary corroborates
|
|
111
|
+
* it (see {@link isCompoundNounUse} and {@link hasRealGoalEvidence}).
|
|
112
|
+
*
|
|
113
|
+
* Deliberately tiny. Domain-ish names (`api`, `code`, `docx`, `docker`, `game`)
|
|
114
|
+
* stay strong on their own: `REST API` and `code review` ARE the domain, so
|
|
115
|
+
* excluding them would trade this false positive for a worse one. Only words
|
|
116
|
+
* whose NON-software sense is common enough to appear in everyday requests
|
|
117
|
+
* belong here.
|
|
118
|
+
*/
|
|
119
|
+
const GENERIC_SKILL_NAME_WORDS = new Set([
|
|
120
|
+
'test', 'tests', 'testing',
|
|
121
|
+
]);
|
|
122
|
+
/**
|
|
123
|
+
* Words that do NOT make a following token a compound-noun modifier.
|
|
124
|
+
*
|
|
125
|
+
* Used by {@link isCompoundNounUse} to tell `blood test report` (the generic
|
|
126
|
+
* word is a noun modifier, so it names no domain) from `please test the build`
|
|
127
|
+
* (the generic word is the verb, so it IS the action). Determiners, pronouns,
|
|
128
|
+
* prepositions, conjunctions, politeness and auxiliaries — the words a verb
|
|
129
|
+
* can legitimately follow.
|
|
130
|
+
*/
|
|
131
|
+
const VERB_PRECEDER_STOPWORDS = new Set([
|
|
132
|
+
...PATTERN_STOPWORDS,
|
|
133
|
+
'the', 'a', 'an', 'and', 'or', 'of', 'to', 'for', 'in', 'on', 'at', 'by',
|
|
134
|
+
'my', 'our', 'your', 'their', 'its', 'his', 'her', 'me', 'us', 'them', 'him',
|
|
135
|
+
'please', 'can', 'could', 'would', 'will', 'should', 'do', 'does', 'did',
|
|
136
|
+
'is', 'are', 'be', 'been', 'was', 'were', 'have', 'has', 'had', 'not',
|
|
137
|
+
'no', 'if', 'as', 'it', 'i', 'you', 'we', 'they', 'so', 'up', 'out',
|
|
138
|
+
'all', 'any', 'some', 'this', 'that', 'these', 'those', 'then', 'also',
|
|
139
|
+
'just', 'now', 'new', 'again', 'here', 'there',
|
|
69
140
|
]);
|
|
141
|
+
/**
|
|
142
|
+
* Is `word` used as a COMPOUND-NOUN modifier in the goal — i.e. immediately
|
|
143
|
+
* preceded by another content word?
|
|
144
|
+
*
|
|
145
|
+
* "blood test report" → `test` follows the content word `blood`, so it is a
|
|
146
|
+
* noun modifier and names no software domain. "test the project" / "please
|
|
147
|
+
* test the build" → `test` follows nothing or a determiner/auxiliary, so it is
|
|
148
|
+
* the verb and IS the action. Deterministic, no LLM.
|
|
149
|
+
*/
|
|
150
|
+
function isCompoundNounUse(goal, word) {
|
|
151
|
+
const tokens = (goal || '')
|
|
152
|
+
.toLowerCase()
|
|
153
|
+
.split(/[^a-z0-9]+/)
|
|
154
|
+
.filter((w) => w.length > 0);
|
|
155
|
+
for (let i = 1; i < tokens.length; i++) {
|
|
156
|
+
if (tokens[i] !== word)
|
|
157
|
+
continue;
|
|
158
|
+
const prev = tokens[i - 1];
|
|
159
|
+
if (prev.length > 3 && !VERB_PRECEDER_STOPWORDS.has(prev))
|
|
160
|
+
return true;
|
|
161
|
+
}
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Is this word, for THIS goal, a generic word being used as a compound-noun
|
|
166
|
+
* modifier rather than as its own domain term?
|
|
167
|
+
*
|
|
168
|
+
* The single rule every evidence loop consults: a generic name word (`test`) is
|
|
169
|
+
* dropped when the goal only uses it as a noun modifier ("blood test report"),
|
|
170
|
+
* because there it names a different domain than the skill's. Applied to name,
|
|
171
|
+
* tag and pattern evidence alike so the three can never disagree.
|
|
172
|
+
*/
|
|
173
|
+
function isDemotedGenericUse(goal, word) {
|
|
174
|
+
return GENERIC_SKILL_NAME_WORDS.has(word) && isCompoundNounUse(goal, word);
|
|
175
|
+
}
|
|
70
176
|
/**
|
|
71
177
|
* Meta-vocabulary that is ALSO excluded from TAG hits.
|
|
72
178
|
*
|
|
@@ -169,14 +275,24 @@ export function hasRealGoalEvidence(goal, skill) {
|
|
|
169
275
|
return false;
|
|
170
276
|
let nameHits = 0;
|
|
171
277
|
for (const word of skill.name.toLowerCase().split(/[^a-z0-9]+/)) {
|
|
172
|
-
if (word.length
|
|
173
|
-
|
|
278
|
+
if (word.length <= 3 || isPlatformName(word) || !tokens.has(word))
|
|
279
|
+
continue;
|
|
280
|
+
// A GENERIC name word (see GENERIC_SKILL_NAME_WORDS) is evidence only when
|
|
281
|
+
// the goal uses it as the action, not as a compound-noun modifier. A
|
|
282
|
+
// count alone did the wrong thing: the single word `test` in "blood test
|
|
283
|
+
// report" cleared `nameHits >= 1` and activated the software-testing
|
|
284
|
+
// skill on a lab-report turn. `please test the project` still counts (a
|
|
285
|
+
// verb use), and `run the unit tests` counts below via its domain words.
|
|
286
|
+
if (isDemotedGenericUse(goal, word))
|
|
287
|
+
continue;
|
|
288
|
+
nameHits++;
|
|
174
289
|
}
|
|
175
290
|
let tagHits = 0;
|
|
176
291
|
for (const tag of skill.tags ?? []) {
|
|
177
292
|
const t = tag.toLowerCase().trim();
|
|
178
|
-
// Generic process vocabulary is not goal evidence (see GENERIC_SKILL_TAGS)
|
|
179
|
-
|
|
293
|
+
// Generic process vocabulary is not goal evidence (see GENERIC_SKILL_TAGS),
|
|
294
|
+
// and a generic word used only as a noun modifier is not either.
|
|
295
|
+
if (t.length > 3 && !GENERIC_SKILL_TAGS.has(t) && !isPlatformName(t) && !isDemotedGenericUse(goal, t) && tokens.has(t))
|
|
180
296
|
tagHits++;
|
|
181
297
|
}
|
|
182
298
|
// Pattern-level evidence: the skill's own goalPattern words, plus (for a hub
|
|
@@ -197,7 +313,7 @@ export function hasRealGoalEvidence(goal, skill) {
|
|
|
197
313
|
const evidenceText = `${skill.goalPattern ?? ''} ${skill.description ?? ''}`;
|
|
198
314
|
for (const word of evidenceText.toLowerCase().split(/[^a-z0-9]+/)) {
|
|
199
315
|
const w = word.trim();
|
|
200
|
-
if (w.length > 3 && !PATTERN_STOPWORDS.has(w) && !GENERIC_SKILL_TAGS.has(w) && !isPlatformName(w) && tokens.has(w)) {
|
|
316
|
+
if (w.length > 3 && !PATTERN_STOPWORDS.has(w) && !GENERIC_SKILL_TAGS.has(w) && !isPlatformName(w) && !isDemotedGenericUse(goal, w) && tokens.has(w)) {
|
|
201
317
|
patternHits.add(w);
|
|
202
318
|
}
|
|
203
319
|
}
|
|
@@ -364,6 +480,74 @@ export async function buildLoopSkillHint(goal, cm, injected) {
|
|
|
364
480
|
lines.push('', `To (re)load it with parameters mid-turn, call the skill tool with {"skill":"${match.name}"}.`);
|
|
365
481
|
return lines.join('\n');
|
|
366
482
|
}
|
|
483
|
+
/**
|
|
484
|
+
* A bounded CATALOG of available skills for the system prompt — the model-facing
|
|
485
|
+
* replacement for keyword auto-injection.
|
|
486
|
+
*
|
|
487
|
+
* WHY THIS REPLACES THE MATCHER: a word list cannot decide whether "blood test
|
|
488
|
+
* report" is software testing, and every stopword added to force it right made
|
|
489
|
+
* some real match wrong. The model can read the same catalog and judge instantly,
|
|
490
|
+
* so the fix is to STOP deciding in code and hand the model the list: name + a
|
|
491
|
+
* one-line description each, plus the exact `skill` tool syntax to load one. This
|
|
492
|
+
* scales to infinite permutations with no maintenance and no false positives —
|
|
493
|
+
* the model loads a skill only when it actually applies.
|
|
494
|
+
*
|
|
495
|
+
* Bounded deliberately: descriptions are capped and the list is capped, so a
|
|
496
|
+
* crowded catalog cannot balloon the system prompt. Returns '' when there are no
|
|
497
|
+
* skills (nothing to say) — never a forced recommendation.
|
|
498
|
+
*
|
|
499
|
+
* @param cm ConfigManager (honors skills.disabled — a disabled skill is
|
|
500
|
+
* never listed, the same gate the tool enforces)
|
|
501
|
+
* @param opts caps: maxSkills (default 200 — the full bundled+hub catalog,
|
|
502
|
+
* so NO skill is dropped from the model's view; missing a skill
|
|
503
|
+
* is the failure this design exists to avoid), descriptionChars
|
|
504
|
+
* (default 140)
|
|
505
|
+
*/
|
|
506
|
+
export async function buildSkillCatalogHint(cm, opts = {}) {
|
|
507
|
+
const maxSkills = opts.maxSkills ?? 200;
|
|
508
|
+
const descChars = opts.descriptionChars ?? 140;
|
|
509
|
+
const entries = [];
|
|
510
|
+
// Compiled first-party skills.
|
|
511
|
+
try {
|
|
512
|
+
const { getSkillStore } = await import('../learning/skill-store.js');
|
|
513
|
+
for (const skill of getSkillStore().getAll()) {
|
|
514
|
+
if (isDisabled(skill.id, cm))
|
|
515
|
+
continue;
|
|
516
|
+
entries.push({ name: skill.name, description: skill.description ?? '' });
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
catch {
|
|
520
|
+
// Best-effort — a store failure must not remove the hub half.
|
|
521
|
+
}
|
|
522
|
+
// Hub (installed SKILL.md) skills.
|
|
523
|
+
try {
|
|
524
|
+
const { listMatchableHubSkills } = await import('../learning/hub-skill-catalog.js');
|
|
525
|
+
for (const skill of listMatchableHubSkills(cm)) {
|
|
526
|
+
if (isDisabled(skill.id, cm))
|
|
527
|
+
continue;
|
|
528
|
+
if (entries.some((e) => e.name === skill.name))
|
|
529
|
+
continue;
|
|
530
|
+
entries.push({ name: skill.name, description: skill.description ?? '' });
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
catch {
|
|
534
|
+
// Best-effort — a catalog failure leaves the compiled half.
|
|
535
|
+
}
|
|
536
|
+
if (entries.length === 0)
|
|
537
|
+
return '';
|
|
538
|
+
const shown = entries.slice(0, maxSkills);
|
|
539
|
+
const lines = shown.map((e) => ` - ${e.name}: ${cap(e.description, descChars)}`);
|
|
540
|
+
const more = entries.length > shown.length ? `\n (+${entries.length - shown.length} more — call the skill tool with no name to list all)` : '';
|
|
541
|
+
return [
|
|
542
|
+
'',
|
|
543
|
+
'## Available skills',
|
|
544
|
+
'A first-party skill may fit this goal. Read the list and decide — load one with the skill tool ONLY when it genuinely applies (ignore the rest):',
|
|
545
|
+
...lines,
|
|
546
|
+
more,
|
|
547
|
+
'',
|
|
548
|
+
'Load one with the skill tool, e.g. {"skill":"<name>"} (or call it with no name to list every skill).',
|
|
549
|
+
].filter((l) => l !== undefined).join('\n');
|
|
550
|
+
}
|
|
367
551
|
/**
|
|
368
552
|
* Mark an injected skill as used (usage tracking parity with the orchestrator
|
|
369
553
|
* — compiled skills only; hub skills have no compiled usage counter). The
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-skill-hint.js","sourceRoot":"","sources":["../../src/tools/loop-skill-hint.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loop-skill-hint.js","sourceRoot":"","sources":["../../src/tools/loop-skill-hint.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,9 +71,15 @@ export interface ExtractOptions {
|
|
|
71
71
|
ocrOptions?: import('./extract/pdf-ocr.js').PdfOcrOptions;
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
74
|
-
* Character budget for one extraction
|
|
75
|
-
* a bounded context window, so the output is capped
|
|
76
|
-
*
|
|
74
|
+
* Character budget for one extraction, when nothing overrides it. Documents are
|
|
75
|
+
* unbounded input flowing into a bounded context window, so the output is capped
|
|
76
|
+
* and the truncation is stated BOTH in `metadata.truncated` and in the returned
|
|
77
|
+
* text (see {@link truncationNotice}) — a partial document is never presented as
|
|
78
|
+
* the whole one.
|
|
79
|
+
*
|
|
80
|
+
* The effective budget is `resolveExtractMaxChars()` (`NUVIRA_EXTRACT_MAX_CHARS`),
|
|
81
|
+
* so a user can raise it for a large document without a code change. This constant
|
|
82
|
+
* stays as the documented default and the value tests pin.
|
|
77
83
|
*/
|
|
78
84
|
declare const MAX_EXTRACT_CHARS = 40000;
|
|
79
85
|
declare class ReadExtractManager {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-extract.d.ts","sourceRoot":"","sources":["../../src/tools/read-extract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"read-extract.d.ts","sourceRoot":"","sources":["../../src/tools/read-extract.ts"],"names":[],"mappings":"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"}
|