@lizard-build/cli 0.3.44 → 0.3.46

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.
@@ -4,6 +4,23 @@ import { streamSSE, api, withScope, withQuery } from "../lib/api.js";
4
4
  import { resolveProjectScope, resolveService, getActiveServiceWithKind } from "../lib/resolve.js";
5
5
  import { getProjectLink } from "../lib/config.js";
6
6
  import { info, error, warn, isTTY, isJSONMode, printJSON, table, statusColor, timeAgo } from "../lib/format.js";
7
+ // Levels assigned by the platform's log collector (regex over the message
8
+ // text — apps that log errors without an "error"-like keyword come as info).
9
+ const LOG_LEVELS = ["error", "warn", "info", "debug"];
10
+ /** Client-side level filter for SSE streams — the live endpoints have no
11
+ * server-side `level` param (only the historical query does). Entries
12
+ * without a level field default to "info", matching the server's parser. */
13
+ function matchesLevel(data, level) {
14
+ if (!level)
15
+ return true;
16
+ try {
17
+ const e = JSON.parse(data);
18
+ return ((e && e.level) ?? "info") === level;
19
+ }
20
+ catch {
21
+ return level === "info";
22
+ }
23
+ }
7
24
  export function registerLogs(program) {
8
25
  program
9
26
  .command("logs")
@@ -12,6 +29,7 @@ export function registerLogs(program) {
12
29
  .option("-s, --service <id>", "Only show logs for a specific service")
13
30
  .option("-p, --project <id>", "Project name, slug, or ID")
14
31
  .option("--tail <n>", "Print last N log lines and exit (no follow)")
32
+ .option("-l, --level <level>", `Only show logs at this level (${LOG_LEVELS.join("|")})`)
15
33
  .option("--restarts [n]", "List last N restart events (default 20) and exit")
16
34
  .option("--restart <id>", "Print log tail of a specific restart event (or 'latest')")
17
35
  .action(async (opts) => {
@@ -23,6 +41,14 @@ export function registerLogs(program) {
23
41
  error("--tail cannot be combined with --restarts/--restart");
24
42
  process.exit(1);
25
43
  }
44
+ if (opts.level && !LOG_LEVELS.includes(opts.level)) {
45
+ error(`Invalid --level "${opts.level}". Choose one of: ${LOG_LEVELS.join(", ")}`);
46
+ process.exit(1);
47
+ }
48
+ if (opts.level && (opts.build || opts.restarts !== undefined || opts.restart !== undefined)) {
49
+ error("--level applies to runtime logs only (not --build/--restarts/--restart)");
50
+ process.exit(1);
51
+ }
26
52
  const { projectId, scope } = await resolveProjectScope(opts.project);
27
53
  if (opts.restarts !== undefined) {
28
54
  await showRestartList(opts.service, projectId, parseRestartsN(opts.restarts));
@@ -67,6 +93,7 @@ export function registerLogs(program) {
67
93
  const entries = await api.get(withScope(withQuery(`/api/projects/${projectId}/logs`, {
68
94
  limit: tailN,
69
95
  service: serviceName,
96
+ level: opts.level,
70
97
  }), scope));
71
98
  for (const e of entries)
72
99
  printLogEntry(e);
@@ -107,6 +134,8 @@ export function registerLogs(program) {
107
134
  process.exitCode = 1;
108
135
  return false;
109
136
  }
137
+ if (!matchesLevel(data, opts.level))
138
+ return true;
110
139
  printLogLine(data);
111
140
  return true;
112
141
  };
@@ -116,12 +145,13 @@ export function registerLogs(program) {
116
145
  const streamPath = serviceKind === "addon"
117
146
  ? withScope(`/api/projects/${projectId}/addons/${serviceId}/logs`, scope)
118
147
  : `/api/apps/${serviceId}/logs`;
119
- info(chalk.dim("Streaming logs... (Ctrl+C to stop)\n"));
148
+ const filterNote = opts.level ? ` [level=${opts.level}]` : "";
149
+ info(chalk.dim(`Streaming logs...${filterNote} (Ctrl+C to stop)\n`));
120
150
  await streamSSE(streamPath, streamHandler, { reconnect: true, onReconnect });
121
151
  return;
122
152
  }
123
153
  // Stream all project logs
124
- info(chalk.dim("Streaming project logs... (Ctrl+C to stop)\n"));
154
+ info(chalk.dim(`Streaming project logs...${opts.level ? ` [level=${opts.level}]` : ""} (Ctrl+C to stop)\n`));
125
155
  await streamSSE(withScope(`/api/projects/${projectId}/logs/stream`, scope), streamHandler, { reconnect: true, onReconnect });
126
156
  });
127
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAsB,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhH,0EAA0E;AAC1E,6EAA6E;AAC7E,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD;;6EAE6E;AAC7E,SAAS,YAAY,CAAC,IAAY,EAAE,KAAc;IAChD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,KAAK,MAAM,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,SAAS,EAAE,oCAAoC,CAAC;SACvD,MAAM,CAAC,oBAAoB,EAAE,uCAAuC,CAAC;SACrE,MAAM,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;SACzD,MAAM,CAAC,YAAY,EAAE,6CAA6C,CAAC;SACnE,MAAM,CAAC,qBAAqB,EAAE,iCAAiC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;SACvF,MAAM,CAAC,gBAAgB,EAAE,kDAAkD,CAAC;SAC5E,MAAM,CAAC,gBAAgB,EAAE,0DAA0D,CAAC;SACpF,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9D,KAAK,CAAC,4DAA4D,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,EAAE,CAAC;YAC3F,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,KAAK,CAAC,oBAAoB,IAAI,CAAC,KAAK,qBAAqB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,EAAE,CAAC;YAC5F,KAAK,CAAC,yEAAyE,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAErE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QAED,uEAAuE;QACvE,qEAAqE;QACrE,MAAM,KAAK,GACT,IAAI,CAAC,IAAI,KAAK,SAAS;YACrB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YACtB,CAAC,CAAC,UAAU,EAAE;gBACZ,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,SAAS,CAAC;QAElB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,oEAAoE;QACpE,wDAAwD;QACxD,IAAI,SAA6B,CAAC;QAClC,IAAI,WAA+B,CAAC;QACpC,IAAI,WAAwC,CAAC;QAC7C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1D,SAAS,GAAG,GAAG,CAAC,EAAE,CAAC;YACnB,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC;YACvB,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC;QACzB,CAAC;QAED,yCAAyC;QACzC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjC,+DAA+D;gBAC/D,6CAA6C;gBAC7C,KAAK,CAAC,YAAY,IAAI,CAAC,OAAO,iCAAiC,CAAC,CAAC;gBACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,8DAA8D;YAC9D,4DAA4D;YAC5D,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAC3B,SAAS,CACP,SAAS,CAAC,iBAAiB,SAAS,OAAO,EAAE;gBAC3C,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,EACF,KAAK,CACN,CACF,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,OAAO;gBAAE,aAAa,CAAC,CAAC,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,IAAI,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YAC3C,iDAAiD;YACjD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CACxB,SAAS,CAAC,iBAAiB,SAAS,WAAW,EAAE,KAAK,CAAC,CACxD,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;YAEjC,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG;oBACd,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,sBAAsB,EAAE;oBACrE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;wBACvB,KAAK,EAAE,CAAC,CAAC,EAAE;wBACX,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE;wBACrB,IAAI,EAAE,CAAC,CAAC,MAAM;qBACf,CAAC,CAAC;oBACH,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;wBACzB,KAAK,EAAE,CAAC,CAAC,EAAE;wBACX,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE;wBACpC,IAAI,EAAE,CAAC,CAAC,MAAM;qBACf,CAAC,CAAC;iBACJ,CAAC;gBACF,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBAChF,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;oBACvB,SAAS,GAAG,QAAkB,CAAC;oBAC/B,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,EAAE,CACtC,IAAI,CAAC,2CAA2C,OAAO,KAAK,CAAC,CAAC;QAChE,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,EAAE;YACpD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,CAAC;gBACZ,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACjD,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,iEAAiE;YACjE,wCAAwC;YACxC,MAAM,UAAU,GACd,WAAW,KAAK,OAAO;gBACrB,CAAC,CAAC,SAAS,CAAC,iBAAiB,SAAS,WAAW,SAAS,OAAO,EAAE,KAAK,CAAC;gBACzE,CAAC,CAAC,aAAa,SAAS,OAAO,CAAC;YACpC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,UAAU,qBAAqB,CAAC,CAAC,CAAC;YACrE,MAAM,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC;QAC7G,MAAM,SAAS,CACb,SAAS,CAAC,iBAAiB,SAAS,cAAc,EAAE,KAAK,CAAC,EAC1D,aAAa,EACb,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CACjC,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5B,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC/D,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AA0BD,KAAK,UAAU,iBAAiB,CAAC,KAAa;IAC5C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAgB,aAAa,KAAK,gBAAgB,CAAC,CAAC;IAChF,wEAAwE;IACxE,2EAA2E;IAC3E,4EAA4E;IAC5E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,CAC9B,SAAS,CAAC,aAAa,KAAK,gBAAgB,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAC9E,CAAC;YACF,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO;gBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;QAC/E,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,CAAM;IAC3B,IAAI,CAAC,CAAC,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAC1B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC;AAC/C,CAAC;AAED,SAAS,aAAa,CAAC,CAAM;IAC3B,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;IACzD,CAAC;SAAM,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,MAAM,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAE7D,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;QACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IAC9D,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED;4EAC4E;AAC5E,KAAK,UAAU,YAAY,CACzB,UAA8B,EAC9B,SAAiB,EACjB,IAAY;IAEZ,MAAM,GAAG,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAClE,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACzB,KAAK,CAAC,GAAG,IAAI,mCAAmC,GAAG,CAAC,IAAI,eAAe,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,UAA8B,EAC9B,SAAiB,EACjB,CAAS;IAET,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjC,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,KAAK,CACH,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAChD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACpB,CAAC,CAAC,MAAM;QACR,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;QACrB,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC/B,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;QAC/B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;KAChB,CAAC,CACH,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,kCAAkC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,UAA8B,EAC9B,SAAiB,EACjB,GAAW;IAEX,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAE/C,IAAI,GAA0B,CAAC;IAC/B,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,KAAK,CAAC,yBAAyB,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,KAAK,CAAC,kBAAkB,GAAG,mBAAmB,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,SAAS,CAAC,GAAG,CAAC,CAAC;QACf,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,IAAI,GAAG,CAAC,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtE,IAAI,GAAG,CAAC,WAAW;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5E,IAAI,GAAG,CAAC,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,GAAG,CAAC,MAAM,wCAAwC,CAAC,CAAC,CAAC;IACxG,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,UAA8B,EAC9B,SAAiB,EACjB,KAAoB,EACpB,KAAc;IAEd,IAAI,KAAyB,CAAC;IAC9B,IAAI,UAAU,IAAI,cAAc,EAAE,EAAE,SAAS,EAAE,CAAC;QAC9C,uDAAuD;QACvD,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QACpE,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CACxB,SAAS,CAAC,iBAAiB,SAAS,WAAW,EAAE,KAAK,CAAC,CACxD,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;QACJ,CAAC;QACD,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,2BAA2B,CAAC,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,CAEtB,aAAa,KAAK,EAAE,CAAC,CAAC;IACzB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,OAAO,IAAI,CAAC,CAAC,CAAC;IAEtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,qEAAqE;QACrE,uEAAuE;QACvE,2DAA2D;QAC3D,EAAE;QACF,0EAA0E;QAC1E,yEAAyE;QACzE,gDAAgD;QAChD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,SAAS,CACb,eAAe,OAAO,OAAO,EAC7B,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACd,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO;gBAAE,OAAO,KAAK,CAAC;YACxD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,EACD,EAAE,aAAa,EAAE,IAAI,EAAE,CACxB,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE;YAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QACnE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,IAAI,UAAU,EAAE,EAAE,CAAC;gBACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,SAAS,CAAC,eAAe,OAAO,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC7D,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,sEAAsE;YACtE,wDAAwD;YACxD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QACnC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,4 +1,4 @@
1
- export declare const CURRENT_VERSION = "0.3.44";
1
+ export declare const CURRENT_VERSION = "0.3.46";
2
2
  /**
3
3
  * True only when running as the Bun-compiled standalone binary. Under
4
4
  * npm/node, `process.execPath` is the *node* executable — self-update would
@@ -4,7 +4,7 @@ import { Readable } from "node:stream";
4
4
  import { join, dirname } from "node:path";
5
5
  import os from "node:os";
6
6
  import { spawn } from "node:child_process";
7
- export const CURRENT_VERSION = "0.3.44";
7
+ export const CURRENT_VERSION = "0.3.46";
8
8
  const RELEASES_API = "https://api.github.com/repos/lizard-build/lizard-cli/releases/latest";
9
9
  const RELEASE_BASE = "https://github.com/lizard-build/lizard-cli/releases/latest/download";
10
10
  /** Minimum gap between background update checks. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lizard-build/cli",
3
- "version": "0.3.44",
3
+ "version": "0.3.46",
4
4
  "description": "Lizard CLI — deploy and manage apps on Lizard",
5
5
  "type": "module",
6
6
  "bin": {
@@ -6,6 +6,23 @@ import { resolveProjectScope, resolveService, getActiveServiceWithKind } from ".
6
6
  import { getProjectLink } from "../lib/config.js";
7
7
  import { info, error, warn, isTTY, isJSONMode, printJSON, table, statusColor, timeAgo } from "../lib/format.js";
8
8
 
9
+ // Levels assigned by the platform's log collector (regex over the message
10
+ // text — apps that log errors without an "error"-like keyword come as info).
11
+ const LOG_LEVELS = ["error", "warn", "info", "debug"];
12
+
13
+ /** Client-side level filter for SSE streams — the live endpoints have no
14
+ * server-side `level` param (only the historical query does). Entries
15
+ * without a level field default to "info", matching the server's parser. */
16
+ function matchesLevel(data: string, level?: string): boolean {
17
+ if (!level) return true;
18
+ try {
19
+ const e = JSON.parse(data);
20
+ return ((e && e.level) ?? "info") === level;
21
+ } catch {
22
+ return level === "info";
23
+ }
24
+ }
25
+
9
26
  export function registerLogs(program: Command) {
10
27
  program
11
28
  .command("logs")
@@ -14,6 +31,7 @@ export function registerLogs(program: Command) {
14
31
  .option("-s, --service <id>", "Only show logs for a specific service")
15
32
  .option("-p, --project <id>", "Project name, slug, or ID")
16
33
  .option("--tail <n>", "Print last N log lines and exit (no follow)")
34
+ .option("-l, --level <level>", `Only show logs at this level (${LOG_LEVELS.join("|")})`)
17
35
  .option("--restarts [n]", "List last N restart events (default 20) and exit")
18
36
  .option("--restart <id>", "Print log tail of a specific restart event (or 'latest')")
19
37
  .action(async (opts) => {
@@ -25,6 +43,14 @@ export function registerLogs(program: Command) {
25
43
  error("--tail cannot be combined with --restarts/--restart");
26
44
  process.exit(1);
27
45
  }
46
+ if (opts.level && !LOG_LEVELS.includes(opts.level)) {
47
+ error(`Invalid --level "${opts.level}". Choose one of: ${LOG_LEVELS.join(", ")}`);
48
+ process.exit(1);
49
+ }
50
+ if (opts.level && (opts.build || opts.restarts !== undefined || opts.restart !== undefined)) {
51
+ error("--level applies to runtime logs only (not --build/--restarts/--restart)");
52
+ process.exit(1);
53
+ }
28
54
 
29
55
  const { projectId, scope } = await resolveProjectScope(opts.project);
30
56
 
@@ -78,6 +104,7 @@ export function registerLogs(program: Command) {
78
104
  withQuery(`/api/projects/${projectId}/logs`, {
79
105
  limit: tailN,
80
106
  service: serviceName,
107
+ level: opts.level,
81
108
  }),
82
109
  scope,
83
110
  ),
@@ -125,6 +152,7 @@ export function registerLogs(program: Command) {
125
152
  process.exitCode = 1;
126
153
  return false;
127
154
  }
155
+ if (!matchesLevel(data, opts.level)) return true;
128
156
  printLogLine(data);
129
157
  return true;
130
158
  };
@@ -136,13 +164,14 @@ export function registerLogs(program: Command) {
136
164
  serviceKind === "addon"
137
165
  ? withScope(`/api/projects/${projectId}/addons/${serviceId}/logs`, scope)
138
166
  : `/api/apps/${serviceId}/logs`;
139
- info(chalk.dim("Streaming logs... (Ctrl+C to stop)\n"));
167
+ const filterNote = opts.level ? ` [level=${opts.level}]` : "";
168
+ info(chalk.dim(`Streaming logs...${filterNote} (Ctrl+C to stop)\n`));
140
169
  await streamSSE(streamPath, streamHandler, { reconnect: true, onReconnect });
141
170
  return;
142
171
  }
143
172
 
144
173
  // Stream all project logs
145
- info(chalk.dim("Streaming project logs... (Ctrl+C to stop)\n"));
174
+ info(chalk.dim(`Streaming project logs...${opts.level ? ` [level=${opts.level}]` : ""} (Ctrl+C to stop)\n`));
146
175
  await streamSSE(
147
176
  withScope(`/api/projects/${projectId}/logs/stream`, scope),
148
177
  streamHandler,
@@ -5,7 +5,7 @@ import { join, dirname } from "node:path";
5
5
  import os from "node:os";
6
6
  import { spawn } from "node:child_process";
7
7
 
8
- export const CURRENT_VERSION = "0.3.44";
8
+ export const CURRENT_VERSION = "0.3.46";
9
9
  const RELEASES_API = "https://api.github.com/repos/lizard-build/lizard-cli/releases/latest";
10
10
  const RELEASE_BASE = "https://github.com/lizard-build/lizard-cli/releases/latest/download";
11
11
 
package/test/cli.test.ts CHANGED
@@ -6,6 +6,9 @@
6
6
  * - Authed: `lizard login --token <token>` (or any prior session)
7
7
  * - Optionally point at a specific built binary: LIZARD_BIN=./dist/index.js
8
8
  * - Optionally pin a project: LIZARD_TEST_PROJECT_ID=<id>
9
+ * Without the pin only read-only/self-contained tests run; suites that
10
+ * mutate services (deploy, scale) are skipped so they can never touch
11
+ * an arbitrary real project picked from the account.
9
12
  *
10
13
  * Run: npm test
11
14
  *
@@ -258,8 +261,11 @@ describe("ps (service inventory)", () => {
258
261
  });
259
262
 
260
263
  // ── Scale (no-op against existing app) ────────────────────────────────────────
264
+ //
265
+ // Mutates a real app (forces replicas=1) — only safe against a dedicated,
266
+ // explicitly pinned test project.
261
267
 
262
- describe("scale", () => {
268
+ describe.skipIf(!process.env.LIZARD_TEST_PROJECT_ID)("scale", () => {
263
269
  test("scale --replicas succeeds when an app exists", async () => {
264
270
  const services = await cliJSON("ps", "--project", projectId);
265
271
  const apps: Array<{ id: string; name: string }> = services?.apps ?? [];
@@ -284,10 +290,10 @@ describe("domain", () => {
284
290
  console.log(" ⚠ no apps, skipping domain test");
285
291
  return;
286
292
  }
287
- const data = await cliJSON("domain", "--service", apps[0].name, "--project", projectId).catch(
288
- () => [],
289
- );
290
- expect(Array.isArray(data)).toBe(true);
293
+ // `domain` (no subcommand) prints the current domain: { hostname, generated }
294
+ const data = await cliJSON("domain", "--service", apps[0].name, "--project", projectId);
295
+ expect(data).toHaveProperty("hostname");
296
+ expect(typeof data.hostname).toBe("string");
291
297
  });
292
298
  });
293
299
 
@@ -296,23 +302,22 @@ describe("domain", () => {
296
302
  // Heavy test: uploads the fixture as a fresh app, waits for it to come up,
297
303
  // then exercises service-scope secrets against it. Set LIZARD_SKIP_DEPLOY=1
298
304
  // to skip while iterating locally.
305
+ //
306
+ // SAFETY: runs only when LIZARD_TEST_PROJECT_ID explicitly pins a dedicated
307
+ // test project. Without the pin, projectId falls back to an arbitrary real
308
+ // project from the account — deploying into (let alone cleaning up) such a
309
+ // project is never acceptable. The suite must also never mass-delete apps
310
+ // it didn't create: a teardown used to wipe every app in the project and
311
+ // destroyed real services. Cleanup is limited to `createdApps` in afterAll.
299
312
 
300
313
  let DEPLOY_DIR: string | undefined;
301
314
 
302
- describe.skipIf(process.env.LIZARD_SKIP_DEPLOY === "1")("deploy", () => {
315
+ describe.skipIf(
316
+ process.env.LIZARD_SKIP_DEPLOY === "1" || !process.env.LIZARD_TEST_PROJECT_ID,
317
+ )("deploy", () => {
303
318
  const appName = `cli-test-${Date.now()}`;
304
319
  let appId: string;
305
320
 
306
- beforeAll(async () => {
307
- // Tear down any leftover apps in the test project so we deploy clean.
308
- // `service rm` requires --project (after the command, per commander).
309
- const services = await cliJSON("ps", "--project", projectId).catch(() => ({ apps: [] }));
310
- const existing: Array<{ id: string }> = services?.apps ?? [];
311
- for (const app of existing) {
312
- await cli("service", "rm", app.id, "-y", "--project", projectId).catch(() => {});
313
- }
314
- }, 60_000);
315
-
316
321
  test(
317
322
  "deploy local fixture app (detached)",
318
323
  async () => {