ironcode-ai 1.16.3 → 1.17.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.
package/README.md CHANGED
@@ -24,6 +24,20 @@
24
24
 
25
25
  ## 🎉 What's New
26
26
 
27
+ ### Mar 2, 2026 - AI SDK v6 Upgrade
28
+
29
+ **Upgraded to Vercel AI SDK v6 with agent loop compatibility:**
30
+
31
+ - **Root cause**: AI SDK v6 changed behavior — after tools execute, it emits `finishReason: "stop"` (or `undefined`) instead of `"tool-calls"` like v5. IronCode's custom loop control depends on `finishReason === "tool-calls"` to continue the agent loop.
32
+ - **Solution**: Added `hasToolCalls` tracking variable in `processor.ts` that monitors tool execution per turn. When tools are called but SDK returns `finishReason: "stop"`, we override it to `"tool-calls"` to maintain proper loop continuation.
33
+ - **Impact**: Multi-turn agent conversations now work correctly with AI SDK v6. The agent properly continues after tool calls instead of stopping prematurely.
34
+
35
+ **Technical details:**
36
+ - Track tool execution with `hasToolCalls` boolean flag
37
+ - Override `finishReason` from "stop" → "tool-calls" when tools were called
38
+ - Reset tracking at start of each turn
39
+ - Zero breaking changes to existing functionality
40
+
27
41
  ### Mar 2, 2026 - Fix TUI crash when MCP servers are configured
28
42
 
29
43
  Fixed a fatal crash (`TextNodeRenderable only accepts strings...`) that occurred ~5–10 seconds after startup whenever MCP servers were defined in `~/.config/ironcode/ironcode.json`.
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.16.3",
9
+ "version": "1.17.1",
10
10
  "license": "MIT",
11
11
  "optionalDependencies": {
12
- "ironcode-linux-x64": "1.16.3",
13
- "ironcode-darwin-arm64": "1.16.3",
14
- "ironcode-windows-x64": "1.16.3"
12
+ "ironcode-linux-x64-modern": "1.17.1",
13
+ "ironcode-windows-x64-modern": "1.17.1",
14
+ "ironcode-darwin-arm64": "1.17.1"
15
15
  }
16
16
  }
package/postinstall.mjs CHANGED
@@ -51,6 +51,9 @@ function findBinary() {
51
51
  const { platform, arch } = detectPlatformAndArch()
52
52
  // const packageName = `ironcode-${platform}-${arch}`
53
53
  let packageName = `ironcode-${platform}-${arch}`
54
+ if (arch === "x64") {
55
+ packageName += "-modern"
56
+ }
54
57
  const binaryName = platform === "windows" ? "ironcode.exe" : "ironcode"
55
58
 
56
59
  try {