audrey 2.0.0 → 2.1.0

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 (148) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/README.md +64 -60
  3. package/SECURITY.md +2 -3
  4. package/dist/mcp-server/config.d.ts +1 -1
  5. package/dist/mcp-server/config.d.ts.map +1 -1
  6. package/dist/mcp-server/config.js +31 -3
  7. package/dist/mcp-server/config.js.map +1 -1
  8. package/dist/mcp-server/index.d.ts +6 -2
  9. package/dist/mcp-server/index.d.ts.map +1 -1
  10. package/dist/mcp-server/index.js +147 -16
  11. package/dist/mcp-server/index.js.map +1 -1
  12. package/dist/mcp-server/tool-schemas.d.ts +46 -0
  13. package/dist/mcp-server/tool-schemas.d.ts.map +1 -1
  14. package/dist/mcp-server/tool-schemas.js +20 -1
  15. package/dist/mcp-server/tool-schemas.js.map +1 -1
  16. package/dist/src/action-key.d.ts.map +1 -1
  17. package/dist/src/action-key.js +7 -7
  18. package/dist/src/action-key.js.map +1 -1
  19. package/dist/src/audrey.d.ts +7 -4
  20. package/dist/src/audrey.d.ts.map +1 -1
  21. package/dist/src/audrey.js +210 -57
  22. package/dist/src/audrey.js.map +1 -1
  23. package/dist/src/autopilot.d.ts +1 -1
  24. package/dist/src/autopilot.d.ts.map +1 -1
  25. package/dist/src/autopilot.js +47 -224
  26. package/dist/src/autopilot.js.map +1 -1
  27. package/dist/src/capsule.d.ts +4 -17
  28. package/dist/src/capsule.d.ts.map +1 -1
  29. package/dist/src/capsule.js +21 -20
  30. package/dist/src/capsule.js.map +1 -1
  31. package/dist/src/chatgpt-auth.d.ts +77 -0
  32. package/dist/src/chatgpt-auth.d.ts.map +1 -0
  33. package/dist/src/chatgpt-auth.js +887 -0
  34. package/dist/src/chatgpt-auth.js.map +1 -0
  35. package/dist/src/chatgpt-llm.d.ts +18 -0
  36. package/dist/src/chatgpt-llm.d.ts.map +1 -0
  37. package/dist/src/chatgpt-llm.js +157 -0
  38. package/dist/src/chatgpt-llm.js.map +1 -0
  39. package/dist/src/consolidate.d.ts.map +1 -1
  40. package/dist/src/consolidate.js +30 -2
  41. package/dist/src/consolidate.js.map +1 -1
  42. package/dist/src/controller.d.ts +7 -1
  43. package/dist/src/controller.d.ts.map +1 -1
  44. package/dist/src/controller.js +88 -14
  45. package/dist/src/controller.js.map +1 -1
  46. package/dist/src/db.d.ts +1 -0
  47. package/dist/src/db.d.ts.map +1 -1
  48. package/dist/src/db.js +126 -45
  49. package/dist/src/db.js.map +1 -1
  50. package/dist/src/embedding.d.ts.map +1 -1
  51. package/dist/src/embedding.js +14 -1
  52. package/dist/src/embedding.js.map +1 -1
  53. package/dist/src/encode.d.ts +14 -0
  54. package/dist/src/encode.d.ts.map +1 -1
  55. package/dist/src/encode.js +56 -17
  56. package/dist/src/encode.js.map +1 -1
  57. package/dist/src/events.d.ts +17 -0
  58. package/dist/src/events.d.ts.map +1 -1
  59. package/dist/src/events.js +130 -3
  60. package/dist/src/events.js.map +1 -1
  61. package/dist/src/export.d.ts +1 -0
  62. package/dist/src/export.d.ts.map +1 -1
  63. package/dist/src/export.js +9 -2
  64. package/dist/src/export.js.map +1 -1
  65. package/dist/src/forget.d.ts.map +1 -1
  66. package/dist/src/forget.js +6 -2
  67. package/dist/src/forget.js.map +1 -1
  68. package/dist/src/fts.d.ts +2 -2
  69. package/dist/src/fts.d.ts.map +1 -1
  70. package/dist/src/fts.js +4 -4
  71. package/dist/src/fts.js.map +1 -1
  72. package/dist/src/grounding.d.ts +1 -1
  73. package/dist/src/grounding.d.ts.map +1 -1
  74. package/dist/src/grounding.js +24 -11
  75. package/dist/src/grounding.js.map +1 -1
  76. package/dist/src/hybrid-recall.d.ts +5 -8
  77. package/dist/src/hybrid-recall.d.ts.map +1 -1
  78. package/dist/src/hybrid-recall.js +25 -57
  79. package/dist/src/hybrid-recall.js.map +1 -1
  80. package/dist/src/import.d.ts +40 -3
  81. package/dist/src/import.d.ts.map +1 -1
  82. package/dist/src/import.js +101 -42
  83. package/dist/src/import.js.map +1 -1
  84. package/dist/src/index.d.ts +3 -0
  85. package/dist/src/index.d.ts.map +1 -1
  86. package/dist/src/index.js +2 -0
  87. package/dist/src/index.js.map +1 -1
  88. package/dist/src/llm-shared.d.ts +10 -0
  89. package/dist/src/llm-shared.d.ts.map +1 -0
  90. package/dist/src/llm-shared.js +20 -0
  91. package/dist/src/llm-shared.js.map +1 -0
  92. package/dist/src/llm.d.ts +2 -1
  93. package/dist/src/llm.d.ts.map +1 -1
  94. package/dist/src/llm.js +13 -22
  95. package/dist/src/llm.js.map +1 -1
  96. package/dist/src/migrate.d.ts.map +1 -1
  97. package/dist/src/migrate.js +34 -40
  98. package/dist/src/migrate.js.map +1 -1
  99. package/dist/src/preflight.d.ts +2 -0
  100. package/dist/src/preflight.d.ts.map +1 -1
  101. package/dist/src/preflight.js +5 -1
  102. package/dist/src/preflight.js.map +1 -1
  103. package/dist/src/project-memory.d.ts +14 -0
  104. package/dist/src/project-memory.d.ts.map +1 -0
  105. package/dist/src/project-memory.js +135 -0
  106. package/dist/src/project-memory.js.map +1 -0
  107. package/dist/src/project.d.ts +2 -0
  108. package/dist/src/project.d.ts.map +1 -1
  109. package/dist/src/project.js +12 -0
  110. package/dist/src/project.js.map +1 -1
  111. package/dist/src/promote.d.ts.map +1 -1
  112. package/dist/src/promote.js +2 -26
  113. package/dist/src/promote.js.map +1 -1
  114. package/dist/src/recall-scoring.d.ts +14 -0
  115. package/dist/src/recall-scoring.d.ts.map +1 -0
  116. package/dist/src/recall-scoring.js +167 -0
  117. package/dist/src/recall-scoring.js.map +1 -0
  118. package/dist/src/recall.d.ts.map +1 -1
  119. package/dist/src/recall.js +31 -168
  120. package/dist/src/recall.js.map +1 -1
  121. package/dist/src/rollback.d.ts +12 -0
  122. package/dist/src/rollback.d.ts.map +1 -1
  123. package/dist/src/rollback.js +118 -25
  124. package/dist/src/rollback.js.map +1 -1
  125. package/dist/src/routes.d.ts.map +1 -1
  126. package/dist/src/routes.js +102 -33
  127. package/dist/src/routes.js.map +1 -1
  128. package/dist/src/rules-compiler.d.ts +4 -0
  129. package/dist/src/rules-compiler.d.ts.map +1 -1
  130. package/dist/src/rules-compiler.js +34 -2
  131. package/dist/src/rules-compiler.js.map +1 -1
  132. package/dist/src/server.d.ts +2 -0
  133. package/dist/src/server.d.ts.map +1 -1
  134. package/dist/src/server.js +96 -38
  135. package/dist/src/server.js.map +1 -1
  136. package/dist/src/shell-command.d.ts.map +1 -1
  137. package/dist/src/shell-command.js +24 -7
  138. package/dist/src/shell-command.js.map +1 -1
  139. package/dist/src/success-checks.d.ts +41 -0
  140. package/dist/src/success-checks.d.ts.map +1 -0
  141. package/dist/src/success-checks.js +164 -0
  142. package/dist/src/success-checks.js.map +1 -0
  143. package/dist/src/types.d.ts +7 -1
  144. package/dist/src/types.d.ts.map +1 -1
  145. package/dist/src/validate.d.ts.map +1 -1
  146. package/dist/src/validate.js +23 -9
  147. package/dist/src/validate.js.map +1 -1
  148. package/package.json +7 -10
@@ -4,6 +4,7 @@ import { buildPreflight } from './preflight.js';
4
4
  import { buildReflexReportFromPreflight } from './reflexes.js';
5
5
  import { redact, truncateRedactedText } from './redact.js';
6
6
  import { requireAgent } from './utils.js';
7
+ import { compileSuccessChecks, readSuccessChecks, verifySuccessChecks, } from './success-checks.js';
7
8
  const DEFAULT_FAILURE_DECAY_DAYS = 7;
8
9
  function parseMetadata(value) {
9
10
  if (!value)
@@ -144,13 +145,37 @@ function exactActionState(audrey, action, failureDecayDays, actorAgent) {
144
145
  actorAgent,
145
146
  ...(since ? { since } : {}),
146
147
  });
148
+ // Every recorded failure of this action counts, whatever contract the
149
+ // current call declares: a renamed or dropped check must not hide one. The
150
+ // contract only decides which later success recovers a checked failure.
147
151
  const latestSuccess = latestSucceededEvent(events);
148
- const failures = events
149
- .filter(event => event.outcome === 'failed')
150
- .filter(event => !latestSuccess || eventOrder(event, latestSuccess) > 0);
152
+ const checkedSuccesses = new Map();
153
+ for (const event of events) {
154
+ const metadata = parseMetadata(event.metadata);
155
+ const verification = metadata.guard_verification;
156
+ if (event.outcome === 'succeeded' &&
157
+ typeof metadata.guard_contract_digest === 'string' &&
158
+ verification?.status === 'passed' &&
159
+ verification.contract_digest === metadata.guard_contract_digest) {
160
+ const prior = checkedSuccesses.get(metadata.guard_contract_digest);
161
+ if (!prior || eventOrder(prior, event) < 0)
162
+ checkedSuccesses.set(metadata.guard_contract_digest, event);
163
+ }
164
+ }
165
+ const recoveredBy = (failure) => {
166
+ const contract = parseMetadata(failure.metadata).guard_contract_digest;
167
+ const success = typeof contract === 'string' ? checkedSuccesses.get(contract) : latestSuccess;
168
+ return success && eventOrder(failure, success) < 0 ? success : undefined;
169
+ };
170
+ const failedEvents = events.filter(event => event.outcome === 'failed');
171
+ const failures = failedEvents.filter(event => !recoveredBy(event));
151
172
  if (failures.length > 0 || !latestSuccess)
152
173
  return { failures };
153
- const recoveredFailures = events.filter(event => event.outcome === 'failed' && eventOrder(event, latestSuccess) < 0);
174
+ const recoveredFailures = failedEvents.filter(event => recoveredBy(event));
175
+ const recovery = latestSucceededEvent(recoveredFailures.flatMap(event => {
176
+ const success = recoveredBy(event);
177
+ return success ? [success] : [];
178
+ }));
154
179
  const recoveredFailureMemoryIds = recoveredFailures.flatMap(event => {
155
180
  const linkedId = parseMetadata(event.metadata).failure_memory_id;
156
181
  if (typeof linkedId === 'string' && linkedId.length > 0)
@@ -168,7 +193,7 @@ function exactActionState(audrey, action, failureDecayDays, actorAgent) {
168
193
  return {
169
194
  failures,
170
195
  ...(recoveredFailures.length > 0
171
- ? { recoveredBy: latestSuccess, recoveredFailures, recoveredFailureMemoryIds }
196
+ ? { recoveredBy: recovery, recoveredFailures, recoveredFailureMemoryIds }
172
197
  : {}),
173
198
  };
174
199
  }
@@ -179,7 +204,10 @@ export class MemoryController {
179
204
  this.audrey = audrey;
180
205
  this.failureDecayDays = options.failureDecayDays ?? DEFAULT_FAILURE_DECAY_DAYS;
181
206
  }
182
- async beforeAction(action) {
207
+ async beforeAction(action, options = {}) {
208
+ if ('successChecks' in action || 'successChecks' in options) {
209
+ throw new Error('successChecks require the receipt API: use Audrey.beforeAction and Audrey.afterAction');
210
+ }
183
211
  const evaluation = await this.evaluate(action, {
184
212
  tool: action.tool,
185
213
  actionDigest: action.actionDigest,
@@ -192,6 +220,7 @@ export class MemoryController {
192
220
  includeStatus: true,
193
221
  recordEvent: true,
194
222
  scope: 'agent',
223
+ ...options,
195
224
  });
196
225
  return evaluation.controller;
197
226
  }
@@ -215,6 +244,8 @@ export class MemoryController {
215
244
  async evaluate(action, options) {
216
245
  const tool = options.tool ?? action.tool ?? 'guard';
217
246
  const actorAgent = requireAgent(options.agent, this.audrey.agent);
247
+ // Validate before preflight creates a receipt or changes retrieval state.
248
+ const successChecks = compileSuccessChecks(options.successChecks);
218
249
  const preflight = await buildPreflight(this.audrey, action.action, {
219
250
  ...options,
220
251
  tool,
@@ -357,6 +388,7 @@ export class MemoryController {
357
388
  preflight_evidence_ids: evidenceIds,
358
389
  prior_failure_acknowledged: acknowledgedPriorFailure,
359
390
  exact_repeat_failure_block: exactRepeatedFailure,
391
+ ...(successChecks ? { guard_success_checks: successChecks } : {}),
360
392
  }), receiptId, actorAgent);
361
393
  const guardDecision = {
362
394
  receipt_id: receiptId,
@@ -376,6 +408,7 @@ export class MemoryController {
376
408
  recommended_actions: finalRecommendedActions,
377
409
  evidence_ids: evidenceIds,
378
410
  recent_failures: preflight.recent_failures,
411
+ ...(successChecks ? { required_checks: successChecks.checks.map(check => check.id) } : {}),
379
412
  ...(preflight.status ? { status: preflight.status } : {}),
380
413
  ...(preflight.capsule ? { capsule: preflight.capsule } : {}),
381
414
  };
@@ -414,9 +447,15 @@ export class MemoryController {
414
447
  metadata: {
415
448
  ...(outcome.metadata ?? {}),
416
449
  audrey_guard_action_key: guardActionKey(outcome.action),
450
+ // This legacy path has no receipt and cannot verify a declared goal.
451
+ guard_contract_digest: null,
452
+ guard_verification: null,
453
+ guard_reported_outcome: null,
454
+ guard_block_overridden: false,
455
+ guard_override_reason: null,
417
456
  },
418
457
  });
419
- if (outcome.outcome !== 'failed')
458
+ if (outcome.outcome !== 'failed' || outcome.metadata?.read_only === true)
420
459
  return;
421
460
  const content = failureMemoryContent(outcome.action, tool, outcome.errorSummary);
422
461
  if (!content)
@@ -438,6 +477,18 @@ export async function beforeAction(audrey, action, options = {}) {
438
477
  return new MemoryController(audrey).beforeActionDecision(action, options);
439
478
  }
440
479
  export function afterAction(audrey, input) {
480
+ // Acquire the writer lock before reading the receipt's outcome. A deferred
481
+ // check followed by independent writes lets concurrent hook processes record
482
+ // duplicate outcomes and apply the same evidence feedback more than once.
483
+ const notifications = [];
484
+ const result = audrey.db
485
+ .transaction(() => recordActionOutcome(audrey, input, notifications))
486
+ .immediate();
487
+ for (const notify of notifications)
488
+ notify();
489
+ return result;
490
+ }
491
+ function recordActionOutcome(audrey, input, notifications) {
441
492
  if (!input.receiptId || input.receiptId.trim().length === 0) {
442
493
  throw new Error('receiptId is required');
443
494
  }
@@ -446,7 +497,10 @@ export function afterAction(audrey, input) {
446
497
  if (!receipt) {
447
498
  throw new Error(`guard receipt not found: ${input.receiptId}`);
448
499
  }
449
- const outcome = input.outcome ?? 'unknown';
500
+ const reportedOutcome = input.outcome ?? 'unknown';
501
+ if (!['succeeded', 'failed', 'blocked', 'skipped', 'unknown'].includes(reportedOutcome)) {
502
+ throw new Error('Invalid Guard outcome');
503
+ }
450
504
  const receiptMetadata = parseMetadata(receipt.metadata);
451
505
  if (!isGuardBeforeReceipt(receiptMetadata)) {
452
506
  throw new Error(`not a guard receipt: ${input.receiptId}`);
@@ -454,6 +508,17 @@ export function afterAction(audrey, input) {
454
508
  if (getGuardOutcomeEvent(audrey, input.receiptId, actorAgent)) {
455
509
  throw new Error(`guard receipt already has an outcome: ${input.receiptId}`);
456
510
  }
511
+ const successChecks = readSuccessChecks(receiptMetadata.guard_success_checks);
512
+ const checked = successChecks
513
+ ? verifySuccessChecks(successChecks, input.output, reportedOutcome)
514
+ : undefined;
515
+ const outcome = checked?.outcome ?? reportedOutcome;
516
+ const checkFailure = checked?.verification.status === 'failed'
517
+ ? `Required success checks failed: ${checked.verification.checks
518
+ .filter(check => check.status === 'failed')
519
+ .map(check => check.id)
520
+ .join(', ')}.`
521
+ : undefined;
457
522
  let overrideReason;
458
523
  if (outcome === 'succeeded' && receiptMetadata.preflight_decision === 'block') {
459
524
  if (receiptMetadata.exact_repeat_failure_block === true) {
@@ -475,7 +540,7 @@ export function afterAction(audrey, input) {
475
540
  input: input.input,
476
541
  output: input.output,
477
542
  outcome,
478
- errorSummary: input.errorSummary,
543
+ errorSummary: input.errorSummary ?? checkFailure,
479
544
  cwd: input.cwd ?? receipt.cwd ?? undefined,
480
545
  files: input.files,
481
546
  metadata: {
@@ -487,12 +552,20 @@ export function afterAction(audrey, input) {
487
552
  preflight_decision: receiptMetadata.preflight_decision,
488
553
  preflight_warning_count: receiptMetadata.preflight_warning_count,
489
554
  audrey_guard_action_key: receiptMetadata.audrey_guard_action_key,
490
- ...(overrideReason
491
- ? { guard_block_overridden: true, guard_override_reason: overrideReason }
492
- : {}),
555
+ // These fields are authoritative receipt-derived data, never caller
556
+ // metadata. A later unverified success cannot clear a failed check.
557
+ guard_contract_digest: successChecks?.digest ?? null,
558
+ guard_verification: checked?.verification ?? null,
559
+ guard_reported_outcome: checked ? reportedOutcome : null,
560
+ guard_block_overridden: overrideReason !== undefined,
561
+ guard_override_reason: overrideReason ?? null,
562
+ // Read-only commands never reach the receipt path (Autopilot skips
563
+ // their preflight), so a caller labelling a failure read-only would
564
+ // only be hiding it from failure learning.
565
+ read_only: receiptMetadata.read_only === true,
493
566
  },
494
567
  retainDetails: input.retainDetails,
495
- });
568
+ }, notifications);
496
569
  const validated = [];
497
570
  for (const [id, feedbackOutcome] of feedbackEntries) {
498
571
  if (!receiptEvidenceIds.has(id)) {
@@ -504,7 +577,7 @@ export function afterAction(audrey, input) {
504
577
  });
505
578
  continue;
506
579
  }
507
- const feedback = audrey.validate({ id, outcome: feedbackOutcome, agent: actorAgent });
580
+ const feedback = audrey.validate({ id, outcome: feedbackOutcome, agent: actorAgent }, notifications);
508
581
  if (feedback) {
509
582
  validated.push({ id, outcome: feedbackOutcome, validated: true, result: feedback });
510
583
  }
@@ -521,6 +594,7 @@ export function afterAction(audrey, input) {
521
594
  receipt_id: input.receiptId,
522
595
  post_event_id: result.event.id,
523
596
  outcome,
597
+ ...(checked ? { reported_outcome: reportedOutcome, verification: checked.verification } : {}),
524
598
  validated_evidence: validated,
525
599
  learning_summary: summarizeLearning(validated),
526
600
  };
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"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"}
package/dist/src/db.d.ts CHANGED
@@ -31,6 +31,7 @@ export declare function reconcileVectorIndex(db: Database): number;
31
31
  export declare function dropVec0Tables(db: Database): void;
32
32
  export declare function createDatabase(dataDir: string, options?: {
33
33
  dimensions?: number;
34
+ sharedStore?: boolean;
34
35
  }): {
35
36
  db: Database;
36
37
  migrated: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,aAAa,CAAC;AA8QnC,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAIvE;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;AA2CpE;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,SAAK,GAAG,MAAM,CAKvE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAkBtF;AAID;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAazD;AAQD,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAYjD;AAgcD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACpC;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAkErC;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcnE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAIhD"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,aAAa,CAAC;AAuRnC,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAIvE;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;AA2CpE;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,SAAK,GAAG,MAAM,CAKvE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAkBtF;AAID;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAazD;AAQD,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAYjD;AAkfD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3D;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAgGrC;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcnE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAIhD"}
package/dist/src/db.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import Database from './sqlite.js';
2
2
  import * as sqliteVec from 'sqlite-vec';
3
3
  import { join } from 'node:path';
4
- import { mkdirSync, existsSync } from 'node:fs';
4
+ import { mkdirSync, existsSync, openSync, closeSync, fchmodSync, chmodSync, constants, } from 'node:fs';
5
+ import { checkoutRoot } from './project.js';
5
6
  import { createFTSTables, backfillFTS } from './fts.js';
6
7
  import { requireAgent } from './utils.js';
7
8
  const SCHEMA = `
@@ -479,7 +480,7 @@ function addColumnIfMissing(db, table, column, definition) {
479
480
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
480
481
  }
481
482
  }
482
- const SCHEMA_VERSION = 16;
483
+ const SCHEMA_VERSION = 17;
483
484
  const MIGRATIONS = [
484
485
  {
485
486
  version: 1,
@@ -719,6 +720,36 @@ const MIGRATIONS = [
719
720
  `);
720
721
  },
721
722
  },
723
+ {
724
+ version: 17,
725
+ up(db) {
726
+ addColumnIfMissing(db, 'memory_anchors', 'last_checked_at', 'TEXT');
727
+ addColumnIfMissing(db, 'consolidation_runs', 'rollback_data', 'TEXT');
728
+ db.exec(`
729
+ UPDATE memory_anchors SET last_checked_at = last_verified_at;
730
+ CREATE INDEX IF NOT EXISTS idx_memory_anchors_checked
731
+ ON memory_anchors(agent, project_root, last_checked_at);
732
+ `);
733
+ const rows = db
734
+ .prepare(`
735
+ SELECT a.id, e.agent, e.context FROM memory_anchors a
736
+ JOIN episodes e ON e.id = a.memory_id WHERE a.memory_type = 'episodic'
737
+ `)
738
+ .all();
739
+ for (const row of rows) {
740
+ db.prepare('UPDATE memory_anchors SET agent = ? WHERE id = ?').run(row.agent, row.id);
741
+ try {
742
+ const context = JSON.parse(row.context ?? '{}');
743
+ if (typeof context.cwd === 'string' && existsSync(context.cwd)) {
744
+ db.prepare('UPDATE OR IGNORE memory_anchors SET project_root = ? WHERE id = ?').run(checkoutRoot(context.cwd), row.id);
745
+ }
746
+ }
747
+ catch {
748
+ /* An unavailable checkout keeps its last known anchor. */
749
+ }
750
+ }
751
+ },
752
+ },
722
753
  ];
723
754
  function runMigrations(db) {
724
755
  const row = db.prepare("SELECT value FROM audrey_config WHERE key = 'schema_version'").get();
@@ -735,59 +766,109 @@ function runMigrations(db) {
735
766
  })();
736
767
  }
737
768
  }
769
+ /** Retry lock acquisition only; failed transactions roll back before retrying. */
770
+ function retryBusy(operation) {
771
+ const deadline = Date.now() + 5000;
772
+ const sleeper = new Int32Array(new SharedArrayBuffer(4));
773
+ for (;;) {
774
+ try {
775
+ return operation();
776
+ }
777
+ catch (error) {
778
+ const code = error.errcode;
779
+ if (code === undefined || ![5, 6].includes(code & 0xff) || Date.now() >= deadline)
780
+ throw error;
781
+ Atomics.wait(sleeper, 0, 0, 20);
782
+ }
783
+ }
784
+ }
738
785
  export function createDatabase(dataDir, options = {}) {
739
786
  let { dimensions } = options;
740
787
  let migrated = false;
741
- mkdirSync(dataDir, { recursive: true });
788
+ const sharedStore = options.sharedStore ?? process.env.AUDREY_SHARED_STORE === '1';
789
+ mkdirSync(dataDir, { recursive: true, mode: sharedStore ? 0o770 : 0o700 });
742
790
  const dbPath = join(dataDir, 'audrey.db');
743
- const db = new Database(dbPath);
744
- db.pragma('journal_mode = WAL');
745
- db.pragma('foreign_keys = ON');
746
- db.pragma('busy_timeout = 5000');
747
- // Tuned for memory-store workloads (synchronous=NORMAL is durable under WAL,
748
- // 64 MiB page cache + 256 MiB mmap reduce read syscalls on hot recall paths).
749
- // AUDREY_PRAGMA_DEFAULTS=0 uses SQLite defaults apart from WAL, foreign keys, and busy timeout.
750
- if (process.env.AUDREY_PRAGMA_DEFAULTS !== '0') {
751
- db.pragma('synchronous = NORMAL');
752
- db.pragma('cache_size = -65536');
753
- db.pragma('mmap_size = 268435456');
754
- db.pragma('temp_store = MEMORY');
755
- }
756
- db.exec(SCHEMA);
757
- runMigrations(db);
758
- if (dimensions == null) {
759
- const stored = db.prepare("SELECT value FROM audrey_config WHERE key = 'dimensions'").get();
760
- if (stored) {
761
- dimensions = parseInt(stored.value, 10);
791
+ // Protect the file before SQLite can write content or create WAL sidecars.
792
+ if (!sharedStore) {
793
+ const fd = openSync(dbPath, constants.O_CREAT | constants.O_RDWR | (constants.O_NOFOLLOW ?? 0), 0o600);
794
+ try {
795
+ if (process.platform !== 'win32')
796
+ fchmodSync(fd, 0o600);
762
797
  }
763
- }
764
- if (dimensions != null) {
765
- if (!Number.isInteger(dimensions) || dimensions <= 0) {
766
- throw new Error(`dimensions must be a positive integer, got: ${dimensions}`);
798
+ finally {
799
+ closeSync(fd);
767
800
  }
768
- sqliteVec.load(db);
769
- const existing = db
770
- .prepare("SELECT value FROM audrey_config WHERE key = 'dimensions'")
771
- .get();
772
- if (existing) {
773
- const storedDims = parseInt(existing.value, 10);
774
- if (storedDims !== dimensions) {
775
- dropVec0Tables(db);
776
- db.prepare("UPDATE audrey_config SET value = ? WHERE key = 'dimensions'").run(String(dimensions));
777
- migrated = true;
801
+ if (process.platform !== 'win32') {
802
+ for (const suffix of ['-wal', '-shm']) {
803
+ try {
804
+ chmodSync(dbPath + suffix, 0o600);
805
+ }
806
+ catch (error) {
807
+ if (error.code !== 'ENOENT')
808
+ throw error;
809
+ }
778
810
  }
779
811
  }
780
- else {
781
- db.prepare("INSERT INTO audrey_config (key, value) VALUES ('dimensions', ?)").run(String(dimensions));
782
- }
783
- createVec0Tables(db, dimensions);
784
- migrateVec0AgentPartitions(db, dimensions);
785
- reconcileVectorIndexOnce(db);
786
- if (!migrated && migrateEmbeddingsToVec0(db, dimensions)) {
787
- migrated = true;
812
+ }
813
+ const db = new Database(dbPath);
814
+ try {
815
+ retryBusy(() => db.pragma('journal_mode = WAL'));
816
+ db.pragma('foreign_keys = ON');
817
+ db.pragma('busy_timeout = 5000');
818
+ // Tuned for memory-store workloads (synchronous=NORMAL is durable under WAL,
819
+ // 64 MiB page cache + 256 MiB mmap reduce read syscalls on hot recall paths).
820
+ // AUDREY_PRAGMA_DEFAULTS=0 uses SQLite defaults apart from WAL, foreign keys, and busy timeout.
821
+ if (process.env.AUDREY_PRAGMA_DEFAULTS !== '0') {
822
+ db.pragma('synchronous = NORMAL');
823
+ db.pragma('cache_size = -65536');
824
+ db.pragma('mmap_size = 268435456');
825
+ db.pragma('temp_store = MEMORY');
788
826
  }
827
+ sqliteVec.load(db);
828
+ const initialize = db.transaction(() => {
829
+ db.exec(SCHEMA);
830
+ runMigrations(db);
831
+ if (dimensions == null) {
832
+ const stored = db
833
+ .prepare("SELECT value FROM audrey_config WHERE key = 'dimensions'")
834
+ .get();
835
+ if (stored) {
836
+ dimensions = parseInt(stored.value, 10);
837
+ }
838
+ }
839
+ if (dimensions != null) {
840
+ if (!Number.isInteger(dimensions) || dimensions <= 0) {
841
+ throw new Error(`dimensions must be a positive integer, got: ${dimensions}`);
842
+ }
843
+ const existing = db
844
+ .prepare("SELECT value FROM audrey_config WHERE key = 'dimensions'")
845
+ .get();
846
+ if (existing) {
847
+ const storedDims = parseInt(existing.value, 10);
848
+ if (storedDims !== dimensions) {
849
+ dropVec0Tables(db);
850
+ db.prepare("UPDATE audrey_config SET value = ? WHERE key = 'dimensions'").run(String(dimensions));
851
+ migrated = true;
852
+ }
853
+ }
854
+ else {
855
+ db.prepare("INSERT INTO audrey_config (key, value) VALUES ('dimensions', ?)").run(String(dimensions));
856
+ }
857
+ createVec0Tables(db, dimensions);
858
+ migrateVec0AgentPartitions(db, dimensions);
859
+ reconcileVectorIndexOnce(db);
860
+ if (!migrated && migrateEmbeddingsToVec0(db, dimensions)) {
861
+ migrated = true;
862
+ }
863
+ }
864
+ });
865
+ retryBusy(() => initialize.immediate());
866
+ return { db, migrated };
867
+ }
868
+ catch (error) {
869
+ db.close();
870
+ throw error;
789
871
  }
790
- return { db, migrated };
791
872
  }
792
873
  export function readStoredDimensions(dataDir) {
793
874
  const dbPath = join(dataDir, 'audrey.db');
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../src/embedding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../src/embedding.ts"],"names":[],"mappings":"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"}