@substrat-run/kernel 0.159.0 → 0.160.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 (91) hide show
  1. package/dist/billing-retention.d.ts +46 -0
  2. package/dist/billing-retention.d.ts.map +1 -0
  3. package/dist/billing-retention.js +78 -0
  4. package/dist/billing-retention.js.map +1 -0
  5. package/dist/byte-stream.d.ts +102 -0
  6. package/dist/byte-stream.d.ts.map +1 -0
  7. package/dist/byte-stream.js +153 -0
  8. package/dist/byte-stream.js.map +1 -0
  9. package/dist/connection-landings.d.ts +15 -3
  10. package/dist/connection-landings.d.ts.map +1 -1
  11. package/dist/connection-landings.js +10 -2
  12. package/dist/connection-landings.js.map +1 -1
  13. package/dist/deadline-fetch.d.ts +34 -0
  14. package/dist/deadline-fetch.d.ts.map +1 -0
  15. package/dist/deadline-fetch.js +231 -0
  16. package/dist/deadline-fetch.js.map +1 -0
  17. package/dist/deployment-wire-auth.d.ts +82 -0
  18. package/dist/deployment-wire-auth.d.ts.map +1 -0
  19. package/dist/deployment-wire-auth.js +150 -0
  20. package/dist/deployment-wire-auth.js.map +1 -0
  21. package/dist/entity-trash.d.ts +65 -8
  22. package/dist/entity-trash.d.ts.map +1 -1
  23. package/dist/entity-trash.js +80 -12
  24. package/dist/entity-trash.js.map +1 -1
  25. package/dist/export-break.d.ts +6 -0
  26. package/dist/export-break.d.ts.map +1 -1
  27. package/dist/export-break.js +11 -0
  28. package/dist/export-break.js.map +1 -1
  29. package/dist/index.d.ts +18 -9
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +16 -7
  32. package/dist/index.js.map +1 -1
  33. package/dist/meter-days.d.ts +107 -0
  34. package/dist/meter-days.d.ts.map +1 -0
  35. package/dist/meter-days.js +230 -0
  36. package/dist/meter-days.js.map +1 -0
  37. package/dist/meters.d.ts +19 -1
  38. package/dist/meters.d.ts.map +1 -1
  39. package/dist/meters.js +0 -0
  40. package/dist/meters.js.map +1 -1
  41. package/dist/ops-failure-reference.d.ts +31 -0
  42. package/dist/ops-failure-reference.d.ts.map +1 -0
  43. package/dist/ops-failure-reference.js +32 -0
  44. package/dist/ops-failure-reference.js.map +1 -0
  45. package/dist/platform-request-cap.d.ts +9 -0
  46. package/dist/platform-request-cap.d.ts.map +1 -0
  47. package/dist/platform-request-cap.js +42 -0
  48. package/dist/platform-request-cap.js.map +1 -0
  49. package/dist/platform-sweep.d.ts +170 -7
  50. package/dist/platform-sweep.d.ts.map +1 -1
  51. package/dist/platform-sweep.js +375 -45
  52. package/dist/platform-sweep.js.map +1 -1
  53. package/dist/request-rollup.d.ts +161 -0
  54. package/dist/request-rollup.d.ts.map +1 -0
  55. package/dist/request-rollup.js +273 -0
  56. package/dist/request-rollup.js.map +1 -0
  57. package/dist/reserved-roles.d.ts +157 -4
  58. package/dist/reserved-roles.d.ts.map +1 -1
  59. package/dist/reserved-roles.js +216 -2
  60. package/dist/reserved-roles.js.map +1 -1
  61. package/dist/schedule-state.d.ts +5 -0
  62. package/dist/schedule-state.d.ts.map +1 -1
  63. package/dist/scope-host.d.ts +260 -15
  64. package/dist/scope-host.d.ts.map +1 -1
  65. package/dist/scope-host.js +53 -2
  66. package/dist/scope-host.js.map +1 -1
  67. package/dist/scope-lifecycle.d.ts +7 -0
  68. package/dist/scope-lifecycle.d.ts.map +1 -1
  69. package/dist/scope-lifecycle.js +7 -0
  70. package/dist/scope-lifecycle.js.map +1 -1
  71. package/dist/scope-record.d.ts +16 -5
  72. package/dist/scope-record.d.ts.map +1 -1
  73. package/dist/scope-record.js +72 -7
  74. package/dist/scope-record.js.map +1 -1
  75. package/dist/spine-restore.d.ts +7 -3
  76. package/dist/spine-restore.d.ts.map +1 -1
  77. package/dist/spine-restore.js +14 -3
  78. package/dist/spine-restore.js.map +1 -1
  79. package/dist/storage-gauge.d.ts +47 -13
  80. package/dist/storage-gauge.d.ts.map +1 -1
  81. package/dist/storage-gauge.js +84 -27
  82. package/dist/storage-gauge.js.map +1 -1
  83. package/dist/subject-redaction.d.ts +9 -3
  84. package/dist/subject-redaction.d.ts.map +1 -1
  85. package/dist/subject-redaction.js +24 -12
  86. package/dist/subject-redaction.js.map +1 -1
  87. package/dist/vertical-owners.d.ts +69 -0
  88. package/dist/vertical-owners.d.ts.map +1 -0
  89. package/dist/vertical-owners.js +108 -0
  90. package/dist/vertical-owners.js.map +1 -0
  91. package/package.json +2 -2
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ import { type Instant, type MeterDay, type MeterDayTake, type TenantId } from '@substrat-run/contracts';
2
+ import type { RedactionSql } from './subject-redaction.js';
3
+ import { type MeterEntitlementInput, type MeterScopeInput, type MeterTenantInput } from './meters.js';
4
+ /**
5
+ * The daily meter snapshot (#2501), as statements both adapters run against their directory: the
6
+ * SQLite host over better-sqlite3, the hosted one inside ControlPlaneDO. Written once so the two
7
+ * cannot keep different histories of the same fleet.
8
+ *
9
+ * Meters 1 and 2 (`readMeters`) are recomputed on every read and store nothing, so a past day's
10
+ * reading is gone once the directory moves on. This keeps one row per (UTC day, tenant): the
11
+ * tenant's reading as the first scheduled pass of the day found it, folded by `foldMeterReading`
12
+ * so the billable rule is the one `/meters` applies. Beside the tenant's scope counts it holds the
13
+ * same counts split by vertical, and every grant the tenant held with whether it was live at the
14
+ * snapshot's instant: an expiry is decided lazily from `expires_at` and leaves no trace of its
15
+ * own, so the day it lapsed is only known if someone looked that day.
16
+ *
17
+ * `_substrat_meter_day_takes` keeps one row per day a pass tried: when, whether the snapshot was
18
+ * taken, and why the last attempt failed. A day with no rows and a record was taken over no
19
+ * tenant; a day with no record had no pass. A failed attempt carries the run of identical failures
20
+ * it belongs to (`failing_since`, `failing_count`), handed on from the attempt before it.
21
+ *
22
+ * The nested lists are JSON, parsed by `meterDay` on the way in and on the way out.
23
+ */
24
+ export declare const METER_DAYS_DDL = "\n CREATE TABLE IF NOT EXISTS _substrat_meter_days (\n day TEXT NOT NULL,\n tenant_id TEXT NOT NULL,\n read_at TEXT NOT NULL,\n status TEXT NOT NULL,\n billable INTEGER NOT NULL,\n scopes TEXT NOT NULL,\n verticals TEXT NOT NULL,\n entitlements TEXT NOT NULL,\n PRIMARY KEY (day, tenant_id)\n );\n CREATE INDEX IF NOT EXISTS _substrat_meter_days_tenant ON _substrat_meter_days (tenant_id, day);\n CREATE TABLE IF NOT EXISTS _substrat_meter_day_takes (\n day TEXT PRIMARY KEY,\n attempted_at TEXT NOT NULL,\n taken_at TEXT,\n tenant_count INTEGER,\n error TEXT,\n failing_since TEXT,\n failing_count INTEGER\n );\n";
25
+ /**
26
+ * How long one snapshot may take before the pass counts the attempt failed. A directory transaction
27
+ * over the fleet answers in well under a second. The deadline decides what the pass reports, not
28
+ * when the directory finishes: on the hosted directory the snapshot is one synchronous transaction
29
+ * in the directory's Durable Object, and the failure record written after the deadline waits behind
30
+ * it, so the pass is held until it ends. A snapshot that commits late still stands; its attempt has
31
+ * then been reported as failed once, and the next pass finds the day taken.
32
+ */
33
+ export declare const METER_SNAPSHOT_TIMEOUT_MS = 30000;
34
+ /** How many day rows one `pruneMeterDays` call deletes, by default. */
35
+ export declare const METER_DAYS_PRUNE_BATCH = 500;
36
+ /** The most rows one `listMeterDays` call returns, and its default. */
37
+ export declare const METER_DAYS_LIMIT_MAX = 10000;
38
+ export declare const METER_DAYS_LIMIT_DEFAULT = 1000;
39
+ /**
40
+ * One attempt at a day's snapshot. The day is always the UTC day of `at`: a snapshot is a reading
41
+ * taken during its day, never one written for a day after it. Without `error` the directory takes
42
+ * the snapshot; with it, the attempt failed and only the failure is recorded, naming the run of
43
+ * identical failures it extends (absent, it starts one).
44
+ */
45
+ export type MeterDayTakeInput = {
46
+ at: string;
47
+ } | {
48
+ at: string;
49
+ error: string;
50
+ failingSince?: string;
51
+ failingCount?: number;
52
+ };
53
+ /** What one attempt did: the day, whether this call took its snapshot, and the tenant rows it wrote. */
54
+ export interface MeterDayTakeResult {
55
+ day: string;
56
+ taken: boolean;
57
+ tenants: number;
58
+ }
59
+ /** Filter for `listMeterDays`: inclusive UTC days, at most `limit` rows, ordered by (day, tenant). */
60
+ export interface MeterDayFilter {
61
+ tenantId?: TenantId;
62
+ since?: string;
63
+ until?: string;
64
+ limit?: number;
65
+ }
66
+ /** Filter for `listMeterDayTakes`: inclusive UTC days. */
67
+ export interface MeterDayTakeFilter {
68
+ since?: string;
69
+ until?: string;
70
+ }
71
+ /**
72
+ * The day's rows, one per tenant that is not reaped, folded at `readAt`. A reaped tenant is a
73
+ * tombstone: it holds no scope and bills nothing, and a row per day for every one of them would
74
+ * grow the table with nothing in it.
75
+ */
76
+ export declare function meterDayRowsAt(readAt: Instant, input: {
77
+ tenants: MeterTenantInput[];
78
+ scopes: (MeterScopeInput & {
79
+ vertical: string | null;
80
+ })[];
81
+ entitlements: MeterEntitlementInput[];
82
+ }): MeterDay[];
83
+ /**
84
+ * Record one attempt at the snapshot of the UTC day of `input.at`, in the caller's transaction.
85
+ *
86
+ * Without an error, it takes the snapshot unless the day already has one: it reads the tenants,
87
+ * their scopes and their grants, folds them (`meterDayRowsAt`), writes the day's rows and marks
88
+ * the day taken. Every row is parsed before anything is written, so a row that does not parse
89
+ * refuses the whole day. A day already taken is left as it is, so the first pass of the day is
90
+ * the one whose reading stands.
91
+ *
92
+ * With an error, it records only the attempt and its run. It never overwrites a day already taken:
93
+ * a snapshot that committed after its caller stopped waiting still stands.
94
+ */
95
+ export declare function recordMeterDayRows(sql: RedactionSql, input: MeterDayTakeInput): MeterDayTakeResult;
96
+ /** Read stored snapshots — see `MeterDayFilter`. Every row is parsed on the way out. */
97
+ export declare function listMeterDayRows(sql: RedactionSql, filter?: MeterDayFilter): MeterDay[];
98
+ /** The record of each day a pass tried to snapshot, in day order — see `MeterDayTakeFilter`. */
99
+ export declare function listMeterDayTakeRows(sql: RedactionSql, filter?: MeterDayTakeFilter): MeterDayTake[];
100
+ /**
101
+ * Delete at most `limit` snapshot rows older than a retention of `months`, oldest first, then the
102
+ * records of the days that are gone (`pruneBillingDays`). `months` null deletes nothing
103
+ * (`BILLING_ROLLUP_RETENTION_MONTHS`). A record outlives a day still being pruned, so that day stays
104
+ * marked taken. Returns how many snapshot rows went.
105
+ */
106
+ export declare function pruneMeterDayRows(sql: RedactionSql, nowMs: number, limit: number, months: number | null): number;
107
+ //# sourceMappingURL=meter-days.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meter-days.d.ts","sourceRoot":"","sources":["../src/meter-days.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,QAAQ,EAEb,KAAK,YAAY,EAGjB,KAAK,QAAQ,EAEd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAML,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,cAAc,+pBAsB1B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAEhD,uEAAuE;AACvE,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,uEAAuE;AACvE,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAC3C,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GACd;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,wGAAwG;AACxG,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,sGAAsG;AACtG,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,0DAA0D;AAC1D,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,OAAO,EACf,KAAK,EAAE;IAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAAC,MAAM,EAAE,CAAC,eAAe,GAAG;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,EAAE,CAAC;IAAC,YAAY,EAAE,qBAAqB,EAAE,CAAA;CAAE,GACvI,QAAQ,EAAE,CAyCZ;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CAkFlG;AAaD,wFAAwF;AACxF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,GAAE,cAAmB,GAAG,QAAQ,EAAE,CA6B3F;AAED,gGAAgG;AAChG,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,GAAE,kBAAuB,GAAG,YAAY,EAAE,CA8BvG;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAEhH"}
@@ -0,0 +1,230 @@
1
+ import { meterDay, meterDayTake, } from '@substrat-run/contracts';
2
+ import { assertRowLimit } from './scope-host.js';
3
+ import { pruneBillingDays, pushDayWindow } from './billing-retention.js';
4
+ import { countScope, emptyScopeCounts, foldMeterReading, isLive, skuOrder, } from './meters.js';
5
+ /**
6
+ * The daily meter snapshot (#2501), as statements both adapters run against their directory: the
7
+ * SQLite host over better-sqlite3, the hosted one inside ControlPlaneDO. Written once so the two
8
+ * cannot keep different histories of the same fleet.
9
+ *
10
+ * Meters 1 and 2 (`readMeters`) are recomputed on every read and store nothing, so a past day's
11
+ * reading is gone once the directory moves on. This keeps one row per (UTC day, tenant): the
12
+ * tenant's reading as the first scheduled pass of the day found it, folded by `foldMeterReading`
13
+ * so the billable rule is the one `/meters` applies. Beside the tenant's scope counts it holds the
14
+ * same counts split by vertical, and every grant the tenant held with whether it was live at the
15
+ * snapshot's instant: an expiry is decided lazily from `expires_at` and leaves no trace of its
16
+ * own, so the day it lapsed is only known if someone looked that day.
17
+ *
18
+ * `_substrat_meter_day_takes` keeps one row per day a pass tried: when, whether the snapshot was
19
+ * taken, and why the last attempt failed. A day with no rows and a record was taken over no
20
+ * tenant; a day with no record had no pass. A failed attempt carries the run of identical failures
21
+ * it belongs to (`failing_since`, `failing_count`), handed on from the attempt before it.
22
+ *
23
+ * The nested lists are JSON, parsed by `meterDay` on the way in and on the way out.
24
+ */
25
+ export const METER_DAYS_DDL = `
26
+ CREATE TABLE IF NOT EXISTS _substrat_meter_days (
27
+ day TEXT NOT NULL,
28
+ tenant_id TEXT NOT NULL,
29
+ read_at TEXT NOT NULL,
30
+ status TEXT NOT NULL,
31
+ billable INTEGER NOT NULL,
32
+ scopes TEXT NOT NULL,
33
+ verticals TEXT NOT NULL,
34
+ entitlements TEXT NOT NULL,
35
+ PRIMARY KEY (day, tenant_id)
36
+ );
37
+ CREATE INDEX IF NOT EXISTS _substrat_meter_days_tenant ON _substrat_meter_days (tenant_id, day);
38
+ CREATE TABLE IF NOT EXISTS _substrat_meter_day_takes (
39
+ day TEXT PRIMARY KEY,
40
+ attempted_at TEXT NOT NULL,
41
+ taken_at TEXT,
42
+ tenant_count INTEGER,
43
+ error TEXT,
44
+ failing_since TEXT,
45
+ failing_count INTEGER
46
+ );
47
+ `;
48
+ /**
49
+ * How long one snapshot may take before the pass counts the attempt failed. A directory transaction
50
+ * over the fleet answers in well under a second. The deadline decides what the pass reports, not
51
+ * when the directory finishes: on the hosted directory the snapshot is one synchronous transaction
52
+ * in the directory's Durable Object, and the failure record written after the deadline waits behind
53
+ * it, so the pass is held until it ends. A snapshot that commits late still stands; its attempt has
54
+ * then been reported as failed once, and the next pass finds the day taken.
55
+ */
56
+ export const METER_SNAPSHOT_TIMEOUT_MS = 30_000;
57
+ /** How many day rows one `pruneMeterDays` call deletes, by default. */
58
+ export const METER_DAYS_PRUNE_BATCH = 500;
59
+ /** The most rows one `listMeterDays` call returns, and its default. */
60
+ export const METER_DAYS_LIMIT_MAX = 10_000;
61
+ export const METER_DAYS_LIMIT_DEFAULT = 1_000;
62
+ /**
63
+ * The day's rows, one per tenant that is not reaped, folded at `readAt`. A reaped tenant is a
64
+ * tombstone: it holds no scope and bills nothing, and a row per day for every one of them would
65
+ * grow the table with nothing in it.
66
+ */
67
+ export function meterDayRowsAt(readAt, input) {
68
+ const tenants = input.tenants.filter((t) => t.status !== 'reaped');
69
+ const reading = foldMeterReading({ readAt, tenants, scopes: input.scopes, entitlements: input.entitlements });
70
+ // Each scope counted by vertical with the fold's own rule (`countScope`), so a vertical's counts
71
+ // follow the billable rule the tenant's do, and sum to them.
72
+ const status = new Map(tenants.map((t) => [t.tenantId, t.status]));
73
+ const verticals = new Map();
74
+ for (const s of input.scopes) {
75
+ const tenantStatus = status.get(s.tenantId);
76
+ if (tenantStatus === undefined)
77
+ continue; // not a tenant this day meters
78
+ const byVertical = verticals.get(s.tenantId) ?? new Map();
79
+ verticals.set(s.tenantId, byVertical);
80
+ const counts = byVertical.get(s.vertical) ?? emptyScopeCounts();
81
+ byVertical.set(s.vertical, counts);
82
+ countScope(counts, s, tenantStatus);
83
+ }
84
+ // Parsed with the row below, which is where `expiresAt` is held to an instant.
85
+ const grants = new Map();
86
+ for (const g of input.entitlements) {
87
+ const list = grants.get(g.tenantId) ?? [];
88
+ grants.set(g.tenantId, list);
89
+ list.push({ entitlementKey: g.entitlementKey, plan: g.plan, expiresAt: g.expiresAt, live: isLive(g, readAt) });
90
+ }
91
+ return reading.perTenant.map((t) => meterDay.parse({
92
+ day: readAt.slice(0, 10),
93
+ tenantId: t.tenantId,
94
+ readAt,
95
+ status: t.status,
96
+ billable: t.billable,
97
+ scopes: t.scopes,
98
+ // Null first: a vertical is a non-empty slug, so it sorts after the empty string.
99
+ verticals: [...(verticals.get(t.tenantId) ?? [])]
100
+ .map(([vertical, counts]) => ({ vertical, ...counts }))
101
+ .sort((a, b) => ((a.vertical ?? '') < (b.vertical ?? '') ? -1 : 1)),
102
+ entitlements: (grants.get(t.tenantId) ?? []).sort(skuOrder),
103
+ }));
104
+ }
105
+ /**
106
+ * Record one attempt at the snapshot of the UTC day of `input.at`, in the caller's transaction.
107
+ *
108
+ * Without an error, it takes the snapshot unless the day already has one: it reads the tenants,
109
+ * their scopes and their grants, folds them (`meterDayRowsAt`), writes the day's rows and marks
110
+ * the day taken. Every row is parsed before anything is written, so a row that does not parse
111
+ * refuses the whole day. A day already taken is left as it is, so the first pass of the day is
112
+ * the one whose reading stands.
113
+ *
114
+ * With an error, it records only the attempt and its run. It never overwrites a day already taken:
115
+ * a snapshot that committed after its caller stopped waiting still stands.
116
+ */
117
+ export function recordMeterDayRows(sql, input) {
118
+ const readAt = new Date(input.at).toISOString();
119
+ const day = readAt.slice(0, 10);
120
+ if ('error' in input) {
121
+ const since = new Date(input.failingSince ?? readAt).toISOString();
122
+ const count = input.failingCount ?? 1;
123
+ if (!(Number.isInteger(count) && count >= 1)) {
124
+ throw new Error(`failingCount must be a whole number, at least one, got ${String(count)}`);
125
+ }
126
+ sql(`INSERT INTO _substrat_meter_day_takes
127
+ (day, attempted_at, taken_at, tenant_count, error, failing_since, failing_count)
128
+ VALUES (?, ?, NULL, NULL, ?, ?, ?)
129
+ ON CONFLICT (day) DO UPDATE SET
130
+ attempted_at = excluded.attempted_at, error = excluded.error,
131
+ failing_since = excluded.failing_since, failing_count = excluded.failing_count
132
+ WHERE _substrat_meter_day_takes.taken_at IS NULL`, [day, readAt, input.error || 'the snapshot failed', since, count]);
133
+ return { day, taken: false, tenants: 0 };
134
+ }
135
+ const prior = sql('SELECT taken_at FROM _substrat_meter_day_takes WHERE day = ?', [day]);
136
+ if (prior[0]?.taken_at)
137
+ return { day, taken: false, tenants: 0 };
138
+ // The three projections `readMeters` folds, read whole: which rows count is the fold's to say.
139
+ const tenants = sql('SELECT tenant_id, slug, status FROM tenants', []).map((r) => ({ tenantId: r.tenant_id, slug: r.slug, status: r.status }));
140
+ const scopes = sql('SELECT tenant_id, status, archived_from_status, vertical FROM scopes', []).map((r) => ({
141
+ tenantId: r.tenant_id,
142
+ status: r.status,
143
+ archivedFromStatus: r.archived_from_status,
144
+ vertical: r.vertical,
145
+ }));
146
+ const entitlements = sql('SELECT tenant_id, entitlement_key, plan, expires_at FROM _substrat_entitlements', []).map((r) => ({
147
+ tenantId: r.tenant_id,
148
+ entitlementKey: r.entitlement_key,
149
+ plan: r.plan,
150
+ expiresAt: r.expires_at,
151
+ }));
152
+ // Every row is parsed here, before the first write: a row that does not parse refuses the day.
153
+ const rows = meterDayRowsAt(readAt, { tenants, scopes, entitlements });
154
+ // A day is written only in the transaction that marks it taken, so an untaken day holds no rows.
155
+ for (const r of rows) {
156
+ sql(`INSERT INTO _substrat_meter_days (day, tenant_id, read_at, status, billable, scopes, verticals, entitlements)
157
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, [
158
+ r.day,
159
+ r.tenantId,
160
+ r.readAt,
161
+ r.status,
162
+ r.billable ? 1 : 0,
163
+ JSON.stringify(r.scopes),
164
+ JSON.stringify(r.verticals),
165
+ JSON.stringify(r.entitlements),
166
+ ]);
167
+ }
168
+ sql(`INSERT INTO _substrat_meter_day_takes
169
+ (day, attempted_at, taken_at, tenant_count, error, failing_since, failing_count)
170
+ VALUES (?, ?, ?, ?, NULL, NULL, NULL)
171
+ ON CONFLICT (day) DO UPDATE SET
172
+ attempted_at = excluded.attempted_at, taken_at = excluded.taken_at, tenant_count = excluded.tenant_count,
173
+ error = NULL, failing_since = NULL, failing_count = NULL`, [day, readAt, readAt, rows.length]);
174
+ return { day, taken: true, tenants: rows.length };
175
+ }
176
+ /** Read stored snapshots — see `MeterDayFilter`. Every row is parsed on the way out. */
177
+ export function listMeterDayRows(sql, filter = {}) {
178
+ const where = [];
179
+ const params = [];
180
+ if (filter.tenantId !== undefined) {
181
+ where.push('tenant_id = ?');
182
+ params.push(filter.tenantId);
183
+ }
184
+ pushDayWindow(filter, where, params);
185
+ const limit = Math.min(assertRowLimit('limit', filter.limit ?? METER_DAYS_LIMIT_DEFAULT), METER_DAYS_LIMIT_MAX);
186
+ params.push(limit);
187
+ const rows = sql(`SELECT day, tenant_id, read_at, status, billable, scopes, verticals, entitlements
188
+ FROM _substrat_meter_days
189
+ ${where.length ? `WHERE ${where.join(' AND ')}` : ''}
190
+ ORDER BY day, tenant_id LIMIT ?`, params);
191
+ return rows.map((r) => meterDay.parse({
192
+ day: r.day,
193
+ tenantId: r.tenant_id,
194
+ readAt: r.read_at,
195
+ status: r.status,
196
+ billable: r.billable === 1,
197
+ scopes: JSON.parse(r.scopes),
198
+ verticals: JSON.parse(r.verticals),
199
+ entitlements: JSON.parse(r.entitlements),
200
+ }));
201
+ }
202
+ /** The record of each day a pass tried to snapshot, in day order — see `MeterDayTakeFilter`. */
203
+ export function listMeterDayTakeRows(sql, filter = {}) {
204
+ const where = [];
205
+ const params = [];
206
+ pushDayWindow(filter, where, params);
207
+ const rows = sql(`SELECT day, attempted_at, taken_at, tenant_count, error, failing_since, failing_count
208
+ FROM _substrat_meter_day_takes
209
+ ${where.length ? `WHERE ${where.join(' AND ')}` : ''}
210
+ ORDER BY day`, params);
211
+ return rows.map((r) => meterDayTake.parse({
212
+ day: r.day,
213
+ attemptedAt: r.attempted_at,
214
+ takenAt: r.taken_at,
215
+ tenants: r.tenant_count,
216
+ error: r.error,
217
+ failingSince: r.failing_since,
218
+ failingCount: r.failing_count,
219
+ }));
220
+ }
221
+ /**
222
+ * Delete at most `limit` snapshot rows older than a retention of `months`, oldest first, then the
223
+ * records of the days that are gone (`pruneBillingDays`). `months` null deletes nothing
224
+ * (`BILLING_ROLLUP_RETENTION_MONTHS`). A record outlives a day still being pruned, so that day stays
225
+ * marked taken. Returns how many snapshot rows went.
226
+ */
227
+ export function pruneMeterDayRows(sql, nowMs, limit, months) {
228
+ return pruneBillingDays(sql, { rows: '_substrat_meter_days', records: '_substrat_meter_day_takes' }, nowMs, limit, months);
229
+ }
230
+ //# sourceMappingURL=meter-days.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meter-days.js","sourceRoot":"","sources":["../src/meter-days.ts"],"names":[],"mappings":"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"}
package/dist/meters.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Instant, MeterReading, ScopeStatus, TenantId, TenantStatus } from '@substrat-run/contracts';
1
+ import type { Instant, MeterReading, MeterScopeCounts, ScopeStatus, TenantId, TenantStatus } from '@substrat-run/contracts';
2
2
  /**
3
3
  * §5's meters, folded once (#38).
4
4
  *
@@ -59,6 +59,11 @@ export interface MeterInput {
59
59
  tenantId: TenantId;
60
60
  bytes: number;
61
61
  }[];
62
+ /** Latest attachment samples (#2501). Absent when the host has not started recording them. */
63
+ attachmentStorage?: {
64
+ tenantId: TenantId;
65
+ bytes: number;
66
+ }[];
62
67
  }
63
68
  /** One scope's latest storage sample, as the fold needs it. */
64
69
  export interface MeterStorageInput {
@@ -66,6 +71,19 @@ export interface MeterStorageInput {
66
71
  bytes: number;
67
72
  readAt: string;
68
73
  }
74
+ export declare const emptyScopeCounts: () => MeterScopeCounts;
75
+ /** Count one scope into `counts`, in the bucket its own status and its tenant's put it. */
76
+ export declare function countScope(counts: MeterScopeCounts, scope: MeterScopeInput, tenantStatus: TenantStatus | undefined): void;
77
+ /** Live at `readAt`, or lapsed. Lexical compare — both sides are ISO instants (#33's gate rule). */
78
+ export declare function isLive(grant: MeterEntitlementInput, readAt: Instant): boolean;
79
+ /** Meter 2's order: by key, then plan with the null plan first — the ungrouped flag is the base row a tier hangs off. */
80
+ export declare function skuOrder(a: {
81
+ entitlementKey: string;
82
+ plan: string | null;
83
+ }, b: {
84
+ entitlementKey: string;
85
+ plan: string | null;
86
+ }): number;
69
87
  /**
70
88
  * Fold directory rows into one reading. Pure: same rows in, same numbers out, no clock
71
89
  * of its own — `readAt` is supplied so the reading's instant and the expiry comparisons
@@ -1 +1 @@
1
- {"version":3,"file":"meters.d.ts","sourceRoot":"","sources":["../src/meters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,OAAO,EACP,YAAY,EAEZ,WAAW,EACX,QAAQ,EAER,YAAY,EACb,MAAM,yBAAyB,CAAC;AAGjC;;;;;;;;;;;;GAYG;AAEH,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,sGAAsG;AACtG,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,2FAA2F;IAC3F,kBAAkB,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACzC;AAED,yFAAyF;AACzF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,qGAAqG;IACrG,eAAe,CAAC,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;IACtF,+FAA+F;IAC/F,YAAY,CAAC,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACxD;AAED,+DAA+D;AAC/D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AA2CD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,CAqGhE"}
1
+ {"version":3,"file":"meters.d.ts","sourceRoot":"","sources":["../src/meters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,QAAQ,EAER,YAAY,EACb,MAAM,yBAAyB,CAAC;AAGjC;;;;;;;;;;;;GAYG;AAEH,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,sGAAsG;AACtG,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,2FAA2F;IAC3F,kBAAkB,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACzC;AAED,yFAAyF;AACzF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,qGAAqG;IACrG,eAAe,CAAC,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;IACtF,+FAA+F;IAC/F,YAAY,CAAC,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvD,8FAA8F;IAC9F,iBAAiB,CAAC,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7D;AAED,+DAA+D;AAC/D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,gBAAgB,QAAO,gBAOlC,CAAC;AA6BH,2FAA2F;AAC3F,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,CAGzH;AAED,oGAAoG;AACpG,wBAAgB,MAAM,CAAC,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAE7E;AAED,yHAAyH;AACzH,wBAAgB,QAAQ,CAAC,CAAC,EAAE;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,CAAC,EAAE;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,MAAM,CAEvI;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,CAmGhE"}
package/dist/meters.js CHANGED
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"meters.js","sourceRoot":"","sources":["../src/meters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meters.js","sourceRoot":"","sources":["../src/meters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { type TenantId } from '@substrat-run/contracts';
2
+ import type { OpsFailureInput } from './scope-host.js';
3
+ /**
4
+ * #2540, #2554: one failure filed under a tenant whose text is not the tenant's to read, as the
5
+ * input every writer hands `recordOpsFailure`: the API's routes, and the host-level writers below
6
+ * it (a lifecycle delivery, the platform drain). The tenant's row says only `answered(reference)`;
7
+ * the text goes to `detail`, which the host writes on a row with no tenant under the same
8
+ * reference, the form staff's row always takes (`withUpstreamReference`). The reference is the
9
+ * platform's own ulid unless the caller already minted one (a log line written under it first).
10
+ * `raw` is the text as the failure gave it: never one already passed through
11
+ * `withUpstreamReference`, which is not idempotent.
12
+ */
13
+ export declare function withheldOpsFailure<E extends Omit<OpsFailureInput, 'actor' | 'message' | 'detail' | 'reference'> & {
14
+ tenantId: TenantId;
15
+ }>(entry: E, raw: string, answered: (reference: string) => string, reference?: string): E & {
16
+ message: string;
17
+ detail: string;
18
+ reference: string;
19
+ };
20
+ /**
21
+ * #2540: the `reference` narrowing of an ops-failure list, as SQL over `_substrat_ops_failures`,
22
+ * the one both adapters run. Exact by default. With `inText` (staff's search), also both rows of
23
+ * every pair whose row with no tenant begins with `reference` as its upstream handle
24
+ * (`upstreamReferenceMarker`, written first so a bounded row keeps it). Only the start of the text
25
+ * is read, so the marker's spelling anywhere else in a body never matches.
26
+ */
27
+ export declare function opsFailureReferenceWhere(reference: string, inText: boolean): {
28
+ sql: string;
29
+ params: string[];
30
+ };
31
+ //# sourceMappingURL=ops-failure-reference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ops-failure-reference.d.ts","sourceRoot":"","sources":["../src/ops-failure-reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,EACvI,KAAK,EAAE,CAAC,EACR,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EACvC,SAAS,GAAE,MAAe,GACzB,CAAC,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAE5D;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAQ9G"}
@@ -0,0 +1,32 @@
1
+ import { upstreamReferenceMarker, withUpstreamReference } from '@substrat-run/contracts';
2
+ import { ulid } from './ulid.js';
3
+ /**
4
+ * #2540, #2554: one failure filed under a tenant whose text is not the tenant's to read, as the
5
+ * input every writer hands `recordOpsFailure`: the API's routes, and the host-level writers below
6
+ * it (a lifecycle delivery, the platform drain). The tenant's row says only `answered(reference)`;
7
+ * the text goes to `detail`, which the host writes on a row with no tenant under the same
8
+ * reference, the form staff's row always takes (`withUpstreamReference`). The reference is the
9
+ * platform's own ulid unless the caller already minted one (a log line written under it first).
10
+ * `raw` is the text as the failure gave it: never one already passed through
11
+ * `withUpstreamReference`, which is not idempotent.
12
+ */
13
+ export function withheldOpsFailure(entry, raw, answered, reference = ulid()) {
14
+ return { ...entry, reference, message: answered(reference), detail: withUpstreamReference(raw) };
15
+ }
16
+ /**
17
+ * #2540: the `reference` narrowing of an ops-failure list, as SQL over `_substrat_ops_failures`,
18
+ * the one both adapters run. Exact by default. With `inText` (staff's search), also both rows of
19
+ * every pair whose row with no tenant begins with `reference` as its upstream handle
20
+ * (`upstreamReferenceMarker`, written first so a bounded row keeps it). Only the start of the text
21
+ * is read, so the marker's spelling anywhere else in a body never matches.
22
+ */
23
+ export function opsFailureReferenceWhere(reference, inText) {
24
+ if (!inText)
25
+ return { sql: 'reference = ?', params: [reference] };
26
+ return {
27
+ sql: '(reference = ? OR reference IN (SELECT p.reference FROM _substrat_ops_failures p ' +
28
+ 'WHERE p.tenant_id IS NULL AND p.reference IS NOT NULL AND instr(p.message, ?) = 1))',
29
+ params: [reference, upstreamReferenceMarker(reference)],
30
+ };
31
+ }
32
+ //# sourceMappingURL=ops-failure-reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ops-failure-reference.js","sourceRoot":"","sources":["../src/ops-failure-reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAiB,MAAM,yBAAyB,CAAC;AAExG,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAQ,EACR,GAAW,EACX,QAAuC,EACvC,SAAS,GAAW,IAAI,EAAE;IAE1B,OAAO,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;AACnG,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAAiB,EAAE,MAAe;IACzE,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;IAClE,OAAO;QACL,GAAG,EACD,mFAAmF;YACnF,qFAAqF;QACvF,MAAM,EAAE,CAAC,SAAS,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;KACxD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Refuse a request for a platform intent the scope has no room for, given how many it holds
3
+ * `pending`. `retry` finishes the message; the module-facing `ctx.requestPlatform` keeps the
4
+ * default, and the executor's routing says what its delivery will do instead.
5
+ */
6
+ export declare function assertPlatformRequestRoom(pending: number, retry?: string): void;
7
+ /** Whether `err` is a refusal `assertPlatformRequestRoom` threw, as opposed to any error that merely reads like one. */
8
+ export declare function isPlatformRequestRefusal(err: unknown): boolean;
9
+ //# sourceMappingURL=platform-request-cap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-request-cap.d.ts","sourceRoot":"","sources":["../src/platform-request-cap.ts"],"names":[],"mappings":"AA2BA;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAiC,GAAG,IAAI,CAKvG;AAED,wHAAwH;AACxH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAE9D"}