@warlock.js/core 4.0.162 → 4.0.163

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 (901) hide show
  1. package/esm/benchmark/index.d.ts +7 -0
  2. package/esm/benchmark/index.d.ts.map +1 -0
  3. package/esm/benchmark/profiler.d.ts +63 -0
  4. package/esm/benchmark/profiler.d.ts.map +1 -0
  5. package/esm/benchmark/profiler.js +155 -0
  6. package/esm/benchmark/profiler.js.map +1 -0
  7. package/esm/benchmark/types.d.ts +167 -0
  8. package/esm/benchmark/types.d.ts.map +1 -0
  9. package/esm/bootstrap/setup.d.ts +2 -0
  10. package/esm/bootstrap/setup.d.ts.map +1 -0
  11. package/esm/bootstrap/setup.js +14 -0
  12. package/esm/bootstrap/setup.js.map +1 -0
  13. package/esm/bootstrap.d.ts +2 -0
  14. package/esm/bootstrap.d.ts.map +1 -0
  15. package/esm/bootstrap.js +5 -0
  16. package/esm/bootstrap.js.map +1 -0
  17. package/esm/cache/database-cache-driver.d.ts +56 -0
  18. package/esm/cache/database-cache-driver.d.ts.map +1 -0
  19. package/esm/cache/database-cache-driver.js +112 -0
  20. package/esm/cache/database-cache-driver.js.map +1 -0
  21. package/esm/cache/index.d.ts +3 -0
  22. package/esm/cache/index.d.ts.map +1 -0
  23. package/esm/cache/index.js +1 -0
  24. package/esm/cache/index.js.map +1 -0
  25. package/esm/cli/cli-command.d.ts +115 -0
  26. package/esm/cli/cli-command.d.ts.map +1 -0
  27. package/esm/cli/cli-command.js +227 -0
  28. package/esm/cli/cli-command.js.map +1 -0
  29. package/esm/cli/cli-commands.manager.d.ts +71 -0
  30. package/esm/cli/cli-commands.manager.d.ts.map +1 -0
  31. package/esm/cli/cli-commands.manager.js +362 -0
  32. package/esm/cli/cli-commands.manager.js.map +1 -0
  33. package/esm/cli/cli-commands.utils.d.ts +69 -0
  34. package/esm/cli/cli-commands.utils.d.ts.map +1 -0
  35. package/esm/cli/cli-commands.utils.js +180 -0
  36. package/esm/cli/cli-commands.utils.js.map +1 -0
  37. package/esm/cli/commands/add.command.d.ts +2 -0
  38. package/esm/cli/commands/add.command.d.ts.map +1 -0
  39. package/esm/cli/commands/add.command.js +15 -0
  40. package/esm/cli/commands/add.command.js.map +1 -0
  41. package/esm/cli/commands/build.command.d.ts +2 -0
  42. package/esm/cli/commands/build.command.d.ts.map +1 -0
  43. package/esm/cli/commands/build.command.js +8 -0
  44. package/esm/cli/commands/build.command.js.map +1 -0
  45. package/esm/cli/commands/create-database.command.d.ts +2 -0
  46. package/esm/cli/commands/create-database.command.d.ts.map +1 -0
  47. package/esm/cli/commands/create-database.command.js +18 -0
  48. package/esm/cli/commands/create-database.command.js.map +1 -0
  49. package/esm/cli/commands/dev-server.command.d.ts +2 -0
  50. package/esm/cli/commands/dev-server.command.d.ts.map +1 -0
  51. package/esm/cli/commands/dev-server.command.js +18 -0
  52. package/esm/cli/commands/dev-server.command.js.map +1 -0
  53. package/esm/cli/commands/drop-tables.command.d.ts +2 -0
  54. package/esm/cli/commands/drop-tables.command.d.ts.map +1 -0
  55. package/esm/cli/commands/drop-tables.command.js +17 -0
  56. package/esm/cli/commands/drop-tables.command.js.map +1 -0
  57. package/esm/cli/commands/generate/generate.command.d.ts +10 -0
  58. package/esm/cli/commands/generate/generate.command.d.ts.map +1 -0
  59. package/esm/cli/commands/generate/generate.command.js +188 -0
  60. package/esm/cli/commands/generate/generate.command.js.map +1 -0
  61. package/esm/cli/commands/generate/generators/column-dsl-parser.d.ts +11 -0
  62. package/esm/cli/commands/generate/generators/column-dsl-parser.d.ts.map +1 -0
  63. package/esm/cli/commands/generate/generators/column-dsl-parser.js +47 -0
  64. package/esm/cli/commands/generate/generators/column-dsl-parser.js.map +1 -0
  65. package/esm/cli/commands/generate/generators/controller.generator.d.ts +3 -0
  66. package/esm/cli/commands/generate/generators/controller.generator.d.ts.map +1 -0
  67. package/esm/cli/commands/generate/generators/controller.generator.js +51 -0
  68. package/esm/cli/commands/generate/generators/controller.generator.js.map +1 -0
  69. package/esm/cli/commands/generate/generators/migration.generator.d.ts +13 -0
  70. package/esm/cli/commands/generate/generators/migration.generator.d.ts.map +1 -0
  71. package/esm/cli/commands/generate/generators/migration.generator.js +82 -0
  72. package/esm/cli/commands/generate/generators/migration.generator.js.map +1 -0
  73. package/esm/cli/commands/generate/generators/model.generator.d.ts +3 -0
  74. package/esm/cli/commands/generate/generators/model.generator.d.ts.map +1 -0
  75. package/esm/cli/commands/generate/generators/model.generator.js +58 -0
  76. package/esm/cli/commands/generate/generators/model.generator.js.map +1 -0
  77. package/esm/cli/commands/generate/generators/module.generator.d.ts +3 -0
  78. package/esm/cli/commands/generate/generators/module.generator.d.ts.map +1 -0
  79. package/esm/cli/commands/generate/generators/module.generator.js +149 -0
  80. package/esm/cli/commands/generate/generators/module.generator.js.map +1 -0
  81. package/esm/cli/commands/generate/generators/repository.generator.d.ts +3 -0
  82. package/esm/cli/commands/generate/generators/repository.generator.d.ts.map +1 -0
  83. package/esm/cli/commands/generate/generators/repository.generator.js +37 -0
  84. package/esm/cli/commands/generate/generators/repository.generator.js.map +1 -0
  85. package/esm/cli/commands/generate/generators/resource.generator.d.ts +3 -0
  86. package/esm/cli/commands/generate/generators/resource.generator.d.ts.map +1 -0
  87. package/esm/cli/commands/generate/generators/resource.generator.js +37 -0
  88. package/esm/cli/commands/generate/generators/resource.generator.js.map +1 -0
  89. package/esm/cli/commands/generate/generators/service.generator.d.ts +3 -0
  90. package/esm/cli/commands/generate/generators/service.generator.d.ts.map +1 -0
  91. package/esm/cli/commands/generate/generators/service.generator.js +37 -0
  92. package/esm/cli/commands/generate/generators/service.generator.js.map +1 -0
  93. package/esm/cli/commands/generate/generators/validation.generator.d.ts +3 -0
  94. package/esm/cli/commands/generate/generators/validation.generator.d.ts.map +1 -0
  95. package/esm/cli/commands/generate/generators/validation.generator.js +46 -0
  96. package/esm/cli/commands/generate/generators/validation.generator.js.map +1 -0
  97. package/esm/cli/commands/generate/templates/stubs.d.ts +129 -0
  98. package/esm/cli/commands/generate/templates/stubs.d.ts.map +1 -0
  99. package/esm/cli/commands/generate/templates/stubs.js +528 -0
  100. package/esm/cli/commands/generate/templates/stubs.js.map +1 -0
  101. package/esm/cli/commands/generate/types.d.ts +53 -0
  102. package/esm/cli/commands/generate/types.d.ts.map +1 -0
  103. package/esm/cli/commands/generate/utils/name-parser.d.ts +40 -0
  104. package/esm/cli/commands/generate/utils/name-parser.d.ts.map +1 -0
  105. package/esm/cli/commands/generate/utils/name-parser.js +65 -0
  106. package/esm/cli/commands/generate/utils/name-parser.js.map +1 -0
  107. package/esm/cli/commands/generate/utils/path-resolver.d.ts +30 -0
  108. package/esm/cli/commands/generate/utils/path-resolver.d.ts.map +1 -0
  109. package/esm/cli/commands/generate/utils/path-resolver.js +42 -0
  110. package/esm/cli/commands/generate/utils/path-resolver.js.map +1 -0
  111. package/esm/cli/commands/generate/utils/prompt.d.ts +13 -0
  112. package/esm/cli/commands/generate/utils/prompt.d.ts.map +1 -0
  113. package/esm/cli/commands/generate/utils/prompt.js +21 -0
  114. package/esm/cli/commands/generate/utils/prompt.js.map +1 -0
  115. package/esm/cli/commands/migrate.command.d.ts +2 -0
  116. package/esm/cli/commands/migrate.command.d.ts.map +1 -0
  117. package/esm/cli/commands/migrate.command.js +52 -0
  118. package/esm/cli/commands/migrate.command.js.map +1 -0
  119. package/esm/cli/commands/seed.command.d.ts +2 -0
  120. package/esm/cli/commands/seed.command.d.ts.map +1 -0
  121. package/esm/cli/commands/seed.command.js +24 -0
  122. package/esm/cli/commands/seed.command.js.map +1 -0
  123. package/esm/cli/commands/start-production.command.d.ts +2 -0
  124. package/esm/cli/commands/start-production.command.d.ts.map +1 -0
  125. package/esm/cli/commands/start-production.command.js +65 -0
  126. package/esm/cli/commands/start-production.command.js.map +1 -0
  127. package/esm/cli/commands/storage-put.action.d.ts +22 -0
  128. package/esm/cli/commands/storage-put.action.d.ts.map +1 -0
  129. package/esm/cli/commands/storage-put.action.js +75 -0
  130. package/esm/cli/commands/storage-put.action.js.map +1 -0
  131. package/esm/cli/commands/storage-put.command.d.ts +20 -0
  132. package/esm/cli/commands/storage-put.command.d.ts.map +1 -0
  133. package/esm/cli/commands/storage-put.command.js +41 -0
  134. package/esm/cli/commands/storage-put.command.js.map +1 -0
  135. package/esm/cli/commands/typings-generator.command.d.ts +2 -0
  136. package/esm/cli/commands/typings-generator.command.d.ts.map +1 -0
  137. package/esm/cli/commands/typings-generator.command.js +37 -0
  138. package/esm/cli/commands/typings-generator.command.js.map +1 -0
  139. package/esm/cli/commands-loader.d.ts +18 -0
  140. package/esm/cli/commands-loader.d.ts.map +1 -0
  141. package/esm/cli/commands-loader.js +45 -0
  142. package/esm/cli/commands-loader.js.map +1 -0
  143. package/esm/cli/framework-cli-commands.d.ts +2 -0
  144. package/esm/cli/framework-cli-commands.d.ts.map +1 -0
  145. package/esm/cli/framework-cli-commands.js +27 -0
  146. package/esm/cli/framework-cli-commands.js.map +1 -0
  147. package/esm/cli/index.d.ts +3 -0
  148. package/esm/cli/index.d.ts.map +1 -0
  149. package/esm/cli/index.js +1 -0
  150. package/esm/cli/index.js.map +1 -0
  151. package/esm/cli/parse-cli-args.d.ts +18 -0
  152. package/esm/cli/parse-cli-args.d.ts.map +1 -0
  153. package/esm/cli/parse-cli-args.js +82 -0
  154. package/esm/cli/parse-cli-args.js.map +1 -0
  155. package/esm/cli/start.d.ts +2 -0
  156. package/esm/cli/start.d.ts.map +1 -0
  157. package/esm/cli/start.js +2 -0
  158. package/esm/cli/start.js.map +1 -0
  159. package/esm/cli/string-similarity.d.ts +44 -0
  160. package/esm/cli/string-similarity.d.ts.map +1 -0
  161. package/esm/cli/string-similarity.js +57 -0
  162. package/esm/cli/string-similarity.js.map +1 -0
  163. package/esm/cli/types.d.ts +218 -0
  164. package/esm/cli/types.d.ts.map +1 -0
  165. package/esm/config/config-getter.d.ts +35 -0
  166. package/esm/config/config-getter.d.ts.map +1 -0
  167. package/esm/config/config-getter.js +21 -0
  168. package/esm/config/config-getter.js.map +1 -0
  169. package/esm/config/config-handlers.d.ts +7 -0
  170. package/esm/config/config-handlers.d.ts.map +1 -0
  171. package/esm/config/config-handlers.js +19 -0
  172. package/esm/config/config-handlers.js.map +1 -0
  173. package/esm/config/config-loader.d.ts +37 -0
  174. package/esm/config/config-loader.d.ts.map +1 -0
  175. package/esm/config/config-loader.js +85 -0
  176. package/esm/config/config-loader.js.map +1 -0
  177. package/esm/config/config-manager.d.ts +22 -0
  178. package/esm/config/config-manager.d.ts.map +1 -0
  179. package/esm/config/config-manager.js +25 -0
  180. package/esm/config/config-manager.js.map +1 -0
  181. package/esm/config/config-special-handlers.d.ts +17 -0
  182. package/esm/config/config-special-handlers.d.ts.map +1 -0
  183. package/esm/config/config-special-handlers.js +23 -0
  184. package/esm/config/config-special-handlers.js.map +1 -0
  185. package/esm/config/index.d.ts +5 -0
  186. package/esm/config/index.d.ts.map +1 -0
  187. package/esm/config/load-config-files.d.ts +6 -0
  188. package/esm/config/load-config-files.d.ts.map +1 -0
  189. package/esm/config/load-config-files.js +19 -0
  190. package/esm/config/load-config-files.js.map +1 -0
  191. package/esm/config/types.d.ts +52 -0
  192. package/esm/config/types.d.ts.map +1 -0
  193. package/esm/connectors/base-connector.d.ts +49 -0
  194. package/esm/connectors/base-connector.d.ts.map +1 -0
  195. package/esm/connectors/base-connector.js +48 -0
  196. package/esm/connectors/base-connector.js.map +1 -0
  197. package/esm/connectors/cache-connector.d.ts +23 -0
  198. package/esm/connectors/cache-connector.d.ts.map +1 -0
  199. package/esm/connectors/cache-connector.js +35 -0
  200. package/esm/connectors/cache-connector.js.map +1 -0
  201. package/esm/connectors/communicator-connector.d.ts +23 -0
  202. package/esm/connectors/communicator-connector.d.ts.map +1 -0
  203. package/esm/connectors/communicator-connector.js +62 -0
  204. package/esm/connectors/communicator-connector.js.map +1 -0
  205. package/esm/connectors/connectors-manager.d.ts +42 -0
  206. package/esm/connectors/connectors-manager.d.ts.map +1 -0
  207. package/esm/connectors/connectors-manager.js +93 -0
  208. package/esm/connectors/connectors-manager.js.map +1 -0
  209. package/esm/connectors/database-connector.d.ts +23 -0
  210. package/esm/connectors/database-connector.d.ts.map +1 -0
  211. package/esm/connectors/database-connector.js +51 -0
  212. package/esm/connectors/database-connector.js.map +1 -0
  213. package/esm/connectors/http-connector.d.ts +31 -0
  214. package/esm/connectors/http-connector.d.ts.map +1 -0
  215. package/esm/connectors/http-connector.js +83 -0
  216. package/esm/connectors/http-connector.js.map +1 -0
  217. package/esm/connectors/index.d.ts +15 -0
  218. package/esm/connectors/index.d.ts.map +1 -0
  219. package/esm/connectors/logger-connector.d.ts +23 -0
  220. package/esm/connectors/logger-connector.d.ts.map +1 -0
  221. package/esm/connectors/logger-connector.js +45 -0
  222. package/esm/connectors/logger-connector.js.map +1 -0
  223. package/esm/connectors/mail-connector.d.ts +23 -0
  224. package/esm/connectors/mail-connector.d.ts.map +1 -0
  225. package/esm/connectors/mail-connector.js +45 -0
  226. package/esm/connectors/mail-connector.js.map +1 -0
  227. package/esm/connectors/storage.connector.d.ts +23 -0
  228. package/esm/connectors/storage.connector.d.ts.map +1 -0
  229. package/esm/connectors/storage.connector.js +30 -0
  230. package/esm/connectors/storage.connector.js.map +1 -0
  231. package/esm/connectors/types.d.ts +54 -0
  232. package/esm/connectors/types.d.ts.map +1 -0
  233. package/esm/connectors/types.js +13 -0
  234. package/esm/connectors/types.js.map +1 -0
  235. package/esm/database/create-database-action.d.ts +3 -0
  236. package/esm/database/create-database-action.d.ts.map +1 -0
  237. package/esm/database/create-database-action.js +28 -0
  238. package/esm/database/create-database-action.js.map +1 -0
  239. package/esm/database/drop-tables-action.d.ts +3 -0
  240. package/esm/database/drop-tables-action.d.ts.map +1 -0
  241. package/esm/database/drop-tables-action.js +29 -0
  242. package/esm/database/drop-tables-action.js.map +1 -0
  243. package/esm/database/index.d.ts +4 -0
  244. package/esm/database/index.d.ts.map +1 -0
  245. package/esm/database/migrate-action.d.ts +8 -0
  246. package/esm/database/migrate-action.d.ts.map +1 -0
  247. package/esm/database/migrate-action.js +118 -0
  248. package/esm/database/migrate-action.js.map +1 -0
  249. package/esm/database/models/database-log/database-log.d.ts +16 -0
  250. package/esm/database/models/database-log/database-log.d.ts.map +1 -0
  251. package/esm/database/models/database-log/database-log.js +17 -0
  252. package/esm/database/models/database-log/database-log.js.map +1 -0
  253. package/esm/database/models/database-log/index.d.ts +2 -0
  254. package/esm/database/models/database-log/index.d.ts.map +1 -0
  255. package/esm/database/seed-command-action.d.ts +3 -0
  256. package/esm/database/seed-command-action.d.ts.map +1 -0
  257. package/esm/database/seed-command-action.js +36 -0
  258. package/esm/database/seed-command-action.js.map +1 -0
  259. package/esm/database/seeds/index.d.ts +3 -0
  260. package/esm/database/seeds/index.d.ts.map +1 -0
  261. package/esm/database/seeds/seeder.d.ts +40 -0
  262. package/esm/database/seeds/seeder.d.ts.map +1 -0
  263. package/esm/database/seeds/seeder.js +6 -0
  264. package/esm/database/seeds/seeder.js.map +1 -0
  265. package/esm/database/seeds/seeders.manager.d.ts +47 -0
  266. package/esm/database/seeds/seeders.manager.d.ts.map +1 -0
  267. package/esm/database/seeds/seeders.manager.js +144 -0
  268. package/esm/database/seeds/seeders.manager.js.map +1 -0
  269. package/esm/database/seeds/seeds-table-migration.d.ts +8 -0
  270. package/esm/database/seeds/seeds-table-migration.d.ts.map +1 -0
  271. package/esm/database/seeds/seeds-table-migration.js +18 -0
  272. package/esm/database/seeds/seeds-table-migration.js.map +1 -0
  273. package/esm/database/seeds/types.d.ts +13 -0
  274. package/esm/database/seeds/types.d.ts.map +1 -0
  275. package/esm/database/seeds/utils.d.ts +2 -0
  276. package/esm/database/seeds/utils.d.ts.map +1 -0
  277. package/esm/database/seeds/utils.js +1 -0
  278. package/esm/database/seeds/utils.js.map +1 -0
  279. package/esm/database/utils.d.ts +17 -0
  280. package/esm/database/utils.d.ts.map +1 -0
  281. package/esm/database/utils.js +30 -0
  282. package/esm/database/utils.js.map +1 -0
  283. package/esm/dev-server/create-worker.d.ts +34 -0
  284. package/esm/dev-server/create-worker.d.ts.map +1 -0
  285. package/esm/dev-server/create-worker.js +37 -0
  286. package/esm/dev-server/create-worker.js.map +1 -0
  287. package/esm/dev-server/dependency-graph.d.ts +102 -0
  288. package/esm/dev-server/dependency-graph.d.ts.map +1 -0
  289. package/esm/dev-server/dependency-graph.js +310 -0
  290. package/esm/dev-server/dependency-graph.js.map +1 -0
  291. package/esm/dev-server/dev-logger.d.ts +14 -0
  292. package/esm/dev-server/dev-logger.d.ts.map +1 -0
  293. package/esm/dev-server/dev-logger.js +130 -0
  294. package/esm/dev-server/dev-logger.js.map +1 -0
  295. package/esm/dev-server/development-server.d.ts +55 -0
  296. package/esm/dev-server/development-server.d.ts.map +1 -0
  297. package/esm/dev-server/development-server.js +199 -0
  298. package/esm/dev-server/development-server.js.map +1 -0
  299. package/esm/dev-server/events.d.ts +5 -0
  300. package/esm/dev-server/events.d.ts.map +1 -0
  301. package/esm/dev-server/events.js +4 -0
  302. package/esm/dev-server/events.js.map +1 -0
  303. package/esm/dev-server/export-analyzer.d.ts +84 -0
  304. package/esm/dev-server/export-analyzer.d.ts.map +1 -0
  305. package/esm/dev-server/export-analyzer.js +206 -0
  306. package/esm/dev-server/export-analyzer.js.map +1 -0
  307. package/esm/dev-server/file-event-handler.d.ts +156 -0
  308. package/esm/dev-server/file-event-handler.d.ts.map +1 -0
  309. package/esm/dev-server/file-event-handler.js +309 -0
  310. package/esm/dev-server/file-event-handler.js.map +1 -0
  311. package/esm/dev-server/file-manager.d.ts +394 -0
  312. package/esm/dev-server/file-manager.d.ts.map +1 -0
  313. package/esm/dev-server/file-manager.js +603 -0
  314. package/esm/dev-server/file-manager.js.map +1 -0
  315. package/esm/dev-server/file-operations.d.ts +203 -0
  316. package/esm/dev-server/file-operations.d.ts.map +1 -0
  317. package/esm/dev-server/file-operations.js +365 -0
  318. package/esm/dev-server/file-operations.js.map +1 -0
  319. package/esm/dev-server/files-orchestrator.d.ts +153 -0
  320. package/esm/dev-server/files-orchestrator.d.ts.map +1 -0
  321. package/esm/dev-server/files-orchestrator.js +349 -0
  322. package/esm/dev-server/files-orchestrator.js.map +1 -0
  323. package/esm/dev-server/files-watcher.d.ts +67 -0
  324. package/esm/dev-server/files-watcher.d.ts.map +1 -0
  325. package/esm/dev-server/files-watcher.js +121 -0
  326. package/esm/dev-server/files-watcher.js.map +1 -0
  327. package/esm/dev-server/flags.d.ts +10 -0
  328. package/esm/dev-server/flags.d.ts.map +1 -0
  329. package/esm/dev-server/flags.js +9 -0
  330. package/esm/dev-server/flags.js.map +1 -0
  331. package/esm/dev-server/health-checker/checkers/base-health-checker.d.ts +52 -0
  332. package/esm/dev-server/health-checker/checkers/base-health-checker.d.ts.map +1 -0
  333. package/esm/dev-server/health-checker/checkers/base-health-checker.js +71 -0
  334. package/esm/dev-server/health-checker/checkers/base-health-checker.js.map +1 -0
  335. package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.ts +40 -0
  336. package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.ts.map +1 -0
  337. package/esm/dev-server/health-checker/checkers/eslint-health-checker.js +217 -0
  338. package/esm/dev-server/health-checker/checkers/eslint-health-checker.js.map +1 -0
  339. package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.ts +56 -0
  340. package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.ts.map +1 -0
  341. package/esm/dev-server/health-checker/checkers/typescript-health-checker.js +279 -0
  342. package/esm/dev-server/health-checker/checkers/typescript-health-checker.js.map +1 -0
  343. package/esm/dev-server/health-checker/file-health-checker.contract.d.ts +59 -0
  344. package/esm/dev-server/health-checker/file-health-checker.contract.d.ts.map +1 -0
  345. package/esm/dev-server/health-checker/file-health-result.d.ts +68 -0
  346. package/esm/dev-server/health-checker/file-health-result.d.ts.map +1 -0
  347. package/esm/dev-server/health-checker/file-health-result.js +40 -0
  348. package/esm/dev-server/health-checker/file-health-result.js.map +1 -0
  349. package/esm/dev-server/health-checker/files-healthcare.manager.d.ts +115 -0
  350. package/esm/dev-server/health-checker/files-healthcare.manager.d.ts.map +1 -0
  351. package/esm/dev-server/health-checker/files-healthcare.manager.js +422 -0
  352. package/esm/dev-server/health-checker/files-healthcare.manager.js.map +1 -0
  353. package/esm/dev-server/health-checker/index.d.ts +6 -0
  354. package/esm/dev-server/health-checker/index.d.ts.map +1 -0
  355. package/esm/dev-server/health-checker/workers/eslint-health.worker.d.ts +2 -0
  356. package/esm/dev-server/health-checker/workers/eslint-health.worker.d.ts.map +1 -0
  357. package/esm/dev-server/health-checker/workers/eslint-health.worker.js +214 -0
  358. package/esm/dev-server/health-checker/workers/eslint-health.worker.js.map +1 -0
  359. package/esm/dev-server/health-checker/workers/ts-health.worker.d.ts +2 -0
  360. package/esm/dev-server/health-checker/workers/ts-health.worker.d.ts.map +1 -0
  361. package/esm/dev-server/health-checker/workers/ts-health.worker.js +261 -0
  362. package/esm/dev-server/health-checker/workers/ts-health.worker.js.map +1 -0
  363. package/esm/dev-server/import-deduplicator.d.ts +75 -0
  364. package/esm/dev-server/import-deduplicator.d.ts.map +1 -0
  365. package/esm/dev-server/import-deduplicator.js +288 -0
  366. package/esm/dev-server/import-deduplicator.js.map +1 -0
  367. package/esm/dev-server/import-deduplicator.test.d.ts +7 -0
  368. package/esm/dev-server/import-deduplicator.test.d.ts.map +1 -0
  369. package/esm/dev-server/import-transformer.d.ts +17 -0
  370. package/esm/dev-server/import-transformer.d.ts.map +1 -0
  371. package/esm/dev-server/import-transformer.js +221 -0
  372. package/esm/dev-server/import-transformer.js.map +1 -0
  373. package/esm/dev-server/index.d.ts +1 -0
  374. package/esm/dev-server/index.d.ts.map +1 -0
  375. package/esm/dev-server/layer-executor.d.ts +64 -0
  376. package/esm/dev-server/layer-executor.d.ts.map +1 -0
  377. package/esm/dev-server/layer-executor.js +338 -0
  378. package/esm/dev-server/layer-executor.js.map +1 -0
  379. package/esm/dev-server/manifest-manager.d.ts +80 -0
  380. package/esm/dev-server/manifest-manager.d.ts.map +1 -0
  381. package/esm/dev-server/manifest-manager.js +107 -0
  382. package/esm/dev-server/manifest-manager.js.map +1 -0
  383. package/esm/dev-server/module-loader.d.ts +111 -0
  384. package/esm/dev-server/module-loader.d.ts.map +1 -0
  385. package/esm/dev-server/module-loader.js +276 -0
  386. package/esm/dev-server/module-loader.js.map +1 -0
  387. package/esm/dev-server/package-json-manager.d.ts +16 -0
  388. package/esm/dev-server/package-json-manager.d.ts.map +1 -0
  389. package/esm/dev-server/package-json-manager.js +20 -0
  390. package/esm/dev-server/package-json-manager.js.map +1 -0
  391. package/esm/dev-server/parse-imports.d.ts +34 -0
  392. package/esm/dev-server/parse-imports.d.ts.map +1 -0
  393. package/esm/dev-server/parse-imports.js +426 -0
  394. package/esm/dev-server/parse-imports.js.map +1 -0
  395. package/esm/dev-server/path.d.ts +39 -0
  396. package/esm/dev-server/path.d.ts.map +1 -0
  397. package/esm/dev-server/path.js +56 -0
  398. package/esm/dev-server/path.js.map +1 -0
  399. package/esm/dev-server/runtime-import-helper.d.ts +8 -0
  400. package/esm/dev-server/runtime-import-helper.d.ts.map +1 -0
  401. package/esm/dev-server/runtime-import-helper.js +158 -0
  402. package/esm/dev-server/runtime-import-helper.js.map +1 -0
  403. package/esm/dev-server/special-files-collector.d.ts +114 -0
  404. package/esm/dev-server/special-files-collector.d.ts.map +1 -0
  405. package/esm/dev-server/special-files-collector.js +212 -0
  406. package/esm/dev-server/special-files-collector.js.map +1 -0
  407. package/esm/dev-server/start-development-server.d.ts +7 -0
  408. package/esm/dev-server/start-development-server.d.ts.map +1 -0
  409. package/esm/dev-server/start-development-server.js +21 -0
  410. package/esm/dev-server/start-development-server.js.map +1 -0
  411. package/esm/dev-server/transpile-file.d.ts +11 -0
  412. package/esm/dev-server/transpile-file.d.ts.map +1 -0
  413. package/esm/dev-server/transpile-file.js +30 -0
  414. package/esm/dev-server/transpile-file.js.map +1 -0
  415. package/esm/dev-server/tsconfig-manager.d.ts +45 -0
  416. package/esm/dev-server/tsconfig-manager.d.ts.map +1 -0
  417. package/esm/dev-server/tsconfig-manager.js +107 -0
  418. package/esm/dev-server/tsconfig-manager.js.map +1 -0
  419. package/esm/dev-server/type-generator.d.ts +115 -0
  420. package/esm/dev-server/type-generator.d.ts.map +1 -0
  421. package/esm/dev-server/type-generator.js +566 -0
  422. package/esm/dev-server/type-generator.js.map +1 -0
  423. package/esm/dev-server/types.d.ts +30 -0
  424. package/esm/dev-server/types.d.ts.map +1 -0
  425. package/esm/dev-server/utils.d.ts +15 -0
  426. package/esm/dev-server/utils.d.ts.map +1 -0
  427. package/esm/dev-server/utils.js +41 -0
  428. package/esm/dev-server/utils.js.map +1 -0
  429. package/esm/encryption/encrypt.d.ts +23 -0
  430. package/esm/encryption/encrypt.d.ts.map +1 -0
  431. package/esm/encryption/encrypt.js +85 -0
  432. package/esm/encryption/encrypt.js.map +1 -0
  433. package/esm/encryption/hash.d.ts +17 -0
  434. package/esm/encryption/hash.d.ts.map +1 -0
  435. package/esm/encryption/hash.js +26 -0
  436. package/esm/encryption/hash.js.map +1 -0
  437. package/esm/encryption/index.d.ts +5 -0
  438. package/esm/encryption/index.d.ts.map +1 -0
  439. package/esm/encryption/password.d.ts +23 -0
  440. package/esm/encryption/password.d.ts.map +1 -0
  441. package/esm/encryption/password.js +72 -0
  442. package/esm/encryption/password.js.map +1 -0
  443. package/esm/encryption/types.d.ts +51 -0
  444. package/esm/encryption/types.d.ts.map +1 -0
  445. package/esm/generations/add-command.action.d.ts +3 -0
  446. package/esm/generations/add-command.action.d.ts.map +1 -0
  447. package/esm/generations/add-command.action.js +382 -0
  448. package/esm/generations/add-command.action.js.map +1 -0
  449. package/esm/generations/stubs.d.ts +2 -0
  450. package/esm/generations/stubs.d.ts.map +1 -0
  451. package/esm/generations/stubs.js +81 -0
  452. package/esm/generations/stubs.js.map +1 -0
  453. package/esm/http/config.d.ts +10 -0
  454. package/esm/http/config.d.ts.map +1 -0
  455. package/esm/http/config.js +22 -0
  456. package/esm/http/config.js.map +1 -0
  457. package/esm/http/context/request-context.d.ts +47 -0
  458. package/esm/http/context/request-context.d.ts.map +1 -0
  459. package/esm/http/context/request-context.js +52 -0
  460. package/esm/http/context/request-context.js.map +1 -0
  461. package/esm/http/createHttpApplication.d.ts +3 -0
  462. package/esm/http/createHttpApplication.d.ts.map +1 -0
  463. package/esm/http/createHttpApplication.js +28 -0
  464. package/esm/http/createHttpApplication.js.map +1 -0
  465. package/esm/http/database/RequestLog.d.ts +16 -0
  466. package/esm/http/database/RequestLog.d.ts.map +1 -0
  467. package/esm/http/database/RequestLog.js +26 -0
  468. package/esm/http/database/RequestLog.js.map +1 -0
  469. package/esm/http/errors/errors.d.ts +39 -0
  470. package/esm/http/errors/errors.d.ts.map +1 -0
  471. package/esm/http/errors/errors.js +76 -0
  472. package/esm/http/errors/errors.js.map +1 -0
  473. package/esm/http/errors/index.d.ts +2 -0
  474. package/esm/http/errors/index.d.ts.map +1 -0
  475. package/esm/http/events.d.ts +4 -0
  476. package/esm/http/events.d.ts.map +1 -0
  477. package/esm/http/events.js +26 -0
  478. package/esm/http/events.js.map +1 -0
  479. package/esm/http/index.d.ts +17 -0
  480. package/esm/http/index.d.ts.map +1 -0
  481. package/esm/http/middleware/cache-response-middleware.d.ts +34 -0
  482. package/esm/http/middleware/cache-response-middleware.d.ts.map +1 -0
  483. package/esm/http/middleware/cache-response-middleware.js +45 -0
  484. package/esm/http/middleware/cache-response-middleware.js.map +1 -0
  485. package/esm/http/middleware/index.d.ts +3 -0
  486. package/esm/http/middleware/index.d.ts.map +1 -0
  487. package/esm/http/middleware/inject-request-context.d.ts +21 -0
  488. package/esm/http/middleware/inject-request-context.d.ts.map +1 -0
  489. package/esm/http/middleware/inject-request-context.js +119 -0
  490. package/esm/http/middleware/inject-request-context.js.map +1 -0
  491. package/esm/http/plugins.d.ts +3 -0
  492. package/esm/http/plugins.d.ts.map +1 -0
  493. package/esm/http/plugins.js +36 -0
  494. package/esm/http/plugins.js.map +1 -0
  495. package/esm/http/request-controller.d.ts +11 -0
  496. package/esm/http/request-controller.d.ts.map +1 -0
  497. package/esm/http/request-controller.js +9 -0
  498. package/esm/http/request-controller.js.map +1 -0
  499. package/esm/http/request.d.ts +400 -0
  500. package/esm/http/request.d.ts.map +1 -0
  501. package/esm/http/request.js +766 -0
  502. package/esm/http/request.js.map +1 -0
  503. package/esm/http/response.d.ts +374 -0
  504. package/esm/http/response.d.ts.map +1 -0
  505. package/esm/http/response.js +974 -0
  506. package/esm/http/response.js.map +1 -0
  507. package/esm/http/server.d.ts +8 -0
  508. package/esm/http/server.d.ts.map +1 -0
  509. package/esm/http/server.js +15 -0
  510. package/esm/http/server.js.map +1 -0
  511. package/esm/http/types.d.ts +230 -0
  512. package/esm/http/types.d.ts.map +1 -0
  513. package/esm/http/uploaded-file.d.ts +459 -0
  514. package/esm/http/uploaded-file.d.ts.map +1 -0
  515. package/esm/http/uploaded-file.js +709 -0
  516. package/esm/http/uploaded-file.js.map +1 -0
  517. package/esm/http/uploads-config.d.ts +26 -0
  518. package/esm/http/uploads-config.d.ts.map +1 -0
  519. package/esm/http/uploads-config.js +35 -0
  520. package/esm/http/uploads-config.js.map +1 -0
  521. package/esm/http/uploads-types.d.ts +236 -0
  522. package/esm/http/uploads-types.d.ts.map +1 -0
  523. package/esm/image/image.d.ts +388 -0
  524. package/esm/image/image.d.ts.map +1 -0
  525. package/esm/image/image.js +602 -0
  526. package/esm/image/image.js.map +1 -0
  527. package/esm/image/index.d.ts +2 -0
  528. package/esm/image/index.d.ts.map +1 -0
  529. package/esm/index.d.ts +34 -0
  530. package/esm/index.d.ts.map +1 -0
  531. package/esm/index.js +1 -0
  532. package/esm/index.js.map +1 -0
  533. package/esm/logger/index.d.ts +3 -0
  534. package/esm/logger/index.d.ts.map +1 -0
  535. package/esm/logger/logger.d.ts +3 -0
  536. package/esm/logger/logger.d.ts.map +1 -0
  537. package/esm/logger/logger.js +16 -0
  538. package/esm/logger/logger.js.map +1 -0
  539. package/esm/logger/types.d.ts +39 -0
  540. package/esm/logger/types.d.ts.map +1 -0
  541. package/esm/mail/config.d.ts +80 -0
  542. package/esm/mail/config.d.ts.map +1 -0
  543. package/esm/mail/config.js +158 -0
  544. package/esm/mail/config.js.map +1 -0
  545. package/esm/mail/events.d.ts +96 -0
  546. package/esm/mail/events.d.ts.map +1 -0
  547. package/esm/mail/events.js +123 -0
  548. package/esm/mail/events.js.map +1 -0
  549. package/esm/mail/index.d.ts +10 -0
  550. package/esm/mail/index.d.ts.map +1 -0
  551. package/esm/mail/mail.d.ts +175 -0
  552. package/esm/mail/mail.d.ts.map +1 -0
  553. package/esm/mail/mail.js +286 -0
  554. package/esm/mail/mail.js.map +1 -0
  555. package/esm/mail/mailer-pool.d.ts +27 -0
  556. package/esm/mail/mailer-pool.d.ts.map +1 -0
  557. package/esm/mail/mailer-pool.js +215 -0
  558. package/esm/mail/mailer-pool.js.map +1 -0
  559. package/esm/mail/react-mail.d.ts +12 -0
  560. package/esm/mail/react-mail.d.ts.map +1 -0
  561. package/esm/mail/react-mail.js +40 -0
  562. package/esm/mail/react-mail.js.map +1 -0
  563. package/esm/mail/send-mail.d.ts +33 -0
  564. package/esm/mail/send-mail.d.ts.map +1 -0
  565. package/esm/mail/send-mail.js +313 -0
  566. package/esm/mail/send-mail.js.map +1 -0
  567. package/esm/mail/test-mailbox.d.ts +110 -0
  568. package/esm/mail/test-mailbox.d.ts.map +1 -0
  569. package/esm/mail/test-mailbox.js +143 -0
  570. package/esm/mail/test-mailbox.js.map +1 -0
  571. package/esm/mail/types.d.ts +264 -0
  572. package/esm/mail/types.d.ts.map +1 -0
  573. package/esm/mail/types.js +13 -0
  574. package/esm/mail/types.js.map +1 -0
  575. package/esm/manifest/manifest-manager.d.ts +74 -0
  576. package/esm/manifest/manifest-manager.d.ts.map +1 -0
  577. package/esm/manifest/manifest-manager.js +88 -0
  578. package/esm/manifest/manifest-manager.js.map +1 -0
  579. package/esm/production/build-app-production.d.ts +6 -0
  580. package/esm/production/build-app-production.d.ts.map +1 -0
  581. package/esm/production/build-app-production.js +8 -0
  582. package/esm/production/build-app-production.js.map +1 -0
  583. package/esm/production/esbuild-plugins.d.ts +5 -0
  584. package/esm/production/esbuild-plugins.d.ts.map +1 -0
  585. package/esm/production/esbuild-plugins.js +23 -0
  586. package/esm/production/esbuild-plugins.js.map +1 -0
  587. package/esm/production/production-builder.d.ts +76 -0
  588. package/esm/production/production-builder.d.ts.map +1 -0
  589. package/esm/production/production-builder.js +254 -0
  590. package/esm/production/production-builder.js.map +1 -0
  591. package/esm/react/index.d.ts +14 -0
  592. package/esm/react/index.d.ts.map +1 -0
  593. package/esm/react/index.js +65 -0
  594. package/esm/react/index.js.map +1 -0
  595. package/esm/repositories/adapters/cascade/cascade-adapter.d.ts +85 -0
  596. package/esm/repositories/adapters/cascade/cascade-adapter.d.ts.map +1 -0
  597. package/esm/repositories/adapters/cascade/cascade-adapter.js +179 -0
  598. package/esm/repositories/adapters/cascade/cascade-adapter.js.map +1 -0
  599. package/esm/repositories/adapters/cascade/cascade-query-builder.d.ts +141 -0
  600. package/esm/repositories/adapters/cascade/cascade-query-builder.d.ts.map +1 -0
  601. package/esm/repositories/adapters/cascade/cascade-query-builder.js +281 -0
  602. package/esm/repositories/adapters/cascade/cascade-query-builder.js.map +1 -0
  603. package/esm/repositories/adapters/cascade/filter-applicator.d.ts +126 -0
  604. package/esm/repositories/adapters/cascade/filter-applicator.d.ts.map +1 -0
  605. package/esm/repositories/adapters/cascade/filter-applicator.js +549 -0
  606. package/esm/repositories/adapters/cascade/filter-applicator.js.map +1 -0
  607. package/esm/repositories/adapters/cascade/index.d.ts +7 -0
  608. package/esm/repositories/adapters/cascade/index.d.ts.map +1 -0
  609. package/esm/repositories/contracts/index.d.ts +8 -0
  610. package/esm/repositories/contracts/index.d.ts.map +1 -0
  611. package/esm/repositories/contracts/query-builder.contract.d.ts +320 -0
  612. package/esm/repositories/contracts/query-builder.contract.d.ts.map +1 -0
  613. package/esm/repositories/contracts/repository-adapter.contract.d.ts +183 -0
  614. package/esm/repositories/contracts/repository-adapter.contract.d.ts.map +1 -0
  615. package/esm/repositories/contracts/types.d.ts +328 -0
  616. package/esm/repositories/contracts/types.d.ts.map +1 -0
  617. package/esm/repositories/index.d.ts +8 -0
  618. package/esm/repositories/index.d.ts.map +1 -0
  619. package/esm/repositories/repository.manager.d.ts +694 -0
  620. package/esm/repositories/repository.manager.d.ts.map +1 -0
  621. package/esm/repositories/repository.manager.js +1123 -0
  622. package/esm/repositories/repository.manager.js.map +1 -0
  623. package/esm/resource/define-resource.d.ts +65 -0
  624. package/esm/resource/define-resource.d.ts.map +1 -0
  625. package/esm/resource/define-resource.js +62 -0
  626. package/esm/resource/define-resource.js.map +1 -0
  627. package/esm/resource/index.d.ts +6 -0
  628. package/esm/resource/index.d.ts.map +1 -0
  629. package/esm/resource/register-resource.d.ts +21 -0
  630. package/esm/resource/register-resource.d.ts.map +1 -0
  631. package/esm/resource/register-resource.js +23 -0
  632. package/esm/resource/register-resource.js.map +1 -0
  633. package/esm/resource/resource-field-builder.d.ts +104 -0
  634. package/esm/resource/resource-field-builder.d.ts.map +1 -0
  635. package/esm/resource/resource-field-builder.js +260 -0
  636. package/esm/resource/resource-field-builder.js.map +1 -0
  637. package/esm/resource/resource.d.ts +217 -0
  638. package/esm/resource/resource.d.ts.map +1 -0
  639. package/esm/resource/resource.js +307 -0
  640. package/esm/resource/resource.js.map +1 -0
  641. package/esm/resource/types.d.ts +74 -0
  642. package/esm/resource/types.d.ts.map +1 -0
  643. package/esm/restful/index.d.ts +2 -0
  644. package/esm/restful/index.d.ts.map +1 -0
  645. package/esm/restful/restful.d.ts +110 -0
  646. package/esm/restful/restful.d.ts.map +1 -0
  647. package/esm/restful/restful.js +317 -0
  648. package/esm/restful/restful.js.map +1 -0
  649. package/esm/retry/index.d.ts +3 -0
  650. package/esm/retry/index.d.ts.map +1 -0
  651. package/esm/retry/retry.d.ts +21 -0
  652. package/esm/retry/retry.d.ts.map +1 -0
  653. package/esm/retry/retry.js +39 -0
  654. package/esm/retry/retry.js.map +1 -0
  655. package/esm/retry/types.d.ts +27 -0
  656. package/esm/retry/types.d.ts.map +1 -0
  657. package/esm/router/index.d.ts +3 -0
  658. package/esm/router/index.d.ts.map +1 -0
  659. package/esm/router/route-builder.d.ts +120 -0
  660. package/esm/router/route-builder.d.ts.map +1 -0
  661. package/esm/router/route-builder.js +201 -0
  662. package/esm/router/route-builder.js.map +1 -0
  663. package/esm/router/route-registry.d.ts +30 -0
  664. package/esm/router/route-registry.d.ts.map +1 -0
  665. package/esm/router/route-registry.js +67 -0
  666. package/esm/router/route-registry.js.map +1 -0
  667. package/esm/router/route.d.ts +34 -0
  668. package/esm/router/route.d.ts.map +1 -0
  669. package/esm/router/router.d.ts +188 -0
  670. package/esm/router/router.d.ts.map +1 -0
  671. package/esm/router/router.js +605 -0
  672. package/esm/router/router.js.map +1 -0
  673. package/esm/router/types.d.ts +254 -0
  674. package/esm/router/types.d.ts.map +1 -0
  675. package/esm/storage/config.d.ts +15 -0
  676. package/esm/storage/config.d.ts.map +1 -0
  677. package/esm/storage/config.js +32 -0
  678. package/esm/storage/config.js.map +1 -0
  679. package/esm/storage/context/storage-driver-context.d.ts +69 -0
  680. package/esm/storage/context/storage-driver-context.d.ts.map +1 -0
  681. package/esm/storage/context/storage-driver-context.js +80 -0
  682. package/esm/storage/context/storage-driver-context.js.map +1 -0
  683. package/esm/storage/drivers/cloud-driver.d.ts +206 -0
  684. package/esm/storage/drivers/cloud-driver.d.ts.map +1 -0
  685. package/esm/storage/drivers/cloud-driver.js +721 -0
  686. package/esm/storage/drivers/cloud-driver.js.map +1 -0
  687. package/esm/storage/drivers/do-spaces-driver.d.ts +43 -0
  688. package/esm/storage/drivers/do-spaces-driver.d.ts.map +1 -0
  689. package/esm/storage/drivers/do-spaces-driver.js +50 -0
  690. package/esm/storage/drivers/do-spaces-driver.js.map +1 -0
  691. package/esm/storage/drivers/local-driver.d.ts +151 -0
  692. package/esm/storage/drivers/local-driver.d.ts.map +1 -0
  693. package/esm/storage/drivers/local-driver.js +448 -0
  694. package/esm/storage/drivers/local-driver.js.map +1 -0
  695. package/esm/storage/drivers/r2-driver.d.ts +47 -0
  696. package/esm/storage/drivers/r2-driver.d.ts.map +1 -0
  697. package/esm/storage/drivers/r2-driver.js +60 -0
  698. package/esm/storage/drivers/r2-driver.js.map +1 -0
  699. package/esm/storage/drivers/s3-driver.d.ts +32 -0
  700. package/esm/storage/drivers/s3-driver.d.ts.map +1 -0
  701. package/esm/storage/drivers/s3-driver.js +37 -0
  702. package/esm/storage/drivers/s3-driver.js.map +1 -0
  703. package/esm/storage/index.d.ts +13 -0
  704. package/esm/storage/index.d.ts.map +1 -0
  705. package/esm/storage/scoped-storage.d.ts +547 -0
  706. package/esm/storage/scoped-storage.d.ts.map +1 -0
  707. package/esm/storage/scoped-storage.js +739 -0
  708. package/esm/storage/scoped-storage.js.map +1 -0
  709. package/esm/storage/storage-file.d.ts +222 -0
  710. package/esm/storage/storage-file.d.ts.map +1 -0
  711. package/esm/storage/storage-file.js +376 -0
  712. package/esm/storage/storage-file.js.map +1 -0
  713. package/esm/storage/storage.d.ts +583 -0
  714. package/esm/storage/storage.d.ts.map +1 -0
  715. package/esm/storage/storage.js +948 -0
  716. package/esm/storage/storage.js.map +1 -0
  717. package/esm/storage/types.d.ts +966 -0
  718. package/esm/storage/types.d.ts.map +1 -0
  719. package/esm/storage/utils/mime.d.ts +33 -0
  720. package/esm/storage/utils/mime.d.ts.map +1 -0
  721. package/esm/storage/utils/mime.js +45 -0
  722. package/esm/storage/utils/mime.js.map +1 -0
  723. package/esm/tests/index.d.ts +9 -0
  724. package/esm/tests/index.d.ts.map +1 -0
  725. package/esm/tests/start-http-development-server.d.ts +15 -0
  726. package/esm/tests/start-http-development-server.d.ts.map +1 -0
  727. package/esm/tests/start-http-development-server.js +69 -0
  728. package/esm/tests/start-http-development-server.js.map +1 -0
  729. package/esm/tests/test-helpers.d.ts +43 -0
  730. package/esm/tests/test-helpers.d.ts.map +1 -0
  731. package/esm/tests/test-helpers.js +86 -0
  732. package/esm/tests/test-helpers.js.map +1 -0
  733. package/esm/tests/vitest-setup.d.ts +10 -0
  734. package/esm/tests/vitest-setup.d.ts.map +1 -0
  735. package/esm/tests/vitest-setup.js +36 -0
  736. package/esm/tests/vitest-setup.js.map +1 -0
  737. package/esm/use-cases/index.d.ts +7 -0
  738. package/esm/use-cases/index.d.ts.map +1 -0
  739. package/esm/use-cases/types.d.ts +267 -0
  740. package/esm/use-cases/types.d.ts.map +1 -0
  741. package/esm/use-cases/use-case-events.d.ts +33 -0
  742. package/esm/use-cases/use-case-events.d.ts.map +1 -0
  743. package/esm/use-cases/use-case-events.js +65 -0
  744. package/esm/use-cases/use-case-events.js.map +1 -0
  745. package/esm/use-cases/use-case-pipeline.d.ts +29 -0
  746. package/esm/use-cases/use-case-pipeline.d.ts.map +1 -0
  747. package/esm/use-cases/use-case-pipeline.js +45 -0
  748. package/esm/use-cases/use-case-pipeline.js.map +1 -0
  749. package/esm/use-cases/use-case.d.ts +27 -0
  750. package/esm/use-cases/use-case.d.ts.map +1 -0
  751. package/esm/use-cases/use-case.errors.d.ts +6 -0
  752. package/esm/use-cases/use-case.errors.d.ts.map +1 -0
  753. package/esm/use-cases/use-case.errors.js +8 -0
  754. package/esm/use-cases/use-case.errors.js.map +1 -0
  755. package/esm/use-cases/use-case.js +138 -0
  756. package/esm/use-cases/use-case.js.map +1 -0
  757. package/esm/use-cases/use-cases-registry.d.ts +38 -0
  758. package/esm/use-cases/use-cases-registry.d.ts.map +1 -0
  759. package/esm/use-cases/use-cases-registry.js +92 -0
  760. package/esm/use-cases/use-cases-registry.js.map +1 -0
  761. package/esm/utils/app-log.d.ts +8 -0
  762. package/esm/utils/app-log.d.ts.map +1 -0
  763. package/esm/utils/app-log.js +7 -0
  764. package/esm/utils/app-log.js.map +1 -0
  765. package/esm/utils/cleanup-temp-files.d.ts +5 -0
  766. package/esm/utils/cleanup-temp-files.d.ts.map +1 -0
  767. package/esm/utils/database-log.d.ts +25 -0
  768. package/esm/utils/database-log.d.ts.map +1 -0
  769. package/esm/utils/database-log.js +43 -0
  770. package/esm/utils/database-log.js.map +1 -0
  771. package/esm/utils/download-file.d.ts +3 -0
  772. package/esm/utils/download-file.d.ts.map +1 -0
  773. package/esm/utils/environment.d.ts +4 -0
  774. package/esm/utils/environment.d.ts.map +1 -0
  775. package/esm/utils/environment.js +6 -0
  776. package/esm/utils/environment.js.map +1 -0
  777. package/esm/utils/framework-vesion.d.ts +6 -0
  778. package/esm/utils/framework-vesion.d.ts.map +1 -0
  779. package/esm/utils/framework-vesion.js +18 -0
  780. package/esm/utils/framework-vesion.js.map +1 -0
  781. package/esm/utils/get-localized.d.ts +10 -0
  782. package/esm/utils/get-localized.d.ts.map +1 -0
  783. package/esm/utils/get-localized.js +15 -0
  784. package/esm/utils/get-localized.js.map +1 -0
  785. package/esm/utils/index.d.ts +12 -0
  786. package/esm/utils/index.d.ts.map +1 -0
  787. package/esm/utils/internal.d.ts +4 -0
  788. package/esm/utils/internal.d.ts.map +1 -0
  789. package/esm/utils/paths.d.ts +55 -0
  790. package/esm/utils/paths.d.ts.map +1 -0
  791. package/esm/utils/paths.js +89 -0
  792. package/esm/utils/paths.js.map +1 -0
  793. package/esm/utils/promise-all-object.d.ts +8 -0
  794. package/esm/utils/promise-all-object.d.ts.map +1 -0
  795. package/esm/utils/promise-all-object.js +12 -0
  796. package/esm/utils/promise-all-object.js.map +1 -0
  797. package/esm/utils/queue.d.ts +49 -0
  798. package/esm/utils/queue.d.ts.map +1 -0
  799. package/esm/utils/queue.js +89 -0
  800. package/esm/utils/queue.js.map +1 -0
  801. package/esm/utils/sleep.d.ts +2 -0
  802. package/esm/utils/sleep.d.ts.map +1 -0
  803. package/esm/utils/sleep.js +3 -0
  804. package/esm/utils/sleep.js.map +1 -0
  805. package/esm/utils/sluggable.d.ts +5 -0
  806. package/esm/utils/sluggable.d.ts.map +1 -0
  807. package/esm/utils/sluggable.js +15 -0
  808. package/esm/utils/sluggable.js.map +1 -0
  809. package/esm/utils/to-json.d.ts +2 -0
  810. package/esm/utils/to-json.d.ts.map +1 -0
  811. package/esm/utils/to-json.js +26 -0
  812. package/esm/utils/to-json.js.map +1 -0
  813. package/esm/utils/types.d.ts +22 -0
  814. package/esm/utils/types.d.ts.map +1 -0
  815. package/esm/utils/urls.d.ts +21 -0
  816. package/esm/utils/urls.d.ts.map +1 -0
  817. package/esm/utils/urls.js +31 -0
  818. package/esm/utils/urls.js.map +1 -0
  819. package/esm/validation/database/exists-except-current-id.d.ts +7 -0
  820. package/esm/validation/database/exists-except-current-id.d.ts.map +1 -0
  821. package/esm/validation/database/exists-except-current-id.js +24 -0
  822. package/esm/validation/database/exists-except-current-id.js.map +1 -0
  823. package/esm/validation/database/exists-except-current-user.d.ts +7 -0
  824. package/esm/validation/database/exists-except-current-user.d.ts.map +1 -0
  825. package/esm/validation/database/exists-except-current-user.js +26 -0
  826. package/esm/validation/database/exists-except-current-user.js.map +1 -0
  827. package/esm/validation/database/exists.d.ts +7 -0
  828. package/esm/validation/database/exists.d.ts.map +1 -0
  829. package/esm/validation/database/exists.js +22 -0
  830. package/esm/validation/database/exists.js.map +1 -0
  831. package/esm/validation/database/index.d.ts +12 -0
  832. package/esm/validation/database/index.d.ts.map +1 -0
  833. package/esm/validation/database/types.d.ts +68 -0
  834. package/esm/validation/database/types.d.ts.map +1 -0
  835. package/esm/validation/database/unique-except-current-id.d.ts +7 -0
  836. package/esm/validation/database/unique-except-current-id.d.ts.map +1 -0
  837. package/esm/validation/database/unique-except-current-id.js +24 -0
  838. package/esm/validation/database/unique-except-current-id.js.map +1 -0
  839. package/esm/validation/database/unique-except-current-user.d.ts +7 -0
  840. package/esm/validation/database/unique-except-current-user.d.ts.map +1 -0
  841. package/esm/validation/database/unique-except-current-user.js +29 -0
  842. package/esm/validation/database/unique-except-current-user.js.map +1 -0
  843. package/esm/validation/database/unique.d.ts +7 -0
  844. package/esm/validation/database/unique.d.ts.map +1 -0
  845. package/esm/validation/database/unique.js +31 -0
  846. package/esm/validation/database/unique.js.map +1 -0
  847. package/esm/validation/file/file.d.ts +22 -0
  848. package/esm/validation/file/file.d.ts.map +1 -0
  849. package/esm/validation/file/file.js +60 -0
  850. package/esm/validation/file/file.js.map +1 -0
  851. package/esm/validation/file/index.d.ts +6 -0
  852. package/esm/validation/file/index.d.ts.map +1 -0
  853. package/esm/validation/index.d.ts +16 -0
  854. package/esm/validation/index.d.ts.map +1 -0
  855. package/esm/validation/init.d.ts +7 -0
  856. package/esm/validation/init.d.ts.map +1 -0
  857. package/esm/validation/init.js +36 -0
  858. package/esm/validation/init.js.map +1 -0
  859. package/esm/validation/plugins/database-plugin.d.ts +14 -0
  860. package/esm/validation/plugins/database-plugin.d.ts.map +1 -0
  861. package/esm/validation/plugins/database-plugin.js +83 -0
  862. package/esm/validation/plugins/database-plugin.js.map +1 -0
  863. package/esm/validation/plugins/file-plugin.d.ts +11 -0
  864. package/esm/validation/plugins/file-plugin.d.ts.map +1 -0
  865. package/esm/validation/plugins/file-plugin.js +17 -0
  866. package/esm/validation/plugins/file-plugin.js.map +1 -0
  867. package/esm/validation/plugins/index.d.ts +9 -0
  868. package/esm/validation/plugins/index.d.ts.map +1 -0
  869. package/esm/validation/plugins/localized-plugin.d.ts +11 -0
  870. package/esm/validation/plugins/localized-plugin.d.ts.map +1 -0
  871. package/esm/validation/plugins/localized-plugin.js +19 -0
  872. package/esm/validation/plugins/localized-plugin.js.map +1 -0
  873. package/esm/validation/types.d.ts +87 -0
  874. package/esm/validation/types.d.ts.map +1 -0
  875. package/esm/validation/validateAll.d.ts +7 -0
  876. package/esm/validation/validateAll.d.ts.map +1 -0
  877. package/esm/validation/validateAll.js +60 -0
  878. package/esm/validation/validateAll.js.map +1 -0
  879. package/esm/validation/validators/file-validator.d.ts +62 -0
  880. package/esm/validation/validators/file-validator.d.ts.map +1 -0
  881. package/esm/validation/validators/file-validator.js +136 -0
  882. package/esm/validation/validators/file-validator.js.map +1 -0
  883. package/esm/validation/validators/index.d.ts +7 -0
  884. package/esm/validation/validators/index.d.ts.map +1 -0
  885. package/esm/warlock-config/default-configurations.d.ts +3 -0
  886. package/esm/warlock-config/default-configurations.d.ts.map +1 -0
  887. package/esm/warlock-config/default-configurations.js +8 -0
  888. package/esm/warlock-config/default-configurations.js.map +1 -0
  889. package/esm/warlock-config/define-config.d.ts +3 -0
  890. package/esm/warlock-config/define-config.d.ts.map +1 -0
  891. package/esm/warlock-config/define-config.js +3 -0
  892. package/esm/warlock-config/define-config.js.map +1 -0
  893. package/esm/warlock-config/index.d.ts +4 -0
  894. package/esm/warlock-config/index.d.ts.map +1 -0
  895. package/esm/warlock-config/types.d.ts +129 -0
  896. package/esm/warlock-config/types.d.ts.map +1 -0
  897. package/esm/warlock-config/warlock-config.manager.d.ts +83 -0
  898. package/esm/warlock-config/warlock-config.manager.d.ts.map +1 -0
  899. package/esm/warlock-config/warlock-config.manager.js +141 -0
  900. package/esm/warlock-config/warlock-config.manager.js.map +1 -0
  901. package/package.json +7 -7
@@ -0,0 +1,721 @@
1
+ import crypto from'crypto';import {storageDriverContext}from'../context/storage-driver-context.js';import {getMimeType}from'../utils/mime.js';// ============================================================
2
+ // Lazy-loaded S3 SDK Types
3
+ // ============================================================
4
+ /**
5
+ * Cached S3 SDK modules (loaded once, reused)
6
+ */
7
+ let S3Client;
8
+ let S3Storage;
9
+ let S3Presigner;
10
+ let isModuleExists = null;
11
+ /**
12
+ * Installation instructions for S3 SDK packages
13
+ */
14
+ const S3_INSTALL_INSTRUCTIONS = `
15
+ Cloud storage requires the AWS S3 SDK packages.
16
+ Install them with:
17
+
18
+ npm install @aws-sdk/client-s3 @aws-sdk/lib-storage @aws-sdk/s3-request-presigner
19
+
20
+ Or with your preferred package manager:
21
+
22
+ pnpm add @aws-sdk/client-s3 @aws-sdk/lib-storage @aws-sdk/s3-request-presigner
23
+ yarn add @aws-sdk/client-s3 @aws-sdk/lib-storage @aws-sdk/s3-request-presigner
24
+ `.trim();
25
+ /**
26
+ * Atomic initialization promise to handle concurrent calls to loadS3
27
+ */
28
+ let initializationPromise = null;
29
+ /**
30
+ * Load S3 modules lazily
31
+ *
32
+ * @example
33
+ * await loadS3();
34
+ * if (isModuleExists) {
35
+ * // Safe to use S3Client, S3Storage, S3Presigner
36
+ * }
37
+ */
38
+ async function loadS3() {
39
+ // If already successfully loaded, no need to do anything
40
+ if (isModuleExists === true)
41
+ return;
42
+ // If currently loading, return the existing promise so the caller waits
43
+ if (initializationPromise)
44
+ return initializationPromise;
45
+ initializationPromise = (async () => {
46
+ try {
47
+ // Use Promise.all to load modules in parallel for efficiency
48
+ const [client, storage, presigner] = await Promise.all([
49
+ import('@aws-sdk/client-s3'),
50
+ import('@aws-sdk/lib-storage'),
51
+ import('@aws-sdk/s3-request-presigner'),
52
+ ]);
53
+ S3Client = client;
54
+ S3Storage = storage;
55
+ S3Presigner = presigner;
56
+ isModuleExists = true;
57
+ }
58
+ catch {
59
+ // Mark as failed if any import fails (usually means packages aren't installed)
60
+ isModuleExists = false;
61
+ }
62
+ })();
63
+ return initializationPromise;
64
+ }
65
+ loadS3();
66
+ // ============================================================
67
+ // CloudDriver Base Class
68
+ // ============================================================
69
+ /**
70
+ * Base abstract class for all S3-compatible cloud storage drivers
71
+ *
72
+ * This class contains all shared logic for S3-compatible storage services
73
+ * including AWS S3, Cloudflare R2, DigitalOcean Spaces, and others.
74
+ *
75
+ * **Important:** S3 SDK packages are lazy-loaded on first use.
76
+ * Users must install them separately:
77
+ * ```
78
+ * npm install @aws-sdk/client-s3 @aws-sdk/lib-storage @aws-sdk/s3-request-presigner
79
+ * ```
80
+ *
81
+ * Subclasses must implement:
82
+ * - `name`: Driver identifier (e.g., "s3", "r2", "spaces")
83
+ * - `url()`: Returns the public URL for a file (provider-specific format)
84
+ */
85
+ class CloudDriver {
86
+ options;
87
+ /**
88
+ * S3-compatible client (lazy-loaded)
89
+ */
90
+ client;
91
+ /**
92
+ * Retry configuration
93
+ */
94
+ retryConfig;
95
+ constructor(options) {
96
+ this.options = options;
97
+ if (!isModuleExists) {
98
+ throw new Error(S3_INSTALL_INSTRUCTIONS);
99
+ }
100
+ this.client = new S3Client.S3Client({
101
+ region: this.options.region,
102
+ credentials: {
103
+ accessKeyId: this.options.accessKeyId,
104
+ secretAccessKey: this.options.secretAccessKey,
105
+ },
106
+ ...(this.getEndpoint() && { endpoint: this.getEndpoint() }),
107
+ });
108
+ // Initialize retry configuration
109
+ this.retryConfig = {
110
+ maxRetries: this.options.retry?.maxRetries ?? 3,
111
+ initialDelayMs: this.options.retry?.initialDelayMs ?? 1000,
112
+ maxDelayMs: this.options.retry?.maxDelayMs ?? 10000,
113
+ backoffMultiplier: this.options.retry?.backoffMultiplier ?? 2,
114
+ };
115
+ }
116
+ /**
117
+ * Get endpoint URL
118
+ * Can be overridden by subclasses for provider-specific endpoints
119
+ */
120
+ getEndpoint() {
121
+ return this.options.endpoint;
122
+ }
123
+ // ============================================================
124
+ // Helper Methods
125
+ // ============================================================
126
+ /**
127
+ * Apply prefix to location path
128
+ *
129
+ * Priority: context prefix > driver options prefix > no prefix
130
+ * This allows multi-tenant scenarios where context overrides driver config.
131
+ *
132
+ * @param location - Original location path
133
+ * @returns Location with prefix applied if one exists
134
+ */
135
+ applyPrefix(location) {
136
+ // Check context prefix first (highest priority)
137
+ const contextPrefix = storageDriverContext.getPrefix();
138
+ const prefix = contextPrefix || this.options.prefix;
139
+ if (!prefix) {
140
+ return location;
141
+ }
142
+ const cleanPrefix = prefix.replace(/\/+$/, "");
143
+ const cleanLocation = location.replace(/^\/+/, "");
144
+ // Avoid double-prefixing
145
+ if (cleanLocation.startsWith(cleanPrefix + "/") || cleanLocation === cleanPrefix) {
146
+ return cleanLocation;
147
+ }
148
+ return `${cleanPrefix}/${cleanLocation}`;
149
+ }
150
+ /**
151
+ * Normalize storage path (remove double slashes, sanitize)
152
+ * @internal
153
+ */
154
+ normalizePath(path) {
155
+ return path
156
+ .replace(/\/+/g, "/") // Remove multiple slashes
157
+ .replace(/^\//, "") // Remove leading slash
158
+ .trim();
159
+ }
160
+ /**
161
+ * Execute an operation with retry logic
162
+ *
163
+ * Retries on transient errors with exponential backoff.
164
+ *
165
+ * @param operation - Async operation to execute
166
+ * @param operationName - Name for logging
167
+ * @returns Result of the operation
168
+ * @internal
169
+ */
170
+ async withRetry(operation, operationName = "operation") {
171
+ const { maxRetries, initialDelayMs, backoffMultiplier, maxDelayMs } = this.retryConfig;
172
+ let lastError;
173
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
174
+ try {
175
+ return await operation();
176
+ }
177
+ catch (error) {
178
+ lastError = error;
179
+ // Don't retry on the last attempt
180
+ if (attempt === maxRetries - 1) {
181
+ break;
182
+ }
183
+ // Check if error is retryable
184
+ if (!this.isRetryableError(error)) {
185
+ throw error; // Non-retryable error, fail immediately
186
+ }
187
+ // Calculate delay with exponential backoff
188
+ const delayMs = Math.min(initialDelayMs * Math.pow(backoffMultiplier, attempt), maxDelayMs);
189
+ // Wait before retrying
190
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
191
+ }
192
+ }
193
+ throw new Error(`${operationName} failed after ${maxRetries} attempts: ${lastError?.message}`);
194
+ }
195
+ /**
196
+ * Check if an error is retryable
197
+ *
198
+ * Retries on:
199
+ * - Network errors
200
+ * - 5xx server errors
201
+ * - Rate limiting (429)
202
+ * - Timeout errors
203
+ *
204
+ * Does NOT retry on:
205
+ * - 4xx client errors (except 429)
206
+ * - Authentication errors
207
+ * - Not found errors
208
+ *
209
+ * @param error - Error to check
210
+ * @returns true if error is retryable
211
+ * @internal
212
+ */
213
+ isRetryableError(error) {
214
+ // Network errors
215
+ if (error.code === "ECONNRESET" || error.code === "ETIMEDOUT" || error.code === "ENOTFOUND") {
216
+ return true;
217
+ }
218
+ // S3 SDK errors
219
+ if (error.name === "NetworkingError" || error.name === "TimeoutError") {
220
+ return true;
221
+ }
222
+ // HTTP status codes
223
+ const statusCode = error.$metadata?.httpStatusCode || error.statusCode;
224
+ if (statusCode) {
225
+ // 5xx server errors are retryable
226
+ if (statusCode >= 500 && statusCode < 600) {
227
+ return true;
228
+ }
229
+ // 429 Too Many Requests is retryable
230
+ if (statusCode === 429) {
231
+ return true;
232
+ }
233
+ }
234
+ return false;
235
+ }
236
+ // ============================================================
237
+ // Core File Operations
238
+ // ============================================================
239
+ /**
240
+ * Put file to cloud storage
241
+ */
242
+ async put(file, location, options) {
243
+ return this.withRetry(async () => {
244
+ const { PutObjectCommand } = S3Client;
245
+ // Apply storage prefix
246
+ location = this.applyPrefix(location);
247
+ const hash = this.calculateHash(file);
248
+ const mimeType = options?.mimeType || this.guessMimeType(location);
249
+ const command = new PutObjectCommand({
250
+ Bucket: this.options.bucket,
251
+ Key: location,
252
+ Body: file,
253
+ ContentType: mimeType,
254
+ CacheControl: options?.cacheControl,
255
+ ContentDisposition: options?.contentDisposition,
256
+ Metadata: options?.metadata,
257
+ ACL: options?.visibility === "public" ? "public-read" : undefined,
258
+ });
259
+ const result = await this.client.send(command);
260
+ return {
261
+ path: location,
262
+ url: this.url(location),
263
+ size: file.length,
264
+ hash,
265
+ mimeType,
266
+ driver: this.name,
267
+ bucket: this.options.bucket,
268
+ region: this.options.region,
269
+ etag: result.ETag,
270
+ versionId: result.VersionId,
271
+ };
272
+ }, "put");
273
+ }
274
+ /**
275
+ * Put file from a readable stream (for large files)
276
+ * Uses S3 multipart upload for efficient streaming
277
+ */
278
+ async putStream(stream, location, options) {
279
+ return this.withRetry(async () => {
280
+ const { Upload } = S3Storage;
281
+ // Apply storage prefix
282
+ location = this.applyPrefix(location);
283
+ const mimeType = options?.mimeType || this.guessMimeType(location);
284
+ const upload = new Upload({
285
+ client: this.client,
286
+ params: {
287
+ Bucket: this.options.bucket,
288
+ Key: location,
289
+ Body: stream,
290
+ ContentType: mimeType,
291
+ CacheControl: options?.cacheControl,
292
+ ContentDisposition: options?.contentDisposition,
293
+ Metadata: options?.metadata,
294
+ ACL: options?.visibility === "public" ? "public-read" : undefined,
295
+ },
296
+ });
297
+ const result = await upload.done();
298
+ // Get file info for size and hash
299
+ const info = await this.getInfo(location);
300
+ return {
301
+ path: location,
302
+ url: this.url(location),
303
+ size: info.size,
304
+ hash: info.etag?.replace(/"/g, "") || "",
305
+ mimeType,
306
+ driver: this.name,
307
+ bucket: this.options.bucket,
308
+ region: this.options.region,
309
+ etag: result.ETag,
310
+ versionId: result.VersionId,
311
+ };
312
+ }, "putStream");
313
+ }
314
+ /**
315
+ * Get file contents as Buffer
316
+ */
317
+ async get(location) {
318
+ return this.withRetry(async () => {
319
+ const { GetObjectCommand } = S3Client;
320
+ // Apply storage prefix
321
+ location = this.applyPrefix(location);
322
+ const command = new GetObjectCommand({
323
+ Bucket: this.options.bucket,
324
+ Key: location,
325
+ });
326
+ const result = await this.client.send(command);
327
+ if (!result.Body) {
328
+ throw new Error(`File not found: ${location}`);
329
+ }
330
+ return Buffer.from(await result.Body.transformToByteArray());
331
+ }, "get");
332
+ }
333
+ /**
334
+ * Get file as a readable stream (for large files)
335
+ */
336
+ async getStream(location) {
337
+ return this.withRetry(async () => {
338
+ const { GetObjectCommand } = S3Client;
339
+ // Apply storage prefix
340
+ location = this.applyPrefix(location);
341
+ const command = new GetObjectCommand({
342
+ Bucket: this.options.bucket,
343
+ Key: location,
344
+ });
345
+ const result = await this.client.send(command);
346
+ if (!result.Body) {
347
+ throw new Error(`File not found: ${location}`);
348
+ }
349
+ return result.Body;
350
+ }, "getStream");
351
+ }
352
+ /**
353
+ * Delete a file
354
+ */
355
+ async delete(location) {
356
+ return this.withRetry(async () => {
357
+ const { DeleteObjectCommand } = S3Client;
358
+ // Apply storage prefix
359
+ location = this.applyPrefix(location);
360
+ const command = new DeleteObjectCommand({
361
+ Bucket: this.options.bucket,
362
+ Key: location,
363
+ });
364
+ await this.client.send(command);
365
+ return true;
366
+ }, "delete");
367
+ }
368
+ /**
369
+ * Delete multiple files at once (uses batch delete for efficiency)
370
+ */
371
+ async deleteMany(locations) {
372
+ if (locations.length === 0) {
373
+ return [];
374
+ }
375
+ return this.withRetry(async () => {
376
+ const { DeleteObjectsCommand } = S3Client;
377
+ // Apply storage prefix to all locations
378
+ const prefixedLocations = locations.map((loc) => this.applyPrefix(loc));
379
+ const command = new DeleteObjectsCommand({
380
+ Bucket: this.options.bucket,
381
+ Delete: {
382
+ Objects: prefixedLocations.map((Key) => ({ Key })),
383
+ Quiet: false,
384
+ },
385
+ });
386
+ const result = await this.client.send(command);
387
+ const results = [];
388
+ // Process successful deletes
389
+ for (const deleted of result.Deleted || []) {
390
+ if (deleted.Key) {
391
+ results.push({ location: deleted.Key, deleted: true });
392
+ }
393
+ }
394
+ // Process errors
395
+ for (const error of result.Errors || []) {
396
+ if (error.Key) {
397
+ results.push({
398
+ location: error.Key,
399
+ deleted: false,
400
+ error: error.Message || "Unknown error",
401
+ });
402
+ }
403
+ }
404
+ return results;
405
+ }, "deleteMany");
406
+ }
407
+ /**
408
+ * Delete directory (recursively deletes all objects with matching prefix)
409
+ *
410
+ * S3/R2 doesn't have true directories - only key prefixes.
411
+ * This method lists all objects with the prefix and deletes them in batches.
412
+ *
413
+ * @param directoryPath - Directory prefix to delete
414
+ * @returns true when all objects are deleted
415
+ */
416
+ async deleteDirectory(directoryPath) {
417
+ // Apply storage prefix
418
+ directoryPath = this.applyPrefix(directoryPath);
419
+ // Ensure directory path ends with / for proper prefix matching
420
+ const prefix = directoryPath.endsWith("/") ? directoryPath : `${directoryPath}/`;
421
+ let hasMore = true;
422
+ while (hasMore) {
423
+ // List up to 1000 objects (S3/R2 max per request)
424
+ const objects = await this.list(prefix, {
425
+ limit: 1000,
426
+ recursive: true,
427
+ });
428
+ if (objects.length === 0) {
429
+ break;
430
+ }
431
+ // Filter out directories (we only delete files)
432
+ const filePaths = objects.filter((obj) => !obj.isDirectory).map((obj) => obj.path);
433
+ if (filePaths.length === 0) {
434
+ break;
435
+ }
436
+ // Delete batch (deleteMany already has prefix applied, so paths already have it)
437
+ // Note: We pass the paths as-is since they already include the prefix from list()
438
+ await this.deleteMany(filePaths);
439
+ // Continue if we got full batch (might be more)
440
+ hasMore = objects.length >= 1000;
441
+ }
442
+ return true;
443
+ }
444
+ /**
445
+ * Check if file exists
446
+ */
447
+ async exists(location) {
448
+ // No retry for exists - it should be fast and failure means non-existent
449
+ try {
450
+ const { HeadObjectCommand } = S3Client;
451
+ // Apply storage prefix
452
+ location = this.applyPrefix(location);
453
+ const command = new HeadObjectCommand({
454
+ Bucket: this.options.bucket,
455
+ Key: location,
456
+ });
457
+ await this.client.send(command);
458
+ return true;
459
+ }
460
+ catch {
461
+ return false;
462
+ }
463
+ }
464
+ // ============================================================
465
+ // URL Operations
466
+ // ============================================================
467
+ /**
468
+ * Get a temporary presigned URL (alias for getPresignedUrl)
469
+ */
470
+ async temporaryUrl(location, expiresIn = 3600) {
471
+ return this.getPresignedUrl(location, { expiresIn });
472
+ }
473
+ /**
474
+ * Get presigned URL for downloading
475
+ */
476
+ async getPresignedUrl(location, options) {
477
+ return this.withRetry(async () => {
478
+ const { GetObjectCommand } = S3Client;
479
+ const { getSignedUrl } = S3Presigner;
480
+ // Apply storage prefix
481
+ location = this.applyPrefix(location);
482
+ const command = new GetObjectCommand({
483
+ Bucket: this.options.bucket,
484
+ Key: location,
485
+ });
486
+ return getSignedUrl(this.client, command, {
487
+ expiresIn: options?.expiresIn || 3600,
488
+ });
489
+ }, "getPresignedUrl");
490
+ }
491
+ /**
492
+ * Get presigned URL for uploading
493
+ */
494
+ async getPresignedUploadUrl(location, options) {
495
+ return this.withRetry(async () => {
496
+ const { PutObjectCommand } = S3Client;
497
+ const { getSignedUrl } = S3Presigner;
498
+ // Apply storage prefix
499
+ location = this.applyPrefix(location);
500
+ const command = new PutObjectCommand({
501
+ Bucket: this.options.bucket,
502
+ Key: location,
503
+ ContentType: options?.contentType,
504
+ Metadata: options?.metadata,
505
+ });
506
+ return getSignedUrl(this.client, command, {
507
+ expiresIn: options?.expiresIn || 3600,
508
+ });
509
+ }, "getPresignedUploadUrl");
510
+ }
511
+ // ============================================================
512
+ // Metadata Operations
513
+ // ============================================================
514
+ /**
515
+ * Get file info/metadata without downloading
516
+ */
517
+ async getInfo(location) {
518
+ return this.withRetry(async () => {
519
+ const { HeadObjectCommand } = S3Client;
520
+ // Apply storage prefix
521
+ location = this.applyPrefix(location);
522
+ const command = new HeadObjectCommand({
523
+ Bucket: this.options.bucket,
524
+ Key: location,
525
+ });
526
+ const result = await this.client.send(command);
527
+ const name = location.split("/").pop() || "";
528
+ return {
529
+ path: location,
530
+ name,
531
+ size: result.ContentLength || 0,
532
+ isDirectory: false,
533
+ lastModified: result.LastModified,
534
+ mimeType: result.ContentType || this.guessMimeType(location),
535
+ etag: result.ETag,
536
+ storageClass: result.StorageClass,
537
+ };
538
+ }, "getInfo");
539
+ }
540
+ /**
541
+ * Get file size in bytes (shortcut for getInfo().size)
542
+ */
543
+ async size(location) {
544
+ const info = await this.getInfo(location);
545
+ return info.size;
546
+ }
547
+ // ============================================================
548
+ // File Operations
549
+ // ============================================================
550
+ /**
551
+ * Copy file to a new location
552
+ */
553
+ async copy(from, to) {
554
+ return this.withRetry(async () => {
555
+ const { CopyObjectCommand, HeadObjectCommand } = S3Client;
556
+ // Apply storage prefix to both paths
557
+ from = this.applyPrefix(from);
558
+ to = this.applyPrefix(to);
559
+ const command = new CopyObjectCommand({
560
+ Bucket: this.options.bucket,
561
+ CopySource: `${this.options.bucket}/${from}`,
562
+ Key: to,
563
+ });
564
+ const result = await this.client.send(command);
565
+ // Get file metadata
566
+ const headCommand = new HeadObjectCommand({
567
+ Bucket: this.options.bucket,
568
+ Key: to,
569
+ });
570
+ const headResult = await this.client.send(headCommand);
571
+ return {
572
+ path: to,
573
+ url: this.url(to),
574
+ size: headResult.ContentLength || 0,
575
+ hash: headResult.ETag?.replace(/"/g, "") || "",
576
+ mimeType: headResult.ContentType || this.guessMimeType(to),
577
+ driver: this.name,
578
+ bucket: this.options.bucket,
579
+ region: this.options.region,
580
+ etag: result.CopyObjectResult?.ETag,
581
+ versionId: result.VersionId,
582
+ };
583
+ }, "copy");
584
+ }
585
+ /**
586
+ * Move file to a new location
587
+ */
588
+ async move(from, to) {
589
+ const file = await this.copy(from, to);
590
+ await this.delete(from);
591
+ return file;
592
+ }
593
+ /**
594
+ * List files in a directory
595
+ */
596
+ async list(directory, options) {
597
+ return this.withRetry(async () => {
598
+ const { ListObjectsV2Command } = S3Client;
599
+ // Apply storage prefix
600
+ directory = this.applyPrefix(directory);
601
+ const command = new ListObjectsV2Command({
602
+ Bucket: this.options.bucket,
603
+ Prefix: directory,
604
+ MaxKeys: options?.limit,
605
+ ContinuationToken: options?.cursor,
606
+ Delimiter: options?.recursive ? undefined : "/",
607
+ });
608
+ const result = await this.client.send(command);
609
+ const files = [];
610
+ // Add files
611
+ for (const object of result.Contents || []) {
612
+ if (!object.Key)
613
+ continue;
614
+ files.push({
615
+ path: object.Key,
616
+ name: object.Key.split("/").pop() || "",
617
+ size: object.Size || 0,
618
+ isDirectory: false,
619
+ lastModified: object.LastModified,
620
+ etag: object.ETag,
621
+ storageClass: object.StorageClass,
622
+ });
623
+ }
624
+ // Add directories
625
+ for (const prefix of result.CommonPrefixes || []) {
626
+ if (!prefix.Prefix)
627
+ continue;
628
+ files.push({
629
+ path: prefix.Prefix,
630
+ name: prefix.Prefix.split("/").filter(Boolean).pop() || "",
631
+ size: 0,
632
+ isDirectory: true,
633
+ });
634
+ }
635
+ return files;
636
+ }, "list");
637
+ }
638
+ // ============================================================
639
+ // Cloud-Specific Operations
640
+ // ============================================================
641
+ /**
642
+ * Get bucket name
643
+ */
644
+ getBucket() {
645
+ return this.options.bucket;
646
+ }
647
+ /**
648
+ * Get region
649
+ */
650
+ getRegion() {
651
+ return this.options.region;
652
+ }
653
+ /**
654
+ * Set storage class (e.g., STANDARD, GLACIER, etc.)
655
+ */
656
+ async setStorageClass(location, storageClass) {
657
+ return this.withRetry(async () => {
658
+ const { CopyObjectCommand } = S3Client;
659
+ // Apply storage prefix
660
+ location = this.applyPrefix(location);
661
+ const command = new CopyObjectCommand({
662
+ Bucket: this.options.bucket,
663
+ CopySource: `${this.options.bucket}/${location}`,
664
+ Key: location,
665
+ StorageClass: storageClass,
666
+ MetadataDirective: "COPY",
667
+ });
668
+ await this.client.send(command);
669
+ }, "setStorageClass");
670
+ }
671
+ /**
672
+ * Set file visibility (public or private)
673
+ */
674
+ async setVisibility(location, visibility) {
675
+ return this.withRetry(async () => {
676
+ const { PutObjectAclCommand } = S3Client;
677
+ // Apply storage prefix
678
+ location = this.applyPrefix(location);
679
+ const command = new PutObjectAclCommand({
680
+ Bucket: this.options.bucket,
681
+ Key: location,
682
+ ACL: visibility === "public" ? "public-read" : "private",
683
+ });
684
+ await this.client.send(command);
685
+ }, "setVisibility");
686
+ }
687
+ /**
688
+ * Get file visibility
689
+ */
690
+ async getVisibility(location) {
691
+ return this.withRetry(async () => {
692
+ const { GetObjectAclCommand } = S3Client;
693
+ // Apply storage prefix
694
+ location = this.applyPrefix(location);
695
+ const command = new GetObjectAclCommand({
696
+ Bucket: this.options.bucket,
697
+ Key: location,
698
+ });
699
+ const result = await this.client.send(command);
700
+ // Check if any grant allows public read
701
+ const hasPublicRead = result.Grants?.some((grant) => grant.Grantee?.URI === "http://acs.amazonaws.com/groups/global/AllUsers" &&
702
+ grant.Permission === "READ");
703
+ return hasPublicRead ? "public" : "private";
704
+ }, "getVisibility");
705
+ }
706
+ // ============================================================
707
+ // Utilities
708
+ // ============================================================
709
+ /**
710
+ * Calculate SHA-256 hash
711
+ */
712
+ calculateHash(buffer) {
713
+ return crypto.createHash("sha256").update(new Uint8Array(buffer)).digest("hex");
714
+ }
715
+ /**
716
+ * Guess MIME type from file extension
717
+ */
718
+ guessMimeType(location) {
719
+ return getMimeType(location);
720
+ }
721
+ }export{CloudDriver,loadS3};//# sourceMappingURL=cloud-driver.js.map