@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
@@ -1 +1 @@
1
- {"version":3,"file":"register-defaults.d.ts","sourceRoot":"","sources":["../../agent/register-defaults.ts"],"names":[],"mappings":"AA+BA,OAAO,EAqBL,KAAK,MAAM,EACX,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,4CAA4C,CAAC;AAEpD,2FAA2F;AAC3F,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,QAAQ,CAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACtD;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,OAAO,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;QAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,SAAS,UAAU,EAAE,CAAC;QAC5C,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,kBAAkB,GAAG,IAAI,CAAC;KAChE,CAAC;IACF;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,WAAW,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAChF,yFAAyF;IACzF,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,0CAA0C;IAC1C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,WAAW,CAStF;AAKD,6FAA6F;AAC7F,wBAAgB,oBAAoB,IAAI,oBAAoB,GAAG,SAAS,CAEvE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAGrG"}
1
+ {"version":3,"file":"register-defaults.d.ts","sourceRoot":"","sources":["../../agent/register-defaults.ts"],"names":[],"mappings":"AA6BA,OAAO,EAqBL,KAAK,MAAM,EACX,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,4CAA4C,CAAC;AAEpD,2FAA2F;AAC3F,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,QAAQ,CAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACtD;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,OAAO,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;QAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,SAAS,UAAU,EAAE,CAAC;QAC5C,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,kBAAkB,GAAG,IAAI,CAAC;KAChE,CAAC;IACF;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,WAAW,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAChF,yFAAyF;IACzF,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,0CAA0C;IAC1C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC;;6DAEyD;IACzD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,EAAE,OAAO,GAAG,WAAW,CAS1H;AAKD,6FAA6F;AAC7F,wBAAgB,oBAAoB,IAAI,oBAAoB,GAAG,SAAS,CAEvE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAGrG"}
@@ -19,7 +19,6 @@
19
19
  // output) and the memory config are app files, so the app passes them in. This module names no
20
20
  // provider bundle: it drives the table it receives.
21
21
  import { registerOeOauth } from "./oe-oauth/register.js";
22
- import { oeOauthEnabled, loadOeOauthConfig } from "./oe-oauth/config.js";
23
22
  import { registerAgentBrowser } from "./browser/register.js";
24
23
  import { agentBrowserEnabled, loadAgentBrowserConfig } from "./browser/config.js";
25
24
  import { registerAwsAccess } from "./aws/register.js";
@@ -27,8 +26,7 @@ import { awsAccessEnabled } from "./aws/config.js";
27
26
  import { registerDirectoryAdapter } from "./directory/register.js";
28
27
  import { registerGatewayRouteProbe } from "./model/gateway-probe.js";
29
28
  import { registerNeon } from "./postgres/neon.js";
30
- import { vercelBlobPutter } from "./blob/hosting.js";
31
- import { registerDbCredentialBroker, CREDENTIAL_KEY_ENV, registerGitHubConfigPrProvider, setBlobPutter, registerAuditDropCounter, emitTelemetry, getOperationalStore, bootVerifyAuditChainTail, bootBackfillLinkTenants, runBootNotices, registerBootNotice, announceJudgeWithoutRules, registerOperationalPgliteLazy, resolveOperationalSelection, resolveMemoryProviderId, onVercel, declareProviderSelection, assertConnectorMemoryGrants, applySubtreeSurfaceClaims, reconcileSurfaceCommands, } from "@open-everywhere/core/agent/adapter-api.js";
29
+ import { registerDbCredentialBroker, CREDENTIAL_KEY_ENV, registerGitHubConfigPrProvider, registerAuditDropCounter, emitTelemetry, getOperationalStore, bootVerifyAuditChainTail, bootBackfillLinkTenants, runBootNotices, registerBootNotice, announceJudgeWithoutRules, registerOperationalPgliteLazy, resolveOperationalSelection, resolveMemoryProviderId, onVercel, getSettings, declareProviderSelection, assertConnectorMemoryGrants, applySubtreeSurfaceClaims, reconcileSurfaceCommands, } from "@open-everywhere/core/agent/adapter-api.js";
32
30
  /**
33
31
  * The store decision, pure. 🔴 THE SELECTION IS THE RUNTIME'S OWN RULE, NOT A SECOND ENV TEST
34
32
  * (OPE-2230). Both selectors default to postgres when `DATABASE_URL` is present. A hand-written
@@ -37,16 +35,17 @@ import { registerDbCredentialBroker, CREDENTIAL_KEY_ENV, registerGitHubConfigPrP
37
35
  *
38
36
  * The PGlite floor (OPE-113) arms when the operational selection resolves to it (no provider named,
39
37
  * no `DATABASE_URL`). It stays off on Vercel, where the floor is per-instance and ephemeral, unless
40
- * `OE_ALLOW_EPHEMERAL_OPERATIONAL=1` names the single-instance escape. The Neon gate never opens on
41
- * the floor's branch, so the two never both register.
38
+ * the `storage.allowEphemeralOperational` setting names the single-instance escape (it was
39
+ * `OE_ALLOW_EPHEMERAL_OPERATIONAL=1` until OPE-2411). The Neon gate never opens on the floor's
40
+ * branch, so the two never both register.
42
41
  */
43
- export function decideStoreWiring(env, vercel) {
42
+ export function decideStoreWiring(env, vercel, allowEphemeralOperational) {
44
43
  const operational = resolveOperationalSelection(env);
45
44
  const postgresSelected = resolveMemoryProviderId(env) === "postgres" || (operational.id === "postgres" && operational.floor === "none");
46
45
  return {
47
46
  operational,
48
47
  neon: postgresSelected && Boolean(env.DATABASE_URL),
49
- pgliteFloor: operational.floor === "pglite" && (!vercel || env.OE_ALLOW_EPHEMERAL_OPERATIONAL === "1"),
48
+ pgliteFloor: operational.floor === "pglite" && (!vercel || allowEphemeralOperational),
50
49
  };
51
50
  }
52
51
  let WIRED;
@@ -76,12 +75,12 @@ async function wireDefaultAdapters(options) {
76
75
  // ids as opaque strings, and every platform-keyed registration seam then refuses anything outside
77
76
  // them. A row that lands ahead of the declaration cannot be retracted (core warns if one does).
78
77
  const providers = declareProviderSelection(options.providers.map((p) => p.id));
79
- // Connector-plane user-auth flow (OPE-88): own-rolled OAuth, registered only when the master flag
80
- // OE_OAUTH_ENABLED is armed AND a provider config block is present. Otherwise no flow registers and
81
- // core's OAuth mint paths fail closed. There is no vendor fallback.
82
- const oeOauthCfg = oeOauthEnabled() ? loadOeOauthConfig() : undefined;
83
- if (oeOauthCfg)
84
- registerOeOauth({ providers: oeOauthCfg });
78
+ // Connector-plane user-auth flow (OPE-88): own-rolled OAuth. Since OPE-2411 it ALWAYS registers — the
79
+ // OE_OAUTH_ENABLED master flag and the OE_OAUTH_CONFIG env map are deleted. Each connector declares its
80
+ // own sign-in in its connection module, next to its URL, and the vault reads those declarations per
81
+ // call. A mint for an OAuth home nothing declares fails closed unless the vault already holds a client
82
+ // record or an unexpired token for it; the off switch is the bundle's `user-oauth` grant. There is no vendor fallback.
83
+ registerOeOauth();
85
84
  // The "db" credential broker (task #113): registered iff its AES key exists. Without the key the
86
85
  // broker fails closed on store and read, so registering it would falsely offer the "Set API key"
87
86
  // chat intake, which keys off the broker being REGISTERED.
@@ -93,7 +92,7 @@ async function wireDefaultAdapters(options) {
93
92
  // registerAgentBrowser can still refuse (returns false, loud) when the vendor binding did not take.
94
93
  const browserCfg = agentBrowserEnabled() ? loadAgentBrowserConfig() : undefined;
95
94
  const agentBrowser = browserCfg ? registerAgentBrowser(browserCfg) : false;
96
- // The AWS-access layer: only when OE_AWS_ENABLED is armed. Flag-off ⇒ core's AWS mint and exec
95
+ // The AWS-access layer: only when the `aws.enabled` setting is armed. Flag-off ⇒ core's AWS mint and exec
97
96
  // paths fail closed.
98
97
  const awsAccess = awsAccessEnabled();
99
98
  if (awsAccess)
@@ -114,9 +113,6 @@ async function wireDefaultAdapters(options) {
114
113
  // The audit drop counter (audit-wedge WS-5). audit.ts cannot import telemetry.ts (a module-init
115
114
  // cycle, and the one-chunk invariant), so this boot module injects the emitter.
116
115
  registerAuditDropCounter((action, platform) => emitTelemetry("oe.audit.dropped", { "oe.action": action, "oe.platform": platform }));
117
- // The Vercel Blob putter for the HTML-artifact hosting seam. Harmless when unused: the hosting
118
- // path runs only for an org that opted in, and the putter fails loud without its OIDC env.
119
- setBlobPutter(vercelBlobPutter);
120
116
  // THE APP'S HOOK, after every default registration and before every check that reads them.
121
117
  const customAdapters = options.customAdapters !== undefined;
122
118
  if (options.customAdapters)
@@ -132,7 +128,7 @@ async function wireDefaultAdapters(options) {
132
128
  // pre-approval rule behaves like `off`, so say so once. A boot notice, so it logs once per process,
133
129
  // in the process that serves, and a failure costs one log line, never the boot.
134
130
  registerBootNotice("approval-judge-no-rules", announceJudgeWithoutRules);
135
- const store = decideStoreWiring(process.env, onVercel());
131
+ const store = decideStoreWiring(process.env, onVercel(), getSettings().storage.allowEphemeralOperational);
136
132
  // Neon (hosted Postgres) is LIVE-ONLY: registerNeon() builds the driver only when called here.
137
133
  if (store.neon)
138
134
  await registerNeon();
@@ -153,7 +149,7 @@ async function wireDefaultAdapters(options) {
153
149
  // twice, so a local start reconciles twice. A reconcile WRITES when the process holds the surface's
154
150
  // credentials and the declared rooms differ from this checkout.
155
151
  await reconcileSurfaceCommands();
156
- WIRED = { providers, oeOauth: oeOauthCfg !== undefined, dbCredentialBroker, agentBrowser, awsAccess, customAdapters, store };
152
+ WIRED = { providers, oeOauth: true, dbCredentialBroker, agentBrowser, awsAccess, customAdapters, store };
157
153
  return WIRED;
158
154
  }
159
155
  // The boot-time store checks, in one place so they run either eagerly (hosted and sqlite paths, where
@@ -1 +1 @@
1
- {"version":3,"file":"register-defaults.js","sourceRoot":"","sources":["../../agent/register-defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-defaults.js","sourceRoot":"","sources":["../../agent/register-defaults.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export interface SandboxListing {
13
13
  * docker daemon, or a platform.
14
14
  */
15
15
  export interface SandboxStopper {
16
- /** Backend id, matching `OE_SANDBOX_BACKEND` / eve's backend name. For logs and tests. */
16
+ /** Backend id, matching `sandbox.selfHostBackend` / eve's backend name. For logs and tests. */
17
17
  readonly backend: string;
18
18
  /** Does this backend bill sandbox runtime by wall clock? Only then is a stop priced. */
19
19
  readonly metered: boolean;
@@ -87,11 +87,10 @@ export declare function createDockerStopper(run?: DockerRunner): SandboxStopper;
87
87
  */
88
88
  export declare const justBashStopper: SandboxStopper;
89
89
  /**
90
- * The ONE "who stops the sandbox on this deployment" decision. It reads the SAME two switches the
91
- * app reads to BUILD the backend — `onVercel()` and `resolveSelfHostBackendKind()` — so the
92
- * backend that runs and the backend that stops can never disagree. An unknown
93
- * `OE_SANDBOX_BACKEND` throws here exactly as it throws at boot; the hook's fail-soft catch logs
94
- * it rather than failing the turn.
90
+ * The ONE "who stops the sandbox on this deployment" decision. It reads the SAME rule the app
91
+ * reads to BUILD the backend — `resolveSandboxBackend()` over the host fact and the `sandbox.*`
92
+ * settings — so the backend that runs and the backend that stops can never disagree. Settings load
93
+ * refuses an unknown backend, so no value reaching this read can be one.
95
94
  */
96
95
  export declare function resolveSandboxStopper(): SandboxStopper;
97
96
  export declare function setSandboxStopperForTest(stopper: SandboxStopper | undefined): void;
@@ -1 +1 @@
1
- {"version":3,"file":"backend-stop.d.ts","sourceRoot":"","sources":["../../../agent/sandbox/backend-stop.ts"],"names":[],"mappings":"AAQA;wFACwF;AACxF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,0FAA0F;IAC1F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wFAAwF;IACxF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;0EACsE;IACtE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACnD,qFAAqF;IACrF,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC;;;;;OAKG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1D;AAED;6FAC6F;AAC7F,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAElD;AAID;;;GAGG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;4FAEwF;IACxF,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACxD;oGACgG;IAChG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;CAC9D;AAqBD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,aAAoC,GAAG,cAAc,CAAC,MAAM,CAAC,CAUlG;AAED,eAAO,MAAM,aAAa,EAAE,cAc3B,CAAC;AAIF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,8BAA8B,CAAC;AAEhE;0FAC0F;AAC1F,MAAM,WAAW,YAAY;IAC3B,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C;AAWD;mFACmF;AACnF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIjE;AAOD,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,YAAkC,GAAG,cAAc,CA+C3F;AAID;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,cAc7B,CAAC;AAIF;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,cAAc,CAItD;AAKD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,CAElF"}
1
+ {"version":3,"file":"backend-stop.d.ts","sourceRoot":"","sources":["../../../agent/sandbox/backend-stop.ts"],"names":[],"mappings":"AAQA;wFACwF;AACxF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,+FAA+F;IAC/F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wFAAwF;IACxF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;0EACsE;IACtE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACnD,qFAAqF;IACrF,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC;;;;;OAKG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1D;AAED;6FAC6F;AAC7F,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAElD;AAID;;;GAGG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;4FAEwF;IACxF,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACxD;oGACgG;IAChG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;CAC9D;AAqBD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,aAAoC,GAAG,cAAc,CAAC,MAAM,CAAC,CAUlG;AAED,eAAO,MAAM,aAAa,EAAE,cAc3B,CAAC;AAIF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,8BAA8B,CAAC;AAEhE;0FAC0F;AAC1F,MAAM,WAAW,YAAY;IAC3B,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C;AAWD;mFACmF;AACnF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIjE;AAOD,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,YAAkC,GAAG,cAAc,CA+C3F;AAID;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,cAc7B,CAAC;AAIF;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,cAAc,CAKtD;AAKD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,CAElF"}
@@ -2,7 +2,7 @@
2
2
  // peek first: eve's own `stop()` provisions, and a turn-end hook must never create a sandbox to stop one.
3
3
  import { Sandbox } from "@vercel/sandbox";
4
4
  import { execFile } from "node:child_process";
5
- import { onVercel, resolveSelfHostBackendKind } from "@open-everywhere/core/agent/adapter-api.js";
5
+ import { resolveSandboxBackend } from "@open-everywhere/core/agent/adapter-api.js";
6
6
  import { getRecordedSandboxName } from "./created-sandbox-registry.js";
7
7
  /** Only a booted (or booting) sandbox is worth stopping; stopped/snapshotting are already done.
8
8
  * Vercel's status vocabulary is the shared one — every other stopper normalises onto it. */
@@ -153,7 +153,7 @@ export function createDockerStopper(run = defaultDockerRunner) {
153
153
  export const justBashStopper = {
154
154
  backend: "just-bash",
155
155
  metered: false,
156
- ownership: "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",
156
+ ownership: "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",
157
157
  async list() {
158
158
  return [];
159
159
  },
@@ -166,18 +166,18 @@ export const justBashStopper = {
166
166
  };
167
167
  // ── selection ─────────────────────────────────────────────────────────────────────────────────
168
168
  /**
169
- * The ONE "who stops the sandbox on this deployment" decision. It reads the SAME two switches the
170
- * app reads to BUILD the backend — `onVercel()` and `resolveSelfHostBackendKind()` — so the
171
- * backend that runs and the backend that stops can never disagree. An unknown
172
- * `OE_SANDBOX_BACKEND` throws here exactly as it throws at boot; the hook's fail-soft catch logs
173
- * it rather than failing the turn.
169
+ * The ONE "who stops the sandbox on this deployment" decision. It reads the SAME rule the app
170
+ * reads to BUILD the backend — `resolveSandboxBackend()` over the host fact and the `sandbox.*`
171
+ * settings — so the backend that runs and the backend that stops can never disagree. Settings load
172
+ * refuses an unknown backend, so no value reaching this read can be one.
174
173
  */
175
174
  export function resolveSandboxStopper() {
176
175
  if (forcedStopper !== undefined)
177
176
  return forcedStopper;
178
- if (onVercel())
177
+ const backend = resolveSandboxBackend();
178
+ if (backend === "vercel")
179
179
  return vercelStopper;
180
- return resolveSelfHostBackendKind() === "justbash" ? justBashStopper : createDockerStopper();
180
+ return backend === "justbash" ? justBashStopper : createDockerStopper();
181
181
  }
182
182
  /** Test seam: force the resolved stopper so the hook's own branching can be driven without a
183
183
  * platform, credentials or a docker daemon. Pass `undefined` to restore real selection. */
@@ -1 +1 @@
1
- {"version":3,"file":"backend-stop.js","sourceRoot":"","sources":["../../../agent/sandbox/backend-stop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend-stop.js","sourceRoot":"","sources":["../../../agent/sandbox/backend-stop.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,0GAA0G;AAE1G,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAsCvE;6FAC6F;AAC7F,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC;AACtD,CAAC;AAyBD,MAAM,oBAAoB,GAAkB;IAC1C,KAAK,CAAC,SAAS,CAAC,SAAS;QACvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAqB,EAAE,CAAC;QACjC,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACnG,OAAO,GAAG,CAAC;IACb,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,IAAI;QAClB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACrD,0FAA0F;YAC1F,yFAAyF;YACzF,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAG,GAAkB,oBAAoB;IACxE,OAAO,KAAK,EAAE,SAAS,EAAE,EAAE;QACzB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,CAAC;YAC5E,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YACjD,IAAI,MAAM,KAAK,SAAS;gBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,IAAI;IACb,SAAS,EACP,kIAAkI;IACpI,IAAI,EAAE,gBAAgB,EAAE;IACxB,KAAK,CAAC,IAAI,CAAC,IAAI;QACb,MAAM,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS;QACzB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF,iGAAiG;AAEjG;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AAQhE,MAAM,mBAAmB,GAAiB,KAAK,EAAE,IAAI,EAAE,EAAE,CACvD,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC;IAC5D,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QACzF,IAAI,GAAG;YAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;YAChB,OAAO,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL;mFACmF;AACnF,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,YAAY;QAAE,OAAO,SAAS,CAAC;IACpE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;6BAE6B;AAC7B,MAAM,0BAA0B,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAExD,MAAM,UAAU,mBAAmB,CAAC,GAAG,GAAiB,mBAAmB;IACzE,OAAO;QACL,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,KAAK;QACd,SAAS,EACP,4LAA4L;QAC9L,KAAK,CAAC,IAAI,CAAC,SAAS;YAClB,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,oBAAoB,IAAI,SAAS,EAAE,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;iBACtI,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAClC,6FAA6F;YAC7F,4FAA4F;YAC5F,oFAAoF;YACpF,4FAA4F;YAC5F,+EAA+E;YAC/E,IAAI,SAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,oDAAoD,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;YACjH,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC;YACD,MAAM,GAAG,GAAqB,EAAE,CAAC;YACjC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5D,IAAI,OAAO,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;oBAAE,SAAS;gBAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAChC,MAAM,MAAM,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC5E,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,0BAA0B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACxG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,2BAA2B,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI;YACb,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,CAAC,KAAK;YACT,qFAAqF;YACrF,yFAAyF;YACzF,yFAAyF;YACzF,2DAA2D;YAC3D,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC;AAED,iGAAiG;AAEjG;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,KAAK;IACd,SAAS,EACP,gRAAgR;IAClR,KAAK,CAAC,IAAI;QACR,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,KAAK,CAAC,IAAI;QACR,2CAA2C;IAC7C,CAAC;IACD,KAAK,CAAC,KAAK;QACT,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAC;AAEF,iGAAiG;AAEjG;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC;IACtD,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,aAAa,CAAC;IAC/C,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;AAC1E,CAAC;AAED;4FAC4F;AAC5F,IAAI,aAAyC,CAAC;AAC9C,MAAM,UAAU,wBAAwB,CAAC,OAAmC;IAC1E,aAAa,GAAG,OAAO,CAAC;AAC1B,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@open-everywhere/adapters",
3
- "version": "0.3.0",
4
- "description": "Open Everywhere adapters — the reference Vercel-hosted backends: AI Gateway models and pricing, Sandbox, Blob, Neon, OpenTelemetry, AWS and Okta.",
3
+ "version": "0.5.0",
4
+ "description": "Open Everywhere adapters — the reference Vercel-hosted backends: AI Gateway models and pricing, Sandbox, Neon, OpenTelemetry, AWS and Okta.",
5
5
  "keywords": [
6
6
  "agent",
7
7
  "eve",
@@ -10,7 +10,6 @@
10
10
  "postgres",
11
11
  "opentelemetry",
12
12
  "sandbox",
13
- "blob",
14
13
  "okta",
15
14
  "aws"
16
15
  ],
@@ -61,10 +60,6 @@
61
60
  "types": "./dist/agent/aws/sts.d.ts",
62
61
  "default": "./dist/agent/aws/sts.js"
63
62
  },
64
- "./agent/blob/hosting.js": {
65
- "types": "./dist/agent/blob/hosting.d.ts",
66
- "default": "./dist/agent/blob/hosting.js"
67
- },
68
63
  "./agent/browser/config.js": {
69
64
  "types": "./dist/agent/browser/config.d.ts",
70
65
  "default": "./dist/agent/browser/config.js"
@@ -197,8 +192,7 @@
197
192
  },
198
193
  "dependencies": {
199
194
  "@neondatabase/serverless": "^1.1.0",
200
- "@open-everywhere/core": "0.3.0",
201
- "@vercel/blob": "^2.6.1",
195
+ "@open-everywhere/core": "0.5.0",
202
196
  "@vercel/otel": "^2.1.3",
203
197
  "@vercel/sandbox": "^3.2.1",
204
198
  "ai": "^7.0.105"
@@ -1,24 +0,0 @@
1
- // Vercel Blob putter — the vendor half of core's BlobPutter seam. Auth is OIDC and never a read-write token;
2
- // with the OIDC env absent it FAILS LOUD, because an opted-in unconfigured deployment is a misconfiguration.
3
-
4
- import type { BlobPutter } from "@open-everywhere/core/agent/adapter-api.js";
5
-
6
- /** The real putter — `put` with public access, OIDC auth and a random filename suffix. */
7
- export const vercelBlobPutter: BlobPutter = async ({ pathname, body, contentType }) => {
8
- if (!process.env.VERCEL_OIDC_TOKEN || !process.env.BLOB_STORE_ID) {
9
- throw new Error(
10
- "blob hosting is opted in but not configured — VERCEL_OIDC_TOKEN and BLOB_STORE_ID must be present " +
11
- "(Vercel populates them once a Blob store is connected to this project). This deployment writes Blobs " +
12
- "via OIDC, never a BLOB_READ_WRITE_TOKEN.",
13
- );
14
- }
15
- // Dynamic import keeps the vendor SDK off any bundling path that never hosts an artifact
16
- // (same discipline as post_file's node:fs import). OIDC creds are read from the environment.
17
- const { put } = await import("@vercel/blob");
18
- const res = await put(pathname, Buffer.from(body), {
19
- access: "public",
20
- contentType,
21
- addRandomSuffix: true, // namespace safety inside the reserved prefix — no collisions/guessing.
22
- });
23
- return { url: res.url };
24
- };