Files
orca/src/main/daemon/daemon-hello-protocol.ts
T
Brennan Benson a2d438db17 fix(daemon): detect severed macOS TCC attribution behind terminal automation denials (STA-3491) (#12848)
* fix(daemon): detect severed macOS TCC attribution and surface daemon-restart remedy (STA-3491)

macOS pins the detached PTY daemon's TCC responsible process to the app
binary that forked it. Once that binary is deleted (packaged updates
replace the bundle), Accessibility/Automation grants on Orca silently
stop covering every daemon-hosted terminal: osascript/System Events
fails with -25211 no matter what the user grants.

- record spawnerExecPath in the daemon pid file at fork
- adoption checks it: severed + 0 live sessions -> replace the daemon
  (reason severed_tcc_attribution); live sessions are preserved
- Settings (Developer Permissions + Manage Sessions) show a visible
  banner pointing at Manage Sessions -> Restart while severed

* fix(daemon): harden TCC attribution recovery
2026-08-05 23:54:30 -07:00

25 lines
517 B
TypeScript

export type HelloMessage = {
type: 'hello'
version: number
token: string
clientId: string
role: 'control' | 'stream'
}
export type DaemonEndpointIdentity = {
pid: number
startedAtMs: number
launchNonce: string
/** Optional launch metadata. Absent from daemons that predate it; readers must fall back. */
entryPath?: string
appVersion?: string
spawnerExecPath?: string
}
export type HelloResponse = {
type: 'hello'
ok: boolean
error?: string
daemonIdentity?: DaemonEndpointIdentity
}