@mnemonik/shared 7.112.2 → 7.112.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.
@@ -141,7 +141,7 @@ function committedPaths(cwd, root, from, to) {
141
141
  /**
142
142
  * Replace `file` whole: write a temporary file beside it, then rename it into
143
143
  * place. Hook processes for one session run concurrently (parallel tool calls)
144
- * and each rewrites the snapshot and the retry ledger; a plain writeFileSync
144
+ * and each rewrites the snapshot and the retry retryState; a plain writeFileSync
145
145
  * truncates first, so a reader could see an empty or partial file and two
146
146
  * writers could interleave into corrupt JSON. A rename is atomic on the same
147
147
  * file system: a reader sees the old file or the new one. Concurrent writers
@@ -293,7 +293,7 @@ export function editFingerprint(path, cwd = '') {
293
293
  return error.code === 'ENOENT' ? 'absent' : undefined;
294
294
  }
295
295
  }
296
- // ─── Bounded edit-report retry ─────────────────────────────────────────────
296
+ // - Bounded edit-report retry -
297
297
  //
298
298
  // An edit report the server did not confirm stays pending so a later event
299
299
  // can deliver it (CQ-033). Unbounded, that meant every later event re-sent
@@ -384,14 +384,14 @@ export function classifyEditReportResponse(status, body, retryAfter) {
384
384
  }
385
385
  return { kind: 'transient', detail: `HTTP ${status}` };
386
386
  }
387
- function ledgerFile(snapshotFile) {
387
+ function retryStateFile(snapshotFile) {
388
388
  return `${snapshotFile}.retries`;
389
389
  }
390
- function readLedger(snapshotFile) {
390
+ function readRetryState(snapshotFile) {
391
391
  if (!snapshotFile)
392
392
  return { v: 1, pending: {} };
393
393
  try {
394
- const parsed = JSON.parse(readFileSync(ledgerFile(snapshotFile), 'utf8'));
394
+ const parsed = JSON.parse(readFileSync(retryStateFile(snapshotFile), 'utf8'));
395
395
  if (parsed?.v === 1 && typeof parsed.pending === 'object' && parsed.pending !== null) {
396
396
  return parsed;
397
397
  }
@@ -401,23 +401,23 @@ function readLedger(snapshotFile) {
401
401
  }
402
402
  return { v: 1, pending: {} };
403
403
  }
404
- function writeLedger(snapshotFile, ledger) {
404
+ function writeRetryState(snapshotFile, retryState) {
405
405
  if (!snapshotFile)
406
406
  return;
407
407
  try {
408
408
  mkdirSync(dirname(snapshotFile), { recursive: true, mode: 0o700 });
409
- writeFileWhole(ledgerFile(snapshotFile), JSON.stringify(ledger));
409
+ writeFileWhole(retryStateFile(snapshotFile), JSON.stringify(retryState));
410
410
  }
411
411
  catch {
412
- // Best-effort: a lost ledger costs at most one extra attempt per path.
412
+ // Best-effort: a lost retryState costs at most one extra attempt per path.
413
413
  }
414
414
  }
415
415
  /** Paths whose report is pending and due now (retry on any hook event). */
416
416
  export function pendingEditReports(snapshotFile, now = Date.now()) {
417
- const ledger = readLedger(snapshotFile);
418
- if ((ledger.pausedUntil ?? 0) > now)
417
+ const retryState = readRetryState(snapshotFile);
418
+ if ((retryState.pausedUntil ?? 0) > now)
419
419
  return [];
420
- return Object.entries(ledger.pending)
420
+ return Object.entries(retryState.pending)
421
421
  .filter(([, entry]) => entry.nextAt <= now)
422
422
  .map(([path]) => path);
423
423
  }
@@ -462,23 +462,23 @@ export async function reportEditsWithinBudget(options) {
462
462
  const policy = EDIT_REPORT_RETRY;
463
463
  const start = now();
464
464
  const deadline = start + (options.budgetMs ?? policy.budgetMs);
465
- const ledger = readLedger(options.snapshotFile);
465
+ const retryState = readRetryState(options.snapshotFile);
466
466
  const confirmed = [];
467
467
  const dropped = [];
468
468
  const drop = (path, why) => {
469
- delete ledger.pending[path];
469
+ delete retryState.pending[path];
470
470
  dropped.push(path);
471
471
  log(`mnemonik: edit report for ${path} dropped (${why})`);
472
472
  };
473
- for (const [path, entry] of Object.entries(ledger.pending)) {
473
+ for (const [path, entry] of Object.entries(retryState.pending)) {
474
474
  if (start - entry.firstAt > policy.expiryMs)
475
475
  drop(path, 'expired');
476
476
  }
477
477
  for (const path of options.paths) {
478
- ledger.pending[path] ??= { attempts: 0, firstAt: start, nextAt: start };
478
+ retryState.pending[path] ??= { attempts: 0, firstAt: start, nextAt: start };
479
479
  }
480
- const due = [...new Set([...options.paths, ...Object.keys(ledger.pending)])].filter((path) => ledger.pending[path] && ledger.pending[path].nextAt <= start);
481
- let queue = (ledger.pausedUntil ?? 0) > start ? [] : due;
480
+ const due = [...new Set([...options.paths, ...Object.keys(retryState.pending)])].filter((path) => retryState.pending[path] && retryState.pending[path].nextAt <= start);
481
+ let queue = (retryState.pausedUntil ?? 0) > start ? [] : due;
482
482
  while (queue.length > 0) {
483
483
  const remaining = deadline - now();
484
484
  if (remaining <= 0)
@@ -490,11 +490,11 @@ export async function reportEditsWithinBudget(options) {
490
490
  const at = now();
491
491
  let rateLimited = false;
492
492
  for (const [path, result] of results) {
493
- const entry = ledger.pending[path];
493
+ const entry = retryState.pending[path];
494
494
  if (!entry)
495
495
  continue;
496
496
  if (result.kind === 'confirmed') {
497
- delete ledger.pending[path];
497
+ delete retryState.pending[path];
498
498
  confirmed.push(path);
499
499
  }
500
500
  else if (result.kind === 'permanent') {
@@ -503,8 +503,8 @@ export async function reportEditsWithinBudget(options) {
503
503
  else if (result.kind === 'rate_limited') {
504
504
  rateLimited = true;
505
505
  const pause = Math.min(result.retryAfterMs ?? policy.rateLimitDefaultMs, policy.rateLimitMaxMs);
506
- ledger.pausedUntil = Math.max(ledger.pausedUntil ?? 0, at + pause);
507
- entry.nextAt = ledger.pausedUntil;
506
+ retryState.pausedUntil = Math.max(retryState.pausedUntil ?? 0, at + pause);
507
+ entry.nextAt = retryState.pausedUntil;
508
508
  }
509
509
  else {
510
510
  entry.attempts += 1;
@@ -523,22 +523,22 @@ export async function reportEditsWithinBudget(options) {
523
523
  if (rateLimited)
524
524
  break;
525
525
  if (results.every(([, result]) => result.kind === 'transient' && result.timedOut)) {
526
- ledger.pausedUntil = at + policy.hungServerPauseMs;
526
+ retryState.pausedUntil = at + policy.hungServerPauseMs;
527
527
  break;
528
528
  }
529
529
  }
530
- const pendingPaths = Object.keys(ledger.pending);
530
+ const pendingPaths = Object.keys(retryState.pending);
531
531
  if (pendingPaths.length > policy.maxPending) {
532
532
  pendingPaths
533
- .sort((a, b) => (ledger.pending[a]?.firstAt ?? 0) - (ledger.pending[b]?.firstAt ?? 0))
533
+ .sort((a, b) => (retryState.pending[a]?.firstAt ?? 0) - (retryState.pending[b]?.firstAt ?? 0))
534
534
  .slice(0, pendingPaths.length - policy.maxPending)
535
535
  .forEach((path) => drop(path, 'too many pending reports'));
536
536
  }
537
- if ((ledger.pausedUntil ?? 0) <= now())
538
- delete ledger.pausedUntil;
537
+ if ((retryState.pausedUntil ?? 0) <= now())
538
+ delete retryState.pausedUntil;
539
539
  addPathsToGitDirtySnapshot(options.snapshotFile, [...confirmed, ...dropped]);
540
- writeLedger(options.snapshotFile, ledger);
541
- const deferred = Object.keys(ledger.pending);
540
+ writeRetryState(options.snapshotFile, retryState);
541
+ const deferred = Object.keys(retryState.pending);
542
542
  return { confirmed, dropped, deferred };
543
543
  }
544
544
  //# sourceMappingURL=gitEditDetector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gitEditDetector.js","sourceRoot":"","sources":["../src/gitEditDetector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitEditDetector.js","sourceRoot":"","sources":["../src/gitEditDetector.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mnemonik/shared",
3
- "version": "7.112.2",
3
+ "version": "7.112.4",
4
4
  "description": "Shared constants and utilities for Mnemonik packages",
5
5
  "repository": {
6
6
  "type": "git",
@@ -166,7 +166,7 @@ function committedPaths(cwd: string, root: string, from: string | undefined, to:
166
166
  /**
167
167
  * Replace `file` whole: write a temporary file beside it, then rename it into
168
168
  * place. Hook processes for one session run concurrently (parallel tool calls)
169
- * and each rewrites the snapshot and the retry ledger; a plain writeFileSync
169
+ * and each rewrites the snapshot and the retry retryState; a plain writeFileSync
170
170
  * truncates first, so a reader could see an empty or partial file and two
171
171
  * writers could interleave into corrupt JSON. A rename is atomic on the same
172
172
  * file system: a reader sees the old file or the new one. Concurrent writers
@@ -313,7 +313,7 @@ export function editFingerprint(path: string, cwd = ''): string | undefined {
313
313
  }
314
314
  }
315
315
 
316
- // ─── Bounded edit-report retry ─────────────────────────────────────────────
316
+ // - Bounded edit-report retry -
317
317
  //
318
318
  // An edit report the server did not confirm stays pending so a later event
319
319
  // can deliver it (CQ-033). Unbounded, that meant every later event re-sent
@@ -429,20 +429,20 @@ interface PendingReport {
429
429
  nextAt: number;
430
430
  }
431
431
 
432
- interface ReportLedger {
432
+ interface RetryState {
433
433
  v: 1;
434
434
  pending: Record<string, PendingReport>;
435
435
  pausedUntil?: number;
436
436
  }
437
437
 
438
- function ledgerFile(snapshotFile: string): string {
438
+ function retryStateFile(snapshotFile: string): string {
439
439
  return `${snapshotFile}.retries`;
440
440
  }
441
441
 
442
- function readLedger(snapshotFile: string): ReportLedger {
442
+ function readRetryState(snapshotFile: string): RetryState {
443
443
  if (!snapshotFile) return { v: 1, pending: {} };
444
444
  try {
445
- const parsed = JSON.parse(readFileSync(ledgerFile(snapshotFile), 'utf8')) as ReportLedger;
445
+ const parsed = JSON.parse(readFileSync(retryStateFile(snapshotFile), 'utf8')) as RetryState;
446
446
  if (parsed?.v === 1 && typeof parsed.pending === 'object' && parsed.pending !== null) {
447
447
  return parsed;
448
448
  }
@@ -452,21 +452,21 @@ function readLedger(snapshotFile: string): ReportLedger {
452
452
  return { v: 1, pending: {} };
453
453
  }
454
454
 
455
- function writeLedger(snapshotFile: string, ledger: ReportLedger): void {
455
+ function writeRetryState(snapshotFile: string, retryState: RetryState): void {
456
456
  if (!snapshotFile) return;
457
457
  try {
458
458
  mkdirSync(dirname(snapshotFile), { recursive: true, mode: 0o700 });
459
- writeFileWhole(ledgerFile(snapshotFile), JSON.stringify(ledger));
459
+ writeFileWhole(retryStateFile(snapshotFile), JSON.stringify(retryState));
460
460
  } catch {
461
- // Best-effort: a lost ledger costs at most one extra attempt per path.
461
+ // Best-effort: a lost retryState costs at most one extra attempt per path.
462
462
  }
463
463
  }
464
464
 
465
465
  /** Paths whose report is pending and due now (retry on any hook event). */
466
466
  export function pendingEditReports(snapshotFile: string, now = Date.now()): string[] {
467
- const ledger = readLedger(snapshotFile);
468
- if ((ledger.pausedUntil ?? 0) > now) return [];
469
- return Object.entries(ledger.pending)
467
+ const retryState = readRetryState(snapshotFile);
468
+ if ((retryState.pausedUntil ?? 0) > now) return [];
469
+ return Object.entries(retryState.pending)
470
470
  .filter(([, entry]) => entry.nextAt <= now)
471
471
  .map(([path]) => path);
472
472
  }
@@ -523,26 +523,26 @@ export async function reportEditsWithinBudget(options: {
523
523
  const policy = EDIT_REPORT_RETRY;
524
524
  const start = now();
525
525
  const deadline = start + (options.budgetMs ?? policy.budgetMs);
526
- const ledger = readLedger(options.snapshotFile);
526
+ const retryState = readRetryState(options.snapshotFile);
527
527
  const confirmed: string[] = [];
528
528
  const dropped: string[] = [];
529
529
  const drop = (path: string, why: string): void => {
530
- delete ledger.pending[path];
530
+ delete retryState.pending[path];
531
531
  dropped.push(path);
532
532
  log(`mnemonik: edit report for ${path} dropped (${why})`);
533
533
  };
534
534
 
535
- for (const [path, entry] of Object.entries(ledger.pending)) {
535
+ for (const [path, entry] of Object.entries(retryState.pending)) {
536
536
  if (start - entry.firstAt > policy.expiryMs) drop(path, 'expired');
537
537
  }
538
538
  for (const path of options.paths) {
539
- ledger.pending[path] ??= { attempts: 0, firstAt: start, nextAt: start };
539
+ retryState.pending[path] ??= { attempts: 0, firstAt: start, nextAt: start };
540
540
  }
541
- const due = [...new Set([...options.paths, ...Object.keys(ledger.pending)])].filter(
542
- (path) => ledger.pending[path] && ledger.pending[path].nextAt <= start
541
+ const due = [...new Set([...options.paths, ...Object.keys(retryState.pending)])].filter(
542
+ (path) => retryState.pending[path] && retryState.pending[path].nextAt <= start
543
543
  );
544
544
 
545
- let queue = (ledger.pausedUntil ?? 0) > start ? [] : due;
545
+ let queue = (retryState.pausedUntil ?? 0) > start ? [] : due;
546
546
  while (queue.length > 0) {
547
547
  const remaining = deadline - now();
548
548
  if (remaining <= 0) break;
@@ -555,10 +555,10 @@ export async function reportEditsWithinBudget(options: {
555
555
  const at = now();
556
556
  let rateLimited = false;
557
557
  for (const [path, result] of results) {
558
- const entry = ledger.pending[path];
558
+ const entry = retryState.pending[path];
559
559
  if (!entry) continue;
560
560
  if (result.kind === 'confirmed') {
561
- delete ledger.pending[path];
561
+ delete retryState.pending[path];
562
562
  confirmed.push(path);
563
563
  } else if (result.kind === 'permanent') {
564
564
  drop(path, result.detail);
@@ -568,8 +568,8 @@ export async function reportEditsWithinBudget(options: {
568
568
  result.retryAfterMs ?? policy.rateLimitDefaultMs,
569
569
  policy.rateLimitMaxMs
570
570
  );
571
- ledger.pausedUntil = Math.max(ledger.pausedUntil ?? 0, at + pause);
572
- entry.nextAt = ledger.pausedUntil;
571
+ retryState.pausedUntil = Math.max(retryState.pausedUntil ?? 0, at + pause);
572
+ entry.nextAt = retryState.pausedUntil;
573
573
  } else {
574
574
  entry.attempts += 1;
575
575
  if (entry.attempts >= policy.maxAttempts) {
@@ -585,21 +585,21 @@ export async function reportEditsWithinBudget(options: {
585
585
  }
586
586
  if (rateLimited) break;
587
587
  if (results.every(([, result]) => result.kind === 'transient' && result.timedOut)) {
588
- ledger.pausedUntil = at + policy.hungServerPauseMs;
588
+ retryState.pausedUntil = at + policy.hungServerPauseMs;
589
589
  break;
590
590
  }
591
591
  }
592
592
 
593
- const pendingPaths = Object.keys(ledger.pending);
593
+ const pendingPaths = Object.keys(retryState.pending);
594
594
  if (pendingPaths.length > policy.maxPending) {
595
595
  pendingPaths
596
- .sort((a, b) => (ledger.pending[a]?.firstAt ?? 0) - (ledger.pending[b]?.firstAt ?? 0))
596
+ .sort((a, b) => (retryState.pending[a]?.firstAt ?? 0) - (retryState.pending[b]?.firstAt ?? 0))
597
597
  .slice(0, pendingPaths.length - policy.maxPending)
598
598
  .forEach((path) => drop(path, 'too many pending reports'));
599
599
  }
600
- if ((ledger.pausedUntil ?? 0) <= now()) delete ledger.pausedUntil;
600
+ if ((retryState.pausedUntil ?? 0) <= now()) delete retryState.pausedUntil;
601
601
  addPathsToGitDirtySnapshot(options.snapshotFile, [...confirmed, ...dropped]);
602
- writeLedger(options.snapshotFile, ledger);
603
- const deferred = Object.keys(ledger.pending);
602
+ writeRetryState(options.snapshotFile, retryState);
603
+ const deferred = Object.keys(retryState.pending);
604
604
  return { confirmed, dropped, deferred };
605
605
  }