@happyvertical/smrt-reports 0.51.31 → 0.51.33

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.
@@ -0,0 +1,269 @@
1
+ import type { DataQueryFreshness, DataQueryRequest, DataQueryResult, DataQuerySort } from '@happyvertical/smrt-types';
2
+ import { type ReportAdapterDescriptor, type ReportDataQueryResult } from './adapter.js';
3
+ declare const INHERITED_REPORT_SCOPE: readonly ["principal", "tenant", "report-definition", "field-policy"];
4
+ export declare class ReportSurfaceValidationError extends Error {
5
+ constructor(message: string);
6
+ }
7
+ export type ReportSavedViewPinnedSide = 'start' | 'end';
8
+ /** A view's column order is its array order; ids are always adapter-defined. */
9
+ export interface ReportSavedViewColumn {
10
+ id: string;
11
+ width?: number;
12
+ pinned?: ReportSavedViewPinnedSide;
13
+ }
14
+ export interface ReportSavedViewGrouping {
15
+ fields: string[];
16
+ expanded?: boolean;
17
+ }
18
+ export interface ReportSavedViewDisplay {
19
+ density: 'compact' | 'comfortable';
20
+ showTotals?: boolean;
21
+ }
22
+ /**
23
+ * A normalized, policy-neutral stored view. The storage host associates it
24
+ * with its owner and tenant; neither identity is accepted here.
25
+ */
26
+ export interface ReportSavedView {
27
+ version: 1;
28
+ id: string;
29
+ title: string;
30
+ resourceId: string;
31
+ reportClassName: string;
32
+ definitionFingerprint: string;
33
+ query: DataQueryRequest;
34
+ columns: ReportSavedViewColumn[];
35
+ grouping?: ReportSavedViewGrouping;
36
+ display?: ReportSavedViewDisplay;
37
+ }
38
+ export type ReportExportFormat = 'csv' | 'json';
39
+ /**
40
+ * Opaque identity of a host-captured materialization snapshot. The application
41
+ * creates and verifies it while bound to its principal and tenant; callers
42
+ * cannot turn an `asOf` label into a snapshot by supplying this id alone.
43
+ */
44
+ export interface ReportExportSnapshotBinding {
45
+ id: string;
46
+ }
47
+ export interface ReportExportSnapshot {
48
+ version: 1;
49
+ resourceId: string;
50
+ reportClassName: string;
51
+ definitionFingerprint: string;
52
+ binding: ReportExportSnapshotBinding;
53
+ request: DataQueryRequest;
54
+ queryFingerprint: string;
55
+ projection: string[];
56
+ sort: DataQuerySort[];
57
+ freshness: DataQueryFreshness;
58
+ snapshot: {
59
+ asOf: string;
60
+ refreshedAt?: string;
61
+ stale: boolean;
62
+ };
63
+ total: {
64
+ kind: 'exact';
65
+ value: number;
66
+ };
67
+ inherits: Array<(typeof INHERITED_REPORT_SCOPE)[number]>;
68
+ }
69
+ /** Every export is bounded before it is streamed or delegated to a worker. */
70
+ export interface ReportExportLimits {
71
+ maxRows: number;
72
+ maxBytes: number;
73
+ deadlineMs: number;
74
+ /** Exports above this exact row count must use the application queue. */
75
+ foregroundRowLimit: number;
76
+ }
77
+ /**
78
+ * A deterministic offset-page plan over the immutable host snapshot. A worker
79
+ * starts at offset zero and advances by `page.limit` until `rowCount` rows have
80
+ * been produced or the byte/deadline limits are reached.
81
+ */
82
+ export interface ReportExportReadPlan {
83
+ snapshotId: string;
84
+ queryFingerprint: string;
85
+ asOf: string;
86
+ page: {
87
+ kind: 'offset';
88
+ offset: 0;
89
+ limit: number;
90
+ };
91
+ }
92
+ export interface ReportExportRequest {
93
+ version: 1;
94
+ format: ReportExportFormat;
95
+ execution: 'stream' | 'background';
96
+ snapshot: ReportExportSnapshot;
97
+ limits: ReportExportLimits;
98
+ read: ReportExportReadPlan;
99
+ rowCount: number;
100
+ truncated: boolean;
101
+ action: {
102
+ id: 'export';
103
+ requiredPermission: string;
104
+ auditRequired: true;
105
+ confirmationRequired: boolean;
106
+ };
107
+ }
108
+ /**
109
+ * An authority-free job handoff. The queue must re-enter the bound principal
110
+ * and tenant, resolve the current report definition/field policy, and verify
111
+ * this snapshot before materializing an artifact.
112
+ */
113
+ export interface ReportBackgroundExportTask {
114
+ version: 1;
115
+ execution: 'background';
116
+ request: ReportExportRequest;
117
+ inherits: Array<(typeof INHERITED_REPORT_SCOPE)[number]>;
118
+ }
119
+ export interface ReportExportProgress {
120
+ state: 'queued' | 'running' | 'completed' | 'failed';
121
+ rowCount: number;
122
+ byteCount: number;
123
+ truncated: boolean;
124
+ }
125
+ /**
126
+ * Artifact metadata is deliberately URL- and token-free. An application-owned
127
+ * serving boundary must authorize every download using the caller's current
128
+ * principal and tenant before it reveals any artifact location.
129
+ */
130
+ export interface ReportExportArtifact {
131
+ id: string;
132
+ request: ReportExportRequest;
133
+ progress: ReportExportProgress;
134
+ expiresAt: string;
135
+ }
136
+ export interface ReportExportActionContext {
137
+ phase: 'preview' | 'apply';
138
+ reportClassName: string;
139
+ resourceId: string;
140
+ requiredPermission: string;
141
+ confirmationRequired: boolean;
142
+ execution: 'stream' | 'background';
143
+ queryFingerprint: string;
144
+ definitionFingerprint: string;
145
+ snapshotId: string;
146
+ asOf: string;
147
+ pageSize: number;
148
+ }
149
+ /** The same host is used by human and agent callers. */
150
+ export interface ReportExportActionHost {
151
+ /**
152
+ * Prove that this opaque binding still resolves to the exact immutable
153
+ * materialization snapshot under the host's current principal and tenant.
154
+ * The background worker must call `validateReportExportExecution()` again
155
+ * before reading or serving any rows.
156
+ */
157
+ assertSnapshot(context: ReportExportSnapshotContext): Promise<void> | void;
158
+ authorize(context: ReportExportActionContext): Promise<void> | void;
159
+ audit(context: ReportExportActionContext): Promise<void> | void;
160
+ enqueue?(task: ReportBackgroundExportTask): Promise<{
161
+ taskId: string;
162
+ }> | {
163
+ taskId: string;
164
+ };
165
+ }
166
+ export interface ReportExportSnapshotContext {
167
+ bindingId: string;
168
+ resourceId: string;
169
+ reportClassName: string;
170
+ definitionFingerprint: string;
171
+ queryFingerprint: string;
172
+ asOf: string;
173
+ }
174
+ export interface ReportExportPreview {
175
+ phase: 'preview';
176
+ action: ReportExportActionContext;
177
+ request: ReportExportRequest;
178
+ }
179
+ export type AppliedReportExport = {
180
+ phase: 'apply';
181
+ execution: 'stream';
182
+ status: 'ready';
183
+ request: ReportExportRequest;
184
+ } | {
185
+ phase: 'apply';
186
+ execution: 'background';
187
+ status: 'queued';
188
+ taskId: string;
189
+ request: ReportExportRequest;
190
+ };
191
+ interface SavedViewInput {
192
+ version?: unknown;
193
+ id: unknown;
194
+ title: unknown;
195
+ resourceId?: unknown;
196
+ reportClassName?: unknown;
197
+ definitionFingerprint?: unknown;
198
+ query: unknown;
199
+ columns?: unknown;
200
+ grouping?: unknown;
201
+ display?: unknown;
202
+ }
203
+ /**
204
+ * A change to report fields, their capabilities, schema, scope, or source
205
+ * invalidates a stored view/export snapshot rather than silently widening it.
206
+ */
207
+ export declare function reportDefinitionFingerprint(descriptor: ReportAdapterDescriptor): string;
208
+ /**
209
+ * Version 0 is the original unversioned persisted layout shape. It contains
210
+ * the same allowlisted fields as v1, so the migration only records the schema
211
+ * version; current descriptor normalization still revalidates every field.
212
+ */
213
+ export declare function migrateReportSavedView(value: unknown): SavedViewInput;
214
+ /**
215
+ * Normalize a view both when it is saved and when it is restored. Re-running
216
+ * this against the live descriptor is what prevents a former field/action
217
+ * grant from surviving a policy or definition change.
218
+ */
219
+ export declare function normalizeReportSavedView(descriptor: ReportAdapterDescriptor, value: unknown): ReportSavedView;
220
+ /** Restore through current policy rather than trusting a stored JSON record. */
221
+ export declare function restoreReportSavedView(descriptor: ReportAdapterDescriptor, savedView: ReportSavedView): ReportSavedView;
222
+ /**
223
+ * Freeze a previously executed materialized read for export. The caller must
224
+ * supply the exact request and a result that exposes lifecycle freshness; an
225
+ * export never invents an as-of value or accepts a caller-supplied tenant.
226
+ */
227
+ export declare function createReportExportSnapshot(descriptor: ReportAdapterDescriptor, input: unknown, result: Pick<DataQueryResult, 'queryFingerprint' | 'identityField' | 'total' | 'freshness' | 'truncated'> & Pick<ReportDataQueryResult, 'reportLifecycle'>, binding: unknown): ReportExportSnapshot;
228
+ /** Reject definitions/policies that changed after a snapshot was frozen. */
229
+ export declare function verifyReportExportSnapshot(descriptor: ReportAdapterDescriptor, snapshot: ReportExportSnapshot): ReportExportSnapshot;
230
+ /**
231
+ * Build one common request for both agent and human export clients. The
232
+ * resulting request carries no actor, tenant, storage location, or token.
233
+ */
234
+ export declare function createReportExportRequest(descriptor: ReportAdapterDescriptor, snapshot: ReportExportSnapshot, value: unknown): ReportExportRequest;
235
+ /**
236
+ * Recreate the deterministic request from its current descriptor and frozen
237
+ * snapshot. Preview, apply, queue, and serving hosts call this instead of
238
+ * trusting browser- or agent-supplied action metadata.
239
+ */
240
+ export declare function validateReportExportRequest(descriptor: ReportAdapterDescriptor, request: ReportExportRequest): ReportExportRequest;
241
+ /**
242
+ * Build one bounded page of the immutable export read. The host applies the
243
+ * opaque snapshot binding separately; this function preserves the frozen
244
+ * projection, predicate, and deterministic sort while replacing only visible
245
+ * pagination. A zero-row export therefore has no pages to execute.
246
+ */
247
+ export declare function createReportExportPageRequest(descriptor: ReportAdapterDescriptor, request: ReportExportRequest, offset: number): DataQueryRequest;
248
+ /**
249
+ * Revalidate the request and prove the opaque snapshot binding through the
250
+ * application host. Preview, apply, and every background worker use this same
251
+ * operation before reading or serving export data.
252
+ */
253
+ export declare function validateReportExportExecution(descriptor: ReportAdapterDescriptor, request: ReportExportRequest, host: Pick<ReportExportActionHost, 'assertSnapshot'>): Promise<ReportExportRequest>;
254
+ export declare function previewReportExport(descriptor: ReportAdapterDescriptor, request: ReportExportRequest, host: ReportExportActionHost): Promise<ReportExportPreview>;
255
+ /**
256
+ * Queue large exports without embedding rows in a browser/agent response.
257
+ * A host must verify current principal, tenant, report definition, and field
258
+ * policy again before it renders or serves the artifact.
259
+ */
260
+ export declare function applyReportExport(descriptor: ReportAdapterDescriptor, request: ReportExportRequest, host: ReportExportActionHost, options?: {
261
+ confirmed?: boolean;
262
+ }): Promise<AppliedReportExport>;
263
+ /**
264
+ * Validate artifact metadata before a host serves it. Download locations and
265
+ * tokens stay application-private; expired artifacts fail before that boundary.
266
+ */
267
+ export declare function validateReportExportArtifact(descriptor: ReportAdapterDescriptor, artifact: ReportExportArtifact, now?: Date): ReportExportArtifact;
268
+ export {};
269
+ //# sourceMappingURL=views.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../src/views.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happyvertical/smrt-reports",
3
- "version": "0.51.31",
3
+ "version": "0.51.33",
4
4
  "description": "Materialized aggregate report models for SMRT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -43,16 +43,16 @@
43
43
  "./manifest.json": "./dist/manifest.json"
44
44
  },
45
45
  "dependencies": {
46
- "@happyvertical/smrt-core": "0.51.31",
47
- "@happyvertical/smrt-jobs": "0.51.31",
48
- "@happyvertical/smrt-types": "0.51.31",
49
- "@happyvertical/smrt-tenancy": "0.51.31",
46
+ "@happyvertical/smrt-core": "0.51.33",
47
+ "@happyvertical/smrt-jobs": "0.51.33",
48
+ "@happyvertical/smrt-types": "0.51.33",
49
+ "@happyvertical/smrt-tenancy": "0.51.33",
50
50
  "@happyvertical/sql": "^0.94.1"
51
51
  },
52
52
  "devDependencies": {
53
- "@happyvertical/smrt-vitest": "0.51.31",
53
+ "@happyvertical/smrt-vitest": "0.51.33",
54
54
  "@types/node": "24.13.6",
55
- "typescript": "5.9.3",
55
+ "typescript": "6.0.3",
56
56
  "vite": "8.1.4",
57
57
  "vitest": "4.1.10"
58
58
  },