emdash-emit 0.1.18 → 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 +120 -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/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/db/baseline.d.ts +3 -2
- package/dist/db/baseline.d.ts.map +1 -1
- package/dist/db/baseline.js +2 -2
- package/dist/db/baseline.js.map +1 -1
- package/dist/db/cache.d.ts +5 -0
- package/dist/db/cache.d.ts.map +1 -1
- package/dist/db/cache.js +21 -0
- package/dist/db/cache.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-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/sync/diff.d.ts.map +1 -1
- package/dist/sync/diff.js +11 -6
- package/dist/sync/diff.js.map +1 -1
- package/dist/sync/guards.d.ts.map +1 -1
- package/dist/sync/guards.js +2 -2
- package/dist/sync/guards.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 +7 -0
- package/dist/sync/preflight.d.ts.map +1 -1
- package/dist/sync/preflight.js +100 -7
- package/dist/sync/preflight.js.map +1 -1
- package/dist/sync/pull.d.ts.map +1 -1
- package/dist/sync/pull.js +127 -72
- package/dist/sync/pull.js.map +1 -1
- package/dist/sync/push/commit.d.ts +1 -0
- package/dist/sync/push/commit.d.ts.map +1 -1
- package/dist/sync/push/commit.js +59 -31
- package/dist/sync/push/commit.js.map +1 -1
- package/dist/sync/push/index.d.ts.map +1 -1
- package/dist/sync/push/index.js +27 -5
- package/dist/sync/push/index.js.map +1 -1
- package/dist/sync/push/media_stage.d.ts +17 -2
- package/dist/sync/push/media_stage.d.ts.map +1 -1
- package/dist/sync/push/media_stage.js +31 -2
- package/dist/sync/push/media_stage.js.map +1 -1
- package/dist/sync/push/merge_stage.d.ts.map +1 -1
- package/dist/sync/push/merge_stage.js +35 -21
- package/dist/sync/push/merge_stage.js.map +1 -1
- package/dist/sync/push/transport.d.ts +5 -1
- package/dist/sync/push/transport.d.ts.map +1 -1
- package/dist/sync/push/transport.js +4 -4
- package/dist/sync/push/transport.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 +15 -6
- package/dist/sync/status.js.map +1 -1
- package/dist/sync/taxonomies.d.ts.map +1 -1
- package/dist/sync/taxonomies.js +19 -8
- package/dist/sync/taxonomies.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 +1 -0
- package/dist/sync/workspace/index.d.ts.map +1 -1
- package/dist/sync/workspace/index.js +1 -0
- package/dist/sync/workspace/index.js.map +1 -1
- 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 +70 -7
- package/dist/utils/frontmatter.js.map +1 -1
- package/package.json +1 -1
package/dist/sync/pull.js
CHANGED
|
@@ -21,15 +21,15 @@
|
|
|
21
21
|
*/
|
|
22
22
|
import fs from 'node:fs';
|
|
23
23
|
import path from 'node:path';
|
|
24
|
-
import { createBaseSnapshot } from '../db/baseline.js';
|
|
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, unwrapItem, extractRev,
|
|
27
|
+
import { unwrapEnvelope, unwrapItem, extractRev, extractComparisonRev, isSameRev, } from '../client/api.js';
|
|
29
28
|
import { articleContentEndpoint, openApiEndpoint } from '../client/endpoints.js';
|
|
30
|
-
import { extractDatePrefixFromPath, parseMarkdown, serializeMarkdown, lenientRepairMarkdownFrontmatter, } from '../utils/frontmatter.js';
|
|
29
|
+
import { carriesPercentEncodedTaxonomy, extractDatePrefixFromPath, parseMarkdown, serializeMarkdown, lenientRepairMarkdownFrontmatter, } from '../utils/frontmatter.js';
|
|
30
|
+
import { hasUncommittedDraftRevision } from '../utils/draft-revision.js';
|
|
31
31
|
import { localizeArticleMediaRefs, carriesDepthFreeMediaRef, shouldPreferLegacyRef, } from '../utils/media-body-refs.js';
|
|
32
|
-
import { CONFLICTS_SUBDIR, calculateHash, findLocalFilesByUlid, isQuarantinedRelativePath, quarantineLocalCopy, resolveCanonicalArticlePath, } from './workspace/index.js';
|
|
32
|
+
import { CONFLICTS_SUBDIR, calculateHash, commitArticleSnapshot, findLocalFilesByUlid, isQuarantinedRelativePath, quarantineLocalCopy, resolveCanonicalArticlePath, } from './workspace/index.js';
|
|
33
33
|
export { CONFLICTS_SUBDIR, calculateHash, findLocalFilesByUlid, isQuarantinedRelativePath, quarantineLocalCopy, resolveCanonicalArticlePath, carriesDepthFreeMediaRef, shouldPreferLegacyRef, };
|
|
34
34
|
import { loadLocalTaxonomyCandidates } from './taxonomies.js';
|
|
35
35
|
import { syncRemoteBylines } from './bylines.js';
|
|
@@ -324,9 +324,8 @@ export async function pullArticle(collection, id, options) {
|
|
|
324
324
|
const rawObj = (item.rawItem || item);
|
|
325
325
|
const rawRevCandidate = String(item._rev || item.rev || item.version || rawObj._rev || '');
|
|
326
326
|
const remoteRev = extractRev(rawObj, rawRevCandidate);
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
normalizeRev(existingSync.remoteRev) !== normalizeRev(remoteRev)) {
|
|
327
|
+
const remoteComparisonRev = extractComparisonRev(rawObj, remoteRev);
|
|
328
|
+
if (!existingSync || !remoteRev || !isSameRev(existingSync.remoteRev, remoteComparisonRev)) {
|
|
330
329
|
return null;
|
|
331
330
|
}
|
|
332
331
|
const fullExistingPath = path.join(options.workspaceRoot, existingSync.localFilePath);
|
|
@@ -391,7 +390,44 @@ export async function pullArticle(collection, id, options) {
|
|
|
391
390
|
}
|
|
392
391
|
if (currentDiskHash === existingSync.localHash) {
|
|
393
392
|
try {
|
|
394
|
-
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
|
+
}
|
|
395
431
|
return {
|
|
396
432
|
id,
|
|
397
433
|
slug: existingSync.slug,
|
|
@@ -403,27 +439,26 @@ export async function pullArticle(collection, id, options) {
|
|
|
403
439
|
};
|
|
404
440
|
}
|
|
405
441
|
catch {
|
|
406
|
-
//
|
|
407
|
-
//
|
|
408
|
-
// rejects as a directive indicator: such files stay hash-matched forever and would be skipped by
|
|
409
|
-
// every pull, so status reports them invalid while pull does nothing. Heal them in place with the
|
|
410
|
-
// 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.
|
|
411
444
|
const repaired = lenientRepairMarkdownFrontmatter(currentDiskContent);
|
|
412
445
|
if (repaired !== null) {
|
|
413
|
-
fs.writeFileSync(fullExistingPath, repaired, 'utf8');
|
|
414
446
|
const parsedRepaired = parseMarkdown(repaired);
|
|
415
|
-
const
|
|
416
|
-
// Re-track the repaired file against its own repaired hash so it reads as synced. The
|
|
417
|
-
// remote baseline stays untouched: healing only re-quotes frontmatter syntax, never values.
|
|
418
|
-
const healedAt = Math.floor(Date.now() / 1000);
|
|
419
|
-
options.cache.saveSyncState({
|
|
420
|
-
...existingSync,
|
|
421
|
-
localFilePath: existingSync.localFilePath,
|
|
422
|
-
localHash: repairedHash,
|
|
423
|
-
remoteRev,
|
|
447
|
+
const hasDraft = hasUncommittedDraftRevision({
|
|
424
448
|
status: parsedRepaired.frontmatter.status,
|
|
425
|
-
|
|
426
|
-
|
|
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,
|
|
427
462
|
});
|
|
428
463
|
return {
|
|
429
464
|
id,
|
|
@@ -481,37 +516,39 @@ export async function pullArticle(collection, id, options) {
|
|
|
481
516
|
remoteLocal.frontmatter.taxonomies.tags = tagsTerms;
|
|
482
517
|
}
|
|
483
518
|
}
|
|
484
|
-
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 });
|
|
485
524
|
const remoteCanonHash = calculateHash(remoteCanonMarkdown);
|
|
486
525
|
// The repaired file on disk carries the workspace's local-media-ref spelling, so the tracked hash
|
|
487
526
|
// must be the hash of that spelling. The baseline keeps the canonical form untouched.
|
|
488
527
|
const remoteDiskHash = calculateHash(localizeDiskMarkdown(remoteCanonMarkdown, existingSync.localFilePath, true));
|
|
489
528
|
const existingBase = options.cache.getBaseSnapshot(id);
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
id,
|
|
493
|
-
rev: remoteRev,
|
|
494
|
-
bodyMarkdown: remoteLocal.body,
|
|
495
|
-
frontmatter: remoteLocal.frontmatter,
|
|
496
|
-
hash: remoteCanonHash,
|
|
497
|
-
}));
|
|
498
|
-
}
|
|
499
|
-
options.cache.saveSyncState({
|
|
529
|
+
const bumpBaselineHashOnly = Boolean(categoriesTerms === null && tagsTerms === null && existingBase);
|
|
530
|
+
commitArticleSnapshot(options.cache, options.workspaceRoot, {
|
|
500
531
|
id,
|
|
501
|
-
|
|
532
|
+
relPath: existingSync.localFilePath,
|
|
533
|
+
diskContent: repaired,
|
|
502
534
|
localHash: remoteDiskHash,
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
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
|
+
},
|
|
515
552
|
});
|
|
516
553
|
return {
|
|
517
554
|
id,
|
|
@@ -537,8 +574,26 @@ export async function pullArticle(collection, id, options) {
|
|
|
537
574
|
const fastResult = await tryFastPathOrHeal(rawItem);
|
|
538
575
|
if (fastResult)
|
|
539
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
|
+
}
|
|
540
595
|
}
|
|
541
|
-
// 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)
|
|
542
597
|
if (!rawItem) {
|
|
543
598
|
const url = articleContentEndpoint(options.origin, collection, id);
|
|
544
599
|
const res = await fetchFn(url, {
|
|
@@ -659,7 +714,14 @@ export async function pullArticle(collection, id, options) {
|
|
|
659
714
|
// base snapshot records; `markdownContent` is what lands on disk, which may spell mirrored images as local
|
|
660
715
|
// references when `localMediaRefs` is enabled. Keeping the two apart is what lets an editor preview render a
|
|
661
716
|
// mirror while the baseline stays byte-identical to a remote pull.
|
|
662
|
-
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
|
+
});
|
|
663
725
|
const contentHash = calculateHash(canonicalMarkdown);
|
|
664
726
|
// Determine standard relative file path: <collection>/<status>/<yyyyMMdd>_<ulid>-<title>.md
|
|
665
727
|
const existingSync = options.cache.getSyncState(frontmatter.id);
|
|
@@ -706,17 +768,6 @@ export async function pullArticle(collection, id, options) {
|
|
|
706
768
|
}
|
|
707
769
|
}
|
|
708
770
|
}
|
|
709
|
-
// Ensure parent directory exists and write file
|
|
710
|
-
fs.mkdirSync(path.dirname(fullFilePath), { recursive: true });
|
|
711
|
-
fs.writeFileSync(fullFilePath, markdownContent, 'utf8');
|
|
712
|
-
// Update Base snapshot in cache
|
|
713
|
-
options.cache.saveBaseSnapshot(createBaseSnapshot({
|
|
714
|
-
id: frontmatter.id,
|
|
715
|
-
rev,
|
|
716
|
-
bodyMarkdown: body,
|
|
717
|
-
frontmatter,
|
|
718
|
-
hash: contentHash,
|
|
719
|
-
}));
|
|
720
771
|
// Update sync state with explicit conflict pending preservation
|
|
721
772
|
let conflictInfo = {};
|
|
722
773
|
// Take the most recently quarantined divergent copy: `quarantineDivergentLocalCopies` walks
|
|
@@ -790,17 +841,21 @@ export async function pullArticle(collection, id, options) {
|
|
|
790
841
|
conflictAt: null,
|
|
791
842
|
};
|
|
792
843
|
}
|
|
793
|
-
|
|
844
|
+
// Commit canonical Markdown and sync state via commitArticleSnapshot
|
|
845
|
+
commitArticleSnapshot(options.cache, options.workspaceRoot, {
|
|
794
846
|
id: frontmatter.id,
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
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
|
+
},
|
|
804
859
|
});
|
|
805
860
|
// Update entries cache
|
|
806
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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"}
|
|
@@ -51,6 +51,7 @@ export interface CommitPostPushParams {
|
|
|
51
51
|
syncState?: SyncState | null;
|
|
52
52
|
baseSnapshot?: BaseSnapshot | null;
|
|
53
53
|
createdItemCreatedAt?: string | null;
|
|
54
|
+
updatedRawItem?: unknown;
|
|
54
55
|
}
|
|
55
56
|
/**
|
|
56
57
|
* Commits article push results: promotes draft media, serializes local markdown,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../../src/sync/push/commit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../../src/sync/push/commit.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;IACvC,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC,GAAG,kBAAkB,CAiErB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAClD,UAAU,EAAE,kBAAkB,CAAC;IAC/B,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,kBAAkB,EAAE;QAClB,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;QACpC,IAAI,CAAC,EAAE,oBAAoB,EAAE,CAAC;QAC9B,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,EAAE,GAAG,SAAS,CAAC;KACxD,CAAC;IACF,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,OAAO,KAAK,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,CAmPtF"}
|
package/dist/sync/push/commit.js
CHANGED
|
@@ -21,13 +21,15 @@
|
|
|
21
21
|
*/
|
|
22
22
|
import fs from 'node:fs';
|
|
23
23
|
import path from 'node:path';
|
|
24
|
+
import { extractComparisonRev } from '../../client/api.js';
|
|
24
25
|
import { ApiError } from '../../client/error.js';
|
|
25
|
-
import {
|
|
26
|
+
import { readBaselineFrontmatter } from '../../db/baseline.js';
|
|
26
27
|
import { computeArticleRelativePath, extractDatePrefixFromPath, serializeMarkdown, } from '../../utils/frontmatter.js';
|
|
27
28
|
import { carriesDepthFreeMediaRef, localizeArticleMediaRefs } from '../../utils/media-body-refs.js';
|
|
29
|
+
import { hasUncommittedDraftRevision } from '../../utils/draft-revision.js';
|
|
28
30
|
import { updateConfigSyncedVersion } from '../../utils/config.js';
|
|
29
31
|
import { computeTaxonomyHash } from '../terms.js';
|
|
30
|
-
import { calculateHash } from '../workspace/index.js';
|
|
32
|
+
import { calculateHash, commitArticleSnapshot } from '../workspace/index.js';
|
|
31
33
|
import { finalizePromotedDraftImages } from './media_stage.js';
|
|
32
34
|
import { transitionContentStatus } from './transport.js';
|
|
33
35
|
/**
|
|
@@ -108,34 +110,58 @@ export async function commitPostPush(params) {
|
|
|
108
110
|
}
|
|
109
111
|
const newRelPath = computeArticleRelativePath(parsed.frontmatter.collection, parsed.frontmatter.status, actualId, parsed.frontmatter.title || parsed.frontmatter.slug, dateInput);
|
|
110
112
|
const newFullPath = path.join(options.workspaceRoot, newRelPath);
|
|
111
|
-
const serializedCanonical = serializeMarkdown(parsed.frontmatter, parsed.body, candidates);
|
|
112
113
|
// [P6] Promote uploaded draft images from media/drafts/ into media/ and commit media_state.
|
|
113
114
|
finalizePromotedDraftImages(draftImages, uploadedByAbsPath, options, warnings);
|
|
114
|
-
const serializedContent = options.localMediaRefs
|
|
115
|
-
? localizeArticleMediaRefs(serializedCanonical, {
|
|
116
|
-
workspaceRoot: options.workspaceRoot,
|
|
117
|
-
articleRelPath: newRelPath,
|
|
118
|
-
fs,
|
|
119
|
-
preferLegacyRef: carriesDepthFreeMediaRef(rawContent),
|
|
120
|
-
})
|
|
121
|
-
: serializedCanonical;
|
|
122
|
-
const newHash = calculateHash(serializedContent);
|
|
123
115
|
// Transition status to published / draft if requested
|
|
124
116
|
let finalRev = newRev;
|
|
117
|
+
let finalRawItem = params.updatedRawItem;
|
|
125
118
|
if (mode === 'create') {
|
|
126
119
|
if (parsed.frontmatter.status === 'published' && options.allowPublish) {
|
|
127
|
-
|
|
120
|
+
const transitionRes = await transitionContentStatus(collection, actualId, 'published', newRev, parsed.frontmatter.publishedAt, options, fetchFn);
|
|
121
|
+
finalRev = transitionRes.rev;
|
|
122
|
+
finalRawItem = transitionRes.rawJson ?? finalRawItem;
|
|
128
123
|
}
|
|
129
124
|
}
|
|
130
125
|
else {
|
|
131
126
|
const previousStatus = syncState?.status || 'draft';
|
|
127
|
+
const hadRemoteDraft = Boolean(syncState?.remoteRev && syncState.remoteRev.includes('@draft:'));
|
|
132
128
|
if (parsed.frontmatter.status === 'published' && options.allowPublish) {
|
|
133
|
-
|
|
129
|
+
const transitionRes = await transitionContentStatus(collection, actualId, 'published', newRev, parsed.frontmatter.publishedAt, options, fetchFn);
|
|
130
|
+
finalRev = transitionRes.rev;
|
|
131
|
+
finalRawItem = transitionRes.rawJson ?? finalRawItem;
|
|
132
|
+
if (hadRemoteDraft) {
|
|
133
|
+
warnings.push('Published article with uncommitted remote draft was published live to the web (--allow-publish).');
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
else if (parsed.frontmatter.status === 'published' &&
|
|
137
|
+
!options.allowPublish &&
|
|
138
|
+
hadRemoteDraft) {
|
|
139
|
+
warnings.push('Changes were staged as a draft on EmDash (live version unchanged). Use --allow-publish to publish live.');
|
|
134
140
|
}
|
|
135
141
|
else if (parsed.frontmatter.status === 'draft' && previousStatus === 'published') {
|
|
136
|
-
|
|
142
|
+
const transitionRes = await transitionContentStatus(collection, actualId, 'draft', newRev, null, options, fetchFn);
|
|
143
|
+
finalRev = transitionRes.rev;
|
|
144
|
+
finalRawItem = transitionRes.rawJson ?? finalRawItem;
|
|
137
145
|
}
|
|
138
146
|
}
|
|
147
|
+
// Track 2 (Comparison Key): Save composite comparison key in sync_state for reliable fast-path change detection
|
|
148
|
+
const comparisonRev = extractComparisonRev(finalRawItem ?? { version: finalRev, status: parsed.frontmatter.status }, finalRev);
|
|
149
|
+
const hasDraft = hasUncommittedDraftRevision({
|
|
150
|
+
status: parsed.frontmatter.status,
|
|
151
|
+
remoteRev: comparisonRev,
|
|
152
|
+
});
|
|
153
|
+
const serializedCanonical = serializeMarkdown(parsed.frontmatter, parsed.body, candidates, {
|
|
154
|
+
hasDraftRevision: hasDraft,
|
|
155
|
+
});
|
|
156
|
+
const serializedContent = options.localMediaRefs
|
|
157
|
+
? localizeArticleMediaRefs(serializedCanonical, {
|
|
158
|
+
workspaceRoot: options.workspaceRoot,
|
|
159
|
+
articleRelPath: newRelPath,
|
|
160
|
+
fs,
|
|
161
|
+
preferLegacyRef: carriesDepthFreeMediaRef(rawContent),
|
|
162
|
+
})
|
|
163
|
+
: serializedCanonical;
|
|
164
|
+
const newHash = calculateHash(serializedContent);
|
|
139
165
|
// File write & cleanup
|
|
140
166
|
if (mode === 'create') {
|
|
141
167
|
fs.mkdirSync(path.dirname(newFullPath), { recursive: true });
|
|
@@ -167,7 +193,14 @@ export async function commitPostPush(params) {
|
|
|
167
193
|
}
|
|
168
194
|
}
|
|
169
195
|
const baseFm = readBaselineFrontmatter(baseSnapshot);
|
|
170
|
-
// Update Base snapshot
|
|
196
|
+
// Update Base snapshot:
|
|
197
|
+
// Invariant (Layer A & B Separation):
|
|
198
|
+
// - Disk (Layer B): `serializeMarkdown(parsed.frontmatter, parsed.body, candidates)` outputs decoded
|
|
199
|
+
// taxonomy terms (e.g. ` - 未分類`) to workspace markdown files.
|
|
200
|
+
// - Snapshot (Layer A): `savedFrontmatter` stored in `base_snapshots.frontmatter_yaml` strictly retains
|
|
201
|
+
// canonical slugs (e.g. `["%e6%9c%aa%e5%88%86%e9%a1%9e"]`).
|
|
202
|
+
// Because `canonicalizeFrontmatterTaxonomies` already canonicalized `parsed.frontmatter.taxonomies`
|
|
203
|
+
// in-place prior to payload creation and preflight, `parsed.frontmatter.taxonomies` holds canonical slugs.
|
|
171
204
|
const savedFrontmatter = { ...parsed.frontmatter };
|
|
172
205
|
if (mode === 'update' && hasTaxFailures && baseFm?.taxonomies) {
|
|
173
206
|
savedFrontmatter.taxonomies = { ...baseFm.taxonomies };
|
|
@@ -180,28 +213,23 @@ export async function commitPostPush(params) {
|
|
|
180
213
|
: null)
|
|
181
214
|
: null;
|
|
182
215
|
const targetRemoteTaxHash = hasTaxFailures ? fallbackTaxHash : calculatedTaxHash;
|
|
183
|
-
options.cache.saveBaseSnapshot(createBaseSnapshot({
|
|
184
|
-
id: actualId,
|
|
185
|
-
rev: finalRev,
|
|
186
|
-
bodyMarkdown: parsed.body,
|
|
187
|
-
frontmatter: savedFrontmatter,
|
|
188
|
-
hash: newHash,
|
|
189
|
-
}));
|
|
190
216
|
const flags = pendingFlagsFor({
|
|
191
217
|
mode,
|
|
192
218
|
syncState,
|
|
193
219
|
hasTaxFailures,
|
|
194
220
|
remoteTaxonomyHash: targetRemoteTaxHash,
|
|
195
221
|
});
|
|
196
|
-
options.cache.
|
|
222
|
+
commitArticleSnapshot(options.cache, options.workspaceRoot, {
|
|
197
223
|
id: actualId,
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
224
|
+
relPath: newRelPath,
|
|
225
|
+
diskContent: serializedContent,
|
|
226
|
+
canonicalContent: serializedCanonical,
|
|
227
|
+
frontmatter: savedFrontmatter,
|
|
228
|
+
bodyMarkdown: parsed.body,
|
|
229
|
+
revForTransport: finalRev,
|
|
230
|
+
revForComparison: comparisonRev,
|
|
231
|
+
flags,
|
|
232
|
+
skipDiskWrite: true,
|
|
205
233
|
});
|
|
206
234
|
if (mode === 'update') {
|
|
207
235
|
updateConfigSyncedVersion(options.workspaceRoot);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit.js","sourceRoot":"","sources":["../../../src/sync/push/commit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"commit.js","sourceRoot":"","sources":["../../../src/sync/push/commit.ts"],"names":[],"mappings":"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"}
|