@stackbone/cli 0.3.0 → 0.3.2
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 +85 -0
- package/main.js +351 -101
- package/package.json +1 -1
- package/runtime-deps/@stackbone/workflow-world/index.js +70 -70
- package/stackbone-cli-0.3.2.tgz +0 -0
- package/stackbone-cli-0.3.0.tgz +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,91 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.3.2] - 2026-08-10
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **`stackbone link` refuses a box the control plane could not work with, before
|
|
15
|
+
it writes anything.** The command registered whatever answered the URL, so a
|
|
16
|
+
container too old to be registered from the browser could still be linked from
|
|
17
|
+
the terminal without a word — and the failure surfaced later, on the first
|
|
18
|
+
screen that needed something the box does not speak, with a deployment row on
|
|
19
|
+
file to explain it. `link` now reads the box's public handshake
|
|
20
|
+
(`GET <url>/api/contract`, no credential) right after it resolves the agent and
|
|
21
|
+
before it verifies `--secret`, and refuses with the same sentence the browser
|
|
22
|
+
wizard prints. A box that never answers, one that answers with something that
|
|
23
|
+
is not a handshake, and one that is simply too old each fail in their own
|
|
24
|
+
words. Nothing is written on refusal: no deployment, no local project file.
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- **The agent protocol the box reports goes from 14 to 15, `stackbone dev`
|
|
29
|
+
included.** The box now permits the `stackbone-signature` request header on a
|
|
30
|
+
cross-origin preflight, which is what lets a browser sign a challenge against
|
|
31
|
+
it. Nothing on the wire changes shape and no capability moves — the number is
|
|
32
|
+
the change, and it is what a caller reads to know the box has it. The origin
|
|
33
|
+
allowlist is untouched: one more permitted header is not one more permitted
|
|
34
|
+
origin.
|
|
35
|
+
- **`stackbone package` says how a managed Redis URL is written.** The generated
|
|
36
|
+
`.env` and README carried `redis://host:6379`, which no managed provider
|
|
37
|
+
accepts: they all hand out a password, some require TLS, and a password
|
|
38
|
+
containing `/`, `+`, `=` or `@` has to be percent-encoded or the URL does not
|
|
39
|
+
parse. All three are now spelled out where the operator reads them, next to the
|
|
40
|
+
note that the agent PINGs Redis before starting and stops with the reason if it
|
|
41
|
+
cannot.
|
|
42
|
+
|
|
43
|
+
## [0.3.1] - 2026-08-06
|
|
44
|
+
|
|
45
|
+
### Added
|
|
46
|
+
|
|
47
|
+
- **`stackbone dev` links a project that arrived without a link.** `.stackbone/`
|
|
48
|
+
is gitignored — by the very block `init` and `link` write — so a project
|
|
49
|
+
cloned from someone else's repository has none, and there was no clean way to
|
|
50
|
+
get one: `dev` refused and pointed at `stackbone init`, which registers a
|
|
51
|
+
_new_ agent and scaffolds its own `package.json` over the project you were
|
|
52
|
+
handed, or at `stackbone link`, which registers an already-deployed box and so
|
|
53
|
+
requires its URL, HMAC secret and image tag. Neither describes "I was given
|
|
54
|
+
this project and want to run it".
|
|
55
|
+
|
|
56
|
+
Now `dev` lists the agents your organization owns, lets you pick one or create
|
|
57
|
+
a new one named after the folder, writes the link, gitignores it, and carries
|
|
58
|
+
on booting. Non-interactive runs (`--json`, `--yes`, CI, no terminal) still
|
|
59
|
+
fail rather than guessing, with a message naming the options that apply.
|
|
60
|
+
|
|
61
|
+
## [0.3.0] - 2026-08-06
|
|
62
|
+
|
|
63
|
+
### Added
|
|
64
|
+
|
|
65
|
+
- **`stackbone package` turns a project into a folder someone else can run.**
|
|
66
|
+
It compiles the workspace and writes a two-line Dockerfile over the published
|
|
67
|
+
Stackbone runtime base, a `docker-compose.yml` that also brings up a Postgres
|
|
68
|
+
and a Redis, an `.env` carrying a freshly generated `STACKBONE_SECRET_KEY`,
|
|
69
|
+
and a README written for whoever receives it. On the far end it is two
|
|
70
|
+
commands: `docker compose up -d`, then a health check. Building the image is
|
|
71
|
+
one `COPY` over a base that already carries the server and its dependencies,
|
|
72
|
+
so it takes seconds and needs neither the Stackbone monorepo nor an install.
|
|
73
|
+
|
|
74
|
+
The command always compiles rather than packaging whatever is sitting in
|
|
75
|
+
`dist/`: the folder gets run by someone else, days later, and there is nobody
|
|
76
|
+
left to notice it was built from yesterday's code.
|
|
77
|
+
|
|
78
|
+
`--offline` also saves the image into the folder (around 150 MB) for a
|
|
79
|
+
network that cannot reach a registry. That variant emits no build
|
|
80
|
+
instructions, since the image arrives by loading the archive.
|
|
81
|
+
|
|
82
|
+
Two things the generated files say that nothing said before: **the database
|
|
83
|
+
needs the `pgvector` extension** — without it the first boot applies most of
|
|
84
|
+
the schema and then stops, which reads like a bug in the agent rather than a
|
|
85
|
+
missing extension — and the agent serves on **8080** unless `PORT` says
|
|
86
|
+
otherwise, with `/live` as the health check a managed host should use.
|
|
87
|
+
|
|
88
|
+
### Changed
|
|
89
|
+
|
|
90
|
+
- **`stackbone build` no longer has to be followed by hand-written deployment
|
|
91
|
+
files.** It still emits just the workspace bundle, for anyone who already
|
|
92
|
+
owns their image and their deployment; `stackbone package` is now the route
|
|
93
|
+
to take when you do not.
|
|
94
|
+
|
|
10
95
|
## [0.2.10] - 2026-08-02
|
|
11
96
|
|
|
12
97
|
### Added
|