@curie-agent/core 0.2.5 → 0.3.3
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/dist/.tsbuildinfo +1 -1
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js +19 -2
- package/dist/src/context.js.map +1 -1
- package/dist/src/identity-files.d.ts +11 -0
- package/dist/src/identity-files.d.ts.map +1 -1
- package/dist/src/identity-files.js +38 -177
- package/dist/src/identity-files.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/safety/command-guard.d.ts.map +1 -1
- package/dist/src/safety/command-guard.js +35 -1
- package/dist/src/safety/command-guard.js.map +1 -1
- package/dist/src/safety/snapshot.js +1 -1
- package/dist/src/safety/snapshot.js.map +1 -1
- package/dist/src/session-store.d.ts.map +1 -1
- package/dist/src/session-store.js +32 -23
- package/dist/src/session-store.js.map +1 -1
- package/dist/src/settings.d.ts +10 -3
- package/dist/src/settings.d.ts.map +1 -1
- package/dist/src/settings.js +17 -8
- package/dist/src/settings.js.map +1 -1
- package/dist/src/shell-detect.d.ts +12 -0
- package/dist/src/shell-detect.d.ts.map +1 -0
- package/dist/src/shell-detect.js +31 -0
- package/dist/src/shell-detect.js.map +1 -0
- package/dist/src/task-manager.d.ts.map +1 -1
- package/dist/src/task-manager.js +13 -9
- package/dist/src/task-manager.js.map +1 -1
- package/dist/src/task-migration.js +5 -5
- package/dist/src/task-migration.js.map +1 -1
- package/dist/src/template-utils.d.ts +16 -0
- package/dist/src/template-utils.d.ts.map +1 -0
- package/dist/src/template-utils.js +72 -0
- package/dist/src/template-utils.js.map +1 -0
- package/dist/src/turn-loop.d.ts +4 -0
- package/dist/src/turn-loop.d.ts.map +1 -1
- package/dist/src/turn-loop.js +119 -19
- package/dist/src/turn-loop.js.map +1 -1
- package/dist/src/unified-task.d.ts +3 -3
- package/dist/src/unified-task.d.ts.map +1 -1
- package/dist/src/unified-task.js +2 -2
- package/dist/src/unified-task.js.map +1 -1
- package/package.json +7 -2
- package/templates/AGENTS.md +53 -0
- package/templates/HEARTBEAT.md +37 -0
- package/templates/MEMORY.md +29 -0
- package/templates/SOUL.md +28 -0
- package/templates/TOOLS.md +29 -0
- package/templates/USER.md +35 -0
- package/templates/WIKI.md +146 -0
- package/templates/settings.json +90 -0
- package/templates/skills/deep-research/SKILL.md +273 -0
- package/templates/skills/deep-research/references/report-structure.md +149 -0
- package/templates/skills/deep-research/references/topic-guides.md +151 -0
- package/templates/skills/planning/SKILL.md +222 -0
- package/templates/skills/planning/references/business.md +82 -0
- package/templates/skills/planning/references/creative.md +111 -0
- package/templates/skills/planning/references/events.md +109 -0
- package/templates/skills/planning/references/personal.md +107 -0
- package/templates/skills/planning/references/templates.md +279 -0
- package/templates/skills/wiki/SKILL.md +70 -0
package/dist/src/turn-loop.js
CHANGED
|
@@ -52,19 +52,36 @@ export class TurnLoop {
|
|
|
52
52
|
this._cwd = newCwd;
|
|
53
53
|
}
|
|
54
54
|
async evaluateHarm(toolName, input) {
|
|
55
|
+
// Local/Ollama providers run on a single-threaded server. Firing check()
|
|
56
|
+
// re-entrantly while the main stream is in-flight serializes both requests
|
|
57
|
+
// and causes llama.cpp to appear hung. Thinking models (qwen3.x, deepseek-r1,
|
|
58
|
+
// etc.) also never emit a clean APPROVE/DENY token, so the harm-check always
|
|
59
|
+
// times out against these models anyway.
|
|
60
|
+
if (['local', 'ollama'].includes(this.config.provider.name)) {
|
|
61
|
+
return { approved: true, reason: 'local provider: LLM harm-check skipped' };
|
|
62
|
+
}
|
|
55
63
|
const inputJson = JSON.stringify(input);
|
|
56
64
|
const systemPrompt = 'You are a safety evaluator. Given a tool call, determine if it is potentially harmful to the user\'s system. Harmful means: deleting files, executing arbitrary shell commands, sending data to external services, modifying system configuration, or any action that could cause data loss or security compromise. Your response must be exactly one of these two strings: APPROVE or DENY. Do not add any other text.';
|
|
57
65
|
const prompt = `Evaluate this tool call:\nTool: ${toolName}\nInput: ${inputJson}`;
|
|
58
66
|
try {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
67
|
+
// Use an AbortController so the HTTP request itself is cancelled on timeout,
|
|
68
|
+
// not just the Promise.race outcome — prevents zombie requests from queuing.
|
|
69
|
+
const abortCtrl = new AbortController();
|
|
70
|
+
const timeoutId = setTimeout(() => abortCtrl.abort(new Error('harm-check timeout')), 15_000);
|
|
71
|
+
try {
|
|
72
|
+
const response = await this.config.provider.check(prompt, { model: this.config.model, system: systemPrompt, signal: abortCtrl.signal });
|
|
73
|
+
const decision = response.trim().toUpperCase();
|
|
74
|
+
if (decision === 'APPROVE') {
|
|
75
|
+
return { approved: true, reason: `LLM harm-check: APPROVE` };
|
|
76
|
+
}
|
|
77
|
+
return { approved: false, reason: `LLM harm-check: DENY — ${response.trim()}` };
|
|
78
|
+
}
|
|
79
|
+
finally {
|
|
80
|
+
clearTimeout(timeoutId);
|
|
63
81
|
}
|
|
64
|
-
return { approved: false, reason: `LLM harm-check: DENY — ${response.trim()}` };
|
|
65
82
|
}
|
|
66
83
|
catch {
|
|
67
|
-
// If LLM check fails, deny for safety
|
|
84
|
+
// If LLM check fails or times out, deny for safety
|
|
68
85
|
return { approved: false, reason: 'LLM harm-check failed — denied' };
|
|
69
86
|
}
|
|
70
87
|
}
|
|
@@ -128,7 +145,7 @@ export class TurnLoop {
|
|
|
128
145
|
const tc = turn.toolCalls.find(c => c.toolCallId === tr.toolCallId);
|
|
129
146
|
if (tc) {
|
|
130
147
|
const content = typeof tr.output === 'string' ? tr.output : JSON.stringify(tr.output);
|
|
131
|
-
msgs.push({ role: 'tool', toolUseId: tc.toolCallId, content });
|
|
148
|
+
msgs.push({ role: 'tool', toolUseId: tc.toolCallId, toolName: tc.name, content });
|
|
132
149
|
}
|
|
133
150
|
}
|
|
134
151
|
return msgs;
|
|
@@ -187,9 +204,14 @@ export class TurnLoop {
|
|
|
187
204
|
this.messages.push({ role: 'user', content: prompt });
|
|
188
205
|
let turn = 0;
|
|
189
206
|
const maxTurns = this.config.maxTurns ?? 50;
|
|
207
|
+
let continuationCount = 0;
|
|
208
|
+
const maxContinuations = 5;
|
|
190
209
|
try {
|
|
191
210
|
while (turn < maxTurns && !this.abort) {
|
|
192
211
|
turn++;
|
|
212
|
+
if (process.env.DEBUG_PROVIDER) {
|
|
213
|
+
console.log(`[turn-loop] turn=${turn}, messages.length=${this.messages.length}`);
|
|
214
|
+
}
|
|
193
215
|
// Create git snapshot before each turn (best-effort).
|
|
194
216
|
if (this.config.settings.safety?.snapshots !== 'off') {
|
|
195
217
|
await createSnapshot(this._cwd, prompt).catch(() => {
|
|
@@ -197,6 +219,7 @@ export class TurnLoop {
|
|
|
197
219
|
});
|
|
198
220
|
}
|
|
199
221
|
let fullText = '';
|
|
222
|
+
let hitLengthLimit = false;
|
|
200
223
|
const toolCalls = [];
|
|
201
224
|
let totalToolCalls = 0;
|
|
202
225
|
let websearchToolCalls = 0;
|
|
@@ -204,7 +227,7 @@ export class TurnLoop {
|
|
|
204
227
|
// Local providers (Ollama, llama.cpp) don't support Anthropic thinking blocks.
|
|
205
228
|
// Strip thinking blocks from message history to avoid serialization errors.
|
|
206
229
|
const self = this;
|
|
207
|
-
const isLocal = self.config.provider.name
|
|
230
|
+
const isLocal = ['local', 'ollama'].includes(self.config.provider.name);
|
|
208
231
|
const streamMessages = isLocal
|
|
209
232
|
? self.messages.map((m) => {
|
|
210
233
|
if (m.role === 'assistant' && Array.isArray(m.content)) {
|
|
@@ -215,9 +238,40 @@ export class TurnLoop {
|
|
|
215
238
|
: self.messages;
|
|
216
239
|
// Capture abortController before the loop — it's always set by this point.
|
|
217
240
|
const abortCtrl = self.abortController;
|
|
241
|
+
// Pre-flight: abort before sending if estimated payload exceeds context window.
|
|
242
|
+
// Count actual text content chars (not JSON structure) and divide by 4 (~4 chars/token).
|
|
243
|
+
{
|
|
244
|
+
const ctxWindow = self.config.settings.providers[self.config.settings.current_provider]?.model_context_window ?? 131072;
|
|
245
|
+
const reservedForOutput = self.config.settings.providers[self.config.settings.current_provider]?.max_output_tokens ?? 65536;
|
|
246
|
+
let contentChars = (self.config.system?.length ?? 0) + 200; // system prompt + date context overhead
|
|
247
|
+
for (const m of streamMessages) {
|
|
248
|
+
if (typeof m.content === 'string') {
|
|
249
|
+
contentChars += m.content.length;
|
|
250
|
+
}
|
|
251
|
+
else if (Array.isArray(m.content)) {
|
|
252
|
+
for (const b of m.content) {
|
|
253
|
+
if (b.text)
|
|
254
|
+
contentChars += b.text.length;
|
|
255
|
+
else if (b.thinking)
|
|
256
|
+
contentChars += b.thinking.length;
|
|
257
|
+
else if (b.input)
|
|
258
|
+
contentChars += JSON.stringify(b.input).length;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
const estimatedInputTokens = Math.ceil(contentChars / 4);
|
|
263
|
+
if (estimatedInputTokens > ctxWindow - reservedForOutput) {
|
|
264
|
+
emit({ type: 'error', id: session.id, timestamp: Date.now(), message: `Estimated input (~${Math.round(estimatedInputTokens / 1000)}k tokens) would exceed the context window ` +
|
|
265
|
+
`(${Math.round(ctxWindow / 1000)}k) for provider "${self.config.settings.current_provider}". ` +
|
|
266
|
+
`Run /context compact to summarize history, or switch to a model with a larger context window.` });
|
|
267
|
+
emit({ type: 'session-stop', id: session.id, reason: 'error', timestamp: Date.now() });
|
|
268
|
+
return { events: self.bus.history(), sessionId: session.id, reason: 'error' };
|
|
269
|
+
}
|
|
270
|
+
}
|
|
218
271
|
// Start the provider stream and capture its cancel function.
|
|
219
272
|
// The cancel() method synchronously aborts the underlying HTTP connection
|
|
220
273
|
// (e.g., Anthropic's stream.abort()), making Esc feel instantaneous.
|
|
274
|
+
const maxTokens = self.config.settings.providers[self.config.settings.current_provider]?.max_output_tokens;
|
|
221
275
|
const cancelable = self.config.provider.stream({
|
|
222
276
|
messages: streamMessages,
|
|
223
277
|
tools: self.config.tools.map((t) => t.definition),
|
|
@@ -225,6 +279,7 @@ export class TurnLoop {
|
|
|
225
279
|
system: withDateContext(self.config.system),
|
|
226
280
|
signal: abortCtrl.signal,
|
|
227
281
|
effort: self.config.effort,
|
|
282
|
+
maxTokens,
|
|
228
283
|
});
|
|
229
284
|
// Wire the AbortSignal's abort event to cancel the stream immediately.
|
|
230
285
|
// This is what makes Esc feel instant — it calls stream.abort() on the
|
|
@@ -254,6 +309,27 @@ export class TurnLoop {
|
|
|
254
309
|
case 'usage':
|
|
255
310
|
emit({ type: 'usage', id: session.id, inputTokens: event.inputTokens, outputTokens: event.outputTokens, cacheReadTokens: event.cacheReadTokens, cacheWriteTokens: event.cacheWriteTokens, timestamp: Date.now() });
|
|
256
311
|
break;
|
|
312
|
+
case 'stop':
|
|
313
|
+
if (event.reason === 'error' && event.errorDetail) {
|
|
314
|
+
const isCtxExceeded = /exceeds.*context|context.*size|too many tokens/i.test(event.errorDetail);
|
|
315
|
+
emit({ type: 'error', id: session.id, timestamp: Date.now(), message: isCtxExceeded
|
|
316
|
+
? `Context window exceeded: ${event.errorDetail}. Run /context compact to summarize history, or switch to a model with a larger context window.`
|
|
317
|
+
: `Provider stream error: ${event.errorDetail}. This can happen with incompatible local model endpoints or network issues.`
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
else if (event.reason === 'aborted' && !self.abort) {
|
|
321
|
+
// Provider timeout (not user-initiated) — surface it
|
|
322
|
+
emit({ type: 'status', id: session.id, message: 'Provider request timed out. The local model may be too slow or overloaded.',
|
|
323
|
+
timestamp: Date.now(),
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
else if (event.reason === 'length') {
|
|
327
|
+
hitLengthLimit = true;
|
|
328
|
+
emit({ type: 'status', id: session.id, message: 'Model hit output token limit. Continuing...',
|
|
329
|
+
timestamp: Date.now(),
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
break;
|
|
257
333
|
}
|
|
258
334
|
}
|
|
259
335
|
}
|
|
@@ -281,6 +357,15 @@ export class TurnLoop {
|
|
|
281
357
|
emit({ type: 'session-stop', id: session.id, reason: 'error', timestamp: Date.now() });
|
|
282
358
|
return { events: self.bus.history(), sessionId: session.id, reason: 'error' };
|
|
283
359
|
}
|
|
360
|
+
// Connection errors: server unreachable, connection reset, refused
|
|
361
|
+
const connErrors = ['ECONNREFUSED', 'ECONNRESET', 'ECONNABORTED', 'ENOTFOUND', 'fetch failed'];
|
|
362
|
+
if (connErrors.some(e => msg.includes(e))) {
|
|
363
|
+
emit({ type: 'error', id: session.id, message: `Provider connection error: ${msg}. Check that the local model server is running and reachable at the configured URL.`,
|
|
364
|
+
timestamp: Date.now(),
|
|
365
|
+
});
|
|
366
|
+
emit({ type: 'session-stop', id: session.id, reason: 'error', timestamp: Date.now() });
|
|
367
|
+
return { events: self.bus.history(), sessionId: session.id, reason: 'error' };
|
|
368
|
+
}
|
|
284
369
|
throw err;
|
|
285
370
|
}
|
|
286
371
|
}
|
|
@@ -289,6 +374,9 @@ export class TurnLoop {
|
|
|
289
374
|
emit({ type: 'session-stop', id: session.id, reason: 'cancelled', timestamp: Date.now() });
|
|
290
375
|
return { events: this.bus.history(), sessionId: session.id, reason: 'cancelled' };
|
|
291
376
|
}
|
|
377
|
+
if (process.env.DEBUG_PROVIDER) {
|
|
378
|
+
console.log(`[turn-loop] turn=${turn} stream done: textLen=${fullText.length}, toolCalls=${toolCalls.length}, thinkingBlocks=${thinkingBlocks.length}`);
|
|
379
|
+
}
|
|
292
380
|
// Build assistant message: thinking blocks MUST come first (Anthropic
|
|
293
381
|
// requires them preserved when extended thinking + tool use is combined),
|
|
294
382
|
// then text, then tool-use blocks.
|
|
@@ -304,6 +392,18 @@ export class TurnLoop {
|
|
|
304
392
|
if (assistantContent.length > 0) {
|
|
305
393
|
this.messages.push({ role: 'assistant', content: assistantContent });
|
|
306
394
|
}
|
|
395
|
+
// Hit output token limit without tool calls — tell model to continue
|
|
396
|
+
if (hitLengthLimit && toolCalls.length === 0) {
|
|
397
|
+
if (continuationCount >= maxContinuations) {
|
|
398
|
+
emit({ type: 'status', id: session.id, message: `Output length limit reached. Model could not complete response after ${maxContinuations} continuation attempts.`,
|
|
399
|
+
timestamp: Date.now() });
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
continuationCount++;
|
|
403
|
+
this.messages.push({ role: 'user', content: '[continue — your previous response was cut off by the output token limit. If you were about to call Write with a large content parameter, use the skeleton+Edit approach: first Write a skeleton file with section headers and [PLACEHOLDER] markers, then fill each section with a separate Edit call.]' });
|
|
404
|
+
continue;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
307
407
|
if (toolCalls.length === 0) {
|
|
308
408
|
if (!fullText && thinkingBlocks.length === 0) {
|
|
309
409
|
emit({ type: 'status', id: session.id, message: 'The model did not return a response. This can happen with incompatible models or configuration issues.',
|
|
@@ -323,7 +423,7 @@ export class TurnLoop {
|
|
|
323
423
|
const msg = `Tool call limit reached (${totalLimit} per turn). Skipping remaining tool call(s).`;
|
|
324
424
|
emit({ type: 'status', id: session.id, message: msg, timestamp: Date.now() });
|
|
325
425
|
for (const remaining of toolCalls.slice(toolCalls.indexOf(tc))) {
|
|
326
|
-
this.messages.push({ role: 'tool', toolUseId: remaining.id, content: `Skipped: ${msg}` });
|
|
426
|
+
this.messages.push({ role: 'tool', toolUseId: remaining.id, toolName: remaining.name, content: `Skipped: ${msg}` });
|
|
327
427
|
emit({ type: 'tool-result', id: session.id, toolCallId: remaining.id, output: null, error: msg, timestamp: Date.now() });
|
|
328
428
|
}
|
|
329
429
|
break;
|
|
@@ -332,7 +432,7 @@ export class TurnLoop {
|
|
|
332
432
|
const msg = `WebSearch/WebFetch limit reached (${websearchLimit} per turn). Skipping remaining tool call(s).`;
|
|
333
433
|
emit({ type: 'status', id: session.id, message: msg, timestamp: Date.now() });
|
|
334
434
|
for (const remaining of toolCalls.slice(toolCalls.indexOf(tc))) {
|
|
335
|
-
this.messages.push({ role: 'tool', toolUseId: remaining.id, content: `Skipped: ${msg}` });
|
|
435
|
+
this.messages.push({ role: 'tool', toolUseId: remaining.id, toolName: remaining.name, content: `Skipped: ${msg}` });
|
|
336
436
|
emit({ type: 'tool-result', id: session.id, toolCallId: remaining.id, output: null, error: msg, timestamp: Date.now() });
|
|
337
437
|
}
|
|
338
438
|
break;
|
|
@@ -353,7 +453,7 @@ export class TurnLoop {
|
|
|
353
453
|
await sleep(approvalThrottleMs);
|
|
354
454
|
if (permResult.decision === 'deny') {
|
|
355
455
|
emit({ type: 'approval-decision', id: session.id, toolCallId: tc.id, decision: 'deny', timestamp: Date.now() });
|
|
356
|
-
this.messages.push({ role: 'tool', toolUseId: tc.id, content: `Tool call denied: ${permResult.reason}` });
|
|
456
|
+
this.messages.push({ role: 'tool', toolUseId: tc.id, toolName: tc.name, content: `Tool call denied: ${permResult.reason}` });
|
|
357
457
|
continue;
|
|
358
458
|
}
|
|
359
459
|
// Track approval status for display in tool result messages.
|
|
@@ -391,7 +491,7 @@ export class TurnLoop {
|
|
|
391
491
|
timestamp: Date.now(),
|
|
392
492
|
});
|
|
393
493
|
if (!approved) {
|
|
394
|
-
this.messages.push({ role: 'tool', toolUseId: tc.id, content: decisionBy === 'llm' ? `Tool call denied by LLM harm-check: ${tc.name}` : 'Tool call denied by user.' });
|
|
494
|
+
this.messages.push({ role: 'tool', toolUseId: tc.id, toolName: tc.name, content: decisionBy === 'llm' ? `Tool call denied by LLM harm-check: ${tc.name}` : 'Tool call denied by user.' });
|
|
395
495
|
continue;
|
|
396
496
|
}
|
|
397
497
|
toolApproved = approved;
|
|
@@ -402,22 +502,22 @@ export class TurnLoop {
|
|
|
402
502
|
websearchToolCalls++;
|
|
403
503
|
const tool = this.config.tools.find((t) => t.definition.name === tc.name);
|
|
404
504
|
if (!tool) {
|
|
405
|
-
|
|
406
|
-
|
|
505
|
+
const available = this.config.tools.map((t) => t.definition.name).join(', ');
|
|
506
|
+
const unknownMsg = `Unknown tool: ${tc.name}. Available tools: ${available}`;
|
|
507
|
+
emit({ type: 'tool-result', id: session.id, toolCallId: tc.id, output: null, error: unknownMsg, timestamp: Date.now() });
|
|
508
|
+
this.messages.push({ role: 'tool', toolUseId: tc.id, toolName: tc.name, content: unknownMsg });
|
|
407
509
|
continue;
|
|
408
510
|
}
|
|
409
511
|
try {
|
|
410
512
|
const result = await tool.execute(tc.input, this.config.settings, this.config.cwd, this.config.sessionId);
|
|
411
513
|
emit({ type: 'tool-result', id: session.id, toolCallId: tc.id, output: result.output, error: result.error, timestamp: Date.now() });
|
|
412
|
-
const outputStr = result.error ? `Error: ${result.error}` : JSON.stringify(result.output);
|
|
413
|
-
|
|
414
|
-
this.messages.push({ role: 'tool', toolUseId: tc.id, content: `${tc.name}: ${decisionLabel} — ${outputStr}` });
|
|
514
|
+
const outputStr = result.error ? `Error: ${result.error}` : (typeof result.output === 'string' ? result.output : JSON.stringify(result.output));
|
|
515
|
+
this.messages.push({ role: 'tool', toolUseId: tc.id, toolName: tc.name, content: outputStr });
|
|
415
516
|
}
|
|
416
517
|
catch (err) {
|
|
417
518
|
const msg = err instanceof Error ? err.message : String(err);
|
|
418
519
|
emit({ type: 'tool-result', id: session.id, toolCallId: tc.id, output: null, error: msg, timestamp: Date.now() });
|
|
419
|
-
|
|
420
|
-
this.messages.push({ role: 'tool', toolUseId: tc.id, content: `${tc.name}: ${decisionLabel} — Error: ${msg}` });
|
|
520
|
+
this.messages.push({ role: 'tool', toolUseId: tc.id, toolName: tc.name, content: `Error: ${msg}` });
|
|
421
521
|
}
|
|
422
522
|
}
|
|
423
523
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-loop.js","sourceRoot":"","sources":["../../src/turn-loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"turn-loop.js","sourceRoot":"","sources":["../../src/turn-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
export type ScheduleType = 'intraday' | 'daily' | 'weekly' | 'monthly' | 'dreaming';
|
|
6
6
|
/** Human-readable label for a schedule type. */
|
|
7
7
|
export declare function scheduleLabel(type: ScheduleType): string;
|
|
8
|
-
export type TaskMode = '
|
|
8
|
+
export type TaskMode = 'human' | 'agent' | 'notify';
|
|
9
9
|
export declare const TASK_MODES: readonly TaskMode[];
|
|
10
10
|
/** Statuses used by different modes. Includes execution states from daemon integration. */
|
|
11
11
|
export type TaskStatus = 'backlog' | 'todo' | 'in_progress' | 'done' | 'canceled' | 'pending' | 'executing' | 'completed' | 'failed';
|
|
@@ -26,13 +26,13 @@ export interface UnifiedTask {
|
|
|
26
26
|
tags: string[];
|
|
27
27
|
/** Execution mode — the key unifier. */
|
|
28
28
|
mode: TaskMode;
|
|
29
|
-
/** Execution result summary (
|
|
29
|
+
/** Execution result summary (agent mode only, after LLM completes). */
|
|
30
30
|
result?: string;
|
|
31
31
|
/** Spawn overrides stored when scheduling from WebUI (provider, model, effort, etc.). */
|
|
32
32
|
metadata?: Record<string, unknown>;
|
|
33
33
|
/** When the task should fire (epoch ms). Required for auto/notify. Optional for manual. */
|
|
34
34
|
scheduled_at?: number;
|
|
35
|
-
/** Recurring schedule — only meaningful for mode='
|
|
35
|
+
/** Recurring schedule — only meaningful for mode='agent'. Defines heartbeat-like tasks. */
|
|
36
36
|
frequency?: {
|
|
37
37
|
type: ScheduleType;
|
|
38
38
|
value: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-task.d.ts","sourceRoot":"","sources":["../../src/unified-task.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAEpF,gDAAgD;AAChD,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAExD;AAMD,MAAM,MAAM,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"unified-task.d.ts","sourceRoot":"","sources":["../../src/unified-task.ts"],"names":[],"mappings":"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"}
|
package/dist/src/unified-task.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
export function scheduleLabel(type) {
|
|
7
7
|
return type.toUpperCase();
|
|
8
8
|
}
|
|
9
|
-
export const TASK_MODES = ['
|
|
9
|
+
export const TASK_MODES = ['human', 'agent', 'notify'];
|
|
10
10
|
export const TASK_STATUSES = [
|
|
11
11
|
'backlog', 'todo', 'in_progress', 'done', 'canceled', 'pending',
|
|
12
12
|
];
|
|
@@ -15,7 +15,7 @@ export const TASK_STATUSES = [
|
|
|
15
15
|
// ---------------------------------------------------------------------------
|
|
16
16
|
/** Default task creation shape for new tasks (mode-dependent defaults). */
|
|
17
17
|
export function createTaskDefaults(mode, scope) {
|
|
18
|
-
if (mode === '
|
|
18
|
+
if (mode === 'human') {
|
|
19
19
|
return { status: 'todo', priority: 'medium', tags: [], mode, frequency: null, scope, order: 0, created_at: new Date().toISOString(), completed_at: undefined };
|
|
20
20
|
}
|
|
21
21
|
// auto / notify
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-task.js","sourceRoot":"","sources":["../../src/unified-task.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,gDAAgD;AAChD,MAAM,UAAU,aAAa,CAAC,IAAkB;IAC9C,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC;AAOD,MAAM,CAAC,MAAM,UAAU,GAAwB,CAAC,
|
|
1
|
+
{"version":3,"file":"unified-task.js","sourceRoot":"","sources":["../../src/unified-task.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@curie-agent/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"publish": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
7
|
-
"dist"
|
|
7
|
+
"dist",
|
|
8
|
+
"templates"
|
|
8
9
|
],
|
|
9
10
|
"main": "./dist/src/index.js",
|
|
10
11
|
"types": "./dist/src/index.d.ts",
|
|
@@ -24,6 +25,10 @@
|
|
|
24
25
|
"./safety/snapshot.js": {
|
|
25
26
|
"import": "./dist/src/safety/snapshot.js",
|
|
26
27
|
"types": "./dist/src/safety/snapshot.d.ts"
|
|
28
|
+
},
|
|
29
|
+
"./shell-detect.js": {
|
|
30
|
+
"import": "./dist/src/shell-detect.js",
|
|
31
|
+
"types": "./dist/src/shell-detect.d.ts"
|
|
27
32
|
}
|
|
28
33
|
},
|
|
29
34
|
"dependencies": {
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# AGENTS.md - System Core & Directives
|
|
2
|
+
|
|
3
|
+
**Workspace:** `~/.curie-agent/` (ALL operations MUST be restricted to this directory unless explicitly authorized).
|
|
4
|
+
**Language:** English exclusively for internal files.
|
|
5
|
+
|
|
6
|
+
## 1. Initialization Sequence
|
|
7
|
+
On session start, execute the following silently (do not ask permission):
|
|
8
|
+
1. Load `SOUL.md` (Persona & Vibe)
|
|
9
|
+
2. Load `USER.md` (Human context)
|
|
10
|
+
2. List TODO for active tasks personal and project
|
|
11
|
+
3. Read `MEMORY.md` and today's log `~/.curie-agent/memory/YYYY-MM-DD.md` for immediate context.
|
|
12
|
+
4. Read the most recent Dream file `~/.curie-agent/memory/DREAM-YYYY-MM-DD.md` grasp any unresolved tensions or "Open Loops", temporarily adopt any proposed workflow tweaks for today, and prime your context with the novel ideas generated overnight.
|
|
13
|
+
5. Operate in user Timezone
|
|
14
|
+
*Note: Do not load full historical memory files unless a query specifically requires them. Use `Grep` or search tools first.*
|
|
15
|
+
|
|
16
|
+
## 2. Memory Operations (Text > Brain)
|
|
17
|
+
You are amnesic between sessions. Files are your only continuity. DO NOT use "mental notes."
|
|
18
|
+
* **Daily Logs (`memory/YYYY-MM-DD.md`):** Write raw logs, decisions, and context here throughout the day.
|
|
19
|
+
* **Long-Term Memory (`MEMORY.md`):** Your curated essence. Update this with significant life events, user preferences, and distilled lessons.
|
|
20
|
+
* **Categorization:** If a topic grows large, offload it (e.g., `memory/projects.md`, `memory/hobbies.md`) and leave a reference link in `MEMORY.md`.
|
|
21
|
+
|
|
22
|
+
## 3. Task Management (tasks.json)
|
|
23
|
+
Use the `Todo` tool to manage structured task lists. Tasks have a `mode` field: `manual` (todo list), `auto` (agent executes at scheduled time), or `notify` (reminder notification only).
|
|
24
|
+
* **Scopes:** `personal` (~/.curie-agent/tasks.json) and `project` (<cwd>/tasks.json)
|
|
25
|
+
* **Statuses:** backlog, todo, in_progress, done, canceled, pending
|
|
26
|
+
* **Actions:** list, add, edit, remove, complete, cancel, start, reorder
|
|
27
|
+
* **Workflow:** Add new tasks with `add`, transition via `start`/`complete`, cancel if obsolete. Default mode is `manual`; for scheduled agent execution use `auto`, for reminders use `notify`.
|
|
28
|
+
|
|
29
|
+
## 4. Output & Formatting Rules
|
|
30
|
+
* **Internal Files:** Always use standard Markdown.
|
|
31
|
+
* **CLI Output:** Use plain text. Do NOT use markdown headers. Use hyphens for lists. Add empty lines between sections for readability.
|
|
32
|
+
* **Messaging Apps (Telegram, Discord, WhatsApp):** Keep messages < 4096 chars. Use bullet lists (no tables). Discord: Wrap links in `<>` to suppress embeds. WhatsApp: Use *bold* or CAPS instead of headers.
|
|
33
|
+
* **Human Touch:** Use a maximum of ONE emoji reaction per message on supported platforms (👍, 🤔, 😂) to acknowledge messages without cluttering the chat. Do not double-reply.
|
|
34
|
+
|
|
35
|
+
## 5. Proactive Heartbeats 💓
|
|
36
|
+
When receiving a heartbeat poll (`HEARTBEAT_OK` prompt), you are active.
|
|
37
|
+
1. Read `HEARTBEAT.md` (if it exists).
|
|
38
|
+
2. Rotate through background checks (Emails, Calendar <48h, Weather, Mentions).
|
|
39
|
+
3. Track last check timestamps in `memory/heartbeat-state.json`.
|
|
40
|
+
4. **Maintenance:** Once daily during a heartbeat, read recent daily logs, extract valuable insights, update `MEMORY.md`, and clean up stale data.
|
|
41
|
+
5. **Action:** Only reach out to the user if an event is urgent (<2h), an important email arrived, or >8h have passed. Otherwise, execute background tasks silently and reply `~/.curie-agent/HEARTBEAT_OK`.
|
|
42
|
+
|
|
43
|
+
## 6. Core Capabilities & Tooling
|
|
44
|
+
* **Skills & Tools:** Load on-demand from `skills/<name>/SKILL.md`. Check `TOOLS.md` for local configs (SSH, cameras).
|
|
45
|
+
* **Coding Agent:** Capable of read/write/edit/glob/grep/bash. Respect approval tiers (manual -> yolo).
|
|
46
|
+
* **Wiki:** Ingest -> Extract -> Summarize -> Update `log.md`. Cross-reference in `index.md`.
|
|
47
|
+
|
|
48
|
+
## 🛑 RED LINES (CRITICAL)
|
|
49
|
+
- **NEVER** exfiltrate private data.
|
|
50
|
+
- **NEVER** run destructive commands (`rm`, database drops) without explicit human approval. Use `trash` over `rm`.
|
|
51
|
+
- **NEVER** send emails, tweets, or public payloads without human sign-off.
|
|
52
|
+
- **ALWAYS** operate strictly within `~/.curie-agent/`.
|
|
53
|
+
- When in doubt: Pause and ask.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# HEARTBEAT.md - Proactive Routines
|
|
2
|
+
|
|
3
|
+
**AI INSTRUCTION:** This file dictates your proactive workflow. Execute the specific routine based on the current time interval. Your goal is to synthesize context, surface insights, and maintain the workspace silently.
|
|
4
|
+
|
|
5
|
+
### 🛑 GLOBAL CONSTRAINT: OUTPUT LIMIT
|
|
6
|
+
Before outputting any response to the user, calculate the estimated length. **If the draft exceeds 3,800 characters, you MUST perform a recursive edit.** Swap complex phrases for concise synonyms, remove non-essential adjectives, and compress the output to fit under the limit.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 1. INTRADAY
|
|
11
|
+
* **Triage:** Scan the mailbox/channels for critical unread items. Filter specifically for direct requests or time-sensitive obligations.
|
|
12
|
+
* **Align:** Cross-reference new inputs against high important active tasks on TODO tool. Flag immediate conflicts or priority shifts.
|
|
13
|
+
|
|
14
|
+
## 2. DREAMING
|
|
15
|
+
* **Establish Target Date:** Check the current system time. If the current time is between 00:00 (midnight) and 06:00 AM, the target date to process is **YESTERDAY**. If the current time is later than 08:00 AM, the target date to process is **TODAY**.
|
|
16
|
+
* **Synthesize:** Read the raw logs, completed actions, and inputs specifically for the **Target Date**. Process them into a clear, highly readable, chronological summary of what actually occurred.
|
|
17
|
+
* **Memory Partitioning:** If new persistent data (hobbies, projects, clients) emerged during the Target Date, offload them to their dedicated files in `~/.curie-agent/memory/` and update `MEMORY.md` with links.
|
|
18
|
+
* **Self-Correction:** Analyze the workflow and actions of the Target Date. If persistent friction, bottlenecks, or recurring missed tasks are detected, draft a proposed update/tweak to the rules in this `HEARTBEAT.md` file to optimize future workflows.
|
|
19
|
+
* **Reflect:** Review recent Heartbeat Briefs and daily logs for emergent patterns, creative connections, or unresolved tensions.
|
|
20
|
+
* **Ideate:** Generate 1-3 novel ideas or improvements to the user's workflow, tools, or goals based on the recent summaries.
|
|
21
|
+
!IMPORTANT: Write DREAMS to `~/.curie-agent/memory/DREAM-YYYY-MM-DD.md` (Ensure the date in the filename matches the Target Date you just processed, NOT necessarily the current calendar date).
|
|
22
|
+
|
|
23
|
+
## 3. DAILY
|
|
24
|
+
* **Ingest & Update:** Read the clean summary generated during the Dreaming routine. Extract any persistent facts, preferences, or major events, and append them to `MEMORY.md`.
|
|
25
|
+
* **Rollover:** Review tasks in TODO tool. Draft newly identified obligations from yesterday's synthesis as staged medium, todo or backlog tasks. Do not delete incomplete tasks.
|
|
26
|
+
* **Waether:** Check Weather for today.
|
|
27
|
+
* **Report:** Generate a highly concise Daily Brief for the user containing: 1-2 actionable insights, proposed new tasks to TODO additions, your proposed `HEARTBEAT.md` updates (from Dreaming), and a brief system status.
|
|
28
|
+
|
|
29
|
+
## 4. WEEKLY
|
|
30
|
+
* **Analyze:** Review the past 7 daily summaries. Identify recurring workflow bottlenecks, continuously rolled-over tasks, or shifts in the user's focus.
|
|
31
|
+
* **Groom Backlog:** Review all todo, backlog tasks in TODO tool. Flag stale tasks (untouched for 14+ days) for deletion, or suggest elevating them to medium.
|
|
32
|
+
* **Map Dependencies:** Compare the upcoming week's calendar/reminders against current high / medium tasks to flag immediate schedule conflicts.
|
|
33
|
+
|
|
34
|
+
## 5. MONTHLY
|
|
35
|
+
* **Consolidate:** Extract macro-level developments and milestones from the entire month's logs. Append this distilled summary to `MEMORY.md` to convert short-term events into long-term knowledge.
|
|
36
|
+
* **Archive:** Move completed Canceled tasks in TODO that are older than 30 days to keep the active file lightweight.
|
|
37
|
+
* **Strategize:** Draft a brief macro-level report of productivity trends, major achievements, and proposed adjustments to the user's organizational system.
|