@indigoai-us/hq-cloud 6.18.97 → 6.18.99

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 (87) hide show
  1. package/dist/bin/sync-runner-company.d.ts.map +1 -1
  2. package/dist/bin/sync-runner-company.js +32 -3
  3. package/dist/bin/sync-runner-company.js.map +1 -1
  4. package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
  5. package/dist/bin/sync-runner-watch-loop.js +50 -3
  6. package/dist/bin/sync-runner-watch-loop.js.map +1 -1
  7. package/dist/bin/sync-runner.d.ts +3 -0
  8. package/dist/bin/sync-runner.d.ts.map +1 -1
  9. package/dist/bin/sync-runner.js +1 -0
  10. package/dist/bin/sync-runner.js.map +1 -1
  11. package/dist/cli/share.d.ts +5 -0
  12. package/dist/cli/share.d.ts.map +1 -1
  13. package/dist/cli/share.js +120 -15
  14. package/dist/cli/share.js.map +1 -1
  15. package/dist/cli/sync.d.ts +18 -2
  16. package/dist/cli/sync.d.ts.map +1 -1
  17. package/dist/cli/sync.js +55 -4
  18. package/dist/cli/sync.js.map +1 -1
  19. package/dist/index.d.ts +2 -2
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/lib/sync-leg-error-summary.d.ts +9 -0
  24. package/dist/lib/sync-leg-error-summary.d.ts.map +1 -0
  25. package/dist/lib/sync-leg-error-summary.js +200 -0
  26. package/dist/lib/sync-leg-error-summary.js.map +1 -0
  27. package/dist/object-io.d.ts +2 -3
  28. package/dist/object-io.d.ts.map +1 -1
  29. package/dist/object-io.js +15 -4
  30. package/dist/object-io.js.map +1 -1
  31. package/dist/outcome-telemetry.d.ts +2 -1
  32. package/dist/outcome-telemetry.d.ts.map +1 -1
  33. package/dist/outcome-telemetry.js +13 -12
  34. package/dist/outcome-telemetry.js.map +1 -1
  35. package/dist/plan-limit-pause.d.ts +19 -3
  36. package/dist/plan-limit-pause.d.ts.map +1 -1
  37. package/dist/plan-limit-pause.js +80 -10
  38. package/dist/plan-limit-pause.js.map +1 -1
  39. package/dist/plan-limit.d.ts +51 -5
  40. package/dist/plan-limit.d.ts.map +1 -1
  41. package/dist/plan-limit.js +79 -5
  42. package/dist/plan-limit.js.map +1 -1
  43. package/dist/s3.d.ts +2 -0
  44. package/dist/s3.d.ts.map +1 -1
  45. package/dist/s3.js +4 -2
  46. package/dist/s3.js.map +1 -1
  47. package/dist/script-eol.d.ts +4 -2
  48. package/dist/script-eol.d.ts.map +1 -1
  49. package/dist/script-eol.js +26 -2
  50. package/dist/script-eol.js.map +1 -1
  51. package/dist/skill-telemetry.d.ts +10 -1
  52. package/dist/skill-telemetry.d.ts.map +1 -1
  53. package/dist/skill-telemetry.js +101 -16
  54. package/dist/skill-telemetry.js.map +1 -1
  55. package/dist/sync-object-events.d.ts +61 -0
  56. package/dist/sync-object-events.d.ts.map +1 -0
  57. package/dist/sync-object-events.js +138 -0
  58. package/dist/sync-object-events.js.map +1 -0
  59. package/dist/sync-pass-event.d.ts +45 -0
  60. package/dist/sync-pass-event.d.ts.map +1 -0
  61. package/dist/sync-pass-event.js +102 -0
  62. package/dist/sync-pass-event.js.map +1 -0
  63. package/dist/sync-request-counter.d.ts +13 -0
  64. package/dist/sync-request-counter.d.ts.map +1 -0
  65. package/dist/sync-request-counter.js +29 -0
  66. package/dist/sync-request-counter.js.map +1 -0
  67. package/dist/telemetry/consent-source.d.ts +68 -0
  68. package/dist/telemetry/consent-source.d.ts.map +1 -0
  69. package/dist/telemetry/consent-source.js +87 -0
  70. package/dist/telemetry/consent-source.js.map +1 -0
  71. package/dist/telemetry/pre-consent-buffer.d.ts +55 -0
  72. package/dist/telemetry/pre-consent-buffer.d.ts.map +1 -0
  73. package/dist/telemetry/pre-consent-buffer.js +303 -0
  74. package/dist/telemetry/pre-consent-buffer.js.map +1 -0
  75. package/dist/telemetry.d.ts +10 -1
  76. package/dist/telemetry.d.ts.map +1 -1
  77. package/dist/telemetry.js +171 -65
  78. package/dist/telemetry.js.map +1 -1
  79. package/dist/test-fixtures/noop-sync-object-events.d.ts +6 -0
  80. package/dist/test-fixtures/noop-sync-object-events.d.ts.map +1 -0
  81. package/dist/test-fixtures/noop-sync-object-events.js +22 -0
  82. package/dist/test-fixtures/noop-sync-object-events.js.map +1 -0
  83. package/dist/vault-client.d.ts +25 -0
  84. package/dist/vault-client.d.ts.map +1 -1
  85. package/dist/vault-client.js +15 -0
  86. package/dist/vault-client.js.map +1 -1
  87. package/package.json +1 -1
package/dist/telemetry.js CHANGED
@@ -30,6 +30,8 @@ import * as path from "node:path";
30
30
  import { hasUnreadBytes } from "./telemetry-scan-cap.js";
31
31
  import { buildRepoCompanyMap, resolveCompanyForCwd, } from "./company-resolver.js";
32
32
  import { createUsageCompanyFallback, } from "./usage-company-fallback.js";
33
+ import { decideCollection, } from "./telemetry/consent-source.js";
34
+ import { appendPreConsentBatches, chunkRows, discardPreConsentBuffer, flushPreConsentBuffer, preConsentBufferPath, } from "./telemetry/pre-consent-buffer.js";
33
35
  function emptyCursor() {
34
36
  return { version: "1", files: {} };
35
37
  }
@@ -763,80 +765,131 @@ export async function collectAndSendTelemetry(opts) {
763
765
  : undefined;
764
766
  // 1. Opt-in check (server-authoritative, with local fallback + self-heal).
765
767
  // Fleet agents skip this: collection is always on (company + unattributed).
766
- let enabled;
767
- let optInSource;
768
+ // The decision itself is shared with the skill and outcome collectors.
769
+ let resp;
770
+ let decision;
768
771
  if (opts.forceCollect) {
769
- enabled = true;
770
- optInSource = "agent-required";
772
+ decision = decideCollection(undefined, { forceCollect: true });
771
773
  }
772
774
  else {
773
775
  try {
774
- const resp = await opts.client.getTelemetryOptIn();
775
- enabled = resp.enabled === true;
776
- optInSource = "server";
777
- // Self-heal a consent the user gave but that never reached the server.
778
- //
779
- // The installer writes the answer to `~/.hq/menubar.json` (always succeeds)
780
- // AND posts it to `/v1/usage/opt-in` — but that post fires before the
781
- // person entity exists, so it 404s and the attribute is never written.
782
- // Absence then reads as `false`, the emitter goes silent, and the person
783
- // shows as "not opted in" forever. Measured: 22 of 33 active Indigo members
784
- // had no attribute at all, against only 2 genuine opt-outs.
785
- //
786
- // `unset` (never answered) is the ONLY state we heal. An explicit server
787
- // `false` is a real opt-out and is left strictly alone. We also require a
788
- // local answer to actually exist — we never invent consent, we only replay
789
- // the answer the user already gave.
790
- //
791
- // And it must be THIS account's answer. `menubar.json` is per-MACHINE, so
792
- // when two people sign in under the same OS user it holds whoever answered
793
- // last; replaying that for the second account would opt in someone who
794
- // never consented. The replay therefore requires the cached record to name
795
- // the same `prs_*` the server says we are. A legacy record with no binding
796
- // cannot be proven to belong to this caller and is skipped — for those
797
- // machines the installer's own post-sign-in upload is the recovery path,
798
- // and it is correctly account-scoped because it runs right after that
799
- // person authenticates.
800
- if (resp.unset === true && opts.client.setTelemetryOptIn) {
801
- const record = await readLocalConsentRecord(menubarPath);
802
- const local = record.enabled;
803
- const boundToCaller = record.personUid !== undefined &&
804
- resp.personUid !== undefined &&
805
- record.personUid === resp.personUid;
806
- if (local !== undefined && !boundToCaller) {
807
- log("[telemetry] skipping consent re-assert: the locally cached answer is not bound to the signed-in account");
776
+ resp = await opts.client.getTelemetryOptIn();
777
+ }
778
+ catch (err) {
779
+ log(`[telemetry] opt-in check failed (${err.message ?? err}) — falling back to local menubar.json`);
780
+ }
781
+ decision = resp
782
+ ? decideCollection(resp, {})
783
+ : decideCollection(undefined, {
784
+ localEnabled: await readLocalTelemetryEnabled(menubarPath),
785
+ });
786
+ }
787
+ let enabled = decision.collect;
788
+ let optInSource = decision.optInSource;
789
+ // Self-heal a consent the user gave but that never reached the server.
790
+ //
791
+ // The installer writes the answer to `~/.hq/menubar.json` (always succeeds)
792
+ // AND posts it to `/v1/usage/opt-in` — but that post fires before the
793
+ // person entity exists, so it 404s and the attribute is never written.
794
+ // Absence then reads as `false`, the emitter goes silent, and the person
795
+ // shows as "not opted in" forever. Measured: 22 of 33 active Indigo members
796
+ // had no attribute at all, against only 2 genuine opt-outs.
797
+ //
798
+ // `unset` (never answered) is the ONLY state we heal. An explicit server
799
+ // `false` is a real opt-out and is left strictly alone. We also require a
800
+ // local answer to actually exist — we never invent consent, we only replay
801
+ // the answer the user already gave.
802
+ //
803
+ // Only a personal-choice answer (`personal-toggle`, or a legacy answer with
804
+ // no `source`) may be replaced: when the plan requires collection, or the
805
+ // notice period is running, the local preference has no say.
806
+ //
807
+ // And it must be THIS account's answer. `menubar.json` is per-MACHINE, so
808
+ // when two people sign in under the same OS user it holds whoever answered
809
+ // last; replaying that for the second account would opt in someone who
810
+ // never consented. The replay therefore requires the cached record to name
811
+ // the same `prs_*` the server says we are. A legacy record with no binding
812
+ // cannot be proven to belong to this caller and is skipped — for those
813
+ // machines the installer's own post-sign-in upload is the recovery path,
814
+ // and it is correctly account-scoped because it runs right after that
815
+ // person authenticates.
816
+ if (resp !== undefined &&
817
+ resp.unset === true &&
818
+ decision.localMayOverride &&
819
+ opts.client.setTelemetryOptIn) {
820
+ const record = await readLocalConsentRecord(menubarPath);
821
+ const local = record.enabled;
822
+ const boundToCaller = record.personUid !== undefined &&
823
+ resp.personUid !== undefined &&
824
+ record.personUid === resp.personUid;
825
+ if (local !== undefined && !boundToCaller) {
826
+ log("[telemetry] skipping consent re-assert: the locally cached answer is not bound to the signed-in account");
827
+ }
828
+ if (local !== undefined && boundToCaller) {
829
+ try {
830
+ // `onlyIfUnset` keeps the replay atomic. Reading `unset` and writing
831
+ // are two requests, so without it another device could record a real
832
+ // opt-out in between and this stale local answer would overwrite it.
833
+ // The server tests "still unset?" as part of the write instead.
834
+ const ack = await opts.client.setTelemetryOptIn(local, { onlyIfUnset: true });
835
+ if (ack && ack.applied === false) {
836
+ // Lost the race — a real answer was recorded first and it stands.
837
+ // Keep the server's answer for this run rather than the local one.
838
+ log("[telemetry] consent was recorded elsewhere before the re-assert landed; deferring to the server");
808
839
  }
809
- if (local !== undefined && boundToCaller) {
810
- try {
811
- // `onlyIfUnset` keeps the replay atomic. Reading `unset` and writing
812
- // are two requests, so without it another device could record a real
813
- // opt-out in between and this stale local answer would overwrite it.
814
- // The server tests "still unset?" as part of the write instead.
815
- const ack = await opts.client.setTelemetryOptIn(local, { onlyIfUnset: true });
816
- if (ack && ack.applied === false) {
817
- // Lost the race — a real answer was recorded first and it stands.
818
- // Keep the server's answer for this run rather than the local one.
819
- log("[telemetry] consent was recorded elsewhere before the re-assert landed; deferring to the server");
820
- }
821
- else {
822
- enabled = local;
823
- optInSource = "menubar-reasserted";
824
- log(`[telemetry] server had no recorded consent; re-asserted the local install-time answer (enabled=${local})`);
825
- }
826
- }
827
- catch (err) {
828
- // Non-fatal: fall through on the server's answer. Next run retries.
829
- log(`[telemetry] failed to re-assert local opt-in (${err.message ?? err})`);
830
- }
840
+ else {
841
+ enabled = local;
842
+ optInSource = "menubar-reasserted";
843
+ log(`[telemetry] server had no recorded consent; re-asserted the local install-time answer (enabled=${local})`);
831
844
  }
832
845
  }
846
+ catch (err) {
847
+ // Non-fatal: fall through on the server's answer. Next run retries.
848
+ log(`[telemetry] failed to re-assert local opt-in (${err.message ?? err})`);
849
+ }
850
+ }
851
+ }
852
+ // Pre-consent buffer (policy indigo-pre-consent-telemetry-buffer-delivery).
853
+ // Bound to the account the server says we are; with no `personUid` there is
854
+ // no safe file to use, so nothing is buffered, flushed or discarded.
855
+ const bufferUid = resp?.personUid;
856
+ const bufferFile = preConsentBufferPath(opts.bufferDir ?? path.join(home, ".hq", "telemetry-buffer"), bufferUid);
857
+ const bufferPersonal = decision.buffer && bufferFile !== undefined;
858
+ if (decision.buffer && bufferFile === undefined) {
859
+ log("[telemetry] notice period but the server sent no usable personUid; personal rows are skipped, not buffered");
860
+ }
861
+ let preConsentFlushed = 0;
862
+ let preConsentDiscarded = false;
863
+ if (bufferFile !== undefined && decision.discardBuffer && !enabled) {
864
+ try {
865
+ preConsentDiscarded = await discardPreConsentBuffer(bufferFile);
833
866
  }
834
867
  catch (err) {
835
- log(`[telemetry] opt-in check failed (${err.message ?? err}) — falling back to local menubar.json`);
836
- enabled = await readLocalTelemetryEnabled(menubarPath);
837
- optInSource = "menubar-fallback";
868
+ log(`[telemetry] failed to discard the pre-consent buffer (${err.message ?? err})`);
869
+ }
870
+ }
871
+ else if (bufferFile !== undefined && bufferUid !== undefined && enabled) {
872
+ // Deliver what was held during the notice period first, one stored batch
873
+ // per POST. A batch leaves the file only after its own POST succeeds.
874
+ try {
875
+ const flushed = await flushPreConsentBuffer(bufferFile, bufferUid, (events) => opts.client.postUsage({
876
+ machineId: opts.machineId,
877
+ installerVersion: opts.installerVersion,
878
+ events,
879
+ }));
880
+ preConsentFlushed = flushed.eventsSent;
881
+ if (flushed.failed) {
882
+ log("[telemetry] pre-consent buffer flush stopped on a failed POST; the rest stays buffered");
883
+ }
884
+ }
885
+ catch (err) {
886
+ log(`[telemetry] failed to read the pre-consent buffer (${err.message ?? err})`);
838
887
  }
839
888
  }
889
+ const preConsentFields = {
890
+ ...(preConsentFlushed > 0 ? { preConsentFlushed } : {}),
891
+ ...(preConsentDiscarded ? { preConsentDiscarded: true } : {}),
892
+ };
840
893
  // Consent split (company-scope mandatory capture): a FALSE/unset personal
841
894
  // opt-in silences PERSONAL/unattributed rows only. Rows produced inside a
842
895
  // cloud-backed company's folders (or covered by `fallbackCompany`) are the
@@ -845,10 +898,20 @@ export async function collectAndSendTelemetry(opts) {
845
898
  // counted", hq-pro `handlers/telemetry.ts`), and ingest still honours the
846
899
  // company's own `telemetryCollectionEnabled` gate.
847
900
  const companyScopeOnly = !enabled;
848
- if (companyScopeOnly && repoCompanyMap.entries.length === 0 && !fallbackCompanyUid) {
901
+ if (companyScopeOnly &&
902
+ !bufferPersonal &&
903
+ repoCompanyMap.entries.length === 0 &&
904
+ !fallbackCompanyUid) {
849
905
  // Opted out with no cloud-backed company folders and no fallback company —
850
906
  // nothing could ship, so skip the scan entirely.
851
- return { enabled: false, optInSource, filesScanned: 0, eventsSent: 0, batchesSent: 0 };
907
+ return {
908
+ enabled: false,
909
+ optInSource,
910
+ filesScanned: 0,
911
+ eventsSent: 0,
912
+ batchesSent: 0,
913
+ ...preConsentFields,
914
+ };
852
915
  }
853
916
  // Session / device-default company fallback, for rows the cwd resolver and
854
917
  // the explicit single-company scope both leave empty. It is OFF in
@@ -916,6 +979,10 @@ export async function collectAndSendTelemetry(opts) {
916
979
  // A runtime's scan budget ran out while a transcript still had unread bytes.
917
980
  let scanBudgetLeftUnread = false;
918
981
  const scannedBytes = { claude: 0, codex: 0, grok: 0 };
982
+ // Personal rows held back during the notice period, with the line each came
983
+ // from. Only rows whose line the cursor actually commits are buffered, so a
984
+ // line that is re-read next run is never buffered twice.
985
+ const heldPersonal = [];
919
986
  const commitSources = (sources) => {
920
987
  const maxPerFile = new Map();
921
988
  for (const source of sources) {
@@ -1216,6 +1283,22 @@ export async function collectAndSendTelemetry(opts) {
1216
1283
  // batchSources) exactly like a sanitize-rejected row, so it is not
1217
1284
  // re-read every run.
1218
1285
  if (companyScopeOnly && !companyUid) {
1286
+ if (bufferPersonal) {
1287
+ const held = sanitizeRow(sourceRow, undefined);
1288
+ const heldRow = held
1289
+ ? boundRowForPost(held, MAX_BATCH_BYTES - ENVELOPE_BYTES)
1290
+ : null;
1291
+ if (heldRow) {
1292
+ heldPersonal.push({ row: heldRow, filePath, endOffset });
1293
+ }
1294
+ else if (held) {
1295
+ log("[telemetry] oversized row dropped before send (" +
1296
+ filePath +
1297
+ ":" +
1298
+ (i + 1) +
1299
+ ")");
1300
+ }
1301
+ }
1219
1302
  continue;
1220
1303
  }
1221
1304
  const sanitized = sanitizeRow(sourceRow, companyUid);
@@ -1286,6 +1369,27 @@ export async function collectAndSendTelemetry(opts) {
1286
1369
  uploadFailed = !(await flush());
1287
1370
  }
1288
1371
  await companyFallback?.persist();
1372
+ // Notice period: store the personal rows the cursor is about to move past.
1373
+ let preConsentBuffered = 0;
1374
+ if (bufferPersonal && bufferFile !== undefined && bufferUid !== undefined) {
1375
+ const committedRows = heldPersonal.filter((held) => (newlyCommitted[held.filePath]?.offset ?? -1) >= held.endOffset);
1376
+ if (committedRows.length > 0) {
1377
+ try {
1378
+ const appended = await appendPreConsentBatches(bufferFile, bufferUid, chunkRows(committedRows.map((held) => held.row), maxBatchEvents, MAX_BATCH_BYTES - ENVELOPE_BYTES));
1379
+ preConsentBuffered = committedRows.length;
1380
+ if (appended.batchesDropped > 0) {
1381
+ log(`[telemetry] pre-consent buffer over its size cap; dropped ${appended.batchesDropped} oldest batch(es)`);
1382
+ }
1383
+ }
1384
+ catch (err) {
1385
+ // Could not store them: do not move the cursor past those lines, so
1386
+ // the next run reads them again instead of losing them.
1387
+ log(`[telemetry] failed to write the pre-consent buffer (${err.message ?? err})`);
1388
+ for (const held of committedRows)
1389
+ delete newlyCommitted[held.filePath];
1390
+ }
1391
+ }
1392
+ }
1289
1393
  // 4. Persist cursor: loaded < rotation_resets < newly_committed.
1290
1394
  const finalFiles = { ...loadedFiles };
1291
1395
  for (const [fp, entry] of Object.entries(rotationResets))
@@ -1306,6 +1410,8 @@ export async function collectAndSendTelemetry(opts) {
1306
1410
  eventsSent,
1307
1411
  batchesSent,
1308
1412
  ...(companyScopeOnly ? { companyScopeOnly: true } : {}),
1413
+ ...preConsentFields,
1414
+ ...(preConsentBuffered > 0 ? { preConsentBuffered } : {}),
1309
1415
  ...(!uploadFailed && (batchLimitReached || scanBudgetLeftUnread)
1310
1416
  ? { stoppedOnCap: true }
1311
1417
  : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type * as SyncObjectEvents from "../sync-object-events.js";
2
+ /** `vi.mock("../sync-object-events.js", ...)` factory for suites that do not assert conflict or overwrite rows. */
3
+ export declare function noopSyncObjectEventsModule(importOriginal: () => Promise<typeof SyncObjectEvents>): Promise<typeof SyncObjectEvents>;
4
+ /** `vi.mock("../sync-object-events.js", ...)` factory that keeps the real sink and drops its failure log. */
5
+ export declare function quietSyncObjectEventsModule(importOriginal: () => Promise<typeof SyncObjectEvents>): Promise<typeof SyncObjectEvents>;
6
+ //# sourceMappingURL=noop-sync-object-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noop-sync-object-events.d.ts","sourceRoot":"","sources":["../../src/test-fixtures/noop-sync-object-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,gBAAgB,MAAM,0BAA0B,CAAC;AAElE,mHAAmH;AACnH,wBAAsB,0BAA0B,CAC9C,cAAc,EAAE,MAAM,OAAO,CAAC,OAAO,gBAAgB,CAAC,GACrD,OAAO,CAAC,OAAO,gBAAgB,CAAC,CAWlC;AAED,6GAA6G;AAC7G,wBAAsB,2BAA2B,CAC/C,cAAc,EAAE,MAAM,OAAO,CAAC,OAAO,gBAAgB,CAAC,GACrD,OAAO,CAAC,OAAO,gBAAgB,CAAC,CAOlC"}
@@ -0,0 +1,22 @@
1
+ /** `vi.mock("../sync-object-events.js", ...)` factory for suites that do not assert conflict or overwrite rows. */
2
+ export async function noopSyncObjectEventsModule(importOriginal) {
3
+ const actual = await importOriginal();
4
+ return {
5
+ ...actual,
6
+ createSyncObjectEventSink: () => ({
7
+ conflict: () => undefined,
8
+ overwrite: () => undefined,
9
+ flush: async () => undefined,
10
+ droppedCount: () => 0,
11
+ }),
12
+ };
13
+ }
14
+ /** `vi.mock("../sync-object-events.js", ...)` factory that keeps the real sink and drops its failure log. */
15
+ export async function quietSyncObjectEventsModule(importOriginal) {
16
+ const actual = await importOriginal();
17
+ return {
18
+ ...actual,
19
+ createSyncObjectEventSink: (deps) => actual.createSyncObjectEventSink({ ...deps, log: () => undefined }),
20
+ };
21
+ }
22
+ //# sourceMappingURL=noop-sync-object-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noop-sync-object-events.js","sourceRoot":"","sources":["../../src/test-fixtures/noop-sync-object-events.ts"],"names":[],"mappings":"AAEA,mHAAmH;AACnH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,cAAsD;IAEtD,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;IACtC,OAAO;QACL,GAAG,MAAM;QACT,yBAAyB,EAAE,GAAG,EAAE,CAAC,CAAC;YAChC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS;YACzB,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;YAC5B,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;SACtB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,6GAA6G;AAC7G,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,cAAsD;IAEtD,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;IACtC,OAAO;QACL,GAAG,MAAM;QACT,yBAAyB,EAAE,CAAC,IAAI,EAAE,EAAE,CAClC,MAAM,CAAC,yBAAyB,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;KACtE,CAAC;AACJ,CAAC"}
@@ -431,6 +431,31 @@ export interface TelemetryOptInResponse {
431
431
  * it), and absence means the replay cannot be proven safe, so it is skipped.
432
432
  */
433
433
  personUid?: string;
434
+ /**
435
+ * Stored provenance of the person's answer (`"cli"`, `"menubar"`, an
436
+ * `admin*` backfill tag) or `null`. This is NOT the consent rule: read
437
+ * `consentSource` for that. Kept so the response parses as the server sends it.
438
+ */
439
+ source?: string | null;
440
+ /**
441
+ * The rule that decided `enabled`. Known values: `"plan-required"`,
442
+ * `"notice-pending"`, `"default-on"`, `"personal-toggle"`, `"agent-required"`,
443
+ * `"legacy-opt-in"`. `enabled` stays the authoritative boolean;
444
+ * `consentSource` only changes how the client treats its local preference and
445
+ * personal rows (see `./telemetry/consent-source.ts`).
446
+ *
447
+ * Typed as a plain string so a value added server-side later still parses.
448
+ * Older servers (or the server with the plan-required flag off) omit it;
449
+ * absent and unknown values are read as `"legacy-opt-in"`, which is today's
450
+ * behaviour exactly.
451
+ */
452
+ consentSource?: string;
453
+ /** ISO timestamp from which collection became required, or `null` when it is not. */
454
+ requiredSince?: string | null;
455
+ /** ISO timestamp from which collection will be required (notice period), or `null`. */
456
+ requiredFrom?: string | null;
457
+ /** Whether the caller's account has a payment card on file. */
458
+ hasCard?: boolean | null;
434
459
  }
435
460
  export interface UsageBatch {
436
461
  machineId: string;