claude-flow 2.0.0-alpha.64 → 2.0.0-alpha.65
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/CHANGELOG.md +18 -0
- package/bin/claude-flow +1 -1
- package/dist/api/claude-api-errors.d.ts +115 -0
- package/dist/api/claude-api-errors.d.ts.map +1 -0
- package/dist/api/claude-api-errors.js +198 -0
- package/dist/api/claude-api-errors.js.map +1 -0
- package/dist/api/claude-client-enhanced.d.ts +109 -0
- package/dist/api/claude-client-enhanced.d.ts.map +1 -0
- package/dist/api/claude-client-enhanced.js +479 -0
- package/dist/api/claude-client-enhanced.js.map +1 -0
- package/dist/api/claude-client.d.ts +42 -0
- package/dist/api/claude-client.d.ts.map +1 -1
- package/dist/api/claude-client.js +217 -14
- package/dist/api/claude-client.js.map +1 -1
- package/dist/cli/commands/hive-mind/pause.d.ts.map +1 -1
- package/dist/cli/commands/hive-mind/pause.js +6 -5
- package/dist/cli/commands/hive-mind/pause.js.map +1 -1
- package/dist/cli/commands/hive-mind/ps.js.map +1 -1
- package/dist/cli/commands/hive-mind/resume.d.ts.map +1 -1
- package/dist/cli/commands/hive-mind/resume.js +4 -3
- package/dist/cli/commands/hive-mind/resume.js.map +1 -1
- package/dist/cli/commands/hive-mind/stop.js.map +1 -1
- package/dist/cli/repl.d.ts.map +1 -1
- package/dist/cli/repl.js +44 -22
- package/dist/cli/repl.js.map +1 -1
- package/dist/cli/simple-cli.js +4 -3
- package/dist/cli/simple-cli.js.map +1 -1
- package/dist/cli/simple-commands/coordination.js +60 -40
- package/dist/cli/simple-commands/coordination.js.map +1 -1
- package/dist/cli/simple-commands/hive-mind/auto-save-middleware.d.ts +3 -4
- package/dist/cli/simple-commands/hive-mind/auto-save-middleware.d.ts.map +1 -1
- package/dist/cli/simple-commands/hive-mind/auto-save-middleware.js +6 -6
- package/dist/cli/simple-commands/hive-mind/auto-save-middleware.js.map +1 -1
- package/dist/cli/simple-commands/hive-mind/mcp-wrapper.d.ts +1 -1
- package/dist/cli/simple-commands/hive-mind/mcp-wrapper.d.ts.map +1 -1
- package/dist/cli/simple-commands/hive-mind/mcp-wrapper.js +64 -7
- package/dist/cli/simple-commands/hive-mind/mcp-wrapper.js.map +1 -1
- package/dist/cli/simple-commands/hive-mind/session-manager.d.ts +139 -0
- package/dist/cli/simple-commands/hive-mind/session-manager.d.ts.map +1 -0
- package/dist/cli/simple-commands/hive-mind/session-manager.js +308 -95
- package/dist/cli/simple-commands/hive-mind/session-manager.js.map +1 -1
- package/dist/cli/simple-commands/hive-mind.d.ts.map +1 -1
- package/dist/cli/simple-commands/hive-mind.js +88 -10
- package/dist/cli/simple-commands/hive-mind.js.map +1 -1
- package/dist/cli/simple-commands/init/claude-commands/optimized-slash-commands.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/claude-commands/optimized-slash-commands.js +45 -22
- package/dist/cli/simple-commands/init/claude-commands/optimized-slash-commands.js.map +1 -1
- package/dist/cli/simple-commands/init/claude-commands/slash-commands.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/claude-commands/slash-commands.js +34 -13
- package/dist/cli/simple-commands/init/claude-commands/slash-commands.js.map +1 -1
- package/dist/cli/simple-commands/init/claude-commands/sparc-commands.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/claude-commands/sparc-commands.js +107 -30
- package/dist/cli/simple-commands/init/claude-commands/sparc-commands.js.map +1 -1
- package/dist/cli/simple-commands/init/copy-revised-templates.d.ts +29 -0
- package/dist/cli/simple-commands/init/copy-revised-templates.d.ts.map +1 -0
- package/dist/cli/simple-commands/init/copy-revised-templates.js +159 -0
- package/dist/cli/simple-commands/init/copy-revised-templates.js.map +1 -0
- package/dist/cli/simple-commands/init/index.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/index.js +139 -196
- package/dist/cli/simple-commands/init/index.js.map +1 -1
- package/dist/cli/simple-commands/init/template-copier.d.ts +27 -0
- package/dist/cli/simple-commands/init/template-copier.d.ts.map +1 -0
- package/dist/cli/simple-commands/init/template-copier.js +510 -0
- package/dist/cli/simple-commands/init/template-copier.js.map +1 -0
- package/dist/cli/simple-commands/init/templates/sparc-modes.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/templates/sparc-modes.js +634 -23
- package/dist/cli/simple-commands/init/templates/sparc-modes.js.map +1 -1
- package/dist/cli/simple-orchestrator.d.ts.map +1 -1
- package/dist/cli/simple-orchestrator.js +2 -1
- package/dist/cli/simple-orchestrator.js.map +1 -1
- package/dist/cli/ui/compatible-ui.js +1 -1
- package/dist/cli/ui/compatible-ui.js.map +1 -1
- package/dist/cli/ui/index.d.ts.map +1 -1
- package/dist/cli/ui/index.js +4 -2
- package/dist/cli/ui/index.js.map +1 -1
- package/dist/cli/utils/environment-detector.d.ts +5 -0
- package/dist/cli/utils/environment-detector.d.ts.map +1 -1
- package/dist/cli/utils/environment-detector.js.map +1 -1
- package/dist/core/logger.d.ts +2 -0
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +3 -0
- package/dist/core/logger.js.map +1 -1
- package/dist/hive-mind/core/DatabaseManager.d.ts +6 -0
- package/dist/hive-mind/core/DatabaseManager.d.ts.map +1 -1
- package/dist/hive-mind/core/DatabaseManager.js +66 -15
- package/dist/hive-mind/core/DatabaseManager.js.map +1 -1
- package/dist/memory/backends/sqlite.d.ts +1 -0
- package/dist/memory/backends/sqlite.d.ts.map +1 -1
- package/dist/memory/backends/sqlite.js +17 -2
- package/dist/memory/backends/sqlite.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/commands/hive-mind/pause.ts +6 -5
- package/src/cli/commands/hive-mind/ps.ts +4 -4
- package/src/cli/commands/hive-mind/resume.ts +4 -3
- package/src/cli/commands/hive-mind/stop.ts +1 -1
- package/src/cli/help-text.js +1 -1
- package/src/cli/repl.ts +44 -22
- package/src/cli/simple-cli.js +1 -1
- package/src/cli/simple-cli.ts +11 -10
- package/src/cli/simple-commands/init/index.js +1 -0
- package/src/cli/simple-orchestrator.ts +2 -1
- package/src/cli/ui/compatible-ui.ts +1 -1
- package/src/cli/ui/index.ts +4 -2
- package/src/cli/utils/environment-detector.ts +2 -2
- package/src/core/logger.ts +5 -0
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* SQLite backend implementation for memory storage
|
|
3
3
|
*/
|
|
4
|
-
import Database from 'better-sqlite3';
|
|
5
4
|
import { promises as fs } from 'fs';
|
|
6
5
|
import path from 'path';
|
|
7
6
|
import { MemoryBackendError } from '../../utils/errors.js';
|
|
7
|
+
// Dynamic imports for SQLite
|
|
8
|
+
let createDatabase;
|
|
9
|
+
let isSQLiteAvailable;
|
|
8
10
|
/**
|
|
9
11
|
* SQLite-based memory backend
|
|
10
12
|
*/
|
|
@@ -12,6 +14,7 @@ export class SQLiteBackend {
|
|
|
12
14
|
dbPath;
|
|
13
15
|
logger;
|
|
14
16
|
db;
|
|
17
|
+
sqliteLoaded = false;
|
|
15
18
|
constructor(dbPath, logger) {
|
|
16
19
|
this.dbPath = dbPath;
|
|
17
20
|
this.logger = logger;
|
|
@@ -19,11 +22,23 @@ export class SQLiteBackend {
|
|
|
19
22
|
async initialize() {
|
|
20
23
|
this.logger.info('Initializing SQLite backend', { dbPath: this.dbPath });
|
|
21
24
|
try {
|
|
25
|
+
// Load SQLite wrapper if not loaded
|
|
26
|
+
if (!this.sqliteLoaded) {
|
|
27
|
+
const module = await import('../sqlite-wrapper.js');
|
|
28
|
+
createDatabase = module.createDatabase;
|
|
29
|
+
isSQLiteAvailable = module.isSQLiteAvailable;
|
|
30
|
+
this.sqliteLoaded = true;
|
|
31
|
+
}
|
|
32
|
+
// Check if SQLite is available
|
|
33
|
+
const sqliteAvailable = await isSQLiteAvailable();
|
|
34
|
+
if (!sqliteAvailable) {
|
|
35
|
+
throw new Error('SQLite module not available');
|
|
36
|
+
}
|
|
22
37
|
// Ensure directory exists
|
|
23
38
|
const dir = path.dirname(this.dbPath);
|
|
24
39
|
await fs.mkdir(dir, { recursive: true });
|
|
25
40
|
// Open SQLite connection
|
|
26
|
-
this.db =
|
|
41
|
+
this.db = await createDatabase(this.dbPath);
|
|
27
42
|
// Enable WAL mode for better performance
|
|
28
43
|
this.db.pragma('journal_mode = WAL');
|
|
29
44
|
this.db.pragma('synchronous = NORMAL');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../src/memory/backends/sqlite.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../src/memory/backends/sqlite.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -40,7 +40,7 @@ export const pauseCommand = new Command('pause')
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
console.log(chalk.cyan(`Pausing session ${sessionId}...`));
|
|
43
|
-
const result = sessionManager.pauseSession(sessionId);
|
|
43
|
+
const result = await sessionManager.pauseSession(sessionId);
|
|
44
44
|
|
|
45
45
|
if (result) {
|
|
46
46
|
console.log(chalk.green(`✓ Session ${sessionId} paused successfully`));
|
|
@@ -50,9 +50,10 @@ export const pauseCommand = new Command('pause')
|
|
|
50
50
|
}
|
|
51
51
|
} else {
|
|
52
52
|
// Interactive selection
|
|
53
|
-
const sessions = sessionManager.getActiveSessions()
|
|
53
|
+
const sessions = await sessionManager.getActiveSessions();
|
|
54
|
+
const activeSessions = sessions.filter((s: any) => s.status === 'active');
|
|
54
55
|
|
|
55
|
-
if (
|
|
56
|
+
if (activeSessions.length === 0) {
|
|
56
57
|
console.log(chalk.yellow('No active sessions found to pause'));
|
|
57
58
|
return;
|
|
58
59
|
}
|
|
@@ -62,7 +63,7 @@ export const pauseCommand = new Command('pause')
|
|
|
62
63
|
type: 'list',
|
|
63
64
|
name: 'sessionId',
|
|
64
65
|
message: 'Select session to pause:',
|
|
65
|
-
choices:
|
|
66
|
+
choices: activeSessions.map((s: any) => ({
|
|
66
67
|
name: `${s.swarm_name} (${s.id}) - ${s.completion_percentage}% complete`,
|
|
67
68
|
value: s.id,
|
|
68
69
|
})),
|
|
@@ -70,7 +71,7 @@ export const pauseCommand = new Command('pause')
|
|
|
70
71
|
]);
|
|
71
72
|
|
|
72
73
|
console.log(chalk.cyan(`Pausing session ${sessionId}...`));
|
|
73
|
-
const result = sessionManager.pauseSession(sessionId);
|
|
74
|
+
const result = await sessionManager.pauseSession(sessionId);
|
|
74
75
|
|
|
75
76
|
if (result) {
|
|
76
77
|
console.log(chalk.green(`✓ Session paused successfully`));
|
|
@@ -22,7 +22,7 @@ export const psCommand = new Command('ps')
|
|
|
22
22
|
? sessionManager.getActiveSessionsWithProcessInfo()
|
|
23
23
|
: sessionManager
|
|
24
24
|
.getActiveSessionsWithProcessInfo()
|
|
25
|
-
.filter((s) => s.status === 'active' || s.status === 'paused');
|
|
25
|
+
.filter((s: any) => s.status === 'active' || s.status === 'paused');
|
|
26
26
|
|
|
27
27
|
if (sessions.length === 0) {
|
|
28
28
|
console.log(chalk.yellow('No sessions found'));
|
|
@@ -108,9 +108,9 @@ export const psCommand = new Command('ps')
|
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
// Summary
|
|
111
|
-
const activeSessions = sessions.filter((s) => s.status === 'active').length;
|
|
112
|
-
const pausedSessions = sessions.filter((s) => s.status === 'paused').length;
|
|
113
|
-
const totalProcesses = sessions.reduce((sum, s) => sum + s.total_processes, 0);
|
|
111
|
+
const activeSessions = sessions.filter((s: any) => s.status === 'active').length;
|
|
112
|
+
const pausedSessions = sessions.filter((s: any) => s.status === 'paused').length;
|
|
113
|
+
const totalProcesses = sessions.reduce((sum: any, s: any) => sum + s.total_processes, 0);
|
|
114
114
|
|
|
115
115
|
console.log('\n' + chalk.bold('Summary:'));
|
|
116
116
|
console.log(chalk.gray(` Active sessions: ${activeSessions}`));
|
|
@@ -30,9 +30,10 @@ export const resumeCommand = new Command('resume')
|
|
|
30
30
|
console.log(chalk.gray(`Progress: ${session.statistics.completionPercentage}%`));
|
|
31
31
|
} else {
|
|
32
32
|
// Interactive selection
|
|
33
|
-
const sessions = sessionManager.getActiveSessions()
|
|
33
|
+
const sessions = await sessionManager.getActiveSessions();
|
|
34
|
+
const pausedSessions = sessions.filter((s: any) => s.status === 'paused');
|
|
34
35
|
|
|
35
|
-
if (
|
|
36
|
+
if (pausedSessions.length === 0) {
|
|
36
37
|
console.log(chalk.yellow('No paused sessions found to resume'));
|
|
37
38
|
return;
|
|
38
39
|
}
|
|
@@ -42,7 +43,7 @@ export const resumeCommand = new Command('resume')
|
|
|
42
43
|
type: 'list',
|
|
43
44
|
name: 'sessionId',
|
|
44
45
|
message: 'Select session to resume:',
|
|
45
|
-
choices:
|
|
46
|
+
choices: pausedSessions.map((s: any) => ({
|
|
46
47
|
name: `${s.swarm_name} (${s.id}) - ${s.completion_percentage}% complete`,
|
|
47
48
|
value: s.id,
|
|
48
49
|
})),
|
|
@@ -99,7 +99,7 @@ export const stopCommand = new Command('stop')
|
|
|
99
99
|
type: 'list',
|
|
100
100
|
name: 'sessionId',
|
|
101
101
|
message: 'Select session to stop:',
|
|
102
|
-
choices: sessions.map((s) => ({
|
|
102
|
+
choices: sessions.map((s: any) => ({
|
|
103
103
|
name: `${s.swarm_name} (${s.id}) - ${s.total_processes} process(es)`,
|
|
104
104
|
value: s.id,
|
|
105
105
|
})),
|
package/src/cli/help-text.js
CHANGED
package/src/cli/repl.ts
CHANGED
|
@@ -378,11 +378,15 @@ export async function startREPL(options: any = {}): Promise<void> {
|
|
|
378
378
|
// Main REPL loop
|
|
379
379
|
while (true) {
|
|
380
380
|
try {
|
|
381
|
-
const
|
|
382
|
-
const input = await
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
381
|
+
const promptString = createPrompt(context);
|
|
382
|
+
const { input } = await inquirer.prompt([
|
|
383
|
+
{
|
|
384
|
+
type: 'input',
|
|
385
|
+
name: 'input',
|
|
386
|
+
message: promptString,
|
|
387
|
+
transformer: (input: string) => input,
|
|
388
|
+
},
|
|
389
|
+
]);
|
|
386
390
|
|
|
387
391
|
if (!input.trim()) {
|
|
388
392
|
continue;
|
|
@@ -682,10 +686,14 @@ async function handleAgentSpawn(args: string[]): Promise<void> {
|
|
|
682
686
|
const type = args[0];
|
|
683
687
|
const name =
|
|
684
688
|
args[1] ||
|
|
685
|
-
(await
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
+
(await inquirer.prompt([
|
|
690
|
+
{
|
|
691
|
+
type: 'input',
|
|
692
|
+
name: 'name',
|
|
693
|
+
message: 'Agent name:',
|
|
694
|
+
default: `${type}-agent`,
|
|
695
|
+
},
|
|
696
|
+
])).name;
|
|
689
697
|
|
|
690
698
|
console.log(chalk.yellow('Spawning agent...'));
|
|
691
699
|
|
|
@@ -849,10 +857,14 @@ async function showTaskStatus(taskId: string): Promise<void> {
|
|
|
849
857
|
}
|
|
850
858
|
|
|
851
859
|
async function handleTaskCancel(taskId: string): Promise<void> {
|
|
852
|
-
const confirmed = await
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
860
|
+
const { confirmed } = await inquirer.prompt([
|
|
861
|
+
{
|
|
862
|
+
type: 'confirm',
|
|
863
|
+
name: 'confirmed',
|
|
864
|
+
message: `Cancel task ${taskId}?`,
|
|
865
|
+
default: false,
|
|
866
|
+
},
|
|
867
|
+
]);
|
|
856
868
|
|
|
857
869
|
if (!confirmed) {
|
|
858
870
|
console.log(chalk.gray('Cancellation cancelled'));
|
|
@@ -957,10 +969,14 @@ async function handleSessionSave(args: string[]): Promise<void> {
|
|
|
957
969
|
const name =
|
|
958
970
|
args.length > 0
|
|
959
971
|
? args.join(' ')
|
|
960
|
-
: await
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
972
|
+
: (await inquirer.prompt([
|
|
973
|
+
{
|
|
974
|
+
type: 'input',
|
|
975
|
+
name: 'name',
|
|
976
|
+
message: 'Session name:',
|
|
977
|
+
default: `session-${new Date().toISOString().split('T')[0]}`,
|
|
978
|
+
},
|
|
979
|
+
])).name;
|
|
964
980
|
|
|
965
981
|
console.log(chalk.yellow('Saving session...'));
|
|
966
982
|
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
@@ -972,10 +988,14 @@ async function handleSessionSave(args: string[]): Promise<void> {
|
|
|
972
988
|
}
|
|
973
989
|
|
|
974
990
|
async function handleSessionRestore(sessionId: string): Promise<void> {
|
|
975
|
-
const confirmed = await
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
991
|
+
const { confirmed } = await inquirer.prompt([
|
|
992
|
+
{
|
|
993
|
+
type: 'confirm',
|
|
994
|
+
name: 'confirmed',
|
|
995
|
+
message: `Restore session ${sessionId}?`,
|
|
996
|
+
default: false,
|
|
997
|
+
},
|
|
998
|
+
]);
|
|
979
999
|
|
|
980
1000
|
if (!confirmed) {
|
|
981
1001
|
console.log(chalk.gray('Restore cancelled'));
|
|
@@ -1032,7 +1052,9 @@ async function showWorkflowList(): Promise<void> {
|
|
|
1032
1052
|
console.log(chalk.cyan.bold(`Workflows (${workflows.length})`));
|
|
1033
1053
|
console.log('─'.repeat(50));
|
|
1034
1054
|
|
|
1035
|
-
const table = new Table(
|
|
1055
|
+
const table = new Table({
|
|
1056
|
+
head: ['ID', 'Name', 'Status', 'Progress'],
|
|
1057
|
+
});
|
|
1036
1058
|
|
|
1037
1059
|
for (const workflow of workflows) {
|
|
1038
1060
|
const statusIcon = formatStatusIndicator(workflow.status);
|
package/src/cli/simple-cli.js
CHANGED
|
@@ -27,7 +27,7 @@ import process from 'process';
|
|
|
27
27
|
import readline from 'readline';
|
|
28
28
|
import { getMainHelp, getCommandHelp, getStandardizedCommandHelp } from './help-text.js';
|
|
29
29
|
|
|
30
|
-
const VERSION = '2.0.0-alpha.
|
|
30
|
+
const VERSION = '2.0.0-alpha.65';
|
|
31
31
|
|
|
32
32
|
function printHelp(plain = false) {
|
|
33
33
|
console.log(getMainHelp(plain));
|
package/src/cli/simple-cli.ts
CHANGED
|
@@ -232,7 +232,7 @@ async function main() {
|
|
|
232
232
|
case 'spawn':
|
|
233
233
|
// Convenience alias for agent spawn
|
|
234
234
|
const spawnType = subArgs[0] || 'general';
|
|
235
|
-
const spawnName = flags.name || `agent-${Date.now()}`;
|
|
235
|
+
const spawnName = (flags as any).name || `agent-${Date.now()}`;
|
|
236
236
|
|
|
237
237
|
printSuccess(`Spawning ${spawnType} agent: ${spawnName}`);
|
|
238
238
|
console.log('🤖 Agent would be created with the following configuration:');
|
|
@@ -2070,14 +2070,14 @@ async function startRepl() {
|
|
|
2070
2070
|
console.log('Type "help" for available commands, "exit" to quit\n');
|
|
2071
2071
|
|
|
2072
2072
|
const replState = {
|
|
2073
|
-
history: [],
|
|
2073
|
+
history: [] as string[],
|
|
2074
2074
|
historyIndex: -1,
|
|
2075
2075
|
currentSession: null,
|
|
2076
2076
|
context: {
|
|
2077
|
-
agents: [],
|
|
2078
|
-
tasks: [],
|
|
2079
|
-
terminals: [],
|
|
2080
|
-
memory: {},
|
|
2077
|
+
agents: [] as any[],
|
|
2078
|
+
tasks: [] as any[],
|
|
2079
|
+
terminals: [] as any[],
|
|
2080
|
+
memory: {} as Record<string, any>,
|
|
2081
2081
|
},
|
|
2082
2082
|
};
|
|
2083
2083
|
|
|
@@ -2147,7 +2147,7 @@ Shortcuts:
|
|
|
2147
2147
|
|
|
2148
2148
|
config: async (key: string) => {
|
|
2149
2149
|
try {
|
|
2150
|
-
const config = JSON.parse(await fs.readFile('claude-flow.config.json'));
|
|
2150
|
+
const config = JSON.parse(await fs.readFile('claude-flow.config.json', 'utf-8'));
|
|
2151
2151
|
if (key) {
|
|
2152
2152
|
const keys = key.split('.');
|
|
2153
2153
|
let value = config;
|
|
@@ -2220,8 +2220,8 @@ Shortcuts:
|
|
|
2220
2220
|
const args = parts.slice(1);
|
|
2221
2221
|
|
|
2222
2222
|
// Handle built-in REPL commands
|
|
2223
|
-
if (replCommands
|
|
2224
|
-
await replCommands[command](...args);
|
|
2223
|
+
if (command in replCommands) {
|
|
2224
|
+
await (replCommands as any)[command](...args);
|
|
2225
2225
|
return true;
|
|
2226
2226
|
}
|
|
2227
2227
|
|
|
@@ -3289,6 +3289,7 @@ For more information about SPARC methodology, see: https://github.com/ruvnet/cla
|
|
|
3289
3289
|
`;
|
|
3290
3290
|
}
|
|
3291
3291
|
|
|
3292
|
-
|
|
3292
|
+
// Run main if executed directly
|
|
3293
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
3293
3294
|
await main();
|
|
3294
3295
|
}
|
|
@@ -1187,6 +1187,7 @@ ${commands.map((cmd) => `- [${cmd}](./${cmd}.md)`).join('\n')}
|
|
|
1187
1187
|
swarm_id TEXT,
|
|
1188
1188
|
name TEXT NOT NULL,
|
|
1189
1189
|
type TEXT NOT NULL,
|
|
1190
|
+
role TEXT,
|
|
1190
1191
|
capabilities TEXT,
|
|
1191
1192
|
status TEXT DEFAULT 'active',
|
|
1192
1193
|
performance_score REAL DEFAULT 0.5,
|
|
@@ -476,7 +476,8 @@ function startWebUI(host: string, port: number) {
|
|
|
476
476
|
app.post('/api/command', express.json(), (req, res) => {
|
|
477
477
|
const { command } = req.body;
|
|
478
478
|
if (!command) {
|
|
479
|
-
|
|
479
|
+
res.status(400).json({ error: 'Command is required' });
|
|
480
|
+
return;
|
|
480
481
|
}
|
|
481
482
|
|
|
482
483
|
// Execute command and return immediately
|
package/src/cli/ui/index.ts
CHANGED
|
@@ -24,7 +24,9 @@ export {
|
|
|
24
24
|
* Main UI launcher that automatically selects the best available UI
|
|
25
25
|
*/
|
|
26
26
|
export async function launchBestUI(): Promise<void> {
|
|
27
|
-
const
|
|
27
|
+
const fallbackHandler = await import('./fallback-handler.js');
|
|
28
|
+
const { checkUISupport, handleRawModeError } = fallbackHandler;
|
|
29
|
+
const launchUI = (fallbackHandler as any).launchUI;
|
|
28
30
|
const support = checkUISupport();
|
|
29
31
|
|
|
30
32
|
if (support.supported) {
|
|
@@ -40,7 +42,7 @@ export async function launchBestUI(): Promise<void> {
|
|
|
40
42
|
}
|
|
41
43
|
}
|
|
42
44
|
} else {
|
|
43
|
-
const { launchUI: launchCompatibleUI } = await import('./compatible-ui.
|
|
45
|
+
const { launchUI: launchCompatibleUI } = await import('./compatible-ui.js');
|
|
44
46
|
console.log('🔄 Using compatible UI mode for this environment');
|
|
45
47
|
await launchCompatibleUI();
|
|
46
48
|
}
|
|
@@ -223,10 +223,10 @@ function showEnvironmentWarnings(env: ExecutionEnvironment): void {
|
|
|
223
223
|
export function applySmartDefaults<T extends Record<string, any>>(
|
|
224
224
|
options: T,
|
|
225
225
|
env?: ExecutionEnvironment,
|
|
226
|
-
): T & { appliedDefaults: string[] } {
|
|
226
|
+
): T & { appliedDefaults: string[]; skipPermissions?: boolean; dangerouslySkipPermissions?: boolean; nonInteractive?: boolean; json?: boolean; noColor?: boolean; } {
|
|
227
227
|
const environment = env || detectExecutionEnvironment({ skipWarnings: true });
|
|
228
228
|
const appliedDefaults: string[] = [];
|
|
229
|
-
const enhanced = { ...options, appliedDefaults };
|
|
229
|
+
const enhanced = { ...options, appliedDefaults } as T & { appliedDefaults: string[]; skipPermissions?: boolean; dangerouslySkipPermissions?: boolean; nonInteractive?: boolean; json?: boolean; noColor?: boolean; };
|
|
230
230
|
|
|
231
231
|
// Apply defaults based on environment
|
|
232
232
|
if (
|
package/src/core/logger.ts
CHANGED
|
@@ -15,6 +15,7 @@ export interface ILogger {
|
|
|
15
15
|
warn(message: string, meta?: unknown): void;
|
|
16
16
|
error(message: string, error?: unknown): void;
|
|
17
17
|
configure(config: LoggingConfig): Promise<void>;
|
|
18
|
+
level?: string;
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
export enum LogLevel {
|
|
@@ -45,6 +46,10 @@ export class Logger implements ILogger {
|
|
|
45
46
|
private currentFileIndex = 0;
|
|
46
47
|
private isClosing = false;
|
|
47
48
|
|
|
49
|
+
get level(): string {
|
|
50
|
+
return this.config.level;
|
|
51
|
+
}
|
|
52
|
+
|
|
48
53
|
constructor(
|
|
49
54
|
config: LoggingConfig = {
|
|
50
55
|
level: 'info',
|