platform-types 1.10.741 → 1.10.743

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.
package/dist/log.d.ts CHANGED
@@ -100,6 +100,10 @@ declare global {
100
100
  tier: AuditExportTier;
101
101
  };
102
102
  interface AuditExportColdCoverage {
103
+ /**
104
+ * `pending-delivery` is no longer produced: an export whose end passed `visibleThrough` is
105
+ * now cut to it (`AuditExportSourceManifest.clamp`). It stays for manifests stored before.
106
+ */
103
107
  state: 'complete' | 'pending-delivery' | 'incomplete' | 'not-read' | 'unsupported';
104
108
  reason?: 'COLD_OBJECT_TOO_LARGE' | 'COLD_READ_FAILED' | 'COLD_LENS_UNSUPPORTED' | 'BUDGET_EXHAUSTED' | 'DEDUP_SET_OVERFLOW' | 'FISCAL_REPLAY_IDS_NOT_CAPTURED' | 'COLD_TIER_NOT_ENUMERATED';
105
109
  arrivalWindow: {
@@ -119,7 +123,17 @@ declare global {
119
123
  rowsOtherTenant: number;
120
124
  rowsOutOfRange: number;
121
125
  duplicatesOfHot: number;
126
+ /**
127
+ * Cold-only rows in the file: read rows less hot duplicates and, once the export worker
128
+ * nets them, less `erasedRowsOmitted`.
129
+ */
122
130
  coldOnlyEmitted: number;
131
+ /**
132
+ * Cold-only rows read but left out of the file for naming an already-erased customer;
133
+ * written by the export worker. Absent when none was. Summed over every source with
134
+ * `hot.erasedRowsOmitted`, it equals the manifest's own `erasedRowsOmitted`.
135
+ */
136
+ erasedRowsOmitted?: number;
123
137
  legacyRows: number;
124
138
  excludedAnonymous: number;
125
139
  invalidRows: number;
@@ -129,8 +143,11 @@ declare global {
129
143
  tierPlan: 'hot-only-no-archive' | 'hot-authoritative' | 'hot-and-cold';
130
144
  tierPlanReason: string;
131
145
  hot: AuditHistorySourceCoverage & {
146
+ /** Hot rows in the file, net of `erasedRowsOmitted`. */
132
147
  emitted: number;
133
148
  nearExpiryRecorded: number;
149
+ /** Hot rows read but left out for naming an already-erased customer (export worker). Absent when none was. */
150
+ erasedRowsOmitted?: number;
134
151
  };
135
152
  cold?: AuditExportColdCoverage;
136
153
  }
@@ -148,7 +165,25 @@ declare global {
148
165
  fromIso: string;
149
166
  toIso: string;
150
167
  };
168
+ /**
169
+ * The end every read of the capture used: `requested.toIso` bounded by `captureStartedAt`,
170
+ * and cut further to the cold delivery horizon when {@link clamp} is present.
171
+ */
151
172
  effectiveTo: string;
173
+ /**
174
+ * Present when the export's end was cut short of the request; written by the export engine
175
+ * (`buildAuditExportManifest`). `COLD_DELIVERY_HORIZON`: the selection holds an archived
176
+ * surface (`userActivity`, `fiscalAudit`, `storefrontEvents`) and the requested end lies past
177
+ * the instant the capture can prove the cold archive delivered — `captureStartedAt` less
178
+ * the delivery window (`sources[].cold.visibleThrough`, about 24 h 15 min). The whole file,
179
+ * every surface in it, ends at `to` (equal to `effectiveTo`); nothing after it is in the
180
+ * file, and the coverage states describe the cut range. `requested` stays as asked. Absent
181
+ * when nothing was cut — a selection of `entityAudit`/`loginHistory` alone never is.
182
+ */
183
+ clamp?: {
184
+ to: string;
185
+ reason: 'COLD_DELIVERY_HORIZON';
186
+ };
152
187
  captureStartedAt: string;
153
188
  captureCompletedAt?: string;
154
189
  lifetimeMs: number;
package/dist/store.d.ts CHANGED
@@ -340,28 +340,31 @@ declare global {
340
340
  */
341
341
  tolerancePercent?: number;
342
342
  }
343
- /** First-touch acquisition metadata captured when this tenant self-registers. */
344
- interface StoreAcquisition {
343
+ /**
344
+ * The REQUEST leaf: everything a registration client may send. The api
345
+ * refuses a body carrying `capturedAt`, and refuses any key this type does
346
+ * not name.
347
+ */
348
+ interface StoreAcquisitionInput {
345
349
  source: string;
346
350
  medium: string;
347
351
  campaign: string;
348
352
  content?: string;
349
353
  /**
350
354
  * Meta's ad click id (the `fbclid` URL parameter), present only when the
351
- * sign-up arrived from a Meta ad. Case-sensitive: stored and sent to Meta
355
+ * sign-up arrived from a Meta ad. Case-sensitive: forwarded to Meta
352
356
  * byte-for-byte. Trimmed, then 1–500 characters of `[A-Za-z0-9_-]`; only
353
- * ever present together with the required UTM keys above.
357
+ * ever present together with the required UTM keys. REQUEST-only: the api
358
+ * never writes it to the STORE row, which is why `StoreAcquisition` (the
359
+ * stored shape) does not declare it.
354
360
  */
355
361
  fbclid?: string;
362
+ }
363
+ /** First-touch acquisition metadata captured when this tenant self-registers. */
364
+ interface StoreAcquisition extends Omit<StoreAcquisitionInput, 'fbclid'> {
356
365
  /** Unix ms, stamped by the api from the registration timestamp. */
357
366
  capturedAt: number;
358
367
  }
359
- /**
360
- * The REQUEST leaf: everything a registration client may send, i.e.
361
- * `StoreAcquisition` minus the server-owned stamp. The api refuses a body
362
- * carrying `capturedAt`, and refuses any key this type does not name.
363
- */
364
- type StoreAcquisitionInput = Omit<StoreAcquisition, 'capturedAt'>;
365
368
  /**
366
369
  * The terms-of-service acceptance recorded when this tenant self-registers.
367
370
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "platform-types",
3
- "version": "1.10.741",
3
+ "version": "1.10.743",
4
4
  "description": "Shared wire and entity contracts for the platform.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",