@warlock.js/core 4.0.48 → 4.0.59

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 (723) hide show
  1. package/esm/application.d.ts +27 -0
  2. package/esm/application.d.ts.map +1 -0
  3. package/esm/bootstrap/setup.d.ts +2 -0
  4. package/esm/bootstrap/setup.d.ts.map +1 -0
  5. package/esm/bootstrap/setup.js +14 -0
  6. package/esm/bootstrap/setup.js.map +1 -0
  7. package/esm/bootstrap.d.ts +2 -0
  8. package/esm/bootstrap.d.ts.map +1 -0
  9. package/esm/bootstrap.js +5 -0
  10. package/esm/bootstrap.js.map +1 -0
  11. package/esm/cache/database-cache-driver.d.ts +56 -0
  12. package/esm/cache/database-cache-driver.d.ts.map +1 -0
  13. package/esm/cache/database-cache-driver.js +112 -0
  14. package/esm/cache/database-cache-driver.js.map +1 -0
  15. package/esm/cache/index.d.ts +3 -0
  16. package/esm/cache/index.d.ts.map +1 -0
  17. package/esm/cache/index.js +1 -0
  18. package/esm/cache/index.js.map +1 -0
  19. package/esm/cli/cli-command.d.ts +115 -0
  20. package/esm/cli/cli-command.d.ts.map +1 -0
  21. package/esm/cli/cli-command.js +227 -0
  22. package/esm/cli/cli-command.js.map +1 -0
  23. package/esm/cli/cli-commands.manager.d.ts +71 -0
  24. package/esm/cli/cli-commands.manager.d.ts.map +1 -0
  25. package/esm/cli/cli-commands.manager.js +348 -0
  26. package/esm/cli/cli-commands.manager.js.map +1 -0
  27. package/esm/cli/cli-commands.utils.d.ts +73 -0
  28. package/esm/cli/cli-commands.utils.d.ts.map +1 -0
  29. package/esm/cli/cli-commands.utils.js +195 -0
  30. package/esm/cli/cli-commands.utils.js.map +1 -0
  31. package/esm/cli/commands/add.command.d.ts +2 -0
  32. package/esm/cli/commands/add.command.d.ts.map +1 -0
  33. package/esm/cli/commands/add.command.js +15 -0
  34. package/esm/cli/commands/add.command.js.map +1 -0
  35. package/esm/cli/commands/build.command.d.ts +2 -0
  36. package/esm/cli/commands/build.command.d.ts.map +1 -0
  37. package/esm/cli/commands/build.command.js +8 -0
  38. package/esm/cli/commands/build.command.js.map +1 -0
  39. package/esm/cli/commands/dev-server.command.d.ts +2 -0
  40. package/esm/cli/commands/dev-server.command.d.ts.map +1 -0
  41. package/esm/cli/commands/dev-server.command.js +16 -0
  42. package/esm/cli/commands/dev-server.command.js.map +1 -0
  43. package/esm/cli/commands/migrate.command.d.ts +2 -0
  44. package/esm/cli/commands/migrate.command.d.ts.map +1 -0
  45. package/esm/cli/commands/migrate.command.js +37 -0
  46. package/esm/cli/commands/migrate.command.js.map +1 -0
  47. package/esm/cli/commands/seed.command.d.ts +2 -0
  48. package/esm/cli/commands/seed.command.d.ts.map +1 -0
  49. package/esm/cli/commands/seed.command.js +17 -0
  50. package/esm/cli/commands/seed.command.js.map +1 -0
  51. package/esm/cli/commands/start-production.command.d.ts +2 -0
  52. package/esm/cli/commands/start-production.command.d.ts.map +1 -0
  53. package/esm/cli/commands/start-production.command.js +65 -0
  54. package/esm/cli/commands/start-production.command.js.map +1 -0
  55. package/esm/cli/commands/typings-generator.command.d.ts +2 -0
  56. package/esm/cli/commands/typings-generator.command.d.ts.map +1 -0
  57. package/esm/cli/commands/typings-generator.command.js +37 -0
  58. package/esm/cli/commands/typings-generator.command.js.map +1 -0
  59. package/esm/cli/commands-loader.d.ts +18 -0
  60. package/esm/cli/commands-loader.d.ts.map +1 -0
  61. package/esm/cli/commands-loader.js +45 -0
  62. package/esm/cli/commands-loader.js.map +1 -0
  63. package/esm/cli/framework-cli-commands.d.ts +2 -0
  64. package/esm/cli/framework-cli-commands.d.ts.map +1 -0
  65. package/esm/cli/framework-cli-commands.js +11 -0
  66. package/esm/cli/framework-cli-commands.js.map +1 -0
  67. package/esm/cli/index.d.ts +3 -0
  68. package/esm/cli/index.d.ts.map +1 -0
  69. package/esm/cli/index.js +1 -4
  70. package/esm/cli/index.js.map +1 -1
  71. package/esm/cli/parse-cli-args.d.ts +18 -0
  72. package/esm/cli/parse-cli-args.d.ts.map +1 -0
  73. package/esm/cli/parse-cli-args.js +82 -0
  74. package/esm/cli/parse-cli-args.js.map +1 -0
  75. package/esm/cli/start.d.ts +2 -0
  76. package/esm/cli/start.d.ts.map +1 -0
  77. package/esm/cli/start.js +2 -6
  78. package/esm/cli/start.js.map +1 -1
  79. package/esm/cli/string-similarity.d.ts +44 -0
  80. package/esm/cli/string-similarity.d.ts.map +1 -0
  81. package/esm/cli/string-similarity.js +57 -0
  82. package/esm/cli/string-similarity.js.map +1 -0
  83. package/esm/cli/types.d.ts +206 -0
  84. package/esm/cli/types.d.ts.map +1 -0
  85. package/esm/config/config-getter.d.ts +35 -0
  86. package/esm/config/config-getter.d.ts.map +1 -0
  87. package/esm/config/config-getter.js +21 -0
  88. package/esm/config/config-getter.js.map +1 -0
  89. package/esm/config/config-handlers.d.ts +19 -0
  90. package/esm/config/config-handlers.d.ts.map +1 -0
  91. package/esm/config/config-handlers.js +47 -0
  92. package/esm/config/config-handlers.js.map +1 -0
  93. package/esm/config/config-loader.d.ts +37 -0
  94. package/esm/config/config-loader.d.ts.map +1 -0
  95. package/esm/config/config-loader.js +85 -0
  96. package/esm/config/config-loader.js.map +1 -0
  97. package/esm/config/config-manager.d.ts +22 -0
  98. package/esm/config/config-manager.d.ts.map +1 -0
  99. package/esm/config/config-manager.js +25 -0
  100. package/esm/config/config-manager.js.map +1 -0
  101. package/esm/config/config-special-handlers.d.ts +17 -0
  102. package/esm/config/config-special-handlers.d.ts.map +1 -0
  103. package/esm/config/config-special-handlers.js +23 -0
  104. package/esm/config/config-special-handlers.js.map +1 -0
  105. package/esm/config/index.d.ts +5 -0
  106. package/esm/config/index.d.ts.map +1 -0
  107. package/esm/config/load-config-files.d.ts +6 -0
  108. package/esm/config/load-config-files.d.ts.map +1 -0
  109. package/esm/config/load-config-files.js +19 -0
  110. package/esm/config/load-config-files.js.map +1 -0
  111. package/esm/config/types.d.ts +52 -0
  112. package/esm/config/types.d.ts.map +1 -0
  113. package/esm/database/index.d.ts +4 -0
  114. package/esm/database/index.d.ts.map +1 -0
  115. package/esm/database/migrate-action.d.ts +8 -0
  116. package/esm/database/migrate-action.d.ts.map +1 -0
  117. package/esm/database/migrate-action.js +95 -0
  118. package/esm/database/migrate-action.js.map +1 -0
  119. package/esm/database/models/database-log/database-log.d.ts +16 -0
  120. package/esm/database/models/database-log/database-log.d.ts.map +1 -0
  121. package/esm/database/models/database-log/database-log.js +17 -0
  122. package/esm/database/models/database-log/database-log.js.map +1 -0
  123. package/esm/database/models/database-log/index.d.ts +2 -0
  124. package/esm/database/models/database-log/index.d.ts.map +1 -0
  125. package/esm/database/seed-command-action.d.ts +3 -0
  126. package/esm/database/seed-command-action.d.ts.map +1 -0
  127. package/esm/database/seed-command-action.js +36 -0
  128. package/esm/database/seed-command-action.js.map +1 -0
  129. package/esm/database/seeds/index.d.ts +3 -0
  130. package/esm/database/seeds/index.d.ts.map +1 -0
  131. package/esm/database/seeds/seeder.d.ts +36 -0
  132. package/esm/database/seeds/seeder.d.ts.map +1 -0
  133. package/esm/database/seeds/seeder.js +6 -0
  134. package/esm/database/seeds/seeder.js.map +1 -0
  135. package/esm/database/seeds/seeders.manager.d.ts +47 -0
  136. package/esm/database/seeds/seeders.manager.d.ts.map +1 -0
  137. package/esm/database/seeds/seeders.manager.js +137 -0
  138. package/esm/database/seeds/seeders.manager.js.map +1 -0
  139. package/esm/database/seeds/seeds-table-migration.d.ts +8 -0
  140. package/esm/database/seeds/seeds-table-migration.d.ts.map +1 -0
  141. package/esm/database/seeds/seeds-table-migration.js +18 -0
  142. package/esm/database/seeds/seeds-table-migration.js.map +1 -0
  143. package/esm/database/seeds/types.d.ts +13 -0
  144. package/esm/database/seeds/types.d.ts.map +1 -0
  145. package/esm/database/seeds/utils.d.ts +2 -0
  146. package/esm/database/seeds/utils.d.ts.map +1 -0
  147. package/esm/database/seeds/utils.js +1 -0
  148. package/esm/database/seeds/utils.js.map +1 -0
  149. package/esm/database/utils.d.ts +18 -0
  150. package/esm/database/utils.d.ts.map +1 -0
  151. package/esm/database/utils.js +30 -0
  152. package/esm/database/utils.js.map +1 -0
  153. package/esm/dev2-server/connectors/base-connector.d.ts +49 -0
  154. package/esm/dev2-server/connectors/base-connector.d.ts.map +1 -0
  155. package/esm/dev2-server/connectors/base-connector.js +48 -0
  156. package/esm/dev2-server/connectors/base-connector.js.map +1 -0
  157. package/esm/dev2-server/connectors/cache-connector.d.ts +23 -0
  158. package/esm/dev2-server/connectors/cache-connector.d.ts.map +1 -0
  159. package/esm/dev2-server/connectors/cache-connector.js +35 -0
  160. package/esm/dev2-server/connectors/cache-connector.js.map +1 -0
  161. package/esm/dev2-server/connectors/connectors-manager.d.ts +38 -0
  162. package/esm/dev2-server/connectors/connectors-manager.d.ts.map +1 -0
  163. package/esm/dev2-server/connectors/connectors-manager.js +81 -0
  164. package/esm/dev2-server/connectors/connectors-manager.js.map +1 -0
  165. package/esm/dev2-server/connectors/database-connector.d.ts +23 -0
  166. package/esm/dev2-server/connectors/database-connector.d.ts.map +1 -0
  167. package/esm/dev2-server/connectors/database-connector.js +51 -0
  168. package/esm/dev2-server/connectors/database-connector.js.map +1 -0
  169. package/esm/dev2-server/connectors/http-connector.d.ts +29 -0
  170. package/esm/dev2-server/connectors/http-connector.d.ts.map +1 -0
  171. package/esm/dev2-server/connectors/http-connector.js +69 -0
  172. package/esm/dev2-server/connectors/http-connector.js.map +1 -0
  173. package/esm/dev2-server/connectors/index.d.ts +12 -0
  174. package/esm/dev2-server/connectors/index.d.ts.map +1 -0
  175. package/esm/dev2-server/connectors/storage.connector.d.ts +23 -0
  176. package/esm/dev2-server/connectors/storage.connector.d.ts.map +1 -0
  177. package/esm/dev2-server/connectors/storage.connector.js +29 -0
  178. package/esm/dev2-server/connectors/storage.connector.js.map +1 -0
  179. package/esm/dev2-server/connectors/types.d.ts +51 -0
  180. package/esm/dev2-server/connectors/types.d.ts.map +1 -0
  181. package/esm/dev2-server/connectors/types.js +10 -0
  182. package/esm/dev2-server/connectors/types.js.map +1 -0
  183. package/esm/dev2-server/create-worker.d.ts +34 -0
  184. package/esm/dev2-server/create-worker.d.ts.map +1 -0
  185. package/esm/dev2-server/create-worker.js +37 -0
  186. package/esm/dev2-server/create-worker.js.map +1 -0
  187. package/esm/dev2-server/dependency-graph.d.ts +93 -0
  188. package/esm/dev2-server/dependency-graph.d.ts.map +1 -0
  189. package/esm/dev2-server/dependency-graph.js +266 -0
  190. package/esm/dev2-server/dependency-graph.js.map +1 -0
  191. package/esm/dev2-server/dev-logger.d.ts +14 -0
  192. package/esm/dev2-server/dev-logger.d.ts.map +1 -0
  193. package/esm/dev2-server/dev-logger.js +130 -0
  194. package/esm/dev2-server/dev-logger.js.map +1 -0
  195. package/esm/dev2-server/development-server.d.ts +47 -0
  196. package/esm/dev2-server/development-server.d.ts.map +1 -0
  197. package/esm/dev2-server/development-server.js +149 -0
  198. package/esm/dev2-server/development-server.js.map +1 -0
  199. package/esm/dev2-server/events.d.ts +5 -0
  200. package/esm/dev2-server/events.d.ts.map +1 -0
  201. package/esm/dev2-server/events.js +4 -0
  202. package/esm/dev2-server/events.js.map +1 -0
  203. package/esm/dev2-server/export-analyzer.d.ts +84 -0
  204. package/esm/dev2-server/export-analyzer.d.ts.map +1 -0
  205. package/esm/dev2-server/export-analyzer.js +206 -0
  206. package/esm/dev2-server/export-analyzer.js.map +1 -0
  207. package/esm/dev2-server/file-event-handler.d.ts +156 -0
  208. package/esm/dev2-server/file-event-handler.d.ts.map +1 -0
  209. package/esm/dev2-server/file-event-handler.js +300 -0
  210. package/esm/dev2-server/file-event-handler.js.map +1 -0
  211. package/esm/dev2-server/file-manager.d.ts +385 -0
  212. package/esm/dev2-server/file-manager.d.ts.map +1 -0
  213. package/esm/dev2-server/file-manager.js +580 -0
  214. package/esm/dev2-server/file-manager.js.map +1 -0
  215. package/esm/dev2-server/file-operations.d.ts +203 -0
  216. package/esm/dev2-server/file-operations.d.ts.map +1 -0
  217. package/esm/dev2-server/file-operations.js +365 -0
  218. package/esm/dev2-server/file-operations.js.map +1 -0
  219. package/esm/dev2-server/files-orchestrator.d.ts +146 -0
  220. package/esm/dev2-server/files-orchestrator.d.ts.map +1 -0
  221. package/esm/dev2-server/files-orchestrator.js +314 -0
  222. package/esm/dev2-server/files-orchestrator.js.map +1 -0
  223. package/esm/dev2-server/files-watcher.d.ts +67 -0
  224. package/esm/dev2-server/files-watcher.d.ts.map +1 -0
  225. package/esm/dev2-server/files-watcher.js +95 -0
  226. package/esm/dev2-server/files-watcher.js.map +1 -0
  227. package/esm/dev2-server/flags.d.ts +10 -0
  228. package/esm/dev2-server/flags.d.ts.map +1 -0
  229. package/esm/dev2-server/flags.js +9 -0
  230. package/esm/dev2-server/flags.js.map +1 -0
  231. package/esm/dev2-server/health-checker/checkers/base-health-checker.d.ts +52 -0
  232. package/esm/dev2-server/health-checker/checkers/base-health-checker.d.ts.map +1 -0
  233. package/esm/dev2-server/health-checker/checkers/base-health-checker.js +71 -0
  234. package/esm/dev2-server/health-checker/checkers/base-health-checker.js.map +1 -0
  235. package/esm/dev2-server/health-checker/checkers/eslint-health-checker.d.ts +40 -0
  236. package/esm/dev2-server/health-checker/checkers/eslint-health-checker.d.ts.map +1 -0
  237. package/esm/dev2-server/health-checker/checkers/eslint-health-checker.js +217 -0
  238. package/esm/dev2-server/health-checker/checkers/eslint-health-checker.js.map +1 -0
  239. package/esm/dev2-server/health-checker/checkers/typescript-health-checker.d.ts +56 -0
  240. package/esm/dev2-server/health-checker/checkers/typescript-health-checker.d.ts.map +1 -0
  241. package/esm/dev2-server/health-checker/checkers/typescript-health-checker.js +279 -0
  242. package/esm/dev2-server/health-checker/checkers/typescript-health-checker.js.map +1 -0
  243. package/esm/dev2-server/health-checker/file-health-checker.contract.d.ts +59 -0
  244. package/esm/dev2-server/health-checker/file-health-checker.contract.d.ts.map +1 -0
  245. package/esm/dev2-server/health-checker/file-health-result.d.ts +68 -0
  246. package/esm/dev2-server/health-checker/file-health-result.d.ts.map +1 -0
  247. package/esm/dev2-server/health-checker/file-health-result.js +40 -0
  248. package/esm/dev2-server/health-checker/file-health-result.js.map +1 -0
  249. package/esm/dev2-server/health-checker/files-healthcare.manager.d.ts +115 -0
  250. package/esm/dev2-server/health-checker/files-healthcare.manager.d.ts.map +1 -0
  251. package/esm/dev2-server/health-checker/files-healthcare.manager.js +422 -0
  252. package/esm/dev2-server/health-checker/files-healthcare.manager.js.map +1 -0
  253. package/esm/dev2-server/health-checker/index.d.ts +6 -0
  254. package/esm/dev2-server/health-checker/index.d.ts.map +1 -0
  255. package/esm/dev2-server/health-checker/workers/eslint-health.worker.d.ts +2 -0
  256. package/esm/dev2-server/health-checker/workers/eslint-health.worker.d.ts.map +1 -0
  257. package/esm/dev2-server/health-checker/workers/eslint-health.worker.js +214 -0
  258. package/esm/dev2-server/health-checker/workers/eslint-health.worker.js.map +1 -0
  259. package/esm/dev2-server/health-checker/workers/ts-health.worker.d.ts +2 -0
  260. package/esm/dev2-server/health-checker/workers/ts-health.worker.d.ts.map +1 -0
  261. package/esm/dev2-server/health-checker/workers/ts-health.worker.js +261 -0
  262. package/esm/dev2-server/health-checker/workers/ts-health.worker.js.map +1 -0
  263. package/esm/dev2-server/import-transformer.d.ts +17 -0
  264. package/esm/dev2-server/import-transformer.d.ts.map +1 -0
  265. package/esm/dev2-server/import-transformer.js +280 -0
  266. package/esm/dev2-server/import-transformer.js.map +1 -0
  267. package/esm/dev2-server/index.d.ts +1 -0
  268. package/esm/dev2-server/index.d.ts.map +1 -0
  269. package/esm/dev2-server/layer-executor.d.ts +61 -0
  270. package/esm/dev2-server/layer-executor.d.ts.map +1 -0
  271. package/esm/dev2-server/layer-executor.js +314 -0
  272. package/esm/dev2-server/layer-executor.js.map +1 -0
  273. package/esm/dev2-server/manifest-manager.d.ts +80 -0
  274. package/esm/dev2-server/manifest-manager.d.ts.map +1 -0
  275. package/esm/dev2-server/manifest-manager.js +107 -0
  276. package/esm/dev2-server/manifest-manager.js.map +1 -0
  277. package/esm/dev2-server/module-loader.d.ts +108 -0
  278. package/esm/dev2-server/module-loader.d.ts.map +1 -0
  279. package/esm/dev2-server/module-loader.js +266 -0
  280. package/esm/dev2-server/module-loader.js.map +1 -0
  281. package/esm/dev2-server/package-json-manager.d.ts +16 -0
  282. package/esm/dev2-server/package-json-manager.d.ts.map +1 -0
  283. package/esm/dev2-server/package-json-manager.js +20 -0
  284. package/esm/dev2-server/package-json-manager.js.map +1 -0
  285. package/esm/dev2-server/parse-imports.d.ts +13 -0
  286. package/esm/dev2-server/parse-imports.d.ts.map +1 -0
  287. package/esm/dev2-server/parse-imports.js +329 -0
  288. package/esm/dev2-server/parse-imports.js.map +1 -0
  289. package/esm/dev2-server/path.d.ts +39 -0
  290. package/esm/dev2-server/path.d.ts.map +1 -0
  291. package/esm/dev2-server/path.js +56 -0
  292. package/esm/dev2-server/path.js.map +1 -0
  293. package/esm/dev2-server/runtime-import-helper.d.ts +8 -0
  294. package/esm/dev2-server/runtime-import-helper.d.ts.map +1 -0
  295. package/esm/dev2-server/runtime-import-helper.js +157 -0
  296. package/esm/dev2-server/runtime-import-helper.js.map +1 -0
  297. package/esm/dev2-server/special-files-collector.d.ts +114 -0
  298. package/esm/dev2-server/special-files-collector.d.ts.map +1 -0
  299. package/esm/dev2-server/special-files-collector.js +212 -0
  300. package/esm/dev2-server/special-files-collector.js.map +1 -0
  301. package/esm/dev2-server/start-development-server.d.ts +7 -0
  302. package/esm/dev2-server/start-development-server.d.ts.map +1 -0
  303. package/esm/dev2-server/start-development-server.js +21 -0
  304. package/esm/dev2-server/start-development-server.js.map +1 -0
  305. package/esm/dev2-server/transpile-file.d.ts +11 -0
  306. package/esm/dev2-server/transpile-file.d.ts.map +1 -0
  307. package/esm/dev2-server/transpile-file.js +21 -0
  308. package/esm/dev2-server/transpile-file.js.map +1 -0
  309. package/esm/dev2-server/tsconfig-manager.d.ts +45 -0
  310. package/esm/dev2-server/tsconfig-manager.d.ts.map +1 -0
  311. package/esm/dev2-server/tsconfig-manager.js +107 -0
  312. package/esm/dev2-server/tsconfig-manager.js.map +1 -0
  313. package/esm/dev2-server/type-generator.d.ts +115 -0
  314. package/esm/dev2-server/type-generator.d.ts.map +1 -0
  315. package/esm/dev2-server/type-generator.js +566 -0
  316. package/esm/dev2-server/type-generator.js.map +1 -0
  317. package/esm/dev2-server/types.d.ts +30 -0
  318. package/esm/dev2-server/types.d.ts.map +1 -0
  319. package/esm/dev2-server/utils.d.ts +15 -0
  320. package/esm/dev2-server/utils.d.ts.map +1 -0
  321. package/esm/dev2-server/utils.js +40 -0
  322. package/esm/dev2-server/utils.js.map +1 -0
  323. package/esm/generations/add-command.action.d.ts +3 -0
  324. package/esm/generations/add-command.action.d.ts.map +1 -0
  325. package/esm/generations/add-command.action.js +154 -0
  326. package/esm/generations/add-command.action.js.map +1 -0
  327. package/esm/http/config.d.ts +10 -0
  328. package/esm/http/config.d.ts.map +1 -0
  329. package/esm/http/config.js +22 -0
  330. package/esm/http/config.js.map +1 -0
  331. package/esm/http/context/request-context.d.ts +47 -0
  332. package/esm/http/context/request-context.d.ts.map +1 -0
  333. package/esm/http/context/request-context.js +52 -0
  334. package/esm/http/context/request-context.js.map +1 -0
  335. package/esm/http/createHttpApplication.d.ts +3 -0
  336. package/esm/http/createHttpApplication.d.ts.map +1 -0
  337. package/esm/http/createHttpApplication.js +28 -0
  338. package/esm/http/createHttpApplication.js.map +1 -0
  339. package/esm/http/database/RequestLog.d.ts +16 -0
  340. package/esm/http/database/RequestLog.d.ts.map +1 -0
  341. package/esm/http/database/RequestLog.js +26 -0
  342. package/esm/http/database/RequestLog.js.map +1 -0
  343. package/esm/http/errors/index.d.ts +2 -0
  344. package/esm/http/errors/index.d.ts.map +1 -0
  345. package/esm/http/errors/resource-not-found.error.d.ts +21 -0
  346. package/esm/http/errors/resource-not-found.error.d.ts.map +1 -0
  347. package/esm/http/errors/resource-not-found.error.js +40 -0
  348. package/esm/http/errors/resource-not-found.error.js.map +1 -0
  349. package/esm/http/events.d.ts +4 -0
  350. package/esm/http/events.d.ts.map +1 -0
  351. package/esm/http/events.js +26 -0
  352. package/esm/http/events.js.map +1 -0
  353. package/esm/http/index.d.ts +17 -0
  354. package/esm/http/index.d.ts.map +1 -0
  355. package/esm/http/middleware/cache-response-middleware.d.ts +34 -0
  356. package/esm/http/middleware/cache-response-middleware.d.ts.map +1 -0
  357. package/esm/http/middleware/cache-response-middleware.js +45 -0
  358. package/esm/http/middleware/cache-response-middleware.js.map +1 -0
  359. package/esm/http/middleware/index.d.ts +3 -0
  360. package/esm/http/middleware/index.d.ts.map +1 -0
  361. package/esm/http/middleware/inject-request-context.d.ts +21 -0
  362. package/esm/http/middleware/inject-request-context.d.ts.map +1 -0
  363. package/esm/http/middleware/inject-request-context.js +105 -0
  364. package/esm/http/middleware/inject-request-context.js.map +1 -0
  365. package/esm/http/plugins/index.d.ts +3 -0
  366. package/esm/http/plugins/index.d.ts.map +1 -0
  367. package/esm/http/plugins.d.ts +3 -0
  368. package/esm/http/plugins.d.ts.map +1 -0
  369. package/esm/http/plugins.js +31 -0
  370. package/esm/http/plugins.js.map +1 -0
  371. package/esm/http/request-controller.d.ts +11 -0
  372. package/esm/http/request-controller.d.ts.map +1 -0
  373. package/esm/http/request-controller.js +9 -0
  374. package/esm/http/request-controller.js.map +1 -0
  375. package/esm/http/request.d.ts +380 -0
  376. package/esm/http/request.d.ts.map +1 -0
  377. package/esm/http/request.js +733 -0
  378. package/esm/http/request.js.map +1 -0
  379. package/esm/http/response.js +914 -0
  380. package/esm/http/response.js.map +1 -0
  381. package/esm/http/server.d.ts +8 -0
  382. package/esm/http/server.d.ts.map +1 -0
  383. package/esm/http/server.js +15 -0
  384. package/esm/http/server.js.map +1 -0
  385. package/esm/http/types.d.ts +174 -0
  386. package/esm/http/types.d.ts.map +1 -0
  387. package/esm/http/uploaded-file.d.ts +459 -0
  388. package/esm/http/uploaded-file.d.ts.map +1 -0
  389. package/esm/http/uploaded-file.js +709 -0
  390. package/esm/http/uploaded-file.js.map +1 -0
  391. package/esm/http/uploads-config.d.ts +26 -0
  392. package/esm/http/uploads-config.d.ts.map +1 -0
  393. package/esm/http/uploads-config.js +35 -0
  394. package/esm/http/uploads-config.js.map +1 -0
  395. package/esm/http/uploads-types.d.ts +236 -0
  396. package/esm/http/uploads-types.d.ts.map +1 -0
  397. package/esm/image/image.d.ts +388 -0
  398. package/esm/image/image.d.ts.map +1 -0
  399. package/esm/image/image.js +602 -0
  400. package/esm/image/image.js.map +1 -0
  401. package/esm/image/index.d.ts +2 -0
  402. package/esm/image/index.d.ts.map +1 -0
  403. package/esm/index.d.ts +28 -0
  404. package/esm/index.d.ts.map +1 -0
  405. package/esm/index.js +1 -28
  406. package/esm/index.js.map +1 -1
  407. package/esm/logger/index.d.ts +3 -0
  408. package/esm/logger/index.d.ts.map +1 -0
  409. package/esm/logger/logger.d.ts +3 -0
  410. package/esm/logger/logger.d.ts.map +1 -0
  411. package/esm/logger/logger.js +16 -0
  412. package/esm/logger/logger.js.map +1 -0
  413. package/esm/logger/types.d.ts +39 -0
  414. package/esm/logger/types.d.ts.map +1 -0
  415. package/esm/mail/config.d.ts +83 -0
  416. package/esm/mail/config.d.ts.map +1 -0
  417. package/esm/mail/config.js +152 -0
  418. package/esm/mail/config.js.map +1 -0
  419. package/esm/mail/events.d.ts +96 -0
  420. package/esm/mail/events.d.ts.map +1 -0
  421. package/esm/mail/events.js +123 -0
  422. package/esm/mail/events.js.map +1 -0
  423. package/esm/mail/index.d.ts +10 -0
  424. package/esm/mail/index.d.ts.map +1 -0
  425. package/esm/mail/mail.d.ts +175 -0
  426. package/esm/mail/mail.d.ts.map +1 -0
  427. package/esm/mail/mail.js +286 -0
  428. package/esm/mail/mail.js.map +1 -0
  429. package/esm/mail/mailer-pool.d.ts +27 -0
  430. package/esm/mail/mailer-pool.d.ts.map +1 -0
  431. package/esm/mail/mailer-pool.js +143 -0
  432. package/esm/mail/mailer-pool.js.map +1 -0
  433. package/esm/mail/react-mail.d.ts +9 -0
  434. package/esm/mail/react-mail.d.ts.map +1 -0
  435. package/esm/mail/react-mail.js +28 -0
  436. package/esm/mail/react-mail.js.map +1 -0
  437. package/esm/mail/send-mail.d.ts +33 -0
  438. package/esm/mail/send-mail.d.ts.map +1 -0
  439. package/esm/mail/send-mail.js +309 -0
  440. package/esm/mail/send-mail.js.map +1 -0
  441. package/esm/mail/test-mailbox.d.ts +110 -0
  442. package/esm/mail/test-mailbox.d.ts.map +1 -0
  443. package/esm/mail/test-mailbox.js +143 -0
  444. package/esm/mail/test-mailbox.js.map +1 -0
  445. package/esm/mail/types.d.ts +245 -0
  446. package/esm/mail/types.d.ts.map +1 -0
  447. package/esm/mail/types.js +13 -0
  448. package/esm/mail/types.js.map +1 -0
  449. package/esm/manifest/manifest-manager.d.ts +74 -0
  450. package/esm/manifest/manifest-manager.d.ts.map +1 -0
  451. package/esm/manifest/manifest-manager.js +88 -0
  452. package/esm/manifest/manifest-manager.js.map +1 -0
  453. package/esm/production/build-app-production.d.ts +6 -0
  454. package/esm/production/build-app-production.d.ts.map +1 -0
  455. package/esm/production/build-app-production.js +8 -0
  456. package/esm/production/build-app-production.js.map +1 -0
  457. package/esm/production/esbuild-plugins.d.ts +5 -0
  458. package/esm/production/esbuild-plugins.d.ts.map +1 -0
  459. package/esm/production/esbuild-plugins.js +23 -0
  460. package/esm/production/esbuild-plugins.js.map +1 -0
  461. package/esm/production/production-builder.d.ts +76 -0
  462. package/esm/production/production-builder.d.ts.map +1 -0
  463. package/esm/production/production-builder.js +247 -0
  464. package/esm/production/production-builder.js.map +1 -0
  465. package/esm/react/index.d.ts +14 -0
  466. package/esm/react/index.d.ts.map +1 -0
  467. package/esm/react/index.js +65 -0
  468. package/esm/react/index.js.map +1 -0
  469. package/esm/repositories/adapters/cascade/cascade-adapter.d.ts +85 -0
  470. package/esm/repositories/adapters/cascade/cascade-adapter.d.ts.map +1 -0
  471. package/esm/repositories/adapters/cascade/cascade-adapter.js +179 -0
  472. package/esm/repositories/adapters/cascade/cascade-adapter.js.map +1 -0
  473. package/esm/repositories/adapters/cascade/cascade-query-builder.d.ts +124 -0
  474. package/esm/repositories/adapters/cascade/cascade-query-builder.d.ts.map +1 -0
  475. package/esm/repositories/adapters/cascade/cascade-query-builder.js +267 -0
  476. package/esm/repositories/adapters/cascade/cascade-query-builder.js.map +1 -0
  477. package/esm/repositories/adapters/cascade/filter-applicator.d.ts +62 -0
  478. package/esm/repositories/adapters/cascade/filter-applicator.d.ts.map +1 -0
  479. package/esm/repositories/adapters/cascade/filter-applicator.js +423 -0
  480. package/esm/repositories/adapters/cascade/filter-applicator.js.map +1 -0
  481. package/esm/repositories/adapters/cascade/index.d.ts +7 -0
  482. package/esm/repositories/adapters/cascade/index.d.ts.map +1 -0
  483. package/esm/repositories/contracts/index.d.ts +8 -0
  484. package/esm/repositories/contracts/index.d.ts.map +1 -0
  485. package/esm/repositories/contracts/query-builder.contract.d.ts +279 -0
  486. package/esm/repositories/contracts/query-builder.contract.d.ts.map +1 -0
  487. package/esm/repositories/contracts/repository-adapter.contract.d.ts +183 -0
  488. package/esm/repositories/contracts/repository-adapter.contract.d.ts.map +1 -0
  489. package/esm/repositories/contracts/types.d.ts +278 -0
  490. package/esm/repositories/contracts/types.d.ts.map +1 -0
  491. package/esm/repositories/index.d.ts +8 -0
  492. package/esm/repositories/index.d.ts.map +1 -0
  493. package/esm/repositories/repository.manager.d.ts +619 -0
  494. package/esm/repositories/repository.manager.d.ts.map +1 -0
  495. package/esm/repositories/repository.manager.js +978 -0
  496. package/esm/repositories/repository.manager.js.map +1 -0
  497. package/esm/resource/define-resource.js +58 -0
  498. package/esm/resource/define-resource.js.map +1 -0
  499. package/esm/resource/index.d.ts +5 -0
  500. package/esm/resource/index.d.ts.map +1 -0
  501. package/esm/resource/resource-field-builder.d.ts +83 -0
  502. package/esm/resource/resource-field-builder.d.ts.map +1 -0
  503. package/esm/resource/resource-field-builder.js +189 -0
  504. package/esm/resource/resource-field-builder.js.map +1 -0
  505. package/esm/resource/resource.d.ts +105 -0
  506. package/esm/resource/resource.d.ts.map +1 -0
  507. package/esm/resource/resource.js +231 -0
  508. package/esm/resource/resource.js.map +1 -0
  509. package/esm/resource/types.d.ts +40 -0
  510. package/esm/resource/types.d.ts.map +1 -0
  511. package/esm/restful/index.d.ts +2 -0
  512. package/esm/restful/index.d.ts.map +1 -0
  513. package/esm/restful/restful.d.ts +110 -0
  514. package/esm/restful/restful.d.ts.map +1 -0
  515. package/esm/restful/restful.js +317 -0
  516. package/esm/restful/restful.js.map +1 -0
  517. package/esm/router/index.d.ts +4 -0
  518. package/esm/router/index.d.ts.map +1 -0
  519. package/esm/router/route-registry.d.ts +30 -0
  520. package/esm/router/route-registry.d.ts.map +1 -0
  521. package/esm/router/route-registry.js +67 -0
  522. package/esm/router/route-registry.js.map +1 -0
  523. package/esm/router/route.d.ts +34 -0
  524. package/esm/router/route.d.ts.map +1 -0
  525. package/esm/router/router.d.ts +169 -0
  526. package/esm/router/router.d.ts.map +1 -0
  527. package/esm/router/router.js +578 -0
  528. package/esm/router/router.js.map +1 -0
  529. package/esm/router/types.d.ts +267 -0
  530. package/esm/router/types.d.ts.map +1 -0
  531. package/esm/router/utils.d.ts +5 -0
  532. package/esm/router/utils.d.ts.map +1 -0
  533. package/esm/router/utils.js +6 -0
  534. package/esm/router/utils.js.map +1 -0
  535. package/esm/storage/config.d.ts +15 -0
  536. package/esm/storage/config.d.ts.map +1 -0
  537. package/esm/storage/config.js +32 -0
  538. package/esm/storage/config.js.map +1 -0
  539. package/esm/storage/context/storage-driver-context.d.ts +69 -0
  540. package/esm/storage/context/storage-driver-context.d.ts.map +1 -0
  541. package/esm/storage/context/storage-driver-context.js +80 -0
  542. package/esm/storage/context/storage-driver-context.js.map +1 -0
  543. package/esm/storage/drivers/cloud-driver.d.ts +196 -0
  544. package/esm/storage/drivers/cloud-driver.d.ts.map +1 -0
  545. package/esm/storage/drivers/cloud-driver.js +697 -0
  546. package/esm/storage/drivers/cloud-driver.js.map +1 -0
  547. package/esm/storage/drivers/do-spaces-driver.d.ts +43 -0
  548. package/esm/storage/drivers/do-spaces-driver.d.ts.map +1 -0
  549. package/esm/storage/drivers/do-spaces-driver.js +50 -0
  550. package/esm/storage/drivers/do-spaces-driver.js.map +1 -0
  551. package/esm/storage/drivers/local-driver.d.ts +151 -0
  552. package/esm/storage/drivers/local-driver.d.ts.map +1 -0
  553. package/esm/storage/drivers/local-driver.js +448 -0
  554. package/esm/storage/drivers/local-driver.js.map +1 -0
  555. package/esm/storage/drivers/r2-driver.d.ts +47 -0
  556. package/esm/storage/drivers/r2-driver.d.ts.map +1 -0
  557. package/esm/storage/drivers/r2-driver.js +60 -0
  558. package/esm/storage/drivers/r2-driver.js.map +1 -0
  559. package/esm/storage/drivers/s3-driver.d.ts +32 -0
  560. package/esm/storage/drivers/s3-driver.d.ts.map +1 -0
  561. package/esm/storage/drivers/s3-driver.js +37 -0
  562. package/esm/storage/drivers/s3-driver.js.map +1 -0
  563. package/esm/storage/index.d.ts +13 -0
  564. package/esm/storage/index.d.ts.map +1 -0
  565. package/esm/storage/scoped-storage.d.ts +514 -0
  566. package/esm/storage/scoped-storage.d.ts.map +1 -0
  567. package/esm/storage/scoped-storage.js +656 -0
  568. package/esm/storage/scoped-storage.js.map +1 -0
  569. package/esm/storage/storage-file.d.ts +216 -0
  570. package/esm/storage/storage-file.d.ts.map +1 -0
  571. package/esm/storage/storage-file.js +358 -0
  572. package/esm/storage/storage-file.js.map +1 -0
  573. package/esm/storage/storage.d.ts +583 -0
  574. package/esm/storage/storage.d.ts.map +1 -0
  575. package/esm/storage/storage.js +945 -0
  576. package/esm/storage/storage.js.map +1 -0
  577. package/esm/storage/types.d.ts +909 -0
  578. package/esm/storage/types.d.ts.map +1 -0
  579. package/esm/storage/utils/mime.d.ts +33 -0
  580. package/esm/storage/utils/mime.d.ts.map +1 -0
  581. package/esm/storage/utils/mime.js +45 -0
  582. package/esm/storage/utils/mime.js.map +1 -0
  583. package/esm/store/index.d.ts +25 -0
  584. package/esm/store/index.d.ts.map +1 -0
  585. package/esm/store/index.js +52 -0
  586. package/esm/store/index.js.map +1 -0
  587. package/esm/utils/app-log.d.ts +8 -0
  588. package/esm/utils/app-log.d.ts.map +1 -0
  589. package/esm/utils/app-log.js +7 -0
  590. package/esm/utils/app-log.js.map +1 -0
  591. package/esm/utils/cleanup-temp-files.d.ts +5 -0
  592. package/esm/utils/cleanup-temp-files.d.ts.map +1 -0
  593. package/esm/utils/database-log.d.ts +25 -0
  594. package/esm/utils/database-log.d.ts.map +1 -0
  595. package/esm/utils/database-log.js +43 -0
  596. package/esm/utils/database-log.js.map +1 -0
  597. package/esm/utils/download-file.d.ts +3 -0
  598. package/esm/utils/download-file.d.ts.map +1 -0
  599. package/esm/utils/environment.d.ts +4 -0
  600. package/esm/utils/environment.d.ts.map +1 -0
  601. package/esm/utils/environment.js +6 -0
  602. package/esm/utils/environment.js.map +1 -0
  603. package/esm/utils/get-localized.d.ts +10 -0
  604. package/esm/utils/get-localized.d.ts.map +1 -0
  605. package/esm/utils/get-localized.js +15 -0
  606. package/esm/utils/get-localized.js.map +1 -0
  607. package/esm/utils/index.d.ts +12 -0
  608. package/esm/utils/index.d.ts.map +1 -0
  609. package/esm/utils/internal.d.ts +4 -0
  610. package/esm/utils/internal.d.ts.map +1 -0
  611. package/esm/utils/paths.d.ts +55 -0
  612. package/esm/utils/paths.d.ts.map +1 -0
  613. package/esm/utils/paths.js +89 -0
  614. package/esm/utils/paths.js.map +1 -0
  615. package/esm/utils/promise-all-object.d.ts +8 -0
  616. package/esm/utils/promise-all-object.d.ts.map +1 -0
  617. package/esm/utils/promise-all-object.js +12 -0
  618. package/esm/utils/promise-all-object.js.map +1 -0
  619. package/esm/utils/queue.d.ts +49 -0
  620. package/esm/utils/queue.d.ts.map +1 -0
  621. package/esm/utils/queue.js +89 -0
  622. package/esm/utils/queue.js.map +1 -0
  623. package/esm/utils/sleep.d.ts +2 -0
  624. package/esm/utils/sleep.d.ts.map +1 -0
  625. package/esm/utils/sleep.js +3 -0
  626. package/esm/utils/sleep.js.map +1 -0
  627. package/esm/utils/sluggable.d.ts +5 -0
  628. package/esm/utils/sluggable.d.ts.map +1 -0
  629. package/esm/utils/sluggable.js +15 -0
  630. package/esm/utils/sluggable.js.map +1 -0
  631. package/esm/utils/to-json.d.ts +2 -0
  632. package/esm/utils/to-json.d.ts.map +1 -0
  633. package/esm/utils/to-json.js +26 -0
  634. package/esm/utils/to-json.js.map +1 -0
  635. package/esm/utils/types.d.ts +22 -0
  636. package/esm/utils/types.d.ts.map +1 -0
  637. package/esm/utils/urls.d.ts +21 -0
  638. package/esm/utils/urls.d.ts.map +1 -0
  639. package/esm/utils/urls.js +31 -0
  640. package/esm/utils/urls.js.map +1 -0
  641. package/esm/validation/database/exists-except-current-id.d.ts +7 -0
  642. package/esm/validation/database/exists-except-current-id.d.ts.map +1 -0
  643. package/esm/validation/database/exists-except-current-id.js +23 -0
  644. package/esm/validation/database/exists-except-current-id.js.map +1 -0
  645. package/esm/validation/database/exists-except-current-user.d.ts +7 -0
  646. package/esm/validation/database/exists-except-current-user.d.ts.map +1 -0
  647. package/esm/validation/database/exists-except-current-user.js +25 -0
  648. package/esm/validation/database/exists-except-current-user.js.map +1 -0
  649. package/esm/validation/database/exists.d.ts +7 -0
  650. package/esm/validation/database/exists.d.ts.map +1 -0
  651. package/esm/validation/database/exists.js +21 -0
  652. package/esm/validation/database/exists.js.map +1 -0
  653. package/esm/validation/database/index.d.ts +12 -0
  654. package/esm/validation/database/index.d.ts.map +1 -0
  655. package/esm/validation/database/types.d.ts +68 -0
  656. package/esm/validation/database/types.d.ts.map +1 -0
  657. package/esm/validation/database/unique-except-current-id.d.ts +7 -0
  658. package/esm/validation/database/unique-except-current-id.d.ts.map +1 -0
  659. package/esm/validation/database/unique-except-current-id.js +23 -0
  660. package/esm/validation/database/unique-except-current-id.js.map +1 -0
  661. package/esm/validation/database/unique-except-current-user.d.ts +7 -0
  662. package/esm/validation/database/unique-except-current-user.d.ts.map +1 -0
  663. package/esm/validation/database/unique-except-current-user.js +25 -0
  664. package/esm/validation/database/unique-except-current-user.js.map +1 -0
  665. package/esm/validation/database/unique.d.ts +7 -0
  666. package/esm/validation/database/unique.d.ts.map +1 -0
  667. package/esm/validation/database/unique.js +30 -0
  668. package/esm/validation/database/unique.js.map +1 -0
  669. package/esm/validation/file/file.d.ts +22 -0
  670. package/esm/validation/file/file.d.ts.map +1 -0
  671. package/esm/validation/file/file.js +60 -0
  672. package/esm/validation/file/file.js.map +1 -0
  673. package/esm/validation/file/index.d.ts +6 -0
  674. package/esm/validation/file/index.d.ts.map +1 -0
  675. package/esm/validation/index.d.ts +16 -0
  676. package/esm/validation/index.d.ts.map +1 -0
  677. package/esm/validation/init.d.ts +7 -0
  678. package/esm/validation/init.d.ts.map +1 -0
  679. package/esm/validation/init.js +36 -0
  680. package/esm/validation/init.js.map +1 -0
  681. package/esm/validation/plugins/database-plugin.d.ts +14 -0
  682. package/esm/validation/plugins/database-plugin.d.ts.map +1 -0
  683. package/esm/validation/plugins/database-plugin.js +95 -0
  684. package/esm/validation/plugins/database-plugin.js.map +1 -0
  685. package/esm/validation/plugins/file-plugin.d.ts +11 -0
  686. package/esm/validation/plugins/file-plugin.d.ts.map +1 -0
  687. package/esm/validation/plugins/file-plugin.js +17 -0
  688. package/esm/validation/plugins/file-plugin.js.map +1 -0
  689. package/esm/validation/plugins/index.d.ts +9 -0
  690. package/esm/validation/plugins/index.d.ts.map +1 -0
  691. package/esm/validation/plugins/localized-plugin.d.ts +11 -0
  692. package/esm/validation/plugins/localized-plugin.d.ts.map +1 -0
  693. package/esm/validation/plugins/localized-plugin.js +19 -0
  694. package/esm/validation/plugins/localized-plugin.js.map +1 -0
  695. package/esm/validation/types.d.ts +87 -0
  696. package/esm/validation/types.d.ts.map +1 -0
  697. package/esm/validation/validateAll.d.ts +7 -0
  698. package/esm/validation/validateAll.d.ts.map +1 -0
  699. package/esm/validation/validateAll.js +60 -0
  700. package/esm/validation/validateAll.js.map +1 -0
  701. package/esm/validation/validators/file-validator.d.ts +46 -0
  702. package/esm/validation/validators/file-validator.d.ts.map +1 -0
  703. package/esm/validation/validators/file-validator.js +112 -0
  704. package/esm/validation/validators/file-validator.js.map +1 -0
  705. package/esm/validation/validators/index.d.ts +7 -0
  706. package/esm/validation/validators/index.d.ts.map +1 -0
  707. package/esm/warlock-config/default-configurations.d.ts +3 -0
  708. package/esm/warlock-config/default-configurations.d.ts.map +1 -0
  709. package/esm/warlock-config/default-configurations.js +8 -0
  710. package/esm/warlock-config/default-configurations.js.map +1 -0
  711. package/esm/warlock-config/define-config.d.ts +3 -0
  712. package/esm/warlock-config/define-config.d.ts.map +1 -0
  713. package/esm/warlock-config/define-config.js +3 -0
  714. package/esm/warlock-config/define-config.js.map +1 -0
  715. package/esm/warlock-config/index.d.ts +4 -0
  716. package/esm/warlock-config/index.d.ts.map +1 -0
  717. package/esm/warlock-config/types.d.ts +79 -0
  718. package/esm/warlock-config/types.d.ts.map +1 -0
  719. package/esm/warlock-config/warlock-config.manager.d.ts +83 -0
  720. package/esm/warlock-config/warlock-config.manager.d.ts.map +1 -0
  721. package/esm/warlock-config/warlock-config.manager.js +141 -0
  722. package/esm/warlock-config/warlock-config.manager.js.map +1 -0
  723. package/package.json +66 -71
@@ -0,0 +1,909 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import type { Readable } from "stream";
4
+ import type { UploadedFile } from "../http";
5
+ import type { StorageFile } from "./storage-file";
6
+ /**
7
+ * Options for local storage driver
8
+ */
9
+ export type LocalStorageDriverOptions = {
10
+ /**
11
+ * Root path for storage
12
+ * Defaults to storagePath() utility
13
+ */
14
+ root?: string;
15
+ /**
16
+ * Storage path prefix auto-prepended to all file operations
17
+ * Applied when: put, putStream, copy, move, get, delete, exists, etc.
18
+ * Only applied if the path doesn't already start with this prefix.
19
+ *
20
+ * @example "production" → files stored in production/...
21
+ */
22
+ prefix?: string;
23
+ /**
24
+ * URL prefix prepended when generating public URLs via url() method
25
+ * Applied to: url() method only, always prepended
26
+ *
27
+ * @example "/uploads" → URLs like /uploads/production/file.jpg
28
+ */
29
+ urlPrefix?: string;
30
+ /**
31
+ * URL prefix for temporary file URLs
32
+ * The token will be appended: {temporaryUrlPrefix}/{token}
33
+ * @default "/temp-files"
34
+ */
35
+ temporaryUrlPrefix?: string;
36
+ /**
37
+ * Secret key for signing temporary URLs
38
+ * Required for temporaryUrl() support
39
+ */
40
+ signatureKey?: string;
41
+ };
42
+ /**
43
+ * Base options for all S3-compatible cloud storage drivers
44
+ */
45
+ export type CloudStorageDriverOptions = {
46
+ /**
47
+ * Bucket name
48
+ */
49
+ bucket: string;
50
+ /**
51
+ * Region (e.g., "us-east-1" for S3, "auto" for R2, "nyc3" for DO Spaces)
52
+ */
53
+ region: string;
54
+ /**
55
+ * Access key ID
56
+ */
57
+ accessKeyId: string;
58
+ /**
59
+ * Secret access key
60
+ */
61
+ secretAccessKey: string;
62
+ /**
63
+ * Custom endpoint URL
64
+ * Optional - derived from provider if not specified
65
+ */
66
+ endpoint?: string;
67
+ /**
68
+ * Storage path prefix (S3 key prefix) auto-prepended to all file operations
69
+ * Applied when: put, putStream, copy, move, get, delete, exists, etc.
70
+ * Only applied if the path doesn't already start with this prefix.
71
+ *
72
+ * @example "production/app-name" → S3 keys like production/app-name/uploads/file.jpg
73
+ */
74
+ prefix?: string;
75
+ /**
76
+ * URL prefix prepended when generating public URLs via url() method
77
+ * Applied to: url() method only, always prepended
78
+ *
79
+ * Use cases:
80
+ * - CDN domain: "https://cdn.example.com"
81
+ * - Custom path: "/static"
82
+ * - API endpoint: "https://api.example.com/files"
83
+ *
84
+ * Note: For R2, this takes precedence over publicDomain
85
+ */
86
+ urlPrefix?: string;
87
+ /**
88
+ * Retry configuration for cloud operations
89
+ */
90
+ retry?: {
91
+ maxRetries?: number;
92
+ initialDelayMs?: number;
93
+ maxDelayMs?: number;
94
+ backoffMultiplier?: number;
95
+ };
96
+ };
97
+ /**
98
+ * Options specific to Cloudflare R2 driver
99
+ */
100
+ export type R2StorageDriverOptions = Omit<CloudStorageDriverOptions, "region"> & {
101
+ /**
102
+ * Cloudflare account ID
103
+ */
104
+ accountId: string;
105
+ /**
106
+ * Custom public domain for R2 bucket
107
+ * If using Cloudflare CDN with custom domain
108
+ */
109
+ publicDomain?: string;
110
+ /**
111
+ * Region
112
+ *
113
+ * @default auto
114
+ */
115
+ region?: string;
116
+ };
117
+ /**
118
+ * Base storage file data returned from operations
119
+ */
120
+ export type StorageFileData = {
121
+ /**
122
+ * File storage path (relative to storage root)
123
+ */
124
+ path: string;
125
+ /**
126
+ * file full url, mostly used with cloud storage drivers
127
+ */
128
+ url: string;
129
+ /**
130
+ * File size in bits
131
+ */
132
+ size: number;
133
+ /**
134
+ * File hash
135
+ */
136
+ hash: string;
137
+ /**
138
+ * File mime type
139
+ */
140
+ mimeType: string;
141
+ /**
142
+ * Storage driver name
143
+ */
144
+ driver: string;
145
+ };
146
+ /**
147
+ * Extended storage file data with cloud-specific metadata
148
+ */
149
+ export type CloudStorageFileData = StorageFileData & {
150
+ /**
151
+ * Cloud storage bucket name
152
+ */
153
+ bucket: string;
154
+ /**
155
+ * Cloud storage region
156
+ */
157
+ region: string;
158
+ /**
159
+ * ETag (cloud storage version identifier)
160
+ */
161
+ etag?: string;
162
+ /**
163
+ * Version ID (cloud storage version identifier)
164
+ */
165
+ versionId?: string;
166
+ /**
167
+ * Storage class (e.g., STANDARD, GLACIER)
168
+ */
169
+ storageClass?: string;
170
+ /**
171
+ * Last modified date
172
+ */
173
+ lastModified?: Date;
174
+ /**
175
+ * Content encoding
176
+ */
177
+ contentEncoding?: string;
178
+ /**
179
+ * Cache control
180
+ */
181
+ cacheControl?: string;
182
+ /**
183
+ * Custom metadata
184
+ */
185
+ metadata?: Record<string, string>;
186
+ };
187
+ /**
188
+ * Storage file info for list and getInfo operations
189
+ */
190
+ export type StorageFileInfo = {
191
+ /**
192
+ * File storage path (relative to storage root)
193
+ */
194
+ path: string;
195
+ /**
196
+ * File name
197
+ */
198
+ name: string;
199
+ /**
200
+ * File size in bits
201
+ */
202
+ size: number;
203
+ /**
204
+ * Whether the file is a directory
205
+ */
206
+ isDirectory: boolean;
207
+ /**
208
+ * Last modified date
209
+ */
210
+ lastModified?: Date;
211
+ /**
212
+ * File mime type
213
+ */
214
+ mimeType?: string;
215
+ /**
216
+ * ETag (cloud storage version identifier)
217
+ */
218
+ etag?: string;
219
+ /**
220
+ * Storage class (e.g., STANDARD, GLACIER)
221
+ */
222
+ storageClass?: string;
223
+ };
224
+ /**
225
+ * Options for list operations
226
+ */
227
+ export type ListOptions = {
228
+ /**
229
+ * Whether to list files recursively
230
+ */
231
+ recursive?: boolean;
232
+ /**
233
+ * Maximum number of files to return
234
+ */
235
+ limit?: number;
236
+ /**
237
+ * Storage prefix to filter files
238
+ */
239
+ prefix?: string;
240
+ /**
241
+ * Cursor for pagination
242
+ */
243
+ cursor?: string;
244
+ };
245
+ /**
246
+ * Options for presigned URLs
247
+ */
248
+ export type PresignedOptions = {
249
+ /**
250
+ * Expiration time in seconds
251
+ */
252
+ expiresIn?: number;
253
+ };
254
+ /**
255
+ * Options for presigned upload URLs
256
+ */
257
+ export type PresignedUploadOptions = PresignedOptions & {
258
+ /**
259
+ * File content type
260
+ */
261
+ contentType?: string;
262
+ /**
263
+ * Maximum file size in bytes
264
+ */
265
+ maxSize?: number;
266
+ /**
267
+ * Custom metadata to store with the file (cloud drivers only)
268
+ */
269
+ metadata?: Record<string, string>;
270
+ };
271
+ /**
272
+ * Options for put operations
273
+ */
274
+ export type PutOptions = {
275
+ /**
276
+ * Explicit MIME type for the file
277
+ * If not provided, will be guessed from file extension
278
+ */
279
+ mimeType?: string;
280
+ /**
281
+ * Custom metadata to store with the file (cloud drivers only)
282
+ */
283
+ metadata?: Record<string, string>;
284
+ /**
285
+ * Cache-Control header (cloud drivers only)
286
+ */
287
+ cacheControl?: string;
288
+ /**
289
+ * Content-Disposition header (cloud drivers only)
290
+ */
291
+ contentDisposition?: string;
292
+ /**
293
+ * File visibility (cloud drivers only)
294
+ */
295
+ visibility?: FileVisibility;
296
+ };
297
+ /**
298
+ * Payload encoded in temporary URL tokens
299
+ */
300
+ export type TemporaryTokenPayload = {
301
+ /**
302
+ * Relative file path
303
+ */
304
+ path: string;
305
+ /**
306
+ * Expiration timestamp (Unix seconds)
307
+ */
308
+ exp: number;
309
+ /**
310
+ * HMAC signature
311
+ */
312
+ sig: string;
313
+ };
314
+ /**
315
+ * Validation error types
316
+ */
317
+ export type TemporaryTokenError = "expired" | "invalid_signature" | "invalid_token" | "missing_key" | "file_not_found";
318
+ /**
319
+ * Result of validating a temporary URL token
320
+ */
321
+ export type TemporaryTokenValidation = {
322
+ /**
323
+ * Whether the token is valid
324
+ */
325
+ valid: boolean;
326
+ /**
327
+ * Error reason if invalid
328
+ */
329
+ error?: TemporaryTokenError;
330
+ /**
331
+ * Relative file path (available when valid)
332
+ */
333
+ path?: string;
334
+ /**
335
+ * Absolute filesystem path (local driver only, for sendFile)
336
+ */
337
+ absolutePath?: string;
338
+ /**
339
+ * Token expiration date
340
+ */
341
+ expiresAt?: Date;
342
+ /**
343
+ * MIME type of the file
344
+ */
345
+ mimeType?: string;
346
+ /**
347
+ * The driver instance that created this token
348
+ */
349
+ driver?: StorageDriverContract;
350
+ /**
351
+ * Get file contents as Buffer
352
+ */
353
+ getFile?: () => Promise<Buffer>;
354
+ /**
355
+ * Get file as readable stream
356
+ */
357
+ getStream?: () => Promise<Readable>;
358
+ };
359
+ /**
360
+ * File visibility options
361
+ */
362
+ export type FileVisibility = "public" | "private";
363
+ /**
364
+ * Storage event types
365
+ */
366
+ export type StorageEventType = "beforePut" | "afterPut" | "beforeDelete" | "afterDelete" | "beforeCopy" | "afterCopy" | "beforeMove" | "afterMove";
367
+ /**
368
+ * Storage event payload base
369
+ */
370
+ export type StorageEventPayload = {
371
+ /**
372
+ * Storage driver name
373
+ */
374
+ driver: string;
375
+ /**
376
+ * File storage path (relative to storage root)
377
+ */
378
+ location: string;
379
+ /**
380
+ * Event timestamp
381
+ */
382
+ timestamp: Date;
383
+ };
384
+ /**
385
+ * Put event payload
386
+ */
387
+ export type StoragePutEventPayload = StorageEventPayload & {
388
+ /**
389
+ * Storage file data
390
+ */
391
+ file?: StorageFileData;
392
+ /**
393
+ * File size in bits
394
+ */
395
+ size?: number;
396
+ /**
397
+ * File mime type
398
+ */
399
+ mimeType?: string;
400
+ };
401
+ /**
402
+ * Copy/Move event payload
403
+ */
404
+ export type StorageCopyEventPayload = StorageEventPayload & {
405
+ /**
406
+ * Source file storage path
407
+ */
408
+ from: string;
409
+ /**
410
+ * Destination file storage path
411
+ */
412
+ to: string;
413
+ /**
414
+ * Storage file data
415
+ */
416
+ file?: StorageFileData;
417
+ };
418
+ /**
419
+ * Storage event handler type
420
+ */
421
+ export type StorageEventHandler<T extends StorageEventPayload = StorageEventPayload> = (payload: T) => void | Promise<void>;
422
+ /**
423
+ * Result of a batch delete operation
424
+ */
425
+ export type DeleteManyResult = {
426
+ /**
427
+ * File storage path (relative to storage root)
428
+ */
429
+ location: string;
430
+ /**
431
+ * Whether the file was deleted
432
+ */
433
+ deleted: boolean;
434
+ /**
435
+ * Error message if deletion failed
436
+ */
437
+ error?: string;
438
+ };
439
+ export type StorageDriverType = "local" | "s3" | "r2" | "spaces";
440
+ /**
441
+ * Storage driver configuration
442
+ * Used in configuration files
443
+ */
444
+ export type StorageDriverConfig = {
445
+ /**
446
+ * Driver type
447
+ */
448
+ driver: StorageDriverType;
449
+ /**
450
+ * Root path for local storage
451
+ */
452
+ root?: string;
453
+ /**
454
+ * Secret key for signing local temporary URLs
455
+ */
456
+ signatureKey?: string;
457
+ /**
458
+ * Bucket name (required for cloud drivers)
459
+ */
460
+ bucket?: string;
461
+ /**
462
+ * Region (required for cloud drivers)
463
+ */
464
+ region?: string;
465
+ /**
466
+ * Access key ID (required for cloud drivers)
467
+ */
468
+ accessKeyId?: string;
469
+ /**
470
+ * Secret access key (required for cloud drivers)
471
+ */
472
+ secretAccessKey?: string;
473
+ /**
474
+ * Custom endpoint URL
475
+ */
476
+ endpoint?: string;
477
+ /**
478
+ * URL prefix for public URLs
479
+ */
480
+ urlPrefix?: string;
481
+ /**
482
+ * Cloudflare account ID (required for R2)
483
+ */
484
+ accountId?: string;
485
+ /**
486
+ * Custom public domain for R2
487
+ */
488
+ publicDomain?: string;
489
+ };
490
+ /**
491
+ * Storage driver registry interface.
492
+ *
493
+ * This interface is extended via module augmentation by generated typings.
494
+ * Each key represents a configured storage driver name.
495
+ *
496
+ * @example Generated augmentation:
497
+ * ```typescript
498
+ * declare module "@warlock.js/core" {
499
+ * interface StorageDriverRegistry {
500
+ * disk: true;
501
+ * aws: true;
502
+ * }
503
+ * }
504
+ * ```
505
+ */
506
+ export interface StorageDriverRegistry {
507
+ }
508
+ /**
509
+ * Storage driver name type.
510
+ *
511
+ * Extracts driver names from the registry interface.
512
+ * Falls back to `string` if no drivers are registered.
513
+ * Autocomplete provided by generated `.warlock/typings/storage.d.ts`
514
+ */
515
+ export type StorageDriverName = keyof StorageDriverRegistry extends never ? string : keyof StorageDriverRegistry;
516
+ /**
517
+ * Storage configurations
518
+ */
519
+ export type StorageConfigurations = {
520
+ /**
521
+ * Default driver name
522
+ */
523
+ default: StorageDriverName;
524
+ /**
525
+ * Driver configurations
526
+ */
527
+ drivers: Record<string, StorageDriverConfig>;
528
+ /**
529
+ * Optional resolver for dynamic driver selection (e.g., multi-tenancy)
530
+ */
531
+ resolver?: () => Promise<string> | string;
532
+ };
533
+ /**
534
+ * Base storage driver contract
535
+ *
536
+ * Defines the core operations that all storage drivers must implement.
537
+ * Drivers return raw data objects (`StorageFileData`), while the
538
+ * `ScopedStorage` and `Storage` classes wrap these in `StorageFile` instances.
539
+ */
540
+ export interface StorageDriverContract {
541
+ /**
542
+ * Driver name identifier (e.g., "local", "s3", "r2", "spaces")
543
+ */
544
+ readonly name: StorageDriverType;
545
+ /**
546
+ * Storage options
547
+ */
548
+ readonly options: Omit<StorageDriverConfig, "driver">;
549
+ /**
550
+ * Store a file in storage
551
+ *
552
+ * @param file - File content as Buffer, UploadedFile, string content, or Readable stream
553
+ * @param location - Destination path in storage
554
+ * @param options - Optional storage options (mimeType, cacheControl, etc.)
555
+ * @returns Raw file data object
556
+ */
557
+ put(file: Buffer | UploadedFile | string | Readable, location: string, options?: PutOptions): Promise<StorageFileData>;
558
+ /**
559
+ * Store a file from a readable stream
560
+ *
561
+ * Optimized for large files - streams directly without full buffering.
562
+ *
563
+ * @param stream - Readable stream of file content
564
+ * @param location - Destination path in storage
565
+ * @param options - Optional storage options
566
+ * @returns Raw file data object
567
+ */
568
+ putStream(stream: Readable, location: string, options?: PutOptions): Promise<StorageFileData>;
569
+ /**
570
+ * Retrieve file contents as Buffer
571
+ *
572
+ * @param location - Path to the file
573
+ * @returns Buffer containing file contents
574
+ * @throws Error if file not found
575
+ */
576
+ get(location: string): Promise<Buffer>;
577
+ /**
578
+ * Retrieve file contents as a readable stream
579
+ *
580
+ * @param location - Path to the file
581
+ * @returns Readable stream of file contents
582
+ * @throws Error if file not found
583
+ */
584
+ getStream(location: string): Promise<Readable>;
585
+ /**
586
+ * Delete a file
587
+ *
588
+ * @param location - Path to the file
589
+ * @returns `true` if deleted, `false` if not found
590
+ */
591
+ delete(location: string): Promise<boolean>;
592
+ /**
593
+ * Delete multiple files at once
594
+ *
595
+ * @param locations - Array of file paths to delete
596
+ * @returns Array of results with status for each file
597
+ */
598
+ deleteMany(locations: string[]): Promise<DeleteManyResult[]>;
599
+ /**
600
+ * Delete a directory
601
+ *
602
+ * @param directoryPath - Path to the directory
603
+ */
604
+ deleteDirectory(directoryPath: string): Promise<boolean>;
605
+ /**
606
+ * Check if a file exists
607
+ *
608
+ * @param location - Path to check
609
+ * @returns `true` if exists, `false` otherwise
610
+ */
611
+ exists(location: string): Promise<boolean>;
612
+ /**
613
+ * Get the public URL for a file
614
+ *
615
+ * @param location - File path
616
+ * @returns Public URL string
617
+ */
618
+ url(location: string): string;
619
+ /**
620
+ * Get a temporary signed URL with expiration
621
+ *
622
+ * @param location - File path
623
+ * @param expiresIn - Seconds until expiration (default: 3600)
624
+ * @returns Signed URL string
625
+ */
626
+ temporaryUrl(location: string, expiresIn?: number): Promise<string>;
627
+ /**
628
+ * Get file metadata without downloading
629
+ *
630
+ * @param location - File path
631
+ * @returns File information object
632
+ * @throws Error if file not found
633
+ */
634
+ getInfo(location: string): Promise<StorageFileInfo>;
635
+ /**
636
+ * Get file size in bytes
637
+ *
638
+ * @param location - File path
639
+ * @returns File size in bytes
640
+ * @throws Error if file not found
641
+ */
642
+ size(location: string): Promise<number>;
643
+ /**
644
+ * Copy a file to a new location
645
+ *
646
+ * @param from - Source path
647
+ * @param to - Destination path
648
+ * @returns Raw file data object for the copy
649
+ */
650
+ copy(from: string, to: string): Promise<StorageFileData>;
651
+ /**
652
+ * Move a file to a new location
653
+ *
654
+ * @param from - Source path
655
+ * @param to - Destination path
656
+ * @returns Raw file data object at new location
657
+ */
658
+ move(from: string, to: string): Promise<StorageFileData>;
659
+ /**
660
+ * List files in a directory
661
+ *
662
+ * @param directory - Directory path
663
+ * @param options - List options (recursive, limit, cursor)
664
+ * @returns Array of file information objects
665
+ */
666
+ list(directory: string, options?: ListOptions): Promise<StorageFileInfo[]>;
667
+ /**
668
+ * Apply prefix to a location path
669
+ *
670
+ * Checks storage context prefix first, then falls back to driver options prefix.
671
+ * This ensures proper hierarchy for multi-tenant scenarios.
672
+ *
673
+ * @param location - Original location path
674
+ * @returns Location with prefix applied if one exists
675
+ */
676
+ applyPrefix(location: string): string;
677
+ /**
678
+ * Get the absolute filesystem path for a location
679
+ * Only available for local storage drivers.
680
+ *
681
+ * @param location - File path
682
+ * @returns Absolute filesystem path
683
+ */
684
+ path?(location: string): string;
685
+ }
686
+ /**
687
+ * Cloud storage driver contract with extended methods
688
+ *
689
+ * Extends the base contract with cloud-specific functionality
690
+ * like presigned URLs, visibility control, and storage classes.
691
+ */
692
+ export interface CloudStorageDriverContract extends StorageDriverContract {
693
+ /**
694
+ * Store a file (returns cloud-specific data)
695
+ */
696
+ put(file: Buffer, location: string, options?: PutOptions): Promise<CloudStorageFileData>;
697
+ /**
698
+ * Store a file from stream (returns cloud-specific data)
699
+ */
700
+ putStream(stream: Readable, location: string, options?: PutOptions): Promise<CloudStorageFileData>;
701
+ /**
702
+ * Copy a file (returns cloud-specific data)
703
+ */
704
+ copy(from: string, to: string): Promise<CloudStorageFileData>;
705
+ /**
706
+ * Move a file (returns cloud-specific data)
707
+ */
708
+ move(from: string, to: string): Promise<CloudStorageFileData>;
709
+ /**
710
+ * Get a presigned URL for downloading
711
+ *
712
+ * @param location - File path
713
+ * @param options - Presigned URL options
714
+ * @returns Presigned download URL
715
+ */
716
+ getPresignedUrl(location: string, options?: PresignedOptions): Promise<string>;
717
+ /**
718
+ * Get a presigned URL for uploading
719
+ *
720
+ * @param location - Destination path
721
+ * @param options - Presigned upload options
722
+ * @returns Presigned upload URL
723
+ */
724
+ getPresignedUploadUrl(location: string, options?: PresignedUploadOptions): Promise<string>;
725
+ /**
726
+ * Get the bucket name
727
+ */
728
+ getBucket(): string;
729
+ /**
730
+ * Get the region
731
+ */
732
+ getRegion(): string;
733
+ /**
734
+ * Set storage class (e.g., STANDARD, GLACIER, etc.)
735
+ *
736
+ * @param location - File path
737
+ * @param storageClass - Target storage class
738
+ */
739
+ setStorageClass(location: string, storageClass: string): Promise<void>;
740
+ /**
741
+ * Set file visibility
742
+ *
743
+ * @param location - File path
744
+ * @param visibility - "public" or "private"
745
+ */
746
+ setVisibility(location: string, visibility: FileVisibility): Promise<void>;
747
+ /**
748
+ * Get file visibility
749
+ *
750
+ * @param location - File path
751
+ * @returns Current visibility setting
752
+ */
753
+ getVisibility(location: string): Promise<FileVisibility>;
754
+ }
755
+ /**
756
+ * Scoped storage contract
757
+ *
758
+ * Contract for storage wrappers that return `StorageFile` instances
759
+ * instead of raw `StorageFileData`. Used by `ScopedStorage` and `Storage`.
760
+ *
761
+ * This provides the developer-facing API with rich file objects.
762
+ */
763
+ export interface ScopedStorageContract {
764
+ /**
765
+ * Driver name identifier
766
+ */
767
+ readonly name: string;
768
+ /**
769
+ * Store a file in storage
770
+ *
771
+ * @param file - File content
772
+ * @param location - Destination path
773
+ * @param options - Storage options
774
+ * @returns StorageFile instance
775
+ */
776
+ put(file: Buffer | UploadedFile | string | Readable, location: string, options?: PutOptions): Promise<StorageFile>;
777
+ /**
778
+ * Store a file from stream
779
+ */
780
+ putStream(stream: Readable, location: string, options?: PutOptions): Promise<StorageFile>;
781
+ /**
782
+ * Get file contents
783
+ */
784
+ get(location: string): Promise<Buffer>;
785
+ /**
786
+ * Get file as stream
787
+ */
788
+ getStream(location: string): Promise<Readable>;
789
+ /**
790
+ * Delete a file
791
+ */
792
+ delete(location: string | StorageFile): Promise<boolean>;
793
+ /**
794
+ * Delete multiple files
795
+ */
796
+ deleteMany(locations: string[]): Promise<DeleteManyResult[]>;
797
+ /**
798
+ * Check if file exists
799
+ */
800
+ exists(location: string): Promise<boolean>;
801
+ /**
802
+ * Get public URL
803
+ */
804
+ url(location: string): string;
805
+ /**
806
+ * Get temporary signed URL
807
+ */
808
+ temporaryUrl(location: string, expiresIn?: number): Promise<string>;
809
+ /**
810
+ * Get file metadata
811
+ */
812
+ getInfo(location: string): Promise<StorageFileInfo>;
813
+ /**
814
+ * Get file size
815
+ */
816
+ size(location: string): Promise<number>;
817
+ /**
818
+ * Copy a file
819
+ */
820
+ copy(from: string | StorageFile, to: string): Promise<StorageFile>;
821
+ /**
822
+ * Move a file
823
+ */
824
+ move(from: string | StorageFile, to: string): Promise<StorageFile>;
825
+ /**
826
+ * List files in directory
827
+ */
828
+ list(directory?: string, options?: ListOptions): Promise<StorageFileInfo[]>;
829
+ /**
830
+ * Get a StorageFile instance
831
+ */
832
+ file(location: string): Promise<StorageFile>;
833
+ }
834
+ /**
835
+ * Storage manager contract
836
+ *
837
+ * Extends `ScopedStorageContract` with manager-specific functionality
838
+ * like driver management, events, and configuration.
839
+ *
840
+ * This is the contract implemented by the `Storage` class.
841
+ */
842
+ export interface StorageManagerContract extends ScopedStorageContract {
843
+ /**
844
+ * Get a scoped storage for a specific driver
845
+ *
846
+ * Returns a `ScopedStorage` instance that wraps the specified driver
847
+ * and provides the same DX (returns `StorageFile` instances).
848
+ *
849
+ * @param name - Driver name as configured
850
+ * @returns ScopedStorage instance for the driver
851
+ */
852
+ use(name: StorageDriverName): ScopedStorageContract;
853
+ /**
854
+ * Get a raw driver instance
855
+ *
856
+ * Returns the underlying driver directly for advanced use cases.
857
+ * Unlike `use()`, this returns raw `StorageFileData` instead of `StorageFile`.
858
+ *
859
+ * @param name - Driver name as configured
860
+ * @returns Raw driver instance
861
+ */
862
+ getDriver(name: StorageDriverName): StorageDriverContract;
863
+ /**
864
+ * Register a new driver configuration at runtime
865
+ *
866
+ * @param name - Unique driver name
867
+ * @param config - Driver configuration
868
+ * @returns This instance for chaining
869
+ */
870
+ register(name: StorageDriverName, config: StorageDriverConfig): this;
871
+ /**
872
+ * Set the default driver name
873
+ *
874
+ * @param name - Driver name to use as default
875
+ * @returns This instance for chaining
876
+ */
877
+ setDefault(name: StorageDriverName): this;
878
+ /**
879
+ * Check if the current driver is a cloud driver
880
+ *
881
+ * @returns Promise resolving to true if cloud driver
882
+ */
883
+ isCloud(): Promise<boolean>;
884
+ /**
885
+ * Register an event handler
886
+ *
887
+ * @param event - Event type (beforePut, afterPut, etc.)
888
+ * @param handler - Event handler function
889
+ * @returns Event subscription for unsubscribing
890
+ */
891
+ on<T extends StorageEventPayload>(event: StorageEventType, handler: StorageEventHandler<T>): EventSubscription;
892
+ /**
893
+ * Remove all handlers for an event type
894
+ *
895
+ * @param event - Event type to remove handlers for
896
+ * @returns This instance for chaining
897
+ */
898
+ off(event: StorageEventType): this;
899
+ }
900
+ /**
901
+ * Event subscription returned by event handlers
902
+ */
903
+ export interface EventSubscription {
904
+ /**
905
+ * Unsubscribe from the event
906
+ */
907
+ unsubscribe(): void;
908
+ }
909
+ //# sourceMappingURL=types.d.ts.map