also looking at this
Claude/app issues review e7f207
#16
8 files
+112
-35
| @@ -1,4 +1,4 @@ | ||
| 1 | import { describeScriptFailure } from './applescript' | |
| 1 | import { PermissionError, describeScriptFailure } from './applescript' | |
| 2 | 2 | import type { ScriptOutcome } from './applescript' |
| 3 | 3 | import { contactResults, contactSearchScript, parseContacts } from './contacts' |
| 4 | 4 | import { eventResults, parseEvents, upcomingEventsScript } from './calendar' |
| @@ -6,9 +6,7 @@ import { parseWindows, windowListScript, windowResults } from './windows' | ||
| 6 | 6 | import type { Result } from './search' |
| 7 | 7 | |
| 8 | 8 | /** A failure the person can act on, with the permission to visit when there is one. */ |
| 9 | export class SourceError extends Error { | |
| 10 | constructor(message: string, readonly permission?: 'accessibility' | 'automation') { super(message) } | |
| 11 | } | |
| 9 | export class SourceError extends PermissionError {} | |
| 12 | 10 | |
| 13 | 11 | export interface SourcePorts { |
| 14 | 12 | appleScript: (source: string) => Promise<ScriptOutcome> |