@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,165 @@
1
+ import {
2
+ TEMPLATES_DIR,
3
+ renderTemplateFromFile
4
+ } from "../../../chunk-L6FRQULN.js";
5
+ import {
6
+ source_default
7
+ } from "../../../chunk-V6J23FL2.js";
8
+ import {
9
+ BaseCommand
10
+ } from "../../../chunk-TFQY5TSY.js";
11
+ import {
12
+ __toESM,
13
+ init_cjs_shims,
14
+ require_lib
15
+ } from "../../../chunk-KLOYSTZY.js";
16
+
17
+ // src/commands/build/smartbucket/setup.ts
18
+ init_cjs_shims();
19
+ var import_core = __toESM(require_lib(), 1);
20
+ import * as fs from "node:fs/promises";
21
+ import * as path from "node:path";
22
+ var SmartBucketSetup = class extends BaseCommand {
23
+ static args = {};
24
+ static description = "Add SmartBucket (file storage with AI-powered search) to your Raindrop app";
25
+ static examples = [
26
+ `<%= config.bin %> <%= command.id %>
27
+ Add SmartBucket with default name "my-bucket"
28
+
29
+ <%= config.bin %> <%= command.id %> --name documents
30
+ Add SmartBucket with custom name "documents"
31
+ `
32
+ ];
33
+ static flags = {
34
+ ...BaseCommand.HIDDEN_FLAGS,
35
+ name: import_core.Flags.string({
36
+ description: "Name for the SmartBucket binding",
37
+ default: "my-bucket"
38
+ }),
39
+ "dry-run": import_core.Flags.boolean({
40
+ description: "Preview changes without applying them",
41
+ default: false
42
+ })
43
+ };
44
+ async run() {
45
+ const existingBinding = await this.findExistingBinding("smartbucket");
46
+ const manifestName = existingBinding || this.flags.name;
47
+ const bindingName = manifestName.toUpperCase().replace(/-/g, "_");
48
+ const dryRun = this.flags["dry-run"];
49
+ const handlerName = await this.findFirstHandler();
50
+ if (!handlerName) {
51
+ this.log(source_default.yellow.bold("\u26A0 No service, actor, observer, or task found in manifest"));
52
+ this.log("");
53
+ this.log("SmartBucket examples require a handler to generate type-safe code.");
54
+ this.log("Please add a handler to your manifest first:");
55
+ this.log("");
56
+ this.log(source_default.cyan(' service "api" {'));
57
+ this.log(source_default.cyan(' visibility = "public"'));
58
+ this.log(source_default.cyan(" }"));
59
+ this.log("");
60
+ this.log("Then run:");
61
+ this.log(source_default.bold(" raindrop build generate"));
62
+ this.log(source_default.bold(" raindrop build smartbucket setup"));
63
+ return;
64
+ }
65
+ if (dryRun) {
66
+ this.log(source_default.blue.bold("DRY RUN - Preview of changes (no files will be modified)"));
67
+ this.log("");
68
+ this.log(source_default.blue("Would create:") + " " + source_default.bold("src/examples/smartbucket-minimal.ts"));
69
+ this.log(source_default.dim(" - 60 lines of example code"));
70
+ this.log(source_default.dim(" - Upload, download, list file operations"));
71
+ this.log("");
72
+ this.log(source_default.blue("Would update:") + " " + source_default.bold("raindrop.manifest"));
73
+ this.log(source_default.dim(` + smartbucket "${manifestName}" {}`));
74
+ this.log("");
75
+ this.log(source_default.blue("Environment binding:") + " " + source_default.bold(`this.env.${bindingName}`));
76
+ this.log("");
77
+ this.log(source_default.yellow("Run without --dry-run to apply these changes"));
78
+ return;
79
+ }
80
+ try {
81
+ const examplesDir = path.join(process.cwd(), "src", "examples");
82
+ await fs.mkdir(examplesDir, { recursive: true });
83
+ const exampleContent = await this.generateExampleFile(bindingName, handlerName);
84
+ const examplePath = path.join(examplesDir, "smartbucket-minimal.ts");
85
+ await fs.writeFile(examplePath, exampleContent);
86
+ this.log(source_default.green("\u2713") + " Created " + source_default.bold("src/examples/smartbucket-minimal.ts"));
87
+ await this.updateManifest(manifestName);
88
+ this.log(source_default.green("\u2713") + " Updated " + source_default.bold("raindrop.manifest"));
89
+ this.log("");
90
+ this.log(source_default.bold.cyan("Next Steps:"));
91
+ this.log("");
92
+ this.log("1. Run " + source_default.bold("raindrop build generate") + " to update types");
93
+ this.log("2. Check out " + source_default.bold("src/examples/smartbucket-minimal.ts") + " for example code");
94
+ this.log("3. Use " + source_default.bold(`this.env.${bindingName}`) + " in your handlers to store and search files");
95
+ this.log("");
96
+ this.log(source_default.dim("Example usage:"));
97
+ this.log(source_default.dim(` await this.env.${bindingName}.put('file.pdf', pdfData);`));
98
+ this.log(source_default.dim(` const file = await this.env.${bindingName}.get('file.pdf');`));
99
+ this.log("");
100
+ } catch (error) {
101
+ this.error(`Failed to set up SmartBucket: ${error instanceof Error ? error.message : "Unknown error"}`);
102
+ }
103
+ }
104
+ async generateExampleFile(bindingName, handlerName) {
105
+ const templatePath = path.join(TEMPLATES_DIR, "examples", "smartbucket-minimal.ts.hbs");
106
+ return renderTemplateFromFile(templatePath, { bindingName, handlerName });
107
+ }
108
+ async findExistingBinding(bindingType) {
109
+ const manifestPath = path.join(process.cwd(), "raindrop.manifest");
110
+ try {
111
+ const content = await fs.readFile(manifestPath, "utf-8");
112
+ const regex = new RegExp(`^\\s*${bindingType}\\s+"([^"]+)"`, "m");
113
+ const match = content.match(regex);
114
+ return match?.[1] || null;
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
+ const serviceMatch = content.match(/^\s*service\s+"([^"]+)"/m);
124
+ if (serviceMatch?.[1]) return serviceMatch[1];
125
+ const actorMatch = content.match(/^\s*actor\s+"([^"]+)"/m);
126
+ if (actorMatch?.[1]) return actorMatch[1];
127
+ const observerMatch = content.match(/^\s*observer\s+"([^"]+)"/m);
128
+ if (observerMatch?.[1]) return observerMatch[1];
129
+ const taskMatch = content.match(/^\s*task\s+"([^"]+)"/m);
130
+ if (taskMatch?.[1]) return taskMatch[1];
131
+ return null;
132
+ } catch (_error) {
133
+ return null;
134
+ }
135
+ }
136
+ async updateManifest(manifestName) {
137
+ const manifestPath = path.join(process.cwd(), "raindrop.manifest");
138
+ try {
139
+ let content = await fs.readFile(manifestPath, "utf-8");
140
+ if (content.includes(`smartbucket "${manifestName}"`)) {
141
+ this.log(source_default.yellow("\u26A0") + " SmartBucket binding already exists in manifest");
142
+ return;
143
+ }
144
+ const appMatch = content.match(/application\s+"[^"]+"\s+\{/);
145
+ if (appMatch) {
146
+ const insertPos = appMatch.index + appMatch[0].length;
147
+ const binding = `
148
+ smartbucket "${manifestName}" {}
149
+ `;
150
+ content = content.slice(0, insertPos) + binding + content.slice(insertPos);
151
+ await fs.writeFile(manifestPath, content);
152
+ } else {
153
+ throw new Error("Could not find application block in raindrop.manifest");
154
+ }
155
+ } catch (error) {
156
+ if (error.code === "ENOENT") {
157
+ throw new Error("raindrop.manifest not found. Are you in a Raindrop project directory?");
158
+ }
159
+ throw error;
160
+ }
161
+ }
162
+ };
163
+ export {
164
+ SmartBucketSetup as default
165
+ };
@@ -0,0 +1,171 @@
1
+ import {
2
+ TEMPLATES_DIR,
3
+ renderTemplateFromFile
4
+ } from "../../../chunk-L6FRQULN.js";
5
+ import {
6
+ source_default
7
+ } from "../../../chunk-V6J23FL2.js";
8
+ import {
9
+ BaseCommand
10
+ } from "../../../chunk-TFQY5TSY.js";
11
+ import {
12
+ __toESM,
13
+ init_cjs_shims,
14
+ require_lib
15
+ } from "../../../chunk-KLOYSTZY.js";
16
+
17
+ // src/commands/build/smartmemory/setup.ts
18
+ init_cjs_shims();
19
+ var import_core = __toESM(require_lib(), 1);
20
+ import * as fs from "node:fs/promises";
21
+ import * as path from "node:path";
22
+ var SmartMemorySetup = class extends BaseCommand {
23
+ static args = {};
24
+ static description = "Add SmartMemory (AI conversation memory management) to your Raindrop app";
25
+ static examples = [
26
+ `<%= config.bin %> <%= command.id %>
27
+ Add SmartMemory with default name "memory"
28
+
29
+ <%= config.bin %> <%= command.id %> --name chat-memory
30
+ Add SmartMemory with custom name "chat-memory"
31
+ `
32
+ ];
33
+ static flags = {
34
+ ...BaseCommand.HIDDEN_FLAGS,
35
+ name: import_core.Flags.string({
36
+ description: "Name for the SmartMemory binding",
37
+ default: "memory"
38
+ }),
39
+ "dry-run": import_core.Flags.boolean({
40
+ description: "Preview changes without applying them",
41
+ default: false
42
+ })
43
+ };
44
+ async run() {
45
+ const existingBinding = await this.findExistingBinding("smartmemory");
46
+ const manifestName = existingBinding || this.flags.name;
47
+ const bindingName = manifestName.toUpperCase().replace(/-/g, "_");
48
+ const dryRun = this.flags["dry-run"];
49
+ const handlerName = await this.findFirstHandler();
50
+ if (!handlerName) {
51
+ this.log(source_default.yellow.bold("\u26A0 No service, actor, observer, or task found in manifest"));
52
+ this.log("");
53
+ this.log("SmartMemory examples require a handler to generate type-safe code.");
54
+ this.log("Please add a handler to your manifest first:");
55
+ this.log("");
56
+ this.log(source_default.cyan(' service "api" {'));
57
+ this.log(source_default.cyan(' visibility = "public"'));
58
+ this.log(source_default.cyan(" }"));
59
+ this.log("");
60
+ this.log("Then run:");
61
+ this.log(source_default.bold(" raindrop build generate"));
62
+ this.log(source_default.bold(" raindrop build smartmemory setup"));
63
+ return;
64
+ }
65
+ if (dryRun) {
66
+ this.log(source_default.blue.bold("DRY RUN - Preview of changes (no files will be modified)"));
67
+ this.log("");
68
+ this.log(source_default.blue("Would create:") + " " + source_default.bold("src/examples/smartmemory-minimal.ts"));
69
+ this.log(source_default.dim(" - 50 lines of example code"));
70
+ this.log(source_default.dim(" - Session management, memory storage/retrieval, search, summarization"));
71
+ this.log("");
72
+ this.log(source_default.blue("Would update:") + " " + source_default.bold("raindrop.manifest"));
73
+ this.log(source_default.dim(` + smartmemory "${manifestName}" {}`));
74
+ this.log("");
75
+ this.log(source_default.blue("Environment binding:") + " " + source_default.bold(`this.env.${bindingName}`));
76
+ this.log("");
77
+ this.log(source_default.yellow("Run without --dry-run to apply these changes"));
78
+ return;
79
+ }
80
+ try {
81
+ const examplesDir = path.join(process.cwd(), "src", "examples");
82
+ await fs.mkdir(examplesDir, { recursive: true });
83
+ const exampleContent = await this.generateExampleFile(bindingName, handlerName);
84
+ const examplePath = path.join(examplesDir, "smartmemory-minimal.ts");
85
+ await fs.writeFile(examplePath, exampleContent);
86
+ this.log(source_default.green("\u2713") + " Created " + source_default.bold("src/examples/smartmemory-minimal.ts"));
87
+ await this.updateManifest(manifestName);
88
+ this.log(source_default.green("\u2713") + " Updated " + source_default.bold("raindrop.manifest"));
89
+ this.log("");
90
+ this.log(source_default.bold.cyan("Next Steps:"));
91
+ this.log("");
92
+ this.log("1. Run " + source_default.bold("raindrop build generate") + " to update types");
93
+ this.log("2. Check out " + source_default.bold("src/examples/smartmemory-minimal.ts") + " for example code");
94
+ this.log("3. Use " + source_default.bold(`this.env.${bindingName}`) + " in your handlers to manage conversation memory");
95
+ this.log("");
96
+ this.log(source_default.bold("Related features:"));
97
+ this.log(source_default.dim(" \u2022 SmartSQL for structured data: raindrop build smartsql setup"));
98
+ this.log(source_default.dim(" \u2022 SmartBucket for document context: raindrop build smartbucket setup"));
99
+ this.log(source_default.dim(" \u2022 Explore all features: raindrop build features"));
100
+ this.log("");
101
+ this.log(source_default.dim("Example usage:"));
102
+ this.log(source_default.dim(` const { sessionId, workingMemory } =`));
103
+ this.log(source_default.dim(` await this.env.${bindingName}.startWorkingMemorySession();`));
104
+ this.log(source_default.dim(` await workingMemory.putMemory({ content: 'User message', agent: 'user' });`));
105
+ this.log("");
106
+ } catch (error) {
107
+ this.error(`Failed to set up SmartMemory: ${error instanceof Error ? error.message : "Unknown error"}`);
108
+ }
109
+ }
110
+ async generateExampleFile(bindingName, handlerName) {
111
+ const templatePath = path.join(TEMPLATES_DIR, "examples", "smartmemory-minimal.ts.hbs");
112
+ return renderTemplateFromFile(templatePath, { bindingName, handlerName });
113
+ }
114
+ async findExistingBinding(bindingType) {
115
+ const manifestPath = path.join(process.cwd(), "raindrop.manifest");
116
+ try {
117
+ const content = await fs.readFile(manifestPath, "utf-8");
118
+ const regex = new RegExp(`^\\s*${bindingType}\\s+"([^"]+)"`, "m");
119
+ const match = content.match(regex);
120
+ return match?.[1] || null;
121
+ } catch (_error) {
122
+ return null;
123
+ }
124
+ }
125
+ async findFirstHandler() {
126
+ const manifestPath = path.join(process.cwd(), "raindrop.manifest");
127
+ try {
128
+ const content = await fs.readFile(manifestPath, "utf-8");
129
+ const serviceMatch = content.match(/^\s*service\s+"([^"]+)"/m);
130
+ if (serviceMatch?.[1]) return serviceMatch[1];
131
+ const actorMatch = content.match(/^\s*actor\s+"([^"]+)"/m);
132
+ if (actorMatch?.[1]) return actorMatch[1];
133
+ const observerMatch = content.match(/^\s*observer\s+"([^"]+)"/m);
134
+ if (observerMatch?.[1]) return observerMatch[1];
135
+ const taskMatch = content.match(/^\s*task\s+"([^"]+)"/m);
136
+ if (taskMatch?.[1]) return taskMatch[1];
137
+ return null;
138
+ } catch (_error) {
139
+ return null;
140
+ }
141
+ }
142
+ async updateManifest(manifestName) {
143
+ const manifestPath = path.join(process.cwd(), "raindrop.manifest");
144
+ try {
145
+ let content = await fs.readFile(manifestPath, "utf-8");
146
+ if (content.includes(`smartmemory "${manifestName}"`)) {
147
+ this.log(source_default.yellow("\u26A0") + " SmartMemory binding already exists in manifest");
148
+ return;
149
+ }
150
+ const appMatch = content.match(/application\s+"[^"]+"\s+\{/);
151
+ if (appMatch) {
152
+ const insertPos = appMatch.index + appMatch[0].length;
153
+ const binding = `
154
+ smartmemory "${manifestName}" {}
155
+ `;
156
+ content = content.slice(0, insertPos) + binding + content.slice(insertPos);
157
+ await fs.writeFile(manifestPath, content);
158
+ } else {
159
+ throw new Error("Could not find application block in raindrop.manifest");
160
+ }
161
+ } catch (error) {
162
+ if (error.code === "ENOENT") {
163
+ throw new Error("raindrop.manifest not found. Are you in a Raindrop project directory?");
164
+ }
165
+ throw error;
166
+ }
167
+ }
168
+ };
169
+ export {
170
+ SmartMemorySetup as default
171
+ };
@@ -0,0 +1,167 @@
1
+ import {
2
+ TEMPLATES_DIR,
3
+ renderTemplateFromFile
4
+ } from "../../../chunk-L6FRQULN.js";
5
+ import {
6
+ source_default
7
+ } from "../../../chunk-V6J23FL2.js";
8
+ import {
9
+ BaseCommand
10
+ } from "../../../chunk-TFQY5TSY.js";
11
+ import {
12
+ __toESM,
13
+ init_cjs_shims,
14
+ require_lib
15
+ } from "../../../chunk-KLOYSTZY.js";
16
+
17
+ // src/commands/build/smartsql/setup.ts
18
+ init_cjs_shims();
19
+ var import_core = __toESM(require_lib(), 1);
20
+ import * as fs from "node:fs/promises";
21
+ import * as path from "node:path";
22
+ var SmartSqlSetup = class extends BaseCommand {
23
+ static args = {};
24
+ static description = "Add SmartSQL (PostgreSQL with natural language queries) to your Raindrop app";
25
+ static examples = [
26
+ `<%= config.bin %> <%= command.id %>
27
+ Add SmartSQL with default name "my-database"
28
+
29
+ <%= config.bin %> <%= command.id %> --name orders-db
30
+ Add SmartSQL with custom name "orders-db"
31
+ `
32
+ ];
33
+ static flags = {
34
+ ...BaseCommand.HIDDEN_FLAGS,
35
+ name: import_core.Flags.string({
36
+ description: "Name for the SmartSQL binding",
37
+ default: "my-database"
38
+ }),
39
+ "dry-run": import_core.Flags.boolean({
40
+ description: "Preview changes without applying them",
41
+ default: false
42
+ })
43
+ };
44
+ async run() {
45
+ const existingBinding = await this.findExistingBinding("smartsql");
46
+ const manifestName = existingBinding || this.flags.name;
47
+ const bindingName = manifestName.toUpperCase().replace(/-/g, "_");
48
+ const dryRun = this.flags["dry-run"];
49
+ const handlerName = await this.findFirstHandler();
50
+ if (!handlerName) {
51
+ this.log(source_default.yellow.bold("\u26A0 No service, actor, observer, or task found in manifest"));
52
+ this.log("");
53
+ this.log("SmartSQL examples require a handler to generate type-safe code.");
54
+ this.log("Please add a handler to your manifest first:");
55
+ this.log("");
56
+ this.log(source_default.cyan(' service "api" {'));
57
+ this.log(source_default.cyan(' visibility = "public"'));
58
+ this.log(source_default.cyan(" }"));
59
+ this.log("");
60
+ this.log("Then run:");
61
+ this.log(source_default.bold(" raindrop build generate"));
62
+ this.log(source_default.bold(" raindrop build smartsql setup"));
63
+ return;
64
+ }
65
+ if (dryRun) {
66
+ this.log(source_default.blue.bold("DRY RUN - Preview of changes (no files will be modified)"));
67
+ this.log("");
68
+ this.log(source_default.blue("Would create:") + " " + source_default.bold("src/examples/smartsql-minimal.ts"));
69
+ this.log(source_default.dim(" - 55 lines of example code"));
70
+ this.log(source_default.dim(" - SQL queries, natural language queries, metadata management"));
71
+ this.log("");
72
+ this.log(source_default.blue("Would update:") + " " + source_default.bold("raindrop.manifest"));
73
+ this.log(source_default.dim(` + smartsql "${manifestName}" {}`));
74
+ this.log("");
75
+ this.log(source_default.blue("Environment binding:") + " " + source_default.bold(`this.env.${bindingName}`));
76
+ this.log("");
77
+ this.log(source_default.yellow("Run without --dry-run to apply these changes"));
78
+ return;
79
+ }
80
+ try {
81
+ const examplesDir = path.join(process.cwd(), "src", "examples");
82
+ await fs.mkdir(examplesDir, { recursive: true });
83
+ const exampleContent = await this.generateExampleFile(bindingName, handlerName);
84
+ const examplePath = path.join(examplesDir, "smartsql-minimal.ts");
85
+ await fs.writeFile(examplePath, exampleContent);
86
+ this.log(source_default.green("\u2713") + " Created " + source_default.bold("src/examples/smartsql-minimal.ts"));
87
+ await this.updateManifest(manifestName);
88
+ this.log(source_default.green("\u2713") + " Updated " + source_default.bold("raindrop.manifest"));
89
+ this.log("");
90
+ this.log(source_default.bold.cyan("Next Steps:"));
91
+ this.log("");
92
+ this.log("1. Run " + source_default.bold("raindrop build generate") + " to update types");
93
+ this.log("2. Check out " + source_default.bold("src/examples/smartsql-minimal.ts") + " for example code");
94
+ this.log("3. Use " + source_default.bold(`this.env.${bindingName}`) + " in your handlers to query your database");
95
+ this.log("");
96
+ this.log(source_default.dim("Example usage:"));
97
+ this.log(source_default.dim(` const result = await this.env.${bindingName}.executeQuery({`));
98
+ this.log(source_default.dim(` sqlQuery: 'SELECT * FROM users',`));
99
+ this.log(source_default.dim(` format: 'json'`));
100
+ this.log(source_default.dim(` });`));
101
+ this.log("");
102
+ } catch (error) {
103
+ this.error(`Failed to set up SmartSQL: ${error instanceof Error ? error.message : "Unknown error"}`);
104
+ }
105
+ }
106
+ async generateExampleFile(bindingName, handlerName) {
107
+ const templatePath = path.join(TEMPLATES_DIR, "examples", "smartsql-minimal.ts.hbs");
108
+ return renderTemplateFromFile(templatePath, { bindingName, handlerName });
109
+ }
110
+ async findExistingBinding(bindingType) {
111
+ const manifestPath = path.join(process.cwd(), "raindrop.manifest");
112
+ try {
113
+ const content = await fs.readFile(manifestPath, "utf-8");
114
+ const regex = new RegExp(`^\\s*${bindingType}\\s+"([^"]+)"`, "m");
115
+ const match = content.match(regex);
116
+ return match?.[1] || null;
117
+ } catch (_error) {
118
+ return null;
119
+ }
120
+ }
121
+ async findFirstHandler() {
122
+ const manifestPath = path.join(process.cwd(), "raindrop.manifest");
123
+ try {
124
+ const content = await fs.readFile(manifestPath, "utf-8");
125
+ const serviceMatch = content.match(/^\s*service\s+"([^"]+)"/m);
126
+ if (serviceMatch?.[1]) return serviceMatch[1];
127
+ const actorMatch = content.match(/^\s*actor\s+"([^"]+)"/m);
128
+ if (actorMatch?.[1]) return actorMatch[1];
129
+ const observerMatch = content.match(/^\s*observer\s+"([^"]+)"/m);
130
+ if (observerMatch?.[1]) return observerMatch[1];
131
+ const taskMatch = content.match(/^\s*task\s+"([^"]+)"/m);
132
+ if (taskMatch?.[1]) return taskMatch[1];
133
+ return null;
134
+ } catch (_error) {
135
+ return null;
136
+ }
137
+ }
138
+ async updateManifest(manifestName) {
139
+ const manifestPath = path.join(process.cwd(), "raindrop.manifest");
140
+ try {
141
+ let content = await fs.readFile(manifestPath, "utf-8");
142
+ if (content.includes(`smartsql "${manifestName}"`)) {
143
+ this.log(source_default.yellow("\u26A0") + " SmartSQL binding already exists in manifest");
144
+ return;
145
+ }
146
+ const appMatch = content.match(/application\s+"[^"]+"\s+\{/);
147
+ if (appMatch) {
148
+ const insertPos = appMatch.index + appMatch[0].length;
149
+ const binding = `
150
+ smartsql "${manifestName}" {}
151
+ `;
152
+ content = content.slice(0, insertPos) + binding + content.slice(insertPos);
153
+ await fs.writeFile(manifestPath, content);
154
+ } else {
155
+ throw new Error("Could not find application block in raindrop.manifest");
156
+ }
157
+ } catch (error) {
158
+ if (error.code === "ENOENT") {
159
+ throw new Error("raindrop.manifest not found. Are you in a Raindrop project directory?");
160
+ }
161
+ throw error;
162
+ }
163
+ }
164
+ };
165
+ export {
166
+ SmartSqlSetup as default
167
+ };
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  BaseCommand
3
- } from "../../chunk-LDFYPOXJ.js";
3
+ } from "../../chunk-TFQY5TSY.js";
4
4
  import {
5
5
  __toESM,
6
6
  init_cjs_shims,
7
7
  require_lib,
8
8
  valueOf
9
- } from "../../chunk-V5LHJTYS.js";
9
+ } from "../../chunk-KLOYSTZY.js";
10
10
 
11
11
  // src/commands/build/start.ts
12
12
  init_cjs_shims();
@@ -4,14 +4,14 @@ import {
4
4
  getStatus,
5
5
  statusString,
6
6
  watchStatus
7
- } from "../../chunk-5245CEUM.js";
7
+ } from "../../chunk-AGG7JZVH.js";
8
8
  import {
9
9
  checkAndDisplayKillswitchStatus
10
- } from "../../chunk-ER2RCPCY.js";
11
- import "../../chunk-36GNZK4A.js";
10
+ } from "../../chunk-V54KHS5B.js";
11
+ import "../../chunk-V6J23FL2.js";
12
12
  import {
13
13
  BaseCommand
14
- } from "../../chunk-LDFYPOXJ.js";
14
+ } from "../../chunk-TFQY5TSY.js";
15
15
  import {
16
16
  __commonJS,
17
17
  __require,
@@ -19,7 +19,7 @@ import {
19
19
  init_cjs_shims,
20
20
  require_lib,
21
21
  require_string_width
22
- } from "../../chunk-V5LHJTYS.js";
22
+ } from "../../chunk-KLOYSTZY.js";
23
23
 
24
24
  // ../../node_modules/.pnpm/cli-table3@0.6.5/node_modules/cli-table3/src/debug.js
25
25
  var require_debug = __commonJS({
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  BaseCommand
3
- } from "../../chunk-LDFYPOXJ.js";
3
+ } from "../../chunk-TFQY5TSY.js";
4
4
  import {
5
5
  __toESM,
6
6
  init_cjs_shims,
7
7
  require_lib,
8
8
  valueOf
9
- } from "../../chunk-V5LHJTYS.js";
9
+ } from "../../chunk-KLOYSTZY.js";
10
10
 
11
11
  // src/commands/build/stop.ts
12
12
  init_cjs_shims();
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  source_default
3
- } from "../../../chunk-36GNZK4A.js";
3
+ } from "../../../chunk-V6J23FL2.js";
4
4
  import {
5
5
  BaseCommand,
6
6
  open_default
7
- } from "../../../chunk-LDFYPOXJ.js";
7
+ } from "../../../chunk-TFQY5TSY.js";
8
8
  import {
9
9
  StripeMode,
10
10
  __toESM,
11
11
  init_cjs_shims,
12
12
  require_lib
13
- } from "../../../chunk-V5LHJTYS.js";
13
+ } from "../../../chunk-KLOYSTZY.js";
14
14
 
15
15
  // src/commands/build/stripe/dashboard.ts
16
16
  init_cjs_shims();
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  source_default
3
- } from "../../../chunk-36GNZK4A.js";
3
+ } from "../../../chunk-V6J23FL2.js";
4
4
  import {
5
5
  BaseCommand,
6
6
  open_default
7
- } from "../../../chunk-LDFYPOXJ.js";
7
+ } from "../../../chunk-TFQY5TSY.js";
8
8
  import {
9
9
  StripeMode,
10
10
  __toESM,
11
11
  init_cjs_shims,
12
12
  require_lib
13
- } from "../../../chunk-V5LHJTYS.js";
13
+ } from "../../../chunk-KLOYSTZY.js";
14
14
 
15
15
  // src/commands/build/stripe/onboard.ts
16
16
  init_cjs_shims();
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  source_default
3
- } from "../../../chunk-36GNZK4A.js";
3
+ } from "../../../chunk-V6J23FL2.js";
4
4
  import {
5
5
  BaseCommand
6
- } from "../../../chunk-LDFYPOXJ.js";
6
+ } from "../../../chunk-TFQY5TSY.js";
7
7
  import {
8
8
  StripeAccountType,
9
9
  StripeBusinessType,
@@ -12,7 +12,7 @@ import {
12
12
  init_cjs_shims,
13
13
  readState,
14
14
  require_lib
15
- } from "../../../chunk-V5LHJTYS.js";
15
+ } from "../../../chunk-KLOYSTZY.js";
16
16
 
17
17
  // src/commands/build/stripe/setup.ts
18
18
  init_cjs_shims();
@@ -3,28 +3,28 @@ import {
3
3
  formatCentsToDollars,
4
4
  parseInterval,
5
5
  parsePriceToCents
6
- } from "../../../chunk-3GFKUF5D.js";
6
+ } from "../../../chunk-3EYKCHIK.js";
7
7
  import {
8
- esm_default,
9
- esm_default2,
10
- esm_default3
11
- } from "../../../chunk-6BT265R3.js";
8
+ deploy
9
+ } from "../../../chunk-DPV5HIG7.js";
10
+ import "../../../chunk-MJBLNWG3.js";
11
+ import "../../../chunk-JQONDSHY.js";
12
+ import "../../../chunk-L6FRQULN.js";
12
13
  import {
13
14
  watchStatus
14
- } from "../../../chunk-5245CEUM.js";
15
+ } from "../../../chunk-AGG7JZVH.js";
15
16
  import {
16
17
  source_default
17
- } from "../../../chunk-36GNZK4A.js";
18
+ } from "../../../chunk-V6J23FL2.js";
18
19
  import {
19
- deploy
20
- } from "../../../chunk-JLVDTXO2.js";
21
- import "../../../chunk-KQZJHBNG.js";
22
- import "../../../chunk-DLH7MI57.js";
23
- import "../../../chunk-AK77X5GL.js";
20
+ esm_default,
21
+ esm_default2,
22
+ esm_default3
23
+ } from "../../../chunk-YQCRWPNI.js";
24
24
  import {
25
25
  BaseCommand,
26
26
  open_default
27
- } from "../../../chunk-LDFYPOXJ.js";
27
+ } from "../../../chunk-TFQY5TSY.js";
28
28
  import {
29
29
  RecurringInterval,
30
30
  StripeAccountType,
@@ -35,7 +35,7 @@ import {
35
35
  readState,
36
36
  require_lib,
37
37
  valueOf
38
- } from "../../../chunk-V5LHJTYS.js";
38
+ } from "../../../chunk-KLOYSTZY.js";
39
39
 
40
40
  // src/commands/build/stripe/start.ts
41
41
  init_cjs_shims();