@a5c-ai/agent-mux-gateway 0.0.0 → 0.4.2

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 (89) hide show
  1. package/README.md +10 -3
  2. package/dist/auth/hashing.d.ts +3 -0
  3. package/dist/auth/hashing.d.ts.map +1 -0
  4. package/dist/auth/hashing.js +25 -0
  5. package/dist/auth/hashing.js.map +1 -0
  6. package/dist/auth/middleware.d.ts +4 -0
  7. package/dist/auth/middleware.d.ts.map +1 -0
  8. package/dist/auth/middleware.js +17 -0
  9. package/dist/auth/middleware.js.map +1 -0
  10. package/dist/auth/tokens.d.ts +45 -0
  11. package/dist/auth/tokens.d.ts.map +1 -0
  12. package/dist/auth/tokens.js +182 -0
  13. package/dist/auth/tokens.js.map +1 -0
  14. package/dist/builtin-adapters.d.ts +15 -0
  15. package/dist/builtin-adapters.d.ts.map +1 -0
  16. package/dist/builtin-adapters.js +110 -0
  17. package/dist/builtin-adapters.js.map +1 -0
  18. package/dist/config.d.ts +20 -0
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/config.js +14 -0
  21. package/dist/config.js.map +1 -1
  22. package/dist/fanout/client-conn.d.ts +21 -0
  23. package/dist/fanout/client-conn.d.ts.map +1 -0
  24. package/dist/fanout/client-conn.js +53 -0
  25. package/dist/fanout/client-conn.js.map +1 -0
  26. package/dist/fanout/subscriber.d.ts +13 -0
  27. package/dist/fanout/subscriber.d.ts.map +1 -0
  28. package/dist/fanout/subscriber.js +40 -0
  29. package/dist/fanout/subscriber.js.map +1 -0
  30. package/dist/index.d.ts +15 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +14 -0
  33. package/dist/index.js.map +1 -1
  34. package/dist/logging.d.ts.map +1 -1
  35. package/dist/logging.js +1 -12
  36. package/dist/logging.js.map +1 -1
  37. package/dist/notifications/types.d.ts +19 -0
  38. package/dist/notifications/types.d.ts.map +1 -0
  39. package/dist/notifications/types.js +2 -0
  40. package/dist/notifications/types.js.map +1 -0
  41. package/dist/notifications/webhook-out.d.ts +4 -0
  42. package/dist/notifications/webhook-out.d.ts.map +1 -0
  43. package/dist/notifications/webhook-out.js +55 -0
  44. package/dist/notifications/webhook-out.js.map +1 -0
  45. package/dist/pairing/short-code.d.ts +21 -0
  46. package/dist/pairing/short-code.d.ts.map +1 -0
  47. package/dist/pairing/short-code.js +50 -0
  48. package/dist/pairing/short-code.js.map +1 -0
  49. package/dist/protocol/errors.d.ts +11 -0
  50. package/dist/protocol/errors.d.ts.map +1 -0
  51. package/dist/protocol/errors.js +15 -0
  52. package/dist/protocol/errors.js.map +1 -0
  53. package/dist/protocol/frames.d.ts +93 -0
  54. package/dist/protocol/frames.d.ts.map +1 -0
  55. package/dist/protocol/frames.js +139 -0
  56. package/dist/protocol/frames.js.map +1 -0
  57. package/dist/protocol/v1.d.ts +104 -0
  58. package/dist/protocol/v1.d.ts.map +1 -0
  59. package/dist/protocol/v1.js +2 -0
  60. package/dist/protocol/v1.js.map +1 -0
  61. package/dist/runs/event-log-index.d.ts +29 -0
  62. package/dist/runs/event-log-index.d.ts.map +1 -0
  63. package/dist/runs/event-log-index.js +195 -0
  64. package/dist/runs/event-log-index.js.map +1 -0
  65. package/dist/runs/event-log.d.ts +26 -0
  66. package/dist/runs/event-log.d.ts.map +1 -0
  67. package/dist/runs/event-log.js +104 -0
  68. package/dist/runs/event-log.js.map +1 -0
  69. package/dist/runs/hook-broker.d.ts +19 -0
  70. package/dist/runs/hook-broker.d.ts.map +1 -0
  71. package/dist/runs/hook-broker.js +97 -0
  72. package/dist/runs/hook-broker.js.map +1 -0
  73. package/dist/runs/manager.d.ts +51 -0
  74. package/dist/runs/manager.d.ts.map +1 -0
  75. package/dist/runs/manager.js +575 -0
  76. package/dist/runs/manager.js.map +1 -0
  77. package/dist/runs/types.d.ts +49 -0
  78. package/dist/runs/types.d.ts.map +1 -0
  79. package/dist/runs/types.js +2 -0
  80. package/dist/runs/types.js.map +1 -0
  81. package/dist/server.d.ts +16 -0
  82. package/dist/server.d.ts.map +1 -0
  83. package/dist/server.js +500 -0
  84. package/dist/server.js.map +1 -0
  85. package/dist/static/webui-server.d.ts +3 -0
  86. package/dist/static/webui-server.d.ts.map +1 -0
  87. package/dist/static/webui-server.js +97 -0
  88. package/dist/static/webui-server.js.map +1 -0
  89. package/package.json +10 -1
@@ -0,0 +1,97 @@
1
+ import * as fs from 'node:fs/promises';
2
+ import * as fsSync from 'node:fs';
3
+ import * as path from 'node:path';
4
+ import { createRequire } from 'node:module';
5
+ import { fileURLToPath } from 'node:url';
6
+ const require = createRequire(import.meta.url);
7
+ const MIME_TYPES = {
8
+ '.css': 'text/css; charset=utf-8',
9
+ '.html': 'text/html; charset=utf-8',
10
+ '.ico': 'image/x-icon',
11
+ '.js': 'text/javascript; charset=utf-8',
12
+ '.json': 'application/json; charset=utf-8',
13
+ '.map': 'application/json; charset=utf-8',
14
+ '.png': 'image/png',
15
+ '.jpg': 'image/jpeg',
16
+ '.jpeg': 'image/jpeg',
17
+ '.svg': 'image/svg+xml',
18
+ '.txt': 'text/plain; charset=utf-8',
19
+ '.woff2': 'font/woff2',
20
+ };
21
+ function existingDirectory(candidates) {
22
+ for (const candidate of candidates) {
23
+ try {
24
+ if (fsSync.statSync(candidate).isDirectory()) {
25
+ return candidate;
26
+ }
27
+ }
28
+ catch {
29
+ // Ignore missing candidates.
30
+ }
31
+ }
32
+ return null;
33
+ }
34
+ function defaultWebuiRoot() {
35
+ const candidates = [];
36
+ try {
37
+ const resolved = require.resolve('@a5c-ai/agent-mux-webui/package.json');
38
+ candidates.push(path.join(path.dirname(resolved), 'dist'));
39
+ }
40
+ catch {
41
+ // Fall back to local workspace paths.
42
+ }
43
+ const moduleDir = path.dirname(fileURLToPath(import.meta.url));
44
+ candidates.push(path.resolve(moduleDir, '../../../webui/dist'));
45
+ candidates.push(path.resolve(process.cwd(), 'packages/webui/dist'));
46
+ return existingDirectory(candidates);
47
+ }
48
+ export function resolveWebuiRoot(configuredRoot) {
49
+ if (configuredRoot == null) {
50
+ return defaultWebuiRoot();
51
+ }
52
+ return path.extname(configuredRoot) ? path.dirname(configuredRoot) : configuredRoot;
53
+ }
54
+ function mimeTypeFor(filePath) {
55
+ return MIME_TYPES[path.extname(filePath).toLowerCase()] ?? 'application/octet-stream';
56
+ }
57
+ async function fileResponse(filePath) {
58
+ const body = await fs.readFile(filePath);
59
+ return new Response(body, {
60
+ status: 200,
61
+ headers: {
62
+ 'content-type': mimeTypeFor(filePath),
63
+ 'cache-control': 'no-cache',
64
+ },
65
+ });
66
+ }
67
+ export async function serveWebuiRequest(requestPath, webuiRoot) {
68
+ if (!webuiRoot) {
69
+ return new Response('agent-mux webui is not installed. Install @a5c-ai/agent-mux-webui or pass --webui /path/to/dist.', { status: 404, headers: { 'content-type': 'text/plain; charset=utf-8' } });
70
+ }
71
+ const normalized = requestPath === '/' ? '/index.html' : requestPath;
72
+ const safeRelative = normalized.replace(/^\/+/, '');
73
+ const resolved = path.resolve(webuiRoot, safeRelative);
74
+ const rootResolved = path.resolve(webuiRoot);
75
+ if (!resolved.startsWith(rootResolved)) {
76
+ return new Response('Not Found', { status: 404 });
77
+ }
78
+ try {
79
+ const stat = await fs.stat(resolved);
80
+ if (stat.isDirectory()) {
81
+ return await fileResponse(path.join(resolved, 'index.html'));
82
+ }
83
+ return await fileResponse(resolved);
84
+ }
85
+ catch (error) {
86
+ if (error.code !== 'ENOENT') {
87
+ throw error;
88
+ }
89
+ }
90
+ try {
91
+ return await fileResponse(path.join(rootResolved, 'index.html'));
92
+ }
93
+ catch {
94
+ return new Response('Not Found', { status: 404 });
95
+ }
96
+ }
97
+ //# sourceMappingURL=webui-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webui-server.js","sourceRoot":"","sources":["../../src/static/webui-server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a5c-ai/agent-mux-gateway",
3
- "version": "0.0.0",
3
+ "version": "0.4.2",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "Gateway package for remote and browser-facing agent-mux surfaces",
@@ -46,5 +46,14 @@
46
46
  "scripts": {
47
47
  "build": "tsc --build",
48
48
  "prepublishOnly": "npm run build"
49
+ },
50
+ "dependencies": {
51
+ "@a5c-ai/agent-mux-adapters": "0.4.2",
52
+ "@a5c-ai/agent-mux-core": "0.4.2",
53
+ "@hono/node-server": "^1.19.14",
54
+ "argon2": "^0.44.0",
55
+ "hono": "^4.12.14",
56
+ "ws": "^8.20.0",
57
+ "zod": "^4.3.6"
49
58
  }
50
59
  }