@stackbone/cli 0.1.0-alpha.8 → 0.1.0

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,195 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.1.0] - 2026-07-01
11
+
12
+ ### Added
13
+
14
+ - **First stable release.** Drops the `-alpha` prerelease line: `npm i -g @stackbone/cli` now resolves the stable build through the `latest` dist-tag (previously pinned to the very first alpha).
15
+
16
+ - **`stackbone` warns when a newer CLI is published, and validates the project's
17
+ SDK version.** On any command the CLI now runs a cached (24h TTL), non-blocking
18
+ npm registry check and prints a discreet stderr banner when a newer
19
+ `@stackbone/cli` exists on the channel matching the installed version (`alpha`
20
+ for prereleases, `latest` for stable) — silenced under `CI`, non-TTY, `--json`
21
+ and `STACKBONE_NO_UPDATE_CHECK`. It also reads the control plane's
22
+ `x-stackbone-min-cli-version` header to warn softly, and turns a `426 Upgrade
23
+ Required` response into a clear `cli_upgrade_required` error. Generated projects
24
+ now pin `@stackbone/sdk` EXACTLY (no caret); `stackbone dev` warns and
25
+ `stackbone publish` blocks when the project's installed SDK is incompatible with
26
+ the CLI's bundled SDK line.
27
+
28
+ ## [0.1.0-alpha.15] - 2026-07-01
29
+
30
+ ### Changed
31
+
32
+ - **`stackbone init` now links every workspace to the control plane, and `add`
33
+ no longer touches the network.** The workspace is the linked unit: `init`
34
+ registers the workspace's identity (an agent named after the workspace) and
35
+ writes the single `.stackbone/project.json` for EVERY `--with` kind — `empty`
36
+ and `workflow` included — that `dev`, `publish` and the management commands
37
+ read. Because of this, `init` now needs a signed-in session for every kind (the
38
+ fully-offline `init` path is gone — run `stackbone login` first). In exchange,
39
+ `stackbone add agent` and `add workflow-agent` are now 100% offline: the pieces
40
+ you add are members of the already-linked workspace, not separate control-plane
41
+ registrations, so they no longer register an agent or write `project.json`.
42
+ This fixes the confusing flow where `init` left a workspace unlinked and
43
+ `stackbone dev` then failed with "No project linked — run `stackbone init`".
44
+
45
+ ## [0.1.0-alpha.14] - 2026-06-25
46
+
47
+ ### Removed
48
+
49
+ - **`stackbone trigger` and `stackbone queues` are gone.** Both belonged to the
50
+ deprecated classic `/invoke` runtime. `stackbone trigger` posted to the dev
51
+ emulator's `/api/invoke`, which the eve runtime retired (replaced by the
52
+ `/api/agents/:name/chat` proxy), so the command hit a route that no longer
53
+ exists. `stackbone queues` drove the classic agent-jobs BullMQ dispatcher,
54
+ which `stackbone dev` no longer boots (it answers `503 queues_unavailable`);
55
+ in the new runtime async work is modelled as durable workflow runs. To
56
+ exercise a trigger-driven workflow locally, start it by name with
57
+ `stackbone workflows start <name>`. The `STACKBONE_EMULATOR_URL` env var
58
+ (only `stackbone trigger` read it) is removed too. The `client.queues` SDK
59
+ capability and Studio's Queues inspector are unaffected.
60
+
61
+ ### Fixed
62
+
63
+ - **`stackbone init` no longer scaffolds a workspace that fails `pnpm install`.**
64
+ The generated `package.json` pinned `@stackbone/workflow-world` — our durable
65
+ Workflow SDK World fork, a platform internal that is never published to npm —
66
+ so the post-init `pnpm install` 404'd ("could not resolve
67
+ @stackbone/workflow-world"). The CLI now ships its own esbuild-bundled copy of
68
+ the World and provisions it into the workspace's `node_modules` at `stackbone
69
+ dev` boot (the same mechanism already used for `@stackbone/agent-server`), and
70
+ the scaffold no longer declares the package. The public `@workflow/world` is
71
+ kept as the single shared base.
72
+
73
+ ## [0.1.0-alpha.13] - 2026-06-25
74
+
75
+ ### Changed
76
+
77
+ - **`stackbone dev`'s eve workspace boot now runs on the shared `@stackbone/workspace-runtime`
78
+ engine** (a pure refactor — no behaviour change). The supervisor that spawns the
79
+ N eve agents, the per-agent session Worlds, the main workspace World, and their
80
+ ordered teardown moved out of `apps/cli/src/dev/` into the new
81
+ `libs/runtime/workspace-runtime` lib, behind a single `bootWorkspaceRuntime`
82
+ entry point. The CLI is now just the dev SHELL around it (docker, tunnel,
83
+ watchers, local config, and the `eve build` / workflow compile it injects); the
84
+ same engine will boot cloud BYOC + self-host so the three environments run the
85
+ identical workspace. The engine assumes pre-compiled `.output/` and never
86
+ compiles — `stackbone dev` keeps its build-then-start behaviour by injecting
87
+ `runEveBuild`. `stackbone dev` over a v3 workspace boots identically (same
88
+ ports, health, workflows, chat).
89
+
90
+ ### Added
91
+
92
+ - **`stackbone publish` now blocks an incomplete eve trace.** A new per-agent build
93
+ guardrail (alongside the native-deps + SDK-inline gates) detects when `eve build`
94
+ shipped a PARTIAL externalized `eve` into an agent's `.output/` — the symptom of an
95
+ upstream bug where eve's bundler (nitro + `@vercel/nft`) drops a file reachable only
96
+ through eve's `#`-subpath imports (e.g. `connections/errors.js`), which crash-loops
97
+ the agent at boot with `ERR_MODULE_NOT_FOUND`. Publish aborts with the fix: add
98
+ `"eve*"` to the agent's `defineAgent({ build: { externalDependencies } })`, which
99
+ forces nitro's full-trace of eve (and sidesteps eve's own self-filter). Agents that
100
+ fully inline eve are unaffected, so they never carry the full-trace's extra weight.
101
+ - **`stackbone publish` now packages a v3 workspace.** When the current directory
102
+ has a `stackbone.config.ts` (`defineWorkspace`), publish compiles every eve
103
+ agent (`eve build` → its Nitro `.output/`) and the workflows on THIS host, then
104
+ packs `stackbone.config.ts` + each `.output/` + `.well-known/` + a derived
105
+ workspace manifest into a single tar with a verifiable SHA-256, written to
106
+ `dist/stackbone/`. Compiling at publish (not at boot) makes cold starts fast and
107
+ deterministic and turns a build error into a publish failure instead of a
108
+ production crash-loop. Each agent is scanned for native (`.node`) dependencies
109
+ and for an inlined `@stackbone/sdk` — either aborts with an actionable message
110
+ naming the offending package/agent before any tar is produced. (The
111
+ control-plane upload + build-pointer registration is the provisioning saga's
112
+ job; publish produces and records the artifact locally for now.)
113
+
114
+ ## [0.1.0-alpha.12] - 2026-06-17
115
+
116
+ ### Added
117
+
118
+ - **Full agent-runtime command surface.** The CLI can now drive a running
119
+ agent end to end against the Studio endpoints, with one command group per
120
+ capability: `runs` and `config`, `queues`
121
+ (`list`/`jobs`/`retry`/`discard`/`peek`/`purge`/`push`), `logs`, `storage`,
122
+ `rag`, `secrets`, `hitl`, `openrouter`, `db`, `prompts`, `playground`,
123
+ `agents`, and `contract` (`show`/`schema`/`capabilities`/`validate`).
124
+ - `stackbone organization use` switches the active organization for subsequent
125
+ commands.
126
+ - `stackbone db migrate up`/`status` now prompt to create a `drizzle-kit`
127
+ rename when run on an interactive terminal, instead of silently guessing.
128
+ - `stackbone playground` streams a run's steps live as they happen during an
129
+ invocation.
130
+
131
+ ### Changed
132
+
133
+ - Studio commands now route to the **local emulator** for `kind=local` agents
134
+ (resolved from the dev statefile) instead of hitting the control plane, which
135
+ has no boot bundle for local installs.
136
+ - Unified the cross-cutting conventions (flags, output, error handling)
137
+ across every agent-runtime surface so they behave consistently.
138
+ - The HTTP adapter gained `put`/`delete` plus a Studio-target resolver, and
139
+ transfer helpers for SSE, multipart uploads and presigned downloads.
140
+
141
+ ### Removed
142
+
143
+ - `stackbone db studio` — the embedded drizzle-kit studio command.
144
+
145
+ ### Fixed
146
+
147
+ - `stackbone db migrate up`/`status` discover the dev Postgres URL instead of
148
+ failing to connect.
149
+ - `queues peek`/`purge` are now scoped to a single handler (logical queue)
150
+ rather than the whole physical queue.
151
+
152
+ ## [0.1.0-alpha.11] - 2026-06-12
153
+
154
+ ### Fixed
155
+
156
+ - `stackbone dev` (and the self-host runtime) no longer crash on boot with
157
+ `BUNDLE_IMPORT_FAILED` when an agent splits its code across files and uses
158
+ idiomatic extensionless relative imports (e.g. `import { x } from './schema'`).
159
+ The dev/self-host runner imports the creator's raw TypeScript through Node's
160
+ native type-stripping, whose ESM resolver never adds a file extension — so a
161
+ multi-file agent that ran fine once published would crash locally. The
162
+ generated dev entry now registers a module-resolution hook that mirrors
163
+ esbuild's TypeScript resolution (the same `stackbone publish` relies on): it
164
+ adds the missing `.ts`/`.tsx`/`.mts`/`.cts` extension (and the directory
165
+ `index` form), and applies the NodeNext `./x.js` → `./x.ts` rewrite. Dev and
166
+ self-host now resolve modules exactly like a published agent.
167
+
168
+ ## [0.1.0-alpha.10] - 2026-06-12
169
+
170
+ ### Fixed
171
+
172
+ - `stackbone dev` no longer crashes on boot with
173
+ `ERR_MODULE_NOT_FOUND: @stackbone/agent-server` in a real creator project
174
+ outside this monorepo. The dev agent runs as a separate `node` process that
175
+ imports `@stackbone/agent-server` — a private package a creator never installs
176
+ — and the published CLI had no way to provide it (it could only bundle it from
177
+ workspace source, which isn't present in an installed CLI). The CLI build now
178
+ ships its own pre-bundled copy under `runtime-deps/`, and `stackbone dev`
179
+ copies it into the project's `node_modules` at boot whenever no workspace
180
+ source is found. In-monorepo development is unchanged.
181
+
182
+ ### Added
183
+
184
+ - `stackbone connectors` — lists the connectors in the catalog and the
185
+ workspace connections (ids + names) configured for the current account, so
186
+ you can see what an installed agent can reach before invoking it.
187
+ - `stackbone trigger` — fires a fake automation trigger against the local dev
188
+ agent, so connector-driven flows can be exercised end to end without the
189
+ real external event.
190
+
191
+ ### Changed
192
+
193
+ - The dev agent entry file is now generated under `.stackbone/dev/` instead of
194
+ at the project root, keeping the working tree clean during `stackbone dev`.
195
+ - The dev emulator now serves mock/passthrough connections and generates the
196
+ connection TypeScript types on the fly, so agent code that calls
197
+ `client.connections` type-checks locally.
198
+
10
199
  ## [0.1.0-alpha.7] - 2026-05-26
11
200
 
12
201
  ### Added
package/README.md CHANGED
@@ -9,30 +9,33 @@ The CLI for [Stackbone](https://stackbone.ai) — the marketplace and runtime fo
9
9
  No install required — invoke the CLI through `npx`:
10
10
 
11
11
  ```bash
12
- npx @stackbone/cli@alpha init my-agent
13
- cd my-agent
14
- npx @stackbone/cli@alpha dev
12
+ npx @stackbone/cli login
13
+ npx @stackbone/cli init my-workspace
14
+ cd my-workspace && npm install
15
+ npx @stackbone/cli dev
15
16
  ```
16
17
 
17
- That's it. `init` scaffolds a new agent project (templates + Claude skill); `dev` runs a local control-plane emulator with Stackbone Studio at `http://localhost:4242` so you can iterate without publishing.
18
+ That's it. `init` scaffolds a new workspace shell (agents + workflows + coding-agent skills) and links it to your organization, so you sign in first; `dev` boots the whole workspace locally Postgres, Redis, MinIO and Stackbone Studio at `http://localhost:4242` so you can iterate without publishing.
18
19
 
19
20
  ## Commands
20
21
 
21
- | Command | What it does |
22
- | ---------------------------- | ---------------------------------------------------------------------- |
23
- | `stackbone init [name]` | Scaffold a new Stackbone project from a template. |
24
- | `stackbone dev` | Run the local control-plane emulator + Stackbone Studio. |
25
- | `stackbone publish` | Build, push, and publish the current agent to Stackbone runtime. |
26
- | `stackbone login` / `logout` | Authenticate the CLI via the device-code flow (RFC 8628). |
27
- | `stackbone whoami` | Show the active user and organization. |
28
- | `stackbone current` | Print the organization currently linked to this session. |
29
- | `stackbone link` | Link the current directory to an existing organization + agent. |
30
- | `stackbone list` | List organizations the current user owns. |
31
- | `stackbone metadata` | Agent-friendly snapshot of the workspace state. |
32
- | `stackbone db <subcmd>` | Manage the local emulator database (migrations, queries). |
33
- | `stackbone docs <topic>` | Print Stackbone documentation inline. Run with no args to list topics. |
34
-
35
- Run any command with `--help` for the full flag reference, or `npx @stackbone/cli@alpha docs cli` for the inline documentation.
22
+ | Command | What it does |
23
+ | ----------------------------- | ---------------------------------------------------------------------- |
24
+ | `stackbone init [name]` | Scaffold a new workspace shell and link it to your org (needs login). |
25
+ | `stackbone add <kind> <name>` | Add an agent / workflow / workflow-agent to the workspace (offline). |
26
+ | `stackbone dev` | Boot the whole workspace locally + Stackbone Studio. |
27
+ | `stackbone workflows <verb>` | List, inspect the schema of, or start the install's workflows. |
28
+ | `stackbone publish` | Compile every agent + workflow and pack the workspace bundle. |
29
+ | `stackbone login` / `logout` | Authenticate the CLI via the device-code flow (RFC 8628). |
30
+ | `stackbone whoami` | Show the active user and organization. |
31
+ | `stackbone current` | Print the organization currently linked to this session. |
32
+ | `stackbone link` | Link the current directory to an existing organization + agent. |
33
+ | `stackbone list` | List organizations the current user owns. |
34
+ | `stackbone metadata` | Agent-friendly snapshot of the workspace state. |
35
+ | `stackbone db <subcmd>` | Manage the local emulator database (migrations, queries). |
36
+ | `stackbone docs <topic>` | Print Stackbone documentation inline. Run with no args to list topics. |
37
+
38
+ Run any command with `--help` for the full flag reference, or `npx @stackbone/cli docs cli` for the inline documentation.
36
39
 
37
40
  ## Requirements
38
41