@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.
- package/dist/__tests__/helpers/consumer-report-collection.d.ts +5 -0
- package/dist/__tests__/helpers/consumer-report-collection.d.ts.map +1 -0
- package/dist/adapter.d.ts +318 -0
- package/dist/adapter.d.ts.map +1 -0
- package/dist/aggregate.d.ts +3 -25
- package/dist/aggregate.d.ts.map +1 -0
- package/dist/compiler.d.ts +7 -78
- package/dist/compiler.d.ts.map +1 -0
- package/dist/decorators.d.ts +37 -90
- package/dist/decorators.d.ts.map +1 -0
- package/dist/index.d.ts +16 -1276
- package/dist/index.d.ts.map +1 -0
- package/dist/lifecycle.d.ts +124 -0
- package/dist/lifecycle.d.ts.map +1 -0
- package/dist/manifest.json +1 -1
- package/dist/refresh.d.ts +8 -106
- package/dist/refresh.d.ts.map +1 -0
- package/dist/report.d.ts +38 -0
- package/dist/report.d.ts.map +1 -0
- package/dist/scheduler.d.ts +136 -164
- package/dist/scheduler.d.ts.map +1 -0
- package/dist/smrt-knowledge.json +4 -4
- package/dist/state.d.ts +84 -108
- package/dist/state.d.ts.map +1 -0
- package/dist/types.d.ts +86 -114
- package/dist/types.d.ts.map +1 -0
- package/dist/views.d.ts +269 -0
- package/dist/views.d.ts.map +1 -0
- package/package.json +7 -7
package/dist/smrt-knowledge.json
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
"sensitiveFieldsExcluded": true,
|
|
4
4
|
"generatedAt": "1970-01-01T00:00:00.000Z",
|
|
5
5
|
"packageName": "@happyvertical/smrt-reports",
|
|
6
|
-
"packageVersion": "0.51.
|
|
6
|
+
"packageVersion": "0.51.33",
|
|
7
7
|
"sourceManifestPath": "dist/manifest.json",
|
|
8
8
|
"agentDocPath": "AGENTS.md",
|
|
9
9
|
"sourceHashes": {
|
|
10
|
-
"manifest": "
|
|
11
|
-
"packageJson": "
|
|
10
|
+
"manifest": "e4ed73077446359b5887fc5c10a1478bb77cae30d56c846b2f3b8878996ca00b",
|
|
11
|
+
"packageJson": "df7e8163043d807ec0b65aea0e7a1f6ce5eb04946d35d93ae1c380f047a1378e",
|
|
12
12
|
"agents": "c4cb7fa4c5b144ba48f382d3ecbf74b76dd1361e843a7f2747e7e035719910da"
|
|
13
13
|
},
|
|
14
14
|
"exports": [
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@happyvertical/sql": "catalog:",
|
|
31
31
|
"@happyvertical/smrt-vitest": "workspace:*",
|
|
32
32
|
"@types/node": "24.13.6",
|
|
33
|
-
"typescript": "
|
|
33
|
+
"typescript": "6.0.3",
|
|
34
34
|
"vite": "8.1.4",
|
|
35
35
|
"vitest": "4.1.10"
|
|
36
36
|
},
|
package/dist/state.d.ts
CHANGED
|
@@ -1,108 +1,84 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
export declare
|
|
6
|
-
|
|
7
|
-
export declare const
|
|
8
|
-
|
|
9
|
-
export declare const
|
|
10
|
-
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
export declare
|
|
14
|
-
|
|
15
|
-
export declare
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
queue: string;
|
|
86
|
-
priority: number;
|
|
87
|
-
timeout: number;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
export declare class SmrtReportScheduleCollection extends SmrtCollection<SmrtReportSchedule> {
|
|
91
|
-
static readonly _itemClass: typeof SmrtReportSchedule;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
export declare class SmrtReportWatermark extends SmrtObject {
|
|
95
|
-
tenantId: string | null;
|
|
96
|
-
scopeKey: string;
|
|
97
|
-
reportClass: string;
|
|
98
|
-
sourceClass: string;
|
|
99
|
-
watermarkColumn: string;
|
|
100
|
-
watermarkValue: string | null;
|
|
101
|
-
lastRunId: string | null;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
export declare class SmrtReportWatermarkCollection extends SmrtCollection<SmrtReportWatermark> {
|
|
105
|
-
static readonly _itemClass: typeof SmrtReportWatermark;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
export { }
|
|
1
|
+
import { SmrtCollection, SmrtObject } from '@happyvertical/smrt-core';
|
|
2
|
+
import type { DatabaseInterface } from '@happyvertical/sql';
|
|
3
|
+
import type { ReportRefreshMode, ReportRefreshTrigger } from './types.js';
|
|
4
|
+
export declare const REPORT_RUNS_TABLE = "_smrt_report_runs";
|
|
5
|
+
export declare const REPORT_WATERMARKS_TABLE = "_smrt_report_watermarks";
|
|
6
|
+
export declare const REPORT_LOCKS_TABLE = "_smrt_report_locks";
|
|
7
|
+
export declare const REPORT_SCHEDULES_TABLE = "_smrt_report_schedules";
|
|
8
|
+
export declare const REPORT_REFRESH_TASKS_TABLE = "_smrt_report_refresh_tasks";
|
|
9
|
+
export declare const REPORT_RUNTIME_TABLES: readonly ["_smrt_report_runs", "_smrt_report_watermarks", "_smrt_report_locks"];
|
|
10
|
+
export declare const REPORT_SCHEDULER_TABLES: readonly ["_smrt_report_schedules", "_smrt_report_refresh_tasks"];
|
|
11
|
+
export type ReportRunStatus = 'running' | 'success' | 'failed' | 'skipped';
|
|
12
|
+
export type ReportScheduleStatus = 'active' | 'paused' | 'disabled' | 'error';
|
|
13
|
+
export declare function scopeKeyForTenant(tenantId: string | null | undefined): string;
|
|
14
|
+
export declare function assertReportTablesReady(db: DatabaseInterface, tables?: readonly string[]): Promise<void>;
|
|
15
|
+
export declare class SmrtReportRun extends SmrtObject {
|
|
16
|
+
tenantId: string | null;
|
|
17
|
+
scopeKey: string;
|
|
18
|
+
reportClass: string;
|
|
19
|
+
sourceClass: string;
|
|
20
|
+
mode: ReportRefreshMode;
|
|
21
|
+
trigger: ReportRefreshTrigger;
|
|
22
|
+
status: ReportRunStatus;
|
|
23
|
+
startedAt: Date;
|
|
24
|
+
completedAt: Date | null;
|
|
25
|
+
rowCount: number;
|
|
26
|
+
changedGroupCount: number;
|
|
27
|
+
watermarkBefore: string | null;
|
|
28
|
+
watermarkAfter: string | null;
|
|
29
|
+
error: string | null;
|
|
30
|
+
metadata: Record<string, unknown>;
|
|
31
|
+
}
|
|
32
|
+
export declare class SmrtReportRunCollection extends SmrtCollection<SmrtReportRun> {
|
|
33
|
+
static readonly _itemClass: typeof SmrtReportRun;
|
|
34
|
+
}
|
|
35
|
+
export declare class SmrtReportWatermark extends SmrtObject {
|
|
36
|
+
tenantId: string | null;
|
|
37
|
+
scopeKey: string;
|
|
38
|
+
reportClass: string;
|
|
39
|
+
sourceClass: string;
|
|
40
|
+
watermarkColumn: string;
|
|
41
|
+
watermarkValue: string | null;
|
|
42
|
+
lastRunId: string | null;
|
|
43
|
+
}
|
|
44
|
+
export declare class SmrtReportWatermarkCollection extends SmrtCollection<SmrtReportWatermark> {
|
|
45
|
+
static readonly _itemClass: typeof SmrtReportWatermark;
|
|
46
|
+
}
|
|
47
|
+
export declare class SmrtReportLock extends SmrtObject {
|
|
48
|
+
tenantId: string | null;
|
|
49
|
+
scopeKey: string;
|
|
50
|
+
reportClass: string;
|
|
51
|
+
ownerId: string | null;
|
|
52
|
+
acquiredAt: Date | null;
|
|
53
|
+
heartbeatAt: Date | null;
|
|
54
|
+
expiresAt: Date | null;
|
|
55
|
+
}
|
|
56
|
+
export declare class SmrtReportLockCollection extends SmrtCollection<SmrtReportLock> {
|
|
57
|
+
static readonly _itemClass: typeof SmrtReportLock;
|
|
58
|
+
}
|
|
59
|
+
export declare class SmrtReportSchedule extends SmrtObject {
|
|
60
|
+
tenantId: string | null;
|
|
61
|
+
scopeKey: string;
|
|
62
|
+
reportClass: string;
|
|
63
|
+
cron: string;
|
|
64
|
+
trigger: ReportRefreshTrigger;
|
|
65
|
+
mode: ReportRefreshMode;
|
|
66
|
+
enabled: boolean;
|
|
67
|
+
status: ReportScheduleStatus;
|
|
68
|
+
nextRun: Date | null;
|
|
69
|
+
lastRun: Date | null;
|
|
70
|
+
lastStatus: 'success' | 'failed' | null;
|
|
71
|
+
lastError: string | null;
|
|
72
|
+
runCount: number;
|
|
73
|
+
successCount: number;
|
|
74
|
+
failureCount: number;
|
|
75
|
+
runningCount: number;
|
|
76
|
+
maxConcurrent: number;
|
|
77
|
+
queue: string;
|
|
78
|
+
priority: number;
|
|
79
|
+
timeout: number;
|
|
80
|
+
}
|
|
81
|
+
export declare class SmrtReportScheduleCollection extends SmrtCollection<SmrtReportSchedule> {
|
|
82
|
+
static readonly _itemClass: typeof SmrtReportSchedule;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,114 +1,86 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AggregateFunction } from '@happyvertical/sql';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
export
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
export
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
export
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
trigger?: ReportRefreshTrigger;
|
|
88
|
-
tenantId?: string | null;
|
|
89
|
-
tenantIds?: string[];
|
|
90
|
-
lock?: boolean;
|
|
91
|
-
lockTtlMs?: number;
|
|
92
|
-
trackRuns?: boolean;
|
|
93
|
-
scheduleId?: string;
|
|
94
|
-
changedRows?: Record<string, unknown>[];
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
export declare interface ReportRefreshResult {
|
|
98
|
-
rowCount: number;
|
|
99
|
-
refreshedAt: Date;
|
|
100
|
-
mode: ReportRefreshMode;
|
|
101
|
-
tenantId?: string | null;
|
|
102
|
-
runId?: string;
|
|
103
|
-
changedGroupCount?: number;
|
|
104
|
-
skipped?: boolean;
|
|
105
|
-
tenantResults?: ReportRefreshResult[];
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
export declare type ReportRefreshTrigger = 'manual' | 'schedule' | 'change' | 'ttl' | 'job';
|
|
109
|
-
|
|
110
|
-
export declare type ReportSource = string | (new (...args: any[]) => SmrtObject) | (abstract new (...args: any[]) => SmrtObject);
|
|
111
|
-
|
|
112
|
-
export declare type ReportTimeBucketUnit = AggregateTimeBucketUnit;
|
|
113
|
-
|
|
114
|
-
export { }
|
|
1
|
+
import type { SmrtObject } from '@happyvertical/smrt-core';
|
|
2
|
+
import type { AggregateBuildResult, AggregateFunction, AggregateSelectExpr, AggregateSpec, AggregateTimeBucketUnit, SqlAdapterType, WhereClause } from '@happyvertical/sql';
|
|
3
|
+
export type ReportTimeBucketUnit = AggregateTimeBucketUnit;
|
|
4
|
+
export type ReportAggregateFn = AggregateFunction;
|
|
5
|
+
export type { AggregateBuildResult, AggregateSelectExpr, AggregateSpec };
|
|
6
|
+
export type ReportRefreshMode = 'rebuild' | 'incremental';
|
|
7
|
+
export type ReportRefreshTrigger = 'manual' | 'schedule' | 'change' | 'ttl' | 'job';
|
|
8
|
+
export type ReportSource = string | (new (...args: any[]) => SmrtObject) | (abstract new (...args: any[]) => SmrtObject);
|
|
9
|
+
export interface ReportRefreshConfig {
|
|
10
|
+
mode?: ReportRefreshMode;
|
|
11
|
+
schedule?: string;
|
|
12
|
+
onChange?: ReportSource[];
|
|
13
|
+
/**
|
|
14
|
+
* Milliseconds before collection reads trigger a synchronous refresh.
|
|
15
|
+
*
|
|
16
|
+
* TTL refresh checks add a read-time MAX(refreshedAt) query, and stale reads
|
|
17
|
+
* perform the refresh before returning list/get results.
|
|
18
|
+
*/
|
|
19
|
+
ttl?: number;
|
|
20
|
+
manual?: boolean;
|
|
21
|
+
watermarkColumn?: string;
|
|
22
|
+
softDeleteColumn?: string;
|
|
23
|
+
fullRebuildSchedule?: string;
|
|
24
|
+
tenantFanout?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export interface ReportOptions {
|
|
27
|
+
source: ReportSource;
|
|
28
|
+
where?: WhereClause;
|
|
29
|
+
having?: WhereClause;
|
|
30
|
+
refresh?: ReportRefreshConfig;
|
|
31
|
+
}
|
|
32
|
+
export interface ReportGroupFieldMetadata {
|
|
33
|
+
kind: 'group';
|
|
34
|
+
sourceColumn?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface ReportBucketFieldMetadata {
|
|
37
|
+
kind: 'bucket';
|
|
38
|
+
unit: ReportTimeBucketUnit;
|
|
39
|
+
sourceColumn: string;
|
|
40
|
+
}
|
|
41
|
+
export interface ReportAggregateFieldMetadata {
|
|
42
|
+
kind: 'aggregate';
|
|
43
|
+
fn: ReportAggregateFn;
|
|
44
|
+
column?: string;
|
|
45
|
+
distinct?: boolean;
|
|
46
|
+
}
|
|
47
|
+
export type ReportFieldMetadata = ReportGroupFieldMetadata | ReportBucketFieldMetadata | ReportAggregateFieldMetadata;
|
|
48
|
+
export interface ReportFieldDefinition {
|
|
49
|
+
fieldName: string;
|
|
50
|
+
columnName?: string;
|
|
51
|
+
type?: string;
|
|
52
|
+
report?: ReportFieldMetadata;
|
|
53
|
+
}
|
|
54
|
+
export interface ReportDefinition {
|
|
55
|
+
reportClassName: string;
|
|
56
|
+
sourceClassName: string;
|
|
57
|
+
sourceTable: string;
|
|
58
|
+
fields: ReportFieldDefinition[];
|
|
59
|
+
where?: WhereClause;
|
|
60
|
+
having?: WhereClause;
|
|
61
|
+
refresh?: ReportRefreshConfig;
|
|
62
|
+
}
|
|
63
|
+
export interface ReportRefreshOptions {
|
|
64
|
+
db?: import('@happyvertical/sql').DatabaseInterface;
|
|
65
|
+
mode?: ReportRefreshMode;
|
|
66
|
+
adapterType?: SqlAdapterType;
|
|
67
|
+
trigger?: ReportRefreshTrigger;
|
|
68
|
+
tenantId?: string | null;
|
|
69
|
+
tenantIds?: string[];
|
|
70
|
+
lock?: boolean;
|
|
71
|
+
lockTtlMs?: number;
|
|
72
|
+
trackRuns?: boolean;
|
|
73
|
+
scheduleId?: string;
|
|
74
|
+
changedRows?: Record<string, unknown>[];
|
|
75
|
+
}
|
|
76
|
+
export interface ReportRefreshResult {
|
|
77
|
+
rowCount: number;
|
|
78
|
+
refreshedAt: Date;
|
|
79
|
+
mode: ReportRefreshMode;
|
|
80
|
+
tenantId?: string | null;
|
|
81
|
+
runId?: string;
|
|
82
|
+
changedGroupCount?: number;
|
|
83
|
+
skipped?: boolean;
|
|
84
|
+
tenantResults?: ReportRefreshResult[];
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|