Skip to content

Commit eeda473

Browse files
sanchitrkclaude
andcommitted
release: @codeworksh/harness@0.3.0, @codeworksh/tui@0.0.3, @codeworksh/cli@0.3.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 65e9982 commit eeda473

7 files changed

Lines changed: 40 additions & 18 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,33 +4,55 @@ This file is the canonical source for unreleased changes and published release n
44

55
## Format
66

7-
- Add in-progress work under `## [Unreleased]`.
8-
- Move shipped changes into a versioned release section when publishing.
9-
- Prefer these labels when writing release notes: `Added`, `Changed`, `Fixed`, `Removed`, `Internal`, `Breaking Changes`, `Reverted`.
10-
- Keep entries user-facing where possible. Use `Internal` for refactors, tooling, and package housekeeping.
7+
- Add in-progress work under `## [Unreleased]
118

12-
## [Unreleased]
9+
## [@codeworksh/cli@0.3.0] - 2026-10-13
1310

1411
### Added
1512

16-
- `@codeworksh/cli`: Added OpenTelemetry export. Set `OTEL_EXPORTER_OTLP_ENDPOINT` and every command sends its traces and metrics over OTLP/HTTP, as protobuf by default or JSON with `OTEL_EXPORTER_OTLP_PROTOCOL=http/json`. The standard `OTEL_*` variables configure it (headers, per-signal endpoints, `OTEL_SDK_DISABLED`, `OTEL_SERVICE_NAME`, `OTEL_RESOURCE_ATTRIBUTES`); there is no settings key. Without an endpoint nothing is exported, and a bad configuration never stops a command. Only the high-level spans are exported (command, agent loop, model and tool calls, sandbox create and wake); set `CODEWORK_TRACE_LEVEL=debug` to export every span, including database queries.
17-
- `@codeworksh/harness`: Spans for model requests, tool calls and agent runs carry the OpenTelemetry GenAI attributes (provider, model, session, response id, finish reason, token counts, time to first token), and a failed model request ends its span with an error. Metrics: `codework.llm.duration`, `codework.llm.ttft`, `codework.llm.tokens` (by `type`: input, output, cache_read, cache_write, reasoning), `codework.llm.cost`, `codework.agent.duration`, `codework.tool.duration` (by `tool`), `codework.sandbox.provision.duration`, `codework.sandbox.exec.duration` and `codework.sandbox.active` (by `driver`), plus Effect's fiber runtime metrics (`child_fibers_*`). Prompts, file contents and model output are never exported.
13+
- Added a standalone `codework` binary for macOS (Apple silicon) and Linux (arm64, x64; glibc) that needs no Node.js. Install it with `curl -fsSL https://codework.sh/install | sh`, with `--dev` for the newest development build or `--version <version>` for a given release. The script checks the download against the release's `SHA256SUMS`, installs to `~/.codework/bin` and adds it to `PATH`. On first run the binary unpacks its assets to a per-user cache in the temp directory. Plugins installed from npm, git or a path run in it as they do under Node, and the virtual shell's `sqlite3` and its zstd and xz compression work. just-bash's `python` and `js-exec`, which CodeWork does not enable, are not included. Each GitHub Release carries `cli-<os>-<arch>.tar.gz` and `SHA256SUMS`: `cli-v<version>` for a release, and `devel` for the newest dev build.
14+
- Added OpenTelemetry export. Set `OTEL_EXPORTER_OTLP_ENDPOINT` and every command sends its traces and metrics over OTLP/HTTP, as protobuf by default or JSON with `OTEL_EXPORTER_OTLP_PROTOCOL=http/json`. The standard `OTEL_*` variables configure it (headers, per-signal endpoints, `OTEL_SDK_DISABLED`, `OTEL_SERVICE_NAME`, `OTEL_RESOURCE_ATTRIBUTES`); there is no settings key. Without an endpoint nothing is exported, and a bad configuration never stops a command. Only the high-level spans are exported (command, agent loop, model and tool calls, sandbox create and wake); set `CODEWORK_TRACE_LEVEL=debug` to export every span, including database queries.
1815

1916
### Fixed
2017

21-
- `@codeworksh/plugin`: Fixed tools whose parameters are `Schema.Struct({})` being rejected by OpenAI and Anthropic. Their JSON Schema is now `{ "type": "object", "properties": {} }` instead of `{ "not": { "type": "null" } }`.
22-
- `@codeworksh/cli`: Fixed `codework run` exiting 1 with `statement has been finalized` after printing the response when it created its own sandbox (`--sandbox-driver memory`, `daytona` or `vercel`). The sandbox was stopped after the database had closed, so the stop failed and a Daytona or Vercel sandbox was left running. It is now stopped before the database closes, and the run exits 0.
23-
- `@codeworksh/cli`: `codework run` now writes logs to stderr, so stdout carries only the response.
24-
- `@codeworksh/harness`: Fixed Daytona sandboxes logging a warning, with the full HTTP error, for every instruction file (`AGENTS.md`, `CLAUDE.md`, ...) a directory does not have. A missing path on Daytona now reads as not found, as on the other sandboxes, which also gives the `read` tool its usual not-found error there.
18+
- Fixed `codework run` exiting 1 with `statement has been finalized` after printing the response when it created its own sandbox (`--sandbox-driver memory`, `daytona` or `vercel`). The sandbox was stopped after the database had closed, so the stop failed and a Daytona or Vercel sandbox was left running. It is now stopped before the database closes, and the run exits 0.
19+
- `codework run` now writes logs to stderr, so stdout carries only the response.
2520

2621
### Internal
2722

28-
- Instruction-file discovery probes candidates with `exists` and only stats the files that exist, so a missing `AGENTS.md` or `CLAUDE.md` no longer records a failed span in debug traces.
2923
- The `codework tui` E2E artifact now records the CLI version as `<version>`, so it no longer goes stale on every version bump.
3024
- Tests load provider and sandbox credentials from the root `.env.local` instead of one file per package.
3125
- Added a live E2E test that runs `codework run` on a memory, Daytona and Vercel sandbox and checks the sandbox is stopped on exit.
26+
- Added an E2E test that runs the standalone binary with no Node on `PATH`: it unpacks its assets, runs a plugin through its own `effect`, runs `sqlite3`, zstd and xz in the virtual shell against live models, and, with `CODEWORK_PLUGIN_LIVE=1`, installs and runs plugins from npm and git.
27+
28+
## [@codeworksh/tui@0.0.3] - 2026-10-13
29+
30+
### Removed
31+
32+
- Removed Intel Mac support. No `darwin-x64` binary is built, `@codeworksh/tui-darwin-x64` is deprecated on npm, and on an Intel Mac `codework tui` reports that no prebuilt TUI is published for the platform.
33+
34+
## [@codeworksh/harness@0.3.0] - 2026-10-13
35+
36+
### Added
37+
38+
- Spans for model requests, tool calls and agent runs carry the OpenTelemetry GenAI attributes (provider, model, session, response id, finish reason, token counts, time to first token), and a failed model request ends its span with an error. Metrics: `codework.llm.duration`, `codework.llm.ttft`, `codework.llm.tokens` (by `type`: input, output, cache_read, cache_write, reasoning), `codework.llm.cost`, `codework.agent.duration`, `codework.tool.duration` (by `tool`), `codework.sandbox.provision.duration`, `codework.sandbox.exec.duration` and `codework.sandbox.active` (by `driver`), plus Effect's fiber runtime metrics (`child_fibers_*`). Prompts, file contents and model output are never exported.
39+
- A host bundled into one file, such as the standalone binary, shares its own `effect` and `@codeworksh/plugin` with plugins through `Plugin.share`. A plugin can import any of their public modules and gets the host's instances, each loaded on first import. Importing an internal path such as `effect/internal/...` fails with `is not shared with plugins`.
40+
41+
### Fixed
42+
43+
- Fixed Daytona sandboxes logging a warning, with the full HTTP error, for every instruction file (`AGENTS.md`, `CLAUDE.md`, ...) a directory does not have. A missing path on Daytona now reads as not found, as on the other sandboxes, which also gives the `read` tool its usual not-found error there.
44+
45+
### Internal
46+
47+
- Instruction-file discovery probes candidates with `exists` and only stats the files that exist, so a missing `AGENTS.md` or `CLAUDE.md` no longer records a failed span in debug traces.
3248
- The live runner-cycle test now interrupts a reply long enough that it cannot finish first, so the interrupt no longer races the model.
3349

50+
## [@codeworksh/plugin@0.2.1] - 2026-10-13
51+
52+
### Fixed
53+
54+
- Fixed tools whose parameters are `Schema.Struct({})` being rejected by OpenAI and Anthropic. Their JSON Schema is now `{ "type": "object", "properties": {} }` instead of `{ "not": { "type": "null" } }`.
55+
3456
## [@codeworksh/cli@0.2.0] - 2026-10-12
3557

3658
### Added

‎packages/codework/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@codeworksh/cli",
3-
"version": "0.2.0",
3+
"version": "0.3.0",
44
"description": "CLI for running CodeWork coding agent harness.",
55
"keywords": [
66
"agent",

‎packages/harness/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@codeworksh/harness",
3-
"version": "0.2.0",
3+
"version": "0.3.0",
44
"description": "AI agent harness — agent loop, tools, plugins, sandbox, and more.",
55
"keywords": [
66
"agent",

‎packages/tui/npm/darwin-arm64/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@codeworksh/tui-darwin-arm64",
3-
"version": "0.0.2",
3+
"version": "0.0.3",
44
"description": "The CodeWork terminal UI binary for macOS on Apple silicon",
55
"homepage": "https://www.codework.sh",
66
"license": "MIT",

‎packages/tui/npm/linux-arm64/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@codeworksh/tui-linux-arm64",
3-
"version": "0.0.2",
3+
"version": "0.0.3",
44
"description": "The CodeWork terminal UI binary for Linux on arm64 (static, musl)",
55
"homepage": "https://www.codework.sh",
66
"license": "MIT",

‎packages/tui/npm/linux-x64/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@codeworksh/tui-linux-x64",
3-
"version": "0.0.2",
3+
"version": "0.0.3",
44
"description": "The CodeWork terminal UI binary for Linux on x64 (static, musl)",
55
"homepage": "https://www.codework.sh",
66
"license": "MIT",

‎packages/tui/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@codeworksh/tui",
3-
"version": "0.0.2",
3+
"version": "0.0.3",
44
"description": "High-performance Terminal User Interface (TUI) for CodeWork in Rust, with a thin TypeScript launcher",
55
"keywords": [
66
"codework",

0 commit comments

Comments
 (0)