@easybits.cloud/cli 0.15.4 → 0.16.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/README.md CHANGED
@@ -108,7 +108,8 @@ easybits files ls
108
108
  easybits files upload ./report.pdf
109
109
  easybits files upload ./logo.png --public # open CDN URL; private by default
110
110
  easybits files rm FILE_ID --yes
111
- easybits websites ls
111
+ easybits sites ls # your site-builder sites (/dash/sitios): kind, engine, URL
112
+ easybits websites ls # every static website (also documents and agent-published pages)
112
113
  easybits websites create "My shop" --slug my-shop # slug optional
113
114
  easybits websites slug my-shop my-store # change it; the old URL 301s
114
115
  easybits providers # storage provider (Tigris by default)
@@ -172,6 +173,12 @@ Host *.ghosty
172
173
 
173
174
  Full reference: https://www.easybits.cloud/docs#cli · https://www.easybits.cloud/en/docs/cli.md
174
175
 
176
+ ## Changes in 0.16.0
177
+
178
+ - `sites ls`: the sites of the site builder (/dash/sitios) — static sites and web apps,
179
+ with the engine that builds each one and its public URL (`--json` for agents). Different
180
+ from `websites ls`, which lists every static website of the account.
181
+
175
182
  ## Changes in 0.15.1
176
183
 
177
184
  - After a `--dry-run`, the last line is the real command (`To apply: …`); without a terminal it
package/dist/index.js CHANGED
@@ -31,6 +31,9 @@ function langFlag(argv2) {
31
31
  return head.find((a) => a.startsWith("--lang="))?.slice(7);
32
32
  }
33
33
  var FROM_ES = [
34
+ ["Tu plan {} incluye {} agente y ya tienes {}. Borra uno para crear otro, o sube de plan ({}).", "Your {} plan includes {} agent and you already have {}. Delete one to create another, or upgrade ({})."],
35
+ ["Tu plan {} incluye {} agentes y ya tienes {}. Borra uno para crear otro, o sube de plan ({}).", "Your {} plan includes {} agents and you already have {}. Delete one to create another, or upgrade ({})."],
36
+ ["Tu plan {} incluye {} agentes y ya tienes {}. Borra uno para crear otro.", "Your {} plan includes {} agents and you already have {}. Delete one to create another."],
34
37
  ["ruta inv\xE1lida", "invalid path"],
35
38
  ["cuerpo vac\xEDo", "empty body"],
36
39
  ["archivo demasiado grande (m\xE1x 10 MB)", "file too large (max 10 MB)"],
@@ -136,6 +139,7 @@ var KIND_HINTS = () => ({
136
139
  SandboxUnreachable: t("The sandbox is not answering inside. Wait and retry; if it persists, destroy it.", "El sandbox no contesta por dentro. Espera y reintenta; si sigue, destr\xFAyelo."),
137
140
  SandboxHostTimeout: t("The operation may still be running. Check `easybits sb get <id>` and retry in a few minutes.", "La operaci\xF3n puede seguir en curso. Revisa `easybits sb get <id>` y reintenta en unos minutos."),
138
141
  SandboxHostError: t("The sandbox host failed. Retry; if it persists, contact support.", "Fall\xF3 el host de sandboxes. Reintenta; si sigue, contacta a soporte."),
142
+ AgentLimitReached: t("Your plan has no room for another persistent agent. Delete one (easybits agents ls) or upgrade: https://www.easybits.cloud/planes", "Tu plan ya no tiene lugar para otro agente persistente. Borra uno (easybits agents ls) o sube de plan: https://www.easybits.cloud/planes"),
139
143
  SQL_ERROR: t("Fix the SQL statement.", "Corrige la sentencia SQL."),
140
144
  DATABASE_STORAGE_MISSING: t("This database has no storage; its data is unavailable. Delete it (easybits db rm <db> --yes) and create a new one.", "Esta base no tiene almacenamiento; sus datos no est\xE1n disponibles. B\xF3rrala (easybits db rm <db> --yes) y crea otra."),
141
145
  DATABASE_BACKEND_ERROR: t("The database backend failed. Retry in a moment.", "Fall\xF3 el backend de la base. Reintenta en un momento.")
@@ -1828,6 +1832,43 @@ var machines = {
1828
1832
  }
1829
1833
  };
1830
1834
 
1835
+ // src/commands/sites.ts
1836
+ function siteRows(items) {
1837
+ return items.map((s) => ({
1838
+ ...s,
1839
+ kind: s.kind === "webapp" ? `webapp${s.stack ? ` (${s.stack})` : ""}` : "static",
1840
+ url: s.url ?? t("(not published)", "(sin publicar)"),
1841
+ createdAt: fmtDate(s.createdAt)
1842
+ }));
1843
+ }
1844
+ var sites = {
1845
+ name: "sites",
1846
+ group: "Hosting",
1847
+ summary: "Your site-builder sites (/dash/sitios): static and web apps",
1848
+ synopsis: "sites <ls>",
1849
+ subs: {
1850
+ ls: {
1851
+ aliases: ["list"],
1852
+ summary: "List your sites with their kind, engine and public URL",
1853
+ usage: "easybits sites ls",
1854
+ examples: ["easybits sites ls", "easybits sites ls --json"],
1855
+ async run(ctx) {
1856
+ const { items } = await api(ctx, "GET", "/sites");
1857
+ emit(
1858
+ ctx,
1859
+ items,
1860
+ () => table(
1861
+ siteRows(items),
1862
+ [["id", "ID"], ["name", "NAME"], ["kind", "KIND"], ["engine", "ENGINE"], ["url", "URL"]],
1863
+ t("No sites yet. Create one at https://www.easybits.cloud/dash/sitios", "Todav\xEDa no hay sitios. Crea uno en https://www.easybits.cloud/dash/sitios")
1864
+ )
1865
+ );
1866
+ }
1867
+ }
1868
+ },
1869
+ defaultSub: "ls"
1870
+ };
1871
+
1831
1872
  // src/commands/domains.ts
1832
1873
  async function sandbox2(ctx, usage2) {
1833
1874
  const id = need(ctx, 0, "sandbox", usage2);
@@ -3735,7 +3776,7 @@ async function updateNotice(current2) {
3735
3776
  }
3736
3777
 
3737
3778
  // src/commands/doctor.ts
3738
- var VERSION = true ? "0.15.4" : "dev";
3779
+ var VERSION = true ? "0.16.0" : "dev";
3739
3780
  var doctor2 = {
3740
3781
  name: "doctor",
3741
3782
  group: "Account",
@@ -3808,6 +3849,7 @@ var COMMANDS = [
3808
3849
  agents,
3809
3850
  apply,
3810
3851
  machines,
3852
+ sites,
3811
3853
  domains,
3812
3854
  init,
3813
3855
  db,
@@ -3961,6 +4003,8 @@ var HELP_ES = {
3961
4003
  "a copy": "una copia",
3962
4004
  "what would be removed": "lo que se quitar\xEDa",
3963
4005
  "Hosting": "Hosting",
4006
+ "Your site-builder sites (/dash/sitios): static and web apps": "Tus sitios del creador (/dash/sitios): est\xE1ticos y web apps",
4007
+ "List your sites with their kind, engine and public URL": "Enlista tus sitios con su tipo, motor y URL p\xFAblica",
3964
4008
  "Permanent machines and their releases (easybits deploy <machine> publishes)": "M\xE1quinas permanentes y sus releases (easybits deploy <m\xE1quina> publica)",
3965
4009
  "List your permanent machines": "Enlista tus m\xE1quinas permanentes",
3966
4010
  "Publish the machine's current app code as a new release": "Publica el c\xF3digo actual de la app como un release nuevo",
@@ -4244,7 +4288,7 @@ function normalizeArgs(input) {
4244
4288
  }
4245
4289
 
4246
4290
  // src/index.ts
4247
- var VERSION2 = true ? "0.15.4" : "dev";
4291
+ var VERSION2 = true ? "0.16.0" : "dev";
4248
4292
  var GLOBAL_OPTIONS = {
4249
4293
  json: { type: "boolean" },
4250
4294
  token: { type: "string" },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easybits.cloud/cli",
3
- "version": "0.15.4",
3
+ "version": "0.16.0",
4
4
  "description": "Official CLI for EasyBits, the cloud for AI agents — sandboxes, hosting, domains, databases, agents and files from your terminal",
5
5
  "type": "module",
6
6
  "bin": {