@intrect/openswarm 0.5.0 → 0.8.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 (226) hide show
  1. package/LICENSE +21 -674
  2. package/README.md +97 -35
  3. package/config.example.yaml +8 -2
  4. package/dist/adapters/agenticLoop.d.ts +15 -1
  5. package/dist/adapters/agenticLoop.d.ts.map +1 -1
  6. package/dist/adapters/agenticLoop.js +62 -4
  7. package/dist/adapters/agenticLoop.js.map +1 -1
  8. package/dist/adapters/chatStream.d.ts +55 -0
  9. package/dist/adapters/chatStream.d.ts.map +1 -0
  10. package/dist/adapters/chatStream.js +116 -0
  11. package/dist/adapters/chatStream.js.map +1 -0
  12. package/dist/adapters/codex.d.ts +6 -0
  13. package/dist/adapters/codex.d.ts.map +1 -1
  14. package/dist/adapters/codex.js +27 -1
  15. package/dist/adapters/codex.js.map +1 -1
  16. package/dist/adapters/codexModels.d.ts +20 -0
  17. package/dist/adapters/codexModels.d.ts.map +1 -0
  18. package/dist/adapters/codexModels.js +195 -0
  19. package/dist/adapters/codexModels.js.map +1 -0
  20. package/dist/adapters/codexResponses.d.ts +97 -0
  21. package/dist/adapters/codexResponses.d.ts.map +1 -0
  22. package/dist/adapters/codexResponses.js +302 -0
  23. package/dist/adapters/codexResponses.js.map +1 -0
  24. package/dist/adapters/gpt.d.ts.map +1 -1
  25. package/dist/adapters/gpt.js +17 -131
  26. package/dist/adapters/gpt.js.map +1 -1
  27. package/dist/adapters/index.d.ts +7 -0
  28. package/dist/adapters/index.d.ts.map +1 -1
  29. package/dist/adapters/index.js +11 -0
  30. package/dist/adapters/index.js.map +1 -1
  31. package/dist/adapters/local.d.ts.map +1 -1
  32. package/dist/adapters/local.js +17 -125
  33. package/dist/adapters/local.js.map +1 -1
  34. package/dist/adapters/openrouter.d.ts +5 -24
  35. package/dist/adapters/openrouter.d.ts.map +1 -1
  36. package/dist/adapters/openrouter.js +20 -121
  37. package/dist/adapters/openrouter.js.map +1 -1
  38. package/dist/adapters/resultParsing.d.ts +6 -0
  39. package/dist/adapters/resultParsing.d.ts.map +1 -0
  40. package/dist/adapters/resultParsing.js +139 -0
  41. package/dist/adapters/resultParsing.js.map +1 -0
  42. package/dist/adapters/tools.d.ts +0 -6
  43. package/dist/adapters/tools.d.ts.map +1 -1
  44. package/dist/adapters/tools.js +57 -3
  45. package/dist/adapters/tools.js.map +1 -1
  46. package/dist/adapters/types.d.ts +21 -1
  47. package/dist/adapters/types.d.ts.map +1 -1
  48. package/dist/adapters/webTools.d.ts +9 -0
  49. package/dist/adapters/webTools.d.ts.map +1 -0
  50. package/dist/adapters/webTools.js +195 -0
  51. package/dist/adapters/webTools.js.map +1 -0
  52. package/dist/agents/pairPipeline.d.ts +26 -1
  53. package/dist/agents/pairPipeline.d.ts.map +1 -1
  54. package/dist/agents/pairPipeline.js +82 -14
  55. package/dist/agents/pairPipeline.js.map +1 -1
  56. package/dist/agents/reflection.d.ts +56 -0
  57. package/dist/agents/reflection.d.ts.map +1 -0
  58. package/dist/agents/reflection.js +120 -0
  59. package/dist/agents/reflection.js.map +1 -0
  60. package/dist/agents/worker.d.ts +2 -0
  61. package/dist/agents/worker.d.ts.map +1 -1
  62. package/dist/agents/worker.js +1 -0
  63. package/dist/agents/worker.js.map +1 -1
  64. package/dist/auth/index.d.ts +1 -0
  65. package/dist/auth/index.d.ts.map +1 -1
  66. package/dist/auth/index.js +1 -0
  67. package/dist/auth/index.js.map +1 -1
  68. package/dist/auth/linearPkce.d.ts +22 -0
  69. package/dist/auth/linearPkce.d.ts.map +1 -0
  70. package/dist/auth/linearPkce.js +208 -0
  71. package/dist/auth/linearPkce.js.map +1 -0
  72. package/dist/auth/oauthPkce.d.ts.map +1 -1
  73. package/dist/auth/oauthPkce.js +18 -5
  74. package/dist/auth/oauthPkce.js.map +1 -1
  75. package/dist/auth/oauthStore.d.ts.map +1 -1
  76. package/dist/auth/oauthStore.js +10 -2
  77. package/dist/auth/oauthStore.js.map +1 -1
  78. package/dist/automation/autonomousRunner.d.ts +6 -6
  79. package/dist/automation/autonomousRunner.d.ts.map +1 -1
  80. package/dist/automation/autonomousRunner.js +15 -13
  81. package/dist/automation/autonomousRunner.js.map +1 -1
  82. package/dist/automation/backlogGrooming.d.ts +21 -0
  83. package/dist/automation/backlogGrooming.d.ts.map +1 -0
  84. package/dist/automation/backlogGrooming.js +80 -0
  85. package/dist/automation/backlogGrooming.js.map +1 -0
  86. package/dist/automation/localCI.d.ts +24 -0
  87. package/dist/automation/localCI.d.ts.map +1 -0
  88. package/dist/automation/localCI.js +84 -0
  89. package/dist/automation/localCI.js.map +1 -0
  90. package/dist/automation/runnerExecution.d.ts +33 -7
  91. package/dist/automation/runnerExecution.d.ts.map +1 -1
  92. package/dist/automation/runnerExecution.js +202 -154
  93. package/dist/automation/runnerExecution.js.map +1 -1
  94. package/dist/automation/runnerTypes.d.ts +5 -1
  95. package/dist/automation/runnerTypes.d.ts.map +1 -1
  96. package/dist/automation/taskSource.d.ts +101 -0
  97. package/dist/automation/taskSource.d.ts.map +1 -0
  98. package/dist/automation/taskSource.js +136 -0
  99. package/dist/automation/taskSource.js.map +1 -0
  100. package/dist/automation/workerAuditLog.d.ts +29 -0
  101. package/dist/automation/workerAuditLog.d.ts.map +1 -0
  102. package/dist/automation/workerAuditLog.js +82 -0
  103. package/dist/automation/workerAuditLog.js.map +1 -0
  104. package/dist/cli/authHandler.d.ts +6 -0
  105. package/dist/cli/authHandler.d.ts.map +1 -1
  106. package/dist/cli/authHandler.js +37 -2
  107. package/dist/cli/authHandler.js.map +1 -1
  108. package/dist/cli/daemon.d.ts +5 -0
  109. package/dist/cli/daemon.d.ts.map +1 -1
  110. package/dist/cli/daemon.js +13 -0
  111. package/dist/cli/daemon.js.map +1 -1
  112. package/dist/cli/doctorHandler.d.ts +2 -0
  113. package/dist/cli/doctorHandler.d.ts.map +1 -0
  114. package/dist/cli/doctorHandler.js +114 -0
  115. package/dist/cli/doctorHandler.js.map +1 -0
  116. package/dist/cli/initWizard.d.ts +13 -0
  117. package/dist/cli/initWizard.d.ts.map +1 -0
  118. package/dist/cli/initWizard.js +334 -0
  119. package/dist/cli/initWizard.js.map +1 -0
  120. package/dist/cli.js +110 -37
  121. package/dist/cli.js.map +1 -1
  122. package/dist/core/config.d.ts +50 -2
  123. package/dist/core/config.d.ts.map +1 -1
  124. package/dist/core/config.js +69 -10
  125. package/dist/core/config.js.map +1 -1
  126. package/dist/core/envFile.d.ts +6 -0
  127. package/dist/core/envFile.d.ts.map +1 -1
  128. package/dist/core/envFile.js +39 -1
  129. package/dist/core/envFile.js.map +1 -1
  130. package/dist/core/providerOverride.d.ts +6 -0
  131. package/dist/core/providerOverride.d.ts.map +1 -0
  132. package/dist/core/providerOverride.js +37 -0
  133. package/dist/core/providerOverride.js.map +1 -0
  134. package/dist/core/service.d.ts.map +1 -1
  135. package/dist/core/service.js +41 -18
  136. package/dist/core/service.js.map +1 -1
  137. package/dist/core/types.d.ts +16 -2
  138. package/dist/core/types.d.ts.map +1 -1
  139. package/dist/discord/discordHandlers.d.ts.map +1 -1
  140. package/dist/discord/discordHandlers.js +15 -12
  141. package/dist/discord/discordHandlers.js.map +1 -1
  142. package/dist/index.js +12 -1
  143. package/dist/index.js.map +1 -1
  144. package/dist/issues/sqliteStore.d.ts.map +1 -1
  145. package/dist/issues/sqliteStore.js +7 -2
  146. package/dist/issues/sqliteStore.js.map +1 -1
  147. package/dist/knowledge/scanner.d.ts.map +1 -1
  148. package/dist/knowledge/scanner.js +5 -0
  149. package/dist/knowledge/scanner.js.map +1 -1
  150. package/dist/linear/linear.d.ts +45 -2
  151. package/dist/linear/linear.d.ts.map +1 -1
  152. package/dist/linear/linear.js +154 -3
  153. package/dist/linear/linear.js.map +1 -1
  154. package/dist/locale/prompts/en.d.ts.map +1 -1
  155. package/dist/locale/prompts/en.js +14 -2
  156. package/dist/locale/prompts/en.js.map +1 -1
  157. package/dist/locale/prompts/ko.d.ts.map +1 -1
  158. package/dist/locale/prompts/ko.js +14 -2
  159. package/dist/locale/prompts/ko.js.map +1 -1
  160. package/dist/mcp/mcpClient.d.ts +27 -0
  161. package/dist/mcp/mcpClient.d.ts.map +1 -0
  162. package/dist/mcp/mcpClient.js +145 -0
  163. package/dist/mcp/mcpClient.js.map +1 -0
  164. package/dist/memory/memoryCore.d.ts.map +1 -1
  165. package/dist/memory/memoryCore.js +8 -2
  166. package/dist/memory/memoryCore.js.map +1 -1
  167. package/dist/notify/notifier.d.ts +26 -0
  168. package/dist/notify/notifier.d.ts.map +1 -0
  169. package/dist/notify/notifier.js +131 -0
  170. package/dist/notify/notifier.js.map +1 -0
  171. package/dist/orchestration/conflictDetector.d.ts +5 -2
  172. package/dist/orchestration/conflictDetector.d.ts.map +1 -1
  173. package/dist/orchestration/conflictDetector.js +35 -6
  174. package/dist/orchestration/conflictDetector.js.map +1 -1
  175. package/dist/orchestration/decisionEngine.d.ts +20 -0
  176. package/dist/orchestration/decisionEngine.d.ts.map +1 -1
  177. package/dist/orchestration/decisionEngine.js +45 -0
  178. package/dist/orchestration/decisionEngine.js.map +1 -1
  179. package/dist/support/banner.d.ts +7 -0
  180. package/dist/support/banner.d.ts.map +1 -0
  181. package/dist/support/banner.js +32 -0
  182. package/dist/support/banner.js.map +1 -0
  183. package/dist/support/chat.js +28 -5
  184. package/dist/support/chat.js.map +1 -1
  185. package/dist/support/chatBackend.d.ts +6 -0
  186. package/dist/support/chatBackend.d.ts.map +1 -1
  187. package/dist/support/chatBackend.js +68 -0
  188. package/dist/support/chatBackend.js.map +1 -1
  189. package/dist/support/chatTui.d.ts.map +1 -1
  190. package/dist/support/chatTui.js +202 -9
  191. package/dist/support/chatTui.js.map +1 -1
  192. package/dist/support/colors.d.ts +15 -0
  193. package/dist/support/colors.d.ts.map +1 -0
  194. package/dist/support/colors.js +23 -0
  195. package/dist/support/colors.js.map +1 -0
  196. package/dist/support/planCommand.d.ts +17 -0
  197. package/dist/support/planCommand.d.ts.map +1 -0
  198. package/dist/support/planCommand.js +114 -0
  199. package/dist/support/planCommand.js.map +1 -0
  200. package/dist/support/planner.d.ts +9 -2
  201. package/dist/support/planner.d.ts.map +1 -1
  202. package/dist/support/planner.js +43 -111
  203. package/dist/support/planner.js.map +1 -1
  204. package/dist/support/promptHelper.d.ts +24 -0
  205. package/dist/support/promptHelper.d.ts.map +1 -0
  206. package/dist/support/promptHelper.js +94 -0
  207. package/dist/support/promptHelper.js.map +1 -0
  208. package/dist/support/rateLimiter.d.ts.map +1 -1
  209. package/dist/support/rateLimiter.js +6 -0
  210. package/dist/support/rateLimiter.js.map +1 -1
  211. package/dist/support/repoMetadata.d.ts +7 -0
  212. package/dist/support/repoMetadata.d.ts.map +1 -1
  213. package/dist/support/repoMetadata.js +13 -1
  214. package/dist/support/repoMetadata.js.map +1 -1
  215. package/dist/support/web.d.ts.map +1 -1
  216. package/dist/support/web.js +143 -65
  217. package/dist/support/web.js.map +1 -1
  218. package/dist/support/worktreeManager.d.ts +6 -1
  219. package/dist/support/worktreeManager.d.ts.map +1 -1
  220. package/dist/support/worktreeManager.js +23 -1
  221. package/dist/support/worktreeManager.js.map +1 -1
  222. package/dist/taskState/store.d.ts +1 -0
  223. package/dist/taskState/store.d.ts.map +1 -1
  224. package/dist/taskState/store.js +22 -1
  225. package/dist/taskState/store.js.map +1 -1
  226. package/package.json +4 -2
@@ -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,13 +85,16 @@ function loadDefaultProvider() {
80
85
  }
81
86
  }
82
87
  // Shared chat backend
83
- async function callChatModel(prompt, provider, model, 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
- timeoutMs: 180000,
93
+ timeoutMs: 300000,
89
94
  onText: onStream,
95
+ onLog: onToolLog,
96
+ maxTurns,
97
+ signal,
90
98
  });
91
99
  return {
92
100
  response: result.response,
@@ -115,6 +123,40 @@ const LOADING_MESSAGES = [
115
123
  ];
116
124
  const SPINNER_FRAMES = ['⣾', '⣽', '⣻', '⢿', '⡿', '⣟', '⣯', '⣷'];
117
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
+ }
118
160
  function createUI() {
119
161
  const screen = blessed.screen({
120
162
  smartCSR: true,
@@ -332,6 +374,18 @@ function createUI() {
332
374
  bg: colors.statusBg,
333
375
  },
334
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
+ });
335
389
  screen.append(statusBar);
336
390
  screen.append(tabBar);
337
391
  screen.append(chatLog);
@@ -342,6 +396,7 @@ function createUI() {
342
396
  screen.append(issuesBox);
343
397
  screen.append(inputBox);
344
398
  screen.append(helpBar);
399
+ screen.append(commandPalette);
345
400
  return {
346
401
  screen,
347
402
  statusBar,
@@ -354,6 +409,7 @@ function createUI() {
354
409
  issuesBox,
355
410
  inputBox,
356
411
  helpBar,
412
+ commandPalette,
357
413
  };
358
414
  }
359
415
  // Tab Management
@@ -674,7 +730,7 @@ function stopSpinner(ui, spinnerData) {
674
730
  safeRender();
675
731
  }
676
732
  // Chat Logic
677
- async function sendMessage(state, ui, message) {
733
+ async function sendMessage(state, ui, message, opts) {
678
734
  if (!message.trim())
679
735
  return;
680
736
  ui.chatLog.log('');
@@ -691,6 +747,8 @@ async function sendMessage(state, ui, message) {
691
747
  let spinnerStopped = false;
692
748
  let contentStartLine = assistantHeaderLine + 1;
693
749
  const spinnerData = startSpinner(ui);
750
+ const controller = new AbortController();
751
+ state.activeRun = controller;
694
752
  try {
695
753
  const result = await callChatModel(message, state.session.provider, state.session.model, (chunk, isThinking) => {
696
754
  // Handle thinking notification (show/resume spinner)
@@ -730,7 +788,24 @@ async function sendMessage(state, ui, message) {
730
788
  }
731
789
  ui.chatLog.setScrollPerc(100);
732
790
  safeRender();
733
- });
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);
734
809
  // Ensure spinner is stopped
735
810
  if (!spinnerStopped) {
736
811
  stopSpinner(ui, spinnerData);
@@ -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) {
@@ -877,16 +955,103 @@ async function handleCommand(cmd, state, ui) {
877
955
  safeRender();
878
956
  break;
879
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
+ }
880
1042
  case 'help':
881
1043
  case 'h':
882
1044
  case '?':
883
1045
  ui.chatLog.log('');
884
1046
  ui.chatLog.log(' {bold}Available Commands{/bold}');
885
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');
886
1050
  ui.chatLog.log(' {#60a5fa-fg}/clear{/} Clear conversation');
887
1051
  ui.chatLog.log(' {#60a5fa-fg}/provider{/} [id] Change provider {#718096-fg}(claude/codex){/}');
888
1052
  ui.chatLog.log(' {#60a5fa-fg}/model{/} [name] Change model {#718096-fg}(sonnet/haiku/opus){/}');
889
1053
  ui.chatLog.log(' {#60a5fa-fg}/save{/} [name] Save session');
1054
+ ui.chatLog.log(' {#60a5fa-fg}/export{/} [path] Export conversation to a .txt file');
890
1055
  ui.chatLog.log(' {#60a5fa-fg}/help{/} Show this help');
891
1056
  ui.chatLog.log('');
892
1057
  ui.chatLog.log(' {bold}Navigation{/bold}');
@@ -1002,11 +1167,19 @@ export async function main() {
1002
1167
  // Ctrl+C: Clear input or exit (Claude Code style)
1003
1168
  let ctrlCPressed = false;
1004
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
+ }
1005
1177
  const currentValue = ui.inputBox.getValue();
1006
1178
  if (currentValue && currentValue.trim()) {
1007
1179
  // If input has text, just clear it
1008
1180
  ui.inputBox.clearValue();
1009
1181
  ui.inputBox.focus();
1182
+ ui.commandPalette.hide();
1010
1183
  safeRender();
1011
1184
  ctrlCPressed = false;
1012
1185
  }
@@ -1030,6 +1203,13 @@ export async function main() {
1030
1203
  });
1031
1204
  // Escape: Clear input and blur (exit input mode)
1032
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
+ }
1033
1213
  const currentValue = ui.inputBox.getValue();
1034
1214
  if (currentValue && currentValue.trim()) {
1035
1215
  // Clear input if has content
@@ -1037,6 +1217,7 @@ export async function main() {
1037
1217
  }
1038
1218
  // Blur input box to exit input mode
1039
1219
  ui.chatLog.focus();
1220
+ ui.commandPalette.hide();
1040
1221
  safeRender();
1041
1222
  });
1042
1223
  // Enter in chatLog: focus input
@@ -1044,6 +1225,10 @@ export async function main() {
1044
1225
  ui.inputBox.focus();
1045
1226
  safeRender();
1046
1227
  });
1228
+ // Slash-command palette: refresh on every keystroke in the input box.
1229
+ ui.inputBox.on('keypress', () => {
1230
+ setImmediate(() => updateCommandPalette(ui));
1231
+ });
1047
1232
  // Shift+Enter: Insert newline (handled by textarea by default)
1048
1233
  // Enter: Submit message
1049
1234
  ui.inputBox.key(['enter'], async () => {
@@ -1053,7 +1238,15 @@ export async function main() {
1053
1238
  return;
1054
1239
  ui.inputBox.clearValue();
1055
1240
  ui.inputBox.focus();
1241
+ ui.commandPalette.hide();
1056
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
+ }
1057
1250
  if (trimmed.startsWith('/')) {
1058
1251
  await handleCommand(trimmed, state, ui);
1059
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/support/colors.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,CAAC;;cAHR,MAAM,KAAG,MAAM;aAAf,MAAM,KAAG,MAAM;aAAf,MAAM,KAAG,MAAM;eAAf,MAAM,KAAG,MAAM;gBAAf,MAAM,KAAG,MAAM;cAAf,MAAM,KAAG,MAAM;iBAAf,MAAM,KAAG,MAAM;cAAf,MAAM,KAAG,MAAM;cAAf,MAAM,KAAG,MAAM;IAcnB,6DAA6D;aAEvD,MAAM,KAAK,MAAM,KAAK,MAAM,MAC/B,GAAG,MAAM,KAAG,MAAM;CAEtB,CAAC"}
@@ -0,0 +1,23 @@
1
+ // ============================================
2
+ // OpenSwarm - Terminal color helpers (zero-dependency ANSI)
3
+ // ============================================
4
+ //
5
+ // Honors NO_COLOR and non-TTY output (pipes/CI) — colors are stripped so logs
6
+ // stay clean when redirected. Used by CLI commands (init, doctor, …).
7
+ const useColor = !!process.stdout.isTTY && !process.env.NO_COLOR;
8
+ const wrap = (open, close) => (s) => useColor ? `\x1b[${open}m${s}\x1b[${close}m` : s;
9
+ export const c = {
10
+ enabled: useColor,
11
+ bold: wrap(1, 22),
12
+ dim: wrap(2, 22),
13
+ red: wrap(31, 39),
14
+ green: wrap(32, 39),
15
+ yellow: wrap(33, 39),
16
+ blue: wrap(34, 39),
17
+ magenta: wrap(35, 39),
18
+ cyan: wrap(36, 39),
19
+ gray: wrap(90, 39),
20
+ /** 24-bit truecolor foreground (for the banner gradient). */
21
+ rgb: (r, g, b) => (s) => useColor ? `\x1b[38;2;${r};${g};${b}m${s}\x1b[39m` : s,
22
+ };
23
+ //# sourceMappingURL=colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/support/colors.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,4DAA4D;AAC5D,+CAA+C;AAC/C,EAAE;AACF,8EAA8E;AAC9E,sEAAsE;AAEtE,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAEjE,MAAM,IAAI,GACR,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAChC,CAAC,CAAS,EAAU,EAAE,CACpB,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,CAAC,GAAG;IACf,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;IACjB,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;IAChB,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACjB,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACnB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IAClB,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACrB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IAClB,6DAA6D;IAC7D,GAAG,EACD,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,EAAE,CACpC,CAAC,CAAS,EAAU,EAAE,CACpB,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;CAC3D,CAAC"}
@@ -0,0 +1,17 @@
1
+ export interface PlanIO {
2
+ /** Print one line to the surface (chatLog / stdout). */
3
+ print(line: string): void;
4
+ /** Ask the user to approve the plan. Returns the chosen action. */
5
+ confirm(prompt: string): Promise<'yes' | 'no' | 'edit'>;
6
+ /** Optional free-text prompt — used by 'edit' to drop sub-tasks. If absent, 'edit' cancels. */
7
+ promptText?(prompt: string): Promise<string>;
8
+ }
9
+ export interface PlanCommandOptions {
10
+ projectPath?: string;
11
+ model?: string;
12
+ }
13
+ /**
14
+ * Run the `/plan <goal>` flow: plan → render → approve/edit → dispatch.
15
+ */
16
+ export declare function runPlanCommand(goal: string, io: PlanIO, opts?: PlanCommandOptions): Promise<void>;
17
+ //# sourceMappingURL=planCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planCommand.d.ts","sourceRoot":"","sources":["../../src/support/planCommand.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,MAAM;IACrB,wDAAwD;IACxD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,mEAAmE;IACnE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;IACxD,+FAA+F;IAC/F,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAqEf"}