nou-cli 0.5.1 → 0.5.3
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 +48 -9
- package/dist/index.js +9 -99
- package/dist/src/agent/index.js +199 -33
- package/dist/src/cli.js +117 -0
- package/dist/src/commands/index.js +233 -25
- package/dist/src/config/index.js +14 -0
- package/dist/src/context/index.js +33 -10
- package/dist/src/conversations/external.js +165 -0
- package/dist/src/conversations/index.js +71 -0
- package/dist/src/engines/claude.js +10 -0
- package/dist/src/engines/codex.js +60 -5
- package/dist/src/games/index.js +217 -0
- package/dist/src/mcp/import.js +106 -0
- package/dist/src/mcp/index.js +184 -0
- package/dist/src/providers/anthropic.js +23 -3
- package/dist/src/providers/index.js +13 -0
- package/dist/src/providers/openai.js +6 -2
- package/dist/src/syntax/index.js +10 -20
- package/dist/src/syntax/themes.js +57 -0
- package/dist/src/terminal/index.js +127 -0
- package/dist/src/tools/index.js +86 -2
- package/dist/src/ui/App.js +900 -118
- package/dist/src/ui/Chat.js +143 -22
- package/dist/src/ui/ChatInput.js +9 -2
- package/dist/src/ui/CodeView.js +111 -20
- package/dist/src/ui/Editor.js +13 -6
- package/dist/src/ui/FileTree.js +6 -5
- package/dist/src/ui/GamePanel.js +99 -0
- package/dist/src/ui/Header.js +1 -1
- package/dist/src/ui/QuickOpen.js +51 -12
- package/dist/src/ui/Settings.js +58 -13
- package/dist/src/ui/Tabs.js +56 -0
- package/dist/src/ui/Terminal.js +84 -0
- package/dist/src/ui/clipboard.js +9 -7
- package/dist/src/ui/commands.js +36 -0
- package/dist/src/ui/definition.js +135 -0
- package/dist/src/ui/fast-width.js +62 -0
- package/dist/src/ui/mouse.js +4 -1
- package/dist/src/ui/render-options.js +4 -0
- package/dist/src/ui/text.js +132 -12
- package/dist/src/ui/width-shim.js +7 -0
- package/package.json +2 -1
package/dist/src/tools/index.js
CHANGED
|
@@ -3,13 +3,17 @@ export const tools = [
|
|
|
3
3
|
type: "function",
|
|
4
4
|
function: {
|
|
5
5
|
name: "run_command",
|
|
6
|
-
description: "Run a
|
|
6
|
+
description: "Run a shell command in the project folder: tests, builds, type checks, git, package scripts. Returns its output (stdout and stderr together) and, when it fails, its exit code. Use grep, glob and read_file rather than grep/find/cat here. Quote paths with spaces. Don't start interactive programs or servers that never exit.",
|
|
7
7
|
parameters: {
|
|
8
8
|
type: "object",
|
|
9
9
|
properties: {
|
|
10
10
|
command: {
|
|
11
11
|
type: "string",
|
|
12
12
|
description: "The shell command to run",
|
|
13
|
+
},
|
|
14
|
+
timeout: {
|
|
15
|
+
type: "number",
|
|
16
|
+
description: "Seconds to wait before stopping it. Defaults to 120, at most 600.",
|
|
13
17
|
}
|
|
14
18
|
},
|
|
15
19
|
required: ["command"]
|
|
@@ -20,7 +24,7 @@ export const tools = [
|
|
|
20
24
|
type: "function",
|
|
21
25
|
function: {
|
|
22
26
|
name: "read_file",
|
|
23
|
-
description: "Read a file. Long files come back in pages of up to 1000 lines; the end of each page says how to read on.",
|
|
27
|
+
description: "Read a file. Lines come back numbered (\" 12\\tcode\"); the numbers aren't part of the file. Long files come back in pages of up to 1000 lines; the end of each page says how to read on.",
|
|
24
28
|
parameters: {
|
|
25
29
|
type: "object",
|
|
26
30
|
properties: {
|
|
@@ -99,6 +103,31 @@ export const tools = [
|
|
|
99
103
|
}
|
|
100
104
|
}
|
|
101
105
|
},
|
|
106
|
+
{
|
|
107
|
+
type: "function",
|
|
108
|
+
function: {
|
|
109
|
+
name: "open_file",
|
|
110
|
+
description: "Show a file in the user's code view (the middle panel), scrolled to a line with the given lines highlighted. Use it when the user asks where something is or to show/open/find something: find the exact place first, then open it.",
|
|
111
|
+
parameters: {
|
|
112
|
+
type: "object",
|
|
113
|
+
properties: {
|
|
114
|
+
path: {
|
|
115
|
+
type: "string",
|
|
116
|
+
description: "Path to the file, relative to the project root",
|
|
117
|
+
},
|
|
118
|
+
line: {
|
|
119
|
+
type: "number",
|
|
120
|
+
description: "First line to show and highlight (1-based)",
|
|
121
|
+
},
|
|
122
|
+
end_line: {
|
|
123
|
+
type: "number",
|
|
124
|
+
description: "Last line to highlight, e.g. the end of the function. Defaults to line.",
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
required: ["path"]
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
},
|
|
102
131
|
{
|
|
103
132
|
type: "function",
|
|
104
133
|
function: {
|
|
@@ -145,6 +174,61 @@ export const tools = [
|
|
|
145
174
|
}
|
|
146
175
|
}
|
|
147
176
|
},
|
|
177
|
+
{
|
|
178
|
+
type: "function",
|
|
179
|
+
function: {
|
|
180
|
+
name: "multi_edit",
|
|
181
|
+
description: "Make several edits to one file at once, shown to the user as one change. Each edit works like edit_file, applied in order to the result of the one before; if any fails, none are made. Use it instead of several edit_file calls on the same file.",
|
|
182
|
+
parameters: {
|
|
183
|
+
type: "object",
|
|
184
|
+
properties: {
|
|
185
|
+
path: {
|
|
186
|
+
type: "string",
|
|
187
|
+
description: "Path to the file to edit"
|
|
188
|
+
},
|
|
189
|
+
edits: {
|
|
190
|
+
type: "array",
|
|
191
|
+
description: "The edits, in order",
|
|
192
|
+
items: {
|
|
193
|
+
type: "object",
|
|
194
|
+
properties: {
|
|
195
|
+
old_string: { type: "string", description: "The exact text to replace" },
|
|
196
|
+
new_string: { type: "string", description: "The text to put in its place" },
|
|
197
|
+
replace_all: { type: "boolean", description: "Replace every occurrence. Defaults to false." }
|
|
198
|
+
},
|
|
199
|
+
required: ["old_string", "new_string"]
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
required: ["path", "edits"]
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
type: "function",
|
|
209
|
+
function: {
|
|
210
|
+
name: "update_plan",
|
|
211
|
+
description: "Keep a short checklist for a task with several steps: send the whole list each time, with each step's status. The user sees it. Use it for anything with three or more steps; skip it for quick questions and one-line fixes.",
|
|
212
|
+
parameters: {
|
|
213
|
+
type: "object",
|
|
214
|
+
properties: {
|
|
215
|
+
steps: {
|
|
216
|
+
type: "array",
|
|
217
|
+
description: "Every step, in order",
|
|
218
|
+
items: {
|
|
219
|
+
type: "object",
|
|
220
|
+
properties: {
|
|
221
|
+
step: { type: "string", description: "What the step does, in a few words" },
|
|
222
|
+
status: { type: "string", enum: ["pending", "in_progress", "done"], description: "Where it's at" }
|
|
223
|
+
},
|
|
224
|
+
required: ["step", "status"]
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
required: ["steps"]
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
},
|
|
148
232
|
{
|
|
149
233
|
type: "function",
|
|
150
234
|
function: {
|