@proxysoul/soulforge 2.4.0 → 2.6.5

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 (3) hide show
  1. package/README.md +98 -1
  2. package/dist/index.js +2891 -945
  3. package/package.json +3 -2
package/README.md CHANGED
@@ -118,6 +118,10 @@ SoulForge already knows. On startup it builds a **live dependency graph** of you
118
118
  <td>Installable skills for domain work. Destructive actions need confirmation. Auto mode for full autonomy.</td>
119
119
  </tr>
120
120
  <tr>
121
+ <td><strong>Inline images</strong></td>
122
+ <td>Pixel-perfect images, animated GIFs, and video-to-GIF inline in chat via <code>soul_vision</code>. Kitty graphics protocol with Unicode placeholders. Supports local files, URLs, and code execution output. <a href="#inline-image-support">See terminal support</a></td>
123
+ </tr>
124
+ <tr>
121
125
  <td><strong>4-tier intelligence</strong></td>
122
126
  <td>LSP, ts-morph, tree-sitter, regex. 33 languages. Dual LSP: Neovim bridge when the editor is open, standalone servers when it's not. <a href="docs/architecture.md">More</a></td>
123
127
  </tr>
@@ -133,6 +137,99 @@ SoulForge already knows. On startup it builds a **live dependency graph** of you
133
137
 
134
138
  <img src="assets/separator.svg" width="100%" height="8" />
135
139
 
140
+ ### Inline image support
141
+
142
+ The `soul_vision` tool renders images and videos directly in chat. Pixel-perfect on supported terminals, high-quality terminal art everywhere else. Videos are converted to animated GIF via ffmpeg (two-pass palette encoding).
143
+
144
+ <table>
145
+ <thead>
146
+ <tr>
147
+ <th width="140">Terminal</th>
148
+ <th width="120">Static images</th>
149
+ <th width="120">Animated GIF</th>
150
+ <th width="120">Video to GIF</th>
151
+ <th>Method</th>
152
+ <th>Notes</th>
153
+ </tr>
154
+ </thead>
155
+ <tbody>
156
+ <tr>
157
+ <td><strong>Kitty</strong></td>
158
+ <td>Pixel-perfect</td>
159
+ <td>Animated</td>
160
+ <td>Animated</td>
161
+ <td>Kitty graphics protocol + Unicode placeholders</td>
162
+ <td>Full support, the gold standard</td>
163
+ </tr>
164
+ <tr>
165
+ <td><strong>Ghostty</strong></td>
166
+ <td>Pixel-perfect</td>
167
+ <td>Static frame</td>
168
+ <td>Static frame</td>
169
+ <td>Kitty graphics protocol + Unicode placeholders</td>
170
+ <td>Animation not yet implemented (<a href="https://github.com/ghostty-org/ghostty/discussions/5218">#5218</a>)</td>
171
+ </tr>
172
+ <tr>
173
+ <td><strong>Konsole</strong></td>
174
+ <td>chafa / half-block</td>
175
+ <td>Static frame</td>
176
+ <td>Static frame</td>
177
+ <td>Terminal art (chafa, built-in half-block)</td>
178
+ <td>Has Kitty graphics but no Unicode placeholders (<a href="https://invent.kde.org/utilities/konsole/-/merge_requests/594">MR #594</a>)</td>
179
+ </tr>
180
+ <tr>
181
+ <td><strong>iTerm2</strong></td>
182
+ <td>chafa / half-block</td>
183
+ <td>Static frame</td>
184
+ <td>Static frame</td>
185
+ <td>Terminal art (chafa, built-in half-block)</td>
186
+ <td>Has Kitty graphics but no Unicode placeholders (<a href="https://github.com/gnachman/iTerm2/commit/4fe5b21">commit</a>)</td>
187
+ </tr>
188
+ <tr>
189
+ <td><strong>WezTerm</strong></td>
190
+ <td>chafa / half-block</td>
191
+ <td>Static frame</td>
192
+ <td>Static frame</td>
193
+ <td>Terminal art (chafa, built-in half-block)</td>
194
+ <td>No Unicode placeholders (<a href="https://github.com/wezterm/wezterm/issues/986">#986</a>)</td>
195
+ </tr>
196
+ <tr>
197
+ <td><strong>Warp</strong></td>
198
+ <td>chafa / half-block</td>
199
+ <td>Static frame</td>
200
+ <td>Static frame</td>
201
+ <td>Terminal art (chafa, built-in half-block)</td>
202
+ <td>No Unicode placeholders (<a href="https://github.com/warpdotdev/Warp/issues/6210">#6210</a>)</td>
203
+ </tr>
204
+ <tr>
205
+ <td><strong>Alacritty</strong></td>
206
+ <td>chafa / half-block</td>
207
+ <td>Static frame</td>
208
+ <td>Static frame</td>
209
+ <td>Terminal art (chafa, built-in half-block)</td>
210
+ <td>No graphics protocol</td>
211
+ </tr>
212
+ <tr>
213
+ <td><strong>Others</strong></td>
214
+ <td>Half-block art</td>
215
+ <td>Static frame</td>
216
+ <td>Static frame</td>
217
+ <td>Built-in half-block ANSI art</td>
218
+ <td>Any truecolor terminal works</td>
219
+ </tr>
220
+ </tbody>
221
+ </table>
222
+
223
+ <sub>
224
+ <b>Formats:</b> PNG, JPG, WebP, GIF, BMP, TIFF, MP4, MKV, WebM, AVI, MOV. Non-PNG images auto-converted via <code>ffmpeg</code>, <code>sips</code> (macOS), or ImageMagick. Videos converted to GIF with two-pass palette encoding (fps capped, scaled to 320px width).
225
+ <br/>
226
+ Install <a href="https://github.com/hpjansson/chafa"><code>chafa</code></a> for higher quality terminal art on non-pixel terminals. Install <a href="https://github.com/FFmpeg/FFmpeg"><code>ffmpeg</code></a> for animated GIF, video conversion, and format support. Install <a href="https://github.com/yt-dlp/yt-dlp"><code>yt-dlp</code></a> to display videos from URLs.
227
+ </sub>
228
+
229
+ ```bash
230
+ brew install ffmpeg chafa yt-dlp
231
+ ```
232
+
136
233
  ## How it compares
137
234
 
138
235
  <table>
@@ -497,4 +594,4 @@ Extracting the intelligence layer into reusable packages:
497
594
 
498
595
  <div align="center">
499
596
  <sub>Built by <a href="https://github.com/proxysoul">proxySoul</a></sub>
500
- </div>
597
+ </div>