emdash-emit 0.1.17 → 0.1.25
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.
- package/CHANGELOG.md +152 -0
- package/README.md +22 -11
- package/dist/cli/commands/new.d.ts.map +1 -1
- package/dist/cli/commands/new.js +30 -0
- package/dist/cli/commands/new.js.map +1 -1
- package/dist/cli/commands/pull.d.ts +2 -10
- package/dist/cli/commands/pull.d.ts.map +1 -1
- package/dist/cli/commands/pull.js +12 -30
- package/dist/cli/commands/pull.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +7 -2
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/client/api.d.ts +20 -0
- package/dist/client/api.d.ts.map +1 -1
- package/dist/client/api.js +89 -0
- package/dist/client/api.js.map +1 -1
- package/dist/client/auth.d.ts.map +1 -1
- package/dist/client/auth.js +2 -1
- package/dist/client/auth.js.map +1 -1
- package/dist/client/endpoints.d.ts +19 -0
- package/dist/client/endpoints.d.ts.map +1 -0
- package/dist/client/endpoints.js +69 -0
- package/dist/client/endpoints.js.map +1 -0
- package/dist/client/http.d.ts +4 -2
- package/dist/client/http.d.ts.map +1 -1
- package/dist/client/http.js.map +1 -1
- package/dist/client/lock.d.ts.map +1 -1
- package/dist/client/lock.js +4 -3
- package/dist/client/lock.js.map +1 -1
- package/dist/client/mapper.d.ts.map +1 -1
- package/dist/client/mapper.js +5 -3
- package/dist/client/mapper.js.map +1 -1
- package/dist/client/media-id.d.ts +2 -0
- package/dist/client/media-id.d.ts.map +1 -0
- package/dist/client/media-id.js +23 -0
- package/dist/client/media-id.js.map +1 -0
- package/dist/client/media.d.ts +8 -7
- package/dist/client/media.d.ts.map +1 -1
- package/dist/client/media.js +58 -17
- package/dist/client/media.js.map +1 -1
- package/dist/db/baseline.d.ts +38 -0
- package/dist/db/baseline.d.ts.map +1 -0
- package/dist/db/baseline.js +74 -0
- package/dist/db/baseline.js.map +1 -0
- package/dist/db/cache.d.ts +8 -2
- package/dist/db/cache.d.ts.map +1 -1
- package/dist/db/cache.js +24 -2
- package/dist/db/cache.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/tools/sync-new.d.ts.map +1 -1
- package/dist/mcp/tools/sync-new.js +42 -1
- package/dist/mcp/tools/sync-new.js.map +1 -1
- package/dist/mcp/tools/sync-pull.d.ts.map +1 -1
- package/dist/mcp/tools/sync-pull.js +15 -2
- package/dist/mcp/tools/sync-pull.js.map +1 -1
- package/dist/mcp/tools/sync-status.d.ts.map +1 -1
- package/dist/mcp/tools/sync-status.js +1 -0
- package/dist/mcp/tools/sync-status.js.map +1 -1
- package/dist/presentation/article_report.d.ts +40 -0
- package/dist/presentation/article_report.d.ts.map +1 -0
- package/dist/presentation/article_report.js +80 -0
- package/dist/presentation/article_report.js.map +1 -0
- package/dist/sync/bylines.d.ts.map +1 -1
- package/dist/sync/bylines.js +2 -1
- package/dist/sync/bylines.js.map +1 -1
- package/dist/sync/conflicts.js +1 -1
- package/dist/sync/conflicts.js.map +1 -1
- package/dist/sync/delete.d.ts +0 -5
- package/dist/sync/delete.d.ts.map +1 -1
- package/dist/sync/delete.js +5 -11
- package/dist/sync/delete.js.map +1 -1
- package/dist/sync/diff.d.ts.map +1 -1
- package/dist/sync/diff.js +13 -9
- package/dist/sync/diff.js.map +1 -1
- package/dist/sync/doctor.d.ts.map +1 -1
- package/dist/sync/doctor.js +11 -14
- package/dist/sync/doctor.js.map +1 -1
- package/dist/sync/guards.d.ts +5 -0
- package/dist/sync/guards.d.ts.map +1 -1
- package/dist/sync/guards.js +62 -1
- package/dist/sync/guards.js.map +1 -1
- package/dist/sync/media/body_scan.d.ts.map +1 -1
- package/dist/sync/media/body_scan.js +9 -3
- package/dist/sync/media/body_scan.js.map +1 -1
- package/dist/sync/media/companions.d.ts +2 -9
- package/dist/sync/media/companions.d.ts.map +1 -1
- package/dist/sync/media/companions.js +5 -23
- package/dist/sync/media/companions.js.map +1 -1
- package/dist/sync/media/mirror_item.d.ts.map +1 -1
- package/dist/sync/media/mirror_item.js +33 -21
- package/dist/sync/media/mirror_item.js.map +1 -1
- package/dist/sync/media/pull_article.d.ts.map +1 -1
- package/dist/sync/media/pull_article.js +3 -2
- package/dist/sync/media/pull_article.js.map +1 -1
- package/dist/sync/media/pull_library.d.ts.map +1 -1
- package/dist/sync/media/pull_library.js +16 -11
- package/dist/sync/media/pull_library.js.map +1 -1
- package/dist/sync/media/remote_index.d.ts.map +1 -1
- package/dist/sync/media/remote_index.js +2 -1
- package/dist/sync/media/remote_index.js.map +1 -1
- package/dist/sync/media/types.d.ts +4 -3
- package/dist/sync/media/types.d.ts.map +1 -1
- package/dist/sync/media/types.js.map +1 -1
- package/dist/sync/merge.d.ts +1 -1
- package/dist/sync/merge.d.ts.map +1 -1
- package/dist/sync/merge.js +50 -17
- package/dist/sync/merge.js.map +1 -1
- package/dist/sync/new.d.ts +11 -0
- package/dist/sync/new.d.ts.map +1 -1
- package/dist/sync/new.js +81 -4
- package/dist/sync/new.js.map +1 -1
- package/dist/sync/preflight.d.ts +10 -2
- package/dist/sync/preflight.d.ts.map +1 -1
- package/dist/sync/preflight.js +119 -17
- package/dist/sync/preflight.js.map +1 -1
- package/dist/sync/pull.d.ts +6 -44
- package/dist/sync/pull.d.ts.map +1 -1
- package/dist/sync/pull.js +154 -207
- package/dist/sync/pull.js.map +1 -1
- package/dist/sync/push/commit.d.ts +61 -0
- package/dist/sync/push/commit.d.ts.map +1 -0
- package/dist/sync/push/commit.js +258 -0
- package/dist/sync/push/commit.js.map +1 -0
- package/dist/sync/push/guards.d.ts +33 -0
- package/dist/sync/push/guards.d.ts.map +1 -0
- package/dist/sync/push/guards.js +110 -0
- package/dist/sync/push/guards.js.map +1 -0
- package/dist/sync/push/index.d.ts +9 -0
- package/dist/sync/push/index.d.ts.map +1 -0
- package/dist/sync/push/index.js +372 -0
- package/dist/sync/push/index.js.map +1 -0
- package/dist/sync/push/media_stage.d.ts +56 -0
- package/dist/sync/push/media_stage.d.ts.map +1 -0
- package/dist/sync/push/media_stage.js +338 -0
- package/dist/sync/push/media_stage.js.map +1 -0
- package/dist/sync/push/merge_stage.d.ts +37 -0
- package/dist/sync/push/merge_stage.d.ts.map +1 -0
- package/dist/sync/push/merge_stage.js +257 -0
- package/dist/sync/push/merge_stage.js.map +1 -0
- package/dist/sync/push/preflight_stage.d.ts +6 -0
- package/dist/sync/push/preflight_stage.d.ts.map +1 -0
- package/dist/sync/push/preflight_stage.js +40 -0
- package/dist/sync/push/preflight_stage.js.map +1 -0
- package/dist/sync/push/tax_audit.d.ts +24 -0
- package/dist/sync/push/tax_audit.d.ts.map +1 -0
- package/dist/sync/push/tax_audit.js +70 -0
- package/dist/sync/push/tax_audit.js.map +1 -0
- package/dist/sync/push/taxonomy_plan.d.ts +36 -0
- package/dist/sync/push/taxonomy_plan.d.ts.map +1 -0
- package/dist/sync/push/taxonomy_plan.js +136 -0
- package/dist/sync/push/taxonomy_plan.js.map +1 -0
- package/dist/sync/push/transport.d.ts +14 -0
- package/dist/sync/push/transport.d.ts.map +1 -0
- package/dist/sync/push/transport.js +74 -0
- package/dist/sync/push/transport.js.map +1 -0
- package/dist/sync/push/types.d.ts +62 -0
- package/dist/sync/push/types.d.ts.map +1 -0
- package/dist/sync/push/types.js +23 -0
- package/dist/sync/push/types.js.map +1 -0
- package/dist/sync/push.d.ts +2 -57
- package/dist/sync/push.d.ts.map +1 -1
- package/dist/sync/push.js +2 -1184
- package/dist/sync/push.js.map +1 -1
- package/dist/sync/status.d.ts +3 -0
- package/dist/sync/status.d.ts.map +1 -1
- package/dist/sync/status.js +18 -8
- package/dist/sync/status.js.map +1 -1
- package/dist/sync/taxonomies.d.ts.map +1 -1
- package/dist/sync/taxonomies.js +21 -9
- package/dist/sync/taxonomies.js.map +1 -1
- package/dist/sync/terms.d.ts.map +1 -1
- package/dist/sync/terms.js +2 -1
- package/dist/sync/terms.js.map +1 -1
- package/dist/sync/workspace/commit.d.ts +46 -0
- package/dist/sync/workspace/commit.d.ts.map +1 -0
- package/dist/sync/workspace/commit.js +85 -0
- package/dist/sync/workspace/commit.js.map +1 -0
- package/dist/sync/workspace/index.d.ts +42 -0
- package/dist/sync/workspace/index.d.ts.map +1 -0
- package/dist/sync/workspace/index.js +125 -0
- package/dist/sync/workspace/index.js.map +1 -0
- package/dist/utils/disk-spelling.d.ts +26 -0
- package/dist/utils/disk-spelling.d.ts.map +1 -0
- package/dist/utils/disk-spelling.js +51 -0
- package/dist/utils/disk-spelling.js.map +1 -0
- package/dist/utils/draft-revision.d.ts +15 -0
- package/dist/utils/draft-revision.d.ts.map +1 -0
- package/dist/utils/draft-revision.js +36 -0
- package/dist/utils/draft-revision.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +21 -2
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +71 -10
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/media-body-refs.d.ts +24 -0
- package/dist/utils/media-body-refs.d.ts.map +1 -1
- package/dist/utils/media-body-refs.js +51 -0
- package/dist/utils/media-body-refs.js.map +1 -1
- package/dist/utils/media-companion.d.ts +13 -0
- package/dist/utils/media-companion.d.ts.map +1 -0
- package/dist/utils/media-companion.js +42 -0
- package/dist/utils/media-companion.js.map +1 -0
- package/dist/utils/media-id.d.ts +46 -0
- package/dist/utils/media-id.d.ts.map +1 -0
- package/dist/utils/media-id.js +84 -0
- package/dist/utils/media-id.js.map +1 -0
- package/dist/utils/naming.d.ts.map +1 -1
- package/dist/utils/naming.js +3 -2
- package/dist/utils/naming.js.map +1 -1
- package/dist/utils/ulid.d.ts +31 -0
- package/dist/utils/ulid.d.ts.map +1 -0
- package/dist/utils/ulid.js +65 -0
- package/dist/utils/ulid.js.map +1 -0
- package/package.json +1 -1
package/dist/sync/pull.js
CHANGED
|
@@ -21,36 +21,20 @@
|
|
|
21
21
|
*/
|
|
22
22
|
import fs from 'node:fs';
|
|
23
23
|
import path from 'node:path';
|
|
24
|
-
import crypto from 'node:crypto';
|
|
25
24
|
import { apiResponseToLocal } from '../client/mapper.js';
|
|
26
25
|
import { ApiError } from '../client/error.js';
|
|
27
26
|
import { createAuthedFetch } from '../client/http.js';
|
|
28
|
-
import { unwrapEnvelope, extractRev,
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
27
|
+
import { unwrapEnvelope, unwrapItem, extractRev, extractComparisonRev, isSameRev, } from '../client/api.js';
|
|
28
|
+
import { articleContentEndpoint, openApiEndpoint } from '../client/endpoints.js';
|
|
29
|
+
import { carriesPercentEncodedTaxonomy, extractDatePrefixFromPath, parseMarkdown, serializeMarkdown, lenientRepairMarkdownFrontmatter, } from '../utils/frontmatter.js';
|
|
30
|
+
import { hasUncommittedDraftRevision } from '../utils/draft-revision.js';
|
|
31
|
+
import { localizeArticleMediaRefs, carriesDepthFreeMediaRef, shouldPreferLegacyRef, } from '../utils/media-body-refs.js';
|
|
32
|
+
import { CONFLICTS_SUBDIR, calculateHash, commitArticleSnapshot, findLocalFilesByUlid, isQuarantinedRelativePath, quarantineLocalCopy, resolveCanonicalArticlePath, } from './workspace/index.js';
|
|
33
|
+
export { CONFLICTS_SUBDIR, calculateHash, findLocalFilesByUlid, isQuarantinedRelativePath, quarantineLocalCopy, resolveCanonicalArticlePath, carriesDepthFreeMediaRef, shouldPreferLegacyRef, };
|
|
32
34
|
import { loadLocalTaxonomyCandidates } from './taxonomies.js';
|
|
33
35
|
import { syncRemoteBylines } from './bylines.js';
|
|
34
36
|
import { updateConfigSyncedVersion } from '../utils/config.js';
|
|
35
37
|
import { fetchAssignedTerms as fetchAssignedTermsShared, computeTaxonomyHash } from './terms.js';
|
|
36
|
-
/** Subdirectory (under a collection) reserved for preserved divergent local copies. */
|
|
37
|
-
export const CONFLICTS_SUBDIR = 'conflicts';
|
|
38
|
-
/**
|
|
39
|
-
* Detects a workspace-relative rescue-copy path (`<collection>/conflicts/<file>.md`).
|
|
40
|
-
*
|
|
41
|
-
* Canonical articles always live at `<collection>/draft|published/<file>.md`, so matching the
|
|
42
|
-
* second path segment is sufficient and avoids false positives from a slug that merely contains
|
|
43
|
-
* the word "conflicts". Used by the push guard (QUARANTINED_COPY_NOT_PUSHABLE) so a rescue copy
|
|
44
|
-
* can never silently overwrite the canonical article it was preserved from.
|
|
45
|
-
*/
|
|
46
|
-
export function isQuarantinedRelativePath(relPath) {
|
|
47
|
-
const segments = relPath
|
|
48
|
-
.split(path.sep)
|
|
49
|
-
.join('/')
|
|
50
|
-
.split('/')
|
|
51
|
-
.filter((seg) => seg.length > 0);
|
|
52
|
-
return segments.length >= 3 && segments[1] === CONFLICTS_SUBDIR;
|
|
53
|
-
}
|
|
54
38
|
/**
|
|
55
39
|
* Human/agent readable notice describing preserved local copies.
|
|
56
40
|
* Returns an empty string when nothing was preserved.
|
|
@@ -66,73 +50,6 @@ export function formatQuarantineNotice(quarantined) {
|
|
|
66
50
|
];
|
|
67
51
|
return lines.join('\n');
|
|
68
52
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Calculates SHA-256 hash of a string.
|
|
71
|
-
*/
|
|
72
|
-
export function calculateHash(content) {
|
|
73
|
-
return crypto.createHash('sha256').update(content, 'utf8').digest('hex');
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Finds all existing Markdown files in `<collection>/{draft,published}/` whose filename
|
|
77
|
-
* contains the given 26-character ULID. Used to preserve date prefixes and clean up
|
|
78
|
-
* stale duplicate files when pulling an uncached article.
|
|
79
|
-
*/
|
|
80
|
-
export function findLocalFilesByUlid(workspaceRoot, collection, id) {
|
|
81
|
-
const matches = [];
|
|
82
|
-
for (const sub of ['draft', 'published']) {
|
|
83
|
-
const subDir = path.join(workspaceRoot, collection, sub);
|
|
84
|
-
if (!fs.existsSync(subDir))
|
|
85
|
-
continue;
|
|
86
|
-
try {
|
|
87
|
-
for (const file of fs.readdirSync(subDir)) {
|
|
88
|
-
if (!file.endsWith('.md'))
|
|
89
|
-
continue;
|
|
90
|
-
if (extractUlidFromFilename(file) === id) {
|
|
91
|
-
matches.push(path.join(collection, sub, file));
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
catch {
|
|
96
|
-
// Ignore directory read errors
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
return matches;
|
|
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
|
-
}
|
|
136
53
|
/**
|
|
137
54
|
* Preserves a local Markdown copy verbatim under `<collection>/conflicts/` before Emit
|
|
138
55
|
* overwrites or removes the original path. Used to guarantee that no divergent local
|
|
@@ -141,45 +58,19 @@ export function shouldPreferLegacyRef(workspaceRoot, existingRelPaths) {
|
|
|
141
58
|
* Returns the relative path of the preserved copy, or null when preservation failed.
|
|
142
59
|
*/
|
|
143
60
|
/**
|
|
144
|
-
* Resolves canonical
|
|
145
|
-
*
|
|
61
|
+
* Resolves the canonical article title from remote data symmetrically across
|
|
62
|
+
* fast-path and full-pull (EMIT-005 / v0.1.14 backlog §1).
|
|
146
63
|
*/
|
|
147
|
-
export function
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
const
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
try {
|
|
158
|
-
fs.mkdirSync(conflictsDir, { recursive: true });
|
|
159
|
-
// Deduplication check: if canonical conflict file exists and is unedited, overwrite without incrementing
|
|
160
|
-
if (!options?.isForce && fs.existsSync(quarantineFull)) {
|
|
161
|
-
const existingDiskHash = calculateHash(fs.readFileSync(quarantineFull, 'utf8'));
|
|
162
|
-
if ((options?.existingCopyHash && existingDiskHash === options.existingCopyHash) ||
|
|
163
|
-
existingDiskHash === calculateHash(content)) {
|
|
164
|
-
fs.writeFileSync(quarantineFull, content, 'utf8');
|
|
165
|
-
return quarantineRel;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
let suffix = 2;
|
|
169
|
-
while (fs.existsSync(path.join(workspaceRoot, quarantineRel))) {
|
|
170
|
-
quarantineRel = path.join(collection, CONFLICTS_SUBDIR, options?.isForce
|
|
171
|
-
? `${baseName}.local-dropped-${suffix}.md`
|
|
172
|
-
: `${baseName}.conflict-${suffix}.md`);
|
|
173
|
-
suffix += 1;
|
|
174
|
-
if (suffix > 100)
|
|
175
|
-
return null;
|
|
176
|
-
}
|
|
177
|
-
fs.writeFileSync(path.join(workspaceRoot, quarantineRel), content, 'utf8');
|
|
178
|
-
return quarantineRel;
|
|
179
|
-
}
|
|
180
|
-
catch {
|
|
181
|
-
return null;
|
|
182
|
-
}
|
|
64
|
+
export function extractCanonicalRemoteTitle(rawObj, fallbackSlug) {
|
|
65
|
+
const item = unwrapItem(rawObj);
|
|
66
|
+
const data = (item.data || {}) || {};
|
|
67
|
+
const rawTitle = String(data.title || item.title || '').trim();
|
|
68
|
+
if (rawTitle)
|
|
69
|
+
return rawTitle;
|
|
70
|
+
const rawSlug = String(item.slug || fallbackSlug || '').trim();
|
|
71
|
+
if (rawSlug)
|
|
72
|
+
return rawSlug;
|
|
73
|
+
return 'Untitled';
|
|
183
74
|
}
|
|
184
75
|
/**
|
|
185
76
|
* Discovers local files for this article that are about to be overwritten or unlinked, and
|
|
@@ -226,7 +117,7 @@ function quarantineDivergentLocalCopies(options, collection, localRelPaths, base
|
|
|
226
117
|
export async function getRemoteMaxBatchLimit(options) {
|
|
227
118
|
const fetchFn = options.fetchFn || fetch;
|
|
228
119
|
try {
|
|
229
|
-
const url =
|
|
120
|
+
const url = openApiEndpoint(options.origin);
|
|
230
121
|
const headers = { Accept: 'application/json' };
|
|
231
122
|
if (options.token) {
|
|
232
123
|
headers.Authorization = `Bearer ${options.token}`;
|
|
@@ -263,7 +154,7 @@ async function fetchStatusArticles(collection, status, options, serverMaxLimit)
|
|
|
263
154
|
while (items.length < targetTotal) {
|
|
264
155
|
const remaining = targetTotal - items.length;
|
|
265
156
|
const currentBatch = Math.min(remaining, batchLimit);
|
|
266
|
-
const url = new URL(
|
|
157
|
+
const url = new URL(articleContentEndpoint(options.origin, collection));
|
|
267
158
|
url.searchParams.set('status', status);
|
|
268
159
|
url.searchParams.set('limit', String(currentBatch));
|
|
269
160
|
if (cursor) {
|
|
@@ -433,9 +324,8 @@ export async function pullArticle(collection, id, options) {
|
|
|
433
324
|
const rawObj = (item.rawItem || item);
|
|
434
325
|
const rawRevCandidate = String(item._rev || item.rev || item.version || rawObj._rev || '');
|
|
435
326
|
const remoteRev = extractRev(rawObj, rawRevCandidate);
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
normalizeRev(existingSync.remoteRev) !== normalizeRev(remoteRev)) {
|
|
327
|
+
const remoteComparisonRev = extractComparisonRev(rawObj, remoteRev);
|
|
328
|
+
if (!existingSync || !remoteRev || !isSameRev(existingSync.remoteRev, remoteComparisonRev)) {
|
|
439
329
|
return null;
|
|
440
330
|
}
|
|
441
331
|
const fullExistingPath = path.join(options.workspaceRoot, existingSync.localFilePath);
|
|
@@ -451,8 +341,8 @@ export async function pullArticle(collection, id, options) {
|
|
|
451
341
|
const currentDiskHash = calculateHash(currentDiskContent);
|
|
452
342
|
// Check if file path matches current naming standard
|
|
453
343
|
const existingPrefix = extractDatePrefixFromPath(existingSync.localFilePath);
|
|
454
|
-
const
|
|
455
|
-
const rawTitle =
|
|
344
|
+
const fallbackSlug = String(item.slug || existingSync.slug || '');
|
|
345
|
+
const rawTitle = extractCanonicalRemoteTitle(rawObj, fallbackSlug);
|
|
456
346
|
const targetStatus = String(rawObj.status || item.status || 'draft');
|
|
457
347
|
const expectedRelPath = resolveCanonicalArticlePath(collection, targetStatus, id, rawTitle, {
|
|
458
348
|
publishedAt: rawObj.publishedAt || item.publishedAt || null,
|
|
@@ -500,7 +390,44 @@ export async function pullArticle(collection, id, options) {
|
|
|
500
390
|
}
|
|
501
391
|
if (currentDiskHash === existingSync.localHash) {
|
|
502
392
|
try {
|
|
503
|
-
parseMarkdown(currentDiskContent);
|
|
393
|
+
const parsedCurrent = parseMarkdown(currentDiskContent);
|
|
394
|
+
// Branch 1: Valid YAML on hash-matched untouched file, but carries percent-encoded taxonomy terms or out-of-sync draft revision annotation -> heal in-place
|
|
395
|
+
const hasDraft = hasUncommittedDraftRevision(existingSync);
|
|
396
|
+
const carriesDraftComment = /^\s*status:\s*published\s+#\s*draft revision\s*$/m.test(currentDiskContent);
|
|
397
|
+
const needsDraftRevisionHeal = parsedCurrent.frontmatter.status === 'published' && hasDraft !== carriesDraftComment;
|
|
398
|
+
if (carriesPercentEncodedTaxonomy(currentDiskContent) || needsDraftRevisionHeal) {
|
|
399
|
+
const respelledCanon = serializeMarkdown(parsedCurrent.frontmatter, parsedCurrent.body, getTaxonomyCandidates(), { hasDraftRevision: hasDraft });
|
|
400
|
+
const respelled = localizeDiskMarkdown(respelledCanon, existingSync.localFilePath);
|
|
401
|
+
if (respelled !== currentDiskContent) {
|
|
402
|
+
try {
|
|
403
|
+
parseMarkdown(respelled);
|
|
404
|
+
commitArticleSnapshot(options.cache, options.workspaceRoot, {
|
|
405
|
+
id,
|
|
406
|
+
relPath: existingSync.localFilePath,
|
|
407
|
+
diskContent: respelled,
|
|
408
|
+
canonicalContent: respelledCanon,
|
|
409
|
+
frontmatter: parsedCurrent.frontmatter,
|
|
410
|
+
bodyMarkdown: parsedCurrent.body,
|
|
411
|
+
revForTransport: existingSync.remoteRev,
|
|
412
|
+
revForComparison: existingSync.remoteRev,
|
|
413
|
+
bumpBaselineHashOnly: true,
|
|
414
|
+
});
|
|
415
|
+
return {
|
|
416
|
+
id,
|
|
417
|
+
slug: existingSync.slug,
|
|
418
|
+
status: existingSync.status,
|
|
419
|
+
filePath: existingSync.localFilePath,
|
|
420
|
+
updated: true,
|
|
421
|
+
healed: true,
|
|
422
|
+
meaningChanged: false,
|
|
423
|
+
title: rawTitle,
|
|
424
|
+
};
|
|
425
|
+
}
|
|
426
|
+
catch {
|
|
427
|
+
// Re-spelling broke the parse (should not happen): fall through to skip
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
}
|
|
504
431
|
return {
|
|
505
432
|
id,
|
|
506
433
|
slug: existingSync.slug,
|
|
@@ -512,27 +439,26 @@ export async function pullArticle(collection, id, options) {
|
|
|
512
439
|
};
|
|
513
440
|
}
|
|
514
441
|
catch {
|
|
515
|
-
//
|
|
516
|
-
//
|
|
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.
|
|
442
|
+
// Branch 2: Broken YAML on hash-matched untouched file.
|
|
443
|
+
// Heal syntax via lenient repair, then serialize cleanly to decoded representation with zero network fetches.
|
|
520
444
|
const repaired = lenientRepairMarkdownFrontmatter(currentDiskContent);
|
|
521
445
|
if (repaired !== null) {
|
|
522
|
-
fs.writeFileSync(fullExistingPath, repaired, 'utf8');
|
|
523
446
|
const parsedRepaired = parseMarkdown(repaired);
|
|
524
|
-
const
|
|
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,
|
|
447
|
+
const hasDraft = hasUncommittedDraftRevision({
|
|
533
448
|
status: parsedRepaired.frontmatter.status,
|
|
534
|
-
|
|
535
|
-
|
|
449
|
+
remoteRev: remoteComparisonRev,
|
|
450
|
+
});
|
|
451
|
+
const decodedCanon = serializeMarkdown(parsedRepaired.frontmatter, parsedRepaired.body, getTaxonomyCandidates(), { hasDraftRevision: hasDraft });
|
|
452
|
+
const decodedDisk = localizeDiskMarkdown(decodedCanon, existingSync.localFilePath);
|
|
453
|
+
commitArticleSnapshot(options.cache, options.workspaceRoot, {
|
|
454
|
+
id,
|
|
455
|
+
relPath: existingSync.localFilePath,
|
|
456
|
+
diskContent: decodedDisk,
|
|
457
|
+
frontmatter: parsedRepaired.frontmatter,
|
|
458
|
+
bodyMarkdown: parsedRepaired.body,
|
|
459
|
+
revForTransport: remoteRev,
|
|
460
|
+
revForComparison: remoteComparisonRev,
|
|
461
|
+
bumpBaselineHashOnly: true,
|
|
536
462
|
});
|
|
537
463
|
return {
|
|
538
464
|
id,
|
|
@@ -590,38 +516,39 @@ export async function pullArticle(collection, id, options) {
|
|
|
590
516
|
remoteLocal.frontmatter.taxonomies.tags = tagsTerms;
|
|
591
517
|
}
|
|
592
518
|
}
|
|
593
|
-
const
|
|
519
|
+
const hasDraft = hasUncommittedDraftRevision({
|
|
520
|
+
status: remoteLocal.frontmatter.status,
|
|
521
|
+
remoteRev: remoteComparisonRev,
|
|
522
|
+
});
|
|
523
|
+
const remoteCanonMarkdown = serializeMarkdown(remoteLocal.frontmatter, remoteLocal.body, getTaxonomyCandidates(), { hasDraftRevision: hasDraft });
|
|
594
524
|
const remoteCanonHash = calculateHash(remoteCanonMarkdown);
|
|
595
525
|
// The repaired file on disk carries the workspace's local-media-ref spelling, so the tracked hash
|
|
596
526
|
// must be the hash of that spelling. The baseline keeps the canonical form untouched.
|
|
597
527
|
const remoteDiskHash = calculateHash(localizeDiskMarkdown(remoteCanonMarkdown, existingSync.localFilePath, true));
|
|
598
528
|
const existingBase = options.cache.getBaseSnapshot(id);
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
id,
|
|
602
|
-
rev: remoteRev,
|
|
603
|
-
bodyMarkdown: remoteLocal.body,
|
|
604
|
-
frontmatterYaml: JSON.stringify(remoteLocal.frontmatter),
|
|
605
|
-
hash: remoteCanonHash,
|
|
606
|
-
savedAt: Math.floor(Date.now() / 1000),
|
|
607
|
-
});
|
|
608
|
-
}
|
|
609
|
-
options.cache.saveSyncState({
|
|
529
|
+
const bumpBaselineHashOnly = Boolean(categoriesTerms === null && tagsTerms === null && existingBase);
|
|
530
|
+
commitArticleSnapshot(options.cache, options.workspaceRoot, {
|
|
610
531
|
id,
|
|
611
|
-
|
|
532
|
+
relPath: existingSync.localFilePath,
|
|
533
|
+
diskContent: repaired,
|
|
612
534
|
localHash: remoteDiskHash,
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
535
|
+
canonicalContent: remoteCanonMarkdown,
|
|
536
|
+
frontmatter: remoteLocal.frontmatter,
|
|
537
|
+
bodyMarkdown: remoteLocal.body,
|
|
538
|
+
revForTransport: remoteRev,
|
|
539
|
+
revForComparison: remoteComparisonRev,
|
|
540
|
+
bumpBaselineHashOnly,
|
|
541
|
+
skipDiskWrite: true,
|
|
542
|
+
flags: {
|
|
543
|
+
remoteTaxonomyHash: computeTaxonomyHash(remoteLocal.frontmatter.taxonomies?.categories, remoteLocal.frontmatter.taxonomies?.tags),
|
|
544
|
+
taxonomyApplyPending: 0,
|
|
545
|
+
conflictPending: existingSync.conflictPending,
|
|
546
|
+
bodyConflictPending: existingSync.bodyConflictPending,
|
|
547
|
+
taxonomyConflictPending: existingSync.taxonomyConflictPending,
|
|
548
|
+
conflictCopyPath: existingSync.conflictCopyPath,
|
|
549
|
+
conflictCopyHash: existingSync.conflictCopyHash,
|
|
550
|
+
conflictAt: existingSync.conflictAt,
|
|
551
|
+
},
|
|
625
552
|
});
|
|
626
553
|
return {
|
|
627
554
|
id,
|
|
@@ -647,10 +574,28 @@ export async function pullArticle(collection, id, options) {
|
|
|
647
574
|
const fastResult = await tryFastPathOrHeal(rawItem);
|
|
648
575
|
if (fastResult)
|
|
649
576
|
return fastResult;
|
|
577
|
+
// Fast-path missed: remote content changed or local repair required.
|
|
578
|
+
// EmDash list API returns stale creation-time posts.data for drafts, and liveData for published articles.
|
|
579
|
+
// When a published article has unpublished draft changes (draftRevisionId exists), list API does NOT expand
|
|
580
|
+
// the draft body (it returns only liveData).
|
|
581
|
+
// Therefore, if this is an existing tracked article whose remote draft revision has advanced, we must discard
|
|
582
|
+
// the stale list rawItem so Step 2 fetches the full canonical item via single GET!
|
|
583
|
+
const rawObj = rawItem;
|
|
584
|
+
const hasDraftRevision = Boolean(rawObj.draftRevisionId);
|
|
585
|
+
const isDraft = String(rawObj.status || 'draft') !== 'published';
|
|
586
|
+
const needsFullDraftFetch = isDraft || hasDraftRevision;
|
|
587
|
+
const existingSync = options.cache.getSyncState(id);
|
|
588
|
+
const rawRevCandidate = String(rawItem._rev || rawItem.rev || rawItem.version || rawObj._rev || '');
|
|
589
|
+
const remoteRev = extractRev(rawObj, rawRevCandidate);
|
|
590
|
+
const remoteComparisonRev = extractComparisonRev(rawObj, remoteRev);
|
|
591
|
+
const remoteChanged = !existingSync || !isSameRev(existingSync.remoteRev, remoteComparisonRev);
|
|
592
|
+
if (needsFullDraftFetch && existingSync && remoteChanged) {
|
|
593
|
+
rawItem = undefined;
|
|
594
|
+
}
|
|
650
595
|
}
|
|
651
|
-
// 2. Fetch raw item if not passed in options
|
|
596
|
+
// 2. Fetch raw item if not passed in options (or discarded above for draft updates)
|
|
652
597
|
if (!rawItem) {
|
|
653
|
-
const url =
|
|
598
|
+
const url = articleContentEndpoint(options.origin, collection, id);
|
|
654
599
|
const res = await fetchFn(url, {
|
|
655
600
|
method: 'GET',
|
|
656
601
|
headers: {
|
|
@@ -769,7 +714,14 @@ export async function pullArticle(collection, id, options) {
|
|
|
769
714
|
// base snapshot records; `markdownContent` is what lands on disk, which may spell mirrored images as local
|
|
770
715
|
// references when `localMediaRefs` is enabled. Keeping the two apart is what lets an editor preview render a
|
|
771
716
|
// mirror while the baseline stays byte-identical to a remote pull.
|
|
772
|
-
const
|
|
717
|
+
const comparisonRev = extractComparisonRev(rawItem, rev);
|
|
718
|
+
const hasDraft = hasUncommittedDraftRevision({
|
|
719
|
+
status: frontmatter.status,
|
|
720
|
+
remoteRev: comparisonRev,
|
|
721
|
+
});
|
|
722
|
+
const canonicalMarkdown = serializeMarkdown(frontmatter, body, getTaxonomyCandidates(), {
|
|
723
|
+
hasDraftRevision: hasDraft,
|
|
724
|
+
});
|
|
773
725
|
const contentHash = calculateHash(canonicalMarkdown);
|
|
774
726
|
// Determine standard relative file path: <collection>/<status>/<yyyyMMdd>_<ulid>-<title>.md
|
|
775
727
|
const existingSync = options.cache.getSyncState(frontmatter.id);
|
|
@@ -780,10 +732,13 @@ export async function pullArticle(collection, id, options) {
|
|
|
780
732
|
: preferredDiskMatch
|
|
781
733
|
? extractDatePrefixFromPath(preferredDiskMatch)
|
|
782
734
|
: null;
|
|
783
|
-
const
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
735
|
+
const canonicalTitle = rawItem
|
|
736
|
+
? extractCanonicalRemoteTitle(rawItem, frontmatter.slug)
|
|
737
|
+
: frontmatter.title || frontmatter.slug;
|
|
738
|
+
const relPath = resolveCanonicalArticlePath(frontmatter.collection, frontmatter.status, frontmatter.id, canonicalTitle, {
|
|
739
|
+
publishedAt: frontmatter.publishedAt || rawItem?.publishedAt || null,
|
|
740
|
+
createdAt: rawItem?.createdAt || null,
|
|
741
|
+
updatedAt: rawItem?.updatedAt || null,
|
|
787
742
|
}, existingPrefix);
|
|
788
743
|
// Localizing needs the depth of the path the article is about to occupy, so it runs after `relPath` is
|
|
789
744
|
// resolved. A file that already sits on disk in the depth-free legacy spelling keeps that spelling; a fresh
|
|
@@ -813,18 +768,6 @@ export async function pullArticle(collection, id, options) {
|
|
|
813
768
|
}
|
|
814
769
|
}
|
|
815
770
|
}
|
|
816
|
-
// Ensure parent directory exists and write file
|
|
817
|
-
fs.mkdirSync(path.dirname(fullFilePath), { recursive: true });
|
|
818
|
-
fs.writeFileSync(fullFilePath, markdownContent, 'utf8');
|
|
819
|
-
// Update Base snapshot in cache
|
|
820
|
-
options.cache.saveBaseSnapshot({
|
|
821
|
-
id: frontmatter.id,
|
|
822
|
-
rev,
|
|
823
|
-
bodyMarkdown: body,
|
|
824
|
-
frontmatterYaml: JSON.stringify(frontmatter),
|
|
825
|
-
hash: contentHash,
|
|
826
|
-
savedAt: Math.floor(Date.now() / 1000),
|
|
827
|
-
});
|
|
828
771
|
// Update sync state with explicit conflict pending preservation
|
|
829
772
|
let conflictInfo = {};
|
|
830
773
|
// Take the most recently quarantined divergent copy: `quarantineDivergentLocalCopies` walks
|
|
@@ -898,17 +841,21 @@ export async function pullArticle(collection, id, options) {
|
|
|
898
841
|
conflictAt: null,
|
|
899
842
|
};
|
|
900
843
|
}
|
|
901
|
-
|
|
844
|
+
// Commit canonical Markdown and sync state via commitArticleSnapshot
|
|
845
|
+
commitArticleSnapshot(options.cache, options.workspaceRoot, {
|
|
902
846
|
id: frontmatter.id,
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
847
|
+
relPath,
|
|
848
|
+
diskContent: markdownContent,
|
|
849
|
+
canonicalContent: canonicalMarkdown,
|
|
850
|
+
frontmatter,
|
|
851
|
+
bodyMarkdown: body,
|
|
852
|
+
revForTransport: rev,
|
|
853
|
+
revForComparison: comparisonRev,
|
|
854
|
+
flags: {
|
|
855
|
+
remoteTaxonomyHash: computeTaxonomyHash(frontmatter.taxonomies?.categories, frontmatter.taxonomies?.tags),
|
|
856
|
+
taxonomyApplyPending: 0,
|
|
857
|
+
...conflictInfo,
|
|
858
|
+
},
|
|
912
859
|
});
|
|
913
860
|
// Update entries cache
|
|
914
861
|
options.cache.saveEntry({
|
package/dist/sync/pull.js.map
CHANGED
|
@@ -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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"}
|