takt 0.1.0 → 0.1.1

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 (258) hide show
  1. package/dist/agents/runner.d.ts.map +1 -1
  2. package/dist/agents/runner.js +2 -1
  3. package/dist/agents/runner.js.map +1 -1
  4. package/dist/cli.d.ts +1 -0
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +7 -3
  7. package/dist/cli.js.map +1 -1
  8. package/dist/commands/config.d.ts +33 -0
  9. package/dist/commands/config.d.ts.map +1 -0
  10. package/dist/commands/config.js +110 -0
  11. package/dist/commands/config.js.map +1 -0
  12. package/dist/commands/index.d.ts +1 -0
  13. package/dist/commands/index.d.ts.map +1 -1
  14. package/dist/commands/index.js +1 -0
  15. package/dist/commands/index.js.map +1 -1
  16. package/dist/commands/workflow.js +1 -1
  17. package/dist/commands/workflow.js.map +1 -1
  18. package/dist/config/initialization.js +1 -1
  19. package/dist/config/initialization.js.map +1 -1
  20. package/dist/config/projectConfig.d.ts +12 -1
  21. package/dist/config/projectConfig.d.ts.map +1 -1
  22. package/dist/config/projectConfig.js +1 -0
  23. package/dist/config/projectConfig.js.map +1 -1
  24. package/dist/{interactive/prompt.d.ts → prompt/index.d.ts} +3 -1
  25. package/dist/prompt/index.d.ts.map +1 -0
  26. package/dist/{interactive/prompt.js → prompt/index.js} +11 -1
  27. package/dist/prompt/index.js.map +1 -0
  28. package/package.json +1 -1
  29. package/dist/cli/agentExecution.d.ts +0 -16
  30. package/dist/cli/agentExecution.d.ts.map +0 -1
  31. package/dist/cli/agentExecution.js +0 -40
  32. package/dist/cli/agentExecution.js.map +0 -1
  33. package/dist/cli/help.d.ts +0 -8
  34. package/dist/cli/help.d.ts.map +0 -1
  35. package/dist/cli/help.js +0 -46
  36. package/dist/cli/help.js.map +0 -1
  37. package/dist/cli/index.d.ts +0 -8
  38. package/dist/cli/index.d.ts.map +0 -1
  39. package/dist/cli/index.js +0 -8
  40. package/dist/cli/index.js.map +0 -1
  41. package/dist/cli/taskBatch.d.ts +0 -8
  42. package/dist/cli/taskBatch.d.ts.map +0 -1
  43. package/dist/cli/taskBatch.js +0 -69
  44. package/dist/cli/taskBatch.js.map +0 -1
  45. package/dist/cli/workflowExecution.d.ts +0 -18
  46. package/dist/cli/workflowExecution.d.ts.map +0 -1
  47. package/dist/cli/workflowExecution.js +0 -112
  48. package/dist/cli/workflowExecution.js.map +0 -1
  49. package/dist/commands/agentExecution.d.ts +0 -8
  50. package/dist/commands/agentExecution.d.ts.map +0 -1
  51. package/dist/commands/agentExecution.js +0 -44
  52. package/dist/commands/agentExecution.js.map +0 -1
  53. package/dist/interactive/commands/agent.d.ts +0 -7
  54. package/dist/interactive/commands/agent.d.ts.map +0 -1
  55. package/dist/interactive/commands/agent.js +0 -65
  56. package/dist/interactive/commands/agent.js.map +0 -1
  57. package/dist/interactive/commands/basic.d.ts +0 -7
  58. package/dist/interactive/commands/basic.d.ts.map +0 -1
  59. package/dist/interactive/commands/basic.js +0 -81
  60. package/dist/interactive/commands/basic.js.map +0 -1
  61. package/dist/interactive/commands/index.d.ts +0 -12
  62. package/dist/interactive/commands/index.d.ts.map +0 -1
  63. package/dist/interactive/commands/index.js +0 -14
  64. package/dist/interactive/commands/index.js.map +0 -1
  65. package/dist/interactive/commands/registry.d.ts +0 -41
  66. package/dist/interactive/commands/registry.d.ts.map +0 -1
  67. package/dist/interactive/commands/registry.js +0 -37
  68. package/dist/interactive/commands/registry.js.map +0 -1
  69. package/dist/interactive/commands/session.d.ts +0 -7
  70. package/dist/interactive/commands/session.d.ts.map +0 -1
  71. package/dist/interactive/commands/session.js +0 -75
  72. package/dist/interactive/commands/session.js.map +0 -1
  73. package/dist/interactive/commands/task.d.ts +0 -7
  74. package/dist/interactive/commands/task.d.ts.map +0 -1
  75. package/dist/interactive/commands/task.js +0 -156
  76. package/dist/interactive/commands/task.js.map +0 -1
  77. package/dist/interactive/commands/workflow.d.ts +0 -7
  78. package/dist/interactive/commands/workflow.d.ts.map +0 -1
  79. package/dist/interactive/commands/workflow.js +0 -56
  80. package/dist/interactive/commands/workflow.js.map +0 -1
  81. package/dist/interactive/escape-tracker.d.ts +0 -37
  82. package/dist/interactive/escape-tracker.d.ts.map +0 -1
  83. package/dist/interactive/escape-tracker.js +0 -52
  84. package/dist/interactive/escape-tracker.js.map +0 -1
  85. package/dist/interactive/handlers.d.ts +0 -24
  86. package/dist/interactive/handlers.d.ts.map +0 -1
  87. package/dist/interactive/handlers.js +0 -191
  88. package/dist/interactive/handlers.js.map +0 -1
  89. package/dist/interactive/history-manager.d.ts +0 -45
  90. package/dist/interactive/history-manager.d.ts.map +0 -1
  91. package/dist/interactive/history-manager.js +0 -91
  92. package/dist/interactive/history-manager.js.map +0 -1
  93. package/dist/interactive/index.d.ts +0 -8
  94. package/dist/interactive/index.d.ts.map +0 -1
  95. package/dist/interactive/index.js +0 -8
  96. package/dist/interactive/index.js.map +0 -1
  97. package/dist/interactive/ink/components/App.d.ts +0 -16
  98. package/dist/interactive/ink/components/App.d.ts.map +0 -1
  99. package/dist/interactive/ink/components/App.js +0 -123
  100. package/dist/interactive/ink/components/App.js.map +0 -1
  101. package/dist/interactive/ink/components/AskUserQuestion.d.ts +0 -16
  102. package/dist/interactive/ink/components/AskUserQuestion.d.ts.map +0 -1
  103. package/dist/interactive/ink/components/AskUserQuestion.js +0 -139
  104. package/dist/interactive/ink/components/AskUserQuestion.js.map +0 -1
  105. package/dist/interactive/ink/components/Header.d.ts +0 -20
  106. package/dist/interactive/ink/components/Header.d.ts.map +0 -1
  107. package/dist/interactive/ink/components/Header.js +0 -7
  108. package/dist/interactive/ink/components/Header.js.map +0 -1
  109. package/dist/interactive/ink/components/HelpView.d.ts +0 -13
  110. package/dist/interactive/ink/components/HelpView.d.ts.map +0 -1
  111. package/dist/interactive/ink/components/HelpView.js +0 -45
  112. package/dist/interactive/ink/components/HelpView.js.map +0 -1
  113. package/dist/interactive/ink/components/IterationLimit.d.ts +0 -19
  114. package/dist/interactive/ink/components/IterationLimit.d.ts.map +0 -1
  115. package/dist/interactive/ink/components/IterationLimit.js +0 -59
  116. package/dist/interactive/ink/components/IterationLimit.js.map +0 -1
  117. package/dist/interactive/ink/components/ModalRouter.d.ts +0 -11
  118. package/dist/interactive/ink/components/ModalRouter.d.ts.map +0 -1
  119. package/dist/interactive/ink/components/ModalRouter.js +0 -71
  120. package/dist/interactive/ink/components/ModalRouter.js.map +0 -1
  121. package/dist/interactive/ink/components/PermissionPrompt.d.ts +0 -17
  122. package/dist/interactive/ink/components/PermissionPrompt.d.ts.map +0 -1
  123. package/dist/interactive/ink/components/PermissionPrompt.js +0 -102
  124. package/dist/interactive/ink/components/PermissionPrompt.js.map +0 -1
  125. package/dist/interactive/ink/components/PromptInput.d.ts +0 -26
  126. package/dist/interactive/ink/components/PromptInput.d.ts.map +0 -1
  127. package/dist/interactive/ink/components/PromptInput.js +0 -70
  128. package/dist/interactive/ink/components/PromptInput.js.map +0 -1
  129. package/dist/interactive/ink/components/Spinner.d.ts +0 -14
  130. package/dist/interactive/ink/components/Spinner.d.ts.map +0 -1
  131. package/dist/interactive/ink/components/Spinner.js +0 -8
  132. package/dist/interactive/ink/components/Spinner.js.map +0 -1
  133. package/dist/interactive/ink/components/StreamingOutput.d.ts +0 -25
  134. package/dist/interactive/ink/components/StreamingOutput.d.ts.map +0 -1
  135. package/dist/interactive/ink/components/StreamingOutput.js +0 -8
  136. package/dist/interactive/ink/components/StreamingOutput.js.map +0 -1
  137. package/dist/interactive/ink/components/UserInputPrompt.d.ts +0 -18
  138. package/dist/interactive/ink/components/UserInputPrompt.d.ts.map +0 -1
  139. package/dist/interactive/ink/components/UserInputPrompt.js +0 -30
  140. package/dist/interactive/ink/components/UserInputPrompt.js.map +0 -1
  141. package/dist/interactive/ink/components/WorkflowSelector.d.ts +0 -18
  142. package/dist/interactive/ink/components/WorkflowSelector.d.ts.map +0 -1
  143. package/dist/interactive/ink/components/WorkflowSelector.js +0 -65
  144. package/dist/interactive/ink/components/WorkflowSelector.js.map +0 -1
  145. package/dist/interactive/ink/constants.d.ts +0 -8
  146. package/dist/interactive/ink/constants.d.ts.map +0 -1
  147. package/dist/interactive/ink/constants.js +0 -8
  148. package/dist/interactive/ink/constants.js.map +0 -1
  149. package/dist/interactive/ink/context/AppContext.d.ts +0 -26
  150. package/dist/interactive/ink/context/AppContext.d.ts.map +0 -1
  151. package/dist/interactive/ink/context/AppContext.js +0 -30
  152. package/dist/interactive/ink/context/AppContext.js.map +0 -1
  153. package/dist/interactive/ink/context/appReducer.d.ts +0 -13
  154. package/dist/interactive/ink/context/appReducer.d.ts.map +0 -1
  155. package/dist/interactive/ink/context/appReducer.js +0 -183
  156. package/dist/interactive/ink/context/appReducer.js.map +0 -1
  157. package/dist/interactive/ink/context/types.d.ts +0 -144
  158. package/dist/interactive/ink/context/types.d.ts.map +0 -1
  159. package/dist/interactive/ink/context/types.js +0 -5
  160. package/dist/interactive/ink/context/types.js.map +0 -1
  161. package/dist/interactive/ink/hooks/keyDetection.d.ts +0 -116
  162. package/dist/interactive/ink/hooks/keyDetection.d.ts.map +0 -1
  163. package/dist/interactive/ink/hooks/keyDetection.js +0 -183
  164. package/dist/interactive/ink/hooks/keyDetection.js.map +0 -1
  165. package/dist/interactive/ink/hooks/multilineInputLogic.d.ts +0 -50
  166. package/dist/interactive/ink/hooks/multilineInputLogic.d.ts.map +0 -1
  167. package/dist/interactive/ink/hooks/multilineInputLogic.js +0 -150
  168. package/dist/interactive/ink/hooks/multilineInputLogic.js.map +0 -1
  169. package/dist/interactive/ink/hooks/useCommands.d.ts +0 -20
  170. package/dist/interactive/ink/hooks/useCommands.d.ts.map +0 -1
  171. package/dist/interactive/ink/hooks/useCommands.js +0 -129
  172. package/dist/interactive/ink/hooks/useCommands.js.map +0 -1
  173. package/dist/interactive/ink/hooks/useHistory.d.ts +0 -28
  174. package/dist/interactive/ink/hooks/useHistory.d.ts.map +0 -1
  175. package/dist/interactive/ink/hooks/useHistory.js +0 -59
  176. package/dist/interactive/ink/hooks/useHistory.js.map +0 -1
  177. package/dist/interactive/ink/hooks/useMultilineInput.d.ts +0 -49
  178. package/dist/interactive/ink/hooks/useMultilineInput.d.ts.map +0 -1
  179. package/dist/interactive/ink/hooks/useMultilineInput.js +0 -106
  180. package/dist/interactive/ink/hooks/useMultilineInput.js.map +0 -1
  181. package/dist/interactive/ink/hooks/usePermissionHandlers.d.ts +0 -16
  182. package/dist/interactive/ink/hooks/usePermissionHandlers.d.ts.map +0 -1
  183. package/dist/interactive/ink/hooks/usePermissionHandlers.js +0 -172
  184. package/dist/interactive/ink/hooks/usePermissionHandlers.js.map +0 -1
  185. package/dist/interactive/ink/hooks/useRawKeypress.d.ts +0 -41
  186. package/dist/interactive/ink/hooks/useRawKeypress.d.ts.map +0 -1
  187. package/dist/interactive/ink/hooks/useRawKeypress.js +0 -79
  188. package/dist/interactive/ink/hooks/useRawKeypress.js.map +0 -1
  189. package/dist/interactive/ink/hooks/useTaskQueue.d.ts +0 -32
  190. package/dist/interactive/ink/hooks/useTaskQueue.d.ts.map +0 -1
  191. package/dist/interactive/ink/hooks/useTaskQueue.js +0 -68
  192. package/dist/interactive/ink/hooks/useTaskQueue.js.map +0 -1
  193. package/dist/interactive/ink/hooks/useWorkflow.d.ts +0 -45
  194. package/dist/interactive/ink/hooks/useWorkflow.d.ts.map +0 -1
  195. package/dist/interactive/ink/hooks/useWorkflow.js +0 -93
  196. package/dist/interactive/ink/hooks/useWorkflow.js.map +0 -1
  197. package/dist/interactive/ink/hooks/useWorkflowExecution.d.ts +0 -14
  198. package/dist/interactive/ink/hooks/useWorkflowExecution.d.ts.map +0 -1
  199. package/dist/interactive/ink/hooks/useWorkflowExecution.js +0 -144
  200. package/dist/interactive/ink/hooks/useWorkflowExecution.js.map +0 -1
  201. package/dist/interactive/ink/index.d.ts +0 -30
  202. package/dist/interactive/ink/index.d.ts.map +0 -1
  203. package/dist/interactive/ink/index.js +0 -33
  204. package/dist/interactive/ink/index.js.map +0 -1
  205. package/dist/interactive/ink/utils/workflow.d.ts +0 -11
  206. package/dist/interactive/ink/utils/workflow.d.ts.map +0 -1
  207. package/dist/interactive/ink/utils/workflow.js +0 -19
  208. package/dist/interactive/ink/utils/workflow.js.map +0 -1
  209. package/dist/interactive/input-buffer.d.ts +0 -67
  210. package/dist/interactive/input-buffer.d.ts.map +0 -1
  211. package/dist/interactive/input-buffer.js +0 -162
  212. package/dist/interactive/input-buffer.js.map +0 -1
  213. package/dist/interactive/input-handlers.d.ts +0 -50
  214. package/dist/interactive/input-handlers.d.ts.map +0 -1
  215. package/dist/interactive/input-handlers.js +0 -170
  216. package/dist/interactive/input-handlers.js.map +0 -1
  217. package/dist/interactive/input.d.ts +0 -43
  218. package/dist/interactive/input.d.ts.map +0 -1
  219. package/dist/interactive/input.js +0 -74
  220. package/dist/interactive/input.js.map +0 -1
  221. package/dist/interactive/keyDetection.d.ts +0 -85
  222. package/dist/interactive/keyDetection.d.ts.map +0 -1
  223. package/dist/interactive/keyDetection.js +0 -167
  224. package/dist/interactive/keyDetection.js.map +0 -1
  225. package/dist/interactive/multilineInputLogic.d.ts +0 -30
  226. package/dist/interactive/multilineInputLogic.d.ts.map +0 -1
  227. package/dist/interactive/multilineInputLogic.js +0 -143
  228. package/dist/interactive/multilineInputLogic.js.map +0 -1
  229. package/dist/interactive/passthrough.d.ts +0 -30
  230. package/dist/interactive/passthrough.d.ts.map +0 -1
  231. package/dist/interactive/passthrough.js +0 -94
  232. package/dist/interactive/passthrough.js.map +0 -1
  233. package/dist/interactive/permission.d.ts +0 -33
  234. package/dist/interactive/permission.d.ts.map +0 -1
  235. package/dist/interactive/permission.js +0 -231
  236. package/dist/interactive/permission.js.map +0 -1
  237. package/dist/interactive/prompt.d.ts.map +0 -1
  238. package/dist/interactive/prompt.js.map +0 -1
  239. package/dist/interactive/repl.d.ts +0 -13
  240. package/dist/interactive/repl.d.ts.map +0 -1
  241. package/dist/interactive/repl.js +0 -202
  242. package/dist/interactive/repl.js.map +0 -1
  243. package/dist/interactive/types.d.ts +0 -35
  244. package/dist/interactive/types.d.ts.map +0 -1
  245. package/dist/interactive/types.js +0 -5
  246. package/dist/interactive/types.js.map +0 -1
  247. package/dist/interactive/ui.d.ts +0 -16
  248. package/dist/interactive/ui.d.ts.map +0 -1
  249. package/dist/interactive/ui.js +0 -122
  250. package/dist/interactive/ui.js.map +0 -1
  251. package/dist/interactive/user-input.d.ts +0 -26
  252. package/dist/interactive/user-input.d.ts.map +0 -1
  253. package/dist/interactive/user-input.js +0 -115
  254. package/dist/interactive/user-input.js.map +0 -1
  255. package/dist/interactive/workflow-executor.d.ts +0 -20
  256. package/dist/interactive/workflow-executor.d.ts.map +0 -1
  257. package/dist/interactive/workflow-executor.js +0 -200
  258. package/dist/interactive/workflow-executor.js.map +0 -1
@@ -1,183 +0,0 @@
1
- /**
2
- * Key detection logic for terminal input handling
3
- *
4
- * Provides type definitions, constants, and functions for detecting
5
- * special key combinations across different terminal emulators.
6
- *
7
- * This module handles:
8
- * - Escape sequence tracking for iTerm2-style Option+Enter
9
- * - Newline/submit/cancel trigger detection
10
- * - Navigation and character input classification
11
- */
12
- // ============================================================================
13
- // Constants
14
- // ============================================================================
15
- /**
16
- * Threshold (ms) for detecting iTerm2-style Option+Enter (Escape + Enter).
17
- * Based on:
18
- * - Typical keyboard repeat delay is 200-500ms
19
- * - Terminal escape sequence transmission is near-instantaneous (<10ms)
20
- * - Human intentional Esc→Enter would take at least 100-150ms
21
- */
22
- export const ESCAPE_SEQUENCE_THRESHOLD_MS = 50;
23
- /**
24
- * Delay (ms) to allow Ink's initial render and terminal setup before enabling
25
- * raw keypress events. 100ms is sufficient for most terminals; shorter delays
26
- * may cause race conditions with Ink's terminal control.
27
- */
28
- export const KEYPRESS_INIT_DELAY_MS = 100;
29
- // ============================================================================
30
- // Escape Sequence Tracker
31
- // ============================================================================
32
- /**
33
- * Tracks Escape key timing for detecting iTerm2-style Option+Enter.
34
- *
35
- * iTerm2 (and some other Mac terminals) send Option+Enter as two separate events:
36
- * Escape followed by Enter. This tracker detects this pattern by checking if
37
- * Enter is pressed shortly after Escape.
38
- */
39
- export class EscapeSequenceTracker {
40
- lastEscapeTime = 0;
41
- thresholdMs;
42
- constructor(thresholdMs = ESCAPE_SEQUENCE_THRESHOLD_MS) {
43
- this.thresholdMs = thresholdMs;
44
- }
45
- /** Record that Escape key was pressed */
46
- trackEscape() {
47
- this.lastEscapeTime = Date.now();
48
- }
49
- /**
50
- * Check if Enter was pressed within threshold of Escape.
51
- * Resets the tracker if true to prevent repeated triggers.
52
- */
53
- isEscapeThenEnter() {
54
- const elapsed = Date.now() - this.lastEscapeTime;
55
- const isRecent = elapsed < this.thresholdMs && this.lastEscapeTime > 0;
56
- if (isRecent) {
57
- this.lastEscapeTime = 0; // Reset to prevent accidental triggers
58
- }
59
- return isRecent;
60
- }
61
- /** Reset the tracker state */
62
- reset() {
63
- this.lastEscapeTime = 0;
64
- }
65
- }
66
- // ============================================================================
67
- // Key Detection Functions
68
- // ============================================================================
69
- /**
70
- * Determines if a key event should trigger newline input.
71
- *
72
- * Supported patterns:
73
- * - Ctrl+O: Universal alternative (works in all terminals)
74
- * - Ctrl+Enter: ctrl flag with Enter key
75
- * - Option+Enter (meta): meta flag with Enter key (some terminals)
76
- * - Shift+Enter: shift flag with Enter key (some terminals)
77
- * - Option+Enter (escape sequence): '\x1b\r' sequence (Terminal.app)
78
- * - Option+Enter (iTerm2): Escape + Enter as separate events
79
- * - Escape+OM: '\x1bOM' sequence (some terminals)
80
- */
81
- export function isNewLineTrigger(key, escapeTracker) {
82
- const isEnterKey = key.name === 'return' || key.name === 'enter';
83
- // Ctrl+O - universal alternative that works in all terminals
84
- if (key.ctrl && key.name === 'o') {
85
- return true;
86
- }
87
- // Modifier + Enter combinations
88
- const modifiedEnter = isEnterKey && (key.ctrl || key.meta || key.shift);
89
- // Escape sequences sent as single events
90
- const escapeSequences = key.sequence === '\x1b\r' ||
91
- key.sequence === '\u001b\r' ||
92
- key.sequence === '\x1bOM' ||
93
- key.sequence === '\u001bOM';
94
- // iTerm2-style: Escape followed by Enter within threshold
95
- const iterm2Style = isEnterKey && escapeTracker.isEscapeThenEnter();
96
- return modifiedEnter || escapeSequences || iterm2Style;
97
- }
98
- /**
99
- * Determines if a key event should submit input.
100
- *
101
- * Supports:
102
- * - Plain Enter (no modifiers)
103
- * - Ctrl+J (legacy/universal)
104
- */
105
- export function isSubmitTrigger(key) {
106
- const isEnterKey = key.name === 'return' || key.name === 'enter';
107
- // Plain Enter submits (no modifiers)
108
- if (isEnterKey && !key.shift && !key.meta && !key.ctrl) {
109
- return true;
110
- }
111
- // Ctrl+J also submits (works in all terminals)
112
- if (key.ctrl && key.name === 'j') {
113
- return true;
114
- }
115
- return false;
116
- }
117
- /**
118
- * Determines if a key event is a cancel trigger (Ctrl+C)
119
- */
120
- export function isCancelTrigger(key) {
121
- return Boolean(key.ctrl && key.name === 'c');
122
- }
123
- /**
124
- * Determines if a key event is a navigation key
125
- */
126
- export function isNavigationKey(key) {
127
- if (key.name === 'up')
128
- return 'up';
129
- if (key.name === 'down')
130
- return 'down';
131
- if (key.name === 'left')
132
- return 'left';
133
- if (key.name === 'right')
134
- return 'right';
135
- return null;
136
- }
137
- /**
138
- * Determines if a key event is a backspace
139
- */
140
- export function isBackspaceKey(key) {
141
- return key.name === 'backspace' || key.name === 'delete';
142
- }
143
- /**
144
- * Classify a raw key event into a normalized action
145
- */
146
- export function classifyKeyEvent(str, key, escapeTracker) {
147
- // Track Escape key for iTerm2-style detection
148
- if (key.name === 'escape' || key.sequence === '\x1b') {
149
- escapeTracker.trackEscape();
150
- return { type: 'escape' };
151
- }
152
- // Cancel (Ctrl+C)
153
- if (isCancelTrigger(key)) {
154
- return { type: 'cancel' };
155
- }
156
- // Newline triggers (check BEFORE submit)
157
- if (isNewLineTrigger(key, escapeTracker)) {
158
- return { type: 'newline' };
159
- }
160
- // Submit triggers
161
- if (isSubmitTrigger(key)) {
162
- return { type: 'submit' };
163
- }
164
- // Navigation
165
- const navDir = isNavigationKey(key);
166
- if (navDir) {
167
- return { type: 'navigation', direction: navDir };
168
- }
169
- // Backspace
170
- if (isBackspaceKey(key)) {
171
- return { type: 'backspace' };
172
- }
173
- // Character input (skip control characters and meta combinations)
174
- if (str && !key.ctrl && !key.meta && str.length > 0) {
175
- // Filter out non-printable characters
176
- const printable = str.replace(/[\x00-\x1f\x7f]/g, '');
177
- if (printable.length > 0) {
178
- return { type: 'character', char: printable };
179
- }
180
- }
181
- return { type: 'ignored' };
182
- }
183
- //# sourceMappingURL=keyDetection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyDetection.js","sourceRoot":"","sources":["../../../../src/interactive/ink/hooks/keyDetection.ts"],"names":[],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- /**
2
- * Pure functions for multiline input state handling
3
- *
4
- * This module is responsible ONLY for state transformations.
5
- * Key detection logic is centralized in useRawKeypress.ts.
6
- *
7
- * These functions are extracted to enable unit testing without React hooks.
8
- */
9
- export interface MultilineInputState {
10
- lines: string[];
11
- currentLine: number;
12
- cursor: number;
13
- }
14
- /**
15
- * Handles character input and returns new state
16
- */
17
- export declare function handleCharacterInput(state: MultilineInputState, input: string): MultilineInputState;
18
- /**
19
- * Handles new line insertion and returns new state
20
- */
21
- export declare function handleNewLine(state: MultilineInputState): MultilineInputState;
22
- /**
23
- * Handles backspace and returns new state
24
- */
25
- export declare function handleBackspace(state: MultilineInputState): MultilineInputState;
26
- /**
27
- * Handles left arrow navigation
28
- */
29
- export declare function handleLeftArrow(state: MultilineInputState): MultilineInputState;
30
- /**
31
- * Handles right arrow navigation
32
- */
33
- export declare function handleRightArrow(state: MultilineInputState): MultilineInputState;
34
- /**
35
- * Handles up arrow navigation
36
- */
37
- export declare function handleUpArrow(state: MultilineInputState): MultilineInputState;
38
- /**
39
- * Handles down arrow navigation
40
- */
41
- export declare function handleDownArrow(state: MultilineInputState): MultilineInputState;
42
- /**
43
- * Get full input as a single string
44
- */
45
- export declare function getFullInput(state: MultilineInputState): string;
46
- /**
47
- * Create initial state
48
- */
49
- export declare function createInitialState(): MultilineInputState;
50
- //# sourceMappingURL=multilineInputLogic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multilineInputLogic.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/hooks/multilineInputLogic.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,MAAM,GACZ,mBAAmB,CAYrB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAa7E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CA2B/E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAc/E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAehF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAS7E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAS/E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,mBAAmB,CAMxD"}
@@ -1,150 +0,0 @@
1
- /**
2
- * Pure functions for multiline input state handling
3
- *
4
- * This module is responsible ONLY for state transformations.
5
- * Key detection logic is centralized in useRawKeypress.ts.
6
- *
7
- * These functions are extracted to enable unit testing without React hooks.
8
- */
9
- /**
10
- * Handles character input and returns new state
11
- */
12
- export function handleCharacterInput(state, input) {
13
- if (!input)
14
- return state;
15
- const newLines = [...state.lines];
16
- const line = newLines[state.currentLine] ?? '';
17
- newLines[state.currentLine] = line.slice(0, state.cursor) + input + line.slice(state.cursor);
18
- return {
19
- lines: newLines,
20
- currentLine: state.currentLine,
21
- cursor: state.cursor + input.length,
22
- };
23
- }
24
- /**
25
- * Handles new line insertion and returns new state
26
- */
27
- export function handleNewLine(state) {
28
- const newLines = [...state.lines];
29
- const currentLineContent = newLines[state.currentLine] ?? '';
30
- const before = currentLineContent.slice(0, state.cursor);
31
- const after = currentLineContent.slice(state.cursor);
32
- newLines[state.currentLine] = before;
33
- newLines.splice(state.currentLine + 1, 0, after);
34
- return {
35
- lines: newLines,
36
- currentLine: state.currentLine + 1,
37
- cursor: 0,
38
- };
39
- }
40
- /**
41
- * Handles backspace and returns new state
42
- */
43
- export function handleBackspace(state) {
44
- if (state.cursor > 0) {
45
- // Delete character before cursor
46
- const newLines = [...state.lines];
47
- const line = newLines[state.currentLine] ?? '';
48
- newLines[state.currentLine] = line.slice(0, state.cursor - 1) + line.slice(state.cursor);
49
- return {
50
- lines: newLines,
51
- currentLine: state.currentLine,
52
- cursor: state.cursor - 1,
53
- };
54
- }
55
- else if (state.currentLine > 0) {
56
- // Merge with previous line
57
- const prevLineLen = state.lines[state.currentLine - 1]?.length ?? 0;
58
- const newLines = [...state.lines];
59
- newLines[state.currentLine - 1] = (newLines[state.currentLine - 1] ?? '') + (newLines[state.currentLine] ?? '');
60
- newLines.splice(state.currentLine, 1);
61
- return {
62
- lines: newLines,
63
- currentLine: state.currentLine - 1,
64
- cursor: prevLineLen,
65
- };
66
- }
67
- return state;
68
- }
69
- /**
70
- * Handles left arrow navigation
71
- */
72
- export function handleLeftArrow(state) {
73
- if (state.cursor > 0) {
74
- return {
75
- ...state,
76
- cursor: state.cursor - 1,
77
- };
78
- }
79
- else if (state.currentLine > 0) {
80
- return {
81
- ...state,
82
- currentLine: state.currentLine - 1,
83
- cursor: state.lines[state.currentLine - 1]?.length ?? 0,
84
- };
85
- }
86
- return state;
87
- }
88
- /**
89
- * Handles right arrow navigation
90
- */
91
- export function handleRightArrow(state) {
92
- const lineLen = state.lines[state.currentLine]?.length ?? 0;
93
- if (state.cursor < lineLen) {
94
- return {
95
- ...state,
96
- cursor: state.cursor + 1,
97
- };
98
- }
99
- else if (state.currentLine < state.lines.length - 1) {
100
- return {
101
- ...state,
102
- currentLine: state.currentLine + 1,
103
- cursor: 0,
104
- };
105
- }
106
- return state;
107
- }
108
- /**
109
- * Handles up arrow navigation
110
- */
111
- export function handleUpArrow(state) {
112
- if (state.currentLine > 0) {
113
- return {
114
- ...state,
115
- currentLine: state.currentLine - 1,
116
- cursor: Math.min(state.cursor, state.lines[state.currentLine - 1]?.length ?? 0),
117
- };
118
- }
119
- return state;
120
- }
121
- /**
122
- * Handles down arrow navigation
123
- */
124
- export function handleDownArrow(state) {
125
- if (state.currentLine < state.lines.length - 1) {
126
- return {
127
- ...state,
128
- currentLine: state.currentLine + 1,
129
- cursor: Math.min(state.cursor, state.lines[state.currentLine + 1]?.length ?? 0),
130
- };
131
- }
132
- return state;
133
- }
134
- /**
135
- * Get full input as a single string
136
- */
137
- export function getFullInput(state) {
138
- return state.lines.join('\n').trim();
139
- }
140
- /**
141
- * Create initial state
142
- */
143
- export function createInitialState() {
144
- return {
145
- lines: [''],
146
- currentLine: 0,
147
- cursor: 0,
148
- };
149
- }
150
- //# sourceMappingURL=multilineInputLogic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multilineInputLogic.js","sourceRoot":"","sources":["../../../../src/interactive/ink/hooks/multilineInputLogic.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Command handling hook
3
- */
4
- export interface CommandResult {
5
- handled: boolean;
6
- shouldExit?: boolean;
7
- /** Tasks to execute via workflow (all pending tasks) */
8
- executeTasks?: {
9
- name: string;
10
- content: string;
11
- }[];
12
- }
13
- export interface CommandsResult {
14
- handleCommand: (input: string) => CommandResult;
15
- }
16
- /**
17
- * Hook for handling slash commands
18
- */
19
- export declare function useCommands(): CommandsResult;
20
- //# sourceMappingURL=useCommands.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCommands.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/hooks/useCommands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,wDAAwD;IACxD,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,aAAa,CAAC;CACjD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,cAAc,CAwI5C"}
@@ -1,129 +0,0 @@
1
- /**
2
- * Command handling hook
3
- */
4
- import { useCallback } from 'react';
5
- import { useApp } from '../context/AppContext.js';
6
- import { setWorkflowByName } from '../utils/workflow.js';
7
- import { listCustomAgents } from '../../../config/loader.js';
8
- import { TaskRunner } from '../../../task/runner.js';
9
- /**
10
- * Hook for handling slash commands
11
- */
12
- export function useCommands() {
13
- const { state, dispatch } = useApp();
14
- const handleCommand = useCallback((input) => {
15
- if (!input.startsWith('/')) {
16
- return { handled: false };
17
- }
18
- const parts = input.slice(1).split(' ');
19
- const command = parts[0]?.toLowerCase();
20
- const args = parts.slice(1);
21
- switch (command) {
22
- case 'quit':
23
- case 'exit':
24
- case 'q':
25
- return { handled: true, shouldExit: true };
26
- case 'help':
27
- case 'h':
28
- dispatch({ type: 'SHOW_MODAL', payload: { type: 'help' } });
29
- return { handled: true };
30
- case 'sacrifice':
31
- case 'yolo':
32
- dispatch({ type: 'TOGGLE_SACRIFICE_MODE' });
33
- return { handled: true };
34
- case 'safe':
35
- if (state.sacrificeMode) {
36
- dispatch({ type: 'TOGGLE_SACRIFICE_MODE' });
37
- }
38
- return { handled: true };
39
- case 'clear':
40
- dispatch({ type: 'RESET_CONVERSATION' });
41
- return { handled: true };
42
- case 'cls':
43
- dispatch({ type: 'CLEAR_STREAM' });
44
- return { handled: true };
45
- case 'switch':
46
- case 'sw':
47
- dispatch({ type: 'SHOW_MODAL', payload: { type: 'workflowSelector' } });
48
- return { handled: true };
49
- case 'workflow':
50
- if (args.length > 0) {
51
- const newWorkflow = args.join(' ');
52
- if (!setWorkflowByName(newWorkflow, state.cwd, dispatch)) {
53
- dispatch({ type: 'SET_ERROR', payload: `Workflow not found: ${newWorkflow}` });
54
- }
55
- }
56
- return { handled: true };
57
- case 'workflows':
58
- dispatch({ type: 'SHOW_MODAL', payload: { type: 'workflowSelector' } });
59
- return { handled: true };
60
- case 'agents': {
61
- const agents = listCustomAgents();
62
- const agentList = agents.length > 0
63
- ? agents.join(', ')
64
- : 'No custom agents defined';
65
- dispatch({ type: 'SET_INFO', payload: `Available agents: ${agentList}. Built-in: coder, architect, supervisor` });
66
- return { handled: true };
67
- }
68
- case 'task':
69
- case 'tasks': {
70
- const taskRunner = new TaskRunner(state.cwd);
71
- const subCommand = args[0]?.toLowerCase();
72
- if (subCommand === 'run') {
73
- // /task run [name] - 全タスクをワークフローで実行(nameを指定した場合はそこから開始)
74
- const taskName = args[1];
75
- const allTasks = taskRunner.listTasks();
76
- if (allTasks.length === 0) {
77
- dispatch({
78
- type: 'SET_ERROR',
79
- payload: 'No tasks available. Add .md files to .wolf/tasks/',
80
- });
81
- return { handled: true };
82
- }
83
- // nameが指定された場合、そのタスクから開始
84
- let startIndex = 0;
85
- if (taskName) {
86
- startIndex = allTasks.findIndex(t => t.name === taskName);
87
- if (startIndex === -1) {
88
- dispatch({
89
- type: 'SET_ERROR',
90
- payload: `Task not found: ${taskName}`,
91
- });
92
- return { handled: true };
93
- }
94
- }
95
- // Return all tasks from startIndex for execution by App.tsx
96
- const tasksToExecute = allTasks.slice(startIndex).map(t => ({
97
- name: t.name,
98
- content: t.content,
99
- }));
100
- return {
101
- handled: true,
102
- executeTasks: tasksToExecute,
103
- };
104
- }
105
- // /task list or /tasks - タスク一覧表示
106
- const tasks = taskRunner.listTasks();
107
- if (tasks.length === 0) {
108
- dispatch({
109
- type: 'SET_INFO',
110
- payload: `No tasks found. Add .md files to ${taskRunner.getTasksDir()}`,
111
- });
112
- }
113
- else {
114
- const taskList = tasks.map((t, i) => `${i + 1}. ${t.name}`).join('\n');
115
- dispatch({
116
- type: 'SET_INFO',
117
- payload: `Tasks (${tasks.length}):\n${taskList}\n\nUse /task run [name] to execute`,
118
- });
119
- }
120
- return { handled: true };
121
- }
122
- default:
123
- dispatch({ type: 'SET_ERROR', payload: `Unknown command: ${command}` });
124
- return { handled: true };
125
- }
126
- }, [state.sacrificeMode, state.cwd, dispatch]);
127
- return { handleCommand };
128
- }
129
- //# sourceMappingURL=useCommands.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCommands.js","sourceRoot":"","sources":["../../../../src/interactive/ink/hooks/useCommands.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Input history management hook
3
- */
4
- interface UseHistoryOptions {
5
- /** Project directory for history persistence */
6
- projectDir: string;
7
- }
8
- interface UseHistoryResult {
9
- /** Navigate to previous history entry */
10
- navigatePrevious: (currentInput: string) => string | undefined;
11
- /** Navigate to next history entry */
12
- navigateNext: () => {
13
- entry: string;
14
- isCurrentInput: boolean;
15
- } | undefined;
16
- /** Add entry to history */
17
- addEntry: (entry: string) => void;
18
- /** Reset navigation index */
19
- resetIndex: () => void;
20
- /** Current history length */
21
- length: number;
22
- }
23
- /**
24
- * Hook for managing input history with keyboard navigation
25
- */
26
- export declare function useHistory({ projectDir }: UseHistoryOptions): UseHistoryResult;
27
- export {};
28
- //# sourceMappingURL=useHistory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useHistory.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/hooks/useHistory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,UAAU,iBAAiB;IACzB,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,gBAAgB;IACxB,yCAAyC;IACzC,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/D,qCAAqC;IACrC,YAAY,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IAC3E,2BAA2B;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,6BAA6B;IAC7B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE,iBAAiB,GAAG,gBAAgB,CA2D9E"}
@@ -1,59 +0,0 @@
1
- /**
2
- * Input history management hook
3
- */
4
- import { useState, useCallback, useRef } from 'react';
5
- import { loadInputHistory, addToInputHistory, } from '../../../config/paths.js';
6
- /**
7
- * Hook for managing input history with keyboard navigation
8
- */
9
- export function useHistory({ projectDir }) {
10
- // Load initial history
11
- const [history] = useState(() => loadInputHistory(projectDir));
12
- const indexRef = useRef(history.length);
13
- const savedCurrentInputRef = useRef('');
14
- const navigatePrevious = useCallback((currentInput) => {
15
- if (indexRef.current <= 0) {
16
- return undefined;
17
- }
18
- // Save current input if at the end
19
- if (indexRef.current === history.length) {
20
- savedCurrentInputRef.current = currentInput;
21
- }
22
- indexRef.current--;
23
- return history[indexRef.current];
24
- }, [history]);
25
- const navigateNext = useCallback(() => {
26
- if (indexRef.current >= history.length) {
27
- return undefined;
28
- }
29
- indexRef.current++;
30
- if (indexRef.current === history.length) {
31
- return { entry: savedCurrentInputRef.current, isCurrentInput: true };
32
- }
33
- const entry = history[indexRef.current];
34
- return entry ? { entry, isCurrentInput: false } : undefined;
35
- }, [history]);
36
- const addEntry = useCallback((entry) => {
37
- if (entry.trim()) {
38
- // Add to in-memory history
39
- history.push(entry);
40
- // Persist to file
41
- addToInputHistory(projectDir, entry);
42
- // Reset index to end
43
- indexRef.current = history.length;
44
- savedCurrentInputRef.current = '';
45
- }
46
- }, [history, projectDir]);
47
- const resetIndex = useCallback(() => {
48
- indexRef.current = history.length;
49
- savedCurrentInputRef.current = '';
50
- }, [history.length]);
51
- return {
52
- navigatePrevious,
53
- navigateNext,
54
- addEntry,
55
- resetIndex,
56
- length: history.length,
57
- };
58
- }
59
- //# sourceMappingURL=useHistory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useHistory.js","sourceRoot":"","sources":["../../../../src/interactive/ink/hooks/useHistory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAoBlC;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,UAAU,EAAqB;IAC1D,uBAAuB;IACvB,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAW,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,MAAM,CAAS,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,oBAAoB,GAAG,MAAM,CAAS,EAAE,CAAC,CAAC;IAEhD,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,YAAoB,EAAsB,EAAE;QAChF,IAAI,QAAQ,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,mCAAmC;QACnC,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;YACxC,oBAAoB,CAAC,OAAO,GAAG,YAAY,CAAC;QAC9C,CAAC;QAED,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,YAAY,GAAG,WAAW,CAAC,GAA2D,EAAE;QAC5F,IAAI,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEnB,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;YACxC,OAAO,EAAE,KAAK,EAAE,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QACvE,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,KAAa,EAAQ,EAAE;QACnD,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,2BAA2B;YAC3B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,kBAAkB;YAClB,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACrC,qBAAqB;YACrB,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;YAClC,oBAAoB,CAAC,OAAO,GAAG,EAAE,CAAC;QACpC,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAE1B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAS,EAAE;QACxC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAClC,oBAAoB,CAAC,OAAO,GAAG,EAAE,CAAC;IACpC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAErB,OAAO;QACL,gBAAgB;QAChB,YAAY;QACZ,QAAQ;QACR,UAAU;QACV,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC"}