sonamu 0.8.26 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (684) hide show
  1. package/bin/cli.js +60 -13
  2. package/dist/_virtual/rolldown_runtime.js +39 -0
  3. package/dist/ai/agents/agent.d.ts +3 -3
  4. package/dist/ai/agents/agent.d.ts.map +1 -1
  5. package/dist/ai/agents/agent.js +76 -73
  6. package/dist/ai/agents/index.js +3 -3
  7. package/dist/ai/agents/types.d.ts +3 -3
  8. package/dist/ai/agents/types.d.ts.map +1 -1
  9. package/dist/ai/agents/types.js +1 -3
  10. package/dist/ai/index.js +3 -2
  11. package/dist/ai/providers/rtzr/api.js +25 -25
  12. package/dist/ai/providers/rtzr/error.js +25 -26
  13. package/dist/ai/providers/rtzr/index.js +5 -5
  14. package/dist/ai/providers/rtzr/model.d.ts +1 -1
  15. package/dist/ai/providers/rtzr/model.d.ts.map +1 -1
  16. package/dist/ai/providers/rtzr/model.js +117 -133
  17. package/dist/ai/providers/rtzr/options.d.ts.map +1 -1
  18. package/dist/ai/providers/rtzr/options.js +35 -41
  19. package/dist/ai/providers/rtzr/provider.d.ts +1 -1
  20. package/dist/ai/providers/rtzr/provider.d.ts.map +1 -1
  21. package/dist/ai/providers/rtzr/provider.js +53 -51
  22. package/dist/ai/providers/rtzr/utils.d.ts.map +1 -1
  23. package/dist/ai/providers/rtzr/utils.js +84 -84
  24. package/dist/api/base-frame.d.ts +2 -2
  25. package/dist/api/base-frame.d.ts.map +1 -1
  26. package/dist/api/base-frame.js +29 -19
  27. package/dist/api/caster.d.ts +1 -1
  28. package/dist/api/caster.d.ts.map +1 -1
  29. package/dist/api/caster.js +51 -61
  30. package/dist/api/code-converters.d.ts +4 -3
  31. package/dist/api/code-converters.d.ts.map +1 -1
  32. package/dist/api/code-converters.js +226 -249
  33. package/dist/api/config.d.ts +17 -17
  34. package/dist/api/config.d.ts.map +1 -1
  35. package/dist/api/config.js +37 -30
  36. package/dist/api/context.d.ts +10 -10
  37. package/dist/api/context.d.ts.map +1 -1
  38. package/dist/api/context.js +8 -2
  39. package/dist/api/decorators.d.ts +8 -8
  40. package/dist/api/decorators.d.ts.map +1 -1
  41. package/dist/api/decorators.js +245 -268
  42. package/dist/api/index.js +39 -7
  43. package/dist/api/secret.js +22 -15
  44. package/dist/api/sonamu.d.ts +15 -15
  45. package/dist/api/sonamu.d.ts.map +1 -1
  46. package/dist/api/sonamu.js +1012 -1131
  47. package/dist/api/validator.js +88 -79
  48. package/dist/auth/auth-generator.d.ts.map +1 -1
  49. package/dist/auth/auth-generator.js +203 -200
  50. package/dist/auth/better-auth-entities.d.ts +2 -2
  51. package/dist/auth/better-auth-entities.d.ts.map +1 -1
  52. package/dist/auth/better-auth-entities.js +369 -429
  53. package/dist/auth/index.js +21 -6
  54. package/dist/auth/knex-adapter.d.ts +2 -2
  55. package/dist/auth/knex-adapter.d.ts.map +1 -1
  56. package/dist/auth/knex-adapter.js +153 -157
  57. package/dist/auth/plugins/entity-definitions/admin.d.ts +1 -1
  58. package/dist/auth/plugins/entity-definitions/admin.d.ts.map +1 -1
  59. package/dist/auth/plugins/entity-definitions/admin.js +58 -56
  60. package/dist/auth/plugins/entity-definitions/anonymous.d.ts +1 -1
  61. package/dist/auth/plugins/entity-definitions/anonymous.d.ts.map +1 -1
  62. package/dist/auth/plugins/entity-definitions/anonymous.js +20 -20
  63. package/dist/auth/plugins/entity-definitions/api-key.d.ts +1 -1
  64. package/dist/auth/plugins/entity-definitions/api-key.d.ts.map +1 -1
  65. package/dist/auth/plugins/entity-definitions/api-key.js +185 -196
  66. package/dist/auth/plugins/entity-definitions/index.d.ts +1 -1
  67. package/dist/auth/plugins/entity-definitions/index.d.ts.map +1 -1
  68. package/dist/auth/plugins/entity-definitions/index.js +26 -29
  69. package/dist/auth/plugins/entity-definitions/jwt.d.ts +1 -1
  70. package/dist/auth/plugins/entity-definitions/jwt.d.ts.map +1 -1
  71. package/dist/auth/plugins/entity-definitions/jwt.js +62 -64
  72. package/dist/auth/plugins/entity-definitions/organization.d.ts +1 -1
  73. package/dist/auth/plugins/entity-definitions/organization.d.ts.map +1 -1
  74. package/dist/auth/plugins/entity-definitions/organization.js +362 -421
  75. package/dist/auth/plugins/entity-definitions/passkey.d.ts +1 -1
  76. package/dist/auth/plugins/entity-definitions/passkey.d.ts.map +1 -1
  77. package/dist/auth/plugins/entity-definitions/passkey.js +115 -126
  78. package/dist/auth/plugins/entity-definitions/phone-number.d.ts +1 -1
  79. package/dist/auth/plugins/entity-definitions/phone-number.d.ts.map +1 -1
  80. package/dist/auth/plugins/entity-definitions/phone-number.js +31 -40
  81. package/dist/auth/plugins/entity-definitions/sso.d.ts +1 -1
  82. package/dist/auth/plugins/entity-definitions/sso.d.ts.map +1 -1
  83. package/dist/auth/plugins/entity-definitions/sso.js +94 -107
  84. package/dist/auth/plugins/entity-definitions/two-factor.d.ts +1 -1
  85. package/dist/auth/plugins/entity-definitions/two-factor.d.ts.map +1 -1
  86. package/dist/auth/plugins/entity-definitions/two-factor.js +78 -92
  87. package/dist/auth/plugins/entity-definitions/types.d.ts +1 -1
  88. package/dist/auth/plugins/entity-definitions/types.d.ts.map +1 -1
  89. package/dist/auth/plugins/entity-definitions/types.js +1 -10
  90. package/dist/auth/plugins/entity-definitions/username.d.ts +1 -1
  91. package/dist/auth/plugins/entity-definitions/username.d.ts.map +1 -1
  92. package/dist/auth/plugins/entity-definitions/username.js +31 -40
  93. package/dist/auth/plugins/index.js +12 -3
  94. package/dist/auth/plugins/wrappers/admin.d.ts +2 -2
  95. package/dist/auth/plugins/wrappers/admin.d.ts.map +1 -1
  96. package/dist/auth/plugins/wrappers/admin.js +28 -29
  97. package/dist/auth/plugins/wrappers/anonymous.d.ts +2 -1
  98. package/dist/auth/plugins/wrappers/anonymous.d.ts.map +1 -1
  99. package/dist/auth/plugins/wrappers/anonymous.js +23 -22
  100. package/dist/auth/plugins/wrappers/api-key.d.ts +2 -1
  101. package/dist/auth/plugins/wrappers/api-key.d.ts.map +1 -1
  102. package/dist/auth/plugins/wrappers/api-key.js +39 -34
  103. package/dist/auth/plugins/wrappers/index.js +11 -11
  104. package/dist/auth/plugins/wrappers/jwt.d.ts +2 -1
  105. package/dist/auth/plugins/wrappers/jwt.d.ts.map +1 -1
  106. package/dist/auth/plugins/wrappers/jwt.js +31 -26
  107. package/dist/auth/plugins/wrappers/organization.d.ts +2 -1
  108. package/dist/auth/plugins/wrappers/organization.d.ts.map +1 -1
  109. package/dist/auth/plugins/wrappers/organization.js +65 -62
  110. package/dist/auth/plugins/wrappers/passkey.d.ts +2 -1
  111. package/dist/auth/plugins/wrappers/passkey.d.ts.map +1 -1
  112. package/dist/auth/plugins/wrappers/passkey.js +33 -28
  113. package/dist/auth/plugins/wrappers/phone-number.d.ts.map +1 -1
  114. package/dist/auth/plugins/wrappers/phone-number.js +26 -23
  115. package/dist/auth/plugins/wrappers/sso.d.ts.map +1 -1
  116. package/dist/auth/plugins/wrappers/sso.js +37 -31
  117. package/dist/auth/plugins/wrappers/two-factor.d.ts.map +1 -1
  118. package/dist/auth/plugins/wrappers/two-factor.js +31 -28
  119. package/dist/auth/plugins/wrappers/username.d.ts.map +1 -1
  120. package/dist/auth/plugins/wrappers/username.js +23 -23
  121. package/dist/bin/build-config.js +31 -31
  122. package/dist/bin/cli.js +1063 -1204
  123. package/dist/bin/fixture.d.ts.map +1 -1
  124. package/dist/bin/fixture.js +266 -259
  125. package/dist/bin/hmr-hook-register.d.ts.map +1 -1
  126. package/dist/bin/hmr-hook-register.js +19 -18
  127. package/dist/bin/test-command.d.ts.map +1 -1
  128. package/dist/bin/test-command.js +180 -177
  129. package/dist/bin/ts-loader-register.js +13 -6
  130. package/dist/bin/ts-loader-registration.d.ts.map +1 -1
  131. package/dist/bin/ts-loader-registration.js +28 -38
  132. package/dist/cache/cache-manager.d.ts +1 -1
  133. package/dist/cache/cache-manager.d.ts.map +1 -1
  134. package/dist/cache/cache-manager.js +20 -15
  135. package/dist/cache/decorator.d.ts +1 -1
  136. package/dist/cache/decorator.d.ts.map +1 -1
  137. package/dist/cache/decorator.js +84 -76
  138. package/dist/cache/drivers.js +21 -34
  139. package/dist/cache/index.js +10 -7
  140. package/dist/cache/types.d.ts +2 -2
  141. package/dist/cache/types.d.ts.map +1 -1
  142. package/dist/cache/types.js +1 -6
  143. package/dist/cache-control/cache-control.d.ts +2 -2
  144. package/dist/cache-control/cache-control.d.ts.map +1 -1
  145. package/dist/cache-control/cache-control.js +106 -122
  146. package/dist/cache-control/types.d.ts +2 -2
  147. package/dist/cache-control/types.d.ts.map +1 -1
  148. package/dist/cache-control/types.js +1 -19
  149. package/dist/compress/compress.d.ts +1 -1
  150. package/dist/compress/compress.d.ts.map +1 -1
  151. package/dist/compress/compress.js +58 -56
  152. package/dist/compress/index.js +7 -2
  153. package/dist/compress/types.js +1 -11
  154. package/dist/cone/cone-generator.d.ts +1 -1
  155. package/dist/cone/cone-generator.d.ts.map +1 -1
  156. package/dist/cone/cone-generator.js +216 -219
  157. package/dist/database/_batch_update.d.ts +1 -1
  158. package/dist/database/_batch_update.d.ts.map +1 -1
  159. package/dist/database/_batch_update.js +107 -102
  160. package/dist/database/base-model.d.ts +8 -9
  161. package/dist/database/base-model.d.ts.map +1 -1
  162. package/dist/database/base-model.js +371 -392
  163. package/dist/database/base-model.types.d.ts +5 -5
  164. package/dist/database/base-model.types.d.ts.map +1 -1
  165. package/dist/database/base-model.types.js +1 -20
  166. package/dist/database/db.d.ts +5 -2
  167. package/dist/database/db.d.ts.map +1 -1
  168. package/dist/database/db.js +185 -171
  169. package/dist/database/knex.d.ts +1 -1
  170. package/dist/database/knex.d.ts.map +1 -1
  171. package/dist/database/knex.js +48 -42
  172. package/dist/database/puri-subset.types.d.ts +6 -7
  173. package/dist/database/puri-subset.types.d.ts.map +1 -1
  174. package/dist/database/puri-subset.types.js +1 -16
  175. package/dist/database/puri-wrapper.d.ts +6 -6
  176. package/dist/database/puri-wrapper.d.ts.map +1 -1
  177. package/dist/database/puri-wrapper.js +99 -101
  178. package/dist/database/puri.d.ts +4 -5
  179. package/dist/database/puri.d.ts.map +1 -1
  180. package/dist/database/puri.js +1021 -1227
  181. package/dist/database/puri.types.d.ts +6 -6
  182. package/dist/database/puri.types.d.ts.map +1 -1
  183. package/dist/database/puri.types.js +15 -6
  184. package/dist/database/transaction-context.d.ts +2 -2
  185. package/dist/database/transaction-context.d.ts.map +1 -1
  186. package/dist/database/transaction-context.js +22 -13
  187. package/dist/database/upsert-builder.d.ts +3 -3
  188. package/dist/database/upsert-builder.d.ts.map +1 -1
  189. package/dist/database/upsert-builder.js +405 -465
  190. package/dist/dict/en.js +72 -74
  191. package/dist/dict/index.js +13 -13
  192. package/dist/dict/ko.js +72 -74
  193. package/dist/dict/rc-keys.js +150 -168
  194. package/dist/dict/sd.d.ts +3 -1
  195. package/dist/dict/sd.d.ts.map +1 -1
  196. package/dist/dict/sd.js +54 -40
  197. package/dist/dict/sonamu-dictionary.d.ts +1 -1
  198. package/dist/dict/sonamu-dictionary.d.ts.map +1 -1
  199. package/dist/dict/sonamu-dictionary.js +887 -955
  200. package/dist/dict/types.js +1 -7
  201. package/dist/dict/utils.js +26 -24
  202. package/dist/entity/entity-manager.d.ts +9 -9
  203. package/dist/entity/entity-manager.d.ts.map +1 -1
  204. package/dist/entity/entity-manager.js +226 -223
  205. package/dist/entity/entity-template-cone.d.ts +1 -1
  206. package/dist/entity/entity-template-cone.d.ts.map +1 -1
  207. package/dist/entity/entity-template-cone.js +152 -151
  208. package/dist/entity/entity.d.ts.map +1 -1
  209. package/dist/entity/entity.js +952 -1089
  210. package/dist/exceptions/error-handler.d.ts +1 -1
  211. package/dist/exceptions/error-handler.d.ts.map +1 -1
  212. package/dist/exceptions/error-handler.js +32 -27
  213. package/dist/exceptions/so-exceptions.d.ts +1 -1
  214. package/dist/exceptions/so-exceptions.d.ts.map +1 -1
  215. package/dist/exceptions/so-exceptions.js +61 -68
  216. package/dist/filter/index.js +9 -3
  217. package/dist/filter/types.js +92 -88
  218. package/dist/filter/utils.d.ts +1 -1
  219. package/dist/filter/utils.d.ts.map +1 -1
  220. package/dist/filter/utils.js +147 -161
  221. package/dist/index.js +87 -40
  222. package/dist/logger/category.d.ts.map +1 -1
  223. package/dist/logger/category.js +30 -29
  224. package/dist/logger/configure.d.ts.map +1 -1
  225. package/dist/logger/configure.js +83 -107
  226. package/dist/migration/code-generation.d.ts +2 -2
  227. package/dist/migration/code-generation.d.ts.map +1 -1
  228. package/dist/migration/code-generation.js +1385 -1578
  229. package/dist/migration/migration-set.d.ts +1 -1
  230. package/dist/migration/migration-set.d.ts.map +1 -1
  231. package/dist/migration/migration-set.js +177 -227
  232. package/dist/migration/migrator.d.ts +4 -3
  233. package/dist/migration/migrator.d.ts.map +1 -1
  234. package/dist/migration/migrator.js +340 -345
  235. package/dist/migration/postgresql-schema-reader.d.ts +2 -2
  236. package/dist/migration/postgresql-schema-reader.d.ts.map +1 -1
  237. package/dist/migration/postgresql-schema-reader.js +506 -564
  238. package/dist/migration/slack-confirm.d.ts +2 -2
  239. package/dist/migration/slack-confirm.d.ts.map +1 -1
  240. package/dist/migration/slack-confirm.js +205 -193
  241. package/dist/migration/types.d.ts +2 -2
  242. package/dist/migration/types.d.ts.map +1 -1
  243. package/dist/migration/types.js +1 -3
  244. package/dist/naite/messaging-types.d.ts +1 -0
  245. package/dist/naite/messaging-types.d.ts.map +1 -1
  246. package/dist/naite/messaging-types.js +1 -7
  247. package/dist/naite/naite-reporter.d.ts +2 -2
  248. package/dist/naite/naite-reporter.d.ts.map +1 -1
  249. package/dist/naite/naite-reporter.js +127 -120
  250. package/dist/naite/naite.d.ts +3 -2
  251. package/dist/naite/naite.d.ts.map +1 -1
  252. package/dist/naite/naite.js +266 -300
  253. package/dist/ssr/index.d.ts +2 -2
  254. package/dist/ssr/index.d.ts.map +1 -1
  255. package/dist/ssr/index.js +13 -3
  256. package/dist/ssr/registry.d.ts +1 -1
  257. package/dist/ssr/registry.d.ts.map +1 -1
  258. package/dist/ssr/registry.js +45 -37
  259. package/dist/ssr/renderer.d.ts +4 -4
  260. package/dist/ssr/renderer.d.ts.map +1 -1
  261. package/dist/ssr/renderer.js +84 -91
  262. package/dist/ssr/types.d.ts +2 -2
  263. package/dist/ssr/types.d.ts.map +1 -1
  264. package/dist/ssr/types.js +1 -3
  265. package/dist/storage/base-file.js +54 -41
  266. package/dist/storage/buffered-file.d.ts +2 -2
  267. package/dist/storage/buffered-file.d.ts.map +1 -1
  268. package/dist/storage/buffered-file.js +51 -44
  269. package/dist/storage/drivers.d.ts +2 -2
  270. package/dist/storage/drivers.d.ts.map +1 -1
  271. package/dist/storage/drivers.js +12 -7
  272. package/dist/storage/index.js +14 -7
  273. package/dist/storage/s3-driver.d.ts +2 -2
  274. package/dist/storage/s3-driver.d.ts.map +1 -1
  275. package/dist/storage/s3-driver.js +52 -48
  276. package/dist/storage/storage-manager.d.ts +2 -2
  277. package/dist/storage/storage-manager.d.ts.map +1 -1
  278. package/dist/storage/storage-manager.js +33 -25
  279. package/dist/storage/types.d.ts +2 -2
  280. package/dist/storage/types.d.ts.map +1 -1
  281. package/dist/storage/types.js +1 -5
  282. package/dist/storage/uploaded-file.d.ts +1 -1
  283. package/dist/storage/uploaded-file.d.ts.map +1 -1
  284. package/dist/storage/uploaded-file.js +45 -35
  285. package/dist/stream/index.js +7 -2
  286. package/dist/stream/sse.d.ts +2 -2
  287. package/dist/stream/sse.d.ts.map +1 -1
  288. package/dist/stream/sse.js +72 -67
  289. package/dist/syncer/api-parser.d.ts +1 -1
  290. package/dist/syncer/api-parser.d.ts.map +1 -1
  291. package/dist/syncer/api-parser.js +224 -245
  292. package/dist/syncer/checksum.d.ts +1 -1
  293. package/dist/syncer/checksum.d.ts.map +1 -1
  294. package/dist/syncer/checksum.js +86 -72
  295. package/dist/syncer/code-generator.d.ts +2 -2
  296. package/dist/syncer/code-generator.d.ts.map +1 -1
  297. package/dist/syncer/code-generator.js +154 -160
  298. package/dist/syncer/entity-operations.d.ts +1 -1
  299. package/dist/syncer/entity-operations.d.ts.map +1 -1
  300. package/dist/syncer/entity-operations.js +63 -54
  301. package/dist/syncer/file-patterns.d.ts +1 -1
  302. package/dist/syncer/file-patterns.d.ts.map +1 -1
  303. package/dist/syncer/file-patterns.js +38 -38
  304. package/dist/syncer/index.js +19 -8
  305. package/dist/syncer/module-loader.d.ts +5 -5
  306. package/dist/syncer/module-loader.d.ts.map +1 -1
  307. package/dist/syncer/module-loader.js +83 -78
  308. package/dist/syncer/syncer-actions.d.ts +2 -2
  309. package/dist/syncer/syncer-actions.d.ts.map +1 -1
  310. package/dist/syncer/syncer-actions.js +76 -91
  311. package/dist/syncer/syncer.d.ts +7 -6
  312. package/dist/syncer/syncer.d.ts.map +1 -1
  313. package/dist/syncer/syncer.js +426 -492
  314. package/dist/tasks/decorator.d.ts +3 -3
  315. package/dist/tasks/decorator.d.ts.map +1 -1
  316. package/dist/tasks/decorator.js +32 -28
  317. package/dist/tasks/step-wrapper.d.ts +1 -1
  318. package/dist/tasks/step-wrapper.d.ts.map +1 -1
  319. package/dist/tasks/step-wrapper.js +42 -41
  320. package/dist/tasks/workflow-manager.d.ts +2 -2
  321. package/dist/tasks/workflow-manager.d.ts.map +1 -1
  322. package/dist/tasks/workflow-manager.js +192 -221
  323. package/dist/template/entity-converter.d.ts +1 -1
  324. package/dist/template/entity-converter.d.ts.map +1 -1
  325. package/dist/template/entity-converter.js +103 -103
  326. package/dist/template/helpers.d.ts.map +1 -1
  327. package/dist/template/helpers.js +163 -163
  328. package/dist/template/implementations/entity.template.d.ts +1 -1
  329. package/dist/template/implementations/entity.template.d.ts.map +1 -1
  330. package/dist/template/implementations/entity.template.js +76 -85
  331. package/dist/template/implementations/entry-server.template.d.ts +1 -1
  332. package/dist/template/implementations/entry-server.template.d.ts.map +1 -1
  333. package/dist/template/implementations/entry-server.template.js +32 -27
  334. package/dist/template/implementations/generated.template.d.ts +1 -1
  335. package/dist/template/implementations/generated.template.d.ts.map +1 -1
  336. package/dist/template/implementations/generated.template.js +254 -275
  337. package/dist/template/implementations/generated_http.template.d.ts +2 -2
  338. package/dist/template/implementations/generated_http.template.d.ts.map +1 -1
  339. package/dist/template/implementations/generated_http.template.js +114 -133
  340. package/dist/template/implementations/generated_sso.template.d.ts.map +1 -1
  341. package/dist/template/implementations/generated_sso.template.js +249 -275
  342. package/dist/template/implementations/init_types.template.d.ts +1 -1
  343. package/dist/template/implementations/init_types.template.d.ts.map +1 -1
  344. package/dist/template/implementations/init_types.template.js +40 -34
  345. package/dist/template/implementations/model.template.d.ts +1 -1
  346. package/dist/template/implementations/model.template.d.ts.map +1 -1
  347. package/dist/template/implementations/model.template.js +56 -53
  348. package/dist/template/implementations/model_test.template.d.ts +1 -1
  349. package/dist/template/implementations/model_test.template.d.ts.map +1 -1
  350. package/dist/template/implementations/model_test.template.js +32 -24
  351. package/dist/template/implementations/queries.template.d.ts +1 -1
  352. package/dist/template/implementations/queries.template.d.ts.map +1 -1
  353. package/dist/template/implementations/queries.template.js +84 -89
  354. package/dist/template/implementations/sd.template.d.ts +1 -1
  355. package/dist/template/implementations/sd.template.d.ts.map +1 -1
  356. package/dist/template/implementations/sd.template.js +137 -144
  357. package/dist/template/implementations/services.template.d.ts +1 -1
  358. package/dist/template/implementations/services.template.d.ts.map +1 -1
  359. package/dist/template/implementations/services.template.js +164 -189
  360. package/dist/template/implementations/view_form.template.d.ts +1 -1
  361. package/dist/template/implementations/view_form.template.d.ts.map +1 -1
  362. package/dist/template/implementations/view_form.template.js +258 -285
  363. package/dist/template/implementations/view_id_all_select.template.d.ts +1 -1
  364. package/dist/template/implementations/view_id_all_select.template.d.ts.map +1 -1
  365. package/dist/template/implementations/view_id_all_select.template.js +31 -25
  366. package/dist/template/implementations/view_list.template.d.ts +1 -1
  367. package/dist/template/implementations/view_list.template.d.ts.map +1 -1
  368. package/dist/template/implementations/view_list.template.js +304 -355
  369. package/dist/template/implementations/view_search_input.template.d.ts +1 -1
  370. package/dist/template/implementations/view_search_input.template.d.ts.map +1 -1
  371. package/dist/template/implementations/view_search_input.template.js +31 -27
  372. package/dist/template/index.js +21 -7
  373. package/dist/template/template-manager.d.ts +1 -1
  374. package/dist/template/template-manager.d.ts.map +1 -1
  375. package/dist/template/template-manager.js +132 -123
  376. package/dist/template/template-types.js +8 -6
  377. package/dist/template/template.d.ts +2 -2
  378. package/dist/template/template.d.ts.map +1 -1
  379. package/dist/template/template.js +73 -68
  380. package/dist/template/zod-converter.d.ts.map +1 -1
  381. package/dist/template/zod-converter.js +603 -657
  382. package/dist/testing/_relation-graph.d.ts +1 -1
  383. package/dist/testing/_relation-graph.d.ts.map +1 -1
  384. package/dist/testing/_relation-graph.js +93 -88
  385. package/dist/testing/bootstrap.d.ts +22 -13
  386. package/dist/testing/bootstrap.d.ts.map +1 -1
  387. package/dist/testing/bootstrap.js +114 -114
  388. package/dist/testing/data-explorer.d.ts +3 -3
  389. package/dist/testing/data-explorer.d.ts.map +1 -1
  390. package/dist/testing/data-explorer.js +237 -265
  391. package/dist/testing/dev-test-routes.d.ts +2 -2
  392. package/dist/testing/dev-test-routes.d.ts.map +1 -1
  393. package/dist/testing/dev-test-routes.js +258 -249
  394. package/dist/testing/dev-vitest-manager.d.ts +1 -1
  395. package/dist/testing/dev-vitest-manager.d.ts.map +1 -1
  396. package/dist/testing/dev-vitest-manager.js +514 -539
  397. package/dist/testing/faker-mappings.js +422 -420
  398. package/dist/testing/fixture-generator.d.ts +3 -3
  399. package/dist/testing/fixture-generator.d.ts.map +1 -1
  400. package/dist/testing/fixture-generator.js +1216 -1346
  401. package/dist/testing/fixture-loader.js +26 -25
  402. package/dist/testing/fixture-manager.d.ts +3 -3
  403. package/dist/testing/fixture-manager.d.ts.map +1 -1
  404. package/dist/testing/fixture-manager.js +706 -776
  405. package/dist/testing/global-setup.js +53 -49
  406. package/dist/testing/index.js +19 -11
  407. package/dist/testing/naite-vitest-reporter.js +18 -13
  408. package/dist/testing/parallel-db-manager.d.ts +1 -1
  409. package/dist/testing/parallel-db-manager.d.ts.map +1 -1
  410. package/dist/testing/parallel-db-manager.js +63 -78
  411. package/dist/testing/vitest-helpers.d.ts +1 -1
  412. package/dist/testing/vitest-helpers.d.ts.map +1 -1
  413. package/dist/testing/vitest-helpers.js +37 -33
  414. package/dist/types/types.d.ts +28 -28
  415. package/dist/types/types.d.ts.map +1 -1
  416. package/dist/types/types.js +764 -890
  417. package/dist/ui/ai-api.d.ts +1 -1
  418. package/dist/ui/ai-api.d.ts.map +1 -1
  419. package/dist/ui/ai-api.js +52 -42
  420. package/dist/ui/ai-client.d.ts +1 -2
  421. package/dist/ui/ai-client.d.ts.map +1 -1
  422. package/dist/ui/ai-client.js +353 -388
  423. package/dist/ui/api.d.ts +1 -1
  424. package/dist/ui/api.d.ts.map +1 -1
  425. package/dist/ui/api.js +903 -1145
  426. package/dist/ui/cdd-service.d.ts +1 -1
  427. package/dist/ui/cdd-service.d.ts.map +1 -1
  428. package/dist/ui/cdd-service.js +406 -407
  429. package/dist/ui/cdd-types.js +1 -3
  430. package/dist/ui-web/assets/index-C-Zz-wYg.css +1 -0
  431. package/dist/ui-web/assets/index-DejDON8K.js +238 -0
  432. package/dist/ui-web/index.html +3 -3
  433. package/dist/utils/async-utils.js +57 -45
  434. package/dist/utils/console-util.d.ts.map +1 -1
  435. package/dist/utils/console-util.js +104 -87
  436. package/dist/utils/controller.js +26 -19
  437. package/dist/utils/esm-utils.js +49 -38
  438. package/dist/utils/formatter.d.ts +1 -2
  439. package/dist/utils/formatter.d.ts.map +1 -1
  440. package/dist/utils/formatter.js +89 -115
  441. package/dist/utils/fs-utils.d.ts.map +1 -1
  442. package/dist/utils/fs-utils.js +68 -65
  443. package/dist/utils/lodash-able.js +11 -4
  444. package/dist/utils/model.d.ts +1 -1
  445. package/dist/utils/model.d.ts.map +1 -1
  446. package/dist/utils/model.js +21 -19
  447. package/dist/utils/object-utils.js +148 -186
  448. package/dist/utils/path-utils.js +67 -57
  449. package/dist/utils/process-utils.d.ts.map +1 -1
  450. package/dist/utils/process-utils.js +37 -31
  451. package/dist/utils/sql-parser.d.ts +1 -1
  452. package/dist/utils/sql-parser.d.ts.map +1 -1
  453. package/dist/utils/sql-parser.js +40 -40
  454. package/dist/utils/type-utils.js +44 -43
  455. package/dist/utils/utils.d.ts +2 -3
  456. package/dist/utils/utils.d.ts.map +1 -1
  457. package/dist/utils/utils.js +81 -93
  458. package/dist/utils/zod-error.d.ts +1 -1
  459. package/dist/utils/zod-error.d.ts.map +1 -1
  460. package/dist/utils/zod-error.js +24 -17
  461. package/dist/vector/chunking.d.ts +1 -1
  462. package/dist/vector/chunking.d.ts.map +1 -1
  463. package/dist/vector/chunking.js +100 -94
  464. package/dist/vector/config.d.ts +1 -1
  465. package/dist/vector/config.d.ts.map +1 -1
  466. package/dist/vector/config.js +76 -78
  467. package/dist/vector/embedding.d.ts +1 -1
  468. package/dist/vector/embedding.d.ts.map +1 -1
  469. package/dist/vector/embedding.js +128 -125
  470. package/dist/vector/index.js +5 -5
  471. package/dist/vector/types.js +1 -5
  472. package/package.json +31 -36
  473. package/src/ai/agents/agent.ts +12 -5
  474. package/src/ai/agents/types.ts +5 -5
  475. package/src/ai/providers/rtzr/model.ts +8 -10
  476. package/src/ai/providers/rtzr/options.ts +2 -1
  477. package/src/ai/providers/rtzr/provider.ts +5 -3
  478. package/src/ai/providers/rtzr/utils.ts +2 -7
  479. package/src/api/__tests__/config.test.ts +15 -8
  480. package/src/api/base-frame.ts +5 -3
  481. package/src/api/caster.ts +7 -6
  482. package/src/api/code-converters.ts +23 -26
  483. package/src/api/config.ts +23 -17
  484. package/src/api/context.ts +18 -11
  485. package/src/api/decorators.ts +17 -18
  486. package/src/api/sonamu.ts +44 -49
  487. package/src/auth/auth-generator.ts +4 -6
  488. package/src/auth/better-auth-entities.ts +3 -2
  489. package/src/auth/knex-adapter.ts +6 -5
  490. package/src/auth/plugins/entity-definitions/admin.ts +1 -1
  491. package/src/auth/plugins/entity-definitions/anonymous.ts +1 -1
  492. package/src/auth/plugins/entity-definitions/api-key.ts +1 -1
  493. package/src/auth/plugins/entity-definitions/index.ts +1 -1
  494. package/src/auth/plugins/entity-definitions/jwt.ts +1 -1
  495. package/src/auth/plugins/entity-definitions/organization.ts +1 -1
  496. package/src/auth/plugins/entity-definitions/passkey.ts +1 -1
  497. package/src/auth/plugins/entity-definitions/phone-number.ts +1 -1
  498. package/src/auth/plugins/entity-definitions/sso.ts +1 -1
  499. package/src/auth/plugins/entity-definitions/two-factor.ts +1 -1
  500. package/src/auth/plugins/entity-definitions/types.ts +1 -1
  501. package/src/auth/plugins/entity-definitions/username.ts +1 -1
  502. package/src/auth/plugins/wrappers/admin.ts +3 -1
  503. package/src/auth/plugins/wrappers/anonymous.ts +3 -1
  504. package/src/auth/plugins/wrappers/api-key.ts +3 -1
  505. package/src/auth/plugins/wrappers/jwt.ts +3 -1
  506. package/src/auth/plugins/wrappers/organization.ts +3 -1
  507. package/src/auth/plugins/wrappers/passkey.ts +3 -1
  508. package/src/auth/plugins/wrappers/phone-number.ts +3 -1
  509. package/src/auth/plugins/wrappers/sso.ts +2 -1
  510. package/src/auth/plugins/wrappers/two-factor.ts +3 -1
  511. package/src/auth/plugins/wrappers/username.ts +3 -1
  512. package/src/bin/__tests__/ts-loader-register.test.ts +7 -12
  513. package/src/bin/build-config.ts +3 -3
  514. package/src/bin/cli.ts +27 -25
  515. package/src/bin/fixture.ts +4 -2
  516. package/src/bin/hmr-hook-register.ts +1 -0
  517. package/src/bin/test-command.ts +4 -2
  518. package/src/bin/ts-loader-registration.ts +6 -22
  519. package/src/cache/cache-manager.ts +2 -1
  520. package/src/cache/decorator.ts +2 -2
  521. package/src/cache/types.ts +3 -3
  522. package/src/cache-control/cache-control.ts +3 -2
  523. package/src/cache-control/types.ts +2 -2
  524. package/src/compress/compress.ts +1 -1
  525. package/src/cone/cone-generator.ts +5 -3
  526. package/src/database/_batch_update.ts +1 -1
  527. package/src/database/base-model.ts +20 -14
  528. package/src/database/base-model.types.ts +12 -11
  529. package/src/database/db.ts +56 -21
  530. package/src/database/knex.ts +2 -2
  531. package/src/database/puri-subset.test-d.ts +33 -32
  532. package/src/database/puri-subset.types.ts +6 -7
  533. package/src/database/puri-wrapper.ts +29 -26
  534. package/src/database/puri.ts +36 -34
  535. package/src/database/puri.types.test-d.ts +6 -5
  536. package/src/database/puri.types.ts +9 -12
  537. package/src/database/transaction-context.ts +2 -2
  538. package/src/database/upsert-builder.ts +17 -10
  539. package/src/dict/sd.ts +17 -4
  540. package/src/dict/sonamu-dictionary.ts +23 -17
  541. package/src/entity/entity-manager.ts +9 -7
  542. package/src/entity/entity-template-cone.ts +10 -3
  543. package/src/entity/entity.ts +20 -16
  544. package/src/exceptions/error-handler.ts +2 -1
  545. package/src/exceptions/so-exceptions.ts +1 -1
  546. package/src/filter/utils.ts +3 -2
  547. package/src/logger/category.ts +1 -0
  548. package/src/logger/configure.ts +5 -5
  549. package/src/migration/__tests__/code-generation.search-text.test.ts +2 -3
  550. package/src/migration/code-generation.ts +26 -25
  551. package/src/migration/migration-set.ts +16 -18
  552. package/src/migration/migrator.ts +38 -33
  553. package/src/migration/postgresql-schema-reader.ts +12 -12
  554. package/src/migration/slack-confirm.ts +5 -4
  555. package/src/migration/types.ts +2 -2
  556. package/src/naite/messaging-types.ts +1 -1
  557. package/src/naite/naite-reporter.ts +5 -3
  558. package/src/naite/naite.ts +12 -7
  559. package/src/shared/app.shared.ts.txt +2 -2
  560. package/src/shared/web.shared.ts.txt +2 -2
  561. package/src/skills/AGENTS.md +19 -18
  562. package/src/skills/commands/sonamu-skills.md +9 -9
  563. package/src/skills/sonamu/SKILL.md +111 -104
  564. package/src/skills/sonamu/ai-agents.md +27 -26
  565. package/src/skills/sonamu/api.md +81 -69
  566. package/src/skills/sonamu/auth-migration.md +13 -27
  567. package/src/skills/sonamu/auth-plugins.md +41 -31
  568. package/src/skills/sonamu/auth.md +30 -24
  569. package/src/skills/sonamu/cdd.md +26 -17
  570. package/src/skills/sonamu/cone.md +50 -50
  571. package/src/skills/sonamu/config.md +74 -51
  572. package/src/skills/sonamu/create-sonamu.md +31 -19
  573. package/src/skills/sonamu/database.md +43 -26
  574. package/src/skills/sonamu/entity-basic.md +61 -61
  575. package/src/skills/sonamu/entity-relations.md +84 -80
  576. package/src/skills/sonamu/entity-validation-checklist.md +19 -15
  577. package/src/skills/sonamu/fixture-cli.md +52 -30
  578. package/src/skills/sonamu/framework-change.md +9 -7
  579. package/src/skills/sonamu/frontend.md +64 -82
  580. package/src/skills/sonamu/i18n.md +45 -37
  581. package/src/skills/sonamu/migration.md +54 -31
  582. package/src/skills/sonamu/model.md +98 -66
  583. package/src/skills/sonamu/naite.md +34 -32
  584. package/src/skills/sonamu/project-init.md +28 -8
  585. package/src/skills/sonamu/puri.md +82 -91
  586. package/src/skills/sonamu/scaffolding.md +44 -32
  587. package/src/skills/sonamu/skill-contribution.md +50 -45
  588. package/src/skills/sonamu/subset.md +13 -13
  589. package/src/skills/sonamu/tasks.md +73 -58
  590. package/src/skills/sonamu/testing-devrunner.md +56 -36
  591. package/src/skills/sonamu/testing.md +23 -58
  592. package/src/skills/sonamu/upsert.md +32 -31
  593. package/src/skills/sonamu/vector.md +37 -36
  594. package/src/ssr/index.ts +2 -12
  595. package/src/ssr/registry.ts +1 -1
  596. package/src/ssr/renderer.ts +7 -5
  597. package/src/ssr/types.ts +2 -2
  598. package/src/storage/buffered-file.ts +4 -2
  599. package/src/storage/drivers.ts +3 -2
  600. package/src/storage/s3-driver.ts +7 -4
  601. package/src/storage/storage-manager.ts +3 -2
  602. package/src/storage/types.ts +3 -2
  603. package/src/storage/uploaded-file.ts +1 -1
  604. package/src/stream/sse.ts +2 -2
  605. package/src/syncer/api-parser.ts +8 -5
  606. package/src/syncer/checksum.ts +9 -5
  607. package/src/syncer/code-generator.ts +16 -8
  608. package/src/syncer/entity-operations.ts +5 -3
  609. package/src/syncer/file-patterns.ts +2 -1
  610. package/src/syncer/module-loader.ts +9 -6
  611. package/src/syncer/syncer-actions.ts +5 -3
  612. package/src/syncer/syncer.ts +18 -24
  613. package/src/tasks/decorator.ts +10 -8
  614. package/src/tasks/step-wrapper.ts +1 -1
  615. package/src/tasks/workflow-manager.ts +18 -15
  616. package/src/template/__tests__/generated.template.search-text.test.ts +1 -0
  617. package/src/template/entity-converter.ts +4 -2
  618. package/src/template/generated.template.test-d.ts +2 -1
  619. package/src/template/helpers.ts +5 -2
  620. package/src/template/implementations/entity.template.ts +9 -8
  621. package/src/template/implementations/entry-server.template.ts +1 -1
  622. package/src/template/implementations/generated.template.ts +21 -29
  623. package/src/template/implementations/generated_http.template.ts +9 -6
  624. package/src/template/implementations/generated_sso.template.ts +6 -4
  625. package/src/template/implementations/init_types.template.ts +3 -2
  626. package/src/template/implementations/model.template.ts +4 -2
  627. package/src/template/implementations/model_test.template.ts +3 -2
  628. package/src/template/implementations/queries.template.ts +6 -14
  629. package/src/template/implementations/sd.template.ts +4 -2
  630. package/src/template/implementations/services.template.ts +7 -11
  631. package/src/template/implementations/view_form.template.ts +5 -3
  632. package/src/template/implementations/view_id_all_select.template.ts +3 -2
  633. package/src/template/implementations/view_list.template.ts +7 -5
  634. package/src/template/implementations/view_search_input.template.ts +3 -2
  635. package/src/template/template-manager.ts +4 -3
  636. package/src/template/template.ts +4 -3
  637. package/src/template/zod-converter.ts +10 -7
  638. package/src/testing/__tests__/dev-test-routes.test.ts +3 -2
  639. package/src/testing/__tests__/dev-vitest-manager.test.ts +1 -0
  640. package/src/testing/_relation-graph.ts +2 -2
  641. package/src/testing/bootstrap.ts +55 -27
  642. package/src/testing/data-explorer.ts +5 -4
  643. package/src/testing/dev-test-routes.ts +8 -5
  644. package/src/testing/dev-vitest-manager.ts +13 -12
  645. package/src/testing/fixture-generator.ts +11 -17
  646. package/src/testing/fixture-manager.ts +21 -17
  647. package/src/testing/parallel-db-manager.ts +2 -1
  648. package/src/testing/vitest-helpers.ts +2 -1
  649. package/src/types/__tests__/entity-json-schema-search-text.test.ts +1 -0
  650. package/src/types/types.ts +8 -8
  651. package/src/typings/knex.d.ts +4 -4
  652. package/src/ui/ai-api.ts +5 -3
  653. package/src/ui/ai-client.ts +6 -5
  654. package/src/ui/api.ts +25 -23
  655. package/src/ui/cdd-service.ts +12 -11
  656. package/src/utils/console-util.ts +3 -1
  657. package/src/utils/formatter.ts +94 -102
  658. package/src/utils/fs-utils.ts +2 -1
  659. package/src/utils/model.ts +2 -2
  660. package/src/utils/object-utils.ts +3 -3
  661. package/src/utils/process-utils.ts +2 -1
  662. package/src/utils/sql-parser.ts +10 -1
  663. package/src/utils/type-utils.ts +3 -3
  664. package/src/utils/utils.ts +9 -7
  665. package/src/utils/zod-error.ts +1 -1
  666. package/src/vector/chunking.ts +1 -1
  667. package/src/vector/config.ts +1 -1
  668. package/src/vector/embedding.ts +11 -9
  669. package/tsdown.api.config.ts +50 -0
  670. package/.swcrc.project-default +0 -18
  671. package/dist/api/__tests__/config.test.js +0 -189
  672. package/dist/bin/__tests__/test-command.test.js +0 -112
  673. package/dist/bin/__tests__/ts-loader-register.test.js +0 -45
  674. package/dist/database/puri-subset.test-d.js +0 -89
  675. package/dist/database/puri.types.test-d.js +0 -129
  676. package/dist/migration/__tests__/code-generation.search-text.test.js +0 -435
  677. package/dist/template/__tests__/generated.template.search-text.test.js +0 -99
  678. package/dist/template/generated.template.test-d.js +0 -24
  679. package/dist/testing/__tests__/dev-test-routes.test.js +0 -144
  680. package/dist/testing/__tests__/dev-vitest-manager.test.js +0 -152
  681. package/dist/types/__tests__/entity-json-schema-search-text.test.js +0 -256
  682. package/dist/typings/knex.d.js +0 -3
  683. package/dist/ui-web/assets/index-CKo0Z2Iu.css +0 -1
  684. package/dist/ui-web/assets/index-DK-2aacv.js +0 -257
@@ -1,46 +1,53 @@
1
+ import { __esmMin } from "../_virtual/rolldown_runtime.js";
2
+ import { BaseFile, init_base_file } from "./base-file.js";
1
3
  import { createHash } from "crypto";
2
- import { BaseFile } from "./base-file.js";
3
- /**
4
- * Buffer 모드로 업로드된 파일
5
- * 메모리에 로드된 상태로, md5 계산이나 이미지 처리 등 유연한 작업이 가능합니다.
6
- */ export class BufferedFile extends BaseFile {
7
- _file;
8
- _buffer;
9
- constructor(file, buffer){
10
- super({
11
- filename: file.filename,
12
- mimetype: file.mimetype,
13
- size: buffer.length
14
- });
15
- this._file = file;
16
- this._buffer = buffer;
17
- }
18
- /** 파일 Buffer */ get buffer() {
19
- return this._buffer;
20
- }
21
- /** MD5 해시 계산 */ async md5() {
22
- return createHash("md5").update(this._buffer).digest("hex");
23
- }
24
- /**
25
- * 파일을 디스크에 저장
26
- * @param key 저장 경로 (예: 'uploads/avatar.png')
27
- * @param diskName 디스크 이름 (기본: default disk)
28
- * @returns 저장된 파일의 URL
29
- */ async saveToDisk(diskName, key) {
30
- // 순환 의존성 방지를 위해 동적 import
31
- const { Sonamu } = await import("../api/sonamu.js");
32
- const disk = Sonamu.storage.use(diskName);
33
- await disk.put(key, new Uint8Array(this._buffer), {
34
- contentType: this.mimetype
35
- });
36
- this._url = await disk.getUrl(key);
37
- this._signedUrl = await disk.getSignedUrl(key);
38
- // signed url은 만료 시간이 있기 때문에, unsigned url을 반환합니다.
39
- return this._url;
40
- }
41
- /** 원본 MultipartFile 접근 */ get raw() {
42
- return this._file;
43
- }
44
- }
45
4
 
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL2J1ZmZlcmVkLWZpbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNdWx0aXBhcnRGaWxlIH0gZnJvbSBcIkBmYXN0aWZ5L211bHRpcGFydFwiO1xuaW1wb3J0IHsgY3JlYXRlSGFzaCB9IGZyb20gXCJjcnlwdG9cIjtcbmltcG9ydCB7IEJhc2VGaWxlIH0gZnJvbSBcIi4vYmFzZS1maWxlXCI7XG5pbXBvcnQgdHlwZSB7IERyaXZlcktleSB9IGZyb20gXCIuL2RyaXZlcnNcIjtcblxuLyoqXG4gKiBCdWZmZXIg66qo65Oc66GcIOyXheuhnOuTnOuQnCDtjIzsnbxcbiAqIOuplOuqqOumrOyXkCDroZzrk5zrkJwg7IOB7YOc66GcLCBtZDUg6rOE7IKw7J2064KYIOydtOuvuOyngCDsspjrpqwg65OxIOycoOyXsO2VnCDsnpHsl4XsnbQg6rCA64ql7ZWp64uI64ukLlxuICovXG5leHBvcnQgY2xhc3MgQnVmZmVyZWRGaWxlIGV4dGVuZHMgQmFzZUZpbGUge1xuICBwcml2YXRlIF9maWxlOiBNdWx0aXBhcnRGaWxlO1xuICBwcml2YXRlIF9idWZmZXI6IEJ1ZmZlcjtcblxuICBjb25zdHJ1Y3RvcihmaWxlOiBNdWx0aXBhcnRGaWxlLCBidWZmZXI6IEJ1ZmZlcikge1xuICAgIHN1cGVyKHtcbiAgICAgIGZpbGVuYW1lOiBmaWxlLmZpbGVuYW1lLFxuICAgICAgbWltZXR5cGU6IGZpbGUubWltZXR5cGUsXG4gICAgICBzaXplOiBidWZmZXIubGVuZ3RoLFxuICAgIH0pO1xuICAgIHRoaXMuX2ZpbGUgPSBmaWxlO1xuICAgIHRoaXMuX2J1ZmZlciA9IGJ1ZmZlcjtcbiAgfVxuXG4gIC8qKiDtjIzsnbwgQnVmZmVyICovXG4gIGdldCBidWZmZXIoKTogQnVmZmVyIHtcbiAgICByZXR1cm4gdGhpcy5fYnVmZmVyO1xuICB9XG5cbiAgLyoqIE1ENSDtlbTsi5wg6rOE7IKwICovXG4gIGFzeW5jIG1kNSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBjcmVhdGVIYXNoKFwibWQ1XCIpLnVwZGF0ZSh0aGlzLl9idWZmZXIpLmRpZ2VzdChcImhleFwiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDtjIzsnbzsnYQg65SU7Iqk7YGs7JeQIOyggOyepVxuICAgKiBAcGFyYW0ga2V5IOyggOyepSDqsr3roZwgKOyYiDogJ3VwbG9hZHMvYXZhdGFyLnBuZycpXG4gICAqIEBwYXJhbSBkaXNrTmFtZSDrlJTsiqTtgawg7J2066aEICjquLDrs7g6IGRlZmF1bHQgZGlzaylcbiAgICogQHJldHVybnMg7KCA7J6l65CcIO2MjOydvOydmCBVUkxcbiAgICovXG4gIGFzeW5jIHNhdmVUb0Rpc2soZGlza05hbWU6IERyaXZlcktleSwga2V5OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIC8vIOyInO2ZmCDsnZjsobTshLEg67Cp7KeA66W8IOychO2VtCDrj5nsoIEgaW1wb3J0XG4gICAgY29uc3QgeyBTb25hbXUgfSA9IGF3YWl0IGltcG9ydChcIi4uL2FwaS9zb25hbXVcIik7XG4gICAgY29uc3QgZGlzayA9IFNvbmFtdS5zdG9yYWdlLnVzZShkaXNrTmFtZSk7XG5cbiAgICBhd2FpdCBkaXNrLnB1dChrZXksIG5ldyBVaW50OEFycmF5KHRoaXMuX2J1ZmZlciksIHtcbiAgICAgIGNvbnRlbnRUeXBlOiB0aGlzLm1pbWV0eXBlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5fdXJsID0gYXdhaXQgZGlzay5nZXRVcmwoa2V5KTtcbiAgICB0aGlzLl9zaWduZWRVcmwgPSBhd2FpdCBkaXNrLmdldFNpZ25lZFVybChrZXkpO1xuXG4gICAgLy8gc2lnbmVkIHVybOydgCDrp4zro4wg7Iuc6rCE7J20IOyeiOq4sCDrlYzrrLjsl5AsIHVuc2lnbmVkIHVybOydhCDrsJjtmZjtlanri4jri6QuXG4gICAgcmV0dXJuIHRoaXMuX3VybDtcbiAgfVxuXG4gIC8qKiDsm5Drs7ggTXVsdGlwYXJ0RmlsZSDsoJHqt7wgKi9cbiAgZ2V0IHJhdygpOiBNdWx0aXBhcnRGaWxlIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZUhhc2giLCJCYXNlRmlsZSIsIkJ1ZmZlcmVkRmlsZSIsIl9maWxlIiwiX2J1ZmZlciIsImZpbGUiLCJidWZmZXIiLCJmaWxlbmFtZSIsIm1pbWV0eXBlIiwic2l6ZSIsImxlbmd0aCIsIm1kNSIsInVwZGF0ZSIsImRpZ2VzdCIsInNhdmVUb0Rpc2siLCJkaXNrTmFtZSIsImtleSIsIlNvbmFtdSIsImRpc2siLCJzdG9yYWdlIiwidXNlIiwicHV0IiwiVWludDhBcnJheSIsImNvbnRlbnRUeXBlIiwiX3VybCIsImdldFVybCIsIl9zaWduZWRVcmwiLCJnZXRTaWduZWRVcmwiLCJyYXciXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLFVBQVUsUUFBUSxTQUFTO0FBQ3BDLFNBQVNDLFFBQVEsUUFBUSxpQkFBYztBQUd2Qzs7O0NBR0MsR0FDRCxPQUFPLE1BQU1DLHFCQUFxQkQ7SUFDeEJFLE1BQXFCO0lBQ3JCQyxRQUFnQjtJQUV4QixZQUFZQyxJQUFtQixFQUFFQyxNQUFjLENBQUU7UUFDL0MsS0FBSyxDQUFDO1lBQ0pDLFVBQVVGLEtBQUtFLFFBQVE7WUFDdkJDLFVBQVVILEtBQUtHLFFBQVE7WUFDdkJDLE1BQU1ILE9BQU9JLE1BQU07UUFDckI7UUFDQSxJQUFJLENBQUNQLEtBQUssR0FBR0U7UUFDYixJQUFJLENBQUNELE9BQU8sR0FBR0U7SUFDakI7SUFFQSxjQUFjLEdBQ2QsSUFBSUEsU0FBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUNGLE9BQU87SUFDckI7SUFFQSxjQUFjLEdBQ2QsTUFBTU8sTUFBdUI7UUFDM0IsT0FBT1gsV0FBVyxPQUFPWSxNQUFNLENBQUMsSUFBSSxDQUFDUixPQUFPLEVBQUVTLE1BQU0sQ0FBQztJQUN2RDtJQUVBOzs7OztHQUtDLEdBQ0QsTUFBTUMsV0FBV0MsUUFBbUIsRUFBRUMsR0FBVyxFQUFtQjtRQUNsRSwwQkFBMEI7UUFDMUIsTUFBTSxFQUFFQyxNQUFNLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQztRQUNoQyxNQUFNQyxPQUFPRCxPQUFPRSxPQUFPLENBQUNDLEdBQUcsQ0FBQ0w7UUFFaEMsTUFBTUcsS0FBS0csR0FBRyxDQUFDTCxLQUFLLElBQUlNLFdBQVcsSUFBSSxDQUFDbEIsT0FBTyxHQUFHO1lBQ2hEbUIsYUFBYSxJQUFJLENBQUNmLFFBQVE7UUFDNUI7UUFFQSxJQUFJLENBQUNnQixJQUFJLEdBQUcsTUFBTU4sS0FBS08sTUFBTSxDQUFDVDtRQUM5QixJQUFJLENBQUNVLFVBQVUsR0FBRyxNQUFNUixLQUFLUyxZQUFZLENBQUNYO1FBRTFDLGtEQUFrRDtRQUNsRCxPQUFPLElBQUksQ0FBQ1EsSUFBSTtJQUNsQjtJQUVBLHdCQUF3QixHQUN4QixJQUFJSSxNQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQ3pCLEtBQUs7SUFDbkI7QUFDRiJ9
5
+ //#region src/storage/buffered-file.ts
6
+ var BufferedFile;
7
+ var init_buffered_file = __esmMin((() => {
8
+ init_base_file();
9
+ BufferedFile = class extends BaseFile {
10
+ _file;
11
+ _buffer;
12
+ constructor(file, buffer) {
13
+ super({
14
+ filename: file.filename,
15
+ mimetype: file.mimetype,
16
+ size: buffer.length
17
+ });
18
+ this._file = file;
19
+ this._buffer = buffer;
20
+ }
21
+ /** 파일 Buffer */
22
+ get buffer() {
23
+ return this._buffer;
24
+ }
25
+ /** MD5 해시 계산 */
26
+ async md5() {
27
+ return createHash("md5").update(this._buffer).digest("hex");
28
+ }
29
+ /**
30
+ * 파일을 디스크에 저장
31
+ * @param key 저장 경로 (예: 'uploads/avatar.png')
32
+ * @param diskName 디스크 이름 (기본: default disk)
33
+ * @returns 저장된 파일의 URL
34
+ */
35
+ async saveToDisk(diskName, key) {
36
+ const { Sonamu } = await import("../api/sonamu.js");
37
+ const disk = Sonamu.storage.use(diskName);
38
+ await disk.put(key, new Uint8Array(this._buffer), { contentType: this.mimetype });
39
+ this._url = await disk.getUrl(key);
40
+ this._signedUrl = await disk.getSignedUrl(key);
41
+ return this._url;
42
+ }
43
+ /** 원본 MultipartFile 접근 */
44
+ get raw() {
45
+ return this._file;
46
+ }
47
+ };
48
+ }));
49
+
50
+ //#endregion
51
+ init_buffered_file();
52
+ export { BufferedFile, init_buffered_file };
53
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyZWQtZmlsZS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS9idWZmZXJlZC1maWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUhhc2ggfSBmcm9tIFwiY3J5cHRvXCI7XG5cbmltcG9ydCB7IHR5cGUgTXVsdGlwYXJ0RmlsZSB9IGZyb20gXCJAZmFzdGlmeS9tdWx0aXBhcnRcIjtcblxuaW1wb3J0IHsgQmFzZUZpbGUgfSBmcm9tIFwiLi9iYXNlLWZpbGVcIjtcbmltcG9ydCB7IHR5cGUgRHJpdmVyS2V5IH0gZnJvbSBcIi4vZHJpdmVyc1wiO1xuXG4vKipcbiAqIEJ1ZmZlciDrqqjrk5zroZwg7JeF66Gc65Oc65CcIO2MjOydvFxuICog66mU66qo66as7JeQIOuhnOuTnOuQnCDsg4Htg5zroZwsIG1kNSDqs4TsgrDsnbTrgpgg7J2066+47KeAIOyymOumrCDrk7Eg7Jyg7Jew7ZWcIOyekeyXheydtCDqsIDriqXtlanri4jri6QuXG4gKi9cbmV4cG9ydCBjbGFzcyBCdWZmZXJlZEZpbGUgZXh0ZW5kcyBCYXNlRmlsZSB7XG4gIHByaXZhdGUgX2ZpbGU6IE11bHRpcGFydEZpbGU7XG4gIHByaXZhdGUgX2J1ZmZlcjogQnVmZmVyO1xuXG4gIGNvbnN0cnVjdG9yKGZpbGU6IE11bHRpcGFydEZpbGUsIGJ1ZmZlcjogQnVmZmVyKSB7XG4gICAgc3VwZXIoe1xuICAgICAgZmlsZW5hbWU6IGZpbGUuZmlsZW5hbWUsXG4gICAgICBtaW1ldHlwZTogZmlsZS5taW1ldHlwZSxcbiAgICAgIHNpemU6IGJ1ZmZlci5sZW5ndGgsXG4gICAgfSk7XG4gICAgdGhpcy5fZmlsZSA9IGZpbGU7XG4gICAgdGhpcy5fYnVmZmVyID0gYnVmZmVyO1xuICB9XG5cbiAgLyoqIO2MjOydvCBCdWZmZXIgKi9cbiAgZ2V0IGJ1ZmZlcigpOiBCdWZmZXIge1xuICAgIHJldHVybiB0aGlzLl9idWZmZXI7XG4gIH1cblxuICAvKiogTUQ1IO2VtOyLnCDqs4TsgrAgKi9cbiAgYXN5bmMgbWQ1KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGNyZWF0ZUhhc2goXCJtZDVcIikudXBkYXRlKHRoaXMuX2J1ZmZlcikuZGlnZXN0KFwiaGV4XCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIO2MjOydvOydhCDrlJTsiqTtgazsl5Ag7KCA7J6lXG4gICAqIEBwYXJhbSBrZXkg7KCA7J6lIOqyveuhnCAo7JiIOiAndXBsb2Fkcy9hdmF0YXIucG5nJylcbiAgICogQHBhcmFtIGRpc2tOYW1lIOuUlOyKpO2BrCDsnbTrpoQgKOq4sOuzuDogZGVmYXVsdCBkaXNrKVxuICAgKiBAcmV0dXJucyDsoIDsnqXrkJwg7YyM7J287J2YIFVSTFxuICAgKi9cbiAgYXN5bmMgc2F2ZVRvRGlzayhkaXNrTmFtZTogRHJpdmVyS2V5LCBrZXk6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgLy8g7Iic7ZmYIOydmOyhtOyEsSDrsKnsp4Drpbwg7JyE7ZW0IOuPmeyggSBpbXBvcnRcbiAgICBjb25zdCB7IFNvbmFtdSB9ID0gYXdhaXQgaW1wb3J0KFwiLi4vYXBpL3NvbmFtdVwiKTtcbiAgICBjb25zdCBkaXNrID0gU29uYW11LnN0b3JhZ2UudXNlKGRpc2tOYW1lKTtcblxuICAgIGF3YWl0IGRpc2sucHV0KGtleSwgbmV3IFVpbnQ4QXJyYXkodGhpcy5fYnVmZmVyKSwge1xuICAgICAgY29udGVudFR5cGU6IHRoaXMubWltZXR5cGUsXG4gICAgfSk7XG5cbiAgICB0aGlzLl91cmwgPSBhd2FpdCBkaXNrLmdldFVybChrZXkpO1xuICAgIHRoaXMuX3NpZ25lZFVybCA9IGF3YWl0IGRpc2suZ2V0U2lnbmVkVXJsKGtleSk7XG5cbiAgICAvLyBzaWduZWQgdXJs7J2AIOunjOujjCDsi5zqsITsnbQg7J6I6riwIOuVjOusuOyXkCwgdW5zaWduZWQgdXJs7J2EIOuwmO2ZmO2VqeuLiOuLpC5cbiAgICByZXR1cm4gdGhpcy5fdXJsO1xuICB9XG5cbiAgLyoqIOybkOuzuCBNdWx0aXBhcnRGaWxlIOygkeq3vCAqL1xuICBnZXQgcmF3KCk6IE11bHRpcGFydEZpbGUge1xuICAgIHJldHVybiB0aGlzLl9maWxlO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7aUJBSXVDO0NBTzFCLGVBQWIsY0FBa0MsU0FBUztFQUN6QyxBQUFRO0VBQ1IsQUFBUTtFQUVSLFlBQVksTUFBcUIsUUFBZ0I7QUFDL0MsU0FBTTtJQUNKLFVBQVUsS0FBSztJQUNmLFVBQVUsS0FBSztJQUNmLE1BQU0sT0FBTztJQUNkLENBQUM7QUFDRixRQUFLLFFBQVE7QUFDYixRQUFLLFVBQVU7OztFQUlqQixJQUFJLFNBQWlCO0FBQ25CLFVBQU8sS0FBSzs7O0VBSWQsTUFBTSxNQUF1QjtBQUMzQixVQUFPLFdBQVcsTUFBTSxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQUMsT0FBTyxNQUFNOzs7Ozs7OztFQVM3RCxNQUFNLFdBQVcsVUFBcUIsS0FBOEI7R0FFbEUsTUFBTSxFQUFFLFdBQVcsTUFBTSxPQUFPO0dBQ2hDLE1BQU0sT0FBTyxPQUFPLFFBQVEsSUFBSSxTQUFTO0FBRXpDLFNBQU0sS0FBSyxJQUFJLEtBQUssSUFBSSxXQUFXLEtBQUssUUFBUSxFQUFFLEVBQ2hELGFBQWEsS0FBSyxVQUNuQixDQUFDO0FBRUYsUUFBSyxPQUFPLE1BQU0sS0FBSyxPQUFPLElBQUk7QUFDbEMsUUFBSyxhQUFhLE1BQU0sS0FBSyxhQUFhLElBQUk7QUFHOUMsVUFBTyxLQUFLOzs7RUFJZCxJQUFJLE1BQXFCO0FBQ3ZCLFVBQU8sS0FBSyJ9
@@ -1,6 +1,6 @@
1
1
  import { FSDriver } from "flydrive/drivers/fs";
2
- import type { FSDriverOptions } from "flydrive/drivers/fs/types";
3
- import type { S3DriverOptions } from "flydrive/drivers/s3/types";
2
+ import { type FSDriverOptions } from "flydrive/drivers/fs/types";
3
+ import { type S3DriverOptions } from "flydrive/drivers/s3/types";
4
4
  import { SonamuS3Driver } from "./s3-driver";
5
5
  /**
6
6
  * 드라이버 팩토리 함수
@@ -1 +1 @@
1
- {"version":3,"file":"drivers.d.ts","sourceRoot":"","sources":["../../src/storage/drivers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,OAAO;iBACL,eAAe;iBACf,eAAe;CAC7B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,OAAO,CAAC"}
1
+ {"version":3,"file":"drivers.d.ts","sourceRoot":"","sources":["../../src/storage/drivers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,OAAO;iBACL,eAAe;iBACf,eAAe;CAC7B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,OAAO,CAAC"}
@@ -1,11 +1,16 @@
1
- import { FSDriver } from "flydrive/drivers/fs";
2
1
  import { SonamuS3Driver } from "./s3-driver.js";
2
+ import { FSDriver } from "flydrive/drivers/fs";
3
+
4
+ //#region src/storage/drivers.ts
3
5
  /**
4
- * 드라이버 팩토리 함수
5
- * 설정 → 드라이버 인스턴스 생성 함수 변환
6
- */ export const drivers = {
7
- fs: (config)=>()=>new FSDriver(config),
8
- s3: (config)=>()=>new SonamuS3Driver(config)
6
+ * 드라이버 팩토리 함수
7
+ * 설정 → 드라이버 인스턴스 생성 함수 변환
8
+ */
9
+ const drivers = {
10
+ fs: (config) => () => new FSDriver(config),
11
+ s3: (config) => () => new SonamuS3Driver(config)
9
12
  };
10
13
 
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL2RyaXZlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRlNEcml2ZXIgfSBmcm9tIFwiZmx5ZHJpdmUvZHJpdmVycy9mc1wiO1xuaW1wb3J0IHR5cGUgeyBGU0RyaXZlck9wdGlvbnMgfSBmcm9tIFwiZmx5ZHJpdmUvZHJpdmVycy9mcy90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBTM0RyaXZlck9wdGlvbnMgfSBmcm9tIFwiZmx5ZHJpdmUvZHJpdmVycy9zMy90eXBlc1wiO1xuaW1wb3J0IHsgU29uYW11UzNEcml2ZXIgfSBmcm9tIFwiLi9zMy1kcml2ZXJcIjtcblxuLyoqXG4gKiDrk5zrnbzsnbTrsoQg7Yyp7Yag66asIO2VqOyImFxuICog7ISk7KCVIOKGkiDrk5zrnbzsnbTrsoQg7J247Iqk7YS07IqkIOyDneyEsSDtlajsiJgg67OA7ZmYXG4gKi9cbmV4cG9ydCBjb25zdCBkcml2ZXJzID0ge1xuICBmczogKGNvbmZpZzogRlNEcml2ZXJPcHRpb25zKSA9PiAoKSA9PiBuZXcgRlNEcml2ZXIoY29uZmlnKSxcbiAgczM6IChjb25maWc6IFMzRHJpdmVyT3B0aW9ucykgPT4gKCkgPT4gbmV3IFNvbmFtdVMzRHJpdmVyKGNvbmZpZyksXG59O1xuXG5leHBvcnQgdHlwZSBEcml2ZXJLZXkgPSBrZXlvZiB0eXBlb2YgZHJpdmVycztcbiJdLCJuYW1lcyI6WyJGU0RyaXZlciIsIlNvbmFtdVMzRHJpdmVyIiwiZHJpdmVycyIsImZzIiwiY29uZmlnIiwiczMiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFFBQVEsUUFBUSxzQkFBc0I7QUFHL0MsU0FBU0MsY0FBYyxRQUFRLGlCQUFjO0FBRTdDOzs7Q0FHQyxHQUNELE9BQU8sTUFBTUMsVUFBVTtJQUNyQkMsSUFBSSxDQUFDQyxTQUE0QixJQUFNLElBQUlKLFNBQVNJO0lBQ3BEQyxJQUFJLENBQUNELFNBQTRCLElBQU0sSUFBSUgsZUFBZUc7QUFDNUQsRUFBRSJ9
14
+ //#endregion
15
+ export { drivers };
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJpdmVycy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS9kcml2ZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZTRHJpdmVyIH0gZnJvbSBcImZseWRyaXZlL2RyaXZlcnMvZnNcIjtcbmltcG9ydCB7IHR5cGUgRlNEcml2ZXJPcHRpb25zIH0gZnJvbSBcImZseWRyaXZlL2RyaXZlcnMvZnMvdHlwZXNcIjtcbmltcG9ydCB7IHR5cGUgUzNEcml2ZXJPcHRpb25zIH0gZnJvbSBcImZseWRyaXZlL2RyaXZlcnMvczMvdHlwZXNcIjtcblxuaW1wb3J0IHsgU29uYW11UzNEcml2ZXIgfSBmcm9tIFwiLi9zMy1kcml2ZXJcIjtcblxuLyoqXG4gKiDrk5zrnbzsnbTrsoQg7Yyp7Yag66asIO2VqOyImFxuICog7ISk7KCVIOKGkiDrk5zrnbzsnbTrsoQg7J247Iqk7YS07IqkIOyDneyEsSDtlajsiJgg67OA7ZmYXG4gKi9cbmV4cG9ydCBjb25zdCBkcml2ZXJzID0ge1xuICBmczogKGNvbmZpZzogRlNEcml2ZXJPcHRpb25zKSA9PiAoKSA9PiBuZXcgRlNEcml2ZXIoY29uZmlnKSxcbiAgczM6IChjb25maWc6IFMzRHJpdmVyT3B0aW9ucykgPT4gKCkgPT4gbmV3IFNvbmFtdVMzRHJpdmVyKGNvbmZpZyksXG59O1xuXG5leHBvcnQgdHlwZSBEcml2ZXJLZXkgPSBrZXlvZiB0eXBlb2YgZHJpdmVycztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFVQSxNQUFhLFVBQVU7Q0FDckIsS0FBSyxpQkFBa0MsSUFBSSxTQUFTLE9BQU87Q0FDM0QsS0FBSyxpQkFBa0MsSUFBSSxlQUFlLE9BQU87Q0FDbEUifQ==
@@ -1,8 +1,15 @@
1
- // Storage 서브모듈 exports
2
- export { BaseFile } from "./base-file.js";
3
- export { BufferedFile } from "./buffered-file.js";
4
- export { drivers } from "./drivers.js";
5
- export { StorageManager } from "./storage-manager.js";
6
- export { UploadedFile as StreamedFile } from "./uploaded-file.js";
1
+ import { BaseFile, init_base_file } from "./base-file.js";
2
+ import { BufferedFile, init_buffered_file } from "./buffered-file.js";
3
+ import { UploadedFile, init_uploaded_file } from "./uploaded-file.js";
4
+ import { drivers } from "./drivers.js";
5
+ import { StorageManager, init_storage_manager } from "./storage-manager.js";
7
6
 
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFN0b3JhZ2Ug7ISc67iM66qo65OIIGV4cG9ydHNcbmV4cG9ydCB7IEJhc2VGaWxlIH0gZnJvbSBcIi4vYmFzZS1maWxlXCI7XG5leHBvcnQgeyBCdWZmZXJlZEZpbGUgfSBmcm9tIFwiLi9idWZmZXJlZC1maWxlXCI7XG5leHBvcnQgeyB0eXBlIERyaXZlcktleSwgZHJpdmVycyB9IGZyb20gXCIuL2RyaXZlcnNcIjtcbmV4cG9ydCB7IFN0b3JhZ2VNYW5hZ2VyIH0gZnJvbSBcIi4vc3RvcmFnZS1tYW5hZ2VyXCI7XG5leHBvcnQgdHlwZSB7IEtleUdlbmVyYXRvciwgU3RvcmFnZUNvbmZpZyB9IGZyb20gXCIuL3R5cGVzXCI7XG5leHBvcnQgeyBVcGxvYWRlZEZpbGUgYXMgU3RyZWFtZWRGaWxlIH0gZnJvbSBcIi4vdXBsb2FkZWQtZmlsZVwiO1xuIl0sIm5hbWVzIjpbIkJhc2VGaWxlIiwiQnVmZmVyZWRGaWxlIiwiZHJpdmVycyIsIlN0b3JhZ2VNYW5hZ2VyIiwiVXBsb2FkZWRGaWxlIiwiU3RyZWFtZWRGaWxlIl0sIm1hcHBpbmdzIjoiQUFBQSx1QkFBdUI7QUFDdkIsU0FBU0EsUUFBUSxRQUFRLGlCQUFjO0FBQ3ZDLFNBQVNDLFlBQVksUUFBUSxxQkFBa0I7QUFDL0MsU0FBeUJDLE9BQU8sUUFBUSxlQUFZO0FBQ3BELFNBQVNDLGNBQWMsUUFBUSx1QkFBb0I7QUFFbkQsU0FBU0MsZ0JBQWdCQyxZQUFZLFFBQVEscUJBQWtCIn0=
7
+ //#region src/storage/index.ts
8
+ init_base_file();
9
+ init_buffered_file();
10
+ init_storage_manager();
11
+ init_uploaded_file();
12
+
13
+ //#endregion
14
+ export { BaseFile, BufferedFile, StorageManager, UploadedFile as StreamedFile, drivers };
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3JhZ2UvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU3RvcmFnZSDshJzruIzrqqjrk4ggZXhwb3J0c1xuZXhwb3J0IHsgQmFzZUZpbGUgfSBmcm9tIFwiLi9iYXNlLWZpbGVcIjtcbmV4cG9ydCB7IEJ1ZmZlcmVkRmlsZSB9IGZyb20gXCIuL2J1ZmZlcmVkLWZpbGVcIjtcbmV4cG9ydCB7IHR5cGUgRHJpdmVyS2V5LCBkcml2ZXJzIH0gZnJvbSBcIi4vZHJpdmVyc1wiO1xuZXhwb3J0IHsgU3RvcmFnZU1hbmFnZXIgfSBmcm9tIFwiLi9zdG9yYWdlLW1hbmFnZXJcIjtcbmV4cG9ydCB0eXBlIHsgS2V5R2VuZXJhdG9yLCBTdG9yYWdlQ29uZmlnIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmV4cG9ydCB7IFVwbG9hZGVkRmlsZSBhcyBTdHJlYW1lZEZpbGUgfSBmcm9tIFwiLi91cGxvYWRlZC1maWxlXCI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Z0JBQ3VDO29CQUNRO3NCQUVJO29CQUVZIn0=
@@ -1,6 +1,6 @@
1
+ import { type Readable } from "stream";
1
2
  import { S3Driver } from "flydrive/drivers/s3";
2
- import type { S3DriverOptions } from "flydrive/drivers/s3/types";
3
- import type { Readable } from "stream";
3
+ import { type S3DriverOptions } from "flydrive/drivers/s3/types";
4
4
  /**
5
5
  * Sonamu용 S3 드라이버
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"s3-driver.d.ts","sourceRoot":"","sources":["../../src/storage/s3-driver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC;;;;;;;;;GASG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,OAAO,CAAC,YAAY,CAAW;IAC/B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,iBAAiB,CAAU;gBAEvB,OAAO,EAAE,eAAe;IAUpC;;;;;OAKG;IACY,SAAS,CACtB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;QAClC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,GACA,OAAO,CAAC,IAAI,CAAC;CAwBjB"}
1
+ {"version":3,"file":"s3-driver.d.ts","sourceRoot":"","sources":["../../src/storage/s3-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAMvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;;;GASG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,OAAO,CAAC,YAAY,CAAW;IAC/B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,iBAAiB,CAAU;gBAEvB,OAAO,EAAE,eAAe;IAUpC;;;;;OAKG;IACY,SAAS,CACtB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;QAClC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,GACA,OAAO,CAAC,IAAI,CAAC;CAwBjB"}
@@ -1,53 +1,57 @@
1
1
  import { S3Client } from "@aws-sdk/client-s3";
2
2
  import { Upload } from "@aws-sdk/lib-storage";
3
3
  import { S3Driver } from "flydrive/drivers/s3";
4
+
5
+ //#region src/storage/s3-driver.ts
4
6
  /**
5
- * Sonamu용 S3 드라이버
6
- *
7
- * flydrive의 S3Driver를 확장하여 putStream에서
8
- * @aws-sdk/lib-storage의 Upload 클래스를 사용합니다.
9
- * 이를 통해 스트림 크기를 모르는 상태에서도 업로드가 가능합니다.
10
- *
11
- * 기존 S3Driver.putStream은 PutObjectCommand를 사용하여 Content-Length가 필요했지만,
12
- * Upload 클래스는 multipart upload를 통해 스트림 크기 없이도 업로드할 수 있습니다.
13
- */ export class SonamuS3Driver extends S3Driver {
14
- sonamuClient;
15
- sonamuBucket;
16
- sonamuVisibility;
17
- sonamuSupportsACL;
18
- constructor(options){
19
- super(options);
20
- // S3Client 인스턴스 저장 (Upload 클래스에서 사용)
21
- this.sonamuClient = "client" in options ? options.client : new S3Client(options);
22
- this.sonamuBucket = options.bucket;
23
- this.sonamuVisibility = options.visibility ?? "private";
24
- this.sonamuSupportsACL = options.supportsACL ?? false;
25
- }
26
- /**
27
- * 스트림을 S3에 업로드합니다.
28
- *
29
- * @aws-sdk/lib-storage의 Upload 클래스를 사용하여
30
- * multipart upload로 처리합니다.
31
- */ async putStream(key, contents, options) {
32
- const visibility = options?.visibility ?? this.sonamuVisibility;
33
- const uploadParams = {
34
- Bucket: this.sonamuBucket,
35
- Key: key,
36
- Body: contents,
37
- ContentType: options?.contentType,
38
- CacheControl: options?.cacheControl,
39
- ContentDisposition: options?.contentDisposition
40
- };
41
- // ACL 지원 시에만 설정
42
- if (this.sonamuSupportsACL) {
43
- uploadParams.ACL = visibility === "public" ? "public-read" : "private";
44
- }
45
- const upload = new Upload({
46
- client: this.sonamuClient,
47
- params: uploadParams
48
- });
49
- await upload.done();
50
- }
51
- }
7
+ * Sonamu용 S3 드라이버
8
+ *
9
+ * flydrive의 S3Driver를 확장하여 putStream에서
10
+ * @aws-sdk/lib-storage의 Upload 클래스를 사용합니다.
11
+ * 이를 통해 스트림 크기를 모르는 상태에서도 업로드가 가능합니다.
12
+ *
13
+ * 기존 S3Driver.putStream은 PutObjectCommand를 사용하여 Content-Length가 필요했지만,
14
+ * Upload 클래스는 multipart upload를 통해 스트림 크기 없이도 업로드할 수 있습니다.
15
+ */
16
+ var SonamuS3Driver = class extends S3Driver {
17
+ sonamuClient;
18
+ sonamuBucket;
19
+ sonamuVisibility;
20
+ sonamuSupportsACL;
21
+ constructor(options) {
22
+ super(options);
23
+ this.sonamuClient = "client" in options ? options.client : new S3Client(options);
24
+ this.sonamuBucket = options.bucket;
25
+ this.sonamuVisibility = options.visibility ?? "private";
26
+ this.sonamuSupportsACL = options.supportsACL ?? false;
27
+ }
28
+ /**
29
+ * 스트림을 S3에 업로드합니다.
30
+ *
31
+ * @aws-sdk/lib-storage의 Upload 클래스를 사용하여
32
+ * multipart upload로 처리합니다.
33
+ */
34
+ async putStream(key, contents, options) {
35
+ const visibility = options?.visibility ?? this.sonamuVisibility;
36
+ const uploadParams = {
37
+ Bucket: this.sonamuBucket,
38
+ Key: key,
39
+ Body: contents,
40
+ ContentType: options?.contentType,
41
+ CacheControl: options?.cacheControl,
42
+ ContentDisposition: options?.contentDisposition
43
+ };
44
+ if (this.sonamuSupportsACL) {
45
+ uploadParams.ACL = visibility === "public" ? "public-read" : "private";
46
+ }
47
+ const upload = new Upload({
48
+ client: this.sonamuClient,
49
+ params: uploadParams
50
+ });
51
+ await upload.done();
52
+ }
53
+ };
52
54
 
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL3MzLWRyaXZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIE9iamVjdENhbm5lZEFDTCwgUzNDbGllbnQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXMzXCI7XG5pbXBvcnQgeyB0eXBlIE9wdGlvbnMsIFVwbG9hZCB9IGZyb20gXCJAYXdzLXNkay9saWItc3RvcmFnZVwiO1xuaW1wb3J0IHsgUzNEcml2ZXIgfSBmcm9tIFwiZmx5ZHJpdmUvZHJpdmVycy9zM1wiO1xuaW1wb3J0IHR5cGUgeyBTM0RyaXZlck9wdGlvbnMgfSBmcm9tIFwiZmx5ZHJpdmUvZHJpdmVycy9zMy90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBSZWFkYWJsZSB9IGZyb20gXCJzdHJlYW1cIjtcblxuLyoqXG4gKiBTb25hbXXsmqkgUzMg65Oc65287J2067KEXG4gKlxuICogZmx5ZHJpdmXsnZggUzNEcml2ZXLrpbwg7ZmV7J6l7ZWY7JesIHB1dFN0cmVhbeyXkOyEnFxuICogQGF3cy1zZGsvbGliLXN0b3JhZ2XsnZggVXBsb2FkIO2BtOuemOyKpOulvCDsgqzsmqntlanri4jri6QuXG4gKiDsnbTrpbwg7Ya17ZW0IOyKpO2KuOumvCDtgazquLDrpbwg66qo66W064qUIOyDge2DnOyXkOyEnOuPhCDsl4XroZzrk5zqsIAg6rCA64ql7ZWp64uI64ukLlxuICpcbiAqIOq4sOyhtCBTM0RyaXZlci5wdXRTdHJlYW3snYAgUHV0T2JqZWN0Q29tbWFuZOulvCDsgqzsmqntlZjsl6wgQ29udGVudC1MZW5ndGjqsIAg7ZWE7JqU7ZaI7KeA66eMLFxuICogVXBsb2FkIO2BtOuemOyKpOuKlCBtdWx0aXBhcnQgdXBsb2Fk66W8IO2Gte2VtCDsiqTtirjrprwg7YGs6riwIOyXhuydtOuPhCDsl4XroZzrk5ztlaAg7IiYIOyeiOyKteuLiOuLpC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNvbmFtdVMzRHJpdmVyIGV4dGVuZHMgUzNEcml2ZXIge1xuICBwcml2YXRlIHNvbmFtdUNsaWVudDogUzNDbGllbnQ7XG4gIHByaXZhdGUgc29uYW11QnVja2V0OiBzdHJpbmc7XG4gIHByaXZhdGUgc29uYW11VmlzaWJpbGl0eTogXCJwdWJsaWNcIiB8IFwicHJpdmF0ZVwiO1xuICBwcml2YXRlIHNvbmFtdVN1cHBvcnRzQUNMOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFMzRHJpdmVyT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuXG4gICAgLy8gUzNDbGllbnQg7J247Iqk7YS07IqkIOyggOyepSAoVXBsb2FkIO2BtOuemOyKpOyXkOyEnCDsgqzsmqkpXG4gICAgdGhpcy5zb25hbXVDbGllbnQgPSBcImNsaWVudFwiIGluIG9wdGlvbnMgPyBvcHRpb25zLmNsaWVudCA6IG5ldyBTM0NsaWVudChvcHRpb25zKTtcbiAgICB0aGlzLnNvbmFtdUJ1Y2tldCA9IG9wdGlvbnMuYnVja2V0O1xuICAgIHRoaXMuc29uYW11VmlzaWJpbGl0eSA9IG9wdGlvbnMudmlzaWJpbGl0eSA/PyBcInByaXZhdGVcIjtcbiAgICB0aGlzLnNvbmFtdVN1cHBvcnRzQUNMID0gb3B0aW9ucy5zdXBwb3J0c0FDTCA/PyBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiDsiqTtirjrprzsnYQgUzPsl5Ag7JeF66Gc65Oc7ZWp64uI64ukLlxuICAgKlxuICAgKiBAYXdzLXNkay9saWItc3RvcmFnZeydmCBVcGxvYWQg7YG0656Y7Iqk66W8IOyCrOyaqe2VmOyXrFxuICAgKiBtdWx0aXBhcnQgdXBsb2Fk66GcIOyymOumrO2VqeuLiOuLpC5cbiAgICovXG4gIG92ZXJyaWRlIGFzeW5jIHB1dFN0cmVhbShcbiAgICBrZXk6IHN0cmluZyxcbiAgICBjb250ZW50czogUmVhZGFibGUsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGNvbnRlbnRUeXBlPzogc3RyaW5nO1xuICAgICAgdmlzaWJpbGl0eT86IFwicHVibGljXCIgfCBcInByaXZhdGVcIjtcbiAgICAgIGNhY2hlQ29udHJvbD86IHN0cmluZztcbiAgICAgIGNvbnRlbnREaXNwb3NpdGlvbj86IHN0cmluZztcbiAgICB9LFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB2aXNpYmlsaXR5ID0gb3B0aW9ucz8udmlzaWJpbGl0eSA/PyB0aGlzLnNvbmFtdVZpc2liaWxpdHk7XG5cbiAgICBjb25zdCB1cGxvYWRQYXJhbXM6IE9wdGlvbnNbXCJwYXJhbXNcIl0gPSB7XG4gICAgICBCdWNrZXQ6IHRoaXMuc29uYW11QnVja2V0LFxuICAgICAgS2V5OiBrZXksXG4gICAgICBCb2R5OiBjb250ZW50cyxcbiAgICAgIENvbnRlbnRUeXBlOiBvcHRpb25zPy5jb250ZW50VHlwZSxcbiAgICAgIENhY2hlQ29udHJvbDogb3B0aW9ucz8uY2FjaGVDb250cm9sLFxuICAgICAgQ29udGVudERpc3Bvc2l0aW9uOiBvcHRpb25zPy5jb250ZW50RGlzcG9zaXRpb24sXG4gICAgfTtcblxuICAgIC8vIEFDTCDsp4Dsm5Ag7Iuc7JeQ66eMIOyEpOyglVxuICAgIGlmICh0aGlzLnNvbmFtdVN1cHBvcnRzQUNMKSB7XG4gICAgICB1cGxvYWRQYXJhbXMuQUNMID0gKHZpc2liaWxpdHkgPT09IFwicHVibGljXCIgPyBcInB1YmxpYy1yZWFkXCIgOiBcInByaXZhdGVcIikgYXMgT2JqZWN0Q2FubmVkQUNMO1xuICAgIH1cblxuICAgIGNvbnN0IHVwbG9hZCA9IG5ldyBVcGxvYWQoe1xuICAgICAgY2xpZW50OiB0aGlzLnNvbmFtdUNsaWVudCxcbiAgICAgIHBhcmFtczogdXBsb2FkUGFyYW1zLFxuICAgIH0pO1xuXG4gICAgYXdhaXQgdXBsb2FkLmRvbmUoKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlMzQ2xpZW50IiwiVXBsb2FkIiwiUzNEcml2ZXIiLCJTb25hbXVTM0RyaXZlciIsInNvbmFtdUNsaWVudCIsInNvbmFtdUJ1Y2tldCIsInNvbmFtdVZpc2liaWxpdHkiLCJzb25hbXVTdXBwb3J0c0FDTCIsIm9wdGlvbnMiLCJjbGllbnQiLCJidWNrZXQiLCJ2aXNpYmlsaXR5Iiwic3VwcG9ydHNBQ0wiLCJwdXRTdHJlYW0iLCJrZXkiLCJjb250ZW50cyIsInVwbG9hZFBhcmFtcyIsIkJ1Y2tldCIsIktleSIsIkJvZHkiLCJDb250ZW50VHlwZSIsImNvbnRlbnRUeXBlIiwiQ2FjaGVDb250cm9sIiwiY2FjaGVDb250cm9sIiwiQ29udGVudERpc3Bvc2l0aW9uIiwiY29udGVudERpc3Bvc2l0aW9uIiwiQUNMIiwidXBsb2FkIiwicGFyYW1zIiwiZG9uZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBK0JBLFFBQVEsUUFBUSxxQkFBcUI7QUFDcEUsU0FBdUJDLE1BQU0sUUFBUSx1QkFBdUI7QUFDNUQsU0FBU0MsUUFBUSxRQUFRLHNCQUFzQjtBQUkvQzs7Ozs7Ozs7O0NBU0MsR0FDRCxPQUFPLE1BQU1DLHVCQUF1QkQ7SUFDMUJFLGFBQXVCO0lBQ3ZCQyxhQUFxQjtJQUNyQkMsaUJBQXVDO0lBQ3ZDQyxrQkFBMkI7SUFFbkMsWUFBWUMsT0FBd0IsQ0FBRTtRQUNwQyxLQUFLLENBQUNBO1FBRU4scUNBQXFDO1FBQ3JDLElBQUksQ0FBQ0osWUFBWSxHQUFHLFlBQVlJLFVBQVVBLFFBQVFDLE1BQU0sR0FBRyxJQUFJVCxTQUFTUTtRQUN4RSxJQUFJLENBQUNILFlBQVksR0FBR0csUUFBUUUsTUFBTTtRQUNsQyxJQUFJLENBQUNKLGdCQUFnQixHQUFHRSxRQUFRRyxVQUFVLElBQUk7UUFDOUMsSUFBSSxDQUFDSixpQkFBaUIsR0FBR0MsUUFBUUksV0FBVyxJQUFJO0lBQ2xEO0lBRUE7Ozs7O0dBS0MsR0FDRCxNQUFlQyxVQUNiQyxHQUFXLEVBQ1hDLFFBQWtCLEVBQ2xCUCxPQUtDLEVBQ2M7UUFDZixNQUFNRyxhQUFhSCxTQUFTRyxjQUFjLElBQUksQ0FBQ0wsZ0JBQWdCO1FBRS9ELE1BQU1VLGVBQWtDO1lBQ3RDQyxRQUFRLElBQUksQ0FBQ1osWUFBWTtZQUN6QmEsS0FBS0o7WUFDTEssTUFBTUo7WUFDTkssYUFBYVosU0FBU2E7WUFDdEJDLGNBQWNkLFNBQVNlO1lBQ3ZCQyxvQkFBb0JoQixTQUFTaUI7UUFDL0I7UUFFQSxnQkFBZ0I7UUFDaEIsSUFBSSxJQUFJLENBQUNsQixpQkFBaUIsRUFBRTtZQUMxQlMsYUFBYVUsR0FBRyxHQUFJZixlQUFlLFdBQVcsZ0JBQWdCO1FBQ2hFO1FBRUEsTUFBTWdCLFNBQVMsSUFBSTFCLE9BQU87WUFDeEJRLFFBQVEsSUFBSSxDQUFDTCxZQUFZO1lBQ3pCd0IsUUFBUVo7UUFDVjtRQUVBLE1BQU1XLE9BQU9FLElBQUk7SUFDbkI7QUFDRiJ9
55
+ //#endregion
56
+ export { SonamuS3Driver };
57
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtZHJpdmVyLmpzIiwibmFtZXMiOlsidXBsb2FkUGFyYW1zOiBPcHRpb25zW1wicGFyYW1zXCJdIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3JhZ2UvczMtZHJpdmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgUmVhZGFibGUgfSBmcm9tIFwic3RyZWFtXCI7XG5cbmltcG9ydCB7IFMzQ2xpZW50IH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zM1wiO1xuaW1wb3J0IHsgdHlwZSBPYmplY3RDYW5uZWRBQ0wgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXMzXCI7XG5pbXBvcnQgeyBVcGxvYWQgfSBmcm9tIFwiQGF3cy1zZGsvbGliLXN0b3JhZ2VcIjtcbmltcG9ydCB7IHR5cGUgT3B0aW9ucyB9IGZyb20gXCJAYXdzLXNkay9saWItc3RvcmFnZVwiO1xuaW1wb3J0IHsgUzNEcml2ZXIgfSBmcm9tIFwiZmx5ZHJpdmUvZHJpdmVycy9zM1wiO1xuaW1wb3J0IHsgdHlwZSBTM0RyaXZlck9wdGlvbnMgfSBmcm9tIFwiZmx5ZHJpdmUvZHJpdmVycy9zMy90eXBlc1wiO1xuXG4vKipcbiAqIFNvbmFtdeyaqSBTMyDrk5zrnbzsnbTrsoRcbiAqXG4gKiBmbHlkcml2ZeydmCBTM0RyaXZlcuulvCDtmZXsnqXtlZjsl6wgcHV0U3RyZWFt7JeQ7IScXG4gKiBAYXdzLXNkay9saWItc3RvcmFnZeydmCBVcGxvYWQg7YG0656Y7Iqk66W8IOyCrOyaqe2VqeuLiOuLpC5cbiAqIOydtOulvCDthrXtlbQg7Iqk7Yq466a8IO2BrOq4sOulvCDrqqjrpbTripQg7IOB7YOc7JeQ7ISc64+EIOyXheuhnOuTnOqwgCDqsIDriqXtlanri4jri6QuXG4gKlxuICog6riw7KG0IFMzRHJpdmVyLnB1dFN0cmVhbeydgCBQdXRPYmplY3RDb21tYW5k66W8IOyCrOyaqe2VmOyXrCBDb250ZW50LUxlbmd0aOqwgCDtlYTsmpTtlojsp4Drp4wsXG4gKiBVcGxvYWQg7YG0656Y7Iqk64qUIG11bHRpcGFydCB1cGxvYWTrpbwg7Ya17ZW0IOyKpO2KuOumvCDtgazquLAg7JeG7J2064+EIOyXheuhnOuTnO2VoCDsiJgg7J6I7Iq164uI64ukLlxuICovXG5leHBvcnQgY2xhc3MgU29uYW11UzNEcml2ZXIgZXh0ZW5kcyBTM0RyaXZlciB7XG4gIHByaXZhdGUgc29uYW11Q2xpZW50OiBTM0NsaWVudDtcbiAgcHJpdmF0ZSBzb25hbXVCdWNrZXQ6IHN0cmluZztcbiAgcHJpdmF0ZSBzb25hbXVWaXNpYmlsaXR5OiBcInB1YmxpY1wiIHwgXCJwcml2YXRlXCI7XG4gIHByaXZhdGUgc29uYW11U3VwcG9ydHNBQ0w6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogUzNEcml2ZXJPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICAvLyBTM0NsaWVudCDsnbjsiqTthLTsiqQg7KCA7J6lIChVcGxvYWQg7YG0656Y7Iqk7JeQ7IScIOyCrOyaqSlcbiAgICB0aGlzLnNvbmFtdUNsaWVudCA9IFwiY2xpZW50XCIgaW4gb3B0aW9ucyA/IG9wdGlvbnMuY2xpZW50IDogbmV3IFMzQ2xpZW50KG9wdGlvbnMpO1xuICAgIHRoaXMuc29uYW11QnVja2V0ID0gb3B0aW9ucy5idWNrZXQ7XG4gICAgdGhpcy5zb25hbXVWaXNpYmlsaXR5ID0gb3B0aW9ucy52aXNpYmlsaXR5ID8/IFwicHJpdmF0ZVwiO1xuICAgIHRoaXMuc29uYW11U3VwcG9ydHNBQ0wgPSBvcHRpb25zLnN1cHBvcnRzQUNMID8/IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIOyKpO2KuOumvOydhCBTM+yXkCDsl4XroZzrk5ztlanri4jri6QuXG4gICAqXG4gICAqIEBhd3Mtc2RrL2xpYi1zdG9yYWdl7J2YIFVwbG9hZCDtgbTrnpjsiqTrpbwg7IKs7Jqp7ZWY7JesXG4gICAqIG11bHRpcGFydCB1cGxvYWTroZwg7LKY66as7ZWp64uI64ukLlxuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgcHV0U3RyZWFtKFxuICAgIGtleTogc3RyaW5nLFxuICAgIGNvbnRlbnRzOiBSZWFkYWJsZSxcbiAgICBvcHRpb25zPzoge1xuICAgICAgY29udGVudFR5cGU/OiBzdHJpbmc7XG4gICAgICB2aXNpYmlsaXR5PzogXCJwdWJsaWNcIiB8IFwicHJpdmF0ZVwiO1xuICAgICAgY2FjaGVDb250cm9sPzogc3RyaW5nO1xuICAgICAgY29udGVudERpc3Bvc2l0aW9uPzogc3RyaW5nO1xuICAgIH0sXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHZpc2liaWxpdHkgPSBvcHRpb25zPy52aXNpYmlsaXR5ID8/IHRoaXMuc29uYW11VmlzaWJpbGl0eTtcblxuICAgIGNvbnN0IHVwbG9hZFBhcmFtczogT3B0aW9uc1tcInBhcmFtc1wiXSA9IHtcbiAgICAgIEJ1Y2tldDogdGhpcy5zb25hbXVCdWNrZXQsXG4gICAgICBLZXk6IGtleSxcbiAgICAgIEJvZHk6IGNvbnRlbnRzLFxuICAgICAgQ29udGVudFR5cGU6IG9wdGlvbnM/LmNvbnRlbnRUeXBlLFxuICAgICAgQ2FjaGVDb250cm9sOiBvcHRpb25zPy5jYWNoZUNvbnRyb2wsXG4gICAgICBDb250ZW50RGlzcG9zaXRpb246IG9wdGlvbnM/LmNvbnRlbnREaXNwb3NpdGlvbixcbiAgICB9O1xuXG4gICAgLy8gQUNMIOyngOybkCDsi5zsl5Drp4wg7ISk7KCVXG4gICAgaWYgKHRoaXMuc29uYW11U3VwcG9ydHNBQ0wpIHtcbiAgICAgIHVwbG9hZFBhcmFtcy5BQ0wgPSAodmlzaWJpbGl0eSA9PT0gXCJwdWJsaWNcIiA/IFwicHVibGljLXJlYWRcIiA6IFwicHJpdmF0ZVwiKSBhcyBPYmplY3RDYW5uZWRBQ0w7XG4gICAgfVxuXG4gICAgY29uc3QgdXBsb2FkID0gbmV3IFVwbG9hZCh7XG4gICAgICBjbGllbnQ6IHRoaXMuc29uYW11Q2xpZW50LFxuICAgICAgcGFyYW1zOiB1cGxvYWRQYXJhbXMsXG4gICAgfSk7XG5cbiAgICBhd2FpdCB1cGxvYWQuZG9uZSgpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQW1CQSxJQUFhLGlCQUFiLGNBQW9DLFNBQVM7Q0FDM0MsQUFBUTtDQUNSLEFBQVE7Q0FDUixBQUFRO0NBQ1IsQUFBUTtDQUVSLFlBQVksU0FBMEI7QUFDcEMsUUFBTSxRQUFRO0FBR2QsT0FBSyxlQUFlLFlBQVksVUFBVSxRQUFRLFNBQVMsSUFBSSxTQUFTLFFBQVE7QUFDaEYsT0FBSyxlQUFlLFFBQVE7QUFDNUIsT0FBSyxtQkFBbUIsUUFBUSxjQUFjO0FBQzlDLE9BQUssb0JBQW9CLFFBQVEsZUFBZTs7Ozs7Ozs7Q0FTbEQsTUFBZSxVQUNiLEtBQ0EsVUFDQSxTQU1lO0VBQ2YsTUFBTSxhQUFhLFNBQVMsY0FBYyxLQUFLO0VBRS9DLE1BQU1BLGVBQWtDO0dBQ3RDLFFBQVEsS0FBSztHQUNiLEtBQUs7R0FDTCxNQUFNO0dBQ04sYUFBYSxTQUFTO0dBQ3RCLGNBQWMsU0FBUztHQUN2QixvQkFBb0IsU0FBUztHQUM5QjtBQUdELE1BQUksS0FBSyxtQkFBbUI7QUFDMUIsZ0JBQWEsTUFBTyxlQUFlLFdBQVcsZ0JBQWdCOztFQUdoRSxNQUFNLFNBQVMsSUFBSSxPQUFPO0dBQ3hCLFFBQVEsS0FBSztHQUNiLFFBQVE7R0FDVCxDQUFDO0FBRUYsUUFBTSxPQUFPLE1BQU0ifQ==
@@ -1,6 +1,6 @@
1
1
  import { Disk } from "flydrive";
2
- import type { DriverKey } from "./drivers";
3
- import type { StorageConfig } from "./types";
2
+ import { type DriverKey } from "./drivers";
3
+ import { type StorageConfig } from "./types";
4
4
  /**
5
5
  * 여러 디스크를 관리하는 매니저
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"storage-manager.d.ts","sourceRoot":"","sources":["../../src/storage/storage-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;GAEG;AACH,qBAAa,cAAc;IAGb,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,KAAK,CAAmC;gBAE5B,MAAM,EAAE,aAAa;IAEzC;;;OAGG;IACH,GAAG,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;CAY/B"}
1
+ {"version":3,"file":"storage-manager.d.ts","sourceRoot":"","sources":["../../src/storage/storage-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAGhC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;GAEG;AACH,qBAAa,cAAc;IAGb,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,KAAK,CAAmC;gBAE5B,MAAM,EAAE,aAAa;IAEzC;;;OAGG;IACH,GAAG,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;CAY/B"}
@@ -1,27 +1,35 @@
1
+ import { __esmMin } from "../_virtual/rolldown_runtime.js";
2
+ import { assertDefined, init_utils } from "../utils/utils.js";
1
3
  import { Disk } from "flydrive";
2
- import { assertDefined } from "../utils/utils.js";
3
- /**
4
- * 여러 디스크를 관리하는 매니저
5
- */ export class StorageManager {
6
- config;
7
- disks = new Map();
8
- constructor(config){
9
- this.config = config;
10
- }
11
- /**
12
- * 디스크 인스턴스 반환 (lazy initialization)
13
- * @param diskName 디스크 이름 (없으면 default)
14
- */ use(diskName) {
15
- if (!this.disks.has(diskName)) {
16
- const factory = this.config.drivers[diskName];
17
- if (!factory) {
18
- const available = Object.keys(this.config.drivers).join(", ");
19
- throw new Error(`Unknown disk: "${diskName}". Available: ${available}`);
20
- }
21
- this.disks.set(diskName, new Disk(factory()));
22
- }
23
- return assertDefined(this.disks.get(diskName), `Disk ${diskName} not found`);
24
- }
25
- }
26
4
 
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL3N0b3JhZ2UtbWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXNrIH0gZnJvbSBcImZseWRyaXZlXCI7XG5pbXBvcnQgeyBhc3NlcnREZWZpbmVkIH0gZnJvbSBcIi4uL3V0aWxzL3V0aWxzXCI7XG5pbXBvcnQgdHlwZSB7IERyaXZlcktleSB9IGZyb20gXCIuL2RyaXZlcnNcIjtcbmltcG9ydCB0eXBlIHsgU3RvcmFnZUNvbmZpZyB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKlxuICog7Jes65+sIOuUlOyKpO2BrOulvCDqtIDrpqztlZjripQg66ek64uI7KCAXG4gKi9cbmV4cG9ydCBjbGFzcyBTdG9yYWdlTWFuYWdlciB7XG4gIHByaXZhdGUgZGlza3M6IE1hcDxEcml2ZXJLZXksIERpc2s+ID0gbmV3IE1hcCgpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBTdG9yYWdlQ29uZmlnKSB7fVxuXG4gIC8qKlxuICAgKiDrlJTsiqTtgawg7J247Iqk7YS07IqkIOuwmO2ZmCAobGF6eSBpbml0aWFsaXphdGlvbilcbiAgICogQHBhcmFtIGRpc2tOYW1lIOuUlOyKpO2BrCDsnbTrpoQgKOyXhuycvOuptCBkZWZhdWx0KVxuICAgKi9cbiAgdXNlKGRpc2tOYW1lOiBEcml2ZXJLZXkpOiBEaXNrIHtcbiAgICBpZiAoIXRoaXMuZGlza3MuaGFzKGRpc2tOYW1lKSkge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuY29uZmlnLmRyaXZlcnNbZGlza05hbWVdO1xuICAgICAgaWYgKCFmYWN0b3J5KSB7XG4gICAgICAgIGNvbnN0IGF2YWlsYWJsZSA9IE9iamVjdC5rZXlzKHRoaXMuY29uZmlnLmRyaXZlcnMpLmpvaW4oXCIsIFwiKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGRpc2s6IFwiJHtkaXNrTmFtZX1cIi4gQXZhaWxhYmxlOiAke2F2YWlsYWJsZX1gKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZGlza3Muc2V0KGRpc2tOYW1lLCBuZXcgRGlzayhmYWN0b3J5KCkpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXNzZXJ0RGVmaW5lZCh0aGlzLmRpc2tzLmdldChkaXNrTmFtZSksIGBEaXNrICR7ZGlza05hbWV9IG5vdCBmb3VuZGApO1xuICB9XG59XG4iXSwibmFtZXMiOlsiRGlzayIsImFzc2VydERlZmluZWQiLCJTdG9yYWdlTWFuYWdlciIsImRpc2tzIiwiTWFwIiwiY29uZmlnIiwidXNlIiwiZGlza05hbWUiLCJoYXMiLCJmYWN0b3J5IiwiZHJpdmVycyIsImF2YWlsYWJsZSIsIk9iamVjdCIsImtleXMiLCJqb2luIiwiRXJyb3IiLCJzZXQiLCJnZXQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLElBQUksUUFBUSxXQUFXO0FBQ2hDLFNBQVNDLGFBQWEsUUFBUSxvQkFBaUI7QUFJL0M7O0NBRUMsR0FDRCxPQUFPLE1BQU1DOztJQUNIQyxRQUE4QixJQUFJQyxNQUFNO0lBRWhELFlBQVksQUFBUUMsTUFBcUIsQ0FBRTthQUF2QkEsU0FBQUE7SUFBd0I7SUFFNUM7OztHQUdDLEdBQ0RDLElBQUlDLFFBQW1CLEVBQVE7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQ0osS0FBSyxDQUFDSyxHQUFHLENBQUNELFdBQVc7WUFDN0IsTUFBTUUsVUFBVSxJQUFJLENBQUNKLE1BQU0sQ0FBQ0ssT0FBTyxDQUFDSCxTQUFTO1lBQzdDLElBQUksQ0FBQ0UsU0FBUztnQkFDWixNQUFNRSxZQUFZQyxPQUFPQyxJQUFJLENBQUMsSUFBSSxDQUFDUixNQUFNLENBQUNLLE9BQU8sRUFBRUksSUFBSSxDQUFDO2dCQUN4RCxNQUFNLElBQUlDLE1BQU0sQ0FBQyxlQUFlLEVBQUVSLFNBQVMsY0FBYyxFQUFFSSxXQUFXO1lBQ3hFO1lBQ0EsSUFBSSxDQUFDUixLQUFLLENBQUNhLEdBQUcsQ0FBQ1QsVUFBVSxJQUFJUCxLQUFLUztRQUNwQztRQUVBLE9BQU9SLGNBQWMsSUFBSSxDQUFDRSxLQUFLLENBQUNjLEdBQUcsQ0FBQ1YsV0FBVyxDQUFDLEtBQUssRUFBRUEsU0FBUyxVQUFVLENBQUM7SUFDN0U7QUFDRiJ9
5
+ //#region src/storage/storage-manager.ts
6
+ var StorageManager;
7
+ var init_storage_manager = __esmMin((() => {
8
+ init_utils();
9
+ StorageManager = class {
10
+ disks = new Map();
11
+ constructor(config) {
12
+ this.config = config;
13
+ }
14
+ /**
15
+ * 디스크 인스턴스 반환 (lazy initialization)
16
+ * @param diskName 디스크 이름 (없으면 default)
17
+ */
18
+ use(diskName) {
19
+ if (!this.disks.has(diskName)) {
20
+ const factory = this.config.drivers[diskName];
21
+ if (!factory) {
22
+ const available = Object.keys(this.config.drivers).join(", ");
23
+ throw new Error(`Unknown disk: "${diskName}". Available: ${available}`);
24
+ }
25
+ this.disks.set(diskName, new Disk(factory()));
26
+ }
27
+ return assertDefined(this.disks.get(diskName), `Disk ${diskName} not found`);
28
+ }
29
+ };
30
+ }));
31
+
32
+ //#endregion
33
+ init_storage_manager();
34
+ export { StorageManager, init_storage_manager };
35
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS1tYW5hZ2VyLmpzIiwibmFtZXMiOlsiY29uZmlnOiBTdG9yYWdlQ29uZmlnIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3JhZ2Uvc3RvcmFnZS1tYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpc2sgfSBmcm9tIFwiZmx5ZHJpdmVcIjtcblxuaW1wb3J0IHsgYXNzZXJ0RGVmaW5lZCB9IGZyb20gXCIuLi91dGlscy91dGlsc1wiO1xuaW1wb3J0IHsgdHlwZSBEcml2ZXJLZXkgfSBmcm9tIFwiLi9kcml2ZXJzXCI7XG5pbXBvcnQgeyB0eXBlIFN0b3JhZ2VDb25maWcgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIOyXrOufrCDrlJTsiqTtgazrpbwg6rSA66as7ZWY64qUIOunpOuLiOyggFxuICovXG5leHBvcnQgY2xhc3MgU3RvcmFnZU1hbmFnZXIge1xuICBwcml2YXRlIGRpc2tzOiBNYXA8RHJpdmVyS2V5LCBEaXNrPiA9IG5ldyBNYXAoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogU3RvcmFnZUNvbmZpZykge31cblxuICAvKipcbiAgICog65SU7Iqk7YGsIOyduOyKpO2EtOyKpCDrsJjtmZggKGxhenkgaW5pdGlhbGl6YXRpb24pXG4gICAqIEBwYXJhbSBkaXNrTmFtZSDrlJTsiqTtgawg7J2066aEICjsl4bsnLzrqbQgZGVmYXVsdClcbiAgICovXG4gIHVzZShkaXNrTmFtZTogRHJpdmVyS2V5KTogRGlzayB7XG4gICAgaWYgKCF0aGlzLmRpc2tzLmhhcyhkaXNrTmFtZSkpIHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNvbmZpZy5kcml2ZXJzW2Rpc2tOYW1lXTtcbiAgICAgIGlmICghZmFjdG9yeSkge1xuICAgICAgICBjb25zdCBhdmFpbGFibGUgPSBPYmplY3Qua2V5cyh0aGlzLmNvbmZpZy5kcml2ZXJzKS5qb2luKFwiLCBcIik7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBkaXNrOiBcIiR7ZGlza05hbWV9XCIuIEF2YWlsYWJsZTogJHthdmFpbGFibGV9YCk7XG4gICAgICB9XG4gICAgICB0aGlzLmRpc2tzLnNldChkaXNrTmFtZSwgbmV3IERpc2soZmFjdG9yeSgpKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFzc2VydERlZmluZWQodGhpcy5kaXNrcy5nZXQoZGlza05hbWUpLCBgRGlzayAke2Rpc2tOYW1lfSBub3QgZm91bmRgKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O2FBRStDO0NBT2xDLGlCQUFiLE1BQTRCO0VBQzFCLEFBQVEsUUFBOEIsSUFBSSxLQUFLO0VBRS9DLFlBQVksQUFBUUEsUUFBdUI7R0FBdkI7Ozs7OztFQU1wQixJQUFJLFVBQTJCO0FBQzdCLE9BQUksQ0FBQyxLQUFLLE1BQU0sSUFBSSxTQUFTLEVBQUU7SUFDN0IsTUFBTSxVQUFVLEtBQUssT0FBTyxRQUFRO0FBQ3BDLFFBQUksQ0FBQyxTQUFTO0tBQ1osTUFBTSxZQUFZLE9BQU8sS0FBSyxLQUFLLE9BQU8sUUFBUSxDQUFDLEtBQUssS0FBSztBQUM3RCxXQUFNLElBQUksTUFBTSxrQkFBa0IsU0FBUyxnQkFBZ0IsWUFBWTs7QUFFekUsU0FBSyxNQUFNLElBQUksVUFBVSxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUM7O0FBRy9DLFVBQU8sY0FBYyxLQUFLLE1BQU0sSUFBSSxTQUFTLEVBQUUsUUFBUSxTQUFTLFlBQVkifQ==
@@ -1,5 +1,5 @@
1
- import type { DriverContract } from "flydrive/types";
2
- import type { DriverKey } from "./drivers";
1
+ import { type DriverContract } from "flydrive/types";
2
+ import { type DriverKey } from "./drivers";
3
3
  /**
4
4
  * Stream 모드에서 파일 키 생성 함수 타입
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,cAAc,CAAC,CAAC;IACjD,wDAAwD;IACxD,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,cAAc,CAAC,CAAC;IACjD,wDAAwD;IACxD,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC"}
@@ -1,5 +1 @@
1
- /**
2
- * Storage 설정 타입
3
- */ export { };
4
-
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRHJpdmVyQ29udHJhY3QgfSBmcm9tIFwiZmx5ZHJpdmUvdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgRHJpdmVyS2V5IH0gZnJvbSBcIi4vZHJpdmVyc1wiO1xuXG4vKipcbiAqIFN0cmVhbSDrqqjrk5zsl5DshJwg7YyM7J28IO2CpCDsg53shLEg7ZWo7IiYIO2DgOyehVxuICovXG5leHBvcnQgdHlwZSBLZXlHZW5lcmF0b3IgPSAoZmlsZToge1xuICBmaWxlbmFtZTogc3RyaW5nO1xuICBtaW1ldHlwZTogc3RyaW5nO1xufSkgPT4gc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+O1xuXG4vKipcbiAqIFN0b3JhZ2Ug7ISk7KCVIO2DgOyehVxuICovXG5leHBvcnQgdHlwZSBTdG9yYWdlQ29uZmlnID0ge1xuICAvKiog65SU7Iqk7YGs67OEIOuTnOudvOydtOuyhCDtjKnthqDrpqwgKi9cbiAgZHJpdmVyczogUmVjb3JkPERyaXZlcktleSwgKCkgPT4gRHJpdmVyQ29udHJhY3Q+O1xuICAvKiogc3RyZWFtIOuqqOuTnOydmCDsoITsl60g7YKkIOyDneyEsSDtlajsiJggKOyDneuetSDsi5wgdGltZXN0YW1wLXJhbmRvbSDquLDrs7jqsJIpICovXG4gIGtleUdlbmVyYXRvcj86IEtleUdlbmVyYXRvcjtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0E7O0NBRUMsR0FDRCxXQUtFIn0=
1
+ export { };
@@ -1,5 +1,5 @@
1
1
  import { BaseFile } from "./base-file";
2
- import type { DriverKey } from "./drivers";
2
+ import { type DriverKey } from "./drivers";
3
3
  /**
4
4
  * Stream 모드로 업로드된 파일
5
5
  * 이미 저장소에 스트리밍 완료된 상태로, url/key 등 메타데이터만 접근 가능합니다.
@@ -1 +1 @@
1
- {"version":3,"file":"uploaded-file.d.ts","sourceRoot":"","sources":["../../src/storage/uploaded-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;;GAGG;AACH,qBAAa,YAAa,SAAQ,QAAQ;IACxC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,SAAS,CAAY;gBAEjB,MAAM,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,SAAS,CAAC;KACrB;IAYD,cAAc;IACd,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,iBAAiB;IACjB,IAAI,QAAQ,IAAI,SAAS,CAExB;IAED;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;CAOlC"}
1
+ {"version":3,"file":"uploaded-file.d.ts","sourceRoot":"","sources":["../../src/storage/uploaded-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;;GAGG;AACH,qBAAa,YAAa,SAAQ,QAAQ;IACxC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,SAAS,CAAY;gBAEjB,MAAM,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,SAAS,CAAC;KACrB;IAYD,cAAc;IACd,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,iBAAiB;IACjB,IAAI,QAAQ,IAAI,SAAS,CAExB;IAED;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;CAOlC"}
@@ -1,36 +1,46 @@
1
- import { BaseFile } from "./base-file.js";
2
- /**
3
- * Stream 모드로 업로드된 파일
4
- * 이미 저장소에 스트리밍 완료된 상태로, url/key 등 메타데이터만 접근 가능합니다.
5
- */ export class UploadedFile extends BaseFile {
6
- _key;
7
- _diskName;
8
- constructor(params){
9
- super({
10
- filename: params.filename,
11
- mimetype: params.mimetype,
12
- size: params.size,
13
- url: params.url,
14
- signedUrl: params.signedUrl
15
- });
16
- this._key = params.key;
17
- this._diskName = params.diskName;
18
- }
19
- /** 저장소 내 키 */ get key() {
20
- return this._key;
21
- }
22
- /** 저장된 디스크 이름 */ get diskName() {
23
- return this._diskName;
24
- }
25
- /**
26
- * 저장소에서 파일을 다운로드합니다.
27
- * 스트림 모드로 업로드된 파일을 나중에 처리해야 할 때 사용합니다.
28
- */ async download() {
29
- const { Sonamu } = await import("../api/sonamu.js");
30
- const disk = Sonamu.storage.use(this._diskName);
31
- const uint8Array = await disk.get(this._key);
32
- return Buffer.from(uint8Array);
33
- }
34
- }
1
+ import { __esmMin } from "../_virtual/rolldown_runtime.js";
2
+ import { BaseFile, init_base_file } from "./base-file.js";
35
3
 
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL3VwbG9hZGVkLWZpbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUZpbGUgfSBmcm9tIFwiLi9iYXNlLWZpbGVcIjtcbmltcG9ydCB0eXBlIHsgRHJpdmVyS2V5IH0gZnJvbSBcIi4vZHJpdmVyc1wiO1xuXG4vKipcbiAqIFN0cmVhbSDrqqjrk5zroZwg7JeF66Gc65Oc65CcIO2MjOydvFxuICog7J2066+4IOyggOyepeyGjOyXkCDsiqTtirjrpqzrsI0g7JmE66OM65CcIOyDge2DnOuhnCwgdXJsL2tleSDrk7Eg66mU7YOA642w7J207YSw66eMIOygkeq3vCDqsIDriqXtlanri4jri6QuXG4gKi9cbmV4cG9ydCBjbGFzcyBVcGxvYWRlZEZpbGUgZXh0ZW5kcyBCYXNlRmlsZSB7XG4gIHByaXZhdGUgX2tleTogc3RyaW5nO1xuICBwcml2YXRlIF9kaXNrTmFtZTogRHJpdmVyS2V5O1xuXG4gIGNvbnN0cnVjdG9yKHBhcmFtczoge1xuICAgIGZpbGVuYW1lOiBzdHJpbmc7XG4gICAgbWltZXR5cGU6IHN0cmluZztcbiAgICBzaXplOiBudW1iZXI7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgc2lnbmVkVXJsOiBzdHJpbmc7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgZGlza05hbWU6IERyaXZlcktleTtcbiAgfSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGZpbGVuYW1lOiBwYXJhbXMuZmlsZW5hbWUsXG4gICAgICBtaW1ldHlwZTogcGFyYW1zLm1pbWV0eXBlLFxuICAgICAgc2l6ZTogcGFyYW1zLnNpemUsXG4gICAgICB1cmw6IHBhcmFtcy51cmwsXG4gICAgICBzaWduZWRVcmw6IHBhcmFtcy5zaWduZWRVcmwsXG4gICAgfSk7XG4gICAgdGhpcy5fa2V5ID0gcGFyYW1zLmtleTtcbiAgICB0aGlzLl9kaXNrTmFtZSA9IHBhcmFtcy5kaXNrTmFtZTtcbiAgfVxuXG4gIC8qKiDsoIDsnqXshowg64K0IO2CpCAqL1xuICBnZXQga2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2tleTtcbiAgfVxuXG4gIC8qKiDsoIDsnqXrkJwg65SU7Iqk7YGsIOydtOumhCAqL1xuICBnZXQgZGlza05hbWUoKTogRHJpdmVyS2V5IHtcbiAgICByZXR1cm4gdGhpcy5fZGlza05hbWU7XG4gIH1cblxuICAvKipcbiAgICog7KCA7J6l7IaM7JeQ7IScIO2MjOydvOydhCDri6TsmrTroZzrk5ztlanri4jri6QuXG4gICAqIOyKpO2KuOumvCDrqqjrk5zroZwg7JeF66Gc65Oc65CcIO2MjOydvOydhCDrgpjspJHsl5Ag7LKY66as7ZW07JW8IO2VoCDrlYwg7IKs7Jqp7ZWp64uI64ukLlxuICAgKi9cbiAgYXN5bmMgZG93bmxvYWQoKTogUHJvbWlzZTxCdWZmZXI+IHtcbiAgICBjb25zdCB7IFNvbmFtdSB9ID0gYXdhaXQgaW1wb3J0KFwiLi4vYXBpL3NvbmFtdVwiKTtcbiAgICBjb25zdCBkaXNrID0gU29uYW11LnN0b3JhZ2UudXNlKHRoaXMuX2Rpc2tOYW1lKTtcblxuICAgIGNvbnN0IHVpbnQ4QXJyYXkgPSBhd2FpdCBkaXNrLmdldCh0aGlzLl9rZXkpO1xuICAgIHJldHVybiBCdWZmZXIuZnJvbSh1aW50OEFycmF5KTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkJhc2VGaWxlIiwiVXBsb2FkZWRGaWxlIiwiX2tleSIsIl9kaXNrTmFtZSIsInBhcmFtcyIsImZpbGVuYW1lIiwibWltZXR5cGUiLCJzaXplIiwidXJsIiwic2lnbmVkVXJsIiwia2V5IiwiZGlza05hbWUiLCJkb3dubG9hZCIsIlNvbmFtdSIsImRpc2siLCJzdG9yYWdlIiwidXNlIiwidWludDhBcnJheSIsImdldCIsIkJ1ZmZlciIsImZyb20iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFFBQVEsUUFBUSxpQkFBYztBQUd2Qzs7O0NBR0MsR0FDRCxPQUFPLE1BQU1DLHFCQUFxQkQ7SUFDeEJFLEtBQWE7SUFDYkMsVUFBcUI7SUFFN0IsWUFBWUMsTUFRWCxDQUFFO1FBQ0QsS0FBSyxDQUFDO1lBQ0pDLFVBQVVELE9BQU9DLFFBQVE7WUFDekJDLFVBQVVGLE9BQU9FLFFBQVE7WUFDekJDLE1BQU1ILE9BQU9HLElBQUk7WUFDakJDLEtBQUtKLE9BQU9JLEdBQUc7WUFDZkMsV0FBV0wsT0FBT0ssU0FBUztRQUM3QjtRQUNBLElBQUksQ0FBQ1AsSUFBSSxHQUFHRSxPQUFPTSxHQUFHO1FBQ3RCLElBQUksQ0FBQ1AsU0FBUyxHQUFHQyxPQUFPTyxRQUFRO0lBQ2xDO0lBRUEsWUFBWSxHQUNaLElBQUlELE1BQWM7UUFDaEIsT0FBTyxJQUFJLENBQUNSLElBQUk7SUFDbEI7SUFFQSxlQUFlLEdBQ2YsSUFBSVMsV0FBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUNSLFNBQVM7SUFDdkI7SUFFQTs7O0dBR0MsR0FDRCxNQUFNUyxXQUE0QjtRQUNoQyxNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDO1FBQ2hDLE1BQU1DLE9BQU9ELE9BQU9FLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLElBQUksQ0FBQ2IsU0FBUztRQUU5QyxNQUFNYyxhQUFhLE1BQU1ILEtBQUtJLEdBQUcsQ0FBQyxJQUFJLENBQUNoQixJQUFJO1FBQzNDLE9BQU9pQixPQUFPQyxJQUFJLENBQUNIO0lBQ3JCO0FBQ0YifQ==
4
+ //#region src/storage/uploaded-file.ts
5
+ var UploadedFile;
6
+ var init_uploaded_file = __esmMin((() => {
7
+ init_base_file();
8
+ UploadedFile = class extends BaseFile {
9
+ _key;
10
+ _diskName;
11
+ constructor(params) {
12
+ super({
13
+ filename: params.filename,
14
+ mimetype: params.mimetype,
15
+ size: params.size,
16
+ url: params.url,
17
+ signedUrl: params.signedUrl
18
+ });
19
+ this._key = params.key;
20
+ this._diskName = params.diskName;
21
+ }
22
+ /** 저장소 내 키 */
23
+ get key() {
24
+ return this._key;
25
+ }
26
+ /** 저장된 디스크 이름 */
27
+ get diskName() {
28
+ return this._diskName;
29
+ }
30
+ /**
31
+ * 저장소에서 파일을 다운로드합니다.
32
+ * 스트림 모드로 업로드된 파일을 나중에 처리해야 할 때 사용합니다.
33
+ */
34
+ async download() {
35
+ const { Sonamu } = await import("../api/sonamu.js");
36
+ const disk = Sonamu.storage.use(this._diskName);
37
+ const uint8Array = await disk.get(this._key);
38
+ return Buffer.from(uint8Array);
39
+ }
40
+ };
41
+ }));
42
+
43
+ //#endregion
44
+ init_uploaded_file();
45
+ export { UploadedFile, init_uploaded_file };
46
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZWQtZmlsZS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS91cGxvYWRlZC1maWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VGaWxlIH0gZnJvbSBcIi4vYmFzZS1maWxlXCI7XG5pbXBvcnQgeyB0eXBlIERyaXZlcktleSB9IGZyb20gXCIuL2RyaXZlcnNcIjtcblxuLyoqXG4gKiBTdHJlYW0g66qo65Oc66GcIOyXheuhnOuTnOuQnCDtjIzsnbxcbiAqIOydtOuvuCDsoIDsnqXshozsl5Ag7Iqk7Yq466as67CNIOyZhOujjOuQnCDsg4Htg5zroZwsIHVybC9rZXkg65OxIOuplO2DgOuNsOydtO2EsOunjCDsoJHqt7wg6rCA64ql7ZWp64uI64ukLlxuICovXG5leHBvcnQgY2xhc3MgVXBsb2FkZWRGaWxlIGV4dGVuZHMgQmFzZUZpbGUge1xuICBwcml2YXRlIF9rZXk6IHN0cmluZztcbiAgcHJpdmF0ZSBfZGlza05hbWU6IERyaXZlcktleTtcblxuICBjb25zdHJ1Y3RvcihwYXJhbXM6IHtcbiAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgIG1pbWV0eXBlOiBzdHJpbmc7XG4gICAgc2l6ZTogbnVtYmVyO1xuICAgIHVybDogc3RyaW5nO1xuICAgIHNpZ25lZFVybDogc3RyaW5nO1xuICAgIGtleTogc3RyaW5nO1xuICAgIGRpc2tOYW1lOiBEcml2ZXJLZXk7XG4gIH0pIHtcbiAgICBzdXBlcih7XG4gICAgICBmaWxlbmFtZTogcGFyYW1zLmZpbGVuYW1lLFxuICAgICAgbWltZXR5cGU6IHBhcmFtcy5taW1ldHlwZSxcbiAgICAgIHNpemU6IHBhcmFtcy5zaXplLFxuICAgICAgdXJsOiBwYXJhbXMudXJsLFxuICAgICAgc2lnbmVkVXJsOiBwYXJhbXMuc2lnbmVkVXJsLFxuICAgIH0pO1xuICAgIHRoaXMuX2tleSA9IHBhcmFtcy5rZXk7XG4gICAgdGhpcy5fZGlza05hbWUgPSBwYXJhbXMuZGlza05hbWU7XG4gIH1cblxuICAvKiog7KCA7J6l7IaMIOuCtCDtgqQgKi9cbiAgZ2V0IGtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9rZXk7XG4gIH1cblxuICAvKiog7KCA7J6l65CcIOuUlOyKpO2BrCDsnbTrpoQgKi9cbiAgZ2V0IGRpc2tOYW1lKCk6IERyaXZlcktleSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2tOYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIOyggOyepeyGjOyXkOyEnCDtjIzsnbzsnYQg64uk7Jq066Gc65Oc7ZWp64uI64ukLlxuICAgKiDsiqTtirjrprwg66qo65Oc66GcIOyXheuhnOuTnOuQnCDtjIzsnbzsnYQg64KY7KSR7JeQIOyymOumrO2VtOyVvCDtlaAg65WMIOyCrOyaqe2VqeuLiOuLpC5cbiAgICovXG4gIGFzeW5jIGRvd25sb2FkKCk6IFByb21pc2U8QnVmZmVyPiB7XG4gICAgY29uc3QgeyBTb25hbXUgfSA9IGF3YWl0IGltcG9ydChcIi4uL2FwaS9zb25hbXVcIik7XG4gICAgY29uc3QgZGlzayA9IFNvbmFtdS5zdG9yYWdlLnVzZSh0aGlzLl9kaXNrTmFtZSk7XG5cbiAgICBjb25zdCB1aW50OEFycmF5ID0gYXdhaXQgZGlzay5nZXQodGhpcy5fa2V5KTtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20odWludDhBcnJheSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O2lCQUF1QztDQU8xQixlQUFiLGNBQWtDLFNBQVM7RUFDekMsQUFBUTtFQUNSLEFBQVE7RUFFUixZQUFZLFFBUVQ7QUFDRCxTQUFNO0lBQ0osVUFBVSxPQUFPO0lBQ2pCLFVBQVUsT0FBTztJQUNqQixNQUFNLE9BQU87SUFDYixLQUFLLE9BQU87SUFDWixXQUFXLE9BQU87SUFDbkIsQ0FBQztBQUNGLFFBQUssT0FBTyxPQUFPO0FBQ25CLFFBQUssWUFBWSxPQUFPOzs7RUFJMUIsSUFBSSxNQUFjO0FBQ2hCLFVBQU8sS0FBSzs7O0VBSWQsSUFBSSxXQUFzQjtBQUN4QixVQUFPLEtBQUs7Ozs7OztFQU9kLE1BQU0sV0FBNEI7R0FDaEMsTUFBTSxFQUFFLFdBQVcsTUFBTSxPQUFPO0dBQ2hDLE1BQU0sT0FBTyxPQUFPLFFBQVEsSUFBSSxLQUFLLFVBQVU7R0FFL0MsTUFBTSxhQUFhLE1BQU0sS0FBSyxJQUFJLEtBQUssS0FBSztBQUM1QyxVQUFPLE9BQU8sS0FBSyxXQUFXIn0=
@@ -1,3 +1,8 @@
1
- export * from "./sse.js";
1
+ import { createMockSSEFactory, createSSEFactory, init_sse } from "./sse.js";
2
2
 
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJlYW0vaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vc3NlXCI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFRIn0=
3
+ //#region src/stream/index.ts
4
+ init_sse();
5
+
6
+ //#endregion
7
+ export { createMockSSEFactory, createSSEFactory };
8
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmVhbS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9zc2VcIjtcbiJdLCJtYXBwaW5ncyI6IiJ9
@@ -1,5 +1,5 @@
1
- import type { FastifyReply, FastifyRequest } from "fastify";
2
- import type { z } from "zod";
1
+ import { type FastifyReply, type FastifyRequest } from "fastify";
2
+ import { type z } from "zod";
3
3
  export declare function createSSEFactory<T extends z.ZodObject>(socket: FastifyRequest["socket"], reply: FastifyReply, _events: T): SSEConnection<T>;
4
4
  export declare function createMockSSEFactory<T extends z.ZodObject>(_events: T): SSEConnection<T>;
5
5
  export interface SSEConnection<T extends z.ZodObject> {
@@ -1 +1 @@
1
- {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../src/stream/sse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EACpD,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,EAChC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,CAAC,GACT,aAAa,CAAC,CAAC,CAAC,CAElB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CASxF;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;IAClD,IAAI,MAAM,IAAI,OAAO,CAAC;IACtB,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACzE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB"}
1
+ {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../src/stream/sse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EACpD,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,EAChC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,CAAC,GACT,aAAa,CAAC,CAAC,CAAC,CAElB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CASxF;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;IAClD,IAAI,MAAM,IAAI,OAAO,CAAC;IACtB,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACzE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB"}