aquaman-proxy 0.13.0 → 0.14.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 (47) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/index.js +163 -127
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/core/audit/logger.js +1 -1
  5. package/dist/core/audit/logger.js.map +1 -1
  6. package/dist/core/credentials/backends/onepassword.js +1 -1
  7. package/dist/core/credentials/backends/onepassword.js.map +1 -1
  8. package/dist/core/credentials/backends/systemd-creds.js +1 -1
  9. package/dist/core/credentials/backends/systemd-creds.js.map +1 -1
  10. package/dist/core/credentials/caching-store.d.ts +43 -0
  11. package/dist/core/credentials/caching-store.d.ts.map +1 -0
  12. package/dist/core/credentials/caching-store.js +77 -0
  13. package/dist/core/credentials/caching-store.js.map +1 -0
  14. package/dist/core/credentials/index.d.ts +1 -0
  15. package/dist/core/credentials/index.d.ts.map +1 -1
  16. package/dist/core/credentials/index.js +1 -0
  17. package/dist/core/credentials/index.js.map +1 -1
  18. package/dist/core/index.d.ts +2 -2
  19. package/dist/core/index.d.ts.map +1 -1
  20. package/dist/core/index.js +2 -2
  21. package/dist/core/index.js.map +1 -1
  22. package/dist/core/types.d.ts +9 -0
  23. package/dist/core/types.d.ts.map +1 -1
  24. package/dist/core/utils/config.d.ts +17 -0
  25. package/dist/core/utils/config.d.ts.map +1 -1
  26. package/dist/core/utils/config.js +33 -1
  27. package/dist/core/utils/config.js.map +1 -1
  28. package/dist/core/utils/index.d.ts +1 -1
  29. package/dist/core/utils/index.d.ts.map +1 -1
  30. package/dist/core/utils/index.js +1 -1
  31. package/dist/core/utils/index.js.map +1 -1
  32. package/dist/hermes/config-writer.d.ts +10 -0
  33. package/dist/hermes/config-writer.d.ts.map +1 -1
  34. package/dist/hermes/config-writer.js +31 -0
  35. package/dist/hermes/config-writer.js.map +1 -1
  36. package/dist/index.d.ts +2 -1
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +3 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/openclaw/integration.d.ts.map +1 -1
  41. package/dist/openclaw/integration.js +4 -0
  42. package/dist/openclaw/integration.js.map +1 -1
  43. package/dist/openclaw/secretref.d.ts +74 -0
  44. package/dist/openclaw/secretref.d.ts.map +1 -0
  45. package/dist/openclaw/secretref.js +139 -0
  46. package/dist/openclaw/secretref.js.map +1 -0
  47. package/package.json +3 -3
@@ -38,6 +38,12 @@ export function generateHermesEnv(config) {
38
38
  const host = config.host || '127.0.0.1';
39
39
  const base = `http://${host}:${config.port}`;
40
40
  const env = {};
41
+ // Always wire the loopback origin + token explicitly. The Hermes secret
42
+ // source (aquaman-hermes plugin, Hermes >= 0.18.1) reads these to resolve
43
+ // `aquaman://service/key` bindings via the token-gated /broker/resolve
44
+ // endpoint — independent of which providers are proxied below.
45
+ env['AQUAMAN_LOOPBACK_URL'] = base;
46
+ env['AQUAMAN_LOOPBACK_TOKEN'] = config.token;
41
47
  for (const service of config.services) {
42
48
  if (!SAFE_SERVICE_NAME.test(service))
43
49
  continue;
@@ -103,6 +109,31 @@ export function writeHermesEnv(env, filePath) {
103
109
  }
104
110
  fs.writeFileSync(filePath, merged, { mode: 0o600 });
105
111
  }
112
+ /**
113
+ * Hermes >= 0.17 "managed scope": a root-owned /etc/hermes/.env is loaded LAST
114
+ * with override=true, beating both ~/.hermes/.env and shell exports. If an
115
+ * admin pins any of the env vars aquaman manages, the proxy is silently
116
+ * bypassed for those keys. Returns the managed keys that file shadows (empty
117
+ * when the file is absent/unreadable). `managedEnvPath` is parameterized for
118
+ * tests; production callers use the default.
119
+ */
120
+ export const HERMES_MANAGED_ENV_PATH = '/etc/hermes/.env';
121
+ export function managedScopeShadowedKeys(ourEnv, managedEnvPath = HERMES_MANAGED_ENV_PATH) {
122
+ let content;
123
+ try {
124
+ content = fs.readFileSync(managedEnvPath, 'utf-8');
125
+ }
126
+ catch {
127
+ return []; // absent or unreadable (non-root) — nothing to warn about
128
+ }
129
+ const pinned = new Set();
130
+ for (const line of content.split('\n')) {
131
+ const m = line.match(/^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=/);
132
+ if (m)
133
+ pinned.add(m[1]);
134
+ }
135
+ return Object.keys(ourEnv).filter((k) => pinned.has(k));
136
+ }
106
137
  /** Format env vars for display (dry-run / export output). */
107
138
  export function formatHermesEnvForDisplay(env) {
108
139
  return Object.entries(env)
@@ -1 +1 @@
1
- {"version":3,"file":"config-writer.js","sourceRoot":"","sources":["../../src/hermes/config-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-writer.js","sourceRoot":"","sources":["../../src/hermes/config-writer.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -12,7 +12,8 @@ export { type AuthMode, type OAuthConfig, type ServiceRegistryOptions, ServiceRe
12
12
  export { OAuthTokenCache, createOAuthTokenCache } from './oauth-token-cache.js';
13
13
  export { type EnvConfig, generateOpenClawEnv, writeEnvFile, appendToShellRc, formatEnvForDisplay } from './openclaw/env-writer.js';
14
14
  export { type OpenClawInfo, type LaunchOptions, OpenClawIntegration, createOpenClawIntegration, parseCalendarVersion, authProfilesAreSqliteOnly } from './openclaw/integration.js';
15
- export { type HermesEnvConfig, HERMES_SUPPORTED_SERVICES, generateHermesEnv, hermesWiredServices, getHermesEnvPath, writeHermesEnv, formatHermesEnvForDisplay } from './hermes/config-writer.js';
15
+ export { type SecretRefRef, type SecretRefWiringResult, type SecretRefWiringStatus, SECRETREF_PLUGIN_ID, SECRETREF_INTEGRATION_ID, SECRETREF_PROVIDER_ALIAS, SECRETREF_SUPPORTED_PROVIDERS, supportsSecretRefIntegrations, buildProviderRef, wireSecretRefProviders, secretRefWiringStatus } from './openclaw/secretref.js';
16
+ export { type HermesEnvConfig, HERMES_SUPPORTED_SERVICES, generateHermesEnv, hermesWiredServices, getHermesEnvPath, writeHermesEnv, formatHermesEnvForDisplay, managedScopeShadowedKeys, HERMES_MANAGED_ENV_PATH } from './hermes/config-writer.js';
16
17
  export { type HermesInfo, type HermesIntegrationOptions, HermesIntegration, createHermesIntegration, detectHermes } from './hermes/integration.js';
17
18
  export { type PolicyRule, type ServicePolicy, type PolicyConfig, matchPathPattern, matchPolicy, loadPolicyFromConfig, validatePolicyConfig, getDefaultPolicyPresets } from './request-policy.js';
18
19
  export * from './core/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,eAAe,EACf,qBAAqB,EACrB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,eAAe,EACf,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,eAAe,EACf,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,KAAK,SAAS,EACd,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,KAAK,eAAe,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,wBAAwB,EAC7B,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACb,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAG7B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,eAAe,EACf,qBAAqB,EACrB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,eAAe,EACf,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,eAAe,EACf,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,KAAK,SAAS,EACd,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,eAAe,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,wBAAwB,EAC7B,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACb,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAG7B,cAAc,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -16,8 +16,10 @@ export { OAuthTokenCache, createOAuthTokenCache } from './oauth-token-cache.js';
16
16
  // OpenClaw Integration
17
17
  export { generateOpenClawEnv, writeEnvFile, appendToShellRc, formatEnvForDisplay } from './openclaw/env-writer.js';
18
18
  export { OpenClawIntegration, createOpenClawIntegration, parseCalendarVersion, authProfilesAreSqliteOnly } from './openclaw/integration.js';
19
+ // OpenClaw SecretRef provider-integration wiring (v0.14.0+)
20
+ export { SECRETREF_PLUGIN_ID, SECRETREF_INTEGRATION_ID, SECRETREF_PROVIDER_ALIAS, SECRETREF_SUPPORTED_PROVIDERS, supportsSecretRefIntegrations, buildProviderRef, wireSecretRefProviders, secretRefWiringStatus } from './openclaw/secretref.js';
19
21
  // Hermes Integration (v0.13.0+)
20
- export { HERMES_SUPPORTED_SERVICES, generateHermesEnv, hermesWiredServices, getHermesEnvPath, writeHermesEnv, formatHermesEnvForDisplay } from './hermes/config-writer.js';
22
+ export { HERMES_SUPPORTED_SERVICES, generateHermesEnv, hermesWiredServices, getHermesEnvPath, writeHermesEnv, formatHermesEnvForDisplay, managedScopeShadowedKeys, HERMES_MANAGED_ENV_PATH } from './hermes/config-writer.js';
21
23
  export { HermesIntegration, createHermesIntegration, detectHermes } from './hermes/integration.js';
22
24
  // Request Policy
23
25
  export { matchPathPattern, matchPolicy, loadPolicyFromConfig, validatePolicyConfig, getDefaultPolicyPresets } from './request-policy.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,SAAS;AACT,OAAO,EAGL,eAAe,EACf,qBAAqB,EAEtB,MAAM,aAAa,CAAC;AAErB,mBAAmB;AACnB,OAAO,EAIL,eAAe,EACf,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,oBAAoB;AACpB,OAAO,EACL,eAAe,EACf,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAEhC,uBAAuB;AACvB,OAAO,EAEL,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAGL,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AAEnC,gCAAgC;AAChC,OAAO,EAEL,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAGL,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACb,MAAM,yBAAyB,CAAC;AAEjC,iBAAiB;AACjB,OAAO,EAIL,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAE7B,kCAAkC;AAClC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,SAAS;AACT,OAAO,EAGL,eAAe,EACf,qBAAqB,EAEtB,MAAM,aAAa,CAAC;AAErB,mBAAmB;AACnB,OAAO,EAIL,eAAe,EACf,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,oBAAoB;AACpB,OAAO,EACL,eAAe,EACf,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAEhC,uBAAuB;AACvB,OAAO,EAEL,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAGL,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AAEnC,4DAA4D;AAC5D,OAAO,EAIL,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAEjC,gCAAgC;AAChC,OAAO,EAEL,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAGL,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACb,MAAM,yBAAyB,CAAC;AAEjC,iBAAiB;AACjB,OAAO,EAIL,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAE7B,kCAAkC;AAClC,cAAc,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../src/openclaw/integration.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,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,CAKjC;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;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"}
@@ -13,6 +13,10 @@ import { generateOpenClawEnv, writeEnvFile, appendToShellRc, formatEnvForDisplay
13
13
  export function parseCalendarVersion(version) {
14
14
  if (!version)
15
15
  return null;
16
+ // Length guard: the unanchored match below backtracks quadratically on long
17
+ // digit runs, and no real version string comes anywhere near this bound.
18
+ if (version.length > 64)
19
+ return null;
16
20
  const m = version.match(/(\d+)\.(\d+)\.(\d+)/);
17
21
  if (!m)
18
22
  return null;
@@ -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":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAe1G,gFAAgF;AAChF,MAAM,UAAU,oBAAoB,CAClC,OAAkC;IAElC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,4EAA4E;IAC5E,yEAAyE;IACzE,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC/C,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAkC;IAC1E,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;AAED,MAAM,OAAO,mBAAmB;IACtB,MAAM,CAAgB;IACtB,QAAQ,CAAkB;IAElC,YAAY,MAAqB,EAAE,QAAyB;QAC1D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,IAAI,UAAU,CAAC;QAEjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE;gBAC5C,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aAClC,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpB,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,IAAI,IAAI,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;oBACzB,qDAAqD;oBACrD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;oBAC1D,OAAO,CAAC;wBACN,SAAS,EAAE,IAAI;wBACf,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;wBACzC,IAAI,EAAE,UAAU;qBACjB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB;QACrB,OAAO,mBAAmB,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,GAA2B;QAClD,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1C,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;gBACzD,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC3B,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;YAED,KAAK,KAAK,CAAC;YACX;gBACE,6CAA6C;gBAC7C,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,UAAyB,EAAE;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,gEAAgE;gBAChE,oDAAoD,CACrD,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE3C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,IAAI,UAAU,CAAC;QACjE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;QAEhC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE;YACnC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;YACjC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE;YAC/B,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;SAC5E,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB;QACpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3C,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;CACF;AAED,MAAM,UAAU,yBAAyB,CACvC,MAAqB,EACrB,QAAyB;IAEzB,OAAO,IAAI,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * OpenClaw SecretRef provider-integration wiring (v0.14.0+).
3
+ *
4
+ * OpenClaw's canonical credential surface is the SecretRef (upstream
5
+ * openclaw/openclaw#82326, shipped 2026-05-29; docs call auth-profiles.json
6
+ * "not a runtime format"). The aquaman plugin declares a
7
+ * `secretProviderIntegrations.aquaman` exec resolver in its manifest
8
+ * (`packages/plugin/openclaw.plugin.json` → `dist/secrets-resolver.mjs`),
9
+ * and this module writes the config side into `~/.openclaw/openclaw.json`:
10
+ *
11
+ * secrets.providers.aquaman = {
12
+ * source: "exec",
13
+ * pluginIntegration: { pluginId: "aquaman-plugin", integrationId: "aquaman" }
14
+ * }
15
+ * models.providers.<svc>.apiKey = { source: "exec", provider: "aquaman", id: "<svc>/api_key" }
16
+ *
17
+ * Config-level refs are used deliberately instead of auth-profile
18
+ * keyRef/tokenRef: openclaw.json is runtime-read on every version, so this
19
+ * avoids the SQLite ingestion step (`openclaw doctor --fix`) that the legacy
20
+ * placeholder flow requires on ≥ 2026.6.5 — and SecretRefs survive the
21
+ * configure-flow scrubs (`scrubAuthProfilesForProviderTargets` deletes
22
+ * plaintext keys but preserves valid refs).
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.
29
+ */
30
+ export declare const SECRETREF_PLUGIN_ID = "aquaman-plugin";
31
+ export declare const SECRETREF_INTEGRATION_ID = "aquaman";
32
+ export declare const SECRETREF_PROVIDER_ALIAS = "aquaman";
33
+ /** Providers the exec resolver serves refs for today. */
34
+ export declare const SECRETREF_SUPPORTED_PROVIDERS: readonly ["anthropic", "openai"];
35
+ /**
36
+ * SecretRef provider integrations shipped with the 2026.6.x line (merged
37
+ * upstream 2026-05-29). 2026.6.5 is the safe floor — it is also the
38
+ * auth-profiles→SQLite boundary (`authProfilesAreSqliteOnly`), so on every
39
+ * version where the legacy JSON placeholder stopped being runtime-read,
40
+ * SecretRef wiring is available as the replacement. Unknown/unparseable
41
+ * versions return false (conservative: keep the legacy flow).
42
+ */
43
+ export declare function supportsSecretRefIntegrations(version: string | undefined | null): boolean;
44
+ export interface SecretRefRef {
45
+ source: 'exec';
46
+ provider: string;
47
+ id: string;
48
+ }
49
+ export declare function buildProviderRef(service: string): SecretRefRef;
50
+ export interface SecretRefWiringResult {
51
+ changed: boolean;
52
+ /** Providers whose apiKey now points at the aquaman SecretRef. */
53
+ wiredProviders: string[];
54
+ /** Providers requested but skipped (unsupported by the resolver today). */
55
+ skippedProviders: string[];
56
+ }
57
+ /**
58
+ * Merge the aquaman SecretRef wiring into a parsed openclaw.json object.
59
+ * Mutates `config` in place (mirrors the CLI's existing merge style),
60
+ * idempotent, and never overwrites a provider apiKey the user set to
61
+ * something other than an aquaman ref or the legacy placeholder.
62
+ */
63
+ export declare function wireSecretRefProviders(config: Record<string, any>, services: string[]): SecretRefWiringResult;
64
+ export interface SecretRefWiringStatus {
65
+ /** secrets.providers.aquaman points at the plugin integration. */
66
+ providerConfigured: boolean;
67
+ /** Providers whose apiKey is an aquaman SecretRef. */
68
+ wiredProviders: string[];
69
+ /** Requested + supported providers not yet wired. */
70
+ missingProviders: string[];
71
+ }
72
+ /** Read-only status check for `aquaman openclaw doctor`. */
73
+ export declare function secretRefWiringStatus(config: Record<string, any>, services: string[]): SecretRefWiringStatus;
74
+ //# sourceMappingURL=secretref.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * OpenClaw SecretRef provider-integration wiring (v0.14.0+).
3
+ *
4
+ * OpenClaw's canonical credential surface is the SecretRef (upstream
5
+ * openclaw/openclaw#82326, shipped 2026-05-29; docs call auth-profiles.json
6
+ * "not a runtime format"). The aquaman plugin declares a
7
+ * `secretProviderIntegrations.aquaman` exec resolver in its manifest
8
+ * (`packages/plugin/openclaw.plugin.json` → `dist/secrets-resolver.mjs`),
9
+ * and this module writes the config side into `~/.openclaw/openclaw.json`:
10
+ *
11
+ * secrets.providers.aquaman = {
12
+ * source: "exec",
13
+ * pluginIntegration: { pluginId: "aquaman-plugin", integrationId: "aquaman" }
14
+ * }
15
+ * models.providers.<svc>.apiKey = { source: "exec", provider: "aquaman", id: "<svc>/api_key" }
16
+ *
17
+ * Config-level refs are used deliberately instead of auth-profile
18
+ * keyRef/tokenRef: openclaw.json is runtime-read on every version, so this
19
+ * avoids the SQLite ingestion step (`openclaw doctor --fix`) that the legacy
20
+ * placeholder flow requires on ≥ 2026.6.5 — and SecretRefs survive the
21
+ * configure-flow scrubs (`scrubAuthProfilesForProviderTargets` deletes
22
+ * plaintext keys but preserves valid refs).
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.
29
+ */
30
+ import { parseCalendarVersion } from './integration.js';
31
+ export const SECRETREF_PLUGIN_ID = 'aquaman-plugin';
32
+ export const SECRETREF_INTEGRATION_ID = 'aquaman';
33
+ export const SECRETREF_PROVIDER_ALIAS = 'aquaman';
34
+ /** Providers the exec resolver serves refs for today. */
35
+ export const SECRETREF_SUPPORTED_PROVIDERS = ['anthropic', 'openai'];
36
+ /**
37
+ * SecretRef provider integrations shipped with the 2026.6.x line (merged
38
+ * upstream 2026-05-29). 2026.6.5 is the safe floor — it is also the
39
+ * auth-profiles→SQLite boundary (`authProfilesAreSqliteOnly`), so on every
40
+ * version where the legacy JSON placeholder stopped being runtime-read,
41
+ * SecretRef wiring is available as the replacement. Unknown/unparseable
42
+ * versions return false (conservative: keep the legacy flow).
43
+ */
44
+ export function supportsSecretRefIntegrations(version) {
45
+ const parts = parseCalendarVersion(version);
46
+ if (!parts)
47
+ return false;
48
+ const [y, m, d] = parts;
49
+ if (y !== 2026)
50
+ return y > 2026;
51
+ if (m !== 6)
52
+ return m > 6;
53
+ return d >= 5;
54
+ }
55
+ export function buildProviderRef(service) {
56
+ return { source: 'exec', provider: SECRETREF_PROVIDER_ALIAS, id: `${service}/api_key` };
57
+ }
58
+ function isAquamanRef(value) {
59
+ return (typeof value === 'object' &&
60
+ value !== null &&
61
+ value.source === 'exec' &&
62
+ value.provider === SECRETREF_PROVIDER_ALIAS);
63
+ }
64
+ /**
65
+ * Merge the aquaman SecretRef wiring into a parsed openclaw.json object.
66
+ * Mutates `config` in place (mirrors the CLI's existing merge style),
67
+ * idempotent, and never overwrites a provider apiKey the user set to
68
+ * something other than an aquaman ref or the legacy placeholder.
69
+ */
70
+ export function wireSecretRefProviders(config, services) {
71
+ let changed = false;
72
+ const wiredProviders = [];
73
+ const skippedProviders = [];
74
+ if (!config.secrets)
75
+ config.secrets = {};
76
+ if (!config.secrets.providers)
77
+ config.secrets.providers = {};
78
+ const desiredProvider = {
79
+ source: 'exec',
80
+ pluginIntegration: {
81
+ pluginId: SECRETREF_PLUGIN_ID,
82
+ integrationId: SECRETREF_INTEGRATION_ID,
83
+ },
84
+ };
85
+ const existingProvider = config.secrets.providers[SECRETREF_PROVIDER_ALIAS];
86
+ if (JSON.stringify(existingProvider) !== JSON.stringify(desiredProvider)) {
87
+ config.secrets.providers[SECRETREF_PROVIDER_ALIAS] = desiredProvider;
88
+ changed = true;
89
+ }
90
+ for (const service of services) {
91
+ if (!SECRETREF_SUPPORTED_PROVIDERS.includes(service)) {
92
+ skippedProviders.push(service);
93
+ continue;
94
+ }
95
+ if (!config.models)
96
+ config.models = {};
97
+ if (!config.models.providers)
98
+ config.models.providers = {};
99
+ if (!config.models.providers[service])
100
+ config.models.providers[service] = {};
101
+ const providerEntry = config.models.providers[service];
102
+ const desiredRef = buildProviderRef(service);
103
+ const current = providerEntry.apiKey;
104
+ const isLegacyPlaceholder = current === 'aquaman-proxy-managed';
105
+ const isUserValue = current !== undefined && !isLegacyPlaceholder && !isAquamanRef(current);
106
+ if (isUserValue) {
107
+ // A key the user set themselves — never clobber it.
108
+ skippedProviders.push(service);
109
+ continue;
110
+ }
111
+ if (JSON.stringify(current) !== JSON.stringify(desiredRef)) {
112
+ providerEntry.apiKey = desiredRef;
113
+ changed = true;
114
+ }
115
+ wiredProviders.push(service);
116
+ }
117
+ return { changed, wiredProviders, skippedProviders };
118
+ }
119
+ /** Read-only status check for `aquaman openclaw doctor`. */
120
+ export function secretRefWiringStatus(config, services) {
121
+ const provider = config?.secrets?.providers?.[SECRETREF_PROVIDER_ALIAS];
122
+ const providerConfigured = provider?.source === 'exec' &&
123
+ provider?.pluginIntegration?.pluginId === SECRETREF_PLUGIN_ID &&
124
+ provider?.pluginIntegration?.integrationId === SECRETREF_INTEGRATION_ID;
125
+ const wiredProviders = [];
126
+ const missingProviders = [];
127
+ for (const service of services) {
128
+ if (!SECRETREF_SUPPORTED_PROVIDERS.includes(service))
129
+ continue;
130
+ if (isAquamanRef(config?.models?.providers?.[service]?.apiKey)) {
131
+ wiredProviders.push(service);
132
+ }
133
+ else {
134
+ missingProviders.push(service);
135
+ }
136
+ }
137
+ return { providerConfigured, wiredProviders, missingProviders };
138
+ }
139
+ //# sourceMappingURL=secretref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secretref.js","sourceRoot":"","sources":["../../src/openclaw/secretref.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aquaman-proxy",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
4
  "description": "🔱 API key protection for AI agents. Bring your own vault. Credentials stay where you already keep them, never in the agent's memory.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -52,8 +52,8 @@
52
52
  "keytar": "^7.9.0"
53
53
  },
54
54
  "devDependencies": {
55
- "@types/node": "^20.10.0",
56
- "tsx": "^4.7.0",
55
+ "@types/node": "^20.19.43",
56
+ "tsx": "^4.23.1",
57
57
  "typescript": "^5.3.0"
58
58
  },
59
59
  "files": ["dist", "LICENSE", "README.md"],