@a5c-ai/agent-mux-gateway 0.0.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.
- package/README.md +13 -0
- package/dist/config.d.ts +9 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +13 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/logging.d.ts +8 -0
- package/dist/logging.d.ts.map +1 -0
- package/dist/logging.js +33 -0
- package/dist/logging.js.map +1 -0
- package/package.json +50 -0
package/README.md
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# @a5c-ai/agent-mux-gateway
|
|
2
|
+
|
|
3
|
+
`@a5c-ai/agent-mux-gateway` is the package scaffold for remote and browser-facing
|
|
4
|
+
agent-mux surfaces.
|
|
5
|
+
|
|
6
|
+
Current scope:
|
|
7
|
+
|
|
8
|
+
- `GatewayConfig` and default configuration helpers
|
|
9
|
+
- `createGateway(config)` returning a start/stop gateway handle
|
|
10
|
+
- basic gateway logger wiring
|
|
11
|
+
|
|
12
|
+
Later tasks in `advanced-uis.md` will add the protocol server, auth, fanout,
|
|
13
|
+
run management, and static web UI hosting.
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface GatewayConfig {
|
|
2
|
+
host: string;
|
|
3
|
+
port: number;
|
|
4
|
+
webuiRoot?: string | null;
|
|
5
|
+
enableWebui: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const DEFAULT_GATEWAY_CONFIG: Readonly<GatewayConfig>;
|
|
8
|
+
export declare function resolveGatewayConfig(config?: Partial<GatewayConfig>): GatewayConfig;
|
|
9
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,aAAa,CAKzD,CAAC;AAEH,wBAAgB,oBAAoB,CAAC,MAAM,GAAE,OAAO,CAAC,aAAa,CAAM,GAAG,aAAa,CAKvF"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const DEFAULT_GATEWAY_CONFIG = Object.freeze({
|
|
2
|
+
host: '127.0.0.1',
|
|
3
|
+
port: 7878,
|
|
4
|
+
webuiRoot: null,
|
|
5
|
+
enableWebui: true,
|
|
6
|
+
});
|
|
7
|
+
export function resolveGatewayConfig(config = {}) {
|
|
8
|
+
return {
|
|
9
|
+
...DEFAULT_GATEWAY_CONFIG,
|
|
10
|
+
...config,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,sBAAsB,GAA4B,MAAM,CAAC,MAAM,CAAC;IAC3E,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,IAAI;IACV,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;CAClB,CAAC,CAAC;AAEH,MAAM,UAAU,oBAAoB,CAAC,SAAiC,EAAE;IACtE,OAAO;QACL,GAAG,sBAAsB;QACzB,GAAG,MAAM;KACV,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { GatewayConfig } from './config.js';
|
|
2
|
+
import { GatewayLogger } from './logging.js';
|
|
3
|
+
export type { GatewayConfig } from './config.js';
|
|
4
|
+
export { DEFAULT_GATEWAY_CONFIG, resolveGatewayConfig, } from './config.js';
|
|
5
|
+
export type { GatewayLogger } from './logging.js';
|
|
6
|
+
export { createGatewayLogger } from './logging.js';
|
|
7
|
+
export interface Gateway {
|
|
8
|
+
readonly config: GatewayConfig;
|
|
9
|
+
readonly logger: GatewayLogger;
|
|
10
|
+
readonly started: boolean;
|
|
11
|
+
start(): Promise<void>;
|
|
12
|
+
stop(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
export declare function createGateway(config?: Partial<GatewayConfig>): Gateway;
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAEd,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,aAAa,EACd,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,wBAAgB,aAAa,CAAC,MAAM,GAAE,OAAO,CAAC,aAAa,CAAM,GAAG,OAAO,CAiC1E"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { resolveGatewayConfig, } from './config.js';
|
|
2
|
+
import { createGatewayLogger, } from './logging.js';
|
|
3
|
+
export { DEFAULT_GATEWAY_CONFIG, resolveGatewayConfig, } from './config.js';
|
|
4
|
+
export { createGatewayLogger } from './logging.js';
|
|
5
|
+
export function createGateway(config = {}) {
|
|
6
|
+
const resolvedConfig = resolveGatewayConfig(config);
|
|
7
|
+
const logger = createGatewayLogger();
|
|
8
|
+
let started = false;
|
|
9
|
+
return {
|
|
10
|
+
config: resolvedConfig,
|
|
11
|
+
logger,
|
|
12
|
+
get started() {
|
|
13
|
+
return started;
|
|
14
|
+
},
|
|
15
|
+
async start() {
|
|
16
|
+
if (started) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
started = true;
|
|
20
|
+
logger.info('Gateway started', {
|
|
21
|
+
host: resolvedConfig.host,
|
|
22
|
+
port: resolvedConfig.port,
|
|
23
|
+
enableWebui: resolvedConfig.enableWebui,
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
async stop() {
|
|
27
|
+
if (!started) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
started = false;
|
|
31
|
+
logger.info('Gateway stopped', {
|
|
32
|
+
host: resolvedConfig.host,
|
|
33
|
+
port: resolvedConfig.port,
|
|
34
|
+
});
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,GAEpB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAUnD,MAAM,UAAU,aAAa,CAAC,SAAiC,EAAE;IAC/D,MAAM,cAAc,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,OAAO;QACL,MAAM,EAAE,cAAc;QACtB,MAAM;QACN,IAAI,OAAO;YACT,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAC7B,IAAI,EAAE,cAAc,CAAC,IAAI;gBACzB,IAAI,EAAE,cAAc,CAAC,IAAI;gBACzB,WAAW,EAAE,cAAc,CAAC,WAAW;aACxC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,IAAI;YACR,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,OAAO,GAAG,KAAK,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAC7B,IAAI,EAAE,cAAc,CAAC,IAAI;gBACzB,IAAI,EAAE,cAAc,CAAC,IAAI;aAC1B,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface GatewayLogger {
|
|
2
|
+
debug(message: string, meta?: Record<string, unknown>): void;
|
|
3
|
+
info(message: string, meta?: Record<string, unknown>): void;
|
|
4
|
+
warn(message: string, meta?: Record<string, unknown>): void;
|
|
5
|
+
error(message: string, meta?: Record<string, unknown>): void;
|
|
6
|
+
}
|
|
7
|
+
export declare function createGatewayLogger(): GatewayLogger;
|
|
8
|
+
//# sourceMappingURL=logging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC9D;AAoBD,wBAAgB,mBAAmB,IAAI,aAAa,CAenD"}
|
package/dist/logging.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
function write(level, message, meta) {
|
|
2
|
+
const suffix = meta ? ` ${JSON.stringify(meta)}` : '';
|
|
3
|
+
const line = `[agent-mux-gateway:${level}] ${message}${suffix}`;
|
|
4
|
+
switch (level) {
|
|
5
|
+
case 'debug':
|
|
6
|
+
case 'info':
|
|
7
|
+
console.log(line);
|
|
8
|
+
return;
|
|
9
|
+
case 'warn':
|
|
10
|
+
console.warn(line);
|
|
11
|
+
return;
|
|
12
|
+
case 'error':
|
|
13
|
+
console.error(line);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export function createGatewayLogger() {
|
|
18
|
+
return {
|
|
19
|
+
debug(message, meta) {
|
|
20
|
+
write('debug', message, meta);
|
|
21
|
+
},
|
|
22
|
+
info(message, meta) {
|
|
23
|
+
write('info', message, meta);
|
|
24
|
+
},
|
|
25
|
+
warn(message, meta) {
|
|
26
|
+
write('warn', message, meta);
|
|
27
|
+
},
|
|
28
|
+
error(message, meta) {
|
|
29
|
+
write('error', message, meta);
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=logging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAOA,SAAS,KAAK,CAAC,KAA0C,EAAE,OAAe,EAAE,IAA8B;IACxG,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,sBAAsB,KAAK,KAAK,OAAO,GAAG,MAAM,EAAE,CAAC;IAEhE,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,MAAM;YACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO;QACT,KAAK,MAAM;YACT,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO;QACT,KAAK,OAAO;YACV,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO;IACX,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,IAAI;YACjB,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,IAAI;YAChB,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,IAAI;YAChB,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,KAAK,CAAC,OAAO,EAAE,IAAI;YACjB,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@a5c-ai/agent-mux-gateway",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"description": "Gateway package for remote and browser-facing agent-mux surfaces",
|
|
7
|
+
"author": "a5c-ai",
|
|
8
|
+
"homepage": "https://github.com/a5c-ai/agent-mux#readme",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/a5c-ai/agent-mux.git",
|
|
12
|
+
"directory": "packages/gateway"
|
|
13
|
+
},
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/a5c-ai/agent-mux/issues"
|
|
16
|
+
},
|
|
17
|
+
"keywords": [
|
|
18
|
+
"agent-mux",
|
|
19
|
+
"gateway",
|
|
20
|
+
"websocket",
|
|
21
|
+
"remote",
|
|
22
|
+
"sdk"
|
|
23
|
+
],
|
|
24
|
+
"engines": {
|
|
25
|
+
"node": ">=20.9.0"
|
|
26
|
+
},
|
|
27
|
+
"main": "./dist/index.js",
|
|
28
|
+
"module": "./dist/index.js",
|
|
29
|
+
"types": "./dist/index.d.ts",
|
|
30
|
+
"exports": {
|
|
31
|
+
".": {
|
|
32
|
+
"import": {
|
|
33
|
+
"types": "./dist/index.d.ts",
|
|
34
|
+
"default": "./dist/index.js"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"files": [
|
|
39
|
+
"dist",
|
|
40
|
+
"README.md",
|
|
41
|
+
"LICENSE"
|
|
42
|
+
],
|
|
43
|
+
"publishConfig": {
|
|
44
|
+
"access": "public"
|
|
45
|
+
},
|
|
46
|
+
"scripts": {
|
|
47
|
+
"build": "tsc --build",
|
|
48
|
+
"prepublishOnly": "npm run build"
|
|
49
|
+
}
|
|
50
|
+
}
|