@miosa/cli 1.1.14 → 1.1.18

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.
Files changed (51) hide show
  1. package/README.md +47 -0
  2. package/dist/api-validation.d.ts +53 -0
  3. package/dist/api-validation.d.ts.map +1 -0
  4. package/dist/api-validation.js +200 -0
  5. package/dist/api-validation.js.map +1 -0
  6. package/dist/bin/miosa.js +2 -0
  7. package/dist/bin/miosa.js.map +1 -1
  8. package/dist/client.d.ts +20 -1
  9. package/dist/client.d.ts.map +1 -1
  10. package/dist/client.js +141 -43
  11. package/dist/client.js.map +1 -1
  12. package/dist/commands/databases.d.ts.map +1 -1
  13. package/dist/commands/databases.js +11 -34
  14. package/dist/commands/databases.js.map +1 -1
  15. package/dist/commands/db.js +7 -7
  16. package/dist/commands/db.js.map +1 -1
  17. package/dist/commands/deploy.d.ts.map +1 -1
  18. package/dist/commands/deploy.js +227 -77
  19. package/dist/commands/deploy.js.map +1 -1
  20. package/dist/commands/devices.d.ts.map +1 -1
  21. package/dist/commands/devices.js +8 -9
  22. package/dist/commands/devices.js.map +1 -1
  23. package/dist/commands/forge.d.ts +3 -0
  24. package/dist/commands/forge.d.ts.map +1 -0
  25. package/dist/commands/forge.js +254 -0
  26. package/dist/commands/forge.js.map +1 -0
  27. package/dist/commands/login.js +1 -1
  28. package/dist/commands/logout.js +3 -3
  29. package/dist/commands/logout.js.map +1 -1
  30. package/dist/commands/templates.d.ts.map +1 -1
  31. package/dist/commands/templates.js +540 -91
  32. package/dist/commands/templates.js.map +1 -1
  33. package/dist/commands/util.d.ts +6 -1
  34. package/dist/commands/util.d.ts.map +1 -1
  35. package/dist/commands/util.js +47 -27
  36. package/dist/commands/util.js.map +1 -1
  37. package/dist/commands/watch.d.ts.map +1 -1
  38. package/dist/commands/watch.js +5 -1
  39. package/dist/commands/watch.js.map +1 -1
  40. package/dist/endpoint.d.ts +37 -0
  41. package/dist/endpoint.d.ts.map +1 -0
  42. package/dist/endpoint.js +123 -0
  43. package/dist/endpoint.js.map +1 -0
  44. package/dist/errors.d.ts +18 -2
  45. package/dist/errors.d.ts.map +1 -1
  46. package/dist/errors.js +37 -4
  47. package/dist/errors.js.map +1 -1
  48. package/dist/types.d.ts +8 -0
  49. package/dist/types.d.ts.map +1 -1
  50. package/dist/types.js.map +1 -1
  51. package/package.json +1 -1
package/dist/client.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { request } from "undici";
2
- import { AuthError, mapHttpError, NetworkError, UserError } from "./errors.js";
2
+ import { AuthError, mapHttpError, UserError } from "./errors.js";
3
+ import { assertUsableEndpoint, transportError } from "./endpoint.js";
3
4
  import { isDebugMode } from "./cli-env.js";
4
5
  import { CLI_USER_AGENT } from "./version.js";
5
6
  export class MiosaClient {
@@ -12,10 +13,22 @@ export class MiosaClient {
12
13
  throw new AuthError("You are not logged in. Run: miosa login", "Run `miosa login` to authenticate.");
13
14
  }
14
15
  this.endpoint = config.endpoint.replace(/\/$/, "");
16
+ // Fail on an unusable endpoint here, where the value and its origin are
17
+ // both still known, rather than letting undici raise a bare
18
+ // "TypeError: Invalid URL" from inside the first request.
19
+ assertUsableEndpoint(this.endpoint);
15
20
  this.apiKey = config.api_key;
16
21
  this.tenant = config.tenant ?? null;
17
22
  this.workspace = config.workspace ?? null;
18
23
  }
24
+ /** Diagnose a transport failure against the endpoint actually in use. */
25
+ transport(err) {
26
+ return transportError(err, this.endpoint);
27
+ }
28
+ /** The endpoint this client talks to, for commands that report it. */
29
+ get apiEndpoint() {
30
+ return this.endpoint;
31
+ }
19
32
  headers() {
20
33
  const headers = {
21
34
  Authorization: `Bearer ${this.apiKey}`,
@@ -32,7 +45,7 @@ export class MiosaClient {
32
45
  url(path) {
33
46
  return `${this.endpoint}${path}`;
34
47
  }
35
- async parseError(res, method, path) {
48
+ async parseError(res, method, path, sentBody) {
36
49
  const rawBody = await res.body.text();
37
50
  const requestId = responseHeader(res, "x-request-id");
38
51
  let body = {};
@@ -43,7 +56,7 @@ export class MiosaClient {
43
56
  body = { message: rawBody || `HTTP ${res.statusCode}` };
44
57
  }
45
58
  debugHttpError(method, path, res.statusCode, requestId, rawBody);
46
- throw mapHttpError(res.statusCode, body, rawBody, requestId);
59
+ throw mapHttpError(res.statusCode, body, rawBody, requestId, topLevelKeys(sentBody));
47
60
  }
48
61
  async get(path) {
49
62
  let res;
@@ -54,7 +67,7 @@ export class MiosaClient {
54
67
  });
55
68
  }
56
69
  catch (err) {
57
- throw new NetworkError(`Network error: ${err instanceof Error ? err.message : String(err)}`, "Check your connection and endpoint: miosa status");
70
+ throw this.transport(err);
58
71
  }
59
72
  if (res.statusCode >= 400)
60
73
  return this.parseError(res, "GET", path);
@@ -70,10 +83,10 @@ export class MiosaClient {
70
83
  });
71
84
  }
72
85
  catch (err) {
73
- throw new NetworkError(`Network error: ${err instanceof Error ? err.message : String(err)}`, "Check your connection and endpoint: miosa status");
86
+ throw this.transport(err);
74
87
  }
75
88
  if (res.statusCode >= 400)
76
- return this.parseError(res, "POST", path);
89
+ return this.parseError(res, "POST", path, body);
77
90
  return res.body.json();
78
91
  }
79
92
  async delete(path) {
@@ -85,7 +98,7 @@ export class MiosaClient {
85
98
  });
86
99
  }
87
100
  catch (err) {
88
- throw new NetworkError(`Network error: ${err instanceof Error ? err.message : String(err)}`);
101
+ throw this.transport(err);
89
102
  }
90
103
  if (res.statusCode >= 400)
91
104
  return this.parseError(res, "DELETE", path);
@@ -107,7 +120,7 @@ export class MiosaClient {
107
120
  });
108
121
  }
109
122
  catch (err) {
110
- throw new NetworkError(`Network error: ${err instanceof Error ? err.message : String(err)}`, "Check your connection and endpoint: miosa status");
123
+ throw this.transport(err);
111
124
  }
112
125
  if (res.statusCode >= 400)
113
126
  return this.parseError(res, "GET", path);
@@ -117,7 +130,14 @@ export class MiosaClient {
117
130
  }
118
131
  return Buffer.concat(chunks);
119
132
  }
120
- /** Generic SSE GET for command groups that stream API events. */
133
+ // Generic SSE GET for command groups that stream API events.
134
+ //
135
+ // Asks for `text/event-stream` and nothing else, deliberately. Widening the
136
+ // header to also accept `application/json` and a catch-all was a workaround
137
+ // for streaming routes parked in a JSON-only pipeline, and it hid the fault
138
+ // instead of reporting it: the route answers 200 with a JSON body, parseSse
139
+ // finds no frames, and the command prints nothing and exits clean. A narrow
140
+ // Accept turns that same misconfiguration into a loud 406 (see mapHttpError).
121
141
  async apiStream(path) {
122
142
  let res;
123
143
  try {
@@ -130,7 +150,7 @@ export class MiosaClient {
130
150
  });
131
151
  }
132
152
  catch (err) {
133
- throw new NetworkError(`Network error: ${err instanceof Error ? err.message : String(err)}`, "Check your connection and endpoint: miosa status");
153
+ throw this.transport(err);
134
154
  }
135
155
  if (res.statusCode >= 400)
136
156
  return this.parseError(res, "GET", path);
@@ -151,10 +171,10 @@ export class MiosaClient {
151
171
  });
152
172
  }
153
173
  catch (err) {
154
- throw new NetworkError(`Network error: ${err instanceof Error ? err.message : String(err)}`, "Check your connection and endpoint: miosa status");
174
+ throw this.transport(err);
155
175
  }
156
176
  if (res.statusCode >= 400)
157
- return this.parseError(res, "PUT", path);
177
+ return this.parseError(res, "PUT", path, body);
158
178
  return res.body.json();
159
179
  }
160
180
  /** Generic PATCH for command groups that map directly to stable API routes. */
@@ -168,16 +188,40 @@ export class MiosaClient {
168
188
  });
169
189
  }
170
190
  catch (err) {
171
- throw new NetworkError(`Network error: ${err instanceof Error ? err.message : String(err)}`, "Check your connection and endpoint: miosa status");
191
+ throw this.transport(err);
172
192
  }
173
193
  if (res.statusCode >= 400)
174
- return this.parseError(res, "PATCH", path);
194
+ return this.parseError(res, "PATCH", path, body);
175
195
  return res.body.json();
176
196
  }
177
197
  /** Generic DELETE for command groups that map directly to stable API routes. */
178
198
  async apiDelete(path) {
179
199
  return this.delete(path);
180
200
  }
201
+ /** DELETE with the attributable operation metadata returned in response headers. */
202
+ async apiDeleteWithReceipt(path) {
203
+ let res;
204
+ try {
205
+ res = await request(this.url(path), {
206
+ method: "DELETE",
207
+ headers: this.headers(),
208
+ });
209
+ }
210
+ catch (err) {
211
+ throw this.transport(err);
212
+ }
213
+ if (res.statusCode >= 400)
214
+ return this.parseError(res, "DELETE", path);
215
+ await res.body.dump();
216
+ const operationId = responseHeader(res, "x-forge-operation-id");
217
+ if (!operationId) {
218
+ throw new UserError("Forge delete did not return an operation receipt.", "Retry with --debug and contact MIOSA support if the response remains incomplete.");
219
+ }
220
+ return {
221
+ operationId,
222
+ replayed: responseHeader(res, "idempotency-replayed") === "true",
223
+ };
224
+ }
181
225
  // --- ClinicIQ / workspace admin SDK helpers ---
182
226
  async listWorkspaces() {
183
227
  return unwrapData(await this.get("/api/v1/workspaces"), []);
@@ -306,7 +350,7 @@ export class MiosaClient {
306
350
  });
307
351
  }
308
352
  catch (err) {
309
- throw new NetworkError(`Network error: ${err instanceof Error ? err.message : String(err)}`);
353
+ throw this.transport(err);
310
354
  }
311
355
  if (res.statusCode >= 400) {
312
356
  return this.parseError(res, "POST", `/api/v1/opencomputers/hosts/${hostId}/jobs`);
@@ -323,7 +367,7 @@ export class MiosaClient {
323
367
  res = await request(this.url(`/api/v1/opencomputers/hosts/${hostId}/fs/content?path=${encodeURIComponent(remotePath)}`), { method: "GET", headers: this.headers() });
324
368
  }
325
369
  catch (err) {
326
- throw new NetworkError(`Network error: ${err instanceof Error ? err.message : String(err)}`);
370
+ throw this.transport(err);
327
371
  }
328
372
  if (res.statusCode >= 400) {
329
373
  return this.parseError(res, "GET", `/api/v1/opencomputers/hosts/${hostId}/fs/content`);
@@ -354,7 +398,7 @@ export class MiosaClient {
354
398
  });
355
399
  }
356
400
  catch (err) {
357
- throw new NetworkError(`Network error: ${err instanceof Error ? err.message : String(err)}`);
401
+ throw this.transport(err);
358
402
  }
359
403
  if (res.statusCode >= 400) {
360
404
  await this.parseError(res, "POST", `/api/v1/opencomputers/hosts/${hostId}/fs/content`);
@@ -382,7 +426,7 @@ export class MiosaClient {
382
426
  res = await request(this.url(`/api/v1/computers/${computerId}/files/download?path=${encodeURIComponent(remotePath)}`), { method: "GET", headers: this.headers() });
383
427
  }
384
428
  catch (err) {
385
- throw new NetworkError(`Network error: ${err instanceof Error ? err.message : String(err)}`);
429
+ throw this.transport(err);
386
430
  }
387
431
  if (res.statusCode >= 400) {
388
432
  return this.parseError(res, "GET", `/api/v1/computers/${computerId}/files/download`);
@@ -413,7 +457,7 @@ export class MiosaClient {
413
457
  });
414
458
  }
415
459
  catch (err) {
416
- throw new NetworkError(`Network error: ${err instanceof Error ? err.message : String(err)}`);
460
+ throw this.transport(err);
417
461
  }
418
462
  if (res.statusCode >= 400) {
419
463
  await this.parseError(res, "POST", `/api/v1/computers/${computerId}/files/upload`);
@@ -448,7 +492,7 @@ export class MiosaClient {
448
492
  });
449
493
  }
450
494
  catch (err) {
451
- throw new NetworkError(`Network error: ${err instanceof Error ? err.message : String(err)}`);
495
+ throw this.transport(err);
452
496
  }
453
497
  if (res.statusCode >= 400)
454
498
  return this.parseError(res, "POST", path);
@@ -478,7 +522,7 @@ export class MiosaClient {
478
522
  });
479
523
  }
480
524
  catch (err) {
481
- throw new NetworkError(`Network error: ${err instanceof Error ? err.message : String(err)}`);
525
+ throw this.transport(err);
482
526
  }
483
527
  if (res.statusCode >= 400) {
484
528
  return this.parseError(res, "POST", `/api/v1/opencomputers/hosts/${hostId}/agent/dispatch`);
@@ -529,7 +573,7 @@ export class MiosaClient {
529
573
  });
530
574
  }
531
575
  catch (err) {
532
- throw new NetworkError(`Network error: ${err instanceof Error ? err.message : String(err)}`);
576
+ throw this.transport(err);
533
577
  }
534
578
  if (res.statusCode >= 400) {
535
579
  return this.parseError(res, "GET", `/api/v1/deployments/${encodeURIComponent(id)}/logs`);
@@ -549,7 +593,7 @@ export class MiosaClient {
549
593
  });
550
594
  }
551
595
  catch (err) {
552
- throw new NetworkError(`Network error: ${err instanceof Error ? err.message : String(err)}`);
596
+ throw this.transport(err);
553
597
  }
554
598
  if (res.statusCode >= 400) {
555
599
  return this.parseError(res, "GET", `/api/v1/deployments/${encodeURIComponent(id)}/builds/${encodeURIComponent(buildId)}/logs`);
@@ -575,7 +619,7 @@ export class MiosaClient {
575
619
  });
576
620
  }
577
621
  catch (err) {
578
- throw new NetworkError(`Network error: ${err instanceof Error ? err.message : String(err)}`);
622
+ throw this.transport(err);
579
623
  }
580
624
  if (res.statusCode >= 400) {
581
625
  return this.parseError(res, "GET", `/api/v1/opencomputers/hosts/${hostId}/events`);
@@ -595,7 +639,7 @@ export class MiosaClient {
595
639
  });
596
640
  }
597
641
  catch (err) {
598
- throw new NetworkError(`Network error: ${err instanceof Error ? err.message : String(err)}`);
642
+ throw this.transport(err);
599
643
  }
600
644
  if (res.statusCode >= 400) {
601
645
  return this.parseError(res, "GET", `/api/v1/computers/${computerId}/events`);
@@ -692,42 +736,86 @@ function debugHttpError(method, path, status, requestId, rawBody) {
692
736
  process.stderr.write(`[debug] response_body=${rawBody}\n`);
693
737
  }
694
738
  }
695
- // SSE parser — consumes undici body stream, yields parsed events
739
+ /**
740
+ * Top-level keys of a JSON request body. Used to tell a field the CLI actually
741
+ * sent apart from a field the server attributed an error to on its own.
742
+ */
743
+ function topLevelKeys(body) {
744
+ if (body === null || typeof body !== "object" || Array.isArray(body))
745
+ return [];
746
+ return Object.keys(body);
747
+ }
748
+ /**
749
+ * SSE parser — consumes an undici body stream and yields parsed events.
750
+ *
751
+ * Frame state (`event:` name and accumulated `data:` lines) is held across
752
+ * chunk boundaries. It used to be declared inside the chunk loop, so a frame
753
+ * split by the transport lost its accumulated state: an `event:`/`data:` pair
754
+ * arriving in separate chunks lost the event name, and a frame whose
755
+ * terminating blank line landed in the next chunk was dropped outright. The
756
+ * server writes each frame with one `Plug.Conn.chunk/2` call, but a TLS record
757
+ * boundary or a reverse proxy can split it anywhere (2026-08-26).
758
+ */
696
759
  export async function* parseSse(body) {
760
+ const decoder = new TextDecoder("utf-8");
697
761
  let buffer = "";
762
+ let eventType = "";
763
+ let dataLines = [];
698
764
  for await (const chunk of body) {
699
- buffer += chunk.toString();
700
- const lines = buffer.split("\n");
701
- // Keep last potentially incomplete line
765
+ // Streaming decode: a multi-byte character split across chunks would be
766
+ // corrupted by a per-chunk toString().
767
+ buffer += decoder.decode(chunk instanceof Uint8Array ? chunk : Buffer.from(String(chunk)), { stream: true });
768
+ // SSE line terminators are \n, \r\n, or a bare \r.
769
+ const lines = buffer.split(/\r\n|\r|\n/);
770
+ // Keep the last, possibly incomplete, line for the next chunk.
702
771
  buffer = lines.pop() ?? "";
703
- let eventType = "";
704
- let dataLines = [];
705
772
  for (const line of lines) {
706
- if (line.startsWith("event:")) {
707
- eventType = line.slice(6).trim();
708
- }
709
- else if (line.startsWith("data:")) {
710
- dataLines.push(line.slice(5).trim());
711
- }
712
- else if (line === "") {
713
- // Dispatch event
773
+ if (line === "") {
714
774
  if (dataLines.length > 0) {
715
- const raw = dataLines.join("\n");
716
- yield parseSseEvent(eventType, raw);
775
+ yield parseSseEvent(eventType, dataLines.join("\n"));
717
776
  }
718
777
  eventType = "";
719
778
  dataLines = [];
720
779
  }
780
+ else if (line.startsWith(":")) {
781
+ // Comment frame, e.g. the server's ":heartbeat". Ignored per spec.
782
+ continue;
783
+ }
784
+ else if (line.startsWith("event:")) {
785
+ eventType = line.slice(6).trim();
786
+ }
787
+ else if (line.startsWith("data:")) {
788
+ // Spec: strip exactly one leading space, keep the rest verbatim so log
789
+ // indentation survives.
790
+ dataLines.push(stripOneLeadingSpace(line.slice(5)));
791
+ }
792
+ }
793
+ }
794
+ // A server that closes right after its last frame without the terminating
795
+ // blank line would otherwise lose that frame.
796
+ buffer += decoder.decode();
797
+ if (buffer !== "") {
798
+ if (buffer.startsWith("data:")) {
799
+ dataLines.push(stripOneLeadingSpace(buffer.slice(5)));
721
800
  }
801
+ else if (buffer.startsWith("event:")) {
802
+ eventType = buffer.slice(6).trim();
803
+ }
804
+ }
805
+ if (dataLines.length > 0) {
806
+ yield parseSseEvent(eventType, dataLines.join("\n"));
722
807
  }
723
808
  }
809
+ function stripOneLeadingSpace(value) {
810
+ return value.startsWith(" ") ? value.slice(1) : value;
811
+ }
724
812
  function parseSseEvent(eventType, raw) {
725
813
  let parsed;
726
814
  try {
727
815
  parsed = JSON.parse(raw);
728
816
  }
729
817
  catch {
730
- return { type: "unknown", raw };
818
+ return unknownEvent(eventType, raw);
731
819
  }
732
820
  const data = parsed;
733
821
  // Normalize event type from field or explicit event: line
@@ -773,7 +861,17 @@ function parseSseEvent(eventType, raw) {
773
861
  case "ping":
774
862
  return { type: "heartbeat" };
775
863
  default:
776
- return { type: "unknown", raw };
864
+ return unknownEvent(eventType, raw);
777
865
  }
778
866
  }
867
+ /**
868
+ * Preserve the stream's `event:` name on frames with no dedicated variant.
869
+ * Discarding it meant every `event: build_event` frame arrived as an untyped
870
+ * blob and consumers could not tell one server event from another.
871
+ */
872
+ function unknownEvent(eventType, raw) {
873
+ return eventType === ""
874
+ ? { type: "unknown", raw }
875
+ : { type: "unknown", event: eventType, raw };
876
+ }
779
877
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"databases.d.ts","sourceRoot":"","sources":["../../src/commands/databases.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwSzC,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyoB/C"}
1
+ {"version":3,"file":"databases.d.ts","sourceRoot":"","sources":["../../src/commands/databases.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuSzC,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAymB/C"}
@@ -7,7 +7,6 @@ import { spin } from "../ui/spinner.js";
7
7
  import { formatBytes } from "../ui/progress.js";
8
8
  import { formatDuration } from "../ui/render.js";
9
9
  import { handleError, isJsonMode } from "./util.js";
10
- import { CLI_USER_AGENT } from "../version.js";
11
10
  function unwrapDatabases(raw) {
12
11
  if (Array.isArray(raw))
13
12
  return raw;
@@ -530,7 +529,7 @@ export function register(program) {
530
529
  const config = loadConfig();
531
530
  const client = new MiosaClient(config);
532
531
  const spinner = isJsonMode(opts) ? null : spin("Triggering backup...");
533
- const result = await client.apiPost(`/api/v1/databases/${encodeURIComponent(id)}/backup`, {});
532
+ const result = await client.apiPost(`/api/v1/databases/${encodeURIComponent(id)}/backups`, {});
534
533
  spinner?.succeed("Backup started");
535
534
  if (isJsonMode(opts)) {
536
535
  console.log(JSON.stringify(result, null, 2));
@@ -631,38 +630,16 @@ export function register(program) {
631
630
  if (!isJsonMode(opts)) {
632
631
  console.log(chalk.dim(`Streaming logs for database ${id}...`));
633
632
  }
634
- // Use undici directly to get an SSE response
635
- const { request } = await import("undici");
636
- const endpoint = config.endpoint;
637
- const apiKey = config.api_key ?? "";
638
- const url = `${endpoint.replace(/\/$/, "")}/api/v1/databases/${encodeURIComponent(id)}/logs/stream`;
639
- const res = await request(url, {
640
- method: "GET",
641
- headers: {
642
- Authorization: `Bearer ${apiKey}`,
643
- Accept: "text/event-stream, application/json, */*",
644
- "User-Agent": CLI_USER_AGENT,
645
- },
646
- });
647
- if (res.statusCode >= 400) {
648
- const body = await res.body.text();
649
- if (isJsonMode(opts)) {
650
- console.log(JSON.stringify({
651
- ok: false,
652
- error: {
653
- code: `HTTP_${res.statusCode}`,
654
- message: body || `HTTP ${res.statusCode}`,
655
- retryable: res.statusCode >= 500,
656
- },
657
- }, null, 2));
658
- process.exit(1);
659
- }
660
- console.error(chalk.red(`HTTP ${res.statusCode}: ${body}`));
661
- if (res.statusCode === 406) {
662
- console.error(chalk.yellow("Database logs endpoint rejected the requested response format. The CLI now accepts SSE, JSON, or text; if this persists, the API route is returning a format negotiation error."));
663
- }
664
- process.exit(1);
665
- }
633
+ // Stream through the client rather than a hand-rolled undici call. The
634
+ // bare request this replaces omitted X-MIOSA-Tenant and
635
+ // X-MIOSA-Workspace, so this one command resolved against the API key's
636
+ // default scope instead of the scope every other command uses. It also
637
+ // sent `Accept: text/event-stream, application/json, */*` plus a
638
+ // bespoke 406 message, a workaround from when this route sat in a
639
+ // JSON-only pipeline. The route is in :public_api_sse now (no :accepts
640
+ // plug), so the widened Accept only served to turn a pipeline
641
+ // misconfiguration into silence instead of an error.
642
+ const res = await new MiosaClient(config).apiStream(`/api/v1/databases/${encodeURIComponent(id)}/logs/stream`);
666
643
  for await (const event of parseSse(res.body)) {
667
644
  if (isJsonMode(opts)) {
668
645
  console.log(JSON.stringify(event));