@austinthesing/magic-shell 0.2.9 → 0.2.11
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/README.md +0 -1
- package/dist/cli.js +10 -19
- package/dist/index.js +1 -10
- package/dist/tui.js +10 -19
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -177,7 +177,6 @@ OpenCode Zen provides curated models optimized for coding tasks, including **fre
|
|
|
177
177
|
- `big-pickle` - Stealth model (default)
|
|
178
178
|
- `grok-code` - xAI's Grok Code Fast 1
|
|
179
179
|
- `glm-4.7` - GLM 4.7
|
|
180
|
-
- `minimax-m2.1-free` - MiniMax M2.1
|
|
181
180
|
|
|
182
181
|
**Premium Models:**
|
|
183
182
|
- Claude Sonnet 4.5, Claude Opus 4.5
|
package/dist/cli.js
CHANGED
|
@@ -21093,15 +21093,6 @@ var OPENCODE_ZEN_MODELS = [
|
|
|
21093
21093
|
provider: "opencode-zen",
|
|
21094
21094
|
contextLength: 128000
|
|
21095
21095
|
},
|
|
21096
|
-
{
|
|
21097
|
-
id: "minimax-m2.1-free",
|
|
21098
|
-
name: "MiniMax M2.1",
|
|
21099
|
-
description: "Free MiniMax model (limited time)",
|
|
21100
|
-
category: "smart",
|
|
21101
|
-
provider: "opencode-zen",
|
|
21102
|
-
contextLength: 128000,
|
|
21103
|
-
free: true
|
|
21104
|
-
},
|
|
21105
21096
|
{
|
|
21106
21097
|
id: "claude-3-5-haiku",
|
|
21107
21098
|
name: "Claude Haiku 3.5",
|
|
@@ -22030,7 +22021,7 @@ function getZenApiType(modelId) {
|
|
|
22030
22021
|
if (modelId.startsWith("gpt-")) {
|
|
22031
22022
|
return "openai-responses";
|
|
22032
22023
|
}
|
|
22033
|
-
if (modelId.startsWith("claude-")
|
|
22024
|
+
if (modelId.startsWith("claude-")) {
|
|
22034
22025
|
return "anthropic";
|
|
22035
22026
|
}
|
|
22036
22027
|
if (modelId.startsWith("gemini-")) {
|
|
@@ -22643,7 +22634,8 @@ async function main2() {
|
|
|
22643
22634
|
currentModel = savedModel;
|
|
22644
22635
|
}
|
|
22645
22636
|
renderer = await createCliRenderer({
|
|
22646
|
-
exitOnCtrlC: false
|
|
22637
|
+
exitOnCtrlC: false,
|
|
22638
|
+
useMouse: false
|
|
22647
22639
|
});
|
|
22648
22640
|
const theme = getTheme();
|
|
22649
22641
|
renderer.setBackgroundColor(theme.colors.background);
|
|
@@ -22863,7 +22855,7 @@ function createMainUI() {
|
|
|
22863
22855
|
paddingLeft: 1,
|
|
22864
22856
|
paddingRight: 1,
|
|
22865
22857
|
paddingTop: 0,
|
|
22866
|
-
paddingBottom:
|
|
22858
|
+
paddingBottom: 1,
|
|
22867
22859
|
backgroundColor: theme.colors.backgroundPanel
|
|
22868
22860
|
});
|
|
22869
22861
|
mainContainer.add(inputContainer);
|
|
@@ -22878,8 +22870,8 @@ function createMainUI() {
|
|
|
22878
22870
|
keyBindings: [
|
|
22879
22871
|
{ name: "return", action: "submit" },
|
|
22880
22872
|
{ name: "linefeed", action: "submit" },
|
|
22881
|
-
{ name: "return", shift: true, action: "
|
|
22882
|
-
{ name: "linefeed", shift: true, action: "
|
|
22873
|
+
{ name: "return", shift: true, action: "submit" },
|
|
22874
|
+
{ name: "linefeed", shift: true, action: "submit" },
|
|
22883
22875
|
{ name: "return", meta: true, action: "submit" }
|
|
22884
22876
|
],
|
|
22885
22877
|
onSubmit: () => {
|
|
@@ -22890,7 +22882,8 @@ function createMainUI() {
|
|
|
22890
22882
|
inputContainer.add(inputField);
|
|
22891
22883
|
inputHintText = new TextRenderable(renderer, {
|
|
22892
22884
|
id: "input-hint",
|
|
22893
|
-
content: getInputHintContent()
|
|
22885
|
+
content: getInputHintContent(),
|
|
22886
|
+
marginTop: 1
|
|
22894
22887
|
});
|
|
22895
22888
|
inputContainer.add(inputHintText);
|
|
22896
22889
|
helpBarText = new TextRenderable(renderer, {
|
|
@@ -22920,13 +22913,11 @@ function getHelpBarContent() {
|
|
|
22920
22913
|
}
|
|
22921
22914
|
function getInputHintContent() {
|
|
22922
22915
|
const theme = getTheme();
|
|
22923
|
-
return t`${fg(theme.colors.
|
|
22916
|
+
return t`${fg(theme.colors.primary)("Enter")} ${fg(theme.colors.textMuted)("to send")}`;
|
|
22924
22917
|
}
|
|
22925
22918
|
function getWelcomeMessage() {
|
|
22926
22919
|
const providerName = config.provider === "opencode-zen" ? "OpenCode Zen" : "OpenRouter";
|
|
22927
|
-
|
|
22928
|
-
Free models: big-pickle` : "";
|
|
22929
|
-
return `Ready. Using ${providerName}.${freeNote}
|
|
22920
|
+
return `Ready. Using ${providerName}.
|
|
22930
22921
|
Type what you want to do, or press Ctrl+X P for command palette.`;
|
|
22931
22922
|
}
|
|
22932
22923
|
function addSystemMessage(content) {
|
package/dist/index.js
CHANGED
|
@@ -119,15 +119,6 @@ var OPENCODE_ZEN_MODELS = [
|
|
|
119
119
|
provider: "opencode-zen",
|
|
120
120
|
contextLength: 128000
|
|
121
121
|
},
|
|
122
|
-
{
|
|
123
|
-
id: "minimax-m2.1-free",
|
|
124
|
-
name: "MiniMax M2.1",
|
|
125
|
-
description: "Free MiniMax model (limited time)",
|
|
126
|
-
category: "smart",
|
|
127
|
-
provider: "opencode-zen",
|
|
128
|
-
contextLength: 128000,
|
|
129
|
-
free: true
|
|
130
|
-
},
|
|
131
122
|
{
|
|
132
123
|
id: "claude-3-5-haiku",
|
|
133
124
|
name: "Claude Haiku 3.5",
|
|
@@ -1034,7 +1025,7 @@ function getZenApiType(modelId) {
|
|
|
1034
1025
|
if (modelId.startsWith("gpt-")) {
|
|
1035
1026
|
return "openai-responses";
|
|
1036
1027
|
}
|
|
1037
|
-
if (modelId.startsWith("claude-")
|
|
1028
|
+
if (modelId.startsWith("claude-")) {
|
|
1038
1029
|
return "anthropic";
|
|
1039
1030
|
}
|
|
1040
1031
|
if (modelId.startsWith("gemini-")) {
|
package/dist/tui.js
CHANGED
|
@@ -21093,15 +21093,6 @@ var OPENCODE_ZEN_MODELS = [
|
|
|
21093
21093
|
provider: "opencode-zen",
|
|
21094
21094
|
contextLength: 128000
|
|
21095
21095
|
},
|
|
21096
|
-
{
|
|
21097
|
-
id: "minimax-m2.1-free",
|
|
21098
|
-
name: "MiniMax M2.1",
|
|
21099
|
-
description: "Free MiniMax model (limited time)",
|
|
21100
|
-
category: "smart",
|
|
21101
|
-
provider: "opencode-zen",
|
|
21102
|
-
contextLength: 128000,
|
|
21103
|
-
free: true
|
|
21104
|
-
},
|
|
21105
21096
|
{
|
|
21106
21097
|
id: "claude-3-5-haiku",
|
|
21107
21098
|
name: "Claude Haiku 3.5",
|
|
@@ -22030,7 +22021,7 @@ function getZenApiType(modelId) {
|
|
|
22030
22021
|
if (modelId.startsWith("gpt-")) {
|
|
22031
22022
|
return "openai-responses";
|
|
22032
22023
|
}
|
|
22033
|
-
if (modelId.startsWith("claude-")
|
|
22024
|
+
if (modelId.startsWith("claude-")) {
|
|
22034
22025
|
return "anthropic";
|
|
22035
22026
|
}
|
|
22036
22027
|
if (modelId.startsWith("gemini-")) {
|
|
@@ -22643,7 +22634,8 @@ async function main2() {
|
|
|
22643
22634
|
currentModel = savedModel;
|
|
22644
22635
|
}
|
|
22645
22636
|
renderer = await createCliRenderer({
|
|
22646
|
-
exitOnCtrlC: false
|
|
22637
|
+
exitOnCtrlC: false,
|
|
22638
|
+
useMouse: false
|
|
22647
22639
|
});
|
|
22648
22640
|
const theme = getTheme();
|
|
22649
22641
|
renderer.setBackgroundColor(theme.colors.background);
|
|
@@ -22863,7 +22855,7 @@ function createMainUI() {
|
|
|
22863
22855
|
paddingLeft: 1,
|
|
22864
22856
|
paddingRight: 1,
|
|
22865
22857
|
paddingTop: 0,
|
|
22866
|
-
paddingBottom:
|
|
22858
|
+
paddingBottom: 1,
|
|
22867
22859
|
backgroundColor: theme.colors.backgroundPanel
|
|
22868
22860
|
});
|
|
22869
22861
|
mainContainer.add(inputContainer);
|
|
@@ -22878,8 +22870,8 @@ function createMainUI() {
|
|
|
22878
22870
|
keyBindings: [
|
|
22879
22871
|
{ name: "return", action: "submit" },
|
|
22880
22872
|
{ name: "linefeed", action: "submit" },
|
|
22881
|
-
{ name: "return", shift: true, action: "
|
|
22882
|
-
{ name: "linefeed", shift: true, action: "
|
|
22873
|
+
{ name: "return", shift: true, action: "submit" },
|
|
22874
|
+
{ name: "linefeed", shift: true, action: "submit" },
|
|
22883
22875
|
{ name: "return", meta: true, action: "submit" }
|
|
22884
22876
|
],
|
|
22885
22877
|
onSubmit: () => {
|
|
@@ -22890,7 +22882,8 @@ function createMainUI() {
|
|
|
22890
22882
|
inputContainer.add(inputField);
|
|
22891
22883
|
inputHintText = new TextRenderable(renderer, {
|
|
22892
22884
|
id: "input-hint",
|
|
22893
|
-
content: getInputHintContent()
|
|
22885
|
+
content: getInputHintContent(),
|
|
22886
|
+
marginTop: 1
|
|
22894
22887
|
});
|
|
22895
22888
|
inputContainer.add(inputHintText);
|
|
22896
22889
|
helpBarText = new TextRenderable(renderer, {
|
|
@@ -22920,13 +22913,11 @@ function getHelpBarContent() {
|
|
|
22920
22913
|
}
|
|
22921
22914
|
function getInputHintContent() {
|
|
22922
22915
|
const theme = getTheme();
|
|
22923
|
-
return t`${fg(theme.colors.
|
|
22916
|
+
return t`${fg(theme.colors.primary)("Enter")} ${fg(theme.colors.textMuted)("to send")}`;
|
|
22924
22917
|
}
|
|
22925
22918
|
function getWelcomeMessage() {
|
|
22926
22919
|
const providerName = config.provider === "opencode-zen" ? "OpenCode Zen" : "OpenRouter";
|
|
22927
|
-
|
|
22928
|
-
Free models: big-pickle` : "";
|
|
22929
|
-
return `Ready. Using ${providerName}.${freeNote}
|
|
22920
|
+
return `Ready. Using ${providerName}.
|
|
22930
22921
|
Type what you want to do, or press Ctrl+X P for command palette.`;
|
|
22931
22922
|
}
|
|
22932
22923
|
function addSystemMessage(content) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@austinthesing/magic-shell",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.11",
|
|
4
4
|
"description": "Natural language to terminal commands with safety features. Supports OpenCode Zen (with free models) and OpenRouter.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|