triss-coworker 0.24.0 → 0.24.2

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
@@ -7,6 +7,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.24.2] — 2026-07-15
11
+
12
+ ### Changed
13
+
14
+ - Bumped the pinned `@phpcraftdream/crush` version for the `triss coder` crush
15
+ engine from `0.1.3` to `0.1.6` (`CRUSH_PIN_DEFAULT`). Override with
16
+ `TRISS_CODER_CRUSH_VERSION` as before. Re-verified live against `0.1.6`
17
+ (clean `crush version v0.1.6`, single JSON envelope, `ZHIPU_API_KEY`→`ZAI_API_KEY`
18
+ env bridge, `--restrict-run` CLI-flag allowlist enforcement, and disposable
19
+ worktree isolation all unchanged). Updated the default across `.env.example`,
20
+ `docs/configuration.md`, `docs/glm-clients.md`, and the CLAUDE/Codex templates.
21
+ `detect()` still tolerates older binaries non-fatally (a below-pin version
22
+ prints a yellow warning but runs).
23
+
24
+ ## [0.24.1] — 2026-07-10
25
+
26
+ ### Changed
27
+
28
+ - Bumped the pinned `opencode-ai` version for `triss coder` from `1.17.13` to
29
+ `1.17.18` (`OPENCODE_PIN`). Override with `TRISS_CODER_OPENCODE_VERSION` as
30
+ before. Updated the default across `.env.example`, `docs/configuration.md`,
31
+ `docs/glm-clients.md`, and the CLAUDE/Codex templates.
32
+
10
33
  ## [0.24.0] — 2026-07-10
11
34
 
12
35
  ### Added
@@ -644,7 +667,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
644
667
 
645
668
  - Initial release of `triss-coworker`.
646
669
 
647
- [Unreleased]: https://github.com/ayleen/triss-coworker/compare/v0.22.2...HEAD
670
+ [Unreleased]: https://github.com/ayleen/triss-coworker/compare/v0.24.1...HEAD
671
+ [0.24.1]: https://github.com/ayleen/triss-coworker/compare/v0.24.0...v0.24.1
672
+ [0.24.0]: https://github.com/ayleen/triss-coworker/compare/v0.23.0...v0.24.0
673
+ [0.23.0]: https://github.com/ayleen/triss-coworker/compare/v0.22.4...v0.23.0
674
+ [0.22.4]: https://github.com/ayleen/triss-coworker/compare/v0.22.3...v0.22.4
675
+ [0.22.3]: https://github.com/ayleen/triss-coworker/compare/v0.22.2...v0.22.3
648
676
  [0.22.2]: https://github.com/ayleen/triss-coworker/compare/v0.22.1...v0.22.2
649
677
  [0.22.1]: https://github.com/ayleen/triss-coworker/compare/v0.22.0...v0.22.1
650
678
  [0.22.0]: https://github.com/ayleen/triss-coworker/compare/v0.21.0...v0.22.0
@@ -249,9 +249,9 @@ self-hosted endpoints).
249
249
  | `OPENCODE_API_KEY` | no¹ | — | OpenCode Zen key (opencode engine only) — unlocks `opencode/*` models like `opencode/hy3-free` — <https://opencode.ai/docs/zen/> |
250
250
  | `TRISS_CODER_MODEL` | no | `zai-coding-plan/glm-5.2` | Resolved model, passed to opencode via `--model` (and written to `opencode.json` by `init`). Use `opencode/hy3-free` for OpenCode Zen |
251
251
  | `TRISS_CODER_SMALL_MODEL` | no | `zai-coding-plan/glm-5-turbo` | Small/fast model written to `opencode.json`|
252
- | `TRISS_CODER_OPENCODE_VERSION` | no | `1.17.13` | Pin override for the `opencode-ai` npm install |
252
+ | `TRISS_CODER_OPENCODE_VERSION` | no | `1.17.18` | Pin override for the `opencode-ai` npm install |
253
253
  | `TRISS_CODER_ENGINE` | no | `opencode` | Coding engine: `opencode` (default) or `crush` |
254
- | `TRISS_CODER_CRUSH_VERSION` | no | `0.1.3` | Pin override for the `@phpcraftdream/crush` npm install (crush engine) |
254
+ | `TRISS_CODER_CRUSH_VERSION` | no | `0.1.6` | Pin override for the `@phpcraftdream/crush` npm install (crush engine) |
255
255
  | `TRISS_CODER_CRUSH_RESTRICT` | no | unset (`0`) | crush only — `1` opts INTO the CLI allowlist (`--restrict-run` + `--allow-bash`/`--allow-tool`, the only enforcement path that works today — crush 0.1.3 ignores the `permissions.run` config). Unset leaves crush unrestricted; crush then defaults to isolate-ON. CLI `--restrict`/`--no-restrict` overrides; crush.json `permissions.run.restrict` is the next fallback (forward-compat — currently inert) |
256
256
 
257
257
  `triss coder init` auto-detects which Z.AI endpoint `ZHIPU_API_KEY`
@@ -48,7 +48,7 @@ needs — `ZHIPU_API_KEY` for GLM, `OPENCODE_API_KEY` for OpenCode Zen (§3).
48
48
  | | **opencode** (engine #1, default) | **crush** (engine #2) |
49
49
  |---|---|---|
50
50
  | Select via | default, or `--engine opencode` | `--engine crush` / `TRISS_CODER_ENGINE=crush` |
51
- | npm package | `opencode-ai` (pinned `1.17.13`) | `@phpcraftdream/crush` (pinned `0.1.3`) |
51
+ | npm package | `opencode-ai` (pinned `1.17.18`) | `@phpcraftdream/crush` (pinned `0.1.6`) |
52
52
  | Version pin env | `TRISS_CODER_OPENCODE_VERSION` | `TRISS_CODER_CRUSH_VERSION` |
53
53
  | Key it reads | `ZHIPU_API_KEY` (native); `OPENCODE_API_KEY` for `opencode/…` Zen models | `ZAI_API_KEY` (Triss bridges from `ZHIPU_API_KEY`; crush ≥0.1.1 also reads `ZHIPU_API_KEY` natively) |
54
54
  | Providers | Z.AI GLM (`zai-coding-plan/…`, `zai/…`) **and** OpenCode Zen (`opencode/…`, e.g. `opencode/hy3-free`) | Z.AI GLM only |
@@ -279,8 +279,8 @@ Read `files_changed` + `diff_stat` + `worktree` to know what to review.
279
279
  | `TRISS_CODER_ENGINE` | no | Default engine: `opencode` (default) or `crush`. |
280
280
  | `TRISS_CODER_MODEL` | no | Override main model, e.g. `zai-coding-plan/glm-5.2` (verbatim, prefix included). |
281
281
  | `TRISS_CODER_SMALL_MODEL` | no | Override small/fast model, e.g. `zai-coding-plan/glm-5-turbo`. |
282
- | `TRISS_CODER_OPENCODE_VERSION` | no | Pin a different `opencode-ai` npm version (default `1.17.13`). |
283
- | `TRISS_CODER_CRUSH_VERSION` | no | Pin a different `@phpcraftdream/crush` version (default `0.1.3`). |
282
+ | `TRISS_CODER_OPENCODE_VERSION` | no | Pin a different `opencode-ai` npm version (default `1.17.18`). |
283
+ | `TRISS_CODER_CRUSH_VERSION` | no | Pin a different `@phpcraftdream/crush` version (default `0.1.6`). |
284
284
  | `TRISS_CODER_CRUSH_RESTRICT` | no | crush only: `1` opts INTO the allowlist (emits `--restrict-run` plus the `--allow-bash`/`--allow-tool` CLI flags — the only enforcement path that works today); unset/`0` leaves crush unrestricted (the default, paired with isolate-ON). Overridden per-run by `--restrict`/`--no-restrict`. |
285
285
 
286
286
  All are documented in `.env.example`; this table is the authoritative
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "triss-coworker",
3
- "version": "0.24.0",
3
+ "version": "0.24.2",
4
4
  "description": "Give your AI coding agent a cheap DeepSeek coworker. Delegate bulk reads, boilerplate, and doc updates to save 60-70% of your token budget.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -13,11 +13,14 @@
13
13
 
14
14
  import { spawnSync as nodeSpawnSync } from 'node:child_process';
15
15
 
16
- // Pin the npm package version. crush ≥0.1.3 reports a clean `crush version
17
- // v0.1.3` (docs/crush-issues.md "[High] Version string does not match the
18
- // release" — resolved in 0.1.3), so detect() now parses the semver and
19
- // compares against this pin. The pin still also drives installHint().
20
- const CRUSH_PIN_DEFAULT = '0.1.3';
16
+ // Pin the npm package version. The semver-parse fix landed in 0.1.3 (crush
17
+ // ≥0.1.3 reports a clean `crush version vX.Y.Z` — docs/crush-issues.md "[High]
18
+ // Version string does not match the release"), so detect() parses the semver
19
+ // and compares against this pin (installed >= pin). The pin tracks the latest
20
+ // version verified live against the triss adapter (envelope shape, ZHIPU→ZAI
21
+ // env bridge, --restrict-run CLI-flag enforcement, worktree isolation — all
22
+ // re-verified on 0.1.6, 2026-07-15). The pin also drives installHint().
23
+ const CRUSH_PIN_DEFAULT = '0.1.6';
21
24
 
22
25
  // crush selects models by "atoms". For GLM the large atom is glm5_2 (GLM-5.2)
23
26
  // and the small atom is glm5_turbo (GLM-5-turbo). `crush models use <large>
@@ -58,7 +58,7 @@ import { defaultBranchVia } from '../git.js';
58
58
  import { crush as crushEngine } from '../coder-engines/crush.js';
59
59
 
60
60
  // Pinned opencode-ai version, overridable for testing/upgrades.
61
- export const OPENCODE_PIN = '1.17.13';
61
+ export const OPENCODE_PIN = '1.17.18';
62
62
  // Provider corrected during Phase 0 recon: the configured ZHIPU_API_KEY is
63
63
  // a `zai-coding-plan` (subscription) key, not a pay-as-you-go `zai` key —
64
64
  // `zai/glm-*` fails with "Insufficient balance or no resource package" on
@@ -177,7 +177,7 @@ triss coder clean [--all] # remove finished isolation worktrees (default: only
177
177
  ```json
178
178
  {
179
179
  "engine": "opencode",
180
- "engine_version": "1.17.13",
180
+ "engine_version": "1.17.18",
181
181
  "session_id": "ses_0d7b5c721ffeouI80ItCOxAJ3g",
182
182
  "exit_reason": "end_turn | error | timeout | killed",
183
183
  "final_text": "...",
@@ -223,9 +223,9 @@ Zen run forwards only `OPENCODE_API_KEY`, so a Zen-only machine needs no
223
223
  provider), `OPENCODE_API_KEY` (optional — unlocks `opencode/*` Zen models),
224
224
  `TRISS_CODER_MODEL` / `TRISS_CODER_SMALL_MODEL`
225
225
  (model overrides, default `zai-coding-plan/glm-5.2` / `zai-coding-plan/glm-5-turbo`),
226
- `TRISS_CODER_OPENCODE_VERSION` (pin override, default `1.17.13`),
226
+ `TRISS_CODER_OPENCODE_VERSION` (pin override, default `1.17.18`),
227
227
  `TRISS_CODER_ENGINE` (default `opencode`), `TRISS_CODER_CRUSH_VERSION`
228
- (crush pin override, default `0.1.3`), `TRISS_CODER_CRUSH_RESTRICT`
228
+ (crush pin override, default `0.1.6`), `TRISS_CODER_CRUSH_RESTRICT`
229
229
  (crush only — set `1` to opt INTO the CLI allowlist; default unset/OFF).
230
230
 
231
231
  `triss coder run` is **POSIX only** (macOS/Linux) — it refuses to run on
@@ -81,8 +81,8 @@ it natively; triss also forwards it as `ZAI_API_KEY` for older binaries). See
81
81
  Env: `ZHIPU_API_KEY` (required), `TRISS_CODER_MODEL` /
82
82
  `TRISS_CODER_SMALL_MODEL` (model overrides, default `zai-coding-plan/glm-5.2` /
83
83
  `zai-coding-plan/glm-5-turbo`), `TRISS_CODER_OPENCODE_VERSION` (pin override, default
84
- `1.17.13`), `TRISS_CODER_ENGINE` (default `opencode`), `TRISS_CODER_CRUSH_VERSION`
85
- (crush pin override, default `0.1.3`), `TRISS_CODER_CRUSH_RESTRICT` (crush only —
84
+ `1.17.18`), `TRISS_CODER_ENGINE` (default `opencode`), `TRISS_CODER_CRUSH_VERSION`
85
+ (crush pin override, default `0.1.6`), `TRISS_CODER_CRUSH_RESTRICT` (crush only —
86
86
  set `1` to opt INTO the CLI allowlist; default unset/OFF).
87
87
 
88
88
  `triss coder run` is **POSIX only** (macOS/Linux) — it refuses to run on