xibecode 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 +84 -7
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +69 -0
- package/dist/commands/chat.js.map +1 -1
- package/dist/core/agent.d.ts +19 -0
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +260 -54
- package/dist/core/agent.js.map +1 -1
- package/dist/core/editor.d.ts +14 -0
- package/dist/core/editor.d.ts.map +1 -1
- package/dist/core/editor.js +63 -0
- package/dist/core/editor.js.map +1 -1
- package/dist/core/tools.d.ts +5 -0
- package/dist/core/tools.d.ts.map +1 -1
- package/dist/core/tools.js +362 -1
- package/dist/core/tools.js.map +1 -1
- package/dist/ui/enhanced-tui.d.ts.map +1 -1
- package/dist/ui/enhanced-tui.js +25 -2
- package/dist/ui/enhanced-tui.js.map +1 -1
- package/package.json +9 -8
package/README.md
CHANGED
|
@@ -4,9 +4,19 @@
|
|
|
4
4
|
|
|
5
5
|
XibeCode is a professional CLI tool that brings autonomous AI coding capabilities to your terminal. Like Claude Code, but open-source, customizable, and with advanced context management.
|
|
6
6
|
|
|
7
|
-
## ๐ What's New in
|
|
7
|
+
## ๐ What's New in v0.1.6
|
|
8
|
+
|
|
9
|
+
**v0.1.6:**
|
|
10
|
+
|
|
11
|
+
- ๐ **Codebase Search** - New `grep_code` tool using ripgrep (grep fallback) for lightning-fast code search across your project
|
|
12
|
+
- ๐ **Web Search** - New `web_search` tool powered by DuckDuckGo โ free, no API key required
|
|
13
|
+
- ๐ **URL Fetching** - New `fetch_url` tool to read any webpage as clean text (HTML auto-stripped)
|
|
14
|
+
- ๐ง **Project Memory** - Persistent `.xibecode/memory.md` that saves project knowledge across sessions
|
|
15
|
+
- ๐ฏ **Verified Edit Tool** - `verified_edit` with old content verification prevents hallucinated edits
|
|
16
|
+
- ๐ก๏ธ **Safer Editing by Default** - AI uses `verified_edit` as primary editing method with smart fallbacks
|
|
17
|
+
|
|
18
|
+
**Previous Updates:**
|
|
8
19
|
|
|
9
|
-
**Major Updates:**
|
|
10
20
|
- ๐งช **Test Integration** - Auto-detect & run tests (Vitest, Jest, pytest, Go test)
|
|
11
21
|
- ๐ **Git Awareness** - Create checkpoints, check status, revert changes safely
|
|
12
22
|
- ๐ก๏ธ **Safety Controls** - Dry-run mode, risk assessment, command blocking
|
|
@@ -18,6 +28,7 @@ XibeCode is a professional CLI tool that brings autonomous AI coding capabilitie
|
|
|
18
28
|
## ๐ฏ Key Features
|
|
19
29
|
|
|
20
30
|
### Core Capabilities
|
|
31
|
+
|
|
21
32
|
- โ
**Autonomous Agent Loop** - AI iteratively works on tasks until completion
|
|
22
33
|
- โ
**Smart Context Management** - Automatically loads related files (imports, tests, configs)
|
|
23
34
|
- โ
**Advanced File Editing** - Search/replace, line-range edits, automatic backups
|
|
@@ -26,7 +37,13 @@ XibeCode is a professional CLI tool that brings autonomous AI coding capabilitie
|
|
|
26
37
|
- โ
**Loop Detection** - Prevents infinite loops and runaway executions
|
|
27
38
|
- โ
**Multiple Edit Methods** - Smart edit, line-range edit, insert, revert
|
|
28
39
|
|
|
29
|
-
### ๐ New Features
|
|
40
|
+
### ๐ New Features
|
|
41
|
+
|
|
42
|
+
- โ
**Web Search** - Search the web from within the AI (DuckDuckGo, free, no API key)
|
|
43
|
+
- โ
**Codebase Search** - Ripgrep-powered code search across your entire project
|
|
44
|
+
- โ
**URL Fetching** - Read any webpage as clean text for research
|
|
45
|
+
- โ
**Project Memory** - Persist project knowledge across sessions in `.xibecode/memory.md`
|
|
46
|
+
- โ
**Verified Editing** - Content-verified file edits that prevent AI mistakes
|
|
30
47
|
- โ
**Test Integration** - Auto-detect and run tests (Vitest, Jest, pytest, Go test)
|
|
31
48
|
- โ
**Git Awareness** - Check status, create checkpoints, revert changes safely
|
|
32
49
|
- โ
**Dry-Run Mode** - Preview changes without making them
|
|
@@ -34,16 +51,26 @@ XibeCode is a professional CLI tool that brings autonomous AI coding capabilitie
|
|
|
34
51
|
- โ
**Plugin System** - Extend XibeCode with custom tools and workflows
|
|
35
52
|
|
|
36
53
|
### File Operations
|
|
54
|
+
|
|
37
55
|
- ๐ Read files (whole or partial for large files)
|
|
38
56
|
- ๐ Write files (create or overwrite)
|
|
39
57
|
- โ๏ธ Edit files (search/replace with automatic backups)
|
|
58
|
+
- ๐ฏ Verified edits (content verification before applying)
|
|
40
59
|
- โ๏ธ Edit specific line ranges
|
|
41
60
|
- โฉ๏ธ Revert to previous versions
|
|
42
61
|
- ๐ Search files with glob patterns
|
|
62
|
+
- ๐ Grep codebase with ripgrep
|
|
43
63
|
- ๐ List directories
|
|
44
64
|
- ๐ง Get intelligent context (related files)
|
|
45
65
|
|
|
66
|
+
### Web & Research
|
|
67
|
+
|
|
68
|
+
- ๐ Search the web (DuckDuckGo, free)
|
|
69
|
+
- ๐ Fetch and read any URL as text
|
|
70
|
+
- ๐ง Project memory persistence
|
|
71
|
+
|
|
46
72
|
### Command Execution
|
|
73
|
+
|
|
47
74
|
- โก Run shell commands
|
|
48
75
|
- ๐ง Cross-platform command support
|
|
49
76
|
- ๐ Capture stdout/stderr
|
|
@@ -60,7 +87,7 @@ npm install -g xibecode
|
|
|
60
87
|
### From Source
|
|
61
88
|
|
|
62
89
|
```bash
|
|
63
|
-
git clone https://github.com/
|
|
90
|
+
git clone https://github.com/iotserver24/xibecode
|
|
64
91
|
cd xibecode
|
|
65
92
|
npm install
|
|
66
93
|
npm run build
|
|
@@ -105,6 +132,7 @@ xibecode run [prompt] [options]
|
|
|
105
132
|
```
|
|
106
133
|
|
|
107
134
|
**Options:**
|
|
135
|
+
|
|
108
136
|
- `-f, --file <path>` - Read prompt from a file
|
|
109
137
|
- `-m, --model <model>` - AI model to use (default: claude-sonnet-4-5-20250929)
|
|
110
138
|
- `-b, --base-url <url>` - Custom API base URL
|
|
@@ -151,11 +179,13 @@ xibecode chat [options]
|
|
|
151
179
|
```
|
|
152
180
|
|
|
153
181
|
**Options:**
|
|
182
|
+
|
|
154
183
|
- `-m, --model <model>` - AI model to use
|
|
155
184
|
- `-b, --base-url <url>` - Custom API base URL
|
|
156
185
|
- `-k, --api-key <key>` - API key
|
|
157
186
|
|
|
158
187
|
**Commands in chat:**
|
|
188
|
+
|
|
159
189
|
- `tools on/off` - Toggle tool execution
|
|
160
190
|
- `clear` - Clear screen
|
|
161
191
|
- `exit` or `quit` - Exit chat
|
|
@@ -202,6 +232,7 @@ xibecode run "Add error handling to userController.js"
|
|
|
202
232
|
```
|
|
203
233
|
|
|
204
234
|
The AI will:
|
|
235
|
+
|
|
205
236
|
- Read `userController.js`
|
|
206
237
|
- Find and read imported files
|
|
207
238
|
- Check for related test files
|
|
@@ -210,9 +241,26 @@ The AI will:
|
|
|
210
241
|
|
|
211
242
|
### 2. **Advanced File Editing**
|
|
212
243
|
|
|
213
|
-
|
|
244
|
+
Four ways to edit files, with verified_edit as the recommended default:
|
|
245
|
+
|
|
246
|
+
#### Verified Edit (DEFAULT - Most Reliable) ๐ฏ
|
|
247
|
+
|
|
248
|
+
```javascript
|
|
249
|
+
// AI reads the file first, then provides old content for verification
|
|
250
|
+
{
|
|
251
|
+
tool: "verified_edit",
|
|
252
|
+
path: "app.js",
|
|
253
|
+
start_line: 5,
|
|
254
|
+
end_line: 5,
|
|
255
|
+
old_content: "const port = 3000;",
|
|
256
|
+
new_content: "const port = process.env.PORT || 3000;"
|
|
257
|
+
}
|
|
258
|
+
// If old_content doesn't match โ edit is REJECTED and actual content is returned
|
|
259
|
+
// AI can then re-read and retry with correct content
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
#### Search/Replace (Fallback)
|
|
214
263
|
|
|
215
|
-
#### Search/Replace (Most Reliable)
|
|
216
264
|
```javascript
|
|
217
265
|
{
|
|
218
266
|
tool: "edit_file",
|
|
@@ -223,6 +271,7 @@ Three ways to edit files:
|
|
|
223
271
|
```
|
|
224
272
|
|
|
225
273
|
#### Line Range (For Large Files)
|
|
274
|
+
|
|
226
275
|
```javascript
|
|
227
276
|
{
|
|
228
277
|
tool: "edit_lines",
|
|
@@ -234,6 +283,7 @@ Three ways to edit files:
|
|
|
234
283
|
```
|
|
235
284
|
|
|
236
285
|
#### Insert (Add New Code)
|
|
286
|
+
|
|
237
287
|
```javascript
|
|
238
288
|
{
|
|
239
289
|
tool: "insert_at_line",
|
|
@@ -254,6 +304,7 @@ xibecode run "Revert app.js to previous version"
|
|
|
254
304
|
### 4. **Cross-Platform**
|
|
255
305
|
|
|
256
306
|
Works identically on:
|
|
307
|
+
|
|
257
308
|
- โ
Windows (PowerShell)
|
|
258
309
|
- โ
macOS (bash/zsh)
|
|
259
310
|
- โ
Linux (bash)
|
|
@@ -265,7 +316,7 @@ The AI automatically uses the right commands for your OS.
|
|
|
265
316
|
```
|
|
266
317
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
267
318
|
โ XibeCode AI Agent โ
|
|
268
|
-
โ Autonomous Coding Assistant v0.1.
|
|
319
|
+
โ Autonomous Coding Assistant v0.1.5 โ
|
|
269
320
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
270
321
|
|
|
271
322
|
๐ Task:
|
|
@@ -317,6 +368,7 @@ xibecode run "Fix the bug around line 500 in large-file.js"
|
|
|
317
368
|
```
|
|
318
369
|
|
|
319
370
|
The AI will:
|
|
371
|
+
|
|
320
372
|
1. Read lines 450-550 (context around the area)
|
|
321
373
|
2. Make targeted edit using line numbers
|
|
322
374
|
3. Verify the change
|
|
@@ -328,6 +380,7 @@ xibecode run "Understand this project structure and suggest improvements"
|
|
|
328
380
|
```
|
|
329
381
|
|
|
330
382
|
The AI will use `get_context` to:
|
|
383
|
+
|
|
331
384
|
- Map import relationships
|
|
332
385
|
- Find test files
|
|
333
386
|
- Read configs
|
|
@@ -336,6 +389,7 @@ The AI will use `get_context` to:
|
|
|
336
389
|
### Error Recovery
|
|
337
390
|
|
|
338
391
|
If something fails, the AI will:
|
|
392
|
+
|
|
339
393
|
1. Read the error message
|
|
340
394
|
2. Analyze what went wrong
|
|
341
395
|
3. Try a different approach
|
|
@@ -354,15 +408,18 @@ xibecode run "Add validation to User model and ensure all tests pass"
|
|
|
354
408
|
```
|
|
355
409
|
|
|
356
410
|
**Supported test runners:**
|
|
411
|
+
|
|
357
412
|
- Node.js: Vitest, Jest, Mocha, Ava
|
|
358
413
|
- Python: pytest, unittest
|
|
359
414
|
- Go: `go test`
|
|
360
415
|
|
|
361
416
|
**Package manager detection:**
|
|
417
|
+
|
|
362
418
|
- Prioritizes: pnpm โ bun โ npm
|
|
363
419
|
- Detects from lock files (`pnpm-lock.yaml`, `bun.lockb`, `package-lock.json`)
|
|
364
420
|
|
|
365
421
|
**Example workflow:**
|
|
422
|
+
|
|
366
423
|
```bash
|
|
367
424
|
xibecode run "Refactor the authentication module:
|
|
368
425
|
1. Read the current code
|
|
@@ -383,6 +440,7 @@ xibecode run "Show me the current git status"
|
|
|
383
440
|
```
|
|
384
441
|
|
|
385
442
|
The AI will use `get_git_status` to see:
|
|
443
|
+
|
|
386
444
|
- Current branch
|
|
387
445
|
- Staged/unstaged/untracked files
|
|
388
446
|
- Clean/dirty state
|
|
@@ -395,6 +453,7 @@ xibecode run "Fix linting errors in changed files" --changed-only
|
|
|
395
453
|
```
|
|
396
454
|
|
|
397
455
|
The AI will:
|
|
456
|
+
|
|
398
457
|
- Get list of modified files with `get_git_changed_files`
|
|
399
458
|
- Focus edits only on those files
|
|
400
459
|
- More efficient for large codebases
|
|
@@ -406,11 +465,13 @@ xibecode run "Refactor the database layer (create checkpoint first)"
|
|
|
406
465
|
```
|
|
407
466
|
|
|
408
467
|
The AI can:
|
|
468
|
+
|
|
409
469
|
- Create checkpoints with `create_git_checkpoint`
|
|
410
470
|
- Use git stash or commit strategy (configurable)
|
|
411
471
|
- Revert to checkpoints if something goes wrong
|
|
412
472
|
|
|
413
473
|
**Example:**
|
|
474
|
+
|
|
414
475
|
```javascript
|
|
415
476
|
// The AI executes:
|
|
416
477
|
create_git_checkpoint({
|
|
@@ -448,12 +509,14 @@ xibecode run "Refactor the auth module" --dry-run
|
|
|
448
509
|
```
|
|
449
510
|
|
|
450
511
|
In dry-run mode:
|
|
512
|
+
|
|
451
513
|
- All file operations show what *would* happen
|
|
452
514
|
- No actual changes are made
|
|
453
515
|
- Git operations are simulated
|
|
454
516
|
- Perfect for testing complex tasks
|
|
455
517
|
|
|
456
518
|
**Example output:**
|
|
519
|
+
|
|
457
520
|
```
|
|
458
521
|
[DRY RUN] Would replace lines 15-20 with 8 new lines
|
|
459
522
|
[DRY RUN] Would write 150 lines to src/auth/index.ts
|
|
@@ -465,18 +528,21 @@ In dry-run mode:
|
|
|
465
528
|
XibeCode automatically assesses risk for operations:
|
|
466
529
|
|
|
467
530
|
**High-risk operations** (require extra care):
|
|
531
|
+
|
|
468
532
|
- Deleting files/directories
|
|
469
533
|
- Force push to git
|
|
470
534
|
- Destructive shell commands
|
|
471
535
|
- Reverting to checkpoints
|
|
472
536
|
|
|
473
537
|
**Blocked operations:**
|
|
538
|
+
|
|
474
539
|
- Fork bombs
|
|
475
540
|
- Deleting root/home directories
|
|
476
541
|
- Direct disk writes
|
|
477
542
|
- Extremely dangerous commands
|
|
478
543
|
|
|
479
544
|
**Example:**
|
|
545
|
+
|
|
480
546
|
```bash
|
|
481
547
|
$ xibecode run "Delete all test files"
|
|
482
548
|
|
|
@@ -557,6 +623,7 @@ The AI will automatically have access to your custom tools!
|
|
|
557
623
|
### Plugin Examples
|
|
558
624
|
|
|
559
625
|
**Database migrations:**
|
|
626
|
+
|
|
560
627
|
```javascript
|
|
561
628
|
registerTools() {
|
|
562
629
|
return [{
|
|
@@ -569,6 +636,7 @@ registerTools() {
|
|
|
569
636
|
```
|
|
570
637
|
|
|
571
638
|
**Internal APIs:**
|
|
639
|
+
|
|
572
640
|
```javascript
|
|
573
641
|
registerTools() {
|
|
574
642
|
return [{
|
|
@@ -663,6 +731,7 @@ XibeCode supports the [Model Context Protocol (MCP)](https://modelcontextprotoco
|
|
|
663
731
|
### What is MCP?
|
|
664
732
|
|
|
665
733
|
MCP is an open protocol that standardizes how applications provide context to LLMs. With MCP, you can:
|
|
734
|
+
|
|
666
735
|
- **Extend Tools**: Add tools from external servers (databases, APIs, etc.)
|
|
667
736
|
- **Access Resources**: Read data from external sources
|
|
668
737
|
- **Use Prompt Templates**: Leverage pre-built prompts from servers
|
|
@@ -743,12 +812,14 @@ xibecode mcp reload
|
|
|
743
812
|
#### Alternative Methods
|
|
744
813
|
|
|
745
814
|
**Via config command (interactive):**
|
|
815
|
+
|
|
746
816
|
```bash
|
|
747
817
|
xibecode config --add-mcp-server my-server
|
|
748
818
|
# Follow interactive prompts
|
|
749
819
|
```
|
|
750
820
|
|
|
751
821
|
**Via config menu:**
|
|
822
|
+
|
|
752
823
|
```bash
|
|
753
824
|
xibecode config
|
|
754
825
|
# Select "๐ก Manage MCP Servers" โ "โ Add MCP Server"
|
|
@@ -830,24 +901,28 @@ xibecode chat
|
|
|
830
901
|
XibeCode includes advanced reasoning capabilities that enable it to:
|
|
831
902
|
|
|
832
903
|
### Systematic Problem Solving
|
|
904
|
+
|
|
833
905
|
- **Problem Decomposition**: Breaks complex tasks into manageable steps
|
|
834
906
|
- **Hypothesis-Driven Development**: Forms and tests hypotheses systematically
|
|
835
907
|
- **Root Cause Analysis**: Traces issues to their source, not just symptoms
|
|
836
908
|
- **Pattern Recognition**: Identifies design patterns and anti-patterns
|
|
837
909
|
|
|
838
910
|
### Advanced Context Awareness
|
|
911
|
+
|
|
839
912
|
- **Project Structure Understanding**: Maps dependencies and data flows
|
|
840
913
|
- **Change Impact Analysis**: Considers downstream effects before modifications
|
|
841
914
|
- **Historical Context**: Uses git history to understand code evolution
|
|
842
915
|
- **Cross-File Dependencies**: Tracks relationships between files
|
|
843
916
|
|
|
844
917
|
### Coding Best Practices
|
|
918
|
+
|
|
845
919
|
- **SOLID Principles**: Applies proper software design principles
|
|
846
920
|
- **Error Handling**: Structured error classification and recovery strategies
|
|
847
921
|
- **Performance Optimization**: Data structure selection and algorithm analysis
|
|
848
922
|
- **Security Best Practices**: Input validation, secure defaults, proper authentication
|
|
849
923
|
|
|
850
924
|
### Multi-Step Planning
|
|
925
|
+
|
|
851
926
|
- **Task Breakdown**: Decomposes large features into atomic steps
|
|
852
927
|
- **Dependency Mapping**: Identifies prerequisites and execution order
|
|
853
928
|
- **Milestone Definition**: Sets intermediate validation points
|
|
@@ -895,6 +970,7 @@ MIT
|
|
|
895
970
|
## ๐ Credits
|
|
896
971
|
|
|
897
972
|
Built with:
|
|
973
|
+
|
|
898
974
|
- [@anthropic-ai/sdk](https://www.npmjs.com/package/@anthropic-ai/sdk)
|
|
899
975
|
- [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/sdk)
|
|
900
976
|
- [Commander.js](https://github.com/tj/commander.js/)
|
|
@@ -907,4 +983,5 @@ Inspired by [Claude Code](https://www.anthropic.com/news/claude-code) and [Aider
|
|
|
907
983
|
---
|
|
908
984
|
|
|
909
985
|
**Made with โค๏ธ for developers who love AI-assisted coding**
|
|
986
|
+
|
|
910
987
|
# XibeCode
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAkBA,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAkBA,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,iBAy3BrD"}
|
package/dist/commands/chat.js
CHANGED
|
@@ -48,6 +48,10 @@ export async function chatCommand(options) {
|
|
|
48
48
|
ui.chatBanner(process.cwd(), model, baseUrl);
|
|
49
49
|
let enableTools = true;
|
|
50
50
|
const toolExecutor = new CodingToolExecutor(process.cwd(), { mcpClientManager });
|
|
51
|
+
// โโ Undo/Redo history stack โโ
|
|
52
|
+
const undoStack = [];
|
|
53
|
+
const redoStack = [];
|
|
54
|
+
const MAX_UNDO = 20;
|
|
51
55
|
// โโ Create ONE agent for the entire chat session โโ
|
|
52
56
|
// This keeps conversation history (messages) across all turns,
|
|
53
57
|
// so the AI remembers everything you talked about.
|
|
@@ -106,6 +110,13 @@ export async function chatCommand(options) {
|
|
|
106
110
|
else if (r?.success && event.data.name === 'edit_lines') {
|
|
107
111
|
ui.fileChanged('modified', r.path || '', r.linesChanged ? `${r.linesChanged} lines` : undefined);
|
|
108
112
|
}
|
|
113
|
+
else if (r?.success && event.data.name === 'verified_edit') {
|
|
114
|
+
ui.fileChanged('modified', r.path || '', r.linesChanged ? `${r.linesChanged} lines` : undefined);
|
|
115
|
+
}
|
|
116
|
+
// Diff preview: show colorized diff when available
|
|
117
|
+
if (r?.diff && (event.data.name === 'edit_file' || event.data.name === 'edit_lines' || event.data.name === 'verified_edit')) {
|
|
118
|
+
ui.showDiff(r.diff, r.path || r.message || '');
|
|
119
|
+
}
|
|
109
120
|
}
|
|
110
121
|
break;
|
|
111
122
|
// โโ Iteration โโ
|
|
@@ -201,6 +212,9 @@ export async function chatCommand(options) {
|
|
|
201
212
|
console.log(' ' + chalk.hex('#00D4FF')('/thinking') + chalk.hex('#6B6B7B')(' toggle thinking spinner'));
|
|
202
213
|
console.log(' ' + chalk.hex('#00D4FF')('/themes') + chalk.hex('#6B6B7B')(' choose a color theme'));
|
|
203
214
|
console.log(' ' + chalk.hex('#00D4FF')('@path') + chalk.hex('#6B6B7B')(' list files/folders under path (or cwd if just "@")'));
|
|
215
|
+
console.log(' ' + chalk.hex('#00D4FF')('/undo') + chalk.hex('#6B6B7B')(' undo last AI turn (restore previous conversation state)'));
|
|
216
|
+
console.log(' ' + chalk.hex('#00D4FF')('/redo') + chalk.hex('#6B6B7B')(' redo undone turn'));
|
|
217
|
+
console.log(' ' + chalk.hex('#00D4FF')('/cost') + chalk.hex('#6B6B7B')(' show token usage and estimated cost'));
|
|
204
218
|
console.log(' ' + chalk.hex('#00D4FF')('clear') + chalk.hex('#6B6B7B')(' clear screen and redraw header'));
|
|
205
219
|
console.log(' ' + chalk.hex('#00D4FF')('tools on/off') + chalk.hex('#6B6B7B')(' toggle tools (editor & filesystem)'));
|
|
206
220
|
console.log(' ' + chalk.hex('#00D4FF')('exit / quit') + chalk.hex('#6B6B7B')(' end the chat session'));
|
|
@@ -589,6 +603,51 @@ export async function chatCommand(options) {
|
|
|
589
603
|
await handleCompactCommand();
|
|
590
604
|
continue;
|
|
591
605
|
}
|
|
606
|
+
if (lowerMessage === '/undo') {
|
|
607
|
+
if (undoStack.length === 0) {
|
|
608
|
+
ui.info('Nothing to undo.');
|
|
609
|
+
}
|
|
610
|
+
else {
|
|
611
|
+
const current = { messages: [...agent.getMessages()], label: 'redo point' };
|
|
612
|
+
redoStack.push(current);
|
|
613
|
+
const prev = undoStack.pop();
|
|
614
|
+
agent.setMessages(prev.messages);
|
|
615
|
+
await sessionManager.saveMessagesAndStats({ id: currentSession.id, messages: prev.messages, stats: agent.getStats() });
|
|
616
|
+
ui.success(`Undo: reverted to previous state (${prev.label})`);
|
|
617
|
+
}
|
|
618
|
+
continue;
|
|
619
|
+
}
|
|
620
|
+
if (lowerMessage === '/redo') {
|
|
621
|
+
if (redoStack.length === 0) {
|
|
622
|
+
ui.info('Nothing to redo.');
|
|
623
|
+
}
|
|
624
|
+
else {
|
|
625
|
+
const current = { messages: [...agent.getMessages()], label: 'undo point' };
|
|
626
|
+
undoStack.push(current);
|
|
627
|
+
const next = redoStack.pop();
|
|
628
|
+
agent.setMessages(next.messages);
|
|
629
|
+
await sessionManager.saveMessagesAndStats({ id: currentSession.id, messages: next.messages, stats: agent.getStats() });
|
|
630
|
+
ui.success(`Redo: restored next state`);
|
|
631
|
+
}
|
|
632
|
+
continue;
|
|
633
|
+
}
|
|
634
|
+
if (lowerMessage === '/cost') {
|
|
635
|
+
const stats = agent.getStats();
|
|
636
|
+
console.log('');
|
|
637
|
+
console.log(chalk.bold(' Token Usage & Cost'));
|
|
638
|
+
console.log(' ' + chalk.hex('#6B6B7B')('โโโโโโโโโโโโโโโโโโโโโโโโโโโโ'));
|
|
639
|
+
console.log(' ' + chalk.hex('#00D4FF')('Input tokens: ') + chalk.white(stats.inputTokens.toLocaleString()));
|
|
640
|
+
console.log(' ' + chalk.hex('#00D4FF')('Output tokens: ') + chalk.white(stats.outputTokens.toLocaleString()));
|
|
641
|
+
console.log(' ' + chalk.hex('#00D4FF')('Total tokens: ') + chalk.white(stats.totalTokens.toLocaleString()));
|
|
642
|
+
if (stats.costLabel) {
|
|
643
|
+
console.log(' ' + chalk.hex('#00D4FF')('Est. cost: ') + chalk.hex('#00E676')(stats.costLabel));
|
|
644
|
+
}
|
|
645
|
+
else {
|
|
646
|
+
console.log(' ' + chalk.hex('#6B6B7B')(' (cost tracking unavailable for this model)'));
|
|
647
|
+
}
|
|
648
|
+
console.log('');
|
|
649
|
+
continue;
|
|
650
|
+
}
|
|
592
651
|
if (lowerMessage === '/details') {
|
|
593
652
|
const next = !ui.getShowDetails();
|
|
594
653
|
ui.setShowDetails(next);
|
|
@@ -711,15 +770,25 @@ export async function chatCommand(options) {
|
|
|
711
770
|
hasResponse = false;
|
|
712
771
|
try {
|
|
713
772
|
const tools = enableTools ? toolExecutor.getTools() : [];
|
|
773
|
+
// Save undo point before AI turn
|
|
774
|
+
undoStack.push({ messages: [...agent.getMessages()], label: message.slice(0, 40) });
|
|
775
|
+
if (undoStack.length > MAX_UNDO)
|
|
776
|
+
undoStack.shift();
|
|
777
|
+
redoStack.length = 0; // clear redo on new action
|
|
714
778
|
// agent.run() resets its iteration/tool counters but KEEPS
|
|
715
779
|
// the conversation history (this.messages), so the AI has
|
|
716
780
|
// full context of everything discussed in this session.
|
|
717
781
|
await agent.run(message, tools, toolExecutor);
|
|
718
782
|
const stats = agent.getStats();
|
|
783
|
+
// Build tokens label for status bar
|
|
784
|
+
const tokensLabel = stats.totalTokens > 0
|
|
785
|
+
? `${(stats.totalTokens / 1000).toFixed(1)}k${stats.costLabel ? ` ยท ${stats.costLabel}` : ''}`
|
|
786
|
+
: undefined;
|
|
719
787
|
if (config.isStatusBarEnabled()) {
|
|
720
788
|
ui.renderStatusBar({
|
|
721
789
|
model,
|
|
722
790
|
sessionTitle: currentSession.title,
|
|
791
|
+
tokensLabel,
|
|
723
792
|
cwd: process.cwd(),
|
|
724
793
|
toolsEnabled: enableTools,
|
|
725
794
|
themeName: ui.getThemeName(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
|
package/dist/core/agent.d.ts
CHANGED
|
@@ -35,6 +35,11 @@ export declare class EnhancedAgent extends EventEmitter {
|
|
|
35
35
|
private modeState;
|
|
36
36
|
private modeOrchestrator;
|
|
37
37
|
private provider;
|
|
38
|
+
private projectMemory;
|
|
39
|
+
private totalInputTokens;
|
|
40
|
+
private totalOutputTokens;
|
|
41
|
+
private sessionCost;
|
|
42
|
+
private static readonly PRICING;
|
|
38
43
|
constructor(config: AgentConfig, providerOverride?: 'anthropic' | 'openai');
|
|
39
44
|
emit(event: AgentEvent['type'], data: any): boolean;
|
|
40
45
|
run(initialPrompt: string, tools: Tool[], toolExecutor: any): Promise<void>;
|
|
@@ -42,9 +47,18 @@ export declare class EnhancedAgent extends EventEmitter {
|
|
|
42
47
|
* Call the model with streaming (fallback to non-streaming).
|
|
43
48
|
*/
|
|
44
49
|
private callModel;
|
|
50
|
+
/**
|
|
51
|
+
* Map Anthropic-format tools to OpenAI chat completions tools format.
|
|
52
|
+
*/
|
|
53
|
+
private mapToolsToOpenAI;
|
|
54
|
+
/**
|
|
55
|
+
* Build OpenAI-format messages from internal Anthropic-style history (including tool_calls and tool results).
|
|
56
|
+
*/
|
|
57
|
+
private buildOpenAIMessages;
|
|
45
58
|
/**
|
|
46
59
|
* Call an OpenAI-compatible chat completions endpoint.
|
|
47
60
|
* Uses streaming (SSE) when available, with a non-streaming fallback.
|
|
61
|
+
* Supports tools: sends them when provided and normalizes tool_calls in the response to Anthropic-style content blocks.
|
|
48
62
|
*/
|
|
49
63
|
private callOpenAI;
|
|
50
64
|
/**
|
|
@@ -59,6 +73,11 @@ export declare class EnhancedAgent extends EventEmitter {
|
|
|
59
73
|
toolCalls: number;
|
|
60
74
|
filesChanged: number;
|
|
61
75
|
changedFiles: string[];
|
|
76
|
+
inputTokens: number;
|
|
77
|
+
outputTokens: number;
|
|
78
|
+
totalTokens: number;
|
|
79
|
+
cost: number;
|
|
80
|
+
costLabel: string | undefined;
|
|
62
81
|
};
|
|
63
82
|
getMessages(): MessageParam[];
|
|
64
83
|
/**
|