ironcode-ai 1.17.6 → 1.18.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 +67 -29
- 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
|
|
68
|
-
|
|
69
|
-
| PTY/Terminal
|
|
70
|
-
| Edit Tool
|
|
71
|
-
| Bash Parser
|
|
72
|
-
| Archive extraction
|
|
73
|
-
| Grep search
|
|
74
|
-
| File read
|
|
75
|
-
| Git operations
|
|
76
|
-
| Permission evaluation | **N× fewer FFI calls**
|
|
77
|
-
| File ignore matching
|
|
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
|
|
126
|
-
|
|
127
|
-
| `/git`
|
|
128
|
-
| `/terminal` | Open built-in terminal
|
|
129
|
-
| `/editor`
|
|
130
|
-
| `/review`
|
|
131
|
-
| `/init`
|
|
132
|
-
| `Tab`
|
|
133
|
-
| `Ctrl+
|
|
134
|
-
| `Ctrl+X
|
|
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
|
|
158
|
-
|
|
159
|
-
| `/new`
|
|
160
|
-
| `/sessions`
|
|
161
|
-
| `/info`
|
|
162
|
-
| `/init`
|
|
163
|
-
| `/diff`
|
|
164
|
-
| _(text message)_
|
|
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.
|
|
9
|
+
"version": "1.18.0",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"optionalDependencies": {
|
|
12
|
-
"ironcode-linux-x64-baseline": "1.
|
|
13
|
-
"ironcode-linux-x64-modern": "1.
|
|
14
|
-
"ironcode-linux-x64-baseline-musl": "1.
|
|
15
|
-
"ironcode-windows-x64-modern": "1.
|
|
16
|
-
"ironcode-darwin-arm64": "1.
|
|
12
|
+
"ironcode-linux-x64-baseline": "1.18.0",
|
|
13
|
+
"ironcode-linux-x64-modern": "1.18.0",
|
|
14
|
+
"ironcode-linux-x64-baseline-musl": "1.18.0",
|
|
15
|
+
"ironcode-windows-x64-modern": "1.18.0",
|
|
16
|
+
"ironcode-darwin-arm64": "1.18.0"
|
|
17
17
|
}
|
|
18
18
|
}
|