emdash-emit 0.1.25 → 0.1.30

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 (203) hide show
  1. package/CHANGELOG.md +132 -4
  2. package/dist/cli/commands/conflicts.d.ts.map +1 -1
  3. package/dist/cli/commands/conflicts.js +2 -22
  4. package/dist/cli/commands/conflicts.js.map +1 -1
  5. package/dist/cli/commands/delete.d.ts.map +1 -1
  6. package/dist/cli/commands/delete.js +1 -13
  7. package/dist/cli/commands/delete.js.map +1 -1
  8. package/dist/cli/commands/doctor.d.ts.map +1 -1
  9. package/dist/cli/commands/doctor.js +1 -13
  10. package/dist/cli/commands/doctor.js.map +1 -1
  11. package/dist/cli/commands/media.d.ts.map +1 -1
  12. package/dist/cli/commands/media.js +1 -13
  13. package/dist/cli/commands/media.js.map +1 -1
  14. package/dist/cli/commands/new.d.ts.map +1 -1
  15. package/dist/cli/commands/new.js +1 -13
  16. package/dist/cli/commands/new.js.map +1 -1
  17. package/dist/cli/commands/pull.d.ts +1 -1
  18. package/dist/cli/commands/pull.d.ts.map +1 -1
  19. package/dist/cli/commands/pull.js +110 -79
  20. package/dist/cli/commands/pull.js.map +1 -1
  21. package/dist/cli/commands/push.d.ts +1 -1
  22. package/dist/cli/commands/push.d.ts.map +1 -1
  23. package/dist/cli/commands/push.js +32 -90
  24. package/dist/cli/commands/push.js.map +1 -1
  25. package/dist/cli/context.d.ts +12 -0
  26. package/dist/cli/context.d.ts.map +1 -1
  27. package/dist/cli/context.js +27 -1
  28. package/dist/cli/context.js.map +1 -1
  29. package/dist/cli/report-failure.d.ts +6 -0
  30. package/dist/cli/report-failure.d.ts.map +1 -0
  31. package/dist/cli/report-failure.js +71 -0
  32. package/dist/cli/report-failure.js.map +1 -0
  33. package/dist/client/api.d.ts.map +1 -1
  34. package/dist/client/api.js +1 -1
  35. package/dist/client/api.js.map +1 -1
  36. package/dist/client/lock.js.map +1 -1
  37. package/dist/client/mapper.js.map +1 -1
  38. package/dist/client/media.d.ts.map +1 -1
  39. package/dist/client/media.js.map +1 -1
  40. package/dist/db/baseline.d.ts +16 -1
  41. package/dist/db/baseline.d.ts.map +1 -1
  42. package/dist/db/baseline.js +25 -0
  43. package/dist/db/baseline.js.map +1 -1
  44. package/dist/db/cache.d.ts +2 -3
  45. package/dist/db/cache.d.ts.map +1 -1
  46. package/dist/db/cache.js +3 -295
  47. package/dist/db/cache.js.map +1 -1
  48. package/dist/db/migrations.d.ts +7 -0
  49. package/dist/db/migrations.d.ts.map +1 -0
  50. package/dist/db/migrations.js +320 -0
  51. package/dist/db/migrations.js.map +1 -0
  52. package/dist/mcp/heartbeat.d.ts +1 -34
  53. package/dist/mcp/heartbeat.d.ts.map +1 -1
  54. package/dist/mcp/heartbeat.js +1 -113
  55. package/dist/mcp/heartbeat.js.map +1 -1
  56. package/dist/mcp/tool-errors.d.ts +12 -1
  57. package/dist/mcp/tool-errors.d.ts.map +1 -1
  58. package/dist/mcp/tool-errors.js +29 -0
  59. package/dist/mcp/tool-errors.js.map +1 -1
  60. package/dist/mcp/tools/sync-conflicts.d.ts.map +1 -1
  61. package/dist/mcp/tools/sync-conflicts.js +46 -58
  62. package/dist/mcp/tools/sync-conflicts.js.map +1 -1
  63. package/dist/mcp/tools/sync-delete.d.ts.map +1 -1
  64. package/dist/mcp/tools/sync-delete.js +18 -30
  65. package/dist/mcp/tools/sync-delete.js.map +1 -1
  66. package/dist/mcp/tools/sync-diff.d.ts.map +1 -1
  67. package/dist/mcp/tools/sync-diff.js +10 -31
  68. package/dist/mcp/tools/sync-diff.js.map +1 -1
  69. package/dist/mcp/tools/sync-doctor.d.ts.map +1 -1
  70. package/dist/mcp/tools/sync-doctor.js +18 -30
  71. package/dist/mcp/tools/sync-doctor.js.map +1 -1
  72. package/dist/mcp/tools/sync-media-search.d.ts.map +1 -1
  73. package/dist/mcp/tools/sync-media-search.js +40 -52
  74. package/dist/mcp/tools/sync-media-search.js.map +1 -1
  75. package/dist/mcp/tools/sync-new.d.ts.map +1 -1
  76. package/dist/mcp/tools/sync-new.js +34 -55
  77. package/dist/mcp/tools/sync-new.js.map +1 -1
  78. package/dist/mcp/tools/sync-pull.d.ts.map +1 -1
  79. package/dist/mcp/tools/sync-pull.js +194 -220
  80. package/dist/mcp/tools/sync-pull.js.map +1 -1
  81. package/dist/mcp/tools/sync-push.d.ts.map +1 -1
  82. package/dist/mcp/tools/sync-push.js +64 -84
  83. package/dist/mcp/tools/sync-push.js.map +1 -1
  84. package/dist/mcp/tools/sync-status.d.ts.map +1 -1
  85. package/dist/mcp/tools/sync-status.js +3 -13
  86. package/dist/mcp/tools/sync-status.js.map +1 -1
  87. package/dist/sync/baseline-reconstruction.d.ts +43 -0
  88. package/dist/sync/baseline-reconstruction.d.ts.map +1 -0
  89. package/dist/sync/baseline-reconstruction.js +103 -0
  90. package/dist/sync/baseline-reconstruction.js.map +1 -0
  91. package/dist/sync/bylines.d.ts +5 -0
  92. package/dist/sync/bylines.d.ts.map +1 -1
  93. package/dist/sync/bylines.js +29 -0
  94. package/dist/sync/bylines.js.map +1 -1
  95. package/dist/sync/conflicts.d.ts.map +1 -1
  96. package/dist/sync/conflicts.js +21 -4
  97. package/dist/sync/conflicts.js.map +1 -1
  98. package/dist/sync/delete.d.ts.map +1 -1
  99. package/dist/sync/delete.js +12 -1
  100. package/dist/sync/delete.js.map +1 -1
  101. package/dist/sync/diff.d.ts.map +1 -1
  102. package/dist/sync/diff.js +58 -27
  103. package/dist/sync/diff.js.map +1 -1
  104. package/dist/sync/doctor.d.ts.map +1 -1
  105. package/dist/sync/doctor.js +13 -3
  106. package/dist/sync/doctor.js.map +1 -1
  107. package/dist/sync/guards.d.ts +1 -1
  108. package/dist/sync/guards.d.ts.map +1 -1
  109. package/dist/sync/guards.js +1 -0
  110. package/dist/sync/guards.js.map +1 -1
  111. package/dist/sync/media/companions.d.ts.map +1 -1
  112. package/dist/sync/media/companions.js.map +1 -1
  113. package/dist/sync/media/naming_mirror.d.ts.map +1 -1
  114. package/dist/sync/media/naming_mirror.js +11 -2
  115. package/dist/sync/media/naming_mirror.js.map +1 -1
  116. package/dist/sync/media/pull_article.d.ts +2 -0
  117. package/dist/sync/media/pull_article.d.ts.map +1 -1
  118. package/dist/sync/media/pull_article.js +74 -25
  119. package/dist/sync/media/pull_article.js.map +1 -1
  120. package/dist/sync/media/pull_library.d.ts.map +1 -1
  121. package/dist/sync/media/pull_library.js +34 -61
  122. package/dist/sync/media/pull_library.js.map +1 -1
  123. package/dist/sync/media/remote_index.d.ts +16 -1
  124. package/dist/sync/media/remote_index.d.ts.map +1 -1
  125. package/dist/sync/media/remote_index.js +2 -2
  126. package/dist/sync/media/remote_index.js.map +1 -1
  127. package/dist/sync/merge.d.ts.map +1 -1
  128. package/dist/sync/merge.js +5 -5
  129. package/dist/sync/merge.js.map +1 -1
  130. package/dist/sync/new.d.ts.map +1 -1
  131. package/dist/sync/new.js +5 -4
  132. package/dist/sync/new.js.map +1 -1
  133. package/dist/sync/orchestrator.d.ts +34 -0
  134. package/dist/sync/orchestrator.d.ts.map +1 -1
  135. package/dist/sync/orchestrator.js +89 -80
  136. package/dist/sync/orchestrator.js.map +1 -1
  137. package/dist/sync/preflight/image_probe.d.ts +28 -0
  138. package/dist/sync/preflight/image_probe.d.ts.map +1 -0
  139. package/dist/sync/preflight/image_probe.js +70 -0
  140. package/dist/sync/preflight/image_probe.js.map +1 -0
  141. package/dist/sync/preflight.d.ts.map +1 -1
  142. package/dist/sync/preflight.js +48 -45
  143. package/dist/sync/preflight.js.map +1 -1
  144. package/dist/sync/pull/fast_path.d.ts +9 -0
  145. package/dist/sync/pull/fast_path.d.ts.map +1 -0
  146. package/dist/sync/pull/fast_path.js +341 -0
  147. package/dist/sync/pull/fast_path.js.map +1 -0
  148. package/dist/sync/pull/index.d.ts +15 -0
  149. package/dist/sync/pull/index.d.ts.map +1 -0
  150. package/dist/sync/pull/index.js +363 -0
  151. package/dist/sync/pull/index.js.map +1 -0
  152. package/dist/sync/pull/list.d.ts +22 -0
  153. package/dist/sync/pull/list.d.ts.map +1 -0
  154. package/dist/sync/pull/list.js +175 -0
  155. package/dist/sync/pull/list.js.map +1 -0
  156. package/dist/sync/pull/media_stage.d.ts +67 -0
  157. package/dist/sync/pull/media_stage.d.ts.map +1 -0
  158. package/dist/sync/pull/media_stage.js +599 -0
  159. package/dist/sync/pull/media_stage.js.map +1 -0
  160. package/dist/sync/pull/quarantine.d.ts +22 -0
  161. package/dist/sync/pull/quarantine.d.ts.map +1 -0
  162. package/dist/sync/pull/quarantine.js +174 -0
  163. package/dist/sync/pull/quarantine.js.map +1 -0
  164. package/dist/sync/pull/types.d.ts +125 -0
  165. package/dist/sync/pull/types.d.ts.map +1 -0
  166. package/dist/sync/pull/types.js +23 -0
  167. package/dist/sync/pull/types.js.map +1 -0
  168. package/dist/sync/pull.d.ts +1 -114
  169. package/dist/sync/pull.d.ts.map +1 -1
  170. package/dist/sync/pull.js +1 -861
  171. package/dist/sync/pull.js.map +1 -1
  172. package/dist/sync/push/commit.d.ts.map +1 -1
  173. package/dist/sync/push/commit.js +1 -2
  174. package/dist/sync/push/commit.js.map +1 -1
  175. package/dist/sync/push/index.js +3 -3
  176. package/dist/sync/push/index.js.map +1 -1
  177. package/dist/sync/push/merge_stage.js +1 -1
  178. package/dist/sync/push/merge_stage.js.map +1 -1
  179. package/dist/sync/push/transport.d.ts +1 -1
  180. package/dist/sync/push/transport.d.ts.map +1 -1
  181. package/dist/sync/push/transport.js +1 -1
  182. package/dist/sync/push/transport.js.map +1 -1
  183. package/dist/sync/status.d.ts.map +1 -1
  184. package/dist/sync/status.js +11 -57
  185. package/dist/sync/status.js.map +1 -1
  186. package/dist/sync/taxonomies.d.ts +25 -0
  187. package/dist/sync/taxonomies.d.ts.map +1 -1
  188. package/dist/sync/taxonomies.js +161 -119
  189. package/dist/sync/taxonomies.js.map +1 -1
  190. package/dist/utils/frontmatter.d.ts.map +1 -1
  191. package/dist/utils/frontmatter.js.map +1 -1
  192. package/dist/utils/mcp-heartbeat.d.ts +36 -0
  193. package/dist/utils/mcp-heartbeat.d.ts.map +1 -0
  194. package/dist/utils/mcp-heartbeat.js +126 -0
  195. package/dist/utils/mcp-heartbeat.js.map +1 -0
  196. package/dist/utils/media-body-refs.d.ts.map +1 -1
  197. package/dist/utils/media-body-refs.js +2 -2
  198. package/dist/utils/media-body-refs.js.map +1 -1
  199. package/dist/utils/taxonomy-key.d.ts +25 -0
  200. package/dist/utils/taxonomy-key.d.ts.map +1 -0
  201. package/dist/utils/taxonomy-key.js +51 -0
  202. package/dist/utils/taxonomy-key.js.map +1 -0
  203. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -9,6 +9,137 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [0.1.30] - 2026-11-15
13
+
14
+ ### Added
15
+
16
+ - **Single-Article Pull Orchestration Facade (`src/sync/orchestrator.ts`)**:
17
+ - Added `pullSingleArticle`, `PullSingleArticleOptions`, and `PullSingleArticleResult` to `src/sync/orchestrator.ts` as the Layer 2 designated coordinator counterpart to `pullBatch`.
18
+ - Consolidates the single-article pipeline (optional taxonomy synchronization, article pull with on-demand media mirroring, and optional full media library sync) into a single reusable entry point shared by CLI (`src/cli/commands/pull.ts`) and MCP (`src/mcp/tools/sync-pull.ts`).
19
+ - Enforces clean architectural layering: returns structured flags (`categoriesFailed`, `tagsFailed`, `error`) without UI strings, leaving presentation formatting to Layer 3. Registered in `ALLOWED_LAYER_2_SYMBOLS['orchestrator']` in `tests/layering.test.ts` with zero intra-layer sibling coupling exceptions.
20
+ - **Deterministic Taxonomy Term Deduplication (`src/sync/taxonomies.ts`)**:
21
+ - Extracted and exported `dedupeTermsBySlug` supporting `'slug-grouped'` (categories) and `'frequency'` (tags) modes. Replaced local closure in `getLocalTaxonomiesSummary` and enabled direct unit testing of winner selection and tie-breaking invariants.
22
+ - **Robust CLI Explicit Boolean Option Resolution (`src/cli/context.ts`)**:
23
+ - Introduced `resolveExplicitBooleanOption` in `src/cli/context.ts` using Commander's `getOptionValueSource('media') === 'cli'` paired with `getOptionValue('media')`.
24
+ - Accurately differentiates `--media` (`true`), `--no-media` (`false`), and unprovided (`undefined`) without raw `process.argv` scanning, while safely handling Commander's `--no-*` source attribution behavior and argument ordering.
25
+
26
+ ### Changed
27
+
28
+ - **Media Library Walk Pagination Unification (`src/sync/media/`)**:
29
+ - Exported `fetchMediaListPage` from `src/sync/media/remote_index.ts` and replaced the inline HTTP pagination walk in `src/sync/media/pull_library.ts:pullMedia()`, unifying media list endpoint queries, `MEDIA_LIST_FAILED` error wrapping, and cursor progression across `collectRemoteStorageKeys`, `searchRemoteMedia`, and `pullMedia`.
30
+ - Removed unused imports (`unwrapEnvelope`, `ApiError`, `mediaListEndpoint`) in `src/sync/media/pull_library.ts`, ensuring strict compliance with `noUnusedLocals: true`.
31
+
32
+
33
+ ### Added
34
+
35
+ - **Single-Article On-Demand Media Mirroring (`src/sync/pull/media_stage.ts`, `src/sync/pull/index.ts`)**:
36
+ - Automatically discovers and mirrors article-referenced media assets (Markdown body images and frontmatter `featuredImage`) into `media/` during single-article pulls (`emit pull <id>`, `sync_pull`).
37
+ - Immediately resolves **Markdown body image references** to local relative paths (`../../media/<storageKey>.<ext>`) in 1 step without requiring manual `emit pull-media --article <id>` or a subsequent `--force` pull. Scope limit: the disk rewriting applies only to body `![...](/_emdash/api/media/file/<storageKey>)` references. A frontmatter `featuredImage` is mirrored into `media/` as a companion-backed asset, but its frontmatter value always stays the canonical 26-character D1 record ULID — Emit never rewrites it to a local path (see `docs/media-id-spaces.md`).
38
+ - Implements `MediaMirrorSession` with 0-HTTP short-circuit when all referenced assets exist locally (verifying file size and upserting `localContentHash` via `computeFileSha256` and `mediaRecordIdForStem` without guessing stem prefixes).
39
+ - Unifies `featuredImage` resolution: uses D1 `MediaRecordId` single-GET lookup via `/api/media/{id}` in single-article pull **only when the article carries no body images** (Case B — one body image is enough to route the article through the shared library walk, Case A), and the shared `recordsById` map from `RemoteStorageKeyIndex` in batch pull or articles with body images (0 extra GETs). When the walk already completed (`complete === true`) and the id is absent from it, the redundant individual GET is skipped instead of paying for a request that must 404.
40
+ - In-flight deduplication across parallel article pulls prevents duplicate downloads and accurately aggregates session counts. Batch media statistics are session-wide: `downloaded`/`skipped` count each shared storageKey once, not once per referencing article.
41
+ - **CLI `emit pull [target]` Target Resolution & Symmetry (`src/cli/commands/pull.ts`, `src/sync/diff.ts`)**:
42
+ - Allows `emit pull [target]` where `target` can be an article ULID or a workspace relative/absolute file path (e.g. `emit pull posts/draft/20261115_<ulid>-title.md`).
43
+ - Added frontmatter `id` disk fallback to `resolveArticleTarget` in `src/sync/diff.ts`.
44
+ - Added clean error reporting for invalid/unresolvable target paths (`ARTICLE_TARGET_UNRESOLVED`) registered in `OPERATIONAL_ERROR_CODES`.
45
+ - Added single-article media sync summary, orphan image warnings, and taxonomy sync warnings.
46
+ - Supported `--media` on single-article pull to trigger library pull, and explicit `--no-media` to skip media mirroring.
47
+ - **MCP `sync_pull` Target Symmetry & `noMedia` Support (`src/mcp/tools/sync-pull.ts`)**:
48
+ - Added `noMedia: true` option to `sync_pull` schema to mirror CLI `--no-media`.
49
+ - Added single-article media sync summary reporting and taxonomy failure notes.
50
+ - **Fast-Path Relative Media Reference Self-Healing (`src/sync/pull/fast_path.ts`)**:
51
+ - Extended `tryFastPathOrHeal` to detect and heal unmirrored referenced assets even when the article revision is unchanged.
52
+ - Guaranteed `updateConfigSyncedVersion` execution on all fast-path exits.
53
+ - **On-Demand Byline Catalog Refresh on Unknown Author ID (`src/sync/pull/index.ts`, `src/sync/bylines.ts`)**:
54
+ - Single-article pull inspects `rawItem` for unknown byline IDs not yet recorded in SQLite cache. If detected, triggers `syncRemoteBylines` to refresh local authors before generating frontmatter.
55
+
56
+ ### Changed
57
+
58
+ - **1-Pass Batch Media Processing (`src/sync/orchestrator.ts`)**:
59
+ - Replaced the 2-pass disk rewrite loop in `pullBatch` with shared `MediaMirrorSession`, eliminating redundant file reads/writes and saving media state directly during the primary article pull.
60
+ - Injected `loadLocalTaxonomyCandidates` once at batch start, avoiding redundant filesystem traversals across parallel article pulls.
61
+ - **Unified `pullArticleMedia` / `pullMedia` on `mirrorReferencedAssetsFromIndex` (`src/sync/media/`)**:
62
+ - Replaced bespoke loops in `pull_article.ts` and `pull_library.ts` with shared `mirrorReferencedAssetsFromIndex`.
63
+ - **Safe `filename` Fallbacks (`src/sync/media/naming_mirror.ts`)**:
64
+ - Added safe fallback to `item.storageKey` or `image.jpg` when remote `item.filename` is missing or undefined. The mirror extension now comes from `filename` first and falls back to the storageKey's own extension, so a filename-less record never derives an extension from an inner `.ulid` segment of a multi-ULID key.
65
+
66
+ ### Fixed
67
+
68
+ - **Byline Staleness Check Accepted Slugs As Well As Ids (`src/sync/pull/index.ts`)**:
69
+ - `getBylineIdToSlug()` fed the byline references found in `rawItem` into `cachedMaps.idToSlug` only. Because a remote item can carry a byline **slug** (or both), a slug always missed the id-keyed map and every pull re-ran `syncRemoteBylines` even when the author was already cached. The check now treats a reference as known when it appears in either `idToSlug` or `slugToId`, so a cached workspace performs zero byline requests per article. Regression test: `tests/sync.test.ts` ("does not trigger on-demand bylines sync when rawItem contains already-cached byline slug or ID").
70
+ - **Bounded Library Walks For Referenced-Media Resolution (`src/sync/pull/media_stage.ts`, `src/sync/media/pull_article.ts`, `src/sync/media/pull_library.ts`)**:
71
+ - The shared `MediaMirrorSession` walk, the article-targeted media pull, and the targeted `--storage-key` pull each walked the **entire** remote media library. On a fleet-scale instance that made one article's pull pay for thousands of list requests. All three are now bounded by `mediaSyncLimit` (default 300; unlimited only for an explicit full-library pass), matching how `emit pull-media --all` and `--check-media-library` already behave. A key outside the window is reported as unresolved, never asserted absent, and `complete === false` keeps per-record lookups available.
72
+ - **Targeted `pull-media --storage-key` Never Reports Silence As Success (`src/cli/commands/pull.ts`, `src/mcp/tools/sync-pull.ts`)**:
73
+ - When nothing was downloaded but the key was confirmed by local mirror metadata, the command printed a success line for a pull that mirrored nothing (or exited silently). It now reports `ℹ️ Targeted storageKey(s) not downloaded` naming the reason — "confirmed by local mirror metadata already in media/" versus "not found within the bounded library walk" — and keeps the existing exit-1 path only for genuine orphans. MCP mirrors the same wording instead of claiming `✅ Successfully pulled`.
74
+
75
+ ## [0.1.28] - 2026-11-15
76
+
77
+ ### Fixed
78
+
79
+ - **Order-Independent Unmodified Detection Across All Layer 2 Paths (`src/sync/orchestrator.ts`, `src/sync/conflicts.ts`, `src/sync/pull/{quarantine,fast_path}.ts`)**:
80
+ - Replaced all 5 remaining raw `calculateHash(content) !== syncState.localHash` comparisons in Layer 2 with `isLocalFileUnmodified()` so articles whose disk bytes differ from `sync_state.local_hash` only by media reference spelling (`../../media/<storageKey>` vs `/_emdash/api/media/file/<storageKey>`) or taxonomy comment decoration are never misclassified as having unpushed local edits:
81
+ 1. `pullBatch` prune guard (`src/sync/orchestrator.ts`) — prevents false `SyncPruneConflictError` on window-out articles.
82
+ 2. `resolveConflict(..., 'accept-local')` & `pruneConflicts` (`src/sync/conflicts.ts`) — prevents false `CanonicalHasUnpushedEditsError`.
83
+ 3. `quarantineDivergentLocalCopies` (`src/sync/pull/quarantine.ts`) — prevents false quarantine of unmodified duplicate ULID files.
84
+ 4. `handleRemoteDeletedArticle` (`src/sync/pull/quarantine.ts`) — prevents false `deletePending: true` on 404/410 remote deletion.
85
+ 5. `tryFastPathOrHeal` (`src/sync/pull/fast_path.ts`) — prevents false `localEditsPreserved: true` when remote revision advances and heals `sync_state.local_hash` once via `retrackLocalHashOnly` on skip, while preserving the raw hash check at the `carriesDepthFreeMediaRef` legacy self-heal branch (`AGENTS.md` §7).
86
+ - **`computeContextDiff` `contextLines` Support (`src/sync/diff.ts`)**:
87
+ - Wired `options?.contextLines` (defaulting to `0` to preserve zero-context token efficiency and existing diff output) into `computeContextDiff()`, emitting surrounding context lines (` ${line}`) and adjusted hunk headers (`@@ -start1,len1 +start2,len2 @@`) when `contextLines > 0` is explicitly requested.
88
+
89
+ ### Changed
90
+
91
+ - **Complete 4-Tier Layering Gate & `mcp-heartbeat` Relocation (`src/utils/mcp-heartbeat.ts`, `tests/layering.test.ts`)**:
92
+ - Moved MCP heartbeat process inspection (`checkMcpProcess`, `touchMcpHeartbeat`, `removeMcpHeartbeat`) to Layer 0 (`src/utils/mcp-heartbeat.ts`, reusing `getPackageVersion` from `src/utils/version.ts`), keeping `src/mcp/heartbeat.ts` as a backward-compatible barrel re-export and eliminating the Layer 2 → Layer 3 import in `src/sync/doctor.ts`.
93
+ - Normalized `src/sync/orchestrator.ts` and 14 test files to import `calculateHash` / workspace contracts from `src/sync/workspace/index.ts`, and `src/sync/doctor.ts` to import `storageKeyFromMediaMeta` from `src/utils/media-companion.ts`.
94
+ - Extended `tests/layering.test.ts` with **Axis 0** (Layer 0 never imports Layer 1/2/3) and **Axis 4** (Layers 0/1/2 never import Layer 3 `cli/`, `mcp/`, `presentation/`).
95
+ - **Modular Pull Architecture & Cache Migration Separation (`src/sync/pull/`, `src/db/migrations.ts`)**:
96
+ - Split `src/sync/pull.ts` (1,163 lines) into 5 focused modules under `src/sync/pull/` (`types.ts`, `list.ts`, `quarantine.ts`, `fast_path.ts`, `index.ts`) using `FastPathContext` to eliminate closure capture, while keeping `src/sync/pull.ts` as a barrel re-export.
97
+ - Extracted SQLite schema initialization and versioned migrations (`runCacheMigrations`, `CURRENT_CACHE_SCHEMA_VERSION`) from `src/db/cache.ts` into `src/db/migrations.ts`.
98
+ - **CLI `pull` / `push` Failure Presentation & Deduplication (`src/cli/report-failure.ts`, `src/cli/context.ts`, `src/cli/commands/{pull,push}.ts`)**:
99
+ - Extended `reportActionFailure` to format `PushValidationError`, `SyncPruneConflictError`, and `FrontmatterParseError`, and unified all catch blocks in `pull.ts` and `push.ts`.
100
+ - Extracted `resolveAndPersistLocalMediaRefs()` in `src/cli/context.ts`, `printTaxonomySyncSummary()` in `src/cli/commands/pull.ts`, and `printPushArticleDetails()` in `src/cli/commands/push.ts`.
101
+ - **Zero Unused Locals Gate (`tsconfig.json`)**:
102
+ - Removed all unused imports, variables, and internal function parameters across `src/` and `tests/`, and enabled `"noUnusedLocals": true` in `tsconfig.json`.
103
+
104
+ ## [0.1.27] - 2026-11-15
105
+
106
+ ### Fixed
107
+
108
+ - **Order-Independent Baseline Reconstruction & Diagnostic Alignment (`src/sync/baseline-reconstruction.ts`, `src/sync/diff.ts`, `src/sync/doctor.ts`, `src/sync/delete.ts`)**:
109
+ - Fixed a self-contradiction bug in `inspectArticleDiff` (`src/sync/diff.ts`) where calling `emit diff` / `sync_diff` _before_ `emit status` on an untouched article with localized media references returned `status: 'modified'` (`Status: 🟡 Modified`) despite `diff.hasChanges === false` (`No changes detected.`).
110
+ - Unified `isLocalFileUnmodified()` across `status.ts`, `diff.ts`, `doctor.ts`, and `delete.ts` so spelling-only differences between `sync_state.local_hash` and disk bytes are recognized and healed regardless of which command runs first.
111
+ - **Unified CLI Failure Presentation Without Double Prefixing (`src/cli/report-failure.ts`)**:
112
+ - Consolidated 5 duplicate `reportActionFailure` implementations (`delete`, `new`, `conflicts`, `doctor`, `media`) into `src/cli/report-failure.ts`.
113
+ - Fixed missing `❌ Error:` prefix on generic errors in `emit delete` and `emit new` while preventing double `❌ Error: ❌ ...` prefixes on pre-formatted errors (`DuplicateSlugError`, `UnpushedModificationsError`, `PublishedArticleDeletionForbiddenError`).
114
+
115
+ ### Changed
116
+
117
+ - **Sync-State-Only Hash Retracking (`retrackLocalHashOnly` in `src/db/baseline.ts`)**:
118
+ - Centralized hash-only re-tracking (updating `sync_state.local_hash` when disk spelling changes without touching `base_snapshots`) into Layer 0 (`src/db/baseline.ts`), replacing 3 independent `saveSyncState` call sites in `status.ts`, `orchestrator.ts`, and `pull.ts`.
119
+ - **Taxonomy Consolidation (`src/sync/taxonomies.ts`, `src/utils/taxonomy-key.ts`)**:
120
+ - Consolidated category and tag save/prune loops in `pullTaxonomies()` into `writeAndPruneTaxonomyDir()`.
121
+ - Unified deterministic collision winner ordering (`count desc → ULID desc`) into `compareTaxonomyTermDeterministically()`, guaranteeing 100% winner parity between Layer A (`loadLocalTaxonomyMaps`) and Layer B (`getLocalTaxonomiesSummary`).
122
+ - Extracted taxonomy key normalization helpers (`normalizeTaxonomyKey`, `isPercentEncodedTerm`, `canonicalSlugOf`, `aliasesOf`) into Layer 0 (`src/utils/taxonomy-key.ts`).
123
+ - **MCP Tool Context & Preflight Local Image Probe (`src/mcp/tool-errors.ts`, `src/sync/preflight/image_probe.ts`)**:
124
+ - Added `withResolvedContext()` and `formatToolTextWithMeta()` in `src/mcp/tool-errors.ts` to standardize context error handling and `_meta` suffix formatting across MCP tools.
125
+ - Extracted local draft image probing (`probeLocalImageFile`) into `src/sync/preflight/image_probe.ts` while preserving guard-specific remediation messages for G5, G10, and G11.
126
+
127
+ ## [0.1.26] - 2026-11-15
128
+
129
+ ### Added
130
+
131
+ - **Two-Layer Representation for Taxonomy YAML Definitions (`src/sync/taxonomies.ts`)**:
132
+ - Extended Two-Layer Representation from article frontmatter (`taxonomies:`) to category and tag YAML definition files (`categories/*.yaml`, `tags/*.yaml`).
133
+ - Disk format (Layer B) presents human-readable decoded slugs (`slug: ローカルガイド`) while preserving the raw server slug in `canonicalSlug: "%e3%83%ad..."` (omitted for standard ASCII terms where `canonicalSlug === slug`).
134
+ - Added safe YAML scalar serialization (`serializeTaxonomyYaml`) using `formatYamlScalar`:
135
+ - Guarantees single-line output, completely eliminating multi-line folded blocks (`slug: >-`) previously triggered by long percent-encoded strings in js-yaml.
136
+ - Reliably quotes YAML reserved words (`on`, `true`), numeric strings (`2026-review`), and symbols (`買い物(レビュー)`), preventing unintended type coercion during round-trip parsing.
137
+ - Added backward-compatible loading in `readTaxonomyDir()`: seamlessly loads legacy v0.1.25 files (`slug: '%e3...'` without `canonicalSlug`) and transparently decodes them in memory until refreshed on next pull.
138
+ - Implemented 2-Phase Collision Resolution in `loadLocalTaxonomyMaps()`:
139
+ - **Phase 1 (Canonical Registration)**: Registers all canonical slugs first (`idToSlug[item.id]` strictly returns canonical slug for Layer A transport, baseline snapshots, and hash calculations; ties broken deterministically by count desc, then ULID desc).
140
+ - **Phase 2 (Alias Registration)**: Registers decoded slugs and display names only when they do not collide with any canonical slug and uniquely map to a single term ID. Preserves loser terms' unique name aliases while avoiding alias poisoning.
141
+ - Dropped collision losers from Layer B presentations (`getLocalTaxonomiesSummary()`, `formatTaxonomiesHint()`) via `dedupeBySlug`, presenting clean winner candidates in AI prompts and CLI outputs.
142
+
12
143
  ## [0.1.25] - 2026-11-14
13
144
 
14
145
  ### Added
@@ -67,7 +198,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
67
198
  - **Fail-safe fallback**: Any article with missing or undefined status defaults safely to `'draft'`, ensuring single GET retrieval rather than writing incomplete content.
68
199
  - Hardened unpushed edit protection: Divergent local copies continue to be safely quarantined under `posts/conflicts/*.conflict.md` with `body_conflict_pending = 1` and Guard G12 push protection across both draft and published states.
69
200
 
70
-
71
201
  ## [0.1.22] - 2026-11-14
72
202
 
73
203
  ### Added
@@ -85,7 +215,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
85
215
  - Extended `transitionContentStatus` (`src/sync/push/transport.ts`) to return `StatusTransitionResult { rev, rawJson }`, ensuring post-publish/unpublish commit updates Track 2 with remote status and revision ULIDs accurately.
86
216
  - Full production workspace verification: achieved 100% idempotency (`0 updated, 60 skipped/up-to-date`) on successive `pull` runs and verified clean create, update, and delete push lifecycles.
87
217
 
88
-
89
218
  ## [0.1.21] - 2026-11-14
90
219
 
91
220
  ### Added
@@ -104,7 +233,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
104
233
  - Added NFC Unicode normalization for taxonomy alias resolution in `loadLocalTaxonomyMaps` and `createArticleScaffold`, accepting raw Japanese terms (`-C 未分類 -T カメラレビュー`) seamlessly without spurious warnings.
105
234
  - Dual-indexed candidates in `loadLocalTaxonomyCandidates` and refined human-readable name comments in frontmatter YAML (`# 日本語名`), automatically omitting redundant comments when term equals display name.
106
235
 
107
-
108
236
  ## [0.1.20] - 2026-11-14
109
237
 
110
238
  ### Added
@@ -166,7 +294,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
166
294
  ### Fixed
167
295
 
168
296
  - **Draft image localization on push (`localMediaRefs: true`)**:
169
- - A draft image auto-uploaded from `media/drafts/` during `emit push` / `sync_push` now lands on disk as an article-relative mirror reference (`../../media/<storageKey>`) instead of a canonical remote URL. Promotion of the uploaded file into `media/` (P6) was running *after* the body localization pass, and `localizeArticleMediaRefs` only rewrites a reference whose storageKey already has a real mirror under `media/`, so a freshly uploaded image stayed spelled as `/_emdash/api/media/file/<storageKey>` on disk until the next pull.
297
+ - A draft image auto-uploaded from `media/drafts/` during `emit push` / `sync_push` now lands on disk as an article-relative mirror reference (`../../media/<storageKey>`) instead of a canonical remote URL. Promotion of the uploaded file into `media/` (P6) was running _after_ the body localization pass, and `localizeArticleMediaRefs` only rewrites a reference whose storageKey already has a real mirror under `media/`, so a freshly uploaded image stayed spelled as `/_emdash/api/media/file/<storageKey>` on disk until the next pull.
170
298
  - The fix relocates promotion to just after the remote POST/PUT (and its conflict handling) and before localization, on both the create and update paths. Promotion still never runs when the remote article write fails or a 3-way merge aborts the push, so the compensation window stays intact: the draft image remains staged under `media/drafts/`, the article file keeps its original draft-path reference, and `media_state` keeps `status: 'uploaded'` for the next run.
171
299
 
172
300
  ### Removed
@@ -1 +1 @@
1
- {"version":3,"file":"conflicts.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/conflicts.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,kBAAkB,GACjC,IAAI,CA4MN"}
1
+ {"version":3,"file":"conflicts.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/conflicts.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,kBAAkB,GACjC,IAAI,CA2LN"}
@@ -19,29 +19,9 @@
19
19
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
20
  * SOFTWARE.
21
21
  */
22
- import { ApiError } from '../../client/error.js';
23
- import { listConflicts, diffConflict, resolveConflict, pruneConflicts, CanonicalHasUnpushedEditsError, QuarantinedPathRequiredError, } from '../../sync/conflicts.js';
22
+ import { listConflicts, diffConflict, resolveConflict, pruneConflicts, } from '../../sync/conflicts.js';
23
+ import { reportActionFailure } from '../report-failure.js';
24
24
  export function registerConflictsCommand(program, resolveContext) {
25
- const reportActionFailure = (error) => {
26
- if (error instanceof CanonicalHasUnpushedEditsError) {
27
- console.error(`❌ ${error.message}`);
28
- console.error(`💡 Suggestion: ${error.suggestion}`);
29
- }
30
- else if (error instanceof QuarantinedPathRequiredError) {
31
- console.error(`❌ Error: [QUARANTINED_PATH_REQUIRED] ${error.message}`);
32
- console.error(`💡 Suggestion: ${error.suggestion}`);
33
- }
34
- else if (error instanceof ApiError) {
35
- console.error(error.toActionableString());
36
- }
37
- else if (error instanceof Error) {
38
- console.error(`❌ Error: ${error.message}`);
39
- }
40
- else {
41
- console.error(`❌ Error: ${String(error)}`);
42
- }
43
- process.exit(1);
44
- };
45
25
  const conflicts = program
46
26
  .command('conflicts')
47
27
  .description('Manage quarantined sync conflict copies and deletion rescue backups in posts/conflicts/');
@@ -1 +1 @@
1
- {"version":3,"file":"conflicts.js","sourceRoot":"","sources":["../../../src/cli/commands/conflicts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conflicts.js","sourceRoot":"","sources":["../../../src/cli/commands/conflicts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/delete.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAuEhG"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/delete.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,GAAG,IAAI,CA4DhG"}
@@ -20,20 +20,8 @@
20
20
  * SOFTWARE.
21
21
  */
22
22
  import { deleteArticle } from '../../sync/delete.js';
23
- import { ApiError } from '../../client/error.js';
23
+ import { reportActionFailure } from '../report-failure.js';
24
24
  export function registerDeleteCommand(program, resolveContext) {
25
- const reportActionFailure = (error) => {
26
- if (error instanceof ApiError) {
27
- console.error(error.toActionableString());
28
- }
29
- else if (error instanceof Error) {
30
- console.error(error.message);
31
- }
32
- else {
33
- console.error(String(error));
34
- }
35
- process.exit(1);
36
- };
37
25
  program
38
26
  .command('delete <target>')
39
27
  .description('Safely delete an article from both local workspace and remote EmDash server')
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/cli/commands/delete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/cli/commands/delete.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAoFhG"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAyEhG"}
@@ -19,21 +19,9 @@
19
19
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
20
  * SOFTWARE.
21
21
  */
22
- import { ApiError } from '../../client/error.js';
23
22
  import { runWorkspaceDoctor } from '../../sync/doctor.js';
23
+ import { reportActionFailure } from '../report-failure.js';
24
24
  export function registerDoctorCommand(program, resolveContext) {
25
- const reportActionFailure = (error) => {
26
- if (error instanceof ApiError) {
27
- console.error(error.toActionableString());
28
- }
29
- else if (error instanceof Error) {
30
- console.error(`❌ Error: ${error.message}`);
31
- }
32
- else {
33
- console.error(`❌ Error: ${String(error)}`);
34
- }
35
- process.exit(1);
36
- };
37
25
  program
38
26
  .command('doctor')
39
27
  .description('Run comprehensive diagnostics on workspace configuration, cache, and content integrity')
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/media.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAUxD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,kBAAkB,GACjC,IAAI,CAgHN"}
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/media.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAWxD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,kBAAkB,GACjC,IAAI,CAqGN"}
@@ -19,9 +19,9 @@
19
19
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
20
  * SOFTWARE.
21
21
  */
22
- import { ApiError } from '../../client/error.js';
23
22
  import { collectLocalMirrorIndex, searchRemoteMedia } from '../../sync/media.js';
24
23
  import { getLocalTaxonomiesSummary } from '../../sync/taxonomies.js';
24
+ import { reportActionFailure } from '../report-failure.js';
25
25
  function formatSize(bytes) {
26
26
  if (bytes === null || bytes === undefined)
27
27
  return '';
@@ -31,18 +31,6 @@ function formatSize(bytes) {
31
31
  return `${Math.max(1, Math.round(bytes / 1024))} KB`;
32
32
  }
33
33
  export function registerMediaSearchCommand(program, resolveContext) {
34
- const reportActionFailure = (error) => {
35
- if (error instanceof ApiError) {
36
- console.error(error.toActionableString());
37
- }
38
- else if (error instanceof Error) {
39
- console.error(`❌ Error: ${error.message}`);
40
- }
41
- else {
42
- console.error(`❌ Error: ${String(error)}`);
43
- }
44
- process.exit(1);
45
- };
46
34
  program
47
35
  .command('media-search <query>')
48
36
  .description('Search the remote EmDash media library by keyword (filename, alt, caption, storageKey)')
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/cli/commands/media.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/cli/commands/media.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,GAAG,IAAI,CA2F7F"}
1
+ {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAgF7F"}
@@ -20,21 +20,9 @@
20
20
  * SOFTWARE.
21
21
  */
22
22
  import { createArticleScaffold } from '../../sync/new.js';
23
- import { ApiError } from '../../client/error.js';
24
23
  import { getLocalTaxonomiesSummary, formatTaxonomiesHint } from '../../sync/taxonomies.js';
24
+ import { reportActionFailure } from '../report-failure.js';
25
25
  export function registerNewCommand(program, resolveContext) {
26
- const reportActionFailure = (error) => {
27
- if (error instanceof ApiError) {
28
- console.error(error.toActionableString());
29
- }
30
- else if (error instanceof Error) {
31
- console.error(error.message);
32
- }
33
- else {
34
- console.error(String(error));
35
- }
36
- process.exit(1);
37
- };
38
26
  program
39
27
  .command('new <slug>')
40
28
  .description('Create a new draft article template with an auto-generated ULID and taxonomy hints')
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Command } from 'commander';
2
- import type { CliContextResolver } from '../context.js';
2
+ import { type CliContextResolver } from '../context.js';
3
3
  export declare function formatPullWindowLabel(status: string | undefined, limit: number): string;
4
4
  /**
5
5
  * Reports body image references that neither a remote media record nor confirmed local mirror metadata
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/pull.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAQxD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED;;;;;;;GAOG;AACH,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC,GAAG,MAAM,CAYT;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACnD,MAAM,CAKR;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAob/F"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/pull.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAezC,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AASvB,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED;;;;;;;GAOG;AACH,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC,GAAG,MAAM,CAYT;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACnD,MAAM,CAKR;AA2BD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAqc/F"}