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
@@ -1,24 +1,7 @@
1
- import type { GuardKey } from "./../api/decorators";
2
- import type { FastifyCorsOptions } from "@fastify/cors";
3
- import type { FastifyFormbodyOptions } from "@fastify/formbody";
4
- import type { FastifyInstance, FastifyReply, FastifyRequest, FastifyServerOptions } from "fastify";
5
- import type { QsPluginOptions } from "fastify-qs";
1
+ import type { FastifyReply, FastifyRequest } from "fastify";
6
2
  import { z } from "zod";
7
3
  import type { ApiDecoratorOptions, AuthContext, Context } from "../api";
8
- import type { FastifyMultipartOptions } from "@fastify/multipart";
9
- import type { Driver } from "../file-storage/driver";
10
- import type { SsePluginOptions } from "fastify-sse-v2/lib/types";
11
- import type { FastifyStaticOptions } from "@fastify/static";
12
- import { SecureSessionPluginOptions } from "@fastify/secure-session";
13
- import { DeserializeFunction, SerializeFunction } from "@fastify/passport/dist/Authenticator";
14
- export type EnumsLabel<T extends string, L extends "ko" | "en"> = {
15
- [key in T]: {
16
- [lang in L]: string;
17
- };
18
- };
19
- export type EnumsLabelKo<T extends string> = EnumsLabel<T, "ko">;
20
- export declare const SQLDateTimeString: z.ZodString;
21
- export type SQLDateTimeString = z.infer<typeof SQLDateTimeString>;
4
+ import type { GuardKey } from "./../api/decorators";
22
5
  export declare function zArrayable<T extends z.ZodTypeAny>(shape: T): z.ZodUnion<[T, z.ZodArray<T>]>;
23
6
  export type DistributiveOmit<T, K extends keyof any> = T extends any ? Omit<T, K> : never;
24
7
  export type CommonProp = {
@@ -30,57 +13,66 @@ export type CommonProp = {
30
13
  };
31
14
  export type IntegerProp = CommonProp & {
32
15
  type: "integer";
33
- unsigned?: true;
16
+ };
17
+ export type IntegerArrayProp = CommonProp & {
18
+ type: "integer[]";
34
19
  };
35
20
  export type BigIntegerProp = CommonProp & {
36
21
  type: "bigInteger";
37
- unsigned?: true;
38
22
  };
39
- export type TextProp = CommonProp & {
40
- type: "text";
41
- textType: "text" | "mediumtext" | "longtext";
23
+ export type BigIntegerArrayProp = CommonProp & {
24
+ type: "bigInteger[]";
42
25
  };
43
26
  export type StringProp = CommonProp & {
44
27
  type: "string";
45
- length: number;
28
+ length?: number;
29
+ };
30
+ export type StringArrayProp = CommonProp & {
31
+ type: "string[]";
32
+ length?: number;
46
33
  };
47
34
  export type EnumProp = CommonProp & {
48
35
  type: "enum";
49
- length: number;
50
36
  id: string;
37
+ length?: number;
38
+ };
39
+ export type EnumArrayProp = CommonProp & {
40
+ type: "enum[]";
41
+ id: string;
42
+ };
43
+ export type NumberProp = CommonProp & {
44
+ type: "number";
45
+ precision?: number;
46
+ scale?: number;
47
+ numberType?: "real" | "double precision" | "numeric";
51
48
  };
52
- export type FloatProp = CommonProp & {
53
- type: "float";
54
- unsigned?: true;
55
- precision: number;
56
- scale: number;
49
+ export type NumberArrayProp = CommonProp & {
50
+ type: "number[]";
51
+ precision?: number;
52
+ scale?: number;
53
+ numberType?: "real" | "double precision" | "numeric";
57
54
  };
58
- export type DoubleProp = CommonProp & {
59
- type: "double";
60
- unsigned?: true;
61
- precision: number;
62
- scale: number;
55
+ export type NumericProp = CommonProp & {
56
+ type: "numeric";
57
+ precision?: number;
58
+ scale?: number;
63
59
  };
64
- export type DecimalProp = CommonProp & {
65
- type: "decimal";
66
- unsigned?: true;
67
- precision: number;
68
- scale: number;
60
+ export type NumericArrayProp = CommonProp & {
61
+ type: "numeric[]";
62
+ precision?: number;
63
+ scale?: number;
69
64
  };
70
65
  export type BooleanProp = CommonProp & {
71
66
  type: "boolean";
72
67
  };
68
+ export type BooleanArrayProp = CommonProp & {
69
+ type: "boolean[]";
70
+ };
73
71
  export type DateProp = CommonProp & {
74
72
  type: "date";
75
73
  };
76
- export type DateTimeProp = CommonProp & {
77
- type: "datetime";
78
- };
79
- export type TimeProp = CommonProp & {
80
- type: "time";
81
- };
82
- export type TimestampProp = CommonProp & {
83
- type: "timestamp";
74
+ export type DateArrayProp = CommonProp & {
75
+ type: "date[]";
84
76
  };
85
77
  export type JsonProp = CommonProp & {
86
78
  type: "json";
@@ -89,6 +81,9 @@ export type JsonProp = CommonProp & {
89
81
  export type UuidProp = CommonProp & {
90
82
  type: "uuid";
91
83
  };
84
+ export type UuidArrayProp = CommonProp & {
85
+ type: "uuid[]";
86
+ };
92
87
  export type VirtualProp = CommonProp & {
93
88
  type: "virtual";
94
89
  id: string;
@@ -133,7 +128,7 @@ export type ManyToManyRelationProp = _RelationProp & {
133
128
  onDelete: RelationOn;
134
129
  };
135
130
  export type RelationProp = OneToOneRelationProp | BelongsToOneRelationProp | HasManyRelationProp | ManyToManyRelationProp;
136
- export type EntityProp = IntegerProp | BigIntegerProp | TextProp | StringProp | FloatProp | DoubleProp | DecimalProp | BooleanProp | DateProp | DateTimeProp | TimeProp | TimestampProp | JsonProp | UuidProp | EnumProp | VirtualProp | RelationProp;
131
+ export type EntityProp = IntegerProp | IntegerArrayProp | BigIntegerProp | BigIntegerArrayProp | StringProp | StringArrayProp | EnumProp | EnumArrayProp | NumberProp | NumberArrayProp | NumericProp | NumericArrayProp | NumericProp | BooleanProp | BooleanArrayProp | DateProp | DateArrayProp | UuidProp | UuidArrayProp | JsonProp | VirtualProp | RelationProp;
137
132
  export type EntityIndex = {
138
133
  type: "index" | "unique" | "fulltext";
139
134
  columns: string[];
@@ -167,17 +162,22 @@ export type EntitySubsetRow = {
167
162
  isOpen?: boolean;
168
163
  };
169
164
  export type FlattenSubsetRow = Omit<EntitySubsetRow, "children">;
170
- export type SMDInput<T extends string> = {
171
- id: string;
172
- parentId?: string;
173
- table?: string;
174
- title?: string;
175
- props?: EntityProp[];
176
- indexes?: EntityIndex[];
177
- subsets?: {
178
- [subset: string]: T[];
179
- };
180
- };
165
+ /**
166
+ * 엔티티의 필드 구조를 트리 형태로 표현하는 중간 노드입니다.
167
+ *
168
+ * **목적**: Entity의 subset 필드 표현식(예: "id", "user.name", "tags[]")을
169
+ * 재귀적인 트리 구조로 파싱하여 Zod 스키마 생성의 중간 단계로 사용합니다.
170
+ *
171
+ * **변환 흐름**:
172
+ * Entity subset → EntityPropNode (트리 구조) → Zod 스키마 → RenderingNode (UI용)
173
+ *
174
+ * **nodeType**:
175
+ * - "plain": 단일 필드 (예: "id", "name")
176
+ * - "object": 중첩 객체 (예: "user.name" → user 객체)
177
+ * - "array": 배열 (예: "tags[]" → tags 배열)
178
+ *
179
+ * **사용 위치**: entity-converter.ts의 propNodeToZodType()
180
+ */
181
181
  export type EntityPropNode = {
182
182
  nodeType: "plain";
183
183
  prop: EntityProp;
@@ -186,34 +186,47 @@ export type EntityPropNode = {
186
186
  prop?: EntityProp;
187
187
  children: EntityPropNode[];
188
188
  };
189
- export declare function isIntegerProp(p: any): p is IntegerProp;
190
- export declare function isBigIntegerProp(p: any): p is BigIntegerProp;
191
- export declare function isTextProp(p: any): p is TextProp;
192
- export declare function isStringProp(p: any): p is StringProp;
193
- export declare function isEnumProp(p: any): p is EnumProp;
194
- export declare function isFloatProp(p: any): p is FloatProp;
195
- export declare function isDoubleProp(p: any): p is DoubleProp;
196
- export declare function isDecimalProp(p: any): p is DecimalProp;
197
- export declare function isBooleanProp(p: any): p is BooleanProp;
198
- export declare function isDateProp(p: any): p is DateProp;
199
- export declare function isDateTimeProp(p: any): p is DateTimeProp;
200
- export declare function isTimeProp(p: any): p is TimeProp;
201
- export declare function isTimestampProp(p: any): p is TimestampProp;
202
- export declare function isJsonProp(p: any): p is JsonProp;
203
- export declare function isUuidProp(p: any): p is UuidProp;
204
- export declare function isVirtualProp(p: any): p is VirtualProp;
205
- export declare function isRelationProp(p: any): p is RelationProp;
206
- export declare function isOneToOneRelationProp(p: any): p is OneToOneRelationProp;
207
- export declare function isBelongsToOneRelationProp(p: any): p is BelongsToOneRelationProp;
208
- export declare function isHasManyRelationProp(p: any): p is HasManyRelationProp;
209
- export declare function isManyToManyRelationProp(p: any): p is ManyToManyRelationProp;
189
+ export declare function isIntegerSingleProp(p: unknown): p is IntegerProp;
190
+ export declare function isIntegerArrayProp(p: unknown): p is IntegerArrayProp;
191
+ export declare function isIntegerProp(p: unknown): p is IntegerProp | IntegerArrayProp;
192
+ export declare function isBigIntegerSingleProp(p: unknown): p is BigIntegerProp;
193
+ export declare function isBigIntegerArrayProp(p: unknown): p is BigIntegerArrayProp;
194
+ export declare function isBigIntegerProp(p: unknown): p is BigIntegerProp | BigIntegerArrayProp;
195
+ export declare function isStringSingleProp(p: unknown): p is StringProp;
196
+ export declare function isStringArrayProp(p: unknown): p is StringArrayProp;
197
+ export declare function isStringProp(p: unknown): p is StringProp | StringArrayProp;
198
+ export declare function isEnumSingleProp(p: unknown): p is EnumProp;
199
+ export declare function isEnumArrayProp(p: unknown): p is EnumArrayProp;
200
+ export declare function isEnumProp(p: unknown): p is EnumProp | EnumArrayProp;
201
+ export declare function isNumberSingleProp(p: unknown): p is NumberProp;
202
+ export declare function isNumberArrayProp(p: unknown): p is NumberArrayProp;
203
+ export declare function isNumberProp(p: unknown): p is NumberProp | NumberArrayProp;
204
+ export declare function isNumericSingleProp(p: unknown): p is NumericProp;
205
+ export declare function isNumericArrayProp(p: unknown): p is NumericArrayProp;
206
+ export declare function isNumericProp(p: unknown): p is NumericProp | NumericArrayProp;
207
+ export declare function isBooleanSingleProp(p: unknown): p is BooleanProp;
208
+ export declare function isBooleanArrayProp(p: unknown): p is BooleanArrayProp;
209
+ export declare function isBooleanProp(p: unknown): p is BooleanProp | BooleanArrayProp;
210
+ export declare function isDateSingleProp(p: unknown): p is DateProp;
211
+ export declare function isDateArrayProp(p: unknown): p is DateArrayProp;
212
+ export declare function isDateProp(p: unknown): p is DateProp | DateArrayProp;
213
+ export declare function isUuidSingleProp(p: unknown): p is UuidProp;
214
+ export declare function isUuidArrayProp(p: unknown): p is UuidArrayProp;
215
+ export declare function isUuidProp(p: unknown): p is UuidProp | UuidArrayProp;
216
+ export declare function isJsonProp(p: unknown): p is JsonProp;
217
+ export declare function isVirtualProp(p: unknown): p is VirtualProp;
218
+ export declare function isRelationProp(p: unknown): p is RelationProp;
219
+ export declare function isOneToOneRelationProp(p: unknown): p is OneToOneRelationProp;
220
+ export declare function isBelongsToOneRelationProp(p: unknown): p is BelongsToOneRelationProp;
221
+ export declare function isHasManyRelationProp(p: unknown): p is HasManyRelationProp;
222
+ export declare function isManyToManyRelationProp(p: unknown): p is ManyToManyRelationProp;
210
223
  type JoinClause = {
211
224
  from: string;
212
225
  to: string;
213
226
  } | {
214
227
  custom: string;
215
228
  };
216
- export declare function isCustomJoinClause(p: any): p is {
229
+ export declare function isCustomJoinClause(p: unknown): p is {
217
230
  custom: string;
218
231
  };
219
232
  type SubsetLoader = {
@@ -250,9 +263,9 @@ export type SubsetQuery = {
250
263
  loaders: SubsetLoader[];
251
264
  };
252
265
  export declare const SonamuQueryMode: z.ZodEnum<{
266
+ list: "list";
253
267
  count: "count";
254
268
  both: "both";
255
- list: "list";
256
269
  }>;
257
270
  export type SonamuQueryMode = z.infer<typeof SonamuQueryMode>;
258
271
  export type KnexError = {
@@ -262,13 +275,14 @@ export type KnexError = {
262
275
  sqlMessage: string;
263
276
  sqlState: string;
264
277
  };
265
- export declare function isKnexError(e: any): e is KnexError;
278
+ export declare function isKnexError(e: unknown): e is KnexError;
266
279
  export type KnexColumnType = "string" | "text" | "smalltext" | "mediumtext" | "longtext" | "integer" | "bigInteger" | "decimal" | "timestamp" | "boolean" | "foreign" | "uuid" | "json" | "float" | "date" | "time" | "datetime";
280
+ export type MigrationColumnType = "string" | "string[]" | "integer" | "integer[]" | "bigInteger" | "bigInteger[]" | "numberOrNumeric" | "numberOrNumeric[]" | "boolean" | "boolean[]" | "date" | "date[]" | "uuid" | "uuid[]" | "json";
267
281
  export type MigrationColumn = {
268
282
  name: string;
269
- type: KnexColumnType;
283
+ type: MigrationColumnType;
270
284
  nullable: boolean;
271
- unsigned?: boolean;
285
+ numberType?: "real" | "double precision" | "numeric";
272
286
  length?: number;
273
287
  defaultTo?: string;
274
288
  precision?: number;
@@ -376,24 +390,44 @@ export declare namespace ApiParamType {
376
390
  id: string;
377
391
  constraint?: ApiParamType;
378
392
  };
379
- function isObject(v: any): v is ApiParamType.Object;
380
- function isUnion(v: any): v is ApiParamType.Union;
381
- function isIntersection(v: any): v is ApiParamType.Intersection;
382
- function isStringLiteral(v: any): v is ApiParamType.StringLiteral;
383
- function isNumericLiteral(v: any): v is ApiParamType.NumericLiteral;
384
- function isArray(v: any): v is ApiParamType.Array;
385
- function isRef(v: any): v is ApiParamType.Ref;
386
- function isIndexedAccess(v: any): v is ApiParamType.IndexedAccess;
387
- function isTupleType(v: any): v is ApiParamType.TupleType;
388
- function isPick(v: any): v is ApiParamType.Pick;
389
- function isOmit(v: any): v is ApiParamType.Omit;
390
- function isPartial(v: any): v is ApiParamType.Partial;
391
- function isPromise(v: any): v is ApiParamType.Promise;
392
- function isContext(v: any): v is ApiParamType.Context;
393
- function isRefKnex(v: any): v is ApiParamType.Ref;
394
- function isTypeParam(v: any): v is ApiParamType.TypeParam;
393
+ function isObject(v: unknown): v is ApiParamType.Object;
394
+ function isUnion(v: unknown): v is ApiParamType.Union;
395
+ function isIntersection(v: unknown): v is ApiParamType.Intersection;
396
+ function isStringLiteral(v: unknown): v is ApiParamType.StringLiteral;
397
+ function isNumericLiteral(v: unknown): v is ApiParamType.NumericLiteral;
398
+ function isArray(v: unknown): v is ApiParamType.Array;
399
+ function isRef(v: unknown): v is ApiParamType.Ref;
400
+ function isIndexedAccess(v: unknown): v is ApiParamType.IndexedAccess;
401
+ function isTupleType(v: unknown): v is ApiParamType.TupleType;
402
+ function isPick(v: unknown): v is ApiParamType.Pick;
403
+ function isOmit(v: unknown): v is ApiParamType.Omit;
404
+ function isPartial(v: unknown): v is ApiParamType.Partial;
405
+ function isPromise(v: unknown): v is ApiParamType.Promise;
406
+ function isContext(v: unknown): v is ApiParamType.Context;
407
+ function isRefKnex(v: unknown): v is ApiParamType.Ref;
408
+ function isTypeParam(v: unknown): v is ApiParamType.TypeParam;
395
409
  }
396
410
  export type ApiParamType = "string" | "number" | "boolean" | "null" | "undefined" | "void" | "any" | "unknown" | "true" | "false" | ApiParamType.StringLiteral | ApiParamType.NumericLiteral | ApiParamType.Object | ApiParamType.Union | ApiParamType.Intersection | ApiParamType.Array | ApiParamType.Ref | ApiParamType.IndexedAccess | ApiParamType.TypeParam | ApiParamType.TupleType;
411
+ /**
412
+ * UI 컴포넌트 렌더링을 위한 메타데이터 노드입니다.
413
+ *
414
+ * **목적**: Zod 스키마로부터 프론트엔드 UI 컴포넌트를 자동 생성하기 위한
415
+ * 렌더링 정보를 담은 트리 구조입니다. 각 필드가 어떤 UI 컴포넌트로
416
+ * 표현되어야 하는지(텍스트, 이미지, 날짜, Enum 선택 등)를 명시합니다.
417
+ *
418
+ * **변환 흐름**:
419
+ * Entity subset → EntityPropNode → Zod 스키마 → RenderingNode (UI용) → React 컴포넌트 코드 생성
420
+ *
421
+ * **주요 필드**:
422
+ * - `renderType`: UI 컴포넌트 유형 (string-plain, number-fk_id, enums, array 등)
423
+ * - `zodType`: 원본 Zod 스키마 (validation 용)
424
+ * - `children`: 중첩된 객체 필드들 (object일 때)
425
+ * - `element`: 배열 요소 타입 (array일 때)
426
+ *
427
+ * **사용 위치**:
428
+ * - zod-converter.ts의 zodTypeToRenderingNode()에서 생성
429
+ * - view_form.template.ts, view_list.template.ts 등에서 React 컴포넌트 코드 생성에 사용
430
+ */
397
431
  export declare const RenderingNode: z.ZodAny;
398
432
  export type RenderingNode = {
399
433
  name: string;
@@ -408,17 +442,614 @@ export type RenderingNode = {
408
442
  optional?: boolean;
409
443
  nullable?: boolean;
410
444
  };
445
+ export declare const RelationPropSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
446
+ relationType: z.ZodLiteral<"BelongsToOne">;
447
+ customJoinClause: z.ZodOptional<z.ZodString>;
448
+ useConstraint: z.ZodOptional<z.ZodBoolean>;
449
+ onUpdate: z.ZodOptional<z.ZodEnum<{
450
+ CASCADE: "CASCADE";
451
+ "SET NULL": "SET NULL";
452
+ "NO ACTION": "NO ACTION";
453
+ "SET DEFAULT": "SET DEFAULT";
454
+ RESTRICT: "RESTRICT";
455
+ }>>;
456
+ onDelete: z.ZodOptional<z.ZodEnum<{
457
+ CASCADE: "CASCADE";
458
+ "SET NULL": "SET NULL";
459
+ "NO ACTION": "NO ACTION";
460
+ "SET DEFAULT": "SET DEFAULT";
461
+ RESTRICT: "RESTRICT";
462
+ }>>;
463
+ type: z.ZodLiteral<"relation">;
464
+ with: z.ZodString;
465
+ name: z.ZodString;
466
+ desc: z.ZodOptional<z.ZodString>;
467
+ nullable: z.ZodOptional<z.ZodBoolean>;
468
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
469
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
470
+ }, z.core.$strict>, z.ZodObject<{
471
+ relationType: z.ZodLiteral<"HasMany">;
472
+ joinColumn: z.ZodString;
473
+ fromColumn: z.ZodOptional<z.ZodString>;
474
+ type: z.ZodLiteral<"relation">;
475
+ with: z.ZodString;
476
+ name: z.ZodString;
477
+ desc: z.ZodOptional<z.ZodString>;
478
+ nullable: z.ZodOptional<z.ZodBoolean>;
479
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
480
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
481
+ }, z.core.$strict>, z.ZodObject<{
482
+ relationType: z.ZodLiteral<"ManyToMany">;
483
+ joinTable: z.ZodString;
484
+ onUpdate: z.ZodEnum<{
485
+ CASCADE: "CASCADE";
486
+ "SET NULL": "SET NULL";
487
+ "NO ACTION": "NO ACTION";
488
+ "SET DEFAULT": "SET DEFAULT";
489
+ RESTRICT: "RESTRICT";
490
+ }>;
491
+ onDelete: z.ZodEnum<{
492
+ CASCADE: "CASCADE";
493
+ "SET NULL": "SET NULL";
494
+ "NO ACTION": "NO ACTION";
495
+ "SET DEFAULT": "SET DEFAULT";
496
+ RESTRICT: "RESTRICT";
497
+ }>;
498
+ type: z.ZodLiteral<"relation">;
499
+ with: z.ZodString;
500
+ name: z.ZodString;
501
+ desc: z.ZodOptional<z.ZodString>;
502
+ nullable: z.ZodOptional<z.ZodBoolean>;
503
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
504
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
505
+ }, z.core.$strict>, z.ZodObject<{
506
+ relationType: z.ZodLiteral<"OneToOne">;
507
+ customJoinClause: z.ZodOptional<z.ZodString>;
508
+ hasJoinColumn: z.ZodOptional<z.ZodBoolean>;
509
+ useConstraint: z.ZodOptional<z.ZodBoolean>;
510
+ onUpdate: z.ZodOptional<z.ZodEnum<{
511
+ CASCADE: "CASCADE";
512
+ "SET NULL": "SET NULL";
513
+ "NO ACTION": "NO ACTION";
514
+ "SET DEFAULT": "SET DEFAULT";
515
+ RESTRICT: "RESTRICT";
516
+ }>>;
517
+ onDelete: z.ZodOptional<z.ZodEnum<{
518
+ CASCADE: "CASCADE";
519
+ "SET NULL": "SET NULL";
520
+ "NO ACTION": "NO ACTION";
521
+ "SET DEFAULT": "SET DEFAULT";
522
+ RESTRICT: "RESTRICT";
523
+ }>>;
524
+ type: z.ZodLiteral<"relation">;
525
+ with: z.ZodString;
526
+ name: z.ZodString;
527
+ desc: z.ZodOptional<z.ZodString>;
528
+ nullable: z.ZodOptional<z.ZodBoolean>;
529
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
530
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
531
+ }, z.core.$strict>], "relationType">;
532
+ export declare const NormalPropSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
533
+ type: z.ZodUnion<readonly [z.ZodLiteral<"integer">, z.ZodLiteral<"integer[]">, z.ZodLiteral<"bigInteger">, z.ZodLiteral<"bigInteger[]">, z.ZodLiteral<"boolean">, z.ZodLiteral<"boolean[]">, z.ZodLiteral<"date">, z.ZodLiteral<"date[]">, z.ZodLiteral<"uuid">, z.ZodLiteral<"uuid[]">]>;
534
+ name: z.ZodString;
535
+ desc: z.ZodOptional<z.ZodString>;
536
+ nullable: z.ZodOptional<z.ZodBoolean>;
537
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
538
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
539
+ }, z.core.$strict>, z.ZodObject<{
540
+ type: z.ZodLiteral<"string">;
541
+ length: z.ZodOptional<z.ZodNumber>;
542
+ name: z.ZodString;
543
+ desc: z.ZodOptional<z.ZodString>;
544
+ nullable: z.ZodOptional<z.ZodBoolean>;
545
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
546
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
547
+ }, z.core.$strict>, z.ZodObject<{
548
+ type: z.ZodLiteral<"string[]">;
549
+ length: z.ZodOptional<z.ZodNumber>;
550
+ name: z.ZodString;
551
+ desc: z.ZodOptional<z.ZodString>;
552
+ nullable: z.ZodOptional<z.ZodBoolean>;
553
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
554
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
555
+ }, z.core.$strict>, z.ZodObject<{
556
+ type: z.ZodLiteral<"enum">;
557
+ id: z.ZodString;
558
+ name: z.ZodString;
559
+ desc: z.ZodOptional<z.ZodString>;
560
+ nullable: z.ZodOptional<z.ZodBoolean>;
561
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
562
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
563
+ }, z.core.$strict>, z.ZodObject<{
564
+ type: z.ZodLiteral<"enum[]">;
565
+ id: z.ZodString;
566
+ name: z.ZodString;
567
+ desc: z.ZodOptional<z.ZodString>;
568
+ nullable: z.ZodOptional<z.ZodBoolean>;
569
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
570
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
571
+ }, z.core.$strict>, z.ZodObject<{
572
+ numberType: z.ZodOptional<z.ZodEnum<{
573
+ numeric: "numeric";
574
+ real: "real";
575
+ "double precision": "double precision";
576
+ }>>;
577
+ precision: z.ZodOptional<z.ZodNumber>;
578
+ scale: z.ZodOptional<z.ZodNumber>;
579
+ type: z.ZodLiteral<"number">;
580
+ name: z.ZodString;
581
+ desc: z.ZodOptional<z.ZodString>;
582
+ nullable: z.ZodOptional<z.ZodBoolean>;
583
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
584
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
585
+ }, z.core.$strict>, z.ZodObject<{
586
+ numberType: z.ZodOptional<z.ZodEnum<{
587
+ numeric: "numeric";
588
+ real: "real";
589
+ "double precision": "double precision";
590
+ }>>;
591
+ precision: z.ZodOptional<z.ZodNumber>;
592
+ scale: z.ZodOptional<z.ZodNumber>;
593
+ type: z.ZodLiteral<"number[]">;
594
+ name: z.ZodString;
595
+ desc: z.ZodOptional<z.ZodString>;
596
+ nullable: z.ZodOptional<z.ZodBoolean>;
597
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
598
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
599
+ }, z.core.$strict>, z.ZodObject<{
600
+ precision: z.ZodOptional<z.ZodNumber>;
601
+ scale: z.ZodOptional<z.ZodNumber>;
602
+ type: z.ZodLiteral<"numeric">;
603
+ name: z.ZodString;
604
+ desc: z.ZodOptional<z.ZodString>;
605
+ nullable: z.ZodOptional<z.ZodBoolean>;
606
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
607
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
608
+ }, z.core.$strict>, z.ZodObject<{
609
+ precision: z.ZodOptional<z.ZodNumber>;
610
+ scale: z.ZodOptional<z.ZodNumber>;
611
+ type: z.ZodLiteral<"numeric[]">;
612
+ name: z.ZodString;
613
+ desc: z.ZodOptional<z.ZodString>;
614
+ nullable: z.ZodOptional<z.ZodBoolean>;
615
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
616
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
617
+ }, z.core.$strict>, z.ZodObject<{
618
+ type: z.ZodLiteral<"json">;
619
+ id: z.ZodString;
620
+ name: z.ZodString;
621
+ desc: z.ZodOptional<z.ZodString>;
622
+ nullable: z.ZodOptional<z.ZodBoolean>;
623
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
624
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
625
+ }, z.core.$strict>, z.ZodObject<{
626
+ type: z.ZodLiteral<"virtual">;
627
+ id: z.ZodString;
628
+ name: z.ZodString;
629
+ desc: z.ZodOptional<z.ZodString>;
630
+ nullable: z.ZodOptional<z.ZodBoolean>;
631
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
632
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
633
+ }, z.core.$strict>], "type">;
634
+ export declare const EntityJsonSchema: z.ZodObject<{
635
+ id: z.ZodString;
636
+ title: z.ZodString;
637
+ table: z.ZodString;
638
+ parentId: z.ZodOptional<z.ZodString>;
639
+ props: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
640
+ type: z.ZodUnion<readonly [z.ZodLiteral<"integer">, z.ZodLiteral<"integer[]">, z.ZodLiteral<"bigInteger">, z.ZodLiteral<"bigInteger[]">, z.ZodLiteral<"boolean">, z.ZodLiteral<"boolean[]">, z.ZodLiteral<"date">, z.ZodLiteral<"date[]">, z.ZodLiteral<"uuid">, z.ZodLiteral<"uuid[]">]>;
641
+ name: z.ZodString;
642
+ desc: z.ZodOptional<z.ZodString>;
643
+ nullable: z.ZodOptional<z.ZodBoolean>;
644
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
645
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
646
+ }, z.core.$strict>, z.ZodObject<{
647
+ type: z.ZodLiteral<"string">;
648
+ length: z.ZodOptional<z.ZodNumber>;
649
+ name: z.ZodString;
650
+ desc: z.ZodOptional<z.ZodString>;
651
+ nullable: z.ZodOptional<z.ZodBoolean>;
652
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
653
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
654
+ }, z.core.$strict>, z.ZodObject<{
655
+ type: z.ZodLiteral<"string[]">;
656
+ length: z.ZodOptional<z.ZodNumber>;
657
+ name: z.ZodString;
658
+ desc: z.ZodOptional<z.ZodString>;
659
+ nullable: z.ZodOptional<z.ZodBoolean>;
660
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
661
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
662
+ }, z.core.$strict>, z.ZodObject<{
663
+ type: z.ZodLiteral<"enum">;
664
+ id: z.ZodString;
665
+ name: z.ZodString;
666
+ desc: z.ZodOptional<z.ZodString>;
667
+ nullable: z.ZodOptional<z.ZodBoolean>;
668
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
669
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
670
+ }, z.core.$strict>, z.ZodObject<{
671
+ type: z.ZodLiteral<"enum[]">;
672
+ id: z.ZodString;
673
+ name: z.ZodString;
674
+ desc: z.ZodOptional<z.ZodString>;
675
+ nullable: z.ZodOptional<z.ZodBoolean>;
676
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
677
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
678
+ }, z.core.$strict>, z.ZodObject<{
679
+ numberType: z.ZodOptional<z.ZodEnum<{
680
+ numeric: "numeric";
681
+ real: "real";
682
+ "double precision": "double precision";
683
+ }>>;
684
+ precision: z.ZodOptional<z.ZodNumber>;
685
+ scale: z.ZodOptional<z.ZodNumber>;
686
+ type: z.ZodLiteral<"number">;
687
+ name: z.ZodString;
688
+ desc: z.ZodOptional<z.ZodString>;
689
+ nullable: z.ZodOptional<z.ZodBoolean>;
690
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
691
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
692
+ }, z.core.$strict>, z.ZodObject<{
693
+ numberType: z.ZodOptional<z.ZodEnum<{
694
+ numeric: "numeric";
695
+ real: "real";
696
+ "double precision": "double precision";
697
+ }>>;
698
+ precision: z.ZodOptional<z.ZodNumber>;
699
+ scale: z.ZodOptional<z.ZodNumber>;
700
+ type: z.ZodLiteral<"number[]">;
701
+ name: z.ZodString;
702
+ desc: z.ZodOptional<z.ZodString>;
703
+ nullable: z.ZodOptional<z.ZodBoolean>;
704
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
705
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
706
+ }, z.core.$strict>, z.ZodObject<{
707
+ precision: z.ZodOptional<z.ZodNumber>;
708
+ scale: z.ZodOptional<z.ZodNumber>;
709
+ type: z.ZodLiteral<"numeric">;
710
+ name: z.ZodString;
711
+ desc: z.ZodOptional<z.ZodString>;
712
+ nullable: z.ZodOptional<z.ZodBoolean>;
713
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
714
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
715
+ }, z.core.$strict>, z.ZodObject<{
716
+ precision: z.ZodOptional<z.ZodNumber>;
717
+ scale: z.ZodOptional<z.ZodNumber>;
718
+ type: z.ZodLiteral<"numeric[]">;
719
+ name: z.ZodString;
720
+ desc: z.ZodOptional<z.ZodString>;
721
+ nullable: z.ZodOptional<z.ZodBoolean>;
722
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
723
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
724
+ }, z.core.$strict>, z.ZodObject<{
725
+ type: z.ZodLiteral<"json">;
726
+ id: z.ZodString;
727
+ name: z.ZodString;
728
+ desc: z.ZodOptional<z.ZodString>;
729
+ nullable: z.ZodOptional<z.ZodBoolean>;
730
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
731
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
732
+ }, z.core.$strict>, z.ZodObject<{
733
+ type: z.ZodLiteral<"virtual">;
734
+ id: z.ZodString;
735
+ name: z.ZodString;
736
+ desc: z.ZodOptional<z.ZodString>;
737
+ nullable: z.ZodOptional<z.ZodBoolean>;
738
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
739
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
740
+ }, z.core.$strict>], "type">, z.ZodDiscriminatedUnion<[z.ZodObject<{
741
+ relationType: z.ZodLiteral<"BelongsToOne">;
742
+ customJoinClause: z.ZodOptional<z.ZodString>;
743
+ useConstraint: z.ZodOptional<z.ZodBoolean>;
744
+ onUpdate: z.ZodOptional<z.ZodEnum<{
745
+ CASCADE: "CASCADE";
746
+ "SET NULL": "SET NULL";
747
+ "NO ACTION": "NO ACTION";
748
+ "SET DEFAULT": "SET DEFAULT";
749
+ RESTRICT: "RESTRICT";
750
+ }>>;
751
+ onDelete: z.ZodOptional<z.ZodEnum<{
752
+ CASCADE: "CASCADE";
753
+ "SET NULL": "SET NULL";
754
+ "NO ACTION": "NO ACTION";
755
+ "SET DEFAULT": "SET DEFAULT";
756
+ RESTRICT: "RESTRICT";
757
+ }>>;
758
+ type: z.ZodLiteral<"relation">;
759
+ with: z.ZodString;
760
+ name: z.ZodString;
761
+ desc: z.ZodOptional<z.ZodString>;
762
+ nullable: z.ZodOptional<z.ZodBoolean>;
763
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
764
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
765
+ }, z.core.$strict>, z.ZodObject<{
766
+ relationType: z.ZodLiteral<"HasMany">;
767
+ joinColumn: z.ZodString;
768
+ fromColumn: z.ZodOptional<z.ZodString>;
769
+ type: z.ZodLiteral<"relation">;
770
+ with: z.ZodString;
771
+ name: z.ZodString;
772
+ desc: z.ZodOptional<z.ZodString>;
773
+ nullable: z.ZodOptional<z.ZodBoolean>;
774
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
775
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
776
+ }, z.core.$strict>, z.ZodObject<{
777
+ relationType: z.ZodLiteral<"ManyToMany">;
778
+ joinTable: z.ZodString;
779
+ onUpdate: z.ZodEnum<{
780
+ CASCADE: "CASCADE";
781
+ "SET NULL": "SET NULL";
782
+ "NO ACTION": "NO ACTION";
783
+ "SET DEFAULT": "SET DEFAULT";
784
+ RESTRICT: "RESTRICT";
785
+ }>;
786
+ onDelete: z.ZodEnum<{
787
+ CASCADE: "CASCADE";
788
+ "SET NULL": "SET NULL";
789
+ "NO ACTION": "NO ACTION";
790
+ "SET DEFAULT": "SET DEFAULT";
791
+ RESTRICT: "RESTRICT";
792
+ }>;
793
+ type: z.ZodLiteral<"relation">;
794
+ with: z.ZodString;
795
+ name: z.ZodString;
796
+ desc: z.ZodOptional<z.ZodString>;
797
+ nullable: z.ZodOptional<z.ZodBoolean>;
798
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
799
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
800
+ }, z.core.$strict>, z.ZodObject<{
801
+ relationType: z.ZodLiteral<"OneToOne">;
802
+ customJoinClause: z.ZodOptional<z.ZodString>;
803
+ hasJoinColumn: z.ZodOptional<z.ZodBoolean>;
804
+ useConstraint: z.ZodOptional<z.ZodBoolean>;
805
+ onUpdate: z.ZodOptional<z.ZodEnum<{
806
+ CASCADE: "CASCADE";
807
+ "SET NULL": "SET NULL";
808
+ "NO ACTION": "NO ACTION";
809
+ "SET DEFAULT": "SET DEFAULT";
810
+ RESTRICT: "RESTRICT";
811
+ }>>;
812
+ onDelete: z.ZodOptional<z.ZodEnum<{
813
+ CASCADE: "CASCADE";
814
+ "SET NULL": "SET NULL";
815
+ "NO ACTION": "NO ACTION";
816
+ "SET DEFAULT": "SET DEFAULT";
817
+ RESTRICT: "RESTRICT";
818
+ }>>;
819
+ type: z.ZodLiteral<"relation">;
820
+ with: z.ZodString;
821
+ name: z.ZodString;
822
+ desc: z.ZodOptional<z.ZodString>;
823
+ nullable: z.ZodOptional<z.ZodBoolean>;
824
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
825
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
826
+ }, z.core.$strict>], "relationType">], "type">>;
827
+ indexes: z.ZodArray<z.ZodObject<{
828
+ type: z.ZodEnum<{
829
+ index: "index";
830
+ unique: "unique";
831
+ fulltext: "fulltext";
832
+ }>;
833
+ columns: z.ZodArray<z.ZodString>;
834
+ name: z.ZodOptional<z.ZodString>;
835
+ parser: z.ZodOptional<z.ZodEnum<{
836
+ "built-in": "built-in";
837
+ ngram: "ngram";
838
+ }>>;
839
+ }, z.core.$strict>>;
840
+ subsets: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>;
841
+ enums: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>;
842
+ }, z.core.$strict>;
411
843
  export declare const TemplateOptions: z.ZodObject<{
412
844
  entity: z.ZodObject<{
413
- entityId: z.ZodString;
845
+ table: z.ZodOptional<z.ZodString>;
414
846
  parentId: z.ZodOptional<z.ZodString>;
415
847
  title: z.ZodString;
416
- table: z.ZodOptional<z.ZodString>;
417
- props: z.ZodOptional<z.ZodArray<z.ZodObject<{}, z.core.$strip>>>;
418
- indexes: z.ZodOptional<z.ZodArray<z.ZodObject<{}, z.core.$strip>>>;
419
- subsets: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
420
- enums: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
421
- }, z.core.$strip>;
848
+ props: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
849
+ type: z.ZodUnion<readonly [z.ZodLiteral<"integer">, z.ZodLiteral<"integer[]">, z.ZodLiteral<"bigInteger">, z.ZodLiteral<"bigInteger[]">, z.ZodLiteral<"boolean">, z.ZodLiteral<"boolean[]">, z.ZodLiteral<"date">, z.ZodLiteral<"date[]">, z.ZodLiteral<"uuid">, z.ZodLiteral<"uuid[]">]>;
850
+ name: z.ZodString;
851
+ desc: z.ZodOptional<z.ZodString>;
852
+ nullable: z.ZodOptional<z.ZodBoolean>;
853
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
854
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
855
+ }, z.core.$strict>, z.ZodObject<{
856
+ type: z.ZodLiteral<"string">;
857
+ length: z.ZodOptional<z.ZodNumber>;
858
+ name: z.ZodString;
859
+ desc: z.ZodOptional<z.ZodString>;
860
+ nullable: z.ZodOptional<z.ZodBoolean>;
861
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
862
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
863
+ }, z.core.$strict>, z.ZodObject<{
864
+ type: z.ZodLiteral<"string[]">;
865
+ length: z.ZodOptional<z.ZodNumber>;
866
+ name: z.ZodString;
867
+ desc: z.ZodOptional<z.ZodString>;
868
+ nullable: z.ZodOptional<z.ZodBoolean>;
869
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
870
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
871
+ }, z.core.$strict>, z.ZodObject<{
872
+ type: z.ZodLiteral<"enum">;
873
+ id: z.ZodString;
874
+ name: z.ZodString;
875
+ desc: z.ZodOptional<z.ZodString>;
876
+ nullable: z.ZodOptional<z.ZodBoolean>;
877
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
878
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
879
+ }, z.core.$strict>, z.ZodObject<{
880
+ type: z.ZodLiteral<"enum[]">;
881
+ id: z.ZodString;
882
+ name: z.ZodString;
883
+ desc: z.ZodOptional<z.ZodString>;
884
+ nullable: z.ZodOptional<z.ZodBoolean>;
885
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
886
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
887
+ }, z.core.$strict>, z.ZodObject<{
888
+ numberType: z.ZodOptional<z.ZodEnum<{
889
+ numeric: "numeric";
890
+ real: "real";
891
+ "double precision": "double precision";
892
+ }>>;
893
+ precision: z.ZodOptional<z.ZodNumber>;
894
+ scale: z.ZodOptional<z.ZodNumber>;
895
+ type: z.ZodLiteral<"number">;
896
+ name: z.ZodString;
897
+ desc: z.ZodOptional<z.ZodString>;
898
+ nullable: z.ZodOptional<z.ZodBoolean>;
899
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
900
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
901
+ }, z.core.$strict>, z.ZodObject<{
902
+ numberType: z.ZodOptional<z.ZodEnum<{
903
+ numeric: "numeric";
904
+ real: "real";
905
+ "double precision": "double precision";
906
+ }>>;
907
+ precision: z.ZodOptional<z.ZodNumber>;
908
+ scale: z.ZodOptional<z.ZodNumber>;
909
+ type: z.ZodLiteral<"number[]">;
910
+ name: z.ZodString;
911
+ desc: z.ZodOptional<z.ZodString>;
912
+ nullable: z.ZodOptional<z.ZodBoolean>;
913
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
914
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
915
+ }, z.core.$strict>, z.ZodObject<{
916
+ precision: z.ZodOptional<z.ZodNumber>;
917
+ scale: z.ZodOptional<z.ZodNumber>;
918
+ type: z.ZodLiteral<"numeric">;
919
+ name: z.ZodString;
920
+ desc: z.ZodOptional<z.ZodString>;
921
+ nullable: z.ZodOptional<z.ZodBoolean>;
922
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
923
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
924
+ }, z.core.$strict>, z.ZodObject<{
925
+ precision: z.ZodOptional<z.ZodNumber>;
926
+ scale: z.ZodOptional<z.ZodNumber>;
927
+ type: z.ZodLiteral<"numeric[]">;
928
+ name: z.ZodString;
929
+ desc: z.ZodOptional<z.ZodString>;
930
+ nullable: z.ZodOptional<z.ZodBoolean>;
931
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
932
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
933
+ }, z.core.$strict>, z.ZodObject<{
934
+ type: z.ZodLiteral<"json">;
935
+ id: z.ZodString;
936
+ name: z.ZodString;
937
+ desc: z.ZodOptional<z.ZodString>;
938
+ nullable: z.ZodOptional<z.ZodBoolean>;
939
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
940
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
941
+ }, z.core.$strict>, z.ZodObject<{
942
+ type: z.ZodLiteral<"virtual">;
943
+ id: z.ZodString;
944
+ name: z.ZodString;
945
+ desc: z.ZodOptional<z.ZodString>;
946
+ nullable: z.ZodOptional<z.ZodBoolean>;
947
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
948
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
949
+ }, z.core.$strict>], "type">, z.ZodDiscriminatedUnion<[z.ZodObject<{
950
+ relationType: z.ZodLiteral<"BelongsToOne">;
951
+ customJoinClause: z.ZodOptional<z.ZodString>;
952
+ useConstraint: z.ZodOptional<z.ZodBoolean>;
953
+ onUpdate: z.ZodOptional<z.ZodEnum<{
954
+ CASCADE: "CASCADE";
955
+ "SET NULL": "SET NULL";
956
+ "NO ACTION": "NO ACTION";
957
+ "SET DEFAULT": "SET DEFAULT";
958
+ RESTRICT: "RESTRICT";
959
+ }>>;
960
+ onDelete: z.ZodOptional<z.ZodEnum<{
961
+ CASCADE: "CASCADE";
962
+ "SET NULL": "SET NULL";
963
+ "NO ACTION": "NO ACTION";
964
+ "SET DEFAULT": "SET DEFAULT";
965
+ RESTRICT: "RESTRICT";
966
+ }>>;
967
+ type: z.ZodLiteral<"relation">;
968
+ with: z.ZodString;
969
+ name: z.ZodString;
970
+ desc: z.ZodOptional<z.ZodString>;
971
+ nullable: z.ZodOptional<z.ZodBoolean>;
972
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
973
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
974
+ }, z.core.$strict>, z.ZodObject<{
975
+ relationType: z.ZodLiteral<"HasMany">;
976
+ joinColumn: z.ZodString;
977
+ fromColumn: z.ZodOptional<z.ZodString>;
978
+ type: z.ZodLiteral<"relation">;
979
+ with: z.ZodString;
980
+ name: z.ZodString;
981
+ desc: z.ZodOptional<z.ZodString>;
982
+ nullable: z.ZodOptional<z.ZodBoolean>;
983
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
984
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
985
+ }, z.core.$strict>, z.ZodObject<{
986
+ relationType: z.ZodLiteral<"ManyToMany">;
987
+ joinTable: z.ZodString;
988
+ onUpdate: z.ZodEnum<{
989
+ CASCADE: "CASCADE";
990
+ "SET NULL": "SET NULL";
991
+ "NO ACTION": "NO ACTION";
992
+ "SET DEFAULT": "SET DEFAULT";
993
+ RESTRICT: "RESTRICT";
994
+ }>;
995
+ onDelete: z.ZodEnum<{
996
+ CASCADE: "CASCADE";
997
+ "SET NULL": "SET NULL";
998
+ "NO ACTION": "NO ACTION";
999
+ "SET DEFAULT": "SET DEFAULT";
1000
+ RESTRICT: "RESTRICT";
1001
+ }>;
1002
+ type: z.ZodLiteral<"relation">;
1003
+ with: z.ZodString;
1004
+ name: z.ZodString;
1005
+ desc: z.ZodOptional<z.ZodString>;
1006
+ nullable: z.ZodOptional<z.ZodBoolean>;
1007
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
1008
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1009
+ }, z.core.$strict>, z.ZodObject<{
1010
+ relationType: z.ZodLiteral<"OneToOne">;
1011
+ customJoinClause: z.ZodOptional<z.ZodString>;
1012
+ hasJoinColumn: z.ZodOptional<z.ZodBoolean>;
1013
+ useConstraint: z.ZodOptional<z.ZodBoolean>;
1014
+ onUpdate: z.ZodOptional<z.ZodEnum<{
1015
+ CASCADE: "CASCADE";
1016
+ "SET NULL": "SET NULL";
1017
+ "NO ACTION": "NO ACTION";
1018
+ "SET DEFAULT": "SET DEFAULT";
1019
+ RESTRICT: "RESTRICT";
1020
+ }>>;
1021
+ onDelete: z.ZodOptional<z.ZodEnum<{
1022
+ CASCADE: "CASCADE";
1023
+ "SET NULL": "SET NULL";
1024
+ "NO ACTION": "NO ACTION";
1025
+ "SET DEFAULT": "SET DEFAULT";
1026
+ RESTRICT: "RESTRICT";
1027
+ }>>;
1028
+ type: z.ZodLiteral<"relation">;
1029
+ with: z.ZodString;
1030
+ name: z.ZodString;
1031
+ desc: z.ZodOptional<z.ZodString>;
1032
+ nullable: z.ZodOptional<z.ZodBoolean>;
1033
+ toFilter: z.ZodOptional<z.ZodLiteral<true>>;
1034
+ dbDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1035
+ }, z.core.$strict>], "relationType">], "type">>>;
1036
+ indexes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1037
+ type: z.ZodEnum<{
1038
+ index: "index";
1039
+ unique: "unique";
1040
+ fulltext: "fulltext";
1041
+ }>;
1042
+ columns: z.ZodArray<z.ZodString>;
1043
+ name: z.ZodOptional<z.ZodString>;
1044
+ parser: z.ZodOptional<z.ZodEnum<{
1045
+ "built-in": "built-in";
1046
+ ngram: "ngram";
1047
+ }>>;
1048
+ }, z.core.$strict>>>;
1049
+ subsets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
1050
+ enums: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
1051
+ entityId: z.ZodString;
1052
+ }, z.core.$strict>;
422
1053
  init_types: z.ZodObject<{
423
1054
  entityId: z.ZodString;
424
1055
  }, z.core.$strip>;
@@ -429,8 +1060,8 @@ export declare const TemplateOptions: z.ZodObject<{
429
1060
  }, z.core.$strip>;
430
1061
  model: z.ZodObject<{
431
1062
  entityId: z.ZodString;
432
- defaultSearchField: z.ZodString;
433
- defaultOrderBy: z.ZodString;
1063
+ defaultSearchField: z.ZodOptional<z.ZodString>;
1064
+ defaultOrderBy: z.ZodOptional<z.ZodString>;
434
1065
  }, z.core.$strip>;
435
1066
  model_test: z.ZodObject<{
436
1067
  entityId: z.ZodString;
@@ -527,6 +1158,7 @@ export type FixtureSearchOptions = {
527
1158
  value: string;
528
1159
  searchType: "equals" | "like";
529
1160
  };
1161
+ type ColumnValue = string | number | boolean | Date | null;
530
1162
  export type FixtureRecord = {
531
1163
  fixtureId: string;
532
1164
  entityId: string;
@@ -534,7 +1166,7 @@ export type FixtureRecord = {
534
1166
  columns: {
535
1167
  [key: string]: {
536
1168
  prop: EntityProp;
537
- value: any;
1169
+ value: ColumnValue | ColumnValue[];
538
1170
  };
539
1171
  };
540
1172
  fetchedRecords: string[];
@@ -546,7 +1178,7 @@ export type FixtureRecord = {
546
1178
  export type FixtureImportResult = {
547
1179
  entityId: string;
548
1180
  data: {
549
- [key: string]: any;
1181
+ [key: string]: ColumnValue;
550
1182
  };
551
1183
  };
552
1184
  export type RelationNode = {
@@ -564,7 +1196,7 @@ export type ManyToManyBaseSchema<FromIdKey extends string, ToIdKey extends strin
564
1196
  [K in `${ToIdKey}_id`]: number;
565
1197
  };
566
1198
  export type SonamuFastifyConfig = {
567
- contextProvider: (defaultContext: Pick<Context, "request" | "reply" | "headers" | "createSSE"> & AuthContext, request: FastifyRequest, reply: FastifyReply) => Context | Promise<Context>;
1199
+ contextProvider: (defaultContext: Pick<Context, "request" | "reply" | "headers" | "createSSE" | "naiteStore"> & AuthContext, request: FastifyRequest, reply: FastifyReply) => Context | Promise<Context>;
568
1200
  guardHandler: (guard: GuardKey, request: FastifyRequest, api: {
569
1201
  typeParameters: ApiParamType.TypeParam[];
570
1202
  parameters: ApiParam[];
@@ -588,33 +1220,5 @@ export type SonamuFastifyConfig = {
588
1220
  };
589
1221
  };
590
1222
  };
591
- export type SonamuServerOptions = {
592
- fastify?: FastifyServerOptions;
593
- listen?: {
594
- port: number;
595
- host?: string;
596
- };
597
- plugins?: {
598
- cors?: boolean | FastifyCorsOptions;
599
- formbody?: boolean | FastifyFormbodyOptions;
600
- multipart?: boolean | FastifyMultipartOptions;
601
- qs?: boolean | QsPluginOptions;
602
- sse?: boolean | SsePluginOptions;
603
- static?: boolean | FastifyStaticOptions;
604
- session?: boolean | SecureSessionPluginOptions;
605
- custom?: (server: FastifyInstance) => void;
606
- };
607
- auth?: boolean | {
608
- userSerializer: SerializeFunction<unknown, unknown>;
609
- userDeserializer: DeserializeFunction<unknown, unknown>;
610
- };
611
- apiConfig: SonamuFastifyConfig;
612
- storage?: Driver;
613
- lifecycle?: {
614
- onStart?: (server: FastifyInstance) => Promise<void> | void;
615
- onShutdown?: (server: FastifyInstance) => Promise<void> | void;
616
- onError?: (error: Error, request: FastifyRequest, reply: FastifyReply) => Promise<void> | void;
617
- };
618
- };
619
1223
  export {};
620
1224
  //# sourceMappingURL=types.d.ts.map