@vm0/runner 2.8.3 → 2.8.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.
Files changed (2) hide show
  1. package/index.js +65 -38
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -12,6 +12,15 @@ import { dirname, join } from "path";
12
12
  import { z } from "zod";
13
13
  import fs from "fs";
14
14
  import yaml from "yaml";
15
+ var SANDBOX_DEFAULTS = {
16
+ max_concurrent: 1,
17
+ vcpu: 2,
18
+ memory_mb: 2048,
19
+ poll_interval_ms: 5e3
20
+ };
21
+ var PROXY_DEFAULTS = {
22
+ port: 8080
23
+ };
15
24
  var runnerConfigSchema = z.object({
16
25
  name: z.string().min(1, "Name is required"),
17
26
  group: z.string().regex(
@@ -23,58 +32,45 @@ var runnerConfigSchema = z.object({
23
32
  token: z.string().min(1, "Server token is required")
24
33
  }),
25
34
  sandbox: z.object({
26
- max_concurrent: z.number().int().min(1).default(1),
27
- vcpu: z.number().int().min(1).default(2),
28
- memory_mb: z.number().int().min(128).default(2048),
29
- poll_interval_ms: z.number().int().min(1e3).default(5e3)
30
- }).default({
31
- max_concurrent: 1,
32
- vcpu: 2,
33
- memory_mb: 2048,
34
- poll_interval_ms: 5e3
35
- }),
35
+ max_concurrent: z.number().int().min(1).default(SANDBOX_DEFAULTS.max_concurrent),
36
+ vcpu: z.number().int().min(1).default(SANDBOX_DEFAULTS.vcpu),
37
+ memory_mb: z.number().int().min(128).default(SANDBOX_DEFAULTS.memory_mb),
38
+ poll_interval_ms: z.number().int().min(1e3).default(SANDBOX_DEFAULTS.poll_interval_ms)
39
+ }).default(SANDBOX_DEFAULTS),
36
40
  firecracker: z.object({
37
41
  binary: z.string().min(1, "Firecracker binary path is required"),
38
42
  kernel: z.string().min(1, "Kernel path is required"),
39
43
  rootfs: z.string().min(1, "Rootfs path is required")
40
44
  }),
41
45
  proxy: z.object({
42
- port: z.number().int().min(1024).max(65535).default(8080)
43
- }).default({
44
- port: 8080
45
- })
46
+ port: z.number().int().min(1024).max(65535).default(PROXY_DEFAULTS.port)
47
+ }).default(PROXY_DEFAULTS)
46
48
  });
49
+ var DEBUG_SERVER_DEFAULTS = {
50
+ url: "http://localhost:3000",
51
+ token: "debug-token"
52
+ };
47
53
  var debugConfigSchema = z.object({
48
54
  name: z.string().default("debug-runner"),
49
55
  group: z.string().default("debug/local"),
50
56
  server: z.object({
51
- url: z.string().url().default("http://localhost:3000"),
52
- token: z.string().default("debug-token")
53
- }).default({
54
- url: "http://localhost:3000",
55
- token: "debug-token"
56
- }),
57
+ url: z.string().url().default(DEBUG_SERVER_DEFAULTS.url),
58
+ token: z.string().default(DEBUG_SERVER_DEFAULTS.token)
59
+ }).default(DEBUG_SERVER_DEFAULTS),
57
60
  sandbox: z.object({
58
- max_concurrent: z.number().int().min(1).default(1),
59
- vcpu: z.number().int().min(1).default(2),
60
- memory_mb: z.number().int().min(128).default(2048),
61
- poll_interval_ms: z.number().int().min(1e3).default(5e3)
62
- }).default({
63
- max_concurrent: 1,
64
- vcpu: 2,
65
- memory_mb: 2048,
66
- poll_interval_ms: 5e3
67
- }),
61
+ max_concurrent: z.number().int().min(1).default(SANDBOX_DEFAULTS.max_concurrent),
62
+ vcpu: z.number().int().min(1).default(SANDBOX_DEFAULTS.vcpu),
63
+ memory_mb: z.number().int().min(128).default(SANDBOX_DEFAULTS.memory_mb),
64
+ poll_interval_ms: z.number().int().min(1e3).default(SANDBOX_DEFAULTS.poll_interval_ms)
65
+ }).default(SANDBOX_DEFAULTS),
68
66
  firecracker: z.object({
69
67
  binary: z.string().min(1, "Firecracker binary path is required"),
70
68
  kernel: z.string().min(1, "Kernel path is required"),
71
69
  rootfs: z.string().min(1, "Rootfs path is required")
72
70
  }),
73
71
  proxy: z.object({
74
- port: z.number().int().min(1024).max(65535).default(8080)
75
- }).default({
76
- port: 8080
77
- })
72
+ port: z.number().int().min(1024).max(65535).default(PROXY_DEFAULTS.port)
73
+ }).default(PROXY_DEFAULTS)
78
74
  });
79
75
  function loadDebugConfig(configPath) {
80
76
  if (!fs.existsSync(configPath)) {
@@ -6379,11 +6375,19 @@ var scheduleResponseSchema = z15.object({
6379
6375
  volumeVersions: z15.record(z15.string(), z15.string()).nullable(),
6380
6376
  enabled: z15.boolean(),
6381
6377
  nextRunAt: z15.string().nullable(),
6382
- lastRunAt: z15.string().nullable(),
6383
- lastRunId: z15.string().nullable(),
6384
6378
  createdAt: z15.string(),
6385
6379
  updatedAt: z15.string()
6386
6380
  });
6381
+ var runSummarySchema = z15.object({
6382
+ id: z15.string().uuid(),
6383
+ status: z15.enum(["pending", "running", "completed", "failed", "timeout"]),
6384
+ createdAt: z15.string(),
6385
+ completedAt: z15.string().nullable(),
6386
+ error: z15.string().nullable()
6387
+ });
6388
+ var scheduleRunsResponseSchema = z15.object({
6389
+ runs: z15.array(runSummarySchema)
6390
+ });
6387
6391
  var scheduleListResponseSchema = z15.object({
6388
6392
  schedules: z15.array(scheduleResponseSchema)
6389
6393
  });
@@ -6512,6 +6516,29 @@ var schedulesEnableContract = c11.router({
6512
6516
  summary: "Disable schedule"
6513
6517
  }
6514
6518
  });
6519
+ var scheduleRunsContract = c11.router({
6520
+ /**
6521
+ * GET /api/agent/schedules/:name/runs
6522
+ * List recent runs for a schedule
6523
+ */
6524
+ listRuns: {
6525
+ method: "GET",
6526
+ path: "/api/agent/schedules/:name/runs",
6527
+ pathParams: z15.object({
6528
+ name: z15.string().min(1, "Schedule name required")
6529
+ }),
6530
+ query: z15.object({
6531
+ composeId: z15.string().uuid("Compose ID required"),
6532
+ limit: z15.coerce.number().min(0).max(100).default(5)
6533
+ }),
6534
+ responses: {
6535
+ 200: scheduleRunsResponseSchema,
6536
+ 401: apiErrorSchema,
6537
+ 404: apiErrorSchema
6538
+ },
6539
+ summary: "List recent runs for a schedule"
6540
+ }
6541
+ });
6515
6542
 
6516
6543
  // ../../packages/core/src/contracts/public/common.ts
6517
6544
  import { z as z16 } from "zod";
@@ -9721,7 +9748,7 @@ from mitmproxy import http, ctx, tls
9721
9748
  # VM0 Proxy configuration from environment
9722
9749
  API_URL = os.environ.get("VM0_API_URL", "https://www.vm0.ai")
9723
9750
  REGISTRY_PATH = os.environ.get("VM0_REGISTRY_PATH", "/tmp/vm0-vm-registry.json")
9724
- VERCEL_BYPASS = os.environ.get("VERCEL_PROTECTION_BYPASS", "")
9751
+ VERCEL_BYPASS = os.environ.get("VERCEL_AUTOMATION_BYPASS_SECRET", "")
9725
9752
 
9726
9753
  # Construct proxy URL
9727
9754
  PROXY_URL = f"{API_URL}/api/webhooks/agent/proxy"
@@ -11300,7 +11327,7 @@ var benchmarkCommand = new Command3("benchmark").description(
11300
11327
  });
11301
11328
 
11302
11329
  // src/index.ts
11303
- var version = true ? "2.8.3" : "0.1.0";
11330
+ var version = true ? "2.8.5" : "0.1.0";
11304
11331
  program.name("vm0-runner").version(version).description("Self-hosted runner for VM0 agents");
11305
11332
  program.addCommand(startCommand);
11306
11333
  program.addCommand(statusCommand);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vm0/runner",
3
- "version": "2.8.3",
3
+ "version": "2.8.5",
4
4
  "description": "Self-hosted runner for VM0 agents",
5
5
  "repository": {
6
6
  "type": "git",