@nodetool-ai/deploy 0.7.0-rc.23 → 0.8.2

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 (121) hide show
  1. package/README.md +41 -0
  2. package/dist/.nodetool-build-stamp +1 -0
  3. package/dist/admin-client.d.ts +5 -39
  4. package/dist/admin-client.d.ts.map +1 -1
  5. package/dist/admin-client.js +9 -230
  6. package/dist/admin-client.js.map +1 -1
  7. package/dist/api-user-manager.d.ts.map +1 -1
  8. package/dist/api-user-manager.js +5 -2
  9. package/dist/api-user-manager.js.map +1 -1
  10. package/dist/auth.d.ts.map +1 -1
  11. package/dist/auth.js +0 -3
  12. package/dist/auth.js.map +1 -1
  13. package/dist/compose.d.ts.map +1 -1
  14. package/dist/compose.js +5 -6
  15. package/dist/compose.js.map +1 -1
  16. package/dist/configure.d.ts +1 -43
  17. package/dist/configure.d.ts.map +1 -1
  18. package/dist/configure.js +2 -43
  19. package/dist/configure.js.map +1 -1
  20. package/dist/deployment-config.d.ts +28 -786
  21. package/dist/deployment-config.d.ts.map +1 -1
  22. package/dist/deployment-config.js +34 -218
  23. package/dist/deployment-config.js.map +1 -1
  24. package/dist/docker-run.d.ts +2 -1
  25. package/dist/docker-run.d.ts.map +1 -1
  26. package/dist/docker-run.js +6 -22
  27. package/dist/docker-run.js.map +1 -1
  28. package/dist/docker.d.ts +6 -21
  29. package/dist/docker.d.ts.map +1 -1
  30. package/dist/docker.js +6 -53
  31. package/dist/docker.js.map +1 -1
  32. package/dist/image-spec.d.ts +1 -1
  33. package/dist/index.d.ts +0 -14
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +2 -17
  36. package/dist/index.js.map +1 -1
  37. package/dist/manager.d.ts.map +1 -1
  38. package/dist/manager.js +0 -44
  39. package/dist/manager.js.map +1 -1
  40. package/dist/progress.d.ts.map +1 -1
  41. package/dist/progress.js +0 -1
  42. package/dist/progress.js.map +1 -1
  43. package/dist/remote-users.d.ts.map +1 -1
  44. package/dist/remote-users.js +1 -4
  45. package/dist/remote-users.js.map +1 -1
  46. package/dist/runpod-rest.d.ts +114 -0
  47. package/dist/runpod-rest.d.ts.map +1 -0
  48. package/dist/runpod-rest.js +150 -0
  49. package/dist/runpod-rest.js.map +1 -0
  50. package/dist/self-hosted.d.ts +17 -43
  51. package/dist/self-hosted.d.ts.map +1 -1
  52. package/dist/self-hosted.js +50 -124
  53. package/dist/self-hosted.js.map +1 -1
  54. package/dist/ssh.d.ts +9 -0
  55. package/dist/ssh.d.ts.map +1 -1
  56. package/dist/ssh.js +1 -5
  57. package/dist/ssh.js.map +1 -1
  58. package/dist/state.d.ts.map +1 -1
  59. package/dist/state.js +1 -11
  60. package/dist/state.js.map +1 -1
  61. package/dist/workflow-syncer.d.ts +3 -32
  62. package/dist/workflow-syncer.d.ts.map +1 -1
  63. package/dist/workflow-syncer.js +3 -162
  64. package/dist/workflow-syncer.js.map +1 -1
  65. package/package.json +29 -14
  66. package/dist/admin-operations.d.ts +0 -197
  67. package/dist/admin-operations.d.ts.map +0 -1
  68. package/dist/admin-operations.js +0 -433
  69. package/dist/admin-operations.js.map +0 -1
  70. package/dist/admin-routes.d.ts +0 -306
  71. package/dist/admin-routes.d.ts.map +0 -1
  72. package/dist/admin-routes.js +0 -383
  73. package/dist/admin-routes.js.map +0 -1
  74. package/dist/collection-routes.d.ts +0 -37
  75. package/dist/collection-routes.d.ts.map +0 -1
  76. package/dist/collection-routes.js +0 -43
  77. package/dist/collection-routes.js.map +0 -1
  78. package/dist/deploy-to-gcp.d.ts +0 -67
  79. package/dist/deploy-to-gcp.d.ts.map +0 -1
  80. package/dist/deploy-to-gcp.js +0 -268
  81. package/dist/deploy-to-gcp.js.map +0 -1
  82. package/dist/deploy-to-runpod.d.ts +0 -53
  83. package/dist/deploy-to-runpod.d.ts.map +0 -1
  84. package/dist/deploy-to-runpod.js +0 -207
  85. package/dist/deploy-to-runpod.js.map +0 -1
  86. package/dist/fly.d.ts +0 -40
  87. package/dist/fly.d.ts.map +0 -1
  88. package/dist/fly.js +0 -291
  89. package/dist/fly.js.map +0 -1
  90. package/dist/gcp.d.ts +0 -59
  91. package/dist/gcp.d.ts.map +0 -1
  92. package/dist/gcp.js +0 -339
  93. package/dist/gcp.js.map +0 -1
  94. package/dist/google-cloud-run-api.d.ts +0 -134
  95. package/dist/google-cloud-run-api.d.ts.map +0 -1
  96. package/dist/google-cloud-run-api.js +0 -532
  97. package/dist/google-cloud-run-api.js.map +0 -1
  98. package/dist/huggingface.d.ts +0 -69
  99. package/dist/huggingface.d.ts.map +0 -1
  100. package/dist/huggingface.js +0 -346
  101. package/dist/huggingface.js.map +0 -1
  102. package/dist/railway.d.ts +0 -65
  103. package/dist/railway.d.ts.map +0 -1
  104. package/dist/railway.js +0 -284
  105. package/dist/railway.js.map +0 -1
  106. package/dist/runpod-api.d.ts +0 -206
  107. package/dist/runpod-api.d.ts.map +0 -1
  108. package/dist/runpod-api.js +0 -703
  109. package/dist/runpod-api.js.map +0 -1
  110. package/dist/runpod.d.ts +0 -82
  111. package/dist/runpod.d.ts.map +0 -1
  112. package/dist/runpod.js +0 -188
  113. package/dist/runpod.js.map +0 -1
  114. package/dist/storage-routes.d.ts +0 -55
  115. package/dist/storage-routes.d.ts.map +0 -1
  116. package/dist/storage-routes.js +0 -160
  117. package/dist/storage-routes.js.map +0 -1
  118. package/dist/sync.d.ts +0 -38
  119. package/dist/sync.d.ts.map +0 -1
  120. package/dist/sync.js +0 -130
  121. package/dist/sync.js.map +0 -1
@@ -1,532 +0,0 @@
1
- /**
2
- * Google Cloud Run API Module
3
- *
4
- * Provides a clean interface to Google Cloud Run API for managing
5
- * services and deployments. Handles authentication, request/response processing,
6
- * and error handling for all Cloud Run operations.
7
- *
8
- * Ported from nodetool.deploy.google_cloud_run_api (Python).
9
- */
10
- import { execFile } from "node:child_process";
11
- import { promisify } from "node:util";
12
- const execFileAsync = promisify(execFile);
13
- // ---------------------------------------------------------------------------
14
- // Enums
15
- // ---------------------------------------------------------------------------
16
- /** Google Cloud Run supported regions. */
17
- export var CloudRunRegion;
18
- (function (CloudRunRegion) {
19
- // Americas
20
- CloudRunRegion["US_CENTRAL1"] = "us-central1";
21
- CloudRunRegion["US_EAST1"] = "us-east1";
22
- CloudRunRegion["US_EAST4"] = "us-east4";
23
- CloudRunRegion["US_WEST1"] = "us-west1";
24
- CloudRunRegion["US_WEST2"] = "us-west2";
25
- CloudRunRegion["US_WEST3"] = "us-west3";
26
- CloudRunRegion["US_WEST4"] = "us-west4";
27
- CloudRunRegion["NORTHAMERICA_NORTHEAST1"] = "northamerica-northeast1";
28
- CloudRunRegion["NORTHAMERICA_NORTHEAST2"] = "northamerica-northeast2";
29
- CloudRunRegion["SOUTHAMERICA_EAST1"] = "southamerica-east1";
30
- CloudRunRegion["SOUTHAMERICA_WEST1"] = "southamerica-west1";
31
- // Europe
32
- CloudRunRegion["EUROPE_NORTH1"] = "europe-north1";
33
- CloudRunRegion["EUROPE_WEST1"] = "europe-west1";
34
- CloudRunRegion["EUROPE_WEST2"] = "europe-west2";
35
- CloudRunRegion["EUROPE_WEST3"] = "europe-west3";
36
- CloudRunRegion["EUROPE_WEST4"] = "europe-west4";
37
- CloudRunRegion["EUROPE_WEST6"] = "europe-west6";
38
- CloudRunRegion["EUROPE_WEST8"] = "europe-west8";
39
- CloudRunRegion["EUROPE_WEST9"] = "europe-west9";
40
- CloudRunRegion["EUROPE_CENTRAL2"] = "europe-central2";
41
- CloudRunRegion["EUROPE_SOUTHWEST1"] = "europe-southwest1";
42
- // Asia Pacific
43
- CloudRunRegion["ASIA_EAST1"] = "asia-east1";
44
- CloudRunRegion["ASIA_EAST2"] = "asia-east2";
45
- CloudRunRegion["ASIA_NORTHEAST1"] = "asia-northeast1";
46
- CloudRunRegion["ASIA_NORTHEAST2"] = "asia-northeast2";
47
- CloudRunRegion["ASIA_NORTHEAST3"] = "asia-northeast3";
48
- CloudRunRegion["ASIA_SOUTH1"] = "asia-south1";
49
- CloudRunRegion["ASIA_SOUTH2"] = "asia-south2";
50
- CloudRunRegion["ASIA_SOUTHEAST1"] = "asia-southeast1";
51
- CloudRunRegion["ASIA_SOUTHEAST2"] = "asia-southeast2";
52
- CloudRunRegion["AUSTRALIA_SOUTHEAST1"] = "australia-southeast1";
53
- CloudRunRegion["AUSTRALIA_SOUTHEAST2"] = "australia-southeast2";
54
- })(CloudRunRegion || (CloudRunRegion = {}));
55
- /** Return all region values. */
56
- export function listCloudRunRegions() {
57
- return Object.values(CloudRunRegion);
58
- }
59
- /** Google Cloud Run CPU allocation options. */
60
- export var CloudRunCPU;
61
- (function (CloudRunCPU) {
62
- CloudRunCPU["CPU_1"] = "1";
63
- CloudRunCPU["CPU_2"] = "2";
64
- CloudRunCPU["CPU_4"] = "4";
65
- CloudRunCPU["CPU_6"] = "6";
66
- CloudRunCPU["CPU_8"] = "8";
67
- })(CloudRunCPU || (CloudRunCPU = {}));
68
- export function listCloudRunCPUs() {
69
- return Object.values(CloudRunCPU);
70
- }
71
- /** Google Cloud Run memory allocation options. */
72
- export var CloudRunMemory;
73
- (function (CloudRunMemory) {
74
- CloudRunMemory["MEMORY_512Mi"] = "512Mi";
75
- CloudRunMemory["MEMORY_1Gi"] = "1Gi";
76
- CloudRunMemory["MEMORY_2Gi"] = "2Gi";
77
- CloudRunMemory["MEMORY_4Gi"] = "4Gi";
78
- CloudRunMemory["MEMORY_8Gi"] = "8Gi";
79
- CloudRunMemory["MEMORY_16Gi"] = "16Gi";
80
- CloudRunMemory["MEMORY_32Gi"] = "32Gi";
81
- })(CloudRunMemory || (CloudRunMemory = {}));
82
- export function listCloudRunMemory() {
83
- return Object.values(CloudRunMemory);
84
- }
85
- async function gcloud(args) {
86
- return execFileAsync("gcloud", args);
87
- }
88
- // ---------------------------------------------------------------------------
89
- // Authentication & Project helpers
90
- // ---------------------------------------------------------------------------
91
- /**
92
- * Check if gcloud CLI is authenticated.
93
- */
94
- export async function checkGcloudAuth() {
95
- try {
96
- const { stdout } = await gcloud([
97
- "auth",
98
- "list",
99
- "--filter=status:ACTIVE",
100
- "--format=value(account)"
101
- ]);
102
- return stdout.trim().length > 0;
103
- }
104
- catch {
105
- return false;
106
- }
107
- }
108
- /**
109
- * Ensure gcloud CLI is authenticated and configured.
110
- * Throws if authentication fails or gcloud is not installed.
111
- */
112
- export async function ensureGcloudAuth() {
113
- // Check if gcloud is installed
114
- try {
115
- await gcloud(["--version"]);
116
- }
117
- catch {
118
- console.error("Google Cloud SDK (gcloud) is not installed");
119
- console.error("Install it from: https://cloud.google.com/sdk/docs/install");
120
- throw new Error("gcloud CLI not installed");
121
- }
122
- // Check authentication
123
- if (!(await checkGcloudAuth())) {
124
- console.warn("Not authenticated with Google Cloud");
125
- console.warn("Run: gcloud auth login");
126
- throw new Error("Not authenticated with Google Cloud. Run `gcloud auth login`.");
127
- }
128
- }
129
- /**
130
- * Get the default Google Cloud project.
131
- */
132
- export async function getDefaultProject() {
133
- try {
134
- const { stdout } = await gcloud(["config", "get-value", "project"]);
135
- const project = stdout.trim();
136
- return project && project !== "(unset)" ? project : null;
137
- }
138
- catch {
139
- return null;
140
- }
141
- }
142
- /**
143
- * Ensure the current user has required Cloud Run permissions.
144
- */
145
- export async function ensureCloudRunPermissions(projectId, serviceAccount) {
146
- try {
147
- const { stdout } = await gcloud(["config", "get-value", "account"]);
148
- const userAccount = stdout.trim();
149
- if (!userAccount || userAccount === "(unset)") {
150
- console.warn("Could not determine current user account");
151
- return;
152
- }
153
- console.log(`Ensuring Cloud Run permissions for ${userAccount}...`);
154
- const requiredRoles = serviceAccount
155
- ? ["roles/run.admin"]
156
- : ["roles/run.admin", "roles/iam.serviceAccountUser"];
157
- for (const role of requiredRoles) {
158
- console.log(`Granting ${role}...`);
159
- try {
160
- await gcloud([
161
- "projects",
162
- "add-iam-policy-binding",
163
- projectId,
164
- "--member",
165
- `user:${userAccount}`,
166
- "--role",
167
- role,
168
- "--quiet"
169
- ]);
170
- console.log(`Granted ${role}`);
171
- }
172
- catch {
173
- console.warn(`Could not grant ${role} (might already exist)`);
174
- }
175
- }
176
- }
177
- catch (e) {
178
- console.warn(`Could not auto-configure permissions: ${e}`);
179
- console.warn("You may need to run manually:");
180
- console.warn(`gcloud projects add-iam-policy-binding ${projectId} --member=user:$(gcloud config get-value account) --role=roles/run.admin`);
181
- if (!serviceAccount) {
182
- console.warn(`gcloud projects add-iam-policy-binding ${projectId} --member=user:$(gcloud config get-value account) --role=roles/iam.serviceAccountUser`);
183
- }
184
- }
185
- }
186
- /**
187
- * Ensure a Google Cloud project is set.
188
- * Returns the project ID.
189
- */
190
- export async function ensureProjectSet(projectId) {
191
- if (projectId)
192
- return projectId;
193
- const project = await getDefaultProject();
194
- if (!project) {
195
- throw new Error("No Google Cloud project configured. Set a project with: gcloud config set project YOUR_PROJECT_ID");
196
- }
197
- return project;
198
- }
199
- /**
200
- * Enable required Google Cloud APIs.
201
- */
202
- export async function enableRequiredApis(projectId) {
203
- const requiredApis = [
204
- "run.googleapis.com",
205
- "cloudbuild.googleapis.com",
206
- "containerregistry.googleapis.com",
207
- "artifactregistry.googleapis.com"
208
- ];
209
- console.log("Enabling required APIs...");
210
- for (const api of requiredApis) {
211
- try {
212
- await gcloud(["services", "enable", api, "--project", projectId]);
213
- console.log(`Enabled ${api}`);
214
- }
215
- catch (e) {
216
- console.warn(`Failed to enable ${api}: ${e}`);
217
- }
218
- }
219
- }
220
- /**
221
- * Deploy a service to Google Cloud Run.
222
- * Creates a new service or updates an existing one.
223
- */
224
- export async function deployToCloudRun(options) {
225
- const { serviceName, imageUrl, region, projectId, port = 8000, cpu = "4", memory = "16Gi", gpuType = "nvidia-l4", gpuCount = 1, minInstances = 0, maxInstances = 3, concurrency = 80, timeout = 3600, allowUnauthenticated = true, envVars, serviceAccount, gcsBucket, gcsMountPath = "/mnt/gcs" } = options;
226
- console.log(`Deploying ${serviceName} to Cloud Run...`);
227
- // Determine whether to create (deploy) or update existing service
228
- let existingService;
229
- try {
230
- existingService = await getCloudRunService(serviceName, region, projectId);
231
- }
232
- catch {
233
- existingService = null;
234
- }
235
- if (existingService === null) {
236
- // ---- Create new service via deploy ----
237
- const cmd = [
238
- "run",
239
- "deploy",
240
- serviceName,
241
- "--image",
242
- imageUrl,
243
- "--region",
244
- region,
245
- "--project",
246
- projectId,
247
- "--port",
248
- String(port),
249
- "--cpu",
250
- cpu,
251
- "--memory",
252
- memory,
253
- "--no-gpu-zonal-redundancy",
254
- "--min-instances",
255
- String(minInstances),
256
- "--max-instances",
257
- String(maxInstances),
258
- "--concurrency",
259
- String(concurrency),
260
- "--timeout",
261
- `${timeout}s`,
262
- "--format",
263
- "json",
264
- "--quiet"
265
- ];
266
- if (gcsBucket) {
267
- cmd.push("--add-volume", `name=gcs,type=cloud-storage,bucket=${gcsBucket}`);
268
- cmd.push("--add-volume-mount", `volume=gcs,mount-path=${gcsMountPath}`);
269
- }
270
- if (gpuType) {
271
- cmd.push("--gpu-type", gpuType);
272
- cmd.push("--no-cpu-throttling");
273
- }
274
- if (gpuCount) {
275
- cmd.push("--gpu", String(gpuCount));
276
- }
277
- if (envVars) {
278
- for (const [key, value] of Object.entries(envVars)) {
279
- cmd.push("--set-env-vars", `${key}=${value}`);
280
- }
281
- }
282
- if (serviceAccount) {
283
- cmd.push("--service-account", serviceAccount);
284
- console.log(`Using service account: ${serviceAccount}`);
285
- }
286
- if (allowUnauthenticated) {
287
- cmd.push("--allow-unauthenticated");
288
- }
289
- try {
290
- const { stdout } = await gcloud(cmd);
291
- const deploymentInfo = JSON.parse(stdout);
292
- console.log("Successfully deployed to Cloud Run");
293
- const status = deploymentInfo["status"];
294
- console.log(`Service URL: ${status?.["url"] ?? "N/A"}`);
295
- return deploymentInfo;
296
- }
297
- catch (e) {
298
- const msg = e instanceof Error ? e.message : String(e);
299
- console.error("Failed to deploy to Cloud Run");
300
- console.error(`Error: ${msg}`);
301
- throw new Error(`Cloud Run deployment failed: ${msg}`);
302
- }
303
- }
304
- else {
305
- // ---- Update existing service ----
306
- console.log(`Service '${serviceName}' exists. Updating it per docs: https://cloud.google.com/sdk/gcloud/reference/run/services/update`);
307
- const cmd = [
308
- "run",
309
- "services",
310
- "update",
311
- serviceName,
312
- "--image",
313
- imageUrl,
314
- "--region",
315
- region,
316
- "--project",
317
- projectId,
318
- "--port",
319
- String(port),
320
- "--cpu",
321
- cpu,
322
- "--memory",
323
- memory,
324
- "--min-instances",
325
- String(minInstances),
326
- "--max-instances",
327
- String(maxInstances),
328
- "--concurrency",
329
- String(concurrency),
330
- "--timeout",
331
- `${timeout}s`,
332
- "--format",
333
- "json",
334
- "--quiet"
335
- ];
336
- if (gcsBucket) {
337
- cmd.push("--add-volume", `name=gcs,type=cloud-storage,bucket=${gcsBucket}`);
338
- cmd.push("--add-volume-mount", `volume=gcs,mount-path=${gcsMountPath}`);
339
- }
340
- if (gpuType) {
341
- cmd.push("--gpu-type", gpuType);
342
- cmd.push("--no-cpu-throttling");
343
- }
344
- if (gpuCount) {
345
- cmd.push("--gpu", String(gpuCount));
346
- }
347
- if (envVars) {
348
- for (const [key, value] of Object.entries(envVars)) {
349
- cmd.push("--set-env-vars", `${key}=${value}`);
350
- }
351
- }
352
- if (serviceAccount) {
353
- cmd.push("--service-account", serviceAccount);
354
- }
355
- try {
356
- const { stdout } = await gcloud(cmd);
357
- const deploymentInfo = JSON.parse(stdout);
358
- // Handle unauthenticated access post-update
359
- if (allowUnauthenticated) {
360
- try {
361
- await gcloud([
362
- "run",
363
- "services",
364
- "add-iam-policy-binding",
365
- serviceName,
366
- "--region",
367
- region,
368
- "--project",
369
- projectId,
370
- "--member",
371
- "allUsers",
372
- "--role",
373
- "roles/run.invoker",
374
- "--quiet"
375
- ]);
376
- }
377
- catch {
378
- // Suppressed — may already be bound
379
- }
380
- }
381
- console.log("Successfully updated Cloud Run service");
382
- const status = deploymentInfo["status"];
383
- console.log(`Service URL: ${status?.["url"] ?? "N/A"}`);
384
- return deploymentInfo;
385
- }
386
- catch (e) {
387
- const msg = e instanceof Error ? e.message : String(e);
388
- console.error("Failed to update Cloud Run service");
389
- console.error(`Error: ${msg}`);
390
- throw new Error(`Cloud Run update failed: ${msg}`);
391
- }
392
- }
393
- }
394
- // ---------------------------------------------------------------------------
395
- // Service management
396
- // ---------------------------------------------------------------------------
397
- /**
398
- * Delete a Cloud Run service.
399
- */
400
- export async function deleteCloudRunService(serviceName, region, projectId) {
401
- console.log(`Deleting Cloud Run service ${serviceName}...`);
402
- try {
403
- await gcloud([
404
- "run",
405
- "services",
406
- "delete",
407
- serviceName,
408
- "--region",
409
- region,
410
- "--project",
411
- projectId,
412
- "--quiet"
413
- ]);
414
- console.log(`Successfully deleted service ${serviceName}`);
415
- return true;
416
- }
417
- catch (e) {
418
- console.error(`Failed to delete service: ${e}`);
419
- return false;
420
- }
421
- }
422
- /**
423
- * Get information about a Cloud Run service.
424
- */
425
- export async function getCloudRunService(serviceName, region, projectId) {
426
- try {
427
- const { stdout } = await gcloud([
428
- "run",
429
- "services",
430
- "describe",
431
- serviceName,
432
- "--region",
433
- region,
434
- "--project",
435
- projectId,
436
- "--format",
437
- "json"
438
- ]);
439
- return JSON.parse(stdout);
440
- }
441
- catch {
442
- return null;
443
- }
444
- }
445
- /**
446
- * List all Cloud Run services in a region.
447
- */
448
- export async function listCloudRunServices(region, projectId) {
449
- try {
450
- const { stdout } = await gcloud([
451
- "run",
452
- "services",
453
- "list",
454
- "--region",
455
- region,
456
- "--project",
457
- projectId,
458
- "--format",
459
- "json"
460
- ]);
461
- return JSON.parse(stdout);
462
- }
463
- catch {
464
- return [];
465
- }
466
- }
467
- /**
468
- * Push a Docker image to Google Container Registry or Artifact Registry.
469
- */
470
- export async function pushToGcr(imageName, tag, projectId, registry = "gcr.io") {
471
- let fullImageUrl;
472
- if (registry === "gcr.io") {
473
- fullImageUrl = `gcr.io/${projectId}/${imageName}:${tag}`;
474
- }
475
- else {
476
- // Artifact Registry
477
- const region = registry.split("-")[0];
478
- const repoName = "nodetool";
479
- try {
480
- console.log(`Ensuring Artifact Registry repository '${repoName}' exists in ${region}...`);
481
- const result = await execFileAsync("gcloud", [
482
- "artifacts",
483
- "repositories",
484
- "create",
485
- repoName,
486
- "--repository-format=docker",
487
- "--location",
488
- region,
489
- "--project",
490
- projectId,
491
- "--quiet"
492
- ]);
493
- if (result.stdout || !result.stderr) {
494
- console.log(`Repository '${repoName}' created successfully`);
495
- }
496
- }
497
- catch {
498
- console.log(`Repository '${repoName}' already exists or creation skipped`);
499
- }
500
- fullImageUrl = `${registry}/${projectId}/${repoName}/${imageName}:${tag}`;
501
- }
502
- console.log(`Pushing image to ${registry}...`);
503
- // Configure Docker to use gcloud as credential helper
504
- try {
505
- await execFileAsync("gcloud", ["auth", "configure-docker", "--quiet"]);
506
- if (registry.includes("pkg.dev")) {
507
- const registryHost = registry.split("/")[0];
508
- await execFileAsync("gcloud", [
509
- "auth",
510
- "configure-docker",
511
- registryHost,
512
- "--quiet"
513
- ]);
514
- }
515
- }
516
- catch (e) {
517
- const msg = e instanceof Error ? e.message : String(e);
518
- throw new Error(`Failed to configure Docker authentication: ${msg}`);
519
- }
520
- // Tag and push the image
521
- try {
522
- await execFileAsync("docker", ["tag", `${imageName}:${tag}`, fullImageUrl]);
523
- await execFileAsync("docker", ["push", fullImageUrl]);
524
- console.log(`Successfully pushed to ${registry}`);
525
- return fullImageUrl;
526
- }
527
- catch (e) {
528
- const msg = e instanceof Error ? e.message : String(e);
529
- throw new Error(`Failed to push image: ${msg}`);
530
- }
531
- }
532
- //# sourceMappingURL=google-cloud-run-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google-cloud-run-api.js","sourceRoot":"","sources":["../src/google-cloud-run-api.ts"],"names":[],"mappings":"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"}
@@ -1,69 +0,0 @@
1
- /**
2
- * HuggingFace Spaces deployment implementation for NodeTool.
3
- *
4
- * Handles deployment to HuggingFace Spaces (Docker type), including:
5
- * - Dockerfile generation from image spec
6
- * - HF Space repository creation and management
7
- * - Git-based deployment (push Dockerfile to HF repo, Spaces builds it)
8
- * - Space metadata via README.md frontmatter
9
- */
10
- import { StateManager } from "./state.js";
11
- import type { HuggingFaceDeployment } from "./deployment-config.js";
12
- import type { DeployResult } from "./self-hosted.js";
13
- /**
14
- * Handles deployment to HuggingFace Spaces.
15
- *
16
- * HF Spaces with Docker type build from a Dockerfile pushed to a git repo.
17
- * This deployer generates the Dockerfile from the image spec, pushes it to
18
- * the HF Space repository, and lets HuggingFace handle the build and deploy.
19
- */
20
- export declare class HuggingFaceDeployer {
21
- readonly deploymentName: string;
22
- readonly deployment: HuggingFaceDeployment;
23
- readonly stateManager: StateManager;
24
- constructor(deploymentName: string, deployment: HuggingFaceDeployment, stateManager?: StateManager);
25
- /**
26
- * Generate a deployment plan showing what changes will be made.
27
- */
28
- plan(): Promise<Record<string, unknown>>;
29
- /**
30
- * Apply the deployment to HuggingFace Spaces.
31
- *
32
- * Steps:
33
- * 1. Load image spec and generate Dockerfile (not built locally)
34
- * 2. Create or clone the HF Space repository
35
- * 3. Write Dockerfile and README.md with Space metadata
36
- * 4. Git commit and push to HuggingFace
37
- * 5. HF Spaces auto-builds and deploys from the Dockerfile
38
- * 6. Update deployment state
39
- *
40
- * @param opts.dryRun If true, only show what would be done without executing.
41
- */
42
- apply(opts?: {
43
- dryRun?: boolean;
44
- }): Promise<DeployResult>;
45
- /**
46
- * Destroy the HuggingFace Space.
47
- */
48
- destroy(): Promise<DeployResult>;
49
- /**
50
- * Get current deployment status.
51
- */
52
- status(): Promise<Record<string, unknown>>;
53
- /**
54
- * Get logs from the HuggingFace Space.
55
- *
56
- * HuggingFace Spaces does not expose logs via the CLI. Logs are available
57
- * through the web UI at the Space URL.
58
- */
59
- logs(_opts?: {
60
- follow?: boolean;
61
- tail?: number;
62
- }): Promise<string>;
63
- /**
64
- * Ensure the HF Space repository exists and is cloned to the target directory.
65
- * Creates the repo if it does not exist, then clones it.
66
- */
67
- private ensureRepo;
68
- }
69
- //# sourceMappingURL=huggingface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"huggingface.d.ts","sourceRoot":"","sources":["../src/huggingface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAkFrD;;;;;;GAMG;AACH,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;IAC3C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;gBAGlC,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,qBAAqB,EACjC,YAAY,CAAC,EAAE,YAAY;IAS7B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IA0C9C;;;;;;;;;;;;OAYG;IACG,KAAK,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAkH/D;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAyCtC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAiChD;;;;;OAKG;IACG,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAWxE;;;OAGG;YACW,UAAU;CAmCzB"}