sonamu 0.8.26 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (684) hide show
  1. package/bin/cli.js +60 -13
  2. package/dist/_virtual/rolldown_runtime.js +39 -0
  3. package/dist/ai/agents/agent.d.ts +3 -3
  4. package/dist/ai/agents/agent.d.ts.map +1 -1
  5. package/dist/ai/agents/agent.js +76 -73
  6. package/dist/ai/agents/index.js +3 -3
  7. package/dist/ai/agents/types.d.ts +3 -3
  8. package/dist/ai/agents/types.d.ts.map +1 -1
  9. package/dist/ai/agents/types.js +1 -3
  10. package/dist/ai/index.js +3 -2
  11. package/dist/ai/providers/rtzr/api.js +25 -25
  12. package/dist/ai/providers/rtzr/error.js +25 -26
  13. package/dist/ai/providers/rtzr/index.js +5 -5
  14. package/dist/ai/providers/rtzr/model.d.ts +1 -1
  15. package/dist/ai/providers/rtzr/model.d.ts.map +1 -1
  16. package/dist/ai/providers/rtzr/model.js +117 -133
  17. package/dist/ai/providers/rtzr/options.d.ts.map +1 -1
  18. package/dist/ai/providers/rtzr/options.js +35 -41
  19. package/dist/ai/providers/rtzr/provider.d.ts +1 -1
  20. package/dist/ai/providers/rtzr/provider.d.ts.map +1 -1
  21. package/dist/ai/providers/rtzr/provider.js +53 -51
  22. package/dist/ai/providers/rtzr/utils.d.ts.map +1 -1
  23. package/dist/ai/providers/rtzr/utils.js +84 -84
  24. package/dist/api/base-frame.d.ts +2 -2
  25. package/dist/api/base-frame.d.ts.map +1 -1
  26. package/dist/api/base-frame.js +29 -19
  27. package/dist/api/caster.d.ts +1 -1
  28. package/dist/api/caster.d.ts.map +1 -1
  29. package/dist/api/caster.js +51 -61
  30. package/dist/api/code-converters.d.ts +4 -3
  31. package/dist/api/code-converters.d.ts.map +1 -1
  32. package/dist/api/code-converters.js +226 -249
  33. package/dist/api/config.d.ts +17 -17
  34. package/dist/api/config.d.ts.map +1 -1
  35. package/dist/api/config.js +37 -30
  36. package/dist/api/context.d.ts +10 -10
  37. package/dist/api/context.d.ts.map +1 -1
  38. package/dist/api/context.js +8 -2
  39. package/dist/api/decorators.d.ts +8 -8
  40. package/dist/api/decorators.d.ts.map +1 -1
  41. package/dist/api/decorators.js +245 -268
  42. package/dist/api/index.js +39 -7
  43. package/dist/api/secret.js +22 -15
  44. package/dist/api/sonamu.d.ts +15 -15
  45. package/dist/api/sonamu.d.ts.map +1 -1
  46. package/dist/api/sonamu.js +1012 -1131
  47. package/dist/api/validator.js +88 -79
  48. package/dist/auth/auth-generator.d.ts.map +1 -1
  49. package/dist/auth/auth-generator.js +203 -200
  50. package/dist/auth/better-auth-entities.d.ts +2 -2
  51. package/dist/auth/better-auth-entities.d.ts.map +1 -1
  52. package/dist/auth/better-auth-entities.js +369 -429
  53. package/dist/auth/index.js +21 -6
  54. package/dist/auth/knex-adapter.d.ts +2 -2
  55. package/dist/auth/knex-adapter.d.ts.map +1 -1
  56. package/dist/auth/knex-adapter.js +153 -157
  57. package/dist/auth/plugins/entity-definitions/admin.d.ts +1 -1
  58. package/dist/auth/plugins/entity-definitions/admin.d.ts.map +1 -1
  59. package/dist/auth/plugins/entity-definitions/admin.js +58 -56
  60. package/dist/auth/plugins/entity-definitions/anonymous.d.ts +1 -1
  61. package/dist/auth/plugins/entity-definitions/anonymous.d.ts.map +1 -1
  62. package/dist/auth/plugins/entity-definitions/anonymous.js +20 -20
  63. package/dist/auth/plugins/entity-definitions/api-key.d.ts +1 -1
  64. package/dist/auth/plugins/entity-definitions/api-key.d.ts.map +1 -1
  65. package/dist/auth/plugins/entity-definitions/api-key.js +185 -196
  66. package/dist/auth/plugins/entity-definitions/index.d.ts +1 -1
  67. package/dist/auth/plugins/entity-definitions/index.d.ts.map +1 -1
  68. package/dist/auth/plugins/entity-definitions/index.js +26 -29
  69. package/dist/auth/plugins/entity-definitions/jwt.d.ts +1 -1
  70. package/dist/auth/plugins/entity-definitions/jwt.d.ts.map +1 -1
  71. package/dist/auth/plugins/entity-definitions/jwt.js +62 -64
  72. package/dist/auth/plugins/entity-definitions/organization.d.ts +1 -1
  73. package/dist/auth/plugins/entity-definitions/organization.d.ts.map +1 -1
  74. package/dist/auth/plugins/entity-definitions/organization.js +362 -421
  75. package/dist/auth/plugins/entity-definitions/passkey.d.ts +1 -1
  76. package/dist/auth/plugins/entity-definitions/passkey.d.ts.map +1 -1
  77. package/dist/auth/plugins/entity-definitions/passkey.js +115 -126
  78. package/dist/auth/plugins/entity-definitions/phone-number.d.ts +1 -1
  79. package/dist/auth/plugins/entity-definitions/phone-number.d.ts.map +1 -1
  80. package/dist/auth/plugins/entity-definitions/phone-number.js +31 -40
  81. package/dist/auth/plugins/entity-definitions/sso.d.ts +1 -1
  82. package/dist/auth/plugins/entity-definitions/sso.d.ts.map +1 -1
  83. package/dist/auth/plugins/entity-definitions/sso.js +94 -107
  84. package/dist/auth/plugins/entity-definitions/two-factor.d.ts +1 -1
  85. package/dist/auth/plugins/entity-definitions/two-factor.d.ts.map +1 -1
  86. package/dist/auth/plugins/entity-definitions/two-factor.js +78 -92
  87. package/dist/auth/plugins/entity-definitions/types.d.ts +1 -1
  88. package/dist/auth/plugins/entity-definitions/types.d.ts.map +1 -1
  89. package/dist/auth/plugins/entity-definitions/types.js +1 -10
  90. package/dist/auth/plugins/entity-definitions/username.d.ts +1 -1
  91. package/dist/auth/plugins/entity-definitions/username.d.ts.map +1 -1
  92. package/dist/auth/plugins/entity-definitions/username.js +31 -40
  93. package/dist/auth/plugins/index.js +12 -3
  94. package/dist/auth/plugins/wrappers/admin.d.ts +2 -2
  95. package/dist/auth/plugins/wrappers/admin.d.ts.map +1 -1
  96. package/dist/auth/plugins/wrappers/admin.js +28 -29
  97. package/dist/auth/plugins/wrappers/anonymous.d.ts +2 -1
  98. package/dist/auth/plugins/wrappers/anonymous.d.ts.map +1 -1
  99. package/dist/auth/plugins/wrappers/anonymous.js +23 -22
  100. package/dist/auth/plugins/wrappers/api-key.d.ts +2 -1
  101. package/dist/auth/plugins/wrappers/api-key.d.ts.map +1 -1
  102. package/dist/auth/plugins/wrappers/api-key.js +39 -34
  103. package/dist/auth/plugins/wrappers/index.js +11 -11
  104. package/dist/auth/plugins/wrappers/jwt.d.ts +2 -1
  105. package/dist/auth/plugins/wrappers/jwt.d.ts.map +1 -1
  106. package/dist/auth/plugins/wrappers/jwt.js +31 -26
  107. package/dist/auth/plugins/wrappers/organization.d.ts +2 -1
  108. package/dist/auth/plugins/wrappers/organization.d.ts.map +1 -1
  109. package/dist/auth/plugins/wrappers/organization.js +65 -62
  110. package/dist/auth/plugins/wrappers/passkey.d.ts +2 -1
  111. package/dist/auth/plugins/wrappers/passkey.d.ts.map +1 -1
  112. package/dist/auth/plugins/wrappers/passkey.js +33 -28
  113. package/dist/auth/plugins/wrappers/phone-number.d.ts.map +1 -1
  114. package/dist/auth/plugins/wrappers/phone-number.js +26 -23
  115. package/dist/auth/plugins/wrappers/sso.d.ts.map +1 -1
  116. package/dist/auth/plugins/wrappers/sso.js +37 -31
  117. package/dist/auth/plugins/wrappers/two-factor.d.ts.map +1 -1
  118. package/dist/auth/plugins/wrappers/two-factor.js +31 -28
  119. package/dist/auth/plugins/wrappers/username.d.ts.map +1 -1
  120. package/dist/auth/plugins/wrappers/username.js +23 -23
  121. package/dist/bin/build-config.js +31 -31
  122. package/dist/bin/cli.js +1063 -1204
  123. package/dist/bin/fixture.d.ts.map +1 -1
  124. package/dist/bin/fixture.js +266 -259
  125. package/dist/bin/hmr-hook-register.d.ts.map +1 -1
  126. package/dist/bin/hmr-hook-register.js +19 -18
  127. package/dist/bin/test-command.d.ts.map +1 -1
  128. package/dist/bin/test-command.js +180 -177
  129. package/dist/bin/ts-loader-register.js +13 -6
  130. package/dist/bin/ts-loader-registration.d.ts.map +1 -1
  131. package/dist/bin/ts-loader-registration.js +28 -38
  132. package/dist/cache/cache-manager.d.ts +1 -1
  133. package/dist/cache/cache-manager.d.ts.map +1 -1
  134. package/dist/cache/cache-manager.js +20 -15
  135. package/dist/cache/decorator.d.ts +1 -1
  136. package/dist/cache/decorator.d.ts.map +1 -1
  137. package/dist/cache/decorator.js +84 -76
  138. package/dist/cache/drivers.js +21 -34
  139. package/dist/cache/index.js +10 -7
  140. package/dist/cache/types.d.ts +2 -2
  141. package/dist/cache/types.d.ts.map +1 -1
  142. package/dist/cache/types.js +1 -6
  143. package/dist/cache-control/cache-control.d.ts +2 -2
  144. package/dist/cache-control/cache-control.d.ts.map +1 -1
  145. package/dist/cache-control/cache-control.js +106 -122
  146. package/dist/cache-control/types.d.ts +2 -2
  147. package/dist/cache-control/types.d.ts.map +1 -1
  148. package/dist/cache-control/types.js +1 -19
  149. package/dist/compress/compress.d.ts +1 -1
  150. package/dist/compress/compress.d.ts.map +1 -1
  151. package/dist/compress/compress.js +58 -56
  152. package/dist/compress/index.js +7 -2
  153. package/dist/compress/types.js +1 -11
  154. package/dist/cone/cone-generator.d.ts +1 -1
  155. package/dist/cone/cone-generator.d.ts.map +1 -1
  156. package/dist/cone/cone-generator.js +216 -219
  157. package/dist/database/_batch_update.d.ts +1 -1
  158. package/dist/database/_batch_update.d.ts.map +1 -1
  159. package/dist/database/_batch_update.js +107 -102
  160. package/dist/database/base-model.d.ts +8 -9
  161. package/dist/database/base-model.d.ts.map +1 -1
  162. package/dist/database/base-model.js +371 -392
  163. package/dist/database/base-model.types.d.ts +5 -5
  164. package/dist/database/base-model.types.d.ts.map +1 -1
  165. package/dist/database/base-model.types.js +1 -20
  166. package/dist/database/db.d.ts +5 -2
  167. package/dist/database/db.d.ts.map +1 -1
  168. package/dist/database/db.js +185 -171
  169. package/dist/database/knex.d.ts +1 -1
  170. package/dist/database/knex.d.ts.map +1 -1
  171. package/dist/database/knex.js +48 -42
  172. package/dist/database/puri-subset.types.d.ts +6 -7
  173. package/dist/database/puri-subset.types.d.ts.map +1 -1
  174. package/dist/database/puri-subset.types.js +1 -16
  175. package/dist/database/puri-wrapper.d.ts +6 -6
  176. package/dist/database/puri-wrapper.d.ts.map +1 -1
  177. package/dist/database/puri-wrapper.js +99 -101
  178. package/dist/database/puri.d.ts +4 -5
  179. package/dist/database/puri.d.ts.map +1 -1
  180. package/dist/database/puri.js +1021 -1227
  181. package/dist/database/puri.types.d.ts +6 -6
  182. package/dist/database/puri.types.d.ts.map +1 -1
  183. package/dist/database/puri.types.js +15 -6
  184. package/dist/database/transaction-context.d.ts +2 -2
  185. package/dist/database/transaction-context.d.ts.map +1 -1
  186. package/dist/database/transaction-context.js +22 -13
  187. package/dist/database/upsert-builder.d.ts +3 -3
  188. package/dist/database/upsert-builder.d.ts.map +1 -1
  189. package/dist/database/upsert-builder.js +405 -465
  190. package/dist/dict/en.js +72 -74
  191. package/dist/dict/index.js +13 -13
  192. package/dist/dict/ko.js +72 -74
  193. package/dist/dict/rc-keys.js +150 -168
  194. package/dist/dict/sd.d.ts +3 -1
  195. package/dist/dict/sd.d.ts.map +1 -1
  196. package/dist/dict/sd.js +54 -40
  197. package/dist/dict/sonamu-dictionary.d.ts +1 -1
  198. package/dist/dict/sonamu-dictionary.d.ts.map +1 -1
  199. package/dist/dict/sonamu-dictionary.js +887 -955
  200. package/dist/dict/types.js +1 -7
  201. package/dist/dict/utils.js +26 -24
  202. package/dist/entity/entity-manager.d.ts +9 -9
  203. package/dist/entity/entity-manager.d.ts.map +1 -1
  204. package/dist/entity/entity-manager.js +226 -223
  205. package/dist/entity/entity-template-cone.d.ts +1 -1
  206. package/dist/entity/entity-template-cone.d.ts.map +1 -1
  207. package/dist/entity/entity-template-cone.js +152 -151
  208. package/dist/entity/entity.d.ts.map +1 -1
  209. package/dist/entity/entity.js +952 -1089
  210. package/dist/exceptions/error-handler.d.ts +1 -1
  211. package/dist/exceptions/error-handler.d.ts.map +1 -1
  212. package/dist/exceptions/error-handler.js +32 -27
  213. package/dist/exceptions/so-exceptions.d.ts +1 -1
  214. package/dist/exceptions/so-exceptions.d.ts.map +1 -1
  215. package/dist/exceptions/so-exceptions.js +61 -68
  216. package/dist/filter/index.js +9 -3
  217. package/dist/filter/types.js +92 -88
  218. package/dist/filter/utils.d.ts +1 -1
  219. package/dist/filter/utils.d.ts.map +1 -1
  220. package/dist/filter/utils.js +147 -161
  221. package/dist/index.js +87 -40
  222. package/dist/logger/category.d.ts.map +1 -1
  223. package/dist/logger/category.js +30 -29
  224. package/dist/logger/configure.d.ts.map +1 -1
  225. package/dist/logger/configure.js +83 -107
  226. package/dist/migration/code-generation.d.ts +2 -2
  227. package/dist/migration/code-generation.d.ts.map +1 -1
  228. package/dist/migration/code-generation.js +1385 -1578
  229. package/dist/migration/migration-set.d.ts +1 -1
  230. package/dist/migration/migration-set.d.ts.map +1 -1
  231. package/dist/migration/migration-set.js +177 -227
  232. package/dist/migration/migrator.d.ts +4 -3
  233. package/dist/migration/migrator.d.ts.map +1 -1
  234. package/dist/migration/migrator.js +340 -345
  235. package/dist/migration/postgresql-schema-reader.d.ts +2 -2
  236. package/dist/migration/postgresql-schema-reader.d.ts.map +1 -1
  237. package/dist/migration/postgresql-schema-reader.js +506 -564
  238. package/dist/migration/slack-confirm.d.ts +2 -2
  239. package/dist/migration/slack-confirm.d.ts.map +1 -1
  240. package/dist/migration/slack-confirm.js +205 -193
  241. package/dist/migration/types.d.ts +2 -2
  242. package/dist/migration/types.d.ts.map +1 -1
  243. package/dist/migration/types.js +1 -3
  244. package/dist/naite/messaging-types.d.ts +1 -0
  245. package/dist/naite/messaging-types.d.ts.map +1 -1
  246. package/dist/naite/messaging-types.js +1 -7
  247. package/dist/naite/naite-reporter.d.ts +2 -2
  248. package/dist/naite/naite-reporter.d.ts.map +1 -1
  249. package/dist/naite/naite-reporter.js +127 -120
  250. package/dist/naite/naite.d.ts +3 -2
  251. package/dist/naite/naite.d.ts.map +1 -1
  252. package/dist/naite/naite.js +266 -300
  253. package/dist/ssr/index.d.ts +2 -2
  254. package/dist/ssr/index.d.ts.map +1 -1
  255. package/dist/ssr/index.js +13 -3
  256. package/dist/ssr/registry.d.ts +1 -1
  257. package/dist/ssr/registry.d.ts.map +1 -1
  258. package/dist/ssr/registry.js +45 -37
  259. package/dist/ssr/renderer.d.ts +4 -4
  260. package/dist/ssr/renderer.d.ts.map +1 -1
  261. package/dist/ssr/renderer.js +84 -91
  262. package/dist/ssr/types.d.ts +2 -2
  263. package/dist/ssr/types.d.ts.map +1 -1
  264. package/dist/ssr/types.js +1 -3
  265. package/dist/storage/base-file.js +54 -41
  266. package/dist/storage/buffered-file.d.ts +2 -2
  267. package/dist/storage/buffered-file.d.ts.map +1 -1
  268. package/dist/storage/buffered-file.js +51 -44
  269. package/dist/storage/drivers.d.ts +2 -2
  270. package/dist/storage/drivers.d.ts.map +1 -1
  271. package/dist/storage/drivers.js +12 -7
  272. package/dist/storage/index.js +14 -7
  273. package/dist/storage/s3-driver.d.ts +2 -2
  274. package/dist/storage/s3-driver.d.ts.map +1 -1
  275. package/dist/storage/s3-driver.js +52 -48
  276. package/dist/storage/storage-manager.d.ts +2 -2
  277. package/dist/storage/storage-manager.d.ts.map +1 -1
  278. package/dist/storage/storage-manager.js +33 -25
  279. package/dist/storage/types.d.ts +2 -2
  280. package/dist/storage/types.d.ts.map +1 -1
  281. package/dist/storage/types.js +1 -5
  282. package/dist/storage/uploaded-file.d.ts +1 -1
  283. package/dist/storage/uploaded-file.d.ts.map +1 -1
  284. package/dist/storage/uploaded-file.js +45 -35
  285. package/dist/stream/index.js +7 -2
  286. package/dist/stream/sse.d.ts +2 -2
  287. package/dist/stream/sse.d.ts.map +1 -1
  288. package/dist/stream/sse.js +72 -67
  289. package/dist/syncer/api-parser.d.ts +1 -1
  290. package/dist/syncer/api-parser.d.ts.map +1 -1
  291. package/dist/syncer/api-parser.js +224 -245
  292. package/dist/syncer/checksum.d.ts +1 -1
  293. package/dist/syncer/checksum.d.ts.map +1 -1
  294. package/dist/syncer/checksum.js +86 -72
  295. package/dist/syncer/code-generator.d.ts +2 -2
  296. package/dist/syncer/code-generator.d.ts.map +1 -1
  297. package/dist/syncer/code-generator.js +154 -160
  298. package/dist/syncer/entity-operations.d.ts +1 -1
  299. package/dist/syncer/entity-operations.d.ts.map +1 -1
  300. package/dist/syncer/entity-operations.js +63 -54
  301. package/dist/syncer/file-patterns.d.ts +1 -1
  302. package/dist/syncer/file-patterns.d.ts.map +1 -1
  303. package/dist/syncer/file-patterns.js +38 -38
  304. package/dist/syncer/index.js +19 -8
  305. package/dist/syncer/module-loader.d.ts +5 -5
  306. package/dist/syncer/module-loader.d.ts.map +1 -1
  307. package/dist/syncer/module-loader.js +83 -78
  308. package/dist/syncer/syncer-actions.d.ts +2 -2
  309. package/dist/syncer/syncer-actions.d.ts.map +1 -1
  310. package/dist/syncer/syncer-actions.js +76 -91
  311. package/dist/syncer/syncer.d.ts +7 -6
  312. package/dist/syncer/syncer.d.ts.map +1 -1
  313. package/dist/syncer/syncer.js +426 -492
  314. package/dist/tasks/decorator.d.ts +3 -3
  315. package/dist/tasks/decorator.d.ts.map +1 -1
  316. package/dist/tasks/decorator.js +32 -28
  317. package/dist/tasks/step-wrapper.d.ts +1 -1
  318. package/dist/tasks/step-wrapper.d.ts.map +1 -1
  319. package/dist/tasks/step-wrapper.js +42 -41
  320. package/dist/tasks/workflow-manager.d.ts +2 -2
  321. package/dist/tasks/workflow-manager.d.ts.map +1 -1
  322. package/dist/tasks/workflow-manager.js +192 -221
  323. package/dist/template/entity-converter.d.ts +1 -1
  324. package/dist/template/entity-converter.d.ts.map +1 -1
  325. package/dist/template/entity-converter.js +103 -103
  326. package/dist/template/helpers.d.ts.map +1 -1
  327. package/dist/template/helpers.js +163 -163
  328. package/dist/template/implementations/entity.template.d.ts +1 -1
  329. package/dist/template/implementations/entity.template.d.ts.map +1 -1
  330. package/dist/template/implementations/entity.template.js +76 -85
  331. package/dist/template/implementations/entry-server.template.d.ts +1 -1
  332. package/dist/template/implementations/entry-server.template.d.ts.map +1 -1
  333. package/dist/template/implementations/entry-server.template.js +32 -27
  334. package/dist/template/implementations/generated.template.d.ts +1 -1
  335. package/dist/template/implementations/generated.template.d.ts.map +1 -1
  336. package/dist/template/implementations/generated.template.js +254 -275
  337. package/dist/template/implementations/generated_http.template.d.ts +2 -2
  338. package/dist/template/implementations/generated_http.template.d.ts.map +1 -1
  339. package/dist/template/implementations/generated_http.template.js +114 -133
  340. package/dist/template/implementations/generated_sso.template.d.ts.map +1 -1
  341. package/dist/template/implementations/generated_sso.template.js +249 -275
  342. package/dist/template/implementations/init_types.template.d.ts +1 -1
  343. package/dist/template/implementations/init_types.template.d.ts.map +1 -1
  344. package/dist/template/implementations/init_types.template.js +40 -34
  345. package/dist/template/implementations/model.template.d.ts +1 -1
  346. package/dist/template/implementations/model.template.d.ts.map +1 -1
  347. package/dist/template/implementations/model.template.js +56 -53
  348. package/dist/template/implementations/model_test.template.d.ts +1 -1
  349. package/dist/template/implementations/model_test.template.d.ts.map +1 -1
  350. package/dist/template/implementations/model_test.template.js +32 -24
  351. package/dist/template/implementations/queries.template.d.ts +1 -1
  352. package/dist/template/implementations/queries.template.d.ts.map +1 -1
  353. package/dist/template/implementations/queries.template.js +84 -89
  354. package/dist/template/implementations/sd.template.d.ts +1 -1
  355. package/dist/template/implementations/sd.template.d.ts.map +1 -1
  356. package/dist/template/implementations/sd.template.js +137 -144
  357. package/dist/template/implementations/services.template.d.ts +1 -1
  358. package/dist/template/implementations/services.template.d.ts.map +1 -1
  359. package/dist/template/implementations/services.template.js +164 -189
  360. package/dist/template/implementations/view_form.template.d.ts +1 -1
  361. package/dist/template/implementations/view_form.template.d.ts.map +1 -1
  362. package/dist/template/implementations/view_form.template.js +258 -285
  363. package/dist/template/implementations/view_id_all_select.template.d.ts +1 -1
  364. package/dist/template/implementations/view_id_all_select.template.d.ts.map +1 -1
  365. package/dist/template/implementations/view_id_all_select.template.js +31 -25
  366. package/dist/template/implementations/view_list.template.d.ts +1 -1
  367. package/dist/template/implementations/view_list.template.d.ts.map +1 -1
  368. package/dist/template/implementations/view_list.template.js +304 -355
  369. package/dist/template/implementations/view_search_input.template.d.ts +1 -1
  370. package/dist/template/implementations/view_search_input.template.d.ts.map +1 -1
  371. package/dist/template/implementations/view_search_input.template.js +31 -27
  372. package/dist/template/index.js +21 -7
  373. package/dist/template/template-manager.d.ts +1 -1
  374. package/dist/template/template-manager.d.ts.map +1 -1
  375. package/dist/template/template-manager.js +132 -123
  376. package/dist/template/template-types.js +8 -6
  377. package/dist/template/template.d.ts +2 -2
  378. package/dist/template/template.d.ts.map +1 -1
  379. package/dist/template/template.js +73 -68
  380. package/dist/template/zod-converter.d.ts.map +1 -1
  381. package/dist/template/zod-converter.js +603 -657
  382. package/dist/testing/_relation-graph.d.ts +1 -1
  383. package/dist/testing/_relation-graph.d.ts.map +1 -1
  384. package/dist/testing/_relation-graph.js +93 -88
  385. package/dist/testing/bootstrap.d.ts +22 -13
  386. package/dist/testing/bootstrap.d.ts.map +1 -1
  387. package/dist/testing/bootstrap.js +114 -114
  388. package/dist/testing/data-explorer.d.ts +3 -3
  389. package/dist/testing/data-explorer.d.ts.map +1 -1
  390. package/dist/testing/data-explorer.js +237 -265
  391. package/dist/testing/dev-test-routes.d.ts +2 -2
  392. package/dist/testing/dev-test-routes.d.ts.map +1 -1
  393. package/dist/testing/dev-test-routes.js +258 -249
  394. package/dist/testing/dev-vitest-manager.d.ts +1 -1
  395. package/dist/testing/dev-vitest-manager.d.ts.map +1 -1
  396. package/dist/testing/dev-vitest-manager.js +514 -539
  397. package/dist/testing/faker-mappings.js +422 -420
  398. package/dist/testing/fixture-generator.d.ts +3 -3
  399. package/dist/testing/fixture-generator.d.ts.map +1 -1
  400. package/dist/testing/fixture-generator.js +1216 -1346
  401. package/dist/testing/fixture-loader.js +26 -25
  402. package/dist/testing/fixture-manager.d.ts +3 -3
  403. package/dist/testing/fixture-manager.d.ts.map +1 -1
  404. package/dist/testing/fixture-manager.js +706 -776
  405. package/dist/testing/global-setup.js +53 -49
  406. package/dist/testing/index.js +19 -11
  407. package/dist/testing/naite-vitest-reporter.js +18 -13
  408. package/dist/testing/parallel-db-manager.d.ts +1 -1
  409. package/dist/testing/parallel-db-manager.d.ts.map +1 -1
  410. package/dist/testing/parallel-db-manager.js +63 -78
  411. package/dist/testing/vitest-helpers.d.ts +1 -1
  412. package/dist/testing/vitest-helpers.d.ts.map +1 -1
  413. package/dist/testing/vitest-helpers.js +37 -33
  414. package/dist/types/types.d.ts +28 -28
  415. package/dist/types/types.d.ts.map +1 -1
  416. package/dist/types/types.js +764 -890
  417. package/dist/ui/ai-api.d.ts +1 -1
  418. package/dist/ui/ai-api.d.ts.map +1 -1
  419. package/dist/ui/ai-api.js +52 -42
  420. package/dist/ui/ai-client.d.ts +1 -2
  421. package/dist/ui/ai-client.d.ts.map +1 -1
  422. package/dist/ui/ai-client.js +353 -388
  423. package/dist/ui/api.d.ts +1 -1
  424. package/dist/ui/api.d.ts.map +1 -1
  425. package/dist/ui/api.js +903 -1145
  426. package/dist/ui/cdd-service.d.ts +1 -1
  427. package/dist/ui/cdd-service.d.ts.map +1 -1
  428. package/dist/ui/cdd-service.js +406 -407
  429. package/dist/ui/cdd-types.js +1 -3
  430. package/dist/ui-web/assets/index-C-Zz-wYg.css +1 -0
  431. package/dist/ui-web/assets/index-DejDON8K.js +238 -0
  432. package/dist/ui-web/index.html +3 -3
  433. package/dist/utils/async-utils.js +57 -45
  434. package/dist/utils/console-util.d.ts.map +1 -1
  435. package/dist/utils/console-util.js +104 -87
  436. package/dist/utils/controller.js +26 -19
  437. package/dist/utils/esm-utils.js +49 -38
  438. package/dist/utils/formatter.d.ts +1 -2
  439. package/dist/utils/formatter.d.ts.map +1 -1
  440. package/dist/utils/formatter.js +89 -115
  441. package/dist/utils/fs-utils.d.ts.map +1 -1
  442. package/dist/utils/fs-utils.js +68 -65
  443. package/dist/utils/lodash-able.js +11 -4
  444. package/dist/utils/model.d.ts +1 -1
  445. package/dist/utils/model.d.ts.map +1 -1
  446. package/dist/utils/model.js +21 -19
  447. package/dist/utils/object-utils.js +148 -186
  448. package/dist/utils/path-utils.js +67 -57
  449. package/dist/utils/process-utils.d.ts.map +1 -1
  450. package/dist/utils/process-utils.js +37 -31
  451. package/dist/utils/sql-parser.d.ts +1 -1
  452. package/dist/utils/sql-parser.d.ts.map +1 -1
  453. package/dist/utils/sql-parser.js +40 -40
  454. package/dist/utils/type-utils.js +44 -43
  455. package/dist/utils/utils.d.ts +2 -3
  456. package/dist/utils/utils.d.ts.map +1 -1
  457. package/dist/utils/utils.js +81 -93
  458. package/dist/utils/zod-error.d.ts +1 -1
  459. package/dist/utils/zod-error.d.ts.map +1 -1
  460. package/dist/utils/zod-error.js +24 -17
  461. package/dist/vector/chunking.d.ts +1 -1
  462. package/dist/vector/chunking.d.ts.map +1 -1
  463. package/dist/vector/chunking.js +100 -94
  464. package/dist/vector/config.d.ts +1 -1
  465. package/dist/vector/config.d.ts.map +1 -1
  466. package/dist/vector/config.js +76 -78
  467. package/dist/vector/embedding.d.ts +1 -1
  468. package/dist/vector/embedding.d.ts.map +1 -1
  469. package/dist/vector/embedding.js +128 -125
  470. package/dist/vector/index.js +5 -5
  471. package/dist/vector/types.js +1 -5
  472. package/package.json +31 -36
  473. package/src/ai/agents/agent.ts +12 -5
  474. package/src/ai/agents/types.ts +5 -5
  475. package/src/ai/providers/rtzr/model.ts +8 -10
  476. package/src/ai/providers/rtzr/options.ts +2 -1
  477. package/src/ai/providers/rtzr/provider.ts +5 -3
  478. package/src/ai/providers/rtzr/utils.ts +2 -7
  479. package/src/api/__tests__/config.test.ts +15 -8
  480. package/src/api/base-frame.ts +5 -3
  481. package/src/api/caster.ts +7 -6
  482. package/src/api/code-converters.ts +23 -26
  483. package/src/api/config.ts +23 -17
  484. package/src/api/context.ts +18 -11
  485. package/src/api/decorators.ts +17 -18
  486. package/src/api/sonamu.ts +44 -49
  487. package/src/auth/auth-generator.ts +4 -6
  488. package/src/auth/better-auth-entities.ts +3 -2
  489. package/src/auth/knex-adapter.ts +6 -5
  490. package/src/auth/plugins/entity-definitions/admin.ts +1 -1
  491. package/src/auth/plugins/entity-definitions/anonymous.ts +1 -1
  492. package/src/auth/plugins/entity-definitions/api-key.ts +1 -1
  493. package/src/auth/plugins/entity-definitions/index.ts +1 -1
  494. package/src/auth/plugins/entity-definitions/jwt.ts +1 -1
  495. package/src/auth/plugins/entity-definitions/organization.ts +1 -1
  496. package/src/auth/plugins/entity-definitions/passkey.ts +1 -1
  497. package/src/auth/plugins/entity-definitions/phone-number.ts +1 -1
  498. package/src/auth/plugins/entity-definitions/sso.ts +1 -1
  499. package/src/auth/plugins/entity-definitions/two-factor.ts +1 -1
  500. package/src/auth/plugins/entity-definitions/types.ts +1 -1
  501. package/src/auth/plugins/entity-definitions/username.ts +1 -1
  502. package/src/auth/plugins/wrappers/admin.ts +3 -1
  503. package/src/auth/plugins/wrappers/anonymous.ts +3 -1
  504. package/src/auth/plugins/wrappers/api-key.ts +3 -1
  505. package/src/auth/plugins/wrappers/jwt.ts +3 -1
  506. package/src/auth/plugins/wrappers/organization.ts +3 -1
  507. package/src/auth/plugins/wrappers/passkey.ts +3 -1
  508. package/src/auth/plugins/wrappers/phone-number.ts +3 -1
  509. package/src/auth/plugins/wrappers/sso.ts +2 -1
  510. package/src/auth/plugins/wrappers/two-factor.ts +3 -1
  511. package/src/auth/plugins/wrappers/username.ts +3 -1
  512. package/src/bin/__tests__/ts-loader-register.test.ts +7 -12
  513. package/src/bin/build-config.ts +3 -3
  514. package/src/bin/cli.ts +27 -25
  515. package/src/bin/fixture.ts +4 -2
  516. package/src/bin/hmr-hook-register.ts +1 -0
  517. package/src/bin/test-command.ts +4 -2
  518. package/src/bin/ts-loader-registration.ts +6 -22
  519. package/src/cache/cache-manager.ts +2 -1
  520. package/src/cache/decorator.ts +2 -2
  521. package/src/cache/types.ts +3 -3
  522. package/src/cache-control/cache-control.ts +3 -2
  523. package/src/cache-control/types.ts +2 -2
  524. package/src/compress/compress.ts +1 -1
  525. package/src/cone/cone-generator.ts +5 -3
  526. package/src/database/_batch_update.ts +1 -1
  527. package/src/database/base-model.ts +20 -14
  528. package/src/database/base-model.types.ts +12 -11
  529. package/src/database/db.ts +56 -21
  530. package/src/database/knex.ts +2 -2
  531. package/src/database/puri-subset.test-d.ts +33 -32
  532. package/src/database/puri-subset.types.ts +6 -7
  533. package/src/database/puri-wrapper.ts +29 -26
  534. package/src/database/puri.ts +36 -34
  535. package/src/database/puri.types.test-d.ts +6 -5
  536. package/src/database/puri.types.ts +9 -12
  537. package/src/database/transaction-context.ts +2 -2
  538. package/src/database/upsert-builder.ts +17 -10
  539. package/src/dict/sd.ts +17 -4
  540. package/src/dict/sonamu-dictionary.ts +23 -17
  541. package/src/entity/entity-manager.ts +9 -7
  542. package/src/entity/entity-template-cone.ts +10 -3
  543. package/src/entity/entity.ts +20 -16
  544. package/src/exceptions/error-handler.ts +2 -1
  545. package/src/exceptions/so-exceptions.ts +1 -1
  546. package/src/filter/utils.ts +3 -2
  547. package/src/logger/category.ts +1 -0
  548. package/src/logger/configure.ts +5 -5
  549. package/src/migration/__tests__/code-generation.search-text.test.ts +2 -3
  550. package/src/migration/code-generation.ts +26 -25
  551. package/src/migration/migration-set.ts +16 -18
  552. package/src/migration/migrator.ts +38 -33
  553. package/src/migration/postgresql-schema-reader.ts +12 -12
  554. package/src/migration/slack-confirm.ts +5 -4
  555. package/src/migration/types.ts +2 -2
  556. package/src/naite/messaging-types.ts +1 -1
  557. package/src/naite/naite-reporter.ts +5 -3
  558. package/src/naite/naite.ts +12 -7
  559. package/src/shared/app.shared.ts.txt +2 -2
  560. package/src/shared/web.shared.ts.txt +2 -2
  561. package/src/skills/AGENTS.md +19 -18
  562. package/src/skills/commands/sonamu-skills.md +9 -9
  563. package/src/skills/sonamu/SKILL.md +111 -104
  564. package/src/skills/sonamu/ai-agents.md +27 -26
  565. package/src/skills/sonamu/api.md +81 -69
  566. package/src/skills/sonamu/auth-migration.md +13 -27
  567. package/src/skills/sonamu/auth-plugins.md +41 -31
  568. package/src/skills/sonamu/auth.md +30 -24
  569. package/src/skills/sonamu/cdd.md +26 -17
  570. package/src/skills/sonamu/cone.md +50 -50
  571. package/src/skills/sonamu/config.md +74 -51
  572. package/src/skills/sonamu/create-sonamu.md +31 -19
  573. package/src/skills/sonamu/database.md +43 -26
  574. package/src/skills/sonamu/entity-basic.md +61 -61
  575. package/src/skills/sonamu/entity-relations.md +84 -80
  576. package/src/skills/sonamu/entity-validation-checklist.md +19 -15
  577. package/src/skills/sonamu/fixture-cli.md +52 -30
  578. package/src/skills/sonamu/framework-change.md +9 -7
  579. package/src/skills/sonamu/frontend.md +64 -82
  580. package/src/skills/sonamu/i18n.md +45 -37
  581. package/src/skills/sonamu/migration.md +54 -31
  582. package/src/skills/sonamu/model.md +98 -66
  583. package/src/skills/sonamu/naite.md +34 -32
  584. package/src/skills/sonamu/project-init.md +28 -8
  585. package/src/skills/sonamu/puri.md +82 -91
  586. package/src/skills/sonamu/scaffolding.md +44 -32
  587. package/src/skills/sonamu/skill-contribution.md +50 -45
  588. package/src/skills/sonamu/subset.md +13 -13
  589. package/src/skills/sonamu/tasks.md +73 -58
  590. package/src/skills/sonamu/testing-devrunner.md +56 -36
  591. package/src/skills/sonamu/testing.md +23 -58
  592. package/src/skills/sonamu/upsert.md +32 -31
  593. package/src/skills/sonamu/vector.md +37 -36
  594. package/src/ssr/index.ts +2 -12
  595. package/src/ssr/registry.ts +1 -1
  596. package/src/ssr/renderer.ts +7 -5
  597. package/src/ssr/types.ts +2 -2
  598. package/src/storage/buffered-file.ts +4 -2
  599. package/src/storage/drivers.ts +3 -2
  600. package/src/storage/s3-driver.ts +7 -4
  601. package/src/storage/storage-manager.ts +3 -2
  602. package/src/storage/types.ts +3 -2
  603. package/src/storage/uploaded-file.ts +1 -1
  604. package/src/stream/sse.ts +2 -2
  605. package/src/syncer/api-parser.ts +8 -5
  606. package/src/syncer/checksum.ts +9 -5
  607. package/src/syncer/code-generator.ts +16 -8
  608. package/src/syncer/entity-operations.ts +5 -3
  609. package/src/syncer/file-patterns.ts +2 -1
  610. package/src/syncer/module-loader.ts +9 -6
  611. package/src/syncer/syncer-actions.ts +5 -3
  612. package/src/syncer/syncer.ts +18 -24
  613. package/src/tasks/decorator.ts +10 -8
  614. package/src/tasks/step-wrapper.ts +1 -1
  615. package/src/tasks/workflow-manager.ts +18 -15
  616. package/src/template/__tests__/generated.template.search-text.test.ts +1 -0
  617. package/src/template/entity-converter.ts +4 -2
  618. package/src/template/generated.template.test-d.ts +2 -1
  619. package/src/template/helpers.ts +5 -2
  620. package/src/template/implementations/entity.template.ts +9 -8
  621. package/src/template/implementations/entry-server.template.ts +1 -1
  622. package/src/template/implementations/generated.template.ts +21 -29
  623. package/src/template/implementations/generated_http.template.ts +9 -6
  624. package/src/template/implementations/generated_sso.template.ts +6 -4
  625. package/src/template/implementations/init_types.template.ts +3 -2
  626. package/src/template/implementations/model.template.ts +4 -2
  627. package/src/template/implementations/model_test.template.ts +3 -2
  628. package/src/template/implementations/queries.template.ts +6 -14
  629. package/src/template/implementations/sd.template.ts +4 -2
  630. package/src/template/implementations/services.template.ts +7 -11
  631. package/src/template/implementations/view_form.template.ts +5 -3
  632. package/src/template/implementations/view_id_all_select.template.ts +3 -2
  633. package/src/template/implementations/view_list.template.ts +7 -5
  634. package/src/template/implementations/view_search_input.template.ts +3 -2
  635. package/src/template/template-manager.ts +4 -3
  636. package/src/template/template.ts +4 -3
  637. package/src/template/zod-converter.ts +10 -7
  638. package/src/testing/__tests__/dev-test-routes.test.ts +3 -2
  639. package/src/testing/__tests__/dev-vitest-manager.test.ts +1 -0
  640. package/src/testing/_relation-graph.ts +2 -2
  641. package/src/testing/bootstrap.ts +55 -27
  642. package/src/testing/data-explorer.ts +5 -4
  643. package/src/testing/dev-test-routes.ts +8 -5
  644. package/src/testing/dev-vitest-manager.ts +13 -12
  645. package/src/testing/fixture-generator.ts +11 -17
  646. package/src/testing/fixture-manager.ts +21 -17
  647. package/src/testing/parallel-db-manager.ts +2 -1
  648. package/src/testing/vitest-helpers.ts +2 -1
  649. package/src/types/__tests__/entity-json-schema-search-text.test.ts +1 -0
  650. package/src/types/types.ts +8 -8
  651. package/src/typings/knex.d.ts +4 -4
  652. package/src/ui/ai-api.ts +5 -3
  653. package/src/ui/ai-client.ts +6 -5
  654. package/src/ui/api.ts +25 -23
  655. package/src/ui/cdd-service.ts +12 -11
  656. package/src/utils/console-util.ts +3 -1
  657. package/src/utils/formatter.ts +94 -102
  658. package/src/utils/fs-utils.ts +2 -1
  659. package/src/utils/model.ts +2 -2
  660. package/src/utils/object-utils.ts +3 -3
  661. package/src/utils/process-utils.ts +2 -1
  662. package/src/utils/sql-parser.ts +10 -1
  663. package/src/utils/type-utils.ts +3 -3
  664. package/src/utils/utils.ts +9 -7
  665. package/src/utils/zod-error.ts +1 -1
  666. package/src/vector/chunking.ts +1 -1
  667. package/src/vector/config.ts +1 -1
  668. package/src/vector/embedding.ts +11 -9
  669. package/tsdown.api.config.ts +50 -0
  670. package/.swcrc.project-default +0 -18
  671. package/dist/api/__tests__/config.test.js +0 -189
  672. package/dist/bin/__tests__/test-command.test.js +0 -112
  673. package/dist/bin/__tests__/ts-loader-register.test.js +0 -45
  674. package/dist/database/puri-subset.test-d.js +0 -89
  675. package/dist/database/puri.types.test-d.js +0 -129
  676. package/dist/migration/__tests__/code-generation.search-text.test.js +0 -435
  677. package/dist/template/__tests__/generated.template.search-text.test.js +0 -99
  678. package/dist/template/generated.template.test-d.js +0 -24
  679. package/dist/testing/__tests__/dev-test-routes.test.js +0 -144
  680. package/dist/testing/__tests__/dev-vitest-manager.test.js +0 -152
  681. package/dist/types/__tests__/entity-json-schema-search-text.test.js +0 -256
  682. package/dist/typings/knex.d.js +0 -3
  683. package/dist/ui-web/assets/index-CKo0Z2Iu.css +0 -1
  684. package/dist/ui-web/assets/index-DK-2aacv.js +0 -257
@@ -1,424 +1,365 @@
1
+ //#region src/auth/plugins/entity-definitions/organization.ts
1
2
  /**
2
- * better-auth Organization 플러그인 엔티티 정의
3
- * https://www.better-auth.com/docs/plugins/organization
4
- *
5
- * 조직, 멤버, 초대, 팀 관리를 지원합니다.
6
- */ export const organizationEntityDef = {
7
- id: "organization",
8
- name: "Organization",
9
- // 엔티티 순서: 의존관계에 따라 정렬 (Organization → Team → Member → Invitation → TeamMember)
10
- entities: [
11
- {
12
- id: "Organization",
13
- table: "organizations",
14
- title: "조직",
15
- props: [
16
- {
17
- name: "id",
18
- type: "string",
19
- desc: "ID"
20
- },
21
- {
22
- name: "name",
23
- type: "string",
24
- desc: "조직명"
25
- },
26
- {
27
- name: "slug",
28
- type: "string",
29
- desc: "슬러그"
30
- },
31
- {
32
- name: "logo",
33
- type: "string",
34
- nullable: true,
35
- desc: "로고 URL"
36
- },
37
- {
38
- name: "metadata",
39
- type: "string",
40
- nullable: true,
41
- desc: "메타데이터 (JSON)"
42
- },
43
- {
44
- name: "created_at",
45
- type: "date",
46
- dbDefault: "CURRENT_TIMESTAMP",
47
- desc: "생성일시"
48
- }
49
- ],
50
- indexes: [
51
- {
52
- type: "unique",
53
- name: "organizations_slug_unique",
54
- columns: [
55
- {
56
- name: "slug"
57
- }
58
- ]
59
- }
60
- ],
61
- subsets: {
62
- A: [
63
- "id",
64
- "name",
65
- "slug",
66
- "logo",
67
- "metadata",
68
- "created_at"
69
- ]
70
- },
71
- enums: {
72
- OrganizationOrderBy: {
73
- "id-desc": "ID최신순",
74
- "created_at-desc": "생성일최신순"
75
- },
76
- OrganizationSearchField: {
77
- id: "ID",
78
- name: "조직명",
79
- slug: "슬러그"
80
- }
81
- }
82
- },
83
- {
84
- id: "Team",
85
- table: "teams",
86
- title: "",
87
- props: [
88
- {
89
- name: "id",
90
- type: "string",
91
- desc: "ID"
92
- },
93
- {
94
- name: "name",
95
- type: "string",
96
- desc: "팀명"
97
- },
98
- {
99
- name: "created_at",
100
- type: "date",
101
- dbDefault: "CURRENT_TIMESTAMP",
102
- desc: "생성일시"
103
- },
104
- {
105
- name: "updated_at",
106
- type: "date",
107
- nullable: true,
108
- desc: "수정일시"
109
- },
110
- {
111
- type: "relation",
112
- name: "organization",
113
- with: "Organization",
114
- relationType: "BelongsToOne",
115
- onDelete: "CASCADE",
116
- desc: "조직"
117
- }
118
- ],
119
- indexes: [
120
- {
121
- type: "index",
122
- name: "teams_organization_id_idx",
123
- columns: [
124
- {
125
- name: "organization_id"
126
- }
127
- ]
128
- }
129
- ],
130
- subsets: {
131
- A: [
132
- "id",
133
- "name",
134
- "created_at",
135
- "updated_at",
136
- "organization.id"
137
- ]
138
- },
139
- enums: {
140
- TeamOrderBy: {
141
- "id-desc": "ID최신순",
142
- "created_at-desc": "생성일최신순"
143
- },
144
- TeamSearchField: {
145
- id: "ID",
146
- name: "팀명"
147
- }
148
- }
149
- },
150
- {
151
- id: "Member",
152
- table: "members",
153
- title: "멤버",
154
- props: [
155
- {
156
- name: "id",
157
- type: "string",
158
- desc: "ID"
159
- },
160
- {
161
- name: "role",
162
- type: "string",
163
- desc: "역할"
164
- },
165
- {
166
- name: "created_at",
167
- type: "date",
168
- dbDefault: "CURRENT_TIMESTAMP",
169
- desc: "생성일시"
170
- },
171
- {
172
- type: "relation",
173
- name: "user",
174
- with: "User",
175
- relationType: "BelongsToOne",
176
- onDelete: "CASCADE",
177
- desc: "사용자"
178
- },
179
- {
180
- type: "relation",
181
- name: "organization",
182
- with: "Organization",
183
- relationType: "BelongsToOne",
184
- onDelete: "CASCADE",
185
- desc: "조직"
186
- }
187
- ],
188
- indexes: [
189
- {
190
- type: "index",
191
- name: "members_user_id_idx",
192
- columns: [
193
- {
194
- name: "user_id"
195
- }
196
- ]
197
- },
198
- {
199
- type: "index",
200
- name: "members_organization_id_idx",
201
- columns: [
202
- {
203
- name: "organization_id"
204
- }
205
- ]
206
- }
207
- ],
208
- subsets: {
209
- A: [
210
- "id",
211
- "role",
212
- "created_at",
213
- "user.id",
214
- "organization.id"
215
- ]
216
- },
217
- enums: {
218
- MemberOrderBy: {
219
- "id-desc": "ID최신순",
220
- "created_at-desc": "생성일최신순"
221
- },
222
- MemberSearchField: {
223
- id: "ID",
224
- role: "역할"
225
- }
226
- }
227
- },
228
- {
229
- id: "Invitation",
230
- table: "invitations",
231
- title: "초대",
232
- props: [
233
- {
234
- name: "id",
235
- type: "string",
236
- desc: "ID"
237
- },
238
- {
239
- name: "email",
240
- type: "string",
241
- desc: "이메일"
242
- },
243
- {
244
- name: "role",
245
- type: "string",
246
- desc: "역할"
247
- },
248
- {
249
- name: "status",
250
- type: "string",
251
- desc: "상태"
252
- },
253
- {
254
- name: "expires_at",
255
- type: "date",
256
- desc: "만료일시"
257
- },
258
- {
259
- name: "created_at",
260
- type: "date",
261
- dbDefault: "CURRENT_TIMESTAMP",
262
- desc: "생성일시"
263
- },
264
- {
265
- type: "relation",
266
- name: "inviter",
267
- with: "User",
268
- relationType: "BelongsToOne",
269
- onDelete: "CASCADE",
270
- desc: "초대자"
271
- },
272
- {
273
- type: "relation",
274
- name: "organization",
275
- with: "Organization",
276
- relationType: "BelongsToOne",
277
- onDelete: "CASCADE",
278
- desc: "조직"
279
- },
280
- {
281
- type: "relation",
282
- name: "team",
283
- with: "Team",
284
- relationType: "BelongsToOne",
285
- onDelete: "SET NULL",
286
- nullable: true,
287
- desc: ""
288
- }
289
- ],
290
- indexes: [
291
- {
292
- type: "index",
293
- name: "invitations_email_idx",
294
- columns: [
295
- {
296
- name: "email"
297
- }
298
- ]
299
- },
300
- {
301
- type: "index",
302
- name: "invitations_organization_id_idx",
303
- columns: [
304
- {
305
- name: "organization_id"
306
- }
307
- ]
308
- }
309
- ],
310
- subsets: {
311
- A: [
312
- "id",
313
- "email",
314
- "role",
315
- "status",
316
- "expires_at",
317
- "created_at",
318
- "inviter.id",
319
- "organization.id",
320
- "team.id"
321
- ]
322
- },
323
- enums: {
324
- InvitationOrderBy: {
325
- "id-desc": "ID최신순",
326
- "created_at-desc": "생성일최신순"
327
- },
328
- InvitationSearchField: {
329
- id: "ID",
330
- email: "이메일"
331
- }
332
- }
333
- },
334
- {
335
- id: "TeamMember",
336
- table: "team_members",
337
- title: "팀멤버",
338
- props: [
339
- {
340
- name: "id",
341
- type: "string",
342
- desc: "ID"
343
- },
344
- {
345
- name: "created_at",
346
- type: "date",
347
- dbDefault: "CURRENT_TIMESTAMP",
348
- desc: "생성일시"
349
- },
350
- {
351
- type: "relation",
352
- name: "team",
353
- with: "Team",
354
- relationType: "BelongsToOne",
355
- onDelete: "CASCADE",
356
- desc: ""
357
- },
358
- {
359
- type: "relation",
360
- name: "user",
361
- with: "User",
362
- relationType: "BelongsToOne",
363
- onDelete: "CASCADE",
364
- desc: "사용자"
365
- }
366
- ],
367
- indexes: [
368
- {
369
- type: "index",
370
- name: "team_members_team_id_idx",
371
- columns: [
372
- {
373
- name: "team_id"
374
- }
375
- ]
376
- },
377
- {
378
- type: "index",
379
- name: "team_members_user_id_idx",
380
- columns: [
381
- {
382
- name: "user_id"
383
- }
384
- ]
385
- }
386
- ],
387
- subsets: {
388
- A: [
389
- "id",
390
- "created_at",
391
- "team.id",
392
- "user.id"
393
- ]
394
- },
395
- enums: {
396
- TeamMemberOrderBy: {
397
- "id-desc": "ID최신순",
398
- "created_at-desc": "생성일최신순"
399
- },
400
- TeamMemberSearchField: {
401
- id: "ID"
402
- }
403
- }
404
- }
405
- ],
406
- additionalProps: {
407
- Session: [
408
- {
409
- name: "active_organization_id",
410
- type: "string",
411
- nullable: true,
412
- desc: "활성 조직 ID"
413
- },
414
- {
415
- name: "active_team_id",
416
- type: "string",
417
- nullable: true,
418
- desc: "활성 팀 ID"
419
- }
420
- ]
421
- }
3
+ * better-auth Organization 플러그인 엔티티 정의
4
+ * https://www.better-auth.com/docs/plugins/organization
5
+ *
6
+ * 조직, 멤버, 초대, 팀 관리를 지원합니다.
7
+ */
8
+ const organizationEntityDef = {
9
+ id: "organization",
10
+ name: "Organization",
11
+ entities: [
12
+ {
13
+ id: "Organization",
14
+ table: "organizations",
15
+ title: "조직",
16
+ props: [
17
+ {
18
+ name: "id",
19
+ type: "string",
20
+ desc: "ID"
21
+ },
22
+ {
23
+ name: "name",
24
+ type: "string",
25
+ desc: "조직명"
26
+ },
27
+ {
28
+ name: "slug",
29
+ type: "string",
30
+ desc: "슬러그"
31
+ },
32
+ {
33
+ name: "logo",
34
+ type: "string",
35
+ nullable: true,
36
+ desc: "로고 URL"
37
+ },
38
+ {
39
+ name: "metadata",
40
+ type: "string",
41
+ nullable: true,
42
+ desc: "메타데이터 (JSON)"
43
+ },
44
+ {
45
+ name: "created_at",
46
+ type: "date",
47
+ dbDefault: "CURRENT_TIMESTAMP",
48
+ desc: "생성일시"
49
+ }
50
+ ],
51
+ indexes: [{
52
+ type: "unique",
53
+ name: "organizations_slug_unique",
54
+ columns: [{ name: "slug" }]
55
+ }],
56
+ subsets: { A: [
57
+ "id",
58
+ "name",
59
+ "slug",
60
+ "logo",
61
+ "metadata",
62
+ "created_at"
63
+ ] },
64
+ enums: {
65
+ OrganizationOrderBy: {
66
+ "id-desc": "ID최신순",
67
+ "created_at-desc": "생성일최신순"
68
+ },
69
+ OrganizationSearchField: {
70
+ id: "ID",
71
+ name: "조직명",
72
+ slug: "슬러그"
73
+ }
74
+ }
75
+ },
76
+ {
77
+ id: "Team",
78
+ table: "teams",
79
+ title: "",
80
+ props: [
81
+ {
82
+ name: "id",
83
+ type: "string",
84
+ desc: "ID"
85
+ },
86
+ {
87
+ name: "name",
88
+ type: "string",
89
+ desc: "팀명"
90
+ },
91
+ {
92
+ name: "created_at",
93
+ type: "date",
94
+ dbDefault: "CURRENT_TIMESTAMP",
95
+ desc: "생성일시"
96
+ },
97
+ {
98
+ name: "updated_at",
99
+ type: "date",
100
+ nullable: true,
101
+ desc: "수정일시"
102
+ },
103
+ {
104
+ type: "relation",
105
+ name: "organization",
106
+ with: "Organization",
107
+ relationType: "BelongsToOne",
108
+ onDelete: "CASCADE",
109
+ desc: "조직"
110
+ }
111
+ ],
112
+ indexes: [{
113
+ type: "index",
114
+ name: "teams_organization_id_idx",
115
+ columns: [{ name: "organization_id" }]
116
+ }],
117
+ subsets: { A: [
118
+ "id",
119
+ "name",
120
+ "created_at",
121
+ "updated_at",
122
+ "organization.id"
123
+ ] },
124
+ enums: {
125
+ TeamOrderBy: {
126
+ "id-desc": "ID최신순",
127
+ "created_at-desc": "생성일최신순"
128
+ },
129
+ TeamSearchField: {
130
+ id: "ID",
131
+ name: "팀명"
132
+ }
133
+ }
134
+ },
135
+ {
136
+ id: "Member",
137
+ table: "members",
138
+ title: "멤버",
139
+ props: [
140
+ {
141
+ name: "id",
142
+ type: "string",
143
+ desc: "ID"
144
+ },
145
+ {
146
+ name: "role",
147
+ type: "string",
148
+ desc: "역할"
149
+ },
150
+ {
151
+ name: "created_at",
152
+ type: "date",
153
+ dbDefault: "CURRENT_TIMESTAMP",
154
+ desc: "생성일시"
155
+ },
156
+ {
157
+ type: "relation",
158
+ name: "user",
159
+ with: "User",
160
+ relationType: "BelongsToOne",
161
+ onDelete: "CASCADE",
162
+ desc: "사용자"
163
+ },
164
+ {
165
+ type: "relation",
166
+ name: "organization",
167
+ with: "Organization",
168
+ relationType: "BelongsToOne",
169
+ onDelete: "CASCADE",
170
+ desc: "조직"
171
+ }
172
+ ],
173
+ indexes: [{
174
+ type: "index",
175
+ name: "members_user_id_idx",
176
+ columns: [{ name: "user_id" }]
177
+ }, {
178
+ type: "index",
179
+ name: "members_organization_id_idx",
180
+ columns: [{ name: "organization_id" }]
181
+ }],
182
+ subsets: { A: [
183
+ "id",
184
+ "role",
185
+ "created_at",
186
+ "user.id",
187
+ "organization.id"
188
+ ] },
189
+ enums: {
190
+ MemberOrderBy: {
191
+ "id-desc": "ID최신순",
192
+ "created_at-desc": "생성일최신순"
193
+ },
194
+ MemberSearchField: {
195
+ id: "ID",
196
+ role: "역할"
197
+ }
198
+ }
199
+ },
200
+ {
201
+ id: "Invitation",
202
+ table: "invitations",
203
+ title: "초대",
204
+ props: [
205
+ {
206
+ name: "id",
207
+ type: "string",
208
+ desc: "ID"
209
+ },
210
+ {
211
+ name: "email",
212
+ type: "string",
213
+ desc: "이메일"
214
+ },
215
+ {
216
+ name: "role",
217
+ type: "string",
218
+ desc: "역할"
219
+ },
220
+ {
221
+ name: "status",
222
+ type: "string",
223
+ desc: "상태"
224
+ },
225
+ {
226
+ name: "expires_at",
227
+ type: "date",
228
+ desc: "만료일시"
229
+ },
230
+ {
231
+ name: "created_at",
232
+ type: "date",
233
+ dbDefault: "CURRENT_TIMESTAMP",
234
+ desc: "생성일시"
235
+ },
236
+ {
237
+ type: "relation",
238
+ name: "inviter",
239
+ with: "User",
240
+ relationType: "BelongsToOne",
241
+ onDelete: "CASCADE",
242
+ desc: "초대자"
243
+ },
244
+ {
245
+ type: "relation",
246
+ name: "organization",
247
+ with: "Organization",
248
+ relationType: "BelongsToOne",
249
+ onDelete: "CASCADE",
250
+ desc: "조직"
251
+ },
252
+ {
253
+ type: "relation",
254
+ name: "team",
255
+ with: "Team",
256
+ relationType: "BelongsToOne",
257
+ onDelete: "SET NULL",
258
+ nullable: true,
259
+ desc: "팀"
260
+ }
261
+ ],
262
+ indexes: [{
263
+ type: "index",
264
+ name: "invitations_email_idx",
265
+ columns: [{ name: "email" }]
266
+ }, {
267
+ type: "index",
268
+ name: "invitations_organization_id_idx",
269
+ columns: [{ name: "organization_id" }]
270
+ }],
271
+ subsets: { A: [
272
+ "id",
273
+ "email",
274
+ "role",
275
+ "status",
276
+ "expires_at",
277
+ "created_at",
278
+ "inviter.id",
279
+ "organization.id",
280
+ "team.id"
281
+ ] },
282
+ enums: {
283
+ InvitationOrderBy: {
284
+ "id-desc": "ID최신순",
285
+ "created_at-desc": "생성일최신순"
286
+ },
287
+ InvitationSearchField: {
288
+ id: "ID",
289
+ email: "이메일"
290
+ }
291
+ }
292
+ },
293
+ {
294
+ id: "TeamMember",
295
+ table: "team_members",
296
+ title: "팀멤버",
297
+ props: [
298
+ {
299
+ name: "id",
300
+ type: "string",
301
+ desc: "ID"
302
+ },
303
+ {
304
+ name: "created_at",
305
+ type: "date",
306
+ dbDefault: "CURRENT_TIMESTAMP",
307
+ desc: "생성일시"
308
+ },
309
+ {
310
+ type: "relation",
311
+ name: "team",
312
+ with: "Team",
313
+ relationType: "BelongsToOne",
314
+ onDelete: "CASCADE",
315
+ desc: ""
316
+ },
317
+ {
318
+ type: "relation",
319
+ name: "user",
320
+ with: "User",
321
+ relationType: "BelongsToOne",
322
+ onDelete: "CASCADE",
323
+ desc: "사용자"
324
+ }
325
+ ],
326
+ indexes: [{
327
+ type: "index",
328
+ name: "team_members_team_id_idx",
329
+ columns: [{ name: "team_id" }]
330
+ }, {
331
+ type: "index",
332
+ name: "team_members_user_id_idx",
333
+ columns: [{ name: "user_id" }]
334
+ }],
335
+ subsets: { A: [
336
+ "id",
337
+ "created_at",
338
+ "team.id",
339
+ "user.id"
340
+ ] },
341
+ enums: {
342
+ TeamMemberOrderBy: {
343
+ "id-desc": "ID최신순",
344
+ "created_at-desc": "생성일최신순"
345
+ },
346
+ TeamMemberSearchField: { id: "ID" }
347
+ }
348
+ }
349
+ ],
350
+ additionalProps: { Session: [{
351
+ name: "active_organization_id",
352
+ type: "string",
353
+ nullable: true,
354
+ desc: "활성 조직 ID"
355
+ }, {
356
+ name: "active_team_id",
357
+ type: "string",
358
+ nullable: true,
359
+ desc: "활성 팀 ID"
360
+ }] }
422
361
  };
423
362
 
424
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdXRoL3BsdWdpbnMvZW50aXR5LWRlZmluaXRpb25zL29yZ2FuaXphdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJldHRlckF1dGhFbnRpdHlEZWYgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIGJldHRlci1hdXRoIE9yZ2FuaXphdGlvbiDtlIzrn6zqt7jsnbgg7JeU7Yuw7YuwIOygleydmFxuICogaHR0cHM6Ly93d3cuYmV0dGVyLWF1dGguY29tL2RvY3MvcGx1Z2lucy9vcmdhbml6YXRpb25cbiAqXG4gKiDsobDsp4EsIOuppOuyhCwg7LSI64yALCDtjIAg6rSA66as66W8IOyngOybkO2VqeuLiOuLpC5cbiAqL1xuZXhwb3J0IGNvbnN0IG9yZ2FuaXphdGlvbkVudGl0eURlZjogQmV0dGVyQXV0aEVudGl0eURlZiA9IHtcbiAgaWQ6IFwib3JnYW5pemF0aW9uXCIsXG4gIG5hbWU6IFwiT3JnYW5pemF0aW9uXCIsXG4gIC8vIOyXlO2LsO2LsCDsiJzshJw6IOydmOyhtOq0gOqzhOyXkCDrlLDrnbwg7KCV66CsIChPcmdhbml6YXRpb24g4oaSIFRlYW0g4oaSIE1lbWJlciDihpIgSW52aXRhdGlvbiDihpIgVGVhbU1lbWJlcilcbiAgZW50aXRpZXM6IFtcbiAgICB7XG4gICAgICBpZDogXCJPcmdhbml6YXRpb25cIixcbiAgICAgIHRhYmxlOiBcIm9yZ2FuaXphdGlvbnNcIixcbiAgICAgIHRpdGxlOiBcIuyhsOyngVwiLFxuICAgICAgcHJvcHM6IFtcbiAgICAgICAgeyBuYW1lOiBcImlkXCIsIHR5cGU6IFwic3RyaW5nXCIsIGRlc2M6IFwiSURcIiB9LFxuICAgICAgICB7IG5hbWU6IFwibmFtZVwiLCB0eXBlOiBcInN0cmluZ1wiLCBkZXNjOiBcIuyhsOyngeuqhVwiIH0sXG4gICAgICAgIHsgbmFtZTogXCJzbHVnXCIsIHR5cGU6IFwic3RyaW5nXCIsIGRlc2M6IFwi7Iqs65+s6re4XCIgfSxcbiAgICAgICAgeyBuYW1lOiBcImxvZ29cIiwgdHlwZTogXCJzdHJpbmdcIiwgbnVsbGFibGU6IHRydWUsIGRlc2M6IFwi66Gc6rOgIFVSTFwiIH0sXG4gICAgICAgIHsgbmFtZTogXCJtZXRhZGF0YVwiLCB0eXBlOiBcInN0cmluZ1wiLCBudWxsYWJsZTogdHJ1ZSwgZGVzYzogXCLrqZTtg4DrjbDsnbTthLAgKEpTT04pXCIgfSxcbiAgICAgICAgeyBuYW1lOiBcImNyZWF0ZWRfYXRcIiwgdHlwZTogXCJkYXRlXCIsIGRiRGVmYXVsdDogXCJDVVJSRU5UX1RJTUVTVEFNUFwiLCBkZXNjOiBcIuyDneyEseydvOyLnFwiIH0sXG4gICAgICBdLFxuICAgICAgaW5kZXhlczogW3sgdHlwZTogXCJ1bmlxdWVcIiwgbmFtZTogXCJvcmdhbml6YXRpb25zX3NsdWdfdW5pcXVlXCIsIGNvbHVtbnM6IFt7IG5hbWU6IFwic2x1Z1wiIH1dIH1dLFxuICAgICAgc3Vic2V0czoge1xuICAgICAgICBBOiBbXCJpZFwiLCBcIm5hbWVcIiwgXCJzbHVnXCIsIFwibG9nb1wiLCBcIm1ldGFkYXRhXCIsIFwiY3JlYXRlZF9hdFwiXSxcbiAgICAgIH0sXG4gICAgICBlbnVtczoge1xuICAgICAgICBPcmdhbml6YXRpb25PcmRlckJ5OiB7IFwiaWQtZGVzY1wiOiBcIklE7LWc7Iug7IicXCIsIFwiY3JlYXRlZF9hdC1kZXNjXCI6IFwi7IOd7ISx7J287LWc7Iug7IicXCIgfSxcbiAgICAgICAgT3JnYW5pemF0aW9uU2VhcmNoRmllbGQ6IHsgaWQ6IFwiSURcIiwgbmFtZTogXCLsobDsp4HrqoVcIiwgc2x1ZzogXCLsiqzrn6zqt7hcIiB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiBcIlRlYW1cIixcbiAgICAgIHRhYmxlOiBcInRlYW1zXCIsXG4gICAgICB0aXRsZTogXCLtjIBcIixcbiAgICAgIHByb3BzOiBbXG4gICAgICAgIHsgbmFtZTogXCJpZFwiLCB0eXBlOiBcInN0cmluZ1wiLCBkZXNjOiBcIklEXCIgfSxcbiAgICAgICAgeyBuYW1lOiBcIm5hbWVcIiwgdHlwZTogXCJzdHJpbmdcIiwgZGVzYzogXCLtjIDrqoVcIiB9LFxuICAgICAgICB7IG5hbWU6IFwiY3JlYXRlZF9hdFwiLCB0eXBlOiBcImRhdGVcIiwgZGJEZWZhdWx0OiBcIkNVUlJFTlRfVElNRVNUQU1QXCIsIGRlc2M6IFwi7IOd7ISx7J287IucXCIgfSxcbiAgICAgICAgeyBuYW1lOiBcInVwZGF0ZWRfYXRcIiwgdHlwZTogXCJkYXRlXCIsIG51bGxhYmxlOiB0cnVlLCBkZXNjOiBcIuyImOygleydvOyLnFwiIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcInJlbGF0aW9uXCIsXG4gICAgICAgICAgbmFtZTogXCJvcmdhbml6YXRpb25cIixcbiAgICAgICAgICB3aXRoOiBcIk9yZ2FuaXphdGlvblwiLFxuICAgICAgICAgIHJlbGF0aW9uVHlwZTogXCJCZWxvbmdzVG9PbmVcIixcbiAgICAgICAgICBvbkRlbGV0ZTogXCJDQVNDQURFXCIsXG4gICAgICAgICAgZGVzYzogXCLsobDsp4FcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBpbmRleGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcImluZGV4XCIsXG4gICAgICAgICAgbmFtZTogXCJ0ZWFtc19vcmdhbml6YXRpb25faWRfaWR4XCIsXG4gICAgICAgICAgY29sdW1uczogW3sgbmFtZTogXCJvcmdhbml6YXRpb25faWRcIiB9XSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBzdWJzZXRzOiB7XG4gICAgICAgIEE6IFtcImlkXCIsIFwibmFtZVwiLCBcImNyZWF0ZWRfYXRcIiwgXCJ1cGRhdGVkX2F0XCIsIFwib3JnYW5pemF0aW9uLmlkXCJdLFxuICAgICAgfSxcbiAgICAgIGVudW1zOiB7XG4gICAgICAgIFRlYW1PcmRlckJ5OiB7IFwiaWQtZGVzY1wiOiBcIklE7LWc7Iug7IicXCIsIFwiY3JlYXRlZF9hdC1kZXNjXCI6IFwi7IOd7ISx7J287LWc7Iug7IicXCIgfSxcbiAgICAgICAgVGVhbVNlYXJjaEZpZWxkOiB7IGlkOiBcIklEXCIsIG5hbWU6IFwi7YyA66qFXCIgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogXCJNZW1iZXJcIixcbiAgICAgIHRhYmxlOiBcIm1lbWJlcnNcIixcbiAgICAgIHRpdGxlOiBcIuuppOuyhFwiLFxuICAgICAgcHJvcHM6IFtcbiAgICAgICAgeyBuYW1lOiBcImlkXCIsIHR5cGU6IFwic3RyaW5nXCIsIGRlc2M6IFwiSURcIiB9LFxuICAgICAgICB7IG5hbWU6IFwicm9sZVwiLCB0eXBlOiBcInN0cmluZ1wiLCBkZXNjOiBcIuyXre2VoFwiIH0sXG4gICAgICAgIHsgbmFtZTogXCJjcmVhdGVkX2F0XCIsIHR5cGU6IFwiZGF0ZVwiLCBkYkRlZmF1bHQ6IFwiQ1VSUkVOVF9USU1FU1RBTVBcIiwgZGVzYzogXCLsg53shLHsnbzsi5xcIiB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogXCJyZWxhdGlvblwiLFxuICAgICAgICAgIG5hbWU6IFwidXNlclwiLFxuICAgICAgICAgIHdpdGg6IFwiVXNlclwiLFxuICAgICAgICAgIHJlbGF0aW9uVHlwZTogXCJCZWxvbmdzVG9PbmVcIixcbiAgICAgICAgICBvbkRlbGV0ZTogXCJDQVNDQURFXCIsXG4gICAgICAgICAgZGVzYzogXCLsgqzsmqnsnpBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwicmVsYXRpb25cIixcbiAgICAgICAgICBuYW1lOiBcIm9yZ2FuaXphdGlvblwiLFxuICAgICAgICAgIHdpdGg6IFwiT3JnYW5pemF0aW9uXCIsXG4gICAgICAgICAgcmVsYXRpb25UeXBlOiBcIkJlbG9uZ3NUb09uZVwiLFxuICAgICAgICAgIG9uRGVsZXRlOiBcIkNBU0NBREVcIixcbiAgICAgICAgICBkZXNjOiBcIuyhsOyngVwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGluZGV4ZXM6IFtcbiAgICAgICAgeyB0eXBlOiBcImluZGV4XCIsIG5hbWU6IFwibWVtYmVyc191c2VyX2lkX2lkeFwiLCBjb2x1bW5zOiBbeyBuYW1lOiBcInVzZXJfaWRcIiB9XSB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogXCJpbmRleFwiLFxuICAgICAgICAgIG5hbWU6IFwibWVtYmVyc19vcmdhbml6YXRpb25faWRfaWR4XCIsXG4gICAgICAgICAgY29sdW1uczogW3sgbmFtZTogXCJvcmdhbml6YXRpb25faWRcIiB9XSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBzdWJzZXRzOiB7XG4gICAgICAgIEE6IFtcImlkXCIsIFwicm9sZVwiLCBcImNyZWF0ZWRfYXRcIiwgXCJ1c2VyLmlkXCIsIFwib3JnYW5pemF0aW9uLmlkXCJdLFxuICAgICAgfSxcbiAgICAgIGVudW1zOiB7XG4gICAgICAgIE1lbWJlck9yZGVyQnk6IHsgXCJpZC1kZXNjXCI6IFwiSUTstZzsi6DsiJxcIiwgXCJjcmVhdGVkX2F0LWRlc2NcIjogXCLsg53shLHsnbzstZzsi6DsiJxcIiB9LFxuICAgICAgICBNZW1iZXJTZWFyY2hGaWVsZDogeyBpZDogXCJJRFwiLCByb2xlOiBcIuyXre2VoFwiIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IFwiSW52aXRhdGlvblwiLFxuICAgICAgdGFibGU6IFwiaW52aXRhdGlvbnNcIixcbiAgICAgIHRpdGxlOiBcIuy0iOuMgFwiLFxuICAgICAgcHJvcHM6IFtcbiAgICAgICAgeyBuYW1lOiBcImlkXCIsIHR5cGU6IFwic3RyaW5nXCIsIGRlc2M6IFwiSURcIiB9LFxuICAgICAgICB7IG5hbWU6IFwiZW1haWxcIiwgdHlwZTogXCJzdHJpbmdcIiwgZGVzYzogXCLsnbTrqZTsnbxcIiB9LFxuICAgICAgICB7IG5hbWU6IFwicm9sZVwiLCB0eXBlOiBcInN0cmluZ1wiLCBkZXNjOiBcIuyXre2VoFwiIH0sXG4gICAgICAgIHsgbmFtZTogXCJzdGF0dXNcIiwgdHlwZTogXCJzdHJpbmdcIiwgZGVzYzogXCLsg4Htg5xcIiB9LFxuICAgICAgICB7IG5hbWU6IFwiZXhwaXJlc19hdFwiLCB0eXBlOiBcImRhdGVcIiwgZGVzYzogXCLrp4zro4zsnbzsi5xcIiB9LFxuICAgICAgICB7IG5hbWU6IFwiY3JlYXRlZF9hdFwiLCB0eXBlOiBcImRhdGVcIiwgZGJEZWZhdWx0OiBcIkNVUlJFTlRfVElNRVNUQU1QXCIsIGRlc2M6IFwi7IOd7ISx7J287IucXCIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwicmVsYXRpb25cIixcbiAgICAgICAgICBuYW1lOiBcImludml0ZXJcIixcbiAgICAgICAgICB3aXRoOiBcIlVzZXJcIixcbiAgICAgICAgICByZWxhdGlvblR5cGU6IFwiQmVsb25nc1RvT25lXCIsXG4gICAgICAgICAgb25EZWxldGU6IFwiQ0FTQ0FERVwiLFxuICAgICAgICAgIGRlc2M6IFwi7LSI64yA7J6QXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcInJlbGF0aW9uXCIsXG4gICAgICAgICAgbmFtZTogXCJvcmdhbml6YXRpb25cIixcbiAgICAgICAgICB3aXRoOiBcIk9yZ2FuaXphdGlvblwiLFxuICAgICAgICAgIHJlbGF0aW9uVHlwZTogXCJCZWxvbmdzVG9PbmVcIixcbiAgICAgICAgICBvbkRlbGV0ZTogXCJDQVNDQURFXCIsXG4gICAgICAgICAgZGVzYzogXCLsobDsp4FcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwicmVsYXRpb25cIixcbiAgICAgICAgICBuYW1lOiBcInRlYW1cIixcbiAgICAgICAgICB3aXRoOiBcIlRlYW1cIixcbiAgICAgICAgICByZWxhdGlvblR5cGU6IFwiQmVsb25nc1RvT25lXCIsXG4gICAgICAgICAgb25EZWxldGU6IFwiU0VUIE5VTExcIixcbiAgICAgICAgICBudWxsYWJsZTogdHJ1ZSxcbiAgICAgICAgICBkZXNjOiBcIu2MgFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGluZGV4ZXM6IFtcbiAgICAgICAgeyB0eXBlOiBcImluZGV4XCIsIG5hbWU6IFwiaW52aXRhdGlvbnNfZW1haWxfaWR4XCIsIGNvbHVtbnM6IFt7IG5hbWU6IFwiZW1haWxcIiB9XSB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogXCJpbmRleFwiLFxuICAgICAgICAgIG5hbWU6IFwiaW52aXRhdGlvbnNfb3JnYW5pemF0aW9uX2lkX2lkeFwiLFxuICAgICAgICAgIGNvbHVtbnM6IFt7IG5hbWU6IFwib3JnYW5pemF0aW9uX2lkXCIgfV0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgc3Vic2V0czoge1xuICAgICAgICBBOiBbXG4gICAgICAgICAgXCJpZFwiLFxuICAgICAgICAgIFwiZW1haWxcIixcbiAgICAgICAgICBcInJvbGVcIixcbiAgICAgICAgICBcInN0YXR1c1wiLFxuICAgICAgICAgIFwiZXhwaXJlc19hdFwiLFxuICAgICAgICAgIFwiY3JlYXRlZF9hdFwiLFxuICAgICAgICAgIFwiaW52aXRlci5pZFwiLFxuICAgICAgICAgIFwib3JnYW5pemF0aW9uLmlkXCIsXG4gICAgICAgICAgXCJ0ZWFtLmlkXCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgZW51bXM6IHtcbiAgICAgICAgSW52aXRhdGlvbk9yZGVyQnk6IHsgXCJpZC1kZXNjXCI6IFwiSUTstZzsi6DsiJxcIiwgXCJjcmVhdGVkX2F0LWRlc2NcIjogXCLsg53shLHsnbzstZzsi6DsiJxcIiB9LFxuICAgICAgICBJbnZpdGF0aW9uU2VhcmNoRmllbGQ6IHsgaWQ6IFwiSURcIiwgZW1haWw6IFwi7J2066mU7J28XCIgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogXCJUZWFtTWVtYmVyXCIsXG4gICAgICB0YWJsZTogXCJ0ZWFtX21lbWJlcnNcIixcbiAgICAgIHRpdGxlOiBcIu2MgOuppOuyhFwiLFxuICAgICAgcHJvcHM6IFtcbiAgICAgICAgeyBuYW1lOiBcImlkXCIsIHR5cGU6IFwic3RyaW5nXCIsIGRlc2M6IFwiSURcIiB9LFxuICAgICAgICB7IG5hbWU6IFwiY3JlYXRlZF9hdFwiLCB0eXBlOiBcImRhdGVcIiwgZGJEZWZhdWx0OiBcIkNVUlJFTlRfVElNRVNUQU1QXCIsIGRlc2M6IFwi7IOd7ISx7J287IucXCIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwicmVsYXRpb25cIixcbiAgICAgICAgICBuYW1lOiBcInRlYW1cIixcbiAgICAgICAgICB3aXRoOiBcIlRlYW1cIixcbiAgICAgICAgICByZWxhdGlvblR5cGU6IFwiQmVsb25nc1RvT25lXCIsXG4gICAgICAgICAgb25EZWxldGU6IFwiQ0FTQ0FERVwiLFxuICAgICAgICAgIGRlc2M6IFwi7YyAXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcInJlbGF0aW9uXCIsXG4gICAgICAgICAgbmFtZTogXCJ1c2VyXCIsXG4gICAgICAgICAgd2l0aDogXCJVc2VyXCIsXG4gICAgICAgICAgcmVsYXRpb25UeXBlOiBcIkJlbG9uZ3NUb09uZVwiLFxuICAgICAgICAgIG9uRGVsZXRlOiBcIkNBU0NBREVcIixcbiAgICAgICAgICBkZXNjOiBcIuyCrOyaqeyekFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGluZGV4ZXM6IFtcbiAgICAgICAgeyB0eXBlOiBcImluZGV4XCIsIG5hbWU6IFwidGVhbV9tZW1iZXJzX3RlYW1faWRfaWR4XCIsIGNvbHVtbnM6IFt7IG5hbWU6IFwidGVhbV9pZFwiIH1dIH0sXG4gICAgICAgIHsgdHlwZTogXCJpbmRleFwiLCBuYW1lOiBcInRlYW1fbWVtYmVyc191c2VyX2lkX2lkeFwiLCBjb2x1bW5zOiBbeyBuYW1lOiBcInVzZXJfaWRcIiB9XSB9LFxuICAgICAgXSxcbiAgICAgIHN1YnNldHM6IHtcbiAgICAgICAgQTogW1wiaWRcIiwgXCJjcmVhdGVkX2F0XCIsIFwidGVhbS5pZFwiLCBcInVzZXIuaWRcIl0sXG4gICAgICB9LFxuICAgICAgZW51bXM6IHtcbiAgICAgICAgVGVhbU1lbWJlck9yZGVyQnk6IHsgXCJpZC1kZXNjXCI6IFwiSUTstZzsi6DsiJxcIiwgXCJjcmVhdGVkX2F0LWRlc2NcIjogXCLsg53shLHsnbzstZzsi6DsiJxcIiB9LFxuICAgICAgICBUZWFtTWVtYmVyU2VhcmNoRmllbGQ6IHsgaWQ6IFwiSURcIiB9LFxuICAgICAgfSxcbiAgICB9LFxuICBdLFxuICBhZGRpdGlvbmFsUHJvcHM6IHtcbiAgICBTZXNzaW9uOiBbXG4gICAgICB7IG5hbWU6IFwiYWN0aXZlX29yZ2FuaXphdGlvbl9pZFwiLCB0eXBlOiBcInN0cmluZ1wiLCBudWxsYWJsZTogdHJ1ZSwgZGVzYzogXCLtmZzshLEg7KGw7KeBIElEXCIgfSxcbiAgICAgIHsgbmFtZTogXCJhY3RpdmVfdGVhbV9pZFwiLCB0eXBlOiBcInN0cmluZ1wiLCBudWxsYWJsZTogdHJ1ZSwgZGVzYzogXCLtmZzshLEg7YyAIElEXCIgfSxcbiAgICBdLFxuICB9LFxufTtcbiJdLCJuYW1lcyI6WyJvcmdhbml6YXRpb25FbnRpdHlEZWYiLCJpZCIsIm5hbWUiLCJlbnRpdGllcyIsInRhYmxlIiwidGl0bGUiLCJwcm9wcyIsInR5cGUiLCJkZXNjIiwibnVsbGFibGUiLCJkYkRlZmF1bHQiLCJpbmRleGVzIiwiY29sdW1ucyIsInN1YnNldHMiLCJBIiwiZW51bXMiLCJPcmdhbml6YXRpb25PcmRlckJ5IiwiT3JnYW5pemF0aW9uU2VhcmNoRmllbGQiLCJzbHVnIiwid2l0aCIsInJlbGF0aW9uVHlwZSIsIm9uRGVsZXRlIiwiVGVhbU9yZGVyQnkiLCJUZWFtU2VhcmNoRmllbGQiLCJNZW1iZXJPcmRlckJ5IiwiTWVtYmVyU2VhcmNoRmllbGQiLCJyb2xlIiwiSW52aXRhdGlvbk9yZGVyQnkiLCJJbnZpdGF0aW9uU2VhcmNoRmllbGQiLCJlbWFpbCIsIlRlYW1NZW1iZXJPcmRlckJ5IiwiVGVhbU1l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
363
+ //#endregion
364
+ export { organizationEntityDef };
365
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pemF0aW9uLmpzIiwibmFtZXMiOlsib3JnYW5pemF0aW9uRW50aXR5RGVmOiBCZXR0ZXJBdXRoRW50aXR5RGVmIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F1dGgvcGx1Z2lucy9lbnRpdHktZGVmaW5pdGlvbnMvb3JnYW5pemF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQmV0dGVyQXV0aEVudGl0eURlZiB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKlxuICogYmV0dGVyLWF1dGggT3JnYW5pemF0aW9uIO2UjOufrOq3uOyduCDsl5Tti7Dti7Ag7KCV7J2YXG4gKiBodHRwczovL3d3dy5iZXR0ZXItYXV0aC5jb20vZG9jcy9wbHVnaW5zL29yZ2FuaXphdGlvblxuICpcbiAqIOyhsOyngSwg66mk67KELCDstIjrjIAsIO2MgCDqtIDrpqzrpbwg7KeA7JuQ7ZWp64uI64ukLlxuICovXG5leHBvcnQgY29uc3Qgb3JnYW5pemF0aW9uRW50aXR5RGVmOiBCZXR0ZXJBdXRoRW50aXR5RGVmID0ge1xuICBpZDogXCJvcmdhbml6YXRpb25cIixcbiAgbmFtZTogXCJPcmdhbml6YXRpb25cIixcbiAgLy8g7JeU7Yuw7YuwIOyInOyEnDog7J2Y7KG06rSA6rOE7JeQIOuUsOudvCDsoJXroKwgKE9yZ2FuaXphdGlvbiDihpIgVGVhbSDihpIgTWVtYmVyIOKGkiBJbnZpdGF0aW9uIOKGkiBUZWFtTWVtYmVyKVxuICBlbnRpdGllczogW1xuICAgIHtcbiAgICAgIGlkOiBcIk9yZ2FuaXphdGlvblwiLFxuICAgICAgdGFibGU6IFwib3JnYW5pemF0aW9uc1wiLFxuICAgICAgdGl0bGU6IFwi7KGw7KeBXCIsXG4gICAgICBwcm9wczogW1xuICAgICAgICB7IG5hbWU6IFwiaWRcIiwgdHlwZTogXCJzdHJpbmdcIiwgZGVzYzogXCJJRFwiIH0sXG4gICAgICAgIHsgbmFtZTogXCJuYW1lXCIsIHR5cGU6IFwic3RyaW5nXCIsIGRlc2M6IFwi7KGw7KeB66qFXCIgfSxcbiAgICAgICAgeyBuYW1lOiBcInNsdWdcIiwgdHlwZTogXCJzdHJpbmdcIiwgZGVzYzogXCLsiqzrn6zqt7hcIiB9LFxuICAgICAgICB7IG5hbWU6IFwibG9nb1wiLCB0eXBlOiBcInN0cmluZ1wiLCBudWxsYWJsZTogdHJ1ZSwgZGVzYzogXCLroZzqs6AgVVJMXCIgfSxcbiAgICAgICAgeyBuYW1lOiBcIm1ldGFkYXRhXCIsIHR5cGU6IFwic3RyaW5nXCIsIG51bGxhYmxlOiB0cnVlLCBkZXNjOiBcIuuplO2DgOuNsOydtO2EsCAoSlNPTilcIiB9LFxuICAgICAgICB7IG5hbWU6IFwiY3JlYXRlZF9hdFwiLCB0eXBlOiBcImRhdGVcIiwgZGJEZWZhdWx0OiBcIkNVUlJFTlRfVElNRVNUQU1QXCIsIGRlc2M6IFwi7IOd7ISx7J287IucXCIgfSxcbiAgICAgIF0sXG4gICAgICBpbmRleGVzOiBbeyB0eXBlOiBcInVuaXF1ZVwiLCBuYW1lOiBcIm9yZ2FuaXphdGlvbnNfc2x1Z191bmlxdWVcIiwgY29sdW1uczogW3sgbmFtZTogXCJzbHVnXCIgfV0gfV0sXG4gICAgICBzdWJzZXRzOiB7XG4gICAgICAgIEE6IFtcImlkXCIsIFwibmFtZVwiLCBcInNsdWdcIiwgXCJsb2dvXCIsIFwibWV0YWRhdGFcIiwgXCJjcmVhdGVkX2F0XCJdLFxuICAgICAgfSxcbiAgICAgIGVudW1zOiB7XG4gICAgICAgIE9yZ2FuaXphdGlvbk9yZGVyQnk6IHsgXCJpZC1kZXNjXCI6IFwiSUTstZzsi6DsiJxcIiwgXCJjcmVhdGVkX2F0LWRlc2NcIjogXCLsg53shLHsnbzstZzsi6DsiJxcIiB9LFxuICAgICAgICBPcmdhbml6YXRpb25TZWFyY2hGaWVsZDogeyBpZDogXCJJRFwiLCBuYW1lOiBcIuyhsOyngeuqhVwiLCBzbHVnOiBcIuyKrOufrOq3uFwiIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IFwiVGVhbVwiLFxuICAgICAgdGFibGU6IFwidGVhbXNcIixcbiAgICAgIHRpdGxlOiBcIu2MgFwiLFxuICAgICAgcHJvcHM6IFtcbiAgICAgICAgeyBuYW1lOiBcImlkXCIsIHR5cGU6IFwic3RyaW5nXCIsIGRlc2M6IFwiSURcIiB9LFxuICAgICAgICB7IG5hbWU6IFwibmFtZVwiLCB0eXBlOiBcInN0cmluZ1wiLCBkZXNjOiBcIu2MgOuqhVwiIH0sXG4gICAgICAgIHsgbmFtZTogXCJjcmVhdGVkX2F0XCIsIHR5cGU6IFwiZGF0ZVwiLCBkYkRlZmF1bHQ6IFwiQ1VSUkVOVF9USU1FU1RBTVBcIiwgZGVzYzogXCLsg53shLHsnbzsi5xcIiB9LFxuICAgICAgICB7IG5hbWU6IFwidXBkYXRlZF9hdFwiLCB0eXBlOiBcImRhdGVcIiwgbnVsbGFibGU6IHRydWUsIGRlc2M6IFwi7IiY7KCV7J287IucXCIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwicmVsYXRpb25cIixcbiAgICAgICAgICBuYW1lOiBcIm9yZ2FuaXphdGlvblwiLFxuICAgICAgICAgIHdpdGg6IFwiT3JnYW5pemF0aW9uXCIsXG4gICAgICAgICAgcmVsYXRpb25UeXBlOiBcIkJlbG9uZ3NUb09uZVwiLFxuICAgICAgICAgIG9uRGVsZXRlOiBcIkNBU0NBREVcIixcbiAgICAgICAgICBkZXNjOiBcIuyhsOyngVwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGluZGV4ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwiaW5kZXhcIixcbiAgICAgICAgICBuYW1lOiBcInRlYW1zX29yZ2FuaXphdGlvbl9pZF9pZHhcIixcbiAgICAgICAgICBjb2x1bW5zOiBbeyBuYW1lOiBcIm9yZ2FuaXphdGlvbl9pZFwiIH1dLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHN1YnNldHM6IHtcbiAgICAgICAgQTogW1wiaWRcIiwgXCJuYW1lXCIsIFwiY3JlYXRlZF9hdFwiLCBcInVwZGF0ZWRfYXRcIiwgXCJvcmdhbml6YXRpb24uaWRcIl0sXG4gICAgICB9LFxuICAgICAgZW51bXM6IHtcbiAgICAgICAgVGVhbU9yZGVyQnk6IHsgXCJpZC1kZXNjXCI6IFwiSUTstZzsi6DsiJxcIiwgXCJjcmVhdGVkX2F0LWRlc2NcIjogXCLsg53shLHsnbzstZzsi6DsiJxcIiB9LFxuICAgICAgICBUZWFtU2VhcmNoRmllbGQ6IHsgaWQ6IFwiSURcIiwgbmFtZTogXCLtjIDrqoVcIiB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiBcIk1lbWJlclwiLFxuICAgICAgdGFibGU6IFwibWVtYmVyc1wiLFxuICAgICAgdGl0bGU6IFwi66mk67KEXCIsXG4gICAgICBwcm9wczogW1xuICAgICAgICB7IG5hbWU6IFwiaWRcIiwgdHlwZTogXCJzdHJpbmdcIiwgZGVzYzogXCJJRFwiIH0sXG4gICAgICAgIHsgbmFtZTogXCJyb2xlXCIsIHR5cGU6IFwic3RyaW5nXCIsIGRlc2M6IFwi7Jet7ZWgXCIgfSxcbiAgICAgICAgeyBuYW1lOiBcImNyZWF0ZWRfYXRcIiwgdHlwZTogXCJkYXRlXCIsIGRiRGVmYXVsdDogXCJDVVJSRU5UX1RJTUVTVEFNUFwiLCBkZXNjOiBcIuyDneyEseydvOyLnFwiIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcInJlbGF0aW9uXCIsXG4gICAgICAgICAgbmFtZTogXCJ1c2VyXCIsXG4gICAgICAgICAgd2l0aDogXCJVc2VyXCIsXG4gICAgICAgICAgcmVsYXRpb25UeXBlOiBcIkJlbG9uZ3NUb09uZVwiLFxuICAgICAgICAgIG9uRGVsZXRlOiBcIkNBU0NBREVcIixcbiAgICAgICAgICBkZXNjOiBcIuyCrOyaqeyekFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogXCJyZWxhdGlvblwiLFxuICAgICAgICAgIG5hbWU6IFwib3JnYW5pemF0aW9uXCIsXG4gICAgICAgICAgd2l0aDogXCJPcmdhbml6YXRpb25cIixcbiAgICAgICAgICByZWxhdGlvblR5cGU6IFwiQmVsb25nc1RvT25lXCIsXG4gICAgICAgICAgb25EZWxldGU6IFwiQ0FTQ0FERVwiLFxuICAgICAgICAgIGRlc2M6IFwi7KGw7KeBXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgaW5kZXhlczogW1xuICAgICAgICB7IHR5cGU6IFwiaW5kZXhcIiwgbmFtZTogXCJtZW1iZXJzX3VzZXJfaWRfaWR4XCIsIGNvbHVtbnM6IFt7IG5hbWU6IFwidXNlcl9pZFwiIH1dIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcImluZGV4XCIsXG4gICAgICAgICAgbmFtZTogXCJtZW1iZXJzX29yZ2FuaXphdGlvbl9pZF9pZHhcIixcbiAgICAgICAgICBjb2x1bW5zOiBbeyBuYW1lOiBcIm9yZ2FuaXphdGlvbl9pZFwiIH1dLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHN1YnNldHM6IHtcbiAgICAgICAgQTogW1wiaWRcIiwgXCJyb2xlXCIsIFwiY3JlYXRlZF9hdFwiLCBcInVzZXIuaWRcIiwgXCJvcmdhbml6YXRpb24uaWRcIl0sXG4gICAgICB9LFxuICAgICAgZW51bXM6IHtcbiAgICAgICAgTWVtYmVyT3JkZXJCeTogeyBcImlkLWRlc2NcIjogXCJJROy1nOyLoOyInFwiLCBcImNyZWF0ZWRfYXQtZGVzY1wiOiBcIuyDneyEseydvOy1nOyLoOyInFwiIH0sXG4gICAgICAgIE1lbWJlclNlYXJjaEZpZWxkOiB7IGlkOiBcIklEXCIsIHJvbGU6IFwi7Jet7ZWgXCIgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogXCJJbnZpdGF0aW9uXCIsXG4gICAgICB0YWJsZTogXCJpbnZpdGF0aW9uc1wiLFxuICAgICAgdGl0bGU6IFwi7LSI64yAXCIsXG4gICAgICBwcm9wczogW1xuICAgICAgICB7IG5hbWU6IFwiaWRcIiwgdHlwZTogXCJzdHJpbmdcIiwgZGVzYzogXCJJRFwiIH0sXG4gICAgICAgIHsgbmFtZTogXCJlbWFpbFwiLCB0eXBlOiBcInN0cmluZ1wiLCBkZXNjOiBcIuydtOuplOydvFwiIH0sXG4gICAgICAgIHsgbmFtZTogXCJyb2xlXCIsIHR5cGU6IFwic3RyaW5nXCIsIGRlc2M6IFwi7Jet7ZWgXCIgfSxcbiAgICAgICAgeyBuYW1lOiBcInN0YXR1c1wiLCB0eXBlOiBcInN0cmluZ1wiLCBkZXNjOiBcIuyDge2DnFwiIH0sXG4gICAgICAgIHsgbmFtZTogXCJleHBpcmVzX2F0XCIsIHR5cGU6IFwiZGF0ZVwiLCBkZXNjOiBcIuunjOujjOydvOyLnFwiIH0sXG4gICAgICAgIHsgbmFtZTogXCJjcmVhdGVkX2F0XCIsIHR5cGU6IFwiZGF0ZVwiLCBkYkRlZmF1bHQ6IFwiQ1VSUkVOVF9USU1FU1RBTVBcIiwgZGVzYzogXCLsg53shLHsnbzsi5xcIiB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogXCJyZWxhdGlvblwiLFxuICAgICAgICAgIG5hbWU6IFwiaW52aXRlclwiLFxuICAgICAgICAgIHdpdGg6IFwiVXNlclwiLFxuICAgICAgICAgIHJlbGF0aW9uVHlwZTogXCJCZWxvbmdzVG9PbmVcIixcbiAgICAgICAgICBvbkRlbGV0ZTogXCJDQVNDQURFXCIsXG4gICAgICAgICAgZGVzYzogXCLstIjrjIDsnpBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwicmVsYXRpb25cIixcbiAgICAgICAgICBuYW1lOiBcIm9yZ2FuaXphdGlvblwiLFxuICAgICAgICAgIHdpdGg6IFwiT3JnYW5pemF0aW9uXCIsXG4gICAgICAgICAgcmVsYXRpb25UeXBlOiBcIkJlbG9uZ3NUb09uZVwiLFxuICAgICAgICAgIG9uRGVsZXRlOiBcIkNBU0NBREVcIixcbiAgICAgICAgICBkZXNjOiBcIuyhsOyngVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogXCJyZWxhdGlvblwiLFxuICAgICAgICAgIG5hbWU6IFwidGVhbVwiLFxuICAgICAgICAgIHdpdGg6IFwiVGVhbVwiLFxuICAgICAgICAgIHJlbGF0aW9uVHlwZTogXCJCZWxvbmdzVG9PbmVcIixcbiAgICAgICAgICBvbkRlbGV0ZTogXCJTRVQgTlVMTFwiLFxuICAgICAgICAgIG51bGxhYmxlOiB0cnVlLFxuICAgICAgICAgIGRlc2M6IFwi7YyAXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgaW5kZXhlczogW1xuICAgICAgICB7IHR5cGU6IFwiaW5kZXhcIiwgbmFtZTogXCJpbnZpdGF0aW9uc19lbWFpbF9pZHhcIiwgY29sdW1uczogW3sgbmFtZTogXCJlbWFpbFwiIH1dIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcImluZGV4XCIsXG4gICAgICAgICAgbmFtZTogXCJpbnZpdGF0aW9uc19vcmdhbml6YXRpb25faWRfaWR4XCIsXG4gICAgICAgICAgY29sdW1uczogW3sgbmFtZTogXCJvcmdhbml6YXRpb25faWRcIiB9XSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBzdWJzZXRzOiB7XG4gICAgICAgIEE6IFtcbiAgICAgICAgICBcImlkXCIsXG4gICAgICAgICAgXCJlbWFpbFwiLFxuICAgICAgICAgIFwicm9sZVwiLFxuICAgICAgICAgIFwic3RhdHVzXCIsXG4gICAgICAgICAgXCJleHBpcmVzX2F0XCIsXG4gICAgICAgICAgXCJjcmVhdGVkX2F0XCIsXG4gICAgICAgICAgXCJpbnZpdGVyLmlkXCIsXG4gICAgICAgICAgXCJvcmdhbml6YXRpb24uaWRcIixcbiAgICAgICAgICBcInRlYW0uaWRcIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBlbnVtczoge1xuICAgICAgICBJbnZpdGF0aW9uT3JkZXJCeTogeyBcImlkLWRlc2NcIjogXCJJROy1nOyLoOyInFwiLCBcImNyZWF0ZWRfYXQtZGVzY1wiOiBcIuyDneyEseydvOy1nOyLoOyInFwiIH0sXG4gICAgICAgIEludml0YXRpb25TZWFyY2hGaWVsZDogeyBpZDogXCJJRFwiLCBlbWFpbDogXCLsnbTrqZTsnbxcIiB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiBcIlRlYW1NZW1iZXJcIixcbiAgICAgIHRhYmxlOiBcInRlYW1fbWVtYmVyc1wiLFxuICAgICAgdGl0bGU6IFwi7YyA66mk67KEXCIsXG4gICAgICBwcm9wczogW1xuICAgICAgICB7IG5hbWU6IFwiaWRcIiwgdHlwZTogXCJzdHJpbmdcIiwgZGVzYzogXCJJRFwiIH0sXG4gICAgICAgIHsgbmFtZTogXCJjcmVhdGVkX2F0XCIsIHR5cGU6IFwiZGF0ZVwiLCBkYkRlZmF1bHQ6IFwiQ1VSUkVOVF9USU1FU1RBTVBcIiwgZGVzYzogXCLsg53shLHsnbzsi5xcIiB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogXCJyZWxhdGlvblwiLFxuICAgICAgICAgIG5hbWU6IFwidGVhbVwiLFxuICAgICAgICAgIHdpdGg6IFwiVGVhbVwiLFxuICAgICAgICAgIHJlbGF0aW9uVHlwZTogXCJCZWxvbmdzVG9PbmVcIixcbiAgICAgICAgICBvbkRlbGV0ZTogXCJDQVNDQURFXCIsXG4gICAgICAgICAgZGVzYzogXCLtjIBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwicmVsYXRpb25cIixcbiAgICAgICAgICBuYW1lOiBcInVzZXJcIixcbiAgICAgICAgICB3aXRoOiBcIlVzZXJcIixcbiAgICAgICAgICByZWxhdGlvblR5cGU6IFwiQmVsb25nc1RvT25lXCIsXG4gICAgICAgICAgb25EZWxldGU6IFwiQ0FTQ0FERVwiLFxuICAgICAgICAgIGRlc2M6IFwi7IKs7Jqp7J6QXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgaW5kZXhlczogW1xuICAgICAgICB7IHR5cGU6IFwiaW5kZXhcIiwgbmFtZTogXCJ0ZWFtX21lbWJlcnNfdGVhbV9pZF9pZHhcIiwgY29sdW1uczogW3sgbmFtZTogXCJ0ZWFtX2lkXCIgfV0gfSxcbiAgICAgICAgeyB0eXBlOiBcImluZGV4XCIsIG5hbWU6IFwidGVhbV9tZW1iZXJzX3VzZXJfaWRfaWR4XCIsIGNvbHVtbnM6IFt7IG5hbWU6IFwidXNlcl9pZFwiIH1dIH0sXG4gICAgICBdLFxuICAgICAgc3Vic2V0czoge1xuICAgICAgICBBOiBbXCJpZFwiLCBcImNyZWF0ZWRfYXRcIiwgXCJ0ZWFtLmlkXCIsIFwidXNlci5pZFwiXSxcbiAgICAgIH0sXG4gICAgICBlbnVtczoge1xuICAgICAgICBUZWFtTWVtYmVyT3JkZXJCeTogeyBcImlkLWRlc2NcIjogXCJJROy1nOyLoOyInFwiLCBcImNyZWF0ZWRfYXQtZGVzY1wiOiBcIuyDneyEseydvOy1nOyLoOyInFwiIH0sXG4gICAgICAgIFRlYW1NZW1iZXJTZWFyY2hGaWVsZDogeyBpZDogXCJJRFwiIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIF0sXG4gIGFkZGl0aW9uYWxQcm9wczoge1xuICAgIFNlc3Npb246IFtcbiAgICAgIHsgbmFtZTogXCJhY3RpdmVfb3JnYW5pemF0aW9uX2lkXCIsIHR5cGU6IFwic3RyaW5nXCIsIG51bGxhYmxlOiB0cnVlLCBkZXNjOiBcIu2ZnOyEsSDsobDsp4EgSURcIiB9LFxuICAgICAgeyBuYW1lOiBcImFjdGl2ZV90ZWFtX2lkXCIsIHR5cGU6IFwic3RyaW5nXCIsIG51bGxhYmxlOiB0cnVlLCBkZXNjOiBcIu2ZnOyEsSDtjIAgSURcIiB9LFxuICAgIF0sXG4gIH0sXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBUUEsTUFBYUEsd0JBQTZDO0NBQ3hELElBQUk7Q0FDSixNQUFNO0NBRU4sVUFBVTtFQUNSO0dBQ0UsSUFBSTtHQUNKLE9BQU87R0FDUCxPQUFPO0dBQ1AsT0FBTztJQUNMO0tBQUUsTUFBTTtLQUFNLE1BQU07S0FBVSxNQUFNO0tBQU07SUFDMUM7S0FBRSxNQUFNO0tBQVEsTUFBTTtLQUFVLE1BQU07S0FBTztJQUM3QztLQUFFLE1BQU07S0FBUSxNQUFNO0tBQVUsTUFBTTtLQUFPO0lBQzdDO0tBQUUsTUFBTTtLQUFRLE1BQU07S0FBVSxVQUFVO0tBQU0sTUFBTTtLQUFVO0lBQ2hFO0tBQUUsTUFBTTtLQUFZLE1BQU07S0FBVSxVQUFV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