openfox 2.0.135 → 2.0.137
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 +33 -0
- package/dist/CHANGELOG.md +33 -0
- package/dist/agent-defaults/builder.agent.md +1 -0
- package/dist/agent-defaults/planner.agent.md +1 -0
- package/dist/{ask-UBIRH3SO.js → ask-46J5WYRL.js} +2 -2
- package/dist/{auto-config-5VSNLVNI.js → auto-config-2A7Y2WOK.js} +25 -6
- package/dist/{backend-NDBY3DAQ.js → backend-24FTDSHF.js} +4 -2
- package/dist/{chat-handler-WGDFMOOD.js → chat-handler-ZCPFNHTE.js} +30 -26
- package/dist/{chunk-QZOV4OVN.js → chunk-2OO46UAW.js} +5 -5
- package/dist/{chunk-7QMWYNVF.js → chunk-4LLGI372.js} +2 -2
- package/dist/chunk-4SBVW4UH.js +24 -0
- package/dist/{chunk-ZMK4VX7V.js → chunk-64YDOCQR.js} +53 -21
- package/dist/{chunk-VHLD6PCZ.js → chunk-6TQNTFJW.js} +17 -11
- package/dist/{chunk-UV6IH6HK.js → chunk-AKWJMMEJ.js} +15 -1
- package/dist/{chunk-ORCQ3EXQ.js → chunk-BHVR2YS5.js} +2 -2
- package/dist/{chunk-S67WIWUG.js → chunk-DG2YSWMC.js} +40 -6
- package/dist/chunk-FG4G4EWB.js +7 -0
- package/dist/{chunk-NFEZATSN.js → chunk-FIQPKLDY.js} +8 -8
- package/dist/chunk-FSSUPWYO.js +336 -0
- package/dist/{chunk-5UQ4CKOA.js → chunk-G5GUQKLS.js} +27 -6
- package/dist/{chunk-7ET46SNE.js → chunk-HEYU7FAY.js} +3 -3
- package/dist/{chunk-4R5GV7RW.js → chunk-JIS6C6PA.js} +21 -21
- package/dist/{chunk-5H5NRWHA.js → chunk-LQPAM55V.js} +12 -10
- package/dist/{chunk-MEEUXRFL.js → chunk-MMGHIPBU.js} +72 -54
- package/dist/{chunk-O3RCSKUH.js → chunk-MOYWDP73.js} +2 -2
- package/dist/{chunk-J3NMNYGM.js → chunk-N5JKVNLH.js} +2 -2
- package/dist/{chunk-DWA4IE65.js → chunk-Q33DL67W.js} +2 -2
- package/dist/{chunk-OZWHRBDY.js → chunk-QBWJCO5K.js} +12 -29
- package/dist/{chunk-EUOWCVU6.js → chunk-QMU3ZY2C.js} +37 -341
- package/dist/{chunk-CTWZPN7G.js → chunk-QUAEH3MP.js} +29 -1
- package/dist/{chunk-BIZFY3QP.js → chunk-RS7I4W5A.js} +212 -148
- package/dist/{chunk-5UMXFLET.js → chunk-SAGDTQXD.js} +3 -3
- package/dist/{chunk-UKIUQAQZ.js → chunk-U7XCK7WL.js} +4 -4
- package/dist/{chunk-JURM3RPZ.js → chunk-V5AC2TV7.js} +8 -13
- package/dist/{chunk-JE7LW7Y6.js → chunk-VIJVLLPT.js} +12 -3
- package/dist/{chunk-2AI7VYPN.js → chunk-VKMPR25F.js} +9 -3
- package/dist/{chunk-IAT2LBIX.js → chunk-WOIQO7ZC.js} +4 -4
- package/dist/chunk-WQUCCHOY.js +1155 -0
- package/dist/{chunk-F2MOHHXB.js → chunk-X4PVR6AW.js} +2 -2
- package/dist/chunk-XG3AUMPI.js +72 -0
- package/dist/{chunk-I5ODJKYM.js → chunk-XWWRZSK7.js} +162 -6
- package/dist/{chunk-GP3CLMPQ.js → chunk-ZJ2IHOVN.js} +23 -23
- package/dist/{chunk-ESZQTFQP.js → chunk-ZQENKB7X.js} +86 -1010
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/client-MVI3J7SN.js +18 -0
- package/dist/{client-pure-FLKP6PTI.js → client-pure-YZ4IGCU4.js} +4 -2
- package/dist/{compactor-454UEIEX.js → compactor-KDTY4ERE.js} +14 -12
- package/dist/describe-image-EFHMWGWI.js +30 -0
- package/dist/{dynamic-context-LKC6JYLQ.js → dynamic-context-HL4RGNHK.js} +12 -10
- package/dist/{events-335XAKFK.js → events-ADE2KEHI.js} +7 -9
- package/dist/{export-import-3WMRLO4A.js → export-import-6OUEANYH.js} +7 -7
- package/dist/{folding-H7JTX6KI.js → folding-CM63AVSB.js} +6 -6
- package/dist/{http-client-A445WYZU.js → http-client-C6UYWVWZ.js} +3 -3
- package/dist/launch-L5NSPAAX.js +58 -0
- package/dist/{manager-ZACEUL5P.js → manager-FSPRJCYT.js} +4 -4
- package/dist/{model-catalog-2PCKTYGW.js → model-catalog-Y5MA5OZP.js} +2 -2
- package/dist/{orchestrator-JGJWTRO5.js → orchestrator-FMWKMD54.js} +29 -25
- package/dist/package.json +1 -1
- package/dist/{path-security-4LROI7F4.js → path-security-DND2R3RP.js} +8 -8
- package/dist/{platform-XPMZKAUB.js → platform-KPKYBU54.js} +3 -3
- package/dist/{processor-MSQP63ML.js → processor-SB5X44PX.js} +29 -25
- package/dist/{provider-JWUNG2TD.js → provider-SOC6Z25R.js} +10 -8
- package/dist/{provider-manager-2KKZ37XJ.js → provider-manager-Y53SVVQ3.js} +10 -8
- package/dist/{registry-BEIR7Y5G.js → registry-FMDMGIUB.js} +3 -3
- package/dist/{serve-CW5C3CBZ.js → serve-VONTGJCK.js} +41 -32
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.js +34 -30
- package/dist/server-MI2LZK3W.js +61 -0
- package/dist/{service-XIUNS5XV.js → service-NKLQH647.js} +12 -9
- package/dist/{session-overrides-LYW5PJ3R.js → session-overrides-ANQBKV74.js} +11 -7
- package/dist/{sessions-AOK3AGHY.js → sessions-GLYACE5R.js} +4 -4
- package/dist/{settings-ZJPM6PQV.js → settings-WH6BVQCP.js} +4 -2
- package/dist/{tasks-3JJWJJ3X.js → tasks-GPM3JAE6.js} +14 -10
- package/dist/tool-adapter-ZY4FC4C4.js +9 -0
- package/dist/{tools-E63MOJBO.js → tools-WLJJ3ILO.js} +27 -23
- package/dist/{update-XVXNSSDK.js → update-6ZSQJQJB.js} +2 -2
- package/dist/web/assets/{index-wTFCxQAw.js → index-CfFwerN2.js} +84 -84
- package/dist/web/assets/{index-Bg_Z8i3F.css → index-ChJjYovg.css} +1 -1
- package/dist/web/index.html +2 -2
- package/dist/web/sw.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-WY3PWHWY.js +0 -7
- package/dist/client-VVYOWXRR.js +0 -16
- package/dist/launch-GJ7EHQRI.js +0 -54
- package/dist/server-ZHEB7XS2.js +0 -57
- package/dist/tool-adapter-FJAFLDZA.js +0 -8
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveDefaultAgentId
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-BHVR2YS5.js";
|
|
4
4
|
import {
|
|
5
5
|
getDatabase
|
|
6
6
|
} from "./chunk-JU757HVI.js";
|
|
@@ -484,4 +484,4 @@ export {
|
|
|
484
484
|
getLatestWorkflowExecution,
|
|
485
485
|
clearWorkflowExecution
|
|
486
486
|
};
|
|
487
|
-
//# sourceMappingURL=chunk-
|
|
487
|
+
//# sourceMappingURL=chunk-X4PVR6AW.js.map
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// src/server/llm/schema-sanitizer.ts
|
|
2
|
+
function sanitizeToolSchema(schema) {
|
|
3
|
+
if (!schema || typeof schema !== "object" || Array.isArray(schema)) {
|
|
4
|
+
return { type: "object", properties: {} };
|
|
5
|
+
}
|
|
6
|
+
return cleanSchemaNode(schema);
|
|
7
|
+
}
|
|
8
|
+
function cleanSchemaNode(node) {
|
|
9
|
+
const result = {};
|
|
10
|
+
for (const [key, val] of Object.entries(node)) {
|
|
11
|
+
if (val === null || val === void 0) {
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
if (key === "$schema" || key === "$id" || key === "$vocabulary" || key === "$anchor" || key === "dependentRequired" || key === "dependentSchemas" || key === "unevaluatedProperties" || key === "unevaluatedItems" || key === "patternProperties" || key === "additionalProperties") {
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
if (key === "required" && Array.isArray(val)) {
|
|
18
|
+
result["required"] = val.map((item) => item === "properties" ? "props" : item);
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
if (key === "const") {
|
|
22
|
+
result["enum"] = [val];
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
if (key === "properties" && val && typeof val === "object" && !Array.isArray(val)) {
|
|
26
|
+
const sanitizedProps = {};
|
|
27
|
+
for (const [propKey, propVal] of Object.entries(val)) {
|
|
28
|
+
const targetKey = propKey === "properties" ? "props" : propKey;
|
|
29
|
+
if (typeof propVal === "string") {
|
|
30
|
+
sanitizedProps[targetKey] = propVal === "object" ? { type: "object", properties: {} } : { type: propVal };
|
|
31
|
+
} else if (propVal && typeof propVal === "object" && !Array.isArray(propVal)) {
|
|
32
|
+
sanitizedProps[targetKey] = cleanSchemaNode(propVal);
|
|
33
|
+
} else {
|
|
34
|
+
sanitizedProps[targetKey] = propVal;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
result["properties"] = sanitizedProps;
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
if (key === "items") {
|
|
41
|
+
if (!val || typeof val !== "object" || Object.keys(val).length === 0) {
|
|
42
|
+
result["items"] = { type: "string" };
|
|
43
|
+
} else if (Array.isArray(val)) {
|
|
44
|
+
result["items"] = val.map(
|
|
45
|
+
(item) => item && typeof item === "object" ? cleanSchemaNode(item) : item
|
|
46
|
+
);
|
|
47
|
+
} else {
|
|
48
|
+
result["items"] = cleanSchemaNode(val);
|
|
49
|
+
}
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if ((key === "anyOf" || key === "oneOf" || key === "allOf") && Array.isArray(val)) {
|
|
53
|
+
result[key] = val.map(
|
|
54
|
+
(item) => item && typeof item === "object" ? cleanSchemaNode(item) : item
|
|
55
|
+
);
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
result[key] = val;
|
|
59
|
+
}
|
|
60
|
+
if (result["type"] === "object" && !result["properties"]) {
|
|
61
|
+
result["properties"] = {};
|
|
62
|
+
}
|
|
63
|
+
if (result["type"] === "array" && (!result["items"] || typeof result["items"] === "object" && Object.keys(result["items"]).length === 0)) {
|
|
64
|
+
result["items"] = { type: "string" };
|
|
65
|
+
}
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export {
|
|
70
|
+
sanitizeToolSchema
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=chunk-XG3AUMPI.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getEventStore
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2OO46UAW.js";
|
|
4
4
|
import {
|
|
5
5
|
createChatPathConfirmationMessage
|
|
6
6
|
} from "./chunk-AATMPL7S.js";
|
|
7
7
|
import {
|
|
8
8
|
getPlatformShell
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-MOYWDP73.js";
|
|
10
10
|
|
|
11
11
|
// src/server/tools/path-security.ts
|
|
12
12
|
import { realpath } from "fs/promises";
|
|
@@ -138,7 +138,7 @@ function normalizeExtracted(path) {
|
|
|
138
138
|
return posix.normalize(path);
|
|
139
139
|
}
|
|
140
140
|
function isPlaceholderToken(str) {
|
|
141
|
-
return str.includes("__URL__") || str.includes("__FILEURL__") || str.includes("__SED__") || str.includes("__COMMIT_MSG__");
|
|
141
|
+
return str.includes("__URL__") || str.includes("__FILEURL__") || str.includes("__SED__") || str.includes("__COMMIT_MSG__") || str.includes("__PATTERN__");
|
|
142
142
|
}
|
|
143
143
|
var REGEX_TOOL_RE = /\b(?:sed|awk|gawk|mawk|perl|ruby|raku)\b/;
|
|
144
144
|
var SHELL_TOKEN_END_RE = /[\s'"`|&;,<>()]/;
|
|
@@ -157,6 +157,159 @@ function isRegexAddress(command, start, end, hasRegexTool, quote) {
|
|
|
157
157
|
}
|
|
158
158
|
return hasRegexTool && quote !== null && !/\s/.test(content);
|
|
159
159
|
}
|
|
160
|
+
var SEARCH_TOOL_RE = /^(?:grep|egrep|fgrep|rg|ag|ack)$/;
|
|
161
|
+
var SEARCH_OPTS_WITH_VALUE = /* @__PURE__ */ new Set([
|
|
162
|
+
"-e",
|
|
163
|
+
"--regexp",
|
|
164
|
+
"-f",
|
|
165
|
+
"--file",
|
|
166
|
+
"-m",
|
|
167
|
+
"--max-count",
|
|
168
|
+
"-A",
|
|
169
|
+
"--after-context",
|
|
170
|
+
"-B",
|
|
171
|
+
"--before-context",
|
|
172
|
+
"-C",
|
|
173
|
+
"--context",
|
|
174
|
+
"-d",
|
|
175
|
+
"--directories",
|
|
176
|
+
"-D",
|
|
177
|
+
"--devices",
|
|
178
|
+
"--include",
|
|
179
|
+
"--exclude",
|
|
180
|
+
"--exclude-dir",
|
|
181
|
+
"--binary-files",
|
|
182
|
+
"--color",
|
|
183
|
+
"--colour",
|
|
184
|
+
"--label",
|
|
185
|
+
"-g",
|
|
186
|
+
"--glob",
|
|
187
|
+
"-t",
|
|
188
|
+
"--type"
|
|
189
|
+
]);
|
|
190
|
+
var PATTERN_VALUE_OPTS = /* @__PURE__ */ new Set(["-e", "--regexp"]);
|
|
191
|
+
var PATTERN_FILE_OPTS = /* @__PURE__ */ new Set(["-f", "--file"]);
|
|
192
|
+
function tokenizeShell(command) {
|
|
193
|
+
const out = [];
|
|
194
|
+
const n = command.length;
|
|
195
|
+
let i = 0;
|
|
196
|
+
while (i < n) {
|
|
197
|
+
const ch = command[i];
|
|
198
|
+
if (/\s/.test(ch)) {
|
|
199
|
+
i += 1;
|
|
200
|
+
continue;
|
|
201
|
+
}
|
|
202
|
+
if (/[|&;()<>]/.test(ch)) {
|
|
203
|
+
let j = i + 1;
|
|
204
|
+
if (ch === "|" && command[j] === "|" || ch === "&" && command[j] === "&") j += 1;
|
|
205
|
+
out.push({ text: command.slice(i, j), start: i, end: j, isOperator: true });
|
|
206
|
+
i = j;
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
const start = i;
|
|
210
|
+
let quote = null;
|
|
211
|
+
while (i < n) {
|
|
212
|
+
const c = command[i];
|
|
213
|
+
if (quote !== null) {
|
|
214
|
+
if (c === "\\" && quote !== "'") {
|
|
215
|
+
i += 2;
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
if (c === quote) {
|
|
219
|
+
quote = null;
|
|
220
|
+
i += 1;
|
|
221
|
+
continue;
|
|
222
|
+
}
|
|
223
|
+
i += 1;
|
|
224
|
+
continue;
|
|
225
|
+
}
|
|
226
|
+
if (c === "'" || c === '"' || c === "`") {
|
|
227
|
+
quote = c;
|
|
228
|
+
i += 1;
|
|
229
|
+
continue;
|
|
230
|
+
}
|
|
231
|
+
if (/[\s|&;()<>]/.test(c)) break;
|
|
232
|
+
if (c === "\\") {
|
|
233
|
+
i += 2;
|
|
234
|
+
continue;
|
|
235
|
+
}
|
|
236
|
+
i += 1;
|
|
237
|
+
}
|
|
238
|
+
out.push({ text: command.slice(start, i), start, end: i, isOperator: false });
|
|
239
|
+
}
|
|
240
|
+
return out;
|
|
241
|
+
}
|
|
242
|
+
function commandBasename(token) {
|
|
243
|
+
const bare = token.replace(/^["'`]|["'`]$/g, "");
|
|
244
|
+
const slash = bare.lastIndexOf("/");
|
|
245
|
+
return slash >= 0 ? bare.slice(slash + 1) : bare;
|
|
246
|
+
}
|
|
247
|
+
function maskSearchToolPatterns(command) {
|
|
248
|
+
if (!command.includes("/")) return command;
|
|
249
|
+
const tokens = tokenizeShell(command);
|
|
250
|
+
const spans = [];
|
|
251
|
+
let atCommandStart = true;
|
|
252
|
+
let i = 0;
|
|
253
|
+
while (i < tokens.length) {
|
|
254
|
+
const tok = tokens[i];
|
|
255
|
+
if (tok.isOperator) {
|
|
256
|
+
atCommandStart = true;
|
|
257
|
+
i += 1;
|
|
258
|
+
continue;
|
|
259
|
+
}
|
|
260
|
+
if (!atCommandStart || !SEARCH_TOOL_RE.test(commandBasename(tok.text))) {
|
|
261
|
+
atCommandStart = atCommandStart && /^[A-Za-z_][A-Za-z0-9_]*=/.test(tok.text);
|
|
262
|
+
i += 1;
|
|
263
|
+
continue;
|
|
264
|
+
}
|
|
265
|
+
let patternSupplied = false;
|
|
266
|
+
let patternSpan = null;
|
|
267
|
+
let j = i + 1;
|
|
268
|
+
while (j < tokens.length && !tokens[j].isOperator) {
|
|
269
|
+
const arg = tokens[j];
|
|
270
|
+
if (arg.text.startsWith("-") && arg.text !== "-" && arg.text !== "--") {
|
|
271
|
+
const eq = arg.text.indexOf("=");
|
|
272
|
+
if (eq > 0) {
|
|
273
|
+
const name = arg.text.slice(0, eq);
|
|
274
|
+
if (PATTERN_VALUE_OPTS.has(name)) {
|
|
275
|
+
patternSupplied = true;
|
|
276
|
+
spans.push([arg.start + eq + 1, arg.end]);
|
|
277
|
+
} else if (PATTERN_FILE_OPTS.has(name)) {
|
|
278
|
+
patternSupplied = true;
|
|
279
|
+
}
|
|
280
|
+
j += 1;
|
|
281
|
+
continue;
|
|
282
|
+
}
|
|
283
|
+
if (SEARCH_OPTS_WITH_VALUE.has(arg.text)) {
|
|
284
|
+
const value = tokens[j + 1];
|
|
285
|
+
if (value && !value.isOperator) {
|
|
286
|
+
if (PATTERN_VALUE_OPTS.has(arg.text)) {
|
|
287
|
+
patternSupplied = true;
|
|
288
|
+
spans.push([value.start, value.end]);
|
|
289
|
+
} else if (PATTERN_FILE_OPTS.has(arg.text)) {
|
|
290
|
+
patternSupplied = true;
|
|
291
|
+
}
|
|
292
|
+
j += 2;
|
|
293
|
+
continue;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
j += 1;
|
|
297
|
+
continue;
|
|
298
|
+
}
|
|
299
|
+
if (!patternSupplied) patternSpan = [arg.start, arg.end];
|
|
300
|
+
break;
|
|
301
|
+
}
|
|
302
|
+
if (patternSpan) spans.push(patternSpan);
|
|
303
|
+
atCommandStart = false;
|
|
304
|
+
i = j;
|
|
305
|
+
}
|
|
306
|
+
if (spans.length === 0) return command;
|
|
307
|
+
let out = command;
|
|
308
|
+
for (const [start, end] of spans.sort((a, b) => b[0] - a[0])) {
|
|
309
|
+
out = `${out.slice(0, start)} __PATTERN__ ${out.slice(end)}`;
|
|
310
|
+
}
|
|
311
|
+
return out;
|
|
312
|
+
}
|
|
160
313
|
function maskRegexAddresses(command) {
|
|
161
314
|
const work = command.replace(/(?:=|!)~\s+/g, " __SED__ ");
|
|
162
315
|
if (!work.includes("/")) return work;
|
|
@@ -387,6 +540,7 @@ function maskCommandForPathScan(command) {
|
|
|
387
540
|
sanitized = sanitized.replace(/(?<!\w)s\/[^/]*\/[^/]*\/[gip]*/g, " __SED__ ");
|
|
388
541
|
sanitized = sanitized.replace(/(?<!\w)s\|[^|]*\|[^|]*\|[gip]*/g, " __SED__ ");
|
|
389
542
|
sanitized = sanitized.replace(/(?<!\w)s:[^:]*:[^:]*:[gip]*/g, " __SED__ ");
|
|
543
|
+
sanitized = maskSearchToolPatterns(sanitized);
|
|
390
544
|
sanitized = maskRegexAddresses(sanitized);
|
|
391
545
|
sanitized = sanitized.replace(
|
|
392
546
|
/git\s+commit\b.*?(?:-(?:[a-zA-Z]*m)(?=\s)|--message)\s+(["'])(?:(?!\1).)*\1/g,
|
|
@@ -445,7 +599,7 @@ function extractAbsolutePathsFromCommand(command) {
|
|
|
445
599
|
}
|
|
446
600
|
}
|
|
447
601
|
if (posixShell) {
|
|
448
|
-
const absolutePattern = /(?:^|[\s=(])(\/[^\s"'|&;<>`()]+)/g;
|
|
602
|
+
const absolutePattern = /(?:^|([\s=('"]))(\/[^\s"'|&;<>`()]+)/g;
|
|
449
603
|
const rootPattern = /(?:^|[\s=(])\/(?=$|[\s'"`|&;,<()])/g;
|
|
450
604
|
let isRoot = false;
|
|
451
605
|
for (const match2 of scanCommand.matchAll(rootPattern)) {
|
|
@@ -460,7 +614,9 @@ function extractAbsolutePathsFromCommand(command) {
|
|
|
460
614
|
paths.push("/");
|
|
461
615
|
}
|
|
462
616
|
while ((match = absolutePattern.exec(scanCommand)) !== null) {
|
|
463
|
-
const
|
|
617
|
+
const opener = match[1] ?? "";
|
|
618
|
+
const candidate = match[2];
|
|
619
|
+
if ((opener === "'" || opener === '"') && candidate.endsWith("/")) continue;
|
|
464
620
|
if (isPlaceholderToken(candidate)) continue;
|
|
465
621
|
if (looksLikeRegex(candidate)) continue;
|
|
466
622
|
const resolved = normalizeExtracted(candidate);
|
|
@@ -782,4 +938,4 @@ export {
|
|
|
782
938
|
getConfirmationSessionId,
|
|
783
939
|
getPendingConfirmationsBySession
|
|
784
940
|
};
|
|
785
|
-
//# sourceMappingURL=chunk-
|
|
941
|
+
//# sourceMappingURL=chunk-XWWRZSK7.js.map
|
|
@@ -2,55 +2,55 @@ import {
|
|
|
2
2
|
generateSessionNameForSession,
|
|
3
3
|
getSessionMessageCount,
|
|
4
4
|
needsNameGeneration
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-FIQPKLDY.js";
|
|
6
6
|
import {
|
|
7
7
|
launchWorkflowRun
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-LQPAM55V.js";
|
|
9
9
|
import {
|
|
10
10
|
runChatTurn
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-JIS6C6PA.js";
|
|
12
|
+
import {
|
|
13
|
+
applyDynamicContext,
|
|
14
|
+
computeSessionHash,
|
|
15
|
+
computeUnifiedDiff
|
|
16
|
+
} from "./chunk-6TQNTFJW.js";
|
|
12
17
|
import {
|
|
13
18
|
devServerManager
|
|
14
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-ZQENKB7X.js";
|
|
15
20
|
import {
|
|
16
21
|
gitSpawnEnv
|
|
17
22
|
} from "./chunk-J7GAZGZT.js";
|
|
18
23
|
import {
|
|
19
24
|
serverT
|
|
20
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-4SBVW4UH.js";
|
|
21
26
|
import {
|
|
22
27
|
appendCompactionPrompt
|
|
23
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-U7XCK7WL.js";
|
|
24
29
|
import {
|
|
25
30
|
hasRecentLLMFailure,
|
|
26
31
|
interruptLLMRetryWait
|
|
27
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-HEYU7FAY.js";
|
|
28
33
|
import {
|
|
29
34
|
onProcessEvent
|
|
30
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-SAGDTQXD.js";
|
|
31
36
|
import {
|
|
32
37
|
killProcessTree
|
|
33
38
|
} from "./chunk-I72ACQ6R.js";
|
|
34
|
-
import {
|
|
35
|
-
applyDynamicContext,
|
|
36
|
-
computeSessionHash,
|
|
37
|
-
computeUnifiedDiff
|
|
38
|
-
} from "./chunk-VHLD6PCZ.js";
|
|
39
39
|
import {
|
|
40
40
|
getPendingQuestionsForSession,
|
|
41
41
|
provideAnswer
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-V5AC2TV7.js";
|
|
43
43
|
import {
|
|
44
44
|
combineEventsWithSnapshot,
|
|
45
45
|
getEventStore
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-2OO46UAW.js";
|
|
47
47
|
import {
|
|
48
48
|
buildMessagesFromStoredEvents,
|
|
49
49
|
foldPendingConfirmations
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-MMGHIPBU.js";
|
|
51
51
|
import {
|
|
52
52
|
getRuntimeConfig
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-BHVR2YS5.js";
|
|
54
54
|
import {
|
|
55
55
|
createChatErrorMessage,
|
|
56
56
|
createChatMessageMessage,
|
|
@@ -68,10 +68,10 @@ import {
|
|
|
68
68
|
} from "./chunk-AATMPL7S.js";
|
|
69
69
|
import {
|
|
70
70
|
getPlatformShell
|
|
71
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-MOYWDP73.js";
|
|
72
72
|
import {
|
|
73
73
|
getMaxVisibleItems
|
|
74
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-QUAEH3MP.js";
|
|
75
75
|
import {
|
|
76
76
|
logger
|
|
77
77
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -1344,8 +1344,8 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
|
|
|
1344
1344
|
}
|
|
1345
1345
|
const session = sessionManager.requireSession(sessionId);
|
|
1346
1346
|
try {
|
|
1347
|
-
const { buildCachedPrompt, computePreviewToolDiff } = await import("./dynamic-context-
|
|
1348
|
-
const allAgents = await import("./registry-
|
|
1347
|
+
const { buildCachedPrompt, computePreviewToolDiff } = await import("./dynamic-context-HL4RGNHK.js");
|
|
1348
|
+
const allAgents = await import("./registry-FMDMGIUB.js");
|
|
1349
1349
|
const agentDef = allAgents.findAgentById(session.mode, await allAgents.loadAllAgentsDefault()) ?? allAgents.findAgentById("planner", await allAgents.loadAllAgentsDefault());
|
|
1350
1350
|
const modelName = session.providerModel ?? _providerManager?.getCurrentModel();
|
|
1351
1351
|
const {
|
|
@@ -1356,7 +1356,7 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
|
|
|
1356
1356
|
const oldCached = sessionManager.getCachedPrompt(sessionId);
|
|
1357
1357
|
const oldPrompt = oldCached?.systemPrompt;
|
|
1358
1358
|
const diff = oldPrompt ? computeUnifiedDiff(oldPrompt, newPrompt) : [];
|
|
1359
|
-
const { getToolRegistryForAgent } = await import("./tools-
|
|
1359
|
+
const { getToolRegistryForAgent } = await import("./tools-WLJJ3ILO.js");
|
|
1360
1360
|
const unfilteredTools = getToolRegistryForAgent(agentDef).definitions;
|
|
1361
1361
|
const toolDiff = computePreviewToolDiff(oldCached?.tools, unfilteredTools, newTools);
|
|
1362
1362
|
send({
|
|
@@ -1729,4 +1729,4 @@ export {
|
|
|
1729
1729
|
signalMcpReady,
|
|
1730
1730
|
createWebSocketServer
|
|
1731
1731
|
};
|
|
1732
|
-
//# sourceMappingURL=chunk-
|
|
1732
|
+
//# sourceMappingURL=chunk-ZJ2IHOVN.js.map
|