takt 0.44.0 → 0.45.0

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 (228) hide show
  1. package/README.md +1 -0
  2. package/dist/agents/judge-status-usecase.d.ts +17 -7
  3. package/dist/agents/judge-status-usecase.d.ts.map +1 -1
  4. package/dist/agents/judge-status-usecase.js +25 -13
  5. package/dist/agents/judge-status-usecase.js.map +1 -1
  6. package/dist/agents/structured-caller/prompt-based-structured-caller.d.ts.map +1 -1
  7. package/dist/agents/structured-caller/prompt-based-structured-caller.js +7 -14
  8. package/dist/agents/structured-caller/prompt-based-structured-caller.js.map +1 -1
  9. package/dist/commands/analyze-usage.d.ts +26 -0
  10. package/dist/commands/analyze-usage.d.ts.map +1 -0
  11. package/dist/commands/analyze-usage.js +305 -0
  12. package/dist/commands/analyze-usage.js.map +1 -0
  13. package/dist/core/logging/contracts.d.ts +1 -0
  14. package/dist/core/logging/contracts.d.ts.map +1 -1
  15. package/dist/core/logging/contracts.js +1 -0
  16. package/dist/core/logging/contracts.js.map +1 -1
  17. package/dist/core/logging/phaseUsageEvent.d.ts +40 -0
  18. package/dist/core/logging/phaseUsageEvent.d.ts.map +1 -0
  19. package/dist/core/logging/phaseUsageEvent.js +195 -0
  20. package/dist/core/logging/phaseUsageEvent.js.map +1 -0
  21. package/dist/core/logging/providerEvent.d.ts +4 -0
  22. package/dist/core/logging/providerEvent.d.ts.map +1 -1
  23. package/dist/core/logging/providerEvent.js +31 -27
  24. package/dist/core/logging/providerEvent.js.map +1 -1
  25. package/dist/core/workflow/arpeggio/types.d.ts +3 -0
  26. package/dist/core/workflow/arpeggio/types.d.ts.map +1 -1
  27. package/dist/core/workflow/engine/ArpeggioRunner.d.ts.map +1 -1
  28. package/dist/core/workflow/engine/ArpeggioRunner.js +9 -0
  29. package/dist/core/workflow/engine/ArpeggioRunner.js.map +1 -1
  30. package/dist/core/workflow/engine/ParallelRunner.d.ts.map +1 -1
  31. package/dist/core/workflow/engine/ParallelRunner.js +1 -0
  32. package/dist/core/workflow/engine/ParallelRunner.js.map +1 -1
  33. package/dist/core/workflow/engine/StepExecutor.d.ts.map +1 -1
  34. package/dist/core/workflow/engine/StepExecutor.js +1 -0
  35. package/dist/core/workflow/engine/StepExecutor.js.map +1 -1
  36. package/dist/core/workflow/engine/team-leader-part-runner.d.ts.map +1 -1
  37. package/dist/core/workflow/engine/team-leader-part-runner.js +1 -0
  38. package/dist/core/workflow/engine/team-leader-part-runner.js.map +1 -1
  39. package/dist/core/workflow/observability/workflowSpans.d.ts +3 -0
  40. package/dist/core/workflow/observability/workflowSpans.d.ts.map +1 -1
  41. package/dist/core/workflow/observability/workflowSpans.js +34 -1
  42. package/dist/core/workflow/observability/workflowSpans.js.map +1 -1
  43. package/dist/core/workflow/report-phase-runner.js +1 -0
  44. package/dist/core/workflow/report-phase-runner.js.map +1 -1
  45. package/dist/core/workflow/status-judgment-phase.d.ts.map +1 -1
  46. package/dist/core/workflow/status-judgment-phase.js +1 -0
  47. package/dist/core/workflow/status-judgment-phase.js.map +1 -1
  48. package/dist/core/workflow/types.d.ts +2 -0
  49. package/dist/core/workflow/types.d.ts.map +1 -1
  50. package/dist/features/interactive/aiCaller.d.ts +6 -1
  51. package/dist/features/interactive/aiCaller.d.ts.map +1 -1
  52. package/dist/features/interactive/aiCaller.js +10 -3
  53. package/dist/features/interactive/aiCaller.js.map +1 -1
  54. package/dist/features/interactive/clipboardImage.d.ts +3 -0
  55. package/dist/features/interactive/clipboardImage.d.ts.map +1 -0
  56. package/dist/features/interactive/clipboardImage.js +91 -0
  57. package/dist/features/interactive/clipboardImage.js.map +1 -0
  58. package/dist/features/interactive/clipboardImageFeedback.d.ts +2 -0
  59. package/dist/features/interactive/clipboardImageFeedback.d.ts.map +1 -0
  60. package/dist/features/interactive/clipboardImageFeedback.js +6 -0
  61. package/dist/features/interactive/clipboardImageFeedback.js.map +1 -0
  62. package/dist/features/interactive/conversationLoop.d.ts.map +1 -1
  63. package/dist/features/interactive/conversationLoop.js +8 -3
  64. package/dist/features/interactive/conversationLoop.js.map +1 -1
  65. package/dist/features/interactive/imageAttachments.d.ts +3 -0
  66. package/dist/features/interactive/imageAttachments.d.ts.map +1 -1
  67. package/dist/features/interactive/imageAttachments.js +18 -0
  68. package/dist/features/interactive/imageAttachments.js.map +1 -1
  69. package/dist/features/interactive/interactive.d.ts +1 -0
  70. package/dist/features/interactive/interactive.d.ts.map +1 -1
  71. package/dist/features/interactive/interactive.js.map +1 -1
  72. package/dist/features/interactive/interactiveInput.d.ts.map +1 -1
  73. package/dist/features/interactive/interactiveInput.js +4 -1
  74. package/dist/features/interactive/interactiveInput.js.map +1 -1
  75. package/dist/features/interactive/lineEditor.d.ts +18 -14
  76. package/dist/features/interactive/lineEditor.d.ts.map +1 -1
  77. package/dist/features/interactive/lineEditor.js +174 -80
  78. package/dist/features/interactive/lineEditor.js.map +1 -1
  79. package/dist/features/interactive/passthroughMode.d.ts.map +1 -1
  80. package/dist/features/interactive/passthroughMode.js +4 -1
  81. package/dist/features/interactive/passthroughMode.js.map +1 -1
  82. package/dist/features/interactive/quietMode.d.ts.map +1 -1
  83. package/dist/features/interactive/quietMode.js +5 -2
  84. package/dist/features/interactive/quietMode.js.map +1 -1
  85. package/dist/features/interactive/slashCommandRegistry.d.ts.map +1 -1
  86. package/dist/features/interactive/slashCommandRegistry.js +1 -0
  87. package/dist/features/interactive/slashCommandRegistry.js.map +1 -1
  88. package/dist/features/tasks/attachments.d.ts.map +1 -1
  89. package/dist/features/tasks/attachments.js +18 -1
  90. package/dist/features/tasks/attachments.js.map +1 -1
  91. package/dist/features/tasks/execute/runAllTasks.js +3 -3
  92. package/dist/features/tasks/execute/runAllTasks.js.map +1 -1
  93. package/dist/features/tasks/execute/selectAndExecute.d.ts.map +1 -1
  94. package/dist/features/tasks/execute/selectAndExecute.js +1 -2
  95. package/dist/features/tasks/execute/selectAndExecute.js.map +1 -1
  96. package/dist/features/tasks/execute/taskSpecContext.d.ts +1 -0
  97. package/dist/features/tasks/execute/taskSpecContext.d.ts.map +1 -1
  98. package/dist/features/tasks/execute/taskSpecContext.js +25 -1
  99. package/dist/features/tasks/execute/taskSpecContext.js.map +1 -1
  100. package/dist/features/tasks/execute/workflowExecutionBootstrap.d.ts.map +1 -1
  101. package/dist/features/tasks/execute/workflowExecutionBootstrap.js +13 -1
  102. package/dist/features/tasks/execute/workflowExecutionBootstrap.js.map +1 -1
  103. package/dist/features/tasks/watch/index.js +3 -3
  104. package/dist/features/tasks/watch/index.js.map +1 -1
  105. package/dist/infra/claude/client.d.ts.map +1 -1
  106. package/dist/infra/claude/client.js +1 -0
  107. package/dist/infra/claude/client.js.map +1 -1
  108. package/dist/infra/claude/executor.d.ts.map +1 -1
  109. package/dist/infra/claude/executor.js +5 -35
  110. package/dist/infra/claude/executor.js.map +1 -1
  111. package/dist/infra/claude/image-input.d.ts +4 -0
  112. package/dist/infra/claude/image-input.d.ts.map +1 -0
  113. package/dist/infra/claude/image-input.js +63 -0
  114. package/dist/infra/claude/image-input.js.map +1 -0
  115. package/dist/infra/claude/types.d.ts +3 -0
  116. package/dist/infra/claude/types.d.ts.map +1 -1
  117. package/dist/infra/claude/usage.d.ts +3 -0
  118. package/dist/infra/claude/usage.d.ts.map +1 -0
  119. package/dist/infra/claude/usage.js +45 -0
  120. package/dist/infra/claude/usage.js.map +1 -0
  121. package/dist/infra/claude-headless/result-response.d.ts.map +1 -1
  122. package/dist/infra/claude-headless/result-response.js +1 -0
  123. package/dist/infra/claude-headless/result-response.js.map +1 -1
  124. package/dist/infra/claude-headless/stream-json-lines.d.ts +2 -0
  125. package/dist/infra/claude-headless/stream-json-lines.d.ts.map +1 -1
  126. package/dist/infra/claude-headless/stream-json-lines.js +4 -0
  127. package/dist/infra/claude-headless/stream-json-lines.js.map +1 -1
  128. package/dist/infra/codex/client.d.ts.map +1 -1
  129. package/dist/infra/codex/client.js +11 -1
  130. package/dist/infra/codex/client.js.map +1 -1
  131. package/dist/infra/codex/types.d.ts +2 -0
  132. package/dist/infra/codex/types.d.ts.map +1 -1
  133. package/dist/infra/codex/types.js.map +1 -1
  134. package/dist/infra/fs/index.d.ts +1 -0
  135. package/dist/infra/fs/index.d.ts.map +1 -1
  136. package/dist/infra/fs/index.js +1 -0
  137. package/dist/infra/fs/index.js.map +1 -1
  138. package/dist/infra/fs/jsonl.d.ts +2 -0
  139. package/dist/infra/fs/jsonl.d.ts.map +1 -0
  140. package/dist/infra/fs/jsonl.js +5 -0
  141. package/dist/infra/fs/jsonl.js.map +1 -0
  142. package/dist/infra/observability/otelFoundation.d.ts +2 -0
  143. package/dist/infra/observability/otelFoundation.d.ts.map +1 -1
  144. package/dist/infra/observability/otelFoundation.js +47 -7
  145. package/dist/infra/observability/otelFoundation.js.map +1 -1
  146. package/dist/infra/observability/usageEventsSpanProcessor.d.ts +19 -0
  147. package/dist/infra/observability/usageEventsSpanProcessor.d.ts.map +1 -0
  148. package/dist/infra/observability/usageEventsSpanProcessor.js +77 -0
  149. package/dist/infra/observability/usageEventsSpanProcessor.js.map +1 -0
  150. package/dist/infra/opencode/types.d.ts.map +1 -1
  151. package/dist/infra/opencode/types.js +8 -4
  152. package/dist/infra/opencode/types.js.map +1 -1
  153. package/dist/infra/providers/claude-headless.d.ts +1 -0
  154. package/dist/infra/providers/claude-headless.d.ts.map +1 -1
  155. package/dist/infra/providers/claude-headless.js +1 -0
  156. package/dist/infra/providers/claude-headless.js.map +1 -1
  157. package/dist/infra/providers/claude-terminal.d.ts +1 -0
  158. package/dist/infra/providers/claude-terminal.d.ts.map +1 -1
  159. package/dist/infra/providers/claude-terminal.js +1 -0
  160. package/dist/infra/providers/claude-terminal.js.map +1 -1
  161. package/dist/infra/providers/claude.d.ts +1 -0
  162. package/dist/infra/providers/claude.d.ts.map +1 -1
  163. package/dist/infra/providers/claude.js +2 -0
  164. package/dist/infra/providers/claude.js.map +1 -1
  165. package/dist/infra/providers/codex.d.ts +1 -0
  166. package/dist/infra/providers/codex.d.ts.map +1 -1
  167. package/dist/infra/providers/codex.js +2 -0
  168. package/dist/infra/providers/codex.js.map +1 -1
  169. package/dist/infra/providers/copilot.d.ts +1 -0
  170. package/dist/infra/providers/copilot.d.ts.map +1 -1
  171. package/dist/infra/providers/copilot.js +1 -0
  172. package/dist/infra/providers/copilot.js.map +1 -1
  173. package/dist/infra/providers/cursor.d.ts +1 -0
  174. package/dist/infra/providers/cursor.d.ts.map +1 -1
  175. package/dist/infra/providers/cursor.js +1 -0
  176. package/dist/infra/providers/cursor.js.map +1 -1
  177. package/dist/infra/providers/imageAttachmentPrompt.d.ts +4 -0
  178. package/dist/infra/providers/imageAttachmentPrompt.d.ts.map +1 -0
  179. package/dist/infra/providers/imageAttachmentPrompt.js +10 -0
  180. package/dist/infra/providers/imageAttachmentPrompt.js.map +1 -0
  181. package/dist/infra/providers/kiro.d.ts +1 -0
  182. package/dist/infra/providers/kiro.d.ts.map +1 -1
  183. package/dist/infra/providers/kiro.js +4 -0
  184. package/dist/infra/providers/kiro.js.map +1 -1
  185. package/dist/infra/providers/mock.d.ts +1 -0
  186. package/dist/infra/providers/mock.d.ts.map +1 -1
  187. package/dist/infra/providers/mock.js +1 -0
  188. package/dist/infra/providers/mock.js.map +1 -1
  189. package/dist/infra/providers/opencode.d.ts +1 -0
  190. package/dist/infra/providers/opencode.d.ts.map +1 -1
  191. package/dist/infra/providers/opencode.js +1 -0
  192. package/dist/infra/providers/opencode.js.map +1 -1
  193. package/dist/infra/providers/provider-capabilities.d.ts +1 -0
  194. package/dist/infra/providers/provider-capabilities.d.ts.map +1 -1
  195. package/dist/infra/providers/provider-capabilities.js +6 -1
  196. package/dist/infra/providers/provider-capabilities.js.map +1 -1
  197. package/dist/infra/providers/types.d.ts +6 -0
  198. package/dist/infra/providers/types.d.ts.map +1 -1
  199. package/dist/infra/task/clone-exec.d.ts +2 -0
  200. package/dist/infra/task/clone-exec.d.ts.map +1 -1
  201. package/dist/infra/task/clone-exec.js +29 -0
  202. package/dist/infra/task/clone-exec.js.map +1 -1
  203. package/dist/infra/task/clone.d.ts.map +1 -1
  204. package/dist/infra/task/clone.js +3 -1
  205. package/dist/infra/task/clone.js.map +1 -1
  206. package/dist/infra/task/runner.d.ts +1 -1
  207. package/dist/infra/task/runner.d.ts.map +1 -1
  208. package/dist/infra/task/runner.js +2 -2
  209. package/dist/infra/task/runner.js.map +1 -1
  210. package/dist/infra/task/taskLifecycleService.d.ts +1 -2
  211. package/dist/infra/task/taskLifecycleService.d.ts.map +1 -1
  212. package/dist/infra/task/taskLifecycleService.js +13 -19
  213. package/dist/infra/task/taskLifecycleService.js.map +1 -1
  214. package/dist/infra/task/taskRecordMutations.d.ts +0 -1
  215. package/dist/infra/task/taskRecordMutations.d.ts.map +1 -1
  216. package/dist/infra/task/taskRecordMutations.js +0 -12
  217. package/dist/infra/task/taskRecordMutations.js.map +1 -1
  218. package/dist/shared/constants.d.ts +1 -0
  219. package/dist/shared/constants.d.ts.map +1 -1
  220. package/dist/shared/constants.js +1 -0
  221. package/dist/shared/constants.js.map +1 -1
  222. package/dist/shared/i18n/labels_en.yaml +3 -1
  223. package/dist/shared/i18n/labels_ja.yaml +3 -1
  224. package/dist/shared/types/provider.d.ts +3 -1
  225. package/dist/shared/types/provider.d.ts.map +1 -1
  226. package/dist/shared/types/provider.js +15 -1
  227. package/dist/shared/types/provider.js.map +1 -1
  228. package/package.json +4 -3
@@ -9,6 +9,7 @@
9
9
  import * as readline from 'node:readline';
10
10
  import { StringDecoder } from 'node:string_decoder';
11
11
  import { stripAnsi, getDisplayWidth } from '../../shared/utils/text.js';
12
+ import { SlashCommand } from '../../shared/constants.js';
12
13
  import { createCompletionController } from './completionController.js';
13
14
  import { assertPendingInlineImageWithinLimit, OSC_IMAGE_PREFIX, parseInlineImageSequence, } from './inlineImagePaste.js';
14
15
  /** Escape sequences for terminal protocol control */
@@ -22,6 +23,9 @@ const KITTY_KB_DISABLE = '\x1B[<u';
22
23
  const ESC_PASTE_START = '[200~';
23
24
  const ESC_PASTE_END = '[201~';
24
25
  const ESC_SHIFT_ENTER = '[13;2u';
26
+ const CTRL_V = '\x16';
27
+ const PASTE_START_SEQUENCE = `\x1B${ESC_PASTE_START}`;
28
+ const PASTE_END_SEQUENCE = `\x1B${ESC_PASTE_END}`;
25
29
  function splitTrailingInlineImagePrefix(input) {
26
30
  const maxCandidateLength = Math.min(OSC_IMAGE_PREFIX.length - 1, input.length);
27
31
  for (let length = maxCandidateLength; length > 0; length--) {
@@ -72,99 +76,92 @@ function decodeCtrlKey(rest) {
72
76
  const controlCode = upper.charCodeAt(0) & 0x1f;
73
77
  return { ch: String.fromCharCode(controlCode), consumed: xtermMatch[0].length };
74
78
  }
75
- /**
76
- * Try to consume an escape sequence starting after the leading \x1B.
77
- *
78
- * Returns the number of characters consumed (excluding the \x1B itself),
79
- * or -1 if the rest is a potential incomplete CSI/SS3 prefix that needs
80
- * more data, or 0 if the \x1B is a bare Esc.
81
- */
82
- const tryConsumeEscapeSequence = (rest, callbacks) => {
79
+ const decodeEscapeSequence = (rest) => {
83
80
  if (rest.startsWith(ESC_PASTE_START)) {
84
- callbacks.onPasteStart();
85
- return ESC_PASTE_START.length;
81
+ return { kind: 'callback', callback: 'onPasteStart', consumed: ESC_PASTE_START.length };
86
82
  }
87
83
  if (rest.startsWith(ESC_PASTE_END)) {
88
- callbacks.onPasteEnd();
89
- return ESC_PASTE_END.length;
84
+ return { kind: 'callback', callback: 'onPasteEnd', consumed: ESC_PASTE_END.length };
90
85
  }
91
86
  if (rest.startsWith(ESC_SHIFT_ENTER)) {
92
- callbacks.onShiftEnter();
93
- return ESC_SHIFT_ENTER.length;
87
+ return { kind: 'callback', callback: 'onShiftEnter', consumed: ESC_SHIFT_ENTER.length };
94
88
  }
95
89
  const ctrlKey = decodeCtrlKey(rest);
96
90
  if (ctrlKey) {
97
- callbacks.onChar(ctrlKey.ch);
98
- return ctrlKey.consumed;
99
- }
100
- // Arrow keys
101
- if (rest.startsWith('[D')) {
102
- callbacks.onArrowLeft();
103
- return 2;
104
- }
105
- if (rest.startsWith('[C')) {
106
- callbacks.onArrowRight();
107
- return 2;
108
- }
109
- if (rest.startsWith('[A')) {
110
- callbacks.onArrowUp();
111
- return 2;
112
- }
113
- if (rest.startsWith('[B')) {
114
- callbacks.onArrowDown();
115
- return 2;
91
+ return { kind: 'char', ch: ctrlKey.ch, consumed: ctrlKey.consumed };
116
92
  }
117
- // Option+Arrow (CSI modified): \x1B[1;3D (left), \x1B[1;3C (right)
118
- if (rest.startsWith('[1;3D')) {
119
- callbacks.onWordLeft();
120
- return 5;
121
- }
122
- if (rest.startsWith('[1;3C')) {
123
- callbacks.onWordRight();
124
- return 5;
125
- }
126
- // Option+Arrow (SS3/alt): \x1Bb (left), \x1Bf (right)
127
- if (rest.startsWith('b')) {
128
- callbacks.onWordLeft();
129
- return 1;
130
- }
131
- if (rest.startsWith('f')) {
132
- callbacks.onWordRight();
133
- return 1;
134
- }
135
- // Home: \x1B[H (CSI) or \x1BOH (SS3/application mode)
136
- if (rest.startsWith('[H') || rest.startsWith('OH')) {
137
- callbacks.onHome();
138
- return 2;
139
- }
140
- // End: \x1B[F (CSI) or \x1BOF (SS3/application mode)
141
- if (rest.startsWith('[F') || rest.startsWith('OF')) {
142
- callbacks.onEnd();
143
- return 2;
144
- }
145
- // Kitty keyboard protocol: ESC key → \x1B[27u or \x1B[27;1u
93
+ if (rest.startsWith('[D'))
94
+ return { kind: 'callback', callback: 'onArrowLeft', consumed: 2 };
95
+ if (rest.startsWith('[C'))
96
+ return { kind: 'callback', callback: 'onArrowRight', consumed: 2 };
97
+ if (rest.startsWith('[A'))
98
+ return { kind: 'callback', callback: 'onArrowUp', consumed: 2 };
99
+ if (rest.startsWith('[B'))
100
+ return { kind: 'callback', callback: 'onArrowDown', consumed: 2 };
101
+ if (rest.startsWith('[1;3D'))
102
+ return { kind: 'callback', callback: 'onWordLeft', consumed: 5 };
103
+ if (rest.startsWith('[1;3C'))
104
+ return { kind: 'callback', callback: 'onWordRight', consumed: 5 };
105
+ if (rest.startsWith('b'))
106
+ return { kind: 'callback', callback: 'onWordLeft', consumed: 1 };
107
+ if (rest.startsWith('f'))
108
+ return { kind: 'callback', callback: 'onWordRight', consumed: 1 };
109
+ if (rest.startsWith('[H') || rest.startsWith('OH'))
110
+ return { kind: 'callback', callback: 'onHome', consumed: 2 };
111
+ if (rest.startsWith('[F') || rest.startsWith('OF'))
112
+ return { kind: 'callback', callback: 'onEnd', consumed: 2 };
146
113
  const kittyEscMatch = rest.match(/^\[27(?:;1)?u/);
147
114
  if (kittyEscMatch) {
148
- callbacks.onEsc();
149
- return kittyEscMatch[0].length;
115
+ return { kind: 'callback', callback: 'onEsc', consumed: kittyEscMatch[0].length };
150
116
  }
151
- // Unknown CSI sequences: skip
152
117
  if (rest.startsWith('[')) {
153
118
  const csiMatch = rest.match(/^\[[0-9;]*[A-Za-z~]/);
154
119
  if (csiMatch)
155
- return csiMatch[0].length;
156
- // Incomplete CSI need more data
157
- return -1;
120
+ return { kind: 'ignore', consumed: csiMatch[0].length };
121
+ return { kind: 'incomplete' };
158
122
  }
159
- // SS3 prefix ('O') without a recognized follower — could be incomplete
160
123
  if (rest.startsWith('O') && rest.length === 1)
161
- return -1;
162
- // Bare Esc (followed by a non-sequence character or nothing)
124
+ return { kind: 'incomplete' };
163
125
  if (rest.length === 0)
164
- return -1;
165
- callbacks.onEsc();
166
- return 0;
126
+ return { kind: 'incomplete' };
127
+ return { kind: 'bareEsc' };
167
128
  };
129
+ const dispatchEscapeSequence = (decoded, callbacks) => {
130
+ switch (decoded.kind) {
131
+ case 'callback':
132
+ callbacks[decoded.callback]();
133
+ return decoded.consumed;
134
+ case 'char':
135
+ callbacks.onChar(decoded.ch);
136
+ return decoded.consumed;
137
+ case 'ignore':
138
+ return decoded.consumed;
139
+ case 'bareEsc':
140
+ callbacks.onEsc();
141
+ return 0;
142
+ case 'incomplete':
143
+ return -1;
144
+ }
145
+ };
146
+ const dispatchEscapeSequenceAsync = async (decoded, callbacks) => {
147
+ switch (decoded.kind) {
148
+ case 'callback':
149
+ await callbacks[decoded.callback]();
150
+ return decoded.consumed;
151
+ case 'char':
152
+ await callbacks.onChar(decoded.ch);
153
+ return decoded.consumed;
154
+ case 'ignore':
155
+ return decoded.consumed;
156
+ case 'bareEsc':
157
+ await callbacks.onEsc();
158
+ return 0;
159
+ case 'incomplete':
160
+ return -1;
161
+ }
162
+ };
163
+ const tryConsumeEscapeSequence = (rest, callbacks) => dispatchEscapeSequence(decodeEscapeSequence(rest), callbacks);
164
+ const tryConsumeEscapeSequenceAsync = async (rest, callbacks) => dispatchEscapeSequenceAsync(decodeEscapeSequence(rest), callbacks);
168
165
  /**
169
166
  * Parse raw stdin data into semantic input events.
170
167
  *
@@ -214,7 +211,7 @@ export const createEscapeParser = (callbacks) => {
214
211
  callbacks.onEsc();
215
212
  }
216
213
  };
217
- const feed = (data) => {
214
+ const feed = async (data) => {
218
215
  let input = data;
219
216
  if (pendingFragment.length > 0) {
220
217
  clearEscTimer();
@@ -231,7 +228,7 @@ export const createEscapeParser = (callbacks) => {
231
228
  escTimer = setTimeout(flush, ESC_AMBIGUITY_TIMEOUT_MS);
232
229
  return;
233
230
  }
234
- const consumed = tryConsumeEscapeSequence(rest, callbacks);
231
+ const consumed = await tryConsumeEscapeSequenceAsync(rest, callbacks);
235
232
  if (consumed === -1) {
236
233
  pendingFragment = input.slice(i);
237
234
  escTimer = setTimeout(flush, ESC_AMBIGUITY_TIMEOUT_MS);
@@ -240,7 +237,7 @@ export const createEscapeParser = (callbacks) => {
240
237
  i += 1 + consumed;
241
238
  continue;
242
239
  }
243
- callbacks.onChar(ch);
240
+ await callbacks.onChar(ch);
244
241
  i++;
245
242
  }
246
243
  };
@@ -603,6 +600,7 @@ export function readMultilineInput(prompt, options) {
603
600
  let pendingInlineImage = '';
604
601
  let inlineImagePrefixTimer = null;
605
602
  let inputQueue = Promise.resolve();
603
+ let pendingEditorOperation = Promise.resolve();
606
604
  let settled = false;
607
605
  function clearInlineImagePrefixTimer() {
608
606
  if (inlineImagePrefixTimer !== null) {
@@ -652,6 +650,16 @@ export function readMultilineInput(prompt, options) {
652
650
  process.stdout.write(text);
653
651
  rerenderFromCursor();
654
652
  }
653
+ function enqueueEditorOperation(operation) {
654
+ pendingEditorOperation = pendingEditorOperation.then(async () => {
655
+ if (!settled) {
656
+ await operation();
657
+ }
658
+ });
659
+ }
660
+ async function drainPendingEditorOperation() {
661
+ await pendingEditorOperation;
662
+ }
655
663
  async function handleInlineImage(image) {
656
664
  if (!options?.onImagePaste) {
657
665
  return;
@@ -667,17 +675,96 @@ export function readMultilineInput(prompt, options) {
667
675
  insertText(placeholder);
668
676
  completion.update();
669
677
  }
678
+ async function handleClipboardImagePaste() {
679
+ const pasteClipboardImage = options?.onClipboardImagePaste;
680
+ if (!pasteClipboardImage) {
681
+ return;
682
+ }
683
+ completion.hide();
684
+ const placeholder = await pasteClipboardImage().catch((error) => {
685
+ options?.onClipboardImagePasteError?.(error);
686
+ return null;
687
+ });
688
+ if (!placeholder) {
689
+ return;
690
+ }
691
+ if (settled) {
692
+ return;
693
+ }
694
+ insertText(placeholder);
695
+ completion.update();
696
+ }
697
+ function insertClipboardImagePlaceholder(pasteClipboardImage) {
698
+ completion.hide();
699
+ enqueueEditorOperation(async () => {
700
+ const placeholder = await pasteClipboardImage().catch((error) => {
701
+ options?.onClipboardImagePasteError?.(error);
702
+ return null;
703
+ });
704
+ if (!placeholder) {
705
+ return;
706
+ }
707
+ if (settled) {
708
+ return;
709
+ }
710
+ insertText(placeholder);
711
+ completion.update();
712
+ });
713
+ }
714
+ function tryHandleClipboardImageCommand() {
715
+ const pasteClipboardImage = options?.onClipboardImagePaste;
716
+ if (buffer.trim() !== SlashCommand.PasteImage || buffer.includes('\n') || !pasteClipboardImage) {
717
+ return false;
718
+ }
719
+ completion.hide();
720
+ moveCursorToLogicalLineStart();
721
+ deleteToLineEnd();
722
+ insertClipboardImagePlaceholder(pasteClipboardImage);
723
+ return true;
724
+ }
670
725
  async function feedInputWithImages(input) {
671
726
  clearInlineImagePrefixTimer();
672
727
  const currentInput = pendingInlineImage + input;
673
728
  pendingInlineImage = '';
674
729
  let offset = 0;
675
730
  while (offset < currentInput.length) {
731
+ if (state === 'paste') {
732
+ const pasteEnd = currentInput.indexOf(PASTE_END_SEQUENCE, offset);
733
+ if (pasteEnd === -1) {
734
+ await escParser.feed(currentInput.slice(offset));
735
+ return;
736
+ }
737
+ if (pasteEnd > offset) {
738
+ await escParser.feed(currentInput.slice(offset, pasteEnd));
739
+ }
740
+ await escParser.feed(PASTE_END_SEQUENCE);
741
+ offset = pasteEnd + PASTE_END_SEQUENCE.length;
742
+ continue;
743
+ }
744
+ const pasteStart = currentInput.indexOf(PASTE_START_SEQUENCE, offset);
676
745
  const imageStart = currentInput.indexOf(OSC_IMAGE_PREFIX, offset);
746
+ const clipboardImageStart = options?.onClipboardImagePaste
747
+ ? currentInput.indexOf(CTRL_V, offset)
748
+ : -1;
749
+ if (pasteStart !== -1
750
+ && (imageStart === -1 || pasteStart < imageStart)
751
+ && (clipboardImageStart === -1 || pasteStart < clipboardImageStart)) {
752
+ await escParser.feed(currentInput.slice(offset, pasteStart + PASTE_START_SEQUENCE.length));
753
+ offset = pasteStart + PASTE_START_SEQUENCE.length;
754
+ continue;
755
+ }
756
+ if (clipboardImageStart !== -1 && (imageStart === -1 || clipboardImageStart < imageStart)) {
757
+ if (clipboardImageStart > offset) {
758
+ await escParser.feed(currentInput.slice(offset, clipboardImageStart));
759
+ }
760
+ await handleClipboardImagePaste();
761
+ offset = clipboardImageStart + CTRL_V.length;
762
+ continue;
763
+ }
677
764
  if (imageStart === -1) {
678
765
  const tail = splitTrailingInlineImagePrefix(currentInput.slice(offset));
679
766
  if (tail.ready.length > 0) {
680
- escParser.feed(tail.ready);
767
+ await escParser.feed(tail.ready);
681
768
  }
682
769
  if (tail.pending.length > 0) {
683
770
  holdPendingInlineImage(tail.pending);
@@ -685,7 +772,7 @@ export function readMultilineInput(prompt, options) {
685
772
  return;
686
773
  }
687
774
  if (imageStart > offset) {
688
- escParser.feed(currentInput.slice(offset, imageStart));
775
+ await escParser.feed(currentInput.slice(offset, imageStart));
689
776
  }
690
777
  const sequence = parseInlineImageSequence(currentInput, imageStart);
691
778
  if (sequence.status === 'incomplete') {
@@ -697,7 +784,7 @@ export function readMultilineInput(prompt, options) {
697
784
  await handleInlineImage(sequence.image);
698
785
  }
699
786
  else {
700
- escParser.feed(currentInput.slice(imageStart, sequence.sequenceEnd));
787
+ await escParser.feed(currentInput.slice(imageStart, sequence.sequenceEnd));
701
788
  }
702
789
  offset = sequence.sequenceEnd;
703
790
  }
@@ -875,9 +962,15 @@ export function readMultilineInput(prompt, options) {
875
962
  }
876
963
  return;
877
964
  }
965
+ if (ch === CTRL_V && options?.onClipboardImagePaste) {
966
+ return handleClipboardImagePaste();
967
+ }
878
968
  // Submit
879
969
  if (ch === '\r' || ch === '\n') {
880
970
  completion.acceptSelection();
971
+ if (tryHandleClipboardImageCommand()) {
972
+ return;
973
+ }
881
974
  process.stdout.write('\n');
882
975
  finish(buffer);
883
976
  return;
@@ -943,6 +1036,7 @@ export function readMultilineInput(prompt, options) {
943
1036
  }
944
1037
  return feedInputWithImages(str);
945
1038
  })
1039
+ .then(drainPendingEditorOperation)
946
1040
  .catch(fail);
947
1041
  }
948
1042
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"lineEditor.js","sourceRoot":"","sources":["../../../src/features/interactive/lineEditor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lineEditor.js","sourceRoot":"","sources":["../../../src/features/interactive/lineEditor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"passthroughMode.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/passthroughMode.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAO9D;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,qBAAqB,CAAC,CA2BhC"}
1
+ {"version":3,"file":"passthroughMode.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/passthroughMode.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAS9D;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,qBAAqB,CAAC,CA6BhC"}
@@ -8,7 +8,8 @@ import chalk from 'chalk';
8
8
  import { info, blankLine } from '../../shared/ui/index.js';
9
9
  import { getLabel } from '../../shared/i18n/index.js';
10
10
  import { readMultilineInput } from './lineEditor.js';
11
- import { buildInteractiveResultWithAttachments, createImagePasteHandler, createSessionImageAttachmentStore, } from './imageAttachments.js';
11
+ import { buildInteractiveResultWithAttachments, createClipboardImagePasteHandler, createImagePasteHandler, createSessionImageAttachmentStore, } from './imageAttachments.js';
12
+ import { reportClipboardImagePasteError } from './clipboardImageFeedback.js';
12
13
  /**
13
14
  * Run passthrough mode: collect user input and return it as-is.
14
15
  *
@@ -28,6 +29,8 @@ export async function passthroughMode(lang, initialInput) {
28
29
  blankLine();
29
30
  const input = await readMultilineInput(chalk.green('> '), {
30
31
  onImagePaste: createImagePasteHandler(attachmentStore),
32
+ onClipboardImagePaste: createClipboardImagePasteHandler(attachmentStore),
33
+ onClipboardImagePasteError: reportClipboardImagePasteError,
31
34
  });
32
35
  if (input === null) {
33
36
  blankLine();
@@ -1 +1 @@
1
- {"version":3,"file":"passthroughMode.js","sourceRoot":"","sources":["../../../src/features/interactive/passthroughMode.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EACL,qCAAqC,EACrC,uBAAuB,EACvB,iCAAiC,GAClC,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAiB,EACjB,YAAqB;IAErB,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACnD,CAAC;IAED,MAAM,eAAe,GAAG,iCAAiC,EAAE,CAAC;IAE5D,IAAI,CAAC,QAAQ,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC,CAAC;IACxD,SAAS,EAAE,CAAC;IAEZ,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACxD,YAAY,EAAE,uBAAuB,CAAC,eAAe,CAAC;KACvD,CAAC,CAAC;IAEH,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,SAAS,EAAE,CAAC;QACZ,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,qCAAqC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,qCAAqC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;IAChG,CAAC;IAED,OAAO,qCAAqC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;AACtG,CAAC"}
1
+ {"version":3,"file":"passthroughMode.js","sourceRoot":"","sources":["../../../src/features/interactive/passthroughMode.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EACL,qCAAqC,EACrC,gCAAgC,EAChC,uBAAuB,EACvB,iCAAiC,GAClC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAE7E;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAiB,EACjB,YAAqB;IAErB,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACnD,CAAC;IAED,MAAM,eAAe,GAAG,iCAAiC,EAAE,CAAC;IAE5D,IAAI,CAAC,QAAQ,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC,CAAC;IACxD,SAAS,EAAE,CAAC;IAEZ,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACxD,YAAY,EAAE,uBAAuB,CAAC,eAAe,CAAC;QACtD,qBAAqB,EAAE,gCAAgC,CAAC,eAAe,CAAC;QACxE,0BAA0B,EAAE,8BAA8B;KAC3D,CAAC,CAAC;IAEH,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,SAAS,EAAE,CAAC;QACZ,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,qCAAqC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,qCAAqC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;IAChG,CAAC;IAED,OAAO,qCAAqC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;AACtG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"quietMode.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/quietMode.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAG1B,KAAK,oBAAoB,EAI1B,MAAM,kBAAkB,CAAC;AAa1B;;;;;;;;;;;;;GAaG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,YAAY,CAAC,EAAE,oBAAoB,EACnC,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,qBAAqB,CAAC,CAiEhC"}
1
+ {"version":3,"file":"quietMode.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/quietMode.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAG1B,KAAK,oBAAoB,EAI1B,MAAM,kBAAkB,CAAC;AAgB1B;;;;;;;;;;;;;GAaG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,YAAY,CAAC,EAAE,oBAAoB,EACnC,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,qBAAqB,CAAC,CAoEhC"}
@@ -13,7 +13,8 @@ import { readMultilineInput } from './lineEditor.js';
13
13
  import { DEFAULT_INTERACTIVE_TOOLS, buildSummaryPrompt, selectPostSummaryAction, } from './interactive.js';
14
14
  import { callAIWithRetry, } from './conversationLoop.js';
15
15
  import { initializeSession } from './sessionInitialization.js';
16
- import { buildInteractiveResultWithAttachments, createImagePasteHandler, createSessionImageAttachmentStore, } from './imageAttachments.js';
16
+ import { buildInteractiveResultWithAttachments, createClipboardImagePasteHandler, createImagePasteHandler, createSessionImageAttachmentStore, resolvePromptImageAttachments, } from './imageAttachments.js';
17
+ import { reportClipboardImagePasteError } from './clipboardImageFeedback.js';
17
18
  const log = createLogger('quiet-mode');
18
19
  /**
19
20
  * Run quiet mode: collect user input and generate instructions without questions.
@@ -41,6 +42,8 @@ export async function quietMode(cwd, initialInput, workflowContext) {
41
42
  blankLine();
42
43
  const input = await readMultilineInput(chalk.green('> '), {
43
44
  onImagePaste: createImagePasteHandler(attachmentStore),
45
+ onClipboardImagePaste: createClipboardImagePasteHandler(attachmentStore),
46
+ onClipboardImagePasteError: reportClipboardImagePasteError,
44
47
  });
45
48
  if (input === null) {
46
49
  blankLine();
@@ -61,7 +64,7 @@ export async function quietMode(cwd, initialInput, workflowContext) {
61
64
  info(getLabel('interactive.ui.noConversation', ctx.lang));
62
65
  return buildInteractiveResultWithAttachments({ action: 'cancel', task: '' }, attachmentStore);
63
66
  }
64
- const { result } = await callAIWithRetry(summaryPrompt, summaryPrompt, DEFAULT_INTERACTIVE_TOOLS, cwd, { ...ctx, sessionId: undefined });
67
+ const { result } = await callAIWithRetry(summaryPrompt, summaryPrompt, DEFAULT_INTERACTIVE_TOOLS, cwd, { ...ctx, sessionId: undefined }, { imageAttachments: resolvePromptImageAttachments(summaryPrompt, attachmentStore.listAttachments()) });
65
68
  if (!result) {
66
69
  return buildInteractiveResultWithAttachments({ action: 'cancel', task: '' }, attachmentStore);
67
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"quietMode.js","sourceRoot":"","sources":["../../../src/features/interactive/quietMode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quietMode.js","sourceRoot":"","sources":["../../../src/features/interactive/quietMode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"slashCommandRegistry.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/slashCommandRegistry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAuBzD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,EACd,eAAe,mBAAmB,KACjC,SAAS;IACV,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,EASA,CAAC"}
1
+ {"version":3,"file":"slashCommandRegistry.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/slashCommandRegistry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAwBzD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,EACd,eAAe,mBAAmB,KACjC,SAAS;IACV,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,EASA,CAAC"}
@@ -14,6 +14,7 @@ const SLASH_COMMAND_LABEL_KEYS = {
14
14
  '/replay': 'interactive.commands.replay',
15
15
  '/cancel': 'interactive.commands.cancel',
16
16
  '/resume': 'interactive.commands.resume',
17
+ '/paste-image': 'interactive.commands.pasteImage',
17
18
  };
18
19
  /**
19
20
  * Registry of all slash commands.
@@ -1 +1 @@
1
- {"version":3,"file":"slashCommandRegistry.js","sourceRoot":"","sources":["../../../src/features/interactive/slashCommandRegistry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,wDAAwD;AACxD,MAAM,wBAAwB,GAA2C;IACvE,SAAS,EAAE,6BAA6B;IACxC,OAAO,EAAE,2BAA2B;IACpC,KAAK,EAAE,yBAAyB;IAChC,QAAQ,EAAE,4BAA4B;IACtC,SAAS,EAAE,6BAA6B;IACxC,SAAS,EAAE,6BAA6B;IACxC,SAAS,EAAE,6BAA6B;CAChC,CAAC;AAEX;;GAEG;AACH,MAAM,sBAAsB,GAGtB,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CACrC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC,CACxE,CAAC;AAUF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAAc,EACd,YAAkC,EAIhC,EAAE;IACJ,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACnD,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,KAAK,YAAY,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,kBAAkB;YAAE,OAAO,KAAK,CAAC;QAC3F,IAAI,KAAK,CAAC,OAAO,KAAK,YAAY,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"slashCommandRegistry.js","sourceRoot":"","sources":["../../../src/features/interactive/slashCommandRegistry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,wDAAwD;AACxD,MAAM,wBAAwB,GAA2C;IACvE,SAAS,EAAE,6BAA6B;IACxC,OAAO,EAAE,2BAA2B;IACpC,KAAK,EAAE,yBAAyB;IAChC,QAAQ,EAAE,4BAA4B;IACtC,SAAS,EAAE,6BAA6B;IACxC,SAAS,EAAE,6BAA6B;IACxC,SAAS,EAAE,6BAA6B;IACxC,cAAc,EAAE,iCAAiC;CACzC,CAAC;AAEX;;GAEG;AACH,MAAM,sBAAsB,GAGtB,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CACrC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC,CACxE,CAAC;AAUF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAAc,EACd,YAAkC,EAIhC,EAAE;IACJ,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACnD,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,KAAK,YAAY,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,kBAAkB;YAAE,OAAO,KAAK,CAAC;QAC3F,IAAI,KAAK,CAAC,OAAO,KAAK,YAAY,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}