ironcode-ai 1.17.6 → 1.18.1

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 +67 -29
  2. package/package.json +6 -6
package/README.md CHANGED
@@ -24,21 +24,40 @@
24
24
 
25
25
  ## What's New
26
26
 
27
+ ### v1.17.6 — AI SDK v6 ModelRef Migration
28
+
29
+ **Completed ModelRef migration as part of AI SDK v6 upgrade:**
30
+
31
+ - **Schema migration** — Migrated model references from object format `{ providerID: string, modelID: string }` to string-based `ModelRef` format (`"provider:model"`) throughout the codebase
32
+ - **Parser/formatter utilities** — All code now uses `ProviderRegistry.parse(modelRef)` to extract components and `ProviderRegistry.format(providerID, modelID)` to create ModelRef strings
33
+ - **Runtime compatibility** — Added `ensureModelRef()` helper to handle legacy object formats gracefully during transition
34
+ - **Bug fixes** — Fixed `ProviderModelNotFoundError` with undefined values caused by incomplete migration; fixed `Provider.defaultModel()` to return strings consistently
35
+
36
+ **Technical details:**
37
+
38
+ - Updated schemas in `message-v2.ts`: User, Assistant, and SubtaskPart now use `model: z.string()` instead of separate modelID/providerID fields
39
+ - Migrated 24 files including session handling, compaction, summary, task/plan tools, telegram bot, and SDK types
40
+ - Zero breaking changes for end users
41
+
27
42
  ### v1.17.5 — Voice Message Support
43
+
28
44
  - **Voice messages** — Send voice messages to the Telegram bot; audio is automatically transcribed via Groq Whisper and forwarded to the agent
29
45
  - **BM25 improvements** — Updated `STOP_WORDS` to retain method-prefix tokens (`get`/`set`/`is`/`has`/`new`) for more accurate code search
30
46
 
31
47
  ### v1.17.3 — Rust Rule Engine Migration
48
+
32
49
  - **Permission Rule Engine** — `PermissionNext.evaluate()` and `disabled()` migrated to Rust; entire ruleset batched into a single FFI call instead of N JS roundtrips
33
50
  - **File Ignore Matching** — `FileIgnore.match()` migrated to Rust using `globset` compiled regex, faster than per-call `Bun.Glob` allocation
34
51
  - **Dead code removed** — `permission/arity.ts` (BashArity) removed, replaced by `extractPrefixFFI` (Rust)
35
52
 
36
53
  ### v1.17.2 — Telegram Enhancement
54
+
37
55
  - **`/init` command** — Analyze a project and generate `AGENTS.md` directly from the Telegram bot
38
56
  - **Code diff streaming** — `/diff` shows all changed files in the current session
39
57
  - **Session management UI** — `/sessions` with inline switch buttons
40
58
 
41
59
  ### v1.17.0 — AI SDK v6
60
+
42
61
  - Upgraded to AI SDK v6 with full support for new providers
43
62
  - Improved terminal UX
44
63
 
@@ -64,17 +83,17 @@ IronCode is a **high-performance CLI AI coding agent** — a fork of [OpenCode](
64
83
 
65
84
  ### Performance (Native Rust Components)
66
85
 
67
- | Operation | Speedup | Notes |
68
- |---|---|---|
69
- | PTY/Terminal | **15x faster** | Zero-copy ring buffer |
70
- | Edit Tool | **2–6x faster** | 9 smart replacement strategies |
71
- | Bash Parser | **50–100x faster** | Native tree-sitter vs WASM |
72
- | Archive extraction | **3–5x faster** | s-zip streaming reader |
73
- | Grep search | **90–99% less memory** | Streams GB-sized files |
74
- | File read | **1.5x faster, 99.7% less memory** | 64KB buffer + pre-allocation |
75
- | Git operations | **1.8x faster** | libgit2, no process spawning |
76
- | Permission evaluation | **N× fewer FFI calls** | Entire ruleset in 1 native call vs N roundtrips |
77
- | File ignore matching | **Faster glob matching** | Compiled `globset` regex vs per-call `Bun.Glob` allocation |
86
+ | Operation | Speedup | Notes |
87
+ | --------------------- | ---------------------------------- | ---------------------------------------------------------- |
88
+ | PTY/Terminal | **15x faster** | Zero-copy ring buffer |
89
+ | Edit Tool | **2–6x faster** | 9 smart replacement strategies |
90
+ | Bash Parser | **50–100x faster** | Native tree-sitter vs WASM |
91
+ | Archive extraction | **3–5x faster** | s-zip streaming reader |
92
+ | Grep search | **90–99% less memory** | Streams GB-sized files |
93
+ | File read | **1.5x faster, 99.7% less memory** | 64KB buffer + pre-allocation |
94
+ | Git operations | **1.8x faster** | libgit2, no process spawning |
95
+ | Permission evaluation | **N× fewer FFI calls** | Entire ruleset in 1 native call vs N roundtrips |
96
+ | File ignore matching | **Faster glob matching** | Compiled `globset` regex vs per-call `Bun.Glob` allocation |
78
97
 
79
98
  ---
80
99
 
@@ -122,16 +141,35 @@ ironcode auth login
122
141
 
123
142
  ### Key Commands
124
143
 
125
- | Command | Description |
126
- |---|---|
127
- | `/git` | Open Git source control panel |
128
- | `/terminal` | Open built-in terminal |
129
- | `/editor` | Open file in `$EDITOR` |
130
- | `/review` | Open code changes panel |
131
- | `/init` | Create `AGENTS.md` for the project |
132
- | `Tab` | Switch between agents (build / plan) |
133
- | `Ctrl+X I` | Git panel shortcut |
134
- | `Ctrl+X R` | Code changes panel shortcut |
144
+ | Command | Description |
145
+ | ----------- | -------------------------------------- |
146
+ | `/git` | Open Git source control panel |
147
+ | `/terminal` | Open built-in terminal |
148
+ | `/editor` | Open file in `$EDITOR` |
149
+ | `/review` | Open code changes panel |
150
+ | `/init` | Create `AGENTS.md` for the project |
151
+ | `Tab` | Switch between agents (build / plan) |
152
+ | `Ctrl+T` | Cycle model variants (low/medium/high) |
153
+ | `Ctrl+X I` | Git panel shortcut |
154
+ | `Ctrl+X R` | Code changes panel shortcut |
155
+
156
+ ### Model Variants & Thinking
157
+
158
+ IronCode supports **model variants** that control the quality/speed tradeoff:
159
+
160
+ - **low** — Faster responses, lower cost, suitable for simple tasks
161
+ - **medium** — Balanced performance and quality
162
+ - **high** — Best quality, includes extended thinking/reasoning output (default)
163
+ - **thinking** — Extended reasoning mode for complex problems
164
+
165
+ Press **`Ctrl+T`** to cycle between available variants. The status bar shows the current variant with indicators:
166
+
167
+ - `high 🧠` — High quality with thinking enabled
168
+ - `thinking 🧠` — Thinking variant with extended reasoning
169
+ - `medium` — Medium quality
170
+ - `low` — Low cost, faster responses
171
+
172
+ **Thinking mode** shows the model's internal reasoning process before generating the final response, helping with complex problem-solving and understanding the model's decision-making process.
135
173
 
136
174
  ---
137
175
 
@@ -154,14 +192,14 @@ ironcode-telegram
154
192
 
155
193
  **Bot commands:**
156
194
 
157
- | Command | Description |
158
- |---|---|
159
- | `/new` | Start a new session |
160
- | `/sessions` | List sessions with inline switch buttons |
161
- | `/info` | Current session details and file change stats |
162
- | `/init` | Analyze project and create `AGENTS.md` |
163
- | `/diff` | Show all file changes in the current session |
164
- | _(text message)_ | Send a prompt — streams the response live |
195
+ | Command | Description |
196
+ | ----------------- | ------------------------------------------------- |
197
+ | `/new` | Start a new session |
198
+ | `/sessions` | List sessions with inline switch buttons |
199
+ | `/info` | Current session details and file change stats |
200
+ | `/init` | Analyze project and create `AGENTS.md` |
201
+ | `/diff` | Show all file changes in the current session |
202
+ | _(text message)_ | Send a prompt — streams the response live |
165
203
  | _(voice message)_ | Transcribed via Groq Whisper and sent as a prompt |
166
204
 
167
205
  ### Voice Message Setup
package/package.json CHANGED
@@ -6,13 +6,13 @@
6
6
  "scripts": {
7
7
  "postinstall": "bun ./postinstall.mjs || node ./postinstall.mjs"
8
8
  },
9
- "version": "1.17.6",
9
+ "version": "1.18.1",
10
10
  "license": "MIT",
11
11
  "optionalDependencies": {
12
- "ironcode-linux-x64-baseline": "1.17.6",
13
- "ironcode-linux-x64-modern": "1.17.6",
14
- "ironcode-linux-x64-baseline-musl": "1.17.6",
15
- "ironcode-windows-x64-modern": "1.17.6",
16
- "ironcode-darwin-arm64": "1.17.6"
12
+ "ironcode-linux-x64-baseline": "1.18.1",
13
+ "ironcode-linux-x64-modern": "1.18.1",
14
+ "ironcode-linux-x64-baseline-musl": "1.18.1",
15
+ "ironcode-windows-x64-modern": "1.18.1",
16
+ "ironcode-darwin-arm64": "1.18.1"
17
17
  }
18
18
  }