Files
orca/src/shared/remote-runtime-client-error.ts
T
Brennan Benson 913509edeb fix(orchestration): prevent slow worker-start stalls (#16300)
* Extend orchestration agent submission timing budgets

* fix(orchestration): preserve mutation recovery identity

* fix(orchestration): preserve recovery executable identity

* fix(orchestration): keep worker starts and recovery commands safe

* test(orchestration): cover federated worker preflight

* fix(orchestration): harden mutation recovery

* fix(orchestration): redact dispatch recovery credentials

* chore: preserve upstream skill dialog formatting

* test(orchestration): stabilize agent prompt submit e2e

* fix(orchestration): validate federated start receipts

* perf(runtime): cache unchanged prompt verification tail

* fix(orchestration): reject worker-start timer overflow

* fix(orchestration): normalize worker-start timeout defaults

* fix(orchestration): normalize worker-start readiness budgets

* fix(orchestration): normalize federated readiness timeout

* test(runtime): tolerate current-main degradation exports

* chore: preserve current-main orcad formatting

* chore: drop unrelated formatting carryover
2026-08-27 15:25:30 -07:00

34 lines
1.1 KiB
TypeScript

export type RemoteRuntimePairingStage = 'connect' | 'host-identity' | 'access-grant' | 'runtime'
/**
* Error type for the remote-runtime client, split out from
* `remote-runtime-client.ts` so type-only consumers can reference it without
* pulling in that module's `ws`/`tweetnacl` value imports. Mobile reaches this
* type transitively (runtime-types → shared-control-types) and its typecheck
* has no Node-only deps installed.
*/
export class RemoteRuntimeClientError extends Error {
readonly code: string
/** Structured recovery data must survive the WebSocket adapter unchanged. */
readonly data?: unknown
readonly pairingStage?: RemoteRuntimePairingStage
readonly closeCode?: number
constructor(
code: string,
message: string,
details?: {
data?: unknown
pairingStage?: RemoteRuntimePairingStage
closeCode?: number
}
) {
super(message)
this.name = 'RemoteRuntimeClientError'
this.code = code
this.data = details?.data
this.pairingStage = details?.pairingStage
this.closeCode = details?.closeCode
}
}