sonamu 0.5.7 → 0.7.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 (529) hide show
  1. package/.swcrc.project-default +18 -0
  2. package/bin/cli.js +24 -0
  3. package/dist/ai/agents/agent.d.ts +11 -0
  4. package/dist/ai/agents/agent.d.ts.map +1 -0
  5. package/dist/ai/agents/agent.js +65 -0
  6. package/dist/ai/agents/index.d.ts +3 -0
  7. package/dist/ai/agents/index.d.ts.map +1 -0
  8. package/dist/ai/agents/index.js +4 -0
  9. package/dist/ai/agents/types.d.ts +43 -0
  10. package/dist/ai/agents/types.d.ts.map +1 -0
  11. package/dist/ai/agents/types.js +3 -0
  12. package/dist/ai/index.d.ts +2 -0
  13. package/dist/ai/index.d.ts.map +1 -0
  14. package/dist/ai/index.js +3 -0
  15. package/dist/ai/providers/rtzr/api.d.ts +22 -0
  16. package/dist/ai/providers/rtzr/api.d.ts.map +1 -0
  17. package/dist/ai/providers/rtzr/api.js +28 -0
  18. package/dist/ai/providers/rtzr/error.d.ts +18 -0
  19. package/dist/ai/providers/rtzr/error.d.ts.map +1 -0
  20. package/dist/ai/providers/rtzr/error.js +29 -0
  21. package/dist/ai/providers/rtzr/index.d.ts +5 -0
  22. package/dist/ai/providers/rtzr/index.d.ts.map +1 -0
  23. package/dist/ai/providers/rtzr/index.js +6 -0
  24. package/dist/ai/providers/rtzr/model.d.ts +52 -0
  25. package/dist/ai/providers/rtzr/model.d.ts.map +1 -0
  26. package/dist/ai/providers/rtzr/model.js +137 -0
  27. package/dist/ai/providers/rtzr/options.d.ts +7 -0
  28. package/dist/ai/providers/rtzr/options.d.ts.map +1 -0
  29. package/dist/ai/providers/rtzr/options.js +47 -0
  30. package/dist/ai/providers/rtzr/provider.d.ts +18 -0
  31. package/dist/ai/providers/rtzr/provider.d.ts.map +1 -0
  32. package/dist/ai/providers/rtzr/provider.js +54 -0
  33. package/dist/ai/providers/rtzr/utils.d.ts +19 -0
  34. package/dist/ai/providers/rtzr/utils.d.ts.map +1 -0
  35. package/dist/ai/providers/rtzr/utils.js +88 -0
  36. package/dist/api/base-frame.d.ts +2 -2
  37. package/dist/api/base-frame.d.ts.map +1 -1
  38. package/dist/api/base-frame.js +13 -2
  39. package/dist/api/caster.d.ts.map +1 -1
  40. package/dist/api/caster.js +71 -2
  41. package/dist/api/code-converters.d.ts +58 -14
  42. package/dist/api/code-converters.d.ts.map +1 -1
  43. package/dist/api/code-converters.js +258 -2
  44. package/dist/api/config.d.ts +90 -0
  45. package/dist/api/config.d.ts.map +1 -0
  46. package/dist/api/config.js +25 -0
  47. package/dist/api/context.d.ts +4 -2
  48. package/dist/api/context.d.ts.map +1 -1
  49. package/dist/api/context.js +3 -2
  50. package/dist/api/decorators.d.ts +20 -6
  51. package/dist/api/decorators.d.ts.map +1 -1
  52. package/dist/api/decorators.js +235 -2
  53. package/dist/api/index.d.ts +2 -2
  54. package/dist/api/index.d.ts.map +1 -1
  55. package/dist/api/index.js +9 -2
  56. package/dist/api/sonamu.d.ts +10 -24
  57. package/dist/api/sonamu.d.ts.map +1 -1
  58. package/dist/api/sonamu.js +514 -2
  59. package/dist/api/validator.d.ts +6 -0
  60. package/dist/api/validator.d.ts.map +1 -0
  61. package/dist/api/validator.js +81 -0
  62. package/dist/bin/build-config.d.ts +6 -1
  63. package/dist/bin/build-config.d.ts.map +1 -1
  64. package/dist/bin/build-config.js +15 -2
  65. package/dist/bin/cli.js +519 -2
  66. package/dist/bin/hot-hook-register.d.ts +11 -0
  67. package/dist/bin/hot-hook-register.d.ts.map +1 -0
  68. package/dist/bin/hot-hook-register.js +21 -0
  69. package/dist/bin/loader-register.d.ts +2 -0
  70. package/dist/bin/loader-register.d.ts.map +1 -0
  71. package/dist/bin/loader-register.js +34 -0
  72. package/dist/database/_batch_update.d.ts +5 -3
  73. package/dist/database/_batch_update.d.ts.map +1 -1
  74. package/dist/database/_batch_update.js +95 -2
  75. package/dist/database/base-model.d.ts +96 -10
  76. package/dist/database/base-model.d.ts.map +1 -1
  77. package/dist/database/base-model.js +390 -2
  78. package/dist/database/base-model.types.d.ts +93 -0
  79. package/dist/database/base-model.types.d.ts.map +1 -0
  80. package/dist/database/base-model.types.js +10 -0
  81. package/dist/database/code-generator.d.ts +1 -1
  82. package/dist/database/code-generator.d.ts.map +1 -1
  83. package/dist/database/code-generator.js +54 -2
  84. package/dist/database/db.d.ts +6 -21
  85. package/dist/database/db.d.ts.map +1 -1
  86. package/dist/database/db.js +129 -2
  87. package/dist/database/puri-subset.test-d.js +81 -0
  88. package/dist/database/puri-subset.types.d.ts +123 -0
  89. package/dist/database/puri-subset.types.d.ts.map +1 -0
  90. package/dist/database/puri-subset.types.js +16 -0
  91. package/dist/database/puri-wrapper.d.ts +13 -11
  92. package/dist/database/puri-wrapper.d.ts.map +1 -1
  93. package/dist/database/puri-wrapper.js +109 -2
  94. package/dist/database/puri.d.ts +41 -23
  95. package/dist/database/puri.d.ts.map +1 -1
  96. package/dist/database/puri.js +601 -2
  97. package/dist/database/puri.types.d.ts +25 -6
  98. package/dist/database/puri.types.d.ts.map +1 -1
  99. package/dist/database/puri.types.js +6 -2
  100. package/dist/database/transaction-context.d.ts +1 -1
  101. package/dist/database/transaction-context.d.ts.map +1 -1
  102. package/dist/database/transaction-context.js +14 -2
  103. package/dist/database/upsert-builder.d.ts +9 -3
  104. package/dist/database/upsert-builder.d.ts.map +1 -1
  105. package/dist/database/upsert-builder.js +365 -2
  106. package/dist/entity/entity-manager.d.ts +167 -2
  107. package/dist/entity/entity-manager.d.ts.map +1 -1
  108. package/dist/entity/entity-manager.js +130 -2
  109. package/dist/entity/entity.d.ts +5 -3
  110. package/dist/entity/entity.d.ts.map +1 -1
  111. package/dist/entity/entity.js +750 -2
  112. package/dist/exceptions/error-handler.d.ts +1 -1
  113. package/dist/exceptions/error-handler.d.ts.map +1 -1
  114. package/dist/exceptions/error-handler.js +29 -2
  115. package/dist/exceptions/so-exceptions.d.ts +1 -1
  116. package/dist/exceptions/so-exceptions.d.ts.map +1 -1
  117. package/dist/exceptions/so-exceptions.js +85 -2
  118. package/dist/file-storage/driver.d.ts +1 -1
  119. package/dist/file-storage/driver.d.ts.map +1 -1
  120. package/dist/file-storage/driver.js +79 -2
  121. package/dist/file-storage/file-storage.js +75 -2
  122. package/dist/index.d.ts +18 -9
  123. package/dist/index.d.ts.map +1 -1
  124. package/dist/index.js +34 -2
  125. package/dist/migration/code-generation.d.ts +1 -1
  126. package/dist/migration/code-generation.d.ts.map +1 -1
  127. package/dist/migration/code-generation.js +614 -2
  128. package/dist/migration/migration-set.d.ts +2 -10
  129. package/dist/migration/migration-set.d.ts.map +1 -1
  130. package/dist/migration/migration-set.js +213 -2
  131. package/dist/migration/migrator.d.ts +24 -82
  132. package/dist/migration/migrator.d.ts.map +1 -1
  133. package/dist/migration/migrator.js +330 -2
  134. package/dist/migration/postgresql-schema-reader.d.ts +51 -0
  135. package/dist/migration/postgresql-schema-reader.d.ts.map +1 -0
  136. package/dist/migration/postgresql-schema-reader.js +245 -0
  137. package/dist/migration/types.d.ts +6 -38
  138. package/dist/migration/types.d.ts.map +1 -1
  139. package/dist/migration/types.js +3 -2
  140. package/dist/naite/messaging-types.d.ts +43 -0
  141. package/dist/naite/messaging-types.d.ts.map +1 -0
  142. package/dist/naite/messaging-types.js +7 -0
  143. package/dist/naite/naite-reporter.d.ts +41 -0
  144. package/dist/naite/naite-reporter.d.ts.map +1 -0
  145. package/dist/naite/naite-reporter.js +102 -0
  146. package/dist/naite/naite.d.ts +95 -0
  147. package/dist/naite/naite.d.ts.map +1 -0
  148. package/dist/naite/naite.js +316 -0
  149. package/dist/stream/index.js +3 -2
  150. package/dist/stream/sse.d.ts +2 -2
  151. package/dist/stream/sse.d.ts.map +1 -1
  152. package/dist/stream/sse.js +38 -2
  153. package/dist/syncer/api-parser.d.ts +10 -0
  154. package/dist/syncer/api-parser.d.ts.map +1 -0
  155. package/dist/syncer/api-parser.js +240 -0
  156. package/dist/syncer/checksum.d.ts +21 -0
  157. package/dist/syncer/checksum.d.ts.map +1 -0
  158. package/dist/syncer/checksum.js +98 -0
  159. package/dist/syncer/code-generator.d.ts +20 -0
  160. package/dist/syncer/code-generator.d.ts.map +1 -0
  161. package/dist/syncer/code-generator.js +161 -0
  162. package/dist/syncer/entity-operations.d.ts +17 -0
  163. package/dist/syncer/entity-operations.d.ts.map +1 -0
  164. package/dist/syncer/entity-operations.js +59 -0
  165. package/dist/syncer/file-patterns.d.ts +29 -0
  166. package/dist/syncer/file-patterns.d.ts.map +1 -0
  167. package/dist/syncer/file-patterns.js +38 -0
  168. package/dist/syncer/index.d.ts +6 -0
  169. package/dist/syncer/index.d.ts.map +1 -1
  170. package/dist/syncer/index.js +9 -2
  171. package/dist/syncer/module-loader.d.ts +35 -0
  172. package/dist/syncer/module-loader.d.ts.map +1 -0
  173. package/dist/syncer/module-loader.js +87 -0
  174. package/dist/syncer/syncer.d.ts +98 -106
  175. package/dist/syncer/syncer.d.ts.map +1 -1
  176. package/dist/syncer/syncer.js +422 -2
  177. package/dist/template/entity-converter.d.ts +14 -0
  178. package/dist/template/entity-converter.d.ts.map +1 -0
  179. package/dist/template/entity-converter.js +108 -0
  180. package/dist/template/helpers.d.ts +23 -0
  181. package/dist/template/helpers.d.ts.map +1 -0
  182. package/dist/template/helpers.js +64 -0
  183. package/dist/{templates → template/implementations}/entity.template.d.ts +3 -3
  184. package/dist/template/implementations/entity.template.d.ts.map +1 -0
  185. package/dist/template/implementations/entity.template.js +86 -0
  186. package/dist/{templates → template/implementations}/generated.template.d.ts +3 -4
  187. package/dist/template/implementations/generated.template.d.ts.map +1 -0
  188. package/dist/template/implementations/generated.template.js +249 -0
  189. package/dist/{templates → template/implementations}/generated_http.template.d.ts +3 -4
  190. package/dist/template/implementations/generated_http.template.d.ts.map +1 -0
  191. package/dist/template/implementations/generated_http.template.js +131 -0
  192. package/dist/{templates → template/implementations}/generated_sso.template.d.ts +4 -5
  193. package/dist/template/implementations/generated_sso.template.d.ts.map +1 -0
  194. package/dist/template/implementations/generated_sso.template.js +134 -0
  195. package/dist/{templates → template/implementations}/init_types.template.d.ts +3 -3
  196. package/dist/template/implementations/init_types.template.d.ts.map +1 -0
  197. package/dist/template/implementations/init_types.template.js +38 -0
  198. package/dist/template/implementations/model.template.d.ts +17 -0
  199. package/dist/template/implementations/model.template.d.ts.map +1 -0
  200. package/dist/template/implementations/model.template.js +181 -0
  201. package/dist/{templates → template/implementations}/model_test.template.d.ts +3 -3
  202. package/dist/template/implementations/model_test.template.d.ts.map +1 -0
  203. package/dist/template/implementations/model_test.template.js +35 -0
  204. package/dist/{templates → template/implementations}/service.template.d.ts +6 -6
  205. package/dist/template/implementations/service.template.d.ts.map +1 -0
  206. package/dist/template/implementations/service.template.js +201 -0
  207. package/dist/{templates → template/implementations}/view_enums_buttonset.template.d.ts +3 -3
  208. package/dist/template/implementations/view_enums_buttonset.template.d.ts.map +1 -0
  209. package/dist/template/implementations/view_enums_buttonset.template.js +31 -0
  210. package/dist/{templates → template/implementations}/view_enums_dropdown.template.d.ts +3 -4
  211. package/dist/template/implementations/view_enums_dropdown.template.d.ts.map +1 -0
  212. package/dist/template/implementations/view_enums_dropdown.template.js +50 -0
  213. package/dist/{templates → template/implementations}/view_enums_select.template.d.ts +3 -3
  214. package/dist/template/implementations/view_enums_select.template.d.ts.map +1 -0
  215. package/dist/template/implementations/view_enums_select.template.js +55 -0
  216. package/dist/{templates → template/implementations}/view_form.template.d.ts +5 -5
  217. package/dist/template/implementations/view_form.template.d.ts.map +1 -0
  218. package/dist/template/implementations/view_form.template.js +337 -0
  219. package/dist/{templates → template/implementations}/view_id_all_select.template.d.ts +3 -3
  220. package/dist/template/implementations/view_id_all_select.template.d.ts.map +1 -0
  221. package/dist/template/implementations/view_id_all_select.template.js +31 -0
  222. package/dist/{templates → template/implementations}/view_id_async_select.template.d.ts +3 -3
  223. package/dist/template/implementations/view_id_async_select.template.d.ts.map +1 -0
  224. package/dist/template/implementations/view_id_async_select.template.js +105 -0
  225. package/dist/{templates → template/implementations}/view_list.template.d.ts +5 -13
  226. package/dist/template/implementations/view_list.template.d.ts.map +1 -0
  227. package/dist/template/implementations/view_list.template.js +475 -0
  228. package/dist/template/implementations/view_list_columns.template.d.ts +17 -0
  229. package/dist/template/implementations/view_list_columns.template.d.ts.map +1 -0
  230. package/dist/template/implementations/view_list_columns.template.js +49 -0
  231. package/dist/{templates → template/implementations}/view_search_input.template.d.ts +3 -3
  232. package/dist/template/implementations/view_search_input.template.d.ts.map +1 -0
  233. package/dist/template/implementations/view_search_input.template.js +64 -0
  234. package/dist/template/index.d.ts +7 -0
  235. package/dist/template/index.d.ts.map +1 -0
  236. package/dist/template/index.js +8 -0
  237. package/dist/template/template-manager.d.ts +56 -0
  238. package/dist/template/template-manager.d.ts.map +1 -0
  239. package/dist/template/template-manager.js +125 -0
  240. package/dist/template/template-types.d.ts +16 -0
  241. package/dist/template/template-types.d.ts.map +1 -0
  242. package/dist/template/template-types.js +7 -0
  243. package/dist/template/template.d.ts +49 -0
  244. package/dist/template/template.d.ts.map +1 -0
  245. package/dist/template/template.js +60 -0
  246. package/dist/template/zod-converter.d.ts +51 -0
  247. package/dist/template/zod-converter.d.ts.map +1 -0
  248. package/dist/template/zod-converter.js +449 -0
  249. package/dist/testing/_relation-graph.d.ts +1 -1
  250. package/dist/testing/_relation-graph.d.ts.map +1 -1
  251. package/dist/testing/_relation-graph.js +89 -2
  252. package/dist/testing/fixture-manager.d.ts +42 -11
  253. package/dist/testing/fixture-manager.d.ts.map +1 -1
  254. package/dist/testing/fixture-manager.js +623 -2
  255. package/dist/types/types.d.ts +747 -143
  256. package/dist/types/types.d.ts.map +1 -1
  257. package/dist/types/types.js +546 -2
  258. package/dist/typings/knex.d.js +3 -2
  259. package/dist/utils/async-utils.d.ts +7 -0
  260. package/dist/utils/async-utils.d.ts.map +1 -1
  261. package/dist/utils/async-utils.js +57 -2
  262. package/dist/utils/console-util.d.ts +2 -0
  263. package/dist/utils/console-util.d.ts.map +1 -0
  264. package/dist/utils/console-util.js +6 -0
  265. package/dist/utils/controller.d.ts +1 -0
  266. package/dist/utils/controller.d.ts.map +1 -1
  267. package/dist/utils/controller.js +29 -2
  268. package/dist/utils/esm-utils.d.ts +39 -0
  269. package/dist/utils/esm-utils.d.ts.map +1 -0
  270. package/dist/utils/esm-utils.js +49 -0
  271. package/dist/utils/formatter.d.ts +3 -0
  272. package/dist/utils/formatter.d.ts.map +1 -0
  273. package/dist/utils/formatter.js +110 -0
  274. package/dist/utils/fs-utils.d.ts +1 -1
  275. package/dist/utils/fs-utils.d.ts.map +1 -1
  276. package/dist/utils/fs-utils.js +17 -2
  277. package/dist/utils/lodash-able.d.ts.map +1 -1
  278. package/dist/utils/lodash-able.js +6 -2
  279. package/dist/utils/model.js +22 -2
  280. package/dist/utils/object-utils.d.ts +44 -0
  281. package/dist/utils/object-utils.d.ts.map +1 -0
  282. package/dist/utils/object-utils.js +191 -0
  283. package/dist/utils/path-utils.d.ts +89 -0
  284. package/dist/utils/path-utils.d.ts.map +1 -0
  285. package/dist/utils/path-utils.js +60 -0
  286. package/dist/utils/process-utils.d.ts +13 -0
  287. package/dist/utils/process-utils.d.ts.map +1 -0
  288. package/dist/utils/process-utils.js +36 -0
  289. package/dist/utils/sql-parser.d.ts +5 -1
  290. package/dist/utils/sql-parser.d.ts.map +1 -1
  291. package/dist/utils/sql-parser.js +46 -2
  292. package/dist/utils/type-utils.d.ts +23 -0
  293. package/dist/utils/type-utils.d.ts.map +1 -0
  294. package/dist/utils/type-utils.js +45 -0
  295. package/dist/utils/utils.d.ts +10 -7
  296. package/dist/utils/utils.d.ts.map +1 -1
  297. package/dist/utils/utils.js +72 -2
  298. package/dist/utils/zod-error.d.ts +1 -1
  299. package/dist/utils/zod-error.d.ts.map +1 -1
  300. package/dist/utils/zod-error.js +19 -2
  301. package/package.json +65 -27
  302. package/src/ai/agents/agent.ts +87 -0
  303. package/src/ai/agents/index.ts +2 -0
  304. package/src/ai/agents/types.ts +47 -0
  305. package/src/ai/index.ts +1 -0
  306. package/src/ai/providers/rtzr/api.ts +37 -0
  307. package/src/ai/providers/rtzr/error.ts +34 -0
  308. package/src/ai/providers/rtzr/index.ts +4 -0
  309. package/src/ai/providers/rtzr/model.ts +201 -0
  310. package/src/ai/providers/rtzr/options.ts +49 -0
  311. package/src/ai/providers/rtzr/provider.ts +91 -0
  312. package/src/ai/providers/rtzr/utils.ts +127 -0
  313. package/src/api/base-frame.ts +4 -2
  314. package/src/api/caster.ts +17 -23
  315. package/src/api/code-converters.ts +178 -535
  316. package/src/api/config.ts +125 -0
  317. package/src/api/context.ts +7 -17
  318. package/src/api/decorators.ts +176 -46
  319. package/src/api/index.ts +2 -2
  320. package/src/api/sonamu.ts +190 -167
  321. package/src/api/validator.ts +83 -0
  322. package/src/bin/build-config.ts +8 -1
  323. package/src/bin/cli.ts +258 -124
  324. package/src/bin/hot-hook-register.ts +22 -0
  325. package/src/bin/loader-register.ts +38 -0
  326. package/src/database/_batch_update.ts +46 -31
  327. package/src/database/base-model.ts +390 -182
  328. package/src/database/base-model.types.ts +155 -0
  329. package/src/database/code-generator.ts +13 -32
  330. package/src/database/db.ts +40 -96
  331. package/src/database/puri-subset.test-d.ts +471 -0
  332. package/src/database/puri-subset.types.ts +195 -0
  333. package/src/database/puri-wrapper.ts +58 -67
  334. package/src/database/puri.ts +229 -148
  335. package/src/database/puri.types.ts +76 -30
  336. package/src/database/transaction-context.ts +1 -1
  337. package/src/database/upsert-builder.ts +262 -132
  338. package/src/entity/entity-manager.ts +48 -36
  339. package/src/entity/entity.ts +330 -248
  340. package/src/exceptions/error-handler.ts +3 -3
  341. package/src/exceptions/so-exceptions.ts +11 -11
  342. package/src/file-storage/driver.ts +5 -5
  343. package/src/file-storage/file-storage.ts +2 -2
  344. package/src/index.ts +18 -10
  345. package/src/migration/code-generation.ts +185 -172
  346. package/src/migration/migration-set.ts +80 -293
  347. package/src/migration/migrator.ts +199 -571
  348. package/src/migration/mysql-schema-reader.ts.txt +272 -0
  349. package/src/migration/postgresql-schema-reader.ts +310 -0
  350. package/src/migration/types.ts +6 -39
  351. package/src/naite/messaging-types.ts +51 -0
  352. package/src/naite/naite-reporter.ts +128 -0
  353. package/src/naite/naite.ts +415 -0
  354. package/src/shared/web.shared.ts.txt +20 -24
  355. package/src/stream/sse.ts +5 -5
  356. package/src/syncer/api-parser.ts +282 -0
  357. package/src/syncer/checksum.ts +140 -0
  358. package/src/syncer/code-generator.ts +198 -0
  359. package/src/syncer/entity-operations.ts +65 -0
  360. package/src/syncer/file-patterns.ts +56 -0
  361. package/src/syncer/index.ts +6 -0
  362. package/src/syncer/module-loader.ts +128 -0
  363. package/src/syncer/syncer.ts +389 -1453
  364. package/src/template/entity-converter.ts +114 -0
  365. package/src/template/helpers.ts +81 -0
  366. package/src/{templates → template/implementations}/entity.template.ts +7 -7
  367. package/src/{templates → template/implementations}/generated.template.ts +101 -101
  368. package/src/{templates → template/implementations}/generated_http.template.ts +27 -57
  369. package/src/template/implementations/generated_sso.template.ts +151 -0
  370. package/src/{templates → template/implementations}/init_types.template.ts +5 -7
  371. package/src/{templates → template/implementations}/model.template.ts +52 -43
  372. package/src/{templates → template/implementations}/model_test.template.ts +5 -5
  373. package/src/{templates → template/implementations}/service.template.ts +66 -82
  374. package/src/{templates → template/implementations}/view_enums_buttonset.template.ts +3 -3
  375. package/src/{templates → template/implementations}/view_enums_dropdown.template.ts +4 -20
  376. package/src/{templates → template/implementations}/view_enums_select.template.ts +4 -4
  377. package/src/{templates → template/implementations}/view_form.template.ts +40 -83
  378. package/src/{templates → template/implementations}/view_id_all_select.template.ts +3 -3
  379. package/src/{templates → template/implementations}/view_id_async_select.template.ts +10 -24
  380. package/src/{templates → template/implementations}/view_list.template.ts +60 -152
  381. package/src/{templates → template/implementations}/view_list_columns.template.ts +5 -11
  382. package/src/{templates → template/implementations}/view_search_input.template.ts +3 -3
  383. package/src/template/index.ts +6 -0
  384. package/src/template/template-manager.ts +166 -0
  385. package/src/template/template-types.ts +16 -0
  386. package/src/template/template.ts +105 -0
  387. package/src/template/zod-converter.ts +525 -0
  388. package/src/testing/_relation-graph.ts +18 -11
  389. package/src/testing/fixture-manager.ts +472 -359
  390. package/src/types/types.ts +553 -308
  391. package/src/typings/knex.d.ts +7 -9
  392. package/src/utils/async-utils.ts +23 -10
  393. package/src/utils/console-util.ts +4 -0
  394. package/src/utils/controller.ts +3 -0
  395. package/src/utils/esm-utils.ts +59 -0
  396. package/src/utils/formatter.ts +109 -0
  397. package/src/utils/fs-utils.ts +1 -1
  398. package/src/utils/lodash-able.ts +1 -4
  399. package/src/utils/object-utils.ts +217 -0
  400. package/src/utils/path-utils.ts +99 -0
  401. package/src/utils/process-utils.ts +46 -0
  402. package/src/utils/sql-parser.ts +23 -5
  403. package/src/utils/type-utils.ts +83 -0
  404. package/src/utils/utils.ts +66 -43
  405. package/src/utils/zod-error.ts +3 -4
  406. package/dist/api/base-frame.js.map +0 -1
  407. package/dist/api/caster.js.map +0 -1
  408. package/dist/api/code-converters.js.map +0 -1
  409. package/dist/api/context.js.map +0 -1
  410. package/dist/api/decorators.js.map +0 -1
  411. package/dist/api/index.js.map +0 -1
  412. package/dist/api/sonamu.js.map +0 -1
  413. package/dist/bin/build-config.js.map +0 -1
  414. package/dist/bin/cli-wrapper.d.ts +0 -3
  415. package/dist/bin/cli-wrapper.d.ts.map +0 -1
  416. package/dist/bin/cli-wrapper.js +0 -3
  417. package/dist/bin/cli-wrapper.js.map +0 -1
  418. package/dist/bin/cli.js.map +0 -1
  419. package/dist/database/_batch_update.js.map +0 -1
  420. package/dist/database/base-model.js.map +0 -1
  421. package/dist/database/code-generator.js.map +0 -1
  422. package/dist/database/db.js.map +0 -1
  423. package/dist/database/knex-plugins/knex-on-duplicate-update.d.ts +0 -2
  424. package/dist/database/knex-plugins/knex-on-duplicate-update.d.ts.map +0 -1
  425. package/dist/database/knex-plugins/knex-on-duplicate-update.js +0 -2
  426. package/dist/database/knex-plugins/knex-on-duplicate-update.js.map +0 -1
  427. package/dist/database/puri-wrapper.js.map +0 -1
  428. package/dist/database/puri.js.map +0 -1
  429. package/dist/database/puri.types.js.map +0 -1
  430. package/dist/database/transaction-context.js.map +0 -1
  431. package/dist/database/upsert-builder.js.map +0 -1
  432. package/dist/entity/entity-manager.js.map +0 -1
  433. package/dist/entity/entity-utils.d.ts +0 -61
  434. package/dist/entity/entity-utils.d.ts.map +0 -1
  435. package/dist/entity/entity-utils.js +0 -2
  436. package/dist/entity/entity-utils.js.map +0 -1
  437. package/dist/entity/entity.js.map +0 -1
  438. package/dist/exceptions/error-handler.js.map +0 -1
  439. package/dist/exceptions/so-exceptions.js.map +0 -1
  440. package/dist/file-storage/driver.js.map +0 -1
  441. package/dist/file-storage/file-storage.js.map +0 -1
  442. package/dist/index.js.map +0 -1
  443. package/dist/migration/code-generation.js.map +0 -1
  444. package/dist/migration/migration-set.js.map +0 -1
  445. package/dist/migration/migrator.js.map +0 -1
  446. package/dist/migration/types.js.map +0 -1
  447. package/dist/stream/index.js.map +0 -1
  448. package/dist/stream/sse.js.map +0 -1
  449. package/dist/syncer/index.js.map +0 -1
  450. package/dist/syncer/syncer.js.map +0 -1
  451. package/dist/templates/base-template.d.ts +0 -13
  452. package/dist/templates/base-template.d.ts.map +0 -1
  453. package/dist/templates/base-template.js +0 -2
  454. package/dist/templates/base-template.js.map +0 -1
  455. package/dist/templates/entity.template.d.ts.map +0 -1
  456. package/dist/templates/entity.template.js +0 -2
  457. package/dist/templates/entity.template.js.map +0 -1
  458. package/dist/templates/generated.template.d.ts.map +0 -1
  459. package/dist/templates/generated.template.js +0 -2
  460. package/dist/templates/generated.template.js.map +0 -1
  461. package/dist/templates/generated_http.template.d.ts.map +0 -1
  462. package/dist/templates/generated_http.template.js +0 -2
  463. package/dist/templates/generated_http.template.js.map +0 -1
  464. package/dist/templates/generated_sso.template.d.ts.map +0 -1
  465. package/dist/templates/generated_sso.template.js +0 -2
  466. package/dist/templates/generated_sso.template.js.map +0 -1
  467. package/dist/templates/index.d.ts +0 -2
  468. package/dist/templates/index.d.ts.map +0 -1
  469. package/dist/templates/index.js +0 -2
  470. package/dist/templates/index.js.map +0 -1
  471. package/dist/templates/init_types.template.d.ts.map +0 -1
  472. package/dist/templates/init_types.template.js +0 -2
  473. package/dist/templates/init_types.template.js.map +0 -1
  474. package/dist/templates/model.template.d.ts +0 -17
  475. package/dist/templates/model.template.d.ts.map +0 -1
  476. package/dist/templates/model.template.js +0 -2
  477. package/dist/templates/model.template.js.map +0 -1
  478. package/dist/templates/model_test.template.d.ts.map +0 -1
  479. package/dist/templates/model_test.template.js +0 -2
  480. package/dist/templates/model_test.template.js.map +0 -1
  481. package/dist/templates/service.template.d.ts.map +0 -1
  482. package/dist/templates/service.template.js +0 -2
  483. package/dist/templates/service.template.js.map +0 -1
  484. package/dist/templates/view_enums_buttonset.template.d.ts.map +0 -1
  485. package/dist/templates/view_enums_buttonset.template.js +0 -2
  486. package/dist/templates/view_enums_buttonset.template.js.map +0 -1
  487. package/dist/templates/view_enums_dropdown.template.d.ts.map +0 -1
  488. package/dist/templates/view_enums_dropdown.template.js +0 -2
  489. package/dist/templates/view_enums_dropdown.template.js.map +0 -1
  490. package/dist/templates/view_enums_select.template.d.ts.map +0 -1
  491. package/dist/templates/view_enums_select.template.js +0 -2
  492. package/dist/templates/view_enums_select.template.js.map +0 -1
  493. package/dist/templates/view_form.template.d.ts.map +0 -1
  494. package/dist/templates/view_form.template.js +0 -2
  495. package/dist/templates/view_form.template.js.map +0 -1
  496. package/dist/templates/view_id_all_select.template.d.ts.map +0 -1
  497. package/dist/templates/view_id_all_select.template.js +0 -2
  498. package/dist/templates/view_id_all_select.template.js.map +0 -1
  499. package/dist/templates/view_id_async_select.template.d.ts.map +0 -1
  500. package/dist/templates/view_id_async_select.template.js +0 -2
  501. package/dist/templates/view_id_async_select.template.js.map +0 -1
  502. package/dist/templates/view_list.template.d.ts.map +0 -1
  503. package/dist/templates/view_list.template.js +0 -2
  504. package/dist/templates/view_list.template.js.map +0 -1
  505. package/dist/templates/view_list_columns.template.d.ts +0 -17
  506. package/dist/templates/view_list_columns.template.d.ts.map +0 -1
  507. package/dist/templates/view_list_columns.template.js +0 -2
  508. package/dist/templates/view_list_columns.template.js.map +0 -1
  509. package/dist/templates/view_search_input.template.d.ts.map +0 -1
  510. package/dist/templates/view_search_input.template.js +0 -2
  511. package/dist/templates/view_search_input.template.js.map +0 -1
  512. package/dist/testing/_relation-graph.js.map +0 -1
  513. package/dist/testing/fixture-manager.js.map +0 -1
  514. package/dist/types/types.js.map +0 -1
  515. package/dist/typings/knex.d.js.map +0 -1
  516. package/dist/utils/async-utils.js.map +0 -1
  517. package/dist/utils/controller.js.map +0 -1
  518. package/dist/utils/fs-utils.js.map +0 -1
  519. package/dist/utils/lodash-able.js.map +0 -1
  520. package/dist/utils/model.js.map +0 -1
  521. package/dist/utils/sql-parser.js.map +0 -1
  522. package/dist/utils/utils.js.map +0 -1
  523. package/dist/utils/zod-error.js.map +0 -1
  524. package/src/bin/cli-wrapper.ts +0 -75
  525. package/src/database/knex-plugins/knex-on-duplicate-update.ts +0 -45
  526. package/src/entity/entity-utils.ts +0 -291
  527. package/src/templates/base-template.ts +0 -19
  528. package/src/templates/generated_sso.template.ts +0 -138
  529. package/src/templates/index.ts +0 -1
@@ -0,0 +1,47 @@
1
+ import { lazySchema, zodSchema } from "@ai-sdk/provider-utils";
2
+ import { z } from "zod";
3
+ const rtzrOptionsShape = {
4
+ domain: z.enum([
5
+ "CALL",
6
+ "GENERAL"
7
+ ]).default("GENERAL"),
8
+ language: z.string(),
9
+ languageCandidates: z.array(z.string()).optional(),
10
+ keywords: z.union([
11
+ z.string(),
12
+ z.array(z.string())
13
+ ]).optional(),
14
+ paragraphSplitterMax: z.number().optional(),
15
+ diarization: z.boolean().optional(),
16
+ itn: z.boolean().optional(),
17
+ diarizationSpkCount: z.number().optional(),
18
+ disfluencyFilter: z.boolean().optional(),
19
+ paragraphSplitter: z.boolean().optional(),
20
+ profanityFilter: z.boolean().optional(),
21
+ wordTimestamp: z.boolean().optional()
22
+ };
23
+ const rtzrOptionsMap = {
24
+ domain: "domain",
25
+ language: "language",
26
+ languageCandidates: "language_candidates",
27
+ keywords: "keywords",
28
+ paragraphSplitterMax: "paragraph_splitter.max",
29
+ diarization: "use_diarization",
30
+ itn: "use_itn",
31
+ diarizationSpkCount: "diarization.spk_count",
32
+ disfluencyFilter: "use_disfluency_filter",
33
+ paragraphSplitter: "use_paragraph_splitter",
34
+ profanityFilter: "use_profanity_filter",
35
+ wordTimestamp: "use_word_timestamp"
36
+ };
37
+ // https://developers.rtzr.ai/docs/stt-file/
38
+ export const rtzrTranscriptionProviderOptions = lazySchema(()=>zodSchema(z.object(rtzrOptionsShape).transform((item)=>{
39
+ return Object.fromEntries(Object.entries(item).map(([key, value])=>{
40
+ return [
41
+ rtzrOptionsMap[key],
42
+ value
43
+ ];
44
+ }));
45
+ })));
46
+
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9haS9wcm92aWRlcnMvcnR6ci9vcHRpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgSW5mZXJTY2hlbWEsIGxhenlTY2hlbWEsIHpvZFNjaGVtYSB9IGZyb20gXCJAYWktc2RrL3Byb3ZpZGVyLXV0aWxzXCI7XG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG5leHBvcnQgdHlwZSBSdHpyVHJhbnNjcmlwdGlvbk1vZGVsSWQgPSBcIndoaXNwZXJcIiB8IFwic29tbWVyc1wiIHwgKHN0cmluZyAmIHt9KTtcblxuY29uc3QgcnR6ck9wdGlvbnNTaGFwZSA9IHtcbiAgZG9tYWluOiB6LmVudW0oW1wiQ0FMTFwiLCBcIkdFTkVSQUxcIl0pLmRlZmF1bHQoXCJHRU5FUkFMXCIpLFxuICBsYW5ndWFnZTogei5zdHJpbmcoKSxcbiAgbGFuZ3VhZ2VDYW5kaWRhdGVzOiB6LmFycmF5KHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG4gIGtleXdvcmRzOiB6LnVuaW9uKFt6LnN0cmluZygpLCB6LmFycmF5KHouc3RyaW5nKCkpXSkub3B0aW9uYWwoKSxcbiAgcGFyYWdyYXBoU3BsaXR0ZXJNYXg6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgZGlhcml6YXRpb246IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIGl0bjogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgZGlhcml6YXRpb25TcGtDb3VudDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBkaXNmbHVlbmN5RmlsdGVyOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICBwYXJhZ3JhcGhTcGxpdHRlcjogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgcHJvZmFuaXR5RmlsdGVyOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICB3b3JkVGltZXN0YW1wOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxufTtcblxuY29uc3QgcnR6ck9wdGlvbnNNYXA6IFJlY29yZDxrZXlvZiB0eXBlb2YgcnR6ck9wdGlvbnNTaGFwZSwgc3RyaW5nPiA9IHtcbiAgZG9tYWluOiBcImRvbWFpblwiLFxuICBsYW5ndWFnZTogXCJsYW5ndWFnZVwiLFxuICBsYW5ndWFnZUNhbmRpZGF0ZXM6IFwibGFuZ3VhZ2VfY2FuZGlkYXRlc1wiLFxuICBrZXl3b3JkczogXCJrZXl3b3Jkc1wiLFxuICBwYXJhZ3JhcGhTcGxpdHRlck1heDogXCJwYXJhZ3JhcGhfc3BsaXR0ZXIubWF4XCIsXG4gIGRpYXJpemF0aW9uOiBcInVzZV9kaWFyaXphdGlvblwiLFxuICBpdG46IFwidXNlX2l0blwiLFxuICBkaWFyaXphdGlvblNwa0NvdW50OiBcImRpYXJpemF0aW9uLnNwa19jb3VudFwiLFxuICBkaXNmbHVlbmN5RmlsdGVyOiBcInVzZV9kaXNmbHVlbmN5X2ZpbHRlclwiLFxuICBwYXJhZ3JhcGhTcGxpdHRlcjogXCJ1c2VfcGFyYWdyYXBoX3NwbGl0dGVyXCIsXG4gIHByb2Zhbml0eUZpbHRlcjogXCJ1c2VfcHJvZmFuaXR5X2ZpbHRlclwiLFxuICB3b3JkVGltZXN0YW1wOiBcInVzZV93b3JkX3RpbWVzdGFtcFwiLFxufTtcblxuLy8gaHR0cHM6Ly9kZXZlbG9wZXJzLnJ0enIuYWkvZG9jcy9zdHQtZmlsZS9cbmV4cG9ydCBjb25zdCBydHpyVHJhbnNjcmlwdGlvblByb3ZpZGVyT3B0aW9ucyA9IGxhenlTY2hlbWEoKCkgPT5cbiAgem9kU2NoZW1hKFxuICAgIHoub2JqZWN0KHJ0enJPcHRpb25zU2hhcGUpLnRyYW5zZm9ybSgoaXRlbSkgPT4ge1xuICAgICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoaXRlbSkubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICByZXR1cm4gW3J0enJPcHRpb25zTWFwW2tleSBhcyBrZXlvZiB0eXBlb2YgcnR6ck9wdGlvbnNTaGFwZV0sIHZhbHVlXTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH0pLFxuICApLFxuKTtcblxuZXhwb3J0IHR5cGUgUnR6clRyYW5zY3JpcHRpb25Qcm92aWRlck9wdGlvbnMgPSBJbmZlclNjaGVtYTx0eXBlb2YgcnR6clRyYW5zY3JpcHRpb25Qcm92aWRlck9wdGlvbnM+O1xuIl0sIm5hbWVzIjpbImxhenlTY2hlbWEiLCJ6b2RTY2hlbWEiLCJ6IiwicnR6ck9wdGlvbnNTaGFwZSIsImRvbWFpbiIsImVudW0iLCJkZWZhdWx0IiwibGFuZ3VhZ2UiLCJzdHJpbmciLCJsYW5ndWFnZUNhbmRpZGF0ZXMiLCJhcnJheSIsIm9wdGlvbmFsIiwia2V5d29yZHMiLCJ1bmlvbiIsInBhcmFncmFwaFNwbGl0dGVyTWF4IiwibnVtYmVyIiwiZGlhcml6YXRpb24iLCJib29sZWFuIiwiaXRuIiwiZGlhcml6YXRpb25TcGtDb3VudCIsImRpc2ZsdWVuY3lGaWx0ZXIiLCJwYXJhZ3JhcGhTcGxpdHRlciIsInByb2Zhbml0eUZpbHRlciIsIndvcmRUaW1lc3RhbXAiLCJydHpyT3B0aW9uc01hcCIsInJ0enJUcmFuc2NyaXB0aW9uUHJvdmlkZXJPcHRpb25zIiwib2JqZWN0IiwidHJhbnNmb3JtIiwiaXRlbSIsIk9iamVjdCIsImZyb21FbnRyaWVzIiwiZW50cmllcyIsIm1hcCIsImtleSIsInZhbHVlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUEyQkEsVUFBVSxFQUFFQyxTQUFTLFFBQVEseUJBQXlCO0FBQ2pGLFNBQVNDLENBQUMsUUFBUSxNQUFNO0FBSXhCLE1BQU1DLG1CQUFtQjtJQUN2QkMsUUFBUUYsRUFBRUcsSUFBSSxDQUFDO1FBQUM7UUFBUTtLQUFVLEVBQUVDLE9BQU8sQ0FBQztJQUM1Q0MsVUFBVUwsRUFBRU0sTUFBTTtJQUNsQkMsb0JBQW9CUCxFQUFFUSxLQUFLLENBQUNSLEVBQUVNLE1BQU0sSUFBSUcsUUFBUTtJQUNoREMsVUFBVVYsRUFBRVcsS0FBSyxDQUFDO1FBQUNYLEVBQUVNLE1BQU07UUFBSU4sRUFBRVEsS0FBSyxDQUFDUixFQUFFTSxNQUFNO0tBQUksRUFBRUcsUUFBUTtJQUM3REcsc0JBQXNCWixFQUFFYSxNQUFNLEdBQUdKLFFBQVE7SUFDekNLLGFBQWFkLEVBQUVlLE9BQU8sR0FBR04sUUFBUTtJQUNqQ08sS0FBS2hCLEVBQUVlLE9BQU8sR0FBR04sUUFBUTtJQUN6QlEscUJBQXFCakIsRUFBRWEsTUFBTSxHQUFHSixRQUFRO0lBQ3hDUyxrQkFBa0JsQixFQUFFZSxPQUFPLEdBQUdOLFFBQVE7SUFDdENVLG1CQUFtQm5CLEVBQUVlLE9BQU8sR0FBR04sUUFBUTtJQUN2Q1csaUJBQWlCcEIsRUFBRWUsT0FBTyxHQUFHTixRQUFRO0lBQ3JDWSxlQUFlckIsRUFBRWUsT0FBTyxHQUFHTixRQUFRO0FBQ3JDO0FBRUEsTUFBTWEsaUJBQWdFO0lBQ3BFcEIsUUFBUTtJQUNSRyxVQUFVO0lBQ1ZFLG9CQUFvQjtJQUNwQkcsVUFBVTtJQUNWRSxzQkFBc0I7SUFDdEJFLGFBQWE7SUFDYkUsS0FBSztJQUNMQyxxQkFBcUI7SUFDckJDLGtCQUFrQjtJQUNsQkMsbUJBQW1CO0lBQ25CQyxpQkFBaUI7SUFDakJDLGVBQWU7QUFDakI7QUFFQSw0Q0FBNEM7QUFDNUMsT0FBTyxNQUFNRSxtQ0FBbUN6QixXQUFXLElBQ3pEQyxVQUNFQyxFQUFFd0IsTUFBTSxDQUFDdkIsa0JBQWtCd0IsU0FBUyxDQUFDLENBQUNDO1FBQ3BDLE9BQU9DLE9BQU9DLFdBQVcsQ0FDdkJELE9BQU9FLE9BQU8sQ0FBQ0gsTUFBTUksR0FBRyxDQUFDLENBQUMsQ0FBQ0MsS0FBS0MsTUFBTTtZQUNwQyxPQUFPO2dCQUFDVixjQUFjLENBQUNTLElBQXFDO2dCQUFFQzthQUFNO1FBQ3RFO0lBRUosS0FFRiJ9
@@ -0,0 +1,18 @@
1
+ import { type ProviderV3, type TranscriptionModelV3 } from "@ai-sdk/provider";
2
+ import { type FetchFunction } from "@ai-sdk/provider-utils";
3
+ import type { RtzrTranscriptionModelId } from "./options";
4
+ export interface RtzrProvider extends ProviderV3 {
5
+ (modelId: RtzrTranscriptionModelId): TranscriptionModelV3;
6
+ transcription(modelId: RtzrTranscriptionModelId): TranscriptionModelV3;
7
+ }
8
+ export interface RtzrProviderSettings {
9
+ baseURL?: string;
10
+ clientId?: string;
11
+ clientSecret?: string;
12
+ headers?: Record<string, string>;
13
+ name?: string;
14
+ fetch?: FetchFunction;
15
+ }
16
+ export declare function createRtzr(options?: RtzrProviderSettings): RtzrProvider;
17
+ export declare const rtzr: RtzrProvider;
18
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/ai/providers/rtzr/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,UAAU,EAAE,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EACL,KAAK,aAAa,EAKnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAE1D,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,CAAC,OAAO,EAAE,wBAAwB,GAAG,oBAAoB,CAAC;IAC1D,aAAa,CAAC,OAAO,EAAE,wBAAwB,GAAG,oBAAoB,CAAC;CACxE;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,oBAAyB,GAAG,YAAY,CA+D3E;AAED,eAAO,MAAM,IAAI,cAAe,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { NoSuchModelError } from "@ai-sdk/provider";
2
+ import { loadApiKey, loadOptionalSetting, withoutTrailingSlash, withUserAgentSuffix } from "@ai-sdk/provider-utils";
3
+ import { RtzrTranscriptionModel } from "./model.js";
4
+ export function createRtzr(options = {}) {
5
+ const baseURL = withoutTrailingSlash(loadOptionalSetting({
6
+ settingValue: options.baseURL,
7
+ environmentVariableName: "RTZR_BASE_URL"
8
+ })) ?? "https://openapi.vito.ai/v1";
9
+ const providerName = options.name ?? "rtzr";
10
+ const getHeaders = ()=>withUserAgentSuffix({
11
+ ...options.headers
12
+ }, `cartanova-ai/rtzr-api-provider`);
13
+ const createTranscriptionModel = (modelId)=>{
14
+ const clientId = loadApiKey({
15
+ apiKey: options.clientId,
16
+ environmentVariableName: "RTZR_CLIENT_ID",
17
+ description: "RTZR"
18
+ });
19
+ const clientSecret = loadApiKey({
20
+ apiKey: options.clientSecret,
21
+ environmentVariableName: "RTZR_CLIENT_SECRET",
22
+ description: "RTZR"
23
+ });
24
+ return new RtzrTranscriptionModel(modelId, {
25
+ provider: `${providerName}.transcription`,
26
+ auth: {
27
+ clientId,
28
+ clientSecret
29
+ },
30
+ url: ({ path })=>`${baseURL}${path}`,
31
+ headers: getHeaders,
32
+ fetch: options.fetch
33
+ });
34
+ };
35
+ const provider = (modelId)=>createTranscriptionModel(modelId);
36
+ provider.specificationVersion = "v3";
37
+ provider.transcription = createTranscriptionModel;
38
+ provider.transcriptionModel = createTranscriptionModel;
39
+ const handleUnsupportedTypes = (modelType)=>{
40
+ return (modelId)=>{
41
+ throw new NoSuchModelError({
42
+ modelId,
43
+ modelType
44
+ });
45
+ };
46
+ };
47
+ provider.languageModel = handleUnsupportedTypes("languageModel");
48
+ provider.embeddingModel = handleUnsupportedTypes("embeddingModel");
49
+ provider.imageModel = handleUnsupportedTypes("imageModel");
50
+ return provider;
51
+ }
52
+ export const rtzr = createRtzr();
53
+
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9haS9wcm92aWRlcnMvcnR6ci9wcm92aWRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb1N1Y2hNb2RlbEVycm9yLCB0eXBlIFByb3ZpZGVyVjMsIHR5cGUgVHJhbnNjcmlwdGlvbk1vZGVsVjMgfSBmcm9tIFwiQGFpLXNkay9wcm92aWRlclwiO1xuaW1wb3J0IHtcbiAgdHlwZSBGZXRjaEZ1bmN0aW9uLFxuICBsb2FkQXBpS2V5LFxuICBsb2FkT3B0aW9uYWxTZXR0aW5nLFxuICB3aXRob3V0VHJhaWxpbmdTbGFzaCxcbiAgd2l0aFVzZXJBZ2VudFN1ZmZpeCxcbn0gZnJvbSBcIkBhaS1zZGsvcHJvdmlkZXItdXRpbHNcIjtcbmltcG9ydCB7IFJ0enJUcmFuc2NyaXB0aW9uTW9kZWwgfSBmcm9tIFwiLi9tb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBSdHpyVHJhbnNjcmlwdGlvbk1vZGVsSWQgfSBmcm9tIFwiLi9vcHRpb25zXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnR6clByb3ZpZGVyIGV4dGVuZHMgUHJvdmlkZXJWMyB7XG4gIChtb2RlbElkOiBSdHpyVHJhbnNjcmlwdGlvbk1vZGVsSWQpOiBUcmFuc2NyaXB0aW9uTW9kZWxWMztcbiAgdHJhbnNjcmlwdGlvbihtb2RlbElkOiBSdHpyVHJhbnNjcmlwdGlvbk1vZGVsSWQpOiBUcmFuc2NyaXB0aW9uTW9kZWxWMztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSdHpyUHJvdmlkZXJTZXR0aW5ncyB7XG4gIGJhc2VVUkw/OiBzdHJpbmc7XG4gIGNsaWVudElkPzogc3RyaW5nO1xuICBjbGllbnRTZWNyZXQ/OiBzdHJpbmc7XG4gIGhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBuYW1lPzogc3RyaW5nO1xuICBmZXRjaD86IEZldGNoRnVuY3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSdHpyKG9wdGlvbnM6IFJ0enJQcm92aWRlclNldHRpbmdzID0ge30pOiBSdHpyUHJvdmlkZXIge1xuICBjb25zdCBiYXNlVVJMID1cbiAgICB3aXRob3V0VHJhaWxpbmdTbGFzaChcbiAgICAgIGxvYWRPcHRpb25hbFNldHRpbmcoe1xuICAgICAgICBzZXR0aW5nVmFsdWU6IG9wdGlvbnMuYmFzZVVSTCxcbiAgICAgICAgZW52aXJvbm1lbnRWYXJpYWJsZU5hbWU6IFwiUlRaUl9CQVNFX1VSTFwiLFxuICAgICAgfSksXG4gICAgKSA/PyBcImh0dHBzOi8vb3BlbmFwaS52aXRvLmFpL3YxXCI7XG5cbiAgY29uc3QgcHJvdmlkZXJOYW1lID0gb3B0aW9ucy5uYW1lID8/IFwicnR6clwiO1xuXG4gIGNvbnN0IGdldEhlYWRlcnMgPSAoKSA9PlxuICAgIHdpdGhVc2VyQWdlbnRTdWZmaXgoXG4gICAgICB7XG4gICAgICAgIC4uLm9wdGlvbnMuaGVhZGVycyxcbiAgICAgIH0sXG4gICAgICBgY2FydGFub3ZhLWFpL3J0enItYXBpLXByb3ZpZGVyYCxcbiAgICApO1xuXG4gIGNvbnN0IGNyZWF0ZVRyYW5zY3JpcHRpb25Nb2RlbCA9IChtb2RlbElkOiBSdHpyVHJhbnNjcmlwdGlvbk1vZGVsSWQpID0+IHtcbiAgICBjb25zdCBjbGllbnRJZCA9IGxvYWRBcGlLZXkoe1xuICAgICAgYXBpS2V5OiBvcHRpb25zLmNsaWVudElkLFxuICAgICAgZW52aXJvbm1lbnRWYXJpYWJsZU5hbWU6IFwiUlRaUl9DTElFTlRfSURcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlJUWlJcIixcbiAgICB9KTtcblxuICAgIGNvbnN0IGNsaWVudFNlY3JldCA9IGxvYWRBcGlLZXkoe1xuICAgICAgYXBpS2V5OiBvcHRpb25zLmNsaWVudFNlY3JldCxcbiAgICAgIGVudmlyb25tZW50VmFyaWFibGVOYW1lOiBcIlJUWlJfQ0xJRU5UX1NFQ1JFVFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiUlRaUlwiLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBSdHpyVHJhbnNjcmlwdGlvbk1vZGVsKG1vZGVsSWQsIHtcbiAgICAgIHByb3ZpZGVyOiBgJHtwcm92aWRlck5hbWV9LnRyYW5zY3JpcHRpb25gLFxuICAgICAgYXV0aDoge1xuICAgICAgICBjbGllbnRJZCxcbiAgICAgICAgY2xpZW50U2VjcmV0LFxuICAgICAgfSxcbiAgICAgIHVybDogKHsgcGF0aCB9KSA9PiBgJHtiYXNlVVJMfSR7cGF0aH1gLFxuICAgICAgaGVhZGVyczogZ2V0SGVhZGVycyxcbiAgICAgIGZldGNoOiBvcHRpb25zLmZldGNoLFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHByb3ZpZGVyID0gKG1vZGVsSWQ6IFJ0enJUcmFuc2NyaXB0aW9uTW9kZWxJZCkgPT4gY3JlYXRlVHJhbnNjcmlwdGlvbk1vZGVsKG1vZGVsSWQpO1xuXG4gIHByb3ZpZGVyLnNwZWNpZmljYXRpb25WZXJzaW9uID0gXCJ2M1wiIGFzIGNvbnN0O1xuICBwcm92aWRlci50cmFuc2NyaXB0aW9uID0gY3JlYXRlVHJhbnNjcmlwdGlvbk1vZGVsO1xuICBwcm92aWRlci50cmFuc2NyaXB0aW9uTW9kZWwgPSBjcmVhdGVUcmFuc2NyaXB0aW9uTW9kZWw7XG5cbiAgY29uc3QgaGFuZGxlVW5zdXBwb3J0ZWRUeXBlcyA9IChtb2RlbFR5cGU6IFwibGFuZ3VhZ2VNb2RlbFwiIHwgXCJlbWJlZGRpbmdNb2RlbFwiIHwgXCJpbWFnZU1vZGVsXCIpID0+IHtcbiAgICByZXR1cm4gKG1vZGVsSWQ6IHN0cmluZykgPT4ge1xuICAgICAgdGhyb3cgbmV3IE5vU3VjaE1vZGVsRXJyb3Ioe1xuICAgICAgICBtb2RlbElkLFxuICAgICAgICBtb2RlbFR5cGUsXG4gICAgICB9KTtcbiAgICB9O1xuICB9O1xuXG4gIHByb3ZpZGVyLmxhbmd1YWdlTW9kZWwgPSBoYW5kbGVVbnN1cHBvcnRlZFR5cGVzKFwibGFuZ3VhZ2VNb2RlbFwiKTtcbiAgcHJvdmlkZXIuZW1iZWRkaW5nTW9kZWwgPSBoYW5kbGVVbnN1cHBvcnRlZFR5cGVzKFwiZW1iZWRkaW5nTW9kZWxcIik7XG4gIHByb3ZpZGVyLmltYWdlTW9kZWwgPSBoYW5kbGVVbnN1cHBvcnRlZFR5cGVzKFwiaW1hZ2VNb2RlbFwiKTtcbiAgcmV0dXJuIHByb3ZpZGVyIGFzIFJ0enJQcm92aWRlcjtcbn1cblxuZXhwb3J0IGNvbnN0IHJ0enIgPSBjcmVhdGVSdHpyKCk7XG4iXSwibmFtZXMiOlsiTm9TdWNoTW9kZWxFcnJvciIsImxvYWRBcGlLZXkiLCJsb2FkT3B0aW9uYWxTZXR0aW5nIiwid2l0aG91dFRyYWlsaW5nU2xhc2giLCJ3aXRoVXNlckFnZW50U3VmZml4IiwiUnR6clRyYW5zY3JpcHRpb25Nb2RlbCIsImNyZWF0ZVJ0enIiLCJvcHRpb25zIiwiYmFzZVVSTCIsInNldHRpbmdWYWx1ZSIsImVudmlyb25tZW50VmFyaWFibGVOYW1lIiwicHJvdmlkZXJOYW1lIiwibmFtZSIsImdldEhlYWRlcnMiLCJoZWFkZXJzIiwiY3JlYXRlVHJhbnNjcmlwdGlvbk1vZGVsIiwibW9kZWxJZCIsImNsaWVudElkIiwiYXBpS2V5IiwiZGVzY3JpcHRpb24iLCJjbGllbnRTZWNyZXQiLCJwcm92aWRlciIsImF1dGgiLCJ1cmwiLCJwYXRoIiwiZmV0Y2giLCJzcGVjaWZpY2F0aW9uVmVyc2lvbiIsInRyYW5zY3JpcHRpb24iLCJ0cmFuc2NyaXB0aW9uTW9kZWwiLCJoYW5kbGVVbnN1cHBvcnRlZFR5cGVzIiwibW9kZWxUeXBlIiwibGFuZ3VhZ2VNb2RlbCIsImVtYmVkZGluZ01vZGVsIiwiaW1hZ2VNb2RlbCIsInJ0enIiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGdCQUFnQixRQUFvRCxtQkFBbUI7QUFDaEcsU0FFRUMsVUFBVSxFQUNWQyxtQkFBbUIsRUFDbkJDLG9CQUFvQixFQUNwQkMsbUJBQW1CLFFBQ2QseUJBQXlCO0FBQ2hDLFNBQVNDLHNCQUFzQixRQUFRLGFBQVU7QUFpQmpELE9BQU8sU0FBU0MsV0FBV0MsVUFBZ0MsQ0FBQyxDQUFDO0lBQzNELE1BQU1DLFVBQ0pMLHFCQUNFRCxvQkFBb0I7UUFDbEJPLGNBQWNGLFFBQVFDLE9BQU87UUFDN0JFLHlCQUF5QjtJQUMzQixPQUNHO0lBRVAsTUFBTUMsZUFBZUosUUFBUUssSUFBSSxJQUFJO0lBRXJDLE1BQU1DLGFBQWEsSUFDakJULG9CQUNFO1lBQ0UsR0FBR0csUUFBUU8sT0FBTztRQUNwQixHQUNBLENBQUMsOEJBQThCLENBQUM7SUFHcEMsTUFBTUMsMkJBQTJCLENBQUNDO1FBQ2hDLE1BQU1DLFdBQVdoQixXQUFXO1lBQzFCaUIsUUFBUVgsUUFBUVUsUUFBUTtZQUN4QlAseUJBQXlCO1lBQ3pCUyxhQUFhO1FBQ2Y7UUFFQSxNQUFNQyxlQUFlbkIsV0FBVztZQUM5QmlCLFFBQVFYLFFBQVFhLFlBQVk7WUFDNUJWLHlCQUF5QjtZQUN6QlMsYUFBYTtRQUNmO1FBRUEsT0FBTyxJQUFJZCx1QkFBdUJXLFNBQVM7WUFDekNLLFVBQVUsR0FBR1YsYUFBYSxjQUFjLENBQUM7WUFDekNXLE1BQU07Z0JBQ0pMO2dCQUNBRztZQUNGO1lBQ0FHLEtBQUssQ0FBQyxFQUFFQyxJQUFJLEVBQUUsR0FBSyxHQUFHaEIsVUFBVWdCLE1BQU07WUFDdENWLFNBQVNEO1lBQ1RZLE9BQU9sQixRQUFRa0IsS0FBSztRQUN0QjtJQUNGO0lBRUEsTUFBTUosV0FBVyxDQUFDTCxVQUFzQ0QseUJBQXlCQztJQUVqRkssU0FBU0ssb0JBQW9CLEdBQUc7SUFDaENMLFNBQVNNLGFBQWEsR0FBR1o7SUFDekJNLFNBQVNPLGtCQUFrQixHQUFHYjtJQUU5QixNQUFNYyx5QkFBeUIsQ0FBQ0M7UUFDOUIsT0FBTyxDQUFDZDtZQUNOLE1BQU0sSUFBSWhCLGlCQUFpQjtnQkFDekJnQjtnQkFDQWM7WUFDRjtRQUNGO0lBQ0Y7SUFFQVQsU0FBU1UsYUFBYSxHQUFHRix1QkFBdUI7SUFDaERSLFNBQVNXLGNBQWMsR0FBR0gsdUJBQXVCO0lBQ2pEUixTQUFTWSxVQUFVLEdBQUdKLHVCQUF1QjtJQUM3QyxPQUFPUjtBQUNUO0FBRUEsT0FBTyxNQUFNYSxPQUFPNUIsYUFBYSJ9
@@ -0,0 +1,19 @@
1
+ import { type FetchFunction, type ResponseHandler } from "@ai-sdk/provider-utils";
2
+ export declare function handleFetchError({ error, url, requestBodyValues, }: {
3
+ error: unknown;
4
+ url: string;
5
+ requestBodyValues: unknown;
6
+ }): unknown;
7
+ export declare const getFromApi: <T>({ url, headers, successfulResponseHandler, failedResponseHandler, abortSignal, fetch, }: {
8
+ url: string;
9
+ headers?: Record<string, string | undefined>;
10
+ failedResponseHandler: ResponseHandler<Error>;
11
+ successfulResponseHandler: ResponseHandler<T>;
12
+ abortSignal?: AbortSignal;
13
+ fetch?: FetchFunction;
14
+ }) => Promise<{
15
+ value: T;
16
+ rawValue?: unknown;
17
+ responseHeaders?: Record<string, string>;
18
+ }>;
19
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/ai/providers/rtzr/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,eAAe,EAErB,MAAM,wBAAwB,CAAC;AAIhC,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,GAAG,EACH,iBAAiB,GAClB,EAAE;IACD,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB,EAAE,OAAO,CAAC;CAC5B,WAuBA;AAKD,eAAO,MAAM,UAAU,GAAU,CAAC,EAAE,yFAOjC;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7C,qBAAqB,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9C,yBAAyB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;;;;EAiEA,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { APICallError } from "@ai-sdk/provider";
2
+ import { extractResponseHeaders, isAbortError, withUserAgentSuffix } from "@ai-sdk/provider-utils";
3
+ const FETCH_FAILED_ERROR_MESSAGES = [
4
+ "fetch failed",
5
+ "failed to fetch"
6
+ ];
7
+ export function handleFetchError({ error, url, requestBodyValues }) {
8
+ if (isAbortError(error)) {
9
+ return error;
10
+ }
11
+ if (error instanceof TypeError && FETCH_FAILED_ERROR_MESSAGES.includes(error.message.toLowerCase())) {
12
+ const cause = error.cause;
13
+ if (cause != null) {
14
+ return new APICallError({
15
+ message: `Cannot connect to API: ${cause.message}`,
16
+ cause,
17
+ url,
18
+ requestBodyValues,
19
+ isRetryable: true
20
+ });
21
+ }
22
+ }
23
+ return error;
24
+ }
25
+ // use function to allow for mocking in tests:
26
+ const getOriginalFetch = ()=>globalThis.fetch;
27
+ export const getFromApi = async ({ url, headers = {}, successfulResponseHandler, failedResponseHandler, abortSignal, fetch = getOriginalFetch() })=>{
28
+ try {
29
+ const response = await fetch(url, {
30
+ method: "GET",
31
+ headers: withUserAgentSuffix(headers, `cartanova-ai/rtzr-api-provider`),
32
+ signal: abortSignal
33
+ });
34
+ const responseHeaders = extractResponseHeaders(response);
35
+ if (!response.ok) {
36
+ let errorInformation;
37
+ try {
38
+ errorInformation = await failedResponseHandler({
39
+ response,
40
+ url,
41
+ requestBodyValues: {}
42
+ });
43
+ } catch (error) {
44
+ if (isAbortError(error) || APICallError.isInstance(error)) {
45
+ throw error;
46
+ }
47
+ throw new APICallError({
48
+ message: "Failed to process error response",
49
+ cause: error,
50
+ statusCode: response.status,
51
+ url,
52
+ responseHeaders,
53
+ requestBodyValues: {}
54
+ });
55
+ }
56
+ throw errorInformation.value;
57
+ }
58
+ try {
59
+ return await successfulResponseHandler({
60
+ response,
61
+ url,
62
+ requestBodyValues: {}
63
+ });
64
+ } catch (error) {
65
+ if (error instanceof Error) {
66
+ if (isAbortError(error) || APICallError.isInstance(error)) {
67
+ throw error;
68
+ }
69
+ }
70
+ throw new APICallError({
71
+ message: "Failed to process successful response",
72
+ cause: error,
73
+ statusCode: response.status,
74
+ url,
75
+ responseHeaders,
76
+ requestBodyValues: {}
77
+ });
78
+ }
79
+ } catch (error) {
80
+ throw handleFetchError({
81
+ error,
82
+ url,
83
+ requestBodyValues: {}
84
+ });
85
+ }
86
+ };
87
+
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9haS9wcm92aWRlcnMvcnR6ci91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUElDYWxsRXJyb3IgfSBmcm9tIFwiQGFpLXNkay9wcm92aWRlclwiO1xuaW1wb3J0IHtcbiAgZXh0cmFjdFJlc3BvbnNlSGVhZGVycyxcbiAgdHlwZSBGZXRjaEZ1bmN0aW9uLFxuICBpc0Fib3J0RXJyb3IsXG4gIHR5cGUgUmVzcG9uc2VIYW5kbGVyLFxuICB3aXRoVXNlckFnZW50U3VmZml4LFxufSBmcm9tIFwiQGFpLXNkay9wcm92aWRlci11dGlsc1wiO1xuXG5jb25zdCBGRVRDSF9GQUlMRURfRVJST1JfTUVTU0FHRVMgPSBbXCJmZXRjaCBmYWlsZWRcIiwgXCJmYWlsZWQgdG8gZmV0Y2hcIl07XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVGZXRjaEVycm9yKHtcbiAgZXJyb3IsXG4gIHVybCxcbiAgcmVxdWVzdEJvZHlWYWx1ZXMsXG59OiB7XG4gIGVycm9yOiB1bmtub3duO1xuICB1cmw6IHN0cmluZztcbiAgcmVxdWVzdEJvZHlWYWx1ZXM6IHVua25vd247XG59KSB7XG4gIGlmIChpc0Fib3J0RXJyb3IoZXJyb3IpKSB7XG4gICAgcmV0dXJuIGVycm9yO1xuICB9XG5cbiAgaWYgKFxuICAgIGVycm9yIGluc3RhbmNlb2YgVHlwZUVycm9yICYmXG4gICAgRkVUQ0hfRkFJTEVEX0VSUk9SX01FU1NBR0VTLmluY2x1ZGVzKGVycm9yLm1lc3NhZ2UudG9Mb3dlckNhc2UoKSlcbiAgKSB7XG4gICAgY29uc3QgY2F1c2UgPSAoZXJyb3IgYXMgeyBjYXVzZT86IEVycm9yIH0pLmNhdXNlO1xuXG4gICAgaWYgKGNhdXNlICE9IG51bGwpIHtcbiAgICAgIHJldHVybiBuZXcgQVBJQ2FsbEVycm9yKHtcbiAgICAgICAgbWVzc2FnZTogYENhbm5vdCBjb25uZWN0IHRvIEFQSTogJHtjYXVzZS5tZXNzYWdlfWAsXG4gICAgICAgIGNhdXNlLFxuICAgICAgICB1cmwsXG4gICAgICAgIHJlcXVlc3RCb2R5VmFsdWVzLFxuICAgICAgICBpc1JldHJ5YWJsZTogdHJ1ZSwgLy8gcmV0cnkgd2hlbiBuZXR3b3JrIGVycm9yXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZXJyb3I7XG59XG5cbi8vIHVzZSBmdW5jdGlvbiB0byBhbGxvdyBmb3IgbW9ja2luZyBpbiB0ZXN0czpcbmNvbnN0IGdldE9yaWdpbmFsRmV0Y2ggPSAoKSA9PiBnbG9iYWxUaGlzLmZldGNoO1xuXG5leHBvcnQgY29uc3QgZ2V0RnJvbUFwaSA9IGFzeW5jIDxUPih7XG4gIHVybCxcbiAgaGVhZGVycyA9IHt9LFxuICBzdWNjZXNzZnVsUmVzcG9uc2VIYW5kbGVyLFxuICBmYWlsZWRSZXNwb25zZUhhbmRsZXIsXG4gIGFib3J0U2lnbmFsLFxuICBmZXRjaCA9IGdldE9yaWdpbmFsRmV0Y2goKSxcbn06IHtcbiAgdXJsOiBzdHJpbmc7XG4gIGhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+O1xuICBmYWlsZWRSZXNwb25zZUhhbmRsZXI6IFJlc3BvbnNlSGFuZGxlcjxFcnJvcj47XG4gIHN1Y2Nlc3NmdWxSZXNwb25zZUhhbmRsZXI6IFJlc3BvbnNlSGFuZGxlcjxUPjtcbiAgYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbDtcbiAgZmV0Y2g/OiBGZXRjaEZ1bmN0aW9uO1xufSkgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICBtZXRob2Q6IFwiR0VUXCIsXG4gICAgICBoZWFkZXJzOiB3aXRoVXNlckFnZW50U3VmZml4KGhlYWRlcnMsIGBjYXJ0YW5vdmEtYWkvcnR6ci1hcGktcHJvdmlkZXJgKSxcbiAgICAgIHNpZ25hbDogYWJvcnRTaWduYWwsXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXNwb25zZUhlYWRlcnMgPSBleHRyYWN0UmVzcG9uc2VIZWFkZXJzKHJlc3BvbnNlKTtcblxuICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgIGxldCBlcnJvckluZm9ybWF0aW9uOiB7XG4gICAgICAgIHZhbHVlOiBFcnJvcjtcbiAgICAgICAgcmVzcG9uc2VIZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZDtcbiAgICAgIH07XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGVycm9ySW5mb3JtYXRpb24gPSBhd2FpdCBmYWlsZWRSZXNwb25zZUhhbmRsZXIoe1xuICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICAgIHVybCxcbiAgICAgICAgICByZXF1ZXN0Qm9keVZhbHVlczoge30sXG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGlzQWJvcnRFcnJvcihlcnJvcikgfHwgQVBJQ2FsbEVycm9yLmlzSW5zdGFuY2UoZXJyb3IpKSB7XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgQVBJQ2FsbEVycm9yKHtcbiAgICAgICAgICBtZXNzYWdlOiBcIkZhaWxlZCB0byBwcm9jZXNzIGVycm9yIHJlc3BvbnNlXCIsXG4gICAgICAgICAgY2F1c2U6IGVycm9yLFxuICAgICAgICAgIHN0YXR1c0NvZGU6IHJlc3BvbnNlLnN0YXR1cyxcbiAgICAgICAgICB1cmwsXG4gICAgICAgICAgcmVzcG9uc2VIZWFkZXJzLFxuICAgICAgICAgIHJlcXVlc3RCb2R5VmFsdWVzOiB7fSxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHRocm93IGVycm9ySW5mb3JtYXRpb24udmFsdWU7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBzdWNjZXNzZnVsUmVzcG9uc2VIYW5kbGVyKHtcbiAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgIHVybCxcbiAgICAgICAgcmVxdWVzdEJvZHlWYWx1ZXM6IHt9LFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgIGlmIChpc0Fib3J0RXJyb3IoZXJyb3IpIHx8IEFQSUNhbGxFcnJvci5pc0luc3RhbmNlKGVycm9yKSkge1xuICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRocm93IG5ldyBBUElDYWxsRXJyb3Ioe1xuICAgICAgICBtZXNzYWdlOiBcIkZhaWxlZCB0byBwcm9jZXNzIHN1Y2Nlc3NmdWwgcmVzcG9uc2VcIixcbiAgICAgICAgY2F1c2U6IGVycm9yLFxuICAgICAgICBzdGF0dXNDb2RlOiByZXNwb25zZS5zdGF0dXMsXG4gICAgICAgIHVybCxcbiAgICAgICAgcmVzcG9uc2VIZWFkZXJzLFxuICAgICAgICByZXF1ZXN0Qm9keVZhbHVlczoge30sXG4gICAgICB9KTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgdGhyb3cgaGFuZGxlRmV0Y2hFcnJvcih7IGVycm9yLCB1cmwsIHJlcXVlc3RCb2R5VmFsdWVzOiB7fSB9KTtcbiAgfVxufTtcbiJdLCJuYW1lcyI6WyJBUElDYWxsRXJyb3IiLCJleHRyYWN0UmVzcG9uc2VIZWFkZXJzIiwiaXNBYm9ydEVycm9yIiwid2l0aFVzZXJBZ2VudFN1ZmZpeCIsIkZFVENIX0ZBSUxFRF9FUlJPUl9NRVNTQUdFUyIsImhhbmRsZUZldGNoRXJyb3IiLCJlcnJvciIsInVybCIsInJlcXVlc3RCb2R5VmFsdWVzIiwiVHlwZUVycm9yIiwiaW5jbHVkZXMiLCJtZXNzYWdlIiwidG9Mb3dlckNhc2UiLCJjYXVzZSIsImlzUmV0cnlhYmxlIiwiZ2V0T3JpZ2luYWxGZXRjaCIsImdsb2JhbFRoaXMiLCJmZXRjaCIsImdldEZyb21BcGkiLCJoZWFkZXJzIiwic3VjY2Vzc2Z1bFJlc3BvbnNlSGFuZGxlciIsImZhaWxlZFJlc3BvbnNlSGFuZGxlciIsImFib3J0U2lnbmFsIiwicmVzcG9uc2UiLCJtZXRob2QiLCJzaWduYWwiLCJyZXNwb25zZUhlYWRlcnMiLCJvayIsImVycm9ySW5mb3JtYXRpb24iLCJpc0luc3RhbmNlIiwic3RhdHVzQ29kZSIsInN0YXR1cyIsInZhbHVlIiwiRXJyb3IiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFlBQVksUUFBUSxtQkFBbUI7QUFDaEQsU0FDRUMsc0JBQXNCLEVBRXRCQyxZQUFZLEVBRVpDLG1CQUFtQixRQUNkLHlCQUF5QjtBQUVoQyxNQUFNQyw4QkFBOEI7SUFBQztJQUFnQjtDQUFrQjtBQUV2RSxPQUFPLFNBQVNDLGlCQUFpQixFQUMvQkMsS0FBSyxFQUNMQyxHQUFHLEVBQ0hDLGlCQUFpQixFQUtsQjtJQUNDLElBQUlOLGFBQWFJLFFBQVE7UUFDdkIsT0FBT0E7SUFDVDtJQUVBLElBQ0VBLGlCQUFpQkcsYUFDakJMLDRCQUE0Qk0sUUFBUSxDQUFDSixNQUFNSyxPQUFPLENBQUNDLFdBQVcsS0FDOUQ7UUFDQSxNQUFNQyxRQUFRLEFBQUNQLE1BQTRCTyxLQUFLO1FBRWhELElBQUlBLFNBQVMsTUFBTTtZQUNqQixPQUFPLElBQUliLGFBQWE7Z0JBQ3RCVyxTQUFTLENBQUMsdUJBQXVCLEVBQUVFLE1BQU1GLE9BQU8sRUFBRTtnQkFDbERFO2dCQUNBTjtnQkFDQUM7Z0JBQ0FNLGFBQWE7WUFDZjtRQUNGO0lBQ0Y7SUFFQSxPQUFPUjtBQUNUO0FBRUEsOENBQThDO0FBQzlDLE1BQU1TLG1CQUFtQixJQUFNQyxXQUFXQyxLQUFLO0FBRS9DLE9BQU8sTUFBTUMsYUFBYSxPQUFVLEVBQ2xDWCxHQUFHLEVBQ0hZLFVBQVUsQ0FBQyxDQUFDLEVBQ1pDLHlCQUF5QixFQUN6QkMscUJBQXFCLEVBQ3JCQyxXQUFXLEVBQ1hMLFFBQVFGLGtCQUFrQixFQVEzQjtJQUNDLElBQUk7UUFDRixNQUFNUSxXQUFXLE1BQU1OLE1BQU1WLEtBQUs7WUFDaENpQixRQUFRO1lBQ1JMLFNBQVNoQixvQkFBb0JnQixTQUFTLENBQUMsOEJBQThCLENBQUM7WUFDdEVNLFFBQVFIO1FBQ1Y7UUFFQSxNQUFNSSxrQkFBa0J6Qix1QkFBdUJzQjtRQUUvQyxJQUFJLENBQUNBLFNBQVNJLEVBQUUsRUFBRTtZQUNoQixJQUFJQztZQUtKLElBQUk7Z0JBQ0ZBLG1CQUFtQixNQUFNUCxzQkFBc0I7b0JBQzdDRTtvQkFDQWhCO29CQUNBQyxtQkFBbUIsQ0FBQztnQkFDdEI7WUFDRixFQUFFLE9BQU9GLE9BQU87Z0JBQ2QsSUFBSUosYUFBYUksVUFBVU4sYUFBYTZCLFVBQVUsQ0FBQ3ZCLFFBQVE7b0JBQ3pELE1BQU1BO2dCQUNSO2dCQUVBLE1BQU0sSUFBSU4sYUFBYTtvQkFDckJXLFNBQVM7b0JBQ1RFLE9BQU9QO29CQUNQd0IsWUFBWVAsU0FBU1EsTUFBTTtvQkFDM0J4QjtvQkFDQW1CO29CQUNBbEIsbUJBQW1CLENBQUM7Z0JBQ3RCO1lBQ0Y7WUFFQSxNQUFNb0IsaUJBQWlCSSxLQUFLO1FBQzlCO1FBRUEsSUFBSTtZQUNGLE9BQU8sTUFBTVosMEJBQTBCO2dCQUNyQ0c7Z0JBQ0FoQjtnQkFDQUMsbUJBQW1CLENBQUM7WUFDdEI7UUFDRixFQUFFLE9BQU9GLE9BQU87WUFDZCxJQUFJQSxpQkFBaUIyQixPQUFPO2dCQUMxQixJQUFJL0IsYUFBYUksVUFBVU4sYUFBYTZCLFVBQVUsQ0FBQ3ZCLFFBQVE7b0JBQ3pELE1BQU1BO2dCQUNSO1lBQ0Y7WUFFQSxNQUFNLElBQUlOLGFBQWE7Z0JBQ3JCVyxTQUFTO2dCQUNURSxPQUFPUDtnQkFDUHdCLFlBQVlQLFNBQVNRLE1BQU07Z0JBQzNCeEI7Z0JBQ0FtQjtnQkFDQWxCLG1CQUFtQixDQUFDO1lBQ3RCO1FBQ0Y7SUFDRixFQUFFLE9BQU9GLE9BQU87UUFDZCxNQUFNRCxpQkFBaUI7WUFBRUM7WUFBT0M7WUFBS0MsbUJBQW1CLENBQUM7UUFBRTtJQUM3RDtBQUNGLEVBQUUifQ==
@@ -1,5 +1,5 @@
1
- import { Knex } from "knex";
2
- import { DBPreset } from "../database/db";
1
+ import type { Knex } from "knex";
2
+ import type { DBPreset } from "../database/db";
3
3
  import { UpsertBuilder } from "../database/upsert-builder";
4
4
  export declare abstract class BaseFrameClass {
5
5
  getDB(which: DBPreset): Knex;
@@ -1 +1 @@
1
- {"version":3,"file":"base-frame.d.ts","sourceRoot":"","sources":["../../src/api/base-frame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAM,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,8BAAsB,cAAc;IAClC,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI5B,gBAAgB;CAGjB"}
1
+ {"version":3,"file":"base-frame.d.ts","sourceRoot":"","sources":["../../src/api/base-frame.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,8BAAsB,cAAc;IAClC,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI5B,gBAAgB;CAGjB"}
@@ -1,2 +1,13 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"BaseFrameClass",{enumerable:true,get:function(){return BaseFrameClass}});var _db=require("../database/db");var _upsertbuilder=require("../database/upsert-builder");function _class_call_check(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _create_class(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}var BaseFrameClass=/*#__PURE__*/function(){"use strict";function BaseFrameClass(){_class_call_check(this,BaseFrameClass)}_create_class(BaseFrameClass,[{key:"getDB",value:function getDB(which){return _db.DB.getDB(which)}},{key:"getUpsertBuilder",value:function getUpsertBuilder(){return new _upsertbuilder.UpsertBuilder}}]);return BaseFrameClass}();
2
- //# sourceMappingURL=base-frame.js.map
1
+ // Static imports kept for non-async functions (getDB, getUpsertBuilder)
2
+ import { DB } from "../database/db.js";
3
+ import { UpsertBuilder } from "../database/upsert-builder.js";
4
+ export class BaseFrameClass {
5
+ getDB(which) {
6
+ return DB.getDB(which);
7
+ }
8
+ getUpsertBuilder() {
9
+ return new UpsertBuilder();
10
+ }
11
+ }
12
+
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvYmFzZS1mcmFtZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEtuZXggfSBmcm9tIFwia25leFwiO1xuaW1wb3J0IHR5cGUgeyBEQlByZXNldCB9IGZyb20gXCIuLi9kYXRhYmFzZS9kYlwiO1xuLy8gU3RhdGljIGltcG9ydHMga2VwdCBmb3Igbm9uLWFzeW5jIGZ1bmN0aW9ucyAoZ2V0REIsIGdldFVwc2VydEJ1aWxkZXIpXG5pbXBvcnQgeyBEQiB9IGZyb20gXCIuLi9kYXRhYmFzZS9kYlwiO1xuaW1wb3J0IHsgVXBzZXJ0QnVpbGRlciB9IGZyb20gXCIuLi9kYXRhYmFzZS91cHNlcnQtYnVpbGRlclwiO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUZyYW1lQ2xhc3Mge1xuICBnZXREQih3aGljaDogREJQcmVzZXQpOiBLbmV4IHtcbiAgICByZXR1cm4gREIuZ2V0REIod2hpY2gpO1xuICB9XG5cbiAgZ2V0VXBzZXJ0QnVpbGRlcigpIHtcbiAgICByZXR1cm4gbmV3IFVwc2VydEJ1aWxkZXIoKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkRCIiwiVXBzZXJ0QnVpbGRlciIsIkJhc2VGcmFtZUNsYXNzIiwiZ2V0REIiLCJ3aGljaCIsImdldFVwc2VydEJ1aWxkZXIiXSwibWFwcGluZ3MiOiJBQUVBLHdFQUF3RTtBQUN4RSxTQUFTQSxFQUFFLFFBQVEsb0JBQWlCO0FBQ3BDLFNBQVNDLGFBQWEsUUFBUSxnQ0FBNkI7QUFFM0QsT0FBTyxNQUFlQztJQUNwQkMsTUFBTUMsS0FBZSxFQUFRO1FBQzNCLE9BQU9KLEdBQUdHLEtBQUssQ0FBQ0M7SUFDbEI7SUFFQUMsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSUo7SUFDYjtBQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"caster.d.ts","sourceRoot":"","sources":["../../src/api/caster.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAyB5C,wBAAgB,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAuDvD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,wEAIrD"}
1
+ {"version":3,"file":"caster.d.ts","sourceRoot":"","sources":["../../src/api/caster.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA0B5C,wBAAgB,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CA8CvD;AAGD,wBAAgB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,wEAKrD"}
@@ -1,2 +1,71 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get caster(){return caster},get fastifyCaster(){return fastifyCaster}});var _assert=/*#__PURE__*/_interop_require_default(require("assert"));var _zod=require("zod");function _instanceof(left,right){if(right!=null&&typeof Symbol!=="undefined"&&right[Symbol.hasInstance]){return!!right[Symbol.hasInstance](left)}else{return left instanceof right}}function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}function _type_of(obj){"@swc/helpers - typeof";return obj&&typeof Symbol!=="undefined"&&obj.constructor===Symbol?"symbol":typeof obj}function isNumberType(zodType){return _instanceof(zodType,_zod.z.ZodNumber)}function isNullOrOptional(zodType){return _instanceof(zodType,_zod.z.ZodNullable)||_instanceof(zodType,_zod.z.ZodOptional)}function isZodNumberAnyway(zodType){if(isNumberType(zodType)){return true}if(isNullOrOptional(zodType)&&isNumberType(zodType.def.innerType)){return true}return false}function caster(zodType,raw){if(isZodNumberAnyway(zodType)&&typeof raw==="string"){return Number(raw)}else if(_instanceof(zodType,_zod.z.ZodUnion)&&zodType.options.some(function(opt){return isZodNumberAnyway(opt)})){if(Array.isArray(raw)){var numType=zodType.options.find(function(opt){return isNumberType(opt)});(0,_assert.default)(numType!==undefined);return raw.map(function(elem){return caster(numType,elem)})}else{return Number(raw)}}else if(_instanceof(zodType,_zod.z.ZodBoolean)&&(raw==="true"||raw==="false")){return raw==="true"}else if(raw!==null&&Array.isArray(raw)&&_instanceof(zodType,_zod.z.ZodArray)){return raw.map(function(elem){return caster(zodType.element,elem)})}else if(_instanceof(zodType,_zod.z.ZodObject)&&(typeof raw==="undefined"?"undefined":_type_of(raw))==="object"&&raw!==null){return Object.keys(raw).reduce(function(r,rawKey){r[rawKey]=caster(zodType.shape[rawKey],raw[rawKey]);return r},{})}else if(_instanceof(zodType,_zod.z.ZodOptional)){return caster(zodType.def.innerType,raw)}else if(_instanceof(zodType,_zod.z.ZodNullable)){return caster(zodType.def.innerType,raw)}else if(_instanceof(zodType,_zod.z.ZodDate)&&new Date(raw).toString()!=="Invalid Date"){return new Date(raw)}else{return raw}}function fastifyCaster(schema){return _zod.z.preprocess(function(raw){return caster(schema,raw)},schema)}
2
- //# sourceMappingURL=caster.js.map
1
+ import assert from "assert";
2
+ import { z } from "zod";
3
+ function isNumberType(zodType) {
4
+ return zodType instanceof z.ZodNumber;
5
+ }
6
+ function isNullOrOptional(zodType) {
7
+ return zodType instanceof z.ZodNullable || zodType instanceof z.ZodOptional;
8
+ }
9
+ // optional, nullable 무관하게 ZodNumber 체크
10
+ function isZodNumberAnyway(zodType) {
11
+ if (isNumberType(zodType)) {
12
+ return true;
13
+ }
14
+ // ZodNullable 또는 ZodOptional일 때
15
+ if (isNullOrOptional(zodType) && isNumberType(zodType.def.innerType)) {
16
+ return true;
17
+ }
18
+ return false;
19
+ }
20
+ // ZodType을 이용해 raw를 Type Coercing
21
+ // biome-ignore lint/suspicious/noExplicitAny: 캐스팅에는 any가 필요함.
22
+ export function caster(zodType, raw) {
23
+ if (isZodNumberAnyway(zodType) && typeof raw === "string") {
24
+ // number
25
+ return Number(raw);
26
+ } else if (zodType instanceof z.ZodUnion && zodType.options.some((opt)=>isZodNumberAnyway(opt))) {
27
+ // zArrayable Number 케이스 처리
28
+ if (Array.isArray(raw)) {
29
+ const numType = zodType.options.find((opt)=>isNumberType(opt));
30
+ assert(numType !== undefined);
31
+ // biome-ignore lint/suspicious/noExplicitAny: 캐스팅에는 any가 필요함.
32
+ return raw.map((elem)=>caster(numType, elem));
33
+ } else {
34
+ return Number(raw);
35
+ }
36
+ } else if (zodType instanceof z.ZodBoolean && (raw === "true" || raw === "false")) {
37
+ // boolean
38
+ return raw === "true";
39
+ } else if (raw !== null && Array.isArray(raw) && zodType instanceof z.ZodArray) {
40
+ // array
41
+ // biome-ignore lint/suspicious/noExplicitAny: 캐스팅에는 any가 필요함.
42
+ return raw.map((elem)=>caster(zodType.element, elem));
43
+ } else if (zodType instanceof z.ZodObject && typeof raw === "object" && raw !== null) {
44
+ // object
45
+ return Object.keys(raw).reduce((r, rawKey)=>{
46
+ r[rawKey] = caster(zodType.shape[rawKey], raw[rawKey]);
47
+ return r;
48
+ }, {});
49
+ } else if (zodType instanceof z.ZodOptional) {
50
+ // optional
51
+ return caster(zodType.def.innerType, raw);
52
+ } else if (zodType instanceof z.ZodNullable) {
53
+ // nullable
54
+ return caster(zodType.def.innerType, raw);
55
+ } else if (zodType instanceof z.ZodDate && new Date(raw).toString() !== "Invalid Date") {
56
+ // date
57
+ return new Date(raw);
58
+ } else {
59
+ // 나머지는 처리 안함
60
+ return raw;
61
+ }
62
+ }
63
+ // biome-ignore lint/suspicious/noExplicitAny: 캐스팅에는 any가 필요함.
64
+ export function fastifyCaster(schema) {
65
+ // biome-ignore lint/suspicious/noExplicitAny: 캐스팅에는 any가 필요함.
66
+ return z.preprocess((raw)=>{
67
+ return caster(schema, raw);
68
+ }, schema);
69
+ }
70
+
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvY2FzdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiO1xuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB0eXBlIHsgJFpvZFR5cGUgfSBmcm9tIFwiem9kL3Y0L2NvcmVcIjtcblxuZnVuY3Rpb24gaXNOdW1iZXJUeXBlKHpvZFR5cGU6ICRab2RUeXBlKTogem9kVHlwZSBpcyB6LlpvZE51bWJlciB7XG4gIHJldHVybiB6b2RUeXBlIGluc3RhbmNlb2Ygei5ab2ROdW1iZXI7XG59XG5cbmZ1bmN0aW9uIGlzTnVsbE9yT3B0aW9uYWwoem9kVHlwZTogJFpvZFR5cGUpOiB6b2RUeXBlIGlzIHouWm9kTnVsbGFibGUgfCB6LlpvZE9wdGlvbmFsIHtcbiAgcmV0dXJuIHpvZFR5cGUgaW5zdGFuY2VvZiB6LlpvZE51bGxhYmxlIHx8IHpvZFR5cGUgaW5zdGFuY2VvZiB6LlpvZE9wdGlvbmFsO1xufVxuXG4vLyBvcHRpb25hbCwgbnVsbGFibGUg66y06rSA7ZWY6rKMIFpvZE51bWJlciDssrTtgaxcbmZ1bmN0aW9uIGlzWm9kTnVtYmVyQW55d2F5KHpvZFR5cGU6ICRab2RUeXBlKSB7XG4gIGlmIChpc051bWJlclR5cGUoem9kVHlwZSkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIFpvZE51bGxhYmxlIOuYkOuKlCBab2RPcHRpb25hbOydvCDrlYxcbiAgaWYgKGlzTnVsbE9yT3B0aW9uYWwoem9kVHlwZSkgJiYgaXNOdW1iZXJUeXBlKHpvZFR5cGUuZGVmLmlubmVyVHlwZSkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLy8gWm9kVHlwZeydhCDsnbTsmqntlbQgcmF366W8IFR5cGUgQ29lcmNpbmdcbi8vIGJpb21lLWlnbm9yZSBsaW50L3N1c3BpY2lvdXMvbm9FeHBsaWNpdEFueTog7LqQ7Iqk7YyF7JeQ64qUIGFueeqwgCDtlYTsmpTtlaguXG5leHBvcnQgZnVuY3Rpb24gY2FzdGVyKHpvZFR5cGU6ICRab2RUeXBlLCByYXc6IGFueSk6IGFueSB7XG4gIGlmIChpc1pvZE51bWJlckFueXdheSh6b2RUeXBlKSAmJiB0eXBlb2YgcmF3ID09PSBcInN0cmluZ1wiKSB7XG4gICAgLy8gbnVtYmVyXG4gICAgcmV0dXJuIE51bWJlcihyYXcpO1xuICB9IGVsc2UgaWYgKFxuICAgIHpvZFR5cGUgaW5zdGFuY2VvZiB6LlpvZFVuaW9uICYmXG4gICAgem9kVHlwZS5vcHRpb25zLnNvbWUoKG9wdCkgPT4gaXNab2ROdW1iZXJBbnl3YXkob3B0KSlcbiAgKSB7XG4gICAgLy8gekFycmF5YWJsZSBOdW1iZXIg7LyA7J207IqkIOyymOumrFxuICAgIGlmIChBcnJheS5pc0FycmF5KHJhdykpIHtcbiAgICAgIGNvbnN0IG51bVR5cGUgPSB6b2RUeXBlLm9wdGlvbnMuZmluZCgob3B0KSA9PiBpc051bWJlclR5cGUob3B0KSk7XG4gICAgICBhc3NlcnQobnVtVHlwZSAhPT0gdW5kZWZpbmVkKTtcbiAgICAgIC8vIGJpb21lLWlnbm9yZSBsaW50L3N1c3BpY2lvdXMvbm9FeHBsaWNpdEFueTog7LqQ7Iqk7YyF7JeQ64qUIGFueeqwgCDtlYTsmpTtlaguXG4gICAgICByZXR1cm4gcmF3Lm1hcCgoZWxlbTogYW55KSA9PiBjYXN0ZXIobnVtVHlwZSwgZWxlbSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gTnVtYmVyKHJhdyk7XG4gICAgfVxuICB9IGVsc2UgaWYgKHpvZFR5cGUgaW5zdGFuY2VvZiB6LlpvZEJvb2xlYW4gJiYgKHJhdyA9PT0gXCJ0cnVlXCIgfHwgcmF3ID09PSBcImZhbHNlXCIpKSB7XG4gICAgLy8gYm9vbGVhblxuICAgIHJldHVybiByYXcgPT09IFwidHJ1ZVwiO1xuICB9IGVsc2UgaWYgKHJhdyAhPT0gbnVsbCAmJiBBcnJheS5pc0FycmF5KHJhdykgJiYgem9kVHlwZSBpbnN0YW5jZW9mIHouWm9kQXJyYXkpIHtcbiAgICAvLyBhcnJheVxuICAgIC8vIGJpb21lLWlnbm9yZSBsaW50L3N1c3BpY2lvdXMvbm9FeHBsaWNpdEFueTog7LqQ7Iqk7YyF7JeQ64qUIGFueeqwgCDtlYTsmpTtlaguXG4gICAgcmV0dXJuIHJhdy5tYXAoKGVsZW06IGFueSkgPT4gY2FzdGVyKHpvZFR5cGUuZWxlbWVudCwgZWxlbSkpO1xuICB9IGVsc2UgaWYgKHpvZFR5cGUgaW5zdGFuY2VvZiB6LlpvZE9iamVjdCAmJiB0eXBlb2YgcmF3ID09PSBcIm9iamVjdFwiICYmIHJhdyAhPT0gbnVsbCkge1xuICAgIC8vIG9iamVjdFxuICAgIHJldHVybiBPYmplY3Qua2V5cyhyYXcpLnJlZHVjZShcbiAgICAgIChyLCByYXdLZXkpID0+IHtcbiAgICAgICAgcltyYXdLZXldID0gY2FzdGVyKHpvZFR5cGUuc2hhcGVbcmF3S2V5XSwgcmF3W3Jhd0tleV0pO1xuICAgICAgICByZXR1cm4gcjtcbiAgICAgIH0sXG4gICAgICB7fSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICApO1xuICB9IGVsc2UgaWYgKHpvZFR5cGUgaW5zdGFuY2VvZiB6LlpvZE9wdGlvbmFsKSB7XG4gICAgLy8gb3B0aW9uYWxcbiAgICByZXR1cm4gY2FzdGVyKHpvZFR5cGUuZGVmLmlubmVyVHlwZSwgcmF3KTtcbiAgfSBlbHNlIGlmICh6b2RUeXBlIGluc3RhbmNlb2Ygei5ab2ROdWxsYWJsZSkge1xuICAgIC8vIG51bGxhYmxlXG4gICAgcmV0dXJuIGNhc3Rlcih6b2RUeXBlLmRlZi5pbm5lclR5cGUsIHJhdyk7XG4gIH0gZWxzZSBpZiAoem9kVHlwZSBpbnN0YW5jZW9mIHouWm9kRGF0ZSAmJiBuZXcgRGF0ZShyYXcpLnRvU3RyaW5nKCkgIT09IFwiSW52YWxpZCBEYXRlXCIpIHtcbiAgICAvLyBkYXRlXG4gICAgcmV0dXJuIG5ldyBEYXRlKHJhdyk7XG4gIH0gZWxzZSB7XG4gICAgLy8g64KY66i47KeA64qUIOyymOumrCDslYjtlahcbiAgICByZXR1cm4gcmF3O1xuICB9XG59XG5cbi8vIGJpb21lLWlnbm9yZSBsaW50L3N1c3BpY2lvdXMvbm9FeHBsaWNpdEFueTog7LqQ7Iqk7YyF7JeQ64qUIGFueeqwgCDtlYTsmpTtlaguXG5leHBvcnQgZnVuY3Rpb24gZmFzdGlmeUNhc3RlcihzY2hlbWE6IHouWm9kT2JqZWN0PGFueT4pIHtcbiAgLy8gYmlvbWUtaWdub3JlIGxpbnQvc3VzcGljaW91cy9ub0V4cGxpY2l0QW55OiDsupDsiqTtjIXsl5DripQgYW556rCAIO2VhOyalO2VqC5cbiAgcmV0dXJuIHoucHJlcHJvY2VzcygocmF3OiBhbnkpID0+IHtcbiAgICByZXR1cm4gY2FzdGVyKHNjaGVtYSwgcmF3KTtcbiAgfSwgc2NoZW1hKTtcbn1cbiJdLCJuYW1lcyI6WyJhc3NlcnQiLCJ6IiwiaXNOdW1iZXJUeXBlIiwiem9kVHlwZSIsIlpvZE51bWJlciIsImlzTnVsbE9yT3B0aW9uYWwiLCJab2ROdWxsYWJsZSIsIlpvZE9wdGlvbmFsIiwiaXNab2ROdW1iZXJBbnl3YXkiLCJkZWYiLCJpbm5lclR5cGUiLCJjYXN0ZXIiLCJyYXciLCJOdW1iZXIiLCJab2RVbmlvbiIsIm9wdGlvbnMiLCJzb21lIiwib3B0IiwiQXJyYXkiLCJpc0FycmF5IiwibnVtVHlwZSIsImZpbmQiLCJ1bmRlZmluZWQiLCJtYXAiLCJlbGVtIiwiWm9kQm9vbGVhbiIsIlpvZEFycmF5IiwiZWxlbWVudCIsIlpvZE9iamVjdCIsIk9iamVjdCIsImtleXMiLCJyZWR1Y2UiLCJyIiwicmF3S2V5Iiwic2hhcGUiLCJab2REYXRlIiwiRGF0ZSIsInRvU3RyaW5nIiwiZmFzdGlmeUNhc3RlciIsInNjaGVtYSIsInByZXByb2Nlc3MiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFlBQVksU0FBUztBQUM1QixTQUFTQyxDQUFDLFFBQVEsTUFBTTtBQUd4QixTQUFTQyxhQUFhQyxPQUFpQjtJQUNyQyxPQUFPQSxtQkFBbUJGLEVBQUVHLFNBQVM7QUFDdkM7QUFFQSxTQUFTQyxpQkFBaUJGLE9BQWlCO0lBQ3pDLE9BQU9BLG1CQUFtQkYsRUFBRUssV0FBVyxJQUFJSCxtQkFBbUJGLEVBQUVNLFdBQVc7QUFDN0U7QUFFQSx1Q0FBdUM7QUFDdkMsU0FBU0Msa0JBQWtCTCxPQUFpQjtJQUMxQyxJQUFJRCxhQUFhQyxVQUFVO1FBQ3pCLE9BQU87SUFDVDtJQUVBLGdDQUFnQztJQUNoQyxJQUFJRSxpQkFBaUJGLFlBQVlELGFBQWFDLFFBQVFNLEdBQUcsQ0FBQ0MsU0FBUyxHQUFHO1FBQ3BFLE9BQU87SUFDVDtJQUVBLE9BQU87QUFDVDtBQUVBLGtDQUFrQztBQUNsQyw4REFBOEQ7QUFDOUQsT0FBTyxTQUFTQyxPQUFPUixPQUFpQixFQUFFUyxHQUFRO0lBQ2hELElBQUlKLGtCQUFrQkwsWUFBWSxPQUFPUyxRQUFRLFVBQVU7UUFDekQsU0FBUztRQUNULE9BQU9DLE9BQU9EO0lBQ2hCLE9BQU8sSUFDTFQsbUJBQW1CRixFQUFFYSxRQUFRLElBQzdCWCxRQUFRWSxPQUFPLENBQUNDLElBQUksQ0FBQyxDQUFDQyxNQUFRVCxrQkFBa0JTLE9BQ2hEO1FBQ0EsMkJBQTJCO1FBQzNCLElBQUlDLE1BQU1DLE9BQU8sQ0FBQ1AsTUFBTTtZQUN0QixNQUFNUSxVQUFVakIsUUFBUVksT0FBTyxDQUFDTSxJQUFJLENBQUMsQ0FBQ0osTUFBUWYsYUFBYWU7WUFDM0RqQixPQUFPb0IsWUFBWUU7WUFDbkIsOERBQThEO1lBQzlELE9BQU9WLElBQUlXLEdBQUcsQ0FBQyxDQUFDQyxPQUFjYixPQUFPUyxTQUFTSTtRQUNoRCxPQUFPO1lBQ0wsT0FBT1gsT0FBT0Q7UUFDaEI7SUFDRixPQUFPLElBQUlULG1CQUFtQkYsRUFBRXdCLFVBQVUsSUFBS2IsQ0FBQUEsUUFBUSxVQUFVQSxRQUFRLE9BQU0sR0FBSTtRQUNqRixVQUFVO1FBQ1YsT0FBT0EsUUFBUTtJQUNqQixPQUFPLElBQUlBLFFBQVEsUUFBUU0sTUFBTUMsT0FBTyxDQUFDUCxRQUFRVCxtQkFBbUJGLEVBQUV5QixRQUFRLEVBQUU7UUFDOUUsUUFBUTtRQUNSLDhEQUE4RDtRQUM5RCxPQUFPZCxJQUFJVyxHQUFHLENBQUMsQ0FBQ0MsT0FBY2IsT0FBT1IsUUFBUXdCLE9BQU8sRUFBRUg7SUFDeEQsT0FBTyxJQUFJckIsbUJBQW1CRixFQUFFMkIsU0FBUyxJQUFJLE9BQU9oQixRQUFRLFlBQVlBLFFBQVEsTUFBTTtRQUNwRixTQUFTO1FBQ1QsT0FBT2lCLE9BQU9DLElBQUksQ0FBQ2xCLEtBQUttQixNQUFNLENBQzVCLENBQUNDLEdBQUdDO1lBQ0ZELENBQUMsQ0FBQ0MsT0FBTyxHQUFHdEIsT0FBT1IsUUFBUStCLEtBQUssQ0FBQ0QsT0FBTyxFQUFFckIsR0FBRyxDQUFDcUIsT0FBTztZQUNyRCxPQUFPRDtRQUNULEdBQ0EsQ0FBQztJQUVMLE9BQU8sSUFBSTdCLG1CQUFtQkYsRUFBRU0sV0FBVyxFQUFFO1FBQzNDLFdBQVc7UUFDWCxPQUFPSSxPQUFPUixRQUFRTSxHQUFHLENBQUNDLFNBQVMsRUFBRUU7SUFDdkMsT0FBTyxJQUFJVCxtQkFBbUJGLEVBQUVLLFdBQVcsRUFBRTtRQUMzQyxXQUFXO1FBQ1gsT0FBT0ssT0FBT1IsUUFBUU0sR0FBRyxDQUFDQyxTQUFTLEVBQUVFO0lBQ3ZDLE9BQU8sSUFBSVQsbUJBQW1CRixFQUFFa0MsT0FBTyxJQUFJLElBQUlDLEtBQUt4QixLQUFLeUIsUUFBUSxPQUFPLGdCQUFnQjtRQUN0RixPQUFPO1FBQ1AsT0FBTyxJQUFJRCxLQUFLeEI7SUFDbEIsT0FBTztRQUNMLGFBQWE7UUFDYixPQUFPQTtJQUNUO0FBQ0Y7QUFFQSw4REFBOEQ7QUFDOUQsT0FBTyxTQUFTMEIsY0FBY0MsTUFBd0I7SUFDcEQsOERBQThEO0lBQzlELE9BQU90QyxFQUFFdUMsVUFBVSxDQUFDLENBQUM1QjtRQUNuQixPQUFPRCxPQUFPNEIsUUFBUTNCO0lBQ3hCLEdBQUcyQjtBQUNMIn0=
@@ -1,26 +1,70 @@
1
+ /**
2
+ * code-converters는 API 타입 정의들을 Zod 객체나 TypeScript 코드로 변환하는 함수들을 제공합니다.
3
+ *
4
+ * 1. API 시리즈들:
5
+ * - ExtendedApi, ApiParam, ApiParamType
6
+ * - API 메타데이터를 표현하는 타입 정의들
7
+ *
8
+ * 2. ZodObject 변환
9
+ * - API 타입 정의 → Zod 타입 인스턴스 (런타임 밸리데이션용)
10
+ * - getZodTypeFromApiParamType → getZodObjectFromApiParams → getZodObjectFromApi
11
+ *
12
+ * 3. TsTypeDef 변환
13
+ * - API 타입 정의 → TypeScript 타입 코드 문자열 (코드 생성용)
14
+ * - apiParamTypeToTsType → apiParamToTsCode, apiParamToTsCodeAsObject
15
+ *
16
+ * 참고:
17
+ * - ZodTypeDef 생성 (Zod 코드 문자열): zod-converter.ts의 zodTypeToZodCode 사용
18
+ * - EntityProp 변환: zod-converter.ts 참조
19
+ */
1
20
  import { z } from "zod";
2
21
  import type { $ZodLooseShape } from "zod/v4/core";
3
- import { ApiParam, ApiParamType, EntityProp, EntityPropNode, TextProp } from "../types/types";
4
- import { ExtendedApi } from "./decorators";
22
+ import { type ApiParam, ApiParamType } from "../types/types";
23
+ import type { ExtendedApi } from "./decorators";
5
24
  type AnyZodObject = z.ZodObject<$ZodLooseShape>;
6
- export declare function getZodObjectFromApi(api: ExtendedApi, references?: {
25
+ /**
26
+ * Promise 타입을 한 번 언래핑하여 내부 타입을 반환합니다.
27
+ * Promise가 아닌 경우 원본 타입을 그대로 반환합니다.
28
+ */
29
+ export declare function unwrapPromiseOnce(paramType: ApiParamType): ApiParamType | undefined;
30
+ /**
31
+ * ApiParamType을 Zod 타입 인스턴스로 변환합니다.
32
+ * string, number, array, union 등 모든 ApiParamType을 처리하며,
33
+ * 순환참조가 발생하는 경우 z.unknown()으로 fallback합니다.
34
+ */
35
+ export declare function getZodTypeFromApiParamType(paramType: ApiParamType, references: {
7
36
  [id: string]: AnyZodObject;
8
- }): z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
37
+ }): z.ZodType<unknown>;
38
+ /**
39
+ * ApiParam 배열을 ZodObject로 변환합니다.
40
+ * 각 파라미터의 optional 여부를 반영하여 Zod 스키마를 생성합니다.
41
+ */
9
42
  export declare function getZodObjectFromApiParams(apiParams: ApiParam[], references?: {
10
43
  [id: string]: AnyZodObject;
11
44
  }): z.ZodObject;
12
- export declare function getZodTypeFromApiParamType(paramType: ApiParamType, references: {
45
+ /**
46
+ * ExtendedApi를 ZodObject로 변환합니다.
47
+ * TypeParameter와 일반 파라미터를 처리하며,
48
+ * Context, RefKnex, _로 시작하는 optional 파라미터는 제외합니다.
49
+ */
50
+ export declare function getZodObjectFromApi(api: ExtendedApi, references?: {
13
51
  [id: string]: AnyZodObject;
14
- }): z.ZodType<unknown>;
15
- export declare function propNodeToZodTypeDef(propNode: EntityPropNode, injectImportKeys: string[]): string;
16
- export declare function getTextTypeLength(textType: TextProp["textType"]): number;
17
- export declare function propToZodTypeDef(prop: EntityProp, injectImportKeys: string[]): string;
18
- export declare function zodTypeToZodCode(zt: z.ZodType): string;
52
+ }): z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
53
+ /**
54
+ * ApiParamType을 TypeScript 타입 문자열로 변환합니다.
55
+ * union, intersection, array, ref 모든 타입을 TS 문법으로 표현하며,
56
+ * import가 필요한 타입 ID는 injectImportKeys에 수집합니다.
57
+ */
58
+ export declare function apiParamTypeToTsType(paramType: ApiParamType, injectImportKeys: string[]): string;
59
+ /**
60
+ * ApiParam 배열을 TypeScript 함수 파라미터 코드로 변환합니다.
61
+ * 예: "name: string, age?: number, active: boolean = true"
62
+ */
19
63
  export declare function apiParamToTsCode(params: ApiParam[], injectImportKeys: string[]): string;
64
+ /**
65
+ * ApiParam 배열을 TypeScript 객체 타입 코드로 변환합니다.
66
+ * 예: "{ name: string, age?: number, active: boolean = true }"
67
+ */
20
68
  export declare function apiParamToTsCodeAsObject(params: ApiParam[], injectImportKeys: string[]): string;
21
- export declare function apiParamTypeToTsType(paramType: ApiParamType, injectImportKeys: string[]): string;
22
- export declare function unwrapPromiseOnce(paramType: ApiParamType): ApiParamType;
23
- export declare function serializeZodType(zt: z.ZodType): any;
24
- export declare function zodTypeToTsTypeDef(zt: z.ZodType): string;
25
69
  export {};
26
70
  //# sourceMappingURL=code-converters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-converters.d.ts","sourceRoot":"","sources":["../../src/api/code-converters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,cAAc,EACd,QAAQ,EAoBT,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAK3C,KAAK,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;AAWhD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,EAChB,UAAU,GAAE;IACV,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAAC;CACvB,qDAwBP;AAKD,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,QAAQ,EAAE,EACrB,UAAU,GAAE;IACV,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAAC;CACvB,GACL,CAAC,CAAC,SAAS,CAab;AAKD,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,YAAY,EACvB,UAAU,EAAE;IACV,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAAC;CAC5B,GACA,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAwIpB;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EACxB,gBAAgB,EAAE,MAAM,EAAE,GACzB,MAAM,CA8BR;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CASxE;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,UAAU,EAChB,gBAAgB,EAAE,MAAM,EAAE,GACzB,MAAM,CAyDR;AAGD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,MAAM,CAyFtD;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,QAAQ,EAAE,EAClB,gBAAgB,EAAE,MAAM,EAAE,GACzB,MAAM,CAUR;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,QAAQ,EAAE,EAClB,gBAAgB,EAAE,MAAM,EAAE,GACzB,MAAM,CAUR;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,YAAY,EACvB,gBAAgB,EAAE,MAAM,EAAE,GACzB,MAAM,CAsER;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,YAAY,gBAMxD;AAGD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,GAAG,CAuEnD;AAGD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,MAAM,CA8DxD"}
1
+ {"version":3,"file":"code-converters.d.ts","sourceRoot":"","sources":["../../src/api/code-converters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,KAAK,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,KAAK,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;AAGhD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,YAAY,4BAMxD;AAMD;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,YAAY,EACvB,UAAU,EAAE;IACV,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAAC;CAC5B,GACA,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CA6HpB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,QAAQ,EAAE,EACrB,UAAU,GAAE;IACV,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAAC;CACvB,GACL,CAAC,CAAC,SAAS,CAYb;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,EAChB,UAAU,GAAE;IACV,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAAC;CACvB,qDAsBP;AAMD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,CAwDhG;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,CAUvF;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,CAU/F"}