@tiny-machine/cli 0.1.0

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 (141) hide show
  1. package/dist/commands/create/context.d.ts +28 -0
  2. package/dist/commands/create/context.d.ts.map +1 -0
  3. package/dist/commands/create/context.js +35 -0
  4. package/dist/commands/create/context.js.map +1 -0
  5. package/dist/commands/create/display.d.ts +7 -0
  6. package/dist/commands/create/display.d.ts.map +1 -0
  7. package/dist/commands/create/display.js +45 -0
  8. package/dist/commands/create/display.js.map +1 -0
  9. package/dist/commands/create/index.d.ts +3 -0
  10. package/dist/commands/create/index.d.ts.map +1 -0
  11. package/dist/commands/create/index.js +36 -0
  12. package/dist/commands/create/index.js.map +1 -0
  13. package/dist/commands/create/stages/activate.d.ts +12 -0
  14. package/dist/commands/create/stages/activate.d.ts.map +1 -0
  15. package/dist/commands/create/stages/activate.js +73 -0
  16. package/dist/commands/create/stages/activate.js.map +1 -0
  17. package/dist/commands/create/stages/channel.d.ts +11 -0
  18. package/dist/commands/create/stages/channel.d.ts.map +1 -0
  19. package/dist/commands/create/stages/channel.js +27 -0
  20. package/dist/commands/create/stages/channel.js.map +1 -0
  21. package/dist/commands/create/stages/configure.d.ts +10 -0
  22. package/dist/commands/create/stages/configure.d.ts.map +1 -0
  23. package/dist/commands/create/stages/configure.js +134 -0
  24. package/dist/commands/create/stages/configure.js.map +1 -0
  25. package/dist/commands/create/stages/connect.d.ts +11 -0
  26. package/dist/commands/create/stages/connect.d.ts.map +1 -0
  27. package/dist/commands/create/stages/connect.js +266 -0
  28. package/dist/commands/create/stages/connect.js.map +1 -0
  29. package/dist/commands/create/stages/create-machine.d.ts +10 -0
  30. package/dist/commands/create/stages/create-machine.d.ts.map +1 -0
  31. package/dist/commands/create/stages/create-machine.js +43 -0
  32. package/dist/commands/create/stages/create-machine.js.map +1 -0
  33. package/dist/commands/create/stages/interpret.d.ts +8 -0
  34. package/dist/commands/create/stages/interpret.d.ts.map +1 -0
  35. package/dist/commands/create/stages/interpret.js +43 -0
  36. package/dist/commands/create/stages/interpret.js.map +1 -0
  37. package/dist/commands/create/stages/refine.d.ts +11 -0
  38. package/dist/commands/create/stages/refine.d.ts.map +1 -0
  39. package/dist/commands/create/stages/refine.js +35 -0
  40. package/dist/commands/create/stages/refine.js.map +1 -0
  41. package/dist/commands/create/stages/test-and-refine.d.ts +7 -0
  42. package/dist/commands/create/stages/test-and-refine.d.ts.map +1 -0
  43. package/dist/commands/create/stages/test-and-refine.js +159 -0
  44. package/dist/commands/create/stages/test-and-refine.js.map +1 -0
  45. package/dist/commands/create.d.ts +2 -0
  46. package/dist/commands/create.d.ts.map +1 -0
  47. package/dist/commands/create.js +2 -0
  48. package/dist/commands/create.js.map +1 -0
  49. package/dist/commands/destroy.d.ts +3 -0
  50. package/dist/commands/destroy.d.ts.map +1 -0
  51. package/dist/commands/destroy.js +52 -0
  52. package/dist/commands/destroy.js.map +1 -0
  53. package/dist/commands/list.d.ts +3 -0
  54. package/dist/commands/list.d.ts.map +1 -0
  55. package/dist/commands/list.js +77 -0
  56. package/dist/commands/list.js.map +1 -0
  57. package/dist/commands/login.d.ts +3 -0
  58. package/dist/commands/login.d.ts.map +1 -0
  59. package/dist/commands/login.js +57 -0
  60. package/dist/commands/login.js.map +1 -0
  61. package/dist/commands/logout.d.ts +3 -0
  62. package/dist/commands/logout.d.ts.map +1 -0
  63. package/dist/commands/logout.js +15 -0
  64. package/dist/commands/logout.js.map +1 -0
  65. package/dist/commands/logs.d.ts +3 -0
  66. package/dist/commands/logs.d.ts.map +1 -0
  67. package/dist/commands/logs.js +128 -0
  68. package/dist/commands/logs.js.map +1 -0
  69. package/dist/commands/pause.d.ts +3 -0
  70. package/dist/commands/pause.d.ts.map +1 -0
  71. package/dist/commands/pause.js +53 -0
  72. package/dist/commands/pause.js.map +1 -0
  73. package/dist/commands/run.d.ts +3 -0
  74. package/dist/commands/run.d.ts.map +1 -0
  75. package/dist/commands/run.js +25 -0
  76. package/dist/commands/run.js.map +1 -0
  77. package/dist/commands/signup.d.ts +3 -0
  78. package/dist/commands/signup.d.ts.map +1 -0
  79. package/dist/commands/signup.js +9 -0
  80. package/dist/commands/signup.js.map +1 -0
  81. package/dist/index.d.ts +3 -0
  82. package/dist/index.d.ts.map +1 -0
  83. package/dist/index.js +40 -0
  84. package/dist/index.js.map +1 -0
  85. package/dist/lib/api/auth.d.ts +8 -0
  86. package/dist/lib/api/auth.d.ts.map +1 -0
  87. package/dist/lib/api/auth.js +11 -0
  88. package/dist/lib/api/auth.js.map +1 -0
  89. package/dist/lib/api/index.d.ts +215 -0
  90. package/dist/lib/api/index.d.ts.map +1 -0
  91. package/dist/lib/api/index.js +11 -0
  92. package/dist/lib/api/index.js.map +1 -0
  93. package/dist/lib/api/machines.d.ts +97 -0
  94. package/dist/lib/api/machines.d.ts.map +1 -0
  95. package/dist/lib/api/machines.js +52 -0
  96. package/dist/lib/api/machines.js.map +1 -0
  97. package/dist/lib/api/mcp.d.ts +98 -0
  98. package/dist/lib/api/mcp.d.ts.map +1 -0
  99. package/dist/lib/api/mcp.js +38 -0
  100. package/dist/lib/api/mcp.js.map +1 -0
  101. package/dist/lib/api/subscriptions.d.ts +13 -0
  102. package/dist/lib/api/subscriptions.d.ts.map +1 -0
  103. package/dist/lib/api/subscriptions.js +16 -0
  104. package/dist/lib/api/subscriptions.js.map +1 -0
  105. package/dist/lib/api/transport.d.ts +5 -0
  106. package/dist/lib/api/transport.d.ts.map +1 -0
  107. package/dist/lib/api/transport.js +121 -0
  108. package/dist/lib/api/transport.js.map +1 -0
  109. package/dist/lib/api.d.ts +2 -0
  110. package/dist/lib/api.d.ts.map +1 -0
  111. package/dist/lib/api.js +2 -0
  112. package/dist/lib/api.js.map +1 -0
  113. package/dist/lib/auth-guard.d.ts +2 -0
  114. package/dist/lib/auth-guard.d.ts.map +1 -0
  115. package/dist/lib/auth-guard.js +9 -0
  116. package/dist/lib/auth-guard.js.map +1 -0
  117. package/dist/lib/config.d.ts +7 -0
  118. package/dist/lib/config.d.ts.map +1 -0
  119. package/dist/lib/config.js +30 -0
  120. package/dist/lib/config.js.map +1 -0
  121. package/dist/lib/cron.d.ts +2 -0
  122. package/dist/lib/cron.d.ts.map +1 -0
  123. package/dist/lib/cron.js +10 -0
  124. package/dist/lib/cron.js.map +1 -0
  125. package/dist/lib/errors.d.ts +7 -0
  126. package/dist/lib/errors.d.ts.map +1 -0
  127. package/dist/lib/errors.js +27 -0
  128. package/dist/lib/errors.js.map +1 -0
  129. package/dist/lib/resolve-machine.d.ts +6 -0
  130. package/dist/lib/resolve-machine.d.ts.map +1 -0
  131. package/dist/lib/resolve-machine.js +21 -0
  132. package/dist/lib/resolve-machine.js.map +1 -0
  133. package/dist/lib/session-logger.d.ts +31 -0
  134. package/dist/lib/session-logger.d.ts.map +1 -0
  135. package/dist/lib/session-logger.js +177 -0
  136. package/dist/lib/session-logger.js.map +1 -0
  137. package/dist/types.d.ts +77 -0
  138. package/dist/types.d.ts.map +1 -0
  139. package/dist/types.js +2 -0
  140. package/dist/types.js.map +1 -0
  141. package/package.json +34 -0
@@ -0,0 +1,121 @@
1
+ import { getApiUrl, getToken } from "../config.js";
2
+ import { ApiError } from "../errors.js";
3
+ import { logApiRequest, logApiResponse, logApiError, logSSE } from "../session-logger.js";
4
+ const MAX_RETRIES = 3;
5
+ const BACKOFF_MS = [500, 1000, 2000];
6
+ function isRetryable(status) {
7
+ return status >= 500 && status < 600;
8
+ }
9
+ export async function request(path, options = {}) {
10
+ const baseUrl = getApiUrl();
11
+ const token = getToken();
12
+ const { retries, ...fetchOptions } = options;
13
+ const headers = {
14
+ "Content-Type": "application/json",
15
+ ...fetchOptions.headers,
16
+ };
17
+ if (token) {
18
+ headers["Authorization"] = `Bearer ${token}`;
19
+ }
20
+ const method = (fetchOptions.method ?? "GET").toUpperCase();
21
+ const maxAttempts = retries !== undefined
22
+ ? retries
23
+ : method === "GET"
24
+ ? MAX_RETRIES
25
+ : 1;
26
+ let bodyForLog;
27
+ if (fetchOptions.body) {
28
+ try {
29
+ bodyForLog = JSON.parse(fetchOptions.body);
30
+ }
31
+ catch {
32
+ bodyForLog = "(non-JSON body)";
33
+ }
34
+ }
35
+ logApiRequest(method, path, bodyForLog);
36
+ let lastError;
37
+ for (let attempt = 0; attempt < maxAttempts; attempt++) {
38
+ try {
39
+ const response = await fetch(`${baseUrl}${path}`, {
40
+ ...fetchOptions,
41
+ headers,
42
+ });
43
+ if (!response.ok) {
44
+ const body = await response.text();
45
+ logApiError(path, `${response.status}: ${body.slice(0, 500)}`);
46
+ if (isRetryable(response.status) && attempt < maxAttempts - 1) {
47
+ await sleep(BACKOFF_MS[attempt] ?? 2000);
48
+ continue;
49
+ }
50
+ throw new ApiError(response.status, `${response.status} ${path}: ${body}`);
51
+ }
52
+ const data = await response.json();
53
+ logApiResponse(path, response.status, data);
54
+ return data;
55
+ }
56
+ catch (err) {
57
+ lastError = err;
58
+ // Don't retry ApiError (already handled above)
59
+ if (err instanceof ApiError) {
60
+ throw err;
61
+ }
62
+ logApiError(path, err.message);
63
+ // Network / fetch error — retry if attempts remain
64
+ if (attempt < maxAttempts - 1) {
65
+ await sleep(BACKOFF_MS[attempt] ?? 2000);
66
+ continue;
67
+ }
68
+ }
69
+ }
70
+ throw lastError;
71
+ }
72
+ export async function streamSSE(path, options, onEvent) {
73
+ const baseUrl = getApiUrl();
74
+ const token = getToken();
75
+ const headers = {
76
+ ...options.headers,
77
+ };
78
+ if (token) {
79
+ headers["Authorization"] = `Bearer ${token}`;
80
+ }
81
+ const response = await fetch(`${baseUrl}${path}`, {
82
+ ...options,
83
+ headers,
84
+ });
85
+ if (!response.ok) {
86
+ throw new Error(`SSE request failed: ${response.status}`);
87
+ }
88
+ const reader = response.body?.getReader();
89
+ if (!reader)
90
+ throw new Error("No response body");
91
+ const decoder = new TextDecoder();
92
+ let buffer = "";
93
+ while (true) {
94
+ const { done, value } = await reader.read();
95
+ if (done)
96
+ break;
97
+ buffer += decoder.decode(value, { stream: true });
98
+ const lines = buffer.split("\n");
99
+ buffer = lines.pop() ?? "";
100
+ let currentEvent = "log";
101
+ for (const line of lines) {
102
+ if (line.startsWith("event: ")) {
103
+ currentEvent = line.slice(7).trim();
104
+ }
105
+ else if (line.startsWith("data: ")) {
106
+ try {
107
+ const data = JSON.parse(line.slice(6));
108
+ logSSE(currentEvent, data);
109
+ onEvent(currentEvent, data);
110
+ }
111
+ catch {
112
+ // skip malformed data
113
+ }
114
+ }
115
+ }
116
+ }
117
+ }
118
+ function sleep(ms) {
119
+ return new Promise((resolve) => setTimeout(resolve, ms));
120
+ }
121
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/lib/api/transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { api } from "./api/index.js";
2
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { api } from "./api/index.js";
2
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function requireAuth(): void;
2
+ //# sourceMappingURL=auth-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-guard.d.ts","sourceRoot":"","sources":["../../src/lib/auth-guard.ts"],"names":[],"mappings":"AAGA,wBAAgB,WAAW,IAAI,IAAI,CAKlC"}
@@ -0,0 +1,9 @@
1
+ import chalk from "chalk";
2
+ import { isAuthenticated } from "./config.js";
3
+ export function requireAuth() {
4
+ if (!isAuthenticated()) {
5
+ console.log(chalk.red("Not authenticated. Run `machine login` first."));
6
+ process.exit(1);
7
+ }
8
+ }
9
+ //# sourceMappingURL=auth-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-guard.js","sourceRoot":"","sources":["../../src/lib/auth-guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function getToken(): string | null;
2
+ export declare function setAuth(token: string, email: string): void;
3
+ export declare function getEmail(): string | null;
4
+ export declare function getApiUrl(): string;
5
+ export declare function clearAuth(): void;
6
+ export declare function isAuthenticated(): boolean;
7
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAiBA,wBAAgB,QAAQ,IAAI,MAAM,GAAG,IAAI,CAExC;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAG1D;AAED,wBAAgB,QAAQ,IAAI,MAAM,GAAG,IAAI,CAExC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,SAAS,IAAI,IAAI,CAGhC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC"}
@@ -0,0 +1,30 @@
1
+ import Conf from "conf";
2
+ const config = new Conf({
3
+ projectName: "tiny-machine",
4
+ defaults: {
5
+ token: null,
6
+ email: null,
7
+ apiUrl: "https://tiny-machine-api.karen-df7.workers.dev",
8
+ },
9
+ });
10
+ export function getToken() {
11
+ return config.get("token");
12
+ }
13
+ export function setAuth(token, email) {
14
+ config.set("token", token);
15
+ config.set("email", email);
16
+ }
17
+ export function getEmail() {
18
+ return config.get("email");
19
+ }
20
+ export function getApiUrl() {
21
+ return process.env.MACHINE_API_URL || config.get("apiUrl");
22
+ }
23
+ export function clearAuth() {
24
+ config.set("token", null);
25
+ config.set("email", null);
26
+ }
27
+ export function isAuthenticated() {
28
+ return config.get("token") !== null;
29
+ }
30
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAQxB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAe;IACpC,WAAW,EAAE,cAAc;IAC3B,QAAQ,EAAE;QACR,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,gDAAgD;KACzD;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,QAAQ;IACtB,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAa,EAAE,KAAa;IAClD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;AACtC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function cronToHuman(cron: string): string;
2
+ //# sourceMappingURL=cron.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../src/lib/cron.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMhD"}
@@ -0,0 +1,10 @@
1
+ import cronstrue from "cronstrue";
2
+ export function cronToHuman(cron) {
3
+ try {
4
+ return cronstrue.toString(cron) + " UTC";
5
+ }
6
+ catch {
7
+ return cron;
8
+ }
9
+ }
10
+ //# sourceMappingURL=cron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron.js","sourceRoot":"","sources":["../../src/lib/cron.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare class ApiError extends Error {
2
+ status: number;
3
+ constructor(status: number, message: string);
4
+ }
5
+ export declare function isUserCancelled(err: unknown): boolean;
6
+ export declare function handleCommandError(err: unknown): never;
7
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAGA,qBAAa,QAAS,SAAQ,KAAK;IAC1B,MAAM,EAAE,MAAM,CAAC;gBACV,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK5C;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAErD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CAYtD"}
@@ -0,0 +1,27 @@
1
+ import chalk from "chalk";
2
+ import { clearAuth } from "./config.js";
3
+ export class ApiError extends Error {
4
+ status;
5
+ constructor(status, message) {
6
+ super(message);
7
+ this.name = "ApiError";
8
+ this.status = status;
9
+ }
10
+ }
11
+ export function isUserCancelled(err) {
12
+ return err instanceof Error && err.name === "ExitPromptError";
13
+ }
14
+ export function handleCommandError(err) {
15
+ if (isUserCancelled(err)) {
16
+ console.log(chalk.dim("\nCancelled."));
17
+ process.exit(0);
18
+ }
19
+ if (err instanceof ApiError && err.status === 401) {
20
+ clearAuth();
21
+ console.log(chalk.red("Session expired. You've been logged out. Run `machine login` to re-authenticate."));
22
+ process.exit(1);
23
+ }
24
+ console.error(chalk.red(err.message));
25
+ process.exit(1);
26
+ }
27
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,OAAO,QAAS,SAAQ,KAAK;IAC1B,MAAM,CAAS;IACtB,YAAY,MAAc,EAAE,OAAe;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,OAAO,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAClD,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC,CAAC;QAC3G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Resolve a short or full machine ID to the full UUID.
3
+ * Matches by prefix — e.g. "87016312" matches "87016312-abcd-...".
4
+ */
5
+ export declare function resolveMachineId(idOrPrefix: string): Promise<string>;
6
+ //# sourceMappingURL=resolve-machine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-machine.d.ts","sourceRoot":"","sources":["../../src/lib/resolve-machine.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB1E"}
@@ -0,0 +1,21 @@
1
+ import { api } from "./api.js";
2
+ /**
3
+ * Resolve a short or full machine ID to the full UUID.
4
+ * Matches by prefix — e.g. "87016312" matches "87016312-abcd-...".
5
+ */
6
+ export async function resolveMachineId(idOrPrefix) {
7
+ // If it looks like a full UUID, return as-is
8
+ if (idOrPrefix.includes("-") && idOrPrefix.length > 20) {
9
+ return idOrPrefix;
10
+ }
11
+ const machines = await api.listMachines();
12
+ const matches = machines.filter((m) => m.id.startsWith(idOrPrefix));
13
+ if (matches.length === 1) {
14
+ return matches[0].id;
15
+ }
16
+ if (matches.length === 0) {
17
+ throw new Error(`No machine found matching "${idOrPrefix}"`);
18
+ }
19
+ throw new Error(`Ambiguous ID "${idOrPrefix}" — matches ${matches.length} machines. Use a longer prefix.`);
20
+ }
21
+ //# sourceMappingURL=resolve-machine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-machine.js","sourceRoot":"","sources":["../../src/lib/resolve-machine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAkB;IACvD,6CAA6C;IAC7C,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACvD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAEpE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,UAAU,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,IAAI,KAAK,CACb,iBAAiB,UAAU,eAAe,OAAO,CAAC,MAAM,iCAAiC,CAC1F,CAAC;AACJ,CAAC"}
@@ -0,0 +1,31 @@
1
+ import select from "@inquirer/select";
2
+ import inputPrompt from "@inquirer/input";
3
+ import confirmPrompt from "@inquirer/confirm";
4
+ import checkboxPrompt from "@inquirer/checkbox";
5
+ import { type Ora } from "ora";
6
+ export interface LogEntry {
7
+ t: string;
8
+ type: "cmd" | "prompt" | "answer" | "api_req" | "api_res" | "api_err" | "sse" | "output" | "error" | "spinner";
9
+ [key: string]: unknown;
10
+ }
11
+ declare class SessionLogger {
12
+ private filePath;
13
+ private active;
14
+ get isActive(): boolean;
15
+ start(command: string, args: string[]): void;
16
+ log(entry: Omit<LogEntry, "t">): void;
17
+ close(): void;
18
+ }
19
+ export declare const logger: SessionLogger;
20
+ export declare function loadAnswers(filePath: string): void;
21
+ export declare function loggedSelect<T>(opts: Parameters<typeof select<T>>[0]): Promise<T>;
22
+ export declare function loggedInput(opts: Parameters<typeof inputPrompt>[0]): Promise<string>;
23
+ export declare function loggedConfirm(opts: Parameters<typeof confirmPrompt>[0]): Promise<boolean>;
24
+ export declare function loggedCheckbox<T>(opts: Parameters<typeof checkboxPrompt<T>>[0]): Promise<T[]>;
25
+ export declare function loggedOra(text: string): Ora;
26
+ export declare function logApiRequest(method: string, path: string, body?: unknown): void;
27
+ export declare function logApiResponse(path: string, status: number, data?: unknown): void;
28
+ export declare function logApiError(path: string, error: string): void;
29
+ export declare function logSSE(event: string, data: unknown): void;
30
+ export {};
31
+ //# sourceMappingURL=session-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-logger.d.ts","sourceRoot":"","sources":["../../src/lib/session-logger.ts"],"names":[],"mappings":"AAGA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAY,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAIpC,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EACA,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,GACT,SAAS,GACT,KAAK,GACL,QAAQ,GACR,OAAO,GACP,SAAS,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAsBD,cAAM,aAAa;IACjB,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,MAAM,CAAS;IAEvB,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAY5C,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,IAAI;IAMrC,KAAK,IAAI,IAAI;CAKd;AAED,eAAO,MAAM,MAAM,eAAsB,CAAC;AAO1C,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAOlD;AAWD,wBAAsB,YAAY,CAAC,CAAC,EAClC,IAAI,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACpC,OAAO,CAAC,CAAC,CAAC,CAcZ;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,GACtC,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,OAAO,CAAC,CAclB;AAED,wBAAsB,cAAc,CAAC,CAAC,EACpC,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC5C,OAAO,CAAC,CAAC,EAAE,CAAC,CAed;AAID,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CA2B3C;AAID,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAGhF;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAGjF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAG7D;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAGzD"}
@@ -0,0 +1,177 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import os from "node:os";
4
+ import select from "@inquirer/select";
5
+ import inputPrompt from "@inquirer/input";
6
+ import confirmPrompt from "@inquirer/confirm";
7
+ import checkboxPrompt from "@inquirer/checkbox";
8
+ import ora from "ora";
9
+ // ── Secret redaction ─────────────────────────────────────────────
10
+ const SECRET_KEYS = /token|secret|key|password|authorization|api_key|apikey/i;
11
+ function redact(obj, depth = 0) {
12
+ if (depth > 4 || obj === null || obj === undefined)
13
+ return obj;
14
+ if (typeof obj === "string")
15
+ return obj.length > 2000 ? obj.slice(0, 2000) + "…" : obj;
16
+ if (Array.isArray(obj))
17
+ return obj.map((v) => redact(v, depth + 1));
18
+ if (typeof obj === "object") {
19
+ const out = {};
20
+ for (const [k, v] of Object.entries(obj)) {
21
+ out[k] = SECRET_KEYS.test(k) ? "[REDACTED]" : redact(v, depth + 1);
22
+ }
23
+ return out;
24
+ }
25
+ return obj;
26
+ }
27
+ // ── SessionLogger singleton ──────────────────────────────────────
28
+ class SessionLogger {
29
+ filePath = null;
30
+ active = false;
31
+ get isActive() {
32
+ return this.active;
33
+ }
34
+ start(command, args) {
35
+ const dir = path.join(os.homedir(), ".tiny-machine", "logs");
36
+ fs.mkdirSync(dir, { recursive: true });
37
+ const ts = new Date().toISOString().replace(/[:.]/g, "-");
38
+ this.filePath = path.join(dir, `session-${ts}.jsonl`);
39
+ this.active = true;
40
+ this.log({ type: "cmd", command, args });
41
+ console.error(`[debug] Session log: ${this.filePath}`);
42
+ }
43
+ log(entry) {
44
+ if (!this.active || !this.filePath)
45
+ return;
46
+ const line = JSON.stringify({ t: new Date().toISOString(), ...entry });
47
+ fs.appendFileSync(this.filePath, line + "\n");
48
+ }
49
+ close() {
50
+ if (!this.active || !this.filePath)
51
+ return;
52
+ console.error(`[debug] Session log written to ${this.filePath}`);
53
+ this.active = false;
54
+ }
55
+ }
56
+ export const logger = new SessionLogger();
57
+ // ── Answer queue (non-interactive mode) ──────────────────────────
58
+ let answerQueue = [];
59
+ let nonInteractive = false;
60
+ export function loadAnswers(filePath) {
61
+ const raw = fs.readFileSync(filePath, "utf-8");
62
+ answerQueue = JSON.parse(raw);
63
+ if (!Array.isArray(answerQueue)) {
64
+ throw new Error("--answers file must contain a JSON array");
65
+ }
66
+ nonInteractive = true;
67
+ }
68
+ function shiftAnswer() {
69
+ if (!nonInteractive || answerQueue.length === 0)
70
+ return undefined;
71
+ return answerQueue.shift();
72
+ }
73
+ // ── Logged prompt wrappers ───────────────────────────────────────
74
+ // Signature-compatible with @inquirer/* — drop-in replacements.
75
+ // When answers are queued, returns pre-scripted values without calling inquirer.
76
+ export async function loggedSelect(opts) {
77
+ const choices = opts.choices;
78
+ logger.log({ type: "prompt", promptType: "select", message: opts.message, choices });
79
+ const queued = shiftAnswer();
80
+ if (queued !== undefined) {
81
+ logger.log({ type: "answer", value: queued, source: "answers-file" });
82
+ console.log(` -> ${opts.message} ${String(queued)} (auto)`);
83
+ return queued;
84
+ }
85
+ const answer = await select(opts);
86
+ logger.log({ type: "answer", value: answer });
87
+ return answer;
88
+ }
89
+ export async function loggedInput(opts) {
90
+ logger.log({ type: "prompt", promptType: "input", message: opts.message });
91
+ const queued = shiftAnswer();
92
+ if (queued !== undefined) {
93
+ const value = String(queued);
94
+ logger.log({ type: "answer", value: value || "(empty)", source: "answers-file" });
95
+ console.log(` -> ${opts.message} ${value || "(enter)"} (auto)`);
96
+ return value;
97
+ }
98
+ const answer = await inputPrompt(opts);
99
+ logger.log({ type: "answer", value: answer || "(empty)" });
100
+ return answer;
101
+ }
102
+ export async function loggedConfirm(opts) {
103
+ logger.log({ type: "prompt", promptType: "confirm", message: opts.message, default: opts.default });
104
+ const queued = shiftAnswer();
105
+ if (queued !== undefined) {
106
+ const value = Boolean(queued);
107
+ logger.log({ type: "answer", value, source: "answers-file" });
108
+ console.log(` -> ${opts.message} ${value ? "yes" : "no"} (auto)`);
109
+ return value;
110
+ }
111
+ const answer = await confirmPrompt(opts);
112
+ logger.log({ type: "answer", value: answer });
113
+ return answer;
114
+ }
115
+ export async function loggedCheckbox(opts) {
116
+ const choices = opts.choices;
117
+ logger.log({ type: "prompt", promptType: "checkbox", message: opts.message, choices });
118
+ const queued = shiftAnswer();
119
+ if (queued !== undefined) {
120
+ const value = Array.isArray(queued) ? queued : [queued];
121
+ logger.log({ type: "answer", value, source: "answers-file" });
122
+ console.log(` -> ${opts.message} ${JSON.stringify(value)} (auto)`);
123
+ return value;
124
+ }
125
+ const answers = await checkboxPrompt(opts);
126
+ logger.log({ type: "answer", value: answers });
127
+ return answers;
128
+ }
129
+ // ── Logged ora wrapper ───────────────────────────────────────────
130
+ export function loggedOra(text) {
131
+ const spinner = ora(text);
132
+ if (!logger.isActive)
133
+ return spinner;
134
+ const origStart = spinner.start.bind(spinner);
135
+ const origSucceed = spinner.succeed.bind(spinner);
136
+ const origFail = spinner.fail.bind(spinner);
137
+ const origStop = spinner.stop.bind(spinner);
138
+ spinner.start = (t) => {
139
+ logger.log({ type: "spinner", message: t ?? text, state: "start" });
140
+ return origStart(t);
141
+ };
142
+ spinner.succeed = (t) => {
143
+ logger.log({ type: "spinner", message: t ?? text, state: "succeed" });
144
+ return origSucceed(t);
145
+ };
146
+ spinner.fail = (t) => {
147
+ logger.log({ type: "spinner", message: t ?? text, state: "fail" });
148
+ return origFail(t);
149
+ };
150
+ spinner.stop = () => {
151
+ logger.log({ type: "spinner", message: text, state: "stop" });
152
+ return origStop();
153
+ };
154
+ return spinner;
155
+ }
156
+ // ── API logging helpers (used by transport.ts) ───────────────────
157
+ export function logApiRequest(method, path, body) {
158
+ if (!logger.isActive)
159
+ return;
160
+ logger.log({ type: "api_req", method, path, body: redact(body) });
161
+ }
162
+ export function logApiResponse(path, status, data) {
163
+ if (!logger.isActive)
164
+ return;
165
+ logger.log({ type: "api_res", path, status, data: redact(data) });
166
+ }
167
+ export function logApiError(path, error) {
168
+ if (!logger.isActive)
169
+ return;
170
+ logger.log({ type: "api_err", path, error });
171
+ }
172
+ export function logSSE(event, data) {
173
+ if (!logger.isActive)
174
+ return;
175
+ logger.log({ type: "sse", event, data: redact(data) });
176
+ }
177
+ //# sourceMappingURL=session-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-logger.js","sourceRoot":"","sources":["../../src/lib/session-logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ export interface McpServer {
2
+ keyword: string;
3
+ qualifiedName: string;
4
+ displayName: string;
5
+ description: string;
6
+ toolCount: number;
7
+ isRemote: boolean;
8
+ }
9
+ export interface Plan {
10
+ name: string;
11
+ triggerType: 'cron' | 'webhook';
12
+ triggerDescription: string;
13
+ integrationsNeeded: string[];
14
+ configurationNeeded: Record<string, string>;
15
+ scheduleCron: string | null;
16
+ outputSpec: string;
17
+ communicationMessage: string;
18
+ communicationChannel: string;
19
+ steps: string[];
20
+ mcpServers: McpServer[];
21
+ confidence: 'low' | 'medium' | 'high';
22
+ confidenceReason: string;
23
+ }
24
+ export interface CreateContext {
25
+ instruction: string;
26
+ plan: Plan;
27
+ connectedIds: string[];
28
+ connectedMap: Map<string, string>;
29
+ currentMachine: CreateMachineResponse;
30
+ }
31
+ export interface InterpretResponse {
32
+ name: string;
33
+ triggerType: 'cron' | 'webhook';
34
+ triggerDescription: string;
35
+ integrationsNeeded: string[];
36
+ configurationNeeded?: Record<string, string>;
37
+ schedule: string | null;
38
+ outputSpec: string;
39
+ communicationMessage: string;
40
+ steps: string[];
41
+ mcpServers: McpServer[];
42
+ confidence: 'low' | 'medium' | 'high';
43
+ confidenceReason: string;
44
+ }
45
+ export interface RefineResponse extends InterpretResponse {
46
+ scheduleCron?: string | null;
47
+ }
48
+ export interface CreateMachineResponse {
49
+ id: string;
50
+ name: string;
51
+ webhookId?: string;
52
+ webhookSecret?: string;
53
+ webhookUrl?: string;
54
+ }
55
+ export interface MachineListItem {
56
+ id: string;
57
+ name: string;
58
+ status: string;
59
+ triggerType: string;
60
+ scheduleCron: string;
61
+ lastRun: string | null;
62
+ }
63
+ export interface RunLogEntry {
64
+ id: string;
65
+ startedAt: string;
66
+ finishedAt: string | null;
67
+ status: string;
68
+ resultSummary: string | null;
69
+ }
70
+ export interface McpConnection {
71
+ id: string;
72
+ serverQualifiedName: string;
73
+ serverDisplayName: string;
74
+ toolsAvailable: string[];
75
+ connectedAt: string;
76
+ }
77
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}