@code-yeongyu/senpi 2026.6.30 → 2026.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/core/agent-session.d.ts +6 -1
  3. package/dist/core/agent-session.d.ts.map +1 -1
  4. package/dist/core/agent-session.js +42 -25
  5. package/dist/core/agent-session.js.map +1 -1
  6. package/dist/core/auth-storage.d.ts.map +1 -1
  7. package/dist/core/auth-storage.js +13 -5
  8. package/dist/core/auth-storage.js.map +1 -1
  9. package/dist/core/compaction/compaction.d.ts.map +1 -1
  10. package/dist/core/compaction/compaction.js +5 -8
  11. package/dist/core/compaction/compaction.js.map +1 -1
  12. package/dist/core/extensions/index.d.ts +1 -1
  13. package/dist/core/extensions/index.d.ts.map +1 -1
  14. package/dist/core/extensions/index.js.map +1 -1
  15. package/dist/core/extensions/loader.d.ts.map +1 -1
  16. package/dist/core/extensions/loader.js +6 -0
  17. package/dist/core/extensions/loader.js.map +1 -1
  18. package/dist/core/extensions/runner.d.ts +2 -1
  19. package/dist/core/extensions/runner.d.ts.map +1 -1
  20. package/dist/core/extensions/runner.js +9 -0
  21. package/dist/core/extensions/runner.js.map +1 -1
  22. package/dist/core/extensions/types.d.ts +16 -2
  23. package/dist/core/extensions/types.d.ts.map +1 -1
  24. package/dist/core/extensions/types.js.map +1 -1
  25. package/dist/core/http-dispatcher.d.ts.map +1 -1
  26. package/dist/core/http-dispatcher.js +28 -1
  27. package/dist/core/http-dispatcher.js.map +1 -1
  28. package/dist/core/model-resolver.d.ts +10 -0
  29. package/dist/core/model-resolver.d.ts.map +1 -1
  30. package/dist/core/model-resolver.js +16 -22
  31. package/dist/core/model-resolver.js.map +1 -1
  32. package/dist/core/session-manager.d.ts +20 -1
  33. package/dist/core/session-manager.d.ts.map +1 -1
  34. package/dist/core/session-manager.js +87 -68
  35. package/dist/core/session-manager.js.map +1 -1
  36. package/dist/core/settings-manager.d.ts +3 -0
  37. package/dist/core/settings-manager.d.ts.map +1 -1
  38. package/dist/core/settings-manager.js +8 -0
  39. package/dist/core/settings-manager.js.map +1 -1
  40. package/dist/core/tools/bash.d.ts.map +1 -1
  41. package/dist/core/tools/bash.js +20 -5
  42. package/dist/core/tools/bash.js.map +1 -1
  43. package/dist/extension-system-migration.d.ts +2 -0
  44. package/dist/extension-system-migration.d.ts.map +1 -0
  45. package/dist/extension-system-migration.js +51 -0
  46. package/dist/extension-system-migration.js.map +1 -0
  47. package/dist/index.d.ts +3 -2
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +2 -1
  50. package/dist/index.js.map +1 -1
  51. package/dist/legacy-senpi-dir-migration.d.ts +2 -0
  52. package/dist/legacy-senpi-dir-migration.d.ts.map +1 -0
  53. package/dist/legacy-senpi-dir-migration.js +76 -0
  54. package/dist/legacy-senpi-dir-migration.js.map +1 -0
  55. package/dist/migrations.d.ts.map +1 -1
  56. package/dist/migrations.js +3 -95
  57. package/dist/migrations.js.map +1 -1
  58. package/dist/modes/interactive/components/assistant-message.d.ts +3 -1
  59. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  60. package/dist/modes/interactive/components/assistant-message.js +15 -7
  61. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  62. package/dist/modes/interactive/components/custom-entry.d.ts +19 -0
  63. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -0
  64. package/dist/modes/interactive/components/custom-entry.js +49 -0
  65. package/dist/modes/interactive/components/custom-entry.js.map +1 -0
  66. package/dist/modes/interactive/components/settings-selector.d.ts +2 -0
  67. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  68. package/dist/modes/interactive/components/settings-selector.js +13 -1
  69. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  70. package/dist/modes/interactive/components/status-indicator.d.ts +27 -0
  71. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -0
  72. package/dist/modes/interactive/components/status-indicator.js +64 -0
  73. package/dist/modes/interactive/components/status-indicator.js.map +1 -0
  74. package/dist/modes/interactive/components/user-message.d.ts +6 -2
  75. package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  76. package/dist/modes/interactive/components/user-message.js +15 -4
  77. package/dist/modes/interactive/components/user-message.js.map +1 -1
  78. package/dist/modes/interactive/interactive-mode.d.ts +14 -15
  79. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  80. package/dist/modes/interactive/interactive-mode.js +176 -137
  81. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  82. package/dist/modes/rpc/rpc-client.d.ts +15 -0
  83. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  84. package/dist/modes/rpc/rpc-client.js +14 -0
  85. package/dist/modes/rpc/rpc-client.js.map +1 -1
  86. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  87. package/dist/modes/rpc/rpc-mode.js +16 -0
  88. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  89. package/dist/modes/rpc/rpc-types.d.ts +26 -0
  90. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  91. package/dist/modes/rpc/rpc-types.js.map +1 -1
  92. package/docs/extensions.md +55 -8
  93. package/docs/rpc.md +58 -0
  94. package/docs/sdk.md +28 -0
  95. package/docs/session-format.md +18 -8
  96. package/docs/settings.md +1 -0
  97. package/examples/extensions/README.md +1 -0
  98. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  99. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  100. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  101. package/examples/extensions/entry-renderer.ts +41 -0
  102. package/examples/extensions/gondolin/package-lock.json +2 -2
  103. package/examples/extensions/gondolin/package.json +1 -1
  104. package/examples/extensions/sandbox/package-lock.json +2 -2
  105. package/examples/extensions/sandbox/package.json +1 -1
  106. package/examples/extensions/with-deps/package-lock.json +2 -2
  107. package/examples/extensions/with-deps/package.json +1 -1
  108. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts +3 -1
  109. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -1
  110. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +9 -1
  111. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -1
  112. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
  113. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +4 -6
  114. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
  115. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts.map +1 -1
  116. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js +20 -2
  117. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js.map +1 -1
  118. package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
  119. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.d.ts.map +1 -1
  120. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js +2 -14
  121. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js.map +1 -1
  122. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.d.ts.map +1 -1
  123. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js +12 -4
  124. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js.map +1 -1
  125. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.d.ts.map +1 -1
  126. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js +2 -1
  127. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js.map +1 -1
  128. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.d.ts.map +1 -1
  129. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js +2 -1
  130. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js.map +1 -1
  131. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.d.ts.map +1 -1
  132. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js +56 -39
  133. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js.map +1 -1
  134. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
  135. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +8 -3
  136. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
  137. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts.map +1 -1
  138. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +2 -14
  139. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -1
  140. package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.d.ts.map +1 -1
  141. package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.js +2 -1
  142. package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.js.map +1 -1
  143. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts +15 -45
  144. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts.map +1 -1
  145. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +15 -45
  146. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
  147. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +375 -54
  148. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  149. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.d.ts +123 -0
  150. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.d.ts.map +1 -1
  151. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.js +124 -4
  152. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.js.map +1 -1
  153. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.d.ts +20 -0
  154. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.d.ts.map +1 -1
  155. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.js +18 -0
  156. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.js.map +1 -1
  157. package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.d.ts +21 -0
  158. package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.d.ts.map +1 -1
  159. package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.js +18 -0
  160. package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.js.map +1 -1
  161. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.d.ts +21 -0
  162. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.d.ts.map +1 -1
  163. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.js +18 -0
  164. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.js.map +1 -1
  165. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.d.ts +10 -5
  166. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.d.ts.map +1 -1
  167. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.js +4 -3
  168. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.js.map +1 -1
  169. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.d.ts +26 -0
  170. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.d.ts.map +1 -1
  171. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js +19 -0
  172. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js.map +1 -1
  173. package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.d.ts +0 -28
  174. package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.d.ts.map +1 -1
  175. package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.js +0 -19
  176. package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.js.map +1 -1
  177. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.js +5 -5
  178. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.js.map +1 -1
  179. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.d.ts +89 -0
  180. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.d.ts.map +1 -1
  181. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.js +75 -2
  182. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.js.map +1 -1
  183. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.d.ts +21 -21
  184. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.d.ts.map +1 -1
  185. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js +49 -49
  186. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js.map +1 -1
  187. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.d.ts +44 -0
  188. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -1
  189. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js +37 -0
  190. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js.map +1 -1
  191. package/node_modules/@earendil-works/pi-ai/dist/utils/error-body.d.ts +25 -0
  192. package/node_modules/@earendil-works/pi-ai/dist/utils/error-body.d.ts.map +1 -0
  193. package/node_modules/@earendil-works/pi-ai/dist/utils/error-body.js +109 -0
  194. package/node_modules/@earendil-works/pi-ai/dist/utils/error-body.js.map +1 -0
  195. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.d.ts +1 -0
  196. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.d.ts.map +1 -1
  197. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js +6 -0
  198. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js.map +1 -1
  199. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts.map +1 -1
  200. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js +1 -0
  201. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js.map +1 -1
  202. package/node_modules/@earendil-works/pi-ai/package.json +1 -1
  203. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts +13 -0
  204. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
  205. package/node_modules/@earendil-works/pi-tui/dist/tui.js +25 -12
  206. package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
  207. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  208. package/npm-shrinkwrap.json +9 -9
  209. package/package.json +4 -4
@@ -0,0 +1,64 @@
1
+ import { Loader } from "@earendil-works/pi-tui";
2
+ import { theme } from "../theme/theme.js";
3
+ import { CountdownTimer } from "./countdown-timer.js";
4
+ import { keyText } from "./keybinding-hints.js";
5
+ export class StatusIndicator extends Loader {
6
+ constructor(kind, ui, spinnerColorFn, messageColorFn, message, indicator) {
7
+ super(ui, spinnerColorFn, messageColorFn, message, indicator);
8
+ this.kind = kind;
9
+ }
10
+ dispose() {
11
+ this.stop();
12
+ }
13
+ }
14
+ export class WorkingStatusIndicator extends StatusIndicator {
15
+ constructor(ui, message, indicator) {
16
+ super("working", ui, (spinner) => theme.fg("accent", spinner), (text) => theme.fg("muted", text), message, indicator);
17
+ }
18
+ }
19
+ export class RetryStatusIndicator extends StatusIndicator {
20
+ constructor(ui, attempt, maxAttempts, delayMs) {
21
+ const retryMessage = (seconds) => `Retrying (${attempt}/${maxAttempts}) in ${seconds}s... (${keyText("app.interrupt")} to cancel)`;
22
+ super("retry", ui, (spinner) => theme.fg("warning", spinner), (text) => theme.fg("muted", text), retryMessage(Math.ceil(delayMs / 1000)));
23
+ this.countdown = new CountdownTimer(delayMs, ui, (seconds) => {
24
+ this.setMessage(retryMessage(seconds));
25
+ }, () => {
26
+ this.countdown = undefined;
27
+ });
28
+ }
29
+ dispose() {
30
+ this.countdown?.dispose();
31
+ this.countdown = undefined;
32
+ super.dispose();
33
+ }
34
+ }
35
+ export class CompactionStatusIndicator extends StatusIndicator {
36
+ constructor(ui, reason) {
37
+ const cancelHint = `(${keyText("app.interrupt")} to cancel)`;
38
+ const label = reason === "manual"
39
+ ? `Compacting context... ${cancelHint}`
40
+ : reason === "overflow"
41
+ ? `Context overflow detected, compacting... ${cancelHint}`
42
+ : reason === "pre_prompt"
43
+ ? `Compacting before next prompt... ${cancelHint}`
44
+ : reason === "threshold"
45
+ ? `Auto-compacting... ${cancelHint}`
46
+ : `Compacting context... ${cancelHint}`;
47
+ super("compaction", ui, (spinner) => theme.fg("accent", spinner), (text) => theme.fg("muted", text), label);
48
+ }
49
+ }
50
+ export class BranchSummaryStatusIndicator extends StatusIndicator {
51
+ constructor(ui) {
52
+ super("branchSummary", ui, (spinner) => theme.fg("accent", spinner), (text) => theme.fg("muted", text), `Summarizing branch... (${keyText("app.interrupt")} to cancel)`);
53
+ }
54
+ }
55
+ export class IdleStatus {
56
+ invalidate() {
57
+ // No cached state to invalidate.
58
+ }
59
+ render(width) {
60
+ const emptyLine = " ".repeat(width);
61
+ return [emptyLine, emptyLine];
62
+ }
63
+ }
64
+ //# sourceMappingURL=status-indicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-indicator.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/status-indicator.ts"],"names":[],"mappings":"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","sourcesContent":["import { type Component, Loader, type LoaderIndicatorOptions, type TUI } from \"@earendil-works/pi-tui\";\nimport { theme } from \"../theme/theme.ts\";\nimport { CountdownTimer } from \"./countdown-timer.ts\";\nimport { keyText } from \"./keybinding-hints.ts\";\n\nexport type StatusIndicatorKind = \"working\" | \"retry\" | \"compaction\" | \"branchSummary\";\n\nexport class StatusIndicator extends Loader {\n\treadonly kind: StatusIndicatorKind;\n\n\tconstructor(\n\t\tkind: StatusIndicatorKind,\n\t\tui: TUI,\n\t\tspinnerColorFn: (str: string) => string,\n\t\tmessageColorFn: (str: string) => string,\n\t\tmessage: string,\n\t\tindicator?: LoaderIndicatorOptions,\n\t) {\n\t\tsuper(ui, spinnerColorFn, messageColorFn, message, indicator);\n\t\tthis.kind = kind;\n\t}\n\n\tdispose(): void {\n\t\tthis.stop();\n\t}\n}\n\nexport class WorkingStatusIndicator extends StatusIndicator {\n\tconstructor(ui: TUI, message: string, indicator?: LoaderIndicatorOptions) {\n\t\tsuper(\n\t\t\t\"working\",\n\t\t\tui,\n\t\t\t(spinner) => theme.fg(\"accent\", spinner),\n\t\t\t(text) => theme.fg(\"muted\", text),\n\t\t\tmessage,\n\t\t\tindicator,\n\t\t);\n\t}\n}\n\nexport class RetryStatusIndicator extends StatusIndicator {\n\tprivate countdown: CountdownTimer | undefined;\n\n\tconstructor(ui: TUI, attempt: number, maxAttempts: number, delayMs: number) {\n\t\tconst retryMessage = (seconds: number) =>\n\t\t\t`Retrying (${attempt}/${maxAttempts}) in ${seconds}s... (${keyText(\"app.interrupt\")} to cancel)`;\n\t\tsuper(\n\t\t\t\"retry\",\n\t\t\tui,\n\t\t\t(spinner) => theme.fg(\"warning\", spinner),\n\t\t\t(text) => theme.fg(\"muted\", text),\n\t\t\tretryMessage(Math.ceil(delayMs / 1000)),\n\t\t);\n\t\tthis.countdown = new CountdownTimer(\n\t\t\tdelayMs,\n\t\t\tui,\n\t\t\t(seconds) => {\n\t\t\t\tthis.setMessage(retryMessage(seconds));\n\t\t\t},\n\t\t\t() => {\n\t\t\t\tthis.countdown = undefined;\n\t\t\t},\n\t\t);\n\t}\n\n\toverride dispose(): void {\n\t\tthis.countdown?.dispose();\n\t\tthis.countdown = undefined;\n\t\tsuper.dispose();\n\t}\n}\n\nexport type CompactionStatusReason = \"manual\" | \"threshold\" | \"overflow\" | \"pre_prompt\" | \"branch\" | \"extension\";\n\nexport class CompactionStatusIndicator extends StatusIndicator {\n\tconstructor(ui: TUI, reason: CompactionStatusReason) {\n\t\tconst cancelHint = `(${keyText(\"app.interrupt\")} to cancel)`;\n\t\tconst label =\n\t\t\treason === \"manual\"\n\t\t\t\t? `Compacting context... ${cancelHint}`\n\t\t\t\t: reason === \"overflow\"\n\t\t\t\t\t? `Context overflow detected, compacting... ${cancelHint}`\n\t\t\t\t\t: reason === \"pre_prompt\"\n\t\t\t\t\t\t? `Compacting before next prompt... ${cancelHint}`\n\t\t\t\t\t\t: reason === \"threshold\"\n\t\t\t\t\t\t\t? `Auto-compacting... ${cancelHint}`\n\t\t\t\t\t\t\t: `Compacting context... ${cancelHint}`;\n\t\tsuper(\n\t\t\t\"compaction\",\n\t\t\tui,\n\t\t\t(spinner) => theme.fg(\"accent\", spinner),\n\t\t\t(text) => theme.fg(\"muted\", text),\n\t\t\tlabel,\n\t\t);\n\t}\n}\n\nexport class BranchSummaryStatusIndicator extends StatusIndicator {\n\tconstructor(ui: TUI) {\n\t\tsuper(\n\t\t\t\"branchSummary\",\n\t\t\tui,\n\t\t\t(spinner) => theme.fg(\"accent\", spinner),\n\t\t\t(text) => theme.fg(\"muted\", text),\n\t\t\t`Summarizing branch... (${keyText(\"app.interrupt\")} to cancel)`,\n\t\t);\n\t}\n}\n\nexport class IdleStatus implements Component {\n\tinvalidate(): void {\n\t\t// No cached state to invalidate.\n\t}\n\n\trender(width: number): string[] {\n\t\tconst emptyLine = \" \".repeat(width);\n\t\treturn [emptyLine, emptyLine];\n\t}\n}\n"]}
@@ -3,8 +3,12 @@ import { Container, type MarkdownTheme } from "@earendil-works/pi-tui";
3
3
  * Component that renders a user message
4
4
  */
5
5
  export declare class UserMessageComponent extends Container {
6
- private contentBox;
7
- constructor(text: string, markdownTheme?: MarkdownTheme);
6
+ private text;
7
+ private markdownTheme;
8
+ private outputPad;
9
+ constructor(text: string, markdownTheme?: MarkdownTheme, outputPad?: number);
10
+ setOutputPad(padding: number): void;
11
+ private rebuild;
8
12
  render(width: number): string[];
9
13
  }
10
14
  //# sourceMappingURL=user-message.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-message.d.ts","sourceRoot":"","sources":["../../../../src/modes/interactive/components/user-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,SAAS,EAAY,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAOtF;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,SAAS;IAClD,OAAO,CAAC,UAAU,CAAM;IAExB,YAAY,IAAI,EAAE,MAAM,EAAE,aAAa,GAAE,aAAkC,EAgB1E;IAEQ,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CASvC;CACD"}
1
+ {"version":3,"file":"user-message.d.ts","sourceRoot":"","sources":["../../../../src/modes/interactive/components/user-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,SAAS,EAAY,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAOtF;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,SAAS;IAClD,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,SAAS,CAAS;IAE1B,YAAY,IAAI,EAAE,MAAM,EAAE,aAAa,GAAE,aAAkC,EAAE,SAAS,SAAI,EAMzF;IAED,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAGlC;IAED,OAAO,CAAC,OAAO;IAkBN,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CASvC;CACD"}
@@ -7,13 +7,24 @@ const OSC133_ZONE_FINAL = "\x1b]133;C\x07";
7
7
  * Component that renders a user message
8
8
  */
9
9
  export class UserMessageComponent extends Container {
10
- constructor(text, markdownTheme = getMarkdownTheme()) {
10
+ constructor(text, markdownTheme = getMarkdownTheme(), outputPad = 1) {
11
11
  super();
12
- this.contentBox = new Box(1, 1, (content) => theme.bg("userMessageBg", content));
13
- this.contentBox.addChild(new Markdown(text, 0, 0, markdownTheme, {
12
+ this.text = text;
13
+ this.markdownTheme = markdownTheme;
14
+ this.outputPad = outputPad;
15
+ this.rebuild();
16
+ }
17
+ setOutputPad(padding) {
18
+ this.outputPad = padding;
19
+ this.rebuild();
20
+ }
21
+ rebuild() {
22
+ this.clear();
23
+ const contentBox = new Box(this.outputPad, 1, (content) => theme.bg("userMessageBg", content));
24
+ contentBox.addChild(new Markdown(this.text, 0, 0, this.markdownTheme, {
14
25
  color: (content) => theme.fg("userMessageText", content),
15
26
  }, { preserveOrderedListMarkers: true, preserveBackslashEscapes: true }));
16
- this.addChild(this.contentBox);
27
+ this.addChild(contentBox);
17
28
  }
18
29
  render(width) {
19
30
  const lines = super.render(width);
@@ -1 +1 @@
1
- {"version":3,"file":"user-message.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/user-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAsB,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,MAAM,eAAe,GAAG,gBAAgB,CAAC;AACzC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,SAAS;IAGlD,YAAY,IAAY,EAAE,aAAa,GAAkB,gBAAgB,EAAE;QAC1E,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,UAAU,CAAC,QAAQ,CACvB,IAAI,QAAQ,CACX,IAAI,EACJ,CAAC,EACD,CAAC,EACD,aAAa,EACb;YACC,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,CAAC;SAChE,EACD,EAAE,0BAA0B,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,CACpE,CACD,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAEQ,MAAM,CAAC,KAAa;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACd,CAAC;QAED,KAAK,CAAC,CAAC,CAAC,GAAG,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,eAAe,GAAG,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxF,OAAO,KAAK,CAAC;IACd,CAAC;CACD","sourcesContent":["import { Box, Container, Markdown, type MarkdownTheme } from \"@earendil-works/pi-tui\";\nimport { getMarkdownTheme, theme } from \"../theme/theme.ts\";\n\nconst OSC133_ZONE_START = \"\\x1b]133;A\\x07\";\nconst OSC133_ZONE_END = \"\\x1b]133;B\\x07\";\nconst OSC133_ZONE_FINAL = \"\\x1b]133;C\\x07\";\n\n/**\n * Component that renders a user message\n */\nexport class UserMessageComponent extends Container {\n\tprivate contentBox: Box;\n\n\tconstructor(text: string, markdownTheme: MarkdownTheme = getMarkdownTheme()) {\n\t\tsuper();\n\t\tthis.contentBox = new Box(1, 1, (content: string) => theme.bg(\"userMessageBg\", content));\n\t\tthis.contentBox.addChild(\n\t\t\tnew Markdown(\n\t\t\t\ttext,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tmarkdownTheme,\n\t\t\t\t{\n\t\t\t\t\tcolor: (content: string) => theme.fg(\"userMessageText\", content),\n\t\t\t\t},\n\t\t\t\t{ preserveOrderedListMarkers: true, preserveBackslashEscapes: true },\n\t\t\t),\n\t\t);\n\t\tthis.addChild(this.contentBox);\n\t}\n\n\toverride render(width: number): string[] {\n\t\tconst lines = super.render(width);\n\t\tif (lines.length === 0) {\n\t\t\treturn lines;\n\t\t}\n\n\t\tlines[0] = OSC133_ZONE_START + lines[0];\n\t\tlines[lines.length - 1] = OSC133_ZONE_END + OSC133_ZONE_FINAL + lines[lines.length - 1];\n\t\treturn lines;\n\t}\n}\n"]}
1
+ {"version":3,"file":"user-message.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/user-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAsB,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,MAAM,eAAe,GAAG,gBAAgB,CAAC;AACzC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,SAAS;IAKlD,YAAY,IAAY,EAAE,aAAa,GAAkB,gBAAgB,EAAE,EAAE,SAAS,GAAG,CAAC;QACzF,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,OAAe;QAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAEO,OAAO;QACd,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QACvG,UAAU,CAAC,QAAQ,CAClB,IAAI,QAAQ,CACX,IAAI,CAAC,IAAI,EACT,CAAC,EACD,CAAC,EACD,IAAI,CAAC,aAAa,EAClB;YACC,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,CAAC;SAChE,EACD,EAAE,0BAA0B,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,CACpE,CACD,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAEQ,MAAM,CAAC,KAAa;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACd,CAAC;QAED,KAAK,CAAC,CAAC,CAAC,GAAG,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,eAAe,GAAG,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxF,OAAO,KAAK,CAAC;IACd,CAAC;CACD","sourcesContent":["import { Box, Container, Markdown, type MarkdownTheme } from \"@earendil-works/pi-tui\";\nimport { getMarkdownTheme, theme } from \"../theme/theme.ts\";\n\nconst OSC133_ZONE_START = \"\\x1b]133;A\\x07\";\nconst OSC133_ZONE_END = \"\\x1b]133;B\\x07\";\nconst OSC133_ZONE_FINAL = \"\\x1b]133;C\\x07\";\n\n/**\n * Component that renders a user message\n */\nexport class UserMessageComponent extends Container {\n\tprivate text: string;\n\tprivate markdownTheme: MarkdownTheme;\n\tprivate outputPad: number;\n\n\tconstructor(text: string, markdownTheme: MarkdownTheme = getMarkdownTheme(), outputPad = 1) {\n\t\tsuper();\n\t\tthis.text = text;\n\t\tthis.markdownTheme = markdownTheme;\n\t\tthis.outputPad = outputPad;\n\t\tthis.rebuild();\n\t}\n\n\tsetOutputPad(padding: number): void {\n\t\tthis.outputPad = padding;\n\t\tthis.rebuild();\n\t}\n\n\tprivate rebuild(): void {\n\t\tthis.clear();\n\t\tconst contentBox = new Box(this.outputPad, 1, (content: string) => theme.bg(\"userMessageBg\", content));\n\t\tcontentBox.addChild(\n\t\t\tnew Markdown(\n\t\t\t\tthis.text,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tthis.markdownTheme,\n\t\t\t\t{\n\t\t\t\t\tcolor: (content: string) => theme.fg(\"userMessageText\", content),\n\t\t\t\t},\n\t\t\t\t{ preserveOrderedListMarkers: true, preserveBackslashEscapes: true },\n\t\t\t),\n\t\t);\n\t\tthis.addChild(contentBox);\n\t}\n\n\toverride render(width: number): string[] {\n\t\tconst lines = super.render(width);\n\t\tif (lines.length === 0) {\n\t\t\treturn lines;\n\t\t}\n\n\t\tlines[0] = OSC133_ZONE_START + lines[0];\n\t\tlines[lines.length - 1] = OSC133_ZONE_END + OSC133_ZONE_FINAL + lines[lines.length - 1];\n\t\treturn lines;\n\t}\n}\n"]}
@@ -49,12 +49,12 @@ export declare class InteractiveMode {
49
49
  private isInitialized;
50
50
  private onInputCallback?;
51
51
  private pendingUserInputs;
52
- private loadingAnimation;
52
+ private activeStatusIndicator;
53
+ private readonly idleStatus;
53
54
  private workingMessage;
54
55
  private workingVisible;
55
56
  private workingIndicatorOptions;
56
57
  private workingStartedAt;
57
- private workingElapsedIntervalId;
58
58
  private readonly defaultWorkingMessage;
59
59
  private readonly defaultHiddenThinkingLabel;
60
60
  private hiddenThinkingLabel;
@@ -78,17 +78,15 @@ export declare class InteractiveMode {
78
78
  private requestStreamingRender;
79
79
  private toolOutputExpanded;
80
80
  private hideThinkingBlock;
81
+ private outputPad;
81
82
  private skillCommands;
82
83
  private unsubscribe?;
83
84
  private signalCleanupHandlers;
84
85
  private isBashMode;
85
86
  private bashComponent;
86
87
  private pendingBashComponents;
87
- private autoCompactionLoader;
88
88
  private autoCompactionEscapeHandler?;
89
89
  private autoCompactionProgressText;
90
- private retryLoader;
91
- private retryCountdown;
92
90
  private retryEscapeHandler?;
93
91
  private compactionQueuedMessages;
94
92
  private shutdownRequested;
@@ -182,11 +180,6 @@ export declare class InteractiveMode {
182
180
  * Set extension status text in the footer.
183
181
  */
184
182
  private setExtensionStatus;
185
- private getWorkingLoaderMessage;
186
- private getWorkingElapsedSeconds;
187
- private refreshWorkingLoaderMessage;
188
- private startWorkingElapsedTimer;
189
- private stopWorkingElapsedTimer;
190
183
  private startToolHookStatusTimer;
191
184
  private stopToolHookStatusTimer;
192
185
  private refreshToolHookStatuses;
@@ -196,9 +189,13 @@ export declare class InteractiveMode {
196
189
  private clearPendingTools;
197
190
  private clearActiveToolExecutionStatus;
198
191
  private clearToolHookStatuses;
192
+ private getWorkingElapsedSeconds;
193
+ private getWorkingLoaderMessage;
194
+ private refreshWorkingLoaderMessage;
199
195
  private getWorkingIndicatorOptions;
200
- private createWorkingLoader;
201
- private stopWorkingLoader;
196
+ private showStatusIndicator;
197
+ private updateWorkingIndicatorMessage;
198
+ private clearStatusIndicator;
202
199
  private setWorkingVisible;
203
200
  private setWorkingIndicator;
204
201
  private setHiddenThinkingLabel;
@@ -287,14 +284,16 @@ export declare class InteractiveMode {
287
284
  * we update the previous status line instead of appending new ones to avoid log spam.
288
285
  */
289
286
  private showStatus;
287
+ private addCustomEntryToChat;
290
288
  private addMessageToChat;
289
+ private renderSessionItems;
291
290
  /**
292
- * Render session context to chat. Used for initial load and rebuild after compaction.
293
- * @param sessionContext Session context to render
291
+ * Render session entries to chat. Used for initial load and rebuild after compaction.
292
+ * @param entries Compaction-aware session entries to render
294
293
  * @param options.updateFooter Update footer state
295
294
  * @param options.populateHistory Add user messages to editor history
296
295
  */
297
- private renderSessionContext;
296
+ private renderSessionEntries;
298
297
  renderInitialMessages(): void;
299
298
  private renderProjectTrustWarningIfNeeded;
300
299
  getUserInput(): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-mode.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactive-mode.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode.ts"],"names":[],"mappings":"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"}