@indigoai-us/hq-cloud 6.11.8 → 6.11.10

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 (95) hide show
  1. package/dist/bin/sync-runner.d.ts.map +1 -1
  2. package/dist/bin/sync-runner.js +4 -0
  3. package/dist/bin/sync-runner.js.map +1 -1
  4. package/dist/bin/sync-runner.test.js +72 -0
  5. package/dist/bin/sync-runner.test.js.map +1 -1
  6. package/dist/cli/reindex.test.js +44 -0
  7. package/dist/cli/reindex.test.js.map +1 -1
  8. package/dist/cli/rescue-classify-ordering.test.js +25 -0
  9. package/dist/cli/rescue-classify-ordering.test.js.map +1 -1
  10. package/dist/company-resolver.d.ts +77 -0
  11. package/dist/company-resolver.d.ts.map +1 -0
  12. package/dist/company-resolver.js +124 -0
  13. package/dist/company-resolver.js.map +1 -0
  14. package/dist/company-resolver.test.d.ts +7 -0
  15. package/dist/company-resolver.test.d.ts.map +1 -0
  16. package/dist/company-resolver.test.js +120 -0
  17. package/dist/company-resolver.test.js.map +1 -0
  18. package/dist/index.d.ts +1 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/personal-vault.d.ts +24 -0
  22. package/dist/personal-vault.d.ts.map +1 -1
  23. package/dist/personal-vault.js +36 -1
  24. package/dist/personal-vault.js.map +1 -1
  25. package/dist/personal-vault.test.js +46 -1
  26. package/dist/personal-vault.test.js.map +1 -1
  27. package/dist/skill-telemetry.d.ts.map +1 -1
  28. package/dist/skill-telemetry.js +22 -3
  29. package/dist/skill-telemetry.js.map +1 -1
  30. package/dist/skill-telemetry.test.js +101 -1
  31. package/dist/skill-telemetry.test.js.map +1 -1
  32. package/dist/sync/event-sync.test.js +18 -0
  33. package/dist/sync/event-sync.test.js.map +1 -1
  34. package/dist/sync/feature-flags.test.js +37 -4
  35. package/dist/sync/feature-flags.test.js.map +1 -1
  36. package/dist/sync/index.d.ts +1 -1
  37. package/dist/sync/index.d.ts.map +1 -1
  38. package/dist/sync/index.js.map +1 -1
  39. package/dist/sync/logger.test.js +1 -0
  40. package/dist/sync/logger.test.js.map +1 -1
  41. package/dist/sync/metrics.test.js +1 -0
  42. package/dist/sync/metrics.test.js.map +1 -1
  43. package/dist/sync/pull-scope.d.ts +1 -0
  44. package/dist/sync/pull-scope.d.ts.map +1 -1
  45. package/dist/sync/pull-scope.js +26 -0
  46. package/dist/sync/pull-scope.js.map +1 -1
  47. package/dist/sync/push-event.d.ts +23 -11
  48. package/dist/sync/push-event.d.ts.map +1 -1
  49. package/dist/sync/push-event.js +15 -8
  50. package/dist/sync/push-event.js.map +1 -1
  51. package/dist/sync/push-event.test.js +39 -3
  52. package/dist/sync/push-event.test.js.map +1 -1
  53. package/dist/sync/push-receiver.test.js +1 -0
  54. package/dist/sync/push-receiver.test.js.map +1 -1
  55. package/dist/telemetry.d.ts +18 -1
  56. package/dist/telemetry.d.ts.map +1 -1
  57. package/dist/telemetry.js +28 -2
  58. package/dist/telemetry.js.map +1 -1
  59. package/dist/telemetry.test.js +93 -1
  60. package/dist/telemetry.test.js.map +1 -1
  61. package/dist/vault-client.d.ts +4 -2
  62. package/dist/vault-client.d.ts.map +1 -1
  63. package/dist/vault-client.js.map +1 -1
  64. package/dist/watcher.d.ts.map +1 -1
  65. package/dist/watcher.js +25 -9
  66. package/dist/watcher.js.map +1 -1
  67. package/dist/watcher.test.js +65 -1
  68. package/dist/watcher.test.js.map +1 -1
  69. package/package.json +1 -1
  70. package/src/bin/sync-runner.test.ts +90 -0
  71. package/src/bin/sync-runner.ts +4 -0
  72. package/src/cli/reindex.test.ts +53 -0
  73. package/src/cli/rescue-classify-ordering.test.ts +28 -0
  74. package/src/company-resolver.test.ts +136 -0
  75. package/src/company-resolver.ts +147 -0
  76. package/src/index.ts +1 -0
  77. package/src/personal-vault.test.ts +56 -0
  78. package/src/personal-vault.ts +36 -1
  79. package/src/skill-telemetry.test.ts +126 -1
  80. package/src/skill-telemetry.ts +26 -3
  81. package/src/sync/event-sync.test.ts +21 -0
  82. package/src/sync/feature-flags.test.ts +40 -4
  83. package/src/sync/index.ts +5 -1
  84. package/src/sync/logger.test.ts +1 -0
  85. package/src/sync/metrics.test.ts +1 -0
  86. package/src/sync/pull-scope.ts +26 -1
  87. package/src/sync/push-event.test.ts +45 -3
  88. package/src/sync/push-event.ts +28 -12
  89. package/src/sync/push-receiver.test.ts +1 -0
  90. package/src/telemetry.test.ts +118 -1
  91. package/src/telemetry.ts +50 -2
  92. package/src/vault-client.ts +4 -2
  93. package/src/watcher.test.ts +81 -0
  94. package/src/watcher.ts +27 -9
  95. package/test/e2e/sync/cross-tenant-isolation.test.ts +2 -0
@@ -50,6 +50,32 @@ hqRoot) {
50
50
  const m = memberships.find((x) => x.companyUid === companyUid);
51
51
  if (!m)
52
52
  return { syncMode: "all" };
53
+ // OWNER role-bypass (feedback_67bdb8a4 / feedback_a46c3b37). An owner's
54
+ // effective vault access is the WHOLE company by role — the data plane
55
+ // resolves owner to `admin` on every key (`resolveEffectivePermission`'s
56
+ // role bypass; presign's `viewOthersFiles` is unconditional for owners).
57
+ // But the scope resolution below derives `shared` scope from
58
+ // `listMyExplicitGrants`, and that endpoint DELIBERATELY EXCLUDES the
59
+ // owner/admin role bypass — it answers "what is explicitly shared with
60
+ // me", not "what can I touch by role" (see hq-pro files-grants handler).
61
+ // An owner who owns by role (not by explicit grant) therefore resolves to
62
+ // an empty/sparse prefixSet, so the push uploads NOTHING (every path is
63
+ // filtered out by `wrapFilterWithScope`) and any in-role write — including
64
+ // a brand-new top-level project prefix the owner just created — is rejected
65
+ // by the server as `403 SCOPE_EXCEEDS_PARENT`. An owner has no meaningful
66
+ // "shared subset": they own everything, so their effective sync scope IS
67
+ // the full vault. Resolve them to `all` directly — restoring the pre-
68
+ // pull-scope-refactor behavior (owners always journaled the whole company).
69
+ // This is checked BEFORE the sync-config fetch so it holds even if a stray
70
+ // `shared` row exists for the owner. A `custom` choice would also be
71
+ // overridden here, which is intentional: an owner cannot be scoped below
72
+ // their role on the sync path without the server rejecting their own
73
+ // writes. Non-owner roles fall through to the grant-based resolution
74
+ // below — a member/guest's explicit grants ARE their full footprint, and a
75
+ // (conditionally bypassed) admin stays grant-scoped so a company that set
76
+ // `admin.viewOthersFiles=false` keeps its admins narrowed.
77
+ if (m.role === "owner")
78
+ return { syncMode: "all" };
53
79
  // Agent memberships (`agt_…#cmp_…`) belong to an agent identity that owns NO
54
80
  // person entity. hq-pro's per-membership sync-config endpoint sits behind an
55
81
  // up-front person-gate, so an agent caller is rejected with
@@ -1 +1 @@
1
- {"version":3,"file":"pull-scope.js","sourceRoot":"","sources":["../../src/sync/pull-scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull-scope.js","sourceRoot":"","sources":["../../src/sync/pull-scope.ts"],"names":[],"mappings":"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"}
@@ -2,17 +2,20 @@
2
2
  * PushEvent — the wire-shared payload exchanged between every link in the
3
3
  * event-driven-hq-cloud-sync pipeline.
4
4
  *
5
- * Producers (the watcher) emit one PushEvent per local content change.
5
+ * Producers (the watcher) emit one PushEvent per local content change or
6
+ * delete tombstone.
6
7
  * Consumers (the push endpoint / receiver / coalescer) decode the payload,
7
8
  * validate it, and act on it. Because the same shape crosses a network
8
9
  * boundary, it has its own dedicated module.
9
10
  *
10
11
  * Conventions
11
12
  * ───────────
12
- * - `contentHash` is `sha256:<64-lowercase-hex>`. The `<algorithm>:<hex>`
13
- * prefix lets a future hash migration ship without breaking the wire
14
- * format consumers can branch on the prefix and fall back to refusing
15
- * unknown algorithms.
13
+ * - `kind` is `"upsert"` for content changes and `"delete"` for delete
14
+ * tombstones. Missing `kind` defaults to `"upsert"` for older producers.
15
+ * - `contentHash` is required for upserts and absent for delete tombstones.
16
+ * It is `sha256:<64-lowercase-hex>`. The `<algorithm>:<hex>` prefix lets a
17
+ * future hash migration ship without breaking the wire format — consumers
18
+ * can branch on the prefix and fall back to refusing unknown algorithms.
16
19
  * - `mtime` and `eventTimestamp` are strict ISO-8601 datetime strings.
17
20
  * `mtime` is the filesystem modification time of the source file at the
18
21
  * moment of capture; `eventTimestamp` is when the watcher emitted the
@@ -47,18 +50,27 @@ export declare const ISO8601_DATETIME_PATTERN: RegExp;
47
50
  */
48
51
  export declare const PushEventSchema: z.ZodObject<{
49
52
  relativePath: z.ZodString;
50
- contentHash: z.ZodString;
51
- mtime: z.ZodString;
53
+ kind: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
54
+ delete: "delete";
55
+ upsert: "upsert";
56
+ }>>>;
57
+ contentHash: z.ZodOptional<z.ZodString>;
58
+ mtime: z.ZodOptional<z.ZodString>;
52
59
  originDeviceId: z.ZodString;
53
60
  originTenantId: z.ZodString;
54
61
  sequenceNumber: z.ZodNumber;
55
62
  eventTimestamp: z.ZodString;
56
63
  }, z.core.$strip>;
57
64
  /**
58
- * The canonical PushEvent type. All fields are required; producers and
59
- * consumers share this exact shape.
65
+ * The canonical decoded PushEvent type. `kind` is always present after decode;
66
+ * `contentHash` and `mtime` are present for upserts and absent for deletes.
60
67
  */
61
- export type PushEvent = z.infer<typeof PushEventSchema>;
68
+ export type PushEvent = z.output<typeof PushEventSchema>;
69
+ /**
70
+ * Input accepted by the schema. Kept public so encode callers can hand in
71
+ * legacy upsert payloads where `kind` is absent.
72
+ */
73
+ export type PushEventInput = z.input<typeof PushEventSchema>;
62
74
  /**
63
75
  * Public alias for a single decode issue. Aliased here (rather than re-exporting
64
76
  * the `$`-prefixed zod internal symbol directly) so consumers can annotate
@@ -90,7 +102,7 @@ export declare class PushEventDecodeError extends Error {
90
102
  * Extra keys on `event` are dropped — the returned JSON string contains
91
103
  * only the declared PushEvent fields.
92
104
  */
93
- export declare function encodePushEvent(event: PushEvent): string;
105
+ export declare function encodePushEvent(event: PushEventInput): string;
94
106
  /**
95
107
  * Parse and validate an incoming PushEvent. Accepts either a raw JSON string
96
108
  * (the on-the-wire form) or an already-parsed object (handy for in-process
@@ -1 +1 @@
1
- {"version":3,"file":"push-event.d.ts","sourceRoot":"","sources":["../../src/sync/push-event.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAA0B,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAC+B,CAAC;AAIrE;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;iBAqClB,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAIxD;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;AAEpD;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,mBAAmB,CAAC;gBAGjD,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;QACJ,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;QACxC,KAAK,EAAE,YAAY,GAAG,mBAAmB,CAAC;QAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CAOJ;AAID;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CASxD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAkCzD"}
1
+ {"version":3,"file":"push-event.d.ts","sourceRoot":"","sources":["../../src/sync/push-event.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAA0B,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAC+B,CAAC;AAIrE;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;iBA4CzB,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAEzD;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAI7D;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;AAEpD;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,mBAAmB,CAAC;gBAGjD,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;QACJ,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;QACxC,KAAK,EAAE,YAAY,GAAG,mBAAmB,CAAC;QAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CAOJ;AAID;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAS7D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAkCzD"}
@@ -2,17 +2,20 @@
2
2
  * PushEvent — the wire-shared payload exchanged between every link in the
3
3
  * event-driven-hq-cloud-sync pipeline.
4
4
  *
5
- * Producers (the watcher) emit one PushEvent per local content change.
5
+ * Producers (the watcher) emit one PushEvent per local content change or
6
+ * delete tombstone.
6
7
  * Consumers (the push endpoint / receiver / coalescer) decode the payload,
7
8
  * validate it, and act on it. Because the same shape crosses a network
8
9
  * boundary, it has its own dedicated module.
9
10
  *
10
11
  * Conventions
11
12
  * ───────────
12
- * - `contentHash` is `sha256:<64-lowercase-hex>`. The `<algorithm>:<hex>`
13
- * prefix lets a future hash migration ship without breaking the wire
14
- * format consumers can branch on the prefix and fall back to refusing
15
- * unknown algorithms.
13
+ * - `kind` is `"upsert"` for content changes and `"delete"` for delete
14
+ * tombstones. Missing `kind` defaults to `"upsert"` for older producers.
15
+ * - `contentHash` is required for upserts and absent for delete tombstones.
16
+ * It is `sha256:<64-lowercase-hex>`. The `<algorithm>:<hex>` prefix lets a
17
+ * future hash migration ship without breaking the wire format — consumers
18
+ * can branch on the prefix and fall back to refusing unknown algorithms.
16
19
  * - `mtime` and `eventTimestamp` are strict ISO-8601 datetime strings.
17
20
  * `mtime` is the filesystem modification time of the source file at the
18
21
  * moment of capture; `eventTimestamp` is when the watcher emitted the
@@ -52,12 +55,15 @@ export const PushEventSchema = z
52
55
  relativePath: z
53
56
  .string()
54
57
  .min(1, "relativePath must be a non-empty string"),
58
+ kind: z.enum(["upsert", "delete"]).optional().default("upsert"),
55
59
  contentHash: z
56
60
  .string()
57
- .regex(CONTENT_HASH_PATTERN, "contentHash must match `sha256:<64 lowercase hex>`"),
61
+ .regex(CONTENT_HASH_PATTERN, "contentHash must match `sha256:<64 lowercase hex>`")
62
+ .optional(),
58
63
  mtime: z
59
64
  .string()
60
- .regex(ISO8601_DATETIME_PATTERN, "mtime must be an ISO-8601 datetime"),
65
+ .regex(ISO8601_DATETIME_PATTERN, "mtime must be an ISO-8601 datetime")
66
+ .optional(),
61
67
  originDeviceId: z
62
68
  .string()
63
69
  .min(1, "originDeviceId must be a non-empty string"),
@@ -75,7 +81,8 @@ export const PushEventSchema = z
75
81
  })
76
82
  // `.strip()` is the zod 4 default; called explicitly here so the intent is
77
83
  // obvious to future readers. Unknown keys MUST NOT throw — see module JSDoc.
78
- .strip();
84
+ .strip()
85
+ .refine((e) => e.kind === "delete" || (e.contentHash != null && e.mtime != null), { message: "upsert requires contentHash and mtime" });
79
86
  /**
80
87
  * Thrown by `decodePushEvent` (and `encodePushEvent` on invalid input) when
81
88
  * the payload fails validation. `.issues` carries the underlying zod issues
@@ -1 +1 @@
1
- {"version":3,"file":"push-event.js","sourceRoot":"","sources":["../../src/sync/push-event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push-event.js","sourceRoot":"","sources":["../../src/sync/push-event.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ import { PushEventDecodeError, decodePushEvent, encodePushEvent, } from "../../s
17
17
  // any single field mutation can't accidentally pass for the wrong reason.
18
18
  const validFixture = {
19
19
  relativePath: "docs/architecture/overview.md",
20
+ kind: "upsert",
20
21
  contentHash: "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
21
22
  mtime: "2026-05-18T12:34:56.789Z",
22
23
  originDeviceId: "device-laptop-a",
@@ -24,6 +25,14 @@ const validFixture = {
24
25
  sequenceNumber: 42,
25
26
  eventTimestamp: "2026-05-18T12:35:00.000Z",
26
27
  };
28
+ const deleteFixture = {
29
+ relativePath: "docs/architecture/overview.md",
30
+ kind: "delete",
31
+ originDeviceId: "device-laptop-a",
32
+ originTenantId: "tenant-indigo",
33
+ sequenceNumber: 43,
34
+ eventTimestamp: "2026-05-18T12:36:00.000Z",
35
+ };
27
36
  describe("PushEvent encode/decode", () => {
28
37
  // ── Acceptance #1: round-trip ──────────────────────────────────────────
29
38
  it("round-trips a known-good fixture through encode → decode", () => {
@@ -41,6 +50,18 @@ describe("PushEvent encode/decode", () => {
41
50
  expect(fromObject).toEqual(validFixture);
42
51
  expect(fromString).toEqual(validFixture);
43
52
  });
53
+ it("round-trips a delete tombstone without contentHash or mtime", () => {
54
+ const encoded = encodePushEvent(deleteFixture);
55
+ expect(JSON.parse(encoded)).toEqual(deleteFixture);
56
+ expect(decodePushEvent(encoded)).toEqual(deleteFixture);
57
+ });
58
+ it("defaults an absent kind to upsert for backward compatibility", () => {
59
+ const legacy = { ...validFixture };
60
+ delete legacy.kind;
61
+ const decoded = decodePushEvent(legacy);
62
+ expect(decoded).toEqual(validFixture);
63
+ expect(JSON.parse(encodePushEvent(legacy))).toEqual(validFixture);
64
+ });
44
65
  // ── Acceptance #2: unknown fields dropped ──────────────────────────────
45
66
  it("drops unknown extra fields silently (does not throw)", () => {
46
67
  const withExtras = {
@@ -63,8 +84,6 @@ describe("PushEvent encode/decode", () => {
63
84
  // ── Acceptance #3: missing required fields throw typed error ───────────
64
85
  it.each([
65
86
  "relativePath",
66
- "contentHash",
67
- "mtime",
68
87
  "originDeviceId",
69
88
  "originTenantId",
70
89
  "sequenceNumber",
@@ -87,6 +106,23 @@ describe("PushEvent encode/decode", () => {
87
106
  // downstream callers rely on to render structured diagnostics.
88
107
  expect(error.issues.some((issue) => issue.path.includes(field))).toBe(true);
89
108
  });
109
+ it("rejects an upsert without contentHash and mtime via the schema refinement", () => {
110
+ let caught;
111
+ try {
112
+ decodePushEvent({
113
+ ...validFixture,
114
+ contentHash: undefined,
115
+ mtime: undefined,
116
+ });
117
+ }
118
+ catch (err) {
119
+ caught = err;
120
+ }
121
+ expect(caught).toBeInstanceOf(PushEventDecodeError);
122
+ const error = caught;
123
+ expect(error.stage).toBe("schema-validation");
124
+ expect(error.issues.some((issue) => issue.message === "upsert requires contentHash and mtime")).toBe(true);
125
+ });
90
126
  it("PushEventDecodeError carries the underlying zod issues array", () => {
91
127
  // Multiple missing fields → multiple issues, all reachable via `.issues`.
92
128
  const sparse = { relativePath: "x.md" };
@@ -99,7 +135,7 @@ describe("PushEvent encode/decode", () => {
99
135
  }
100
136
  expect(caught).toBeInstanceOf(PushEventDecodeError);
101
137
  const error = caught;
102
- expect(error.issues.length).toBeGreaterThanOrEqual(6);
138
+ expect(error.issues.length).toBeGreaterThanOrEqual(4);
103
139
  });
104
140
  // ── Supporting wire-contract invariants ────────────────────────────────
105
141
  it("throws PushEventDecodeError on malformed JSON input", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"push-event.test.js","sourceRoot":"","sources":["../../src/sync/push-event.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push-event.test.js","sourceRoot":"","sources":["../../src/sync/push-event.test.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ const QUEUE_URL = "https://sqs.us-east-1.amazonaws.com/123456789012/sync-push-in
31
31
  function makeEvent(overrides = {}) {
32
32
  return {
33
33
  relativePath: "companies/indigo/notes.md",
34
+ kind: "upsert",
34
35
  contentHash: "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
35
36
  mtime: "2026-05-21T12:34:56.000Z",
36
37
  originDeviceId: "device-A",
@@ -1 +1 @@
1
- {"version":3,"file":"push-receiver.test.js","sourceRoot":"","sources":["../../src/sync/push-receiver.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push-receiver.test.js","sourceRoot":"","sources":["../../src/sync/push-receiver.test.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,15 @@ export interface CollectTelemetryOptions {
38
38
  machineId: string;
39
39
  /** Version of the wrapping caller (menubar app, CLI, etc.). Reaches CloudWatch metrics as the `installerVersion` dimension. */
40
40
  installerVersion: string;
41
+ /**
42
+ * HQ root, used to resolve each event's `cwd` → owning repo → owning company
43
+ * via `<hqRoot>/companies/manifest.yaml` and stamp `companyUid` on the event
44
+ * (surface-hq-console-telemetry US-002). The manifest is parsed ONCE per run
45
+ * (see `buildRepoCompanyMap`); the resulting map is reused for every event.
46
+ * When omitted (or when no repo matches), `companyUid` is left UNSET and the
47
+ * server treats the event as unattributed/personal.
48
+ */
49
+ hqRoot?: string;
41
50
  /** Override `~/.claude/projects` for tests. */
42
51
  claudeProjectsRoot?: string;
43
52
  /** Override `~/.hq/telemetry-cursor.json` for tests. */
@@ -69,12 +78,20 @@ export interface CollectTelemetryResult {
69
78
  * camelCase top-level fields. The original `message` object — which
70
79
  * carries prompt/response text, thinking, and tool data — is dropped.
71
80
  *
81
+ * `companyUid` (US-002): when the caller has resolved the row's `cwd` to an
82
+ * owning company (`resolveCompanyForCwd`), it passes that `cmp_*` uid here and
83
+ * it is stamped on the wire row. It is on the server's KEEP allowlist
84
+ * (`apps/hq-pro/src/vault-service/handlers/usage.ts`). When `companyUid` is
85
+ * undefined (cwd maps to no company repo) the field is OMITTED — the server
86
+ * treats absence as unattributed/personal. The reserved value `unattributed`
87
+ * is never produced (it can only come from a resolved manifest `cmp_*` uid).
88
+ *
72
89
  * Returns `null` when the input isn't an object. Empty results (e.g. a row
73
90
  * with no recognised fields) are still returned as `{}` and emitted; the
74
91
  * server accepts empty rows and they're useful as a "Claude Code was run at
75
92
  * this time" heartbeat.
76
93
  */
77
- export declare function sanitizeRow(row: unknown): Record<string, unknown> | null;
94
+ export declare function sanitizeRow(row: unknown, companyUid?: string): Record<string, unknown> | null;
78
95
  /**
79
96
  * Scan, sanitize, and POST any new Claude Code session rows.
80
97
  *
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,OAAO,KAAK,EACV,sBAAsB,EACtB,UAAU,EACV,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAI3B;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACrD,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,oJAAoJ;IACpJ,SAAS,EAAE,MAAM,CAAC;IAClB,+HAA+H;IAC/H,gBAAgB,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,gIAAgI;IAChI,OAAO,EAAE,OAAO,CAAC;IACjB,wFAAwF;IACxF,WAAW,EAAE,QAAQ,GAAG,kBAAkB,GAAG,SAAS,CAAC;IACvD,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;CACrB;AAkED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CA8BxE;AA6DD;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CAmLjC"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAWH,OAAO,KAAK,EACV,sBAAsB,EACtB,UAAU,EACV,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAI3B;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACrD,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,oJAAoJ;IACpJ,SAAS,EAAE,MAAM,CAAC;IAClB,+HAA+H;IAC/H,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,gIAAgI;IAChI,OAAO,EAAE,OAAO,CAAC;IACjB,wFAAwF;IACxF,WAAW,EAAE,QAAQ,GAAG,kBAAkB,GAAG,SAAS,CAAC;IACvD,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;CACrB;AAkED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,OAAO,EACZ,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAoChC;AA6DD;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CAoMjC"}
package/dist/telemetry.js CHANGED
@@ -25,6 +25,7 @@
25
25
  import { promises as fs } from "node:fs";
26
26
  import * as os from "node:os";
27
27
  import * as path from "node:path";
28
+ import { buildRepoCompanyMap, resolveCompanyForCwd, } from "./company-resolver.js";
28
29
  function emptyCursor() {
29
30
  return { version: "1", files: {} };
30
31
  }
@@ -82,12 +83,20 @@ const KEEP_TOP_LEVEL = [
82
83
  * camelCase top-level fields. The original `message` object — which
83
84
  * carries prompt/response text, thinking, and tool data — is dropped.
84
85
  *
86
+ * `companyUid` (US-002): when the caller has resolved the row's `cwd` to an
87
+ * owning company (`resolveCompanyForCwd`), it passes that `cmp_*` uid here and
88
+ * it is stamped on the wire row. It is on the server's KEEP allowlist
89
+ * (`apps/hq-pro/src/vault-service/handlers/usage.ts`). When `companyUid` is
90
+ * undefined (cwd maps to no company repo) the field is OMITTED — the server
91
+ * treats absence as unattributed/personal. The reserved value `unattributed`
92
+ * is never produced (it can only come from a resolved manifest `cmp_*` uid).
93
+ *
85
94
  * Returns `null` when the input isn't an object. Empty results (e.g. a row
86
95
  * with no recognised fields) are still returned as `{}` and emitted; the
87
96
  * server accepts empty rows and they're useful as a "Claude Code was run at
88
97
  * this time" heartbeat.
89
98
  */
90
- export function sanitizeRow(row) {
99
+ export function sanitizeRow(row, companyUid) {
91
100
  if (!row || typeof row !== "object" || Array.isArray(row))
92
101
  return null;
93
102
  const obj = row;
@@ -97,6 +106,11 @@ export function sanitizeRow(row) {
97
106
  out[key] = obj[key];
98
107
  }
99
108
  }
109
+ // Stamp the resolved company attribution. Omit when unresolved so the server
110
+ // reads it as unattributed/personal. Never the reserved `unattributed`.
111
+ if (companyUid !== undefined) {
112
+ out.companyUid = companyUid;
113
+ }
100
114
  const message = obj.message;
101
115
  if (message && typeof message === "object" && !Array.isArray(message)) {
102
116
  const m = message;
@@ -179,6 +193,12 @@ export async function collectAndSendTelemetry(opts) {
179
193
  const cursorPath = opts.cursorPath ?? path.join(home, ".hq", "telemetry-cursor.json");
180
194
  const menubarPath = opts.menubarPath ?? path.join(home, ".hq", "menubar.json");
181
195
  const log = opts.log ?? (() => { });
196
+ // Company attribution (US-002): parse the manifest ONCE per run and reuse the
197
+ // repo-path→companyUid map for every event below. No per-event manifest read.
198
+ // When `hqRoot` is omitted the map is empty → every event stays unattributed.
199
+ const repoCompanyMap = opts.hqRoot
200
+ ? await buildRepoCompanyMap(opts.hqRoot)
201
+ : { entries: [] };
182
202
  // 1. Opt-in check (server-authoritative, with local fallback).
183
203
  let enabled;
184
204
  let optInSource;
@@ -305,7 +325,13 @@ export async function collectAndSendTelemetry(opts) {
305
325
  catch {
306
326
  continue;
307
327
  }
308
- const sanitized = sanitizeRow(parsed);
328
+ // Resolve this row's cwd → owning company (cmp_* uid) before sanitizing,
329
+ // using the per-run map. Unresolved → undefined → companyUid omitted.
330
+ const rowCwd = parsed && typeof parsed === "object" && !Array.isArray(parsed)
331
+ ? parsed.cwd
332
+ : undefined;
333
+ const companyUid = resolveCompanyForCwd(typeof rowCwd === "string" ? rowCwd : undefined, repoCompanyMap);
334
+ const sanitized = sanitizeRow(parsed, companyUid);
309
335
  if (!sanitized)
310
336
  continue;
311
337
  // Cost of appending this row to the current batch: the row's JSON
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AA6DlC,SAAS,WAAW;IAClB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,UAAkB;IAC1C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA6B,CAAC;QAC3D,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAoC,EAAE,CAAC;QAChG,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;IACD,OAAO,WAAW,EAAE,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,UAAkB,EAAE,MAAuB;IACnE,0EAA0E;IAC1E,iDAAiD;IACjD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,GAAG,UAAU,MAAM,CAAC;IAChC,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAClE,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACnC,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,yBAAyB,CAAC,WAAmB;IAC1D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmC,CAAC;QACjE,OAAO,MAAM,CAAC,gBAAgB,KAAK,IAAI,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF;;+EAE+E;AAC/E,MAAM,cAAc,GAAG;IACrB,WAAW;IACX,WAAW;IACX,MAAM;IACN,KAAK;IACL,WAAW;IACX,UAAU;CACF,CAAC;AAEX;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACvE,MAAM,GAAG,GAAG,GAA8B,CAAC;IAC3C,MAAM,GAAG,GAA4B,EAAE,CAAC;IAExC,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACf,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,MAAM,CAAC,GAAG,OAAkC,CAAC;QAC7C,IAAI,OAAO,IAAI,CAAC;YAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QACtC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QACtB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,GAAG,KAAgC,CAAC;YAC3C,IAAI,cAAc,IAAI,CAAC;gBAAE,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,YAAY,CAAC;YAC1D,IAAI,eAAe,IAAI,CAAC;gBAAE,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,aAAa,CAAC;YAC7D,IAAI,6BAA6B,IAAI,CAAC,EAAE,CAAC;gBACvC,GAAG,CAAC,wBAAwB,GAAG,CAAC,CAAC,2BAA2B,CAAC;YAC/D,CAAC;YACD,IAAI,yBAAyB,IAAI,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,oBAAoB,GAAG,CAAC,CAAC,uBAAuB,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iFAAiF;AAEjF;;4EAE4E;AAC5E,KAAK,UAAU,cAAc,CAAC,IAAY;IACxC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,UAAU,IAAI,CAAC,GAAW;QAC7B,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;iBAAM,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iFAAiF;AAEjF,MAAM,eAAe,GAAG,SAAS,CAAC;AAQlC;;;;;;;;;GASG;AACH,SAAS,aAAa,CAAC,SAAiB,EAAE,gBAAwB;IAChE,wEAAwE;IACxE,sEAAsE;IACtE,6BAA6B;IAC7B,OAAO,MAAM,CAAC,UAAU,CACtB,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAC3D,OAAO,CACR,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAA6B;IAE7B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC7F,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC;IACtF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAEnC,+DAA+D;IAC/D,IAAI,OAAgB,CAAC;IACrB,IAAI,WAAkD,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACnD,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;QAChC,WAAW,GAAG,QAAQ,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,oCAAqC,GAAa,CAAC,OAAO,IAAI,GAAG,wCAAwC,CAAC,CAAC;QAC/G,OAAO,GAAG,MAAM,yBAAyB,CAAC,WAAW,CAAC,CAAC;QACvD,WAAW,GAAG,kBAAkB,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IACzF,CAAC;IAED,gCAAgC;IAChC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IACxC,MAAM,cAAc,GAAgC,EAAE,CAAC;IACvD,MAAM,cAAc,GAAgC,EAAE,CAAC;IAEvD,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAEvD,+DAA+D;IAC/D,EAAE;IACF,yEAAyE;IACzE,2EAA2E;IAC3E,oEAAoE;IACpE,uEAAuE;IACvE,uEAAuE;IACvE,8DAA8D;IAC9D,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5E,IAAI,WAAW,GAAmC,EAAE,CAAC;IACrD,IAAI,YAAY,GAAgB,EAAE,CAAC;IACnC,IAAI,UAAU,GAAG,cAAc,CAAC;IAChC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,MAAM,KAAK,GAAG,KAAK,IAAmB,EAAE;QACtC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACrC,MAAM,MAAM,GAAG,WAAW,CAAC;QAC3B,MAAM,OAAO,GAAG,YAAY,CAAC;QAC7B,WAAW,GAAG,EAAE,CAAC;QACjB,YAAY,GAAG,EAAE,CAAC;QAClB,UAAU,GAAG,cAAc,CAAC;QAE5B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,MAAM;aACP,CAAC,CAAC;YACH,WAAW,EAAE,CAAC;YACd,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC;YAC5B,2DAA2D;YAC3D,MAAM,UAAU,GAAG,IAAI,GAAG,EAA6C,CAAC;YACxE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;oBACvC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;YACD,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;gBACrC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,iCAAkC,GAAa,CAAC,OAAO,IAAI,GAAG,+BAA+B,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC;YACxH,6DAA6D;QAC/D,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACjE,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE3B,MAAM,OAAO,GACX,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,GAAG,CAAC,CAAC;YACX,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QAChE,CAAC;QAED,IAAI,MAAM,IAAI,WAAW,IAAI,CAAC,OAAO;YAAE,SAAS;QAEhD,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC;gBACjD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;gBACtC,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClC,CAAC;oBAAS,CAAC;gBACT,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEnC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACtD,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,UAAU,IAAI,CAAC,CAAC,CAAC,eAAe;YAC7D,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;QAC3C,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACnC,IAAI,MAAe,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,CAAC,SAAS;gBAAE,SAAS;YAEzB,kEAAkE;YAClE,mEAAmE;YACnE,kEAAkE;YAClE,kCAAkC;YAClC,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;YAC3E,MAAM,OAAO,GAAG,YAAY,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEhE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,GAAG,OAAO,GAAG,eAAe,EAAE,CAAC;gBACrE,MAAM,KAAK,EAAE,CAAC;gBACd,yEAAyE;gBACzE,UAAU,GAAG,cAAc,GAAG,YAAY,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,UAAU,IAAI,OAAO,CAAC;YACxB,CAAC;YAED,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC;gBAChB,QAAQ;gBACR,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;gBAC5B,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,KAAK,EAAE,CAAC;IAEd,iEAAiE;IACjE,MAAM,UAAU,GAAgC,EAAE,GAAG,WAAW,EAAE,CAAC;IACnE,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;QAAE,UAAU,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;IACjF,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;QAAE,UAAU,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;IAEjF,MAAM,UAAU,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAElE,OAAO;QACL,OAAO,EAAE,IAAI;QACb,WAAW;QACX,YAAY,EAAE,KAAK,CAAC,MAAM;QAC1B,UAAU;QACV,WAAW;KACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}