lobstercage-cli 0.3.1 → 0.4.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.
Files changed (100) hide show
  1. package/README.md +169 -21
  2. package/dist/commands/apikeys.d.ts.map +1 -1
  3. package/dist/commands/apikeys.js +14 -0
  4. package/dist/commands/apikeys.js.map +1 -1
  5. package/dist/commands/auth.d.ts +2 -1
  6. package/dist/commands/auth.d.ts.map +1 -1
  7. package/dist/commands/auth.js +33 -2
  8. package/dist/commands/auth.js.map +1 -1
  9. package/dist/commands/billing.d.ts.map +1 -1
  10. package/dist/commands/billing.js +25 -5
  11. package/dist/commands/billing.js.map +1 -1
  12. package/dist/commands/cages.d.ts +0 -1
  13. package/dist/commands/cages.d.ts.map +1 -1
  14. package/dist/commands/cages.js +20 -15
  15. package/dist/commands/cages.js.map +1 -1
  16. package/dist/commands/config.d.ts +25 -0
  17. package/dist/commands/config.d.ts.map +1 -0
  18. package/dist/commands/config.js +148 -0
  19. package/dist/commands/config.js.map +1 -0
  20. package/dist/commands/env.d.ts.map +1 -1
  21. package/dist/commands/env.js +22 -0
  22. package/dist/commands/env.js.map +1 -1
  23. package/dist/commands/exec.d.ts +10 -2
  24. package/dist/commands/exec.d.ts.map +1 -1
  25. package/dist/commands/exec.js +64 -6
  26. package/dist/commands/exec.js.map +1 -1
  27. package/dist/commands/migrate.d.ts +28 -0
  28. package/dist/commands/migrate.d.ts.map +1 -0
  29. package/dist/commands/migrate.js +314 -0
  30. package/dist/commands/migrate.js.map +1 -0
  31. package/dist/commands/proxy.d.ts.map +1 -1
  32. package/dist/commands/proxy.js +1 -0
  33. package/dist/commands/proxy.js.map +1 -1
  34. package/dist/commands/ssh-config.d.ts.map +1 -1
  35. package/dist/commands/ssh-config.js +5 -0
  36. package/dist/commands/ssh-config.js.map +1 -1
  37. package/dist/commands/tail.d.ts +5 -0
  38. package/dist/commands/tail.d.ts.map +1 -1
  39. package/dist/commands/tail.js +20 -0
  40. package/dist/commands/tail.js.map +1 -1
  41. package/dist/commands/tunnel.d.ts.map +1 -1
  42. package/dist/commands/tunnel.js +79 -21
  43. package/dist/commands/tunnel.js.map +1 -1
  44. package/dist/index.d.ts +3 -2
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +9 -10
  47. package/dist/index.js.map +1 -1
  48. package/dist/lib/api.d.ts +184 -2
  49. package/dist/lib/api.d.ts.map +1 -1
  50. package/dist/lib/api.js +206 -6
  51. package/dist/lib/api.js.map +1 -1
  52. package/dist/lib/config.d.ts +4 -2
  53. package/dist/lib/config.d.ts.map +1 -1
  54. package/dist/lib/config.js +10 -6
  55. package/dist/lib/config.js.map +1 -1
  56. package/dist/lib/error-handler.d.ts.map +1 -1
  57. package/dist/lib/error-handler.js +24 -3
  58. package/dist/lib/error-handler.js.map +1 -1
  59. package/dist/lib/migrate/analyze.d.ts +15 -0
  60. package/dist/lib/migrate/analyze.d.ts.map +1 -0
  61. package/dist/lib/migrate/analyze.js +241 -0
  62. package/dist/lib/migrate/analyze.js.map +1 -0
  63. package/dist/lib/migrate/cost.d.ts +16 -0
  64. package/dist/lib/migrate/cost.d.ts.map +1 -0
  65. package/dist/lib/migrate/cost.js +68 -0
  66. package/dist/lib/migrate/cost.js.map +1 -0
  67. package/dist/lib/migrate/detect.d.ts +12 -0
  68. package/dist/lib/migrate/detect.d.ts.map +1 -0
  69. package/dist/lib/migrate/detect.js +392 -0
  70. package/dist/lib/migrate/detect.js.map +1 -0
  71. package/dist/lib/migrate/display.d.ts +14 -0
  72. package/dist/lib/migrate/display.d.ts.map +1 -0
  73. package/dist/lib/migrate/display.js +157 -0
  74. package/dist/lib/migrate/display.js.map +1 -0
  75. package/dist/lib/migrate/platform.d.ts +16 -0
  76. package/dist/lib/migrate/platform.d.ts.map +1 -0
  77. package/dist/lib/migrate/platform.js +178 -0
  78. package/dist/lib/migrate/platform.js.map +1 -0
  79. package/dist/lib/migrate/types.d.ts +84 -0
  80. package/dist/lib/migrate/types.d.ts.map +1 -0
  81. package/dist/lib/migrate/types.js +6 -0
  82. package/dist/lib/migrate/types.js.map +1 -0
  83. package/dist/lib/migrate/utils.d.ts +9 -0
  84. package/dist/lib/migrate/utils.d.ts.map +1 -0
  85. package/dist/lib/migrate/utils.js +19 -0
  86. package/dist/lib/migrate/utils.js.map +1 -0
  87. package/dist/lib/output.d.ts.map +1 -1
  88. package/dist/lib/output.js +3 -1
  89. package/dist/lib/output.js.map +1 -1
  90. package/dist/lib/ssh-errors.d.ts +5 -0
  91. package/dist/lib/ssh-errors.d.ts.map +1 -0
  92. package/dist/lib/ssh-errors.js +46 -0
  93. package/dist/lib/ssh-errors.js.map +1 -0
  94. package/dist/lib/utils.d.ts +4 -0
  95. package/dist/lib/utils.d.ts.map +1 -1
  96. package/dist/lib/utils.js +21 -0
  97. package/dist/lib/utils.js.map +1 -1
  98. package/dist/types/index.d.ts +7 -5
  99. package/dist/types/index.d.ts.map +1 -1
  100. package/package.json +2 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # lobstercage-cli
2
2
 
3
- Command-line interface for [LobsterCage](https://github.com/aptheon/lobster-cage) Secure AI Agent Sandboxes.
3
+ Command-line interface for [LobsterCage](https://github.com/aptheon/lobster-cage) -- Secure AI Agent Sandboxes.
4
4
 
5
5
  ## Installation
6
6
 
@@ -13,47 +13,195 @@ Requires Node.js >= 20.0.0.
13
13
  ## Quick Start
14
14
 
15
15
  ```bash
16
- # Authenticate
17
- lobster login --browser
16
+ # Authenticate via browser
17
+ lobster login
18
18
 
19
19
  # Deploy a new cage
20
20
  lobster deploy my-cage
21
21
 
22
- # Open an interactive shell
22
+ # Open an interactive SSH shell
23
23
  lobster ssh my-cage
24
24
 
25
+ # Run a command inside a cage
26
+ lobster exec my-cage --local -- ls -la /workspace
27
+
25
28
  # Tunnel a port to localhost
26
29
  lobster tunnel my-cage --port 3000
27
30
 
28
- # Run a command inside a cage
29
- lobster exec my-cage -- ls -la /workspace
31
+ # Stream lifecycle events
32
+ lobster tail my-cage
33
+
34
+ # Set up SSH config for `ssh agent@my-cage.lobster`
35
+ lobster ssh-config
30
36
  ```
31
37
 
38
+ ## Global Flags
39
+
40
+ | Flag | Description |
41
+ | --- | --- |
42
+ | `--api-url <url>` | Override the API URL (default: `https://api.lobstercage.ai`) |
43
+ | `--debug` | Show detailed error information and stack traces |
44
+ | `--version` | Print CLI version |
45
+ | `--help` | Show help for any command |
46
+
32
47
  ## Commands
33
48
 
49
+ ### Authentication
50
+
51
+ | Command | Description |
52
+ | --- | --- |
53
+ | `lobster login` | Login to LobsterCage via browser |
54
+ | `lobster logout` | Logout from LobsterCage |
55
+ | `lobster whoami` | Display current user information |
56
+
57
+ ### Cage Lifecycle
58
+
34
59
  | Command | Description |
35
60
  | --- | --- |
36
- | `lobster login` | Authenticate with LobsterCage |
37
61
  | `lobster deploy <name>` | Create and start a new cage |
38
62
  | `lobster list` | List all cages |
39
- | `lobster status <name>` | Show cage status |
63
+ | `lobster status <name>` | Get cage status and details |
40
64
  | `lobster start <name>` | Start a stopped cage |
41
65
  | `lobster stop <name>` | Stop a running cage |
42
- | `lobster hibernate <name>` | Hibernate a cage (preserves state) |
66
+ | `lobster hibernate <name>` | Hibernate a cage (preserves state and storage) |
43
67
  | `lobster wake <name>` | Wake a hibernated cage |
44
- | `lobster destroy <name>` | Delete a cage permanently |
45
- | `lobster logs <name>` | View cage logs |
68
+ | `lobster destroy <name>` | Permanently delete a cage |
69
+ | `lobster logs <name>` | View cage logs (requires `--local`) |
70
+ | `lobster tail <name>` | Stream cage events in real-time |
71
+
72
+ ### Connectivity
73
+
74
+ | Command | Description |
75
+ | --- | --- |
76
+ | `lobster ssh <name>` | SSH into a running cage (extra args passed to ssh) |
77
+ | `lobster tunnel <name>` | Create a secure tunnel to a cage port |
78
+ | `lobster dashboard <name>` | Open the OpenClaw dashboard for a running cage |
79
+ | `lobster port-forward <name>` | Forward a port from a cage via HTTPS proxy URL |
80
+ | `lobster exec <name> [cmd...]` | Execute a command in a cage (requires `--local`) |
81
+ | `lobster proxy <name>` | SSH ProxyCommand handler (used by SSH config, not invoked directly) |
82
+ | `lobster ssh-config` | Install SSH config for `*.lobster` hosts |
83
+
84
+ ### Environment Variables
85
+
86
+ | Command | Description |
87
+ | --- | --- |
46
88
  | `lobster env list <cage>` | List environment variables |
47
- | `lobster env set <cage> KEY=VAL` | Set environment variables |
48
- | `lobster env get <cage> <key>` | Get an environment variable |
49
- | `lobster env delete <cage> <key>` | Delete an environment variable |
50
- | `lobster env scan <cage>` | Scan for leaked secrets |
51
- | `lobster tunnel <name> --port <port>` | Tunnel a port to localhost |
52
- | `lobster ssh <name>` | Interactive shell into a cage |
53
- | `lobster exec <name> -- <cmd>` | Run a command in a cage |
54
- | `lobster billing` | View billing status |
55
- | `lobster billing portal` | Open the billing portal |
56
- | `lobster upgrade` | Upgrade to Pro plan |
89
+ | `lobster env set <cage> KEY=VAL...` | Set environment variables |
90
+ | `lobster env get <cage> <key>` | Get an environment variable value |
91
+ | `lobster env delete <cage> <key...>` | Delete environment variables |
92
+ | `lobster env scan <cage>` | Scan for security issues in environment variables |
93
+
94
+ ### API Keys
95
+
96
+ | Command | Description |
97
+ | --- | --- |
98
+ | `lobster apikeys list` | List all API keys |
99
+ | `lobster apikeys create <name>` | Create a new API key |
100
+ | `lobster apikeys revoke <keyId>` | Revoke an API key |
101
+
102
+ ### Billing
103
+
104
+ | Command | Description |
105
+ | --- | --- |
106
+ | `lobster billing` | View billing status and credit usage |
107
+ | `lobster billing portal` | Open Stripe billing portal |
108
+ | `lobster upgrade` | Upgrade to Starter plan |
109
+
110
+ ## Command Details
111
+
112
+ ### `deploy`
113
+
114
+ ```bash
115
+ lobster deploy my-cage # Default size, Ubuntu 22.04
116
+ lobster deploy my-cage --size standard # Standard tier (more CPU/RAM)
117
+ lobster deploy my-cage --image ubuntu:22.04 # Custom image
118
+ lobster deploy my-cage --egress deny-all # No outbound network
119
+ lobster deploy my-cage --egress allowlist --allow-host api.openai.com
120
+ lobster deploy my-cage --no-start # Create without starting
121
+ lobster deploy my-cage --local # Local Docker cage
122
+ lobster deploy my-cage --local --template ai-agent
123
+ ```
124
+
125
+ Size tiers: `starter`, `standard`, `power`, `extreme`.
126
+
127
+ ### `ssh`
128
+
129
+ ```bash
130
+ lobster ssh my-cage # Interactive SSH session
131
+ lobster ssh my-cage -L 8080:localhost:8080 # SSH with local port forward
132
+ lobster ssh my-cage -- cat /etc/hostname # Run remote command
133
+ ```
134
+
135
+ Uses `lobster proxy` as the SSH ProxyCommand internally. Cages use empty-password auth (the tunnel proxy is the real auth boundary).
136
+
137
+ ### `ssh-config`
138
+
139
+ ```bash
140
+ lobster ssh-config # Install config block in ~/.ssh/config
141
+ lobster ssh-config --print # Print config without installing
142
+ lobster ssh-config --remove # Remove LobsterCage config block
143
+ ```
144
+
145
+ After installation, you can use standard SSH tooling:
146
+
147
+ ```bash
148
+ ssh agent@my-cage.lobster
149
+ scp file.txt agent@my-cage.lobster:/workspace/
150
+ sftp agent@my-cage.lobster
151
+ # Also works with VS Code Remote SSH
152
+ ```
153
+
154
+ ### `tunnel`
155
+
156
+ ```bash
157
+ lobster tunnel my-cage --port 3000 # localhost:3000 -> cage:3000
158
+ lobster tunnel my-cage --port 8080 --local-port 9090 # localhost:9090 -> cage:8080
159
+ lobster tunnel my-cage --ssh # Shorthand for --port 22
160
+ ```
161
+
162
+ ### `port-forward`
163
+
164
+ ```bash
165
+ lobster port-forward my-cage --port 3000 # Get HTTPS proxy URL
166
+ lobster port-forward my-cage --port 3000 --local-port 3000 # Start local HTTP proxy
167
+ ```
168
+
169
+ Alias: `lobster pf`.
170
+
171
+ ### `tail`
172
+
173
+ ```bash
174
+ lobster tail my-cage # Stream events (Ctrl+C to stop)
175
+ lobster tail my-cage -n 50 # Show last 50 events first
176
+ lobster tail my-cage --no-follow # Print history and exit
177
+ lobster tail my-cage --json # NDJSON output
178
+ lobster tail my-cage -v # Show event metadata
179
+ ```
180
+
181
+ ### `exec`
182
+
183
+ ```bash
184
+ lobster exec my-cage --local # Interactive shell (local Docker)
185
+ lobster exec my-cage --local -- ls -la # Run a command
186
+ lobster exec my-cage --local --shell sh # Force /bin/sh
187
+ ```
188
+
189
+ Note: Remote exec is not available via the API. Use `lobster ssh` for remote access.
190
+
191
+ ### `apikeys`
192
+
193
+ ```bash
194
+ lobster apikeys list # List all keys
195
+ lobster apikeys create "My Key" # Create a key
196
+ lobster apikeys create "CI Key" --scope cages # Scoped key
197
+ lobster apikeys create "Temp" --expires 2026-04-01
198
+ lobster apikeys revoke lc_live_abc123 # Revoke (with confirmation)
199
+ lobster apikeys revoke lc_live_abc123 --force # Revoke without confirmation
200
+ ```
201
+
202
+ ### Common flags
203
+
204
+ Most commands support `--json` for machine-readable JSON output and `--local` for local Docker mode (where applicable).
57
205
 
58
206
  ## Documentation
59
207
 
@@ -1 +1 @@
1
- {"version":3,"file":"apikeys.d.ts","sourceRoot":"","sources":["../../src/commands/apikeys.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBnF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9D,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3C,OAAO,CAAC,IAAI,CAAC,CAgCf;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0B3D"}
1
+ {"version":3,"file":"apikeys.d.ts","sourceRoot":"","sources":["../../src/commands/apikeys.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBnF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9D,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3C,OAAO,CAAC,IAAI,CAAC,CAgCf;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwC3D"}
@@ -143,6 +143,11 @@ function createApiKeyCommands(program) {
143
143
  .alias('ls')
144
144
  .description('List all API keys')
145
145
  .option('--json', 'Output as JSON')
146
+ .addHelpText('after', `
147
+ Examples:
148
+ $ lobster apikeys list # List all API keys
149
+ $ lobster apikeys ls # Same (alias)
150
+ $ lobster apikeys list --json # Output as JSON`)
146
151
  .action(apiKeysListHandler);
147
152
  apikeys
148
153
  .command('create <name>')
@@ -150,12 +155,21 @@ function createApiKeyCommands(program) {
150
155
  .option('-s, --scope <scope>', 'Key scope (repeatable)', (val, prev) => [...(prev || []), val], [])
151
156
  .option('--expires <date>', 'Expiration date (ISO format)')
152
157
  .option('--json', 'Output as JSON')
158
+ .addHelpText('after', `
159
+ Examples:
160
+ $ lobster apikeys create my-key # Create a key with default scopes
161
+ $ lobster apikeys create ci-key -s cages:read -s cages:write # Scoped key
162
+ $ lobster apikeys create tmp --expires 2025-12-31 # Key with expiration`)
153
163
  .action(apiKeysCreateHandler);
154
164
  apikeys
155
165
  .command('revoke <keyId>')
156
166
  .description('Revoke an API key')
157
167
  .option('-f, --force', 'Skip confirmation')
158
168
  .option('--json', 'Output as JSON')
169
+ .addHelpText('after', `
170
+ Examples:
171
+ $ lobster apikeys revoke ak_abc123 # Revoke with confirmation prompt
172
+ $ lobster apikeys revoke ak_abc123 --force # Revoke without confirmation`)
159
173
  .action(apiKeysRevokeHandler);
160
174
  }
161
175
  //# sourceMappingURL=apikeys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apikeys.js","sourceRoot":"","sources":["../../src/commands/apikeys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apikeys.js","sourceRoot":"","sources":["../../src/commands/apikeys.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,11 @@
5
5
  */
6
6
  import { Command } from 'commander';
7
7
  /**
8
- * Login command handler — authenticates via browser OAuth flow
8
+ * Login command handler — authenticates via browser OAuth flow or direct token
9
9
  */
10
10
  export declare function loginHandler(options: {
11
11
  json?: boolean;
12
+ token?: string;
12
13
  }): Promise<void>;
13
14
  /**
14
15
  * Logout command handler — clears local authentication state
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwHpC;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB9E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC9E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkBzD"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuJpC;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAK7F;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB9E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC9E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmBzD"}
@@ -145,15 +145,45 @@ async function browserLoginHandler(options) {
145
145
  output.success('Authenticated via browser!');
146
146
  console.log(`\n Tip: run ${chalk_1.default.cyan('lobster ssh-config')} to enable ${chalk_1.default.cyan('ssh agent@my-cage.lobster')}`);
147
147
  }
148
+ process.exit(0);
148
149
  }
149
150
  catch (err) {
150
151
  (0, error_handler_1.handleError)(err, { spinner, json: options.json, context: 'browser authentication' });
151
152
  }
152
153
  }
153
154
  /**
154
- * Login command handler authenticates via browser OAuth flow
155
+ * Validates that a token looks like a LobsterCage API key.
156
+ */
157
+ function isValidApiKey(token) {
158
+ return token.startsWith('lc_live_') || token.startsWith('lc_test_');
159
+ }
160
+ /**
161
+ * Token login — stores an API key directly without browser flow
162
+ */
163
+ async function tokenLoginHandler(options) {
164
+ const sanitized = config.sanitizeToken(options.token);
165
+ if (!isValidApiKey(sanitized)) {
166
+ output.error('Invalid API key format. Expected a key starting with lc_live_ or lc_test_.');
167
+ process.exit(1);
168
+ }
169
+ config.updateConfig({
170
+ accessToken: sanitized,
171
+ });
172
+ if (options.json) {
173
+ output.json({ success: true, method: 'token' });
174
+ }
175
+ else {
176
+ output.success('Authenticated via API key!');
177
+ console.log(`\n Tip: run ${chalk_1.default.cyan('lobster ssh-config')} to enable ${chalk_1.default.cyan('ssh agent@my-cage.lobster')}`);
178
+ }
179
+ }
180
+ /**
181
+ * Login command handler — authenticates via browser OAuth flow or direct token
155
182
  */
156
183
  async function loginHandler(options) {
184
+ if (options.token) {
185
+ return tokenLoginHandler({ ...options, token: options.token });
186
+ }
157
187
  return browserLoginHandler(options);
158
188
  }
159
189
  /**
@@ -221,8 +251,9 @@ async function whoamiHandler(options) {
221
251
  function createAuthCommands(program) {
222
252
  program
223
253
  .command('login')
224
- .description('Login to LobsterCage via browser')
254
+ .description('Login to LobsterCage via browser or API key')
225
255
  .option('--json', 'Output as JSON')
256
+ .option('--token <key>', 'Authenticate with an API key (lc_live_* or lc_test_*) instead of browser flow')
226
257
  .action(loginHandler);
227
258
  program
228
259
  .command('logout')
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6HH,oCAEC;AAKD,sCAiBC;AAKD,sCAiCC;AAKD,gDAkBC;AA/MD,2CAA6B;AAC7B,yCAA2B;AAC3B,6CAA0C;AAC1C,8CAAsB;AACtB,kDAA0B;AAC1B,gDAAkC;AAClC,sDAAwC;AACxC,sDAAwC;AACxC,wDAAmD;AAEnD;;GAEG;AACH,SAAS,sBAAsB,CAAC,IAAY,EAAE,aAAqB,EAAE,SAAS,GAAG,MAAM;IACrF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;YAE9C,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAe,CAAC;gBAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,KAAe,CAAC;gBAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAe,CAAC;gBAE3C,IAAI,QAAQ,EAAE,CAAC;oBACb,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;oBACpD,GAAG,CAAC,GAAG,CAAC,sJAAsJ,CAAC,CAAC;oBAChK,MAAM,CAAC,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC5B,OAAO;gBACT,CAAC;gBAED,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;oBACpD,GAAG,CAAC,GAAG,CAAC,+KAA+K,CAAC,CAAC;oBACzL,MAAM,CAAC,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC,CAAC;oBAC9E,OAAO;gBACT,CAAC;gBAED,IAAI,KAAK,EAAE,CAAC;oBACV,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;oBACpD,GAAG,CAAC,GAAG,CAAC,0KAA0K,CAAC,CAAC;oBACpL,MAAM,CAAC,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,CAAC;oBACf,OAAO;gBACT,CAAC;YACH,CAAC;YAED,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC;QAC/D,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAAC,OAA2B;IAC5D,mBAAmB;IACnB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,IAAA,yBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,4CAA4C,IAAI,UAAU,KAAK,EAAE,CAAC;IAEvF,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,sBAAsB;IACtB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,wDAAa,MAAM,GAAC,CAAC,CAAC,OAAO,CAAC;QAC5C,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,uCAAuC,CAAC,CAAC,KAAK,EAAE,CAAC;IAErE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,EAAE,CAAC;QAEf,oCAAoC;QACpC,MAAM,CAAC,YAAY,CAAC;YAClB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,gBAAgB,eAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,eAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;QACvH,CAAC;IAEH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAA,2BAAW,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;IACvF,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,YAAY,CAAC,OAA2B;IAC5D,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,aAAa,CAAC,OAA2B;IAC7D,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;IAEnB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,aAAa,CAAC,OAA2B;IAC7D,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACrE,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,OAAO,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,MAAM,CAAC,gBAAgB,KAAK,CAAC,CAAC;YACpE,IAAI,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,MAAM,CAAC,mBAAmB,cAAc,CAAC,CAAC;YAClF,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAA,2BAAW,EAAC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,OAAgB;IACjD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,YAAY,CAAC,CAAC;IAExB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,aAAa,CAAC,CAAC;IAEzB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,aAAa,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../src/commands/billing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0IpC;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoB5D"}
1
+ {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../src/commands/billing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmJpC;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiC5D"}
@@ -85,7 +85,7 @@ async function billingHandler(options) {
85
85
  }
86
86
  if (billing.plan === 'free') {
87
87
  console.log();
88
- output.info(`Upgrade to Starter for more compute: ${chalk_1.default.bold('lobster upgrade')}`);
88
+ output.info(`Upgrade for more compute: ${chalk_1.default.bold('lobster upgrade')} (or ${chalk_1.default.bold('lobster upgrade --plan builder')})`);
89
89
  }
90
90
  }
91
91
  catch (err) {
@@ -93,11 +93,18 @@ async function billingHandler(options) {
93
93
  }
94
94
  }
95
95
  /**
96
- * Upgrade to Starter plan
96
+ * Upgrade to a paid plan
97
97
  */
98
- async function upgradeHandler() {
98
+ async function upgradeHandler(options) {
99
99
  const spinner = (0, ora_1.default)('Creating checkout session...').start();
100
100
  try {
101
+ const rawPlan = options.plan || 'starter';
102
+ if (rawPlan !== 'starter' && rawPlan !== 'builder') {
103
+ spinner.stop();
104
+ output.error(`Invalid plan: ${rawPlan}. Must be 'starter' or 'builder'.`);
105
+ process.exit(1);
106
+ }
107
+ const plan = rawPlan;
101
108
  (0, utils_1.requireAuth)();
102
109
  const billing = await api.getBillingStatus();
103
110
  if (billing.plan !== 'free') {
@@ -107,7 +114,7 @@ async function upgradeHandler() {
107
114
  return;
108
115
  }
109
116
  const dashboardUrl = process.env.LOBSTERCAGE_DASHBOARD_URL || 'https://app.lobstercage.ai';
110
- const { url } = await api.createCheckoutSession(`${dashboardUrl}/settings?billing=success`, `${dashboardUrl}/settings`);
117
+ const { url } = await api.createCheckoutSession(`${dashboardUrl}/settings?billing=success`, `${dashboardUrl}/settings`, plan);
111
118
  spinner.stop();
112
119
  output.success('Checkout session created!');
113
120
  console.log();
@@ -168,14 +175,27 @@ function createBillingCommands(program) {
168
175
  .command('status', { isDefault: true })
169
176
  .description('Show current plan and credit usage')
170
177
  .option('--json', 'Output as JSON')
178
+ .addHelpText('after', `
179
+ Examples:
180
+ $ lobster billing # Show plan and credit usage (default)
181
+ $ lobster billing status # Same as above
182
+ $ lobster billing status --json # Output billing info as JSON`)
171
183
  .action(billingHandler);
172
184
  billing
173
185
  .command('portal')
174
186
  .description('Open Stripe billing portal to manage subscription')
187
+ .addHelpText('after', `
188
+ Examples:
189
+ $ lobster billing portal # Open Stripe portal in browser`)
175
190
  .action(portalHandler);
176
191
  program
177
192
  .command('upgrade')
178
- .description('Upgrade to Starter plan')
193
+ .description('Upgrade to a paid plan')
194
+ .option('-p, --plan <plan>', 'Plan to upgrade to (starter, builder)', 'starter')
195
+ .addHelpText('after', `
196
+ Examples:
197
+ $ lobster upgrade # Upgrade to Starter plan (default)
198
+ $ lobster upgrade --plan builder # Upgrade to Builder plan`)
179
199
  .action(upgradeHandler);
180
200
  }
181
201
  //# sourceMappingURL=billing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/commands/billing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/commands/billing.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,6 @@ export declare function deployHandler(name: string, options: {
9
9
  image?: string;
10
10
  cpu?: string;
11
11
  memory?: string;
12
- storage?: string;
13
12
  egress?: string;
14
13
  allowHost?: string[];
15
14
  noStart?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"cages.d.ts","sourceRoot":"","sources":["../../src/commands/cages.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyCpC,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CAAC,IAAI,CAAC,CAsGf;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB9G;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BpI;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBhH;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBhI;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBnG;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB9F;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCnI;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5F,OAAO,CAAC,IAAI,CAAC,CAYf;AA6JD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8EzD"}
1
+ {"version":3,"file":"cages.d.ts","sourceRoot":"","sources":["../../src/commands/cages.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyCpC,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CAAC,IAAI,CAAC,CA0Gf;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB9G;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BpI;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBhH;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBhI;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBnG;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB9F;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCnI;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5F,OAAO,CAAC,IAAI,CAAC,CAYf;AA6JD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8EzD"}
@@ -102,19 +102,32 @@ async function deployHandler(name, options) {
102
102
  image: options.image || 'ubuntu:22.04',
103
103
  autoStart: !options.noStart,
104
104
  };
105
- // --size takes priority over --cpu/--memory/--storage
105
+ // --size takes priority over --cpu/--memory
106
106
  if (options.size) {
107
107
  if (!VALID_SIZES.includes(options.size)) {
108
- output.error(`Invalid size "${options.size}". Must be one of: ${VALID_SIZES.join(', ')}`);
108
+ // Resource specs from @lobstercage/lifecycle SIZE_SPECS (lifecycle/src/billing.ts)
109
+ const sizeDetails = {
110
+ starter: { cpu: 1024, memory: 4096 },
111
+ standard: { cpu: 2048, memory: 8192 },
112
+ power: { cpu: 4096, memory: 16384 },
113
+ extreme: { cpu: 8192, memory: 32768 },
114
+ };
115
+ const lines = VALID_SIZES.map(s => {
116
+ const r = sizeDetails[s];
117
+ const cpu = r.cpu / 1024;
118
+ const mem = r.memory >= 1024 ? `${r.memory / 1024} GB` : `${r.memory} MB`;
119
+ return ` ${s.padEnd(10)} — ${cpu} vCPU / ${mem}`;
120
+ });
121
+ output.error(`Invalid size "${options.size}". Available sizes:\n${lines.join('\n')}`);
109
122
  process.exit(1);
110
123
  }
111
124
  request.size = options.size;
112
125
  // Warn if legacy resource flags are also provided
113
- if (options.cpu || options.memory || options.storage) {
114
- output.warning('--size overrides --cpu, --memory, and --storage options');
126
+ if (options.cpu || options.memory) {
127
+ output.warning('--size overrides --cpu and --memory options');
115
128
  }
116
129
  }
117
- else if (options.cpu || options.memory || options.storage) {
130
+ else if (options.cpu || options.memory) {
118
131
  // Legacy resource flags (backward compat)
119
132
  request.resources = {};
120
133
  if (options.cpu) {
@@ -133,14 +146,6 @@ async function deployHandler(name, options) {
133
146
  }
134
147
  request.resources.memory = memory;
135
148
  }
136
- if (options.storage) {
137
- const storage = parseInt(options.storage, 10);
138
- if (isNaN(storage) || storage < 20 || storage > 200) {
139
- output.error('Invalid storage value. Must be between 20 and 200 GB');
140
- process.exit(1);
141
- }
142
- request.resources.storage = storage;
143
- }
144
149
  }
145
150
  // Parse network options
146
151
  if (options.egress || options.allowHost) {
@@ -538,13 +543,13 @@ async function logsHandlerLocal(name, options) {
538
543
  */
539
544
  function createCageCommands(program) {
540
545
  program
541
- .command('deploy <name>')
546
+ .command('create <name>')
547
+ .alias('deploy')
542
548
  .description('Create and start a new cage')
543
549
  .option('-i, --image <image>', 'Container image (default: ubuntu:22.04)')
544
550
  .option('-s, --size <size>', 'Cage size tier (starter, standard, power, extreme)')
545
551
  .option('--cpu <vcpu>', 'CPU allocation in vCPU (deprecated, use --size)')
546
552
  .option('--memory <mb>', 'Memory in MB (deprecated, use --size)')
547
- .option('--storage <gb>', 'Storage in GB (deprecated, use --size)')
548
553
  .option('--egress <policy>', 'Egress policy (allow-all, allowlist, deny-all)')
549
554
  .option('--allow-host <host>', 'Allowed egress host (repeatable)', (val, prev) => [...(prev || []), val], [])
550
555
  .option('--no-start', 'Do not start the cage after creation')