@inspectr/mcplab 0.1.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 (136) hide show
  1. package/README.md +762 -0
  2. package/dist/app/android-chrome-192x192.png +0 -0
  3. package/dist/app/android-chrome-512x512.png +0 -0
  4. package/dist/app/apple-touch-icon.png +0 -0
  5. package/dist/app/assets/index-DT-Z4AVG.js +249 -0
  6. package/dist/app/assets/index-EP4WAY8u.css +1 -0
  7. package/dist/app/favicon-16x16.png +0 -0
  8. package/dist/app/favicon-32x32.png +0 -0
  9. package/dist/app/favicon.svg +13 -0
  10. package/dist/app/index.html +26 -0
  11. package/dist/app/inspectr_logo_color.svg +9 -0
  12. package/dist/app/mcp.png +0 -0
  13. package/dist/app/mcp.svg +1 -0
  14. package/dist/app/robots.txt +14 -0
  15. package/dist/app/site.webmanifest +1 -0
  16. package/dist/app-server/app-context.d.ts +164 -0
  17. package/dist/app-server/app-context.d.ts.map +1 -0
  18. package/dist/app-server/app-context.js +2 -0
  19. package/dist/app-server/app-context.js.map +1 -0
  20. package/dist/app-server/assistant-common.d.ts +41 -0
  21. package/dist/app-server/assistant-common.d.ts.map +1 -0
  22. package/dist/app-server/assistant-common.js +104 -0
  23. package/dist/app-server/assistant-common.js.map +1 -0
  24. package/dist/app-server/config-store.d.ts +15 -0
  25. package/dist/app-server/config-store.d.ts.map +1 -0
  26. package/dist/app-server/config-store.js +67 -0
  27. package/dist/app-server/config-store.js.map +1 -0
  28. package/dist/app-server/dev-mcp.d.ts +6 -0
  29. package/dist/app-server/dev-mcp.d.ts.map +1 -0
  30. package/dist/app-server/dev-mcp.js +71 -0
  31. package/dist/app-server/dev-mcp.js.map +1 -0
  32. package/dist/app-server/evals-routes.d.ts +22 -0
  33. package/dist/app-server/evals-routes.d.ts.map +1 -0
  34. package/dist/app-server/evals-routes.js +135 -0
  35. package/dist/app-server/evals-routes.js.map +1 -0
  36. package/dist/app-server/http.d.ts +5 -0
  37. package/dist/app-server/http.d.ts.map +1 -0
  38. package/dist/app-server/http.js +31 -0
  39. package/dist/app-server/http.js.map +1 -0
  40. package/dist/app-server/index.d.ts +3 -0
  41. package/dist/app-server/index.d.ts.map +1 -0
  42. package/dist/app-server/index.js +2 -0
  43. package/dist/app-server/index.js.map +1 -0
  44. package/dist/app-server/jobs.d.ts +15 -0
  45. package/dist/app-server/jobs.d.ts.map +1 -0
  46. package/dist/app-server/jobs.js +11 -0
  47. package/dist/app-server/jobs.js.map +1 -0
  48. package/dist/app-server/libraries-store.d.ts +15 -0
  49. package/dist/app-server/libraries-store.d.ts.map +1 -0
  50. package/dist/app-server/libraries-store.js +61 -0
  51. package/dist/app-server/libraries-store.js.map +1 -0
  52. package/dist/app-server/markdown-reports.d.ts +12 -0
  53. package/dist/app-server/markdown-reports.d.ts.map +1 -0
  54. package/dist/app-server/markdown-reports.js +145 -0
  55. package/dist/app-server/markdown-reports.js.map +1 -0
  56. package/dist/app-server/oauth-debugger-domain.d.ts +230 -0
  57. package/dist/app-server/oauth-debugger-domain.d.ts.map +1 -0
  58. package/dist/app-server/oauth-debugger-domain.js +1098 -0
  59. package/dist/app-server/oauth-debugger-domain.js.map +1 -0
  60. package/dist/app-server/oauth-debugger.d.ts +20 -0
  61. package/dist/app-server/oauth-debugger.d.ts.map +1 -0
  62. package/dist/app-server/oauth-debugger.js +193 -0
  63. package/dist/app-server/oauth-debugger.js.map +1 -0
  64. package/dist/app-server/provider-models.d.ts +8 -0
  65. package/dist/app-server/provider-models.d.ts.map +1 -0
  66. package/dist/app-server/provider-models.js +60 -0
  67. package/dist/app-server/provider-models.js.map +1 -0
  68. package/dist/app-server/result-assistant-domain.d.ts +87 -0
  69. package/dist/app-server/result-assistant-domain.d.ts.map +1 -0
  70. package/dist/app-server/result-assistant-domain.js +212 -0
  71. package/dist/app-server/result-assistant-domain.js.map +1 -0
  72. package/dist/app-server/result-assistant.d.ts +22 -0
  73. package/dist/app-server/result-assistant.d.ts.map +1 -0
  74. package/dist/app-server/result-assistant.js +328 -0
  75. package/dist/app-server/result-assistant.js.map +1 -0
  76. package/dist/app-server/router.d.ts +4 -0
  77. package/dist/app-server/router.d.ts.map +1 -0
  78. package/dist/app-server/router.js +374 -0
  79. package/dist/app-server/router.js.map +1 -0
  80. package/dist/app-server/runs-routes.d.ts +44 -0
  81. package/dist/app-server/runs-routes.d.ts.map +1 -0
  82. package/dist/app-server/runs-routes.js +555 -0
  83. package/dist/app-server/runs-routes.js.map +1 -0
  84. package/dist/app-server/runs-store.d.ts +23 -0
  85. package/dist/app-server/runs-store.d.ts.map +1 -0
  86. package/dist/app-server/runs-store.js +84 -0
  87. package/dist/app-server/runs-store.js.map +1 -0
  88. package/dist/app-server/scenario-assistant-domain.d.ts +162 -0
  89. package/dist/app-server/scenario-assistant-domain.d.ts.map +1 -0
  90. package/dist/app-server/scenario-assistant-domain.js +269 -0
  91. package/dist/app-server/scenario-assistant-domain.js.map +1 -0
  92. package/dist/app-server/scenario-assistant.d.ts +29 -0
  93. package/dist/app-server/scenario-assistant.d.ts.map +1 -0
  94. package/dist/app-server/scenario-assistant.js +246 -0
  95. package/dist/app-server/scenario-assistant.js.map +1 -0
  96. package/dist/app-server/settings-store.d.ts +4 -0
  97. package/dist/app-server/settings-store.d.ts.map +1 -0
  98. package/dist/app-server/settings-store.js +32 -0
  99. package/dist/app-server/settings-store.js.map +1 -0
  100. package/dist/app-server/snapshots-routes.d.ts +24 -0
  101. package/dist/app-server/snapshots-routes.d.ts.map +1 -0
  102. package/dist/app-server/snapshots-routes.js +82 -0
  103. package/dist/app-server/snapshots-routes.js.map +1 -0
  104. package/dist/app-server/static-serving.d.ts +17 -0
  105. package/dist/app-server/static-serving.d.ts.map +1 -0
  106. package/dist/app-server/static-serving.js +64 -0
  107. package/dist/app-server/static-serving.js.map +1 -0
  108. package/dist/app-server/store-utils.d.ts +5 -0
  109. package/dist/app-server/store-utils.d.ts.map +1 -0
  110. package/dist/app-server/store-utils.js +26 -0
  111. package/dist/app-server/store-utils.js.map +1 -0
  112. package/dist/app-server/tool-analysis-domain.d.ts +146 -0
  113. package/dist/app-server/tool-analysis-domain.d.ts.map +1 -0
  114. package/dist/app-server/tool-analysis-domain.js +556 -0
  115. package/dist/app-server/tool-analysis-domain.js.map +1 -0
  116. package/dist/app-server/tool-analysis-storage.d.ts +41 -0
  117. package/dist/app-server/tool-analysis-storage.d.ts.map +1 -0
  118. package/dist/app-server/tool-analysis-storage.js +110 -0
  119. package/dist/app-server/tool-analysis-storage.js.map +1 -0
  120. package/dist/app-server/tool-analysis.d.ts +22 -0
  121. package/dist/app-server/tool-analysis.d.ts.map +1 -0
  122. package/dist/app-server/tool-analysis.js +271 -0
  123. package/dist/app-server/tool-analysis.js.map +1 -0
  124. package/dist/app-server/types.d.ts +28 -0
  125. package/dist/app-server/types.d.ts.map +1 -0
  126. package/dist/app-server/types.js +2 -0
  127. package/dist/app-server/types.js.map +1 -0
  128. package/dist/cli.d.ts +3 -0
  129. package/dist/cli.d.ts.map +1 -0
  130. package/dist/cli.js +544 -0
  131. package/dist/cli.js.map +1 -0
  132. package/dist/snapshot.d.ts +80 -0
  133. package/dist/snapshot.d.ts.map +1 -0
  134. package/dist/snapshot.js +401 -0
  135. package/dist/snapshot.js.map +1 -0
  136. package/package.json +55 -0
@@ -0,0 +1,374 @@
1
+ import 'dotenv/config';
2
+ import { existsSync, mkdirSync, readFileSync } from 'node:fs';
3
+ import { createServer } from 'node:http';
4
+ import { dirname, join, resolve } from 'node:path';
5
+ import { spawn } from 'node:child_process';
6
+ import { fileURLToPath } from 'node:url';
7
+ import { chatWithAgent, expandConfigForAgents } from '@inspectr/mcplab-core';
8
+ import { asJson, asText, parseBody } from './http.js';
9
+ import { addJobEvent, sendSseEvent } from './jobs.js';
10
+ import { maybeStartDevMcpServer } from './dev-mcp.js';
11
+ import { applySettingsOverrides, persistSettingsOverrides } from './settings-store.js';
12
+ import { proxyToVite, serveStatic } from './static-serving.js';
13
+ import { readConfigRecord, readConfigRecordOrInvalid, listConfigs } from './config-store.js';
14
+ import { readLibraries, writeLibraries } from './libraries-store.js';
15
+ import { listRuns, getRunResults, selectScenarioIds, getScenarioRunTraceRecords } from './runs-store.js';
16
+ import { decodeEvalId, ensureInsideRoot, safeFileName } from './store-utils.js';
17
+ import { handleToolAnalysisRoutes } from './tool-analysis.js';
18
+ import { handleMarkdownReportsRoutes } from './markdown-reports.js';
19
+ import { handleOAuthDebuggerRoutes } from './oauth-debugger.js';
20
+ import { handleScenarioAssistantRoutes } from './scenario-assistant.js';
21
+ import { handleResultAssistantRoutes } from './result-assistant.js';
22
+ import { handleSnapshotsRoutes } from './snapshots-routes.js';
23
+ import { handleEvalsRoutes } from './evals-routes.js';
24
+ import { handleRunsRoutes } from './runs-routes.js';
25
+ import { fetchProviderModels } from './provider-models.js';
26
+ import { cleanupAssistantSessions, touchAssistantSession, assistantSessionView, preloadAssistantTools, continueAssistantTurn, executeAssistantToolCall, summarizeToolResultForAssistant, resolveAssistantAgentFromConfig, resolveAssistantAgentFromLibraries, pickDefaultAssistantAgentName } from './scenario-assistant-domain.js';
27
+ import { discoverMcpToolsForServers, runToolAnalysisJob } from './tool-analysis-domain.js';
28
+ import { cleanupOAuthDebuggerSessions, oauthDebuggerSessionView, createOAuthDebuggerSession, startOrResumeOAuthDebuggerSession, submitManualCallbackToSession, submitBrowserCallbackToSession, stopOAuthDebuggerSession, oauthDebuggerExportMarkdown, oauthDebuggerExportRawTrace } from './oauth-debugger-domain.js';
29
+ import { applySnapshotPolicyToRunResult, buildSnapshotFromRun, compareRunToSnapshot, listSnapshots, loadSnapshot, saveSnapshot } from '../snapshot.js';
30
+ const pkgVersion = JSON.parse(readFileSync(new URL('../../package.json', import.meta.url), 'utf8'))
31
+ ?.version;
32
+ function resolveRunSelectedAgents(config, requestedAgents) {
33
+ if (requestedAgents && requestedAgents.length > 0)
34
+ return requestedAgents;
35
+ return config.run_defaults?.selected_agents;
36
+ }
37
+ function startBrowser(url) {
38
+ const platform = process.platform;
39
+ if (platform === 'darwin') {
40
+ spawn('open', [url], { stdio: 'ignore', detached: true }).unref();
41
+ return;
42
+ }
43
+ if (platform === 'win32') {
44
+ spawn('cmd', ['/c', 'start', url], { stdio: 'ignore', detached: true }).unref();
45
+ return;
46
+ }
47
+ spawn('xdg-open', [url], { stdio: 'ignore', detached: true }).unref();
48
+ }
49
+ function defaultNewRunsDir(workspaceRoot) {
50
+ return resolve(workspaceRoot, 'mcplab/results/evaluation-runs');
51
+ }
52
+ function defaultNewToolAnalysisResultsDir(workspaceRoot) {
53
+ return resolve(workspaceRoot, 'mcplab/results/tool-analysis');
54
+ }
55
+ function defaultLegacyToolAnalysisResultsDir(workspaceRoot) {
56
+ return resolve(workspaceRoot, 'mcplab/tool-analysis-results');
57
+ }
58
+ export async function startAppServer(options) {
59
+ const workspaceRoot = process.cwd();
60
+ const settings = {
61
+ workspaceRoot,
62
+ evalsDir: resolve(options.evalsDir),
63
+ runsDir: resolve(options.runsDir),
64
+ snapshotsDir: resolve(options.snapshotsDir),
65
+ toolAnalysisResultsDir: resolve(options.toolAnalysisResultsDir),
66
+ librariesDir: resolve(options.librariesDir)
67
+ };
68
+ mkdirSync(settings.evalsDir, { recursive: true });
69
+ mkdirSync(settings.runsDir, { recursive: true });
70
+ mkdirSync(settings.snapshotsDir, { recursive: true });
71
+ mkdirSync(settings.toolAnalysisResultsDir, { recursive: true });
72
+ mkdirSync(settings.librariesDir, { recursive: true });
73
+ mkdirSync(join(settings.librariesDir, 'scenarios'), { recursive: true });
74
+ applySettingsOverrides(settings);
75
+ const appDist = resolveAppDist(workspaceRoot);
76
+ const viteDevTarget = 'http://127.0.0.1:8685';
77
+ const devMcp = await maybeStartDevMcpServer(workspaceRoot, options.dev);
78
+ const jobs = new Map();
79
+ const toolAnalysisJobs = new Map();
80
+ const oauthDebuggerSessions = new Map();
81
+ const assistantSessions = new Map();
82
+ const resultAssistantSessions = new Map();
83
+ let activeJobId = null;
84
+ const routeDeps = {
85
+ parseBody,
86
+ asJson,
87
+ asText,
88
+ addJobEvent,
89
+ sendSseEvent,
90
+ readLibraries,
91
+ discoverMcpToolsForServers,
92
+ runToolAnalysisJob,
93
+ cleanupOAuthDebuggerSessions,
94
+ oauthDebuggerSessionView,
95
+ createOAuthDebuggerSession,
96
+ startOrResumeOAuthDebuggerSession,
97
+ submitManualCallbackToSession,
98
+ submitBrowserCallbackToSession,
99
+ stopOAuthDebuggerSession,
100
+ oauthDebuggerExportMarkdown,
101
+ oauthDebuggerExportRawTrace,
102
+ cleanupAssistantSessions,
103
+ touchAssistantSession,
104
+ assistantSessionView,
105
+ ensureInsideRoot,
106
+ pickDefaultAssistantAgentName,
107
+ resolveAssistantAgentFromConfig,
108
+ resolveAssistantAgentFromLibraries,
109
+ preloadAssistantTools,
110
+ continueAssistantTurn,
111
+ executeAssistantToolCall,
112
+ summarizeToolResultForAssistant,
113
+ listSnapshots,
114
+ buildSnapshotFromRun,
115
+ saveSnapshot,
116
+ loadSnapshot,
117
+ compareRunToSnapshot,
118
+ getRunResults,
119
+ decodeEvalId,
120
+ readConfigRecord,
121
+ listConfigs,
122
+ safeFileName,
123
+ readConfigRecordOrInvalid,
124
+ listRuns,
125
+ getScenarioRunTraceRecords,
126
+ selectScenarioIds,
127
+ expandConfigForAgents,
128
+ resolveRunSelectedAgents,
129
+ applySnapshotPolicyToRunResult,
130
+ chatWithAgent,
131
+ pkgVersion
132
+ };
133
+ const server = createServer(async (req, res) => {
134
+ try {
135
+ res.setHeader('Access-Control-Allow-Origin', '*');
136
+ res.setHeader('Access-Control-Allow-Methods', 'GET,POST,PUT,DELETE,OPTIONS');
137
+ res.setHeader('Access-Control-Allow-Headers', 'Content-Type, MCP-Session-Id, Last-Event-ID, Accept');
138
+ if (req.method === 'OPTIONS') {
139
+ res.statusCode = 204;
140
+ res.end();
141
+ return;
142
+ }
143
+ const url = new URL(req.url ?? '/', `http://${req.headers.host ?? 'localhost'}`);
144
+ const pathname = url.pathname;
145
+ const method = req.method ?? 'GET';
146
+ if (devMcp &&
147
+ pathname === devMcp.path &&
148
+ (method === 'GET' || method === 'POST' || method === 'DELETE')) {
149
+ await proxyToVite(req, res, devMcp.targetBaseUrl, pathname, url.search);
150
+ return;
151
+ }
152
+ if (pathname === '/api/health' && method === 'GET') {
153
+ asJson(res, 200, {
154
+ ok: true,
155
+ version: pkgVersion,
156
+ mcp: devMcp
157
+ ? {
158
+ enabled: true,
159
+ transport: 'streamable-http',
160
+ endpoint: `http://${options.host}:${options.port}${devMcp.path}`,
161
+ upstream: `${devMcp.targetBaseUrl}${devMcp.path}`
162
+ }
163
+ : { enabled: false }
164
+ });
165
+ return;
166
+ }
167
+ if (pathname === '/api/providers/models' && method === 'GET') {
168
+ const provider = String(url.searchParams.get('provider') ?? '').trim();
169
+ if (!provider) {
170
+ asJson(res, 400, { error: 'provider is required (anthropic|openai|azure)' });
171
+ return;
172
+ }
173
+ try {
174
+ asJson(res, 200, await fetchProviderModels(provider));
175
+ }
176
+ catch (error) {
177
+ asJson(res, 400, {
178
+ error: error instanceof Error ? error.message : String(error)
179
+ });
180
+ }
181
+ return;
182
+ }
183
+ if (pathname === '/api/settings' && method === 'GET') {
184
+ asJson(res, 200, settings);
185
+ return;
186
+ }
187
+ if (pathname === '/api/settings' && method === 'PUT') {
188
+ const body = await parseBody(req);
189
+ if (body.evalsDir) {
190
+ settings.evalsDir = resolve(String(body.evalsDir));
191
+ mkdirSync(settings.evalsDir, { recursive: true });
192
+ }
193
+ if (body.runsDir) {
194
+ settings.runsDir = resolve(String(body.runsDir));
195
+ mkdirSync(settings.runsDir, { recursive: true });
196
+ }
197
+ if (body.snapshotsDir) {
198
+ settings.snapshotsDir = resolve(String(body.snapshotsDir));
199
+ mkdirSync(settings.snapshotsDir, { recursive: true });
200
+ }
201
+ if (body.librariesDir) {
202
+ settings.librariesDir = resolve(String(body.librariesDir));
203
+ mkdirSync(settings.librariesDir, { recursive: true });
204
+ mkdirSync(join(settings.librariesDir, 'scenarios'), { recursive: true });
205
+ applySettingsOverrides(settings);
206
+ }
207
+ if (Object.prototype.hasOwnProperty.call(body, 'scenarioAssistantAgentName')) {
208
+ const next = String(body.scenarioAssistantAgentName ?? '').trim();
209
+ settings.scenarioAssistantAgentName = next || undefined;
210
+ persistSettingsOverrides(settings);
211
+ }
212
+ asJson(res, 200, settings);
213
+ return;
214
+ }
215
+ if (pathname === '/api/libraries' && method === 'GET') {
216
+ asJson(res, 200, readLibraries(settings.librariesDir));
217
+ return;
218
+ }
219
+ if (pathname === '/api/libraries' && method === 'PUT') {
220
+ const body = await parseBody(req);
221
+ writeLibraries(settings.librariesDir, {
222
+ servers: body.servers ?? {},
223
+ agents: body.agents ?? {},
224
+ scenarios: body.scenarios ?? []
225
+ });
226
+ asJson(res, 200, { ok: true });
227
+ return;
228
+ }
229
+ if (await handleOAuthDebuggerRoutes({
230
+ req,
231
+ res,
232
+ pathname,
233
+ method,
234
+ settings,
235
+ oauthDebuggerSessions,
236
+ deps: routeDeps
237
+ })) {
238
+ return;
239
+ }
240
+ if (await handleMarkdownReportsRoutes({
241
+ req,
242
+ res,
243
+ pathname,
244
+ method,
245
+ settings,
246
+ deps: routeDeps
247
+ })) {
248
+ return;
249
+ }
250
+ if (await handleToolAnalysisRoutes({
251
+ req,
252
+ res,
253
+ pathname,
254
+ method,
255
+ settings,
256
+ toolAnalysisJobs,
257
+ deps: routeDeps
258
+ })) {
259
+ return;
260
+ }
261
+ if (await handleResultAssistantRoutes({
262
+ req,
263
+ res,
264
+ pathname,
265
+ method,
266
+ settings,
267
+ resultAssistantSessions,
268
+ deps: routeDeps
269
+ })) {
270
+ return;
271
+ }
272
+ if (await handleScenarioAssistantRoutes({
273
+ req,
274
+ res,
275
+ pathname,
276
+ method,
277
+ settings,
278
+ assistantSessions,
279
+ deps: routeDeps
280
+ })) {
281
+ return;
282
+ }
283
+ if (await handleSnapshotsRoutes({
284
+ req,
285
+ res,
286
+ pathname,
287
+ method,
288
+ settings,
289
+ deps: routeDeps
290
+ })) {
291
+ return;
292
+ }
293
+ if (await handleEvalsRoutes({
294
+ req,
295
+ res,
296
+ pathname,
297
+ method,
298
+ settings,
299
+ deps: routeDeps
300
+ })) {
301
+ return;
302
+ }
303
+ if (await handleRunsRoutes({
304
+ req,
305
+ res,
306
+ pathname,
307
+ method,
308
+ settings,
309
+ jobs,
310
+ activeJobState: {
311
+ get: () => activeJobId,
312
+ set: (value) => {
313
+ activeJobId = value;
314
+ }
315
+ },
316
+ deps: routeDeps
317
+ })) {
318
+ return;
319
+ }
320
+ if (pathname.startsWith('/api/')) {
321
+ asJson(res, 404, { error: 'Not found' });
322
+ return;
323
+ }
324
+ if (options.dev) {
325
+ await proxyToVite(req, res, viteDevTarget, pathname, url.search);
326
+ return;
327
+ }
328
+ serveStatic({
329
+ appDist,
330
+ pathname,
331
+ res,
332
+ ensureInsideRoot,
333
+ asText
334
+ });
335
+ }
336
+ catch (error) {
337
+ asJson(res, 500, {
338
+ error: error instanceof Error ? error.message : String(error)
339
+ });
340
+ }
341
+ });
342
+ await new Promise((resolveReady) => {
343
+ server.listen(options.port, options.host, () => resolveReady());
344
+ });
345
+ server.on('close', () => {
346
+ devMcp?.stop();
347
+ });
348
+ const url = `http://${options.host}:${options.port}`;
349
+ const logPath = (label, value) => {
350
+ // Keep startup paths visually aligned in terminal output.
351
+ console.log(` ${label.padEnd(8)}\t${value}`);
352
+ };
353
+ // eslint-disable-next-line no-console
354
+ console.log(`mcplab app running at ${url}`);
355
+ logPath('evals:', settings.evalsDir);
356
+ logPath('runs:', settings.runsDir);
357
+ logPath('analysis:', settings.toolAnalysisResultsDir);
358
+ logPath('libs:', settings.librariesDir);
359
+ if (devMcp) {
360
+ logPath('mcp:', `${url}${devMcp.path} -> ${devMcp.targetBaseUrl}${devMcp.path}`);
361
+ }
362
+ if (options.open) {
363
+ startBrowser(url);
364
+ }
365
+ }
366
+ function resolveAppDist(workspaceRoot) {
367
+ const repoAppDist = resolve(workspaceRoot, 'packages', 'app', 'dist');
368
+ if (existsSync(repoAppDist))
369
+ return repoAppDist;
370
+ // When installed from npm, serve the packaged frontend bundled into CLI dist/app.
371
+ const thisFileDir = dirname(fileURLToPath(import.meta.url));
372
+ return resolve(thisFileDir, '..', 'app');
373
+ }
374
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/app-server/router.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AACvB,OAAO,EACL,UAAU,EACV,SAAS,EAET,YAAY,EAMb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAA6C,MAAM,WAAW,CAAC;AACpF,OAAO,EAAY,OAAO,EAAuB,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAClF,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAUzC,OAAO,EACL,aAAa,EACb,qBAAqB,EAItB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EACL,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,0BAA0B,EAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,+BAA+B,EAC/B,+BAA+B,EAC/B,kCAAkC,EAClC,6BAA6B,EAE9B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAEnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,6BAA6B,EAC7B,8BAA8B,EAC9B,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,YAAY,EACb,MAAM,gBAAgB,CAAC;AAExB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACjG,EAAE,OAAiB,CAAC;AAgBtB,SAAS,wBAAwB,CAC/B,MAAkB,EAClB,eAA0B;IAE1B,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,eAAe,CAAC;IAC1E,OAAO,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC;AAC9C,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAClE,OAAO;IACT,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAChF,OAAO;IACT,CAAC;IACD,KAAK,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,iBAAiB,CAAC,aAAqB;IAC9C,OAAO,OAAO,CAAC,aAAa,EAAE,gCAAgC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,gCAAgC,CAAC,aAAqB;IAC7D,OAAO,OAAO,CAAC,aAAa,EAAE,8BAA8B,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,mCAAmC,CAAC,aAAqB;IAChE,OAAO,OAAO,CAAC,aAAa,EAAE,8BAA8B,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAyB;IAC5D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAgB;QAC5B,aAAa;QACb,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QACjC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;QAC3C,sBAAsB,EAAE,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC;QAC/D,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;KAC5C,CAAC;IACF,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAEjC,MAAM,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,uBAAuB,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC5D,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAgC,CAAC;IACtE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAoC,CAAC;IACtE,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC1E,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,MAAM,SAAS,GAAiB;QAC9B,SAAS;QACT,MAAM;QACN,MAAM;QACN,WAAW;QACX,YAAY;QACZ,aAAa;QACb,0BAA0B;QAC1B,kBAAkB;QAClB,4BAA4B;QAC5B,wBAAwB;QACxB,0BAA0B;QAC1B,iCAAiC;QACjC,6BAA6B;QAC7B,8BAA8B;QAC9B,wBAAwB;QACxB,2BAA2B;QAC3B,2BAA2B;QAC3B,wBAAwB;QACxB,qBAAqB;QACrB,oBAAoB;QACpB,gBAAgB;QAChB,6BAA6B;QAC7B,+BAA+B;QAC/B,kCAAkC;QAClC,qBAAqB;QACrB,qBAAqB;QACrB,wBAAwB;QACxB,+BAA+B;QAC/B,aAAa;QACb,oBAAoB;QACpB,YAAY;QACZ,YAAY;QACZ,oBAAoB;QACpB,aAAa;QACb,YAAY;QACZ,gBAAgB;QAChB,WAAW;QACX,YAAY;QACZ,yBAAyB;QACzB,QAAQ;QACR,0BAA0B;QAC1B,iBAAiB;QACjB,qBAAqB;QACrB,wBAAwB;QACxB,8BAA8B;QAC9B,aAAa;QACb,UAAU;KACX,CAAC;IAEF,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,IAAI,CAAC;YACH,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YAClD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,6BAA6B,CAAC,CAAC;YAC7E,GAAG,CAAC,SAAS,CACX,8BAA8B,EAC9B,qDAAqD,CACtD,CAAC;YACF,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC;YACjF,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;YAEnC,IACE,MAAM;gBACN,QAAQ,KAAK,MAAM,CAAC,IAAI;gBACxB,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAC,EAC9D,CAAC;gBACD,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxE,OAAO;YACT,CAAC;YAED,IAAI,QAAQ,KAAK,aAAa,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACnD,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE;oBACf,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,UAAU;oBACnB,GAAG,EAAE,MAAM;wBACT,CAAC,CAAC;4BACE,OAAO,EAAE,IAAI;4BACb,SAAS,EAAE,iBAAiB;4BAC5B,QAAQ,EAAE,UAAU,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE;4BAChE,QAAQ,EAAE,GAAG,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE;yBAClD;wBACH,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;iBACvB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,IAAI,QAAQ,KAAK,uBAAuB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,+CAA+C,EAAE,CAAC,CAAC;oBAC7E,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxD,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACxB,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE;wBACf,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9D,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,QAAQ,KAAK,eAAe,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrD,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,IAAI,QAAQ,KAAK,eAAe,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACnD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpD,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBACjD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnD,CAAC;gBACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC3D,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxD,CAAC;gBACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC3D,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACtD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;gBACnC,CAAC;gBACD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,4BAA4B,CAAC,EAAE,CAAC;oBAC7E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAClE,QAAQ,CAAC,0BAA0B,GAAG,IAAI,IAAI,SAAS,CAAC;oBACxD,wBAAwB,CAAC,QAAQ,CAAC,CAAC;gBACrC,CAAC;gBACD,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,IAAI,QAAQ,KAAK,gBAAgB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACtD,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;gBACvD,OAAO;YACT,CAAC;YAED,IAAI,QAAQ,KAAK,gBAAgB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACtD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;gBAClC,cAAc,CAAC,QAAQ,CAAC,YAAY,EAAE;oBACpC,OAAO,EAAG,IAAI,CAAC,OAAiC,IAAI,EAAE;oBACtD,MAAM,EAAG,IAAI,CAAC,MAA+B,IAAI,EAAE;oBACnD,SAAS,EAAG,IAAI,CAAC,SAAqC,IAAI,EAAE;iBAC7D,CAAC,CAAC;gBACH,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;YAED,IACE,MAAM,yBAAyB,CAAC;gBAC9B,GAAG;gBACH,GAAG;gBACH,QAAQ;gBACR,MAAM;gBACN,QAAQ;gBACR,qBAAqB;gBACrB,IAAI,EAAE,SAAS;aAChB,CAAC,EACF,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IACE,MAAM,2BAA2B,CAAC;gBAChC,GAAG;gBACH,GAAG;gBACH,QAAQ;gBACR,MAAM;gBACN,QAAQ;gBACR,IAAI,EAAE,SAAS;aAChB,CAAC,EACF,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IACE,MAAM,wBAAwB,CAAC;gBAC7B,GAAG;gBACH,GAAG;gBACH,QAAQ;gBACR,MAAM;gBACN,QAAQ;gBACR,gBAAgB;gBAChB,IAAI,EAAE,SAAS;aAChB,CAAC,EACF,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IACE,MAAM,2BAA2B,CAAC;gBAChC,GAAG;gBACH,GAAG;gBACH,QAAQ;gBACR,MAAM;gBACN,QAAQ;gBACR,uBAAuB;gBACvB,IAAI,EAAE,SAAS;aAChB,CAAC,EACF,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IACE,MAAM,6BAA6B,CAAC;gBAClC,GAAG;gBACH,GAAG;gBACH,QAAQ;gBACR,MAAM;gBACN,QAAQ;gBACR,iBAAiB;gBACjB,IAAI,EAAE,SAAS;aAChB,CAAC,EACF,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IACE,MAAM,qBAAqB,CAAC;gBAC1B,GAAG;gBACH,GAAG;gBACH,QAAQ;gBACR,MAAM;gBACN,QAAQ;gBACR,IAAI,EAAE,SAAS;aAChB,CAAC,EACF,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IACE,MAAM,iBAAiB,CAAC;gBACtB,GAAG;gBACH,GAAG;gBACH,QAAQ;gBACR,MAAM;gBACN,QAAQ;gBACR,IAAI,EAAE,SAAS;aAChB,CAAC,EACF,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IACE,MAAM,gBAAgB,CAAC;gBACrB,GAAG;gBACH,GAAG;gBACH,QAAQ;gBACR,MAAM;gBACN,QAAQ;gBACR,IAAI;gBACJ,cAAc,EAAE;oBACd,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW;oBACtB,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;wBACb,WAAW,GAAG,KAAK,CAAC;oBACtB,CAAC;iBACF;gBACD,IAAI,EAAE,SAAS;aAChB,CAAC,EACF,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBACjE,OAAO;YACT,CAAC;YAED,WAAW,CAAC;gBACV,OAAO;gBACP,QAAQ;gBACR,GAAG;gBACH,gBAAgB;gBAChB,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE;gBACf,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAO,CAAC,YAAY,EAAE,EAAE;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACtB,MAAM,EAAE,IAAI,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,UAAU,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE;QAC/C,0DAA0D;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC;IACF,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACtD,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,YAAY,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,aAAqB;IAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACtE,IAAI,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAC;IAEhD,kFAAkF;IAClF,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,OAAO,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,44 @@
1
+ import type { IncomingMessage, ServerResponse } from 'node:http';
2
+ import type { SseEvent } from './jobs.js';
3
+ import type { ActiveJobState, AppRouteDeps, AppRouteRequestContext } from './app-context.js';
4
+ export type RunsRouteDeps = Pick<
5
+ AppRouteDeps,
6
+ | 'parseBody'
7
+ | 'asJson'
8
+ | 'addJobEvent'
9
+ | 'sendSseEvent'
10
+ | 'ensureInsideRoot'
11
+ | 'listRuns'
12
+ | 'getRunResults'
13
+ | 'getScenarioRunTraceRecords'
14
+ | 'selectScenarioIds'
15
+ | 'expandConfigForAgents'
16
+ | 'resolveRunSelectedAgents'
17
+ | 'loadSnapshot'
18
+ | 'compareRunToSnapshot'
19
+ | 'applySnapshotPolicyToRunResult'
20
+ | 'readLibraries'
21
+ | 'pickDefaultAssistantAgentName'
22
+ | 'resolveAssistantAgentFromLibraries'
23
+ | 'chatWithAgent'
24
+ | 'pkgVersion'
25
+ >;
26
+ type RunJob = {
27
+ id: string;
28
+ status: 'running' | 'stopped' | 'completed' | 'error';
29
+ events: SseEvent[];
30
+ clients: Set<ServerResponse>;
31
+ abortController: AbortController;
32
+ };
33
+ export declare function handleRunsRoutes(params: {
34
+ req: IncomingMessage;
35
+ res: ServerResponse;
36
+ pathname: string;
37
+ method: string;
38
+ settings: AppRouteRequestContext['settings'];
39
+ jobs: Map<string, RunJob>;
40
+ activeJobState: ActiveJobState;
41
+ deps: RunsRouteDeps;
42
+ }): Promise<boolean>;
43
+ export {};
44
+ //# sourceMappingURL=runs-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs-routes.d.ts","sourceRoot":"","sources":["../../src/app-server/runs-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAWjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE7F,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,YAAY,EACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,cAAc,GACd,kBAAkB,GAClB,UAAU,GACV,eAAe,GACf,4BAA4B,GAC5B,mBAAmB,GACnB,uBAAuB,GACvB,0BAA0B,GAC1B,cAAc,GACd,sBAAsB,GACtB,gCAAgC,GAChC,eAAe,GACf,+BAA+B,GAC/B,oCAAoC,GACpC,eAAe,GACf,YAAY,CACf,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IACtD,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;CAClC,CAAC;AAaF,wBAAsB,gBAAgB,CAAC,MAAM,EAAE;IAC7C,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,EAAE,cAAc,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,cAAc,EAAE,cAAc,CAAC;IAC/B,IAAI,EAAE,aAAa,CAAC;CACrB,GAAG,OAAO,CAAC,OAAO,CAAC,CA2jBnB"}