@open-everywhere/adapters 0.3.0 → 0.5.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 (58) hide show
  1. package/README.md +0 -1
  2. package/agent/aws/config.ts +13 -16
  3. package/agent/aws/register.ts +2 -2
  4. package/agent/aws/sso.ts +2 -2
  5. package/agent/browser/register.ts +12 -1
  6. package/agent/directory/config.ts +22 -47
  7. package/agent/model/gateway.ts +26 -1
  8. package/agent/oe-oauth/config.ts +25 -45
  9. package/agent/oe-oauth/register.ts +14 -12
  10. package/agent/oe-oauth/token-vault.ts +19 -9
  11. package/agent/oe-oauth/user-auth-flow.ts +2 -3
  12. package/agent/register-defaults.ts +18 -19
  13. package/agent/sandbox/backend-stop.ts +10 -10
  14. package/dist/agent/aws/config.d.ts +5 -3
  15. package/dist/agent/aws/config.d.ts.map +1 -1
  16. package/dist/agent/aws/config.js +12 -16
  17. package/dist/agent/aws/config.js.map +1 -1
  18. package/dist/agent/aws/register.js +2 -2
  19. package/dist/agent/aws/register.js.map +1 -1
  20. package/dist/agent/aws/sso.js +2 -2
  21. package/dist/agent/aws/sso.js.map +1 -1
  22. package/dist/agent/browser/register.d.ts +8 -0
  23. package/dist/agent/browser/register.d.ts.map +1 -1
  24. package/dist/agent/browser/register.js +10 -1
  25. package/dist/agent/browser/register.js.map +1 -1
  26. package/dist/agent/directory/config.d.ts +7 -4
  27. package/dist/agent/directory/config.d.ts.map +1 -1
  28. package/dist/agent/directory/config.js +17 -41
  29. package/dist/agent/directory/config.js.map +1 -1
  30. package/dist/agent/model/gateway.d.ts +4 -0
  31. package/dist/agent/model/gateway.d.ts.map +1 -1
  32. package/dist/agent/model/gateway.js +24 -2
  33. package/dist/agent/model/gateway.js.map +1 -1
  34. package/dist/agent/oe-oauth/config.d.ts +5 -8
  35. package/dist/agent/oe-oauth/config.d.ts.map +1 -1
  36. package/dist/agent/oe-oauth/config.js +25 -46
  37. package/dist/agent/oe-oauth/config.js.map +1 -1
  38. package/dist/agent/oe-oauth/register.d.ts +4 -6
  39. package/dist/agent/oe-oauth/register.d.ts.map +1 -1
  40. package/dist/agent/oe-oauth/register.js +9 -8
  41. package/dist/agent/oe-oauth/register.js.map +1 -1
  42. package/dist/agent/oe-oauth/token-vault.d.ts +4 -1
  43. package/dist/agent/oe-oauth/token-vault.d.ts.map +1 -1
  44. package/dist/agent/oe-oauth/token-vault.js +13 -10
  45. package/dist/agent/oe-oauth/token-vault.js.map +1 -1
  46. package/dist/agent/oe-oauth/user-auth-flow.d.ts +2 -3
  47. package/dist/agent/oe-oauth/user-auth-flow.d.ts.map +1 -1
  48. package/dist/agent/oe-oauth/user-auth-flow.js.map +1 -1
  49. package/dist/agent/register-defaults.d.ts +7 -3
  50. package/dist/agent/register-defaults.d.ts.map +1 -1
  51. package/dist/agent/register-defaults.js +15 -19
  52. package/dist/agent/register-defaults.js.map +1 -1
  53. package/dist/agent/sandbox/backend-stop.d.ts +5 -6
  54. package/dist/agent/sandbox/backend-stop.d.ts.map +1 -1
  55. package/dist/agent/sandbox/backend-stop.js +9 -9
  56. package/dist/agent/sandbox/backend-stop.js.map +1 -1
  57. package/package.json +3 -9
  58. package/agent/blob/hosting.ts +0 -24
@@ -20,7 +20,6 @@
20
20
  // provider bundle: it drives the table it receives.
21
21
 
22
22
  import { registerOeOauth } from "./oe-oauth/register.js";
23
- import { oeOauthEnabled, loadOeOauthConfig } from "./oe-oauth/config.js";
24
23
  import { registerAgentBrowser } from "./browser/register.js";
25
24
  import { agentBrowserEnabled, loadAgentBrowserConfig } from "./browser/config.js";
26
25
  import { registerAwsAccess } from "./aws/register.js";
@@ -28,12 +27,10 @@ import { awsAccessEnabled } from "./aws/config.js";
28
27
  import { registerDirectoryAdapter } from "./directory/register.js";
29
28
  import { registerGatewayRouteProbe } from "./model/gateway-probe.js";
30
29
  import { registerNeon } from "./postgres/neon.js";
31
- import { vercelBlobPutter } from "./blob/hosting.js";
32
30
  import {
33
31
  registerDbCredentialBroker,
34
32
  CREDENTIAL_KEY_ENV,
35
33
  registerGitHubConfigPrProvider,
36
- setBlobPutter,
37
34
  registerAuditDropCounter,
38
35
  emitTelemetry,
39
36
  getOperationalStore,
@@ -46,6 +43,7 @@ import {
46
43
  resolveOperationalSelection,
47
44
  resolveMemoryProviderId,
48
45
  onVercel,
46
+ getSettings,
49
47
  declareProviderSelection,
50
48
  assertConnectorMemoryGrants,
51
49
  applySubtreeSurfaceClaims,
@@ -96,6 +94,9 @@ export interface StoreWiring {
96
94
  /** What one `registerDefaultAdapters()` call wired. */
97
95
  export interface DefaultAdapterWiring {
98
96
  readonly providers: readonly string[];
97
+ /** The own-rolled OAuth flow registered. Always true since OPE-2411 deleted the master flag. A mint for an
98
+ * OAuth home no connection declares fails closed unless the vault already holds a client record or an unexpired token for it;
99
+ * the off switch is the bundle's `user-oauth` grant. */
99
100
  readonly oeOauth: boolean;
100
101
  readonly dbCredentialBroker: boolean;
101
102
  readonly agentBrowser: boolean;
@@ -112,17 +113,18 @@ export interface DefaultAdapterWiring {
112
113
  *
113
114
  * The PGlite floor (OPE-113) arms when the operational selection resolves to it (no provider named,
114
115
  * no `DATABASE_URL`). It stays off on Vercel, where the floor is per-instance and ephemeral, unless
115
- * `OE_ALLOW_EPHEMERAL_OPERATIONAL=1` names the single-instance escape. The Neon gate never opens on
116
- * the floor's branch, so the two never both register.
116
+ * the `storage.allowEphemeralOperational` setting names the single-instance escape (it was
117
+ * `OE_ALLOW_EPHEMERAL_OPERATIONAL=1` until OPE-2411). The Neon gate never opens on the floor's
118
+ * branch, so the two never both register.
117
119
  */
118
- export function decideStoreWiring(env: NodeJS.ProcessEnv, vercel: boolean): StoreWiring {
120
+ export function decideStoreWiring(env: NodeJS.ProcessEnv, vercel: boolean, allowEphemeralOperational: boolean): StoreWiring {
119
121
  const operational = resolveOperationalSelection(env);
120
122
  const postgresSelected =
121
123
  resolveMemoryProviderId(env) === "postgres" || (operational.id === "postgres" && operational.floor === "none");
122
124
  return {
123
125
  operational,
124
126
  neon: postgresSelected && Boolean(env.DATABASE_URL),
125
- pgliteFloor: operational.floor === "pglite" && (!vercel || env.OE_ALLOW_EPHEMERAL_OPERATIONAL === "1"),
127
+ pgliteFloor: operational.floor === "pglite" && (!vercel || allowEphemeralOperational),
126
128
  };
127
129
  }
128
130
 
@@ -158,11 +160,12 @@ async function wireDefaultAdapters(options: DefaultAdapterOptions): Promise<Defa
158
160
  // them. A row that lands ahead of the declaration cannot be retracted (core warns if one does).
159
161
  const providers = declareProviderSelection(options.providers.map((p) => p.id));
160
162
 
161
- // Connector-plane user-auth flow (OPE-88): own-rolled OAuth, registered only when the master flag
162
- // OE_OAUTH_ENABLED is armed AND a provider config block is present. Otherwise no flow registers and
163
- // core's OAuth mint paths fail closed. There is no vendor fallback.
164
- const oeOauthCfg = oeOauthEnabled() ? loadOeOauthConfig() : undefined;
165
- if (oeOauthCfg) registerOeOauth({ providers: oeOauthCfg });
163
+ // Connector-plane user-auth flow (OPE-88): own-rolled OAuth. Since OPE-2411 it ALWAYS registers — the
164
+ // OE_OAUTH_ENABLED master flag and the OE_OAUTH_CONFIG env map are deleted. Each connector declares its
165
+ // own sign-in in its connection module, next to its URL, and the vault reads those declarations per
166
+ // call. A mint for an OAuth home nothing declares fails closed unless the vault already holds a client
167
+ // record or an unexpired token for it; the off switch is the bundle's `user-oauth` grant. There is no vendor fallback.
168
+ registerOeOauth();
166
169
 
167
170
  // The "db" credential broker (task #113): registered iff its AES key exists. Without the key the
168
171
  // broker fails closed on store and read, so registering it would falsely offer the "Set API key"
@@ -176,7 +179,7 @@ async function wireDefaultAdapters(options: DefaultAdapterOptions): Promise<Defa
176
179
  const browserCfg = agentBrowserEnabled() ? loadAgentBrowserConfig() : undefined;
177
180
  const agentBrowser = browserCfg ? registerAgentBrowser(browserCfg) : false;
178
181
 
179
- // The AWS-access layer: only when OE_AWS_ENABLED is armed. Flag-off ⇒ core's AWS mint and exec
182
+ // The AWS-access layer: only when the `aws.enabled` setting is armed. Flag-off ⇒ core's AWS mint and exec
180
183
  // paths fail closed.
181
184
  const awsAccess = awsAccessEnabled();
182
185
  if (awsAccess) registerAwsAccess();
@@ -202,10 +205,6 @@ async function wireDefaultAdapters(options: DefaultAdapterOptions): Promise<Defa
202
205
  // cycle, and the one-chunk invariant), so this boot module injects the emitter.
203
206
  registerAuditDropCounter((action, platform) => emitTelemetry("oe.audit.dropped", { "oe.action": action, "oe.platform": platform }));
204
207
 
205
- // The Vercel Blob putter for the HTML-artifact hosting seam. Harmless when unused: the hosting
206
- // path runs only for an org that opted in, and the putter fails loud without its OIDC env.
207
- setBlobPutter(vercelBlobPutter);
208
-
209
208
  // THE APP'S HOOK, after every default registration and before every check that reads them.
210
209
  const customAdapters = options.customAdapters !== undefined;
211
210
  if (options.customAdapters) await options.customAdapters();
@@ -224,7 +223,7 @@ async function wireDefaultAdapters(options: DefaultAdapterOptions): Promise<Defa
224
223
  // in the process that serves, and a failure costs one log line, never the boot.
225
224
  registerBootNotice("approval-judge-no-rules", announceJudgeWithoutRules);
226
225
 
227
- const store = decideStoreWiring(process.env, onVercel());
226
+ const store = decideStoreWiring(process.env, onVercel(), getSettings().storage.allowEphemeralOperational);
228
227
 
229
228
  // Neon (hosted Postgres) is LIVE-ONLY: registerNeon() builds the driver only when called here.
230
229
  if (store.neon) await registerNeon();
@@ -246,7 +245,7 @@ async function wireDefaultAdapters(options: DefaultAdapterOptions): Promise<Defa
246
245
  // credentials and the declared rooms differ from this checkout.
247
246
  await reconcileSurfaceCommands();
248
247
 
249
- WIRED = { providers, oeOauth: oeOauthCfg !== undefined, dbCredentialBroker, agentBrowser, awsAccess, customAdapters, store };
248
+ WIRED = { providers, oeOauth: true, dbCredentialBroker, agentBrowser, awsAccess, customAdapters, store };
250
249
  return WIRED;
251
250
  }
252
251
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  import { Sandbox } from "@vercel/sandbox";
5
5
  import { execFile } from "node:child_process";
6
- import { onVercel, resolveSelfHostBackendKind } from "@open-everywhere/core/agent/adapter-api.js";
6
+ import { resolveSandboxBackend } from "@open-everywhere/core/agent/adapter-api.js";
7
7
  import { getRecordedSandboxName } from "./created-sandbox-registry.js";
8
8
 
9
9
  /** One sandbox as its backend reports it — `createdAt` (epoch ms) is the one honestly-observable
@@ -22,7 +22,7 @@ export interface SandboxListing {
22
22
  * docker daemon, or a platform.
23
23
  */
24
24
  export interface SandboxStopper {
25
- /** Backend id, matching `OE_SANDBOX_BACKEND` / eve's backend name. For logs and tests. */
25
+ /** Backend id, matching `sandbox.selfHostBackend` / eve's backend name. For logs and tests. */
26
26
  readonly backend: string;
27
27
  /** Does this backend bill sandbox runtime by wall clock? Only then is a stop priced. */
28
28
  readonly metered: boolean;
@@ -224,7 +224,7 @@ export const justBashStopper: SandboxStopper = {
224
224
  backend: "just-bash",
225
225
  metered: false,
226
226
  ownership:
227
- "stop owner = NONE — the just-bash backend runs inside this app process. There is no VM or container to stop and no metered runtime, so the turn-end sweep is inert by design. Set OE_SANDBOX_BACKEND=docker for a backend whose compute is stopped at turn end",
227
+ "stop owner = NONE — the just-bash backend runs inside this app process. There is no VM or container to stop and no metered runtime, so the turn-end sweep is inert by design. Declare `sandbox.selfHostBackend: \"docker\"` for a backend whose compute is stopped at turn end",
228
228
  async list() {
229
229
  return [];
230
230
  },
@@ -239,16 +239,16 @@ export const justBashStopper: SandboxStopper = {
239
239
  // ── selection ─────────────────────────────────────────────────────────────────────────────────
240
240
 
241
241
  /**
242
- * The ONE "who stops the sandbox on this deployment" decision. It reads the SAME two switches the
243
- * app reads to BUILD the backend — `onVercel()` and `resolveSelfHostBackendKind()` — so the
244
- * backend that runs and the backend that stops can never disagree. An unknown
245
- * `OE_SANDBOX_BACKEND` throws here exactly as it throws at boot; the hook's fail-soft catch logs
246
- * it rather than failing the turn.
242
+ * The ONE "who stops the sandbox on this deployment" decision. It reads the SAME rule the app
243
+ * reads to BUILD the backend — `resolveSandboxBackend()` over the host fact and the `sandbox.*`
244
+ * settings — so the backend that runs and the backend that stops can never disagree. Settings load
245
+ * refuses an unknown backend, so no value reaching this read can be one.
247
246
  */
248
247
  export function resolveSandboxStopper(): SandboxStopper {
249
248
  if (forcedStopper !== undefined) return forcedStopper;
250
- if (onVercel()) return vercelStopper;
251
- return resolveSelfHostBackendKind() === "justbash" ? justBashStopper : createDockerStopper();
249
+ const backend = resolveSandboxBackend();
250
+ if (backend === "vercel") return vercelStopper;
251
+ return backend === "justbash" ? justBashStopper : createDockerStopper();
252
252
  }
253
253
 
254
254
  /** Test seam: force the resolved stopper so the hook's own branching can be driven without a
@@ -1,5 +1,6 @@
1
- /** Truthiness for the master flag — same off-spellings as the other connector-plane flags (default
2
- * OFF: off is the inert posture; arming is a deliberate operator act). */
1
+ /** The master flag: the `aws.enabled` setting (default OFF: off is the inert posture; arming is a
2
+ * deliberate, reviewed commit). Read from the registered settings, so it is called at boot AFTER
3
+ * `registerSettings` (register-defaults.ts runs from the app's register-adapters, after register-config). */
3
4
  export declare function awsAccessEnabled(): boolean;
4
5
  /** The AWS-access config block (env-sourced). Only a default region today; the identity/executor DI
5
6
  * seams are passed by the caller (register.ts), not env. */
@@ -22,6 +23,7 @@ export interface AwsSsoConfig {
22
23
  /** OAuth scopes requested on the link (default applied by the minter). */
23
24
  readonly scopes?: readonly string[];
24
25
  }
25
- /** Load the Identity Center SSO link config from env. Region falls back to the general AWS default. */
26
+ /** Load the Identity Center SSO link config: the region and client id from env, the scopes from the
27
+ * `aws.ssoScopes` setting (empty ⇒ the minter's default). Region falls back to the general AWS default. */
26
28
  export declare function loadAwsSsoConfig(): AwsSsoConfig;
27
29
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../agent/aws/config.ts"],"names":[],"mappings":"AAmBA;2EAC2E;AAC3E,wBAAgB,gBAAgB,IAAI,OAAO,CAK1C;AAED;6DAC6D;AAC7D,MAAM,WAAW,eAAe;IAC9B;6FACyF;IACzF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;wFACwF;AACxF,wBAAgB,mBAAmB,IAAI,eAAe,CAGrD;AAED;;4FAE4F;AAC5F,MAAM,WAAW,YAAY;IAC3B,oGAAoG;IACpG,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,uGAAuG;IACvG,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,uGAAuG;AACvG,wBAAgB,gBAAgB,IAAI,YAAY,CAc/C"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../agent/aws/config.ts"],"names":[],"mappings":"AAmBA;;8GAE8G;AAC9G,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;6DAC6D;AAC7D,MAAM,WAAW,eAAe;IAC9B;6FACyF;IACzF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;wFACwF;AACxF,wBAAgB,mBAAmB,IAAI,eAAe,CAGrD;AAED;;4FAE4F;AAC5F,MAAM,WAAW,YAAY;IAC3B,oGAAoG;IACpG,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,uGAAuG;IACvG,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;4GAC4G;AAC5G,wBAAgB,gBAAgB,IAAI,YAAY,CAY/C"}
@@ -1,7 +1,9 @@
1
1
  // The `aws` access master arming flag and config block. Flag-off ⇒ NOTHING registers and core's AWS paths
2
- // fail closed, with no fallback. Config is env-sourced at the adapter boundary, like DATABASE_URL.
3
- /** The master arming flag env var — one string this module's readers share. */
4
- const OE_AWS_ENABLED_ENV = "OE_AWS_ENABLED";
2
+ // fail closed, with no fallback. The two CHOICES are settings since OPE-2411 — `aws.enabled` (was
3
+ // OE_AWS_ENABLED) and `aws.ssoScopes` (was OE_AWS_SSO_SCOPES) — because arming the plane and widening
4
+ // what it asks for are policy. The WIRING (regions, the public OIDC client id) stays env-sourced at the
5
+ // adapter boundary, like DATABASE_URL.
6
+ import { getSettings } from "@open-everywhere/core/agent/adapter-api.js";
5
7
  /** Optional default region for STS + the CLI when a grant names none. */
6
8
  const OE_AWS_REGION_ENV = "OE_AWS_REGION";
7
9
  // The per-user Identity Center link config. These vars configure the LINK flow only — a mint needs the
@@ -11,16 +13,11 @@ const OE_AWS_REGION_ENV = "OE_AWS_REGION";
11
13
  const OE_AWS_SSO_REGION_ENV = "OE_AWS_SSO_REGION";
12
14
  /** The pre-registered PUBLIC OIDC client id for the Identity Center auth-code + PKCE link flow. */
13
15
  const OE_AWS_SSO_CLIENT_ID_ENV = "OE_AWS_SSO_CLIENT_ID";
14
- /** Optional space-separated OAuth scopes for the link (default "sso:account:access"). */
15
- const OE_AWS_SSO_SCOPES_ENV = "OE_AWS_SSO_SCOPES";
16
- /** Truthiness for the master flag — same off-spellings as the other connector-plane flags (default
17
- * OFF: off is the inert posture; arming is a deliberate operator act). */
16
+ /** The master flag: the `aws.enabled` setting (default OFF: off is the inert posture; arming is a
17
+ * deliberate, reviewed commit). Read from the registered settings, so it is called at boot AFTER
18
+ * `registerSettings` (register-defaults.ts runs from the app's register-adapters, after register-config). */
18
19
  export function awsAccessEnabled() {
19
- const raw = process.env[OE_AWS_ENABLED_ENV];
20
- if (raw === undefined)
21
- return false;
22
- const v = raw.trim().toLowerCase();
23
- return v !== "" && v !== "0" && v !== "false" && v !== "off" && v !== "no";
20
+ return getSettings().aws.enabled;
24
21
  }
25
22
  /** Load the AWS-access config block from env. Always returns a (possibly empty) config — unlike the
26
23
  * oe-oauth block there is no REQUIRED field, so the master flag alone gates arming. */
@@ -28,15 +25,14 @@ export function loadAwsAccessConfig() {
28
25
  const defaultRegion = process.env[OE_AWS_REGION_ENV]?.trim() || process.env.AWS_REGION?.trim();
29
26
  return { ...(defaultRegion ? { defaultRegion } : {}) };
30
27
  }
31
- /** Load the Identity Center SSO link config from env. Region falls back to the general AWS default. */
28
+ /** Load the Identity Center SSO link config: the region and client id from env, the scopes from the
29
+ * `aws.ssoScopes` setting (empty ⇒ the minter's default). Region falls back to the general AWS default. */
32
30
  export function loadAwsSsoConfig() {
33
31
  const region = process.env[OE_AWS_SSO_REGION_ENV]?.trim() ||
34
32
  process.env[OE_AWS_REGION_ENV]?.trim() ||
35
33
  process.env.AWS_REGION?.trim();
36
34
  const clientId = process.env[OE_AWS_SSO_CLIENT_ID_ENV]?.trim();
37
- const scopes = process.env[OE_AWS_SSO_SCOPES_ENV]?.trim()
38
- ? process.env[OE_AWS_SSO_SCOPES_ENV].trim().split(/\s+/u).filter(Boolean)
39
- : undefined;
35
+ const scopes = getSettings().aws.ssoScopes;
40
36
  return {
41
37
  ...(region ? { region } : {}),
42
38
  ...(clientId ? { clientId } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../agent/aws/config.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,mGAAmG;AAEnG,+EAA+E;AAC/E,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAC5C,yEAAyE;AACzE,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAE1C,uGAAuG;AACvG,yFAAyF;AAEzF;gGACgG;AAChG,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAClD,mGAAmG;AACnG,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AACxD,yFAAyF;AACzF,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAElD;2EAC2E;AAC3E,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC5C,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC;AAC7E,CAAC;AAUD;wFACwF;AACxF,MAAM,UAAU,mBAAmB;IACjC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;IAC/F,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACzD,CAAC;AAcD,uGAAuG;AACvG,MAAM,UAAU,gBAAgB;IAC9B,MAAM,MAAM,GACV,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE;QAC1C,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE;QACtC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,IAAI,EAAE,CAAC;IAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE;QACvD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAC1E,CAAC,CAAC,SAAS,CAAC;IACd,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../agent/aws/config.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,kGAAkG;AAClG,sGAAsG;AACtG,wGAAwG;AACxG,uCAAuC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAEzE,yEAAyE;AACzE,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAE1C,uGAAuG;AACvG,yFAAyF;AAEzF;gGACgG;AAChG,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAClD,mGAAmG;AACnG,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AACxD;;8GAE8G;AAC9G,MAAM,UAAU,gBAAgB;IAC9B,OAAO,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;AACnC,CAAC;AAUD;wFACwF;AACxF,MAAM,UAAU,mBAAmB;IACjC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;IAC/F,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACzD,CAAC;AAcD;4GAC4G;AAC5G,MAAM,UAAU,gBAAgB;IAC9B,MAAM,MAAM,GACV,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE;QAC1C,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE;QACtC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,IAAI,EAAE,CAAC;IAC/D,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;IAC3C,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- // Register the AWS-access layer, called only when the OE_AWS_ENABLED master flag is armed. Flag-off ⇒
1
+ // Register the AWS-access layer, called only when the `aws.enabled` master flag is armed. Flag-off ⇒
2
2
  // nothing registers and core's AWS mint, exec and link paths fail closed; rollback is not arming the flag.
3
3
  import { registerAwsIdentityProvider, registerAwsExecutor, registerAwsSsoLinkStore, registerAwsSsoCallbackCompleter, registerCredentialPurgeHook, } from "@open-everywhere/core/agent/adapter-api.js";
4
4
  import { makeAwsStsProvider } from "./sts.js";
@@ -27,7 +27,7 @@ export function registerAwsAccess(opts = {}) {
27
27
  ...opts.sso,
28
28
  });
29
29
  // Wire the `GET OE_AWS_SSO_CALLBACK_PATH` route to the SSO minter's code→token exchange, mirroring the
30
- // own-rolled OAuth adapter's registerOeOauthCallbackCompleter. Fires under the OE_AWS_ENABLED boot
30
+ // own-rolled OAuth adapter's registerOeOauthCallbackCompleter. Fires under the `aws.enabled` boot
31
31
  // guard; flag-off ⇒ the completer is never registered and the route fails closed (generic error page).
32
32
  registerAwsSsoCallbackCompleter({ complete: ({ state, code }) => sso.completeLink(state, code) });
33
33
  const provider = makeAwsStsProvider({ defaultRegion, mintUserSso: (req) => sso.mint(req), ...opts.identity });
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../agent/aws/register.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,2GAA2G;AAE3G,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,uBAAuB,EACvB,+BAA+B,EAC/B,2BAA2B,GAG5B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAA8B,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAA8B,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAA+C,MAAM,UAAU,CAAC;AACnI,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAYpE;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAI,GAA6B,EAAE;IAKnE,qGAAqG;IACrG,2FAA2F;IAC3F,MAAM,EAAE,aAAa,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAElC,sGAAsG;IACtG,mFAAmF;IACnF,uBAAuB,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC/C,2GAA2G;IAC3G,wGAAwG;IACxG,2BAA2B,CAAC,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,gBAAgB,CAAC;QAC3B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,GAAG,IAAI,CAAC,GAAG;KACZ,CAAC,CAAC;IAEH,uGAAuG;IACvG,mGAAmG;IACnG,uGAAuG;IACvG,+BAA+B,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAElG,MAAM,QAAQ,GAAG,kBAAkB,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9G,MAAM,QAAQ,GAAG,kBAAkB,CAAC,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzE,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IACtC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC9B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../agent/aws/register.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,2GAA2G;AAE3G,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,uBAAuB,EACvB,+BAA+B,EAC/B,2BAA2B,GAG5B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAA8B,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAA8B,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAA+C,MAAM,UAAU,CAAC;AACnI,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAYpE;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAI,GAA6B,EAAE;IAKnE,qGAAqG;IACrG,2FAA2F;IAC3F,MAAM,EAAE,aAAa,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAElC,sGAAsG;IACtG,mFAAmF;IACnF,uBAAuB,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC/C,2GAA2G;IAC3G,wGAAwG;IACxG,2BAA2B,CAAC,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,gBAAgB,CAAC;QAC3B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,GAAG,IAAI,CAAC,GAAG;KACZ,CAAC,CAAC;IAEH,uGAAuG;IACvG,kGAAkG;IAClG,uGAAuG;IACvG,+BAA+B,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAElG,MAAM,QAAQ,GAAG,kBAAkB,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9G,MAAM,QAAQ,GAAG,kBAAkB,CAAC,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzE,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IACtC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC9B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AACrC,CAAC"}
@@ -8,7 +8,7 @@ export { OE_AWS_SSO_CALLBACK_PATH };
8
8
  * what makes the token response carry an id-token, and the id-token's `sub` is the only statement of
9
9
  * WHO completed the sign-in the callback can observe. Without it {@link AwsSsoMinter.completeLink}
10
10
  * refuses every completion, because it cannot name the signer (OPE-1955). An operator who overrides
11
- * `OE_AWS_SSO_SCOPES` must keep `openid` in the list. */
11
+ * the `aws.ssoScopes` setting must keep `openid` in the list. */
12
12
  const DEFAULT_SSO_SCOPES = ["sso:account:access", "openid"];
13
13
  /** Consent window for a pending link (15 min, matching the own-rolled OAuth pending TTL). */
14
14
  const DEFAULT_PENDING_TTL_MS = 15 * 60 * 1000;
@@ -166,7 +166,7 @@ export function makeAwsSsoMinter(opts = {}) {
166
166
  function requireOpenIdScope() {
167
167
  if (scopes.includes("openid"))
168
168
  return;
169
- throw new Error("AWS SSO link: the configured scopes omit \"openid\" (OE_AWS_SSO_SCOPES). Without it the Identity " +
169
+ throw new Error("AWS SSO link: the configured scopes omit \"openid\" (the aws.ssoScopes setting). Without it the Identity " +
170
170
  "Center token response carries no id-token, so the account that signs in cannot be named and the " +
171
171
  "link can never complete. Fail-closed: no link was started.");
172
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sso.js","sourceRoot":"","sources":["../../../agent/aws/sso.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sso.js","sourceRoot":"","sources":["../../../agent/aws/sso.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,12 @@
1
1
  import { type AgentBrowserConfig } from "./config.js";
2
+ /**
3
+ * The agent-browser session name every tool call passes as `--session`. 🔴 IT MUST BE BOUND. Without
4
+ * it the vendor derives the name from `sandbox.id`, and eve 0.69.0+ hands the tool a `SandboxSession`
5
+ * that has no `id`: `sanitizeSessionPart(undefined).trim()` then throws on EVERY browser call
6
+ * ("Cannot read properties of undefined (reading 'trim')", F-ART leg 4, 2026-10-09). One sandbox runs
7
+ * one agent-browser daemon, so a fixed name is per-sandbox — the same isolation the vendor default gave.
8
+ */
9
+ export declare const BROWSER_SESSION_NAME = "oe-browser";
2
10
  /**
3
11
  * Arm the toolkit for a validated config. Returns false, LOUDLY, when the extension-config binding did not
4
12
  * take: unbound tools would run auto-install on and UNCONTAINED, so they are not registered at all.
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../agent/browser/register.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAUtD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CA6CrE"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../agent/browser/register.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAWtD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CA8CrE"}
@@ -3,6 +3,14 @@
3
3
  import browserExtension from "@agent-browser/eve";
4
4
  import * as vendorTools from "@agent-browser/eve/tools";
5
5
  import { registerBrowserToolkit, openBrowserEgressHosts, isLoopbackBrowseHost } from "@open-everywhere/core/agent/adapter-api.js";
6
+ /**
7
+ * The agent-browser session name every tool call passes as `--session`. 🔴 IT MUST BE BOUND. Without
8
+ * it the vendor derives the name from `sandbox.id`, and eve 0.69.0+ hands the tool a `SandboxSession`
9
+ * that has no `id`: `sanitizeSessionPart(undefined).trim()` then throws on EVERY browser call
10
+ * ("Cannot read properties of undefined (reading 'trim')", F-ART leg 4, 2026-10-09). One sandbox runs
11
+ * one agent-browser daemon, so a fixed name is per-sandbox — the same isolation the vendor default gave.
12
+ */
13
+ export const BROWSER_SESSION_NAME = "oe-browser";
6
14
  /**
7
15
  * Arm the toolkit for a validated config. Returns false, LOUDLY, when the extension-config binding did not
8
16
  * take: unbound tools would run auto-install on and UNCONTAINED, so they are not registered at all.
@@ -13,12 +21,13 @@ export function registerAgentBrowser(cfg) {
13
21
  autoInstall: false,
14
22
  contentBoundaries: true,
15
23
  inlineScreenshots: false,
24
+ session: BROWSER_SESSION_NAME,
16
25
  });
17
26
  const bound = browserExtension.config;
18
27
  const domainsBound = Array.isArray(bound.allowedDomains) &&
19
28
  bound.allowedDomains.length === cfg.domains.length &&
20
29
  cfg.domains.every((d, i) => bound.allowedDomains[i] === d);
21
- if (bound.autoInstall !== false || !domainsBound) {
30
+ if (bound.autoInstall !== false || !domainsBound || bound.session !== BROWSER_SESSION_NAME) {
22
31
  console.error("[open-everywhere:agent-browser] extension config binding FAILED (namespace patch missing? see patches/@agent-browser+eve+*.patch) — " +
23
32
  "REFUSING to arm the browser toolkit: unbound tools would run with vendor defaults (auto-install on, no domain containment).");
24
33
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../agent/browser/register.ts"],"names":[],"mappings":"AAAA,4GAA4G;AAC5G,uGAAuG;AAEvG,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,WAAW,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,oBAAoB,EAAyB,MAAM,4CAA4C,CAAC;AAWzJ;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAuB;IAC1D,gBAAgB,CAAC;QACf,cAAc,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;QAChC,WAAW,EAAE,KAAK;QAClB,iBAAiB,EAAE,IAAI;QACvB,iBAAiB,EAAE,KAAK;KACzB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAuC,CAAC;IACvE,MAAM,YAAY,GAChB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;QACnC,KAAK,CAAC,cAAc,CAAC,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM;QAClD,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,cAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QACjD,OAAO,CAAC,KAAK,CACX,sIAAsI;YACpI,6HAA6H,CAChI,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kFAAkF;IAClF,oFAAoF;IACpF,MAAM,OAAO,GAAqC,EAAE,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,MAAM,CAAC,GAAG,IAA6C,CAAC;QACxD,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC9E,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,CAAqB,CAAC;QACrD,CAAC;IACH,CAAC;IACD,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAEhC,oGAAoG;IACpG,6GAA6G;IAC7G,wGAAwG;IACxG,mGAAmG;IACnG,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhI,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAChF,OAAO,CAAC,GAAG,CACT,0CAA0C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,kBAAkB;QACrF,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,YAAY,iCAAiC;QACnF,gEAAgE,CACnE,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../agent/browser/register.ts"],"names":[],"mappings":"AAAA,4GAA4G;AAC5G,uGAAuG;AAEvG,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,WAAW,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,oBAAoB,EAAyB,MAAM,4CAA4C,CAAC;AAYzJ;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAEjD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAuB;IAC1D,gBAAgB,CAAC;QACf,cAAc,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;QAChC,WAAW,EAAE,KAAK;QAClB,iBAAiB,EAAE,IAAI;QACvB,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE,oBAAoB;KAC9B,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAuC,CAAC;IACvE,MAAM,YAAY,GAChB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;QACnC,KAAK,CAAC,cAAc,CAAC,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM;QAClD,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,cAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,KAAK,oBAAoB,EAAE,CAAC;QAC3F,OAAO,CAAC,KAAK,CACX,sIAAsI;YACpI,6HAA6H,CAChI,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kFAAkF;IAClF,oFAAoF;IACpF,MAAM,OAAO,GAAqC,EAAE,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,MAAM,CAAC,GAAG,IAA6C,CAAC;QACxD,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC9E,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,CAAqB,CAAC;QACrD,CAAC;IACH,CAAC;IACD,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAEhC,oGAAoG;IACpG,6GAA6G;IAC7G,wGAAwG;IACxG,mGAAmG;IACnG,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhI,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAChF,OAAO,CAAC,GAAG,CACT,0CAA0C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,kBAAkB;QACrF,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,YAAY,iCAAiC;QACnF,gEAAgE,CACnE,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { type OktaAppSetting } from "@open-everywhere/core/agent/adapter-api.js";
1
2
  /** Which app-assignment field carries the app-side identity for one mapped app. */
2
3
  export type OktaAppIdField = "externalId" | "userName";
3
4
  /** One configured Okta application → one of OUR platform tokens. */
@@ -27,13 +28,15 @@ export interface OktaDirectoryConfig {
27
28
  * leaves the plane OFF rather than half-arming something. */
28
29
  export declare function oktaDirectoryEnabled(env?: NodeJS.ProcessEnv): boolean;
29
30
  /**
30
- * Parse the app map: `<platform>[/<tenant>]:<oktaAppId>[:<field>]`, comma-separated. The workspace rung uses
31
- * `/`, matching the principal-key grammar. FAIL-LOUD on a malformed entry — a dropped entry is a silent gap.
31
+ * Normalise the `directory.oktaApps` setting into the adapter's mappings: the default `field` is
32
+ * `externalId`. FAIL-LOUD on a malformed table — a dropped entry is a silent gap. The rules are the
33
+ * setting's own validator (`SETTINGS.directory.oktaApps.validate`), so settings load and this adapter
34
+ * refuse the same tables; it runs here too because a test can register an unvalidated value.
32
35
  */
33
- export declare function parseOktaAppMap(raw: string | undefined): readonly OktaAppMapping[];
36
+ export declare function oktaAppMappings(entries: readonly OktaAppSetting[]): readonly OktaAppMapping[];
34
37
  /**
35
38
  * Load the Okta config block. FAIL-LOUD when the selector is armed but a required field is missing. An unset
36
39
  * SELECTOR stays silent — that is a deployment with no IdP, not a broken one.
37
40
  */
38
- export declare function loadOktaDirectoryConfig(env?: NodeJS.ProcessEnv): OktaDirectoryConfig;
41
+ export declare function loadOktaDirectoryConfig(env?: NodeJS.ProcessEnv, apps?: readonly OktaAppSetting[]): OktaDirectoryConfig;
39
42
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../agent/directory/config.ts"],"names":[],"mappings":"AAgBA,mFAAmF;AACnF,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;AAEvD,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,sGAAsG;IACtG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,SAAS,cAAc,EAAE,CAAC;CAC1C;AAED;8DAC8D;AAC9D,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAElF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,cAAc,EAAE,CAwClF;AAsBD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,mBAAmB,CAiBjG"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../agent/directory/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAexG,mFAAmF;AACnF,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;AAEvD,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,sGAAsG;IACtG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,SAAS,cAAc,EAAE,CAAC;CAC1C;AAED;8DAC8D;AAC9D,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAElF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,GAAG,SAAS,cAAc,EAAE,CAS7F;AAsBD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,GAAE,SAAS,cAAc,EAAqC,GACjE,mBAAmB,CAgBrB"}
@@ -1,5 +1,6 @@
1
1
  // The directory-adapter SELECTION and Okta config. Selector-off or config-absent ⇒ NOTHING registers, with no
2
2
  // partial arming. 🔴 The API token is a `secretRef` through a broker (default `db`), never a raw env read.
3
+ import { SETTINGS, getSettings } from "@open-everywhere/core/agent/adapter-api.js";
3
4
  /** Which directory adapter to arm ("okta"). Unset ⇒ the directory plane stays off. */
4
5
  const OE_DIRECTORY_PROVIDER_ENV = "OE_DIRECTORY_PROVIDER";
5
6
  /** The Okta org URL, e.g. `https://acme.okta.com` (or an `*.oktapreview.com` sandbox). MUST be
@@ -10,51 +11,27 @@ const OE_DIRECTORY_OKTA_ORG_URL_ENV = "OE_DIRECTORY_OKTA_ORG_URL";
10
11
  const OE_DIRECTORY_OKTA_TOKEN_REF_ENV = "OE_DIRECTORY_OKTA_TOKEN_REF";
11
12
  /** Which broker holds that ref. Default "db" (the encrypted credential store — OPE-408 step 2). */
12
13
  const OE_DIRECTORY_OKTA_TOKEN_BROKER_ENV = "OE_DIRECTORY_OKTA_TOKEN_BROKER";
13
- /** App map: `"<platform>[/<tenant>]:<oktaAppId>[:<field>], …"` — see {@link parseOktaAppMap}. */
14
- const OE_DIRECTORY_OKTA_APPS_ENV = "OE_DIRECTORY_OKTA_APPS";
15
14
  /** True iff the selector names the Okta adapter. Exact match, trimmed, case-insensitive — a typo
16
15
  * leaves the plane OFF rather than half-arming something. */
17
16
  export function oktaDirectoryEnabled(env = process.env) {
18
17
  return (env[OE_DIRECTORY_PROVIDER_ENV] ?? "").trim().toLowerCase() === "okta";
19
18
  }
20
19
  /**
21
- * Parse the app map: `<platform>[/<tenant>]:<oktaAppId>[:<field>]`, comma-separated. The workspace rung uses
22
- * `/`, matching the principal-key grammar. FAIL-LOUD on a malformed entry — a dropped entry is a silent gap.
20
+ * Normalise the `directory.oktaApps` setting into the adapter's mappings: the default `field` is
21
+ * `externalId`. FAIL-LOUD on a malformed table — a dropped entry is a silent gap. The rules are the
22
+ * setting's own validator (`SETTINGS.directory.oktaApps.validate`), so settings load and this adapter
23
+ * refuse the same tables; it runs here too because a test can register an unvalidated value.
23
24
  */
24
- export function parseOktaAppMap(raw) {
25
- const out = [];
26
- const seen = new Set();
27
- for (const entry of (raw ?? "").split(",").map((s) => s.trim()).filter(Boolean)) {
28
- const parts = entry.split(":").map((s) => s.trim());
29
- const [head, appId, field] = parts;
30
- if (parts.length < 2 || parts.length > 3 || !head || !appId) {
31
- throw new Error(`${OE_DIRECTORY_OKTA_APPS_ENV} entry "${entry}" is malformed — expected "<platform>[/<tenant>]:<oktaAppId>" ` +
32
- `with an optional ":externalId"/":userName" suffix, e.g. "slack:0oa1a2b3c4d5" or "slack/T0AB1CD2E:0oa1a2b3c4d5".`);
33
- }
34
- if (field !== undefined && field !== "externalId" && field !== "userName") {
35
- throw new Error(`${OE_DIRECTORY_OKTA_APPS_ENV} entry "${entry}" names field "${field}" — only "externalId" (default) or "userName" are valid.`);
36
- }
37
- const slash = head.indexOf("/");
38
- const platform = (slash < 0 ? head : head.slice(0, slash)).toLowerCase();
39
- const tenant = slash < 0 ? undefined : head.slice(slash + 1).trim();
40
- if (!platform || (tenant !== undefined && (tenant.length === 0 || tenant.includes("/")))) {
41
- throw new Error(`${OE_DIRECTORY_OKTA_APPS_ENV} entry "${entry}" has an unusable platform/workspace half ("${head}") — write "<platform>" ` +
42
- `or "<platform>/<workspace-id>" with exactly one slash, e.g. "slack/T0AB1CD2E".`);
43
- }
44
- // Two apps mapped to the SAME (platform, workspace) is a genuine misconfiguration rather than a
45
- // widening: the two would write suggestions that are indistinguishable downstream, and whichever
46
- // ran second would silently redefine the first's ids. Refused here, where the operator can see
47
- // both entries, rather than as a mystery in a sync warning.
48
- const key = `${platform}/${tenant ?? ""}`;
49
- if (seen.has(key)) {
50
- throw new Error(`${OE_DIRECTORY_OKTA_APPS_ENV} maps two apps to the same target "${key.replace(/\/$/u, "")}" — an app map entry names WHERE ` +
51
- "the ids land, so two entries for one place cannot both be right. Give each workspace its own rung " +
52
- '("slack/T0AB1CD2E:…,slack/T9ZYX8W7V:…"), or remove the duplicate.');
53
- }
54
- seen.add(key);
55
- out.push({ platform, ...(tenant !== undefined ? { tenant } : {}), appId, field: field ?? "externalId" });
56
- }
57
- return out;
25
+ export function oktaAppMappings(entries) {
26
+ const problem = SETTINGS.directory.oktaApps.validate(entries);
27
+ if (problem !== undefined)
28
+ throw new Error(`directory.oktaApps: ${problem}`);
29
+ return entries.map((a) => ({
30
+ platform: a.platform,
31
+ ...(a.tenant !== undefined ? { tenant: a.tenant } : {}),
32
+ appId: a.appId,
33
+ field: a.field ?? "externalId",
34
+ }));
58
35
  }
59
36
  /**
60
37
  * 🔴 The org URL MUST be `https://`: every request carries the SSWS API token in an `authorization` header.
@@ -78,7 +55,7 @@ function requireHttpsOrgUrl(raw) {
78
55
  * Load the Okta config block. FAIL-LOUD when the selector is armed but a required field is missing. An unset
79
56
  * SELECTOR stays silent — that is a deployment with no IdP, not a broken one.
80
57
  */
81
- export function loadOktaDirectoryConfig(env = process.env) {
58
+ export function loadOktaDirectoryConfig(env = process.env, apps = getSettings().directory.oktaApps) {
82
59
  const orgUrl = env[OE_DIRECTORY_OKTA_ORG_URL_ENV]?.trim();
83
60
  const tokenRef = env[OE_DIRECTORY_OKTA_TOKEN_REF_ENV]?.trim();
84
61
  const missing = [];
@@ -90,12 +67,11 @@ export function loadOktaDirectoryConfig(env = process.env) {
90
67
  throw new Error(`${OE_DIRECTORY_PROVIDER_ENV}="okta" but ${missing.join(" and ")} ${missing.length > 1 ? "are" : "is"} not set — directory sync cannot be armed.`);
91
68
  }
92
69
  requireHttpsOrgUrl(orgUrl);
93
- const apps = parseOktaAppMap(env[OE_DIRECTORY_OKTA_APPS_ENV]);
94
70
  return {
95
71
  orgUrl: orgUrl.replace(/\/+$/u, ""),
96
72
  tokenRef: tokenRef,
97
73
  tokenBroker: env[OE_DIRECTORY_OKTA_TOKEN_BROKER_ENV]?.trim() || "db",
98
- apps,
74
+ apps: oktaAppMappings(apps),
99
75
  };
100
76
  }
101
77
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../agent/directory/config.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,2GAA2G;AAE3G,sFAAsF;AACtF,MAAM,yBAAyB,GAAG,uBAAuB,CAAC;AAC1D;;sCAEsC;AACtC,MAAM,6BAA6B,GAAG,2BAA2B,CAAC;AAClE,oGAAoG;AACpG,MAAM,+BAA+B,GAAG,6BAA6B,CAAC;AACtE,mGAAmG;AACnG,MAAM,kCAAkC,GAAG,gCAAgC,CAAC;AAC5E,iGAAiG;AACjG,MAAM,0BAA0B,GAAG,wBAAwB,CAAC;AA8B5D;8DAC8D;AAC9D,MAAM,UAAU,oBAAoB,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;IACvE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;AAChF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,GAAuB;IACrD,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAChF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CACb,GAAG,0BAA0B,WAAW,KAAK,gEAAgE;gBAC3G,iHAAiH,CACpH,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,GAAG,0BAA0B,WAAW,KAAK,kBAAkB,KAAK,0DAA0D,CAAC,CAAC;QAClJ,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACzE,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpE,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,MAAM,IAAI,KAAK,CACb,GAAG,0BAA0B,WAAW,KAAK,+CAA+C,IAAI,0BAA0B;gBACxH,gFAAgF,CACnF,CAAC;QACJ,CAAC;QACD,gGAAgG;QAChG,iGAAiG;QACjG,+FAA+F;QAC/F,4DAA4D;QAC5D,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,GAAG,0BAA0B,sCAAsC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,mCAAmC;gBAC3H,oGAAoG;gBACpG,mEAAmE,CACtE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,YAAY,EAAE,CAAC,CAAC;IAC3G,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACrC,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,6BAA6B,KAAK,GAAG,4EAA4E,CAAC,CAAC;IACxI,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,GAAG,6BAA6B,KAAK,GAAG,kFAAkF;YACxH,uHAAuH;YACvH,0CAA0C,CAC7C,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;IAC1E,MAAM,MAAM,GAAG,GAAG,CAAC,6BAA6B,CAAC,EAAE,IAAI,EAAE,CAAC;IAC1D,MAAM,QAAQ,GAAG,GAAG,CAAC,+BAA+B,CAAC,EAAE,IAAI,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,GAAG,yBAAyB,eAAe,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,4CAA4C,CAAC,CAAC;IACrK,CAAC;IACD,kBAAkB,CAAC,MAAO,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAC9D,OAAO;QACL,MAAM,EAAE,MAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACpC,QAAQ,EAAE,QAAS;QACnB,WAAW,EAAE,GAAG,CAAC,kCAAkC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI;QACpE,IAAI;KACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../agent/directory/config.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import { gateway } from "ai";
2
2
  import { type ModelRoute, type ModelBackend, type RoutedCallOptions } from "@open-everywhere/core/agent/adapter-api.js";
3
3
  type GatewayModel = ReturnType<typeof gateway>;
4
+ /** The gateway's own host when {@link GATEWAY_BASE_URL} is unset. It must match the `ai` package's default base URL. */
5
+ export declare const DEFAULT_GATEWAY_HOST = "ai-gateway.vercel.sh";
6
+ /** The one host the model call reaches: the retarget's host, else the default. An unparseable retarget falls back to the default host. */
7
+ export declare function gatewayHost(baseUrl: string | undefined): string;
4
8
  /** Static defaults for one routed slot — mirrors what a plain string config said. */
5
9
  export interface GatewayRoutedDefaults {
6
10
  /** Default gateway model id (what unrouted channels use), e.g. "zai/glm-5.2". */