@indigoai-us/hq-cloud 6.18.93 → 6.18.95
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/bin/sync-runner.d.ts +20 -1
- package/dist/bin/sync-runner.d.ts.map +1 -1
- package/dist/bin/sync-runner.js +25 -0
- package/dist/bin/sync-runner.js.map +1 -1
- package/dist/cli/reindex.d.ts +24 -0
- package/dist/cli/reindex.d.ts.map +1 -1
- package/dist/cli/reindex.js +26 -1
- package/dist/cli/reindex.js.map +1 -1
- package/dist/cli/rescue-core.d.ts +18 -3
- package/dist/cli/rescue-core.d.ts.map +1 -1
- package/dist/cli/rescue-core.js +129 -22
- package/dist/cli/rescue-core.js.map +1 -1
- package/dist/cli/share.d.ts +28 -5
- package/dist/cli/share.d.ts.map +1 -1
- package/dist/cli/share.js +189 -22
- package/dist/cli/share.js.map +1 -1
- package/dist/cli/sync.d.ts +11 -1
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +77 -8
- package/dist/cli/sync.js.map +1 -1
- package/dist/cloud-placeholder.d.ts +23 -1
- package/dist/cloud-placeholder.d.ts.map +1 -1
- package/dist/cloud-placeholder.js +57 -0
- package/dist/cloud-placeholder.js.map +1 -1
- package/dist/hq-root-recovery.d.ts +37 -6
- package/dist/hq-root-recovery.d.ts.map +1 -1
- package/dist/hq-root-recovery.js +266 -22
- package/dist/hq-root-recovery.js.map +1 -1
- package/dist/journal.d.ts +11 -1
- package/dist/journal.d.ts.map +1 -1
- package/dist/journal.js +23 -2
- package/dist/journal.js.map +1 -1
- package/dist/lib/cloud-authoritative.d.ts +10 -0
- package/dist/lib/cloud-authoritative.d.ts.map +1 -1
- package/dist/lib/cloud-authoritative.js +23 -0
- package/dist/lib/cloud-authoritative.js.map +1 -1
- package/dist/manifest-reconcile.d.ts +14 -0
- package/dist/manifest-reconcile.d.ts.map +1 -1
- package/dist/manifest-reconcile.js +20 -2
- package/dist/manifest-reconcile.js.map +1 -1
- package/dist/outposts/client.d.ts +6 -1
- package/dist/outposts/client.d.ts.map +1 -1
- package/dist/outposts/client.js +13 -1
- package/dist/outposts/client.js.map +1 -1
- package/dist/outposts/command.d.ts +1 -1
- package/dist/outposts/command.d.ts.map +1 -1
- package/dist/outposts/command.js +58 -2
- package/dist/outposts/command.js.map +1 -1
- package/dist/outposts/company.d.ts +15 -1
- package/dist/outposts/company.d.ts.map +1 -1
- package/dist/outposts/company.js +36 -1
- package/dist/outposts/company.js.map +1 -1
- package/dist/s3.d.ts +22 -0
- package/dist/s3.d.ts.map +1 -1
- package/dist/s3.js +44 -0
- package/dist/s3.js.map +1 -1
- package/dist/session-log-capture.d.ts.map +1 -1
- package/dist/session-log-capture.js +5 -2
- package/dist/session-log-capture.js.map +1 -1
- package/dist/sync/area-ledger.d.ts.map +1 -1
- package/dist/sync/area-ledger.js +3 -3
- package/dist/sync/area-ledger.js.map +1 -1
- package/dist/sync/durable-apply.js +2 -2
- package/dist/sync/durable-apply.js.map +1 -1
- package/dist/sync/per-area-maintenance.js +2 -2
- package/dist/sync/per-area-maintenance.js.map +1 -1
- package/dist/sync/reconcile-cursor.js +2 -2
- package/dist/sync/reconcile-cursor.js.map +1 -1
- package/dist/sync/secret-path-policy.d.ts +37 -11
- package/dist/sync/secret-path-policy.d.ts.map +1 -1
- package/dist/sync/secret-path-policy.js +68 -34
- package/dist/sync/secret-path-policy.js.map +1 -1
- package/dist/sync/snapshot-client.js +2 -2
- package/dist/sync/snapshot-client.js.map +1 -1
- package/dist/sync/state-store.d.ts +19 -0
- package/dist/sync/state-store.d.ts.map +1 -1
- package/dist/sync/state-store.js +184 -4
- package/dist/sync/state-store.js.map +1 -1
- package/dist/sync/uploader-finalization.d.ts.map +1 -1
- package/dist/sync/uploader-finalization.js +2 -2
- package/dist/sync/uploader-finalization.js.map +1 -1
- package/dist/test-fixtures/unknown-journal-generation.d.ts +9 -0
- package/dist/test-fixtures/unknown-journal-generation.d.ts.map +1 -0
- package/dist/test-fixtures/unknown-journal-generation.js +37 -0
- package/dist/test-fixtures/unknown-journal-generation.js.map +1 -0
- package/dist/watcher.d.ts.map +1 -1
- package/dist/watcher.js +3 -3
- package/dist/watcher.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/share.d.ts
CHANGED
|
@@ -583,6 +583,17 @@ export interface ShareOptions {
|
|
|
583
583
|
* scan and the push) and must never fail an unattended sync.
|
|
584
584
|
*/
|
|
585
585
|
unreachablePathPolicy?: "error" | "warn";
|
|
586
|
+
/**
|
|
587
|
+
* Set when `paths` are exactly what a person typed (`hq sync push <path>`).
|
|
588
|
+
* A named file or folder that a sync ignore rule excludes, such as a `.hq-*`
|
|
589
|
+
* file or an HQ-generated INDEX.md, then fails the push with the rule named
|
|
590
|
+
* instead of reporting a 0-file success (feedback_63bfc302,
|
|
591
|
+
* feedback_8c294805). Off by default because callers that enumerate roots
|
|
592
|
+
* (the personal push lists every top-level entry, including `.hq-offload`
|
|
593
|
+
* and `.DS_Store`) name ignored paths routinely. Has no effect under
|
|
594
|
+
* `unreachablePathPolicy: "warn"`.
|
|
595
|
+
*/
|
|
596
|
+
failOnIgnoredNamedPaths?: boolean;
|
|
586
597
|
/**
|
|
587
598
|
* Handling for uploads to server-owned paths (`sources/`, `signals/`,
|
|
588
599
|
* `ontology/`, and generated root files). The default `"error"` makes an
|
|
@@ -640,7 +651,7 @@ export declare class UnregisteredCompanySkillError extends Error {
|
|
|
640
651
|
constructor(paths: string[]);
|
|
641
652
|
}
|
|
642
653
|
/** Why an explicitly-named push path could not be shipped. */
|
|
643
|
-
export type UnreachablePathReason = "missing" | "outside-company" | "unreadable-link";
|
|
654
|
+
export type UnreachablePathReason = "missing" | "outside-company" | "unreadable-link" | "ignored";
|
|
644
655
|
/**
|
|
645
656
|
* Thrown by `share()` when a caller-named path cannot be pushed and
|
|
646
657
|
* `unreachablePathPolicy` is `"error"` (the default). Raised while the plans
|
|
@@ -652,7 +663,7 @@ export declare class UnreachablePushPathsError extends Error {
|
|
|
652
663
|
readonly paths: string[];
|
|
653
664
|
/** Per-path reason, keyed by the same original spelling. */
|
|
654
665
|
readonly reasons: Record<string, UnreachablePathReason>;
|
|
655
|
-
constructor(unreachable: ReadonlyMap<string, UnreachablePathReason>, syncRoot: string);
|
|
666
|
+
constructor(unreachable: ReadonlyMap<string, UnreachablePathReason>, syncRoot: string, ignoreRules?: ReadonlyMap<string, string>);
|
|
656
667
|
}
|
|
657
668
|
/** Raised when every eligible upload in a direct push is server-owned. */
|
|
658
669
|
export declare class ServerOwnedPushPathsError extends Error {
|
|
@@ -731,6 +742,16 @@ export interface ShareResult {
|
|
|
731
742
|
* once the runner has folded them into the totals.
|
|
732
743
|
*/
|
|
733
744
|
filesRefusedStalePaths: string[];
|
|
745
|
+
/**
|
|
746
|
+
* Number of files whose upload failed with a hard error (the per-file
|
|
747
|
+
* `type: "error"` event without `diagnostic`). They were not uploaded and
|
|
748
|
+
* the journal still holds the old version. Transient deferrals are counted
|
|
749
|
+
* in `filesSkipped` instead. Callers must not report success when this is
|
|
750
|
+
* above 0 (feedback_943456f4).
|
|
751
|
+
*/
|
|
752
|
+
filesUploadFailed?: number;
|
|
753
|
+
/** Paths corresponding to `filesUploadFailed`, capped at 50. */
|
|
754
|
+
uploadFailedPaths?: string[];
|
|
734
755
|
/**
|
|
735
756
|
* Number of uploads suppressed by the push-side FILE_TOMBSTONE consult — keys
|
|
736
757
|
* an authoritative delete (`hq files delete`) tombstoned that this machine
|
|
@@ -815,7 +836,7 @@ export interface ShareResult {
|
|
|
815
836
|
planLimit?: PlanLimitRefusal;
|
|
816
837
|
aborted: boolean;
|
|
817
838
|
}
|
|
818
|
-
export type ShareDeleteRefusalReason = "stale-etag" | "legacy-no-etag" | "bulk-asymmetry" | "mass-delete-absolute-volume" | "mass-delete-release-owned-root" | "divergent-local" | "missing-delete-intent" | "intent-changed" | "recreated-locally" | "cloud-placeholder" | "marker-mismatch" | "scope-excluded" | "transfer-error";
|
|
839
|
+
export type ShareDeleteRefusalReason = "stale-etag" | "legacy-no-etag" | "bulk-asymmetry" | "mass-delete-absolute-volume" | "mass-delete-release-owned-root" | "divergent-local" | "missing-delete-intent" | "intent-changed" | "recreated-locally" | "cloud-placeholder" | "marker-mismatch" | "state-rebuilt-deletes-held" | "scope-excluded" | "transfer-error";
|
|
819
840
|
export interface SharePathResult {
|
|
820
841
|
path: string;
|
|
821
842
|
status: "accepted" | "refused";
|
|
@@ -961,6 +982,8 @@ type CollectedEntry = {
|
|
|
961
982
|
interface CollectHooks {
|
|
962
983
|
onUnreadableLink?: (key: string) => void;
|
|
963
984
|
onUnreachablePath?: (namedPath: string, reason: UnreachablePathReason) => void;
|
|
985
|
+
/** A caller-named path the sync filter rejected. Never fires for walked children. */
|
|
986
|
+
onFilteredNamedPath?: (namedPath: string, absolutePath: string, isDir: boolean) => void;
|
|
964
987
|
onLinkedSubtree?: (rel: string) => void;
|
|
965
988
|
onHeartbeat?: () => void;
|
|
966
989
|
cooperativeCheckpoint?: () => Promise<void | boolean>;
|
|
@@ -1057,7 +1080,7 @@ declare function collectFiles(paths: string[], hqRoot: string, syncRoot: string,
|
|
|
1057
1080
|
* tracked. `journalEtag` and `remoteEtag` are
|
|
1058
1081
|
* placeholder sentinels — do not display as ETags.
|
|
1059
1082
|
*/
|
|
1060
|
-
type RefusedStaleReason = "stale-etag" | "legacy-no-etag" | "bulk-asymmetry" | "mass-delete-absolute-volume" | "mass-delete-release-owned-root" | "divergent-local" | "missing-delete-intent" | "intent-changed" | "recreated-locally" | "cloud-placeholder" | "marker-mismatch";
|
|
1083
|
+
type RefusedStaleReason = "stale-etag" | "legacy-no-etag" | "bulk-asymmetry" | "mass-delete-absolute-volume" | "mass-delete-release-owned-root" | "divergent-local" | "missing-delete-intent" | "intent-changed" | "recreated-locally" | "cloud-placeholder" | "marker-mismatch" | "state-rebuilt-deletes-held";
|
|
1061
1084
|
/**
|
|
1062
1085
|
* Three buckets returned by computeDeletePlan, exposed so the execution
|
|
1063
1086
|
* loop can take a different action for each:
|
|
@@ -1180,6 +1203,6 @@ interface DeletePlan {
|
|
|
1180
1203
|
*
|
|
1181
1204
|
* Empty `scopeRoots` ⇒ empty plan (caller didn't opt in).
|
|
1182
1205
|
*/
|
|
1183
|
-
export declare function computeDeletePlan(journal: SyncJournal, syncRoot: string, scopeRoots: string[], shouldSync: (filePath: string, isDir?: boolean) => boolean, policy: "currency-gated" | "owned-only" | "all", ctx: EntityContext, companyScoped?: boolean, skipSecretPaths?: boolean, excludedPaths?: ReadonlySet<string
|
|
1206
|
+
export declare function computeDeletePlan(journal: SyncJournal, syncRoot: string, scopeRoots: string[], shouldSync: (filePath: string, isDir?: boolean) => boolean, policy: "currency-gated" | "owned-only" | "all", ctx: EntityContext, companyScoped?: boolean, skipSecretPaths?: boolean, excludedPaths?: ReadonlySet<string>, holdRemoteDeletes?: boolean, bulkBaselineJournal?: () => SyncJournal): Promise<DeletePlan>;
|
|
1184
1207
|
export {};
|
|
1185
1208
|
//# sourceMappingURL=share.d.ts.map
|
package/dist/cli/share.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../src/cli/share.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../src/cli/share.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/share.js
CHANGED
|
@@ -8,7 +8,7 @@ import { localLinkWarning, rememberLinkWarning, brokenLinkSkipEvent, LinkWarning
|
|
|
8
8
|
import * as fs from "fs";
|
|
9
9
|
import * as os from "os";
|
|
10
10
|
import * as path from "path";
|
|
11
|
-
import { hasCloudPlaceholderSibling, isCloudOnlyLocally, isCloudPlaceholderName, isSyncedCloudPlaceholderFile, } from "../cloud-placeholder.js";
|
|
11
|
+
import { CLOUD_PLACEHOLDER_SUFFIX, cloudPlaceholderPathFor, hasCloudPlaceholderSibling, hasLocalOriginalForMissingPlaceholder, isBesideCompanyBlobPlaceholder, isCloudOnlyLocally, isCloudPlaceholderName, isSyncedCloudPlaceholderFile, } from "../cloud-placeholder.js";
|
|
12
12
|
import { resolveSymlinkTargetRefusalFlag } from "../sync/symlink-target-refusal-flag.js";
|
|
13
13
|
import { inspectLocalSymlinkScope, inspectSymlinkTarget, materializedTargetMatchesWire, personalSymlinkTargetLinkPath, } from "../symlink-target-policy.js";
|
|
14
14
|
import { resolveEntityContext, isExpiringSoon, refreshEntityContext } from "../context.js";
|
|
@@ -23,10 +23,10 @@ import { uploadFile, uploadSymlink, toPosixKey, headRemoteFile, readVerifiedRemo
|
|
|
23
23
|
import * as crypto from "crypto";
|
|
24
24
|
import { bindObjectIOToContext, PresignObjectIO, RateLimitedError, resolveObjectIO, S3SdkObjectIO, } from "../object-io.js";
|
|
25
25
|
import { primePrivateFolderUpload } from "../private-folder-transport.js";
|
|
26
|
-
import { getJournalPath, isUnderAnyRoot, readJournalForPass, readJournalScoped, readQuarantinedJournalPaths, writeJournal, setJournalSnapshotQuarantineListener, hashFile, hashSymlinkTarget, journalRows, journalEntryMatchesStat, journalFingerprintMatchesStat, dropJournalDecodeWindow, timestampsTooCoarseToTrust, updateEntry, PrematureJournalEntryError, removeEntry, isTombstone, normalizeEtag, PERSONAL_VAULT_JOURNAL_SLUG, migratePersonalVaultJournal, migrateToV2, } from "../journal.js";
|
|
27
|
-
import { createIgnoreExplainer, createIgnoreFilter, hasControlCharacters, isExpectedIgnore, isMachineLocalRuntimePath, isPathExcludedFromSync, isSecretPatternIgnore, isWithinSizeLimit, } from "../ignore.js";
|
|
26
|
+
import { getJournalPath, isUnderAnyRoot, readJournalForPass, readJournalReadOnly, readJournalScoped, readQuarantinedJournalPaths, writeJournal, setJournalSnapshotQuarantineListener, hashFile, hashSymlinkTarget, journalRows, journalEntryMatchesStat, journalFingerprintMatchesStat, dropJournalDecodeWindow, timestampsTooCoarseToTrust, updateEntry, PrematureJournalEntryError, removeEntry, isTombstone, normalizeEtag, PERSONAL_VAULT_JOURNAL_SLUG, migratePersonalVaultJournal, migrateToV2, configureRejectedDeltaRecovery, getJournalRecoveryMarker, } from "../journal.js";
|
|
27
|
+
import { createIgnoreExplainer, createIgnoreFilter, hasControlCharacters, isExpectedIgnore, isHqGeneratedIndexFile, isMachineLocalRuntimePath, isPathExcludedFromSync, isSecretFolderPath, isSecretPatternIgnore, isWithinSizeLimit, } from "../ignore.js";
|
|
28
28
|
import { wrapFilterWithPersonalVaultDefaults, } from "../personal-vault-exclusions.js";
|
|
29
|
-
import {
|
|
29
|
+
import { claimNeverSyncedLocalNotices, formatSecretsNotSyncedLine, isNeverSyncedVaultPath, isSecretBearingVaultPath, isSkipSecretPathsEnabled, isWalRejectedDeltaRecoveryEnabled, } from "../sync/secret-path-policy.js";
|
|
30
30
|
import { getActiveFullPassDecodeWindow, getActiveFullPassUnitSize, } from "../sync/full-pass-caps.js";
|
|
31
31
|
import { isGeneratedCoreMirrorKey, isPersonalVaultDeletionExcluded, isSessionLogDeletionKey, purgeExcludedPersonalVaultJournalEntries, } from "../personal-vault.js";
|
|
32
32
|
import { pickWinner, resolveConflict, usesVersionAwareWinner } from "./conflict.js";
|
|
@@ -885,10 +885,13 @@ export class UnreachablePushPathsError extends Error {
|
|
|
885
885
|
paths;
|
|
886
886
|
/** Per-path reason, keyed by the same original spelling. */
|
|
887
887
|
reasons;
|
|
888
|
-
constructor(unreachable, syncRoot) {
|
|
888
|
+
constructor(unreachable, syncRoot, ignoreRules = new Map()) {
|
|
889
889
|
const paths = [...unreachable.keys()];
|
|
890
890
|
const lines = paths.map((p) => {
|
|
891
891
|
const reason = unreachable.get(p);
|
|
892
|
+
if (reason === "ignored") {
|
|
893
|
+
return ` · ${p} — ${ignoreRules.get(p) ?? "excluded by a sync ignore rule"}; it was not uploaded`;
|
|
894
|
+
}
|
|
892
895
|
if (reason === "outside-company") {
|
|
893
896
|
return ` · ${p} — resolves outside the company folder (${syncRoot})`;
|
|
894
897
|
}
|
|
@@ -1367,6 +1370,10 @@ async function createPushRunContext(options) {
|
|
|
1367
1370
|
? await isSkipSecretPathsEnabled(secretPathFlagConfig, ctx.uid, true)
|
|
1368
1371
|
: await isSkipSecretPathsEnabled(secretPathFlagConfig, ctx.uid)
|
|
1369
1372
|
: preVendedCompanyPush;
|
|
1373
|
+
const walRecoveryEnabled = secretPathFlagConfig
|
|
1374
|
+
? await isWalRejectedDeltaRecoveryEnabled(secretPathFlagConfig, ctx.uid)
|
|
1375
|
+
: true;
|
|
1376
|
+
configureRejectedDeltaRecovery(walRecoveryEnabled);
|
|
1370
1377
|
const ignoreFilter = createIgnoreFilter(hqRoot, {
|
|
1371
1378
|
allowRootMcpConfig: personalConnectorSettingsSync,
|
|
1372
1379
|
});
|
|
@@ -1429,8 +1436,7 @@ async function createPushRunContext(options) {
|
|
|
1429
1436
|
return false;
|
|
1430
1437
|
return baseFilter(filePath, isDir);
|
|
1431
1438
|
};
|
|
1432
|
-
const neverSyncedLocalPath
|
|
1433
|
-
if (neverSyncedLocalPath) {
|
|
1439
|
+
for (const neverSyncedLocalPath of claimNeverSyncedLocalNotices(hqRoot, syncRoot)) {
|
|
1434
1440
|
emit({ type: "secrets-not-synced", path: neverSyncedLocalPath });
|
|
1435
1441
|
}
|
|
1436
1442
|
const shouldSync = options.prefixSet !== undefined
|
|
@@ -1453,6 +1459,7 @@ async function createPushRunContext(options) {
|
|
|
1453
1459
|
// known. Full/cadence callers retain the complete snapshot here.
|
|
1454
1460
|
const scopedJournal = options.scopedJournal === true;
|
|
1455
1461
|
const journal = scopedJournal ? emptyJournalForScopedPass() : readJournalForPass(journalSlug, ctx.uid);
|
|
1462
|
+
const holdRemoteDeletes = getJournalRecoveryMarker(journalSlug) !== undefined;
|
|
1456
1463
|
return {
|
|
1457
1464
|
options,
|
|
1458
1465
|
ontologyEntityPush: false,
|
|
@@ -1481,7 +1488,15 @@ async function createPushRunContext(options) {
|
|
|
1481
1488
|
syncRoot,
|
|
1482
1489
|
shouldSync,
|
|
1483
1490
|
durableShouldSync: baseFilter,
|
|
1491
|
+
ignoreFilter,
|
|
1492
|
+
explainIgnore: (filePath, isDir) => {
|
|
1493
|
+
explainIgnored ??= createIgnoreExplainer(hqRoot, {
|
|
1494
|
+
allowRootMcpConfig: personalConnectorSettingsSync,
|
|
1495
|
+
});
|
|
1496
|
+
return explainIgnored(filePath, isDir);
|
|
1497
|
+
},
|
|
1484
1498
|
skipSecretPaths,
|
|
1499
|
+
holdRemoteDeletes,
|
|
1485
1500
|
journalSlug,
|
|
1486
1501
|
quarantinedPaths,
|
|
1487
1502
|
journal,
|
|
@@ -1489,12 +1504,14 @@ async function createPushRunContext(options) {
|
|
|
1489
1504
|
excludedSet,
|
|
1490
1505
|
excludedById,
|
|
1491
1506
|
scopeExcludedSet,
|
|
1507
|
+
uploadFailedSet: new Set(),
|
|
1492
1508
|
ignoreExcludedSet,
|
|
1493
1509
|
ignoreExcludedTotal,
|
|
1494
1510
|
ignoreExcludedLayers,
|
|
1495
1511
|
ignoreIncludeLines,
|
|
1496
1512
|
secretExcludedSet,
|
|
1497
1513
|
unreachablePaths,
|
|
1514
|
+
ignoredNamedPathRules: new Map(),
|
|
1498
1515
|
linkedSubtreeSet,
|
|
1499
1516
|
skillRegistrationConflicts,
|
|
1500
1517
|
hostLoadAtStart,
|
|
@@ -2184,6 +2201,7 @@ async function buildSharePlans(run) {
|
|
|
2184
2201
|
if (rememberLinkWarning(run.linkWarnings, warning))
|
|
2185
2202
|
run.emit(brokenLinkSkipEvent(warning));
|
|
2186
2203
|
},
|
|
2204
|
+
onFilteredNamedPath: (namedPath, absolutePath, isDir) => recordIgnoredNamedPath(run, namedPath, absolutePath, isDir),
|
|
2187
2205
|
onLinkedSubtree: (rel) => run.linkedSubtreeSet.add(rel),
|
|
2188
2206
|
onHeartbeat: run.options.onHeartbeat,
|
|
2189
2207
|
cooperativeCheckpoint: run.options.cooperativeCheckpoint,
|
|
@@ -2200,7 +2218,7 @@ async function buildSharePlans(run) {
|
|
|
2200
2218
|
const fatal = collectFatalUnreachablePaths(run);
|
|
2201
2219
|
if (fatal.size > 0) {
|
|
2202
2220
|
emitUnreachablePathEvent(run);
|
|
2203
|
-
throw new UnreachablePushPathsError(fatal, run.syncRoot);
|
|
2221
|
+
throw new UnreachablePushPathsError(fatal, run.syncRoot, run.ignoredNamedPathRules);
|
|
2204
2222
|
}
|
|
2205
2223
|
const deleteScopeRoots = run.propagateDeletes === true
|
|
2206
2224
|
? resolveDeleteScopeRoots(run.paths, run.hqRoot, run.syncRoot, run.options.deleteScopeRoots)
|
|
@@ -2234,7 +2252,7 @@ async function buildSharePlans(run) {
|
|
|
2234
2252
|
errorCode: "INVALID_KEY_CONTROL_CHARS",
|
|
2235
2253
|
});
|
|
2236
2254
|
return false;
|
|
2237
|
-
});
|
|
2255
|
+
}).filter((entry) => !isLocalCopyOfLibraryAsset(run.journal, entry));
|
|
2238
2256
|
// `companies/` is an ordinary directory name below a company vault root.
|
|
2239
2257
|
// The walker derives every key from that root, so it cannot select another
|
|
2240
2258
|
// company. Keep the generic control-character admission check for both
|
|
@@ -2291,8 +2309,9 @@ async function buildSharePlans(run) {
|
|
|
2291
2309
|
companySlug: run.ctx.slug,
|
|
2292
2310
|
reportedUnsafeSymlinkPaths: run.reportedUnsafeSymlinkPaths,
|
|
2293
2311
|
});
|
|
2312
|
+
const recoveryHoldActive = run.holdRemoteDeletes || getJournalRecoveryMarker(run.journalSlug) !== undefined;
|
|
2294
2313
|
const deletePlan = run.propagateDeletes === true
|
|
2295
|
-
? await computeDeletePlan(run.journal, run.syncRoot, deleteScopeRoots, run.shouldSync, run.propagateDeletePolicy, run.ctx, run.options.personalMode !== true, run.skipSecretPaths, run.quarantinedPaths)
|
|
2314
|
+
? await computeDeletePlan(run.journal, run.syncRoot, deleteScopeRoots, run.shouldSync, run.propagateDeletePolicy, run.ctx, run.options.personalMode !== true, run.skipSecretPaths, run.quarantinedPaths, recoveryHoldActive, run.scopedJournal ? () => readJournalReadOnly(run.journalSlug) : undefined)
|
|
2296
2315
|
: { toDelete: [], toTombstone: [], refusedStale: [] };
|
|
2297
2316
|
for (const warning of deletePlan.brokenLinkSkipped ?? []) {
|
|
2298
2317
|
if (rememberLinkWarning(run.linkWarnings, warning))
|
|
@@ -3174,6 +3193,7 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
|
|
|
3174
3193
|
if (outcome === "write-failed") {
|
|
3175
3194
|
// The merge already emitted the error. A second skip line repeats it.
|
|
3176
3195
|
hadUploadFailure = true;
|
|
3196
|
+
run.uploadFailedSet.add(relativePath);
|
|
3177
3197
|
}
|
|
3178
3198
|
counters.filesSkipped++;
|
|
3179
3199
|
return;
|
|
@@ -3232,6 +3252,7 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
|
|
|
3232
3252
|
if (outcome === "write-failed") {
|
|
3233
3253
|
// The merge already emitted the error. A second skip line repeats it.
|
|
3234
3254
|
hadUploadFailure = true;
|
|
3255
|
+
run.uploadFailedSet.add(relativePath);
|
|
3235
3256
|
}
|
|
3236
3257
|
counters.filesSkipped++;
|
|
3237
3258
|
return;
|
|
@@ -3710,6 +3731,7 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
|
|
|
3710
3731
|
if (outcome === "write-failed") {
|
|
3711
3732
|
// The merge already emitted the error. A second skip line repeats it.
|
|
3712
3733
|
hadUploadFailure = true;
|
|
3734
|
+
run.uploadFailedSet.add(relativePath);
|
|
3713
3735
|
}
|
|
3714
3736
|
else if (outcome === "publish-local") {
|
|
3715
3737
|
counters.filesSkippedConflict++;
|
|
@@ -3788,6 +3810,7 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
|
|
|
3788
3810
|
return;
|
|
3789
3811
|
}
|
|
3790
3812
|
hadUploadFailure = true;
|
|
3813
|
+
run.uploadFailedSet.add(relativePath);
|
|
3791
3814
|
run.emit({
|
|
3792
3815
|
type: "error",
|
|
3793
3816
|
path: relativePath,
|
|
@@ -3890,6 +3913,7 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
|
|
|
3890
3913
|
if (emitPlanLimitSkip(retryErr, relativePath))
|
|
3891
3914
|
return;
|
|
3892
3915
|
hadUploadFailure = true;
|
|
3916
|
+
run.uploadFailedSet.add(relativePath);
|
|
3893
3917
|
run.emit({
|
|
3894
3918
|
type: "error",
|
|
3895
3919
|
path: relativePath,
|
|
@@ -3939,6 +3963,7 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
|
|
|
3939
3963
|
});
|
|
3940
3964
|
}
|
|
3941
3965
|
else {
|
|
3966
|
+
run.uploadFailedSet.add(relativePath);
|
|
3942
3967
|
run.emit({
|
|
3943
3968
|
type: "error",
|
|
3944
3969
|
path: relativePath,
|
|
@@ -4792,7 +4817,9 @@ async function executeDeletes(run, deletePlan, decommissionPlan, counters, files
|
|
|
4792
4817
|
const localPath = localPathForVaultKey(run.syncRoot, relativePath);
|
|
4793
4818
|
const localStateStillSafe = item.materializedKnowledgeDir
|
|
4794
4819
|
? isMaterializedKnowledgeDirectory(localPath, relativePath, entry, run.options.personalMode !== true)
|
|
4795
|
-
: isLocallyAbsent(localPath) &&
|
|
4820
|
+
: isLocallyAbsent(localPath) &&
|
|
4821
|
+
!hasCloudPlaceholderSibling(localPath) &&
|
|
4822
|
+
!hasLocalOriginalForMissingPlaceholder(localPath);
|
|
4796
4823
|
const recreatedLocally = !item.decommission && !localStateStillSafe;
|
|
4797
4824
|
// `hq storage offload` wrote `<name>.hqcloud` after planning: the file
|
|
4798
4825
|
// is cloud-only now, not deleted.
|
|
@@ -5208,11 +5235,59 @@ function collectFatalUnreachablePaths(run) {
|
|
|
5208
5235
|
if (run.options.unreachablePathPolicy === "warn")
|
|
5209
5236
|
return fatal;
|
|
5210
5237
|
for (const [namedPath, reason] of run.unreachablePaths) {
|
|
5211
|
-
if (reason === "outside-company")
|
|
5238
|
+
if (reason === "outside-company" || reason === "ignored")
|
|
5212
5239
|
fatal.set(namedPath, reason);
|
|
5213
5240
|
}
|
|
5214
5241
|
return fatal;
|
|
5215
5242
|
}
|
|
5243
|
+
/**
|
|
5244
|
+
* A caller-named path that the ignore stack rejects was dropped with no event:
|
|
5245
|
+
* `.hq-*` names and generated INDEX.md files count as expected noise, so the
|
|
5246
|
+
* ignore warning skips them, and the push printed "✓ Pushed 0 file(s)" with
|
|
5247
|
+
* exit 0 (feedback_63bfc302, feedback_8c294805). Record it as `"ignored"` so
|
|
5248
|
+
* the default policy fails the push and names the rule.
|
|
5249
|
+
*
|
|
5250
|
+
* Not recorded:
|
|
5251
|
+
* - Runs without `failOnIgnoredNamedPaths`. Their paths are enumerated roots,
|
|
5252
|
+
* not user input, and an ignored root there is routine.
|
|
5253
|
+
* - `"warn"` runs. Their paths are watcher and walk roots, where an ignored
|
|
5254
|
+
* file is routine and already filtered.
|
|
5255
|
+
* - Paths the raw ignore stack admits. Scope, personal-vault, and secret-path
|
|
5256
|
+
* wrappers rejected those and report them through their own events.
|
|
5257
|
+
* - Secret-pattern files (dotenv files, credentials) and secret folders
|
|
5258
|
+
* (company `secrets/` and `settings/`, `.secrets`). They are left out by
|
|
5259
|
+
* design (US-178), and watcher runs name them routinely.
|
|
5260
|
+
*/
|
|
5261
|
+
function recordIgnoredNamedPath(run, namedPath, absolutePath, isDir) {
|
|
5262
|
+
if (run.options.failOnIgnoredNamedPaths !== true)
|
|
5263
|
+
return;
|
|
5264
|
+
if (run.options.unreachablePathPolicy === "warn")
|
|
5265
|
+
return;
|
|
5266
|
+
if (run.unreachablePaths.has(namedPath))
|
|
5267
|
+
return;
|
|
5268
|
+
if (run.ignoreFilter(absolutePath, isDir))
|
|
5269
|
+
return;
|
|
5270
|
+
const rel = vaultKeyForLocalPath(run.hqRoot, absolutePath);
|
|
5271
|
+
if (isSecretFolderPath(rel))
|
|
5272
|
+
return;
|
|
5273
|
+
if (!isDir && isSecretPatternIgnore(rel))
|
|
5274
|
+
return;
|
|
5275
|
+
run.unreachablePaths.set(namedPath, "ignored");
|
|
5276
|
+
run.ignoredNamedPathRules.set(namedPath, describeIgnoreRule(run, absolutePath, isDir));
|
|
5277
|
+
}
|
|
5278
|
+
function describeIgnoreRule(run, absolutePath, isDir) {
|
|
5279
|
+
if (!isDir && isHqGeneratedIndexFile(absolutePath)) {
|
|
5280
|
+
return "an HQ-generated INDEX.md (it starts with \"> Auto-generated.\"), which each machine rebuilds and sync never uploads";
|
|
5281
|
+
}
|
|
5282
|
+
const { layer } = run.explainIgnore(absolutePath, isDir);
|
|
5283
|
+
if (layer === ".hqignore" || layer === ".hqsyncignore") {
|
|
5284
|
+
return `excluded by a rule in ${layer}`;
|
|
5285
|
+
}
|
|
5286
|
+
if (layer === ".hqinclude allowlist") {
|
|
5287
|
+
return "not listed in .hqinclude";
|
|
5288
|
+
}
|
|
5289
|
+
return "excluded by a built-in sync ignore rule";
|
|
5290
|
+
}
|
|
5216
5291
|
/**
|
|
5217
5292
|
* Emit the `not-shipped` / `unreachable-path` event for a run, if any named
|
|
5218
5293
|
* path went unshipped. Shared by BOTH policies so the operator sees the same
|
|
@@ -5309,6 +5384,8 @@ function buildShareResult(run, counters, filesRefusedStalePaths, conflictPaths,
|
|
|
5309
5384
|
filesTombstoned: counters.filesTombstoned,
|
|
5310
5385
|
filesRefusedStale: counters.filesRefusedStale,
|
|
5311
5386
|
filesRefusedStalePaths,
|
|
5387
|
+
filesUploadFailed: run.uploadFailedSet.size,
|
|
5388
|
+
uploadFailedPaths: [...run.uploadFailedSet].slice(0, REFUSED_STALE_PATH_CAP),
|
|
5312
5389
|
filesSuppressedByTombstone: counters.filesSuppressedByTombstone,
|
|
5313
5390
|
...(run.skillRegisterLandedBytes
|
|
5314
5391
|
? { skillRegistrationFallbacks: run.skillRegistrationFallbacks }
|
|
@@ -5446,6 +5523,9 @@ function defaultConsoleLogger(event, humanSkipLines) {
|
|
|
5446
5523
|
console.error(` ⚠ cloud-placeholder, kept on remote: ${event.path} ` +
|
|
5447
5524
|
`(a .hqcloud placeholder stands in for this file, so it was not deleted)`);
|
|
5448
5525
|
}
|
|
5526
|
+
else if (event.reason === "state-rebuilt-deletes-held") {
|
|
5527
|
+
console.error(` ⚠ state-rebuilt-deletes-held, kept on remote: ${event.path} (complete a full authoritative sync pass to release the hold)`);
|
|
5528
|
+
}
|
|
5449
5529
|
else if (event.reason === "marker-mismatch") {
|
|
5450
5530
|
console.error(` ⚠ marker-mismatch, kept on remote: ${event.path} ` +
|
|
5451
5531
|
`(the remote object is not the symlink revision reindex replaced)`);
|
|
@@ -5784,6 +5864,40 @@ function reportLinkedSubtreeIfExternal(linkPath, syncRoot, relativePath, hooks)
|
|
|
5784
5864
|
return; // in-tree target: descended elsewhere
|
|
5785
5865
|
hooks.onLinkedSubtree(relativePath);
|
|
5786
5866
|
}
|
|
5867
|
+
const libraryCopyNoted = new Set();
|
|
5868
|
+
/**
|
|
5869
|
+
* True for a file that is a local copy of a cloud-only library asset and must
|
|
5870
|
+
* not be uploaded: the journal does not track `x`, and either `x.hqcloud`
|
|
5871
|
+
* beside it is a company placeholder keyed `.hq-offload/blobs/<sha>`, or the
|
|
5872
|
+
* journal tracks a synced `x.hqcloud` that is missing on disk (an hq-cli fetch
|
|
5873
|
+
* replaced it with `x`; pull restores it). The bytes already live in the
|
|
5874
|
+
* company blob, so an upload would only add a second full copy at `x`, and a
|
|
5875
|
+
* teammate's pull would then repoint their placeholder at it. A file the
|
|
5876
|
+
* journal already tracks syncs as before. Logged once per path per process.
|
|
5877
|
+
*/
|
|
5878
|
+
function isLocalCopyOfLibraryAsset(journal, entry) {
|
|
5879
|
+
if (entry.kind !== "file")
|
|
5880
|
+
return false;
|
|
5881
|
+
if (isCloudPlaceholderName(path.basename(entry.absolutePath)))
|
|
5882
|
+
return false;
|
|
5883
|
+
const rows = journalRows(journal);
|
|
5884
|
+
const own = rows.get(entry.relativePath);
|
|
5885
|
+
if (own !== undefined && !isTombstone(own))
|
|
5886
|
+
return false;
|
|
5887
|
+
let localCopy = isBesideCompanyBlobPlaceholder(entry.absolutePath);
|
|
5888
|
+
if (!localCopy) {
|
|
5889
|
+
const placeholderRow = rows.get(`${entry.relativePath}${CLOUD_PLACEHOLDER_SUFFIX}`);
|
|
5890
|
+
localCopy =
|
|
5891
|
+
placeholderRow !== undefined &&
|
|
5892
|
+
!isTombstone(placeholderRow) &&
|
|
5893
|
+
hasLocalOriginalForMissingPlaceholder(cloudPlaceholderPathFor(entry.absolutePath));
|
|
5894
|
+
}
|
|
5895
|
+
if (localCopy && !libraryCopyNoted.has(entry.absolutePath)) {
|
|
5896
|
+
libraryCopyNoted.add(entry.absolutePath);
|
|
5897
|
+
console.error(` Note: ${entry.relativePath} is a local copy of a library asset (${entry.relativePath}${CLOUD_PLACEHOLDER_SUFFIX}); it stays on this machine and is not uploaded.`);
|
|
5898
|
+
}
|
|
5899
|
+
return localCopy;
|
|
5900
|
+
}
|
|
5787
5901
|
/**
|
|
5788
5902
|
* Collect files from paths (expanding directories recursively).
|
|
5789
5903
|
*
|
|
@@ -5859,8 +5973,10 @@ async function collectFiles(paths, hqRoot, syncRoot, filter, hooks = {}) {
|
|
|
5859
5973
|
// symlinks under allowlist mode (the motivating case for this
|
|
5860
5974
|
// whole branch). The filter is pure path lookup with no I/O,
|
|
5861
5975
|
// so two calls are free.
|
|
5862
|
-
if (!filter(absolutePath, false) && !filter(absolutePath, true))
|
|
5976
|
+
if (!filter(absolutePath, false) && !filter(absolutePath, true)) {
|
|
5977
|
+
hooks.onFilteredNamedPath?.(p, absolutePath, false);
|
|
5863
5978
|
continue;
|
|
5979
|
+
}
|
|
5864
5980
|
const target = readlinkOrNull(absolutePath);
|
|
5865
5981
|
if (target === null) {
|
|
5866
5982
|
console.error(` Warning: ${p} is an unreadable symbolic link, skipping.`);
|
|
@@ -5888,17 +6004,22 @@ async function collectFiles(paths, hqRoot, syncRoot, filter, hooks = {}) {
|
|
|
5888
6004
|
continue;
|
|
5889
6005
|
}
|
|
5890
6006
|
if (lstat.isDirectory()) {
|
|
5891
|
-
if (!filter(absolutePath, true))
|
|
6007
|
+
if (!filter(absolutePath, true)) {
|
|
6008
|
+
hooks.onFilteredNamedPath?.(p, absolutePath, true);
|
|
5892
6009
|
continue;
|
|
6010
|
+
}
|
|
5893
6011
|
await walkDir(absolutePath, syncRoot, filter, results, hooks, cooperativeWork);
|
|
5894
6012
|
}
|
|
5895
6013
|
else if (lstat.isFile()) {
|
|
5896
6014
|
const relativePath = vaultKeyForLocalPath(syncRoot, absolutePath);
|
|
6015
|
+
if (!filter(absolutePath)) {
|
|
6016
|
+
hooks.onFilteredNamedPath?.(p, absolutePath, false);
|
|
6017
|
+
continue;
|
|
6018
|
+
}
|
|
5897
6019
|
// Cloud-only placeholders are local stand-ins; never upload them,
|
|
5898
6020
|
// except library asset placeholders, which sync as small text files.
|
|
5899
|
-
if (
|
|
5900
|
-
(
|
|
5901
|
-
isSyncedCloudPlaceholderFile(absolutePath))) {
|
|
6021
|
+
if (!isCloudPlaceholderName(path.basename(absolutePath)) ||
|
|
6022
|
+
isSyncedCloudPlaceholderFile(absolutePath)) {
|
|
5902
6023
|
noteCooperativeRowVisit("collect", relativePath);
|
|
5903
6024
|
results.push({ kind: "file", absolutePath, relativePath });
|
|
5904
6025
|
}
|
|
@@ -6196,6 +6317,13 @@ function resolveDeleteScopeRoots(paths, hqRoot, syncRoot, explicitRoots = []) {
|
|
|
6196
6317
|
* already opts out of safety gates (currency check, owned-only).
|
|
6197
6318
|
* This guard honors that explicit opt-out.
|
|
6198
6319
|
*
|
|
6320
|
+
* `inScope` in a watcher (scoped) push is NOT the delete roots alone. The
|
|
6321
|
+
* watcher names each deleted key as its own delete root, so counting only
|
|
6322
|
+
* rows under those roots makes the ratio ~100% and refuses every batch of
|
|
6323
|
+
* MIN_ABS or more deletes, which the next pull then restores. When the local
|
|
6324
|
+
* ratio trips, a scoped push re-counts the denominator over the whole journal
|
|
6325
|
+
* (`bulkBaselineJournal`), the same rows a full pass's root would cover.
|
|
6326
|
+
*
|
|
6199
6327
|
* `"owned-only"` and `"currency-gated"` both go through the guard. The
|
|
6200
6328
|
* `direction === "up"` filter in `owned-only` is no defense once a user
|
|
6201
6329
|
* has ever run full bidirectional sync (every uploaded file gets
|
|
@@ -6352,7 +6480,10 @@ export async function computeDeletePlan(journal, syncRoot, scopeRoots, shouldSyn
|
|
|
6352
6480
|
// True for a COMPANY-scoped push (personalMode !== true). This distinguishes
|
|
6353
6481
|
// the canonical knowledge-marker layout from the personal-vault layout; it
|
|
6354
6482
|
// does not reinterpret ordinary vault-relative path segments.
|
|
6355
|
-
companyScoped = true, skipSecretPaths = false, excludedPaths = new Set()
|
|
6483
|
+
companyScoped = true, skipSecretPaths = false, excludedPaths = new Set(), holdRemoteDeletes = false,
|
|
6484
|
+
// Scoped (watcher) pushes only: reads the whole journal so the breaker's
|
|
6485
|
+
// denominator matches a full pass. Called only when the scoped ratio trips.
|
|
6486
|
+
bulkBaselineJournal) {
|
|
6356
6487
|
const plan = { toDelete: [], toTombstone: [], refusedStale: [] };
|
|
6357
6488
|
if (scopeRoots.length === 0)
|
|
6358
6489
|
return plan;
|
|
@@ -6481,6 +6612,15 @@ companyScoped = true, skipSecretPaths = false, excludedPaths = new Set()) {
|
|
|
6481
6612
|
continue;
|
|
6482
6613
|
}
|
|
6483
6614
|
}
|
|
6615
|
+
if (holdRemoteDeletes && !presentLocally) {
|
|
6616
|
+
plan.refusedStale.push({
|
|
6617
|
+
key: relativeKey,
|
|
6618
|
+
journalEtag: entry.remoteEtag ?? "<unknown>",
|
|
6619
|
+
remoteEtag: "<not-checked>",
|
|
6620
|
+
reason: "state-rebuilt-deletes-held",
|
|
6621
|
+
});
|
|
6622
|
+
continue;
|
|
6623
|
+
}
|
|
6484
6624
|
const materializedKnowledgeDir = presentLocally &&
|
|
6485
6625
|
isMaterializedKnowledgeDirectory(localPath, relativeKey, entry, companyScoped);
|
|
6486
6626
|
if (presentLocally && !materializedKnowledgeDir)
|
|
@@ -6496,6 +6636,14 @@ companyScoped = true, skipSecretPaths = false, excludedPaths = new Set()) {
|
|
|
6496
6636
|
}
|
|
6497
6637
|
continue;
|
|
6498
6638
|
}
|
|
6639
|
+
// The reverse swap: a synced (library) placeholder is gone while the
|
|
6640
|
+
// original it stands for is on disk. `hq library fetch` did that; the
|
|
6641
|
+
// user did not remove the asset. Deleting the key would drop the asset
|
|
6642
|
+
// from the library for every teammate and from cloud search. Pull
|
|
6643
|
+
// downloads the placeholder back beside the original.
|
|
6644
|
+
if (!presentLocally && hasLocalOriginalForMissingPlaceholder(localPath)) {
|
|
6645
|
+
continue;
|
|
6646
|
+
}
|
|
6499
6647
|
// Reindex's legacy Knowledge migration is a representation transition,
|
|
6500
6648
|
// not a user-content deletion: the exact key changed from a symlink object
|
|
6501
6649
|
// to a real directory whose children are uploaded separately. The normal
|
|
@@ -6726,11 +6874,30 @@ companyScoped = true, skipSecretPaths = false, excludedPaths = new Set()) {
|
|
|
6726
6874
|
// Bulk-asymmetry circuit-breaker. See `BULK_ASYMMETRY_*` constants for
|
|
6727
6875
|
// rationale + bypass paths. Skipped under policy:"all" (caller asserted
|
|
6728
6876
|
// intent) and under `HQ_SYNC_DELETE_BULK_OVERRIDE` (operator rollback knob).
|
|
6729
|
-
|
|
6877
|
+
const bulkRatioTrips = () => inScopeJournalEntries > 0 &&
|
|
6878
|
+
bulkCandidatePicks / inScopeJournalEntries >= BULK_ASYMMETRY_RATIO;
|
|
6879
|
+
const bulkGuardApplies = policy !== "all" &&
|
|
6730
6880
|
!isBulkAsymmetryOverride() &&
|
|
6731
|
-
bulkCandidatePicks >= BULK_ASYMMETRY_MIN_ABS
|
|
6732
|
-
|
|
6733
|
-
|
|
6881
|
+
bulkCandidatePicks >= BULK_ASYMMETRY_MIN_ABS;
|
|
6882
|
+
if (bulkGuardApplies && bulkRatioTrips() && bulkBaselineJournal) {
|
|
6883
|
+
// The rows a full pass would count, with the same hard filters as the
|
|
6884
|
+
// Stage-1 loop. Rows it could not lstat (broken links) are not removed,
|
|
6885
|
+
// so this can only exceed a full pass's denominator by those rows.
|
|
6886
|
+
let baseline = 0;
|
|
6887
|
+
for (const [key, entry] of journalRows(bulkBaselineJournal()).entries()) {
|
|
6888
|
+
if (excludedPaths.has(key))
|
|
6889
|
+
continue;
|
|
6890
|
+
if (isNeverSyncedVaultPath(key))
|
|
6891
|
+
continue;
|
|
6892
|
+
if (skipSecretPaths && isSecretBearingVaultPath(key))
|
|
6893
|
+
continue;
|
|
6894
|
+
if (isTombstone(entry) && entry.removedReason !== "local-delete")
|
|
6895
|
+
continue;
|
|
6896
|
+
baseline++;
|
|
6897
|
+
}
|
|
6898
|
+
inScopeJournalEntries = Math.max(inScopeJournalEntries, baseline);
|
|
6899
|
+
}
|
|
6900
|
+
if (bulkGuardApplies && bulkRatioTrips()) {
|
|
6734
6901
|
// Move every staged candidate (both already-bucketed toDelete from
|
|
6735
6902
|
// owned-only and queued headCandidates from currency-gated) into
|
|
6736
6903
|
// refusedStale with reason "bulk-asymmetry", and re-label the intent-less
|