@curie-agent/core 0.4.2 → 0.4.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.
Files changed (42) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/src/compaction.d.ts +76 -0
  3. package/dist/src/compaction.d.ts.map +1 -0
  4. package/dist/src/compaction.js +229 -0
  5. package/dist/src/compaction.js.map +1 -0
  6. package/dist/src/context-budget.d.ts +72 -0
  7. package/dist/src/context-budget.d.ts.map +1 -0
  8. package/dist/src/context-budget.js +132 -0
  9. package/dist/src/context-budget.js.map +1 -0
  10. package/dist/src/event-bus.d.ts +20 -0
  11. package/dist/src/event-bus.d.ts.map +1 -1
  12. package/dist/src/event-bus.js.map +1 -1
  13. package/dist/src/index.d.ts +6 -3
  14. package/dist/src/index.d.ts.map +1 -1
  15. package/dist/src/index.js +4 -2
  16. package/dist/src/index.js.map +1 -1
  17. package/dist/src/settings.d.ts +13 -0
  18. package/dist/src/settings.d.ts.map +1 -1
  19. package/dist/src/settings.js +37 -12
  20. package/dist/src/settings.js.map +1 -1
  21. package/dist/src/subagent-executor.d.ts +8 -0
  22. package/dist/src/subagent-executor.d.ts.map +1 -1
  23. package/dist/src/subagent-executor.js +20 -6
  24. package/dist/src/subagent-executor.js.map +1 -1
  25. package/dist/src/turn-loop.d.ts +22 -2
  26. package/dist/src/turn-loop.d.ts.map +1 -1
  27. package/dist/src/turn-loop.js +222 -95
  28. package/dist/src/turn-loop.js.map +1 -1
  29. package/package.json +1 -1
  30. package/templates/settings.json +100 -91
  31. package/dist/src/cron-manager.d.ts +0 -92
  32. package/dist/src/cron-manager.d.ts.map +0 -1
  33. package/dist/src/cron-manager.js +0 -410
  34. package/dist/src/cron-manager.js.map +0 -1
  35. package/dist/src/task-executor.d.ts +0 -31
  36. package/dist/src/task-executor.d.ts.map +0 -1
  37. package/dist/src/task-executor.js +0 -91
  38. package/dist/src/task-executor.js.map +0 -1
  39. package/dist/src/token-monitor.d.ts +0 -50
  40. package/dist/src/token-monitor.d.ts.map +0 -1
  41. package/dist/src/token-monitor.js +0 -119
  42. package/dist/src/token-monitor.js.map +0 -1
@@ -5,6 +5,8 @@ import { PermissionEngine } from './permission.js';
5
5
  import { createSnapshot } from './safety/snapshot.js';
6
6
  import { summarizeToolInput } from './safety/tool-digest.js';
7
7
  import { withOsContext, withMessageTimestamp } from './context.js';
8
+ import { resolveBudget, estimateRequestTokens, breakdownChars, fillPct, classify, calibrate, formatTokens, DEFAULT_CALIBRATION, } from './context-budget.js';
9
+ import { compactMessages, buildSummaryMessage } from './compaction.js';
8
10
  // The provider's stream() returns a CancelableIterable with a cancel() method
9
11
  // that synchronously aborts the underlying HTTP connection (e.g., Anthropic's
10
12
  // stream.abort()). The TurnLoop wires this cancel() to the AbortSignal's abort
@@ -12,9 +14,108 @@ import { withOsContext, withMessageTimestamp } from './context.js';
12
14
  // the next SSE event from the server.
13
15
  // Brief delay to let WebSocket events flush to clients between approval requests.
14
16
  const approvalThrottleMs = 50;
17
+ /**
18
+ * Ceiling on mid-run compactions. If a fresh summary plus the protected tail is
19
+ * still over budget, the history is not the problem and looping would just burn
20
+ * summarizer calls — fall through to the hard abort.
21
+ */
22
+ const MAX_COMPACTIONS_PER_RUN = 3;
15
23
  function sleep(ms) {
16
24
  return new Promise((resolve) => setTimeout(resolve, ms));
17
25
  }
26
+ /**
27
+ * Rebuild the provider message array from a session's persisted events.
28
+ *
29
+ * Module-level so the daemon can compact an idle session without instantiating
30
+ * a TurnLoop — one implementation, so live and out-of-band paths cannot drift.
31
+ */
32
+ export function reconstructMessagesFromEvents(allEvents) {
33
+ const messages = [];
34
+ // Compaction is append-only: the full log stays on disk for the UI and for
35
+ // audit, but the model only carries history from the last marker forward,
36
+ // seeded by that marker's summary.
37
+ let events = allEvents;
38
+ let seededFromCompaction = false;
39
+ for (let i = allEvents.length - 1; i >= 0; i--) {
40
+ const e = allEvents[i];
41
+ if (e?.type === 'compaction') {
42
+ messages.push(buildSummaryMessage(e.summary, e.timestamp));
43
+ events = allEvents.slice(i + 1);
44
+ seededFromCompaction = true;
45
+ break;
46
+ }
47
+ }
48
+ let currentTurn = {
49
+ assistantDeltas: [],
50
+ thinkingDeltas: [],
51
+ toolCalls: [],
52
+ toolResults: [],
53
+ };
54
+ // The summary message stands in for the user turn a mid-run compaction has
55
+ // no counterpart for, so the assistant events that follow it are replayed.
56
+ let hasActiveTurn = seededFromCompaction;
57
+ for (const event of events) {
58
+ if (event.type === 'user-prompt') {
59
+ if (hasActiveTurn) {
60
+ messages.push(...buildTurnMessages(currentTurn));
61
+ }
62
+ messages.push({ role: 'user', content: withMessageTimestamp(event.text, event.timestamp) });
63
+ currentTurn = { assistantDeltas: [], thinkingDeltas: [], toolCalls: [], toolResults: [] };
64
+ hasActiveTurn = true;
65
+ continue;
66
+ }
67
+ if (!hasActiveTurn)
68
+ continue;
69
+ if (event.type === 'assistant-delta') {
70
+ currentTurn.assistantDeltas.push(event.text);
71
+ }
72
+ else if (event.type === 'thinking-delta') {
73
+ currentTurn.thinkingDeltas.push(event.text);
74
+ }
75
+ else if (event.type === 'tool-call') {
76
+ currentTurn.toolCalls.push({ toolCallId: event.toolCallId, name: event.name, input: event.input, thoughtSignature: event.thoughtSignature });
77
+ }
78
+ else if (event.type === 'tool-result') {
79
+ currentTurn.toolResults.push({ toolCallId: event.toolCallId, output: event.output });
80
+ }
81
+ }
82
+ if (hasActiveTurn) {
83
+ messages.push(...buildTurnMessages(currentTurn));
84
+ }
85
+ return messages;
86
+ }
87
+ function buildTurnMessages(turn) {
88
+ const msgs = [];
89
+ // Assistant message: text blocks + tool-use blocks.
90
+ //
91
+ // Deltas are joined into ONE block per kind. Pushing one block per persisted
92
+ // delta turned a resumed session into hundreds of five-character blocks —
93
+ // pure JSON overhead on every subsequent request.
94
+ //
95
+ // Thinking is dropped entirely on replay: signatures are not persisted, and
96
+ // Anthropic rejects unsigned thinking blocks. Reconstructed thinking has no
97
+ // value to the model anyway; the text and tool calls it produced are kept.
98
+ const assistantBlocks = [];
99
+ const text = turn.assistantDeltas.join('');
100
+ if (text) {
101
+ assistantBlocks.push({ type: 'text', text });
102
+ }
103
+ for (const tc of turn.toolCalls) {
104
+ assistantBlocks.push({ type: 'tool-use', id: tc.toolCallId, name: tc.name, input: tc.input, thoughtSignature: tc.thoughtSignature });
105
+ }
106
+ if (assistantBlocks.length > 0) {
107
+ msgs.push({ role: 'assistant', content: assistantBlocks });
108
+ }
109
+ // Tool messages
110
+ for (const tr of turn.toolResults) {
111
+ const tc = turn.toolCalls.find(c => c.toolCallId === tr.toolCallId);
112
+ if (tc) {
113
+ const content = typeof tr.output === 'string' ? tr.output : JSON.stringify(tr.output);
114
+ msgs.push({ role: 'tool', toolUseId: tc.toolCallId, toolName: tc.name, content });
115
+ }
116
+ }
117
+ return msgs;
118
+ }
18
119
  export class TurnLoop {
19
120
  bus;
20
121
  store;
@@ -26,6 +127,15 @@ export class TurnLoop {
26
127
  messages = [];
27
128
  activeSessionId;
28
129
  recoveredTurns = 0;
130
+ /**
131
+ * Learned chars-per-token for this session. Seeded at the English default and
132
+ * corrected from every real `usage` report — a Polish or CJK transcript runs
133
+ * well under 4 chars/token, which is how a run can be estimated at half its
134
+ * true size and sail past the gate.
135
+ */
136
+ calibration = DEFAULT_CALIBRATION;
137
+ /** Characters in the last request sent, used to calibrate against its usage report. */
138
+ lastRequestChars = 0;
29
139
  constructor(config, store) {
30
140
  this.config = config;
31
141
  this._cwd = config.cwd;
@@ -85,70 +195,8 @@ export class TurnLoop {
85
195
  return { approved: false, reason: 'LLM harm-check failed — denied' };
86
196
  }
87
197
  }
88
- reconstructMessages(events) {
89
- const messages = [];
90
- let currentTurn = {
91
- assistantDeltas: [],
92
- thinkingDeltas: [],
93
- toolCalls: [],
94
- toolResults: [],
95
- };
96
- let hasActiveTurn = false;
97
- for (const event of events) {
98
- if (event.type === 'user-prompt') {
99
- if (hasActiveTurn) {
100
- messages.push(...this.buildTurnMessages(currentTurn));
101
- }
102
- messages.push({ role: 'user', content: withMessageTimestamp(event.text, event.timestamp) });
103
- currentTurn = { assistantDeltas: [], thinkingDeltas: [], toolCalls: [], toolResults: [] };
104
- hasActiveTurn = true;
105
- continue;
106
- }
107
- if (!hasActiveTurn)
108
- continue;
109
- if (event.type === 'assistant-delta') {
110
- currentTurn.assistantDeltas.push(event.text);
111
- }
112
- else if (event.type === 'thinking-delta') {
113
- currentTurn.thinkingDeltas.push(event.text);
114
- }
115
- else if (event.type === 'tool-call') {
116
- currentTurn.toolCalls.push({ toolCallId: event.toolCallId, name: event.name, input: event.input, thoughtSignature: event.thoughtSignature });
117
- }
118
- else if (event.type === 'tool-result') {
119
- currentTurn.toolResults.push({ toolCallId: event.toolCallId, output: event.output });
120
- }
121
- }
122
- if (hasActiveTurn) {
123
- messages.push(...this.buildTurnMessages(currentTurn));
124
- }
125
- return messages;
126
- }
127
- buildTurnMessages(turn) {
128
- const msgs = [];
129
- // Assistant message: thinking blocks + text blocks + tool-use blocks
130
- const assistantBlocks = [];
131
- for (const text of turn.thinkingDeltas) {
132
- assistantBlocks.push({ type: 'thinking', thinking: text, signature: '' });
133
- }
134
- for (const text of turn.assistantDeltas) {
135
- assistantBlocks.push({ type: 'text', text });
136
- }
137
- for (const tc of turn.toolCalls) {
138
- assistantBlocks.push({ type: 'tool-use', id: tc.toolCallId, name: tc.name, input: tc.input, thoughtSignature: tc.thoughtSignature });
139
- }
140
- if (assistantBlocks.length > 0) {
141
- msgs.push({ role: 'assistant', content: assistantBlocks });
142
- }
143
- // Tool messages
144
- for (const tr of turn.toolResults) {
145
- const tc = turn.toolCalls.find(c => c.toolCallId === tr.toolCallId);
146
- if (tc) {
147
- const content = typeof tr.output === 'string' ? tr.output : JSON.stringify(tr.output);
148
- msgs.push({ role: 'tool', toolUseId: tc.toolCallId, toolName: tc.name, content });
149
- }
150
- }
151
- return msgs;
198
+ reconstructMessages(allEvents) {
199
+ return reconstructMessagesFromEvents(allEvents);
152
200
  }
153
201
  async run(prompt) {
154
202
  // Resolve the effective session ID:
@@ -207,6 +255,19 @@ export class TurnLoop {
207
255
  const maxTurns = this.config.maxTurns ?? 50;
208
256
  let continuationCount = 0;
209
257
  const maxContinuations = 5;
258
+ // Run-scoped state. The tool counters below are per-turn; these bound the
259
+ // whole run, which is what a 50-turn research loop actually needs.
260
+ let compactionsThisRun = 0;
261
+ let runToolCalls = 0;
262
+ let runWebsearchCalls = 0;
263
+ const advisoriesEmitted = new Set();
264
+ /** Emit a context advisory at most once per run — a 50-turn run should not repeat it 50 times. */
265
+ const emitOnce = (key, message) => {
266
+ if (advisoriesEmitted.has(key))
267
+ return;
268
+ advisoriesEmitted.add(key);
269
+ emit({ type: 'context-warning', id: session.id, message, timestamp: Date.now() });
270
+ };
210
271
  try {
211
272
  while (turn < maxTurns && !this.abort) {
212
273
  turn++;
@@ -239,35 +300,81 @@ export class TurnLoop {
239
300
  : self.messages;
240
301
  // Capture abortController before the loop — it's always set by this point.
241
302
  const abortCtrl = self.abortController;
242
- // Pre-flight: abort before sending if estimated payload exceeds context window.
243
- // Count actual text content chars (not JSON structure) and divide by 4 (~4 chars/token).
303
+ // Pre-flight budget check. Runs before EVERY provider call, so a single
304
+ // long run is governed the same way a multi-prompt conversation is
305
+ // the previous design only checked between user prompts, which is why a
306
+ // 50-turn research run could grow unbounded and then hard-abort.
244
307
  {
245
- const ctxWindow = self.config.settings.providers[self.config.settings.current_provider]?.model_context_window ?? 131072;
246
- const reservedForOutput = self.config.settings.providers[self.config.settings.current_provider]?.max_output_tokens ?? 65536;
247
- let contentChars = (self.config.system?.length ?? 0) + 200; // system prompt + date context overhead
248
- for (const m of streamMessages) {
249
- if (typeof m.content === 'string') {
250
- contentChars += m.content.length;
308
+ const budget = resolveBudget(self.config.settings);
309
+ const toolDefinitions = self.config.tools.map((t) => t.definition);
310
+ const parts = breakdownChars({ system: self.config.system, messages: streamMessages, toolDefinitions });
311
+ self.lastRequestChars = parts.system + parts.toolDefinitions + parts.conversation + parts.toolResults;
312
+ const estimated = estimateRequestTokens({
313
+ system: self.config.system, messages: streamMessages, toolDefinitions, calibration: self.calibration,
314
+ });
315
+ const pct = fillPct(estimated, budget);
316
+ const autoCompact = self.config.settings.auto_compact;
317
+ const status = classify(pct, autoCompact);
318
+ // Bus only, not persisted: this fires before every provider call, so
319
+ // appending it would add one JSONL line per turn of pure telemetry.
320
+ // The `compaction` marker below IS persisted — replay depends on it.
321
+ self.bus.emit({
322
+ type: 'context-report', id: session.id, model: self.config.model,
323
+ windowTokens: budget.windowTokens, usedTokens: estimated, reservedOutput: budget.reservedOutput,
324
+ breakdown: [
325
+ { label: 'System prompt', tokens: Math.ceil(parts.system / self.calibration) },
326
+ { label: 'Tool definitions', tokens: Math.ceil(parts.toolDefinitions / self.calibration) },
327
+ { label: 'Conversation', tokens: Math.ceil(parts.conversation / self.calibration) },
328
+ { label: 'Tool results', tokens: Math.ceil(parts.toolResults / self.calibration) },
329
+ ],
330
+ timestamp: Date.now(),
331
+ });
332
+ if (status === 'forced' && compactionsThisRun < MAX_COMPACTIONS_PER_RUN) {
333
+ compactionsThisRun++;
334
+ emit({ type: 'status', id: session.id, message: `Context ${String(pct)}% full — compacting conversation…`, timestamp: Date.now() });
335
+ try {
336
+ const result = await compactMessages({
337
+ messages: self.messages,
338
+ provider: self.config.provider,
339
+ model: autoCompact?.model || self.config.model,
340
+ budget,
341
+ calibration: self.calibration,
342
+ signal: self.abortController?.signal,
343
+ });
344
+ const compactionTs = Date.now();
345
+ self.messages = [buildSummaryMessage(result.summary, compactionTs), ...result.keptMessages];
346
+ emit({
347
+ type: 'compaction', id: session.id, summary: result.summary,
348
+ summarizedMessageCount: result.summarizedMessageCount,
349
+ tokensBefore: result.estimatedTokensBefore, tokensAfter: result.estimatedTokensAfter,
350
+ timestamp: compactionTs,
351
+ });
352
+ // Re-estimate against the compacted history before sending anything.
353
+ turn--;
354
+ continue;
251
355
  }
252
- else if (Array.isArray(m.content)) {
253
- for (const b of m.content) {
254
- if (b.text)
255
- contentChars += b.text.length;
256
- else if (b.thinking)
257
- contentChars += b.thinking.length;
258
- else if (b.input)
259
- contentChars += JSON.stringify(b.input).length;
260
- }
356
+ catch (err) {
357
+ // Fall through to the hard abort below — compaction failing is not
358
+ // a reason to send a request we know is over budget.
359
+ emit({ type: 'status', id: session.id, timestamp: Date.now(), message: `Compaction failed: ${err instanceof Error ? err.message : String(err)}` });
261
360
  }
262
361
  }
263
- const estimatedInputTokens = Math.ceil(contentChars / 4);
264
- if (estimatedInputTokens > ctxWindow - reservedForOutput) {
265
- emit({ type: 'error', id: session.id, timestamp: Date.now(), message: `Estimated input (~${Math.round(estimatedInputTokens / 1000)}k tokens) would exceed the context window ` +
266
- `(${Math.round(ctxWindow / 1000)}k) for provider "${self.config.settings.current_provider}". ` +
267
- `Run /context compact to summarize history, or switch to a model with a larger context window.` });
362
+ if (estimated > budget.usableTokens) {
363
+ emit({ type: 'error', id: session.id, timestamp: Date.now(), message: `Estimated input (~${formatTokens(estimated)} tokens) would exceed the usable context ` +
364
+ `(${formatTokens(budget.usableTokens)} of a ${formatTokens(budget.windowTokens)} window, ` +
365
+ `${formatTokens(budget.reservedOutput)} reserved for output) for provider ` +
366
+ `"${self.config.settings.current_provider}"` +
367
+ (compactionsThisRun > 0 ? ` — still over budget after ${String(compactionsThisRun)} compaction(s).` : '.') +
368
+ ` Run /context compact, or switch to a model with a larger context window.` });
268
369
  emit({ type: 'session-stop', id: session.id, reason: 'error', timestamp: Date.now() });
269
370
  return { events: self.bus.history(), sessionId: session.id, reason: 'error' };
270
371
  }
372
+ if (status === 'suggest') {
373
+ emitOnce('suggest', `Context ${String(pct)}% full — run \`/context compact\` to summarize history.`);
374
+ }
375
+ else if (status === 'warn') {
376
+ emitOnce('warn', `Context ${String(pct)}% full.`);
377
+ }
271
378
  }
272
379
  // Start the provider stream and capture its cancel function.
273
380
  // The cancel() method synchronously aborts the underlying HTTP connection
@@ -309,6 +416,12 @@ export class TurnLoop {
309
416
  emit({ type: 'tool-call', id: session.id, toolCallId: event.id, name: event.name, input: event.input, thoughtSignature: event.thoughtSignature, timestamp: Date.now() });
310
417
  break;
311
418
  case 'usage':
419
+ // Correct the chars-per-token ratio against ground truth, so the
420
+ // next pre-flight estimate reflects this conversation's actual
421
+ // tokenizer density rather than an English-prose assumption.
422
+ if (self.lastRequestChars > 0 && event.inputTokens > 0) {
423
+ self.calibration = calibrate(self.lastRequestChars, event.inputTokens);
424
+ }
312
425
  emit({ type: 'usage', id: session.id, inputTokens: event.inputTokens, outputTokens: event.outputTokens, cacheReadTokens: event.cacheReadTokens, cacheWriteTokens: event.cacheWriteTokens, timestamp: Date.now() });
313
426
  break;
314
427
  case 'stop':
@@ -419,24 +532,35 @@ export class TurnLoop {
419
532
  if (this.abort)
420
533
  break;
421
534
  // --- Tool usage limits ---
535
+ // Per-turn caps bound one model response; per-run caps bound the whole
536
+ // `run()`. Without the latter, `maxTurns` 50 x `tools_per_call` 10 is
537
+ // 500 tool calls in a single user turn with nothing to stop it.
422
538
  const totalLimit = this.config.settings.tools_per_call ?? 10;
423
539
  const websearchLimit = this.config.settings.websearch_per_call ?? 5;
424
- if (totalToolCalls >= totalLimit) {
425
- const msg = `Tool call limit reached (${totalLimit} per turn). Skipping remaining tool call(s).`;
540
+ const runToolLimit = this.config.settings.tools_per_run ?? 200;
541
+ const runWebsearchLimit = this.config.settings.websearch_per_run ?? 60;
542
+ /** Skip this call and every one after it in the batch, telling the model why. */
543
+ const skipRemaining = (msg) => {
426
544
  emit({ type: 'status', id: session.id, message: msg, timestamp: Date.now() });
427
545
  for (const remaining of toolCalls.slice(toolCalls.indexOf(tc))) {
428
546
  this.messages.push({ role: 'tool', toolUseId: remaining.id, toolName: remaining.name, content: `Skipped: ${msg}` });
429
547
  emit({ type: 'tool-result', id: session.id, toolCallId: remaining.id, output: null, error: msg, timestamp: Date.now() });
430
548
  }
549
+ };
550
+ if (totalToolCalls >= totalLimit) {
551
+ skipRemaining(`Tool call limit reached (${String(totalLimit)} per turn). Skipping remaining tool call(s).`);
552
+ break;
553
+ }
554
+ if (runToolCalls >= runToolLimit) {
555
+ skipRemaining(`Tool call limit reached (${String(runToolLimit)} for this run). Wrap up and summarize what you have.`);
431
556
  break;
432
557
  }
433
558
  if (websearchTools.has(tc.name) && websearchToolCalls >= websearchLimit) {
434
- const msg = `WebSearch/WebFetch limit reached (${websearchLimit} per turn). Skipping remaining tool call(s).`;
435
- emit({ type: 'status', id: session.id, message: msg, timestamp: Date.now() });
436
- for (const remaining of toolCalls.slice(toolCalls.indexOf(tc))) {
437
- this.messages.push({ role: 'tool', toolUseId: remaining.id, toolName: remaining.name, content: `Skipped: ${msg}` });
438
- emit({ type: 'tool-result', id: session.id, toolCallId: remaining.id, output: null, error: msg, timestamp: Date.now() });
439
- }
559
+ skipRemaining(`WebSearch/WebFetch limit reached (${String(websearchLimit)} per turn). Skipping remaining tool call(s).`);
560
+ break;
561
+ }
562
+ if (websearchTools.has(tc.name) && runWebsearchCalls >= runWebsearchLimit) {
563
+ skipRemaining(`WebSearch/WebFetch limit reached (${String(runWebsearchLimit)} for this run). Wrap up with the sources you have.`);
440
564
  break;
441
565
  }
442
566
  // --- End tool usage limits ---
@@ -500,8 +624,11 @@ export class TurnLoop {
500
624
  toolDecisionBy = decisionBy === 'llm' ? 'llm' : 'user';
501
625
  }
502
626
  totalToolCalls++;
503
- if (websearchTools.has(tc.name))
627
+ runToolCalls++;
628
+ if (websearchTools.has(tc.name)) {
504
629
  websearchToolCalls++;
630
+ runWebsearchCalls++;
631
+ }
505
632
  const tool = this.config.tools.find((t) => t.definition.name === tc.name);
506
633
  if (!tool) {
507
634
  const available = this.config.tools.map((t) => t.definition.name).join(', ');
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curie-agent/core",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "publish": true,
5
5
  "type": "module",
6
6
  "files": [