@assemblyline-agents/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.
- package/LICENSE +21 -0
- package/README.md +19 -0
- package/dist/add.d.ts +23 -0
- package/dist/add.d.ts.map +1 -0
- package/dist/add.js +352 -0
- package/dist/add.js.map +1 -0
- package/dist/args.d.ts +14 -0
- package/dist/args.d.ts.map +1 -0
- package/dist/args.js +95 -0
- package/dist/args.js.map +1 -0
- package/dist/auth.d.ts +8 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +74 -0
- package/dist/auth.js.map +1 -0
- package/dist/channels.d.ts +25 -0
- package/dist/channels.d.ts.map +1 -0
- package/dist/channels.js +76 -0
- package/dist/channels.js.map +1 -0
- package/dist/checkpoints.d.ts +3 -0
- package/dist/checkpoints.d.ts.map +1 -0
- package/dist/checkpoints.js +60 -0
- package/dist/checkpoints.js.map +1 -0
- package/dist/deploy-definition.d.ts +14 -0
- package/dist/deploy-definition.d.ts.map +1 -0
- package/dist/deploy-definition.js +92 -0
- package/dist/deploy-definition.js.map +1 -0
- package/dist/deploy-lifecycle.d.ts +17 -0
- package/dist/deploy-lifecycle.d.ts.map +1 -0
- package/dist/deploy-lifecycle.js +25 -0
- package/dist/deploy-lifecycle.js.map +1 -0
- package/dist/deploy.d.ts +20 -0
- package/dist/deploy.d.ts.map +1 -0
- package/dist/deploy.js +462 -0
- package/dist/deploy.js.map +1 -0
- package/dist/dev.d.ts +13 -0
- package/dist/dev.d.ts.map +1 -0
- package/dist/dev.js +157 -0
- package/dist/dev.js.map +1 -0
- package/dist/eval-assertions.d.ts +5 -0
- package/dist/eval-assertions.d.ts.map +1 -0
- package/dist/eval-assertions.js +99 -0
- package/dist/eval-assertions.js.map +1 -0
- package/dist/eval-case-runner.d.ts +38 -0
- package/dist/eval-case-runner.d.ts.map +1 -0
- package/dist/eval-case-runner.js +247 -0
- package/dist/eval-case-runner.js.map +1 -0
- package/dist/eval-cases.d.ts +6 -0
- package/dist/eval-cases.d.ts.map +1 -0
- package/dist/eval-cases.js +151 -0
- package/dist/eval-cases.js.map +1 -0
- package/dist/eval-comparison.d.ts +8 -0
- package/dist/eval-comparison.d.ts.map +1 -0
- package/dist/eval-comparison.js +90 -0
- package/dist/eval-comparison.js.map +1 -0
- package/dist/eval-custom.d.ts +15 -0
- package/dist/eval-custom.d.ts.map +1 -0
- package/dist/eval-custom.js +118 -0
- package/dist/eval-custom.js.map +1 -0
- package/dist/eval-experiment.d.ts +19 -0
- package/dist/eval-experiment.d.ts.map +1 -0
- package/dist/eval-experiment.js +122 -0
- package/dist/eval-experiment.js.map +1 -0
- package/dist/eval-fixtures.d.ts +17 -0
- package/dist/eval-fixtures.d.ts.map +1 -0
- package/dist/eval-fixtures.js +59 -0
- package/dist/eval-fixtures.js.map +1 -0
- package/dist/eval-gateway-host.d.ts +34 -0
- package/dist/eval-gateway-host.d.ts.map +1 -0
- package/dist/eval-gateway-host.js +127 -0
- package/dist/eval-gateway-host.js.map +1 -0
- package/dist/eval-judge.d.ts +35 -0
- package/dist/eval-judge.d.ts.map +1 -0
- package/dist/eval-judge.js +105 -0
- package/dist/eval-judge.js.map +1 -0
- package/dist/eval-mocks.d.ts +10 -0
- package/dist/eval-mocks.d.ts.map +1 -0
- package/dist/eval-mocks.js +57 -0
- package/dist/eval-mocks.js.map +1 -0
- package/dist/eval-report.d.ts +7 -0
- package/dist/eval-report.d.ts.map +1 -0
- package/dist/eval-report.js +89 -0
- package/dist/eval-report.js.map +1 -0
- package/dist/eval-retry.d.ts +10 -0
- package/dist/eval-retry.d.ts.map +1 -0
- package/dist/eval-retry.js +37 -0
- package/dist/eval-retry.js.map +1 -0
- package/dist/eval-trajectory.d.ts +7 -0
- package/dist/eval-trajectory.d.ts.map +1 -0
- package/dist/eval-trajectory.js +92 -0
- package/dist/eval-trajectory.js.map +1 -0
- package/dist/eval-turns.d.ts +66 -0
- package/dist/eval-turns.d.ts.map +1 -0
- package/dist/eval-turns.js +187 -0
- package/dist/eval-turns.js.map +1 -0
- package/dist/eval-types.d.ts +271 -0
- package/dist/eval-types.d.ts.map +1 -0
- package/dist/eval-types.js +4 -0
- package/dist/eval-types.js.map +1 -0
- package/dist/eval.d.ts +26 -0
- package/dist/eval.d.ts.map +1 -0
- package/dist/eval.js +218 -0
- package/dist/eval.js.map +1 -0
- package/dist/help.d.ts +12 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +323 -0
- package/dist/help.js.map +1 -0
- package/dist/hosts.d.ts +3 -0
- package/dist/hosts.d.ts.map +1 -0
- package/dist/hosts.js +51 -0
- package/dist/hosts.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +318 -0
- package/dist/index.js.map +1 -0
- package/dist/init.d.ts +13 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +79 -0
- package/dist/init.js.map +1 -0
- package/dist/legacy-bin.d.ts +3 -0
- package/dist/legacy-bin.d.ts.map +1 -0
- package/dist/legacy-bin.js +8 -0
- package/dist/legacy-bin.js.map +1 -0
- package/dist/models.d.ts +5 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +20 -0
- package/dist/models.js.map +1 -0
- package/dist/operator-client.d.ts +7 -0
- package/dist/operator-client.d.ts.map +1 -0
- package/dist/operator-client.js +62 -0
- package/dist/operator-client.js.map +1 -0
- package/dist/pm.d.ts +20 -0
- package/dist/pm.d.ts.map +1 -0
- package/dist/pm.js +70 -0
- package/dist/pm.js.map +1 -0
- package/dist/project-env.d.ts +8 -0
- package/dist/project-env.d.ts.map +1 -0
- package/dist/project-env.js +51 -0
- package/dist/project-env.js.map +1 -0
- package/dist/secrets.d.ts +3 -0
- package/dist/secrets.d.ts.map +1 -0
- package/dist/secrets.js +48 -0
- package/dist/secrets.js.map +1 -0
- package/dist/state.d.ts +3 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/state.js +85 -0
- package/dist/state.js.map +1 -0
- package/package.json +67 -0
package/dist/help.js
ADDED
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
import { suggestInstallCommand } from "./pm.js";
|
|
2
|
+
const GLOBAL_FLAGS = [
|
|
3
|
+
["--root <path>", "Agent root override (defaults to the positional argument or ./agent)"]
|
|
4
|
+
];
|
|
5
|
+
const COMMAND_HELP = {
|
|
6
|
+
init: {
|
|
7
|
+
summary: "Scaffold a minimal agent folder with instructions.md, agent.ts, gateway.ts, tools/echo.ts, and .env.example.",
|
|
8
|
+
usage: "assembly-line init <agentRoot>",
|
|
9
|
+
flags: []
|
|
10
|
+
},
|
|
11
|
+
add: {
|
|
12
|
+
summary: "Install a plugin and wire its provider contribution into gateway.ts, channels/, or subagent guidance.",
|
|
13
|
+
usage: "assembly-line add <kind|package> [agentRoot] [--role <role>] [--no-install] [--pm <pm>]",
|
|
14
|
+
flags: [
|
|
15
|
+
["--role <role>", "Disambiguate kinds that exist under multiple roles (e.g. docker: deploy, sandbox)"],
|
|
16
|
+
["--no-install", "Skip package installation and print the exact install command instead"],
|
|
17
|
+
["--pm <pm>", "Package manager override: pnpm, yarn, or npm (default: detected from lockfiles)"]
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
validate: {
|
|
21
|
+
summary: "Check required files, exports, schemas, routes, automations, connections, subagents, and skill tool references.",
|
|
22
|
+
usage: "assembly-line validate <agentRoot>",
|
|
23
|
+
flags: [
|
|
24
|
+
["--no-model-check", "Skip the local model catalog check (no unknown-model warnings)"]
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
manifest: {
|
|
28
|
+
summary: "Print or write the compiled agent manifest.",
|
|
29
|
+
usage: "assembly-line manifest <agentRoot> [--write <path>]",
|
|
30
|
+
flags: [
|
|
31
|
+
["--write <path>", "Write the manifest JSON to a file instead of stdout"]
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
build: {
|
|
35
|
+
summary: "Emit the .assembly-line/ runtime artifact.",
|
|
36
|
+
usage: "assembly-line build <agentRoot> [--out <dir>]",
|
|
37
|
+
flags: [
|
|
38
|
+
["--out <dir>", "Build artifact directory (default: .assembly-line next to the agent root)"]
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
dev: {
|
|
42
|
+
summary: "Validate, build, and run a local dev check. With --watch, serve locally and rebuild + restart on changes.",
|
|
43
|
+
usage: "assembly-line dev <agentRoot> [--watch] [--port <number>]",
|
|
44
|
+
flags: [
|
|
45
|
+
["--watch", "Serve over HTTP and rebuild + restart when agent files change"],
|
|
46
|
+
["--message <text>", "Message for the one-shot dev run (without --watch)"],
|
|
47
|
+
["--tool <name>", "Tool to execute during the one-shot dev run (default: echo)"],
|
|
48
|
+
["--approve", "Allow approval-gated tool execution in the one-shot dev run"],
|
|
49
|
+
["--port <number>", "Port for the --watch dev server (default: ephemeral)"],
|
|
50
|
+
["--out <dir>", "Build artifact directory"]
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
run: {
|
|
54
|
+
summary: "Execute one local run from a message and optional tool/input.",
|
|
55
|
+
usage: "assembly-line run <agentRoot> --message <text> [--tool <name>] [--input <json>]",
|
|
56
|
+
flags: [
|
|
57
|
+
["--message <text>", "Message for the run (default: \"Hello from Assembly Line\")"],
|
|
58
|
+
["--tool <name>", "Force a local tool call instead of a model turn"],
|
|
59
|
+
["--input <json>", "Tool input JSON, e.g. --input '{\"text\":\"hello\"}'"],
|
|
60
|
+
["--approve", "Allow or resume approval-gated tool execution"],
|
|
61
|
+
["--channel <name>", "Channel to attribute the run to (default: local)"],
|
|
62
|
+
["--out <dir>", "Build artifact directory"]
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
eval: {
|
|
66
|
+
summary: "Run isolated golden-dataset cases against the production agent runtime path.",
|
|
67
|
+
usage: "assembly-line eval <agentRoot> [--filter <text>] [--tag <tag>] [--json]",
|
|
68
|
+
flags: [
|
|
69
|
+
["--filter <text>", "Run cases whose name or description contains text"],
|
|
70
|
+
["--tag <tag>", "Run cases with the exact tag"],
|
|
71
|
+
["--judge-model <model>", "Default LLM-as-judge provider/model"],
|
|
72
|
+
["--concurrency <n>", "Maximum cases running concurrently (default: 1)"],
|
|
73
|
+
["--timeout <seconds>", "Per-run timeout, applied to each conversation turn (default: 120)"],
|
|
74
|
+
["--repetitions <n>", "Run each valid case n times (default: 1; a case-level repetitions field wins)"],
|
|
75
|
+
["--retry-attempts <n>", "Retries after transient provider failures (default: 2)"],
|
|
76
|
+
["--retry-backoff-ms <ms>", "Initial exponential retry delay (default: 250)"],
|
|
77
|
+
["--baseline <path>", "Compare with a prior results.json file or experiment directory"],
|
|
78
|
+
["--max-regressions <n>", "Allowed regressed cases when using --baseline (default: 0)"],
|
|
79
|
+
["--max-cost-increase-percent <n>", "Optional cost-growth gate when using --baseline"],
|
|
80
|
+
["--json", "Emit a machine-readable JSON report"],
|
|
81
|
+
["--fail-fast", "Stop scheduling cases after the first failure or error"],
|
|
82
|
+
["--approve", "Approve gated tools unless a case overrides input.approve"],
|
|
83
|
+
["--url <gatewayUrl>", "Run cases against a deployed gateway instead of the in-process runtime (needs ASSEMBLY_LINE_ENABLE_API_RUNS=true; ASSEMBLY_LINE_ENABLE_EVAL_RUNS=true additionally unlocks tool mocks and approval auto-resolve remotely)"],
|
|
84
|
+
["--token <token>", "Admin token for --url (or ASSEMBLY_LINE_ADMIN_TOKEN)"],
|
|
85
|
+
["--out <dir>", "Build artifact directory"]
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
serve: {
|
|
89
|
+
summary: "Start the compiled Node runtime as a local HTTP server.",
|
|
90
|
+
usage: "assembly-line serve <agentRoot> [--port <number>]",
|
|
91
|
+
flags: [
|
|
92
|
+
["--port <number>", "Port to listen on (default: ephemeral)"],
|
|
93
|
+
["--host <host>", "Host to bind (default: 127.0.0.1)"],
|
|
94
|
+
["--once", "Boot-check without binding a socket, then exit"],
|
|
95
|
+
["--out <dir>", "Build artifact directory"]
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
channels: {
|
|
99
|
+
summary: "Point each configured channel's provider at the deployed ingress URL.",
|
|
100
|
+
usage: "assembly-line channels wire <agentRoot> --url <publicUrl>",
|
|
101
|
+
flags: [
|
|
102
|
+
["--url <publicUrl>", "The deployed service base URL to wire channels to"]
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
checkpoints: {
|
|
106
|
+
summary: "Dry-run or apply checkpoint compaction/TTL cleanup for the configured state adapter.",
|
|
107
|
+
usage: "assembly-line checkpoints compact <agentRoot> [--apply]",
|
|
108
|
+
flags: [
|
|
109
|
+
["--apply", "Delete candidate checkpoint rows; omitted by default for a safe dry run"],
|
|
110
|
+
["--dry-run", "Force report-only mode even when --apply is present"],
|
|
111
|
+
["--run-id <id>", "Restrict maintenance to one run"],
|
|
112
|
+
["--max-active-per-run-name <n>", "Latest active checkpoints to retain per run/name"],
|
|
113
|
+
["--terminal-ttl-ms <ms>", "TTL for completed/cancelled run checkpoints"],
|
|
114
|
+
["--failed-ttl-ms <ms>", "TTL for failed run checkpoints"],
|
|
115
|
+
["--scheduled-ttl-ms <ms>", "Aggressive TTL for scheduled terminal run checkpoints"],
|
|
116
|
+
["--out <dir>", "Build artifact directory"]
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
auth: {
|
|
120
|
+
summary: "Authenticate a hosted model provider without copying credentials through Assembly Line.",
|
|
121
|
+
usage: "assembly-line auth codex <agentRoot> [--target railway|docker|fly|vps] [--env <name>] [--status]",
|
|
122
|
+
flags: [
|
|
123
|
+
["--target <name>", "Deploy target with persistent storage and remote execution (defaults to gateway.ts)"],
|
|
124
|
+
["--env <name>", "Deployment environment (CLI, ASSEMBLY_LINE_DEPLOY_ENV, gateway option, then development)"],
|
|
125
|
+
["--status", "Verify persistent storage and remote Codex login without changing them"],
|
|
126
|
+
["--force", "Run device authentication even when the remote Codex session is ready"],
|
|
127
|
+
["--prepared", "Authenticate the most recently prepared release before public activation"],
|
|
128
|
+
["--railway-project <id>", "Railway project ID (or RAILWAY_PROJECT_ID)"],
|
|
129
|
+
["--railway-service <id>", "Railway service name or ID (or RAILWAY_SERVICE_ID)"],
|
|
130
|
+
["--railway-bin <path>", "Railway CLI executable (default: railway)"],
|
|
131
|
+
["--fly-app <name>", "Fly app name (or FLY_APP_NAME)"],
|
|
132
|
+
["--fly-org <name>", "Fly organization (or FLY_ORG)"],
|
|
133
|
+
["--fly-region <region>", "Fly volume/Machine region (or FLY_REGION)"],
|
|
134
|
+
["--fly-bin <path>", "Fly CLI executable (default: flyctl)"],
|
|
135
|
+
["--docker-image <name>", "Docker image created by assembly-line deploy"],
|
|
136
|
+
["--docker-bin <path>", "Docker CLI executable (default: docker)"],
|
|
137
|
+
["--vps-host <name>", "Named host from assembly-line.hosts.json"],
|
|
138
|
+
["--vps-domain <domain>", "Public domain routed to the agent"],
|
|
139
|
+
["--vps-hosts-file <path>", "Explicit versioned VPS host inventory"]
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
hosts: {
|
|
143
|
+
summary: "Securely bootstrap or adopt an Assembly Line VPS host and write its pinned inventory entry.",
|
|
144
|
+
usage: "assembly-line hosts bootstrap --provider hetzner --host <ref> --server <name> --inventory <path> --ssh-public-key <path>",
|
|
145
|
+
flags: [
|
|
146
|
+
["--provider <name>", "Infrastructure provider (currently hetzner)"],
|
|
147
|
+
["--host <ref>", "Stable host reference written to assembly-line.hosts.json"],
|
|
148
|
+
["--server <name>", "Hetzner server name to create or adopt"],
|
|
149
|
+
["--inventory <path>", "Inventory file to create or update"],
|
|
150
|
+
["--ssh-public-key <path>", "OpenSSH public key authorized for the openeve user"],
|
|
151
|
+
["--identity-file-env <name>", "Environment variable containing the matching private-key path"],
|
|
152
|
+
["--location <name>", "Required explicit Hetzner location when creating a server"],
|
|
153
|
+
["--server-type <name>", "Required explicit Hetzner server type when creating a server"],
|
|
154
|
+
["--image <name>", "Pinned OS image (default: ubuntu-26.04)"],
|
|
155
|
+
["--ssh-source <CIDR>", "Required source CIDR for SSH in both Hetzner Firewall and UFW"],
|
|
156
|
+
["--allow-global-ssh", "Explicitly allow SSH from the public internet"],
|
|
157
|
+
["--expected-region <name>", "Warn when the actual server location differs"],
|
|
158
|
+
["--host-key-sha256 <fingerprint>", "Required trusted SSH fingerprint when adopting an existing server"],
|
|
159
|
+
["--hcloud-bin <path>", "Hetzner CLI executable (default: hcloud)"],
|
|
160
|
+
["--ssh-bin <path>", "SSH executable used to wait for cloud-init (default: ssh)"],
|
|
161
|
+
["--ssh-keygen-bin <path>", "ssh-keygen executable used to verify the private/public key pair"],
|
|
162
|
+
["--rebuild", "Rejected for existing servers because Hetzner rebuild cannot apply cloud-init"]
|
|
163
|
+
]
|
|
164
|
+
},
|
|
165
|
+
state: {
|
|
166
|
+
summary: "Run verified durable-state migration operations.",
|
|
167
|
+
usage: "assembly-line state migrate-postgres|upgrade-postgres <agentRoot> [flags]",
|
|
168
|
+
flags: [
|
|
169
|
+
["--source-url-env <name>", "Environment variable containing the source URL (default: DATABASE_URL; values are never logged)"],
|
|
170
|
+
["--source-quiesced", "Confirm source ingress, schedules, and workers are quiesced with no in-flight work"],
|
|
171
|
+
["--replace-target", "Explicitly authorize replacing the target database after its backup succeeds"],
|
|
172
|
+
["--confirm-upgrade", "Authorize a version-aware host Postgres logical upgrade with rollback volume retained"],
|
|
173
|
+
["--env <name>", "Deployment environment used to resolve the isolated target database"],
|
|
174
|
+
["--docker-bin <path>", "Local Docker executable used for version-matched Postgres clients"],
|
|
175
|
+
["--vps-host <name>", "Named host from assembly-line.hosts.json"],
|
|
176
|
+
["--vps-domain <domain>", "Primary VPS domain"],
|
|
177
|
+
["--vps-hosts-file <path>", "Explicit versioned VPS host inventory"]
|
|
178
|
+
]
|
|
179
|
+
},
|
|
180
|
+
secrets: {
|
|
181
|
+
summary: "Compare required and configured deploy secret names without reading remote values.",
|
|
182
|
+
usage: "assembly-line secrets diff <agentRoot> [--target <name>] [--env <name>]",
|
|
183
|
+
flags: [
|
|
184
|
+
["--target <name>", "Deploy target (defaults to gateway.ts)"],
|
|
185
|
+
["--env <name>", "Deployment environment"]
|
|
186
|
+
]
|
|
187
|
+
},
|
|
188
|
+
runs: {
|
|
189
|
+
summary: "Cancel, suspend, or resume a run on a deployed agent.",
|
|
190
|
+
usage: "assembly-line runs cancel|suspend|resume <runId> --url <baseUrl>",
|
|
191
|
+
flags: [
|
|
192
|
+
["--url <baseUrl>", "Deployed agent base URL (or ASSEMBLY_LINE_URL)"],
|
|
193
|
+
["--token <token>", "Admin bearer token (or ASSEMBLY_LINE_ADMIN_TOKEN)"]
|
|
194
|
+
]
|
|
195
|
+
},
|
|
196
|
+
agent: {
|
|
197
|
+
summary: "Control ingress or quiesce all new runtime work for a safe state cutover.",
|
|
198
|
+
usage: "assembly-line agent disable|enable|quiesce|resume|status --url <baseUrl>",
|
|
199
|
+
flags: [
|
|
200
|
+
["--url <baseUrl>", "Deployed agent base URL (or ASSEMBLY_LINE_URL)"],
|
|
201
|
+
["--token <token>", "Admin bearer token (or ASSEMBLY_LINE_ADMIN_TOKEN)"]
|
|
202
|
+
]
|
|
203
|
+
},
|
|
204
|
+
deploy: {
|
|
205
|
+
summary: "Publish or prepare the deploy target declared by gateway.ts or --target.",
|
|
206
|
+
usage: "assembly-line deploy <agentRoot> [--target <name>] [--env <name>] [--dry-run]",
|
|
207
|
+
flags: [
|
|
208
|
+
["--env <name>", "Deploy environment (default: development). Non-default environments get isolated, environment-scoped provider resources"],
|
|
209
|
+
["--target <name>", "Override the gateway deploy target (local, railway, docker, fly, vps)"],
|
|
210
|
+
["--dry-run", "Print the deploy plan without publishing"],
|
|
211
|
+
["--prepare-only", "Prepare infrastructure, sync secrets, and run migrations without public activation"],
|
|
212
|
+
["--activate", "Activate the most recently prepared release without rebuilding or rerunning migrations"],
|
|
213
|
+
["--rollback", "Restore the prior active release without changing durable state"],
|
|
214
|
+
["--domains-only", "Reconcile the configured primary domain and aliases without rebuilding"],
|
|
215
|
+
["--destroy", "Remove the environment's provider resources (targets that support it). Keeps durable data unless --purge-data"],
|
|
216
|
+
["--purge-data", "With --destroy: also delete durable data (volumes)"],
|
|
217
|
+
["--force", "Allow --destroy on the default environment"],
|
|
218
|
+
["--serve", "local/docker targets: serve after preparing the deploy"],
|
|
219
|
+
["--once", "local target: boot-check without binding a socket, then exit"],
|
|
220
|
+
["--port <number>", "Port for local serve or the docker container (default docker port: 3000)"],
|
|
221
|
+
["--detach", "railway/fly: do not stream deploy logs"],
|
|
222
|
+
["--railway-project <id>", "Railway project ID (or RAILWAY_PROJECT_ID)"],
|
|
223
|
+
["--railway-service <id>", "Railway service name or ID (or RAILWAY_SERVICE_ID)"],
|
|
224
|
+
["--railway-bin <path>", "Railway CLI executable (default: railway)"],
|
|
225
|
+
["--railway-json", "Ask the Railway CLI for JSON output"],
|
|
226
|
+
["--docker-image <tag>", "Docker image tag (or ASSEMBLY_LINE_DOCKER_IMAGE)"],
|
|
227
|
+
["--docker-bin <path>", "Docker CLI executable (default: docker)"],
|
|
228
|
+
["--run", "docker: run the built image after building (alias of --serve)"],
|
|
229
|
+
["--fly-app <name>", "Fly app name (or FLY_APP_NAME); required for fly deploys"],
|
|
230
|
+
["--fly-org <name>", "Fly organization (or FLY_ORG)"],
|
|
231
|
+
["--fly-region <region>", "Fly primary/deploy region (or FLY_REGION)"],
|
|
232
|
+
["--fly-internal-port <number>", "Fly internal service port (default: 3000)"],
|
|
233
|
+
["--fly-bin <path>", "Fly CLI executable (default: flyctl)"],
|
|
234
|
+
["--fly-memory <size>", "Fly Machine memory written to fly.toml"],
|
|
235
|
+
["--fly-vm-size <size>", "Fly Machine size written to fly.toml"],
|
|
236
|
+
["--vps-host <name>", "Named host from assembly-line.hosts.json"],
|
|
237
|
+
["--vps-domain <domain>", "Public domain routed to the agent"],
|
|
238
|
+
["--vps-hosts-file <path>", "Explicit versioned VPS host inventory"],
|
|
239
|
+
["--sync-secrets", "Push local secrets to hosted deploy targets that support remote secret stores"],
|
|
240
|
+
["--secrets-from <path>", "Secrets file for --sync-secrets (default: project .env)"],
|
|
241
|
+
["--migration-command <bin>", "Executable to run artifact migrations before hosted deploy (or ASSEMBLY_LINE_MIGRATION_COMMAND)"],
|
|
242
|
+
["--out <dir>", "Build artifact directory"]
|
|
243
|
+
]
|
|
244
|
+
},
|
|
245
|
+
models: {
|
|
246
|
+
summary: "List provider/model specs from the local model catalog.",
|
|
247
|
+
usage: "assembly-line models [--provider <name>]",
|
|
248
|
+
flags: [
|
|
249
|
+
["--provider <name>", "Only list models from one provider"]
|
|
250
|
+
]
|
|
251
|
+
},
|
|
252
|
+
help: {
|
|
253
|
+
summary: "Show usage for all commands or one command.",
|
|
254
|
+
usage: "assembly-line help [command]",
|
|
255
|
+
flags: []
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
export function printHelp(command) {
|
|
259
|
+
if (command && COMMAND_HELP[command]) {
|
|
260
|
+
printCommandHelp(command);
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
if (command) {
|
|
264
|
+
console.error(`Unknown command: ${command}. Run "assembly-line help" for usage.`);
|
|
265
|
+
process.exitCode = 1;
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
console.log("Usage: assembly-line <command> [agentRoot] [flags]");
|
|
269
|
+
console.log("");
|
|
270
|
+
console.log("Commands:");
|
|
271
|
+
for (const [name, entry] of Object.entries(COMMAND_HELP)) {
|
|
272
|
+
console.log(` ${name.padEnd(10)} ${entry.summary}`);
|
|
273
|
+
}
|
|
274
|
+
console.log("");
|
|
275
|
+
console.log("Global flags:");
|
|
276
|
+
for (const [flag, description] of GLOBAL_FLAGS) {
|
|
277
|
+
console.log(` ${flag.padEnd(22)} ${description}`);
|
|
278
|
+
}
|
|
279
|
+
console.log("");
|
|
280
|
+
console.log('Run "assembly-line help <command>" or "assembly-line <command> --help" for command flags.');
|
|
281
|
+
}
|
|
282
|
+
export function printCommandHelp(command) {
|
|
283
|
+
const entry = COMMAND_HELP[command];
|
|
284
|
+
if (!entry) {
|
|
285
|
+
printHelp(command);
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
288
|
+
console.log(`assembly-line ${command} - ${entry.summary}`);
|
|
289
|
+
console.log("");
|
|
290
|
+
console.log(`Usage: ${entry.usage}`);
|
|
291
|
+
if (entry.flags.length > 0) {
|
|
292
|
+
console.log("");
|
|
293
|
+
console.log("Flags:");
|
|
294
|
+
const width = Math.max(...entry.flags.map(([flag]) => flag.length)) + 2;
|
|
295
|
+
for (const [flag, description] of entry.flags) {
|
|
296
|
+
console.log(` ${flag.padEnd(width)} ${description}`);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
console.log("");
|
|
300
|
+
console.log("Global flags:");
|
|
301
|
+
for (const [flag, description] of GLOBAL_FLAGS) {
|
|
302
|
+
console.log(` ${flag.padEnd(22)} ${description}`);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
export function isKnownCommand(command) {
|
|
306
|
+
return Object.hasOwn(COMMAND_HELP, command);
|
|
307
|
+
}
|
|
308
|
+
export function printIssues(issues, options = {}) {
|
|
309
|
+
for (const issue of issues) {
|
|
310
|
+
const path = issue.path ? ` ${issue.path}` : "";
|
|
311
|
+
const printer = issue.level === "error" ? console.error : console.warn;
|
|
312
|
+
printer(`${issue.level.toUpperCase()} ${issue.code}${path}: ${issue.message}`);
|
|
313
|
+
const packageName = unresolvedProviderPackage(issue);
|
|
314
|
+
if (packageName)
|
|
315
|
+
printer(` Fix: ${suggestInstallCommand(packageName, options.agentRoot ?? process.cwd())}`);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
function unresolvedProviderPackage(issue) {
|
|
319
|
+
if (issue.code !== "provider-package-unresolved")
|
|
320
|
+
return undefined;
|
|
321
|
+
return /^Could not resolve provider metadata from (?:plugin package )?(.+?): /u.exec(issue.message)?.[1];
|
|
322
|
+
}
|
|
323
|
+
//# sourceMappingURL=help.js.map
|
package/dist/help.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
|
package/dist/hosts.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hosts.d.ts","sourceRoot":"","sources":["../src/hosts.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAGrE,wBAAsB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCvE"}
|
package/dist/hosts.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { resolve } from "node:path";
|
|
2
|
+
import { bootstrapHetznerHost } from "@assemblyline-agents/vps";
|
|
3
|
+
import { booleanFlag, stringFlag } from "./args.js";
|
|
4
|
+
import { runCommand } from "./deploy.js";
|
|
5
|
+
export async function runHostsCommand(parsed) {
|
|
6
|
+
const subcommand = parsed.positional[0];
|
|
7
|
+
if (subcommand !== "bootstrap") {
|
|
8
|
+
throw new Error(`Unknown hosts subcommand: ${subcommand ?? "(none)"}. Usage: assembly-line hosts bootstrap --provider hetzner ...`);
|
|
9
|
+
}
|
|
10
|
+
const provider = requiredFlag(parsed, "provider");
|
|
11
|
+
if (provider !== "hetzner")
|
|
12
|
+
throw new Error(`Unsupported host bootstrap provider: ${provider}.`);
|
|
13
|
+
const location = stringFlag(parsed, "location");
|
|
14
|
+
const serverType = stringFlag(parsed, "server-type");
|
|
15
|
+
const image = stringFlag(parsed, "image");
|
|
16
|
+
const sshSource = stringFlag(parsed, "ssh-source");
|
|
17
|
+
const expectedRegion = stringFlag(parsed, "expected-region");
|
|
18
|
+
const expectedHostKeySha256 = stringFlag(parsed, "host-key-sha256");
|
|
19
|
+
const hcloudBin = stringFlag(parsed, "hcloud-bin");
|
|
20
|
+
const sshBin = stringFlag(parsed, "ssh-bin");
|
|
21
|
+
const sshKeygenBin = stringFlag(parsed, "ssh-keygen-bin");
|
|
22
|
+
const receipt = await bootstrapHetznerHost({
|
|
23
|
+
hostRef: requiredFlag(parsed, "host"),
|
|
24
|
+
server: requiredFlag(parsed, "server"),
|
|
25
|
+
inventoryPath: resolve(requiredFlag(parsed, "inventory")),
|
|
26
|
+
sshPublicKeyPath: resolve(requiredFlag(parsed, "ssh-public-key")),
|
|
27
|
+
identityFileEnv: stringFlag(parsed, "identity-file-env") ?? "OPENEVE_VPS_SSH_KEY",
|
|
28
|
+
...(location ? { location } : {}),
|
|
29
|
+
...(serverType ? { serverType } : {}),
|
|
30
|
+
...(image ? { image } : {}),
|
|
31
|
+
...(sshSource ? { sshSource } : {}),
|
|
32
|
+
...(expectedRegion ? { expectedRegion } : {}),
|
|
33
|
+
...(expectedHostKeySha256 ? { expectedHostKeySha256 } : {}),
|
|
34
|
+
...(hcloudBin ? { hcloudBin } : {}),
|
|
35
|
+
...(sshBin ? { sshBin } : {}),
|
|
36
|
+
...(sshKeygenBin ? { sshKeygenBin } : {}),
|
|
37
|
+
allowGlobalSsh: booleanFlag(parsed, "allow-global-ssh"),
|
|
38
|
+
rebuild: booleanFlag(parsed, "rebuild"),
|
|
39
|
+
run: runCommand
|
|
40
|
+
});
|
|
41
|
+
for (const warning of receipt.warnings)
|
|
42
|
+
console.warn(`Warning: ${warning}`);
|
|
43
|
+
console.log(JSON.stringify(receipt, null, 2));
|
|
44
|
+
}
|
|
45
|
+
function requiredFlag(parsed, name) {
|
|
46
|
+
const value = stringFlag(parsed, name);
|
|
47
|
+
if (!value)
|
|
48
|
+
throw new Error(`assembly-line hosts bootstrap requires --${name} <value>.`);
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=hosts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hosts.js","sourceRoot":"","sources":["../src/hosts.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAqCA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
|