aquaman-proxy 0.14.1 → 0.16.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 +31 -6
- package/dist/broker-scope.d.ts +89 -0
- package/dist/broker-scope.d.ts.map +1 -0
- package/dist/broker-scope.js +186 -0
- package/dist/broker-scope.js.map +1 -0
- package/dist/cli/index.js +544 -53
- package/dist/cli/index.js.map +1 -1
- package/dist/core/credentials/backends/keeper.d.ts +69 -0
- package/dist/core/credentials/backends/keeper.d.ts.map +1 -0
- package/dist/core/credentials/backends/keeper.js +189 -0
- package/dist/core/credentials/backends/keeper.js.map +1 -0
- package/dist/core/credentials/store.d.ts +2 -0
- package/dist/core/credentials/store.d.ts.map +1 -1
- package/dist/core/credentials/store.js +7 -0
- package/dist/core/credentials/store.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/redactor/index.d.ts.map +1 -1
- package/dist/core/redactor/index.js +10 -0
- package/dist/core/redactor/index.js.map +1 -1
- package/dist/core/types.d.ts +19 -3
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/utils/config.d.ts +11 -1
- package/dist/core/utils/config.d.ts.map +1 -1
- package/dist/core/utils/config.js +39 -4
- package/dist/core/utils/config.js.map +1 -1
- package/dist/core/utils/index.d.ts +1 -1
- package/dist/core/utils/index.d.ts.map +1 -1
- package/dist/core/utils/index.js +1 -1
- package/dist/core/utils/index.js.map +1 -1
- package/dist/daemon.d.ts +36 -0
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +136 -15
- package/dist/daemon.js.map +1 -1
- package/dist/hermes/config-writer.d.ts +19 -0
- package/dist/hermes/config-writer.d.ts.map +1 -1
- package/dist/hermes/config-writer.js +51 -1
- package/dist/hermes/config-writer.js.map +1 -1
- package/dist/index.d.ts +7 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -5
- package/dist/index.js.map +1 -1
- package/dist/migration/openclaw-migrator.d.ts.map +1 -1
- package/dist/migration/openclaw-migrator.js +7 -6
- package/dist/migration/openclaw-migrator.js.map +1 -1
- package/dist/openclaw/channel-routing.d.ts +81 -0
- package/dist/openclaw/channel-routing.d.ts.map +1 -0
- package/dist/openclaw/channel-routing.js +152 -0
- package/dist/openclaw/channel-routing.js.map +1 -0
- package/dist/openclaw/integration.d.ts +18 -0
- package/dist/openclaw/integration.d.ts.map +1 -1
- package/dist/openclaw/integration.js +32 -0
- package/dist/openclaw/integration.js.map +1 -1
- package/dist/openclaw/secretref.d.ts +35 -6
- package/dist/openclaw/secretref.d.ts.map +1 -1
- package/dist/openclaw/secretref.js +73 -8
- package/dist/openclaw/secretref.js.map +1 -1
- package/dist/request-policy.d.ts +7 -0
- package/dist/request-policy.d.ts.map +1 -1
- package/dist/request-policy.js +31 -2
- package/dist/request-policy.js.map +1 -1
- package/dist/service-registry.d.ts +8 -0
- package/dist/service-registry.d.ts.map +1 -1
- package/dist/service-registry.js +11 -4
- package/dist/service-registry.js.map +1 -1
- package/package.json +3 -3
|
@@ -21,12 +21,13 @@ export const DEFAULT_CACHE_TTL_SECONDS = 900;
|
|
|
21
21
|
/**
|
|
22
22
|
* Backends where the cache defaults ON: every read has a per-access cost
|
|
23
23
|
* (1Password: a biometric prompt per `op` spawn in desktop-app mode;
|
|
24
|
-
* Bitwarden: ~1-2s `bw` spawn; Vault: an HTTP round-trip
|
|
24
|
+
* Bitwarden: ~1-2s `bw` spawn; Vault: an HTTP round-trip; Keeper: a
|
|
25
|
+
* Commander spawn that logs in and syncs the vault). The remaining
|
|
25
26
|
* backends are already fast (keychain) or cache internally for the daemon
|
|
26
27
|
* lifetime (keepassxc, systemd-creds, encrypted-file), so the default there
|
|
27
28
|
* is OFF — an explicit cacheTtlSeconds still applies to any backend.
|
|
28
29
|
*/
|
|
29
|
-
export const CACHED_BY_DEFAULT_BACKENDS = ['1password', 'bitwarden', 'vault'];
|
|
30
|
+
export const CACHED_BY_DEFAULT_BACKENDS = ['1password', 'bitwarden', 'vault', 'keeper'];
|
|
30
31
|
/**
|
|
31
32
|
* Resolve the effective credential-cache TTL (seconds) for daemon contexts.
|
|
32
33
|
* Explicit credentials.cacheTtlSeconds always wins (0 = disabled); otherwise
|
|
@@ -46,8 +47,23 @@ export function resolveCacheTtl(config) {
|
|
|
46
47
|
* agent host as the provider api_key; the proxy strips it and injects the real
|
|
47
48
|
* credential. Prefixed so it's recognizable in `~/.hermes/.env` and logs.
|
|
48
49
|
*/
|
|
50
|
+
/** Every generated loopback token starts with this, so it is recognizable. */
|
|
51
|
+
export const LOOPBACK_TOKEN_PREFIX = 'aqm_lb_';
|
|
49
52
|
export function generateLoopbackToken() {
|
|
50
|
-
return
|
|
53
|
+
return LOOPBACK_TOKEN_PREFIX + crypto.randomBytes(24).toString('hex');
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* True for a value aquaman itself wrote into a host's config as a stand-in
|
|
57
|
+
* for a credential: the static placeholder, an `aquaman://` reference, or a
|
|
58
|
+
* loopback token. None of them work against the vendor API, so tools that
|
|
59
|
+
* hunt for plaintext credentials must not report them as findings.
|
|
60
|
+
*/
|
|
61
|
+
export function isAquamanPlaceholder(value) {
|
|
62
|
+
if (typeof value !== 'string')
|
|
63
|
+
return false;
|
|
64
|
+
return (value === 'aquaman-proxy-managed' ||
|
|
65
|
+
value.startsWith('aquaman://') ||
|
|
66
|
+
value.startsWith(LOOPBACK_TOKEN_PREFIX));
|
|
51
67
|
}
|
|
52
68
|
export function getConfigDir() {
|
|
53
69
|
return process.env['AQUAMAN_CONFIG_DIR'] || DEFAULT_CONFIG_DIR;
|
|
@@ -89,6 +105,10 @@ export function getDefaultConfig() {
|
|
|
89
105
|
},
|
|
90
106
|
hermes: {
|
|
91
107
|
configMethod: 'dotenv'
|
|
108
|
+
},
|
|
109
|
+
broker: {
|
|
110
|
+
enabled: true,
|
|
111
|
+
allowedRefs: []
|
|
92
112
|
}
|
|
93
113
|
};
|
|
94
114
|
}
|
|
@@ -116,7 +136,7 @@ export function applyEnvOverrides(config) {
|
|
|
116
136
|
const env = process.env;
|
|
117
137
|
if (env['AQUAMAN_BACKEND']) {
|
|
118
138
|
const b = env['AQUAMAN_BACKEND'];
|
|
119
|
-
if (['keychain', '1password', 'vault', 'encrypted-file', 'keepassxc', 'systemd-creds', 'bitwarden'].includes(b)) {
|
|
139
|
+
if (['keychain', '1password', 'vault', 'encrypted-file', 'keepassxc', 'systemd-creds', 'bitwarden', 'keeper'].includes(b)) {
|
|
120
140
|
config.credentials.backend = b;
|
|
121
141
|
}
|
|
122
142
|
}
|
|
@@ -147,6 +167,12 @@ export function applyEnvOverrides(config) {
|
|
|
147
167
|
if (env['AQUAMAN_BITWARDEN_COLLECTION_ID']) {
|
|
148
168
|
config.credentials.bitwardenCollectionId = env['AQUAMAN_BITWARDEN_COLLECTION_ID'];
|
|
149
169
|
}
|
|
170
|
+
if (env['AQUAMAN_KEEPER_FOLDER_UID']) {
|
|
171
|
+
config.credentials.keeperFolderUid = env['AQUAMAN_KEEPER_FOLDER_UID'];
|
|
172
|
+
}
|
|
173
|
+
if (env['AQUAMAN_KEEPER_CONFIG']) {
|
|
174
|
+
config.credentials.keeperConfigPath = env['AQUAMAN_KEEPER_CONFIG'];
|
|
175
|
+
}
|
|
150
176
|
// Credential-cache TTL override (v0.13.1+). Integer seconds; 0 disables.
|
|
151
177
|
if (env['AQUAMAN_CACHE_TTL']) {
|
|
152
178
|
const t = Number(env['AQUAMAN_CACHE_TTL']);
|
|
@@ -171,6 +197,12 @@ export function applyEnvOverrides(config) {
|
|
|
171
197
|
config.loopback = config.loopback ?? { enabled: false, port: DEFAULT_LOOPBACK_PORT, host: '127.0.0.1' };
|
|
172
198
|
config.loopback.token = env['AQUAMAN_LOOPBACK_TOKEN'];
|
|
173
199
|
}
|
|
200
|
+
// Credential broker switch (v0.15.0+). Only 'false' disables; the broker is
|
|
201
|
+
// still limited to declared refs when on.
|
|
202
|
+
if (env['AQUAMAN_BROKER_ENABLED']) {
|
|
203
|
+
config.broker = config.broker ?? { enabled: true, allowedRefs: [] };
|
|
204
|
+
config.broker.enabled = env['AQUAMAN_BROKER_ENABLED'] !== 'false';
|
|
205
|
+
}
|
|
174
206
|
return config;
|
|
175
207
|
}
|
|
176
208
|
function mergeConfig(base, override) {
|
|
@@ -203,6 +235,9 @@ function mergeConfig(base, override) {
|
|
|
203
235
|
hermes: override.hermes !== undefined
|
|
204
236
|
? { ...base.hermes, ...override.hermes }
|
|
205
237
|
: base.hermes,
|
|
238
|
+
broker: override.broker !== undefined
|
|
239
|
+
? { ...base.broker, ...override.broker }
|
|
240
|
+
: base.broker,
|
|
206
241
|
policy: override.policy !== undefined ? { ...base.policy, ...override.policy } : base.policy
|
|
207
242
|
};
|
|
208
243
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/utils/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAGtE,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAC/D,MAAM,WAAW,GAAG,aAAa,CAAC;AAElC,gEAAgE;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAE1C,0EAA0E;AAC1E,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAE7C
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/utils/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Utility functions for aquaman
|
|
3
3
|
*/
|
|
4
4
|
export { computeHash, computeChainedHash, generateId, generateNonce, generateSigningKeyPair, sign, verify, encryptWithPassword, decryptWithPassword, generateSelfSignedCert, type SigningKeyPair, type SelfSignedCert } from './hash.js';
|
|
5
|
-
export { getConfigDir, getConfigPath, expandPath, getDefaultConfig, loadConfig, ensureConfigDir, saveConfig, applyEnvOverrides, generateLoopbackToken, DEFAULT_LOOPBACK_PORT, DEFAULT_CACHE_TTL_SECONDS, CACHED_BY_DEFAULT_BACKENDS, resolveCacheTtl } from './config.js';
|
|
5
|
+
export { getConfigDir, getConfigPath, expandPath, getDefaultConfig, loadConfig, ensureConfigDir, saveConfig, applyEnvOverrides, generateLoopbackToken, isAquamanPlaceholder, LOOPBACK_TOKEN_PREFIX, DEFAULT_LOOPBACK_PORT, DEFAULT_CACHE_TTL_SECONDS, CACHED_BY_DEFAULT_BACKENDS, resolveCacheTtl } from './config.js';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,IAAI,EACJ,MAAM,EACN,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EAChB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,IAAI,EACJ,MAAM,EACN,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EAChB,MAAM,aAAa,CAAC"}
|
package/dist/core/utils/index.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Utility functions for aquaman
|
|
3
3
|
*/
|
|
4
4
|
export { computeHash, computeChainedHash, generateId, generateNonce, generateSigningKeyPair, sign, verify, encryptWithPassword, decryptWithPassword, generateSelfSignedCert } from './hash.js';
|
|
5
|
-
export { getConfigDir, getConfigPath, expandPath, getDefaultConfig, loadConfig, ensureConfigDir, saveConfig, applyEnvOverrides, generateLoopbackToken, DEFAULT_LOOPBACK_PORT, DEFAULT_CACHE_TTL_SECONDS, CACHED_BY_DEFAULT_BACKENDS, resolveCacheTtl } from './config.js';
|
|
5
|
+
export { getConfigDir, getConfigPath, expandPath, getDefaultConfig, loadConfig, ensureConfigDir, saveConfig, applyEnvOverrides, generateLoopbackToken, isAquamanPlaceholder, LOOPBACK_TOKEN_PREFIX, DEFAULT_LOOPBACK_PORT, DEFAULT_CACHE_TTL_SECONDS, CACHED_BY_DEFAULT_BACKENDS, resolveCacheTtl } from './config.js';
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,IAAI,EACJ,MAAM,EACN,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EAGvB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EAChB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,IAAI,EACJ,MAAM,EACN,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EAGvB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EAChB,MAAM,aAAa,CAAC"}
|
package/dist/daemon.d.ts
CHANGED
|
@@ -5,6 +5,28 @@
|
|
|
5
5
|
import { type CredentialStore } from './core/index.js';
|
|
6
6
|
import { ServiceRegistry, type ServiceDefinition } from './service-registry.js';
|
|
7
7
|
import { type PolicyConfig } from './request-policy.js';
|
|
8
|
+
import type { BrokerScope } from './broker-scope.js';
|
|
9
|
+
/**
|
|
10
|
+
* A url-path service carries its credential in a path segment instead of a
|
|
11
|
+
* header (Telegram: `/bot<TOKEN>/sendMessage`). A client pointed at us sends
|
|
12
|
+
* that segment filled with whatever it has — a placeholder, or on the loopback
|
|
13
|
+
* listener the aquaman token, because the segment is the only auth slot the
|
|
14
|
+
* shape has.
|
|
15
|
+
*/
|
|
16
|
+
export interface UrlPathCredentialSlot {
|
|
17
|
+
/** Index of the credential segment within the service-relative path. */
|
|
18
|
+
index: number;
|
|
19
|
+
/** What the client put there. Never forwarded upstream. */
|
|
20
|
+
presented: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Locate the credential segment in a service-relative path.
|
|
24
|
+
*
|
|
25
|
+
* Returns null when the client sent no such segment, which is the shape the
|
|
26
|
+
* plugin's fetch interceptor produces (`/telegram/sendMessage`). Callers then
|
|
27
|
+
* insert the credential at index 0, the pre-v0.15.0 behaviour.
|
|
28
|
+
*/
|
|
29
|
+
export declare function findUrlPathCredentialSlot(segments: string[], authPathTemplate: string): UrlPathCredentialSlot | null;
|
|
8
30
|
export interface CredentialProxyOptions {
|
|
9
31
|
socketPath: string;
|
|
10
32
|
store: CredentialStore;
|
|
@@ -25,6 +47,13 @@ export interface CredentialProxyOptions {
|
|
|
25
47
|
token: string;
|
|
26
48
|
host?: string;
|
|
27
49
|
};
|
|
50
|
+
/**
|
|
51
|
+
* Credential broker (`POST /broker/resolve`) scope. When omitted the broker
|
|
52
|
+
* is OFF: the endpoint refuses every request without touching the vault.
|
|
53
|
+
* Only `aquaman daemon` passes a scope; OpenClaw-hosted proxies never do.
|
|
54
|
+
* See broker-scope.ts for the rules.
|
|
55
|
+
*/
|
|
56
|
+
broker?: BrokerScope;
|
|
28
57
|
}
|
|
29
58
|
export interface RequestInfo {
|
|
30
59
|
id: string;
|
|
@@ -58,6 +87,13 @@ export declare class CredentialProxy {
|
|
|
58
87
|
* explicit `x-aquaman-token`. Comparison is constant-time.
|
|
59
88
|
*/
|
|
60
89
|
private isLoopbackTokenValid;
|
|
90
|
+
/**
|
|
91
|
+
* A url-path service sends no auth header at all, so the loopback token can
|
|
92
|
+
* only arrive in the credential segment. OpenClaw's Telegram channel, for
|
|
93
|
+
* instance, is pointed at us with `channels.telegram.apiRoot` and a
|
|
94
|
+
* placeholder bot token; the placeholder it sends is the loopback token.
|
|
95
|
+
*/
|
|
96
|
+
private urlPathTokenCandidate;
|
|
61
97
|
private handleRequest;
|
|
62
98
|
private proxyRequest;
|
|
63
99
|
private emitRequest;
|
package/dist/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAAE,KAAK,eAAe,EAAc,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAyB,KAAK,iBAAiB,EAAiB,MAAM,uBAAuB,CAAC;AAEtH,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAAE,KAAK,eAAe,EAAc,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAyB,KAAK,iBAAiB,EAAiB,MAAM,uBAAuB,CAAC;AAEtH,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB;AASD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAAE,EAClB,gBAAgB,EAAE,MAAM,GACvB,qBAAqB,GAAG,IAAI,CAiB9B;AAuBD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,eAAe,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAkB;gBAExB,OAAO,EAAE,sBAAsB;IAMrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuE5B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IA2B5B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;YAaf,aAAa;YAiMb,YAAY;IAqI1B,OAAO,CAAC,WAAW;IAMnB;;;;;;;;;;;;;;;;;;OAkBG;YACW,mBAAmB;IA4J3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B3B,SAAS,IAAI,OAAO;IAIpB,aAAa,IAAI,MAAM;IAIvB;;;;OAIG;IACH,kBAAkB,IAAI,MAAM,GAAG,IAAI;IAQnC,kBAAkB,IAAI,eAAe;IAIrC,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;CAGnD;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAEtF;AAED,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
|
package/dist/daemon.js
CHANGED
|
@@ -14,6 +14,40 @@ import { createOAuthTokenCache } from './oauth-token-cache.js';
|
|
|
14
14
|
import { matchPolicy } from './request-policy.js';
|
|
15
15
|
// Service name validation: lowercase alphanum, dots, hyphens, underscores
|
|
16
16
|
const SAFE_SERVICE_NAME = /^[a-z0-9][a-z0-9._-]*$/;
|
|
17
|
+
/**
|
|
18
|
+
* Only the first two segments are considered. Telegram builds exactly
|
|
19
|
+
* `/bot<TOKEN>/<method>` and `/file/bot<TOKEN>/<file_path>`, so a deeper scan
|
|
20
|
+
* would only add ways for a method or file name to be mistaken for the slot.
|
|
21
|
+
*/
|
|
22
|
+
const URL_PATH_SLOT_SCAN_DEPTH = 2;
|
|
23
|
+
/**
|
|
24
|
+
* Locate the credential segment in a service-relative path.
|
|
25
|
+
*
|
|
26
|
+
* Returns null when the client sent no such segment, which is the shape the
|
|
27
|
+
* plugin's fetch interceptor produces (`/telegram/sendMessage`). Callers then
|
|
28
|
+
* insert the credential at index 0, the pre-v0.15.0 behaviour.
|
|
29
|
+
*/
|
|
30
|
+
export function findUrlPathCredentialSlot(segments, authPathTemplate) {
|
|
31
|
+
const templateSegments = authPathTemplate.split('/').filter(s => s);
|
|
32
|
+
if (templateSegments.length !== 1)
|
|
33
|
+
return null;
|
|
34
|
+
const [prefix, suffix] = templateSegments[0].split('{token}');
|
|
35
|
+
if (suffix === undefined)
|
|
36
|
+
return null;
|
|
37
|
+
const depth = Math.min(segments.length, URL_PATH_SLOT_SCAN_DEPTH);
|
|
38
|
+
for (let index = 0; index < depth; index++) {
|
|
39
|
+
const segment = segments[index];
|
|
40
|
+
if (segment.length <= prefix.length + suffix.length)
|
|
41
|
+
continue;
|
|
42
|
+
if (!segment.startsWith(prefix) || !segment.endsWith(suffix))
|
|
43
|
+
continue;
|
|
44
|
+
return {
|
|
45
|
+
index,
|
|
46
|
+
presented: segment.slice(prefix.length, segment.length - suffix.length)
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
17
51
|
/**
|
|
18
52
|
* Constant-time string comparison that doesn't leak length via an early
|
|
19
53
|
* return. timingSafeEqual requires equal-length buffers, so unequal lengths
|
|
@@ -151,8 +185,30 @@ export class CredentialProxy {
|
|
|
151
185
|
if (authz) {
|
|
152
186
|
candidates.push(authz.replace(/^Bearer\s+/i, ''));
|
|
153
187
|
}
|
|
188
|
+
const pathBorne = this.urlPathTokenCandidate(req.url || '/');
|
|
189
|
+
if (pathBorne)
|
|
190
|
+
candidates.push(pathBorne);
|
|
154
191
|
return candidates.some(c => timingSafeStrEqual(c, expected));
|
|
155
192
|
}
|
|
193
|
+
/**
|
|
194
|
+
* A url-path service sends no auth header at all, so the loopback token can
|
|
195
|
+
* only arrive in the credential segment. OpenClaw's Telegram channel, for
|
|
196
|
+
* instance, is pointed at us with `channels.telegram.apiRoot` and a
|
|
197
|
+
* placeholder bot token; the placeholder it sends is the loopback token.
|
|
198
|
+
*/
|
|
199
|
+
urlPathTokenCandidate(url) {
|
|
200
|
+
const segments = url.split('/').filter(p => p);
|
|
201
|
+
const service = segments[0];
|
|
202
|
+
if (!service || !SAFE_SERVICE_NAME.test(service))
|
|
203
|
+
return undefined;
|
|
204
|
+
if (!this.options.allowedServices.includes(service))
|
|
205
|
+
return undefined;
|
|
206
|
+
const serviceDef = this.serviceRegistry.get(service);
|
|
207
|
+
if (!serviceDef || serviceDef.authMode !== 'url-path' || !serviceDef.authPathTemplate) {
|
|
208
|
+
return undefined;
|
|
209
|
+
}
|
|
210
|
+
return findUrlPathCredentialSlot(segments.slice(1), serviceDef.authPathTemplate)?.presented;
|
|
211
|
+
}
|
|
156
212
|
async handleRequest(req, res, fromLoopback = false) {
|
|
157
213
|
const requestId = generateId();
|
|
158
214
|
const url = req.url || '/';
|
|
@@ -164,7 +220,7 @@ export class CredentialProxy {
|
|
|
164
220
|
res.statusCode = 401;
|
|
165
221
|
res.end(JSON.stringify({
|
|
166
222
|
error: 'Loopback request rejected: missing or invalid aquaman loopback token',
|
|
167
|
-
fix: '
|
|
223
|
+
fix: 'The host must present the loopback token as its placeholder credential. Hermes: aquaman hermes status. OpenClaw: aquaman openclaw status'
|
|
168
224
|
}));
|
|
169
225
|
return;
|
|
170
226
|
}
|
|
@@ -187,13 +243,14 @@ export class CredentialProxy {
|
|
|
187
243
|
res.end(JSON.stringify(obj));
|
|
188
244
|
return;
|
|
189
245
|
}
|
|
190
|
-
// Broker endpoint
|
|
191
|
-
// with a short-lived expiry hint. Used by aquaman-coder
|
|
192
|
-
//
|
|
246
|
+
// Broker endpoint: resolves a vault-stored credential and returns its
|
|
247
|
+
// VALUE, with a short-lived expiry hint. Used by aquaman-coder (v0.12.0+)
|
|
248
|
+
// and the Hermes secret source (v0.14.0+) to materialize declared refs.
|
|
193
249
|
// The expires_at field is a hint for the consumer, not a server-side
|
|
194
|
-
// expiration
|
|
250
|
+
// expiration. Scoped since v0.15.0: off unless the proxy was built with a
|
|
251
|
+
// BrokerScope, and limited to declared refs when on (broker-scope.ts).
|
|
195
252
|
if ((url === '/broker/resolve' || url === '/broker/resolve/') && req.method === 'POST') {
|
|
196
|
-
await this.handleBrokerResolve(req, res, requestId);
|
|
253
|
+
await this.handleBrokerResolve(req, res, requestId, fromLoopback);
|
|
197
254
|
return;
|
|
198
255
|
}
|
|
199
256
|
// Parse service from path: /anthropic/v1/messages -> anthropic
|
|
@@ -228,12 +285,23 @@ export class CredentialProxy {
|
|
|
228
285
|
authPrefix: serviceDef.authPrefix,
|
|
229
286
|
credentialKey: serviceDef.credentialKey
|
|
230
287
|
};
|
|
231
|
-
|
|
288
|
+
// Split the credential segment out of a url-path request before anything
|
|
289
|
+
// else reads the path, so policy rules match the method (`/sendMessage`,
|
|
290
|
+
// not `/bot<TOKEN>/sendMessage`) and nothing observable records the token
|
|
291
|
+
// the client presented.
|
|
292
|
+
const serviceSegments = pathParts.slice(1);
|
|
293
|
+
const credentialSlot = authMode === 'url-path' && serviceDef.authPathTemplate
|
|
294
|
+
? findUrlPathCredentialSlot(serviceSegments, serviceDef.authPathTemplate)
|
|
295
|
+
: null;
|
|
296
|
+
const canonicalSegments = credentialSlot
|
|
297
|
+
? serviceSegments.filter((_, i) => i !== credentialSlot.index)
|
|
298
|
+
: serviceSegments;
|
|
299
|
+
const remainingPath = '/' + canonicalSegments.join('/');
|
|
232
300
|
const requestInfo = {
|
|
233
301
|
id: requestId,
|
|
234
302
|
service,
|
|
235
303
|
method: req.method || 'GET',
|
|
236
|
-
path: url,
|
|
304
|
+
path: credentialSlot ? `/${service}${remainingPath}` : url,
|
|
237
305
|
timestamp: new Date(),
|
|
238
306
|
authenticated: false
|
|
239
307
|
};
|
|
@@ -247,7 +315,7 @@ export class CredentialProxy {
|
|
|
247
315
|
res.setHeader('Content-Type', 'application/json');
|
|
248
316
|
res.statusCode = 403;
|
|
249
317
|
res.end(JSON.stringify({
|
|
250
|
-
error: `Request denied by policy: ${req.method || 'GET'} ${
|
|
318
|
+
error: `Request denied by policy: ${req.method || 'GET'} ${requestInfo.path}`,
|
|
251
319
|
fix: `Check policy rules for "${service}" in ~/.aquaman/config.yaml`
|
|
252
320
|
}));
|
|
253
321
|
return;
|
|
@@ -272,9 +340,31 @@ export class CredentialProxy {
|
|
|
272
340
|
// Build upstream URL based on auth mode
|
|
273
341
|
let upstreamPath;
|
|
274
342
|
if (authMode === 'url-path' && serviceDef.authPathTemplate) {
|
|
275
|
-
//
|
|
276
|
-
|
|
277
|
-
|
|
343
|
+
// Put the real token back in the position the client used it: index 0
|
|
344
|
+
// for `/bot<TOKEN>/sendMessage`, index 1 for the file-download shape
|
|
345
|
+
// `/file/bot<TOKEN>/<file_path>`. A client that sent no segment at all
|
|
346
|
+
// gets the credential prefixed, as before.
|
|
347
|
+
// A credential that contains a slash would silently become extra path
|
|
348
|
+
// segments and send the request somewhere the service definition never
|
|
349
|
+
// named. No url-path token has one; refuse rather than guess.
|
|
350
|
+
if (credential.includes('/')) {
|
|
351
|
+
requestInfo.error = 'Invalid credential: url-path token contains a slash';
|
|
352
|
+
requestInfo.statusCode = 500;
|
|
353
|
+
this.emitRequest(requestInfo);
|
|
354
|
+
res.setHeader('Content-Type', 'application/json');
|
|
355
|
+
res.statusCode = 500;
|
|
356
|
+
res.end(JSON.stringify({
|
|
357
|
+
error: `Stored credential ${service}/${config.credentialKey} is not a valid ${service} token`,
|
|
358
|
+
fix: `Re-add it: aquaman credentials add ${service} ${config.credentialKey}`
|
|
359
|
+
}));
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
const template = serviceDef.authPathTemplate;
|
|
363
|
+
const injected = (template.startsWith('/') ? template.slice(1) : template)
|
|
364
|
+
.replace('{token}', credential);
|
|
365
|
+
const segments = [...canonicalSegments];
|
|
366
|
+
segments.splice(credentialSlot?.index ?? 0, 0, injected);
|
|
367
|
+
upstreamPath = '/' + segments.join('/');
|
|
278
368
|
}
|
|
279
369
|
else {
|
|
280
370
|
upstreamPath = remainingPath;
|
|
@@ -384,8 +474,9 @@ export class CredentialProxy {
|
|
|
384
474
|
}
|
|
385
475
|
resolve();
|
|
386
476
|
});
|
|
387
|
-
// Add timeout to prevent indefinite hangs
|
|
388
|
-
|
|
477
|
+
// Add timeout to prevent indefinite hangs. Long-polling services declare
|
|
478
|
+
// a floor so a shorter global setting can't cut their polls short.
|
|
479
|
+
const timeout = Math.max(this.options.requestTimeout ?? 30000, serviceDef.minRequestTimeout ?? 0);
|
|
389
480
|
proxyReq.setTimeout(timeout, () => {
|
|
390
481
|
proxyReq.destroy();
|
|
391
482
|
requestInfo.error = 'Gateway timeout';
|
|
@@ -425,7 +516,7 @@ export class CredentialProxy {
|
|
|
425
516
|
* v0.12.0+ — used by the aquaman-coder hook adapters to materialize
|
|
426
517
|
* credentials per tool call without writing .env files to disk.
|
|
427
518
|
*/
|
|
428
|
-
async handleBrokerResolve(req, res, requestId) {
|
|
519
|
+
async handleBrokerResolve(req, res, requestId, fromLoopback) {
|
|
429
520
|
res.setHeader('Content-Type', 'application/json');
|
|
430
521
|
// Read request body
|
|
431
522
|
let bodyBuf = '';
|
|
@@ -481,6 +572,34 @@ export class CredentialProxy {
|
|
|
481
572
|
}
|
|
482
573
|
ttlSeconds = Math.floor(ttlInput);
|
|
483
574
|
}
|
|
575
|
+
// Scope check BEFORE the vault lookup: a refusal must not depend on (or
|
|
576
|
+
// reveal) what the vault holds. 404 rather than 403 so that clients which
|
|
577
|
+
// treat 401/403 as "bad token" (the Hermes source aborts all refs on
|
|
578
|
+
// those) handle a refusal per ref, like a missing credential.
|
|
579
|
+
const scope = this.options.broker;
|
|
580
|
+
const decision = scope
|
|
581
|
+
? scope.check(service, key, fromLoopback ? 'loopback' : 'uds')
|
|
582
|
+
: {
|
|
583
|
+
allowed: false,
|
|
584
|
+
code: 'broker_disabled',
|
|
585
|
+
reason: 'The credential broker is disabled on this proxy',
|
|
586
|
+
fix: 'OpenClaw-hosted proxies never hand out credential values. For coding agents or the Hermes secret source, run: aquaman daemon',
|
|
587
|
+
};
|
|
588
|
+
if (!decision.allowed) {
|
|
589
|
+
res.statusCode = 404;
|
|
590
|
+
res.end(JSON.stringify({ error: decision.reason, fix: decision.fix, code: decision.code }));
|
|
591
|
+
this.emitRequest({
|
|
592
|
+
id: requestId,
|
|
593
|
+
service,
|
|
594
|
+
method: 'BROKER',
|
|
595
|
+
path: '/broker/resolve',
|
|
596
|
+
timestamp: new Date(),
|
|
597
|
+
authenticated: false,
|
|
598
|
+
statusCode: 404,
|
|
599
|
+
error: `${decision.code}: ${service}/${key}`,
|
|
600
|
+
});
|
|
601
|
+
return;
|
|
602
|
+
}
|
|
484
603
|
// Fetch from vault
|
|
485
604
|
let value;
|
|
486
605
|
try {
|
|
@@ -519,6 +638,8 @@ export class CredentialProxy {
|
|
|
519
638
|
timestamp: new Date(),
|
|
520
639
|
authenticated: false,
|
|
521
640
|
statusCode: 404,
|
|
641
|
+
// Without an error the audit logger records this as a successful use.
|
|
642
|
+
error: `credential_not_found: ${service}/${key}`,
|
|
522
643
|
});
|
|
523
644
|
return;
|
|
524
645
|
}
|
package/dist/daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,6 +50,18 @@ export declare function hermesWiredServices(services: string[]): string[];
|
|
|
50
50
|
* to `~/.hermes`.
|
|
51
51
|
*/
|
|
52
52
|
export declare function getHermesEnvPath(homeDir: string): string;
|
|
53
|
+
/**
|
|
54
|
+
* `aquaman://` refs bound in the Hermes secret source (`secrets.aquaman.env`
|
|
55
|
+
* in `$HERMES_HOME/config.yaml`), excluding the LLM-provider vars the source
|
|
56
|
+
* refuses anyway. Read-only, for diagnostics: since v0.15.0 each of these
|
|
57
|
+
* must also be declared to the daemon's broker (`aquaman broker allow`), and
|
|
58
|
+
* `aquaman hermes doctor` uses this to say which ones aren't.
|
|
59
|
+
*/
|
|
60
|
+
export declare function hermesSecretSourceRefs(homeDir?: string): {
|
|
61
|
+
path: string;
|
|
62
|
+
refs: string[];
|
|
63
|
+
error?: string;
|
|
64
|
+
};
|
|
53
65
|
/**
|
|
54
66
|
* Write/merge the aquaman-managed block into `~/.hermes/.env`. Existing
|
|
55
67
|
* non-aquaman lines are preserved; the managed block is delimited by markers
|
|
@@ -65,6 +77,13 @@ export declare function writeHermesEnv(env: Record<string, string>, filePath: st
|
|
|
65
77
|
* tests; production callers use the default.
|
|
66
78
|
*/
|
|
67
79
|
export declare const HERMES_MANAGED_ENV_PATH = "/etc/hermes/.env";
|
|
80
|
+
/**
|
|
81
|
+
* The managed-scope .env Hermes actually loads. Hermes 0.21 lets the
|
|
82
|
+
* deployment relocate the scope with `HERMES_MANAGED_DIR` (non-empty wins over
|
|
83
|
+
* /etc/hermes; hermes_cli/managed_scope.py `get_managed_dir()`), so checking
|
|
84
|
+
* only /etc/hermes would miss a relocated policy.
|
|
85
|
+
*/
|
|
86
|
+
export declare function hermesManagedEnvPath(): string;
|
|
68
87
|
export declare function managedScopeShadowedKeys(ourEnv: Record<string, string>, managedEnvPath?: string): string[];
|
|
69
88
|
/** Format env vars for display (dry-run / export output). */
|
|
70
89
|
export declare function formatHermesEnvForDisplay(env: Record<string, string>): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-writer.d.ts","sourceRoot":"","sources":["../../src/hermes/config-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;
|
|
1
|
+
{"version":3,"file":"config-writer.d.ts","sourceRoot":"","sources":["../../src/hermes/config-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAWH,sEAAsE;AACtE,eAAO,MAAM,yBAAyB,kCAAmC,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgCjF;AAED,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,MAAqB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAwBvH;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CA8BlF;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,qBAAqB,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAG7C;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,cAAc,GAAE,MAA+B,GAC9C,MAAM,EAAE,CAaV;AAED,6DAA6D;AAC7D,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAI7E"}
|