@knightcodeai/cli-linux-arm64 0.6.2 → 0.7.0
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 +33 -0
- package/bin/docs/docs.json +4 -0
- package/bin/docs/extensions.md +4 -0
- package/bin/docs/remote.md +87 -0
- package/bin/knightcode +0 -0
- package/bin/package.json +10 -7
- package/package.json +1 -1
package/bin/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# @knightcodeai/cli
|
|
2
2
|
|
|
3
|
+
## 0.7.0
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- Added a `knightcode-engine` binary: a headless local server that owns inference for the desktop IDE, with OpenAI-shaped chat and fill-in-the-middle endpoints. It shares the CLI's `auth.json`, so signing in to either product signs in to both.
|
|
8
|
+
|
|
9
|
+
- Added reopening saved sessions to `knightcode-engine`, so the desktop IDE restores its threads after a restart instead of failing with "Loading or resuming sessions is not supported by this agent".
|
|
10
|
+
|
|
11
|
+
Its ACP agent now:
|
|
12
|
+
|
|
13
|
+
- loads a session, replaying its history;
|
|
14
|
+
- resumes, lists, deletes and forks saved sessions;
|
|
15
|
+
- lists extension commands, prompt templates and skills under `/`;
|
|
16
|
+
- after an engine restart, reopens a session it no longer holds and retries the prompt.
|
|
17
|
+
|
|
18
|
+
- Added native deferred tool loading for Fireworks models on the Messages API. Name the loader tool `ToolSearch` or `tool_search` so Fireworks keeps the deferred schemas out of the cached tool prefix.
|
|
19
|
+
|
|
20
|
+
- Added a /remote command that publishes the running session to the web for the signed-in account, with a phone-first app at remote.knightcode.dev that lists live and past sessions, opens every tool call, and runs slash commands in the terminal.
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- Fixed the full-output file of a truncated `!` bash command sometimes being empty when read straight away: the command now finishes writing that file before its result, and the file's path, are returned.
|
|
25
|
+
|
|
26
|
+
- Fixed the desktop IDE's open threads offering stale model choices after signing in or out: `knightcode-engine` now refreshes them when an account or the model catalog changes.
|
|
27
|
+
|
|
28
|
+
- Fixed API keys in a project's `.env` showing up in the desktop IDE as signed-in providers that signing out could not remove: `knightcode-engine` no longer reads a `.env` or `bunfig.toml` from the directory the IDE was launched in.
|
|
29
|
+
|
|
30
|
+
- Fixed `/` listing no commands in a new, loaded, resumed or forked thread in the desktop IDE: `knightcode-engine` sent the list before the IDE had registered the session, and the IDE dropped it.
|
|
31
|
+
|
|
32
|
+
- Fixed errors from OpenAI-compatible providers on the Responses API always being labelled as OpenAI errors: the message now names the provider that actually failed.
|
|
33
|
+
|
|
34
|
+
- Fixed Tab predictions in the desktop IDE repeating the code after the cursor: `knightcode-engine`'s `/v1/completions` now shows the model your code with the cursor marked in place, and strips code fences from the answer.
|
|
35
|
+
|
|
3
36
|
## 0.6.2
|
|
4
37
|
|
|
5
38
|
### Added
|
package/bin/docs/docs.json
CHANGED
package/bin/docs/extensions.md
CHANGED
|
@@ -2389,6 +2389,10 @@ You do not need to return provider-specific tool references or mark the loader a
|
|
|
2389
2389
|
- **Anthropic**
|
|
2390
2390
|
- **Models:** Sonnet, Opus, Fable version 4.5 or newer (without Haiku)
|
|
2391
2391
|
- **Native representation:** Deferred definitions use `defer_loading`; the load point uses `tool_reference` content.
|
|
2392
|
+
- **Fireworks Messages API**
|
|
2393
|
+
- **Native representation:** Deferred definitions use `defer_loading`; the load point uses `tool_reference` content.
|
|
2394
|
+
- **Loader names:** Use `ToolSearch` or `tool_search` for prefix deferral. Other loader names still work, but Fireworks includes the loaded schemas in the initial tool prefix, losing the cache benefit.
|
|
2395
|
+
- This does not change API routing: Fireworks GLM models and Kimi K3 use Chat Completions, not Messages.
|
|
2392
2396
|
- **OpenAI**
|
|
2393
2397
|
- **Models:** `gpt-5.4` and newer family
|
|
2394
2398
|
- **Native representation:** KnightCode adds completed client `tool_search_call` and `tool_search_output` items at the load point.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Remote sessions
|
|
2
|
+
|
|
3
|
+
`/remote` publishes the session running in your terminal to the web, so you can
|
|
4
|
+
watch it and reply from another device. The terminal keeps working normally.
|
|
5
|
+
|
|
6
|
+
## Getting started
|
|
7
|
+
|
|
8
|
+
Run `/remote`. The first time, a sign-in screen opens your browser on the
|
|
9
|
+
approval page and shows an eight-character code: sign in with GitHub, check the
|
|
10
|
+
page shows the same code, and approve. Escape cancels. The credential is stored
|
|
11
|
+
in `~/.knightcode/remote-auth.json` and reused afterwards, and the screen also
|
|
12
|
+
prints the URL for a headless box where nothing launched. Once the browser
|
|
13
|
+
approves, the screen confirms it and continues on enter, or by itself a few
|
|
14
|
+
seconds later.
|
|
15
|
+
|
|
16
|
+
Once signed in, `/remote` prints a link. You do not have to copy it: open
|
|
17
|
+
<https://remote.knightcode.dev> on your phone and the session appears in the
|
|
18
|
+
list.
|
|
19
|
+
|
|
20
|
+
## The web app
|
|
21
|
+
|
|
22
|
+
The list shows every session you have published, newest first, with its state:
|
|
23
|
+
**Working** while a turn is running in the terminal, **Connected** while the
|
|
24
|
+
terminal is attached and idle, **Disconnected** once it has gone. Filter it to
|
|
25
|
+
active or past sessions from the menu on the right.
|
|
26
|
+
|
|
27
|
+
Open a session to read the transcript. Runs of tool calls are folded into one
|
|
28
|
+
line such as _Ran 2 commands, created a file_; tap it to list the calls, and
|
|
29
|
+
tap a call to see what it did — the command and its output, the file and its
|
|
30
|
+
content, the diff an edit made.
|
|
31
|
+
|
|
32
|
+
The composer sends replies to the terminal. Type `/` to list the slash commands
|
|
33
|
+
the terminal can run from a message: extension commands, skills and prompt
|
|
34
|
+
templates. Built-in commands that open a terminal UI, such as `/model`, are not
|
|
35
|
+
offered.
|
|
36
|
+
|
|
37
|
+
The menu in the session's top-right corner copies the link or deletes the
|
|
38
|
+
session from the relay.
|
|
39
|
+
|
|
40
|
+
## Commands
|
|
41
|
+
|
|
42
|
+
| Command | Effect |
|
|
43
|
+
| --- | --- |
|
|
44
|
+
| `/remote` | Toggle publishing: start and print the link, or pause. Pausing keeps the room readable, and the next `/remote` resumes the same link |
|
|
45
|
+
| `/remote status` | Show the link and how many viewers are connected |
|
|
46
|
+
| `/remote stop` | Stop publishing and delete the room |
|
|
47
|
+
| `/remote logout` | Revoke the stored account credential and delete it locally |
|
|
48
|
+
|
|
49
|
+
`/remote` runs in the interactive terminal only. In `--print`, RPC and JSON
|
|
50
|
+
modes it reports that and does nothing.
|
|
51
|
+
|
|
52
|
+
## What the remote can and cannot do
|
|
53
|
+
|
|
54
|
+
A viewer can read the transcript, send prompts, run the slash commands listed
|
|
55
|
+
above, and stop the current turn. Prompts arrive as ordinary user messages and
|
|
56
|
+
appear in your terminal; `/remote` itself is never offered to a viewer.
|
|
57
|
+
|
|
58
|
+
A viewer cannot end your session, quit KnightCode, switch sessions, or change
|
|
59
|
+
model. Closing the browser tab, losing signal, or losing the relay does nothing
|
|
60
|
+
to the terminal. Your session ends only when you end it.
|
|
61
|
+
|
|
62
|
+
If the relay becomes unreachable the command does not fail: it reconnects with
|
|
63
|
+
backoff indefinitely, the footer shows `remote retrying`, and the agent carries
|
|
64
|
+
on working.
|
|
65
|
+
|
|
66
|
+
## Privacy and retention
|
|
67
|
+
|
|
68
|
+
Room contents pass through and are briefly stored by the relay so a device that
|
|
69
|
+
reconnects can catch up. That includes tool output, which can contain secrets if
|
|
70
|
+
a command prints them. Nothing is redacted: anything visible in your terminal is
|
|
71
|
+
visible in the room while it lives. Only the account that created a room can
|
|
72
|
+
read it.
|
|
73
|
+
|
|
74
|
+
A room stays readable as a past session for 30 days after the terminal
|
|
75
|
+
disconnects, and is deleted then, on `/remote stop`, or when you delete it from
|
|
76
|
+
the web app. Stored history is capped at 8 MB per room; older content is
|
|
77
|
+
dropped as the session grows. Images are not mirrored in either direction — an
|
|
78
|
+
image in the transcript appears as a placeholder recording its type and size.
|
|
79
|
+
|
|
80
|
+
## Configuration
|
|
81
|
+
|
|
82
|
+
| Environment variable | Default | Effect |
|
|
83
|
+
| --- | --- | --- |
|
|
84
|
+
| `KNIGHTCODE_REMOTE_RELAY` | `https://remote.knightcode.dev` | Relay origin to publish to |
|
|
85
|
+
| `KNIGHTCODE_REMOTE_CONFIG_DIR` | `~/.knightcode` | Directory holding `remote-auth.json` |
|
|
86
|
+
|
|
87
|
+
`/remote` refuses to start when `KNIGHTCODE_OFFLINE` is set.
|
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.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "KnightCode — a local, BYOK terminal coding agent powered by OpenRouter.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -37,17 +37,19 @@
|
|
|
37
37
|
"test": "vitest --run"
|
|
38
38
|
},
|
|
39
39
|
"optionalDependencies": {
|
|
40
|
-
"@knightcodeai/cli-linux-x64": "0.
|
|
41
|
-
"@knightcodeai/cli-linux-arm64": "0.
|
|
42
|
-
"@knightcodeai/cli-darwin-x64": "0.
|
|
43
|
-
"@knightcodeai/cli-darwin-arm64": "0.
|
|
44
|
-
"@knightcodeai/cli-win32-x64": "0.
|
|
40
|
+
"@knightcodeai/cli-linux-x64": "0.7.0",
|
|
41
|
+
"@knightcodeai/cli-linux-arm64": "0.7.0",
|
|
42
|
+
"@knightcodeai/cli-darwin-x64": "0.7.0",
|
|
43
|
+
"@knightcodeai/cli-darwin-arm64": "0.7.0",
|
|
44
|
+
"@knightcodeai/cli-win32-x64": "0.7.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
+
"@agentclientprotocol/sdk": "1.4.0",
|
|
47
48
|
"@knightcode/agent": "workspace:*",
|
|
48
49
|
"@knightcode/ai": "workspace:*",
|
|
49
50
|
"@knightcode/client": "workspace:*",
|
|
50
51
|
"@knightcode/protocol": "workspace:*",
|
|
52
|
+
"@knightcode/remote": "workspace:*",
|
|
51
53
|
"@knightcode/server": "workspace:*",
|
|
52
54
|
"@knightcode/session-backend-sqlite": "workspace:*",
|
|
53
55
|
"@knightcode/tui": "workspace:*",
|
|
@@ -70,6 +72,7 @@
|
|
|
70
72
|
"semver": "7.8.5",
|
|
71
73
|
"typebox": "1.3.27",
|
|
72
74
|
"undici": "8.10.2",
|
|
73
|
-
"yaml": "2.9.0"
|
|
75
|
+
"yaml": "2.9.0",
|
|
76
|
+
"zod": "4.4.3"
|
|
74
77
|
}
|
|
75
78
|
}
|