mastracode 0.47.1-alpha.0 → 0.47.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,29 @@
1
1
  # mastracode
2
2
 
3
+ ## 0.47.1-alpha.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Fixed model selection for Kimi For Coding, GitHub Copilot and custom providers in `/models`, `/setup`, `/model` and `/om`. Picking a Kimi or Copilot model no longer saves an id that fails with "Could not find config for provider mastracode". ([#26692](https://github.com/mastra-ai/mastra/pull/26692))
8
+
9
+ These models are now listed under ids that resolve:
10
+
11
+ - Kimi: `kimi-code-plan-cn/<model>` (your Kimi login or `KIMI_API_KEY` authenticates it)
12
+ - GitHub Copilot: `github-copilot/<model>`
13
+ - Custom providers: `<custom-provider>/<model>`
14
+
15
+ Ids you already saved keep working: `kimi-for-coding/<model>`, `mastracode/kimi-for-coding/<model>` and `mastracode/github-copilot/<model>`.
16
+
17
+ A Kimi API key saved in `/api-keys` or Factory's provider settings is now used for Kimi models, and a Kimi login shows as connected in `/api-keys`.
18
+
19
+ - Updated dependencies [[`bed1ccc`](https://github.com/mastra-ai/mastra/commit/bed1cccea5817d68faa42a15fda3a0b329f70680), [`bed1ccc`](https://github.com/mastra-ai/mastra/commit/bed1cccea5817d68faa42a15fda3a0b329f70680), [`4662af0`](https://github.com/mastra-ai/mastra/commit/4662af02f88e4d4826bcad59f304869f7705eef4), [`02e2eae`](https://github.com/mastra-ai/mastra/commit/02e2eae3aee1c5b5b9c807a6a3389b88eca1440c), [`c8c439d`](https://github.com/mastra-ai/mastra/commit/c8c439d3ad29294e754f61e7269904bd7843fb9b), [`d79c57b`](https://github.com/mastra-ai/mastra/commit/d79c57b6fcb4d61d50fb255724e3d9364a661601), [`5faebef`](https://github.com/mastra-ai/mastra/commit/5faebef77012b31d2062e266a27718ca35ac738d), [`1c70db1`](https://github.com/mastra-ai/mastra/commit/1c70db15096f477697022f391a82d9e23d9774de), [`b2dd0c6`](https://github.com/mastra-ai/mastra/commit/b2dd0c6333691467e61406ac920eb6f861db6bc0), [`ad16eae`](https://github.com/mastra-ai/mastra/commit/ad16eae7eec9af386c9eee81f4f30ef65d0df48b), [`4fe06e4`](https://github.com/mastra-ai/mastra/commit/4fe06e46bee723d7505947827e85745b468b0ca8)]:
20
+ - @mastra/observability@1.20.1-alpha.0
21
+ - @mastra/core@1.78.0-alpha.1
22
+ - @mastra/code-sdk@1.14.0-alpha.1
23
+ - @mastra/pg@1.31.2-alpha.0
24
+ - @mastra/libsql@1.26.2-alpha.0
25
+ - @mastra/mcp@2.4.1-alpha.0
26
+
3
27
  ## 0.47.1-alpha.0
4
28
 
5
29
  ### Patch Changes
package/dist/cli.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- const require_tui = require("./tui-Xb4rEa-y.cjs");
2
+ const require_tui = require("./tui-B5689bGt.cjs");
3
3
  let _mastra_code_sdk = require("@mastra/code-sdk");
4
4
  let fs = require("fs");
5
5
  fs = require_tui.__toESM(fs, 1);
@@ -270,7 +270,7 @@ async function runUpdateCommand({ args = [], output = process.stdout, errorOutpu
270
270
  //#endregion
271
271
  //#region src/version.ts
272
272
  function getCurrentVersion() {
273
- return "0.47.1-alpha.0";
273
+ return "0.47.1-alpha.1";
274
274
  }
275
275
  //#endregion
276
276
  //#region src/main.ts
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { T as TUI_CO_AUTHOR, _ as normalizeThemePreference, a as formatUpToDate, g as applyThemePreference, i as formatRegistryError, o as formatUpdateHeader, r as formatInstallingLabel, s as formatUpdateOutcome, t as MastraTUI } from "./tui-DFiJiZfi.js";
2
+ import { T as TUI_CO_AUTHOR, _ as normalizeThemePreference, a as formatUpToDate, g as applyThemePreference, i as formatRegistryError, o as formatUpdateHeader, r as formatInstallingLabel, s as formatUpdateOutcome, t as MastraTUI } from "./tui-CLkPtYAM.js";
3
3
  import { createMastraCode } from "@mastra/code-sdk";
4
4
  import fs from "fs";
5
5
  import { createMastraCodeAnalytics } from "@mastra/code-sdk/analytics";
@@ -269,7 +269,7 @@ async function runUpdateCommand({ args = [], output = process.stdout, errorOutpu
269
269
  //#endregion
270
270
  //#region src/version.ts
271
271
  function getCurrentVersion() {
272
- return "0.47.1-alpha.0";
272
+ return "0.47.1-alpha.1";
273
273
  }
274
274
  //#endregion
275
275
  //#region src/main.ts
@@ -3,7 +3,7 @@ name: mastracode
3
3
  description: Documentation for mastracode. Use when working with mastracode APIs, configuration, or implementation.
4
4
  metadata:
5
5
  package: "mastracode"
6
- version: "0.47.1-alpha.0"
6
+ version: "0.47.1-alpha.1"
7
7
  ---
8
8
 
9
9
  ## When to use
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.47.1-alpha.0",
2
+ "version": "0.47.1-alpha.1",
3
3
  "package": "mastracode",
4
4
  "exports": {},
5
5
  "modules": {}
@@ -1 +1 @@
1
- {"version":3,"file":"api-keys.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/api-keys.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC7C;AAUD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GACxE,YAAY,EAAE,CAyBhB;AAsBD,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmJlF"}
1
+ {"version":3,"file":"api-keys.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/api-keys.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC7C;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GACxE,YAAY,EAAE,CA2BhB;AAsBD,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmJlF"}
@@ -46,6 +46,15 @@ export interface ModelSelectorOptions {
46
46
  * so the user is still prompted for a key by provider name.
47
47
  */
48
48
  export declare function makeCustomModelItem(id: string, models: ModelItem[]): ModelItem;
49
+ /**
50
+ * The shared catalog namespaces the MastraCode gateway's providers (the user's
51
+ * custom providers) as `mastracode/<provider>/<model>`, but Mastra Code
52
+ * resolves and saves them as `<provider>/<model>`. Show and
53
+ * select them under that canonical id so typed ids match catalog rows and the
54
+ * saved id resolves. When a canonical id is listed twice, keep the authenticated
55
+ * entry.
56
+ */
57
+ export declare function toCanonicalModelItems(models: ModelItem[]): ModelItem[];
49
58
  export declare class ModelSelectorComponent extends Box implements Focusable {
50
59
  private searchInput;
51
60
  private listContainer;
@@ -1 +1 @@
1
- {"version":3,"file":"model-selector.d.ts","sourceRoot":"","sources":["../../../src/tui/components/model-selector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,GAAG,EAA0C,KAAK,EAAgB,MAAM,wBAAwB,CAAC;AAC1G,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAQ7D,MAAM,WAAW,SAAS;IACxB,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,GAAG,EAAE,GAAG,CAAC;IACT,+BAA+B;IAC/B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,kCAAkC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAY9E;AAMD,qBAAa,sBAAuB,SAAQ,GAAI,YAAW,SAAS;IAClE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAC,CAAS;IAG5B,OAAO,CAAC,QAAQ,CAAS;IACzB,IAAI,OAAO,IAAI,OAAO,CAErB;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAGzB;gBAEW,OAAO,EAAE,oBAAoB;IAiBzC,OAAO,CAAC,OAAO;IAmCf,OAAO,CAAC,UAAU;IA+BlB,+DAA+D;IAC/D,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,UAAU;IAwDlB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IA0ClC,OAAO,CAAC,YAAY;IAIpB,cAAc,IAAI,KAAK;CAGxB"}
1
+ {"version":3,"file":"model-selector.d.ts","sourceRoot":"","sources":["../../../src/tui/components/model-selector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,GAAG,EAA0C,KAAK,EAAgB,MAAM,wBAAwB,CAAC;AAC1G,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAQ7D,MAAM,WAAW,SAAS;IACxB,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,GAAG,EAAE,GAAG,CAAC;IACT,+BAA+B;IAC/B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,kCAAkC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAY9E;AAID;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CActE;AAMD,qBAAa,sBAAuB,SAAQ,GAAI,YAAW,SAAS;IAClE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAC,CAAS;IAG5B,OAAO,CAAC,QAAQ,CAAS;IACzB,IAAI,OAAO,IAAI,OAAO,CAErB;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAGzB;gBAEW,OAAO,EAAE,oBAAoB;IAiBzC,OAAO,CAAC,OAAO;IAmCf,OAAO,CAAC,UAAU;IA+BlB,+DAA+D;IAC/D,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,UAAU;IAwDlB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IA0ClC,OAAO,CAAC,YAAY;IAIpB,cAAc,IAAI,KAAK;CAGxB"}
@@ -2733,6 +2733,28 @@ function makeCustomModelItem(id, models) {
2733
2733
  apiKeyEnvVar: sibling?.apiKeyEnvVar
2734
2734
  };
2735
2735
  }
2736
+ const MASTRACODE_GATEWAY_PREFIX = "mastracode/";
2737
+ /**
2738
+ * The shared catalog namespaces the MastraCode gateway's providers (the user's
2739
+ * custom providers) as `mastracode/<provider>/<model>`, but Mastra Code
2740
+ * resolves and saves them as `<provider>/<model>`. Show and
2741
+ * select them under that canonical id so typed ids match catalog rows and the
2742
+ * saved id resolves. When a canonical id is listed twice, keep the authenticated
2743
+ * entry.
2744
+ */
2745
+ function toCanonicalModelItems(models) {
2746
+ const byId = /* @__PURE__ */ new Map();
2747
+ for (const model of models) {
2748
+ const canonical = model.provider.startsWith(MASTRACODE_GATEWAY_PREFIX) ? {
2749
+ ...model,
2750
+ id: model.id.slice(11),
2751
+ provider: model.provider.slice(11)
2752
+ } : model;
2753
+ const existing = byId.get(canonical.id);
2754
+ if (!existing || !existing.hasApiKey && canonical.hasApiKey) byId.set(canonical.id, canonical);
2755
+ }
2756
+ return [...byId.values()];
2757
+ }
2736
2758
  var ModelSelectorComponent = class extends _earendil_works_pi_tui.Box {
2737
2759
  searchInput;
2738
2760
  listContainer;
@@ -2758,7 +2780,7 @@ var ModelSelectorComponent = class extends _earendil_works_pi_tui.Box {
2758
2780
  this.tui = options.tui;
2759
2781
  this.title = options.title ?? "Select Model";
2760
2782
  this.titleColor = options.titleColor;
2761
- this.allModels = this.sortModels(options.models, options.currentModelId);
2783
+ this.allModels = this.sortModels(toCanonicalModelItems(options.models), options.currentModelId);
2762
2784
  this.currentModelId = options.currentModelId;
2763
2785
  this.onSelectCallback = options.onSelect;
2764
2786
  this.onCancelCallback = options.onCancel;
@@ -16869,13 +16891,6 @@ function applyPreviewLinesToRenderedComponents(state, previewLineLimit, modeColo
16869
16891
  * Lists known providers with their key status and allows adding, updating, or removing keys.
16870
16892
  */
16871
16893
  /**
16872
- * OAuth credentials are stored under the auth provider id, which differs from
16873
- * the catalog provider id for OpenAI (stored as `openai-codex`).
16874
- */
16875
- function getAuthProviderId(provider) {
16876
- return provider === "openai" ? "openai-codex" : provider;
16877
- }
16878
- /**
16879
16894
  * Build a deduplicated list of providers from available models,
16880
16895
  * annotated with their current key source.
16881
16896
  */
@@ -16884,7 +16899,7 @@ function getProviderList(ctx, models) {
16884
16899
  for (const model of models) {
16885
16900
  if (seen.has(model.provider)) continue;
16886
16901
  let source = "none";
16887
- if (ctx.authStorage?.isLoggedIn(getAuthProviderId(model.provider))) source = "oauth";
16902
+ if (ctx.authStorage?.isLoggedIn((0, _mastra_code_sdk_providers_model_ids.getCredentialProviderId)(model.provider))) source = "oauth";
16888
16903
  else if (ctx.authStorage?.hasStoredApiKey(model.provider)) source = "stored";
16889
16904
  else if (model.apiKeyEnvVar && process.env[model.apiKeyEnvVar]) source = "env";
16890
16905
  else if (model.hasApiKey) source = "env";
@@ -28589,4 +28604,4 @@ Object.defineProperty(exports, "theme", {
28589
28604
  }
28590
28605
  });
28591
28606
 
28592
- //# sourceMappingURL=tui-Xb4rEa-y.cjs.map
28607
+ //# sourceMappingURL=tui-B5689bGt.cjs.map