@knightcodeai/cli-win32-x64 0.5.1 → 0.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/bin/CHANGELOG.md +67 -0
- package/bin/docs/compaction.md +2 -0
- package/bin/docs/keybindings.md +1 -1
- package/bin/docs/providers.md +1 -0
- package/bin/docs/settings.md +1 -0
- package/bin/docs/skills.md +1 -1
- package/bin/docs/terminal-setup.md +15 -0
- package/bin/docs/usage.md +1 -1
- package/bin/knightcode.exe +0 -0
- package/bin/package.json +6 -6
- package/bin/theme/dark.json +2 -2
- package/package.json +1 -1
package/bin/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,72 @@
|
|
|
1
1
|
# @knightcodeai/cli
|
|
2
2
|
|
|
3
|
+
## 0.5.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 6ffe494: Run the auto-compaction threshold check between turns of an agent run, so a
|
|
8
|
+
tool batch that fills the context window is compacted before the next
|
|
9
|
+
assistant request instead of overflowing it.
|
|
10
|
+
- 6cfef9a: Add a `fullscreenCopyOnSelect` setting (default `true`). Turn it off and a
|
|
11
|
+
fullscreen mouse selection stays highlighted instead of being copied on mouse
|
|
12
|
+
release, and `Ctrl+X` copies the active selection rather than the last
|
|
13
|
+
assistant message.
|
|
14
|
+
- eb15117: Settle the running turn before an in-memory `/fork`, so the aborted assistant
|
|
15
|
+
message and its tool results are no longer appended to the freshly forked
|
|
16
|
+
session.
|
|
17
|
+
- 9a492f9: Merge Mistral streaming tool-call chunks by their `index`, so a call whose id
|
|
18
|
+
and name arrive only in the first chunk is no longer split into two tool
|
|
19
|
+
calls with truncated arguments. A name that arrives on a later chunk is
|
|
20
|
+
picked up rather than left empty.
|
|
21
|
+
- 766dbca: Match `NO_PROXY` entries against the root domain and its subdomains, and parse
|
|
22
|
+
IPv6 hosts and `host:port` entries correctly, so a bare `example.com` entry
|
|
23
|
+
also bypasses the proxy for `api.example.com` and `notexample.com` no longer
|
|
24
|
+
matches it. A bare `*` entry now bypasses everything even when listed
|
|
25
|
+
alongside other entries, and an entry with a malformed port is dropped rather
|
|
26
|
+
than widened into a host-wide bypass.
|
|
27
|
+
- 3ad5109: Add a `supportsMaxOutputTokens` compat flag for `openai-responses` models
|
|
28
|
+
(default `true`). Set it to `false` for a gateway that rejects
|
|
29
|
+
`max_output_tokens` and the parameter is omitted instead of failing the
|
|
30
|
+
request.
|
|
31
|
+
- 94e9d3b: Stop already-prepared tool calls from running when a parallel batch is aborted
|
|
32
|
+
during preflight, so cancelling at a permission prompt no longer lets the
|
|
33
|
+
remaining tools in that batch execute.
|
|
34
|
+
- 00c4a60: Ignore a failing SIGWINCH self-signal at terminal startup, so sandboxes whose
|
|
35
|
+
seccomp or LSM policy denies `kill(2)` no longer crash on launch. The
|
|
36
|
+
dimension refresh is skipped instead.
|
|
37
|
+
- c058c12: Tidy the tool call transcript block. The dark theme's `green` and `red` now hold
|
|
38
|
+
the pinned diff hexes, so the success bullet, `✓` marks, bash mode and markdown
|
|
39
|
+
code blocks match the diff colours instead of staying olive. Shell tool call
|
|
40
|
+
headers are clamped to a single line — a long command no longer wraps several
|
|
41
|
+
rows of quoted URL over the transcript — and the bash expand hint follows its
|
|
42
|
+
output rather than preceding it, matching every other tool renderer. Line
|
|
43
|
+
counts in the expand hints are pluralised.
|
|
44
|
+
- 743bca2: Detect Zed's integrated terminal so it gets truecolor and hyperlinks instead
|
|
45
|
+
of falling through to the conservative default, and document the Zed key
|
|
46
|
+
bindings needed for `Shift+Enter` and friends.
|
|
47
|
+
|
|
48
|
+
## 0.5.2
|
|
49
|
+
|
|
50
|
+
### Patch Changes
|
|
51
|
+
|
|
52
|
+
- 736f894: Read EXIF orientation from JPEGs whose first APP1 segment holds XMP instead of
|
|
53
|
+
EXIF. Such images previously rendered unrotated.
|
|
54
|
+
- ec0f150: Clear a delivered steering or follow-up message that carried only images. The
|
|
55
|
+
entry previously stayed in the queue forever, leaving the pending count wrong
|
|
56
|
+
and the message re-queued.
|
|
57
|
+
- 13586e1: Give each `/share` its own temp directory so two shares running at once no
|
|
58
|
+
longer overwrite each other's export or delete the other's file mid-upload.
|
|
59
|
+
- a90f2eb: Keep skills in the system prompt when `read` is disabled but a shell tool is
|
|
60
|
+
available, and tell the model to load `SKILL.md` with `bash` (or PowerShell)
|
|
61
|
+
instead. Skills previously vanished entirely from bash-only tool setups.
|
|
62
|
+
- d28f07d: Ignore Kitty image conversions that land after the tool image at that position
|
|
63
|
+
changed, so a streamed partial image no longer replaces the final result.
|
|
64
|
+
- e0fb2d8: Add AgentRouter as a built-in provider. `AGENTROUTER_API_KEY` enables five
|
|
65
|
+
AgentRouter models, defaulting to `agentrouter/glm-5.3`, with Claude routed through
|
|
66
|
+
the Anthropic Messages endpoint and the rest through the OpenAI-compatible one.
|
|
67
|
+
Token prices come from AgentRouter's rate table rather than upstream list prices;
|
|
68
|
+
cache costs remain estimates because AgentRouter does not publish its cache ratios.
|
|
69
|
+
|
|
3
70
|
## 0.5.1
|
|
4
71
|
|
|
5
72
|
### Patch Changes
|
package/bin/docs/compaction.md
CHANGED
|
@@ -34,6 +34,8 @@ contextTokens > contextWindow - reserveTokens
|
|
|
34
34
|
|
|
35
35
|
By default, `reserveTokens` is 16384 tokens (configurable in `~/.knightcode/agent/settings.json` or `<project-dir>/.knightcode/settings.json`). This leaves room for the LLM's response.
|
|
36
36
|
|
|
37
|
+
During a multi-turn agent run, KnightCode checks this threshold after tools finish and their results are appended, before starting the next assistant response. If the threshold is crossed, KnightCode compacts inside the same agent run and resumes with the summary and retained messages. It skips this between-turn check when the completed tool batch terminates the run and no queued message requires another response. KnightCode also checks the threshold before a new user prompt and after a low-level agent run ends.
|
|
38
|
+
|
|
37
39
|
You can also trigger manually with `/compact [instructions]`, where optional instructions focus the summary.
|
|
38
40
|
|
|
39
41
|
### How It Works
|
package/bin/docs/keybindings.md
CHANGED
|
@@ -157,7 +157,7 @@ This routing remains configurable through the ordinary action bindings. For exam
|
|
|
157
157
|
| Keybinding id | Default | Description |
|
|
158
158
|
|--------|---------|-------------|
|
|
159
159
|
| `app.tools.expand` | `ctrl+o` | Collapse or expand tool output |
|
|
160
|
-
| `app.message.copy` | `ctrl+x` | Copy the
|
|
160
|
+
| `app.message.copy` | `ctrl+x` | Copy the selected message in `/tree`; otherwise copy the active fullscreen text selection when `fullscreenCopyOnSelect` is disabled, falling back to the last assistant message |
|
|
161
161
|
| `app.message.followUp` | `alt+enter` (`ctrl+q` on Windows and WSL) | Queue follow-up message |
|
|
162
162
|
| `app.message.dequeue` | `alt+up` (`alt+q` on Windows and WSL) | Restore queued messages to editor |
|
|
163
163
|
|
package/bin/docs/providers.md
CHANGED
|
@@ -69,6 +69,7 @@ knightcode
|
|
|
69
69
|
| Provider | Environment Variable | `auth.json` key |
|
|
70
70
|
|----------|----------------------|------------------|
|
|
71
71
|
| Anthropic | `ANTHROPIC_API_KEY` | `anthropic` |
|
|
72
|
+
| AgentRouter | `AGENTROUTER_API_KEY` | `agentrouter` |
|
|
72
73
|
| Ant Ling | `ANT_LING_API_KEY` | `ant-ling` |
|
|
73
74
|
| Azure OpenAI Responses | `AZURE_OPENAI_API_KEY` | `azure-openai-responses` |
|
|
74
75
|
| OpenAI | `OPENAI_API_KEY` | `openai` |
|
package/bin/docs/settings.md
CHANGED
|
@@ -69,6 +69,7 @@ Use `/trust` in interactive mode to save a project trust decision for future ses
|
|
|
69
69
|
| `tuiMode` | string | `"regular"` | Interactive TUI mode: `"regular"` or experimental `"fullscreen"`. Changes from `/settings` apply immediately; `--tui-mode` overrides this setting at startup |
|
|
70
70
|
| `fullscreenExitOutput` | string | `"transcript"` | Fullscreen exit output: `"transcript"` prints the final transcript and resume hint, while `"resume-hint"` restores the previous screen and prints only the resume hint. Has no effect in regular TUI mode |
|
|
71
71
|
| `fullscreenScrollbar` | string | `"auto"` | Fullscreen transcript scrollbar: `"auto"` shows it temporarily while scrolling, `"always"` reserves the rightmost column and keeps it visible, and `"hidden"` hides it. Has no effect in regular TUI mode |
|
|
72
|
+
| `fullscreenCopyOnSelect` | boolean | `true` | Automatically copy selected text in fullscreen mode. When disabled, selections stay highlighted and `Ctrl+X` copies the active selection. Has no effect in regular TUI mode |
|
|
72
73
|
|
|
73
74
|
For VS Code, include `--wait` so knightcode resumes after the editor exits:
|
|
74
75
|
|
package/bin/docs/skills.md
CHANGED
|
@@ -66,7 +66,7 @@ For project-level Claude Code skills, add to `.knightcode/settings.json`:
|
|
|
66
66
|
|
|
67
67
|
1. At startup, knightcode scans skill locations and extracts names and descriptions
|
|
68
68
|
2. The system prompt includes available skills in XML format per the [specification](https://agentskills.io/integrate-skills)
|
|
69
|
-
3. When a task matches, the agent uses `read` to load the full SKILL.md (models don't always do this; use prompting or `/skill:name` to force it)
|
|
69
|
+
3. When a task matches, the agent uses `read`, or a shell tool when `read` is unavailable, to load the full SKILL.md (models don't always do this; use prompting or `/skill:name` to force it)
|
|
70
70
|
4. The agent follows the instructions, using relative paths to reference scripts and assets
|
|
71
71
|
|
|
72
72
|
This is progressive disclosure: only descriptions are always in context, full instructions load on-demand.
|
|
@@ -130,6 +130,21 @@ Add to `keybindings.json`:
|
|
|
130
130
|
}
|
|
131
131
|
```
|
|
132
132
|
|
|
133
|
+
## Zed (Integrated Terminal)
|
|
134
|
+
|
|
135
|
+
Add these key bindings to your Zed `keymap.json`:
|
|
136
|
+
|
|
137
|
+
```json
|
|
138
|
+
{
|
|
139
|
+
"context": "Terminal",
|
|
140
|
+
"bindings": {
|
|
141
|
+
"shift-enter": ["terminal::SendText", "\u001b[13;2u"],
|
|
142
|
+
"ctrl--": ["terminal::SendText", "\u001b[45;5u"],
|
|
143
|
+
"ctrl-alt-]": ["terminal::SendText", "\u001b[93;7u"]
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
```
|
|
147
|
+
|
|
133
148
|
## Windows Terminal
|
|
134
149
|
|
|
135
150
|
KnightCode uses Windows-style keybindings when running natively on Windows or in WSL:
|
package/bin/docs/usage.md
CHANGED
|
@@ -22,7 +22,7 @@ The editor can be replaced temporarily by built-in UI such as `/settings` or by
|
|
|
22
22
|
| File reference | Type `@` to fuzzy-search project files |
|
|
23
23
|
| Path completion | Press Tab to complete paths |
|
|
24
24
|
| Multi-line input | Shift+Enter, or Ctrl+Enter on Windows Terminal |
|
|
25
|
-
| Copy response | Ctrl+X copies the
|
|
25
|
+
| Copy response | Ctrl+X copies the selected message in `/tree`; otherwise it copies the active fullscreen text selection when `fullscreenCopyOnSelect` is disabled, falling back to the last assistant message |
|
|
26
26
|
| Images | Paste with Ctrl+V, Alt+V on Windows, or drag into the terminal |
|
|
27
27
|
| Shell command | `!command` runs and sends output to the model |
|
|
28
28
|
| Hidden shell command | `!!command` runs without sending output to the model |
|
package/bin/knightcode.exe
CHANGED
|
Binary file
|
package/bin/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@knightcodeai/cli",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.3",
|
|
4
4
|
"description": "KnightCode — a local, BYOK terminal coding agent powered by OpenRouter.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
"test": "vitest --run"
|
|
39
39
|
},
|
|
40
40
|
"optionalDependencies": {
|
|
41
|
-
"@knightcodeai/cli-linux-x64": "0.5.
|
|
42
|
-
"@knightcodeai/cli-linux-arm64": "0.5.
|
|
43
|
-
"@knightcodeai/cli-darwin-x64": "0.5.
|
|
44
|
-
"@knightcodeai/cli-darwin-arm64": "0.5.
|
|
45
|
-
"@knightcodeai/cli-win32-x64": "0.5.
|
|
41
|
+
"@knightcodeai/cli-linux-x64": "0.5.3",
|
|
42
|
+
"@knightcodeai/cli-linux-arm64": "0.5.3",
|
|
43
|
+
"@knightcodeai/cli-darwin-x64": "0.5.3",
|
|
44
|
+
"@knightcodeai/cli-darwin-arm64": "0.5.3",
|
|
45
|
+
"@knightcodeai/cli-win32-x64": "0.5.3",
|
|
46
46
|
"@mariozechner/clipboard": "0.3.9"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
package/bin/theme/dark.json
CHANGED