@pentoshi/clai 3.8.44 → 3.8.47
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 +249 -251
- package/dist/agent/compaction-summary.js +1 -1
- package/dist/agent/compaction-summary.js.map +1 -1
- package/dist/agent/plan-tool.js +110 -14
- package/dist/agent/plan-tool.js.map +1 -1
- package/dist/agent/reliability-policy.d.ts +4 -3
- package/dist/agent/reliability-policy.js +4 -3
- package/dist/agent/reliability-policy.js.map +1 -1
- package/dist/agent/responder-context.d.ts +10 -0
- package/dist/agent/responder-context.js +50 -0
- package/dist/agent/responder-context.js.map +1 -0
- package/dist/agent/runner.js +160 -12
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/task-plan.d.ts +4 -0
- package/dist/agent/task-plan.js.map +1 -1
- package/dist/app/adapters/current-jobs-adapter.js +7 -0
- package/dist/app/adapters/current-jobs-adapter.js.map +1 -1
- package/dist/app/controllers/job-controller.d.ts +9 -6
- package/dist/app/controllers/job-controller.js +21 -0
- package/dist/app/controllers/job-controller.js.map +1 -1
- package/dist/app/controllers/session-controller.d.ts +14 -33
- package/dist/app/controllers/session-controller.js +71 -132
- package/dist/app/controllers/session-controller.js.map +1 -1
- package/dist/app/controllers/session-prompt-queue.d.ts +34 -0
- package/dist/app/controllers/session-prompt-queue.js +141 -0
- package/dist/app/controllers/session-prompt-queue.js.map +1 -0
- package/dist/app/controllers/session-responder.d.ts +49 -0
- package/dist/app/controllers/session-responder.js +311 -0
- package/dist/app/controllers/session-responder.js.map +1 -0
- package/dist/app/ports/jobs-port.d.ts +10 -7
- package/dist/attachments/clipboard-image.d.ts +10 -0
- package/dist/attachments/clipboard-image.js +188 -0
- package/dist/attachments/clipboard-image.js.map +1 -0
- package/dist/attachments/image-content.d.ts +3 -0
- package/dist/attachments/image-content.js +51 -0
- package/dist/attachments/image-content.js.map +1 -0
- package/dist/attachments/service.js +6 -2
- package/dist/attachments/service.js.map +1 -1
- package/dist/commands/providers.js +4 -2
- package/dist/commands/providers.js.map +1 -1
- package/dist/commands/search-providers.d.ts +1 -0
- package/dist/commands/search-providers.js +4 -2
- package/dist/commands/search-providers.js.map +1 -1
- package/dist/llm/capabilities.js +17 -4
- package/dist/llm/capabilities.js.map +1 -1
- package/dist/prompts/embedded.js +2 -2
- package/dist/prompts/embedded.js.map +1 -1
- package/dist/prompts/index.js +1 -1
- package/dist/prompts/system.agent.md +19 -12
- package/dist/prompts/system.ask.md +1 -1
- package/dist/repl/prompt-line.js +39 -6
- package/dist/repl/prompt-line.js.map +1 -1
- package/dist/repl.js +25 -15
- package/dist/repl.js.map +1 -1
- package/dist/safety/engagement-policy.js +39 -7
- package/dist/safety/engagement-policy.js.map +1 -1
- package/dist/store/config.d.ts +5 -1
- package/dist/store/config.js +9 -1
- package/dist/store/config.js.map +1 -1
- package/dist/store/history.js +43 -5
- package/dist/store/history.js.map +1 -1
- package/dist/store/keys.js +1 -0
- package/dist/store/keys.js.map +1 -1
- package/dist/store/plan.d.ts +11 -0
- package/dist/store/plan.js +66 -3
- package/dist/store/plan.js.map +1 -1
- package/dist/tools/definitions.js +48 -11
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/http.d.ts +6 -1
- package/dist/tools/http.js +247 -68
- package/dist/tools/http.js.map +1 -1
- package/dist/tools/jobs.d.ts +72 -3
- package/dist/tools/jobs.js +743 -121
- package/dist/tools/jobs.js.map +1 -1
- package/dist/tools/pentest-workflows.js +80 -4
- package/dist/tools/pentest-workflows.js.map +1 -1
- package/dist/tools/registry.js +62 -20
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/tool-types.d.ts +5 -0
- package/dist/tools/web/decode.d.ts +17 -0
- package/dist/tools/web/decode.js +65 -0
- package/dist/tools/web/decode.js.map +1 -0
- package/dist/tools/web/fetch-core.js +14 -20
- package/dist/tools/web/fetch-core.js.map +1 -1
- package/dist/tools/web/providers/exa.d.ts +51 -0
- package/dist/tools/web/providers/exa.js +303 -0
- package/dist/tools/web/providers/exa.js.map +1 -0
- package/dist/tools/web/readable.d.ts +5 -5
- package/dist/tools/web/readable.js +34 -12
- package/dist/tools/web/readable.js.map +1 -1
- package/dist/tools/web/search.d.ts +3 -1
- package/dist/tools/web/search.js +6 -4
- package/dist/tools/web/search.js.map +1 -1
- package/dist/tools/web/types.d.ts +25 -2
- package/dist/tools/web/types.js +32 -0
- package/dist/tools/web/types.js.map +1 -1
- package/dist/tools/wordlists.js +74 -87
- package/dist/tools/wordlists.js.map +1 -1
- package/dist/tui-v2/actions/action-id.js +1 -1
- package/dist/tui-v2/actions/action-id.js.map +1 -1
- package/dist/tui-v2/actions/keymap.js +1 -1
- package/dist/tui-v2/actions/keymap.js.map +1 -1
- package/dist/tui-v2/app/App.js +82 -12
- package/dist/tui-v2/app/App.js.map +1 -1
- package/dist/tui-v2/app/commands/key-commands.js +1 -1
- package/dist/tui-v2/app/commands/key-commands.js.map +1 -1
- package/dist/tui-v2/app/commands/picker-commands.js +59 -8
- package/dist/tui-v2/app/commands/picker-commands.js.map +1 -1
- package/dist/tui-v2/app/commands/session-commands.js +0 -5
- package/dist/tui-v2/app/commands/session-commands.js.map +1 -1
- package/dist/tui-v2/bootstrap/composition-root.js +2 -0
- package/dist/tui-v2/bootstrap/composition-root.js.map +1 -1
- package/dist/tui-v2/components/jobs/jobs-panel.d.ts +12 -0
- package/dist/tui-v2/components/jobs/jobs-panel.js +184 -14
- package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
- package/dist/tui-v2/components/plan/plan-view.js +7 -3
- package/dist/tui-v2/components/plan/plan-view.js.map +1 -1
- package/dist/tui-v2/components/status/status-line.js +2 -3
- package/dist/tui-v2/components/status/status-line.js.map +1 -1
- package/dist/tui-v2/components/toast/toast-host.js +16 -1
- package/dist/tui-v2/components/toast/toast-host.js.map +1 -1
- package/dist/tui-v2/components/transcript/intro-card.js +11 -5
- package/dist/tui-v2/components/transcript/intro-card.js.map +1 -1
- package/dist/tui-v2/components/transcript/tool-card.d.ts +3 -0
- package/dist/tui-v2/components/transcript/tool-card.js +12 -2
- package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
- package/dist/tui-v2/components/transcript/transcript-row.js +1 -1
- package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
- package/dist/tui-v2/composer/composer-editor.d.ts +6 -0
- package/dist/tui-v2/composer/composer-editor.js +20 -25
- package/dist/tui-v2/composer/composer-editor.js.map +1 -1
- package/dist/tui-v2/composer/composer-image-paste.d.ts +20 -0
- package/dist/tui-v2/composer/composer-image-paste.js +77 -0
- package/dist/tui-v2/composer/composer-image-paste.js.map +1 -0
- package/dist/tui-v2/state/transcript-store.d.ts +4 -0
- package/dist/tui-v2/state/transcript-store.js +13 -0
- package/dist/tui-v2/state/transcript-store.js.map +1 -1
- package/dist/ui/intro-card.js +3 -3
- package/dist/ui/intro-card.js.map +1 -1
- package/dist/ui/keys.d.ts +1 -0
- package/dist/ui/keys.js +4 -0
- package/dist/ui/keys.js.map +1 -1
- package/dist/ui/mentions.d.ts +13 -29
- package/dist/ui/mentions.js +200 -129
- package/dist/ui/mentions.js.map +1 -1
- package/dist/ui/plan-pane.js +6 -2
- package/dist/ui/plan-pane.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/package.json +1 -1
package/dist/ui/keys.js
CHANGED
|
@@ -13,6 +13,10 @@ export function isCtrlP(key) {
|
|
|
13
13
|
return ((Boolean(key.ctrl) && key.name?.toLowerCase() === "p") ||
|
|
14
14
|
key.sequence === "\x10");
|
|
15
15
|
}
|
|
16
|
+
export function isCtrlV(key) {
|
|
17
|
+
return ((Boolean(key.ctrl) && key.name?.toLowerCase() === "v") ||
|
|
18
|
+
key.sequence === "\x16");
|
|
19
|
+
}
|
|
16
20
|
export function isEscape(key) {
|
|
17
21
|
return key.name === "escape" || key.sequence === "\x1b";
|
|
18
22
|
}
|
package/dist/ui/keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/ui/keys.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,OAAO,CACL,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC;QACtD,GAAG,CAAC,QAAQ,KAAK,MAAM,CACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,OAAO,CACL,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC;QACtD,GAAG,CAAC,QAAQ,KAAK,MAAM,CACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,OAAO,CACL,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC;QACtD,GAAG,CAAC,QAAQ,KAAK,MAAM,CACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAa;IACpC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC;AAC1D,CAAC"}
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/ui/keys.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,OAAO,CACL,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC;QACtD,GAAG,CAAC,QAAQ,KAAK,MAAM,CACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,OAAO,CACL,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC;QACtD,GAAG,CAAC,QAAQ,KAAK,MAAM,CACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,OAAO,CACL,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC;QACtD,GAAG,CAAC,QAAQ,KAAK,MAAM,CACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,OAAO,CACL,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC;QACtD,GAAG,CAAC,QAAQ,KAAK,MAAM,CACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAa;IACpC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC;AAC1D,CAAC"}
|
package/dist/ui/mentions.d.ts
CHANGED
|
@@ -27,12 +27,8 @@ export interface MentionExpansion {
|
|
|
27
27
|
contextBlock: string;
|
|
28
28
|
}
|
|
29
29
|
export declare function imageMediaType(absPath: string): string | undefined;
|
|
30
|
-
/**
|
|
31
|
-
* Strip shell-style quoting/escaping a terminal adds when you drag-drop a
|
|
32
|
-
* file: surrounding single/double quotes, and backslash-escaped spaces and
|
|
33
|
-
* special chars (common on macOS/Linux). Returns the cleaned path.
|
|
34
|
-
*/
|
|
35
30
|
export declare function normalizeDroppedPath(token: string): string;
|
|
31
|
+
export declare function formatAttachmentReference(path: string, baseDir?: string): string;
|
|
36
32
|
/**
|
|
37
33
|
* Given the current input line and cursor index, return the partial @-mention
|
|
38
34
|
* the user is typing, or null if the cursor is not inside one.
|
|
@@ -67,21 +63,19 @@ export declare function listDirectoryAttachment(absPath: string, baseDir?: strin
|
|
|
67
63
|
* Returns the raw token strings (including any leading "@") in order.
|
|
68
64
|
*/
|
|
69
65
|
export declare function extractMentionTokens(line: string): string[];
|
|
66
|
+
export declare function extractExistingPathsFs(line: string, baseDir: string): string[];
|
|
70
67
|
/**
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
* "
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
* start or after whitespace), we take the rest of the line and find the
|
|
78
|
-
* LONGEST word-boundary prefix that resolves to a real file on disk
|
|
79
|
-
* (tolerant of Unicode whitespace variants). This resolves real files with
|
|
80
|
-
* spaces while leaving the trailing question out.
|
|
81
|
-
*
|
|
82
|
-
* Returns absolute paths (already resolved against baseDir).
|
|
68
|
+
* Stabilize image paths inside just-dropped/pasted text. macOS screenshot
|
|
69
|
+
* drags reference a transient TemporaryItems/NSIRD_screencaptureui file that
|
|
70
|
+
* is deleted moments after the drag, so submit-time resolution fails ("can't
|
|
71
|
+
* find the image"). Copying the image to the durable attachments dir at drop
|
|
72
|
+
* time — while the source still exists — and rewriting the text to a stable
|
|
73
|
+
* file:// reference fixes this. Non-image drops are left untouched.
|
|
83
74
|
*/
|
|
84
|
-
export declare function
|
|
75
|
+
export declare function stabilizeDroppedImagesInText(text: string, baseDir?: string): {
|
|
76
|
+
text: string;
|
|
77
|
+
images: string[];
|
|
78
|
+
};
|
|
85
79
|
/**
|
|
86
80
|
* Resolve all mentions/dropped paths in a submitted prompt into attachments
|
|
87
81
|
* and a context block to append to the model message. The original text is
|
|
@@ -95,16 +89,6 @@ export declare function expandMentions(line: string, baseDir?: string, visionCap
|
|
|
95
89
|
* even when a provider silently ignores attached image bytes.
|
|
96
90
|
*/
|
|
97
91
|
export declare function imageAttachmentPaths(line: string, baseDir?: string): string[];
|
|
98
|
-
/**
|
|
99
|
-
* Copy image paths into a stable scratch folder so vision/OCR still work if
|
|
100
|
-
* the original vanishes (macOS TemporaryItems, Desktop screenshots with
|
|
101
|
-
* spaces, drag-drop temps). Always stabilizes readable images.
|
|
102
|
-
*/
|
|
103
92
|
export declare function stabilizeImagePaths(paths: string[], baseDir?: string): string[];
|
|
104
|
-
|
|
105
|
-
* Read the image attachments referenced in a prompt into base64 ChatImage
|
|
106
|
-
* objects, ready to attach to a multimodal user message. Only called when
|
|
107
|
-
* the active model supports vision. Skips images that are missing or larger
|
|
108
|
-
* than MAX_IMAGE_BYTES (those still appear as text notes via expandMentions).
|
|
109
|
-
*/
|
|
93
|
+
export declare function loadImagePaths(paths: readonly string[]): ChatImage[];
|
|
110
94
|
export declare function loadImageAttachments(line: string, baseDir?: string): ChatImage[];
|
package/dist/ui/mentions.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { execFileSync } from "node:child_process";
|
|
2
|
+
import { randomUUID } from "node:crypto";
|
|
3
|
+
import { copyFileSync, existsSync, mkdirSync, readdirSync, readFileSync, rmSync, statSync, } from "node:fs";
|
|
4
|
+
import { homedir, platform } from "node:os";
|
|
3
5
|
import { basename, dirname, extname, isAbsolute, join, resolve, relative, } from "node:path";
|
|
6
|
+
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
7
|
+
import { detectModelImageMediaType, isModelImageMediaType, MAX_IMAGE_BYTES, } from "../attachments/image-content.js";
|
|
4
8
|
import { safeCwd } from "../os/cwd.js";
|
|
5
9
|
import { scratchDirFor } from "../prompts/index.js";
|
|
6
10
|
/**
|
|
@@ -139,13 +143,6 @@ const DOC_EXTENSIONS = new Set([
|
|
|
139
143
|
".odt",
|
|
140
144
|
".ods",
|
|
141
145
|
]);
|
|
142
|
-
/** Max raw bytes of an image we will base64-inline for a vision model.
|
|
143
|
-
* Providers cap the *base64* payload (Anthropic rejects >5 MB base64, the
|
|
144
|
-
* tightest limit across providers). Base64 inflates bytes by ~33%, so we
|
|
145
|
-
* cap raw bytes at ~3.75 MB to stay safely under 5 MB encoded. Larger
|
|
146
|
-
* images get a "too large" note so the agent can downscale them with a
|
|
147
|
-
* tool (e.g. sips/magick) instead of triggering a 400 from the API. */
|
|
148
|
-
const MAX_IMAGE_BYTES = 3_750_000;
|
|
149
146
|
const IMAGE_MEDIA_TYPES = {
|
|
150
147
|
".png": "image/png",
|
|
151
148
|
".jpg": "image/jpeg",
|
|
@@ -168,25 +165,37 @@ function expandHome(p) {
|
|
|
168
165
|
return join(homedir(), p.slice(2));
|
|
169
166
|
return p;
|
|
170
167
|
}
|
|
171
|
-
/**
|
|
172
|
-
* Strip shell-style quoting/escaping a terminal adds when you drag-drop a
|
|
173
|
-
* file: surrounding single/double quotes, and backslash-escaped spaces and
|
|
174
|
-
* special chars (common on macOS/Linux). Returns the cleaned path.
|
|
175
|
-
*/
|
|
176
168
|
export function normalizeDroppedPath(token) {
|
|
177
|
-
let
|
|
178
|
-
if (
|
|
179
|
-
return
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
169
|
+
let normalized = token.trim();
|
|
170
|
+
if (normalized.length === 0)
|
|
171
|
+
return normalized;
|
|
172
|
+
if ((normalized.startsWith("'") &&
|
|
173
|
+
normalized.endsWith("'") &&
|
|
174
|
+
normalized.length >= 2) ||
|
|
175
|
+
(normalized.startsWith('"') &&
|
|
176
|
+
normalized.endsWith('"') &&
|
|
177
|
+
normalized.length >= 2)) {
|
|
178
|
+
normalized = normalized.slice(1, -1);
|
|
184
179
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
180
|
+
if (/^file:\/\//i.test(normalized)) {
|
|
181
|
+
try {
|
|
182
|
+
return fileURLToPath(normalized);
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
return normalized;
|
|
186
|
+
}
|
|
188
187
|
}
|
|
189
|
-
|
|
188
|
+
const windowsPath = /^[A-Za-z]:[\\/]/.test(normalized) || /^\\\\/.test(normalized);
|
|
189
|
+
if (!windowsPath)
|
|
190
|
+
normalized = normalized.replace(/\\(.)/g, "$1");
|
|
191
|
+
return normalized;
|
|
192
|
+
}
|
|
193
|
+
export function formatAttachmentReference(path, baseDir = safeCwd()) {
|
|
194
|
+
const normalized = expandHome(normalizeDroppedPath(path));
|
|
195
|
+
const absolute = isAbsolute(normalized)
|
|
196
|
+
? normalized
|
|
197
|
+
: resolve(baseDir, normalized);
|
|
198
|
+
return pathToFileURL(absolute).href;
|
|
190
199
|
}
|
|
191
200
|
/**
|
|
192
201
|
* Given the current input line and cursor index, return the partial @-mention
|
|
@@ -385,29 +394,23 @@ export function listDirectoryAttachment(absPath, baseDir = absPath, depth = 0, b
|
|
|
385
394
|
*/
|
|
386
395
|
export function extractMentionTokens(line) {
|
|
387
396
|
const tokens = [];
|
|
388
|
-
// 1. @-mentions: @ at start or after whitespace, run until whitespace.
|
|
389
397
|
const mentionRe = /(^|\s)@(\S+)/g;
|
|
390
|
-
let
|
|
391
|
-
while ((
|
|
392
|
-
tokens.push(`@${
|
|
398
|
+
let match;
|
|
399
|
+
while ((match = mentionRe.exec(line)) !== null) {
|
|
400
|
+
tokens.push(`@${match[2]}`);
|
|
393
401
|
}
|
|
394
|
-
// 2. Quoted paths (drag-drop on many terminals wraps in single quotes).
|
|
395
402
|
const quotedRe = /'([^']+)'|"([^"]+)"/g;
|
|
396
|
-
while ((
|
|
397
|
-
const inner =
|
|
398
|
-
if (inner
|
|
399
|
-
tokens.push(
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
if (raw.startsWith("@"))
|
|
407
|
-
continue;
|
|
408
|
-
tokens.push(raw);
|
|
403
|
+
while ((match = quotedRe.exec(line)) !== null) {
|
|
404
|
+
const inner = match[1] ?? match[2] ?? "";
|
|
405
|
+
if (inner)
|
|
406
|
+
tokens.push(match[0]);
|
|
407
|
+
}
|
|
408
|
+
const bareRe = /(?:^|\s)((?:file:\/\/|~[\\/]|\.{1,2}[\\/]|\/|[A-Za-z]:[\\/]|\\\\)(?:\\ |[^\s])+)/gi;
|
|
409
|
+
while ((match = bareRe.exec(line)) !== null) {
|
|
410
|
+
const raw = match[1] ?? "";
|
|
411
|
+
if (raw && !raw.startsWith("@"))
|
|
412
|
+
tokens.push(raw);
|
|
409
413
|
}
|
|
410
|
-
// De-dupe while preserving order.
|
|
411
414
|
return [...new Set(tokens)];
|
|
412
415
|
}
|
|
413
416
|
/**
|
|
@@ -460,61 +463,99 @@ function canonicalizeName(name) {
|
|
|
460
463
|
.normalize("NFC")
|
|
461
464
|
.replace(/[\u00a0\u2007\u202f\u2009\u200a\u2002\u2003\u3000]/g, " ");
|
|
462
465
|
}
|
|
463
|
-
/**
|
|
464
|
-
*
|
|
465
|
-
*
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
466
|
+
/** End offsets (exclusive) of each whitespace-delimited word in `rest`,
|
|
467
|
+
* treating a backslash-escaped space ("\ ") as part of the word so
|
|
468
|
+
* drag-dropped paths with escaped spaces stay intact. */
|
|
469
|
+
function wordEndOffsets(rest) {
|
|
470
|
+
const ends = [];
|
|
471
|
+
let i = 0;
|
|
472
|
+
const n = rest.length;
|
|
473
|
+
while (i < n) {
|
|
474
|
+
while (i < n && /\s/.test(rest[i] ?? ""))
|
|
475
|
+
i += 1;
|
|
476
|
+
if (i >= n)
|
|
477
|
+
break;
|
|
478
|
+
while (i < n) {
|
|
479
|
+
if (rest[i] === "\\" && rest[i + 1] === " ") {
|
|
480
|
+
i += 2;
|
|
481
|
+
continue;
|
|
482
|
+
}
|
|
483
|
+
if (/\s/.test(rest[i] ?? ""))
|
|
484
|
+
break;
|
|
485
|
+
i += 1;
|
|
486
|
+
}
|
|
487
|
+
ends.push(i);
|
|
488
|
+
}
|
|
489
|
+
return ends;
|
|
490
|
+
}
|
|
491
|
+
/** Shared core for submit-time path extraction and drop-time stabilization.
|
|
492
|
+
* For each place a path could start, take the LONGEST word-boundary prefix
|
|
493
|
+
* that resolves to a real file (tolerant of Unicode whitespace variants) and
|
|
494
|
+
* return both the raw span and the resolved absolute path. */
|
|
495
|
+
function scanExistingPaths(line, baseDir) {
|
|
496
|
+
const results = [];
|
|
479
497
|
const seen = new Set();
|
|
480
|
-
|
|
481
|
-
const startRe = /(?:^|\s)((?:~|\.{1,2})?\/)/g;
|
|
498
|
+
const startRe = /(?:^|\s|["'])((?:file:\/\/|(?:~|\.{1,2})?[\\/]|[A-Za-z]:[\\/]|\\\\))/gi;
|
|
482
499
|
let m;
|
|
483
500
|
while ((m = startRe.exec(line)) !== null) {
|
|
484
501
|
const startIdx = m.index + m[0].length - (m[1]?.length ?? 0);
|
|
485
502
|
const rest = line.slice(startIdx);
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
// Try the longest prefix first so "a b.png" wins over "a".
|
|
491
|
-
for (let k = words.length; k >= 1; k -= 1) {
|
|
492
|
-
const candidateRaw = words.slice(0, k).join(" ");
|
|
493
|
-
const candidate = normalizeDroppedPath(candidateRaw.replaceAll(PLACEHOLDER, "\\ "));
|
|
503
|
+
const ends = wordEndOffsets(rest);
|
|
504
|
+
for (let k = ends.length; k >= 1; k -= 1) {
|
|
505
|
+
const rawSpan = rest.slice(0, ends[k - 1]);
|
|
506
|
+
const candidate = normalizeDroppedPath(rawSpan);
|
|
494
507
|
const expanded = expandHome(candidate);
|
|
495
508
|
const abs = isAbsolute(expanded) ? expanded : resolve(baseDir, expanded);
|
|
496
509
|
const resolved = resolveExistingFile(abs);
|
|
497
510
|
if (resolved) {
|
|
498
511
|
if (!seen.has(resolved)) {
|
|
499
512
|
seen.add(resolved);
|
|
500
|
-
|
|
513
|
+
results.push({ raw: rawSpan, resolved });
|
|
501
514
|
}
|
|
502
515
|
break; // longest match for this start wins
|
|
503
516
|
}
|
|
504
517
|
}
|
|
505
518
|
}
|
|
506
|
-
return
|
|
519
|
+
return results;
|
|
520
|
+
}
|
|
521
|
+
export function extractExistingPathsFs(line, baseDir) {
|
|
522
|
+
return scanExistingPaths(line, baseDir).map((match) => match.resolved);
|
|
523
|
+
}
|
|
524
|
+
/** Non-path residual budget: a paste dominated by prose is not a file drop. */
|
|
525
|
+
const MAX_DROP_RESIDUAL = 512;
|
|
526
|
+
/**
|
|
527
|
+
* Stabilize image paths inside just-dropped/pasted text. macOS screenshot
|
|
528
|
+
* drags reference a transient TemporaryItems/NSIRD_screencaptureui file that
|
|
529
|
+
* is deleted moments after the drag, so submit-time resolution fails ("can't
|
|
530
|
+
* find the image"). Copying the image to the durable attachments dir at drop
|
|
531
|
+
* time — while the source still exists — and rewriting the text to a stable
|
|
532
|
+
* file:// reference fixes this. Non-image drops are left untouched.
|
|
533
|
+
*/
|
|
534
|
+
export function stabilizeDroppedImagesInText(text, baseDir = safeCwd()) {
|
|
535
|
+
const matches = scanExistingPaths(text, baseDir).filter((match) => Boolean(imageMediaType(match.resolved)));
|
|
536
|
+
if (matches.length === 0)
|
|
537
|
+
return { text, images: [] };
|
|
538
|
+
const matchedChars = matches.reduce((sum, match) => sum + match.raw.length, 0);
|
|
539
|
+
if (text.trim().length - matchedChars > MAX_DROP_RESIDUAL) {
|
|
540
|
+
return { text, images: [] };
|
|
541
|
+
}
|
|
542
|
+
let rewritten = text;
|
|
543
|
+
const images = [];
|
|
544
|
+
for (const match of matches) {
|
|
545
|
+
const stable = stabilizeImagePaths([match.resolved], baseDir)[0] ?? match.resolved;
|
|
546
|
+
rewritten = rewritten.replace(match.raw, formatAttachmentReference(stable));
|
|
547
|
+
images.push(stable);
|
|
548
|
+
}
|
|
549
|
+
return { text: rewritten, images };
|
|
507
550
|
}
|
|
508
551
|
function tokenToPath(token, baseDir) {
|
|
509
|
-
let
|
|
510
|
-
if (
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
t = expandHome(t);
|
|
517
|
-
return isAbsolute(t) ? t : resolve(baseDir, t);
|
|
552
|
+
let path = token;
|
|
553
|
+
if (path.startsWith("@"))
|
|
554
|
+
path = path.slice(1);
|
|
555
|
+
path = normalizeDroppedPath(path);
|
|
556
|
+
path = path.replace(/[\\/]+$/, "") || path;
|
|
557
|
+
path = expandHome(path);
|
|
558
|
+
return isAbsolute(path) ? path : resolve(baseDir, path);
|
|
518
559
|
}
|
|
519
560
|
/**
|
|
520
561
|
* Resolve all mentions/dropped paths in a submitted prompt into attachments
|
|
@@ -579,6 +620,8 @@ export function expandMentions(line, baseDir = safeCwd(), visionCapable = false)
|
|
|
579
620
|
}
|
|
580
621
|
else if (kind === "image") {
|
|
581
622
|
const stablePath = stabilizeImagePaths([absPath], baseDir)[0] ?? absPath;
|
|
623
|
+
const mediaType = imageMediaType(stablePath);
|
|
624
|
+
const sendable = Boolean(mediaType && isModelImageMediaType(mediaType));
|
|
582
625
|
let oversized = false;
|
|
583
626
|
try {
|
|
584
627
|
oversized = statSync(stablePath).size > MAX_IMAGE_BYTES;
|
|
@@ -588,7 +631,7 @@ export function expandMentions(line, baseDir = safeCwd(), visionCapable = false)
|
|
|
588
631
|
oversized = statSync(absPath).size > MAX_IMAGE_BYTES;
|
|
589
632
|
}
|
|
590
633
|
catch {
|
|
591
|
-
|
|
634
|
+
oversized = false;
|
|
592
635
|
}
|
|
593
636
|
}
|
|
594
637
|
attachments.push({
|
|
@@ -597,9 +640,11 @@ export function expandMentions(line, baseDir = safeCwd(), visionCapable = false)
|
|
|
597
640
|
kind: "image",
|
|
598
641
|
note: oversized
|
|
599
642
|
? `image is larger than ${Math.round(MAX_IMAGE_BYTES / 1_000_000)}MB and was NOT attached — downscale it first (macOS: sips -Z 1600 "<img>" --out /tmp/small.png; or use magick/ffmpeg), then reference the smaller copy`
|
|
600
|
-
:
|
|
601
|
-
? "image
|
|
602
|
-
:
|
|
643
|
+
: !sendable
|
|
644
|
+
? "image format could not be converted to PNG/JPEG/GIF/WebP and was NOT attached"
|
|
645
|
+
: visionCapable
|
|
646
|
+
? "image file — attached as multimodal input; inspect it directly for text, colors, layout, spacing, and visual style. Stable path used if original may vanish. Prefer vision over OCR unless the user asks for OCR."
|
|
647
|
+
: "image file — the current model can't view images; switch to a vision model for colors/layout/style, or extract text with OCR if only text is needed (OCR grounding may still be attached)",
|
|
603
648
|
});
|
|
604
649
|
}
|
|
605
650
|
else if (kind === "document") {
|
|
@@ -671,76 +716,102 @@ export function imageAttachmentPaths(line, baseDir = safeCwd()) {
|
|
|
671
716
|
}
|
|
672
717
|
return stabilizeImagePaths(paths, baseDir);
|
|
673
718
|
}
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
719
|
+
function convertImageToPng(source, destination) {
|
|
720
|
+
const attempts = [];
|
|
721
|
+
if (platform() === "darwin") {
|
|
722
|
+
attempts.push([
|
|
723
|
+
"sips",
|
|
724
|
+
["-s", "format", "png", source, "--out", destination],
|
|
725
|
+
]);
|
|
726
|
+
}
|
|
727
|
+
attempts.push(["magick", [source, destination]]);
|
|
728
|
+
if (platform() !== "win32")
|
|
729
|
+
attempts.push(["convert", [source, destination]]);
|
|
730
|
+
for (const [command, args] of attempts) {
|
|
731
|
+
try {
|
|
732
|
+
execFileSync(command, args, {
|
|
733
|
+
stdio: "ignore",
|
|
734
|
+
timeout: 15_000,
|
|
735
|
+
});
|
|
736
|
+
if (existsSync(destination) && statSync(destination).size > 0)
|
|
737
|
+
return true;
|
|
738
|
+
}
|
|
739
|
+
catch {
|
|
740
|
+
rmSync(destination, { force: true });
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
return false;
|
|
744
|
+
}
|
|
679
745
|
export function stabilizeImagePaths(paths, baseDir = safeCwd()) {
|
|
680
|
-
const
|
|
681
|
-
const
|
|
682
|
-
for (const
|
|
683
|
-
if (!existsSync(
|
|
684
|
-
|
|
746
|
+
const output = [];
|
|
747
|
+
const attachmentDir = join(scratchDirFor(baseDir), "attachments");
|
|
748
|
+
for (const source of paths) {
|
|
749
|
+
if (!existsSync(source)) {
|
|
750
|
+
output.push(source);
|
|
751
|
+
continue;
|
|
752
|
+
}
|
|
753
|
+
if (resolve(dirname(source)) === resolve(attachmentDir)) {
|
|
754
|
+
output.push(source);
|
|
685
755
|
continue;
|
|
686
756
|
}
|
|
687
757
|
try {
|
|
688
|
-
mkdirSync(
|
|
689
|
-
const
|
|
690
|
-
|
|
758
|
+
mkdirSync(attachmentDir, { recursive: true });
|
|
759
|
+
const extension = extname(source).toLowerCase();
|
|
760
|
+
const stem = basename(source, extension)
|
|
761
|
+
.replace(/[^\w.-]+/g, "_")
|
|
691
762
|
.replace(/_+/g, "_")
|
|
692
|
-
.slice(0,
|
|
693
|
-
const
|
|
694
|
-
|
|
695
|
-
|
|
763
|
+
.slice(0, 100) || "image";
|
|
764
|
+
const id = `${Date.now()}-${randomUUID().slice(0, 8)}`;
|
|
765
|
+
const mediaType = imageMediaType(source);
|
|
766
|
+
if (!mediaType || !isModelImageMediaType(mediaType)) {
|
|
767
|
+
const converted = join(attachmentDir, `${id}-${stem}.png`);
|
|
768
|
+
if (convertImageToPng(source, converted)) {
|
|
769
|
+
output.push(converted);
|
|
770
|
+
continue;
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
const destination = join(attachmentDir, `${id}-${stem}${extension || ".img"}`);
|
|
774
|
+
copyFileSync(source, destination);
|
|
775
|
+
output.push(destination);
|
|
696
776
|
}
|
|
697
777
|
catch {
|
|
698
|
-
|
|
778
|
+
output.push(source);
|
|
699
779
|
}
|
|
700
780
|
}
|
|
701
|
-
return
|
|
781
|
+
return output;
|
|
702
782
|
}
|
|
703
|
-
|
|
704
|
-
* Read the image attachments referenced in a prompt into base64 ChatImage
|
|
705
|
-
* objects, ready to attach to a multimodal user message. Only called when
|
|
706
|
-
* the active model supports vision. Skips images that are missing or larger
|
|
707
|
-
* than MAX_IMAGE_BYTES (those still appear as text notes via expandMentions).
|
|
708
|
-
*/
|
|
709
|
-
export function loadImageAttachments(line, baseDir = safeCwd()) {
|
|
783
|
+
export function loadImagePaths(paths) {
|
|
710
784
|
const images = [];
|
|
711
785
|
const seen = new Set();
|
|
712
|
-
const
|
|
713
|
-
|
|
714
|
-
...extractExistingPathsFs(line, baseDir),
|
|
715
|
-
].filter((p) => {
|
|
716
|
-
if (seen.has(p))
|
|
717
|
-
return false;
|
|
718
|
-
seen.add(p);
|
|
719
|
-
return true;
|
|
720
|
-
}), baseDir);
|
|
721
|
-
for (const absPath of candidates) {
|
|
722
|
-
if (classifyPath(absPath) !== "image")
|
|
786
|
+
for (const path of paths) {
|
|
787
|
+
if (seen.has(path))
|
|
723
788
|
continue;
|
|
724
|
-
|
|
725
|
-
if (
|
|
789
|
+
seen.add(path);
|
|
790
|
+
if (classifyPath(path) !== "image")
|
|
726
791
|
continue;
|
|
727
792
|
try {
|
|
728
|
-
const stat = statSync(
|
|
793
|
+
const stat = statSync(path);
|
|
729
794
|
if (stat.size > MAX_IMAGE_BYTES)
|
|
730
795
|
continue;
|
|
731
|
-
const
|
|
796
|
+
const buffer = readFileSync(path);
|
|
797
|
+
const mediaType = detectModelImageMediaType(buffer);
|
|
798
|
+
if (!mediaType)
|
|
799
|
+
continue;
|
|
732
800
|
images.push({
|
|
733
801
|
mediaType,
|
|
734
|
-
dataBase64:
|
|
735
|
-
path
|
|
802
|
+
dataBase64: buffer.toString("base64"),
|
|
803
|
+
path,
|
|
736
804
|
});
|
|
737
805
|
}
|
|
738
806
|
catch {
|
|
739
|
-
|
|
807
|
+
continue;
|
|
740
808
|
}
|
|
741
809
|
}
|
|
742
810
|
return images;
|
|
743
811
|
}
|
|
812
|
+
export function loadImageAttachments(line, baseDir = safeCwd()) {
|
|
813
|
+
return loadImagePaths(imageAttachmentPaths(line, baseDir));
|
|
814
|
+
}
|
|
744
815
|
function displayPath(absPath, baseDir) {
|
|
745
816
|
const rel = relative(baseDir, absPath);
|
|
746
817
|
if (rel && !rel.startsWith("..") && !isAbsolute(rel))
|
package/dist/ui/mentions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mentions.js","sourceRoot":"","sources":["../../src/ui/mentions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mentions.js","sourceRoot":"","sources":["../../src/ui/mentions.ts"],"names":[],"mappings":"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"}
|