ironcode-ai 1.12.0 → 1.12.2

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.
Files changed (2) hide show
  1. package/README.md +152 -9
  2. package/package.json +4 -4
package/README.md CHANGED
@@ -24,14 +24,61 @@
24
24
 
25
25
  ## šŸŽ‰ What's New
26
26
 
27
- ### February 2026 - AI SDK v6 Integration
27
+ ### Feb 15, 2026 - Code Changes Panel
28
+
29
+ **Code changes viewer with inline comments and hunk revert:**
30
+
31
+ - šŸ” **Code Changes Panel** - View git diffs in a side panel without leaving your session. Open via command palette or `<leader>r` keybind
32
+ - ā†©ļø **Revert Diff Hunk** - Press `r` to revert individual diff hunks. Supports both uncommitted and staged changes
33
+ - šŸ’¬ **Inline Comments** - Press `c` to add comments on specific diff lines. Navigate with `n/p`, dismiss with `d`, send to chat with `f`
34
+ - šŸ”„ **Mode Cycling** - Press `m` to cycle between Uncommitted, Staged, and vs-Main diff views
35
+ - šŸ“Š **Change Counts in Hint Bar** - The prompt hint bar now shows `<leader>r changes +N -N` with live addition/deletion counts
36
+ - šŸ¤– **Auto-open on `/review`** - The code changes panel automatically opens alongside when the `/review` command runs as a subtask
37
+ - šŸŽØ **Hunk Highlighting** - The current hunk is subtly highlighted in the diff view for easy identification
38
+
39
+ **Keybinds:**
40
+
41
+ - `j/k`: Navigate files
42
+ - `↑↓`: Navigate diff lines
43
+ - `r`: Revert current hunk
44
+ - `c`: Add comment on current line
45
+ - `n/p`: Navigate between comments
46
+ - `d`: Dismiss selected comment
47
+ - `f`: Send comment to chat
48
+ - `m`: Cycle mode (uncommitted/staged/vs-main)
49
+ - `g`: Refresh diffs
50
+ - `Esc`: Close panel
51
+
52
+ ### Feb 15, 2026 - AI SDK v6 Integration
28
53
 
29
54
  **Leveraging new AI SDK v6 features for better debugging and token efficiency:**
30
55
 
31
56
  - šŸ”§ **DevTools Middleware** - Full debugging visibility for LLM calls via `@ai-sdk/devtools`. Enable with `"experimental": { "devtools": true }` in config, then run `npx @ai-sdk/devtools` to launch viewer at `localhost:4983`. Inspect input/output, token usage, timing, and raw provider data.
32
57
  - šŸ’° **`toModelOutput` Optimization** - Tool results now send only the essential `output` text back to the model, stripping `title`, `metadata`, and `attachments` (including base64-encoded images). Reduces token usage on every tool call, especially impactful for large file reads and MCP tools.
58
+ - šŸ”Œ **Provider-Specific Tools** - Native server-side tools from AI providers (lazy-loaded, zero memory overhead when unused). Enable via `"experimental": { "provider_tools": ["anthropic:web_search", "openai:*"] }`. Available tools:
59
+ - **Anthropic**: `web_search`, `web_fetch`, `code_execution`
60
+ - **OpenAI**: `web_search`, `code_interpreter`, `image_generation`
61
+ - **Google**: `google_search`, `code_execution`, `url_context`
62
+ - **xAI**: `web_search`, `x_search`, `code_execution`
63
+ - **GitHub Copilot**: `web_search`, `local_shell`, `code_interpreter`, `file_search`, `image_generation`
64
+
65
+ ### Feb 15, 2026 - Memory Optimizations
66
+
67
+ **TypeScript:**
33
68
 
34
- ### February 2026 - Git Source Control UI
69
+ - šŸš€ **Lazy Provider SDK Loading** - Provider SDKs (`@ai-sdk/anthropic`, `@ai-sdk/openai`, etc.) are now dynamically imported only when their tools are requested, saving ~20-100MB of unused memory.
70
+ - šŸ“¦ **Streaming Message Processing** - Compaction pruning now streams messages instead of loading entire session history into memory. Combined with O(n) `filterCompacted()` (replacing O(n²) `unshift`), long sessions use significantly less peak RAM.
71
+
72
+ **Rust Native:**
73
+
74
+ - šŸ”§ **edit.rs** - Split content lines once and share across all 9 replacer strategies (was splitting 7x redundantly). `normalize_whitespace` builds string directly without intermediate Vec.
75
+ - šŸ“‚ **archive.rs** - Iterate ZIP entries by index instead of cloning all entry names upfront.
76
+ - šŸ” **grep.rs** - Pre-allocate match buffer with `Vec::with_capacity(128)`. Avoid intermediate clone in line truncation formatting.
77
+ - šŸ—‚ļø **glob.rs** - Partial sort with `select_nth_unstable_by` for top-N results instead of full sort on entire file list.
78
+ - šŸ“– **read.rs** - Build output string directly instead of collecting into intermediate formatted Vec then joining.
79
+ - 🌐 **webfetch.rs** - Stream-join text nodes without intermediate Vec allocation.
80
+
81
+ ### Feb 12, 2026 - Git Source Control UI
35
82
 
36
83
  **Built-in Git UI for seamless version control within TUI:**
37
84
 
@@ -45,7 +92,7 @@
45
92
 
46
93
  **Open Git panel with `Ctrl+X` then `I` or `/git` command**
47
94
 
48
- ### February 2026 - Streaming Optimizations
95
+ ### Feb 10, 2026 - Streaming Optimizations
49
96
 
50
97
  **Massive performance and memory improvements through streaming patterns:**
51
98
 
@@ -72,11 +119,11 @@
72
119
 
73
120
  ### Previous Updates
74
121
 
75
- - **Memory optimization** - 97.6% faster message processing (254ms → 6ms) - Feb 2026
76
- - **Resource monitoring** - Automatic throttling with 300MB default limit - Feb 2026
77
- - **PTY/Terminal native** - 15.29x speedup, powers Bash tool - Feb 2026
78
- - **Edit tool optimization** - 2-6x faster with 9 smart strategies
79
- - **Archive extraction** - 3-5x faster with s-zip native
122
+ - **Memory optimization** - 97.6% faster message processing (254ms → 6ms) - Feb 8, 2026
123
+ - **Resource monitoring** - Automatic throttling with 300MB default limit - Feb 7, 2026
124
+ - **PTY/Terminal native** - 15.29x speedup, powers Bash tool - Feb 5, 2026
125
+ - **Edit tool optimization** - 2-6x faster with 9 smart strategies - Feb 3, 2026
126
+ - **Archive extraction** - 3-5x faster with s-zip native - Feb 1, 2026
80
127
 
81
128
  ---
82
129
 
@@ -88,6 +135,7 @@ IronCode is a **high-performance CLI fork** of [OpenCode](https://github.com/ano
88
135
 
89
136
  - āŒØļø **CLI-First**: Powerful terminal UI optimized for command-line workflows
90
137
  - šŸŽÆ **Git Source Control**: Full Git integration - stage, commit, diff, push without leaving TUI
138
+ - šŸ” **Code Changes Panel**: Diff viewer with inline comments, hunk revert, and live change counts
91
139
  - šŸ  **100% Local**: No cloud services, works completely offline
92
140
  - šŸ”’ **Privacy First**: Your code never leaves your machine
93
141
  - šŸŽÆ **Lightweight**: Stripped down to core functionality - CLI only
@@ -453,6 +501,100 @@ gh auth login
453
501
  git config --global credential.helper '!gh auth git-credential'
454
502
  ```
455
503
 
504
+ ### Code Changes Panel
505
+
506
+ IronCode includes a code changes viewer for reviewing diffs with inline comments:
507
+
508
+ **Open Code Changes Panel:**
509
+
510
+ - Press `<leader>r` (default: `Ctrl+X` then `R`)
511
+ - Or use command palette (`Ctrl+P`) → "View code changes"
512
+ - Auto-opens when `/review` command runs
513
+
514
+ **Features:**
515
+
516
+ - **Diff Viewer** - Color-coded diffs with hunk highlighting
517
+ - `j/k`: Navigate between files
518
+ - `↑↓`: Navigate diff lines
519
+ - `m`: Cycle mode (Uncommitted → Staged → vs Main)
520
+ - `g`: Refresh diffs
521
+ - **Revert Hunk** - Undo individual changes
522
+ - `r`: Revert the current diff hunk (works for both uncommitted and staged)
523
+ - Active hunk is highlighted for easy identification
524
+ - **Inline Comments** - Add notes to specific diff lines
525
+ - `c`: Add a comment on the current line
526
+ - `n/p`: Navigate between comments
527
+ - `d`: Dismiss selected comment
528
+ - `f`: Send comment to chat for AI to address
529
+ - **Change Counts** - The hint bar shows live `+N -N` counts of total additions/deletions
530
+
531
+ ### Provider-Specific Tools
532
+
533
+ Enable native server-side tools from AI providers. These tools run on the provider's infrastructure (not locally), giving the model direct access to web search, code execution, and more.
534
+
535
+ **Configuration** — Add `provider_tools` to the `experimental` section in your `ironcode.json`:
536
+
537
+ ```jsonc
538
+ {
539
+ "experimental": {
540
+ // Enable specific tools
541
+ "provider_tools": ["anthropic:web_search"],
542
+ },
543
+ }
544
+ ```
545
+
546
+ **Format**: `"provider:tool_name"` or `"provider:*"` (wildcard for all tools).
547
+
548
+ **Examples:**
549
+
550
+ ```jsonc
551
+ {
552
+ "experimental": {
553
+ // Single tool
554
+ "provider_tools": ["anthropic:web_search"]
555
+
556
+ // Multiple tools from one provider
557
+ "provider_tools": ["anthropic:web_search", "anthropic:code_execution"]
558
+
559
+ // All tools from a provider (wildcard)
560
+ "provider_tools": ["openai:*"]
561
+
562
+ // Mix providers — only matching tools activate
563
+ "provider_tools": [
564
+ "anthropic:web_search",
565
+ "anthropic:web_fetch",
566
+ "openai:web_search",
567
+ "google:google_search",
568
+ "xai:x_search"
569
+ ]
570
+ }
571
+ }
572
+ ```
573
+
574
+ **Available tools by provider:**
575
+
576
+ | Provider | Tool | Description |
577
+ | ------------------ | ------------------ | --------------------------------------- |
578
+ | **Anthropic** | `web_search` | Search the web for current information |
579
+ | | `web_fetch` | Fetch and read web page content |
580
+ | | `code_execution` | Execute code in a sandboxed environment |
581
+ | **OpenAI** | `web_search` | Search the web using Bing |
582
+ | | `code_interpreter` | Execute Python code with file I/O |
583
+ | | `image_generation` | Generate images with DALL-E |
584
+ | **Google** | `google_search` | Search with Google Search |
585
+ | | `code_execution` | Execute code server-side |
586
+ | | `url_context` | Fetch and analyze URL content |
587
+ | **xAI** | `web_search` | Search the web |
588
+ | | `x_search` | Search X (Twitter) posts |
589
+ | | `code_execution` | Execute code server-side |
590
+ | **GitHub Copilot** | `web_search` | Search the web via Bing |
591
+ | | `local_shell` | Execute shell commands |
592
+ | | `code_interpreter` | Execute code in sandbox |
593
+ | | `file_search` | Search files in vector stores |
594
+ | | `image_generation` | Generate images |
595
+
596
+ > **Note**: Tools only activate when the current model matches the provider. For example, `anthropic:web_search` only works when using an Anthropic model (Claude). If you configure tools for multiple providers, only the relevant ones activate per session.
597
+
456
598
  ---
457
599
 
458
600
  ## Agents
@@ -610,6 +752,7 @@ Contributions are welcome! Please read [CONTRIBUTING.md](./CONTRIBUTING.md) befo
610
752
 
611
753
  **Recent Contributions:**
612
754
 
755
+ - āœ… **Code Changes Panel** (Diff viewer with hunk revert & inline comments - Feb 2026)
613
756
  - āœ… **Git Source Control UI** (Full TUI integration with libgit2 - Feb 2026)
614
757
  - āœ… **Streaming read optimization** (1.2-1.6x faster, 99.7% memory savings - Feb 2026)
615
758
  - āœ… **Grep streaming optimization** (90-99% memory reduction, GB-file capability - Feb 2026)
@@ -700,5 +843,5 @@ _Benchmarked on IronCode repository (dev branch, 100 iterations)_
700
843
 
701
844
  ## Acknowledgments
702
845
 
703
- - **OpenCode Team**: For creating the original open-source AI coding agent
846
+ - **IronCode Team**: For creating the original open-source AI coding agent
704
847
  - All contributors to this fork
package/package.json CHANGED
@@ -6,11 +6,11 @@
6
6
  "scripts": {
7
7
  "postinstall": "bun ./postinstall.mjs || node ./postinstall.mjs"
8
8
  },
9
- "version": "1.12.0",
9
+ "version": "1.12.2",
10
10
  "license": "MIT",
11
11
  "optionalDependencies": {
12
- "ironcode-linux-x64-modern": "1.12.0",
13
- "ironcode-windows-x64-modern": "1.12.0",
14
- "ironcode-darwin-arm64": "1.12.0"
12
+ "ironcode-linux-x64-modern": "1.12.2",
13
+ "ironcode-windows-x64-modern": "1.12.2",
14
+ "ironcode-darwin-arm64": "1.12.2"
15
15
  }
16
16
  }