@curie-agent/core 0.2.4 → 0.2.5

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 (80) hide show
  1. package/LICENSE +179 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/channel-router.js +1 -1
  4. package/dist/src/channel-router.js.map +1 -1
  5. package/dist/src/context.d.ts +11 -0
  6. package/dist/src/context.d.ts.map +1 -0
  7. package/dist/src/context.js +63 -0
  8. package/dist/src/context.js.map +1 -0
  9. package/dist/src/cron-manager.d.ts +27 -8
  10. package/dist/src/cron-manager.d.ts.map +1 -1
  11. package/dist/src/cron-manager.js +121 -33
  12. package/dist/src/cron-manager.js.map +1 -1
  13. package/dist/src/event-bus.d.ts +71 -0
  14. package/dist/src/event-bus.d.ts.map +1 -1
  15. package/dist/src/event-bus.js.map +1 -1
  16. package/dist/src/heartbeat-delivery.d.ts +2 -0
  17. package/dist/src/heartbeat-delivery.d.ts.map +1 -1
  18. package/dist/src/heartbeat-delivery.js +20 -3
  19. package/dist/src/heartbeat-delivery.js.map +1 -1
  20. package/dist/src/heartbeat-executor.d.ts +36 -2
  21. package/dist/src/heartbeat-executor.d.ts.map +1 -1
  22. package/dist/src/heartbeat-executor.js +32 -40
  23. package/dist/src/heartbeat-executor.js.map +1 -1
  24. package/dist/src/identity-files.d.ts +18 -0
  25. package/dist/src/identity-files.d.ts.map +1 -0
  26. package/dist/src/identity-files.js +198 -0
  27. package/dist/src/identity-files.js.map +1 -0
  28. package/dist/src/index.d.ts +18 -4
  29. package/dist/src/index.d.ts.map +1 -1
  30. package/dist/src/index.js +12 -2
  31. package/dist/src/index.js.map +1 -1
  32. package/dist/src/pricing.d.ts +29 -0
  33. package/dist/src/pricing.d.ts.map +1 -0
  34. package/dist/src/pricing.js +85 -0
  35. package/dist/src/pricing.js.map +1 -0
  36. package/dist/src/safety/path-guard.d.ts +7 -3
  37. package/dist/src/safety/path-guard.d.ts.map +1 -1
  38. package/dist/src/safety/path-guard.js +14 -5
  39. package/dist/src/safety/path-guard.js.map +1 -1
  40. package/dist/src/session-store.d.ts +3 -1
  41. package/dist/src/session-store.d.ts.map +1 -1
  42. package/dist/src/session-store.js +24 -1
  43. package/dist/src/session-store.js.map +1 -1
  44. package/dist/src/settings.d.ts +91 -1
  45. package/dist/src/settings.d.ts.map +1 -1
  46. package/dist/src/settings.js +353 -82
  47. package/dist/src/settings.js.map +1 -1
  48. package/dist/src/subagent-executor.d.ts +68 -0
  49. package/dist/src/subagent-executor.d.ts.map +1 -0
  50. package/dist/src/subagent-executor.js +289 -0
  51. package/dist/src/subagent-executor.js.map +1 -0
  52. package/dist/src/task-executor.d.ts +31 -0
  53. package/dist/src/task-executor.d.ts.map +1 -0
  54. package/dist/src/task-executor.js +91 -0
  55. package/dist/src/task-executor.js.map +1 -0
  56. package/dist/src/task-manager.d.ts +83 -0
  57. package/dist/src/task-manager.d.ts.map +1 -0
  58. package/dist/src/task-manager.js +304 -0
  59. package/dist/src/task-manager.js.map +1 -0
  60. package/dist/src/task-migration.d.ts +10 -0
  61. package/dist/src/task-migration.d.ts.map +1 -0
  62. package/dist/src/task-migration.js +144 -0
  63. package/dist/src/task-migration.js.map +1 -0
  64. package/dist/src/task-summary.d.ts +7 -0
  65. package/dist/src/task-summary.d.ts.map +1 -0
  66. package/dist/src/task-summary.js +34 -0
  67. package/dist/src/task-summary.js.map +1 -0
  68. package/dist/src/token-monitor.d.ts +50 -0
  69. package/dist/src/token-monitor.d.ts.map +1 -0
  70. package/dist/src/token-monitor.js +119 -0
  71. package/dist/src/token-monitor.js.map +1 -0
  72. package/dist/src/turn-loop.d.ts +7 -1
  73. package/dist/src/turn-loop.d.ts.map +1 -1
  74. package/dist/src/turn-loop.js +42 -11
  75. package/dist/src/turn-loop.js.map +1 -1
  76. package/dist/src/unified-task.d.ts +76 -0
  77. package/dist/src/unified-task.d.ts.map +1 -0
  78. package/dist/src/unified-task.js +196 -0
  79. package/dist/src/unified-task.js.map +1 -0
  80. package/package.json +10 -10
@@ -0,0 +1,196 @@
1
+ /**
2
+ * Unified task types shared across all curie-agent packages.
3
+ * Replaces the separate TodoTask (todo.json) and CronTask (cron.json) models.
4
+ */
5
+ /** Human-readable label for a schedule type. */
6
+ export function scheduleLabel(type) {
7
+ return type.toUpperCase();
8
+ }
9
+ export const TASK_MODES = ['manual', 'auto', 'notify'];
10
+ export const TASK_STATUSES = [
11
+ 'backlog', 'todo', 'in_progress', 'done', 'canceled', 'pending',
12
+ ];
13
+ // ---------------------------------------------------------------------------
14
+ // Helpers
15
+ // ---------------------------------------------------------------------------
16
+ /** Default task creation shape for new tasks (mode-dependent defaults). */
17
+ export function createTaskDefaults(mode, scope) {
18
+ if (mode === 'manual') {
19
+ return { status: 'todo', priority: 'medium', tags: [], mode, frequency: null, scope, order: 0, created_at: new Date().toISOString(), completed_at: undefined };
20
+ }
21
+ // auto / notify
22
+ return { status: 'pending', priority: 'medium', tags: [], mode, frequency: null, scope, order: 0, created_at: new Date().toISOString() };
23
+ }
24
+ /** Generate a UUID v4. */
25
+ export function generateTaskId() {
26
+ return crypto.randomUUID();
27
+ }
28
+ /** ISO timestamp for created_at / completed_at. */
29
+ export function taskTimestamp() {
30
+ return new Date().toISOString();
31
+ }
32
+ // ---------------------------------------------------------------------------
33
+ // Schedule math (previously in cron-manager)
34
+ // ---------------------------------------------------------------------------
35
+ /** Parse "H:MM" into { hour, minute }. */
36
+ function parseTime(value) {
37
+ const match = value.match(/^(\d{1,2}):(\d{2})$/);
38
+ if (!match)
39
+ return null;
40
+ const hour = parseInt(match[1] ?? '0', 10);
41
+ const minute = parseInt(match[2] ?? '0', 10);
42
+ if (hour < 0 || hour > 23 || minute < 0 || minute > 59)
43
+ return null;
44
+ return { hour, minute };
45
+ }
46
+ /** Parse "day@H:MM" into { day, hour, minute }. */
47
+ function parseWeekly(value) {
48
+ const atIdx = value.indexOf('@');
49
+ if (atIdx < 0)
50
+ return null;
51
+ const dayStr = value.slice(0, atIdx).toLowerCase();
52
+ const timeStr = value.slice(atIdx + 1);
53
+ const dayNames = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
54
+ const day = dayNames.indexOf(dayStr);
55
+ if (day < 0)
56
+ return null;
57
+ const time = parseTime(timeStr);
58
+ if (!time)
59
+ return null;
60
+ return { day, ...time };
61
+ }
62
+ /** Parse "D@H:MM" into { dayOfMonth, hour, minute }. */
63
+ function parseMonthly(value) {
64
+ const atIdx = value.indexOf('@');
65
+ if (atIdx < 0)
66
+ return null;
67
+ const dayStr = value.slice(0, atIdx);
68
+ const dayOfMonth = parseInt(dayStr, 10);
69
+ if (isNaN(dayOfMonth) || dayOfMonth < 1 || dayOfMonth > 31)
70
+ return null;
71
+ const time = parseTime(value.slice(atIdx + 1));
72
+ if (!time)
73
+ return null;
74
+ return { dayOfMonth, ...time };
75
+ }
76
+ /** Compute the next fire time for a schedule. Returns epoch ms. */
77
+ export function computeNextFire(schedule, now) {
78
+ const reference = now ?? Date.now();
79
+ if (!schedule)
80
+ return reference;
81
+ const { type, value } = schedule;
82
+ if (!value)
83
+ return reference;
84
+ if (type === 'intraday') {
85
+ const tokens = value.split(',').map((s) => s.trim()).filter(Boolean);
86
+ const slots = [];
87
+ for (const token of tokens) {
88
+ const t = parseTime(token);
89
+ if (t)
90
+ slots.push(t);
91
+ }
92
+ if (slots.length === 0)
93
+ return reference;
94
+ slots.sort((a, b) => a.hour * 60 + a.minute - (b.hour * 60 + b.minute));
95
+ const firstSlot = slots[0];
96
+ const base = new Date(reference);
97
+ for (const slot of slots) {
98
+ const candidate = new Date(base);
99
+ candidate.setHours(slot.hour, slot.minute, 0, 0);
100
+ if (candidate.getTime() > reference)
101
+ return candidate.getTime();
102
+ }
103
+ // All slots passed today — use first slot tomorrow
104
+ const tomorrow = new Date(base);
105
+ tomorrow.setDate(tomorrow.getDate() + 1);
106
+ tomorrow.setHours(firstSlot.hour, firstSlot.minute, 0, 0);
107
+ return tomorrow.getTime();
108
+ }
109
+ if (type === 'daily') {
110
+ const t = parseTime(value);
111
+ if (!t)
112
+ return reference;
113
+ const next = new Date(reference);
114
+ next.setHours(t.hour, t.minute, 0, 0);
115
+ if (next.getTime() <= reference) {
116
+ next.setDate(next.getDate() + 1);
117
+ }
118
+ return next.getTime();
119
+ }
120
+ if (type === 'weekly') {
121
+ const w = parseWeekly(value);
122
+ if (!w)
123
+ return reference;
124
+ const next = new Date(reference);
125
+ next.setHours(w.hour, w.minute, 0, 0);
126
+ // Move to the correct weekday
127
+ while (next.getDay() !== w.day) {
128
+ next.setDate(next.getDate() + 1);
129
+ }
130
+ if (next.getTime() <= reference) {
131
+ next.setDate(next.getDate() + 7);
132
+ }
133
+ return next.getTime();
134
+ }
135
+ if (type === 'monthly') {
136
+ const m = parseMonthly(value);
137
+ if (!m)
138
+ return reference;
139
+ const next = new Date(reference);
140
+ next.setDate(m.dayOfMonth);
141
+ next.setHours(m.hour, m.minute, 0, 0);
142
+ if (next.getTime() <= reference) {
143
+ next.setMonth(next.getMonth() + 1);
144
+ if (next.getMonth() > 11) {
145
+ next.setFullYear(next.getFullYear() + 1);
146
+ }
147
+ }
148
+ return next.getTime();
149
+ }
150
+ if (type === 'dreaming') {
151
+ const t = parseTime(value);
152
+ if (!t)
153
+ return reference;
154
+ const next = new Date(reference);
155
+ next.setHours(t.hour, t.minute, 0, 0);
156
+ if (next.getTime() <= reference) {
157
+ next.setDate(next.getDate() + 1);
158
+ }
159
+ return next.getTime();
160
+ }
161
+ return reference;
162
+ }
163
+ /**
164
+ * Evaluate all five heartbeat schedule settings and return the one
165
+ * with the earliest next fire time. Returns null if all are empty.
166
+ */
167
+ export function pickNextSchedule(settings, now) {
168
+ const reference = now ?? Date.now();
169
+ const candidates = [];
170
+ // Tie-break priority: intraday > daily > weekly > monthly > dreaming
171
+ const priority = { intraday: 0, daily: 1, weekly: 2, monthly: 3, dreaming: 4 };
172
+ const schedules = [
173
+ { type: 'intraday', value: settings.HEARTBEAT_INTRADAY ?? '' },
174
+ { type: 'daily', value: settings.HEARTBEAT_DAILY ?? '' },
175
+ { type: 'weekly', value: settings.HEARTBEAT_WEEKLY ?? '' },
176
+ { type: 'monthly', value: settings.HEARTBEAT_MONTHLY ?? '' },
177
+ { type: 'dreaming', value: settings.HEARTBEAT_DREAMING ?? '' },
178
+ ];
179
+ for (const { type, value } of schedules) {
180
+ if (!value)
181
+ continue;
182
+ const nextFire = computeNextFire({ type, value }, reference);
183
+ candidates.push({ type, value, nextFire });
184
+ }
185
+ if (candidates.length === 0)
186
+ return null;
187
+ candidates.sort((a, b) => {
188
+ const diff = a.nextFire - b.nextFire;
189
+ if (diff !== 0)
190
+ return diff;
191
+ return priority[a.type] - priority[b.type];
192
+ });
193
+ const best = candidates[0];
194
+ return { type: best.type, value: best.value };
195
+ }
196
+ //# sourceMappingURL=unified-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unified-task.js","sourceRoot":"","sources":["../../src/unified-task.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curie-agent/core",
3
- "version": "0.2.4",
3
+ "version": "0.2.5",
4
4
  "publish": true,
5
5
  "type": "module",
6
6
  "files": [
@@ -26,14 +26,6 @@
26
26
  "types": "./dist/src/safety/snapshot.d.ts"
27
27
  }
28
28
  },
29
- "scripts": {
30
- "build": "tsc --project tsconfig.json",
31
- "dev": "tsc --watch --project tsconfig.json",
32
- "typecheck": "tsc --noEmit --project tsconfig.json",
33
- "lint": "eslint src/",
34
- "test": "vitest run",
35
- "clean": "npx rimraf dist"
36
- },
37
29
  "dependencies": {
38
30
  "grammy": "^1.42.0",
39
31
  "zod": "^4.4.3"
@@ -41,5 +33,13 @@
41
33
  "devDependencies": {
42
34
  "@types/node": "^22.0.0",
43
35
  "typescript": "^6.0.3"
36
+ },
37
+ "scripts": {
38
+ "build": "tsc --project tsconfig.json",
39
+ "dev": "tsc --watch --project tsconfig.json",
40
+ "typecheck": "tsc --noEmit --project tsconfig.json",
41
+ "lint": "eslint src/",
42
+ "test": "vitest run",
43
+ "clean": "npx rimraf dist"
44
44
  }
45
- }
45
+ }