@indigoai-us/hq-cloud 6.18.45 → 6.18.46-alpha.1

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.
@@ -28,6 +28,8 @@ export declare const FETCH_TOMBSTONES_RETRY_DELAYS_MS: readonly [250, 750];
28
28
  * `FETCH_TOMBSTONES_MAX_ATTEMPTS`.
29
29
  */
30
30
  export declare const FETCH_TOMBSTONES_TRANSIENT_MAX_ATTEMPTS = 5;
31
+ /** Protects a sync from a broken cursor that never reaches the final page. */
32
+ export declare const FETCH_TOMBSTONES_MAX_PAGES = 1000;
31
33
  /**
32
34
  * The planners must not continue without a deletion-authority snapshot. This
33
35
  * error deliberately retains the last transport/status cause so the runner can
@@ -37,6 +39,10 @@ export declare class TombstoneFetchError extends Error {
37
39
  readonly attempts: number;
38
40
  constructor(message: string, attempts: number, cause?: unknown);
39
41
  }
42
+ /** The server rejected a cursor even after the client restarted from page one. */
43
+ export declare class TombstoneFullReconcileRequiredError extends TombstoneFetchError {
44
+ constructor(cause?: unknown);
45
+ }
40
46
  /**
41
47
  * A FILE_TOMBSTONE as the planners need it: the deleted key + when it was
42
48
  * deleted. The `deletedAt` timestamp is the decisive precedence signal on the
@@ -52,10 +58,12 @@ export interface CompanyTombstone {
52
58
  * server-resolved ownership selector: the client must never pass a `prs_*` UID
53
59
  * through the company selector because that route requires company membership.
54
60
  */
55
- export type TombstoneScope = {
61
+ export type TombstoneScope = ({
56
62
  companyUid: string;
57
63
  } | {
58
64
  personal: true;
65
+ }) & {
66
+ prefix?: string;
59
67
  };
60
68
  /**
61
69
  * Fetch one vault's FILE_TOMBSTONE rows from hq-pro
@@ -1 +1 @@
1
- {"version":3,"file":"tombstones.d.ts","sourceRoot":"","sources":["../../src/cli/tombstones.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAStD;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAClD,wFAAwF;AACxF,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,eAAO,MAAM,gCAAgC,qBAAsB,CAAC;AACpE;;;;GAIG;AACH,eAAO,MAAM,uCAAuC,IAAI,CAAC;AAkCzD;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAM/D;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AAEzE;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,kBAAkB,EAC/B,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAuGxC"}
1
+ {"version":3,"file":"tombstones.d.ts","sourceRoot":"","sources":["../../src/cli/tombstones.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAetD;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAClD,wFAAwF;AACxF,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,eAAO,MAAM,gCAAgC,qBAAsB,CAAC;AACpE;;;;GAIG;AACH,eAAO,MAAM,uCAAuC,IAAI,CAAC;AACzD,8EAA8E;AAC9E,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAkChD;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAM/D;AAED,kFAAkF;AAClF,qBAAa,mCAAoC,SAAQ,mBAAmB;gBAC9D,KAAK,CAAC,EAAE,OAAO;CAQ5B;AA4JD;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjG;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,kBAAkB,EAC/B,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CA+GxC"}
@@ -12,10 +12,16 @@
12
12
  * (`isEphemeralPath`, `isMalformedVaultKey`), so the reverse value-import would
13
13
  * create a runtime ESM cycle.
14
14
  */
15
+ import * as crypto from "node:crypto";
16
+ import * as fs from "node:fs";
17
+ import * as os from "node:os";
18
+ import * as path from "node:path";
15
19
  import { toPosixKey } from "../s3.js";
16
20
  import { accessTokenFingerprint } from "../cognito-auth.js";
21
+ import { withOperationLock } from "../operation-lock.js";
17
22
  import { isTransientEntityHttpStatus, parseRetryAfterMs, } from "../context.js";
18
23
  import { VaultAuthError } from "../vault-client.js";
24
+ import { fsyncWithCompatibility } from "../sync/fsync-compat.js";
19
25
  /**
20
26
  * Per-attempt deadline for FILE_TOMBSTONE reads. A vault can contain hundreds
21
27
  * of thousands of tracked objects, so the old five-second whole request budget
@@ -31,6 +37,8 @@ export const FETCH_TOMBSTONES_RETRY_DELAYS_MS = [250, 750];
31
37
  * `FETCH_TOMBSTONES_MAX_ATTEMPTS`.
32
38
  */
33
39
  export const FETCH_TOMBSTONES_TRANSIENT_MAX_ATTEMPTS = 5;
40
+ /** Protects a sync from a broken cursor that never reaches the final page. */
41
+ export const FETCH_TOMBSTONES_MAX_PAGES = 1_000;
34
42
  const FETCH_TOMBSTONES_TRANSIENT_BASE_DELAY_MS = 1_000;
35
43
  const FETCH_TOMBSTONES_RETRY_AFTER_CAP_MS = 20_000;
36
44
  const FETCH_TOMBSTONES_MAX_TOTAL_WAIT_MS = 30_000;
@@ -69,6 +77,147 @@ export class TombstoneFetchError extends Error {
69
77
  this.cause = cause;
70
78
  }
71
79
  }
80
+ /** The server rejected a cursor even after the client restarted from page one. */
81
+ export class TombstoneFullReconcileRequiredError extends TombstoneFetchError {
82
+ constructor(cause) {
83
+ super("FILE_TOMBSTONE endpoint requires a full reconcile; refusing to sync without delete suppression", 1, cause);
84
+ this.name = "TombstoneFullReconcileRequiredError";
85
+ }
86
+ }
87
+ const TOMBSTONE_CHECKPOINT_PREFIX = "tombstone-checkpoint.";
88
+ const TOMBSTONE_CHECKPOINT_SCHEMA_VERSION = 1;
89
+ function tombstoneScopeKey(base, scope, token) {
90
+ const selector = "personal" in scope ? "personal" : `company:${scope.companyUid}`;
91
+ const prefix = scope.prefix ?? "";
92
+ // The endpoint ACL-filters rows for the caller, so two members in one
93
+ // company must never resume each other's partially accumulated page set.
94
+ return `${base}\u0000${selector}\u0000${prefix}\u0000${accessTokenFingerprint(token)}`;
95
+ }
96
+ function tombstoneCheckpointPath(scopeKey) {
97
+ const digest = crypto.createHash("sha256").update(scopeKey).digest("hex").slice(0, 24);
98
+ const stateDir = process.env.HQ_STATE_DIR || path.join(os.homedir(), ".hq");
99
+ return path.join(stateDir, `${TOMBSTONE_CHECKPOINT_PREFIX}${digest}.json`);
100
+ }
101
+ function isCheckpoint(value) {
102
+ if (typeof value !== "object" || value === null || Array.isArray(value))
103
+ return false;
104
+ const candidate = value;
105
+ return candidate.schemaVersion === TOMBSTONE_CHECKPOINT_SCHEMA_VERSION &&
106
+ typeof candidate.cursor === "string" && candidate.cursor.length > 0 &&
107
+ Array.isArray(candidate.tombstones) && candidate.tombstones.every((entry) => Array.isArray(entry) && entry.length === 2 && typeof entry[0] === "string" &&
108
+ typeof entry[1] === "object" && entry[1] !== null &&
109
+ typeof entry[1].deletedAt === "string");
110
+ }
111
+ function clearTombstoneCheckpoint(checkpointPath) {
112
+ let removed = false;
113
+ try {
114
+ fs.unlinkSync(checkpointPath);
115
+ removed = true;
116
+ }
117
+ catch (error) {
118
+ if (error.code !== "ENOENT")
119
+ throw error;
120
+ }
121
+ if (removed)
122
+ fsyncCheckpointDirectory(path.dirname(checkpointPath));
123
+ }
124
+ const WINDOWS_UNSUPPORTED_DIRECTORY_OPEN_CODES = new Set(["EPERM", "EISDIR", "EINVAL"]);
125
+ const loggedCheckpointDirectoryOpenSkips = new Set();
126
+ /**
127
+ * Persists the checkpoint rename/unlink by syncing its directory. Windows cannot
128
+ * open or fsync a directory handle the way POSIX can (EPERM), so on win32 only
129
+ * the unsupported directory codes are skipped with a logged warning. Every other
130
+ * platform and code still throws, as before.
131
+ */
132
+ function fsyncCheckpointDirectory(dir) {
133
+ const platform = process.platform;
134
+ if (platform !== "win32") {
135
+ const dirFd = fs.openSync(dir, "r");
136
+ try {
137
+ fs.fsyncSync(dirFd);
138
+ }
139
+ finally {
140
+ fs.closeSync(dirFd);
141
+ }
142
+ return;
143
+ }
144
+ let dirFd;
145
+ try {
146
+ dirFd = fs.openSync(dir, "r");
147
+ }
148
+ catch (error) {
149
+ const code = error.code;
150
+ if (code === undefined || !WINDOWS_UNSUPPORTED_DIRECTORY_OPEN_CODES.has(code))
151
+ throw error;
152
+ if (!loggedCheckpointDirectoryOpenSkips.has(code)) {
153
+ loggedCheckpointDirectoryOpenSkips.add(code);
154
+ console.warn(`[hq-sync] fsync skipped at tombstone checkpoint directory on Windows: ${code} opening directory`);
155
+ }
156
+ return;
157
+ }
158
+ try {
159
+ fsyncWithCompatibility(dirFd, { site: "tombstone checkpoint directory", handleKind: "directory", platform });
160
+ }
161
+ finally {
162
+ fs.closeSync(dirFd);
163
+ }
164
+ }
165
+ function loadTombstoneCheckpoint(checkpointPath) {
166
+ let contents;
167
+ try {
168
+ contents = fs.readFileSync(checkpointPath, "utf8");
169
+ }
170
+ catch (error) {
171
+ if (error.code === "ENOENT")
172
+ return undefined;
173
+ throw error;
174
+ }
175
+ try {
176
+ const parsed = JSON.parse(contents);
177
+ if (isCheckpoint(parsed))
178
+ return parsed;
179
+ }
180
+ catch {
181
+ // Corrupt local progress is not deletion authority. Remove it and restart
182
+ // at page one so no partial map can be mistaken for a complete snapshot.
183
+ }
184
+ clearTombstoneCheckpoint(checkpointPath);
185
+ return undefined;
186
+ }
187
+ function saveTombstoneCheckpoint(checkpointPath, checkpoint) {
188
+ const dir = path.dirname(checkpointPath);
189
+ fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
190
+ const temporaryPath = `${checkpointPath}.${process.pid}.${crypto.randomUUID()}.tmp`;
191
+ try {
192
+ const fd = fs.openSync(temporaryPath, "wx", 0o600);
193
+ try {
194
+ fs.writeFileSync(fd, `${JSON.stringify(checkpoint)}\n`, "utf8");
195
+ fs.fsyncSync(fd);
196
+ }
197
+ finally {
198
+ fs.closeSync(fd);
199
+ }
200
+ fs.renameSync(temporaryPath, checkpointPath);
201
+ }
202
+ catch (error) {
203
+ // The rename did not happen, so the temporary file may still exist.
204
+ // Remove it, then surface the original write failure.
205
+ try {
206
+ fs.unlinkSync(temporaryPath);
207
+ }
208
+ catch (cleanupError) {
209
+ if (cleanupError.code !== "ENOENT") {
210
+ console.error(`[hq-sync] WARN could not remove temporary tombstone checkpoint ${temporaryPath}: ${String(cleanupError)}`);
211
+ }
212
+ }
213
+ throw error;
214
+ }
215
+ fsyncCheckpointDirectory(dir);
216
+ }
217
+ function isFullReconcileRequiredBody(body) {
218
+ return typeof body === "object" && body !== null &&
219
+ body.code === "FULL_RECONCILE_REQUIRED";
220
+ }
72
221
  /**
73
222
  * Fetch one vault's FILE_TOMBSTONE rows from hq-pro
74
223
  * (GET /v1/files/tombstones) and return them as a POSIX-keyed map the planners
@@ -88,10 +237,94 @@ export async function fetchFileTombstones(vaultConfig, scope) {
88
237
  ? await vaultConfig.authToken()
89
238
  : vaultConfig.authToken;
90
239
  const base = vaultConfig.apiUrl.replace(/\/+$/, "");
91
- const selector = "personal" in scope
92
- ? "personal=1"
93
- : `company=${encodeURIComponent(scope.companyUid)}`;
94
- const url = `${base}/v1/files/tombstones?${selector}`;
240
+ const selector = new URLSearchParams();
241
+ if ("personal" in scope)
242
+ selector.set("personal", "1");
243
+ else
244
+ selector.set("company", scope.companyUid);
245
+ if (scope.prefix)
246
+ selector.set("prefix", scope.prefix);
247
+ const scopeKey = tombstoneScopeKey(base, scope, token);
248
+ const checkpointPath = tombstoneCheckpointPath(scopeKey);
249
+ const stateDir = path.dirname(checkpointPath);
250
+ const scopeDigest = crypto.createHash("sha256").update(scopeKey).digest("hex").slice(0, 24);
251
+ return withOperationLock(stateDir, `tombstone-pagination:${scopeDigest}`, async () => {
252
+ let checkpoint = loadTombstoneCheckpoint(checkpointPath);
253
+ let fullRestartUsed = false;
254
+ let pagesAcrossRestarts = 0;
255
+ for (;;) {
256
+ const out = new Map(checkpoint?.tombstones ?? []);
257
+ let cursor = checkpoint?.cursor;
258
+ const seenCursors = new Set(cursor ? [cursor] : []);
259
+ let pagesFetched = 0;
260
+ try {
261
+ while (pagesFetched < FETCH_TOMBSTONES_MAX_PAGES) {
262
+ const params = new URLSearchParams(selector);
263
+ if (cursor)
264
+ params.set("cursor", cursor);
265
+ const url = `${base}/v1/files/tombstones?${params.toString()}`;
266
+ const body = await fetchTombstonePage(url, token);
267
+ pagesFetched += 1;
268
+ pagesAcrossRestarts += 1;
269
+ for (const tombstone of body.tombstones ?? []) {
270
+ if (typeof tombstone.key === "string" && typeof tombstone.deletedAt === "string") {
271
+ out.set(toPosixKey(tombstone.key), { deletedAt: tombstone.deletedAt });
272
+ }
273
+ }
274
+ const nextCursor = typeof body.cursor === "string" && body.cursor.length > 0
275
+ ? body.cursor
276
+ : undefined;
277
+ const hasNextPage = body.truncated === true ||
278
+ (body.truncated === undefined && nextCursor !== undefined);
279
+ if (!hasNextPage) {
280
+ clearTombstoneCheckpoint(checkpointPath);
281
+ if (fullRestartUsed) {
282
+ console.error(`[hq-sync] INFO tombstone full reconcile complete; pages=${pagesAcrossRestarts} tombstones=${out.size}`);
283
+ }
284
+ return out;
285
+ }
286
+ if (!nextCursor) {
287
+ clearTombstoneCheckpoint(checkpointPath);
288
+ throw new TombstoneFetchError("FILE_TOMBSTONE response marked truncated without a cursor; refusing to sync without delete suppression", pagesFetched);
289
+ }
290
+ if (seenCursors.has(nextCursor)) {
291
+ clearTombstoneCheckpoint(checkpointPath);
292
+ throw new TombstoneFetchError("FILE_TOMBSTONE response repeated cursor; refusing to sync without delete suppression", pagesFetched);
293
+ }
294
+ seenCursors.add(nextCursor);
295
+ cursor = nextCursor;
296
+ checkpoint = {
297
+ schemaVersion: TOMBSTONE_CHECKPOINT_SCHEMA_VERSION,
298
+ cursor,
299
+ tombstones: Array.from(out.entries()),
300
+ };
301
+ saveTombstoneCheckpoint(checkpointPath, checkpoint);
302
+ }
303
+ throw new TombstoneFetchError(`FILE_TOMBSTONE pagination exceeded ${FETCH_TOMBSTONES_MAX_PAGES} pages; refusing to sync without delete suppression`, pagesFetched);
304
+ }
305
+ catch (error) {
306
+ if (!(error instanceof TombstoneFullReconcileRequiredError))
307
+ throw error;
308
+ clearTombstoneCheckpoint(checkpointPath);
309
+ if (!cursor || fullRestartUsed) {
310
+ console.error("[hq-sync] ERROR tombstone full reconcile could not obtain an authoritative snapshot; sync remains blocked");
311
+ throw error;
312
+ }
313
+ // A stale page cursor is not a complete deletion snapshot. Restart
314
+ // from page one, discard all rows accumulated under that cursor, and
315
+ // return only after the entire authoritative tombstone listing ends.
316
+ console.error("[hq-sync] WARN tombstone cursor was retired; starting a full tombstone reconcile before sync continues");
317
+ fullRestartUsed = true;
318
+ checkpoint = undefined;
319
+ }
320
+ }
321
+ }, {
322
+ scope: `tombstone-pagination-${scopeDigest}`,
323
+ onWaitStart: () => { },
324
+ required: true,
325
+ });
326
+ }
327
+ async function fetchTombstonePage(url, token) {
95
328
  let lastError;
96
329
  let lastStatus;
97
330
  let waitedMs = 0;
@@ -108,30 +341,28 @@ export async function fetchFileTombstones(vaultConfig, scope) {
108
341
  headers: { Authorization: `Bearer ${token}` },
109
342
  signal: controller.signal,
110
343
  });
111
- // Keep this in the runner's typed auth boundary. Retrying a 401 with the
112
- // same cached token cannot succeed, and wrapping it would prevent the
113
- // runner from invalidating that token and prompting reauthentication.
114
344
  if (res.status === 401) {
115
345
  throw new VaultAuthError("tombstone fetch unauthorized", accessTokenFingerprint(token));
116
346
  }
347
+ const responseBody = await res.json();
117
348
  if (!res.ok) {
349
+ if (isFullReconcileRequiredBody(responseBody)) {
350
+ throw new TombstoneFullReconcileRequiredError(responseBody);
351
+ }
118
352
  throw new Error(`tombstone endpoint returned HTTP ${res.status}`);
119
353
  }
120
- const out = new Map();
121
- const body = (await res.json());
122
- for (const t of body.tombstones ?? []) {
123
- if (typeof t.key === "string" && typeof t.deletedAt === "string") {
124
- out.set(toPosixKey(t.key), { deletedAt: t.deletedAt });
125
- }
354
+ if (typeof responseBody !== "object" || responseBody === null || Array.isArray(responseBody)) {
355
+ throw new Error("tombstone endpoint returned an invalid response body");
126
356
  }
127
- return out;
357
+ return responseBody;
128
358
  }
129
- catch (err) {
130
- if (err instanceof VaultAuthError)
131
- throw err;
132
- lastError = err;
359
+ catch (error) {
360
+ if (error instanceof VaultAuthError || error instanceof TombstoneFullReconcileRequiredError) {
361
+ throw error;
362
+ }
363
+ lastError = error;
133
364
  lastStatus = res && !res.ok ? res.status : undefined;
134
- const message = err instanceof Error ? err.message : String(err);
365
+ const message = error instanceof Error ? error.message : String(error);
135
366
  const transient = lastStatus !== undefined && isTransientEntityHttpStatus(lastStatus);
136
367
  const maxAttempts = transient
137
368
  ? FETCH_TOMBSTONES_TRANSIENT_MAX_ATTEMPTS
@@ -143,28 +374,23 @@ export async function fetchFileTombstones(vaultConfig, scope) {
143
374
  : (FETCH_TOMBSTONES_RETRY_DELAYS_MS[attempt - 1] ?? 0);
144
375
  }
145
376
  const detail = lastStatus !== undefined
146
- ? willRetry
147
- ? ` (${lastStatus}, waiting ${waitMs}ms)`
148
- : ` (${lastStatus})`
149
- : willRetry
150
- ? ` (waiting ${waitMs}ms)`
151
- : "";
377
+ ? willRetry ? ` (${lastStatus}, waiting ${waitMs}ms)` : ` (${lastStatus})`
378
+ : willRetry ? ` (waiting ${waitMs}ms)` : "";
152
379
  console.error(`[hq-sync] WARN tombstone fetch attempt ${attempt}/${maxAttempts} failed${detail}; ` +
153
380
  `delete suppression remains blocked: ${message}`);
154
- if (!willRetry)
155
- break;
381
+ if (!willRetry) {
382
+ const suffix = lastStatus !== undefined ? ` (last HTTP ${lastStatus})` : "";
383
+ throw new TombstoneFetchError(`FILE_TOMBSTONE fetch failed after ${attemptsMade} attempts; refusing to sync without delete suppression${suffix}`, attemptsMade, lastError);
384
+ }
156
385
  }
157
386
  finally {
158
387
  clearTimeout(timer);
159
388
  }
160
389
  if (waitMs > 0) {
161
- await new Promise((resolve) => {
162
- setTimeout(resolve, waitMs);
163
- });
390
+ await new Promise((resolve) => setTimeout(resolve, waitMs));
164
391
  waitedMs += waitMs;
165
392
  }
166
393
  }
167
- const suffix = lastStatus !== undefined ? ` (last HTTP ${lastStatus})` : "";
168
- throw new TombstoneFetchError(`FILE_TOMBSTONE fetch failed after ${attemptsMade} attempts; refusing to sync without delete suppression${suffix}`, attemptsMade, lastError);
394
+ throw new TombstoneFetchError(`FILE_TOMBSTONE fetch failed after ${attemptsMade} attempts; refusing to sync without delete suppression`, attemptsMade, lastError);
169
395
  }
170
396
  //# sourceMappingURL=tombstones.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tombstones.js","sourceRoot":"","sources":["../../src/cli/tombstones.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tombstones.js","sourceRoot":"","sources":["../../src/cli/tombstones.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@indigoai-us/hq-cloud",
3
- "version": "6.18.45",
3
+ "version": "6.18.46-alpha.1",
4
4
  "description": "HQ by Indigo cloud sync engine — bidirectional S3 sync for mobile access",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",