speculos-toolkit 1.2.4 → 1.2.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "speculos-toolkit",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "The Speculos toolkit for coding agents \u2014 deploy any frontend/backend to a live URL and build against your linked data connectors (BigQuery, Postgres, Snowflake, Salesforce, \u2026). Built for Claude Code, Codex, Cursor, and friends.",
5
5
  "bin": {
6
6
  "speculos-toolkit": "bin/speculos-toolkit.js"
package/skill/SKILL.md CHANGED
@@ -156,7 +156,8 @@ The last stdout line is `{ ok, brokerUrl, connectors: [{ alias, name, kind, acco
156
156
  - **A frontend-only deploy keeps the app's backend.** `--no-backend` (or a repo where the
157
157
  backend did not change) redeploys the frontend against the SAME backend URL and says so
158
158
  (`backendKept: true`); it used to silently bake `null` and the live app started 404ing
159
- its own API. Pass `--unset-backend` to actually detach it.
159
+ its own API. Pass `--unset-backend` to actually detach it — that sticks: the app
160
+ stays detached until a deploy actually ships a backend again.
160
161
  - `ok:true` with empty `connectors` → nothing linked (or nothing granted to this user).
161
162
  If the app clearly wants external data, tell the user to link a source (or ask their org
162
163
  admin for access) at **https://unified.speculos.ai/?tab=deploys**, then **re-run the list** —
package/src/index.js CHANGED
@@ -121,7 +121,8 @@ OPTIONS
121
121
  --no-backend frontend-only: skip backend even if one is detected (the app
122
122
  keeps pointing at the backend it already has)
123
123
  --unset-backend clear this app's backend URL: the frontend stops calling a
124
- backend (the sandbox itself stays up — use teardown for that)
124
+ backend (the sandbox itself stays up — use teardown for that).
125
+ It stays cleared until you deploy a backend again
125
126
  --private only you can open the deployed app (needs an account;
126
127
  the DEFAULT for a new app once this machine is linked)
127
128
  --org anyone in your org can open it (needs an account)
@@ -280,11 +281,13 @@ async function cmdDeploy(root, opts) {
280
281
  // at the backend it already has, which allocate reports. Without this, the
281
282
  // rebuilt bundle and the regenerated speculos-env.js both said "no backend"
282
283
  // and a live app started 404ing its own API. --unset-backend is the explicit
283
- // way to clear it (the backend sandbox itself stays up; `teardown` removes it).
284
+ // way to clear it, and the orchestrator remembers that: later frontend-only
285
+ // deploys stay detached (the backend sandbox itself stays up; `teardown`
286
+ // removes it).
284
287
  let keptBackendUrl = null;
285
288
  const liveBackendUrl = (alloc && alloc.backendUrl) || null;
286
289
  if (!backendUrl && liveBackendUrl) {
287
- if (opts.unsetBackend) log(opts, `↪ clearing this app's backend URL (--unset-backend) — the backend itself stays up`);
290
+ if (opts.unsetBackend) log(opts, `↪ clearing this app's backend URL (--unset-backend) — it stays cleared until you deploy a backend again; the backend itself stays up`);
288
291
  else { keptBackendUrl = liveBackendUrl; log(opts, `↪ keeping this app's existing backend: ${keptBackendUrl} (--unset-backend to clear it)`); }
289
292
  }
290
293
  const feBackendUrl = backendUrl || keptBackendUrl;