mastracode 0.36.1 → 0.37.0-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 +25 -0
- package/LICENSE.md +6 -4
- package/README.md +3 -2
- package/dist/cli.cjs +2 -2
- package/dist/cli.js +2 -2
- package/dist/tui/command-dispatch.d.ts.map +1 -1
- package/dist/tui/commands/connect.d.ts +3 -0
- package/dist/tui/commands/connect.d.ts.map +1 -0
- package/dist/tui/commands/index.d.ts +1 -0
- package/dist/tui/commands/index.d.ts.map +1 -1
- package/dist/tui/commands/login.d.ts.map +1 -1
- package/dist/tui/components/connect-method-selector.d.ts +4 -0
- package/dist/tui/components/connect-method-selector.d.ts.map +1 -0
- package/dist/tui/components/help-overlay.d.ts.map +1 -1
- package/dist/tui/setup.d.ts.map +1 -1
- package/dist/{tui-Dg7vMm5_.cjs → tui-7K6-8X8N.cjs} +72 -15
- package/dist/tui-7K6-8X8N.cjs.map +1 -0
- package/dist/{tui-BaobOqGM.js → tui-Br7kRtOS.js} +73 -16
- package/dist/tui-Br7kRtOS.js.map +1 -0
- package/dist/tui.cjs +1 -1
- package/dist/tui.js +1 -1
- package/package.json +9 -9
- package/dist/tui-BaobOqGM.js.map +0 -1
- package/dist/tui-Dg7vMm5_.cjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# mastracode
|
|
2
2
|
|
|
3
|
+
## 0.37.0-alpha.1
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Added `/connect` for provider accounts and API keys. `/login` continues to open provider account sign-in. ([#22426](https://github.com/mastra-ai/mastra/pull/22426))
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Stopped showing the Git user email address in the startup header. ([#22430](https://github.com/mastra-ai/mastra/pull/22430))
|
|
12
|
+
|
|
13
|
+
- Updated dependencies [[`295e506`](https://github.com/mastra-ai/mastra/commit/295e506b9e6cec99e7181c5f712648888cd9486f), [`8c3be07`](https://github.com/mastra-ai/mastra/commit/8c3be0761a862c5c035ed6e5d633de87cbba20e7), [`078affd`](https://github.com/mastra-ai/mastra/commit/078affdaea57ac5e95a77e9e7b197d1878190684), [`a87ff53`](https://github.com/mastra-ai/mastra/commit/a87ff53cef9318bea80c38c3bf3d9d9d507ac3c1), [`9e3403e`](https://github.com/mastra-ai/mastra/commit/9e3403e9868240cb18841898e84cf008ebd7a87e), [`00707f3`](https://github.com/mastra-ai/mastra/commit/00707f376a7cea7a26ce8a18ddfaefdc947dcf5a), [`791bf5e`](https://github.com/mastra-ai/mastra/commit/791bf5e81cd27e2e1cff66122f1380ab8a3dda41)]:
|
|
14
|
+
- @mastra/memory@1.28.1-alpha.0
|
|
15
|
+
- @mastra/core@1.63.1-alpha.1
|
|
16
|
+
- @mastra/observability@1.17.4-alpha.0
|
|
17
|
+
- @mastra/code-sdk@1.5.2-alpha.1
|
|
18
|
+
- @mastra/mcp@1.17.2
|
|
19
|
+
|
|
20
|
+
## 0.36.2-alpha.0
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- Updated dependencies [[`bae1502`](https://github.com/mastra-ai/mastra/commit/bae150254b06a4da6964d7c137af97f336362359)]:
|
|
25
|
+
- @mastra/core@1.63.1-alpha.0
|
|
26
|
+
- @mastra/code-sdk@1.5.2-alpha.0
|
|
27
|
+
|
|
3
28
|
## 0.36.1
|
|
4
29
|
|
|
5
30
|
### Patch Changes
|
package/LICENSE.md
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
Portions of this software are licensed as follows:
|
|
2
2
|
|
|
3
|
-
- All content that resides under any directory named
|
|
3
|
+
- All content that resides under any directory named `ee/` within this
|
|
4
4
|
repository, including but not limited to:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
|
|
5
|
+
- `@mastra/core/auth/ee`
|
|
6
|
+
- `@mastra/core/agent-builder/ee`
|
|
7
|
+
- `@mastra/editor/ee`
|
|
8
|
+
|
|
9
|
+
is licensed under the license defined in [`ee/LICENSE`](https://github.com/mastra-ai/mastra/blob/main/ee/LICENSE).
|
|
8
10
|
|
|
9
11
|
- All third-party components incorporated into the Mastra Software are
|
|
10
12
|
licensed under the original license provided by the owner of the
|
package/README.md
CHANGED
|
@@ -110,7 +110,8 @@ Select a suggestion with arrow keys and press Tab to insert it.
|
|
|
110
110
|
| `/yolo` | Toggle YOLO mode (auto-approve all tools) |
|
|
111
111
|
| `/resource` | Show/switch resource ID (tag for sharing) |
|
|
112
112
|
| `/thread:tag-dir` | Tag current thread with this directory |
|
|
113
|
-
| `/
|
|
113
|
+
| `/connect` | Connect a provider account or API key |
|
|
114
|
+
| `/login` | Sign in with a provider account |
|
|
114
115
|
| `/logout` | Log out from a provider |
|
|
115
116
|
| `/setup` | Re-run the interactive setup wizard |
|
|
116
117
|
| `/help` | Show available commands |
|
|
@@ -286,7 +287,7 @@ The SQLite database is stored in your system's application data directory:
|
|
|
286
287
|
|
|
287
288
|
For **Anthropic** models, mastracode supports two authentication methods:
|
|
288
289
|
|
|
289
|
-
1. **Claude Max OAuth (primary)**: Use `/
|
|
290
|
+
1. **Claude Max OAuth (primary)**: Use `/connect` to authenticate with a Claude Pro/Max subscription.
|
|
290
291
|
2. **API key (fallback)**: Set the `ANTHROPIC_API_KEY` environment variable for direct API access. This is used when not logged in via OAuth.
|
|
291
292
|
|
|
292
293
|
When both are available, Claude Max OAuth takes priority.
|
package/dist/cli.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const require_tui = require("./tui-
|
|
2
|
+
const require_tui = require("./tui-7K6-8X8N.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);
|
|
@@ -41,7 +41,7 @@ function createShutdownCoordinator(cleanup, exit, timeoutMs = 5e3) {
|
|
|
41
41
|
//#endregion
|
|
42
42
|
//#region src/version.ts
|
|
43
43
|
function getCurrentVersion() {
|
|
44
|
-
return "0.
|
|
44
|
+
return "0.37.0-alpha.1";
|
|
45
45
|
}
|
|
46
46
|
//#endregion
|
|
47
47
|
//#region src/main.ts
|
package/dist/cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { d as detectTerminalTheme, f as applyThemeMode, t as MastraTUI, v as restoreTerminalForeground } from "./tui-
|
|
2
|
+
import { d as detectTerminalTheme, f as applyThemeMode, t as MastraTUI, v as restoreTerminalForeground } from "./tui-Br7kRtOS.js";
|
|
3
3
|
import { createMastraCode } from "@mastra/code-sdk";
|
|
4
4
|
import fs from "fs";
|
|
5
5
|
import { createMastraCodeAnalytics } from "@mastra/code-sdk/analytics";
|
|
@@ -40,7 +40,7 @@ function createShutdownCoordinator(cleanup, exit, timeoutMs = 5e3) {
|
|
|
40
40
|
//#endregion
|
|
41
41
|
//#region src/version.ts
|
|
42
42
|
function getCurrentVersion() {
|
|
43
|
-
return "0.
|
|
43
|
+
return "0.37.0-alpha.1";
|
|
44
44
|
}
|
|
45
45
|
//#endregion
|
|
46
46
|
//#region src/main.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-dispatch.d.ts","sourceRoot":"","sources":["../../src/tui/command-dispatch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command-dispatch.d.ts","sourceRoot":"","sources":["../../src/tui/command-dispatch.ts"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAQ/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAc3C;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,MAAM,mBAAmB,GAClC,OAAO,CAAC,OAAO,CAAC,CAuOlB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/connect.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOlF"}
|
|
@@ -27,6 +27,7 @@ export { handleOMCommand } from './om.js';
|
|
|
27
27
|
export { handleKnowledgeCommand } from './knowledge-command.js';
|
|
28
28
|
export { handleSettingsCommand } from './settings.js';
|
|
29
29
|
export { handleBrowserCommand } from './browser.js';
|
|
30
|
+
export { handleConnectCommand } from './connect.js';
|
|
30
31
|
export { handleLoginCommand } from './login.js';
|
|
31
32
|
export { handleReviewCommand } from './review.js';
|
|
32
33
|
export { handleReportIssueCommand } from './report-issue.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/login.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/login.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA2EtD,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA2D1G"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect-method-selector.d.ts","sourceRoot":"","sources":["../../../src/tui/components/connect-method-selector.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAI9D,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAElD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAiC3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help-overlay.d.ts","sourceRoot":"","sources":["../../../src/tui/components/help-overlay.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAGxF,MAAM,WAAW,eAAe;IAC9B,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,mBAAmB,EAAE,oBAAoB,EAAE,CAAC;IAC5C,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"help-overlay.d.ts","sourceRoot":"","sources":["../../../src/tui/components/help-overlay.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAGxF,MAAM,WAAW,eAAe;IAC9B,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,mBAAmB,EAAE,oBAAoB,EAAE,CAAC;IAC5C,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAkGD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAyB9D"}
|
package/dist/tui/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/tui/setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/tui/setup.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAS3C,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE;IACT,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C,GACA,IAAI,CAkLN;AA8BD,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAyD9F;AAeD,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,GAAG,UAAU,CAAC,EACnE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,GAAG,0BAA0B,CAAC,GACjE,IAAI,CAiBN;AAsBD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAyKvD;AAMD,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B5E;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBtE;AAED,2DAA2D;AAC3D,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9E;AAMD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE;IACT,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;CACvB,GACA,MAAM,IAAI,CA2CZ;AAMD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAwB5G;AAMD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAIzD;AAMD,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAkG7E;AAMD,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWxE"}
|
|
@@ -2299,9 +2299,13 @@ function getCommands(modes) {
|
|
|
2299
2299
|
key: "/mcp",
|
|
2300
2300
|
description: "Show/reload MCP connections"
|
|
2301
2301
|
},
|
|
2302
|
+
{
|
|
2303
|
+
key: "/connect",
|
|
2304
|
+
description: "Connect a provider account or API key"
|
|
2305
|
+
},
|
|
2302
2306
|
{
|
|
2303
2307
|
key: "/login",
|
|
2304
|
-
description: "
|
|
2308
|
+
description: "Sign in with a provider account"
|
|
2305
2309
|
},
|
|
2306
2310
|
{
|
|
2307
2311
|
key: "/logout",
|
|
@@ -4441,7 +4445,7 @@ function withOMGuidance(typeHint, omModelId) {
|
|
|
4441
4445
|
}
|
|
4442
4446
|
function getErrorHint(errorType) {
|
|
4443
4447
|
switch (errorType) {
|
|
4444
|
-
case "auth": return "Use /
|
|
4448
|
+
case "auth": return "Use /connect to authenticate with a provider";
|
|
4445
4449
|
case "model_not_found": return "Use /models to select a different model";
|
|
4446
4450
|
case "context_length": return "Use /new to start a fresh conversation";
|
|
4447
4451
|
case "rate_limit": return "Wait a moment and try again";
|
|
@@ -15430,6 +15434,43 @@ async function handleBrowserCommand(ctx, args = []) {
|
|
|
15430
15434
|
ctx.showInfo(summary.join("\n"));
|
|
15431
15435
|
}
|
|
15432
15436
|
//#endregion
|
|
15437
|
+
//#region src/tui/components/connect-method-selector.ts
|
|
15438
|
+
function promptConnectMethod(tui) {
|
|
15439
|
+
return new Promise((resolve) => {
|
|
15440
|
+
const container = new _earendil_works_pi_tui.Box(4, 2, (text) => theme.bg("overlayBg", text));
|
|
15441
|
+
container.addChild(new _earendil_works_pi_tui.Text(theme.bold(theme.fg("accent", "Select authentication method:")), 0, 0));
|
|
15442
|
+
container.addChild(new _earendil_works_pi_tui.Spacer(1));
|
|
15443
|
+
const items = [{
|
|
15444
|
+
value: "account",
|
|
15445
|
+
label: " Sign in with an account"
|
|
15446
|
+
}, {
|
|
15447
|
+
value: "api-key",
|
|
15448
|
+
label: " Sign in with an API key"
|
|
15449
|
+
}];
|
|
15450
|
+
const selectList = new _earendil_works_pi_tui.SelectList(items, items.length, getSelectListTheme());
|
|
15451
|
+
const close = () => {
|
|
15452
|
+
tui.hideOverlay();
|
|
15453
|
+
tui.requestRender();
|
|
15454
|
+
};
|
|
15455
|
+
selectList.onSelect = (item) => {
|
|
15456
|
+
close();
|
|
15457
|
+
resolve(item.value);
|
|
15458
|
+
};
|
|
15459
|
+
selectList.onCancel = () => {
|
|
15460
|
+
close();
|
|
15461
|
+
resolve(null);
|
|
15462
|
+
};
|
|
15463
|
+
container.addChild(selectList);
|
|
15464
|
+
container.addChild(new _earendil_works_pi_tui.Spacer(1));
|
|
15465
|
+
container.addChild(new _earendil_works_pi_tui.Text(theme.fg("dim", "↑↓ navigate · Enter select · Esc/Ctrl+C cancel"), 0, 0));
|
|
15466
|
+
container.handleInput = (data) => selectList.handleInput(data);
|
|
15467
|
+
showModalOverlay(tui, container, {
|
|
15468
|
+
widthPercent: .8,
|
|
15469
|
+
maxHeight: "60%"
|
|
15470
|
+
});
|
|
15471
|
+
});
|
|
15472
|
+
}
|
|
15473
|
+
//#endregion
|
|
15433
15474
|
//#region src/tui/components/login-dialog.ts
|
|
15434
15475
|
/**
|
|
15435
15476
|
* Login dialog component - handles OAuth login flow UI
|
|
@@ -15645,14 +15686,14 @@ var LoginSelectorComponent = class extends _earendil_works_pi_tui.Box {
|
|
|
15645
15686
|
const provider = this.allProviders[i];
|
|
15646
15687
|
if (!provider) continue;
|
|
15647
15688
|
const isSelected = i === this.selectedIndex;
|
|
15648
|
-
const statusIndicator = this.authSource.isLoggedIn(provider.id) ? theme.fg("success", " ✓
|
|
15689
|
+
const statusIndicator = this.authSource.isLoggedIn(provider.id) ? theme.fg("success", " ✓ stored") : theme.fg("muted", " • unconfigured");
|
|
15649
15690
|
let line = "";
|
|
15650
15691
|
if (isSelected) line = theme.fg("accent", "→ " + provider.name) + statusIndicator;
|
|
15651
15692
|
else line = " " + provider.name + statusIndicator;
|
|
15652
15693
|
this.listContainer.addChild(new _earendil_works_pi_tui.Text(line));
|
|
15653
15694
|
}
|
|
15654
15695
|
if (this.allProviders.length === 0) {
|
|
15655
|
-
const message = this.mode === "login" ? "No OAuth providers available" : "No OAuth providers logged in. Use /
|
|
15696
|
+
const message = this.mode === "login" ? "No OAuth providers available" : "No OAuth providers logged in. Use /connect first.";
|
|
15656
15697
|
this.listContainer.addChild(new _earendil_works_pi_tui.Text(theme.fg("muted", message)));
|
|
15657
15698
|
}
|
|
15658
15699
|
}
|
|
@@ -15734,6 +15775,7 @@ async function performLogin(ctx, providerId) {
|
|
|
15734
15775
|
authMode
|
|
15735
15776
|
}).then(async () => {
|
|
15736
15777
|
ctx.state.ui.hideOverlay();
|
|
15778
|
+
ctx.state.controller.invalidateAvailableModelsCache();
|
|
15737
15779
|
const hasSelectedModel = ctx.state.session.model.get() !== "";
|
|
15738
15780
|
const defaultModel = _mastra_code_sdk_auth_storage.PROVIDER_DEFAULT_MODELS[providerId];
|
|
15739
15781
|
if (defaultModel && !hasSelectedModel) {
|
|
@@ -15754,7 +15796,7 @@ async function handleLoginCommand(ctx, mode) {
|
|
|
15754
15796
|
const loggedInIds = allProviders.filter((p) => ctx.authStorage?.isLoggedIn(p.id)).map((p) => p.id);
|
|
15755
15797
|
if (mode === "logout") {
|
|
15756
15798
|
if (loggedInIds.length === 0) {
|
|
15757
|
-
ctx.showInfo("No OAuth providers logged in. Use /
|
|
15799
|
+
ctx.showInfo("No OAuth providers logged in. Use /connect first.");
|
|
15758
15800
|
return;
|
|
15759
15801
|
}
|
|
15760
15802
|
}
|
|
@@ -15778,6 +15820,7 @@ async function handleLoginCommand(ctx, mode) {
|
|
|
15778
15820
|
if (provider) if (mode === "login") await performLogin(ctx, provider.id);
|
|
15779
15821
|
else if (ctx.authStorage) {
|
|
15780
15822
|
ctx.authStorage.logout(provider.id);
|
|
15823
|
+
ctx.state.controller.invalidateAvailableModelsCache();
|
|
15781
15824
|
ctx.showInfo(`Logged out from ${provider.name}`);
|
|
15782
15825
|
} else ctx.showError("Auth storage not configured");
|
|
15783
15826
|
resolve();
|
|
@@ -15792,10 +15835,17 @@ async function handleLoginCommand(ctx, mode) {
|
|
|
15792
15835
|
});
|
|
15793
15836
|
}
|
|
15794
15837
|
//#endregion
|
|
15838
|
+
//#region src/tui/commands/connect.ts
|
|
15839
|
+
async function handleConnectCommand(ctx) {
|
|
15840
|
+
const method = await promptConnectMethod(ctx.state.ui);
|
|
15841
|
+
if (method === "account") await handleLoginCommand(ctx, "login");
|
|
15842
|
+
else if (method === "api-key") await handleApiKeysCommand(ctx);
|
|
15843
|
+
}
|
|
15844
|
+
//#endregion
|
|
15795
15845
|
//#region src/tui/commands/review.ts
|
|
15796
15846
|
async function handleReviewCommand(ctx, args) {
|
|
15797
15847
|
if (!ctx.state.session.model.hasSelection()) {
|
|
15798
|
-
ctx.showInfo("No model selected. Use /models to select a model, or /
|
|
15848
|
+
ctx.showInfo("No model selected. Use /models to select a model, or /connect to authenticate.");
|
|
15799
15849
|
return;
|
|
15800
15850
|
}
|
|
15801
15851
|
if (ctx.state.pendingNewThread) {
|
|
@@ -15820,7 +15870,7 @@ const MASTRA_REPO = "mastra-ai/mastra";
|
|
|
15820
15870
|
const MASTRA_LABEL = "mastracode";
|
|
15821
15871
|
async function handleReportIssueCommand(ctx, args) {
|
|
15822
15872
|
if (!ctx.state.session.model.hasSelection()) {
|
|
15823
|
-
ctx.showInfo("No model selected. Use /models to select a model, or /
|
|
15873
|
+
ctx.showInfo("No model selected. Use /models to select a model, or /connect to authenticate.");
|
|
15824
15874
|
return;
|
|
15825
15875
|
}
|
|
15826
15876
|
if (ctx.state.pendingNewThread) {
|
|
@@ -17385,6 +17435,7 @@ function canRunSlashCommandDuringGoalJudge(command, args) {
|
|
|
17385
17435
|
* Slash command dispatcher: routes command strings to extracted handlers.
|
|
17386
17436
|
*/
|
|
17387
17437
|
const TRACKED_COMMANDS = /* @__PURE__ */ new Set([
|
|
17438
|
+
"connect",
|
|
17388
17439
|
"login",
|
|
17389
17440
|
"models",
|
|
17390
17441
|
"mode",
|
|
@@ -17515,6 +17566,9 @@ async function dispatchSlashCommand(input, state, buildCtx) {
|
|
|
17515
17566
|
case "settings":
|
|
17516
17567
|
await handleSettingsCommand(ctx);
|
|
17517
17568
|
return true;
|
|
17569
|
+
case "connect":
|
|
17570
|
+
await handleConnectCommand(ctx);
|
|
17571
|
+
return true;
|
|
17518
17572
|
case "login":
|
|
17519
17573
|
await handleLoginCommand(ctx, "login");
|
|
17520
17574
|
return true;
|
|
@@ -21364,7 +21418,7 @@ var OnboardingInlineComponent = class extends _earendil_works_pi_tui.Box {
|
|
|
21364
21418
|
}));
|
|
21365
21419
|
items.push({
|
|
21366
21420
|
value: "__skip",
|
|
21367
|
-
label: ` ${theme.fg("dim", "Skip (use API keys or configure later with /
|
|
21421
|
+
label: ` ${theme.fg("dim", "Skip (use API keys or configure later with /connect)")}`
|
|
21368
21422
|
});
|
|
21369
21423
|
this.selectList = new _earendil_works_pi_tui.SelectList(items, Math.min(items.length, 8), getSelectListTheme());
|
|
21370
21424
|
this.selectList.onSelect = (item) => {
|
|
@@ -21397,7 +21451,7 @@ var OnboardingInlineComponent = class extends _earendil_works_pi_tui.Box {
|
|
|
21397
21451
|
box.addChild(new _earendil_works_pi_tui.Spacer(1));
|
|
21398
21452
|
box.addChild(new _earendil_works_pi_tui.Text(theme.fg("dim", "See https://mastra.ai/models for supported providers and API key env vars."), 0, 0));
|
|
21399
21453
|
box.addChild(new _earendil_works_pi_tui.Spacer(1));
|
|
21400
|
-
box.addChild(new _earendil_works_pi_tui.Text(theme.fg("dim", "
|
|
21454
|
+
box.addChild(new _earendil_works_pi_tui.Text(theme.fg("dim", "Run /connect to configure an API key or authenticate with an account."), 0, 0));
|
|
21401
21455
|
box.addChild(new _earendil_works_pi_tui.Spacer(1));
|
|
21402
21456
|
}
|
|
21403
21457
|
box.addChild(new _earendil_works_pi_tui.Text(theme.bold(theme.fg("accent", "Model Packs")), 0, 0));
|
|
@@ -22056,8 +22110,7 @@ function buildLayout(state, refreshModelAuthStatus) {
|
|
|
22056
22110
|
`Project: ${state.projectInfo.name}`,
|
|
22057
22111
|
`Resource ID: ${state.projectInfo.resourceId}`,
|
|
22058
22112
|
state.projectInfo.gitBranch ? `Branch: ${state.projectInfo.gitBranch}` : null,
|
|
22059
|
-
state.projectInfo.isWorktree ? `Worktree of: ${state.projectInfo.mainRepoPath}` : null
|
|
22060
|
-
`User: ${(0, _mastra_code_sdk_utils_project.getUserId)(state.projectInfo.rootPath)}`
|
|
22113
|
+
state.projectInfo.isWorktree ? `Worktree of: ${state.projectInfo.mainRepoPath}` : null
|
|
22061
22114
|
].filter(Boolean).map((line) => theme.fg("muted", line)).join("\n");
|
|
22062
22115
|
const sep = theme.fg("dim", " · ");
|
|
22063
22116
|
const hintParts = [];
|
|
@@ -22175,9 +22228,13 @@ function setupAutocomplete(state) {
|
|
|
22175
22228
|
description: "Browse scoped Subconscious knowledge"
|
|
22176
22229
|
}] : [],
|
|
22177
22230
|
_mastra_code_sdk_thinking.THINK_COMMAND_DESCRIPTOR,
|
|
22231
|
+
{
|
|
22232
|
+
name: "connect",
|
|
22233
|
+
description: "Connect a provider account or API key"
|
|
22234
|
+
},
|
|
22178
22235
|
{
|
|
22179
22236
|
name: "login",
|
|
22180
|
-
description: "
|
|
22237
|
+
description: "Sign in with a provider account"
|
|
22181
22238
|
},
|
|
22182
22239
|
{
|
|
22183
22240
|
name: "skills",
|
|
@@ -22969,7 +23026,7 @@ var MastraTUI = class MastraTUI {
|
|
|
22969
23026
|
if (hookMgr) hookMgr.runSessionStart().catch(() => {});
|
|
22970
23027
|
if (this.state.options.initialMessage) {
|
|
22971
23028
|
const msg = this.state.options.initialMessage;
|
|
22972
|
-
if (!this.state.session.model.hasSelection()) showInfo(this.state, "No model selected. Use /models to select a model, or /
|
|
23029
|
+
if (!this.state.session.model.hasSelection()) showInfo(this.state, "No model selected. Use /models to select a model, or /connect to authenticate.");
|
|
22973
23030
|
else {
|
|
22974
23031
|
const messageId = `user-${Date.now()}`;
|
|
22975
23032
|
addUserMessage(this.state, {
|
|
@@ -23017,7 +23074,7 @@ var MastraTUI = class MastraTUI {
|
|
|
23017
23074
|
continue;
|
|
23018
23075
|
}
|
|
23019
23076
|
if (!this.state.session.model.hasSelection()) {
|
|
23020
|
-
showInfo(this.state, "No model selected. Use /models to select a model, or /
|
|
23077
|
+
showInfo(this.state, "No model selected. Use /models to select a model, or /connect to authenticate.");
|
|
23021
23078
|
continue;
|
|
23022
23079
|
}
|
|
23023
23080
|
const { content, images } = consumePendingImages(userInput, this.state.pendingImages);
|
|
@@ -24147,4 +24204,4 @@ Object.defineProperty(exports, "theme", {
|
|
|
24147
24204
|
}
|
|
24148
24205
|
});
|
|
24149
24206
|
|
|
24150
|
-
//# sourceMappingURL=tui-
|
|
24207
|
+
//# sourceMappingURL=tui-7K6-8X8N.cjs.map
|