emdash-emit 0.1.13 → 0.1.15

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 (146) hide show
  1. package/CHANGELOG.md +108 -1
  2. package/README.md +235 -187
  3. package/dist/cli/commands/delete.d.ts.map +1 -1
  4. package/dist/cli/commands/delete.js +2 -0
  5. package/dist/cli/commands/delete.js.map +1 -1
  6. package/dist/cli/commands/doctor.d.ts.map +1 -1
  7. package/dist/cli/commands/doctor.js +9 -0
  8. package/dist/cli/commands/doctor.js.map +1 -1
  9. package/dist/cli/commands/pull.d.ts +32 -0
  10. package/dist/cli/commands/pull.d.ts.map +1 -1
  11. package/dist/cli/commands/pull.js +108 -9
  12. package/dist/cli/commands/pull.js.map +1 -1
  13. package/dist/cli/commands/push.d.ts.map +1 -1
  14. package/dist/cli/commands/push.js +18 -0
  15. package/dist/cli/commands/push.js.map +1 -1
  16. package/dist/cli/commands/status.d.ts.map +1 -1
  17. package/dist/cli/commands/status.js +15 -5
  18. package/dist/cli/commands/status.js.map +1 -1
  19. package/dist/client/media.d.ts.map +1 -1
  20. package/dist/client/media.js +16 -5
  21. package/dist/client/media.js.map +1 -1
  22. package/dist/db/cache.d.ts +24 -5
  23. package/dist/db/cache.d.ts.map +1 -1
  24. package/dist/db/cache.js +308 -61
  25. package/dist/db/cache.js.map +1 -1
  26. package/dist/mcp/server.d.ts.map +1 -1
  27. package/dist/mcp/server.js +5 -3
  28. package/dist/mcp/server.js.map +1 -1
  29. package/dist/mcp/tools/sync-delete.d.ts.map +1 -1
  30. package/dist/mcp/tools/sync-delete.js +5 -0
  31. package/dist/mcp/tools/sync-delete.js.map +1 -1
  32. package/dist/mcp/tools/sync-doctor.d.ts.map +1 -1
  33. package/dist/mcp/tools/sync-doctor.js +12 -0
  34. package/dist/mcp/tools/sync-doctor.js.map +1 -1
  35. package/dist/mcp/tools/sync-pull.d.ts.map +1 -1
  36. package/dist/mcp/tools/sync-pull.js +49 -12
  37. package/dist/mcp/tools/sync-pull.js.map +1 -1
  38. package/dist/mcp/tools/sync-push.d.ts.map +1 -1
  39. package/dist/mcp/tools/sync-push.js +5 -0
  40. package/dist/mcp/tools/sync-push.js.map +1 -1
  41. package/dist/mcp/tools/sync-status.d.ts.map +1 -1
  42. package/dist/mcp/tools/sync-status.js +6 -2
  43. package/dist/mcp/tools/sync-status.js.map +1 -1
  44. package/dist/sync/conflicts.d.ts.map +1 -1
  45. package/dist/sync/conflicts.js +44 -0
  46. package/dist/sync/conflicts.js.map +1 -1
  47. package/dist/sync/delete.d.ts +3 -1
  48. package/dist/sync/delete.d.ts.map +1 -1
  49. package/dist/sync/delete.js +7 -20
  50. package/dist/sync/delete.js.map +1 -1
  51. package/dist/sync/diff.d.ts.map +1 -1
  52. package/dist/sync/diff.js +18 -2
  53. package/dist/sync/diff.js.map +1 -1
  54. package/dist/sync/doctor.d.ts +28 -1
  55. package/dist/sync/doctor.d.ts.map +1 -1
  56. package/dist/sync/doctor.js +393 -45
  57. package/dist/sync/doctor.js.map +1 -1
  58. package/dist/sync/guards.d.ts +45 -0
  59. package/dist/sync/guards.d.ts.map +1 -0
  60. package/dist/sync/guards.js +235 -0
  61. package/dist/sync/guards.js.map +1 -0
  62. package/dist/sync/media/body_scan.d.ts +15 -0
  63. package/dist/sync/media/body_scan.d.ts.map +1 -0
  64. package/dist/sync/media/body_scan.js +132 -0
  65. package/dist/sync/media/body_scan.js.map +1 -0
  66. package/dist/sync/media/companions.d.ts +20 -0
  67. package/dist/sync/media/companions.d.ts.map +1 -0
  68. package/dist/sync/media/companions.js +111 -0
  69. package/dist/sync/media/companions.js.map +1 -0
  70. package/dist/sync/media/index.d.ts +9 -0
  71. package/dist/sync/media/index.d.ts.map +1 -0
  72. package/dist/sync/media/index.js +9 -0
  73. package/dist/sync/media/index.js.map +1 -0
  74. package/dist/sync/media/mirror_item.d.ts +27 -0
  75. package/dist/sync/media/mirror_item.d.ts.map +1 -0
  76. package/dist/sync/media/mirror_item.js +207 -0
  77. package/dist/sync/media/mirror_item.js.map +1 -0
  78. package/dist/sync/media/naming_mirror.d.ts +36 -0
  79. package/dist/sync/media/naming_mirror.d.ts.map +1 -0
  80. package/dist/sync/media/naming_mirror.js +143 -0
  81. package/dist/sync/media/naming_mirror.js.map +1 -0
  82. package/dist/sync/media/pull_article.d.ts +37 -0
  83. package/dist/sync/media/pull_article.d.ts.map +1 -0
  84. package/dist/sync/media/pull_article.js +273 -0
  85. package/dist/sync/media/pull_article.js.map +1 -0
  86. package/dist/sync/media/pull_library.d.ts +12 -0
  87. package/dist/sync/media/pull_library.d.ts.map +1 -0
  88. package/dist/sync/media/pull_library.js +207 -0
  89. package/dist/sync/media/pull_library.js.map +1 -0
  90. package/dist/sync/media/remote_index.d.ts +18 -0
  91. package/dist/sync/media/remote_index.d.ts.map +1 -0
  92. package/dist/sync/media/remote_index.js +94 -0
  93. package/dist/sync/media/remote_index.js.map +1 -0
  94. package/dist/sync/media/types.d.ts +191 -0
  95. package/dist/sync/media/types.d.ts.map +1 -0
  96. package/dist/sync/media/types.js +11 -0
  97. package/dist/sync/media/types.js.map +1 -0
  98. package/dist/sync/media.d.ts +1 -74
  99. package/dist/sync/media.d.ts.map +1 -1
  100. package/dist/sync/media.js +1 -592
  101. package/dist/sync/media.js.map +1 -1
  102. package/dist/sync/merge.d.ts +11 -0
  103. package/dist/sync/merge.d.ts.map +1 -1
  104. package/dist/sync/merge.js +53 -6
  105. package/dist/sync/merge.js.map +1 -1
  106. package/dist/sync/orchestrator.d.ts +23 -0
  107. package/dist/sync/orchestrator.d.ts.map +1 -1
  108. package/dist/sync/orchestrator.js +85 -1
  109. package/dist/sync/orchestrator.js.map +1 -1
  110. package/dist/sync/preflight.d.ts +1 -1
  111. package/dist/sync/preflight.d.ts.map +1 -1
  112. package/dist/sync/preflight.js +127 -15
  113. package/dist/sync/preflight.js.map +1 -1
  114. package/dist/sync/pull.d.ts +21 -0
  115. package/dist/sync/pull.d.ts.map +1 -1
  116. package/dist/sync/pull.js +278 -17
  117. package/dist/sync/pull.js.map +1 -1
  118. package/dist/sync/push.d.ts +7 -0
  119. package/dist/sync/push.d.ts.map +1 -1
  120. package/dist/sync/push.js +135 -58
  121. package/dist/sync/push.js.map +1 -1
  122. package/dist/sync/status.d.ts +4 -0
  123. package/dist/sync/status.d.ts.map +1 -1
  124. package/dist/sync/status.js +68 -4
  125. package/dist/sync/status.js.map +1 -1
  126. package/dist/utils/config.d.ts +25 -0
  127. package/dist/utils/config.d.ts.map +1 -1
  128. package/dist/utils/config.js +28 -2
  129. package/dist/utils/config.js.map +1 -1
  130. package/dist/utils/frontmatter.d.ts +1 -1
  131. package/dist/utils/frontmatter.d.ts.map +1 -1
  132. package/dist/utils/frontmatter.js +15 -4
  133. package/dist/utils/frontmatter.js.map +1 -1
  134. package/dist/utils/media-body-refs.d.ts +81 -0
  135. package/dist/utils/media-body-refs.d.ts.map +1 -0
  136. package/dist/utils/media-body-refs.js +240 -0
  137. package/dist/utils/media-body-refs.js.map +1 -0
  138. package/dist/utils/media-refs.d.ts +44 -0
  139. package/dist/utils/media-refs.d.ts.map +1 -0
  140. package/dist/utils/media-refs.js +101 -0
  141. package/dist/utils/media-refs.js.map +1 -0
  142. package/dist/utils/naming.d.ts +31 -0
  143. package/dist/utils/naming.d.ts.map +1 -1
  144. package/dist/utils/naming.js +58 -0
  145. package/dist/utils/naming.js.map +1 -1
  146. package/package.json +1 -1
package/dist/sync/pull.js CHANGED
@@ -28,6 +28,7 @@ import { createAuthedFetch } from '../client/http.js';
28
28
  import { unwrapEnvelope, extractRev, normalizeRev } from '../client/api.js';
29
29
  import { computeArticleRelativePath, extractDatePrefixFromPath, parseMarkdown, serializeMarkdown, lenientRepairMarkdownFrontmatter, } from '../utils/frontmatter.js';
30
30
  import { extractUlidFromFilename } from '../utils/naming.js';
31
+ import { isLocalMediaRef, localizeArticleMediaRefs } from '../utils/media-body-refs.js';
31
32
  import { loadLocalTaxonomyCandidates } from './taxonomies.js';
32
33
  import { syncRemoteBylines } from './bylines.js';
33
34
  import { updateConfigSyncedVersion } from '../utils/config.js';
@@ -97,6 +98,41 @@ export function findLocalFilesByUlid(workspaceRoot, collection, id) {
97
98
  }
98
99
  return matches;
99
100
  }
101
+ /**
102
+ * Reports whether a Markdown document spells its mirrored images with the depth-free `media/<storageKey>` form.
103
+ * That spelling is what a workspace built before article-relative refs carried on disk, and `sync_state.local_hash`
104
+ * records exactly those bytes — re-spelling an untouched file would report a media rewrite nobody made. Once a
105
+ * document carries the article-relative form (or no local ref at all), the article-relative spelling takes over.
106
+ */
107
+ export function carriesDepthFreeMediaRef(content) {
108
+ for (const rawLine of content.split('\n')) {
109
+ const match = rawLine.trim().match(/^!\[([^\]]*)\]\(([^)]+)\)$/);
110
+ if (!match)
111
+ continue;
112
+ const ref = match[2].trim();
113
+ // A depth-free `media/...` reference is the legacy spelling; anything carrying `../` already migrated.
114
+ if (isLocalMediaRef(ref) && ref.startsWith('media/'))
115
+ return true;
116
+ }
117
+ return false;
118
+ }
119
+ /**
120
+ * Reports whether any local copy of an article still carries the depth-free spelling, deciding which form a
121
+ * re-pull must reproduce. A genuinely new article has no local copy, so it gets the article-relative form.
122
+ */
123
+ export function shouldPreferLegacyRef(workspaceRoot, existingRelPaths) {
124
+ for (const relPath of existingRelPaths) {
125
+ try {
126
+ if (carriesDepthFreeMediaRef(fs.readFileSync(path.join(workspaceRoot, relPath), 'utf8'))) {
127
+ return true;
128
+ }
129
+ }
130
+ catch {
131
+ // Ignore unreadable files
132
+ }
133
+ }
134
+ return false;
135
+ }
100
136
  /**
101
137
  * Preserves a local Markdown copy verbatim under `<collection>/conflicts/` before Emit
102
138
  * overwrites or removes the original path. Used to guarantee that no divergent local
@@ -362,6 +398,33 @@ export async function pullArticle(collection, id, options) {
362
398
  candidates = loadLocalTaxonomyCandidates(options.workspaceRoot);
363
399
  return candidates;
364
400
  };
401
+ /**
402
+ * Applies the workspace's local-media-ref spelling to a serialized document. `sync_state.local_hash` always
403
+ * records the exact bytes on disk, so every comparison against a tracked file must run through this same
404
+ * transform: reconstructing the canonical form from a remote response and then localizing it keeps the
405
+ * fast-path skip honest whether or not `localMediaRefs` is enabled.
406
+ *
407
+ * `articleRelPath` decides the depth of the resulting reference — an article spells its mirror relative to its
408
+ * own directory so a Markdown preview resolves it offline. Pass `preferLegacyRef` only when reproducing bytes
409
+ * for a file that already sits on disk in the depth-free form, so an untouched article is never re-spelled
410
+ * into a phantom edit; a write that overwrites the file instead targets the article-relative form.
411
+ */
412
+ const localizeDiskMarkdown = (canonicalContent, articleRelPath, preferLegacyRef) => options.localMediaRefs
413
+ ? localizeArticleMediaRefs(canonicalContent, {
414
+ workspaceRoot: options.workspaceRoot,
415
+ articleRelPath: articleRelPath ?? existingFilePathForDepth(),
416
+ fs,
417
+ preferLegacyRef,
418
+ })
419
+ : canonicalContent;
420
+ /** The path a tracked article currently sits at, used when the caller has not resolved a new one yet. */
421
+ const existingFilePathForDepth = () => {
422
+ const tracked = options.cache.getSyncState(id)?.localFilePath;
423
+ if (tracked)
424
+ return tracked;
425
+ const onDisk = findLocalFilesByUlid(options.workspaceRoot, collection, id)[0];
426
+ return onDisk ?? `${collection}/draft/${id}.md`;
427
+ };
365
428
  // Helper to test fast-path (unmodified skip or non-destructive frontmatter heal)
366
429
  const tryFastPathOrHeal = async (item) => {
367
430
  if (options.force)
@@ -381,6 +444,10 @@ export async function pullArticle(collection, id, options) {
381
444
  }
382
445
  try {
383
446
  const currentDiskContent = fs.readFileSync(fullExistingPath, 'utf8');
447
+ // `sync_state.local_hash` always tracks the exact bytes on disk, so a workspace that spells mirrored
448
+ // images as local references must be compared against the same spelling — not against the canonical
449
+ // remote form. Reconstructing the expected disk content keeps the fast-path skip honest under both
450
+ // settings and prevents a phantom "modified" for an article nothing changed.
384
451
  const currentDiskHash = calculateHash(currentDiskContent);
385
452
  // Check if file path matches current naming standard
386
453
  const existingPrefix = extractDatePrefixFromPath(existingSync.localFilePath);
@@ -394,17 +461,93 @@ export async function pullArticle(collection, id, options) {
394
461
  }, existingPrefix);
395
462
  // If path matches and contents are unchanged, safely skip (only if local frontmatter is valid YAML)
396
463
  if (existingSync.localFilePath === expectedRelPath) {
464
+ // A workspace built before article-relative refs carries the depth-free `media/<storageKey>` spelling,
465
+ // and its tracked hash records exactly those bytes. Repairing the spelling here — rather than falling
466
+ // through to a full remote re-pull — keeps the skip honest: the content is untouched, only the reference
467
+ // form advances, and the file re-tracks against its own repaired hash so nothing reports a phantom edit.
468
+ if (options.localMediaRefs &&
469
+ currentDiskHash === existingSync.localHash &&
470
+ carriesDepthFreeMediaRef(currentDiskContent)) {
471
+ const respelled = localizeArticleMediaRefs(currentDiskContent, {
472
+ workspaceRoot: options.workspaceRoot,
473
+ articleRelPath: existingSync.localFilePath,
474
+ fs,
475
+ });
476
+ if (respelled !== currentDiskContent) {
477
+ try {
478
+ parseMarkdown(respelled);
479
+ fs.writeFileSync(fullExistingPath, respelled, 'utf8');
480
+ options.cache.saveSyncState({
481
+ ...existingSync,
482
+ localHash: calculateHash(respelled),
483
+ lastSyncedAt: Math.floor(Date.now() / 1000),
484
+ });
485
+ return {
486
+ id,
487
+ slug: existingSync.slug,
488
+ status: existingSync.status,
489
+ filePath: existingSync.localFilePath,
490
+ updated: true,
491
+ healed: true,
492
+ meaningChanged: false,
493
+ title: rawTitle,
494
+ };
495
+ }
496
+ catch {
497
+ // Re-spelling broke the parse (it should not): fall through to the normal paths untouched.
498
+ }
499
+ }
500
+ }
397
501
  if (currentDiskHash === existingSync.localHash) {
398
- parseMarkdown(currentDiskContent);
399
- return {
400
- id,
401
- slug: existingSync.slug,
402
- status: existingSync.status,
403
- filePath: existingSync.localFilePath,
404
- updated: false,
405
- skipped: true,
406
- title: rawTitle,
407
- };
502
+ try {
503
+ parseMarkdown(currentDiskContent);
504
+ return {
505
+ id,
506
+ slug: existingSync.slug,
507
+ status: existingSync.status,
508
+ filePath: existingSync.localFilePath,
509
+ updated: false,
510
+ skipped: true,
511
+ title: rawTitle,
512
+ };
513
+ }
514
+ catch {
515
+ // Disk content is byte-identical to the cached baseline but its frontmatter no longer parses.
516
+ // Legacy serialization left unquoted %-prefixed (percent-encoded) taxonomy slugs, which js-yaml
517
+ // rejects as a directive indicator: such files stay hash-matched forever and would be skipped by
518
+ // every pull, so status reports them invalid while pull does nothing. Heal them in place with the
519
+ // syntax-only lenient repair instead of falling through to a full remote re-pull.
520
+ const repaired = lenientRepairMarkdownFrontmatter(currentDiskContent);
521
+ if (repaired !== null) {
522
+ fs.writeFileSync(fullExistingPath, repaired, 'utf8');
523
+ const parsedRepaired = parseMarkdown(repaired);
524
+ const repairedHash = calculateHash(repaired);
525
+ // Re-track the repaired file against its own repaired hash so it reads as synced. The
526
+ // remote baseline stays untouched: healing only re-quotes frontmatter syntax, never values.
527
+ const healedAt = Math.floor(Date.now() / 1000);
528
+ options.cache.saveSyncState({
529
+ ...existingSync,
530
+ localFilePath: existingSync.localFilePath,
531
+ localHash: repairedHash,
532
+ remoteRev,
533
+ status: parsedRepaired.frontmatter.status,
534
+ slug: parsedRepaired.frontmatter.slug,
535
+ lastSyncedAt: healedAt,
536
+ });
537
+ return {
538
+ id,
539
+ slug: parsedRepaired.frontmatter.slug,
540
+ status: parsedRepaired.frontmatter.status,
541
+ filePath: existingSync.localFilePath,
542
+ updated: true,
543
+ healed: true,
544
+ meaningChanged: false,
545
+ title: rawTitle,
546
+ };
547
+ }
548
+ // Not healable locally: fall through to the full remote pull, which re-serializes canonical
549
+ // frontmatter from the API response and quarantines any body that diverged from the baseline.
550
+ }
408
551
  }
409
552
  // Local file has unpushed edits. Check if frontmatter parses cleanly.
410
553
  try {
@@ -449,6 +592,9 @@ export async function pullArticle(collection, id, options) {
449
592
  }
450
593
  const remoteCanonMarkdown = serializeMarkdown(remoteLocal.frontmatter, remoteLocal.body, getTaxonomyCandidates());
451
594
  const remoteCanonHash = calculateHash(remoteCanonMarkdown);
595
+ // The repaired file on disk carries the workspace's local-media-ref spelling, so the tracked hash
596
+ // must be the hash of that spelling. The baseline keeps the canonical form untouched.
597
+ const remoteDiskHash = calculateHash(localizeDiskMarkdown(remoteCanonMarkdown, existingSync.localFilePath, true));
452
598
  const existingBase = options.cache.getBaseSnapshot(id);
453
599
  if (!(categoriesTerms === null && tagsTerms === null && existingBase)) {
454
600
  options.cache.saveBaseSnapshot({
@@ -463,13 +609,19 @@ export async function pullArticle(collection, id, options) {
463
609
  options.cache.saveSyncState({
464
610
  id,
465
611
  localFilePath: existingSync.localFilePath,
466
- localHash: remoteCanonHash,
612
+ localHash: remoteDiskHash,
467
613
  remoteRev,
468
614
  status: parsedRepaired.frontmatter.status,
469
615
  slug: parsedRepaired.frontmatter.slug,
470
616
  lastSyncedAt: Math.floor(Date.now() / 1000),
471
617
  remoteTaxonomyHash: computeTaxonomyHash(remoteLocal.frontmatter.taxonomies?.categories, remoteLocal.frontmatter.taxonomies?.tags),
472
618
  taxonomyApplyPending: 0,
619
+ conflictPending: existingSync.conflictPending,
620
+ bodyConflictPending: existingSync.bodyConflictPending,
621
+ taxonomyConflictPending: existingSync.taxonomyConflictPending,
622
+ conflictCopyPath: existingSync.conflictCopyPath,
623
+ conflictCopyHash: existingSync.conflictCopyHash,
624
+ conflictAt: existingSync.conflictAt,
473
625
  });
474
626
  return {
475
627
  id,
@@ -533,6 +685,34 @@ export async function pullArticle(collection, id, options) {
533
685
  deleted: true,
534
686
  };
535
687
  }
688
+ else if (options.force) {
689
+ const quarantineRel = quarantineLocalCopy(options.workspaceRoot, collection, existingSync.localFilePath, diskContent, { isForce: true });
690
+ try {
691
+ fs.unlinkSync(fullPath);
692
+ }
693
+ catch {
694
+ // Ignore unlink error
695
+ }
696
+ options.cache.deleteEntry(id);
697
+ return {
698
+ id,
699
+ slug: existingSync.slug,
700
+ status: existingSync.status,
701
+ filePath: existingSync.localFilePath,
702
+ updated: false,
703
+ deleted: true,
704
+ quarantined: quarantineRel
705
+ ? [
706
+ {
707
+ sourceFilePath: existingSync.localFilePath,
708
+ quarantineFilePath: quarantineRel,
709
+ reason: 'diverged-from-baseline',
710
+ },
711
+ ]
712
+ : undefined,
713
+ quarantineFilePath: quarantineRel ?? undefined,
714
+ };
715
+ }
536
716
  else {
537
717
  // Local file has unpushed edits: preserve as orphan!
538
718
  return {
@@ -543,6 +723,7 @@ export async function pullArticle(collection, id, options) {
543
723
  updated: false,
544
724
  orphan: true,
545
725
  localEditsPreserved: true,
726
+ suggestion: 'Pass --force to preserve your edits under posts/conflicts/ and remove tracking.',
546
727
  };
547
728
  }
548
729
  }
@@ -584,9 +765,12 @@ export async function pullArticle(collection, id, options) {
584
765
  frontmatter.taxonomies.tags = tagsTerms;
585
766
  }
586
767
  }
587
- // Format full Markdown
588
- const markdownContent = serializeMarkdown(frontmatter, body, getTaxonomyCandidates());
589
- const contentHash = calculateHash(markdownContent);
768
+ // Format full Markdown. `canonicalMarkdown` is the remote form and is what every cache hash and every
769
+ // base snapshot records; `markdownContent` is what lands on disk, which may spell mirrored images as local
770
+ // references when `localMediaRefs` is enabled. Keeping the two apart is what lets an editor preview render a
771
+ // mirror while the baseline stays byte-identical to a remote pull.
772
+ const canonicalMarkdown = serializeMarkdown(frontmatter, body, getTaxonomyCandidates());
773
+ const contentHash = calculateHash(canonicalMarkdown);
590
774
  // Determine standard relative file path: <collection>/<status>/<yyyyMMdd>_<ulid>-<title>.md
591
775
  const existingSync = options.cache.getSyncState(frontmatter.id);
592
776
  const existingDiskMatches = findLocalFilesByUlid(options.workspaceRoot, frontmatter.collection, frontmatter.id);
@@ -601,6 +785,11 @@ export async function pullArticle(collection, id, options) {
601
785
  createdAt: rawItem.createdAt || null,
602
786
  updatedAt: rawItem.updatedAt || null,
603
787
  }, existingPrefix);
788
+ // Localizing needs the depth of the path the article is about to occupy, so it runs after `relPath` is
789
+ // resolved. A file that already sits on disk in the depth-free legacy spelling keeps that spelling; a fresh
790
+ // write (or an article moving between `draft/` and `published/`) gets the article-relative form its preview
791
+ // can resolve.
792
+ const markdownContent = localizeDiskMarkdown(canonicalMarkdown, relPath, shouldPreferLegacyRef(options.workspaceRoot, existingDiskMatches));
604
793
  const fullFilePath = path.join(options.workspaceRoot, relPath);
605
794
  // Path tracking: Remove any previous file(s) for this ULID at a different path
606
795
  // BEFORE writing fullFilePath so case-insensitive filesystems (e.g. macOS APFS)
@@ -636,18 +825,90 @@ export async function pullArticle(collection, id, options) {
636
825
  hash: contentHash,
637
826
  savedAt: Math.floor(Date.now() / 1000),
638
827
  });
639
- // Update sync state
828
+ // Update sync state with explicit conflict pending preservation
829
+ let conflictInfo = {};
830
+ // Take the most recently quarantined divergent copy: `quarantineDivergentLocalCopies` walks
831
+ // every stale path for this ULID, so find() would point conflict metadata at an arbitrary
832
+ // (often already-superseded) rescue file when a canonical path change coincides with edits.
833
+ const divergedQuarantines = !options.force
834
+ ? (quarantined ?? []).filter((q) => q.reason === 'diverged-from-baseline')
835
+ : [];
836
+ const divergedQuarantine = divergedQuarantines[divergedQuarantines.length - 1];
837
+ if (divergedQuarantine) {
838
+ // Preserve the most recently written divergent copy so conflict metadata always points at
839
+ // an existing rescue file, even when several stale paths were quarantined in one pull.
840
+ const qFull = path.join(options.workspaceRoot, divergedQuarantine.quarantineFilePath);
841
+ let qHash = null;
842
+ if (fs.existsSync(qFull)) {
843
+ qHash = calculateHash(fs.readFileSync(qFull, 'utf8'));
844
+ }
845
+ conflictInfo = {
846
+ conflictPending: 1,
847
+ bodyConflictPending: 1,
848
+ taxonomyConflictPending: existingSync?.taxonomyConflictPending ?? 0,
849
+ conflictCopyPath: divergedQuarantine.quarantineFilePath,
850
+ conflictCopyHash: qHash,
851
+ conflictAt: Math.floor(Date.now() / 1000),
852
+ };
853
+ }
854
+ else if (!options.force && existingSync?.conflictCopyPath) {
855
+ // Keep existing conflict state if conflict copy still exists on disk
856
+ const existingFull = path.join(options.workspaceRoot, existingSync.conflictCopyPath);
857
+ if (fs.existsSync(existingFull)) {
858
+ conflictInfo = {
859
+ conflictPending: existingSync.conflictPending,
860
+ bodyConflictPending: existingSync.bodyConflictPending,
861
+ taxonomyConflictPending: existingSync.taxonomyConflictPending,
862
+ conflictCopyPath: existingSync.conflictCopyPath,
863
+ conflictCopyHash: existingSync.conflictCopyHash,
864
+ conflictAt: existingSync.conflictAt,
865
+ };
866
+ }
867
+ else {
868
+ // Conflict copy was removed, clear body conflict while keeping taxonomy conflict
869
+ const taxPending = existingSync.taxonomyConflictPending ?? 0;
870
+ conflictInfo = {
871
+ conflictPending: taxPending,
872
+ bodyConflictPending: 0,
873
+ taxonomyConflictPending: taxPending,
874
+ conflictCopyPath: null,
875
+ conflictCopyHash: null,
876
+ conflictAt: null,
877
+ };
878
+ }
879
+ }
880
+ else if (options.force) {
881
+ conflictInfo = {
882
+ conflictPending: 0,
883
+ bodyConflictPending: 0,
884
+ taxonomyConflictPending: 0,
885
+ conflictCopyPath: null,
886
+ conflictCopyHash: null,
887
+ conflictAt: null,
888
+ };
889
+ }
890
+ else {
891
+ const taxPending = existingSync?.taxonomyConflictPending ?? 0;
892
+ conflictInfo = {
893
+ conflictPending: taxPending,
894
+ bodyConflictPending: 0,
895
+ taxonomyConflictPending: taxPending,
896
+ conflictCopyPath: null,
897
+ conflictCopyHash: null,
898
+ conflictAt: null,
899
+ };
900
+ }
640
901
  options.cache.saveSyncState({
641
902
  id: frontmatter.id,
642
903
  localFilePath: relPath,
643
- localHash: contentHash,
904
+ localHash: calculateHash(markdownContent),
644
905
  remoteRev: rev,
645
906
  status: frontmatter.status,
646
907
  slug: frontmatter.slug,
647
908
  lastSyncedAt: Math.floor(Date.now() / 1000),
648
909
  remoteTaxonomyHash: computeTaxonomyHash(frontmatter.taxonomies?.categories, frontmatter.taxonomies?.tags),
649
910
  taxonomyApplyPending: 0,
650
- ...(options.force ? { conflictPending: 0, conflictCopyHash: null } : {}),
911
+ ...conflictInfo,
651
912
  });
652
913
  // Update entries cache
653
914
  options.cache.saveEntry({
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/sync/pull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/sync/pull.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,13 @@ export interface PushOptions extends MapperOptions {
18
18
  revive?: boolean;
19
19
  force?: boolean;
20
20
  noTaxonomyAudit?: boolean;
21
+ /**
22
+ * Accept body images spelled as local mirror references — article-relative `../../media/<storageKey>` or the
23
+ * older depth-free `media/<storageKey>` — and rewrite them to the canonical
24
+ * `/_emdash/api/media/file/<storageKey>` URL before anything reaches EmDash. The cache baseline stores the
25
+ * canonical form too, so a local-ref workspace never reports a phantom diff.
26
+ */
27
+ localMediaRefs?: boolean;
21
28
  }
22
29
  export interface ResolvedTaxonomyItem {
23
30
  input: string;
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/sync/push.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAQL,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAgD,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAoBnG,MAAM,MAAM,0BAA0B,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEtE,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,eAAe,CAAC,EAAE,0BAA0B,CAAC;IAC7C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,kBAAkB,CAAC,EAAE;QACnB,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;QACpC,IAAI,CAAC,EAAE,oBAAoB,EAAE,CAAC;QAC9B,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,EAAE,GAAG,SAAS,CAAC;KACxD,CAAC;CACH;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IACrC,MAAM,EAAE,cAAc,EAAE,CAAC;IAEhC,YAAY,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,EAIpD;CACF;AAsZD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAm7BrB"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/sync/push.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAQL,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAgD,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAqBnG,MAAM,MAAM,0BAA0B,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEtE,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,eAAe,CAAC,EAAE,0BAA0B,CAAC;IAC7C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,kBAAkB,CAAC,EAAE;QACnB,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;QACpC,IAAI,CAAC,EAAE,oBAAoB,EAAE,CAAC;QAC9B,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,EAAE,GAAG,SAAS,CAAC;KACxD,CAAC;CACH;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IACrC,MAAM,EAAE,cAAc,EAAE,CAAC;IAEhC,YAAY,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,EAIpD;CACF;AA0aD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAkgCrB"}