@knightcodeai/cli-linux-arm64 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 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
@@ -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
@@ -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 last assistant message, or the selected message in `/tree` |
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
 
@@ -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` |
@@ -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
 
@@ -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 last assistant message; in `/tree`, it copies the selected message |
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 CHANGED
Binary file
package/bin/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knightcodeai/cli",
3
- "version": "0.5.1",
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.1",
42
- "@knightcodeai/cli-linux-arm64": "0.5.1",
43
- "@knightcodeai/cli-darwin-x64": "0.5.1",
44
- "@knightcodeai/cli-darwin-arm64": "0.5.1",
45
- "@knightcodeai/cli-win32-x64": "0.5.1",
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": {
@@ -4,8 +4,8 @@
4
4
  "vars": {
5
5
  "cyan": "#00d7ff",
6
6
  "blue": "#5f87ff",
7
- "green": "#b5bd68",
8
- "red": "#cc6666",
7
+ "green": "#57ab5a",
8
+ "red": "#e5534b",
9
9
  "yellow": "#ffff00",
10
10
  "text": "#d4d4d4",
11
11
  "gray": "#808080",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knightcodeai/cli-linux-arm64",
3
- "version": "0.5.1",
3
+ "version": "0.5.3",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",