@intrect/openswarm 0.4.4 → 0.8.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 (259) hide show
  1. package/README.md +46 -26
  2. package/config.example.yaml +22 -10
  3. package/dist/adapters/agenticLoop.d.ts +45 -2
  4. package/dist/adapters/agenticLoop.d.ts.map +1 -1
  5. package/dist/adapters/agenticLoop.js +209 -61
  6. package/dist/adapters/agenticLoop.js.map +1 -1
  7. package/dist/adapters/chatStream.d.ts +55 -0
  8. package/dist/adapters/chatStream.d.ts.map +1 -0
  9. package/dist/adapters/chatStream.js +116 -0
  10. package/dist/adapters/chatStream.js.map +1 -0
  11. package/dist/adapters/codex.d.ts +7 -0
  12. package/dist/adapters/codex.d.ts.map +1 -1
  13. package/dist/adapters/codex.js +67 -6
  14. package/dist/adapters/codex.js.map +1 -1
  15. package/dist/adapters/codexModels.d.ts +20 -0
  16. package/dist/adapters/codexModels.d.ts.map +1 -0
  17. package/dist/adapters/codexModels.js +195 -0
  18. package/dist/adapters/codexModels.js.map +1 -0
  19. package/dist/adapters/codexResponses.d.ts +97 -0
  20. package/dist/adapters/codexResponses.d.ts.map +1 -0
  21. package/dist/adapters/codexResponses.js +302 -0
  22. package/dist/adapters/codexResponses.js.map +1 -0
  23. package/dist/adapters/gpt.d.ts.map +1 -1
  24. package/dist/adapters/gpt.js +20 -120
  25. package/dist/adapters/gpt.js.map +1 -1
  26. package/dist/adapters/index.d.ts +10 -2
  27. package/dist/adapters/index.d.ts.map +1 -1
  28. package/dist/adapters/index.js +19 -5
  29. package/dist/adapters/index.js.map +1 -1
  30. package/dist/adapters/lmstudio.d.ts +8 -0
  31. package/dist/adapters/lmstudio.d.ts.map +1 -0
  32. package/dist/adapters/lmstudio.js +41 -0
  33. package/dist/adapters/lmstudio.js.map +1 -0
  34. package/dist/adapters/local.d.ts +16 -1
  35. package/dist/adapters/local.d.ts.map +1 -1
  36. package/dist/adapters/local.js +51 -127
  37. package/dist/adapters/local.js.map +1 -1
  38. package/dist/adapters/openrouter.d.ts +37 -0
  39. package/dist/adapters/openrouter.d.ts.map +1 -0
  40. package/dist/adapters/openrouter.js +193 -0
  41. package/dist/adapters/openrouter.js.map +1 -0
  42. package/dist/adapters/resultParsing.d.ts +6 -0
  43. package/dist/adapters/resultParsing.d.ts.map +1 -0
  44. package/dist/adapters/resultParsing.js +139 -0
  45. package/dist/adapters/resultParsing.js.map +1 -0
  46. package/dist/adapters/tools.d.ts +21 -2
  47. package/dist/adapters/tools.d.ts.map +1 -1
  48. package/dist/adapters/tools.js +153 -12
  49. package/dist/adapters/tools.js.map +1 -1
  50. package/dist/adapters/types.d.ts +40 -1
  51. package/dist/adapters/types.d.ts.map +1 -1
  52. package/dist/adapters/webTools.d.ts +9 -0
  53. package/dist/adapters/webTools.d.ts.map +1 -0
  54. package/dist/adapters/webTools.js +195 -0
  55. package/dist/adapters/webTools.js.map +1 -0
  56. package/dist/agents/draftAnalyzer.d.ts +1 -1
  57. package/dist/agents/draftAnalyzer.d.ts.map +1 -1
  58. package/dist/agents/draftAnalyzer.js +3 -3
  59. package/dist/agents/draftAnalyzer.js.map +1 -1
  60. package/dist/agents/pairPipeline.d.ts +26 -1
  61. package/dist/agents/pairPipeline.d.ts.map +1 -1
  62. package/dist/agents/pairPipeline.js +184 -17
  63. package/dist/agents/pairPipeline.js.map +1 -1
  64. package/dist/agents/reflection.d.ts +56 -0
  65. package/dist/agents/reflection.d.ts.map +1 -0
  66. package/dist/agents/reflection.js +120 -0
  67. package/dist/agents/reflection.js.map +1 -0
  68. package/dist/agents/worker.d.ts +8 -0
  69. package/dist/agents/worker.d.ts.map +1 -1
  70. package/dist/agents/worker.js +23 -2
  71. package/dist/agents/worker.js.map +1 -1
  72. package/dist/auth/index.d.ts +3 -1
  73. package/dist/auth/index.d.ts.map +1 -1
  74. package/dist/auth/index.js +3 -1
  75. package/dist/auth/index.js.map +1 -1
  76. package/dist/auth/linearPkce.d.ts +22 -0
  77. package/dist/auth/linearPkce.d.ts.map +1 -0
  78. package/dist/auth/linearPkce.js +208 -0
  79. package/dist/auth/linearPkce.js.map +1 -0
  80. package/dist/auth/oauthPkce.d.ts +4 -3
  81. package/dist/auth/oauthPkce.d.ts.map +1 -1
  82. package/dist/auth/oauthPkce.js +39 -12
  83. package/dist/auth/oauthPkce.js.map +1 -1
  84. package/dist/auth/oauthStore.d.ts +11 -1
  85. package/dist/auth/oauthStore.d.ts.map +1 -1
  86. package/dist/auth/oauthStore.js +14 -2
  87. package/dist/auth/oauthStore.js.map +1 -1
  88. package/dist/auth/openrouterPkce.d.ts +29 -0
  89. package/dist/auth/openrouterPkce.d.ts.map +1 -0
  90. package/dist/auth/openrouterPkce.js +222 -0
  91. package/dist/auth/openrouterPkce.js.map +1 -0
  92. package/dist/automation/autonomousRunner.d.ts +17 -7
  93. package/dist/automation/autonomousRunner.d.ts.map +1 -1
  94. package/dist/automation/autonomousRunner.js +69 -70
  95. package/dist/automation/autonomousRunner.js.map +1 -1
  96. package/dist/automation/backlogGrooming.d.ts +21 -0
  97. package/dist/automation/backlogGrooming.d.ts.map +1 -0
  98. package/dist/automation/backlogGrooming.js +80 -0
  99. package/dist/automation/backlogGrooming.js.map +1 -0
  100. package/dist/automation/localCI.d.ts +24 -0
  101. package/dist/automation/localCI.d.ts.map +1 -0
  102. package/dist/automation/localCI.js +84 -0
  103. package/dist/automation/localCI.js.map +1 -0
  104. package/dist/automation/runnerExecution.d.ts +33 -7
  105. package/dist/automation/runnerExecution.d.ts.map +1 -1
  106. package/dist/automation/runnerExecution.js +202 -154
  107. package/dist/automation/runnerExecution.js.map +1 -1
  108. package/dist/automation/runnerTypes.d.ts +5 -1
  109. package/dist/automation/runnerTypes.d.ts.map +1 -1
  110. package/dist/automation/taskSource.d.ts +101 -0
  111. package/dist/automation/taskSource.d.ts.map +1 -0
  112. package/dist/automation/taskSource.js +136 -0
  113. package/dist/automation/taskSource.js.map +1 -0
  114. package/dist/automation/workerAuditLog.d.ts +29 -0
  115. package/dist/automation/workerAuditLog.d.ts.map +1 -0
  116. package/dist/automation/workerAuditLog.js +82 -0
  117. package/dist/automation/workerAuditLog.js.map +1 -0
  118. package/dist/cli/authHandler.d.ts +14 -5
  119. package/dist/cli/authHandler.d.ts.map +1 -1
  120. package/dist/cli/authHandler.js +131 -36
  121. package/dist/cli/authHandler.js.map +1 -1
  122. package/dist/cli/daemon.d.ts +5 -0
  123. package/dist/cli/daemon.d.ts.map +1 -1
  124. package/dist/cli/daemon.js +13 -0
  125. package/dist/cli/daemon.js.map +1 -1
  126. package/dist/cli/doctorHandler.d.ts +2 -0
  127. package/dist/cli/doctorHandler.d.ts.map +1 -0
  128. package/dist/cli/doctorHandler.js +114 -0
  129. package/dist/cli/doctorHandler.js.map +1 -0
  130. package/dist/cli/initWizard.d.ts +13 -0
  131. package/dist/cli/initWizard.d.ts.map +1 -0
  132. package/dist/cli/initWizard.js +314 -0
  133. package/dist/cli/initWizard.js.map +1 -0
  134. package/dist/cli.js +112 -38
  135. package/dist/cli.js.map +1 -1
  136. package/dist/core/config.d.ts +89 -15
  137. package/dist/core/config.d.ts.map +1 -1
  138. package/dist/core/config.js +100 -23
  139. package/dist/core/config.js.map +1 -1
  140. package/dist/core/envFile.d.ts +6 -0
  141. package/dist/core/envFile.d.ts.map +1 -1
  142. package/dist/core/envFile.js +39 -1
  143. package/dist/core/envFile.js.map +1 -1
  144. package/dist/core/eventHub.d.ts +22 -0
  145. package/dist/core/eventHub.d.ts.map +1 -1
  146. package/dist/core/eventHub.js.map +1 -1
  147. package/dist/core/providerOverride.d.ts +6 -0
  148. package/dist/core/providerOverride.d.ts.map +1 -0
  149. package/dist/core/providerOverride.js +37 -0
  150. package/dist/core/providerOverride.js.map +1 -0
  151. package/dist/core/service.d.ts.map +1 -1
  152. package/dist/core/service.js +43 -20
  153. package/dist/core/service.js.map +1 -1
  154. package/dist/core/types.d.ts +16 -2
  155. package/dist/core/types.d.ts.map +1 -1
  156. package/dist/discord/discordCore.d.ts.map +1 -1
  157. package/dist/discord/discordCore.js +16 -103
  158. package/dist/discord/discordCore.js.map +1 -1
  159. package/dist/discord/discordHandlers.d.ts.map +1 -1
  160. package/dist/discord/discordHandlers.js +15 -12
  161. package/dist/discord/discordHandlers.js.map +1 -1
  162. package/dist/index.js +12 -1
  163. package/dist/index.js.map +1 -1
  164. package/dist/issues/sqliteStore.d.ts.map +1 -1
  165. package/dist/issues/sqliteStore.js +7 -2
  166. package/dist/issues/sqliteStore.js.map +1 -1
  167. package/dist/knowledge/scanner.d.ts.map +1 -1
  168. package/dist/knowledge/scanner.js +5 -0
  169. package/dist/knowledge/scanner.js.map +1 -1
  170. package/dist/linear/linear.d.ts +45 -2
  171. package/dist/linear/linear.d.ts.map +1 -1
  172. package/dist/linear/linear.js +154 -3
  173. package/dist/linear/linear.js.map +1 -1
  174. package/dist/locale/prompts/en.d.ts.map +1 -1
  175. package/dist/locale/prompts/en.js +40 -20
  176. package/dist/locale/prompts/en.js.map +1 -1
  177. package/dist/locale/prompts/ko.d.ts.map +1 -1
  178. package/dist/locale/prompts/ko.js +39 -20
  179. package/dist/locale/prompts/ko.js.map +1 -1
  180. package/dist/locale/types.d.ts +6 -0
  181. package/dist/locale/types.d.ts.map +1 -1
  182. package/dist/mcp/mcpClient.d.ts +27 -0
  183. package/dist/mcp/mcpClient.d.ts.map +1 -0
  184. package/dist/mcp/mcpClient.js +145 -0
  185. package/dist/mcp/mcpClient.js.map +1 -0
  186. package/dist/memory/memoryCore.d.ts.map +1 -1
  187. package/dist/memory/memoryCore.js +8 -2
  188. package/dist/memory/memoryCore.js.map +1 -1
  189. package/dist/memory/repoKnowledge.d.ts +33 -0
  190. package/dist/memory/repoKnowledge.d.ts.map +1 -0
  191. package/dist/memory/repoKnowledge.js +97 -0
  192. package/dist/memory/repoKnowledge.js.map +1 -0
  193. package/dist/notify/notifier.d.ts +26 -0
  194. package/dist/notify/notifier.d.ts.map +1 -0
  195. package/dist/notify/notifier.js +131 -0
  196. package/dist/notify/notifier.js.map +1 -0
  197. package/dist/orchestration/conflictDetector.d.ts +5 -2
  198. package/dist/orchestration/conflictDetector.d.ts.map +1 -1
  199. package/dist/orchestration/conflictDetector.js +35 -6
  200. package/dist/orchestration/conflictDetector.js.map +1 -1
  201. package/dist/orchestration/decisionEngine.d.ts +20 -0
  202. package/dist/orchestration/decisionEngine.d.ts.map +1 -1
  203. package/dist/orchestration/decisionEngine.js +45 -0
  204. package/dist/orchestration/decisionEngine.js.map +1 -1
  205. package/dist/support/banner.d.ts +7 -0
  206. package/dist/support/banner.d.ts.map +1 -0
  207. package/dist/support/banner.js +32 -0
  208. package/dist/support/banner.js.map +1 -0
  209. package/dist/support/chat.js +36 -27
  210. package/dist/support/chat.js.map +1 -1
  211. package/dist/support/chatBackend.d.ts +6 -0
  212. package/dist/support/chatBackend.d.ts.map +1 -1
  213. package/dist/support/chatBackend.js +105 -83
  214. package/dist/support/chatBackend.js.map +1 -1
  215. package/dist/support/chatTui.d.ts.map +1 -1
  216. package/dist/support/chatTui.js +217 -27
  217. package/dist/support/chatTui.js.map +1 -1
  218. package/dist/support/colors.d.ts +15 -0
  219. package/dist/support/colors.d.ts.map +1 -0
  220. package/dist/support/colors.js +23 -0
  221. package/dist/support/colors.js.map +1 -0
  222. package/dist/support/dashboardHtml.d.ts +1 -1
  223. package/dist/support/dashboardHtml.d.ts.map +1 -1
  224. package/dist/support/dashboardHtml.js +318 -65
  225. package/dist/support/dashboardHtml.js.map +1 -1
  226. package/dist/support/planCommand.d.ts +17 -0
  227. package/dist/support/planCommand.d.ts.map +1 -0
  228. package/dist/support/planCommand.js +114 -0
  229. package/dist/support/planCommand.js.map +1 -0
  230. package/dist/support/planner.d.ts +9 -2
  231. package/dist/support/planner.d.ts.map +1 -1
  232. package/dist/support/planner.js +43 -111
  233. package/dist/support/planner.js.map +1 -1
  234. package/dist/support/projectMapper.d.ts.map +1 -1
  235. package/dist/support/projectMapper.js +29 -1
  236. package/dist/support/projectMapper.js.map +1 -1
  237. package/dist/support/promptHelper.d.ts +24 -0
  238. package/dist/support/promptHelper.d.ts.map +1 -0
  239. package/dist/support/promptHelper.js +94 -0
  240. package/dist/support/promptHelper.js.map +1 -0
  241. package/dist/support/rateLimiter.d.ts.map +1 -1
  242. package/dist/support/rateLimiter.js +6 -0
  243. package/dist/support/rateLimiter.js.map +1 -1
  244. package/dist/support/repoMetadata.d.ts +51 -0
  245. package/dist/support/repoMetadata.d.ts.map +1 -0
  246. package/dist/support/repoMetadata.js +91 -0
  247. package/dist/support/repoMetadata.js.map +1 -0
  248. package/dist/support/web.d.ts.map +1 -1
  249. package/dist/support/web.js +196 -71
  250. package/dist/support/web.js.map +1 -1
  251. package/dist/support/worktreeManager.d.ts +6 -1
  252. package/dist/support/worktreeManager.d.ts.map +1 -1
  253. package/dist/support/worktreeManager.js +23 -1
  254. package/dist/support/worktreeManager.js.map +1 -1
  255. package/dist/taskState/store.d.ts +1 -0
  256. package/dist/taskState/store.d.ts.map +1 -1
  257. package/dist/taskState/store.js +22 -1
  258. package/dist/taskState/store.js.map +1 -1
  259. package/package.json +3 -1
@@ -6,9 +6,10 @@ import { homedir } from 'node:os';
6
6
  import { resolve } from 'node:path';
7
7
  import { readFile, writeFile, mkdir } from 'node:fs/promises';
8
8
  import { existsSync } from 'node:fs';
9
- import { loadConfig } from '../core/config.js';
10
- import { getDefaultAdapterName } from '../adapters/index.js';
9
+ import { loadConfig, expandPath } from '../core/config.js';
10
+ import { getDefaultAdapterName, isKnownAdapter } from '../adapters/index.js';
11
11
  import { getDefaultChatModel, resolveChatModel, runChatCompletion, shortenChatModel } from './chatBackend.js';
12
+ import { runPlanCommand } from './planCommand.js';
12
13
  // Constants
13
14
  const CHAT_DIR = resolve(homedir(), '.openswarm', 'chat');
14
15
  // Render guard: blessed는 동시 render() 호출 시 화면이 검은색으로 깨질 수 있음
@@ -50,11 +51,15 @@ async function loadSession(id) {
50
51
  if (!existsSync(path))
51
52
  return null;
52
53
  const data = JSON.parse(await readFile(path, 'utf-8'));
53
- const provider = data.provider ?? inferProvider(undefined, data.model);
54
+ // Validate the persisted provider a stale/removed adapter (e.g. `claude`)
55
+ // must not pass through, or downstream model lookups crash. If it's replaced,
56
+ // its model no longer applies → use the provider's default.
57
+ const provider = inferProvider(data.provider, data.model);
58
+ const model = data.provider === provider && data.model ? data.model : getDefaultChatModel(provider);
54
59
  return {
55
60
  ...data,
56
61
  provider,
57
- model: data.model ?? getDefaultChatModel(provider),
62
+ model,
58
63
  totalCost: data.totalCost ?? 0,
59
64
  totalTokens: data.totalTokens ?? 0,
60
65
  };
@@ -65,7 +70,7 @@ function generateSessionId() {
65
70
  return `${now.getFullYear()}${pad(now.getMonth() + 1)}${pad(now.getDate())}-${pad(now.getHours())}${pad(now.getMinutes())}`;
66
71
  }
67
72
  function inferProvider(provider, model) {
68
- if (provider)
73
+ if (provider && isKnownAdapter(provider))
69
74
  return provider;
70
75
  if (model?.startsWith('gpt-') || model?.includes('codex'))
71
76
  return 'codex';
@@ -80,14 +85,16 @@ function loadDefaultProvider() {
80
85
  }
81
86
  }
82
87
  // Shared chat backend
83
- async function callChatModel(prompt, provider, model, sessionId, onStream) {
88
+ async function callChatModel(prompt, provider, model, onStream, onToolLog, maxTurns, signal) {
84
89
  const result = await runChatCompletion({
85
90
  prompt,
86
91
  provider,
87
92
  model,
88
- sessionId: provider === 'claude' ? sessionId : undefined,
89
- timeoutMs: 180000,
93
+ timeoutMs: 300000,
90
94
  onText: onStream,
95
+ onLog: onToolLog,
96
+ maxTurns,
97
+ signal,
91
98
  });
92
99
  return {
93
100
  response: result.response,
@@ -116,6 +123,40 @@ const LOADING_MESSAGES = [
116
123
  ];
117
124
  const SPINNER_FRAMES = ['⣾', '⣽', '⣻', '⢿', '⡿', '⣟', '⣯', '⣷'];
118
125
  // UI Components - Claude Code Style
126
+ // Slash commands shown in the typing palette (mirrors handleCommand cases).
127
+ const SLASH_COMMANDS = [
128
+ { name: '/goal', args: '<goal>', desc: 'Set a goal & pursue it autonomously' },
129
+ { name: '/plan', args: '<goal>', desc: 'Decompose a goal & dispatch to the loop' },
130
+ { name: '/model', args: '[name]', desc: 'Switch model' },
131
+ { name: '/provider', args: '[name]', desc: 'Switch provider' },
132
+ { name: '/clear', args: '', desc: 'Clear the conversation' },
133
+ { name: '/save', args: '', desc: 'Save the session' },
134
+ { name: '/export', args: '[path]', desc: 'Export the conversation to a .txt file' },
135
+ { name: '/help', args: '', desc: 'Show all commands' },
136
+ ];
137
+ /** Show/hide the slash-command palette based on the current input line. */
138
+ function updateCommandPalette(ui) {
139
+ const line = (ui.inputBox.getValue().split('\n').pop() ?? '').replace(/^\s+/, '');
140
+ const hide = () => {
141
+ if (!ui.commandPalette.hidden) {
142
+ ui.commandPalette.hide();
143
+ ui.screen.render();
144
+ }
145
+ };
146
+ if (!line.startsWith('/'))
147
+ return hide();
148
+ const q = line.slice(1).toLowerCase();
149
+ const matches = SLASH_COMMANDS.filter((c) => c.name.slice(1).startsWith(q));
150
+ if (matches.length === 0)
151
+ return hide();
152
+ ui.commandPalette.setContent(matches
153
+ .map((c) => ` {#60a5fa-fg}{bold}${c.name}{/bold}{/}${c.args ? ` {#a0aec0-fg}${c.args}{/}` : ''} {#718096-fg}${c.desc}{/}`)
154
+ .join('\n'));
155
+ ui.commandPalette.height = matches.length + 2; // content rows + border
156
+ ui.commandPalette.show();
157
+ ui.commandPalette.setFront();
158
+ ui.screen.render();
159
+ }
119
160
  function createUI() {
120
161
  const screen = blessed.screen({
121
162
  smartCSR: true,
@@ -333,6 +374,18 @@ function createUI() {
333
374
  bg: colors.statusBg,
334
375
  },
335
376
  });
377
+ // Slash-command palette — floats above the input, shown while typing `/`.
378
+ const commandPalette = blessed.box({
379
+ bottom: 6, // above the input box (height 5) + helpBar (height 1)
380
+ left: 0,
381
+ width: '60%',
382
+ height: 3,
383
+ hidden: true,
384
+ tags: true,
385
+ border: { type: 'line' },
386
+ label: ' {#718096-fg}commands{/} ',
387
+ style: { fg: '#e2e8f0', bg: '#2d3748', border: { fg: colors.borderActive } },
388
+ });
336
389
  screen.append(statusBar);
337
390
  screen.append(tabBar);
338
391
  screen.append(chatLog);
@@ -343,6 +396,7 @@ function createUI() {
343
396
  screen.append(issuesBox);
344
397
  screen.append(inputBox);
345
398
  screen.append(helpBar);
399
+ screen.append(commandPalette);
346
400
  return {
347
401
  screen,
348
402
  statusBar,
@@ -355,6 +409,7 @@ function createUI() {
355
409
  issuesBox,
356
410
  inputBox,
357
411
  helpBar,
412
+ commandPalette,
358
413
  };
359
414
  }
360
415
  // Tab Management
@@ -495,10 +550,14 @@ async function loadTasksData(box) {
495
550
  };
496
551
  const [icon, color] = statusMap[ev.status] || ['○', '#718096'];
497
552
  let model = '';
498
- if (ev.model?.includes('sonnet-4-5'))
553
+ if (ev.model?.includes('sonnet-4-6'))
554
+ model = 'sonnet-4.6';
555
+ else if (ev.model?.includes('sonnet-4-5'))
499
556
  model = 'sonnet-4.5';
500
557
  else if (ev.model?.includes('haiku-4-5'))
501
558
  model = 'haiku-4.5';
559
+ else if (ev.model?.includes('opus-4-7'))
560
+ model = 'opus-4.7';
502
561
  else if (ev.model?.includes('opus-4'))
503
562
  model = 'opus-4';
504
563
  else if (ev.model)
@@ -671,7 +730,7 @@ function stopSpinner(ui, spinnerData) {
671
730
  safeRender();
672
731
  }
673
732
  // Chat Logic
674
- async function sendMessage(state, ui, message) {
733
+ async function sendMessage(state, ui, message, opts) {
675
734
  if (!message.trim())
676
735
  return;
677
736
  ui.chatLog.log('');
@@ -688,8 +747,10 @@ async function sendMessage(state, ui, message) {
688
747
  let spinnerStopped = false;
689
748
  let contentStartLine = assistantHeaderLine + 1;
690
749
  const spinnerData = startSpinner(ui);
750
+ const controller = new AbortController();
751
+ state.activeRun = controller;
691
752
  try {
692
- const result = await callChatModel(message, state.session.provider, state.session.model, state.session.claudeSessionId, (chunk, isThinking) => {
753
+ const result = await callChatModel(message, state.session.provider, state.session.model, (chunk, isThinking) => {
693
754
  // Handle thinking notification (show/resume spinner)
694
755
  if (isThinking) {
695
756
  if (spinnerStopped) {
@@ -727,15 +788,29 @@ async function sendMessage(state, ui, message) {
727
788
  }
728
789
  ui.chatLog.setScrollPerc(100);
729
790
  safeRender();
730
- });
791
+ }, (toolLine) => {
792
+ // Only surface tool executions (🔧 …); skip API-call markers and the
793
+ // adapter summary line (cost is shown in the footer). Commit the current
794
+ // streamed block, print the tool line, and move contentStartLine past it so
795
+ // the 30fps re-render of the next text block doesn't erase it.
796
+ if (!toolLine.includes('🔧'))
797
+ return;
798
+ if (!spinnerStopped) {
799
+ stopSpinner(ui, spinnerData);
800
+ spinnerStopped = true;
801
+ }
802
+ ui.chatLog.log(` {#fbbf24-fg}${toolLine.trim()}{/}`);
803
+ assistantContent = '';
804
+ contentStartLine = ui.chatLog.getLines().length;
805
+ lastRenderTime = 0;
806
+ ui.chatLog.setScrollPerc(100);
807
+ safeRender();
808
+ }, opts?.maxTurns, controller.signal);
731
809
  // Ensure spinner is stopped
732
810
  if (!spinnerStopped) {
733
811
  stopSpinner(ui, spinnerData);
734
812
  spinnerStopped = true;
735
813
  }
736
- if (state.session.provider === 'claude' && result.sessionId) {
737
- state.session.claudeSessionId = result.sessionId;
738
- }
739
814
  // Update session stats
740
815
  state.session.totalCost += result.cost;
741
816
  state.session.totalTokens += result.tokens;
@@ -777,6 +852,9 @@ async function sendMessage(state, ui, message) {
777
852
  state.session.messages.pop(); // Remove user message on failure
778
853
  safeRender();
779
854
  }
855
+ finally {
856
+ state.activeRun = undefined;
857
+ }
780
858
  }
781
859
  // Status Bar Update
782
860
  function updateStatusBar(state, ui) {
@@ -805,7 +883,6 @@ async function handleCommand(cmd, state, ui) {
805
883
  case 'clear':
806
884
  case 'c':
807
885
  state.session.messages = [];
808
- state.session.claudeSessionId = undefined;
809
886
  state.session.totalCost = 0;
810
887
  state.session.totalTokens = 0;
811
888
  ui.chatLog.setContent('');
@@ -822,16 +899,15 @@ async function handleCommand(cmd, state, ui) {
822
899
  if (!next) {
823
900
  ui.chatLog.log(` {bold}Current provider:{/bold} {#c084fc-fg}${state.session.provider}{/}`);
824
901
  ui.chatLog.log(' {#718096-fg}Available providers:{/}');
825
- ui.chatLog.log(' {#a0aec0-fg}claude{/}');
826
902
  ui.chatLog.log(' {#a0aec0-fg}codex{/}');
827
- }
828
- else if (next !== 'claude' && next !== 'codex') {
829
- ui.chatLog.log(` {#ef4444-fg}Unknown provider: ${next}{/}`);
903
+ ui.chatLog.log(' {#a0aec0-fg}openrouter{/}');
904
+ ui.chatLog.log(' {#a0aec0-fg}lmstudio{/}');
905
+ ui.chatLog.log(' {#a0aec0-fg}local{/}');
906
+ ui.chatLog.log(' {#a0aec0-fg}gpt{/}');
830
907
  }
831
908
  else {
832
909
  state.session.provider = next;
833
- state.session.model = getDefaultChatModel(next);
834
- state.session.claudeSessionId = undefined;
910
+ state.session.model = getDefaultChatModel(state.session.provider);
835
911
  ui.chatLog.log(` {#34d399-fg}✓ Provider changed to {bold}${next}{/bold}{/}`);
836
912
  ui.chatLog.log(` {#34d399-fg}✓ Model changed to {bold}${state.session.model}{/bold}{/}`);
837
913
  updateStatusBar(state, ui);
@@ -849,10 +925,10 @@ async function handleCommand(cmd, state, ui) {
849
925
  ui.chatLog.log(` {bold}Current model:{/bold} {#60a5fa-fg}${shortenChatModel(state.session.model)}{/}`);
850
926
  ui.chatLog.log('');
851
927
  ui.chatLog.log(' {#718096-fg}Available models:{/}');
852
- if (state.session.provider === 'claude') {
853
- ui.chatLog.log(' {#a0aec0-fg}sonnet{/} {#718096-fg}→{/} claude-sonnet-4-5');
854
- ui.chatLog.log(' {#a0aec0-fg}haiku{/} {#718096-fg}→{/} claude-haiku-4-5');
855
- ui.chatLog.log(' {#a0aec0-fg}opus{/} {#718096-fg}→{/} claude-opus-4-6');
928
+ if (state.session.provider === 'openrouter') {
929
+ ui.chatLog.log(' {#a0aec0-fg}sonnet{/} {#718096-fg}→{/} anthropic/claude-sonnet-4');
930
+ ui.chatLog.log(' {#a0aec0-fg}gemini{/} {#718096-fg}→{/} google/gemini-2.5-pro');
931
+ ui.chatLog.log(' {#a0aec0-fg}gpt-5{/} {#718096-fg}→{/} openai/gpt-5');
856
932
  }
857
933
  else {
858
934
  ui.chatLog.log(' {#a0aec0-fg}codex{/} {#718096-fg}→{/} gpt-5-codex');
@@ -860,7 +936,6 @@ async function handleCommand(cmd, state, ui) {
860
936
  }
861
937
  else {
862
938
  state.session.model = resolveChatModel(newModel, state.session.provider);
863
- state.session.claudeSessionId = undefined;
864
939
  const shortName = shortenChatModel(state.session.model);
865
940
  ui.chatLog.log(` {#34d399-fg}✓ Model changed to {bold}${shortName}{/bold}{/}`);
866
941
  updateStatusBar(state, ui);
@@ -880,16 +955,103 @@ async function handleCommand(cmd, state, ui) {
880
955
  safeRender();
881
956
  break;
882
957
  }
958
+ case 'plan': {
959
+ const goal = args.join(' ').trim();
960
+ if (!goal) {
961
+ ui.chatLog.log('');
962
+ ui.chatLog.log(' {#fbbf24-fg}Usage: /plan <goal>{/}');
963
+ ui.chatLog.log('');
964
+ safeRender();
965
+ break;
966
+ }
967
+ const io = {
968
+ print: (line) => {
969
+ ui.chatLog.log(line ? ` ${line}` : '');
970
+ safeRender();
971
+ },
972
+ confirm: (prompt) => new Promise((resolve) => {
973
+ ui.chatLog.log(` {#fbbf24-fg}${prompt}{/}`);
974
+ safeRender();
975
+ state.pendingInput = (v) => {
976
+ const a = v.trim().toLowerCase();
977
+ resolve(a === 'y' || a === 'yes' ? 'yes' : a === 'e' || a === 'edit' ? 'edit' : 'no');
978
+ };
979
+ }),
980
+ promptText: (prompt) => new Promise((resolve) => {
981
+ ui.chatLog.log(` {#fbbf24-fg}${prompt}{/}`);
982
+ safeRender();
983
+ state.pendingInput = (v) => resolve(v);
984
+ }),
985
+ };
986
+ await runPlanCommand(goal, io, { projectPath: process.cwd() });
987
+ break;
988
+ }
989
+ case 'goal': {
990
+ const goalText = args.join(' ').trim();
991
+ if (!goalText) {
992
+ ui.chatLog.log('');
993
+ ui.chatLog.log(state.session.goal
994
+ ? ` {#fbbf24-fg}Current goal:{/} ${state.session.goal}`
995
+ : ' {#fbbf24-fg}Usage: /goal <goal> — set a goal and pursue it autonomously{/}');
996
+ ui.chatLog.log('');
997
+ safeRender();
998
+ break;
999
+ }
1000
+ state.session.goal = goalText;
1001
+ await saveSession(state.session);
1002
+ updateStatusBar(state, ui);
1003
+ ui.chatLog.log('');
1004
+ ui.chatLog.log(` {#34d399-fg}{bold}Goal set — pursuing autonomously:{/bold}{/} ${goalText}`);
1005
+ ui.chatLog.log('');
1006
+ safeRender();
1007
+ const goalPrompt = `[GOAL] ${goalText}\n\nWork autonomously toward this goal: break it down, use your tools to implement and ` +
1008
+ `verify each step, narrate your reasoning as you go, and keep going until the goal is achieved or you are ` +
1009
+ `genuinely blocked. Do not ask for approval between steps.`;
1010
+ await sendMessage(state, ui, goalPrompt, { maxTurns: 120 });
1011
+ break;
1012
+ }
1013
+ case 'export': {
1014
+ const arg = args.join(' ').trim();
1015
+ const now = new Date();
1016
+ const pad = (n) => String(n).padStart(2, '0');
1017
+ const stamp = `${now.getFullYear()}${pad(now.getMonth() + 1)}${pad(now.getDate())}-${pad(now.getHours())}${pad(now.getMinutes())}`;
1018
+ const outPath = arg
1019
+ ? expandPath(arg)
1020
+ : resolve(process.cwd(), `openswarm-chat-${state.session.id}-${stamp}.txt`);
1021
+ const lines = [
1022
+ `# OpenSwarm Chat — session "${state.session.id}"`,
1023
+ `# ${state.session.provider}:${state.session.model} · ${now.toISOString()}`,
1024
+ ...(state.session.goal ? [`# Goal: ${state.session.goal}`] : []),
1025
+ '',
1026
+ ];
1027
+ for (const m of state.session.messages) {
1028
+ lines.push(m.role === 'user' ? 'You:' : 'Assistant:', m.content, '');
1029
+ }
1030
+ ui.chatLog.log('');
1031
+ try {
1032
+ await writeFile(outPath, lines.join('\n'), 'utf-8');
1033
+ ui.chatLog.log(` {#34d399-fg}Exported ${state.session.messages.length} messages → ${outPath}{/}`);
1034
+ }
1035
+ catch (err) {
1036
+ ui.chatLog.log(` {#ef4444-fg}Export failed: ${err instanceof Error ? err.message : String(err)}{/}`);
1037
+ }
1038
+ ui.chatLog.log('');
1039
+ safeRender();
1040
+ break;
1041
+ }
883
1042
  case 'help':
884
1043
  case 'h':
885
1044
  case '?':
886
1045
  ui.chatLog.log('');
887
1046
  ui.chatLog.log(' {bold}Available Commands{/bold}');
888
1047
  ui.chatLog.log('');
1048
+ ui.chatLog.log(' {#60a5fa-fg}/goal{/} <goal> Set a goal & pursue it autonomously (this session)');
1049
+ ui.chatLog.log(' {#60a5fa-fg}/plan{/} <goal> Decompose a goal & dispatch it to the loop');
889
1050
  ui.chatLog.log(' {#60a5fa-fg}/clear{/} Clear conversation');
890
1051
  ui.chatLog.log(' {#60a5fa-fg}/provider{/} [id] Change provider {#718096-fg}(claude/codex){/}');
891
1052
  ui.chatLog.log(' {#60a5fa-fg}/model{/} [name] Change model {#718096-fg}(sonnet/haiku/opus){/}');
892
1053
  ui.chatLog.log(' {#60a5fa-fg}/save{/} [name] Save session');
1054
+ ui.chatLog.log(' {#60a5fa-fg}/export{/} [path] Export conversation to a .txt file');
893
1055
  ui.chatLog.log(' {#60a5fa-fg}/help{/} Show this help');
894
1056
  ui.chatLog.log('');
895
1057
  ui.chatLog.log(' {bold}Navigation{/bold}');
@@ -1005,11 +1167,19 @@ export async function main() {
1005
1167
  // Ctrl+C: Clear input or exit (Claude Code style)
1006
1168
  let ctrlCPressed = false;
1007
1169
  ui.screen.key(['C-c'], async () => {
1170
+ // While an agent run is in flight, stop it (don't clear input / exit).
1171
+ if (state.activeRun) {
1172
+ state.activeRun.abort();
1173
+ ui.chatLog.log(' {#f59e0b-fg}■ Stopped{/}');
1174
+ safeRender();
1175
+ return;
1176
+ }
1008
1177
  const currentValue = ui.inputBox.getValue();
1009
1178
  if (currentValue && currentValue.trim()) {
1010
1179
  // If input has text, just clear it
1011
1180
  ui.inputBox.clearValue();
1012
1181
  ui.inputBox.focus();
1182
+ ui.commandPalette.hide();
1013
1183
  safeRender();
1014
1184
  ctrlCPressed = false;
1015
1185
  }
@@ -1033,6 +1203,13 @@ export async function main() {
1033
1203
  });
1034
1204
  // Escape: Clear input and blur (exit input mode)
1035
1205
  ui.screen.key(['escape'], () => {
1206
+ // While an agent run is in flight, stop it (don't clear input / blur).
1207
+ if (state.activeRun) {
1208
+ state.activeRun.abort();
1209
+ ui.chatLog.log(' {#f59e0b-fg}■ Stopped{/}');
1210
+ safeRender();
1211
+ return;
1212
+ }
1036
1213
  const currentValue = ui.inputBox.getValue();
1037
1214
  if (currentValue && currentValue.trim()) {
1038
1215
  // Clear input if has content
@@ -1040,6 +1217,7 @@ export async function main() {
1040
1217
  }
1041
1218
  // Blur input box to exit input mode
1042
1219
  ui.chatLog.focus();
1220
+ ui.commandPalette.hide();
1043
1221
  safeRender();
1044
1222
  });
1045
1223
  // Enter in chatLog: focus input
@@ -1047,6 +1225,10 @@ export async function main() {
1047
1225
  ui.inputBox.focus();
1048
1226
  safeRender();
1049
1227
  });
1228
+ // Slash-command palette: refresh on every keystroke in the input box.
1229
+ ui.inputBox.on('keypress', () => {
1230
+ setImmediate(() => updateCommandPalette(ui));
1231
+ });
1050
1232
  // Shift+Enter: Insert newline (handled by textarea by default)
1051
1233
  // Enter: Submit message
1052
1234
  ui.inputBox.key(['enter'], async () => {
@@ -1056,7 +1238,15 @@ export async function main() {
1056
1238
  return;
1057
1239
  ui.inputBox.clearValue();
1058
1240
  ui.inputBox.focus();
1241
+ ui.commandPalette.hide();
1059
1242
  safeRender();
1243
+ // An in-progress /plan approval consumes the next line, not chat/commands.
1244
+ if (state.pendingInput) {
1245
+ const resolve = state.pendingInput;
1246
+ state.pendingInput = undefined;
1247
+ resolve(trimmed);
1248
+ return;
1249
+ }
1060
1250
  if (trimmed.startsWith('/')) {
1061
1251
  await handleCommand(trimmed, state, ui);
1062
1252
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chatTui.js","sourceRoot":"","sources":["../../src/support/chatTui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatTui.js","sourceRoot":"","sources":["../../src/support/chatTui.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export declare const c: {
2
+ enabled: boolean;
3
+ bold: (s: string) => string;
4
+ dim: (s: string) => string;
5
+ red: (s: string) => string;
6
+ green: (s: string) => string;
7
+ yellow: (s: string) => string;
8
+ blue: (s: string) => string;
9
+ magenta: (s: string) => string;
10
+ cyan: (s: string) => string;
11
+ gray: (s: string) => string;
12
+ /** 24-bit truecolor foreground (for the banner gradient). */
13
+ rgb: (r: number, g: number, b: number) => (s: string) => string;
14
+ };
15
+ //# sourceMappingURL=colors.d.ts.map