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,128 +1,131 @@
1
- import { embedMany } from "ai";
2
- import { Sonamu } from "../api/sonamu.js";
1
+ import { Sonamu, init_sonamu } from "../api/sonamu.js";
3
2
  import { DEFAULT_VECTOR_CONFIG } from "./config.js";
3
+ import { embedMany } from "ai";
4
+
5
+ //#region src/vector/embedding.ts
6
+ init_sonamu();
4
7
  /**
5
- * 임베딩 클라이언트
6
- * Voyage AI와 OpenAI 임베딩을 SDK 방식으로 통합 지원
7
- */ class EmbeddingClass {
8
- config;
9
- constructor(config = {}){
10
- this.config = {
11
- voyage: {
12
- ...DEFAULT_VECTOR_CONFIG.voyage,
13
- ...config.voyage
14
- },
15
- openai: {
16
- ...DEFAULT_VECTOR_CONFIG.openai,
17
- ...config.openai
18
- },
19
- chunking: {
20
- ...DEFAULT_VECTOR_CONFIG.chunking,
21
- ...config.chunking
22
- },
23
- search: {
24
- ...DEFAULT_VECTOR_CONFIG.search,
25
- ...config.search
26
- },
27
- pgvector: {
28
- ...DEFAULT_VECTOR_CONFIG.pgvector,
29
- ...config.pgvector
30
- }
31
- };
32
- }
33
- /**
34
- * Voyage AI 클라이언트 초기화
35
- */ async getVoyageClient() {
36
- const { VoyageAIClient } = await import("voyageai");
37
- const apiKey = Sonamu.secrets?.voyage_api_key ?? process.env.VOYAGE_API_KEY;
38
- if (!apiKey) {
39
- throw new Error("VOYAGE_API_KEY가 설정되지 않았습니다. 환경변수를 확인하세요.");
40
- }
41
- return new VoyageAIClient({
42
- apiKey
43
- });
44
- }
45
- /**
46
- * OpenAI provider 생성
47
- */ async getOpenAIProvider() {
48
- const { createOpenAI } = await import("@ai-sdk/openai");
49
- const apiKey = Sonamu.secrets?.openai_api_key ?? process.env.OPENAI_API_KEY;
50
- if (!apiKey) {
51
- throw new Error("OPENAI_API_KEY가 설정되지 않았습니다. 환경변수를 확인하세요.");
52
- }
53
- return createOpenAI({
54
- apiKey
55
- });
56
- }
57
- /**
58
- * 텍스트 임베딩 생성
59
- * @param texts - 임베딩할 텍스트 배열 (batchSize이상 시 자동 분할)
60
- * @param provider - 'voyage' | 'openai'
61
- * @param inputType - 'document' | 'query' (Voyage AI만 해당)
62
- * @param onProgress - 진행률 콜백
63
- */ async embed(texts, provider, inputType = "document", onProgress) {
64
- const maxBatchSize = provider === "voyage" ? this.config.voyage.batchSize : this.config.openai.batchSize;
65
- // batchSize이하면 바로 호출
66
- if (texts.length <= maxBatchSize) {
67
- return provider === "voyage" ? await this.embedVoyage(texts, inputType) : await this.embedOpenAI(texts);
68
- }
69
- // batchSize이상이면 자동으로 나눠서 처리
70
- const batches = Array.from({
71
- length: Math.ceil(texts.length / maxBatchSize)
72
- }, (_, i)=>texts.slice(i * maxBatchSize, (i + 1) * maxBatchSize));
73
- const results = await Promise.all(batches.map((batch)=>provider === "voyage" ? this.embedVoyage(batch, inputType) : this.embedOpenAI(batch)));
74
- onProgress?.(texts.length, texts.length);
75
- return results.flat();
76
- }
77
- /**
78
- * 단일 텍스트 임베딩 (편의 메서드)
79
- */ async embedOne(text, provider, inputType = "document") {
80
- const results = await this.embed([
81
- text
82
- ], provider, inputType);
83
- return results[0];
84
- }
85
- /**
86
- * Voyage AI 임베딩
87
- */ async embedVoyage(texts, inputType) {
88
- const client = await this.getVoyageClient();
89
- const voyageConfig = this.config.voyage;
90
- const response = await client.embed({
91
- input: texts,
92
- model: voyageConfig.model,
93
- inputType: inputType
94
- });
95
- if (!response.data) {
96
- throw new Error("Voyage API: 응답 데이터가 없습니다.");
97
- }
98
- return response.data.map((item)=>({
99
- embedding: item.embedding ?? [],
100
- model: voyageConfig.model,
101
- tokenCount: response.usage?.totalTokens ?? 0
102
- }));
103
- }
104
- /**
105
- * OpenAI 임베딩
106
- */ async embedOpenAI(texts) {
107
- const openai = await this.getOpenAIProvider();
108
- const openaiConfig = this.config.openai;
109
- const model = openai.embeddingModel(openaiConfig.model);
110
- const { embeddings, usage } = await embedMany({
111
- model: model,
112
- values: texts
113
- });
114
- return embeddings.map((embedding)=>({
115
- embedding,
116
- model: openaiConfig.model,
117
- tokenCount: usage?.tokens ?? 0
118
- }));
119
- }
120
- /**
121
- * 임베딩 provider 차원 반환
122
- */ getDimensions(provider) {
123
- return provider === "voyage" ? this.config.voyage.dimensions : this.config.openai.dimensions;
124
- }
125
- }
126
- export const Embedding = new EmbeddingClass();
8
+ * 임베딩 클라이언트
9
+ * Voyage AI와 OpenAI 임베딩을 SDK 방식으로 통합 지원
10
+ */
11
+ var EmbeddingClass = class {
12
+ config;
13
+ constructor(config = {}) {
14
+ this.config = {
15
+ voyage: {
16
+ ...DEFAULT_VECTOR_CONFIG.voyage,
17
+ ...config.voyage
18
+ },
19
+ openai: {
20
+ ...DEFAULT_VECTOR_CONFIG.openai,
21
+ ...config.openai
22
+ },
23
+ chunking: {
24
+ ...DEFAULT_VECTOR_CONFIG.chunking,
25
+ ...config.chunking
26
+ },
27
+ search: {
28
+ ...DEFAULT_VECTOR_CONFIG.search,
29
+ ...config.search
30
+ },
31
+ pgvector: {
32
+ ...DEFAULT_VECTOR_CONFIG.pgvector,
33
+ ...config.pgvector
34
+ }
35
+ };
36
+ }
37
+ /**
38
+ * Voyage AI 클라이언트 초기화
39
+ */
40
+ async getVoyageClient() {
41
+ const { VoyageAIClient } = await import("voyageai");
42
+ const apiKey = Sonamu.secrets?.voyage_api_key ?? process.env.VOYAGE_API_KEY;
43
+ if (!apiKey) {
44
+ throw new Error("VOYAGE_API_KEY가 설정되지 않았습니다. 환경변수를 확인하세요.");
45
+ }
46
+ return new VoyageAIClient({ apiKey });
47
+ }
48
+ /**
49
+ * OpenAI provider 생성
50
+ */
51
+ async getOpenAIProvider() {
52
+ const { createOpenAI } = await import("@ai-sdk/openai");
53
+ const apiKey = Sonamu.secrets?.openai_api_key ?? process.env.OPENAI_API_KEY;
54
+ if (!apiKey) {
55
+ throw new Error("OPENAI_API_KEY가 설정되지 않았습니다. 환경변수를 확인하세요.");
56
+ }
57
+ return createOpenAI({ apiKey });
58
+ }
59
+ /**
60
+ * 텍스트 임베딩 생성
61
+ * @param texts - 임베딩할 텍스트 배열 (batchSize이상 시 자동 분할)
62
+ * @param provider - 'voyage' | 'openai'
63
+ * @param inputType - 'document' | 'query' (Voyage AI만 해당)
64
+ * @param onProgress - 진행률 콜백
65
+ */
66
+ async embed(texts, provider, inputType = "document", onProgress) {
67
+ const maxBatchSize = provider === "voyage" ? this.config.voyage.batchSize : this.config.openai.batchSize;
68
+ if (texts.length <= maxBatchSize) {
69
+ return provider === "voyage" ? await this.embedVoyage(texts, inputType) : await this.embedOpenAI(texts);
70
+ }
71
+ const batches = Array.from({ length: Math.ceil(texts.length / maxBatchSize) }, (_, i) => texts.slice(i * maxBatchSize, (i + 1) * maxBatchSize));
72
+ const results = await Promise.all(batches.map((batch) => provider === "voyage" ? this.embedVoyage(batch, inputType) : this.embedOpenAI(batch)));
73
+ onProgress?.(texts.length, texts.length);
74
+ return results.flat();
75
+ }
76
+ /**
77
+ * 단일 텍스트 임베딩 (편의 메서드)
78
+ */
79
+ async embedOne(text, provider, inputType = "document") {
80
+ const results = await this.embed([text], provider, inputType);
81
+ return results[0];
82
+ }
83
+ /**
84
+ * Voyage AI 임베딩
85
+ */
86
+ async embedVoyage(texts, inputType) {
87
+ const client = await this.getVoyageClient();
88
+ const voyageConfig = this.config.voyage;
89
+ const response = await client.embed({
90
+ input: texts,
91
+ model: voyageConfig.model,
92
+ inputType
93
+ });
94
+ if (!response.data) {
95
+ throw new Error("Voyage API: 응답 데이터가 없습니다.");
96
+ }
97
+ return response.data.map((item) => ({
98
+ embedding: item.embedding ?? [],
99
+ model: voyageConfig.model,
100
+ tokenCount: response.usage?.totalTokens ?? 0
101
+ }));
102
+ }
103
+ /**
104
+ * OpenAI 임베딩
105
+ */
106
+ async embedOpenAI(texts) {
107
+ const openai = await this.getOpenAIProvider();
108
+ const openaiConfig = this.config.openai;
109
+ const model = openai.embeddingModel(openaiConfig.model);
110
+ const { embeddings, usage } = await embedMany({
111
+ model,
112
+ values: texts
113
+ });
114
+ return embeddings.map((embedding) => ({
115
+ embedding,
116
+ model: openaiConfig.model,
117
+ tokenCount: usage?.tokens ?? 0
118
+ }));
119
+ }
120
+ /**
121
+ * 임베딩 provider의 차원 수 반환
122
+ */
123
+ getDimensions(provider) {
124
+ return provider === "voyage" ? this.config.voyage.dimensions : this.config.openai.dimensions;
125
+ }
126
+ };
127
+ const Embedding = new EmbeddingClass();
127
128
 
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZWN0b3IvZW1iZWRkaW5nLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgT3BlbkFJUHJvdmlkZXIgfSBmcm9tIFwiQGFpLXNkay9vcGVuYWlcIjtcbmltcG9ydCB7IHR5cGUgRW1iZWRkaW5nTW9kZWwsIGVtYmVkTWFueSB9IGZyb20gXCJhaVwiO1xuaW1wb3J0IHR5cGUgeyBWb3lhZ2VBSUNsaWVudCB9IGZyb20gXCJ2b3lhZ2VhaVwiO1xuaW1wb3J0IHsgU29uYW11IH0gZnJvbSBcIi4uL2FwaS9zb25hbXVcIjtcbmltcG9ydCB7IERFRkFVTFRfVkVDVE9SX0NPTkZJRyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuaW1wb3J0IHR5cGUge1xuICBFbWJlZGRpbmdQcm92aWRlcixcbiAgRW1iZWRkaW5nUmVzdWx0LFxuICBQcm9ncmVzc0NhbGxiYWNrLFxuICBWZWN0b3JDb25maWcsXG4gIFZlY3RvcklucHV0VHlwZSxcbn0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqXG4gKiDsnoTrsqDrlKkg7YG065287J207Ja47Yq4XG4gKiBWb3lhZ2UgQUnsmYAgT3BlbkFJIOyehOuyoOuUqeydhCBTREsg67Cp7Iud7Jy866GcIO2Gte2VqSDsp4Dsm5BcbiAqL1xuY2xhc3MgRW1iZWRkaW5nQ2xhc3Mge1xuICBwcml2YXRlIGNvbmZpZzogVmVjdG9yQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogUGFydGlhbDxWZWN0b3JDb25maWc+ID0ge30pIHtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIHZveWFnZTogeyAuLi5ERUZBVUxUX1ZFQ1RPUl9DT05GSUcudm95YWdlLCAuLi5jb25maWcudm95YWdlIH0sXG4gICAgICBvcGVuYWk6IHsgLi4uREVGQVVMVF9WRUNUT1JfQ09ORklHLm9wZW5haSwgLi4uY29uZmlnLm9wZW5haSB9LFxuICAgICAgY2h1bmtpbmc6IHsgLi4uREVGQVVMVF9WRUNUT1JfQ09ORklHLmNodW5raW5nLCAuLi5jb25maWcuY2h1bmtpbmcgfSxcbiAgICAgIHNlYXJjaDogeyAuLi5ERUZBVUxUX1ZFQ1RPUl9DT05GSUcuc2VhcmNoLCAuLi5jb25maWcuc2VhcmNoIH0sXG4gICAgICBwZ3ZlY3RvcjogeyAuLi5ERUZBVUxUX1ZFQ1RPUl9DT05GSUcucGd2ZWN0b3IsIC4uLmNvbmZpZy5wZ3ZlY3RvciB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVm95YWdlIEFJIO2BtOudvOydtOyWuO2KuCDstIjquLDtmZRcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZ2V0Vm95YWdlQ2xpZW50KCk6IFByb21pc2U8Vm95YWdlQUlDbGllbnQ+IHtcbiAgICBjb25zdCB7IFZveWFnZUFJQ2xpZW50IH0gPSBhd2FpdCBpbXBvcnQoXCJ2b3lhZ2VhaVwiKTtcbiAgICBjb25zdCBhcGlLZXkgPSBTb25hbXUuc2VjcmV0cz8udm95YWdlX2FwaV9rZXkgPz8gcHJvY2Vzcy5lbnYuVk9ZQUdFX0FQSV9LRVk7XG4gICAgaWYgKCFhcGlLZXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlZPWUFHRV9BUElfS0VZ6rCAIOyEpOygleuQmOyngCDslYrslZjsirXri4jri6QuIO2ZmOqyveuzgOyImOulvCDtmZXsnbjtlZjshLjsmpQuXCIpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFZveWFnZUFJQ2xpZW50KHsgYXBpS2V5IH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5BSSBwcm92aWRlciDsg53shLFcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZ2V0T3BlbkFJUHJvdmlkZXIoKTogUHJvbWlzZTxPcGVuQUlQcm92aWRlcj4ge1xuICAgIGNvbnN0IHsgY3JlYXRlT3BlbkFJIH0gPSBhd2FpdCBpbXBvcnQoXCJAYWktc2RrL29wZW5haVwiKTtcbiAgICBjb25zdCBhcGlLZXkgPSBTb25hbXUuc2VjcmV0cz8ub3BlbmFpX2FwaV9rZXkgPz8gcHJvY2Vzcy5lbnYuT1BFTkFJX0FQSV9LRVk7XG4gICAgaWYgKCFhcGlLZXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk9QRU5BSV9BUElfS0VZ6rCAIOyEpOygleuQmOyngCDslYrslZjsirXri4jri6QuIO2ZmOqyveuzgOyImOulvCDtmZXsnbjtlZjshLjsmpQuXCIpO1xuICAgIH1cbiAgICByZXR1cm4gY3JlYXRlT3BlbkFJKHsgYXBpS2V5IH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIO2FjeyKpO2KuCDsnoTrsqDrlKkg7IOd7ISxXG4gICAqIEBwYXJhbSB0ZXh0cyAtIOyehOuyoOuUqe2VoCDthY3siqTtirgg67Cw7Je0IChiYXRjaFNpemXsnbTsg4Eg7IucIOyekOuPmSDrtoTtlaApXG4gICAqIEBwYXJhbSBwcm92aWRlciAtICd2b3lhZ2UnIHwgJ29wZW5haSdcbiAgICogQHBhcmFtIGlucHV0VHlwZSAtICdkb2N1bWVudCcgfCAncXVlcnknIChWb3lhZ2UgQUnrp4wg7ZW064u5KVxuICAgKiBAcGFyYW0gb25Qcm9ncmVzcyAtIOynhO2WieuloCDsvZzrsLFcbiAgICovXG4gIGFzeW5jIGVtYmVkKFxuICAgIHRleHRzOiBzdHJpbmdbXSxcbiAgICBwcm92aWRlcjogRW1iZWRkaW5nUHJvdmlkZXIsXG4gICAgaW5wdXRUeXBlOiBWZWN0b3JJbnB1dFR5cGUgPSBcImRvY3VtZW50XCIsXG4gICAgb25Qcm9ncmVzcz86IFByb2dyZXNzQ2FsbGJhY2ssXG4gICk6IFByb21pc2U8RW1iZWRkaW5nUmVzdWx0W10+IHtcbiAgICBjb25zdCBtYXhCYXRjaFNpemUgPVxuICAgICAgcHJvdmlkZXIgPT09IFwidm95YWdlXCIgPyB0aGlzLmNvbmZpZy52b3lhZ2UuYmF0Y2hTaXplIDogdGhpcy5jb25maWcub3BlbmFpLmJhdGNoU2l6ZTtcblxuICAgIC8vIGJhdGNoU2l6ZeydtO2VmOuptCDrsJTroZwg7Zi47LacXG4gICAgaWYgKHRleHRzLmxlbmd0aCA8PSBtYXhCYXRjaFNpemUpIHtcbiAgICAgIHJldHVybiBwcm92aWRlciA9PT0gXCJ2b3lhZ2VcIlxuICAgICAgICA/IGF3YWl0IHRoaXMuZW1iZWRWb3lhZ2UodGV4dHMsIGlucHV0VHlwZSlcbiAgICAgICAgOiBhd2FpdCB0aGlzLmVtYmVkT3BlbkFJKHRleHRzKTtcbiAgICB9XG5cbiAgICAvLyBiYXRjaFNpemXsnbTsg4HsnbTrqbQg7J6Q64+Z7Jy866GcIOuCmOuIoOyEnCDsspjrpqxcbiAgICBjb25zdCBiYXRjaGVzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogTWF0aC5jZWlsKHRleHRzLmxlbmd0aCAvIG1heEJhdGNoU2l6ZSkgfSwgKF8sIGkpID0+XG4gICAgICB0ZXh0cy5zbGljZShpICogbWF4QmF0Y2hTaXplLCAoaSArIDEpICogbWF4QmF0Y2hTaXplKSxcbiAgICApO1xuXG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgYmF0Y2hlcy5tYXAoKGJhdGNoKSA9PlxuICAgICAgICBwcm92aWRlciA9PT0gXCJ2b3lhZ2VcIiA/IHRoaXMuZW1iZWRWb3lhZ2UoYmF0Y2gsIGlucHV0VHlwZSkgOiB0aGlzLmVtYmVkT3BlbkFJKGJhdGNoKSxcbiAgICAgICksXG4gICAgKTtcblxuICAgIG9uUHJvZ3Jlc3M/Lih0ZXh0cy5sZW5ndGgsIHRleHRzLmxlbmd0aCk7XG4gICAgcmV0dXJuIHJlc3VsdHMuZmxhdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOuLqOydvCDthY3siqTtirgg7J6E67Kg65SpICjtjrjsnZgg66mU7ISc65OcKVxuICAgKi9cbiAgYXN5bmMgZW1iZWRPbmUoXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHByb3ZpZGVyOiBFbWJlZGRpbmdQcm92aWRlcixcbiAgICBpbnB1dFR5cGU6IFZlY3RvcklucHV0VHlwZSA9IFwiZG9jdW1lbnRcIixcbiAgKTogUHJvbWlzZTxFbWJlZGRpbmdSZXN1bHQ+IHtcbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgdGhpcy5lbWJlZChbdGV4dF0sIHByb3ZpZGVyLCBpbnB1dFR5cGUpO1xuICAgIHJldHVybiByZXN1bHRzWzBdO1xuICB9XG5cbiAgLyoqXG4gICAqIFZveWFnZSBBSSDsnoTrsqDrlKlcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZW1iZWRWb3lhZ2UoXG4gICAgdGV4dHM6IHN0cmluZ1tdLFxuICAgIGlucHV0VHlwZTogVmVjdG9ySW5wdXRUeXBlLFxuICApOiBQcm9taXNlPEVtYmVkZGluZ1Jlc3VsdFtdPiB7XG4gICAgY29uc3QgY2xpZW50ID0gYXdhaXQgdGhpcy5nZXRWb3lhZ2VDbGllbnQoKTtcbiAgICBjb25zdCB2b3lhZ2VDb25maWcgPSB0aGlzLmNvbmZpZy52b3lhZ2U7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5lbWJlZCh7XG4gICAgICBpbnB1dDogdGV4dHMsXG4gICAgICBtb2RlbDogdm95YWdlQ29uZmlnLm1vZGVsLFxuICAgICAgaW5wdXRUeXBlOiBpbnB1dFR5cGUsXG4gICAgfSk7XG4gICAgaWYgKCFyZXNwb25zZS5kYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJWb3lhZ2UgQVBJOiDsnZHri7Ug642w7J207YSw6rCAIOyXhuyKteuLiOuLpC5cIik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEubWFwKChpdGVtKSA9PiAoe1xuICAgICAgZW1iZWRkaW5nOiBpdGVtLmVtYmVkZGluZyA/PyBbXSxcbiAgICAgIG1vZGVsOiB2b3lhZ2VDb25maWcubW9kZWwsXG4gICAgICB0b2tlbkNvdW50OiByZXNwb25zZS51c2FnZT8udG90YWxUb2tlbnMgPz8gMCxcbiAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogT3BlbkFJIOyehOuyoOuUqVxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBlbWJlZE9wZW5BSSh0ZXh0czogc3RyaW5nW10pOiBQcm9taXNlPEVtYmVkZGluZ1Jlc3VsdFtdPiB7XG4gICAgY29uc3Qgb3BlbmFpID0gYXdhaXQgdGhpcy5nZXRPcGVuQUlQcm92aWRlcigpO1xuICAgIGNvbnN0IG9wZW5haUNvbmZpZyA9IHRoaXMuY29uZmlnLm9wZW5haTtcbiAgICBjb25zdCBtb2RlbCA9IG9wZW5haS5lbWJlZGRpbmdNb2RlbChvcGVuYWlDb25maWcubW9kZWwpO1xuXG4gICAgY29uc3QgeyBlbWJlZGRpbmdzLCB1c2FnZSB9ID0gYXdhaXQgZW1iZWRNYW55KHtcbiAgICAgIG1vZGVsOiBtb2RlbCBhcyBFbWJlZGRpbmdNb2RlbCxcbiAgICAgIHZhbHVlczogdGV4dHMsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gZW1iZWRkaW5ncy5tYXAoKGVtYmVkZGluZykgPT4gKHtcbiAgICAgIGVtYmVkZGluZyxcbiAgICAgIG1vZGVsOiBvcGVuYWlDb25maWcubW9kZWwsXG4gICAgICB0b2tlbkNvdW50OiB1c2FnZT8udG9rZW5zID8/IDAsXG4gICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIOyehOuyoOuUqSBwcm92aWRlcuydmCDssKjsm5Ag7IiYIOuwmO2ZmFxuICAgKi9cbiAgZ2V0RGltZW5zaW9ucyhwcm92aWRlcjogRW1iZWRkaW5nUHJvdmlkZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBwcm92aWRlciA9PT0gXCJ2b3lhZ2VcIiA/IHRoaXMuY29uZmlnLnZveWFnZS5kaW1lbnNpb25zIDogdGhpcy5jb25maWcub3BlbmFpLmRpbWVuc2lvbnM7XG4gIH1cbn1cbmV4cG9ydCBjb25zdCBFbWJlZGRpbmcgPSBuZXcgRW1iZWRkaW5nQ2xhc3MoKTtcbiJdLCJuYW1lcyI6WyJlbWJlZE1hbnkiLCJTb25hbXUiLCJERUZBVUxUX1ZFQ1RPUl9DT05GSUciLCJFbWJlZGRpbmdDbGFzcyIsImNvbmZpZyIsInZveWFnZSIsIm9wZW5haSIsImNodW5raW5nIiwic2VhcmNoIiwicGd2ZWN0b3IiLCJnZXRWb3lhZ2VDbGllbnQiLCJWb3lhZ2VBSUNsaWVudCIsImFwaUtleSIsInNlY3JldHMiLCJ2b3lhZ2VfYXBpX2tleSIsInByb2Nlc3MiLCJlbnYiLCJWT1lBR0VfQVBJX0tFWSIsIkVycm9yIiwiZ2V0T3BlbkFJUHJvdmlkZXIiLCJjcmVhdGVPcGVuQUkiLCJvcGVuYWlfYXBpX2tleSIsIk9QRU5BSV9BUElfS0VZIiwiZW1iZWQiLCJ0ZXh0cyIsInByb3ZpZGVyIiwiaW5wdXRUeXBlIiwib25Qcm9ncmVzcyIsIm1heEJhdGNoU2l6ZSIsImJhdGNoU2l6ZSIsImxlbmd0aCIsImVtYmVkVm95YWdlIiwiZW1iZWRPcGVuQUkiLCJiYXRjaGVzIiwiQXJyYXkiLCJmcm9tIiwiTWF0aCIsImNlaWwiLCJfIiwiaSIsInNsaWNlIiwicmVzdWx0cyIsIlByb21pc2UiLCJhbGwiLCJtYXAiLCJiYXRjaCIsImZsYXQiLCJlbWJlZE9uZSIsInRleHQiLCJjbGllbnQiLCJ2b3lhZ2VDb25maWciLCJyZXNwb25zZSIsImlucHV0IiwibW9kZWwiLCJkYXRhIiwiaXRlbSIsImVtYmVkZGluZyIsInRva2VuQ291bnQiLCJ1c2FnZSIsInRvdGFsVG9rZW5zIiwib3BlbmFpQ29uZmlnIiwiZW1iZWRkaW5nTW9kZWwiLCJlbWJlZGRpbmdzIiwidmFsdWVzIiwidG9rZW5zIiwiZ2V0RGltZW5zaW9ucyIsImRpbWVuc2lvbnMiLCJFbWJlZGRpbmciXSwibWFwcGluZ3MiOiJBQUNBLFNBQThCQSxTQUFTLFFBQVEsS0FBSztBQUVwRCxTQUFTQyxNQUFNLFFBQVEsbUJBQWdCO0FBQ3ZDLFNBQVNDLHFCQUFxQixRQUFRLGNBQVc7QUFTakQ7OztDQUdDLEdBQ0QsTUFBTUM7SUFDSUMsT0FBcUI7SUFFN0IsWUFBWUEsU0FBZ0MsQ0FBQyxDQUFDLENBQUU7UUFDOUMsSUFBSSxDQUFDQSxNQUFNLEdBQUc7WUFDWkMsUUFBUTtnQkFBRSxHQUFHSCxzQkFBc0JHLE1BQU07Z0JBQUUsR0FBR0QsT0FBT0MsTUFBTTtZQUFDO1lBQzVEQyxRQUFRO2dCQUFFLEdBQUdKLHNCQUFzQkksTUFBTTtnQkFBRSxHQUFHRixPQUFPRSxNQUFNO1lBQUM7WUFDNURDLFVBQVU7Z0JBQUUsR0FBR0wsc0JBQXNCSyxRQUFRO2dCQUFFLEdBQUdILE9BQU9HLFFBQVE7WUFBQztZQUNsRUMsUUFBUTtnQkFB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
129
+ //#endregion
130
+ export { Embedding };
131
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iZWRkaW5nLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZWN0b3IvZW1iZWRkaW5nLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgT3BlbkFJUHJvdmlkZXIgfSBmcm9tIFwiQGFpLXNkay9vcGVuYWlcIjtcbmltcG9ydCB7IGVtYmVkTWFueSB9IGZyb20gXCJhaVwiO1xuaW1wb3J0IHsgdHlwZSBFbWJlZGRpbmdNb2RlbCB9IGZyb20gXCJhaVwiO1xuaW1wb3J0IHsgdHlwZSBWb3lhZ2VBSUNsaWVudCB9IGZyb20gXCJ2b3lhZ2VhaVwiO1xuXG5pbXBvcnQgeyBTb25hbXUgfSBmcm9tIFwiLi4vYXBpL3NvbmFtdVwiO1xuaW1wb3J0IHsgREVGQVVMVF9WRUNUT1JfQ09ORklHIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5pbXBvcnQge1xuICB0eXBlIEVtYmVkZGluZ1Byb3ZpZGVyLFxuICB0eXBlIEVtYmVkZGluZ1Jlc3VsdCxcbiAgdHlwZSBQcm9ncmVzc0NhbGxiYWNrLFxuICB0eXBlIFZlY3RvckNvbmZpZyxcbiAgdHlwZSBWZWN0b3JJbnB1dFR5cGUsXG59IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKlxuICog7J6E67Kg65SpIO2BtOudvOydtOyWuO2KuFxuICogVm95YWdlIEFJ7JmAIE9wZW5BSSDsnoTrsqDrlKnsnYQgU0RLIOuwqeyLneycvOuhnCDthrXtlakg7KeA7JuQXG4gKi9cbmNsYXNzIEVtYmVkZGluZ0NsYXNzIHtcbiAgcHJpdmF0ZSBjb25maWc6IFZlY3RvckNvbmZpZztcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IFBhcnRpYWw8VmVjdG9yQ29uZmlnPiA9IHt9KSB7XG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICB2b3lhZ2U6IHsgLi4uREVGQVVMVF9WRUNUT1JfQ09ORklHLnZveWFnZSwgLi4uY29uZmlnLnZveWFnZSB9LFxuICAgICAgb3BlbmFpOiB7IC4uLkRFRkFVTFRfVkVDVE9SX0NPTkZJRy5vcGVuYWksIC4uLmNvbmZpZy5vcGVuYWkgfSxcbiAgICAgIGNodW5raW5nOiB7IC4uLkRFRkFVTFRfVkVDVE9SX0NPTkZJRy5jaHVua2luZywgLi4uY29uZmlnLmNodW5raW5nIH0sXG4gICAgICBzZWFyY2g6IHsgLi4uREVGQVVMVF9WRUNUT1JfQ09ORklHLnNlYXJjaCwgLi4uY29uZmlnLnNlYXJjaCB9LFxuICAgICAgcGd2ZWN0b3I6IHsgLi4uREVGQVVMVF9WRUNUT1JfQ09ORklHLnBndmVjdG9yLCAuLi5jb25maWcucGd2ZWN0b3IgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFZveWFnZSBBSSDtgbTrnbzsnbTslrjtirgg7LSI6riw7ZmUXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGdldFZveWFnZUNsaWVudCgpOiBQcm9taXNlPFZveWFnZUFJQ2xpZW50PiB7XG4gICAgY29uc3QgeyBWb3lhZ2VBSUNsaWVudCB9ID0gYXdhaXQgaW1wb3J0KFwidm95YWdlYWlcIik7XG4gICAgY29uc3QgYXBpS2V5ID0gU29uYW11LnNlY3JldHM/LnZveWFnZV9hcGlfa2V5ID8/IHByb2Nlc3MuZW52LlZPWUFHRV9BUElfS0VZO1xuICAgIGlmICghYXBpS2V5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJWT1lBR0VfQVBJX0tFWeqwgCDshKTsoJXrkJjsp4Ag7JWK7JWY7Iq164uI64ukLiDtmZjqsr3rs4DsiJjrpbwg7ZmV7J247ZWY7IS47JqULlwiKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBWb3lhZ2VBSUNsaWVudCh7IGFwaUtleSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVuQUkgcHJvdmlkZXIg7IOd7ISxXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGdldE9wZW5BSVByb3ZpZGVyKCk6IFByb21pc2U8T3BlbkFJUHJvdmlkZXI+IHtcbiAgICBjb25zdCB7IGNyZWF0ZU9wZW5BSSB9ID0gYXdhaXQgaW1wb3J0KFwiQGFpLXNkay9vcGVuYWlcIik7XG4gICAgY29uc3QgYXBpS2V5ID0gU29uYW11LnNlY3JldHM/Lm9wZW5haV9hcGlfa2V5ID8/IHByb2Nlc3MuZW52Lk9QRU5BSV9BUElfS0VZO1xuICAgIGlmICghYXBpS2V5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJPUEVOQUlfQVBJX0tFWeqwgCDshKTsoJXrkJjsp4Ag7JWK7JWY7Iq164uI64ukLiDtmZjqsr3rs4DsiJjrpbwg7ZmV7J247ZWY7IS47JqULlwiKTtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0ZU9wZW5BSSh7IGFwaUtleSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiDthY3siqTtirgg7J6E67Kg65SpIOyDneyEsVxuICAgKiBAcGFyYW0gdGV4dHMgLSDsnoTrsqDrlKntlaAg7YWN7Iqk7Yq4IOuwsOyXtCAoYmF0Y2hTaXpl7J207IOBIOyLnCDsnpDrj5kg67aE7ZWgKVxuICAgKiBAcGFyYW0gcHJvdmlkZXIgLSAndm95YWdlJyB8ICdvcGVuYWknXG4gICAqIEBwYXJhbSBpbnB1dFR5cGUgLSAnZG9jdW1lbnQnIHwgJ3F1ZXJ5JyAoVm95YWdlIEFJ66eMIO2VtOuLuSlcbiAgICogQHBhcmFtIG9uUHJvZ3Jlc3MgLSDsp4TtlonrpaAg7L2c67CxXG4gICAqL1xuICBhc3luYyBlbWJlZChcbiAgICB0ZXh0czogc3RyaW5nW10sXG4gICAgcHJvdmlkZXI6IEVtYmVkZGluZ1Byb3ZpZGVyLFxuICAgIGlucHV0VHlwZTogVmVjdG9ySW5wdXRUeXBlID0gXCJkb2N1bWVudFwiLFxuICAgIG9uUHJvZ3Jlc3M/OiBQcm9ncmVzc0NhbGxiYWNrLFxuICApOiBQcm9taXNlPEVtYmVkZGluZ1Jlc3VsdFtdPiB7XG4gICAgY29uc3QgbWF4QmF0Y2hTaXplID1cbiAgICAgIHByb3ZpZGVyID09PSBcInZveWFnZVwiID8gdGhpcy5jb25maWcudm95YWdlLmJhdGNoU2l6ZSA6IHRoaXMuY29uZmlnLm9wZW5haS5iYXRjaFNpemU7XG5cbiAgICAvLyBiYXRjaFNpemXsnbTtlZjrqbQg67CU66GcIO2YuOy2nFxuICAgIGlmICh0ZXh0cy5sZW5ndGggPD0gbWF4QmF0Y2hTaXplKSB7XG4gICAgICByZXR1cm4gcHJvdmlkZXIgPT09IFwidm95YWdlXCJcbiAgICAgICAgPyBhd2FpdCB0aGlzLmVtYmVkVm95YWdlKHRleHRzLCBpbnB1dFR5cGUpXG4gICAgICAgIDogYXdhaXQgdGhpcy5lbWJlZE9wZW5BSSh0ZXh0cyk7XG4gICAgfVxuXG4gICAgLy8gYmF0Y2hTaXpl7J207IOB7J2066m0IOyekOuPmeycvOuhnCDrgpjriKDshJwg7LKY66asXG4gICAgY29uc3QgYmF0Y2hlcyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IE1hdGguY2VpbCh0ZXh0cy5sZW5ndGggLyBtYXhCYXRjaFNpemUpIH0sIChfLCBpKSA9PlxuICAgICAgdGV4dHMuc2xpY2UoaSAqIG1heEJhdGNoU2l6ZSwgKGkgKyAxKSAqIG1heEJhdGNoU2l6ZSksXG4gICAgKTtcblxuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIGJhdGNoZXMubWFwKChiYXRjaCkgPT5cbiAgICAgICAgcHJvdmlkZXIgPT09IFwidm95YWdlXCIgPyB0aGlzLmVtYmVkVm95YWdlKGJhdGNoLCBpbnB1dFR5cGUpIDogdGhpcy5lbWJlZE9wZW5BSShiYXRjaCksXG4gICAgICApLFxuICAgICk7XG5cbiAgICBvblByb2dyZXNzPy4odGV4dHMubGVuZ3RoLCB0ZXh0cy5sZW5ndGgpO1xuICAgIHJldHVybiByZXN1bHRzLmZsYXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDri6jsnbwg7YWN7Iqk7Yq4IOyehOuyoOuUqSAo7Y647J2YIOuplOyEnOuTnClcbiAgICovXG4gIGFzeW5jIGVtYmVkT25lKFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICBwcm92aWRlcjogRW1iZWRkaW5nUHJvdmlkZXIsXG4gICAgaW5wdXRUeXBlOiBWZWN0b3JJbnB1dFR5cGUgPSBcImRvY3VtZW50XCIsXG4gICk6IFByb21pc2U8RW1iZWRkaW5nUmVzdWx0PiB7XG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHRoaXMuZW1iZWQoW3RleHRdLCBwcm92aWRlciwgaW5wdXRUeXBlKTtcbiAgICByZXR1cm4gcmVzdWx0c1swXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWb3lhZ2UgQUkg7J6E67Kg65SpXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGVtYmVkVm95YWdlKFxuICAgIHRleHRzOiBzdHJpbmdbXSxcbiAgICBpbnB1dFR5cGU6IFZlY3RvcklucHV0VHlwZSxcbiAgKTogUHJvbWlzZTxFbWJlZGRpbmdSZXN1bHRbXT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IGF3YWl0IHRoaXMuZ2V0Vm95YWdlQ2xpZW50KCk7XG4gICAgY29uc3Qgdm95YWdlQ29uZmlnID0gdGhpcy5jb25maWcudm95YWdlO1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZW1iZWQoe1xuICAgICAgaW5wdXQ6IHRleHRzLFxuICAgICAgbW9kZWw6IHZveWFnZUNvbmZpZy5tb2RlbCxcbiAgICAgIGlucHV0VHlwZTogaW5wdXRUeXBlLFxuICAgIH0pO1xuICAgIGlmICghcmVzcG9uc2UuZGF0YSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVm95YWdlIEFQSTog7J2R64u1IOuNsOydtO2EsOqwgCDsl4bsirXri4jri6QuXCIpO1xuICAgIH1cblxuICAgIHJldHVybiByZXNwb25zZS5kYXRhLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgIGVtYmVkZGluZzogaXRlbS5lbWJlZGRpbmcgPz8gW10sXG4gICAgICBtb2RlbDogdm95YWdlQ29uZmlnLm1vZGVsLFxuICAgICAgdG9rZW5Db3VudDogcmVzcG9uc2UudXNhZ2U/LnRvdGFsVG9rZW5zID8/IDAsXG4gICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5BSSDsnoTrsqDrlKlcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZW1iZWRPcGVuQUkodGV4dHM6IHN0cmluZ1tdKTogUHJvbWlzZTxFbWJlZGRpbmdSZXN1bHRbXT4ge1xuICAgIGNvbnN0IG9wZW5haSA9IGF3YWl0IHRoaXMuZ2V0T3BlbkFJUHJvdmlkZXIoKTtcbiAgICBjb25zdCBvcGVuYWlDb25maWcgPSB0aGlzLmNvbmZpZy5vcGVuYWk7XG4gICAgY29uc3QgbW9kZWwgPSBvcGVuYWkuZW1iZWRkaW5nTW9kZWwob3BlbmFpQ29uZmlnLm1vZGVsKTtcblxuICAgIGNvbnN0IHsgZW1iZWRkaW5ncywgdXNhZ2UgfSA9IGF3YWl0IGVtYmVkTWFueSh7XG4gICAgICBtb2RlbDogbW9kZWwgYXMgRW1iZWRkaW5nTW9kZWwsXG4gICAgICB2YWx1ZXM6IHRleHRzLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGVtYmVkZGluZ3MubWFwKChlbWJlZGRpbmcpID0+ICh7XG4gICAgICBlbWJlZGRpbmcsXG4gICAgICBtb2RlbDogb3BlbmFpQ29uZmlnLm1vZGVsLFxuICAgICAgdG9rZW5Db3VudDogdXNhZ2U/LnRva2VucyA/PyAwLFxuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDsnoTrsqDrlKkgcHJvdmlkZXLsnZgg7LCo7JuQIOyImCDrsJjtmZhcbiAgICovXG4gIGdldERpbWVuc2lvbnMocHJvdmlkZXI6IEVtYmVkZGluZ1Byb3ZpZGVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gcHJvdmlkZXIgPT09IFwidm95YWdlXCIgPyB0aGlzLmNvbmZpZy52b3lhZ2UuZGltZW5zaW9ucyA6IHRoaXMuY29uZmlnLm9wZW5haS5kaW1lbnNpb25zO1xuICB9XG59XG5leHBvcnQgY29uc3QgRW1iZWRkaW5nID0gbmV3IEVtYmVkZGluZ0NsYXNzKCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O2FBS3VDOzs7OztBQWN2QyxJQUFNLGlCQUFOLE1BQXFCO0NBQ25CLEFBQVE7Q0FFUixZQUFZLFNBQWdDLEVBQUUsRUFBRTtBQUM5QyxPQUFLLFNBQVM7R0FDWixRQUFRO0lBQUUsR0FBRyxzQkFBc0I7SUFBUSxHQUFHLE9BQU87SUFBUTtHQUM3RCxRQUFRO0lBQUUsR0FBRyxzQkFBc0I7SUFBUSxHQUFH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
@@ -1,6 +1,6 @@
1
- export * from "./chunking.js";
2
- export * from "./config.js";
3
- export * from "./embedding.js";
4
- export * from "./types.js";
1
+ import { DEFAULT_VECTOR_CONFIG, createVectorConfig } from "./config.js";
2
+ import { Chunking } from "./chunking.js";
3
+ import { Embedding } from "./embedding.js";
4
+ import "./types.js";
5
5
 
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZWN0b3IvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vY2h1bmtpbmdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW1iZWRkaW5nXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWE7QUFDM0IsY0FBYyxjQUFXO0FBQ3pCLGNBQWMsaUJBQWM7QUFDNUIsY0FBYyxhQUFVIn0=
6
+ export { Chunking, DEFAULT_VECTOR_CONFIG, Embedding, createVectorConfig };
@@ -1,5 +1 @@
1
- /**
2
- * pgvector 통합을 위한 타입 정의
3
- */ /** 임베딩 제공자 */ /** 진행률 콜백 */ export { };
4
-
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZWN0b3IvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBwZ3ZlY3RvciDthrXtlansnYQg7JyE7ZWcIO2DgOyehSDsoJXsnZhcbiAqL1xuXG4vKiog7J6E67Kg65SpIOygnOqzteyekCAqL1xuZXhwb3J0IHR5cGUgRW1iZWRkaW5nUHJvdmlkZXIgPSBcInZveWFnZVwiIHwgXCJvcGVuYWlcIjtcblxuLyoqIOyeheugpSDtg4DsnoUgKFZveWFnZSBBSSDsoITsmqkgLSDruYTrjIDsua0g7J6E67Kg65SpKSAqL1xuZXhwb3J0IHR5cGUgVmVjdG9ySW5wdXRUeXBlID0gXCJkb2N1bWVudFwiIHwgXCJxdWVyeVwiO1xuXG4vKiog7J6E67Kg65SpIOqysOqzvCAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWJlZGRpbmdSZXN1bHQge1xuICBlbWJlZGRpbmc6IG51bWJlcltdO1xuICBtb2RlbDogc3RyaW5nO1xuICB0b2tlbkNvdW50OiBudW1iZXI7XG59XG5cbi8qKiDssq3tgawg7KCV67O0ICovXG5leHBvcnQgaW50ZXJmYWNlIENodW5rIHtcbiAgaW5kZXg6IG51bWJlcjtcbiAgdGV4dDogc3RyaW5nO1xuICBzdGFydE9mZnNldDogbnVtYmVyO1xuICBlbmRPZmZzZXQ6IG51bWJlcjtcbn1cblxuLyoqIOuyoe2EsCDqsoDsg4kg6rKw6rO8ICovXG5leHBvcnQgaW50ZXJmYWNlIFZlY3RvclNlYXJjaFJlc3VsdDxUID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgaWQ6IG51bWJlciB8IHN0cmluZztcbiAgc2ltaWxhcml0eTogbnVtYmVyO1xuICBkYXRhOiBUO1xufVxuXG4vKiog7ZWY7J2067iM66as65OcIOqygOyDiSDqsrDqs7wgKFZlY3RvciArIEZUUykgKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHlicmlkU2VhcmNoUmVzdWx0PFQgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4gZXh0ZW5kcyBWZWN0b3JTZWFyY2hSZXN1bHQ8VD4ge1xuICB2ZWN0b3JTY29yZT86IG51bWJlcjtcbiAgZnRzU2NvcmU/OiBudW1iZXI7XG59XG5cbi8qKiDrsqTsuZjrp4jtgawg6rKw6rO8ICovXG5leHBvcnQgaW50ZXJmYWNlIEJlbmNobWFya1Jlc3VsdCB7XG4gIHByb3ZpZGVyOiBFbWJlZGRpbmdQcm92aWRlcjtcbiAgZW1iZWRUaW1lOiBudW1iZXI7XG4gIHNlYXJjaFRpbWU6IG51bWJlcjtcbiAgcmVzdWx0czogVmVjdG9yU2VhcmNoUmVzdWx0W107XG59XG5cbi8qKiBWb3lhZ2UgQUkg7ISk7KCVICovXG5leHBvcnQgaW50ZXJmYWNlIFZveWFnZUNvbmZpZyB7XG4gIGFwaUtleTogc3RyaW5nO1xuICBiYXNlVXJsOiBzdHJpbmc7XG4gIG1vZGVsOiBzdHJpbmc7XG4gIGRpbWVuc2lvbnM6IG51bWJlcjtcbiAgbWF4VG9rZW5zOiBudW1iZXI7XG4gIGJhdGNoU2l6ZTogbnVtYmVyO1xufVxuXG4vKiogT3BlbkFJIOyEpOyglSAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVuQUlDb25maWcge1xuICBhcGlLZXk6IHN0cmluZztcbiAgYmFzZVVybDogc3RyaW5nO1xuICBtb2RlbDogc3RyaW5nO1xuICBkaW1lbnNpb25zOiBudW1iZXI7XG4gIG1heFRva2VuczogbnVtYmVyO1xuICBiYXRjaFNpemU6IG51bWJlcjtcbn1cblxuLyoqIOyyre2CuSDshKTsoJUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2h1bmtpbmdDb25maWcge1xuICBjaHVua1NpemU6IG51bWJlcjtcbiAgY2h1bmtPdmVybGFwOiBudW1iZXI7XG4gIG1pbkNodW5rU2l6ZTogbnVtYmVyO1xuICBza2lwVGhyZXNob2xkOiBudW1iZXI7XG4gIHNlcGFyYXRvcnM6IHN0cmluZ1tdO1xufVxuXG4vKiog6rKA7IOJIOyEpOyglSAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hDb25maWcge1xuICBkZWZhdWx0TGltaXQ6IG51bWJlcjtcbiAgc2ltaWxhcml0eVRocmVzaG9sZDogbnVtYmVyO1xuICB2ZWN0b3JXZWlnaHQ6IG51bWJlcjtcbiAgZnRzV2VpZ2h0OiBudW1iZXI7XG59XG5cbi8qKiBwZ3ZlY3RvciDshKTsoJUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGd2ZWN0b3JDb25maWcge1xuICBpdGVyYXRpdmVTY2FuOiBib29sZWFuO1xuICBlZlNlYXJjaDogbnVtYmVyO1xufVxuXG4vKiog7KCE7LK0IOuyoe2EsCDshKTsoJUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmVjdG9yQ29uZmlnIHtcbiAgdm95YWdlOiBWb3lhZ2VDb25maWc7XG4gIG9wZW5haTogT3BlbkFJQ29uZmlnO1xuICBjaHVua2luZzogQ2h1bmtpbmdDb25maWc7XG4gIHNlYXJjaDogU2VhcmNoQ29uZmlnO1xuICBwZ3ZlY3RvcjogUGd2ZWN0b3JDb25maWc7XG59XG5cbi8qKiDrsqHthLAg6rKA7IOJIOyYteyFmCAqL1xuZXhwb3J0IGludGVyZmFjZSBWZWN0b3JTZWFyY2hPcHRpb25zIHtcbiAgZW1iZWRkaW5nQ29sdW1uPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbiAgdGhyZXNob2xkPzogbnVtYmVyO1xuICB3aGVyZT86IHN0cmluZztcbn1cblxuLyoqIO2VmOydtOu4jOumrOuTnCDqsoDsg4kg7Ji17IWYICovXG5leHBvcnQgaW50ZXJmYWNlIEh5YnJpZFNlYXJjaE9wdGlvbnMgZXh0ZW5kcyBWZWN0b3JTZWFyY2hPcHRpb25zIHtcbiAgdmVjdG9yV2VpZ2h0PzogbnVtYmVyO1xuICBmdHNXZWlnaHQ/OiBudW1iZXI7XG4gIGZ0c0NvbHVtbj86IHN0cmluZztcbn1cblxuLyoqIOyehOuyoOuUqSDsoIDsnqUg7ZWt66qpICovXG5leHBvcnQgaW50ZXJmYWNlIEVtYmVkZGluZ0l0ZW0ge1xuICBpZDogbnVtYmVyO1xuICB0ZXh0OiBzdHJpbmc7XG59XG5cbi8qKiDsp4TtlonrpaAg7L2c67CxICovXG5leHBvcnQgdHlwZSBQcm9ncmVzc0NhbGxiYWNrID0gKHByb2Nlc3NlZDogbnVtYmVyLCB0b3RhbDogbnVtYmVyKSA9PiB2b2lkO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztDQUVDLEdBRUQsWUFBWSxHQW1IWixXQUFXLEdBQ1gsV0FBMEUifQ==
1
+ export { };
package/package.json CHANGED
@@ -1,11 +1,27 @@
1
1
  {
2
2
  "name": "sonamu",
3
- "version": "0.8.26",
3
+ "version": "0.9.0",
4
4
  "description": "Sonamu — TypeScript Fullstack API Framework",
5
5
  "keywords": [
6
- "typescript",
7
6
  "framework",
8
- "orm"
7
+ "orm",
8
+ "typescript"
9
+ ],
10
+ "license": "MIT",
11
+ "author": {
12
+ "name": "CartaNova <dev@cartanova.ai>",
13
+ "url": "https://cartanova.ai"
14
+ },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/cartanova-ai/sonamu.git"
18
+ },
19
+ "bin": "./bin/cli.js",
20
+ "files": [
21
+ "dist",
22
+ "src",
23
+ "bin",
24
+ "tsdown.api.config.ts"
9
25
  ],
10
26
  "type": "module",
11
27
  "exports": {
@@ -64,30 +80,12 @@
64
80
  "types": "./dist/ui/cdd-types.d.ts"
65
81
  }
66
82
  },
67
- "license": "MIT",
68
- "author": {
69
- "name": "CartaNova <dev@cartanova.ai>",
70
- "url": "https://cartanova.ai"
71
- },
72
- "repository": {
73
- "type": "git",
74
- "url": "https://github.com/cartanova-ai/sonamu.git"
75
- },
76
- "bin": "./bin/cli.js",
77
- "files": [
78
- "dist",
79
- "src",
80
- "bin",
81
- ".swcrc.project-default"
82
- ],
83
83
  "dependencies": {
84
84
  "@aws-sdk/client-s3": "^3.958.0",
85
85
  "@aws-sdk/lib-storage": "^3.971.0",
86
86
  "@aws-sdk/s3-request-presigner": "^3.958.0",
87
87
  "@better-auth/passkey": "~1.4.18",
88
88
  "@better-auth/sso": "~1.4.18",
89
- "@biomejs/js-api": "^4.0.0",
90
- "@biomejs/wasm-nodejs": "^2.3.7",
91
89
  "@faker-js/faker": "^9.2.0",
92
90
  "@fastify/compress": "^7.0.3",
93
91
  "@fastify/cors": "^8.1.0",
@@ -101,7 +99,6 @@
101
99
  "@logtape/pretty": "2.0.0",
102
100
  "@logtape/redaction": "2.0.0",
103
101
  "@sheetkit/node": "^0.5.0",
104
- "@swc/core": "^1.13.5",
105
102
  "bcrypt": "^6.0.0",
106
103
  "bentocache": "^1.5.0",
107
104
  "better-auth": "~1.4.18",
@@ -120,21 +117,21 @@
120
117
  "minimatch": "^10.0.3",
121
118
  "node-cron": "^4.2.1",
122
119
  "node-sql-parser": "^5.2.0",
120
+ "oxfmt": "^0.43.0",
121
+ "oxlint": "^1.58.0",
123
122
  "pg": "^8.16.3",
124
123
  "prompts": "^2.4.2",
125
124
  "qs": "^6.14.1",
126
125
  "radashi": "^12.2.0",
127
126
  "tsicli": "^1.0.5",
128
- "vite": "7.3.0",
129
- "vitest": "^4.0.10",
130
- "@sonamu-kit/hmr-hook": "^0.4.1",
131
- "@sonamu-kit/hmr-runner": "^0.1.1",
132
- "@sonamu-kit/ts-loader": "^2.1.3",
133
- "@sonamu-kit/tasks": "^0.2.0"
127
+ "vite": "8.0.3",
128
+ "vitest": "^4.1.2",
129
+ "@sonamu-kit/hmr-hook": "^0.5.0",
130
+ "@sonamu-kit/hmr-runner": "^0.2.0",
131
+ "@sonamu-kit/ts-loader": "^2.2.0",
132
+ "@sonamu-kit/tasks": "^0.3.0"
134
133
  },
135
134
  "devDependencies": {
136
- "@biomejs/biome": "^2.3.13",
137
- "@swc/cli": "^0.7.8",
138
135
  "@types/bcrypt": "^6",
139
136
  "@types/inflection": "^2.0.0",
140
137
  "@types/mime-types": "^3.0.1",
@@ -143,8 +140,8 @@
143
140
  "@types/prompts": "^2.0.14",
144
141
  "@types/qs": "^6.14.0",
145
142
  "nodemon": "^3.1.10",
146
- "tsup": "^8.1.0",
147
- "typescript": "^5.9.3"
143
+ "tsdown": "^0.12.5",
144
+ "typescript": "^6.0.0"
148
145
  },
149
146
  "peerDependencies": {
150
147
  "@ai-sdk/anthropic": "^3.0.0",
@@ -153,15 +150,13 @@
153
150
  "@ai-sdk/provider-utils": "^4.0.0",
154
151
  "@better-auth/passkey": "~1.4.18",
155
152
  "@better-auth/sso": "~1.4.18",
156
- "@swc/cli": "^0.7.8",
157
- "@swc/core": "^1.13.5",
158
153
  "ai": "^6.0.1",
159
154
  "better-auth": "~1.4.18",
160
155
  "fastify": "^4",
161
156
  "ioredis": "^5.8.2",
162
157
  "knex": "^3.1.0",
163
158
  "pgvector": "^0.2.1",
164
- "typescript": "^5.9.3",
159
+ "typescript": "^6.0.0",
165
160
  "voyageai": "^0.0.8",
166
161
  "zod": "^4.3.6"
167
162
  },
@@ -195,7 +190,7 @@
195
190
  "dev": "nodemon exec",
196
191
  "prebuild": "tsx ../../scripts/hard-link.ts",
197
192
  "build": "run-s 'build:sonamu' 'build:ui-web'",
198
- "build:sonamu": "rm -rf dist && swc src -d dist --strip-leading-paths && tsc --emitDeclarationOnly",
193
+ "build:sonamu": "tsdown && tsc --emitDeclarationOnly",
199
194
  "build:ui-web": "cd ui-web && pnpm install && pnpm build",
200
195
  "test:type": "vitest --typecheck test-d.ts",
201
196
  "test:unit": "vitest run --config vitest.config.ts"
@@ -1,12 +1,19 @@
1
- import type { Tool, ToolExecutionOptions } from "@ai-sdk/provider-utils";
1
+ import { AsyncLocalStorage } from "async_hooks";
2
+
3
+ import { type Tool, type ToolExecutionOptions } from "@ai-sdk/provider-utils";
2
4
  import { tool } from "@ai-sdk/provider-utils";
3
- import { getLogger, type Logger } from "@logtape/logtape";
4
- import type { Agent, ToolSet } from "ai";
5
+ import { getLogger } from "@logtape/logtape";
6
+ import { type Logger } from "@logtape/logtape";
7
+ import { type Agent, type ToolSet } from "ai";
5
8
  import { ToolLoopAgent } from "ai";
6
- import { AsyncLocalStorage } from "async_hooks";
7
9
  import inflection from "inflection";
10
+
8
11
  import { convertDomainToCategory } from "../../logger/category";
9
- import type { AgentConfig, RegisteredToolDefinition, ToolDecoratorOptions } from "./types";
12
+ import {
13
+ type AgentConfig,
14
+ type RegisteredToolDefinition,
15
+ type ToolDecoratorOptions,
16
+ } from "./types";
10
17
 
11
18
  const toolDefinitions: RegisteredToolDefinition[] = [];
12
19
 
@@ -1,13 +1,13 @@
1
- import type { ProviderOptions, Tool } from "@ai-sdk/provider-utils";
2
- import type { LanguageModel, StopCondition, ToolSet } from "ai";
1
+ import { type ProviderOptions, type Tool } from "@ai-sdk/provider-utils";
2
+ import { type LanguageModel, type StopCondition, type ToolSet } from "ai";
3
3
  import type * as z4 from "zod/v4";
4
4
 
5
5
  export type ToolChoiceLimited = "auto" | "none" | "required";
6
6
 
7
7
  export interface ToolDecoratorSchema<INPUT, OUTPUT = unknown> {
8
- // biome-ignore lint/suspicious/noExplicitAny: zod type의 타입 추론에 필요
8
+ // oxlint-disable-next-line @typescript-eslint/no-explicit-any -- zod type의 타입 추론에 필요
9
9
  input: z4.core.$ZodType<INPUT, any>;
10
- // biome-ignore lint/suspicious/noExplicitAny: zod type의 타입 추론에 필요
10
+ // oxlint-disable-next-line @typescript-eslint/no-explicit-any -- zod type의 타입 추론에 필요
11
11
  output?: z4.core.$ZodType<OUTPUT, any>;
12
12
  }
13
13
 
@@ -23,7 +23,7 @@ export interface ToolDecoratorOptions<INPUT, OUTPUT = unknown> {
23
23
  export type RegisteredToolDefinition = {
24
24
  name: string;
25
25
  description?: string;
26
- schema: ToolDecoratorSchema<unknown, unknown>;
26
+ schema: ToolDecoratorSchema<unknown>;
27
27
  needsApproval?: Tool["needsApproval"];
28
28
  toModelOutput?: Tool["toModelOutput"];
29
29
  providerOptions?: ProviderOptions;
@@ -1,30 +1,28 @@
1
- import type {
2
- SharedV3Warning,
3
- TranscriptionModelV3,
4
- TranscriptionModelV3CallOptions,
1
+ import {
2
+ type SharedV3Warning,
3
+ type TranscriptionModelV3,
4
+ type TranscriptionModelV3CallOptions,
5
5
  } from "@ai-sdk/provider";
6
6
  import {
7
7
  combineHeaders,
8
8
  convertBase64ToUint8Array,
9
9
  createJsonResponseHandler,
10
- type FetchFunction,
11
10
  getFromApi,
12
11
  mediaTypeToExtension,
13
12
  parseProviderOptions,
14
13
  postFormDataToApi,
15
14
  } from "@ai-sdk/provider-utils";
15
+ import { type FetchFunction } from "@ai-sdk/provider-utils";
16
16
  import { isEmpty } from "radashi";
17
+
17
18
  import {
18
19
  rtzrAuthResponseSchema,
19
20
  rtzrTranscriptionResponseSchema,
20
21
  rtzrTranscriptionResultResponseSchema,
21
22
  } from "./api";
22
23
  import { RtzrClientError, rtzrFailedResponseHandler } from "./error";
23
- import {
24
- type RtzrTranscriptionModelId,
25
- type RtzrTranscriptionProviderOptions,
26
- rtzrTranscriptionProviderOptions,
27
- } from "./options";
24
+ import { rtzrTranscriptionProviderOptions } from "./options";
25
+ import { type RtzrTranscriptionModelId, type RtzrTranscriptionProviderOptions } from "./options";
28
26
 
29
27
  export type RtzrTranscriptionCallOptions = Omit<
30
28
  TranscriptionModelV3CallOptions,
@@ -1,4 +1,5 @@
1
- import { type InferSchema, lazySchema, zodSchema } from "@ai-sdk/provider-utils";
1
+ import { lazySchema, zodSchema } from "@ai-sdk/provider-utils";
2
+ import { type InferSchema } from "@ai-sdk/provider-utils";
2
3
  import { z } from "zod";
3
4
 
4
5
  export type RtzrTranscriptionModelId = "whisper" | "sommers" | (string & {});
@@ -1,13 +1,15 @@
1
- import { NoSuchModelError, type ProviderV3, type TranscriptionModelV3 } from "@ai-sdk/provider";
1
+ import { NoSuchModelError } from "@ai-sdk/provider";
2
+ import { type ProviderV3, type TranscriptionModelV3 } from "@ai-sdk/provider";
2
3
  import {
3
- type FetchFunction,
4
4
  loadApiKey,
5
5
  loadOptionalSetting,
6
6
  withoutTrailingSlash,
7
7
  withUserAgentSuffix,
8
8
  } from "@ai-sdk/provider-utils";
9
+ import { type FetchFunction } from "@ai-sdk/provider-utils";
10
+
9
11
  import { RtzrTranscriptionModel } from "./model";
10
- import type { RtzrTranscriptionModelId } from "./options";
12
+ import { type RtzrTranscriptionModelId } from "./options";
11
13
 
12
14
  export interface RtzrProvider extends ProviderV3 {
13
15
  (modelId: RtzrTranscriptionModelId): TranscriptionModelV3;
@@ -1,11 +1,6 @@
1
1
  import { APICallError } from "@ai-sdk/provider";
2
- import {
3
- extractResponseHeaders,
4
- type FetchFunction,
5
- isAbortError,
6
- type ResponseHandler,
7
- withUserAgentSuffix,
8
- } from "@ai-sdk/provider-utils";
2
+ import { extractResponseHeaders, isAbortError, withUserAgentSuffix } from "@ai-sdk/provider-utils";
3
+ import { type FetchFunction, type ResponseHandler } from "@ai-sdk/provider-utils";
9
4
 
10
5
  const FETCH_FAILED_ERROR_MESSAGES = ["fetch failed", "failed to fetch"];
11
6