@mastra/deployer 0.19.0 → 0.19.1-alpha.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @mastra/deployer
2
2
 
3
+ ## 0.19.1-alpha.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`4a70ccc`](https://github.com/mastra-ai/mastra/commit/4a70ccc5cfa12ae9c2b36545a5814cd98e5a0ead)]:
8
+ - @mastra/core@0.19.1-alpha.1
9
+ - @mastra/server@0.19.1-alpha.1
10
+
11
+ ## 0.19.1-alpha.0
12
+
13
+ ### Patch Changes
14
+
15
+ - Added Mastra model router to Playground UI ([#8332](https://github.com/mastra-ai/mastra/pull/8332))
16
+
17
+ - Updated dependencies [[`0992b8b`](https://github.com/mastra-ai/mastra/commit/0992b8bf0f4f1ba7ad9940883ec4bb8d867d3105), [`283bea0`](https://github.com/mastra-ai/mastra/commit/283bea07adbaf04a27fa3ad2df611095e0825195)]:
18
+ - @mastra/server@0.19.1-alpha.0
19
+ - @mastra/core@0.19.1-alpha.0
20
+
3
21
  ## 0.19.0
4
22
 
5
23
  ### Patch Changes
@@ -67,6 +67,7 @@ export declare function getAgentsHandler(c: Context): Promise<Response & import(
67
67
  }[] | undefined;
68
68
  };
69
69
  }, import("hono/utils/http-status").ContentfulStatusCode, "json">>;
70
+ export declare function getProvidersHandler(c: Context): Promise<Response>;
70
71
  export declare function getAgentByIdHandler(c: Context): Promise<Response & import("hono").TypedResponse<never, import("hono/utils/http-status").ContentfulStatusCode, "json">>;
71
72
  export declare function getEvalsByAgentIdHandler(c: Context): Promise<Response & import("hono").TypedResponse<{
72
73
  id: string;
@@ -220,7 +221,14 @@ export declare function deprecatedStreamVNextHandler(c: Context): Promise<Respon
220
221
  }, 410, "json">>;
221
222
  export declare function getModelProvidersHandler(c: Context): Promise<(Response & import("hono").TypedResponse<{
222
223
  error: string;
223
- }, 403, "json">) | (Response & import("hono").TypedResponse<string[], import("hono/utils/http-status").ContentfulStatusCode, "json">)>;
224
+ }, 403, "json">) | (Response & import("hono").TypedResponse<{
225
+ id: string;
226
+ name: string;
227
+ envVar: string;
228
+ hasApiKey: boolean;
229
+ docUrl: string | null;
230
+ models: string[];
231
+ }[], import("hono/utils/http-status").ContentfulStatusCode, "json">)>;
224
232
  export declare function updateAgentModelInModelListHandler(c: Context): Promise<Response>;
225
233
  export declare function reorderAgentModelListHandler(c: Context): Promise<Response>;
226
234
  //# sourceMappingURL=handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../../../src/server/handlers/routes/agents/handlers.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAMpC,eAAO,MAAM,iBAAiB,EAAE,GA+B/B,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,GA+B9B,CAAC;AAGF,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEAOhD;AAED,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,OAAO,0HAcnD;AAED,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEAYxD;AAED,wBAAsB,4BAA4B,CAAC,CAAC,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEAY5D;AAED,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,OAAO,qBAmBrD;AAED,wBAAsB,eAAe,CAAC,CAAC,EAAE,OAAO,qBAmB/C;AAED,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,OAAO,qBAmBpD;AAED,wBAAsB,2BAA2B,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAmB3F;AAED,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAmBrF;AAED,wBAAsB,0BAA0B,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CA+C1F;AAED,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,OAAO,qBAyEpD;AAED,wBAAsB,2BAA2B,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAmB3F;AAED,wBAAsB,2BAA2B,CAAC,CAAC,EAAE,OAAO,qBAgC3D;AAED,wBAAsB,uBAAuB,CAAC,CAAC,EAAE,OAAO,qBAgBvD;AAED,wBAAsB,4BAA4B,CAAC,CAAC,EAAE,OAAO;;;;;iBAU5D;AAED,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,OAAO;;uIAWxD;AAED,wBAAsB,kCAAkC,CAAC,CAAC,EAAE,OAAO,qBAkBlE;AAED,wBAAsB,4BAA4B,CAAC,CAAC,EAAE,OAAO,qBAgB5D"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../../../src/server/handlers/routes/agents/handlers.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAMpC,eAAO,MAAM,iBAAiB,EAAE,GA+B/B,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,GA+B9B,CAAC;AAGF,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEAOhD;AAED,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,OAAO,qBA4BnD;AAED,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,OAAO,0HAcnD;AAED,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEAYxD;AAED,wBAAsB,4BAA4B,CAAC,CAAC,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEAY5D;AAED,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,OAAO,qBAmBrD;AAED,wBAAsB,eAAe,CAAC,CAAC,EAAE,OAAO,qBAmB/C;AAED,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,OAAO,qBAmBpD;AAED,wBAAsB,2BAA2B,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAmB3F;AAED,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAmBrF;AAED,wBAAsB,0BAA0B,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CA+C1F;AAED,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,OAAO,qBAyEpD;AAED,wBAAsB,2BAA2B,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAmB3F;AAED,wBAAsB,2BAA2B,CAAC,CAAC,EAAE,OAAO,qBAgC3D;AAED,wBAAsB,uBAAuB,CAAC,CAAC,EAAE,OAAO,qBAgBvD;AAED,wBAAsB,4BAA4B,CAAC,CAAC,EAAE,OAAO;;;;;iBAU5D;AAED,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,OAAO;;;;;;;;;sEAuBxD;AAED,wBAAsB,kCAAkC,CAAC,CAAC,EAAE,OAAO,qBAkBlE;AAED,wBAAsB,4BAA4B,CAAC,CAAC,EAAE,OAAO,qBAgB5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../../src/server/handlers/routes/agents/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AA0BvD,wBAAgB,YAAY,CAAC,gBAAgB,EAAE,gBAAgB,8EA6sC9D;AAED,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,gBAAgB,8EAyHjE"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../../src/server/handlers/routes/agents/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AA2BvD,wBAAgB,YAAY,CAAC,gBAAgB,EAAE,gBAAgB,8EA2tC9D;AAED,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,gBAAgB,8EAyHjE"}
@@ -25,6 +25,7 @@ var streaming = require('hono/streaming');
25
25
  var bodyLimit = require('hono/body-limit');
26
26
  var agentBuilder = require('@mastra/server/handlers/agent-builder');
27
27
  var error = require('@mastra/core/error');
28
+ var llm = require('@mastra/core/llm');
28
29
  var agents = require('@mastra/server/handlers/agents');
29
30
  var agent = require('@mastra/core/agent');
30
31
  var zod = require('zod');
@@ -2407,6 +2408,27 @@ async function getAgentsHandler(c2) {
2407
2408
  });
2408
2409
  return c2.json(serializedAgents);
2409
2410
  }
2411
+ async function getProvidersHandler(c2) {
2412
+ try {
2413
+ const providers = [];
2414
+ for (const [providerId, config] of Object.entries(llm.PROVIDER_REGISTRY)) {
2415
+ const hasApiKey = !!(typeof config.apiKeyEnvVar === `string` ? process.env[config.apiKeyEnvVar] : Array.isArray(config.apiKeyEnvVar) ? config.apiKeyEnvVar.every((k) => !!process.env[k]) : false);
2416
+ const providerConfig = llm.getProviderConfig(providerId);
2417
+ providers.push({
2418
+ id: providerId,
2419
+ name: config.name,
2420
+ envVar: config.apiKeyEnvVar,
2421
+ connected: hasApiKey,
2422
+ models: [...config.models],
2423
+ // Convert readonly array to mutable
2424
+ docUrl: providerConfig?.docUrl || null
2425
+ });
2426
+ }
2427
+ return c2.json({ providers });
2428
+ } catch (error) {
2429
+ return handleError(error, "Error getting providers");
2430
+ }
2431
+ }
2410
2432
  async function getAgentByIdHandler(c2) {
2411
2433
  const mastra = c2.get("mastra");
2412
2434
  const agentId = c2.req.param("agentId");
@@ -2720,8 +2742,18 @@ async function getModelProvidersHandler(c2) {
2720
2742
  const providers = Object.entries(AllowedProviderKeys);
2721
2743
  const envKeys = Object.keys(envVars);
2722
2744
  const availableProviders = providers.filter(([_, value]) => envKeys.includes(value) && !!envVars[value]);
2723
- const availableProvidersNames = availableProviders.map(([key]) => key);
2724
- return c2.json(availableProvidersNames);
2745
+ const providerInfo = availableProviders.map(([key, envVar]) => {
2746
+ const providerConfig = llm.getProviderConfig(key);
2747
+ return {
2748
+ id: key,
2749
+ name: key.charAt(0).toUpperCase() + key.slice(1).replace(/-/g, " "),
2750
+ envVar,
2751
+ hasApiKey: !!envVars[envVar],
2752
+ docUrl: providerConfig?.docUrl || null,
2753
+ models: providerConfig?.models || []
2754
+ };
2755
+ });
2756
+ return c2.json(providerInfo);
2725
2757
  }
2726
2758
  async function updateAgentModelInModelListHandler(c2) {
2727
2759
  try {
@@ -3042,6 +3074,19 @@ function agentsRouter(bodyLimitOptions) {
3042
3074
  }),
3043
3075
  getAgentsHandler
3044
3076
  );
3077
+ router.get(
3078
+ "/providers",
3079
+ w({
3080
+ description: "Get all available model providers with connection status",
3081
+ tags: ["agents"],
3082
+ responses: {
3083
+ 200: {
3084
+ description: "List of model providers with their connection status"
3085
+ }
3086
+ }
3087
+ }),
3088
+ getProvidersHandler
3089
+ );
3045
3090
  router.get(
3046
3091
  "/:agentId",
3047
3092
  w({