@x12i/analytix-reports 1.0.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.
@@ -0,0 +1,109 @@
1
+ import { CataloxCommonFields, AnalytixRunResult, AnalytixError } from "@x12i/analytix-contracts";
2
+ export interface ReportSection {
3
+ sectionId: string;
4
+ title: string;
5
+ kind: "narrative" | "query" | "function" | "matrix" | "trend" | "dashboardEmbed" | "summary";
6
+ analyticRef?: string;
7
+ paramsOverride?: Record<string, any>;
8
+ failurePolicy: "fail-section" | "fail-report";
9
+ order: number;
10
+ summaryConfig?: {
11
+ inputs: Array<{
12
+ sectionId: string;
13
+ field: string;
14
+ label: string;
15
+ agg?: "sum" | "avg" | "last";
16
+ }>;
17
+ };
18
+ }
19
+ export interface ReportSchedule {
20
+ enabled: boolean;
21
+ cron: string;
22
+ timezone: string;
23
+ paramsTemplate: Record<string, any>;
24
+ outputFormats: Array<"json" | "markdownModel" | "htmlModel">;
25
+ delivery?: {
26
+ mode: "snapshotOnly" | "webhook";
27
+ webhookUrl?: string;
28
+ };
29
+ }
30
+ export interface ReportDefinition extends CataloxCommonFields {
31
+ reportId: string;
32
+ params?: any;
33
+ sections: ReportSection[];
34
+ outputFormats: Array<"json" | "markdownModel" | "htmlModel" | "dashboardSnapshot">;
35
+ snapshot: {
36
+ enabled: boolean;
37
+ retentionDays?: number;
38
+ };
39
+ schedule?: ReportSchedule;
40
+ }
41
+ export type ReportRunResult = {
42
+ reportId: string;
43
+ version: number;
44
+ sections: Array<{
45
+ sectionId: string;
46
+ status: "success" | "error";
47
+ result?: AnalytixRunResult;
48
+ error?: AnalytixError;
49
+ }>;
50
+ outputs: {
51
+ json?: {
52
+ reportId: string;
53
+ generatedAt: string;
54
+ sections: Array<{
55
+ sectionId: string;
56
+ title: string;
57
+ kind: string;
58
+ data: any;
59
+ }>;
60
+ };
61
+ markdownModel?: string;
62
+ htmlModel?: string;
63
+ };
64
+ meta: {
65
+ startedAt: string;
66
+ finishedAt: string;
67
+ durationMs: number;
68
+ traceId: string;
69
+ };
70
+ };
71
+ export declare class ReportRunner {
72
+ static run(definition: ReportDefinition, params: Record<string, any>, runAnalytic: (ref: string, params: Record<string, any>) => Promise<AnalytixRunResult>, options?: {
73
+ traceId?: string;
74
+ }): Promise<ReportRunResult>;
75
+ }
76
+ export declare class ReportExplainer {
77
+ static explain(definition: ReportDefinition, explainAnalytic: (ref: string) => Promise<{
78
+ analyticId: string;
79
+ nodes: Array<{
80
+ analyticId: string;
81
+ dependsOn: string[];
82
+ cache?: AnalytixRunResult["meta"]["cache"];
83
+ probes?: AnalytixRunResult["meta"]["probes"];
84
+ }>;
85
+ edges: Array<{
86
+ from: string;
87
+ to: string;
88
+ }>;
89
+ }>): Promise<{
90
+ reportId: string;
91
+ sections: {
92
+ sectionId: string;
93
+ analyticId: string;
94
+ dependsOn: string[];
95
+ }[];
96
+ graph: {
97
+ edges: {
98
+ from: string;
99
+ to: string;
100
+ }[];
101
+ };
102
+ cacheProbeState: {
103
+ analyticId: string;
104
+ cache?: AnalytixRunResult["meta"]["cache"];
105
+ probes?: AnalytixRunResult["meta"]["probes"];
106
+ }[];
107
+ }>;
108
+ }
109
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReportExplainer = exports.ReportRunner = void 0;
4
+ class ReportRunner {
5
+ static async run(definition, params, runAnalytic, options = {}) {
6
+ const startedAt = new Date().toISOString();
7
+ const traceId = options.traceId || "trace-id";
8
+ // Sort sections by order
9
+ const sortedSections = [...definition.sections].sort((a, b) => a.order - b.order);
10
+ const runSections = [];
11
+ const sectionResultsMap = new Map();
12
+ for (const section of sortedSections) {
13
+ if (section.kind === "summary") {
14
+ // Compute summary aggregates from prior sections
15
+ try {
16
+ const summaryData = [];
17
+ if (section.summaryConfig && section.summaryConfig.inputs) {
18
+ for (const input of section.summaryConfig.inputs) {
19
+ const targetSectionData = sectionResultsMap.get(input.sectionId);
20
+ if (targetSectionData) {
21
+ let value = 0;
22
+ if (Array.isArray(targetSectionData)) {
23
+ const numbers = targetSectionData.map((row) => Number(row[input.field] || 0));
24
+ if (input.agg === "sum" || !input.agg) {
25
+ value = numbers.reduce((a, b) => a + b, 0);
26
+ }
27
+ else if (input.agg === "avg") {
28
+ value = numbers.length ? numbers.reduce((a, b) => a + b, 0) / numbers.length : 0;
29
+ }
30
+ else if (input.agg === "last") {
31
+ value = numbers.length ? numbers[numbers.length - 1] : 0;
32
+ }
33
+ }
34
+ else if (typeof targetSectionData === "object" && targetSectionData !== null) {
35
+ value = Number(targetSectionData[input.field] || 0);
36
+ }
37
+ else if (typeof targetSectionData === "number") {
38
+ value = targetSectionData;
39
+ }
40
+ summaryData.push({ label: input.label, value });
41
+ }
42
+ }
43
+ }
44
+ runSections.push({
45
+ sectionId: section.sectionId,
46
+ status: "success",
47
+ result: {
48
+ analyticId: section.sectionId,
49
+ analyticType: "composite",
50
+ version: 1,
51
+ status: "active",
52
+ data: summaryData,
53
+ meta: { cache: { hit: false, key: "" }, probes: [], execution: { durationMs: 0, startedAt, finishedAt: startedAt, traceId } },
54
+ },
55
+ });
56
+ sectionResultsMap.set(section.sectionId, summaryData);
57
+ }
58
+ catch (err) {
59
+ const errObj = {
60
+ error: { code: "INTERNAL_ERROR", message: err.message || "Summary failed", httpStatus: 500, traceId },
61
+ };
62
+ if (section.failurePolicy === "fail-report") {
63
+ throw new Error(JSON.stringify(errObj));
64
+ }
65
+ runSections.push({ sectionId: section.sectionId, status: "error", error: errObj });
66
+ }
67
+ continue;
68
+ }
69
+ if (!section.analyticRef) {
70
+ continue;
71
+ }
72
+ const mergedParams = { ...params, ...(section.paramsOverride || {}) };
73
+ try {
74
+ const result = await runAnalytic(section.analyticRef, mergedParams);
75
+ runSections.push({
76
+ sectionId: section.sectionId,
77
+ status: "success",
78
+ result,
79
+ });
80
+ sectionResultsMap.set(section.sectionId, result.data);
81
+ }
82
+ catch (err) {
83
+ const errObj = {
84
+ error: {
85
+ code: "INTERNAL_ERROR",
86
+ message: err.message || "Section execution failed",
87
+ httpStatus: 500,
88
+ traceId,
89
+ },
90
+ };
91
+ if (section.failurePolicy === "fail-report") {
92
+ throw new Error(JSON.stringify(errObj));
93
+ }
94
+ runSections.push({
95
+ sectionId: section.sectionId,
96
+ status: "error",
97
+ error: errObj,
98
+ });
99
+ }
100
+ }
101
+ const finishedAt = new Date().toISOString();
102
+ const durationMs = new Date(finishedAt).getTime() - new Date(startedAt).getTime();
103
+ // Assemble formats
104
+ const outputs = {};
105
+ if (definition.outputFormats.includes("json")) {
106
+ outputs.json = {
107
+ reportId: definition.reportId,
108
+ generatedAt: finishedAt,
109
+ sections: runSections
110
+ .filter((s) => s.status === "success")
111
+ .map((s) => ({
112
+ sectionId: s.sectionId,
113
+ title: definition.sections.find((ds) => ds.sectionId === s.sectionId)?.title || "",
114
+ kind: definition.sections.find((ds) => ds.sectionId === s.sectionId)?.kind || "",
115
+ data: s.result?.data,
116
+ })),
117
+ };
118
+ }
119
+ if (definition.outputFormats.includes("markdownModel")) {
120
+ let md = `# ${definition.title}\n\n`;
121
+ for (const section of runSections) {
122
+ if (section.status === "success" && section.result) {
123
+ const sectDef = definition.sections.find((ds) => ds.sectionId === section.sectionId);
124
+ md += `## ${sectDef.title}\n\n`;
125
+ if (typeof section.result.data === "string") {
126
+ md += `${section.result.data}\n\n`;
127
+ }
128
+ else {
129
+ md += `\`\`\`json\n${JSON.stringify(section.result.data, null, 2)}\n\`\`\`\n\n`;
130
+ }
131
+ }
132
+ }
133
+ outputs.markdownModel = md.trim();
134
+ }
135
+ if (definition.outputFormats.includes("htmlModel")) {
136
+ let html = `<h1>${definition.title}</h1>\n`;
137
+ for (const section of runSections) {
138
+ if (section.status === "success" && section.result) {
139
+ const sectDef = definition.sections.find((ds) => ds.sectionId === section.sectionId);
140
+ html += `<h2>${sectDef.title}</h2>\n`;
141
+ if (typeof section.result.data === "string") {
142
+ html += `<p>${section.result.data}</p>\n`;
143
+ }
144
+ else {
145
+ html += `<pre><code>${JSON.stringify(section.result.data, null, 2)}</code></pre>\n`;
146
+ }
147
+ }
148
+ }
149
+ outputs.htmlModel = html.trim();
150
+ }
151
+ return {
152
+ reportId: definition.reportId,
153
+ version: definition.version,
154
+ sections: runSections,
155
+ outputs,
156
+ meta: {
157
+ startedAt,
158
+ finishedAt,
159
+ durationMs,
160
+ traceId,
161
+ },
162
+ };
163
+ }
164
+ }
165
+ exports.ReportRunner = ReportRunner;
166
+ class ReportExplainer {
167
+ static async explain(definition, explainAnalytic) {
168
+ const sections = [];
169
+ const edges = [];
170
+ const cacheProbeState = [];
171
+ for (const section of definition.sections) {
172
+ if (!section.analyticRef)
173
+ continue;
174
+ const analyticId = section.analyticRef.split("@")[0];
175
+ const graph = await explainAnalytic(section.analyticRef);
176
+ const root = graph.nodes.find((node) => node.analyticId === analyticId);
177
+ sections.push({
178
+ sectionId: section.sectionId,
179
+ analyticId,
180
+ dependsOn: root?.dependsOn || [],
181
+ });
182
+ edges.push(...graph.edges);
183
+ for (const node of graph.nodes) {
184
+ cacheProbeState.push({
185
+ analyticId: node.analyticId,
186
+ cache: node.cache,
187
+ probes: node.probes,
188
+ });
189
+ }
190
+ }
191
+ return {
192
+ reportId: definition.reportId,
193
+ sections,
194
+ graph: { edges },
195
+ cacheProbeState,
196
+ };
197
+ }
198
+ }
199
+ exports.ReportExplainer = ReportExplainer;
200
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "@x12i/analytix-reports",
3
+ "version": "1.0.0",
4
+ "main": "dist/index.js",
5
+ "types": "dist/index.d.ts",
6
+ "dependencies": {
7
+ "@x12i/analytix-contracts": "^1.0.0",
8
+ "@x12i/analytix": "^1.0.0"
9
+ },
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "publishConfig": {
14
+ "access": "public",
15
+ "registry": "https://registry.npmjs.org/"
16
+ },
17
+ "scripts": {
18
+ "build": "tsc -p tsconfig.json"
19
+ }
20
+ }