chutes-build 0.4.2 → 0.4.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 +110 -0
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,116 @@ project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.4.3] - 2026-08-03
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- The `browser` tool gained the actions its workflow was missing: `wait`
|
|
14
|
+
(until a selector is visible or page text appears), `key` (`Enter`, `Tab`,
|
|
15
|
+
`Escape`, arrows, `Home`/`End`, `PageUp`/`PageDown`), `scroll`, `select`,
|
|
16
|
+
`back`, `reload`, `text` (full visible page text), and `console` / `network`,
|
|
17
|
+
which report the session's browser logs, uncaught errors, and requests.
|
|
18
|
+
- Documented desktop control as an opt-in MCP integration, including what
|
|
19
|
+
enabling it gives away, since no built-in tool captures the screen or
|
|
20
|
+
synthesizes input.
|
|
21
|
+
- `--output-format streaming-messages-json` emits headless output in the
|
|
22
|
+
Anthropic Messages API wire shape: a `system`/`init` line, `assistant` lines
|
|
23
|
+
whose `content[]` carries thinking, text and `tool_use` blocks, `user` lines
|
|
24
|
+
carrying each `tool_result`, and a final `result`. Ported from upstream.
|
|
25
|
+
- `streaming-json` now reports tool activity as `tool_call` and
|
|
26
|
+
`tool_call_update` lines. The headless runner ignored ACP tool-call updates
|
|
27
|
+
entirely, so a consumer could see the agent's prose but never what it did.
|
|
28
|
+
- `CHUTES_EXTRA_CA_BUNDLE` adds extra TLS roots from a PEM bundle, for networks
|
|
29
|
+
where a proxy terminates TLS with its own root. Opt-in and additive: unset by
|
|
30
|
+
default, never replaces the built-in roots, and never disables verification.
|
|
31
|
+
A bundle that is oversized, unreadable, or unparseable is reported and
|
|
32
|
+
ignored instead of breaking every request. Ported from upstream, reworked to
|
|
33
|
+
use reqwest's own PEM bundle parsing rather than adding a crate to the
|
|
34
|
+
generated workspace root.
|
|
35
|
+
|
|
36
|
+
### Fixed
|
|
37
|
+
|
|
38
|
+
- `browser click` now focuses the element before clicking, matching a real
|
|
39
|
+
pointer click. Without it a click on a field left focus on the body, so a
|
|
40
|
+
following `key` went nowhere.
|
|
41
|
+
- Cancelling now stops an in-flight `/compact`. Compaction runs as a command
|
|
42
|
+
rather than a turn, so the cancel path returned early and left a long
|
|
43
|
+
compaction running with no way to stop it. Other commands are unaffected.
|
|
44
|
+
Ported from upstream.
|
|
45
|
+
- Saving MCP settings no longer discards the rest of `config.toml`. Every MCP
|
|
46
|
+
writer parsed the file with a fallback to an empty table, so one syntax error
|
|
47
|
+
turned the next save into a full rewrite containing only what that call was
|
|
48
|
+
persisting. Unparseable configs are now refused, the user-config write lock
|
|
49
|
+
covers the whole read-modify-write so concurrent saves cannot erase each
|
|
50
|
+
other, and writes go through the shared atomic helper instead of a fixed
|
|
51
|
+
temporary filename two writers could collide on. Ported from upstream.
|
|
52
|
+
- The encrypted prompt templates no longer depend on how the repository was
|
|
53
|
+
checked out. Generator and staleness test compared raw `include_str!` bytes,
|
|
54
|
+
so arrays built on a CRLF working tree matched only on Windows; both sides
|
|
55
|
+
now fold line endings first, which also makes the decrypted prompt
|
|
56
|
+
byte-identical on every platform.
|
|
57
|
+
- Two pager tests no longer depend on the machine they run on: one budgeted its
|
|
58
|
+
wait in poll counts rather than elapsed time, and two built past instants by
|
|
59
|
+
subtracting more than the machine's uptime, which panics on a recently booted
|
|
60
|
+
box or a fresh CI runner.
|
|
61
|
+
- `/advisor` now spawns. Its curated toolset already declares `memory_search`,
|
|
62
|
+
`memory_get` and `web_fetch`, and session-level injection appended a second
|
|
63
|
+
copy of each; both entries resolved to one client-facing name, so toolset
|
|
64
|
+
validation rejected the agent with `duplicate client_name` on every attempt.
|
|
65
|
+
Injection now skips tools the agent already declares.
|
|
66
|
+
- Bundled skills cited tool names the model is never shown (`task` is exposed
|
|
67
|
+
as `spawn_subagent`, `run_in_background` as `background`), sending it after
|
|
68
|
+
tools absent from its schema. Names corrected in `/best-of-n` and
|
|
69
|
+
`/check-work`, with a test tying skill text to the advertised names.
|
|
70
|
+
- Repaired the nine stale `xai-grok-agent` tests: two asserted behavior the
|
|
71
|
+
code no longer has (retired `grok_*` toolset presets, `web_search` before it
|
|
72
|
+
became a default-on native provider), three compared prompt budgets against
|
|
73
|
+
raw `include_str!` output that a CRLF checkout inflates, two compared paths
|
|
74
|
+
with hardcoded forward slashes, and two staged a fake home through `$HOME`,
|
|
75
|
+
which `dirs::home_dir` honours only on Unix. The two home-dependent rules are
|
|
76
|
+
now split into injectable helpers covered on every platform, and their
|
|
77
|
+
environment-driven integration tests are marked Unix-only.
|
|
78
|
+
- The CI Rust job now runs the `xai-grok-agent` library tests and the bundled
|
|
79
|
+
skill checks, which were previously never executed by any workflow.
|
|
80
|
+
|
|
81
|
+
### Changed
|
|
82
|
+
|
|
83
|
+
- `generate_media` is self-contained: it resolves a plain model name against
|
|
84
|
+
the catalog and places the new top-level `prompt` into whatever text field
|
|
85
|
+
the selected cord declares, so `{model, kind, prompt}` is a complete call.
|
|
86
|
+
`params` is now optional and only needed for non-default settings or input
|
|
87
|
+
assets, and schema-mismatch errors list the accepted fields instead of
|
|
88
|
+
directing the caller back to `describe_media_model`. The `/imagine`,
|
|
89
|
+
`/imagine-video` and `imagine` skill instructions no longer mandate the
|
|
90
|
+
three-call list → describe → generate sequence.
|
|
91
|
+
- Updated the pinned `actions/checkout` workflow dependency to `v7.0.1`,
|
|
92
|
+
including its Git argument escaping and pull-request safety fixes.
|
|
93
|
+
|
|
94
|
+
### Security
|
|
95
|
+
|
|
96
|
+
- Marked the three synthetic secret-detection fixtures explicitly so both
|
|
97
|
+
worktree and full-history Gitleaks scans pass without weakening real-secret
|
|
98
|
+
detection.
|
|
99
|
+
|
|
100
|
+
### Documentation
|
|
101
|
+
|
|
102
|
+
- Recorded the CodeQL static-analysis triage in the security review: current
|
|
103
|
+
alert counts, the disposition of each query, and the reachability argument
|
|
104
|
+
showing the retained upstream backend client cannot run while
|
|
105
|
+
`REMOTE_SESSION_REGISTRY` is `false`.
|
|
106
|
+
- Documented the pinned Rust/Node toolchain, the single supported package
|
|
107
|
+
manager, the artifacts the project actually produces, the protected assets
|
|
108
|
+
and generated files, and the repository-visibility rules in `AGENTS.md`.
|
|
109
|
+
- Described the advisor's actual read-only toolset and the `/advisor` controls
|
|
110
|
+
in the subagents guide, and recorded the self-contained `generate_media`
|
|
111
|
+
workflow in the Chutes ecosystem and MCP guides.
|
|
112
|
+
- Listed the browser tool's full action set — what each reading action reports
|
|
113
|
+
and how elements are addressed — in the web and browser guide, and documented
|
|
114
|
+
`CHUTES_EXTRA_CA_BUNDLE` alongside the endpoint settings.
|
|
115
|
+
- Documented both headless streaming formats and what each line carries in the
|
|
116
|
+
CLI reference, and noted in the slash-command list that `/compact` can now be
|
|
117
|
+
stopped while it runs.
|
|
118
|
+
|
|
9
119
|
## [0.4.2] - 2026-08-01
|
|
10
120
|
|
|
11
121
|
### Added
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chutes-build",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "Privacy-first, open-source coding agent for the Chutes ecosystem",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Michael Gasperini (Mikesoft)",
|
|
@@ -37,12 +37,12 @@
|
|
|
37
37
|
"check": "npm test && npm run verify:release && npm pack --dry-run"
|
|
38
38
|
},
|
|
39
39
|
"optionalDependencies": {
|
|
40
|
-
"chutes-build-darwin-arm64": "0.4.
|
|
41
|
-
"chutes-build-darwin-x64": "0.4.
|
|
42
|
-
"chutes-build-linux-arm64-gnu": "0.4.
|
|
43
|
-
"chutes-build-linux-x64-gnu": "0.4.
|
|
44
|
-
"chutes-build-win32-arm64": "0.4.
|
|
45
|
-
"chutes-build-win32-x64": "0.4.
|
|
40
|
+
"chutes-build-darwin-arm64": "0.4.3",
|
|
41
|
+
"chutes-build-darwin-x64": "0.4.3",
|
|
42
|
+
"chutes-build-linux-arm64-gnu": "0.4.3",
|
|
43
|
+
"chutes-build-linux-x64-gnu": "0.4.3",
|
|
44
|
+
"chutes-build-win32-arm64": "0.4.3",
|
|
45
|
+
"chutes-build-win32-x64": "0.4.3"
|
|
46
46
|
},
|
|
47
47
|
"keywords": [
|
|
48
48
|
"ai",
|