@simonepri/refined-antigravity-acp 1.3.0 → 1.3.2

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.
@@ -15,6 +15,8 @@ export interface SupervisorOptions {
15
15
  recycleSpawnAttempts?: number | undefined;
16
16
  /** Delay between failed respawn attempts. */
17
17
  recycleRetryDelayMs?: number | undefined;
18
+ /** Watchdog timeout in ms to synthesize terminal prompt response when upstream hangs after usage_update. */
19
+ promptSettlementTimeoutMs?: number | undefined;
18
20
  }
19
21
  export declare class ProcessSupervisor implements CoreContext {
20
22
  currentChild: ChildProcess;
@@ -29,6 +31,9 @@ export declare class ProcessSupervisor implements CoreContext {
29
31
  private readonly recycleTimeoutMs;
30
32
  private readonly recycleSpawnAttempts;
31
33
  private readonly recycleRetryDelayMs;
34
+ private readonly promptSettlementTimeoutMs;
35
+ private readonly promptSettlementTimers;
36
+ private readonly activePrompts;
32
37
  private readonly pendingRequests;
33
38
  private readonly suppressedResponseIds;
34
39
  private activeRecycle;
@@ -42,6 +47,10 @@ export declare class ProcessSupervisor implements CoreContext {
42
47
  forwardInbound(msg: AcpStreamMessage): void;
43
48
  writeToChild(msg: AcpStreamMessage): Promise<void>;
44
49
  declareHang(sessionId: string, promptId: string | number, reason: string): void;
50
+ private clearPromptSettlementTimer;
51
+ private clearAllPromptSettlementTimers;
52
+ private armPromptSettlementWatchdog;
53
+ private settleHungPrompt;
45
54
  triggerRecycle(session: CachedSessionMetadata): Promise<void>;
46
55
  sendInternalRequest(msg: AcpStreamMessage, timeoutMs?: number): Promise<AcpStreamMessage>;
47
56
  private tryHandleInternalRecycle;
@@ -52,11 +61,15 @@ export declare class ProcessSupervisor implements CoreContext {
52
61
  private recordOutboundSetMode;
53
62
  private recordOutboundSetConfigOption;
54
63
  private handleSessionLifecycleMetadata;
64
+ private recordOutboundPrompt;
65
+ private recordOutboundCancel;
55
66
  private recordOutboundMetadata;
56
67
  private trackPendingRequestSession;
57
68
  private prepareOutboundSession;
58
69
  handleOutbound(msg: AcpStreamMessage, proxies?: UrlRewriter): Promise<void>;
59
70
  private recordInboundSessionAllocation;
71
+ private clearActivePromptByMsg;
72
+ private handleInboundPromptSettlement;
60
73
  private dispatchInboundPipeline;
61
74
  handleStdoutLine(line: string): Promise<void>;
62
75
  handleStderrLine(line: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../../src/core/supervisor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAGL,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAIhB,KAAK,YAAY,EACjB,KAAK,WAAW,EAEjB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAejD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,eAAe,EACf,qBAAqB,GACtB,CAAC;AA+BF,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAClC,YAAY,CAAC,EACT,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,GACvE,SAAS,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,sFAAsF;IACtF,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED,qBAAa,iBAAkB,YAAW,WAAW;IAC5C,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,UAAS;IACpB,QAAQ,UAAS;IACxB,SAAgB,YAAY,EAAE,YAAY,CAAC;IACpC,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,SAAgB,QAAQ,EAAE,WAAW,CAAC;IAEtC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwE;IAChG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsD;IACtF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA8B;IACpE,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,kBAAkB,CAAkE;IAC5F,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;gBAElC,OAAO,EAAE,iBAAiB;IAiCtC,aAAa,CAAC,UAAU,EAAE,+BAA+B,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAIlF,cAAc,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI;IAQrC,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAqBzE,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAanE,mBAAmB,CACjB,GAAG,EAAE,gBAAgB,EACrB,SAAS,GAAE,MAA8B,GACxC,OAAO,CAAC,gBAAgB,CAAC;IAiC5B,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,2BAA2B;IAUnC,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,yBAAyB;IAqBjC,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,6BAA6B;IAYrC,OAAO,CAAC,8BAA8B;IAWtC,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,0BAA0B;YAKpB,sBAAsB;IAW9B,cAAc,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjF,OAAO,CAAC,8BAA8B;YAaxB,uBAAuB;IAsB/B,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBnD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOpC,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,gBAAgB;YAWV,iBAAiB;YAsBjB,iBAAiB;YAejB,mBAAmB;YAuBnB,aAAa;IAyB3B,OAAO,CAAC,eAAe;IAajB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCnE;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAsBnB,KAAK,IAAI,IAAI;IAcb,KAAK,IAAI,IAAI;IAcb,aAAa,IAAI;QACf,QAAQ,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAC3C,QAAQ,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC;KAC5C;CAwBF"}
1
+ {"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../../src/core/supervisor.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import readline from "node:readline";
2
- import { ACP_METHODS, STOP_REASONS, RECYCLE_ID_PREFIX, RECYCLE_INIT_ID, RECYCLE_LOAD_ID, RECYCLE_MODE_ID, RECYCLE_CONFIG_PREFIX, isJsonRpcResponse, } from "./types.js";
2
+ import { ACP_METHODS, STOP_REASONS, SESSION_UPDATES, RECYCLE_ID_PREFIX, RECYCLE_INIT_ID, RECYCLE_LOAD_ID, RECYCLE_MODE_ID, RECYCLE_CONFIG_PREFIX, isJsonRpcResponse, } from "./types.js";
3
3
  import { createSessionCache, extractSessionId, getSession, getOrCreateSession, recordAllocatedSessionMeta, recordPendingSessionMetadata, resolveResponseSession, trackPendingRequestSession, clearPendingRequestSessions, } from "./session-cache.js";
4
4
  import { defaultSpawnProcess, traceAcp, writeJsonMessage } from "./transport.js";
5
5
  export { RECYCLE_ID_PREFIX, RECYCLE_INIT_ID, RECYCLE_LOAD_ID, RECYCLE_MODE_ID, RECYCLE_CONFIG_PREFIX, };
6
6
  const DEFAULT_RECYCLE_TIMEOUT_MS = 60_000;
7
7
  const DEFAULT_RECYCLE_SPAWN_ATTEMPTS = 3;
8
8
  const DEFAULT_RECYCLE_RETRY_DELAY_MS = 500;
9
+ const DEFAULT_PROMPT_SETTLE_TIMEOUT_MS = 1000;
9
10
  function parseEnvMs(val, defaultMs) {
10
11
  if (!val)
11
12
  return defaultMs;
@@ -24,6 +25,12 @@ function extractModeId(modeId, meta) {
24
25
  function delay(ms) {
25
26
  return new Promise((resolve) => setTimeout(resolve, ms));
26
27
  }
28
+ function isUsageUpdate(msg) {
29
+ if (!("method" in msg) || msg.method !== ACP_METHODS.SESSION_UPDATE)
30
+ return false;
31
+ const update = msg.params?.update;
32
+ return update?.sessionUpdate === SESSION_UPDATES.USAGE_UPDATE;
33
+ }
27
34
  export class ProcessSupervisor {
28
35
  currentChild;
29
36
  isRecycling = false;
@@ -37,6 +44,9 @@ export class ProcessSupervisor {
37
44
  recycleTimeoutMs;
38
45
  recycleSpawnAttempts;
39
46
  recycleRetryDelayMs;
47
+ promptSettlementTimeoutMs;
48
+ promptSettlementTimers = new Map();
49
+ activePrompts = new Map();
40
50
  pendingRequests = new Map();
41
51
  suppressedResponseIds = new Set();
42
52
  activeRecycle = null;
@@ -59,6 +69,9 @@ export class ProcessSupervisor {
59
69
  parseEnvMs(process.env.REFINED_AGY_RECYCLE_TIMEOUT_MS, DEFAULT_RECYCLE_TIMEOUT_MS);
60
70
  this.recycleSpawnAttempts = options.recycleSpawnAttempts ?? DEFAULT_RECYCLE_SPAWN_ATTEMPTS;
61
71
  this.recycleRetryDelayMs = options.recycleRetryDelayMs ?? DEFAULT_RECYCLE_RETRY_DELAY_MS;
72
+ this.promptSettlementTimeoutMs =
73
+ options.promptSettlementTimeoutMs ??
74
+ parseEnvMs(process.env.REFINED_AGY_PROMPT_SETTLE_TIMEOUT_MS, DEFAULT_PROMPT_SETTLE_TIMEOUT_MS);
62
75
  this.baseContext = {
63
76
  sessionCache: this.sessionCache,
64
77
  forwardInbound: (m) => this.forwardInbound(m),
@@ -112,6 +125,58 @@ export class ProcessSupervisor {
112
125
  };
113
126
  this.forwardInbound(syntheticMsg);
114
127
  }
128
+ clearPromptSettlementTimer(sessionId) {
129
+ const timer = this.promptSettlementTimers.get(sessionId);
130
+ if (timer) {
131
+ clearTimeout(timer);
132
+ this.promptSettlementTimers.delete(sessionId);
133
+ }
134
+ }
135
+ clearAllPromptSettlementTimers() {
136
+ for (const timer of this.promptSettlementTimers.values()) {
137
+ clearTimeout(timer);
138
+ }
139
+ this.promptSettlementTimers.clear();
140
+ this.activePrompts.clear();
141
+ }
142
+ armPromptSettlementWatchdog(sessionId) {
143
+ if (this.promptSettlementTimeoutMs <= 0)
144
+ return;
145
+ const promptId = this.activePrompts.get(sessionId);
146
+ if (promptId === undefined)
147
+ return;
148
+ this.clearPromptSettlementTimer(sessionId);
149
+ const timer = setTimeout(() => {
150
+ this.promptSettlementTimers.delete(sessionId);
151
+ this.settleHungPrompt(sessionId, promptId);
152
+ }, this.promptSettlementTimeoutMs);
153
+ this.promptSettlementTimers.set(sessionId, timer);
154
+ }
155
+ settleHungPrompt(sessionId, promptId) {
156
+ const currentActivePromptId = this.activePrompts.get(sessionId);
157
+ if (currentActivePromptId !== promptId)
158
+ return;
159
+ this.activePrompts.delete(sessionId);
160
+ if (this.suppressedResponseIds.size >= 1000) {
161
+ const oldest = this.suppressedResponseIds.keys().next().value;
162
+ if (oldest !== undefined)
163
+ this.suppressedResponseIds.delete(oldest);
164
+ }
165
+ this.suppressedResponseIds.add(promptId);
166
+ console.error(`[refined-antigravity-acp] Prompt ${promptId} for session ${sessionId} settled via timeout after usage_update`);
167
+ const syntheticMsg = {
168
+ jsonrpc: "2.0",
169
+ id: promptId,
170
+ result: { stopReason: STOP_REASONS.END_TURN },
171
+ };
172
+ this.forwardInbound(syntheticMsg);
173
+ const session = getSession(this.sessionCache, sessionId);
174
+ const context = this.createContext(session);
175
+ const turnEndMessages = this.pipeline.applyTurnEnd(sessionId, context);
176
+ for (const m of turnEndMessages) {
177
+ this.forwardInbound(m);
178
+ }
179
+ }
115
180
  async triggerRecycle(session) {
116
181
  if (this.activeRecycle) {
117
182
  await this.activeRecycle;
@@ -242,32 +307,42 @@ export class ProcessSupervisor {
242
307
  return;
243
308
  const p = msg.params;
244
309
  if (p?.sessionId) {
310
+ this.clearPromptSettlementTimer(p.sessionId);
311
+ this.activePrompts.delete(p.sessionId);
245
312
  this.sessionCache.sessions.delete(p.sessionId);
246
313
  }
247
314
  }
315
+ recordOutboundPrompt(msg) {
316
+ const p = msg;
317
+ if (p.id !== undefined && p.params?.sessionId) {
318
+ this.clearPromptSettlementTimer(p.params.sessionId);
319
+ this.activePrompts.set(p.params.sessionId, p.id);
320
+ }
321
+ }
322
+ recordOutboundCancel(msg) {
323
+ const p = msg.params;
324
+ if (p?.sessionId) {
325
+ this.clearPromptSettlementTimer(p.sessionId);
326
+ this.activePrompts.delete(p.sessionId);
327
+ }
328
+ }
248
329
  recordOutboundMetadata(msg) {
249
330
  if (!("method" in msg))
250
331
  return;
251
- switch (msg.method) {
252
- case ACP_METHODS.INITIALIZE:
253
- this.sessionCache.cachedInitializeParams = msg.params;
254
- break;
255
- case ACP_METHODS.SESSION_NEW:
256
- this.recordOutboundSessionNew(msg);
257
- break;
258
- case ACP_METHODS.SESSION_LOAD:
259
- this.recordOutboundSessionLoad(msg);
260
- break;
261
- case ACP_METHODS.SESSION_SET_MODE:
262
- this.recordOutboundSetMode(msg);
263
- break;
264
- case ACP_METHODS.SESSION_SET_CONFIG_OPTION:
265
- this.recordOutboundSetConfigOption(msg);
266
- break;
267
- default:
268
- this.handleSessionLifecycleMetadata(msg);
269
- break;
270
- }
332
+ const handlers = {
333
+ [ACP_METHODS.INITIALIZE]: (m) => {
334
+ this.sessionCache.cachedInitializeParams = m.params;
335
+ },
336
+ [ACP_METHODS.SESSION_NEW]: (m) => this.recordOutboundSessionNew(m),
337
+ [ACP_METHODS.SESSION_LOAD]: (m) => this.recordOutboundSessionLoad(m),
338
+ [ACP_METHODS.SESSION_PROMPT]: (m) => this.recordOutboundPrompt(m),
339
+ [ACP_METHODS.SESSION_CANCEL]: (m) => this.recordOutboundCancel(m),
340
+ [ACP_METHODS.SESSION_SET_MODE]: (m) => this.recordOutboundSetMode(m),
341
+ [ACP_METHODS.SESSION_SET_CONFIG_OPTION]: (m) => this.recordOutboundSetConfigOption(m),
342
+ [ACP_METHODS.SESSION_CLOSE]: (m) => this.handleSessionLifecycleMetadata(m),
343
+ [ACP_METHODS.SESSION_DELETE]: (m) => this.handleSessionLifecycleMetadata(m),
344
+ };
345
+ handlers[msg.method]?.(msg);
271
346
  }
272
347
  trackPendingRequestSession(msg, sessionId) {
273
348
  if (!sessionId || !("id" in msg) || msg.id === null || msg.id === undefined)
@@ -314,8 +389,28 @@ export class ProcessSupervisor {
314
389
  recordAllocatedSessionMeta(msg.id, res.sessionId, this.sessionCache);
315
390
  }
316
391
  }
392
+ clearActivePromptByMsg(msg) {
393
+ if (!("id" in msg) || msg.id === null || msg.id === undefined)
394
+ return;
395
+ const msgId = msg.id;
396
+ for (const [sId, pId] of this.activePrompts.entries()) {
397
+ if (pId === msgId) {
398
+ this.clearPromptSettlementTimer(sId);
399
+ this.activePrompts.delete(sId);
400
+ }
401
+ }
402
+ }
403
+ handleInboundPromptSettlement(msg, sessionId) {
404
+ if (sessionId && isUsageUpdate(msg)) {
405
+ this.armPromptSettlementWatchdog(sessionId);
406
+ }
407
+ if ("result" in msg || "error" in msg) {
408
+ this.clearActivePromptByMsg(msg);
409
+ }
410
+ }
317
411
  async dispatchInboundPipeline(msg, sessionId, context) {
318
412
  try {
413
+ this.handleInboundPromptSettlement(msg, sessionId);
319
414
  const messages = await this.pipeline.applyInbound(msg, context);
320
415
  for (const m of messages)
321
416
  this.forwardInbound(m);
@@ -343,6 +438,8 @@ export class ProcessSupervisor {
343
438
  traceAcp("agy->client", msg);
344
439
  if (this.tryHandleInternalRecycle(msg) || this.tryHandleSuppressedResponse(msg))
345
440
  return;
441
+ if (this.isRecycling)
442
+ return;
346
443
  const responseSessionId = resolveResponseSession(msg, this.sessionCache);
347
444
  const sessionId = responseSessionId ?? extractSessionId(msg);
348
445
  this.recordInboundSessionAllocation(msg);
@@ -400,6 +497,7 @@ export class ProcessSupervisor {
400
497
  this.pipeline.dispose();
401
498
  this.rlErr?.close();
402
499
  this.rlOut?.close();
500
+ this.clearAllPromptSettlementTimers();
403
501
  this.rejectPendingRequests(err);
404
502
  this.closeController(err);
405
503
  }
@@ -483,6 +581,7 @@ export class ProcessSupervisor {
483
581
  }
484
582
  this.suppressedResponseIds.clear();
485
583
  clearPendingRequestSessions(this.sessionCache);
584
+ this.clearAllPromptSettlementTimers();
486
585
  }
487
586
  async recycleProcess(session) {
488
587
  this.isRecycling = true;
@@ -548,6 +647,7 @@ export class ProcessSupervisor {
548
647
  if (!this.currentChild.killed) {
549
648
  this.currentChild.kill("SIGTERM");
550
649
  }
650
+ this.clearAllPromptSettlementTimers();
551
651
  this.rejectPendingRequests(new Error("Supervisor closed"));
552
652
  this.closeController();
553
653
  }
@@ -562,6 +662,7 @@ export class ProcessSupervisor {
562
662
  if (!this.currentChild.killed) {
563
663
  this.currentChild.kill("SIGKILL");
564
664
  }
665
+ this.clearAllPromptSettlementTimers();
565
666
  this.rejectPendingRequests(new Error("Supervisor aborted"));
566
667
  this.closeController();
567
668
  }
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../../src/core/supervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../../src/core/supervisor.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,eAAe,EACf,qBAAqB,EAUrB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEjF,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,eAAe,EACf,qBAAqB,GACtB,CAAC;AAEF,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAC1C,MAAM,8BAA8B,GAAG,CAAC,CAAC;AACzC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAC3C,MAAM,gCAAgC,GAAG,IAAI,CAAC;AAE9C,SAAS,UAAU,CAAC,GAAuB,EAAE,SAAiB;IAC5D,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AAED,SAAS,aAAa,CAAC,MAAe,EAAE,IAAc;IACpD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACzD,MAAM,GAAG,GAAI,IAA6B,CAAC,MAAM,CAAC;QAClD,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,aAAa,CAAC,GAAqB;IAC1C,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IAClF,MAAM,MAAM,GAAI,GAAG,CAAC,MAA0C,EAAE,MAAM,CAAC;IACvE,OAAO,MAAM,EAAE,aAAa,KAAK,eAAe,CAAC,YAAY,CAAC;AAChE,CAAC;AA2BD,MAAM,OAAO,iBAAiB;IACrB,YAAY,CAAe;IAC3B,WAAW,GAAG,KAAK,CAAC;IACpB,QAAQ,GAAG,KAAK,CAAC;IACR,YAAY,CAAe;IACpC,OAAO,CAA2B;IACzB,QAAQ,CAAc;IAErB,GAAG,CAAS;IACZ,IAAI,CAAW;IACf,OAAO,CAAwE;IAC/E,gBAAgB,CAAS;IACzB,oBAAoB,CAAS;IAC7B,mBAAmB,CAAS;IAC5B,yBAAyB,CAAS;IAClC,sBAAsB,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC3D,aAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;IACnD,eAAe,GAAG,IAAI,GAAG,EAA2C,CAAC;IACrE,qBAAqB,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC5D,aAAa,GAAyB,IAAI,CAAC;IAC3C,KAAK,GAA8B,IAAI,CAAC;IACxC,KAAK,GAA8B,IAAI,CAAC;IACxC,kBAAkB,GAA6D,IAAI,CAAC;IAC3E,WAAW,CAAc;IACzB,aAAa,CAAgB;IAE9C,YAAY,OAA0B;QACpC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,kBAAkB,EAAE,CAAC;QACjE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO;YACV,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,gBAAgB;YACnB,OAAO,CAAC,gBAAgB;gBACxB,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,0BAA0B,CAAC,CAAC;QACrF,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,8BAA8B,CAAC;QAC3F,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,8BAA8B,CAAC;QACzF,IAAI,CAAC,yBAAyB;YAC5B,OAAO,CAAC,yBAAyB;gBACjC,UAAU,CACR,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAChD,gCAAgC,CACjC,CAAC;QAEJ,IAAI,CAAC,WAAW,GAAG;YACjB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc,EAAE,CAAC,CAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAC/D,YAAY,EAAE,CAAC,CAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAC3D,mBAAmB,EAAE,CAAC,CAAmB,EAAE,CAAU,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;YACxF,cAAc,EAAE,CAAC,CAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACpE,WAAW,EAAE,CAAC,CAAS,EAAE,CAAkB,EAAE,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACrF,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE;YACjD,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO;YACvB,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC;QAEtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAED,aAAa,CAAC,UAA6D;QACzE,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;IACvC,CAAC;IAED,cAAc,CAAC,GAAqB;QAClC,IAAI,CAAC;YACH,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAqB;QACtC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,aAAa,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,WAAW,CAAC,SAAiB,EAAE,QAAyB,EAAE,MAAc;QACtE,OAAO,CAAC,KAAK,CACX,qCAAqC,SAAS,mBAAmB,QAAQ,KAAK,MAAM,qDAAqD,CAC1I,CAAC;QACF,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAC9D,IAAI,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACjE,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;QAE5B,MAAM,YAAY,GAAG;YACnB,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,QAAQ;YACZ,MAAM,EAAE,EAAE,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE;SACf,CAAC;QAEjC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAEO,0BAA0B,CAAC,SAAiB;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAEO,8BAA8B;QACpC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,EAAE,CAAC;YACzD,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAEO,2BAA2B,CAAC,SAAiB;QACnD,IAAI,IAAI,CAAC,yBAAyB,IAAI,CAAC;YAAE,OAAO;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO;QAEnC,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QAE3C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAEnC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAEO,gBAAgB,CAAC,SAAiB,EAAE,QAAyB;QACnE,MAAM,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,qBAAqB,KAAK,QAAQ;YAAE,OAAO;QAE/C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAC9D,IAAI,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEzC,OAAO,CAAC,KAAK,CACX,oCAAoC,QAAQ,gBAAgB,SAAS,yCAAyC,CAC/G,CAAC;QAEF,MAAM,YAAY,GAAG;YACnB,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,QAAQ;YACZ,MAAM,EAAE,EAAE,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE;SACf,CAAC;QAEjC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAElC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACvE,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAChC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAA8B;QACjD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,aAAa,CAAC;YACzB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,mBAAmB,CACjB,GAAqB,EACrB,YAAoB,IAAI,CAAC,gBAAgB;QAEzC,MAAM,EAAE,GAAI,GAAgC,CAAC,EAAE,CAAC;QAChD,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACpC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM,CACJ,IAAI,KAAK,CACP,oBAAoB,MAAM,CAAE,GAA4B,CAAC,MAAM,CAAC,KAAK,EAAE,qBAAqB,SAAS,IAAI,CAC1G,CACF,CAAC;YACJ,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAEzD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;gBACvC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAC;gBACnE,OAAO;YACT,CAAC;YAED,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrD,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,wBAAwB,CAAC,GAAqB;QACpD,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAAE,OAAO,KAAK,CAAC;QAEvD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,OAAO,EAAE,CAAC;YACZ,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBAChC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,wBAAwB,CAAC,CAAC,CAAC;YAC3E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,2BAA2B,CAAC,GAAqB;QACvD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1C,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,mEAAmE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3F,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,aAAa,CACnB,OAA+B,EAC/B,OAAqB,EACrB,WAAqB;QAErB,OAAO;YACL,GAAG,IAAI,CAAC,WAAW;YACnB,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO;YAChC,OAAO;YACP,WAAW;SACZ,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAAC,GAAqB;QACpD,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS;YAAE,OAAO;QACtE,MAAM,CAAC,GACL,GAQD,CAAC,MAAM,CAAC;QACT,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC3E,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAC7C,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QACnD,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;QAC1D,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;QAClE,4BAA4B,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAEO,yBAAyB,CAAC,GAAqB;QACrD,MAAM,CAAC,GACL,GASD,CAAC,MAAM,CAAC;QACT,IAAI,CAAC,CAAC,EAAE,SAAS;YAAE,OAAO;QAC1B,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAC7C,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QACnD,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;QAClE,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IACpD,CAAC;IAEO,qBAAqB,CAAC,GAAqB;QACjD,MAAM,CAAC,GAAI,GAA4D,CAAC,MAAM,CAAC;QAC/E,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YAC7B,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;QAC3E,CAAC;IACH,CAAC;IAEO,6BAA6B,CAAC,GAAqB;QACzD,MAAM,CAAC,GACL,GACD,CAAC,MAAM,CAAC;QACT,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC/B,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;gBACnF,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,8BAA8B,CAAC,GAAqB;QAC1D,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC;YAAE,OAAO;QAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,aAAa,CAAC;QACzD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,cAAc,CAAC;QAC3D,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;YAAE,OAAO;QAClC,MAAM,CAAC,GAAI,GAA2C,CAAC,MAAM,CAAC;QAC9D,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,GAAqB;QAChD,MAAM,CAAC,GAAG,GAAgE,CAAC;QAC3E,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;YAC9C,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,GAAqB;QAChD,MAAM,CAAC,GAAI,GAA2C,CAAC,MAAM,CAAC;QAC9D,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,GAAqB;QAClD,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC;YAAE,OAAO;QAC/B,MAAM,QAAQ,GAAkD;YAC9D,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC9B,IAAI,CAAC,YAAY,CAAC,sBAAsB,GAAI,CAA0B,CAAC,MAAM,CAAC;YAChF,CAAC;YACD,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAClE,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;YACpE,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACjE,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACjE,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;YACpE,CAAC,WAAW,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACrF,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;YAC1E,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;SAC5E,CAAC;QACF,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEO,0BAA0B,CAAC,GAAqB,EAAE,SAAkB;QAC1E,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS;YAAE,OAAO;QACpF,0BAA0B,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACnE,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,OAA+B;QAClE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,aAAa,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC;QAClC,CAAC;QACD,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAqB,EAAE,OAAqB;QAC/D,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAErD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACpE,IAAI,WAAW,KAAK,IAAI;YAAE,OAAO;QAEjC,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAEO,8BAA8B,CAAC,GAAqB;QAC1D,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;QAChF,MAAM,GAAG,GAAG,GAAG,CAAC,MAAiC,CAAC;QAClD,IACE,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;YACjC,IAAI,IAAI,GAAG;YACX,GAAG,CAAC,EAAE,KAAK,IAAI;YACf,GAAG,CAAC,EAAE,KAAK,SAAS,EACpB,CAAC;YACD,0BAA0B,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,GAAqB;QAClD,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS;YAAE,OAAO;QACtE,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,6BAA6B,CACnC,GAAqB,EACrB,SAA6B;QAE7B,IAAI,SAAS,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,QAAQ,IAAI,GAAG,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;YACtC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,GAAqB,EACrB,SAA6B,EAC7B,OAAuB;QAEvB,IAAI,CAAC;YACH,IAAI,CAAC,6BAA6B,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAEnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAChE,KAAK,MAAM,CAAC,IAAI,QAAQ;gBAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAEjD,IAAI,QAAQ,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACvE,KAAK,MAAM,CAAC,IAAI,eAAe;oBAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,4EAA4E,EAC5E,GAAG,CACJ,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACjC,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,GAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAqB,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC;YAAE,OAAO;QACxF,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAE7B,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,iBAAiB,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAEzD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACzE,MAAM,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,gBAAgB,CAAC,IAAY;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,KAAmB;QACnC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpF,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACxC,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAAE,GAAG,CAAC,CAAC;gBAC7E,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpF,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACjD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IAEO,qBAAqB,CAAC,GAAW;QACvC,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACvD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YACpD,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACnC,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAEO,eAAe,CAAC,GAAW;QACjC,IAAI,CAAC;YACH,IAAI,GAAG;gBAAE,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;;gBACxC,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,GAAW;QAClC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE9C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACtC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,OAA8B,EAC9B,OAAwB;QAExB,MAAM,UAAU,GAA4B;YAC1C,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;SACrC,CAAC;QACF,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;YAAE,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QAC5D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAElE,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,eAAe;YACnB,MAAM,EAAE,WAAW,CAAC,YAAY;YAChC,MAAM,EAAE,UAAU;SACY,CAAC;QAEjC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5E,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,IAAI,OAAO,CAAC,CAAC;IAC7D,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,OAA8B,EAC9B,OAAwB;QAExB,IAAI,CAAC,OAAO,CAAC,UAAU;YAAE,OAAO;QAChC,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,eAAe;YACnB,MAAM,EAAE,WAAW,CAAC,gBAAgB;YACpC,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE;SACtC,CAAC;QACjC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5E,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,IAAI,OAAO,CAAC,CAAC;IAC7D,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,OAA8B,EAC9B,OAAwB;QAExB,IAAI,CAAC,OAAO,CAAC,iBAAiB;YAAE,OAAO;QACvC,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC;YAClE,MAAM,YAAY,GAA4B;gBAC5C,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,QAAQ;gBACR,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC;YACF,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;gBAAE,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACzD,MAAM,MAAM,GAAG;gBACb,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,GAAG,qBAAqB,GAAG,QAAQ,EAAE;gBACzC,MAAM,EAAE,WAAW,CAAC,yBAAyB;gBAC7C,MAAM,EAAE,YAAY;aACU,CAAC;YACjC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC1E,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,IAAI,MAAM,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,OAA8B,EAC9B,QAAsB;QAEtB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,sBAAsB,IAAI;YAC7D,eAAe,EAAE,CAAC;YAClB,kBAAkB,EAAE,EAAE;YACtB,UAAU,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,OAAO,EAAE;SAClE,CAAC;QAEF,MAAM,IAAI,CAAC,mBAAmB,CAAC;YAC7B,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,eAAe;YACnB,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,UAAU;SACY,CAAC,CAAC;QAElC,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE5C,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAEO,eAAe;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACnC,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAI,CAAC,8BAA8B,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAA8B;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,OAAgB,CAAC;QACrB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,oBAAoB,EAAE,OAAO,EAAE,EAAE,CAAC;YACtE,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzD,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;gBAC7B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAEzB,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAE5C,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,OAAO;YACT,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,GAAG,GAAG,CAAC;gBACd,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;gBACzD,OAAO,CAAC,KAAK,CACX,qDAAqD,OAAO,IAAI,IAAI,CAAC,oBAAoB,SAAS;oBAChG,CAAC,YAAY,GAAG,CAAC;wBACf,CAAC,CAAC,iBAAiB,IAAI,CAAC,mBAAmB,OAAO,YAAY,oBAAoB;wBAClF,CAAC,CAAC,qBAAqB,CAAC,EAC5B,GAAG,CACJ,CAAC;gBACF,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;oBACrB,MAAM,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACK,WAAW,CAAC,OAA8B,EAAE,GAAY;QAC9D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAI,KAAK,CACxB,+BAA+B,OAAO,CAAC,SAAS,iBAAiB,IAAI,CAAC,oBAAoB,gBAAgB,MAAM,EAAE,CACnH,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,6BAA6B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC;YACH,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;QACD,MAAM,QAAQ,CAAC;IACjB,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACtC,IAAI,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACtC,IAAI,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,aAAa;QAIX,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAmB;YACpD,KAAK,EAAE,CAAC,UAAU,EAAE,EAAE;gBACpB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAmB;YACpD,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACnB,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;YACD,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;YACD,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAChC,CAAC;CACF"}
@@ -12,18 +12,28 @@
12
12
  import { type AcpFix } from "../../core/types.js";
13
13
  export declare const STEP_TYPE_USER = 14;
14
14
  export declare const STEP_TYPE_AGENT = 15;
15
+ export declare const STEP_TYPE_ERROR = 17;
15
16
  export declare const STEP_TYPE_CHECKPOINT = 23;
16
17
  export declare const CHECKPOINT_STATUS_IN_PROGRESS = 2;
17
18
  export declare const CHECKPOINT_STATUS_ABORTED = 5;
18
19
  export declare const DONE_CH_PANIC_MARKER = "could not find doneCh for checkpoint";
19
20
  export declare function getConversationDbPath(sessionId: string): string;
21
+ export declare function extractExecutorMetadataStepIdx(data: Uint8Array): number | null;
22
+ export declare function extractGenMetadataStepIndices(data: Uint8Array): {
23
+ stepIdx: number | null;
24
+ earliestIdx: number | null;
25
+ };
20
26
  /**
21
27
  * Automatically repairs orphaned in-progress steps (status=2), including checkpoints
22
28
  * (step_type=23) and action/tool steps (step_type=21), left behind by cancelled, aborted,
23
29
  * or interrupted Antigravity turns. Setting status=5 (aborted) prevents Antigravity
24
30
  * from crashing on resumption or next prompt with "could not find doneCh for checkpoint".
25
31
  *
26
- * Returns the number of repaired steps.
32
+ * Also prunes orphaned or out-of-bounds `executor_metadata` and `gen_metadata` entries
33
+ * whose step indices exceed the maximum valid step in `steps`, preventing fatal Go executor
34
+ * panics ("earliest step index is out of bounds: X vs Y").
35
+ *
36
+ * Returns the number of repaired steps and metadata records.
27
37
  */
28
38
  export declare function repairOrphanedCheckpoints(sessionId: string, customDbPath?: string): number;
29
39
  export declare const orphanedCheckpointsFix: AcpFix;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fixes/orphaned-checkpoints/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,EAGL,KAAK,MAAM,EAEZ,MAAM,qBAAqB,CAAC;AAG7B,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,eAAO,MAAM,oBAAoB,yCAAyC,CAAC;AAE3E,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAG/D;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAmC1F;AAED,eAAO,MAAM,sBAAsB,EAAE,MAcpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fixes/orphaned-checkpoints/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,EAGL,KAAK,MAAM,EAEZ,MAAM,qBAAqB,CAAC;AAI7B,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,eAAO,MAAM,oBAAoB,yCAAyC,CAAC;AAE3E,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAG/D;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAsB9E;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,UAAU,GAAG;IAC/D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAuBA;AA8DD;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAsC1F;AAED,eAAO,MAAM,sBAAsB,EAAE,MAiBpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAyB,CAAC"}
@@ -15,8 +15,10 @@ import { join } from "node:path";
15
15
  import { DatabaseSync } from "node:sqlite";
16
16
  import { ACP_METHODS, } from "../../core/types.js";
17
17
  import { extractSessionId } from "../../core/session-cache.js";
18
+ import { decodeVarint, getField } from "../../lib/protobuf.js";
18
19
  export const STEP_TYPE_USER = 14;
19
20
  export const STEP_TYPE_AGENT = 15;
21
+ export const STEP_TYPE_ERROR = 17;
20
22
  export const STEP_TYPE_CHECKPOINT = 23;
21
23
  export const CHECKPOINT_STATUS_IN_PROGRESS = 2;
22
24
  export const CHECKPOINT_STATUS_ABORTED = 5;
@@ -25,13 +27,120 @@ export function getConversationDbPath(sessionId) {
25
27
  const geminiHome = process.env.GEMINI_HOME || join(homedir(), ".gemini");
26
28
  return join(geminiHome, "antigravity-acp", "conversations", `${sessionId}.db`);
27
29
  }
30
+ export function extractExecutorMetadataStepIdx(data) {
31
+ let offset = 0;
32
+ while (offset < data.length) {
33
+ const [tag, nextOffset] = decodeVarint(data, offset);
34
+ const fieldNum = tag >> 3;
35
+ const wireType = tag & 7;
36
+ if (wireType === 0) {
37
+ const [v, after] = decodeVarint(data, nextOffset);
38
+ if (fieldNum === 3)
39
+ return v;
40
+ offset = after;
41
+ }
42
+ else if (wireType === 2) {
43
+ const [len, afterLen] = decodeVarint(data, nextOffset);
44
+ offset = afterLen + len;
45
+ }
46
+ else if (wireType === 1) {
47
+ offset = nextOffset + 8;
48
+ }
49
+ else if (wireType === 5) {
50
+ offset = nextOffset + 4;
51
+ }
52
+ else {
53
+ break;
54
+ }
55
+ }
56
+ return null;
57
+ }
58
+ export function extractGenMetadataStepIndices(data) {
59
+ let stepIdx = null;
60
+ let earliestIdx = null;
61
+ const f2 = getField(data, 2);
62
+ if (f2 && f2.length >= 2) {
63
+ const [v1] = decodeVarint(f2, 0);
64
+ stepIdx = v1;
65
+ }
66
+ const f1 = getField(data, 1);
67
+ if (f1) {
68
+ const f9 = getField(f1, 9);
69
+ if (f9 && f9.length >= 2) {
70
+ const [tag, off] = decodeVarint(f9, 0);
71
+ if (tag >> 3 === 1) {
72
+ const [val] = decodeVarint(f9, off);
73
+ earliestIdx = val;
74
+ }
75
+ }
76
+ }
77
+ return { stepIdx, earliestIdx };
78
+ }
79
+ function repairStepCheckpoints(db) {
80
+ const stmt = db.prepare(`
81
+ UPDATE steps
82
+ SET status = ${CHECKPOINT_STATUS_ABORTED},
83
+ step_payload = CASE
84
+ WHEN length(step_payload) >= 4 AND substr(step_payload, 3, 2) = x'2002'
85
+ THEN CAST(substr(step_payload, 1, 3) || x'05' || substr(step_payload, 5) AS BLOB)
86
+ ELSE step_payload
87
+ END
88
+ WHERE status = ${CHECKPOINT_STATUS_IN_PROGRESS} OR (length(step_payload) >= 4 AND substr(step_payload, 3, 2) = x'2002');
89
+ `);
90
+ return Number(stmt.run().changes);
91
+ }
92
+ function pruneExecutorMetadata(db, maxStepIdx) {
93
+ const hasTable = db
94
+ .prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'executor_metadata'")
95
+ .get();
96
+ if (!hasTable)
97
+ return 0;
98
+ let pruned = 0;
99
+ const rows = db
100
+ .prepare("SELECT idx, data FROM executor_metadata ORDER BY idx DESC")
101
+ .all();
102
+ for (const row of rows) {
103
+ if (!row.data)
104
+ continue;
105
+ const step = extractExecutorMetadataStepIdx(row.data);
106
+ if (step !== null && step > maxStepIdx) {
107
+ db.prepare("DELETE FROM executor_metadata WHERE idx = ?").run(row.idx);
108
+ pruned++;
109
+ }
110
+ }
111
+ return pruned;
112
+ }
113
+ function pruneGenMetadata(db, maxStepIdx) {
114
+ const hasTable = db
115
+ .prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'gen_metadata'")
116
+ .get();
117
+ if (!hasTable)
118
+ return 0;
119
+ let pruned = 0;
120
+ const rows = db.prepare("SELECT idx, data FROM gen_metadata ORDER BY idx DESC").all();
121
+ for (const row of rows) {
122
+ if (!row.data)
123
+ continue;
124
+ const { stepIdx, earliestIdx } = extractGenMetadataStepIndices(row.data);
125
+ if ((stepIdx !== null && stepIdx > maxStepIdx) ||
126
+ (earliestIdx !== null && earliestIdx > maxStepIdx)) {
127
+ db.prepare("DELETE FROM gen_metadata WHERE idx = ?").run(row.idx);
128
+ pruned++;
129
+ }
130
+ }
131
+ return pruned;
132
+ }
28
133
  /**
29
134
  * Automatically repairs orphaned in-progress steps (status=2), including checkpoints
30
135
  * (step_type=23) and action/tool steps (step_type=21), left behind by cancelled, aborted,
31
136
  * or interrupted Antigravity turns. Setting status=5 (aborted) prevents Antigravity
32
137
  * from crashing on resumption or next prompt with "could not find doneCh for checkpoint".
33
138
  *
34
- * Returns the number of repaired steps.
139
+ * Also prunes orphaned or out-of-bounds `executor_metadata` and `gen_metadata` entries
140
+ * whose step indices exceed the maximum valid step in `steps`, preventing fatal Go executor
141
+ * panics ("earliest step index is out of bounds: X vs Y").
142
+ *
143
+ * Returns the number of repaired steps and metadata records.
35
144
  */
36
145
  export function repairOrphanedCheckpoints(sessionId, customDbPath) {
37
146
  const dbPath = customDbPath ?? getConversationDbPath(sessionId);
@@ -40,20 +149,21 @@ export function repairOrphanedCheckpoints(sessionId, customDbPath) {
40
149
  let db = null;
41
150
  try {
42
151
  db = new DatabaseSync(dbPath, { timeout: 2000 });
43
- const stmt = db.prepare(`
44
- UPDATE steps
45
- SET status = ${CHECKPOINT_STATUS_ABORTED},
46
- step_payload = CASE
47
- WHEN length(step_payload) >= 4 AND substr(step_payload, 3, 2) = x'2002'
48
- THEN CAST(substr(step_payload, 1, 3) || x'05' || substr(step_payload, 5) AS BLOB)
49
- ELSE step_payload
50
- END
51
- WHERE status = ${CHECKPOINT_STATUS_IN_PROGRESS} OR (length(step_payload) >= 4 AND substr(step_payload, 3, 2) = x'2002');
52
- `);
53
- const result = stmt.run();
54
- const repairedCount = Number(result.changes);
152
+ let repairedCount = repairStepCheckpoints(db);
153
+ const maxRow = db
154
+ .prepare(`SELECT max(idx) as m FROM steps WHERE step_type != ${STEP_TYPE_ERROR}`)
155
+ .get();
156
+ const maxStepIdx = maxRow?.m ?? null;
157
+ if (maxStepIdx !== null) {
158
+ const cleanErrorSteps = db
159
+ .prepare(`DELETE FROM steps WHERE idx > ? AND step_type = ${STEP_TYPE_ERROR}`)
160
+ .run(maxStepIdx);
161
+ repairedCount += Number(cleanErrorSteps.changes);
162
+ repairedCount += pruneExecutorMetadata(db, maxStepIdx);
163
+ repairedCount += pruneGenMetadata(db, maxStepIdx);
164
+ }
55
165
  if (repairedCount > 0) {
56
- console.error(`[refined-antigravity-acp] Repaired ${repairedCount} orphaned checkpoint/step(s) for session ${sessionId}`);
166
+ console.error(`[refined-antigravity-acp] Repaired ${repairedCount} orphaned checkpoint/step/metadata record(s) for session ${sessionId}`);
57
167
  }
58
168
  return repairedCount;
59
169
  }
@@ -69,7 +179,8 @@ export const orphanedCheckpointsFix = {
69
179
  name: "orphaned-checkpoints",
70
180
  description: "Repairs orphaned in-progress SQLite checkpoints to prevent fatal doneCh panics on resumption",
71
181
  onOutbound(msg, _context) {
72
- if ("method" in msg && msg.method === ACP_METHODS.SESSION_LOAD) {
182
+ if ("method" in msg &&
183
+ (msg.method === ACP_METHODS.SESSION_LOAD || msg.method === ACP_METHODS.SESSION_PROMPT)) {
73
184
  const sessionId = extractSessionId(msg);
74
185
  if (sessionId) {
75
186
  repairOrphanedCheckpoints(sessionId);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/fixes/orphaned-checkpoints/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,WAAW,GAIZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEvC,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAE3C,MAAM,CAAC,MAAM,oBAAoB,GAAG,sCAAsC,CAAC;AAE3E,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC,UAAU,EAAE,iBAAiB,EAAE,eAAe,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;AACjF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAiB,EAAE,YAAqB;IAChF,MAAM,MAAM,GAAG,YAAY,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAChE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IAElC,IAAI,EAAE,GAAwB,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,EAAE,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;qBAEP,yBAAyB;;;;;;uBAMvB,6BAA6B;KAC/C,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CACX,sCAAsC,aAAa,4CAA4C,SAAS,EAAE,CAC3G,CAAC;QACJ,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,sEAAsE,SAAS,GAAG,EAClF,GAAG,CACJ,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;YAAS,CAAC;QACT,EAAE,EAAE,KAAK,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAW;IAC5C,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,8FAA8F;IAEhG,UAAU,CAAC,GAAqB,EAAE,QAAyB;QACzD,IAAI,QAAQ,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,YAAY,EAAE,CAAC;YAC/D,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,SAAS,EAAE,CAAC;gBACd,yBAAyB,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/fixes/orphaned-checkpoints/index.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export interface AntigravityConnectorOptions {
17
17
  recycleSpawnAttempts?: number;
18
18
  /** Delay between failed respawn attempts. */
19
19
  recycleRetryDelayMs?: number;
20
+ promptSettlementTimeoutMs?: number;
20
21
  }
21
22
  /**
22
23
  * Creates an in-process ACP connector stream that launches the official `agy_acp_server` binary,
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAa,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAWjF,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,sCAAsC,CAAC;AAG7F,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAE3B,eAAO,MAAM,qBAAqB,MAAgC,CAAC;AAEnE,MAAM,WAAW,2BAA2B;IAC1C,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sFAAsF;IACtF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,YAAiC,EAC1C,OAAO,CAAC,EAAE,2BAA2B,GACpC,YAAY,CAqBd;AAED,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAa,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAWjF,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,sCAAsC,CAAC;AAG7F,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAE3B,eAAO,MAAM,qBAAqB,MAAgC,CAAC;AAEnE,MAAM,WAAW,2BAA2B;IAC1C,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sFAAsF;IACtF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,YAAiC,EAC1C,OAAO,CAAC,EAAE,2BAA2B,GACpC,YAAY,CAsBd;AAED,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
package/dist/src/index.js CHANGED
@@ -37,6 +37,7 @@ export function createAntigravityConnector(proxies = sharedMcpProxyPool, options
37
37
  recycleTimeoutMs: options?.recycleTimeoutMs,
38
38
  recycleSpawnAttempts: options?.recycleSpawnAttempts,
39
39
  recycleRetryDelayMs: options?.recycleRetryDelayMs,
40
+ promptSettlementTimeoutMs: options?.promptSettlementTimeoutMs,
40
41
  });
41
42
  return supervisor.createStreams();
42
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,sCAAsC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,+CAA+C;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAAqB,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE7F,gCAAgC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAE3B,MAAM,CAAC,MAAM,qBAAqB,GAAG,6BAA6B,CAAC;AAWnE;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAwB,kBAAkB,EAC1C,OAAqC;IAErC,OAAO,KAAK,IAAwB,EAAE;QACpC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAEpD,MAAM,OAAO,GAAG,OAAO,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE9C,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC;YACvC,GAAG;YACH,IAAI;YACJ,YAAY;YACZ,QAAQ,EAAE,IAAI,WAAW,CAAC,kBAAkB,EAAE,CAAC;YAC/C,OAAO;YACP,YAAY,EAAE,OAAO,EAAE,YAAY;YACnC,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;YAC3C,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;YACnD,mBAAmB,EAAE,OAAO,EAAE,mBAAmB;SAClD,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,sCAAsC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,+CAA+C;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAAqB,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE7F,gCAAgC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAE3B,MAAM,CAAC,MAAM,qBAAqB,GAAG,6BAA6B,CAAC;AAYnE;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAwB,kBAAkB,EAC1C,OAAqC;IAErC,OAAO,KAAK,IAAwB,EAAE;QACpC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAEpD,MAAM,OAAO,GAAG,OAAO,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE9C,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC;YACvC,GAAG;YACH,IAAI;YACJ,YAAY;YACZ,QAAQ,EAAE,IAAI,WAAW,CAAC,kBAAkB,EAAE,CAAC;YAC/C,OAAO;YACP,YAAY,EAAE,OAAO,EAAE,YAAY;YACnC,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;YAC3C,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;YACnD,mBAAmB,EAAE,OAAO,EAAE,mBAAmB;YACjD,yBAAyB,EAAE,OAAO,EAAE,yBAAyB;SAC9D,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simonepri/refined-antigravity-acp",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "description": "🤦 A Google Antigravity ACP binary that actually works.",
5
5
  "keywords": [
6
6
  "acp",
@@ -84,5 +84,5 @@
84
84
  "engines": {
85
85
  "node": ">=22.0.0"
86
86
  },
87
- "packageManager": "pnpm@9.15.4"
87
+ "packageManager": "pnpm@9.15.9"
88
88
  }
package/readme.md CHANGED
@@ -149,6 +149,7 @@ The matrix below documents upstream defects across process startup, turn executi
149
149
  | [**Interruption Cancellation Leak**](src/fixes/cancellation-leak/index.ts) | **Problem**: Interrupted turns leak raw internal Go/Python cancellation exception strings (_"context canceledThe request was cancelled by the client."_) directly into assistant message chunks.<br>🔗 [`problem: raw cancellation leak`](src/fixes/cancellation-leak/index.e2e.test.ts#L6) | Drops raw upstream cancellation error chunks so editor chat feeds remain clean on interruption.<br>🔗 [`solution: cancellation drop`](src/fixes/cancellation-leak/index.e2e.test.ts#L11) |
150
150
  | [**Stale Ephemeral MCP Endpoints**](src/fixes/stale-mcp-endpoints/index.ts) | **Problem**: When a hung child process is recycled, resending initial `mcpServers` with outdated localhost ports fails because proxy endpoints have changed.<br>🔗 [`problem: stale proxy port`](src/fixes/stale-mcp-endpoints/index.e2e.test.ts#L20) | Uses `McpProxyPool` to dynamically intercept, remap, and heal MCP tool URLs across process restarts.<br>🔗 [`solution: proxy URL remapping`](src/fixes/stale-mcp-endpoints/index.e2e.test.ts#L20) |
151
151
  | [**Orphaned SQLite Checkpoints**](src/fixes/orphaned-checkpoints/index.ts) | **Problem**: Canceling a turn leaves in-progress checkpoints uncommitted in SQLite, causing fatal panics (_"could not find doneCh for checkpoint"_) on future turns.<br>🔗 [`problem: orphaned checkpoint`](src/fixes/orphaned-checkpoints/index.e2e.test.ts#L11) | Scans the session SQLite database on startup and teardown, updating orphaned in-progress checkpoints to `ABORTED` (status 5).<br>🔗 [`solution: checkpoint repair`](src/fixes/orphaned-checkpoints/index.e2e.test.ts#L42) |
152
+ | [**Out-of-Bounds Generation Metadata**](src/fixes/orphaned-checkpoints/index.ts) | **Problem**: Canceling or truncating turns leaves orphaned metadata in SQLite referencing future step indices, causing Go executor panics (_"earliest step index is out of bounds"_).<br>🔗 [`problem: out-of-bounds metadata`](src/fixes/orphaned-checkpoints/index.e2e.test.ts#L224) | Automatically prunes orphaned executor and generation metadata referencing non-existent step indices on prompt and load.<br>🔗 [`solution: metadata pruning`](src/fixes/orphaned-checkpoints/index.e2e.test.ts#L268) |
152
153
  | [**Unscoped Database Corruptions**](src/fixes/orphaned-checkpoints/index.ts) | **Problem**: Global database repair scans would mutate concurrent session databases across open tabs, corrupting active turns.<br>🔗 [`problem: concurrent tab safety`](src/fixes/orphaned-checkpoints/index.e2e.test.ts#L78) | Scopes checkpoint repair strictly to the target `sessionId.db`, isolating concurrent editor tabs.<br>🔗 [`solution: scoped session repair`](src/fixes/orphaned-checkpoints/index.e2e.test.ts#L117) |
153
154
  | [**Database Concurrency Lockout**](src/fixes/orphaned-checkpoints/index.ts) | **Problem**: Raw `DatabaseSync` without busy timeout throws `SQLITE_BUSY: database is locked` when reading conversation steps during active writes.<br>🔗 [`problem: raw sqlite busy error`](src/fixes/orphaned-checkpoints/index.ts#L41) | Configures all database connections with `timeout: 2000` to wait out locks during concurrent reads and writes.<br>🔗 [`solution: sqlite timeout wait`](src/fixes/orphaned-checkpoints/index.ts#L41) |
154
155
  | [**Dropped History Chunks on Load**](src/fixes/dropped-history-chunks/index.ts) | **Problem**: Raw `agy_acp_server` drops thought chains and agent message chunks during `session/load`, loading an incomplete history.<br>🔗 [`problem: dropped history chunks`](src/fixes/dropped-history-chunks/index.e2e.test.ts#L53) | Directly inspects protobuf steps in SQLite and reconstructs missing thought and message update events.<br>🔗 [`solution: sqlite history reconstruction`](src/fixes/dropped-history-chunks/index.e2e.test.ts#L99) |
@@ -321,7 +322,7 @@ For OAuth logins, the server runs a local browser login flow and saves credentia
321
322
 
322
323
  | Variable | Default | Description |
323
324
  | :--------------------------------- | :----------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
324
- | `REFINED_AGY_OFFICIAL_ACP_VERSION` | `1.2.1` | Version of the official upstream Google Antigravity ACP binary (`agy_acp_server.par`) to download if not installed locally. (Falls back to `REFINED_AGY_VERSION` if set). |
325
+ | `REFINED_AGY_OFFICIAL_ACP_VERSION` | `1.3.0` | Version of the official upstream Google Antigravity ACP binary (`agy_acp_server.par`) to download if not installed locally. (Falls back to `REFINED_AGY_VERSION` if set). |
325
326
  | `REFINED_AGY_ACP_BIN` | Auto-detected | Custom path to an `agy_acp_server.par` binary. |
326
327
  | `REFINED_AGY_RECYCLE_TIMEOUT_MS` | `10000` | Timeout (in ms) when respawning and resyncing a replacement process after an upstream Antigravity crash or deadlock (e.g. subagent channel panic). Caps how long internal initialization, session loading, and mode restoration requests can take before retrying. |
327
328
  | `REFINED_AGY_TRACE` | `0` | Set to `1` to trace inbound/outbound ACP JSON-RPC message ids to stderr and restore the full upstream debug log (normally filtered). |