@liquidmetal-ai/raindrop 0.13.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/README.md +327 -89
  2. package/bundle/build-CBEGQPJT.js +62 -0
  3. package/bundle/{chunk-IEF2XC25.js → chunk-2PH3PHH3.js} +5 -3
  4. package/bundle/{chunk-4HZ22KOV.js → chunk-3CMR7ES5.js} +4 -4
  5. package/bundle/{chunk-JSBM2JYW.js → chunk-3EYKCHIK.js} +1 -1
  6. package/bundle/chunk-5XHDP4VK.js +1697 -0
  7. package/bundle/{chunk-TSQK4HH6.js → chunk-674GMSXY.js} +1 -1
  8. package/bundle/{chunk-PS3WZBDF.js → chunk-6L4V66WZ.js} +1105 -2728
  9. package/bundle/{chunk-5245CEUM.js → chunk-AGG7JZVH.js} +2 -2
  10. package/bundle/{chunk-3GFKUF5D.js → chunk-B3IY2XS6.js} +4 -2
  11. package/bundle/{chunk-WIDI65NO.js → chunk-CBAXTRCS.js} +1 -1
  12. package/bundle/{chunk-JLVDTXO2.js → chunk-DPV5HIG7.js} +4 -4
  13. package/bundle/{chunk-36GNZK4A.js → chunk-EVXLXWP7.js} +1 -1
  14. package/bundle/{chunk-4YVU5KEQ.js → chunk-HN3AAKRY.js} +4 -2
  15. package/bundle/{chunk-NVNEQXHN.js → chunk-IGLE4Y3B.js} +7 -5
  16. package/bundle/{chunk-FGSYWVBA.js → chunk-IQ6HFRA6.js} +1 -1
  17. package/bundle/{chunk-O3QZDJ75.js → chunk-JQONDSHY.js} +2 -2
  18. package/bundle/{chunk-W4IPOFZC.js → chunk-KADMFJLN.js} +8 -6
  19. package/bundle/chunk-KG5BLUGU.js +246 -0
  20. package/bundle/{chunk-V5LHJTYS.js → chunk-KLOYSTZY.js} +13 -2
  21. package/bundle/{chunk-ETC5VU7H.js → chunk-KXHVSLAI.js} +1 -1
  22. package/bundle/{chunk-Y4WFGNPM.js → chunk-L6FRQULN.js} +1 -1
  23. package/bundle/{chunk-3QCVYSRU.js → chunk-LT3BFQ4O.js} +1 -1
  24. package/bundle/{chunk-KQZJHBNG.js → chunk-MBLKVNI5.js} +1 -1
  25. package/bundle/{chunk-6AIUQUUM.js → chunk-MFMVJZW6.js} +71 -15
  26. package/bundle/{chunk-25T7MEKO.js → chunk-MJBLNWG3.js} +1 -1
  27. package/bundle/{chunk-MSJ33O5Y.js → chunk-NRCQIE3Z.js} +95 -115
  28. package/bundle/{chunk-XKKPPSPC.js → chunk-OCYTN4IH.js} +2 -2
  29. package/bundle/{chunk-2GAMWFJE.js → chunk-QEF5D4VE.js} +1 -1
  30. package/bundle/{chunk-4B3QYXBA.js → chunk-T7MQCLXF.js} +5 -3
  31. package/bundle/{chunk-LDFYPOXJ.js → chunk-TFQY5TSY.js} +1 -1
  32. package/bundle/{chunk-BWK4MC7Y.js → chunk-USZXZZAR.js} +8 -6
  33. package/bundle/{chunk-ER2RCPCY.js → chunk-V54KHS5B.js} +2 -2
  34. package/bundle/{chunk-YSKASURB.js → chunk-V6J23FL2.js} +1 -1
  35. package/bundle/{chunk-UHSTDJ7X.js → chunk-VN2QYX4C.js} +1 -1
  36. package/bundle/{chunk-Z4OWKG7J.js → chunk-VOT5MMEY.js} +1 -1
  37. package/bundle/{chunk-W6GU26WO.js → chunk-WG6BDFPZ.js} +1 -1
  38. package/bundle/{chunk-AK77X5GL.js → chunk-XX74I5RK.js} +4 -2
  39. package/bundle/{chunk-6BT265R3.js → chunk-YQCRWPNI.js} +1 -1
  40. package/bundle/commands/annotation/get.js +3 -3
  41. package/bundle/commands/annotation/list.js +3 -3
  42. package/bundle/commands/annotation/put.js +3 -3
  43. package/bundle/commands/auth/apikey.js +2 -2
  44. package/bundle/commands/auth/list.js +2 -2
  45. package/bundle/commands/auth/login.js +2 -2
  46. package/bundle/commands/auth/logout.js +2 -2
  47. package/bundle/commands/auth/select.js +3 -3
  48. package/bundle/commands/bucket/create-credential.js +2 -2
  49. package/bundle/commands/bucket/delete-credential.js +2 -2
  50. package/bundle/commands/bucket/get-credential.js +2 -2
  51. package/bundle/commands/bucket/list-credentials.js +2 -2
  52. package/bundle/commands/build/actor/setup.js +124 -0
  53. package/bundle/commands/build/branch.js +10 -10
  54. package/bundle/commands/build/bucket-events/setup.js +146 -0
  55. package/bundle/commands/build/checkout.js +8 -8
  56. package/bundle/commands/build/clone.js +6 -6
  57. package/bundle/commands/build/delete.js +8 -8
  58. package/bundle/commands/build/deploy.js +10 -10
  59. package/bundle/commands/build/env/get.js +3 -3
  60. package/bundle/commands/build/env/list.js +2 -2
  61. package/bundle/commands/build/env/set.js +3 -3
  62. package/bundle/commands/build/env.js +2 -2
  63. package/bundle/commands/build/features.js +192 -0
  64. package/bundle/commands/build/find.js +4 -4
  65. package/bundle/commands/build/generate.js +52 -3
  66. package/bundle/commands/build/init-workspace.js +3 -3
  67. package/bundle/commands/build/init.js +15 -3
  68. package/bundle/commands/build/list.js +5 -5
  69. package/bundle/commands/build/queue/setup.js +133 -0
  70. package/bundle/commands/build/sandbox.js +6 -6
  71. package/bundle/commands/build/smartbucket/setup.js +165 -0
  72. package/bundle/commands/build/smartmemory/setup.js +171 -0
  73. package/bundle/commands/build/smartsql/setup.js +167 -0
  74. package/bundle/commands/build/start.js +2 -2
  75. package/bundle/commands/build/status.js +5 -5
  76. package/bundle/commands/build/stop.js +2 -2
  77. package/bundle/commands/build/stripe/dashboard.js +3 -3
  78. package/bundle/commands/build/stripe/onboard.js +3 -3
  79. package/bundle/commands/build/stripe/setup.js +3 -3
  80. package/bundle/commands/build/stripe/start.js +14 -14
  81. package/bundle/commands/build/stripe/status.js +3 -3
  82. package/bundle/commands/build/stripe/subscription/create.js +4 -4
  83. package/bundle/commands/build/stripe/subscription/get.js +4 -4
  84. package/bundle/commands/build/stripe/subscription/update.js +4 -4
  85. package/bundle/commands/build/tools/check.js +2 -2
  86. package/bundle/commands/build/tools/fmt.js +2 -2
  87. package/bundle/commands/build/unsandbox.js +6 -6
  88. package/bundle/commands/build/upload.js +5 -5
  89. package/bundle/commands/build/validate.js +85 -14
  90. package/bundle/commands/build/workos/delete.js +6 -6
  91. package/bundle/commands/build/workos/env/attach.js +3 -3
  92. package/bundle/commands/build/workos/env/attached.js +3 -3
  93. package/bundle/commands/build/workos/env/create.js +3 -3
  94. package/bundle/commands/build/workos/env/delete.js +3 -3
  95. package/bundle/commands/build/workos/env/detach.js +3 -3
  96. package/bundle/commands/build/workos/env/dev-login.js +3 -3
  97. package/bundle/commands/build/workos/env/get.js +3 -3
  98. package/bundle/commands/build/workos/env/list.js +3 -3
  99. package/bundle/commands/build/workos/env/set.js +3 -3
  100. package/bundle/commands/build/workos/invite.js +3 -3
  101. package/bundle/commands/build/workos/jwt.js +172 -0
  102. package/bundle/commands/build/workos/setup.js +3 -3
  103. package/bundle/commands/build/workos/status.js +3 -3
  104. package/bundle/commands/dns/create.js +2 -2
  105. package/bundle/commands/dns/delete.js +6 -6
  106. package/bundle/commands/dns/get.js +6 -6
  107. package/bundle/commands/dns/list.js +3 -3
  108. package/bundle/commands/dns/records/create.js +2 -2
  109. package/bundle/commands/dns/records/delete.js +3 -3
  110. package/bundle/commands/dns/records/get.js +2 -2
  111. package/bundle/commands/dns/records/list.js +2 -2
  112. package/bundle/commands/dns/records/update.js +2 -2
  113. package/bundle/commands/doctor.js +309 -0
  114. package/bundle/commands/logs/query.js +3 -3
  115. package/bundle/commands/logs/tail.js +3 -3
  116. package/bundle/commands/mcp/install-claude.js +2 -2
  117. package/bundle/commands/mcp/install-gemini.js +2 -2
  118. package/bundle/commands/mcp/install-goose.js +2 -2
  119. package/bundle/commands/mcp/status.js +2 -2
  120. package/bundle/commands/object/delete.js +5 -37
  121. package/bundle/commands/object/get.js +5 -37
  122. package/bundle/commands/object/list.js +7 -39
  123. package/bundle/commands/object/put.js +5 -37
  124. package/bundle/commands/query/chunk-search.js +14 -46
  125. package/bundle/commands/query/document.js +17 -55
  126. package/bundle/commands/query/events.js +2 -2
  127. package/bundle/commands/query/reindex.js +2 -2
  128. package/bundle/commands/query/search.js +14 -46
  129. package/bundle/commands/tail.js +2 -2
  130. package/bundle/index.js +1 -1
  131. package/dist/commands/build/actor/setup.d.ts +22 -0
  132. package/dist/commands/build/actor/setup.d.ts.map +1 -0
  133. package/dist/commands/build/actor/setup.js +116 -0
  134. package/dist/commands/build/bucket-events/setup.d.ts +22 -0
  135. package/dist/commands/build/bucket-events/setup.d.ts.map +1 -0
  136. package/dist/commands/build/bucket-events/setup.js +134 -0
  137. package/dist/commands/build/features.d.ts +19 -0
  138. package/dist/commands/build/features.d.ts.map +1 -0
  139. package/dist/commands/build/features.js +97 -0
  140. package/dist/commands/build/generate.d.ts +2 -0
  141. package/dist/commands/build/generate.d.ts.map +1 -1
  142. package/dist/commands/build/generate.js +52 -0
  143. package/dist/commands/build/init.d.ts.map +1 -1
  144. package/dist/commands/build/init.js +10 -0
  145. package/dist/commands/build/queue/setup.d.ts +21 -0
  146. package/dist/commands/build/queue/setup.d.ts.map +1 -0
  147. package/dist/commands/build/queue/setup.js +120 -0
  148. package/dist/commands/build/smartbucket/setup.d.ts +23 -0
  149. package/dist/commands/build/smartbucket/setup.d.ts.map +1 -0
  150. package/dist/commands/build/smartbucket/setup.js +167 -0
  151. package/dist/commands/build/smartmemory/setup.d.ts +23 -0
  152. package/dist/commands/build/smartmemory/setup.d.ts.map +1 -0
  153. package/dist/commands/build/smartmemory/setup.js +172 -0
  154. package/dist/commands/build/smartsql/setup.d.ts +23 -0
  155. package/dist/commands/build/smartsql/setup.d.ts.map +1 -0
  156. package/dist/commands/build/smartsql/setup.js +169 -0
  157. package/dist/commands/build/validate.d.ts +2 -0
  158. package/dist/commands/build/validate.d.ts.map +1 -1
  159. package/dist/commands/build/validate.js +80 -8
  160. package/dist/commands/build/workos/jwt.d.ts +23 -0
  161. package/dist/commands/build/workos/jwt.d.ts.map +1 -0
  162. package/dist/commands/build/workos/jwt.js +172 -0
  163. package/dist/commands/doctor.d.ts +27 -0
  164. package/dist/commands/doctor.d.ts.map +1 -0
  165. package/dist/commands/doctor.js +328 -0
  166. package/dist/commands/object/delete.d.ts +0 -2
  167. package/dist/commands/object/delete.d.ts.map +1 -1
  168. package/dist/commands/object/delete.js +3 -38
  169. package/dist/commands/object/get.d.ts +0 -2
  170. package/dist/commands/object/get.d.ts.map +1 -1
  171. package/dist/commands/object/get.js +3 -38
  172. package/dist/commands/object/list.d.ts +0 -2
  173. package/dist/commands/object/list.d.ts.map +1 -1
  174. package/dist/commands/object/list.js +5 -40
  175. package/dist/commands/object/put.d.ts +0 -2
  176. package/dist/commands/object/put.d.ts.map +1 -1
  177. package/dist/commands/object/put.js +3 -38
  178. package/dist/commands/query/chunk-search.d.ts +0 -2
  179. package/dist/commands/query/chunk-search.d.ts.map +1 -1
  180. package/dist/commands/query/chunk-search.js +12 -46
  181. package/dist/commands/query/document.d.ts +1 -3
  182. package/dist/commands/query/document.d.ts.map +1 -1
  183. package/dist/commands/query/document.js +16 -60
  184. package/dist/commands/query/search.d.ts +0 -2
  185. package/dist/commands/query/search.d.ts.map +1 -1
  186. package/dist/commands/query/search.js +12 -46
  187. package/dist/feature-catalog.d.ts +28 -0
  188. package/dist/feature-catalog.d.ts.map +1 -0
  189. package/dist/feature-catalog.js +104 -0
  190. package/dist/index.d.ts.map +1 -1
  191. package/dist/index.js +16 -2
  192. package/oclif.manifest.json +4811 -3433
  193. package/package.json +3 -3
  194. package/templates/examples/smartbucket-minimal.ts.hbs +87 -0
  195. package/templates/examples/smartmemory-minimal.ts.hbs +82 -0
  196. package/templates/examples/smartsql-minimal.ts.hbs +69 -0
  197. package/templates/handlers/actor/index.test.ts.hbs +48 -85
  198. package/templates/handlers/actor/index.ts.hbs +16 -316
  199. package/templates/handlers/bucket-event-notification/index.ts.hbs +32 -235
  200. package/templates/handlers/bucket-event-observer.ts.hbs +79 -0
  201. package/templates/handlers/http-service/index.test.ts.hbs +3 -0
  202. package/templates/handlers/http-service/index.ts.hbs +43 -15
  203. package/templates/handlers/queue-consumer-setup.ts.hbs +45 -0
  204. package/templates/handlers/task/index.test.ts.hbs +30 -112
  205. package/templates/handlers/task/index.ts.hbs +19 -58
  206. package/templates/init/RAINDROP.md.hbs +97 -1
  207. package/templates/init/eslint.config.js +43 -0
  208. package/templates/init/package.json.hbs +4 -1
  209. package/templates/init/tsconfig.json +3 -3
  210. package/bundle/chunk-23UBI7BN.js +0 -48
  211. package/bundle/chunk-2QWMBNE3.js +0 -384
  212. package/bundle/chunk-45IYWQDC.js +0 -384
  213. package/bundle/chunk-5YUO23QU.js +0 -4585
  214. package/bundle/chunk-6MIGCNUO.js +0 -75
  215. package/bundle/chunk-7ZJWA6HP.js +0 -805
  216. package/bundle/chunk-AIYVX2M7.js +0 -44
  217. package/bundle/chunk-BB5TNIEM.js +0 -48
  218. package/bundle/chunk-BUR3HFKH.js +0 -488
  219. package/bundle/chunk-BYSBS7KT.js +0 -488
  220. package/bundle/chunk-CX3RWI62.js +0 -28658
  221. package/bundle/chunk-DLH7MI57.js +0 -305
  222. package/bundle/chunk-E3WJIYJZ.js +0 -12148
  223. package/bundle/chunk-EX7NOPRF.js +0 -12148
  224. package/bundle/chunk-F76JQS2J.js +0 -231
  225. package/bundle/chunk-FBOXMVKD.js +0 -28679
  226. package/bundle/chunk-FTPZ6SQW.js +0 -238909
  227. package/bundle/chunk-H3CFZ7ZH.js +0 -74
  228. package/bundle/chunk-HXOILVWA.js +0 -384
  229. package/bundle/chunk-IMP7O5AC.js +0 -22452
  230. package/bundle/chunk-IPYOAKRE.js +0 -231
  231. package/bundle/chunk-J7HN6XF2.js +0 -4461
  232. package/bundle/chunk-JOLOAALA.js +0 -231
  233. package/bundle/chunk-JZ2G4Q35.js +0 -4585
  234. package/bundle/chunk-KVAWPWF7.js +0 -231
  235. package/bundle/chunk-MEUAAIXV.js +0 -28657
  236. package/bundle/chunk-QBWFE57Z.js +0 -384
  237. package/bundle/chunk-SP3LOXPC.js +0 -46
  238. package/bundle/chunk-T7C564PR.js +0 -28678
  239. package/bundle/chunk-UFH545WJ.js +0 -22452
  240. package/bundle/chunk-UHVMPWM5.js +0 -315
  241. package/bundle/chunk-VB7ZTSZV.js +0 -1089
  242. package/bundle/chunk-VBIJDFMJ.js +0 -384
  243. package/bundle/chunk-VR7RLTE3.js +0 -231
  244. package/bundle/chunk-WFZUJLEC.js +0 -231
  245. package/bundle/chunk-YDGJTLVZ.js +0 -133
  246. package/bundle/chunk-YPNQ7UFK.js +0 -502
  247. package/bundle/chunk-YXFDRMSN.js +0 -384
  248. package/dist/lib/dns-utils.d.ts +0 -7
  249. package/dist/lib/dns-utils.d.ts.map +0 -1
  250. package/dist/lib/dns-utils.js +0 -44
@@ -0,0 +1,21 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class QueueSetup extends BaseCommand<typeof QueueSetup> {
3
+ static args: {};
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
8
+ 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ rainbowAuthService: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ raindropCatalogService: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ rainbowAuthToken: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ rainbowOrganizationId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ rainbowUserId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ sendVersionMetadata: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
16
+ };
17
+ run(): Promise<void>;
18
+ private generateObserverFile;
19
+ private updateManifest;
20
+ }
21
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/queue/setup.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW,CAAC,OAAO,UAAU,CAAC;IACpE,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAA+D;IAEjF,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;MAUV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YA2DZ,oBAAoB;YAKpB,cAAc;CAmC7B"}
@@ -0,0 +1,120 @@
1
+ import { Flags } from '@oclif/core';
2
+ import chalk from 'chalk';
3
+ import * as fs from 'node:fs/promises';
4
+ import * as path from 'node:path';
5
+ import { BaseCommand } from '../../../base-command.js';
6
+ import { renderTemplateFromFile, TEMPLATES_DIR } from '../../../codegen.js';
7
+ export default class QueueSetup extends BaseCommand {
8
+ static args = {};
9
+ static description = 'Add a queue with consumer (observer) to your Raindrop app';
10
+ static examples = [
11
+ `<%= config.bin %> <%= command.id %>
12
+ Add queue with default name "my-queue"
13
+
14
+ <%= config.bin %> <%= command.id %> --name tasks
15
+ Add queue with custom name "tasks"
16
+ `,
17
+ ];
18
+ static flags = {
19
+ ...BaseCommand.HIDDEN_FLAGS,
20
+ name: Flags.string({
21
+ description: 'Name for the queue',
22
+ default: 'my-queue',
23
+ }),
24
+ 'dry-run': Flags.boolean({
25
+ description: 'Preview changes without applying them',
26
+ default: false,
27
+ }),
28
+ };
29
+ async run() {
30
+ const queueName = this.flags.name;
31
+ const observerName = `${queueName}-consumer`;
32
+ const dryRun = this.flags['dry-run'];
33
+ if (dryRun) {
34
+ this.log(chalk.blue.bold('DRY RUN - Preview of changes (no files will be modified)'));
35
+ this.log('');
36
+ this.log(chalk.blue('Would create:') + ' ' + chalk.bold(`src/${observerName}/index.ts`));
37
+ this.log(chalk.dim(' - 50 lines of queue consumer code'));
38
+ this.log(chalk.dim(' - Message processing, error handling, retry logic'));
39
+ this.log('');
40
+ this.log(chalk.blue('Would update:') + ' ' + chalk.bold('raindrop.manifest'));
41
+ this.log(chalk.dim(` + queue "${queueName}" {}`));
42
+ this.log(chalk.dim(` + observer "${observerName}" {`));
43
+ this.log(chalk.dim(` source { queue = "${queueName}" ... }`));
44
+ this.log(chalk.dim(` }`));
45
+ this.log('');
46
+ this.log(chalk.blue('Environment binding:') + ' ' + chalk.bold(`this.env.${queueName.toUpperCase().replace(/-/g, '_')}`));
47
+ this.log('');
48
+ this.log(chalk.yellow('Run without --dry-run to apply these changes'));
49
+ return;
50
+ }
51
+ try {
52
+ // Step 1: Create observer directory
53
+ const observerDir = path.join(process.cwd(), 'src', observerName);
54
+ await fs.mkdir(observerDir, { recursive: true });
55
+ // Step 2: Generate observer file
56
+ const observerContent = await this.generateObserverFile(queueName);
57
+ const observerPath = path.join(observerDir, 'index.ts');
58
+ await fs.writeFile(observerPath, observerContent);
59
+ this.log(chalk.green('✓') + ' Created ' + chalk.bold(`src/${observerName}/index.ts`));
60
+ // Step 3: Update manifest
61
+ await this.updateManifest(queueName, observerName);
62
+ this.log(chalk.green('✓') + ' Updated ' + chalk.bold('raindrop.manifest'));
63
+ // Step 4: Show next steps
64
+ this.log('');
65
+ this.log(chalk.bold.cyan('Next Steps:'));
66
+ this.log('');
67
+ this.log('1. Run ' + chalk.bold('raindrop build generate') + ' to update types');
68
+ this.log('2. Check out ' + chalk.bold(`src/${observerName}/index.ts`) + ' for the consumer code');
69
+ this.log('3. Send messages to the queue from your services:');
70
+ this.log('');
71
+ this.log(chalk.dim('Example usage:'));
72
+ this.log(chalk.dim(` await this.env.${queueName.toUpperCase().replace(/-/g, '_')}.send({`));
73
+ this.log(chalk.dim(` task: 'process-order',`));
74
+ this.log(chalk.dim(` orderId: '12345'`));
75
+ this.log(chalk.dim(` });`));
76
+ this.log('');
77
+ }
78
+ catch (error) {
79
+ this.error(`Failed to set up queue: ${error instanceof Error ? error.message : 'Unknown error'}`);
80
+ }
81
+ }
82
+ async generateObserverFile(queueName) {
83
+ const templatePath = path.join(TEMPLATES_DIR, 'handlers', 'queue-consumer-setup.ts.hbs');
84
+ return renderTemplateFromFile(templatePath, { queueName });
85
+ }
86
+ async updateManifest(queueName, observerName) {
87
+ const manifestPath = path.join(process.cwd(), 'raindrop.manifest');
88
+ try {
89
+ let content = await fs.readFile(manifestPath, 'utf-8');
90
+ // Check if queue already exists
91
+ if (content.includes(`queue "${queueName}"`)) {
92
+ this.log(chalk.yellow('⚠') + ' Queue already exists in manifest');
93
+ return;
94
+ }
95
+ // Find the application block and add the queue and observer
96
+ const appMatch = content.match(/application\s+"[^"]+"\s+\{/);
97
+ if (appMatch) {
98
+ const insertPos = appMatch.index + appMatch[0].length;
99
+ const binding = `\n queue "${queueName}" {}\n\n observer "${observerName}" {
100
+ source {
101
+ queue = "${queueName}"
102
+ max_retries = 5
103
+ batch_size = 1
104
+ }
105
+ }\n`;
106
+ content = content.slice(0, insertPos) + binding + content.slice(insertPos);
107
+ await fs.writeFile(manifestPath, content);
108
+ }
109
+ else {
110
+ throw new Error('Could not find application block in raindrop.manifest');
111
+ }
112
+ }
113
+ catch (error) {
114
+ if (error.code === 'ENOENT') {
115
+ throw new Error('raindrop.manifest not found. Are you in a Raindrop project directory?');
116
+ }
117
+ throw error;
118
+ }
119
+ }
120
+ }
@@ -0,0 +1,23 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class SmartBucketSetup extends BaseCommand<typeof SmartBucketSetup> {
3
+ static args: {};
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
8
+ 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ rainbowAuthService: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ raindropCatalogService: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ rainbowAuthToken: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ rainbowOrganizationId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ rainbowUserId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ sendVersionMetadata: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
16
+ };
17
+ run(): Promise<void>;
18
+ private generateExampleFile;
19
+ private findExistingBinding;
20
+ private findFirstHandler;
21
+ private updateManifest;
22
+ }
23
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/smartbucket/setup.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW,CAAC,OAAO,gBAAgB,CAAC;IAChF,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAAgF;IAElG,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;MAUV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YA4EZ,mBAAmB;YAKnB,mBAAmB;YAcnB,gBAAgB;YA2BhB,cAAc;CA6B7B"}
@@ -0,0 +1,167 @@
1
+ import { Flags } from '@oclif/core';
2
+ import chalk from 'chalk';
3
+ import * as fs from 'node:fs/promises';
4
+ import * as path from 'node:path';
5
+ import { BaseCommand } from '../../../base-command.js';
6
+ import { renderTemplateFromFile, TEMPLATES_DIR } from '../../../codegen.js';
7
+ export default class SmartBucketSetup extends BaseCommand {
8
+ static args = {};
9
+ static description = 'Add SmartBucket (file storage with AI-powered search) to your Raindrop app';
10
+ static examples = [
11
+ `<%= config.bin %> <%= command.id %>
12
+ Add SmartBucket with default name "my-bucket"
13
+
14
+ <%= config.bin %> <%= command.id %> --name documents
15
+ Add SmartBucket with custom name "documents"
16
+ `,
17
+ ];
18
+ static flags = {
19
+ ...BaseCommand.HIDDEN_FLAGS,
20
+ name: Flags.string({
21
+ description: 'Name for the SmartBucket binding',
22
+ default: 'my-bucket',
23
+ }),
24
+ 'dry-run': Flags.boolean({
25
+ description: 'Preview changes without applying them',
26
+ default: false,
27
+ }),
28
+ };
29
+ async run() {
30
+ // Check if binding already exists in manifest, use that name if found
31
+ const existingBinding = await this.findExistingBinding('smartbucket');
32
+ const manifestName = existingBinding || this.flags.name;
33
+ const bindingName = manifestName.toUpperCase().replace(/-/g, '_');
34
+ const dryRun = this.flags['dry-run'];
35
+ // Find the first handler (service/actor/observer/task) to determine import path
36
+ const handlerName = await this.findFirstHandler();
37
+ // If no handler found, warn user and provide guidance
38
+ if (!handlerName) {
39
+ this.log(chalk.yellow.bold('⚠ No service, actor, observer, or task found in manifest'));
40
+ this.log('');
41
+ this.log('SmartBucket examples require a handler to generate type-safe code.');
42
+ this.log('Please add a handler to your manifest first:');
43
+ this.log('');
44
+ this.log(chalk.cyan(' service "api" {'));
45
+ this.log(chalk.cyan(' visibility = "public"'));
46
+ this.log(chalk.cyan(' }'));
47
+ this.log('');
48
+ this.log('Then run:');
49
+ this.log(chalk.bold(' raindrop build generate'));
50
+ this.log(chalk.bold(' raindrop build smartbucket setup'));
51
+ return;
52
+ }
53
+ if (dryRun) {
54
+ this.log(chalk.blue.bold('DRY RUN - Preview of changes (no files will be modified)'));
55
+ this.log('');
56
+ this.log(chalk.blue('Would create:') + ' ' + chalk.bold('src/examples/smartbucket-minimal.ts'));
57
+ this.log(chalk.dim(' - 60 lines of example code'));
58
+ this.log(chalk.dim(' - Upload, download, list file operations'));
59
+ this.log('');
60
+ this.log(chalk.blue('Would update:') + ' ' + chalk.bold('raindrop.manifest'));
61
+ this.log(chalk.dim(` + smartbucket "${manifestName}" {}`));
62
+ this.log('');
63
+ this.log(chalk.blue('Environment binding:') + ' ' + chalk.bold(`this.env.${bindingName}`));
64
+ this.log('');
65
+ this.log(chalk.yellow('Run without --dry-run to apply these changes'));
66
+ return;
67
+ }
68
+ try {
69
+ // Step 1: Create examples directory if it doesn't exist
70
+ const examplesDir = path.join(process.cwd(), 'src', 'examples');
71
+ await fs.mkdir(examplesDir, { recursive: true });
72
+ // Step 2: Generate example file
73
+ const exampleContent = await this.generateExampleFile(bindingName, handlerName);
74
+ const examplePath = path.join(examplesDir, 'smartbucket-minimal.ts');
75
+ await fs.writeFile(examplePath, exampleContent);
76
+ this.log(chalk.green('✓') + ' Created ' + chalk.bold('src/examples/smartbucket-minimal.ts'));
77
+ // Step 3: Update manifest
78
+ await this.updateManifest(manifestName);
79
+ this.log(chalk.green('✓') + ' Updated ' + chalk.bold('raindrop.manifest'));
80
+ // Step 4: Show next steps
81
+ this.log('');
82
+ this.log(chalk.bold.cyan('Next Steps:'));
83
+ this.log('');
84
+ this.log('1. Run ' + chalk.bold('raindrop build generate') + ' to update types');
85
+ this.log('2. Check out ' + chalk.bold('src/examples/smartbucket-minimal.ts') + ' for example code');
86
+ this.log('3. Use ' + chalk.bold(`this.env.${bindingName}`) + ' in your handlers to store and search files');
87
+ this.log('');
88
+ this.log(chalk.dim('Example usage:'));
89
+ this.log(chalk.dim(` await this.env.${bindingName}.put('file.pdf', pdfData);`));
90
+ this.log(chalk.dim(` const file = await this.env.${bindingName}.get('file.pdf');`));
91
+ this.log('');
92
+ }
93
+ catch (error) {
94
+ this.error(`Failed to set up SmartBucket: ${error instanceof Error ? error.message : 'Unknown error'}`);
95
+ }
96
+ }
97
+ async generateExampleFile(bindingName, handlerName) {
98
+ const templatePath = path.join(TEMPLATES_DIR, 'examples', 'smartbucket-minimal.ts.hbs');
99
+ return renderTemplateFromFile(templatePath, { bindingName, handlerName });
100
+ }
101
+ async findExistingBinding(bindingType) {
102
+ const manifestPath = path.join(process.cwd(), 'raindrop.manifest');
103
+ try {
104
+ const content = await fs.readFile(manifestPath, 'utf-8');
105
+ // Match: smartbucket "name" {} or smartbucket "name" { ... }
106
+ const regex = new RegExp(`^\\s*${bindingType}\\s+"([^"]+)"`, 'm');
107
+ const match = content.match(regex);
108
+ return match?.[1] || null;
109
+ }
110
+ catch (_error) {
111
+ return null;
112
+ }
113
+ }
114
+ async findFirstHandler() {
115
+ const manifestPath = path.join(process.cwd(), 'raindrop.manifest');
116
+ try {
117
+ const content = await fs.readFile(manifestPath, 'utf-8');
118
+ // Look for first uncommented service, actor, observer, or task
119
+ const serviceMatch = content.match(/^\s*service\s+"([^"]+)"/m);
120
+ if (serviceMatch?.[1])
121
+ return serviceMatch[1];
122
+ const actorMatch = content.match(/^\s*actor\s+"([^"]+)"/m);
123
+ if (actorMatch?.[1])
124
+ return actorMatch[1];
125
+ const observerMatch = content.match(/^\s*observer\s+"([^"]+)"/m);
126
+ if (observerMatch?.[1])
127
+ return observerMatch[1];
128
+ const taskMatch = content.match(/^\s*task\s+"([^"]+)"/m);
129
+ if (taskMatch?.[1])
130
+ return taskMatch[1];
131
+ // Return null if no handler found
132
+ return null;
133
+ }
134
+ catch (_error) {
135
+ // Return null if can't read manifest
136
+ return null;
137
+ }
138
+ }
139
+ async updateManifest(manifestName) {
140
+ const manifestPath = path.join(process.cwd(), 'raindrop.manifest');
141
+ try {
142
+ let content = await fs.readFile(manifestPath, 'utf-8');
143
+ // Check if SmartBucket binding already exists
144
+ if (content.includes(`smartbucket "${manifestName}"`)) {
145
+ this.log(chalk.yellow('⚠') + ' SmartBucket binding already exists in manifest');
146
+ return;
147
+ }
148
+ // Find the application block and add the smartbucket binding
149
+ const appMatch = content.match(/application\s+"[^"]+"\s+\{/);
150
+ if (appMatch) {
151
+ const insertPos = appMatch.index + appMatch[0].length;
152
+ const binding = `\n smartbucket "${manifestName}" {}\n`;
153
+ content = content.slice(0, insertPos) + binding + content.slice(insertPos);
154
+ await fs.writeFile(manifestPath, content);
155
+ }
156
+ else {
157
+ throw new Error('Could not find application block in raindrop.manifest');
158
+ }
159
+ }
160
+ catch (error) {
161
+ if (error.code === 'ENOENT') {
162
+ throw new Error('raindrop.manifest not found. Are you in a Raindrop project directory?');
163
+ }
164
+ throw error;
165
+ }
166
+ }
167
+ }
@@ -0,0 +1,23 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class SmartMemorySetup extends BaseCommand<typeof SmartMemorySetup> {
3
+ static args: {};
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
8
+ 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ rainbowAuthService: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ raindropCatalogService: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ rainbowAuthToken: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ rainbowOrganizationId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ rainbowUserId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ sendVersionMetadata: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
16
+ };
17
+ run(): Promise<void>;
18
+ private generateExampleFile;
19
+ private findExistingBinding;
20
+ private findFirstHandler;
21
+ private updateManifest;
22
+ }
23
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/smartmemory/setup.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW,CAAC,OAAO,gBAAgB,CAAC;IAChF,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAA8E;IAEhG,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;MAUV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAkFZ,mBAAmB;YAKnB,mBAAmB;YAanB,gBAAgB;YA2BhB,cAAc;CA6B7B"}
@@ -0,0 +1,172 @@
1
+ import { Flags } from '@oclif/core';
2
+ import chalk from 'chalk';
3
+ import * as fs from 'node:fs/promises';
4
+ import * as path from 'node:path';
5
+ import { BaseCommand } from '../../../base-command.js';
6
+ import { renderTemplateFromFile, TEMPLATES_DIR } from '../../../codegen.js';
7
+ export default class SmartMemorySetup extends BaseCommand {
8
+ static args = {};
9
+ static description = 'Add SmartMemory (AI conversation memory management) to your Raindrop app';
10
+ static examples = [
11
+ `<%= config.bin %> <%= command.id %>
12
+ Add SmartMemory with default name "memory"
13
+
14
+ <%= config.bin %> <%= command.id %> --name chat-memory
15
+ Add SmartMemory with custom name "chat-memory"
16
+ `,
17
+ ];
18
+ static flags = {
19
+ ...BaseCommand.HIDDEN_FLAGS,
20
+ name: Flags.string({
21
+ description: 'Name for the SmartMemory binding',
22
+ default: 'memory',
23
+ }),
24
+ 'dry-run': Flags.boolean({
25
+ description: 'Preview changes without applying them',
26
+ default: false,
27
+ }),
28
+ };
29
+ async run() {
30
+ // Check if binding already exists in manifest, use that name if found
31
+ const existingBinding = await this.findExistingBinding('smartmemory');
32
+ const manifestName = existingBinding || this.flags.name;
33
+ const bindingName = manifestName.toUpperCase().replace(/-/g, '_');
34
+ const dryRun = this.flags['dry-run'];
35
+ // Find the first handler (service/actor/observer/task) to determine import path
36
+ const handlerName = await this.findFirstHandler();
37
+ // If no handler found, warn user and provide guidance
38
+ if (!handlerName) {
39
+ this.log(chalk.yellow.bold('⚠ No service, actor, observer, or task found in manifest'));
40
+ this.log('');
41
+ this.log('SmartMemory examples require a handler to generate type-safe code.');
42
+ this.log('Please add a handler to your manifest first:');
43
+ this.log('');
44
+ this.log(chalk.cyan(' service "api" {'));
45
+ this.log(chalk.cyan(' visibility = "public"'));
46
+ this.log(chalk.cyan(' }'));
47
+ this.log('');
48
+ this.log('Then run:');
49
+ this.log(chalk.bold(' raindrop build generate'));
50
+ this.log(chalk.bold(' raindrop build smartmemory setup'));
51
+ return;
52
+ }
53
+ if (dryRun) {
54
+ this.log(chalk.blue.bold('DRY RUN - Preview of changes (no files will be modified)'));
55
+ this.log('');
56
+ this.log(chalk.blue('Would create:') + ' ' + chalk.bold('src/examples/smartmemory-minimal.ts'));
57
+ this.log(chalk.dim(' - 50 lines of example code'));
58
+ this.log(chalk.dim(' - Session management, memory storage/retrieval, search, summarization'));
59
+ this.log('');
60
+ this.log(chalk.blue('Would update:') + ' ' + chalk.bold('raindrop.manifest'));
61
+ this.log(chalk.dim(` + smartmemory "${manifestName}" {}`));
62
+ this.log('');
63
+ this.log(chalk.blue('Environment binding:') + ' ' + chalk.bold(`this.env.${bindingName}`));
64
+ this.log('');
65
+ this.log(chalk.yellow('Run without --dry-run to apply these changes'));
66
+ return;
67
+ }
68
+ try {
69
+ // Step 1: Create examples directory if it doesn't exist
70
+ const examplesDir = path.join(process.cwd(), 'src', 'examples');
71
+ await fs.mkdir(examplesDir, { recursive: true });
72
+ // Step 2: Generate example file
73
+ const exampleContent = await this.generateExampleFile(bindingName, handlerName);
74
+ const examplePath = path.join(examplesDir, 'smartmemory-minimal.ts');
75
+ await fs.writeFile(examplePath, exampleContent);
76
+ this.log(chalk.green('✓') + ' Created ' + chalk.bold('src/examples/smartmemory-minimal.ts'));
77
+ // Step 3: Update manifest
78
+ await this.updateManifest(manifestName);
79
+ this.log(chalk.green('✓') + ' Updated ' + chalk.bold('raindrop.manifest'));
80
+ // Step 4: Show next steps
81
+ this.log('');
82
+ this.log(chalk.bold.cyan('Next Steps:'));
83
+ this.log('');
84
+ this.log('1. Run ' + chalk.bold('raindrop build generate') + ' to update types');
85
+ this.log('2. Check out ' + chalk.bold('src/examples/smartmemory-minimal.ts') + ' for example code');
86
+ this.log('3. Use ' + chalk.bold(`this.env.${bindingName}`) + ' in your handlers to manage conversation memory');
87
+ this.log('');
88
+ this.log(chalk.bold('Related features:'));
89
+ this.log(chalk.dim(' • SmartSQL for structured data: raindrop build smartsql setup'));
90
+ this.log(chalk.dim(' • SmartBucket for document context: raindrop build smartbucket setup'));
91
+ this.log(chalk.dim(' • Explore all features: raindrop build features'));
92
+ this.log('');
93
+ this.log(chalk.dim('Example usage:'));
94
+ this.log(chalk.dim(` const { sessionId, workingMemory } =`));
95
+ this.log(chalk.dim(` await this.env.${bindingName}.startWorkingMemorySession();`));
96
+ this.log(chalk.dim(` await workingMemory.putMemory({ content: 'User message', agent: 'user' });`));
97
+ this.log('');
98
+ }
99
+ catch (error) {
100
+ this.error(`Failed to set up SmartMemory: ${error instanceof Error ? error.message : 'Unknown error'}`);
101
+ }
102
+ }
103
+ async generateExampleFile(bindingName, handlerName) {
104
+ const templatePath = path.join(TEMPLATES_DIR, 'examples', 'smartmemory-minimal.ts.hbs');
105
+ return renderTemplateFromFile(templatePath, { bindingName, handlerName });
106
+ }
107
+ async findExistingBinding(bindingType) {
108
+ const manifestPath = path.join(process.cwd(), 'raindrop.manifest');
109
+ try {
110
+ const content = await fs.readFile(manifestPath, 'utf-8');
111
+ const regex = new RegExp(`^\\s*${bindingType}\\s+"([^"]+)"`, 'm');
112
+ const match = content.match(regex);
113
+ return match?.[1] || null;
114
+ }
115
+ catch (_error) {
116
+ return null;
117
+ }
118
+ }
119
+ async findFirstHandler() {
120
+ const manifestPath = path.join(process.cwd(), 'raindrop.manifest');
121
+ try {
122
+ const content = await fs.readFile(manifestPath, 'utf-8');
123
+ // Look for first uncommented service, actor, observer, or task
124
+ const serviceMatch = content.match(/^\s*service\s+"([^"]+)"/m);
125
+ if (serviceMatch?.[1])
126
+ return serviceMatch[1];
127
+ const actorMatch = content.match(/^\s*actor\s+"([^"]+)"/m);
128
+ if (actorMatch?.[1])
129
+ return actorMatch[1];
130
+ const observerMatch = content.match(/^\s*observer\s+"([^"]+)"/m);
131
+ if (observerMatch?.[1])
132
+ return observerMatch[1];
133
+ const taskMatch = content.match(/^\s*task\s+"([^"]+)"/m);
134
+ if (taskMatch?.[1])
135
+ return taskMatch[1];
136
+ // Return null if no handler found
137
+ return null;
138
+ }
139
+ catch (_error) {
140
+ // Return null if can't read manifest
141
+ return null;
142
+ }
143
+ }
144
+ async updateManifest(manifestName) {
145
+ const manifestPath = path.join(process.cwd(), 'raindrop.manifest');
146
+ try {
147
+ let content = await fs.readFile(manifestPath, 'utf-8');
148
+ // Check if SmartMemory binding already exists
149
+ if (content.includes(`smartmemory "${manifestName}"`)) {
150
+ this.log(chalk.yellow('⚠') + ' SmartMemory binding already exists in manifest');
151
+ return;
152
+ }
153
+ // Find the application block and add the smartmemory binding
154
+ const appMatch = content.match(/application\s+"[^"]+"\s+\{/);
155
+ if (appMatch) {
156
+ const insertPos = appMatch.index + appMatch[0].length;
157
+ const binding = `\n smartmemory "${manifestName}" {}\n`;
158
+ content = content.slice(0, insertPos) + binding + content.slice(insertPos);
159
+ await fs.writeFile(manifestPath, content);
160
+ }
161
+ else {
162
+ throw new Error('Could not find application block in raindrop.manifest');
163
+ }
164
+ }
165
+ catch (error) {
166
+ if (error.code === 'ENOENT') {
167
+ throw new Error('raindrop.manifest not found. Are you in a Raindrop project directory?');
168
+ }
169
+ throw error;
170
+ }
171
+ }
172
+ }
@@ -0,0 +1,23 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class SmartSqlSetup extends BaseCommand<typeof SmartSqlSetup> {
3
+ static args: {};
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
8
+ 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ rainbowAuthService: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ raindropCatalogService: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ rainbowAuthToken: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ rainbowOrganizationId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ rainbowUserId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ sendVersionMetadata: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
16
+ };
17
+ run(): Promise<void>;
18
+ private generateExampleFile;
19
+ private findExistingBinding;
20
+ private findFirstHandler;
21
+ private updateManifest;
22
+ }
23
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/smartsql/setup.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW,CAAC,OAAO,aAAa,CAAC;IAC1E,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAAkF;IAEpG,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;MAUV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YA8EZ,mBAAmB;YAKnB,mBAAmB;YAanB,gBAAgB;YA2BhB,cAAc;CA8B7B"}