@x12i/analytix-server 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.
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js ADDED
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const analytix_1 = require("@x12i/analytix");
5
+ const index_js_1 = require("./index.js");
6
+ async function main() {
7
+ (0, analytix_1.loadAnalytixEnv)();
8
+ const port = Number(process.env.ANALYTIX_SERVER_PORT || process.argv[2] || 3000);
9
+ const server = new index_js_1.AnalytixServer();
10
+ await server.getCore();
11
+ await server.listen(port);
12
+ console.log(`Analytix server listening on http://localhost:${port}`);
13
+ console.log(` Mode: ${process.env.ANALYTIX_API_MODE || "live"}`);
14
+ console.log(` Store: ${process.env.ANALYTIX_STORE || "memory"}`);
15
+ }
16
+ main().catch((err) => {
17
+ console.error(err);
18
+ process.exit(1);
19
+ });
20
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AACA,6CAAiD;AACjD,yCAA4C;AAE5C,KAAK,UAAU,IAAI;IACjB,IAAA,0BAAe,GAAE,CAAC;IAClB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,IAAI,yBAAc,EAAE,CAAC;IACpC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IACvB,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,iDAAiD,IAAI,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,MAAM,EAAE,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,QAAQ,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { Application, Request } from "express";
2
+ import { AnalytixCore } from "@x12i/analytix";
3
+ export interface AuthenticatedPrincipal {
4
+ userId: string;
5
+ roles: string[];
6
+ tenantId?: string;
7
+ domainIds?: string[];
8
+ }
9
+ export interface AuthorizationHook {
10
+ authenticate: (req: Request) => Promise<AuthenticatedPrincipal | null>;
11
+ authorize: (principal: AuthenticatedPrincipal, action: any) => Promise<boolean>;
12
+ }
13
+ export declare const defaultAuthHook: AuthorizationHook;
14
+ export declare class AnalytixServer {
15
+ app: Application;
16
+ private coreInstance?;
17
+ private coreReady;
18
+ private authHook;
19
+ constructor(options?: {
20
+ cors?: boolean;
21
+ mockMode?: boolean;
22
+ });
23
+ /** ANALYTIX_STORE=memorix routes runtime persistence through @x12i/analytix-memorix instead
24
+ * of the built-in Mongo collections; everything else defers to AnalytixCore.create()'s own
25
+ * memory/mongo selection (see @x12i/analytix's createRuntimeStoreFromEnv). */
26
+ private createLiveCore;
27
+ setAuthHook(hook: AuthorizationHook): void;
28
+ getCore(): Promise<AnalytixCore>;
29
+ private setupRoutes;
30
+ private setupErrorHandling;
31
+ private createError;
32
+ listen(port: number): Promise<void>;
33
+ }
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,WAAW,EAAE,OAAO,EAA0B,MAAM,SAAS,CAAC;AAGhF,OAAO,EAAE,YAAY,EAAkC,MAAM,gBAAgB,CAAC;AAK9E,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IACvE,SAAS,EAAE,CAAC,SAAS,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACjF;AAED,eAAO,MAAM,eAAe,EAAE,iBAe7B,CAAC;AAEF,qBAAa,cAAc;IAClB,GAAG,EAAE,WAAW,CAAa;IACpC,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,QAAQ,CAAmB;gBAEvB,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAO;IA2BhE;;mFAE+E;YACjE,cAAc;IAU5B,WAAW,CAAC,IAAI,EAAE,iBAAiB;IAI7B,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAItC,OAAO,CAAC,WAAW;IAuQnB,OAAO,CAAC,kBAAkB;IA2D1B,OAAO,CAAC,WAAW;IAWnB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAKpC"}
package/dist/index.js ADDED
@@ -0,0 +1,425 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AnalytixServer = exports.defaultAuthHook = void 0;
7
+ const express_1 = __importDefault(require("express"));
8
+ const analytix_catalox_1 = require("@x12i/analytix-catalox");
9
+ const analytix_1 = require("@x12i/analytix");
10
+ const analytix_dashboard_1 = require("@x12i/analytix-dashboard");
11
+ const analytix_reports_1 = require("@x12i/analytix-reports");
12
+ const analytix_playground_1 = require("@x12i/analytix-playground");
13
+ exports.defaultAuthHook = {
14
+ authenticate: async (req) => {
15
+ // Default mock authenticate
16
+ const authHeader = req.headers.authorization;
17
+ if (authHeader === "Bearer playground-token") {
18
+ return { userId: "user-1", roles: ["playground:developer", "playground:admin"] };
19
+ }
20
+ return { userId: "user-1", roles: ["analytix:runtime-user"] };
21
+ },
22
+ authorize: async (principal, action) => {
23
+ if (action.kind.startsWith("playground:") && !principal.roles.includes("playground:developer") && !principal.roles.includes("playground:admin")) {
24
+ return false;
25
+ }
26
+ return true;
27
+ },
28
+ };
29
+ class AnalytixServer {
30
+ app = (0, express_1.default)();
31
+ coreInstance;
32
+ coreReady;
33
+ authHook = exports.defaultAuthHook;
34
+ constructor(options = {}) {
35
+ (0, analytix_1.loadAnalytixEnv)();
36
+ const mockMode = options.mockMode ?? process.env.ANALYTIX_API_MODE === "mock";
37
+ this.coreReady = (mockMode
38
+ ? Promise.resolve(new analytix_1.AnalytixCore({ mockMode: true }))
39
+ : this.createLiveCore()).then((core) => {
40
+ this.coreInstance = core;
41
+ return core;
42
+ });
43
+ if (options.cors) {
44
+ this.app.use((req, res, next) => {
45
+ res.header("Access-Control-Allow-Origin", "*");
46
+ res.header("Access-Control-Allow-Methods", "GET, POST, PATCH, OPTIONS");
47
+ res.header("Access-Control-Allow-Headers", "Content-Type, Authorization");
48
+ if (req.method === "OPTIONS") {
49
+ return res.sendStatus(204);
50
+ }
51
+ next();
52
+ });
53
+ }
54
+ this.app.use(express_1.default.json());
55
+ this.setupRoutes();
56
+ this.setupErrorHandling();
57
+ }
58
+ /** ANALYTIX_STORE=memorix routes runtime persistence through @x12i/analytix-memorix instead
59
+ * of the built-in Mongo collections; everything else defers to AnalytixCore.create()'s own
60
+ * memory/mongo selection (see @x12i/analytix's createRuntimeStoreFromEnv). */
61
+ async createLiveCore() {
62
+ if (process.env.ANALYTIX_STORE === "memorix") {
63
+ const { createMemorixRuntimeStoreFromEnv } = await import("@x12i/analytix-memorix");
64
+ const runtimeStore = await createMemorixRuntimeStoreFromEnv();
65
+ console.info("[analytix-server] Runtime store: Memorix (live mode)");
66
+ return analytix_1.AnalytixCore.create({ mockMode: false, runtimeStore });
67
+ }
68
+ return analytix_1.AnalytixCore.create({ mockMode: false });
69
+ }
70
+ setAuthHook(hook) {
71
+ this.authHook = hook;
72
+ }
73
+ async getCore() {
74
+ return this.coreReady;
75
+ }
76
+ setupRoutes() {
77
+ // Liveness / Readiness
78
+ this.app.get("/healthz", (req, res) => {
79
+ res.json({ status: "alive" });
80
+ });
81
+ this.app.get("/readyz", (req, res) => {
82
+ res.json({ status: "ready" });
83
+ });
84
+ // Run Analytics
85
+ this.app.post("/v1/analytics/:analyticId/run", async (req, res, next) => {
86
+ const traceId = "trc_" + Math.random().toString(36).slice(2);
87
+ try {
88
+ const principal = await this.authHook.authenticate(req);
89
+ if (!principal) {
90
+ return res.status(401).json(this.createError("UNAUTHORIZED", "No valid credentials", 401, traceId));
91
+ }
92
+ const isAuthorized = await this.authHook.authorize(principal, {
93
+ kind: "runtime:run",
94
+ analyticId: req.params.analyticId,
95
+ });
96
+ if (!isAuthorized) {
97
+ return res.status(403).json(this.createError("FORBIDDEN", "Not authorized", 403, traceId));
98
+ }
99
+ const params = req.body.params || {};
100
+ const options = { ...(req.body.options || {}), traceId };
101
+ const core = await this.getCore();
102
+ const result = await core.run(req.params.analyticId, params, options);
103
+ res.setHeader("X-Trace-Id", result.meta.execution.traceId);
104
+ res.setHeader("X-Cache-Status", result.meta.cache.hit ? "hit" : "miss");
105
+ res.json(result);
106
+ }
107
+ catch (err) {
108
+ next({ err, traceId });
109
+ }
110
+ });
111
+ // Resolve analytics by domain/agent
112
+ this.app.post("/v1/resolve", async (req, res) => {
113
+ const { domainId, agentId, types } = req.body;
114
+ const resolved = await resolveAnalytics(domainId, agentId, types);
115
+ const matchedScope = domainId && agentId
116
+ ? "domainId+agentId"
117
+ : domainId
118
+ ? "domainId"
119
+ : agentId
120
+ ? "agentId"
121
+ : "global";
122
+ res.json({ resolved, resolution: { matchedScope } });
123
+ });
124
+ // Analytics explain
125
+ this.app.post("/v1/analytics/:analyticId/explain", async (req, res, next) => {
126
+ const traceId = (0, analytix_1.createTraceId)("exp");
127
+ try {
128
+ const principal = await this.authHook.authenticate(req);
129
+ if (!principal) {
130
+ return res.status(401).json(this.createError("UNAUTHORIZED", "No valid credentials", 401, traceId));
131
+ }
132
+ const params = req.body.params || {};
133
+ const core = await this.getCore();
134
+ const explain = await core.explain(req.params.analyticId, params);
135
+ res.setHeader("X-Trace-Id", explain.traceId);
136
+ res.json(explain);
137
+ }
138
+ catch (err) {
139
+ next({ err, traceId });
140
+ }
141
+ });
142
+ // Report run
143
+ this.app.post("/v1/reports/:reportId/run", async (req, res, next) => {
144
+ const traceId = (0, analytix_1.createTraceId)();
145
+ try {
146
+ const principal = await this.authHook.authenticate(req);
147
+ if (!principal) {
148
+ return res.status(401).json(this.createError("UNAUTHORIZED", "No valid credentials", 401, traceId));
149
+ }
150
+ const reportId = req.params.reportId;
151
+ const def = await analytix_catalox_1.registry.get("analytix_reports", reportId);
152
+ if (!def) {
153
+ return res.status(404).json(this.createError("REPORT_NOT_FOUND", `Report not found: ${reportId}`, 404, traceId));
154
+ }
155
+ const params = req.body.params || {};
156
+ const core = await this.getCore();
157
+ const result = await analytix_reports_1.ReportRunner.run(def, params, (ref, sectionParams) => core.run(ref, sectionParams, { traceId }), { traceId });
158
+ res.setHeader("X-Trace-Id", traceId);
159
+ res.json(result);
160
+ }
161
+ catch (err) {
162
+ next({ err, traceId });
163
+ }
164
+ });
165
+ // Report explain
166
+ this.app.post("/v1/reports/:reportId/explain", async (req, res, next) => {
167
+ const traceId = (0, analytix_1.createTraceId)("exp");
168
+ try {
169
+ const principal = await this.authHook.authenticate(req);
170
+ if (!principal) {
171
+ return res.status(401).json(this.createError("UNAUTHORIZED", "No valid credentials", 401, traceId));
172
+ }
173
+ const reportId = req.params.reportId;
174
+ const def = await analytix_catalox_1.registry.get("analytix_reports", reportId);
175
+ if (!def) {
176
+ return res.status(404).json(this.createError("REPORT_NOT_FOUND", `Report not found: ${reportId}`, 404, traceId));
177
+ }
178
+ const core = await this.getCore();
179
+ const explain = await analytix_reports_1.ReportExplainer.explain(def, (ref) => core.explain(ref, req.body.params || {}));
180
+ res.setHeader("X-Trace-Id", traceId);
181
+ res.json({ ...explain, traceId });
182
+ }
183
+ catch (err) {
184
+ next({ err, traceId });
185
+ }
186
+ });
187
+ // Dashboard run
188
+ this.app.post("/v1/dashboards/:dashboardId/run", async (req, res, next) => {
189
+ const traceId = "trc_" + Math.random().toString(36).slice(2);
190
+ try {
191
+ const principal = await this.authHook.authenticate(req);
192
+ if (!principal) {
193
+ return res.status(401).json(this.createError("UNAUTHORIZED", "No valid credentials", 401, traceId));
194
+ }
195
+ const dashboardId = req.params.dashboardId;
196
+ const def = await analytix_catalox_1.registry.get("analytix_dashboards", dashboardId);
197
+ if (!def) {
198
+ return res.status(404).json(this.createError("DASHBOARD_NOT_FOUND", `Dashboard not found: ${dashboardId}`, 404, traceId));
199
+ }
200
+ const params = req.body.params || {};
201
+ const core = await this.getCore();
202
+ const result = await analytix_dashboard_1.DashboardRunner.run(def, params, (ref, widgetParams) => core.run(ref, widgetParams, { traceId }), { widgetIds: req.body.widgetIds, traceId });
203
+ res.setHeader("X-Trace-Id", traceId);
204
+ res.json(result);
205
+ }
206
+ catch (err) {
207
+ next({ err, traceId });
208
+ }
209
+ });
210
+ // Playground promote
211
+ this.app.post("/v1/playground/:type/promote", async (req, res, next) => {
212
+ const traceId = "trc_" + Math.random().toString(36).slice(2);
213
+ try {
214
+ const principal = await this.authHook.authenticate(req);
215
+ if (!principal) {
216
+ return res.status(401).json(this.createError("UNAUTHORIZED", "Unauthorized", 401, traceId));
217
+ }
218
+ const isAuthorized = await this.authHook.authorize(principal, {
219
+ kind: "playground:promote",
220
+ draftType: req.params.type,
221
+ });
222
+ if (!isAuthorized) {
223
+ return res.status(403).json(this.createError("PLAYGROUND_ACCESS_DENIED", "Access Denied", 403, traceId));
224
+ }
225
+ const promoted = await analytix_playground_1.PromotionController.promote({
226
+ sessionId: req.body.sessionId || "session-default",
227
+ draftType: req.params.type,
228
+ draft: req.body.draft,
229
+ targetAnalyticId: req.body.targetAnalyticId,
230
+ targetAction: req.body.targetAction,
231
+ });
232
+ res.setHeader("X-Trace-Id", traceId);
233
+ res.json(promoted);
234
+ }
235
+ catch (err) {
236
+ next({ err, traceId });
237
+ }
238
+ });
239
+ // Playground CRUD/runs
240
+ this.app.post("/v1/playground/:type/run", async (req, res, next) => {
241
+ const traceId = "trc_" + Math.random().toString(36).slice(2);
242
+ try {
243
+ const principal = await this.authHook.authenticate(req);
244
+ if (!principal) {
245
+ return res.status(401).json(this.createError("UNAUTHORIZED", "Unauthorized", 401, traceId));
246
+ }
247
+ const isAuthorized = await this.authHook.authorize(principal, {
248
+ kind: "playground:run",
249
+ draftType: req.params.type,
250
+ });
251
+ if (!isAuthorized) {
252
+ return res.status(403).json(this.createError("PLAYGROUND_ACCESS_DENIED", "Access Denied", 403, traceId));
253
+ }
254
+ const draft = req.body.draft;
255
+ const params = req.body.params || {};
256
+ // In playground run we write temporary draft definition
257
+ const catalogName = `analytix_${req.params.type}s`;
258
+ const savedDraft = await analytix_catalox_1.registry.write(catalogName, {
259
+ ...draft,
260
+ status: "draft",
261
+ });
262
+ const core = await this.getCore();
263
+ const result = await core.run(savedDraft.id, params, { playgroundAdmin: true, bypassCache: true, traceId });
264
+ res.json({
265
+ runId: "run_" + Math.random().toString(36).slice(2),
266
+ result,
267
+ explain: {
268
+ generatedPipeline: [],
269
+ sourceRef: "main-events-db",
270
+ probes: [],
271
+ cache: { hit: false, reason: "no cacheRef on draft — drafts are never cached" },
272
+ },
273
+ });
274
+ }
275
+ catch (err) {
276
+ next({ err, traceId });
277
+ }
278
+ });
279
+ // Admin CRUD Status activation
280
+ this.app.patch("/v1/admin/:catalog/:id", async (req, res) => {
281
+ const catalog = req.params.catalog;
282
+ const id = req.params.id;
283
+ const status = req.body.status;
284
+ const item = await analytix_catalox_1.registry.get(`analytix_${catalog}`, id);
285
+ if (!item) {
286
+ return res.status(404).json({ error: "NOT_FOUND" });
287
+ }
288
+ const updated = await analytix_catalox_1.registry.write(`analytix_${catalog}`, {
289
+ ...item,
290
+ status,
291
+ version: item.version,
292
+ });
293
+ res.json(updated);
294
+ });
295
+ }
296
+ setupErrorHandling() {
297
+ this.app.use((errorObj, req, res, next) => {
298
+ const { err, traceId } = errorObj;
299
+ const msg = err.message || "Execution error";
300
+ let status = 500;
301
+ let code = "INTERNAL_ERROR";
302
+ // Map common errors to Master Taxonomy codes & HTTP status
303
+ if (msg.includes("ANALYTIC_NOT_FOUND")) {
304
+ code = "ANALYTIC_NOT_FOUND";
305
+ status = 404;
306
+ }
307
+ else if (msg.includes("ANALYTIC_ARCHIVED")) {
308
+ code = "ANALYTIC_ARCHIVED";
309
+ status = 410;
310
+ }
311
+ else if (msg.includes("ANALYTIC_NOT_ACTIVE")) {
312
+ code = "ANALYTIC_NOT_ACTIVE";
313
+ status = 409;
314
+ }
315
+ else if (msg.includes("SANDBOX_VIOLATION")) {
316
+ code = "SANDBOX_VIOLATION";
317
+ status = 403;
318
+ }
319
+ else if (msg.includes("TIMEOUT_EXCEEDED")) {
320
+ code = "TIMEOUT_EXCEEDED";
321
+ status = 504;
322
+ }
323
+ else if (msg.includes("OUTPUT_SIZE_EXCEEDED")) {
324
+ code = "OUTPUT_SIZE_EXCEEDED";
325
+ status = 413;
326
+ }
327
+ else if (msg.includes("OUTPUT_VALIDATION_FAILED")) {
328
+ code = "OUTPUT_VALIDATION_FAILED";
329
+ status = 422;
330
+ }
331
+ else if (msg.includes("TIER_CYCLE_DETECTED")) {
332
+ code = "TIER_CYCLE_DETECTED";
333
+ status = 409;
334
+ }
335
+ else if (msg.includes("TIER_DEPENDENCY_MISSING")) {
336
+ code = "TIER_DEPENDENCY_MISSING";
337
+ status = 424;
338
+ }
339
+ else if (msg.includes("DASHBOARD_NOT_FOUND")) {
340
+ code = "DASHBOARD_NOT_FOUND";
341
+ status = 404;
342
+ }
343
+ else if (msg.includes("REPORT_NOT_FOUND")) {
344
+ code = "REPORT_NOT_FOUND";
345
+ status = 404;
346
+ }
347
+ else if (msg.includes("TIER_NOT_FOUND")) {
348
+ code = "TIER_NOT_FOUND";
349
+ status = 404;
350
+ }
351
+ else if (msg.includes("DRAFT_VALIDATION_FAILED")) {
352
+ code = "DRAFT_VALIDATION_FAILED";
353
+ status = 422;
354
+ }
355
+ else if (msg.includes("PROMOTE_CONFLICT")) {
356
+ code = "PROMOTE_CONFLICT";
357
+ status = 409;
358
+ }
359
+ else if (msg.includes("CATALOX_VERSION_CONFLICT")) {
360
+ code = "CATALOX_VERSION_CONFLICT";
361
+ status = 409;
362
+ }
363
+ res.status(status).json(this.createError(code, msg, status, traceId));
364
+ });
365
+ }
366
+ createError(code, message, httpStatus, traceId) {
367
+ return {
368
+ error: {
369
+ code,
370
+ message,
371
+ httpStatus,
372
+ traceId,
373
+ },
374
+ };
375
+ }
376
+ listen(port) {
377
+ return new Promise((resolve) => {
378
+ this.app.listen(port, () => resolve());
379
+ });
380
+ }
381
+ }
382
+ exports.AnalytixServer = AnalytixServer;
383
+ const CATALOG_TYPE_MAP = [
384
+ { catalog: "analytix_queries", type: "query" },
385
+ { catalog: "analytix_functions", type: "jsFunction" },
386
+ { catalog: "analytix_matrixes", type: "matrix" },
387
+ { catalog: "analytix_dashboards", type: "dashboard" },
388
+ { catalog: "analytix_reports", type: "report" },
389
+ { catalog: "analytix_tiers", type: "query" },
390
+ ];
391
+ async function resolveAnalytics(domainId, agentId, types) {
392
+ const allowedTypes = types?.length ? new Set(types) : null;
393
+ const results = [];
394
+ for (const { catalog, type } of CATALOG_TYPE_MAP) {
395
+ if (allowedTypes && !allowedTypes.has(type) && !(type === "jsFunction" && allowedTypes.has("funcxFunction"))) {
396
+ continue;
397
+ }
398
+ const items = await analytix_catalox_1.registry.list(catalog);
399
+ for (const item of items) {
400
+ if (item.status !== "active")
401
+ continue;
402
+ const meta = item.metadata || {};
403
+ const domainIds = meta.domainIds || [];
404
+ const agentIds = meta.agentIds || [];
405
+ const domainMatch = !domainId || domainIds.length === 0 || domainIds.includes(domainId);
406
+ const agentMatch = !agentId || agentIds.length === 0 || agentIds.includes(agentId);
407
+ if (!domainMatch || !agentMatch)
408
+ continue;
409
+ let resolvedType = type;
410
+ if (catalog === "analytix_functions" && item.execution?.type === "funcx") {
411
+ resolvedType = "funcxFunction";
412
+ }
413
+ if (allowedTypes && !allowedTypes.has(resolvedType))
414
+ continue;
415
+ results.push({
416
+ analyticId: item.id,
417
+ type: resolvedType,
418
+ version: item.version,
419
+ status: item.status,
420
+ });
421
+ }
422
+ }
423
+ return results;
424
+ }
425
+ //# 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,34 @@
1
+ {
2
+ "name": "@x12i/analytix-server",
3
+ "version": "1.0.0",
4
+ "main": "dist/index.js",
5
+ "types": "dist/index.d.ts",
6
+ "bin": {
7
+ "analytix-server": "dist/cli.js"
8
+ },
9
+ "dependencies": {
10
+ "express": "^4.19.2",
11
+ "@x12i/analytix-contracts": "^1.0.0",
12
+ "@x12i/analytix-dashboard": "^1.0.0",
13
+ "@x12i/analytix-playground": "^1.0.0",
14
+ "@x12i/analytix-catalox": "^1.0.0",
15
+ "@x12i/analytix": "^1.0.0",
16
+ "@x12i/analytix-memorix": "^1.0.0",
17
+ "@x12i/analytix-reports": "^1.0.0"
18
+ },
19
+ "devDependencies": {
20
+ "@types/express": "^4.17.21",
21
+ "tsx": "^4.16.2"
22
+ },
23
+ "files": [
24
+ "dist"
25
+ ],
26
+ "publishConfig": {
27
+ "access": "public",
28
+ "registry": "https://registry.npmjs.org/"
29
+ },
30
+ "scripts": {
31
+ "start": "tsx src/cli.ts",
32
+ "build": "tsc -p tsconfig.json"
33
+ }
34
+ }