chutes-build 1.6.0 → 1.7.1

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,101 @@ 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
+ ## [1.7.1] - 2026-10-17
8
+
9
+ ### Fixed
10
+
11
+ - **Welcome-screen key entry no longer strands the session.** 1.7.0 saved
12
+ and validated the pasted key in the pager but never told the agent
13
+ (a separate process whose env was fixed at spawn), so the first
14
+ session failed with `Session creation failed: "no auth method id
15
+ provided"` until restart. Accepting a key now pushes it into the
16
+ agent over `chutes.ai/setApiKey` and authenticates with it
17
+ (`Effect::AuthenticateWithApiKey`), then converges on the normal
18
+ login-completion path (bundle/billing/changelog/deferred startup);
19
+ a failed handshake rolls back to the setup screen with the error.
20
+ - `chutes.ai/setApiKey` no longer requires the login store: on builds
21
+ without account login the key goes memory-only (runtime override
22
+ visible to sampling resolution), since the client persists to its
23
+ own key store first.
24
+ - `/apikey` text now states welcome-screen entry applies immediately
25
+ and only changing an existing key needs a restart.
26
+
27
+ ## [1.7.0] - 2026-10-17
28
+
29
+ ### Added
30
+
31
+ - **Interactive API-key entry, no dead ends.** The welcome setup screen
32
+ accepts the key inline (paste and submit validates it live against the
33
+ Chutes API, saves it to the key store, and resumes the session);
34
+ `chutes-build login` validates then saves (`logout` removes), and
35
+ `/apikey` explains mid-session rotation (restart to take effect).
36
+ A rejected key reports the HTTP 401 honestly and is never stored.
37
+ - **Tag-driven direct publish.** Pushing a version tag builds once and
38
+ publishes npm plus the GitHub release in the same run — no manual
39
+ dispatch, no second CI pass (see `docs/releasing.md`).
40
+ - **Project spec.** `docs/product-spec.md` pins the product contract that
41
+ regressions kept violating: identity/copy rules, the API-key-only auth
42
+ contract, privacy (no telemetry, `Distribution`-withheld), ecosystem
43
+ capabilities (delegation, fallback, honest errors), the dormant-code
44
+ list, and the spec-to-test map.
45
+
46
+ ### Changed
47
+
48
+ - **Media routes through Chutes-native `generate_media`.** `/imagine` and
49
+ `/imagine-video` gate on `generate_media` (live-catalog resolution with
50
+ equivalent-model fallback); the legacy `image_gen`/`image_edit`/
51
+ `image_to_video`/`reference_to_video` tools default off (re-enable only
52
+ via `CHUTES_BUILD_IMAGE_GEN=1`, `CHUTES_BUILD_IMAGE_EDIT=1`,
53
+ `CHUTES_BUILD_VIDEO_GEN=1`, `[features]`, or remote flags, for
54
+ xAI-compatible hosts). `generate_media` takes the image budget (8) by
55
+ name for all its calls.
56
+ - **Copy purge.** All user-facing strings (TUI, CLI help/errors, docs,
57
+ splash, titles) are free of `grok`/`xai`/`SuperGrok` references; legal,
58
+ upsell, key-management, rate-limit, and managed-config links point at
59
+ live Chutes pages only (`chutes.ai/terms`, `chutes.ai/privacy`,
60
+ `chutes.ai/?_s=usage`, `chutes.ai/app/settings/api-keys`).
61
+ - Agent profile names are canonical `chutes-build-*` end to end (pager
62
+ emission, agent registry, `BuiltinAgentName`); legacy `grok-build-*`
63
+ spellings are still accepted as input, never emitted.
64
+ - External OTLP taxonomy is `chutes_build.*` under scope
65
+ `ai.chutes.build`; internal `SuperGrokUpsell*` events keep no external
66
+ mapping. Sentry has no DSN baked in and error reporting stays withheld
67
+ by `Distribution`, so no crash/error report can leave the machine.
68
+ - Endpoint/config renames with back-compat aliases: `public_api_base_url`
69
+ (+ `CHUTES_BUILD_PUBLIC_API_BASE_URL`), leader `ws_url`/`ws_origin`,
70
+ `TitleItem::AppName` (alias `grok`), `du` schema 3 with `chutes_home`,
71
+ themes `chutesnight`/`chutesday`, user-agent `chutes-build`.
72
+
73
+ ### Fixed
74
+
75
+ - CLI identity pins: `chutes-build` command name, help header, and zsh
76
+ completions generated for the public binary name.
77
+ - Billing PAYG upsell URL unified to the canonical usage page; team
78
+ rate-limit copy points at plan/credits instead of a dead docs URL.
79
+ - Settings docs footer: restored the MEDIUM one-example variant the
80
+ upstream rebase dropped, so the tip keeps its worked example at 120
81
+ columns.
82
+ - `cargo fmt --all` is clean tree-wide (toolchain-style drift fixed,
83
+ unblocking the CI format gate) and clippy `-D warnings` passes for
84
+ `chutes-build`, `chutes-build-core`, and `xai-grok-pager --lib`.
85
+
86
+ ### Tests
87
+
88
+ - New/updated pins: CLI name/header/completions, auth-meta media tools,
89
+ billing URLs, agent-profile emission + enum round-trip, rate-limit
90
+ copy (both auth modes), settings footer, key-store save/validate/remove.
91
+ - Known pre-existing (verified by stash comparison or untouched files,
92
+ unrelated to this release): the pager `--lib` suite has Windows-only
93
+ failures (paths, separators, `PlatformUnsupported` doctor flows) and a
94
+ `STATUS_ACCESS_VIOLATION` crash; `xai-grok-agent --lib` has 4
95
+ Windows path/lock failures; `xai-grok-tools` clippy carries 25
96
+ toolchain-lint findings; `xai-grok-extra-ca`, `xai-hunk-tracker`,
97
+ `xai-grok-test-support`, and `xai-fast-worktree` test targets do not
98
+ compile on Windows; `test_active_sessions_smoke` and `pty_e2e_minimal`
99
+ are stale on every platform. Debug binaries also need a larger stack
100
+ on Windows (`/STACK:8388608`); release builds are unaffected.
101
+
7
102
  ## [1.6.0] - 2026-10-16
8
103
 
9
104
  ### Added
package/README.md CHANGED
@@ -110,9 +110,9 @@ cargo check --workspace # fast validation
110
110
 
111
111
  The binary artifact is named `xai-grok-pager`; official installs ship it as
112
112
  `chutes-build`. The only credential is a Chutes API key, created at
113
- [chutes.ai/app/api](https://chutes.ai/app/api) and read from `CHUTES_API_KEY`.
114
- There is no browser login: `chutes-build login` only prints the API-key setup
115
- guidance; see the
113
+ [chutes.ai/app/settings/api-keys](https://chutes.ai/app/settings/api-keys)
114
+ and provided via `chutes-build login`, the welcome screen, or
115
+ `CHUTES_API_KEY`. There is no browser login; see the
116
116
  [authentication guide](crates/codegen/xai-grok-pager/docs/user-guide/02-authentication.md).
117
117
 
118
118
  ## Documentation
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chutes-build",
3
- "version": "1.6.0",
3
+ "version": "1.7.1",
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": "1.6.0",
41
- "chutes-build-darwin-x64": "1.6.0",
42
- "chutes-build-linux-arm64-gnu": "1.6.0",
43
- "chutes-build-linux-x64-gnu": "1.6.0",
44
- "chutes-build-win32-arm64": "1.6.0",
45
- "chutes-build-win32-x64": "1.6.0"
40
+ "chutes-build-darwin-arm64": "1.7.1",
41
+ "chutes-build-darwin-x64": "1.7.1",
42
+ "chutes-build-linux-arm64-gnu": "1.7.1",
43
+ "chutes-build-linux-x64-gnu": "1.7.1",
44
+ "chutes-build-win32-arm64": "1.7.1",
45
+ "chutes-build-win32-x64": "1.7.1"
46
46
  },
47
47
  "keywords": [
48
48
  "ai",