neoctl 0.2.10 → 0.2.12
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/context/compaction.js +3 -3
- package/dist/context/compaction.js.map +1 -1
- package/dist/context/prompts.js +5 -1
- package/dist/context/prompts.js.map +1 -1
- package/dist/core/image-note-prompt.d.ts +8 -0
- package/dist/core/image-note-prompt.js +20 -0
- package/dist/core/image-note-prompt.js.map +1 -0
- package/dist/core/image-notes.d.ts +21 -0
- package/dist/core/image-notes.js +112 -0
- package/dist/core/image-notes.js.map +1 -0
- package/dist/core/image-registry.d.ts +5 -0
- package/dist/core/image-registry.js +41 -3
- package/dist/core/image-registry.js.map +1 -1
- package/dist/core/query-engine.js +6 -1
- package/dist/core/query-engine.js.map +1 -1
- package/dist/core/query.js +189 -1
- package/dist/core/query.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/model/anthropic-mapper.js +3 -1
- package/dist/model/anthropic-mapper.js.map +1 -1
- package/dist/model/openai-mappers.js +3 -1
- package/dist/model/openai-mappers.js.map +1 -1
- package/dist/repl/index.js +286 -264
- package/dist/repl/index.js.map +1 -1
- package/dist/tools/builtins/image-generation-tool.d.ts +3 -0
- package/dist/tools/builtins/image-generation-tool.js +63 -17
- package/dist/tools/builtins/image-generation-tool.js.map +1 -1
- package/dist/tools/builtins/image-loader-tool.d.ts +7 -0
- package/dist/tools/builtins/image-loader-tool.js +29 -1
- package/dist/tools/builtins/image-loader-tool.js.map +1 -1
- package/dist/tools/builtins/image-note-tool.d.ts +29 -0
- package/dist/tools/builtins/image-note-tool.js +179 -0
- package/dist/tools/builtins/image-note-tool.js.map +1 -0
- package/dist/tools/smoke-tool-system.js +4 -2
- package/dist/tools/smoke-tool-system.js.map +1 -1
- package/dist/web/html.js +8 -14
- package/dist/web/html.js.map +1 -1
- package/dist/web/index.d.ts +0 -5
- package/dist/web/index.js +7 -41
- package/dist/web/index.js.map +1 -1
- package/package.json +1 -1
- package/scripts/install-ripgrep.cjs +196 -196
- package/vendor/ripgrep/darwin-arm64/COPYING +3 -3
- package/vendor/ripgrep/darwin-arm64/LICENSE-MIT +21 -21
- package/vendor/ripgrep/darwin-arm64/UNLICENSE +24 -24
- package/vendor/ripgrep/darwin-arm64/manifest.json +7 -7
- package/vendor/ripgrep/darwin-x64/COPYING +3 -3
- package/vendor/ripgrep/darwin-x64/LICENSE-MIT +21 -21
- package/vendor/ripgrep/darwin-x64/UNLICENSE +24 -24
- package/vendor/ripgrep/darwin-x64/manifest.json +7 -7
- package/vendor/ripgrep/linux-arm64/COPYING +3 -3
- package/vendor/ripgrep/linux-arm64/LICENSE-MIT +21 -21
- package/vendor/ripgrep/linux-arm64/UNLICENSE +24 -24
- package/vendor/ripgrep/linux-arm64/manifest.json +7 -7
- package/vendor/ripgrep/linux-x64/COPYING +3 -3
- package/vendor/ripgrep/linux-x64/LICENSE-MIT +21 -21
- package/vendor/ripgrep/linux-x64/UNLICENSE +24 -24
- package/vendor/ripgrep/linux-x64/manifest.json +7 -7
- package/vendor/ripgrep/win32-arm64/manifest.json +7 -7
- package/dist/tips.d.ts +0 -10
- package/dist/tips.js +0 -168
- package/dist/tips.js.map +0 -1
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { getImageRegistryFromMessages } from "../../core/message-pipeline.js";
|
|
2
|
+
import { resolveImageRef } from "../../core/image-registry.js";
|
|
3
|
+
import { writeImageNoteForStoragePath } from "../../core/image-notes.js";
|
|
4
|
+
export function createImageNoteTool() {
|
|
5
|
+
return {
|
|
6
|
+
name: "image_note",
|
|
7
|
+
aliases: ["note_image", "annotate_image"],
|
|
8
|
+
description: "Record concise semantic notes for one or more images the model has actually inspected. " +
|
|
9
|
+
"Use this after seeing newly provided or loaded images when they may be referenced later. " +
|
|
10
|
+
"Prefer the batch notes array when multiple unnamed images need notes. " +
|
|
11
|
+
"Store factual captions, task purpose, visible text/OCR snippets, and retrieval tags. " +
|
|
12
|
+
"Do not invent details or sensitive inferences.",
|
|
13
|
+
inputSchema: {
|
|
14
|
+
type: "object",
|
|
15
|
+
properties: {
|
|
16
|
+
imageRef: {
|
|
17
|
+
type: "string",
|
|
18
|
+
description: "Single-image compatibility form: image id, label, generated label, numeric ref, or storage-path suffix, e.g. img_1, gen#1, or screenshot.png.",
|
|
19
|
+
},
|
|
20
|
+
caption: {
|
|
21
|
+
type: "string",
|
|
22
|
+
description: "Single-image compatibility form: one factual sentence describing visible image content. Do not include uncertain or sensitive inferences.",
|
|
23
|
+
},
|
|
24
|
+
purpose: {
|
|
25
|
+
type: "string",
|
|
26
|
+
description: "Single-image compatibility form: why this image matters for the current task, based on the user request or conversation.",
|
|
27
|
+
},
|
|
28
|
+
detectedText: {
|
|
29
|
+
type: "array",
|
|
30
|
+
items: { type: "string" },
|
|
31
|
+
description: "Single-image compatibility form: short visible text/OCR snippets from the image. Include only text you can actually see.",
|
|
32
|
+
},
|
|
33
|
+
tags: {
|
|
34
|
+
type: "array",
|
|
35
|
+
items: { type: "string" },
|
|
36
|
+
description: "Single-image compatibility form: short retrieval tags such as ui, login, error, mockup, checkout.",
|
|
37
|
+
},
|
|
38
|
+
retention: {
|
|
39
|
+
type: "string",
|
|
40
|
+
enum: ["next_turn", "while_relevant", "pinned"],
|
|
41
|
+
description: "Single-image compatibility form: decide how long this image's pixels should remain directly visible. Use next_turn for one-off, while_relevant for active multi-turn visual work, pinned only for explicit long-lived references.",
|
|
42
|
+
},
|
|
43
|
+
ttlTurns: {
|
|
44
|
+
type: "number",
|
|
45
|
+
description: "Single-image compatibility form: for while_relevant, assistant turns to keep pixels visible, 1-12.",
|
|
46
|
+
},
|
|
47
|
+
notes: {
|
|
48
|
+
type: "array",
|
|
49
|
+
description: "Batch form for recording notes for multiple images in one call.",
|
|
50
|
+
items: {
|
|
51
|
+
type: "object",
|
|
52
|
+
properties: {
|
|
53
|
+
imageRef: { type: "string", description: "Image id/label/ref to annotate." },
|
|
54
|
+
caption: { type: "string", description: "One factual sentence describing visible image content." },
|
|
55
|
+
purpose: { type: "string", description: "Why this image matters for the current task." },
|
|
56
|
+
detectedText: { type: "array", items: { type: "string" }, description: "Visible text/OCR snippets." },
|
|
57
|
+
tags: { type: "array", items: { type: "string" }, description: "Short retrieval tags." },
|
|
58
|
+
retention: { type: "string", enum: ["next_turn", "while_relevant", "pinned"], description: "Pixel retention decision for this image." },
|
|
59
|
+
ttlTurns: { type: "number", description: "For while_relevant, assistant turns to keep pixels visible, 1-12." },
|
|
60
|
+
},
|
|
61
|
+
required: ["imageRef"],
|
|
62
|
+
additionalProperties: false,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
additionalProperties: false,
|
|
67
|
+
},
|
|
68
|
+
metadata: {
|
|
69
|
+
readOnly: false,
|
|
70
|
+
concurrent: false,
|
|
71
|
+
visible: true,
|
|
72
|
+
maxResultSizeChars: 1000,
|
|
73
|
+
},
|
|
74
|
+
validate(input) {
|
|
75
|
+
const record = input;
|
|
76
|
+
return {
|
|
77
|
+
imageRef: record.imageRef,
|
|
78
|
+
caption: record.caption,
|
|
79
|
+
purpose: record.purpose,
|
|
80
|
+
detectedText: Array.isArray(record.detectedText) ? record.detectedText : undefined,
|
|
81
|
+
tags: Array.isArray(record.tags) ? record.tags : undefined,
|
|
82
|
+
retention: record.retention,
|
|
83
|
+
ttlTurns: record.ttlTurns,
|
|
84
|
+
notes: Array.isArray(record.notes) ? record.notes.map(normalizeNoteItemInput) : undefined,
|
|
85
|
+
};
|
|
86
|
+
},
|
|
87
|
+
validateInput(input) {
|
|
88
|
+
const notes = normalizeNotes(input);
|
|
89
|
+
if (notes.length === 0)
|
|
90
|
+
return { ok: false, message: "Provide either imageRef plus note fields, or a non-empty notes array" };
|
|
91
|
+
if (notes.length > 10)
|
|
92
|
+
return { ok: false, message: "Cannot record more than 10 image notes at once" };
|
|
93
|
+
for (const note of notes) {
|
|
94
|
+
if (!note.imageRef.trim())
|
|
95
|
+
return { ok: false, message: "imageRef is required for every note" };
|
|
96
|
+
const hasNote = Boolean(note.caption?.trim() || note.purpose?.trim() || note.detectedText?.length || note.tags?.length || note.retention);
|
|
97
|
+
if (!hasNote)
|
|
98
|
+
return { ok: false, message: `Provide at least one semantic field or retention decision for ${note.imageRef}` };
|
|
99
|
+
if (note.detectedText && note.detectedText.some((item) => !item.trim()))
|
|
100
|
+
return { ok: false, message: "detectedText entries must be non-empty strings" };
|
|
101
|
+
if (note.tags && note.tags.some((tag) => !tag.trim()))
|
|
102
|
+
return { ok: false, message: "tags must be non-empty strings" };
|
|
103
|
+
if (note.retention && !isImageRetention(note.retention))
|
|
104
|
+
return { ok: false, message: "retention must be one of: next_turn, while_relevant, pinned" };
|
|
105
|
+
if (note.ttlTurns !== undefined && (!Number.isFinite(note.ttlTurns) || note.ttlTurns < 1 || note.ttlTurns > 12))
|
|
106
|
+
return { ok: false, message: "ttlTurns must be a number from 1 to 12" };
|
|
107
|
+
}
|
|
108
|
+
return { ok: true, value: input };
|
|
109
|
+
},
|
|
110
|
+
isConcurrencySafe() {
|
|
111
|
+
return false;
|
|
112
|
+
},
|
|
113
|
+
async call(input, context) {
|
|
114
|
+
const registry = getImageRegistryFromMessages(context.messages ?? []);
|
|
115
|
+
const recorded = [];
|
|
116
|
+
const failed = [];
|
|
117
|
+
for (const noteInput of normalizeNotes(input)) {
|
|
118
|
+
const entry = resolveImageRef(registry, noteInput.imageRef);
|
|
119
|
+
if (!entry) {
|
|
120
|
+
failed.push({ imageRef: noteInput.imageRef, error: `Image not found: ${noteInput.imageRef}` });
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
if (!entry.storagePath) {
|
|
124
|
+
failed.push({ imageRef: noteInput.imageRef, error: `Image ${entry.id} has no stored payload path; cannot persist a note` });
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
const note = await writeImageNoteForStoragePath(entry.storagePath, {
|
|
128
|
+
caption: noteInput.caption,
|
|
129
|
+
purpose: noteInput.purpose,
|
|
130
|
+
detectedText: noteInput.detectedText,
|
|
131
|
+
tags: noteInput.tags,
|
|
132
|
+
retention: noteInput.retention,
|
|
133
|
+
ttlTurns: noteInput.ttlTurns,
|
|
134
|
+
});
|
|
135
|
+
recorded.push({ imageRef: entry.id, storagePath: entry.storagePath, note });
|
|
136
|
+
}
|
|
137
|
+
const output = { recorded, failed };
|
|
138
|
+
return {
|
|
139
|
+
ok: recorded.length > 0 && failed.length === 0,
|
|
140
|
+
output,
|
|
141
|
+
summary: `Recorded ${recorded.length} image note(s)${failed.length ? `, ${failed.length} failed` : ""}`,
|
|
142
|
+
};
|
|
143
|
+
},
|
|
144
|
+
renderToolResultMessage(result, request) {
|
|
145
|
+
if (!request)
|
|
146
|
+
return undefined;
|
|
147
|
+
return {
|
|
148
|
+
id: `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`,
|
|
149
|
+
role: "tool_result",
|
|
150
|
+
createdAt: new Date().toISOString(),
|
|
151
|
+
blocks: [{ type: "tool_result", toolUseId: request.id, name: request.name, ok: result.ok, output: result.output }],
|
|
152
|
+
};
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
function normalizeNoteItemInput(value) {
|
|
157
|
+
const record = value;
|
|
158
|
+
return {
|
|
159
|
+
imageRef: record.imageRef ?? "",
|
|
160
|
+
caption: record.caption,
|
|
161
|
+
purpose: record.purpose,
|
|
162
|
+
detectedText: Array.isArray(record.detectedText) ? record.detectedText : undefined,
|
|
163
|
+
tags: Array.isArray(record.tags) ? record.tags : undefined,
|
|
164
|
+
retention: record.retention,
|
|
165
|
+
ttlTurns: record.ttlTurns,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
function isImageRetention(value) {
|
|
169
|
+
return value === "next_turn" || value === "while_relevant" || value === "pinned";
|
|
170
|
+
}
|
|
171
|
+
function normalizeNotes(input) {
|
|
172
|
+
if (input.notes?.length)
|
|
173
|
+
return input.notes.map(normalizeNoteItemInput);
|
|
174
|
+
if (!input.imageRef)
|
|
175
|
+
return [];
|
|
176
|
+
return [normalizeNoteItemInput(input)];
|
|
177
|
+
}
|
|
178
|
+
export const imageNoteTool = createImageNoteTool();
|
|
179
|
+
//# sourceMappingURL=image-note-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-note-tool.js","sourceRoot":"","sources":["../../../src/tools/builtins/image-note-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -191,8 +191,8 @@ async function main() {
|
|
|
191
191
|
const searchToolPrompt = JSON.stringify({ description: searchToolDefinition?.description, schema: searchToolDefinition?.inputSchema });
|
|
192
192
|
const imageTool = createOpenAIImageGenerationTool();
|
|
193
193
|
const imageToolPrompt = JSON.stringify({ name: imageTool.name, description: imageTool.description, schema: imageTool.inputSchema });
|
|
194
|
-
const imageDefaultValidation = await imageTool.validateInput?.(imageTool.validate?.({ prompt: "smoke" }, context) ?? { prompt: "smoke" }, context);
|
|
195
|
-
const imageLegacyModelValidation = await imageTool.validateInput?.(imageTool.validate?.({ prompt: "smoke", model: "gpt-image-1" }, context) ?? { prompt: "smoke", model: "gpt-image-1" }, context);
|
|
194
|
+
const imageDefaultValidation = await imageTool.validateInput?.(imageTool.validate?.({ semanticName: "smoke-test", prompt: "smoke" }, context) ?? { semanticName: "smoke-test", prompt: "smoke" }, context);
|
|
195
|
+
const imageLegacyModelValidation = await imageTool.validateInput?.(imageTool.validate?.({ semanticName: "smoke-test", prompt: "smoke", model: "gpt-image-1" }, context) ?? { semanticName: "smoke-test", prompt: "smoke", model: "gpt-image-1" }, context);
|
|
196
196
|
const imageEditSmokeMessages = [
|
|
197
197
|
{
|
|
198
198
|
id: "image-old",
|
|
@@ -241,6 +241,7 @@ async function main() {
|
|
|
241
241
|
try {
|
|
242
242
|
const imageEditRefResult = await imageEditTool.call?.({
|
|
243
243
|
mode: "edit",
|
|
244
|
+
semanticName: "smoke-edit-ref",
|
|
244
245
|
prompt: "smoke edit",
|
|
245
246
|
imageRefs: ["img#10"],
|
|
246
247
|
useLatestImage: false,
|
|
@@ -248,6 +249,7 @@ async function main() {
|
|
|
248
249
|
imageEditRefOutput = imageEditRefResult?.output;
|
|
249
250
|
const imageEditNumberResult = await imageEditTool.call?.({
|
|
250
251
|
mode: "edit",
|
|
252
|
+
semanticName: "smoke-edit-number",
|
|
251
253
|
prompt: "smoke edit",
|
|
252
254
|
imageRefs: ["10"],
|
|
253
255
|
useLatestImage: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smoke-tool-system.js","sourceRoot":"","sources":["../../src/tools/smoke-tool-system.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smoke-tool-system.js","sourceRoot":"","sources":["../../src/tools/smoke-tool-system.ts"],"names":[],"mappings":"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"}
|
package/dist/web/html.js
CHANGED
|
@@ -203,7 +203,7 @@ const ANIMATED_NUMBER_INTERVAL_MS = 50;
|
|
|
203
203
|
const ANIMATED_NUMBER_MIN_DURATION_MS = 180;
|
|
204
204
|
const ANIMATED_NUMBER_MAX_DURATION_MS = 700;
|
|
205
205
|
const ANIMATED_NUMBER_DURATION_SCALE_MS = 130;
|
|
206
|
-
const state = { lines: [], status: { phase: 'ready', streamedOutputTokens: 0 }, busy: false, queuedInput: undefined, backgroundTaskCount: 0, backgroundTasks: [], backgroundSessionRunCount: 0, runningSessionIds: [], session: undefined, catalog: { commands: [], modelIds: [], reasoning: [] }, interactive: {},
|
|
206
|
+
const state = { lines: [], status: { phase: 'ready', streamedOutputTokens: 0 }, busy: false, queuedInput: undefined, backgroundTaskCount: 0, backgroundTasks: [], backgroundSessionRunCount: 0, runningSessionIds: [], session: undefined, catalog: { commands: [], modelIds: [], reasoning: [] }, interactive: {}, history: [], historyIndex: undefined, completionIndex: 0, expandedToolLines: new Set(), panel: undefined, panelSelection: 0, attachments: [], attachmentCounter: 0, view: location.pathname === '/sessions' ? 'sessions' : 'chat' };
|
|
207
207
|
const animatedNumbers = { input: { target: undefined, display: undefined, timer: undefined }, output: { target: undefined, display: undefined, timer: undefined } };
|
|
208
208
|
const renderedLineKeys = new Map();
|
|
209
209
|
const statusNodes = {};
|
|
@@ -244,8 +244,6 @@ es.addEventListener('sync', (event) => {
|
|
|
244
244
|
state.session = payload.session;
|
|
245
245
|
if (payload.catalog) state.catalog = payload.catalog;
|
|
246
246
|
if (payload.interactive) state.interactive = payload.interactive;
|
|
247
|
-
if (payload.tips) state.tips = payload.tips;
|
|
248
|
-
if (payload.tipIndex !== undefined && state.tipIndex === 0) state.tipIndex = payload.tipIndex;
|
|
249
247
|
updateInputPlaceholder();
|
|
250
248
|
scheduleRender();
|
|
251
249
|
});
|
|
@@ -311,10 +309,10 @@ function lineRenderKey(line) {
|
|
|
311
309
|
const expanded = state.expandedToolLines.has(line.id);
|
|
312
310
|
const collapsible = kind === 'tool' && line.collapsible !== false && hasMoreThanLines(line.text || '', TOOL_COLLAPSED_LINES);
|
|
313
311
|
const image = line.image ? [line.image.src || '', line.image.label || '', line.image.mimeType || ''].join('\u001e') : '';
|
|
314
|
-
return [kind, line.text || '', line.title || '', line.bodyTitle || '', line.titleStatus || '', line.format || '', line.previewStyle || '', line.summaryMaxLines || '', line.live ? '1' : '0',
|
|
312
|
+
return [kind, line.text || '', line.title || '', line.bodyTitle || '', line.titleStatus || '', line.format || '', line.previewStyle || '', line.summaryMaxLines || '', line.live ? '1' : '0', collapsible ? '1' : '0', expanded ? '1' : '0', image].join('\u001f');
|
|
315
313
|
}
|
|
316
314
|
function markerForLine(line, kind) {
|
|
317
|
-
if (kind === 'tool') return line.live
|
|
315
|
+
if (kind === 'tool') return line.live ? '◇' : '◆';
|
|
318
316
|
if (kind === 'thinking') return '◆';
|
|
319
317
|
return '●';
|
|
320
318
|
}
|
|
@@ -633,10 +631,8 @@ function renderCompletions() {
|
|
|
633
631
|
completionsEl.innerHTML = '<div class="completion-title">' + esc(title) + '</div>' + visible.map((c, i) => '<div class="completion-row ' + (c.kind || '') + ' ' + (i + pageStart === selected ? 'selected' : '') + '"><span class="num">' + (i + pageStart + 1) + '.</span><span class="name">' + esc(c.value) + '</span><span class="desc">' + esc(c.description || '') + '</span></div>').join('') + '<div class="completion-footer">↑/↓ select · ←/→ page · Tab complete</div>';
|
|
634
632
|
}
|
|
635
633
|
function selectedCompletion() { const list = completions(); return list.length ? list[Math.max(0, Math.min(state.completionIndex, list.length - 1))] : undefined; }
|
|
636
|
-
function completeSelection() { const c = selectedCompletion(); if (!c) return false; const cursor = input.selectionStart || 0; input.value = c.insertText + input.value.slice(cursor); input.selectionStart = input.selectionEnd = c.insertText.length;
|
|
637
|
-
function
|
|
638
|
-
function advanceTip(delta = 1) { state.tipIndex += delta; updateInputPlaceholder(); }
|
|
639
|
-
function updateInputPlaceholder() { const tip = currentTip(); input.placeholder = tip ? tip.placeholder : 'Type a message, or /help for commands'; }
|
|
634
|
+
function completeSelection() { const c = selectedCompletion(); if (!c) return false; const cursor = input.selectionStart || 0; input.value = c.insertText + input.value.slice(cursor); input.selectionStart = input.selectionEnd = c.insertText.length; autosize(); renderCompletions(); return true; }
|
|
635
|
+
function updateInputPlaceholder() { input.placeholder = 'Type a message, or /help for commands'; }
|
|
640
636
|
async function postJson(url, body) { const res = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body) }); const value = await res.json(); if (!value.ok && value.error) alert(value.error); return value; }
|
|
641
637
|
async function saveLoginPanel() {
|
|
642
638
|
const login = state.login;
|
|
@@ -648,7 +644,7 @@ async function saveLoginPanel() {
|
|
|
648
644
|
if (result.ok) { state.panel = undefined; renderPanel(); }
|
|
649
645
|
}
|
|
650
646
|
function attachmentsForText(text) { return state.attachments.filter(attachment => text.includes(attachment.label)); }
|
|
651
|
-
function insertAtCursor(value) { const start = input.selectionStart || 0, end = input.selectionEnd || start; input.value = input.value.slice(0, start) + value + input.value.slice(end); input.selectionStart = input.selectionEnd = start + value.length;
|
|
647
|
+
function insertAtCursor(value) { const start = input.selectionStart || 0, end = input.selectionEnd || start; input.value = input.value.slice(0, start) + value + input.value.slice(end); input.selectionStart = input.selectionEnd = start + value.length; autosize(); renderCompletions(); }
|
|
652
648
|
async function fileToDataUrlPayload(file) {
|
|
653
649
|
const dataUrl = await new Promise((resolve, reject) => { const reader = new FileReader(); reader.onload = () => resolve(String(reader.result || '')); reader.onerror = () => reject(reader.error || new Error('read failed')); reader.readAsDataURL(file); });
|
|
654
650
|
const comma = dataUrl.indexOf(',');
|
|
@@ -742,15 +738,13 @@ input.addEventListener('keydown', (e) => {
|
|
|
742
738
|
const count = completions().length;
|
|
743
739
|
if (handleSessionsKey(e)) return;
|
|
744
740
|
if (e.key === 'Enter' && !e.shiftKey) { e.preventDefault(); const c = selectedCompletion(); if (c && c.kind === 'command' && c.arguments !== 'none') { completeSelection(); input.value += ' '; input.selectionStart = input.selectionEnd = input.value.length; return; } submit(); return; }
|
|
745
|
-
if (e.key === 'Tab') { if (completeSelection()) e.preventDefault();
|
|
741
|
+
if (e.key === 'Tab') { if (completeSelection()) e.preventDefault(); return; }
|
|
746
742
|
if (e.key === 'ArrowUp' && count) { e.preventDefault(); state.completionIndex = (state.completionIndex + count - 1) % count; renderCompletions(); return; }
|
|
747
743
|
if (e.key === 'ArrowDown' && count) { e.preventDefault(); state.completionIndex = (state.completionIndex + 1) % count; renderCompletions(); return; }
|
|
748
744
|
if (e.key === 'ArrowLeft' && count > 10) { e.preventDefault(); state.completionIndex = (state.completionIndex + count - 10) % count; renderCompletions(); return; }
|
|
749
745
|
if (e.key === 'ArrowRight' && count > 10) { e.preventDefault(); state.completionIndex = (state.completionIndex + 10) % count; renderCompletions(); return; }
|
|
750
746
|
if (e.key === 'ArrowUp' && !input.value && state.history.length) { e.preventDefault(); state.historyIndex = Math.min(state.history.length - 1, (state.historyIndex ?? -1) + 1); input.value = state.history[state.historyIndex] || ''; autosize(); return; }
|
|
751
|
-
if (e.key === 'ArrowUp' && !input.value) { e.preventDefault(); advanceTip(-1); return; }
|
|
752
747
|
if (e.key === 'ArrowDown' && state.historyIndex !== undefined) { e.preventDefault(); state.historyIndex -= 1; if (state.historyIndex < 0) { state.historyIndex = undefined; input.value = ''; } else input.value = state.history[state.historyIndex] || ''; autosize(); return; }
|
|
753
|
-
if (e.key === 'ArrowDown' && !input.value) { e.preventDefault(); advanceTip(); return; }
|
|
754
748
|
if ((e.ctrlKey || e.metaKey) && e.key.toLowerCase() === 'c') { if (input.value) { input.value = ''; autosize(); renderCompletions(); } else if (state.queuedInput) { state.queuedInput = undefined; scheduleRender(); fetch('/api/queue/cancel', { method: 'POST' }); } else fetch('/api/interrupt', { method: 'POST' }); }
|
|
755
749
|
if (e.key === 'Escape') { state.completionIndex = 0; if (state.queuedInput) { state.queuedInput = undefined; scheduleRender(); fetch('/api/queue/cancel', { method: 'POST' }); } else renderCompletions(); }
|
|
756
750
|
});
|
|
@@ -758,7 +752,7 @@ document.addEventListener('keydown', (e) => {
|
|
|
758
752
|
if (e.target === input || e.target.closest('input, textarea, select')) return;
|
|
759
753
|
handleSessionsKey(e);
|
|
760
754
|
});
|
|
761
|
-
input.addEventListener('input', () => { state.completionIndex = 0; state.attachments = attachmentsForText(input.value);
|
|
755
|
+
input.addEventListener('input', () => { state.completionIndex = 0; state.attachments = attachmentsForText(input.value); autosize(); renderCompletions(); });
|
|
762
756
|
input.addEventListener('paste', (e) => { void handlePaste(e); });
|
|
763
757
|
function autosize() { input.style.height = 'auto'; input.style.height = Math.min(input.scrollHeight, window.innerHeight * .35) + 'px'; updateScrollBottomAffordance(); }
|
|
764
758
|
function phaseLabel(phase) { if (phase === 'calling_model') return 'model'; if (phase === 'thinking') return 'think'; if (phase === 'running_tools') return 'tools'; if (phase === 'injecting_context') return 'context'; return phase || 'ready'; }
|
package/dist/web/html.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/web/html.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/web/html.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAq1B1B,CAAC"}
|
package/dist/web/index.d.ts
CHANGED
|
@@ -55,7 +55,6 @@ interface UiLine {
|
|
|
55
55
|
previewStyle?: "summary";
|
|
56
56
|
summaryMaxLines?: number;
|
|
57
57
|
live?: boolean;
|
|
58
|
-
pendingReplacement?: boolean;
|
|
59
58
|
collapsible?: boolean;
|
|
60
59
|
image?: UiLineImage;
|
|
61
60
|
}
|
|
@@ -144,7 +143,6 @@ export declare class WebRepl {
|
|
|
144
143
|
private finalizedThinkingLineId;
|
|
145
144
|
private activeAbortController;
|
|
146
145
|
private interruptArmed;
|
|
147
|
-
private readonly toolLineIds;
|
|
148
146
|
private lines;
|
|
149
147
|
private status;
|
|
150
148
|
private busy;
|
|
@@ -185,8 +183,6 @@ export declare class WebRepl {
|
|
|
185
183
|
sessions: boolean;
|
|
186
184
|
login: LoginFormPayload;
|
|
187
185
|
} | undefined;
|
|
188
|
-
tips: import("../tips.js").AppTip[] | undefined;
|
|
189
|
-
tipIndex: number;
|
|
190
186
|
};
|
|
191
187
|
submit(text: string, attachments?: WebAttachmentPayload[]): Promise<{
|
|
192
188
|
ok: true;
|
|
@@ -255,7 +251,6 @@ export declare class WebRepl {
|
|
|
255
251
|
private reduce;
|
|
256
252
|
private finalizeLiveLine;
|
|
257
253
|
private finalizeThinkingLine;
|
|
258
|
-
private finalizeActiveToolLines;
|
|
259
254
|
private handleEvent;
|
|
260
255
|
private handleCommandOrPrompt;
|
|
261
256
|
private runCompaction;
|
package/dist/web/index.js
CHANGED
|
@@ -22,13 +22,13 @@ import { searchTool } from "../tools/builtins/search-tool.js";
|
|
|
22
22
|
import { planTool } from "../tools/builtins/plan-tool.js";
|
|
23
23
|
import { createOpenAIImageGenerationTool } from "../tools/builtins/image-generation-tool.js";
|
|
24
24
|
import { createLoadImageTool } from "../tools/builtins/image-loader-tool.js";
|
|
25
|
+
import { createImageNoteTool } from "../tools/builtins/image-note-tool.js";
|
|
25
26
|
import { createAgentTool, resumeAgentTask } from "../agents/agent-tool.js";
|
|
26
27
|
import { createTaskTools } from "../tasks/task-tools.js";
|
|
27
28
|
import { TaskStore } from "../tasks/task-store.js";
|
|
28
29
|
import { parseReplCommand, helpText, replCommandDefinitions } from "../repl/commands.js";
|
|
29
30
|
import { writeSessionMarkdownExport } from "../session/session-export.js";
|
|
30
31
|
import { WEB_HTML } from "./html.js";
|
|
31
|
-
import { appTips, formatTipLine, initialTipIndex, tipAt } from "../tips.js";
|
|
32
32
|
import { openDirectory } from "../open-directory.js";
|
|
33
33
|
import { resolveImageBlockDataSync } from "../core/image-storage.js";
|
|
34
34
|
const require = createRequire(import.meta.url);
|
|
@@ -124,6 +124,7 @@ export async function createWebRuntime(options = {}) {
|
|
|
124
124
|
tools.register(grepTool);
|
|
125
125
|
tools.register(searchTool);
|
|
126
126
|
tools.register(createLoadImageTool());
|
|
127
|
+
tools.register(createImageNoteTool());
|
|
127
128
|
if (modelConfig?.provider === "openai")
|
|
128
129
|
tools.register(createOpenAIImageGenerationTool());
|
|
129
130
|
tools.register(planTool);
|
|
@@ -254,7 +255,6 @@ export class WebRepl {
|
|
|
254
255
|
finalizedThinkingLineId;
|
|
255
256
|
activeAbortController;
|
|
256
257
|
interruptArmed = false;
|
|
257
|
-
toolLineIds = new Map();
|
|
258
258
|
lines;
|
|
259
259
|
status;
|
|
260
260
|
busy = false;
|
|
@@ -302,8 +302,6 @@ export class WebRepl {
|
|
|
302
302
|
appPrompt: this.runtime.engine.getAppPrompt(),
|
|
303
303
|
catalog: includeCatalog ? webCatalog(this.runtime) : undefined,
|
|
304
304
|
interactive: includeCatalog ? webInteractiveCatalog(this.runtime) : undefined,
|
|
305
|
-
tips: includeCatalog ? appTips : undefined,
|
|
306
|
-
tipIndex: initialTipIndex(this.runtime.engine.snapshot().session?.sessionId ?? process.cwd()),
|
|
307
305
|
};
|
|
308
306
|
}
|
|
309
307
|
async submit(text, attachments = []) {
|
|
@@ -394,7 +392,6 @@ export class WebRepl {
|
|
|
394
392
|
this.assistantLineId = undefined;
|
|
395
393
|
this.thinkingLineId = undefined;
|
|
396
394
|
this.finalizedThinkingLineId = undefined;
|
|
397
|
-
this.toolLineIds.clear();
|
|
398
395
|
if (line)
|
|
399
396
|
this.append(line);
|
|
400
397
|
this.broadcastSync();
|
|
@@ -513,7 +510,6 @@ export class WebRepl {
|
|
|
513
510
|
finalizeForegroundView() {
|
|
514
511
|
this.finalizeLiveLine(this.assistantLineId);
|
|
515
512
|
this.finalizeThinkingLine();
|
|
516
|
-
this.finalizeActiveToolLines();
|
|
517
513
|
this.assistantLineId = undefined;
|
|
518
514
|
this.finalizedThinkingLineId = undefined;
|
|
519
515
|
}
|
|
@@ -609,11 +605,6 @@ export class WebRepl {
|
|
|
609
605
|
this.finalizedThinkingLineId = id;
|
|
610
606
|
this.thinkingLineId = undefined;
|
|
611
607
|
}
|
|
612
|
-
finalizeActiveToolLines() {
|
|
613
|
-
for (const id of this.toolLineIds.values())
|
|
614
|
-
this.replaceLine(id, { live: false, pendingReplacement: false });
|
|
615
|
-
this.toolLineIds.clear();
|
|
616
|
-
}
|
|
617
608
|
handleEvent(event) {
|
|
618
609
|
this.reduce(event);
|
|
619
610
|
if (event.type === "state" || event.type === "context.metrics" || event.type === "usage" || event.type === "tool_call.delta" || event.type === "retrying") {
|
|
@@ -662,7 +653,7 @@ export class WebRepl {
|
|
|
662
653
|
return;
|
|
663
654
|
}
|
|
664
655
|
if (event.message.role === "tool_result") {
|
|
665
|
-
renderToolResultMessage(event.message, (line) => this.append(line)
|
|
656
|
+
renderToolResultMessage(event.message, (line) => this.append(line));
|
|
666
657
|
renderMessageImages(event.message, (line) => this.append(line));
|
|
667
658
|
return;
|
|
668
659
|
}
|
|
@@ -683,22 +674,13 @@ export class WebRepl {
|
|
|
683
674
|
if (event.type === "tool.started") {
|
|
684
675
|
this.finalizeLiveLine(this.assistantLineId);
|
|
685
676
|
this.finalizeThinkingLine();
|
|
686
|
-
const id = this.append({ ...formatToolUse(event.toolUse), live: true });
|
|
687
|
-
this.toolLineIds.set(event.toolUse.id, id);
|
|
688
677
|
return;
|
|
689
678
|
}
|
|
690
|
-
if (event.type === "tool.finished")
|
|
691
|
-
const id = this.toolLineIds.get(event.toolUse.id);
|
|
692
|
-
if (id !== undefined) {
|
|
693
|
-
this.replaceLine(id, formatToolFinishedWithoutResult(event.toolUse, event.ok));
|
|
694
|
-
this.toolLineIds.delete(event.toolUse.id);
|
|
695
|
-
}
|
|
679
|
+
if (event.type === "tool.finished")
|
|
696
680
|
return;
|
|
697
|
-
}
|
|
698
681
|
if (event.type === "terminal") {
|
|
699
682
|
this.finalizeLiveLine(this.assistantLineId);
|
|
700
683
|
this.finalizeThinkingLine();
|
|
701
|
-
this.finalizeActiveToolLines();
|
|
702
684
|
this.assistantLineId = undefined;
|
|
703
685
|
this.broadcastSync();
|
|
704
686
|
return;
|
|
@@ -1016,11 +998,7 @@ function webInteractiveCatalog(runtime) {
|
|
|
1016
998
|
};
|
|
1017
999
|
}
|
|
1018
1000
|
function initialLines(runtime, lineId) {
|
|
1019
|
-
const
|
|
1020
|
-
const suffix = session ? ` Session: ${session.sessionId}${session.resumedMessages > 0 ? ` (${session.resumedMessages} resumed messages)` : ""}.` : "";
|
|
1021
|
-
const lines = [
|
|
1022
|
-
{ id: 0, kind: "system", title: "System", text: `Interactive web UI enabled. Type /help for commands.${suffix}\n${formatTipLine(tipAt(initialTipIndex(session?.sessionId ?? process.cwd())))}`, previewStyle: "summary" },
|
|
1023
|
-
];
|
|
1001
|
+
const lines = [];
|
|
1024
1002
|
lineId.current = 0;
|
|
1025
1003
|
if (runtime.envNotice)
|
|
1026
1004
|
lines.push({ id: ++lineId.current, kind: "system", title: "Config", text: runtime.envNotice, format: "plain", previewStyle: "summary" });
|
|
@@ -1465,19 +1443,12 @@ function renderMessage(message, append, activeAssistantId, options = {}) {
|
|
|
1465
1443
|
}
|
|
1466
1444
|
return rendered;
|
|
1467
1445
|
}
|
|
1468
|
-
function renderToolResultMessage(message, append
|
|
1446
|
+
function renderToolResultMessage(message, append) {
|
|
1469
1447
|
let rendered = false;
|
|
1470
1448
|
for (const block of message.blocks) {
|
|
1471
1449
|
if (block.type !== "tool_result")
|
|
1472
1450
|
continue;
|
|
1473
|
-
|
|
1474
|
-
const id = activeToolLineIds.get(block.toolUseId);
|
|
1475
|
-
if (id === undefined)
|
|
1476
|
-
append(line);
|
|
1477
|
-
else {
|
|
1478
|
-
replaceLine(id, { ...line, title: toolTitle(block.name, "finished"), live: false, pendingReplacement: false });
|
|
1479
|
-
activeToolLineIds.delete(block.toolUseId);
|
|
1480
|
-
}
|
|
1451
|
+
append(formatToolResultLine(block.name, block.output, block.ok));
|
|
1481
1452
|
rendered = true;
|
|
1482
1453
|
}
|
|
1483
1454
|
return rendered;
|
|
@@ -1578,11 +1549,6 @@ function formatToolResultLine(toolName, output, ok) {
|
|
|
1578
1549
|
const formatted = formatToolResult(toolName, output, ok);
|
|
1579
1550
|
return { kind: ok ? "tool" : "error", title: toolTitle(toolName, "finished"), bodyTitle: formatted.bodyTitle, titleStatus: ok ? "success" : "failure", text: formatted.text, format: formatted.format, live: false, previewStyle: formatted.full ? undefined : "summary", summaryMaxLines: formatted.summaryMaxLines, collapsible: true };
|
|
1580
1551
|
}
|
|
1581
|
-
function formatToolFinishedWithoutResult(toolUse, ok) {
|
|
1582
|
-
const inputText = formatReplData(toolUse.input, 1200);
|
|
1583
|
-
const description = toolUse.name === "exec" ? execDescriptionFromInput(toolUse.input) : undefined;
|
|
1584
|
-
return { kind: ok ? "tool" : "error", title: toolTitle(toolUse.name, "finished"), bodyTitle: description, titleStatus: ok ? "success" : "failure", text: inputText ? `${ok ? "finished" : "failed"}\n${inputText}` : ok ? "finished" : "failed", previewStyle: "summary", live: true, pendingReplacement: true, collapsible: true };
|
|
1585
|
-
}
|
|
1586
1552
|
function toolTitle(toolName, _phase) {
|
|
1587
1553
|
return toolName;
|
|
1588
1554
|
}
|