aquaman-plugin 0.11.2 → 0.11.4
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 +38 -10
- package/dist/index.d.ts +81 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +502 -0
- package/dist/index.js.map +1 -0
- package/dist/src/config-schema.d.ts +37 -0
- package/dist/src/config-schema.d.ts.map +1 -0
- package/dist/src/config-schema.js +58 -0
- package/dist/src/config-schema.js.map +1 -0
- package/dist/src/http-interceptor.d.ts +48 -0
- package/dist/src/http-interceptor.d.ts.map +1 -0
- package/dist/src/http-interceptor.js +143 -0
- package/dist/src/http-interceptor.js.map +1 -0
- package/dist/src/proxy-health.d.ts +23 -0
- package/dist/src/proxy-health.d.ts.map +1 -0
- package/dist/src/proxy-health.js +61 -0
- package/dist/src/proxy-health.js.map +1 -0
- package/dist/src/proxy-manager.d.ts +79 -0
- package/dist/src/proxy-manager.d.ts.map +1 -0
- package/dist/src/proxy-manager.js +246 -0
- package/dist/src/proxy-manager.js.map +1 -0
- package/openclaw.plugin.json +6 -1
- package/package.json +12 -11
- package/index.ts +0 -592
- package/src/commands.ts +0 -306
- package/src/config-schema.ts +0 -68
- package/src/http-interceptor.ts +0 -176
- package/src/index.ts +0 -62
- package/src/plugin.ts +0 -281
- package/src/proxy-health.ts +0 -67
- package/src/proxy-manager.ts +0 -309
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeBox configuration schema for the OpenClaw plugin
|
|
3
|
+
*
|
|
4
|
+
* Defines the structure of plugin configuration in openclaw.json
|
|
5
|
+
*/
|
|
6
|
+
import { type Static } from '@sinclair/typebox';
|
|
7
|
+
/**
|
|
8
|
+
* Credential backend type
|
|
9
|
+
*/
|
|
10
|
+
export declare const CredentialBackend: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"keychain">, import("@sinclair/typebox").TLiteral<"1password">, import("@sinclair/typebox").TLiteral<"vault">, import("@sinclair/typebox").TLiteral<"encrypted-file">, import("@sinclair/typebox").TLiteral<"keepassxc">]>;
|
|
11
|
+
/**
|
|
12
|
+
* Services to proxy
|
|
13
|
+
*/
|
|
14
|
+
export declare const ProxiedServices: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString<string>>;
|
|
15
|
+
/**
|
|
16
|
+
* Complete plugin configuration schema
|
|
17
|
+
*/
|
|
18
|
+
export declare const ConfigSchema: import("@sinclair/typebox").TObject<{
|
|
19
|
+
backend: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"keychain">, import("@sinclair/typebox").TLiteral<"1password">, import("@sinclair/typebox").TLiteral<"vault">, import("@sinclair/typebox").TLiteral<"encrypted-file">, import("@sinclair/typebox").TLiteral<"keepassxc">]>>;
|
|
20
|
+
services: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString<string>>>;
|
|
21
|
+
onePasswordVault: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
|
|
22
|
+
onePasswordAccount: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
|
|
23
|
+
vaultAddress: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<"uri">>;
|
|
24
|
+
vaultToken: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
|
|
25
|
+
vaultNamespace: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
|
|
26
|
+
vaultMountPath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
|
|
27
|
+
}>;
|
|
28
|
+
export type PluginConfig = Static<typeof ConfigSchema>;
|
|
29
|
+
/**
|
|
30
|
+
* Default configuration values
|
|
31
|
+
*/
|
|
32
|
+
export declare const defaultConfig: PluginConfig;
|
|
33
|
+
/**
|
|
34
|
+
* Merge user config with defaults
|
|
35
|
+
*/
|
|
36
|
+
export declare function mergeConfig(userConfig: Partial<PluginConfig>): PluginConfig;
|
|
37
|
+
//# sourceMappingURL=config-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../../src/config-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,iBAAiB,qSAMH,CAAC;AAE5B;;GAEG;AACH,eAAO,MAAM,eAAe,iFAE1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;EAgBvB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,YAI3B,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAM3E"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeBox configuration schema for the OpenClaw plugin
|
|
3
|
+
*
|
|
4
|
+
* Defines the structure of plugin configuration in openclaw.json
|
|
5
|
+
*/
|
|
6
|
+
import { Type } from '@sinclair/typebox';
|
|
7
|
+
/**
|
|
8
|
+
* Credential backend type
|
|
9
|
+
*/
|
|
10
|
+
export const CredentialBackend = Type.Union([
|
|
11
|
+
Type.Literal('keychain'),
|
|
12
|
+
Type.Literal('1password'),
|
|
13
|
+
Type.Literal('vault'),
|
|
14
|
+
Type.Literal('encrypted-file'),
|
|
15
|
+
Type.Literal('keepassxc')
|
|
16
|
+
], { default: 'keychain' });
|
|
17
|
+
/**
|
|
18
|
+
* Services to proxy
|
|
19
|
+
*/
|
|
20
|
+
export const ProxiedServices = Type.Array(Type.String(), {
|
|
21
|
+
default: ['anthropic', 'openai']
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* Complete plugin configuration schema
|
|
25
|
+
*/
|
|
26
|
+
export const ConfigSchema = Type.Object({
|
|
27
|
+
// Credential backend
|
|
28
|
+
backend: Type.Optional(CredentialBackend),
|
|
29
|
+
// Services to proxy
|
|
30
|
+
services: Type.Optional(ProxiedServices),
|
|
31
|
+
// 1Password options
|
|
32
|
+
onePasswordVault: Type.Optional(Type.String()),
|
|
33
|
+
onePasswordAccount: Type.Optional(Type.String()),
|
|
34
|
+
// HashiCorp Vault options
|
|
35
|
+
vaultAddress: Type.Optional(Type.String({ format: 'uri' })),
|
|
36
|
+
vaultToken: Type.Optional(Type.String()),
|
|
37
|
+
vaultNamespace: Type.Optional(Type.String()),
|
|
38
|
+
vaultMountPath: Type.Optional(Type.String({ default: 'secret' })),
|
|
39
|
+
});
|
|
40
|
+
/**
|
|
41
|
+
* Default configuration values
|
|
42
|
+
*/
|
|
43
|
+
export const defaultConfig = {
|
|
44
|
+
backend: 'keychain',
|
|
45
|
+
services: ['anthropic', 'openai'],
|
|
46
|
+
vaultMountPath: 'secret',
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Merge user config with defaults
|
|
50
|
+
*/
|
|
51
|
+
export function mergeConfig(userConfig) {
|
|
52
|
+
return {
|
|
53
|
+
...defaultConfig,
|
|
54
|
+
...userConfig,
|
|
55
|
+
services: userConfig.services || defaultConfig.services
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=config-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../src/config-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAe,MAAM,mBAAmB,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IACzB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IACrB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC9B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;CAC1B,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;AAE5B;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;IACvD,OAAO,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;CACjC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;IACtC,qBAAqB;IACrB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAEzC,oBAAoB;IACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;IAExC,oBAAoB;IACpB,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC9C,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAEhD,0BAA0B;IAC1B,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACxC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5C,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;CAClE,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;IACjC,cAAc,EAAE,QAAQ;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,UAAiC;IAC3D,OAAO;QACL,GAAG,aAAa;QAChB,GAAG,UAAU;QACb,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,aAAa,CAAC,QAAQ;KACxD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP interceptor for channel credential isolation.
|
|
3
|
+
*
|
|
4
|
+
* Overrides globalThis.fetch to redirect requests targeting known channel API
|
|
5
|
+
* hosts through the aquaman credential proxy via Unix domain socket.
|
|
6
|
+
* The proxy injects the real credentials, so the Gateway process never sees them.
|
|
7
|
+
*
|
|
8
|
+
* OpenClaw channels use globalThis.fetch (backed by undici) for all HTTP calls.
|
|
9
|
+
* Many channel monitor functions also accept a `proxyFetch` parameter that
|
|
10
|
+
* falls back to globalThis.fetch, so overriding it covers both paths.
|
|
11
|
+
*
|
|
12
|
+
* Uses sentinel hostname `aquaman.local` — SDK base URLs are set to
|
|
13
|
+
* `http://aquaman.local/<service>` and the interceptor routes them through UDS.
|
|
14
|
+
*/
|
|
15
|
+
export interface HttpInterceptorOptions {
|
|
16
|
+
/** Unix domain socket path for the proxy */
|
|
17
|
+
socketPath: string;
|
|
18
|
+
/** Map of hostname (or *.domain wildcard) → service name */
|
|
19
|
+
hostMap: Map<string, string>;
|
|
20
|
+
/** Optional logger */
|
|
21
|
+
log?: (msg: string) => void;
|
|
22
|
+
}
|
|
23
|
+
export declare class HttpInterceptor {
|
|
24
|
+
private socketPath;
|
|
25
|
+
private hostMap;
|
|
26
|
+
private originalFetch;
|
|
27
|
+
private active;
|
|
28
|
+
private log;
|
|
29
|
+
private socketAgent;
|
|
30
|
+
constructor(options: HttpInterceptorOptions);
|
|
31
|
+
/**
|
|
32
|
+
* Activate the interceptor by replacing globalThis.fetch.
|
|
33
|
+
*/
|
|
34
|
+
activate(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Deactivate the interceptor and restore the original fetch.
|
|
37
|
+
*/
|
|
38
|
+
deactivate(): void;
|
|
39
|
+
isActive(): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Match a hostname against the host map, supporting wildcard patterns.
|
|
42
|
+
*/
|
|
43
|
+
matchHost(hostname: string): string | null;
|
|
44
|
+
private extractUrl;
|
|
45
|
+
private stripAuthHeaders;
|
|
46
|
+
}
|
|
47
|
+
export declare function createHttpInterceptor(options: HttpInterceptorOptions): HttpInterceptor;
|
|
48
|
+
//# sourceMappingURL=http-interceptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-interceptor.d.ts","sourceRoot":"","sources":["../../src/http-interceptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,MAAM,WAAW,sBAAsB;IACrC,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,sBAAsB;IACtB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAAwB;IACnC,OAAO,CAAC,WAAW,CAAsB;gBAE7B,OAAO,EAAE,sBAAsB;IAM3C;;OAEG;IACH,QAAQ,IAAI,IAAI;IAmDhB;;OAEG;IACH,UAAU,IAAI,IAAI;IAelB,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAe1C,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,gBAAgB;CAuBzB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAEtF"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP interceptor for channel credential isolation.
|
|
3
|
+
*
|
|
4
|
+
* Overrides globalThis.fetch to redirect requests targeting known channel API
|
|
5
|
+
* hosts through the aquaman credential proxy via Unix domain socket.
|
|
6
|
+
* The proxy injects the real credentials, so the Gateway process never sees them.
|
|
7
|
+
*
|
|
8
|
+
* OpenClaw channels use globalThis.fetch (backed by undici) for all HTTP calls.
|
|
9
|
+
* Many channel monitor functions also accept a `proxyFetch` parameter that
|
|
10
|
+
* falls back to globalThis.fetch, so overriding it covers both paths.
|
|
11
|
+
*
|
|
12
|
+
* Uses sentinel hostname `aquaman.local` — SDK base URLs are set to
|
|
13
|
+
* `http://aquaman.local/<service>` and the interceptor routes them through UDS.
|
|
14
|
+
*/
|
|
15
|
+
import { Agent } from 'undici';
|
|
16
|
+
/** Sentinel hostname used in SDK base URLs to route through UDS */
|
|
17
|
+
const PROXY_HOST = 'aquaman.local';
|
|
18
|
+
export class HttpInterceptor {
|
|
19
|
+
socketPath;
|
|
20
|
+
hostMap;
|
|
21
|
+
originalFetch = null;
|
|
22
|
+
active = false;
|
|
23
|
+
log;
|
|
24
|
+
socketAgent = null;
|
|
25
|
+
constructor(options) {
|
|
26
|
+
this.socketPath = options.socketPath;
|
|
27
|
+
this.hostMap = options.hostMap;
|
|
28
|
+
this.log = options.log || (() => { });
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Activate the interceptor by replacing globalThis.fetch.
|
|
32
|
+
*/
|
|
33
|
+
activate() {
|
|
34
|
+
if (this.active)
|
|
35
|
+
return;
|
|
36
|
+
this.originalFetch = globalThis.fetch;
|
|
37
|
+
this.socketAgent = new Agent({ connect: { socketPath: this.socketPath } });
|
|
38
|
+
const origFetch = this.originalFetch;
|
|
39
|
+
const socketAgent = this.socketAgent;
|
|
40
|
+
const matchHost = this.matchHost.bind(this);
|
|
41
|
+
const extractUrl = this.extractUrl.bind(this);
|
|
42
|
+
const stripAuthHeaders = this.stripAuthHeaders.bind(this);
|
|
43
|
+
const logFn = this.log;
|
|
44
|
+
globalThis.fetch = (input, init) => {
|
|
45
|
+
const url = extractUrl(input);
|
|
46
|
+
if (!url) {
|
|
47
|
+
return origFetch.call(globalThis, input, init);
|
|
48
|
+
}
|
|
49
|
+
// SDK traffic via env vars (hostname = aquaman.local) — route through UDS
|
|
50
|
+
if (url.hostname === PROXY_HOST) {
|
|
51
|
+
return origFetch.call(globalThis, input, { ...init, dispatcher: socketAgent });
|
|
52
|
+
}
|
|
53
|
+
// Channel traffic — match against host map
|
|
54
|
+
const service = matchHost(url.hostname);
|
|
55
|
+
if (!service) {
|
|
56
|
+
return origFetch.call(globalThis, input, init);
|
|
57
|
+
}
|
|
58
|
+
// Rewrite the URL to go through the proxy
|
|
59
|
+
const proxyUrl = `http://${PROXY_HOST}/${service}${url.pathname}${url.search}`;
|
|
60
|
+
logFn(`[aquaman] Intercepted ${url.hostname}${url.pathname} → ${service}`);
|
|
61
|
+
// Strip any existing authorization headers — the proxy will inject the real ones
|
|
62
|
+
let newInit = init;
|
|
63
|
+
if (init?.headers) {
|
|
64
|
+
const stripped = stripAuthHeaders(init.headers);
|
|
65
|
+
newInit = { ...init, headers: stripped };
|
|
66
|
+
}
|
|
67
|
+
return origFetch.call(globalThis, proxyUrl, { ...newInit, redirect: 'manual', dispatcher: socketAgent });
|
|
68
|
+
};
|
|
69
|
+
this.active = true;
|
|
70
|
+
this.log(`[aquaman] HTTP interceptor active for ${this.hostMap.size} host patterns`);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Deactivate the interceptor and restore the original fetch.
|
|
74
|
+
*/
|
|
75
|
+
deactivate() {
|
|
76
|
+
if (!this.active || !this.originalFetch)
|
|
77
|
+
return;
|
|
78
|
+
globalThis.fetch = this.originalFetch;
|
|
79
|
+
this.originalFetch = null;
|
|
80
|
+
this.active = false;
|
|
81
|
+
if (this.socketAgent) {
|
|
82
|
+
this.socketAgent.close();
|
|
83
|
+
this.socketAgent = null;
|
|
84
|
+
}
|
|
85
|
+
this.log('[aquaman] HTTP interceptor deactivated');
|
|
86
|
+
}
|
|
87
|
+
isActive() {
|
|
88
|
+
return this.active;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Match a hostname against the host map, supporting wildcard patterns.
|
|
92
|
+
*/
|
|
93
|
+
matchHost(hostname) {
|
|
94
|
+
// Direct match
|
|
95
|
+
const direct = this.hostMap.get(hostname);
|
|
96
|
+
if (direct)
|
|
97
|
+
return direct;
|
|
98
|
+
// Wildcard match: *.example.com matches sub.example.com
|
|
99
|
+
for (const [pattern, service] of this.hostMap) {
|
|
100
|
+
if (pattern.startsWith('*.') && hostname.endsWith(pattern.slice(1))) {
|
|
101
|
+
return service;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
extractUrl(input) {
|
|
107
|
+
try {
|
|
108
|
+
if (input instanceof URL)
|
|
109
|
+
return input;
|
|
110
|
+
if (typeof input === 'string')
|
|
111
|
+
return new URL(input);
|
|
112
|
+
if (typeof input === 'object' && 'url' in input)
|
|
113
|
+
return new URL(input.url);
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
// Not a valid URL — pass through
|
|
117
|
+
}
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
stripAuthHeaders(headers) {
|
|
121
|
+
if (headers instanceof Headers) {
|
|
122
|
+
const h = new Headers(headers);
|
|
123
|
+
h.delete('authorization');
|
|
124
|
+
h.delete('x-api-key');
|
|
125
|
+
return h;
|
|
126
|
+
}
|
|
127
|
+
if (Array.isArray(headers)) {
|
|
128
|
+
return headers.filter(([key]) => key.toLowerCase() !== 'authorization' && key.toLowerCase() !== 'x-api-key');
|
|
129
|
+
}
|
|
130
|
+
// Plain object
|
|
131
|
+
const result = {};
|
|
132
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
133
|
+
if (key.toLowerCase() !== 'authorization' && key.toLowerCase() !== 'x-api-key') {
|
|
134
|
+
result[key] = value;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return result;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
export function createHttpInterceptor(options) {
|
|
141
|
+
return new HttpInterceptor(options);
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=http-interceptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-interceptor.js","sourceRoot":"","sources":["../../src/http-interceptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proxy health and discovery utilities.
|
|
3
|
+
*
|
|
4
|
+
* Separated from index.ts to avoid co-locating network calls with env reads
|
|
5
|
+
* (triggers OpenClaw code safety scanner env-harvesting false positive).
|
|
6
|
+
*
|
|
7
|
+
* Uses http.request with socketPath for UDS communication.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Request host map from proxy's /_hostmap endpoint via UDS.
|
|
11
|
+
* Returns an empty map if the endpoint is unavailable (caller handles fallback).
|
|
12
|
+
*/
|
|
13
|
+
export declare function loadHostMap(socketPath: string): Promise<Map<string, string>>;
|
|
14
|
+
/**
|
|
15
|
+
* Check if a proxy is running on the given socket path.
|
|
16
|
+
*/
|
|
17
|
+
export declare function isProxyRunning(socketPath: string): Promise<boolean>;
|
|
18
|
+
/**
|
|
19
|
+
* Get the version of a running proxy from its /_health endpoint via UDS.
|
|
20
|
+
* Returns null if the proxy is not running or doesn't report version.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getProxyVersion(socketPath: string): Promise<string | null>;
|
|
23
|
+
//# sourceMappingURL=proxy-health.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy-health.d.ts","sourceRoot":"","sources":["../../src/proxy-health.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA6BH;;;GAGG;AACH,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAMlF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGzE;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMhF"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proxy health and discovery utilities.
|
|
3
|
+
*
|
|
4
|
+
* Separated from index.ts to avoid co-locating network calls with env reads
|
|
5
|
+
* (triggers OpenClaw code safety scanner env-harvesting false positive).
|
|
6
|
+
*
|
|
7
|
+
* Uses http.request with socketPath for UDS communication.
|
|
8
|
+
*/
|
|
9
|
+
import * as http from 'node:http';
|
|
10
|
+
/**
|
|
11
|
+
* Make an HTTP request over a Unix domain socket.
|
|
12
|
+
*/
|
|
13
|
+
function udsRequest(socketPath, urlPath, timeoutMs = 3000) {
|
|
14
|
+
return new Promise((resolve) => {
|
|
15
|
+
const req = http.request({ socketPath, path: urlPath, method: 'GET' }, (res) => {
|
|
16
|
+
let body = '';
|
|
17
|
+
res.on('data', (chunk) => { body += chunk; });
|
|
18
|
+
res.on('end', () => {
|
|
19
|
+
try {
|
|
20
|
+
resolve({ ok: res.statusCode === 200, data: JSON.parse(body) });
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
resolve({ ok: false, data: null });
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
req.on('error', () => resolve({ ok: false, data: null }));
|
|
28
|
+
req.setTimeout(timeoutMs, () => { req.destroy(); resolve({ ok: false, data: null }); });
|
|
29
|
+
req.end();
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Request host map from proxy's /_hostmap endpoint via UDS.
|
|
34
|
+
* Returns an empty map if the endpoint is unavailable (caller handles fallback).
|
|
35
|
+
*/
|
|
36
|
+
export async function loadHostMap(socketPath) {
|
|
37
|
+
const result = await udsRequest(socketPath, '/_hostmap');
|
|
38
|
+
if (result.ok && result.data) {
|
|
39
|
+
return new Map(Object.entries(result.data));
|
|
40
|
+
}
|
|
41
|
+
return new Map();
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Check if a proxy is running on the given socket path.
|
|
45
|
+
*/
|
|
46
|
+
export async function isProxyRunning(socketPath) {
|
|
47
|
+
const result = await udsRequest(socketPath, '/_health');
|
|
48
|
+
return result.ok;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get the version of a running proxy from its /_health endpoint via UDS.
|
|
52
|
+
* Returns null if the proxy is not running or doesn't report version.
|
|
53
|
+
*/
|
|
54
|
+
export async function getProxyVersion(socketPath) {
|
|
55
|
+
const result = await udsRequest(socketPath, '/_health');
|
|
56
|
+
if (result.ok && result.data?.version) {
|
|
57
|
+
return result.data.version;
|
|
58
|
+
}
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=proxy-health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy-health.js","sourceRoot":"","sources":["../../src/proxy-health.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;GAEG;AACH,SAAS,UAAU,CAAC,UAAkB,EAAE,OAAe,EAAE,YAAoB,IAAI;IAC/E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CACtB,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAC5C,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,IAAI,CAAC;oBACH,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClE,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QACF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1D,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAkB;IAClD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACzD,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAA8B,CAAC,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,IAAI,GAAG,EAAE,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAkB;IACrD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC,EAAE,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAAkB;IACtD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACxD,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proxy process lifecycle manager
|
|
3
|
+
*
|
|
4
|
+
* Spawns and manages the aquaman proxy daemon as a separate process
|
|
5
|
+
* for maximum credential isolation. Communicates via Unix domain socket.
|
|
6
|
+
*/
|
|
7
|
+
import type { PluginConfig } from './config-schema.js';
|
|
8
|
+
/**
|
|
9
|
+
* Find the aquaman proxy binary.
|
|
10
|
+
*
|
|
11
|
+
* Search order:
|
|
12
|
+
* 1. Plugin's own node_modules/.bin/aquaman (bundled dep — version-matched)
|
|
13
|
+
* 2. PATH (global install via npm install -g aquaman-proxy)
|
|
14
|
+
*/
|
|
15
|
+
export declare function findAquamanProxyBinary(): string | null;
|
|
16
|
+
/**
|
|
17
|
+
* Execute an aquaman proxy CLI command (non-interactive).
|
|
18
|
+
* Captures stdout/stderr and returns them.
|
|
19
|
+
*/
|
|
20
|
+
export declare function execAquamanProxyCli(args: string[], options?: {
|
|
21
|
+
timeoutMs?: number;
|
|
22
|
+
}): Promise<{
|
|
23
|
+
stdout: string;
|
|
24
|
+
stderr: string;
|
|
25
|
+
exitCode: number;
|
|
26
|
+
}>;
|
|
27
|
+
/**
|
|
28
|
+
* Execute an aquaman proxy CLI command interactively (stdio: inherit).
|
|
29
|
+
* Used for commands that need TTY input (setup, credentials add).
|
|
30
|
+
*/
|
|
31
|
+
export declare function execAquamanProxyInteractive(args: string[]): Promise<number>;
|
|
32
|
+
export interface ProxyConnectionInfo {
|
|
33
|
+
ready: boolean;
|
|
34
|
+
socketPath: string;
|
|
35
|
+
services: string[];
|
|
36
|
+
backend: string;
|
|
37
|
+
hostMap?: Record<string, string>;
|
|
38
|
+
}
|
|
39
|
+
export interface ProxyManagerOptions {
|
|
40
|
+
config: PluginConfig;
|
|
41
|
+
onReady?: (info: ProxyConnectionInfo) => void;
|
|
42
|
+
onError?: (error: Error) => void;
|
|
43
|
+
onExit?: (code: number | null) => void;
|
|
44
|
+
}
|
|
45
|
+
export declare class ProxyManager {
|
|
46
|
+
private process;
|
|
47
|
+
private options;
|
|
48
|
+
private connectionInfo;
|
|
49
|
+
private starting;
|
|
50
|
+
private startPromise;
|
|
51
|
+
constructor(options: ProxyManagerOptions);
|
|
52
|
+
/**
|
|
53
|
+
* Start the proxy process
|
|
54
|
+
*/
|
|
55
|
+
start(): Promise<ProxyConnectionInfo>;
|
|
56
|
+
private doStart;
|
|
57
|
+
/**
|
|
58
|
+
* Stop the proxy process
|
|
59
|
+
*/
|
|
60
|
+
stop(): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Check if proxy is running
|
|
63
|
+
*/
|
|
64
|
+
isRunning(): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Get connection info
|
|
67
|
+
*/
|
|
68
|
+
getConnectionInfo(): ProxyConnectionInfo | null;
|
|
69
|
+
/**
|
|
70
|
+
* Get socket path
|
|
71
|
+
*/
|
|
72
|
+
getSocketPath(): string | null;
|
|
73
|
+
/**
|
|
74
|
+
* Find the aquaman proxy binary
|
|
75
|
+
*/
|
|
76
|
+
private findBinary;
|
|
77
|
+
}
|
|
78
|
+
export declare function createProxyManager(options: ProxyManagerOptions): ProxyManager;
|
|
79
|
+
//# sourceMappingURL=proxy-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy-manager.d.ts","sourceRoot":"","sources":["../../src/proxy-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAuBtD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgC/D;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC9C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACxC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAA6C;gBAErD,OAAO,EAAE,mBAAmB;IAIxC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,mBAAmB,CAAC;YAqB7B,OAAO;IA0FrB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB3B;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,iBAAiB,IAAI,mBAAmB,GAAG,IAAI;IAI/C;;OAEG;IACH,aAAa,IAAI,MAAM,GAAG,IAAI;IAI9B;;OAEG;IACH,OAAO,CAAC,UAAU;CAGnB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAE7E"}
|