safari-pilot 0.1.28 → 0.1.30

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.
Files changed (77) hide show
  1. package/bin/Safari Pilot.app/Contents/CodeResources +0 -0
  2. package/bin/Safari Pilot.app/Contents/Info.plist +2 -2
  3. package/bin/Safari Pilot.app/Contents/MacOS/Safari Pilot +0 -0
  4. package/bin/Safari Pilot.app/Contents/PlugIns/Safari Pilot Extension.appex/Contents/Info.plist +2 -2
  5. package/bin/Safari Pilot.app/Contents/PlugIns/Safari Pilot Extension.appex/Contents/MacOS/Safari Pilot Extension +0 -0
  6. package/bin/Safari Pilot.app/Contents/PlugIns/Safari Pilot Extension.appex/Contents/Resources/background.js +50 -0
  7. package/bin/Safari Pilot.app/Contents/PlugIns/Safari Pilot Extension.appex/Contents/Resources/manifest.json +19 -7
  8. package/bin/Safari Pilot.app/Contents/PlugIns/Safari Pilot Extension.appex/Contents/_CodeSignature/CodeResources +4 -4
  9. package/bin/Safari Pilot.app/Contents/Resources/Base.lproj/Main.storyboardc/Info.plist +0 -0
  10. package/bin/Safari Pilot.app/Contents/Resources/Base.lproj/Main.storyboardc/MainMenu.nib +0 -0
  11. package/bin/Safari Pilot.app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib +0 -0
  12. package/bin/Safari Pilot.app/Contents/_CodeSignature/CodeResources +7 -7
  13. package/bin/Safari Pilot.zip +0 -0
  14. package/bin/SafariPilotd +0 -0
  15. package/dist/discovery/recipe-miner.d.ts +13 -0
  16. package/dist/discovery/recipe-miner.js +71 -0
  17. package/dist/discovery/recipe-miner.js.map +1 -0
  18. package/dist/discovery/tool-index.d.ts +18 -0
  19. package/dist/discovery/tool-index.js +52 -0
  20. package/dist/discovery/tool-index.js.map +1 -0
  21. package/dist/engine-selector.js +5 -1
  22. package/dist/engine-selector.js.map +1 -1
  23. package/dist/errors.d.ts +8 -0
  24. package/dist/errors.js +20 -0
  25. package/dist/errors.js.map +1 -1
  26. package/dist/security/human-approval.d.ts +7 -0
  27. package/dist/security/human-approval.js +6 -0
  28. package/dist/security/human-approval.js.map +1 -1
  29. package/dist/server.d.ts +13 -0
  30. package/dist/server.js +143 -30
  31. package/dist/server.js.map +1 -1
  32. package/dist/skills/registry.d.ts +22 -0
  33. package/dist/skills/registry.js +69 -0
  34. package/dist/skills/registry.js.map +1 -0
  35. package/dist/skills/runner.d.ts +11 -0
  36. package/dist/skills/runner.js +72 -0
  37. package/dist/skills/runner.js.map +1 -0
  38. package/dist/tools/compound.js +1 -3
  39. package/dist/tools/compound.js.map +1 -1
  40. package/dist/tools/downloads.js +1 -9
  41. package/dist/tools/downloads.js.map +1 -1
  42. package/dist/tools/extraction.d.ts +1 -3
  43. package/dist/tools/extraction.js +58 -69
  44. package/dist/tools/extraction.js.map +1 -1
  45. package/dist/tools/frames.js +2 -6
  46. package/dist/tools/frames.js.map +1 -1
  47. package/dist/tools/interaction.js +18 -32
  48. package/dist/tools/interaction.js.map +1 -1
  49. package/dist/tools/navigation.js +16 -12
  50. package/dist/tools/navigation.js.map +1 -1
  51. package/dist/tools/network.js +7 -24
  52. package/dist/tools/network.js.map +1 -1
  53. package/dist/tools/selector-pack.js +2 -4
  54. package/dist/tools/selector-pack.js.map +1 -1
  55. package/dist/tools/shadow.js +2 -4
  56. package/dist/tools/shadow.js.map +1 -1
  57. package/dist/tools/skills.d.ts +20 -0
  58. package/dist/tools/skills.js +71 -0
  59. package/dist/tools/skills.js.map +1 -0
  60. package/dist/tools/storage.js +9 -24
  61. package/dist/tools/storage.js.map +1 -1
  62. package/dist/tools/structured-extraction.js +5 -13
  63. package/dist/tools/structured-extraction.js.map +1 -1
  64. package/dist/tools/tool-search.d.ts +20 -0
  65. package/dist/tools/tool-search.js +54 -0
  66. package/dist/tools/tool-search.js.map +1 -0
  67. package/dist/tools/wait.js +3 -3
  68. package/dist/tools/wait.js.map +1 -1
  69. package/dist/types.d.ts +21 -0
  70. package/extension/background.js +50 -0
  71. package/extension/manifest.json +19 -7
  72. package/package.json +11 -4
  73. package/scripts/build-extension-test.sh +34 -0
  74. package/scripts/build-extension.sh +31 -8
  75. package/skills/login.SKILL.md +27 -0
  76. package/skills/paginate-and-scrape.SKILL.md +21 -0
  77. package/skills/robust-form-fill.SKILL.md +22 -0
@@ -23,13 +23,13 @@
23
23
  <key>CFBundlePackageType</key>
24
24
  <string>APPL</string>
25
25
  <key>CFBundleShortVersionString</key>
26
- <string>0.1.28</string>
26
+ <string>0.1.30</string>
27
27
  <key>CFBundleSupportedPlatforms</key>
28
28
  <array>
29
29
  <string>MacOSX</string>
30
30
  </array>
31
31
  <key>CFBundleVersion</key>
32
- <string>202605050412</string>
32
+ <string>202605080336</string>
33
33
  <key>DTCompiler</key>
34
34
  <string>com.apple.compilers.llvm.clang.1_0</string>
35
35
  <key>DTPlatformBuild</key>
@@ -19,13 +19,13 @@
19
19
  <key>CFBundlePackageType</key>
20
20
  <string>XPC!</string>
21
21
  <key>CFBundleShortVersionString</key>
22
- <string>0.1.28</string>
22
+ <string>0.1.30</string>
23
23
  <key>CFBundleSupportedPlatforms</key>
24
24
  <array>
25
25
  <string>MacOSX</string>
26
26
  </array>
27
27
  <key>CFBundleVersion</key>
28
- <string>202605050412</string>
28
+ <string>202605080336</string>
29
29
  <key>DTCompiler</key>
30
30
  <string>com.apple.compilers.llvm.clang.1_0</string>
31
31
  <key>DTPlatformBuild</key>
@@ -368,6 +368,56 @@ async function executeCommand(cmd) {
368
368
  return result;
369
369
  }
370
370
 
371
+ // safari_take_screenshot — capture the visible viewport of the target tab
372
+ // via browser.tabs.captureVisibleTab. Triggered by the __SP_TAKE_SCREENSHOT__
373
+ // sentinel from src/tools/extraction.ts. Briefly activates target tab in its
374
+ // window (no Safari app activation), captures, restores prior active tab.
375
+ if (cmd.script === '__SP_TAKE_SCREENSHOT__') {
376
+ let prevActiveTabId = null;
377
+ try {
378
+ if (tab.windowId == null) {
379
+ throw { name: 'WINDOW_CLOSED', message: 'tab.windowId missing' };
380
+ }
381
+
382
+ // Snapshot the previous active tab so we can restore it.
383
+ const prevActive = await browser.tabs.query({ windowId: tab.windowId, active: true });
384
+ prevActiveTabId = prevActive[0]?.id ?? null;
385
+
386
+ // Activate the target tab if it isn't already active. tabs.update resolves
387
+ // before Safari's internal active-tab state settles, so we verify by
388
+ // polling tabs.query before the capture (TOCTOU narrows but doesn't close).
389
+ if (prevActiveTabId !== tab.id) {
390
+ await browser.tabs.update(tab.id, { active: true });
391
+ let activated = false;
392
+ for (let attempt = 0; attempt < 5; attempt++) {
393
+ await new Promise((r) => setTimeout(r, 40));
394
+ const check = await browser.tabs.query({ windowId: tab.windowId, active: true });
395
+ if (check[0]?.id === tab.id) { activated = true; break; }
396
+ }
397
+ if (!activated) {
398
+ throw { name: 'CAPTURE_RACE', message: 'target tab did not become active within 200ms' };
399
+ }
400
+ }
401
+
402
+ const dataUrl = await browser.tabs.captureVisibleTab(tab.windowId, { format: 'png' });
403
+ const commaIdx = dataUrl.indexOf(',');
404
+ const base64 = commaIdx >= 0 ? dataUrl.slice(commaIdx + 1) : dataUrl;
405
+
406
+ const result = { ok: true, value: base64 };
407
+ await updatePendingEntry(commandId, { status: 'completed', result });
408
+ return result;
409
+ } catch (e) {
410
+ const errName = e?.name && typeof e.name === 'string' ? e.name : 'CAPTURE_FAILED';
411
+ const result = { ok: false, error: { name: errName, message: e?.message ?? String(e) } };
412
+ await updatePendingEntry(commandId, { status: 'completed', result });
413
+ return result;
414
+ } finally {
415
+ if (prevActiveTabId != null && prevActiveTabId !== tab.id) {
416
+ try { await browser.tabs.update(prevActiveTabId, { active: true }); } catch { /* tab may have closed */ }
417
+ }
418
+ }
419
+ }
420
+
371
421
  // 5A.1 phase-0: file upload probe sentinel — dispatched via the storage bus
372
422
  // to content-isolated.js (Test A: content-script fetch; Test B: File structured-
373
423
  // clone). Unlike cookie/DNR sentinels (which execute entirely in background.js),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "manifest_version": 3,
3
3
  "name": "Safari Pilot",
4
- "version": "0.1.28",
4
+ "version": "0.1.30",
5
5
  "description": "Native Safari automation for AI agents",
6
6
  "permissions": [
7
7
  "activeTab",
@@ -18,22 +18,34 @@
18
18
  "content_security_policy": {
19
19
  "extension_pages": "script-src 'self'; connect-src 'self' http://localhost:19475 http://127.0.0.1:19475"
20
20
  },
21
- "host_permissions": ["<all_urls>"],
21
+ "host_permissions": [
22
+ "<all_urls>"
23
+ ],
22
24
  "background": {
23
- "scripts": ["background.js"],
25
+ "scripts": [
26
+ "background.js"
27
+ ],
24
28
  "persistent": false
25
29
  },
26
30
  "content_scripts": [
27
31
  {
28
- "matches": ["<all_urls>"],
29
- "js": ["content-isolated.js"],
32
+ "matches": [
33
+ "<all_urls>"
34
+ ],
35
+ "js": [
36
+ "content-isolated.js"
37
+ ],
30
38
  "run_at": "document_idle",
31
39
  "world": "ISOLATED",
32
40
  "all_frames": true
33
41
  },
34
42
  {
35
- "matches": ["<all_urls>"],
36
- "js": ["content-main.js"],
43
+ "matches": [
44
+ "<all_urls>"
45
+ ],
46
+ "js": [
47
+ "content-main.js"
48
+ ],
37
49
  "run_at": "document_idle",
38
50
  "world": "MAIN",
39
51
  "all_frames": true
@@ -6,7 +6,7 @@
6
6
  <dict>
7
7
  <key>Resources/background.js</key>
8
8
  <data>
9
- S+yhMSyT4yM0o29NjtVWT9pto7E=
9
+ 2/1CfExEj3v05Op5yXKc+4ywXw4=
10
10
  </data>
11
11
  <key>Resources/build.config.js</key>
12
12
  <data>
@@ -46,7 +46,7 @@
46
46
  </data>
47
47
  <key>Resources/manifest.json</key>
48
48
  <data>
49
- N9cYkZyI/ckF3TWIR2w2ujwqOSQ=
49
+ mYFXwUU7fSCWlo5s8S0ox5gRwhQ=
50
50
  </data>
51
51
  <key>Resources/native/SafariWebExtensionHandler.swift</key>
52
52
  <data>
@@ -59,7 +59,7 @@
59
59
  <dict>
60
60
  <key>hash2</key>
61
61
  <data>
62
- wGGys1VHHjcourMlcj2w6IUjnjahEI8V1cj6WRb+/lU=
62
+ /3ZIF42eGVz3ogcsRCRSH6PWS1e5rdMvERsT10CHmc8=
63
63
  </data>
64
64
  </dict>
65
65
  <key>Resources/build.config.js</key>
@@ -129,7 +129,7 @@
129
129
  <dict>
130
130
  <key>hash2</key>
131
131
  <data>
132
- Vh4l0sBEAXf+Jc3DaBwYM5wwB9LUiM1LhuR2p1VYK/4=
132
+ ROEb9KefohKdixZxEaiNK52EXDce1HyFA+wifbUThMg=
133
133
  </data>
134
134
  </dict>
135
135
  <key>Resources/native/SafariWebExtensionHandler.swift</key>
@@ -18,15 +18,15 @@
18
18
  </data>
19
19
  <key>Resources/Base.lproj/Main.storyboardc/Info.plist</key>
20
20
  <data>
21
- Lk+CPfhfIGRA8ShZZFI+A0rJ2Fk=
21
+ xCfgn8kc5/qFpwaIG8K0hSluOYM=
22
22
  </data>
23
23
  <key>Resources/Base.lproj/Main.storyboardc/MainMenu.nib</key>
24
24
  <data>
25
- gfejsxd2k48cV+t1Ave1GMgeWeU=
25
+ jXESzjPbDwKyawAh3Uu6SNrfdOQ=
26
26
  </data>
27
27
  <key>Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib</key>
28
28
  <data>
29
- 9ykXQmnGGwCAJL2MPMLC7qPCpkQ=
29
+ ZP7F3z94ZLlXb7oYl2hMgPtUisE=
30
30
  </data>
31
31
  <key>Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib</key>
32
32
  <data>
@@ -51,7 +51,7 @@
51
51
  <dict>
52
52
  <key>cdhash</key>
53
53
  <data>
54
- bWtJ8Gsg4i9gGuKEQ4SYB+FcDso=
54
+ dNgNLtWLJUbMPAGfvzIqChKAcxE=
55
55
  </data>
56
56
  <key>requirement</key>
57
57
  <string>anchor apple generic and identifier "com.safari-pilot.app.Extension" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = V37WLKRXUJ)</string>
@@ -81,21 +81,21 @@
81
81
  <dict>
82
82
  <key>hash2</key>
83
83
  <data>
84
- 8J9pOXoi9UK5I6qZRMloMaWPxQoW+OciXbGvdnqtq0Q=
84
+ n95QB6VljEEUfqB2DxmRjuniXgJIIMhSla1jhx62r20=
85
85
  </data>
86
86
  </dict>
87
87
  <key>Resources/Base.lproj/Main.storyboardc/MainMenu.nib</key>
88
88
  <dict>
89
89
  <key>hash2</key>
90
90
  <data>
91
- pXqB05PG+ZwnFVMoJVsDjhgig8YjRG8grrBPWsZG/YI=
91
+ LQglgupldx4orVnhfJ7sHYyLmB0jq//ax7hVSQhFeyk=
92
92
  </data>
93
93
  </dict>
94
94
  <key>Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib</key>
95
95
  <dict>
96
96
  <key>hash2</key>
97
97
  <data>
98
- LAAQ0mIs7zxLtn87eO30xhqHEkEP/lblzyrpTD3gv0s=
98
+ ac+4dKmLsg9xPurfSFPmPDnBArAmniD66NT3/2oxpIw=
99
99
  </data>
100
100
  </dict>
101
101
  <key>Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib</key>
Binary file
package/bin/SafariPilotd CHANGED
Binary file
@@ -0,0 +1,13 @@
1
+ export interface MineOptions {
2
+ minOccurrences: number;
3
+ minLength: number;
4
+ }
5
+ export interface RecipeCandidate {
6
+ host: string;
7
+ steps: Array<{
8
+ tool: string;
9
+ argSignature: string;
10
+ }>;
11
+ occurrences: number;
12
+ }
13
+ export declare function mineRecipes(rootDir: string, opts: MineOptions): Promise<RecipeCandidate[]>;
@@ -0,0 +1,71 @@
1
+ // src/discovery/recipe-miner.ts
2
+ // Port of Browser Use's browser-harness pattern: read execution traces,
3
+ // extract recurring successful tool sequences, emit candidate skills.
4
+ import { readdir, readFile } from 'node:fs/promises';
5
+ import { stat } from 'node:fs/promises';
6
+ import { join } from 'node:path';
7
+ export async function mineRecipes(rootDir, opts) {
8
+ const traces = await collectTraces(rootDir);
9
+ const counts = new Map();
10
+ for (const trace of traces) {
11
+ if (trace.steps.length < opts.minLength)
12
+ continue;
13
+ const key = trace.host + '|' + trace.steps.map((s) => `${s.tool}:${s.argSignature}`).join('>');
14
+ const existing = counts.get(key);
15
+ if (existing)
16
+ existing.occurrences++;
17
+ else
18
+ counts.set(key, { host: trace.host, steps: trace.steps, occurrences: 1 });
19
+ }
20
+ return [...counts.values()].filter((c) => c.occurrences >= opts.minOccurrences);
21
+ }
22
+ async function collectTraces(root) {
23
+ const out = [];
24
+ let entries;
25
+ try {
26
+ entries = await readdir(root);
27
+ }
28
+ catch {
29
+ return out;
30
+ }
31
+ for (const e of entries) {
32
+ const p = join(root, e);
33
+ const s = await stat(p).catch(() => null);
34
+ if (!s || !s.isDirectory())
35
+ continue;
36
+ try {
37
+ const score = JSON.parse(await readFile(join(p, 'score.json'), 'utf8'));
38
+ if (!score['success'])
39
+ continue;
40
+ const traceText = await readFile(join(p, 'tool-calls.jsonl'), 'utf8');
41
+ const steps = traceText
42
+ .split('\n')
43
+ .filter(Boolean)
44
+ .map((line) => {
45
+ const entry = JSON.parse(line);
46
+ return {
47
+ tool: String(entry.tool),
48
+ argSignature: signature(entry.args),
49
+ };
50
+ });
51
+ const host = inferHost(traceText);
52
+ out.push({ host, steps });
53
+ }
54
+ catch {
55
+ /* skip incomplete run dirs */
56
+ }
57
+ }
58
+ return out;
59
+ }
60
+ function signature(args) {
61
+ if (!args || typeof args !== 'object')
62
+ return '';
63
+ return Object.keys(args)
64
+ .sort()
65
+ .join(',');
66
+ }
67
+ function inferHost(trace) {
68
+ const m = trace.match(/"url"\s*:\s*"https?:\/\/([^/"]+)/);
69
+ return m?.[1] ?? 'unknown';
70
+ }
71
+ //# sourceMappingURL=recipe-miner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipe-miner.js","sourceRoot":"","sources":["../../src/discovery/recipe-miner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export interface ToolEntry {
2
+ name: string;
3
+ description: string;
4
+ tags?: string[];
5
+ }
6
+ export interface ToolHit extends ToolEntry {
7
+ score: number;
8
+ }
9
+ export declare class ToolIndex {
10
+ private entries;
11
+ constructor(entries: ToolEntry[]);
12
+ size(): number;
13
+ tagsFor(name: string): string[];
14
+ search(query: string, topK?: number): ToolHit[];
15
+ private inferTags;
16
+ private tokenize;
17
+ private score;
18
+ }
@@ -0,0 +1,52 @@
1
+ // src/discovery/tool-index.ts
2
+ // In-memory tool index for safari_tool_search meta-tool.
3
+ // Keyword overlap scoring with name + tag boost.
4
+ export class ToolIndex {
5
+ entries;
6
+ constructor(entries) {
7
+ this.entries = entries.map((e) => ({
8
+ ...e,
9
+ tags: e.tags ?? this.inferTags(e.name),
10
+ }));
11
+ }
12
+ size() {
13
+ return this.entries.length;
14
+ }
15
+ tagsFor(name) {
16
+ return this.entries.find((e) => e.name === name)?.tags ?? [];
17
+ }
18
+ search(query, topK = 8) {
19
+ const tokens = this.tokenize(query);
20
+ if (tokens.length === 0)
21
+ return [];
22
+ const scored = this.entries
23
+ .map((e) => ({ ...e, score: this.score(tokens, e) }))
24
+ .filter((h) => h.score > 0);
25
+ scored.sort((a, b) => b.score - a.score);
26
+ return scored.slice(0, topK);
27
+ }
28
+ inferTags(name) {
29
+ const parts = name.replace(/^safari_/, '').split('_');
30
+ return parts[0] ? [parts[0]] : [];
31
+ }
32
+ tokenize(s) {
33
+ return s
34
+ .toLowerCase()
35
+ .split(/[^a-z0-9]+/)
36
+ .filter((t) => t.length > 1);
37
+ }
38
+ score(queryTokens, e) {
39
+ const haystack = (e.name + ' ' + e.description + ' ' + (e.tags ?? []).join(' ')).toLowerCase();
40
+ let s = 0;
41
+ for (const t of queryTokens) {
42
+ if (haystack.includes(t))
43
+ s += 1;
44
+ if (e.name.toLowerCase().includes(t))
45
+ s += 1; // boost name match
46
+ if (e.tags?.includes(t))
47
+ s += 0.5;
48
+ }
49
+ return s;
50
+ }
51
+ }
52
+ //# sourceMappingURL=tool-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-index.js","sourceRoot":"","sources":["../../src/discovery/tool-index.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export const ENGINE_CAPS = {
23
23
  // by test/unit/engine-selector/cap-manifest-parity.test.ts.
24
24
  framesCrossOrigin: true,
25
25
  asyncJs: true,
26
+ viewportCapture: true,
26
27
  latencyMs: 10,
27
28
  },
28
29
  daemon: {
@@ -33,6 +34,7 @@ export const ENGINE_CAPS = {
33
34
  cookieHttpOnly: false,
34
35
  framesCrossOrigin: false,
35
36
  asyncJs: false,
37
+ viewportCapture: false,
36
38
  latencyMs: 5,
37
39
  },
38
40
  applescript: {
@@ -43,6 +45,7 @@ export const ENGINE_CAPS = {
43
45
  cookieHttpOnly: false,
44
46
  framesCrossOrigin: false,
45
47
  asyncJs: false,
48
+ viewportCapture: false,
46
49
  latencyMs: 80,
47
50
  },
48
51
  };
@@ -62,7 +65,8 @@ export function requiresExtension(tool) {
62
65
  tool.requiresNetworkIntercept ||
63
66
  tool.requiresCookieHttpOnly ||
64
67
  tool.requiresFramesCrossOrigin ||
65
- tool.requiresAsyncJs);
68
+ tool.requiresAsyncJs ||
69
+ tool.requiresViewportCapture);
66
70
  }
67
71
  export function selectEngine(tool, available, breaker, config) {
68
72
  const extensionKilled = config?.extension?.enabled === false;
@@ -1 +1 @@
1
- {"version":3,"file":"engine-selector.js","sourceRoot":"","sources":["../src/engine-selector.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACtC,IAAI,GAAG,oBAAoB,CAAC;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,WAAW,GAAuC;IAC7D,SAAS,EAAE;QACT,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,IAAI;QACpB,0EAA0E;QAC1E,6EAA6E;QAC7E,yEAAyE;QACzE,2EAA2E;QAC3E,sEAAsE;QACtE,2EAA2E;QAC3E,sEAAsE;QACtE,yEAAyE;QACzE,4DAA4D;QAC5D,iBAAiB,EAAE,IAAI;QACvB,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAE;KACd;IACD,MAAM,EAAE;QACN,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,KAAK;QAChB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,CAAC;KACb;IACD,WAAW,EAAE;QACX,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,KAAK;QAChB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,EAAE;KACd;CACF,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAsB;IACtD,OAAO,CAAC,CAAC,CACP,IAAI,CAAC,iBAAiB;QACtB,IAAI,CAAC,iBAAiB;QACtB,IAAI,CAAC,uBAAuB;QAC5B,IAAI,CAAC,wBAAwB;QAC7B,IAAI,CAAC,sBAAsB;QAC3B,IAAI,CAAC,yBAAyB;QAC9B,IAAI,CAAC,eAAe,CACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,IAAsB,EACtB,SAAkD,EAClD,OAAsD,EACtD,MAA8C;IAE9C,MAAM,eAAe,GAAG,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,KAAK,CAAC;IAC7D,MAAM,cAAc,GAAG,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACtE,MAAM,kBAAkB,GAAG,SAAS,CAAC,SAAS,IAAI,CAAC,eAAe,IAAI,CAAC,cAAc,CAAC;IAEtF,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,IAAI,kBAAkB;YAAE,OAAO,WAAW,CAAC;QAC3C,MAAM,IAAI,sBAAsB,CAC9B,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,gEAAgE;IAChE,IAAI,IAAI,CAAC,mBAAmB;QAAE,OAAO,aAAa,CAAC;IAEnD,IAAI,kBAAkB;QAAE,OAAO,WAAW,CAAC;IAC3C,IAAI,SAAS,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IACtC,OAAO,aAAa,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"engine-selector.js","sourceRoot":"","sources":["../src/engine-selector.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACtC,IAAI,GAAG,oBAAoB,CAAC;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,WAAW,GAAuC;IAC7D,SAAS,EAAE;QACT,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,IAAI;QACpB,0EAA0E;QAC1E,6EAA6E;QAC7E,yEAAyE;QACzE,2EAA2E;QAC3E,sEAAsE;QACtE,2EAA2E;QAC3E,sEAAsE;QACtE,yEAAyE;QACzE,4DAA4D;QAC5D,iBAAiB,EAAE,IAAI;QACvB,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,IAAI;QACrB,SAAS,EAAE,EAAE;KACd;IACD,MAAM,EAAE;QACN,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,KAAK;QAChB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,CAAC;KACb;IACD,WAAW,EAAE;QACX,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,KAAK;QAChB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,EAAE;KACd;CACF,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAsB;IACtD,OAAO,CAAC,CAAC,CACP,IAAI,CAAC,iBAAiB;QACtB,IAAI,CAAC,iBAAiB;QACtB,IAAI,CAAC,uBAAuB;QAC5B,IAAI,CAAC,wBAAwB;QAC7B,IAAI,CAAC,sBAAsB;QAC3B,IAAI,CAAC,yBAAyB;QAC9B,IAAI,CAAC,eAAe;QACpB,IAAI,CAAC,uBAAuB,CAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,IAAsB,EACtB,SAAkD,EAClD,OAAsD,EACtD,MAA8C;IAE9C,MAAM,eAAe,GAAG,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,KAAK,CAAC;IAC7D,MAAM,cAAc,GAAG,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACtE,MAAM,kBAAkB,GAAG,SAAS,CAAC,SAAS,IAAI,CAAC,eAAe,IAAI,CAAC,cAAc,CAAC;IAEtF,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,IAAI,kBAAkB;YAAE,OAAO,WAAW,CAAC;QAC3C,MAAM,IAAI,sBAAsB,CAC9B,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,gEAAgE;IAChE,IAAI,IAAI,CAAC,mBAAmB;QAAE,OAAO,aAAa,CAAC;IAEnD,IAAI,kBAAkB;QAAE,OAAO,WAAW,CAAC;IAC3C,IAAI,SAAS,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IACtC,OAAO,aAAa,CAAC;AACvB,CAAC"}
package/dist/errors.d.ts CHANGED
@@ -39,8 +39,16 @@ export declare const ERROR_CODES: {
39
39
  readonly FILE_UPLOAD_MULTIPLE_NOT_ALLOWED: "FILE_UPLOAD_MULTIPLE_NOT_ALLOWED";
40
40
  readonly FILE_UPLOAD_INVALID_PARAMS: "FILE_UPLOAD_INVALID_PARAMS";
41
41
  readonly STRICTNESS_VIOLATION: "STRICTNESS_VIOLATION";
42
+ readonly WINDOW_CLOSED: "WINDOW_CLOSED";
43
+ readonly CAPTURE_RACE: "CAPTURE_RACE";
44
+ readonly CAPTURE_FAILED: "CAPTURE_FAILED";
45
+ readonly INVALID_PARAMS: "INVALID_PARAMS";
42
46
  };
43
47
  export type ErrorCode = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];
48
+ export declare const ERROR_METADATA: Partial<Record<ErrorCode, {
49
+ retryable: boolean;
50
+ hints: readonly string[];
51
+ }>>;
44
52
  export declare abstract class SafariPilotError extends Error {
45
53
  abstract readonly code: ErrorCode;
46
54
  abstract readonly retryable: boolean;
package/dist/errors.js CHANGED
@@ -39,6 +39,26 @@ export const ERROR_CODES = {
39
39
  FILE_UPLOAD_MULTIPLE_NOT_ALLOWED: 'FILE_UPLOAD_MULTIPLE_NOT_ALLOWED',
40
40
  FILE_UPLOAD_INVALID_PARAMS: 'FILE_UPLOAD_INVALID_PARAMS',
41
41
  STRICTNESS_VIOLATION: 'STRICTNESS_VIOLATION',
42
+ // 2026-05-08 — codes for safari_take_screenshot WebView capture (Task 5).
43
+ // No concrete error classes for these: they are returned as structured
44
+ // data from the extension sentinel and lifted into ToolError by the
45
+ // engine layer, not thrown as SafariPilotError instances. Their
46
+ // retryable/hints metadata lives in ERROR_METADATA below.
47
+ WINDOW_CLOSED: 'WINDOW_CLOSED',
48
+ CAPTURE_RACE: 'CAPTURE_RACE',
49
+ CAPTURE_FAILED: 'CAPTURE_FAILED',
50
+ INVALID_PARAMS: 'INVALID_PARAMS',
51
+ };
52
+ // Metadata for codes returned as structured data (not thrown as concrete
53
+ // SafariPilotError subclasses). Concrete classes carry retryable/hints on
54
+ // the instance; this map carries the same fields for data-only codes,
55
+ // looked up at error-formatting time when the code did not originate from
56
+ // a thrown class.
57
+ export const ERROR_METADATA = {
58
+ WINDOW_CLOSED: { retryable: false, hints: ['The Safari window containing this tab was closed before capture could complete.'] },
59
+ CAPTURE_RACE: { retryable: true, hints: ['Another tab became active during the capture window. Retry; if persistent, reduce concurrent activity in this Safari window.'] },
60
+ CAPTURE_FAILED: { retryable: true, hints: ['Screenshot capture API failed. Verify Safari extension is enabled and the page is fully loaded.'] },
61
+ INVALID_PARAMS: { retryable: false, hints: ['Tool was called with parameters that violate its input schema.'] },
42
62
  };
43
63
  // ─── Abstract Base ────────────────────────────────────────────────────────────
44
64
  export class SafariPilotError extends Error {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,10 @@
1
+ /** Cluster G — suggested_next_tools emitted on every HumanApproval denial.
2
+ * Exported so server.ts can attach it to both denial return paths without
3
+ * duplicating the hint text. */
4
+ export declare const HUMAN_APPROVAL_SUGGESTED_NEXT_TOOLS: Array<{
5
+ tool: string;
6
+ reason: string;
7
+ }>;
1
8
  export interface ApprovalResult {
2
9
  required: boolean;
3
10
  reason?: string;
@@ -1,4 +1,10 @@
1
1
  import { HumanApprovalRequiredError } from '../errors.js';
2
+ /** Cluster G — suggested_next_tools emitted on every HumanApproval denial.
3
+ * Exported so server.ts can attach it to both denial return paths without
4
+ * duplicating the hint text. */
5
+ export const HUMAN_APPROVAL_SUGGESTED_NEXT_TOOLS = [
6
+ { tool: 'safari_evaluate', reason: 'Equivalent path that runs through the JS-eval engine (still security-gated).' },
7
+ ];
2
8
  // ─── Pattern Registry ─────────────────────────────────────────────────────────
3
9
  /** OAuth / SSO provider URL patterns. */
4
10
  const OAUTH_URL_PATTERNS = [
@@ -1 +1 @@
1
- {"version":3,"file":"human-approval.js","sourceRoot":"","sources":["../../src/security/human-approval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAkB1D,iFAAiF;AAEjF,yCAAyC;AACzC,MAAM,kBAAkB,GAAa;IACnC,kCAAkC;IAClC,8BAA8B;IAC9B,4BAA4B;IAC5B,aAAa;IACb,YAAY;IACZ,mBAAmB;IACnB,sBAAsB;IACtB,+BAA+B;CAChC,CAAC;AAEF,iDAAiD;AACjD,MAAM,sBAAsB,GAAa;IACvC,wBAAwB;IACxB,mBAAmB;IACnB,mBAAmB;IACnB,wBAAwB;IACxB,mBAAmB;IACnB,kBAAkB;CACnB,CAAC;AAEF,4CAA4C;AAC5C,MAAM,qBAAqB,GAAa;IACtC,oBAAoB;IACpB,QAAQ;IACR,QAAQ;IACR,uBAAuB;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,oBAAoB;CACrB,CAAC;AAEF,0DAA0D;AAC1D,MAAM,mBAAmB,GAAG,6DAA6D,CAAC;AAE1F,sDAAsD;AACtD,MAAM,yBAAyB,GAAa;IAC1C,uBAAuB;IACvB,oBAAoB;IACpB,qBAAqB;IACrB,oBAAoB;IACpB,uBAAuB;IACvB,yBAAyB;CAC1B,CAAC;AAEF;;+DAE+D;AAC/D,MAAM,sBAAsB,GAA2B;IACrD,wBAAwB,EACtB,mHAAmH;CACtH,CAAC;AAEF,iDAAiD;AACjD,MAAM,qBAAqB,GAAa;IACtC,aAAa;IACb,WAAW;IACX,SAAS;IACT,QAAQ;IACR,uBAAuB;IACvB,mBAAmB;IACnB,mBAAmB;IACnB,QAAQ;IACR,QAAQ;CACT,CAAC;AAEF,iFAAiF;AAEjF,SAAS,UAAU,CAAC,KAAa,EAAE,QAAkB;IACnD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,MAAM,OAAO,aAAa;IACxB;;;;;;OAMG;IACH,gBAAgB,CACd,MAAc,EACd,GAAW,EACX,MAAgC;QAEhC,mEAAmE;QACnE,MAAM,eAAe,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,aAAa;gBACvB,MAAM,EAAE,eAAe;aACxB,CAAC;QACJ,CAAC;QAED,uBAAuB;QACvB,IAAI,UAAU,CAAC,GAAG,EAAE,kBAAkB,CAAC,EAAE,CAAC;YACxC,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,8CAA8C;aACvD,CAAC;QACJ,CAAC;QAED,wCAAwC;QACxC,IAAI,UAAU,CAAC,GAAG,EAAE,sBAAsB,CAAC,EAAE,CAAC;YAC5C,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,WAAW;gBACrB,MAAM,EAAE,kDAAkD;aAC3D,CAAC;QACJ,CAAC;QAED,qCAAqC;QACrC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC;YACpF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO;oBACL,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,WAAW;oBACrB,MAAM,EAAE,gDAAgD,cAAc,GAAG;iBAC1E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,MAAM,gBAAgB,GAAG,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,0BAA0B,CAAC;QACxF,IAAI,gBAAgB,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACtD,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,oCAAoC;aAC7C,CAAC;QACJ,CAAC;QAED,uDAAuD;QACvD,IAAI,UAAU,CAAC,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC;YAC/C,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,kBAAkB;gBAC5B,MAAM,EAAE,2DAA2D;aACpE,CAAC;QACJ,CAAC;QAED,iDAAiD;QACjD,MAAM,YAAY,GAAG,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,MAAM;eACxD,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,cAAc,CAAC;QAC3D,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC;gBACpF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBACjC,OAAO;wBACL,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,iBAAiB;wBAC3B,MAAM,EAAE,8CAA8C,cAAc,GAAG;qBACxE,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,MAAc,EAAE,GAAW,EAAE,MAAgC;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,IAAI,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,wBAAwB,CAAC,SAAiB;QACxC,0DAA0D;IAC5D,CAAC;CACF"}
1
+ {"version":3,"file":"human-approval.js","sourceRoot":"","sources":["../../src/security/human-approval.ts"],"names":[],"mappings":"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"}