dexto 1.5.8 → 1.6.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 (224) hide show
  1. package/README.md +3 -3
  2. package/dist/agents/agent-template.yml +2 -2
  3. package/dist/agents/coding-agent/README.md +10 -10
  4. package/dist/agents/coding-agent/coding-agent.yml +84 -83
  5. package/dist/agents/default-agent.yml +32 -47
  6. package/dist/agents/explore-agent/explore-agent.yml +3 -6
  7. package/dist/agents/image-editor-agent/image-editor-agent.yml +1 -1
  8. package/dist/agents/nano-banana-agent/nano-banana-agent.yml +1 -1
  9. package/dist/agents/podcast-agent/podcast-agent.yml +1 -1
  10. package/dist/agents/product-name-researcher/product-name-researcher.yml +1 -1
  11. package/dist/agents/sora-video-agent/sora-video-agent.yml +4 -6
  12. package/dist/agents/triage-demo/triage-agent.yml +1 -1
  13. package/dist/analytics/events.d.ts +1 -1
  14. package/dist/analytics/events.d.ts.map +1 -1
  15. package/dist/api/mcp/tool-aggregation-handler.d.ts +2 -2
  16. package/dist/api/server-hono.d.ts +2 -2
  17. package/dist/api/server-hono.d.ts.map +1 -1
  18. package/dist/api/server-hono.js +37 -60
  19. package/dist/cli/approval/cli-approval-handler.d.ts +10 -3
  20. package/dist/cli/approval/cli-approval-handler.d.ts.map +1 -1
  21. package/dist/cli/approval/cli-approval-handler.js +1 -1
  22. package/dist/cli/assets/sounds/SOURCES.md +35 -0
  23. package/dist/cli/assets/sounds/boot.wav +0 -0
  24. package/dist/cli/assets/sounds/chime.wav +0 -0
  25. package/dist/cli/assets/sounds/coin.wav +0 -0
  26. package/dist/cli/assets/sounds/confirm.wav +0 -0
  27. package/dist/cli/assets/sounds/levelup.wav +0 -0
  28. package/dist/cli/assets/sounds/ping.wav +0 -0
  29. package/dist/cli/assets/sounds/powerup.wav +0 -0
  30. package/dist/cli/assets/sounds/startup.wav +0 -0
  31. package/dist/cli/assets/sounds/success.wav +0 -0
  32. package/dist/cli/assets/sounds/treasure.wav +0 -0
  33. package/dist/cli/assets/sounds/win.wav +0 -0
  34. package/dist/cli/commands/create-app.d.ts +1 -11
  35. package/dist/cli/commands/create-app.d.ts.map +1 -1
  36. package/dist/cli/commands/create-app.js +21 -545
  37. package/dist/cli/commands/create-image.d.ts.map +1 -1
  38. package/dist/cli/commands/create-image.js +54 -53
  39. package/dist/cli/commands/image.d.ts +52 -0
  40. package/dist/cli/commands/image.d.ts.map +1 -0
  41. package/dist/cli/commands/image.js +118 -0
  42. package/dist/cli/commands/index.d.ts +2 -1
  43. package/dist/cli/commands/index.d.ts.map +1 -1
  44. package/dist/cli/commands/index.js +3 -1
  45. package/dist/cli/commands/init-app.d.ts +4 -8
  46. package/dist/cli/commands/init-app.d.ts.map +1 -1
  47. package/dist/cli/commands/init-app.js +37 -161
  48. package/dist/cli/commands/interactive-commands/command-parser.d.ts +2 -0
  49. package/dist/cli/commands/interactive-commands/command-parser.d.ts.map +1 -1
  50. package/dist/cli/commands/interactive-commands/commands.d.ts +1 -1
  51. package/dist/cli/commands/interactive-commands/commands.d.ts.map +1 -1
  52. package/dist/cli/commands/interactive-commands/commands.js +2 -2
  53. package/dist/cli/commands/interactive-commands/exit-handler.d.ts +12 -0
  54. package/dist/cli/commands/interactive-commands/exit-handler.d.ts.map +1 -0
  55. package/dist/cli/commands/interactive-commands/exit-handler.js +20 -0
  56. package/dist/cli/commands/interactive-commands/exit-stats.d.ts +24 -0
  57. package/dist/cli/commands/interactive-commands/exit-stats.d.ts.map +1 -0
  58. package/dist/cli/commands/interactive-commands/exit-stats.js +17 -0
  59. package/dist/cli/commands/interactive-commands/general-commands.d.ts.map +1 -1
  60. package/dist/cli/commands/interactive-commands/general-commands.js +55 -5
  61. package/dist/cli/commands/interactive-commands/prompt-commands.d.ts.map +1 -1
  62. package/dist/cli/commands/interactive-commands/prompt-commands.js +14 -74
  63. package/dist/cli/commands/interactive-commands/session/index.d.ts +2 -1
  64. package/dist/cli/commands/interactive-commands/session/index.d.ts.map +1 -1
  65. package/dist/cli/commands/interactive-commands/session/index.js +2 -1
  66. package/dist/cli/commands/interactive-commands/session/session-commands.d.ts +2 -2
  67. package/dist/cli/commands/interactive-commands/session/session-commands.d.ts.map +1 -1
  68. package/dist/cli/commands/interactive-commands/session/session-commands.js +2 -4
  69. package/dist/cli/commands/interactive-commands/system/system-commands.d.ts +1 -13
  70. package/dist/cli/commands/interactive-commands/system/system-commands.d.ts.map +1 -1
  71. package/dist/cli/commands/interactive-commands/system/system-commands.js +52 -83
  72. package/dist/cli/commands/plugin.d.ts +4 -4
  73. package/dist/cli/commands/sync-agents.d.ts +2 -12
  74. package/dist/cli/commands/sync-agents.d.ts.map +1 -1
  75. package/dist/cli/commands/sync-agents.js +2 -50
  76. package/dist/cli/ink-cli/InkCLIRefactored.d.ts +7 -1
  77. package/dist/cli/ink-cli/InkCLIRefactored.d.ts.map +1 -1
  78. package/dist/cli/ink-cli/InkCLIRefactored.js +138 -27
  79. package/dist/cli/ink-cli/components/ApprovalPrompt.d.ts +2 -2
  80. package/dist/cli/ink-cli/components/ApprovalPrompt.d.ts.map +1 -1
  81. package/dist/cli/ink-cli/components/ApprovalPrompt.js +85 -30
  82. package/dist/cli/ink-cli/components/BackgroundTasksPanel.js +1 -1
  83. package/dist/cli/ink-cli/components/ElicitationForm.d.ts +5 -3
  84. package/dist/cli/ink-cli/components/ElicitationForm.d.ts.map +1 -1
  85. package/dist/cli/ink-cli/components/ElicitationForm.js +414 -180
  86. package/dist/cli/ink-cli/components/Footer.d.ts.map +1 -1
  87. package/dist/cli/ink-cli/components/Footer.js +1 -2
  88. package/dist/cli/ink-cli/components/ResourceAutocomplete.d.ts.map +1 -1
  89. package/dist/cli/ink-cli/components/ResourceAutocomplete.js +20 -11
  90. package/dist/cli/ink-cli/components/SlashCommandAutocomplete.d.ts.map +1 -1
  91. package/dist/cli/ink-cli/components/SlashCommandAutocomplete.js +47 -67
  92. package/dist/cli/ink-cli/components/StatusBar.d.ts.map +1 -1
  93. package/dist/cli/ink-cli/components/StatusBar.js +20 -10
  94. package/dist/cli/ink-cli/components/TodoPanel.js +1 -1
  95. package/dist/cli/ink-cli/components/base/BaseSelector.d.ts +2 -1
  96. package/dist/cli/ink-cli/components/base/BaseSelector.d.ts.map +1 -1
  97. package/dist/cli/ink-cli/components/base/BaseSelector.js +37 -27
  98. package/dist/cli/ink-cli/components/chat/Header.d.ts.map +1 -1
  99. package/dist/cli/ink-cli/components/chat/Header.js +1 -1
  100. package/dist/cli/ink-cli/components/chat/MessageItem.d.ts.map +1 -1
  101. package/dist/cli/ink-cli/components/chat/MessageItem.js +3 -1
  102. package/dist/cli/ink-cli/components/chat/ToolIcon.d.ts.map +1 -1
  103. package/dist/cli/ink-cli/components/chat/ToolIcon.js +5 -15
  104. package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.js +1 -1
  105. package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.d.ts.map +1 -1
  106. package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.js +1 -1
  107. package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.d.ts +3 -1
  108. package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.d.ts.map +1 -1
  109. package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.js +5 -3
  110. package/dist/cli/ink-cli/components/modes/StaticCLI.d.ts +3 -1
  111. package/dist/cli/ink-cli/components/modes/StaticCLI.d.ts.map +1 -1
  112. package/dist/cli/ink-cli/components/modes/StaticCLI.js +10 -3
  113. package/dist/cli/ink-cli/components/overlays/CommandOutputOverlay.d.ts +13 -0
  114. package/dist/cli/ink-cli/components/overlays/CommandOutputOverlay.d.ts.map +1 -0
  115. package/dist/cli/ink-cli/components/overlays/CommandOutputOverlay.js +60 -0
  116. package/dist/cli/ink-cli/components/overlays/LogLevelSelector.js +1 -1
  117. package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.d.ts.map +1 -1
  118. package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.js +213 -100
  119. package/dist/cli/ink-cli/components/overlays/PromptList.d.ts.map +1 -1
  120. package/dist/cli/ink-cli/components/overlays/PromptList.js +12 -16
  121. package/dist/cli/ink-cli/components/overlays/SoundsSelector.d.ts +21 -0
  122. package/dist/cli/ink-cli/components/overlays/SoundsSelector.d.ts.map +1 -0
  123. package/dist/cli/ink-cli/components/overlays/SoundsSelector.js +566 -0
  124. package/dist/cli/ink-cli/components/overlays/ToolBrowser.d.ts +1 -1
  125. package/dist/cli/ink-cli/components/overlays/ToolBrowser.d.ts.map +1 -1
  126. package/dist/cli/ink-cli/components/overlays/ToolBrowser.js +100 -45
  127. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.d.ts.map +1 -1
  128. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.js +8 -13
  129. package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.d.ts +3 -3
  130. package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.d.ts.map +1 -1
  131. package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.js +6 -5
  132. package/dist/cli/ink-cli/components/renderers/FileRenderer.d.ts +3 -1
  133. package/dist/cli/ink-cli/components/renderers/FileRenderer.d.ts.map +1 -1
  134. package/dist/cli/ink-cli/components/renderers/FileRenderer.js +18 -7
  135. package/dist/cli/ink-cli/components/renderers/ShellRenderer.d.ts.map +1 -1
  136. package/dist/cli/ink-cli/components/renderers/ShellRenderer.js +7 -17
  137. package/dist/cli/ink-cli/components/renderers/index.d.ts.map +1 -1
  138. package/dist/cli/ink-cli/components/renderers/index.js +1 -1
  139. package/dist/cli/ink-cli/components/shared/FocusOverlayFrame.d.ts +7 -0
  140. package/dist/cli/ink-cli/components/shared/FocusOverlayFrame.d.ts.map +1 -0
  141. package/dist/cli/ink-cli/components/shared/FocusOverlayFrame.js +8 -0
  142. package/dist/cli/ink-cli/components/shared/HintBar.d.ts +6 -0
  143. package/dist/cli/ink-cli/components/shared/HintBar.d.ts.map +1 -0
  144. package/dist/cli/ink-cli/components/shared/HintBar.js +6 -0
  145. package/dist/cli/ink-cli/constants/spinnerFrames.d.ts +2 -0
  146. package/dist/cli/ink-cli/constants/spinnerFrames.d.ts.map +1 -0
  147. package/dist/cli/ink-cli/constants/spinnerFrames.js +1 -0
  148. package/dist/cli/ink-cli/constants/tips.d.ts.map +1 -1
  149. package/dist/cli/ink-cli/constants/tips.js +2 -1
  150. package/dist/cli/ink-cli/containers/InputContainer.d.ts +4 -0
  151. package/dist/cli/ink-cli/containers/InputContainer.d.ts.map +1 -1
  152. package/dist/cli/ink-cli/containers/InputContainer.js +47 -21
  153. package/dist/cli/ink-cli/containers/OverlayContainer.d.ts +2 -0
  154. package/dist/cli/ink-cli/containers/OverlayContainer.d.ts.map +1 -1
  155. package/dist/cli/ink-cli/containers/OverlayContainer.js +101 -40
  156. package/dist/cli/ink-cli/hooks/useAgentEvents.d.ts.map +1 -1
  157. package/dist/cli/ink-cli/hooks/useAgentEvents.js +15 -16
  158. package/dist/cli/ink-cli/hooks/useAnimationTick.d.ts +11 -0
  159. package/dist/cli/ink-cli/hooks/useAnimationTick.d.ts.map +1 -0
  160. package/dist/cli/ink-cli/hooks/useAnimationTick.js +54 -0
  161. package/dist/cli/ink-cli/hooks/useCLIState.d.ts.map +1 -1
  162. package/dist/cli/ink-cli/hooks/useCLIState.js +1 -0
  163. package/dist/cli/ink-cli/hooks/useTokenCounter.d.ts.map +1 -1
  164. package/dist/cli/ink-cli/hooks/useTokenCounter.js +7 -4
  165. package/dist/cli/ink-cli/services/CommandService.d.ts +1 -1
  166. package/dist/cli/ink-cli/services/CommandService.d.ts.map +1 -1
  167. package/dist/cli/ink-cli/services/CommandService.js +2 -2
  168. package/dist/cli/ink-cli/services/processStream.d.ts +2 -2
  169. package/dist/cli/ink-cli/services/processStream.d.ts.map +1 -1
  170. package/dist/cli/ink-cli/services/processStream.js +27 -19
  171. package/dist/cli/ink-cli/state/initialState.d.ts.map +1 -1
  172. package/dist/cli/ink-cli/state/initialState.js +1 -0
  173. package/dist/cli/ink-cli/state/types.d.ts +15 -3
  174. package/dist/cli/ink-cli/state/types.d.ts.map +1 -1
  175. package/dist/cli/ink-cli/utils/commandOverlays.d.ts.map +1 -1
  176. package/dist/cli/ink-cli/utils/commandOverlays.js +1 -0
  177. package/dist/cli/ink-cli/utils/elicitationSchema.d.ts +11 -0
  178. package/dist/cli/ink-cli/utils/elicitationSchema.d.ts.map +1 -0
  179. package/dist/cli/ink-cli/utils/elicitationSchema.js +80 -0
  180. package/dist/cli/ink-cli/utils/index.d.ts +1 -1
  181. package/dist/cli/ink-cli/utils/index.d.ts.map +1 -1
  182. package/dist/cli/ink-cli/utils/index.js +1 -1
  183. package/dist/cli/ink-cli/utils/messageFormatting.d.ts +10 -19
  184. package/dist/cli/ink-cli/utils/messageFormatting.d.ts.map +1 -1
  185. package/dist/cli/ink-cli/utils/messageFormatting.js +43 -262
  186. package/dist/cli/ink-cli/utils/overlayPresentation.d.ts +19 -0
  187. package/dist/cli/ink-cli/utils/overlayPresentation.d.ts.map +1 -0
  188. package/dist/cli/ink-cli/utils/overlayPresentation.js +33 -0
  189. package/dist/cli/ink-cli/utils/overlaySizing.d.ts +19 -0
  190. package/dist/cli/ink-cli/utils/overlaySizing.d.ts.map +1 -0
  191. package/dist/cli/ink-cli/utils/overlaySizing.js +11 -0
  192. package/dist/cli/ink-cli/utils/soundNotification.d.ts +19 -13
  193. package/dist/cli/ink-cli/utils/soundNotification.d.ts.map +1 -1
  194. package/dist/cli/ink-cli/utils/soundNotification.js +120 -97
  195. package/dist/cli/ink-cli/utils/toolUtils.d.ts.map +1 -1
  196. package/dist/cli/ink-cli/utils/toolUtils.js +2 -9
  197. package/dist/cli/utils/config-validation.d.ts +11 -11
  198. package/dist/cli/utils/config-validation.d.ts.map +1 -1
  199. package/dist/cli/utils/config-validation.js +56 -290
  200. package/dist/cli/utils/image-store.d.ts +16 -0
  201. package/dist/cli/utils/image-store.d.ts.map +1 -0
  202. package/dist/cli/utils/image-store.js +289 -0
  203. package/dist/cli/utils/scaffolding-utils.d.ts +5 -0
  204. package/dist/cli/utils/scaffolding-utils.d.ts.map +1 -1
  205. package/dist/cli/utils/scaffolding-utils.js +46 -4
  206. package/dist/cli/utils/template-engine.d.ts +28 -16
  207. package/dist/cli/utils/template-engine.d.ts.map +1 -1
  208. package/dist/cli/utils/template-engine.js +339 -479
  209. package/dist/config/cli-overrides.d.ts +4 -3
  210. package/dist/config/cli-overrides.d.ts.map +1 -1
  211. package/dist/config/cli-overrides.js +7 -9
  212. package/dist/index-main.d.ts +2 -0
  213. package/dist/index-main.d.ts.map +1 -0
  214. package/dist/index-main.js +1554 -0
  215. package/dist/index.js +2 -1589
  216. package/dist/utils/session-logger-factory.d.ts +3 -0
  217. package/dist/utils/session-logger-factory.d.ts.map +1 -0
  218. package/dist/utils/session-logger-factory.js +34 -0
  219. package/dist/webui/assets/{index-Cz2z7NQ8.js → index-CKhumsZA.js} +231 -231
  220. package/dist/webui/index.html +1 -1
  221. package/package.json +11 -8
  222. package/dist/cli/cli-subscriber.d.ts +0 -45
  223. package/dist/cli/cli-subscriber.d.ts.map +0 -1
  224. package/dist/cli/cli-subscriber.js +0 -204
@@ -9,7 +9,6 @@
9
9
  * - /prompts - List all available prompts (MCP + internal)
10
10
  * - /<prompt-name> [args] - Direct prompt execution (auto-generated for each prompt)
11
11
  */
12
- import chalk from 'chalk';
13
12
  import { formatForInkCli } from './utils/format-output.js';
14
13
  import { createSendMessageMarker } from '../../ink-cli/services/index.js';
15
14
  // Avoid depending on core types to keep CLI typecheck independent of build
@@ -51,7 +50,6 @@ export const promptCommands = [
51
50
  const promptNames = Object.keys(prompts || {});
52
51
  if (promptNames.length === 0) {
53
52
  const output = '\n⚠️ No prompts available';
54
- console.log(chalk.rgb(255, 165, 0)(output));
55
53
  return formatForInkCli(output);
56
54
  }
57
55
  // Build output string
@@ -117,59 +115,10 @@ export const promptCommands = [
117
115
  }
118
116
  outputLines.push(`Total: ${promptNames.length} prompts`);
119
117
  const output = outputLines.join('\n');
120
- // Log for regular CLI (with chalk formatting)
121
- console.log(chalk.bold.green('\n📝 Available Prompts:\n'));
122
- if (mcpPrompts.length > 0) {
123
- console.log(chalk.cyan('🔗 MCP Prompts:'));
124
- mcpPrompts.forEach((name) => {
125
- const info = prompts[name];
126
- if (info) {
127
- const displayName = info.displayName || name;
128
- const title = info.title && info.title !== displayName ? ` (${info.title})` : '';
129
- const desc = info.description ? ` - ${info.description}` : '';
130
- const args = info.arguments && info.arguments.length > 0
131
- ? ` [args: ${info.arguments
132
- .map((a) => `${a.name}${a.required ? '*' : ''}`)
133
- .join(', ')}]`
134
- : '';
135
- console.log(` ${chalk.blue(displayName)}${chalk.rgb(255, 165, 0)(title)}${chalk.gray(desc)}${chalk.gray(args)}`);
136
- }
137
- });
138
- console.log();
139
- }
140
- if (configPrompts.length > 0) {
141
- console.log(chalk.cyan('📋 Config Prompts:'));
142
- configPrompts.forEach((name) => {
143
- const info = prompts[name];
144
- if (info) {
145
- const displayName = info.displayName || name;
146
- const title = info.title && info.title !== displayName ? ` (${info.title})` : '';
147
- const desc = info.description ? ` - ${info.description}` : '';
148
- console.log(` ${chalk.blue(displayName)}${chalk.rgb(255, 165, 0)(title)}${chalk.gray(desc)}`);
149
- }
150
- });
151
- console.log();
152
- }
153
- if (customPrompts.length > 0) {
154
- console.log(chalk.greenBright('✨ Custom Prompts:'));
155
- customPrompts.forEach((name) => {
156
- const info = prompts[name];
157
- if (info) {
158
- const displayName = info.displayName || name;
159
- const title = info.title && info.title !== displayName ? ` (${info.title})` : '';
160
- const desc = info.description ? ` - ${info.description}` : '';
161
- console.log(` ${chalk.blue(displayName)}${chalk.rgb(255, 165, 0)(title)}${chalk.gray(desc)}`);
162
- }
163
- });
164
- console.log();
165
- }
166
- console.log(chalk.gray(`Total: ${promptNames.length} prompts`));
167
- console.log(chalk.gray('💡 Use /<prompt-name> to execute a prompt directly\n'));
168
118
  return formatForInkCli(output);
169
119
  }
170
120
  catch (error) {
171
121
  const errorMsg = `Error listing prompts: ${error instanceof Error ? error.message : String(error)}`;
172
- console.error(chalk.red(`❌ ${errorMsg}`));
173
122
  return formatForInkCli(`❌ ${errorMsg}`);
174
123
  }
175
124
  },
@@ -212,39 +161,31 @@ function createPromptCommand(promptInfo) {
212
161
  if (ctx.sessionId) {
213
162
  // Apply model override if specified
214
163
  if (result.model) {
215
- console.log(chalk.gray(`🔄 Switching model to '${result.model}' for this prompt`));
216
164
  try {
217
165
  await agent.switchLLM({ model: result.model }, ctx.sessionId);
218
166
  }
219
167
  catch (modelError) {
220
- console.log(chalk.yellow(`⚠️ Failed to switch model: ${modelError instanceof Error ? modelError.message : String(modelError)}`));
168
+ agent.logger.warn('Failed to switch model for prompt override', {
169
+ model: result.model,
170
+ error: modelError instanceof Error
171
+ ? modelError.message
172
+ : String(modelError),
173
+ });
221
174
  }
222
175
  }
223
176
  // Apply auto-approve tools if specified
224
177
  // These tools will skip confirmation prompts during skill execution
225
178
  if (result.allowedTools && result.allowedTools.length > 0) {
226
- const displayTools = result.allowedTools.map((tool) => {
227
- if (tool.startsWith('custom--')) {
228
- return tool.replace(/^custom--/, '');
229
- }
230
- if (tool.startsWith('mcp--')) {
231
- const trimmed = tool.replace(/^mcp--/, '');
232
- const [server, ...rest] = trimmed.split('--');
233
- if (server && rest.length > 0) {
234
- return `${server}/${rest.join('--')}`;
235
- }
236
- return trimmed;
237
- }
238
- return tool;
239
- });
240
- console.log(chalk.gray(`🔓 Auto-approving tools: ${displayTools.join(', ')}`));
241
179
  try {
242
- agent.toolManager.setSessionAutoApproveTools(ctx.sessionId, result.allowedTools.map((tool) => tool.startsWith('mcp--') && !tool.includes('--', 5)
243
- ? `mcp--${tool}`
244
- : tool));
180
+ agent.toolManager.setSessionAutoApproveTools(ctx.sessionId, result.allowedTools);
245
181
  }
246
182
  catch (toolError) {
247
- console.log(chalk.yellow(`⚠️ Failed to set auto-approve tools: ${toolError instanceof Error ? toolError.message : String(toolError)}`));
183
+ agent.logger.warn('Failed to set auto-approve tools for prompt', {
184
+ tools: result.allowedTools,
185
+ error: toolError instanceof Error
186
+ ? toolError.message
187
+ : String(toolError),
188
+ });
248
189
  }
249
190
  }
250
191
  }
@@ -260,7 +201,7 @@ function createPromptCommand(promptInfo) {
260
201
  Execute the fork skill: ${commandName}
261
202
  ${taskContext ? `Task context: ${taskContext}` : ''}
262
203
 
263
- Call the internal--invoke_skill tool immediately with:
204
+ Call the invoke_skill tool immediately with:
264
205
  - skill: "${skillName}"
265
206
  ${taskContext ? `- taskContext: "${taskContext}"` : ''}
266
207
  </skill-invocation>`;
@@ -290,7 +231,6 @@ ${finalText.trim()}`;
290
231
  }
291
232
  else {
292
233
  const warningMsg = `⚠️ Prompt '${commandName}' returned no content`;
293
- console.log(chalk.rgb(255, 165, 0)(warningMsg));
294
234
  return formatForInkCli(warningMsg);
295
235
  }
296
236
  }
@@ -9,7 +9,8 @@
9
9
  * - resumeCommand: Shows interactive session selector
10
10
  * - renameCommand: Rename the current session
11
11
  *
12
- * Note: For headless CLI session management, see src/cli/commands/session-commands.ts
12
+ * Note: For non-interactive session subcommands (list, history, delete),
13
+ * see src/cli/commands/session-commands.ts
13
14
  */
14
15
  export { searchCommand, resumeCommand, renameCommand } from './session-commands.js';
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/interactive-commands/session/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/interactive-commands/session/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC"}
@@ -9,6 +9,7 @@
9
9
  * - resumeCommand: Shows interactive session selector
10
10
  * - renameCommand: Rename the current session
11
11
  *
12
- * Note: For headless CLI session management, see src/cli/commands/session-commands.ts
12
+ * Note: For non-interactive session subcommands (list, history, delete),
13
+ * see src/cli/commands/session-commands.ts
13
14
  */
14
15
  export { searchCommand, resumeCommand, renameCommand } from './session-commands.js';
@@ -9,14 +9,14 @@
9
9
  * - search: Opens interactive search overlay
10
10
  * - rename: Rename the current session
11
11
  *
12
- * Note: For headless CLI session management (list, history, delete),
12
+ * Note: For non-interactive session subcommands (list, history, delete),
13
13
  * see src/cli/commands/session-commands.ts
14
14
  */
15
15
  import type { CommandDefinition } from '../command-parser.js';
16
16
  /**
17
17
  * Resume command - shows interactive session selector
18
18
  * Note: In interactive CLI, this always shows the selector (args ignored)
19
- * For headless CLI, use `dexto -r <sessionId>` instead
19
+ * Tip: To start the interactive CLI directly in a session, use `dexto --resume <sessionId>`.
20
20
  */
21
21
  export declare const resumeCommand: CommandDefinition;
22
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"session-commands.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/interactive-commands/session/session-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,sBAAsB,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,iBAsB3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,iBAc3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,iBAa3B,CAAC"}
1
+ {"version":3,"file":"session-commands.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/interactive-commands/session/session-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,sBAAsB,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,iBAqB3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,iBAc3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,iBAa3B,CAAC"}
@@ -9,14 +9,13 @@
9
9
  * - search: Opens interactive search overlay
10
10
  * - rename: Rename the current session
11
11
  *
12
- * Note: For headless CLI session management (list, history, delete),
12
+ * Note: For non-interactive session subcommands (list, history, delete),
13
13
  * see src/cli/commands/session-commands.ts
14
14
  */
15
- import chalk from 'chalk';
16
15
  /**
17
16
  * Resume command - shows interactive session selector
18
17
  * Note: In interactive CLI, this always shows the selector (args ignored)
19
- * For headless CLI, use `dexto -r <sessionId>` instead
18
+ * Tip: To start the interactive CLI directly in a session, use `dexto --resume <sessionId>`.
20
19
  */
21
20
  export const resumeCommand = {
22
21
  name: 'resume',
@@ -32,7 +31,6 @@ export const resumeCommand = {
32
31
  '📋 Resume Session',
33
32
  '\nType /resume to show the session selector\n',
34
33
  ].join('\n');
35
- console.log(chalk.blue(helpText));
36
34
  return helpText;
37
35
  },
38
36
  };
@@ -1,16 +1,4 @@
1
- /**
2
- * System Commands Module
3
- *
4
- * This module defines system-level slash commands for the Dexto CLI interface.
5
- * These commands provide system configuration, logging, and statistics functionality.
6
- *
7
- * Available System Commands:
8
- * - /log [level] - Set or view log level
9
- * - /config - Show current configuration
10
- * - /stats - Show system statistics
11
- * - /stream - Toggle streaming mode for LLM responses
12
- */
13
- import type { CommandDefinition } from '../command-parser.js';
1
+ import { type CommandDefinition } from '../command-parser.js';
14
2
  /**
15
3
  * System commands for configuration and monitoring
16
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"system-commands.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/interactive-commands/system/system-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAwC,MAAM,sBAAsB,CAAC;AAKpG;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,iBAAiB,EAwO7C,CAAC"}
1
+ {"version":3,"file":"system-commands.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/interactive-commands/system/system-commands.ts"],"names":[],"mappings":"AAaA,OAAO,EAEH,KAAK,iBAAiB,EAGzB,MAAM,sBAAsB,CAAC;AAmB9B;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,iBAAiB,EAuN7C,CAAC"}
@@ -1,19 +1,15 @@
1
- /**
2
- * System Commands Module
3
- *
4
- * This module defines system-level slash commands for the Dexto CLI interface.
5
- * These commands provide system configuration, logging, and statistics functionality.
6
- *
7
- * Available System Commands:
8
- * - /log [level] - Set or view log level
9
- * - /config - Show current configuration
10
- * - /stats - Show system statistics
11
- * - /stream - Toggle streaming mode for LLM responses
12
- */
13
- import chalk from 'chalk';
14
- import { logger } from '@dexto/core';
1
+ import { overlayOnlyHandler, } from '../command-parser.js';
15
2
  import { formatForInkCli } from '../utils/format-output.js';
16
3
  import { CommandOutputHelper } from '../utils/command-output.js';
4
+ const validLevels = [
5
+ 'error',
6
+ 'warn',
7
+ 'info',
8
+ 'debug',
9
+ 'silly',
10
+ ];
11
+ const validLevelSet = new Set(validLevels);
12
+ const isLogLevel = (value) => validLevelSet.has(value);
17
13
  /**
18
14
  * System commands for configuration and monitoring
19
15
  */
@@ -24,50 +20,38 @@ export const systemCommands = [
24
20
  usage: '/log [level]',
25
21
  category: 'System',
26
22
  aliases: [],
27
- handler: async (args, _agent, _ctx) => {
28
- const validLevels = ['error', 'warn', 'info', 'http', 'verbose', 'debug', 'silly'];
29
- const level = args[0];
30
- if (!level) {
31
- // Interactive view: show current level and options
32
- const currentLevel = logger.getLevel();
33
- const logFilePath = logger.getLogFilePath();
34
- console.log(chalk.bold.blue('\n📊 Logging Configuration:\n'));
35
- console.log(` Current level: ${chalk.green.bold(currentLevel)}`);
36
- if (logFilePath) {
37
- console.log(` Log file: ${chalk.cyan(logFilePath)}`);
23
+ handler: async (args, agent, ctx) => {
24
+ try {
25
+ const level = args[0];
26
+ if (!level) {
27
+ const currentLevel = agent.logger.getLevel();
28
+ const logFile = agent.logger.getLogFilePath();
29
+ const styledData = {
30
+ currentLevel,
31
+ logFile,
32
+ availableLevels: [...validLevels],
33
+ };
34
+ const fallbackLines = [
35
+ 'Logging Configuration:',
36
+ ` Current level: ${currentLevel}`,
37
+ logFile ? ` Log file: ${logFile}` : '',
38
+ ` Available levels: ${validLevels.join(', ')}`,
39
+ ' Use /log <level> to change level',
40
+ ].filter(Boolean);
41
+ return CommandOutputHelper.styled('log-config', styledData, fallbackLines.join('\n'));
42
+ }
43
+ if (isLogLevel(level)) {
44
+ await agent.setLogLevel(level, ctx.sessionId ? { sessionId: ctx.sessionId } : undefined);
45
+ return formatForInkCli(`✅ Log level set to ${level}`);
38
46
  }
39
- console.log(chalk.gray('\n Available levels (from least to most verbose):'));
40
- validLevels.forEach((lvl) => {
41
- const isCurrent = lvl === currentLevel;
42
- const marker = isCurrent ? chalk.green('▶') : ' ';
43
- const levelText = isCurrent ? chalk.green.bold(lvl) : chalk.gray(lvl);
44
- console.log(` ${marker} ${levelText}`);
45
- });
46
- console.log(chalk.gray('\n 💡 Use /log <level> to change level (e.g., /log debug)\n'));
47
- const output = [
48
- '\n📊 Logging Configuration:',
49
- `Current level: ${currentLevel}`,
50
- logFilePath ? `Log file: ${logFilePath}` : '',
51
- '\nAvailable levels: error, warn, info, http, verbose, debug, silly',
52
- '💡 Use /log <level> to change level',
53
- ]
54
- .filter(Boolean)
55
- .join('\n');
56
- return formatForInkCli(output);
57
- }
58
- if (validLevels.includes(level)) {
59
- logger.setLevel(level);
60
- logger.info(`Log level set to ${level}`, null, 'green');
61
- console.log(chalk.green(`✅ Log level changed to: ${chalk.bold(level)}`));
62
- const output = `✅ Log level set to ${level}`;
63
- return formatForInkCli(output);
64
- }
65
- else {
66
47
  const errorMsg = `❌ Invalid log level: ${level}\nValid levels: ${validLevels.join(', ')}`;
67
- console.log(chalk.red(`❌ Invalid log level: ${chalk.bold(level)}`));
68
- console.log(chalk.gray(`Valid levels: ${validLevels.join(', ')}`));
69
48
  return formatForInkCli(errorMsg);
70
49
  }
50
+ catch (error) {
51
+ const errorMsg = `Failed to update log level: ${error instanceof Error ? error.message : String(error)}`;
52
+ agent.logger.error(errorMsg);
53
+ return formatForInkCli(`❌ ${errorMsg}`);
54
+ }
71
55
  },
72
56
  },
73
57
  {
@@ -75,35 +59,12 @@ export const systemCommands = [
75
59
  description: 'Show current configuration',
76
60
  usage: '/config',
77
61
  category: 'System',
78
- handler: async (_args, agent, _ctx) => {
62
+ handler: async (_args, agent, ctx) => {
79
63
  try {
80
64
  const config = agent.getEffectiveConfig();
81
65
  const servers = Object.keys(config.mcpServers || {});
82
- // Get config file path (may not exist for programmatic agents)
83
- let configFilePath = null;
84
- try {
85
- configFilePath = agent.getAgentFilePath();
86
- }
87
- catch {
88
- // No config file path available
89
- }
90
- // Get enabled plugins
91
- const pluginsEnabled = [];
92
- if (config.plugins) {
93
- // Check built-in plugins
94
- if (config.plugins.contentPolicy?.enabled) {
95
- pluginsEnabled.push('contentPolicy');
96
- }
97
- if (config.plugins.responseSanitizer?.enabled) {
98
- pluginsEnabled.push('responseSanitizer');
99
- }
100
- // Check custom plugins
101
- for (const plugin of config.plugins.custom || []) {
102
- if (plugin.enabled) {
103
- pluginsEnabled.push(plugin.name);
104
- }
105
- }
106
- }
66
+ const hooksEnabled = agent.services.hookManager.getHookNames();
67
+ const configFilePath = ctx.configFilePath ?? null;
107
68
  // Build styled data
108
69
  const styledData = {
109
70
  configFilePath,
@@ -111,24 +72,25 @@ export const systemCommands = [
111
72
  model: config.llm.model,
112
73
  maxTokens: config.llm.maxOutputTokens ?? null,
113
74
  temperature: config.llm.temperature ?? null,
114
- toolConfirmationMode: config.toolConfirmation?.mode || 'auto',
75
+ permissionsMode: config.permissions.mode,
115
76
  maxSessions: config.sessions?.maxSessions?.toString() || 'Default',
116
77
  sessionTTL: config.sessions?.sessionTTL
117
78
  ? `${config.sessions.sessionTTL / 1000}s`
118
79
  : 'Default',
119
80
  mcpServers: servers,
120
81
  promptsCount: config.prompts?.length || 0,
121
- pluginsEnabled,
82
+ hooksEnabled,
122
83
  };
123
84
  // Build fallback text (no console.log - interferes with Ink rendering)
124
85
  const fallbackLines = [
125
86
  'Configuration:',
126
87
  configFilePath ? ` Config: ${configFilePath}` : '',
127
88
  ` LLM: ${config.llm.provider} / ${config.llm.model}`,
128
- ` Tool Confirmation: ${styledData.toolConfirmationMode}`,
89
+ ` Permissions: ${styledData.permissionsMode}`,
129
90
  ` Sessions: max=${styledData.maxSessions}, ttl=${styledData.sessionTTL}`,
130
91
  ` MCP Servers: ${servers.length > 0 ? servers.join(', ') : 'none'}`,
131
92
  ` Prompts: ${styledData.promptsCount}`,
93
+ ` Hooks: ${hooksEnabled.length > 0 ? hooksEnabled.join(', ') : 'none'}`,
132
94
  ].filter(Boolean);
133
95
  return CommandOutputHelper.styled('config', styledData, fallbackLines.join('\n'));
134
96
  }
@@ -216,4 +178,11 @@ export const systemCommands = [
216
178
  return true;
217
179
  },
218
180
  },
181
+ {
182
+ name: 'sounds',
183
+ description: 'Configure sound notifications',
184
+ usage: '/sounds',
185
+ category: 'System',
186
+ handler: overlayOnlyHandler,
187
+ },
219
188
  ];
@@ -22,11 +22,11 @@ declare const PluginInstallCommandSchema: z.ZodObject<{
22
22
  }, "strict", z.ZodTypeAny, {
23
23
  path: string;
24
24
  force: boolean;
25
- scope: "local" | "user" | "project";
25
+ scope: "local" | "project" | "user";
26
26
  }, {
27
27
  path: string;
28
28
  force?: boolean | undefined;
29
- scope?: "local" | "user" | "project" | undefined;
29
+ scope?: "local" | "project" | "user" | undefined;
30
30
  }>;
31
31
  declare const PluginUninstallCommandSchema: z.ZodObject<{
32
32
  name: z.ZodString;
@@ -79,12 +79,12 @@ declare const MarketplaceInstallCommandSchema: z.ZodObject<{
79
79
  force: z.ZodDefault<z.ZodBoolean>;
80
80
  }, "strict", z.ZodTypeAny, {
81
81
  force: boolean;
82
- scope: "local" | "user" | "project";
82
+ scope: "local" | "project" | "user";
83
83
  plugin: string;
84
84
  }, {
85
85
  plugin: string;
86
86
  force?: boolean | undefined;
87
- scope?: "local" | "user" | "project" | undefined;
87
+ scope?: "local" | "project" | "user" | undefined;
88
88
  }>;
89
89
  export type PluginListCommandOptions = z.output<typeof PluginListCommandSchema>;
90
90
  export type PluginListCommandOptionsInput = z.input<typeof PluginListCommandSchema>;
@@ -9,25 +9,15 @@ export interface SyncAgentsCommandOptions {
9
9
  /** Minimal output - used when called from startup prompt */
10
10
  quiet?: boolean;
11
11
  }
12
- /**
13
- * Mark sync as dismissed for current version
14
- */
15
- export declare function markSyncDismissed(currentVersion: string): Promise<void>;
16
- /**
17
- * Clear sync dismissed state (called after successful sync)
18
- */
19
- export declare function clearSyncDismissed(): Promise<void>;
20
12
  /**
21
13
  * Quick check if any installed agents have updates available
22
14
  *
23
15
  * Used at CLI startup to prompt for sync without full command output.
24
- * Returns true if at least one installed agent differs from bundled
25
- * AND the user hasn't dismissed the prompt for this version.
16
+ * Returns true if at least one installed agent differs from bundled.
26
17
  *
27
- * @param currentVersion Current CLI version to check dismissal state
28
18
  * @returns true if should prompt for sync
29
19
  */
30
- export declare function shouldPromptForSync(currentVersion: string): Promise<boolean>;
20
+ export declare function shouldPromptForSync(): Promise<boolean>;
31
21
  /**
32
22
  * Main handler for the sync-agents command
33
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sync-agents.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sync-agents.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,wCAAwC;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mCAAmC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAgND;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS7E;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAWxD;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA8BlF;AAoDD;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiO9F"}
1
+ {"version":3,"file":"sync-agents.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sync-agents.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,wCAAwC;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mCAAmC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AA6LD;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAyB5D;AAoDD;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiO9F"}
@@ -160,64 +160,16 @@ async function getAgentStatus(agentId, agentEntry) {
160
160
  };
161
161
  }
162
162
  }
163
- // Store sync dismissed state in cache directory
164
- const SYNC_DISMISSED_PATH = getDextoGlobalPath('cache', 'sync-dismissed.json');
165
- /**
166
- * Check if sync was dismissed for current version
167
- */
168
- async function wasSyncDismissed(currentVersion) {
169
- try {
170
- const content = await fs.readFile(SYNC_DISMISSED_PATH, 'utf-8');
171
- const data = JSON.parse(content);
172
- return data.version === currentVersion;
173
- }
174
- catch (error) {
175
- logger.debug(`Could not read sync dismissed state: ${error instanceof Error ? error.message : String(error)}`);
176
- return false;
177
- }
178
- }
179
- /**
180
- * Mark sync as dismissed for current version
181
- */
182
- export async function markSyncDismissed(currentVersion) {
183
- try {
184
- await fs.mkdir(path.dirname(SYNC_DISMISSED_PATH), { recursive: true });
185
- await fs.writeFile(SYNC_DISMISSED_PATH, JSON.stringify({ version: currentVersion }));
186
- }
187
- catch (error) {
188
- logger.debug(`Could not save sync dismissed state: ${error instanceof Error ? error.message : String(error)}`);
189
- }
190
- }
191
- /**
192
- * Clear sync dismissed state (called after successful sync)
193
- */
194
- export async function clearSyncDismissed() {
195
- try {
196
- await fs.unlink(SYNC_DISMISSED_PATH);
197
- }
198
- catch (error) {
199
- // File might not exist - only log if it's a different error
200
- if (error.code !== 'ENOENT') {
201
- logger.debug(`Could not clear sync dismissed state: ${error instanceof Error ? error.message : String(error)}`);
202
- }
203
- }
204
- }
205
163
  /**
206
164
  * Quick check if any installed agents have updates available
207
165
  *
208
166
  * Used at CLI startup to prompt for sync without full command output.
209
- * Returns true if at least one installed agent differs from bundled
210
- * AND the user hasn't dismissed the prompt for this version.
167
+ * Returns true if at least one installed agent differs from bundled.
211
168
  *
212
- * @param currentVersion Current CLI version to check dismissal state
213
169
  * @returns true if should prompt for sync
214
170
  */
215
- export async function shouldPromptForSync(currentVersion) {
171
+ export async function shouldPromptForSync() {
216
172
  try {
217
- // Check if user already dismissed for this version
218
- if (await wasSyncDismissed(currentVersion)) {
219
- return false;
220
- }
221
173
  const bundledAgents = loadBundledRegistryAgents();
222
174
  const installedAgentIds = await getInstalledAgentIds();
223
175
  for (const agentId of installedAgentIds) {
@@ -13,8 +13,10 @@ import type { SoundNotificationService } from './utils/soundNotification.js';
13
13
  interface InkCLIProps {
14
14
  agent: DextoAgent;
15
15
  initialSessionId: string | null;
16
+ initialPrompt?: string | undefined;
16
17
  startupInfo: StartupInfo;
17
18
  soundService: SoundNotificationService | null;
19
+ configFilePath: string | null;
18
20
  }
19
21
  /**
20
22
  * Modern CLI interface using React Ink
@@ -24,7 +26,7 @@ interface InkCLIProps {
24
26
  * - KeypressProvider for unified keyboard input
25
27
  * - MouseProvider (only in alternate buffer mode)
26
28
  */
27
- export declare function InkCLIRefactored({ agent, initialSessionId, startupInfo, soundService, }: InkCLIProps): import("react/jsx-runtime").JSX.Element;
29
+ export declare function InkCLIRefactored({ agent, initialSessionId, initialPrompt, startupInfo, soundService, configFilePath, }: InkCLIProps): import("react/jsx-runtime").JSX.Element;
28
30
  /**
29
31
  * Options for starting the Ink CLI
30
32
  */
@@ -37,6 +39,10 @@ export interface InkCLIOptions {
37
39
  } | undefined;
38
40
  /** True if installed agents differ from bundled and user should sync */
39
41
  needsAgentSync?: boolean | undefined;
42
+ /** Source agent config file path (if available) */
43
+ configFilePath?: string | null | undefined;
44
+ /** If provided, auto-submits this prompt once the UI is ready */
45
+ initialPrompt?: string | undefined;
40
46
  }
41
47
  /**
42
48
  * Start the modern Ink-based CLI
@@ -1 +1 @@
1
- {"version":3,"file":"InkCLIRefactored.d.ts","sourceRoot":"","sources":["../../../src/cli/ink-cli/InkCLIRefactored.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAWpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAiB7E,UAAU,WAAW;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,wBAAwB,GAAG,IAAI,CAAC;CACjD;AA6CD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,EAC7B,KAAK,EACL,gBAAgB,EAChB,WAAW,EACX,YAAY,GACf,EAAE,WAAW,2CAgBb;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,kDAAkD;IAClD,UAAU,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACpF,wEAAwE;IACxE,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACvC,KAAK,EAAE,UAAU,EACjB,gBAAgB,EAAE,MAAM,GAAG,IAAI,EAC/B,OAAO,GAAE,aAAkB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAsFf"}
1
+ {"version":3,"file":"InkCLIRefactored.d.ts","sourceRoot":"","sources":["../../../src/cli/ink-cli/InkCLIRefactored.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAWpD,OAAO,KAAK,EAAe,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAuB1F,UAAU,WAAW;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC9C,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAwDD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,EAC7B,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,cAAc,GACjB,EAAE,WAAW,2CAkBb;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,kDAAkD;IAClD,UAAU,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACpF,wEAAwE;IACxE,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACvC,KAAK,EAAE,UAAU,EACjB,gBAAgB,EAAE,MAAM,GAAG,IAAI,EAC/B,OAAO,GAAE,aAAkB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA+Qf"}