ironcode-ai 1.16.0 → 1.16.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 +92 -0
  2. package/package.json +4 -4
package/README.md CHANGED
@@ -24,6 +24,46 @@
24
24
 
25
25
  ## 🎉 What's New
26
26
 
27
+ ### Mar 2, 2026 - Fix TUI crash when MCP servers are configured
28
+
29
+ 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`.
30
+
31
+ - **Root cause 1** (`prompt/index.tsx`): `{props.hint}` was placed inside a `<text>` node. The MCP hint in `home.tsx` renders a `<box>`, which is not a valid child of `TextNodeRenderable`. When MCP status loaded after bootstrap, the reactive update tried to insert a `BoxRenderable` into a `TextNodeRenderable`, crashing the TUI.
32
+ - **Root cause 2** (`dialog-select.tsx`): The `footer` prop was always wrapped in `<text>`, but `DialogMcp` passes a JSX element (`<Status>` component) as footer — also not text-compatible.
33
+
34
+ **Fix:** Moved `{props.hint}` outside the `<text>` tag in prompt; added type-branching for footer rendering in dialog-select.
35
+
36
+ ### Mar 1, 2026 - Telegram Integration
37
+
38
+ **Control IronCode remotely from your phone via Telegram:**
39
+
40
+ - **`@ironcode-ai/telegram`** — new standalone package; install globally and run from any project directory
41
+ - **Live streaming output** — agent responses stream in real time to your Telegram chat (throttled edits every 1.2s)
42
+ - **Session management** — each conversation is a separate IronCode session; switch between sessions with inline keyboard buttons
43
+ - **One-command setup** — `ironcode-telegram setup` walks you through token + allowed-user config, saved to `~/.config/ironcode/telegram.json`
44
+ - **Server deployment** — run 24/7 on a VPS with PM2 or systemd; send tasks from your phone while the server does the work
45
+
46
+ **Setup:**
47
+ ```bash
48
+ npm install -g @ironcode-ai/telegram
49
+
50
+ ironcode-telegram setup
51
+ # → Enter your Telegram bot token (from @BotFather)
52
+ # → Enter your Telegram user ID (from @userinfobot)
53
+
54
+ cd your-project
55
+ ironcode-telegram # starts the bot, connects to IronCode
56
+ ```
57
+
58
+ **Bot commands:**
59
+ | Command | Description |
60
+ |---------|-------------|
61
+ | `/start` | Start a new IronCode session |
62
+ | `/sessions` | List and switch between active sessions |
63
+ | `/clear` | Clear current session history |
64
+ | `/stop` | Stop current session |
65
+ | _(any message)_ | Send task to IronCode, stream the response |
66
+
27
67
  ### Feb 26, 2026 - Multi-Account Providers & Round-Robin Load Balancing
28
68
 
29
69
  **Connect multiple API keys per provider and distribute load automatically:**
@@ -725,6 +765,58 @@ ironcode-telegram
725
765
  - Tool calls (file edits, searches, bash commands) are reported as they complete
726
766
  - Sessions persist across messages; switch between them with `/sessions`
727
767
 
768
+ **Running on a server (24/7):**
769
+
770
+ Deploy on a VPS or cloud instance so the bot is always available:
771
+
772
+ ```bash
773
+ # 1. Install on the server
774
+ npm install -g ironcode-ai
775
+ bun install -g @ironcode-ai/telegram
776
+
777
+ # 2. Authenticate with your AI provider
778
+ ironcode auth login
779
+
780
+ # 3. Clone your project
781
+ git clone your-repo /app/my-project
782
+
783
+ # 4. Setup bot token
784
+ ironcode-telegram setup
785
+
786
+ # 5. Run with PM2 (auto-restart, survives reboots)
787
+ npm install -g pm2
788
+ cd /app/my-project
789
+ pm2 start --name ironcode-telegram -- ironcode-telegram
790
+ pm2 save # persist process list
791
+ pm2 startup # enable auto-start on reboot
792
+ ```
793
+
794
+ Or with **systemd** (Linux):
795
+
796
+ ```ini
797
+ # /etc/systemd/system/ironcode-telegram.service
798
+ [Unit]
799
+ Description=IronCode Telegram Bot
800
+ After=network.target
801
+
802
+ [Service]
803
+ Type=simple
804
+ User=ubuntu
805
+ WorkingDirectory=/app/my-project
806
+ ExecStart=/usr/local/bin/ironcode-telegram
807
+ Restart=on-failure
808
+ RestartSec=5
809
+
810
+ [Install]
811
+ WantedBy=multi-user.target
812
+ ```
813
+
814
+ ```bash
815
+ sudo systemctl enable --now ironcode-telegram
816
+ ```
817
+
818
+ > **Note:** `WorkingDirectory` is the project directory the bot will work with. For multiple projects, run a separate instance for each.
819
+
728
820
  ---
729
821
 
730
822
  ## Agents
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.0",
9
+ "version": "1.16.2",
10
10
  "license": "MIT",
11
11
  "optionalDependencies": {
12
- "ironcode-linux-x64": "1.16.0",
13
- "ironcode-darwin-arm64": "1.16.0",
14
- "ironcode-windows-x64": "1.16.0"
12
+ "ironcode-linux-x64": "1.16.2",
13
+ "ironcode-darwin-arm64": "1.16.2",
14
+ "ironcode-windows-x64": "1.16.2"
15
15
  }
16
16
  }