borgmcp 5.1.2 → 5.3.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 (71) hide show
  1. package/dist/agent-runtime.d.ts +2 -4
  2. package/dist/agent-runtime.d.ts.map +1 -1
  3. package/dist/agent-runtime.js +3 -5
  4. package/dist/agent-runtime.js.map +1 -1
  5. package/dist/assimilate-cmd.d.ts +1 -11
  6. package/dist/assimilate-cmd.d.ts.map +1 -1
  7. package/dist/assimilate-cmd.js +37 -48
  8. package/dist/assimilate-cmd.js.map +1 -1
  9. package/dist/assimilate-deps.d.ts.map +1 -1
  10. package/dist/assimilate-deps.js +1 -4
  11. package/dist/assimilate-deps.js.map +1 -1
  12. package/dist/claude.d.ts.map +1 -1
  13. package/dist/claude.js +36 -77
  14. package/dist/claude.js.map +1 -1
  15. package/dist/codex-app-server.d.ts +4 -6
  16. package/dist/codex-app-server.d.ts.map +1 -1
  17. package/dist/codex-app-server.js +4 -25
  18. package/dist/codex-app-server.js.map +1 -1
  19. package/dist/codex-app-wake.d.ts +8 -10
  20. package/dist/codex-app-wake.d.ts.map +1 -1
  21. package/dist/codex-app-wake.js +49 -66
  22. package/dist/codex-app-wake.js.map +1 -1
  23. package/dist/codex-launch.d.ts +15 -24
  24. package/dist/codex-launch.d.ts.map +1 -1
  25. package/dist/codex-launch.js +29 -55
  26. package/dist/codex-launch.js.map +1 -1
  27. package/dist/codex-remote.d.ts +15 -8
  28. package/dist/codex-remote.d.ts.map +1 -1
  29. package/dist/codex-remote.js +71 -70
  30. package/dist/codex-remote.js.map +1 -1
  31. package/dist/codex-wake-resolve.d.ts +12 -31
  32. package/dist/codex-wake-resolve.d.ts.map +1 -1
  33. package/dist/codex-wake-resolve.js +21 -38
  34. package/dist/codex-wake-resolve.js.map +1 -1
  35. package/dist/config-utils.js +2 -2
  36. package/dist/config-utils.js.map +1 -1
  37. package/dist/cubes.d.ts +0 -17
  38. package/dist/cubes.d.ts.map +1 -1
  39. package/dist/cubes.js +0 -81
  40. package/dist/cubes.js.map +1 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +3 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/log-stream.d.ts.map +1 -1
  45. package/dist/log-stream.js +4 -1
  46. package/dist/log-stream.js.map +1 -1
  47. package/dist/regen-format.d.ts +3 -1
  48. package/dist/regen-format.d.ts.map +1 -1
  49. package/dist/regen-format.js +24 -4
  50. package/dist/regen-format.js.map +1 -1
  51. package/dist/remote-client.d.ts +4 -3
  52. package/dist/remote-client.d.ts.map +1 -1
  53. package/dist/remote-client.js +9 -3
  54. package/dist/remote-client.js.map +1 -1
  55. package/docs/RELEASING.md +2 -2
  56. package/package.json +2 -2
  57. package/src/agent-runtime.ts +3 -5
  58. package/src/assimilate-cmd.ts +35 -58
  59. package/src/assimilate-deps.ts +0 -4
  60. package/src/claude.ts +34 -81
  61. package/src/codex-app-server.ts +8 -25
  62. package/src/codex-app-wake.ts +46 -73
  63. package/src/codex-launch.ts +43 -76
  64. package/src/codex-remote.ts +90 -82
  65. package/src/codex-wake-resolve.ts +26 -47
  66. package/src/config-utils.ts +2 -2
  67. package/src/cubes.ts +2 -100
  68. package/src/index.ts +3 -1
  69. package/src/log-stream.ts +4 -1
  70. package/src/regen-format.ts +28 -6
  71. package/src/remote-client.ts +14 -6
@@ -1,9 +1,11 @@
1
- import { getActiveCube, getCodexWakeTarget, setCodexWakeTarget, } from './cubes.js';
1
+ import { getActiveCube, } from './cubes.js';
2
+ import { existsSync } from 'node:fs';
2
3
  import { CodexAppServerClient } from './codex-app-server.js';
3
4
  import { checkCodexBridgeHealthy } from './codex-remote.js';
5
+ import { debugLog } from './debug.js';
4
6
  import { hasPendingWakeActivity, hasPendingWakeEntry } from './remote-client.js';
5
7
  import { BORG_CODEX_REMOTE_WAKE_ENV, resolveSessionAgentKind, } from './agent-runtime.js';
6
- import { codexAppServerSocketFromEnv, pickFreshThread, wakeTargetChanged, wakeRetryBackoffMs, wakeRetryExpired, WAKE_RETRY_MAX_ATTEMPTS, shouldFireHeartbeat, } from './codex-wake-resolve.js';
8
+ import { codexAppServerSocketFromEnv, pickFreshThread, wakeRetryBackoffMs, wakeRetryExpired, WAKE_RETRY_MAX_ATTEMPTS, shouldFireHeartbeat, } from './codex-wake-resolve.js';
7
9
  import { CUBE_ACTIVITY_RESUME_WAKE_MESSAGE, formatCubeActivityWakeMessage, } from './cube-activity-wake-copy.js';
8
10
  export const CODEX_WAKE_PROMPT = CUBE_ACTIVITY_RESUME_WAKE_MESSAGE;
9
11
  export function formatCodexWakePrompt(inboxLine) {
@@ -36,21 +38,20 @@ export function resolveCodexWakeTarget(env = process.env) {
36
38
  * (which is false-by-design for codex and falsely flagged them, gh#633).
37
39
  *
38
40
  * Tri-state (boolean|null; caller maps null→armed for false-deaf-avoidance):
39
- * - false ONLY on a positively-dead bridge: no wake target registered (the
40
- * bridge cannot deliver wakes), OR the app-server pid is dead.
41
- * - true when the wake target resolves AND the app-server pid is alive.
42
- * - null when the bridge health is indeterminate (target read or pid check
43
- * could not resolve) → armed (don't false-flag on uncertainty).
41
+ * - false when this child has no live socket, the socket file is missing, or
42
+ * the app-server pid is dead.
43
+ * - true when the env socket exists and the app-server pid is alive.
44
+ * - null when the pidfile cannot be read or parsed.
44
45
  */
45
- export async function probeCodexBridgeArmed(active, deps = {}) {
46
+ export async function probeCodexBridgeArmed(_active, deps = {}) {
46
47
  try {
47
- const resolve = deps.getCodexWakeTarget ?? getCodexWakeTarget;
48
- const target = await resolve(active.cubeId, active.droneId);
49
- // No registered wake target → the bridge cannot deliver a wake → not armed.
50
- if (!target)
48
+ const socketPath = codexAppServerSocketFromEnv(deps.env ?? process.env);
49
+ if (!socketPath)
50
+ return false;
51
+ if (!(deps.socketExists ?? existsSync)(socketPath))
51
52
  return false;
52
53
  const check = deps.checkBridge ?? checkCodexBridgeHealthy;
53
- return check(target.socketPath);
54
+ return check(socketPath);
54
55
  }
55
56
  catch {
56
57
  return null;
@@ -190,12 +191,9 @@ function defaultSleep(ms) {
190
191
  /**
191
192
  * gh#855: FRESH wake-target resolution. Prefer THIS drone's live app-server
192
193
  * socket (pinned into the child's env at spawn) and re-resolve the loaded thread
193
- * NOW (loadedThreadIds is re-runnable) so a missed/stale launch probe or a
194
- * thread change can never cause permanent deafness. Self-heals the file cache
195
- * (write-only-on-change) so other readers (probeCodexBridgeArmed / health-beat)
196
- * stay current. Falls back to the launch-recorded file when the env socket is
197
- * absent (un-upgraded launch) — no regression. Returns the resolved target, or
198
- * null (caller skips this wake; the next one retries). Does NOT keep a
194
+ * NOW (loadedThreadIds is re-runnable), so a thread change cannot cause
195
+ * permanent deafness. The live env socket is the sole source. Returns the
196
+ * resolved target, or null when the socket/thread is unavailable. Does NOT keep a
199
197
  * connection open — the env path opens a short-lived probe client to re-resolve
200
198
  * the thread, then closes it, so the caller can dedup BEFORE opening the wake
201
199
  * connection (no reconnect on an already-delivered wake).
@@ -203,56 +201,44 @@ function defaultSleep(ms) {
203
201
  function makeCodexClient(sock, deps) {
204
202
  return deps.createClient ? deps.createClient(sock) : new CodexAppServerClient(sock);
205
203
  }
206
- async function resolveFreshCodexWakeTarget(active, deps) {
204
+ async function resolveFreshCodexWakeTarget(_active, deps) {
207
205
  const envSocket = codexAppServerSocketFromEnv(deps.env ?? process.env);
208
- if (envSocket) {
209
- const probe = makeCodexClient(envSocket, deps);
210
- await probe.connect();
211
- try {
212
- const ids = await probe.loadedThreadIds();
213
- const summaries = [];
214
- for (const id of ids) {
215
- const t = await probe.readThread(id);
216
- if (t)
217
- summaries.push({ id: t.id, cwd: t.cwd, updatedAt: t.updatedAt });
218
- }
219
- const threadId = pickFreshThread(summaries, { cwd: (deps.cwd ?? (() => process.cwd()))() });
220
- if (!threadId)
221
- return null; // no loaded thread yet — next wake retries (no permanent fail)
222
- await maybePersistWakeTarget(active, { socketPath: envSocket, threadId }, deps);
223
- return { socketPath: envSocket, threadId };
224
- }
225
- finally {
226
- probe.close();
227
- }
228
- }
229
- // Fallback: the launch-recorded file (un-upgraded launch / env absent) — no
230
- // connect needed to resolve, so the caller dedups before opening any socket.
231
- const target = await (deps.getCodexWakeTarget ?? getCodexWakeTarget)(active.cubeId, active.droneId);
232
- if (!target)
206
+ if (!envSocket) {
207
+ debugLog('codex wake target unavailable: BORG_CODEX_APP_SERVER_SOCKET is absent');
233
208
  return null;
234
- return { socketPath: target.socketPath, threadId: target.threadId };
235
- }
236
- /** Self-healing cache write — only when the resolved target actually changed. */
237
- async function maybePersistWakeTarget(active, fresh, deps) {
209
+ }
210
+ const probe = makeCodexClient(envSocket, deps);
211
+ await probe.connect();
238
212
  try {
239
- const get = deps.getCodexWakeTarget ?? getCodexWakeTarget;
240
- const set = deps.setCodexWakeTarget ?? setCodexWakeTarget;
241
- const existing = await get(active.cubeId, active.droneId);
242
- const prev = existing ? { socketPath: existing.socketPath, threadId: existing.threadId } : null;
243
- if (wakeTargetChanged(prev, fresh)) {
244
- await set(active.cubeId, active.droneId, fresh);
213
+ const ids = await probe.loadedThreadIds();
214
+ const summaries = [];
215
+ for (const id of ids) {
216
+ try {
217
+ const thread = await probe.readThread(id);
218
+ if (thread)
219
+ summaries.push(thread);
220
+ }
221
+ catch {
222
+ // A loaded thread may disappear before its read; keep other candidates.
223
+ }
245
224
  }
225
+ const threadId = pickFreshThread(summaries, { cwd: (deps.cwd ?? (() => process.cwd()))() });
226
+ return threadId ? { socketPath: envSocket, threadId } : null;
246
227
  }
247
- catch {
248
- // best-effort cache write; never break the wake path
228
+ finally {
229
+ probe.close();
249
230
  }
250
231
  }
251
232
  export function wakeCodexViaAppServer(reason = CODEX_WAKE_PROMPT, env = process.env, deps = {}, deliveryIdentity, sourceEntryId) {
252
233
  const target = resolveCodexWakeTarget(env);
253
234
  if (!target.enabled)
254
235
  return;
255
- pendingWakeRequests.push({ reason, deliveryIdentity, sourceEntryId, deps });
236
+ pendingWakeRequests.push({
237
+ reason,
238
+ deliveryIdentity,
239
+ sourceEntryId,
240
+ deps: deps.env ? deps : { ...deps, env },
241
+ });
256
242
  if (wakeInFlight)
257
243
  return;
258
244
  wakeInFlight = true;
@@ -281,18 +267,15 @@ async function wakeCodexTargeted(reason, deliveryIdentity, sourceEntryId, deps)
281
267
  const pendingEntry = deps.hasPendingEntry ?? hasPendingWakeEntry;
282
268
  if (sourceEntryId && !(await pendingEntry(active, sourceEntryId)))
283
269
  return;
284
- // gh#855: resolve FRESH (live env socket + re-resolved thread), falling back
285
- // to the launch-recorded file only when the env socket is absent.
270
+ // Resolve fresh from this child’s live env socket and loaded threads.
286
271
  const resolved = await resolveFreshCodexWakeTarget(active, deps);
287
272
  if (!resolved) {
288
- // client#89: a scoped entry passed the pending check above but no target
289
- // resolves undeliverable, and this path does NOT schedule a retry-drain
290
- // (the design leaves it to the next wake / the heartbeat backstop). Mark
291
- // the deferral live so health reads degraded rather than armed. An
292
- // unscoped wake carries no authoritative pending signal, so it does not
293
- // set the marker. Retry behavior is unchanged.
273
+ // A scoped entry passed the pending check but its TUI thread is not loaded
274
+ // yet. Keep it in the coalesced retry-drain instead of waiting for another
275
+ // inbound event or the heartbeat.
294
276
  if (sourceEntryId)
295
277
  deliveryDeferred = true;
278
+ scheduleRetryDrain(deps, sourceEntryId);
296
279
  return;
297
280
  }
298
281
  const { socketPath, threadId } = resolved;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-app-wake.js","sourceRoot":"","sources":["../src/codex-app-wake.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,GAEpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,iCAAiC,EACjC,6BAA6B,GAC9B,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,MAAM,iBAAiB,GAC5B,iCAAiC,CAAC;AAEpC,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,OAAO,6BAA6B,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,kFAAkF;AAClF,qEAAqE;AACrE,iFAAiF;AACjF,kFAAkF;AAClF,kFAAkF;AAClF,iCAAiC;AACjC,MAAM,CAAC,MAAM,oBAAoB,GAC/B,GAAG,6BAA6B,CAAC,wHAAwH,CAAC,GAAG;IAC7J,wEAAwE,CAAC;AAE3E,MAAM,UAAU,wBAAwB,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC3E,OAAO,GAAG,CAAC,0BAA0B,CAAC,KAAK,GAAG,CAAC;AACjD,CAAC;AAED,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAM7D,MAAM,UAAU,sBAAsB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACzE,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAA2C,EAC3C,OAGI,EAAE;IAEN,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5D,4EAA4E;QAC5E,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,IAAI,uBAAuB,CAAC;QAC1D,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,MAAM,mBAAmB,GAKpB,EAAE,CAAC;AACR,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;AAC5C,MAAM,qBAAqB,GAAa,EAAE,CAAC;AAC3C,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC,gFAAgF;AAChF,iFAAiF;AACjF,yEAAyE;AACzE,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAC/B,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAU,CAAC;AACnD,IAAI,yBAAyB,GAAG,KAAK,CAAC;AAEtC,4EAA4E;AAC5E,+EAA+E;AAC/E,+EAA+E;AAC/E,4EAA4E;AAC5E,IAAI,eAAe,GAAkB,IAAI,CAAC;AAE1C,gFAAgF;AAChF,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAC;AACzB,CAAC;AAYD,8EAA8E;AAC9E,4EAA4E;AAC5E,+EAA+E;AAC/E,8EAA8E;AAC9E,0BAA0B;AAC1B,IAAI,eAAe,GAAkB,IAAI,CAAC;AAC1C,IAAI,mBAAmB,GAAgC,IAAI,CAAC;AAC5D,IAAI,wBAAwB,GAAkB,IAAI,CAAC;AACnD,IAAI,kBAAkB,GAAkB,IAAI,CAAC;AAC7C,6EAA6E;AAC7E,gFAAgF;AAChF,qEAAqE;AACrE,6EAA6E;AAC7E,gFAAgF;AAChF,iFAAiF;AACjF,yEAAyE;AACzE,8EAA8E;AAC9E,6EAA6E;AAC7E,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAoB7B,oFAAoF;AACpF,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,kBAAkB;QAClB,eAAe;QACf,mBAAmB;QACnB,wBAAwB;QACxB,kBAAkB,EAAE,wBAAwB,CAAC,IAAI,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,gBAAgB,EAAE,kBAAkB;QACpC,gBAAgB;QAChB,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,SAAS,oBAAoB,CAAC,GAAY;IACxC,MAAM,IAAI,GAAI,GAAiC,EAAE,IAAI,CAAC;IACtD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IACtD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA4B,EAC5B,GAAiB,EACjB,WAAoB;IAEpB,eAAe,GAAG,GAAG,EAAE,CAAC;IACxB,mBAAmB,GAAG,MAAM,CAAC;IAC7B,wBAAwB,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACrF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAqB,EACrB,KAAyB;IAEzB,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC,CAAC,yBAAyB;IAC5D,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,CAAC,kCAAkC;IACnE,8EAA8E;IAC9E,IACE,KAAK,CAAC,gBAAgB;QACtB,KAAK,CAAC,kBAAkB,GAAG,CAAC;QAC5B,KAAK,CAAC,gBAAgB,EACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,IAAmB;IACxC,eAAe,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3C,8EAA8E;IAC9E,gBAAgB,GAAG,KAAK,CAAC;AAC3B,CAAC;AAED,wEAAwE;AACxE,gFAAgF;AAChF,+EAA+E;AAC/E,0EAA0E;AAC1E,kCAAkC;AAClC,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAE9B,gFAAgF;AAChF,kFAAkF;AAClF,iFAAiF;AACjF,+EAA+E;AAC/E,kFAAkF;AAClF,6EAA6E;AAC7E,6EAA6E;AAC7E,mFAAmF;AACnF,2CAA2C;AAC3C,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B,SAAS,oBAAoB;IAC3B,IAAI,cAAc;QAAE,OAAO,KAAK,CAAC;IACjC,cAAc,GAAG,IAAI,CAAC;IACtB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB;IACxB,cAAc,GAAG,KAAK,CAAC;AACzB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,GAAY;IACxC,OAAQ,GAAgC,EAAE,IAAI,KAAK,QAAQ,CAAC;AAC9D,CAAC;AAED,SAAS,YAAY,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAyCD;;;;;;;;;;;;GAYG;AACH,SAAS,eAAe,CACtB,IAAY,EACZ,IAAmB;IAEnB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACtF,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,MAA2C,EAC3C,IAAmB;IAEnB,MAAM,SAAS,GAAG,2BAA2B,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACvE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAsB,EAAE,CAAC;YACxC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACrC,IAAI,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5F,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC,CAAC,+DAA+D;YAC3F,MAAM,sBAAsB,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;YAChF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QAC7C,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACpG,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AACtE,CAAC;AAED,iFAAiF;AACjF,KAAK,UAAU,sBAAsB,CACnC,MAA2C,EAC3C,KAA+C,EAC/C,IAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAChG,IAAI,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,SAAiB,iBAAiB,EAClC,MAAyB,OAAO,CAAC,GAAG,EACpC,OAAsB,EAAE,EACxB,gBAAyB,EACzB,aAAsB;IAEtB,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO;IAC5B,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,IAAI,YAAY;QAAE,OAAO;IAEzB,YAAY,GAAG,IAAI,CAAC;IACpB,KAAK,mBAAmB,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,OAAO,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAG,CAAC;QAC7C,MAAM,iBAAiB,CACrB,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAC9E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAAc,EACd,gBAAoC,EACpC,aAAiC,EACjC,IAAmB;IAEnB,gFAAgF;IAChF,iFAAiF;IACjF,wEAAwE;IACxE,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;QAC5B,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,IAAI,mBAAmB,CAAC;QACjE,IAAI,aAAa,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAAE,OAAO;QAC1E,6EAA6E;QAC7E,kEAAkE;QAClE,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,yEAAyE;YACzE,0EAA0E;YAC1E,yEAAyE;YACzE,mEAAmE;YACnE,wEAAwE;YACxE,+CAA+C;YAC/C,IAAI,aAAa;gBAAE,gBAAgB,GAAG,IAAI,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC1C,kBAAkB,GAAG,QAAQ,CAAC,CAAC,wCAAwC;QACvE,MAAM,OAAO,GAAG,GAAG,QAAQ,KAAK,gBAAgB,IAAI,MAAM,EAAE,CAAC;QAC7D,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,uCAAuC;QACnF,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,uEAAuE;gBACvE,wEAAwE;gBACxE,0EAA0E;gBAC1E,0DAA0D;gBAC1D,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY;gBACrE,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBACxC,OAAO;YACT,CAAC;YACD,IAAI,aAAa,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBAAE,OAAO;YAC1E,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACzC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAC/B,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY;YACtE,aAAa,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,0EAA0E;QAC1E,wEAAwE;QACxE,2EAA2E;QAC3E,oDAAoD;QACpD,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY;QAC9F,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,iBAAiB,EAAE,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,kBAAkB,CAAC,IAAmB,EAAE,aAAsB;IACrE,IAAI,aAAa;QAAE,wBAAwB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;;QAC1D,yBAAyB,GAAG,IAAI,CAAC;IACtC,IAAI,kBAAkB;QAAE,OAAO,CAAC,sDAAsD;IACtF,kBAAkB,GAAG,IAAI,CAAC;IAC1B,KAAK,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QACxC,kBAAkB,GAAG,KAAK,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAmB;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,uBAAuB,CAAC;IAChE,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;IACxB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,6EAA6E;IAC7E,wEAAwE;IACxE,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;QACrE,MAAM,KAAK,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACpD,QAAQ,EAAE,CAAC;QACX,6EAA6E;QAC7E,4EAA4E;QAC5E,IAAI,CAAC,oBAAoB,EAAE;YAAE,SAAS;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,MAAM;gBAAE,SAAS,CAAC,qDAAqD;YAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,IAAI,mBAAmB,CAAC;YACjE,KAAK,MAAM,OAAO,IAAI,wBAAwB,EAAE,CAAC;gBAC/C,IAAI,CAAC;oBACH,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;wBAAE,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvF,CAAC;gBAAC,MAAM,CAAC;oBACP,2DAA2D;gBAC7D,CAAC;YACH,CAAC;YACD,IAAI,CAAC,yBAAyB,IAAI,wBAAwB,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO;YAC9E,yEAAyE;YACzE,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ;gBAAE,SAAS,CAAC,6CAA6C;YACtE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;YAC1C,kBAAkB,GAAG,QAAQ,CAAC,CAAC,wCAAwC;YACvE,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACjD,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACjD,IAAI,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtC,qBAAqB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY;oBACpD,SAAS,CAAC,sDAAsD;gBAClE,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,wBAAwB,EAAE,CAAC;oBAC/C,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;wBAAE,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvF,CAAC;gBACD,IAAI,CAAC,yBAAyB,IAAI,wBAAwB,CAAC,IAAI,KAAK,CAAC;oBAAE,OAAO;gBAC9E,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;gBACvD,wBAAwB,CAAC,KAAK,EAAE,CAAC;gBACjC,yBAAyB,GAAG,KAAK,CAAC;gBAClC,qBAAqB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY;gBACrD,aAAa,CAAC,IAAI,CAAC,CAAC;gBACpB,OAAO,CAAC,gEAAgE;YAC1E,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,2EAA2E;YAC3E,sEAAsE;YACtE,qBAAqB,CAAC,QAAQ,EAAE,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY;QAC/E,CAAC;gBAAS,CAAC;YACT,iBAAiB,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IACD,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAI,wBAAwB,CAAC,IAAI,GAAG,CAAC,IAAI,yBAAyB,EAAE,CAAC;QACnE,wBAAwB,CAAC,KAAK,EAAE,CAAC;QACjC,yBAAyB,GAAG,KAAK,CAAC;QAClC,gBAAgB,GAAG,IAAI,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,GAAG,MAAM,CAAC;AAEtD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAsB,EAAE,EACxB,YAAoB,0BAA0B;IAE9C,IAAI,iBAAiB;QAAE,OAAO,CAAC,kDAAkD;IACjF,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,GAAG,EAAE,SAAS,CAAC;QAAE,OAAO,CAAC,yBAAyB;IAC5F,iFAAiF;IACjF,gFAAgF;IAChF,+EAA+E;IAC/E,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO;IACxD,gFAAgF;IAChF,iFAAiF;IACjF,IAAI,CAAC,oBAAoB,EAAE;QAAE,OAAO;IACpC,8EAA8E;IAC9E,6EAA6E;IAC7E,iBAAiB,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,oEAAoE;QACpE,2EAA2E;QAC3E,6CAA6C;QAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,sBAAsB,CAAC;QACrE,IAAI,CAAC,CAAC,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACpC,0EAA0E;YAC1E,0EAA0E;YAC1E,mEAAmE;YACnE,gBAAgB,GAAG,KAAK,CAAC;YACzB,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,0EAA0E;YAC1E,uEAAuE;YACvE,0EAA0E;YAC1E,sEAAsE;YACtE,2EAA2E;YAC3E,gBAAgB,GAAG,IAAI,CAAC;YACxB,OAAO,CAAC,4CAA4C;QACtD,CAAC;QACD,kBAAkB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,wCAAwC;QAChF,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,uEAAuE;gBACvE,0EAA0E;gBAC1E,mEAAmE;gBACnE,wEAAwE;gBACxE,8DAA8D;gBAC9D,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxD,gBAAgB,GAAG,IAAI,CAAC;gBACxB,OAAO,CAAC,qCAAqC;YAC/C,CAAC;YACD,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;YAChE,0DAA0D;YAC1D,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY;YACtE,aAAa,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,4EAA4E;QAC5E,0EAA0E;QAC1E,8EAA8E;QAC9E,qEAAqE;QACrE,6EAA6E;QAC7E,4EAA4E;QAC5E,6EAA6E;QAC7E,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY;QAC9F,gBAAgB,GAAG,IAAI,CAAC;QACxB,IAAI,oBAAoB,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;IAChE,CAAC;YAAS,CAAC;QACT,iBAAiB,GAAG,KAAK,CAAC;QAC1B,iBAAiB,EAAE,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAKI,EAAE;IAEN,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,uBAAuB,EAAE,CAAC;IAC9D,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,wBAAwB,EAAE,CAAC;IAC/E,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,0BAA0B,CAAC;IACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,sBAAsB,EAAE,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC5C,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAChB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,YAAY,GAAG,KAAK,CAAC;IACrB,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/B,iBAAiB,CAAC,KAAK,EAAE,CAAC;IAC1B,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,kBAAkB,GAAG,KAAK,CAAC;IAC3B,wBAAwB,CAAC,KAAK,EAAE,CAAC;IACjC,yBAAyB,GAAG,KAAK,CAAC;IAClC,eAAe,GAAG,IAAI,CAAC;IACvB,iBAAiB,GAAG,KAAK,CAAC;IAC1B,cAAc,GAAG,KAAK,CAAC;IACvB,yCAAyC;IACzC,eAAe,GAAG,IAAI,CAAC;IACvB,mBAAmB,GAAG,IAAI,CAAC;IAC3B,wBAAwB,GAAG,IAAI,CAAC;IAChC,kBAAkB,GAAG,IAAI,CAAC;IAC1B,gBAAgB,GAAG,KAAK,CAAC;AAC3B,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW;IACxC,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO;IACvC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,qBAAqB,CAAC,MAAM,GAAG,sBAAsB,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,EAAE,CAAC;QAC7C,IAAI,MAAM;YAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"codex-app-wake.js","sourceRoot":"","sources":["../src/codex-app-wake.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { BorgCli } from './cubes.js';
2
2
  import type { AgentKind } from './agent-runtime.js';
3
+ import { type CodexRemoteReadyLaunch } from './codex-remote.js';
3
4
  /**
4
5
  * The claude kickoff prompt's wake-path section (gh#929) — the SAME shared
5
6
  * `wakePathArming` the SessionStart hook + /clear orientation use (one place,
@@ -10,34 +11,24 @@ import type { AgentKind } from './agent-runtime.js';
10
11
  * empty; no active cube (no inboxPath) → empty.
11
12
  */
12
13
  export declare function buildKickoffWakePathClause(agentKind: AgentKind, inboxPath: string | null, monitorStateRoot?: string | null): string;
13
- export interface CodexWakeTargetDeps {
14
- setCodexWakeTarget: (cubeId: string, droneId: string, target: {
15
- threadId: string;
16
- socketPath: string;
17
- }) => Promise<void>;
18
- findLoadedCodexThread: (options: {
19
- socketPath: string;
20
- cwd: string;
21
- previewIncludes: string;
22
- updatedAfter: number;
23
- }) => Promise<string | null>;
24
- }
25
14
  export declare function buildAgentKickoffPrompt(options: {
26
15
  cli: BorgCli;
27
- codexWakeNonce: string | null;
28
16
  monitorClause: string;
29
- codexWakePathClause?: string;
30
17
  }): string;
31
- export declare function socketPathFromRemoteArgs(args: string[]): string | null;
32
- export declare function threadIdFromPassthroughArgs(args: string[]): string | null;
33
- export declare function recordCodexWakeTarget(options: {
34
- deps: CodexWakeTargetDeps;
35
- cubeId: string;
36
- droneId: string;
37
- socketPath: string;
18
+ export type CodexLaunchArgsResult = {
19
+ ready: true;
20
+ args: string[];
21
+ } | {
22
+ ready: false;
23
+ reason: string;
24
+ };
25
+ export declare function buildCodexLaunchArgs(options: {
26
+ remote: CodexRemoteReadyLaunch;
38
27
  cwd: string;
39
- previewNeedle: string;
40
- launchedAtSeconds: number;
28
+ kickoff: string;
29
+ approvalArgs?: string[];
30
+ accessArgs?: string[];
31
+ seatExpectationArgs?: string[];
41
32
  passthroughArgs?: string[];
42
- }): Promise<void>;
33
+ }): CodexLaunchArgsResult;
43
34
  //# sourceMappingURL=codex-launch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex-launch.d.ts","sourceRoot":"","sources":["../src/codex-launch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIpD;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAC/B,MAAM,CAWR;AAED,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,KAC7C,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,qBAAqB,EAAE,CAAC,OAAO,EAAE;QAC/B,UAAU,EAAE,MAAM,CAAC;QACnB,GAAG,EAAE,MAAM,CAAC;QACZ,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;KACtB,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC9B;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,GAAG,EAAE,OAAO,CAAC;IACb,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,GAAG,MAAM,CAgCT;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAMtE;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAKzE;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACnD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,GAAG,OAAO,CAAC,IAAI,CAAC,CAiChB"}
1
+ {"version":3,"file":"codex-launch.d.ts","sourceRoot":"","sources":["../src/codex-launch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAQjF;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAC/B,MAAM,CAWR;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,GAAG,EAAE,OAAO,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,MAAM,CA2BT;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/B;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,MAAM,EAAE,sBAAsB,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,GAAG,qBAAqB,CA0BxB"}
@@ -1,5 +1,8 @@
1
1
  import { wakePathArming } from './regen-format.js';
2
2
  import { OPENCODE_WAKE_PATH_GUIDANCE } from './opencode-wake-copy.js';
3
+ import { withCodexCwdArg } from './codex-remote.js';
4
+ import { codexBorgSessionConfigArgs } from './launch-gate.js';
5
+ import { codexAgentKindConfigArgs, codexRemoteWakeConfigArgs, codexStateRootConfigArgs, } from './agent-runtime.js';
3
6
  /**
4
7
  * The claude kickoff prompt's wake-path section (gh#929) — the SAME shared
5
8
  * `wakePathArming` the SessionStart hook + /clear orientation use (one place,
@@ -26,12 +29,8 @@ export function buildAgentKickoffPrompt(options) {
26
29
  // clause (Coordinator/Queen-only; belongs in role-text, not injected for
27
30
  // ALL). KEPT: core call + MCP-disconnect recovery + the wake-path arming
28
31
  // (claude via the shared monitorClause = buildKickoffWakePathClause; codex
29
- // via codexWakePathClause) + the claude/codex/opencode cli-branching.
30
- const codexNonceClause = options.codexWakeNonce
31
- ? `Wake target nonce: ${options.codexWakeNonce}. `
32
- : '';
33
- const codexWakePathClause = options.codexWakePathClause ??
34
- `Codex Borg wakeups use remote-control when available; if no wake arrives, run borg_regen manually when returning to the session.`;
32
+ // via the Borg-owned remote socket clause) + the cli-specific branching.
33
+ const codexWakePathClause = 'Codex Borg wakeups use the Borg-owned remote-control socket for this session.';
35
34
  const opencodeWakePathClause = OPENCODE_WAKE_PATH_GUIDANCE;
36
35
  const wakeClause = options.cli === 'claude'
37
36
  ? options.monitorClause
@@ -39,7 +38,6 @@ export function buildAgentKickoffPrompt(options) {
39
38
  ? codexWakePathClause
40
39
  : opencodeWakePathClause;
41
40
  return (`Call borg_regen and follow the playbook in its response. ` +
42
- codexNonceClause +
43
41
  `Note: at session start the borg MCP server is still spinning up in ` +
44
42
  `parallel — if a system reminder claims "MCP server disconnected" or ` +
45
43
  `the borg tools are not yet registered, do NOT bail. Make one recovery attempt via ` +
@@ -49,55 +47,31 @@ export function buildAgentKickoffPrompt(options) {
49
47
  `Never start, stop, restart, update, or recover the Borg server. ` +
50
48
  wakeClause);
51
49
  }
52
- export function socketPathFromRemoteArgs(args) {
53
- const index = args.indexOf('--remote');
54
- if (index < 0)
55
- return null;
56
- const value = args[index + 1];
57
- if (!value?.startsWith('unix://'))
58
- return null;
59
- return value.slice('unix://'.length);
60
- }
61
- export function threadIdFromPassthroughArgs(args) {
62
- if (args[0] === 'resume' && args[1] && !args[1].startsWith('-'))
63
- return args[1];
64
- const resumeIndex = args.indexOf('--resume');
65
- if (resumeIndex >= 0 && args[resumeIndex + 1])
66
- return args[resumeIndex + 1];
67
- return null;
68
- }
69
- export async function recordCodexWakeTarget(options) {
70
- try {
71
- const explicitThreadId = options.passthroughArgs
72
- ? threadIdFromPassthroughArgs(options.passthroughArgs)
73
- : null;
74
- if (explicitThreadId) {
75
- await options.deps.setCodexWakeTarget(options.cubeId, options.droneId, {
76
- threadId: explicitThreadId,
77
- socketPath: options.socketPath,
78
- });
79
- return;
80
- }
81
- const deadline = Date.now() + 15_000;
82
- while (Date.now() < deadline) {
83
- const threadId = await options.deps.findLoadedCodexThread({
84
- socketPath: options.socketPath,
85
- cwd: options.cwd,
86
- previewIncludes: options.previewNeedle,
87
- updatedAfter: options.launchedAtSeconds - 5,
88
- });
89
- if (threadId) {
90
- await options.deps.setCodexWakeTarget(options.cubeId, options.droneId, {
91
- threadId,
92
- socketPath: options.socketPath,
93
- });
94
- return;
95
- }
96
- await new Promise((resolve) => setTimeout(resolve, 500));
97
- }
50
+ export function buildCodexLaunchArgs(options) {
51
+ const passthroughArgs = options.passthroughArgs ?? [];
52
+ if (passthroughArgs.some((arg) => arg === '--remote' || arg.startsWith('--remote='))) {
53
+ return {
54
+ ready: false,
55
+ reason: 'Borg owns Codex remote control; remove the passthrough --remote option and retry.',
56
+ };
98
57
  }
99
- catch {
100
- // Best-effort mapping: launch still succeeds and manual regen remains available.
58
+ const remoteValue = `unix://${options.remote.server.socketPath}`;
59
+ if (options.remote.args.length !== 2 || options.remote.args[0] !== '--remote' || options.remote.args[1] !== remoteValue) {
60
+ return { ready: false, reason: 'The Borg-owned Codex remote socket is unavailable.' };
101
61
  }
62
+ return {
63
+ ready: true,
64
+ args: [
65
+ ...(options.accessArgs ?? []),
66
+ ...(options.approvalArgs ?? []),
67
+ ...codexBorgSessionConfigArgs(),
68
+ ...codexAgentKindConfigArgs(),
69
+ ...codexRemoteWakeConfigArgs(),
70
+ ...codexStateRootConfigArgs(),
71
+ ...(options.seatExpectationArgs ?? []),
72
+ ...options.remote.args,
73
+ ...withCodexCwdArg([...passthroughArgs, options.kickoff], options.cwd),
74
+ ],
75
+ };
102
76
  }
103
77
  //# sourceMappingURL=codex-launch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex-launch.js","sourceRoot":"","sources":["../src/codex-launch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-launch.js","sourceRoot":"","sources":["../src/codex-launch.ts"],"names":[],"mappings":"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"}
@@ -17,13 +17,19 @@ export interface CodexAppServerHandle {
17
17
  /** Kill the owned app-server + remove its socket/pidfile. Wire to TUI exit. */
18
18
  cleanup: () => void;
19
19
  }
20
- export interface CodexRemoteLaunch {
20
+ export interface CodexRemoteReadyLaunch {
21
+ ready: true;
21
22
  args: string[];
22
23
  env: Record<string, string>;
23
- warning?: string;
24
- /** Present when borg owns a per-launch app-server that must be cleaned up on TUI exit. */
25
- server?: CodexAppServerHandle;
24
+ /** Borg owns this per-launch app-server and must clean it up on TUI exit. */
25
+ server: CodexAppServerHandle;
26
26
  }
27
+ export interface CodexRemoteLaunchRefusal {
28
+ ready: false;
29
+ reason: string;
30
+ stderr: string;
31
+ }
32
+ export type CodexRemoteLaunch = CodexRemoteReadyLaunch | CodexRemoteLaunchRefusal;
27
33
  export interface CodexChild {
28
34
  pid: number | undefined;
29
35
  kill: () => void;
@@ -48,9 +54,11 @@ export interface PrepareCodexRemoteDeps {
48
54
  runtimeDir?: string;
49
55
  /** Unique socket id generator (default 32-hex). Injected for deterministic tests. */
50
56
  socketId?: () => string;
51
- /** Readiness timeout (default 30000ms) + poll interval (default 250ms). */
57
+ /** Readiness timeout (default 60000ms) + poll interval (default 250ms). */
52
58
  readyTimeoutMs?: number;
53
59
  pollIntervalMs?: number;
60
+ /** Wall clock used to enforce the readiness budget. */
61
+ now?: () => number;
54
62
  /** Whether a pid is alive (default process.kill(pid, 0)). Injected for tests. */
55
63
  isAlive?: (pid: number) => boolean;
56
64
  }
@@ -102,9 +110,8 @@ export declare function checkCodexBridgeHealthy(socketPath: string | null, deps?
102
110
  }): boolean | null;
103
111
  /**
104
112
  * Start a borg-owned per-launch Codex app-server, probe it for readiness, and
105
- * return the `--remote` launch args + an owned handle (or a fail-loud warning).
106
- * Async + lifecycle-owning: the caller MUST call `result.server?.cleanup()` on
107
- * TUI exit.
113
+ * return the `--remote` launch args + an owned handle, or a typed refusal after
114
+ * one retry. The caller MUST call `result.server.cleanup()` on TUI exit.
108
115
  */
109
116
  export declare function prepareCodexRemoteLaunch(deps: PrepareCodexRemoteDeps): Promise<CodexRemoteLaunch>;
110
117
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"codex-remote.d.ts","sourceRoot":"","sources":["../src/codex-remote.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,wFAAwF;IACxF,WAAW,CAAC,EAAE,MAAM,qBAAqB,CAAC;CAC3C;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,kFAAkF;IAClF,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,UAAU,CAAC;IACnD,4FAA4F;IAC5F,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,6EAA6E;IAC7E,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;IACxB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACpC;AAED,eAAO,MAAM,wBAAwB,QAAyC,CAAC;AAyC/E,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAGrE;AAED;;;6DAG6D;AAC7D,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAyBjF;AAYD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQnD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,IAAI,GAAE;IACJ,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CACtC,GACL,OAAO,GAAG,IAAI,CAahB;AAwDD;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CA+F5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAC5C,sBAAsB,EACtB,gBAAgB,GAAG,YAAY,GAAG,OAAO,CAC1C,CAkGA"}
1
+ {"version":3,"file":"codex-remote.d.ts","sourceRoot":"","sources":["../src/codex-remote.ts"],"names":[],"mappings":"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"}