@cleocode/core 2026.10.18 → 2026.10.19
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/dist/build-provenance.json +2 -2
- package/dist/check/pr-gate.js +1 -1
- package/dist/check/pr-gate.js.map +1 -1
- package/dist/cloud/nexus-vault.d.ts +4 -3
- package/dist/cloud/nexus-vault.d.ts.map +1 -1
- package/dist/cloud/nexus-vault.js +62 -22
- package/dist/cloud/nexus-vault.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +11 -0
- package/dist/config.js.map +1 -1
- package/dist/docs/conduit-history-backfill.d.ts +210 -0
- package/dist/docs/conduit-history-backfill.d.ts.map +1 -0
- package/dist/docs/conduit-history-backfill.js +451 -0
- package/dist/docs/conduit-history-backfill.js.map +1 -0
- package/dist/docs/docs-ops.d.ts +33 -0
- package/dist/docs/docs-ops.d.ts.map +1 -1
- package/dist/docs/docs-ops.js +72 -0
- package/dist/docs/docs-ops.js.map +1 -1
- package/dist/docs/docs-update.d.ts.map +1 -1
- package/dist/docs/docs-update.js +71 -0
- package/dist/docs/docs-update.js.map +1 -1
- package/dist/docs/doctor.d.ts +18 -4
- package/dist/docs/doctor.d.ts.map +1 -1
- package/dist/docs/doctor.js +124 -3
- package/dist/docs/doctor.js.map +1 -1
- package/dist/docs/section-merge.d.ts +70 -9
- package/dist/docs/section-merge.d.ts.map +1 -1
- package/dist/docs/section-merge.js +167 -10
- package/dist/docs/section-merge.js.map +1 -1
- package/dist/docs/section-write-path.d.ts.map +1 -1
- package/dist/docs/section-write-path.js +23 -8
- package/dist/docs/section-write-path.js.map +1 -1
- package/dist/gateway-client/generated/types.gen.d.ts +4 -0
- package/dist/gateway-client/generated/types.gen.d.ts.map +1 -1
- package/dist/go/driver.d.ts +29 -145
- package/dist/go/driver.d.ts.map +1 -1
- package/dist/go/driver.js +75 -168
- package/dist/go/driver.js.map +1 -1
- package/dist/go/index.d.ts +1 -1
- package/dist/go/index.d.ts.map +1 -1
- package/dist/go/index.js +1 -1
- package/dist/go/index.js.map +1 -1
- package/dist/goal/close.d.ts +1 -1
- package/dist/goal/close.js +2 -2
- package/dist/goal/close.js.map +1 -1
- package/dist/goal/draft.d.ts +10 -3
- package/dist/goal/draft.d.ts.map +1 -1
- package/dist/goal/draft.js +14 -9
- package/dist/goal/draft.js.map +1 -1
- package/dist/goal/index.d.ts +9 -12
- package/dist/goal/index.d.ts.map +1 -1
- package/dist/goal/index.js +9 -12
- package/dist/goal/index.js.map +1 -1
- package/dist/goal/runtime.d.ts +126 -0
- package/dist/goal/runtime.d.ts.map +1 -0
- package/dist/goal/runtime.js +289 -0
- package/dist/goal/runtime.js.map +1 -0
- package/dist/goal/status.d.ts +39 -0
- package/dist/goal/status.d.ts.map +1 -0
- package/dist/goal/status.js +101 -0
- package/dist/goal/status.js.map +1 -0
- package/dist/hooks/project-runner.d.ts +8 -3
- package/dist/hooks/project-runner.d.ts.map +1 -1
- package/dist/hooks/project-runner.js +104 -14
- package/dist/hooks/project-runner.js.map +1 -1
- package/dist/hooks/project-state.js +1 -1
- package/dist/hooks/project-state.js.map +1 -1
- package/dist/internal.d.ts +7 -3
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +5 -3
- package/dist/internal.js.map +1 -1
- package/dist/lifecycle/engine-ops.d.ts.map +1 -1
- package/dist/lifecycle/engine-ops.js +9 -6
- package/dist/lifecycle/engine-ops.js.map +1 -1
- package/dist/memory/retrieval/observe.d.ts.map +1 -1
- package/dist/memory/retrieval/observe.js +4 -8
- package/dist/memory/retrieval/observe.js.map +1 -1
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +4 -1
- package/dist/paths.js.map +1 -1
- package/dist/playbooks/cantbook-profile.d.ts +3 -3
- package/dist/playbooks/cantbook-profile.js +3 -3
- package/dist/playbooks/pi-runner-wiring.d.ts +3 -3
- package/dist/playbooks/pi-runner-wiring.js +3 -3
- package/dist/release/ci-evidence.d.ts +28 -0
- package/dist/release/ci-evidence.d.ts.map +1 -1
- package/dist/release/ci-evidence.js +76 -20
- package/dist/release/ci-evidence.js.map +1 -1
- package/dist/release/open.d.ts +11 -0
- package/dist/release/open.d.ts.map +1 -1
- package/dist/release/open.js +49 -10
- package/dist/release/open.js.map +1 -1
- package/dist/release/preflight-skip.d.ts +50 -0
- package/dist/release/preflight-skip.d.ts.map +1 -1
- package/dist/release/preflight-skip.js +151 -34
- package/dist/release/preflight-skip.js.map +1 -1
- package/dist/release/reconcile.d.ts.map +1 -1
- package/dist/release/reconcile.js +6 -3
- package/dist/release/reconcile.js.map +1 -1
- package/dist/scaffold/ensure-config.d.ts +1 -1
- package/dist/scaffold/ensure-config.d.ts.map +1 -1
- package/dist/scaffold/ensure-config.js +2 -0
- package/dist/scaffold/ensure-config.js.map +1 -1
- package/dist/security/index.d.ts +1 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +1 -1
- package/dist/security/index.js.map +1 -1
- package/dist/security/override-cap-setting.d.ts +180 -0
- package/dist/security/override-cap-setting.d.ts.map +1 -0
- package/dist/security/override-cap-setting.js +657 -0
- package/dist/security/override-cap-setting.js.map +1 -0
- package/dist/security/override-cap.d.ts +20 -29
- package/dist/security/override-cap.d.ts.map +1 -1
- package/dist/security/override-cap.js +47 -71
- package/dist/security/override-cap.js.map +1 -1
- package/dist/security/owner-override-auth.d.ts +58 -0
- package/dist/security/owner-override-auth.d.ts.map +1 -1
- package/dist/security/owner-override-auth.js +82 -1
- package/dist/security/owner-override-auth.js.map +1 -1
- package/dist/security/owner-override-authority.d.ts +67 -0
- package/dist/security/owner-override-authority.d.ts.map +1 -0
- package/dist/security/owner-override-authority.js +100 -0
- package/dist/security/owner-override-authority.js.map +1 -0
- package/dist/sessions/handoff.d.ts.map +1 -1
- package/dist/sessions/handoff.js +4 -5
- package/dist/sessions/handoff.js.map +1 -1
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +22 -25
- package/dist/sessions/index.js.map +1 -1
- package/dist/store/conduit-doc-history.d.ts +39 -7
- package/dist/store/conduit-doc-history.d.ts.map +1 -1
- package/dist/store/conduit-doc-history.js +62 -12
- package/dist/store/conduit-doc-history.js.map +1 -1
- package/dist/store/data-safety-central.d.ts.map +1 -1
- package/dist/store/data-safety-central.js +3 -2
- package/dist/store/data-safety-central.js.map +1 -1
- package/dist/store/json.d.ts.map +1 -1
- package/dist/store/json.js +7 -7
- package/dist/store/json.js.map +1 -1
- package/dist/store/portable-bundle-scan.d.ts +23 -1
- package/dist/store/portable-bundle-scan.d.ts.map +1 -1
- package/dist/store/portable-bundle-scan.js +85 -3
- package/dist/store/portable-bundle-scan.js.map +1 -1
- package/dist/store/portable-bundle.d.ts.map +1 -1
- package/dist/store/portable-bundle.js +6 -1
- package/dist/store/portable-bundle.js.map +1 -1
- package/dist/store/row-identity-registry.d.ts +5 -3
- package/dist/store/row-identity-registry.d.ts.map +1 -1
- package/dist/store/row-identity-registry.js +54 -38
- package/dist/store/row-identity-registry.js.map +1 -1
- package/dist/store/schema/cleo-project/conduit.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/conduit.js +4 -3
- package/dist/store/schema/cleo-project/conduit.js.map +1 -1
- package/dist/store/schema/cleo-project/runtime.d.ts +32 -0
- package/dist/store/schema/cleo-project/runtime.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/runtime.js +7 -3
- package/dist/store/schema/cleo-project/runtime.js.map +1 -1
- package/dist/store/session-store.d.ts +45 -0
- package/dist/store/session-store.d.ts.map +1 -1
- package/dist/store/session-store.js +96 -1
- package/dist/store/session-store.js.map +1 -1
- package/dist/store/sqlite.d.ts +2 -0
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +12 -0
- package/dist/store/sqlite.js.map +1 -1
- package/dist/store/sync/merge/rules.d.ts.map +1 -1
- package/dist/store/sync/merge/rules.js +0 -16
- package/dist/store/sync/merge/rules.js.map +1 -1
- package/dist/store/sync/sealer.d.ts.map +1 -1
- package/dist/store/sync/sealer.js +27 -1
- package/dist/store/sync/sealer.js.map +1 -1
- package/dist/store/sync/sequencing.d.ts +3 -1
- package/dist/store/sync/sequencing.d.ts.map +1 -1
- package/dist/store/sync/sequencing.js +5 -3
- package/dist/store/sync/sequencing.js.map +1 -1
- package/dist/store/sync/timestamp-canon.d.ts.map +1 -1
- package/dist/store/sync/timestamp-canon.js +4 -0
- package/dist/store/sync/timestamp-canon.js.map +1 -1
- package/dist/store/table-classification.d.ts.map +1 -1
- package/dist/store/table-classification.js +12 -8
- package/dist/store/table-classification.js.map +1 -1
- package/dist/store/twin-collapse.d.ts +21 -0
- package/dist/store/twin-collapse.d.ts.map +1 -1
- package/dist/store/twin-collapse.js +235 -18
- package/dist/store/twin-collapse.js.map +1 -1
- package/dist/system/health.d.ts +17 -0
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +96 -0
- package/dist/system/health.js.map +1 -1
- package/dist/tasks/affected-packages.d.ts +67 -2
- package/dist/tasks/affected-packages.d.ts.map +1 -1
- package/dist/tasks/affected-packages.js +149 -21
- package/dist/tasks/affected-packages.js.map +1 -1
- package/dist/tasks/affected-scope.d.ts.map +1 -1
- package/dist/tasks/affected-scope.js +91 -5
- package/dist/tasks/affected-scope.js.map +1 -1
- package/dist/tasks/changeset-plan.d.ts +33 -0
- package/dist/tasks/changeset-plan.d.ts.map +1 -0
- package/dist/tasks/changeset-plan.js +152 -0
- package/dist/tasks/changeset-plan.js.map +1 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +9 -1
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/done-plan.d.ts.map +1 -1
- package/dist/tasks/done-plan.js +28 -14
- package/dist/tasks/done-plan.js.map +1 -1
- package/dist/tasks/done-record.d.ts.map +1 -1
- package/dist/tasks/done-record.js +5 -1
- package/dist/tasks/done-record.js.map +1 -1
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +149 -18
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +76 -4
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/qa-run-binding.d.ts +18 -0
- package/dist/tasks/qa-run-binding.d.ts.map +1 -1
- package/dist/tasks/qa-run-binding.js +41 -1
- package/dist/tasks/qa-run-binding.js.map +1 -1
- package/dist/tasks/test-run-binding.d.ts +62 -0
- package/dist/tasks/test-run-binding.d.ts.map +1 -1
- package/dist/tasks/test-run-binding.js +126 -21
- package/dist/tasks/test-run-binding.js.map +1 -1
- package/dist/tasks/tool-resolver.d.ts +7 -0
- package/dist/tasks/tool-resolver.d.ts.map +1 -1
- package/dist/tasks/tool-resolver.js +3 -1
- package/dist/tasks/tool-resolver.js.map +1 -1
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +24 -29
- package/dist/validation/engine-ops.js.map +1 -1
- package/migrations/drizzle-cleo-project/20261016120000_t12535-playbook-row-uids/migration.sql +24 -0
- package/package.json +13 -13
- package/schemas/project-context.schema.json +5 -0
- package/templates/CLEO-INJECTION.md +1 -1
- package/templates/CLEO-REFERENCE.md +42 -1
- package/templates/cleo-gitignore +3 -0
- package/templates/git-hooks/legacy-hashes.json +1 -0
- package/templates/git-hooks/pre-push +35 -7
- package/templates/workflows/release-prepare.yml.tmpl +82 -4
- package/dist/goal/advance-with-persist.d.ts +0 -80
- package/dist/goal/advance-with-persist.d.ts.map +0 -1
- package/dist/goal/advance-with-persist.js +0 -105
- package/dist/goal/advance-with-persist.js.map +0 -1
- package/dist/goal/arm.d.ts +0 -61
- package/dist/goal/arm.d.ts.map +0 -1
- package/dist/goal/arm.js +0 -65
- package/dist/goal/arm.js.map +0 -1
- package/dist/goal/continuation.d.ts +0 -66
- package/dist/goal/continuation.d.ts.map +0 -1
- package/dist/goal/continuation.js +0 -111
- package/dist/goal/continuation.js.map +0 -1
- package/dist/goal/judge.d.ts +0 -113
- package/dist/goal/judge.d.ts.map +0 -1
- package/dist/goal/judge.js +0 -193
- package/dist/goal/judge.js.map +0 -1
- package/dist/goal/loop.d.ts +0 -75
- package/dist/goal/loop.d.ts.map +0 -1
- package/dist/goal/loop.js +0 -132
- package/dist/goal/loop.js.map +0 -1
package/dist/docs/doctor.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* `cleo docs doctor` — store health diagnostics + safe repairs — T13447.
|
|
3
3
|
*
|
|
4
4
|
* Audits the CleoDocs store (`cleo.db` `attachments`/`docs_wikilinks` tables
|
|
5
|
-
* plus the on-disk legacy surfaces) for
|
|
5
|
+
* plus the on-disk legacy surfaces) for eight known drift classes and, when
|
|
6
6
|
* invoked with `apply: true`, performs the repairs that are safe to run
|
|
7
7
|
* in-place:
|
|
8
8
|
*
|
|
@@ -49,6 +49,20 @@
|
|
|
49
49
|
* `--repair` (backfill only).
|
|
50
50
|
* - `stale-drafts` — slugged docs still `draft` after
|
|
51
51
|
* `--older-than-days` (default 30).
|
|
52
|
+
* - `conduit-history-gaps`— adopted docs whose `conduit_attachment_versions`
|
|
53
|
+
* row set is incomplete: updates written before
|
|
54
|
+
* the conduit adoption recorded no conduit rows,
|
|
55
|
+
* so a doc at docVersion N can hold fewer rows.
|
|
56
|
+
* Repair (`backfill-conduit-versions`, T13727)
|
|
57
|
+
* reconstructs the missing rows from the honest
|
|
58
|
+
* pre-adoption sources (the docs-versioning
|
|
59
|
+
* audit log + the surviving registry/blob bytes)
|
|
60
|
+
* and inserts them through the canonical
|
|
61
|
+
* accessor. Runs under `--apply`; `--repair`
|
|
62
|
+
* stays the T13653 blob-backfill-only mode. A
|
|
63
|
+
* doc whose remaining positions are
|
|
64
|
+
* unrecoverable stays listed at `info` level —
|
|
65
|
+
* visibility only, no invented repair (T13843).
|
|
52
66
|
*
|
|
53
67
|
* SAFETY: `apply: true` (or `repair: true`) REFUSES to run without a backup receipt
|
|
54
68
|
* ({@link DocsDoctorOptions.backupReceiptPath}) whose mtime is at most
|
|
@@ -77,6 +91,7 @@ import { backfillBlobStoreBytes, blobContentExists, resolveLegacyByteSource, } f
|
|
|
77
91
|
import { docsWikilinks } from '../store/schema/attachments.js';
|
|
78
92
|
import { getDb } from '../store/sqlite.js';
|
|
79
93
|
import { docsAttachments } from '../store/tasks-schema.js';
|
|
94
|
+
import { applyConduitHistoryBackfill, planConduitHistoryBackfill, } from './conduit-history-backfill.js';
|
|
80
95
|
import { deriveDocLinks, isScannableTextMime, linksJsonOrNull, } from './derive-links.js';
|
|
81
96
|
import { DOCS_VERSIONING_AUDIT_FILE } from './docs-update.js';
|
|
82
97
|
import { deriveWikilinkEdges, rebuildDocsWikilinks } from './wikilinks.js';
|
|
@@ -519,6 +534,31 @@ async function scanStore(projectRoot, db, olderThanDays) {
|
|
|
519
534
|
const staleItems = staleRows
|
|
520
535
|
.slice(0, DOCS_DOCTOR_MAX_DETAIL_ITEMS)
|
|
521
536
|
.map((r) => ({ attachmentId: r.id, slug: r.slug, createdAt: r.createdAt }));
|
|
537
|
+
// ── conduit-history-gaps (T13727) ──────────────────────────────────────────
|
|
538
|
+
// Adopted docs whose conduit version row set trails the pre-adoption chain
|
|
539
|
+
// reconstructable from the docs-versioning audit log. Pure planning — the
|
|
540
|
+
// planner reads the audit file, the registry and (hash-verified) bytes,
|
|
541
|
+
// and writes nothing.
|
|
542
|
+
const conduitBackfill = await planConduitHistoryBackfill(projectRoot);
|
|
543
|
+
// Actionable = anything a doctor run should surface: rows to backfill,
|
|
544
|
+
// unrecoverable gaps (real, unhealed drift — reported even when the doc
|
|
545
|
+
// is otherwise complete), or a refused conflict (review-2253). Severity:
|
|
546
|
+
// `warn` only while a doc still NEEDS action (a backfill or a conflict);
|
|
547
|
+
// a run whose only surfaceable docs are complete-but-gapped is
|
|
548
|
+
// visibility-only and reports at `info` (T13843).
|
|
549
|
+
const conduitActionable = conduitBackfill.filter((p) => !p.complete || p.gaps.length > 0 || p.conflict);
|
|
550
|
+
const conduitNeedsAction = conduitActionable.some((p) => p.conflict || !p.complete);
|
|
551
|
+
const conduitItems = conduitActionable.slice(0, DOCS_DOCTOR_MAX_DETAIL_ITEMS).map((p) => ({
|
|
552
|
+
slug: p.slug,
|
|
553
|
+
expectedVersions: p.expectedVersions,
|
|
554
|
+
existingVersions: p.existingVersions,
|
|
555
|
+
toBackfill: p.toBackfill.length,
|
|
556
|
+
gaps: p.gaps.length,
|
|
557
|
+
/** Missing content addresses — what a future repair could still recover. */
|
|
558
|
+
gapHashes: p.gaps.map((g) => g.sha256),
|
|
559
|
+
conflict: p.conflict,
|
|
560
|
+
auditGapVersions: p.auditGapVersions,
|
|
561
|
+
}));
|
|
522
562
|
const diagnostics = [
|
|
523
563
|
{
|
|
524
564
|
kind: 'dangling-pointers',
|
|
@@ -569,6 +609,13 @@ async function scanStore(projectRoot, db, olderThanDays) {
|
|
|
569
609
|
items: staleItems,
|
|
570
610
|
truncated: staleRows.length > staleItems.length,
|
|
571
611
|
},
|
|
612
|
+
{
|
|
613
|
+
kind: 'conduit-history-gaps',
|
|
614
|
+
severity: conduitNeedsAction ? 'warn' : 'info',
|
|
615
|
+
count: conduitActionable.length,
|
|
616
|
+
items: conduitItems,
|
|
617
|
+
truncated: conduitActionable.length > conduitItems.length,
|
|
618
|
+
},
|
|
572
619
|
];
|
|
573
620
|
return {
|
|
574
621
|
diagnostics,
|
|
@@ -578,6 +625,7 @@ async function scanStore(projectRoot, db, olderThanDays) {
|
|
|
578
625
|
blobBackfillable,
|
|
579
626
|
missingEdges,
|
|
580
627
|
needsWikilinksRebuild: missingEdges.length > 0 || backfillChangesLinks,
|
|
628
|
+
conduitBackfill,
|
|
581
629
|
};
|
|
582
630
|
}
|
|
583
631
|
/**
|
|
@@ -685,6 +733,48 @@ export async function runDocsDoctor(projectRoot, opts = {}) {
|
|
|
685
733
|
: 'provenance backfill changes derived edges → full re-derivation',
|
|
686
734
|
});
|
|
687
735
|
}
|
|
736
|
+
// T13727 — conduit-history backfill: planned like every other repair in
|
|
737
|
+
// dry-run/apply mode; executed only under --apply (the --repair mode
|
|
738
|
+
// stays the T13653 blob-backfill-only fast path). A complete doc with
|
|
739
|
+
// unrecoverable gaps still gets an entry so the gap stays explained.
|
|
740
|
+
for (const plan of pre.conduitBackfill) {
|
|
741
|
+
if (plan.complete && plan.gaps.length === 0)
|
|
742
|
+
continue;
|
|
743
|
+
if (plan.conflict) {
|
|
744
|
+
repairs.push({
|
|
745
|
+
kind: 'conduit-history-gaps',
|
|
746
|
+
action: 'backfill-conduit-versions',
|
|
747
|
+
applied: false,
|
|
748
|
+
slug: plan.slug,
|
|
749
|
+
detail: `REFUSED — existing conduit rows contradict the audit-derived chain for '${plan.slug}' ` +
|
|
750
|
+
'(content-hash mismatch); left untouched for manual review',
|
|
751
|
+
});
|
|
752
|
+
continue;
|
|
753
|
+
}
|
|
754
|
+
const gapNote = plan.gaps.length > 0
|
|
755
|
+
? `, ${plan.gaps.length} gap(s) unrecoverable (sha256 ${plan.gaps
|
|
756
|
+
.slice(0, 3)
|
|
757
|
+
.map((g) => g.sha256.slice(0, 12))
|
|
758
|
+
.join('…, ')}…)` + (plan.gaps.length > 3 ? ` +${plan.gaps.length - 3} more` : '')
|
|
759
|
+
: '';
|
|
760
|
+
const auditNote = plan.auditGapVersions > 0
|
|
761
|
+
? `, ${plan.auditGapVersions} version(s) the audit log cannot account for`
|
|
762
|
+
: '';
|
|
763
|
+
const backfillNote = plan.toBackfill.length > 0
|
|
764
|
+
? `backfill ${plan.toBackfill.length} pre-adoption version(s)`
|
|
765
|
+
: 'nothing to backfill (every recoverable position present)';
|
|
766
|
+
repairs.push({
|
|
767
|
+
kind: 'conduit-history-gaps',
|
|
768
|
+
action: 'backfill-conduit-versions',
|
|
769
|
+
applied: apply && plan.toBackfill.length > 0,
|
|
770
|
+
slug: plan.slug,
|
|
771
|
+
detail: apply
|
|
772
|
+
? `${backfillNote} for '${plan.slug}' ` +
|
|
773
|
+
`(chain ${plan.expectedVersions}, present ${plan.presentVersions}${gapNote}${auditNote})`
|
|
774
|
+
: `plan: ${backfillNote} for '${plan.slug}' ` +
|
|
775
|
+
`(chain ${plan.expectedVersions}, present ${plan.presentVersions}${gapNote}${auditNote})`,
|
|
776
|
+
});
|
|
777
|
+
}
|
|
688
778
|
}
|
|
689
779
|
for (const candidate of pre.blobBackfillable) {
|
|
690
780
|
repairs.push({
|
|
@@ -728,6 +818,27 @@ export async function runDocsDoctor(projectRoot, opts = {}) {
|
|
|
728
818
|
}
|
|
729
819
|
}
|
|
730
820
|
if (apply) {
|
|
821
|
+
// T13727 — execute the conduit-history backfill AFTER the blob-byte
|
|
822
|
+
// backfill above so the bytes the new rows address are mirrored first;
|
|
823
|
+
// annotate each repair entry with its executed outcome (zip by slug).
|
|
824
|
+
const conduitBySlug = new Map();
|
|
825
|
+
for (const plan of pre.conduitBackfill) {
|
|
826
|
+
if (plan.toBackfill.length === 0 || plan.conflict)
|
|
827
|
+
continue;
|
|
828
|
+
const result = await applyConduitHistoryBackfill(projectRoot, plan);
|
|
829
|
+
conduitBySlug.set(plan.slug, { inserted: result.inserted, gaps: result.gaps });
|
|
830
|
+
}
|
|
831
|
+
for (const [index, repair] of repairs.entries()) {
|
|
832
|
+
if (repair.kind !== 'conduit-history-gaps' || repair.slug === undefined)
|
|
833
|
+
continue;
|
|
834
|
+
const outcome = conduitBySlug.get(repair.slug);
|
|
835
|
+
if (outcome === undefined)
|
|
836
|
+
continue;
|
|
837
|
+
repairs[index] = {
|
|
838
|
+
...repair,
|
|
839
|
+
detail: `${repair.detail} → executed: ${outcome.inserted} row(s) inserted, ${outcome.gaps} gap(s)`,
|
|
840
|
+
};
|
|
841
|
+
}
|
|
731
842
|
for (const { row, expected } of pre.skewed) {
|
|
732
843
|
await db
|
|
733
844
|
.update(docsAttachments)
|
|
@@ -773,12 +884,22 @@ export async function runDocsDoctor(projectRoot, opts = {}) {
|
|
|
773
884
|
// a follow-up dry run. Dry runs keep the pre-repair scan.
|
|
774
885
|
const post = mutate ? await scanStore(projectRoot, db, olderThanDays) : pre;
|
|
775
886
|
const findings = post.diagnostics.reduce((sum, d) => sum + d.count, 0);
|
|
887
|
+
// T13727 — surface the conduit backfill counts in the one-line summary so
|
|
888
|
+
// operators see backfilled/skipped/gap per run without reading the report.
|
|
889
|
+
const conduitActionable = pre.conduitBackfill.filter((p) => !p.complete || p.gaps.length > 0 || p.conflict);
|
|
890
|
+
const conduitGapTotal = conduitActionable.reduce((s, p) => s + p.gaps.length, 0);
|
|
891
|
+
const conduitConflictTotal = conduitActionable.filter((p) => p.conflict).length;
|
|
892
|
+
const conduitBackfillNote = repair || conduitActionable.length === 0
|
|
893
|
+
? ''
|
|
894
|
+
: apply
|
|
895
|
+
? `; conduit history: ${conduitActionable.reduce((s, p) => s + p.toBackfill.length, 0)} version(s) backfilled across ${conduitActionable.length} doc(s) (${conduitGapTotal} gap(s) unrecoverable, ${conduitConflictTotal} conflict(s))`
|
|
896
|
+
: `; conduit history: ${conduitActionable.length} doc(s) need attention (${conduitActionable.reduce((s, p) => s + p.toBackfill.length, 0)} version(s) to backfill, ${conduitGapTotal} gap(s) unrecoverable, ${conduitConflictTotal} conflict(s))`;
|
|
776
897
|
const summary = repair
|
|
777
898
|
? `docs doctor repaired ${repairs.filter((r) => r.applied).length} blob backfill(s); ` +
|
|
778
899
|
`${post.diagnostics.find((d) => d.kind === 'legacy-blob-coverage')?.count ?? 0} sha(s) still missing post-repair`
|
|
779
900
|
: apply
|
|
780
|
-
? `docs doctor applied ${repairs.filter((r) => r.applied).length} repair(s); ${findings} finding(s) remain post-repair`
|
|
781
|
-
: `docs doctor found ${findings} finding(s); ${repairs.length} repair(s) planned (dry-run — pass --apply to execute)`;
|
|
901
|
+
? `docs doctor applied ${repairs.filter((r) => r.applied).length} repair(s); ${findings} finding(s) remain post-repair${conduitBackfillNote}`
|
|
902
|
+
: `docs doctor found ${findings} finding(s); ${repairs.length} repair(s) planned (dry-run — pass --apply to execute)${conduitBackfillNote}`;
|
|
782
903
|
return {
|
|
783
904
|
ok: true,
|
|
784
905
|
report: {
|
package/dist/docs/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/docs/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/docs/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,17 +23,22 @@
|
|
|
23
23
|
* @epic T13340
|
|
24
24
|
* @saga T13339
|
|
25
25
|
*/
|
|
26
|
+
/** The preamble section's id (the H1 + text before the first `## `). */
|
|
27
|
+
export declare const PREAMBLE_SECTION_ID = "s0";
|
|
26
28
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
29
|
+
* Heading-anchored section ids for a split document (T13584).
|
|
30
|
+
*
|
|
31
|
+
* The preamble is {@link PREAMBLE_SECTION_ID}; each `## ` section is
|
|
32
|
+
* `h-<slug of its heading>`, with `~2`, `~3`, … on repeated headings. Ids are
|
|
33
|
+
* a pure function of the text, so every device derives the same id with no
|
|
34
|
+
* coordination, and inserting or removing a section leaves every other
|
|
35
|
+
* section's id — and so its CRDT state and per-section approvals — in place.
|
|
36
|
+
* Renaming a heading gives the section a new identity, by design.
|
|
37
|
+
*
|
|
38
|
+
* @param sections - Sections from {@link splitDocIntoSections}.
|
|
39
|
+
* @returns One id per section, in document order.
|
|
35
40
|
*/
|
|
36
|
-
export declare function
|
|
41
|
+
export declare function sectionIds(sections: readonly string[]): string[];
|
|
37
42
|
/**
|
|
38
43
|
* Split a markdown document into sections deterministically: the H1 +
|
|
39
44
|
* preamble (everything before the first `## ` heading) is section 0; each
|
|
@@ -156,4 +161,60 @@ export declare function applySectionTextEdit(stored: Buffer | null, nextText: st
|
|
|
156
161
|
changed: boolean;
|
|
157
162
|
conflicted: boolean;
|
|
158
163
|
};
|
|
164
|
+
/** One step of a {@link planSectionMerge} plan, in output order. */
|
|
165
|
+
export type SectionMergeStep =
|
|
166
|
+
/** Apply `text` onto section `id`'s stored state via {@link applySectionTextEdit}. */
|
|
167
|
+
{
|
|
168
|
+
readonly kind: 'apply';
|
|
169
|
+
readonly id: string;
|
|
170
|
+
readonly text: string;
|
|
171
|
+
/** The section's text in the version the edit was authored against. */
|
|
172
|
+
readonly referenceText: string | null;
|
|
173
|
+
/** The section's landed head text (seeds a missing local state). */
|
|
174
|
+
readonly headText: string | null;
|
|
175
|
+
}
|
|
176
|
+
/** Keep the landed head section verbatim (the incoming edit left it alone). */
|
|
177
|
+
| {
|
|
178
|
+
readonly kind: 'keep';
|
|
179
|
+
readonly id: string;
|
|
180
|
+
readonly text: string;
|
|
181
|
+
};
|
|
182
|
+
/** Output of {@link planSectionMerge}. */
|
|
183
|
+
export interface SectionMergePlan {
|
|
184
|
+
/** Steps in merged-document order. */
|
|
185
|
+
readonly steps: readonly SectionMergeStep[];
|
|
186
|
+
/** Section ids (or a duplicate-heading family id) the incoming edit could not land. */
|
|
187
|
+
readonly conflicts: readonly string[];
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Plan a three-way, section-level merge of an incoming document against the
|
|
191
|
+
* version it was authored from (`reference`) and the landed head (`head`)
|
|
192
|
+
* (T13584, T13835, T13836).
|
|
193
|
+
*
|
|
194
|
+
* The incoming list alone cannot say what a concurrent writer did, so:
|
|
195
|
+
*
|
|
196
|
+
* - a head section the reference lacks (a concurrent insert) is kept at its
|
|
197
|
+
* head position, never dropped;
|
|
198
|
+
* - a reference section the head lacks was deleted or renamed concurrently:
|
|
199
|
+
* an untouched incoming copy is dropped; an incoming APPEND lands on the
|
|
200
|
+
* renamed section when exactly one new head section has the same body;
|
|
201
|
+
* anything else is a conflict and the head stands;
|
|
202
|
+
* - a section the incoming edit deleted is dropped only if the head still
|
|
203
|
+
* holds the reference text; a concurrently edited one is kept as a
|
|
204
|
+
* conflict;
|
|
205
|
+
* - when the head and the reference disagree on how many sections share a
|
|
206
|
+
* heading, the `~N` occurrence ids no longer name the same sections, so
|
|
207
|
+
* the head's sections of that heading are kept and an incoming change to
|
|
208
|
+
* them is a conflict on the family id.
|
|
209
|
+
*
|
|
210
|
+
* With `reference` equal to `head` (a single writer) every rule above is
|
|
211
|
+
* inert and the plan applies the incoming sections in order.
|
|
212
|
+
*
|
|
213
|
+
* @param reference - Sections of the version the edit was authored against,
|
|
214
|
+
* or `null` when unknown.
|
|
215
|
+
* @param head - Sections of the landed head, or `null` when unknown.
|
|
216
|
+
* @param incoming - Sections of the incoming document.
|
|
217
|
+
* @returns The ordered steps and the conflicted ids.
|
|
218
|
+
*/
|
|
219
|
+
export declare function planSectionMerge(reference: readonly string[] | null, head: readonly string[] | null, incoming: readonly string[]): SectionMergePlan;
|
|
159
220
|
//# sourceMappingURL=section-merge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"section-merge.d.ts","sourceRoot":"","sources":["../../src/docs/section-merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AASH
|
|
1
|
+
{"version":3,"file":"section-merge.d.ts","sourceRoot":"","sources":["../../src/docs/section-merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AASH,wEAAwE;AACxE,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAchE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAa/D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAMpF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CA8B7D;AAED,oEAAoE;AACpE,MAAM,MAAM,gBAAgB;AAC1B,sFAAsF;AACpF;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AACH,+EAA+E;GAC7E;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E,0CAA0C;AAC1C,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC5C,uFAAuF;IACvF,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAaD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,EACnC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,EAC9B,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,gBAAgB,CAoGlB"}
|
|
@@ -24,18 +24,36 @@
|
|
|
24
24
|
* @saga T13339
|
|
25
25
|
*/
|
|
26
26
|
import { crdt_apply_update, crdt_get_text, crdt_make_incremental_update, crdt_make_state, } from 'llmtxt/crdt-primitives';
|
|
27
|
+
/** The preamble section's id (the H1 + text before the first `## `). */
|
|
28
|
+
export const PREAMBLE_SECTION_ID = 's0';
|
|
27
29
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
30
|
+
* Heading-anchored section ids for a split document (T13584).
|
|
31
|
+
*
|
|
32
|
+
* The preamble is {@link PREAMBLE_SECTION_ID}; each `## ` section is
|
|
33
|
+
* `h-<slug of its heading>`, with `~2`, `~3`, … on repeated headings. Ids are
|
|
34
|
+
* a pure function of the text, so every device derives the same id with no
|
|
35
|
+
* coordination, and inserting or removing a section leaves every other
|
|
36
|
+
* section's id — and so its CRDT state and per-section approvals — in place.
|
|
37
|
+
* Renaming a heading gives the section a new identity, by design.
|
|
38
|
+
*
|
|
39
|
+
* @param sections - Sections from {@link splitDocIntoSections}.
|
|
40
|
+
* @returns One id per section, in document order.
|
|
36
41
|
*/
|
|
37
|
-
export function
|
|
38
|
-
|
|
42
|
+
export function sectionIds(sections) {
|
|
43
|
+
const seen = new Map();
|
|
44
|
+
return sections.map((text) => {
|
|
45
|
+
if (!text.startsWith('## '))
|
|
46
|
+
return PREAMBLE_SECTION_ID;
|
|
47
|
+
const heading = (text.split('\n', 1)[0] ?? '').slice(3);
|
|
48
|
+
const slug = heading
|
|
49
|
+
.toLowerCase()
|
|
50
|
+
.replace(/[^\p{L}\p{N}]+/gu, '-')
|
|
51
|
+
.replace(/^-+|-+$/g, '');
|
|
52
|
+
const base = `h-${slug}`;
|
|
53
|
+
const n = (seen.get(base) ?? 0) + 1;
|
|
54
|
+
seen.set(base, n);
|
|
55
|
+
return n === 1 ? base : `${base}~${n}`;
|
|
56
|
+
});
|
|
39
57
|
}
|
|
40
58
|
/**
|
|
41
59
|
* Split a markdown document into sections deterministically: the H1 +
|
|
@@ -212,4 +230,143 @@ export function applySectionTextEdit(stored, nextText, baseText) {
|
|
|
212
230
|
// the incoming edit as its own version row (T13595).
|
|
213
231
|
return { snapshot: stored, changed: false, conflicted: true };
|
|
214
232
|
}
|
|
233
|
+
/** First line removed: what a heading rename leaves unchanged. */
|
|
234
|
+
function sectionBody(text) {
|
|
235
|
+
const nl = text.indexOf('\n');
|
|
236
|
+
return nl < 0 ? '' : text.slice(nl);
|
|
237
|
+
}
|
|
238
|
+
/** The `~N`-free id shared by every section with the same heading. */
|
|
239
|
+
function headingFamily(id) {
|
|
240
|
+
return id.replace(/~\d+$/, '');
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Plan a three-way, section-level merge of an incoming document against the
|
|
244
|
+
* version it was authored from (`reference`) and the landed head (`head`)
|
|
245
|
+
* (T13584, T13835, T13836).
|
|
246
|
+
*
|
|
247
|
+
* The incoming list alone cannot say what a concurrent writer did, so:
|
|
248
|
+
*
|
|
249
|
+
* - a head section the reference lacks (a concurrent insert) is kept at its
|
|
250
|
+
* head position, never dropped;
|
|
251
|
+
* - a reference section the head lacks was deleted or renamed concurrently:
|
|
252
|
+
* an untouched incoming copy is dropped; an incoming APPEND lands on the
|
|
253
|
+
* renamed section when exactly one new head section has the same body;
|
|
254
|
+
* anything else is a conflict and the head stands;
|
|
255
|
+
* - a section the incoming edit deleted is dropped only if the head still
|
|
256
|
+
* holds the reference text; a concurrently edited one is kept as a
|
|
257
|
+
* conflict;
|
|
258
|
+
* - when the head and the reference disagree on how many sections share a
|
|
259
|
+
* heading, the `~N` occurrence ids no longer name the same sections, so
|
|
260
|
+
* the head's sections of that heading are kept and an incoming change to
|
|
261
|
+
* them is a conflict on the family id.
|
|
262
|
+
*
|
|
263
|
+
* With `reference` equal to `head` (a single writer) every rule above is
|
|
264
|
+
* inert and the plan applies the incoming sections in order.
|
|
265
|
+
*
|
|
266
|
+
* @param reference - Sections of the version the edit was authored against,
|
|
267
|
+
* or `null` when unknown.
|
|
268
|
+
* @param head - Sections of the landed head, or `null` when unknown.
|
|
269
|
+
* @param incoming - Sections of the incoming document.
|
|
270
|
+
* @returns The ordered steps and the conflicted ids.
|
|
271
|
+
*/
|
|
272
|
+
export function planSectionMerge(reference, head, incoming) {
|
|
273
|
+
const toMap = (texts) => {
|
|
274
|
+
const ids = sectionIds(texts);
|
|
275
|
+
return new Map(texts.map((text, i) => [ids[i] ?? '', text]));
|
|
276
|
+
};
|
|
277
|
+
const ref = toMap(reference ?? []);
|
|
278
|
+
const inc = toMap(incoming);
|
|
279
|
+
if (head === null) {
|
|
280
|
+
return {
|
|
281
|
+
steps: [...inc].map(([id, text]) => ({
|
|
282
|
+
kind: 'apply',
|
|
283
|
+
id,
|
|
284
|
+
text,
|
|
285
|
+
referenceText: ref.get(id) ?? null,
|
|
286
|
+
headText: null,
|
|
287
|
+
})),
|
|
288
|
+
conflicts: [],
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
const hd = toMap(head);
|
|
292
|
+
const familyTexts = (map, family) => [...map].filter(([id]) => headingFamily(id) === family).map(([, text]) => text);
|
|
293
|
+
const ambiguous = new Set();
|
|
294
|
+
for (const id of [...ref.keys(), ...hd.keys()]) {
|
|
295
|
+
const family = headingFamily(id);
|
|
296
|
+
const r = familyTexts(ref, family).length;
|
|
297
|
+
const h = familyTexts(hd, family).length;
|
|
298
|
+
if (r !== h && Math.max(r, h) > 1)
|
|
299
|
+
ambiguous.add(family);
|
|
300
|
+
}
|
|
301
|
+
const steps = [];
|
|
302
|
+
const conflicts = new Set();
|
|
303
|
+
const emitted = new Set();
|
|
304
|
+
for (const [id, text] of inc) {
|
|
305
|
+
const family = headingFamily(id);
|
|
306
|
+
if (ambiguous.has(family)) {
|
|
307
|
+
const touched = familyTexts(inc, family).join('\u0000') !== familyTexts(ref, family).join('\u0000');
|
|
308
|
+
if (touched)
|
|
309
|
+
conflicts.add(family);
|
|
310
|
+
continue;
|
|
311
|
+
}
|
|
312
|
+
const referenceText = ref.get(id);
|
|
313
|
+
const headText = hd.get(id);
|
|
314
|
+
if (referenceText !== undefined && headText === undefined) {
|
|
315
|
+
if (text === referenceText)
|
|
316
|
+
continue;
|
|
317
|
+
const renamed = [...hd].filter(([hid, htext]) => !ref.has(hid) && !inc.has(hid) && sectionBody(htext) === sectionBody(referenceText));
|
|
318
|
+
const target = renamed.length === 1 ? renamed[0] : undefined;
|
|
319
|
+
if (target !== undefined && text.startsWith(referenceText)) {
|
|
320
|
+
const [rid, rtext] = target;
|
|
321
|
+
steps.push({
|
|
322
|
+
kind: 'apply',
|
|
323
|
+
id: rid,
|
|
324
|
+
text: rtext + text.slice(referenceText.length),
|
|
325
|
+
referenceText: rtext,
|
|
326
|
+
headText: rtext,
|
|
327
|
+
});
|
|
328
|
+
emitted.add(rid);
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
331
|
+
conflicts.add(id);
|
|
332
|
+
}
|
|
333
|
+
continue;
|
|
334
|
+
}
|
|
335
|
+
if (referenceText === undefined && headText !== undefined && headText !== text) {
|
|
336
|
+
// Both sides added a section under the same heading.
|
|
337
|
+
conflicts.add(id);
|
|
338
|
+
continue;
|
|
339
|
+
}
|
|
340
|
+
steps.push({
|
|
341
|
+
kind: 'apply',
|
|
342
|
+
id,
|
|
343
|
+
text,
|
|
344
|
+
referenceText: referenceText ?? null,
|
|
345
|
+
headText: headText ?? null,
|
|
346
|
+
});
|
|
347
|
+
emitted.add(id);
|
|
348
|
+
}
|
|
349
|
+
// Head sections the incoming edit did not account for, at their head position.
|
|
350
|
+
const headIds = [...hd.keys()];
|
|
351
|
+
for (const [index, id] of headIds.entries()) {
|
|
352
|
+
if (emitted.has(id))
|
|
353
|
+
continue;
|
|
354
|
+
const text = hd.get(id) ?? '';
|
|
355
|
+
const referenceText = ref.get(id);
|
|
356
|
+
if (!ambiguous.has(headingFamily(id)) && referenceText !== undefined) {
|
|
357
|
+
// The incoming edit deleted it: honoured unless the head changed it since.
|
|
358
|
+
if (inc.has(id) || text === referenceText)
|
|
359
|
+
continue;
|
|
360
|
+
conflicts.add(id);
|
|
361
|
+
}
|
|
362
|
+
const before = headIds
|
|
363
|
+
.slice(0, index)
|
|
364
|
+
.reverse()
|
|
365
|
+
.find((hid) => emitted.has(hid));
|
|
366
|
+
const at = before === undefined ? 0 : steps.findIndex((s) => s.id === before) + 1;
|
|
367
|
+
steps.splice(at, 0, { kind: 'keep', id, text });
|
|
368
|
+
emitted.add(id);
|
|
369
|
+
}
|
|
370
|
+
return { steps, conflicts: [...conflicts] };
|
|
371
|
+
}
|
|
215
372
|
//# sourceMappingURL=section-merge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"section-merge.js","sourceRoot":"","sources":["../../src/docs/section-merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,4BAA4B,EAC5B,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAEhC
|
|
1
|
+
{"version":3,"file":"section-merge.js","sourceRoot":"","sources":["../../src/docs/section-merge.ts"],"names":[],"mappings":"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"}
|