@liquidmetal-ai/raindrop 0.0.2 → 0.0.4
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/README.md +116 -31
- package/dist/base-command.d.ts.map +1 -1
- package/dist/base-command.js +5 -7
- package/dist/commands/build/branch.d.ts +1 -0
- package/dist/commands/build/branch.d.ts.map +1 -1
- package/dist/commands/build/branch.js +12 -3
- package/dist/commands/build/deploy.d.ts +1 -0
- package/dist/commands/build/deploy.d.ts.map +1 -1
- package/dist/commands/build/deploy.js +43 -25
- package/dist/commands/build/env/get.d.ts.map +1 -1
- package/dist/commands/build/env/get.js +5 -2
- package/dist/commands/build/env/set.d.ts.map +1 -1
- package/dist/commands/build/env/set.js +5 -2
- package/dist/commands/build/list.d.ts.map +1 -1
- package/dist/commands/build/list.js +3 -1
- package/dist/commands/build/sandbox.d.ts +16 -0
- package/dist/commands/build/sandbox.d.ts.map +1 -0
- package/dist/commands/build/sandbox.js +54 -0
- package/dist/commands/build/start.js +2 -2
- package/dist/commands/build/stop.js +2 -2
- package/dist/commands/build/tools/check.d.ts +12 -0
- package/dist/commands/build/tools/check.d.ts.map +1 -0
- package/dist/commands/build/tools/check.js +19 -0
- package/dist/commands/build/tools/fmt.d.ts +12 -0
- package/dist/commands/build/tools/fmt.d.ts.map +1 -0
- package/dist/commands/build/tools/fmt.js +36 -0
- package/dist/commands/build/unsandbox.d.ts +16 -0
- package/dist/commands/build/unsandbox.d.ts.map +1 -0
- package/dist/commands/build/unsandbox.js +54 -0
- package/dist/commands/build/upload.d.ts.map +1 -1
- package/dist/commands/build/upload.js +1 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oclif.manifest.json +241 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,22 +14,13 @@ CLI for the Raindrop platform
|
|
|
14
14
|
|
|
15
15
|
# Usage
|
|
16
16
|
|
|
17
|
-
You will need to have the monorepo setup and initialized.
|
|
18
|
-
|
|
19
|
-
From the root of the monorepo:
|
|
20
|
-
|
|
21
|
-
```sh-session
|
|
22
|
-
$ npm install
|
|
23
|
-
...
|
|
24
|
-
```
|
|
25
|
-
|
|
26
17
|
<!-- usage -->
|
|
27
18
|
```sh-session
|
|
28
19
|
$ npm install -g @liquidmetal-ai/raindrop
|
|
29
20
|
$ raindrop COMMAND
|
|
30
21
|
running command...
|
|
31
22
|
$ raindrop (--version)
|
|
32
|
-
@liquidmetal-ai/raindrop/0.0.
|
|
23
|
+
@liquidmetal-ai/raindrop/0.0.4 darwin-arm64 node-v22.10.0
|
|
33
24
|
$ raindrop --help [COMMAND]
|
|
34
25
|
USAGE
|
|
35
26
|
$ raindrop COMMAND
|
|
@@ -53,9 +44,13 @@ USAGE
|
|
|
53
44
|
* [`raindrop build generate`](#raindrop-build-generate)
|
|
54
45
|
* [`raindrop build init [PATH]`](#raindrop-build-init-path)
|
|
55
46
|
* [`raindrop build list`](#raindrop-build-list)
|
|
47
|
+
* [`raindrop build sandbox [VERSIONID]`](#raindrop-build-sandbox-versionid)
|
|
56
48
|
* [`raindrop build start`](#raindrop-build-start)
|
|
57
49
|
* [`raindrop build stop`](#raindrop-build-stop)
|
|
58
50
|
* [`raindrop build token`](#raindrop-build-token)
|
|
51
|
+
* [`raindrop build tools check`](#raindrop-build-tools-check)
|
|
52
|
+
* [`raindrop build tools fmt`](#raindrop-build-tools-fmt)
|
|
53
|
+
* [`raindrop build unsandbox [VERSIONID]`](#raindrop-build-unsandbox-versionid)
|
|
59
54
|
* [`raindrop build upload`](#raindrop-build-upload)
|
|
60
55
|
* [`raindrop build validate`](#raindrop-build-validate)
|
|
61
56
|
* [`raindrop help [COMMAND]`](#raindrop-help-command)
|
|
@@ -86,7 +81,7 @@ DESCRIPTION
|
|
|
86
81
|
List authentications
|
|
87
82
|
```
|
|
88
83
|
|
|
89
|
-
_See code: [src/commands/auth/list.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.
|
|
84
|
+
_See code: [src/commands/auth/list.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/auth/list.ts)_
|
|
90
85
|
|
|
91
86
|
## `raindrop auth login`
|
|
92
87
|
|
|
@@ -100,7 +95,7 @@ DESCRIPTION
|
|
|
100
95
|
Logs a user into the LiquidMetal platform. Supports browser-based authentication.
|
|
101
96
|
```
|
|
102
97
|
|
|
103
|
-
_See code: [src/commands/auth/login.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.
|
|
98
|
+
_See code: [src/commands/auth/login.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/auth/login.ts)_
|
|
104
99
|
|
|
105
100
|
## `raindrop auth logout`
|
|
106
101
|
|
|
@@ -114,7 +109,7 @@ DESCRIPTION
|
|
|
114
109
|
Logout authentications
|
|
115
110
|
```
|
|
116
111
|
|
|
117
|
-
_See code: [src/commands/auth/logout.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.
|
|
112
|
+
_See code: [src/commands/auth/logout.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/auth/logout.ts)_
|
|
118
113
|
|
|
119
114
|
## `raindrop auth select`
|
|
120
115
|
|
|
@@ -131,7 +126,7 @@ DESCRIPTION
|
|
|
131
126
|
Select active organization
|
|
132
127
|
```
|
|
133
128
|
|
|
134
|
-
_See code: [src/commands/auth/select.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.
|
|
129
|
+
_See code: [src/commands/auth/select.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/auth/select.ts)_
|
|
135
130
|
|
|
136
131
|
## `raindrop build branch`
|
|
137
132
|
|
|
@@ -139,22 +134,23 @@ create a new branch in the Raindrop catalog
|
|
|
139
134
|
|
|
140
135
|
```
|
|
141
136
|
USAGE
|
|
142
|
-
$ raindrop build branch [-p <value> | -s <value>] [--manifest <value>]
|
|
137
|
+
$ raindrop build branch [-p <value> | -s <value>] [--manifest <value>] [--show]
|
|
143
138
|
|
|
144
139
|
FLAGS
|
|
145
140
|
-p, --previousVersionId=<value> previous version ID
|
|
146
141
|
-s, --select=<value> select a specific version ID
|
|
147
142
|
--manifest=<value> [default: raindrop.manifest] project manifest
|
|
143
|
+
--show show the current branch
|
|
148
144
|
|
|
149
145
|
DESCRIPTION
|
|
150
146
|
create a new branch in the Raindrop catalog
|
|
151
147
|
|
|
152
148
|
EXAMPLES
|
|
153
149
|
$ raindrop build branch .
|
|
154
|
-
|
|
150
|
+
Created new branch 1234
|
|
155
151
|
```
|
|
156
152
|
|
|
157
|
-
_See code: [src/commands/build/branch.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.
|
|
153
|
+
_See code: [src/commands/build/branch.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/build/branch.ts)_
|
|
158
154
|
|
|
159
155
|
## `raindrop build delete [APPLICATION]`
|
|
160
156
|
|
|
@@ -182,7 +178,7 @@ EXAMPLES
|
|
|
182
178
|
Deleted (application) at version (version)
|
|
183
179
|
```
|
|
184
180
|
|
|
185
|
-
_See code: [src/commands/build/delete.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.
|
|
181
|
+
_See code: [src/commands/build/delete.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/build/delete.ts)_
|
|
186
182
|
|
|
187
183
|
## `raindrop build deploy`
|
|
188
184
|
|
|
@@ -190,9 +186,10 @@ deploy a Raindrop application
|
|
|
190
186
|
|
|
191
187
|
```
|
|
192
188
|
USAGE
|
|
193
|
-
$ raindrop build deploy [-r <value>] [-m <value>] [-o <value>] [-v <value>] [-s]
|
|
189
|
+
$ raindrop build deploy [-r <value>] [-m <value>] [-o <value>] [-v <value>] [-s] [-a]
|
|
194
190
|
|
|
195
191
|
FLAGS
|
|
192
|
+
-a, --amend amend an existing application
|
|
196
193
|
-m, --manifest=<value> [default: raindrop.manifest] project manifest
|
|
197
194
|
-o, --output=<value> [default: dist] output directory
|
|
198
195
|
-r, --root=<value> [default: /Users/ian/liquidmetal/packages/raindrop] root directory
|
|
@@ -207,7 +204,7 @@ EXAMPLES
|
|
|
207
204
|
Deploy a Raindrop application.
|
|
208
205
|
```
|
|
209
206
|
|
|
210
|
-
_See code: [src/commands/build/deploy.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.
|
|
207
|
+
_See code: [src/commands/build/deploy.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/build/deploy.ts)_
|
|
211
208
|
|
|
212
209
|
## `raindrop build env get VAR`
|
|
213
210
|
|
|
@@ -235,7 +232,7 @@ EXAMPLES
|
|
|
235
232
|
sets an env var/secret.
|
|
236
233
|
```
|
|
237
234
|
|
|
238
|
-
_See code: [src/commands/build/env/get.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.
|
|
235
|
+
_See code: [src/commands/build/env/get.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/build/env/get.ts)_
|
|
239
236
|
|
|
240
237
|
## `raindrop build env set VAR [VALUE]`
|
|
241
238
|
|
|
@@ -264,7 +261,7 @@ EXAMPLES
|
|
|
264
261
|
sets an env var/secret.
|
|
265
262
|
```
|
|
266
263
|
|
|
267
|
-
_See code: [src/commands/build/env/set.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.
|
|
264
|
+
_See code: [src/commands/build/env/set.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/build/env/set.ts)_
|
|
268
265
|
|
|
269
266
|
## `raindrop build find`
|
|
270
267
|
|
|
@@ -288,7 +285,7 @@ EXAMPLES
|
|
|
288
285
|
$ raindrop build find .
|
|
289
286
|
```
|
|
290
287
|
|
|
291
|
-
_See code: [src/commands/build/find.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.
|
|
288
|
+
_See code: [src/commands/build/find.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/build/find.ts)_
|
|
292
289
|
|
|
293
290
|
## `raindrop build generate`
|
|
294
291
|
|
|
@@ -310,7 +307,7 @@ EXAMPLES
|
|
|
310
307
|
$ raindrop build generate
|
|
311
308
|
```
|
|
312
309
|
|
|
313
|
-
_See code: [src/commands/build/generate.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.
|
|
310
|
+
_See code: [src/commands/build/generate.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/build/generate.ts)_
|
|
314
311
|
|
|
315
312
|
## `raindrop build init [PATH]`
|
|
316
313
|
|
|
@@ -334,7 +331,7 @@ EXAMPLES
|
|
|
334
331
|
Initialize a project in the current directory.
|
|
335
332
|
```
|
|
336
333
|
|
|
337
|
-
_See code: [src/commands/build/init.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.
|
|
334
|
+
_See code: [src/commands/build/init.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/build/init.ts)_
|
|
338
335
|
|
|
339
336
|
## `raindrop build list`
|
|
340
337
|
|
|
@@ -358,7 +355,30 @@ EXAMPLES
|
|
|
358
355
|
List Raindrop catalog resources.
|
|
359
356
|
```
|
|
360
357
|
|
|
361
|
-
_See code: [src/commands/build/list.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.
|
|
358
|
+
_See code: [src/commands/build/list.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/build/list.ts)_
|
|
359
|
+
|
|
360
|
+
## `raindrop build sandbox [VERSIONID]`
|
|
361
|
+
|
|
362
|
+
mark a version as sandboxed in the Raindrop catalog
|
|
363
|
+
|
|
364
|
+
```
|
|
365
|
+
USAGE
|
|
366
|
+
$ raindrop build sandbox [VERSIONID] [--manifest <value>]
|
|
367
|
+
|
|
368
|
+
ARGUMENTS
|
|
369
|
+
VERSIONID version to sandbox
|
|
370
|
+
|
|
371
|
+
FLAGS
|
|
372
|
+
--manifest=<value> [default: raindrop.manifest] project manifest
|
|
373
|
+
|
|
374
|
+
DESCRIPTION
|
|
375
|
+
mark a version as sandboxed in the Raindrop catalog
|
|
376
|
+
|
|
377
|
+
EXAMPLES
|
|
378
|
+
$ raindrop build sandbox
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
_See code: [src/commands/build/sandbox.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/build/sandbox.ts)_
|
|
362
382
|
|
|
363
383
|
## `raindrop build start`
|
|
364
384
|
|
|
@@ -382,7 +402,7 @@ EXAMPLES
|
|
|
382
402
|
Start a Raindrop application.
|
|
383
403
|
```
|
|
384
404
|
|
|
385
|
-
_See code: [src/commands/build/start.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.
|
|
405
|
+
_See code: [src/commands/build/start.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/build/start.ts)_
|
|
386
406
|
|
|
387
407
|
## `raindrop build stop`
|
|
388
408
|
|
|
@@ -404,7 +424,7 @@ EXAMPLES
|
|
|
404
424
|
Stop a Raindrop application.
|
|
405
425
|
```
|
|
406
426
|
|
|
407
|
-
_See code: [src/commands/build/stop.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.
|
|
427
|
+
_See code: [src/commands/build/stop.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/build/stop.ts)_
|
|
408
428
|
|
|
409
429
|
## `raindrop build token`
|
|
410
430
|
|
|
@@ -418,7 +438,72 @@ DESCRIPTION
|
|
|
418
438
|
generate a link to create a Cloudflare API token
|
|
419
439
|
```
|
|
420
440
|
|
|
421
|
-
_See code: [src/commands/build/token.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.
|
|
441
|
+
_See code: [src/commands/build/token.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/build/token.ts)_
|
|
442
|
+
|
|
443
|
+
## `raindrop build tools check`
|
|
444
|
+
|
|
445
|
+
validate a LiquidMetal.AI raindrop.manifest
|
|
446
|
+
|
|
447
|
+
```
|
|
448
|
+
USAGE
|
|
449
|
+
$ raindrop build tools check [-r <value>] [-m <value>]
|
|
450
|
+
|
|
451
|
+
FLAGS
|
|
452
|
+
-m, --manifest=<value> [default: raindrop.manifest] project manifest
|
|
453
|
+
-r, --root=<value> [default: /Users/ian/liquidmetal/packages/raindrop] root directory
|
|
454
|
+
|
|
455
|
+
DESCRIPTION
|
|
456
|
+
validate a LiquidMetal.AI raindrop.manifest
|
|
457
|
+
|
|
458
|
+
EXAMPLES
|
|
459
|
+
$ raindrop build tools check
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
_See code: [src/commands/build/tools/check.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/build/tools/check.ts)_
|
|
463
|
+
|
|
464
|
+
## `raindrop build tools fmt`
|
|
465
|
+
|
|
466
|
+
format a LiquidMetal.AI raindrop.manifest
|
|
467
|
+
|
|
468
|
+
```
|
|
469
|
+
USAGE
|
|
470
|
+
$ raindrop build tools fmt [-r <value>] [-m <value>]
|
|
471
|
+
|
|
472
|
+
FLAGS
|
|
473
|
+
-m, --manifest=<value> [default: raindrop.manifest] project manifest
|
|
474
|
+
-r, --root=<value> [default: /Users/ian/liquidmetal/packages/raindrop] root directory
|
|
475
|
+
|
|
476
|
+
DESCRIPTION
|
|
477
|
+
format a LiquidMetal.AI raindrop.manifest
|
|
478
|
+
|
|
479
|
+
EXAMPLES
|
|
480
|
+
$ raindrop build tools fmt
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
_See code: [src/commands/build/tools/fmt.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/build/tools/fmt.ts)_
|
|
484
|
+
|
|
485
|
+
## `raindrop build unsandbox [VERSIONID]`
|
|
486
|
+
|
|
487
|
+
mark a version as unsandboxed in the Raindrop catalog
|
|
488
|
+
|
|
489
|
+
```
|
|
490
|
+
USAGE
|
|
491
|
+
$ raindrop build unsandbox [VERSIONID] [--manifest <value>]
|
|
492
|
+
|
|
493
|
+
ARGUMENTS
|
|
494
|
+
VERSIONID version to sandbox
|
|
495
|
+
|
|
496
|
+
FLAGS
|
|
497
|
+
--manifest=<value> [default: raindrop.manifest] project manifest
|
|
498
|
+
|
|
499
|
+
DESCRIPTION
|
|
500
|
+
mark a version as unsandboxed in the Raindrop catalog
|
|
501
|
+
|
|
502
|
+
EXAMPLES
|
|
503
|
+
$ raindrop build unsandbox
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
_See code: [src/commands/build/unsandbox.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/build/unsandbox.ts)_
|
|
422
507
|
|
|
423
508
|
## `raindrop build upload`
|
|
424
509
|
|
|
@@ -442,7 +527,7 @@ EXAMPLES
|
|
|
442
527
|
$ raindrop build upload
|
|
443
528
|
```
|
|
444
529
|
|
|
445
|
-
_See code: [src/commands/build/upload.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.
|
|
530
|
+
_See code: [src/commands/build/upload.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/build/upload.ts)_
|
|
446
531
|
|
|
447
532
|
## `raindrop build validate`
|
|
448
533
|
|
|
@@ -464,7 +549,7 @@ EXAMPLES
|
|
|
464
549
|
$ raindrop build validate
|
|
465
550
|
```
|
|
466
551
|
|
|
467
|
-
_See code: [src/commands/build/validate.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.
|
|
552
|
+
_See code: [src/commands/build/validate.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.0.4/src/commands/build/validate.ts)_
|
|
468
553
|
|
|
469
554
|
## `raindrop help [COMMAND]`
|
|
470
555
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-command.d.ts","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAE9F,OAAO,EAAE,OAAO,EAAS,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAE,MAAM,EAA0B,MAAM,aAAa,CAAC;AAG7D,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACvH,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEhF,8BAAsB,WAAW,CAAC,CAAC,SAAS,OAAO,OAAO,CAAE,SAAQ,OAAO;IACzE,MAAM,CAAC,SAAS,KAAM;IAEtB,SAAS,CAAC,KAAK,EAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,SAAS,CAAC,IAAI,EAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAEzB,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;cAclB,KAAK,CAAC,GAAG,EAAE,KAAK,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;cAKvD,OAAO,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;cAI3C,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;cAK7B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAIzC,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"base-command.d.ts","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAE9F,OAAO,EAAE,OAAO,EAAS,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAE,MAAM,EAA0B,MAAM,aAAa,CAAC;AAG7D,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACvH,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEhF,8BAAsB,WAAW,CAAC,CAAC,SAAS,OAAO,OAAO,CAAE,SAAQ,OAAO;IACzE,MAAM,CAAC,SAAS,KAAM;IAEtB,SAAS,CAAC,KAAK,EAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,SAAS,CAAC,IAAI,EAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAEzB,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;cAclB,KAAK,CAAC,GAAG,EAAE,KAAK,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;cAKvD,OAAO,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;cAI3C,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;cAK7B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAIzC,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;cAuBtC,cAAc,IAAI,OAAO,CAAC;QACxC,MAAM,EAAE,aAAa,CAAC,OAAO,cAAc,CAAC,CAAC;QAC7C,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CAIH"}
|
package/dist/base-command.js
CHANGED
|
@@ -47,15 +47,13 @@ export class BaseCommand extends Command {
|
|
|
47
47
|
}
|
|
48
48
|
const contents = await fs.readFile(manifestPath, 'utf-8');
|
|
49
49
|
const [apps, errors] = await manifestFromString(contents);
|
|
50
|
-
const
|
|
50
|
+
const noErrors = errors.every((e) => "severity" in e && e.severity !== 'error');
|
|
51
51
|
for (const error of errors) {
|
|
52
|
-
|
|
52
|
+
const severity = "severity" in error ? error.severity : 'error';
|
|
53
|
+
this.log(`${this.flags.manifest}:${error.line}:${error.column}: ${severity}: ${error.message}`);
|
|
53
54
|
}
|
|
54
|
-
if (
|
|
55
|
-
this.
|
|
56
|
-
}
|
|
57
|
-
else if (errors.length > 0) {
|
|
58
|
-
this.warn('Manifest loaded with warnings');
|
|
55
|
+
if (!noErrors && errors.length > 0) {
|
|
56
|
+
this.exit(1);
|
|
59
57
|
}
|
|
60
58
|
if (apps.length === 0) {
|
|
61
59
|
this.error('No applications found in manifest', { exit: 1 });
|
|
@@ -10,6 +10,7 @@ export default class Branch extends BaseCommand<typeof Branch> {
|
|
|
10
10
|
rainbowAuthService: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
11
|
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
12
|
manifest: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
show: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
14
|
};
|
|
14
15
|
run(): Promise<void>;
|
|
15
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../../src/commands/build/branch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW,CAAC,OAAO,MAAM,CAAC;IAC5D,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAAiD;IAEnE,MAAM,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../../src/commands/build/branch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW,CAAC,OAAO,MAAM,CAAC;IAC5D,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAAiD;IAEnE,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;MA+BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmD3B"}
|
|
@@ -6,7 +6,8 @@ export default class Branch extends BaseCommand {
|
|
|
6
6
|
static description = 'create a new branch in the Raindrop catalog';
|
|
7
7
|
static examples = [
|
|
8
8
|
`<%= config.bin %> <%= command.id %> .
|
|
9
|
-
|
|
9
|
+
Created new branch 1234
|
|
10
|
+
`,
|
|
10
11
|
];
|
|
11
12
|
static flags = {
|
|
12
13
|
previousVersionId: Flags.string({
|
|
@@ -38,11 +39,17 @@ Create a new branch in the Raindrop catalog.`,
|
|
|
38
39
|
hidden: true,
|
|
39
40
|
}),
|
|
40
41
|
manifest: Flags.string({ default: 'raindrop.manifest', description: 'project manifest' }),
|
|
42
|
+
show: Flags.boolean({ description: 'show the current branch', required: false }),
|
|
41
43
|
};
|
|
42
44
|
async run() {
|
|
43
45
|
const { client: catalogService, userId, organizationId: defaultOrganizationId } = await this.catalogService();
|
|
44
46
|
const organizationId = this.flags.impersonate ?? defaultOrganizationId;
|
|
45
47
|
const config = await this.loadConfig();
|
|
48
|
+
// Allow the user to see the currently selected version
|
|
49
|
+
if (this.flags.show) {
|
|
50
|
+
this.log(`Current branch: ${config.versionId}`);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
46
53
|
// If we're selecting a version, just update config.
|
|
47
54
|
if (this.flags.select) {
|
|
48
55
|
// Check if this is a valid version.
|
|
@@ -63,19 +70,21 @@ Create a new branch in the Raindrop catalog.`,
|
|
|
63
70
|
this.error('No application found in manifest', { exit: 1 });
|
|
64
71
|
}
|
|
65
72
|
const applicationResp = await catalogService.applications({ userId, organizationId });
|
|
66
|
-
if (applicationResp.applications.some((a) =>
|
|
73
|
+
if (applicationResp.applications.some((a) => a.name !== valueOf(app.name) && a.versionId === this.flags.select)) {
|
|
67
74
|
this.error(`Cannot select version ${this.flags.select} belonging to another application`, { exit: 1 });
|
|
68
75
|
}
|
|
69
76
|
config.versionId = this.flags.select;
|
|
70
77
|
await this.saveConfig(config);
|
|
71
78
|
return;
|
|
72
79
|
}
|
|
80
|
+
const previousVersionId = this.flags.previousVersionId || config.versionId;
|
|
73
81
|
const resp = await catalogService.createVersion({
|
|
74
82
|
userId,
|
|
75
83
|
organizationId,
|
|
76
|
-
previousVersionId
|
|
84
|
+
previousVersionId,
|
|
77
85
|
});
|
|
78
86
|
config.versionId = resp.versionId;
|
|
79
87
|
await this.saveConfig(config);
|
|
88
|
+
console.log(`Created new branch ${config.versionId}`);
|
|
80
89
|
}
|
|
81
90
|
}
|
|
@@ -12,6 +12,7 @@ export default class Deploy extends BaseCommand<typeof Deploy> {
|
|
|
12
12
|
rainbowAuthService: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
13
|
start: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
14
|
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
amend: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
16
|
};
|
|
16
17
|
run(): Promise<void>;
|
|
17
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/build/deploy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/build/deploy.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW,CAAC,OAAO,MAAM,CAAC;IAC5D,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAAmC;IAErD,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;MAkCV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwH3B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { valueOf } from '@liquidmetal-ai/drizzle/appify/build';
|
|
2
2
|
import { JSONTranslator, Parser, Tokenizer } from '@liquidmetal-ai/drizzle/appify/parse';
|
|
3
3
|
import { archive } from '@liquidmetal-ai/drizzle/codestore';
|
|
4
|
-
import { BundleArchiveType } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/catalog_pb';
|
|
4
|
+
import { BundleArchiveType, } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/catalog_pb';
|
|
5
5
|
import { FileSystemBundle } from '@liquidmetal-ai/drizzle/unsafe/codestore';
|
|
6
6
|
import { Flags } from '@oclif/core';
|
|
7
7
|
import fs from 'node:fs/promises';
|
|
@@ -50,6 +50,7 @@ Deploy a Raindrop application.
|
|
|
50
50
|
default: false,
|
|
51
51
|
}),
|
|
52
52
|
config: Flags.string({ default: '.raindrop/config.json', hidden: true }),
|
|
53
|
+
amend: Flags.boolean({ char: 'a', description: 'amend an existing application', required: false, default: false }),
|
|
53
54
|
};
|
|
54
55
|
async run() {
|
|
55
56
|
// Build then deploy
|
|
@@ -76,33 +77,51 @@ Deploy a Raindrop application.
|
|
|
76
77
|
}
|
|
77
78
|
const { client: catalogService, userId, organizationId: defaultOrganizationId } = await this.catalogService();
|
|
78
79
|
const organizationId = this.flags.impersonate ?? defaultOrganizationId;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
80
|
+
let changed = [];
|
|
81
|
+
if (this.flags.amend) {
|
|
82
|
+
const manifests = apps.map((app) => ({
|
|
83
|
+
name: valueOf(app.name),
|
|
84
|
+
versionId,
|
|
85
|
+
manifest: manifestContents,
|
|
86
|
+
}));
|
|
87
|
+
const appsResp = await catalogService.setApplicationManifests({
|
|
88
|
+
manifests,
|
|
89
|
+
userId,
|
|
90
|
+
organizationId,
|
|
91
|
+
});
|
|
92
|
+
changed = appsResp.success;
|
|
93
|
+
if (appsResp.failure.length > 0) {
|
|
94
|
+
this.error(`Failed to amend applications: ${appsResp.failure.map((a) => `${a.name}@${a.versionId}`).join(', ')}. Make sure the application exists and the version is sandboxed.`, { exit: 1 });
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
const applications = apps.map((app) => ({
|
|
99
|
+
name: valueOf(app.name),
|
|
100
|
+
manifest: manifestContents,
|
|
101
|
+
manifestJson: JSON.stringify(manifestJson),
|
|
102
|
+
version: {
|
|
103
|
+
case: 'versionId',
|
|
104
|
+
value: versionId,
|
|
105
|
+
},
|
|
106
|
+
isActive: this.flags.start,
|
|
107
|
+
}));
|
|
108
|
+
const appsResp = await catalogService.createApplications({
|
|
109
|
+
applications,
|
|
110
|
+
userId,
|
|
111
|
+
organizationId,
|
|
112
|
+
suite: undefined, // TODO [bosgood] Provide suite name once available
|
|
113
|
+
});
|
|
114
|
+
changed = appsResp.applications;
|
|
115
|
+
}
|
|
95
116
|
// Upload bundle to this version's store.
|
|
96
117
|
for (const [i, app] of apps.entries()) {
|
|
97
|
-
const appResp =
|
|
118
|
+
const appResp = changed[i];
|
|
98
119
|
if (!appResp) {
|
|
99
|
-
// TODO [bosgood] We'll be able to basically eliminate the possibility of this happening
|
|
100
|
-
// by converting createApplications in the API and State to a createMany function.
|
|
101
120
|
this.error(`Failed to create application ${valueOf(app.name)}, not uploading code bundle`, { exit: false });
|
|
102
121
|
continue;
|
|
103
122
|
}
|
|
104
123
|
const versionId = appResp.versionId;
|
|
105
|
-
this.log(
|
|
124
|
+
this.log(`${this.flags.amend ? 'Updated' : 'Created'} application "${valueOf(app.name)}" with version ID "${versionId}"`);
|
|
106
125
|
for (const handler of app.handlers()) {
|
|
107
126
|
const bundle = new FileSystemBundle(path.join(buildDir, valueOf(handler.name)));
|
|
108
127
|
await catalogService.uploadBundle({
|
|
@@ -113,12 +132,11 @@ Deploy a Raindrop application.
|
|
|
113
132
|
bundleName: valueOf(handler.name),
|
|
114
133
|
archive: Buffer.from(await archive(bundle)),
|
|
115
134
|
});
|
|
116
|
-
this.log(`Uploaded bundle "${handler}"`);
|
|
135
|
+
this.log(`Uploaded bundle "${valueOf(handler.name)}"`);
|
|
117
136
|
}
|
|
118
137
|
// Per above, each application gets the same db bundle, which is
|
|
119
138
|
// boneheaded. src/db is pretty arbitrary.
|
|
120
|
-
const
|
|
121
|
-
const dbDir = path.join(srcDir, 'db');
|
|
139
|
+
const dbDir = path.join(this.flags.root, 'db');
|
|
122
140
|
let dbExists = false;
|
|
123
141
|
try {
|
|
124
142
|
const stat = await fs.lstat(dbDir);
|
|
@@ -128,7 +146,7 @@ Deploy a Raindrop application.
|
|
|
128
146
|
// Nothing to do
|
|
129
147
|
}
|
|
130
148
|
if (dbExists) {
|
|
131
|
-
const dbBundle = new FileSystemBundle(path.join(
|
|
149
|
+
const dbBundle = new FileSystemBundle(path.join(this.flags.root, 'db'));
|
|
132
150
|
await catalogService.uploadBundle({
|
|
133
151
|
organizationId,
|
|
134
152
|
applicationName: valueOf(app.name),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/env/get.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,WAAW,CAAC,OAAO,GAAG,CAAC;IACtD,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,WAAW,SAA2B;IAE7C,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;MA+BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/env/get.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,WAAW,CAAC,OAAO,GAAG,CAAC;IACtD,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,WAAW,SAA2B;IAE7C,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;MA+BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA0D3B"}
|
|
@@ -61,7 +61,7 @@ sets an env var/secret.
|
|
|
61
61
|
this.error('variable name not specified', { exit: 1 });
|
|
62
62
|
}
|
|
63
63
|
// If there's anything left in the path, it's nested.
|
|
64
|
-
if (path.length ==
|
|
64
|
+
if (path.length == 1) {
|
|
65
65
|
// It's a top level variable.
|
|
66
66
|
const envStanza = app.env.find((env) => valueOf(env.name) === envVarName);
|
|
67
67
|
if (envStanza === undefined) {
|
|
@@ -69,7 +69,7 @@ sets an env var/secret.
|
|
|
69
69
|
}
|
|
70
70
|
isSecret = envStanza.secret && valueOf(envStanza.secret) || false;
|
|
71
71
|
}
|
|
72
|
-
else {
|
|
72
|
+
else if (path.length > 1) {
|
|
73
73
|
// It's nested on some scripted module.
|
|
74
74
|
const scriptModules = app.handlers();
|
|
75
75
|
const scriptModule = scriptModules.find((module) => valueOf(module.name) === path[0]);
|
|
@@ -82,6 +82,9 @@ sets an env var/secret.
|
|
|
82
82
|
}
|
|
83
83
|
isSecret = envStanza.secret && valueOf(envStanza.secret) || false;
|
|
84
84
|
}
|
|
85
|
+
else {
|
|
86
|
+
this.error('variable must be an env variable or secret', { exit: 1 });
|
|
87
|
+
}
|
|
85
88
|
const config = await this.loadConfig();
|
|
86
89
|
const { client: catalogService, userId, organizationId } = await this.catalogService();
|
|
87
90
|
const resp = await catalogService.getEnv({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/env/set.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,WAAW,CAAC,OAAO,GAAG,CAAC;IACtD,MAAM,CAAC,IAAI;;;MAGT;IAEF,MAAM,CAAC,WAAW,SAA2B;IAE7C,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;MA+BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/env/set.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,WAAW,CAAC,OAAO,GAAG,CAAC;IACtD,MAAM,CAAC,IAAI;;;MAGT;IAEF,MAAM,CAAC,WAAW,SAA2B;IAE7C,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;MA+BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyE3B"}
|
|
@@ -70,7 +70,7 @@ sets an env var/secret.
|
|
|
70
70
|
this.error('variable name not specified', { exit: 1 });
|
|
71
71
|
}
|
|
72
72
|
// If there's anything left in the path, it's nested.
|
|
73
|
-
if (path.length ==
|
|
73
|
+
if (path.length == 1) {
|
|
74
74
|
// It's a top level variable.
|
|
75
75
|
const envStanza = app.env.find((env) => valueOf(env.name) === envVarName);
|
|
76
76
|
if (envStanza === undefined) {
|
|
@@ -78,7 +78,7 @@ sets an env var/secret.
|
|
|
78
78
|
}
|
|
79
79
|
isSecret = envStanza.secret && valueOf(envStanza.secret) || false;
|
|
80
80
|
}
|
|
81
|
-
else {
|
|
81
|
+
else if (path.length > 1) {
|
|
82
82
|
// It's nested on some scripted module.
|
|
83
83
|
const scriptModules = app.handlers();
|
|
84
84
|
const scriptModule = scriptModules.find((module) => valueOf(module.name) === path[0]);
|
|
@@ -91,6 +91,9 @@ sets an env var/secret.
|
|
|
91
91
|
}
|
|
92
92
|
isSecret = envStanza.secret && valueOf(envStanza.secret) || false;
|
|
93
93
|
}
|
|
94
|
+
else {
|
|
95
|
+
this.error('variable must be an env variable or secret', { exit: 1 });
|
|
96
|
+
}
|
|
94
97
|
// Read stdin if no value is supplied.
|
|
95
98
|
if (this.args.value === undefined) {
|
|
96
99
|
this.log('no value supplied, reading stdin...');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/build/list.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW,CAAC,OAAO,IAAI,CAAC;IACxD,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAAqC;IAEvD,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;MAoBV;IAEI,YAAY;
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/build/list.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW,CAAC,OAAO,IAAI,CAAC;IACxD,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAAqC;IAEvD,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;MAoBV;IAEI,YAAY;IAoCZ,gBAAgB;IA0ChB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAW3B"}
|
|
@@ -45,7 +45,9 @@ List Raindrop catalog resources.
|
|
|
45
45
|
const dateStr = v.createdAt ? v.createdAt.toDate().toISOString() : '';
|
|
46
46
|
acc[dateStr] = v;
|
|
47
47
|
return acc;
|
|
48
|
-
},
|
|
48
|
+
},
|
|
49
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50
|
+
{}), ['versionId', 'previousVersionId', 'isSandboxed']);
|
|
49
51
|
}
|
|
50
52
|
else if (this.flags.output === 'json') {
|
|
51
53
|
this.log(JSON.stringify(resp, null, 2));
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class Sandbox extends BaseCommand<typeof Sandbox> {
|
|
3
|
+
static args: {
|
|
4
|
+
versionId: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
impersonate: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
rainbowAuthService: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
manifest: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=sandbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../src/commands/build/sandbox.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW,CAAC,OAAO,OAAO,CAAC;IAC9D,MAAM,CAAC,IAAI;;MAET;IACF,MAAM,CAAC,WAAW,SAAyD;IAE3E,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,KAAK;;;;;MAiBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB3B"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { BaseCommand } from '../../base-command.js';
|
|
3
|
+
export default class Sandbox extends BaseCommand {
|
|
4
|
+
static args = {
|
|
5
|
+
versionId: Args.string({ char: 'v', description: 'version to sandbox', required: false }),
|
|
6
|
+
};
|
|
7
|
+
static description = 'mark a version as sandboxed in the Raindrop catalog';
|
|
8
|
+
static examples = [
|
|
9
|
+
`<%= config.bin %> <%= command.id %>
|
|
10
|
+
`,
|
|
11
|
+
];
|
|
12
|
+
static flags = {
|
|
13
|
+
impersonate: Flags.string({
|
|
14
|
+
char: 'i',
|
|
15
|
+
description: 'impersonate organization',
|
|
16
|
+
required: false,
|
|
17
|
+
hidden: true,
|
|
18
|
+
}),
|
|
19
|
+
rainbowAuthService: Flags.string({
|
|
20
|
+
default: 'https://liquidmetal.run/api/connect',
|
|
21
|
+
hidden: true,
|
|
22
|
+
env: 'LIQUIDMETAL_RAINBOW_AUTH_SERVICE',
|
|
23
|
+
}),
|
|
24
|
+
config: Flags.string({
|
|
25
|
+
default: '.raindrop/config.json',
|
|
26
|
+
hidden: true,
|
|
27
|
+
}),
|
|
28
|
+
manifest: Flags.string({ default: 'raindrop.manifest', description: 'project manifest' }),
|
|
29
|
+
};
|
|
30
|
+
async run() {
|
|
31
|
+
const { client: catalogService, userId, organizationId: defaultOrganizationId } = await this.catalogService();
|
|
32
|
+
const organizationId = this.flags.impersonate ?? defaultOrganizationId;
|
|
33
|
+
const config = await this.loadConfig();
|
|
34
|
+
const resp = await catalogService.setVersionSandboxStates({
|
|
35
|
+
userId,
|
|
36
|
+
organizationId,
|
|
37
|
+
versions: [
|
|
38
|
+
{
|
|
39
|
+
versionId: this.args.versionId || config.versionId,
|
|
40
|
+
isSandboxed: true,
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
});
|
|
44
|
+
for (const version of resp.success) {
|
|
45
|
+
this.log(`Set version ${version.versionId} as sandboxed.`);
|
|
46
|
+
}
|
|
47
|
+
for (const version of resp.failure) {
|
|
48
|
+
this.error(`Failed to set version ${version.versionId} as sandboxed.`);
|
|
49
|
+
}
|
|
50
|
+
if (resp.failure.length > 0) {
|
|
51
|
+
this.exit(1);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -54,8 +54,8 @@ Start a Raindrop application.
|
|
|
54
54
|
const resp = await catalogService.setApplicationActiveStates({
|
|
55
55
|
states: [
|
|
56
56
|
{
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
name: this.flags.application || appName,
|
|
58
|
+
versionId: this.flags.version || config.versionId,
|
|
59
59
|
isActive: true,
|
|
60
60
|
},
|
|
61
61
|
],
|
|
@@ -50,8 +50,8 @@ Stop a Raindrop application.
|
|
|
50
50
|
const resp = await catalogService.setApplicationActiveStates({
|
|
51
51
|
states: [
|
|
52
52
|
{
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
name: this.flags.application,
|
|
54
|
+
versionId: this.flags.version,
|
|
55
55
|
isActive: false,
|
|
56
56
|
},
|
|
57
57
|
],
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
2
|
+
export default class Check extends BaseCommand<typeof Check> {
|
|
3
|
+
static args: {};
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
root: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
manifest: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
};
|
|
10
|
+
run(): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/tools/check.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW,CAAC,OAAO,KAAK,CAAC;IAC1D,OAAgB,IAAI,KAAM;IAE1B,OAAgB,WAAW,SAAiD;IAE5E,OAAgB,QAAQ,WAA2C;IAEnE,OAAgB,KAAK;;;MAQnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
3
|
+
export default class Check extends BaseCommand {
|
|
4
|
+
static args = {};
|
|
5
|
+
static description = 'validate a LiquidMetal.AI raindrop.manifest';
|
|
6
|
+
static examples = ['<%= config.bin %> <%= command.id %>'];
|
|
7
|
+
static flags = {
|
|
8
|
+
root: Flags.string({ char: 'r', description: 'root directory', required: false, default: process.cwd() }),
|
|
9
|
+
manifest: Flags.string({
|
|
10
|
+
char: 'm',
|
|
11
|
+
description: 'project manifest',
|
|
12
|
+
required: false,
|
|
13
|
+
default: 'raindrop.manifest',
|
|
14
|
+
}),
|
|
15
|
+
};
|
|
16
|
+
async run() {
|
|
17
|
+
await this.loadManifest();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
2
|
+
export default class Fmt extends BaseCommand<typeof Fmt> {
|
|
3
|
+
static args: {};
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
root: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
manifest: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
};
|
|
10
|
+
run(): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=fmt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fmt.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/tools/fmt.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,WAAW,CAAC,OAAO,GAAG,CAAC;IACtD,OAAgB,IAAI,KAAM;IAE1B,OAAgB,WAAW,SAA+C;IAE1E,OAAgB,QAAQ,WAA2C;IAEnE,OAAgB,KAAK;;;MAQnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAiBlC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Parser, Tokenizer, fmt } from '@liquidmetal-ai/drizzle/appify/parse';
|
|
2
|
+
import { Flags } from '@oclif/core';
|
|
3
|
+
import * as fs from 'node:fs/promises';
|
|
4
|
+
import * as path from 'node:path';
|
|
5
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
6
|
+
export default class Fmt extends BaseCommand {
|
|
7
|
+
static args = {};
|
|
8
|
+
static description = 'format a LiquidMetal.AI raindrop.manifest';
|
|
9
|
+
static examples = ['<%= config.bin %> <%= command.id %>'];
|
|
10
|
+
static flags = {
|
|
11
|
+
root: Flags.string({ char: 'r', description: 'root directory', required: false, default: process.cwd() }),
|
|
12
|
+
manifest: Flags.string({
|
|
13
|
+
char: 'm',
|
|
14
|
+
description: 'project manifest',
|
|
15
|
+
required: false,
|
|
16
|
+
default: 'raindrop.manifest',
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
async run() {
|
|
20
|
+
let manifestPath = this.flags.manifest;
|
|
21
|
+
if (this.flags.root) {
|
|
22
|
+
manifestPath = path.isAbsolute(this.flags.manifest)
|
|
23
|
+
? this.flags.manifest
|
|
24
|
+
: path.join(this.flags.root, this.flags.manifest);
|
|
25
|
+
}
|
|
26
|
+
const contents = await fs.readFile(manifestPath, 'utf-8');
|
|
27
|
+
const tokenizer = new Tokenizer(contents);
|
|
28
|
+
const parser = new Parser(tokenizer);
|
|
29
|
+
const ast = parser.parse();
|
|
30
|
+
if (parser.errors.length > 0) {
|
|
31
|
+
this.error('errors parsing manifest', { exit: 1 });
|
|
32
|
+
}
|
|
33
|
+
const formatted = fmt(ast);
|
|
34
|
+
await fs.writeFile(manifestPath, formatted);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class Unsandbox extends BaseCommand<typeof Unsandbox> {
|
|
3
|
+
static args: {
|
|
4
|
+
versionId: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
impersonate: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
rainbowAuthService: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
manifest: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=unsandbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unsandbox.d.ts","sourceRoot":"","sources":["../../../src/commands/build/unsandbox.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW,CAAC,OAAO,SAAS,CAAC;IAClE,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,WAAW,SAA2D;IAE7E,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,KAAK;;;;;MAiBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB3B"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { BaseCommand } from '../../base-command.js';
|
|
3
|
+
export default class Unsandbox extends BaseCommand {
|
|
4
|
+
static args = {
|
|
5
|
+
versionId: Args.string({ char: 'v', description: 'version to sandbox', required: false }),
|
|
6
|
+
};
|
|
7
|
+
static description = 'mark a version as unsandboxed in the Raindrop catalog';
|
|
8
|
+
static examples = [
|
|
9
|
+
`<%= config.bin %> <%= command.id %>
|
|
10
|
+
`,
|
|
11
|
+
];
|
|
12
|
+
static flags = {
|
|
13
|
+
impersonate: Flags.string({
|
|
14
|
+
char: 'i',
|
|
15
|
+
description: 'impersonate organization',
|
|
16
|
+
required: false,
|
|
17
|
+
hidden: true,
|
|
18
|
+
}),
|
|
19
|
+
rainbowAuthService: Flags.string({
|
|
20
|
+
default: 'https://liquidmetal.run/api/connect',
|
|
21
|
+
hidden: true,
|
|
22
|
+
env: 'LIQUIDMETAL_RAINBOW_AUTH_SERVICE',
|
|
23
|
+
}),
|
|
24
|
+
config: Flags.string({
|
|
25
|
+
default: '.raindrop/config.json',
|
|
26
|
+
hidden: true,
|
|
27
|
+
}),
|
|
28
|
+
manifest: Flags.string({ default: 'raindrop.manifest', description: 'project manifest' }),
|
|
29
|
+
};
|
|
30
|
+
async run() {
|
|
31
|
+
const { client: catalogService, userId, organizationId: defaultOrganizationId } = await this.catalogService();
|
|
32
|
+
const organizationId = this.flags.impersonate ?? defaultOrganizationId;
|
|
33
|
+
const config = await this.loadConfig();
|
|
34
|
+
const resp = await catalogService.setVersionSandboxStates({
|
|
35
|
+
userId,
|
|
36
|
+
organizationId,
|
|
37
|
+
versions: [
|
|
38
|
+
{
|
|
39
|
+
versionId: this.args.versionId || config.versionId,
|
|
40
|
+
isSandboxed: false,
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
});
|
|
44
|
+
for (const version of resp.success) {
|
|
45
|
+
this.log(`Set version ${version.versionId} as unsandboxed.`);
|
|
46
|
+
}
|
|
47
|
+
for (const version of resp.failure) {
|
|
48
|
+
this.error(`Failed to set version ${version.versionId} as unsandboxed.`);
|
|
49
|
+
}
|
|
50
|
+
if (resp.failure.length > 0) {
|
|
51
|
+
this.exit(1);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/commands/build/upload.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW,CAAC,OAAO,MAAM,CAAC;IAC5D,OAAgB,IAAI,KAAM;IAE1B,OAAgB,WAAW,SAAiD;IAE5E,OAAgB,QAAQ,WAA2C;IAEnE,OAAgB,KAAK;;;;;;;;MAsBnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/commands/build/upload.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW,CAAC,OAAO,MAAM,CAAC;IAC5D,OAAgB,IAAI,KAAM;IAE1B,OAAgB,WAAW,SAAiD;IAE5E,OAAgB,QAAQ,WAA2C;IAEnE,OAAgB,KAAK;;;;;;;;MAsBnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwClC"}
|
|
@@ -35,7 +35,6 @@ export default class Upload extends BaseCommand {
|
|
|
35
35
|
};
|
|
36
36
|
async run() {
|
|
37
37
|
const apps = await this.loadManifest();
|
|
38
|
-
const srcDir = path.join(this.flags.root, 'src');
|
|
39
38
|
const buildDir = path.isAbsolute(this.flags.output)
|
|
40
39
|
? this.flags.output
|
|
41
40
|
: path.join(this.flags.root, this.flags.output);
|
|
@@ -61,7 +60,7 @@ export default class Upload extends BaseCommand {
|
|
|
61
60
|
}
|
|
62
61
|
// Per above, each application gets the same db bundle, which is
|
|
63
62
|
// boneheaded. src/db is also pretty arbitrary.
|
|
64
|
-
const dbBundle = new FileSystemBundle(path.join(
|
|
63
|
+
const dbBundle = new FileSystemBundle(path.join(this.flags.root, 'db'));
|
|
65
64
|
await catalogService.uploadBundle({
|
|
66
65
|
userId,
|
|
67
66
|
organizationId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/base-command.ts","../src/build.test.ts","../src/build.ts","../src/codegen.test.ts","../src/codegen.ts","../src/config.test.ts","../src/config.ts","../src/index.test.ts","../src/index.ts","../src/commands/auth/list.ts","../src/commands/auth/login.ts","../src/commands/auth/logout.ts","../src/commands/auth/select.ts","../src/commands/build/branch.ts","../src/commands/build/delete.ts","../src/commands/build/deploy.ts","../src/commands/build/find.ts","../src/commands/build/generate.ts","../src/commands/build/init.ts","../src/commands/build/list.ts","../src/commands/build/start.ts","../src/commands/build/stop.ts","../src/commands/build/token.ts","../src/commands/build/upload.ts","../src/commands/build/validate.ts","../src/commands/build/env/get.ts","../src/commands/build/env/set.ts"],"version":"5.6.2"}
|
|
1
|
+
{"root":["../src/base-command.ts","../src/build.test.ts","../src/build.ts","../src/codegen.test.ts","../src/codegen.ts","../src/config.test.ts","../src/config.ts","../src/index.test.ts","../src/index.ts","../src/commands/auth/list.ts","../src/commands/auth/login.ts","../src/commands/auth/logout.ts","../src/commands/auth/select.ts","../src/commands/build/branch.ts","../src/commands/build/delete.ts","../src/commands/build/deploy.ts","../src/commands/build/find.ts","../src/commands/build/generate.ts","../src/commands/build/init.ts","../src/commands/build/list.ts","../src/commands/build/sandbox.ts","../src/commands/build/start.ts","../src/commands/build/stop.ts","../src/commands/build/token.ts","../src/commands/build/unsandbox.ts","../src/commands/build/upload.ts","../src/commands/build/validate.ts","../src/commands/build/env/get.ts","../src/commands/build/env/set.ts","../src/commands/build/tools/check.ts","../src/commands/build/tools/fmt.ts"],"version":"5.6.2"}
|
package/oclif.manifest.json
CHANGED
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
"args": {},
|
|
123
123
|
"description": "create a new branch in the Raindrop catalog",
|
|
124
124
|
"examples": [
|
|
125
|
-
"<%= config.bin %> <%= command.id %> .\
|
|
125
|
+
"<%= config.bin %> <%= command.id %> .\nCreated new branch 1234\n"
|
|
126
126
|
],
|
|
127
127
|
"flags": {
|
|
128
128
|
"previousVersionId": {
|
|
@@ -186,6 +186,13 @@
|
|
|
186
186
|
"hasDynamicHelp": false,
|
|
187
187
|
"multiple": false,
|
|
188
188
|
"type": "option"
|
|
189
|
+
},
|
|
190
|
+
"show": {
|
|
191
|
+
"description": "show the current branch",
|
|
192
|
+
"name": "show",
|
|
193
|
+
"required": false,
|
|
194
|
+
"allowNo": false,
|
|
195
|
+
"type": "boolean"
|
|
189
196
|
}
|
|
190
197
|
},
|
|
191
198
|
"hasDynamicHelp": false,
|
|
@@ -391,6 +398,14 @@
|
|
|
391
398
|
"hasDynamicHelp": false,
|
|
392
399
|
"multiple": false,
|
|
393
400
|
"type": "option"
|
|
401
|
+
},
|
|
402
|
+
"amend": {
|
|
403
|
+
"char": "a",
|
|
404
|
+
"description": "amend an existing application",
|
|
405
|
+
"name": "amend",
|
|
406
|
+
"required": false,
|
|
407
|
+
"allowNo": false,
|
|
408
|
+
"type": "boolean"
|
|
394
409
|
}
|
|
395
410
|
},
|
|
396
411
|
"hasDynamicHelp": false,
|
|
@@ -674,6 +689,72 @@
|
|
|
674
689
|
"list.js"
|
|
675
690
|
]
|
|
676
691
|
},
|
|
692
|
+
"build:sandbox": {
|
|
693
|
+
"aliases": [],
|
|
694
|
+
"args": {
|
|
695
|
+
"versionId": {
|
|
696
|
+
"description": "version to sandbox",
|
|
697
|
+
"name": "versionId",
|
|
698
|
+
"required": false
|
|
699
|
+
}
|
|
700
|
+
},
|
|
701
|
+
"description": "mark a version as sandboxed in the Raindrop catalog",
|
|
702
|
+
"examples": [
|
|
703
|
+
"<%= config.bin %> <%= command.id %>\n"
|
|
704
|
+
],
|
|
705
|
+
"flags": {
|
|
706
|
+
"impersonate": {
|
|
707
|
+
"char": "i",
|
|
708
|
+
"description": "impersonate organization",
|
|
709
|
+
"hidden": true,
|
|
710
|
+
"name": "impersonate",
|
|
711
|
+
"required": false,
|
|
712
|
+
"hasDynamicHelp": false,
|
|
713
|
+
"multiple": false,
|
|
714
|
+
"type": "option"
|
|
715
|
+
},
|
|
716
|
+
"rainbowAuthService": {
|
|
717
|
+
"env": "LIQUIDMETAL_RAINBOW_AUTH_SERVICE",
|
|
718
|
+
"hidden": true,
|
|
719
|
+
"name": "rainbowAuthService",
|
|
720
|
+
"default": "https://liquidmetal.run/api/connect",
|
|
721
|
+
"hasDynamicHelp": false,
|
|
722
|
+
"multiple": false,
|
|
723
|
+
"type": "option"
|
|
724
|
+
},
|
|
725
|
+
"config": {
|
|
726
|
+
"hidden": true,
|
|
727
|
+
"name": "config",
|
|
728
|
+
"default": ".raindrop/config.json",
|
|
729
|
+
"hasDynamicHelp": false,
|
|
730
|
+
"multiple": false,
|
|
731
|
+
"type": "option"
|
|
732
|
+
},
|
|
733
|
+
"manifest": {
|
|
734
|
+
"description": "project manifest",
|
|
735
|
+
"name": "manifest",
|
|
736
|
+
"default": "raindrop.manifest",
|
|
737
|
+
"hasDynamicHelp": false,
|
|
738
|
+
"multiple": false,
|
|
739
|
+
"type": "option"
|
|
740
|
+
}
|
|
741
|
+
},
|
|
742
|
+
"hasDynamicHelp": false,
|
|
743
|
+
"hiddenAliases": [],
|
|
744
|
+
"id": "build:sandbox",
|
|
745
|
+
"pluginAlias": "@liquidmetal-ai/raindrop",
|
|
746
|
+
"pluginName": "@liquidmetal-ai/raindrop",
|
|
747
|
+
"pluginType": "core",
|
|
748
|
+
"strict": true,
|
|
749
|
+
"enableJsonFlag": false,
|
|
750
|
+
"isESM": true,
|
|
751
|
+
"relativePath": [
|
|
752
|
+
"dist",
|
|
753
|
+
"commands",
|
|
754
|
+
"build",
|
|
755
|
+
"sandbox.js"
|
|
756
|
+
]
|
|
757
|
+
},
|
|
677
758
|
"build:start": {
|
|
678
759
|
"aliases": [],
|
|
679
760
|
"args": {},
|
|
@@ -848,6 +929,72 @@
|
|
|
848
929
|
"token.js"
|
|
849
930
|
]
|
|
850
931
|
},
|
|
932
|
+
"build:unsandbox": {
|
|
933
|
+
"aliases": [],
|
|
934
|
+
"args": {
|
|
935
|
+
"versionId": {
|
|
936
|
+
"description": "version to sandbox",
|
|
937
|
+
"name": "versionId",
|
|
938
|
+
"required": false
|
|
939
|
+
}
|
|
940
|
+
},
|
|
941
|
+
"description": "mark a version as unsandboxed in the Raindrop catalog",
|
|
942
|
+
"examples": [
|
|
943
|
+
"<%= config.bin %> <%= command.id %>\n"
|
|
944
|
+
],
|
|
945
|
+
"flags": {
|
|
946
|
+
"impersonate": {
|
|
947
|
+
"char": "i",
|
|
948
|
+
"description": "impersonate organization",
|
|
949
|
+
"hidden": true,
|
|
950
|
+
"name": "impersonate",
|
|
951
|
+
"required": false,
|
|
952
|
+
"hasDynamicHelp": false,
|
|
953
|
+
"multiple": false,
|
|
954
|
+
"type": "option"
|
|
955
|
+
},
|
|
956
|
+
"rainbowAuthService": {
|
|
957
|
+
"env": "LIQUIDMETAL_RAINBOW_AUTH_SERVICE",
|
|
958
|
+
"hidden": true,
|
|
959
|
+
"name": "rainbowAuthService",
|
|
960
|
+
"default": "https://liquidmetal.run/api/connect",
|
|
961
|
+
"hasDynamicHelp": false,
|
|
962
|
+
"multiple": false,
|
|
963
|
+
"type": "option"
|
|
964
|
+
},
|
|
965
|
+
"config": {
|
|
966
|
+
"hidden": true,
|
|
967
|
+
"name": "config",
|
|
968
|
+
"default": ".raindrop/config.json",
|
|
969
|
+
"hasDynamicHelp": false,
|
|
970
|
+
"multiple": false,
|
|
971
|
+
"type": "option"
|
|
972
|
+
},
|
|
973
|
+
"manifest": {
|
|
974
|
+
"description": "project manifest",
|
|
975
|
+
"name": "manifest",
|
|
976
|
+
"default": "raindrop.manifest",
|
|
977
|
+
"hasDynamicHelp": false,
|
|
978
|
+
"multiple": false,
|
|
979
|
+
"type": "option"
|
|
980
|
+
}
|
|
981
|
+
},
|
|
982
|
+
"hasDynamicHelp": false,
|
|
983
|
+
"hiddenAliases": [],
|
|
984
|
+
"id": "build:unsandbox",
|
|
985
|
+
"pluginAlias": "@liquidmetal-ai/raindrop",
|
|
986
|
+
"pluginName": "@liquidmetal-ai/raindrop",
|
|
987
|
+
"pluginType": "core",
|
|
988
|
+
"strict": true,
|
|
989
|
+
"enableJsonFlag": false,
|
|
990
|
+
"isESM": true,
|
|
991
|
+
"relativePath": [
|
|
992
|
+
"dist",
|
|
993
|
+
"commands",
|
|
994
|
+
"build",
|
|
995
|
+
"unsandbox.js"
|
|
996
|
+
]
|
|
997
|
+
},
|
|
851
998
|
"build:upload": {
|
|
852
999
|
"aliases": [],
|
|
853
1000
|
"args": {},
|
|
@@ -1202,7 +1349,99 @@
|
|
|
1202
1349
|
"env",
|
|
1203
1350
|
"set.js"
|
|
1204
1351
|
]
|
|
1352
|
+
},
|
|
1353
|
+
"build:tools:check": {
|
|
1354
|
+
"aliases": [],
|
|
1355
|
+
"args": {},
|
|
1356
|
+
"description": "validate a LiquidMetal.AI raindrop.manifest",
|
|
1357
|
+
"examples": [
|
|
1358
|
+
"<%= config.bin %> <%= command.id %>"
|
|
1359
|
+
],
|
|
1360
|
+
"flags": {
|
|
1361
|
+
"root": {
|
|
1362
|
+
"char": "r",
|
|
1363
|
+
"description": "root directory",
|
|
1364
|
+
"name": "root",
|
|
1365
|
+
"required": false,
|
|
1366
|
+
"default": "/Users/ian/liquidmetal/packages/raindrop",
|
|
1367
|
+
"hasDynamicHelp": false,
|
|
1368
|
+
"multiple": false,
|
|
1369
|
+
"type": "option"
|
|
1370
|
+
},
|
|
1371
|
+
"manifest": {
|
|
1372
|
+
"char": "m",
|
|
1373
|
+
"description": "project manifest",
|
|
1374
|
+
"name": "manifest",
|
|
1375
|
+
"required": false,
|
|
1376
|
+
"default": "raindrop.manifest",
|
|
1377
|
+
"hasDynamicHelp": false,
|
|
1378
|
+
"multiple": false,
|
|
1379
|
+
"type": "option"
|
|
1380
|
+
}
|
|
1381
|
+
},
|
|
1382
|
+
"hasDynamicHelp": false,
|
|
1383
|
+
"hiddenAliases": [],
|
|
1384
|
+
"id": "build:tools:check",
|
|
1385
|
+
"pluginAlias": "@liquidmetal-ai/raindrop",
|
|
1386
|
+
"pluginName": "@liquidmetal-ai/raindrop",
|
|
1387
|
+
"pluginType": "core",
|
|
1388
|
+
"strict": true,
|
|
1389
|
+
"enableJsonFlag": false,
|
|
1390
|
+
"isESM": true,
|
|
1391
|
+
"relativePath": [
|
|
1392
|
+
"dist",
|
|
1393
|
+
"commands",
|
|
1394
|
+
"build",
|
|
1395
|
+
"tools",
|
|
1396
|
+
"check.js"
|
|
1397
|
+
]
|
|
1398
|
+
},
|
|
1399
|
+
"build:tools:fmt": {
|
|
1400
|
+
"aliases": [],
|
|
1401
|
+
"args": {},
|
|
1402
|
+
"description": "format a LiquidMetal.AI raindrop.manifest",
|
|
1403
|
+
"examples": [
|
|
1404
|
+
"<%= config.bin %> <%= command.id %>"
|
|
1405
|
+
],
|
|
1406
|
+
"flags": {
|
|
1407
|
+
"root": {
|
|
1408
|
+
"char": "r",
|
|
1409
|
+
"description": "root directory",
|
|
1410
|
+
"name": "root",
|
|
1411
|
+
"required": false,
|
|
1412
|
+
"default": "/Users/ian/liquidmetal/packages/raindrop",
|
|
1413
|
+
"hasDynamicHelp": false,
|
|
1414
|
+
"multiple": false,
|
|
1415
|
+
"type": "option"
|
|
1416
|
+
},
|
|
1417
|
+
"manifest": {
|
|
1418
|
+
"char": "m",
|
|
1419
|
+
"description": "project manifest",
|
|
1420
|
+
"name": "manifest",
|
|
1421
|
+
"required": false,
|
|
1422
|
+
"default": "raindrop.manifest",
|
|
1423
|
+
"hasDynamicHelp": false,
|
|
1424
|
+
"multiple": false,
|
|
1425
|
+
"type": "option"
|
|
1426
|
+
}
|
|
1427
|
+
},
|
|
1428
|
+
"hasDynamicHelp": false,
|
|
1429
|
+
"hiddenAliases": [],
|
|
1430
|
+
"id": "build:tools:fmt",
|
|
1431
|
+
"pluginAlias": "@liquidmetal-ai/raindrop",
|
|
1432
|
+
"pluginName": "@liquidmetal-ai/raindrop",
|
|
1433
|
+
"pluginType": "core",
|
|
1434
|
+
"strict": true,
|
|
1435
|
+
"enableJsonFlag": false,
|
|
1436
|
+
"isESM": true,
|
|
1437
|
+
"relativePath": [
|
|
1438
|
+
"dist",
|
|
1439
|
+
"commands",
|
|
1440
|
+
"build",
|
|
1441
|
+
"tools",
|
|
1442
|
+
"fmt.js"
|
|
1443
|
+
]
|
|
1205
1444
|
}
|
|
1206
1445
|
},
|
|
1207
|
-
"version": "0.0.
|
|
1446
|
+
"version": "0.0.4"
|
|
1208
1447
|
}
|