@agentlensai/server 0.13.0 → 0.14.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.
Files changed (82) hide show
  1. package/dist/app.d.ts +27 -0
  2. package/dist/app.d.ts.map +1 -0
  3. package/dist/app.js +178 -0
  4. package/dist/app.js.map +1 -0
  5. package/dist/config.d.ts +2 -6
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +13 -10
  8. package/dist/config.js.map +1 -1
  9. package/dist/health.d.ts +22 -0
  10. package/dist/health.d.ts.map +1 -0
  11. package/dist/health.js +34 -0
  12. package/dist/health.js.map +1 -0
  13. package/dist/index.d.ts +17 -31
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +28 -502
  16. package/dist/index.js.map +1 -1
  17. package/dist/lib/api-schema.d.ts +126 -0
  18. package/dist/lib/api-schema.d.ts.map +1 -0
  19. package/dist/lib/api-schema.js +69 -0
  20. package/dist/lib/api-schema.js.map +1 -0
  21. package/dist/lib/api-version.d.ts +21 -0
  22. package/dist/lib/api-version.d.ts.map +1 -0
  23. package/dist/lib/api-version.js +36 -0
  24. package/dist/lib/api-version.js.map +1 -0
  25. package/dist/lib/lore-client.d.ts +64 -112
  26. package/dist/lib/lore-client.d.ts.map +1 -1
  27. package/dist/lib/lore-client.js +120 -155
  28. package/dist/lib/lore-client.js.map +1 -1
  29. package/dist/routes/agents.d.ts.map +1 -1
  30. package/dist/routes/agents.js +73 -0
  31. package/dist/routes/agents.js.map +1 -1
  32. package/dist/routes/alerts.d.ts.map +1 -1
  33. package/dist/routes/alerts.js +13 -36
  34. package/dist/routes/alerts.js.map +1 -1
  35. package/dist/routes/analytics.d.ts.map +1 -1
  36. package/dist/routes/analytics.js +93 -0
  37. package/dist/routes/analytics.js.map +1 -1
  38. package/dist/routes/api-version.d.ts +9 -0
  39. package/dist/routes/api-version.d.ts.map +1 -0
  40. package/dist/routes/api-version.js +19 -0
  41. package/dist/routes/api-version.js.map +1 -0
  42. package/dist/routes/audit-verify.d.ts +3 -2
  43. package/dist/routes/audit-verify.d.ts.map +1 -1
  44. package/dist/routes/audit-verify.js +91 -27
  45. package/dist/routes/audit-verify.js.map +1 -1
  46. package/dist/routes/cost-budgets.d.ts.map +1 -1
  47. package/dist/routes/cost-budgets.js +19 -36
  48. package/dist/routes/cost-budgets.js.map +1 -1
  49. package/dist/routes/guardrails.d.ts.map +1 -1
  50. package/dist/routes/guardrails.js +121 -37
  51. package/dist/routes/guardrails.js.map +1 -1
  52. package/dist/routes/helpers.d.ts +27 -0
  53. package/dist/routes/helpers.d.ts.map +1 -0
  54. package/dist/routes/helpers.js +46 -0
  55. package/dist/routes/helpers.js.map +1 -0
  56. package/dist/routes/lore-proxy.d.ts +8 -6
  57. package/dist/routes/lore-proxy.d.ts.map +1 -1
  58. package/dist/routes/lore-proxy.js +39 -193
  59. package/dist/routes/lore-proxy.js.map +1 -1
  60. package/dist/routes/mcp-policies.d.ts +40 -0
  61. package/dist/routes/mcp-policies.d.ts.map +1 -0
  62. package/dist/routes/mcp-policies.js +200 -0
  63. package/dist/routes/mcp-policies.js.map +1 -0
  64. package/dist/routes/optimization-advisor.d.ts +13 -0
  65. package/dist/routes/optimization-advisor.d.ts.map +1 -0
  66. package/dist/routes/optimization-advisor.js +42 -0
  67. package/dist/routes/optimization-advisor.js.map +1 -0
  68. package/dist/routes/recall.d.ts.map +1 -1
  69. package/dist/routes/recall.js +7 -3
  70. package/dist/routes/recall.js.map +1 -1
  71. package/dist/routes/registration.d.ts +27 -0
  72. package/dist/routes/registration.d.ts.map +1 -0
  73. package/dist/routes/registration.js +311 -0
  74. package/dist/routes/registration.js.map +1 -0
  75. package/dist/routes/replay.d.ts.map +1 -1
  76. package/dist/routes/replay.js +51 -0
  77. package/dist/routes/replay.js.map +1 -1
  78. package/dist/services/optimization-advisor.d.ts +37 -0
  79. package/dist/services/optimization-advisor.d.ts.map +1 -0
  80. package/dist/services/optimization-advisor.js +239 -0
  81. package/dist/services/optimization-advisor.js.map +1 -0
  82. package/package.json +1 -1
package/dist/app.d.ts ADDED
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Hono app creation and middleware setup — extracted from index.ts (cq-001)
3
+ */
4
+ import { OpenAPIHono } from '@hono/zod-openapi';
5
+ import type { IEventStore } from '@agentlensai/core';
6
+ import { type ServerConfig } from './config.js';
7
+ import { type AuthVariables } from './middleware/auth.js';
8
+ import type { SqliteDb } from './db/index.js';
9
+ import type { EmbeddingService } from './lib/embeddings/index.js';
10
+ import type { EmbeddingWorker } from './lib/embeddings/worker.js';
11
+ /**
12
+ * Create a configured Hono app with all routes and middleware.
13
+ *
14
+ * @param store - IEventStore implementation for data access
15
+ * @param config - Optional partial config override (defaults from env)
16
+ */
17
+ export declare function createApp(store: IEventStore, config?: Partial<ServerConfig> & {
18
+ db?: SqliteDb;
19
+ apiKeyLookup?: import('./db/api-key-lookup.js').IApiKeyLookup;
20
+ embeddingService?: EmbeddingService | null;
21
+ embeddingWorker?: EmbeddingWorker | null;
22
+ pgSql?: import('postgres').Sql;
23
+ pgDb?: import('./db/connection.postgres.js').PostgresDb;
24
+ }): Promise<OpenAPIHono<{
25
+ Variables: AuthVariables;
26
+ }, {}, "/">>;
27
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAOhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAY1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAgDlE;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,WAAW,EAClB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG;IAC/B,EAAE,CAAC,EAAE,QAAQ,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,wBAAwB,EAAE,aAAa,CAAC;IAC9D,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC3C,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,EAAE,OAAO,UAAU,EAAE,GAAG,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,6BAA6B,EAAE,UAAU,CAAC;CACzD;eAIwC,aAAa;aAmIvD"}
package/dist/app.js ADDED
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Hono app creation and middleware setup — extracted from index.ts (cq-001)
3
+ */
4
+ import { OpenAPIHono } from '@hono/zod-openapi';
5
+ import { cors } from 'hono/cors';
6
+ import { logger } from 'hono/logger';
7
+ import { serveStatic } from '@hono/node-server/serve-static';
8
+ import { readFileSync, existsSync } from 'node:fs';
9
+ import { resolve, dirname } from 'node:path';
10
+ import { fileURLToPath } from 'node:url';
11
+ import { BearerAuthScheme } from './schemas/common.js';
12
+ import { getConfig } from './config.js';
13
+ import { authMiddleware } from './middleware/auth.js';
14
+ import { unifiedAuthMiddleware } from './middleware/unified-auth.js';
15
+ import { requireCategory, requireMethodCategory, requireCategoryByMethod } from './middleware/rbac.js';
16
+ import { securityHeadersMiddleware } from './middleware/security-headers.js';
17
+ import { sanitizeErrorMessage, getErrorStatus } from './lib/error-sanitizer.js';
18
+ import { buildCorsOptions } from './middleware/cors-config.js';
19
+ import { authRateLimit, apiRateLimit } from './middleware/rate-limit.js';
20
+ import { apiBodyLimit } from './middleware/body-limit.js';
21
+ import { createAuditLogger } from './lib/audit.js';
22
+ import { auditMiddleware } from './middleware/audit.js';
23
+ import { registerInlineHealthCheck } from './health.js';
24
+ import { registerRoutes } from './routes/registration.js';
25
+ import { createLogger } from './lib/logger.js';
26
+ const log = createLogger('Server');
27
+ // ─── Dashboard SPA helpers ───────────────────────────────────
28
+ /**
29
+ * Resolve the dashboard dist/ directory path.
30
+ */
31
+ function getDashboardRoot() {
32
+ const candidates = [
33
+ resolve(dirname(fileURLToPath(import.meta.url)), '../../dashboard/dist'),
34
+ process.env['DASHBOARD_PATH'] ?? '',
35
+ ].filter(Boolean);
36
+ for (const candidate of candidates) {
37
+ if (existsSync(resolve(candidate, 'index.html'))) {
38
+ return candidate;
39
+ }
40
+ }
41
+ return null;
42
+ }
43
+ /**
44
+ * Read the dashboard index.html for SPA fallback (non-API routes).
45
+ */
46
+ let cachedIndexHtml;
47
+ function getDashboardIndexHtml() {
48
+ if (cachedIndexHtml !== undefined)
49
+ return cachedIndexHtml;
50
+ const root = getDashboardRoot();
51
+ if (!root) {
52
+ cachedIndexHtml = null;
53
+ return null;
54
+ }
55
+ const indexPath = resolve(root, 'index.html');
56
+ try {
57
+ cachedIndexHtml = readFileSync(indexPath, 'utf-8');
58
+ return cachedIndexHtml;
59
+ }
60
+ catch {
61
+ cachedIndexHtml = null;
62
+ return null;
63
+ }
64
+ }
65
+ /**
66
+ * Create a configured Hono app with all routes and middleware.
67
+ *
68
+ * @param store - IEventStore implementation for data access
69
+ * @param config - Optional partial config override (defaults from env)
70
+ */
71
+ export async function createApp(store, config) {
72
+ const resolvedConfig = { ...getConfig(), ...config };
73
+ const app = new OpenAPIHono({
74
+ defaultHook: (result, c) => {
75
+ if (!result.success) {
76
+ return c.json({
77
+ error: 'Validation failed',
78
+ status: 400,
79
+ details: result.error.issues.map((i) => ({
80
+ path: i.path.map(String).join('.'),
81
+ message: i.message,
82
+ })),
83
+ }, 400);
84
+ }
85
+ },
86
+ });
87
+ // Register Bearer auth security scheme for OpenAPI [F13-S1]
88
+ app.openAPIRegistry.registerComponent('securitySchemes', 'Bearer', BearerAuthScheme);
89
+ // ─── Security headers (position 1 — must be first) ────
90
+ app.use('*', securityHeadersMiddleware());
91
+ // ─── Global error handler ──────────────────────────────
92
+ app.onError((err, c) => {
93
+ const status = getErrorStatus(err);
94
+ if (status >= 500) {
95
+ log.error('Unhandled error', { error: err instanceof Error ? err.message : String(err) });
96
+ }
97
+ const message = sanitizeErrorMessage(err);
98
+ return c.json({ error: message, status }, status);
99
+ });
100
+ // ─── 404 handler — API routes return JSON, others get SPA fallback ──
101
+ app.notFound((c) => {
102
+ const path = new URL(c.req.url).pathname;
103
+ if (path.startsWith('/api/')) {
104
+ return c.json({ error: 'Not found', status: 404 }, 404);
105
+ }
106
+ if (/\.\w{1,10}$/.test(path)) {
107
+ return c.json({ error: 'Not found', status: 404 }, 404);
108
+ }
109
+ const indexHtml = getDashboardIndexHtml();
110
+ if (indexHtml) {
111
+ return c.html(indexHtml);
112
+ }
113
+ return c.json({ error: 'Not found', status: 404 }, 404);
114
+ });
115
+ // ─── Middleware on /api/* ──────────────────────────────
116
+ app.use('/api/*', cors(buildCorsOptions({
117
+ corsOrigins: resolvedConfig.corsOrigins ?? resolvedConfig.corsOrigin,
118
+ nodeEnv: process.env['NODE_ENV'],
119
+ })));
120
+ app.use('/api/*', logger());
121
+ // ─── SH-3: Body size limit (1MB default) ────────────────
122
+ app.use('/api/*', apiBodyLimit);
123
+ // ─── Rate limiting: API endpoints ──────────────────────
124
+ app.use('/api/*', apiRateLimit);
125
+ // ─── Health check (no auth) ────────────────────────────
126
+ registerInlineHealthCheck(app, resolvedConfig, config);
127
+ // ─── Rate limiting: auth endpoints ─────────────────────
128
+ app.use('/auth/*', authRateLimit);
129
+ // ─── Auth posture check (Feature-1: secure-by-default) ──
130
+ if (resolvedConfig.authDisabled && process.env['NODE_ENV'] === 'production') {
131
+ log.error('CRITICAL: Running with AUTH_DISABLED=true in production. All API endpoints are unprotected!');
132
+ }
133
+ // ─── Auth middleware on protected routes [F2-S3] ───────
134
+ const db = config?.db;
135
+ if (!db && !resolvedConfig.authDisabled) {
136
+ throw new Error('createApp() requires a `db` option when auth is enabled. ' +
137
+ 'Either provide a database or set authDisabled: true.');
138
+ }
139
+ {
140
+ const authLookup = config?.apiKeyLookup ?? db ?? null;
141
+ const authConfig = {
142
+ authDisabled: resolvedConfig.authDisabled,
143
+ jwtSecret: process.env['JWT_SECRET'],
144
+ };
145
+ // ── Unified auth catch-all ──
146
+ app.use('/api/*', unifiedAuthMiddleware(authLookup, authConfig));
147
+ // ── RBAC enforcement per architecture §3.3 ──────────
148
+ const manageGuard = requireCategory('manage');
149
+ app.use('/api/keys/*', manageGuard);
150
+ app.use('/api/keys', manageGuard);
151
+ app.use('/api/audit/*', manageGuard);
152
+ app.use('/api/audit', manageGuard);
153
+ app.use('/api/compliance/*', manageGuard);
154
+ app.use('/api/compliance', manageGuard);
155
+ const configGuard = requireCategoryByMethod({ GET: 'read', PUT: 'manage', PATCH: 'manage' });
156
+ app.use('/api/config/*', configGuard);
157
+ app.use('/api/config', configGuard);
158
+ const guardrailGuard = requireCategoryByMethod({ GET: 'read', POST: 'manage', PUT: 'manage', DELETE: 'manage' });
159
+ app.use('/api/guardrails/*', guardrailGuard);
160
+ app.use('/api/guardrails', guardrailGuard);
161
+ // Default safety net: GET = read, mutations = write
162
+ app.use('/api/*', requireMethodCategory());
163
+ // ── Audit middleware (after auth — has access to auth context) ──
164
+ if (db) {
165
+ const auditLogger = createAuditLogger(db);
166
+ app.use('/api/*', auditMiddleware(auditLogger));
167
+ }
168
+ }
169
+ // ─── Register all routes ──────────────────────────────
170
+ await registerRoutes(app, store, resolvedConfig, config);
171
+ // ─── Dashboard SPA static assets ──────────────────────
172
+ const dashboardRoot = getDashboardRoot();
173
+ if (dashboardRoot) {
174
+ app.use('/*', serveStatic({ root: dashboardRoot }));
175
+ }
176
+ return app;
177
+ }
178
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -28,14 +28,10 @@ export interface ServerConfig {
28
28
  meshUrl: string;
29
29
  /** Enable Lore memory integration (default: false) */
30
30
  loreEnabled: boolean;
31
- /** Lore mode: 'local' uses lore-sdk directly, 'remote' proxies to Lore server (default: 'remote') */
32
- loreMode: 'local' | 'remote';
33
- /** Lore API URL (required when loreMode === 'remote' && loreEnabled) */
31
+ /** Lore API URL (required when loreEnabled) */
34
32
  loreApiUrl?: string;
35
- /** Lore API key (required when loreMode === 'remote' && loreEnabled) */
33
+ /** Lore API key (required when loreEnabled) */
36
34
  loreApiKey?: string;
37
- /** Lore SQLite database path (optional, lore-sdk has defaults) */
38
- loreDbPath?: string;
39
35
  /** HMAC-SHA256 key for signing audit verification reports (optional) */
40
36
  auditSigningKey?: string;
41
37
  /** Enable strict multi-tenant mode — rejects unscoped ingestion (default: false) [F6-S13] */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,YAAY,EAAE,OAAO,CAAC;IACtB,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,cAAc,EAAE,QAAQ,GAAG,UAAU,CAAC;IACtC,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,gBAAgB,EAAE,OAAO,CAAC;IAG1B,yCAAyC;IACzC,WAAW,EAAE,OAAO,CAAC;IACrB,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAGhB,sDAAsD;IACtD,WAAW,EAAE,OAAO,CAAC;IACrB,qGAAqG;IACrG,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC7B,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,6FAA6F;IAC7F,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,YAAY,CAiDxC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAwBzD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,YAAY,EAAE,OAAO,CAAC;IACtB,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,cAAc,EAAE,QAAQ,GAAG,UAAU,CAAC;IACtC,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,gBAAgB,EAAE,OAAO,CAAC;IAG1B,yCAAyC;IACzC,WAAW,EAAE,OAAO,CAAC;IACrB,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAGhB,sDAAsD;IACtD,WAAW,EAAE,OAAO,CAAC;IACrB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,6FAA6F;IAC7F,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,YAAY,CA+CxC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CA8BzD"}
package/dist/config.js CHANGED
@@ -41,12 +41,10 @@ export function getConfig() {
41
41
  // Mesh integration
42
42
  meshEnabled: process.env['MESH_ENABLED'] === 'true',
43
43
  meshUrl: process.env['MESH_URL'] ?? '',
44
- // Lore integration
44
+ // Lore integration (v0.5.0+ — always remote, no local mode)
45
45
  loreEnabled: process.env['LORE_ENABLED'] === 'true',
46
- loreMode: (process.env['LORE_MODE'] === 'local' ? 'local' : 'remote'),
47
46
  loreApiUrl: process.env['LORE_API_URL'] || undefined,
48
47
  loreApiKey: process.env['LORE_API_KEY'] || undefined,
49
- loreDbPath: process.env['LORE_DB_PATH'] || undefined,
50
48
  // Audit verification signing
51
49
  auditSigningKey: process.env['AGENTLENS_AUDIT_SIGNING_KEY'] || undefined,
52
50
  // Multi-tenant mode [F6-S13]
@@ -58,6 +56,13 @@ export function getConfig() {
58
56
  */
59
57
  export function validateConfig(config) {
60
58
  if (config.authDisabled) {
59
+ const nodeEnv = process.env['NODE_ENV'] ?? 'development';
60
+ if (nodeEnv === 'production') {
61
+ log.error('CRITICAL: AUTH_DISABLED=true in production environment! This is a severe security risk. Set AUTH_DISABLED=false or remove it.');
62
+ }
63
+ else if (nodeEnv !== 'development') {
64
+ log.warn('WARNING: AUTH_DISABLED=true in non-development environment (NODE_ENV=' + nodeEnv + '). This is not recommended.');
65
+ }
61
66
  log.warn('⚠️ Authentication is DISABLED. Do not use in production!');
62
67
  }
63
68
  if (config.corsOrigin === '*' && !config.authDisabled) {
@@ -78,13 +83,11 @@ export function validateConfig(config) {
78
83
  function validateLoreConfig(config) {
79
84
  if (!config.loreEnabled)
80
85
  return;
81
- if (config.loreMode === 'remote') {
82
- if (!config.loreApiUrl) {
83
- throw new Error('FATAL: LORE_ENABLED=true with LORE_MODE=remote requires LORE_API_URL to be set.');
84
- }
85
- if (!config.loreApiKey) {
86
- throw new Error('FATAL: LORE_ENABLED=true with LORE_MODE=remote requires LORE_API_KEY to be set.');
87
- }
86
+ if (!config.loreApiUrl) {
87
+ throw new Error('FATAL: LORE_ENABLED=true requires LORE_API_URL to be set.');
88
+ }
89
+ if (!config.loreApiKey) {
90
+ throw new Error('FATAL: LORE_ENABLED=true requires LORE_API_KEY to be set.');
88
91
  }
89
92
  }
90
93
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Health check endpoint — extracted from index.ts (cq-001)
3
+ *
4
+ * Inline health check registered directly on the app (no auth required).
5
+ */
6
+ import type { OpenAPIHono } from '@hono/zod-openapi';
7
+ import type { AuthVariables } from './middleware/auth.js';
8
+ import type { SqliteDb } from './db/index.js';
9
+ import type { ServerConfig } from './config.js';
10
+ /**
11
+ * Register the inline /api/health endpoint on the given app.
12
+ *
13
+ * This is the lightweight "is the server alive?" check that runs before
14
+ * auth middleware. The richer per-agent health routes live in routes/health.ts.
15
+ */
16
+ export declare function registerInlineHealthCheck(app: OpenAPIHono<{
17
+ Variables: AuthVariables;
18
+ }>, resolvedConfig: ServerConfig, config?: {
19
+ db?: SqliteDb;
20
+ pgSql?: import('postgres').Sql;
21
+ }): void;
22
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,WAAW,CAAC;IAAE,SAAS,EAAE,aAAa,CAAA;CAAE,CAAC,EAC9C,cAAc,EAAE,YAAY,EAC5B,MAAM,CAAC,EAAE;IACP,EAAE,CAAC,EAAE,QAAQ,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,UAAU,EAAE,GAAG,CAAC;CAChC,QAwBF"}
package/dist/health.js ADDED
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Health check endpoint — extracted from index.ts (cq-001)
3
+ *
4
+ * Inline health check registered directly on the app (no auth required).
5
+ */
6
+ /**
7
+ * Register the inline /api/health endpoint on the given app.
8
+ *
9
+ * This is the lightweight "is the server alive?" check that runs before
10
+ * auth middleware. The richer per-agent health routes live in routes/health.ts.
11
+ */
12
+ export function registerInlineHealthCheck(app, resolvedConfig, config) {
13
+ app.get('/api/health', async (c) => {
14
+ const result = { status: 'ok', version: '0.1.0' };
15
+ // DB health check — works for both SQLite and Postgres
16
+ if (config?.pgSql) {
17
+ const { postgresHealthCheck } = await import('./db/index.js');
18
+ result.db = await postgresHealthCheck(config.pgSql);
19
+ }
20
+ else if (config?.db) {
21
+ // SQLite health check
22
+ const start = performance.now();
23
+ try {
24
+ config.db.run((await import('drizzle-orm')).sql `SELECT 1`);
25
+ result.db = { ok: true, latencyMs: Math.round(performance.now() - start) };
26
+ }
27
+ catch {
28
+ result.db = { ok: false, latencyMs: Math.round(performance.now() - start) };
29
+ }
30
+ }
31
+ return c.json(result);
32
+ });
33
+ }
34
+ //# sourceMappingURL=health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACvC,GAA8C,EAC9C,cAA4B,EAC5B,MAGC;IAED,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,MAAM,GAA4B,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAE3E,uDAAuD;QACvD,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;YAClB,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;YAC9D,MAAM,CAAC,EAAE,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,MAAM,EAAE,EAAE,EAAE,CAAC;YACtB,sBAAsB;YACtB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC;gBACF,MAAM,CAAC,EAAU,CAAC,GAAG,CACpB,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAA,UAAU,CAC5C,CAAC;gBACF,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YAC7E,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,17 +1,13 @@
1
1
  /**
2
2
  * @agentlensai/server — Hono HTTP API server and event storage
3
3
  *
4
- * Exports:
5
- * - createApp(store, config?) factory that returns a configured Hono app
6
- * - startServer() standalone entry point that creates DB + starts listening
4
+ * Thin entry point: re-exports createApp from app.ts and startServer below.
5
+ * The heavy lifting lives in:
6
+ * - app.ts Hono app creation, middleware setup
7
+ * - routes/registration.ts — route mounting
8
+ * - health.ts — inline health check endpoint
7
9
  */
8
- import { OpenAPIHono } from '@hono/zod-openapi';
9
- import type { IEventStore } from '@agentlensai/core';
10
- import { type ServerConfig } from './config.js';
11
- import { type AuthVariables } from './middleware/auth.js';
12
- import { type SqliteDb } from './db/index.js';
13
- import { EmbeddingWorker } from './lib/embeddings/worker.js';
14
- import type { EmbeddingService } from './lib/embeddings/index.js';
10
+ export { createApp } from './app.js';
15
11
  export { getConfig, validateConfig } from './config.js';
16
12
  export type { ServerConfig } from './config.js';
17
13
  export { authMiddleware, hashApiKey } from './middleware/auth.js';
@@ -51,41 +47,31 @@ export type { AuditLogger, AuditEntry, ActorType } from './lib/audit.js';
51
47
  export { auditMiddleware } from './middleware/audit.js';
52
48
  export { healthRoutes, registerHealthRoutes } from './routes/health.js';
53
49
  export { ContextRetriever } from './lib/context/retrieval.js';
54
- export { loreProxyRoutes, loreCommunityProxyRoutes } from './routes/lore-proxy.js';
55
- export { createLoreAdapter, RemoteLoreAdapter, LocalLoreAdapter, LoreError } from './lib/lore-client.js';
56
- export type { LoreAdapter } from './lib/lore-client.js';
50
+ export { loreProxyRoutes } from './routes/lore-proxy.js';
51
+ export { createLoreAdapter, LoreReadAdapter, LoreError } from './lib/lore-client.js';
52
+ export type { LoreMemory, LoreStats, LoreListResponse } from './lib/lore-client.js';
57
53
  export { meshProxyRoutes } from './routes/mesh-proxy.js';
58
54
  export { RemoteMeshAdapter, MeshError } from './lib/mesh-client.js';
59
55
  export type { MeshAdapter } from './lib/mesh-client.js';
60
56
  export { otlpRoutes } from './routes/otlp.js';
61
57
  export { guardrailRoutes } from './routes/guardrails.js';
58
+ export { mcpPolicyRoutes } from './routes/mcp-policies.js';
62
59
  export { GuardrailEngine } from './lib/guardrails/engine.js';
63
60
  export { GuardrailStore } from './db/guardrail-store.js';
64
61
  export { BudgetEngine } from './lib/budget-engine.js';
65
62
  export { CostAnomalyDetector } from './lib/cost-anomaly-detector.js';
66
63
  export { CostBudgetStore } from './db/cost-budget-store.js';
67
64
  export { costBudgetRoutes } from './routes/cost-budgets.js';
68
- /**
69
- * Create a configured Hono app with all routes and middleware.
70
- *
71
- * @param store - IEventStore implementation for data access
72
- * @param config - Optional partial config override (defaults from env)
73
- */
74
- export declare function createApp(store: IEventStore, config?: Partial<ServerConfig> & {
75
- db?: SqliteDb;
76
- apiKeyLookup?: import('./db/api-key-lookup.js').IApiKeyLookup;
77
- embeddingService?: EmbeddingService | null;
78
- embeddingWorker?: EmbeddingWorker | null;
79
- pgSql?: import('postgres').Sql;
80
- pgDb?: import('./db/connection.postgres.js').PostgresDb;
81
- }): Promise<OpenAPIHono<{
82
- Variables: AuthVariables;
83
- }, {}, "/">>;
65
+ export { apiVersionMiddleware, CURRENT_API_VERSION, SUPPORTED_API_VERSIONS } from './lib/api-version.js';
66
+ export { apiVersionRoutes } from './routes/api-version.js';
67
+ export { optimizationAdvisorRoutes } from './routes/optimization-advisor.js';
68
+ export { getOptimizationSuggestions, getOptimizationSummary } from './services/optimization-advisor.js';
69
+ export type { OptimizationSuggestion, AdvisorResult, SuggestionType } from './services/optimization-advisor.js';
84
70
  /**
85
71
  * Start the server as a standalone process.
86
72
  * Creates the database, runs migrations, and starts listening.
87
73
  */
88
- export declare function startServer(): Promise<OpenAPIHono<{
89
- Variables: AuthVariables;
74
+ export declare function startServer(): Promise<import("@hono/zod-openapi").OpenAPIHono<{
75
+ Variables: import("./middleware/auth.js").AuthVariables;
90
76
  }, {}, "/">>;
91
77
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}