@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 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.3 darwin-arm64 node-v23.10.0
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.3/src/commands/auth/list.ts)_
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.3/src/commands/auth/login.ts)_
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.3/src/commands/auth/logout.ts)_
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.3/src/commands/auth/select.ts)_
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.3/src/commands/build/branch.ts)_
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.3/src/commands/build/checkout.ts)_
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.3/src/commands/build/clone.ts)_
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.3/src/commands/build/delete.ts)_
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.3/src/commands/build/deploy.ts)_
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.3/src/commands/build/env/get.ts)_
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.3/src/commands/build/env/set.ts)_
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.3/src/commands/build/find.ts)_
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.3/src/commands/build/generate.ts)_
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.3/src/commands/build/init.ts)_
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.3/src/commands/build/list.ts)_
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.3/src/commands/build/sandbox.ts)_
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.3/src/commands/build/start.ts)_
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.3/src/commands/build/status.ts)_
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.3/src/commands/build/stop.ts)_
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.3/src/commands/build/tools/check.ts)_
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.3/src/commands/build/tools/fmt.ts)_
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.3/src/commands/build/unsandbox.ts)_
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.3/src/commands/build/upload.ts)_
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.3/src/commands/build/validate.ts)_
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.3/src/commands/object/delete.ts)_
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.3/src/commands/object/get.ts)_
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.3/src/commands/object/list.ts)_
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.3/src/commands/object/put.ts)_
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.3/src/commands/query/chunk-search.ts)_
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.3/src/commands/query/search.ts)_
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.3/src/commands/tail.ts)_
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;cAac,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;cAYc,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;cAiBc,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"}
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"}
@@ -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;CA8B3B"}
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: 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;CA8B3B"}
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.args.versionId ?? config.versionId;
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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, toJsonString, fromJsonString } from '@bufbuild/protobuf';
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 { subSeconds, isAfter } from 'date-fns';
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,
@@ -3077,18 +3077,18 @@
3077
3077
  "validate.js"
3078
3078
  ]
3079
3079
  },
3080
- "object:delete": {
3080
+ "query:chunk-search": {
3081
3081
  "aliases": [],
3082
3082
  "args": {
3083
- "key": {
3084
- "description": "key/path in the bucket to delete",
3085
- "name": "key",
3083
+ "query": {
3084
+ "description": "search query to run",
3085
+ "name": "query",
3086
3086
  "required": true
3087
3087
  }
3088
3088
  },
3089
- "description": "Delete a file from the object storage",
3089
+ "description": "Run a RAG (Retrieval Augmented Generation) search query against a Smart Bucket",
3090
3090
  "examples": [
3091
- "<%= config.bin %> object delete my-key --bucket my-bucket\nDelete file with key 'my-key' from my-bucket\n"
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": "object:delete",
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
- "object",
3260
- "delete.js"
3250
+ "query",
3251
+ "chunk-search.js"
3261
3252
  ]
3262
3253
  },
3263
- "object:get": {
3254
+ "query:search": {
3264
3255
  "aliases": [],
3265
3256
  "args": {
3266
- "key": {
3267
- "description": "key/path in the bucket",
3268
- "name": "key",
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": "Download a file from the object storage",
3263
+ "description": "Run a search query against a smart bucket using natural language",
3278
3264
  "examples": [
3279
- "<%= config.bin %> object get my-key --bucket my-bucket\nDownload file with key 'my-key' from my-bucket\n",
3280
- "<%= config.bin %> object get my-key output.txt --bucket my-bucket\nDownload file with key 'my-key' from my-bucket to output.txt\n"
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
- "bucket": {
3325
+ "buckets": {
3340
3326
  "char": "b",
3341
- "description": "bucket ID",
3342
- "name": "bucket",
3343
- "required": true,
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
- "format": {
3349
- "char": "f",
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": "format",
3352
- "default": "file",
3354
+ "name": "output",
3355
+ "default": "text",
3353
3356
  "hasDynamicHelp": false,
3354
3357
  "multiple": false,
3355
3358
  "options": [
3356
- "file",
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": "object:get",
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
- "object",
3450
- "get.js"
3451
+ "query",
3452
+ "search.js"
3451
3453
  ]
3452
3454
  },
3453
- "object:list": {
3455
+ "object:delete": {
3454
3456
  "aliases": [],
3455
- "args": {},
3456
- "description": "List objects in a bucket",
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 list --bucket my-bucket\nList all objects in my-bucket\n"
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:list",
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
- "list.js"
3635
+ "delete.js"
3629
3636
  ]
3630
3637
  },
3631
- "object:put": {
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": "Upload a file to the object storage",
3652
+ "description": "Download a file from the object storage",
3646
3653
  "examples": [
3647
- "<%= config.bin %> object put ./myfile.txt my-key --bucket my-bucket\nUpload myfile.txt to my-bucket with key 'my-key'\n"
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
- "contentType": {
3716
- "char": "t",
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": "output",
3728
- "default": "text",
3726
+ "name": "format",
3727
+ "default": "file",
3729
3728
  "hasDynamicHelp": false,
3730
3729
  "multiple": false,
3731
3730
  "options": [
3732
- "text",
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:put",
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
- "put.js"
3825
+ "get.js"
3826
3826
  ]
3827
3827
  },
3828
- "query:chunk-search": {
3828
+ "object:list": {
3829
3829
  "aliases": [],
3830
- "args": {
3831
- "query": {
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 %> query chunk-search \"What is LiquidMetal?\"\nRun a RAG search query against a Smart Bucket.\n"
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": "query:chunk-search",
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
- "query",
3999
- "chunk-search.js"
4002
+ "object",
4003
+ "list.js"
4000
4004
  ]
4001
4005
  },
4002
- "query:search": {
4006
+ "object:put": {
4003
4007
  "aliases": [],
4004
4008
  "args": {
4005
- "query": {
4006
- "description": "search query",
4007
- "name": "query",
4008
- "required": false
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": "Run a search query against a smart bucket using natural language",
4020
+ "description": "Upload a file to the object storage",
4012
4021
  "examples": [
4013
- "<%= 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",
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
- "buckets": {
4081
+ "bucket": {
4074
4082
  "char": "b",
4075
- "description": "bucket IDs to search in",
4076
- "name": "buckets",
4077
- "required": false,
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
- "page": {
4091
- "char": "p",
4092
- "description": "page number for paginated results",
4093
- "name": "page",
4094
- "default": 1,
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": "query:search",
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
- "query",
4200
- "search.js"
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.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.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
- //clear out the db
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
- // Generate SQL for Users
165
- const users = await db.selectFrom('User').selectAll().execute();
166
- const userInserts = users
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
- // Generate SQL for Addresses
173
- const addresses = await db.selectFrom('Address').selectAll().execute();
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.3.3",
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": "^2.0.2"
18
+ "vitest": "^3.1.3"
19
19
  },
20
20
  "dependencies": {
21
21
  "@liquidmetal-ai/raindrop-framework": "^{{ raindropFrameworkVersion }}"