chutes-build 2.0.1 → 2.0.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 CHANGED
@@ -4,6 +4,91 @@ All notable changes to Chutes Build will be documented in this file. The format
4
4
  is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this
5
5
  project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [2.0.3] - 2026-10-24
8
+
9
+ ### Added
10
+
11
+ - **The tool catalog is 11.5% lighter.** `browser`, `extract_document`,
12
+ `generate_media`, and `scheduler_create` now export a compact model-facing
13
+ schema: nested `description` and `examples` fields are dropped while every
14
+ parameter name, type, enum, required entry, and union member survives.
15
+ Dispatch keeps validating against the canonical schema, so behavior is
16
+ unchanged. The default catalog drops from 11,573 to 10,239 estimated tokens
17
+ across 29 tools.
18
+ - **Latency benchmark.** `scripts/bench_chutes.py` measures TTFT, inter-token
19
+ latency, and total stream time against the same Chutes streaming contract
20
+ the CLI uses, for a model id or a routing string such as `default:latency`.
21
+ `docs/performance.md` explains how to compare routing strategies, read the
22
+ result, and account for prompt caching.
23
+
24
+ ### Added
25
+
26
+ - **Chutes platform knowledge is available on demand.** The fixed prompt now
27
+ carries a compact map of the two Chutes hosts, API-key auth, the live model
28
+ catalog as the source of truth, and saved/inline `:latency`/`:throughput`
29
+ routing, and points at a new bundled `chutes-platform` skill for the full
30
+ platform reference: chat/vision/tool features, media chutes, OCR/PDF,
31
+ embeddings, quotas and billing, TEE attestation, error handling, and the
32
+ CLI mapping. The skill ships in the binary, is listed by the `skill` tool,
33
+ and can be shadowed by a user or repository skill.
34
+ - **Independent tool calls batch in one response.** The prompt now tells the
35
+ model to issue non-dependent calls together, which the parallel dispatch
36
+ path already runs concurrently, cutting a round trip on multi-tool work.
37
+
38
+ ### Removed
39
+
40
+ - **The dormant legacy Imagine media tools are gone.** `image_gen`,
41
+ `image_edit`, `image_to_video`, and `reference_to_video` targeted the xAI
42
+ Imagine API, which Chutes does not serve; `ImageGenTool`, `ImageEditTool`,
43
+ `ImageToVideoTool`, `ReferenceToVideoTool`, `ImageGenClient`,
44
+ `VideoGenClient`, their config plumbing, and the upstream Imagine model ids
45
+ and legacy video storage prefix are deleted. `/imagine` and
46
+ `/imagine-video` are unchanged and use the Chutes-native `generate_media`
47
+ tool. The related configuration keys (`features.image_gen`,
48
+ `features.video_gen`, the model overrides, `zdr_video_output_s3`, and the
49
+ `imagine_tools_disabled` remote setting) are still parsed so existing
50
+ configuration files keep loading, but they are inert.
51
+
52
+ ## [2.0.2] - 2026-10-23
53
+
54
+ ### Fixed
55
+
56
+ - **The palette's feedback entry opens GitHub.** "Send Feedback" still launched
57
+ the dormant in-app feedback modal, which made the spec's "unreachable" claim
58
+ false and advertised a flow the build cannot complete. The entry now runs
59
+ `/feedback`, so it opens the public issue form like the command does.
60
+ - **`/feedback <text>` keeps the report.** GitHub issue forms ignore a URL
61
+ body prefill, so the command copies the message to the clipboard before
62
+ opening the issue-form chooser.
63
+ - **Web search and `deep-research` work again.** The Chutes router serves Chat
64
+ Completions, not the OpenAI Responses API, so the old client hit
65
+ `POST /v1/responses` and a 404 HTML page. With a Chutes base URL the
66
+ `web_search` tool now queries the direct public search provider
67
+ (DuckDuckGo's HTML endpoint), sends no Chutes credential to it, returns
68
+ titles/URLs/snippets with the configured domain filters applied, and leaves
69
+ model-hosted search intact for custom Responses-capable endpoints.
70
+ - **A build without a feedback backend no longer advertises `send_feedback`.**
71
+ The tool is gated on the telemetry capability the Chutes distribution withholds,
72
+ so its schema no longer costs ~1.2k prompt tokens on every turn while every call
73
+ would be refused; the default catalog is 29 tools / 11,573 estimated tokens
74
+ (was 30 / 12,784).
75
+ - **Media generation follows the live catalog.** `/imagine` and
76
+ `/imagine-video` no longer pin a model name: a bare command lists the
77
+ currently available image/video models, `<description>` lets the tool pick
78
+ an available model, and `<model> <description>` (or `--model`) selects one
79
+ explicitly. `generate_media` resolves catalog entries by Chutes chute id
80
+ (the account `describe` endpoint 404s on slugs), classifies video before
81
+ image so image-to-video chutes never serve image requests, and falls back
82
+ only to available generation models of the requested kind.
83
+ - **Clearing the API key refreshes the model catalog.** The catalog credential
84
+ refresh now keys off any credential change, so removing a key cannot leave
85
+ the catalogue on the stale `ApiKey` identity.
86
+
87
+ ### Removed
88
+
89
+ - The obsolete PTY tests that drove the in-app feedback modal and its drafts;
90
+ the plan-overlay command test now asserts the opened GitHub URL instead.
91
+
7
92
  ## [2.0.1] - 2026-10-23
8
93
 
9
94
  ### Fixed
package/PRIVACY.md CHANGED
@@ -68,7 +68,7 @@ explicit hosted feature:
68
68
  | `api.chutes.ai` | Chutes account and media APIs | account requests, media parameters and user-selected media assets; Chutes API credential |
69
69
  | `chutes.ai/docs`, `chutes.ai/news` | mandatory primary-source verification for Chutes topics | requested official page URLs; no Chutes API credential |
70
70
  | `context7.com` | current library documentation | library names and documentation queries; known secrets are rejected and an optional Context7 key is sent only to the official HTTPS service |
71
- | DuckDuckGo or Brave Search | web search | search query; Brave receives only its dedicated key |
71
+ | `html.duckduckgo.com` | web search | search query; no Chutes API credential |
72
72
  | User-selected web pages | web fetch/browser automation | normal HTTP/browser traffic required by the requested action |
73
73
  | User-configured MCP servers/plugins | external tools | data required by the selected tool and its own configuration |
74
74
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chutes-build",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "description": "Privacy-first, open-source coding agent for the Chutes ecosystem",
5
5
  "license": "Apache-2.0",
6
6
  "author": { "name": "Michael Gasperini", "email": "michael@mikesoft.it", "url": "https://mikesoft.it" },
@@ -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": "2.0.1",
41
- "chutes-build-darwin-x64": "2.0.1",
42
- "chutes-build-linux-arm64-gnu": "2.0.1",
43
- "chutes-build-linux-x64-gnu": "2.0.1",
44
- "chutes-build-win32-arm64": "2.0.1",
45
- "chutes-build-win32-x64": "2.0.1"
40
+ "chutes-build-darwin-arm64": "2.0.3",
41
+ "chutes-build-darwin-x64": "2.0.3",
42
+ "chutes-build-linux-arm64-gnu": "2.0.3",
43
+ "chutes-build-linux-x64-gnu": "2.0.3",
44
+ "chutes-build-win32-arm64": "2.0.3",
45
+ "chutes-build-win32-x64": "2.0.3"
46
46
  },
47
47
  "keywords": [
48
48
  "ai",