@duetso/agent 0.3.16 → 0.3.18

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.
@@ -6,7 +6,7 @@ var SLUG_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
6
6
  var ID_SEGMENT_PATTERN = /^[A-Za-z0-9_-]+$/;
7
7
  var KEY_PATTERN = /^[A-Za-z][A-Za-z0-9]*$/;
8
8
  var NUMBER_PATTERN = /^-?(?:0|[1-9]\d*)(?:\.\d+)?$/;
9
- var KNOWN_KEYS = [
9
+ var KNOWN_KEYS = new Set([
10
10
  "version",
11
11
  "id",
12
12
  "kind",
@@ -18,10 +18,9 @@ var KNOWN_KEYS = [
18
18
  "priority",
19
19
  "source",
20
20
  "tags"
21
- ];
22
- var KNOWN_KEY_ORDER = new Map(KNOWN_KEYS.map((key, index) => [key, index]));
21
+ ]);
23
22
  var parsedLineEndings = new WeakMap;
24
- function parseMemoryFile(text) {
23
+ function parseMemoryFile(text, options = {}) {
25
24
  const lineEnding = text.startsWith(`---\r
26
25
  `) ? `\r
27
26
  ` : text.startsWith(`---
@@ -37,39 +36,39 @@ function parseMemoryFile(text) {
37
36
  const content = text.slice(closingIndex + closingDelimiter.length);
38
37
  assertContent(content);
39
38
  const values = new Map;
40
- let lastKnownIndex = -1;
41
- let sawUnknown = false;
39
+ const seenKeys = new Set;
42
40
  for (const line of header.split(lineEnding)) {
43
- const separator = line.indexOf(": ");
44
- if (separator <= 0)
41
+ if (line.trim().length === 0 || line.trimStart().startsWith("#"))
42
+ continue;
43
+ const match = /^([^:]+):(?:\s+(.*))?$/.exec(line);
44
+ if (!match)
45
45
  throw new Error(`Invalid frontmatter line: ${line}`);
46
- const key = line.slice(0, separator);
47
- const rawValue = line.slice(separator + 2);
46
+ const key = match[1].trim();
47
+ const rawValue = (match[2] ?? "").trim();
48
48
  if (!KEY_PATTERN.test(key))
49
49
  throw new Error(`Invalid frontmatter key: ${key}`);
50
- if (values.has(key))
50
+ if (seenKeys.has(key))
51
51
  throw new Error(`Duplicate frontmatter key: ${key}`);
52
+ seenKeys.add(key);
52
53
  if (key === "sourceFolder") {
53
54
  throw new Error("sourceFolder is private archive metadata and cannot enter a memory file");
54
55
  }
55
- const knownIndex = KNOWN_KEY_ORDER.get(key);
56
- if (knownIndex === undefined) {
57
- sawUnknown = true;
58
- } else {
59
- if (sawUnknown || knownIndex <= lastKnownIndex) {
60
- throw new Error(`Frontmatter key is out of canonical order: ${key}`);
61
- }
62
- lastKnownIndex = knownIndex;
63
- }
56
+ if (rawValue.length === 0)
57
+ continue;
64
58
  values.set(key, parseScalar(rawValue));
65
59
  }
66
- const version = requireNumber(values, "version");
60
+ const version = optionalNumber(values, "version") ?? 1;
67
61
  if (version !== 1)
68
62
  throw new Error(`Unsupported memory file version: ${version}`);
69
- const kind = requireString(values, "kind");
63
+ const kind = optionalString(values, "kind") ?? "note";
70
64
  if (kind !== "train" && kind !== "note")
71
65
  throw new Error(`Invalid memory kind: ${kind}`);
72
- const createdAt = requireNumber(values, "createdAt");
66
+ const id = values.has("id") ? requireIdSegment(values, "id") : options.derived?.id;
67
+ if (id === undefined)
68
+ throw new Error("Frontmatter id is required");
69
+ const createdAt = optionalNumber(values, "createdAt") ?? options.derived?.createdAt;
70
+ if (createdAt === undefined)
71
+ throw new Error("Frontmatter createdAt is required");
73
72
  if (!Number.isSafeInteger(createdAt) || createdAt < 0) {
74
73
  throw new Error("createdAt must be a non-negative integer");
75
74
  }
@@ -79,7 +78,7 @@ function parseMemoryFile(text) {
79
78
  }
80
79
  const record = {
81
80
  version: 1,
82
- id: requireIdSegment(values, "id"),
81
+ id,
83
82
  kind,
84
83
  createdAt,
85
84
  ...optionalStringProperty(values, "headline"),
@@ -113,7 +112,7 @@ function serializeMemoryFile(record) {
113
112
  appendOptional(fields, "source", record.source);
114
113
  appendOptional(fields, "tags", record.tags);
115
114
  for (const [key, value] of Object.entries(record.extra ?? {})) {
116
- if (!KEY_PATTERN.test(key) || KNOWN_KEY_ORDER.has(key) || key === "sourceFolder") {
115
+ if (!KEY_PATTERN.test(key) || KNOWN_KEYS.has(key) || key === "sourceFolder") {
117
116
  throw new Error(`Invalid extra frontmatter key: ${key}`);
118
117
  }
119
118
  fields.push([key, value]);
@@ -136,15 +135,55 @@ function parseScalar(rawValue) {
136
135
  if (Number.isFinite(value) && String(value) === rawValue)
137
136
  return value;
138
137
  }
139
- try {
140
- const value = JSON.parse(rawValue);
141
- if (typeof value === "string" && JSON.stringify(value) === rawValue)
142
- return value;
143
- if (Array.isArray(value) && value.every((item) => typeof item === "string") && `[${value.map((item) => JSON.stringify(item)).join(", ")}]` === rawValue) {
144
- return value;
138
+ const quoted = unquote(rawValue);
139
+ if (quoted !== undefined)
140
+ return quoted;
141
+ if (rawValue.startsWith("[") && rawValue.endsWith("]")) {
142
+ const inner = rawValue.slice(1, -1).trim();
143
+ if (inner.length === 0)
144
+ return [];
145
+ return splitInlineList(inner).map((item) => unquote(item) ?? item);
146
+ }
147
+ return rawValue;
148
+ }
149
+ function unquote(value) {
150
+ if (value.length >= 2 && value.startsWith('"') && value.endsWith('"')) {
151
+ try {
152
+ const parsed = JSON.parse(value);
153
+ if (typeof parsed === "string")
154
+ return parsed;
155
+ } catch {}
156
+ return value.slice(1, -1);
157
+ }
158
+ if (value.length >= 2 && value.startsWith("'") && value.endsWith("'")) {
159
+ return value.slice(1, -1).replaceAll("''", "'");
160
+ }
161
+ return;
162
+ }
163
+ function splitInlineList(inner) {
164
+ const items = [];
165
+ let current = "";
166
+ let quote;
167
+ for (let index = 0;index < inner.length; index += 1) {
168
+ const char = inner[index];
169
+ if (quote === '"' && char === "\\") {
170
+ current += char + (inner[index + 1] ?? "");
171
+ index += 1;
172
+ continue;
145
173
  }
146
- } catch {}
147
- throw new Error(`Unsupported frontmatter scalar: ${rawValue}`);
174
+ if (quote === undefined && (char === '"' || char === "'"))
175
+ quote = char;
176
+ else if (quote === char)
177
+ quote = undefined;
178
+ if (char === "," && quote === undefined) {
179
+ items.push(current.trim());
180
+ current = "";
181
+ } else {
182
+ current += char;
183
+ }
184
+ }
185
+ items.push(current.trim());
186
+ return items.filter((item) => item.length > 0);
148
187
  }
149
188
  function serializeScalar(value) {
150
189
  if (typeof value === "number") {
@@ -160,23 +199,27 @@ function serializeScalar(value) {
160
199
  }
161
200
  throw new Error("Frontmatter values must be strings, numbers, or string arrays");
162
201
  }
163
- function requireNumber(values, key) {
202
+ function optionalNumber(values, key) {
164
203
  const value = values.get(key);
204
+ if (value === undefined)
205
+ return;
165
206
  if (typeof value !== "number")
166
207
  throw new Error(`Frontmatter ${key} must be a number`);
167
208
  return value;
168
209
  }
169
- function optionalNumber(values, key) {
210
+ function optionalString(values, key) {
170
211
  const value = values.get(key);
171
212
  if (value === undefined)
172
213
  return;
173
- if (typeof value !== "number")
174
- throw new Error(`Frontmatter ${key} must be a number`);
214
+ if (typeof value === "number")
215
+ return String(value);
216
+ if (typeof value !== "string")
217
+ throw new Error(`Frontmatter ${key} must be a string`);
175
218
  return value;
176
219
  }
177
220
  function requireString(values, key) {
178
- const value = values.get(key);
179
- if (typeof value !== "string")
221
+ const value = optionalString(values, key);
222
+ if (value === undefined)
180
223
  throw new Error(`Frontmatter ${key} must be a string`);
181
224
  return value;
182
225
  }
@@ -206,16 +249,17 @@ function optionalStringProperty(values, key) {
206
249
  return { [key]: requireNonBlankString(values, key) };
207
250
  }
208
251
  function optionalStringArrayProperty(values, key) {
209
- const value = values.get(key);
210
- if (value === undefined)
252
+ const raw = values.get(key);
253
+ if (raw === undefined)
211
254
  return {};
255
+ const value = typeof raw === "string" ? [raw] : raw;
212
256
  if (!Array.isArray(value) || value.some((item) => item.trim().length === 0)) {
213
257
  throw new Error(`Frontmatter ${key} must be a string array without blank items`);
214
258
  }
215
259
  return { tags: value };
216
260
  }
217
261
  function extraProperties(values) {
218
- const extra = Object.fromEntries(Array.from(values).filter(([key]) => !KNOWN_KEY_ORDER.has(key)));
262
+ const extra = Object.fromEntries(Array.from(values).filter(([key]) => !KNOWN_KEYS.has(key)));
219
263
  return Object.keys(extra).length === 0 ? {} : { extra };
220
264
  }
221
265
  function appendOptional(fields, key, value) {
@@ -389,13 +433,16 @@ function isNodeError2(error, code) {
389
433
  return error instanceof Error && "code" in error && error.code === code;
390
434
  }
391
435
  // src/memory/store/store.ts
392
- import { randomUUID } from "node:crypto";
436
+ import { createHash, randomUUID } from "node:crypto";
393
437
  import { constants } from "node:fs";
394
438
  import * as fileSystem2 from "node:fs/promises";
395
439
  import { basename as basename2, join as join4, resolve as resolve3 } from "node:path";
396
440
  async function listStore(dir) {
397
441
  return listStoreWithInvalidPolicy(dir);
398
442
  }
443
+ async function listStoreTolerant(dir, onInvalidEntry) {
444
+ return listStoreWithInvalidPolicy(dir, onInvalidEntry);
445
+ }
399
446
  async function listStoreWithInvalidPolicy(dir, onInvalidEntry) {
400
447
  const storeDir = await requireStoreDirectory(dir, false);
401
448
  if (!storeDir)
@@ -479,9 +526,17 @@ async function readParsedEntry(storeDir, slug) {
479
526
  throw new Error(`Memory entry is not a regular file: ${path}`);
480
527
  const handle = await fileSystem2.open(path, constants.O_RDONLY | constants.O_NOFOLLOW);
481
528
  const text = await handle.readFile("utf8").finally(() => handle.close());
482
- const record = parseMemoryFile(text);
529
+ const record = parseMemoryFile(text, { derived: derivedIdentity(storeDir, slug, status) });
483
530
  return { stored: toStoredMemory(storeDir, slug, record), record };
484
531
  }
532
+ function derivedIdentity(storeDir, slug, status) {
533
+ const digest = createHash("sha256").update(`${resolve3(storeDir)}
534
+ ${slug}`).digest("base64url");
535
+ return {
536
+ id: `mem_${digest.slice(0, 12)}`,
537
+ createdAt: Math.round(status.birthtimeMs > 0 ? status.birthtimeMs : status.mtimeMs)
538
+ };
539
+ }
485
540
  function toStoredMemory(storeDir, slug, record) {
486
541
  return {
487
542
  slug,
@@ -547,6 +602,7 @@ export {
547
602
  readEntry,
548
603
  parseMemoryFile,
549
604
  mergeListings,
605
+ listStoreTolerant,
550
606
  listStore,
551
607
  discoverMemoryStores,
552
608
  deleteEntry,
@@ -157,6 +157,8 @@ export declare class TurnRunner {
157
157
  private readonly parentInputWaiters;
158
158
  /** Settlements already folded into the ledger during replacement/interrupt. */
159
159
  private readonly ignoredTaskSettlements;
160
+ /** Settled tasks taken off the task manager but not yet queued for the parent. */
161
+ private readonly heldSettlements;
160
162
  /** Delivery posture for task-backed foreground bash calls. */
161
163
  private readonly taskSettlementDelivery;
162
164
  /** Coalesces same-tick settlements into one FIFO drain and one B3 notice. */
@@ -299,7 +301,22 @@ export declare class TurnRunner {
299
301
  private handleCommandDuringActiveTurn;
300
302
  private sendCommandToAgent;
301
303
  private enqueueParentInput;
304
+ /**
305
+ * Block until something the loop has not seen yet arrives: a parent input
306
+ * or a task settlement. Only called once the loop has found nothing
307
+ * runnable, so whatever is already queued must not count as activity —
308
+ * `enqueueAvailableSettlements` keeps the task manager's queue drained for
309
+ * exactly that reason.
310
+ */
302
311
  private waitForLoopActivity;
312
+ /**
313
+ * Move every settlement off the task manager into the held buffer. The
314
+ * manager's queue must never keep a settlement the loop has already seen:
315
+ * `waitForSettlement` reads a non-empty queue as fresh activity, and a
316
+ * loop holding settlements behind a foreground wait would then re-run on
317
+ * every microtask without ever yielding to the I/O that ends the wait.
318
+ */
319
+ private holdSettledTasks;
303
320
  private enqueueAvailableSettlements;
304
321
  private handleTaskEvent;
305
322
  private scheduleSettlementDelivery;
@@ -1 +1 @@
1
- {"version":3,"file":"turn-runner.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/turn-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-runner.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/turn-runner.ts"],"names":[],"mappings":"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"}
@@ -193,6 +193,8 @@ export class TurnRunner {
193
193
  parentInputWaiters = new Set();
194
194
  /** Settlements already folded into the ledger during replacement/interrupt. */
195
195
  ignoredTaskSettlements = new Set();
196
+ /** Settled tasks taken off the task manager but not yet queued for the parent. */
197
+ heldSettlements = [];
196
198
  /** Delivery posture for task-backed foreground bash calls. */
197
199
  taskSettlementDelivery = new Map();
198
200
  /** Coalesces same-tick settlements into one FIFO drain and one B3 notice. */
@@ -649,12 +651,7 @@ export class TurnRunner {
649
651
  continue;
650
652
  break;
651
653
  }
652
- if (this.parentInputs.length > 0) {
653
- await this.taskManager.waitForSettlement();
654
- }
655
- else {
656
- await this.waitForLoopActivity();
657
- }
654
+ await this.waitForLoopActivity();
658
655
  continue;
659
656
  }
660
657
  if (input.type === "wake" &&
@@ -809,9 +806,14 @@ export class TurnRunner {
809
806
  wake();
810
807
  this.parentInputWaiters.clear();
811
808
  }
809
+ /**
810
+ * Block until something the loop has not seen yet arrives: a parent input
811
+ * or a task settlement. Only called once the loop has found nothing
812
+ * runnable, so whatever is already queued must not count as activity —
813
+ * `enqueueAvailableSettlements` keeps the task manager's queue drained for
814
+ * exactly that reason.
815
+ */
812
816
  async waitForLoopActivity() {
813
- if (this.parentInputs.length > 0)
814
- return;
815
817
  let wake;
816
818
  const parentInput = new Promise((resolve) => {
817
819
  wake = resolve;
@@ -824,11 +826,24 @@ export class TurnRunner {
824
826
  this.parentInputWaiters.delete(wake);
825
827
  }
826
828
  }
829
+ /**
830
+ * Move every settlement off the task manager into the held buffer. The
831
+ * manager's queue must never keep a settlement the loop has already seen:
832
+ * `waitForSettlement` reads a non-empty queue as fresh activity, and a
833
+ * loop holding settlements behind a foreground wait would then re-run on
834
+ * every microtask without ever yielding to the I/O that ends the wait.
835
+ */
836
+ holdSettledTasks() {
837
+ for (let settlement = this.taskManager.nextSettled(); settlement; settlement = this.taskManager.nextSettled()) {
838
+ this.heldSettlements.push(settlement);
839
+ }
840
+ }
827
841
  enqueueAvailableSettlements() {
842
+ this.holdSettledTasks();
828
843
  if ([...this.taskSettlementDelivery.values()].includes("foreground_pending"))
829
844
  return;
830
845
  const settlements = [];
831
- for (let settlement = this.taskManager.nextSettled(); settlement; settlement = this.taskManager.nextSettled()) {
846
+ for (const settlement of this.heldSettlements.splice(0)) {
832
847
  const delivery = this.taskSettlementDelivery.get(settlement.id);
833
848
  this.taskSettlementDelivery.delete(settlement.id);
834
849
  if (delivery !== "suppress")
@@ -877,7 +892,8 @@ export class TurnRunner {
877
892
  });
878
893
  }
879
894
  discardStaleTaskSettlements() {
880
- for (let settlement = this.taskManager.nextSettled(); settlement; settlement = this.taskManager.nextSettled()) {
895
+ this.holdSettledTasks();
896
+ for (const settlement of this.heldSettlements.splice(0)) {
881
897
  this.stateTasks.delete(settlement.id);
882
898
  this.ignoredTaskSettlements.delete(settlement.id);
883
899
  this.taskSettlementDelivery.delete(settlement.id);