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.
- package/CHANGELOG.md +114 -0
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/worker.d.ts +7 -0
- package/dist/commands/worker.d.ts.map +1 -0
- package/dist/commands/worker.js +321 -0
- package/dist/commands/worker.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/system.d.ts +30 -0
- package/dist/mcp/system.d.ts.map +1 -0
- package/dist/mcp/system.js +530 -0
- package/dist/mcp/system.js.map +1 -0
- package/dist/mcp/tools.d.ts +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +5 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/ui/theme/branding.d.ts.map +1 -1
- package/dist/ui/theme/branding.js +2 -7
- package/dist/ui/theme/branding.js.map +1 -1
- package/dist/worker/executors/claude.d.ts +29 -0
- package/dist/worker/executors/claude.d.ts.map +1 -0
- package/dist/worker/executors/claude.js +114 -0
- package/dist/worker/executors/claude.js.map +1 -0
- package/dist/worker/executors/codex.d.ts +29 -0
- package/dist/worker/executors/codex.d.ts.map +1 -0
- package/dist/worker/executors/codex.js +126 -0
- package/dist/worker/executors/codex.js.map +1 -0
- package/dist/worker/executors/cursor.d.ts +29 -0
- package/dist/worker/executors/cursor.d.ts.map +1 -0
- package/dist/worker/executors/cursor.js +136 -0
- package/dist/worker/executors/cursor.js.map +1 -0
- package/dist/worker/executors/gemini.d.ts +29 -0
- package/dist/worker/executors/gemini.d.ts.map +1 -0
- package/dist/worker/executors/gemini.js +129 -0
- package/dist/worker/executors/gemini.js.map +1 -0
- package/dist/worker/executors/index.d.ts +56 -0
- package/dist/worker/executors/index.d.ts.map +1 -0
- package/dist/worker/executors/index.js +108 -0
- package/dist/worker/executors/index.js.map +1 -0
- package/dist/worker/executors/internal.d.ts +23 -0
- package/dist/worker/executors/internal.d.ts.map +1 -0
- package/dist/worker/executors/internal.js +77 -0
- package/dist/worker/executors/internal.js.map +1 -0
- package/dist/worker/executors/opencode.d.ts +31 -0
- package/dist/worker/executors/opencode.d.ts.map +1 -0
- package/dist/worker/executors/opencode.js +129 -0
- package/dist/worker/executors/opencode.js.map +1 -0
- package/dist/worker/index.d.ts +14 -0
- package/dist/worker/index.d.ts.map +1 -0
- package/dist/worker/index.js +17 -0
- package/dist/worker/index.js.map +1 -0
- package/dist/worker/service.d.ts +72 -0
- package/dist/worker/service.d.ts.map +1 -0
- package/dist/worker/service.js +435 -0
- package/dist/worker/service.js.map +1 -0
- package/dist/worker/supervisor.d.ts +83 -0
- package/dist/worker/supervisor.d.ts.map +1 -0
- package/dist/worker/supervisor.js +412 -0
- package/dist/worker/supervisor.js.map +1 -0
- package/dist/worker/types.d.ts +278 -0
- package/dist/worker/types.d.ts.map +1 -0
- package/dist/worker/types.js +71 -0
- package/dist/worker/types.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Worker Types
|
|
3
|
+
* Type definitions for the Local Autonomous Worker
|
|
4
|
+
*/
|
|
5
|
+
import type { TodoItem } from '../api/todo.js';
|
|
6
|
+
/**
|
|
7
|
+
* Worker configuration options
|
|
8
|
+
*/
|
|
9
|
+
export interface WorkerConfig {
|
|
10
|
+
/** Interval between task polling (ms) */
|
|
11
|
+
pollInterval: number;
|
|
12
|
+
/** Maximum retry attempts per task */
|
|
13
|
+
maxRetries: number;
|
|
14
|
+
/** Timeout for single task execution (ms) */
|
|
15
|
+
taskTimeout: number;
|
|
16
|
+
/** Cooldown period after error (ms) */
|
|
17
|
+
cooldownOnError: number;
|
|
18
|
+
/** Enable verification step after task completion */
|
|
19
|
+
verificationEnabled: boolean;
|
|
20
|
+
/** Working directory for agent execution */
|
|
21
|
+
workingDirectory?: string;
|
|
22
|
+
/** Enable debug logging */
|
|
23
|
+
debug?: boolean;
|
|
24
|
+
/** Autonomous mode (auto-execute whitelisted commands) */
|
|
25
|
+
autonomousMode?: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Default worker configuration
|
|
29
|
+
*/
|
|
30
|
+
export declare const DEFAULT_WORKER_CONFIG: WorkerConfig;
|
|
31
|
+
/**
|
|
32
|
+
* Task execution context
|
|
33
|
+
*/
|
|
34
|
+
export interface TaskContext {
|
|
35
|
+
/** The task being executed */
|
|
36
|
+
task: TodoItem;
|
|
37
|
+
/** Current attempt number (1-based) */
|
|
38
|
+
attempt: number;
|
|
39
|
+
/** Summary from previous failure (for retry context) */
|
|
40
|
+
previousFailureSummary?: string;
|
|
41
|
+
/** Timestamp when task execution started */
|
|
42
|
+
startedAt: Date;
|
|
43
|
+
/** Conversation ID for agent session */
|
|
44
|
+
conversationId?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Worker execution state
|
|
48
|
+
*/
|
|
49
|
+
export type WorkerStatus = 'idle' | 'running' | 'paused' | 'stopping' | 'error';
|
|
50
|
+
/**
|
|
51
|
+
* Worker state snapshot
|
|
52
|
+
*/
|
|
53
|
+
export interface WorkerState {
|
|
54
|
+
/** Current worker status */
|
|
55
|
+
status: WorkerStatus;
|
|
56
|
+
/** Currently executing task context */
|
|
57
|
+
currentTask?: TaskContext;
|
|
58
|
+
/** Number of successfully completed tasks */
|
|
59
|
+
completedCount: number;
|
|
60
|
+
/** Number of failed tasks (after all retries) */
|
|
61
|
+
failedCount: number;
|
|
62
|
+
/** Timestamp when worker started */
|
|
63
|
+
startedAt?: Date;
|
|
64
|
+
/** Last error message */
|
|
65
|
+
lastError?: string;
|
|
66
|
+
/** Last poll timestamp */
|
|
67
|
+
lastPollAt?: Date;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Task execution result
|
|
71
|
+
*/
|
|
72
|
+
export interface TaskResult {
|
|
73
|
+
success: boolean;
|
|
74
|
+
message?: string;
|
|
75
|
+
verificationPassed?: boolean;
|
|
76
|
+
error?: string;
|
|
77
|
+
durationMs?: number;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Worker event types
|
|
81
|
+
*/
|
|
82
|
+
export type WorkerEvent = {
|
|
83
|
+
type: 'started';
|
|
84
|
+
} | {
|
|
85
|
+
type: 'stopped';
|
|
86
|
+
} | {
|
|
87
|
+
type: 'paused';
|
|
88
|
+
} | {
|
|
89
|
+
type: 'resumed';
|
|
90
|
+
} | {
|
|
91
|
+
type: 'task_claimed';
|
|
92
|
+
task: TodoItem;
|
|
93
|
+
} | {
|
|
94
|
+
type: 'task_started';
|
|
95
|
+
task: TodoItem;
|
|
96
|
+
attempt: number;
|
|
97
|
+
} | {
|
|
98
|
+
type: 'task_completed';
|
|
99
|
+
task: TodoItem;
|
|
100
|
+
duration: number;
|
|
101
|
+
} | {
|
|
102
|
+
type: 'task_failed';
|
|
103
|
+
task: TodoItem;
|
|
104
|
+
error: string;
|
|
105
|
+
willRetry: boolean;
|
|
106
|
+
} | {
|
|
107
|
+
type: 'task_verification_failed';
|
|
108
|
+
task: TodoItem;
|
|
109
|
+
} | {
|
|
110
|
+
type: 'poll_empty';
|
|
111
|
+
} | {
|
|
112
|
+
type: 'error';
|
|
113
|
+
error: string;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Worker event handler
|
|
117
|
+
*/
|
|
118
|
+
export type WorkerEventHandler = (event: WorkerEvent) => void;
|
|
119
|
+
/**
|
|
120
|
+
* Executor types for multi-agent dispatch
|
|
121
|
+
*/
|
|
122
|
+
export type ExecutorType = 'internal' | 'claude' | 'gemini' | 'cursor' | 'codex' | 'opencode' | 'shell';
|
|
123
|
+
/**
|
|
124
|
+
* Executor configuration
|
|
125
|
+
*/
|
|
126
|
+
export interface ExecutorConfig {
|
|
127
|
+
type: ExecutorType;
|
|
128
|
+
enabled: boolean;
|
|
129
|
+
/** Custom binary path */
|
|
130
|
+
path?: string;
|
|
131
|
+
/** Default CLI arguments */
|
|
132
|
+
defaultArgs?: string[];
|
|
133
|
+
/** Override default timeout (ms) */
|
|
134
|
+
timeout?: number;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Executor execution options
|
|
138
|
+
*/
|
|
139
|
+
export interface ExecutorOptions {
|
|
140
|
+
/** Working directory */
|
|
141
|
+
cwd?: string;
|
|
142
|
+
/** Execution timeout (ms) */
|
|
143
|
+
timeout?: number;
|
|
144
|
+
/** Additional CLI arguments */
|
|
145
|
+
args?: string[];
|
|
146
|
+
/** Environment variables */
|
|
147
|
+
env?: Record<string, string>;
|
|
148
|
+
/** Skip permission prompts (dangerous mode) */
|
|
149
|
+
skipPermissions?: boolean;
|
|
150
|
+
/** Capture output for parsing */
|
|
151
|
+
captureOutput?: boolean;
|
|
152
|
+
/** Real-time output callback for streaming display */
|
|
153
|
+
onOutput?: (text: string, stream: 'stdout' | 'stderr') => void;
|
|
154
|
+
/** Progress message callback */
|
|
155
|
+
onProgress?: (message: string) => void;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Executor execution result
|
|
159
|
+
*/
|
|
160
|
+
export interface ExecutorResult {
|
|
161
|
+
success: boolean;
|
|
162
|
+
output: string;
|
|
163
|
+
error?: string;
|
|
164
|
+
exitCode?: number;
|
|
165
|
+
durationMs: number;
|
|
166
|
+
/** Parsed structured output if available */
|
|
167
|
+
structured?: Record<string, unknown>;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Supervisor decision for task routing
|
|
171
|
+
*/
|
|
172
|
+
export interface SupervisorDecision {
|
|
173
|
+
/** Selected executor for the task */
|
|
174
|
+
selectedExecutor: ExecutorType;
|
|
175
|
+
/** Confidence score (0-1) */
|
|
176
|
+
confidence: number;
|
|
177
|
+
/** Reasoning for the selection */
|
|
178
|
+
reasoning: string;
|
|
179
|
+
/** Groomed/structured prompt for the executor */
|
|
180
|
+
groomedPrompt: string;
|
|
181
|
+
/** Subtasks for complex task breakdown */
|
|
182
|
+
subtasks?: string[];
|
|
183
|
+
/** Suggested verification strategy */
|
|
184
|
+
verificationStrategy?: 'test' | 'lint' | 'build' | 'diff' | 'manual' | 'none';
|
|
185
|
+
/** Task tags for routing hints */
|
|
186
|
+
tags?: string[];
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Verification result from semantic analysis
|
|
190
|
+
*/
|
|
191
|
+
export interface VerificationResult {
|
|
192
|
+
passed: boolean;
|
|
193
|
+
/** Confidence in the verification (0-1) */
|
|
194
|
+
confidence: number;
|
|
195
|
+
/** Summary of what was verified */
|
|
196
|
+
summary: string;
|
|
197
|
+
/** Specific issues found */
|
|
198
|
+
issues?: string[];
|
|
199
|
+
/** Suggestions for improvement */
|
|
200
|
+
suggestions?: string[];
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Recovery strategy after task failure
|
|
204
|
+
*/
|
|
205
|
+
export interface RecoveryStrategy {
|
|
206
|
+
/** Recommended action */
|
|
207
|
+
action: 'retry' | 'switch_executor' | 'split_task' | 'escalate' | 'abort';
|
|
208
|
+
/** Target executor if switching */
|
|
209
|
+
targetExecutor?: ExecutorType;
|
|
210
|
+
/** Modified prompt for retry */
|
|
211
|
+
modifiedPrompt?: string;
|
|
212
|
+
/** Subtasks if splitting */
|
|
213
|
+
subtasks?: string[];
|
|
214
|
+
/** Reason for the recommendation */
|
|
215
|
+
reason: string;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Prompt command options
|
|
219
|
+
*/
|
|
220
|
+
export interface PromptCommandOptions {
|
|
221
|
+
/** Natural language prompt */
|
|
222
|
+
prompt: string;
|
|
223
|
+
/** Force specific executor */
|
|
224
|
+
executor?: ExecutorType;
|
|
225
|
+
/** Skip confirmation prompts */
|
|
226
|
+
autoApprove?: boolean;
|
|
227
|
+
/** Show plan without execution */
|
|
228
|
+
dryRun?: boolean;
|
|
229
|
+
/** Enable verbose logging */
|
|
230
|
+
verbose?: boolean;
|
|
231
|
+
/** Working directory */
|
|
232
|
+
workspace?: string;
|
|
233
|
+
/** Create as persistent task */
|
|
234
|
+
createTask?: boolean;
|
|
235
|
+
/** Task priority if creating */
|
|
236
|
+
priority?: 'high' | 'medium' | 'low';
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Prompt execution result
|
|
240
|
+
*/
|
|
241
|
+
export interface PromptResult {
|
|
242
|
+
success: boolean;
|
|
243
|
+
/** Supervisor decision */
|
|
244
|
+
decision: SupervisorDecision;
|
|
245
|
+
/** Execution result if executed */
|
|
246
|
+
execution?: ExecutorResult;
|
|
247
|
+
/** Created task ID if applicable */
|
|
248
|
+
taskId?: string;
|
|
249
|
+
/** Total duration */
|
|
250
|
+
durationMs: number;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Extended worker configuration with executor support
|
|
254
|
+
*/
|
|
255
|
+
export interface WorkerExecutorConfig {
|
|
256
|
+
/** Default executor to use */
|
|
257
|
+
defaultExecutor: ExecutorType;
|
|
258
|
+
/** Per-executor configurations */
|
|
259
|
+
executors: Partial<Record<ExecutorType, ExecutorConfig>>;
|
|
260
|
+
/** Supervisor configuration */
|
|
261
|
+
supervisor: {
|
|
262
|
+
/** LLM model for supervisor */
|
|
263
|
+
model?: string;
|
|
264
|
+
/** Use cloud-based supervisor */
|
|
265
|
+
cloudEnabled?: boolean;
|
|
266
|
+
/** Auto-approve executor switches */
|
|
267
|
+
autoSwitch?: boolean;
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Default executor configuration
|
|
272
|
+
*/
|
|
273
|
+
export declare const DEFAULT_EXECUTOR_CONFIG: WorkerExecutorConfig;
|
|
274
|
+
/**
|
|
275
|
+
* Prompt template for autonomous task execution
|
|
276
|
+
*/
|
|
277
|
+
export declare function buildTaskPrompt(ctx: TaskContext): string;
|
|
278
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/worker/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Worker Types
|
|
3
|
+
* Type definitions for the Local Autonomous Worker
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Default worker configuration
|
|
7
|
+
*/
|
|
8
|
+
export const DEFAULT_WORKER_CONFIG = {
|
|
9
|
+
pollInterval: 30000, // 30 seconds
|
|
10
|
+
maxRetries: 3,
|
|
11
|
+
taskTimeout: 600000, // 10 minutes
|
|
12
|
+
cooldownOnError: 60000, // 1 minute
|
|
13
|
+
verificationEnabled: true,
|
|
14
|
+
autonomousMode: true,
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Default executor configuration
|
|
18
|
+
*/
|
|
19
|
+
export const DEFAULT_EXECUTOR_CONFIG = {
|
|
20
|
+
defaultExecutor: 'internal',
|
|
21
|
+
executors: {
|
|
22
|
+
internal: { type: 'internal', enabled: true },
|
|
23
|
+
claude: { type: 'claude', enabled: true, timeout: 900000 },
|
|
24
|
+
gemini: { type: 'gemini', enabled: true, timeout: 600000 },
|
|
25
|
+
cursor: { type: 'cursor', enabled: true, timeout: 600000 },
|
|
26
|
+
codex: { type: 'codex', enabled: true, timeout: 600000 },
|
|
27
|
+
opencode: { type: 'opencode', enabled: true, timeout: 600000 },
|
|
28
|
+
},
|
|
29
|
+
supervisor: {
|
|
30
|
+
cloudEnabled: true,
|
|
31
|
+
autoSwitch: false,
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Prompt template for autonomous task execution
|
|
36
|
+
*/
|
|
37
|
+
export function buildTaskPrompt(ctx) {
|
|
38
|
+
const basePrompt = `You are an autonomous coding agent. Execute the following task completely.
|
|
39
|
+
|
|
40
|
+
## Task
|
|
41
|
+
ID: ${ctx.task.id}
|
|
42
|
+
Content: ${ctx.task.content}
|
|
43
|
+
Priority: ${ctx.task.priority}
|
|
44
|
+
${ctx.task.description ? `\nDescription: ${ctx.task.description}` : ''}
|
|
45
|
+
${ctx.task.tags?.length ? `\nTags: ${ctx.task.tags.join(', ')}` : ''}
|
|
46
|
+
|
|
47
|
+
## Instructions
|
|
48
|
+
1. Analyze the task requirements
|
|
49
|
+
2. Plan your approach
|
|
50
|
+
3. Execute the necessary steps using available tools
|
|
51
|
+
4. Verify your changes work correctly
|
|
52
|
+
5. When complete, call paean_complete_task with the task ID
|
|
53
|
+
|
|
54
|
+
## Important
|
|
55
|
+
- Use local MCP tools for file operations and shell commands
|
|
56
|
+
- Run tests to verify your changes when applicable
|
|
57
|
+
- If you encounter errors, try to fix them before giving up
|
|
58
|
+
- Call paean_complete_task when the task is fully done
|
|
59
|
+
`;
|
|
60
|
+
if (ctx.attempt > 1 && ctx.previousFailureSummary) {
|
|
61
|
+
return `${basePrompt}
|
|
62
|
+
|
|
63
|
+
## Previous Attempt Failed (Attempt ${ctx.attempt}/${3})
|
|
64
|
+
${ctx.previousFailureSummary}
|
|
65
|
+
|
|
66
|
+
Please review the previous failure and try a different approach.
|
|
67
|
+
`;
|
|
68
|
+
}
|
|
69
|
+
return basePrompt;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/worker/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0BH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IAC/C,YAAY,EAAE,KAAK,EAAQ,aAAa;IACxC,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,MAAM,EAAQ,aAAa;IACxC,eAAe,EAAE,KAAK,EAAK,WAAW;IACtC,mBAAmB,EAAE,IAAI;IACzB,cAAc,EAAE,IAAI;CACvB,CAAC;AAmQF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAyB;IACzD,eAAe,EAAE,UAAU;IAC3B,SAAS,EAAE;QACP,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;QAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;QAC1D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;QAC1D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;QAC1D,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;QACxD,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;KACjE;IACD,UAAU,EAAE;QACR,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,KAAK;KACpB;CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAgB;IAC5C,MAAM,UAAU,GAAG;;;MAGjB,GAAG,CAAC,IAAI,CAAC,EAAE;WACN,GAAG,CAAC,IAAI,CAAC,OAAO;YACf,GAAG,CAAC,IAAI,CAAC,QAAQ;EAC3B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;EACpE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;CAcnE,CAAC;IAEE,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,sBAAsB,EAAE,CAAC;QAChD,OAAO,GAAG,UAAU;;sCAEU,GAAG,CAAC,OAAO,IAAI,CAAC;EACpD,GAAG,CAAC,sBAAsB;;;CAG3B,CAAC;IACE,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "paean",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Paean AI CLI - Claude Code-like AI agent with local MCP integration and
|
|
3
|
+
"version": "0.6.2",
|
|
4
|
+
"description": "Paean AI CLI - Claude Code-like AI agent with local MCP integration, task management, and autonomous worker mode",
|
|
5
5
|
"author": "Paean AI <dev@paean.ai>",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"type": "module",
|