@tiny-machine/cli 0.1.4 → 0.1.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,eAAO,MAAM,YAAY,SAsBrB,CAAC"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,eAAO,MAAM,YAAY,SA0BrB,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { Command } from "commander";
2
2
  import chalk from "chalk";
3
- import { isAuthenticated, getEmail } from "../lib/config.js";
3
+ import { isAuthenticated, getEmail, clearAuth } from "../lib/config.js";
4
+ import { api } from "../lib/api.js";
5
+ import { ApiError } from "../lib/errors.js";
4
6
  import { loginCommand } from "./login.js";
5
7
  const WELCOME = `
6
8
  ${chalk.bold("Tiny Machine")} ${chalk.dim("—")} ${chalk.italic("nice to meet you.")}
@@ -8,17 +10,36 @@ ${chalk.bold("Tiny Machine")} ${chalk.dim("—")} ${chalk.italic("nice to meet y
8
10
  ${chalk.dim("Tell us what you want done, we'll build you a machine that does it.")}
9
11
  ${chalk.dim("Integrations, scheduling, the boring stuff — we handle all of it.")}
10
12
  `;
13
+ async function verifySession() {
14
+ try {
15
+ await api.listMachines();
16
+ return true;
17
+ }
18
+ catch (err) {
19
+ if (err instanceof ApiError && err.status === 401) {
20
+ clearAuth();
21
+ return false;
22
+ }
23
+ return true; // non-auth errors — token might be fine, don't block
24
+ }
25
+ }
11
26
  export const startCommand = new Command("start")
12
27
  .description("Get started with Tiny Machine — sign up or log in")
13
28
  .action(async () => {
14
29
  console.log(WELCOME);
15
30
  if (isAuthenticated()) {
16
- const email = getEmail();
17
- console.log(chalk.green(`Already signed in as ${chalk.bold(email)} — welcome back.\n`));
18
- showNextStep();
19
- return;
31
+ const valid = await verifySession();
32
+ if (valid) {
33
+ const email = getEmail();
34
+ console.log(chalk.green(`Already signed in as ${chalk.bold(email)} — welcome back.\n`));
35
+ showNextStep();
36
+ return;
37
+ }
38
+ console.log(chalk.dim("Your session expired — let's sign you back in.\n"));
39
+ }
40
+ else {
41
+ console.log(chalk.dim("First things first — let's get you signed in.\n"));
20
42
  }
21
- console.log(chalk.dim("First things first — let's get you signed in.\n"));
22
43
  // Delegate to the login command's action
23
44
  await loginCommand.parseAsync([], { from: "user" });
24
45
  // If login succeeded, show next step
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,OAAO,GAAG;EACd,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC;;EAEjF,KAAK,CAAC,GAAG,CAAC,qEAAqE,CAAC;EAChF,KAAK,CAAC,GAAG,CAAC,mEAAmE,CAAC;CAC/E,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAErB,IAAI,eAAe,EAAE,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACxF,YAAY,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAC;IAE1E,yCAAyC;IACzC,MAAM,YAAY,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAEpD,qCAAqC;IACrC,IAAI,eAAe,EAAE,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;IACjB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,SAAS,YAAY;IACnB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,IAAI,CAAC,CAAC;IACxG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;AACrF,CAAC"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,OAAO,GAAG;EACd,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC;;EAEjF,KAAK,CAAC,GAAG,CAAC,qEAAqE,CAAC;EAChF,KAAK,CAAC,GAAG,CAAC,mEAAmE,CAAC;CAC/E,CAAC;AAEF,KAAK,UAAU,aAAa;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAClD,SAAS,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,qDAAqD;IACpE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAErB,IAAI,eAAe,EAAE,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;QACpC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACxF,YAAY,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC,CAAC;IAC7E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,yCAAyC;IACzC,MAAM,YAAY,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAEpD,qCAAqC;IACrC,IAAI,eAAe,EAAE,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;IACjB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,SAAS,YAAY;IACnB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,IAAI,CAAC,CAAC;IACxG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;AACrF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tiny-machine/cli",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Spin up autonomous AI machines that work your integrations on repeat",
5
5
  "type": "module",
6
6
  "bin": {