@tractorscorch/clank 1.5.2 → 1.5.3
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/CHANGELOG.md +7 -0
- package/README.md +2 -2
- package/dist/index.js +9 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## [1.5.3] — 2026-03-23
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
- **Local thinking models return empty responses** — Qwen3.5 puts all output in `reasoning_content` with empty `content`, and `enable_thinking:false` doesn't work (chat template overrides it). Now treats `reasoning_content` as text for local models so the user actually sees a response
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
9
16
|
## [1.5.2] — 2026-03-23
|
|
10
17
|
|
|
11
18
|
### Fixed
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</p>
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
12
|
-
<a href="https://github.com/ItsTrag1c/Clank/releases/latest"><img src="https://img.shields.io/badge/version-1.5.
|
|
12
|
+
<a href="https://github.com/ItsTrag1c/Clank/releases/latest"><img src="https://img.shields.io/badge/version-1.5.3-blue.svg" alt="Version" /></a>
|
|
13
13
|
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License" /></a>
|
|
14
14
|
<a href="https://www.npmjs.com/package/@tractorscorch/clank"><img src="https://img.shields.io/npm/v/@tractorscorch/clank.svg" alt="npm" /></a>
|
|
15
15
|
<a href="https://github.com/ItsTrag1c/Clank/stargazers"><img src="https://img.shields.io/github/stars/ItsTrag1c/Clank.svg" alt="Stars" /></a>
|
|
@@ -75,7 +75,7 @@ That's it. Setup auto-detects your local models, configures the gateway, and get
|
|
|
75
75
|
| Platform | Download |
|
|
76
76
|
|----------|----------|
|
|
77
77
|
| **npm** (all platforms) | `npm install -g @tractorscorch/clank` |
|
|
78
|
-
| **macOS** (Apple Silicon) | [Clank_1.5.
|
|
78
|
+
| **macOS** (Apple Silicon) | [Clank_1.5.3_macos](https://github.com/ItsTrag1c/Clank/releases/latest/download/Clank_1.5.3_macos) |
|
|
79
79
|
|
|
80
80
|
## Features
|
|
81
81
|
|
package/dist/index.js
CHANGED
|
@@ -3050,7 +3050,11 @@ var init_openai = __esm({
|
|
|
3050
3050
|
const chunk = JSON.parse(data);
|
|
3051
3051
|
const choice = chunk.choices?.[0];
|
|
3052
3052
|
if (choice?.delta?.reasoning_content) {
|
|
3053
|
-
|
|
3053
|
+
if (this.isLocal) {
|
|
3054
|
+
yield { type: "text", content: choice.delta.reasoning_content };
|
|
3055
|
+
} else {
|
|
3056
|
+
yield { type: "thinking", content: choice.delta.reasoning_content };
|
|
3057
|
+
}
|
|
3054
3058
|
}
|
|
3055
3059
|
if (choice?.delta?.content) {
|
|
3056
3060
|
yield { type: "text", content: choice.delta.content };
|
|
@@ -6166,7 +6170,7 @@ var init_server = __esm({
|
|
|
6166
6170
|
res.writeHead(200, { "Content-Type": "application/json" });
|
|
6167
6171
|
res.end(JSON.stringify({
|
|
6168
6172
|
status: "ok",
|
|
6169
|
-
version: "1.5.
|
|
6173
|
+
version: "1.5.3",
|
|
6170
6174
|
uptime: process.uptime(),
|
|
6171
6175
|
clients: this.clients.size,
|
|
6172
6176
|
agents: this.engines.size
|
|
@@ -6278,7 +6282,7 @@ var init_server = __esm({
|
|
|
6278
6282
|
const hello = {
|
|
6279
6283
|
type: "hello",
|
|
6280
6284
|
protocol: PROTOCOL_VERSION,
|
|
6281
|
-
version: "1.5.
|
|
6285
|
+
version: "1.5.3",
|
|
6282
6286
|
agents: this.config.agents.list.map((a) => ({
|
|
6283
6287
|
id: a.id,
|
|
6284
6288
|
name: a.name || a.id,
|
|
@@ -7673,7 +7677,7 @@ async function runTui(opts) {
|
|
|
7673
7677
|
ws.on("open", () => {
|
|
7674
7678
|
ws.send(JSON.stringify({
|
|
7675
7679
|
type: "connect",
|
|
7676
|
-
params: { auth: { token }, mode: "tui", version: "1.5.
|
|
7680
|
+
params: { auth: { token }, mode: "tui", version: "1.5.3" }
|
|
7677
7681
|
}));
|
|
7678
7682
|
});
|
|
7679
7683
|
ws.on("message", (data) => {
|
|
@@ -8102,7 +8106,7 @@ import { fileURLToPath as fileURLToPath5 } from "url";
|
|
|
8102
8106
|
import { dirname as dirname5, join as join19 } from "path";
|
|
8103
8107
|
var __filename3 = fileURLToPath5(import.meta.url);
|
|
8104
8108
|
var __dirname3 = dirname5(__filename3);
|
|
8105
|
-
var version = "1.5.
|
|
8109
|
+
var version = "1.5.3";
|
|
8106
8110
|
try {
|
|
8107
8111
|
const pkg = JSON.parse(readFileSync(join19(__dirname3, "..", "package.json"), "utf-8"));
|
|
8108
8112
|
version = pkg.version;
|