@indigoai-us/hq-cloud 6.14.49 → 6.15.0

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 (126) hide show
  1. package/.github/workflows/unreleased-commits-nag.yml +256 -0
  2. package/dist/bin/sync-runner-watch-loop.d.ts +12 -0
  3. package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
  4. package/dist/bin/sync-runner-watch-loop.js +153 -25
  5. package/dist/bin/sync-runner-watch-loop.js.map +1 -1
  6. package/dist/bin/sync-runner-watch-routes.d.ts +17 -0
  7. package/dist/bin/sync-runner-watch-routes.d.ts.map +1 -1
  8. package/dist/bin/sync-runner-watch-routes.js +11 -0
  9. package/dist/bin/sync-runner-watch-routes.js.map +1 -1
  10. package/dist/bin/sync-runner-watch-routes.test.d.ts +2 -0
  11. package/dist/bin/sync-runner-watch-routes.test.d.ts.map +1 -0
  12. package/dist/bin/sync-runner-watch-routes.test.js +51 -0
  13. package/dist/bin/sync-runner-watch-routes.test.js.map +1 -0
  14. package/dist/bin/sync-runner.d.ts +11 -12
  15. package/dist/bin/sync-runner.d.ts.map +1 -1
  16. package/dist/bin/sync-runner.js.map +1 -1
  17. package/dist/bin/sync-runner.test.js +173 -52
  18. package/dist/bin/sync-runner.test.js.map +1 -1
  19. package/dist/cli/reindex-knowledge.d.ts +7 -0
  20. package/dist/cli/reindex-knowledge.d.ts.map +1 -0
  21. package/dist/cli/reindex-knowledge.js +389 -0
  22. package/dist/cli/reindex-knowledge.js.map +1 -0
  23. package/dist/cli/reindex-knowledge.test.d.ts +12 -0
  24. package/dist/cli/reindex-knowledge.test.d.ts.map +1 -0
  25. package/dist/cli/reindex-knowledge.test.js +260 -0
  26. package/dist/cli/reindex-knowledge.test.js.map +1 -0
  27. package/dist/cli/reindex.d.ts.map +1 -1
  28. package/dist/cli/reindex.js +8 -0
  29. package/dist/cli/reindex.js.map +1 -1
  30. package/dist/cli/rescue-classify-ordering.test.js +8 -2
  31. package/dist/cli/rescue-classify-ordering.test.js.map +1 -1
  32. package/dist/cli/rescue-core.d.ts +85 -0
  33. package/dist/cli/rescue-core.d.ts.map +1 -1
  34. package/dist/cli/rescue-core.js +390 -1
  35. package/dist/cli/rescue-core.js.map +1 -1
  36. package/dist/cli/rescue-settings-reconcile.test.d.ts +2 -0
  37. package/dist/cli/rescue-settings-reconcile.test.d.ts.map +1 -0
  38. package/dist/cli/rescue-settings-reconcile.test.js +523 -0
  39. package/dist/cli/rescue-settings-reconcile.test.js.map +1 -0
  40. package/dist/index.d.ts +1 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +1 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/journal.d.ts.map +1 -1
  45. package/dist/journal.js +81 -51
  46. package/dist/journal.js.map +1 -1
  47. package/dist/journal.test.js +11 -19
  48. package/dist/journal.test.js.map +1 -1
  49. package/dist/sync/event-sync.d.ts +8 -25
  50. package/dist/sync/event-sync.d.ts.map +1 -1
  51. package/dist/sync/event-sync.js +23 -48
  52. package/dist/sync/event-sync.js.map +1 -1
  53. package/dist/sync/event-sync.test.js +6 -32
  54. package/dist/sync/event-sync.test.js.map +1 -1
  55. package/dist/sync/feature-flags.d.ts +20 -117
  56. package/dist/sync/feature-flags.d.ts.map +1 -1
  57. package/dist/sync/feature-flags.js +24 -147
  58. package/dist/sync/feature-flags.js.map +1 -1
  59. package/dist/sync/feature-flags.test.js +15 -61
  60. package/dist/sync/feature-flags.test.js.map +1 -1
  61. package/dist/sync/index.d.ts +1 -1
  62. package/dist/sync/index.d.ts.map +1 -1
  63. package/dist/sync/index.js +1 -1
  64. package/dist/sync/index.js.map +1 -1
  65. package/dist/sync/lease-client.d.ts +67 -0
  66. package/dist/sync/lease-client.d.ts.map +1 -0
  67. package/dist/sync/lease-client.js +158 -0
  68. package/dist/sync/lease-client.js.map +1 -0
  69. package/dist/sync/lease-client.test.d.ts +2 -0
  70. package/dist/sync/lease-client.test.d.ts.map +1 -0
  71. package/dist/sync/lease-client.test.js +119 -0
  72. package/dist/sync/lease-client.test.js.map +1 -0
  73. package/dist/sync/push-receiver.d.ts +8 -19
  74. package/dist/sync/push-receiver.d.ts.map +1 -1
  75. package/dist/sync/push-receiver.js +6 -50
  76. package/dist/sync/push-receiver.js.map +1 -1
  77. package/dist/sync/push-receiver.test.js +6 -57
  78. package/dist/sync/push-receiver.test.js.map +1 -1
  79. package/dist/sync/realtime-rollout.d.ts +85 -0
  80. package/dist/sync/realtime-rollout.d.ts.map +1 -0
  81. package/dist/sync/realtime-rollout.js +206 -0
  82. package/dist/sync/realtime-rollout.js.map +1 -0
  83. package/dist/sync/realtime-rollout.test.d.ts +2 -0
  84. package/dist/sync/realtime-rollout.test.d.ts.map +1 -0
  85. package/dist/sync/realtime-rollout.test.js +71 -0
  86. package/dist/sync/realtime-rollout.test.js.map +1 -0
  87. package/dist/sync/state-store.d.ts +40 -0
  88. package/dist/sync/state-store.d.ts.map +1 -0
  89. package/dist/sync/state-store.js +680 -0
  90. package/dist/sync/state-store.js.map +1 -0
  91. package/dist/sync/state-store.test.d.ts +2 -0
  92. package/dist/sync/state-store.test.d.ts.map +1 -0
  93. package/dist/sync/state-store.test.js +159 -0
  94. package/dist/sync/state-store.test.js.map +1 -0
  95. package/dist/types.d.ts +12 -0
  96. package/dist/types.d.ts.map +1 -1
  97. package/package.json +1 -1
  98. package/src/bin/sync-runner-watch-loop.ts +176 -32
  99. package/src/bin/sync-runner-watch-routes.test.ts +71 -0
  100. package/src/bin/sync-runner-watch-routes.ts +27 -0
  101. package/src/bin/sync-runner.test.ts +188 -53
  102. package/src/bin/sync-runner.ts +11 -12
  103. package/src/cli/reindex-knowledge.test.ts +307 -0
  104. package/src/cli/reindex-knowledge.ts +450 -0
  105. package/src/cli/reindex.ts +9 -0
  106. package/src/cli/rescue-classify-ordering.test.ts +9 -3
  107. package/src/cli/rescue-core.ts +459 -1
  108. package/src/cli/rescue-settings-reconcile.test.ts +637 -0
  109. package/src/index.ts +2 -4
  110. package/src/journal.test.ts +19 -21
  111. package/src/journal.ts +87 -54
  112. package/src/sync/event-sync.test.ts +9 -44
  113. package/src/sync/event-sync.ts +26 -52
  114. package/src/sync/feature-flags.test.ts +22 -72
  115. package/src/sync/feature-flags.ts +32 -199
  116. package/src/sync/index.ts +2 -4
  117. package/src/sync/lease-client.test.ts +128 -0
  118. package/src/sync/lease-client.ts +207 -0
  119. package/src/sync/push-receiver.test.ts +6 -58
  120. package/src/sync/push-receiver.ts +9 -74
  121. package/src/sync/realtime-rollout.test.ts +86 -0
  122. package/src/sync/realtime-rollout.ts +262 -0
  123. package/src/sync/state-store.test.ts +194 -0
  124. package/src/sync/state-store.ts +727 -0
  125. package/src/types.ts +14 -0
  126. package/test/e2e/sync/transient-company-leg.test.ts +8 -4
@@ -1,160 +1,37 @@
1
1
  /**
2
- * Per-tenant feature-flag module for the event-driven push pipeline.
2
+ * Local control for the dormant event-sync wiring.
3
3
  *
4
- * Ported from indigoai-us/hq-pro PR #112 (src/sync/feature-flags.ts) into
5
- * @indigoai-us/hq-cloud (Path B) per project event-driven-sync-menubar US-008.
6
- *
7
- * Why this exists
8
- * ───────────────
9
- * The event-driven push pipeline must default OFF for all tenants and be
10
- * enabled per-tenant ("OFF for all tenants by default, ON for Indigo only").
11
- * This module provides the read-only seam the watcher (and a later receiver)
12
- * consult at start time to decide whether to emit/ship PushEvents at all:
13
- * - {@link EventDrivenPushFlagProvider} — the small read-only seam every
14
- * caller consults. Returns a boolean for a given tenantId.
15
- * - {@link EnvTenantListFlagProvider} — production implementation. Reads
16
- * a comma-separated allow-list from {@link FEATURE_FLAG_TENANTS_ENV_VAR}
17
- * AND honors the legacy global `HQ_SYNC_EVENT_DRIVEN_PUSH_ENABLED=true`
18
- * as a backwards-compat global override. The legacy global wins when set
19
- * — it enables all tenants.
20
- * - {@link StaticFlagProvider} — small test helper. Constructor takes an
21
- * iterable of enabled tenant IDs. Used by watcher + feature-flag tests.
22
- * - {@link defaultFlagProvider} — factory callers default to when no
23
- * provider is explicitly supplied.
24
- *
25
- * Validation posture
26
- * ──────────────────
27
- * Tenant IDs from the env are trimmed, empty entries are dropped, and
28
- * entries containing internal whitespace are warn-and-skipped (NOT thrown).
29
- * The watcher runs inside a long-lived daemon — a malformed env var must
30
- * not crash daemon startup; it must surface in logs and fall through to the
31
- * default-OFF behavior for the misconfigured entry.
32
- *
33
- * @see src/watcher.ts — the TreeWatcher consults this seam at start time to
34
- * decide whether to emit + ship PushEvents (dormant when OFF).
35
- */
36
- // ─── Constants ─────────────────────────────────────────────────────────────
37
- /**
38
- * Env var holding a comma-separated allow-list of tenant IDs for which the
39
- * event-driven push pipeline is enabled. Empty/unset means no tenants are
40
- * enabled (default OFF for all). Example: `indigo,acme`.
41
- *
42
- * Tenant matching is exact and case-sensitive after trimming. Whitespace
43
- * around commas is tolerated; internal whitespace within a tenant ID is
44
- * not (warned + skipped — see `parseTenantList` below).
4
+ * U15 removes client-side positive selectors. Environment values, tenant IDs,
5
+ * and cached identity cannot grant authority; the authenticated server
6
+ * inventory is the sole positive authority. This module preserves only the
7
+ * operator's local off-switch.
45
8
  */
46
- export const FEATURE_FLAG_TENANTS_ENV_VAR = "HQ_SYNC_EVENT_DRIVEN_PUSH_ENABLED_TENANTS";
9
+ /** A local-only kill switch. Any other value is deliberately non-authorizing. */
10
+ export const EVENT_SYNC_LOCAL_DISABLE_ENV_VAR = "HQ_SYNC_EVENT_SYNC";
47
11
  /**
48
- * Legacy process-wide env var. When set to the literal string `"true"`, the
49
- * pipeline is unconditionally enabled. Preserved as a "global override that
50
- * enables ALL tenants" so a single-flag rollout (or local dev) keeps working.
51
- *
52
- * Operators flipping rollout via deploy-time config should prefer the
53
- * per-tenant {@link FEATURE_FLAG_TENANTS_ENV_VAR} instead.
54
- */
55
- export const FEATURE_FLAG_LEGACY_GLOBAL_ENV_VAR = "HQ_SYNC_EVENT_DRIVEN_PUSH_ENABLED";
56
- /**
57
- * Production flag provider. Reads {@link FEATURE_FLAG_TENANTS_ENV_VAR} at
58
- * construction time and caches the parsed set — `isEnabled()` is O(1).
59
- *
60
- * The legacy {@link FEATURE_FLAG_LEGACY_GLOBAL_ENV_VAR} (set to literal
61
- * `"true"`) acts as a global override: when set, `isEnabled()` returns
62
- * true for every tenant.
63
- *
64
- * Parse rules:
65
- * - Empty / unset {@link FEATURE_FLAG_TENANTS_ENV_VAR} → no tenants enabled.
66
- * - Whitespace around commas is tolerated and trimmed.
67
- * - Empty entries (`",,foo,"`) are silently dropped.
68
- * - Entries with INTERNAL whitespace (`"indigo team"`) are warn-and-skipped.
69
- * - Matching is exact + case-sensitive.
70
- */
71
- export class EnvTenantListFlagProvider {
72
- tenants;
73
- legacyGlobal;
74
- constructor(opts = {}) {
75
- const env = opts.env ?? process.env;
76
- const warn = opts.warn ?? defaultWarn;
77
- this.tenants = parseTenantList(env[FEATURE_FLAG_TENANTS_ENV_VAR], warn);
78
- this.legacyGlobal = env[FEATURE_FLAG_LEGACY_GLOBAL_ENV_VAR] === "true";
79
- }
80
- isEnabled(tenantId) {
81
- if (this.legacyGlobal)
82
- return true;
83
- return this.tenants.has(tenantId);
84
- }
85
- /**
86
- * Debug-only accessor — returns a defensive copy of the cached allow-list.
87
- * Used by tests and the daemon's startup log line.
88
- */
89
- get enabledTenants() {
90
- return new Set(this.tenants);
91
- }
92
- /** Debug-only accessor — true iff the legacy global override is in effect. */
93
- get globalOverride() {
94
- return this.legacyGlobal;
95
- }
96
- }
97
- // ─── Static provider (tests) ───────────────────────────────────────────────
98
- /**
99
- * In-memory provider for unit tests. The constructor takes the set of
100
- * enabled tenant IDs; `isEnabled()` is a plain `Set.has` check.
101
- *
102
- * Production callers should NEVER construct this — use
103
- * {@link EnvTenantListFlagProvider} via {@link defaultFlagProvider}.
12
+ * Compatibility fixture for older direct emitter tests. It represents a
13
+ * previously authenticated server inventory result; the supplied legacy value
14
+ * is deliberately ignored, so it cannot select a tenant or grant by email.
104
15
  */
105
16
  export class StaticFlagProvider {
106
- tenants;
107
- constructor(enabledTenants) {
108
- this.tenants = new Set(enabledTenants);
109
- }
110
- isEnabled(tenantId) {
111
- return this.tenants.has(tenantId);
17
+ constructor(_authenticatedLegacyInventory) { }
18
+ isEnabled(_scopeId) {
19
+ return true;
112
20
  }
113
21
  }
114
- // ─── Factory ───────────────────────────────────────────────────────────────
115
- /**
116
- * Build the default {@link EventDrivenPushFlagProvider} from an env
117
- * snapshot. Production callers use this with no args — `process.env` is
118
- * the implicit input.
119
- */
120
- export function defaultFlagProvider(env = process.env) {
121
- return new EnvTenantListFlagProvider({ env });
122
- }
123
- // ─── Internals ─────────────────────────────────────────────────────────────
124
22
  /**
125
- * Parse a raw env value into a Set of valid tenant IDs.
126
- *
127
- * Kept as a free function so unit tests can call it via the class accessor
128
- * with a synthetic warn spy without exporting an internal symbol.
23
+ * Returns true only for an explicit local disable value. Values such as
24
+ * `true`, `1`, a tenant list, or an unrecognized string never enable sync.
129
25
  */
130
- function parseTenantList(raw, warn) {
131
- if (raw === undefined || raw === "")
132
- return new Set();
133
- const out = new Set();
134
- for (const piece of raw.split(",")) {
135
- const trimmed = piece.trim();
136
- if (trimmed === "") {
137
- // Empty slot (`",,foo,"` or trailing commas) — silently skipped.
138
- continue;
139
- }
140
- if (/\s/.test(trimmed)) {
141
- // Internal whitespace — operator misconfiguration. Warn but don't
142
- // throw: the daemon must keep starting, the misconfigured tenant
143
- // just stays OFF.
144
- warn("feature-flag: skipping tenant entry with internal whitespace", {
145
- envVar: FEATURE_FLAG_TENANTS_ENV_VAR,
146
- rawEntry: trimmed,
147
- });
148
- continue;
149
- }
150
- out.add(trimmed);
26
+ export function isEventSyncLocallyDisabled(value) {
27
+ switch ((value ?? "").trim().toLowerCase()) {
28
+ case "0":
29
+ case "false":
30
+ case "no":
31
+ case "off":
32
+ return true;
33
+ default:
34
+ return false;
151
35
  }
152
- return out;
153
- }
154
- /**
155
- * Default warn destination — plain `console.warn`.
156
- */
157
- function defaultWarn(message, context) {
158
- console.warn(message, context);
159
36
  }
160
37
  //# sourceMappingURL=feature-flags.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flags.js","sourceRoot":"","sources":["../../src/sync/feature-flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,4BAA4B,GACvC,2CAA2C,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAC7C,mCAAmC,CAAC;AA+CtC;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,yBAAyB;IACnB,OAAO,CAAsB;IAC7B,YAAY,CAAU;IAEvC,YAAY,OAAyC,EAAE;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,kCAAkC,CAAC,KAAK,MAAM,CAAC;IACzE,CAAC;IAED,SAAS,CAAC,QAAgB;QACxB,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,8EAA8E;IAC9E,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;IACZ,OAAO,CAAsB;IAE9C,YAAY,cAAgC;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,QAAgB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;CACF;AAED,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAA0C,OAAO,CAAC,GAAG;IAErD,OAAO,IAAI,yBAAyB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,8EAA8E;AAE9E;;;;;GAKG;AACH,SAAS,eAAe,CACtB,GAAuB,EACvB,IAAwB;IAExB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,IAAI,GAAG,EAAU,CAAC;IAC9D,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,iEAAiE;YACjE,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,kEAAkE;YAClE,iEAAiE;YACjE,kBAAkB;YAClB,IAAI,CAAC,8DAA8D,EAAE;gBACnE,MAAM,EAAE,4BAA4B;gBACpC,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAClB,OAAe,EACf,OAAgC;IAEhC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"feature-flags.js","sourceRoot":"","sources":["../../src/sync/feature-flags.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,iFAAiF;AACjF,MAAM,CAAC,MAAM,gCAAgC,GAAG,oBAAoB,CAAC;AAsBrE;;;;GAIG;AACH,MAAM,OAAO,kBAAkB;IAC7B,YAAY,6BAAsC,IAAG,CAAC;IAEtD,SAAS,CAAC,QAAgB;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAyB;IAEzB,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3C,KAAK,GAAG,CAAC;QACT,KAAK,OAAO,CAAC;QACb,KAAK,IAAI,CAAC;QACV,KAAK,KAAK;YACR,OAAO,IAAI,CAAC;QACd;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
@@ -25,7 +25,7 @@ import { mkdtempSync, rmSync, writeFileSync } from "node:fs";
25
25
  import { tmpdir } from "node:os";
26
26
  import path from "node:path";
27
27
  import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
28
- import { EnvTenantListFlagProvider, FEATURE_FLAG_LEGACY_GLOBAL_ENV_VAR, FEATURE_FLAG_TENANTS_ENV_VAR, StaticFlagProvider, defaultFlagProvider, } from "./feature-flags.js";
28
+ import { EVENT_SYNC_LOCAL_DISABLE_ENV_VAR, isEventSyncLocallyDisabled, } from "./feature-flags.js";
29
29
  import { HttpPushTransport, NoopPushTransport, } from "./push-transport.js";
30
30
  import { decodePushEvent } from "./push-event.js";
31
31
  import { PushEventEmitter } from "../watcher.js";
@@ -59,61 +59,15 @@ function makeFetch(res = {
59
59
  };
60
60
  return { fetch, calls };
61
61
  }
62
- // ─── 1. Flag gating (feature-flags.ts) ────────────────────────────────────────
63
- describe("EventDrivenPush feature flags gating", () => {
64
- it("StaticFlagProvider enables only listed tenants", () => {
65
- const p = new StaticFlagProvider(["indigo"]);
66
- expect(p.isEnabled("indigo")).toBe(true);
67
- expect(p.isEnabled("acme")).toBe(false);
68
- });
69
- it("env tenant list: empty/unset → all tenants OFF (default)", () => {
70
- expect(new EnvTenantListFlagProvider({ env: {} }).isEnabled("indigo")).toBe(false);
71
- expect(new EnvTenantListFlagProvider({
72
- env: { [FEATURE_FLAG_TENANTS_ENV_VAR]: "" },
73
- }).isEnabled("indigo")).toBe(false);
74
- });
75
- it("env tenant list enables exact, case-sensitive matches only", () => {
76
- const p = new EnvTenantListFlagProvider({
77
- env: { [FEATURE_FLAG_TENANTS_ENV_VAR]: " indigo , acme " },
78
- });
79
- expect(p.isEnabled("indigo")).toBe(true);
80
- expect(p.isEnabled("acme")).toBe(true);
81
- expect(p.isEnabled("Indigo")).toBe(false);
82
- expect(p.isEnabled("other")).toBe(false);
83
- expect(p.enabledTenants).toEqual(new Set(["indigo", "acme"]));
84
- });
85
- it("legacy global=true overrides → every tenant enabled", () => {
86
- const p = new EnvTenantListFlagProvider({
87
- env: { [FEATURE_FLAG_LEGACY_GLOBAL_ENV_VAR]: "true" },
88
- });
89
- expect(p.isEnabled("anything")).toBe(true);
90
- expect(p.globalOverride).toBe(true);
91
- });
92
- it("trailing/empty commas dropped silently; internal-whitespace warn-and-skipped (no throw)", () => {
93
- const warn = vi.fn();
94
- const p = new EnvTenantListFlagProvider({
95
- env: { [FEATURE_FLAG_TENANTS_ENV_VAR]: ",,indigo,,bad tenant," },
96
- warn,
97
- });
98
- expect(p.isEnabled("indigo")).toBe(true);
99
- expect(p.isEnabled("bad tenant")).toBe(false);
100
- expect(warn).toHaveBeenCalledTimes(1);
101
- expect(warn.mock.calls[0][1]).toMatchObject({ rawEntry: "bad tenant" });
102
- });
103
- it("defaultFlagProvider reads from the supplied env snapshot", () => {
104
- const p = defaultFlagProvider({
105
- [FEATURE_FLAG_TENANTS_ENV_VAR]: "indigo",
106
- });
107
- expect(p.isEnabled("indigo")).toBe(true);
108
- expect(p.isEnabled("acme")).toBe(false);
109
- });
110
- it("enabledTenants returns a defensive copy (mutation does not corrupt cache)", () => {
111
- const p = new EnvTenantListFlagProvider({
112
- env: { [FEATURE_FLAG_TENANTS_ENV_VAR]: "indigo" },
113
- });
114
- p.enabledTenants.add("acme");
115
- expect(p.isEnabled("acme")).toBe(false);
62
+ // ─── 1. Local disable (feature-flags.ts) ─────────────────────────────────────
63
+ const serverGranted = { isEnabled: () => true };
64
+ const serverDenied = { isEnabled: () => false };
65
+ describe("Event sync local control", () => {
66
+ it("exports only the local disable control", () => {
67
+ expect(EVENT_SYNC_LOCAL_DISABLE_ENV_VAR).toBe("HQ_SYNC_EVENT_SYNC");
116
68
  });
69
+ it.each(["0", "false", "no", "off", " OFF "])("recognizes %j as a local disable", (value) => expect(isEventSyncLocallyDisabled(value)).toBe(true));
70
+ it.each([undefined, "", "1", "true", "yes", "on", "indigo,acme"])("%j does not grant authority", (value) => expect(isEventSyncLocallyDisabled(value)).toBe(false));
117
71
  });
118
72
  // ─── 2. POST (HttpPushTransport) ──────────────────────────────────────────────
119
73
  describe("HttpPushTransport — POST /sync/push", () => {
@@ -249,7 +203,7 @@ describe("PushEventEmitter — emit, gating, failure handling", () => {
249
203
  originTenantId: "indigo",
250
204
  originDeviceId: "dev-1",
251
205
  transport: spyTransport,
252
- flagProvider: new StaticFlagProvider(["indigo"]),
206
+ flagProvider: serverGranted,
253
207
  now: () => new Date("2026-05-21T00:00:00.000Z"),
254
208
  });
255
209
  await emitter.emitForBatch(batchFor(REL));
@@ -270,7 +224,7 @@ describe("PushEventEmitter — emit, gating, failure handling", () => {
270
224
  originTenantId: "indigo",
271
225
  originDeviceId: "dev-1",
272
226
  transport: { start: async () => { }, dispose: async () => { }, connected: true, publish: async (e) => { published.push(e); } },
273
- flagProvider: new StaticFlagProvider(["indigo"]),
227
+ flagProvider: serverGranted,
274
228
  });
275
229
  writeFileSync(path.join(dir, "b.md"), "second");
276
230
  await emitter.emitForBatch(batchFor(REL));
@@ -283,7 +237,7 @@ describe("PushEventEmitter — emit, gating, failure handling", () => {
283
237
  originTenantId: "indigo",
284
238
  originDeviceId: "dev-1",
285
239
  transport: { start: async () => { }, dispose: async () => { }, connected: false, publish },
286
- flagProvider: new StaticFlagProvider([]), // indigo NOT enabled
240
+ flagProvider: serverDenied, // indigo NOT enabled
287
241
  });
288
242
  expect(emitter.enabled).toBe(false);
289
243
  await emitter.emitForBatch(batchFor(REL));
@@ -307,7 +261,7 @@ describe("PushEventEmitter — emit, gating, failure handling", () => {
307
261
  throw new Error("network down");
308
262
  },
309
263
  },
310
- flagProvider: new StaticFlagProvider(["indigo"]),
264
+ flagProvider: serverGranted,
311
265
  onError,
312
266
  });
313
267
  // Must not reject — the daemon stays alive.
@@ -323,7 +277,7 @@ describe("PushEventEmitter — emit, gating, failure handling", () => {
323
277
  originTenantId: "indigo",
324
278
  originDeviceId: "dev-1",
325
279
  transport: { start: async () => { }, dispose: async () => { }, connected: true, publish: async (e) => { published.push(e); } },
326
- flagProvider: new StaticFlagProvider(["indigo"]),
280
+ flagProvider: serverGranted,
327
281
  onError,
328
282
  });
329
283
  // REL exists; "ghost.md" does not.
@@ -349,7 +303,7 @@ describe("PushEventEmitter — emit, gating, failure handling", () => {
349
303
  originTenantId: "indigo",
350
304
  originDeviceId: "dev-1",
351
305
  transport,
352
- flagProvider: new StaticFlagProvider(["indigo"]),
306
+ flagProvider: serverGranted,
353
307
  });
354
308
  await transport.start();
355
309
  await emitter.emitForBatch(batchFor(REL));
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flags.test.js","sourceRoot":"","sources":["../../src/sync/feature-flags.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-flags.test.js","sourceRoot":"","sources":["../../src/sync/feature-flags.test.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export { CONTENT_HASH_PATTERN, ISO8601_DATETIME_PATTERN, PushEventSchema, PushEv
8
8
  export type { PushEvent, PushEventInput, PushEventDecodeIssue, } from "./push-event.js";
9
9
  export { NoopPushTransport, HttpPushTransport } from "./push-transport.js";
10
10
  export type { PushTransport, HttpPushTransportOptions, AuthTokenSource, FetchLike, } from "./push-transport.js";
11
- export { FEATURE_FLAG_TENANTS_ENV_VAR, FEATURE_FLAG_LEGACY_GLOBAL_ENV_VAR, EnvTenantListFlagProvider, StaticFlagProvider, defaultFlagProvider, } from "./feature-flags.js";
11
+ export { EVENT_SYNC_LOCAL_DISABLE_ENV_VAR, isEventSyncLocallyDisabled, StaticFlagProvider, } from "./feature-flags.js";
12
12
  export type { EventDrivenPushFlagProvider, FlagProviderWarnFn, EnvTenantListFlagProviderOptions, } from "./feature-flags.js";
13
13
  export { NoopPushReceiver, SqsPushReceiver, InMemoryFanout, InMemoryPushReceiver, createPushReceiver, DEFAULT_RECEIVER_DISPOSE_DRAIN_MS, DEFAULT_WAIT_TIME_SECONDS, DEFAULT_MAX_MESSAGES, } from "./push-receiver.js";
14
14
  export type { PushReceiver, PushReceiverContext, SyncEngineFn, PublishMetricFn, ReceiverLogger, SqsClientLike, SqsMessageLike, SqsPushReceiverOptions, InMemoryPushReceiverOptions, CreatePushReceiverOptions, } from "./push-receiver.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,SAAS,EACT,cAAc,EACd,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,YAAY,EACV,aAAa,EACb,wBAAwB,EACxB,eAAe,EACf,SAAS,GACV,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,4BAA4B,EAC5B,kCAAkC,EAClC,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,2BAA2B,EAC3B,kBAAkB,EAClB,gCAAgC,GACjC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,iCAAiC,EACjC,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,iBAAiB,EACjB,+BAA+B,GAChC,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,SAAS,EACT,cAAc,EACd,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,YAAY,EACV,aAAa,EACb,wBAAwB,EACxB,eAAe,EACf,SAAS,GACV,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,gCAAgC,EAChC,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,2BAA2B,EAC3B,kBAAkB,EAClB,gCAAgC,GACjC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,iCAAiC,EACjC,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,iBAAiB,EACjB,+BAA+B,GAChC,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  export { CONTENT_HASH_PATTERN, ISO8601_DATETIME_PATTERN, PushEventSchema, PushEventDecodeError, encodePushEvent, decodePushEvent, } from "./push-event.js";
8
8
  export { NoopPushTransport, HttpPushTransport } from "./push-transport.js";
9
- export { FEATURE_FLAG_TENANTS_ENV_VAR, FEATURE_FLAG_LEGACY_GLOBAL_ENV_VAR, EnvTenantListFlagProvider, StaticFlagProvider, defaultFlagProvider, } from "./feature-flags.js";
9
+ export { EVENT_SYNC_LOCAL_DISABLE_ENV_VAR, isEventSyncLocallyDisabled, StaticFlagProvider, } from "./feature-flags.js";
10
10
  export { NoopPushReceiver, SqsPushReceiver, InMemoryFanout, InMemoryPushReceiver, createPushReceiver, DEFAULT_RECEIVER_DISPOSE_DRAIN_MS, DEFAULT_WAIT_TIME_SECONDS, DEFAULT_MAX_MESSAGES, } from "./push-receiver.js";
11
11
  export { SYNC_METRIC_NAMESPACE, SYNC_LATENCY_METRIC_NAME, _setSyncCloudWatchClient, publishSyncLatencyMetric, } from "./metrics.js";
12
12
  export { createLogger } from "./logger.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAQ3E,OAAO,EACL,4BAA4B,EAC5B,kCAAkC,EAClC,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,iCAAiC,EACjC,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAc5B,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAMtB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAQ3E,OAAO,EACL,gCAAgC,EAChC,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,iCAAiC,EACjC,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAc5B,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAMtB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,67 @@
1
+ import type { AuthTokenSource, FetchLike } from "./push-transport.js";
2
+ import { type RealtimeCapabilityVector, type RealtimeInventoryGrant, type RealtimeRolloutClient } from "./realtime-rollout.js";
3
+ export declare const MAX_REALTIME_LEASE_MS = 60000;
4
+ export declare const MAX_REALTIME_LEASE_CLOCK_SKEW_MS = 5000;
5
+ export interface RealtimeLease {
6
+ lease: string;
7
+ issuedAt: string;
8
+ expiresAt: string;
9
+ authorizationEpoch: string;
10
+ }
11
+ export interface RealtimeLeaseRequest {
12
+ bearer: string;
13
+ deviceId: string;
14
+ capabilityVector: RealtimeCapabilityVector;
15
+ scopeHandle: string;
16
+ scopeRevision: string;
17
+ }
18
+ export interface RealtimeLeaseClientOptions {
19
+ apiUrl: string;
20
+ fetchImpl?: FetchLike;
21
+ now?: () => number;
22
+ authorizationTimeoutMs?: number;
23
+ }
24
+ /** Issues a non-cacheable, <=60 second lease for one exact inventory grant. */
25
+ export declare class RealtimeLeaseClient {
26
+ private readonly apiUrl;
27
+ private readonly fetchImpl;
28
+ private readonly now;
29
+ private readonly authorizationTimeoutMs;
30
+ constructor(options: RealtimeLeaseClientOptions);
31
+ assertUsable(lease: RealtimeLease): void;
32
+ issue(request: RealtimeLeaseRequest): Promise<RealtimeLease>;
33
+ }
34
+ export interface RealtimeScopeAuthorization {
35
+ grant: RealtimeInventoryGrant & {
36
+ state: "v2-ready";
37
+ };
38
+ lease: RealtimeLease;
39
+ }
40
+ export interface RealtimePassAuthorization {
41
+ /** One resolved bearer is reused by every inventory and lease request in this pass. */
42
+ bearer: string;
43
+ scopes: readonly RealtimeScopeAuthorization[];
44
+ }
45
+ export interface RealtimePassRequest {
46
+ deviceId: string;
47
+ capabilityVector: RealtimeCapabilityVector;
48
+ configurationFingerprint: string;
49
+ scopeFingerprint: string;
50
+ scopeUids: readonly string[];
51
+ }
52
+ /**
53
+ * The only pre-I/O admission seam for later V2 work. It intentionally has no
54
+ * V1 fallback: malformed, stale, revoked, or non-ready inventory never gives
55
+ * an operation a lease. It resolves its bearer once, then reissues leases on
56
+ * every guarded pass so cached positives cannot cross server config/scope
57
+ * changes.
58
+ */
59
+ export declare class RealtimePassAuthorizer {
60
+ private readonly authToken;
61
+ private readonly inventoryClient;
62
+ private readonly leaseClient;
63
+ constructor(authToken: AuthTokenSource, inventoryClient: RealtimeRolloutClient, leaseClient: RealtimeLeaseClient);
64
+ authorize(request: RealtimePassRequest): Promise<RealtimePassAuthorization>;
65
+ runBeforeIo<T>(request: RealtimePassRequest, operation: (authorization: RealtimePassAuthorization) => Promise<T>): Promise<T>;
66
+ }
67
+ //# sourceMappingURL=lease-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lease-client.d.ts","sourceRoot":"","sources":["../../src/sync/lease-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAE3B,KAAK,qBAAqB,EAE3B,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAC5C,eAAO,MAAM,gCAAgC,OAAQ,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAmCD,+EAA+E;AAC/E,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;gBAEpC,OAAO,EAAE,0BAA0B;IAW/C,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAOlC,KAAK,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;CAwCnE;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,sBAAsB,GAAG;QAAE,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC;IACtD,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,uFAAuF;IACvF,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,0BAA0B,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,wBAAwB,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAFX,SAAS,EAAE,eAAe,EAC1B,eAAe,EAAE,qBAAqB,EACtC,WAAW,EAAE,mBAAmB;IAG7C,SAAS,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAkC3E,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC,aAAa,EAAE,yBAAyB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAGpI"}