@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
@@ -1,231 +0,0 @@
1
- import {
2
- FileSystemBundle,
3
- archive
4
- } from "./chunk-25T7MEKO.js";
5
- import {
6
- buildHandlers
7
- } from "./chunk-O3QZDJ75.js";
8
- import {
9
- tmpdir
10
- } from "./chunk-IMP7O5AC.js";
11
- import {
12
- BundleArchiveType,
13
- Code,
14
- ConnectError,
15
- ReleaseRequest_LockSchema,
16
- create,
17
- init_cjs_shims,
18
- listEnvVars,
19
- valueOf
20
- } from "./chunk-FTPZ6SQW.js";
21
-
22
- // src/deploy.ts
23
- init_cjs_shims();
24
- import fs from "node:fs/promises";
25
- import * as path from "node:path";
26
- async function deploy(options) {
27
- const { command, root, manifest, output } = options;
28
- const manifestPath = path.isAbsolute(manifest) ? manifest : path.join(root, manifest);
29
- const buildDir = path.isAbsolute(output) ? output : path.join(root, output);
30
- const apps = await command.loadManifest();
31
- if (apps[0] === void 0) {
32
- command.error("There are no applications in the manifest");
33
- return "";
34
- }
35
- const app = apps[0];
36
- const manifestContents = await fs.readFile(manifestPath, "utf8");
37
- await buildHandlers(command, apps, buildDir, root);
38
- const runtimeVersion = await command.raindropFrameworkVersion();
39
- const { client: catalogService, userId, organizationId: defaultOrganizationId } = await command.catalogService();
40
- const organizationId = options.impersonate ?? defaultOrganizationId;
41
- let deployResp;
42
- try {
43
- deployResp = await catalogService.deploy({
44
- userId,
45
- organizationId,
46
- applications: [
47
- {
48
- application: valueOf(app.name),
49
- previousVersionId: options.previousVersionId,
50
- currentVersionId: options.currentVersionId,
51
- branch: options.branch,
52
- amend: options.amend,
53
- metadata: {
54
- runtimeVersion
55
- },
56
- manifest: manifestContents,
57
- lock: options.lock,
58
- suite: ""
59
- }
60
- ]
61
- });
62
- } catch (err) {
63
- if (err instanceof ConnectError && err.code === Code.FailedPrecondition) {
64
- command.error(
65
- `Failed to ${options.amend ? "amend" : "deploy"} ${valueOf(app.name)}@${options.previousVersionId}=>${options.currentVersionId}: ${err.message}`
66
- );
67
- }
68
- throw err;
69
- }
70
- if (deployResp.applications[0] === void 0) {
71
- command.error("Failed to deploy application");
72
- }
73
- const currentVersionId = deployResp.applications[0].currentVersionId;
74
- if (!currentVersionId) {
75
- command.error("Failed to retrieve current version ID from deployment response.");
76
- }
77
- const lock = deployResp.applications[0].lock;
78
- const config = await command.loadConfig();
79
- config.versionId = currentVersionId;
80
- config.lock = lock;
81
- await command.saveConfig(config);
82
- await checkEnvironmentVariables(command, app, catalogService, userId, organizationId, currentVersionId);
83
- await uploadBundles(command, app, buildDir, catalogService, userId, organizationId, currentVersionId);
84
- await uploadDbBundle(command, root, catalogService, userId, organizationId, app, currentVersionId);
85
- if (options.start) {
86
- await catalogService.setActive({
87
- userId,
88
- organizationId,
89
- applications: deployResp.applications.map((a) => ({
90
- applicationName: a.applicationName,
91
- currentVersionId: a.currentVersionId,
92
- isActive: options.start
93
- }))
94
- });
95
- }
96
- await catalogService.release({
97
- userId,
98
- organizationId,
99
- locks: deployResp.applications.map(
100
- (a) => create(ReleaseRequest_LockSchema, {
101
- applicationName: a.applicationName,
102
- currentVersionId: a.currentVersionId,
103
- lock: a.lock
104
- })
105
- )
106
- });
107
- config.lock = void 0;
108
- await command.saveConfig(config);
109
- return currentVersionId;
110
- }
111
- async function checkEnvironmentVariables(command, app, catalogService, userId, organizationId, currentVersionId) {
112
- const envVars = listEnvVars(app);
113
- if (Object.keys(envVars).length > 0) {
114
- const getEnvsResp = await catalogService.getEnvs({
115
- userId,
116
- organizationId,
117
- envs: Object.keys(envVars).map((key) => ({
118
- applicationName: valueOf(app.name),
119
- currentVersionId,
120
- key
121
- }))
122
- });
123
- let unset = false;
124
- const remoteEnvVars = Object.fromEntries(getEnvsResp.envs.map((env) => [env.key, env.value]));
125
- for (const key of Object.keys(envVars)) {
126
- const manifestDefault = envVars[key]?.default;
127
- const remoteValue = remoteEnvVars[key];
128
- if (remoteValue === void 0 && manifestDefault === void 0) {
129
- if (!unset) {
130
- command.warn(`The following environment variables were not set and are required for deployment:`);
131
- }
132
- unset = true;
133
- command.warn(key);
134
- }
135
- }
136
- if (unset) {
137
- command.error(
138
- "Please set environment variables before deploying. You can resume using `raindrop build deploy --amend`"
139
- );
140
- }
141
- }
142
- }
143
- async function uploadBundles(command, app, buildDir, catalogService, userId, organizationId, currentVersionId) {
144
- await Promise.all(
145
- app.handlers().map(async (handler) => {
146
- const bundle = new FileSystemBundle(path.join(buildDir, valueOf(handler.name)));
147
- await catalogService.uploadBundle({
148
- userId,
149
- organizationId,
150
- applicationName: valueOf(app.name),
151
- applicationVersionId: currentVersionId,
152
- archiveType: BundleArchiveType.ZIP,
153
- bundleName: valueOf(handler.name),
154
- archive: Buffer.from(await archive(bundle))
155
- });
156
- command.log(`Uploaded bundle "${valueOf(handler.name)}"`);
157
- })
158
- );
159
- }
160
- async function uploadDbBundle(command, root, catalogService, userId, organizationId, app, currentVersionId) {
161
- const dbDir = path.join(root, "db");
162
- let dbExists = false;
163
- try {
164
- const stat = await fs.lstat(dbDir);
165
- dbExists = stat.isDirectory();
166
- } catch (_e) {
167
- }
168
- if (dbExists) {
169
- command.log(`Checking for SQL files in ${dbDir}`);
170
- const files = await fs.readdir(dbDir, {
171
- withFileTypes: true
172
- });
173
- const folders = files.filter((file) => file.isDirectory());
174
- try {
175
- const tempDir = tmpdir();
176
- for (const folder of folders) {
177
- const sqlFiles = (await fs.readdir(path.join(dbDir, folder.name))).filter((file) => file.endsWith(".sql"));
178
- const tmpDbFolder = await fs.mkdir(path.join(tempDir, folder.name), { recursive: true });
179
- for (const sqlFile of sqlFiles) {
180
- await fs.copyFile(path.join(dbDir, folder.name, sqlFile), path.join(tmpDbFolder, sqlFile));
181
- }
182
- }
183
- const dbBundle = new FileSystemBundle(tempDir);
184
- await catalogService.uploadBundle({
185
- userId,
186
- organizationId,
187
- applicationName: valueOf(app.name),
188
- applicationVersionId: currentVersionId,
189
- archiveType: BundleArchiveType.ZIP,
190
- bundleName: "db",
191
- archive: Buffer.from(await archive(dbBundle))
192
- });
193
- command.log(`Uploaded db bundle with SQL files`);
194
- await fs.rm(tempDir, { recursive: true, force: true });
195
- } catch (error) {
196
- command.log(`Failed to upload db bundle: ${error}`);
197
- }
198
- }
199
- }
200
- async function sandbox(options) {
201
- const { command, versionId: versionIdRaw, impersonate, isSandboxed } = options;
202
- const config = await command.loadConfig();
203
- const { client: catalogService, userId, organizationId: defaultOrganizationId } = await command.catalogService();
204
- const organizationId = impersonate ?? defaultOrganizationId;
205
- const apps = await command.loadManifest();
206
- const app = apps[0];
207
- const versionId = versionIdRaw ?? config.versionId;
208
- if (!app) {
209
- throw new Error("No application found");
210
- }
211
- const applications = [
212
- {
213
- applicationName: valueOf(app.name),
214
- currentVersionId: versionId,
215
- isSandboxed
216
- }
217
- ];
218
- await catalogService.setSandbox({
219
- userId,
220
- organizationId,
221
- applications
222
- });
223
- config.sandbox = isSandboxed;
224
- await command.saveConfig(config);
225
- return applications;
226
- }
227
-
228
- export {
229
- deploy,
230
- sandbox
231
- };