@amodalai/runtime 0.2.10 → 0.3.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 (139) hide show
  1. package/dist/src/__fixtures__/e2e.test.js +2 -2
  2. package/dist/src/__fixtures__/e2e.test.js.map +1 -1
  3. package/dist/src/__fixtures__/smoke.test.js +0 -88
  4. package/dist/src/__fixtures__/smoke.test.js.map +1 -1
  5. package/dist/src/__tests__/studio-integration.test.js +298 -0
  6. package/dist/src/__tests__/studio-integration.test.js.map +1 -0
  7. package/dist/src/agent/agent-types.d.ts +4 -0
  8. package/dist/src/agent/feedback-store.d.ts +11 -10
  9. package/dist/src/agent/feedback-store.js +147 -75
  10. package/dist/src/agent/feedback-store.js.map +1 -1
  11. package/dist/src/agent/local-server.js +30 -111
  12. package/dist/src/agent/local-server.js.map +1 -1
  13. package/dist/src/agent/local-server.test.js +17 -1
  14. package/dist/src/agent/local-server.test.js.map +1 -1
  15. package/dist/src/agent/routes/context.d.ts +24 -0
  16. package/dist/src/agent/routes/context.js +30 -0
  17. package/dist/src/agent/routes/context.js.map +1 -0
  18. package/dist/src/agent/routes/feedback.js +28 -56
  19. package/dist/src/agent/routes/feedback.js.map +1 -1
  20. package/dist/src/api/create-agent.js +8 -4
  21. package/dist/src/api/create-agent.js.map +1 -1
  22. package/dist/src/api/types.d.ts +1 -1
  23. package/dist/src/channels/channel-session-mapper.js +1 -1
  24. package/dist/src/channels/channel-session-mapper.js.map +1 -1
  25. package/dist/src/config.d.ts +2 -2
  26. package/dist/src/config.js +2 -1
  27. package/dist/src/config.js.map +1 -1
  28. package/dist/src/config.test.js +1 -1
  29. package/dist/src/config.test.js.map +1 -1
  30. package/dist/src/errors.d.ts +2 -2
  31. package/dist/src/errors.js +2 -2
  32. package/dist/src/index.d.ts +0 -3
  33. package/dist/src/index.js +0 -3
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/session/drizzle-session-store.d.ts +4 -6
  36. package/dist/src/session/drizzle-session-store.js +15 -5
  37. package/dist/src/session/drizzle-session-store.js.map +1 -1
  38. package/dist/src/session/manager.js +1 -1
  39. package/dist/src/session/manager.test.js +7 -5
  40. package/dist/src/session/manager.test.js.map +1 -1
  41. package/dist/src/session/postgres-session-store.d.ts +3 -24
  42. package/dist/src/session/postgres-session-store.js +9 -128
  43. package/dist/src/session/postgres-session-store.js.map +1 -1
  44. package/dist/src/session/session-builder.d.ts +0 -4
  45. package/dist/src/session/session-builder.js +2 -9
  46. package/dist/src/session/session-builder.js.map +1 -1
  47. package/dist/src/session/session-builder.test.js +0 -25
  48. package/dist/src/session/session-builder.test.js.map +1 -1
  49. package/dist/src/session/session-store-selector.d.ts +11 -26
  50. package/dist/src/session/session-store-selector.js +3 -48
  51. package/dist/src/session/session-store-selector.js.map +1 -1
  52. package/dist/src/session/session-store-selector.test.js +5 -57
  53. package/dist/src/session/session-store-selector.test.js.map +1 -1
  54. package/dist/src/session/store.d.ts +8 -14
  55. package/dist/src/session/store.js +8 -10
  56. package/dist/src/session/store.js.map +1 -1
  57. package/dist/src/session/store.test.js +6 -126
  58. package/dist/src/session/store.test.js.map +1 -1
  59. package/dist/src/session/tool-context-factory.js +1 -1
  60. package/dist/src/session/tool-context-factory.js.map +1 -1
  61. package/dist/src/stores/drizzle-store-backend.d.ts +5 -0
  62. package/dist/src/stores/drizzle-store-backend.js +23 -3
  63. package/dist/src/stores/drizzle-store-backend.js.map +1 -1
  64. package/dist/src/stores/drizzle-store-backend.test.js +10 -58
  65. package/dist/src/stores/drizzle-store-backend.test.js.map +1 -1
  66. package/dist/src/stores/index.d.ts +0 -2
  67. package/dist/src/stores/index.js +0 -1
  68. package/dist/src/stores/index.js.map +1 -1
  69. package/dist/src/stores/postgres-store-backend.d.ts +5 -15
  70. package/dist/src/stores/postgres-store-backend.js +14 -72
  71. package/dist/src/stores/postgres-store-backend.js.map +1 -1
  72. package/dist/tsconfig.tsbuildinfo +1 -1
  73. package/package.json +4 -6
  74. package/dist/src/agent/automation-bridge.d.ts +0 -33
  75. package/dist/src/agent/automation-bridge.js +0 -50
  76. package/dist/src/agent/automation-bridge.js.map +0 -1
  77. package/dist/src/agent/automation-bridge.test.d.ts +0 -6
  78. package/dist/src/agent/automation-bridge.test.js +0 -130
  79. package/dist/src/agent/automation-bridge.test.js.map +0 -1
  80. package/dist/src/agent/eval-store.d.ts +0 -50
  81. package/dist/src/agent/eval-store.js +0 -137
  82. package/dist/src/agent/eval-store.js.map +0 -1
  83. package/dist/src/agent/proactive/delivery-router.d.ts +0 -68
  84. package/dist/src/agent/proactive/delivery-router.js +0 -337
  85. package/dist/src/agent/proactive/delivery-router.js.map +0 -1
  86. package/dist/src/agent/proactive/delivery-router.test.js +0 -455
  87. package/dist/src/agent/proactive/delivery-router.test.js.map +0 -1
  88. package/dist/src/agent/proactive/delivery.d.ts +0 -21
  89. package/dist/src/agent/proactive/delivery.js +0 -68
  90. package/dist/src/agent/proactive/delivery.js.map +0 -1
  91. package/dist/src/agent/proactive/delivery.test.d.ts +0 -6
  92. package/dist/src/agent/proactive/delivery.test.js +0 -65
  93. package/dist/src/agent/proactive/delivery.test.js.map +0 -1
  94. package/dist/src/agent/proactive/proactive-runner.d.ts +0 -129
  95. package/dist/src/agent/proactive/proactive-runner.js +0 -301
  96. package/dist/src/agent/proactive/proactive-runner.js.map +0 -1
  97. package/dist/src/agent/proactive/proactive-runner.test.d.ts +0 -6
  98. package/dist/src/agent/proactive/proactive-runner.test.js +0 -250
  99. package/dist/src/agent/proactive/proactive-runner.test.js.map +0 -1
  100. package/dist/src/agent/routes/admin-chat-abort.test.d.ts +0 -6
  101. package/dist/src/agent/routes/admin-chat-abort.test.js +0 -207
  102. package/dist/src/agent/routes/admin-chat-abort.test.js.map +0 -1
  103. package/dist/src/agent/routes/admin-chat.d.ts +0 -28
  104. package/dist/src/agent/routes/admin-chat.js +0 -110
  105. package/dist/src/agent/routes/admin-chat.js.map +0 -1
  106. package/dist/src/agent/routes/automations.d.ts +0 -19
  107. package/dist/src/agent/routes/automations.js +0 -86
  108. package/dist/src/agent/routes/automations.js.map +0 -1
  109. package/dist/src/agent/routes/automations.test.d.ts +0 -6
  110. package/dist/src/agent/routes/automations.test.js +0 -117
  111. package/dist/src/agent/routes/automations.test.js.map +0 -1
  112. package/dist/src/agent/routes/evals.d.ts +0 -17
  113. package/dist/src/agent/routes/evals.js +0 -389
  114. package/dist/src/agent/routes/evals.js.map +0 -1
  115. package/dist/src/agent/routes/webhooks.d.ts +0 -17
  116. package/dist/src/agent/routes/webhooks.js +0 -63
  117. package/dist/src/agent/routes/webhooks.js.map +0 -1
  118. package/dist/src/agent/routes/webhooks.test.d.ts +0 -6
  119. package/dist/src/agent/routes/webhooks.test.js +0 -100
  120. package/dist/src/agent/routes/webhooks.test.js.map +0 -1
  121. package/dist/src/session/pglite-session-store.d.ts +0 -23
  122. package/dist/src/session/pglite-session-store.js +0 -92
  123. package/dist/src/session/pglite-session-store.js.map +0 -1
  124. package/dist/src/stores/pglite-store-backend.d.ts +0 -39
  125. package/dist/src/stores/pglite-store-backend.js +0 -128
  126. package/dist/src/stores/pglite-store-backend.js.map +0 -1
  127. package/dist/src/stores/pglite-store-backend.test.d.ts +0 -6
  128. package/dist/src/stores/pglite-store-backend.test.js +0 -150
  129. package/dist/src/stores/pglite-store-backend.test.js.map +0 -1
  130. package/dist/src/stores/schema.d.ts +0 -593
  131. package/dist/src/stores/schema.js +0 -75
  132. package/dist/src/stores/schema.js.map +0 -1
  133. package/dist/src/tools/admin-file-tools.d.ts +0 -42
  134. package/dist/src/tools/admin-file-tools.js +0 -714
  135. package/dist/src/tools/admin-file-tools.js.map +0 -1
  136. package/dist/src/tools/admin-file-tools.test.d.ts +0 -6
  137. package/dist/src/tools/admin-file-tools.test.js +0 -523
  138. package/dist/src/tools/admin-file-tools.test.js.map +0 -1
  139. /package/dist/src/{agent/proactive/delivery-router.test.d.ts → __tests__/studio-integration.test.d.ts} +0 -0
@@ -47,23 +47,19 @@ import { ConfigWatcher } from './config-watcher.js';
47
47
  import { RuntimeEventBus } from '../events/event-bus.js';
48
48
  import { createEventsRouter } from '../events/events-route.js';
49
49
  import { wrapStoreBackendWithEvents } from '../events/store-event-wrapper.js';
50
- import { ProactiveRunner } from './proactive/proactive-runner.js';
51
50
  import { createChatStreamRouter } from '../routes/chat-stream.js';
52
51
  import { createChatRouter } from '../routes/chat.js';
53
- import { createAdminChatRouter } from './routes/admin-chat.js';
54
52
  import { createTaskRouter } from './routes/task.js';
55
53
  import { createInspectRouter } from './routes/inspect.js';
56
54
  import { createFeedbackRouter } from './routes/feedback.js';
57
55
  import { FeedbackStore } from './feedback-store.js';
58
- import { createAutomationRouter } from './routes/automations.js';
59
- import { createWebhookRouter } from './routes/webhooks.js';
60
56
  import { createStoresRouter } from './routes/stores.js';
61
57
  import { createFilesRouter } from './routes/files.js';
62
- import { createEvalRouter } from './routes/evals.js';
58
+ import { createContextRouter } from './routes/context.js';
63
59
  import { errorHandler } from '../middleware/error-handler.js';
64
60
  import { asyncHandler } from '../routes/route-helpers.js';
65
- import { createPGLiteStoreBackend } from '../stores/pglite-store-backend.js';
66
- import { EvalStore } from './eval-store.js';
61
+ import { createPostgresStoreBackend } from '../stores/postgres-store-backend.js';
62
+ import { getDb, ensureSchema, closeDb } from '@amodalai/db';
67
63
  import { buildPages } from './page-builder.js';
68
64
  import { LOCAL_APP_ID } from '../constants.js';
69
65
  import { log, createLogger } from '../logger.js';
@@ -165,77 +161,25 @@ export async function createLocalServer(config) {
165
161
  // Create custom tool executor
166
162
  const toolExecutor = bundle.tools.length > 0 ? new LocalToolExecutor() : undefined;
167
163
  // -------------------------------------------------------------------------
164
+ // Database initialization (shared Postgres via @amodalai/db)
165
+ // -------------------------------------------------------------------------
166
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- getDb returns Db which extends NodePgDatabase
167
+ const db = getDb();
168
+ await ensureSchema(db);
169
+ log.info('database_schema_ready', {});
170
+ // -------------------------------------------------------------------------
168
171
  // Store backend
169
172
  // -------------------------------------------------------------------------
170
173
  let storeBackend;
171
- let storeBackendType = 'none';
174
+ const storeBackendType = bundle.stores.length > 0 ? 'postgres' : 'none';
172
175
  if (bundle.stores.length > 0) {
173
- const storeConfig = bundle.config.stores;
174
- const backend = storeConfig?.backend ?? 'pglite';
175
- if (backend === 'postgres' && storeConfig?.postgresUrl) {
176
- const connUrl = resolveEnvRef(storeConfig.postgresUrl) ?? '';
177
- if (!connUrl) {
178
- log.error('store_postgres_url_missing', { configured: storeConfig.postgresUrl });
179
- }
180
- else {
181
- try {
182
- const pgModPath = ['..', 'stores', 'postgres-store-backend.js'].join('/');
183
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- dynamic import for optional postgres backend
184
- const mod = await import(pgModPath).catch(() => null);
185
- if (mod?.createPostgresStoreBackend) {
186
- storeBackend = await mod.createPostgresStoreBackend(bundle.stores, connUrl);
187
- storeBackendType = 'postgres';
188
- log.info('store_backend_ready', { type: 'postgres', storeCount: bundle.stores.length });
189
- }
190
- else {
191
- log.error('store_postgres_unavailable', { hint: 'install @amodalai/store-postgres' });
192
- }
193
- }
194
- catch (err) {
195
- log.error('store_postgres_failed', { error: err instanceof Error ? err.message : String(err) });
196
- log.info('store_fallback_pglite', {});
197
- }
198
- }
176
+ try {
177
+ storeBackend = await createPostgresStoreBackend(bundle.stores);
178
+ log.info('store_backend_ready', { type: 'postgres', storeCount: bundle.stores.length });
199
179
  }
200
- // Default: PGLite
201
- if (!storeBackend) {
202
- const dataDir = storeConfig?.dataDir ?? `${config.repoPath}/.amodal/store-data`;
203
- // Check for lock file — another instance may be using this data dir.
204
- // Lock file lives in the PARENT dir (not inside dataDir) so it doesn't
205
- // conflict with PGLite's own PostgreSQL data files (e.g. postmaster.pid).
206
- const lockPath = `${dataDir}.lock`;
207
- try {
208
- const { readFileSync, writeFileSync, mkdirSync, unlinkSync } = await import('node:fs');
209
- const path = await import('node:path');
210
- mkdirSync(path.dirname(dataDir), { recursive: true });
211
- try {
212
- const existing = readFileSync(lockPath, 'utf-8').trim();
213
- try {
214
- process.kill(Number(existing), 0);
215
- log.warn('store_lock_conflict', { pid: existing });
216
- }
217
- catch { /* PID not running — stale lock, safe to overwrite */ }
218
- }
219
- catch { /* No lock file exists — first run */ }
220
- writeFileSync(lockPath, String(process.pid));
221
- const lockCleanup = lockPath;
222
- process.on('exit', () => { try {
223
- unlinkSync(lockCleanup);
224
- }
225
- catch { /* exit handler — can't log */ } });
226
- }
227
- catch (err) {
228
- log.warn('store_lock_setup_failed', { dataDir, error: err instanceof Error ? err.message : String(err) });
229
- }
230
- try {
231
- storeBackend = await createPGLiteStoreBackend(bundle.stores, dataDir);
232
- storeBackendType = 'pglite';
233
- log.info('store_backend_ready', { type: 'pglite', storeCount: bundle.stores.length, dataDir });
234
- }
235
- catch (err) {
236
- const errMsg = err instanceof Error ? err.message : (typeof err === 'object' ? JSON.stringify(err) : String(err));
237
- log.error('store_backend_init_failed', { error: errMsg, dataDir });
238
- }
180
+ catch (err) {
181
+ const errMsg = err instanceof Error ? err.message : String(err);
182
+ log.error('store_backend_init_failed', { error: errMsg });
239
183
  }
240
184
  }
241
185
  // -------------------------------------------------------------------------
@@ -307,8 +251,8 @@ export async function createLocalServer(config) {
307
251
  };
308
252
  // Helper: get current bundle (updated by config watcher)
309
253
  const getBundle = () => bundle;
310
- // Helper: create automation session components
311
- const createAutomationSessionComponents = () => {
254
+ // Helper: create task session components
255
+ const createTaskSessionComponents = () => {
312
256
  const components = buildSessionComponents({
313
257
  bundle,
314
258
  storeBackend: storeBackend ?? null,
@@ -328,33 +272,15 @@ export async function createLocalServer(config) {
328
272
  return { session, toolContextFactory: components.toolContextFactory };
329
273
  };
330
274
  // -------------------------------------------------------------------------
331
- // Proactive runner
332
- // -------------------------------------------------------------------------
333
- const runner = new ProactiveRunner(bundle, {
334
- sessionManager,
335
- createSessionComponents: createAutomationSessionComponents,
336
- logger: log,
337
- webhookSecret: config.webhookSecret,
338
- summarizeToolResult: config.summarizeToolResult,
339
- onSessionComplete: (session, automationName) => {
340
- // Tag the automation name onto metadata so the UI can filter
341
- // sessions by automation via /sessions?automation=<name>.
342
- session.metadata.automationName = automationName;
343
- void sessionManager.persist(session);
344
- },
345
- eventBus,
346
- onAutomationResult: config.onAutomationResult,
347
- });
348
- // -------------------------------------------------------------------------
349
275
  // Channel plugins (messaging integrations)
350
276
  // -------------------------------------------------------------------------
351
277
  let channelsResult = null;
352
278
  if (bundle.channels && bundle.channels.length > 0) {
353
- // Both PGLite and Postgres factories return DrizzleSessionStore which
279
+ // The Postgres factory returns DrizzleSessionStore which
354
280
  // exposes `db` for sharing the connection pool with channel mappers.
355
281
  const { DrizzleSessionStore } = await import('../session/drizzle-session-store.js');
356
282
  if (!(sessionStore instanceof DrizzleSessionStore)) {
357
- throw new Error('Channels require a Drizzle-backed session store (pglite or postgres)');
283
+ throw new Error('Channels require a Drizzle-backed session store (postgres)');
358
284
  }
359
285
  const storeDb = sessionStore.db;
360
286
  const channelSessionMapper = new DrizzleChannelSessionMapper({
@@ -442,6 +368,12 @@ export async function createLocalServer(config) {
442
368
  }
443
369
  res.json(user);
444
370
  }));
371
+ // Runtime context — tells the SPA where Studio and admin agent live.
372
+ // Resolved from LocalServerConfig (which reads env vars at the boundary).
373
+ app.use(createContextRouter({
374
+ studioUrl: config.studioUrl ?? process.env['STUDIO_URL'] ?? null,
375
+ adminAgentUrl: config.adminAgentUrl ?? process.env['ADMIN_AGENT_URL'] ?? null,
376
+ }));
445
377
  // Unified config endpoint
446
378
  app.get('/api/config', (_req, res) => {
447
379
  const bundleData = getBundle();
@@ -583,11 +515,8 @@ export async function createLocalServer(config) {
583
515
  }));
584
516
  // Event bus SSE stream (live UI updates)
585
517
  app.use(createEventsRouter({ bus: eventBus, logger: log }));
586
- // Evals
587
- const evalStore = new EvalStore(config.repoPath);
588
- app.use(createEvalRouter({ getBundle, evalStore, repoPath: config.repoPath, getPort: () => config.port }));
589
518
  // Feedback
590
- const feedbackStore = new FeedbackStore(config.repoPath);
519
+ const feedbackStore = new FeedbackStore({ agentId: LOCAL_APP_ID });
591
520
  app.use(createFeedbackRouter({ feedbackStore }));
592
521
  // Chat routes (new stack) — persistence is handled inside runMessage /
593
522
  // route-helpers, so no explicit hooks are needed here.
@@ -604,19 +533,9 @@ export async function createLocalServer(config) {
604
533
  summarizeToolResult: config.summarizeToolResult,
605
534
  }));
606
535
  // Task runner
607
- app.use(createTaskRouter({ sessionManager, createTaskSession: createAutomationSessionComponents }));
608
- // Admin chat (new stack)
609
- app.use(createAdminChatRouter({
610
- sessionManager,
611
- shared,
612
- getBundle,
613
- getPort: () => config.port,
614
- }));
536
+ app.use(createTaskRouter({ sessionManager, createTaskSession: createTaskSessionComponents }));
615
537
  // Inspect
616
538
  app.use(createInspectRouter({ getBundle, repoPath: config.repoPath }));
617
- // Automations
618
- app.use(createAutomationRouter({ runner }));
619
- app.use(createWebhookRouter({ runner, webhookSecret: config.webhookSecret }));
620
539
  // Messaging channels
621
540
  if (channelsResult) {
622
541
  app.use('/channels', channelsResult.router);
@@ -694,7 +613,6 @@ export async function createLocalServer(config) {
694
613
  });
695
614
  },
696
615
  async stop() {
697
- runner.stop();
698
616
  if (watcher) {
699
617
  watcher.stop();
700
618
  watcher = null;
@@ -722,6 +640,7 @@ export async function createLocalServer(config) {
722
640
  if (storeBackend) {
723
641
  await storeBackend.close();
724
642
  }
643
+ await closeDb();
725
644
  log.info('server_stopped', {});
726
645
  },
727
646
  };
@@ -1 +1 @@
1
- {"version":3,"file":"local-server.js","sourceRoot":"","sources":["../../../src/agent/local-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-server.js","sourceRoot":"","sources":["../../../src/agent/local-server.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { mkdtempSync, rmSync } from 'node:fs';
8
8
  import { join } from 'node:path';
9
9
  import { tmpdir } from 'node:os';
10
10
  import { createLocalServer } from './local-server.js';
11
- // Use a real temp dir so PGLite session store can create its data files.
11
+ // Use a real temp dir for the test repo path.
12
12
  const TEST_REPO = mkdtempSync(join(tmpdir(), 'amodal-server-test-'));
13
13
  afterAll(() => { rmSync(TEST_REPO, { recursive: true, force: true }); });
14
14
  // Use vi.hoisted so mocks survive vi.restoreAllMocks() from global test-setup
@@ -18,6 +18,22 @@ const { mockLoadRepo, mockSetupSession, mockPrepareExploreConfig, mockPlanModeMa
18
18
  mockPrepareExploreConfig: vi.fn(),
19
19
  mockPlanModeManager: vi.fn(),
20
20
  }));
21
+ // Mock @amodalai/db so tests don't need a real Postgres connection
22
+ vi.mock('@amodalai/db', () => ({
23
+ getDb: vi.fn(() => ({})),
24
+ ensureSchema: vi.fn(async () => { }),
25
+ closeDb: vi.fn(async () => { }),
26
+ agentSessions: {},
27
+ channelSessions: {},
28
+ storeDocuments: {},
29
+ storeDocumentVersions: {},
30
+ feedback: {},
31
+ evalRuns: {},
32
+ studioDrafts: {},
33
+ notifyStoreUpdated: vi.fn(async () => { }),
34
+ notifySessionUpdated: vi.fn(async () => { }),
35
+ notifyFeedbackCreated: vi.fn(async () => { }),
36
+ }));
21
37
  vi.mock('@amodalai/core', async (importOriginal) => {
22
38
  const actual = await importOriginal();
23
39
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"local-server.test.js","sourceRoot":"","sources":["../../../src/agent/local-server.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-server.test.js","sourceRoot":"","sources":["../../../src/agent/local-server.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,QAAQ,CAAC;AACtE,OAAO,EAAC,WAAW,EAAE,MAAM,EAAC,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,8CAA8C;AAC9C,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC;AACrE,QAAQ,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvE,8EAA8E;AAC9E,MAAM,EAAC,YAAY,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,mBAAmB,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxG,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;IACrB,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE;IACzB,wBAAwB,EAAE,EAAE,CAAC,EAAE,EAAE;IACjC,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE;CAC7B,CAAC,CAAC,CAAC;AAEJ,mEAAmE;AACnE,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACxB,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;IACnC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;IAC9B,aAAa,EAAE,EAAE;IACjB,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE,EAAE;IAClB,qBAAqB,EAAE,EAAE;IACzB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,YAAY,EAAE,EAAE;IAChB,kBAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;IACzC,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;IAC3C,qBAAqB,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;CAC7C,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IACjD,MAAM,MAAM,GAAG,MAAM,cAAc,EAAmC,CAAC;IACvE,OAAO;QACL,GAAG,MAAM;QACT,QAAQ,EAAE,YAAY;QACtB,YAAY,EAAE,gBAAgB;QAC9B,oBAAoB,EAAE,wBAAwB;QAC9C,eAAe,EAAE,mBAAmB;QACpC,mBAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACtC,kBAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC;QACtD,qBAAqB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACtC,iCAAiC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QAClD,qBAAqB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;KAC5C,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG;IAChB,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,EAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,0BAA0B,EAAC,EAAC;KAC3E;IACD,WAAW,EAAE,IAAI,GAAG,EAAE;IACtB,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,WAAW,EAAE,EAAE;IACf,SAAS,EAAE,EAAE;IACb,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;CACX,CAAC;AAEF,SAAS,wBAAwB;IAC/B,YAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC1C,gBAAgB,CAAC,eAAe,CAAC;QAC/B,IAAI,EAAE,EAAC,WAAW,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAC;QAC5G,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAC;QAC/B,eAAe,EAAE,EAAE;QACnB,eAAe,EAAE,EAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAC,EAAE,QAAQ,EAAE,EAAE,EAAC;QACrI,cAAc,EAAE,EAAC,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAC,EAAE,QAAQ,EAAE,EAAE,EAAC;QACvI,cAAc,EAAE,EAAC,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAC;QAClE,SAAS,EAAE,EAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAC;QACnE,cAAc,EAAE,EAAE;QAClB,SAAS,EAAE,MAAM;QACjB,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC;IACH,wBAAwB,CAAC,eAAe,CAAC;QACvC,YAAY,EAAE,SAAS;QACvB,KAAK,EAAE,EAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAC;QAC7C,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAC;IACH,mBAAmB,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5C,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QAC5B,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;QACd,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,mBAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QACtC,sBAAsB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;KAC1C,CAAC,CAAC,CAAC;AACN,CAAC;AAED,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,wBAAwB,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;YACrC,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,CAAC;SACR,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QACjC,MAAM,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;YACrC,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,CAAC;SACR,CAAC,CAAC;QAEH,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;YAC7B,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;YACrC,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAEjC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;YACrC,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,CAAC;SACR,CAAC,CAAC;QAEH,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAE9D,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACxD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;YACrC,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,CAAC;SACR,CAAC,CAAC;QAEH,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;YACrC,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE;gBACZ,KAAK,CAAC,WAAW;oBACf,OAAO,EAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC;gBAC5C,CAAC;aACF;SACF,CAAC,CAAC;QAEH,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;YACrC,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE;gBACZ,KAAK,CAAC,WAAW;oBACf,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC,CAAC;QAEH,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YACvB,KAAK,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,yBAAyB,EAAC;SACrE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * GET /api/context
8
+ *
9
+ * Returns runtime context that the SPA needs to locate external services
10
+ * (Studio, admin agent). The URLs are resolved at server startup from
11
+ * LocalServerConfig, which reads them from environment variables at the
12
+ * boundary — business logic never touches process.env directly.
13
+ */
14
+ import { Router } from 'express';
15
+ export declare const CONTEXT_ROUTE: "/api/context";
16
+ export interface ContextResponse {
17
+ studioUrl: string | null;
18
+ adminAgentUrl: string | null;
19
+ }
20
+ export interface ContextRouterOptions {
21
+ studioUrl: string | null;
22
+ adminAgentUrl: string | null;
23
+ }
24
+ export declare function createContextRouter(options: ContextRouterOptions): Router;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * GET /api/context
8
+ *
9
+ * Returns runtime context that the SPA needs to locate external services
10
+ * (Studio, admin agent). The URLs are resolved at server startup from
11
+ * LocalServerConfig, which reads them from environment variables at the
12
+ * boundary — business logic never touches process.env directly.
13
+ */
14
+ import { Router } from 'express';
15
+ // ---------------------------------------------------------------------------
16
+ // Route path constant
17
+ // ---------------------------------------------------------------------------
18
+ export const CONTEXT_ROUTE = '/api/context';
19
+ export function createContextRouter(options) {
20
+ const router = Router();
21
+ const payload = {
22
+ studioUrl: options.studioUrl,
23
+ adminAgentUrl: options.adminAgentUrl,
24
+ };
25
+ router.get(CONTEXT_ROUTE, (_req, res) => {
26
+ res.json(payload);
27
+ });
28
+ return router;
29
+ }
30
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/agent/routes/context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AAEH,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAE/B,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,aAAa,GAAG,cAAuB,CAAC;AAoBrD,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAC/D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,MAAM,OAAO,GAAoB;QAC/B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC;IAEF,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACtC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -4,69 +4,41 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  */
6
6
  import { Router } from 'express';
7
+ import { asyncHandler } from '../../routes/route-helpers.js';
7
8
  export function createFeedbackRouter(options) {
8
9
  const router = Router();
9
10
  /** Save a feedback rating */
10
- router.post('/api/feedback', (req, res) => {
11
- try {
12
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- request body
13
- const body = (req.body ?? {});
14
- const sessionId = String(body['sessionId'] ?? '');
15
- const messageId = String(body['messageId'] ?? '');
16
- const rating = String(body['rating'] ?? '');
17
- const comment = body['comment'] ? String(body['comment']) : undefined;
18
- const query = String(body['query'] ?? '');
19
- const response = String(body['response'] ?? '');
20
- const toolCalls = Array.isArray(body['toolCalls']) ? body['toolCalls'].map(String) : undefined;
21
- const model = body['model'] ? String(body['model']) : undefined;
22
- if (!sessionId || !messageId) {
23
- res.status(400).json({ error: 'sessionId and messageId are required' });
24
- return;
25
- }
26
- if (rating !== 'up' && rating !== 'down') {
27
- res.status(400).json({ error: 'rating must be "up" or "down"' });
28
- return;
29
- }
30
- const entry = options.feedbackStore.save({
31
- sessionId,
32
- messageId,
33
- rating,
34
- comment,
35
- query,
36
- response: response.slice(0, 2000),
37
- toolCalls,
38
- model,
39
- });
40
- res.json({ ok: true, id: entry.id });
41
- }
42
- catch (err) {
43
- const msg = err instanceof Error ? err.message : String(err);
44
- res.status(500).json({ error: msg });
45
- }
46
- });
47
- /** List all feedback entries */
48
- router.get('/api/feedback', (_req, res) => {
49
- const limit = Number(_req.query['limit']) || 100;
50
- const entries = options.feedbackStore.list(limit);
51
- res.json({ entries });
52
- });
53
- /** Get feedback summary stats */
54
- router.get('/api/feedback/summary', (_req, res) => {
55
- const summary = options.feedbackStore.summary();
56
- res.json(summary);
57
- });
58
- /** Mark feedback entries as reviewed */
59
- router.post('/api/feedback/mark-reviewed', (req, res) => {
11
+ router.post('/api/feedback', asyncHandler(async (req, res) => {
60
12
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- request body
61
13
  const body = (req.body ?? {});
62
- const ids = Array.isArray(body['ids']) ? body['ids'].map(String) : [];
63
- if (ids.length === 0) {
64
- res.status(400).json({ error: 'ids array is required' });
14
+ const sessionId = String(body['sessionId'] ?? '');
15
+ const messageId = String(body['messageId'] ?? '');
16
+ const rating = String(body['rating'] ?? '');
17
+ const comment = body['comment'] ? String(body['comment']) : undefined;
18
+ const query = String(body['query'] ?? '');
19
+ const response = String(body['response'] ?? '');
20
+ const toolCalls = Array.isArray(body['toolCalls']) ? body['toolCalls'].map(String) : undefined;
21
+ const model = body['model'] ? String(body['model']) : undefined;
22
+ if (!sessionId || !messageId) {
23
+ res.status(400).json({ error: 'sessionId and messageId are required' });
24
+ return;
25
+ }
26
+ if (rating !== 'up' && rating !== 'down') {
27
+ res.status(400).json({ error: 'rating must be "up" or "down"' });
65
28
  return;
66
29
  }
67
- options.feedbackStore.markReviewed(ids);
68
- res.json({ ok: true, reviewed: ids.length });
69
- });
30
+ const entry = await options.feedbackStore.save({
31
+ sessionId,
32
+ messageId,
33
+ rating,
34
+ comment,
35
+ query,
36
+ response: response.slice(0, 2000),
37
+ toolCalls,
38
+ model,
39
+ });
40
+ res.json({ ok: true, id: entry.id });
41
+ }));
70
42
  return router;
71
43
  }
72
44
  //# sourceMappingURL=feedback.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../../../src/agent/routes/feedback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../../../src/agent/routes/feedback.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAE/B,OAAO,EAAC,YAAY,EAAC,MAAM,+BAA+B,CAAC;AAM3D,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IACjE,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,6BAA6B;IAC7B,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3D,uFAAuF;QACvF,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;QACzD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAEhD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,WAAW,CAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9G,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEhE,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,sCAAsC,EAAC,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACzC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,+BAA+B,EAAC,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC;YAC7C,SAAS;YACT,SAAS;YACT,MAAM;YACN,OAAO;YACP,KAAK;YACL,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;YACjC,SAAS;YACT,KAAK;SACN,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,EAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC,CAAC;IAEJ,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -8,7 +8,8 @@ import { StandaloneSessionManager } from '../session/manager.js';
8
8
  import { buildSessionComponents } from '../session/session-builder.js';
9
9
  import { LocalToolExecutor } from '../agent/tool-executor-local.js';
10
10
  import { buildMcpConfigs } from '../agent/mcp-config.js';
11
- import { createPGLiteStoreBackend } from '../stores/pglite-store-backend.js';
11
+ import { createPostgresStoreBackend } from '../stores/postgres-store-backend.js';
12
+ import { getDb, ensureSchema } from '@amodalai/db';
12
13
  import { createLogger } from '../logger.js';
13
14
  import { SessionError } from '../errors.js';
14
15
  const MCP_STARTUP_TIMEOUT_MS = 30_000;
@@ -27,11 +28,14 @@ export async function createAgent(config) {
27
28
  const logger = config.logger ?? createLogger({ component: 'agent' });
28
29
  // Load bundle
29
30
  const bundle = config.bundle ?? await loadRepo({ localPath: config.repoPath });
31
+ // Database initialization
32
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- getDb returns Db which extends NodePgDatabase
33
+ const db = getDb();
34
+ await ensureSchema(db);
30
35
  // Store backend
31
36
  let storeBackend = config.storeBackend ?? null;
32
- if (!storeBackend && bundle.stores.length > 0 && config.repoPath) {
33
- const dataDir = `${config.repoPath}/.amodal/store-data`;
34
- storeBackend = await createPGLiteStoreBackend(bundle.stores, dataDir);
37
+ if (!storeBackend && bundle.stores.length > 0) {
38
+ storeBackend = await createPostgresStoreBackend(bundle.stores);
35
39
  }
36
40
  // Tool executor
37
41
  const toolExecutor = bundle.tools.length > 0 ? new LocalToolExecutor() : undefined;