@huynle/hub 0.7.3 → 0.7.4

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
@@ -2,6 +2,18 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.7.4
6
+
7
+ Release downloads move to a public repository. The source repository is private now, so the standalone `hub`
8
+ binaries, `hubctl`, its signed manifest and the checksums are published to
9
+ [`huynle/hub-releases`](https://github.com/huynle/hub-releases) (the release workflow mirrors every release there,
10
+ byte for byte, so the signed manifest and checksums stay valid). The image `ghcr.io/huynle/hub` and the npm package
11
+ `@huynle/hub` are unchanged.
12
+
13
+ - **Install**: the README, the Ansible role README and the web shell hint use `huynle/hub-releases`; pass
14
+ `--release-url https://github.com/huynle/hub-releases/releases/download/v<version>` to `hubctl setup ansible`.
15
+ - **Plugin rename notice** no longer suggests installing from `github:huynle/hub`.
16
+
5
17
  ## 0.7.3
6
18
 
7
19
  Session errors are visible: a quota, auth or rate-limit error in an OpenCode session now shows up in the hub.
package/README.md CHANGED
@@ -145,8 +145,8 @@ shell, and the hub never gets a way to run commands here.
145
145
  # 1. Download hubctl for your platform (darwin-arm64, darwin-x64, linux-x64, linux-arm64) and the signed manifest
146
146
  # from the release, then install the binary yourself (the first apply installs the release's copy as
147
147
  # ~/.local/bin/hubctl, with `hub` linked to it):
148
- curl -fsSLo hubctl https://github.com/huynle/hub/releases/download/v<version>/hubctl-darwin-arm64 && chmod +x hubctl
149
- curl -fsSLO https://github.com/huynle/hub/releases/download/v<version>/hubctl-manifest.json
148
+ curl -fsSLo hubctl https://github.com/huynle/hub-releases/releases/download/v<version>/hubctl-darwin-arm64 && chmod +x hubctl
149
+ curl -fsSLO https://github.com/huynle/hub-releases/releases/download/v<version>/hubctl-manifest.json
150
150
 
151
151
  # 2. Enroll this machine (device code: approve it on the hub; Ctrl-C cancels). One identity for every spoke here.
152
152
  ./hubctl machine enroll --server https://hub.example.com
@@ -209,7 +209,7 @@ The hub serves the web app, pairs devices, enrolls machines, and does push and (
209
209
  | Way | For | How |
210
210
  |---|---|---|
211
211
  | **`/hub` → On this computer** | Local use; nothing to install (plugin from npm) | started by the plugin with OpenCode's own runtime (`BUN_BE_BUN=1 opencode bin/hub.ts`), or `bun` when installed |
212
- | **Standalone binary** | Any server or laptop, no runtime needed | `hub-<os>-<arch>` from the [releases](https://github.com/huynle/hub/releases) |
212
+ | **Standalone binary** | Any server or laptop, no runtime needed | `hub-<os>-<arch>` from the [releases](https://github.com/huynle/hub-releases/releases) (the source repository is private; releases are mirrored to the public `huynle/hub-releases`) |
213
213
  | **Docker** | Servers | `ghcr.io/huynle/hub` (linux/amd64, linux/arm64) |
214
214
  | **bunx / from source** | Bun users, development | `bunx --package @huynle/hub hub-server` · `bun bin/hub.ts` |
215
215
  | **Kubernetes (cluster mode)** | Several pods on Postgres + Valkey, rolling updates | [docs/cluster.md](docs/cluster.md), manifests in [`deploy/k8s/`](deploy/k8s/) |
@@ -221,8 +221,8 @@ answers `--help` and `--version`. While no device is paired, the hub logs a pair
221
221
  `hub-<darwin|linux>-<arm64|x64>` and `hub-windows-x64.exe`, plus `SHA256SUMS`.
222
222
 
223
223
  ```sh
224
- curl -LO https://github.com/huynle/hub/releases/latest/download/hub-linux-x64
225
- curl -LO https://github.com/huynle/hub/releases/latest/download/SHA256SUMS
224
+ curl -LO https://github.com/huynle/hub-releases/releases/latest/download/hub-linux-x64
225
+ curl -LO https://github.com/huynle/hub-releases/releases/latest/download/SHA256SUMS
226
226
  sha256sum --check --ignore-missing SHA256SUMS && chmod +x hub-linux-x64
227
227
  HUB_PUBLIC_URL=https://hub.example.com ./hub-linux-x64
228
228
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huynle/hub",
3
- "version": "0.7.3",
3
+ "version": "0.7.4",
4
4
  "description": "Hub: a harness-agnostic central hub your AI agent harnesses connect to (OpenCode first). Follow, steer and stop sessions from your phone or browser, with notifications, optional hands-free Voice and a self-hostable server.",
5
5
  "license": "MIT",
6
6
  "author": "Huy Le",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huynle/hub-claude-code",
3
- "version": "0.7.3",
3
+ "version": "0.7.4",
4
4
  "private": true,
5
5
  "description": "The Claude Code hooks spoke: per-user daemon, hook bridge, plugin dir, `hub claude` wrapper and daemon-backed MCP server (internal; shipped inside @huynle/hub, not published on its own).",
6
6
  "license": "MIT",
@@ -7,7 +7,7 @@ import { createInterface } from "readline";
7
7
  // packages/cli/package.json
8
8
  var package_default = {
9
9
  name: "@huynle/hub-cli",
10
- version: "0.7.3",
10
+ version: "0.7.4",
11
11
  private: true,
12
12
  description: "The hub CLI (`hub` / `hubctl`) for agents and scripts (internal; bundled into @huynle/hub, not published on its own).",
13
13
  license: "MIT",
@@ -5919,7 +5919,7 @@ import { arch as osArch, platform as osPlatform } from "node:os";
5919
5919
  // packages/node/package.json
5920
5920
  var package_default2 = {
5921
5921
  name: "@huynle/hub-node",
5922
- version: "0.7.3",
5922
+ version: "0.7.4",
5923
5923
  private: true,
5924
5924
  description: "`hub node`: the per-machine daemon that prepares, collects and cleans up launch workspaces (internal; shipped inside @huynle/hub, not published on its own).",
5925
5925
  license: "MIT",
@@ -7010,7 +7010,7 @@ import path10 from "node:path";
7010
7010
  // packages/runtime-openshell/package.json
7011
7011
  var package_default3 = {
7012
7012
  name: "@huynle/hub-runtime-openshell",
7013
- version: "0.7.3",
7013
+ version: "0.7.4",
7014
7014
  private: true,
7015
7015
  description: "The `openshell` runtime of `hub node`: launches in NVIDIA OpenShell sandboxes, driven through the openshell CLI (internal; shipped inside @huynle/hub, not published on its own).",
7016
7016
  license: "MIT",
@@ -10395,7 +10395,7 @@ import path18 from "node:path";
10395
10395
  // packages/claude-code/package.json
10396
10396
  var package_default4 = {
10397
10397
  name: "@huynle/hub-claude-code",
10398
- version: "0.7.3",
10398
+ version: "0.7.4",
10399
10399
  private: true,
10400
10400
  description: "The Claude Code hooks spoke: per-user daemon, hook bridge, plugin dir, `hub claude` wrapper and daemon-backed MCP server (internal; shipped inside @huynle/hub, not published on its own).",
10401
10401
  license: "MIT",
@@ -10684,7 +10684,7 @@ import path21 from "node:path";
10684
10684
  // packages/preset/package.json
10685
10685
  var package_default5 = {
10686
10686
  name: "@huynle/hub-preset",
10687
- version: "0.7.3",
10687
+ version: "0.7.4",
10688
10688
  private: true,
10689
10689
  description: "The preset spoke: drives a harness without a spoke of its own through a terminal pane (tmux), described by a data-only preset; official presets in presets/ (internal; shipped inside @huynle/hub, not published on its own).",
10690
10690
  license: "MIT",
@@ -11185,7 +11185,7 @@ import { openSync as openSync4, closeSync as closeSync4, readFileSync as readFil
11185
11185
  // packages/codex/package.json
11186
11186
  var package_default6 = {
11187
11187
  name: "@huynle/hub-codex",
11188
- version: "0.7.3",
11188
+ version: "0.7.4",
11189
11189
  private: true,
11190
11190
  description: "The Codex app-server spoke: attaches to Codex's app-server (its own over stdio, and the shared daemon's socket when present), and the `hub codex` wrapper (internal; shipped inside @huynle/hub, not published on its own).",
11191
11191
  license: "MIT",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huynle/hub-cli",
3
- "version": "0.7.3",
3
+ "version": "0.7.4",
4
4
  "private": true,
5
5
  "description": "The hub CLI (`hub` / `hubctl`) for agents and scripts (internal; bundled into @huynle/hub, not published on its own).",
6
6
  "license": "MIT",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huynle/hub-codex",
3
- "version": "0.7.3",
3
+ "version": "0.7.4",
4
4
  "private": true,
5
5
  "description": "The Codex app-server spoke: attaches to Codex's app-server (its own over stdio, and the shared daemon's socket when present), and the `hub codex` wrapper (internal; shipped inside @huynle/hub, not published on its own).",
6
6
  "license": "MIT",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huynle/hub-node",
3
- "version": "0.7.3",
3
+ "version": "0.7.4",
4
4
  "private": true,
5
5
  "description": "`hub node`: the per-machine daemon that prepares, collects and cleans up launch workspaces (internal; shipped inside @huynle/hub, not published on its own).",
6
6
  "license": "MIT",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huynle/hub-preset",
3
- "version": "0.7.3",
3
+ "version": "0.7.4",
4
4
  "private": true,
5
5
  "description": "The preset spoke: drives a harness without a spoke of its own through a terminal pane (tmux), described by a data-only preset; official presets in presets/ (internal; shipped inside @huynle/hub, not published on its own).",
6
6
  "license": "MIT",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huynle/hub-protocol",
3
- "version": "0.7.3",
3
+ "version": "0.7.4",
4
4
  "private": true,
5
5
  "description": "Hub ↔ spoke wire protocol (internal; shipped inside @huynle/hub, not published on its own).",
6
6
  "license": "MIT",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huynle/hub-runtime-openshell",
3
- "version": "0.7.3",
3
+ "version": "0.7.4",
4
4
  "private": true,
5
5
  "description": "The `openshell` runtime of `hub node`: launches in NVIDIA OpenShell sandboxes, driven through the openshell CLI (internal; shipped inside @huynle/hub, not published on its own).",
6
6
  "license": "MIT",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huynle/hub-runtime-sdk",
3
- "version": "0.7.3",
3
+ "version": "0.7.4",
4
4
  "private": true,
5
5
  "description": "The Runtime interface `hub node` runtimes implement (internal; shipped inside @huynle/hub, not published on its own).",
6
6
  "license": "MIT",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huynle/hub-sdk",
3
- "version": "0.7.3",
3
+ "version": "0.7.4",
4
4
  "private": true,
5
5
  "description": "Typed client for the hub's /api/agent (internal; shipped inside @huynle/hub, not published on its own).",
6
6
  "license": "MIT",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huynle/hub-spoke-sdk",
3
- "version": "0.7.3",
3
+ "version": "0.7.4",
4
4
  "private": true,
5
5
  "description": "Harness-neutral spoke building blocks: hub connection, enrollment, tokens, idempotent deliver, prompt references, HarnessSpoke (internal; shipped inside @huynle/hub, not published on its own).",
6
6
  "license": "MIT",
@@ -251,7 +251,7 @@ const WEB_NOT_BUILT = [
251
251
  "This hub has no built web app (web/dist).",
252
252
  "",
253
253
  "To run a hub, install it from npm (`opencode plugin add @huynle/hub`, or `bunx --package @huynle/hub hub-server`)",
254
- "or use a release binary (https://github.com/huynle/hub/releases), which ship the web app.",
254
+ "or use a release binary (https://github.com/huynle/hub-releases/releases), which ship the web app.",
255
255
  "In a source checkout, run `npm install && npm run build:web` first.",
256
256
  ].join("\n")
257
257
  /** Preview text for POST /api/settings/speech/test. */