paean 0.4.2 → 0.6.2

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 (67) hide show
  1. package/CHANGELOG.md +114 -0
  2. package/dist/cli.js +2 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/worker.d.ts +7 -0
  5. package/dist/commands/worker.d.ts.map +1 -0
  6. package/dist/commands/worker.js +321 -0
  7. package/dist/commands/worker.js.map +1 -0
  8. package/dist/index.d.ts +2 -0
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +4 -0
  11. package/dist/index.js.map +1 -1
  12. package/dist/mcp/system.d.ts +30 -0
  13. package/dist/mcp/system.d.ts.map +1 -0
  14. package/dist/mcp/system.js +530 -0
  15. package/dist/mcp/system.js.map +1 -0
  16. package/dist/mcp/tools.d.ts +1 -1
  17. package/dist/mcp/tools.d.ts.map +1 -1
  18. package/dist/mcp/tools.js +5 -1
  19. package/dist/mcp/tools.js.map +1 -1
  20. package/dist/ui/theme/branding.d.ts.map +1 -1
  21. package/dist/ui/theme/branding.js +2 -7
  22. package/dist/ui/theme/branding.js.map +1 -1
  23. package/dist/worker/executors/claude.d.ts +29 -0
  24. package/dist/worker/executors/claude.d.ts.map +1 -0
  25. package/dist/worker/executors/claude.js +114 -0
  26. package/dist/worker/executors/claude.js.map +1 -0
  27. package/dist/worker/executors/codex.d.ts +29 -0
  28. package/dist/worker/executors/codex.d.ts.map +1 -0
  29. package/dist/worker/executors/codex.js +126 -0
  30. package/dist/worker/executors/codex.js.map +1 -0
  31. package/dist/worker/executors/cursor.d.ts +29 -0
  32. package/dist/worker/executors/cursor.d.ts.map +1 -0
  33. package/dist/worker/executors/cursor.js +136 -0
  34. package/dist/worker/executors/cursor.js.map +1 -0
  35. package/dist/worker/executors/gemini.d.ts +29 -0
  36. package/dist/worker/executors/gemini.d.ts.map +1 -0
  37. package/dist/worker/executors/gemini.js +129 -0
  38. package/dist/worker/executors/gemini.js.map +1 -0
  39. package/dist/worker/executors/index.d.ts +56 -0
  40. package/dist/worker/executors/index.d.ts.map +1 -0
  41. package/dist/worker/executors/index.js +108 -0
  42. package/dist/worker/executors/index.js.map +1 -0
  43. package/dist/worker/executors/internal.d.ts +23 -0
  44. package/dist/worker/executors/internal.d.ts.map +1 -0
  45. package/dist/worker/executors/internal.js +77 -0
  46. package/dist/worker/executors/internal.js.map +1 -0
  47. package/dist/worker/executors/opencode.d.ts +31 -0
  48. package/dist/worker/executors/opencode.d.ts.map +1 -0
  49. package/dist/worker/executors/opencode.js +129 -0
  50. package/dist/worker/executors/opencode.js.map +1 -0
  51. package/dist/worker/index.d.ts +14 -0
  52. package/dist/worker/index.d.ts.map +1 -0
  53. package/dist/worker/index.js +17 -0
  54. package/dist/worker/index.js.map +1 -0
  55. package/dist/worker/service.d.ts +72 -0
  56. package/dist/worker/service.d.ts.map +1 -0
  57. package/dist/worker/service.js +435 -0
  58. package/dist/worker/service.js.map +1 -0
  59. package/dist/worker/supervisor.d.ts +83 -0
  60. package/dist/worker/supervisor.d.ts.map +1 -0
  61. package/dist/worker/supervisor.js +412 -0
  62. package/dist/worker/supervisor.js.map +1 -0
  63. package/dist/worker/types.d.ts +278 -0
  64. package/dist/worker/types.d.ts.map +1 -0
  65. package/dist/worker/types.js +71 -0
  66. package/dist/worker/types.js.map +1 -0
  67. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,119 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.6.0] - Intelligent Worker Sub-Agent (2026-01-21)
4
+
5
+ ### 🚀 Major Features
6
+
7
+ #### Natural Language Prompt Mode (`paean worker prompt`)
8
+ - **New Command**: `paean worker prompt "Your task"` - Execute tasks using natural language
9
+ - **Supervisor Agent**: Intelligent task grooming and executor routing
10
+ - **Multi-Agent Support**: Route tasks to Claude, Gemini, Cursor, or Codex based on complexity
11
+ - **Dry-Run Mode**: Preview execution plan without running (`--dry-run`)
12
+ - **Persistent Tasks**: Create tasks for later execution (`--create-task`)
13
+
14
+ #### Multi-Agent Executor Framework
15
+ - **Internal Executor**: Built-in Paean agent for standard tasks
16
+ - **Claude CLI Executor**: Integration with Claude Code CLI for complex refactoring
17
+ - **Gemini CLI Executor**: Integration with Gemini CLI for analysis tasks
18
+ - **Cursor CLI Executor**: Integration with Cursor Agent for context-aware edits
19
+ - **Codex CLI Executor**: Integration with OpenAI Codex CLI for code generation
20
+ - **OpenCode CLI Executor**: Integration with OpenCode CLI for AI-assisted coding
21
+
22
+ #### Supervisor Architecture
23
+ - **Task Grooming**: Transforms natural language into structured prompts
24
+ - **Intelligent Routing**: Selects executor based on task complexity and tags
25
+ - **Semantic Verification**: LLM-based diff analysis for completion validation
26
+ - **Failure Recovery**: Smart retry strategies including executor switching
27
+
28
+ ### 📦 New Exports
29
+
30
+ ```typescript
31
+ // Supervisor Agent
32
+ export { SupervisorAgent, getSupervisor } from 'paean';
33
+ export type { SupervisorDecision, VerificationResult, RecoveryStrategy } from 'paean';
34
+
35
+ // Executor Framework
36
+ export { ExecutorRegistry, getExecutorRegistry } from 'paean';
37
+ export { InternalExecutor, ClaudeExecutor, GeminiExecutor, CursorExecutor, CodexExecutor } from 'paean';
38
+ export type { AgentExecutor, ExecutorType, ExecutorConfig, ExecutorResult } from 'paean';
39
+
40
+ // Prompt Command Types
41
+ export type { PromptCommandOptions, PromptResult } from 'paean';
42
+ ```
43
+
44
+ ### 🔧 Configuration Options
45
+
46
+ ```bash
47
+ # Natural language prompt execution
48
+ paean worker prompt "Refactor the auth module"
49
+ paean worker prompt -p "Fix login bug" --executor claude
50
+ paean worker prompt "Analyze code" --dry-run
51
+ paean worker prompt "Add feature" --create-task --priority high
52
+ paean worker prompt "Task" -v --auto-approve
53
+ ```
54
+
55
+ ### 🏗️ Architecture Improvements
56
+
57
+ - **SupervisorAgent Class**: Cloud-based and local heuristic task grooming
58
+ - **ExecutorRegistry**: Modular executor registration and availability checking
59
+ - **Shell Spawning**: Safe subprocess management with timeout handling
60
+ - **Graceful Degradation**: Falls back to internal executor if external unavailable
61
+
62
+ ### 🔧 New MCP Tools
63
+
64
+ - **paean_worker_execute_prompt**: Main agent can delegate tasks to local sub-agents
65
+ - Supports background execution for async task spawning
66
+ - Choices: internal/claude/gemini/cursor/codex executors
67
+ - Dry-run mode for task analysis without execution
68
+ - **paean_worker_status**: Monitor background worker tasks by PID
69
+
70
+ ---
71
+
72
+ ## [0.5.0] - Local Autonomous Worker Extension (2026-01-21)
73
+
74
+ ### 🚀 Major Features
75
+
76
+ #### Local Autonomous Worker (`paean worker`)
77
+ - **New Command**: `paean worker start` - Start autonomous task execution loop
78
+ - **24-Hour Operation**: Persistent task polling and execution without manual intervention
79
+ - **Self-Healing**: Automatic retry with failure context for failed tasks
80
+ - **Verification Loop**: Built-in task verification after execution
81
+ - **Graceful Shutdown**: Ctrl+C to stop with proper task release
82
+
83
+ #### Shell Execution Tools (System MCP)
84
+ - **New Tool**: `paean_execute_shell` - Execute shell commands with whitelist protection
85
+ - **New Tool**: `paean_check_process` - Check if a process is running by name or PID
86
+ - **New Tool**: `paean_kill_process` - Terminate processes gracefully
87
+ - **Security**: Command whitelist mechanism prevents dangerous operations in autonomous mode
88
+ - **Background Mode**: Support for detached process execution
89
+
90
+ ### 🏗️ Architecture
91
+
92
+ - **WorkerService Class**: Core worker loop with polling, execution, and verification
93
+ - **Task Context Building**: Automatic failure summary injection for retries
94
+ - **MCP Integration**: Shell tools seamlessly integrated with existing MCP toolset
95
+ - **Agent Subprocess Model**: Each task executed in isolated agent context
96
+
97
+ ### 📦 New Exports
98
+
99
+ ```typescript
100
+ // Worker Module
101
+ export { WorkerService, getWorker, resetWorker } from 'paean';
102
+ export type { WorkerConfig, WorkerState, TaskContext, WorkerEvent } from 'paean';
103
+
104
+ // Shell Tools
105
+ export { getSystemTools, executeSystemTool, isCommandWhitelisted } from 'paean';
106
+ ```
107
+
108
+ ### 🔧 Configuration Options
109
+
110
+ ```bash
111
+ paean worker start --interval 30000 # Poll every 30s (default)
112
+ paean worker start --max-retries 3 # Max retry attempts
113
+ paean worker start --timeout 600000 # Task timeout (10min)
114
+ paean worker start --no-verification # Disable verification step
115
+ ```
116
+
3
117
  ## [0.4.1] - Bug Fixes and Optimizations (2026-01-21)
4
118
 
5
119
  ### 🐛 Bug Fixes
package/dist/cli.js CHANGED
@@ -15,6 +15,7 @@ import { serveCommand } from './commands/serve.js';
15
15
  import { validateCommand } from './commands/validate.js';
16
16
  import { agentCommand, runAgentMode } from './commands/agent.js';
17
17
  import { traceCommand } from './commands/trace.js';
18
+ import { workerCommand } from './commands/worker.js';
18
19
  import { getConfigPath } from './utils/config.js';
19
20
  // Read version from package.json
20
21
  const __filename = fileURLToPath(import.meta.url);
@@ -50,6 +51,7 @@ program.addCommand(contextCommand);
50
51
  program.addCommand(serveCommand);
51
52
  program.addCommand(validateCommand);
52
53
  program.addCommand(traceCommand);
54
+ program.addCommand(workerCommand);
53
55
  // Temporarily disabled for publishing
54
56
  // program.addCommand(accessibilityCommand);
55
57
  // Parse arguments
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,iCAAiC;AACjC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAE7F,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,kDAAkD,CAAC;KAC/D,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;KAC5B,MAAM,CAAC,UAAU,EAAE,uBAAuB,CAAC;KAC3C,MAAM,CAAC,UAAU,EAAE,sCAAsC,CAAC;KAC1D,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC;KAC7C,MAAM,CAAC,yBAAyB,EAAE,gCAAgC,CAAC;KACnE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,mCAAmC;IACnC,MAAM,YAAY,CAAC;QACjB,GAAG,EAAE,OAAO,CAAC,GAAG,KAAK,KAAK;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,oBAAoB;AACpB,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACpC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,sCAAsC;AACtC,4CAA4C;AAE5C,kBAAkB;AAClB,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,iCAAiC;AACjC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAE7F,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,kDAAkD,CAAC;KAC/D,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;KAC5B,MAAM,CAAC,UAAU,EAAE,uBAAuB,CAAC;KAC3C,MAAM,CAAC,UAAU,EAAE,sCAAsC,CAAC;KAC1D,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC;KAC7C,MAAM,CAAC,yBAAyB,EAAE,gCAAgC,CAAC;KACnE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,mCAAmC;IACnC,MAAM,YAAY,CAAC;QACjB,GAAG,EAAE,OAAO,CAAC,GAAG,KAAK,KAAK;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,oBAAoB;AACpB,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACpC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,sCAAsC;AACtC,4CAA4C;AAE5C,kBAAkB;AAClB,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Worker Command
3
+ * CLI commands for the Local Autonomous Worker
4
+ */
5
+ import { Command } from 'commander';
6
+ export declare const workerCommand: Command;
7
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/commands/worker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC,eAAO,MAAM,aAAa,SAC8C,CAAC"}
@@ -0,0 +1,321 @@
1
+ /**
2
+ * Worker Command
3
+ * CLI commands for the Local Autonomous Worker
4
+ */
5
+ import { Command } from 'commander';
6
+ import chalk from 'chalk';
7
+ import { WorkerService, DEFAULT_WORKER_CONFIG, getSupervisor, getExecutorRegistry, InternalExecutor, ClaudeExecutor, GeminiExecutor, CursorExecutor, CodexExecutor, OpenCodeExecutor, } from '../worker/index.js';
8
+ import { isAuthenticated } from '../utils/config.js';
9
+ import * as output from '../utils/output.js';
10
+ import { createTodoItem } from '../api/todo.js';
11
+ export const workerCommand = new Command('worker')
12
+ .description('Autonomous worker mode for continuous task execution');
13
+ // Subcommand: worker start
14
+ workerCommand
15
+ .command('start')
16
+ .description('Start the autonomous worker loop')
17
+ .option('-i, --interval <ms>', 'Poll interval in milliseconds', String(DEFAULT_WORKER_CONFIG.pollInterval))
18
+ .option('-r, --max-retries <n>', 'Maximum retries per task', String(DEFAULT_WORKER_CONFIG.maxRetries))
19
+ .option('-t, --timeout <ms>', 'Task timeout in milliseconds', String(DEFAULT_WORKER_CONFIG.taskTimeout))
20
+ .option('--no-verification', 'Disable verification step')
21
+ .option('-d, --debug', 'Enable debug logging')
22
+ .action(async (options) => {
23
+ requireAuth();
24
+ const config = {
25
+ pollInterval: parseInt(options.interval, 10),
26
+ maxRetries: parseInt(options.maxRetries, 10),
27
+ taskTimeout: parseInt(options.timeout, 10),
28
+ verificationEnabled: options.verification !== false,
29
+ debug: options.debug ?? false,
30
+ autonomousMode: true,
31
+ };
32
+ console.log('');
33
+ console.log(chalk.bold.cyan(' ╔════════════════════════════════════════════╗'));
34
+ console.log(chalk.bold.cyan(' ║') + chalk.bold.white(' PAEAN WORKER ') + chalk.green('●') + chalk.white(' Starting...') + chalk.bold.cyan(' ║'));
35
+ console.log(chalk.bold.cyan(' ╚════════════════════════════════════════════╝'));
36
+ console.log('');
37
+ output.tableRow('Poll Interval', `${config.pollInterval / 1000}s`, 20);
38
+ output.tableRow('Max Retries', String(config.maxRetries), 20);
39
+ output.tableRow('Task Timeout', `${config.taskTimeout / 60000}min`, 20);
40
+ output.tableRow('Verification', config.verificationEnabled ? 'Enabled' : 'Disabled', 20);
41
+ console.log('');
42
+ const worker = new WorkerService(config);
43
+ // Track statistics
44
+ const startTime = Date.now();
45
+ // Event handler for UI updates
46
+ worker.onEvent((event) => {
47
+ const elapsed = formatDuration(Date.now() - startTime);
48
+ switch (event.type) {
49
+ case 'started':
50
+ console.log(chalk.green('✓') + chalk.dim(' Worker started'));
51
+ console.log(chalk.dim(` Press Ctrl+C to stop\n`));
52
+ break;
53
+ case 'stopped':
54
+ console.log(chalk.yellow('●') + chalk.dim(' Worker stopped'));
55
+ break;
56
+ case 'task_claimed':
57
+ console.log(chalk.cyan('▶') + ` Task claimed: ${chalk.white(truncate(event.task.content, 50))}`);
58
+ console.log(chalk.dim(` ID: ${event.task.id} | Priority: ${event.task.priority}`));
59
+ break;
60
+ case 'task_started':
61
+ console.log(chalk.blue('◉') + ` Executing (attempt ${event.attempt}/${config.maxRetries})...`);
62
+ break;
63
+ case 'task_completed':
64
+ console.log(chalk.green('✓') + ` Task completed in ${formatDuration(event.duration)}`);
65
+ console.log('');
66
+ break;
67
+ case 'task_failed':
68
+ console.log(chalk.red('✗') + ` Task failed: ${chalk.dim(truncate(event.error, 60))}`);
69
+ if (event.willRetry) {
70
+ console.log(chalk.yellow('↻') + chalk.dim(' Will retry...'));
71
+ }
72
+ break;
73
+ case 'task_verification_failed':
74
+ console.log(chalk.yellow('⚠') + ' Verification failed, will retry...');
75
+ break;
76
+ case 'poll_empty':
77
+ // Silent - no tasks available
78
+ if (config.debug) {
79
+ console.log(chalk.dim(` [${elapsed}] No pending tasks`));
80
+ }
81
+ break;
82
+ case 'error':
83
+ console.log(chalk.red('✗') + ` Error: ${event.error}`);
84
+ break;
85
+ }
86
+ });
87
+ // Handle graceful shutdown
88
+ const cleanup = async () => {
89
+ console.log('');
90
+ console.log(chalk.yellow('Stopping worker...'));
91
+ await worker.stop();
92
+ const state = worker.getState();
93
+ console.log('');
94
+ console.log(chalk.bold('Session Summary:'));
95
+ output.tableRow('Completed', String(state.completedCount), 15);
96
+ output.tableRow('Failed', String(state.failedCount), 15);
97
+ output.tableRow('Uptime', formatDuration(Date.now() - startTime), 15);
98
+ console.log('');
99
+ process.exit(0);
100
+ };
101
+ process.on('SIGINT', cleanup);
102
+ process.on('SIGTERM', cleanup);
103
+ // Start worker
104
+ try {
105
+ await worker.start();
106
+ // Keep process alive
107
+ await new Promise(() => { });
108
+ }
109
+ catch (error) {
110
+ console.log(chalk.red('✗') + ` Failed to start worker: ${error.message}`);
111
+ process.exit(1);
112
+ }
113
+ });
114
+ // Subcommand: worker status
115
+ workerCommand
116
+ .command('status')
117
+ .description('Check worker status')
118
+ .action(() => {
119
+ // Worker status is stored in memory, so we can only check if one is running
120
+ // in this process. For a persistent status, we'd need IPC or a pid file.
121
+ console.log(chalk.dim('Worker status is only available when running in the same process.'));
122
+ console.log(chalk.dim('Use `paean worker start` to start a worker.'));
123
+ });
124
+ // Subcommand: worker prompt
125
+ workerCommand
126
+ .command('prompt')
127
+ .description('Execute a natural language task with intelligent routing')
128
+ .argument('[prompt...]', 'Natural language task prompt')
129
+ .option('-p, --prompt <text>', 'Prompt text (alternative to positional)')
130
+ .option('-e, --executor <type>', 'Force specific executor (internal|claude|gemini|cursor|codex|opencode)')
131
+ .option('--auto-approve', 'Skip confirmation prompts')
132
+ .option('--dry-run', 'Show plan without execution')
133
+ .option('-w, --workspace <path>', 'Working directory')
134
+ .option('-v, --verbose', 'Enable verbose logging')
135
+ .option('--create-task', 'Create as persistent task instead of immediate execution')
136
+ .option('--priority <level>', 'Task priority if creating (high|medium|low)', 'medium')
137
+ .action(async (promptArgs, options) => {
138
+ requireAuth();
139
+ // Combine prompt from various sources
140
+ const promptText = options.prompt || promptArgs.join(' ');
141
+ if (!promptText.trim()) {
142
+ output.error('No prompt provided. Usage: paean worker prompt "Your task"');
143
+ process.exit(1);
144
+ }
145
+ console.log('');
146
+ console.log(chalk.bold.cyan(' ╔════════════════════════════════════════════╗'));
147
+ console.log(chalk.bold.cyan(' ║') + chalk.bold.white(' PAEAN WORKER ') + chalk.magenta('◆') + chalk.white(' Prompt Mode') + chalk.bold.cyan(' ║'));
148
+ console.log(chalk.bold.cyan(' ╚════════════════════════════════════════════╝'));
149
+ console.log('');
150
+ const debug = options.verbose ?? false;
151
+ const cwd = options.workspace || process.cwd();
152
+ // Initialize supervisor
153
+ const supervisor = getSupervisor({ debug, cloudEnabled: true });
154
+ // Show input prompt
155
+ console.log(chalk.cyan('▶') + chalk.bold(' Prompt:'));
156
+ console.log(chalk.dim(` ${truncate(promptText, 70)}`));
157
+ console.log('');
158
+ // Grooming phase
159
+ console.log(chalk.blue('◉') + ' Analyzing task...');
160
+ const startTime = Date.now();
161
+ const decision = await supervisor.groomTask(promptText, {
162
+ projectPath: cwd,
163
+ });
164
+ console.log(chalk.green('✓') + ' Task analyzed');
165
+ console.log('');
166
+ // Display decision
167
+ console.log(chalk.bold('📋 Supervisor Decision:'));
168
+ output.tableRow('Executor', decision.selectedExecutor, 18);
169
+ output.tableRow('Confidence', `${(decision.confidence * 100).toFixed(0)}%`, 18);
170
+ output.tableRow('Strategy', decision.verificationStrategy || 'none', 18);
171
+ if (decision.tags?.length) {
172
+ output.tableRow('Tags', decision.tags.join(', '), 18);
173
+ }
174
+ console.log('');
175
+ if (debug) {
176
+ console.log(chalk.dim('Reasoning: ' + decision.reasoning));
177
+ console.log('');
178
+ }
179
+ // Show groomed prompt
180
+ console.log(chalk.bold('📝 Groomed Prompt:'));
181
+ console.log(chalk.dim('─'.repeat(50)));
182
+ const lines = decision.groomedPrompt.split('\n').slice(0, 5);
183
+ for (const line of lines) {
184
+ console.log(chalk.dim(' ' + truncate(line, 60)));
185
+ }
186
+ if (decision.groomedPrompt.split('\n').length > 5) {
187
+ console.log(chalk.dim(' ... (truncated)'));
188
+ }
189
+ console.log(chalk.dim('─'.repeat(50)));
190
+ console.log('');
191
+ // Subtasks if any
192
+ if (decision.subtasks?.length) {
193
+ console.log(chalk.bold('📂 Subtasks:'));
194
+ for (const subtask of decision.subtasks) {
195
+ console.log(chalk.dim(` • ${truncate(subtask, 60)}`));
196
+ }
197
+ console.log('');
198
+ }
199
+ // Dry run mode - stop here
200
+ if (options.dryRun) {
201
+ console.log(chalk.yellow('●') + ' Dry run mode - execution skipped');
202
+ console.log(chalk.dim(` Duration: ${formatDuration(Date.now() - startTime)}`));
203
+ return;
204
+ }
205
+ // Create as persistent task
206
+ if (options.createTask) {
207
+ console.log(chalk.blue('◉') + ' Creating persistent task...');
208
+ try {
209
+ const result = await createTodoItem({
210
+ content: promptText,
211
+ description: decision.groomedPrompt,
212
+ priority: options.priority,
213
+ tags: decision.tags,
214
+ });
215
+ console.log(chalk.green('✓') + ` Task created: ${result.data.id}`);
216
+ console.log(chalk.dim(` Use 'paean worker start' to process this task.`));
217
+ }
218
+ catch (err) {
219
+ console.log(chalk.red('✗') + ` Failed to create task: ${err.message}`);
220
+ }
221
+ return;
222
+ }
223
+ // Initialize executor registry
224
+ const registry = getExecutorRegistry();
225
+ // Register all executors
226
+ registry.register(new InternalExecutor());
227
+ registry.register(new ClaudeExecutor());
228
+ registry.register(new GeminiExecutor());
229
+ registry.register(new CursorExecutor());
230
+ registry.register(new CodexExecutor());
231
+ registry.register(new OpenCodeExecutor());
232
+ // Determine which executor to use
233
+ const executorType = options.executor || decision.selectedExecutor;
234
+ // Check availability
235
+ const available = await registry.getAvailable();
236
+ if (debug) {
237
+ console.log(chalk.dim(`Available executors: ${available.join(', ')}`));
238
+ }
239
+ if (!available.includes(executorType) && executorType !== 'internal') {
240
+ console.log(chalk.yellow('⚠') + ` Executor '${executorType}' not available, falling back to internal`);
241
+ }
242
+ const finalExecutor = available.includes(executorType) ? executorType : 'internal';
243
+ // Execute
244
+ console.log(chalk.blue('◉') + ` Executing with ${chalk.bold(finalExecutor)} executor...`);
245
+ console.log(chalk.dim('─'.repeat(50)));
246
+ const result = await registry.execute(finalExecutor, decision.groomedPrompt, {
247
+ cwd,
248
+ skipPermissions: options.autoApprove,
249
+ timeout: 600000,
250
+ onOutput: (text, stream) => {
251
+ // Display streaming output with nice formatting
252
+ const lines = text.split('\n');
253
+ for (const line of lines) {
254
+ if (line.trim()) {
255
+ const prefix = stream === 'stderr' ? chalk.yellow('│') : chalk.dim('│');
256
+ const displayLine = line.length > 70 ? line.slice(0, 67) + '...' : line;
257
+ console.log(prefix + ' ' + displayLine);
258
+ }
259
+ }
260
+ },
261
+ });
262
+ console.log(chalk.dim('─'.repeat(50)));
263
+ const totalDuration = Date.now() - startTime;
264
+ // Display result
265
+ if (result.success) {
266
+ console.log(chalk.green('✓') + ` Execution completed`);
267
+ }
268
+ else {
269
+ console.log(chalk.red('✗') + ` Execution failed`);
270
+ if (result.error) {
271
+ console.log(chalk.dim(` Error: ${truncate(result.error, 60)}`));
272
+ }
273
+ }
274
+ console.log('');
275
+ console.log(chalk.bold('📊 Summary:'));
276
+ output.tableRow('Status', result.success ? 'Success' : 'Failed', 15);
277
+ output.tableRow('Executor', finalExecutor, 15);
278
+ output.tableRow('Duration', formatDuration(totalDuration), 15);
279
+ console.log('');
280
+ // Show output preview if verbose
281
+ if (debug && result.output) {
282
+ console.log(chalk.bold('Output Preview:'));
283
+ console.log(chalk.dim('─'.repeat(50)));
284
+ const outputLines = result.output.split('\n').slice(0, 10);
285
+ for (const line of outputLines) {
286
+ console.log(chalk.dim(truncate(line, 70)));
287
+ }
288
+ if (result.output.split('\n').length > 10) {
289
+ console.log(chalk.dim('... (truncated)'));
290
+ }
291
+ console.log(chalk.dim('─'.repeat(50)));
292
+ }
293
+ process.exit(result.success ? 0 : 1);
294
+ });
295
+ // Helper functions
296
+ function requireAuth() {
297
+ if (!isAuthenticated()) {
298
+ output.error('Not authenticated. Please run "paean login" first.');
299
+ process.exit(1);
300
+ }
301
+ }
302
+ function truncate(str, maxLen) {
303
+ if (str.length <= maxLen)
304
+ return str;
305
+ return str.slice(0, maxLen - 3) + '...';
306
+ }
307
+ function formatDuration(ms) {
308
+ if (ms < 1000)
309
+ return `${ms}ms`;
310
+ if (ms < 60000)
311
+ return `${(ms / 1000).toFixed(1)}s`;
312
+ if (ms < 3600000) {
313
+ const mins = Math.floor(ms / 60000);
314
+ const secs = Math.floor((ms % 60000) / 1000);
315
+ return `${mins}m ${secs}s`;
316
+ }
317
+ const hours = Math.floor(ms / 3600000);
318
+ const mins = Math.floor((ms % 3600000) / 60000);
319
+ return `${hours}h ${mins}m`;
320
+ }
321
+ //# sourceMappingURL=worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/commands/worker.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -12,4 +12,6 @@ export { getMcpResources, readMcpResource } from './mcp/resources.js';
12
12
  export { getMcpTools, executeMcpTool } from './mcp/tools.js';
13
13
  export { McpClient } from './mcp/client.js';
14
14
  export { AgentService, agentService, startChat, sendMessage, renderMarkdown, type AgentStreamEvent, type AgentStreamCallbacks, type McpState, type McpToolResult, } from './agent/index.js';
15
+ export { getSystemTools, executeSystemTool, isCommandWhitelisted, getCommandWhitelist, } from './mcp/system.js';
16
+ export { WorkerService, getWorker, resetWorker, type WorkerConfig, type WorkerState, type TaskContext, type WorkerEvent, DEFAULT_WORKER_CONFIG, } from './worker/index.js';
15
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGpF,OAAO,EACL,OAAO,EACP,YAAY,EACZ,cAAc,EACd,aAAa,EACb,MAAM,EACN,KAAK,aAAa,EAClB,KAAK,QAAQ,GACd,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,SAAS,EACT,eAAe,EACf,QAAQ,EACR,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,aAAa,EACb,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,aAAa,GACnB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGpF,OAAO,EACL,OAAO,EACP,YAAY,EACZ,cAAc,EACd,aAAa,EACb,MAAM,EACN,KAAK,aAAa,EAClB,KAAK,QAAQ,GACd,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,SAAS,EACT,eAAe,EACf,QAAQ,EACR,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,aAAa,EACb,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,aAAa,GACnB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,aAAa,EACb,SAAS,EACT,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -20,4 +20,8 @@ export { getMcpTools, executeMcpTool } from './mcp/tools.js';
20
20
  export { McpClient } from './mcp/client.js';
21
21
  // Agent Mode
22
22
  export { AgentService, agentService, startChat, sendMessage, renderMarkdown, } from './agent/index.js';
23
+ // System/Shell Tools
24
+ export { getSystemTools, executeSystemTool, isCommandWhitelisted, getCommandWhitelist, } from './mcp/system.js';
25
+ // Worker Module
26
+ export { WorkerService, getWorker, resetWorker, DEFAULT_WORKER_CONFIG, } from './worker/index.js';
23
27
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,aAAa;AACb,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEpF,iBAAiB;AACjB,OAAO,EACL,OAAO,EACP,YAAY,EACZ,cAAc,EACd,aAAa,EACb,MAAM,GAGP,MAAM,eAAe,CAAC;AAEvB,WAAW;AACX,OAAO,EACL,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,GAKb,MAAM,eAAe,CAAC;AAEvB,gBAAgB;AAChB,OAAO,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,SAAS,EACT,eAAe,EACf,QAAQ,EACR,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,aAAa,GAEd,MAAM,mBAAmB,CAAC;AAE3B,oBAAoB;AACpB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,WAAW,GAEZ,MAAM,oBAAoB,CAAC;AAE5B,aAAa;AACb,OAAO,EAAE,cAAc,EAAyB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE7D,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,aAAa;AACb,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,cAAc,GAKf,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,aAAa;AACb,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEpF,iBAAiB;AACjB,OAAO,EACL,OAAO,EACP,YAAY,EACZ,cAAc,EACd,aAAa,EACb,MAAM,GAGP,MAAM,eAAe,CAAC;AAEvB,WAAW;AACX,OAAO,EACL,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,GAKb,MAAM,eAAe,CAAC;AAEvB,gBAAgB;AAChB,OAAO,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,SAAS,EACT,eAAe,EACf,QAAQ,EACR,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,aAAa,GAEd,MAAM,mBAAmB,CAAC;AAE3B,oBAAoB;AACpB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,WAAW,GAEZ,MAAM,oBAAoB,CAAC;AAE5B,aAAa;AACb,OAAO,EAAE,cAAc,EAAyB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE7D,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,aAAa;AACb,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,cAAc,GAKf,MAAM,kBAAkB,CAAC;AAE1B,qBAAqB;AACrB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,gBAAgB;AAChB,OAAO,EACL,aAAa,EACb,SAAS,EACT,WAAW,EAKX,qBAAqB,GACtB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * System/Shell MCP Tools
3
+ * Provides controlled shell execution and process management capabilities
4
+ * for the Local Autonomous Worker
5
+ */
6
+ import { type Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ /**
8
+ * Check if a command is in the whitelist
9
+ */
10
+ export declare function isCommandWhitelisted(command: string): boolean;
11
+ /**
12
+ * Check if a command contains dangerous patterns
13
+ */
14
+ export declare function isDangerousCommand(command: string): boolean;
15
+ /**
16
+ * System MCP Tools definition
17
+ */
18
+ export declare function getSystemTools(): Tool[];
19
+ /**
20
+ * Execute a system tool
21
+ */
22
+ export declare function executeSystemTool(toolName: string, args: Record<string, unknown>, options?: {
23
+ autonomousMode?: boolean;
24
+ debug?: boolean;
25
+ }): Promise<unknown>;
26
+ /**
27
+ * Get the whitelist for display/debugging
28
+ */
29
+ export declare function getCommandWhitelist(): string[];
30
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/mcp/system.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAsC/D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAK7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,EAAE,CAkIvC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GACxD,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAuMD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C"}