@indigoai-us/hq-cloud 6.18.16 → 6.18.17

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.
Files changed (75) hide show
  1. package/dist/bin/sync-runner-company.d.ts.map +1 -1
  2. package/dist/bin/sync-runner-company.js +9 -1
  3. package/dist/bin/sync-runner-company.js.map +1 -1
  4. package/dist/bin/sync-runner-company.test.js +184 -3
  5. package/dist/bin/sync-runner-company.test.js.map +1 -1
  6. package/dist/bin/sync-runner.d.ts +8 -0
  7. package/dist/bin/sync-runner.d.ts.map +1 -1
  8. package/dist/bin/sync-runner.js.map +1 -1
  9. package/dist/bin/sync-runner.test.js +57 -2
  10. package/dist/bin/sync-runner.test.js.map +1 -1
  11. package/dist/cli/rescue-core.d.ts.map +1 -1
  12. package/dist/cli/rescue-core.js +21 -6
  13. package/dist/cli/rescue-core.js.map +1 -1
  14. package/dist/cli/rescue-rsync-status.test.js +23 -0
  15. package/dist/cli/rescue-rsync-status.test.js.map +1 -1
  16. package/dist/cli/share-plan-limit-presign.test.d.ts +2 -0
  17. package/dist/cli/share-plan-limit-presign.test.d.ts.map +1 -0
  18. package/dist/cli/share-plan-limit-presign.test.js +271 -0
  19. package/dist/cli/share-plan-limit-presign.test.js.map +1 -0
  20. package/dist/cli/share.d.ts +22 -0
  21. package/dist/cli/share.d.ts.map +1 -1
  22. package/dist/cli/share.js +151 -25
  23. package/dist/cli/share.js.map +1 -1
  24. package/dist/cli/share.test.js +262 -18
  25. package/dist/cli/share.test.js.map +1 -1
  26. package/dist/cli/sync.d.ts +38 -1
  27. package/dist/cli/sync.d.ts.map +1 -1
  28. package/dist/cli/sync.js +2 -1
  29. package/dist/cli/sync.js.map +1 -1
  30. package/dist/index.d.ts +5 -2
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +5 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/object-io.d.ts +40 -0
  35. package/dist/object-io.d.ts.map +1 -1
  36. package/dist/object-io.js +122 -5
  37. package/dist/object-io.js.map +1 -1
  38. package/dist/object-io.test.js +144 -1
  39. package/dist/object-io.test.js.map +1 -1
  40. package/dist/plan-limit-pause.d.ts +61 -0
  41. package/dist/plan-limit-pause.d.ts.map +1 -0
  42. package/dist/plan-limit-pause.js +252 -0
  43. package/dist/plan-limit-pause.js.map +1 -0
  44. package/dist/plan-limit-pause.test.d.ts +2 -0
  45. package/dist/plan-limit-pause.test.d.ts.map +1 -0
  46. package/dist/plan-limit-pause.test.js +150 -0
  47. package/dist/plan-limit-pause.test.js.map +1 -0
  48. package/dist/plan-limit.d.ts +87 -0
  49. package/dist/plan-limit.d.ts.map +1 -0
  50. package/dist/plan-limit.fixtures.d.ts +34 -0
  51. package/dist/plan-limit.fixtures.d.ts.map +1 -0
  52. package/dist/plan-limit.fixtures.js +96 -0
  53. package/dist/plan-limit.fixtures.js.map +1 -0
  54. package/dist/plan-limit.js +157 -0
  55. package/dist/plan-limit.js.map +1 -0
  56. package/dist/plan-limit.test.d.ts +2 -0
  57. package/dist/plan-limit.test.d.ts.map +1 -0
  58. package/dist/plan-limit.test.js +132 -0
  59. package/dist/plan-limit.test.js.map +1 -0
  60. package/dist/sync/index.d.ts +1 -1
  61. package/dist/sync/index.d.ts.map +1 -1
  62. package/dist/sync/index.js.map +1 -1
  63. package/dist/sync/mutation-client.d.ts +14 -2
  64. package/dist/sync/mutation-client.d.ts.map +1 -1
  65. package/dist/sync/mutation-client.js +34 -2
  66. package/dist/sync/mutation-client.js.map +1 -1
  67. package/dist/sync/mutation-client.test.js +49 -0
  68. package/dist/sync/mutation-client.test.js.map +1 -1
  69. package/dist/vault-client.d.ts +49 -6
  70. package/dist/vault-client.d.ts.map +1 -1
  71. package/dist/vault-client.js +115 -43
  72. package/dist/vault-client.js.map +1 -1
  73. package/dist/vault-client.test.js +86 -10
  74. package/dist/vault-client.test.js.map +1 -1
  75. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -49,7 +49,11 @@ export { PERSONAL_VAULT_DEFAULT_EXCLUSIONS, isPersonalVaultExcluded, matchPerson
49
49
  // VaultClient SDK (VLT-7)
50
50
  export { VaultClient, pickCanonicalPersonEntity } from "./vault-client.js";
51
51
  export { POLICY_WRITE_SCOPE_TRUNCATED, VaultCredentialScopeError, } from "./credential-scope-error.js";
52
- export { VaultClientError, VaultAuthError, VaultPermissionDeniedError, VaultNotFoundError, VaultConflictError, } from "./vault-client.js";
52
+ export { VaultClientError, VaultAuthError, VaultPermissionDeniedError, VaultNotFoundError, VaultConflictError, planLimitRefusalFromError, } from "./vault-client.js";
53
+ // Plan-limit refusals: one parser for every server shape, plus the runner's
54
+ // per-vault pause record (clear it after a plan change to retry at once).
55
+ export { PLAN_LIMIT_CODES, PLAN_LIMIT_REACHED_ERROR, formatPlanLimitNotice, hasPlanLimitMarker, isHttpsUpgradeUrl, parsePlanLimitRefusal, } from "./plan-limit.js";
56
+ export { PLAN_LIMIT_PAUSE_RETRY_MS, clearPlanLimitPauses, } from "./plan-limit-pause.js";
53
57
  // Usage telemetry collector (`/v1/usage`). Re-exported so wrappers other than
54
58
  // `hq-sync-runner` (mobile, custom CLIs) can run the collector on their own
55
59
  // schedule without re-implementing the cursor + sanitizer.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ import { ObjectLockChecksumRequiredError } from "./lib/s3-content-checksum.js";
28
28
  export { ObjectLockChecksumRequiredError };
29
29
  import type { EntityContext } from "./types.js";
30
30
  import type { PresignOp, PresignKeyInput, PresignResultRow, VaultListedObject } from "./vault-client.js";
31
+ import { type PlanLimitRefusal } from "./plan-limit.js";
31
32
  /**
32
33
  * Bound for one vault/S3 HTTPS request. Matches FILE_TOMBSTONE reads
33
34
  * (`FETCH_TOMBSTONES_TIMEOUT_MS`) and the push-transport default so a stalled
@@ -38,6 +39,26 @@ export declare const OBJECT_IO_REQUEST_TIMEOUT_MS = 60000;
38
39
  export declare const OBJECT_IO_BODY_IDLE_TIMEOUT_MS = 15000;
39
40
  export declare function objectIORequestTimeoutMs(): number;
40
41
  export declare function setObjectIORequestTimeoutMsForTesting(ms: number | undefined): void;
42
+ /** Test-only override for {@link FILES_ADMISSION_TIMEOUT_MS}. */
43
+ export declare function setFilesAdmissionTimeoutMsForTesting(ms: number | undefined): void;
44
+ /**
45
+ * What a files admission check learned about a company vault.
46
+ *
47
+ * - `allowed`: the server would accept an upload now.
48
+ * - `refused`: the company is over its limits; `refusal` is the fresh body.
49
+ * - `unknown`: no answer (no admission route yet, not a company vault,
50
+ * denied, a server error, a network error or a timeout). Callers keep
51
+ * whatever they would have done without the check.
52
+ */
53
+ export type FilesAdmissionOutcome = {
54
+ state: "allowed";
55
+ } | {
56
+ state: "refused";
57
+ refusal: PlanLimitRefusal;
58
+ } | {
59
+ state: "unknown";
60
+ reason: string;
61
+ };
41
62
  export declare function setObjectIOBodyIdleTimeoutMsForTesting(ms: number | undefined): void;
42
63
  export declare class ObjectBodyIdleTimeoutError extends Error {
43
64
  constructor(key: string, timeoutMs: number);
@@ -65,6 +86,12 @@ export interface PresignTransportClient {
65
86
  cursor: string | null;
66
87
  truncated: boolean;
67
88
  }>;
89
+ /** Files admission check on the presign route (see VaultClient). Optional. */
90
+ checkFilesAdmission?(companyUid: string, options?: {
91
+ timeoutMs?: number;
92
+ }): Promise<{
93
+ allowed: boolean;
94
+ }>;
68
95
  }
69
96
  /**
70
97
  * Conditional-write fence for a PUT (S3 conditional writes, GA 2024-11).
@@ -183,6 +210,12 @@ export interface ObjectIO {
183
210
  * uncached, and the per-key call falls back to a single presign.
184
211
  */
185
212
  prime?(op: PresignOp, keys: PresignKeyInput[]): Promise<void>;
213
+ /**
214
+ * Ask the vault whether a new upload would be refused by the plan limit,
215
+ * without minting a URL. Present only on the presigned transport; it never
216
+ * throws.
217
+ */
218
+ checkFilesAdmission?(): Promise<FilesAdmissionOutcome>;
186
219
  /**
187
220
  * True if a live primed PUT URL exists for `key`. Lets uploadFile/uploadSymlink
188
221
  * skip recomputing metadata + the created-at HEAD when a `prime("put", …)`
@@ -336,6 +369,12 @@ export declare class PresignObjectIO implements ObjectIO {
336
369
  private readonly breaker;
337
370
  private readonly urlCache;
338
371
  private readonly headReuseCache;
372
+ /**
373
+ * PUT keys a {@link prime} batch was refused for by the plan limit, with the
374
+ * refusal and its expiry. The per-key upload that follows throws the cached
375
+ * refusal instead of presigning the same key a second time in the pass.
376
+ */
377
+ private readonly putRefusalCache;
339
378
  constructor(vault: PresignTransportClient, companyUid: string, breaker?: RateLimitBreaker);
340
379
  private cacheKey;
341
380
  hasPrimedPut(key: string, contentHash?: string, precondition?: PutPrecondition | null): boolean;
@@ -356,6 +395,7 @@ export declare class PresignObjectIO implements ObjectIO {
356
395
  */
357
396
  private resolveUrl;
358
397
  private requireSignedPutPreconditions;
398
+ checkFilesAdmission(): Promise<FilesAdmissionOutcome>;
359
399
  prime(op: PresignOp, keys: PresignKeyInput[]): Promise<void>;
360
400
  putObject(input: PutObjectInput): Promise<{
361
401
  etag: string;
@@ -1 +1 @@
1
- {"version":3,"file":"object-io.d.ts","sourceRoot":"","sources":["../src/object-io.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object-io.d.ts","sourceRoot":"","sources":["../src/object-io.ts"],"names":[],"mappings":"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"}
package/dist/object-io.js CHANGED
@@ -30,7 +30,8 @@ import { isAbortOrTimeoutError, isTransientNetworkError } from "./lib/net-errors
30
30
  import { headersForObjectLockPut, isObjectLockChecksumRequiredBody, isObjectLockChecksumRequiredError, ObjectLockChecksumRequiredError, } from "./lib/s3-content-checksum.js";
31
31
  export { ObjectLockChecksumRequiredError };
32
32
  import { getBandwidthGovernor } from "./bandwidth.js";
33
- import { VaultClientError } from "./vault-client.js";
33
+ import { planLimitRefusalFromError, VaultClientError } from "./vault-client.js";
34
+ import { parsePlanLimitRefusal } from "./plan-limit.js";
34
35
  /**
35
36
  * Bound for one vault/S3 HTTPS request. Matches FILE_TOMBSTONE reads
36
37
  * (`FETCH_TOMBSTONES_TIMEOUT_MS`) and the push-transport default so a stalled
@@ -47,6 +48,13 @@ export function objectIORequestTimeoutMs() {
47
48
  export function setObjectIORequestTimeoutMsForTesting(ms) {
48
49
  objectIORequestTimeoutMsForTest = ms;
49
50
  }
51
+ /** Upper bound on one files admission check, network and auth included. */
52
+ const FILES_ADMISSION_TIMEOUT_MS = 5_000;
53
+ let filesAdmissionTimeoutMsForTest;
54
+ /** Test-only override for {@link FILES_ADMISSION_TIMEOUT_MS}. */
55
+ export function setFilesAdmissionTimeoutMsForTesting(ms) {
56
+ filesAdmissionTimeoutMsForTest = ms;
57
+ }
50
58
  export function setObjectIOBodyIdleTimeoutMsForTesting(ms) {
51
59
  objectIOBodyIdleTimeoutMsForTest = ms;
52
60
  }
@@ -629,15 +637,40 @@ function isSkipWithLogDenialCode(code) {
629
637
  return (typeof code === "string" &&
630
638
  (code.endsWith("_FORBIDDEN") || SKIP_WITH_LOG_DENIAL_CODES.has(code)));
631
639
  }
640
+ /**
641
+ * The plan-limit refusal a per-key presign row carries, or null. Rows use the
642
+ * personal-scope skip shape (`code: "PLAN_LIMIT_REACHED"`) or the per-item
643
+ * company shape (`error: "plan_limit_reached"` / `code: "PLAN_LIMIT_EXCEEDED"`);
644
+ * both carry the server's `upgradeUrl`.
645
+ */
646
+ function planLimitRefusalFromRow(row) {
647
+ if (!row.error && row.url)
648
+ return null;
649
+ return parsePlanLimitRefusal(row);
650
+ }
651
+ /**
652
+ * The typed error a refused PUT presign throws: a 402 {@link VaultClientError}
653
+ * carrying the parsed refusal, so share()'s plan-limit skip recognises it the
654
+ * same way it recognises a whole-batch 402.
655
+ */
656
+ function planLimitPresignError(key, refusal) {
657
+ return new VaultClientError(refusal.message ?? "Plan limit reached", 402, undefined, {
658
+ ...(refusal.code !== undefined ? { code: refusal.code } : {}),
659
+ ...(refusal.error !== undefined ? { errorCode: refusal.error } : {}),
660
+ path: key,
661
+ upgradeUrl: refusal.upgradeUrl,
662
+ planLimit: refusal,
663
+ });
664
+ }
632
665
  function firstRowOrThrow(results, key, op) {
633
666
  const row = results[0];
634
667
  if (!row) {
635
668
  throw new Error(`presign ${op} returned no row for ${key}`);
636
669
  }
637
670
  if (row.error || !row.url) {
638
- if (row.code === "PLAN_LIMIT_REACHED" && row.upgradeUrl) {
639
- throw new VaultClientError(row.error ?? "Plan limit reached", 402, undefined, { code: row.code, path: key, upgradeUrl: row.upgradeUrl });
640
- }
671
+ const refusal = planLimitRefusalFromRow(row);
672
+ if (refusal)
673
+ throw planLimitPresignError(key, refusal);
641
674
  // An expected per-key denial (see {@link isSkipWithLogDenialCode}) must
642
675
  // throw the SAME `name: "Forbidden"` shape the GET/HEAD path uses so it
643
676
  // routes through the `isAccessDenied` skip in sync.ts / share.ts. Without
@@ -734,6 +767,12 @@ const PRIME_EXPIRES_IN_SECONDS = 1800;
734
767
  const PRIME_CONCURRENCY = 4;
735
768
  /** Treat a cached URL within this window of expiry as a miss (re-presign). */
736
769
  const CACHE_SAFETY_MS = 60_000;
770
+ /**
771
+ * How long a primed PUT refusal (plan limit) answers the per-key upload that
772
+ * follows it. It only has to span one push pass; after that the server is
773
+ * asked again, so a plan change is never masked for long.
774
+ */
775
+ const PRIME_REFUSAL_TTL_MS = 10 * 60 * 1000;
737
776
  /**
738
777
  * Opt-in gate for strict fail-closed enforcement of fenced presigned PUTs.
739
778
  *
@@ -842,6 +881,12 @@ export class PresignObjectIO {
842
881
  breaker;
843
882
  urlCache = new Map();
844
883
  headReuseCache = new Map();
884
+ /**
885
+ * PUT keys a {@link prime} batch was refused for by the plan limit, with the
886
+ * refusal and its expiry. The per-key upload that follows throws the cached
887
+ * refusal instead of presigning the same key a second time in the pass.
888
+ */
889
+ putRefusalCache = new Map();
845
890
  constructor(vault, companyUid,
846
891
  // Shared across a run's per-company instances by the factory; a directly
847
892
  // constructed instance gets its own (fine for tests / one-offs).
@@ -962,6 +1007,15 @@ export class PresignObjectIO {
962
1007
  : undefined;
963
1008
  if (hit)
964
1009
  return { url: hit.url, headers: hit.headers };
1010
+ if (op === "put") {
1011
+ const refused = this.putRefusalCache.get(key);
1012
+ if (refused) {
1013
+ this.putRefusalCache.delete(key);
1014
+ if (Date.now() < refused.expiresAtMs) {
1015
+ throw planLimitPresignError(key, refused.refusal);
1016
+ }
1017
+ }
1018
+ }
965
1019
  // Primed URLs still serve once the breaker trips (no wire needed); only an
966
1020
  // uncached key on an exhausted budget fails fast.
967
1021
  return this.presignSingle(op, key, extra);
@@ -984,6 +1038,50 @@ export class PresignObjectIO {
984
1038
  }
985
1039
  }
986
1040
  }
1041
+ async checkFilesAdmission() {
1042
+ if (!this.companyUid.startsWith("cmp_")) {
1043
+ return { state: "unknown", reason: "not-a-company-vault" };
1044
+ }
1045
+ const check = this.vault.checkFilesAdmission;
1046
+ if (typeof check !== "function") {
1047
+ return { state: "unknown", reason: "client-has-no-admission-check" };
1048
+ }
1049
+ // The check shares the per-user presign budget. Once that is spent, do
1050
+ // not add to it; the caller keeps its hourly retry.
1051
+ if (this.breaker.isTripped())
1052
+ return { state: "unknown", reason: "rate-limited" };
1053
+ const timeoutMs = filesAdmissionTimeoutMsForTest ?? FILES_ADMISSION_TIMEOUT_MS;
1054
+ let timer;
1055
+ const timedOut = new Promise((resolve) => {
1056
+ timer = setTimeout(() => resolve({ state: "unknown", reason: "timeout" }), timeoutMs);
1057
+ timer.unref?.();
1058
+ });
1059
+ const asked = (async () => {
1060
+ try {
1061
+ const answer = await check.call(this.vault, this.companyUid, { timeoutMs });
1062
+ return answer.allowed === true
1063
+ ? { state: "allowed" }
1064
+ : { state: "unknown", reason: "not-allowed-without-refusal" };
1065
+ }
1066
+ catch (err) {
1067
+ const refusal = planLimitRefusalFromError(err);
1068
+ if (refusal)
1069
+ return { state: "refused", refusal };
1070
+ const status = err instanceof VaultClientError ? err.statusCode : undefined;
1071
+ return {
1072
+ state: "unknown",
1073
+ reason: status !== undefined ? `http-${status}` : "request-failed",
1074
+ };
1075
+ }
1076
+ })();
1077
+ try {
1078
+ return await Promise.race([asked, timedOut]);
1079
+ }
1080
+ finally {
1081
+ if (timer !== undefined)
1082
+ clearTimeout(timer);
1083
+ }
1084
+ }
987
1085
  async prime(op, keys) {
988
1086
  if (keys.length === 0)
989
1087
  return;
@@ -1024,6 +1122,16 @@ export class PresignObjectIO {
1024
1122
  this.breaker.trip();
1025
1123
  return;
1026
1124
  }
1125
+ // A whole-batch plan-limit 402 refuses every PUT in the chunk.
1126
+ // Remember it per key so each upload reports the refusal without
1127
+ // presigning the key again in the same pass.
1128
+ const refusal = op === "put" ? planLimitRefusalFromError(err) : null;
1129
+ if (refusal) {
1130
+ const expiresAtMs = Date.now() + PRIME_REFUSAL_TTL_MS;
1131
+ for (const k of chunk) {
1132
+ this.putRefusalCache.set(k.key, { refusal, expiresAtMs });
1133
+ }
1134
+ }
1027
1135
  // A non-429 chunk failure just means those keys aren't cached — the
1028
1136
  // per-key call will single-presign. Never let priming fail the sync.
1029
1137
  continue;
@@ -1038,8 +1146,17 @@ export class PresignObjectIO {
1038
1146
  },
1039
1147
  ]));
1040
1148
  for (const row of resp.results) {
1041
- if (row.error || !row.url)
1149
+ if (row.error || !row.url) {
1150
+ const refusal = op === "put" ? planLimitRefusalFromRow(row) : null;
1151
+ if (refusal) {
1152
+ this.putRefusalCache.set(row.key, {
1153
+ refusal,
1154
+ expiresAtMs: now + PRIME_REFUSAL_TTL_MS,
1155
+ });
1156
+ }
1042
1157
  continue;
1158
+ }
1159
+ this.putRefusalCache.delete(row.key);
1043
1160
  const fence = putFences.get(row.key);
1044
1161
  this.urlCache.set(this.cacheKey(op, row.key), {
1045
1162
  url: row.url,
@@ -1 +1 @@
1
- {"version":3,"file":"object-io.js","sourceRoot":"","sources":["../src/object-io.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object-io.js","sourceRoot":"","sources":["../src/object-io.ts"],"names":[],"mappings":"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"}