neoctl 0.2.41 → 0.2.42
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/README.md +2 -0
- package/dist/context/prompts.js +2 -1
- package/dist/context/prompts.js.map +1 -1
- package/dist/core/run-agent.js +2 -0
- package/dist/core/run-agent.js.map +1 -1
- package/dist/repl/index.js +13 -1
- package/dist/repl/index.js.map +1 -1
- package/dist/tools/builtins/image-capabilities.d.ts +21 -0
- package/dist/tools/builtins/image-capabilities.js +97 -0
- package/dist/tools/builtins/image-capabilities.js.map +1 -0
- package/dist/tools/builtins/image-generation-tool.d.ts +14 -7
- package/dist/tools/builtins/image-generation-tool.js +141 -143
- package/dist/tools/builtins/image-generation-tool.js.map +1 -1
- package/dist/tools/builtins/image-output-verification.d.ts +14 -0
- package/dist/tools/builtins/image-output-verification.js +183 -0
- package/dist/tools/builtins/image-output-verification.js.map +1 -0
- package/dist/tools/registry.d.ts +2 -0
- package/dist/tools/registry.js +6 -0
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/run-tool-use.js +5 -0
- package/dist/tools/run-tool-use.js.map +1 -1
- package/dist/web/image-result-metadata.d.ts +20 -0
- package/dist/web/image-result-metadata.js +20 -0
- package/dist/web/image-result-metadata.js.map +1 -0
- package/dist/web/index.d.ts +4 -1
- package/dist/web/index.js +20 -5
- package/dist/web/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { inflateSync } from "node:zlib";
|
|
2
|
+
export function decodeImageBase64(value) {
|
|
3
|
+
const base64 = value.replace(/^data:[^;,]+;base64,/u, "").replace(/\s+/gu, "");
|
|
4
|
+
if (!base64 || base64.length % 4 === 1 || !/^[A-Za-z0-9+/]+={0,2}$/u.test(base64))
|
|
5
|
+
throw new Error("Image payload is not valid base64");
|
|
6
|
+
if (base64.length > Math.ceil(50 * 1024 * 1024 / 3) * 4)
|
|
7
|
+
throw new Error("Image exceeds the 50 MiB limit");
|
|
8
|
+
const bytes = Buffer.from(base64, "base64");
|
|
9
|
+
if (bytes.toString("base64").replace(/=+$/u, "") !== base64.replace(/=+$/u, ""))
|
|
10
|
+
throw new Error("Image payload is not canonical base64");
|
|
11
|
+
if (bytes.length > 50 * 1024 * 1024)
|
|
12
|
+
throw new Error("Image exceeds the 50 MiB limit");
|
|
13
|
+
return bytes;
|
|
14
|
+
}
|
|
15
|
+
/** Inspect binary headers rather than trusting requested or returned MIME/size. */
|
|
16
|
+
export function inspectImageBytes(bytes) {
|
|
17
|
+
if (bytes.length >= 33 && bytes.subarray(0, 8).equals(Buffer.from([137, 80, 78, 71, 13, 10, 26, 10]))) {
|
|
18
|
+
if (bytes.toString("ascii", 12, 16) !== "IHDR" || bytes.readUInt32BE(8) !== 13 || bytes[26] !== 0 || bytes[27] !== 0 || bytes[28] > 1)
|
|
19
|
+
throw new Error("Invalid PNG IHDR");
|
|
20
|
+
const allowedDepths = { 0: [1, 2, 4, 8, 16], 2: [8, 16], 3: [1, 2, 4, 8], 4: [8, 16], 6: [8, 16] };
|
|
21
|
+
if (!allowedDepths[bytes[25]]?.includes(bytes[24]))
|
|
22
|
+
throw new Error("Invalid PNG color type or bit depth");
|
|
23
|
+
const width = bytes.readUInt32BE(16), height = bytes.readUInt32BE(20);
|
|
24
|
+
assertDimensions(width, height);
|
|
25
|
+
let offset = 8, ended = false, transparency;
|
|
26
|
+
const idat = [];
|
|
27
|
+
while (offset + 12 <= bytes.length) {
|
|
28
|
+
const length = bytes.readUInt32BE(offset), type = bytes.toString("ascii", offset + 4, offset + 8);
|
|
29
|
+
if (offset + 12 + length > bytes.length)
|
|
30
|
+
throw new Error("Truncated PNG chunk");
|
|
31
|
+
if (type === "IDAT")
|
|
32
|
+
idat.push(bytes.subarray(offset + 8, offset + 8 + length));
|
|
33
|
+
if (type === "tRNS")
|
|
34
|
+
transparency = bytes.subarray(offset + 8, offset + 8 + length);
|
|
35
|
+
if (type === "IEND") {
|
|
36
|
+
ended = true;
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
offset += 12 + length;
|
|
40
|
+
}
|
|
41
|
+
if (!ended || !idat.length)
|
|
42
|
+
throw new Error("PNG is missing image data or IEND");
|
|
43
|
+
const color = bytes[25], depth = bytes[24], interlace = bytes[28];
|
|
44
|
+
let hasTransparentPixels;
|
|
45
|
+
if (![4, 6].includes(color) && !transparency)
|
|
46
|
+
hasTransparentPixels = false;
|
|
47
|
+
if (depth === 8 && interlace === 0) {
|
|
48
|
+
const channels = { 0: 1, 2: 3, 3: 1, 4: 2, 6: 4 }[color];
|
|
49
|
+
if (channels) {
|
|
50
|
+
const stride = width * channels, expected = (stride + 1) * height;
|
|
51
|
+
if (expected > 128 * 1024 * 1024)
|
|
52
|
+
throw new Error("PNG decoded data exceeds verification limit");
|
|
53
|
+
const raw = inflateSync(Buffer.concat(idat), { maxOutputLength: expected + 1 });
|
|
54
|
+
if (raw.length !== expected)
|
|
55
|
+
throw new Error("PNG decoded data length is inconsistent with dimensions");
|
|
56
|
+
let prev = Buffer.alloc(stride), row = Buffer.alloc(stride), found = false;
|
|
57
|
+
for (let y = 0; y < height; y++) {
|
|
58
|
+
const start = y * (stride + 1), filter = raw[start];
|
|
59
|
+
if (filter > 4)
|
|
60
|
+
throw new Error("Invalid PNG scanline filter");
|
|
61
|
+
for (let x = 0; x < stride; x++) {
|
|
62
|
+
const a = x >= channels ? row[x - channels] : 0, b = prev[x], c = x >= channels ? prev[x - channels] : 0;
|
|
63
|
+
const prediction = filter === 0 ? 0 : filter === 1 ? a : filter === 2 ? b : filter === 3 ? Math.floor((a + b) / 2) : paeth(a, b, c);
|
|
64
|
+
row[x] = (raw[start + 1 + x] + prediction) & 255;
|
|
65
|
+
}
|
|
66
|
+
for (let x = 0; x < width; x++) {
|
|
67
|
+
const p = x * channels;
|
|
68
|
+
if ((color === 4 || color === 6) && row[p + channels - 1] < 255)
|
|
69
|
+
found = true;
|
|
70
|
+
if (color === 3 && transparency && (transparency[row[p]] ?? 255) < 255)
|
|
71
|
+
found = true;
|
|
72
|
+
if (color === 0 && transparency?.length === 2 && row[p] === transparency.readUInt16BE(0))
|
|
73
|
+
found = true;
|
|
74
|
+
if (color === 2 && transparency?.length === 6 && row[p] === transparency.readUInt16BE(0) && row[p + 1] === transparency.readUInt16BE(2) && row[p + 2] === transparency.readUInt16BE(4))
|
|
75
|
+
found = true;
|
|
76
|
+
}
|
|
77
|
+
[prev, row] = [row, prev];
|
|
78
|
+
}
|
|
79
|
+
hasTransparentPixels = found;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return { mimeType: "image/png", width, height, hasAlphaChannel: color === 4 || color === 6, hasTransparentPixels };
|
|
83
|
+
}
|
|
84
|
+
if (bytes.length > 4 && bytes[0] === 255 && bytes[1] === 216) {
|
|
85
|
+
let offset = 2;
|
|
86
|
+
while (offset + 4 < bytes.length) {
|
|
87
|
+
if (bytes[offset++] !== 255)
|
|
88
|
+
throw new Error("Invalid JPEG marker");
|
|
89
|
+
while (bytes[offset] === 255)
|
|
90
|
+
offset++;
|
|
91
|
+
const marker = bytes[offset++];
|
|
92
|
+
if (marker === 217 || marker === 218)
|
|
93
|
+
break;
|
|
94
|
+
if (marker === 1 || (marker >= 208 && marker <= 215))
|
|
95
|
+
continue;
|
|
96
|
+
const length = bytes.readUInt16BE(offset);
|
|
97
|
+
if (length < 2 || offset + length > bytes.length)
|
|
98
|
+
throw new Error("Truncated JPEG segment");
|
|
99
|
+
if ([192, 193, 194, 195, 197, 198, 199, 201, 202, 203, 205, 206, 207].includes(marker)) {
|
|
100
|
+
if (length < 8)
|
|
101
|
+
throw new Error("Invalid JPEG frame");
|
|
102
|
+
const height = bytes.readUInt16BE(offset + 3), width = bytes.readUInt16BE(offset + 5);
|
|
103
|
+
assertDimensions(width, height);
|
|
104
|
+
if (bytes.lastIndexOf(Buffer.from([255, 217])) < offset)
|
|
105
|
+
throw new Error("JPEG is missing end marker");
|
|
106
|
+
return { mimeType: "image/jpeg", width, height, hasAlphaChannel: false, hasTransparentPixels: false };
|
|
107
|
+
}
|
|
108
|
+
offset += length;
|
|
109
|
+
}
|
|
110
|
+
throw new Error("JPEG is missing dimensions");
|
|
111
|
+
}
|
|
112
|
+
if (bytes.length >= 30 && bytes.toString("ascii", 0, 4) === "RIFF" && bytes.toString("ascii", 8, 12) === "WEBP") {
|
|
113
|
+
if (bytes.readUInt32LE(4) + 8 > bytes.length)
|
|
114
|
+
throw new Error("Truncated WebP");
|
|
115
|
+
const kind = bytes.toString("ascii", 12, 16);
|
|
116
|
+
let width, height, alpha = false;
|
|
117
|
+
if (kind === "VP8X") {
|
|
118
|
+
width = bytes.readUIntLE(24, 3) + 1;
|
|
119
|
+
height = bytes.readUIntLE(27, 3) + 1;
|
|
120
|
+
alpha = Boolean(bytes[20] & 16);
|
|
121
|
+
}
|
|
122
|
+
else if (kind === "VP8L" && bytes[20] === 47) {
|
|
123
|
+
const bits = bytes.readUInt32LE(21);
|
|
124
|
+
width = (bits & 16383) + 1;
|
|
125
|
+
height = ((bits >>> 14) & 16383) + 1;
|
|
126
|
+
alpha = Boolean(bits & (1 << 28));
|
|
127
|
+
}
|
|
128
|
+
else if (kind === "VP8 " && bytes.subarray(23, 26).equals(Buffer.from([157, 1, 42]))) {
|
|
129
|
+
width = bytes.readUInt16LE(26) & 16383;
|
|
130
|
+
height = bytes.readUInt16LE(28) & 16383;
|
|
131
|
+
}
|
|
132
|
+
else
|
|
133
|
+
throw new Error("Unsupported WebP bitstream");
|
|
134
|
+
assertDimensions(width, height);
|
|
135
|
+
return { mimeType: "image/webp", width, height, hasAlphaChannel: alpha, hasTransparentPixels: alpha ? undefined : false };
|
|
136
|
+
}
|
|
137
|
+
throw new Error("Image bytes must contain a recognizable PNG, JPEG or WebP (not HTML, JSON, GIF or SVG)");
|
|
138
|
+
}
|
|
139
|
+
function assertDimensions(width, height) {
|
|
140
|
+
if (!width || !height || width * height > 40_000_000)
|
|
141
|
+
throw new Error("Image dimensions are invalid or exceed the 40 megapixel verification limit");
|
|
142
|
+
}
|
|
143
|
+
function paeth(a, b, c) {
|
|
144
|
+
const p = a + b - c, pa = Math.abs(p - a), pb = Math.abs(p - b), pc = Math.abs(p - c);
|
|
145
|
+
return pa <= pb && pa <= pc ? a : pb <= pc ? b : c;
|
|
146
|
+
}
|
|
147
|
+
export function outputWarnings(input, response, images) {
|
|
148
|
+
const warnings = [];
|
|
149
|
+
const mismatch = (code, field, requested, actual, message) => warnings.push({ code, field, requested, actual, message, remedy: "Use the actual output values when reporting results. Do not claim the requested setting was honored. Inspect the image or use a verified upstream if exact compliance is required." });
|
|
150
|
+
if (images.length !== input.n)
|
|
151
|
+
mismatch("COUNT_MISMATCH", "n", input.n, images.length, "The upstream returned a different number of usable images.");
|
|
152
|
+
for (const [field, apiField] of [["model", "model"], ["quality", "quality"], ["background", "background"]]) {
|
|
153
|
+
const actual = response[apiField];
|
|
154
|
+
if (actual !== undefined && actual !== null && input[field] !== "auto" && actual !== input[field]) {
|
|
155
|
+
mismatch("UPSTREAM_" + field.toUpperCase() + "_MISMATCH", field, input[field], actual, `The upstream reported a different ${field}. For quality this is a metadata discrepancy, not proof of internal compute reduction; mapping or dynamic behavior may differ.`);
|
|
156
|
+
if (field === "quality")
|
|
157
|
+
warnings[warnings.length - 1].remedy = "Report requested and upstream-reported tiers separately. Do not infer an internal downgrade, budget ceiling, or documented dynamic mapping from this discrepancy alone.";
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
if ((typeof response.model !== "string" || !response.model.trim()))
|
|
161
|
+
warnings.push({ code: "MODEL_UNVERIFIED", field: "model", requested: input.model, message: "The response does not identify its model. The requested routing ID is known, but the actual upstream model cannot be independently confirmed." });
|
|
162
|
+
if ((typeof response.quality !== "string" || !response.quality.trim()) && input.quality !== "auto")
|
|
163
|
+
warnings.push({ code: "QUALITY_UNVERIFIED", field: "quality", requested: input.quality, message: "The response does not report a quality tier; request acceptance alone does not verify that the tier was applied." });
|
|
164
|
+
images.forEach((image, i) => {
|
|
165
|
+
const size = `${image.width}x${image.height}`, format = image.mimeType.slice(6);
|
|
166
|
+
if (input.size !== "auto" && input.size !== size)
|
|
167
|
+
mismatch("SIZE_MISMATCH", `images[${i}].size`, input.size, size, "Decoded dimensions differ from the requested size. The image was not silently resized locally.");
|
|
168
|
+
if (format !== input.outputFormat)
|
|
169
|
+
mismatch("FORMAT_MISMATCH", `images[${i}].outputFormat`, input.outputFormat, format, "Actual image format differs from the request. MIME type and file extension follow the actual bytes.");
|
|
170
|
+
if (response.size !== undefined && response.size !== size)
|
|
171
|
+
mismatch("METADATA_SIZE_MISMATCH", `images[${i}].size`, response.size, size, "Upstream size metadata disagrees with the image bytes.");
|
|
172
|
+
if (response.output_format !== undefined && response.output_format !== format)
|
|
173
|
+
mismatch("METADATA_FORMAT_MISMATCH", `images[${i}].outputFormat`, response.output_format, format, "Upstream format metadata disagrees with the image bytes.");
|
|
174
|
+
if (input.background === "transparent" && image.hasTransparentPixels === false)
|
|
175
|
+
mismatch("TRANSPARENCY_MISMATCH", `images[${i}].background`, "transparent", "opaque", "No transparent pixels were found; a painted checkerboard is not transparency.");
|
|
176
|
+
if (input.background === "opaque" && image.hasTransparentPixels === true)
|
|
177
|
+
mismatch("TRANSPARENCY_MISMATCH", `images[${i}].background`, "opaque", "transparent", "Transparent pixels were found despite an opaque request.");
|
|
178
|
+
if (input.background === "transparent" && image.hasTransparentPixels === undefined)
|
|
179
|
+
warnings.push({ code: "TRANSPARENCY_UNVERIFIED", field: `images[${i}].background`, message: "The format may support alpha, but transparent pixels have not been decoded/verified. Do not promise a transparent asset without checking it." });
|
|
180
|
+
});
|
|
181
|
+
return warnings;
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=image-output-verification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-output-verification.js","sourceRoot":"","sources":["../../../src/tools/builtins/image-output-verification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAaxC,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC/E,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACxI,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC3G,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC1I,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACvF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAE,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC5K,MAAM,aAAa,GAA6B,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAC7H,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAE,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC7G,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACtE,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,YAAgC,CAAC;QAChE,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,OAAO,MAAM,GAAG,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YAClG,IAAI,MAAM,GAAG,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAChF,IAAI,IAAI,KAAK,MAAM;gBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YAChF,IAAI,IAAI,KAAK,MAAM;gBAAE,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YACpF,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAAC,KAAK,GAAG,IAAI,CAAC;gBAAC,MAAM;YAAC,CAAC;YAC7C,MAAM,IAAI,EAAE,GAAG,MAAM,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAE,EAAE,KAAK,GAAG,KAAK,CAAC,EAAE,CAAE,EAAE,SAAS,GAAG,KAAK,CAAC,EAAE,CAAE,CAAC;QACrE,IAAI,oBAAyC,CAAC;QAC9C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY;YAAE,oBAAoB,GAAG,KAAK,CAAC;QAC3E,IAAI,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAA6B,CAAC,KAAK,CAAC,CAAC;YACrF,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,KAAK,GAAG,QAAQ,EAAE,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;gBAClE,IAAI,QAAQ,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBACjG,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,EAAE,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChF,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBACxG,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;gBAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK,CAAE,CAAC;oBACrD,IAAI,MAAM,GAAG,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;oBAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAChC,MAAM,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,EAAE,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC5G,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;wBACpI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;oBACpD,CAAC;oBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;wBACvB,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAE,GAAG,GAAG;4BAAE,KAAK,GAAG,IAAI,CAAC;wBAC/E,IAAI,KAAK,KAAK,CAAC,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG;4BAAE,KAAK,GAAG,IAAI,CAAC;wBACtF,IAAI,KAAK,KAAK,CAAC,IAAI,YAAY,EAAE,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;4BAAE,KAAK,GAAG,IAAI,CAAC;wBACvG,IAAI,KAAK,KAAK,CAAC,IAAI,YAAY,EAAE,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;4BAAE,KAAK,GAAG,IAAI,CAAC;oBACvM,CAAC;oBACD,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC5B,CAAC;gBACD,oBAAoB,GAAG,KAAK,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACrH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAC7D,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG;gBAAE,MAAM,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAE,CAAC;YAChC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;gBAAE,MAAM;YAC5C,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,CAAC;gBAAE,SAAS;YAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5F,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvF,IAAI,MAAM,GAAG,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACtF,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAChC,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBACvG,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;YACxG,CAAC;YACD,MAAM,IAAI,MAAM,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC;QAChH,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7C,IAAI,KAAa,EAAE,MAAc,EAAE,KAAK,GAAG,KAAK,CAAC;QACjD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAE,GAAG,EAAE,CAAC,CAAC;QAC9G,CAAC;aAAM,IAAI,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAAC,KAAK,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAAC,KAAK,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3I,CAAC;aAAM,IAAI,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;YAAC,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;QAClF,CAAC;;YAAM,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACrD,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5H,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;AAC5G,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,MAAc;IACrD,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,KAAK,GAAG,MAAM,GAAG,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;AACtJ,CAAC;AACD,SAAS,KAAK,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAA8B,EAAE,QAAiC,EAAE,MAA2B;IAC3H,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,SAAkB,EAAE,MAAe,EAAE,OAAe,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,oLAAoL,EAAE,CAAC,CAAC;IACjW,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;QAAE,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,4DAA4D,CAAC,CAAC;IACrJ,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;QAC3G,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAS,CAAC,CAAC;QACnC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,KAAM,CAAC,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,CAAC,KAAM,CAAC,EAAE,CAAC;YACpG,QAAQ,CAAC,WAAW,GAAG,KAAM,CAAC,WAAW,EAAE,GAAG,WAAW,EAAE,KAAM,EAAE,KAAK,CAAC,KAAM,CAAC,EAAE,MAAM,EAAE,qCAAqC,KAAK,gIAAgI,CAAC,CAAC;YACtQ,IAAI,KAAK,KAAK,SAAS;gBAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,MAAM,GAAG,yKAAyK,CAAC;QAC7O,CAAC;IACH,CAAC;IACD,IAAI,CAAC,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,+IAA+I,EAAE,CAAC,CAAC;IAClT,IAAI,CAAC,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,kHAAkH,EAAE,CAAC,CAAC;IAC3T,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;YAAE,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,gGAAgG,CAAC,CAAC;QACrN,IAAI,MAAM,KAAK,KAAK,CAAC,YAAY;YAAE,QAAQ,CAAC,iBAAiB,EAAE,UAAU,CAAC,gBAAgB,EAAE,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,qGAAqG,CAAC,CAAC;QAC/N,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;YAAE,QAAQ,CAAC,wBAAwB,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,wDAAwD,CAAC,CAAC;QAClM,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS,IAAI,QAAQ,CAAC,aAAa,KAAK,MAAM;YAAE,QAAQ,CAAC,0BAA0B,EAAE,UAAU,CAAC,gBAAgB,EAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,0DAA0D,CAAC,CAAC;QAC7O,IAAI,KAAK,CAAC,UAAU,KAAK,aAAa,IAAI,KAAK,CAAC,oBAAoB,KAAK,KAAK;YAAE,QAAQ,CAAC,uBAAuB,EAAE,UAAU,CAAC,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,+EAA+E,CAAC,CAAC;QACvP,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,oBAAoB,KAAK,IAAI;YAAE,QAAQ,CAAC,uBAAuB,EAAE,UAAU,CAAC,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,0DAA0D,CAAC,CAAC;QAC5N,IAAI,KAAK,CAAC,UAAU,KAAK,aAAa,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,UAAU,CAAC,cAAc,EAAE,OAAO,EAAE,8IAA8I,EAAE,CAAC,CAAC;IACpU,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/dist/tools/registry.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { Tool, ToolDefinition, ToolUseContext } from "./tool.js";
|
|
2
|
+
/** Delegation is opt-in. The child-only report tool is not a delegation switch. */
|
|
3
|
+
export declare function isToolEnabledByDefault(name: string): boolean;
|
|
2
4
|
export interface ToolPoolOptions {
|
|
3
5
|
mode?: "default" | "simple" | "repl";
|
|
4
6
|
denyTools?: readonly string[];
|
package/dist/tools/registry.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { DEFAULT_TOOL_RESULT_BUDGET_CHARS, MAX_TOOL_RESULT_BUDGET_CHARS } from "../session/tool-result-memory.js";
|
|
2
2
|
import { resolveToolDescription } from "./tool.js";
|
|
3
|
+
/** Delegation is opt-in. The child-only report tool is not a delegation switch. */
|
|
4
|
+
export function isToolEnabledByDefault(name) {
|
|
5
|
+
return !name.startsWith("subagent_") || name === "subagent_report";
|
|
6
|
+
}
|
|
3
7
|
export class ToolRegistry {
|
|
4
8
|
tools = new Map();
|
|
5
9
|
aliases = new Map();
|
|
@@ -9,6 +13,8 @@ export class ToolRegistry {
|
|
|
9
13
|
throw new Error(`Tool already registered: ${tool.name}`);
|
|
10
14
|
}
|
|
11
15
|
this.tools.set(tool.name, tool);
|
|
16
|
+
if (!isToolEnabledByDefault(tool.name))
|
|
17
|
+
this.disabledTools.add(tool.name);
|
|
12
18
|
for (const alias of tool.aliases ?? []) {
|
|
13
19
|
if (!this.aliases.has(alias))
|
|
14
20
|
this.aliases.set(alias, tool.name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAElH,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DEFAULT_OPENAI_IMAGE_MODEL, imageValidationError } from "./builtins/image-capabilities.js";
|
|
1
2
|
import { DEFAULT_TOOL_RESULT_BUDGET_CHARS, MAX_TOOL_RESULT_BUDGET_CHARS } from "../session/tool-result-memory.js";
|
|
2
3
|
import { createTextMessage, createToolResultMessage } from "../types/messages.js";
|
|
3
4
|
import { validateJsonSchema } from "./schema.js";
|
|
@@ -72,6 +73,10 @@ function parseAndValidateInput(tool, input, context) {
|
|
|
72
73
|
const hint = tool.metadata.shouldDefer
|
|
73
74
|
? ` ${buildSchemaNotSentHint(tool.name)}`
|
|
74
75
|
: "";
|
|
76
|
+
if (tool.name === "image_create") {
|
|
77
|
+
const model = input && typeof input === "object" && "model" in input && typeof input.model === "string" ? input.model : String(tool.inputSchema.properties?.model?.default || process.env.OPENAI_IMAGE_MODEL?.trim() || DEFAULT_OPENAI_IMAGE_MODEL);
|
|
78
|
+
return { ok: false, message: imageValidationError(model, "input", schemaResult.message) };
|
|
79
|
+
}
|
|
75
80
|
return { ok: false, message: `${schemaResult.message}.${hint}`.trim() };
|
|
76
81
|
}
|
|
77
82
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-tool-use.js","sourceRoot":"","sources":["../../src/tools/run-tool-use.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAClH,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAqC,MAAM,sBAAsB,CAAC;AACrH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAqBpE,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAuB,EACvB,OAAuB,EACvB,UAA6B,EAAE;IAE/B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,iBAAiB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5G,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;QACjC,OAAO,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChH,CAAC;IAED,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,MAAM,oBAAoB,GAAG,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;IACnE,MAAM,UAAU,GAAG,CAAC,KAAwB,EAAE,EAAE;QAC9C,MAAM,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QAC5G,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAI,QAAQ,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/G,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAEzG,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa;YACzC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,oBAAoB,CAAC;YAC9D,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;YACzB,OAAO,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACrG,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACpG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,CAAC;QAED,MAAM,cAAc,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,oBAAoB,EAAE;YACxE,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,UAAU;SACX,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAC/I,MAAM,UAAU,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACvM,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,uBAAuB,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACrI,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAElG,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,GAAG,OAAO;YACV;gBACE,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE;oBAC/C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC;aACH;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAuB,EACvB,OAAuB,EACvB,UAA6B,EAAE;IAE/B,OAAO,CAAC,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAkB,EAClB,KAAc,EACd,OAAuB;IAEvB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,4BAA4B;QAC5D,CAAC,CAAC,2BAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;QACtD,CAAC,CAAC,KAAK,CAAC;IACV,MAAM,YAAY,GAAG,kBAAkB,CAAC,WAAW,EAAE,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACnG,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW;YACpC,CAAC,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,qBAAqB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAE,cAAyB,CAAC;QAClG,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACxF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,OAAuB,EACvB,OAAuB,EACvB,UAAuB;IAEvB,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,OAAO,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAChE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,IAAkB,EAClB,KAAa,EACb,OAAuB,EACvB,OAIC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,IAAI,CAAC,IAAI,6BAA6B,EAAE,EAAE,CAAC;AAC1F,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAU,EAAE,OAAuB,EAAE,MAAkB,EAAE,OAAuB;IAC/G,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAChF,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC9F,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAChE,OAAO,CAAC,EAAE,EACV,MAAM,EACN,YAAY,CACb,CAAC;QACF,IAAI,SAAS,CAAC,MAAM;YAAE,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9E,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAE5B,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChF,IAAI,UAAU,CAAC,MAAM,IAAI,OAAO;QAAE,OAAO,MAAM,CAAC;IAEhD,OAAO,iDAAiD,UAAU,CAAC,MAAM,yBAAyB,OAAO,SAAS,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;AAC7M,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc,EAAE,aAAiC;IAChF,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,EAAE,gCAAgC,CAAC,CAAC;IACxF,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,gBAAgB,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,gBAAgB,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,UAAU,GAAG,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,4BAA4B,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClF,MAAM,KAAK,GAAI,KAAsC,CAAC,cAAc,CAAC;IACrE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,qBAAqB,CAAS,KAAa;IAClD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,gBAAgB,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9G,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,KAAgC,CAAC;IACtF,OAAO,IAAc,CAAC;AACxB,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB;IAC9C,OAAO,MAAM,QAAQ,0DAA0D,CAAC;AAClF,CAAC;AAED,SAAS,0BAA0B,CAAC,MAA2B;IAC7D,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC5C,OAAO;QACL,GAAG,MAAM;QACT,UAAU,EAAE;YACV,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;YAC5B,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACnC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAc,EAAE,MAA2B;IAC9E,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,eAAe,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC3D,IAAI,eAAe,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,UAAU,IAAI,eAAe,CAAC,oBAAoB,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAErI,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QAC5E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;AAClC,CAAC"}
|
|
1
|
+
{"version":3,"file":"run-tool-use.js","sourceRoot":"","sources":["../../src/tools/run-tool-use.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface ImageResultMetadata {
|
|
2
|
+
model?: string;
|
|
3
|
+
size?: string;
|
|
4
|
+
quality?: string;
|
|
5
|
+
outputFormat?: string;
|
|
6
|
+
background?: string;
|
|
7
|
+
prompt?: string;
|
|
8
|
+
mode?: string;
|
|
9
|
+
semanticName?: string;
|
|
10
|
+
images: Array<{
|
|
11
|
+
label?: string;
|
|
12
|
+
width?: number;
|
|
13
|
+
height?: number;
|
|
14
|
+
mimeType?: string;
|
|
15
|
+
hasAlphaChannel?: boolean;
|
|
16
|
+
hasTransparentPixels?: boolean;
|
|
17
|
+
}>;
|
|
18
|
+
}
|
|
19
|
+
/** Explicit allowlist: never send image payloads, credentials or local storage paths to UI metadata. */
|
|
20
|
+
export declare function imageResultMetadata(output: unknown): ImageResultMetadata | undefined;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Explicit allowlist: never send image payloads, credentials or local storage paths to UI metadata. */
|
|
2
|
+
export function imageResultMetadata(output) {
|
|
3
|
+
if (!output || typeof output !== "object" || Array.isArray(output))
|
|
4
|
+
return undefined;
|
|
5
|
+
const data = output;
|
|
6
|
+
if (!Array.isArray(data.images))
|
|
7
|
+
return undefined;
|
|
8
|
+
const text = (value) => typeof value === "string" ? value : undefined;
|
|
9
|
+
const dimension = (value) => typeof value === "number" && Number.isInteger(value) && value > 0 ? value : undefined;
|
|
10
|
+
const flag = (value) => typeof value === "boolean" ? value : undefined;
|
|
11
|
+
return {
|
|
12
|
+
model: text(data.model), size: text(data.size), quality: text(data.quality), outputFormat: text(data.outputFormat),
|
|
13
|
+
background: text(data.background), prompt: text(data.prompt), mode: text(data.mode), semanticName: text(data.semanticName),
|
|
14
|
+
images: data.images.map(value => {
|
|
15
|
+
const image = value && typeof value === "object" ? value : {};
|
|
16
|
+
return { label: text(image.label), width: dimension(image.width), height: dimension(image.height), mimeType: text(image.mimeType), hasAlphaChannel: flag(image.hasAlphaChannel), hasTransparentPixels: flag(image.hasTransparentPixels) };
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=image-result-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-result-metadata.js","sourceRoot":"","sources":["../../src/web/image-result-metadata.ts"],"names":[],"mappings":"AAYA,wGAAwG;AACxG,MAAM,UAAU,mBAAmB,CAAC,MAAe;IACjD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IACrF,MAAM,IAAI,GAAG,MAAiC,CAAC;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAClD,MAAM,IAAI,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,MAAM,SAAS,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5H,MAAM,IAAI,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAClH,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAC1H,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,KAAK,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC5O,CAAC,CAAC;KACH,CAAC;AACJ,CAAC"}
|
package/dist/web/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { type ImageResultMetadata } from "./image-result-metadata.js";
|
|
2
3
|
import { type IncomingMessage, type ServerResponse } from "node:http";
|
|
3
4
|
import { QueryEngine } from "../core/query-engine.js";
|
|
4
5
|
import { type AppPromptStore } from "../app/app-prompt.js";
|
|
@@ -82,6 +83,7 @@ export declare class SessionUsageTracker {
|
|
|
82
83
|
}
|
|
83
84
|
interface UiLineImage {
|
|
84
85
|
src?: string;
|
|
86
|
+
originalSrc?: string;
|
|
85
87
|
imageId?: string;
|
|
86
88
|
label?: string;
|
|
87
89
|
mimeType: string;
|
|
@@ -174,6 +176,7 @@ interface UiLine {
|
|
|
174
176
|
live?: boolean;
|
|
175
177
|
collapsible?: boolean;
|
|
176
178
|
image?: UiLineImage;
|
|
179
|
+
imageResult?: ImageResultMetadata;
|
|
177
180
|
compaction?: UiCompactionReport;
|
|
178
181
|
}
|
|
179
182
|
type WebActionFailure = {
|
|
@@ -235,7 +238,7 @@ export interface CreateWebRuntimeOptions {
|
|
|
235
238
|
sessionPluginOverrides?: Readonly<Record<string, boolean>>;
|
|
236
239
|
persistSessionPluginOverrides?: WebRuntimePluginSupport["persist"];
|
|
237
240
|
resolveSessionPluginOverrides?: WebRuntimePluginSupport["resolve"];
|
|
238
|
-
/** Global tool
|
|
241
|
+
/** Global tool overrides. Missing names use registry defaults (delegation tools are opt-in). */
|
|
239
242
|
globalToolOverrides?: Readonly<Record<string, boolean>>;
|
|
240
243
|
/** Per-session tool overrides. Missing names inherit their global default. */
|
|
241
244
|
sessionToolOverrides?: Readonly<Record<string, boolean>>;
|
package/dist/web/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { imageResultMetadata } from "./image-result-metadata.js";
|
|
2
3
|
import { subagentHeader, subagentStatusFacts } from "./status-semantics.js";
|
|
3
4
|
import { handlePromptConfigRequest } from "./prompt-config-protocol.js";
|
|
4
5
|
import http from "node:http";
|
|
@@ -17,7 +18,7 @@ import { readModelProviderConfig } from "../model/config.js";
|
|
|
17
18
|
import { findModelMetadata, loadModelCatalog, reasoningEffortsForModel, resolveContextWindowTokens } from "../model/context-window.js";
|
|
18
19
|
import { CommunicationLogger, LoggingModelGateway } from "../model/communication-logger.js";
|
|
19
20
|
import { createModelGatewayFromConfig, createModelGatewayFromProcessEnv } from "../model/provider-factory.js";
|
|
20
|
-
import { ToolRegistry } from "../tools/registry.js";
|
|
21
|
+
import { ToolRegistry, isToolEnabledByDefault } from "../tools/registry.js";
|
|
21
22
|
import { builtinToolPresentation, toolPresentationForSource } from "../tools/tool-catalog.js";
|
|
22
23
|
import { editTool, writeTool } from "../tools/builtins/edit-tool.js";
|
|
23
24
|
import { createExecTool, createWriteStdinTool } from "../tools/builtins/exec-tool.js";
|
|
@@ -287,7 +288,7 @@ function normalizeToolOverrides(value, catalog) {
|
|
|
287
288
|
}
|
|
288
289
|
function applyToolOverrides(registry, catalog, globalOverrides, sessionOverrides) {
|
|
289
290
|
for (const tool of catalog)
|
|
290
|
-
registry.setEnabled(tool.name, sessionOverrides[tool.name] ?? globalOverrides[tool.name] ??
|
|
291
|
+
registry.setEnabled(tool.name, sessionOverrides[tool.name] ?? globalOverrides[tool.name] ?? isToolEnabledByDefault(tool.name));
|
|
291
292
|
}
|
|
292
293
|
/** Called only at a safe turn boundary or while idle, never during tool execution. */
|
|
293
294
|
export function refreshGlobalToolOverrides(runtime) {
|
|
@@ -596,7 +597,7 @@ export class WebRepl {
|
|
|
596
597
|
return {
|
|
597
598
|
items: support.catalog.map((tool) => ({
|
|
598
599
|
...tool,
|
|
599
|
-
configuredEnabled: support.globalOverrides[tool.name] ??
|
|
600
|
+
configuredEnabled: support.globalOverrides[tool.name] ?? isToolEnabledByDefault(tool.name),
|
|
600
601
|
})),
|
|
601
602
|
};
|
|
602
603
|
}
|
|
@@ -614,7 +615,7 @@ export class WebRepl {
|
|
|
614
615
|
busy: this.busy,
|
|
615
616
|
items: support.catalog.map((tool) => {
|
|
616
617
|
const override = support.sessionOverrides[tool.name];
|
|
617
|
-
const globallyEnabled = support.globalOverrides[tool.name] ??
|
|
618
|
+
const globallyEnabled = support.globalOverrides[tool.name] ?? isToolEnabledByDefault(tool.name);
|
|
618
619
|
const available = tool.source !== "plugin" || Boolean(tool.pluginId && activePluginIds.has(tool.pluginId));
|
|
619
620
|
return {
|
|
620
621
|
...tool,
|
|
@@ -2948,6 +2949,7 @@ function imageLineForBlock(role, block, messageId, blockIndex) {
|
|
|
2948
2949
|
text: block.label ?? `[image ${block.mimeType}]`,
|
|
2949
2950
|
image: {
|
|
2950
2951
|
src: resolution.available ? (block.imageId ? `/api/images/by-id/${encodeURIComponent(block.imageId)}` : `/api/images/${encodeURIComponent(messageId)}/${blockIndex}`) : undefined,
|
|
2952
|
+
originalSrc: resolution.available ? (block.imageId ? `/api/images/by-id/${encodeURIComponent(block.imageId)}` : `/api/images/${encodeURIComponent(messageId)}/${blockIndex}`) : undefined,
|
|
2951
2953
|
imageId: block.imageId,
|
|
2952
2954
|
label: block.label,
|
|
2953
2955
|
mimeType: block.mimeType,
|
|
@@ -3090,6 +3092,7 @@ function formatToolResultLine(toolName, output, ok, presentToolResult) {
|
|
|
3090
3092
|
title: presentation?.title ?? toolTitle(toolName, "finished"),
|
|
3091
3093
|
bodyTitle: presentation?.bodyTitle ?? formatted.bodyTitle,
|
|
3092
3094
|
titleStatus: ok ? "success" : "failure",
|
|
3095
|
+
imageResult: toolName === "image_create" ? imageResultMetadata(output) : undefined,
|
|
3093
3096
|
text: presentation?.text ?? formatted.text,
|
|
3094
3097
|
toolDisplay: resources?.length ? undefined : buildToolResultDisplay(toolName, output, ok),
|
|
3095
3098
|
format: formatted.format,
|
|
@@ -3593,7 +3596,19 @@ function formatImageGenerationToolResult(output, ok) {
|
|
|
3593
3596
|
const lines = [`${mode === "edit" ? "edited" : "generated"} ${returnedImages ?? 0} image${returnedImages === 1 ? "" : "s"}`];
|
|
3594
3597
|
const details = [provider, model, size, quality && quality !== "auto" ? quality : undefined, format].filter((value) => Boolean(value));
|
|
3595
3598
|
if (details.length > 0)
|
|
3596
|
-
lines.push(details.join(" · "));
|
|
3599
|
+
lines.push(`${output.requested ? "requested: " : ""}${details.join(" · ")}`);
|
|
3600
|
+
if (isRecord(output.actual)) {
|
|
3601
|
+
lines.push(`upstream-reported quality: ${String(output.actual.quality ?? "unreported")}`);
|
|
3602
|
+
if (Array.isArray(output.images))
|
|
3603
|
+
for (const image of output.images.filter(isRecord)) {
|
|
3604
|
+
if (typeof image.width === "number" && typeof image.height === "number")
|
|
3605
|
+
lines.push(`actual image: ${image.width}x${image.height} · ${String(image.mimeType ?? "")}`);
|
|
3606
|
+
}
|
|
3607
|
+
}
|
|
3608
|
+
if (Array.isArray(output.warnings))
|
|
3609
|
+
for (const warning of output.warnings.filter(isRecord)) {
|
|
3610
|
+
lines.push(`warning [${String(warning.code ?? "IMAGE_WARNING")}]: ${String(warning.message ?? "")}`);
|
|
3611
|
+
}
|
|
3597
3612
|
if (sourceImages !== undefined)
|
|
3598
3613
|
lines.push(`source images: ${sourceImages}`);
|
|
3599
3614
|
const duration = imageGenerationDuration(output);
|