@nodetool-ai/cli 0.7.0-rc.11
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.
- package/dist/ExecutionTree.d.ts +19 -0
- package/dist/ExecutionTree.d.ts.map +1 -0
- package/dist/ExecutionTree.js +100 -0
- package/dist/ExecutionTree.js.map +1 -0
- package/dist/app.d.ts +50 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +767 -0
- package/dist/app.js.map +1 -0
- package/dist/commands/agent.d.ts +11 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +483 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/deploy-helpers.d.ts +46 -0
- package/dist/commands/deploy-helpers.d.ts.map +1 -0
- package/dist/commands/deploy-helpers.js +448 -0
- package/dist/commands/deploy-helpers.js.map +1 -0
- package/dist/commands/deploy.d.ts +8 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +645 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/models-hf.d.ts +9 -0
- package/dist/commands/models-hf.d.ts.map +1 -0
- package/dist/commands/models-hf.js +235 -0
- package/dist/commands/models-hf.js.map +1 -0
- package/dist/commands/models-recommended.d.ts +10 -0
- package/dist/commands/models-recommended.d.ts.map +1 -0
- package/dist/commands/models-recommended.js +128 -0
- package/dist/commands/models-recommended.js.map +1 -0
- package/dist/commands/package-helpers.d.ts +14 -0
- package/dist/commands/package-helpers.d.ts.map +1 -0
- package/dist/commands/package-helpers.js +76 -0
- package/dist/commands/package-helpers.js.map +1 -0
- package/dist/commands/package.d.ts +3 -0
- package/dist/commands/package.d.ts.map +1 -0
- package/dist/commands/package.js +254 -0
- package/dist/commands/package.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +233 -0
- package/dist/index.js.map +1 -0
- package/dist/markdown.d.ts +9 -0
- package/dist/markdown.d.ts.map +1 -0
- package/dist/markdown.js +48 -0
- package/dist/markdown.js.map +1 -0
- package/dist/nodetool.d.ts +16 -0
- package/dist/nodetool.d.ts.map +1 -0
- package/dist/nodetool.js +1154 -0
- package/dist/nodetool.js.map +1 -0
- package/dist/providers.d.ts +47 -0
- package/dist/providers.d.ts.map +1 -0
- package/dist/providers.js +173 -0
- package/dist/providers.js.map +1 -0
- package/dist/readline-input.d.ts +29 -0
- package/dist/readline-input.d.ts.map +1 -0
- package/dist/readline-input.js +199 -0
- package/dist/readline-input.js.map +1 -0
- package/dist/run-dsl.d.ts +11 -0
- package/dist/run-dsl.d.ts.map +1 -0
- package/dist/run-dsl.js +31 -0
- package/dist/run-dsl.js.map +1 -0
- package/dist/settings.d.ts +18 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +86 -0
- package/dist/settings.js.map +1 -0
- package/dist/stdin.d.ts +48 -0
- package/dist/stdin.d.ts.map +1 -0
- package/dist/stdin.js +352 -0
- package/dist/stdin.js.map +1 -0
- package/dist/useExecutionState.d.ts +44 -0
- package/dist/useExecutionState.d.ts.map +1 -0
- package/dist/useExecutionState.js +281 -0
- package/dist/useExecutionState.js.map +1 -0
- package/dist/websocket-client.d.ts +100 -0
- package/dist/websocket-client.d.ts.map +1 -0
- package/dist/websocket-client.js +351 -0
- package/dist/websocket-client.js.map +1 -0
- package/package.json +85 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-helpers.d.ts","sourceRoot":"","sources":["../../src/commands/deploy-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,EAEjB,cAAc,EAgBd,KAAK,aAAa,EAElB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAQnB,KAAK,kBAAkB,EAExB,MAAM,qBAAqB,CAAC;AAS7B,+DAA+D;AAC/D,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,IAAI,CAoBN;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAE1C;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAM3D;AAMD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAOlE;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,GACX,aAAa,CASf;AAED,mFAAmF;AACnF,wBAAgB,wBAAwB,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAuB1E;AA0FD,wBAAsB,UAAU,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAI7D;AAMD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,aAAa,GACxB,MAAM,GAAG,SAAS,CAepB;AAiBD,wBAAsB,iBAAiB,CAAC,IAAI,CAAC,EAAE;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,MAAM,CAAC,CAWlB;AAED,wBAAsB,cAAc,CAClC,UAAU,EAAE,aAAa,EACzB,cAAc,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,OAAO,CAAC,eAAe,CAAC,CAI1B;AAED,wBAAsB,cAAc,CAClC,UAAU,EAAE,aAAa,EACzB,cAAc,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,OAAO,CAAC,cAAc,CAAC,CAIzB;AAMD,wEAAwE;AACxE,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1B,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,gEAAgE;AAChE,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsCnE;AAED,0EAA0E;AAC1E,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5C,OAAO,CAAC,OAAO,CAAC,CAQlB;AAMD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,MAAM,GACX,aAAa,CA+Cf;AAMD,wEAAwE;AACxE,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,sEAAsE;AACtE,wBAAgB,cAAc,IAAI,kBAAkB,CAoDnD;AAuCD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgBxE;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkBlD;AAGD,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared helpers for the `nodetool deploy` CLI command group.
|
|
3
|
+
*
|
|
4
|
+
* Provides factories for DeploymentManager / AdminHTTPClient / APIUserManager,
|
|
5
|
+
* prompt utilities, output formatters, and stubs used by `deploy add`.
|
|
6
|
+
*/
|
|
7
|
+
import { createInterface } from "node:readline";
|
|
8
|
+
import { spawnSync } from "node:child_process";
|
|
9
|
+
import { AdminHTTPClient, APIUserManager, DeploymentManager, StateManager, WorkflowSyncer, dockerDeploymentGetServerUrl, gcpDeploymentGetServerUrl, runPodDeploymentGetServerUrl, loadDeploymentConfig, GCPDeployer, RunPodDeployer, FlyDeployer, RailwayDeployer, HuggingFaceDeployer, DockerDeployer, DockerDeploymentSchema, FlyDeploymentSchema, HuggingFaceDeploymentSchema, RailwayDeploymentSchema, RunPodDeploymentSchema } from "@nodetool-ai/deploy";
|
|
10
|
+
import { Asset, Workflow } from "@nodetool-ai/models";
|
|
11
|
+
import { FileStorageAdapter } from "@nodetool-ai/runtime";
|
|
12
|
+
import { getDefaultAssetsPath } from "@nodetool-ai/config";
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
// Output helpers (duplicated from nodetool.ts so the CLI root stays simple)
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
/** Print a table to stdout. Missing values render as empty. */
|
|
17
|
+
export function printTable(rows, columns) {
|
|
18
|
+
if (rows.length === 0) {
|
|
19
|
+
console.log("(no results)");
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const cols = columns ?? Object.keys(rows[0]);
|
|
23
|
+
const widths = cols.map((c) => Math.max(c.length, ...rows.map((r) => String(r[c] ?? "").length)));
|
|
24
|
+
const sep = widths.map((w) => "─".repeat(w + 2)).join("┼");
|
|
25
|
+
const header = cols.map((c, i) => ` ${c.padEnd(widths[i])} `).join("│");
|
|
26
|
+
console.log(header);
|
|
27
|
+
console.log(sep);
|
|
28
|
+
for (const row of rows) {
|
|
29
|
+
console.log(cols
|
|
30
|
+
.map((c, i) => ` ${String(row[c] ?? "").padEnd(widths[i])} `)
|
|
31
|
+
.join("│"));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export function asJson(data) {
|
|
35
|
+
console.log(JSON.stringify(data, null, 2));
|
|
36
|
+
}
|
|
37
|
+
export function printKv(rows) {
|
|
38
|
+
const list = Object.entries(rows).map(([key, value]) => ({
|
|
39
|
+
key,
|
|
40
|
+
value: String(value ?? "")
|
|
41
|
+
}));
|
|
42
|
+
printTable(list, ["key", "value"]);
|
|
43
|
+
}
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
// Config / manager factories
|
|
46
|
+
// ---------------------------------------------------------------------------
|
|
47
|
+
export async function loadConfigOrExit() {
|
|
48
|
+
try {
|
|
49
|
+
return await loadDeploymentConfig();
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
console.error(String(err));
|
|
53
|
+
process.exit(1);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
export function getDeploymentOrExit(config, name) {
|
|
57
|
+
const deployment = config.deployments[name];
|
|
58
|
+
if (!deployment) {
|
|
59
|
+
console.error(`Deployment '${name}' not found. Run 'nodetool deploy list' to see configured deployments.`);
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
return deployment;
|
|
63
|
+
}
|
|
64
|
+
/** Deployer factory map — wraps concrete deployers into the Deployer interface. */
|
|
65
|
+
export function defaultDeployerFactories() {
|
|
66
|
+
return {
|
|
67
|
+
docker: (name, deployment, state) => adaptDocker(new DockerDeployer(name, deployment, state)),
|
|
68
|
+
runpod: (name, deployment, state) => adaptRunPod(new RunPodDeployer(name, deployment, state)),
|
|
69
|
+
gcp: (name, deployment, state) => adaptGCP(new GCPDeployer(name, deployment, state)),
|
|
70
|
+
fly: (name, deployment, state) => adaptFly(new FlyDeployer(name, deployment, state)),
|
|
71
|
+
railway: (name, deployment, state) => adaptRailway(new RailwayDeployer(name, deployment, state)),
|
|
72
|
+
huggingface: (name, deployment, state) => adaptHuggingFace(new HuggingFaceDeployer(name, deployment, state))
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
function adaptDocker(d) {
|
|
76
|
+
return {
|
|
77
|
+
plan: () => d.plan(),
|
|
78
|
+
apply: (opts) => d.apply({ dryRun: opts?.dryRun }),
|
|
79
|
+
status: () => d.status(),
|
|
80
|
+
logs: (opts) => d.logs({
|
|
81
|
+
service: opts?.service,
|
|
82
|
+
follow: opts?.follow,
|
|
83
|
+
tail: opts?.tail
|
|
84
|
+
}),
|
|
85
|
+
destroy: () => d.destroy()
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
function adaptRunPod(d) {
|
|
89
|
+
return {
|
|
90
|
+
plan: () => d.plan(),
|
|
91
|
+
apply: (opts) => d.apply(opts?.dryRun ?? false),
|
|
92
|
+
status: () => d.status(),
|
|
93
|
+
logs: async () => {
|
|
94
|
+
// RunPod serverless doesn't provide log access
|
|
95
|
+
try {
|
|
96
|
+
d.logs();
|
|
97
|
+
}
|
|
98
|
+
catch (e) {
|
|
99
|
+
return `${String(e)}\n`;
|
|
100
|
+
}
|
|
101
|
+
return "";
|
|
102
|
+
},
|
|
103
|
+
destroy: () => d.destroy()
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
function adaptGCP(d) {
|
|
107
|
+
return {
|
|
108
|
+
plan: () => d.plan(),
|
|
109
|
+
apply: (opts) => d.apply(opts?.dryRun ?? false),
|
|
110
|
+
status: () => d.status(),
|
|
111
|
+
logs: (opts) => d.logs(opts?.service, opts?.follow ?? false, opts?.tail ?? 100),
|
|
112
|
+
destroy: () => d.destroy()
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
function adaptFly(d) {
|
|
116
|
+
return {
|
|
117
|
+
plan: () => d.plan(),
|
|
118
|
+
apply: (opts) => d.apply({ dryRun: opts?.dryRun }),
|
|
119
|
+
status: () => d.status(),
|
|
120
|
+
logs: (opts) => d.logs({ follow: opts?.follow, tail: opts?.tail }),
|
|
121
|
+
destroy: () => d.destroy()
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
function adaptRailway(d) {
|
|
125
|
+
return {
|
|
126
|
+
plan: () => d.plan(),
|
|
127
|
+
apply: (opts) => d.apply({ dryRun: opts?.dryRun }),
|
|
128
|
+
status: () => d.status(),
|
|
129
|
+
logs: (opts) => d.logs({ follow: opts?.follow, tail: opts?.tail }),
|
|
130
|
+
destroy: () => d.destroy()
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
function adaptHuggingFace(d) {
|
|
134
|
+
return {
|
|
135
|
+
plan: () => d.plan(),
|
|
136
|
+
apply: (opts) => d.apply({ dryRun: opts?.dryRun }),
|
|
137
|
+
status: () => d.status(),
|
|
138
|
+
logs: (opts) => d.logs({ follow: opts?.follow, tail: opts?.tail }),
|
|
139
|
+
destroy: () => d.destroy()
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
export async function getManager() {
|
|
143
|
+
const config = await loadConfigOrExit();
|
|
144
|
+
const state = new StateManager();
|
|
145
|
+
return new DeploymentManager(config, state, defaultDeployerFactories());
|
|
146
|
+
}
|
|
147
|
+
// ---------------------------------------------------------------------------
|
|
148
|
+
// Server URL resolution
|
|
149
|
+
// ---------------------------------------------------------------------------
|
|
150
|
+
export function resolveServerUrl(deployment) {
|
|
151
|
+
switch (deployment.type) {
|
|
152
|
+
case "docker":
|
|
153
|
+
return dockerDeploymentGetServerUrl(deployment);
|
|
154
|
+
case "runpod":
|
|
155
|
+
return runPodDeploymentGetServerUrl(deployment);
|
|
156
|
+
case "gcp":
|
|
157
|
+
return gcpDeploymentGetServerUrl(deployment);
|
|
158
|
+
case "fly":
|
|
159
|
+
return deployment.state.url ?? undefined;
|
|
160
|
+
case "railway":
|
|
161
|
+
return deployment.state.url ?? undefined;
|
|
162
|
+
case "huggingface":
|
|
163
|
+
return deployment.state.space_url ?? undefined;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
function requireServerUrl(deployment, name) {
|
|
167
|
+
const url = resolveServerUrl(deployment);
|
|
168
|
+
if (!url) {
|
|
169
|
+
console.error(`Deployment '${name}' has no server URL yet (run 'nodetool deploy apply ${name}' first).`);
|
|
170
|
+
process.exit(1);
|
|
171
|
+
}
|
|
172
|
+
return url;
|
|
173
|
+
}
|
|
174
|
+
// ---------------------------------------------------------------------------
|
|
175
|
+
// Admin auth token resolution
|
|
176
|
+
// ---------------------------------------------------------------------------
|
|
177
|
+
export async function resolveAdminToken(opts) {
|
|
178
|
+
if (opts?.token)
|
|
179
|
+
return opts.token;
|
|
180
|
+
const envToken = process.env["NODETOOL_ADMIN_TOKEN"];
|
|
181
|
+
if (envToken)
|
|
182
|
+
return envToken;
|
|
183
|
+
if (!process.stdin.isTTY) {
|
|
184
|
+
console.error("Admin token required. Provide --token or set NODETOOL_ADMIN_TOKEN.");
|
|
185
|
+
process.exit(1);
|
|
186
|
+
}
|
|
187
|
+
return promptHidden("Enter admin bearer token: ");
|
|
188
|
+
}
|
|
189
|
+
export async function getAdminClient(deployment, deploymentName, opts) {
|
|
190
|
+
const serverUrl = requireServerUrl(deployment, deploymentName);
|
|
191
|
+
const token = await resolveAdminToken(opts);
|
|
192
|
+
return new AdminHTTPClient({ baseUrl: serverUrl, authToken: token });
|
|
193
|
+
}
|
|
194
|
+
export async function getUserManager(deployment, deploymentName, opts) {
|
|
195
|
+
const serverUrl = requireServerUrl(deployment, deploymentName);
|
|
196
|
+
const token = await resolveAdminToken(opts);
|
|
197
|
+
return new APIUserManager(serverUrl, token);
|
|
198
|
+
}
|
|
199
|
+
// ---------------------------------------------------------------------------
|
|
200
|
+
// Prompts
|
|
201
|
+
// ---------------------------------------------------------------------------
|
|
202
|
+
/** Prompt for a line on stdin (echoes). TTY only — exits if non-TTY. */
|
|
203
|
+
export async function promptLine(message, opts) {
|
|
204
|
+
if (!process.stdin.isTTY) {
|
|
205
|
+
console.error(`Missing value for interactive prompt: ${message}`);
|
|
206
|
+
process.exit(1);
|
|
207
|
+
}
|
|
208
|
+
const rl = createInterface({
|
|
209
|
+
input: process.stdin,
|
|
210
|
+
output: process.stderr
|
|
211
|
+
});
|
|
212
|
+
return new Promise((resolve) => {
|
|
213
|
+
const suffix = opts?.default ? ` [${opts.default}]` : "";
|
|
214
|
+
rl.question(`${message}${suffix}: `, (answer) => {
|
|
215
|
+
rl.close();
|
|
216
|
+
const trimmed = answer.trim();
|
|
217
|
+
resolve(trimmed || (opts?.default ?? ""));
|
|
218
|
+
});
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
/** Prompt for hidden input (typed but not echoed). TTY only. */
|
|
222
|
+
export async function promptHidden(message) {
|
|
223
|
+
if (!process.stdin.isTTY) {
|
|
224
|
+
console.error(`Missing value for interactive prompt: ${message}`);
|
|
225
|
+
process.exit(1);
|
|
226
|
+
}
|
|
227
|
+
process.stderr.write(message);
|
|
228
|
+
return new Promise((resolve) => {
|
|
229
|
+
let value = "";
|
|
230
|
+
const stdin = process.stdin;
|
|
231
|
+
const wasRaw = stdin.isRaw;
|
|
232
|
+
stdin.setRawMode(true);
|
|
233
|
+
stdin.resume();
|
|
234
|
+
stdin.setEncoding("utf8");
|
|
235
|
+
const onData = (data) => {
|
|
236
|
+
for (const ch of data) {
|
|
237
|
+
if (ch === "\r" || ch === "\n") {
|
|
238
|
+
stdin.setRawMode(wasRaw ?? false);
|
|
239
|
+
stdin.pause();
|
|
240
|
+
stdin.removeListener("data", onData);
|
|
241
|
+
process.stderr.write("\n");
|
|
242
|
+
resolve(value);
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
if (ch === "") {
|
|
246
|
+
stdin.setRawMode(wasRaw ?? false);
|
|
247
|
+
stdin.pause();
|
|
248
|
+
process.exit(130);
|
|
249
|
+
}
|
|
250
|
+
if (ch === "" || ch === "\b") {
|
|
251
|
+
value = value.slice(0, -1);
|
|
252
|
+
continue;
|
|
253
|
+
}
|
|
254
|
+
value += ch;
|
|
255
|
+
}
|
|
256
|
+
};
|
|
257
|
+
stdin.on("data", onData);
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
/** Yes/no confirm. Non-TTY returns the `force` value (default: false). */
|
|
261
|
+
export async function confirm(message, opts) {
|
|
262
|
+
if (opts?.force)
|
|
263
|
+
return true;
|
|
264
|
+
if (!process.stdin.isTTY)
|
|
265
|
+
return false;
|
|
266
|
+
const defaultYes = opts?.default ?? false;
|
|
267
|
+
const hint = defaultYes ? "[Y/n]" : "[y/N]";
|
|
268
|
+
const answer = await promptLine(`${message} ${hint}`);
|
|
269
|
+
if (!answer)
|
|
270
|
+
return defaultYes;
|
|
271
|
+
return /^y(es)?$/i.test(answer);
|
|
272
|
+
}
|
|
273
|
+
// ---------------------------------------------------------------------------
|
|
274
|
+
// Deployment stubs (for `deploy add` on types without configure* helpers)
|
|
275
|
+
// ---------------------------------------------------------------------------
|
|
276
|
+
export function buildStubDeployment(type, name) {
|
|
277
|
+
switch (type) {
|
|
278
|
+
case "fly":
|
|
279
|
+
return FlyDeploymentSchema.parse({
|
|
280
|
+
type: "fly",
|
|
281
|
+
app: `nodetool-${name}`,
|
|
282
|
+
image: "nodetool-image.yaml"
|
|
283
|
+
});
|
|
284
|
+
case "railway":
|
|
285
|
+
return RailwayDeploymentSchema.parse({
|
|
286
|
+
type: "railway",
|
|
287
|
+
project: "your-project-id",
|
|
288
|
+
service: `nodetool-${name}`,
|
|
289
|
+
image: "nodetool-image.yaml"
|
|
290
|
+
});
|
|
291
|
+
case "huggingface":
|
|
292
|
+
return HuggingFaceDeploymentSchema.parse({
|
|
293
|
+
type: "huggingface",
|
|
294
|
+
repo: `your-org/nodetool-${name}`,
|
|
295
|
+
image: "nodetool-image.yaml"
|
|
296
|
+
});
|
|
297
|
+
case "docker":
|
|
298
|
+
return DockerDeploymentSchema.parse({
|
|
299
|
+
type: "docker",
|
|
300
|
+
host: "localhost",
|
|
301
|
+
image: {
|
|
302
|
+
name: "ghcr.io/nodetool-ai/nodetool",
|
|
303
|
+
tag: "latest"
|
|
304
|
+
},
|
|
305
|
+
container: {
|
|
306
|
+
name: `nodetool-${name}`,
|
|
307
|
+
port: 8000
|
|
308
|
+
}
|
|
309
|
+
});
|
|
310
|
+
case "runpod":
|
|
311
|
+
return RunPodDeploymentSchema.parse({
|
|
312
|
+
type: "runpod",
|
|
313
|
+
image: {
|
|
314
|
+
name: "your-dockerhub-user/nodetool",
|
|
315
|
+
tag: "latest"
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
case "gcp":
|
|
319
|
+
throw new Error("GCP deployments must be configured via interactive prompts — no stub available.");
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
// ---------------------------------------------------------------------------
|
|
323
|
+
// WorkflowSyncer deps
|
|
324
|
+
// ---------------------------------------------------------------------------
|
|
325
|
+
/** Local user ID used by the CLI — matches the rest of the TS stack. */
|
|
326
|
+
export const LOCAL_USER_ID = "1";
|
|
327
|
+
/** Build WorkflowSyncer deps backed by the local DB + FileStorage. */
|
|
328
|
+
export function makeSyncerDeps() {
|
|
329
|
+
const storageRoot = getDefaultAssetsPath();
|
|
330
|
+
const adapter = new FileStorageAdapter(storageRoot);
|
|
331
|
+
const storage = {
|
|
332
|
+
async download(key) {
|
|
333
|
+
const data = await adapter.retrieve(`/api/storage/${key}`);
|
|
334
|
+
if (!data) {
|
|
335
|
+
throw new Error(`Asset file not found in local storage: ${key}`);
|
|
336
|
+
}
|
|
337
|
+
return data;
|
|
338
|
+
}
|
|
339
|
+
};
|
|
340
|
+
return {
|
|
341
|
+
async getWorkflowData(id) {
|
|
342
|
+
const wf = await Workflow.find(LOCAL_USER_ID, id);
|
|
343
|
+
if (!wf)
|
|
344
|
+
return null;
|
|
345
|
+
return {
|
|
346
|
+
id: wf.id,
|
|
347
|
+
name: wf.name,
|
|
348
|
+
description: wf.description,
|
|
349
|
+
access: wf.access,
|
|
350
|
+
graph: wf.graph,
|
|
351
|
+
settings: wf.settings,
|
|
352
|
+
updated_at: wf.updated_at,
|
|
353
|
+
created_at: wf.created_at
|
|
354
|
+
};
|
|
355
|
+
},
|
|
356
|
+
async getAsset(id) {
|
|
357
|
+
const asset = await Asset.find(LOCAL_USER_ID, id);
|
|
358
|
+
if (!asset)
|
|
359
|
+
return null;
|
|
360
|
+
const fileExt = contentTypeToExt(asset.content_type);
|
|
361
|
+
const fileName = asset.isFolder ? null : `${asset.id}.${fileExt}`;
|
|
362
|
+
const thumbFileName = asset.hasThumbnail ? `${asset.id}_thumb.jpg` : null;
|
|
363
|
+
return {
|
|
364
|
+
id: asset.id,
|
|
365
|
+
user_id: asset.user_id,
|
|
366
|
+
name: asset.name,
|
|
367
|
+
content_type: asset.content_type,
|
|
368
|
+
parent_id: asset.parent_id,
|
|
369
|
+
workflow_id: asset.workflow_id,
|
|
370
|
+
metadata: asset.metadata,
|
|
371
|
+
file_name: fileName,
|
|
372
|
+
has_thumbnail: asset.hasThumbnail,
|
|
373
|
+
thumb_file_name: thumbFileName
|
|
374
|
+
};
|
|
375
|
+
},
|
|
376
|
+
getSyncerAssetStorage() {
|
|
377
|
+
return storage;
|
|
378
|
+
}
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
const CONTENT_TYPE_TO_EXT = {
|
|
382
|
+
"image/jpeg": "jpg",
|
|
383
|
+
"image/png": "png",
|
|
384
|
+
"image/gif": "gif",
|
|
385
|
+
"image/svg+xml": "svg",
|
|
386
|
+
"image/webp": "webp",
|
|
387
|
+
"image/tiff": "tiff",
|
|
388
|
+
"image/bmp": "bmp",
|
|
389
|
+
"text/plain": "txt",
|
|
390
|
+
"text/csv": "csv",
|
|
391
|
+
"text/html": "html",
|
|
392
|
+
"application/json": "json",
|
|
393
|
+
"application/pdf": "pdf",
|
|
394
|
+
"application/zip": "zip",
|
|
395
|
+
"audio/mpeg": "mp3",
|
|
396
|
+
"audio/mp3": "mp3",
|
|
397
|
+
"audio/wav": "wav",
|
|
398
|
+
"audio/ogg": "ogg",
|
|
399
|
+
"audio/aac": "aac",
|
|
400
|
+
"audio/x-wav": "wav",
|
|
401
|
+
"audio/x-flac": "flac",
|
|
402
|
+
"audio/x-m4a": "m4a",
|
|
403
|
+
"video/mp4": "mp4",
|
|
404
|
+
"video/mpeg": "mpeg",
|
|
405
|
+
"video/quicktime": "mov",
|
|
406
|
+
"video/x-msvideo": "avi",
|
|
407
|
+
"video/webm": "webm"
|
|
408
|
+
};
|
|
409
|
+
function contentTypeToExt(contentType) {
|
|
410
|
+
return CONTENT_TYPE_TO_EXT[contentType] ?? "bin";
|
|
411
|
+
}
|
|
412
|
+
// ---------------------------------------------------------------------------
|
|
413
|
+
// Misc
|
|
414
|
+
// ---------------------------------------------------------------------------
|
|
415
|
+
export function parseParamPairs(pairs) {
|
|
416
|
+
const result = {};
|
|
417
|
+
for (const raw of pairs) {
|
|
418
|
+
const eq = raw.indexOf("=");
|
|
419
|
+
if (eq < 0) {
|
|
420
|
+
throw new Error(`Invalid parameter '${raw}'. Expected key=value.`);
|
|
421
|
+
}
|
|
422
|
+
const key = raw.slice(0, eq);
|
|
423
|
+
const value = raw.slice(eq + 1);
|
|
424
|
+
try {
|
|
425
|
+
result[key] = JSON.parse(value);
|
|
426
|
+
}
|
|
427
|
+
catch {
|
|
428
|
+
result[key] = value;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
return result;
|
|
432
|
+
}
|
|
433
|
+
export function runEditor(filePath) {
|
|
434
|
+
const editor = process.env["VISUAL"] ?? process.env["EDITOR"] ?? "vi";
|
|
435
|
+
const result = spawnSync(editor, [filePath], { stdio: "inherit" });
|
|
436
|
+
if (result.error != null) {
|
|
437
|
+
console.error(`Failed to launch editor '${editor}': ${result.error.message}`);
|
|
438
|
+
return 1;
|
|
439
|
+
}
|
|
440
|
+
if (result.status === null) {
|
|
441
|
+
console.error(`Editor '${editor}' did not exit with a valid status code (terminated by signal ${result.signal ?? "unknown"}).`);
|
|
442
|
+
return 1;
|
|
443
|
+
}
|
|
444
|
+
return result.status;
|
|
445
|
+
}
|
|
446
|
+
// Re-export for downstream consumers who want the syncer class.
|
|
447
|
+
export { WorkflowSyncer };
|
|
448
|
+
//# sourceMappingURL=deploy-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-helpers.js","sourceRoot":"","sources":["../../src/commands/deploy-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `nodetool deploy` CLI commands — registered on a Commander `Command`
|
|
3
|
+
* via `registerDeployCommands(program)`. See docs/ for the full spec.
|
|
4
|
+
*/
|
|
5
|
+
import { Command } from "commander";
|
|
6
|
+
export declare function registerDeployCommands(program: Command): void;
|
|
7
|
+
export declare function registerListGcpOptions(program: Command): void;
|
|
8
|
+
//# sourceMappingURL=deploy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoIpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmB7D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiC7D"}
|