@liquidmetal-ai/raindrop 0.3.3 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -32
- package/dist/base-command.d.ts.map +1 -1
- package/dist/base-command.js +3 -0
- package/dist/commands/build/start.d.ts.map +1 -1
- package/dist/commands/build/start.js +4 -1
- package/dist/commands/build/stop.d.ts.map +1 -1
- package/dist/commands/build/stop.js +4 -1
- package/dist/index.d.ts +10 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -7
- package/oclif.manifest.json +118 -118
- package/package.json +3 -2
- package/templates/db/prisma/schema.prisma.hbs +0 -28
- package/templates/db/scripts/seed.ts.hbs +7 -156
- package/templates/init/package.json.hbs +2 -2
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ $ npm install -g @liquidmetal-ai/raindrop
|
|
|
20
20
|
$ raindrop COMMAND
|
|
21
21
|
running command...
|
|
22
22
|
$ raindrop (--version)
|
|
23
|
-
@liquidmetal-ai/raindrop/0.3.
|
|
23
|
+
@liquidmetal-ai/raindrop/0.3.5 darwin-arm64 node-v23.10.0
|
|
24
24
|
$ raindrop --help [COMMAND]
|
|
25
25
|
USAGE
|
|
26
26
|
$ raindrop COMMAND
|
|
@@ -90,7 +90,7 @@ DESCRIPTION
|
|
|
90
90
|
List authentications
|
|
91
91
|
```
|
|
92
92
|
|
|
93
|
-
_See code: [src/commands/auth/list.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
93
|
+
_See code: [src/commands/auth/list.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/auth/list.ts)_
|
|
94
94
|
|
|
95
95
|
## `raindrop auth login`
|
|
96
96
|
|
|
@@ -104,7 +104,7 @@ DESCRIPTION
|
|
|
104
104
|
Logs a user into the LiquidMetal platform. Supports browser-based authentication.
|
|
105
105
|
```
|
|
106
106
|
|
|
107
|
-
_See code: [src/commands/auth/login.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
107
|
+
_See code: [src/commands/auth/login.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/auth/login.ts)_
|
|
108
108
|
|
|
109
109
|
## `raindrop auth logout`
|
|
110
110
|
|
|
@@ -118,7 +118,7 @@ DESCRIPTION
|
|
|
118
118
|
Logout authentications
|
|
119
119
|
```
|
|
120
120
|
|
|
121
|
-
_See code: [src/commands/auth/logout.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
121
|
+
_See code: [src/commands/auth/logout.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/auth/logout.ts)_
|
|
122
122
|
|
|
123
123
|
## `raindrop auth select`
|
|
124
124
|
|
|
@@ -135,7 +135,7 @@ DESCRIPTION
|
|
|
135
135
|
Select active organization
|
|
136
136
|
```
|
|
137
137
|
|
|
138
|
-
_See code: [src/commands/auth/select.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
138
|
+
_See code: [src/commands/auth/select.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/auth/select.ts)_
|
|
139
139
|
|
|
140
140
|
## `raindrop build branch BRANCH`
|
|
141
141
|
|
|
@@ -164,7 +164,7 @@ EXAMPLES
|
|
|
164
164
|
Branch a Raindrop application.
|
|
165
165
|
```
|
|
166
166
|
|
|
167
|
-
_See code: [src/commands/build/branch.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
167
|
+
_See code: [src/commands/build/branch.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/branch.ts)_
|
|
168
168
|
|
|
169
169
|
## `raindrop build checkout [VERSION]`
|
|
170
170
|
|
|
@@ -190,7 +190,7 @@ EXAMPLES
|
|
|
190
190
|
Switched to version: 01jux6z20m4gbhn5kaa4mcm2jr
|
|
191
191
|
```
|
|
192
192
|
|
|
193
|
-
_See code: [src/commands/build/checkout.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
193
|
+
_See code: [src/commands/build/checkout.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/checkout.ts)_
|
|
194
194
|
|
|
195
195
|
## `raindrop build clone ID [PATH]`
|
|
196
196
|
|
|
@@ -218,7 +218,7 @@ EXAMPLES
|
|
|
218
218
|
Clone a project in the specified directory.
|
|
219
219
|
```
|
|
220
220
|
|
|
221
|
-
_See code: [src/commands/build/clone.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
221
|
+
_See code: [src/commands/build/clone.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/clone.ts)_
|
|
222
222
|
|
|
223
223
|
## `raindrop build delete [APPLICATION]`
|
|
224
224
|
|
|
@@ -247,7 +247,7 @@ EXAMPLES
|
|
|
247
247
|
Deleted (application) at version (version)
|
|
248
248
|
```
|
|
249
249
|
|
|
250
|
-
_See code: [src/commands/build/delete.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
250
|
+
_See code: [src/commands/build/delete.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/delete.ts)_
|
|
251
251
|
|
|
252
252
|
## `raindrop build deploy`
|
|
253
253
|
|
|
@@ -275,7 +275,7 @@ EXAMPLES
|
|
|
275
275
|
Deploy a Raindrop application version.
|
|
276
276
|
```
|
|
277
277
|
|
|
278
|
-
_See code: [src/commands/build/deploy.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
278
|
+
_See code: [src/commands/build/deploy.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/deploy.ts)_
|
|
279
279
|
|
|
280
280
|
## `raindrop build env get VAR`
|
|
281
281
|
|
|
@@ -302,7 +302,7 @@ EXAMPLES
|
|
|
302
302
|
sets an env var/secret.
|
|
303
303
|
```
|
|
304
304
|
|
|
305
|
-
_See code: [src/commands/build/env/get.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
305
|
+
_See code: [src/commands/build/env/get.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/env/get.ts)_
|
|
306
306
|
|
|
307
307
|
## `raindrop build env set VAR [VALUE]`
|
|
308
308
|
|
|
@@ -331,7 +331,7 @@ EXAMPLES
|
|
|
331
331
|
sets an env var/secret.
|
|
332
332
|
```
|
|
333
333
|
|
|
334
|
-
_See code: [src/commands/build/env/set.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
334
|
+
_See code: [src/commands/build/env/set.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/env/set.ts)_
|
|
335
335
|
|
|
336
336
|
## `raindrop build find`
|
|
337
337
|
|
|
@@ -359,7 +359,7 @@ EXAMPLES
|
|
|
359
359
|
$ raindrop build find .
|
|
360
360
|
```
|
|
361
361
|
|
|
362
|
-
_See code: [src/commands/build/find.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
362
|
+
_See code: [src/commands/build/find.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/find.ts)_
|
|
363
363
|
|
|
364
364
|
## `raindrop build generate`
|
|
365
365
|
|
|
@@ -381,7 +381,7 @@ EXAMPLES
|
|
|
381
381
|
$ raindrop build generate
|
|
382
382
|
```
|
|
383
383
|
|
|
384
|
-
_See code: [src/commands/build/generate.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
384
|
+
_See code: [src/commands/build/generate.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/generate.ts)_
|
|
385
385
|
|
|
386
386
|
## `raindrop build init [PATH]`
|
|
387
387
|
|
|
@@ -405,7 +405,7 @@ EXAMPLES
|
|
|
405
405
|
Initialize a project in the current directory.
|
|
406
406
|
```
|
|
407
407
|
|
|
408
|
-
_See code: [src/commands/build/init.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
408
|
+
_See code: [src/commands/build/init.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/init.ts)_
|
|
409
409
|
|
|
410
410
|
## `raindrop build list`
|
|
411
411
|
|
|
@@ -428,7 +428,7 @@ EXAMPLES
|
|
|
428
428
|
List Raindrop catalog resources.
|
|
429
429
|
```
|
|
430
430
|
|
|
431
|
-
_See code: [src/commands/build/list.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
431
|
+
_See code: [src/commands/build/list.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/list.ts)_
|
|
432
432
|
|
|
433
433
|
## `raindrop build sandbox`
|
|
434
434
|
|
|
@@ -449,7 +449,7 @@ EXAMPLES
|
|
|
449
449
|
$ raindrop build sandbox
|
|
450
450
|
```
|
|
451
451
|
|
|
452
|
-
_See code: [src/commands/build/sandbox.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
452
|
+
_See code: [src/commands/build/sandbox.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/sandbox.ts)_
|
|
453
453
|
|
|
454
454
|
## `raindrop build start`
|
|
455
455
|
|
|
@@ -473,7 +473,7 @@ EXAMPLES
|
|
|
473
473
|
Start a Raindrop application.
|
|
474
474
|
```
|
|
475
475
|
|
|
476
|
-
_See code: [src/commands/build/start.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
476
|
+
_See code: [src/commands/build/start.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/start.ts)_
|
|
477
477
|
|
|
478
478
|
## `raindrop build status`
|
|
479
479
|
|
|
@@ -498,7 +498,7 @@ EXAMPLES
|
|
|
498
498
|
$ raindrop build status .
|
|
499
499
|
```
|
|
500
500
|
|
|
501
|
-
_See code: [src/commands/build/status.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
501
|
+
_See code: [src/commands/build/status.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/status.ts)_
|
|
502
502
|
|
|
503
503
|
## `raindrop build stop`
|
|
504
504
|
|
|
@@ -522,7 +522,7 @@ EXAMPLES
|
|
|
522
522
|
Stop a Raindrop application.
|
|
523
523
|
```
|
|
524
524
|
|
|
525
|
-
_See code: [src/commands/build/stop.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
525
|
+
_See code: [src/commands/build/stop.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/stop.ts)_
|
|
526
526
|
|
|
527
527
|
## `raindrop build tools check`
|
|
528
528
|
|
|
@@ -543,7 +543,7 @@ EXAMPLES
|
|
|
543
543
|
$ raindrop build tools check
|
|
544
544
|
```
|
|
545
545
|
|
|
546
|
-
_See code: [src/commands/build/tools/check.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
546
|
+
_See code: [src/commands/build/tools/check.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/tools/check.ts)_
|
|
547
547
|
|
|
548
548
|
## `raindrop build tools fmt`
|
|
549
549
|
|
|
@@ -564,7 +564,7 @@ EXAMPLES
|
|
|
564
564
|
$ raindrop build tools fmt
|
|
565
565
|
```
|
|
566
566
|
|
|
567
|
-
_See code: [src/commands/build/tools/fmt.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
567
|
+
_See code: [src/commands/build/tools/fmt.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/tools/fmt.ts)_
|
|
568
568
|
|
|
569
569
|
## `raindrop build unsandbox`
|
|
570
570
|
|
|
@@ -585,7 +585,7 @@ EXAMPLES
|
|
|
585
585
|
$ raindrop build unsandbox
|
|
586
586
|
```
|
|
587
587
|
|
|
588
|
-
_See code: [src/commands/build/unsandbox.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
588
|
+
_See code: [src/commands/build/unsandbox.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/unsandbox.ts)_
|
|
589
589
|
|
|
590
590
|
## `raindrop build upload`
|
|
591
591
|
|
|
@@ -608,7 +608,7 @@ EXAMPLES
|
|
|
608
608
|
$ raindrop build upload
|
|
609
609
|
```
|
|
610
610
|
|
|
611
|
-
_See code: [src/commands/build/upload.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
611
|
+
_See code: [src/commands/build/upload.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/upload.ts)_
|
|
612
612
|
|
|
613
613
|
## `raindrop build validate`
|
|
614
614
|
|
|
@@ -630,7 +630,7 @@ EXAMPLES
|
|
|
630
630
|
$ raindrop build validate
|
|
631
631
|
```
|
|
632
632
|
|
|
633
|
-
_See code: [src/commands/build/validate.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
633
|
+
_See code: [src/commands/build/validate.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/build/validate.ts)_
|
|
634
634
|
|
|
635
635
|
## `raindrop help [COMMAND]`
|
|
636
636
|
|
|
@@ -676,7 +676,7 @@ EXAMPLES
|
|
|
676
676
|
Delete file with key 'my-key' from my-bucket
|
|
677
677
|
```
|
|
678
678
|
|
|
679
|
-
_See code: [src/commands/object/delete.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
679
|
+
_See code: [src/commands/object/delete.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/object/delete.ts)_
|
|
680
680
|
|
|
681
681
|
## `raindrop object get KEY [OUTPUT]`
|
|
682
682
|
|
|
@@ -706,7 +706,7 @@ EXAMPLES
|
|
|
706
706
|
Download file with key 'my-key' from my-bucket to output.txt
|
|
707
707
|
```
|
|
708
708
|
|
|
709
|
-
_See code: [src/commands/object/get.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
709
|
+
_See code: [src/commands/object/get.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/object/get.ts)_
|
|
710
710
|
|
|
711
711
|
## `raindrop object list`
|
|
712
712
|
|
|
@@ -729,7 +729,7 @@ EXAMPLES
|
|
|
729
729
|
List all objects in my-bucket
|
|
730
730
|
```
|
|
731
731
|
|
|
732
|
-
_See code: [src/commands/object/list.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
732
|
+
_See code: [src/commands/object/list.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/object/list.ts)_
|
|
733
733
|
|
|
734
734
|
## `raindrop object put FILE KEY`
|
|
735
735
|
|
|
@@ -757,7 +757,7 @@ EXAMPLES
|
|
|
757
757
|
Upload myfile.txt to my-bucket with key 'my-key'
|
|
758
758
|
```
|
|
759
759
|
|
|
760
|
-
_See code: [src/commands/object/put.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
760
|
+
_See code: [src/commands/object/put.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/object/put.ts)_
|
|
761
761
|
|
|
762
762
|
## `raindrop plugins`
|
|
763
763
|
|
|
@@ -1072,7 +1072,7 @@ EXAMPLES
|
|
|
1072
1072
|
Run a RAG search query against a Smart Bucket.
|
|
1073
1073
|
```
|
|
1074
1074
|
|
|
1075
|
-
_See code: [src/commands/query/chunk-search.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
1075
|
+
_See code: [src/commands/query/chunk-search.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/query/chunk-search.ts)_
|
|
1076
1076
|
|
|
1077
1077
|
## `raindrop query search [QUERY]`
|
|
1078
1078
|
|
|
@@ -1103,7 +1103,7 @@ EXAMPLES
|
|
|
1103
1103
|
Get page 2 of previous search results.
|
|
1104
1104
|
```
|
|
1105
1105
|
|
|
1106
|
-
_See code: [src/commands/query/search.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
1106
|
+
_See code: [src/commands/query/search.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/query/search.ts)_
|
|
1107
1107
|
|
|
1108
1108
|
## `raindrop tail`
|
|
1109
1109
|
|
|
@@ -1117,5 +1117,5 @@ DESCRIPTION
|
|
|
1117
1117
|
tail logs of applications deployed
|
|
1118
1118
|
```
|
|
1119
1119
|
|
|
1120
|
-
_See code: [src/commands/tail.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.
|
|
1120
|
+
_See code: [src/commands/tail.ts](https://github.com/liquidmetal-ai/liquidmetal/blob/v0.3.5/src/commands/tail.ts)_
|
|
1121
1121
|
<!-- commandsstop -->
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-command.d.ts","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,yDAAyD,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,wDAAwD,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8DAA8D,CAAC;AAClG,OAAO,EAAE,kBAAkB,EAAE,MAAM,8DAA8D,CAAC;AAGlG,OAAO,EAAE,OAAO,EAAS,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAE,MAAM,EAA0B,MAAM,aAAa,CAAC;AAC7D,OAAO,EAML,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,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,YAAY;;;;;;;MAiCjB;IAEF,MAAM,CAAC,SAAS,KAAM;IACtB,MAAM,CAAC,QAAQ,KAAM;IAErB,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;IAIrD,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAK7B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAuB5C,SAAS,CAAC,SAAS,IAAI,MAAM;cAIb,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC;IA6BrD,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAChD,MAAM,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC;QAC5C,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;
|
|
1
|
+
{"version":3,"file":"base-command.d.ts","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,yDAAyD,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,wDAAwD,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8DAA8D,CAAC;AAClG,OAAO,EAAE,kBAAkB,EAAE,MAAM,8DAA8D,CAAC;AAGlG,OAAO,EAAE,OAAO,EAAS,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAE,MAAM,EAA0B,MAAM,aAAa,CAAC;AAC7D,OAAO,EAML,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,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,YAAY;;;;;;;MAiCjB;IAEF,MAAM,CAAC,SAAS,KAAM;IACtB,MAAM,CAAC,QAAQ,KAAM;IAErB,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;IAIrD,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAK7B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAuB5C,SAAS,CAAC,SAAS,IAAI,MAAM;cAIb,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC;IA6BrD,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAChD,MAAM,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC;QAC5C,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;cAcc,kBAAkB,IAAI,OAAO,CAAC;QAC5C,MAAM,EAAE,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;QAChD,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;cAac,aAAa,IAAI,OAAO,CAAC;QACvC,MAAM,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC;QAC3C,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;cAkBc,kBAAkB,IAAI,OAAO,CAAC;QAC5C,MAAM,EAAE,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;KACjD,CAAC;IAMI,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC;IAWjD,GAAG,CAAC,OAAO,GAAE,MAAW,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;CAGhD"}
|
package/dist/base-command.js
CHANGED
|
@@ -132,6 +132,7 @@ export class BaseCommand extends Command {
|
|
|
132
132
|
configDir: configDir ?? this.config.configDir,
|
|
133
133
|
identity: await this.catalogIdentity(),
|
|
134
134
|
overrideAuthToken: this.flags.rainbowAuthToken,
|
|
135
|
+
logger: this,
|
|
135
136
|
});
|
|
136
137
|
}
|
|
137
138
|
async searchAgentService() {
|
|
@@ -140,6 +141,7 @@ export class BaseCommand extends Command {
|
|
|
140
141
|
rainbowAuth,
|
|
141
142
|
configDir: this.config.configDir,
|
|
142
143
|
identity: await this.catalogIdentity(),
|
|
144
|
+
logger: this,
|
|
143
145
|
});
|
|
144
146
|
return result;
|
|
145
147
|
}
|
|
@@ -154,6 +156,7 @@ export class BaseCommand extends Command {
|
|
|
154
156
|
...identity,
|
|
155
157
|
baseUrl,
|
|
156
158
|
},
|
|
159
|
+
logger: this,
|
|
157
160
|
});
|
|
158
161
|
return result;
|
|
159
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/commands/build/start.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW,CAAC,OAAO,KAAK,CAAC;IAC1D,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAAkC;IAEpD,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;MAyBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/commands/build/start.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW,CAAC,OAAO,KAAK,CAAC;IAC1D,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAAkC;IAEpD,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;MAyBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAiC3B"}
|
|
@@ -52,13 +52,16 @@ Start a Raindrop application.
|
|
|
52
52
|
applicationName = valueOf(app.name);
|
|
53
53
|
}
|
|
54
54
|
const currentVersionId = this.flags.version ?? config.versionId;
|
|
55
|
+
if (!currentVersionId) {
|
|
56
|
+
this.error('Expected a --version flag to be provided when a version is not currently set');
|
|
57
|
+
}
|
|
55
58
|
await catalogService.setActive({
|
|
56
59
|
userId,
|
|
57
60
|
organizationId,
|
|
58
61
|
applications: [
|
|
59
62
|
{
|
|
60
63
|
applicationName,
|
|
61
|
-
currentVersionId
|
|
64
|
+
currentVersionId,
|
|
62
65
|
isActive: true,
|
|
63
66
|
},
|
|
64
67
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/commands/build/stop.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW,CAAC,OAAO,IAAI,CAAC;IACxD,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAAiC;IAEnD,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;MAyBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/commands/build/stop.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW,CAAC,OAAO,IAAI,CAAC;IACxD,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAAiC;IAEnD,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;MAyBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAiC3B"}
|
|
@@ -51,7 +51,10 @@ Stop a Raindrop application.
|
|
|
51
51
|
}
|
|
52
52
|
applicationName = valueOf(app.name);
|
|
53
53
|
}
|
|
54
|
-
const currentVersionId = this.
|
|
54
|
+
const currentVersionId = this.flags.version ?? config.versionId;
|
|
55
|
+
if (!currentVersionId) {
|
|
56
|
+
this.error('Expected a --version flag to be provided when a version is not currently set');
|
|
57
|
+
}
|
|
55
58
|
await catalogService.setActive({
|
|
56
59
|
userId,
|
|
57
60
|
organizationId,
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { type DescService } from '@bufbuild/protobuf';
|
|
2
2
|
import { type Interceptor } from '@connectrpc/connect';
|
|
3
|
-
import { StrictClient } from './strict-client.js';
|
|
4
3
|
import { Application } from '@liquidmetal-ai/drizzle/appify/build';
|
|
5
4
|
import { CatalogService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/catalog_pb';
|
|
5
|
+
import { ObjectService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/object_pb';
|
|
6
6
|
import { RainbowAuthService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/rainbow_auth_pb';
|
|
7
7
|
import { type RaindropState } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/raindrop_pb';
|
|
8
|
-
import { ObjectService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/object_pb';
|
|
9
8
|
import { SearchAgentService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/search_agent_pb';
|
|
9
|
+
import { StrictClient } from './strict-client.js';
|
|
10
10
|
export { run } from '@oclif/core';
|
|
11
11
|
export declare const EPOCH_TS: import("@bufbuild/protobuf/wkt").Timestamp;
|
|
12
12
|
export declare function configFromAppFile(appFile: string): Promise<Application[]>;
|
|
@@ -21,6 +21,9 @@ export declare function createAuthenticateInterceptor(configDir: string, rainbow
|
|
|
21
21
|
authenticate: Interceptor;
|
|
22
22
|
};
|
|
23
23
|
export declare function createTraceInterceptor(): Interceptor;
|
|
24
|
+
export declare function versionInterceptor(logger?: {
|
|
25
|
+
warn: (input: Error | string) => void;
|
|
26
|
+
}): Interceptor;
|
|
24
27
|
export declare function readState(configDir: string): Promise<RaindropState>;
|
|
25
28
|
export declare function replaceState(configDir: string, state: RaindropState): Promise<void>;
|
|
26
29
|
export declare function ensureDirectory(dir: string): Promise<void>;
|
|
@@ -35,13 +38,17 @@ export type ServiceClientOptions = {
|
|
|
35
38
|
configDir: string;
|
|
36
39
|
identity: ServiceIdentity;
|
|
37
40
|
overrideAuthToken?: string;
|
|
41
|
+
logger?: {
|
|
42
|
+
warn(input: Error | string): void;
|
|
43
|
+
error(input: Error | string): void;
|
|
44
|
+
};
|
|
38
45
|
};
|
|
39
46
|
export type ServiceClient<T extends DescService> = {
|
|
40
47
|
client: StrictClient<T>;
|
|
41
48
|
userId: string;
|
|
42
49
|
organizationId: string;
|
|
43
50
|
};
|
|
44
|
-
export declare function serviceClient<T extends DescService>(service: T, { rainbowAuth, configDir, identity, overrideAuthToken }: ServiceClientOptions): Promise<ServiceClient<T>>;
|
|
51
|
+
export declare function serviceClient<T extends DescService>(service: T, { rainbowAuth, configDir, identity, overrideAuthToken, logger }: ServiceClientOptions): Promise<ServiceClient<T>>;
|
|
45
52
|
/**
|
|
46
53
|
* Gets the current version of the raindrop package
|
|
47
54
|
* @returns The package version string or 'unknown' if it cannot be determined
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE5F,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import { create,
|
|
1
|
+
import { create, fromJsonString, toJsonString } from '@bufbuild/protobuf';
|
|
2
2
|
import { timestampDate, timestampFromDate } from '@bufbuild/protobuf/wkt';
|
|
3
|
-
import { createStrictClient } from './strict-client.js';
|
|
4
3
|
import { createConnectTransport } from '@connectrpc/connect-web';
|
|
5
|
-
import { fileURLToPath } from 'node:url';
|
|
6
4
|
import { mustManifestFromString } from '@liquidmetal-ai/drizzle/appify/index';
|
|
7
5
|
import { CatalogService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/catalog_pb';
|
|
6
|
+
import { ObjectService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/object_pb';
|
|
8
7
|
import { RainbowAuthService, RefreshAccessTokenRequestSchema, } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/rainbow_auth_pb';
|
|
9
8
|
import { RaindropStateSchema } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/raindrop_pb';
|
|
10
|
-
import { ObjectService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/object_pb';
|
|
11
9
|
import { SearchAgentService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/search_agent_pb';
|
|
10
|
+
import { RAINDROP_CLI_VERSION_HEADER, RAINDROP_SERVICE_VERSION_HEADER } from '@liquidmetal-ai/drizzle/raindrop/index';
|
|
12
11
|
import { Mutex } from 'async-mutex';
|
|
13
|
-
import {
|
|
12
|
+
import { isAfter, subSeconds } from 'date-fns';
|
|
14
13
|
import * as fs from 'node:fs/promises';
|
|
15
14
|
import * as path from 'node:path';
|
|
15
|
+
import { fileURLToPath } from 'node:url';
|
|
16
|
+
import semver from 'semver';
|
|
17
|
+
import { createStrictClient } from './strict-client.js';
|
|
16
18
|
import { traceStore } from './trace.js';
|
|
17
19
|
export { run } from '@oclif/core';
|
|
18
20
|
export const EPOCH_TS = timestampFromDate(new Date(0));
|
|
@@ -119,6 +121,21 @@ export function createTraceInterceptor() {
|
|
|
119
121
|
});
|
|
120
122
|
};
|
|
121
123
|
}
|
|
124
|
+
// Creates an interceptor that adds the current CLI version to request headers
|
|
125
|
+
export function versionInterceptor(logger) {
|
|
126
|
+
return (next) => async (req) => {
|
|
127
|
+
const version = await getCurrentVersion();
|
|
128
|
+
req.header.set(RAINDROP_CLI_VERSION_HEADER, version);
|
|
129
|
+
const response = await next(req);
|
|
130
|
+
const raindropServiceVersion = response.header.get(RAINDROP_SERVICE_VERSION_HEADER) ?? '0.3.4';
|
|
131
|
+
if (semver.lt(version, raindropServiceVersion)) {
|
|
132
|
+
if (logger) {
|
|
133
|
+
logger.warn(`[WARN] A newer version of Raindrop is available. Please update raindrop with "npm install -g @liquidmetal-ai/raindrop@${raindropServiceVersion}"`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return response;
|
|
137
|
+
};
|
|
138
|
+
}
|
|
122
139
|
const configBasename = 'raindrop.json';
|
|
123
140
|
export async function readState(configDir) {
|
|
124
141
|
const filename = path.join(configDir, configBasename);
|
|
@@ -171,13 +188,13 @@ export async function searchAgentService(opts) {
|
|
|
171
188
|
export async function objectService(opts) {
|
|
172
189
|
return serviceClient(ObjectService, opts);
|
|
173
190
|
}
|
|
174
|
-
export async function serviceClient(service, { rainbowAuth, configDir, identity, overrideAuthToken }) {
|
|
191
|
+
export async function serviceClient(service, { rainbowAuth, configDir, identity, overrideAuthToken, logger }) {
|
|
175
192
|
const { baseUrl, organizationId, userId } = identity;
|
|
176
193
|
const { authenticate } = createAuthenticateInterceptor(configDir, rainbowAuth, overrideAuthToken);
|
|
177
194
|
return {
|
|
178
195
|
client: createStrictClient(service, createConnectTransport({
|
|
179
196
|
baseUrl,
|
|
180
|
-
interceptors: [authenticate, createTraceInterceptor()],
|
|
197
|
+
interceptors: [authenticate, versionInterceptor(logger), createTraceInterceptor()],
|
|
181
198
|
})),
|
|
182
199
|
userId,
|
|
183
200
|
organizationId,
|
package/oclif.manifest.json
CHANGED
|
@@ -3077,18 +3077,18 @@
|
|
|
3077
3077
|
"validate.js"
|
|
3078
3078
|
]
|
|
3079
3079
|
},
|
|
3080
|
-
"
|
|
3080
|
+
"query:chunk-search": {
|
|
3081
3081
|
"aliases": [],
|
|
3082
3082
|
"args": {
|
|
3083
|
-
"
|
|
3084
|
-
"description": "
|
|
3085
|
-
"name": "
|
|
3083
|
+
"query": {
|
|
3084
|
+
"description": "search query to run",
|
|
3085
|
+
"name": "query",
|
|
3086
3086
|
"required": true
|
|
3087
3087
|
}
|
|
3088
3088
|
},
|
|
3089
|
-
"description": "
|
|
3089
|
+
"description": "Run a RAG (Retrieval Augmented Generation) search query against a Smart Bucket",
|
|
3090
3090
|
"examples": [
|
|
3091
|
-
"<%= config.bin %>
|
|
3091
|
+
"<%= config.bin %> query chunk-search \"What is LiquidMetal?\"\nRun a RAG search query against a Smart Bucket.\n"
|
|
3092
3092
|
],
|
|
3093
3093
|
"flags": {
|
|
3094
3094
|
"config": {
|
|
@@ -3147,15 +3147,6 @@
|
|
|
3147
3147
|
"multiple": false,
|
|
3148
3148
|
"type": "option"
|
|
3149
3149
|
},
|
|
3150
|
-
"bucket": {
|
|
3151
|
-
"char": "b",
|
|
3152
|
-
"description": "bucket ID",
|
|
3153
|
-
"name": "bucket",
|
|
3154
|
-
"required": true,
|
|
3155
|
-
"hasDynamicHelp": false,
|
|
3156
|
-
"multiple": false,
|
|
3157
|
-
"type": "option"
|
|
3158
|
-
},
|
|
3159
3150
|
"output": {
|
|
3160
3151
|
"char": "o",
|
|
3161
3152
|
"description": "output format",
|
|
@@ -3193,7 +3184,7 @@
|
|
|
3193
3184
|
},
|
|
3194
3185
|
"hasDynamicHelp": false,
|
|
3195
3186
|
"hiddenAliases": [],
|
|
3196
|
-
"id": "
|
|
3187
|
+
"id": "query:chunk-search",
|
|
3197
3188
|
"pluginAlias": "@liquidmetal-ai/raindrop",
|
|
3198
3189
|
"pluginName": "@liquidmetal-ai/raindrop",
|
|
3199
3190
|
"pluginType": "core",
|
|
@@ -3256,28 +3247,23 @@
|
|
|
3256
3247
|
"relativePath": [
|
|
3257
3248
|
"dist",
|
|
3258
3249
|
"commands",
|
|
3259
|
-
"
|
|
3260
|
-
"
|
|
3250
|
+
"query",
|
|
3251
|
+
"chunk-search.js"
|
|
3261
3252
|
]
|
|
3262
3253
|
},
|
|
3263
|
-
"
|
|
3254
|
+
"query:search": {
|
|
3264
3255
|
"aliases": [],
|
|
3265
3256
|
"args": {
|
|
3266
|
-
"
|
|
3267
|
-
"description": "
|
|
3268
|
-
"name": "
|
|
3269
|
-
"required": true
|
|
3270
|
-
},
|
|
3271
|
-
"output": {
|
|
3272
|
-
"description": "output file (defaults to key basename)",
|
|
3273
|
-
"name": "output",
|
|
3257
|
+
"query": {
|
|
3258
|
+
"description": "search query",
|
|
3259
|
+
"name": "query",
|
|
3274
3260
|
"required": false
|
|
3275
3261
|
}
|
|
3276
3262
|
},
|
|
3277
|
-
"description": "
|
|
3263
|
+
"description": "Run a search query against a smart bucket using natural language",
|
|
3278
3264
|
"examples": [
|
|
3279
|
-
"<%= config.bin %>
|
|
3280
|
-
"<%= config.bin %>
|
|
3265
|
+
"<%= config.bin %> query search \"What is LiquidMetal?\" --buckets my-bucket-1 my-bucket-2\nRun a new supervisor agent search query across multiple buckets.\n",
|
|
3266
|
+
"<%= config.bin %> query search --requestId 01HNG4V2RJXS5T --page 2\nGet page 2 of previous search results.\n"
|
|
3281
3267
|
],
|
|
3282
3268
|
"flags": {
|
|
3283
3269
|
"config": {
|
|
@@ -3336,25 +3322,41 @@
|
|
|
3336
3322
|
"multiple": false,
|
|
3337
3323
|
"type": "option"
|
|
3338
3324
|
},
|
|
3339
|
-
"
|
|
3325
|
+
"buckets": {
|
|
3340
3326
|
"char": "b",
|
|
3341
|
-
"description": "bucket
|
|
3342
|
-
"name": "
|
|
3343
|
-
"required":
|
|
3327
|
+
"description": "bucket IDs to search in",
|
|
3328
|
+
"name": "buckets",
|
|
3329
|
+
"required": false,
|
|
3330
|
+
"hasDynamicHelp": false,
|
|
3331
|
+
"multiple": true,
|
|
3332
|
+
"type": "option"
|
|
3333
|
+
},
|
|
3334
|
+
"requestId": {
|
|
3335
|
+
"description": "request ID for pagination",
|
|
3336
|
+
"name": "requestId",
|
|
3337
|
+
"required": false,
|
|
3344
3338
|
"hasDynamicHelp": false,
|
|
3345
3339
|
"multiple": false,
|
|
3346
3340
|
"type": "option"
|
|
3347
3341
|
},
|
|
3348
|
-
"
|
|
3349
|
-
"char": "
|
|
3342
|
+
"page": {
|
|
3343
|
+
"char": "p",
|
|
3344
|
+
"description": "page number for paginated results",
|
|
3345
|
+
"name": "page",
|
|
3346
|
+
"default": 1,
|
|
3347
|
+
"hasDynamicHelp": false,
|
|
3348
|
+
"multiple": false,
|
|
3349
|
+
"type": "option"
|
|
3350
|
+
},
|
|
3351
|
+
"output": {
|
|
3352
|
+
"char": "o",
|
|
3350
3353
|
"description": "output format",
|
|
3351
|
-
"name": "
|
|
3352
|
-
"default": "
|
|
3354
|
+
"name": "output",
|
|
3355
|
+
"default": "text",
|
|
3353
3356
|
"hasDynamicHelp": false,
|
|
3354
3357
|
"multiple": false,
|
|
3355
3358
|
"options": [
|
|
3356
|
-
"
|
|
3357
|
-
"stdout",
|
|
3359
|
+
"text",
|
|
3358
3360
|
"json"
|
|
3359
3361
|
],
|
|
3360
3362
|
"type": "option"
|
|
@@ -3383,7 +3385,7 @@
|
|
|
3383
3385
|
},
|
|
3384
3386
|
"hasDynamicHelp": false,
|
|
3385
3387
|
"hiddenAliases": [],
|
|
3386
|
-
"id": "
|
|
3388
|
+
"id": "query:search",
|
|
3387
3389
|
"pluginAlias": "@liquidmetal-ai/raindrop",
|
|
3388
3390
|
"pluginName": "@liquidmetal-ai/raindrop",
|
|
3389
3391
|
"pluginType": "core",
|
|
@@ -3446,16 +3448,22 @@
|
|
|
3446
3448
|
"relativePath": [
|
|
3447
3449
|
"dist",
|
|
3448
3450
|
"commands",
|
|
3449
|
-
"
|
|
3450
|
-
"
|
|
3451
|
+
"query",
|
|
3452
|
+
"search.js"
|
|
3451
3453
|
]
|
|
3452
3454
|
},
|
|
3453
|
-
"object:
|
|
3455
|
+
"object:delete": {
|
|
3454
3456
|
"aliases": [],
|
|
3455
|
-
"args": {
|
|
3456
|
-
|
|
3457
|
+
"args": {
|
|
3458
|
+
"key": {
|
|
3459
|
+
"description": "key/path in the bucket to delete",
|
|
3460
|
+
"name": "key",
|
|
3461
|
+
"required": true
|
|
3462
|
+
}
|
|
3463
|
+
},
|
|
3464
|
+
"description": "Delete a file from the object storage",
|
|
3457
3465
|
"examples": [
|
|
3458
|
-
"<%= config.bin %> object
|
|
3466
|
+
"<%= config.bin %> object delete my-key --bucket my-bucket\nDelete file with key 'my-key' from my-bucket\n"
|
|
3459
3467
|
],
|
|
3460
3468
|
"flags": {
|
|
3461
3469
|
"config": {
|
|
@@ -3532,8 +3540,7 @@
|
|
|
3532
3540
|
"multiple": false,
|
|
3533
3541
|
"options": [
|
|
3534
3542
|
"text",
|
|
3535
|
-
"json"
|
|
3536
|
-
"table"
|
|
3543
|
+
"json"
|
|
3537
3544
|
],
|
|
3538
3545
|
"type": "option"
|
|
3539
3546
|
},
|
|
@@ -3561,7 +3568,7 @@
|
|
|
3561
3568
|
},
|
|
3562
3569
|
"hasDynamicHelp": false,
|
|
3563
3570
|
"hiddenAliases": [],
|
|
3564
|
-
"id": "object:
|
|
3571
|
+
"id": "object:delete",
|
|
3565
3572
|
"pluginAlias": "@liquidmetal-ai/raindrop",
|
|
3566
3573
|
"pluginName": "@liquidmetal-ai/raindrop",
|
|
3567
3574
|
"pluginType": "core",
|
|
@@ -3625,26 +3632,27 @@
|
|
|
3625
3632
|
"dist",
|
|
3626
3633
|
"commands",
|
|
3627
3634
|
"object",
|
|
3628
|
-
"
|
|
3635
|
+
"delete.js"
|
|
3629
3636
|
]
|
|
3630
3637
|
},
|
|
3631
|
-
"object:
|
|
3638
|
+
"object:get": {
|
|
3632
3639
|
"aliases": [],
|
|
3633
3640
|
"args": {
|
|
3634
|
-
"file": {
|
|
3635
|
-
"description": "file to upload",
|
|
3636
|
-
"name": "file",
|
|
3637
|
-
"required": true
|
|
3638
|
-
},
|
|
3639
3641
|
"key": {
|
|
3640
3642
|
"description": "key/path in the bucket",
|
|
3641
3643
|
"name": "key",
|
|
3642
3644
|
"required": true
|
|
3645
|
+
},
|
|
3646
|
+
"output": {
|
|
3647
|
+
"description": "output file (defaults to key basename)",
|
|
3648
|
+
"name": "output",
|
|
3649
|
+
"required": false
|
|
3643
3650
|
}
|
|
3644
3651
|
},
|
|
3645
|
-
"description": "
|
|
3652
|
+
"description": "Download a file from the object storage",
|
|
3646
3653
|
"examples": [
|
|
3647
|
-
"<%= config.bin %> object
|
|
3654
|
+
"<%= config.bin %> object get my-key --bucket my-bucket\nDownload file with key 'my-key' from my-bucket\n",
|
|
3655
|
+
"<%= config.bin %> object get my-key output.txt --bucket my-bucket\nDownload file with key 'my-key' from my-bucket to output.txt\n"
|
|
3648
3656
|
],
|
|
3649
3657
|
"flags": {
|
|
3650
3658
|
"config": {
|
|
@@ -3712,24 +3720,16 @@
|
|
|
3712
3720
|
"multiple": false,
|
|
3713
3721
|
"type": "option"
|
|
3714
3722
|
},
|
|
3715
|
-
"
|
|
3716
|
-
"char": "
|
|
3717
|
-
"description": "content type of the file",
|
|
3718
|
-
"name": "contentType",
|
|
3719
|
-
"required": false,
|
|
3720
|
-
"hasDynamicHelp": false,
|
|
3721
|
-
"multiple": false,
|
|
3722
|
-
"type": "option"
|
|
3723
|
-
},
|
|
3724
|
-
"output": {
|
|
3725
|
-
"char": "o",
|
|
3723
|
+
"format": {
|
|
3724
|
+
"char": "f",
|
|
3726
3725
|
"description": "output format",
|
|
3727
|
-
"name": "
|
|
3728
|
-
"default": "
|
|
3726
|
+
"name": "format",
|
|
3727
|
+
"default": "file",
|
|
3729
3728
|
"hasDynamicHelp": false,
|
|
3730
3729
|
"multiple": false,
|
|
3731
3730
|
"options": [
|
|
3732
|
-
"
|
|
3731
|
+
"file",
|
|
3732
|
+
"stdout",
|
|
3733
3733
|
"json"
|
|
3734
3734
|
],
|
|
3735
3735
|
"type": "option"
|
|
@@ -3758,7 +3758,7 @@
|
|
|
3758
3758
|
},
|
|
3759
3759
|
"hasDynamicHelp": false,
|
|
3760
3760
|
"hiddenAliases": [],
|
|
3761
|
-
"id": "object:
|
|
3761
|
+
"id": "object:get",
|
|
3762
3762
|
"pluginAlias": "@liquidmetal-ai/raindrop",
|
|
3763
3763
|
"pluginName": "@liquidmetal-ai/raindrop",
|
|
3764
3764
|
"pluginType": "core",
|
|
@@ -3822,21 +3822,15 @@
|
|
|
3822
3822
|
"dist",
|
|
3823
3823
|
"commands",
|
|
3824
3824
|
"object",
|
|
3825
|
-
"
|
|
3825
|
+
"get.js"
|
|
3826
3826
|
]
|
|
3827
3827
|
},
|
|
3828
|
-
"
|
|
3828
|
+
"object:list": {
|
|
3829
3829
|
"aliases": [],
|
|
3830
|
-
"args": {
|
|
3831
|
-
|
|
3832
|
-
"description": "search query to run",
|
|
3833
|
-
"name": "query",
|
|
3834
|
-
"required": true
|
|
3835
|
-
}
|
|
3836
|
-
},
|
|
3837
|
-
"description": "Run a RAG (Retrieval Augmented Generation) search query against a Smart Bucket",
|
|
3830
|
+
"args": {},
|
|
3831
|
+
"description": "List objects in a bucket",
|
|
3838
3832
|
"examples": [
|
|
3839
|
-
"<%= config.bin %>
|
|
3833
|
+
"<%= config.bin %> object list --bucket my-bucket\nList all objects in my-bucket\n"
|
|
3840
3834
|
],
|
|
3841
3835
|
"flags": {
|
|
3842
3836
|
"config": {
|
|
@@ -3895,6 +3889,15 @@
|
|
|
3895
3889
|
"multiple": false,
|
|
3896
3890
|
"type": "option"
|
|
3897
3891
|
},
|
|
3892
|
+
"bucket": {
|
|
3893
|
+
"char": "b",
|
|
3894
|
+
"description": "bucket ID",
|
|
3895
|
+
"name": "bucket",
|
|
3896
|
+
"required": true,
|
|
3897
|
+
"hasDynamicHelp": false,
|
|
3898
|
+
"multiple": false,
|
|
3899
|
+
"type": "option"
|
|
3900
|
+
},
|
|
3898
3901
|
"output": {
|
|
3899
3902
|
"char": "o",
|
|
3900
3903
|
"description": "output format",
|
|
@@ -3904,7 +3907,8 @@
|
|
|
3904
3907
|
"multiple": false,
|
|
3905
3908
|
"options": [
|
|
3906
3909
|
"text",
|
|
3907
|
-
"json"
|
|
3910
|
+
"json",
|
|
3911
|
+
"table"
|
|
3908
3912
|
],
|
|
3909
3913
|
"type": "option"
|
|
3910
3914
|
},
|
|
@@ -3932,7 +3936,7 @@
|
|
|
3932
3936
|
},
|
|
3933
3937
|
"hasDynamicHelp": false,
|
|
3934
3938
|
"hiddenAliases": [],
|
|
3935
|
-
"id": "
|
|
3939
|
+
"id": "object:list",
|
|
3936
3940
|
"pluginAlias": "@liquidmetal-ai/raindrop",
|
|
3937
3941
|
"pluginName": "@liquidmetal-ai/raindrop",
|
|
3938
3942
|
"pluginType": "core",
|
|
@@ -3995,23 +3999,27 @@
|
|
|
3995
3999
|
"relativePath": [
|
|
3996
4000
|
"dist",
|
|
3997
4001
|
"commands",
|
|
3998
|
-
"
|
|
3999
|
-
"
|
|
4002
|
+
"object",
|
|
4003
|
+
"list.js"
|
|
4000
4004
|
]
|
|
4001
4005
|
},
|
|
4002
|
-
"
|
|
4006
|
+
"object:put": {
|
|
4003
4007
|
"aliases": [],
|
|
4004
4008
|
"args": {
|
|
4005
|
-
"
|
|
4006
|
-
"description": "
|
|
4007
|
-
"name": "
|
|
4008
|
-
"required":
|
|
4009
|
+
"file": {
|
|
4010
|
+
"description": "file to upload",
|
|
4011
|
+
"name": "file",
|
|
4012
|
+
"required": true
|
|
4013
|
+
},
|
|
4014
|
+
"key": {
|
|
4015
|
+
"description": "key/path in the bucket",
|
|
4016
|
+
"name": "key",
|
|
4017
|
+
"required": true
|
|
4009
4018
|
}
|
|
4010
4019
|
},
|
|
4011
|
-
"description": "
|
|
4020
|
+
"description": "Upload a file to the object storage",
|
|
4012
4021
|
"examples": [
|
|
4013
|
-
"<%= config.bin %>
|
|
4014
|
-
"<%= config.bin %> query search --requestId 01HNG4V2RJXS5T --page 2\nGet page 2 of previous search results.\n"
|
|
4022
|
+
"<%= config.bin %> object put ./myfile.txt my-key --bucket my-bucket\nUpload myfile.txt to my-bucket with key 'my-key'\n"
|
|
4015
4023
|
],
|
|
4016
4024
|
"flags": {
|
|
4017
4025
|
"config": {
|
|
@@ -4070,28 +4078,20 @@
|
|
|
4070
4078
|
"multiple": false,
|
|
4071
4079
|
"type": "option"
|
|
4072
4080
|
},
|
|
4073
|
-
"
|
|
4081
|
+
"bucket": {
|
|
4074
4082
|
"char": "b",
|
|
4075
|
-
"description": "bucket
|
|
4076
|
-
"name": "
|
|
4077
|
-
"required":
|
|
4078
|
-
"hasDynamicHelp": false,
|
|
4079
|
-
"multiple": true,
|
|
4080
|
-
"type": "option"
|
|
4081
|
-
},
|
|
4082
|
-
"requestId": {
|
|
4083
|
-
"description": "request ID for pagination",
|
|
4084
|
-
"name": "requestId",
|
|
4085
|
-
"required": false,
|
|
4083
|
+
"description": "bucket ID",
|
|
4084
|
+
"name": "bucket",
|
|
4085
|
+
"required": true,
|
|
4086
4086
|
"hasDynamicHelp": false,
|
|
4087
4087
|
"multiple": false,
|
|
4088
4088
|
"type": "option"
|
|
4089
4089
|
},
|
|
4090
|
-
"
|
|
4091
|
-
"char": "
|
|
4092
|
-
"description": "
|
|
4093
|
-
"name": "
|
|
4094
|
-
"
|
|
4090
|
+
"contentType": {
|
|
4091
|
+
"char": "t",
|
|
4092
|
+
"description": "content type of the file",
|
|
4093
|
+
"name": "contentType",
|
|
4094
|
+
"required": false,
|
|
4095
4095
|
"hasDynamicHelp": false,
|
|
4096
4096
|
"multiple": false,
|
|
4097
4097
|
"type": "option"
|
|
@@ -4133,7 +4133,7 @@
|
|
|
4133
4133
|
},
|
|
4134
4134
|
"hasDynamicHelp": false,
|
|
4135
4135
|
"hiddenAliases": [],
|
|
4136
|
-
"id": "
|
|
4136
|
+
"id": "object:put",
|
|
4137
4137
|
"pluginAlias": "@liquidmetal-ai/raindrop",
|
|
4138
4138
|
"pluginName": "@liquidmetal-ai/raindrop",
|
|
4139
4139
|
"pluginType": "core",
|
|
@@ -4196,8 +4196,8 @@
|
|
|
4196
4196
|
"relativePath": [
|
|
4197
4197
|
"dist",
|
|
4198
4198
|
"commands",
|
|
4199
|
-
"
|
|
4200
|
-
"
|
|
4199
|
+
"object",
|
|
4200
|
+
"put.js"
|
|
4201
4201
|
]
|
|
4202
4202
|
},
|
|
4203
4203
|
"build:env:get": {
|
|
@@ -4796,5 +4796,5 @@
|
|
|
4796
4796
|
]
|
|
4797
4797
|
}
|
|
4798
4798
|
},
|
|
4799
|
-
"version": "0.3.
|
|
4799
|
+
"version": "0.3.5"
|
|
4800
4800
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liquidmetal-ai/raindrop",
|
|
3
3
|
"description": "CLI for the Raindrop platform",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.5",
|
|
5
5
|
"author": "bosgood",
|
|
6
6
|
"bin": {
|
|
7
7
|
"raindrop": "./bin/run.js"
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"open": "^10.1.0",
|
|
27
27
|
"qrcode-terminal": "^0.12.0",
|
|
28
28
|
"readline": "^1.3.0",
|
|
29
|
+
"semver": "^7.7.2",
|
|
29
30
|
"typescript": "^5",
|
|
30
31
|
"zod": "^3.23.8",
|
|
31
32
|
"zx": "^8.1.9"
|
|
@@ -110,4 +111,4 @@
|
|
|
110
111
|
"types": "./dist/*.d.ts"
|
|
111
112
|
}
|
|
112
113
|
}
|
|
113
|
-
}
|
|
114
|
+
}
|
|
@@ -16,31 +16,3 @@ datasource db {
|
|
|
16
16
|
url = "https://example.com/non-existant-database/required-but-unused-variable"
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
model User {
|
|
20
|
-
id Int @id @default(autoincrement())
|
|
21
|
-
name String
|
|
22
|
-
email String @unique
|
|
23
|
-
createdAt DateTime @default(now())
|
|
24
|
-
updatedAt DateTime @updatedAt
|
|
25
|
-
addresses Address[]
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
model Address {
|
|
29
|
-
id Int @id @default(autoincrement())
|
|
30
|
-
street String
|
|
31
|
-
city String
|
|
32
|
-
state String?
|
|
33
|
-
postalCode String
|
|
34
|
-
country String
|
|
35
|
-
type AddressType
|
|
36
|
-
user User? @relation(fields: [userId], references: [id])
|
|
37
|
-
userId Int?
|
|
38
|
-
createdAt DateTime @default(now())
|
|
39
|
-
updatedAt DateTime @updatedAt
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
enum AddressType {
|
|
43
|
-
PRIMARY
|
|
44
|
-
SECONDARY
|
|
45
|
-
MAILING
|
|
46
|
-
}
|
|
@@ -20,165 +20,16 @@ async function seed() {
|
|
|
20
20
|
|
|
21
21
|
console.log('🌱 Creating Seed SQL');
|
|
22
22
|
|
|
23
|
-
//
|
|
24
|
-
await db.deleteFrom('Address').execute();
|
|
25
|
-
await db.deleteFrom('User').execute();
|
|
26
|
-
|
|
27
|
-
const currentTime = new Date().toISOString();
|
|
28
|
-
|
|
29
|
-
// Sample Users
|
|
30
|
-
const usersData = [
|
|
31
|
-
{
|
|
32
|
-
name: 'Alice Johnson',
|
|
33
|
-
email: 'alice@example.com',
|
|
34
|
-
updatedAt: currentTime,
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
name: 'Bob Smith',
|
|
38
|
-
email: 'bob@example.com',
|
|
39
|
-
updatedAt: currentTime,
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
name: 'Carol Williams',
|
|
43
|
-
email: 'carol@example.com',
|
|
44
|
-
updatedAt: currentTime,
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
name: 'David Lee',
|
|
48
|
-
email: 'david@example.com',
|
|
49
|
-
updatedAt: currentTime,
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
name: 'Emma Garcia',
|
|
53
|
-
email: 'emma@example.com',
|
|
54
|
-
updatedAt: currentTime,
|
|
55
|
-
},
|
|
56
|
-
];
|
|
57
|
-
|
|
58
|
-
// Insert users and store their IDs
|
|
59
|
-
const userIds: Record<string, number> = {};
|
|
60
|
-
|
|
61
|
-
for (const userData of usersData) {
|
|
62
|
-
const result = await db.insertInto('User').values(userData).returningAll().executeTakeFirst();
|
|
63
|
-
|
|
64
|
-
if (result) {
|
|
65
|
-
userIds[userData.email] = result.id;
|
|
66
|
-
console.log(`Created user: ${userData.name} with ID: ${result.id}`);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// Sample Addresses
|
|
71
|
-
const addressesData = [
|
|
72
|
-
{
|
|
73
|
-
userId: userIds['alice@example.com']!,
|
|
74
|
-
street: '123 Main St',
|
|
75
|
-
city: 'San Francisco',
|
|
76
|
-
state: 'CA',
|
|
77
|
-
postalCode: '94105',
|
|
78
|
-
country: 'USA',
|
|
79
|
-
type: AddressType.PRIMARY,
|
|
80
|
-
updatedAt: currentTime,
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
userId: userIds['alice@example.com']!,
|
|
84
|
-
street: '456 Market St',
|
|
85
|
-
city: 'San Francisco',
|
|
86
|
-
state: 'CA',
|
|
87
|
-
postalCode: '94103',
|
|
88
|
-
country: 'USA',
|
|
89
|
-
type: AddressType.SECONDARY,
|
|
90
|
-
updatedAt: currentTime,
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
userId: userIds['bob@example.com']!,
|
|
94
|
-
street: '789 Oak Rd',
|
|
95
|
-
city: 'Austin',
|
|
96
|
-
state: 'TX',
|
|
97
|
-
postalCode: '78701',
|
|
98
|
-
country: 'USA',
|
|
99
|
-
type: AddressType.PRIMARY,
|
|
100
|
-
updatedAt: currentTime,
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
userId: userIds['carol@example.com']!,
|
|
104
|
-
street: '101 Pine Ave',
|
|
105
|
-
city: 'Seattle',
|
|
106
|
-
state: 'WA',
|
|
107
|
-
postalCode: '98101',
|
|
108
|
-
country: 'USA',
|
|
109
|
-
type: AddressType.PRIMARY,
|
|
110
|
-
updatedAt: currentTime,
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
userId: userIds['carol@example.com']!,
|
|
114
|
-
street: 'PO Box 123',
|
|
115
|
-
city: 'Seattle',
|
|
116
|
-
state: 'WA',
|
|
117
|
-
postalCode: '98102',
|
|
118
|
-
country: 'USA',
|
|
119
|
-
type: AddressType.MAILING,
|
|
120
|
-
updatedAt: currentTime,
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
userId: userIds['david@example.com']!,
|
|
124
|
-
street: '42 Tech Blvd',
|
|
125
|
-
city: 'Boston',
|
|
126
|
-
state: 'MA',
|
|
127
|
-
postalCode: '02108',
|
|
128
|
-
country: 'USA',
|
|
129
|
-
type: AddressType.PRIMARY,
|
|
130
|
-
updatedAt: currentTime,
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
userId: userIds['emma@example.com']!,
|
|
134
|
-
street: '555 Maple Dr',
|
|
135
|
-
city: 'Chicago',
|
|
136
|
-
state: 'IL',
|
|
137
|
-
postalCode: '60601',
|
|
138
|
-
country: 'USA',
|
|
139
|
-
type: AddressType.PRIMARY,
|
|
140
|
-
updatedAt: currentTime,
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
userId: userIds['emma@example.com']!,
|
|
144
|
-
street: '777 Elm St',
|
|
145
|
-
city: 'New York',
|
|
146
|
-
state: 'NY',
|
|
147
|
-
postalCode: '10001',
|
|
148
|
-
country: 'USA',
|
|
149
|
-
type: AddressType.SECONDARY,
|
|
150
|
-
updatedAt: currentTime,
|
|
151
|
-
},
|
|
152
|
-
];
|
|
153
|
-
|
|
154
|
-
// Insert addresses
|
|
155
|
-
for (const addressData of addressesData) {
|
|
156
|
-
const result = await db.insertInto('Address').values(addressData).returningAll().executeTakeFirst();
|
|
157
|
-
if (result) {
|
|
158
|
-
console.log(`Created address: ${addressData.street} for user ID: ${addressData.userId}`);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
23
|
+
//Seed Data goes here
|
|
161
24
|
|
|
162
25
|
console.log('✅ Seed completed successfully!');
|
|
163
26
|
console.log('🌱 Generating SQL');
|
|
164
|
-
//
|
|
165
|
-
const
|
|
166
|
-
const
|
|
167
|
-
.map((user) => {
|
|
168
|
-
return `INSERT INTO User (id, name, email, updatedAt) VALUES (${user.id}, '${user.name.replace(/'/g, "''")}', '${user.email}', '${user.updatedAt}');`;
|
|
169
|
-
})
|
|
170
|
-
.join('\n');
|
|
27
|
+
//have the outcome of each dump data into string varables that you then concatenate into a single SQL file
|
|
28
|
+
const table1 = ''
|
|
29
|
+
const table2 = ''
|
|
171
30
|
|
|
172
|
-
|
|
173
|
-
const
|
|
174
|
-
const addressInserts = addresses
|
|
175
|
-
.map((address) => {
|
|
176
|
-
return `INSERT INTO Address (id, userId, street, city, state, postalCode, country, type, updatedAt) VALUES (${address.id}, ${address.userId}, '${address.street.replace(/'/g, "''")}', '${address.city.replace(/'/g, "''")}', '${address.state}', '${address.postalCode}', '${address.country}', '${address.type}', '${address.updatedAt}');`;
|
|
177
|
-
})
|
|
178
|
-
.join('\n');
|
|
179
|
-
|
|
180
|
-
// Combine and log all SQL
|
|
181
|
-
const allSql = `-- Users\n${userInserts}\n\n-- Addresses\n${addressInserts}`;
|
|
31
|
+
// Combine and log all SQL
|
|
32
|
+
const allSql = `-- table1\n${table1}\n\n-- table2\n${table2}`;
|
|
182
33
|
//write to the db migrations folder as the last thing to update
|
|
183
34
|
// Import filesystem module
|
|
184
35
|
|
|
@@ -190,7 +41,7 @@ async function seed() {
|
|
|
190
41
|
.filter((file) => file.endsWith('.sql'))
|
|
191
42
|
.sort()
|
|
192
43
|
.pop();
|
|
193
|
-
|
|
44
|
+
// Keep this, as it is used to generate the SQL file
|
|
194
45
|
if (lastMigrationFile) {
|
|
195
46
|
// Generate a new migration filename with a higher number
|
|
196
47
|
const lastFileNumber = parseInt(lastMigrationFile.split('-')[0] || '0');
|
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
"test:watch": "vitest"
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {
|
|
14
|
-
"shx": "^0.
|
|
14
|
+
"shx": "^0.4.0",
|
|
15
15
|
"ts-node": "^10",
|
|
16
16
|
"typescript-eslint": "^8.7.0",
|
|
17
17
|
"typescript": "^5.0.4",
|
|
18
|
-
"vitest": "^
|
|
18
|
+
"vitest": "^3.1.3"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@liquidmetal-ai/raindrop-framework": "^{{ raindropFrameworkVersion }}"
|