koneck 2.96.0 → 2.98.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/dist/capability-claims.d.ts +24 -1
- package/dist/capability-claims.d.ts.map +1 -1
- package/dist/capability-claims.js +36 -5
- package/dist/capability-claims.js.map +1 -1
- package/dist/context-limit.d.ts.map +1 -1
- package/dist/context-limit.js +15 -0
- package/dist/context-limit.js.map +1 -1
- package/dist/engine.d.ts +23 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +186 -21
- package/dist/engine.js.map +1 -1
- package/dist/identity.d.ts +16 -4
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +20 -6
- package/dist/identity.js.map +1 -1
- package/dist/lean-mode.d.ts.map +1 -1
- package/dist/lean-mode.js +8 -3
- package/dist/lean-mode.js.map +1 -1
- package/dist/tools.d.ts +19 -4
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +90 -17
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
package/dist/identity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"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"}
|
package/dist/lean-mode.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lean-mode.d.ts","sourceRoot":"","sources":["../src/lean-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,kEAAkE;AAClE,eAAO,MAAM,cAAc,OAAQ,CAAC;AAEpC;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAE5C,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAwCD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;CACtE;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,gEAAgE;IAChE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,aAAa,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC,GAC9G,UAAU,CAwBZ;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAQjE;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"lean-mode.d.ts","sourceRoot":"","sources":["../src/lean-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,kEAAkE;AAClE,eAAO,MAAM,cAAc,OAAQ,CAAC;AAEpC;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAE5C,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAwCD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;CACtE;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,gEAAgE;IAChE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,aAAa,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC,GAC9G,UAAU,CAwBZ;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAQjE;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAaxE;AAID;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,eAAe,CAAC;AAEvC,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,CAsBtE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,aAAa,CAAC;IAAE,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,GACxE,MAAM,EAAE,CAeV;AAED,yFAAyF;AACzF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAKtE"}
|
package/dist/lean-mode.js
CHANGED
|
@@ -110,12 +110,17 @@ export function leanToolNotice(dropped) {
|
|
|
110
110
|
/** What the user is told, once, so a smaller tool list is never a silent cap. */
|
|
111
111
|
export function leanModeNotice(result, limit) {
|
|
112
112
|
const tok = (chars) => `${(chars / 3.6 / 1000).toFixed(1)}k`;
|
|
113
|
-
return `**Running a reduced tool set** — the window
|
|
114
|
-
|
|
113
|
+
return `**Running a reduced tool set** — the window the server reports is ` +
|
|
114
|
+
`${(limit / 1000).toFixed(1)}k tokens, and the full tool descriptions alone come to ` +
|
|
115
|
+
`${tok(result.beforeChars)}.\n\n` +
|
|
115
116
|
`Kept: ${result.tools.map(t => t.function.name).join(', ')}. ` +
|
|
116
117
|
`Dropped ${result.dropped.length} (${tok(result.beforeChars - result.afterChars)} of ` +
|
|
117
118
|
`description), including the git tools — git still works through execute_command.\n\n` +
|
|
118
|
-
|
|
119
|
+
// Which way round this is. Nothing was taken away from the model: there was never room for it,
|
|
120
|
+
// and a description the server cuts in half is worse than one left out on purpose.
|
|
121
|
+
`Nothing here is a limit KONECK sets — the tools do not fit in what the server offers, and one ` +
|
|
122
|
+
`cut in half mid-description is worse than one deliberately left out. Raise the window and the ` +
|
|
123
|
+
`full set comes back on its own.`;
|
|
119
124
|
}
|
|
120
125
|
/* ── tools kept reachable rather than dropped ─────────────────────────────────────────────── */
|
|
121
126
|
/**
|
package/dist/lean-mode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lean-mode.js","sourceRoot":"","sources":["../src/lean-mode.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"lean-mode.js","sourceRoot":"","sources":["../src/lean-mode.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -56,15 +56,30 @@ export declare function shellFor(command: string, platform?: string, env?: NodeJ
|
|
|
56
56
|
* that were neither — Windows built-ins piped through `2>nul`, run under bash.
|
|
57
57
|
*/
|
|
58
58
|
export declare function describeShell(platform?: string, env?: NodeJS.ProcessEnv): string;
|
|
59
|
-
export declare function executeCommand(args: ExecuteCommandArgs, cwd: string, requireApproval: boolean, onOutput?: (lastLine: string) => void, sandbox?: SandboxSpec): Promise<string>;
|
|
59
|
+
export declare function executeCommand(args: ExecuteCommandArgs, cwd: string, requireApproval: boolean, onOutput?: (lastLine: string) => void, sandbox?: SandboxSpec, signal?: AbortSignal): Promise<string>;
|
|
60
|
+
/**
|
|
61
|
+
* What a tool says when the user stopped it.
|
|
62
|
+
*
|
|
63
|
+
* One wording, because the model reads these and "cancelled", "aborted" and "interrupted" invite
|
|
64
|
+
* three different guesses about whether to try again. It should not: the person asked for it to
|
|
65
|
+
* stop, and a model that immediately retries has undone the stop.
|
|
66
|
+
*/
|
|
67
|
+
export declare const STOPPED_BY_USER = "STOPPED: the user stopped this. Do not retry it. Wait for their next instruction.";
|
|
68
|
+
/**
|
|
69
|
+
* A deadline and the user's stop, as one signal.
|
|
70
|
+
*
|
|
71
|
+
* Every network call here had a timeout and no way to be cut short, so pressing stop during a fetch
|
|
72
|
+
* meant waiting out the remaining fifteen seconds with nothing on screen to say why.
|
|
73
|
+
*/
|
|
74
|
+
export declare function stopOrTimeout(ms: number, signal?: AbortSignal): AbortSignal;
|
|
60
75
|
export declare function listDir(args: ListDirArgs, cwd: string): Promise<string>;
|
|
61
76
|
export declare function globSearch(args: GlobSearchArgs, cwd: string): Promise<string>;
|
|
62
77
|
export declare function grepSearch(args: GrepSearchArgs, cwd: string): Promise<string>;
|
|
63
78
|
export declare function moveFile(args: MoveFileArgs, cwd: string): Promise<string>;
|
|
64
79
|
export declare function deleteFile(args: DeleteFileArgs, cwd: string, requireApproval: boolean): Promise<string>;
|
|
65
80
|
export declare function searchReplace(args: SearchReplaceArgs, cwd: string, requireApproval: boolean): Promise<string>;
|
|
66
|
-
export declare function fetchUrl(args: FetchUrlArgs): Promise<string>;
|
|
67
|
-
export declare function webSearch(args: WebSearchArgs): Promise<string>;
|
|
81
|
+
export declare function fetchUrl(args: FetchUrlArgs, signal?: AbortSignal): Promise<string>;
|
|
82
|
+
export declare function webSearch(args: WebSearchArgs, signal?: AbortSignal): Promise<string>;
|
|
68
83
|
/**
|
|
69
84
|
* Whether a note belongs in a file that every future session reads as fact.
|
|
70
85
|
*
|
|
@@ -156,7 +171,7 @@ export declare function writeTargets(tool: string, parsed: unknown): string[];
|
|
|
156
171
|
* "that write did not happen" — looked exactly like success.
|
|
157
172
|
*/
|
|
158
173
|
export declare function isToolFailure(result: string): boolean;
|
|
159
|
-
export declare function dispatchTool(name: string, argsJson: string, cwd: string, requireApproval: boolean, onOutput?: (lastLine: string) => void, sandbox?: SandboxSpec): Promise<string>;
|
|
174
|
+
export declare function dispatchTool(name: string, argsJson: string, cwd: string, requireApproval: boolean, onOutput?: (lastLine: string) => void, sandbox?: SandboxSpec, signal?: AbortSignal): Promise<string>;
|
|
160
175
|
export interface CodeLookupArgs {
|
|
161
176
|
what?: string;
|
|
162
177
|
path?: string;
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAka5C,CAAC;AAIF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,MAAM,CAAC;AAyClC,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BjF;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,OAAO,GACvB,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,OAAO,GACvB,OAAO,CAAC,MAAM,CAAC,CA0CjB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,QAAc,CAAC;AAwB1C,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,SAAK,GACX;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAOlC;AAED,oFAAoF;AACpF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG7C;AAGD;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CACtB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAyB,EACnC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAoBpE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,GAAE,MAAyB,EACnC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAIR;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,OAAO,EACxB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EACrC,OAAO,GAAE,WAAgD,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.js
CHANGED
|
@@ -625,7 +625,11 @@ export function describeShell(platform = process.platform, env = process.env) {
|
|
|
625
625
|
? (env['ComSpec'] ?? 'cmd.exe')
|
|
626
626
|
: (env['SHELL'] ?? '/bin/sh');
|
|
627
627
|
}
|
|
628
|
-
export async function executeCommand(args, cwd, requireApproval, onOutput, sandbox = { mode: 'off', writableRoots: [] }) {
|
|
628
|
+
export async function executeCommand(args, cwd, requireApproval, onOutput, sandbox = { mode: 'off', writableRoots: [] }, signal) {
|
|
629
|
+
// Nothing is started after the stop. A build kicked off a moment too late still has to be waited
|
|
630
|
+
// for, or killed as its first act, both of which are avoidable by not starting it.
|
|
631
|
+
if (signal?.aborted)
|
|
632
|
+
return STOPPED_BY_USER;
|
|
629
633
|
if (requireApproval) {
|
|
630
634
|
const approved = await tui.confirmCommand(args.command);
|
|
631
635
|
if (!approved)
|
|
@@ -702,12 +706,37 @@ export async function executeCommand(args, cwd, requireApproval, onOutput, sandb
|
|
|
702
706
|
});
|
|
703
707
|
}
|
|
704
708
|
const TIMED_OUT = Symbol('timed-out');
|
|
709
|
+
const STOPPED = Symbol('stopped');
|
|
705
710
|
let timer;
|
|
706
711
|
const deadline = new Promise(resolve => {
|
|
707
712
|
timer = setTimeout(() => resolve(TIMED_OUT), ms);
|
|
708
713
|
});
|
|
714
|
+
/*
|
|
715
|
+
* The user's stop, racing the command alongside its deadline.
|
|
716
|
+
*
|
|
717
|
+
* This is where a stop was actually being spent. A command is the slowest thing here by a wide
|
|
718
|
+
* margin — a build, a test run, an install — and pressing stop did not reach it at all: the race
|
|
719
|
+
* was the command against its own timeout, so stopping during `npm install` meant waiting for
|
|
720
|
+
* npm, or for the two-minute ceiling. Killing the group is the same machinery a timeout uses,
|
|
721
|
+
* which is what makes it reach a backgrounded grandchild rather than just the shell.
|
|
722
|
+
*/
|
|
723
|
+
const stopped = new Promise(resolve => {
|
|
724
|
+
if (!signal)
|
|
725
|
+
return; // never resolves: nothing to wait on
|
|
726
|
+
if (signal.aborted) {
|
|
727
|
+
resolve(STOPPED);
|
|
728
|
+
return;
|
|
729
|
+
}
|
|
730
|
+
signal.addEventListener('abort', () => resolve(STOPPED), { once: true });
|
|
731
|
+
});
|
|
709
732
|
try {
|
|
710
|
-
const outcome = await Promise.race([child.then(r => r), deadline]);
|
|
733
|
+
const outcome = await Promise.race([child.then(r => r), deadline, stopped]);
|
|
734
|
+
if (outcome === STOPPED) {
|
|
735
|
+
killTree(child.pid);
|
|
736
|
+
const tail = collected.trim();
|
|
737
|
+
return STOPPED_BY_USER + '\n' + `The command was killed: ${args.command}\n`
|
|
738
|
+
+ (tail ? `Output before it was stopped:\n${tail}` : 'It had printed nothing yet.');
|
|
739
|
+
}
|
|
711
740
|
if (outcome === TIMED_OUT) {
|
|
712
741
|
killTree(child.pid);
|
|
713
742
|
const tail = collected.trim();
|
|
@@ -759,6 +788,24 @@ export async function executeCommand(args, cwd, requireApproval, onOutput, sandb
|
|
|
759
788
|
void Promise.resolve(child).catch(() => { });
|
|
760
789
|
}
|
|
761
790
|
}
|
|
791
|
+
/**
|
|
792
|
+
* What a tool says when the user stopped it.
|
|
793
|
+
*
|
|
794
|
+
* One wording, because the model reads these and "cancelled", "aborted" and "interrupted" invite
|
|
795
|
+
* three different guesses about whether to try again. It should not: the person asked for it to
|
|
796
|
+
* stop, and a model that immediately retries has undone the stop.
|
|
797
|
+
*/
|
|
798
|
+
export const STOPPED_BY_USER = 'STOPPED: the user stopped this. Do not retry it. Wait for their next instruction.';
|
|
799
|
+
/**
|
|
800
|
+
* A deadline and the user's stop, as one signal.
|
|
801
|
+
*
|
|
802
|
+
* Every network call here had a timeout and no way to be cut short, so pressing stop during a fetch
|
|
803
|
+
* meant waiting out the remaining fifteen seconds with nothing on screen to say why.
|
|
804
|
+
*/
|
|
805
|
+
export function stopOrTimeout(ms, signal) {
|
|
806
|
+
const deadline = AbortSignal.timeout(ms);
|
|
807
|
+
return signal ? AbortSignal.any([signal, deadline]) : deadline;
|
|
808
|
+
}
|
|
762
809
|
/**
|
|
763
810
|
* Kills a command and everything it started.
|
|
764
811
|
*
|
|
@@ -1036,12 +1083,14 @@ function stripHtml(html) {
|
|
|
1036
1083
|
.replace(/\s+/g, ' ')
|
|
1037
1084
|
.trim();
|
|
1038
1085
|
}
|
|
1039
|
-
export async function fetchUrl(args) {
|
|
1086
|
+
export async function fetchUrl(args, signal) {
|
|
1040
1087
|
const maxChars = args.max_chars ?? 20_000;
|
|
1041
1088
|
try {
|
|
1042
1089
|
const response = await fetch(args.url, {
|
|
1043
1090
|
headers: { 'User-Agent': 'KONECK/1.0 (AI coding agent)' },
|
|
1044
|
-
|
|
1091
|
+
// The deadline and the user's stop, together: whichever comes first ends it. Fifteen seconds
|
|
1092
|
+
// of waiting after pressing stop is fifteen seconds of the thing looking stuck.
|
|
1093
|
+
signal: stopOrTimeout(15_000, signal),
|
|
1045
1094
|
});
|
|
1046
1095
|
if (!response.ok) {
|
|
1047
1096
|
return `ERROR: HTTP ${response.status} ${response.statusText} fetching ${args.url}`;
|
|
@@ -1060,12 +1109,12 @@ export async function fetchUrl(args) {
|
|
|
1060
1109
|
}
|
|
1061
1110
|
}
|
|
1062
1111
|
// ─── web_search ───────────────────────────────────────────────────────────────
|
|
1063
|
-
async function braveSearch(query, n, key) {
|
|
1112
|
+
async function braveSearch(query, n, key, signal) {
|
|
1064
1113
|
const url = 'https://api.search.brave.com/res/v1/web/search?q=' +
|
|
1065
1114
|
encodeURIComponent(query) + '&count=' + String(n);
|
|
1066
1115
|
const res = await fetch(url, {
|
|
1067
1116
|
headers: { Accept: 'application/json', 'X-Subscription-Token': key },
|
|
1068
|
-
signal:
|
|
1117
|
+
signal: stopOrTimeout(10_000, signal),
|
|
1069
1118
|
});
|
|
1070
1119
|
if (!res.ok)
|
|
1071
1120
|
return `ERROR: Brave Search returned HTTP ${res.status}`;
|
|
@@ -1077,12 +1126,12 @@ async function braveSearch(query, n, key) {
|
|
|
1077
1126
|
.map((r, i) => `${i + 1}. ${r.title}\n ${r.url}\n ${r.description ?? ''}`)
|
|
1078
1127
|
.join('\n\n');
|
|
1079
1128
|
}
|
|
1080
|
-
async function serperSearch(query, n, key) {
|
|
1129
|
+
async function serperSearch(query, n, key, signal) {
|
|
1081
1130
|
const res = await fetch('https://google.serper.dev/search', {
|
|
1082
1131
|
method: 'POST',
|
|
1083
1132
|
headers: { 'Content-Type': 'application/json', 'X-API-KEY': key },
|
|
1084
1133
|
body: JSON.stringify({ q: query, num: n }),
|
|
1085
|
-
signal:
|
|
1134
|
+
signal: stopOrTimeout(10_000, signal),
|
|
1086
1135
|
});
|
|
1087
1136
|
if (!res.ok)
|
|
1088
1137
|
return `ERROR: Serper returned HTTP ${res.status}`;
|
|
@@ -1094,23 +1143,29 @@ async function serperSearch(query, n, key) {
|
|
|
1094
1143
|
.map((r, i) => `${i + 1}. ${r.title}\n ${r.link}\n ${r.snippet ?? ''}`)
|
|
1095
1144
|
.join('\n\n');
|
|
1096
1145
|
}
|
|
1097
|
-
export async function webSearch(args) {
|
|
1146
|
+
export async function webSearch(args, signal) {
|
|
1098
1147
|
const n = Math.min(args.num_results ?? 5, 10);
|
|
1148
|
+
if (signal?.aborted)
|
|
1149
|
+
return STOPPED_BY_USER;
|
|
1099
1150
|
const braveKey = process.env['BRAVE_API_KEY'];
|
|
1100
1151
|
if (braveKey) {
|
|
1101
1152
|
try {
|
|
1102
|
-
return await braveSearch(args.query, n, braveKey);
|
|
1153
|
+
return await braveSearch(args.query, n, braveKey, signal);
|
|
1103
1154
|
}
|
|
1104
1155
|
catch (err) {
|
|
1156
|
+
if (signal?.aborted)
|
|
1157
|
+
return STOPPED_BY_USER;
|
|
1105
1158
|
return `ERROR: ${err instanceof Error ? err.message : String(err)}`;
|
|
1106
1159
|
}
|
|
1107
1160
|
}
|
|
1108
1161
|
const serperKey = process.env['SERPER_API_KEY'];
|
|
1109
1162
|
if (serperKey) {
|
|
1110
1163
|
try {
|
|
1111
|
-
return await serperSearch(args.query, n, serperKey);
|
|
1164
|
+
return await serperSearch(args.query, n, serperKey, signal);
|
|
1112
1165
|
}
|
|
1113
1166
|
catch (err) {
|
|
1167
|
+
if (signal?.aborted)
|
|
1168
|
+
return STOPPED_BY_USER;
|
|
1114
1169
|
return `ERROR: ${err instanceof Error ? err.message : String(err)}`;
|
|
1115
1170
|
}
|
|
1116
1171
|
}
|
|
@@ -1466,7 +1521,16 @@ export function isToolFailure(result) {
|
|
|
1466
1521
|
|| result.startsWith('POLICY BLOCKED:')
|
|
1467
1522
|
|| result.startsWith('DENIED:');
|
|
1468
1523
|
}
|
|
1469
|
-
export async function dispatchTool(name, argsJson, cwd, requireApproval, onOutput, sandbox = { mode: 'off', writableRoots: [] }
|
|
1524
|
+
export async function dispatchTool(name, argsJson, cwd, requireApproval, onOutput, sandbox = { mode: 'off', writableRoots: [] },
|
|
1525
|
+
/*
|
|
1526
|
+
* How a tool already running is stopped.
|
|
1527
|
+
*
|
|
1528
|
+
* There was no way to. Pressing stop reached the engine at once and then waited for whatever was
|
|
1529
|
+
* in flight — a command building a project, a page loading, a fetch with a thirty-second
|
|
1530
|
+
* timeout — because nothing below this point had ever been told. The tools that take real time
|
|
1531
|
+
* take it here, so this is where stopping has to arrive.
|
|
1532
|
+
*/
|
|
1533
|
+
signal) {
|
|
1470
1534
|
let parsed;
|
|
1471
1535
|
try {
|
|
1472
1536
|
parsed = JSON.parse(normalizeToolArgs(name, argsJson));
|
|
@@ -1491,7 +1555,7 @@ export async function dispatchTool(name, argsJson, cwd, requireApproval, onOutpu
|
|
|
1491
1555
|
case 'apply_diff':
|
|
1492
1556
|
return applyDiff(parsed, cwd, requireApproval);
|
|
1493
1557
|
case 'execute_command':
|
|
1494
|
-
return executeCommand(parsed, cwd, requireApproval, onOutput, sandbox);
|
|
1558
|
+
return executeCommand(parsed, cwd, requireApproval, onOutput, sandbox, signal);
|
|
1495
1559
|
case 'list_dir':
|
|
1496
1560
|
return listDir(parsed, cwd);
|
|
1497
1561
|
case 'glob_search':
|
|
@@ -1501,7 +1565,7 @@ export async function dispatchTool(name, argsJson, cwd, requireApproval, onOutpu
|
|
|
1501
1565
|
case 'code_lookup':
|
|
1502
1566
|
return codeLookup(parsed, cwd);
|
|
1503
1567
|
case 'browser':
|
|
1504
|
-
return browserTool(parsed);
|
|
1568
|
+
return browserTool(parsed, signal);
|
|
1505
1569
|
case 'move_file':
|
|
1506
1570
|
return moveFile(parsed, cwd);
|
|
1507
1571
|
case 'delete_file':
|
|
@@ -1509,11 +1573,11 @@ export async function dispatchTool(name, argsJson, cwd, requireApproval, onOutpu
|
|
|
1509
1573
|
case 'search_replace':
|
|
1510
1574
|
return searchReplace(parsed, cwd, requireApproval);
|
|
1511
1575
|
case 'fetch_url':
|
|
1512
|
-
return fetchUrl(parsed);
|
|
1576
|
+
return fetchUrl(parsed, signal);
|
|
1513
1577
|
case 'remember':
|
|
1514
1578
|
return remember(parsed, cwd);
|
|
1515
1579
|
case 'web_search':
|
|
1516
|
-
return webSearch(parsed);
|
|
1580
|
+
return webSearch(parsed, signal);
|
|
1517
1581
|
default:
|
|
1518
1582
|
if (name.startsWith('git_'))
|
|
1519
1583
|
return dispatchGitTool(name, argsJson, cwd);
|
|
@@ -1611,8 +1675,17 @@ export async function closeBrowser() {
|
|
|
1611
1675
|
sharedBrowser = null;
|
|
1612
1676
|
await open?.stop();
|
|
1613
1677
|
}
|
|
1614
|
-
async function browserTool(args) {
|
|
1678
|
+
async function browserTool(args, signal) {
|
|
1615
1679
|
const action = String(args.action ?? '').trim();
|
|
1680
|
+
/*
|
|
1681
|
+
* Nothing new is started after the stop, and closing is still allowed.
|
|
1682
|
+
*
|
|
1683
|
+
* A page load is the second-slowest thing here — up to fifteen seconds on the thorough setting —
|
|
1684
|
+
* and starting one after the user has said stop only adds that wait to the stop. Close is exempt
|
|
1685
|
+
* because it is how a browser left open gets shut, and refusing it would leak a Chromium.
|
|
1686
|
+
*/
|
|
1687
|
+
if (signal?.aborted && action !== 'close')
|
|
1688
|
+
return STOPPED_BY_USER;
|
|
1616
1689
|
if (action === 'close') {
|
|
1617
1690
|
await closeBrowser();
|
|
1618
1691
|
fruitless = 0;
|