@indigoai-us/hq-cloud 6.15.97 → 6.15.98
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-company.d.ts.map +1 -1
- package/dist/bin/sync-runner-company.js +13 -6
- package/dist/bin/sync-runner-company.js.map +1 -1
- package/dist/bin/sync-runner-company.test.js +74 -0
- package/dist/bin/sync-runner-company.test.js.map +1 -1
- package/dist/bin/sync-runner-planning.d.ts.map +1 -1
- package/dist/bin/sync-runner-planning.js +10 -2
- package/dist/bin/sync-runner-planning.js.map +1 -1
- package/dist/bin/sync-runner.d.ts.map +1 -1
- package/dist/bin/sync-runner.js +41 -4
- package/dist/bin/sync-runner.js.map +1 -1
- package/dist/bin/sync-runner.test.js +118 -1
- package/dist/bin/sync-runner.test.js.map +1 -1
- package/dist/cli/share.d.ts.map +1 -1
- package/dist/cli/share.js +48 -6
- package/dist/cli/share.js.map +1 -1
- package/dist/cli/share.test.js +37 -0
- package/dist/cli/share.test.js.map +1 -1
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +47 -5
- package/dist/cli/sync.js.map +1 -1
- package/dist/cognito-auth.d.ts +32 -0
- package/dist/cognito-auth.d.ts.map +1 -1
- package/dist/cognito-auth.js +46 -1
- package/dist/cognito-auth.js.map +1 -1
- package/dist/cognito-auth.test.js +49 -0
- package/dist/cognito-auth.test.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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,YAAY,EAAE,MAAM,aAAa,CAAC;AAqBhG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAgC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAOL,KAAK,iBAAiB,EAEvB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAA2D,KAAK,0BAA0B,EAAE,MAAM,oBAAoB,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
|
@@ -25,6 +25,7 @@ import { appendConflictEntry } from "../lib/conflict-index.js";
|
|
|
25
25
|
import { isCloudAuthoritative } from "../lib/cloud-authoritative.js";
|
|
26
26
|
import { VaultAuthError, VaultClient, VaultPermissionDeniedError } from "../vault-client.js";
|
|
27
27
|
import { describeError } from "../lib/describe-error.js";
|
|
28
|
+
import { isRetryableIdentityRefusal, isTerminalIdentityRefusal, } from "../cognito-auth.js";
|
|
28
29
|
import { readlinkOrNull } from "../lib/readlink-safe.js";
|
|
29
30
|
import { checkpointReconcileApply } from "../sync/reconcile-cursor.js";
|
|
30
31
|
/**
|
|
@@ -63,8 +64,14 @@ async function remoteContentDiffers(ctx, relativePath, localHash, hqRoot) {
|
|
|
63
64
|
return remoteHash !== localHash;
|
|
64
65
|
}
|
|
65
66
|
catch (err) {
|
|
66
|
-
|
|
67
|
+
// A session-level auth refusal (vault 401/403, or a mid-pass Cognito
|
|
68
|
+
// identity refusal from the bearer getter) is a run-level fact, never a
|
|
69
|
+
// "remote changed" signal — propagate it so the pass aborts once.
|
|
70
|
+
if (err instanceof VaultAuthError ||
|
|
71
|
+
isTerminalIdentityRefusal(err) ||
|
|
72
|
+
isRetryableIdentityRefusal(err)) {
|
|
67
73
|
throw err;
|
|
74
|
+
}
|
|
68
75
|
return true;
|
|
69
76
|
}
|
|
70
77
|
finally {
|
|
@@ -1671,8 +1678,15 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
|
|
|
1671
1678
|
await performUpload(precondition);
|
|
1672
1679
|
}
|
|
1673
1680
|
catch (err) {
|
|
1674
|
-
|
|
1681
|
+
// A session-level auth refusal (vault 401/403, or a mid-pass Cognito
|
|
1682
|
+
// identity refusal from the bearer getter) is a run-level fact, not a
|
|
1683
|
+
// per-file upload failure — propagate it so one refusal aborts the pass
|
|
1684
|
+
// instead of fanning out into a per-file error for every in-flight PUT.
|
|
1685
|
+
if (err instanceof VaultAuthError ||
|
|
1686
|
+
isTerminalIdentityRefusal(err) ||
|
|
1687
|
+
isRetryableIdentityRefusal(err)) {
|
|
1675
1688
|
throw err;
|
|
1689
|
+
}
|
|
1676
1690
|
// A failed checkpoint is a state-disk problem, not this object's
|
|
1677
1691
|
// problem. Swallowing it here would mark the file as an upload failure
|
|
1678
1692
|
// and let the pass keep going, re-attempting the same failing
|
|
@@ -1718,8 +1732,11 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
|
|
|
1718
1732
|
await performUpload(undefined);
|
|
1719
1733
|
}
|
|
1720
1734
|
catch (retryErr) {
|
|
1721
|
-
if (retryErr instanceof VaultAuthError
|
|
1735
|
+
if (retryErr instanceof VaultAuthError ||
|
|
1736
|
+
isTerminalIdentityRefusal(retryErr) ||
|
|
1737
|
+
isRetryableIdentityRefusal(retryErr)) {
|
|
1722
1738
|
throw retryErr;
|
|
1739
|
+
}
|
|
1723
1740
|
hadUploadFailure = true;
|
|
1724
1741
|
run.emit({
|
|
1725
1742
|
type: "error",
|
|
@@ -1758,8 +1775,19 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
|
|
|
1758
1775
|
const queue = [...pushPlan.items];
|
|
1759
1776
|
const inFlight = new Set();
|
|
1760
1777
|
let inFlightBytes = 0;
|
|
1778
|
+
// A session-level auth refusal is a run-level fact: stop admitting new
|
|
1779
|
+
// uploads so one refusal aborts the pass promptly instead of replanning and
|
|
1780
|
+
// re-attempting the whole queue against the dead session (HQ-DESKTOP-5S).
|
|
1781
|
+
// Distinct from `aborted` on purpose — `aborted` makes the caller return
|
|
1782
|
+
// early WITHOUT rethrowing worker errors, which would swallow the refusal;
|
|
1783
|
+
// this flag only halts admission, so the refusal still surfaces via
|
|
1784
|
+
// throwUploadWorkerErrors below. In-flight legs still drain.
|
|
1785
|
+
let sessionAuthAborted = false;
|
|
1761
1786
|
while (queue.length > 0 || inFlight.size > 0) {
|
|
1762
|
-
while (!aborted &&
|
|
1787
|
+
while (!aborted &&
|
|
1788
|
+
!sessionAuthAborted &&
|
|
1789
|
+
inFlight.size < TRANSFER_CONCURRENCY &&
|
|
1790
|
+
queue.length > 0) {
|
|
1763
1791
|
const previewItem = queue[0];
|
|
1764
1792
|
const item = replanPushItemAtExecution(previewItem, run.journal, run.skipUnchanged === true, run.options.onHeartbeat);
|
|
1765
1793
|
if (item === null) {
|
|
@@ -1795,6 +1823,11 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
|
|
|
1795
1823
|
// more objects that can never be recorded. Stop feeding the queue.
|
|
1796
1824
|
if (err instanceof JournalCheckpointError)
|
|
1797
1825
|
aborted = true;
|
|
1826
|
+
if (err instanceof VaultAuthError ||
|
|
1827
|
+
isTerminalIdentityRefusal(err) ||
|
|
1828
|
+
isRetryableIdentityRefusal(err)) {
|
|
1829
|
+
sessionAuthAborted = true;
|
|
1830
|
+
}
|
|
1798
1831
|
workerErrors.push(err instanceof Error ? err : new Error(String(err)));
|
|
1799
1832
|
})
|
|
1800
1833
|
.finally(() => {
|
|
@@ -1915,8 +1948,11 @@ async function writePushConflictMirror(run, item, remoteHash, preserved) {
|
|
|
1915
1948
|
});
|
|
1916
1949
|
}
|
|
1917
1950
|
}
|
|
1918
|
-
if (mirrorErr instanceof VaultAuthError
|
|
1951
|
+
if (mirrorErr instanceof VaultAuthError ||
|
|
1952
|
+
isTerminalIdentityRefusal(mirrorErr) ||
|
|
1953
|
+
isRetryableIdentityRefusal(mirrorErr)) {
|
|
1919
1954
|
throw mirrorErr;
|
|
1955
|
+
}
|
|
1920
1956
|
if (mirrorErr instanceof JournalCheckpointError)
|
|
1921
1957
|
throw mirrorErr;
|
|
1922
1958
|
if (mirrorErr instanceof WindowsRenameBlockedError) {
|
|
@@ -2042,8 +2078,14 @@ async function executeDeletes(run, deletePlan, decommissionPlan, counters, files
|
|
|
2042
2078
|
});
|
|
2043
2079
|
}
|
|
2044
2080
|
catch (err) {
|
|
2045
|
-
|
|
2081
|
+
// A session-level auth refusal is a run-level fact, not a per-file delete
|
|
2082
|
+
// failure — propagate it so one refusal aborts the pass instead of
|
|
2083
|
+
// recording a per-file error for every delete in flight.
|
|
2084
|
+
if (err instanceof VaultAuthError ||
|
|
2085
|
+
isTerminalIdentityRefusal(err) ||
|
|
2086
|
+
isRetryableIdentityRefusal(err)) {
|
|
2046
2087
|
throw err;
|
|
2088
|
+
}
|
|
2047
2089
|
run.emit({
|
|
2048
2090
|
type: "error",
|
|
2049
2091
|
path: relativePath,
|