@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
@@ -14,6 +14,7 @@ import { ulid } from 'ulid';
14
14
  import { CreateGuardrailRuleSchema, UpdateGuardrailRuleSchema } from '@agentlensai/core';
15
15
  import { invalidateScanner } from '../lib/guardrails/scanners/scanner-registry.js';
16
16
  import { getTenantId } from './tenant-helper.js';
17
+ import { parseBody, notFound, created } from './helpers.js';
17
18
  /**
18
19
  * Validate that conditionConfig contains required fields for the given condition type.
19
20
  * Returns an error message string if invalid, or null if valid.
@@ -62,26 +63,17 @@ export function guardrailRoutes(guardrailStore, contentEngine) {
62
63
  */
63
64
  app.post('/', async (c) => {
64
65
  const tenantId = getTenantId(c);
65
- const rawBody = await c.req.json().catch(() => null);
66
- if (!rawBody) {
67
- return c.json({ error: 'Invalid JSON body', status: 400 }, 400);
68
- }
69
- const result = CreateGuardrailRuleSchema.safeParse(rawBody);
70
- if (!result.success) {
71
- return c.json({
72
- error: 'Validation failed',
73
- status: 400,
74
- details: result.error.issues.map((i) => ({ path: i.path.join('.'), message: i.message })),
75
- }, 400);
76
- }
66
+ const parsed = await parseBody(c, CreateGuardrailRuleSchema);
67
+ if (!parsed.success)
68
+ return parsed.response;
77
69
  // H4: Validate that conditionConfig has required fields for the condition type
78
- const configError = validateConditionConfig(result.data.conditionType, result.data.conditionConfig);
70
+ const configError = validateConditionConfig(parsed.data.conditionType, parsed.data.conditionConfig);
79
71
  if (configError) {
80
72
  return c.json({ error: 'Validation failed', status: 400, details: [{ path: 'conditionConfig', message: configError }] }, 400);
81
73
  }
82
74
  // H2: Validate webhook URL if action is notify_webhook
83
- if (result.data.actionType === 'notify_webhook') {
84
- const url = result.data.actionConfig?.url;
75
+ if (parsed.data.actionType === 'notify_webhook') {
76
+ const url = parsed.data.actionConfig?.url;
85
77
  if (typeof url === 'string' && !/^https?:\/\//.test(url)) {
86
78
  return c.json({ error: 'Validation failed', status: 400, details: [{ path: 'actionConfig.url', message: 'Webhook URL must start with http:// or https://' }] }, 400);
87
79
  }
@@ -90,21 +82,90 @@ export function guardrailRoutes(guardrailStore, contentEngine) {
90
82
  const rule = {
91
83
  id: ulid(),
92
84
  tenantId,
93
- ...result.data,
85
+ ...parsed.data,
94
86
  createdAt: now,
95
87
  updatedAt: now,
96
88
  };
97
89
  guardrailStore.createRule(rule);
98
- return c.json(rule, 201);
90
+ return created(c, rule);
99
91
  });
100
92
  /**
101
93
  * @summary Evaluate content against guardrail rules (Feature 8)
102
94
  */
103
95
  app.post('/evaluate', async (c) => {
96
+ const tenantId = getTenantId(c);
97
+ const body = await c.req.json().catch(() => null);
98
+ // Feature 5 (v2): evaluate a request against all active guardrails, return actions
99
+ if (body?.request) {
100
+ const agentId = body.request.agentId;
101
+ const model = body.request.model;
102
+ if (!agentId) {
103
+ return c.json({ error: 'Missing request.agentId', status: 400 }, 400);
104
+ }
105
+ const rules = guardrailStore.listEnabledRules(tenantId, agentId);
106
+ const actions = [];
107
+ for (const rule of rules) {
108
+ if (rule.actionType === 'rate_limit') {
109
+ const rpm = rule.actionConfig.requests_per_minute ?? 60;
110
+ actions.push({
111
+ ruleId: rule.id,
112
+ ruleName: rule.name,
113
+ actionType: 'rate_limit',
114
+ actionConfig: { requests_per_minute: rpm, window: rule.actionConfig.window ?? 60 },
115
+ message: `Rate limited to ${rpm} requests/min`,
116
+ });
117
+ }
118
+ else if (rule.actionType === 'block') {
119
+ actions.push({
120
+ ruleId: rule.id,
121
+ ruleName: rule.name,
122
+ actionType: 'block',
123
+ actionConfig: rule.actionConfig,
124
+ message: rule.actionConfig.message ?? 'Request blocked by guardrail',
125
+ });
126
+ }
127
+ else if (rule.actionType === 'downgrade_model') {
128
+ const target = rule.actionConfig.target_model ?? 'gpt-3.5-turbo';
129
+ actions.push({
130
+ ruleId: rule.id,
131
+ ruleName: rule.name,
132
+ actionType: 'downgrade_model',
133
+ actionConfig: { target_model: target, original_model: model },
134
+ message: `Model downgraded from ${model ?? 'unknown'} to ${target}`,
135
+ });
136
+ }
137
+ else if (rule.actionType === 'alert') {
138
+ actions.push({
139
+ ruleId: rule.id,
140
+ ruleName: rule.name,
141
+ actionType: 'alert',
142
+ actionConfig: rule.actionConfig,
143
+ message: 'Alert triggered',
144
+ });
145
+ }
146
+ }
147
+ // Record actions as trigger history
148
+ const now = new Date().toISOString();
149
+ for (const action of actions) {
150
+ guardrailStore.insertTrigger({
151
+ id: ulid(),
152
+ ruleId: action.ruleId,
153
+ tenantId,
154
+ triggeredAt: now,
155
+ conditionValue: 0,
156
+ conditionThreshold: 0,
157
+ actionExecuted: true,
158
+ actionResult: action.actionType,
159
+ metadata: { agentId, model, message: action.message },
160
+ });
161
+ }
162
+ const blocked = actions.some((a) => a.actionType === 'block');
163
+ return c.json({ allowed: !blocked, actions });
164
+ }
165
+ // Feature 8 (content engine): existing content evaluation
104
166
  if (!contentEngine) {
105
167
  return c.json({ error: 'Content engine not available', status: 501 }, 501);
106
168
  }
107
- const body = await c.req.json().catch(() => null);
108
169
  if (!body?.content || !body?.context?.tenantId || !body?.context?.agentId) {
109
170
  return c.json({ error: 'Missing content or context (tenantId, agentId required)', status: 400 }, 400);
110
171
  }
@@ -116,6 +177,38 @@ export function guardrailRoutes(guardrailStore, contentEngine) {
116
177
  }, body.timeoutMs);
117
178
  return c.json(result);
118
179
  });
180
+ /**
181
+ * @summary List triggered actions for a guardrail rule (Feature 5 — Phase 2)
182
+ * @param {string} id — Rule ID (path)
183
+ * @param {number} [limit] — max results 1-200, default 50 (query param)
184
+ * @param {number} [offset] — pagination offset, default 0 (query param)
185
+ * @returns {200} `{ actions: TriggerRecord[], total: number }`
186
+ * @throws {404} Rule not found
187
+ */
188
+ app.get('/:id/actions', async (c) => {
189
+ const tenantId = getTenantId(c);
190
+ const ruleId = c.req.param('id');
191
+ const rule = guardrailStore.getRule(tenantId, ruleId);
192
+ if (!rule) {
193
+ return notFound(c, 'Guardrail rule');
194
+ }
195
+ const limit = Math.min(Math.max(1, parseInt(c.req.query('limit') ?? '50', 10)), 200);
196
+ const offset = Math.max(0, parseInt(c.req.query('offset') ?? '0', 10));
197
+ const { triggers, total } = guardrailStore.listTriggerHistory(tenantId, {
198
+ ruleId,
199
+ limit,
200
+ offset,
201
+ });
202
+ // Map triggers to action records
203
+ const actions = triggers.map((t) => ({
204
+ id: t.id,
205
+ ruleId: t.ruleId,
206
+ actionType: t.actionResult ?? 'unknown',
207
+ triggeredAt: t.triggeredAt,
208
+ metadata: t.metadata,
209
+ }));
210
+ return c.json({ actions, total });
211
+ });
119
212
  /**
120
213
  * @summary List guardrail rules
121
214
  * @description Returns all guardrail rules for the tenant, optionally filtered by agent.
@@ -166,7 +259,7 @@ export function guardrailRoutes(guardrailStore, contentEngine) {
166
259
  const ruleId = c.req.param('id');
167
260
  const rule = guardrailStore.getRule(tenantId, ruleId);
168
261
  if (!rule) {
169
- return c.json({ error: 'Guardrail rule not found', status: 404 }, 404);
262
+ return notFound(c, 'Guardrail rule');
170
263
  }
171
264
  return c.json(rule);
172
265
  });
@@ -183,33 +276,24 @@ export function guardrailRoutes(guardrailStore, contentEngine) {
183
276
  app.put('/:id', async (c) => {
184
277
  const tenantId = getTenantId(c);
185
278
  const ruleId = c.req.param('id');
186
- const rawBody = await c.req.json().catch(() => null);
187
- if (!rawBody) {
188
- return c.json({ error: 'Invalid JSON body', status: 400 }, 400);
189
- }
190
- const result = UpdateGuardrailRuleSchema.safeParse(rawBody);
191
- if (!result.success) {
192
- return c.json({
193
- error: 'Validation failed',
194
- status: 400,
195
- details: result.error.issues.map((i) => ({ path: i.path.join('.'), message: i.message })),
196
- }, 400);
197
- }
279
+ const parsed = await parseBody(c, UpdateGuardrailRuleSchema);
280
+ if (!parsed.success)
281
+ return parsed.response;
198
282
  // H2: Validate webhook URL if action is notify_webhook
199
- if (result.data.actionType === 'notify_webhook') {
200
- const url = result.data.actionConfig?.url;
283
+ if (parsed.data.actionType === 'notify_webhook') {
284
+ const url = parsed.data.actionConfig?.url;
201
285
  if (typeof url === 'string' && !/^https?:\/\//.test(url)) {
202
286
  return c.json({ error: 'Validation failed', status: 400, details: [{ path: 'actionConfig.url', message: 'Webhook URL must start with http:// or https://' }] }, 400);
203
287
  }
204
288
  }
205
289
  // Handle null agentId (clearing scope)
206
- const updates = { ...result.data };
290
+ const updates = { ...parsed.data };
207
291
  if (updates.agentId === null) {
208
292
  updates.agentId = undefined;
209
293
  }
210
294
  const updated = guardrailStore.updateRule(tenantId, ruleId, updates);
211
295
  if (!updated) {
212
- return c.json({ error: 'Guardrail rule not found', status: 404 }, 404);
296
+ return notFound(c, 'Guardrail rule');
213
297
  }
214
298
  invalidateScanner(ruleId);
215
299
  const rule = guardrailStore.getRule(tenantId, ruleId);
@@ -227,7 +311,7 @@ export function guardrailRoutes(guardrailStore, contentEngine) {
227
311
  const ruleId = c.req.param('id');
228
312
  const deleted = guardrailStore.deleteRule(tenantId, ruleId);
229
313
  if (!deleted) {
230
- return c.json({ error: 'Guardrail rule not found', status: 404 }, 404);
314
+ return notFound(c, 'Guardrail rule');
231
315
  }
232
316
  invalidateScanner(ruleId);
233
317
  return c.json({ ok: true });
@@ -244,7 +328,7 @@ export function guardrailRoutes(guardrailStore, contentEngine) {
244
328
  const ruleId = c.req.param('id');
245
329
  const rule = guardrailStore.getRule(tenantId, ruleId);
246
330
  if (!rule) {
247
- return c.json({ error: 'Guardrail rule not found', status: 404 }, 404);
331
+ return notFound(c, 'Guardrail rule');
248
332
  }
249
333
  const state = guardrailStore.getState(tenantId, ruleId);
250
334
  const recentTriggers = guardrailStore.getRecentTriggers(tenantId, ruleId, 10);
@@ -1 +1 @@
1
- {"version":3,"file":"guardrails.js","sourceRoot":"","sources":["../../src/routes/guardrails.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guardrails.js","sourceRoot":"","sources":["../../src/routes/guardrails.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Shared CRUD route helpers for Hono route handlers.
3
+ *
4
+ * Reduces boilerplate for body parsing/validation, 404 responses, and 201 responses.
5
+ */
6
+ import type { Context } from 'hono';
7
+ import type { ZodSchema } from 'zod';
8
+ /**
9
+ * Parse and validate a JSON request body against a Zod schema.
10
+ * Returns `{ success: true, data }` on success, or sends a 400 response and returns `{ success: false }`.
11
+ */
12
+ export declare function parseBody<T>(c: Context, schema: ZodSchema<T>): Promise<{
13
+ success: true;
14
+ data: T;
15
+ } | {
16
+ success: false;
17
+ response: Response;
18
+ }>;
19
+ /**
20
+ * Return a standard 404 JSON response.
21
+ */
22
+ export declare function notFound(c: Context, entity: string): Response;
23
+ /**
24
+ * Return a standard 201 JSON response with the created resource.
25
+ */
26
+ export declare function created(c: Context, data: unknown): Response;
27
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/routes/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,KAAK,CAAC;AAE/C;;;GAGG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,CAAC,EAAE,OAAO,EACV,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC,CA4B9E;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAE7D;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,CAE3D"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Shared CRUD route helpers for Hono route handlers.
3
+ *
4
+ * Reduces boilerplate for body parsing/validation, 404 responses, and 201 responses.
5
+ */
6
+ /**
7
+ * Parse and validate a JSON request body against a Zod schema.
8
+ * Returns `{ success: true, data }` on success, or sends a 400 response and returns `{ success: false }`.
9
+ */
10
+ export async function parseBody(c, schema) {
11
+ const rawBody = await c.req.json().catch(() => null);
12
+ if (!rawBody) {
13
+ return {
14
+ success: false,
15
+ response: c.json({ error: 'Invalid JSON body', status: 400 }, 400),
16
+ };
17
+ }
18
+ const result = schema.safeParse(rawBody);
19
+ if (!result.success) {
20
+ return {
21
+ success: false,
22
+ response: c.json({
23
+ error: 'Validation failed',
24
+ status: 400,
25
+ details: result.error.issues.map((issue) => ({
26
+ path: issue.path.map(String).join('.'),
27
+ message: issue.message,
28
+ })),
29
+ }, 400),
30
+ };
31
+ }
32
+ return { success: true, data: result.data };
33
+ }
34
+ /**
35
+ * Return a standard 404 JSON response.
36
+ */
37
+ export function notFound(c, entity) {
38
+ return c.json({ error: `${entity} not found`, status: 404 }, 404);
39
+ }
40
+ /**
41
+ * Return a standard 201 JSON response with the created resource.
42
+ */
43
+ export function created(c, data) {
44
+ return c.json(data, 201);
45
+ }
46
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/routes/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,CAAU,EACV,MAAoB;IAEpB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC;SACnE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,CAAC,CAAC,IAAI,CACd;gBACE,KAAK,EAAE,mBAAmB;gBAC1B,MAAM,EAAE,GAAG;gBACX,OAAO,EAAG,MAAM,CAAC,KAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACzD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;oBACtC,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC,CAAC;aACJ,EACD,GAAG,CACJ;SACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAU,EAAE,MAAc;IACjD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,CAAU,EAAE,IAAa;IAC/C,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC3B,CAAC"}
@@ -1,13 +1,15 @@
1
1
  /**
2
- * Lore Proxy Routes — proxies lesson CRUD and community search through LoreAdapter
2
+ * Lore Proxy Routes — read-only proxy to Lore v0.5.0 server for dashboard display.
3
+ *
4
+ * Routes:
5
+ * GET /api/lore/memories → list memories (paginated)
6
+ * GET /api/lore/memories/:id → single memory detail
7
+ * GET /api/lore/stats → aggregate stats by type
3
8
  */
4
9
  import { Hono } from 'hono';
5
10
  import type { AuthVariables } from '../middleware/auth.js';
6
- import type { LoreAdapter } from '../lib/lore-client.js';
7
- export declare function loreProxyRoutes(adapter: LoreAdapter): Hono<{
8
- Variables: AuthVariables;
9
- }, import("hono/types").BlankSchema, "/">;
10
- export declare function loreCommunityProxyRoutes(adapter: LoreAdapter): Hono<{
11
+ import { type LoreReadAdapter } from '../lib/lore-client.js';
12
+ export declare function loreProxyRoutes(adapter: LoreReadAdapter): Hono<{
11
13
  Variables: AuthVariables;
12
14
  }, import("hono/types").BlankSchema, "/">;
13
15
  //# sourceMappingURL=lore-proxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lore-proxy.d.ts","sourceRoot":"","sources":["../../src/routes/lore-proxy.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW;eAChB,aAAa;0CAyEhD;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,WAAW;eACzB,aAAa;0CAkHhD"}
1
+ {"version":3,"file":"lore-proxy.d.ts","sourceRoot":"","sources":["../../src/routes/lore-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExE,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe;eACpB,aAAa;0CA0DhD"}