Update to @start9labs/start-sdk 2.0.9

Targets StartOS 0.4.0-beta.10 (was beta.9). Four breaking changes applied:

- Service interfaces moved onto their binding: sdk.serviceInterface.getOwn is
  gone, so nacho's EXPO_PUBLIC_API_BASE_URL now walks the subs-api interface off
  its host with sdk.host.getOwn, using the map selector so .const() re-runs only
  when that interface's address changes.
- SubContainer.of is lazy and synchronous — dropped the awaits.
- Task input split into accept/set; the Bitcoin RPC task accepts the credentials
  it sets, matching its previous behavior.
- The manifest alerts field was removed (ours was all null).

Also adopts the build plumbing the SDK now ships instead of vendoring it: the
Makefile includes node_modules/@start9labs/start-sdk/s9pk.mk, tsconfig extends
the SDK's base (ES2022, bundler resolution), and TypeScript moves to 6.0.

Verified by installing on a StartOS box: all daemons come up, nacho logs a
derived API base URL rather than the loopback fallback, and the sync health
check's space-cli exec runs on cadence against the shared subcontainer.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-30 11:48:09 -04:00
co-authored by Cursor
parent 196abdb860
commit b1d4890320
10 changed files with 1350 additions and 181 deletions
+14 -4
View File
@@ -1,4 +1,4 @@
# TODO — bring Spaces from beta.9 to
# TODO — bring Spaces from beta.9 to beta.10
Consult the packaging guide as you go
(`start-technologies/projects/start-sdk/docs/src/recipes.md` is the intent index). Remove items as you finish
@@ -6,7 +6,9 @@ them, and add items when you defer work.
## The service
- [ ] Update @start9labs/start-sdk to the latest version.
- [ ] Rename `startos/versions/v0.2.1.0.ts` to `startos/versions/current.ts` (the
guide keeps the latest version there; a dated file is only for a released
version that carries a migration).
## Docs
@@ -16,8 +18,16 @@ them, and add items when you defer work.
## Build, test, ship
- [ ] First test build: `make` (or `start-cli s9pk pack`); fix any `tsc` / pack errors.
- [ ] Build for arm (`ARCHES := x86 arm` in the `Makefile`). All four images declare
`aarch64` in the manifest and every tag publishes an arm64 variant, so the
package currently advertises support it never ships. Needs an arm box to verify.
- [x] First test build: `make` (or `start-cli s9pk pack`); fix any `tsc` / pack errors.
- [ ] Install on a StartOS box and verify the service runs (and is reachable, once it
exposes an interface).
exposes an interface). Under SDK 2.0 pay particular attention to nacho's
`EXPO_PUBLIC_API_BASE_URL` (now resolved by walking the subs-api host) and to
the Bitcoin RPC task raised on first install (`accept`/`set` input).
- [ ] `npx prettier --write startos` — 9 files predate the current prettier config and
fail `--check` (untouched by the SDK bump, so left out of that diff).
- [ ] Backup / restore sanity check.
- [ ] Review the README and instructions one more time against actual behavior.