agent-discover 1.3.8 → 1.4.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 (40) hide show
  1. package/CHANGELOG.md +44 -1
  2. package/README.md +34 -8
  3. package/agent-desk-plugin.json +10 -3
  4. package/dist/context.d.ts +2 -0
  5. package/dist/context.d.ts.map +1 -1
  6. package/dist/context.js +15 -0
  7. package/dist/context.js.map +1 -1
  8. package/dist/domain/log.d.ts +7 -3
  9. package/dist/domain/log.d.ts.map +1 -1
  10. package/dist/domain/log.js +15 -5
  11. package/dist/domain/log.js.map +1 -1
  12. package/dist/domain/presets.d.ts +30 -0
  13. package/dist/domain/presets.d.ts.map +1 -0
  14. package/dist/domain/presets.js +76 -0
  15. package/dist/domain/presets.js.map +1 -0
  16. package/dist/domain/proxy.d.ts +153 -0
  17. package/dist/domain/proxy.d.ts.map +1 -1
  18. package/dist/domain/proxy.js +396 -3
  19. package/dist/domain/proxy.js.map +1 -1
  20. package/dist/domain/sampling.d.ts +9 -0
  21. package/dist/domain/sampling.d.ts.map +1 -0
  22. package/dist/domain/sampling.js +68 -0
  23. package/dist/domain/sampling.js.map +1 -0
  24. package/dist/storage/database.js +21 -0
  25. package/dist/storage/database.js.map +1 -1
  26. package/dist/transport/rest.d.ts.map +1 -1
  27. package/dist/transport/rest.js +349 -0
  28. package/dist/transport/rest.js.map +1 -1
  29. package/dist/transport/ws.d.ts.map +1 -1
  30. package/dist/transport/ws.js +32 -0
  31. package/dist/transport/ws.js.map +1 -1
  32. package/dist/ui/app.js +16 -0
  33. package/dist/ui/index.html +3 -0
  34. package/dist/ui/markdown.js +102 -0
  35. package/dist/ui/schema-form.js +393 -0
  36. package/dist/ui/styles.css +724 -0
  37. package/dist/ui/tester-window.html +116 -0
  38. package/dist/ui/tester-window.js +153 -0
  39. package/dist/ui/tester.js +1412 -0
  40. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/domain/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/domain/proxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { SamplingProvider } from './proxy.js';
2
+ export declare function createOpenAISamplingProvider(options: {
3
+ apiKey: string;
4
+ model?: string;
5
+ baseUrl?: string;
6
+ timeoutMs?: number;
7
+ }): SamplingProvider;
8
+ export declare function maybeCreateDefaultSamplingProvider(): SamplingProvider | undefined;
9
+ //# sourceMappingURL=sampling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sampling.d.ts","sourceRoot":"","sources":["../../src/domain/sampling.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAWnD,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,gBAAgB,CA+DnB;AAED,wBAAgB,kCAAkC,IAAI,gBAAgB,GAAG,SAAS,CAKjF"}
@@ -0,0 +1,68 @@
1
+ // =============================================================================
2
+ // agent-discover — Sampling provider (OpenAI Chat Completions)
3
+ // =============================================================================
4
+ const DEFAULT_MODEL = 'gpt-5-mini';
5
+ const DEFAULT_MAX_TOKENS = 1024;
6
+ const DEFAULT_TIMEOUT_MS = 120_000;
7
+ export function createOpenAISamplingProvider(options) {
8
+ const apiKey = options.apiKey;
9
+ const model = options.model ?? process.env.AGENT_DISCOVER_SAMPLING_MODEL ?? DEFAULT_MODEL;
10
+ const baseUrl = options.baseUrl ?? process.env.AGENT_DISCOVER_OPENAI_BASE_URL ?? 'https://api.openai.com/v1';
11
+ const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
12
+ return {
13
+ async createMessage(request) {
14
+ const messages = [];
15
+ if (request.systemPrompt) {
16
+ messages.push({ role: 'system', content: request.systemPrompt });
17
+ }
18
+ for (const m of request.messages) {
19
+ const role = m.role === 'assistant' ? 'assistant' : 'user';
20
+ const text = m.content && m.content.type === 'text' && typeof m.content.text === 'string'
21
+ ? m.content.text
22
+ : '';
23
+ messages.push({ role, content: text });
24
+ }
25
+ const controller = new AbortController();
26
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
27
+ try {
28
+ const res = await fetch(`${baseUrl}/chat/completions`, {
29
+ method: 'POST',
30
+ headers: {
31
+ 'Content-Type': 'application/json',
32
+ Authorization: `Bearer ${apiKey}`,
33
+ },
34
+ body: JSON.stringify({
35
+ model,
36
+ messages,
37
+ max_tokens: request.maxTokens ?? DEFAULT_MAX_TOKENS,
38
+ temperature: request.temperature ?? 0.7,
39
+ }),
40
+ signal: controller.signal,
41
+ });
42
+ if (!res.ok) {
43
+ const detail = await res.text().catch(() => '');
44
+ throw new Error(`OpenAI ${res.status}: ${detail.slice(0, 500)}`);
45
+ }
46
+ const body = (await res.json());
47
+ const choice = body.choices?.[0];
48
+ const text = choice?.message?.content ?? '';
49
+ return {
50
+ role: 'assistant',
51
+ content: { type: 'text', text },
52
+ model: body.model ?? model,
53
+ stopReason: choice?.finish_reason,
54
+ };
55
+ }
56
+ finally {
57
+ clearTimeout(timer);
58
+ }
59
+ },
60
+ };
61
+ }
62
+ export function maybeCreateDefaultSamplingProvider() {
63
+ const apiKey = process.env.AGENT_DISCOVER_OPENAI_API_KEY ?? process.env.OPENAI_API_KEY ?? undefined;
64
+ if (!apiKey)
65
+ return undefined;
66
+ return createOpenAISamplingProvider({ apiKey });
67
+ }
68
+ //# sourceMappingURL=sampling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sampling.js","sourceRoot":"","sources":["../../src/domain/sampling.ts"],"names":[],"mappings":"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"}
@@ -180,5 +180,26 @@ const migrations = [
180
180
  addColumnIfMissing(db, 'server_tools', 'embedding_model', 'TEXT');
181
181
  },
182
182
  },
183
+ {
184
+ version: 6,
185
+ up: (db) => {
186
+ db.exec(`
187
+ CREATE TABLE IF NOT EXISTS test_presets (
188
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
189
+ server_name TEXT NOT NULL,
190
+ kind TEXT NOT NULL,
191
+ target_name TEXT NOT NULL,
192
+ preset_name TEXT NOT NULL,
193
+ payload TEXT NOT NULL DEFAULT '{}',
194
+ created_at TEXT DEFAULT (datetime('now')),
195
+ updated_at TEXT DEFAULT (datetime('now')),
196
+ UNIQUE(server_name, kind, target_name, preset_name)
197
+ );
198
+
199
+ CREATE INDEX IF NOT EXISTS idx_test_presets_lookup
200
+ ON test_presets(server_name, kind, target_name);
201
+ `);
202
+ },
203
+ },
183
204
  ];
184
205
  //# sourceMappingURL=database.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../src/transport/rest.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAW5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAmBhD,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,CA8gBjG"}
1
+ {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../src/transport/rest.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAW5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAmBhD,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,CA45BjG"}
@@ -452,6 +452,348 @@ export function createRouter(ctx) {
452
452
  json(res, { active_count: servers.length, servers });
453
453
  });
454
454
  // -----------------------------------------------------------------------
455
+ // Tester surface (MCP Inspector parity)
456
+ // -----------------------------------------------------------------------
457
+ function resolveServerName(params) {
458
+ if (params.id) {
459
+ const server = ctx.registry.getById(parseInt(params.id, 10));
460
+ return server ? server.name : null;
461
+ }
462
+ if (params.handle) {
463
+ return ctx.proxy.resolveTransient(params.handle);
464
+ }
465
+ return null;
466
+ }
467
+ function isLoopback(req) {
468
+ const addr = req.socket?.remoteAddress ?? '';
469
+ if (!addr)
470
+ return true;
471
+ return (addr === '127.0.0.1' ||
472
+ addr === '::1' ||
473
+ addr === '::ffff:127.0.0.1' ||
474
+ addr.startsWith('127.'));
475
+ }
476
+ function validateOrigin(req, res) {
477
+ if (process.env.AGENT_DISCOVER_ALLOW_REMOTE_TEST === '1')
478
+ return true;
479
+ if (!isLoopback(req)) {
480
+ json(res, {
481
+ error: 'Tester API is localhost-only. Set AGENT_DISCOVER_ALLOW_REMOTE_TEST=1 to override.',
482
+ }, 403);
483
+ return false;
484
+ }
485
+ const origin = req.headers.origin;
486
+ if (origin) {
487
+ const ok = origin.startsWith('http://localhost') ||
488
+ origin.startsWith('http://127.0.0.1') ||
489
+ origin.startsWith('http://[::1]') ||
490
+ origin === 'null';
491
+ if (!ok) {
492
+ json(res, { error: 'Origin rejected (DNS rebinding protection)' }, 403);
493
+ return false;
494
+ }
495
+ }
496
+ return true;
497
+ }
498
+ const testerGet = (path, handler) => {
499
+ route('GET', path, async (req, res, params) => {
500
+ if (!validateOrigin(req, res))
501
+ return;
502
+ const name = resolveServerName(params);
503
+ if (!name) {
504
+ json(res, { error: 'Server not found' }, 404);
505
+ return;
506
+ }
507
+ if (!ctx.proxy.isActive(name)) {
508
+ json(res, { error: 'Server not active' }, 400);
509
+ return;
510
+ }
511
+ await handler(req, res, name);
512
+ });
513
+ };
514
+ const testerPost = (path, handler) => {
515
+ route('POST', path, async (req, res, params) => {
516
+ if (!validateOrigin(req, res))
517
+ return;
518
+ const name = resolveServerName(params);
519
+ if (!name) {
520
+ json(res, { error: 'Server not found' }, 404);
521
+ return;
522
+ }
523
+ if (!ctx.proxy.isActive(name)) {
524
+ json(res, { error: 'Server not active' }, 400);
525
+ return;
526
+ }
527
+ const body = await readBody(req);
528
+ await handler(req, res, name, body);
529
+ });
530
+ };
531
+ for (const prefix of ['/api/servers/:id', '/api/transient/:handle']) {
532
+ testerGet(`${prefix}/info`, async (_req, res, name) => {
533
+ const info = ctx.proxy.getServerInfo(name);
534
+ json(res, info ?? { error: 'Server has no info' });
535
+ });
536
+ testerGet(`${prefix}/tools`, async (_req, res, name) => {
537
+ const tools = await ctx.proxy.listToolsLive(name);
538
+ json(res, { tools });
539
+ });
540
+ testerGet(`${prefix}/resources`, async (req, res, name) => {
541
+ const url = new URL(req.url ?? '/', `http://${req.headers.host}`);
542
+ const cursor = url.searchParams.get('cursor') ?? undefined;
543
+ const result = await ctx.proxy.listResources(name, cursor);
544
+ json(res, result);
545
+ });
546
+ testerGet(`${prefix}/resource-templates`, async (req, res, name) => {
547
+ const url = new URL(req.url ?? '/', `http://${req.headers.host}`);
548
+ const cursor = url.searchParams.get('cursor') ?? undefined;
549
+ const result = await ctx.proxy.listResourceTemplates(name, cursor);
550
+ json(res, result);
551
+ });
552
+ testerPost(`${prefix}/resource/read`, async (_req, res, name, body) => {
553
+ const uri = String(body.uri ?? '');
554
+ if (!uri) {
555
+ json(res, { error: 'uri is required' }, 400);
556
+ return;
557
+ }
558
+ const result = await ctx.proxy.readResource(name, uri);
559
+ json(res, result);
560
+ });
561
+ testerPost(`${prefix}/resource/subscribe`, async (_req, res, name, body) => {
562
+ const uri = String(body.uri ?? '');
563
+ if (!uri) {
564
+ json(res, { error: 'uri is required' }, 400);
565
+ return;
566
+ }
567
+ await ctx.proxy.subscribeResource(name, uri);
568
+ json(res, { ok: true });
569
+ });
570
+ testerPost(`${prefix}/resource/unsubscribe`, async (_req, res, name, body) => {
571
+ const uri = String(body.uri ?? '');
572
+ if (!uri) {
573
+ json(res, { error: 'uri is required' }, 400);
574
+ return;
575
+ }
576
+ await ctx.proxy.unsubscribeResource(name, uri);
577
+ json(res, { ok: true });
578
+ });
579
+ testerGet(`${prefix}/prompts`, async (req, res, name) => {
580
+ const url = new URL(req.url ?? '/', `http://${req.headers.host}`);
581
+ const cursor = url.searchParams.get('cursor') ?? undefined;
582
+ const result = await ctx.proxy.listPrompts(name, cursor);
583
+ json(res, result);
584
+ });
585
+ testerPost(`${prefix}/prompt/get`, async (_req, res, name, body) => {
586
+ const promptName = String(body.name ?? '');
587
+ if (!promptName) {
588
+ json(res, { error: 'name is required' }, 400);
589
+ return;
590
+ }
591
+ const args = typeof body.arguments === 'object' && body.arguments !== null
592
+ ? body.arguments
593
+ : {};
594
+ const result = await ctx.proxy.getPrompt(name, promptName, args);
595
+ json(res, result);
596
+ });
597
+ testerPost(`${prefix}/ping`, async (_req, res, name) => {
598
+ const result = await ctx.proxy.ping(name);
599
+ json(res, result);
600
+ });
601
+ testerPost(`${prefix}/logging-level`, async (_req, res, name, body) => {
602
+ const level = String(body.level ?? '');
603
+ const valid = [
604
+ 'debug',
605
+ 'info',
606
+ 'notice',
607
+ 'warning',
608
+ 'error',
609
+ 'critical',
610
+ 'alert',
611
+ 'emergency',
612
+ ];
613
+ if (!valid.includes(level)) {
614
+ json(res, { error: `level must be one of: ${valid.join(', ')}` }, 400);
615
+ return;
616
+ }
617
+ await ctx.proxy.setLoggingLevel(name, level);
618
+ json(res, { ok: true, level });
619
+ });
620
+ testerGet(`${prefix}/export`, async (req, res, name) => {
621
+ const url = new URL(req.url ?? '/', `http://${req.headers.host}`);
622
+ const format = (url.searchParams.get('format') ?? 'mcp-json');
623
+ const valid = ['mcp-json', 'agent-discover'];
624
+ if (!valid.includes(format)) {
625
+ json(res, { error: `format must be one of: ${valid.join(', ')}` }, 400);
626
+ return;
627
+ }
628
+ const config = ctx.proxy.exportConfig(name, format);
629
+ json(res, { format, config });
630
+ });
631
+ }
632
+ // Transient server lifecycle
633
+ route('POST', '/api/transient', async (req, res) => {
634
+ if (!validateOrigin(req, res))
635
+ return;
636
+ const body = await readBody(req);
637
+ const command = typeof body.command === 'string' ? body.command : undefined;
638
+ const url = typeof body.url === 'string' ? body.url : undefined;
639
+ const transport = typeof body.transport === 'string' ? body.transport : 'stdio';
640
+ if (transport === 'stdio') {
641
+ if (!command) {
642
+ json(res, { error: 'command is required for stdio transport' }, 400);
643
+ return;
644
+ }
645
+ if (!/^[@a-zA-Z0-9._/\\:-]+$/.test(command)) {
646
+ json(res, { error: 'command contains unsafe characters' }, 400);
647
+ return;
648
+ }
649
+ }
650
+ else if (!url) {
651
+ json(res, { error: 'url is required for remote transports' }, 400);
652
+ return;
653
+ }
654
+ const args = Array.isArray(body.args) ? body.args : [];
655
+ const envCandidate = typeof body.env === 'object' ? body.env : {};
656
+ const env = {};
657
+ for (const [k, v] of Object.entries(envCandidate)) {
658
+ if (typeof v !== 'string')
659
+ continue;
660
+ if (/[\r\n]/.test(v))
661
+ continue;
662
+ env[k] = v;
663
+ }
664
+ const headers = typeof body.headers === 'object' && body.headers !== null
665
+ ? body.headers
666
+ : undefined;
667
+ const ttlMs = typeof body.ttl_ms === 'number' && body.ttl_ms > 0 ? body.ttl_ms : undefined;
668
+ try {
669
+ const handle = await ctx.proxy.activateTransient({
670
+ name: 'transient',
671
+ command,
672
+ args,
673
+ env,
674
+ transport: transport,
675
+ url,
676
+ headers,
677
+ }, ttlMs);
678
+ json(res, handle, 201);
679
+ }
680
+ catch (err) {
681
+ const message = err instanceof Error ? err.message : String(err);
682
+ json(res, { error: message }, 500);
683
+ }
684
+ });
685
+ route('DELETE', '/api/transient/:handle', async (req, res, params) => {
686
+ if (!validateOrigin(req, res))
687
+ return;
688
+ await ctx.proxy.releaseTransient(params.handle);
689
+ json(res, { ok: true });
690
+ });
691
+ testerPost('/api/transient/:handle/call', async (_req, res, name, body) => {
692
+ const tool = String(body.tool ?? '');
693
+ const args = typeof body.args === 'object' ? body.args : {};
694
+ if (!tool) {
695
+ json(res, { error: 'tool is required' }, 400);
696
+ return;
697
+ }
698
+ const result = await ctx.proxy.callTool(name, tool, args);
699
+ json(res, result);
700
+ });
701
+ // Logs filtered by kind
702
+ route('GET', '/api/logs/notifications', (_req, res) => {
703
+ const entries = ctx.logs.list(200, 0, 'notification');
704
+ json(res, { entries });
705
+ });
706
+ route('GET', '/api/logs/progress', (_req, res) => {
707
+ const entries = ctx.logs.list(200, 0, 'progress');
708
+ json(res, { entries });
709
+ });
710
+ // -----------------------------------------------------------------------
711
+ // Test-panel presets (SQLite-backed)
712
+ // -----------------------------------------------------------------------
713
+ route('GET', '/api/presets', (req, res) => {
714
+ const url = new URL(req.url ?? '/', `http://${req.headers.host}`);
715
+ const server = url.searchParams.get('server') ?? undefined;
716
+ const kindRaw = url.searchParams.get('kind') ?? undefined;
717
+ const target = url.searchParams.get('target') ?? undefined;
718
+ const kind = kindRaw === 'tool' || kindRaw === 'prompt' ? kindRaw : undefined;
719
+ const entries = ctx.presets.list({ server, kind, target });
720
+ json(res, { entries });
721
+ });
722
+ route('POST', '/api/presets', async (req, res) => {
723
+ const body = await readBody(req);
724
+ const server = String(body.server ?? '');
725
+ const kind = String(body.kind ?? '');
726
+ const target = String(body.target ?? '');
727
+ const preset = String(body.preset ?? '');
728
+ const payload = body.payload ?? {};
729
+ if (kind !== 'tool' && kind !== 'prompt') {
730
+ json(res, { error: 'kind must be "tool" or "prompt"' }, 400);
731
+ return;
732
+ }
733
+ try {
734
+ const entry = ctx.presets.upsert({
735
+ server,
736
+ kind: kind,
737
+ target,
738
+ preset,
739
+ payload,
740
+ });
741
+ json(res, entry, 201);
742
+ }
743
+ catch (err) {
744
+ const message = err instanceof Error ? err.message : String(err);
745
+ json(res, { error: message }, 400);
746
+ }
747
+ });
748
+ route('DELETE', '/api/presets/:id', (_req, res, params) => {
749
+ const id = parseInt(params.id, 10);
750
+ if (!Number.isFinite(id)) {
751
+ json(res, { error: 'invalid id' }, 400);
752
+ return;
753
+ }
754
+ const removed = ctx.presets.delete(id);
755
+ json(res, { ok: removed });
756
+ });
757
+ // -----------------------------------------------------------------------
758
+ // Elicitation — server → human round-trip
759
+ // -----------------------------------------------------------------------
760
+ route('GET', '/api/elicitations', (_req, res) => {
761
+ const entries = ctx.proxy.listPendingElicitations();
762
+ json(res, { entries });
763
+ });
764
+ route('POST', '/api/elicitations/:id/respond', async (req, res, params) => {
765
+ if (!validateOrigin(req, res))
766
+ return;
767
+ const body = await readBody(req);
768
+ const action = String(body.action ?? '');
769
+ if (action !== 'accept' && action !== 'decline' && action !== 'cancel') {
770
+ json(res, { error: 'action must be accept / decline / cancel' }, 400);
771
+ return;
772
+ }
773
+ const content = typeof body.content === 'object' && body.content !== null
774
+ ? body.content
775
+ : undefined;
776
+ const ok = ctx.proxy.respondElicitation(params.id, {
777
+ action: action,
778
+ content,
779
+ });
780
+ if (!ok) {
781
+ json(res, { error: 'Unknown elicitation id or already resolved' }, 404);
782
+ return;
783
+ }
784
+ json(res, { ok: true });
785
+ });
786
+ // Roots config (client-advertised capability)
787
+ route('GET', '/api/roots', (_req, res) => {
788
+ const raw = process.env.AGENT_DISCOVER_ROOTS ?? '';
789
+ const roots = raw
790
+ .split(',')
791
+ .map((s) => s.trim())
792
+ .filter(Boolean)
793
+ .map((uri) => ({ uri, name: uri }));
794
+ json(res, { roots });
795
+ });
796
+ // -----------------------------------------------------------------------
455
797
  // Router dispatch
456
798
  // -----------------------------------------------------------------------
457
799
  return (req, res) => {
@@ -490,6 +832,13 @@ export function createRouter(ctx) {
490
832
  return;
491
833
  }
492
834
  if (req.method === 'GET') {
835
+ // Tester pop-out windows live at /tester/:id and /tester/transient/:handle.
836
+ // Both paths serve the same minimal HTML shell which reads its context
837
+ // from window.location.pathname.
838
+ if (/^\/tester(\/|$)/.test(pathname)) {
839
+ serveStatic(res, uiDir, '/tester-window.html', { spaFallback: false });
840
+ return;
841
+ }
493
842
  serveStatic(res, uiDir, pathname === '/' ? '/index.html' : pathname, {
494
843
  spaFallback: false,
495
844
  });