@spotpatch/shared 1.10.0 → 1.11.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 (36) hide show
  1. package/dist/{chunk-ZCG3DLSW.js → chunk-JGOIBOFI.js} +8 -2
  2. package/dist/chunk-JGOIBOFI.js.map +1 -0
  3. package/dist/{chunk-MOGITGPP.js → chunk-JU5HIWX7.js} +1 -1
  4. package/dist/chunk-JU5HIWX7.js.map +1 -0
  5. package/dist/{data-flow-runtime-BMm3F-eV.d.cts → data-flow-runtime-BiouPr1G.d.cts} +1 -1
  6. package/dist/{data-flow-runtime-Dp-xznQW.d.ts → data-flow-runtime-oKZOBYAB.d.ts} +1 -1
  7. package/dist/data-flow-runtime.cjs +7 -1
  8. package/dist/data-flow-runtime.cjs.map +1 -1
  9. package/dist/data-flow-runtime.d.cts +2 -2
  10. package/dist/data-flow-runtime.d.ts +2 -2
  11. package/dist/data-flow-runtime.js +1 -1
  12. package/dist/{endpoints-BT-Bl1WS.d.cts → endpoints-GedF44M2.d.cts} +6 -0
  13. package/dist/{endpoints-BT-Bl1WS.d.ts → endpoints-GedF44M2.d.ts} +6 -0
  14. package/dist/external-agent-control-BB-oicmw.d.cts +547 -0
  15. package/dist/external-agent-control-BB-oicmw.d.ts +547 -0
  16. package/dist/external-agent-node.cjs.map +1 -1
  17. package/dist/external-agent-node.d.cts +20 -20
  18. package/dist/external-agent-node.d.ts +20 -20
  19. package/dist/external-agent-node.js +1 -1
  20. package/dist/external-handoff-browser.cjs +162 -1
  21. package/dist/external-handoff-browser.cjs.map +1 -1
  22. package/dist/external-handoff-browser.d.cts +29 -3
  23. package/dist/external-handoff-browser.d.ts +29 -3
  24. package/dist/external-handoff-browser.js +141 -1
  25. package/dist/external-handoff-browser.js.map +1 -1
  26. package/dist/index.cjs +481 -183
  27. package/dist/index.cjs.map +1 -1
  28. package/dist/index.d.cts +31 -29
  29. package/dist/index.d.ts +31 -29
  30. package/dist/index.js +328 -66
  31. package/dist/index.js.map +1 -1
  32. package/package.json +1 -1
  33. package/dist/chunk-MOGITGPP.js.map +0 -1
  34. package/dist/chunk-ZCG3DLSW.js.map +0 -1
  35. package/dist/{external-handoff-CWoooqhp.d.cts → external-handoff--lT9XQEw.d.cts} +22 -22
  36. package/dist/{external-handoff-CWoooqhp.d.ts → external-handoff--lT9XQEw.d.ts} +22 -22
@@ -21,6 +21,21 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var external_handoff_browser_exports = {};
22
22
  __export(external_handoff_browser_exports, {
23
23
  ERROR_CODES: () => ERROR_CODES,
24
+ EXTERNAL_AGENT_ACTIONS: () => EXTERNAL_AGENT_ACTIONS,
25
+ EXTERNAL_AGENT_AUTH_READINESS: () => EXTERNAL_AGENT_AUTH_READINESS,
26
+ EXTERNAL_AGENT_CHECK_OUTCOMES: () => EXTERNAL_AGENT_CHECK_OUTCOMES,
27
+ EXTERNAL_AGENT_CONNECTION_STATES: () => EXTERNAL_AGENT_CONNECTION_STATES,
28
+ EXTERNAL_AGENT_CONTROL_LIMITS: () => EXTERNAL_AGENT_CONTROL_LIMITS,
29
+ EXTERNAL_AGENT_DELIVERY_STATUSES: () => EXTERNAL_AGENT_DELIVERY_STATUSES,
30
+ EXTERNAL_AGENT_ERROR_CODES: () => EXTERNAL_AGENT_ERROR_CODES,
31
+ EXTERNAL_AGENT_ERROR_RECOVERABILITY: () => EXTERNAL_AGENT_ERROR_RECOVERABILITY,
32
+ EXTERNAL_AGENT_ERROR_STAGES: () => EXTERNAL_AGENT_ERROR_STAGES,
33
+ EXTERNAL_AGENT_EXECUTION_STATUSES: () => EXTERNAL_AGENT_EXECUTION_STATUSES,
34
+ EXTERNAL_AGENT_GRANT_STATES: () => EXTERNAL_AGENT_GRANT_STATES,
35
+ EXTERNAL_AGENT_MANAGED_PHASES: () => EXTERNAL_AGENT_MANAGED_PHASES,
36
+ EXTERNAL_AGENT_MANAGED_PROFILE: () => EXTERNAL_AGENT_MANAGED_PROFILE,
37
+ EXTERNAL_AGENT_MODES: () => EXTERNAL_AGENT_MODES,
38
+ EXTERNAL_AGENT_VALIDATION_OUTCOMES: () => EXTERNAL_AGENT_VALIDATION_OUTCOMES,
24
39
  EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS: () => EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS,
25
40
  EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES: () => EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES,
26
41
  EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION: () => EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION,
@@ -114,7 +129,13 @@ var SPOTPATCH_ENDPOINTS = Object.freeze({
114
129
  externalHandoffCapability: `${SPOTPATCH_API_BASE}/external-handoff/capability`,
115
130
  externalHandoffPublish: `${SPOTPATCH_API_BASE}/external-handoff/publish`,
116
131
  externalHandoffStatus: `${SPOTPATCH_API_BASE}/external-handoff/status`,
117
- externalHandoffResolveDelivery: `${SPOTPATCH_API_BASE}/external-handoff/resolve-delivery`
132
+ externalHandoffResolveDelivery: `${SPOTPATCH_API_BASE}/external-handoff/resolve-delivery`,
133
+ externalAgentControlStatus: `${SPOTPATCH_API_BASE}/external-agent/control/status`,
134
+ externalAgentControlConnect: `${SPOTPATCH_API_BASE}/external-agent/control/connect`,
135
+ externalAgentControlDisconnect: `${SPOTPATCH_API_BASE}/external-agent/control/disconnect`,
136
+ externalAgentControlCancel: `${SPOTPATCH_API_BASE}/external-agent/control/cancel`,
137
+ externalAgentEvents: `${SPOTPATCH_API_BASE}/external-agent/events`,
138
+ externalAgentResult: `${SPOTPATCH_API_BASE}/external-agent/result`
118
139
  });
119
140
 
120
141
  // src/external-handoff-browser.ts
@@ -144,9 +165,149 @@ var EXTERNAL_HANDOFF_LIMITS2 = Object.freeze({
144
165
  maximumWaiters: 8,
145
166
  activeStatusPollMs: 1e3
146
167
  });
168
+ var EXTERNAL_AGENT_CONTROL_LIMITS = Object.freeze({
169
+ maximumEventSubscribers: 4,
170
+ eventHeartbeatMs: 15e3,
171
+ eventReconnectMinimumMs: 500,
172
+ eventReconnectMaximumMs: 1e4,
173
+ maximumChangedFiles: 20,
174
+ maximumChecks: 64,
175
+ maximumEventLineBytes: 64 * 1024,
176
+ maximumResultDiffBytes: 512e3
177
+ });
178
+ var EXTERNAL_AGENT_MANAGED_PROFILE = "managed-apply-v1";
179
+ var EXTERNAL_AGENT_MODES = Object.freeze([
180
+ "inbox",
181
+ "managed"
182
+ ]);
183
+ var EXTERNAL_AGENT_CONNECTION_STATES = Object.freeze([
184
+ "disconnected",
185
+ "diagnosing",
186
+ "awaiting-consent",
187
+ "connecting",
188
+ "ready",
189
+ "busy",
190
+ "degraded",
191
+ "error",
192
+ "disconnecting"
193
+ ]);
194
+ var EXTERNAL_AGENT_AUTH_READINESS = Object.freeze([
195
+ "authenticated",
196
+ "auth-not-required",
197
+ "signed-out",
198
+ "unknown"
199
+ ]);
200
+ var EXTERNAL_AGENT_GRANT_STATES = Object.freeze([
201
+ "missing",
202
+ "valid",
203
+ "invalid"
204
+ ]);
205
+ var EXTERNAL_AGENT_DELIVERY_STATUSES = Object.freeze([
206
+ "queued",
207
+ "dispatching",
208
+ "accepted",
209
+ "unknown"
210
+ ]);
211
+ var EXTERNAL_AGENT_EXECUTION_STATUSES = Object.freeze([
212
+ "not-observable",
213
+ "started",
214
+ "terminal-succeeded",
215
+ "terminal-failed",
216
+ "interrupted",
217
+ "unknown"
218
+ ]);
219
+ var EXTERNAL_AGENT_MANAGED_PHASES = Object.freeze([
220
+ "preparing",
221
+ "running",
222
+ "auditing",
223
+ "validating",
224
+ "applying",
225
+ "completed",
226
+ "review-required",
227
+ "failed",
228
+ "cancelled",
229
+ "cleanup-warning"
230
+ ]);
231
+ var EXTERNAL_AGENT_VALIDATION_OUTCOMES = Object.freeze([
232
+ "passed",
233
+ "failed",
234
+ "not-configured",
235
+ "unavailable"
236
+ ]);
237
+ var EXTERNAL_AGENT_CHECK_OUTCOMES = Object.freeze([
238
+ "passed",
239
+ "failed",
240
+ "unavailable"
241
+ ]);
242
+ var EXTERNAL_AGENT_ERROR_CODES = Object.freeze([
243
+ "AGENT_BINARY_NOT_FOUND",
244
+ "AGENT_BINARY_UNTRUSTED",
245
+ "AGENT_VERSION_UNSUPPORTED",
246
+ "APP_SERVER_HANDSHAKE_FAILED",
247
+ "AGENT_AUTH_REQUIRED",
248
+ "AGENT_MODEL_UNAVAILABLE",
249
+ "AGENT_PROTOCOL_INCOMPATIBLE",
250
+ "CODEX_CONFIG_ISOLATION_UNSUPPORTED",
251
+ "MANAGED_GRANT_INVALID",
252
+ "MANAGED_PLATFORM_UNSUPPORTED",
253
+ "MANAGED_GIT_REQUIRED",
254
+ "MANAGED_SNAPSHOT_FAILED",
255
+ "MANAGED_SCOPE_VIOLATION",
256
+ "MANAGED_CHANGE_LIMIT_EXCEEDED",
257
+ "MANAGED_VALIDATION_FAILED",
258
+ "MANAGED_WORKSPACE_CONFLICT",
259
+ "MANAGED_APPLY_FAILED",
260
+ "MANAGED_CLEANUP_INCOMPLETE"
261
+ ]);
262
+ var EXTERNAL_AGENT_ERROR_STAGES = Object.freeze([
263
+ "integration",
264
+ "binary",
265
+ "handshake",
266
+ "auth",
267
+ "model",
268
+ "protocol",
269
+ "snapshot",
270
+ "audit",
271
+ "validation",
272
+ "apply",
273
+ "cleanup"
274
+ ]);
275
+ var EXTERNAL_AGENT_ERROR_RECOVERABILITY = Object.freeze([
276
+ "retry",
277
+ "user-action",
278
+ "reconfigure",
279
+ "none"
280
+ ]);
281
+ var EXTERNAL_AGENT_ACTIONS = Object.freeze([
282
+ "install-agent",
283
+ "use-supported-version",
284
+ "sign-in",
285
+ "choose-available-model",
286
+ "use-inbox",
287
+ "confirm-managed-access",
288
+ "review-candidate-diff",
289
+ "review-workspace-conflict",
290
+ "retry",
291
+ "inspect-cleanup-warning"
292
+ ]);
147
293
  // Annotate the CommonJS export names for ESM import in node:
148
294
  0 && (module.exports = {
149
295
  ERROR_CODES,
296
+ EXTERNAL_AGENT_ACTIONS,
297
+ EXTERNAL_AGENT_AUTH_READINESS,
298
+ EXTERNAL_AGENT_CHECK_OUTCOMES,
299
+ EXTERNAL_AGENT_CONNECTION_STATES,
300
+ EXTERNAL_AGENT_CONTROL_LIMITS,
301
+ EXTERNAL_AGENT_DELIVERY_STATUSES,
302
+ EXTERNAL_AGENT_ERROR_CODES,
303
+ EXTERNAL_AGENT_ERROR_RECOVERABILITY,
304
+ EXTERNAL_AGENT_ERROR_STAGES,
305
+ EXTERNAL_AGENT_EXECUTION_STATUSES,
306
+ EXTERNAL_AGENT_GRANT_STATES,
307
+ EXTERNAL_AGENT_MANAGED_PHASES,
308
+ EXTERNAL_AGENT_MANAGED_PROFILE,
309
+ EXTERNAL_AGENT_MODES,
310
+ EXTERNAL_AGENT_VALIDATION_OUTCOMES,
150
311
  EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS,
151
312
  EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES,
152
313
  EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/external-handoff-browser.ts","../src/protocol/external-handoff-constants.ts","../src/protocol/endpoints.ts"],"sourcesContent":["import type { ERROR_CODES as GLOBAL_ERROR_CODES } from \"./errors/error-code.js\";\nimport type { EXTERNAL_HANDOFF_LIMITS as GLOBAL_EXTERNAL_HANDOFF_LIMITS } from \"./protocol/external-handoff-constants.js\";\n\n/** Browser-reachable errors only; keeps unrelated Agent/worktree codes out of the lazy UI. */\nexport const ERROR_CODES = Object.freeze({\n INVALID_REQUEST: \"INVALID_REQUEST\",\n INVALID_TOKEN: \"INVALID_TOKEN\",\n ORIGIN_NOT_ALLOWED: \"ORIGIN_NOT_ALLOWED\",\n EXTERNAL_HANDOFF_DISABLED: \"EXTERNAL_HANDOFF_DISABLED\",\n EXTERNAL_HANDOFF_UNAVAILABLE: \"EXTERNAL_HANDOFF_UNAVAILABLE\",\n HANDOFF_VALIDATION_FAILED: \"HANDOFF_VALIDATION_FAILED\",\n HANDOFF_SOURCE_STALE: \"HANDOFF_SOURCE_STALE\",\n HANDOFF_NOT_FOUND: \"HANDOFF_NOT_FOUND\",\n HANDOFF_EXPIRED: \"HANDOFF_EXPIRED\",\n HANDOFF_CURSOR_INVALID: \"HANDOFF_CURSOR_INVALID\",\n HANDOFF_RESPONSE_TOO_LARGE: \"HANDOFF_RESPONSE_TOO_LARGE\",\n EXTERNAL_AGENT_BUSY: \"EXTERNAL_AGENT_BUSY\",\n ACTIVE_DISPATCH_INVALID: \"ACTIVE_DISPATCH_INVALID\",\n SESSION_CLOSED: \"SESSION_CLOSED\",\n INTERNAL_ERROR: \"INTERNAL_ERROR\",\n} as const satisfies Pick<\n typeof GLOBAL_ERROR_CODES,\n | \"ACTIVE_DISPATCH_INVALID\"\n | \"EXTERNAL_AGENT_BUSY\"\n | \"EXTERNAL_HANDOFF_DISABLED\"\n | \"EXTERNAL_HANDOFF_UNAVAILABLE\"\n | \"HANDOFF_CURSOR_INVALID\"\n | \"HANDOFF_EXPIRED\"\n | \"HANDOFF_NOT_FOUND\"\n | \"HANDOFF_RESPONSE_TOO_LARGE\"\n | \"HANDOFF_SOURCE_STALE\"\n | \"HANDOFF_VALIDATION_FAILED\"\n | \"INTERNAL_ERROR\"\n | \"INVALID_REQUEST\"\n | \"INVALID_TOKEN\"\n | \"ORIGIN_NOT_ALLOWED\"\n | \"SESSION_CLOSED\"\n>);\nexport type ErrorCode = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];\nconst ERROR_CODE_VALUES: readonly string[] = Object.values(ERROR_CODES);\n\nexport function isErrorCode(value: unknown): value is ErrorCode {\n return typeof value === \"string\" && ERROR_CODE_VALUES.includes(value);\n}\n\n/** Browser-consumed limits only; literal types make drift from the canonical limits fail. */\nexport const EXTERNAL_HANDOFF_LIMITS = Object.freeze({\n maximumConnectorReceipts: 64,\n maximumWaiters: 8,\n activeStatusPollMs: 1_000,\n} as const satisfies Pick<\n typeof GLOBAL_EXTERNAL_HANDOFF_LIMITS,\n \"activeStatusPollMs\" | \"maximumConnectorReceipts\" | \"maximumWaiters\"\n>);\n\nexport {\n EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS,\n EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES,\n EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION,\n EXTERNAL_HANDOFF_DISPATCH_PHASES,\n EXTERNAL_HANDOFF_FRAMEWORKS,\n EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES,\n EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION,\n EXTERNAL_HANDOFF_STATES,\n type ExternalHandoffActiveAdapterKind,\n type ExternalHandoffActiveAdapterState,\n type ExternalHandoffDispatchPhase,\n type ExternalHandoffFramework,\n type ExternalHandoffReportableDispatchPhase,\n type ExternalHandoffState,\n} from \"./protocol/external-handoff-constants.js\";\nexport { SPOTPATCH_ENDPOINTS, SPOTPATCH_TOKEN_HEADER } from \"./protocol/endpoints.js\";\nexport type {\n ActiveAdapterSummary,\n DispatchSummary,\n ExternalHandoffCapability,\n ExternalHandoffPublishDelivery,\n ExternalHandoffPublishRequest,\n ExternalHandoffPublishResult,\n ExternalHandoffResolveDeliveryRequest,\n ExternalHandoffSnapshot,\n ExternalHandoffStatusRequest,\n ExternalHandoffStatusResult,\n ExternalHandoffSummary,\n} from \"./protocol/external-handoff.js\";\nexport type { SpotAnnotation, SpotPatchLocale } from \"./model/annotation.js\";\n","export const EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION = 1 as const;\nexport const EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION = 2 as const;\nexport const EXTERNAL_HANDOFF_STATES = Object.freeze([\n \"available\",\n \"expired\",\n \"superseded\",\n] as const);\nexport const EXTERNAL_HANDOFF_FRAMEWORKS = Object.freeze([\"vite\", \"next\"] as const);\nexport const EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS = Object.freeze([\n \"claude-channel\",\n \"codex-app-server\",\n] as const);\nexport const EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES = Object.freeze([\n \"ready\",\n \"busy\",\n \"blocked\",\n] as const);\nexport const EXTERNAL_HANDOFF_DISPATCH_PHASES = Object.freeze([\n \"queued\",\n \"dispatching\",\n \"dispatched\",\n \"working\",\n \"completed\",\n \"failed\",\n \"delivery-unknown\",\n] as const);\nexport const EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES = Object.freeze([\n \"dispatching\",\n \"dispatched\",\n \"working\",\n \"completed\",\n \"failed\",\n \"delivery-unknown\",\n] as const);\n\nexport const EXTERNAL_HANDOFF_LIMITS = Object.freeze({\n maximumSnapshotBytes: 256 * 1024,\n maximumPublishBodyBytes: 256 * 1024,\n maximumBrokerRequestBytes: 8 * 1024,\n maximumDescriptorBytes: 8 * 1024,\n maximumHistorySummaries: 8,\n maximumConnectorReceipts: 64,\n handoffTtlMs: 15 * 60 * 1_000,\n defaultWaitMs: 20_000,\n maximumWaitMs: 25_000,\n maximumWaiters: 8,\n maximumDescriptorsPerScan: 32,\n maximumProjectAncestors: 64,\n maximumBrokerHeaderBytes: 8 * 1024,\n maximumBrokerSockets: 32,\n brokerDiscoveryTimeoutMs: 750,\n brokerRequestTimeoutMs: 2_000,\n brokerWaitGraceMs: 2_000,\n maximumSetupConfigBytes: 1_024 * 1_024,\n maximumRequestIdRecords: 16,\n requestIdTtlMs: 15 * 60 * 1_000,\n activeHeartbeatIntervalMs: 3_000,\n activeLeaseDurationMs: 10_000,\n activeTransportWriteTimeoutMs: 5_000,\n activeDispatchTimeoutMs: 30 * 60 * 1_000,\n activeStatusPollMs: 1_000,\n} as const);\n\nexport type ExternalHandoffState = (typeof EXTERNAL_HANDOFF_STATES)[number];\nexport type ExternalHandoffFramework = (typeof EXTERNAL_HANDOFF_FRAMEWORKS)[number];\nexport type ExternalHandoffActiveAdapterKind =\n (typeof EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS)[number];\nexport type ExternalHandoffActiveAdapterState =\n (typeof EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES)[number];\nexport type ExternalHandoffDispatchPhase =\n (typeof EXTERNAL_HANDOFF_DISPATCH_PHASES)[number];\nexport type ExternalHandoffReportableDispatchPhase =\n (typeof EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES)[number];\n","export const SPOTPATCH_API_BASE = \"/__spotpatch/v1\" as const;\nexport const SPOTPATCH_TOKEN_HEADER = \"X-SpotPatch-Token\" as const;\n\nexport const SPOTPATCH_ENDPOINTS = Object.freeze({\n bootstrap: `${SPOTPATCH_API_BASE}/bootstrap`,\n sourceContext: `${SPOTPATCH_API_BASE}/source-context`,\n openEditor: `${SPOTPATCH_API_BASE}/open-editor`,\n dataFlowComponentReport: `${SPOTPATCH_API_BASE}/data-flow/component-report`,\n dataFlowPageReport: `${SPOTPATCH_API_BASE}/data-flow/page-report`,\n agentCapability: `${SPOTPATCH_API_BASE}/agent/capability`,\n agentWorkspaceHealth: `${SPOTPATCH_API_BASE}/agent/workspace-health`,\n agentJobs: `${SPOTPATCH_API_BASE}/agent/jobs`,\n externalHandoffCapability: `${SPOTPATCH_API_BASE}/external-handoff/capability`,\n externalHandoffPublish: `${SPOTPATCH_API_BASE}/external-handoff/publish`,\n externalHandoffStatus: `${SPOTPATCH_API_BASE}/external-handoff/status`,\n externalHandoffResolveDelivery: `${SPOTPATCH_API_BASE}/external-handoff/resolve-delivery`,\n});\n\nexport type AgentJobAction = \"events\" | \"result\" | \"cancel\" | \"apply\" | \"revert\";\n\nexport function getAgentJobEndpoint(jobId: string, action: AgentJobAction): string {\n return `${SPOTPATCH_ENDPOINTS.agentJobs}/${encodeURIComponent(jobId)}/${action}`;\n}\n"],"mappings":"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","names":["EXTERNAL_HANDOFF_LIMITS","EXTERNAL_HANDOFF_LIMITS"]}
1
+ {"version":3,"sources":["../src/external-handoff-browser.ts","../src/protocol/external-handoff-constants.ts","../src/protocol/endpoints.ts"],"sourcesContent":["import type { ERROR_CODES as GLOBAL_ERROR_CODES } from \"./errors/error-code.js\";\nimport type {\n EXTERNAL_AGENT_ACTIONS as GLOBAL_EXTERNAL_AGENT_ACTIONS,\n EXTERNAL_AGENT_AUTH_READINESS as GLOBAL_EXTERNAL_AGENT_AUTH_READINESS,\n EXTERNAL_AGENT_CHECK_OUTCOMES as GLOBAL_EXTERNAL_AGENT_CHECK_OUTCOMES,\n EXTERNAL_AGENT_CONNECTION_STATES as GLOBAL_EXTERNAL_AGENT_CONNECTION_STATES,\n EXTERNAL_AGENT_CONTROL_LIMITS as GLOBAL_EXTERNAL_AGENT_CONTROL_LIMITS,\n EXTERNAL_AGENT_DELIVERY_STATUSES as GLOBAL_EXTERNAL_AGENT_DELIVERY_STATUSES,\n EXTERNAL_AGENT_ERROR_CODES as GLOBAL_EXTERNAL_AGENT_ERROR_CODES,\n EXTERNAL_AGENT_ERROR_RECOVERABILITY as GLOBAL_EXTERNAL_AGENT_ERROR_RECOVERABILITY,\n EXTERNAL_AGENT_ERROR_STAGES as GLOBAL_EXTERNAL_AGENT_ERROR_STAGES,\n EXTERNAL_AGENT_EXECUTION_STATUSES as GLOBAL_EXTERNAL_AGENT_EXECUTION_STATUSES,\n EXTERNAL_AGENT_GRANT_STATES as GLOBAL_EXTERNAL_AGENT_GRANT_STATES,\n EXTERNAL_AGENT_MANAGED_PROFILE as GLOBAL_EXTERNAL_AGENT_MANAGED_PROFILE,\n EXTERNAL_AGENT_MANAGED_PHASES as GLOBAL_EXTERNAL_AGENT_MANAGED_PHASES,\n EXTERNAL_AGENT_MODES as GLOBAL_EXTERNAL_AGENT_MODES,\n EXTERNAL_AGENT_VALIDATION_OUTCOMES as GLOBAL_EXTERNAL_AGENT_VALIDATION_OUTCOMES,\n} from \"./protocol/external-agent-control.js\";\nimport type { EXTERNAL_HANDOFF_LIMITS as GLOBAL_EXTERNAL_HANDOFF_LIMITS } from \"./protocol/external-handoff-constants.js\";\n\n/** Browser-reachable errors only; keeps unrelated Agent/worktree codes out of the lazy UI. */\nexport const ERROR_CODES = Object.freeze({\n INVALID_REQUEST: \"INVALID_REQUEST\",\n INVALID_TOKEN: \"INVALID_TOKEN\",\n ORIGIN_NOT_ALLOWED: \"ORIGIN_NOT_ALLOWED\",\n EXTERNAL_HANDOFF_DISABLED: \"EXTERNAL_HANDOFF_DISABLED\",\n EXTERNAL_HANDOFF_UNAVAILABLE: \"EXTERNAL_HANDOFF_UNAVAILABLE\",\n HANDOFF_VALIDATION_FAILED: \"HANDOFF_VALIDATION_FAILED\",\n HANDOFF_SOURCE_STALE: \"HANDOFF_SOURCE_STALE\",\n HANDOFF_NOT_FOUND: \"HANDOFF_NOT_FOUND\",\n HANDOFF_EXPIRED: \"HANDOFF_EXPIRED\",\n HANDOFF_CURSOR_INVALID: \"HANDOFF_CURSOR_INVALID\",\n HANDOFF_RESPONSE_TOO_LARGE: \"HANDOFF_RESPONSE_TOO_LARGE\",\n EXTERNAL_AGENT_BUSY: \"EXTERNAL_AGENT_BUSY\",\n ACTIVE_DISPATCH_INVALID: \"ACTIVE_DISPATCH_INVALID\",\n SESSION_CLOSED: \"SESSION_CLOSED\",\n INTERNAL_ERROR: \"INTERNAL_ERROR\",\n} as const satisfies Pick<\n typeof GLOBAL_ERROR_CODES,\n | \"ACTIVE_DISPATCH_INVALID\"\n | \"EXTERNAL_AGENT_BUSY\"\n | \"EXTERNAL_HANDOFF_DISABLED\"\n | \"EXTERNAL_HANDOFF_UNAVAILABLE\"\n | \"HANDOFF_CURSOR_INVALID\"\n | \"HANDOFF_EXPIRED\"\n | \"HANDOFF_NOT_FOUND\"\n | \"HANDOFF_RESPONSE_TOO_LARGE\"\n | \"HANDOFF_SOURCE_STALE\"\n | \"HANDOFF_VALIDATION_FAILED\"\n | \"INTERNAL_ERROR\"\n | \"INVALID_REQUEST\"\n | \"INVALID_TOKEN\"\n | \"ORIGIN_NOT_ALLOWED\"\n | \"SESSION_CLOSED\"\n>);\nexport type ErrorCode = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];\nconst ERROR_CODE_VALUES: readonly string[] = Object.values(ERROR_CODES);\n\nexport function isErrorCode(value: unknown): value is ErrorCode {\n return typeof value === \"string\" && ERROR_CODE_VALUES.includes(value);\n}\n\n/** Browser-consumed limits only; literal types make drift from the canonical limits fail. */\nexport const EXTERNAL_HANDOFF_LIMITS = Object.freeze({\n maximumConnectorReceipts: 64,\n maximumWaiters: 8,\n activeStatusPollMs: 1_000,\n} as const satisfies Pick<\n typeof GLOBAL_EXTERNAL_HANDOFF_LIMITS,\n \"activeStatusPollMs\" | \"maximumConnectorReceipts\" | \"maximumWaiters\"\n>);\n\nexport const EXTERNAL_AGENT_CONTROL_LIMITS = Object.freeze({\n maximumEventSubscribers: 4,\n eventHeartbeatMs: 15_000,\n eventReconnectMinimumMs: 500,\n eventReconnectMaximumMs: 10_000,\n maximumChangedFiles: 20,\n maximumChecks: 64,\n maximumEventLineBytes: 64 * 1_024,\n maximumResultDiffBytes: 512_000,\n} as const satisfies typeof GLOBAL_EXTERNAL_AGENT_CONTROL_LIMITS);\nexport const EXTERNAL_AGENT_MANAGED_PROFILE =\n \"managed-apply-v1\" as const satisfies typeof GLOBAL_EXTERNAL_AGENT_MANAGED_PROFILE;\n\n/** Browser-safe literal projections; type-only checks prevent protocol drift without Zod. */\nexport const EXTERNAL_AGENT_MODES = Object.freeze([\n \"inbox\",\n \"managed\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_MODES);\nexport const EXTERNAL_AGENT_CONNECTION_STATES = Object.freeze([\n \"disconnected\",\n \"diagnosing\",\n \"awaiting-consent\",\n \"connecting\",\n \"ready\",\n \"busy\",\n \"degraded\",\n \"error\",\n \"disconnecting\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_CONNECTION_STATES);\nexport const EXTERNAL_AGENT_AUTH_READINESS = Object.freeze([\n \"authenticated\",\n \"auth-not-required\",\n \"signed-out\",\n \"unknown\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_AUTH_READINESS);\nexport const EXTERNAL_AGENT_GRANT_STATES = Object.freeze([\n \"missing\",\n \"valid\",\n \"invalid\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_GRANT_STATES);\nexport const EXTERNAL_AGENT_DELIVERY_STATUSES = Object.freeze([\n \"queued\",\n \"dispatching\",\n \"accepted\",\n \"unknown\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_DELIVERY_STATUSES);\nexport const EXTERNAL_AGENT_EXECUTION_STATUSES = Object.freeze([\n \"not-observable\",\n \"started\",\n \"terminal-succeeded\",\n \"terminal-failed\",\n \"interrupted\",\n \"unknown\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_EXECUTION_STATUSES);\nexport const EXTERNAL_AGENT_MANAGED_PHASES = Object.freeze([\n \"preparing\",\n \"running\",\n \"auditing\",\n \"validating\",\n \"applying\",\n \"completed\",\n \"review-required\",\n \"failed\",\n \"cancelled\",\n \"cleanup-warning\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_MANAGED_PHASES);\nexport const EXTERNAL_AGENT_VALIDATION_OUTCOMES = Object.freeze([\n \"passed\",\n \"failed\",\n \"not-configured\",\n \"unavailable\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_VALIDATION_OUTCOMES);\nexport const EXTERNAL_AGENT_CHECK_OUTCOMES = Object.freeze([\n \"passed\",\n \"failed\",\n \"unavailable\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_CHECK_OUTCOMES);\nexport const EXTERNAL_AGENT_ERROR_CODES = Object.freeze([\n \"AGENT_BINARY_NOT_FOUND\",\n \"AGENT_BINARY_UNTRUSTED\",\n \"AGENT_VERSION_UNSUPPORTED\",\n \"APP_SERVER_HANDSHAKE_FAILED\",\n \"AGENT_AUTH_REQUIRED\",\n \"AGENT_MODEL_UNAVAILABLE\",\n \"AGENT_PROTOCOL_INCOMPATIBLE\",\n \"CODEX_CONFIG_ISOLATION_UNSUPPORTED\",\n \"MANAGED_GRANT_INVALID\",\n \"MANAGED_PLATFORM_UNSUPPORTED\",\n \"MANAGED_GIT_REQUIRED\",\n \"MANAGED_SNAPSHOT_FAILED\",\n \"MANAGED_SCOPE_VIOLATION\",\n \"MANAGED_CHANGE_LIMIT_EXCEEDED\",\n \"MANAGED_VALIDATION_FAILED\",\n \"MANAGED_WORKSPACE_CONFLICT\",\n \"MANAGED_APPLY_FAILED\",\n \"MANAGED_CLEANUP_INCOMPLETE\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_ERROR_CODES);\nexport const EXTERNAL_AGENT_ERROR_STAGES = Object.freeze([\n \"integration\",\n \"binary\",\n \"handshake\",\n \"auth\",\n \"model\",\n \"protocol\",\n \"snapshot\",\n \"audit\",\n \"validation\",\n \"apply\",\n \"cleanup\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_ERROR_STAGES);\nexport const EXTERNAL_AGENT_ERROR_RECOVERABILITY = Object.freeze([\n \"retry\",\n \"user-action\",\n \"reconfigure\",\n \"none\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_ERROR_RECOVERABILITY);\nexport const EXTERNAL_AGENT_ACTIONS = Object.freeze([\n \"install-agent\",\n \"use-supported-version\",\n \"sign-in\",\n \"choose-available-model\",\n \"use-inbox\",\n \"confirm-managed-access\",\n \"review-candidate-diff\",\n \"review-workspace-conflict\",\n \"retry\",\n \"inspect-cleanup-warning\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_ACTIONS);\n\nexport {\n EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS,\n EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES,\n EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION,\n EXTERNAL_HANDOFF_DISPATCH_PHASES,\n EXTERNAL_HANDOFF_FRAMEWORKS,\n EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES,\n EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION,\n EXTERNAL_HANDOFF_STATES,\n type ExternalHandoffActiveAdapterKind,\n type ExternalHandoffActiveAdapterState,\n type ExternalHandoffDispatchPhase,\n type ExternalHandoffFramework,\n type ExternalHandoffReportableDispatchPhase,\n type ExternalHandoffState,\n} from \"./protocol/external-handoff-constants.js\";\nexport { SPOTPATCH_ENDPOINTS, SPOTPATCH_TOKEN_HEADER } from \"./protocol/endpoints.js\";\nexport type {\n ExternalAgentAction,\n ExternalAgentConnectionState,\n ExternalAgentControlCancelRequest,\n ExternalAgentControlConnectRequest,\n ExternalAgentControlDisconnectRequest,\n ExternalAgentControlStatus,\n ExternalAgentErrorCode,\n ExternalAgentEvent,\n ExternalAgentEventsRequest,\n ExternalAgentManagedResult,\n ExternalAgentResultRequest,\n} from \"./protocol/external-agent-control.js\";\nexport type {\n ActiveAdapterSummary,\n DispatchSummary,\n ExternalHandoffCapability,\n ExternalHandoffPublishDelivery,\n ExternalHandoffPublishRequest,\n ExternalHandoffPublishResult,\n ExternalHandoffResolveDeliveryRequest,\n ExternalHandoffSnapshot,\n ExternalHandoffStatusRequest,\n ExternalHandoffStatusResult,\n ExternalHandoffSummary,\n} from \"./protocol/external-handoff.js\";\nexport type { SpotAnnotation, SpotPatchLocale } from \"./model/annotation.js\";\n","export const EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION = 1 as const;\nexport const EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION = 2 as const;\nexport const EXTERNAL_HANDOFF_STATES = Object.freeze([\n \"available\",\n \"expired\",\n \"superseded\",\n] as const);\nexport const EXTERNAL_HANDOFF_FRAMEWORKS = Object.freeze([\"vite\", \"next\"] as const);\nexport const EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS = Object.freeze([\n \"claude-channel\",\n \"codex-app-server\",\n] as const);\nexport const EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES = Object.freeze([\n \"ready\",\n \"busy\",\n \"blocked\",\n] as const);\nexport const EXTERNAL_HANDOFF_DISPATCH_PHASES = Object.freeze([\n \"queued\",\n \"dispatching\",\n \"dispatched\",\n \"working\",\n \"completed\",\n \"failed\",\n \"delivery-unknown\",\n] as const);\nexport const EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES = Object.freeze([\n \"dispatching\",\n \"dispatched\",\n \"working\",\n \"completed\",\n \"failed\",\n \"delivery-unknown\",\n] as const);\n\nexport const EXTERNAL_HANDOFF_LIMITS = Object.freeze({\n maximumSnapshotBytes: 256 * 1024,\n maximumPublishBodyBytes: 256 * 1024,\n maximumBrokerRequestBytes: 8 * 1024,\n maximumDescriptorBytes: 8 * 1024,\n maximumHistorySummaries: 8,\n maximumConnectorReceipts: 64,\n handoffTtlMs: 15 * 60 * 1_000,\n defaultWaitMs: 20_000,\n maximumWaitMs: 25_000,\n maximumWaiters: 8,\n maximumDescriptorsPerScan: 32,\n maximumProjectAncestors: 64,\n maximumBrokerHeaderBytes: 8 * 1024,\n maximumBrokerSockets: 32,\n brokerDiscoveryTimeoutMs: 750,\n brokerRequestTimeoutMs: 2_000,\n brokerWaitGraceMs: 2_000,\n maximumSetupConfigBytes: 1_024 * 1_024,\n maximumRequestIdRecords: 16,\n requestIdTtlMs: 15 * 60 * 1_000,\n activeHeartbeatIntervalMs: 3_000,\n activeLeaseDurationMs: 10_000,\n activeTransportWriteTimeoutMs: 5_000,\n activeDispatchTimeoutMs: 30 * 60 * 1_000,\n activeStatusPollMs: 1_000,\n} as const);\n\nexport type ExternalHandoffState = (typeof EXTERNAL_HANDOFF_STATES)[number];\nexport type ExternalHandoffFramework = (typeof EXTERNAL_HANDOFF_FRAMEWORKS)[number];\nexport type ExternalHandoffActiveAdapterKind =\n (typeof EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS)[number];\nexport type ExternalHandoffActiveAdapterState =\n (typeof EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES)[number];\nexport type ExternalHandoffDispatchPhase =\n (typeof EXTERNAL_HANDOFF_DISPATCH_PHASES)[number];\nexport type ExternalHandoffReportableDispatchPhase =\n (typeof EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES)[number];\n","export const SPOTPATCH_API_BASE = \"/__spotpatch/v1\" as const;\nexport const SPOTPATCH_TOKEN_HEADER = \"X-SpotPatch-Token\" as const;\n\nexport const SPOTPATCH_ENDPOINTS = Object.freeze({\n bootstrap: `${SPOTPATCH_API_BASE}/bootstrap`,\n sourceContext: `${SPOTPATCH_API_BASE}/source-context`,\n openEditor: `${SPOTPATCH_API_BASE}/open-editor`,\n dataFlowComponentReport: `${SPOTPATCH_API_BASE}/data-flow/component-report`,\n dataFlowPageReport: `${SPOTPATCH_API_BASE}/data-flow/page-report`,\n agentCapability: `${SPOTPATCH_API_BASE}/agent/capability`,\n agentWorkspaceHealth: `${SPOTPATCH_API_BASE}/agent/workspace-health`,\n agentJobs: `${SPOTPATCH_API_BASE}/agent/jobs`,\n externalHandoffCapability: `${SPOTPATCH_API_BASE}/external-handoff/capability`,\n externalHandoffPublish: `${SPOTPATCH_API_BASE}/external-handoff/publish`,\n externalHandoffStatus: `${SPOTPATCH_API_BASE}/external-handoff/status`,\n externalHandoffResolveDelivery: `${SPOTPATCH_API_BASE}/external-handoff/resolve-delivery`,\n externalAgentControlStatus: `${SPOTPATCH_API_BASE}/external-agent/control/status`,\n externalAgentControlConnect: `${SPOTPATCH_API_BASE}/external-agent/control/connect`,\n externalAgentControlDisconnect: `${SPOTPATCH_API_BASE}/external-agent/control/disconnect`,\n externalAgentControlCancel: `${SPOTPATCH_API_BASE}/external-agent/control/cancel`,\n externalAgentEvents: `${SPOTPATCH_API_BASE}/external-agent/events`,\n externalAgentResult: `${SPOTPATCH_API_BASE}/external-agent/result`,\n});\n\nexport type AgentJobAction = \"events\" | \"result\" | \"cancel\" | \"apply\" | \"revert\";\n\nexport function getAgentJobEndpoint(jobId: string, action: AgentJobAction): string {\n return `${SPOTPATCH_ENDPOINTS.agentJobs}/${encodeURIComponent(jobId)}/${action}`;\n}\n"],"mappings":"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","names":["EXTERNAL_HANDOFF_LIMITS","EXTERNAL_HANDOFF_LIMITS"]}
@@ -1,5 +1,6 @@
1
- export { A as ActiveAdapterSummary, D as DispatchSummary, b as EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS, c as EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES, d as EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION, e as EXTERNAL_HANDOFF_DISPATCH_PHASES, f as EXTERNAL_HANDOFF_FRAMEWORKS, g as EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES, h as EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION, i as EXTERNAL_HANDOFF_STATES, j as ExternalHandoffActiveAdapterKind, k as ExternalHandoffActiveAdapterState, l as ExternalHandoffCapability, m as ExternalHandoffDispatchPhase, n as ExternalHandoffFramework, o as ExternalHandoffPublishDelivery, p as ExternalHandoffPublishRequest, q as ExternalHandoffPublishResult, r as ExternalHandoffReportableDispatchPhase, s as ExternalHandoffResolveDeliveryRequest, a as ExternalHandoffSnapshot, t as ExternalHandoffState, u as ExternalHandoffStatusRequest, v as ExternalHandoffStatusResult, w as ExternalHandoffSummary, S as SpotAnnotation, x as SpotPatchLocale } from './external-handoff-CWoooqhp.cjs';
2
- export { S as SPOTPATCH_ENDPOINTS, a as SPOTPATCH_TOKEN_HEADER } from './endpoints-BT-Bl1WS.cjs';
1
+ export { A as ActiveAdapterSummary, D as DispatchSummary, b as EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS, c as EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES, d as EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION, e as EXTERNAL_HANDOFF_DISPATCH_PHASES, f as EXTERNAL_HANDOFF_FRAMEWORKS, g as EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES, h as EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION, i as EXTERNAL_HANDOFF_STATES, j as ExternalHandoffActiveAdapterKind, k as ExternalHandoffActiveAdapterState, l as ExternalHandoffCapability, m as ExternalHandoffDispatchPhase, n as ExternalHandoffFramework, o as ExternalHandoffPublishDelivery, p as ExternalHandoffPublishRequest, q as ExternalHandoffPublishResult, r as ExternalHandoffReportableDispatchPhase, s as ExternalHandoffResolveDeliveryRequest, a as ExternalHandoffSnapshot, t as ExternalHandoffState, u as ExternalHandoffStatusRequest, v as ExternalHandoffStatusResult, w as ExternalHandoffSummary, S as SpotAnnotation, x as SpotPatchLocale } from './external-handoff--lT9XQEw.cjs';
2
+ export { S as SPOTPATCH_ENDPOINTS, a as SPOTPATCH_TOKEN_HEADER } from './endpoints-GedF44M2.cjs';
3
+ export { E as ExternalAgentAction, a as ExternalAgentConnectionState, b as ExternalAgentControlCancelRequest, c as ExternalAgentControlConnectRequest, d as ExternalAgentControlDisconnectRequest, e as ExternalAgentControlStatus, f as ExternalAgentErrorCode, g as ExternalAgentEvent, h as ExternalAgentEventsRequest, i as ExternalAgentManagedResult, j as ExternalAgentResultRequest } from './external-agent-control-BB-oicmw.cjs';
3
4
  import 'zod';
4
5
 
5
6
  /** Browser-reachable errors only; keeps unrelated Agent/worktree codes out of the lazy UI. */
@@ -28,5 +29,30 @@ declare const EXTERNAL_HANDOFF_LIMITS: Readonly<{
28
29
  readonly maximumWaiters: 8;
29
30
  readonly activeStatusPollMs: 1000;
30
31
  }>;
32
+ declare const EXTERNAL_AGENT_CONTROL_LIMITS: Readonly<{
33
+ readonly maximumEventSubscribers: 4;
34
+ readonly eventHeartbeatMs: 15000;
35
+ readonly eventReconnectMinimumMs: 500;
36
+ readonly eventReconnectMaximumMs: 10000;
37
+ readonly maximumChangedFiles: 20;
38
+ readonly maximumChecks: 64;
39
+ readonly maximumEventLineBytes: number;
40
+ readonly maximumResultDiffBytes: 512000;
41
+ }>;
42
+ declare const EXTERNAL_AGENT_MANAGED_PROFILE: "managed-apply-v1";
43
+ /** Browser-safe literal projections; type-only checks prevent protocol drift without Zod. */
44
+ declare const EXTERNAL_AGENT_MODES: readonly ["inbox", "managed"];
45
+ declare const EXTERNAL_AGENT_CONNECTION_STATES: readonly ["disconnected", "diagnosing", "awaiting-consent", "connecting", "ready", "busy", "degraded", "error", "disconnecting"];
46
+ declare const EXTERNAL_AGENT_AUTH_READINESS: readonly ["authenticated", "auth-not-required", "signed-out", "unknown"];
47
+ declare const EXTERNAL_AGENT_GRANT_STATES: readonly ["missing", "valid", "invalid"];
48
+ declare const EXTERNAL_AGENT_DELIVERY_STATUSES: readonly ["queued", "dispatching", "accepted", "unknown"];
49
+ declare const EXTERNAL_AGENT_EXECUTION_STATUSES: readonly ["not-observable", "started", "terminal-succeeded", "terminal-failed", "interrupted", "unknown"];
50
+ declare const EXTERNAL_AGENT_MANAGED_PHASES: readonly ["preparing", "running", "auditing", "validating", "applying", "completed", "review-required", "failed", "cancelled", "cleanup-warning"];
51
+ declare const EXTERNAL_AGENT_VALIDATION_OUTCOMES: readonly ["passed", "failed", "not-configured", "unavailable"];
52
+ declare const EXTERNAL_AGENT_CHECK_OUTCOMES: readonly ["passed", "failed", "unavailable"];
53
+ declare const EXTERNAL_AGENT_ERROR_CODES: readonly ["AGENT_BINARY_NOT_FOUND", "AGENT_BINARY_UNTRUSTED", "AGENT_VERSION_UNSUPPORTED", "APP_SERVER_HANDSHAKE_FAILED", "AGENT_AUTH_REQUIRED", "AGENT_MODEL_UNAVAILABLE", "AGENT_PROTOCOL_INCOMPATIBLE", "CODEX_CONFIG_ISOLATION_UNSUPPORTED", "MANAGED_GRANT_INVALID", "MANAGED_PLATFORM_UNSUPPORTED", "MANAGED_GIT_REQUIRED", "MANAGED_SNAPSHOT_FAILED", "MANAGED_SCOPE_VIOLATION", "MANAGED_CHANGE_LIMIT_EXCEEDED", "MANAGED_VALIDATION_FAILED", "MANAGED_WORKSPACE_CONFLICT", "MANAGED_APPLY_FAILED", "MANAGED_CLEANUP_INCOMPLETE"];
54
+ declare const EXTERNAL_AGENT_ERROR_STAGES: readonly ["integration", "binary", "handshake", "auth", "model", "protocol", "snapshot", "audit", "validation", "apply", "cleanup"];
55
+ declare const EXTERNAL_AGENT_ERROR_RECOVERABILITY: readonly ["retry", "user-action", "reconfigure", "none"];
56
+ declare const EXTERNAL_AGENT_ACTIONS: readonly ["install-agent", "use-supported-version", "sign-in", "choose-available-model", "use-inbox", "confirm-managed-access", "review-candidate-diff", "review-workspace-conflict", "retry", "inspect-cleanup-warning"];
31
57
 
32
- export { ERROR_CODES, EXTERNAL_HANDOFF_LIMITS, type ErrorCode, isErrorCode };
58
+ export { ERROR_CODES, EXTERNAL_AGENT_ACTIONS, EXTERNAL_AGENT_AUTH_READINESS, EXTERNAL_AGENT_CHECK_OUTCOMES, EXTERNAL_AGENT_CONNECTION_STATES, EXTERNAL_AGENT_CONTROL_LIMITS, EXTERNAL_AGENT_DELIVERY_STATUSES, EXTERNAL_AGENT_ERROR_CODES, EXTERNAL_AGENT_ERROR_RECOVERABILITY, EXTERNAL_AGENT_ERROR_STAGES, EXTERNAL_AGENT_EXECUTION_STATUSES, EXTERNAL_AGENT_GRANT_STATES, EXTERNAL_AGENT_MANAGED_PHASES, EXTERNAL_AGENT_MANAGED_PROFILE, EXTERNAL_AGENT_MODES, EXTERNAL_AGENT_VALIDATION_OUTCOMES, EXTERNAL_HANDOFF_LIMITS, type ErrorCode, isErrorCode };
@@ -1,5 +1,6 @@
1
- export { A as ActiveAdapterSummary, D as DispatchSummary, b as EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS, c as EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES, d as EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION, e as EXTERNAL_HANDOFF_DISPATCH_PHASES, f as EXTERNAL_HANDOFF_FRAMEWORKS, g as EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES, h as EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION, i as EXTERNAL_HANDOFF_STATES, j as ExternalHandoffActiveAdapterKind, k as ExternalHandoffActiveAdapterState, l as ExternalHandoffCapability, m as ExternalHandoffDispatchPhase, n as ExternalHandoffFramework, o as ExternalHandoffPublishDelivery, p as ExternalHandoffPublishRequest, q as ExternalHandoffPublishResult, r as ExternalHandoffReportableDispatchPhase, s as ExternalHandoffResolveDeliveryRequest, a as ExternalHandoffSnapshot, t as ExternalHandoffState, u as ExternalHandoffStatusRequest, v as ExternalHandoffStatusResult, w as ExternalHandoffSummary, S as SpotAnnotation, x as SpotPatchLocale } from './external-handoff-CWoooqhp.js';
2
- export { S as SPOTPATCH_ENDPOINTS, a as SPOTPATCH_TOKEN_HEADER } from './endpoints-BT-Bl1WS.js';
1
+ export { A as ActiveAdapterSummary, D as DispatchSummary, b as EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS, c as EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES, d as EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION, e as EXTERNAL_HANDOFF_DISPATCH_PHASES, f as EXTERNAL_HANDOFF_FRAMEWORKS, g as EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES, h as EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION, i as EXTERNAL_HANDOFF_STATES, j as ExternalHandoffActiveAdapterKind, k as ExternalHandoffActiveAdapterState, l as ExternalHandoffCapability, m as ExternalHandoffDispatchPhase, n as ExternalHandoffFramework, o as ExternalHandoffPublishDelivery, p as ExternalHandoffPublishRequest, q as ExternalHandoffPublishResult, r as ExternalHandoffReportableDispatchPhase, s as ExternalHandoffResolveDeliveryRequest, a as ExternalHandoffSnapshot, t as ExternalHandoffState, u as ExternalHandoffStatusRequest, v as ExternalHandoffStatusResult, w as ExternalHandoffSummary, S as SpotAnnotation, x as SpotPatchLocale } from './external-handoff--lT9XQEw.js';
2
+ export { S as SPOTPATCH_ENDPOINTS, a as SPOTPATCH_TOKEN_HEADER } from './endpoints-GedF44M2.js';
3
+ export { E as ExternalAgentAction, a as ExternalAgentConnectionState, b as ExternalAgentControlCancelRequest, c as ExternalAgentControlConnectRequest, d as ExternalAgentControlDisconnectRequest, e as ExternalAgentControlStatus, f as ExternalAgentErrorCode, g as ExternalAgentEvent, h as ExternalAgentEventsRequest, i as ExternalAgentManagedResult, j as ExternalAgentResultRequest } from './external-agent-control-BB-oicmw.js';
3
4
  import 'zod';
4
5
 
5
6
  /** Browser-reachable errors only; keeps unrelated Agent/worktree codes out of the lazy UI. */
@@ -28,5 +29,30 @@ declare const EXTERNAL_HANDOFF_LIMITS: Readonly<{
28
29
  readonly maximumWaiters: 8;
29
30
  readonly activeStatusPollMs: 1000;
30
31
  }>;
32
+ declare const EXTERNAL_AGENT_CONTROL_LIMITS: Readonly<{
33
+ readonly maximumEventSubscribers: 4;
34
+ readonly eventHeartbeatMs: 15000;
35
+ readonly eventReconnectMinimumMs: 500;
36
+ readonly eventReconnectMaximumMs: 10000;
37
+ readonly maximumChangedFiles: 20;
38
+ readonly maximumChecks: 64;
39
+ readonly maximumEventLineBytes: number;
40
+ readonly maximumResultDiffBytes: 512000;
41
+ }>;
42
+ declare const EXTERNAL_AGENT_MANAGED_PROFILE: "managed-apply-v1";
43
+ /** Browser-safe literal projections; type-only checks prevent protocol drift without Zod. */
44
+ declare const EXTERNAL_AGENT_MODES: readonly ["inbox", "managed"];
45
+ declare const EXTERNAL_AGENT_CONNECTION_STATES: readonly ["disconnected", "diagnosing", "awaiting-consent", "connecting", "ready", "busy", "degraded", "error", "disconnecting"];
46
+ declare const EXTERNAL_AGENT_AUTH_READINESS: readonly ["authenticated", "auth-not-required", "signed-out", "unknown"];
47
+ declare const EXTERNAL_AGENT_GRANT_STATES: readonly ["missing", "valid", "invalid"];
48
+ declare const EXTERNAL_AGENT_DELIVERY_STATUSES: readonly ["queued", "dispatching", "accepted", "unknown"];
49
+ declare const EXTERNAL_AGENT_EXECUTION_STATUSES: readonly ["not-observable", "started", "terminal-succeeded", "terminal-failed", "interrupted", "unknown"];
50
+ declare const EXTERNAL_AGENT_MANAGED_PHASES: readonly ["preparing", "running", "auditing", "validating", "applying", "completed", "review-required", "failed", "cancelled", "cleanup-warning"];
51
+ declare const EXTERNAL_AGENT_VALIDATION_OUTCOMES: readonly ["passed", "failed", "not-configured", "unavailable"];
52
+ declare const EXTERNAL_AGENT_CHECK_OUTCOMES: readonly ["passed", "failed", "unavailable"];
53
+ declare const EXTERNAL_AGENT_ERROR_CODES: readonly ["AGENT_BINARY_NOT_FOUND", "AGENT_BINARY_UNTRUSTED", "AGENT_VERSION_UNSUPPORTED", "APP_SERVER_HANDSHAKE_FAILED", "AGENT_AUTH_REQUIRED", "AGENT_MODEL_UNAVAILABLE", "AGENT_PROTOCOL_INCOMPATIBLE", "CODEX_CONFIG_ISOLATION_UNSUPPORTED", "MANAGED_GRANT_INVALID", "MANAGED_PLATFORM_UNSUPPORTED", "MANAGED_GIT_REQUIRED", "MANAGED_SNAPSHOT_FAILED", "MANAGED_SCOPE_VIOLATION", "MANAGED_CHANGE_LIMIT_EXCEEDED", "MANAGED_VALIDATION_FAILED", "MANAGED_WORKSPACE_CONFLICT", "MANAGED_APPLY_FAILED", "MANAGED_CLEANUP_INCOMPLETE"];
54
+ declare const EXTERNAL_AGENT_ERROR_STAGES: readonly ["integration", "binary", "handshake", "auth", "model", "protocol", "snapshot", "audit", "validation", "apply", "cleanup"];
55
+ declare const EXTERNAL_AGENT_ERROR_RECOVERABILITY: readonly ["retry", "user-action", "reconfigure", "none"];
56
+ declare const EXTERNAL_AGENT_ACTIONS: readonly ["install-agent", "use-supported-version", "sign-in", "choose-available-model", "use-inbox", "confirm-managed-access", "review-candidate-diff", "review-workspace-conflict", "retry", "inspect-cleanup-warning"];
31
57
 
32
- export { ERROR_CODES, EXTERNAL_HANDOFF_LIMITS, type ErrorCode, isErrorCode };
58
+ export { ERROR_CODES, EXTERNAL_AGENT_ACTIONS, EXTERNAL_AGENT_AUTH_READINESS, EXTERNAL_AGENT_CHECK_OUTCOMES, EXTERNAL_AGENT_CONNECTION_STATES, EXTERNAL_AGENT_CONTROL_LIMITS, EXTERNAL_AGENT_DELIVERY_STATUSES, EXTERNAL_AGENT_ERROR_CODES, EXTERNAL_AGENT_ERROR_RECOVERABILITY, EXTERNAL_AGENT_ERROR_STAGES, EXTERNAL_AGENT_EXECUTION_STATUSES, EXTERNAL_AGENT_GRANT_STATES, EXTERNAL_AGENT_MANAGED_PHASES, EXTERNAL_AGENT_MANAGED_PROFILE, EXTERNAL_AGENT_MODES, EXTERNAL_AGENT_VALIDATION_OUTCOMES, EXTERNAL_HANDOFF_LIMITS, type ErrorCode, isErrorCode };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SPOTPATCH_ENDPOINTS,
3
3
  SPOTPATCH_TOKEN_HEADER
4
- } from "./chunk-ZCG3DLSW.js";
4
+ } from "./chunk-JGOIBOFI.js";
5
5
  import {
6
6
  EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS,
7
7
  EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES,
@@ -40,8 +40,148 @@ var EXTERNAL_HANDOFF_LIMITS = Object.freeze({
40
40
  maximumWaiters: 8,
41
41
  activeStatusPollMs: 1e3
42
42
  });
43
+ var EXTERNAL_AGENT_CONTROL_LIMITS = Object.freeze({
44
+ maximumEventSubscribers: 4,
45
+ eventHeartbeatMs: 15e3,
46
+ eventReconnectMinimumMs: 500,
47
+ eventReconnectMaximumMs: 1e4,
48
+ maximumChangedFiles: 20,
49
+ maximumChecks: 64,
50
+ maximumEventLineBytes: 64 * 1024,
51
+ maximumResultDiffBytes: 512e3
52
+ });
53
+ var EXTERNAL_AGENT_MANAGED_PROFILE = "managed-apply-v1";
54
+ var EXTERNAL_AGENT_MODES = Object.freeze([
55
+ "inbox",
56
+ "managed"
57
+ ]);
58
+ var EXTERNAL_AGENT_CONNECTION_STATES = Object.freeze([
59
+ "disconnected",
60
+ "diagnosing",
61
+ "awaiting-consent",
62
+ "connecting",
63
+ "ready",
64
+ "busy",
65
+ "degraded",
66
+ "error",
67
+ "disconnecting"
68
+ ]);
69
+ var EXTERNAL_AGENT_AUTH_READINESS = Object.freeze([
70
+ "authenticated",
71
+ "auth-not-required",
72
+ "signed-out",
73
+ "unknown"
74
+ ]);
75
+ var EXTERNAL_AGENT_GRANT_STATES = Object.freeze([
76
+ "missing",
77
+ "valid",
78
+ "invalid"
79
+ ]);
80
+ var EXTERNAL_AGENT_DELIVERY_STATUSES = Object.freeze([
81
+ "queued",
82
+ "dispatching",
83
+ "accepted",
84
+ "unknown"
85
+ ]);
86
+ var EXTERNAL_AGENT_EXECUTION_STATUSES = Object.freeze([
87
+ "not-observable",
88
+ "started",
89
+ "terminal-succeeded",
90
+ "terminal-failed",
91
+ "interrupted",
92
+ "unknown"
93
+ ]);
94
+ var EXTERNAL_AGENT_MANAGED_PHASES = Object.freeze([
95
+ "preparing",
96
+ "running",
97
+ "auditing",
98
+ "validating",
99
+ "applying",
100
+ "completed",
101
+ "review-required",
102
+ "failed",
103
+ "cancelled",
104
+ "cleanup-warning"
105
+ ]);
106
+ var EXTERNAL_AGENT_VALIDATION_OUTCOMES = Object.freeze([
107
+ "passed",
108
+ "failed",
109
+ "not-configured",
110
+ "unavailable"
111
+ ]);
112
+ var EXTERNAL_AGENT_CHECK_OUTCOMES = Object.freeze([
113
+ "passed",
114
+ "failed",
115
+ "unavailable"
116
+ ]);
117
+ var EXTERNAL_AGENT_ERROR_CODES = Object.freeze([
118
+ "AGENT_BINARY_NOT_FOUND",
119
+ "AGENT_BINARY_UNTRUSTED",
120
+ "AGENT_VERSION_UNSUPPORTED",
121
+ "APP_SERVER_HANDSHAKE_FAILED",
122
+ "AGENT_AUTH_REQUIRED",
123
+ "AGENT_MODEL_UNAVAILABLE",
124
+ "AGENT_PROTOCOL_INCOMPATIBLE",
125
+ "CODEX_CONFIG_ISOLATION_UNSUPPORTED",
126
+ "MANAGED_GRANT_INVALID",
127
+ "MANAGED_PLATFORM_UNSUPPORTED",
128
+ "MANAGED_GIT_REQUIRED",
129
+ "MANAGED_SNAPSHOT_FAILED",
130
+ "MANAGED_SCOPE_VIOLATION",
131
+ "MANAGED_CHANGE_LIMIT_EXCEEDED",
132
+ "MANAGED_VALIDATION_FAILED",
133
+ "MANAGED_WORKSPACE_CONFLICT",
134
+ "MANAGED_APPLY_FAILED",
135
+ "MANAGED_CLEANUP_INCOMPLETE"
136
+ ]);
137
+ var EXTERNAL_AGENT_ERROR_STAGES = Object.freeze([
138
+ "integration",
139
+ "binary",
140
+ "handshake",
141
+ "auth",
142
+ "model",
143
+ "protocol",
144
+ "snapshot",
145
+ "audit",
146
+ "validation",
147
+ "apply",
148
+ "cleanup"
149
+ ]);
150
+ var EXTERNAL_AGENT_ERROR_RECOVERABILITY = Object.freeze([
151
+ "retry",
152
+ "user-action",
153
+ "reconfigure",
154
+ "none"
155
+ ]);
156
+ var EXTERNAL_AGENT_ACTIONS = Object.freeze([
157
+ "install-agent",
158
+ "use-supported-version",
159
+ "sign-in",
160
+ "choose-available-model",
161
+ "use-inbox",
162
+ "confirm-managed-access",
163
+ "review-candidate-diff",
164
+ "review-workspace-conflict",
165
+ "retry",
166
+ "inspect-cleanup-warning"
167
+ ]);
43
168
  export {
44
169
  ERROR_CODES,
170
+ EXTERNAL_AGENT_ACTIONS,
171
+ EXTERNAL_AGENT_AUTH_READINESS,
172
+ EXTERNAL_AGENT_CHECK_OUTCOMES,
173
+ EXTERNAL_AGENT_CONNECTION_STATES,
174
+ EXTERNAL_AGENT_CONTROL_LIMITS,
175
+ EXTERNAL_AGENT_DELIVERY_STATUSES,
176
+ EXTERNAL_AGENT_ERROR_CODES,
177
+ EXTERNAL_AGENT_ERROR_RECOVERABILITY,
178
+ EXTERNAL_AGENT_ERROR_STAGES,
179
+ EXTERNAL_AGENT_EXECUTION_STATUSES,
180
+ EXTERNAL_AGENT_GRANT_STATES,
181
+ EXTERNAL_AGENT_MANAGED_PHASES,
182
+ EXTERNAL_AGENT_MANAGED_PROFILE,
183
+ EXTERNAL_AGENT_MODES,
184
+ EXTERNAL_AGENT_VALIDATION_OUTCOMES,
45
185
  EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS,
46
186
  EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES,
47
187
  EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/external-handoff-browser.ts"],"sourcesContent":["import type { ERROR_CODES as GLOBAL_ERROR_CODES } from \"./errors/error-code.js\";\nimport type { EXTERNAL_HANDOFF_LIMITS as GLOBAL_EXTERNAL_HANDOFF_LIMITS } from \"./protocol/external-handoff-constants.js\";\n\n/** Browser-reachable errors only; keeps unrelated Agent/worktree codes out of the lazy UI. */\nexport const ERROR_CODES = Object.freeze({\n INVALID_REQUEST: \"INVALID_REQUEST\",\n INVALID_TOKEN: \"INVALID_TOKEN\",\n ORIGIN_NOT_ALLOWED: \"ORIGIN_NOT_ALLOWED\",\n EXTERNAL_HANDOFF_DISABLED: \"EXTERNAL_HANDOFF_DISABLED\",\n EXTERNAL_HANDOFF_UNAVAILABLE: \"EXTERNAL_HANDOFF_UNAVAILABLE\",\n HANDOFF_VALIDATION_FAILED: \"HANDOFF_VALIDATION_FAILED\",\n HANDOFF_SOURCE_STALE: \"HANDOFF_SOURCE_STALE\",\n HANDOFF_NOT_FOUND: \"HANDOFF_NOT_FOUND\",\n HANDOFF_EXPIRED: \"HANDOFF_EXPIRED\",\n HANDOFF_CURSOR_INVALID: \"HANDOFF_CURSOR_INVALID\",\n HANDOFF_RESPONSE_TOO_LARGE: \"HANDOFF_RESPONSE_TOO_LARGE\",\n EXTERNAL_AGENT_BUSY: \"EXTERNAL_AGENT_BUSY\",\n ACTIVE_DISPATCH_INVALID: \"ACTIVE_DISPATCH_INVALID\",\n SESSION_CLOSED: \"SESSION_CLOSED\",\n INTERNAL_ERROR: \"INTERNAL_ERROR\",\n} as const satisfies Pick<\n typeof GLOBAL_ERROR_CODES,\n | \"ACTIVE_DISPATCH_INVALID\"\n | \"EXTERNAL_AGENT_BUSY\"\n | \"EXTERNAL_HANDOFF_DISABLED\"\n | \"EXTERNAL_HANDOFF_UNAVAILABLE\"\n | \"HANDOFF_CURSOR_INVALID\"\n | \"HANDOFF_EXPIRED\"\n | \"HANDOFF_NOT_FOUND\"\n | \"HANDOFF_RESPONSE_TOO_LARGE\"\n | \"HANDOFF_SOURCE_STALE\"\n | \"HANDOFF_VALIDATION_FAILED\"\n | \"INTERNAL_ERROR\"\n | \"INVALID_REQUEST\"\n | \"INVALID_TOKEN\"\n | \"ORIGIN_NOT_ALLOWED\"\n | \"SESSION_CLOSED\"\n>);\nexport type ErrorCode = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];\nconst ERROR_CODE_VALUES: readonly string[] = Object.values(ERROR_CODES);\n\nexport function isErrorCode(value: unknown): value is ErrorCode {\n return typeof value === \"string\" && ERROR_CODE_VALUES.includes(value);\n}\n\n/** Browser-consumed limits only; literal types make drift from the canonical limits fail. */\nexport const EXTERNAL_HANDOFF_LIMITS = Object.freeze({\n maximumConnectorReceipts: 64,\n maximumWaiters: 8,\n activeStatusPollMs: 1_000,\n} as const satisfies Pick<\n typeof GLOBAL_EXTERNAL_HANDOFF_LIMITS,\n \"activeStatusPollMs\" | \"maximumConnectorReceipts\" | \"maximumWaiters\"\n>);\n\nexport {\n EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS,\n EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES,\n EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION,\n EXTERNAL_HANDOFF_DISPATCH_PHASES,\n EXTERNAL_HANDOFF_FRAMEWORKS,\n EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES,\n EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION,\n EXTERNAL_HANDOFF_STATES,\n type ExternalHandoffActiveAdapterKind,\n type ExternalHandoffActiveAdapterState,\n type ExternalHandoffDispatchPhase,\n type ExternalHandoffFramework,\n type ExternalHandoffReportableDispatchPhase,\n type ExternalHandoffState,\n} from \"./protocol/external-handoff-constants.js\";\nexport { SPOTPATCH_ENDPOINTS, SPOTPATCH_TOKEN_HEADER } from \"./protocol/endpoints.js\";\nexport type {\n ActiveAdapterSummary,\n DispatchSummary,\n ExternalHandoffCapability,\n ExternalHandoffPublishDelivery,\n ExternalHandoffPublishRequest,\n ExternalHandoffPublishResult,\n ExternalHandoffResolveDeliveryRequest,\n ExternalHandoffSnapshot,\n ExternalHandoffStatusRequest,\n ExternalHandoffStatusResult,\n ExternalHandoffSummary,\n} from \"./protocol/external-handoff.js\";\nexport type { SpotAnnotation, SpotPatchLocale } from \"./model/annotation.js\";\n"],"mappings":";;;;;;;;;;;;;;;;AAIO,IAAM,cAAc,OAAO,OAAO;AAAA,EACvC,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,2BAA2B;AAAA,EAC3B,8BAA8B;AAAA,EAC9B,2BAA2B;AAAA,EAC3B,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,wBAAwB;AAAA,EACxB,4BAA4B;AAAA,EAC5B,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,gBAAgB;AAAA,EAChB,gBAAgB;AAClB,CAiBC;AAED,IAAM,oBAAuC,OAAO,OAAO,WAAW;AAE/D,SAAS,YAAY,OAAoC;AAC9D,SAAO,OAAO,UAAU,YAAY,kBAAkB,SAAS,KAAK;AACtE;AAGO,IAAM,0BAA0B,OAAO,OAAO;AAAA,EACnD,0BAA0B;AAAA,EAC1B,gBAAgB;AAAA,EAChB,oBAAoB;AACtB,CAGC;","names":[]}
1
+ {"version":3,"sources":["../src/external-handoff-browser.ts"],"sourcesContent":["import type { ERROR_CODES as GLOBAL_ERROR_CODES } from \"./errors/error-code.js\";\nimport type {\n EXTERNAL_AGENT_ACTIONS as GLOBAL_EXTERNAL_AGENT_ACTIONS,\n EXTERNAL_AGENT_AUTH_READINESS as GLOBAL_EXTERNAL_AGENT_AUTH_READINESS,\n EXTERNAL_AGENT_CHECK_OUTCOMES as GLOBAL_EXTERNAL_AGENT_CHECK_OUTCOMES,\n EXTERNAL_AGENT_CONNECTION_STATES as GLOBAL_EXTERNAL_AGENT_CONNECTION_STATES,\n EXTERNAL_AGENT_CONTROL_LIMITS as GLOBAL_EXTERNAL_AGENT_CONTROL_LIMITS,\n EXTERNAL_AGENT_DELIVERY_STATUSES as GLOBAL_EXTERNAL_AGENT_DELIVERY_STATUSES,\n EXTERNAL_AGENT_ERROR_CODES as GLOBAL_EXTERNAL_AGENT_ERROR_CODES,\n EXTERNAL_AGENT_ERROR_RECOVERABILITY as GLOBAL_EXTERNAL_AGENT_ERROR_RECOVERABILITY,\n EXTERNAL_AGENT_ERROR_STAGES as GLOBAL_EXTERNAL_AGENT_ERROR_STAGES,\n EXTERNAL_AGENT_EXECUTION_STATUSES as GLOBAL_EXTERNAL_AGENT_EXECUTION_STATUSES,\n EXTERNAL_AGENT_GRANT_STATES as GLOBAL_EXTERNAL_AGENT_GRANT_STATES,\n EXTERNAL_AGENT_MANAGED_PROFILE as GLOBAL_EXTERNAL_AGENT_MANAGED_PROFILE,\n EXTERNAL_AGENT_MANAGED_PHASES as GLOBAL_EXTERNAL_AGENT_MANAGED_PHASES,\n EXTERNAL_AGENT_MODES as GLOBAL_EXTERNAL_AGENT_MODES,\n EXTERNAL_AGENT_VALIDATION_OUTCOMES as GLOBAL_EXTERNAL_AGENT_VALIDATION_OUTCOMES,\n} from \"./protocol/external-agent-control.js\";\nimport type { EXTERNAL_HANDOFF_LIMITS as GLOBAL_EXTERNAL_HANDOFF_LIMITS } from \"./protocol/external-handoff-constants.js\";\n\n/** Browser-reachable errors only; keeps unrelated Agent/worktree codes out of the lazy UI. */\nexport const ERROR_CODES = Object.freeze({\n INVALID_REQUEST: \"INVALID_REQUEST\",\n INVALID_TOKEN: \"INVALID_TOKEN\",\n ORIGIN_NOT_ALLOWED: \"ORIGIN_NOT_ALLOWED\",\n EXTERNAL_HANDOFF_DISABLED: \"EXTERNAL_HANDOFF_DISABLED\",\n EXTERNAL_HANDOFF_UNAVAILABLE: \"EXTERNAL_HANDOFF_UNAVAILABLE\",\n HANDOFF_VALIDATION_FAILED: \"HANDOFF_VALIDATION_FAILED\",\n HANDOFF_SOURCE_STALE: \"HANDOFF_SOURCE_STALE\",\n HANDOFF_NOT_FOUND: \"HANDOFF_NOT_FOUND\",\n HANDOFF_EXPIRED: \"HANDOFF_EXPIRED\",\n HANDOFF_CURSOR_INVALID: \"HANDOFF_CURSOR_INVALID\",\n HANDOFF_RESPONSE_TOO_LARGE: \"HANDOFF_RESPONSE_TOO_LARGE\",\n EXTERNAL_AGENT_BUSY: \"EXTERNAL_AGENT_BUSY\",\n ACTIVE_DISPATCH_INVALID: \"ACTIVE_DISPATCH_INVALID\",\n SESSION_CLOSED: \"SESSION_CLOSED\",\n INTERNAL_ERROR: \"INTERNAL_ERROR\",\n} as const satisfies Pick<\n typeof GLOBAL_ERROR_CODES,\n | \"ACTIVE_DISPATCH_INVALID\"\n | \"EXTERNAL_AGENT_BUSY\"\n | \"EXTERNAL_HANDOFF_DISABLED\"\n | \"EXTERNAL_HANDOFF_UNAVAILABLE\"\n | \"HANDOFF_CURSOR_INVALID\"\n | \"HANDOFF_EXPIRED\"\n | \"HANDOFF_NOT_FOUND\"\n | \"HANDOFF_RESPONSE_TOO_LARGE\"\n | \"HANDOFF_SOURCE_STALE\"\n | \"HANDOFF_VALIDATION_FAILED\"\n | \"INTERNAL_ERROR\"\n | \"INVALID_REQUEST\"\n | \"INVALID_TOKEN\"\n | \"ORIGIN_NOT_ALLOWED\"\n | \"SESSION_CLOSED\"\n>);\nexport type ErrorCode = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];\nconst ERROR_CODE_VALUES: readonly string[] = Object.values(ERROR_CODES);\n\nexport function isErrorCode(value: unknown): value is ErrorCode {\n return typeof value === \"string\" && ERROR_CODE_VALUES.includes(value);\n}\n\n/** Browser-consumed limits only; literal types make drift from the canonical limits fail. */\nexport const EXTERNAL_HANDOFF_LIMITS = Object.freeze({\n maximumConnectorReceipts: 64,\n maximumWaiters: 8,\n activeStatusPollMs: 1_000,\n} as const satisfies Pick<\n typeof GLOBAL_EXTERNAL_HANDOFF_LIMITS,\n \"activeStatusPollMs\" | \"maximumConnectorReceipts\" | \"maximumWaiters\"\n>);\n\nexport const EXTERNAL_AGENT_CONTROL_LIMITS = Object.freeze({\n maximumEventSubscribers: 4,\n eventHeartbeatMs: 15_000,\n eventReconnectMinimumMs: 500,\n eventReconnectMaximumMs: 10_000,\n maximumChangedFiles: 20,\n maximumChecks: 64,\n maximumEventLineBytes: 64 * 1_024,\n maximumResultDiffBytes: 512_000,\n} as const satisfies typeof GLOBAL_EXTERNAL_AGENT_CONTROL_LIMITS);\nexport const EXTERNAL_AGENT_MANAGED_PROFILE =\n \"managed-apply-v1\" as const satisfies typeof GLOBAL_EXTERNAL_AGENT_MANAGED_PROFILE;\n\n/** Browser-safe literal projections; type-only checks prevent protocol drift without Zod. */\nexport const EXTERNAL_AGENT_MODES = Object.freeze([\n \"inbox\",\n \"managed\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_MODES);\nexport const EXTERNAL_AGENT_CONNECTION_STATES = Object.freeze([\n \"disconnected\",\n \"diagnosing\",\n \"awaiting-consent\",\n \"connecting\",\n \"ready\",\n \"busy\",\n \"degraded\",\n \"error\",\n \"disconnecting\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_CONNECTION_STATES);\nexport const EXTERNAL_AGENT_AUTH_READINESS = Object.freeze([\n \"authenticated\",\n \"auth-not-required\",\n \"signed-out\",\n \"unknown\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_AUTH_READINESS);\nexport const EXTERNAL_AGENT_GRANT_STATES = Object.freeze([\n \"missing\",\n \"valid\",\n \"invalid\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_GRANT_STATES);\nexport const EXTERNAL_AGENT_DELIVERY_STATUSES = Object.freeze([\n \"queued\",\n \"dispatching\",\n \"accepted\",\n \"unknown\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_DELIVERY_STATUSES);\nexport const EXTERNAL_AGENT_EXECUTION_STATUSES = Object.freeze([\n \"not-observable\",\n \"started\",\n \"terminal-succeeded\",\n \"terminal-failed\",\n \"interrupted\",\n \"unknown\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_EXECUTION_STATUSES);\nexport const EXTERNAL_AGENT_MANAGED_PHASES = Object.freeze([\n \"preparing\",\n \"running\",\n \"auditing\",\n \"validating\",\n \"applying\",\n \"completed\",\n \"review-required\",\n \"failed\",\n \"cancelled\",\n \"cleanup-warning\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_MANAGED_PHASES);\nexport const EXTERNAL_AGENT_VALIDATION_OUTCOMES = Object.freeze([\n \"passed\",\n \"failed\",\n \"not-configured\",\n \"unavailable\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_VALIDATION_OUTCOMES);\nexport const EXTERNAL_AGENT_CHECK_OUTCOMES = Object.freeze([\n \"passed\",\n \"failed\",\n \"unavailable\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_CHECK_OUTCOMES);\nexport const EXTERNAL_AGENT_ERROR_CODES = Object.freeze([\n \"AGENT_BINARY_NOT_FOUND\",\n \"AGENT_BINARY_UNTRUSTED\",\n \"AGENT_VERSION_UNSUPPORTED\",\n \"APP_SERVER_HANDSHAKE_FAILED\",\n \"AGENT_AUTH_REQUIRED\",\n \"AGENT_MODEL_UNAVAILABLE\",\n \"AGENT_PROTOCOL_INCOMPATIBLE\",\n \"CODEX_CONFIG_ISOLATION_UNSUPPORTED\",\n \"MANAGED_GRANT_INVALID\",\n \"MANAGED_PLATFORM_UNSUPPORTED\",\n \"MANAGED_GIT_REQUIRED\",\n \"MANAGED_SNAPSHOT_FAILED\",\n \"MANAGED_SCOPE_VIOLATION\",\n \"MANAGED_CHANGE_LIMIT_EXCEEDED\",\n \"MANAGED_VALIDATION_FAILED\",\n \"MANAGED_WORKSPACE_CONFLICT\",\n \"MANAGED_APPLY_FAILED\",\n \"MANAGED_CLEANUP_INCOMPLETE\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_ERROR_CODES);\nexport const EXTERNAL_AGENT_ERROR_STAGES = Object.freeze([\n \"integration\",\n \"binary\",\n \"handshake\",\n \"auth\",\n \"model\",\n \"protocol\",\n \"snapshot\",\n \"audit\",\n \"validation\",\n \"apply\",\n \"cleanup\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_ERROR_STAGES);\nexport const EXTERNAL_AGENT_ERROR_RECOVERABILITY = Object.freeze([\n \"retry\",\n \"user-action\",\n \"reconfigure\",\n \"none\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_ERROR_RECOVERABILITY);\nexport const EXTERNAL_AGENT_ACTIONS = Object.freeze([\n \"install-agent\",\n \"use-supported-version\",\n \"sign-in\",\n \"choose-available-model\",\n \"use-inbox\",\n \"confirm-managed-access\",\n \"review-candidate-diff\",\n \"review-workspace-conflict\",\n \"retry\",\n \"inspect-cleanup-warning\",\n] as const satisfies typeof GLOBAL_EXTERNAL_AGENT_ACTIONS);\n\nexport {\n EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS,\n EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES,\n EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION,\n EXTERNAL_HANDOFF_DISPATCH_PHASES,\n EXTERNAL_HANDOFF_FRAMEWORKS,\n EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES,\n EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION,\n EXTERNAL_HANDOFF_STATES,\n type ExternalHandoffActiveAdapterKind,\n type ExternalHandoffActiveAdapterState,\n type ExternalHandoffDispatchPhase,\n type ExternalHandoffFramework,\n type ExternalHandoffReportableDispatchPhase,\n type ExternalHandoffState,\n} from \"./protocol/external-handoff-constants.js\";\nexport { SPOTPATCH_ENDPOINTS, SPOTPATCH_TOKEN_HEADER } from \"./protocol/endpoints.js\";\nexport type {\n ExternalAgentAction,\n ExternalAgentConnectionState,\n ExternalAgentControlCancelRequest,\n ExternalAgentControlConnectRequest,\n ExternalAgentControlDisconnectRequest,\n ExternalAgentControlStatus,\n ExternalAgentErrorCode,\n ExternalAgentEvent,\n ExternalAgentEventsRequest,\n ExternalAgentManagedResult,\n ExternalAgentResultRequest,\n} from \"./protocol/external-agent-control.js\";\nexport type {\n ActiveAdapterSummary,\n DispatchSummary,\n ExternalHandoffCapability,\n ExternalHandoffPublishDelivery,\n ExternalHandoffPublishRequest,\n ExternalHandoffPublishResult,\n ExternalHandoffResolveDeliveryRequest,\n ExternalHandoffSnapshot,\n ExternalHandoffStatusRequest,\n ExternalHandoffStatusResult,\n ExternalHandoffSummary,\n} from \"./protocol/external-handoff.js\";\nexport type { SpotAnnotation, SpotPatchLocale } from \"./model/annotation.js\";\n"],"mappings":"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","names":[]}