Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: codeworksh/codework
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: codeworksh/codework
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: feat-cli-bin
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 8 commits
  • 29 files changed
  • 2 contributors

Commits on Oct 13, 2026

  1. chore(tui): drop Intel Mac support

    Stop building and publishing @codeworksh/tui-darwin-x64; the package is
    deprecated on npm. The launcher now reports darwin-x64 as unsupported
    instead of naming a package that no longer ships.
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    sanchitrk and claude committed Oct 13, 2026
    Configuration menu
    Copy the full SHA
    9830006 View commit details
    Browse the repository at this point in the history
  2. feat(harness): share effect with plugins from a bundled host

    A host bundled into one file, like the standalone binary, has no effect
    on disk for plugins to resolve to. It now publishes its modules through
    Plugin.share on globalThis[Symbol.for("codework.v1.effect")] (and
    codework.v1.plugin), and the plugin loader serves them as virtual modules
    that load each one on first import. Unbundled hosts resolve as before.
    
    scripts/shared.mjs generates that registry, with every public module's
    export names, for the CLI bundle.
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    sanchitrk and claude committed Oct 13, 2026
    Configuration menu
    Copy the full SHA
    6498c0f View commit details
    Browse the repository at this point in the history
  3. feat(cli): bundle the CLI for a standalone binary

    `vp run bundle` writes dist/sea: the whole CLI as one ESM file, entry
    src/sea.ts, beside the assets the binary embeds. Before the CLI starts,
    the entry unpacks them to a per-user cache keyed by their content hash,
    publishes the CLI's effect for plugins, and names the unpacked paths.
    
    Packages that load files from beside their own modules are unpacked as a
    real node_modules instead of bundled: just-bash (its sqlite3 worker and
    zstd and xz addons) and photon. The harness resolves them from
    CODEWORK_PACKAGES. node-liblzma is rebuilt with xz linked statically, so
    the binary needs no system liblzma. The image worker is bundled on its
    own, and a managed server re-spawns the binary itself.
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    sanchitrk and claude committed Oct 13, 2026
    Configuration menu
    Copy the full SHA
    ace892a View commit details
    Browse the repository at this point in the history
  4. Merge origin/canary into feat-cli-bin

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    sanchitrk and claude committed Oct 13, 2026
    Configuration menu
    Copy the full SHA
    6d7d9b8 View commit details
    Browse the repository at this point in the history
  5. feat(cli): build the standalone binary as a Node 26 SEA

    `vp run sea` injects the bundle into the official Node 26.11.1 for this
    platform, checked against its pinned sha256, as a single executable
    application with every asset embedded, and signs it ad hoc on macOS.
    
    A SEA's main module has no import.meta.resolve and its own import()
    reaches only built-ins. The bundled entry now borrows a resolver through
    Plugin.lendResolve, and unpacked packages load through importModule.
    The bundle also defines __dirname and __filename, which npm's installer
    reads, so plugins install from git and the registry inside the binary.
    
    test/sea.test.ts runs the binary with no Node on PATH: it unpacks its
    assets, runs a plugin through the shared effect, runs sqlite3, zstd and
    xz in the virtual shell against live models, and installs and runs
    plugins from git and npm when CODEWORK_PLUGIN_LIVE=1.
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    sanchitrk and claude committed Oct 13, 2026
    Configuration menu
    Copy the full SHA
    3c6bef8 View commit details
    Browse the repository at this point in the history
  6. ci: release the standalone binary from dev and main

    dev and main now build the binary for darwin-arm64, linux-arm64 and
    linux-x64, each on its own runner, run the offline binary test, and
    attach cli-<os>-<arch>.tar.gz to a GitHub Release: `devel`, one
    prerelease replaced on every dev push, or `cli-v<version>`, marked
    latest. canary stays npm-only, and npm never waits on the binary.
    
    The run computes its release id once (scripts/version.mjs) and every job
    uses it, so the binary reports the version npm publishes. The binary
    test's artifact no longer depends on the platform.
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    sanchitrk and claude committed Oct 13, 2026
    Configuration menu
    Copy the full SHA
    405bb23 View commit details
    Browse the repository at this point in the history
  7. Merge origin/dev into feat-cli-bin

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    sanchitrk and claude committed Oct 13, 2026
    Configuration menu
    Copy the full SHA
    f8a5a63 View commit details
    Browse the repository at this point in the history
  8. feat(www): add codework.sh/install for the standalone binary

    `curl -fsSL https://codework.sh/install | sh` installs the latest
    release; --dev installs the devel build and --version a given one. It
    detects macOS and Linux on arm64 and x64, points Intel Macs and musl
    systems to npm, checks the archive against the release's SHA256SUMS,
    installs to ~/.codework/bin and adds it to PATH once.
    
    The release job now publishes SHA256SUMS with the archives.
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    sanchitrk and claude committed Oct 13, 2026
    Configuration menu
    Copy the full SHA
    1b9af61 View commit details
    Browse the repository at this point in the history
Loading