@vm0/runner 2.4.1 → 2.5.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.
- package/index.js +2 -88
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -4981,13 +4981,6 @@ var agentDefinitionSchema = z5.object({
|
|
|
4981
4981
|
working_dir: z5.string().optional(),
|
|
4982
4982
|
// Optional when provider supports auto-config
|
|
4983
4983
|
environment: z5.record(z5.string(), z5.string()).optional(),
|
|
4984
|
-
/**
|
|
4985
|
-
* Enable network security mode for secrets.
|
|
4986
|
-
* When true, secrets are encrypted into proxy tokens and all traffic
|
|
4987
|
-
* is routed through mitmproxy -> VM0 Proxy for decryption.
|
|
4988
|
-
* Default: false (plaintext secrets in env vars)
|
|
4989
|
-
*/
|
|
4990
|
-
experimental_network_security: z5.boolean().optional().default(false),
|
|
4991
4984
|
/**
|
|
4992
4985
|
* Path to instructions file (e.g., AGENTS.md).
|
|
4993
4986
|
* Auto-uploaded as volume and mounted at /home/user/.claude/CLAUDE.md
|
|
@@ -6295,14 +6288,6 @@ var publicAgentDetailSchema = publicAgentSchema.extend({
|
|
|
6295
6288
|
});
|
|
6296
6289
|
var paginatedAgentsSchema = createPaginatedResponseSchema(publicAgentSchema);
|
|
6297
6290
|
var paginatedAgentVersionsSchema = createPaginatedResponseSchema(agentVersionSchema);
|
|
6298
|
-
var createAgentRequestSchema = z16.object({
|
|
6299
|
-
name: z16.string().min(1).max(100).regex(
|
|
6300
|
-
/^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$/,
|
|
6301
|
-
"Name must be lowercase alphanumeric with hyphens, not starting or ending with hyphen"
|
|
6302
|
-
),
|
|
6303
|
-
config: z16.unknown()
|
|
6304
|
-
// Agent YAML configuration
|
|
6305
|
-
});
|
|
6306
6291
|
var updateAgentRequestSchema = z16.object({
|
|
6307
6292
|
config: z16.unknown()
|
|
6308
6293
|
// New agent configuration (creates new version)
|
|
@@ -6322,20 +6307,6 @@ var publicAgentsListContract = c11.router({
|
|
|
6322
6307
|
},
|
|
6323
6308
|
summary: "List agents",
|
|
6324
6309
|
description: "List all agents in the current scope with pagination. Use the `name` query parameter to filter by agent name."
|
|
6325
|
-
},
|
|
6326
|
-
create: {
|
|
6327
|
-
method: "POST",
|
|
6328
|
-
path: "/v1/agents",
|
|
6329
|
-
body: createAgentRequestSchema,
|
|
6330
|
-
responses: {
|
|
6331
|
-
201: publicAgentDetailSchema,
|
|
6332
|
-
400: publicApiErrorSchema,
|
|
6333
|
-
401: publicApiErrorSchema,
|
|
6334
|
-
409: publicApiErrorSchema,
|
|
6335
|
-
500: publicApiErrorSchema
|
|
6336
|
-
},
|
|
6337
|
-
summary: "Create agent",
|
|
6338
|
-
description: "Create a new agent with the given configuration"
|
|
6339
6310
|
}
|
|
6340
6311
|
});
|
|
6341
6312
|
var publicAgentByIdContract = c11.router({
|
|
@@ -6370,22 +6341,6 @@ var publicAgentByIdContract = c11.router({
|
|
|
6370
6341
|
},
|
|
6371
6342
|
summary: "Update agent",
|
|
6372
6343
|
description: "Update agent configuration. Creates a new version if config changes."
|
|
6373
|
-
},
|
|
6374
|
-
delete: {
|
|
6375
|
-
method: "DELETE",
|
|
6376
|
-
path: "/v1/agents/:id",
|
|
6377
|
-
pathParams: z16.object({
|
|
6378
|
-
id: z16.string().min(1, "Agent ID is required")
|
|
6379
|
-
}),
|
|
6380
|
-
body: z16.undefined(),
|
|
6381
|
-
responses: {
|
|
6382
|
-
204: z16.undefined(),
|
|
6383
|
-
401: publicApiErrorSchema,
|
|
6384
|
-
404: publicApiErrorSchema,
|
|
6385
|
-
500: publicApiErrorSchema
|
|
6386
|
-
},
|
|
6387
|
-
summary: "Delete agent",
|
|
6388
|
-
description: "Archive an agent (soft delete)"
|
|
6389
6344
|
}
|
|
6390
6345
|
});
|
|
6391
6346
|
var publicAgentVersionsContract = c11.router({
|
|
@@ -6758,22 +6713,6 @@ var publicArtifactByIdContract = c13.router({
|
|
|
6758
6713
|
},
|
|
6759
6714
|
summary: "Get artifact",
|
|
6760
6715
|
description: "Get artifact details by ID"
|
|
6761
|
-
},
|
|
6762
|
-
delete: {
|
|
6763
|
-
method: "DELETE",
|
|
6764
|
-
path: "/v1/artifacts/:id",
|
|
6765
|
-
pathParams: z18.object({
|
|
6766
|
-
id: z18.string().min(1, "Artifact ID is required")
|
|
6767
|
-
}),
|
|
6768
|
-
body: z18.undefined(),
|
|
6769
|
-
responses: {
|
|
6770
|
-
204: z18.undefined(),
|
|
6771
|
-
401: publicApiErrorSchema,
|
|
6772
|
-
404: publicApiErrorSchema,
|
|
6773
|
-
500: publicApiErrorSchema
|
|
6774
|
-
},
|
|
6775
|
-
summary: "Delete artifact",
|
|
6776
|
-
description: "Delete an artifact and all its versions"
|
|
6777
6716
|
}
|
|
6778
6717
|
});
|
|
6779
6718
|
var publicArtifactVersionsContract = c13.router({
|
|
@@ -6972,22 +6911,6 @@ var publicVolumeByIdContract = c14.router({
|
|
|
6972
6911
|
},
|
|
6973
6912
|
summary: "Get volume",
|
|
6974
6913
|
description: "Get volume details by ID"
|
|
6975
|
-
},
|
|
6976
|
-
delete: {
|
|
6977
|
-
method: "DELETE",
|
|
6978
|
-
path: "/v1/volumes/:id",
|
|
6979
|
-
pathParams: z19.object({
|
|
6980
|
-
id: z19.string().min(1, "Volume ID is required")
|
|
6981
|
-
}),
|
|
6982
|
-
body: z19.undefined(),
|
|
6983
|
-
responses: {
|
|
6984
|
-
204: z19.undefined(),
|
|
6985
|
-
401: publicApiErrorSchema,
|
|
6986
|
-
404: publicApiErrorSchema,
|
|
6987
|
-
500: publicApiErrorSchema
|
|
6988
|
-
},
|
|
6989
|
-
summary: "Delete volume",
|
|
6990
|
-
description: "Delete a volume and all its versions"
|
|
6991
6914
|
}
|
|
6992
6915
|
});
|
|
6993
6916
|
var publicVolumeVersionsContract = c14.router({
|
|
@@ -7200,9 +7123,6 @@ PROXY_URL = f"{API_URL}/api/webhooks/agent/proxy"
|
|
|
7200
7123
|
STORAGE_PREPARE_URL = f"{API_URL}/api/webhooks/agent/storages/prepare"
|
|
7201
7124
|
STORAGE_COMMIT_URL = f"{API_URL}/api/webhooks/agent/storages/commit"
|
|
7202
7125
|
|
|
7203
|
-
# Proxy configuration (for experimental_network_security feature)
|
|
7204
|
-
PROXY_ENABLED = os.environ.get("VM0_PROXY_ENABLED", "false").lower() == "true"
|
|
7205
|
-
|
|
7206
7126
|
# Heartbeat configuration
|
|
7207
7127
|
HEARTBEAT_INTERVAL = 60 # seconds
|
|
7208
7128
|
|
|
@@ -9052,7 +8972,7 @@ sys.path.insert(0, "/usr/local/bin/vm0-agent/lib")
|
|
|
9052
8972
|
from common import (
|
|
9053
8973
|
WORKING_DIR, PROMPT, RESUME_SESSION_ID, COMPLETE_URL, RUN_ID,
|
|
9054
8974
|
EVENT_ERROR_FLAG, HEARTBEAT_URL, HEARTBEAT_INTERVAL, AGENT_LOG_FILE,
|
|
9055
|
-
|
|
8975
|
+
CLI_AGENT_TYPE, OPENAI_MODEL, validate_config
|
|
9056
8976
|
)
|
|
9057
8977
|
from log import log_info, log_error, log_warn
|
|
9058
8978
|
from events import send_event
|
|
@@ -9141,12 +9061,6 @@ def _run() -> tuple[int, str]:
|
|
|
9141
9061
|
|
|
9142
9062
|
log_info(f"Working directory: {WORKING_DIR}")
|
|
9143
9063
|
|
|
9144
|
-
# Log proxy mode status
|
|
9145
|
-
# NOTE: Proxy setup is done as root by e2b-service.ts BEFORE this script starts
|
|
9146
|
-
# This ensures mitmproxy is running and nftables rules are in place
|
|
9147
|
-
if PROXY_ENABLED:
|
|
9148
|
-
log_info("Network security mode enabled (proxy configured by e2b-service)")
|
|
9149
|
-
|
|
9150
9064
|
# Start heartbeat thread
|
|
9151
9065
|
heartbeat_thread = threading.Thread(target=heartbeat_loop, daemon=True)
|
|
9152
9066
|
heartbeat_thread.start()
|
|
@@ -10873,7 +10787,7 @@ var statusCommand = new Command2("status").description("Check runner connectivit
|
|
|
10873
10787
|
});
|
|
10874
10788
|
|
|
10875
10789
|
// src/index.ts
|
|
10876
|
-
var version = true ? "2.
|
|
10790
|
+
var version = true ? "2.5.0" : "0.1.0";
|
|
10877
10791
|
program.name("vm0-runner").version(version).description("Self-hosted runner for VM0 agents");
|
|
10878
10792
|
program.addCommand(startCommand);
|
|
10879
10793
|
program.addCommand(statusCommand);
|