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
@@ -20,7 +20,8 @@ export declare class PublishedArticleDeletionForbiddenError extends Error {
20
20
  });
21
21
  }
22
22
  /**
23
- * Scans article Markdown body to detect referenced media files in media/.
23
+ * Scans article markdown body for local or same-origin media references.
24
+ * Compatibility shim delegating to scanRawMediaReferences in utils/media-refs.ts.
24
25
  */
25
26
  export declare function scanArticleMediaReferences(bodyMarkdown: string): string[];
26
27
  export interface DeleteArticleOptions {
@@ -30,6 +31,7 @@ export interface DeleteArticleOptions {
30
31
  id?: string;
31
32
  collection?: string;
32
33
  allowDeletePublished?: boolean;
34
+ discardLocalEdits?: boolean;
33
35
  dryRun?: boolean;
34
36
  origin?: string;
35
37
  token?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/sync/delete.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAMpD,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,SAAgB,IAAI,iCAAiC;IACrD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC,YAAY,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAWpD;CACF;AAED,qBAAa,sCAAuC,SAAQ,KAAK;IAC/D,SAAgB,IAAI,kCAAkC;IACtD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC,YAAY,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAYpD;CACF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAuBzE;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA+M/F"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/sync/delete.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAMpD,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,SAAgB,IAAI,iCAAiC;IACrD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC,YAAY,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAWpD;CACF;AAED,qBAAa,sCAAuC,SAAQ,KAAK;IAC/D,SAAgB,IAAI,kCAAkC;IACtD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC,YAAY,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAYpD;CACF;AAOD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAEzE;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA+M/F"}
@@ -65,26 +65,13 @@ export class PublishedArticleDeletionForbiddenError extends Error {
65
65
  /**
66
66
  * Scans article Markdown body to detect referenced media files in media/.
67
67
  */
68
+ import { scanRawMediaReferences } from '../utils/media-refs.js';
69
+ /**
70
+ * Scans article markdown body for local or same-origin media references.
71
+ * Compatibility shim delegating to scanRawMediaReferences in utils/media-refs.ts.
72
+ */
68
73
  export function scanArticleMediaReferences(bodyMarkdown) {
69
- const references = new Set();
70
- // 1. Markdown image syntax: ![alt](url)
71
- const mdRegex = /!\[.*?\]\(([^)\s]+)(?:\s+["'].*?["'])?\)/g;
72
- let match;
73
- while ((match = mdRegex.exec(bodyMarkdown)) !== null) {
74
- const url = match[1].trim();
75
- if (!url.startsWith('http://') && !url.startsWith('https://') && !url.startsWith('data:')) {
76
- references.add(url);
77
- }
78
- }
79
- // 2. HTML <img> tags: <img src="...">
80
- const htmlRegex = /<img[^>]+src=["']([^"']+)["']/gi;
81
- while ((match = htmlRegex.exec(bodyMarkdown)) !== null) {
82
- const url = match[1].trim();
83
- if (!url.startsWith('http://') && !url.startsWith('https://') && !url.startsWith('data:')) {
84
- references.add(url);
85
- }
86
- }
87
- return Array.from(references).sort();
74
+ return scanRawMediaReferences(bodyMarkdown);
88
75
  }
89
76
  /**
90
77
  * Safely deletes an article with strict unpushed modification protection,
@@ -116,7 +103,7 @@ export async function deleteArticle(options) {
116
103
  // Safety Guard 1: Unpushed Modifications Protection
117
104
  const syncState = options.cache.getSyncState(articleId);
118
105
  const currentHash = calculateHash(rawContent);
119
- if (syncState && syncState.localHash !== currentHash) {
106
+ if (syncState && syncState.localHash !== currentHash && !options.discardLocalEdits) {
120
107
  throw new UnpushedModificationsError({ filePath: targetFile, id: articleId });
121
108
  }
122
109
  // Safety Guard 2: Published Article Deletion Protection
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/sync/delete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/sync/delete.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/sync/diff.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAMpD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,qBAAqB,CAkBhG;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,cAAc,GAAG,WAAW,CAAC;IAC3E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,qBAAqB,CAwGxB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3E,UAAU,CAiDZ"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/sync/diff.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAOpD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,qBAAqB,CAkBhG;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,cAAc,GAAG,WAAW,CAAC;IAC3E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,qBAAqB,CAwHxB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3E,UAAU,CAiDZ"}
package/dist/sync/diff.js CHANGED
@@ -24,7 +24,8 @@ import path from 'node:path';
24
24
  import { diffPatch } from 'node-diff3';
25
25
  import { extractUlidFromFilename } from '../utils/naming.js';
26
26
  import { serializeMarkdown } from '../utils/frontmatter.js';
27
- import { calculateHash } from './pull.js';
27
+ import { calculateHash, carriesDepthFreeMediaRef } from './pull.js';
28
+ import { localizeArticleMediaRefs } from '../utils/media-body-refs.js';
28
29
  import { loadLocalTaxonomyCandidates } from './taxonomies.js';
29
30
  /**
30
31
  * Resolves a paired article ULID and workspace-relative file path from either `filePath` or `id`.
@@ -114,7 +115,22 @@ export function inspectArticleDiff(options) {
114
115
  // preventing phantom diffs caused by taxonomy inline comments.
115
116
  const candidates = loadLocalTaxonomyCandidates(options.workspaceRoot);
116
117
  const baseFullMarkdown = serializeMarkdown(JSON.parse(baseSnapshot.frontmatterYaml), baseSnapshot.bodyMarkdown, candidates);
117
- const diffResult = computeContextDiff(baseFullMarkdown, localContent, {
118
+ // The baseline is stored in the canonical remote spelling, but a workspace may spell mirrored images as local
119
+ // references (`../../media/<storageKey>`, or the older depth-free `media/<storageKey>`). Comparing those two
120
+ // spellings directly reports a change on every untouched article. Decide the spelling from the disk file
121
+ // itself: when localizing the baseline reproduces exactly what the disk carries, compare in that spelling so
122
+ // an untouched article reads clean. Otherwise keep the baseline canonical — which is what `sync_state.local_hash`
123
+ // records for a file that stores canonical URLs or whose asset was never mirrored locally.
124
+ const localizedBase = localizeArticleMediaRefs(baseFullMarkdown, {
125
+ workspaceRoot: options.workspaceRoot,
126
+ articleRelPath: targetFile,
127
+ fs,
128
+ preferLegacyRef: carriesDepthFreeMediaRef(localContent),
129
+ });
130
+ const baseForCompare = localizedBase === baseFullMarkdown || calculateHash(localizedBase) === currentHash
131
+ ? localizedBase
132
+ : baseFullMarkdown;
133
+ const diffResult = computeContextDiff(baseForCompare, localContent, {
118
134
  baseLabel: `base [rev: ${baseSnapshot.rev}]`,
119
135
  localLabel: `local [${targetFile}]`,
120
136
  });
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/sync/diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/sync/diff.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export interface DoctorCheckResult {
6
6
  name: string;
7
7
  status: CheckStatus;
8
8
  message: string;
9
+ suggestion?: string;
9
10
  details?: Record<string, unknown> | Array<unknown>;
10
11
  }
11
12
  export interface DoctorReport {
@@ -24,14 +25,40 @@ export interface RunWorkspaceDoctorOptions {
24
25
  profileOrigin?: string;
25
26
  collection?: string;
26
27
  strictMedia?: boolean;
28
+ /**
29
+ * Probe the public media file route (`HEAD /_emdash/api/media/file/<storageKey>`) for body
30
+ * references that no local mirror, cache entry, or base snapshot can resolve. A reference that the
31
+ * origin still serves is downgraded from a missing-file warning to an informational note: the image
32
+ * renders in the browser even though Emit could not match it to a record, which is why `emit
33
+ * pull-media` mirrors nothing for it. A served key never proves the D1 record is absent — body URLs
34
+ * carry the R2 storageKey while `GET /_emdash/api/media/{id}` keys on the record id. Disabled by
35
+ * default so doctor stays offline.
36
+ */
37
+ checkMediaUrls?: boolean;
38
+ /** Bearer token used by the remote library census (only read when `checkMediaLibrary` is set). */
39
+ token?: string;
40
+ refreshToken?: string;
41
+ /**
42
+ * Walk the whole remote media library (`GET /_emdash/api/media`, cursor-paginated) and report how
43
+ * many records it holds, so a missing-file count can be read as coverage ("N of M mirrored") instead
44
+ * of being guessed. The list operation exposes no storageKey filter, so this census is the only way
45
+ * Emit can reach migrated assets whose storageKey differs from the record id. Requires credentials and
46
+ * is skipped silently when none are available, keeping plain `emit doctor` offline.
47
+ */
48
+ checkMediaLibrary?: boolean;
49
+ /** Optional fetch override used by the file-route probe (tests inject stubs here). */
50
+ fetchFn?: typeof fetch;
27
51
  }
28
52
  export interface ScannedMediaReferences {
29
53
  normalRefs: string[];
30
54
  informationalRefs: string[];
55
+ /** References whose captured URL is malformed and therefore cannot name a real media asset. */
56
+ invalidRefs: string[];
31
57
  }
32
58
  /**
33
59
  * Scans article markdown to separate standard body image references from
34
- * informational references (code blocks, inline code, HTML comments, or placeholder URLs).
60
+ * informational references (code blocks, inline code, HTML comments, opaque custom-block fences,
61
+ * or placeholder URLs) and from structurally invalid captures.
35
62
  */
36
63
  export declare function scanArticleMediaDetailed(bodyMarkdown: string): ScannedMediaReferences;
37
64
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/sync/doctor.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AASrD,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IACjD,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,sBAAsB,CA+DrF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,YAAY,CAAC,CAyUvB"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/sync/doctor.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAqBrD,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IACjD,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kGAAkG;IAClG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sFAAsF;IACtF,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,+FAA+F;IAC/F,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AA0CD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,sBAAsB,CA2FrF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,YAAY,CAAC,CAkmBvB"}