theokit 0.48.13 → 0.50.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 (327) hide show
  1. package/README.md +1 -0
  2. package/dist/{actions-virtual-module-YQXRSSMW.js → actions-virtual-module-5WBVSDOM.js} +22 -12
  3. package/dist/actions-virtual-module-5WBVSDOM.js.map +1 -0
  4. package/dist/{actions-virtual-module-LB4NGONI.js → actions-virtual-module-ZYLMNW6K.js} +13 -8
  5. package/dist/{actions-virtual-module-LB4NGONI.js.map → actions-virtual-module-ZYLMNW6K.js.map} +1 -1
  6. package/dist/adapters/agent-mount.d.ts +127 -0
  7. package/dist/adapters/agent-mount.js +24 -0
  8. package/dist/adapters/security-headers.d.ts +132 -0
  9. package/dist/adapters/security-headers.js +64 -0
  10. package/dist/adapters/security-headers.js.map +1 -0
  11. package/dist/adapters/web-shim.d.ts +100 -13
  12. package/dist/adapters/web-shim.js +158 -54
  13. package/dist/adapters/web-shim.js.map +1 -1
  14. package/dist/agent-GKUEL6OH.js +15 -0
  15. package/dist/agent-scan-BZa-pagG.d.ts +16 -0
  16. package/dist/{app-typed-client-GHO3EWZK.js → app-typed-client-4LAIEGFX.js} +23 -13
  17. package/dist/app-typed-client-4LAIEGFX.js.map +1 -0
  18. package/dist/{app-typed-client-G3J5G7E5.js → app-typed-client-DQM3Y6YY.js} +14 -9
  19. package/dist/app-typed-client-DQM3Y6YY.js.map +1 -0
  20. package/dist/aws-lambda-VKMYUMP2.js +261 -0
  21. package/dist/aws-lambda-VKMYUMP2.js.map +1 -0
  22. package/dist/{build-WU6AKKIB.js → build-FLX6VF7Q.js} +71 -26
  23. package/dist/build-FLX6VF7Q.js.map +1 -0
  24. package/dist/{bun-33RD6K7O.js → bun-L7PP6ID5.js} +105 -13
  25. package/dist/bun-L7PP6ID5.js.map +1 -0
  26. package/dist/{check-45NKUVSQ.js → check-GIPZBFTX.js} +2 -2
  27. package/dist/{chunk-KD5G3YXI.js → chunk-2AMLGJJA.js} +35 -9
  28. package/dist/chunk-2AMLGJJA.js.map +1 -0
  29. package/dist/chunk-3PBAN2YE.js +146 -0
  30. package/dist/chunk-3PBAN2YE.js.map +1 -0
  31. package/dist/{chunk-HBU2GIMZ.js → chunk-3QPVEJ7D.js} +15 -9
  32. package/dist/chunk-3QPVEJ7D.js.map +1 -0
  33. package/dist/{chunk-47CINLWF.js → chunk-44J2ANQC.js} +2 -2
  34. package/dist/{chunk-IEES3CHD.js → chunk-47MM2JUK.js} +8 -2
  35. package/dist/chunk-47MM2JUK.js.map +1 -0
  36. package/dist/chunk-4X6H2BXP.js +108 -0
  37. package/dist/chunk-4X6H2BXP.js.map +1 -0
  38. package/dist/{chunk-A7JBF5FO.js → chunk-5K4TDLRG.js} +8 -5
  39. package/dist/chunk-5K4TDLRG.js.map +1 -0
  40. package/dist/chunk-5YPXXSYY.js +181 -0
  41. package/dist/chunk-5YPXXSYY.js.map +1 -0
  42. package/dist/{chunk-YGAXV5HR.js → chunk-6J4JWHDJ.js} +191 -112
  43. package/dist/chunk-6J4JWHDJ.js.map +1 -0
  44. package/dist/chunk-72DMJBXI.js +424 -0
  45. package/dist/chunk-72DMJBXI.js.map +1 -0
  46. package/dist/chunk-7PM6K5EV.js +513 -0
  47. package/dist/chunk-7PM6K5EV.js.map +1 -0
  48. package/dist/{chunk-MTEWLGVY.js → chunk-BPYMC7SU.js} +4 -48
  49. package/dist/chunk-BPYMC7SU.js.map +1 -0
  50. package/dist/chunk-BU6RJPPJ.js +421 -0
  51. package/dist/chunk-BU6RJPPJ.js.map +1 -0
  52. package/dist/{chunk-FB2HBNIC.js → chunk-BX6EUYHU.js} +6 -2
  53. package/dist/chunk-BX6EUYHU.js.map +1 -0
  54. package/dist/{chunk-BIVCP6X5.js → chunk-C62IZEJI.js} +465 -202
  55. package/dist/chunk-C62IZEJI.js.map +1 -0
  56. package/dist/chunk-D4VP2QPR.js +16 -0
  57. package/dist/chunk-D4VP2QPR.js.map +1 -0
  58. package/dist/{chunk-J5MXCGKA.js → chunk-DHAD2O3S.js} +6 -6
  59. package/dist/chunk-DHAD2O3S.js.map +1 -0
  60. package/dist/chunk-E43VJ3E5.js +188 -0
  61. package/dist/chunk-E43VJ3E5.js.map +1 -0
  62. package/dist/chunk-EVZKNA2W.js +110 -0
  63. package/dist/chunk-EVZKNA2W.js.map +1 -0
  64. package/dist/chunk-FD4ZDTQ6.js +181 -0
  65. package/dist/chunk-FD4ZDTQ6.js.map +1 -0
  66. package/dist/chunk-FDOOBTXJ.js +17 -0
  67. package/dist/chunk-FDOOBTXJ.js.map +1 -0
  68. package/dist/chunk-FH3SQR6P.js +275 -0
  69. package/dist/chunk-FH3SQR6P.js.map +1 -0
  70. package/dist/chunk-HJHGTFEJ.js +23 -0
  71. package/dist/chunk-HJHGTFEJ.js.map +1 -0
  72. package/dist/{chunk-LXAESF4Y.js → chunk-HK4AZBKX.js} +7 -4
  73. package/dist/chunk-HK4AZBKX.js.map +1 -0
  74. package/dist/{chunk-T5C46IIU.js → chunk-HWBRS4DZ.js} +28 -269
  75. package/dist/chunk-HWBRS4DZ.js.map +1 -0
  76. package/dist/chunk-IRQGAC4L.js +52 -0
  77. package/dist/chunk-IRQGAC4L.js.map +1 -0
  78. package/dist/{chunk-FNTLKHZ7.js → chunk-JDN5SAAD.js} +7 -4
  79. package/dist/chunk-JDN5SAAD.js.map +1 -0
  80. package/dist/{chunk-GXEX4CBH.js → chunk-JIKNR5LX.js} +673 -484
  81. package/dist/chunk-JIKNR5LX.js.map +1 -0
  82. package/dist/{chunk-GRI4XHBJ.js → chunk-JWRCZIA4.js} +266 -108
  83. package/dist/chunk-JWRCZIA4.js.map +1 -0
  84. package/dist/{chunk-E576KYYT.js → chunk-KI4DOTN4.js} +25 -2
  85. package/dist/chunk-KI4DOTN4.js.map +1 -0
  86. package/dist/{chunk-ZB7D62OA.js → chunk-KUZVRJ7M.js} +3 -3
  87. package/dist/chunk-L4VFNFDL.js +248 -0
  88. package/dist/chunk-L4VFNFDL.js.map +1 -0
  89. package/dist/chunk-M2WC5MF7.js +127 -0
  90. package/dist/chunk-M2WC5MF7.js.map +1 -0
  91. package/dist/{chunk-O3JIAU3V.js → chunk-MCTC6HSE.js} +157 -103
  92. package/dist/chunk-MCTC6HSE.js.map +1 -0
  93. package/dist/{chunk-PXFXSFJL.js → chunk-NZ5JU6D3.js} +9 -9
  94. package/dist/{chunk-YRBR424R.js → chunk-OAUI273L.js} +338 -165
  95. package/dist/chunk-OAUI273L.js.map +1 -0
  96. package/dist/chunk-OGLS76RN.js +43 -0
  97. package/dist/chunk-OGLS76RN.js.map +1 -0
  98. package/dist/{chunk-7LVM22VG.js → chunk-OQCRCXCP.js} +6 -6
  99. package/dist/chunk-OQCRCXCP.js.map +1 -0
  100. package/dist/{chunk-OLGPYOLO.js → chunk-P6OS7652.js} +5 -2
  101. package/dist/chunk-P6OS7652.js.map +1 -0
  102. package/dist/chunk-Q5L5EGWZ.js +26 -0
  103. package/dist/chunk-Q5L5EGWZ.js.map +1 -0
  104. package/dist/{chunk-S433N3CT.js → chunk-QTHVHNJJ.js} +6 -36
  105. package/dist/chunk-QTHVHNJJ.js.map +1 -0
  106. package/dist/chunk-RPET332G.js +84 -0
  107. package/dist/chunk-RPET332G.js.map +1 -0
  108. package/dist/{chunk-646CA6RV.js → chunk-RQW5YMH7.js} +12 -4
  109. package/dist/chunk-RQW5YMH7.js.map +1 -0
  110. package/dist/{chunk-XALU5LCU.js → chunk-RWNYIU6A.js} +550 -146
  111. package/dist/chunk-RWNYIU6A.js.map +1 -0
  112. package/dist/chunk-SL7YUHPV.js +111 -0
  113. package/dist/chunk-SL7YUHPV.js.map +1 -0
  114. package/dist/chunk-U5PWXS3J.js +39 -0
  115. package/dist/chunk-U5PWXS3J.js.map +1 -0
  116. package/dist/chunk-ULDCFL2O.js +273 -0
  117. package/dist/chunk-ULDCFL2O.js.map +1 -0
  118. package/dist/{chunk-RWNSW4FM.js → chunk-UMNXCU3K.js} +12 -6
  119. package/dist/{chunk-RWNSW4FM.js.map → chunk-UMNXCU3K.js.map} +1 -1
  120. package/dist/chunk-VI7ZANB3.js +193 -0
  121. package/dist/chunk-VI7ZANB3.js.map +1 -0
  122. package/dist/chunk-VQPHPQ5L.js +14 -0
  123. package/dist/chunk-VQPHPQ5L.js.map +1 -0
  124. package/dist/chunk-WNJTJRM6.js +147 -0
  125. package/dist/chunk-WNJTJRM6.js.map +1 -0
  126. package/dist/chunk-WOBSEO75.js +790 -0
  127. package/dist/chunk-WOBSEO75.js.map +1 -0
  128. package/dist/{chunk-BMHS4WAN.js → chunk-XS7EX55U.js} +156 -42
  129. package/dist/chunk-XS7EX55U.js.map +1 -0
  130. package/dist/chunk-YN4W7LCX.js +31 -0
  131. package/dist/chunk-YN4W7LCX.js.map +1 -0
  132. package/dist/chunk-YSJOZEI6.js +1 -0
  133. package/dist/{chunk-JA2ZAT5Q.js → chunk-Z4PJMZLM.js} +2 -2
  134. package/dist/chunk-Z4PJMZLM.js.map +1 -0
  135. package/dist/{chunk-7VPQHEAJ.js → chunk-ZNZISJDZ.js} +6 -2
  136. package/dist/chunk-ZNZISJDZ.js.map +1 -0
  137. package/dist/chunk-ZWN3AODA.js +11 -0
  138. package/dist/chunk-ZWN3AODA.js.map +1 -0
  139. package/dist/cli/index.js +25 -10
  140. package/dist/cli/index.js.map +1 -1
  141. package/dist/client/core.d.ts +1 -1
  142. package/dist/client/core.js +2 -0
  143. package/dist/client/core.js.map +1 -1
  144. package/dist/client/index.d.ts +44 -10
  145. package/dist/client/index.js +35 -0
  146. package/dist/client/index.js.map +1 -1
  147. package/dist/cloudflare-SIG42OIW.js +335 -0
  148. package/dist/cloudflare-SIG42OIW.js.map +1 -0
  149. package/dist/config-support-WQHQIJTA.js +104 -0
  150. package/dist/config-support-WQHQIJTA.js.map +1 -0
  151. package/dist/{csrf-BBrEZSBW.d.ts → csrf-Dgot9qSM.d.ts} +1 -1
  152. package/dist/deno-deploy-LQAYOOPW.js +196 -0
  153. package/dist/deno-deploy-LQAYOOPW.js.map +1 -0
  154. package/dist/{dev-MUWJAZRD.js → dev-ANDSEVLB.js} +28 -18
  155. package/dist/dev-ANDSEVLB.js.map +1 -0
  156. package/dist/{dev-emit-GWD6IXV7.js → dev-emit-BFNMDCPB.js} +5 -5
  157. package/dist/{dev-emit-NBT6JD7R.js → dev-emit-MVAJAFGX.js} +5 -3
  158. package/dist/dev-emit-MVAJAFGX.js.map +1 -0
  159. package/dist/engine-singleton-X4R7AZBJ.js +315 -0
  160. package/dist/engine-singleton-X4R7AZBJ.js.map +1 -0
  161. package/dist/{generate-Y3GWM57K.js → generate-EN6EDITF.js} +43 -4
  162. package/dist/generate-EN6EDITF.js.map +1 -0
  163. package/dist/index-CzxtQcnp.d.ts +1058 -0
  164. package/dist/index.d.ts +4 -0
  165. package/dist/index.js +24 -13
  166. package/dist/index.js.map +1 -1
  167. package/dist/{info-XW7HGUPH.js → info-Y55RWS42.js} +8 -6
  168. package/dist/{info-XW7HGUPH.js.map → info-Y55RWS42.js.map} +1 -1
  169. package/dist/{internal-api-V5L65YSJ.js → internal-api-IP35YU3G.js} +22 -12
  170. package/dist/{internal-api-WEOSTMSN.js → internal-api-OPU456AT.js} +30 -16
  171. package/dist/internal-api-OPU456AT.js.map +1 -0
  172. package/dist/load-config-4ATXQUN3.js +16 -0
  173. package/dist/match-DmGgxjIU.d.ts +44 -0
  174. package/dist/{mcp-ULUFJNSZ.js → mcp-5LLNAGKA.js} +7 -7
  175. package/dist/netlify-C2IRCZKI.js +245 -0
  176. package/dist/netlify-C2IRCZKI.js.map +1 -0
  177. package/dist/node-OSVPYQ3D.js +10 -0
  178. package/dist/nonce-BXt7Qu_C.d.ts +31 -0
  179. package/dist/observability-bootstrap-MZMSOE66.js +15 -0
  180. package/dist/{openapi-HZXR335W.js → openapi-VFPEZSRI.js} +13 -11
  181. package/dist/{openapi-HZXR335W.js.map → openapi-VFPEZSRI.js.map} +1 -1
  182. package/dist/{plugin-runner-BFEcgtmJ.d.ts → plugin-runner-BVMOSxvb.d.ts} +1 -1
  183. package/dist/{plugin-types-D69-lJZ9.d.ts → plugin-types-BUVfUQ0V.d.ts} +13 -1
  184. package/dist/preview-GHPT2EQ5.js +23 -0
  185. package/dist/preview-GHPT2EQ5.js.map +1 -0
  186. package/dist/provider-resolver-Dx6QuWrw.d.ts +128 -0
  187. package/dist/registry-KBZDCFVQ.js +23 -0
  188. package/dist/route-config-Cm_ZMA1C.d.ts +72 -0
  189. package/dist/route-policy-BxOycCDq.d.ts +65 -0
  190. package/dist/router/element-scroll-restoration.d.ts +28 -0
  191. package/dist/router/element-scroll-restoration.js +96 -0
  192. package/dist/router/element-scroll-restoration.js.map +1 -0
  193. package/dist/{routes-OLNQX7CT.js → routes-BPLU3ISV.js} +11 -9
  194. package/dist/{routes-OLNQX7CT.js.map → routes-BPLU3ISV.js.map} +1 -1
  195. package/dist/{scan-7MJC6PYU.js → scan-YJEE4KQK.js} +2 -2
  196. package/dist/{schema-ZO3OSWVG.js → schema-SOAD43RQ.js} +7 -5
  197. package/dist/schemas-4AXHQMV3.js +25 -0
  198. package/dist/schemas-4AXHQMV3.js.map +1 -0
  199. package/dist/security-headers-Ccj7ncNx.d.ts +129 -0
  200. package/dist/server/agent/index.d.ts +2 -90
  201. package/dist/server/agent/index.js +1 -1
  202. package/dist/server/auth/index.d.ts +2 -21
  203. package/dist/server/auth/index.js +3 -2
  204. package/dist/server/cron/index.js +4 -3
  205. package/dist/server/define/index.d.ts +51 -57
  206. package/dist/server/define/index.js +10 -1
  207. package/dist/server/http/index.d.ts +7 -5
  208. package/dist/server/http/index.js +56 -12
  209. package/dist/server/index.d.ts +47 -439
  210. package/dist/server/index.js +119 -201
  211. package/dist/server/index.js.map +1 -1
  212. package/dist/server/jobs/index.js +4 -3
  213. package/dist/server/observability/index.d.ts +109 -35
  214. package/dist/server/observability/index.js +10 -7
  215. package/dist/server/plugins/index.d.ts +3 -3
  216. package/dist/server/scan/index.d.ts +47 -12
  217. package/dist/server/scan/index.js +13 -4
  218. package/dist/server/security/index.d.ts +61 -103
  219. package/dist/server/security/index.js +15 -6
  220. package/dist/server/webhook/index.d.ts +90 -3
  221. package/dist/server/webhook/index.js +12 -2
  222. package/dist/server-boundary-6B4ZQUY7.js +148 -0
  223. package/dist/server-boundary-6B4ZQUY7.js.map +1 -0
  224. package/dist/server-boundary-7VZQRPPX.js +133 -0
  225. package/dist/server-boundary-7VZQRPPX.js.map +1 -0
  226. package/dist/{services-typed-client-PSAGRPFF.js → services-typed-client-XGT5SUUN.js} +2 -2
  227. package/dist/{start-KR2JJR7K.js → start-UZDMOT7I.js} +342 -111
  228. package/dist/start-UZDMOT7I.js.map +1 -0
  229. package/dist/{static-M2W4HUWS.js → static-SVDWIOXJ.js} +24 -13
  230. package/dist/static-SVDWIOXJ.js.map +1 -0
  231. package/dist/{theo-cloud-XAHWOUFK.js → theo-cloud-3ET4G5T6.js} +9 -2
  232. package/dist/theo-cloud-3ET4G5T6.js.map +1 -0
  233. package/dist/vercel-BMCQKCWE.js +277 -0
  234. package/dist/vercel-BMCQKCWE.js.map +1 -0
  235. package/dist/vite-plugin/index.js +24 -13
  236. package/dist/vite-plugin-VKCT2LF2.js +42 -0
  237. package/dist/vite-plugin-VKCT2LF2.js.map +1 -0
  238. package/package.json +19 -6
  239. package/dist/actions-virtual-module-YQXRSSMW.js.map +0 -1
  240. package/dist/agent-7JJW3TPB.js +0 -15
  241. package/dist/app-typed-client-G3J5G7E5.js.map +0 -1
  242. package/dist/app-typed-client-GHO3EWZK.js.map +0 -1
  243. package/dist/aws-lambda-CYNDGU5O.js +0 -172
  244. package/dist/aws-lambda-CYNDGU5O.js.map +0 -1
  245. package/dist/build-WU6AKKIB.js.map +0 -1
  246. package/dist/bun-33RD6K7O.js.map +0 -1
  247. package/dist/chunk-646CA6RV.js.map +0 -1
  248. package/dist/chunk-6E5WKMDS.js +0 -67
  249. package/dist/chunk-6E5WKMDS.js.map +0 -1
  250. package/dist/chunk-6GGWS7J3.js +0 -91
  251. package/dist/chunk-6GGWS7J3.js.map +0 -1
  252. package/dist/chunk-7LVM22VG.js.map +0 -1
  253. package/dist/chunk-7VPQHEAJ.js.map +0 -1
  254. package/dist/chunk-A7JBF5FO.js.map +0 -1
  255. package/dist/chunk-AM3QABW5.js +0 -161
  256. package/dist/chunk-AM3QABW5.js.map +0 -1
  257. package/dist/chunk-BIVCP6X5.js.map +0 -1
  258. package/dist/chunk-BMHS4WAN.js.map +0 -1
  259. package/dist/chunk-E576KYYT.js.map +0 -1
  260. package/dist/chunk-FB2HBNIC.js.map +0 -1
  261. package/dist/chunk-FNTLKHZ7.js.map +0 -1
  262. package/dist/chunk-GRI4XHBJ.js.map +0 -1
  263. package/dist/chunk-GVW5EKEU.js +0 -422
  264. package/dist/chunk-GVW5EKEU.js.map +0 -1
  265. package/dist/chunk-GXEX4CBH.js.map +0 -1
  266. package/dist/chunk-HBU2GIMZ.js.map +0 -1
  267. package/dist/chunk-IEES3CHD.js.map +0 -1
  268. package/dist/chunk-J5MXCGKA.js.map +0 -1
  269. package/dist/chunk-JA2ZAT5Q.js.map +0 -1
  270. package/dist/chunk-KD5G3YXI.js.map +0 -1
  271. package/dist/chunk-LNVMHQ2Z.js +0 -54
  272. package/dist/chunk-LNVMHQ2Z.js.map +0 -1
  273. package/dist/chunk-LXAESF4Y.js.map +0 -1
  274. package/dist/chunk-MTEWLGVY.js.map +0 -1
  275. package/dist/chunk-O3JIAU3V.js.map +0 -1
  276. package/dist/chunk-OJLL4YD6.js +0 -403
  277. package/dist/chunk-OJLL4YD6.js.map +0 -1
  278. package/dist/chunk-OLGPYOLO.js.map +0 -1
  279. package/dist/chunk-S433N3CT.js.map +0 -1
  280. package/dist/chunk-T5C46IIU.js.map +0 -1
  281. package/dist/chunk-U267AOWS.js +0 -28
  282. package/dist/chunk-U267AOWS.js.map +0 -1
  283. package/dist/chunk-UW2TEAGR.js +0 -77
  284. package/dist/chunk-UW2TEAGR.js.map +0 -1
  285. package/dist/chunk-WPJOTQA5.js +0 -1
  286. package/dist/chunk-XALU5LCU.js.map +0 -1
  287. package/dist/chunk-XR74JD4M.js +0 -457
  288. package/dist/chunk-XR74JD4M.js.map +0 -1
  289. package/dist/chunk-YGAXV5HR.js.map +0 -1
  290. package/dist/chunk-YRBR424R.js.map +0 -1
  291. package/dist/cloudflare-KYUWCEPL.js +0 -122
  292. package/dist/cloudflare-KYUWCEPL.js.map +0 -1
  293. package/dist/deno-deploy-CCTB7HGS.js +0 -107
  294. package/dist/deno-deploy-CCTB7HGS.js.map +0 -1
  295. package/dist/dev-MUWJAZRD.js.map +0 -1
  296. package/dist/dev-emit-NBT6JD7R.js.map +0 -1
  297. package/dist/generate-Y3GWM57K.js.map +0 -1
  298. package/dist/index-BEtEv6ZH.d.ts +0 -575
  299. package/dist/load-config-VKD6LKWU.js +0 -14
  300. package/dist/match-CfbEFRG4.d.ts +0 -26
  301. package/dist/netlify-AFMDNKT4.js +0 -150
  302. package/dist/netlify-AFMDNKT4.js.map +0 -1
  303. package/dist/node-ZJQEJSP3.js +0 -10
  304. package/dist/registry-GKR3EWRW.js +0 -23
  305. package/dist/start-KR2JJR7K.js.map +0 -1
  306. package/dist/static-M2W4HUWS.js.map +0 -1
  307. package/dist/theo-cloud-XAHWOUFK.js.map +0 -1
  308. package/dist/vercel-SRS2DH6O.js +0 -133
  309. package/dist/vercel-SRS2DH6O.js.map +0 -1
  310. package/dist/vite-plugin-VPJFD4HK.js +0 -36
  311. /package/dist/{chunk-WPJOTQA5.js.map → adapters/agent-mount.js.map} +0 -0
  312. /package/dist/{agent-7JJW3TPB.js.map → agent-GKUEL6OH.js.map} +0 -0
  313. /package/dist/{check-45NKUVSQ.js.map → check-GIPZBFTX.js.map} +0 -0
  314. /package/dist/{chunk-47CINLWF.js.map → chunk-44J2ANQC.js.map} +0 -0
  315. /package/dist/{chunk-ZB7D62OA.js.map → chunk-KUZVRJ7M.js.map} +0 -0
  316. /package/dist/{chunk-PXFXSFJL.js.map → chunk-NZ5JU6D3.js.map} +0 -0
  317. /package/dist/{internal-api-WEOSTMSN.js.map → chunk-YSJOZEI6.js.map} +0 -0
  318. /package/dist/{dev-emit-GWD6IXV7.js.map → dev-emit-BFNMDCPB.js.map} +0 -0
  319. /package/dist/{internal-api-V5L65YSJ.js.map → internal-api-IP35YU3G.js.map} +0 -0
  320. /package/dist/{load-config-VKD6LKWU.js.map → load-config-4ATXQUN3.js.map} +0 -0
  321. /package/dist/{mcp-ULUFJNSZ.js.map → mcp-5LLNAGKA.js.map} +0 -0
  322. /package/dist/{node-ZJQEJSP3.js.map → node-OSVPYQ3D.js.map} +0 -0
  323. /package/dist/{scan-7MJC6PYU.js.map → observability-bootstrap-MZMSOE66.js.map} +0 -0
  324. /package/dist/{registry-GKR3EWRW.js.map → registry-KBZDCFVQ.js.map} +0 -0
  325. /package/dist/{schema-ZO3OSWVG.js.map → scan-YJEE4KQK.js.map} +0 -0
  326. /package/dist/{vite-plugin-VPJFD4HK.js.map → schema-SOAD43RQ.js.map} +0 -0
  327. /package/dist/{services-typed-client-PSAGRPFF.js.map → services-typed-client-XGT5SUUN.js.map} +0 -0
@@ -1,3 +1,6 @@
1
+ import {
2
+ buildSecurityHeaders
3
+ } from "./chunk-IRQGAC4L.js";
1
4
  import {
2
5
  safeAudit
3
6
  } from "./chunk-AVQU5CQF.js";
@@ -336,50 +339,6 @@ var CsrfReadinessStore = class _CsrfReadinessStore {
336
339
  };
337
340
 
338
341
  // src/server/security/security-headers.ts
339
- var DEFAULT_CSP = "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob:; font-src 'self' data:; connect-src 'self' ws: wss:; frame-ancestors 'none'; report-uri /__theo/csp-report";
340
- var DEFAULT_PERMISSIONS_POLICY = "geolocation=(), camera=(), microphone=(), payment=(), usb=(), accelerometer=(), gyroscope=()";
341
- var DEFAULT_HSTS = "max-age=31536000; includeSubDomains";
342
- function applyNonceToCsp(policy, nonce) {
343
- return policy.split(";").map((directive) => {
344
- const trimmed = directive.trim();
345
- if (!trimmed.startsWith("script-src")) return directive;
346
- if (trimmed.includes("'unsafe-inline'")) {
347
- return directive.replace("'unsafe-inline'", `'nonce-${nonce}'`);
348
- }
349
- return `${directive} 'nonce-${nonce}'`;
350
- }).join(";");
351
- }
352
- function applyCsp(out, config, effectiveNonce) {
353
- if (config.csp === false || config.cspMode === "off") return;
354
- let policy = typeof config.csp === "string" ? config.csp : DEFAULT_CSP;
355
- if (effectiveNonce) {
356
- policy = applyNonceToCsp(policy, effectiveNonce);
357
- }
358
- const mode = config.cspMode ?? "enforce";
359
- if (mode === "enforce") {
360
- out["Content-Security-Policy"] = policy;
361
- } else {
362
- out["Content-Security-Policy-Report-Only"] = policy;
363
- }
364
- }
365
- function buildSecurityHeaders(config, env, options = {}) {
366
- const out = {};
367
- const effectiveNonce = options.prerender ? void 0 : options.nonce;
368
- applyCsp(out, config, effectiveNonce);
369
- out["X-Frame-Options"] = config.frameOptions ?? "DENY";
370
- out["X-Content-Type-Options"] = config.contentTypeOptions ?? "nosniff";
371
- out["Referrer-Policy"] = config.referrerPolicy ?? "strict-origin-when-cross-origin";
372
- if (config.permissionsPolicy !== false) {
373
- out["Permissions-Policy"] = typeof config.permissionsPolicy === "string" ? config.permissionsPolicy : DEFAULT_PERMISSIONS_POLICY;
374
- }
375
- if (env.production && config.hsts !== false) {
376
- out["Strict-Transport-Security"] = typeof config.hsts === "string" ? config.hsts : DEFAULT_HSTS;
377
- }
378
- if (effectiveNonce) {
379
- out["Cache-Control"] = "private, no-store";
380
- }
381
- return out;
382
- }
383
342
  function applySecurityHeaders(res, config, env, options = {}) {
384
343
  const headers = buildSecurityHeaders(config, env, options);
385
344
  for (const [key, value] of Object.entries(headers)) {
@@ -398,9 +357,6 @@ export {
398
357
  handleCsrfReadiness,
399
358
  handleCsrfReadinessRequest,
400
359
  CsrfReadinessStore,
401
- DEFAULT_CSP,
402
- DEFAULT_PERMISSIONS_POLICY,
403
- buildSecurityHeaders,
404
360
  applySecurityHeaders
405
361
  };
406
- //# sourceMappingURL=chunk-MTEWLGVY.js.map
362
+ //# sourceMappingURL=chunk-BPYMC7SU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/security/csp-report.ts","../src/server/security/csrf-readiness-endpoint.ts","../src/server/security/csrf-readiness-store.ts","../src/server/security/security-headers.ts"],"mappings":"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","names":[]}
@@ -0,0 +1,421 @@
1
+ import {
2
+ extractTraceContext,
3
+ generateNewTraceContext
4
+ } from "./chunk-UMNXCU3K.js";
5
+ import {
6
+ __require
7
+ } from "./chunk-XTHN6JBX.js";
8
+
9
+ // src/server/webhook/timing-safe-equal.ts
10
+ var cachedNodeImpl;
11
+ function resolveNodeImpl() {
12
+ if (cachedNodeImpl !== void 0) return cachedNodeImpl;
13
+ try {
14
+ const cryptoMod = __require("crypto");
15
+ cachedNodeImpl = cryptoMod.timingSafeEqual ?? null;
16
+ } catch {
17
+ cachedNodeImpl = null;
18
+ }
19
+ return cachedNodeImpl;
20
+ }
21
+ function timingSafeEqual(a, b) {
22
+ if (!(a instanceof Uint8Array) || !(b instanceof Uint8Array)) {
23
+ throw new TypeError(
24
+ `timingSafeEqual expects Uint8Array arguments (got ${typeof a} and ${typeof b})`
25
+ );
26
+ }
27
+ if (a.length !== b.length) return false;
28
+ if (a.length === 0) return true;
29
+ const nodeImpl = resolveNodeImpl();
30
+ if (nodeImpl) return nodeImpl(a, b);
31
+ let diff = 0;
32
+ for (let i = 0; i < a.length; i++) {
33
+ diff |= a[i] ^ b[i];
34
+ }
35
+ return diff === 0;
36
+ }
37
+
38
+ // src/server/webhook/raw-body.ts
39
+ var DEFAULT_MAX_BODY_BYTES = 1e6;
40
+ var BodyTooLargeError = class extends Error {
41
+ constructor(limit, actualSeen) {
42
+ super(`Request body exceeds maxBodyBytes: seen ${actualSeen} bytes, limit ${limit} bytes`);
43
+ this.limit = limit;
44
+ this.actualSeen = actualSeen;
45
+ this.name = "BodyTooLargeError";
46
+ }
47
+ limit;
48
+ actualSeen;
49
+ status = 413;
50
+ code = "BODY_TOO_LARGE";
51
+ };
52
+ async function readRawBody(request, options = {}) {
53
+ const maxBodyBytes = options.maxBodyBytes ?? DEFAULT_MAX_BODY_BYTES;
54
+ const clone = request.clone();
55
+ if (clone.body === null) {
56
+ return { rawBody: "", bodyClone: request };
57
+ }
58
+ const reader = clone.body.getReader();
59
+ const chunks = [];
60
+ let total = 0;
61
+ try {
62
+ for (; ; ) {
63
+ const { value, done } = await reader.read();
64
+ if (done) break;
65
+ total += value.byteLength;
66
+ if (total > maxBodyBytes) {
67
+ void reader.cancel();
68
+ throw new BodyTooLargeError(maxBodyBytes, total);
69
+ }
70
+ chunks.push(value);
71
+ }
72
+ } finally {
73
+ try {
74
+ reader.releaseLock();
75
+ } catch {
76
+ }
77
+ }
78
+ const bytes = new Uint8Array(total);
79
+ let offset = 0;
80
+ for (const chunk of chunks) {
81
+ bytes.set(chunk, offset);
82
+ offset += chunk.byteLength;
83
+ }
84
+ const rawBody = new TextDecoder().decode(bytes);
85
+ return { rawBody, bodyClone: request };
86
+ }
87
+
88
+ // src/server/webhook/define-webhook.ts
89
+ function defineWebhook(opts) {
90
+ return {
91
+ verify: opts.verify,
92
+ handler: opts.handler,
93
+ maxBodyBytes: opts.maxBodyBytes,
94
+ __theokit_kind: "webhook"
95
+ };
96
+ }
97
+ async function dispatchWebhook(def, request) {
98
+ let rawBody;
99
+ let bodyClone;
100
+ try {
101
+ const result2 = await readRawBody(request, { maxBodyBytes: def.maxBodyBytes });
102
+ rawBody = result2.rawBody;
103
+ bodyClone = result2.bodyClone;
104
+ } catch (err) {
105
+ if (err instanceof BodyTooLargeError) {
106
+ return new Response(JSON.stringify({ error: err.code, message: err.message }), {
107
+ status: 413,
108
+ headers: { "content-type": "application/json" }
109
+ });
110
+ }
111
+ return new Response(
112
+ JSON.stringify({
113
+ error: "BAD_REQUEST",
114
+ message: err instanceof Error ? err.message : "failed to read body"
115
+ }),
116
+ { status: 400, headers: { "content-type": "application/json" } }
117
+ );
118
+ }
119
+ const incomingTrace = extractTraceContext(request.headers);
120
+ const traceId = incomingTrace?.trace_id ?? generateNewTraceContext().trace_id;
121
+ let verifyResult;
122
+ try {
123
+ verifyResult = await def.verify(bodyClone);
124
+ } catch (err) {
125
+ verifyResult = {
126
+ ok: false,
127
+ reason: `verify threw: ${err instanceof Error ? err.message : String(err)}`
128
+ };
129
+ }
130
+ if (!verifyResult.ok) {
131
+ return new Response(
132
+ JSON.stringify({ error: "WEBHOOK_VERIFY_FAILED", message: verifyResult.reason }),
133
+ { status: 401, headers: { "content-type": "application/json" } }
134
+ );
135
+ }
136
+ const ctx = {
137
+ request: bodyClone,
138
+ rawBody,
139
+ traceId,
140
+ signal: request.signal
141
+ };
142
+ const result = await def.handler(ctx);
143
+ if (result instanceof Response) return result;
144
+ if (result === void 0 || result === null) {
145
+ return new Response(null, { status: 204 });
146
+ }
147
+ return new Response(JSON.stringify(result), {
148
+ status: 200,
149
+ headers: { "content-type": "application/json" }
150
+ });
151
+ }
152
+
153
+ // src/server/webhook/providers/stripe.ts
154
+ function parseStripeHeader(header) {
155
+ const parts = header.split(",").map((p) => p.trim());
156
+ let timestamp = null;
157
+ const signatures = [];
158
+ let tCount = 0;
159
+ for (const part of parts) {
160
+ const [key, value] = part.split("=", 2);
161
+ if (key === "t") {
162
+ tCount++;
163
+ timestamp = Number.parseInt(value, 10);
164
+ if (!Number.isFinite(timestamp)) return null;
165
+ } else if (key === "v1") {
166
+ signatures.push(value);
167
+ }
168
+ }
169
+ if (tCount !== 1) return null;
170
+ if (timestamp === null) return null;
171
+ if (signatures.length === 0) return null;
172
+ return { timestamp, signatures };
173
+ }
174
+ var enc = new TextEncoder();
175
+ async function expectedSigBytes(secret, timestamp, rawBody) {
176
+ const key = await globalThis.crypto.subtle.importKey(
177
+ "raw",
178
+ enc.encode(secret),
179
+ { name: "HMAC", hash: "SHA-256" },
180
+ false,
181
+ ["sign"]
182
+ );
183
+ const sigBuf = await globalThis.crypto.subtle.sign(
184
+ "HMAC",
185
+ key,
186
+ enc.encode(`${timestamp}.${rawBody}`)
187
+ );
188
+ return new Uint8Array(sigBuf);
189
+ }
190
+ var fromHex = (hex) => {
191
+ if (hex.length % 2 !== 0) return null;
192
+ const bytes = new Uint8Array(hex.length / 2);
193
+ for (let i = 0; i < bytes.length; i++) {
194
+ const byte = Number.parseInt(hex.slice(i * 2, i * 2 + 2), 16);
195
+ if (Number.isNaN(byte)) return null;
196
+ bytes[i] = byte;
197
+ }
198
+ return bytes;
199
+ };
200
+ function stripe(opts) {
201
+ const tolerance = opts.toleranceSeconds ?? 300;
202
+ const secrets = Array.isArray(opts.secret) ? opts.secret : [opts.secret];
203
+ return async (req) => {
204
+ const header = req.headers.get("stripe-signature");
205
+ if (!header) {
206
+ return { ok: false, reason: "missing stripe-signature header" };
207
+ }
208
+ const parsed = parseStripeHeader(header);
209
+ if (!parsed) {
210
+ return { ok: false, reason: "malformed stripe-signature header" };
211
+ }
212
+ const nowSeconds = Math.floor(Date.now() / 1e3);
213
+ const delta = Math.abs(nowSeconds - parsed.timestamp);
214
+ if (delta > tolerance) {
215
+ return {
216
+ ok: false,
217
+ reason: `timestamp out of tolerance window (delta=${delta}s, tolerance=${tolerance}s)`
218
+ };
219
+ }
220
+ const rawBody = await req.text();
221
+ for (const secret of secrets) {
222
+ const expectedBytes = await expectedSigBytes(secret, parsed.timestamp, rawBody);
223
+ for (const sig of parsed.signatures) {
224
+ const sigBytes = fromHex(sig);
225
+ if (!sigBytes) continue;
226
+ if (sigBytes.length !== expectedBytes.length) continue;
227
+ if (timingSafeEqual(sigBytes, expectedBytes)) {
228
+ return { ok: true };
229
+ }
230
+ }
231
+ }
232
+ return { ok: false, reason: "signature mismatch" };
233
+ };
234
+ }
235
+
236
+ // src/server/webhook/providers/github.ts
237
+ var PREFIX = "sha256=";
238
+ function fromHex2(hex) {
239
+ if (hex.length % 2 !== 0) return null;
240
+ const bytes = new Uint8Array(hex.length / 2);
241
+ for (let i = 0; i < bytes.length; i++) {
242
+ const byte = Number.parseInt(hex.slice(i * 2, i * 2 + 2), 16);
243
+ if (Number.isNaN(byte)) return null;
244
+ bytes[i] = byte;
245
+ }
246
+ return bytes;
247
+ }
248
+ function github(opts) {
249
+ const secrets = Array.isArray(opts.secret) ? opts.secret : [opts.secret];
250
+ return async (req) => {
251
+ const header = req.headers.get("x-hub-signature-256");
252
+ if (!header) {
253
+ return { ok: false, reason: "missing x-hub-signature-256 header" };
254
+ }
255
+ if (!header.startsWith(PREFIX)) {
256
+ return { ok: false, reason: "malformed x-hub-signature-256 header (missing sha256= prefix)" };
257
+ }
258
+ const sigHex = header.slice(PREFIX.length);
259
+ const sigBytes = fromHex2(sigHex);
260
+ if (!sigBytes) {
261
+ return { ok: false, reason: "malformed signature hex" };
262
+ }
263
+ const rawBody = await req.text();
264
+ const enc2 = new TextEncoder();
265
+ const bodyBytes = enc2.encode(rawBody);
266
+ for (const secret of secrets) {
267
+ const key = await globalThis.crypto.subtle.importKey(
268
+ "raw",
269
+ enc2.encode(secret),
270
+ { name: "HMAC", hash: "SHA-256" },
271
+ false,
272
+ ["sign"]
273
+ );
274
+ const sigBuf = await globalThis.crypto.subtle.sign("HMAC", key, bodyBytes);
275
+ const expectedBytes = new Uint8Array(sigBuf);
276
+ if (sigBytes.length !== expectedBytes.length) continue;
277
+ if (timingSafeEqual(sigBytes, expectedBytes)) {
278
+ return { ok: true };
279
+ }
280
+ }
281
+ return { ok: false, reason: "signature mismatch" };
282
+ };
283
+ }
284
+
285
+ // src/server/webhook/providers/slack.ts
286
+ var PREFIX2 = "v0=";
287
+ function fromHex3(hex) {
288
+ if (hex.length % 2 !== 0) return null;
289
+ const bytes = new Uint8Array(hex.length / 2);
290
+ for (let i = 0; i < bytes.length; i++) {
291
+ const byte = Number.parseInt(hex.slice(i * 2, i * 2 + 2), 16);
292
+ if (Number.isNaN(byte)) return null;
293
+ bytes[i] = byte;
294
+ }
295
+ return bytes;
296
+ }
297
+ function slack(opts) {
298
+ const tolerance = opts.toleranceSeconds ?? 300;
299
+ const signingSecret = opts.signingSecret;
300
+ return async (req) => {
301
+ const tsHeader = req.headers.get("x-slack-request-timestamp");
302
+ const sigHeader = req.headers.get("x-slack-signature");
303
+ if (!tsHeader) {
304
+ return { ok: false, reason: "missing x-slack-request-timestamp header" };
305
+ }
306
+ if (!sigHeader) {
307
+ return { ok: false, reason: "missing x-slack-signature header" };
308
+ }
309
+ if (!sigHeader.startsWith(PREFIX2)) {
310
+ return { ok: false, reason: "malformed x-slack-signature header (missing v0= prefix)" };
311
+ }
312
+ const ts = Number.parseInt(tsHeader, 10);
313
+ if (!Number.isFinite(ts)) {
314
+ return { ok: false, reason: "malformed x-slack-request-timestamp" };
315
+ }
316
+ const nowSeconds = Math.floor(Date.now() / 1e3);
317
+ const delta = Math.abs(nowSeconds - ts);
318
+ if (delta > tolerance) {
319
+ return {
320
+ ok: false,
321
+ reason: `timestamp out of tolerance window (delta=${delta}s, tolerance=${tolerance}s)`
322
+ };
323
+ }
324
+ const rawBody = await req.text();
325
+ const base = `v0:${ts}:${rawBody}`;
326
+ const enc2 = new TextEncoder();
327
+ const key = await globalThis.crypto.subtle.importKey(
328
+ "raw",
329
+ enc2.encode(signingSecret),
330
+ { name: "HMAC", hash: "SHA-256" },
331
+ false,
332
+ ["sign"]
333
+ );
334
+ const sigBuf = await globalThis.crypto.subtle.sign("HMAC", key, enc2.encode(base));
335
+ const expectedBytes = new Uint8Array(sigBuf);
336
+ const sigHex = sigHeader.slice(PREFIX2.length);
337
+ const sigBytes = fromHex3(sigHex);
338
+ if (!sigBytes) {
339
+ return { ok: false, reason: "malformed signature hex" };
340
+ }
341
+ if (sigBytes.length !== expectedBytes.length) {
342
+ return { ok: false, reason: "signature mismatch" };
343
+ }
344
+ if (timingSafeEqual(sigBytes, expectedBytes)) {
345
+ return { ok: true };
346
+ }
347
+ return { ok: false, reason: "signature mismatch" };
348
+ };
349
+ }
350
+
351
+ // src/server/webhook/providers/telegram.ts
352
+ function telegram(opts) {
353
+ const enc2 = new TextEncoder();
354
+ const expected = enc2.encode(opts.secretToken);
355
+ return (req) => {
356
+ const header = req.headers.get("x-telegram-bot-api-secret-token");
357
+ if (!header) {
358
+ return { ok: false, reason: "missing x-telegram-bot-api-secret-token header" };
359
+ }
360
+ const got = enc2.encode(header);
361
+ if (got.length !== expected.length) return { ok: false, reason: "secret token mismatch" };
362
+ return timingSafeEqual(got, expected) ? { ok: true } : { ok: false, reason: "secret token mismatch" };
363
+ };
364
+ }
365
+
366
+ // src/server/webhook/providers/discord.ts
367
+ function fromHex4(hex) {
368
+ if (hex.length === 0 || hex.length % 2 !== 0) return null;
369
+ const bytes = new Uint8Array(hex.length / 2);
370
+ for (let i = 0; i < bytes.length; i++) {
371
+ const byte = Number.parseInt(hex.slice(i * 2, i * 2 + 2), 16);
372
+ if (Number.isNaN(byte)) return null;
373
+ bytes[i] = byte;
374
+ }
375
+ return bytes;
376
+ }
377
+ function discord(opts) {
378
+ const keyBytes = fromHex4(opts.publicKey);
379
+ return async (req) => {
380
+ if (!keyBytes) return { ok: false, reason: "malformed public key hex" };
381
+ const sigHex = req.headers.get("x-signature-ed25519");
382
+ const timestamp = req.headers.get("x-signature-timestamp");
383
+ if (!sigHex) return { ok: false, reason: "missing x-signature-ed25519 header" };
384
+ if (!timestamp) return { ok: false, reason: "missing x-signature-timestamp header" };
385
+ const sigBytes = fromHex4(sigHex);
386
+ if (!sigBytes) return { ok: false, reason: "malformed signature hex" };
387
+ const rawBody = await req.text();
388
+ const message = new Uint8Array(new TextEncoder().encode(timestamp + rawBody));
389
+ try {
390
+ const key = await globalThis.crypto.subtle.importKey(
391
+ "raw",
392
+ keyBytes,
393
+ { name: "Ed25519" },
394
+ false,
395
+ ["verify"]
396
+ );
397
+ const ok = await globalThis.crypto.subtle.verify("Ed25519", key, sigBytes, message);
398
+ return ok ? { ok: true } : { ok: false, reason: "signature mismatch" };
399
+ } catch (err) {
400
+ return {
401
+ ok: false,
402
+ reason: `verification failed: ${err instanceof Error ? err.message : "unknown"}`
403
+ };
404
+ }
405
+ };
406
+ }
407
+
408
+ export {
409
+ timingSafeEqual,
410
+ DEFAULT_MAX_BODY_BYTES,
411
+ BodyTooLargeError,
412
+ readRawBody,
413
+ defineWebhook,
414
+ dispatchWebhook,
415
+ stripe,
416
+ github,
417
+ slack,
418
+ telegram,
419
+ discord
420
+ };
421
+ //# sourceMappingURL=chunk-BU6RJPPJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/webhook/timing-safe-equal.ts","../src/server/webhook/raw-body.ts","../src/server/webhook/define-webhook.ts","../src/server/webhook/providers/stripe.ts","../src/server/webhook/providers/github.ts","../src/server/webhook/providers/slack.ts","../src/server/webhook/providers/telegram.ts","../src/server/webhook/providers/discord.ts"],"mappings":"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","names":["result","fromHex","enc","PREFIX","fromHex","enc","enc","fromHex"]}
@@ -1,3 +1,7 @@
1
+ import {
2
+ compareByCodeUnit
3
+ } from "./chunk-ZWN3AODA.js";
4
+
1
5
  // src/server/scan/middleware-scan.ts
2
6
  import { readdirSync, existsSync, statSync } from "fs";
3
7
  import { join, extname } from "path";
@@ -16,11 +20,11 @@ function scanMiddlewares(serverDir) {
16
20
  if (!MW_EXTENSIONS.has(ext)) continue;
17
21
  files.push(join(mwDir, entry.name));
18
22
  }
19
- files.sort((a, b) => a.localeCompare(b));
23
+ files.sort(compareByCodeUnit);
20
24
  return files;
21
25
  }
22
26
 
23
27
  export {
24
28
  scanMiddlewares
25
29
  };
26
- //# sourceMappingURL=chunk-FB2HBNIC.js.map
30
+ //# sourceMappingURL=chunk-BX6EUYHU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/scan/middleware-scan.ts"],"mappings":";;;;;AAIA,SAAS,aAAa,YAAY,gBAAgB;AAClD,SAAS,MAAM,eAAe;AAI9B,IAAM,gBAAgB,oBAAI,IAAI,CAAC,OAAO,QAAQ,OAAO,MAAM,CAAC;AASrD,SAAS,gBAAgB,WAA6B;AAC3D,QAAM,QAAQ,KAAK,WAAW,YAAY;AAC1C,MAAI,CAAC,WAAW,KAAK,KAAK,CAAC,SAAS,KAAK,EAAE,YAAY,GAAG;AACxD,WAAO,CAAC;AAAA,EACV;AAEA,QAAM,UAAU,YAAY,OAAO,EAAE,eAAe,KAAK,CAAC;AAC1D,QAAM,QAAkB,CAAC;AAEzB,aAAW,SAAS,SAAS;AAC3B,QAAI,CAAC,MAAM,OAAO,EAAG;AACrB,QAAI,MAAM,KAAK,WAAW,GAAG,KAAK,MAAM,KAAK,WAAW,GAAG,EAAG;AAC9D,UAAM,MAAM,QAAQ,MAAM,IAAI;AAC9B,QAAI,CAAC,cAAc,IAAI,GAAG,EAAG;AAC7B,UAAM,KAAK,KAAK,OAAO,MAAM,IAAI,CAAC;AAAA,EACpC;AAKA,QAAM,KAAK,iBAAiB;AAC5B,SAAO;AACT;","names":[]}