@miosa/cli 1.0.17 → 1.0.19

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 (38) hide show
  1. package/README.md +18 -3
  2. package/dist/bin/miosa.d.ts +1 -1
  3. package/dist/bin/miosa.d.ts.map +1 -1
  4. package/dist/bin/miosa.js +13 -0
  5. package/dist/bin/miosa.js.map +1 -1
  6. package/dist/cli-env.d.ts +5 -0
  7. package/dist/cli-env.d.ts.map +1 -0
  8. package/dist/cli-env.js +16 -0
  9. package/dist/cli-env.js.map +1 -0
  10. package/dist/commands/agent.d.ts.map +1 -1
  11. package/dist/commands/agent.js +73 -27
  12. package/dist/commands/agent.js.map +1 -1
  13. package/dist/commands/completion.d.ts +3 -0
  14. package/dist/commands/completion.d.ts.map +1 -0
  15. package/dist/commands/completion.js +145 -0
  16. package/dist/commands/completion.js.map +1 -0
  17. package/dist/commands/databases.d.ts.map +1 -1
  18. package/dist/commands/databases.js +3 -1
  19. package/dist/commands/databases.js.map +1 -1
  20. package/dist/commands/db.d.ts.map +1 -1
  21. package/dist/commands/db.js +3 -1
  22. package/dist/commands/db.js.map +1 -1
  23. package/dist/commands/domains.d.ts.map +1 -1
  24. package/dist/commands/domains.js +168 -24
  25. package/dist/commands/domains.js.map +1 -1
  26. package/dist/commands/enterprise-util.d.ts.map +1 -1
  27. package/dist/commands/enterprise-util.js +2 -1
  28. package/dist/commands/enterprise-util.js.map +1 -1
  29. package/dist/commands/releases.d.ts.map +1 -1
  30. package/dist/commands/releases.js +86 -35
  31. package/dist/commands/releases.js.map +1 -1
  32. package/dist/commands/sandbox.js +31 -35
  33. package/dist/commands/sandbox.js.map +1 -1
  34. package/dist/commands/util.d.ts +2 -0
  35. package/dist/commands/util.d.ts.map +1 -1
  36. package/dist/commands/util.js +2 -0
  37. package/dist/commands/util.js.map +1 -1
  38. package/package.json +1 -1
@@ -9,15 +9,22 @@ function shortId(id) {
9
9
  }
10
10
  function stateColor(state) {
11
11
  switch (state) {
12
+ case "active":
13
+ case "ready":
12
14
  case "succeeded":
13
15
  return chalk.green(state);
14
16
  case "failed":
17
+ case "error":
15
18
  return chalk.red(state);
16
19
  case "building":
17
- return chalk.yellow(state);
20
+ case "deploying":
18
21
  case "queued":
22
+ return chalk.yellow(state);
19
23
  case "cancelled":
24
+ case "archived":
20
25
  return chalk.dim(state);
26
+ default:
27
+ return state ? chalk.dim(state) : chalk.dim("unknown");
21
28
  }
22
29
  }
23
30
  async function resolveApp(client, nameOrId) {
@@ -34,12 +41,71 @@ async function resolveApp(client, nameOrId) {
34
41
  }
35
42
  async function findRelease(client, releaseId) {
36
43
  for (const app of await client.listDeployments()) {
37
- const release = (await client.listBuilds(app.id)).find((build) => build.id === releaseId);
44
+ const release = (await listReleaseRows(client, app.id)).find((row) => row.id === releaseId);
38
45
  if (release)
39
46
  return { app, release };
40
47
  }
41
48
  throw new UserError(`Release not found: ${releaseId}`);
42
49
  }
50
+ function responseRows(body, key) {
51
+ const value = body;
52
+ const rows = value && Array.isArray(value[key])
53
+ ? value[key]
54
+ : value && Array.isArray(value["data"])
55
+ ? value["data"]
56
+ : [];
57
+ return rows
58
+ .filter((row) => !!row && typeof row === "object")
59
+ .filter((row) => typeof row["id"] === "string");
60
+ }
61
+ function textField(row, key) {
62
+ const value = row[key];
63
+ return typeof value === "string" && value.length > 0 ? value : undefined;
64
+ }
65
+ function renderRelease(app, release) {
66
+ console.log();
67
+ console.log(` ${chalk.bold("Release")} ${release.id}`);
68
+ console.log(` ${chalk.bold("App")} ${app.name} (${app.id})`);
69
+ console.log(` ${chalk.bold("State")} ${stateColor(textField(release, "state"))}`);
70
+ const versionNumber = release["version_number"];
71
+ if (versionNumber !== undefined && versionNumber !== null) {
72
+ console.log(` ${chalk.bold("Version")} ${String(versionNumber)}`);
73
+ }
74
+ console.log(` ${chalk.bold("Source")} ${textField(release, "source_sandbox_id") ??
75
+ textField(release, "commit_sha") ??
76
+ chalk.dim("none")}`);
77
+ const message = textField(release, "commit_message") ??
78
+ textField(release, "kind") ??
79
+ textField(release, "runtime_command");
80
+ if (message)
81
+ console.log(` ${chalk.bold("Message")} ${message}`);
82
+ const error = textField(release, "error_message");
83
+ if (error)
84
+ console.log(` ${chalk.bold("Error")} ${chalk.red(error)}`);
85
+ console.log(` ${chalk.bold("Created")} ${textField(release, "created_at") ?? chalk.dim("unknown")}`);
86
+ console.log();
87
+ }
88
+ async function listReleaseRows(client, appId) {
89
+ const versionBody = await client.apiGet(`/api/v1/deployments/${encodeURIComponent(appId)}/versions`);
90
+ const versions = responseRows(versionBody, "versions");
91
+ if (versions.length > 0)
92
+ return versions;
93
+ const builds = await client.listBuilds(appId);
94
+ return builds;
95
+ }
96
+ async function getReleaseRow(client, appId, releaseId) {
97
+ try {
98
+ const body = await client.apiGet(`/api/v1/deployments/${encodeURIComponent(appId)}/versions/${encodeURIComponent(releaseId)}`);
99
+ const data = body?.["data"];
100
+ if (data && typeof data === "object" && typeof data["id"] === "string") {
101
+ return data;
102
+ }
103
+ }
104
+ catch {
105
+ // Fall back to legacy deployment builds for older deployments.
106
+ }
107
+ return client.getBuild(appId, releaseId);
108
+ }
43
109
  export function register(program) {
44
110
  const releases = program
45
111
  .command("releases")
@@ -55,7 +121,7 @@ export function register(program) {
55
121
  }
56
122
  const client = new MiosaClient(loadConfig());
57
123
  const app = await resolveApp(client, appArg);
58
- const rows = await client.listBuilds(app.id);
124
+ const rows = await listReleaseRows(client, app.id);
59
125
  if (opts.json) {
60
126
  console.log(JSON.stringify(rows, null, 2));
61
127
  return;
@@ -68,16 +134,25 @@ export function register(program) {
68
134
  { header: "ID", key: (row) => shortId(row.id), width: 10 },
69
135
  { header: "STATE", key: (row) => stateColor(row.state), width: 12 },
70
136
  {
71
- header: "COMMIT",
72
- key: (row) => row.commit_sha?.slice(0, 8) ?? chalk.dim("none"),
137
+ header: "SOURCE",
138
+ key: (row) => textField(row, "source_sandbox_id")?.slice(0, 8) ??
139
+ textField(row, "commit_sha")?.slice(0, 8) ??
140
+ chalk.dim("none"),
73
141
  width: 10,
74
142
  },
75
143
  {
76
144
  header: "MESSAGE",
77
- key: (row) => row.commit_message ?? chalk.dim("none"),
145
+ key: (row) => textField(row, "commit_message") ??
146
+ textField(row, "kind") ??
147
+ textField(row, "runtime_command") ??
148
+ chalk.dim("none"),
78
149
  width: 32,
79
150
  },
80
- { header: "CREATED", key: "created_at", width: 24 },
151
+ {
152
+ header: "CREATED",
153
+ key: (row) => textField(row, "created_at") ?? chalk.dim("unknown"),
154
+ width: 24,
155
+ },
81
156
  ]);
82
157
  }
83
158
  catch (err) {
@@ -96,7 +171,7 @@ export function register(program) {
96
171
  let release;
97
172
  if (opts.app) {
98
173
  app = await resolveApp(client, opts.app);
99
- release = await client.getBuild(app.id, releaseId);
174
+ release = await getReleaseRow(client, app.id, releaseId);
100
175
  }
101
176
  else {
102
177
  ({ app, release } = await findRelease(client, releaseId));
@@ -105,19 +180,7 @@ export function register(program) {
105
180
  console.log(JSON.stringify({ app, release }, null, 2));
106
181
  return;
107
182
  }
108
- console.log();
109
- console.log(` ${chalk.bold("Release")} ${release.id}`);
110
- console.log(` ${chalk.bold("App")} ${app.name} (${app.id})`);
111
- console.log(` ${chalk.bold("State")} ${stateColor(release.state)}`);
112
- console.log(` ${chalk.bold("Commit")} ${release.commit_sha ?? chalk.dim("none")}`);
113
- if (release.commit_message) {
114
- console.log(` ${chalk.bold("Message")} ${release.commit_message}`);
115
- }
116
- if (release.error_message) {
117
- console.log(` ${chalk.bold("Error")} ${chalk.red(release.error_message)}`);
118
- }
119
- console.log(` ${chalk.bold("Created")} ${release.created_at}`);
120
- console.log();
183
+ renderRelease(app, release);
121
184
  }
122
185
  catch (err) {
123
186
  handleError(err);
@@ -132,24 +195,12 @@ export function register(program) {
132
195
  try {
133
196
  const client = new MiosaClient(loadConfig());
134
197
  const app = await resolveApp(client, deploymentId);
135
- const release = await client.getBuild(app.id, releaseId);
198
+ const release = await getReleaseRow(client, app.id, releaseId);
136
199
  if (opts.json) {
137
200
  console.log(JSON.stringify(release, null, 2));
138
201
  return;
139
202
  }
140
- console.log();
141
- console.log(` ${chalk.bold("Release")} ${release.id}`);
142
- console.log(` ${chalk.bold("App")} ${app.name} (${app.id})`);
143
- console.log(` ${chalk.bold("State")} ${stateColor(release.state)}`);
144
- console.log(` ${chalk.bold("Commit")} ${release.commit_sha ?? chalk.dim("none")}`);
145
- if (release.commit_message) {
146
- console.log(` ${chalk.bold("Message")} ${release.commit_message}`);
147
- }
148
- if (release.error_message) {
149
- console.log(` ${chalk.bold("Error")} ${chalk.red(release.error_message)}`);
150
- }
151
- console.log(` ${chalk.bold("Created")} ${release.created_at}`);
152
- console.log();
203
+ renderRelease(app, release);
153
204
  }
154
205
  catch (err) {
155
206
  handleError(err);
@@ -1 +1 @@
1
- {"version":3,"file":"releases.js","sourceRoot":"","sources":["../../src/commands/releases.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAOxC,SAAS,OAAO,CAAC,EAAU;IACzB,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,KAA+B;IACjD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,WAAW;YACd,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1B,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW;YACd,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,MAAmB,EACnB,QAAgB;IAEhB,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,aAAa,CAAC,QAA4B,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CACrB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CACxE,CAAC;QACF,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,SAAS,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;QAC9D,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,MAAmB,EACnB,SAAiB;IAEjB,KAAK,MAAM,GAAG,IAAI,MAAM,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CACpD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAClC,CAAC;QACF,IAAI,OAAO;YAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IACvC,CAAC;IACD,MAAM,IAAI,SAAS,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAgB;IACvC,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,mCAAmC,CAAC,CAAC;IAEpD,QAAQ;SACL,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAwB,EAAE,EAAE;QACrE,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,SAAS,CACjB,kBAAkB,EAClB,2CAA2C,CAC5C,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;YAC7C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAE7C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3C,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC7D,OAAO;YACT,CAAC;YAED,WAAW,CAAC,IAAI,EAAE;gBAChB,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC1D,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;gBACnE;oBACE,MAAM,EAAE,QAAQ;oBAChB,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;oBAC9D,KAAK,EAAE,EAAE;iBACV;gBACD;oBACE,MAAM,EAAE,SAAS;oBACjB,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;oBACrD,KAAK,EAAE,EAAE;iBACV;gBACD,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE;aACpD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,QAAQ;SACL,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,aAAa,EAAE,kCAAkC,CAAC;SACzD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CACL,KAAK,EAAE,SAAiB,EAAE,IAAsC,EAAE,EAAE;QAClE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;YAC7C,IAAI,GAAe,CAAC;YACpB,IAAI,OAAwB,CAAC;YAE7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzC,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,SAAoB,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvD,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAC3D,CAAC;YACF,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CACzE,CAAC;YACF,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,cAAc,EAAE,CACxD,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAClE,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CACF,CAAC;IAEJ,8EAA8E;IAE9E,QAAQ;SACL,OAAO,CAAC,kCAAkC,CAAC;SAC3C,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CACL,KAAK,EACH,YAAoB,EACpB,SAAiB,EACjB,IAAwB,EACxB,EAAE;QACF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;YAC7C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,SAAoB,CAAC,CAAC;YAEpE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC9C,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAC3D,CAAC;YACF,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CACzE,CAAC;YACF,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,cAAc,EAAE,CACxD,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAClE,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CACF,CAAC;IAEJ,+EAA+E;IAE/E,QAAQ;SACL,OAAO,CAAC,sCAAsC,CAAC;SAC/C,WAAW,CAAC,6BAA6B,CAAC;SAC1C,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CACL,KAAK,EACH,YAAoB,EACpB,SAAiB,EACjB,IAAuC,EACvC,EAAE;QACF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;YAC7C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAEnD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;gBACvD,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAkB;oBACpD;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,IAAI;wBACV,OAAO,EAAE,mBAAmB,OAAO,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG;wBAChE,OAAO,EAAE,KAAK;qBACf;iBACF,CAAC,CAAC;gBACH,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;oBACrC,OAAO;gBACT,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CACjC,uBAAuB,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,UAAU,CACtG,CAAC;YAEF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CACT,WAAW,OAAO,CAAC,SAAS,CAAC,gBAAgB,GAAG,CAAC,IAAI,GAAG,CACzD,CACF,CAAC;YAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CACF,CAAC;IAEJ,QAAQ;SACL,OAAO,CAAC,uBAAuB,CAAC;SAChC,WAAW,CAAC,uBAAuB,CAAC;SACpC,MAAM,CAAC,aAAa,EAAE,kCAAkC,CAAC;SACzD,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;SAC/C,MAAM,CACL,KAAK,EAAE,SAAiB,EAAE,IAAqC,EAAE,EAAE;QACjE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;YAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG;gBAClB,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC;gBACpC,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;YAE/C,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;gBACvD,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAkB;oBACpD;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,IAAI;wBACV,OAAO,EAAE,YAAY,GAAG,CAAC,IAAI,eAAe,OAAO,CAAC,SAAS,CAAC,GAAG;wBACjE,OAAO,EAAE,KAAK;qBACf;iBACF,CAAC,CAAC;gBACH,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;oBACrC,OAAO;gBACT,CAAC;YACH,CAAC;YAED,MAAM,GAAG,GAAG,MAAuC,CAAC;YACpD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBACtC,MAAM,IAAI,SAAS,CACjB,8CAA8C,EAC9C,yFAAyF,CAC1F,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,OAAO,CACf,uBAAuB,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,kBAAkB,CAAC,SAAS,CAAC,WAAW,CACrG,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IACE,GAAG,YAAY,SAAS;oBACxB,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC/C,CAAC;oBACD,MAAM,IAAI,SAAS,CACjB,qDAAqD,EACrD,oEAAoE,CACrE,CAAC;gBACJ,CAAC;gBACD,IAAI,GAAG,YAAY,WAAW,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBACzD,MAAM,IAAI,SAAS,CACjB,8DAA8D,EAC9D,yEAAyE,CAC1E,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,uBAAuB,GAAG,CAAC,IAAI,OAAO,SAAS,GAAG,CAAC,CAChE,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CACF,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"releases.js","sourceRoot":"","sources":["../../src/commands/releases.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import path from "node:path";
3
3
  import os from "node:os";
4
4
  import { spawn, spawnSync } from "node:child_process";
5
5
  import { createServer } from "node:net";
6
+ import * as http from "node:http";
7
+ import * as https from "node:https";
6
8
  import chalk from "chalk";
7
9
  import WebSocket from "ws";
8
10
  import { detectFramework } from "../framework-detector.js";
@@ -244,8 +246,8 @@ export function register(program) {
244
246
  }
245
247
  }
246
248
  else if (opts.wait && id) {
247
- await waitForSandboxRunning(client(), id, Math.max(opts.timeout ?? 120, 30));
248
- sb["ready"] = true;
249
+ const latest = await waitForSandboxRunning(client(), id, Math.max(opts.timeout ?? 120, 30));
250
+ Object.assign(sb, latest, { ready: true });
249
251
  }
250
252
  if (opts.json) {
251
253
  console.log(JSON.stringify(sb, null, 2));
@@ -1251,46 +1253,38 @@ async function runSandboxSsh(id, opts) {
1251
1253
  process.exit(exitCode);
1252
1254
  }
1253
1255
  async function runSandboxPortForward(id, opts) {
1254
- const config = loadConfig();
1255
- const apiKey = config.api_key;
1256
- if (!apiKey)
1257
- throw new Error("Not authenticated. Run: miosa login");
1258
- const endpoint = config.endpoint ?? "https://api.miosa.ai";
1259
- const base = endpoint.replace(/\/$/, "");
1260
- const wsBase = base.replace(/^https?/, (p) => (p === "https" ? "wss" : "ws"));
1261
- const wsUrl = `${wsBase}/api/v1/sandboxes/${encodeURIComponent(id)}/tunnel/${opts.remotePort}`;
1256
+ const preview = await previewSandbox(id, opts.remotePort, {
1257
+ wait: true,
1258
+ timeout: opts.timeoutSec,
1259
+ probePath: opts.probePath,
1260
+ });
1261
+ const upstreamBase = new URL(preview.url);
1262
1262
  const stats = { active: 0, total: 0, bytesIn: 0, bytesOut: 0 };
1263
- const server = createServer((socket) => {
1263
+ const server = http.createServer((req, res) => {
1264
1264
  stats.active++;
1265
1265
  stats.total++;
1266
- const ws = new WebSocket(wsUrl, "miosa-tunnel-v1", {
1267
- headers: { Authorization: `Bearer ${String(apiKey)}` },
1268
- });
1269
- ws.on("open", () => {
1270
- socket.on("data", (chunk) => {
1271
- stats.bytesIn += chunk.length;
1272
- if (ws.readyState === WebSocket.OPEN)
1273
- ws.send(chunk);
1266
+ const target = new URL(req.url ?? "/", upstreamBase);
1267
+ const headers = { ...req.headers, host: target.host };
1268
+ const mod = target.protocol === "https:" ? https : http;
1269
+ const proxyReq = mod.request(target, { method: req.method, headers }, (proxyRes) => {
1270
+ res.writeHead(proxyRes.statusCode ?? 502, proxyRes.headers);
1271
+ proxyRes.on("data", (chunk) => {
1272
+ stats.bytesOut += chunk.length;
1274
1273
  });
1275
- socket.on("close", () => ws.readyState === WebSocket.OPEN && ws.close());
1276
- socket.on("error", () => ws.close());
1274
+ proxyRes.pipe(res);
1277
1275
  });
1278
- ws.on("message", (data) => {
1279
- const buf = typeof data === "string" ? Buffer.from(data) : data;
1280
- stats.bytesOut += buf.length;
1281
- if (!socket.destroyed)
1282
- socket.write(buf);
1276
+ req.on("data", (chunk) => {
1277
+ stats.bytesIn += chunk.length;
1283
1278
  });
1284
- ws.on("close", () => {
1285
- stats.active = Math.max(0, stats.active - 1);
1286
- if (!socket.destroyed)
1287
- socket.destroy();
1279
+ proxyReq.on("error", (err) => {
1280
+ if (!res.headersSent)
1281
+ res.writeHead(502, { "content-type": "text/plain" });
1282
+ res.end(`MIOSA port-forward upstream error: ${err.message}`);
1288
1283
  });
1289
- ws.on("error", (err) => {
1290
- process.stderr.write(`\r\nWS error: ${err.message}\r\n`);
1291
- if (!socket.destroyed)
1292
- socket.destroy();
1284
+ res.on("close", () => {
1285
+ stats.active = Math.max(0, stats.active - 1);
1293
1286
  });
1287
+ req.pipe(proxyReq);
1294
1288
  });
1295
1289
  await new Promise((resolve, reject) => {
1296
1290
  server.on("error", (err) => {
@@ -1312,6 +1306,7 @@ async function runSandboxPortForward(id, opts) {
1312
1306
  sandbox_id: id,
1313
1307
  remote_port: opts.remotePort,
1314
1308
  local_port: opts.localPort,
1309
+ upstream_url: preview.url,
1315
1310
  ready: localProbe?.ok ?? !opts.wait,
1316
1311
  status: localProbe?.status ?? null,
1317
1312
  latency_ms: localProbe?.latency_ms ?? null,
@@ -1319,6 +1314,7 @@ async function runSandboxPortForward(id, opts) {
1319
1314
  }
1320
1315
  else {
1321
1316
  console.log(`${chalk.green(opts.wait ? "Forwarding ready" : "Forwarding")} ${chalk.cyan(`localhost:${opts.localPort}`)} ${chalk.dim("→")} sandbox ${chalk.cyan(id)}:${chalk.bold(String(opts.remotePort))}`);
1317
+ console.log(chalk.dim(`Upstream: ${preview.url}`));
1322
1318
  console.log(chalk.dim("Press Ctrl+C to close.\n"));
1323
1319
  }
1324
1320
  const ticker = setInterval(() => {
@@ -1689,7 +1685,7 @@ async function waitForSandboxRunning(c, sandboxId, timeoutSec) {
1689
1685
  const sandbox = unwrap(await c.apiGet(apiPath(`/sandboxes/${enc(sandboxId)}`)));
1690
1686
  const state = String(sandbox["state"] ?? sandbox["status"] ?? "").toLowerCase();
1691
1687
  if (state === "running" || state === "active")
1692
- return;
1688
+ return sandbox;
1693
1689
  if (state === "error" || state === "failed") {
1694
1690
  throw new UserError(`Sandbox ${sandboxId} entered ${state} state.`);
1695
1691
  }