@indigoai-us/hq-cloud 6.18.49-alpha.3 → 6.18.49-alpha.4
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/cli/share.d.ts +1 -0
- package/dist/cli/share.d.ts.map +1 -1
- package/dist/cli/share.js +62 -18
- package/dist/cli/share.js.map +1 -1
- package/dist/ignore.d.ts.map +1 -1
- package/dist/ignore.js +19 -1
- package/dist/ignore.js.map +1 -1
- package/dist/personal-vault.d.ts.map +1 -1
- package/dist/personal-vault.js +1 -0
- package/dist/personal-vault.js.map +1 -1
- package/dist/s3.d.ts.map +1 -1
- package/dist/s3.js +4 -3
- package/dist/s3.js.map +1 -1
- package/dist/symlink-target-policy.d.ts +3 -4
- package/dist/symlink-target-policy.d.ts.map +1 -1
- package/dist/symlink-target-policy.js +28 -6
- package/dist/symlink-target-policy.js.map +1 -1
- package/dist/sync/durable-apply.d.ts.map +1 -1
- package/dist/sync/durable-apply.js +2 -2
- package/dist/sync/durable-apply.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/share.d.ts
CHANGED
|
@@ -261,6 +261,7 @@ interface SymlinkPushContext {
|
|
|
261
261
|
syncRoot: string;
|
|
262
262
|
personalMode: boolean;
|
|
263
263
|
companySlug: string;
|
|
264
|
+
reportedUnsafeSymlinkPaths: Set<string>;
|
|
264
265
|
}
|
|
265
266
|
declare function computePushPlan(filesToShare: CollectedEntry[], journal: SyncJournal, skipUnchanged: boolean, onHeartbeat?: () => void, ontologyEntityPush?: OntologyEntityPushMode, symlinkContext?: SymlinkPushContext): PushPlan;
|
|
266
267
|
declare function normalizeWindowsSymlinkTarget(target: string): string;
|
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":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
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 * as fs from "fs";
|
|
|
8
8
|
import * as os from "os";
|
|
9
9
|
import * as path from "path";
|
|
10
10
|
import { resolveSymlinkTargetRefusalFlag } from "../sync/symlink-target-refusal-flag.js";
|
|
11
|
-
import { inspectSymlinkTarget, materializedTargetMatchesWire } from "../symlink-target-policy.js";
|
|
11
|
+
import { inspectSymlinkTarget, materializedTargetMatchesWire, personalSymlinkTargetLinkPath, } from "../symlink-target-policy.js";
|
|
12
12
|
import { resolveEntityContext, isExpiringSoon, refreshEntityContext } from "../context.js";
|
|
13
13
|
import { ensureCompanyVaultTransport } from "../company-vault-transport.js";
|
|
14
14
|
import { createSyncProgressRecorder } from "../sync-progress.js";
|
|
@@ -624,6 +624,12 @@ function computePushPlan(filesToShare, journal, skipUnchanged, onHeartbeat, onto
|
|
|
624
624
|
return { items, filesToUpload, bytesToUpload, filesToSkip, preplannedFilesSkipped: omittedSkips };
|
|
625
625
|
}
|
|
626
626
|
function portablePushSymlinkTarget(absolutePath, relativePath, localTarget, wireTarget, context) {
|
|
627
|
+
const reportRefusal = (event) => {
|
|
628
|
+
if (context && context.reportedUnsafeSymlinkPaths.has(relativePath))
|
|
629
|
+
return;
|
|
630
|
+
context?.reportedUnsafeSymlinkPaths.add(relativePath);
|
|
631
|
+
process.stderr.write(`hq-cloud symlink target ${event.classification} ${event.shape}\n`);
|
|
632
|
+
};
|
|
627
633
|
const pathApi = process.platform === "win32" ? path.win32 : path;
|
|
628
634
|
let scope;
|
|
629
635
|
let scopeRoot;
|
|
@@ -641,7 +647,10 @@ function portablePushSymlinkTarget(absolutePath, relativePath, localTarget, wire
|
|
|
641
647
|
else if (context.personalMode) {
|
|
642
648
|
scope = { kind: "personal" };
|
|
643
649
|
scopeRoot = context.syncRoot;
|
|
644
|
-
|
|
650
|
+
// Personal-vault keys retain their physical HQ-root location for target
|
|
651
|
+
// classification. The policy distinguishes personal/ keys from other
|
|
652
|
+
// root entries so root links cannot hide company targets behind a prefix.
|
|
653
|
+
linkPath = personalSymlinkTargetLinkPath(relativePath);
|
|
645
654
|
}
|
|
646
655
|
else {
|
|
647
656
|
scope = { kind: "company", companySlug: context.companySlug };
|
|
@@ -649,7 +658,10 @@ function portablePushSymlinkTarget(absolutePath, relativePath, localTarget, wire
|
|
|
649
658
|
linkPath = `companies/${context.companySlug}/${relativePath}`;
|
|
650
659
|
}
|
|
651
660
|
}
|
|
652
|
-
|
|
661
|
+
const reuseMatchingWireTarget = () => {
|
|
662
|
+
if (wireTarget === undefined || !scope || !materializedTargetMatchesWire(absolutePath, localTarget, wireTarget)) {
|
|
663
|
+
return undefined;
|
|
664
|
+
}
|
|
653
665
|
let wireReport;
|
|
654
666
|
const wireInspection = inspectSymlinkTarget({
|
|
655
667
|
linkPath,
|
|
@@ -660,24 +672,25 @@ function portablePushSymlinkTarget(absolutePath, relativePath, localTarget, wire
|
|
|
660
672
|
});
|
|
661
673
|
if (wireInspection.refused) {
|
|
662
674
|
const event = wireReport ?? { classification: "escapes-scope", shape: "relative-path" };
|
|
663
|
-
|
|
675
|
+
reportRefusal(event);
|
|
664
676
|
return { target: "", refused: true, ...event };
|
|
665
677
|
}
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
}
|
|
669
|
-
}
|
|
678
|
+
return { target: wireTarget, refused: false };
|
|
679
|
+
};
|
|
670
680
|
let candidate = localTarget;
|
|
671
681
|
if (path.isAbsolute(localTarget) || path.win32.isAbsolute(localTarget)) {
|
|
672
682
|
if (!scope || !scopeRoot) {
|
|
673
683
|
const event = { classification: "windows-absolute", shape: "absolute-rooted" };
|
|
674
|
-
|
|
684
|
+
reportRefusal(event);
|
|
675
685
|
return { target: "", refused: true, ...event };
|
|
676
686
|
}
|
|
677
687
|
const absoluteTarget = pathApi.resolve(localTarget);
|
|
678
688
|
if (scope?.kind === "company" &&
|
|
679
689
|
relativePath === "knowledge" &&
|
|
680
690
|
absoluteTarget === pathApi.resolve(scopeRoot, `../../repos/private/knowledge-${scope.companySlug}`)) {
|
|
691
|
+
const matchingWireTarget = reuseMatchingWireTarget();
|
|
692
|
+
if (matchingWireTarget)
|
|
693
|
+
return matchingWireTarget;
|
|
681
694
|
return { target: `../../repos/private/knowledge-${scope.companySlug}`, refused: false };
|
|
682
695
|
}
|
|
683
696
|
const relativeToScope = pathApi.relative(scopeRoot, absoluteTarget);
|
|
@@ -686,6 +699,9 @@ function portablePushSymlinkTarget(absolutePath, relativePath, localTarget, wire
|
|
|
686
699
|
process.stderr.write(`hq-cloud symlink target ${event.classification} ${event.shape}\n`);
|
|
687
700
|
return { target: "", refused: true, ...event };
|
|
688
701
|
}
|
|
702
|
+
const matchingWireTarget = reuseMatchingWireTarget();
|
|
703
|
+
if (matchingWireTarget)
|
|
704
|
+
return matchingWireTarget;
|
|
689
705
|
candidate = pathApi.relative(pathApi.dirname(absolutePath), absoluteTarget).replaceAll("\\", "/");
|
|
690
706
|
}
|
|
691
707
|
else if (process.platform === "win32") {
|
|
@@ -695,7 +711,7 @@ function portablePushSymlinkTarget(absolutePath, relativePath, localTarget, wire
|
|
|
695
711
|
}
|
|
696
712
|
if (!scope && (path.isAbsolute(candidate) || path.win32.isAbsolute(candidate))) {
|
|
697
713
|
const event = { classification: "escapes-scope", shape: "absolute-outside-scope" };
|
|
698
|
-
|
|
714
|
+
reportRefusal(event);
|
|
699
715
|
return { target: "", refused: true, ...event };
|
|
700
716
|
}
|
|
701
717
|
if (!scope)
|
|
@@ -710,9 +726,12 @@ function portablePushSymlinkTarget(absolutePath, relativePath, localTarget, wire
|
|
|
710
726
|
});
|
|
711
727
|
if (inspection.refused) {
|
|
712
728
|
const event = report ?? { classification: "escapes-scope", shape: "relative-path" };
|
|
713
|
-
|
|
729
|
+
reportRefusal(event);
|
|
714
730
|
return { target: "", refused: true, ...event };
|
|
715
731
|
}
|
|
732
|
+
const matchingWireTarget = reuseMatchingWireTarget();
|
|
733
|
+
if (matchingWireTarget)
|
|
734
|
+
return matchingWireTarget;
|
|
716
735
|
return { target: candidate, refused: false };
|
|
717
736
|
}
|
|
718
737
|
function normalizeWindowsSymlinkTarget(target) {
|
|
@@ -1263,6 +1282,7 @@ async function createPushRunContext(options) {
|
|
|
1263
1282
|
skillRegisterLandedBytes: false,
|
|
1264
1283
|
personalConnectorSettingsSync,
|
|
1265
1284
|
symlinkTargetRefusal,
|
|
1285
|
+
reportedUnsafeSymlinkPaths: new Set(),
|
|
1266
1286
|
skillRegistrationFallbacks: 0,
|
|
1267
1287
|
paths,
|
|
1268
1288
|
message,
|
|
@@ -2051,7 +2071,13 @@ async function buildSharePlans(run) {
|
|
|
2051
2071
|
if (pushEntries.some((entry) => isOntologyEntityKey(entry.relativePath))) {
|
|
2052
2072
|
run.ontologyEntityPush = await resolveRunOntologyEntityPush(run);
|
|
2053
2073
|
}
|
|
2054
|
-
const pushPlan = await computePushPlanCooperatively(pushEntries, run.journal, run.skipUnchanged === true, run.options.onHeartbeat, run.options.cooperativeCheckpoint, run.ontologyEntityPush, {
|
|
2074
|
+
const pushPlan = await computePushPlanCooperatively(pushEntries, run.journal, run.skipUnchanged === true, run.options.onHeartbeat, run.options.cooperativeCheckpoint, run.ontologyEntityPush, {
|
|
2075
|
+
hqRoot: run.hqRoot,
|
|
2076
|
+
syncRoot: run.syncRoot,
|
|
2077
|
+
personalMode: run.options.personalMode === true,
|
|
2078
|
+
companySlug: run.ctx.slug,
|
|
2079
|
+
reportedUnsafeSymlinkPaths: run.reportedUnsafeSymlinkPaths,
|
|
2080
|
+
});
|
|
2055
2081
|
const deletePlan = run.propagateDeletes === true
|
|
2056
2082
|
? await computeDeletePlan(run.journal, run.syncRoot, deleteScopeRoots, run.shouldSync, run.propagateDeletePolicy, run.ctx, run.options.personalMode !== true, run.skipSecretPaths)
|
|
2057
2083
|
: { toDelete: [], toTombstone: [], refusedStale: [] };
|
|
@@ -2280,7 +2306,13 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
|
|
|
2280
2306
|
for (const previewItem of pushPlan.items) {
|
|
2281
2307
|
if (previewItem.action !== "upload")
|
|
2282
2308
|
continue;
|
|
2283
|
-
const item = replanPushItemAtExecution(previewItem, run.journal, run.skipUnchanged === true, run.options.onHeartbeat, run.ontologyEntityPush, false, {
|
|
2309
|
+
const item = replanPushItemAtExecution(previewItem, run.journal, run.skipUnchanged === true, run.options.onHeartbeat, run.ontologyEntityPush, false, {
|
|
2310
|
+
hqRoot: run.hqRoot,
|
|
2311
|
+
syncRoot: run.syncRoot,
|
|
2312
|
+
personalMode: run.options.personalMode === true,
|
|
2313
|
+
companySlug: run.ctx.slug,
|
|
2314
|
+
reportedUnsafeSymlinkPaths: run.reportedUnsafeSymlinkPaths,
|
|
2315
|
+
});
|
|
2284
2316
|
if (item?.action === "upload" && !isUploadSuppressedByTombstone(item)) {
|
|
2285
2317
|
plannedUploadCandidates.push(item);
|
|
2286
2318
|
}
|
|
@@ -2430,7 +2462,13 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
|
|
|
2430
2462
|
return;
|
|
2431
2463
|
const { absolutePath, relativePath, localHash } = item;
|
|
2432
2464
|
const refreshUploadItem = () => {
|
|
2433
|
-
const refreshed = replanPushItemAtExecution(item, run.journal, run.skipUnchanged === true, run.options.onHeartbeat, run.ontologyEntityPush, true, {
|
|
2465
|
+
const refreshed = replanPushItemAtExecution(item, run.journal, run.skipUnchanged === true, run.options.onHeartbeat, run.ontologyEntityPush, true, {
|
|
2466
|
+
hqRoot: run.hqRoot,
|
|
2467
|
+
syncRoot: run.syncRoot,
|
|
2468
|
+
personalMode: run.options.personalMode === true,
|
|
2469
|
+
companySlug: run.ctx.slug,
|
|
2470
|
+
reportedUnsafeSymlinkPaths: run.reportedUnsafeSymlinkPaths,
|
|
2471
|
+
});
|
|
2434
2472
|
if (refreshed === null) {
|
|
2435
2473
|
counters.filesSkipped++;
|
|
2436
2474
|
return null;
|
|
@@ -2669,7 +2707,7 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
|
|
|
2669
2707
|
? { kind: "personal" }
|
|
2670
2708
|
: { kind: "company", companySlug: run.ctx.slug },
|
|
2671
2709
|
symlinkTargetLinkPath: run.options.personalMode === true
|
|
2672
|
-
?
|
|
2710
|
+
? personalSymlinkTargetLinkPath(relativePath)
|
|
2673
2711
|
: `companies/${run.ctx.slug}/${relativePath}`,
|
|
2674
2712
|
});
|
|
2675
2713
|
if (remoteDiffers) {
|
|
@@ -3308,7 +3346,13 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
|
|
|
3308
3346
|
continue;
|
|
3309
3347
|
}
|
|
3310
3348
|
const previewItem = queue[0];
|
|
3311
|
-
const item = replanPushItemAtExecution(previewItem, run.journal, run.skipUnchanged === true, run.options.onHeartbeat, run.ontologyEntityPush, false, {
|
|
3349
|
+
const item = replanPushItemAtExecution(previewItem, run.journal, run.skipUnchanged === true, run.options.onHeartbeat, run.ontologyEntityPush, false, {
|
|
3350
|
+
hqRoot: run.hqRoot,
|
|
3351
|
+
syncRoot: run.syncRoot,
|
|
3352
|
+
personalMode: run.options.personalMode === true,
|
|
3353
|
+
companySlug: run.ctx.slug,
|
|
3354
|
+
reportedUnsafeSymlinkPaths: run.reportedUnsafeSymlinkPaths,
|
|
3355
|
+
});
|
|
3312
3356
|
if (item === null) {
|
|
3313
3357
|
queue.shift();
|
|
3314
3358
|
counters.filesSkipped++;
|
|
@@ -3492,7 +3536,7 @@ async function probeRemoteForWinner(run, item, remoteMtime) {
|
|
|
3492
3536
|
? { kind: "personal" }
|
|
3493
3537
|
: { kind: "company", companySlug: run.ctx.slug },
|
|
3494
3538
|
symlinkTargetLinkPath: run.options.personalMode === true
|
|
3495
|
-
?
|
|
3539
|
+
? personalSymlinkTargetLinkPath(item.relativePath)
|
|
3496
3540
|
: `companies/${run.ctx.slug}/${item.relativePath}`,
|
|
3497
3541
|
});
|
|
3498
3542
|
fetched = { abs: probeAbs, downloaded };
|
|
@@ -3622,7 +3666,7 @@ async function adoptRemoteOnPush(run, item, remoteHash, decision, probe) {
|
|
|
3622
3666
|
? { kind: "personal" }
|
|
3623
3667
|
: { kind: "company", companySlug: run.ctx.slug },
|
|
3624
3668
|
symlinkTargetLinkPath: run.options.personalMode === true
|
|
3625
|
-
?
|
|
3669
|
+
? personalSymlinkTargetLinkPath(item.relativePath)
|
|
3626
3670
|
: `companies/${run.ctx.slug}/${item.relativePath}`,
|
|
3627
3671
|
});
|
|
3628
3672
|
}
|