@beignet/core 0.0.3 → 0.0.5

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 (360) hide show
  1. package/CHANGELOG.md +159 -0
  2. package/README.md +792 -50
  3. package/dist/application/index.d.ts +28 -2
  4. package/dist/application/index.d.ts.map +1 -1
  5. package/dist/application/index.js +140 -12
  6. package/dist/application/index.js.map +1 -1
  7. package/dist/client/client.d.ts +2 -2
  8. package/dist/client/client.d.ts.map +1 -1
  9. package/dist/client/client.js +136 -48
  10. package/dist/client/client.js.map +1 -1
  11. package/dist/client/error-messages.d.ts +14 -0
  12. package/dist/client/error-messages.d.ts.map +1 -0
  13. package/dist/client/error-messages.js +23 -0
  14. package/dist/client/error-messages.js.map +1 -0
  15. package/dist/client/index.d.ts +8 -4
  16. package/dist/client/index.d.ts.map +1 -1
  17. package/dist/client/index.js +6 -2
  18. package/dist/client/index.js.map +1 -1
  19. package/dist/client/types.d.ts +35 -5
  20. package/dist/client/types.d.ts.map +1 -1
  21. package/dist/client-only.d.ts +8 -0
  22. package/dist/client-only.d.ts.map +1 -0
  23. package/dist/client-only.js +8 -0
  24. package/dist/client-only.js.map +1 -0
  25. package/dist/config/index.d.ts +5 -5
  26. package/dist/config/index.d.ts.map +1 -1
  27. package/dist/config/index.js +2 -2
  28. package/dist/config/index.js.map +1 -1
  29. package/dist/contracts/catalog-errors.d.ts +27 -0
  30. package/dist/contracts/catalog-errors.d.ts.map +1 -0
  31. package/dist/contracts/catalog-errors.js +69 -0
  32. package/dist/contracts/catalog-errors.js.map +1 -0
  33. package/dist/contracts/contract-builder.d.ts +15 -12
  34. package/dist/contracts/contract-builder.d.ts.map +1 -1
  35. package/dist/contracts/contract-builder.js +15 -41
  36. package/dist/contracts/contract-builder.js.map +1 -1
  37. package/dist/contracts/contract-group.d.ts +11 -8
  38. package/dist/contracts/contract-group.d.ts.map +1 -1
  39. package/dist/contracts/contract-group.js +13 -40
  40. package/dist/contracts/contract-group.js.map +1 -1
  41. package/dist/contracts/contract-like.d.ts +1 -1
  42. package/dist/contracts/contract-like.d.ts.map +1 -1
  43. package/dist/contracts/index.d.ts +13 -9
  44. package/dist/contracts/index.d.ts.map +1 -1
  45. package/dist/contracts/index.js +9 -5
  46. package/dist/contracts/index.js.map +1 -1
  47. package/dist/contracts/openapi-meta.d.ts +48 -0
  48. package/dist/contracts/openapi-meta.d.ts.map +1 -1
  49. package/dist/contracts/openapi-meta.js +3 -0
  50. package/dist/contracts/openapi-meta.js.map +1 -1
  51. package/dist/contracts/path-template.d.ts +1 -1
  52. package/dist/contracts/path-template.js +2 -2
  53. package/dist/contracts/path-template.js.map +1 -1
  54. package/dist/contracts/schema-shape.d.ts +37 -0
  55. package/dist/contracts/schema-shape.d.ts.map +1 -0
  56. package/dist/contracts/schema-shape.js +61 -0
  57. package/dist/contracts/schema-shape.js.map +1 -0
  58. package/dist/contracts/success-status.d.ts +32 -0
  59. package/dist/contracts/success-status.d.ts.map +1 -0
  60. package/dist/contracts/success-status.js +18 -0
  61. package/dist/contracts/success-status.js.map +1 -0
  62. package/dist/contracts/types.d.ts +25 -5
  63. package/dist/contracts/types.d.ts.map +1 -1
  64. package/dist/contracts/types.js.map +1 -1
  65. package/dist/contracts/utils.d.ts +1 -1
  66. package/dist/contracts/utils.d.ts.map +1 -1
  67. package/dist/contracts/utils.js +1 -1
  68. package/dist/contracts/utils.js.map +1 -1
  69. package/dist/domain/events.d.ts +1 -1
  70. package/dist/domain/events.d.ts.map +1 -1
  71. package/dist/domain/events.js +1 -1
  72. package/dist/domain/events.js.map +1 -1
  73. package/dist/domain/index.d.ts +3 -3
  74. package/dist/domain/index.d.ts.map +1 -1
  75. package/dist/domain/index.js +3 -3
  76. package/dist/domain/index.js.map +1 -1
  77. package/dist/errors/catalog.d.ts +9 -1
  78. package/dist/errors/catalog.d.ts.map +1 -1
  79. package/dist/errors/catalog.js +7 -1
  80. package/dist/errors/catalog.js.map +1 -1
  81. package/dist/errors/http.d.ts +10 -0
  82. package/dist/errors/http.d.ts.map +1 -1
  83. package/dist/errors/http.js +11 -1
  84. package/dist/errors/http.js.map +1 -1
  85. package/dist/errors/index.d.ts +4 -4
  86. package/dist/errors/index.d.ts.map +1 -1
  87. package/dist/errors/index.js +4 -4
  88. package/dist/errors/index.js.map +1 -1
  89. package/dist/errors/response.d.ts +4 -1
  90. package/dist/errors/response.d.ts.map +1 -1
  91. package/dist/errors/response.js.map +1 -1
  92. package/dist/events/index.d.ts +10 -12
  93. package/dist/events/index.d.ts.map +1 -1
  94. package/dist/events/index.js +10 -10
  95. package/dist/events/index.js.map +1 -1
  96. package/dist/idempotency/index.d.ts +5 -3
  97. package/dist/idempotency/index.d.ts.map +1 -1
  98. package/dist/idempotency/index.js.map +1 -1
  99. package/dist/jobs/index.d.ts +12 -14
  100. package/dist/jobs/index.d.ts.map +1 -1
  101. package/dist/jobs/index.js +13 -13
  102. package/dist/jobs/index.js.map +1 -1
  103. package/dist/notifications/index.d.ts +14 -16
  104. package/dist/notifications/index.d.ts.map +1 -1
  105. package/dist/notifications/index.js +14 -14
  106. package/dist/notifications/index.js.map +1 -1
  107. package/dist/openapi/index.d.ts +8 -3
  108. package/dist/openapi/index.d.ts.map +1 -1
  109. package/dist/openapi/index.js +41 -29
  110. package/dist/openapi/index.js.map +1 -1
  111. package/dist/openapi/schema-introspector.d.ts +37 -0
  112. package/dist/openapi/schema-introspector.d.ts.map +1 -1
  113. package/dist/openapi/schema-introspector.js +23 -17
  114. package/dist/openapi/schema-introspector.js.map +1 -1
  115. package/dist/outbox/index.d.ts +15 -6
  116. package/dist/outbox/index.d.ts.map +1 -1
  117. package/dist/outbox/index.js +60 -16
  118. package/dist/outbox/index.js.map +1 -1
  119. package/dist/ports/audit.d.ts +56 -10
  120. package/dist/ports/audit.d.ts.map +1 -1
  121. package/dist/ports/audit.js +71 -3
  122. package/dist/ports/audit.js.map +1 -1
  123. package/dist/ports/auth.d.ts +92 -0
  124. package/dist/ports/auth.d.ts.map +1 -1
  125. package/dist/ports/auth.js +92 -0
  126. package/dist/ports/auth.js.map +1 -1
  127. package/dist/ports/events.d.ts +2 -2
  128. package/dist/ports/events.d.ts.map +1 -1
  129. package/dist/ports/index.d.ts +62 -33
  130. package/dist/ports/index.d.ts.map +1 -1
  131. package/dist/ports/index.js +28 -34
  132. package/dist/ports/index.js.map +1 -1
  133. package/dist/ports/policy.d.ts +32 -3
  134. package/dist/ports/policy.d.ts.map +1 -1
  135. package/dist/ports/policy.js +13 -2
  136. package/dist/ports/policy.js.map +1 -1
  137. package/dist/ports/testing.d.ts +1030 -2
  138. package/dist/ports/testing.d.ts.map +1 -1
  139. package/dist/ports/testing.js +1031 -1
  140. package/dist/ports/testing.js.map +1 -1
  141. package/dist/ports/unbound.d.ts +21 -0
  142. package/dist/ports/unbound.d.ts.map +1 -0
  143. package/dist/ports/unbound.js +57 -0
  144. package/dist/ports/unbound.js.map +1 -0
  145. package/dist/ports/unit-of-work.d.ts +1 -1
  146. package/dist/ports/unit-of-work.d.ts.map +1 -1
  147. package/dist/ports/unit-of-work.js +1 -1
  148. package/dist/ports/unit-of-work.js.map +1 -1
  149. package/dist/providers/index.d.ts +3 -2
  150. package/dist/providers/index.d.ts.map +1 -1
  151. package/dist/providers/index.js +3 -2
  152. package/dist/providers/index.js.map +1 -1
  153. package/dist/providers/instrumentation.d.ts +45 -4
  154. package/dist/providers/instrumentation.d.ts.map +1 -1
  155. package/dist/providers/instrumentation.js +25 -6
  156. package/dist/providers/instrumentation.js.map +1 -1
  157. package/dist/providers/metadata.d.ts +39 -0
  158. package/dist/providers/metadata.d.ts.map +1 -0
  159. package/dist/providers/metadata.js +169 -0
  160. package/dist/providers/metadata.js.map +1 -0
  161. package/dist/providers/provider.d.ts +114 -9
  162. package/dist/providers/provider.d.ts.map +1 -1
  163. package/dist/providers/provider.js +3 -20
  164. package/dist/providers/provider.js.map +1 -1
  165. package/dist/schedules/index.d.ts +94 -13
  166. package/dist/schedules/index.d.ts.map +1 -1
  167. package/dist/schedules/index.js +66 -12
  168. package/dist/schedules/index.js.map +1 -1
  169. package/dist/server/audit-context.d.ts +29 -0
  170. package/dist/server/audit-context.d.ts.map +1 -0
  171. package/dist/server/audit-context.js +44 -0
  172. package/dist/server/audit-context.js.map +1 -0
  173. package/dist/server/context.d.ts +141 -0
  174. package/dist/server/context.d.ts.map +1 -0
  175. package/dist/server/context.js +39 -0
  176. package/dist/server/context.js.map +1 -0
  177. package/dist/server/contract-like.d.ts +1 -1
  178. package/dist/server/contract-like.d.ts.map +1 -1
  179. package/dist/server/contract-like.js +1 -1
  180. package/dist/server/contract-like.js.map +1 -1
  181. package/dist/server/health.d.ts +2 -2
  182. package/dist/server/health.d.ts.map +1 -1
  183. package/dist/server/hooks/auth.d.ts +49 -10
  184. package/dist/server/hooks/auth.d.ts.map +1 -1
  185. package/dist/server/hooks/auth.js +77 -37
  186. package/dist/server/hooks/auth.js.map +1 -1
  187. package/dist/server/hooks/cors.d.ts +1 -1
  188. package/dist/server/hooks/cors.d.ts.map +1 -1
  189. package/dist/server/hooks/errors.d.ts +2 -2
  190. package/dist/server/hooks/errors.d.ts.map +1 -1
  191. package/dist/server/hooks/errors.js +2 -2
  192. package/dist/server/hooks/errors.js.map +1 -1
  193. package/dist/server/hooks/idempotency.d.ts +78 -0
  194. package/dist/server/hooks/idempotency.d.ts.map +1 -0
  195. package/dist/server/hooks/idempotency.js +154 -0
  196. package/dist/server/hooks/idempotency.js.map +1 -0
  197. package/dist/server/hooks/index.d.ts +8 -7
  198. package/dist/server/hooks/index.d.ts.map +1 -1
  199. package/dist/server/hooks/index.js +6 -5
  200. package/dist/server/hooks/index.js.map +1 -1
  201. package/dist/server/hooks/logging.d.ts +2 -2
  202. package/dist/server/hooks/logging.d.ts.map +1 -1
  203. package/dist/server/hooks/logging.js +1 -1
  204. package/dist/server/hooks/logging.js.map +1 -1
  205. package/dist/server/hooks/rate-limit.d.ts +25 -7
  206. package/dist/server/hooks/rate-limit.d.ts.map +1 -1
  207. package/dist/server/hooks/rate-limit.js +47 -12
  208. package/dist/server/hooks/rate-limit.js.map +1 -1
  209. package/dist/server/hooks.d.ts +1 -1
  210. package/dist/server/hooks.d.ts.map +1 -1
  211. package/dist/server/hooks.js +1 -1
  212. package/dist/server/hooks.js.map +1 -1
  213. package/dist/server/http.d.ts +61 -35
  214. package/dist/server/http.d.ts.map +1 -1
  215. package/dist/server/http.js +1 -20
  216. package/dist/server/http.js.map +1 -1
  217. package/dist/server/index.d.ts +36 -12
  218. package/dist/server/index.d.ts.map +1 -1
  219. package/dist/server/index.js +24 -8
  220. package/dist/server/index.js.map +1 -1
  221. package/dist/server/instrumentation.d.ts +108 -0
  222. package/dist/server/instrumentation.d.ts.map +1 -0
  223. package/dist/server/instrumentation.js +297 -0
  224. package/dist/server/instrumentation.js.map +1 -0
  225. package/dist/server/openapi.d.ts +3 -3
  226. package/dist/server/openapi.d.ts.map +1 -1
  227. package/dist/server/openapi.js +1 -1
  228. package/dist/server/openapi.js.map +1 -1
  229. package/dist/server/providers/index.d.ts +3 -3
  230. package/dist/server/providers/index.d.ts.map +1 -1
  231. package/dist/server/providers/index.js +3 -3
  232. package/dist/server/providers/index.js.map +1 -1
  233. package/dist/server/providers/loadProviderConfig.d.ts +2 -2
  234. package/dist/server/providers/loadProviderConfig.d.ts.map +1 -1
  235. package/dist/server/providers/loadProviderConfig.js +2 -2
  236. package/dist/server/providers/loadProviderConfig.js.map +1 -1
  237. package/dist/server/request-context.d.ts +67 -0
  238. package/dist/server/request-context.d.ts.map +1 -0
  239. package/dist/server/request-context.js +79 -0
  240. package/dist/server/request-context.js.map +1 -0
  241. package/dist/server/server-context.d.ts +38 -0
  242. package/dist/server/server-context.d.ts.map +1 -0
  243. package/dist/server/server-context.js +38 -0
  244. package/dist/server/server-context.js.map +1 -0
  245. package/dist/server/server.d.ts +105 -33
  246. package/dist/server/server.d.ts.map +1 -1
  247. package/dist/server/server.js +434 -118
  248. package/dist/server/server.js.map +1 -1
  249. package/dist/server/types.d.ts +2 -2
  250. package/dist/server/types.d.ts.map +1 -1
  251. package/dist/server/types.js +2 -2
  252. package/dist/server/types.js.map +1 -1
  253. package/dist/server/use-case-route.d.ts +263 -0
  254. package/dist/server/use-case-route.d.ts.map +1 -0
  255. package/dist/server/use-case-route.js +77 -0
  256. package/dist/server/use-case-route.js.map +1 -0
  257. package/dist/server-only.d.ts +8 -0
  258. package/dist/server-only.d.ts.map +1 -0
  259. package/dist/server-only.js +8 -0
  260. package/dist/server-only.js.map +1 -0
  261. package/dist/tasks/index.d.ts +139 -0
  262. package/dist/tasks/index.d.ts.map +1 -0
  263. package/dist/tasks/index.js +98 -0
  264. package/dist/tasks/index.js.map +1 -0
  265. package/dist/testing/index.d.ts +607 -5
  266. package/dist/testing/index.d.ts.map +1 -1
  267. package/dist/testing/index.js +426 -4
  268. package/dist/testing/index.js.map +1 -1
  269. package/dist/tracing/index.d.ts +89 -0
  270. package/dist/tracing/index.d.ts.map +1 -0
  271. package/dist/tracing/index.js +101 -0
  272. package/dist/tracing/index.js.map +1 -0
  273. package/dist/uploads/client.d.ts +1 -1
  274. package/dist/uploads/client.d.ts.map +1 -1
  275. package/dist/uploads/index.d.ts +2 -2
  276. package/dist/uploads/index.d.ts.map +1 -1
  277. package/dist/uploads/index.js +1 -1
  278. package/dist/uploads/index.js.map +1 -1
  279. package/package.json +24 -2
  280. package/src/application/index.ts +193 -10
  281. package/src/client/client.ts +148 -150
  282. package/src/client/error-messages.ts +35 -0
  283. package/src/client/index.ts +12 -4
  284. package/src/client/types.ts +44 -5
  285. package/src/client-only.ts +7 -0
  286. package/src/config/index.ts +6 -6
  287. package/src/contracts/catalog-errors.ts +115 -0
  288. package/src/contracts/contract-builder.ts +39 -76
  289. package/src/contracts/contract-group.ts +33 -68
  290. package/src/contracts/contract-like.ts +1 -1
  291. package/src/contracts/index.ts +24 -11
  292. package/src/contracts/openapi-meta.ts +55 -0
  293. package/src/contracts/path-template.ts +2 -2
  294. package/src/contracts/schema-shape.ts +75 -0
  295. package/src/contracts/success-status.ts +68 -0
  296. package/src/contracts/types.ts +32 -5
  297. package/src/contracts/utils.ts +5 -2
  298. package/src/domain/events.ts +6 -2
  299. package/src/domain/index.ts +3 -3
  300. package/src/errors/catalog.ts +9 -1
  301. package/src/errors/http.ts +11 -1
  302. package/src/errors/index.ts +4 -4
  303. package/src/errors/response.ts +4 -1
  304. package/src/events/index.ts +12 -26
  305. package/src/idempotency/index.ts +5 -3
  306. package/src/jobs/index.ts +14 -24
  307. package/src/notifications/index.ts +17 -27
  308. package/src/openapi/index.ts +73 -38
  309. package/src/openapi/schema-introspector.ts +68 -17
  310. package/src/outbox/index.ts +84 -19
  311. package/src/ports/audit.ts +120 -11
  312. package/src/ports/auth.ts +132 -0
  313. package/src/ports/events.ts +2 -2
  314. package/src/ports/index.ts +104 -35
  315. package/src/ports/policy.ts +50 -3
  316. package/src/ports/testing.ts +2220 -33
  317. package/src/ports/unbound.ts +64 -0
  318. package/src/ports/unit-of-work.ts +6 -2
  319. package/src/providers/index.ts +16 -3
  320. package/src/providers/instrumentation.ts +86 -7
  321. package/src/providers/metadata.ts +234 -0
  322. package/src/providers/provider.ts +168 -9
  323. package/src/schedules/index.ts +173 -23
  324. package/src/server/audit-context.ts +45 -0
  325. package/src/server/context.ts +224 -0
  326. package/src/server/contract-like.ts +1 -1
  327. package/src/server/health.ts +2 -2
  328. package/src/server/hooks/auth.ts +141 -51
  329. package/src/server/hooks/cors.ts +1 -1
  330. package/src/server/hooks/errors.ts +7 -4
  331. package/src/server/hooks/idempotency.ts +263 -0
  332. package/src/server/hooks/index.ts +14 -7
  333. package/src/server/hooks/logging.ts +3 -3
  334. package/src/server/hooks/rate-limit.ts +85 -17
  335. package/src/server/hooks.ts +1 -1
  336. package/src/server/http.ts +78 -51
  337. package/src/server/index.ts +62 -12
  338. package/src/server/instrumentation.ts +470 -0
  339. package/src/server/openapi.ts +4 -4
  340. package/src/server/providers/index.ts +6 -3
  341. package/src/server/providers/loadProviderConfig.ts +4 -4
  342. package/src/server/request-context.ts +116 -0
  343. package/src/server/server-context.ts +44 -0
  344. package/src/server/server.ts +886 -238
  345. package/src/server/types.ts +2 -2
  346. package/src/server/use-case-route.ts +430 -0
  347. package/src/server-only.ts +7 -0
  348. package/src/tasks/index.ts +275 -0
  349. package/src/testing/index.ts +1142 -6
  350. package/src/tracing/index.ts +176 -0
  351. package/src/uploads/client.ts +1 -1
  352. package/src/uploads/index.ts +7 -3
  353. package/dist/ports/mailer.d.ts +0 -6
  354. package/dist/ports/mailer.d.ts.map +0 -1
  355. package/dist/ports/mailer.js +0 -2
  356. package/dist/ports/mailer.js.map +0 -1
  357. package/dist/ports/schedules.d.ts +0 -9
  358. package/dist/ports/schedules.d.ts.map +0 -1
  359. package/dist/ports/schedules.js +0 -2
  360. package/dist/ports/schedules.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAE1B,wBAAwB,EAExB,yBAAyB,EACzB,iBAAiB,GAElB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAOzE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAaxD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAwDrB,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAwF/C;;;;;;GAMG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,CAIL,KAAkC,EACL,EAAE,CAAC,KAAK,CAAC;AAC1C,CAAC;AAsHD,MAAM,eAAgB,SAAQ,KAAK;IACjC;QACE,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACjD,OAAO,CAAC,IAAI,KAAK,SAAS;QACxB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CACzD,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzD,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAc,EACd,KAAsB;IAEtB,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,eAAe,EAAE,CAAC;QAC9B,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,uBAAuB,CAAC,CAAe,EAAE,CAAe;IAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC,CAAC;QAEzB,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;YAAE,SAAS;QAC9C,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,aAAa,CACpB,MAAc,EACd,IAAY,EACZ,OAAe,EACf,OAAiB;IAEjB,OAAO;QACL,MAAM;QACN,IAAI,EAAE,uBAAuB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAqB;IAC9C,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,GAAG,CAAC,IAAI;KACf,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,QAAQ,KAAK,WAAW,IAAI,KAAK,YAAY,QAAQ,CAAC;AACtE,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAiB;IAC9C,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,6BAA6B,CACpC,GAAqB,EACrB,KAAoB;IAEpB,IACE,KAAK,KAAK,WAAW;QACrB,GAAG,CAAC,MAAM,GAAG,GAAG;QAChB,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAC9B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO;QACL,GAAG,GAAG;QACN,OAAO,EAAE;YACP,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;YACtB,CAAC,0BAA0B,CAAC,EAAE,WAAW;SAC1C;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAiB,EACjB,KAAqB;IAErB,IAAI,aAAa,CAAC,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC;IAC3C,OAAO,KAAK,IAAI,OAAO,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,OAAgB;IACvC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAgB;IAC9C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAAkC,EAClC,UAAkC;IAElC,IAAI,aAAa,GAA4B,UAAU,CAAC;IAExD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC7D,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,aAAa,GAAG;gBACd,GAAG,aAAa;gBAChB,GAAI,MAAkC;aACvC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,MAAiC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAiB;IACzC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,CACL,CAAC,aAAa,CAAC,KAAK,CAAC;QACrB,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,QAAQ,IAAI,KAAK;QACjB,OAAQ,KAA8B,CAAC,MAAM,KAAK,QAAQ,CAC3D,CAAC;AACJ,CAAC;AAED,MAAM,8BAA+B,SAAQ,KAAK;IACvC,IAAI,CAA6D;IACjE,OAAO,CAAW;IAE3B,YAAY,IAIX;QACC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC9B,CAAC;CACF;AAED,SAAS,iCAAiC,CACxC,QAA4B,EAC5B,MAAc;IAEd,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IACzC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAE7D,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CACjC,CAAC,KAAK,EAAoC,EAAE,CAC1C,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ;QACtD,OAAQ,KAA8B,CAAC,MAAM,KAAK,QAAQ;QAC1D,OAAQ,KAA+B,CAAC,OAAO,KAAK,QAAQ;QAC3D,KAA4B,CAAC,MAAM,KAAK,MAAM,CAClD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,QAAW,EACX,GAAqB;IAErB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAAE,OAAO;IAE3D,MAAM,cAAc,GAAG,iCAAiC,CACtD,QAAQ,EACR,GAAG,CAAC,MAAM,CACX,CAAC;IACF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAExC,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CACvC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CACpC,CAAC;IACF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,8BAA8B,CAAC;YACvC,IAAI,EAAE,2BAA2B;YACjC,OAAO,EACL,kCAAkC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,GAAG;gBACrE,WAAW,GAAG,CAAC,MAAM,eAAe,QAAQ,CAAC,IAAI,GAAG;YACtD,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN;wBACE,OAAO,EACL,wBAAwB,IAAI,CAAC,IAAI,gCAAgC,GAAG,CAAC,MAAM,IAAI;4BAC/E,oBAAoB,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;qBAC9E;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,aAAa,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,mBAAmB,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;gBAC3C,MAAM,IAAI,8BAA8B,CAAC;oBACvC,IAAI,EAAE,2BAA2B;oBACjC,OAAO,EACL,kCAAkC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,GAAG;wBACrE,WAAW,GAAG,CAAC,MAAM,eAAe,QAAQ,CAAC,IAAI,GAAG;oBACtD,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;iBAClC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC5C,QAAW,EACX,GAAqB;IAErB,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEvE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEzD,MAAM,IAAI,8BAA8B,CAAC;YACvC,IAAI,EAAE,4BAA4B;YAClC,OAAO,EACL,sCAAsC,GAAG,CAAC,MAAM,OAAO;gBACvD,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,eAAe,QAAQ,CAAC,IAAI,GAAG;YACpE,OAAO,EAAE;gBACP,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;aACf;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,IAAI,8BAA8B,CAAC;gBACvC,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EACL,kCAAkC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,GAAG;oBACrE,WAAW,GAAG,CAAC,MAAM,eAAe,QAAQ,CAAC,IAAI,GAAG;gBACtD,OAAO,EAAE;oBACP,MAAM,EAAE;wBACN;4BACE,OAAO,EACL,yDAAyD;yBAC5D;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,cAAc;QAAE,OAAO;IAE5B,IAAI,CAAC;QACH,MAAM,mBAAmB,CAAC,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,4BAA4B,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;YAC3C,MAAM,IAAI,8BAA8B,CAAC;gBACvC,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EACL,kCAAkC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,GAAG;oBACrE,WAAW,GAAG,CAAC,MAAM,eAAe,QAAQ,CAAC,IAAI,GAAG;gBACtD,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;aAClC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,QAAW,EACX,GAAqB;IAErB,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,+BAA+B,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC5D,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,2BAA2B,CAClC,KAAqC;IAErC,OAAO;QACL,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,uBAAuB,CAAC;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAY,EAAE,GAAa;IACvD,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC/C,OAAO;QACL,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,uBAAuB,CAAC;YAC5B,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,uBAAuB;YAChC,SAAS;YACT,OAAO,EACL,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,GAAG,YAAY,KAAK;gBAC3D,CAAC,CAAC;oBACE,KAAK,EAAE;wBACL,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;qBACjB;iBACF;gBACH,CAAC,CAAC,SAAS;SAChB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAoB;IAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAkC,CAAC;IACxE,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,GAAG,CAAC;IACrC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC1D,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,IAAI,KAAK,EAAE;YAAE,OAAO,SAAS,CAAC;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAClC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,YAAY;AAanB,mGAAmG;AACnG,OAAwD,EACxD,UAAsB,EACtB,QAAW,EACX,WAA4B,EAC5B,KAAoC,EACpC,aAAoD,EAAE,EACtD,gBAEC;IAKD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE5C,OAAO,KAAK,EACV,GAAoB,EACpB,gBAAyC,EACzC,EAAE;QACF,IAAI,OAAwB,CAAC;QAC7B,IAAI,SAAkD,CAAC;QACvD,IAAI,UAAoD,CAAC;QACzD,IAAI,YAAwD,CAAC;QAC7D,IAAI,SAAkD,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,kBAAkB,GAAG,KAAK,EAC9B,KAAc,EACd,GAAS,EACT,IAAkC,EAClC,KAAoC,EACpC,OAAwC,EACxC,IAAkC,EAClC,aAEC,EAC8B,EAAE;YACjC,IAAI,YAAY,GAAG,KAAK,CAAC;YAEzB,MAAM,iBAAiB,GAAG,KAAK,EAAE,MAAe,EAAE,EAAE;gBAClD,MAAM,IAAI,GAAG;oBACX,GAAG,EAAE,MAAM;oBACX,GAAG;oBACH,GAAG;oBACH,QAAQ;oBACR,IAAI;oBACJ,KAAK;oBACL,OAAO;oBACP,IAAI;iBACL,CAAC;gBACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,IAAI,CAAC,aAAa;wBAAE,SAAS;oBAClC,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBACjC,CAAC;oBAAC,MAAM,CAAC;wBACP,+CAA+C;oBACjD,CAAC;gBACH,CAAC;gBACD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;oBAC1B,IAAI,CAAC;wBACH,MAAM,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBACpC,CAAC;oBAAC,MAAM,CAAC;wBACP,+CAA+C;oBACjD,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAEtC,IAAI,YAAY,YAAY,8BAA8B,EAAE,CAAC;gBAC3D,OAAO;oBACL,GAAG;oBACH,QAAQ,EAAE,2BAA2B,CAAC,YAAY,CAAC;oBACnD,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,WAAW;iBACnB,CAAC;YACJ,CAAC;YAED,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7B,OAAO;oBACL,GAAG;oBACH,QAAQ,EAAE;wBACR,MAAM,EAAE,YAAY,CAAC,MAAM;wBAC3B,IAAI,EAAE,mBAAmB,CAAC,YAAY,CAAC;qBACxC;oBACD,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,OAAO;iBACvC,CAAC;YACJ,CAAC;YAED,IAAI,YAAY,YAAY,qBAAqB,EAAE,CAAC;gBAClD,OAAO;oBACL,GAAG;oBACH,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC;oBACrE,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,WAAW;iBACnB,CAAC;YACJ,CAAC;YAED,IAAI,YAAY,YAAY,sBAAsB,EAAE,CAAC;gBACnD,OAAO;oBACL,GAAG;oBACH,QAAQ,EAAE,aAAa,CACrB,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,IAAI,EACjB,YAAY,CAAC,OAAO,EACpB,YAAY,CAAC,OAAO,CACrB;oBACD,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,WAAW;iBACnB,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,iBAAiB;oBAAE,SAAS;gBACtC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC;wBAC3C,GAAG,EAAE,YAAY;wBACjB,GAAG;wBACH,GAAG;wBACH,QAAQ;wBACR,IAAI;wBACJ,KAAK;wBACL,OAAO;wBACP,IAAI;qBACL,CAAC,CAAC;oBACH,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;wBAChD,OAAO;4BACL,GAAG;4BACH,QAAQ;4BACR,KAAK,EAAE,YAAY;4BACnB,KAAK,EAAE,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;yBAC/C,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACnB,YAAY,GAAG,SAAS,CAAC;oBACzB,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC;wBAC9C,GAAG,EAAE,YAAY;wBACjB,GAAG;wBACH,GAAG;wBACH,QAAQ;wBACR,IAAI;wBACJ,KAAK;wBACL,OAAO;wBACP,IAAI;qBACL,CAAC,CAAC;oBACH,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;wBAChD,OAAO;4BACL,GAAG;4BACH,QAAQ;4BACR,KAAK,EAAE,YAAY;4BACnB,KAAK,EAAE,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;yBAC/C,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACnB,YAAY,GAAG,SAAS,CAAC;oBACzB,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YAED,OAAO;gBACL,GAAG;gBACH,QAAQ,EAAE,oBAAoB,CAAC,YAAY,EAAE,GAAG,CAAC;gBACjD,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,WAAW;aACnB,CAAC;QACJ,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAE7B,IAAI,aAAqC,CAAC;YAC1C,IAAI,gBAAgB,EAAE,CAAC;gBACrB,aAAa,GAAG,gBAAgB,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClD,IACE,CAAC,KAAK;oBACN,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EAC1D,CAAC;oBACD,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;gBACtD,CAAC;gBACD,IAAI,CAAC;oBACH,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC5D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;wBACrC,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC;oBAClE,CAAC;oBACD,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YACD,MAAM,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEvD,MAAM,mBAAmB,GAAG,KAAK,EAC/B,aAAmC,EACnC,UAAmB,EACY,EAAE;gBACjC,IAAI,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1C,OAAO,aAAa,CAAC;gBACvB,CAAC;gBAED,IAAI,CAAC;oBACH,IAAI,WAAW,GAAG,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAC5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,IAAI,CAAC,UAAU;4BAAE,SAAS;wBAC/B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;4BACzC,GAAG;4BACH,GAAG,EAAE,aAAa,CAAC,GAAG;4BACtB,QAAQ;4BACR,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,UAAU;4BACjB,OAAO,EAAE,YAAY;4BACrB,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,WAAW;4BACrB,KAAK,EAAE,aAAa,CAAC,KAAK;yBAC3B,CAAC,CAAC;wBACH,IAAI,YAAY,EAAE,CAAC;4BACjB,WAAW,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;wBAChD,CAAC;oBACH,CAAC;oBACD,OAAO;wBACL,GAAG,aAAa;wBAChB,QAAQ,EAAE,WAAW;qBACtB,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACrC,KAAK,EACL,aAAa,CAAC,GAAG,EACjB,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;oBACF,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,OAAO,MAAM,CAAC;oBAChB,CAAC;oBACD,OAAO,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,MAAwC,CAAC;YAE7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,SAAS;oBAAE,SAAS;gBAC9B,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC;wBACtC,GAAG;wBACH,KAAK,EAAE,UAAU;wBACjB,QAAQ;wBACR,MAAM,EAAE,aAAa;qBACtB,CAAC,CAAC;oBACH,IAAI,UAAU,EAAE,CAAC;wBACf,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;wBACnD,MAAM,GAAG;4BACP,QAAQ;4BACR,KAAK,EAAE,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;yBAC/C,CAAC;wBACF,MAAM;oBACR,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,GAAG,MAAM,kBAAkB,CAC/B,KAAK,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;oBACF,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;oBAC3C,IAAI,UAAgB,CAAC;oBACrB,IAAI,CAAC;wBACH,UAAU,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;4BACvC,GAAG;4BACH,KAAK,EAAE,UAAU;4BACjB,QAAQ;yBACT,CAAC,CAAC;wBACH,OAAO,GAAG,UAAU,CAAC;oBACvB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,GAAG,MAAM,kBAAkB,CAC/B,KAAK,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;oBACJ,CAAC;oBAED,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,IAAI,CAAC;4BACH,MAAM,GAAG;gCACP,GAAG,EAAE,UAAU;gCACf,QAAQ,EAAE,qBAAqB,CAC7B,MAAM,WAAW,CAAC;oCAChB,GAAG;oCACH,GAAG,EAAE,UAAU;oCACf,QAAQ;oCACR,IAAI,EAAE,EAAiC;oCACvC,KAAK,EAAE,EAAkC;oCACzC,OAAO,EAAE,UAA4C;oCACrD,IAAI,EAAE,SAAwC;iCAC/C,CAAC,CACH;gCACD,KAAK,EAAE,WAAW;6BACnB,CAAC;wBACJ,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM,GAAG,MAAM,kBAAkB,CAC/B,KAAK,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAsC,EAAE,CAAC;oBACvD,KAAK,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;wBACnD,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAC5C,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC3D,CAAC;oBAED,0FAA0F;oBAC1F,IAAI,KAAK,GAAQ,QAAQ,CAAC;oBAC1B,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;wBACnB,IAAI,CAAC;4BACH,KAAK,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;wBAC3D,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM;gCACJ,KAAK,YAAY,qBAAqB;oCACpC,CAAC,CAAC;wCACE,QAAQ,EAAE,aAAa,CACrB,GAAG,EACH,kBAAkB,EAClB,0BAA0B,EAC1B,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CACzB;wCACD,KAAK,EAAE,WAAW;qCACnB;oCACH,CAAC,CAAC;wCACE,QAAQ,EAAE,aAAa,CACrB,GAAG,EACH,kBAAkB,EAClB,0BAA0B,EACzB,KAAe,CAAC,OAAO,CACzB;wCACD,KAAK,EAAE,WAAW;qCACnB,CAAC;wBACV,CAAC;oBACH,CAAC;oBAED,yFAAyF;oBACzF,IAAI,IAAI,GAAQ,aAAa,CAAC;oBAC9B,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;wBACnC,IAAI,CAAC;4BACH,IAAI,GAAG,MAAM,mBAAmB,CAC9B,QAAQ,CAAC,UAAU,EACnB,aAAa,CACd,CAAC;wBACJ,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM;gCACJ,KAAK,YAAY,qBAAqB;oCACpC,CAAC,CAAC;wCACE,QAAQ,EAAE,aAAa,CACrB,GAAG,EACH,kBAAkB,EAClB,yBAAyB,EACzB,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CACzB;wCACD,KAAK,EAAE,WAAW;qCACnB;oCACH,CAAC,CAAC;wCACE,QAAQ,EAAE,aAAa,CACrB,GAAG,EACH,kBAAkB,EAClB,yBAAyB,EACxB,KAAe,CAAC,OAAO,CACzB;wCACD,KAAK,EAAE,WAAW;qCACnB,CAAC;wBACV,CAAC;oBACH,CAAC;oBAED,yFAAyF;oBACzF,IAAI,OAAO,GAAQ,UAAU,CAAC;oBAC9B,MAAM,aAAa,GAAG,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACjE,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxC,IAAI,CAAC;4BACH,OAAO,GAAG,MAAM,kBAAkB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;wBAChE,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM;gCACJ,KAAK,YAAY,qBAAqB;oCACpC,CAAC,CAAC;wCACE,QAAQ,EAAE,aAAa,CACrB,GAAG,EACH,kBAAkB,EAClB,yBAAyB,EACzB,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CACzB;wCACD,KAAK,EAAE,WAAW;qCACnB;oCACH,CAAC,CAAC;wCACE,QAAQ,EAAE,aAAa,CACrB,GAAG,EACH,kBAAkB,EAClB,yBAAyB,EACxB,KAAe,CAAC,OAAO,CACzB;wCACD,KAAK,EAAE,WAAW;qCACnB,CAAC;wBACV,CAAC;oBACH,CAAC;oBAED,yFAAyF;oBACzF,IAAI,IAAS,CAAC;oBACd,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,IAAI,CAAC;4BACH,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;wBAC9B,CAAC;wBAAC,MAAM,CAAC;4BACP,MAAM,GAAG;gCACP,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,gBAAgB,CAAC;gCAC9D,KAAK,EAAE,WAAW;6BACnB,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAED,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;wBAC7B,IAAI,CAAC;4BACH,IAAI,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACxD,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,IACE,IAAI,KAAK,SAAS;gCAClB,KAAK,YAAY,qBAAqB,EACtC,CAAC;gCACD,MAAM,GAAG;oCACP,QAAQ,EAAE,aAAa,CACrB,GAAG,EACH,cAAc,EACd,0BAA0B,CAC3B;oCACD,KAAK,EAAE,WAAW;iCACnB,CAAC;4BACJ,CAAC;iCAAM,CAAC;gCACN,MAAM;oCACJ,KAAK,YAAY,qBAAqB;wCACpC,CAAC,CAAC;4CACE,QAAQ,EAAE,aAAa,CACrB,GAAG,EACH,kBAAkB,EAClB,sBAAsB,EACtB,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CACzB;4CACD,KAAK,EAAE,WAAW;yCACnB;wCACH,CAAC,CAAC;4CACE,QAAQ,EAAE,aAAa,CACrB,GAAG,EACH,kBAAkB,EAClB,sBAAsB,EACrB,KAAe,CAAC,OAAO,CACzB;4CACD,KAAK,EAAE,WAAW;yCACnB,CAAC;4BACV,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,SAAS,GAAG,IAAI,CAAC;wBACjB,UAAU,GAAG,KAAK,CAAC;wBACnB,YAAY,GAAG,OAAO,CAAC;wBACvB,SAAS,GAAG,IAAI,CAAC;wBAEjB,IAAI,UAAgB,CAAC;wBACrB,IAAI,CAAC;4BACH,UAAU,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;gCACvC,GAAG;gCACH,KAAK,EAAE,UAAU;gCACjB,QAAQ;6BACT,CAAC,CAAC;4BACH,OAAO,GAAG,UAAU,CAAC;wBACvB,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM,GAAG,MAAM,kBAAkB,CAC/B,KAAK,EACL,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;wBACJ,CAAC;wBAED,IAAI,CAAC,MAAM,EAAE,CAAC;4BACZ,MAAM,QAAQ,GAAwB;gCACpC,GAAG;gCACH,GAAG,EAAE,UAAU;gCACf,QAAQ;gCACR,IAAI;gCACJ,KAAK;gCACL,OAAO;gCACP,IAAI;6BACL,CAAC;4BAEF,IAAI,UAAU,GAAG,UAAU,CAAC;4BAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gCACzB,IAAI,CAAC,IAAI,CAAC,YAAY;oCAAE,SAAS;gCACjC,IAAI,CAAC;oCACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;wCACzC,GAAG;wCACH,GAAG,EAAE,UAAU;wCACf,QAAQ;wCACR,IAAI;wCACJ,KAAK;wCACL,OAAO;wCACP,IAAI;qCACL,CAAC,CAAC;oCACH,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;wCAC9B,MAAM,GAAG;4CACP,GAAG,EAAE,UAAU;4CACf,QAAQ,EAAE,UAAU;4CACpB,KAAK,EAAE,WAAW;yCACnB,CAAC;wCACF,MAAM;oCACR,CAAC;oCACD,IAAI,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;wCACnC,MAAM,GAAG;4CACP,GAAG,EAAE,UAAU;4CACf,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC;4CACvC,KAAK,EAAE,WAAW;yCACnB,CAAC;wCACF,MAAM;oCACR,CAAC;oCACD,IAAI,UAAU,EAAE,GAAG,KAAK,SAAS,EAAE,CAAC;wCAClC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC;oCAC9B,CAAC;oCACD,IAAI,UAAU,EAAE,QAAQ,EAAE,CAAC;wCACzB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;wCAC5D,MAAM,GAAG;4CACP,GAAG,EAAE,UAAU;4CACf,QAAQ;4CACR,KAAK,EAAE,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;yCAC/C,CAAC;wCACF,MAAM;oCACR,CAAC;gCACH,CAAC;gCAAC,OAAO,KAAK,EAAE,CAAC;oCACf,MAAM,GAAG,MAAM,kBAAkB,CAC/B,KAAK,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;oCACF,MAAM;gCACR,CAAC;4BACH,CAAC;4BAED,IAAI,CAAC,MAAM,EAAE,CAAC;gCACZ,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;oCAC9B,IAAI,CAAC;wCACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;4CACnC,GAAG;4CACH,GAAG,EAAE,UAAU;4CACf,QAAQ;4CACR,IAAI;4CACJ,KAAK;4CACL,OAAO;4CACP,IAAI;yCACL,CAAC,CAAC;wCACH,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;4CAC/C,UAAU,GAAG;gDACX,GAAI,UAAqB;gDACzB,GAAG,SAAS;6CACN,CAAC;wCACX,CAAC;oCACH,CAAC;oCAAC,OAAO,KAAK,EAAE,CAAC;wCACf,MAAM,GAAG,MAAM,kBAAkB,CAC/B,KAAK,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;wCACF,MAAM;oCACR,CAAC;gCACH,CAAC;4BACH,CAAC;4BAED,IAAI,CAAC,MAAM,EAAE,CAAC;gCACZ,IAAI,CAAC;oCACH,MAAM,GAAG;wCACP,GAAG,EAAE,UAAU;wCACf,QAAQ,EAAE,qBAAqB,CAC7B,MAAM,WAAW,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CACpD;qCACF,CAAC;gCACJ,CAAC;gCAAC,OAAO,KAAK,EAAE,CAAC;oCACf,MAAM,GAAG,MAAM,kBAAkB,CAC/B,KAAK,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,CACV,CAAC;gCACJ,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAEjD,IAAI,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3D,IAAI,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;YAC9B,IAAI,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/D,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC;oBACH,aAAa,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;gBAClE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,8BAA8B,EAAE,CAAC;wBACpD,MAAM,GAAG,MAAM,mBAAmB,CAChC;4BACE,GAAG,EAAE,MAAM,CAAC,GAAG;4BACf,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC;4BAC5C,KAAK;4BACL,KAAK,EAAE,WAAW;yBACnB,EACD,KAAK,CACN,CAAC;wBACF,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACvD,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;wBAC1B,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC7D,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClC,aAAa,GAAG,6BAA6B,CAC3C,aAAa,EACb,UAAU,CACX,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,SAAS;oBAAE,SAAS;gBAC9B,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,SAAS,CAAC;wBACnB,GAAG;wBACH,GAAG,EAAE,MAAM,CAAC,GAAG;wBACf,QAAQ;wBACR,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,UAAU;wBACjB,OAAO,EAAE,YAAY;wBACrB,IAAI,EAAE,SAAS;wBACf,QAAQ,EAAE,gBAAgB,CAAC,aAAa,CAAC;wBACzC,KAAK,EAAE,UAAU;wBACjB,UAAU;qBACX,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,8EAA8E;gBAChF,CAAC;YACH,CAAC;YAED,OAAO,aAAa,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACrC,KAAK,EACL,OAAO,EACP,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT;gBACE,KAAK,EAAE,WAAW;aACnB,CACF,CAAC;YACF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,OAAO,6BAA6B,CAClC,QAAQ,EACR,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CACzC,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAYhC,OAA2D;IAK3D,MAAM,QAAQ,GAAsB,EAAE,CAAC;IAEvC,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAKvC,CAAC;IACJ,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC;IAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;IAC/C,MAAM,eAAe,GAAoC,EAAE,CAAC;IAC5D,MAAM,UAAU,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,EAAgB,CAAC;IACtD,MAAM,KAAK,GAAG,CAAC,GAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAmC,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5E,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,MAAM,EAAE,IAAI,EAAE,CAAC;oBACnB,KAAK,EAAE,UAAU;iBAClB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,IAAI,cAAc,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEnD,MAAM,aAAa,GAAG,CACpB,QAAW,EACX,OAAwB,EACxB,aAAoD,EAAE,EAChD,EAAE;QACR,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CACb,wCAAwC,QAAQ,CAAC,MAAM,kEAAkE,CAC1H,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAC/C,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,cAAc,EAAE,CAAC;QACtE,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,oBAAoB,QAAQ,wEAAwE,CACrG,CAAC;QACJ,CAAC;QACD,MAAM,aAAa,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC9E,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,oBAAoB,QAAQ,mBAAmB,gBAAgB,mGAAmG,CACnK,CAAC;QACJ,CAAC;QACD,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAE9C,MAAM,YAAY,GAAG,YAAY,CAC/B,OAAO,EACP,UAAU,EACV,QAAQ,EACR,OAAO,EACP,KAAK,EACL,UAAU,CACX,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC;YACZ,QAAQ;YACR,QAAQ;YACR,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBAC1B,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC3D,OAAO,EAAE,OAAO,EAAE,KAAc,EAAE,CAAC;gBACrC,CAAC;gBACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,CAAC,KAAK;oBAAE,OAAO,EAAE,OAAO,EAAE,KAAc,EAAE,CAAC;gBAC/C,OAAO,EAAE,OAAO,EAAE,IAAa,EAAE,CAAC;YACpC,CAAC;SACF,CAAC,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CACpB,QAAW,EACX,cAAuB,EACD,EAAE,CAAC,CAAC;QAC1B,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE;YACb,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACvE,IAAI,cAAc;gBAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAChD,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACjD,aAAa,CACX,QAAQ,EACR,KAAK,CAAC,MAAuC,EAC7C,KAAK,CAAC,KAA0D,CACjE,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,IAAI,EAAE,CAAC;YACf,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,MAAM,IAAI,cAAc,CACtB,CAAC,KAAK,EAAE,YAAY,CAAC,EACrB,0DAA0D,CAC3D,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC;gBAClC,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,SAAS;YAC5B,MAAM,MAAM,CAAC,KAAK,CAAC;gBACjB,KAAK,EAAE,UAAU;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,IAAI,EAAE,CAAC;QACf,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,MAAM,IAAI,cAAc,CACtB,CAAC,KAAK,EAAE,YAAY,CAAC,EACrB,0DAA0D,CAC3D,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,EAAE,GAAoB,EAAE,EAAE;QACzC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE7B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAuB;YAC3C,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,EAAkC;YAChE,IAAI,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG;YACzB,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,MAAM,eAAe,GAAG,YAAY,CAClC,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,EACxD,KAAK,EACL,EAAE,EACF,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAC/B,CAAC;QAEF,OAAO,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,OAAO;QACL,GAAG;QACH,KAAK,EAAE,CAAC,YAAY,EAAE,EAAE;YACtB,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;YAC/C,OAAO,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,SAAS;QACT,IAAI;QACJ,KAAK,EAAE,UAAU;KAClB,CAAC;AACJ,CAAC;AAwBD,MAAM,UAAU,YAAY,CAG1B,MAAS;IACT,MAAM,SAAS,GAAoB,EAAE,CAAC;IAEtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACtC,SAAS,CAAC,IAAI,CAAC;oBACb,GAAG,UAAU;oBACb,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;iBAC7D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,SAA6C,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAGjC,MAAS;IACT,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1B,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CACQ,CAAC;AAC5C,CAAC;AA8BD,MAAM,UAAU,gBAAgB,CAI9B,KAID;IACC,MAAM,WAAW,GAAG,CAGlB,KAID,EAAgC,EAAE,CAAC,CAAC;QACnC,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAM,KAAsB;IAC/C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAChC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export * from "./contract-like";
2
- export * from "./http";
1
+ export * from "./contract-like.js";
2
+ export * from "./http.js";
3
3
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
@@ -1,3 +1,3 @@
1
- export * from "./contract-like";
2
- export * from "./http";
1
+ export * from "./contract-like.js";
2
+ export * from "./http.js";
3
3
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
@@ -0,0 +1,263 @@
1
+ import type { StandardSchemaV1 } from "@standard-schema/spec";
2
+ import type { HttpContractConfig, InferOutput, Success2xxKeys } from "../contracts/index.js";
3
+ import type { ContractLike, ResolveContract } from "./contract-like.js";
4
+ import type { AddedCtxFromHooks, Handler, InferBody, InferHeaders, InferPath, InferQuery, RouteHook } from "./http.js";
5
+ /**
6
+ * Structural shape of a finalized use case accepted by the route binder.
7
+ *
8
+ * This intentionally mirrors `UseCaseDef` from `@beignet/core/application`
9
+ * without importing it, so the server runtime stays decoupled from the
10
+ * application builder at runtime.
11
+ */
12
+ export type AnyUseCaseLike = {
13
+ /**
14
+ * Stable use-case name, used in binder diagnostics.
15
+ */
16
+ name: string;
17
+ /**
18
+ * Input schema declared with `.input(...)`.
19
+ */
20
+ inputSchema: StandardSchemaV1;
21
+ /**
22
+ * Output schema declared with `.output(...)`.
23
+ */
24
+ outputSchema: StandardSchemaV1;
25
+ /**
26
+ * Execute the use case with application context and typed input.
27
+ */
28
+ run: (args: never) => Promise<unknown>;
29
+ };
30
+ type UseCaseRouteCtx<UC> = UC extends {
31
+ run: (args: {
32
+ ctx: infer Ctx;
33
+ input: infer _Input;
34
+ }) => Promise<infer _Out>;
35
+ } ? Ctx : never;
36
+ /**
37
+ * Input type accepted by a bound use case's `run(...)`.
38
+ */
39
+ export type UseCaseRouteInput<UC> = UC extends {
40
+ run: (args: {
41
+ ctx: infer _Ctx;
42
+ input: infer Input;
43
+ }) => Promise<infer _Out>;
44
+ } ? Input : never;
45
+ type UseCaseRouteOutput<UC> = UC extends {
46
+ run: (args: {
47
+ ctx: infer _Ctx;
48
+ input: infer _Input;
49
+ }) => Promise<infer Out>;
50
+ } ? Out : never;
51
+ type ResponseBodyForSchema<S> = S extends null ? // biome-ignore lint/suspicious/noConfusingVoidType: void accepts z.void() use case outputs for null response schemas
52
+ void | undefined : S extends StandardSchemaV1 ? InferOutput<S> : unknown;
53
+ type ResponseForStatus<TResponses, TStatus extends number> = TStatus extends keyof TResponses ? TResponses[TStatus] : `${TStatus}` extends keyof TResponses ? TResponses[`${TStatus}`] : never;
54
+ type SuccessBodyFromKeys<TResponses, K> = [K] extends [never] ? unknown : K extends number ? ResponseBodyForSchema<ResponseForStatus<TResponses, K>> : unknown;
55
+ type UnionToIntersection<T> = (T extends unknown ? (value: T) => void : never) extends (value: infer I) => void ? I : never;
56
+ type BinderStatusFromKeys<K> = [K] extends [never] ? {
57
+ /**
58
+ * Success status for the use case result. Required because the contract
59
+ * does not declare exactly one 2xx response.
60
+ */
61
+ status: number;
62
+ } : [K] extends [UnionToIntersection<K>] ? {
63
+ /**
64
+ * Success status for the use case result. Optional because the
65
+ * contract declares exactly one 2xx response.
66
+ */
67
+ status?: K;
68
+ } : {
69
+ /**
70
+ * Success status for the use case result. Required because the
71
+ * contract declares multiple 2xx responses.
72
+ */
73
+ status: K;
74
+ };
75
+ /**
76
+ * `status` option for a binder route.
77
+ *
78
+ * Optional and typed to the sole declared 2xx status when the contract
79
+ * declares exactly one, required (typed to the union of declared 2xx
80
+ * statuses) otherwise.
81
+ */
82
+ export type BinderStatusOption<C extends HttpContractConfig> = BinderStatusFromKeys<Success2xxKeys<C["responses"]>>;
83
+ /**
84
+ * Parsed request parts passed to a binder route's `input` mapper.
85
+ */
86
+ export type UseCaseRouteInputParts<C extends HttpContractConfig> = {
87
+ /**
88
+ * Parsed path parameters.
89
+ */
90
+ path: InferPath<C>;
91
+ /**
92
+ * Parsed query parameters.
93
+ */
94
+ query: InferQuery<C>;
95
+ /**
96
+ * Parsed request headers.
97
+ */
98
+ headers: InferHeaders<C>;
99
+ /**
100
+ * Parsed request body.
101
+ */
102
+ body: InferBody<C>;
103
+ };
104
+ /**
105
+ * Constraint that checks a use case against the route that binds it.
106
+ *
107
+ * Produces a readable branded mismatch object on the `useCase` property when
108
+ * the use case requires a context the server does not provide, or when its
109
+ * output does not match the contract's declared success response schema.
110
+ */
111
+ export type UseCaseFitsRoute<Ctx, C extends HttpContractConfig, UC> = [
112
+ Ctx
113
+ ] extends [UseCaseRouteCtx<UC>] ? [UseCaseRouteOutput<UC>] extends [
114
+ SuccessBodyFromKeys<C["responses"], Success2xxKeys<C["responses"]>>
115
+ ] ? unknown : {
116
+ "~beignetError": "useCase output does not match the contract's success response schema";
117
+ } : {
118
+ "~beignetError": "useCase requires a context this server does not provide";
119
+ };
120
+ type UseCaseRouteShape<HandlerCtx, CLike extends ContractLike, C extends HttpContractConfig, UC extends AnyUseCaseLike, Hooks> = {
121
+ /**
122
+ * Contract builder or plain contract config for this route.
123
+ */
124
+ contract: CLike;
125
+ /**
126
+ * Route-scoped hooks that run after group hooks and before the use case.
127
+ */
128
+ hooks?: Hooks;
129
+ /**
130
+ * Use case bound directly to the contract.
131
+ */
132
+ useCase: UC & UseCaseFitsRoute<HandlerCtx, C, UC>;
133
+ /**
134
+ * Map parsed request parts to the use case input.
135
+ *
136
+ * Defaults to `defaultBinderInput`, which merges query, body, and path
137
+ * objects (path wins collisions) and never merges headers.
138
+ */
139
+ input?: (parts: UseCaseRouteInputParts<C>) => UseCaseRouteInput<UC>;
140
+ handle?: never;
141
+ } & BinderStatusOption<C>;
142
+ /**
143
+ * Route registration that binds a contract directly to a use case.
144
+ *
145
+ * The server synthesizes the handler: it maps parsed request parts to the use
146
+ * case input, runs the use case, and returns its output as the success
147
+ * response body. Use a full `handle` route for headers, streaming, native
148
+ * `Response` values, or multi-status handling.
149
+ */
150
+ export type UseCaseRouteDef<Ctx, CLike extends ContractLike, UC extends AnyUseCaseLike, Hooks extends readonly RouteHook<Ctx, object>[] = readonly []> = UseCaseRouteShape<Ctx & AddedCtxFromHooks<Hooks>, CLike, ResolveContract<CLike>, UC, Hooks>;
151
+ /**
152
+ * Structural check that a use case accepts the context this route provides.
153
+ *
154
+ * Enforced through `run` parameter contravariance so it applies even where
155
+ * contract types are erased, such as `defineRouteGroup<Ctx>({ ... })`.
156
+ */
157
+ export type UseCaseAcceptsCtx<Ctx> = {
158
+ run: (args: {
159
+ ctx: Ctx;
160
+ input: never;
161
+ }) => Promise<unknown>;
162
+ };
163
+ /**
164
+ * Loosely typed binder route used at collection boundaries where contract and
165
+ * use case types are erased. The use case's context requirement is still
166
+ * checked against the server context.
167
+ */
168
+ export type AnyUseCaseRouteDef<Ctx, CLike extends ContractLike = ContractLike, Hooks extends readonly RouteHook<Ctx, object>[] = readonly RouteHook<Ctx, object>[]> = {
169
+ contract: CLike;
170
+ hooks?: Hooks;
171
+ useCase: AnyUseCaseLike & UseCaseAcceptsCtx<Ctx & AddedCtxFromHooks<Hooks>>;
172
+ input?: (parts: any) => unknown;
173
+ status?: number;
174
+ handle?: never;
175
+ };
176
+ type HooksOf<E> = E extends {
177
+ hooks: infer H extends readonly unknown[];
178
+ } ? H : readonly [];
179
+ /**
180
+ * Per-element binder validation applied where route tuples are inferred, such
181
+ * as `defineRouteGroup<Ctx>()({ ... })`, so contract/use-case mismatches are
182
+ * reported on the individual route literal.
183
+ */
184
+ export type ValidatedRouteInput<Ctx, E> = E extends {
185
+ contract: infer CL extends ContractLike;
186
+ useCase: infer UC extends AnyUseCaseLike;
187
+ } ? ResolveContract<CL> extends infer C extends HttpContractConfig ? {
188
+ contract: CL;
189
+ hooks?: HooksOf<E>;
190
+ useCase: UC & UseCaseFitsRoute<Ctx & AddedCtxFromHooks<HooksOf<E>>, C, UC>;
191
+ input?: (parts: UseCaseRouteInputParts<C>) => UseCaseRouteInput<UC>;
192
+ handle?: never;
193
+ } & BinderStatusOption<C> : unknown : unknown;
194
+ /**
195
+ * Element-wise binder validation for a route input list.
196
+ */
197
+ export type ValidatedRouteInputs<Ctx, R extends readonly unknown[]> = {
198
+ [K in keyof R]: ValidatedRouteInput<Ctx, R[K]>;
199
+ };
200
+ /**
201
+ * Trusted run key shared with `@beignet/core/application` via the global
202
+ * symbol registry, so the binder never imports the application builder at
203
+ * runtime.
204
+ */
205
+ declare const USE_CASE_TRUSTED_RUN_KEY: unique symbol;
206
+ type RuntimeUseCase = AnyUseCaseLike & {
207
+ run: (args: {
208
+ ctx: unknown;
209
+ input: unknown;
210
+ }) => Promise<unknown>;
211
+ [USE_CASE_TRUSTED_RUN_KEY]?: (args: {
212
+ ctx: unknown;
213
+ input: unknown;
214
+ }) => Promise<unknown>;
215
+ };
216
+ /**
217
+ * Loosely typed binder route definition consumed by route registration.
218
+ */
219
+ export type RuntimeUseCaseRouteDef = {
220
+ useCase: RuntimeUseCase;
221
+ input?: (parts: {
222
+ path: unknown;
223
+ query: unknown;
224
+ headers: unknown;
225
+ body: unknown;
226
+ }) => unknown;
227
+ status?: number;
228
+ };
229
+ /**
230
+ * Default input mapping for binder routes.
231
+ *
232
+ * Merges parsed query, body, and path objects into one input object. Path
233
+ * keys win all collisions, then body keys, then query keys. Headers are never
234
+ * merged: parsed headers include every raw request header, so merging them
235
+ * would poison the use case input. Non-object bodies (text, arrays, scalars)
236
+ * are excluded. Routes that need headers or non-object bodies declare an
237
+ * explicit `input` mapper.
238
+ */
239
+ export declare function defaultBinderInput(parts: {
240
+ path: unknown;
241
+ query: unknown;
242
+ body: unknown;
243
+ }): Record<string, unknown>;
244
+ /**
245
+ * Whether a route definition is a binder route.
246
+ */
247
+ export declare function isUseCaseRouteDef(route: {
248
+ handle?: unknown;
249
+ useCase?: unknown;
250
+ }): route is RuntimeUseCaseRouteDef;
251
+ /**
252
+ * Synthesize the route handler for a binder route at registration time.
253
+ *
254
+ * Resolves the success status, decides whether the validated request parts can
255
+ * skip the use case's input parse, and computes whether server-side response
256
+ * validation is redundant for the success status.
257
+ */
258
+ export declare function createUseCaseRouteHandler<Ctx, C extends HttpContractConfig>(contract: C, def: RuntimeUseCaseRouteDef): {
259
+ handler: Handler<Ctx, C>;
260
+ responseValidationExemptStatus?: number;
261
+ };
262
+ export {};
263
+ //# sourceMappingURL=use-case-route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-case-route.d.ts","sourceRoot":"","sources":["../../src/server/use-case-route.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import { inferSoleSuccessStatus } from "../contracts/index.js";
2
+ /**
3
+ * Trusted run key shared with `@beignet/core/application` via the global
4
+ * symbol registry, so the binder never imports the application builder at
5
+ * runtime.
6
+ */
7
+ const USE_CASE_TRUSTED_RUN_KEY = Symbol.for("beignet.useCase.trustedRun");
8
+ function isPlainObject(value) {
9
+ return typeof value === "object" && value !== null && !Array.isArray(value);
10
+ }
11
+ /**
12
+ * Default input mapping for binder routes.
13
+ *
14
+ * Merges parsed query, body, and path objects into one input object. Path
15
+ * keys win all collisions, then body keys, then query keys. Headers are never
16
+ * merged: parsed headers include every raw request header, so merging them
17
+ * would poison the use case input. Non-object bodies (text, arrays, scalars)
18
+ * are excluded. Routes that need headers or non-object bodies declare an
19
+ * explicit `input` mapper.
20
+ */
21
+ export function defaultBinderInput(parts) {
22
+ return {
23
+ ...(isPlainObject(parts.query) ? parts.query : {}),
24
+ ...(isPlainObject(parts.body) ? parts.body : {}),
25
+ ...(isPlainObject(parts.path) ? parts.path : {}),
26
+ };
27
+ }
28
+ /**
29
+ * Whether a route definition is a binder route.
30
+ */
31
+ export function isUseCaseRouteDef(route) {
32
+ return route.useCase !== undefined && route.useCase !== null;
33
+ }
34
+ function computeTrustedInput(contract, def) {
35
+ if (def.input)
36
+ return false;
37
+ const sources = [contract.pathParams, contract.query, contract.body].filter((schema) => schema !== null && schema !== undefined);
38
+ return sources.length === 1 && sources[0] === def.useCase.inputSchema;
39
+ }
40
+ function computeResponseExemption(contract, def, status) {
41
+ return contract.responses[status] === def.useCase.outputSchema
42
+ ? status
43
+ : undefined;
44
+ }
45
+ /**
46
+ * Synthesize the route handler for a binder route at registration time.
47
+ *
48
+ * Resolves the success status, decides whether the validated request parts can
49
+ * skip the use case's input parse, and computes whether server-side response
50
+ * validation is redundant for the success status.
51
+ */
52
+ export function createUseCaseRouteHandler(contract, def) {
53
+ const status = def.status ?? inferSoleSuccessStatus(contract);
54
+ if (status === undefined) {
55
+ throw new Error(`Route binder for contract "${contract.name}" cannot infer a success ` +
56
+ `status: the contract declares ${Object.keys(contract.responses).length === 0
57
+ ? "no responses"
58
+ : "zero or multiple 2xx responses"}. Declare exactly one 2xx response or pass an explicit status.`);
59
+ }
60
+ const mapInput = def.input ?? defaultBinderInput;
61
+ const trustedRun = computeTrustedInput(contract, def)
62
+ ? def.useCase[USE_CASE_TRUSTED_RUN_KEY]
63
+ : undefined;
64
+ const run = trustedRun ?? def.useCase.run;
65
+ const handler = async ({ ctx, path, query, headers, body, }) => ({
66
+ status,
67
+ body: await run.call(def.useCase, {
68
+ ctx,
69
+ input: mapInput({ path, query, headers, body }),
70
+ }),
71
+ });
72
+ return {
73
+ handler,
74
+ responseValidationExemptStatus: computeResponseExemption(contract, def, status),
75
+ };
76
+ }
77
+ //# sourceMappingURL=use-case-route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-case-route.js","sourceRoot":"","sources":["../../src/server/use-case-route.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Static Beignet lint marker for modules that must stay out of client bundles.
3
+ *
4
+ * Host frameworks may provide their own runtime-only enforcement. This marker
5
+ * is intentionally a no-op so Beignet can enforce intent through `beignet lint`.
6
+ */
7
+ export declare const beignetServerOnly = true;
8
+ //# sourceMappingURL=server-only.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-only.d.ts","sourceRoot":"","sources":["../src/server-only.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Static Beignet lint marker for modules that must stay out of client bundles.
3
+ *
4
+ * Host frameworks may provide their own runtime-only enforcement. This marker
5
+ * is intentionally a no-op so Beignet can enforce intent through `beignet lint`.
6
+ */
7
+ export const beignetServerOnly = true;
8
+ //# sourceMappingURL=server-only.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-only.js","sourceRoot":"","sources":["../src/server-only.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC"}