@arts1234567/arc-code 0.1.4 → 0.1.6
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/llm/system.js +2 -1
- package/dist/llm/system.js.map +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.6",
|
|
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/llm/system.js
CHANGED
|
@@ -26,7 +26,8 @@ You have ten tools. Use the smallest set that solves the task.
|
|
|
26
26
|
|
|
27
27
|
BEHAVIOR
|
|
28
28
|
- Think before acting. Show your reasoning briefly so the user can follow.
|
|
29
|
-
- Keep prose tight.
|
|
29
|
+
- Keep prose tight. Be concise.
|
|
30
|
+
- When creating or modifying files, ALWAYS use write_file / edit_file. Never output large file contents as chat text — write them with the write_file tool.
|
|
30
31
|
- If a tool fails, try a different approach instead of repeating the same call.
|
|
31
32
|
- When done, give a short summary of what changed and why.
|
|
32
33
|
- For questions or informational queries, always synthesize a clear, concise final answer for the user after gathering data. Do not silently stop after running a tool.
|
package/dist/llm/system.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/llm/system.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,4EAA4E;AAC5E,gFAAgF;AAEhF,MAAM,CAAC,MAAM,aAAa,GAAG
|
|
1
|
+
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/llm/system.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,4EAA4E;AAC5E,gFAAgF;AAEhF,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wFAoC2D,CAAC"}
|
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",
|