@curie-agent/core 0.4.2 → 0.4.4
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/compaction.d.ts +76 -0
- package/dist/src/compaction.d.ts.map +1 -0
- package/dist/src/compaction.js +229 -0
- package/dist/src/compaction.js.map +1 -0
- package/dist/src/context-budget.d.ts +72 -0
- package/dist/src/context-budget.d.ts.map +1 -0
- package/dist/src/context-budget.js +132 -0
- package/dist/src/context-budget.js.map +1 -0
- package/dist/src/event-bus.d.ts +20 -0
- package/dist/src/event-bus.d.ts.map +1 -1
- package/dist/src/event-bus.js.map +1 -1
- package/dist/src/index.d.ts +8 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/reminder-parser.d.ts +6 -0
- package/dist/src/reminder-parser.d.ts.map +1 -1
- package/dist/src/reminder-parser.js +85 -105
- package/dist/src/reminder-parser.js.map +1 -1
- package/dist/src/settings.d.ts +13 -0
- package/dist/src/settings.d.ts.map +1 -1
- package/dist/src/settings.js +37 -12
- package/dist/src/settings.js.map +1 -1
- package/dist/src/subagent-executor.d.ts +8 -0
- package/dist/src/subagent-executor.d.ts.map +1 -1
- package/dist/src/subagent-executor.js +20 -6
- package/dist/src/subagent-executor.js.map +1 -1
- package/dist/src/task-manager.d.ts +53 -12
- package/dist/src/task-manager.d.ts.map +1 -1
- package/dist/src/task-manager.js +225 -124
- package/dist/src/task-manager.js.map +1 -1
- package/dist/src/task-migration.d.ts +29 -2
- package/dist/src/task-migration.d.ts.map +1 -1
- package/dist/src/task-migration.js +115 -7
- package/dist/src/task-migration.js.map +1 -1
- package/dist/src/turn-loop.d.ts +22 -2
- package/dist/src/turn-loop.d.ts.map +1 -1
- package/dist/src/turn-loop.js +222 -95
- package/dist/src/turn-loop.js.map +1 -1
- package/package.json +1 -1
- package/templates/settings.json +100 -91
- package/dist/src/cron-manager.d.ts +0 -92
- package/dist/src/cron-manager.d.ts.map +0 -1
- package/dist/src/cron-manager.js +0 -410
- package/dist/src/cron-manager.js.map +0 -1
- package/dist/src/task-executor.d.ts +0 -31
- package/dist/src/task-executor.d.ts.map +0 -1
- package/dist/src/task-executor.js +0 -91
- package/dist/src/task-executor.js.map +0 -1
- package/dist/src/token-monitor.d.ts +0 -50
- package/dist/src/token-monitor.d.ts.map +0 -1
- package/dist/src/token-monitor.js +0 -119
- package/dist/src/token-monitor.js.map +0 -1
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Migration
|
|
3
|
-
*
|
|
2
|
+
* Migration utilities.
|
|
3
|
+
*
|
|
4
|
+
* - `migrateTasks()` — one-shot merge of legacy todo.json + cron.json into tasks.json.
|
|
5
|
+
* - `repairTaskShapes()` — idempotent in-place fix-up of tasks written by older
|
|
6
|
+
* versions, run on every startup.
|
|
4
7
|
*/
|
|
5
|
-
import { readFileSync, writeFileSync } from 'node:fs';
|
|
8
|
+
import { existsSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
|
|
6
9
|
import { homedir } from 'node:os';
|
|
7
10
|
import { join } from 'node:path';
|
|
8
11
|
import { taskTimestamp } from './unified-task.js';
|
|
@@ -81,8 +84,10 @@ export function migrateTasks(oldTodoPath, oldCronPath, newTasksPath) {
|
|
|
81
84
|
}
|
|
82
85
|
const newFile = { $schema: 'tasks.schema.json', version: 1, tasks: [] };
|
|
83
86
|
let order = 0;
|
|
84
|
-
// Migrate todo.json → human tasks
|
|
85
|
-
|
|
87
|
+
// Migrate todo.json → human tasks.
|
|
88
|
+
// An explicit path replaces the home default rather than adding to it —
|
|
89
|
+
// otherwise every caller (including tests) also pulls in the user's personal store.
|
|
90
|
+
const todoPaths = oldTodoPath ? [oldTodoPath] : [join(homedir(), '.curie-agent', 'todo.json')];
|
|
86
91
|
for (const filePath of todoPaths) {
|
|
87
92
|
const legacy = readLegacyTodo(filePath);
|
|
88
93
|
if (!legacy)
|
|
@@ -107,8 +112,8 @@ export function migrateTasks(oldTodoPath, oldCronPath, newTasksPath) {
|
|
|
107
112
|
});
|
|
108
113
|
}
|
|
109
114
|
}
|
|
110
|
-
// Migrate cron.json →
|
|
111
|
-
const cronPaths = [oldCronPath
|
|
115
|
+
// Migrate cron.json → agent/notify tasks
|
|
116
|
+
const cronPaths = oldCronPath ? [oldCronPath] : [join(homedir(), '.curie-agent', 'cron.json')];
|
|
112
117
|
for (const filePath of cronPaths) {
|
|
113
118
|
const legacy = readLegacyCron(filePath);
|
|
114
119
|
if (!legacy)
|
|
@@ -141,4 +146,107 @@ export function migrateTasks(oldTodoPath, oldCronPath, newTasksPath) {
|
|
|
141
146
|
writeFileSync(target, JSON.stringify(newFile, null, 2), 'utf-8');
|
|
142
147
|
return newFile;
|
|
143
148
|
}
|
|
149
|
+
// ---------------------------------------------------------------------------
|
|
150
|
+
// Shape repair (idempotent, runs on every startup)
|
|
151
|
+
// ---------------------------------------------------------------------------
|
|
152
|
+
/** Legacy mode names → current TaskMode. */
|
|
153
|
+
const MODE_ALIASES = {
|
|
154
|
+
auto: 'agent',
|
|
155
|
+
manual: 'human',
|
|
156
|
+
};
|
|
157
|
+
const VALID_STATUSES = [
|
|
158
|
+
'backlog', 'todo', 'in_progress', 'done', 'canceled', 'pending', 'executing', 'completed', 'failed',
|
|
159
|
+
];
|
|
160
|
+
const VALID_PRIORITIES = ['low', 'medium', 'high', 'critical'];
|
|
161
|
+
/**
|
|
162
|
+
* Repair tasks written by older versions, in place.
|
|
163
|
+
*
|
|
164
|
+
* Two shapes exist in real stores and neither can ever fire:
|
|
165
|
+
* - `mode: 'auto'` — renamed to `'agent'`. `normalizeTask()` in the Todo tool
|
|
166
|
+
* coerces unrecognised modes to `'human'`, which silently demoted scheduled
|
|
167
|
+
* tasks into inert todo-list items.
|
|
168
|
+
* - a scheduled `agent`/`notify` task sitting on `status: 'todo'` — the
|
|
169
|
+
* scheduler only ever looks at `'pending'`.
|
|
170
|
+
*
|
|
171
|
+
* Unknown modes are reported, not rewritten — a silent coercion is what caused
|
|
172
|
+
* the original data loss.
|
|
173
|
+
*/
|
|
174
|
+
export function repairTaskShapes(tasksPath) {
|
|
175
|
+
const target = tasksPath ?? join(homedir(), '.curie-agent', 'tasks.json');
|
|
176
|
+
if (!existsSync(target))
|
|
177
|
+
return null;
|
|
178
|
+
let file;
|
|
179
|
+
try {
|
|
180
|
+
const parsed = JSON.parse(readFileSync(target, 'utf-8'));
|
|
181
|
+
if (typeof parsed !== 'object' || parsed === null || !Array.isArray(parsed.tasks))
|
|
182
|
+
return null;
|
|
183
|
+
file = parsed;
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
return null; // corrupt — leave it for a human to look at
|
|
187
|
+
}
|
|
188
|
+
const report = { modesRenamed: 0, statusesFixed: 0, fieldsFilled: 0, unknownModes: [] };
|
|
189
|
+
const knownModes = ['human', 'agent', 'notify'];
|
|
190
|
+
file.tasks.forEach((task, index) => {
|
|
191
|
+
const raw = task;
|
|
192
|
+
// --- mode ---------------------------------------------------------
|
|
193
|
+
const rawMode = typeof raw.mode === 'string' ? raw.mode : '';
|
|
194
|
+
const alias = MODE_ALIASES[rawMode];
|
|
195
|
+
if (alias) {
|
|
196
|
+
task.mode = alias;
|
|
197
|
+
report.modesRenamed++;
|
|
198
|
+
}
|
|
199
|
+
else if (rawMode === '') {
|
|
200
|
+
// Absent mode predates the unified model — those were all todo items.
|
|
201
|
+
task.mode = 'human';
|
|
202
|
+
report.fieldsFilled++;
|
|
203
|
+
}
|
|
204
|
+
else if (!knownModes.includes(rawMode)) {
|
|
205
|
+
if (!report.unknownModes.includes(rawMode))
|
|
206
|
+
report.unknownModes.push(rawMode);
|
|
207
|
+
return; // don't touch a task we don't understand
|
|
208
|
+
}
|
|
209
|
+
// --- required scalars ---------------------------------------------
|
|
210
|
+
if (!VALID_STATUSES.includes(task.status)) {
|
|
211
|
+
task.status = task.mode === 'human' ? 'todo' : 'pending';
|
|
212
|
+
report.fieldsFilled++;
|
|
213
|
+
}
|
|
214
|
+
if (!VALID_PRIORITIES.includes(task.priority)) {
|
|
215
|
+
task.priority = 'medium';
|
|
216
|
+
report.fieldsFilled++;
|
|
217
|
+
}
|
|
218
|
+
if (!Array.isArray(task.tags)) {
|
|
219
|
+
task.tags = [];
|
|
220
|
+
report.fieldsFilled++;
|
|
221
|
+
}
|
|
222
|
+
if (typeof task.order !== 'number') {
|
|
223
|
+
task.order = index;
|
|
224
|
+
report.fieldsFilled++;
|
|
225
|
+
}
|
|
226
|
+
if (typeof task.created_at !== 'string' || !task.created_at) {
|
|
227
|
+
task.created_at = taskTimestamp();
|
|
228
|
+
report.fieldsFilled++;
|
|
229
|
+
}
|
|
230
|
+
if (raw.completed_at === null) {
|
|
231
|
+
delete raw.completed_at;
|
|
232
|
+
report.fieldsFilled++;
|
|
233
|
+
}
|
|
234
|
+
if (raw.frequency === undefined) {
|
|
235
|
+
task.frequency = null;
|
|
236
|
+
report.fieldsFilled++;
|
|
237
|
+
}
|
|
238
|
+
// --- fireability --------------------------------------------------
|
|
239
|
+
// A scheduled agent/notify task must be 'pending' or the checker skips it forever.
|
|
240
|
+
if (task.mode !== 'human' && task.scheduled_at && (task.status === 'todo' || task.status === 'backlog')) {
|
|
241
|
+
task.status = 'pending';
|
|
242
|
+
report.statusesFixed++;
|
|
243
|
+
}
|
|
244
|
+
});
|
|
245
|
+
if (report.modesRenamed === 0 && report.statusesFixed === 0 && report.fieldsFilled === 0)
|
|
246
|
+
return report;
|
|
247
|
+
const tmpPath = `${target}.tmp`;
|
|
248
|
+
writeFileSync(tmpPath, JSON.stringify(file, null, 2), 'utf-8');
|
|
249
|
+
renameSync(tmpPath, target);
|
|
250
|
+
return report;
|
|
251
|
+
}
|
|
144
252
|
//# sourceMappingURL=task-migration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-migration.js","sourceRoot":"","sources":["../../src/task-migration.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"task-migration.js","sourceRoot":"","sources":["../../src/task-migration.ts"],"names":[],"mappings":"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"}
|
package/dist/src/turn-loop.d.ts
CHANGED
|
@@ -26,11 +26,16 @@ export interface ProviderStream {
|
|
|
26
26
|
maxTokens?: number;
|
|
27
27
|
sessionId?: string;
|
|
28
28
|
}): CancelableIterable<ProviderEvent>;
|
|
29
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* Non-streaming call — used for quick evaluations (harm-check) and for
|
|
31
|
+
* writing compaction summaries. `maxTokens` matters for the latter: the
|
|
32
|
+
* adapters' built-in defaults are sized for one-word harm verdicts.
|
|
33
|
+
*/
|
|
30
34
|
check(prompt: string, args?: {
|
|
31
35
|
model?: string;
|
|
32
36
|
system?: string;
|
|
33
37
|
signal?: AbortSignal;
|
|
38
|
+
maxTokens?: number;
|
|
34
39
|
}): Promise<string>;
|
|
35
40
|
}
|
|
36
41
|
export interface Tool {
|
|
@@ -135,6 +140,13 @@ export type Message = {
|
|
|
135
140
|
toolName?: string;
|
|
136
141
|
content: string;
|
|
137
142
|
};
|
|
143
|
+
/**
|
|
144
|
+
* Rebuild the provider message array from a session's persisted events.
|
|
145
|
+
*
|
|
146
|
+
* Module-level so the daemon can compact an idle session without instantiating
|
|
147
|
+
* a TurnLoop — one implementation, so live and out-of-band paths cannot drift.
|
|
148
|
+
*/
|
|
149
|
+
export declare function reconstructMessagesFromEvents(allEvents: Event[]): Message[];
|
|
138
150
|
export declare class TurnLoop {
|
|
139
151
|
private bus;
|
|
140
152
|
private store;
|
|
@@ -146,6 +158,15 @@ export declare class TurnLoop {
|
|
|
146
158
|
private messages;
|
|
147
159
|
private activeSessionId;
|
|
148
160
|
private recoveredTurns;
|
|
161
|
+
/**
|
|
162
|
+
* Learned chars-per-token for this session. Seeded at the English default and
|
|
163
|
+
* corrected from every real `usage` report — a Polish or CJK transcript runs
|
|
164
|
+
* well under 4 chars/token, which is how a run can be estimated at half its
|
|
165
|
+
* true size and sail past the gate.
|
|
166
|
+
*/
|
|
167
|
+
private calibration;
|
|
168
|
+
/** Characters in the last request sent, used to calibrate against its usage report. */
|
|
169
|
+
private lastRequestChars;
|
|
149
170
|
constructor(config: TurnLoopConfig, store?: SessionStore);
|
|
150
171
|
get eventBus(): EventBus;
|
|
151
172
|
get sessionStore(): SessionStore;
|
|
@@ -155,7 +176,6 @@ export declare class TurnLoop {
|
|
|
155
176
|
setCwd(newCwd: string): void;
|
|
156
177
|
private evaluateHarm;
|
|
157
178
|
private reconstructMessages;
|
|
158
|
-
private buildTurnMessages;
|
|
159
179
|
run(prompt: string): Promise<TurnLoopResult>;
|
|
160
180
|
}
|
|
161
181
|
//# sourceMappingURL=turn-loop.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-loop.d.ts","sourceRoot":"","sources":["../../src/turn-loop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAoB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"turn-loop.d.ts","sourceRoot":"","sources":["../../src/turn-loop.ts"],"names":[],"mappings":"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"}
|