@mastra/factory 0.20.0-alpha.10 → 0.21.0-alpha.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.
@@ -24,8 +24,10 @@ import type { RouteDependencies } from './route.js';
24
24
  * Where a provider's active credential comes from, as seen by the caller.
25
25
  * Local mode reports `oauth`/`stored` (server-global `auth.json`); tenant mode
26
26
  * reports the scoped variants (`oauth-user`/`stored-user`/`stored-org`).
27
+ * `deployment` (tenant mode) marks a provider the operator opted in to run on
28
+ * the server process's own credentials (e.g. Amazon Bedrock's AWS chain).
27
29
  */
28
- export type ProviderCredentialSource = 'oauth' | 'stored' | 'env' | 'none' | 'oauth-user' | 'oauth-org' | 'stored-user' | 'stored-org';
30
+ export type ProviderCredentialSource = 'deployment' | 'oauth' | 'stored' | 'env' | 'none' | 'oauth-user' | 'oauth-org' | 'stored-user' | 'stored-org';
29
31
  /** A model provider with the current source of its credentials. */
30
32
  export interface ProviderInfo {
31
33
  provider: string;
@@ -114,10 +116,11 @@ interface ModelCatalog {
114
116
  * *caller's* tenant rows with user > org precedence and the server-global
115
117
  * `authStorage` is ignored; otherwise the local `auth.json` view is reported.
116
118
  */
117
- export declare function listProviders({ controller, authStorage, tenantCredentials, }: {
119
+ export declare function listProviders({ controller, authStorage, tenantCredentials, deploymentProviders, }: {
118
120
  controller: ModelCatalog;
119
121
  authStorage?: AuthStorage;
120
122
  tenantCredentials?: CredentialRecord[];
123
+ deploymentProviders?: ReadonlySet<string>;
121
124
  }): Promise<ProviderInfo[]>;
122
125
  /** A user-defined OpenAI-compatible provider, with key presence (never the key). */
123
126
  export interface CustomProviderInfo {
@@ -127,15 +130,29 @@ export interface CustomProviderInfo {
127
130
  hasApiKey: boolean;
128
131
  models: string[];
129
132
  }
133
+ /**
134
+ * Providers whose credentials can only come from the server process (Amazon
135
+ * Bedrock authenticates through the AWS credential chain). In tenant mode they
136
+ * are usable only when the operator lists them in
137
+ * `MastraFactoryConfig.deploymentModelProviders`.
138
+ */
139
+ export declare const DEPLOYMENT_MODEL_PROVIDERS: readonly string[];
140
+ export declare function isDeploymentModelProvider(provider: string): boolean;
141
+ /**
142
+ * Normalize the operator's `deploymentModelProviders` list. Unsupported ids are
143
+ * ignored with a warning rather than failing boot.
144
+ */
145
+ export declare function resolveDeploymentModelProviders(providers: readonly string[] | undefined): ReadonlySet<string>;
130
146
  /**
131
147
  * Compute which providers the user can reach, mirroring the TUI's
132
148
  * `/models-pack` access derivation: OAuth/api-key from the credential store for
133
149
  * the named providers, plus any other provider that has a usable key.
134
150
  */
135
- export declare function buildProviderAccess({ controller, authStorage, tenantCredentials, }: {
151
+ export declare function buildProviderAccess({ controller, authStorage, tenantCredentials, deploymentProviders, }: {
136
152
  controller: ModelCatalog;
137
153
  authStorage?: AuthStorage;
138
154
  tenantCredentials?: CredentialRecord[];
155
+ deploymentProviders?: ReadonlySet<string>;
139
156
  }): Promise<ProviderAccess>;
140
157
  /** Per-user default model context for the current request. */
141
158
  export interface ModelDefaultsContext {
@@ -203,6 +220,11 @@ export interface ConfigRoutesDeps extends RouteDependencies {
203
220
  onCustomProvidersChanged?: (tenant: {
204
221
  orgId: string;
205
222
  }) => void;
223
+ /**
224
+ * Tenant mode: providers the operator opted in to run on the server process's
225
+ * own credentials (see `DEPLOYMENT_MODEL_PROVIDERS`).
226
+ */
227
+ deploymentProviders?: ReadonlySet<string>;
206
228
  /**
207
229
  * Path of the server's settings.json backing the deployment-scoped thinking
208
230
  * defaults. Defaults to the standard app-data location; injectable for tests.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAGjE,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,mCAAmC,CAAC;AAQ7F,OAAO,KAAK,EAAyB,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAExG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAUpD,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAwB,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAEhH,OAAO,KAAK,EAIV,qBAAqB,EACtB,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAS5F,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAa,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAO/D;;;;;;;;;GASG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,GAChC,YAAY,GACZ,OAAO,GACP,QAAQ,GACR,KAAK,GACL,MAAM,GACN,YAAY,GACZ,WAAW,GACX,aAAa,GACb,YAAY,CAAC;AAEjB,mEAAmE;AACnE,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,MAAM,EAAE,wBAAwB,CAAC;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,wEAAwE;IACxE,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,mEAAmE;IACnE,KAAK,CAAC,EAAE;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;CACxD;AAED,2DAA2D;AAC3D,UAAU,MAAM;IACd,OAAO,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAClC,SAAS,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACpC,WAAW,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D;AAED;;;;GAIG;AACH,UAAU,aAAa;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,CAAC,GAAG,EAAE,mBAAmB,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAAC;IACvD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACvC;AAED,0DAA0D;AAC1D,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;QAC/C,GAAG,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KACvD,CAAC;IACF,MAAM,EAAE;QACN,UAAU,EAAE,CAAC,IAAI,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,OAAO,CAAA;SAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACtE,CAAC;IACF,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED,uFAAuF;AACvF,UAAU,YAAY;IACpB,mBAAmB,EAAE,MAAM,OAAO,CAChC,KAAK,CAAC;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CACxG,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;CAC/F;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,EAClC,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACpB,EAAE;IACD,UAAU,EAAE,YAAY,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC3C,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA6D1B;AAED,oFAAoF;AACpF,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAmFD;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAAgC,CAAC;AAEzF,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAc7G;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACpB,EAAE;IACD,UAAU,EAAE,YAAY,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC3C,GAAG,OAAO,CAAC,cAAc,CAAC,CA0C1B;AAQD,8DAA8D;AAC9D,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAyCD,iDAAiD;AACjD,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACxC,yEAAyE;IACzE,aAAa,EAAE,oBAAoB,CAAC;IACpC,gFAAgF;IAChF,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACnD,sEAAsE;IACtE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,qFAAqF;IACrF,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,kDAAkD;AAClD,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,IAAI,CAAC;IACT,aAAa,EAAE,oBAAoB,CAAC;IACpC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CACpD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,GAAG,YAAY,CAU7D;AA2FD,uDAAuD;AACvD,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,UAAU,EAAE,YAAY,CAAC;IACzB,QAAQ,CAAC,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAClC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IAC3C,yEAAyE;IACzE,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,sEAAsE;IACtE,qBAAqB,CAAC,EAAE,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACvF,0EAA0E;IAC1E,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,2FAA2F;IAC3F,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,+EAA+E;IAC/E,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5E,6FAA6F;IAC7F,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/D;;;OAGG;IACH,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,gBAAgB,CAAC;IACvD,MAAM,IAAI,QAAQ,EAAE;CAiuBrB"}
@@ -1,13 +1,14 @@
1
1
  import { WEB_OAUTH_FLOW_KINDS, getAuthProviderId, listTenantCredentialsForRequest, resolveCredentialContext, tenantOrgId } from "./provider-credentials.js";
2
- import { Route } from "./route.js";
3
2
  import { factoryMemorySettingsUserId } from "../storage/domains/memory-settings/base.js";
4
3
  import { applyStoredMemorySettings } from "../session/memory-settings-hydration.js";
5
4
  import { seedPersonalOmDefaults } from "./om-seed.js";
5
+ import { Route } from "./route.js";
6
6
  import { registerApiRoute } from "@mastra/core/server";
7
7
  import { z } from "zod";
8
- import { resolveProviderOMDefault } from "@mastra/code-sdk/onboarding/packs";
9
8
  import { DEFAULT_OM_MODEL_ID } from "@mastra/code-sdk/constants";
9
+ import { resolveProviderOMDefault } from "@mastra/code-sdk/onboarding/packs";
10
10
  import { THINKING_LEVEL_VALUES, getCustomProviderId, isThinkingLevelSetting, loadSettings, saveSettings } from "@mastra/code-sdk/onboarding/settings";
11
+ import { AMAZON_BEDROCK_GATEWAY_ID } from "@mastra/code-sdk/providers/amazon-bedrock-gateway";
11
12
  //#region src/routes/config.ts
12
13
  /** Widen a route-local Hono context to the plain `Context` the auth helpers take. */
13
14
  function loose(c) {
@@ -22,11 +23,18 @@ function loose(c) {
22
23
  * *caller's* tenant rows with user > org precedence and the server-global
23
24
  * `authStorage` is ignored; otherwise the local `auth.json` view is reported.
24
25
  */
25
- async function listProviders({ controller, authStorage, tenantCredentials }) {
26
+ async function listProviders({ controller, authStorage, tenantCredentials, deploymentProviders }) {
26
27
  const models = await controller.listAvailableModels();
27
28
  const seen = /* @__PURE__ */ new Map();
28
29
  for (const model of models) {
29
30
  if (seen.has(model.provider)) continue;
31
+ if (tenantCredentials && isDeploymentModelProvider(model.provider)) {
32
+ if (deploymentProviders?.has(model.provider) && models.some((m) => m.provider === model.provider && m.hasApiKey)) seen.set(model.provider, {
33
+ provider: model.provider,
34
+ source: "deployment"
35
+ });
36
+ continue;
37
+ }
30
38
  const authProviderId = getAuthProviderId(model.provider);
31
39
  let source = "none";
32
40
  let orgKey;
@@ -120,16 +128,41 @@ function parseCustomProviderBody(body) {
120
128
  };
121
129
  }
122
130
  /**
131
+ * Providers whose credentials can only come from the server process (Amazon
132
+ * Bedrock authenticates through the AWS credential chain). In tenant mode they
133
+ * are usable only when the operator lists them in
134
+ * `MastraFactoryConfig.deploymentModelProviders`.
135
+ */
136
+ const DEPLOYMENT_MODEL_PROVIDERS = [AMAZON_BEDROCK_GATEWAY_ID];
137
+ function isDeploymentModelProvider(provider) {
138
+ return DEPLOYMENT_MODEL_PROVIDERS.includes(provider);
139
+ }
140
+ /**
141
+ * Normalize the operator's `deploymentModelProviders` list. Unsupported ids are
142
+ * ignored with a warning rather than failing boot.
143
+ */
144
+ function resolveDeploymentModelProviders(providers) {
145
+ const resolved = /* @__PURE__ */ new Set();
146
+ for (const raw of providers ?? []) {
147
+ const provider = raw.trim();
148
+ if (!provider) continue;
149
+ if (isDeploymentModelProvider(provider)) resolved.add(provider);
150
+ else console.warn(`[factory] Ignoring deployment model provider "${provider}". Supported: ${DEPLOYMENT_MODEL_PROVIDERS.join(", ")}.`);
151
+ }
152
+ return resolved;
153
+ }
154
+ /**
123
155
  * Compute which providers the user can reach, mirroring the TUI's
124
156
  * `/models-pack` access derivation: OAuth/api-key from the credential store for
125
157
  * the named providers, plus any other provider that has a usable key.
126
158
  */
127
- async function buildProviderAccess({ controller, authStorage, tenantCredentials }) {
159
+ async function buildProviderAccess({ controller, authStorage, tenantCredentials, deploymentProviders }) {
128
160
  const models = await controller.listAvailableModels();
129
161
  const hasModelKey = (provider) => models.some((m) => m.provider === provider && m.hasApiKey);
130
162
  const accessLevel = (provider) => {
131
163
  const authProviderId = getAuthProviderId(provider);
132
164
  if (tenantCredentials) {
165
+ if (isDeploymentModelProvider(provider)) return deploymentProviders?.has(provider) && hasModelKey(provider) ? "apikey" : false;
133
166
  const userRec = tenantCredentials.find((r) => r.scope === "user" && r.provider === authProviderId);
134
167
  const orgRec = tenantCredentials.find((r) => r.scope === "org" && r.provider === authProviderId);
135
168
  const credential = userRec?.credential ?? orgRec?.credential;
@@ -273,7 +306,7 @@ async function persistMemorySettings(context, patch, fillIfUnset) {
273
306
  var ConfigRoutes = class extends Route {
274
307
  routes() {
275
308
  const options = this.deps;
276
- const { controller, authStorage, auth } = options;
309
+ const { controller, authStorage, auth, deploymentProviders } = options;
277
310
  const onCredentialsChanged = options.onCredentialsChanged ?? (() => {});
278
311
  const onCustomProvidersChanged = options.onCustomProvidersChanged ?? (() => {});
279
312
  const factoryOmFallback = async (factoryProjectId) => {
@@ -308,7 +341,8 @@ var ConfigRoutes = class extends Route {
308
341
  providers: await listProviders({
309
342
  controller,
310
343
  authStorage: tenantCredentials ? void 0 : authStorage,
311
- tenantCredentials
344
+ tenantCredentials,
345
+ deploymentProviders
312
346
  }),
313
347
  ...orgKeyAdmin !== void 0 ? { orgKeyAdmin } : {}
314
348
  });
@@ -340,6 +374,10 @@ var ConfigRoutes = class extends Route {
340
374
  const scope = body.scope === "org" ? "org" : "user";
341
375
  try {
342
376
  if (ctx.mode === "tenant") {
377
+ if (isDeploymentModelProvider(provider)) return c.json({
378
+ error: "provider_configured_by_deployment",
379
+ message: `${provider} is configured by the Factory deployment (credentials on the server), not per account.`
380
+ }, 400);
343
381
  if (scope === "org" && !await auth.isOrganizationAdmin(loose(c), ctx.orgId)) return c.json({ error: "organization_admin_required" }, 403);
344
382
  const tenant = scope === "org" ? { orgId: ctx.orgId } : {
345
383
  orgId: ctx.orgId,
@@ -358,7 +396,8 @@ var ConfigRoutes = class extends Route {
358
396
  const records = await ctx.storage.listCredentials(ctx.orgId, ctx.userId);
359
397
  const providers = await listProviders({
360
398
  controller,
361
- tenantCredentials: records
399
+ tenantCredentials: records,
400
+ deploymentProviders
362
401
  });
363
402
  return c.json({
364
403
  ok: true,
@@ -404,7 +443,8 @@ var ConfigRoutes = class extends Route {
404
443
  const records = await ctx.storage.listCredentials(ctx.orgId, ctx.userId);
405
444
  const providers = await listProviders({
406
445
  controller,
407
- tenantCredentials: records
446
+ tenantCredentials: records,
447
+ deploymentProviders
408
448
  });
409
449
  return c.json({
410
450
  ok: true,
@@ -522,7 +562,8 @@ var ConfigRoutes = class extends Route {
522
562
  const [models, access] = await Promise.all([controller.listAvailableModels(), buildProviderAccess({
523
563
  controller,
524
564
  authStorage: tenantCredentials ? void 0 : authStorage,
525
- tenantCredentials
565
+ tenantCredentials,
566
+ deploymentProviders
526
567
  })]);
527
568
  const catalog = models.filter((m) => canUseModelProvider(access, m.provider) && typeof m.id === "string").map((m) => ({
528
569
  id: m.id,
@@ -728,7 +769,8 @@ var ConfigRoutes = class extends Route {
728
769
  if (!(await buildProviderAccess({
729
770
  controller,
730
771
  authStorage: tenantCredentials ? void 0 : authStorage,
731
- tenantCredentials
772
+ tenantCredentials,
773
+ deploymentProviders
732
774
  }))[providerId]) return c.json({ error: `Provider "${providerId}" is not configured` }, 400);
733
775
  const modelId = resolveProviderOMDefault(providerId, factoryModelId).modelId;
734
776
  const record = await context.storage.patch({
@@ -932,6 +974,6 @@ var ConfigRoutes = class extends Route {
932
974
  }
933
975
  };
934
976
  //#endregion
935
- export { ConfigRoutes, buildProviderAccess, listProviders, readOMConfig };
977
+ export { ConfigRoutes, DEPLOYMENT_MODEL_PROVIDERS, buildProviderAccess, isDeploymentModelProvider, listProviders, readOMConfig, resolveDeploymentModelProviders };
936
978
 
937
979
  //# sourceMappingURL=config.js.map