safari-pilot 0.1.0

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 (143) hide show
  1. package/.claude-plugin/plugin.json +35 -0
  2. package/.mcp.json +11 -0
  3. package/LICENSE +21 -0
  4. package/README.md +324 -0
  5. package/bin/.gitkeep +0 -0
  6. package/bin/Safari Pilot.app/Contents/CodeResources +0 -0
  7. package/bin/Safari Pilot.app/Contents/Info.plist +58 -0
  8. package/bin/Safari Pilot.app/Contents/MacOS/Safari Pilot +0 -0
  9. package/bin/Safari Pilot.app/Contents/PkgInfo +1 -0
  10. package/bin/Safari Pilot.app/Contents/PlugIns/Safari Pilot Extension.appex/Contents/Info.plist +55 -0
  11. package/bin/Safari Pilot.app/Contents/PlugIns/Safari Pilot Extension.appex/Contents/MacOS/Safari Pilot Extension +0 -0
  12. package/bin/Safari Pilot.app/Contents/PlugIns/Safari Pilot Extension.appex/Contents/Resources/background.js +294 -0
  13. package/bin/Safari Pilot.app/Contents/PlugIns/Safari Pilot Extension.appex/Contents/Resources/content-isolated.js +80 -0
  14. package/bin/Safari Pilot.app/Contents/PlugIns/Safari Pilot Extension.appex/Contents/Resources/content-main.js +310 -0
  15. package/bin/Safari Pilot.app/Contents/PlugIns/Safari Pilot Extension.appex/Contents/Resources/icons/icon-128.png +0 -0
  16. package/bin/Safari Pilot.app/Contents/PlugIns/Safari Pilot Extension.appex/Contents/Resources/icons/icon-48.png +0 -0
  17. package/bin/Safari Pilot.app/Contents/PlugIns/Safari Pilot Extension.appex/Contents/Resources/icons/icon-96.png +0 -0
  18. package/bin/Safari Pilot.app/Contents/PlugIns/Safari Pilot Extension.appex/Contents/Resources/manifest.json +39 -0
  19. package/bin/Safari Pilot.app/Contents/PlugIns/Safari Pilot Extension.appex/Contents/_CodeSignature/CodeResources +194 -0
  20. package/bin/Safari Pilot.app/Contents/Resources/AppIcon.icns +0 -0
  21. package/bin/Safari Pilot.app/Contents/Resources/Assets.car +0 -0
  22. package/bin/Safari Pilot.app/Contents/Resources/Base.lproj/Main.html +19 -0
  23. package/bin/Safari Pilot.app/Contents/Resources/Base.lproj/Main.storyboardc/Info.plist +0 -0
  24. package/bin/Safari Pilot.app/Contents/Resources/Base.lproj/Main.storyboardc/MainMenu.nib +0 -0
  25. package/bin/Safari Pilot.app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib +0 -0
  26. package/bin/Safari Pilot.app/Contents/Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib +0 -0
  27. package/bin/Safari Pilot.app/Contents/Resources/Icon.png +0 -0
  28. package/bin/Safari Pilot.app/Contents/Resources/Script.js +22 -0
  29. package/bin/Safari Pilot.app/Contents/Resources/Style.css +45 -0
  30. package/bin/Safari Pilot.app/Contents/_CodeSignature/CodeResources +236 -0
  31. package/bin/Safari Pilot.zip +0 -0
  32. package/bin/SafariPilotd +0 -0
  33. package/dist/engine-selector.d.ts +10 -0
  34. package/dist/engine-selector.js +55 -0
  35. package/dist/engine-selector.js.map +1 -0
  36. package/dist/engines/applescript.d.ts +53 -0
  37. package/dist/engines/applescript.js +290 -0
  38. package/dist/engines/applescript.js.map +1 -0
  39. package/dist/engines/daemon.d.ts +19 -0
  40. package/dist/engines/daemon.js +187 -0
  41. package/dist/engines/daemon.js.map +1 -0
  42. package/dist/engines/engine.d.ts +15 -0
  43. package/dist/engines/engine.js +42 -0
  44. package/dist/engines/engine.js.map +1 -0
  45. package/dist/engines/extension.d.ts +34 -0
  46. package/dist/engines/extension.js +66 -0
  47. package/dist/engines/extension.js.map +1 -0
  48. package/dist/errors.d.ts +128 -0
  49. package/dist/errors.js +250 -0
  50. package/dist/errors.js.map +1 -0
  51. package/dist/index.d.ts +2 -0
  52. package/dist/index.js +11 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/security/audit-log.d.ts +23 -0
  55. package/dist/security/audit-log.js +68 -0
  56. package/dist/security/audit-log.js.map +1 -0
  57. package/dist/security/circuit-breaker.d.ts +29 -0
  58. package/dist/security/circuit-breaker.js +114 -0
  59. package/dist/security/circuit-breaker.js.map +1 -0
  60. package/dist/security/domain-policy.d.ts +29 -0
  61. package/dist/security/domain-policy.js +96 -0
  62. package/dist/security/domain-policy.js.map +1 -0
  63. package/dist/security/human-approval.d.ts +20 -0
  64. package/dist/security/human-approval.js +150 -0
  65. package/dist/security/human-approval.js.map +1 -0
  66. package/dist/security/idpi-scanner.d.ts +20 -0
  67. package/dist/security/idpi-scanner.js +102 -0
  68. package/dist/security/idpi-scanner.js.map +1 -0
  69. package/dist/security/kill-switch.d.ts +51 -0
  70. package/dist/security/kill-switch.js +103 -0
  71. package/dist/security/kill-switch.js.map +1 -0
  72. package/dist/security/rate-limiter.d.ts +30 -0
  73. package/dist/security/rate-limiter.js +70 -0
  74. package/dist/security/rate-limiter.js.map +1 -0
  75. package/dist/security/screenshot-redaction.d.ts +42 -0
  76. package/dist/security/screenshot-redaction.js +134 -0
  77. package/dist/security/screenshot-redaction.js.map +1 -0
  78. package/dist/security/tab-ownership.d.ts +46 -0
  79. package/dist/security/tab-ownership.js +85 -0
  80. package/dist/security/tab-ownership.js.map +1 -0
  81. package/dist/server.d.ts +53 -0
  82. package/dist/server.js +347 -0
  83. package/dist/server.js.map +1 -0
  84. package/dist/tools/clipboard.d.ts +15 -0
  85. package/dist/tools/clipboard.js +128 -0
  86. package/dist/tools/clipboard.js.map +1 -0
  87. package/dist/tools/compound.d.ts +68 -0
  88. package/dist/tools/compound.js +491 -0
  89. package/dist/tools/compound.js.map +1 -0
  90. package/dist/tools/extraction.d.ts +26 -0
  91. package/dist/tools/extraction.js +414 -0
  92. package/dist/tools/extraction.js.map +1 -0
  93. package/dist/tools/frames.d.ts +22 -0
  94. package/dist/tools/frames.js +165 -0
  95. package/dist/tools/frames.js.map +1 -0
  96. package/dist/tools/interaction.d.ts +30 -0
  97. package/dist/tools/interaction.js +651 -0
  98. package/dist/tools/interaction.js.map +1 -0
  99. package/dist/tools/navigation.d.ts +41 -0
  100. package/dist/tools/navigation.js +316 -0
  101. package/dist/tools/navigation.js.map +1 -0
  102. package/dist/tools/network.d.ts +27 -0
  103. package/dist/tools/network.js +721 -0
  104. package/dist/tools/network.js.map +1 -0
  105. package/dist/tools/performance.d.ts +16 -0
  106. package/dist/tools/performance.js +240 -0
  107. package/dist/tools/performance.js.map +1 -0
  108. package/dist/tools/permissions.d.ts +25 -0
  109. package/dist/tools/permissions.js +308 -0
  110. package/dist/tools/permissions.js.map +1 -0
  111. package/dist/tools/service-workers.d.ts +15 -0
  112. package/dist/tools/service-workers.js +136 -0
  113. package/dist/tools/service-workers.js.map +1 -0
  114. package/dist/tools/shadow.d.ts +21 -0
  115. package/dist/tools/shadow.js +126 -0
  116. package/dist/tools/shadow.js.map +1 -0
  117. package/dist/tools/storage.d.ts +30 -0
  118. package/dist/tools/storage.js +679 -0
  119. package/dist/tools/storage.js.map +1 -0
  120. package/dist/tools/structured-extraction.d.ts +22 -0
  121. package/dist/tools/structured-extraction.js +433 -0
  122. package/dist/tools/structured-extraction.js.map +1 -0
  123. package/dist/tools/wait.d.ts +18 -0
  124. package/dist/tools/wait.js +182 -0
  125. package/dist/tools/wait.js.map +1 -0
  126. package/dist/types.d.ts +85 -0
  127. package/dist/types.js +2 -0
  128. package/dist/types.js.map +1 -0
  129. package/extension/background.js +294 -0
  130. package/extension/content-isolated.js +80 -0
  131. package/extension/content-main.js +310 -0
  132. package/extension/icons/icon-128.png +0 -0
  133. package/extension/icons/icon-48.png +0 -0
  134. package/extension/icons/icon-96.png +0 -0
  135. package/extension/manifest.json +39 -0
  136. package/hooks/session-end.sh +67 -0
  137. package/hooks/session-start.sh +66 -0
  138. package/package.json +46 -0
  139. package/scripts/build-extension.sh +135 -0
  140. package/scripts/postinstall.sh +91 -0
  141. package/scripts/preuninstall.sh +25 -0
  142. package/scripts/update-daemon.sh +62 -0
  143. package/skills/safari-pilot/SKILL.md +157 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../src/tools/interaction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { ToolResponse, ToolRequirements } from '../types.js';
2
+ import type { AppleScriptEngine } from '../engines/applescript.js';
3
+ export interface ToolDefinition {
4
+ name: string;
5
+ description: string;
6
+ inputSchema: Record<string, unknown>;
7
+ requirements: ToolRequirements;
8
+ }
9
+ type Handler = (params: Record<string, unknown>) => Promise<ToolResponse>;
10
+ export declare class NavigationTools {
11
+ private readonly engine;
12
+ constructor(engine: AppleScriptEngine);
13
+ getDefinitions(): ToolDefinition[];
14
+ getHandler(name: string): Handler;
15
+ private handleNavigate;
16
+ private handleNavigateBack;
17
+ private handleNavigateForward;
18
+ private handleReload;
19
+ private handleNewTab;
20
+ private handleCloseTab;
21
+ private handleListTabs;
22
+ /**
23
+ * Execute JavaScript in a tab identified by its URL.
24
+ * Returns parsed page info if the JS returns JSON, otherwise undefined.
25
+ */
26
+ private executeJsInTab;
27
+ private errorResponse;
28
+ }
29
+ /**
30
+ * Parse the raw output of buildListTabsScript.
31
+ *
32
+ * The AppleScript produces lines of: url\ttitle\n
33
+ * The task spec references "winIdx|||tabIdx|||url|||title" as a potential alternative
34
+ * format from enriched scripts — we handle both separators gracefully.
35
+ */
36
+ export declare function parseTabList(raw: string): Array<{
37
+ url: string;
38
+ title: string;
39
+ index: number;
40
+ }>;
41
+ export {};
@@ -0,0 +1,316 @@
1
+ const WAIT_NAVIGATE_MS = 1000;
2
+ const WAIT_HISTORY_MS = 500;
3
+ /** JS snippet that returns {url, title} for the current page */
4
+ const PAGE_INFO_JS = 'return JSON.stringify({url: location.href, title: document.title})';
5
+ export class NavigationTools {
6
+ engine;
7
+ constructor(engine) {
8
+ this.engine = engine;
9
+ }
10
+ // ── Public API ──────────────────────────────────────────────────────────────
11
+ getDefinitions() {
12
+ return [
13
+ {
14
+ name: 'safari_navigate',
15
+ description: 'Navigate to a URL in the specified tab (matched by current URL) or open in the active tab. ' +
16
+ 'Returns the final URL and page title after navigation.',
17
+ inputSchema: {
18
+ type: 'object',
19
+ properties: {
20
+ url: { type: 'string', description: 'Target URL to navigate to' },
21
+ tabUrl: { type: 'string', description: 'Current URL of the tab to navigate (omit to use front tab)' },
22
+ waitUntil: {
23
+ type: 'string',
24
+ enum: ['load', 'domcontentloaded', 'networkidle'],
25
+ description: 'Navigation readiness signal (informational; Safari uses load)',
26
+ default: 'load',
27
+ },
28
+ timeout: { type: 'number', description: 'Navigation timeout in milliseconds', default: 30000 },
29
+ },
30
+ required: ['url'],
31
+ },
32
+ requirements: {},
33
+ },
34
+ {
35
+ name: 'safari_navigate_back',
36
+ description: 'Go back one step in the browser history for the specified tab.',
37
+ inputSchema: {
38
+ type: 'object',
39
+ properties: {
40
+ tabUrl: { type: 'string', description: 'Current URL of the tab' },
41
+ },
42
+ required: ['tabUrl'],
43
+ },
44
+ requirements: {},
45
+ },
46
+ {
47
+ name: 'safari_navigate_forward',
48
+ description: 'Go forward one step in the browser history for the specified tab.',
49
+ inputSchema: {
50
+ type: 'object',
51
+ properties: {
52
+ tabUrl: { type: 'string', description: 'Current URL of the tab' },
53
+ },
54
+ required: ['tabUrl'],
55
+ },
56
+ requirements: {},
57
+ },
58
+ {
59
+ name: 'safari_reload',
60
+ description: 'Reload the page in the specified tab, optionally bypassing the cache.',
61
+ inputSchema: {
62
+ type: 'object',
63
+ properties: {
64
+ tabUrl: { type: 'string', description: 'Current URL of the tab to reload' },
65
+ bypassCache: {
66
+ type: 'boolean',
67
+ description: 'Force a hard reload bypassing browser cache',
68
+ default: false,
69
+ },
70
+ },
71
+ required: ['tabUrl'],
72
+ },
73
+ requirements: {},
74
+ },
75
+ {
76
+ name: 'safari_new_tab',
77
+ description: 'Open a new agent-owned tab, optionally navigating to a URL and/or in a private window. ' +
78
+ 'Returns the new tab URL for future targeting.',
79
+ inputSchema: {
80
+ type: 'object',
81
+ properties: {
82
+ url: { type: 'string', description: 'URL to open in the new tab (default: about:blank)', default: 'about:blank' },
83
+ privateWindow: {
84
+ type: 'boolean',
85
+ description: 'Open in a private browsing window',
86
+ default: false,
87
+ },
88
+ },
89
+ required: [],
90
+ },
91
+ requirements: {},
92
+ },
93
+ {
94
+ name: 'safari_close_tab',
95
+ description: 'Close a specific agent-owned tab identified by its current URL.',
96
+ inputSchema: {
97
+ type: 'object',
98
+ properties: {
99
+ tabUrl: { type: 'string', description: 'Current URL of the tab to close' },
100
+ },
101
+ required: ['tabUrl'],
102
+ },
103
+ requirements: {},
104
+ },
105
+ {
106
+ name: 'safari_list_tabs',
107
+ description: 'List all open tabs across all Safari windows, including their URLs, titles, and basic metadata.',
108
+ inputSchema: {
109
+ type: 'object',
110
+ properties: {},
111
+ required: [],
112
+ },
113
+ requirements: {},
114
+ },
115
+ ];
116
+ }
117
+ getHandler(name) {
118
+ switch (name) {
119
+ case 'safari_navigate':
120
+ return (p) => this.handleNavigate(p);
121
+ case 'safari_navigate_back':
122
+ return (p) => this.handleNavigateBack(p);
123
+ case 'safari_navigate_forward':
124
+ return (p) => this.handleNavigateForward(p);
125
+ case 'safari_reload':
126
+ return (p) => this.handleReload(p);
127
+ case 'safari_new_tab':
128
+ return (p) => this.handleNewTab(p);
129
+ case 'safari_close_tab':
130
+ return (p) => this.handleCloseTab(p);
131
+ case 'safari_list_tabs':
132
+ return () => this.handleListTabs();
133
+ default:
134
+ throw new Error(`NavigationTools: unknown tool "${name}"`);
135
+ }
136
+ }
137
+ // ── Handlers ────────────────────────────────────────────────────────────────
138
+ async handleNavigate(params) {
139
+ const start = Date.now();
140
+ const url = params['url'];
141
+ const timeout = typeof params['timeout'] === 'number' ? params['timeout'] : 30000;
142
+ const script = this.engine.buildNavigateScript(url);
143
+ const navResult = await this.engine.execute(script, timeout);
144
+ if (!navResult.ok) {
145
+ return this.errorResponse(navResult.error?.message ?? 'Navigation failed', start);
146
+ }
147
+ await sleep(WAIT_NAVIGATE_MS);
148
+ // Get final URL and title — use tabUrl if provided, else the target url
149
+ const tabUrl = params['tabUrl'] ?? url;
150
+ const pageInfo = await this.executeJsInTab(tabUrl, PAGE_INFO_JS);
151
+ const data = pageInfo ?? { url, title: '' };
152
+ return {
153
+ content: [{ type: 'text', text: JSON.stringify(data) }],
154
+ metadata: { engine: 'applescript', degraded: false, latencyMs: Date.now() - start },
155
+ };
156
+ }
157
+ async handleNavigateBack(params) {
158
+ const start = Date.now();
159
+ const tabUrl = params['tabUrl'];
160
+ await this.executeJsInTab(tabUrl, 'history.back()');
161
+ await sleep(WAIT_HISTORY_MS);
162
+ const pageInfo = await this.executeJsInTab(tabUrl, PAGE_INFO_JS);
163
+ const data = pageInfo ?? { url: tabUrl, title: '' };
164
+ return {
165
+ content: [{ type: 'text', text: JSON.stringify(data) }],
166
+ metadata: { engine: 'applescript', degraded: false, latencyMs: Date.now() - start },
167
+ };
168
+ }
169
+ async handleNavigateForward(params) {
170
+ const start = Date.now();
171
+ const tabUrl = params['tabUrl'];
172
+ await this.executeJsInTab(tabUrl, 'history.forward()');
173
+ await sleep(WAIT_HISTORY_MS);
174
+ const pageInfo = await this.executeJsInTab(tabUrl, PAGE_INFO_JS);
175
+ const data = pageInfo ?? { url: tabUrl, title: '' };
176
+ return {
177
+ content: [{ type: 'text', text: JSON.stringify(data) }],
178
+ metadata: { engine: 'applescript', degraded: false, latencyMs: Date.now() - start },
179
+ };
180
+ }
181
+ async handleReload(params) {
182
+ const start = Date.now();
183
+ const tabUrl = params['tabUrl'];
184
+ const bypassCache = params['bypassCache'] === true;
185
+ const reloadJs = bypassCache ? 'location.reload(true)' : 'location.reload()';
186
+ await this.executeJsInTab(tabUrl, reloadJs);
187
+ await sleep(WAIT_NAVIGATE_MS);
188
+ const pageInfo = await this.executeJsInTab(tabUrl, PAGE_INFO_JS);
189
+ const data = pageInfo ?? { url: tabUrl, title: '' };
190
+ return {
191
+ content: [{ type: 'text', text: JSON.stringify(data) }],
192
+ metadata: { engine: 'applescript', degraded: false, latencyMs: Date.now() - start },
193
+ };
194
+ }
195
+ async handleNewTab(params) {
196
+ const start = Date.now();
197
+ const url = params['url'] ?? 'about:blank';
198
+ const privateWindow = params['privateWindow'] === true;
199
+ const script = this.engine.buildNewTabScript(url, privateWindow);
200
+ const result = await this.engine.execute(script);
201
+ if (!result.ok) {
202
+ return this.errorResponse(result.error?.message ?? 'Failed to open new tab', start);
203
+ }
204
+ // The engine result value contains the URL of the newly created tab.
205
+ // Parse "tabUrl|||windowId" if present, otherwise use the target url.
206
+ const raw = result.value ?? '';
207
+ let tabUrl = url;
208
+ let windowId;
209
+ if (raw.includes('|||')) {
210
+ const parts = raw.split('|||');
211
+ tabUrl = parts[0]?.trim() ?? url;
212
+ windowId = parts[1] ? parseInt(parts[1].trim(), 10) : undefined;
213
+ }
214
+ else if (raw.length > 0 && raw !== 'missing value') {
215
+ tabUrl = raw.trim();
216
+ }
217
+ return {
218
+ content: [{ type: 'text', text: JSON.stringify({ tabUrl, windowId }) }],
219
+ metadata: { engine: 'applescript', degraded: false, latencyMs: Date.now() - start },
220
+ };
221
+ }
222
+ async handleCloseTab(params) {
223
+ const start = Date.now();
224
+ const tabUrl = params['tabUrl'];
225
+ const script = this.engine.buildCloseTabScript(tabUrl);
226
+ const result = await this.engine.execute(script);
227
+ const closed = result.ok && result.value !== 'false';
228
+ return {
229
+ content: [{ type: 'text', text: JSON.stringify({ closed, tabUrl }) }],
230
+ metadata: { engine: 'applescript', degraded: false, latencyMs: Date.now() - start },
231
+ };
232
+ }
233
+ async handleListTabs() {
234
+ const start = Date.now();
235
+ const script = this.engine.buildListTabsScript();
236
+ const result = await this.engine.execute(script);
237
+ if (!result.ok) {
238
+ return this.errorResponse(result.error?.message ?? 'Failed to list tabs', start);
239
+ }
240
+ const raw = result.value ?? '';
241
+ const tabs = parseTabList(raw);
242
+ return {
243
+ content: [{ type: 'text', text: JSON.stringify({ tabs }) }],
244
+ metadata: { engine: 'applescript', degraded: false, latencyMs: Date.now() - start },
245
+ };
246
+ }
247
+ // ── Private helpers ─────────────────────────────────────────────────────────
248
+ /**
249
+ * Execute JavaScript in a tab identified by its URL.
250
+ * Returns parsed page info if the JS returns JSON, otherwise undefined.
251
+ */
252
+ async executeJsInTab(tabUrl, jsCode) {
253
+ const script = this.engine.buildTabScript(tabUrl, jsCode);
254
+ const result = await this.engine.execute(script);
255
+ if (!result.ok || !result.value)
256
+ return undefined;
257
+ try {
258
+ const parsed = JSON.parse(result.value);
259
+ return typeof parsed === 'object' && parsed !== null ? parsed : undefined;
260
+ }
261
+ catch {
262
+ return undefined;
263
+ }
264
+ }
265
+ errorResponse(message, start) {
266
+ return {
267
+ content: [{ type: 'text', text: JSON.stringify({ error: message }) }],
268
+ metadata: { engine: 'applescript', degraded: true, latencyMs: Date.now() - start },
269
+ };
270
+ }
271
+ }
272
+ // ── Module-level helpers ─────────────────────────────────────────────────────
273
+ function sleep(ms) {
274
+ return new Promise((resolve) => setTimeout(resolve, ms));
275
+ }
276
+ /**
277
+ * Parse the raw output of buildListTabsScript.
278
+ *
279
+ * The AppleScript produces lines of: url\ttitle\n
280
+ * The task spec references "winIdx|||tabIdx|||url|||title" as a potential alternative
281
+ * format from enriched scripts — we handle both separators gracefully.
282
+ */
283
+ export function parseTabList(raw) {
284
+ if (!raw.trim())
285
+ return [];
286
+ return raw
287
+ .split('\n')
288
+ .map((line, idx) => {
289
+ const trimmed = line.trim();
290
+ if (!trimmed)
291
+ return null;
292
+ // Handle "winIdx|||tabIdx|||url|||title" format (enriched)
293
+ if (trimmed.includes('|||')) {
294
+ const parts = trimmed.split('|||');
295
+ if (parts.length >= 4) {
296
+ return { url: parts[2]?.trim() ?? '', title: parts[3]?.trim() ?? '', index: idx };
297
+ }
298
+ if (parts.length >= 2) {
299
+ return { url: parts[0]?.trim() ?? '', title: parts[1]?.trim() ?? '', index: idx };
300
+ }
301
+ }
302
+ // Handle "url\ttitle" format (default buildListTabsScript output)
303
+ if (trimmed.includes('\t')) {
304
+ const tabIdx = trimmed.indexOf('\t');
305
+ return {
306
+ url: trimmed.slice(0, tabIdx).trim(),
307
+ title: trimmed.slice(tabIdx + 1).trim(),
308
+ index: idx,
309
+ };
310
+ }
311
+ // Single-field line — treat as URL
312
+ return { url: trimmed, title: '', index: idx };
313
+ })
314
+ .filter((t) => t !== null && t.url.length > 0);
315
+ }
316
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/tools/navigation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { AppleScriptEngine } from '../engines/applescript.js';
2
+ import type { ToolResponse, ToolRequirements } from '../types.js';
3
+ export interface ToolDefinition {
4
+ name: string;
5
+ description: string;
6
+ inputSchema: Record<string, unknown>;
7
+ requirements: ToolRequirements;
8
+ }
9
+ type Handler = (params: Record<string, unknown>) => Promise<ToolResponse>;
10
+ export declare class NetworkTools {
11
+ private engine;
12
+ private handlers;
13
+ constructor(engine: AppleScriptEngine);
14
+ private registerHandlers;
15
+ getDefinitions(): ToolDefinition[];
16
+ getHandler(name: string): Handler | undefined;
17
+ private handleListNetworkRequests;
18
+ private handleGetNetworkRequest;
19
+ private handleInterceptRequests;
20
+ private handleNetworkThrottle;
21
+ private handleNetworkOffline;
22
+ private handleMockRequest;
23
+ private handleWebSocketListen;
24
+ private handleWebSocketFilter;
25
+ private makeResponse;
26
+ }
27
+ export {};