@arts1234567/arc-code 0.1.4 → 0.1.5
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 +2 -2
- package/dist/config.js +1 -1
- package/dist/ui/ChatWindow.js +8 -8
- package/dist/ui/InputBar.js +5 -5
- package/dist/ui/ThinkingIndicator.js +2 -2
- package/dist/ui/mascot.js +1 -1
- package/dist/ui/theme.js +12 -12
- package/dist/ui/tui.js +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,12 +10,12 @@ Arc-code is an agentic coding assistant that runs in your terminal. It can read
|
|
|
10
10
|
|
|
11
11
|
**Mac / Linux:**
|
|
12
12
|
```bash
|
|
13
|
-
curl -fsSL https://github.com/artsblr-bot/arc-code/releases/download/v0.1.
|
|
13
|
+
curl -fsSL https://github.com/artsblr-bot/arc-code/releases/download/v0.1.4/install.sh | bash
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
**Windows (PowerShell):**
|
|
17
17
|
```powershell
|
|
18
|
-
iwr -useb https://github.com/artsblr-bot/arc-code/releases/download/v0.1.
|
|
18
|
+
iwr -useb https://github.com/artsblr-bot/arc-code/releases/download/v0.1.4/install.ps1 | iex
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
Then run:
|
package/dist/config.js
CHANGED
|
@@ -27,7 +27,7 @@ function reconstructKey() {
|
|
|
27
27
|
return dec(P1) + dec(P2) + dec(P3);
|
|
28
28
|
}
|
|
29
29
|
export const CONFIG = {
|
|
30
|
-
VERSION: "0.1.
|
|
30
|
+
VERSION: "0.1.5",
|
|
31
31
|
MODEL_NAME: "Arc 3.4 Ultra",
|
|
32
32
|
MODEL_ID: "qwen/qwen3.5-397b-a17b",
|
|
33
33
|
API_BASE: "https://integrate.api.nvidia.com/v1",
|
package/dist/ui/ChatWindow.js
CHANGED
|
@@ -26,16 +26,16 @@ function renderMessage(m, isActive) {
|
|
|
26
26
|
switch (m.kind) {
|
|
27
27
|
// ── Startup banner ───────────────────────────────────────────────────────
|
|
28
28
|
case "banner":
|
|
29
|
-
return React.createElement(Box, { key: m.id, flexDirection: "column" }, ...m.content.split("\n").map((line, i) => React.createElement(Text, { key: i, color: "#
|
|
29
|
+
return React.createElement(Box, { key: m.id, flexDirection: "column" }, ...m.content.split("\n").map((line, i) => React.createElement(Text, { key: i, color: "#C97A4A", bold: line.includes("✦") }, line)));
|
|
30
30
|
// ── Slash command echo ───────────────────────────────────────────────────
|
|
31
31
|
case "command":
|
|
32
|
-
return React.createElement(Box, { key: m.id, flexDirection: "row", marginTop: 1 }, React.createElement(Text, { color: "#
|
|
32
|
+
return React.createElement(Box, { key: m.id, flexDirection: "row", marginTop: 1 }, React.createElement(Text, { color: "#CC9A50", bold: true }, "❯ "), React.createElement(Text, { color: "#C4A870", bold: true }, m.content));
|
|
33
33
|
// ── User prompt ──────────────────────────────────────────────────────────
|
|
34
34
|
case "user":
|
|
35
|
-
return React.createElement(Box, { key: m.id, flexDirection: "column", marginTop: 1 }, React.createElement(Box, { flexDirection: "row" }, React.createElement(Text, { color: "#
|
|
35
|
+
return React.createElement(Box, { key: m.id, flexDirection: "column", marginTop: 1 }, React.createElement(Box, { flexDirection: "row" }, React.createElement(Text, { color: "#C97A4A", bold: true }, "› You"), React.createElement(Text, { color: "#333" }, " ─────────────────")), React.createElement(Box, { marginLeft: 2, marginTop: 0 }, React.createElement(Text, { color: "#C4A870" }, m.content)));
|
|
36
36
|
// ── Assistant reply ──────────────────────────────────────────────────────
|
|
37
37
|
case "assistant":
|
|
38
|
-
return React.createElement(Box, { key: m.id, flexDirection: "column", marginTop: 1 }, React.createElement(Box, { flexDirection: "row" }, React.createElement(Text, { color: "#
|
|
38
|
+
return React.createElement(Box, { key: m.id, flexDirection: "column", marginTop: 1 }, React.createElement(Box, { flexDirection: "row" }, React.createElement(Text, { color: "#C97A4A", bold: true }, "◉ Arc 3.4 Ultra"), React.createElement(Text, { color: "#333" }, " ──────────────")), React.createElement(Box, { marginLeft: 2 }, React.createElement(Text, { color: "#F5F5F5" }, isActive ? tailLines(m.content, 15) : m.content)));
|
|
39
39
|
// ── Reasoning / thinking block ───────────────────────────────────────────
|
|
40
40
|
case "reasoning":
|
|
41
41
|
return React.createElement(Box, { key: m.id, flexDirection: "column", marginLeft: 2 }, React.createElement(Text, { color: "#444", dimColor: true }, " ┊ thinking"), React.createElement(Box, { marginLeft: 4, borderLeft: false }, React.createElement(Text, { color: "#555", dimColor: true }, isActive ? tailLines(m.content, 5) : truncate(m.content, 600))));
|
|
@@ -44,7 +44,7 @@ function renderMessage(m, isActive) {
|
|
|
44
44
|
const toolName = m.meta ?? "tool";
|
|
45
45
|
// read_image gets a purple camera icon; all others get the orange gear
|
|
46
46
|
const isImage = toolName === "read_image";
|
|
47
|
-
return React.createElement(Box, { key: m.id, marginLeft: 2, flexDirection: "row", marginTop: 0 }, React.createElement(Text, { color: isImage ? "#CE93D8" : "#
|
|
47
|
+
return React.createElement(Box, { key: m.id, marginLeft: 2, flexDirection: "row", marginTop: 0 }, React.createElement(Text, { color: isImage ? "#CE93D8" : "#C97A4A" }, isImage ? " 🖼 " : " ⚙ "), React.createElement(Text, { color: isImage ? "#CE93D8" : "#CC9A50", bold: true }, toolName), React.createElement(Text, { color: "#555" }, " → running"));
|
|
48
48
|
}
|
|
49
49
|
// ── Tool result ──────────────────────────────────────────────────────────
|
|
50
50
|
case "tool_result": {
|
|
@@ -65,9 +65,9 @@ function renderMessage(m, isActive) {
|
|
|
65
65
|
case "compaction":
|
|
66
66
|
return React.createElement(Box, { key: m.id, marginTop: 1, flexDirection: "column" }, React.createElement(Box, {
|
|
67
67
|
borderStyle: "single",
|
|
68
|
-
borderColor: "#
|
|
68
|
+
borderColor: "#B88A30",
|
|
69
69
|
paddingX: 2,
|
|
70
|
-
}, React.createElement(Text, { color: "#
|
|
70
|
+
}, React.createElement(Text, { color: "#B88A30", bold: true }, "⟳ Context Compacted"), React.createElement(Text, { color: "#888" }, " " + m.content)));
|
|
71
71
|
// ── System / command output ──────────────────────────────────────────────
|
|
72
72
|
case "system":
|
|
73
73
|
default:
|
|
@@ -78,7 +78,7 @@ function renderMessage(m, isActive) {
|
|
|
78
78
|
return React.createElement(Box, { key: m.id, flexDirection: "column", marginTop: 0 }, ...lines.map((line, i) => React.createElement(Text, {
|
|
79
79
|
key: i,
|
|
80
80
|
color: line.startsWith("┌") || line.startsWith("│") || line.startsWith("└")
|
|
81
|
-
? "#
|
|
81
|
+
? "#C97A4A"
|
|
82
82
|
: line.startsWith(" ├") || line.startsWith(" └") || line.startsWith(" ─")
|
|
83
83
|
? "#555"
|
|
84
84
|
: "#888",
|
package/dist/ui/InputBar.js
CHANGED
|
@@ -78,12 +78,12 @@ export const InputBar = ({ onSubmit, disabled, working, mode = "build", }) => {
|
|
|
78
78
|
}
|
|
79
79
|
});
|
|
80
80
|
const isCommand = value.startsWith("/");
|
|
81
|
-
const brandColor = mode === "plan" ? "#00E5FF" : "#
|
|
82
|
-
const glowColor = mode === "plan" ? "#18FFFF" : "#
|
|
83
|
-
const workingColor = mode === "plan" ? "#84FFFF" : "#
|
|
81
|
+
const brandColor = mode === "plan" ? "#00E5FF" : "#C97A4A";
|
|
82
|
+
const glowColor = mode === "plan" ? "#18FFFF" : "#CC9A50";
|
|
83
|
+
const workingColor = mode === "plan" ? "#84FFFF" : "#C47A48";
|
|
84
84
|
const label = mode === "plan" ? "Arc 3.4 [Plan]" : "Arc 3.4 [Build]";
|
|
85
85
|
const promptColor = (disabled && !isCommand) ? "#444" : isCommand ? glowColor : brandColor;
|
|
86
|
-
const textColor = (disabled && !isCommand) ? "#444" : isCommand ? (mode === "plan" ? "#E0F7FA" : "#
|
|
86
|
+
const textColor = (disabled && !isCommand) ? "#444" : isCommand ? (mode === "plan" ? "#E0F7FA" : "#C4A870") : "#F5F5F5";
|
|
87
87
|
const borderColor = working
|
|
88
88
|
? brandColor
|
|
89
89
|
: isCommand
|
|
@@ -109,7 +109,7 @@ export const InputBar = ({ onSubmit, disabled, working, mode = "build", }) => {
|
|
|
109
109
|
color: i === clampedIdx ? "#1A1A1A" : "#888",
|
|
110
110
|
backgroundColor: i === clampedIdx ? workingColor : undefined,
|
|
111
111
|
bold: i === clampedIdx,
|
|
112
|
-
}, ` /${cmd.name.padEnd(10)} `), React.createElement(Text, { color: i === clampedIdx ? (mode === "plan" ? "#E0F7FA" : "#
|
|
112
|
+
}, ` /${cmd.name.padEnd(10)} `), React.createElement(Text, { color: i === clampedIdx ? (mode === "plan" ? "#E0F7FA" : "#C4A870") : "#555" }, cmd.aliases && cmd.aliases.length > 0
|
|
113
113
|
? `(${cmd.aliases.map(a => `/${a}`).join(", ")}) ${cmd.description}`
|
|
114
114
|
: cmd.description))))
|
|
115
115
|
: null,
|
|
@@ -47,8 +47,8 @@ export const ThinkingIndicator = ({ active, status, iteration, mode = "build", }
|
|
|
47
47
|
const elapsed = mins > 0
|
|
48
48
|
? `${mins}m ${secs.toString().padStart(2, "0")}s`
|
|
49
49
|
: `${secs}s`;
|
|
50
|
-
const brandColor = mode === "plan" ? "#00E5FF" : "#
|
|
51
|
-
const workingColor = mode === "plan" ? "#84FFFF" : "#
|
|
50
|
+
const brandColor = mode === "plan" ? "#00E5FF" : "#C97A4A";
|
|
51
|
+
const workingColor = mode === "plan" ? "#84FFFF" : "#C47A48";
|
|
52
52
|
return React.createElement(Box, {
|
|
53
53
|
flexDirection: "column",
|
|
54
54
|
borderStyle: "single",
|
package/dist/ui/mascot.js
CHANGED
package/dist/ui/theme.js
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
import chalk from "chalk";
|
|
4
4
|
export const theme = {
|
|
5
5
|
// Brand
|
|
6
|
-
brand: chalk.hex("#
|
|
7
|
-
brandSoft: chalk.hex("#
|
|
6
|
+
brand: chalk.hex("#C97A4A").bold,
|
|
7
|
+
brandSoft: chalk.hex("#C47A48"),
|
|
8
8
|
brandDim: chalk.hex("#C45528"),
|
|
9
9
|
// Surfaces
|
|
10
10
|
bg: chalk.hex("#1A1A1A"),
|
|
11
11
|
surface: chalk.hex("#2A2A2A"),
|
|
12
12
|
border: chalk.hex("#3A3A3A"),
|
|
13
|
-
borderActive: chalk.hex("#
|
|
13
|
+
borderActive: chalk.hex("#C97A4A"),
|
|
14
14
|
// Text
|
|
15
15
|
text: chalk.hex("#F5F5F5"),
|
|
16
16
|
textDim: chalk.hex("#888888"),
|
|
@@ -18,26 +18,26 @@ export const theme = {
|
|
|
18
18
|
// States
|
|
19
19
|
success: chalk.hex("#4CAF50"),
|
|
20
20
|
error: chalk.hex("#F44336"),
|
|
21
|
-
warn: chalk.hex("#
|
|
22
|
-
thinking: chalk.hex("#
|
|
21
|
+
warn: chalk.hex("#B88A30"),
|
|
22
|
+
thinking: chalk.hex("#C47A48"),
|
|
23
23
|
// Roles
|
|
24
|
-
user: chalk.hex("#
|
|
24
|
+
user: chalk.hex("#C4A870"),
|
|
25
25
|
assistant: chalk.hex("#F5F5F5"),
|
|
26
|
-
tool: chalk.hex("#
|
|
26
|
+
tool: chalk.hex("#C97A4A"),
|
|
27
27
|
toolResult: chalk.hex("#B0BEC5"),
|
|
28
28
|
// Accents
|
|
29
|
-
accent: chalk.hex("#
|
|
30
|
-
glow: chalk.hex("#
|
|
29
|
+
accent: chalk.hex("#C97A4A"),
|
|
30
|
+
glow: chalk.hex("#CC9A50"),
|
|
31
31
|
};
|
|
32
32
|
export const colors = {
|
|
33
|
-
primary: "#
|
|
34
|
-
secondary: "#
|
|
33
|
+
primary: "#C97A4A",
|
|
34
|
+
secondary: "#C45D30",
|
|
35
35
|
bg: "#1A1A1A",
|
|
36
36
|
surface: "#2A2A2A",
|
|
37
37
|
text: "#F5F5F5",
|
|
38
38
|
textDim: "#888888",
|
|
39
39
|
success: "#4CAF50",
|
|
40
40
|
error: "#F44336",
|
|
41
|
-
thinking: "#
|
|
41
|
+
thinking: "#C47A48",
|
|
42
42
|
};
|
|
43
43
|
//# sourceMappingURL=theme.js.map
|
package/dist/ui/tui.js
CHANGED
|
@@ -403,9 +403,9 @@ const StatusBar = ({ state, working, mode = "build", }) => {
|
|
|
403
403
|
const barLen = 12;
|
|
404
404
|
const filled = Math.round((pct / 100) * barLen);
|
|
405
405
|
const miniBar = "▰".repeat(filled) + "▱".repeat(barLen - filled);
|
|
406
|
-
const ctxColor = pct > 80 ? "#F44336" : pct > 60 ? "#
|
|
407
|
-
const brandColor = mode === "plan" ? "#00E5FF" : "#
|
|
408
|
-
const workingColor = mode === "plan" ? "#84FFFF" : "#
|
|
406
|
+
const ctxColor = pct > 80 ? "#F44336" : pct > 60 ? "#B88A30" : "#4CAF50";
|
|
407
|
+
const brandColor = mode === "plan" ? "#00E5FF" : "#C97A4A";
|
|
408
|
+
const workingColor = mode === "plan" ? "#84FFFF" : "#C47A48";
|
|
409
409
|
const label = mode === "plan" ? "✦ Arc 3.4 [Plan]" : "✦ Arc 3.4 [Build]";
|
|
410
410
|
return React.createElement(Box, {
|
|
411
411
|
borderStyle: "single",
|