@sumicom/quicksave 0.8.16 → 0.8.17

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.
@@ -20,19 +20,43 @@ export interface CardAdapterContext {
20
20
  * pulls the per-turn delta on `turn/completed`. */
21
21
  tokens: TokenAccounting;
22
22
  }
23
+ export interface CodexTurnStreamConsumer {
24
+ readonly turnId: string;
25
+ readonly result: Promise<{
26
+ status: TurnStatus;
27
+ error?: ErrorNotification['error'];
28
+ }>;
29
+ dispatch(notification: {
30
+ method: string;
31
+ params: unknown;
32
+ }): void;
33
+ closeAsInterrupted(): void;
34
+ dispose(): void;
35
+ }
23
36
  /**
24
- * Subscribe to the RPC client's notification stream and translate v2
25
- * notifications into `StreamCardBuilder` mutator calls.
37
+ * Translate v2 notifications for a single Codex turn into
38
+ * `StreamCardBuilder` mutator calls.
26
39
  *
27
- * Returns once `turn/completed` arrives for `ctx.turnId`. The caller
28
- * (provider's `runTurn`) handles user-cancel via `turn/interrupt`.
40
+ * The provider owns the app-server subscription at session scope and feeds
41
+ * notifications into this consumer. The legacy `consumeAppServerStream`
42
+ * wrapper below still subscribes directly for adapter-focused tests.
29
43
  *
30
- * IMPORTANT: this function is provider-only. It MUST NOT change the
44
+ * IMPORTANT: this factory is provider-only. It MUST NOT change the
31
45
  * `Card` / `CardEvent` shapes the cardBuilder emits — those are the
32
46
  * red-line contract. The dispatch table here matches plan §11's
33
47
  * resolved mapping; if a v2 notification needs a new card variant,
34
48
  * stop and add it to the cardBuilder API additively, then come back.
35
49
  */
50
+ export declare function createCodexTurnStreamConsumer(cb: StreamCardBuilder, ctx: CardAdapterContext, callbacks: ProviderCallbacks): CodexTurnStreamConsumer;
51
+ /**
52
+ * Subscribe to the RPC client's notification stream and translate v2
53
+ * notifications into `StreamCardBuilder` mutator calls for one turn.
54
+ *
55
+ * Kept as a thin wrapper for tests and any legacy call sites. Provider
56
+ * production flow should use `createCodexTurnStreamConsumer` with a
57
+ * session-scoped subscription so goal/autonomous-turn notifications are not
58
+ * lost after a regular `turn/completed`.
59
+ */
36
60
  export declare function consumeAppServerStream(rpc: CodexRpcClient, cb: StreamCardBuilder, ctx: CardAdapterContext, callbacks: ProviderCallbacks): Promise<{
37
61
  status: TurnStatus;
38
62
  error?: ErrorNotification['error'];
@@ -1 +1 @@
1
- {"version":3,"file":"cardAdapter.d.ts","sourceRoot":"","sources":["../../../src/ai/codexAppServer/cardAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAsC,MAAM,2BAA2B,CAAC;AAE/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAavD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAGpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAkBtE,MAAM,WAAW,kBAAkB;IACjC;;yCAEqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB;wCACoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf;;uDAEmD;IACnD,MAAM,EAAE,eAAe,CAAC;CACzB;AAwFD;;;;;;;;;;;;GAYG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,iBAAiB,EACrB,GAAG,EAAE,kBAAkB,EACvB,SAAS,EAAE,iBAAiB,GAC3B,OAAO,CAAC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC,CA0vBrE;AAkOD,MAAM,MAAM,oBAAoB,GAAG,CAAC,YAAY,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,KAAK,IAAI,CAAC;AAC/F,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"cardAdapter.d.ts","sourceRoot":"","sources":["../../../src/ai/codexAppServer/cardAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAsC,MAAM,2BAA2B,CAAC;AAE/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAavD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAGpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAkBtE,MAAM,WAAW,kBAAkB;IACjC;;yCAEqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB;wCACoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf;;uDAEmD;IACnD,MAAM,EAAE,eAAe,CAAC;CACzB;AAwFD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACrF,QAAQ,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAClE,kBAAkB,IAAI,IAAI,CAAC;IAC3B,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAC3C,EAAE,EAAE,iBAAiB,EACrB,GAAG,EAAE,kBAAkB,EACvB,SAAS,EAAE,iBAAiB,GAC3B,uBAAuB,CA0vBzB;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,iBAAiB,EACrB,GAAG,EAAE,kBAAkB,EACvB,SAAS,EAAE,iBAAiB,GAC3B,OAAO,CAAC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC,CAWrE;AAkOD,MAAM,MAAM,oBAAoB,GAAG,CAAC,YAAY,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,KAAK,IAAI,CAAC;AAC/F,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC"}
@@ -62,19 +62,20 @@ function guardianActionItemId(_action) {
62
62
  return null;
63
63
  }
64
64
  /**
65
- * Subscribe to the RPC client's notification stream and translate v2
66
- * notifications into `StreamCardBuilder` mutator calls.
65
+ * Translate v2 notifications for a single Codex turn into
66
+ * `StreamCardBuilder` mutator calls.
67
67
  *
68
- * Returns once `turn/completed` arrives for `ctx.turnId`. The caller
69
- * (provider's `runTurn`) handles user-cancel via `turn/interrupt`.
68
+ * The provider owns the app-server subscription at session scope and feeds
69
+ * notifications into this consumer. The legacy `consumeAppServerStream`
70
+ * wrapper below still subscribes directly for adapter-focused tests.
70
71
  *
71
- * IMPORTANT: this function is provider-only. It MUST NOT change the
72
+ * IMPORTANT: this factory is provider-only. It MUST NOT change the
72
73
  * `Card` / `CardEvent` shapes the cardBuilder emits — those are the
73
74
  * red-line contract. The dispatch table here matches plan §11's
74
75
  * resolved mapping; if a v2 notification needs a new card variant,
75
76
  * stop and add it to the cardBuilder API additively, then come back.
76
77
  */
77
- export async function consumeAppServerStream(rpc, cb, ctx, callbacks) {
78
+ export function createCodexTurnStreamConsumer(cb, ctx, callbacks) {
78
79
  const state = emptyState();
79
80
  const emit = (event) => {
80
81
  if (!event)
@@ -690,23 +691,43 @@ export async function consumeAppServerStream(rpc, cb, ctx, callbacks) {
690
691
  ctx.tokens.releaseTurn(ctx.turnId);
691
692
  resolveResult({ status, error });
692
693
  };
693
- const unsubscribe = rpc.onNotification(dispatch);
694
- // Tear-down on transport close — emit a synthetic interrupted end if
695
- // the run wasn't already finalized.
696
- const closeFallback = () => {
694
+ const closeAsInterrupted = () => {
697
695
  if (state.turnEnded)
698
696
  return;
699
697
  void finalize('interrupted', undefined);
700
698
  };
701
- const unsubscribeClose = rpc.onClose(closeFallback);
699
+ const dispose = () => {
700
+ if (state.textTimer)
701
+ clearTimeout(state.textTimer);
702
+ };
703
+ return {
704
+ turnId: ctx.turnId,
705
+ result,
706
+ dispatch,
707
+ closeAsInterrupted,
708
+ dispose,
709
+ };
710
+ }
711
+ /**
712
+ * Subscribe to the RPC client's notification stream and translate v2
713
+ * notifications into `StreamCardBuilder` mutator calls for one turn.
714
+ *
715
+ * Kept as a thin wrapper for tests and any legacy call sites. Provider
716
+ * production flow should use `createCodexTurnStreamConsumer` with a
717
+ * session-scoped subscription so goal/autonomous-turn notifications are not
718
+ * lost after a regular `turn/completed`.
719
+ */
720
+ export async function consumeAppServerStream(rpc, cb, ctx, callbacks) {
721
+ const consumer = createCodexTurnStreamConsumer(cb, ctx, callbacks);
722
+ const unsubscribe = rpc.onNotification(consumer.dispatch);
723
+ const unsubscribeClose = rpc.onClose(() => consumer.closeAsInterrupted());
702
724
  try {
703
- return await result;
725
+ return await consumer.result;
704
726
  }
705
727
  finally {
706
728
  unsubscribe();
707
729
  unsubscribeClose();
708
- if (state.textTimer)
709
- clearTimeout(state.textTimer);
730
+ consumer.dispose();
710
731
  }
711
732
  }
712
733
  // ── helpers ──
@@ -1 +1 @@
1
- {"version":3,"file":"cardAdapter.js","sourceRoot":"","sources":["../../../src/ai/codexAppServer/cardAdapter.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAmBvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE;;uCAEuC;AACvC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,2BAA2B,GAAG,GAAG,CAAC,CAAC,yBAAyB;AAClE,MAAM,wBAAwB,GAAG,2BAA2B,GAAG,CAAC,CAAC;AAEjE;;qDAEqD;AACrD,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAmDhC,SAAS,UAAU;IACjB,OAAO;QACL,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,IAAI;QACf,wBAAwB,EAAE,IAAI,GAAG,EAAE;QACnC,qBAAqB,EAAE,IAAI,GAAG,EAAE;QAChC,oBAAoB,EAAE,IAAI,GAAG,EAAE;QAC/B,gBAAgB,EAAE,IAAI,GAAG,EAAE;QAC3B,UAAU,EAAE,IAAI,GAAG,EAAE;QACrB,oBAAoB,EAAE,IAAI,GAAG,EAAE;QAC/B,qBAAqB,EAAE,IAAI,GAAG,EAAE;QAChC,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA8B;IAC1D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG;QACd,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI;QACrD,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,uBAAuB,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI;KACpF,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAI,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAwC;IACnE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,YAAY;YACf,OAAO,WAAW,CAAC;QACrB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,WAAW,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAqC;IACjE,6EAA6E;IAC7E,wEAAwE;IACxE,gEAAgE;IAChE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,GAAmB,EACnB,EAAqB,EACrB,GAAuB,EACvB,SAA4B;IAE5B,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAE3B,MAAM,IAAI,GAAG,CAAC,KAAmC,EAAQ,EAAE;QACzD,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,SAAS,CAAC,aAAa,CAAC;gBACtB,GAAG,KAAK;gBACR,IAAI,EAAE;oBACJ,GAAG,IAAI;oBACP,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB;wBACxD,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;iBAClC;aACF,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAS,EAAE;QAC3B,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YACzC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC9B,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,KAAa,EAAQ,EAAE;QACzC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,GAAwE,EAAU,EAAE,CACpG,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;IAE3E,MAAM,aAAa,GAAG,CAAC,GAAwE,EAAQ,EAAE;QACvG,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QACtC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,cAAc,CAAC;QAC9C,MAAM,KAAK,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,CAAC;IACd,CAAC,CAAC;IAEF,2EAA2E;IAC3E,IAAI,aAA0F,CAAC;IAC/F,MAAM,MAAM,GAAG,IAAI,OAAO,CAA6D,CAAC,OAAO,EAAE,EAAE;QACjG,aAAa,GAAG,OAAO,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,CAAC,YAAiD,EAAQ,EAAE;QAC3E,IAAI,KAAK,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,CAAC;YACH,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,oEAAoE;YACpE,OAAO,CAAC,IAAI,CACV,0CAA0C,YAAY,CAAC,MAAM,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,oBAAoB,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAC9K,CAAC;YACF,IAAI,CACF,EAAE,CAAC,aAAa,CACd,6BAA6B,YAAY,CAAC,MAAM,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACvG,OAAO,CACR,CACF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,YAAiD,EAAQ,EAAE;QACrF,QAAQ,YAAY,CAAC,MAAM,EAAE,CAAC;YAC5B,KAAK,cAAc;gBACjB,iDAAiD;gBACjD,OAAO;YAET,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAmC,CAAC;gBAChE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,MAAM;oBAAE,OAAO;gBAC1C,KAAK,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC;gBAClE,OAAO;YACT,CAAC;YAED,KAAK,2BAA2B,CAAC,CAAC,CAAC;gBACjC,MAAM,MAAM,GAAG,YAAY,CAAC,MAA6C,CAAC;gBAC1E,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAiC,CAAC;gBAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;oBAAE,OAAO;gBACzC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAmC,CAAC;gBAChE,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;oBAAE,OAAO;gBACzC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,KAAK,yBAAyB,CAAC,CAAC,CAAC;gBAC/B,MAAM,MAAM,GAAG,YAAY,CAAC,MAAuC,CAAC;gBACpE,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;oBAAE,OAAO;gBACzC,IAAI,CAAC,MAAM,CAAC,KAAK;oBAAE,OAAO;gBAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpE,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9E,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,KAAK,iCAAiC,CAAC;YACvC,KAAK,0BAA0B,CAAC,CAAC,CAAC;gBAChC,MAAM,MAAM,GAAG,YAAY,CAAC,MAEM,CAAC;gBACnC,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;oBAAE,OAAO;gBACzC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO;oBAAE,OAAO;gBACrB,MAAM,IAAI,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjE,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC3E,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrC,OAAO;YACT,CAAC;YAED,KAAK,iCAAiC;gBACpC,6DAA6D;gBAC7D,4DAA4D;gBAC5D,2BAA2B;gBAC3B,SAAS,EAAE,CAAC;gBACZ,OAAO;YAET,KAAK,mCAAmC,CAAC,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAiD,CAAC;gBAC9E,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;oBAAE,OAAO;gBACzC,MAAM,WAAW,GAAG,uBAAuB,CACzC,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EACnD,MAAM,CAAC,KAAK,IAAI,EAAE,CACnB,CAAC;gBACF,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC3D,6DAA6D;gBAC7D,8DAA8D;gBAC9D,kCAAkC;gBAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;gBACvD,OAAO;YACT,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAqC,CAAC;gBAClE,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;oBAAE,OAAO;gBACzC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC1B,OAAO;YACT,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,MAAM,GAAG,YAAY,CAAC,MAA+B,CAAC;gBAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;oBAAE,OAAO;gBACzC,eAAe,CAAC,MAAM,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,KAAK,2BAA2B,CAAC,CAAC,CAAC;gBACjC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAyC,CAAC;gBACtE,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;oBAAE,OAAO;gBACzC,yBAAyB,CAAC,MAAM,CAAC,CAAC;gBAClC,OAAO;YACT,CAAC;YAED,KAAK,wBAAwB,CAAC,CAAC,CAAC;gBAC9B,MAAM,MAAM,GAAG,YAAY,CAAC,MAA2C,CAAC;gBACxE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC9C,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;uBAC9E,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,MAAM,GAAG,YAAY,CAAC,MAA2B,CAAC;gBACxD,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;oBAAE,OAAO;gBAC1D,IAAI,MAAM,CAAC,SAAS;oBAAE,OAAO,CAAC,mCAAmC;gBACjE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,OAAO;YACT,CAAC;YAED,KAAK,SAAS,CAAC;YACf,KAAK,eAAe,CAAC;YACrB,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,MAAM,GAAG,YAAY,CAAC,MAA8B,CAAC;gBAC3D,MAAM,IAAI,GAAG,MAAM,EAAE,OAAO,IAAI,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;gBAC3D,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBACxC,OAAO;YACT,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,4DAA4D;gBAC5D,mEAAmE;gBACnE,MAAM,MAAM,GAAG,YAAY,CAAC,MAAgD,CAAC;gBAC7E,IAAI,MAAM,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ;oBAAE,OAAO;gBAC7C,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,MAAM,CAAC,OAAO,IAAI,cAAc,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;gBACnF,OAAO;YACT,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,kEAAkE;gBAClE,iEAAiE;gBACjE,4CAA4C;gBAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,MAM3B,CAAC;gBACF,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;oBAAE,OAAO;gBACzC,IAAI,CACF,EAAE,CAAC,aAAa,CACd,mBAAmB,MAAM,CAAC,SAAS,MAAM,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,MAAM,GAAG,EAC5E,MAAM,CACP,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,yDAAyD;gBACzD,+DAA+D;gBAC/D,gCAAgC;gBAChC,MAAM,MAAM,GAAG,YAAY,CAAC,MAI3B,CAAC;gBACF,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;oBAAE,OAAO;gBACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa;qBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,IAAI,uBAAuB,CAAC;qBAC1D,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,yBAAyB,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;gBACvE,OAAO;YACT,CAAC;YAED,KAAK,iCAAiC,CAAC,CAAC,CAAC;gBACvC,+DAA+D;gBAC/D,8DAA8D;gBAC9D,oDAAoD;gBACpD,MAAM,MAAM,GAAG,YAAY,CAAC,MAI3B,CAAC;gBACF,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC/B,IAAI,CACF,EAAE,CAAC,aAAa,CACd,eAAe,MAAM,CAAC,IAAI,oBAAoB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EACvF,OAAO,CACR,CACF,CAAC;gBACJ,CAAC;gBACD,OAAO;YACT,CAAC;YAED,KAAK,iCAAiC,CAAC;YACvC,KAAK,mCAAmC,CAAC,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,YAAY,CAAC,MAK3B,CAAC;gBACF,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;oBAAE,OAAO;gBACzC,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACpD,IAAI,CAAC,OAAO;oBAAE,OAAO;gBACrB,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChF,MAAM,QAAQ,GAAG,YAAY;oBAC3B,CAAC,CAAC,EAAE,CAAC,wCAAwC,CAAC,YAAY,EAAE,OAAO,CAAC;oBACpE,CAAC,CAAC,IAAI,CAAC;gBACT,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,4CAA4C,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3E,OAAO;YACT,CAAC;YAED,KAAK,eAAe,CAAC;YACrB,KAAK,uBAAuB,CAAC;YAC7B,KAAK,qBAAqB,CAAC;YAC3B,KAAK,qBAAqB,CAAC;YAC3B,KAAK,qBAAqB,CAAC;YAC3B,KAAK,yBAAyB,CAAC;YAC/B,KAAK,gBAAgB,CAAC;YACtB,KAAK,iBAAiB,CAAC;YACvB,KAAK,mBAAmB,CAAC;YACzB,KAAK,kBAAkB,CAAC;YACxB,KAAK,8BAA8B,CAAC;YACpC,KAAK,6BAA6B,CAAC;YACnC,KAAK,mBAAmB,CAAC;YACzB,KAAK,2BAA2B,CAAC;YACjC,KAAK,2CAA2C;gBAC9C,2DAA2D;gBAC3D,kCAAkC;gBAClC,OAAO;YAET,iEAAiE;YACjE,iEAAiE;YACjE,mEAAmE;YACnE,mEAAmE;YACnE,iEAAiE;YACjE,cAAc;YACd,KAAK,yBAAyB,CAAC;YAC/B,KAAK,4BAA4B,CAAC;YAClC,KAAK,iBAAiB,CAAC;YACvB,KAAK,kBAAkB,CAAC;YACxB,KAAK,0BAA0B,CAAC;YAChC,KAAK,sCAAsC,CAAC;YAC5C,KAAK,YAAY,CAAC;YAClB,KAAK,kCAAkC,CAAC;YACxC,KAAK,gCAAgC,CAAC;YACtC,KAAK,cAAc,CAAC;YACpB,KAAK,gBAAgB,CAAC;YACtB,KAAK,gCAAgC,CAAC;YACtC,KAAK,qBAAqB,CAAC;YAC3B,KAAK,gBAAgB,CAAC;YACtB,KAAK,8BAA8B,CAAC;YACpC,KAAK,gBAAgB,CAAC;YACtB,KAAK,wBAAwB,CAAC;YAC9B,KAAK,uBAAuB,CAAC;YAC7B,KAAK,2BAA2B,CAAC;YACjC,KAAK,mCAAmC,CAAC;YACzC,KAAK,qBAAqB,CAAC;YAC3B,KAAK,yBAAyB,CAAC;YAC/B,KAAK,kCAAkC,CAAC;YACxC,KAAK,iCAAiC,CAAC;YACvC,KAAK,yBAAyB,CAAC;YAC/B,KAAK,8BAA8B,CAAC;YACpC,KAAK,+BAA+B;gBAClC,OAAO;YAET;gBACE,OAAO,CAAC,IAAI,CACV,+CAA+C,YAAY,CAAC,MAAM,WAAW,oBAAoB,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CACzH,CAAC;gBACF,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,mCAAmC,YAAY,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC5F,OAAO;QACX,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,IAAgB,EAAQ,EAAE;QACnD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,aAAa,CAAC;YACnB,KAAK,YAAY;gBACf,6DAA6D;gBAC7D,OAAO;YAET,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,4DAA4D;gBAC5D,6BAA6B;gBAC7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC9D,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;gBACD,OAAO;YACT,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,6DAA6D;gBAC7D,cAAc;gBACd,OAAO;YACT,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,SAAS,EAAE,CAAC;gBACZ,IAAI,CACF,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CACvD,CAAC;gBACF,OAAO;YACT,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,SAAS,EAAE,CAAC;gBACZ,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,SAAS,EAAE,CAAC;gBACZ,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,gEAAgE;gBAChE,gEAAgE;gBAChE,4DAA4D;gBAC5D,+DAA+D;gBAC/D,oCAAoC;gBACpC,SAAS,EAAE,CAAC;gBACZ,IAAI,CACF,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CACzE,CAAC;gBACF,OAAO;YACT,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,SAAS,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/E,IAAI,CACF,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAG,IAAI,CAAC,SAAqC,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CACjF,CAAC;gBACF,OAAO;YACT,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,oEAAoE;gBACpE,wEAAwE;gBACxE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACpE,IAAI,IAAI,EAAE,CAAC;oBACT,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;gBACnD,CAAC;gBACD,OAAO;YACT,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,kEAAkE;gBAClE,8CAA8C;gBAC9C,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,IAAI,CAAC,IAAI,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,6DAA6D;gBAC7D,iEAAiE;gBACjE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;gBACxC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,IAAI,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,wBAAwB,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;gBACtE,OAAO;YACT,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,uBAAuB,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,+DAA+D;gBAC/D,wDAAwD;gBACxD,yDAAyD;gBACzD,SAAS,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAG,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC;gBACvC,IAAI,CACF,EAAE,CAAC,OAAO,CACR,QAAQ,EACR;oBACE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;oBACzB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;oBAC9B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;iBAC1C,EACD,IAAI,CAAC,EAAE,CACR,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YAED,KAAK,mBAAmB;gBACtB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAC;gBACzD,OAAO;QACX,CAAC;QACD,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,IAAgB,EAAQ,EAAE;QACrD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,SAAS,EAAE,CAAC;gBACZ,MAAM,cAAc,GAAG,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACxE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBAClC,IAAI,SAAS,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;oBACtC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;oBACxD,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;gBAChE,CAAC;gBACD,MAAM,GAAG,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;gBACvC,IAAI,GAAG;oBAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,mEAAmE;gBACnE,kEAAkE;gBAClE,iEAAiE;gBACjE,MAAM,cAAc,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACrE,IAAI,cAAc,GAAG,CAAC;oBAAE,OAAO;gBAC/B,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACvD,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;oBAChC,OAAO;gBACT,CAAC;gBACD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACvD,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;gBAClC,CAAC;gBACD,OAAO;YACT,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,4EAA4E;gBAC5E,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/D,CAAC;gBACD,MAAM,WAAW,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;uBACtD,aAAa,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;gBAChD,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,IAAI,CACF,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,GAAG,cAAc,EAAE,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAC/E,CAAC;gBACF,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3C,OAAO;YACT,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC7B,cAAc,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;gBAC9D,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;gBACpE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;gBACxF,IAAI,QAAQ;oBAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,kEAAkE;gBAClE,gEAAgE;gBAChE,oEAAoE;gBACpE,iEAAiE;gBACjE,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC7D,OAAO;YACT,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/E,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC7B,IAAI,CACF,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAG,IAAI,CAAC,SAAqC,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CACjF,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;gBAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC;gBACtC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC3C,OAAO;YACT,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACpE,IAAI,IAAI;oBAAE,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACtC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,gEAAgE;gBAChE,+CAA+C;gBAC/C,IAAI,CAAC,EAAE,CAAC,cAAc,CACpB,IAAI,CAAC,aAAa,IAAI,aAAa,EACnC,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EACtD,IAAI,CAAC,SAAS,CACf,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,+DAA+D;gBAC/D,yDAAyD;gBACzD,kDAAkD;gBAClD,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC7B,IAAI,CACF,EAAE,CAAC,OAAO,CACR,UAAU,IAAI,CAAC,IAAI,EAAE,EACrB;wBACE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;wBACzB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;wBAC9B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;qBAC1C,EACD,IAAI,CAAC,EAAE,CACR,CACF,CAAC;gBACJ,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;gBACxC,IAAI,CACF,EAAE,CAAC,UAAU,CACX,IAAI,CAAC,EAAE,EACP,GAAG,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EACpH,MAAM,CACP,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YAED,KAAK,aAAa,CAAC;YACnB,KAAK,YAAY,CAAC;YAClB,KAAK,WAAW,CAAC;YACjB,KAAK,mBAAmB,CAAC;YACzB,KAAK,kBAAkB,CAAC;YACxB,KAAK,mBAAmB;gBACtB,OAAO;QACX,CAAC;QACD,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,IAAkD,EAAQ,EAAE;QAClF,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9C,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzC,SAAS,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAC1B,IAAiD,EACjD,WAAoB,EACd,EAAE;QACR,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC;YAC9D,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7E,MAAM,SAAS,GACb,IAAI,KAAK,OAAO;gBACd,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;gBAC3C,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;YACxE,mEAAmE;YACnE,kEAAkE;YAClE,iEAAiE;YACjE,qEAAqE;YACrE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;YAC1C,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;gBACxC,IAAI,CACF,EAAE,CAAC,UAAU,CACX,MAAM,EACN,GAAG,IAAI,KAAK,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,2BAA2B,CAAC,EAC5D,MAAM,CACP,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,MAAmC,EAAQ,EAAE;QACtE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,MAAM,EAAE,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC;SAC5C,CAAC,CAAC,CAAC;QACJ,MAAM,MAAM,GAAG,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACvC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,MAA6B,EAAQ,EAAE;QAC9D,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACtF,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,IAAY,EAAQ,EAAE;QAC1D,IAAI,CACF,EAAE,CAAC,OAAO,CACR,WAAW,EACX,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,EACrD,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CACvC,CACF,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,yBAAyB,GAAG,CAAC,MAAuC,EAAQ,EAAE;QAClF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,aAAa,CAAC,iBAAiB,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,EACpB,MAAkB,EAClB,KAA6C,EAC9B,EAAE;QACjB,IAAI,KAAK,CAAC,SAAS;YAAE,OAAO;QAC5B,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QACvB,SAAS,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;QACvC,IAAI,GAAG;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,KAAK,CAAC,CAAC;QACd,CAAC;QAED,IAAI,KAA8D,CAAC;QACnE,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YAClF,KAAK,GAAG,eAAe,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,MAAM,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;YACjC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,SAAS,GAAkB;YAC/B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,MAAM,KAAK,WAAW;YAC/B,GAAG,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK;gBAC9B,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE;gBAC/B,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,CAAC;QACF,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACnC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjD,qEAAqE;IACrE,oCAAoC;IACpC,MAAM,aAAa,GAAG,GAAS,EAAE;QAC/B,IAAI,KAAK,CAAC,SAAS;YAAE,OAAO;QAC5B,KAAK,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAEpD,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC;IACtB,CAAC;YAAS,CAAC;QACT,WAAW,EAAE,CAAC;QACd,gBAAgB,EAAE,CAAC;QACnB,IAAI,KAAK,CAAC,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,gBAAgB;AAEhB,SAAS,qBAAqB,CAAC,IAAW;IACxC,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI;QAC7D,CAAC,CAAC,MAAM,CAAE,IAA2B,CAAC,IAAI,CAAC;QAC3C,CAAC,CAAC,OAAO,IAAI,CAAC;IAChB,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,IAAI,CAAC,MAAM,IAAI,wBAAwB;QAAE,OAAO,IAAI,CAAC;IACzD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAgB,EAAE,KAAa;IAC9D,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,IAAI,wBAAwB;QAAE,OAAO,QAAQ,CAAC;IAC3E,MAAM,SAAS,GAAG,wBAAwB,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC7D,OAAO,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAe;IAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/D,MAAM,CAAC,GAAG,MAAkE,CAAC;IAC7E,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAe;IAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAC7D,MAAM,CAAC,GAAG,MAA4B,CAAC;IACvC,OAAO,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;;4EAG4E;AAC5E,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QACpC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,SAAS;QAC/D,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS,CAAC,gCAAgC;QACrE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAClD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,mEAAmE;IACrE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAe;IAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IACjE,MAAM,CAAC,GAAG,MAA4C,CAAC;IACvD,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACnG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,aAAa,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAC1F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAE3D,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;IAChD,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED;;;;8DAI8D;AAC9D,SAAS,qBAAqB,CAAC,IAAgD;IAC7E,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,MAAM,CAAC,KAAK;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;YACtC,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClF,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,KAAK,UAAU;YACb,OAAO,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;QAC1B,KAAK,YAAY;YACf,OAAO,MAAM,CAAC,OAAO;gBACnB,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,QAAQ,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBACxE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QACzB,KAAK,OAAO;YACV,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAkD;IACvE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9D,OAAO,MAAM,CAAE,IAAI,CAAC,KAA+B,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,aAAa,CAAC;IAClC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;QACtD,MAAM,OAAO,GAAI,MAAgE,CAAC,OAAO,CAAC;QAC1F,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,OAAO;iBAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;iBAC9D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAc,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,UAAU,GAAI,MAA0C,CAAC,iBAAiB,CAAC;QACjF,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,WAAW,CAAC,MAAc,EAAE,IAAY;IAC/C,OAAO,QAAQ,MAAM,KAAK,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,MAAc;IACxD,OAAO,QAAQ,MAAM,IAAI,MAAM,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAY;IAChD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,IAAI,GAAG,CAAC,OAAO,KAAK,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IACvE,IACE,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ;QAClC,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;QACjC,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ;QAC3B,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;QAC7B,GAAG,CAAC,QAAQ,KAAK,eAAe;QAChC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,EACjC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAqC,CAAC;AAC/C,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAwB;IACrD,OAAO,8BAA8B,GAAG,CAAC,KAAK,KAAK,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9E,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,GAAG,IAAI;QAAE,OAAO,GAAG,KAAK,IAAI,CAAC;IACtC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAClE,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACpD,CAAC;AAED,SAAS,0BAA0B,CACjC,IAAsD;IAEtD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAI,EAAwB,CAAC,IAAI,CAAC;YAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,yBAAyB,CAChC,MAAc,EACd,SAA6B;IAE7B,IAAI,SAAS;QAAE,OAAO,WAAW,CAAC;IAClC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,WAAW,CAAC;IACvG,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,QAAQ,CAAC;IAClG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAC7B,MAA6D;IAE7D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,YAAY;YACf,OAAO,aAAa,CAAC;QACvB,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAA2B;IACrD,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,EAAE,CAAC;IAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAAC,KAAiC;IACpD,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACxC,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACrG,CAAC"}
1
+ {"version":3,"file":"cardAdapter.js","sourceRoot":"","sources":["../../../src/ai/codexAppServer/cardAdapter.ts"],"names":[],"mappings":"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"}
@@ -75,8 +75,13 @@ export declare class CodexAppServerSession implements CodexAppServerProviderSess
75
75
  private currentTurnId;
76
76
  private pendingTurns;
77
77
  private running;
78
+ private startingRunTurn;
79
+ private prestartedRunTurnId;
78
80
  private exited;
81
+ private readonly turnConsumers;
82
+ private readonly settledTurnIds;
79
83
  private unsubscribeSessionNotifications;
84
+ private unsubscribeTransportClose;
80
85
  constructor(args: SessionArgs);
81
86
  get alive(): boolean;
82
87
  sendUserMessage(prompt: string, attachments?: readonly Attachment[]): void;
@@ -92,8 +97,8 @@ export declare class CodexAppServerSession implements CodexAppServerProviderSess
92
97
  }): Promise<SlashCommandInfo[]>;
93
98
  interrupt(): void;
94
99
  kill(): Promise<void>;
95
- /** Run a single turn end-to-end: cb.startNewTurn → cb.userMessage
96
- * turn/start → consume notifications emit stream-end. */
100
+ /** Run a single explicit turn end-to-end: cb.startNewTurn → cb.userMessage
101
+ * turn/start → wait for the session-routed turn consumer to settle. */
97
102
  runTurn(prompt: string, attachments?: readonly Attachment[]): Promise<void>;
98
103
  steerQueuedMessage(opts?: {
99
104
  interruptCurrentTurn?: boolean;
@@ -101,11 +106,23 @@ export declare class CodexAppServerSession implements CodexAppServerProviderSess
101
106
  /** Remove a single queued message by id. No-op (returns false) when the id is
102
107
  * no longer queued — e.g. it already advanced into the active turn. */
103
108
  deleteQueuedMessage(id: string): boolean;
109
+ private steerOrQueue;
110
+ private enqueueOrRunTurn;
104
111
  private steerCurrentTurn;
105
112
  private runTurnImpl;
106
113
  private refreshGoalConfigAndReturn;
107
114
  private goalSetParams;
115
+ private beginTurnConsumer;
116
+ private handleTurnConsumerSettled;
117
+ private finishTurnLifecycle;
118
+ private drainPendingTurnsAfterObservedTurn;
119
+ private closeTurnConsumersAsInterrupted;
120
+ private handleTransportClosed;
121
+ private rememberSettledTurn;
108
122
  private handleSessionNotification;
123
+ private observeTokenUsageNotification;
124
+ private ensureTurnConsumerForNotification;
125
+ private dispatchTurnNotification;
109
126
  private emitGoalConfig;
110
127
  private emitGoalClearedConfig;
111
128
  private handleServerRequest;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/ai/codexAppServer/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/ai/codexAppServer/provider.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { buildSandboxMcpServerConfig, SANDBOX_MCP_NAME } from '../sandboxMcp.js'
5
5
  import { normalizePermissionLevelForAgent } from '../provider.js';
6
6
  import { makeQueuedUserPrompt, queueStateFor } from '../queuedUserPrompts.js';
7
7
  import { getEventStore } from '../../storage/eventStore.js';
8
- import { consumeAppServerStream } from './cardAdapter.js';
8
+ import { createCodexTurnStreamConsumer, } from './cardAdapter.js';
9
9
  import { codexApprovalResponse, codexApprovalToPermissionPrompt, } from './approvalMapping.js';
10
10
  import { detectCodexVersion, spawnAppServer } from './processManager.js';
11
11
  import { RuntimeOverrideStore } from './overrideStore.js';
@@ -135,8 +135,13 @@ export class CodexAppServerSession {
135
135
  currentTurnId = null;
136
136
  pendingTurns = [];
137
137
  running = false;
138
+ startingRunTurn = false;
139
+ prestartedRunTurnId = null;
138
140
  exited = false;
141
+ turnConsumers = new Map();
142
+ settledTurnIds = new Set();
139
143
  unsubscribeSessionNotifications = null;
144
+ unsubscribeTransportClose = null;
140
145
  constructor(args) {
141
146
  this.handle = args.handle;
142
147
  this.tokens = args.tokens;
@@ -152,6 +157,9 @@ export class CodexAppServerSession {
152
157
  this.unsubscribeSessionNotifications = this.handle.rpc.onNotification((notification) => {
153
158
  this.handleSessionNotification(notification);
154
159
  });
160
+ this.unsubscribeTransportClose = this.handle.rpc.onClose(() => {
161
+ this.handleTransportClosed();
162
+ });
155
163
  // If the child exits unexpectedly, mark us dead and notify SessionManager.
156
164
  this.handle.child.once('exit', () => {
157
165
  if (this.exited)
@@ -164,9 +172,9 @@ export class CodexAppServerSession {
164
172
  return !this.exited;
165
173
  }
166
174
  sendUserMessage(prompt, attachments) {
167
- if (this.currentTurnId) {
168
- this.pendingTurns.push(makeQueuedUserPrompt(prompt, attachments));
169
- this.callbacks.onQueueStateChange?.(this.threadId);
175
+ const activeTurnId = this.currentTurnId;
176
+ if (activeTurnId) {
177
+ void this.steerOrQueue(prompt, attachments, activeTurnId);
170
178
  return;
171
179
  }
172
180
  void this.runTurn(prompt, attachments);
@@ -174,12 +182,7 @@ export class CodexAppServerSession {
174
182
  interruptThenSendUserMessage(prompt, attachments) {
175
183
  if (this.currentTurnId)
176
184
  this.interrupt();
177
- if (this.running) {
178
- this.pendingTurns.push(makeQueuedUserPrompt(prompt, attachments));
179
- this.callbacks.onQueueStateChange?.(this.threadId);
180
- return;
181
- }
182
- void this.runTurn(prompt, attachments);
185
+ this.enqueueOrRunTurn(prompt, attachments);
183
186
  }
184
187
  getQueueState() {
185
188
  return queueStateFor(this.pendingTurns, this.currentTurnId !== null);
@@ -248,6 +251,9 @@ export class CodexAppServerSession {
248
251
  this.pendingTurns = [];
249
252
  this.unsubscribeSessionNotifications?.();
250
253
  this.unsubscribeSessionNotifications = null;
254
+ this.unsubscribeTransportClose?.();
255
+ this.unsubscribeTransportClose = null;
256
+ this.closeTurnConsumersAsInterrupted();
251
257
  try {
252
258
  await this.cardBuilder.persistCards();
253
259
  }
@@ -267,8 +273,8 @@ export class CodexAppServerSession {
267
273
  // best-effort
268
274
  }
269
275
  }
270
- /** Run a single turn end-to-end: cb.startNewTurn → cb.userMessage
271
- * turn/start → consume notifications emit stream-end. */
276
+ /** Run a single explicit turn end-to-end: cb.startNewTurn → cb.userMessage
277
+ * turn/start → wait for the session-routed turn consumer to settle. */
272
278
  async runTurn(prompt, attachments) {
273
279
  if (this.exited)
274
280
  return;
@@ -317,6 +323,22 @@ export class CodexAppServerSession {
317
323
  this.callbacks.onQueueStateChange?.(this.threadId);
318
324
  return true;
319
325
  }
326
+ async steerOrQueue(prompt, attachments, expectedTurnId) {
327
+ const steered = await this.steerCurrentTurn(prompt, attachments, expectedTurnId);
328
+ if (steered)
329
+ return;
330
+ this.enqueueOrRunTurn(prompt, attachments);
331
+ }
332
+ enqueueOrRunTurn(prompt, attachments) {
333
+ if (this.exited)
334
+ return;
335
+ if (this.running || this.currentTurnId) {
336
+ this.pendingTurns.push(makeQueuedUserPrompt(prompt, attachments));
337
+ this.callbacks.onQueueStateChange?.(this.threadId);
338
+ return;
339
+ }
340
+ void this.runTurn(prompt, attachments);
341
+ }
320
342
  async steerCurrentTurn(prompt, attachments, expectedTurnId, opts) {
321
343
  try {
322
344
  if (attachments && attachments.length > 0) {
@@ -372,17 +394,24 @@ export class CodexAppServerSession {
372
394
  input: attachmentsToCodexUserInput(prompt, attachments),
373
395
  ...drained,
374
396
  };
375
- const response = await this.handle.rpc.request('turn/start', params);
397
+ this.startingRunTurn = true;
398
+ this.prestartedRunTurnId = null;
399
+ let response;
400
+ try {
401
+ response = await this.handle.rpc.request('turn/start', params);
402
+ }
403
+ finally {
404
+ this.startingRunTurn = false;
405
+ }
376
406
  this.overrideStore.commit();
377
407
  turnId = response.turn.id;
378
408
  this.currentTurnId = turnId;
379
409
  cb.setCurrentTurnId(turnId);
380
- const result = await consumeAppServerStream(this.handle.rpc, cb, {
381
- sessionId: this.threadId,
382
- threadId: this.threadId,
383
- turnId,
384
- tokens: this.tokens,
385
- }, this.callbacks);
410
+ const prestartedTurnId = this.prestartedRunTurnId;
411
+ if (prestartedTurnId && prestartedTurnId !== turnId) {
412
+ console.warn(`[codex-app] turn/start response mismatch session=${this.threadId.slice(0, 8)} response=${turnId.slice(0, 8)} notification=${prestartedTurnId.slice(0, 8)}`);
413
+ }
414
+ const result = await this.beginTurnConsumer(turnId, { managedByRunTurn: true }).result;
386
415
  void result; // settled; stream-end already emitted by adapter
387
416
  }
388
417
  catch (err) {
@@ -396,15 +425,10 @@ export class CodexAppServerSession {
396
425
  });
397
426
  }
398
427
  finally {
399
- this.currentTurnId = null;
400
- try {
401
- await cb.persistCards();
402
- }
403
- catch {
404
- // best-effort
405
- }
406
- cb.clearCards();
407
- this.callbacks.onTurnSettled?.(this.threadId);
428
+ this.startingRunTurn = false;
429
+ const lifecycleTurnId = turnId ?? this.prestartedRunTurnId;
430
+ this.prestartedRunTurnId = null;
431
+ await this.finishTurnLifecycle(lifecycleTurnId);
408
432
  }
409
433
  }
410
434
  async refreshGoalConfigAndReturn() {
@@ -431,8 +455,82 @@ export class CodexAppServerSession {
431
455
  }
432
456
  return out;
433
457
  }
458
+ beginTurnConsumer(turnId, opts) {
459
+ const existing = this.turnConsumers.get(turnId);
460
+ if (existing)
461
+ return existing;
462
+ this.settledTurnIds.delete(turnId);
463
+ const consumer = createCodexTurnStreamConsumer(this.cardBuilder, {
464
+ sessionId: this.threadId,
465
+ threadId: this.threadId,
466
+ turnId,
467
+ tokens: this.tokens,
468
+ }, this.callbacks);
469
+ this.turnConsumers.set(turnId, consumer);
470
+ void consumer.result.then(() => {
471
+ void this.handleTurnConsumerSettled(turnId, consumer, opts.managedByRunTurn).catch((err) => {
472
+ console.warn(`[codex-app] failed to settle turn consumer session=${this.threadId.slice(0, 8)} turn=${turnId.slice(0, 8)} error=${err instanceof Error ? err.message : String(err)}`);
473
+ });
474
+ });
475
+ return consumer;
476
+ }
477
+ async handleTurnConsumerSettled(turnId, consumer, managedByRunTurn) {
478
+ if (this.turnConsumers.get(turnId) === consumer) {
479
+ this.turnConsumers.delete(turnId);
480
+ }
481
+ this.rememberSettledTurn(turnId);
482
+ consumer.dispose();
483
+ if (managedByRunTurn)
484
+ return;
485
+ await this.finishTurnLifecycle(turnId);
486
+ this.drainPendingTurnsAfterObservedTurn();
487
+ }
488
+ async finishTurnLifecycle(turnId) {
489
+ const builderTurnId = this.cardBuilder.getCurrentTurnId();
490
+ const shouldClearCards = !turnId || !builderTurnId || builderTurnId === turnId;
491
+ if (!turnId || this.currentTurnId === turnId) {
492
+ this.currentTurnId = null;
493
+ }
494
+ try {
495
+ await this.cardBuilder.persistCards();
496
+ }
497
+ catch {
498
+ // best-effort
499
+ }
500
+ if (shouldClearCards) {
501
+ this.cardBuilder.clearCards();
502
+ }
503
+ this.callbacks.onTurnSettled?.(this.threadId);
504
+ }
505
+ drainPendingTurnsAfterObservedTurn() {
506
+ if (this.exited || this.running || this.currentTurnId || this.pendingTurns.length === 0) {
507
+ return;
508
+ }
509
+ const next = this.pendingTurns.shift();
510
+ this.callbacks.onQueueStateChange?.(this.threadId);
511
+ void this.runTurn(next.prompt, next.attachments);
512
+ }
513
+ closeTurnConsumersAsInterrupted() {
514
+ for (const consumer of this.turnConsumers.values()) {
515
+ consumer.closeAsInterrupted();
516
+ }
517
+ }
518
+ handleTransportClosed() {
519
+ this.closeTurnConsumersAsInterrupted();
520
+ }
521
+ rememberSettledTurn(turnId) {
522
+ this.settledTurnIds.add(turnId);
523
+ if (this.settledTurnIds.size <= 100)
524
+ return;
525
+ const oldest = this.settledTurnIds.values().next().value;
526
+ if (oldest)
527
+ this.settledTurnIds.delete(oldest);
528
+ }
434
529
  handleSessionNotification(notification) {
435
530
  try {
531
+ this.observeTokenUsageNotification(notification);
532
+ const turnId = this.ensureTurnConsumerForNotification(notification);
533
+ this.dispatchTurnNotification(notification, turnId);
436
534
  switch (notification.method) {
437
535
  case 'thread/goal/updated': {
438
536
  const params = notification.params;
@@ -456,6 +554,53 @@ export class CodexAppServerSession {
456
554
  console.warn(`[codex-app] failed to handle session notification method=${notification.method} session=${this.threadId.slice(0, 8)} params=${codexProtocolPreview(notification.params)} error=${err instanceof Error ? err.message : String(err)}`);
457
555
  }
458
556
  }
557
+ observeTokenUsageNotification(notification) {
558
+ if (notification.method !== 'thread/tokenUsage/updated')
559
+ return;
560
+ if (!notificationBelongsToThread(notification.params, this.threadId))
561
+ return;
562
+ this.tokens.observe(notification.params);
563
+ }
564
+ ensureTurnConsumerForNotification(notification) {
565
+ if (!notificationBelongsToThread(notification.params, this.threadId))
566
+ return null;
567
+ const turnId = notificationTurnId(notification);
568
+ if (!turnId)
569
+ return null;
570
+ if (this.settledTurnIds.has(turnId))
571
+ return turnId;
572
+ const existing = this.turnConsumers.get(turnId);
573
+ if (existing)
574
+ return turnId;
575
+ if (!shouldCreateTurnConsumerForNotification(notification.method))
576
+ return turnId;
577
+ const managedByRunTurn = this.startingRunTurn || this.currentTurnId === turnId;
578
+ if (this.startingRunTurn) {
579
+ this.prestartedRunTurnId = turnId;
580
+ }
581
+ if (managedByRunTurn) {
582
+ this.currentTurnId = turnId;
583
+ this.cardBuilder.setCurrentTurnId(turnId);
584
+ }
585
+ else {
586
+ this.cardBuilder.startNewTurn(turnId);
587
+ this.currentTurnId = turnId;
588
+ this.callbacks.onQueueStateChange?.(this.threadId);
589
+ }
590
+ this.beginTurnConsumer(turnId, { managedByRunTurn });
591
+ return turnId;
592
+ }
593
+ dispatchTurnNotification(notification, turnId) {
594
+ if (!notificationBelongsToThread(notification.params, this.threadId))
595
+ return;
596
+ if (turnId) {
597
+ this.turnConsumers.get(turnId)?.dispatch(notification);
598
+ return;
599
+ }
600
+ for (const consumer of this.turnConsumers.values()) {
601
+ consumer.dispatch(notification);
602
+ }
603
+ }
459
604
  emitGoalConfig(goal) {
460
605
  this.callbacks.onSessionConfigPatch?.(this.threadId, codexGoalToConfigPatch(goal));
461
606
  }
@@ -563,6 +708,57 @@ export class CodexAppServerSession {
563
708
  };
564
709
  }
565
710
  }
711
+ // ── helpers ──
712
+ function notificationBelongsToThread(params, threadId) {
713
+ if (typeof params !== 'object' || params === null)
714
+ return true;
715
+ const candidate = params.threadId;
716
+ return typeof candidate !== 'string' || candidate === threadId;
717
+ }
718
+ function notificationTurnId(notification) {
719
+ switch (notification.method) {
720
+ case 'turn/started': {
721
+ const params = notification.params;
722
+ return params.turn?.id ?? null;
723
+ }
724
+ case 'turn/completed': {
725
+ const params = notification.params;
726
+ return params.turn?.id ?? null;
727
+ }
728
+ default: {
729
+ if (typeof notification.params !== 'object' || notification.params === null)
730
+ return null;
731
+ const candidate = notification.params.turnId;
732
+ return typeof candidate === 'string' && candidate.length > 0 ? candidate : null;
733
+ }
734
+ }
735
+ }
736
+ function shouldCreateTurnConsumerForNotification(method) {
737
+ switch (method) {
738
+ case 'turn/started':
739
+ case 'turn/completed':
740
+ case 'turn/plan/updated':
741
+ case 'item/started':
742
+ case 'item/autoApprovalReview/started':
743
+ case 'item/autoApprovalReview/completed':
744
+ case 'item/completed':
745
+ case 'item/agentMessage/delta':
746
+ case 'item/plan/delta':
747
+ case 'item/commandExecution/outputDelta':
748
+ case 'item/fileChange/outputDelta':
749
+ case 'item/fileChange/patchUpdated':
750
+ case 'item/mcpToolCall/progress':
751
+ case 'item/reasoning/summaryTextDelta':
752
+ case 'item/reasoning/summaryPartAdded':
753
+ case 'item/reasoning/textDelta':
754
+ case 'model/rerouted':
755
+ case 'model/verification':
756
+ case 'error':
757
+ return true;
758
+ default:
759
+ return false;
760
+ }
761
+ }
566
762
  function codexToolQuestionToPromptQuestion(question) {
567
763
  return {
568
764
  id: question.id,
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/ai/codexAppServer/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/ai/codexAppServer/provider.ts"],"names":[],"mappings":"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"}
@@ -95,7 +95,7 @@ function projectAppServerModel(m) {
95
95
  }
96
96
  export class MessageHandler {
97
97
  repos;
98
- agentVersion = '0.8.16';
98
+ agentVersion = '0.8.17';
99
99
  defaultRepoPath;
100
100
  clientRepos = new Map(); // peerAddress -> repoPath
101
101
  repoLocks = new Map(); // repoPath -> peerAddress holding lock
package/dist/index.js CHANGED
@@ -20,7 +20,7 @@ function collectValues(value, previous) {
20
20
  program
21
21
  .name('quicksave-agent')
22
22
  .description('Quicksave desktop agent for remote git control')
23
- .version('0.8.16')
23
+ .version('0.8.17')
24
24
  .allowExcessArguments(false)
25
25
  .option('-r, --repo <path>', 'Path to git repository (can specify multiple)', collectValues, [])
26
26
  .option('-c, --coding-path <path>', 'Path for Claude Code sessions (can specify multiple, non-git dirs OK)', collectValues, [])
@@ -72,7 +72,7 @@ program
72
72
  try {
73
73
  const result = await ensureDaemon();
74
74
  client = result.client;
75
- console.log(`Quicksave Agent v0.8.16 (daemon pid: ${result.hello.daemonPid})`);
75
+ console.log(`Quicksave Agent v0.8.17 (daemon pid: ${result.hello.daemonPid})`);
76
76
  console.log('='.repeat(50));
77
77
  }
78
78
  catch (err) {
@@ -9,7 +9,7 @@
9
9
  import { connect } from 'net';
10
10
  import { IPC_VERSION, BUILD_ID } from './types.js';
11
11
  // Package version — matches package.json
12
- const PACKAGE_VERSION = '0.8.16';
12
+ const PACKAGE_VERSION = '0.8.17';
13
13
  export class IpcClient {
14
14
  socket = null;
15
15
  nextId = 1;
@@ -38,7 +38,7 @@ import { enrichEntry } from '../ai/enrichEntry.js';
38
38
  import { getTerminalManager } from '../terminal/terminalManager.js';
39
39
  const HEARTBEAT_INTERVAL_MS = 30_000;
40
40
  const REGISTRY_WATCH_INTERVAL_MS = 1_000;
41
- const PACKAGE_VERSION = '0.8.16';
41
+ const PACKAGE_VERSION = '0.8.17';
42
42
  function startSessionRegistryWatcher(bus, claudeService) {
43
43
  const seen = new Map();
44
44
  const registry = getSessionRegistry();
@@ -27,7 +27,7 @@ const IS_DEV = globalThis.__QUICKSAVE_DEV__ === true;
27
27
  * In dev mode, hashes source file mtimes so the value only changes when code
28
28
  * actually changes — avoids spurious daemon restarts.
29
29
  */
30
- const _PLACEHOLDER = 'fa53873c233c';
30
+ const _PLACEHOLDER = '92e550f8df3e';
31
31
  export const BUILD_ID = IS_DEV ? devBuildId() : _PLACEHOLDER;
32
32
  function devBuildId() {
33
33
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sumicom/quicksave",
3
- "version": "0.8.16",
3
+ "version": "0.8.17",
4
4
  "description": "Quicksave agent - remote git control CLI",
5
5
  "repository": {
6
6
  "type": "git",
@@ -41,8 +41,8 @@
41
41
  "tweetnacl": "^1.0.3",
42
42
  "ws": "^8.16.0",
43
43
  "zod": "^4.3.6",
44
- "@sumicom/quicksave-message-bus": "0.8.16",
45
- "@sumicom/quicksave-shared": "0.8.16"
44
+ "@sumicom/quicksave-message-bus": "0.8.17",
45
+ "@sumicom/quicksave-shared": "0.8.17"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@types/better-sqlite3": "^7.6.13",