@dungle-scrubs/tallow 0.9.3 → 0.9.6

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 (207) hide show
  1. package/dist/cli.js +7 -4
  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 -10
  6. package/dist/interactive-mode-patch.d.ts.map +1 -1
  7. package/dist/interactive-mode-patch.js +285 -148
  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/reset-diagnostics.d.ts +69 -0
  26. package/dist/reset-diagnostics.d.ts.map +1 -0
  27. package/dist/reset-diagnostics.js +41 -0
  28. package/dist/reset-diagnostics.js.map +1 -0
  29. package/dist/sdk.d.ts +5 -21
  30. package/dist/sdk.d.ts.map +1 -1
  31. package/dist/sdk.js +180 -149
  32. package/dist/sdk.js.map +1 -1
  33. package/dist/workspace-transition-interactive.d.ts +1 -0
  34. package/dist/workspace-transition-interactive.d.ts.map +1 -1
  35. package/dist/workspace-transition-interactive.js +7 -17
  36. package/dist/workspace-transition-interactive.js.map +1 -1
  37. package/extensions/__integration__/audit-findings.test.ts +6 -16
  38. package/extensions/__integration__/teams-runtime.test.ts +4 -1
  39. package/extensions/_icons/index.ts +2 -4
  40. package/extensions/_shared/__tests__/image-metadata.test.ts +33 -0
  41. package/extensions/_shared/__tests__/terminal-links.test.ts +18 -0
  42. package/extensions/_shared/image-metadata.ts +99 -0
  43. package/extensions/_shared/inline-preview.ts +1 -1
  44. package/extensions/_shared/pid-registry.ts +0 -1
  45. package/extensions/_shared/terminal-links.ts +22 -0
  46. package/extensions/ask-user-question-tool/index.ts +0 -3
  47. package/extensions/clear/__tests__/clear.test.ts +270 -3
  48. package/extensions/command-expansion/index.ts +1 -1
  49. package/extensions/context-files/index.ts +5 -1
  50. package/extensions/context-fork/__tests__/context-fork.test.ts +94 -1
  51. package/extensions/context-fork/extension.json +1 -1
  52. package/extensions/context-fork/index.ts +32 -0
  53. package/extensions/edit-tool-enhanced/index.ts +2 -1
  54. package/extensions/hooks/index.ts +33 -11
  55. package/extensions/loop/index.ts +14 -1
  56. package/extensions/lsp/index.ts +64 -13
  57. package/extensions/lsp/package.json +2 -2
  58. package/extensions/permissions/__tests__/permissions.test.ts +4 -4
  59. package/extensions/random-spinner/index.ts +7 -642
  60. package/extensions/read-tool-enhanced/index.ts +6 -8
  61. package/extensions/render-stabilizer/__tests__/render-stabilizer.test.ts +4 -5
  62. package/extensions/render-stabilizer/index.ts +6 -6
  63. package/extensions/show-system-prompt/__tests__/show-system-prompt.test.ts +1 -1
  64. package/extensions/slash-command-bridge/__tests__/slash-command-bridge.test.ts +26 -0
  65. package/extensions/slash-command-bridge/index.ts +14 -2
  66. package/extensions/subagent-tool/index.ts +1 -1
  67. package/extensions/subagent-tool/model-resolver.ts +274 -7
  68. package/extensions/tasks/__tests__/state-ui.test.ts +3 -3
  69. package/extensions/tasks/__tests__/widget-subagents.test.ts +2 -2
  70. package/extensions/tasks/commands/register-tasks-extension.ts +10 -10
  71. package/extensions/tasks/state/index.ts +1 -1
  72. package/extensions/tasks/ui/index.ts +2 -7
  73. package/extensions/teams-tool/tools/register-extension.ts +1 -3
  74. package/extensions/web-search-tool/index.ts +2 -1
  75. package/extensions/write-tool-enhanced/__tests__/write-tool-enhanced.test.ts +21 -6
  76. package/extensions/write-tool-enhanced/index.ts +2 -1
  77. package/node_modules/@mariozechner/pi-tui/README.md +56 -34
  78. package/node_modules/@mariozechner/pi-tui/dist/autocomplete.d.ts +18 -13
  79. package/node_modules/@mariozechner/pi-tui/dist/autocomplete.d.ts.map +1 -1
  80. package/node_modules/@mariozechner/pi-tui/dist/autocomplete.js +182 -113
  81. package/node_modules/@mariozechner/pi-tui/dist/autocomplete.js.map +1 -1
  82. package/node_modules/@mariozechner/pi-tui/dist/components/cancellable-loader.js +3 -3
  83. package/node_modules/@mariozechner/pi-tui/dist/components/cancellable-loader.js.map +1 -1
  84. package/node_modules/@mariozechner/pi-tui/dist/components/editor.d.ts +45 -36
  85. package/node_modules/@mariozechner/pi-tui/dist/components/editor.d.ts.map +1 -1
  86. package/node_modules/@mariozechner/pi-tui/dist/components/editor.js +489 -325
  87. package/node_modules/@mariozechner/pi-tui/dist/components/editor.js.map +1 -1
  88. package/node_modules/@mariozechner/pi-tui/dist/components/image.d.ts +1 -99
  89. package/node_modules/@mariozechner/pi-tui/dist/components/image.d.ts.map +1 -1
  90. package/node_modules/@mariozechner/pi-tui/dist/components/image.js +17 -192
  91. package/node_modules/@mariozechner/pi-tui/dist/components/image.js.map +1 -1
  92. package/node_modules/@mariozechner/pi-tui/dist/components/input.d.ts.map +1 -1
  93. package/node_modules/@mariozechner/pi-tui/dist/components/input.js +57 -60
  94. package/node_modules/@mariozechner/pi-tui/dist/components/input.js.map +1 -1
  95. package/node_modules/@mariozechner/pi-tui/dist/components/loader.d.ts +2 -69
  96. package/node_modules/@mariozechner/pi-tui/dist/components/loader.d.ts.map +1 -1
  97. package/node_modules/@mariozechner/pi-tui/dist/components/loader.js +5 -102
  98. package/node_modules/@mariozechner/pi-tui/dist/components/loader.js.map +1 -1
  99. package/node_modules/@mariozechner/pi-tui/dist/components/markdown.d.ts.map +1 -1
  100. package/node_modules/@mariozechner/pi-tui/dist/components/markdown.js +111 -53
  101. package/node_modules/@mariozechner/pi-tui/dist/components/markdown.js.map +1 -1
  102. package/node_modules/@mariozechner/pi-tui/dist/components/select-list.d.ts +19 -1
  103. package/node_modules/@mariozechner/pi-tui/dist/components/select-list.d.ts.map +1 -1
  104. package/node_modules/@mariozechner/pi-tui/dist/components/select-list.js +78 -67
  105. package/node_modules/@mariozechner/pi-tui/dist/components/select-list.js.map +1 -1
  106. package/node_modules/@mariozechner/pi-tui/dist/components/settings-list.d.ts +0 -2
  107. package/node_modules/@mariozechner/pi-tui/dist/components/settings-list.d.ts.map +1 -1
  108. package/node_modules/@mariozechner/pi-tui/dist/components/settings-list.js +12 -23
  109. package/node_modules/@mariozechner/pi-tui/dist/components/settings-list.js.map +1 -1
  110. package/node_modules/@mariozechner/pi-tui/dist/index.d.ts +8 -10
  111. package/node_modules/@mariozechner/pi-tui/dist/index.d.ts.map +1 -1
  112. package/node_modules/@mariozechner/pi-tui/dist/index.js +6 -9
  113. package/node_modules/@mariozechner/pi-tui/dist/index.js.map +1 -1
  114. package/node_modules/@mariozechner/pi-tui/dist/keybindings.d.ts +108 -238
  115. package/node_modules/@mariozechner/pi-tui/dist/keybindings.d.ts.map +1 -1
  116. package/node_modules/@mariozechner/pi-tui/dist/keybindings.js +108 -365
  117. package/node_modules/@mariozechner/pi-tui/dist/keybindings.js.map +1 -1
  118. package/node_modules/@mariozechner/pi-tui/dist/keys.d.ts +33 -48
  119. package/node_modules/@mariozechner/pi-tui/dist/keys.d.ts.map +1 -1
  120. package/node_modules/@mariozechner/pi-tui/dist/keys.js +239 -155
  121. package/node_modules/@mariozechner/pi-tui/dist/keys.js.map +1 -1
  122. package/node_modules/@mariozechner/pi-tui/dist/terminal-image.d.ts +14 -94
  123. package/node_modules/@mariozechner/pi-tui/dist/terminal-image.d.ts.map +1 -1
  124. package/node_modules/@mariozechner/pi-tui/dist/terminal-image.js +44 -186
  125. package/node_modules/@mariozechner/pi-tui/dist/terminal-image.js.map +1 -1
  126. package/node_modules/@mariozechner/pi-tui/dist/terminal.d.ts +13 -58
  127. package/node_modules/@mariozechner/pi-tui/dist/terminal.d.ts.map +1 -1
  128. package/node_modules/@mariozechner/pi-tui/dist/terminal.js +78 -111
  129. package/node_modules/@mariozechner/pi-tui/dist/terminal.js.map +1 -1
  130. package/node_modules/@mariozechner/pi-tui/dist/tui.d.ts +24 -110
  131. package/node_modules/@mariozechner/pi-tui/dist/tui.d.ts.map +1 -1
  132. package/node_modules/@mariozechner/pi-tui/dist/tui.js +188 -435
  133. package/node_modules/@mariozechner/pi-tui/dist/tui.js.map +1 -1
  134. package/node_modules/@mariozechner/pi-tui/dist/utils.d.ts +0 -18
  135. package/node_modules/@mariozechner/pi-tui/dist/utils.d.ts.map +1 -1
  136. package/node_modules/@mariozechner/pi-tui/dist/utils.js +251 -119
  137. package/node_modules/@mariozechner/pi-tui/dist/utils.js.map +1 -1
  138. package/node_modules/@mariozechner/pi-tui/package.json +6 -6
  139. package/node_modules/@mariozechner/pi-tui/src/__tests__/__snapshots__/render.test.ts.snap +3 -40
  140. package/node_modules/@mariozechner/pi-tui/src/__tests__/image-component.test.ts +71 -81
  141. package/node_modules/@mariozechner/pi-tui/src/__tests__/render.test.ts +0 -33
  142. package/node_modules/@mariozechner/pi-tui/src/__tests__/terminal-image.test.ts +93 -334
  143. package/node_modules/@mariozechner/pi-tui/src/__tests__/tui-render-scheduling.test.ts +1 -1
  144. package/node_modules/@mariozechner/pi-tui/src/__tests__/utils.test.ts +11 -196
  145. package/node_modules/@mariozechner/pi-tui/src/autocomplete.ts +228 -142
  146. package/node_modules/@mariozechner/pi-tui/src/components/cancellable-loader.ts +3 -3
  147. package/node_modules/@mariozechner/pi-tui/src/components/editor.ts +624 -390
  148. package/node_modules/@mariozechner/pi-tui/src/components/image.ts +17 -227
  149. package/node_modules/@mariozechner/pi-tui/src/components/input.ts +71 -63
  150. package/node_modules/@mariozechner/pi-tui/src/components/loader.ts +5 -137
  151. package/node_modules/@mariozechner/pi-tui/src/components/markdown.ts +143 -52
  152. package/node_modules/@mariozechner/pi-tui/src/components/select-list.ts +136 -70
  153. package/node_modules/@mariozechner/pi-tui/src/components/settings-list.ts +11 -23
  154. package/node_modules/@mariozechner/pi-tui/src/index.ts +17 -36
  155. package/node_modules/@mariozechner/pi-tui/src/keybindings.ts +148 -421
  156. package/node_modules/@mariozechner/pi-tui/src/keys.ts +253 -181
  157. package/node_modules/@mariozechner/pi-tui/src/terminal-image.ts +51 -252
  158. package/node_modules/@mariozechner/pi-tui/src/terminal.ts +78 -133
  159. package/node_modules/@mariozechner/pi-tui/src/tui.ts +202 -478
  160. package/node_modules/@mariozechner/pi-tui/src/utils.ts +289 -125
  161. package/node_modules/@mariozechner/pi-tui/tsconfig.build.json +1 -0
  162. package/package.json +13 -13
  163. package/packages/tallow-tui/node_modules/@types/mime-types/README.md +8 -2
  164. package/packages/tallow-tui/node_modules/@types/mime-types/index.d.ts +6 -0
  165. package/packages/tallow-tui/node_modules/@types/mime-types/package.json +9 -3
  166. package/packages/tallow-tui/node_modules/get-east-asian-width/lookup-data.js +18 -0
  167. package/packages/tallow-tui/node_modules/get-east-asian-width/lookup.js +116 -384
  168. package/packages/tallow-tui/node_modules/get-east-asian-width/package.json +5 -4
  169. package/packages/tallow-tui/node_modules/get-east-asian-width/utilities.js +24 -0
  170. package/packages/tallow-tui/node_modules/marked/README.md +5 -4
  171. package/packages/tallow-tui/node_modules/marked/bin/main.js +10 -8
  172. package/packages/tallow-tui/node_modules/marked/bin/marked.js +2 -1
  173. package/packages/tallow-tui/node_modules/marked/lib/marked.d.ts +156 -125
  174. package/packages/tallow-tui/node_modules/marked/lib/marked.esm.js +67 -2179
  175. package/packages/tallow-tui/node_modules/marked/lib/marked.esm.js.map +3 -3
  176. package/packages/tallow-tui/node_modules/marked/lib/marked.umd.js +67 -2201
  177. package/packages/tallow-tui/node_modules/marked/lib/marked.umd.js.map +3 -3
  178. package/packages/tallow-tui/node_modules/marked/man/marked.1 +4 -2
  179. package/packages/tallow-tui/node_modules/marked/man/marked.1.md +2 -1
  180. package/packages/tallow-tui/node_modules/marked/package.json +26 -34
  181. package/runtime/model-metadata-overrides.ts +10 -1
  182. package/runtime/pid-schema.ts +26 -6
  183. package/skills/tallow-expert/SKILL.md +1 -3
  184. package/node_modules/@mariozechner/pi-tui/dist/border-styles.d.ts +0 -32
  185. package/node_modules/@mariozechner/pi-tui/dist/border-styles.d.ts.map +0 -1
  186. package/node_modules/@mariozechner/pi-tui/dist/border-styles.js +0 -46
  187. package/node_modules/@mariozechner/pi-tui/dist/border-styles.js.map +0 -1
  188. package/node_modules/@mariozechner/pi-tui/dist/components/bordered-box.d.ts +0 -52
  189. package/node_modules/@mariozechner/pi-tui/dist/components/bordered-box.d.ts.map +0 -1
  190. package/node_modules/@mariozechner/pi-tui/dist/components/bordered-box.js +0 -89
  191. package/node_modules/@mariozechner/pi-tui/dist/components/bordered-box.js.map +0 -1
  192. package/node_modules/@mariozechner/pi-tui/dist/test-utils/capability-env.d.ts +0 -14
  193. package/node_modules/@mariozechner/pi-tui/dist/test-utils/capability-env.d.ts.map +0 -1
  194. package/node_modules/@mariozechner/pi-tui/dist/test-utils/capability-env.js +0 -55
  195. package/node_modules/@mariozechner/pi-tui/dist/test-utils/capability-env.js.map +0 -1
  196. package/node_modules/@mariozechner/pi-tui/src/__tests__/editor-change-listener.test.ts +0 -121
  197. package/node_modules/@mariozechner/pi-tui/src/__tests__/editor-ghost-text.test.ts +0 -112
  198. package/node_modules/@mariozechner/pi-tui/src/__tests__/mouse-events.test.ts +0 -134
  199. package/node_modules/@mariozechner/pi-tui/src/__tests__/settings-list.test.ts +0 -49
  200. package/node_modules/@mariozechner/pi-tui/src/__tests__/tui-diff-regression.test.ts +0 -555
  201. package/node_modules/@mariozechner/pi-tui/src/border-styles.ts +0 -60
  202. package/node_modules/@mariozechner/pi-tui/src/components/bordered-box.ts +0 -113
  203. package/node_modules/@mariozechner/pi-tui/src/test-utils/capability-env.ts +0 -56
  204. package/packages/tallow-tui/node_modules/marked/lib/marked.cjs +0 -2211
  205. package/packages/tallow-tui/node_modules/marked/lib/marked.cjs.map +0 -7
  206. package/packages/tallow-tui/node_modules/marked/lib/marked.d.cts +0 -728
  207. 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.
@@ -11,6 +9,45 @@ import { scheduleAfterIO } from "./yield-to-io.js";
11
9
  function resetRenderGrace(mode) {
12
10
  mode.ui?.resetRenderGrace?.();
13
11
  }
12
+ /**
13
+ * Reset render grace and request a repaint for a large UI surface transition.
14
+ *
15
+ * @param mode - Interactive mode instance
16
+ * @returns Nothing
17
+ */
18
+ function requestStableRender(mode) {
19
+ resetRenderGrace(mode);
20
+ mode.ui?.requestRender?.();
21
+ }
22
+ /**
23
+ * Resolve a settings list instance from a selector result when available.
24
+ *
25
+ * @param result - Selector factory result
26
+ * @returns Settings list instance, or undefined when the selector is not settings-backed
27
+ */
28
+ function getSettingsListFromSelectorResult(result) {
29
+ if (!result || typeof result !== "object")
30
+ return undefined;
31
+ const focusCandidate = result.focus;
32
+ if (typeof focusCandidate?.setLayoutTransitionCallback === "function") {
33
+ return focusCandidate;
34
+ }
35
+ const componentCandidate = result.component;
36
+ return componentCandidate?.getSettingsList?.();
37
+ }
38
+ /**
39
+ * Install render-stabilization hooks for settings submenu transitions.
40
+ *
41
+ * @param mode - Interactive mode instance
42
+ * @param result - Selector factory result
43
+ * @returns Nothing
44
+ */
45
+ function bindSettingsLayoutTransitions(mode, result) {
46
+ const settingsList = getSettingsListFromSelectorResult(result);
47
+ settingsList?.setLayoutTransitionCallback?.(() => {
48
+ requestStableRender(mode);
49
+ });
50
+ }
14
51
  const APPLY_FLAG = "__tallow_interactive_stale_ui_patch_applied__";
15
52
  /** Matches messages that begin with an emoji/symbol icon. */
16
53
  const LEADING_ICON_PATTERN = /^\s*\p{Extended_Pictographic}/u;
@@ -443,27 +480,73 @@ function suppressOverflowAssistantErrorLine(event, session) {
443
480
  },
444
481
  };
445
482
  }
446
- /**
447
- * Patches InteractiveMode prototype methods to prevent stale UI carry-over.
448
- *
449
- * The patch adds:
450
- * - overflow error suppression before auto-compaction loader rendering
451
- * - visible overflow indicators (instead of silent hidden-thinking terminal state)
452
- * - retry liveness watchdog after auto-compaction retry handoff
453
- * - warning path for ambiguous auto-compaction terminal states
454
- * - agent_end cleanup for pending working messages + pending-message refresh
455
- * - post-bash flush/update so deferred bash output moves inline promptly
456
- * - idle Escape behavior that clears queued steering/follow-up messages
457
- * - extension notify normalization for icon-prefixed error messages
458
- * - compaction queue inspection helper for extension UI context
459
- *
460
- * @param prototype - InteractiveMode prototype object
461
- * @returns Nothing
462
- */
463
- export function patchInteractiveModePrototype(prototype) {
464
- 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)
465
495
  return;
466
- 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) {
467
550
  const originalInitExtensions = prototype.initExtensions;
468
551
  if (typeof originalInitExtensions === "function") {
469
552
  prototype.initExtensions = async function (...args) {
@@ -480,122 +563,179 @@ export function patchInteractiveModePrototype(prototype) {
480
563
  return result;
481
564
  };
482
565
  }
483
- const originalHandleEvent = prototype.handleEvent;
484
- if (typeof originalHandleEvent === "function") {
485
- prototype.handleEvent = async function (event) {
486
- if (event?.type === "auto_compaction_start") {
487
- clearCompactionRetryWatchdog(this);
488
- markAutoCompactionRunning(this);
489
- }
490
- if (isCompactionContinuationSignal(event)) {
491
- clearCompactionRetryWatchdog(this);
492
- markCompactionContinuationStarted(this);
493
- }
494
- // ── message_update coalescing (plan 176) ─────────────────────────
495
- // During rapid streaming, message_update fires per token. Coalesce
496
- // into one UI update per I/O cycle (~60fps) so the event loop
497
- // reaches the I/O poll phase and stdin stays responsive.
498
- //
499
- // Uses scheduleAfterIO instead of setImmediate because Bun's
500
- // setImmediate never enters the I/O poll phase. See plan 177.
501
- if (event?.type === "message_update") {
502
- const coalesce = getCoalesceState(this);
503
- // Keep AgentSession event references immutable.
504
- const uiEvent = suppressOverflowAssistantErrorLine(event, this.session);
505
- coalesce.pendingEvent = uiEvent;
506
- if (!coalesce.flushScheduled) {
507
- coalesce.flushScheduled = true;
508
- scheduleAfterIO(async () => {
509
- const state = getCoalesceState(this);
510
- state.flushScheduled = false;
511
- const pending = state.pendingEvent;
512
- state.pendingEvent = null;
513
- if (pending) {
514
- await originalHandleEvent.call(this, pending);
515
- }
516
- });
517
- }
518
- return;
519
- }
520
- // For events that depend on streaming state being current, flush
521
- // any pending message_update first so the component is up-to-date.
522
- //
523
- // agent_end is excluded: its loader cleanup must run synchronously
524
- // within _emit() to avoid a stale "Working..." indicator. The flush
525
- // await yields to the microtask queue, letting _processAgentEvent
526
- // (and ultimately prompt() / getUserInput()) resolve before the
527
- // loader is cleared — the user sees the editor cursor while the
528
- // spinner persists. message_end already flushes the same pending
529
- // state, and in abort paths the streaming component is removed
530
- // regardless, so skipping the flush for agent_end is safe.
531
- // Instead, discard any orphaned pending update synchronously.
532
- if (event?.type === "agent_end") {
533
- const coalesce = getCoalesceState(this);
534
- coalesce.pendingEvent = null;
535
- }
536
- else if (event?.type === "message_end" ||
537
- event?.type === "tool_execution_start" ||
538
- event?.type === "tool_execution_end") {
539
- await flushPendingMessageUpdate(this, originalHandleEvent);
540
- }
541
- // Keep AgentSession event references immutable for persistence/compaction checks.
542
- const uiEvent = suppressOverflowAssistantErrorLine(event, this.session);
543
- const result = await originalHandleEvent.call(this, uiEvent);
544
- if (event?.type === "auto_compaction_end") {
545
- if (event.willRetry === true) {
546
- markAutoCompactionWaitingForRetry(this);
547
- armCompactionRetryWatchdog(this);
548
- }
549
- else {
550
- clearCompactionRetryWatchdog(this);
551
- clearAutoCompactionStatus(this);
552
- }
553
- if (isAmbiguousCompactionEndState(event)) {
554
- notifyFromInteractiveMode(this, AMBIGUOUS_COMPACTION_END_WARNING_TEXT, "warning");
555
- }
556
- }
557
- if (event?.type === "agent_end") {
558
- clearCompactionRetryWatchdog(this);
559
- this.pendingWorkingMessage = undefined;
560
- // Safety net: stop the loading animation if the upstream handler
561
- // didn't reach its cleanup (e.g. extension agent_end handlers
562
- // delayed _emit so session.prompt() resolved first). The upstream
563
- // handler also clears these, but this runs in the post-await path
564
- // as a second chance.
565
- if (this.loadingAnimation) {
566
- this.loadingAnimation.stop?.();
567
- this.loadingAnimation = null;
568
- }
569
- // Preserve the compaction loader only while compaction is still
570
- // running or while a promised retry has not actually started yet.
571
- // Once continuation begins, later agent_end events must clear the
572
- // spinner like any normal turn.
573
- if (!shouldPreserveCompactionStatus(this)) {
574
- this.statusContainer?.clear?.();
575
- }
576
- this.flushPendingBashComponents?.();
577
- // Drain orphaned session steering/follow-up messages to the editor.
578
- // Steering messages are injected mid-turn; if the turn ends without
579
- // the agent consuming them, they persist as zombie "Steering: ..."
580
- // lines in the UI forever. Follow-ups are similarly stale if the
581
- // agent never started them. Restoring to editor makes the messages
582
- // visible and re-sendable — same behavior as pressing the dequeue
583
- // key, but triggered automatically at turn end.
584
- drainOrphanedSessionMessages(this);
585
- this.updatePendingMessagesDisplay?.();
586
- // Force a full re-render to guarantee stale loader text is cleared
587
- // from the terminal. A non-forced requestRender() can coalesce with
588
- // a stale pending render that ran before statusContainer.clear().
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
+ }
579
+ const originalRenderInitialMessages = prototype.renderInitialMessages;
580
+ if (typeof originalRenderInitialMessages === "function") {
581
+ prototype.renderInitialMessages = function (...args) {
582
+ requestStableRender(this);
583
+ return originalRenderInitialMessages.call(this, ...args);
584
+ };
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);
589
598
  this.ui?.requestRender?.(true);
590
- const deferredCompact = pendingInteractiveExtensionCompact.get(this);
591
- if (deferredCompact) {
592
- pendingInteractiveExtensionCompact.delete(this);
593
- runInteractiveExtensionCompact(this, deferredCompact);
594
- }
599
+ return result;
600
+ }
601
+ finally {
602
+ this.ui?.endRenderBatch?.();
595
603
  }
596
- return result;
597
604
  };
598
605
  }
606
+ const originalRebuildChatFromMessages = prototype.rebuildChatFromMessages;
607
+ if (typeof originalRebuildChatFromMessages === "function") {
608
+ prototype.rebuildChatFromMessages = function (...args) {
609
+ requestStableRender(this);
610
+ return originalRebuildChatFromMessages.call(this, ...args);
611
+ };
612
+ }
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);
629
+ }
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?.();
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);
599
739
  const originalHandleBashCommand = prototype.handleBashCommand;
600
740
  if (typeof originalHandleBashCommand === "function") {
601
741
  prototype.handleBashCommand = async function (command, excludeFromContext) {
@@ -629,7 +769,7 @@ export function patchInteractiveModePrototype(prototype) {
629
769
  if (!shouldPreserveCompactionStatus(this)) {
630
770
  this.statusContainer?.clear?.();
631
771
  }
632
- this.ui?.requestRender?.(true);
772
+ this.ui?.requestRender?.();
633
773
  return originalGetUserInput.call(this);
634
774
  };
635
775
  }
@@ -658,12 +798,13 @@ export function patchInteractiveModePrototype(prototype) {
658
798
  return originalShowSelector.call(this, (...args) => {
659
799
  const originalDone = args[0];
660
800
  const wrappedDone = () => {
661
- resetRenderGrace(this);
801
+ requestStableRender(this);
662
802
  originalDone?.();
663
- this.ui?.requestRender?.();
664
803
  };
665
- resetRenderGrace(this);
666
- return create(wrappedDone);
804
+ requestStableRender(this);
805
+ const result = create(wrappedDone);
806
+ bindSettingsLayoutTransitions(this, result);
807
+ return result;
667
808
  });
668
809
  };
669
810
  }
@@ -709,8 +850,9 @@ export function patchInteractiveModePrototype(prototype) {
709
850
  /**
710
851
  * Applies the stale UI patch to pi-coding-agent InteractiveMode.
711
852
  *
712
- * Uses a direct file import via resolved package path because the InteractiveMode
713
- * 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.
714
856
  *
715
857
  * @returns Nothing
716
858
  */
@@ -719,12 +861,7 @@ export async function applyInteractiveModeStaleUiPatch() {
719
861
  if (globals[APPLY_FLAG] === true)
720
862
  return;
721
863
  try {
722
- const require = createRequire(import.meta.url);
723
- const packageJsonPath = require.resolve("@mariozechner/pi-coding-agent/package.json");
724
- const packageRoot = dirname(packageJsonPath);
725
- const interactiveModePath = join(packageRoot, "dist", "modes", "interactive", "interactive-mode.js");
726
- const moduleUrl = pathToFileURL(interactiveModePath).href;
727
- const mod = (await import(moduleUrl));
864
+ const mod = (await import("@mariozechner/pi-coding-agent"));
728
865
  const prototype = mod.InteractiveMode?.prototype;
729
866
  if (!prototype)
730
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"}