ucode-agent 1.54.0 → 1.57.0
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 +17 -6
- package/THIRD_PARTY_NOTICES.md +34 -0
- package/package.json +64 -65
- package/src/core/loop.js +3112 -3240
- package/src/core/provider.js +1149 -1099
- package/src/core/skills.js +1 -1
- package/src/core/window.js +84 -11
- package/src/tools/files.js +113 -20
- package/src/tools/fuzzy.js +295 -0
- package/src/tools/index.js +6 -45
- package/src/tools/scaffold.js +502 -528
- package/src/tools/shared.js +12 -5
- package/src/tools/shell.js +52 -2
- package/src/ui/plain.js +8 -2
- package/src/ui/screen.js +66 -16
- package/src/ui/theme.js +22 -2
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
A coding agent that lives in your terminal. It reads your code, edits it, runs
|
|
4
4
|
your commands, and keeps every conversation on disk. It runs on NVIDIA,
|
|
5
|
-
Cohere
|
|
5
|
+
Cohere and Nex AGI models, all of them free.
|
|
6
6
|
|
|
7
7
|
It opens on a quiet screen — the name, the place to type, and the version in the
|
|
8
8
|
corner:
|
|
@@ -87,9 +87,9 @@ Needs Node 22 or newer.
|
|
|
87
87
|
|
|
88
88
|
## The models
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
Six, and no picker full of names nobody recognises. NVIDIA, Cohere and Nex AGI
|
|
91
|
+
all serve capable models free, and all handle tool calling properly, which is
|
|
92
|
+
the thing an agent actually depends on.
|
|
93
93
|
|
|
94
94
|
| Model | Context | For |
|
|
95
95
|
| --- | --- | --- |
|
|
@@ -99,8 +99,6 @@ properly, which is the thing an agent actually depends on.
|
|
|
99
99
|
| Nemotron 3 Nano Omni | 256k | small, fast, reasoning tuned |
|
|
100
100
|
| **North Mini Code** ★ | 256k | the default — built for code and interface work, quick to answer |
|
|
101
101
|
| Nex N2.5 Pro | 262k | new agentic coder, on trial — can stall on big builds |
|
|
102
|
-
| DeepSeek V4 Flash | 1M | fast DeepSeek coder, on trial |
|
|
103
|
-
| Qwen 3.8 | 262k | compact Qwen coder, on trial |
|
|
104
102
|
|
|
105
103
|
`/model` shows them and switches. `ucode -m cohere/north-mini-code:free`
|
|
106
104
|
starts on one.
|
|
@@ -173,6 +171,14 @@ where the time actually went:
|
|
|
173
171
|
- A file-write whose JSON is malformed — a missing comma, an unescaped quote in
|
|
174
172
|
the code, raw line breaks — is repaired instead of thrown away with all its
|
|
175
173
|
output.
|
|
174
|
+
- An edit whose `old_string` is slightly off — a middle line remembered wrong,
|
|
175
|
+
escapes written out, a blank line at either end, a different indent — still
|
|
176
|
+
lands, through the fallback matchers from opencode's edit tool. Found in two
|
|
177
|
+
places is still refused, and so is a match far bigger than what was asked
|
|
178
|
+
for. `replace_all` does a rename in one call.
|
|
179
|
+
- A missing file comes back with the lookalikes beside it ("did you mean
|
|
180
|
+
App.jsx?"), and a tool named with the wrong case runs as the tool it means,
|
|
181
|
+
instead of each costing a round trip to learn a spelling.
|
|
176
182
|
- Every write is parsed on the spot, so a syntax error comes back in the same
|
|
177
183
|
step rather than a minute later from a failed build.
|
|
178
184
|
- A failed build that is missing a component or package says exactly which
|
|
@@ -469,3 +475,8 @@ The tests need no network and no framework — `node test/run.js` runs them all.
|
|
|
469
475
|
## Licence
|
|
470
476
|
|
|
471
477
|
ISC. Made with ❤️ by om dixit.
|
|
478
|
+
|
|
479
|
+
The edit matchers, the summary template, the context-overflow and transient-error
|
|
480
|
+
patterns and tool-name repair are adapted from
|
|
481
|
+
[opencode](https://opencode.ai) (MIT); see
|
|
482
|
+
[THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Third-party notices
|
|
2
|
+
|
|
3
|
+
ucode adapts logic from the following open-source project.
|
|
4
|
+
|
|
5
|
+
## opencode
|
|
6
|
+
|
|
7
|
+
Used in `src/tools/fuzzy.js` (the fallback matchers an edit tries when its
|
|
8
|
+
text is not in the file as written), `src/core/window.js` (the anchored
|
|
9
|
+
summary template), and `src/core/provider.js` (the context-overflow and
|
|
10
|
+
transient-error patterns, and tool-name repair).
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
MIT License
|
|
14
|
+
|
|
15
|
+
Copyright (c) 2025 opencode
|
|
16
|
+
|
|
17
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
18
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
19
|
+
in the Software without restriction, including without limitation the rights
|
|
20
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
21
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
22
|
+
furnished to do so, subject to the following conditions:
|
|
23
|
+
|
|
24
|
+
The above copyright notice and this permission notice shall be included in all
|
|
25
|
+
copies or substantial portions of the Software.
|
|
26
|
+
|
|
27
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
28
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
29
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
30
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
31
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
32
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
33
|
+
SOFTWARE.
|
|
34
|
+
```
|
package/package.json
CHANGED
|
@@ -1,65 +1,64 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "ucode-agent",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "ucode - a terminal coding agent that reads, edits and runs your code, on NVIDIA, Cohere
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "ucode.js",
|
|
7
|
-
"bin": {
|
|
8
|
-
"ucode": "ucode.js"
|
|
9
|
-
},
|
|
10
|
-
"files": [
|
|
11
|
-
"ucode.js",
|
|
12
|
-
"src/",
|
|
13
|
-
"skills/",
|
|
14
|
-
"templates/"
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"marked": "^
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
"
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "ucode-agent",
|
|
3
|
+
"version": "1.57.0",
|
|
4
|
+
"description": "ucode - a terminal coding agent that reads, edits and runs your code, on NVIDIA, Cohere and Nex AGI models.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "ucode.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"ucode": "ucode.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"ucode.js",
|
|
12
|
+
"src/",
|
|
13
|
+
"skills/",
|
|
14
|
+
"templates/",
|
|
15
|
+
"THIRD_PARTY_NOTICES.md"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"start": "node ucode.js",
|
|
19
|
+
"test": "node test/run.js",
|
|
20
|
+
"prepublishOnly": "node scripts/no-bundled-key.js && node test/run.js",
|
|
21
|
+
"hooks": "node scripts/install-hooks.js"
|
|
22
|
+
},
|
|
23
|
+
"repository": {
|
|
24
|
+
"type": "git",
|
|
25
|
+
"url": "git+https://github.com/sppideey/ucode-agent.git"
|
|
26
|
+
},
|
|
27
|
+
"bugs": {
|
|
28
|
+
"url": "https://github.com/sppideey/ucode-agent/issues"
|
|
29
|
+
},
|
|
30
|
+
"homepage": "https://github.com/sppideey/ucode-agent#readme",
|
|
31
|
+
"engines": {
|
|
32
|
+
"node": ">=22"
|
|
33
|
+
},
|
|
34
|
+
"keywords": [
|
|
35
|
+
"agent",
|
|
36
|
+
"cli",
|
|
37
|
+
"terminal",
|
|
38
|
+
"coding-agent",
|
|
39
|
+
"llm",
|
|
40
|
+
"nvidia",
|
|
41
|
+
"nemotron",
|
|
42
|
+
"cohere",
|
|
43
|
+
"nex-agi"
|
|
44
|
+
],
|
|
45
|
+
"author": "om dixit",
|
|
46
|
+
"license": "ISC",
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"@babel/parser": "^7.29.8",
|
|
49
|
+
"chalk": "^6.0.0",
|
|
50
|
+
"dotenv": "^17.4.2",
|
|
51
|
+
"jsonrepair": "^3.15.0",
|
|
52
|
+
"marked": "^15.0.12",
|
|
53
|
+
"marked-terminal": "^7.3.0",
|
|
54
|
+
"openai": "^7.4.0",
|
|
55
|
+
"playwright-core": "^1.63.0"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"@types/node": "^26.5.1",
|
|
59
|
+
"typescript": "^5.9.3"
|
|
60
|
+
},
|
|
61
|
+
"publishConfig": {
|
|
62
|
+
"access": "public"
|
|
63
|
+
}
|
|
64
|
+
}
|