carthagent 1.1.0-preview.12 → 1.1.0-preview.13
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/README.md +69 -13
- package/docs/native-manual-testing.md +27 -5
- package/docs/opencode-owned-runtime.md +3 -3
- package/docs/patches/opencode-v2.0.32-session-ui-combined-v5.patch +13965 -0
- package/docs/release-notes-preview.13.md +68 -0
- package/docs/source-preview.md +120 -0
- package/lib/delivery-review.mjs +11 -1
- package/lib/opencode/runtime-release.json +12 -12
- package/lib/opencode/runtime.mjs +5 -4
- package/lib/providers/experiential.mjs +2 -2
- package/package.json +1 -1
- package/plugins/carthagent/src/daily-source-rpc.ts +2 -2
- package/plugins/carthagent/src/server/daily-source-rpc.ts +18 -4
- package/plugins/carthagent/src/server/delivery.ts +10 -6
- package/plugins/carthagent/src/server/providers.ts +1 -1
- package/plugins/carthagent/src/server/ship-guidance.ts +4 -2
- package/plugins/carthagent/src/tui.tsx +17 -13
- package/plugins/carthagent/src/ui/daily-quests.tsx +5 -2
- package/plugins/carthagent/src/ui/model-command.ts +32 -0
- package/plugins/carthagent/src/ui/native-review.d.mts +2 -0
- package/plugins/carthagent/src/ui/native-review.mjs +7 -2
- package/plugins/carthagent/src/ui/select-mouse.ts +17 -0
- package/plugins/carthagent/src/ui/voyages-navigation.tsx +11 -2
- package/plugins/carthagent/src/ui/voyages.tsx +4 -2
- package/plugins/carthagent/tests/voyages-navigation.test.tsx +20 -9
- package/script/ctg/build-owned-runtime.sh +3 -3
- package/tests/delivery-review.test.mjs +11 -0
- package/tests/native-daily-source.test.mjs +27 -2
- package/tests/native-manual-projects.test.mjs +3 -3
- package/tests/native-model-command.test.mjs +67 -0
- package/tests/native-review-consumer.test.mjs +19 -0
- package/tests/native-select-mouse.test.mjs +23 -0
- package/tests/native-ship-plan.test.mjs +13 -3
- package/tests/opencode-delivery.test.mjs +16 -0
- package/tests/owned-runtime-publish-workflow.test.mjs +6 -6
- package/tests/runtime-development-trust.test.mjs +5 -5
- package/tests/server.test.mjs +3 -1
- package/tests/ship-telemetry.test.mjs +1 -1
- package/tests/source-preview.test.mjs +253 -0
- package/tests/update.test.mjs +6 -5
- package/tools/benchmark/planning-startup.test.mjs +1 -1
- package/tools/test-native-delivery-host.mjs +2 -2
- package/tools/test-native-host.mjs +4 -2
- package/tools/test-native-public-repo.mjs +1 -1
- package/tools/test-native-ship-walkthrough.mjs +1 -1
- package/tools/test-native-swe-host.mjs +4 -4
package/README.md
CHANGED
|
@@ -72,6 +72,65 @@ persistence; see the [preview.10 candidate notes](docs/release-notes-preview.10.
|
|
|
72
72
|
for its limits. Published preview.9 remains immutable and does not acquire
|
|
73
73
|
changes from current main.
|
|
74
74
|
|
|
75
|
+
### Projects sidebar source preview (development only)
|
|
76
|
+
|
|
77
|
+
The redesigned Projects sidebar (folder card, folder browser, and folder/model
|
|
78
|
+
setup for new sessions) exists only as source. It is **not** in any published
|
|
79
|
+
`ctg` release, and the steps below do not build or update the published native
|
|
80
|
+
runtime. The published runtime stays pinned to
|
|
81
|
+
`docs/patches/opencode-v2.0.32-session-ui-combined-v4.patch` and
|
|
82
|
+
`lib/opencode/runtime-release.json`.
|
|
83
|
+
|
|
84
|
+
Requirements: Git, a POSIX shell, `sha256sum` or `shasum`, Bun 1.4.2 (the
|
|
85
|
+
OpenCode `packageManager` pin), and this checkout with `npm ci` already run. No
|
|
86
|
+
native compilation is needed. The launcher is a POSIX `sh` script for Linux and
|
|
87
|
+
macOS; native Windows is not supported.
|
|
88
|
+
|
|
89
|
+
1. Prepare a clean OpenCode checkout at the pinned upstream and apply the
|
|
90
|
+
development patch (v5 replaces v4 and applies directly to upstream):
|
|
91
|
+
|
|
92
|
+
```sh
|
|
93
|
+
git clone https://github.com/anomalyco/opencode "$HOME/src/opencode preview"
|
|
94
|
+
git -C "$HOME/src/opencode preview" checkout 843a6c514e606b436a7fe713422ace0a93ad3d61
|
|
95
|
+
script/ctg/prepare-development-runtime.sh "$HOME/src/opencode preview"
|
|
96
|
+
(cd "$HOME/src/opencode preview" && /path/to/bun-1.4.2 install)
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
2. Launch from any directory with explicit paths (spaces are fine):
|
|
100
|
+
|
|
101
|
+
```sh
|
|
102
|
+
/path/to/carthagent/script/ctg/source-preview.sh \
|
|
103
|
+
--source "$HOME/src/opencode preview" \
|
|
104
|
+
--profile "$HOME/.carthagent/source-preview" \
|
|
105
|
+
--bun /path/to/bun-1.4.2 \
|
|
106
|
+
--workspace "$HOME/projects/my project"
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
The launcher runs `bun --no-env-file run src/index.ts --standalone <workspace>`
|
|
110
|
+
from `packages/cli` with only a private HOME, TMPDIR, XDG and OpenCode config
|
|
111
|
+
directory inside `--profile`. It disables project config and auto-update and
|
|
112
|
+
passes no inherited API keys. On first use it creates the profile (mode 0700)
|
|
113
|
+
with the Carthagent plugin, Carthage theme and CLI theme config. Existing
|
|
114
|
+
profile files are never rewritten. The private server listens on an ephemeral
|
|
115
|
+
loopback port and exits when the TUI exits.
|
|
116
|
+
|
|
117
|
+
3. Sign in once inside the same profile. Enter secrets only at the terminal
|
|
118
|
+
prompt, never as arguments:
|
|
119
|
+
|
|
120
|
+
```sh
|
|
121
|
+
script/ctg/source-preview.sh --source ... --profile ... --bun ... -- auth login
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
In the TUI, the folder card at the top of Projects shows the current folder and
|
|
125
|
+
model. Use **Browse** (or `/browse`) to pick a folder and **Ctrl+S** to confirm.
|
|
126
|
+
**New session** (also Ctrl+X N or `/new`) opens folder and model setup; the session is created only when
|
|
127
|
+
you send the first message, with your current agent and the chosen model. If that agent or model is
|
|
128
|
+
unavailable when you send, the send is blocked and your text is kept until you choose another. Leave with `/exit` (or Ctrl+P, “Exit the app”); relaunch with
|
|
129
|
+
the same `--profile` and choose the session in Projects to continue it.
|
|
130
|
+
|
|
131
|
+
See [source preview](docs/source-preview.md) for testing, patch verification and
|
|
132
|
+
limits.
|
|
133
|
+
|
|
75
134
|
## Install and update
|
|
76
135
|
|
|
77
136
|
The installer selects an exact published release and acquires its pinned native runtime; it never falls back to an unrelated system binary. See the [native upgrade guide](docs/native-upgrade.md) for source-checkout and profile-preservation instructions, or [legacy CLI instructions](docs/legacy-cli.md) for stable 1.0.7.
|
|
@@ -106,21 +165,18 @@ Experimental software may still contain bugs; read its release notes first.
|
|
|
106
165
|
|
|
107
166
|
## Release status
|
|
108
167
|
|
|
109
|
-
1.1.0-preview.
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
resume; Lite remains direct execution. Published previews are immutable.
|
|
118
|
-
Experimental installation is explicit and selects published releases only;
|
|
119
|
-
stable 1.0.7 retains the legacy console.
|
|
168
|
+
1.1.0-preview.13 is the current experimental release. It promotes the
|
|
169
|
+
combined-v5 runtime patch: a directory-first Projects rail with a folder
|
|
170
|
+
browser, shared folder and model setup for new sessions, and an isolated
|
|
171
|
+
source-preview launcher, on top of preview.12's npm-publishable package.
|
|
172
|
+
Native remains the default `ctg` interface. Ship retains approval, checks,
|
|
173
|
+
review, repair, recovery, and resume; Lite remains direct execution.
|
|
174
|
+
Published previews are immutable. Experimental installation is explicit and
|
|
175
|
+
selects published releases only; stable 1.0.7 retains the legacy console.
|
|
120
176
|
|
|
121
177
|
Each experimental release must pass its exact installed-package gate before
|
|
122
|
-
publication. See the [preview.
|
|
123
|
-
[preview.
|
|
178
|
+
publication. See the [preview.13 release notes](docs/release-notes-preview.13.md),
|
|
179
|
+
[preview.12 notes](docs/release-notes-preview.12.md), and [preview.11 notes](docs/release-notes-preview.11.md); earlier migration findings and remaining platform caveats
|
|
124
180
|
are in the [Native migration ledger](docs/opencode-migration.md#delivery-ledger),
|
|
125
181
|
[native compatibility matrix](docs/native-compatibility.md), and [terminal
|
|
126
182
|
evidence status](docs/native-terminal-semantics.md#evidence-status-pr-162).
|
|
@@ -275,11 +275,33 @@ The explicit root is a development selector: its local checksum detects byte
|
|
|
275
275
|
changes but does not independently establish a published binary's provenance.
|
|
276
276
|
|
|
277
277
|
The update point for a reviewed local patch is
|
|
278
|
-
`CTG_DEVELOPMENT_RUNTIME_PATCH_SHA256` in `lib/opencode/runtime.mjs`.
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
278
|
+
`CTG_DEVELOPMENT_RUNTIME_PATCH_SHA256` in `lib/opencode/runtime.mjs`. It pins
|
|
279
|
+
the development patch `docs/patches/opencode-v2.0.32-session-ui-combined-v5.patch`
|
|
280
|
+
(SHA-256 `ec4bb182308ed8b311513aad5c9c7d57dcd0db103f0882f3dc3517d535b4c975`),
|
|
281
|
+
a replacement patch containing the published combined-v4 changes plus the
|
|
282
|
+
folder-browser controller, the Browse folders dialog with its sidebar, compact
|
|
283
|
+
rail and command-palette entry points, the directory-first Projects rail (current
|
|
284
|
+
folder card with Browse, New session and model controls, distinct folder and
|
|
285
|
+
group headings, and an active-session marker), the folder and model setup for
|
|
286
|
+
new sessions (global and folder "New session here" entries; the session is
|
|
287
|
+
created only on the first send, with the chosen folder, agent, model and
|
|
288
|
+
variant), and their tests. It applies directly to a clean
|
|
289
|
+
checkout of upstream `843a6c514e606b436a7fe713422ace0a93ad3d61`; do not apply
|
|
290
|
+
it on top of v4:
|
|
291
|
+
|
|
292
|
+
```sh
|
|
293
|
+
git clone https://github.com/anomalyco/opencode.git opencode-dev
|
|
294
|
+
git -C opencode-dev checkout 843a6c514e606b436a7fe713422ace0a93ad3d61
|
|
295
|
+
script/ctg/prepare-development-runtime.sh opencode-dev
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
The preparation recipe checks the source revision, a clean checkout, and the
|
|
299
|
+
patch hash, then applies the patch. It does not install, compile, or publish.
|
|
300
|
+
After generating and reviewing new patch bytes, update **only this development
|
|
301
|
+
constant** and the preparation recipe's `EXPECTED_PATCH`. The regression test
|
|
302
|
+
in `tests/native-ship-plan.test.mjs` requires both to match the checked-in
|
|
303
|
+
development patch, and that the shared release recipe
|
|
304
|
+
`script/ctg/build-owned-runtime.sh` still pins the published v4 patch.
|
|
283
305
|
Do not change `CTG_RUNTIME_PATCH_SHA256`, the published
|
|
284
306
|
`lib/opencode/runtime-release.json`, its archive/executable pins, or historical
|
|
285
307
|
release documentation to make a development build pass. Promotion to a public
|
|
@@ -40,9 +40,9 @@ preview.8 or preview.9 acceptance gates have passed.
|
|
|
40
40
|
|
|
41
41
|
- Upstream: `https://github.com/anomalyco/opencode`
|
|
42
42
|
- Tag/revision: `v2.0.32` / `843a6c514e606b436a7fe713422ace0a93ad3d61`
|
|
43
|
-
- CTG patch: `docs/patches/opencode-v2.0.32-session-ui-combined-
|
|
44
|
-
- Patch SHA-256: `
|
|
45
|
-
- Previous combined-
|
|
43
|
+
- CTG patch: `docs/patches/opencode-v2.0.32-session-ui-combined-v5.patch` (combined-v4 plus the directory-first Projects rail, folder-browser dialog, shared folder/model session setup, and the isolated source-preview launcher)
|
|
44
|
+
- Patch SHA-256: `ec4bb182308ed8b311513aad5c9c7d57dcd0db103f0882f3dc3517d535b4c975`
|
|
45
|
+
- Previous combined-v4 patch SHA-256 (preview.11 and preview.12): `1f2309bb3a31dfb8e8a0827a6a1144a1f76a005abff58f6f48857639ec02478a`
|
|
46
46
|
- Lock SHA-256: `9d78379cd264584a495440a217b9d2ecab524c9a56f7f8b4b5bed3926daa330d`
|
|
47
47
|
- Historical combined preview.8 source verification: 136 retained TUI rendering/loader/theme/selection
|
|
48
48
|
regressions, 24 core recovery/shell regressions, and core/server/plugin/client/tui
|