@ghostystudio/cli 0.56.0 → 0.56.1
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/dist/index.js +90 -18
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -8468,7 +8468,7 @@ async function postLong(path, body, timeoutMs = 9e5) {
|
|
|
8468
8468
|
const req = httpsRequest(`${base}${path}`, {
|
|
8469
8469
|
method: "POST",
|
|
8470
8470
|
timeout: timeoutMs,
|
|
8471
|
-
headers: { authorization: `Bearer ${token}`, "user-agent": `ghosty-cli/${"0.56.
|
|
8471
|
+
headers: { authorization: `Bearer ${token}`, "user-agent": `ghosty-cli/${"0.56.1"}`, "content-type": "application/json", "content-length": Buffer.byteLength(data) }
|
|
8472
8472
|
}, (res) => {
|
|
8473
8473
|
let buf = "";
|
|
8474
8474
|
res.on("data", (c) => buf += c);
|
|
@@ -8510,7 +8510,7 @@ async function request(path, opts = {}, retried = false) {
|
|
|
8510
8510
|
method: opts.method ?? (opts.body !== void 0 || opts.raw !== void 0 ? "POST" : "GET"),
|
|
8511
8511
|
headers: {
|
|
8512
8512
|
authorization: `Bearer ${token}`,
|
|
8513
|
-
"user-agent": `ghosty-cli/${"0.56.
|
|
8513
|
+
"user-agent": `ghosty-cli/${"0.56.1"}`,
|
|
8514
8514
|
"accept-language": lang(),
|
|
8515
8515
|
...opts.body !== void 0 ? { "content-type": "application/json" } : {},
|
|
8516
8516
|
...opts.headers
|
|
@@ -10404,7 +10404,7 @@ async function call(path, v, init = {}) {
|
|
|
10404
10404
|
"x-ghosty-ts": ts,
|
|
10405
10405
|
"x-ghosty-sig": sig,
|
|
10406
10406
|
"content-type": "application/json",
|
|
10407
|
-
"user-agent": `ghosty-cli/${"0.56.
|
|
10407
|
+
"user-agent": `ghosty-cli/${"0.56.1"}`
|
|
10408
10408
|
},
|
|
10409
10409
|
body: method === "GET" ? void 0 : raw
|
|
10410
10410
|
});
|
|
@@ -12436,14 +12436,23 @@ var HELPS_ES = {
|
|
|
12436
12436
|
notes: ["ls dice, de una ya enviada, cu\xE1ntos entreg\xF3 y rechaz\xF3 FCM (del push log, desde el 1-oct).", "--image se publica en img.ghosty.studio (WebP 1200 px). --to vac\xEDo = todos. send sin --at la manda ya (pregunta); --at '' quita la programaci\xF3n.", "--min-version N (versionCode de Android): si la app del tester es m\xE1s vieja, el bot\xF3n dice \xABActualizar\xBB y lanza la actualizaci\xF3n de Play desde la app; '' la quita."]
|
|
12437
12437
|
},
|
|
12438
12438
|
sites: {
|
|
12439
|
-
summary: "
|
|
12439
|
+
summary: "Los sitios que publican tus agentes en <slug>.ghosty.page. En el plan Gratis un sitio se PAUSA tras 30 d\xEDas sin cambios (no se borra nada; vuelve tal cual al fijarlo). \xABSitios fijos\xBB ($49 USD al a\xF1o o $5 USD al mes \u2014 $990 / $99 MXN \u2014, incluye hasta 3 sitios; se suman 3 m\xE1s por el mismo precio) no se pausan y van sin la franja \xABHecha con Ghosty\xBB. El staff adem\xE1s publica los sitios de la casa y cambia el slug de cualquiera.",
|
|
12440
12440
|
flags: [
|
|
12441
12441
|
["--house", "ls (staff): los sitios de la casa en vez de los tuyos"],
|
|
12442
|
+
["--interval I", "pin: year (default, 2 meses gratis) o month \u2014 el periodo del cobro si hay que pagar"],
|
|
12443
|
+
["--currency C", "pin: usd (default) o mxn \u2014 la moneda del cobro si hay que pagar"],
|
|
12444
|
+
["--add-pack", "pin: ya usas tus lugares \u2014 suma 3 m\xE1s (mismo periodo y moneda de tu suscripci\xF3n) y fija \xE9ste"],
|
|
12445
|
+
["--cancel / --resume", "pins: cancela al final del periodo (los sitios vuelven a Gratis con aviso), o lo deshace"],
|
|
12442
12446
|
["--title T", "publish: el nombre del sitio (default: el <title> del HTML o el nombre de la carpeta)"],
|
|
12443
12447
|
["--slug S", "publish: el slug de un sitio NUEVO (a-z, 0-9 y guiones, 3\u201360, no reservado)"],
|
|
12444
12448
|
["--site X", "publish: actualiza ese sitio de la casa (slug, id o URL) en vez de crear uno"]
|
|
12445
12449
|
],
|
|
12446
|
-
notes: [
|
|
12450
|
+
notes: [
|
|
12451
|
+
"pin: con lugar libre lo fija al momento; sin suscripci\xF3n imprime una liga de pago con tarjeta (queda fijo al pagar); con todos los lugares ocupados contesta needs_pack (repite con --add-pack).",
|
|
12452
|
+
"unpin, cancelar o un pago fallido nunca pausan de golpe: el sitio vuelve a la regla Gratis (30 d\xEDas desde su \xFAltimo cambio, m\xEDnimo 8 desde hoy, aviso 7 d\xEDas antes).",
|
|
12453
|
+
"Una carpeta necesita index.html en la ra\xEDz; se saltan ocultos y node_modules. Topes: 1 MB por archivo, 8 MB y 40 archivos por sitio.",
|
|
12454
|
+
"Errores de slug: slug_invalid, slug_taken, slug_unsupported (exit 1, no cambia nada)."
|
|
12455
|
+
]
|
|
12447
12456
|
},
|
|
12448
12457
|
spaces: {
|
|
12449
12458
|
summary: "Espacios: crea uno a tu nombre (prueba), lista los tuyos (o, staff, los de cualquiera) y operaciones del staff de Ghosty \u2014 entrar/salir del espacio de un cliente, cambiar su combo, mover \xABpagado hasta\xBB, renombrar su slug, cambiar de due\xF1o. Cada cambio queda en la bit\xE1cora del espacio.",
|
|
@@ -13199,16 +13208,32 @@ HELPS.spaces = {
|
|
|
13199
13208
|
};
|
|
13200
13209
|
HELPS.workspaces = HELPS.spaces;
|
|
13201
13210
|
HELPS.sites = {
|
|
13202
|
-
summary: "
|
|
13203
|
-
usage: [
|
|
13211
|
+
summary: "Sites your agents publish at <slug>.ghosty.page. On the Free plan a site PAUSES after 30 days without changes (nothing is deleted; it comes back as-is when pinned). \xABPinned sites\xBB ($49 USD/yr or $5 USD/mo \u2014 $990 / $99 MXN \u2014 includes up to 3 sites; add 3 more for the same price) never pause and carry no \xABMade with Ghosty\xBB banner. Staff also publish Ghosty's own house sites and change any site's slug.",
|
|
13212
|
+
usage: [
|
|
13213
|
+
"ghosty sites ls [--house]",
|
|
13214
|
+
"ghosty sites pin <slug|id> [--interval year|month] [--currency usd|mxn] [--add-pack]",
|
|
13215
|
+
"ghosty sites unpin <slug|id>",
|
|
13216
|
+
"ghosty sites pins [--cancel | --resume]",
|
|
13217
|
+
"ghosty sites publish <file.html|folder> [--title T] [--slug S] [--site <slug|id>]",
|
|
13218
|
+
"ghosty sites slug <slug|id> <new-slug>"
|
|
13219
|
+
],
|
|
13204
13220
|
flags: [
|
|
13205
13221
|
["--house", "ls (staff): Ghosty's house sites instead of yours"],
|
|
13222
|
+
["--interval I", "pin: year (default, 2 months free) or month \u2014 the billing period if you need to pay"],
|
|
13223
|
+
["--currency C", "pin: usd (default) or mxn \u2014 the currency charged if you need to pay"],
|
|
13224
|
+
["--add-pack", "pin: you already use your slots \u2014 add 3 more (same period and currency as your subscription) and pin this one"],
|
|
13225
|
+
["--cancel / --resume", "pins: cancel at period end (sites go back to Free with notice), or undo it"],
|
|
13206
13226
|
["--title T", "publish: the site's name (default: the HTML <title> or the folder name)"],
|
|
13207
13227
|
["--slug S", "publish: the slug for a NEW site (a-z, 0-9 and hyphens, 3\u201360, not reserved)"],
|
|
13208
13228
|
["--site X", "publish: update that house site (slug, id or URL) instead of creating one"]
|
|
13209
13229
|
],
|
|
13210
|
-
examples: ["ghosty sites
|
|
13211
|
-
notes: [
|
|
13230
|
+
examples: ["ghosty sites pin tacos-don-pepe", "ghosty sites pin tacos-don-pepe --interval month --currency mxn", "ghosty sites unpin landing-vieja", "ghosty sites pins --cancel", "ghosty sites publish ./landing/ --site gelatina-de-sandia"],
|
|
13231
|
+
notes: [
|
|
13232
|
+
"pin: with a free slot it pins right away; without a subscription it prints a card-payment link (the site is pinned when you pay); with every slot used it answers needs_pack (repeat with --add-pack).",
|
|
13233
|
+
"unpin, cancelling, or a failed payment never pause a site at once: it goes back to the Free rule (30 days since its last change, at least 8 from today, notice 7 days before).",
|
|
13234
|
+
"A folder needs index.html at its root; hidden files and node_modules are skipped. Limits: 1 MB per file, 8 MB and 40 files per site.",
|
|
13235
|
+
"Slug errors: slug_invalid, slug_taken, slug_unsupported (exit 1, nothing changes)."
|
|
13236
|
+
],
|
|
13212
13237
|
learn: `${REF}#sitios`
|
|
13213
13238
|
};
|
|
13214
13239
|
HELPS.staff = {
|
|
@@ -14053,17 +14078,51 @@ function titleOf(html) {
|
|
|
14053
14078
|
const s2 = m?.[1]?.replace(/\s+/g, " ").trim();
|
|
14054
14079
|
return s2 || null;
|
|
14055
14080
|
}
|
|
14081
|
+
var PACK = { year: { usd: 49, mxn: 990 }, month: { usd: 5, mxn: 99 } };
|
|
14082
|
+
var packPrice = (c, i, lang2) => `$${(PACK[i]?.[c] ?? 0).toLocaleString("en-US")} ${c.toUpperCase()}${lang2 === "es" ? i === "year" ? " al a\xF1o" : " al mes" : i === "year" ? "/yr" : "/mo"}`;
|
|
14056
14083
|
var kb = (n) => n ? `${Math.max(1, Math.round(n / 1024))} KB` : "";
|
|
14057
14084
|
var day = (iso) => iso ? iso.slice(0, 10) : "";
|
|
14058
14085
|
async function sitesCmd(sub, a1, a2, v) {
|
|
14059
|
-
const ex = "ghosty sites publish <file.html|folder> [--title T] [--slug S] [--site <slug|id>] \xB7
|
|
14086
|
+
const ex = "ghosty sites ls [--house] \xB7 pin|unpin <slug|id> \xB7 pins [--cancel|--resume] \xB7 publish <file.html|folder> [--title T] [--slug S] [--site <slug|id>] \xB7 slug <slug|id> <new-slug>";
|
|
14060
14087
|
switch (sub ?? "ls") {
|
|
14061
14088
|
case "ls":
|
|
14062
14089
|
case "list": {
|
|
14063
14090
|
const r = await api(`/api/v2/sites?scope=${v.house ? "house" : "mine"}`);
|
|
14064
|
-
const
|
|
14091
|
+
const state = (s2) => s2.pinned ? t("pinned", "fijado") : s2.status === "paused" ? t("paused", "en pausa") : s2.expiresAt ? t(`pauses ${day(s2.expiresAt)}`, `se pausa ${day(s2.expiresAt)}`) : t("never pauses", "no caduca");
|
|
14092
|
+
const rows = r.sites.map((s2) => ({ slug: s2.slug, title: (s2.title ?? "").slice(0, 40), url: s2.url, files: s2.files ?? "", size: kb(s2.bytes), published: day(s2.publishedAt), state: state(s2) }));
|
|
14065
14093
|
return out(r, () => `${bold(v.house ? t("House sites", "Sitios de la casa") : t("Your sites", "Tus sitios"))}
|
|
14066
|
-
${table(rows, ["slug", "title", "url", "files", "size", "published", "
|
|
14094
|
+
${table(rows, ["slug", "title", "url", "files", "size", "published", "state"])}`);
|
|
14095
|
+
}
|
|
14096
|
+
case "pin": {
|
|
14097
|
+
if (!a1) throw usage(t("Missing the site (slug, id or URL).", "Falta el sitio (slug, id o URL)."), "ghosty sites pin <slug|id> [--currency usd|mxn] [--add-pack]");
|
|
14098
|
+
const r = await api(`/api/v2/sites/${encodeURIComponent(a1)}/pin`, { method: "POST", body: { currency: v.currency === "mxn" ? "mxn" : "usd", interval: v.interval === "month" ? "month" : "year", addPack: v["add-pack"] === true } });
|
|
14099
|
+
return out(r, () => {
|
|
14100
|
+
if (r.status === "checkout") return `${t("Pay with a card here (the site gets pinned when you pay):", "Paga con tarjeta aqu\xED (el sitio queda fijo al pagar):")}
|
|
14101
|
+
${bold(r.url)}`;
|
|
14102
|
+
if (r.status === "needs_pack")
|
|
14103
|
+
return `${t(`You already use your ${r.slots.total} pinned sites \xB7 add 3 more (${packPrice(r.currency, r.interval, "en")}):`, `Ya usas tus ${r.slots.total} sitios fijos \xB7 suma 3 m\xE1s (${packPrice(r.currency, r.interval, "es")}):`)} ghosty sites pin ${a1} --add-pack
|
|
14104
|
+
${dim(t("or release one: ghosty sites unpin <slug>", "o suelta uno: ghosty sites unpin <slug>"))}`;
|
|
14105
|
+
if (r.status === "already_pinned") return `${lavender("\u2713")} ${t("Already pinned", "Ya estaba fijo")} ${bold(r.url)}`;
|
|
14106
|
+
return `${lavender("\u2713")} ${t("Pinned", "Fijado")} ${bold(r.url)} ${dim(`(${r.slots.used}/${r.slots.total})`)}`;
|
|
14107
|
+
});
|
|
14108
|
+
}
|
|
14109
|
+
case "unpin": {
|
|
14110
|
+
if (!a1) throw usage(t("Missing the site (slug, id or URL).", "Falta el sitio (slug, id o URL)."), "ghosty sites unpin <slug|id>");
|
|
14111
|
+
const r = await api(`/api/v2/sites/${encodeURIComponent(a1)}/pin`, { method: "DELETE" });
|
|
14112
|
+
return out(r, () => `${lavender("\u2713")} ${t("Released", "Suelto")} ${bold(r.url)}
|
|
14113
|
+
${dim(r.expiresAt ? t(`Free rule: pauses ${day(r.expiresAt)} unless it changes (notice 7 days before).`, `Regla Gratis: se pausa el ${day(r.expiresAt)} si no cambia (aviso 7 d\xEDas antes).`) : t("Your plan keeps it published.", "Tu plan lo mantiene publicado."))}`);
|
|
14114
|
+
}
|
|
14115
|
+
case "pins": {
|
|
14116
|
+
if (v.cancel || v.resume) {
|
|
14117
|
+
const r2 = await api("/api/v2/sites/pins", { method: "POST", body: { cancel: Boolean(v.cancel) } });
|
|
14118
|
+
return out(r2, () => r2.cancelAtEnd ? `${lavender("\u2713")} ${t(`Cancelled: pinned until ${day(r2.periodEnd)}, then back to Free with notice.`, `Cancelada: fijos hasta el ${day(r2.periodEnd)}; luego vuelven a Gratis con aviso.`)}` : `${lavender("\u2713")} ${t("Resumed.", "Reanudada.")}`);
|
|
14119
|
+
}
|
|
14120
|
+
const r = await api("/api/v2/sites/pins");
|
|
14121
|
+
return out(
|
|
14122
|
+
r,
|
|
14123
|
+
() => r.total ? `${bold(t(`Pinned sites: ${r.used} of ${r.total}`, `Sitios fijos: ${r.used} de ${r.total}`))} ${dim(`${r.status} \xB7 ${r.currency ?? ""} \xB7 ${r.cancelAtEnd ? t("cancels", "se cancela") : t("renews", "renueva")} ${day(r.periodEnd)}`)}
|
|
14124
|
+
${table(r.pinned.map((p) => ({ slug: p.slug, title: (p.title ?? "").slice(0, 40), url: p.url, since: day(p.pinnedAt) })), ["slug", "title", "url", "since"])}` : t("No pinned sites. Pin one ($49 USD/yr or $5 USD/mo, includes up to 3 sites): ghosty sites pin <slug>", "Sin sitios fijos. Fija uno ($49 USD al a\xF1o o $5 USD al mes, incluye hasta 3 sitios): ghosty sites pin <slug>")
|
|
14125
|
+
);
|
|
14067
14126
|
}
|
|
14068
14127
|
case "publish":
|
|
14069
14128
|
case "deploy": {
|
|
@@ -14166,6 +14225,7 @@ ${dim(`${t("Detail", "Detalle")}: ghosty factory runs show <run> --workspace ${r
|
|
|
14166
14225
|
`${bold(`#${tm.run}`)} ${dim(`\xB7 ${tm.status} \xB7 ${t("loops", "vueltas")} ${tm.loops} \xB7 ${t("red CI", "CI rojo")} ${tm.ciFails}`)} \xB7 ${bold(money(tm.usd))} USD`,
|
|
14167
14226
|
`${t("clock", "reloj")}: ${mins(c.totalMinutes)} = ${t("working", "trabajando")} ${mins(c.workingMinutes)} \xB7 ${t("waiting for a person", "esperando a una persona")} ${mins(c.waitingHumanMinutes)} \xB7 ${t("other (CI, queues)", "lo dem\xE1s (CI, colas)")} ${mins(c.otherMinutes)}`,
|
|
14168
14227
|
dim(c.byState.map((b) => `${b.state} ${mins(b.minutes)}`).join(" \u2192 ")),
|
|
14228
|
+
...tm.missingRoles?.length ? [red(t(`No recorded turn for @${tm.missingRoles.join(", @")}: it was lost (e.g. a gs deploy while it closed).`, `No qued\xF3 registrado el turno de @${tm.missingRoles.join(", @")}: se perdi\xF3 (p. ej. un deploy de gs al cerrarlo).`))] : [],
|
|
14169
14229
|
""
|
|
14170
14230
|
];
|
|
14171
14231
|
const rows = tm.steps.map((s2) => ({
|
|
@@ -14191,6 +14251,8 @@ ${dim(`${t("Detail", "Detalle")}: ghosty factory runs show <run> --workspace ${r
|
|
|
14191
14251
|
if (verb === "why") {
|
|
14192
14252
|
const { why: w, workspace } = await api(`${path}/why`, v.refresh ? { body: { refresh: true } } : void 0);
|
|
14193
14253
|
return out({ workspace, why: w }, () => {
|
|
14254
|
+
const gap = w.incomplete?.length ? red(t(`Incomplete: no recorded turn for @${w.incomplete.join(", @")} (lost, e.g. a deploy while it closed); numbers don't add up.`, `Incompleto: no qued\xF3 registrado el turno de @${w.incomplete.join(", @")} (se perdi\xF3, p. ej. un deploy al cerrarlo); los n\xFAmeros no cuadran.`)) : null;
|
|
14255
|
+
if (gap) return `${bold(`#${w.runId}`)} ${gap}`;
|
|
14194
14256
|
if (w.healthy) return `${lavender("\u2713")} #${w.runId} ${t("was healthy: no stuck patterns, no long @build, no loops, no red CI.", "fue sano: sin atascos, sin @build largo, sin vueltas ni CI rojo.")}`;
|
|
14195
14257
|
const impact = { high: t("high", "alto"), medium: t("medium", "medio"), low: t("low", "bajo") }[w.impact] ?? w.impact;
|
|
14196
14258
|
return [
|
|
@@ -14603,8 +14665,11 @@ ${bold("Support")} ${dim("(Ghosty staff)")}
|
|
|
14603
14665
|
push log --user EMAIL Pushes sent to someone and what Apple/Google answered [--since 2d]
|
|
14604
14666
|
novedades ls|create|set|test|send|rm Android app announcements [--title] [--body] [--image FILE] [--link] [--to] [--min-version N] [--publish] [--at]
|
|
14605
14667
|
|
|
14606
|
-
${bold("Sites")} ${dim("(
|
|
14607
|
-
sites ls Sites your agents published [--house: Ghosty's own demos and landings (staff)]
|
|
14668
|
+
${bold("Sites")} ${dim("(sites your agents publish at <slug>.ghosty.page)")}
|
|
14669
|
+
sites ls Sites your agents published (live and paused) [--house: Ghosty's own demos and landings (staff)]
|
|
14670
|
+
sites pin <slug|id> Pin it: never pauses, no banner ($49 USD/yr or $5/mo, includes up to 3 sites) [--interval year|month] [--currency usd|mxn] [--add-pack: 3 more]
|
|
14671
|
+
sites unpin <slug|id> Release its slot (back to the Free rule: 30 days + notice)
|
|
14672
|
+
sites pins Your pinned-sites subscription and slots [--cancel | --resume]
|
|
14608
14673
|
sites publish <file.html|folder> Publish a house site (staff): no owner, no expiry, no banner [--title] [--slug S] [--site <slug|id>: update that one]
|
|
14609
14674
|
sites slug <slug|id> <new-slug> Change a site's slug (staff)
|
|
14610
14675
|
|
|
@@ -14767,8 +14832,11 @@ ${bold("Soporte")} ${dim("(staff de Ghosty)")}
|
|
|
14767
14832
|
push log --user CORREO Avisos que se le mandaron a alguien y qu\xE9 contest\xF3 Apple/Google [--since 2d]
|
|
14768
14833
|
novedades ls|create|set|test|send|rm Novedades de la app Android [--title] [--body] [--image ARCHIVO] [--link] [--to] [--min-version N] [--publish] [--at]
|
|
14769
14834
|
|
|
14770
|
-
${bold("Sitios")} ${dim("(sitios
|
|
14771
|
-
sites ls Sitios que publicaron tus agentes [--house: demos y landings de Ghosty (staff)]
|
|
14835
|
+
${bold("Sitios")} ${dim("(los sitios que publican tus agentes en <slug>.ghosty.page)")}
|
|
14836
|
+
sites ls Sitios que publicaron tus agentes (vivos y en pausa) [--house: demos y landings de Ghosty (staff)]
|
|
14837
|
+
sites pin <slug|id> F\xEDjalo: no se pausa y va sin franja ($49 USD al a\xF1o o $5 al mes, incluye hasta 3 sitios) [--interval year|month] [--currency usd|mxn] [--add-pack: 3 m\xE1s]
|
|
14838
|
+
sites unpin <slug|id> Suelta su lugar (vuelve a la regla Gratis: 30 d\xEDas + aviso)
|
|
14839
|
+
sites pins Tu suscripci\xF3n de Sitios fijos y sus lugares [--cancel | --resume]
|
|
14772
14840
|
sites publish <archivo.html|carpeta> Publica un sitio de la casa (staff): sin due\xF1o, sin caducidad, sin franja [--title] [--slug S] [--site <slug|id>: actualiza \xE9se]
|
|
14773
14841
|
sites slug <slug|id> <slug-nuevo> Cambia el slug de un sitio (staff)
|
|
14774
14842
|
|
|
@@ -14901,6 +14969,10 @@ async function main() {
|
|
|
14901
14969
|
slug: { type: "string" },
|
|
14902
14970
|
site: { type: "string" },
|
|
14903
14971
|
house: { type: "boolean" },
|
|
14972
|
+
currency: { type: "string" },
|
|
14973
|
+
"add-pack": { type: "boolean" },
|
|
14974
|
+
interval: { type: "string" },
|
|
14975
|
+
cancel: { type: "boolean" },
|
|
14904
14976
|
on: { type: "boolean" },
|
|
14905
14977
|
off: { type: "boolean" },
|
|
14906
14978
|
turns: { type: "string" },
|
|
@@ -15085,7 +15157,7 @@ async function main() {
|
|
|
15085
15157
|
const tokens = splitTokens(pos, v);
|
|
15086
15158
|
globals.token = tokens.session;
|
|
15087
15159
|
globals.profile = v.profile;
|
|
15088
|
-
if (v.version) return out({ version: "0.56.
|
|
15160
|
+
if (v.version) return out({ version: "0.56.1" }, () => "0.56.1");
|
|
15089
15161
|
for (const n of normalizeArgs(pos, v)) if (!globals.json) info(dim(n));
|
|
15090
15162
|
const context = (await readConfig()).workspace;
|
|
15091
15163
|
if (!explicitToken()?.startsWith("gat_")) {
|
|
@@ -15251,7 +15323,7 @@ async function main() {
|
|
|
15251
15323
|
throw unknown(cmd, cmd, COMMANDS, "ghosty --help");
|
|
15252
15324
|
}
|
|
15253
15325
|
}
|
|
15254
|
-
var notice = updateNotice("0.56.
|
|
15326
|
+
var notice = updateNotice("0.56.1").catch(() => null);
|
|
15255
15327
|
main().then(
|
|
15256
15328
|
async () => {
|
|
15257
15329
|
const n = await notice;
|
package/package.json
CHANGED