@dungle-scrubs/tallow 0.9.4 → 0.9.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/dist/cli.js +8 -5
  2. package/dist/cli.js.map +1 -1
  3. package/dist/config.d.ts +1 -1
  4. package/dist/config.js +1 -1
  5. package/dist/interactive-mode-patch.d.ts +24 -12
  6. package/dist/interactive-mode-patch.d.ts.map +1 -1
  7. package/dist/interactive-mode-patch.js +229 -146
  8. package/dist/interactive-mode-patch.js.map +1 -1
  9. package/dist/interactive-reset.d.ts +49 -0
  10. package/dist/interactive-reset.d.ts.map +1 -0
  11. package/dist/interactive-reset.js +40 -0
  12. package/dist/interactive-reset.js.map +1 -0
  13. package/dist/pi-tui-editor-patch.d.ts +10 -0
  14. package/dist/pi-tui-editor-patch.d.ts.map +1 -0
  15. package/dist/pi-tui-editor-patch.js +159 -0
  16. package/dist/pi-tui-editor-patch.js.map +1 -0
  17. package/dist/pi-tui-patch.d.ts +2 -0
  18. package/dist/pi-tui-patch.d.ts.map +1 -0
  19. package/dist/pi-tui-patch.js +563 -0
  20. package/dist/pi-tui-patch.js.map +1 -0
  21. package/dist/pi-tui-settings-list-patch.d.ts +11 -0
  22. package/dist/pi-tui-settings-list-patch.d.ts.map +1 -0
  23. package/dist/pi-tui-settings-list-patch.js +38 -0
  24. package/dist/pi-tui-settings-list-patch.js.map +1 -0
  25. package/dist/process-cleanup.js +1 -1
  26. package/dist/process-cleanup.js.map +1 -1
  27. package/dist/reset-diagnostics.d.ts +69 -0
  28. package/dist/reset-diagnostics.d.ts.map +1 -0
  29. package/dist/reset-diagnostics.js +41 -0
  30. package/dist/reset-diagnostics.js.map +1 -0
  31. package/dist/sdk.d.ts +7 -23
  32. package/dist/sdk.d.ts.map +1 -1
  33. package/dist/sdk.js +211 -174
  34. package/dist/sdk.js.map +1 -1
  35. package/dist/workspace-transition-interactive.d.ts +1 -0
  36. package/dist/workspace-transition-interactive.d.ts.map +1 -1
  37. package/dist/workspace-transition-interactive.js +8 -18
  38. package/dist/workspace-transition-interactive.js.map +1 -1
  39. package/extensions/__integration__/audit-findings.test.ts +4 -5
  40. package/extensions/_icons/index.ts +2 -4
  41. package/extensions/_shared/__tests__/image-metadata.test.ts +33 -0
  42. package/extensions/_shared/__tests__/shell-policy.test.ts +19 -0
  43. package/extensions/_shared/__tests__/terminal-links.test.ts +18 -0
  44. package/extensions/_shared/image-metadata.ts +99 -0
  45. package/extensions/_shared/inline-preview.ts +1 -1
  46. package/extensions/_shared/shell-policy.ts +121 -1
  47. package/extensions/_shared/terminal-links.ts +22 -0
  48. package/extensions/ask-user-question-tool/index.ts +0 -3
  49. package/extensions/clear/__tests__/clear.test.ts +269 -2
  50. package/extensions/command-expansion/index.ts +9 -3
  51. package/extensions/context-files/index.ts +5 -1
  52. package/extensions/context-fork/__tests__/context-fork.test.ts +94 -1
  53. package/extensions/context-fork/extension.json +1 -1
  54. package/extensions/context-fork/frontmatter-index.ts +6 -1
  55. package/extensions/context-fork/index.ts +32 -0
  56. package/extensions/edit-tool-enhanced/index.ts +2 -1
  57. package/extensions/git-status/__tests__/git-status.test.ts +65 -2
  58. package/extensions/git-status/index.ts +268 -98
  59. package/extensions/hooks/index.ts +33 -11
  60. package/extensions/loop/index.ts +14 -1
  61. package/extensions/lsp/index.ts +64 -13
  62. package/extensions/lsp/package.json +2 -2
  63. package/extensions/minimal-skill-display/index.ts +7 -1
  64. package/extensions/random-spinner/index.ts +7 -642
  65. package/extensions/read-tool-enhanced/index.ts +13 -10
  66. package/extensions/render-stabilizer/__tests__/render-stabilizer.test.ts +2 -3
  67. package/extensions/render-stabilizer/index.ts +6 -6
  68. package/extensions/rewind/__tests__/session-files.test.ts +115 -0
  69. package/extensions/rewind/__tests__/snapshots.test.ts +23 -0
  70. package/extensions/rewind/index.ts +5 -0
  71. package/extensions/rewind/session-files.ts +138 -0
  72. package/extensions/rewind/snapshots.ts +104 -5
  73. package/extensions/skill-commands/index.ts +6 -1
  74. package/extensions/slash-command-bridge/__tests__/slash-command-bridge.test.ts +26 -0
  75. package/extensions/slash-command-bridge/index.ts +14 -2
  76. package/extensions/subagent-tool/model-resolver.ts +274 -7
  77. package/extensions/subagent-tool/schema.ts +1 -2
  78. package/extensions/tasks/commands/register-tasks-extension.ts +9 -9
  79. package/extensions/teams-tool/tools/register-extension.ts +1 -3
  80. package/extensions/teams-tool/tools/teammate-tools.ts +1 -2
  81. package/extensions/web-search-tool/index.ts +2 -1
  82. package/extensions/wezterm-pane-control/index.ts +1 -2
  83. package/extensions/write-tool-enhanced/index.ts +2 -1
  84. package/node_modules/@mariozechner/pi-tui/README.md +56 -34
  85. package/node_modules/@mariozechner/pi-tui/dist/autocomplete.d.ts +18 -13
  86. package/node_modules/@mariozechner/pi-tui/dist/autocomplete.d.ts.map +1 -1
  87. package/node_modules/@mariozechner/pi-tui/dist/autocomplete.js +182 -113
  88. package/node_modules/@mariozechner/pi-tui/dist/autocomplete.js.map +1 -1
  89. package/node_modules/@mariozechner/pi-tui/dist/components/cancellable-loader.js +3 -3
  90. package/node_modules/@mariozechner/pi-tui/dist/components/cancellable-loader.js.map +1 -1
  91. package/node_modules/@mariozechner/pi-tui/dist/components/editor.d.ts +45 -36
  92. package/node_modules/@mariozechner/pi-tui/dist/components/editor.d.ts.map +1 -1
  93. package/node_modules/@mariozechner/pi-tui/dist/components/editor.js +489 -325
  94. package/node_modules/@mariozechner/pi-tui/dist/components/editor.js.map +1 -1
  95. package/node_modules/@mariozechner/pi-tui/dist/components/image.d.ts +1 -99
  96. package/node_modules/@mariozechner/pi-tui/dist/components/image.d.ts.map +1 -1
  97. package/node_modules/@mariozechner/pi-tui/dist/components/image.js +17 -192
  98. package/node_modules/@mariozechner/pi-tui/dist/components/image.js.map +1 -1
  99. package/node_modules/@mariozechner/pi-tui/dist/components/input.d.ts.map +1 -1
  100. package/node_modules/@mariozechner/pi-tui/dist/components/input.js +57 -60
  101. package/node_modules/@mariozechner/pi-tui/dist/components/input.js.map +1 -1
  102. package/node_modules/@mariozechner/pi-tui/dist/components/loader.d.ts +2 -69
  103. package/node_modules/@mariozechner/pi-tui/dist/components/loader.d.ts.map +1 -1
  104. package/node_modules/@mariozechner/pi-tui/dist/components/loader.js +5 -102
  105. package/node_modules/@mariozechner/pi-tui/dist/components/loader.js.map +1 -1
  106. package/node_modules/@mariozechner/pi-tui/dist/components/markdown.d.ts.map +1 -1
  107. package/node_modules/@mariozechner/pi-tui/dist/components/markdown.js +111 -53
  108. package/node_modules/@mariozechner/pi-tui/dist/components/markdown.js.map +1 -1
  109. package/node_modules/@mariozechner/pi-tui/dist/components/select-list.d.ts +19 -1
  110. package/node_modules/@mariozechner/pi-tui/dist/components/select-list.d.ts.map +1 -1
  111. package/node_modules/@mariozechner/pi-tui/dist/components/select-list.js +78 -67
  112. package/node_modules/@mariozechner/pi-tui/dist/components/select-list.js.map +1 -1
  113. package/node_modules/@mariozechner/pi-tui/dist/components/settings-list.d.ts +1 -25
  114. package/node_modules/@mariozechner/pi-tui/dist/components/settings-list.d.ts.map +1 -1
  115. package/node_modules/@mariozechner/pi-tui/dist/components/settings-list.js +13 -50
  116. package/node_modules/@mariozechner/pi-tui/dist/components/settings-list.js.map +1 -1
  117. package/node_modules/@mariozechner/pi-tui/dist/index.d.ts +8 -10
  118. package/node_modules/@mariozechner/pi-tui/dist/index.d.ts.map +1 -1
  119. package/node_modules/@mariozechner/pi-tui/dist/index.js +6 -9
  120. package/node_modules/@mariozechner/pi-tui/dist/index.js.map +1 -1
  121. package/node_modules/@mariozechner/pi-tui/dist/keybindings.d.ts +108 -238
  122. package/node_modules/@mariozechner/pi-tui/dist/keybindings.d.ts.map +1 -1
  123. package/node_modules/@mariozechner/pi-tui/dist/keybindings.js +108 -365
  124. package/node_modules/@mariozechner/pi-tui/dist/keybindings.js.map +1 -1
  125. package/node_modules/@mariozechner/pi-tui/dist/keys.d.ts +33 -48
  126. package/node_modules/@mariozechner/pi-tui/dist/keys.d.ts.map +1 -1
  127. package/node_modules/@mariozechner/pi-tui/dist/keys.js +239 -155
  128. package/node_modules/@mariozechner/pi-tui/dist/keys.js.map +1 -1
  129. package/node_modules/@mariozechner/pi-tui/dist/terminal-image.d.ts +14 -94
  130. package/node_modules/@mariozechner/pi-tui/dist/terminal-image.d.ts.map +1 -1
  131. package/node_modules/@mariozechner/pi-tui/dist/terminal-image.js +44 -186
  132. package/node_modules/@mariozechner/pi-tui/dist/terminal-image.js.map +1 -1
  133. package/node_modules/@mariozechner/pi-tui/dist/terminal.d.ts +13 -58
  134. package/node_modules/@mariozechner/pi-tui/dist/terminal.d.ts.map +1 -1
  135. package/node_modules/@mariozechner/pi-tui/dist/terminal.js +78 -111
  136. package/node_modules/@mariozechner/pi-tui/dist/terminal.js.map +1 -1
  137. package/node_modules/@mariozechner/pi-tui/dist/tui.d.ts +24 -110
  138. package/node_modules/@mariozechner/pi-tui/dist/tui.d.ts.map +1 -1
  139. package/node_modules/@mariozechner/pi-tui/dist/tui.js +188 -435
  140. package/node_modules/@mariozechner/pi-tui/dist/tui.js.map +1 -1
  141. package/node_modules/@mariozechner/pi-tui/dist/utils.d.ts +0 -18
  142. package/node_modules/@mariozechner/pi-tui/dist/utils.d.ts.map +1 -1
  143. package/node_modules/@mariozechner/pi-tui/dist/utils.js +251 -119
  144. package/node_modules/@mariozechner/pi-tui/dist/utils.js.map +1 -1
  145. package/node_modules/@mariozechner/pi-tui/package.json +6 -6
  146. package/node_modules/@mariozechner/pi-tui/src/__tests__/__snapshots__/render.test.ts.snap +3 -40
  147. package/node_modules/@mariozechner/pi-tui/src/__tests__/image-component.test.ts +71 -81
  148. package/node_modules/@mariozechner/pi-tui/src/__tests__/render.test.ts +0 -33
  149. package/node_modules/@mariozechner/pi-tui/src/__tests__/terminal-image.test.ts +93 -334
  150. package/node_modules/@mariozechner/pi-tui/src/__tests__/tui-render-scheduling.test.ts +1 -1
  151. package/node_modules/@mariozechner/pi-tui/src/__tests__/utils.test.ts +11 -196
  152. package/node_modules/@mariozechner/pi-tui/src/autocomplete.ts +228 -142
  153. package/node_modules/@mariozechner/pi-tui/src/components/cancellable-loader.ts +3 -3
  154. package/node_modules/@mariozechner/pi-tui/src/components/editor.ts +624 -390
  155. package/node_modules/@mariozechner/pi-tui/src/components/image.ts +17 -227
  156. package/node_modules/@mariozechner/pi-tui/src/components/input.ts +71 -63
  157. package/node_modules/@mariozechner/pi-tui/src/components/loader.ts +5 -137
  158. package/node_modules/@mariozechner/pi-tui/src/components/markdown.ts +143 -52
  159. package/node_modules/@mariozechner/pi-tui/src/components/select-list.ts +136 -70
  160. package/node_modules/@mariozechner/pi-tui/src/components/settings-list.ts +12 -51
  161. package/node_modules/@mariozechner/pi-tui/src/index.ts +17 -36
  162. package/node_modules/@mariozechner/pi-tui/src/keybindings.ts +148 -421
  163. package/node_modules/@mariozechner/pi-tui/src/keys.ts +253 -181
  164. package/node_modules/@mariozechner/pi-tui/src/terminal-image.ts +51 -252
  165. package/node_modules/@mariozechner/pi-tui/src/terminal.ts +78 -133
  166. package/node_modules/@mariozechner/pi-tui/src/tui.ts +202 -478
  167. package/node_modules/@mariozechner/pi-tui/src/utils.ts +289 -125
  168. package/node_modules/@mariozechner/pi-tui/tsconfig.build.json +1 -0
  169. package/package.json +13 -13
  170. package/packages/tallow-tui/node_modules/@types/mime-types/README.md +8 -2
  171. package/packages/tallow-tui/node_modules/@types/mime-types/index.d.ts +6 -0
  172. package/packages/tallow-tui/node_modules/@types/mime-types/package.json +9 -3
  173. package/packages/tallow-tui/node_modules/get-east-asian-width/lookup-data.js +18 -0
  174. package/packages/tallow-tui/node_modules/get-east-asian-width/lookup.js +116 -384
  175. package/packages/tallow-tui/node_modules/get-east-asian-width/package.json +5 -4
  176. package/packages/tallow-tui/node_modules/get-east-asian-width/utilities.js +24 -0
  177. package/packages/tallow-tui/node_modules/marked/README.md +5 -4
  178. package/packages/tallow-tui/node_modules/marked/bin/main.js +10 -8
  179. package/packages/tallow-tui/node_modules/marked/bin/marked.js +2 -1
  180. package/packages/tallow-tui/node_modules/marked/lib/marked.d.ts +156 -125
  181. package/packages/tallow-tui/node_modules/marked/lib/marked.esm.js +67 -2179
  182. package/packages/tallow-tui/node_modules/marked/lib/marked.esm.js.map +3 -3
  183. package/packages/tallow-tui/node_modules/marked/lib/marked.umd.js +67 -2201
  184. package/packages/tallow-tui/node_modules/marked/lib/marked.umd.js.map +3 -3
  185. package/packages/tallow-tui/node_modules/marked/man/marked.1 +4 -2
  186. package/packages/tallow-tui/node_modules/marked/man/marked.1.md +2 -1
  187. package/packages/tallow-tui/node_modules/marked/package.json +26 -34
  188. package/skills/tallow-expert/SKILL.md +3 -5
  189. package/node_modules/@mariozechner/pi-tui/dist/border-styles.d.ts +0 -32
  190. package/node_modules/@mariozechner/pi-tui/dist/border-styles.d.ts.map +0 -1
  191. package/node_modules/@mariozechner/pi-tui/dist/border-styles.js +0 -46
  192. package/node_modules/@mariozechner/pi-tui/dist/border-styles.js.map +0 -1
  193. package/node_modules/@mariozechner/pi-tui/dist/components/bordered-box.d.ts +0 -52
  194. package/node_modules/@mariozechner/pi-tui/dist/components/bordered-box.d.ts.map +0 -1
  195. package/node_modules/@mariozechner/pi-tui/dist/components/bordered-box.js +0 -89
  196. package/node_modules/@mariozechner/pi-tui/dist/components/bordered-box.js.map +0 -1
  197. package/node_modules/@mariozechner/pi-tui/dist/test-utils/capability-env.d.ts +0 -14
  198. package/node_modules/@mariozechner/pi-tui/dist/test-utils/capability-env.d.ts.map +0 -1
  199. package/node_modules/@mariozechner/pi-tui/dist/test-utils/capability-env.js +0 -55
  200. package/node_modules/@mariozechner/pi-tui/dist/test-utils/capability-env.js.map +0 -1
  201. package/node_modules/@mariozechner/pi-tui/src/__tests__/editor-change-listener.test.ts +0 -121
  202. package/node_modules/@mariozechner/pi-tui/src/__tests__/editor-ghost-text.test.ts +0 -112
  203. package/node_modules/@mariozechner/pi-tui/src/__tests__/mouse-events.test.ts +0 -134
  204. package/node_modules/@mariozechner/pi-tui/src/__tests__/settings-list.test.ts +0 -81
  205. package/node_modules/@mariozechner/pi-tui/src/__tests__/tui-diff-regression.test.ts +0 -555
  206. package/node_modules/@mariozechner/pi-tui/src/border-styles.ts +0 -60
  207. package/node_modules/@mariozechner/pi-tui/src/components/bordered-box.ts +0 -113
  208. package/node_modules/@mariozechner/pi-tui/src/test-utils/capability-env.ts +0 -56
  209. package/packages/tallow-tui/node_modules/marked/lib/marked.cjs +0 -2211
  210. package/packages/tallow-tui/node_modules/marked/lib/marked.cjs.map +0 -7
  211. package/packages/tallow-tui/node_modules/marked/lib/marked.d.cts +0 -728
  212. package/packages/tallow-tui/node_modules/marked/marked.min.js +0 -69
@@ -1,6 +1,4 @@
1
- import { createRequire } from "node:module";
2
- import { dirname, join } from "node:path";
3
- import { pathToFileURL } from "node:url";
1
+ import { resetInteractiveSessionState } from "./interactive-reset.js";
4
2
  import { scheduleAfterIO } from "./yield-to-io.js";
5
3
  /**
6
4
  * Reset the TUI render grace timer when swapping large UI surfaces.
@@ -482,27 +480,73 @@ function suppressOverflowAssistantErrorLine(event, session) {
482
480
  },
483
481
  };
484
482
  }
485
- /**
486
- * Patches InteractiveMode prototype methods to prevent stale UI carry-over.
487
- *
488
- * The patch adds:
489
- * - overflow error suppression before auto-compaction loader rendering
490
- * - visible overflow indicators (instead of silent hidden-thinking terminal state)
491
- * - retry liveness watchdog after auto-compaction retry handoff
492
- * - warning path for ambiguous auto-compaction terminal states
493
- * - agent_end cleanup for pending working messages + pending-message refresh
494
- * - post-bash flush/update so deferred bash output moves inline promptly
495
- * - idle Escape behavior that clears queued steering/follow-up messages
496
- * - extension notify normalization for icon-prefixed error messages
497
- * - compaction queue inspection helper for extension UI context
498
- *
499
- * @param prototype - InteractiveMode prototype object
500
- * @returns Nothing
501
- */
502
- export function patchInteractiveModePrototype(prototype) {
503
- if (prototype.__tallow_stale_ui_patch_applied__)
483
+ function getStartupRestoreSessionManager(mode) {
484
+ return mode.sessionManager;
485
+ }
486
+ function shouldBatchStartupRestore(mode) {
487
+ const sessionManager = getStartupRestoreSessionManager(mode);
488
+ const existingMessageCount = sessionManager?.buildSessionContext?.().messages?.length ?? 0;
489
+ const persistedMessageCount = sessionManager?.getEntries?.().filter((entry) => entry.type === "message").length ?? 0;
490
+ return existingMessageCount > 0 || persistedMessageCount > 0;
491
+ }
492
+ function startStartupRestoreBatch(mode, enabled) {
493
+ mode.__tallow_suppress_startup_chat_noise__ = enabled;
494
+ if (!enabled)
504
495
  return;
505
- prototype.__tallow_stale_ui_patch_applied__ = true;
496
+ mode.ui?.beginRenderBatch?.();
497
+ mode.ui?.requestScrollbackClear?.();
498
+ resetRenderGrace(mode);
499
+ }
500
+ function finishStartupRestoreBatch(mode, enabled) {
501
+ if (!enabled)
502
+ return;
503
+ mode.ui?.endRenderBatch?.();
504
+ }
505
+ function clearStartupChatNoiseSuppression(mode) {
506
+ mode.__tallow_suppress_startup_chat_noise__ =
507
+ false;
508
+ }
509
+ function wrapStartupNoiseSuppressedVoidMethod(method, shouldBypass = () => false) {
510
+ if (typeof method !== "function")
511
+ return undefined;
512
+ return function (...args) {
513
+ if (this.__tallow_suppress_startup_chat_noise__ && !shouldBypass(...args)) {
514
+ return;
515
+ }
516
+ method.call(this, ...args);
517
+ };
518
+ }
519
+ function patchStartupNoiseSuppression(prototype) {
520
+ prototype.showLoadedResources = wrapStartupNoiseSuppressedVoidMethod(prototype.showLoadedResources, (options) => options?.force === true);
521
+ prototype.showStartupNoticesIfNeeded = wrapStartupNoiseSuppressedVoidMethod(prototype.showStartupNoticesIfNeeded);
522
+ prototype.showWarning = wrapStartupNoiseSuppressedVoidMethod(prototype.showWarning);
523
+ prototype.showNewVersionNotification = wrapStartupNoiseSuppressedVoidMethod(prototype.showNewVersionNotification);
524
+ prototype.showPackageUpdateNotification = wrapStartupNoiseSuppressedVoidMethod(prototype.showPackageUpdateNotification);
525
+ }
526
+ function patchInitForStartupRestore(prototype) {
527
+ const originalInit = prototype.init;
528
+ if (typeof originalInit !== "function")
529
+ return;
530
+ prototype.init = async function (...args) {
531
+ const needsRestoreRender = shouldBatchStartupRestore(this);
532
+ const originalRenderInitialMessages = this.renderInitialMessages;
533
+ startStartupRestoreBatch(this, needsRestoreRender);
534
+ try {
535
+ const result = await originalInit.call(this, ...args);
536
+ if (needsRestoreRender) {
537
+ this.ui?.requestRender?.(true);
538
+ }
539
+ return result;
540
+ }
541
+ finally {
542
+ if (originalRenderInitialMessages) {
543
+ this.renderInitialMessages = originalRenderInitialMessages;
544
+ }
545
+ finishStartupRestoreBatch(this, needsRestoreRender);
546
+ }
547
+ };
548
+ }
549
+ function patchExtensionCompactRebinding(prototype) {
506
550
  const originalInitExtensions = prototype.initExtensions;
507
551
  if (typeof originalInitExtensions === "function") {
508
552
  prototype.initExtensions = async function (...args) {
@@ -519,6 +563,19 @@ export function patchInteractiveModePrototype(prototype) {
519
563
  return result;
520
564
  };
521
565
  }
566
+ }
567
+ function patchRenderStabilityHooks(prototype) {
568
+ const originalHandleRuntimeSessionChange = prototype.handleRuntimeSessionChange;
569
+ if (typeof originalHandleRuntimeSessionChange === "function") {
570
+ prototype.handleRuntimeSessionChange = async function (...args) {
571
+ resetInteractiveSessionState(this, {
572
+ clearExtensionUi: true,
573
+ clearSubscription: true,
574
+ reason: "interactive-runtime-session-change",
575
+ });
576
+ return originalHandleRuntimeSessionChange.call(this, ...args);
577
+ };
578
+ }
522
579
  const originalRenderInitialMessages = prototype.renderInitialMessages;
523
580
  if (typeof originalRenderInitialMessages === "function") {
524
581
  prototype.renderInitialMessages = function (...args) {
@@ -526,6 +583,26 @@ export function patchInteractiveModePrototype(prototype) {
526
583
  return originalRenderInitialMessages.call(this, ...args);
527
584
  };
528
585
  }
586
+ const originalRenderCurrentSessionState = prototype.renderCurrentSessionState;
587
+ if (typeof originalRenderCurrentSessionState === "function" &&
588
+ typeof originalRenderInitialMessages === "function") {
589
+ prototype.renderCurrentSessionState = function (...args) {
590
+ this.ui?.beginRenderBatch?.();
591
+ try {
592
+ resetInteractiveSessionState(this, {
593
+ reason: "interactive-render-current-session-state",
594
+ requestScrollbackClear: true,
595
+ resetRenderGrace: true,
596
+ });
597
+ const result = originalRenderInitialMessages.call(this, ...args);
598
+ this.ui?.requestRender?.(true);
599
+ return result;
600
+ }
601
+ finally {
602
+ this.ui?.endRenderBatch?.();
603
+ }
604
+ };
605
+ }
529
606
  const originalRebuildChatFromMessages = prototype.rebuildChatFromMessages;
530
607
  if (typeof originalRebuildChatFromMessages === "function") {
531
608
  prototype.rebuildChatFromMessages = function (...args) {
@@ -533,122 +610,132 @@ export function patchInteractiveModePrototype(prototype) {
533
610
  return originalRebuildChatFromMessages.call(this, ...args);
534
611
  };
535
612
  }
536
- const originalHandleEvent = prototype.handleEvent;
537
- if (typeof originalHandleEvent === "function") {
538
- prototype.handleEvent = async function (event) {
539
- if (event?.type === "auto_compaction_start") {
540
- clearCompactionRetryWatchdog(this);
541
- markAutoCompactionRunning(this);
542
- }
543
- if (isCompactionContinuationSignal(event)) {
544
- clearCompactionRetryWatchdog(this);
545
- markCompactionContinuationStarted(this);
546
- }
547
- // ── message_update coalescing (plan 176) ─────────────────────────
548
- // During rapid streaming, message_update fires per token. Coalesce
549
- // into one UI update per I/O cycle (~60fps) so the event loop
550
- // reaches the I/O poll phase and stdin stays responsive.
551
- //
552
- // Uses scheduleAfterIO instead of setImmediate because Bun's
553
- // setImmediate never enters the I/O poll phase. See plan 177.
554
- if (event?.type === "message_update") {
555
- const coalesce = getCoalesceState(this);
556
- // Keep AgentSession event references immutable.
557
- const uiEvent = suppressOverflowAssistantErrorLine(event, this.session);
558
- coalesce.pendingEvent = uiEvent;
559
- if (!coalesce.flushScheduled) {
560
- coalesce.flushScheduled = true;
561
- scheduleAfterIO(async () => {
562
- const state = getCoalesceState(this);
563
- state.flushScheduled = false;
564
- const pending = state.pendingEvent;
565
- state.pendingEvent = null;
566
- if (pending) {
567
- await originalHandleEvent.call(this, pending);
568
- }
569
- });
570
- }
571
- return;
572
- }
573
- // For events that depend on streaming state being current, flush
574
- // any pending message_update first so the component is up-to-date.
575
- //
576
- // agent_end is excluded: its loader cleanup must run synchronously
577
- // within _emit() to avoid a stale "Working..." indicator. The flush
578
- // await yields to the microtask queue, letting _processAgentEvent
579
- // (and ultimately prompt() / getUserInput()) resolve before the
580
- // loader is cleared — the user sees the editor cursor while the
581
- // spinner persists. message_end already flushes the same pending
582
- // state, and in abort paths the streaming component is removed
583
- // regardless, so skipping the flush for agent_end is safe.
584
- // Instead, discard any orphaned pending update synchronously.
585
- if (event?.type === "agent_end") {
586
- const coalesce = getCoalesceState(this);
587
- coalesce.pendingEvent = null;
588
- }
589
- else if (event?.type === "message_end" ||
590
- event?.type === "tool_execution_start" ||
591
- event?.type === "tool_execution_end") {
592
- await flushPendingMessageUpdate(this, originalHandleEvent);
593
- }
594
- // Keep AgentSession event references immutable for persistence/compaction checks.
595
- const uiEvent = suppressOverflowAssistantErrorLine(event, this.session);
596
- const result = await originalHandleEvent.call(this, uiEvent);
597
- if (event?.type === "auto_compaction_end") {
598
- if (event.willRetry === true) {
599
- markAutoCompactionWaitingForRetry(this);
600
- armCompactionRetryWatchdog(this);
601
- }
602
- else {
603
- clearCompactionRetryWatchdog(this);
604
- clearAutoCompactionStatus(this);
605
- }
606
- if (isAmbiguousCompactionEndState(event)) {
607
- notifyFromInteractiveMode(this, AMBIGUOUS_COMPACTION_END_WARNING_TEXT, "warning");
608
- }
609
- }
610
- if (event?.type === "agent_end") {
611
- clearCompactionRetryWatchdog(this);
612
- this.pendingWorkingMessage = undefined;
613
- // Safety net: stop the loading animation if the upstream handler
614
- // didn't reach its cleanup (e.g. extension agent_end handlers
615
- // delayed _emit so session.prompt() resolved first). The upstream
616
- // handler also clears these, but this runs in the post-await path
617
- // as a second chance.
618
- if (this.loadingAnimation) {
619
- this.loadingAnimation.stop?.();
620
- this.loadingAnimation = null;
621
- }
622
- // Preserve the compaction loader only while compaction is still
623
- // running or while a promised retry has not actually started yet.
624
- // Once continuation begins, later agent_end events must clear the
625
- // spinner like any normal turn.
626
- if (!shouldPreserveCompactionStatus(this)) {
627
- this.statusContainer?.clear?.();
628
- }
629
- this.flushPendingBashComponents?.();
630
- // Drain orphaned session steering/follow-up messages to the editor.
631
- // Steering messages are injected mid-turn; if the turn ends without
632
- // the agent consuming them, they persist as zombie "Steering: ..."
633
- // lines in the UI forever. Follow-ups are similarly stale if the
634
- // agent never started them. Restoring to editor makes the messages
635
- // visible and re-sendable — same behavior as pressing the dequeue
636
- // key, but triggered automatically at turn end.
637
- drainOrphanedSessionMessages(this);
638
- this.updatePendingMessagesDisplay?.();
639
- // Force a full re-render to guarantee stale loader text is cleared
640
- // from the terminal. A non-forced requestRender() can coalesce with
641
- // a stale pending render that ran before statusContainer.clear().
642
- this.ui?.requestRender?.(true);
643
- const deferredCompact = pendingInteractiveExtensionCompact.get(this);
644
- if (deferredCompact) {
645
- pendingInteractiveExtensionCompact.delete(this);
646
- runInteractiveExtensionCompact(this, deferredCompact);
647
- }
613
+ }
614
+ function handleMessageUpdateEvent(mode, event, originalHandleEvent) {
615
+ if (event.type !== "message_update") {
616
+ return false;
617
+ }
618
+ const coalesce = getCoalesceState(mode);
619
+ coalesce.pendingEvent = suppressOverflowAssistantErrorLine(event, mode.session);
620
+ if (!coalesce.flushScheduled) {
621
+ coalesce.flushScheduled = true;
622
+ scheduleAfterIO(async () => {
623
+ const state = getCoalesceState(mode);
624
+ state.flushScheduled = false;
625
+ const pending = state.pendingEvent;
626
+ state.pendingEvent = null;
627
+ if (pending) {
628
+ await originalHandleEvent.call(mode, pending);
648
629
  }
649
- return result;
650
- };
630
+ });
631
+ }
632
+ return true;
633
+ }
634
+ async function synchronizePendingMessageUpdate(mode, event, originalHandleEvent) {
635
+ if (event.type === "agent_end") {
636
+ getCoalesceState(mode).pendingEvent = null;
637
+ return;
638
+ }
639
+ if (event.type === "message_end" ||
640
+ event.type === "tool_execution_start" ||
641
+ event.type === "tool_execution_end") {
642
+ await flushPendingMessageUpdate(mode, originalHandleEvent);
643
+ }
644
+ }
645
+ function applyPreHandleEventState(mode, event) {
646
+ if (event.type === "auto_compaction_start") {
647
+ clearCompactionRetryWatchdog(mode);
648
+ markAutoCompactionRunning(mode);
649
+ }
650
+ if (isCompactionContinuationSignal(event)) {
651
+ clearCompactionRetryWatchdog(mode);
652
+ markCompactionContinuationStarted(mode);
653
+ }
654
+ if (event.type === "turn_start") {
655
+ clearStartupChatNoiseSuppression(mode);
656
+ }
657
+ }
658
+ function handleAutoCompactionEnd(mode, event) {
659
+ if (event.type !== "auto_compaction_end") {
660
+ return;
661
+ }
662
+ if (event.willRetry === true) {
663
+ markAutoCompactionWaitingForRetry(mode);
664
+ armCompactionRetryWatchdog(mode);
665
+ }
666
+ else {
667
+ clearCompactionRetryWatchdog(mode);
668
+ clearAutoCompactionStatus(mode);
669
+ }
670
+ if (isAmbiguousCompactionEndState(event)) {
671
+ notifyFromInteractiveMode(mode, AMBIGUOUS_COMPACTION_END_WARNING_TEXT, "warning");
672
+ }
673
+ }
674
+ function handleAgentEndCleanup(mode) {
675
+ clearCompactionRetryWatchdog(mode);
676
+ mode.pendingWorkingMessage = undefined;
677
+ if (mode.loadingAnimation) {
678
+ mode.loadingAnimation.stop?.();
679
+ mode.loadingAnimation = null;
680
+ }
681
+ if (!shouldPreserveCompactionStatus(mode)) {
682
+ mode.statusContainer?.clear?.();
651
683
  }
684
+ mode.flushPendingBashComponents?.();
685
+ drainOrphanedSessionMessages(mode);
686
+ mode.updatePendingMessagesDisplay?.();
687
+ mode.ui?.requestRender?.();
688
+ const deferredCompact = pendingInteractiveExtensionCompact.get(mode);
689
+ if (deferredCompact) {
690
+ pendingInteractiveExtensionCompact.delete(mode);
691
+ runInteractiveExtensionCompact(mode, deferredCompact);
692
+ }
693
+ }
694
+ function patchHandleEventLifecycle(prototype) {
695
+ const originalHandleEvent = prototype.handleEvent;
696
+ if (typeof originalHandleEvent !== "function")
697
+ return;
698
+ prototype.handleEvent = async function (event) {
699
+ applyPreHandleEventState(this, event);
700
+ if (handleMessageUpdateEvent(this, event, originalHandleEvent)) {
701
+ return;
702
+ }
703
+ await synchronizePendingMessageUpdate(this, event, originalHandleEvent);
704
+ const uiEvent = suppressOverflowAssistantErrorLine(event, this.session);
705
+ const result = await originalHandleEvent.call(this, uiEvent);
706
+ handleAutoCompactionEnd(this, event);
707
+ if (event.type === "agent_end") {
708
+ handleAgentEndCleanup(this);
709
+ }
710
+ return result;
711
+ };
712
+ }
713
+ /**
714
+ * Patches InteractiveMode prototype methods to prevent stale UI carry-over.
715
+ *
716
+ * The patch adds:
717
+ * - overflow error suppression before auto-compaction loader rendering
718
+ * - visible overflow indicators (instead of silent hidden-thinking terminal state)
719
+ * - retry liveness watchdog after auto-compaction retry handoff
720
+ * - warning path for ambiguous auto-compaction terminal states
721
+ * - agent_end cleanup for pending working messages + pending-message refresh
722
+ * - post-bash flush/update so deferred bash output moves inline promptly
723
+ * - idle Escape behavior that clears queued steering/follow-up messages
724
+ * - extension notify normalization for icon-prefixed error messages
725
+ * - compaction queue inspection helper for extension UI context
726
+ *
727
+ * @param prototype - InteractiveMode prototype object
728
+ * @returns Nothing
729
+ */
730
+ export function patchInteractiveModePrototype(prototype) {
731
+ if (prototype.__tallow_stale_ui_patch_applied__)
732
+ return;
733
+ prototype.__tallow_stale_ui_patch_applied__ = true;
734
+ patchInitForStartupRestore(prototype);
735
+ patchStartupNoiseSuppression(prototype);
736
+ patchExtensionCompactRebinding(prototype);
737
+ patchRenderStabilityHooks(prototype);
738
+ patchHandleEventLifecycle(prototype);
652
739
  const originalHandleBashCommand = prototype.handleBashCommand;
653
740
  if (typeof originalHandleBashCommand === "function") {
654
741
  prototype.handleBashCommand = async function (command, excludeFromContext) {
@@ -682,7 +769,7 @@ export function patchInteractiveModePrototype(prototype) {
682
769
  if (!shouldPreserveCompactionStatus(this)) {
683
770
  this.statusContainer?.clear?.();
684
771
  }
685
- this.ui?.requestRender?.(true);
772
+ this.ui?.requestRender?.();
686
773
  return originalGetUserInput.call(this);
687
774
  };
688
775
  }
@@ -763,8 +850,9 @@ export function patchInteractiveModePrototype(prototype) {
763
850
  /**
764
851
  * Applies the stale UI patch to pi-coding-agent InteractiveMode.
765
852
  *
766
- * Uses a direct file import via resolved package path because the InteractiveMode
767
- * subpath is not exported from the package.
853
+ * Import the package root export instead of resolving `package.json` manually.
854
+ * Node rejects `@mariozechner/pi-coding-agent/package.json` because that subpath
855
+ * is not exported, which silently disabled the patch in the real CLI runtime.
768
856
  *
769
857
  * @returns Nothing
770
858
  */
@@ -773,12 +861,7 @@ export async function applyInteractiveModeStaleUiPatch() {
773
861
  if (globals[APPLY_FLAG] === true)
774
862
  return;
775
863
  try {
776
- const require = createRequire(import.meta.url);
777
- const packageJsonPath = require.resolve("@mariozechner/pi-coding-agent/package.json");
778
- const packageRoot = dirname(packageJsonPath);
779
- const interactiveModePath = join(packageRoot, "dist", "modes", "interactive", "interactive-mode.js");
780
- const moduleUrl = pathToFileURL(interactiveModePath).href;
781
- const mod = (await import(moduleUrl));
864
+ const mod = (await import("@mariozechner/pi-coding-agent"));
782
865
  const prototype = mod.InteractiveMode?.prototype;
783
866
  if (!prototype)
784
867
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-mode-patch.js","sourceRoot":"","sources":["../src/interactive-mode-patch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactive-mode-patch.js","sourceRoot":"","sources":["../src/interactive-mode-patch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /** Minimal status container shape required for reset orchestration. */
2
+ interface ClearableContainer {
3
+ clear(): void;
4
+ }
5
+ /** Minimal loading-animation shape required for reset orchestration. */
6
+ interface ResetLoadingAnimation {
7
+ stop?(): void;
8
+ }
9
+ /** Minimal UI shape required for reset orchestration. */
10
+ interface ResetUI {
11
+ requestRender?(force?: boolean): void;
12
+ requestScrollbackClear?(): void;
13
+ resetRenderGrace?(): void;
14
+ }
15
+ /** Runtime shape shared by interactive reset call sites. */
16
+ export interface InteractiveResetModeLike {
17
+ chatContainer: ClearableContainer;
18
+ compactionQueuedMessages: unknown[];
19
+ loadingAnimation?: ResetLoadingAnimation | null;
20
+ pendingMessagesContainer: ClearableContainer;
21
+ pendingTools: Map<string, unknown>;
22
+ resetExtensionUI?(): void;
23
+ streamingComponent?: unknown;
24
+ streamingMessage?: unknown;
25
+ statusContainer: ClearableContainer;
26
+ ui: ResetUI;
27
+ unsubscribe?: (() => void) | undefined;
28
+ }
29
+ /** Options controlling which reset responsibilities should run. */
30
+ export interface InteractiveResetOptions {
31
+ readonly reason: string;
32
+ readonly clearExtensionUi?: boolean;
33
+ readonly clearSubscription?: boolean;
34
+ readonly requestScrollbackClear?: boolean;
35
+ readonly resetRenderGrace?: boolean;
36
+ }
37
+ /**
38
+ * Clear shared interactive-mode session state at a session boundary.
39
+ *
40
+ * Owns loader/status/pending-message/transcript clearing. Callers decide
41
+ * whether extension UI and subscriptions also belong to the reset boundary.
42
+ *
43
+ * @param mode - Interactive mode instance being reset
44
+ * @param options - Reset behavior toggles and diagnostic reason
45
+ * @returns Nothing
46
+ */
47
+ export declare function resetInteractiveSessionState(mode: InteractiveResetModeLike, options: InteractiveResetOptions): void;
48
+ export {};
49
+ //# sourceMappingURL=interactive-reset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive-reset.d.ts","sourceRoot":"","sources":["../src/interactive-reset.ts"],"names":[],"mappings":"AAEA,uEAAuE;AACvE,UAAU,kBAAkB;IAC3B,KAAK,IAAI,IAAI,CAAC;CACd;AAED,wEAAwE;AACxE,UAAU,qBAAqB;IAC9B,IAAI,CAAC,IAAI,IAAI,CAAC;CACd;AAED,yDAAyD;AACzD,UAAU,OAAO;IAChB,aAAa,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACtC,sBAAsB,CAAC,IAAI,IAAI,CAAC;IAChC,gBAAgB,CAAC,IAAI,IAAI,CAAC;CAC1B;AAED,4DAA4D;AAC5D,MAAM,WAAW,wBAAwB;IACxC,aAAa,EAAE,kBAAkB,CAAC;IAClC,wBAAwB,EAAE,OAAO,EAAE,CAAC;IACpC,gBAAgB,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAChD,wBAAwB,EAAE,kBAAkB,CAAC;IAC7C,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,gBAAgB,CAAC,IAAI,IAAI,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,kBAAkB,CAAC;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACvC;AAED,mEAAmE;AACnE,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC3C,IAAI,EAAE,wBAAwB,EAC9B,OAAO,EAAE,uBAAuB,GAC9B,IAAI,CA8BN"}
@@ -0,0 +1,40 @@
1
+ import { recordResetDiagnostic } from "./reset-diagnostics.js";
2
+ /**
3
+ * Clear shared interactive-mode session state at a session boundary.
4
+ *
5
+ * Owns loader/status/pending-message/transcript clearing. Callers decide
6
+ * whether extension UI and subscriptions also belong to the reset boundary.
7
+ *
8
+ * @param mode - Interactive mode instance being reset
9
+ * @param options - Reset behavior toggles and diagnostic reason
10
+ * @returns Nothing
11
+ */
12
+ export function resetInteractiveSessionState(mode, options) {
13
+ recordResetDiagnostic({ kind: "reset_start", reason: options.reason });
14
+ if (mode.loadingAnimation) {
15
+ mode.loadingAnimation.stop?.();
16
+ mode.loadingAnimation = undefined;
17
+ }
18
+ mode.statusContainer.clear();
19
+ mode.pendingMessagesContainer.clear();
20
+ mode.compactionQueuedMessages = [];
21
+ mode.streamingComponent = undefined;
22
+ mode.streamingMessage = undefined;
23
+ mode.pendingTools.clear();
24
+ mode.chatContainer.clear();
25
+ if (options.clearExtensionUi) {
26
+ mode.resetExtensionUI?.();
27
+ }
28
+ if (options.clearSubscription) {
29
+ mode.unsubscribe?.();
30
+ mode.unsubscribe = undefined;
31
+ }
32
+ if (options.requestScrollbackClear) {
33
+ mode.ui.requestScrollbackClear?.();
34
+ }
35
+ if (options.resetRenderGrace) {
36
+ mode.ui.resetRenderGrace?.();
37
+ }
38
+ recordResetDiagnostic({ kind: "reset_complete", reason: options.reason });
39
+ }
40
+ //# sourceMappingURL=interactive-reset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive-reset.js","sourceRoot":"","sources":["../src/interactive-reset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AA2C/D;;;;;;;;;GASG;AACH,MAAM,UAAU,4BAA4B,CAC3C,IAA8B,EAC9B,OAAgC;IAEhC,qBAAqB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEvE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3B,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACnC,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC7B,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;IACtC,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;IACnC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;IACpC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAClC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAE3B,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC9B,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;QACpC,IAAI,CAAC,EAAE,CAAC,sBAAsB,EAAE,EAAE,CAAC;IACpC,CAAC;IACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAC;IAC9B,CAAC;IAED,qBAAqB,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,10 @@
1
+ declare const APPLY_FLAG = "__tallow_pi_tui_editor_patch_applied__";
2
+ type EditorPrototypeLike = {
3
+ [APPLY_FLAG]?: boolean;
4
+ handleInput?: (data: string) => void;
5
+ render?: (width: number) => string[];
6
+ setText?: (text: string) => void;
7
+ };
8
+ export declare function patchEditorPrototype(prototype: EditorPrototypeLike): void;
9
+ export {};
10
+ //# sourceMappingURL=pi-tui-editor-patch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-tui-editor-patch.d.ts","sourceRoot":"","sources":["../src/pi-tui-editor-patch.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,UAAU,2CAA2C,CAAC;AAQ5D,KAAK,mBAAmB,GAAG;IAC1B,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,CAAC;AAwGF,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,mBAAmB,GAAG,IAAI,CA4EzE"}