aquaman-proxy 0.14.0 → 0.15.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 (57) hide show
  1. package/README.md +28 -5
  2. package/dist/broker-scope.d.ts +89 -0
  3. package/dist/broker-scope.d.ts.map +1 -0
  4. package/dist/broker-scope.js +186 -0
  5. package/dist/broker-scope.js.map +1 -0
  6. package/dist/cli/index.js +374 -35
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/core/index.d.ts +1 -1
  9. package/dist/core/index.d.ts.map +1 -1
  10. package/dist/core/index.js +1 -1
  11. package/dist/core/index.js.map +1 -1
  12. package/dist/core/types.d.ts +14 -0
  13. package/dist/core/types.d.ts.map +1 -1
  14. package/dist/core/utils/config.d.ts +9 -0
  15. package/dist/core/utils/config.d.ts.map +1 -1
  16. package/dist/core/utils/config.js +29 -1
  17. package/dist/core/utils/config.js.map +1 -1
  18. package/dist/core/utils/index.d.ts +1 -1
  19. package/dist/core/utils/index.d.ts.map +1 -1
  20. package/dist/core/utils/index.js +1 -1
  21. package/dist/core/utils/index.js.map +1 -1
  22. package/dist/daemon.d.ts +36 -0
  23. package/dist/daemon.d.ts.map +1 -1
  24. package/dist/daemon.js +136 -15
  25. package/dist/daemon.js.map +1 -1
  26. package/dist/hermes/config-writer.d.ts +19 -0
  27. package/dist/hermes/config-writer.d.ts.map +1 -1
  28. package/dist/hermes/config-writer.js +51 -1
  29. package/dist/hermes/config-writer.js.map +1 -1
  30. package/dist/index.d.ts +7 -5
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +9 -5
  33. package/dist/index.js.map +1 -1
  34. package/dist/migration/openclaw-migrator.d.ts.map +1 -1
  35. package/dist/migration/openclaw-migrator.js +7 -6
  36. package/dist/migration/openclaw-migrator.js.map +1 -1
  37. package/dist/openclaw/channel-routing.d.ts +81 -0
  38. package/dist/openclaw/channel-routing.d.ts.map +1 -0
  39. package/dist/openclaw/channel-routing.js +152 -0
  40. package/dist/openclaw/channel-routing.js.map +1 -0
  41. package/dist/openclaw/integration.d.ts +18 -0
  42. package/dist/openclaw/integration.d.ts.map +1 -1
  43. package/dist/openclaw/integration.js +32 -0
  44. package/dist/openclaw/integration.js.map +1 -1
  45. package/dist/openclaw/secretref.d.ts +35 -6
  46. package/dist/openclaw/secretref.d.ts.map +1 -1
  47. package/dist/openclaw/secretref.js +73 -8
  48. package/dist/openclaw/secretref.js.map +1 -1
  49. package/dist/request-policy.d.ts +7 -0
  50. package/dist/request-policy.d.ts.map +1 -1
  51. package/dist/request-policy.js +31 -2
  52. package/dist/request-policy.js.map +1 -1
  53. package/dist/service-registry.d.ts +8 -0
  54. package/dist/service-registry.d.ts.map +1 -1
  55. package/dist/service-registry.js +11 -4
  56. package/dist/service-registry.js.map +1 -1
  57. package/package.json +20 -6
@@ -0,0 +1,152 @@
1
+ /**
2
+ * Channel egress routing for the OpenClaw Gateway (v0.15.0+).
3
+ *
4
+ * The plugin's `globalThis.fetch` interceptor covered channel traffic until
5
+ * OpenClaw moved each channel onto its own undici dispatcher. Verified on
6
+ * 2026.7.33 and 2026.9.1: Telegram, Discord and Matrix build a dispatcher per
7
+ * request and never consult the global fetch, so the interceptor sees nothing
8
+ * and the channel token is used straight from openclaw.json.
9
+ *
10
+ * Routing therefore has to use whatever endpoint override the host exposes.
11
+ * Telegram has one (`channels.telegram.apiRoot`, a documented reverse-proxy
12
+ * and self-hosted Bot API knob), so it is pointed at the loopback listener.
13
+ * No other bundled channel has an equivalent: Discord and Slack expose none,
14
+ * and Matrix, Mattermost and Nextcloud Talk already point at the user's own
15
+ * server rather than a vendor API. Those stay at-rest-only, and
16
+ * `aquaman openclaw doctor` says so instead of implying coverage.
17
+ *
18
+ * The Bot API has no auth header: the token IS the `/bot<TOKEN>` path segment.
19
+ * So the placeholder we write as `botToken` is the loopback token, and the
20
+ * daemon accepts it from that segment (see findUrlPathCredentialSlot).
21
+ */
22
+ /** Channels whose endpoint the host lets us override. */
23
+ export const CHANNEL_ROUTING_SUPPORTED = ['telegram'];
24
+ /**
25
+ * Channels aquaman can store credentials for but cannot route on OpenClaw,
26
+ * because the host exposes no endpoint override for them. Used by doctor to
27
+ * report the gap rather than let it look like coverage.
28
+ */
29
+ export const CHANNEL_ROUTING_UNSUPPORTED = [
30
+ 'discord', 'slack', 'matrix', 'mattermost', 'line', 'twitch', 'telnyx',
31
+ 'zalo', 'twilio', 'bluebubbles', 'nextcloud-talk', 'msteams', 'feishu',
32
+ 'googlechat'
33
+ ];
34
+ /**
35
+ * The URL OpenClaw should call for a channel, given the proxy's loopback
36
+ * origin. Telegram's client appends `/bot<TOKEN>/<method>` and, for media,
37
+ * `/file/bot<TOKEN>/<file_path>` — both land on our `/telegram` route.
38
+ */
39
+ export function loopbackChannelBaseUrl(service, origin) {
40
+ // Trim trailing slashes without a regex: /\/+$/ backtracks polynomially on
41
+ // an origin ending in many slashes (CodeQL js/polynomial-redos).
42
+ let base = origin;
43
+ while (base.length > 0 && base.endsWith('/'))
44
+ base = base.slice(0, -1);
45
+ if (service === 'telegram')
46
+ return `${base}/telegram`;
47
+ return null;
48
+ }
49
+ /** An apiRoot aquaman owns, as opposed to a self-hosted Bot API server. */
50
+ function isAquamanChannelBaseUrl(value) {
51
+ if (typeof value !== 'string')
52
+ return false;
53
+ return /^http:\/\/(127\.0\.0\.1|localhost|\[::1\]):\d+\/[a-z0-9-]+\/?$/.test(value);
54
+ }
55
+ /**
56
+ * Merge channel egress routing into a parsed openclaw.json object.
57
+ * Mutates `config` in place (matching the CLI's existing merge style) and is
58
+ * idempotent.
59
+ *
60
+ * Wiring a channel is all-or-nothing: a half-wired channel (our apiRoot, their
61
+ * token, or ours with an empty vault) is a broken bot, so anything unexpected
62
+ * means the channel is left exactly as it was and reported.
63
+ */
64
+ export function wireChannelRouting(config, options) {
65
+ let changed = false;
66
+ const routedChannels = [];
67
+ const skipped = [];
68
+ const channels = config.channels;
69
+ if (!channels || typeof channels !== 'object') {
70
+ return { changed, routedChannels, skipped };
71
+ }
72
+ for (const channel of CHANNEL_ROUTING_SUPPORTED) {
73
+ const entry = channels[channel];
74
+ // Not configured at all: nothing to route, and nothing worth reporting.
75
+ if (!entry || typeof entry !== 'object')
76
+ continue;
77
+ // Multi-account channels map several bot tokens onto one service name,
78
+ // which the vault's single `telegram/bot_token` cannot represent.
79
+ const accounts = entry.accounts;
80
+ if (accounts && typeof accounts === 'object' && Object.keys(accounts).length > 0) {
81
+ skipped.push({ channel, reason: 'multi-account' });
82
+ continue;
83
+ }
84
+ // tokenFile and TELEGRAM_BOT_TOKEN are separate sources whose precedence
85
+ // over a config token we would be guessing at. Leave them alone.
86
+ if (typeof entry.tokenFile === 'string' && entry.tokenFile) {
87
+ skipped.push({ channel, reason: 'token-file' });
88
+ continue;
89
+ }
90
+ const desiredBase = loopbackChannelBaseUrl(channel, options.loopbackOrigin);
91
+ if (!desiredBase) {
92
+ skipped.push({ channel, reason: 'unroutable' });
93
+ continue;
94
+ }
95
+ // A self-hosted Bot API server or a regional reverse proxy. Routing
96
+ // through us would send their traffic to Telegram instead.
97
+ const currentBase = entry.apiRoot;
98
+ if (currentBase !== undefined && !isAquamanChannelBaseUrl(currentBase)) {
99
+ skipped.push({ channel, reason: 'user-endpoint' });
100
+ continue;
101
+ }
102
+ // Without the real token in the vault the proxy has nothing to inject, and
103
+ // overwriting their working token would take the bot down.
104
+ if (!options.hasVaultCredential(channel)) {
105
+ skipped.push({ channel, reason: 'no-vault-credential' });
106
+ continue;
107
+ }
108
+ if (currentBase !== desiredBase) {
109
+ entry.apiRoot = desiredBase;
110
+ changed = true;
111
+ }
112
+ if (entry.botToken !== options.loopbackToken) {
113
+ entry.botToken = options.loopbackToken;
114
+ changed = true;
115
+ }
116
+ routedChannels.push(channel);
117
+ }
118
+ return { changed, routedChannels, skipped };
119
+ }
120
+ /** Read-only status for `aquaman openclaw doctor`. */
121
+ export function channelRoutingStatus(config, options) {
122
+ const routed = [];
123
+ const notRouted = [];
124
+ const unroutable = [];
125
+ const channels = config?.channels;
126
+ if (!channels || typeof channels !== 'object')
127
+ return { routed, notRouted, unroutable };
128
+ for (const channel of CHANNEL_ROUTING_SUPPORTED) {
129
+ const entry = channels[channel];
130
+ if (!entry || typeof entry !== 'object')
131
+ continue;
132
+ if (isAquamanChannelBaseUrl(entry.apiRoot)) {
133
+ routed.push(channel);
134
+ }
135
+ else if (entry.apiRoot !== undefined) {
136
+ notRouted.push({ channel, reason: 'user-endpoint' });
137
+ }
138
+ else if (!options.hasVaultCredential(channel)) {
139
+ notRouted.push({ channel, reason: 'no-vault-credential' });
140
+ }
141
+ else {
142
+ notRouted.push({ channel, reason: 'not-wired' });
143
+ }
144
+ }
145
+ for (const channel of CHANNEL_ROUTING_UNSUPPORTED) {
146
+ const entry = channels[channel];
147
+ if (entry && typeof entry === 'object')
148
+ unroutable.push(channel);
149
+ }
150
+ return { routed, notRouted, unroutable };
151
+ }
152
+ //# sourceMappingURL=channel-routing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-routing.js","sourceRoot":"","sources":["../../src/openclaw/channel-routing.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,24 @@ export declare function parseCalendarVersion(version: string | undefined | null)
31
31
  * unparseable versions return false (assume the legacy JSON path still works).
32
32
  */
33
33
  export declare function authProfilesAreSqliteOnly(version: string | undefined | null): boolean;
34
+ /**
35
+ * OpenClaw >= 2026.8.1 (the "OpenClaw 2.0" line) finished the SQLite-only
36
+ * auth-profile move (openclaw/openclaw#114033): a legacy `auth-profiles.json`
37
+ * beside the SQLite store now BLOCKS those providers with
38
+ * AUTH_PROFILE_MIGRATION_REQUIRED ("requires legacy credential migration; run
39
+ * openclaw doctor --fix") instead of being ignored. Verified on 2026.9.1; on
40
+ * 2026.7.33 the file is still just ignored.
41
+ */
42
+ export declare function legacyAuthProfilesBlockProviders(version: string | undefined | null): boolean;
43
+ /**
44
+ * OpenClaw >= 2026.8.1 gates third-party plugin install/enable on capability
45
+ * consent (#130168/#131301/#134183): non-interactively that's
46
+ * `--accept-capabilities`, and npm/local sources also need `--force`
47
+ * (#102197). A `clawhub:` source needs only the consent flag. 2026.7.33
48
+ * accepts a bare `openclaw plugins install aquaman-plugin` (and rejects the
49
+ * unknown flags), so this gates which command setup runs.
50
+ */
51
+ export declare function pluginInstallNeedsCapabilityConsent(version: string | undefined | null): boolean;
34
52
  export declare class OpenClawIntegration {
35
53
  private config;
36
54
  private services;
@@ -1 +1 @@
1
- {"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../src/openclaw/integration.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAErE,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GACjC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAQjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAOrF;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE;IAK5D;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;IAkC7C;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI1D;;OAEG;IACG,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBtE;;OAEG;IACG,cAAc,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAwBxE;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;CAI1C;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,aAAa,EAAE,GACxB,mBAAmB,CAErB"}
1
+ {"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../src/openclaw/integration.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAErE,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GACjC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAQjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAOrF;AAWD;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAE5F;AAED;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAE/F;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE;IAK5D;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;IAkC7C;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI1D;;OAEG;IACG,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBtE;;OAEG;IACG,cAAc,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAwBxE;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;CAI1C;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,aAAa,EAAE,GACxB,mBAAmB,CAErB"}
@@ -43,6 +43,38 @@ export function authProfilesAreSqliteOnly(version) {
43
43
  return m > 6;
44
44
  return d >= 5;
45
45
  }
46
+ function calendarAtLeast(version, min) {
47
+ const parts = parseCalendarVersion(version);
48
+ if (!parts)
49
+ return false;
50
+ for (let i = 0; i < 3; i++) {
51
+ if (parts[i] !== min[i])
52
+ return parts[i] > min[i];
53
+ }
54
+ return true;
55
+ }
56
+ /**
57
+ * OpenClaw >= 2026.8.1 (the "OpenClaw 2.0" line) finished the SQLite-only
58
+ * auth-profile move (openclaw/openclaw#114033): a legacy `auth-profiles.json`
59
+ * beside the SQLite store now BLOCKS those providers with
60
+ * AUTH_PROFILE_MIGRATION_REQUIRED ("requires legacy credential migration; run
61
+ * openclaw doctor --fix") instead of being ignored. Verified on 2026.9.1; on
62
+ * 2026.7.33 the file is still just ignored.
63
+ */
64
+ export function legacyAuthProfilesBlockProviders(version) {
65
+ return calendarAtLeast(version, [2026, 8, 1]);
66
+ }
67
+ /**
68
+ * OpenClaw >= 2026.8.1 gates third-party plugin install/enable on capability
69
+ * consent (#130168/#131301/#134183): non-interactively that's
70
+ * `--accept-capabilities`, and npm/local sources also need `--force`
71
+ * (#102197). A `clawhub:` source needs only the consent flag. 2026.7.33
72
+ * accepts a bare `openclaw plugins install aquaman-plugin` (and rejects the
73
+ * unknown flags), so this gates which command setup runs.
74
+ */
75
+ export function pluginInstallNeedsCapabilityConsent(version) {
76
+ return calendarAtLeast(version, [2026, 8, 1]);
77
+ }
46
78
  export class OpenClawIntegration {
47
79
  config;
48
80
  services;
@@ -1 +1 @@
1
- {"version":3,"file":"integration.js","sourceRoot":"","sources":["../../src/openclaw/integration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration.js","sourceRoot":"","sources":["../../src/openclaw/integration.ts"],"names":[],"mappings":"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"}
@@ -21,11 +21,20 @@
21
21
  * configure-flow scrubs (`scrubAuthProfilesForProviderTargets` deletes
22
22
  * plaintext keys but preserves valid refs).
23
23
  *
24
- * The resolver returns the static `aquaman-proxy-managed` placeholder; the
25
- * proxy strips whatever key the gateway presents and injects the real
26
- * credential upstream. Keys never enter the gateway process — the SecretRef
27
- * integration changes how the *placeholder* reaches the gateway, not the
28
- * isolation boundary.
24
+ * v0.15.0 also writes `models.providers.<svc>.baseUrl` pointing at aquaman's
25
+ * loopback listener. OpenClaw's model calls go through its own transport with
26
+ * its own undici dispatcher: it ignores the `aquaman.local` sentinel (its DNS
27
+ * lookup fails) and never calls `globalThis.fetch`, so the plugin's
28
+ * interceptor cannot see provider traffic (verified on 2026.7.33 and
29
+ * 2026.9.1). A loopback `baseUrl` is OpenClaw's documented local-provider
30
+ * pattern: the configured `scheme://host:port` origin is trusted for the
31
+ * guarded fetch path, plain HTTP included.
32
+ *
33
+ * The resolver returns the loopback token (falling back to the static
34
+ * `aquaman-proxy-managed` placeholder when no listener is configured); the
35
+ * proxy checks the token, strips it, and injects the real credential
36
+ * upstream. Keys never enter the gateway process — the token is a capability
37
+ * to reach the local proxy, not a credential.
29
38
  */
30
39
  export declare const SECRETREF_PLUGIN_ID = "aquaman-plugin";
31
40
  export declare const SECRETREF_INTEGRATION_ID = "aquaman";
@@ -47,12 +56,28 @@ export interface SecretRefRef {
47
56
  id: string;
48
57
  }
49
58
  export declare function buildProviderRef(service: string): SecretRefRef;
59
+ /**
60
+ * The URL OpenClaw should call for a provider, given the proxy's loopback
61
+ * origin (`http://127.0.0.1:<port>`). Path shapes match what each provider
62
+ * client appends, exactly as on the Hermes path: the Anthropic client adds
63
+ * `/v1/messages` to `<origin>/anthropic`, and the OpenAI-compatible client
64
+ * adds `/chat/completions` to `<origin>/openai/v1`.
65
+ */
66
+ export declare function loopbackProviderBaseUrl(service: string, origin: string): string | null;
50
67
  export interface SecretRefWiringResult {
51
68
  changed: boolean;
52
69
  /** Providers whose apiKey now points at the aquaman SecretRef. */
53
70
  wiredProviders: string[];
54
71
  /** Providers requested but skipped (unsupported by the resolver today). */
55
72
  skippedProviders: string[];
73
+ /** Providers whose baseUrl now points at the loopback listener. */
74
+ baseUrlProviders: string[];
75
+ /** Providers left alone because the user set their own baseUrl. */
76
+ keptUserBaseUrl: string[];
77
+ }
78
+ export interface SecretRefWiringOptions {
79
+ /** `http://127.0.0.1:<port>` — when given, providers also get a baseUrl. */
80
+ loopbackOrigin?: string;
56
81
  }
57
82
  /**
58
83
  * Merge the aquaman SecretRef wiring into a parsed openclaw.json object.
@@ -60,7 +85,7 @@ export interface SecretRefWiringResult {
60
85
  * idempotent, and never overwrites a provider apiKey the user set to
61
86
  * something other than an aquaman ref or the legacy placeholder.
62
87
  */
63
- export declare function wireSecretRefProviders(config: Record<string, any>, services: string[]): SecretRefWiringResult;
88
+ export declare function wireSecretRefProviders(config: Record<string, any>, services: string[], options?: SecretRefWiringOptions): SecretRefWiringResult;
64
89
  export interface SecretRefWiringStatus {
65
90
  /** secrets.providers.aquaman points at the plugin integration. */
66
91
  providerConfigured: boolean;
@@ -68,6 +93,10 @@ export interface SecretRefWiringStatus {
68
93
  wiredProviders: string[];
69
94
  /** Requested + supported providers not yet wired. */
70
95
  missingProviders: string[];
96
+ /** Providers whose baseUrl points at a loopback aquaman listener. */
97
+ baseUrlProviders: string[];
98
+ /** Wired providers still calling the upstream directly (proxy bypassed). */
99
+ missingBaseUrl: string[];
71
100
  }
72
101
  /** Read-only status check for `aquaman openclaw doctor`. */
73
102
  export declare function secretRefWiringStatus(config: Record<string, any>, services: string[]): SecretRefWiringStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"secretref.d.ts","sourceRoot":"","sources":["../../src/openclaw/secretref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AACpD,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAClD,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAElD,yDAAyD;AACzD,eAAO,MAAM,6BAA6B,kCAAmC,CAAC;AAE9E;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAOzF;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAE9D;AAWD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,QAAQ,EAAE,MAAM,EAAE,GACjB,qBAAqB,CAkDvB;AAED,MAAM,WAAW,qBAAqB;IACpC,kEAAkE;IAClE,kBAAkB,EAAE,OAAO,CAAC;IAC5B,sDAAsD;IACtD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,qDAAqD;IACrD,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,4DAA4D;AAC5D,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,QAAQ,EAAE,MAAM,EAAE,GACjB,qBAAqB,CAkBvB"}
1
+ {"version":3,"file":"secretref.d.ts","sourceRoot":"","sources":["../../src/openclaw/secretref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAIH,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AACpD,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAClD,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAElD,yDAAyD;AACzD,eAAO,MAAM,6BAA6B,kCAAmC,CAAC;AAE9E;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAOzF;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAE9D;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQtF;AAoBD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,mEAAmE;IACnE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,mEAAmE;IACnE,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,GAAE,sBAA2B,GACnC,qBAAqB,CAsEvB;AAED,MAAM,WAAW,qBAAqB;IACpC,kEAAkE;IAClE,kBAAkB,EAAE,OAAO,CAAC;IAC5B,sDAAsD;IACtD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,qDAAqD;IACrD,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,qEAAqE;IACrE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,4EAA4E;IAC5E,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,4DAA4D;AAC5D,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,QAAQ,EAAE,MAAM,EAAE,GACjB,qBAAqB,CA2BvB"}
@@ -21,11 +21,20 @@
21
21
  * configure-flow scrubs (`scrubAuthProfilesForProviderTargets` deletes
22
22
  * plaintext keys but preserves valid refs).
23
23
  *
24
- * The resolver returns the static `aquaman-proxy-managed` placeholder; the
25
- * proxy strips whatever key the gateway presents and injects the real
26
- * credential upstream. Keys never enter the gateway process — the SecretRef
27
- * integration changes how the *placeholder* reaches the gateway, not the
28
- * isolation boundary.
24
+ * v0.15.0 also writes `models.providers.<svc>.baseUrl` pointing at aquaman's
25
+ * loopback listener. OpenClaw's model calls go through its own transport with
26
+ * its own undici dispatcher: it ignores the `aquaman.local` sentinel (its DNS
27
+ * lookup fails) and never calls `globalThis.fetch`, so the plugin's
28
+ * interceptor cannot see provider traffic (verified on 2026.7.33 and
29
+ * 2026.9.1). A loopback `baseUrl` is OpenClaw's documented local-provider
30
+ * pattern: the configured `scheme://host:port` origin is trusted for the
31
+ * guarded fetch path, plain HTTP included.
32
+ *
33
+ * The resolver returns the loopback token (falling back to the static
34
+ * `aquaman-proxy-managed` placeholder when no listener is configured); the
35
+ * proxy checks the token, strips it, and injects the real credential
36
+ * upstream. Keys never enter the gateway process — the token is a capability
37
+ * to reach the local proxy, not a credential.
29
38
  */
30
39
  import { parseCalendarVersion } from './integration.js';
31
40
  export const SECRETREF_PLUGIN_ID = 'aquaman-plugin';
@@ -55,6 +64,32 @@ export function supportsSecretRefIntegrations(version) {
55
64
  export function buildProviderRef(service) {
56
65
  return { source: 'exec', provider: SECRETREF_PROVIDER_ALIAS, id: `${service}/api_key` };
57
66
  }
67
+ /**
68
+ * The URL OpenClaw should call for a provider, given the proxy's loopback
69
+ * origin (`http://127.0.0.1:<port>`). Path shapes match what each provider
70
+ * client appends, exactly as on the Hermes path: the Anthropic client adds
71
+ * `/v1/messages` to `<origin>/anthropic`, and the OpenAI-compatible client
72
+ * adds `/chat/completions` to `<origin>/openai/v1`.
73
+ */
74
+ export function loopbackProviderBaseUrl(service, origin) {
75
+ // Trim trailing slashes without a regex: /\/+$/ backtracks polynomially on
76
+ // an origin ending in many slashes (CodeQL js/polynomial-redos).
77
+ let base = origin;
78
+ while (base.length > 0 && base.endsWith('/'))
79
+ base = base.slice(0, -1);
80
+ if (service === 'anthropic')
81
+ return `${base}/anthropic`;
82
+ if (service === 'openai')
83
+ return `${base}/openai/v1`;
84
+ return null;
85
+ }
86
+ /** A baseUrl aquaman owns: our loopback shape, or the retired sentinel host. */
87
+ function isAquamanBaseUrl(value) {
88
+ if (typeof value !== 'string')
89
+ return false;
90
+ return (/^http:\/\/(127\.0\.0\.1|localhost|\[::1\]):\d+\/(anthropic|openai)(\/v1)?\/?$/.test(value) ||
91
+ /^http:\/\/aquaman\.local\//.test(value));
92
+ }
58
93
  function isAquamanRef(value) {
59
94
  return (typeof value === 'object' &&
60
95
  value !== null &&
@@ -67,10 +102,12 @@ function isAquamanRef(value) {
67
102
  * idempotent, and never overwrites a provider apiKey the user set to
68
103
  * something other than an aquaman ref or the legacy placeholder.
69
104
  */
70
- export function wireSecretRefProviders(config, services) {
105
+ export function wireSecretRefProviders(config, services, options = {}) {
71
106
  let changed = false;
72
107
  const wiredProviders = [];
73
108
  const skippedProviders = [];
109
+ const baseUrlProviders = [];
110
+ const keptUserBaseUrl = [];
74
111
  if (!config.secrets)
75
112
  config.secrets = {};
76
113
  if (!config.secrets.providers)
@@ -113,8 +150,26 @@ export function wireSecretRefProviders(config, services) {
113
150
  changed = true;
114
151
  }
115
152
  wiredProviders.push(service);
153
+ // Route the provider at the loopback listener. Without this, OpenClaw's
154
+ // transport calls the real upstream directly and the proxy never sees it.
155
+ const desiredBase = options.loopbackOrigin
156
+ ? loopbackProviderBaseUrl(service, options.loopbackOrigin)
157
+ : null;
158
+ if (desiredBase) {
159
+ const currentBase = providerEntry.baseUrl;
160
+ if (currentBase !== undefined && !isAquamanBaseUrl(currentBase)) {
161
+ keptUserBaseUrl.push(service);
162
+ }
163
+ else {
164
+ if (currentBase !== desiredBase) {
165
+ providerEntry.baseUrl = desiredBase;
166
+ changed = true;
167
+ }
168
+ baseUrlProviders.push(service);
169
+ }
170
+ }
116
171
  }
117
- return { changed, wiredProviders, skippedProviders };
172
+ return { changed, wiredProviders, skippedProviders, baseUrlProviders, keptUserBaseUrl };
118
173
  }
119
174
  /** Read-only status check for `aquaman openclaw doctor`. */
120
175
  export function secretRefWiringStatus(config, services) {
@@ -124,16 +179,26 @@ export function secretRefWiringStatus(config, services) {
124
179
  provider?.pluginIntegration?.integrationId === SECRETREF_INTEGRATION_ID;
125
180
  const wiredProviders = [];
126
181
  const missingProviders = [];
182
+ const baseUrlProviders = [];
183
+ const missingBaseUrl = [];
127
184
  for (const service of services) {
128
185
  if (!SECRETREF_SUPPORTED_PROVIDERS.includes(service))
129
186
  continue;
130
187
  if (isAquamanRef(config?.models?.providers?.[service]?.apiKey)) {
131
188
  wiredProviders.push(service);
189
+ // A wired apiKey with no loopback baseUrl means OpenClaw's transport
190
+ // still calls the upstream directly and the proxy is bypassed.
191
+ if (isAquamanBaseUrl(config?.models?.providers?.[service]?.baseUrl)) {
192
+ baseUrlProviders.push(service);
193
+ }
194
+ else {
195
+ missingBaseUrl.push(service);
196
+ }
132
197
  }
133
198
  else {
134
199
  missingProviders.push(service);
135
200
  }
136
201
  }
137
- return { providerConfigured, wiredProviders, missingProviders };
202
+ return { providerConfigured, wiredProviders, missingProviders, baseUrlProviders, missingBaseUrl };
138
203
  }
139
204
  //# sourceMappingURL=secretref.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"secretref.js","sourceRoot":"","sources":["../../src/openclaw/secretref.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secretref.js","sourceRoot":"","sources":["../../src/openclaw/secretref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AACpD,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAClD,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAElD,yDAAyD;AACzD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAU,CAAC;AAE9E;;;;;;;GAOG;AACH,MAAM,UAAU,6BAA6B,CAAC,OAAkC;IAC9E,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;IACxB,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAQD,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,wBAAwB,EAAE,EAAE,EAAE,GAAG,OAAO,UAAU,EAAE,CAAC;AAC1F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,MAAc;IACrE,2EAA2E;IAC3E,iEAAiE;IACjE,IAAI,IAAI,GAAG,MAAM,CAAC;IAClB,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvE,IAAI,OAAO,KAAK,WAAW;QAAE,OAAO,GAAG,IAAI,YAAY,CAAC;IACxD,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,GAAG,IAAI,YAAY,CAAC;IACrD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,CACL,+EAA+E,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3F,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CACzC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAsB,CAAC,MAAM,KAAK,MAAM;QACxC,KAAsB,CAAC,QAAQ,KAAK,wBAAwB,CAC9D,CAAC;AACJ,CAAC;AAmBD;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAA2B,EAC3B,QAAkB,EAClB,UAAkC,EAAE;IAEpC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS;QAAE,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;IAC7D,MAAM,eAAe,GAAG;QACtB,MAAM,EAAE,MAAM;QACd,iBAAiB,EAAE;YACjB,QAAQ,EAAE,mBAAmB;YAC7B,aAAa,EAAE,wBAAwB;SACxC;KACF,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAC5E,IAAI,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;QACzE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,wBAAwB,CAAC,GAAG,eAAe,CAAC;QACrE,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAE,6BAAmD,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5E,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;YAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAE7E,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;QAErC,MAAM,mBAAmB,GAAG,OAAO,KAAK,uBAAuB,CAAC;QAChE,MAAM,WAAW,GACf,OAAO,KAAK,SAAS,IAAI,CAAC,mBAAmB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE1E,IAAI,WAAW,EAAE,CAAC;YAChB,oDAAoD;YACpD,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3D,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC;YAClC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7B,wEAAwE;QACxE,0EAA0E;QAC1E,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc;YACxC,CAAC,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC;YAC1D,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC;YAC1C,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChE,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;oBAChC,aAAa,CAAC,OAAO,GAAG,WAAW,CAAC;oBACpC,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;gBACD,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;AAC1F,CAAC;AAeD,4DAA4D;AAC5D,MAAM,UAAU,qBAAqB,CACnC,MAA2B,EAC3B,QAAkB;IAElB,MAAM,QAAQ,GAAG,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,wBAAwB,CAAC,CAAC;IACxE,MAAM,kBAAkB,GACtB,QAAQ,EAAE,MAAM,KAAK,MAAM;QAC3B,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,KAAK,mBAAmB;QAC7D,QAAQ,EAAE,iBAAiB,EAAE,aAAa,KAAK,wBAAwB,CAAC;IAE1E,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAE,6BAAmD,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,SAAS;QACtF,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;YAC/D,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,qEAAqE;YACrE,+DAA+D;YAC/D,IAAI,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;gBACpE,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC;AACpG,CAAC"}
@@ -53,4 +53,11 @@ export declare function validatePolicyConfig(policy: PolicyConfig): {
53
53
  * with specific denies for dangerous admin/billing/send endpoints.
54
54
  */
55
55
  export declare function getDefaultPolicyPresets(): Record<string, ServicePolicy>;
56
+ /**
57
+ * Known-ineffective rule shapes: deny rules written against a path that real
58
+ * upstream traffic never has. Returns human-readable warnings (empty when
59
+ * fine). These came from our own pre-0.15.0 presets, which `aquaman setup`
60
+ * persisted into users' config.yaml, so they outlive the preset fix.
61
+ */
62
+ export declare function lintPolicyConfig(config: PolicyConfig): string[];
56
63
  //# sourceMappingURL=request-policy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-policy.d.ts","sourceRoot":"","sources":["../src/request-policy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,OAAO,GAAG,MAAM,CAAC;IAChC,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAEzD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAM1E;AAuCD;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,YAAY,GACnB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,UAAU,CAAA;CAAE,CAqBhD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAAG,YAAY,CAe3F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAoB/F;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAgCvE"}
1
+ {"version":3,"file":"request-policy.d.ts","sourceRoot":"","sources":["../src/request-policy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,OAAO,GAAG,MAAM,CAAC;IAChC,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAEzD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAM1E;AAuCD;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,YAAY,GACnB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,UAAU,CAAA;CAAE,CAqBhD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAAG,YAAY,CAe3F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAoB/F;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAwCvE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,CAoB/D"}
@@ -142,17 +142,46 @@ export function getDefaultPolicyPresets() {
142
142
  gmail: {
143
143
  defaultAction: 'allow',
144
144
  rules: [
145
- // Gmail send: POST /gmail/v1/users/{userId}/messages/send
145
+ // Gmail send. Policy paths are the upstream API's full path after the
146
+ // service prefix, and Gmail's REST path is /gmail/v1/users/{userId}/...
147
+ { method: 'POST', path: '/gmail/v1/users/*/messages/send', action: 'deny' },
148
+ // Pre-0.15.0 form, kept so configs written with it keep matching.
146
149
  { method: 'POST', path: '/v1/users/*/messages/send', action: 'deny' },
147
150
  ]
148
151
  },
149
152
  slack: {
150
153
  defaultAction: 'allow',
151
154
  rules: [
152
- // Slack admin methods: /admin.users.list, /admin.conversations.create, etc.
155
+ // Slack admin methods. Real Slack Web API traffic arrives as
156
+ // /api/admin.users.list (the interceptor keeps the full slack.com
157
+ // path; the proxy doesn't prepend the upstream's base path). Through
158
+ // v0.14.x this preset only had '/admin.*', which never matched a
159
+ // working request (verified against slack.com 2026-09-18).
160
+ { method: '*', path: '/api/admin.*', action: 'deny' },
153
161
  { method: '*', path: '/admin.*', action: 'deny' },
154
162
  ]
155
163
  }
156
164
  };
157
165
  }
166
+ /**
167
+ * Known-ineffective rule shapes: deny rules written against a path that real
168
+ * upstream traffic never has. Returns human-readable warnings (empty when
169
+ * fine). These came from our own pre-0.15.0 presets, which `aquaman setup`
170
+ * persisted into users' config.yaml, so they outlive the preset fix.
171
+ */
172
+ export function lintPolicyConfig(config) {
173
+ const warnings = [];
174
+ const denies = (svc) => (config[svc]?.rules ?? []).filter(r => r.action === 'deny').map(r => r.path);
175
+ const slack = denies('slack');
176
+ if (slack.includes('/admin.*') && !slack.some(p => p.startsWith('/api/'))) {
177
+ warnings.push("slack: deny rule '/admin.*' never matches real Slack traffic, which arrives as /api/admin.*. " +
178
+ "Add a rule for path '/api/admin.*' (the v0.15.0 preset has both).");
179
+ }
180
+ const gmail = denies('gmail');
181
+ if (gmail.includes('/v1/users/*/messages/send') && !gmail.some(p => p.startsWith('/gmail/'))) {
182
+ warnings.push("gmail: deny rule '/v1/users/*/messages/send' doesn't match Gmail's real path /gmail/v1/users/*/messages/send. " +
183
+ "Add a rule for that path (the v0.15.0 preset has both).");
184
+ }
185
+ return warnings;
186
+ }
158
187
  //# sourceMappingURL=request-policy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-policy.js","sourceRoot":"","sources":["../src/request-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-policy.js","sourceRoot":"","sources":["../src/request-policy.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,14 @@ export interface ServiceDefinition {
32
32
  hostPatterns?: string[];
33
33
  /** OAuth client credentials config for authMode 'oauth' */
34
34
  oauthConfig?: OAuthConfig;
35
+ /**
36
+ * Floor for the upstream idle timeout, in ms. A long-polling API holds the
37
+ * connection open with no bytes flowing, which the proxy's default 30s idle
38
+ * timeout would kill mid-poll. The effective timeout is the larger of this
39
+ * and the configured one, so raising the global still works and lowering it
40
+ * cannot silently break the service.
41
+ */
42
+ minRequestTimeout?: number;
35
43
  }
36
44
  export interface ServiceRegistryOptions {
37
45
  configPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"service-registry.d.ts","sourceRoot":"","sources":["../src/service-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service-registry.d.ts","sourceRoot":"","sources":["../src/service-registry.ts"],"names":[],"mappings":"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"}