@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.
- package/LICENSE +21 -674
- package/README.md +97 -35
- package/config.example.yaml +8 -2
- package/dist/adapters/agenticLoop.d.ts +15 -1
- package/dist/adapters/agenticLoop.d.ts.map +1 -1
- package/dist/adapters/agenticLoop.js +62 -4
- package/dist/adapters/agenticLoop.js.map +1 -1
- package/dist/adapters/chatStream.d.ts +55 -0
- package/dist/adapters/chatStream.d.ts.map +1 -0
- package/dist/adapters/chatStream.js +116 -0
- package/dist/adapters/chatStream.js.map +1 -0
- package/dist/adapters/codex.d.ts +6 -0
- package/dist/adapters/codex.d.ts.map +1 -1
- package/dist/adapters/codex.js +27 -1
- package/dist/adapters/codex.js.map +1 -1
- package/dist/adapters/codexModels.d.ts +20 -0
- package/dist/adapters/codexModels.d.ts.map +1 -0
- package/dist/adapters/codexModels.js +195 -0
- package/dist/adapters/codexModels.js.map +1 -0
- package/dist/adapters/codexResponses.d.ts +97 -0
- package/dist/adapters/codexResponses.d.ts.map +1 -0
- package/dist/adapters/codexResponses.js +302 -0
- package/dist/adapters/codexResponses.js.map +1 -0
- package/dist/adapters/gpt.d.ts.map +1 -1
- package/dist/adapters/gpt.js +17 -131
- package/dist/adapters/gpt.js.map +1 -1
- package/dist/adapters/index.d.ts +7 -0
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +11 -0
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/local.d.ts.map +1 -1
- package/dist/adapters/local.js +17 -125
- package/dist/adapters/local.js.map +1 -1
- package/dist/adapters/openrouter.d.ts +5 -24
- package/dist/adapters/openrouter.d.ts.map +1 -1
- package/dist/adapters/openrouter.js +20 -121
- package/dist/adapters/openrouter.js.map +1 -1
- package/dist/adapters/resultParsing.d.ts +6 -0
- package/dist/adapters/resultParsing.d.ts.map +1 -0
- package/dist/adapters/resultParsing.js +139 -0
- package/dist/adapters/resultParsing.js.map +1 -0
- package/dist/adapters/tools.d.ts +0 -6
- package/dist/adapters/tools.d.ts.map +1 -1
- package/dist/adapters/tools.js +57 -3
- package/dist/adapters/tools.js.map +1 -1
- package/dist/adapters/types.d.ts +21 -1
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/adapters/webTools.d.ts +9 -0
- package/dist/adapters/webTools.d.ts.map +1 -0
- package/dist/adapters/webTools.js +195 -0
- package/dist/adapters/webTools.js.map +1 -0
- package/dist/agents/pairPipeline.d.ts +26 -1
- package/dist/agents/pairPipeline.d.ts.map +1 -1
- package/dist/agents/pairPipeline.js +82 -14
- package/dist/agents/pairPipeline.js.map +1 -1
- package/dist/agents/reflection.d.ts +56 -0
- package/dist/agents/reflection.d.ts.map +1 -0
- package/dist/agents/reflection.js +120 -0
- package/dist/agents/reflection.js.map +1 -0
- package/dist/agents/worker.d.ts +2 -0
- package/dist/agents/worker.d.ts.map +1 -1
- package/dist/agents/worker.js +1 -0
- package/dist/agents/worker.js.map +1 -1
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -0
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/linearPkce.d.ts +22 -0
- package/dist/auth/linearPkce.d.ts.map +1 -0
- package/dist/auth/linearPkce.js +208 -0
- package/dist/auth/linearPkce.js.map +1 -0
- package/dist/auth/oauthPkce.d.ts.map +1 -1
- package/dist/auth/oauthPkce.js +18 -5
- package/dist/auth/oauthPkce.js.map +1 -1
- package/dist/auth/oauthStore.d.ts.map +1 -1
- package/dist/auth/oauthStore.js +10 -2
- package/dist/auth/oauthStore.js.map +1 -1
- package/dist/automation/autonomousRunner.d.ts +6 -6
- package/dist/automation/autonomousRunner.d.ts.map +1 -1
- package/dist/automation/autonomousRunner.js +15 -13
- package/dist/automation/autonomousRunner.js.map +1 -1
- package/dist/automation/backlogGrooming.d.ts +21 -0
- package/dist/automation/backlogGrooming.d.ts.map +1 -0
- package/dist/automation/backlogGrooming.js +80 -0
- package/dist/automation/backlogGrooming.js.map +1 -0
- package/dist/automation/localCI.d.ts +24 -0
- package/dist/automation/localCI.d.ts.map +1 -0
- package/dist/automation/localCI.js +84 -0
- package/dist/automation/localCI.js.map +1 -0
- package/dist/automation/runnerExecution.d.ts +33 -7
- package/dist/automation/runnerExecution.d.ts.map +1 -1
- package/dist/automation/runnerExecution.js +202 -154
- package/dist/automation/runnerExecution.js.map +1 -1
- package/dist/automation/runnerTypes.d.ts +5 -1
- package/dist/automation/runnerTypes.d.ts.map +1 -1
- package/dist/automation/taskSource.d.ts +101 -0
- package/dist/automation/taskSource.d.ts.map +1 -0
- package/dist/automation/taskSource.js +136 -0
- package/dist/automation/taskSource.js.map +1 -0
- package/dist/automation/workerAuditLog.d.ts +29 -0
- package/dist/automation/workerAuditLog.d.ts.map +1 -0
- package/dist/automation/workerAuditLog.js +82 -0
- package/dist/automation/workerAuditLog.js.map +1 -0
- package/dist/cli/authHandler.d.ts +6 -0
- package/dist/cli/authHandler.d.ts.map +1 -1
- package/dist/cli/authHandler.js +37 -2
- package/dist/cli/authHandler.js.map +1 -1
- package/dist/cli/daemon.d.ts +5 -0
- package/dist/cli/daemon.d.ts.map +1 -1
- package/dist/cli/daemon.js +13 -0
- package/dist/cli/daemon.js.map +1 -1
- package/dist/cli/doctorHandler.d.ts +2 -0
- package/dist/cli/doctorHandler.d.ts.map +1 -0
- package/dist/cli/doctorHandler.js +114 -0
- package/dist/cli/doctorHandler.js.map +1 -0
- package/dist/cli/initWizard.d.ts +13 -0
- package/dist/cli/initWizard.d.ts.map +1 -0
- package/dist/cli/initWizard.js +334 -0
- package/dist/cli/initWizard.js.map +1 -0
- package/dist/cli.js +110 -37
- package/dist/cli.js.map +1 -1
- package/dist/core/config.d.ts +50 -2
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +69 -10
- package/dist/core/config.js.map +1 -1
- package/dist/core/envFile.d.ts +6 -0
- package/dist/core/envFile.d.ts.map +1 -1
- package/dist/core/envFile.js +39 -1
- package/dist/core/envFile.js.map +1 -1
- package/dist/core/providerOverride.d.ts +6 -0
- package/dist/core/providerOverride.d.ts.map +1 -0
- package/dist/core/providerOverride.js +37 -0
- package/dist/core/providerOverride.js.map +1 -0
- package/dist/core/service.d.ts.map +1 -1
- package/dist/core/service.js +41 -18
- package/dist/core/service.js.map +1 -1
- package/dist/core/types.d.ts +16 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/discord/discordHandlers.d.ts.map +1 -1
- package/dist/discord/discordHandlers.js +15 -12
- package/dist/discord/discordHandlers.js.map +1 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/issues/sqliteStore.d.ts.map +1 -1
- package/dist/issues/sqliteStore.js +7 -2
- package/dist/issues/sqliteStore.js.map +1 -1
- package/dist/knowledge/scanner.d.ts.map +1 -1
- package/dist/knowledge/scanner.js +5 -0
- package/dist/knowledge/scanner.js.map +1 -1
- package/dist/linear/linear.d.ts +45 -2
- package/dist/linear/linear.d.ts.map +1 -1
- package/dist/linear/linear.js +154 -3
- package/dist/linear/linear.js.map +1 -1
- package/dist/locale/prompts/en.d.ts.map +1 -1
- package/dist/locale/prompts/en.js +14 -2
- package/dist/locale/prompts/en.js.map +1 -1
- package/dist/locale/prompts/ko.d.ts.map +1 -1
- package/dist/locale/prompts/ko.js +14 -2
- package/dist/locale/prompts/ko.js.map +1 -1
- package/dist/mcp/mcpClient.d.ts +27 -0
- package/dist/mcp/mcpClient.d.ts.map +1 -0
- package/dist/mcp/mcpClient.js +145 -0
- package/dist/mcp/mcpClient.js.map +1 -0
- package/dist/memory/memoryCore.d.ts.map +1 -1
- package/dist/memory/memoryCore.js +8 -2
- package/dist/memory/memoryCore.js.map +1 -1
- package/dist/notify/notifier.d.ts +26 -0
- package/dist/notify/notifier.d.ts.map +1 -0
- package/dist/notify/notifier.js +131 -0
- package/dist/notify/notifier.js.map +1 -0
- package/dist/orchestration/conflictDetector.d.ts +5 -2
- package/dist/orchestration/conflictDetector.d.ts.map +1 -1
- package/dist/orchestration/conflictDetector.js +35 -6
- package/dist/orchestration/conflictDetector.js.map +1 -1
- package/dist/orchestration/decisionEngine.d.ts +20 -0
- package/dist/orchestration/decisionEngine.d.ts.map +1 -1
- package/dist/orchestration/decisionEngine.js +45 -0
- package/dist/orchestration/decisionEngine.js.map +1 -1
- package/dist/support/banner.d.ts +7 -0
- package/dist/support/banner.d.ts.map +1 -0
- package/dist/support/banner.js +32 -0
- package/dist/support/banner.js.map +1 -0
- package/dist/support/chat.js +28 -5
- package/dist/support/chat.js.map +1 -1
- package/dist/support/chatBackend.d.ts +6 -0
- package/dist/support/chatBackend.d.ts.map +1 -1
- package/dist/support/chatBackend.js +68 -0
- package/dist/support/chatBackend.js.map +1 -1
- package/dist/support/chatTui.d.ts.map +1 -1
- package/dist/support/chatTui.js +202 -9
- package/dist/support/chatTui.js.map +1 -1
- package/dist/support/colors.d.ts +15 -0
- package/dist/support/colors.d.ts.map +1 -0
- package/dist/support/colors.js +23 -0
- package/dist/support/colors.js.map +1 -0
- package/dist/support/planCommand.d.ts +17 -0
- package/dist/support/planCommand.d.ts.map +1 -0
- package/dist/support/planCommand.js +114 -0
- package/dist/support/planCommand.js.map +1 -0
- package/dist/support/planner.d.ts +9 -2
- package/dist/support/planner.d.ts.map +1 -1
- package/dist/support/planner.js +43 -111
- package/dist/support/planner.js.map +1 -1
- package/dist/support/promptHelper.d.ts +24 -0
- package/dist/support/promptHelper.d.ts.map +1 -0
- package/dist/support/promptHelper.js +94 -0
- package/dist/support/promptHelper.js.map +1 -0
- package/dist/support/rateLimiter.d.ts.map +1 -1
- package/dist/support/rateLimiter.js +6 -0
- package/dist/support/rateLimiter.js.map +1 -1
- package/dist/support/repoMetadata.d.ts +7 -0
- package/dist/support/repoMetadata.d.ts.map +1 -1
- package/dist/support/repoMetadata.js +13 -1
- package/dist/support/repoMetadata.js.map +1 -1
- package/dist/support/web.d.ts.map +1 -1
- package/dist/support/web.js +143 -65
- package/dist/support/web.js.map +1 -1
- package/dist/support/worktreeManager.d.ts +6 -1
- package/dist/support/worktreeManager.d.ts.map +1 -1
- package/dist/support/worktreeManager.js +23 -1
- package/dist/support/worktreeManager.js.map +1 -1
- package/dist/taskState/store.d.ts +1 -0
- package/dist/taskState/store.d.ts.map +1 -1
- package/dist/taskState/store.js +22 -1
- package/dist/taskState/store.js.map +1 -1
- package/package.json +4 -2
package/dist/support/chatTui.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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:
|
|
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"}
|