@x12i/analytix-catalox 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,25 @@
1
+ import { CataloxCommonFields } from "@x12i/analytix-contracts";
2
+ export interface CataloxRegistry {
3
+ get<T extends CataloxCommonFields>(catalogId: string, id: string, version?: number): Promise<T | null>;
4
+ list<T extends CataloxCommonFields>(catalogId: string): Promise<T[]>;
5
+ write<T extends CataloxCommonFields>(catalogId: string, item: Omit<T, "createdAt" | "updatedAt"> & {
6
+ createdAt?: string;
7
+ }): Promise<T>;
8
+ delete(catalogId: string, id: string): Promise<boolean>;
9
+ bootstrap(): Promise<void>;
10
+ clear(): Promise<void>;
11
+ }
12
+ export declare class InMemoryCataloxRegistry implements CataloxRegistry {
13
+ private store;
14
+ get<T extends CataloxCommonFields>(catalogId: string, id: string, version?: number): Promise<T | null>;
15
+ list<T extends CataloxCommonFields>(catalogId: string): Promise<T[]>;
16
+ write<T extends CataloxCommonFields>(catalogId: string, item: Omit<T, "createdAt" | "updatedAt"> & {
17
+ createdAt?: string;
18
+ }): Promise<T>;
19
+ delete(catalogId: string, id: string): Promise<boolean>;
20
+ clear(): Promise<void>;
21
+ bootstrap(): Promise<void>;
22
+ private validateReferences;
23
+ }
24
+ export declare const registry: InMemoryCataloxRegistry;
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAoB,MAAM,0BAA0B,CAAC;AAEjF,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,CAAC,SAAS,mBAAmB,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACvG,IAAI,CAAC,CAAC,SAAS,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACrE,KAAK,CAAC,CAAC,SAAS,mBAAmB,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACvI,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,qBAAa,uBAAwB,YAAW,eAAe;IAC7D,OAAO,CAAC,KAAK,CAAyD;IAEhE,GAAG,CAAC,CAAC,SAAS,mBAAmB,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAuBtG,IAAI,CAAC,CAAC,SAAS,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAWpE,KAAK,CAAC,CAAC,SAAS,mBAAmB,EACvC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAChE,OAAO,CAAC,CAAC,CAAC;IAsCP,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMvD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;YAkFlB,kBAAkB;CAyBjC;AAED,eAAO,MAAM,QAAQ,yBAAgC,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registry = exports.InMemoryCataloxRegistry = void 0;
4
+ const analytix_contracts_1 = require("@x12i/analytix-contracts");
5
+ class InMemoryCataloxRegistry {
6
+ store = new Map();
7
+ async get(catalogId, id, version) {
8
+ const catalog = this.store.get(catalogId);
9
+ if (!catalog)
10
+ return null;
11
+ const itemHistory = catalog.get(id);
12
+ if (!itemHistory)
13
+ return null;
14
+ if (version !== undefined) {
15
+ return itemHistory.get(version) || null;
16
+ }
17
+ // Default to active latest version if no version pinned, otherwise just highest version
18
+ const activeVersions = Array.from(itemHistory.values())
19
+ .filter((i) => i.status === "active")
20
+ .sort((a, b) => b.version - a.version);
21
+ if (activeVersions.length > 0) {
22
+ return activeVersions[0];
23
+ }
24
+ const allVersions = Array.from(itemHistory.values()).sort((a, b) => b.version - a.version);
25
+ return allVersions[0] || null;
26
+ }
27
+ async list(catalogId) {
28
+ const catalog = this.store.get(catalogId);
29
+ if (!catalog)
30
+ return [];
31
+ const results = [];
32
+ for (const [id, itemHistory] of catalog.entries()) {
33
+ const latest = await this.get(catalogId, id);
34
+ if (latest)
35
+ results.push(latest);
36
+ }
37
+ return results;
38
+ }
39
+ async write(catalogId, item) {
40
+ if (!this.store.has(catalogId)) {
41
+ this.store.set(catalogId, new Map());
42
+ }
43
+ const catalog = this.store.get(catalogId);
44
+ if (!catalog.has(item.id)) {
45
+ catalog.set(item.id, new Map());
46
+ }
47
+ const itemHistory = catalog.get(item.id);
48
+ const currentLatest = Array.from(itemHistory.values()).sort((a, b) => b.version - a.version)[0];
49
+ // Optimistic concurrency check
50
+ if (item.version !== undefined && currentLatest && item.version <= currentLatest.version) {
51
+ throw new Error("CATALOX_VERSION_CONFLICT");
52
+ }
53
+ const nextVersion = item.version || (currentLatest ? currentLatest.version + 1 : 1);
54
+ const now = new Date().toISOString();
55
+ // Verify reference integrity rules
56
+ await this.validateReferences(catalogId, item);
57
+ const fullItem = {
58
+ ...item,
59
+ _catalogId: catalogId,
60
+ version: nextVersion,
61
+ createdAt: item.createdAt || currentLatest?.createdAt || now,
62
+ updatedAt: now,
63
+ createdBy: item.createdBy || currentLatest?.createdBy || "system",
64
+ updatedBy: item.updatedBy || "system",
65
+ };
66
+ itemHistory.set(nextVersion, fullItem);
67
+ return fullItem;
68
+ }
69
+ async delete(catalogId, id) {
70
+ const catalog = this.store.get(catalogId);
71
+ if (!catalog)
72
+ return false;
73
+ return catalog.delete(id);
74
+ }
75
+ async clear() {
76
+ this.store.clear();
77
+ }
78
+ async bootstrap() {
79
+ await this.clear();
80
+ // Write a default source
81
+ await this.write("analytix_sources", {
82
+ id: "main-events-db",
83
+ version: 1,
84
+ status: "active",
85
+ title: "Main Events Database",
86
+ connection: {
87
+ envVarName: "ANALYTIX_SOURCE_MAIN_EVENTS_URI",
88
+ database: "platform",
89
+ readPreference: "secondaryPreferred",
90
+ },
91
+ access: {
92
+ mode: "readOnly",
93
+ allowedCollections: ["events", "users", "files"],
94
+ },
95
+ limits: { maxAggregationTimeMs: 15000, maxResultDocuments: 50000 },
96
+ metadata: {},
97
+ });
98
+ // Write a default query
99
+ await this.write("analytix_queries", {
100
+ id: "risk.events.byType",
101
+ version: 1,
102
+ status: "active",
103
+ title: "Risk Events by Type",
104
+ target: "source",
105
+ sourceRef: "main-events-db",
106
+ aggregate: {
107
+ collection: "events",
108
+ pipeline: [
109
+ {
110
+ $match: {
111
+ eventType: { $in: ["Accessed", "Downloaded", "Shared"] },
112
+ createdAt: { $gte: "{{param.from}}", $lte: "{{param.to}}" },
113
+ },
114
+ },
115
+ { $group: { _id: "$content.informationType", count: { $sum: 1 } } },
116
+ { $project: { _id: 0, riskType: "$_id", count: 1 } },
117
+ ],
118
+ },
119
+ params: {
120
+ type: "object",
121
+ required: ["from", "to"],
122
+ properties: {
123
+ from: { type: "string", format: "date-time" },
124
+ to: { type: "string", format: "date-time" },
125
+ },
126
+ },
127
+ output: { shape: "table", keyFields: ["riskType"], numericFields: ["count"] },
128
+ cacheRef: "dependency-aware-short",
129
+ probeRef: "events-collection-touch",
130
+ metadata: {},
131
+ });
132
+ // Default cache profile
133
+ await this.write("analytix_cache_profiles", {
134
+ id: "dependency-aware-short",
135
+ version: 1,
136
+ status: "active",
137
+ title: "Dependency Aware Short Cap",
138
+ mode: "dependency-aware",
139
+ maxAgeHardMs: 3600000,
140
+ metadata: {},
141
+ });
142
+ // Default probe profile
143
+ await this.write("analytix_probe_profiles", {
144
+ id: "events-collection-touch",
145
+ version: 1,
146
+ status: "active",
147
+ title: "Events collection touch probe",
148
+ strategy: "maxTimestamp",
149
+ collection: "events",
150
+ watermarkField: "createdAt",
151
+ maxAgeMs: 60000,
152
+ metadata: {},
153
+ });
154
+ }
155
+ async validateReferences(catalogId, item) {
156
+ // 1. Check query sources reference
157
+ if (catalogId === "analytix_queries" && item.target === "source" && item.sourceRef) {
158
+ const source = await this.get("analytix_sources", item.sourceRef);
159
+ if (!source) {
160
+ throw new Error("CATALOX_REFERENCE_NOT_FOUND");
161
+ }
162
+ }
163
+ // 2. Check catalog references for dashboards
164
+ if (catalogId === "analytix_dashboards" && item.widgets) {
165
+ for (const w of item.widgets) {
166
+ if (w.analyticRef) {
167
+ const { id } = (0, analytix_contracts_1.parseAnalyticRef)(w.analyticRef);
168
+ const analytic = (await this.get("analytix_queries", id)) ||
169
+ (await this.get("analytix_functions", id)) ||
170
+ (await this.get("analytix_matrixes", id));
171
+ if (!analytic) {
172
+ throw new Error("CATALOX_REFERENCE_NOT_FOUND");
173
+ }
174
+ }
175
+ }
176
+ }
177
+ }
178
+ }
179
+ exports.InMemoryCataloxRegistry = InMemoryCataloxRegistry;
180
+ exports.registry = new InMemoryCataloxRegistry();
181
+ //# 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,19 @@
1
+ {
2
+ "name": "@x12i/analytix-catalox",
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
+ },
9
+ "files": [
10
+ "dist"
11
+ ],
12
+ "publishConfig": {
13
+ "access": "public",
14
+ "registry": "https://registry.npmjs.org/"
15
+ },
16
+ "scripts": {
17
+ "build": "tsc -p tsconfig.json"
18
+ }
19
+ }