theokit 0.43.12 → 0.44.3

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 (302) hide show
  1. package/dist/{actions-virtual-module-RSFRPJQZ.js → actions-virtual-module-67K4POQ2.js} +20 -20
  2. package/dist/actions-virtual-module-67K4POQ2.js.map +1 -0
  3. package/dist/{actions-virtual-module-HG66SZ7T.js → actions-virtual-module-IK2SDIZ3.js} +4 -3
  4. package/dist/{actions-virtual-module-HG66SZ7T.js.map → actions-virtual-module-IK2SDIZ3.js.map} +1 -1
  5. package/dist/adapters/web-shim.js +1 -1
  6. package/dist/adapters/web-shim.js.map +1 -1
  7. package/dist/adapters/ws-shim.js +1 -1
  8. package/dist/adapters/ws-shim.js.map +1 -1
  9. package/dist/{agent-OXRRKB55.js → agent-OCCL5RUY.js} +2 -2
  10. package/dist/{agents-typed-client-ZP7BKJB3.js → agents-typed-client-TNHCUU7Q.js} +2 -2
  11. package/dist/agents-typed-client-TNHCUU7Q.js.map +1 -0
  12. package/dist/{app-typed-client-GDF2OMJ2.js → app-typed-client-4OH3JREB.js} +47 -8
  13. package/dist/app-typed-client-4OH3JREB.js.map +1 -0
  14. package/dist/{app-typed-client-USLAMN7X.js → app-typed-client-N5WUE2CP.js} +62 -24
  15. package/dist/app-typed-client-N5WUE2CP.js.map +1 -0
  16. package/dist/{body-parser-web-NNEJGX6Y.js → body-parser-web-4Z2QTPDU.js} +2 -2
  17. package/dist/body-parser-web-4Z2QTPDU.js.map +1 -0
  18. package/dist/boot/index.js +4 -4
  19. package/dist/boot/index.js.map +1 -1
  20. package/dist/{broadcast-4SX7R5XE.js → broadcast-H64DJRBE.js} +3 -3
  21. package/dist/broadcast-H64DJRBE.js.map +1 -0
  22. package/dist/{build-MQHIJROR.js → build-25RSFP22.js} +13 -4
  23. package/dist/build-25RSFP22.js.map +1 -0
  24. package/dist/{build-request-body-preview-FVBQ7LCE.js → build-request-body-preview-CKWWBF2M.js} +2 -2
  25. package/dist/build-request-body-preview-CKWWBF2M.js.map +1 -0
  26. package/dist/{chunk-26ECIX74.js → chunk-2ADKT37V.js} +5 -5
  27. package/dist/chunk-2ADKT37V.js.map +1 -0
  28. package/dist/{chunk-JIL74SFK.js → chunk-37ZO643S.js} +9 -9
  29. package/dist/chunk-37ZO643S.js.map +1 -0
  30. package/dist/{chunk-ESC54TAK.js → chunk-3DGIANAN.js} +1 -1
  31. package/dist/chunk-3DGIANAN.js.map +1 -0
  32. package/dist/{chunk-6FK7FKY6.js → chunk-47FFT43U.js} +1 -1
  33. package/dist/chunk-47FFT43U.js.map +1 -0
  34. package/dist/{chunk-ZJQ4O76G.js → chunk-4FWBKX6G.js} +1 -1
  35. package/dist/chunk-4FWBKX6G.js.map +1 -0
  36. package/dist/{chunk-NM4WF3XD.js → chunk-4PBJ266F.js} +1 -1
  37. package/dist/chunk-4PBJ266F.js.map +1 -0
  38. package/dist/{chunk-7MQOHNHE.js → chunk-52PDWL5S.js} +1 -1
  39. package/dist/chunk-52PDWL5S.js.map +1 -0
  40. package/dist/{chunk-JQJN6LFK.js → chunk-62EU2BVZ.js} +2 -2
  41. package/dist/chunk-62EU2BVZ.js.map +1 -0
  42. package/dist/{chunk-SJIRP73B.js → chunk-646CA6RV.js} +2 -2
  43. package/dist/chunk-646CA6RV.js.map +1 -0
  44. package/dist/{chunk-ASDXVRJD.js → chunk-6KDXP472.js} +4 -4
  45. package/dist/chunk-6KDXP472.js.map +1 -0
  46. package/dist/chunk-6LNIGF5P.js +46 -0
  47. package/dist/chunk-6LNIGF5P.js.map +1 -0
  48. package/dist/chunk-7IHWXDJJ.js +1 -0
  49. package/dist/chunk-7IHWXDJJ.js.map +1 -0
  50. package/dist/{chunk-JQSKBMXP.js → chunk-7LVM22VG.js} +1 -1
  51. package/dist/chunk-7LVM22VG.js.map +1 -0
  52. package/dist/{chunk-UVXB2ER7.js → chunk-7SABX4DJ.js} +1 -1
  53. package/dist/chunk-7SABX4DJ.js.map +1 -0
  54. package/dist/{chunk-X32XEJXR.js → chunk-ACKBVBUI.js} +1 -1
  55. package/dist/chunk-ACKBVBUI.js.map +1 -0
  56. package/dist/{chunk-UUFYP2UM.js → chunk-AM3QABW5.js} +3 -3
  57. package/dist/chunk-AM3QABW5.js.map +1 -0
  58. package/dist/{chunk-FH3DYBAN.js → chunk-ANS4ELRH.js} +1 -1
  59. package/dist/chunk-ANS4ELRH.js.map +1 -0
  60. package/dist/{chunk-UD3LFGDL.js → chunk-AVQU5CQF.js} +1 -1
  61. package/dist/chunk-AVQU5CQF.js.map +1 -0
  62. package/dist/{chunk-CJNMJUHE.js → chunk-B7ONQ4QJ.js} +2 -2
  63. package/dist/{chunk-WSJKACWB.js → chunk-C34PMLSN.js} +1 -1
  64. package/dist/chunk-C34PMLSN.js.map +1 -0
  65. package/dist/{chunk-2WH6SD3C.js → chunk-DSOBIXXR.js} +4 -4
  66. package/dist/{chunk-DJFMAWH5.js → chunk-EIRQM55C.js} +6 -5
  67. package/dist/chunk-EIRQM55C.js.map +1 -0
  68. package/dist/{chunk-ZEGYW52B.js → chunk-FB2HBNIC.js} +1 -1
  69. package/dist/chunk-FB2HBNIC.js.map +1 -0
  70. package/dist/chunk-FXZZS7YW.js +605 -0
  71. package/dist/chunk-FXZZS7YW.js.map +1 -0
  72. package/dist/{chunk-HGUZWG2C.js → chunk-FZG3JYB3.js} +8 -47
  73. package/dist/chunk-FZG3JYB3.js.map +1 -0
  74. package/dist/{chunk-V3LJN2GS.js → chunk-GAPBPRPP.js} +1 -1
  75. package/dist/chunk-GAPBPRPP.js.map +1 -0
  76. package/dist/chunk-GUBN5UTT.js +1 -0
  77. package/dist/chunk-GUBN5UTT.js.map +1 -0
  78. package/dist/{chunk-6OXCZMW3.js → chunk-HEK4SET7.js} +5 -5
  79. package/dist/chunk-HEK4SET7.js.map +1 -0
  80. package/dist/{chunk-N2D5AVRR.js → chunk-HRCNHWLP.js} +7 -109
  81. package/dist/chunk-HRCNHWLP.js.map +1 -0
  82. package/dist/{chunk-C3ZZ56YZ.js → chunk-JA2ZAT5Q.js} +1 -1
  83. package/dist/chunk-JA2ZAT5Q.js.map +1 -0
  84. package/dist/{chunk-L2S2R3TI.js → chunk-KBGGQK4I.js} +25 -8
  85. package/dist/chunk-KBGGQK4I.js.map +1 -0
  86. package/dist/{chunk-VPISAMXU.js → chunk-KD5G3YXI.js} +4 -4
  87. package/dist/chunk-KD5G3YXI.js.map +1 -0
  88. package/dist/{chunk-VMEWD57H.js → chunk-KPKLIUUL.js} +1 -1
  89. package/dist/chunk-KPKLIUUL.js.map +1 -0
  90. package/dist/{chunk-4HAU7AJM.js → chunk-L4Y6RJ4E.js} +3 -3
  91. package/dist/chunk-L4Y6RJ4E.js.map +1 -0
  92. package/dist/{chunk-OVHW23YC.js → chunk-L5Z6IY5U.js} +5 -5
  93. package/dist/chunk-L5Z6IY5U.js.map +1 -0
  94. package/dist/{chunk-JBCHWRKF.js → chunk-MTEWLGVY.js} +2 -2
  95. package/dist/chunk-MTEWLGVY.js.map +1 -0
  96. package/dist/{chunk-XZ6B2Y2R.js → chunk-MWP4YXWJ.js} +1 -1
  97. package/dist/chunk-MWP4YXWJ.js.map +1 -0
  98. package/dist/{chunk-575PAX5L.js → chunk-NGEBYCOZ.js} +62 -38
  99. package/dist/chunk-NGEBYCOZ.js.map +1 -0
  100. package/dist/{chunk-5QW7IQQU.js → chunk-NTDN54XO.js} +1 -1
  101. package/dist/chunk-NTDN54XO.js.map +1 -0
  102. package/dist/{chunk-7BIM27LV.js → chunk-OIGJOYX6.js} +1 -1
  103. package/dist/chunk-OIGJOYX6.js.map +1 -0
  104. package/dist/{chunk-TSLSIRBR.js → chunk-OLGPYOLO.js} +2 -2
  105. package/dist/chunk-OLGPYOLO.js.map +1 -0
  106. package/dist/{chunk-IE6C4KZX.js → chunk-Q5OT7LZG.js} +11 -496
  107. package/dist/chunk-Q5OT7LZG.js.map +1 -0
  108. package/dist/{chunk-6NEXVBPY.js → chunk-RWNSW4FM.js} +1 -1
  109. package/dist/chunk-RWNSW4FM.js.map +1 -0
  110. package/dist/{chunk-E25FBYJP.js → chunk-SAFGDIPQ.js} +1 -1
  111. package/dist/chunk-SAFGDIPQ.js.map +1 -0
  112. package/dist/{chunk-OP7QCTR5.js → chunk-SEELKQUM.js} +2 -2
  113. package/dist/chunk-SEELKQUM.js.map +1 -0
  114. package/dist/{chunk-4B2ZMX45.js → chunk-SSYDEKWF.js} +1 -1
  115. package/dist/chunk-SSYDEKWF.js.map +1 -0
  116. package/dist/{chunk-DQVBL2G4.js → chunk-SZU6BOMV.js} +75 -53
  117. package/dist/chunk-SZU6BOMV.js.map +1 -0
  118. package/dist/{chunk-65EFIUDD.js → chunk-U267AOWS.js} +1 -1
  119. package/dist/chunk-U267AOWS.js.map +1 -0
  120. package/dist/{chunk-FX72VHAE.js → chunk-U3H53IIN.js} +6 -6
  121. package/dist/chunk-U3H53IIN.js.map +1 -0
  122. package/dist/{chunk-OPLICDUB.js → chunk-UW2TEAGR.js} +1 -1
  123. package/dist/chunk-UW2TEAGR.js.map +1 -0
  124. package/dist/{chunk-IAJ2JVEH.js → chunk-VSLTKX5L.js} +1 -1
  125. package/dist/chunk-VSLTKX5L.js.map +1 -0
  126. package/dist/{chunk-YB5DJJ4U.js → chunk-VZTYCAO6.js} +1 -1
  127. package/dist/chunk-VZTYCAO6.js.map +1 -0
  128. package/dist/chunk-WDGYCBNI.js +65 -0
  129. package/dist/chunk-WDGYCBNI.js.map +1 -0
  130. package/dist/chunk-WPJOTQA5.js +1 -0
  131. package/dist/chunk-WPJOTQA5.js.map +1 -0
  132. package/dist/{chunk-DGUM43GV.js → chunk-XTHN6JBX.js} +1 -1
  133. package/dist/chunk-XTHN6JBX.js.map +1 -0
  134. package/dist/{chunk-HZ6USUHC.js → chunk-YOIVCCZT.js} +1 -1
  135. package/dist/chunk-YOIVCCZT.js.map +1 -0
  136. package/dist/{chunk-OI6DK6ZJ.js → chunk-ZC2UESE4.js} +6 -4
  137. package/dist/{chunk-OI6DK6ZJ.js.map → chunk-ZC2UESE4.js.map} +1 -1
  138. package/dist/cli/index.js +8 -8
  139. package/dist/client/core.d.ts +4 -258
  140. package/dist/client/core.js +13 -9
  141. package/dist/client/core.js.map +1 -1
  142. package/dist/client/index.d.ts +7 -96
  143. package/dist/client/index.js +19 -67
  144. package/dist/client/index.js.map +1 -1
  145. package/dist/{controller-swc-transform-JJRMTSDY.js → controller-swc-transform-T7ZTD55V.js} +2 -2
  146. package/dist/controller-swc-transform-T7ZTD55V.js.map +1 -0
  147. package/dist/{cookies-MJKMGJ7N.js → cookies-SOXUQJXG.js} +3 -3
  148. package/dist/cookies-SOXUQJXG.js.map +1 -0
  149. package/dist/{dev-WQ4LWCAW.js → dev-V6UBM2OL.js} +8 -7
  150. package/dist/{dev-WQ4LWCAW.js.map → dev-V6UBM2OL.js.map} +1 -1
  151. package/dist/{dev-emit-HLGJK3PP.js → dev-emit-F54Y5TIU.js} +5 -5
  152. package/dist/dev-emit-F54Y5TIU.js.map +1 -0
  153. package/dist/devtools/entry.js +61 -53
  154. package/dist/devtools/entry.js.map +1 -1
  155. package/dist/dispatcher-MXKF3CRH.js +8 -0
  156. package/dist/dispatcher-MXKF3CRH.js.map +1 -0
  157. package/dist/index.js +25 -25
  158. package/dist/index.js.map +1 -1
  159. package/dist/{info-75U6GCMD.js → info-ICDTPJDC.js} +3 -3
  160. package/dist/{internal-api-JFORKYLR.js → internal-api-ALXVBL56.js} +10 -8
  161. package/dist/{internal-api-DV3H5NNV.js → internal-api-S7WK2WCY.js} +20 -20
  162. package/dist/internal-api-S7WK2WCY.js.map +1 -0
  163. package/dist/{load-config-XP7NSSA7.js → load-config-ICCNMO74.js} +3 -3
  164. package/dist/{mcp-FF3NTCHB.js → mcp-4JFODA5U.js} +3 -3
  165. package/dist/{openapi-ZPXYRAM2.js → openapi-NIYA2VBG.js} +3 -3
  166. package/dist/react-query/index.js +2 -2
  167. package/dist/react-query/index.js.map +1 -1
  168. package/dist/{routes-ZVDKABXZ.js → routes-2RD4S5PZ.js} +3 -3
  169. package/dist/{schema-FBOTN46F.js → schema-S553QCAU.js} +2 -2
  170. package/dist/server/agent/index.d.ts +3 -72
  171. package/dist/server/agent/index.js +4 -4
  172. package/dist/server/agent/index.js.map +1 -1
  173. package/dist/server/auth/index.js +4 -4
  174. package/dist/server/auth/index.js.map +1 -1
  175. package/dist/server/cost/index.js +2 -2
  176. package/dist/server/cost/index.js.map +1 -1
  177. package/dist/server/cron/index.js +6 -6
  178. package/dist/server/cron/index.js.map +1 -1
  179. package/dist/server/define/index.js +4 -4
  180. package/dist/server/define/index.js.map +1 -1
  181. package/dist/server/http/index.js +11 -11
  182. package/dist/server/http/index.js.map +1 -1
  183. package/dist/server/index.d.ts +2 -2
  184. package/dist/server/index.js +41 -41
  185. package/dist/server/index.js.map +1 -1
  186. package/dist/server/jobs/index.js +7 -7
  187. package/dist/server/jobs/index.js.map +1 -1
  188. package/dist/server/observability/index.d.ts +8 -1
  189. package/dist/server/observability/index.js +5 -5
  190. package/dist/server/observability/index.js.map +1 -1
  191. package/dist/server/plugins/index.js +3 -3
  192. package/dist/server/plugins/index.js.map +1 -1
  193. package/dist/server/rate-limit/index.js +4 -4
  194. package/dist/server/rate-limit/index.js.map +1 -1
  195. package/dist/server/realtime/index.js +2 -2
  196. package/dist/server/realtime/index.js.map +1 -1
  197. package/dist/server/scan/index.js +7 -7
  198. package/dist/server/scan/index.js.map +1 -1
  199. package/dist/server/security/index.js +5 -5
  200. package/dist/server/security/index.js.map +1 -1
  201. package/dist/server/storage/index.js +2 -2
  202. package/dist/server/storage/index.js.map +1 -1
  203. package/dist/server/webhook/index.js +3 -3
  204. package/dist/server/webhook/index.js.map +1 -1
  205. package/dist/server-error-to-envelope-UM7DEVM4.js +8 -0
  206. package/dist/server-error-to-envelope-UM7DEVM4.js.map +1 -0
  207. package/dist/{server-routes-hmr-RI7SYNT2.js → server-routes-hmr-6CRNSEWF.js} +2 -2
  208. package/dist/server-routes-hmr-6CRNSEWF.js.map +1 -0
  209. package/dist/{services-typed-client-AU6DKXAO.js → services-typed-client-IXNOPVZA.js} +3 -3
  210. package/dist/services-typed-client-IXNOPVZA.js.map +1 -0
  211. package/dist/{start-2U3FUCJX.js → start-2LNPPG74.js} +35 -11
  212. package/dist/start-2LNPPG74.js.map +1 -0
  213. package/dist/vite-plugin/index.js +25 -25
  214. package/dist/vite-plugin/index.js.map +1 -1
  215. package/dist/{vite-plugin-D2NTPZNC.js → vite-plugin-X6YO3OUH.js} +8 -7
  216. package/package.json +9 -5
  217. package/dist/actions-virtual-module-RSFRPJQZ.js.map +0 -1
  218. package/dist/agents-typed-client-ZP7BKJB3.js.map +0 -1
  219. package/dist/app-typed-client-GDF2OMJ2.js.map +0 -1
  220. package/dist/app-typed-client-USLAMN7X.js.map +0 -1
  221. package/dist/body-parser-web-NNEJGX6Y.js.map +0 -1
  222. package/dist/build-MQHIJROR.js.map +0 -1
  223. package/dist/build-request-body-preview-FVBQ7LCE.js.map +0 -1
  224. package/dist/chunk-26ECIX74.js.map +0 -1
  225. package/dist/chunk-4B2ZMX45.js.map +0 -1
  226. package/dist/chunk-4HAU7AJM.js.map +0 -1
  227. package/dist/chunk-575PAX5L.js.map +0 -1
  228. package/dist/chunk-5QW7IQQU.js.map +0 -1
  229. package/dist/chunk-65EFIUDD.js.map +0 -1
  230. package/dist/chunk-6FK7FKY6.js.map +0 -1
  231. package/dist/chunk-6NEXVBPY.js.map +0 -1
  232. package/dist/chunk-6OXCZMW3.js.map +0 -1
  233. package/dist/chunk-7BIM27LV.js.map +0 -1
  234. package/dist/chunk-7MQOHNHE.js.map +0 -1
  235. package/dist/chunk-ASDXVRJD.js.map +0 -1
  236. package/dist/chunk-C3ZZ56YZ.js.map +0 -1
  237. package/dist/chunk-DJFMAWH5.js.map +0 -1
  238. package/dist/chunk-DQVBL2G4.js.map +0 -1
  239. package/dist/chunk-E25FBYJP.js.map +0 -1
  240. package/dist/chunk-E3JH6YUM.js +0 -1
  241. package/dist/chunk-ESC54TAK.js.map +0 -1
  242. package/dist/chunk-FH3DYBAN.js.map +0 -1
  243. package/dist/chunk-FX72VHAE.js.map +0 -1
  244. package/dist/chunk-HGUZWG2C.js.map +0 -1
  245. package/dist/chunk-HZ6USUHC.js.map +0 -1
  246. package/dist/chunk-IAJ2JVEH.js.map +0 -1
  247. package/dist/chunk-IE6C4KZX.js.map +0 -1
  248. package/dist/chunk-JBCHWRKF.js.map +0 -1
  249. package/dist/chunk-JHEAWR3L.js +0 -1
  250. package/dist/chunk-JIL74SFK.js.map +0 -1
  251. package/dist/chunk-JQJN6LFK.js.map +0 -1
  252. package/dist/chunk-JQSKBMXP.js.map +0 -1
  253. package/dist/chunk-KPRJS3II.js +0 -505
  254. package/dist/chunk-KPRJS3II.js.map +0 -1
  255. package/dist/chunk-L2S2R3TI.js.map +0 -1
  256. package/dist/chunk-N2D5AVRR.js.map +0 -1
  257. package/dist/chunk-NM4WF3XD.js.map +0 -1
  258. package/dist/chunk-NPMCKOX4.js +0 -1
  259. package/dist/chunk-NPMCKOX4.js.map +0 -1
  260. package/dist/chunk-OP7QCTR5.js.map +0 -1
  261. package/dist/chunk-OPLICDUB.js.map +0 -1
  262. package/dist/chunk-OVHW23YC.js.map +0 -1
  263. package/dist/chunk-SJIRP73B.js.map +0 -1
  264. package/dist/chunk-TSLSIRBR.js.map +0 -1
  265. package/dist/chunk-UD3LFGDL.js.map +0 -1
  266. package/dist/chunk-UUFYP2UM.js.map +0 -1
  267. package/dist/chunk-UVXB2ER7.js.map +0 -1
  268. package/dist/chunk-V3LJN2GS.js.map +0 -1
  269. package/dist/chunk-VMEWD57H.js.map +0 -1
  270. package/dist/chunk-VPISAMXU.js.map +0 -1
  271. package/dist/chunk-WSJKACWB.js.map +0 -1
  272. package/dist/chunk-X32XEJXR.js.map +0 -1
  273. package/dist/chunk-XZ6B2Y2R.js.map +0 -1
  274. package/dist/chunk-YB5DJJ4U.js.map +0 -1
  275. package/dist/chunk-ZEGYW52B.js.map +0 -1
  276. package/dist/chunk-ZJQ4O76G.js.map +0 -1
  277. package/dist/controller-swc-transform-JJRMTSDY.js.map +0 -1
  278. package/dist/cookies-MJKMGJ7N.js.map +0 -1
  279. package/dist/dev-emit-HLGJK3PP.js.map +0 -1
  280. package/dist/dispatcher-DLKIXYNO.js +0 -8
  281. package/dist/dispatcher-DLKIXYNO.js.map +0 -1
  282. package/dist/internal-api-DV3H5NNV.js.map +0 -1
  283. package/dist/internal-api-JFORKYLR.js.map +0 -1
  284. package/dist/load-config-XP7NSSA7.js.map +0 -1
  285. package/dist/schema-FBOTN46F.js.map +0 -1
  286. package/dist/server-error-to-envelope-EOFUIUNB.js +0 -8
  287. package/dist/server-error-to-envelope-EOFUIUNB.js.map +0 -1
  288. package/dist/server-routes-hmr-RI7SYNT2.js.map +0 -1
  289. package/dist/services-typed-client-AU6DKXAO.js.map +0 -1
  290. package/dist/start-2U3FUCJX.js.map +0 -1
  291. package/dist/vite-plugin-D2NTPZNC.js.map +0 -1
  292. /package/dist/{agent-OXRRKB55.js.map → agent-OCCL5RUY.js.map} +0 -0
  293. /package/dist/{chunk-CJNMJUHE.js.map → chunk-B7ONQ4QJ.js.map} +0 -0
  294. /package/dist/{chunk-2WH6SD3C.js.map → chunk-DSOBIXXR.js.map} +0 -0
  295. /package/dist/{info-75U6GCMD.js.map → info-ICDTPJDC.js.map} +0 -0
  296. /package/dist/{broadcast-4SX7R5XE.js.map → internal-api-ALXVBL56.js.map} +0 -0
  297. /package/dist/{chunk-DGUM43GV.js.map → load-config-ICCNMO74.js.map} +0 -0
  298. /package/dist/{mcp-FF3NTCHB.js.map → mcp-4JFODA5U.js.map} +0 -0
  299. /package/dist/{openapi-ZPXYRAM2.js.map → openapi-NIYA2VBG.js.map} +0 -0
  300. /package/dist/{routes-ZVDKABXZ.js.map → routes-2RD4S5PZ.js.map} +0 -0
  301. /package/dist/{chunk-E3JH6YUM.js.map → schema-S553QCAU.js.map} +0 -0
  302. /package/dist/{chunk-JHEAWR3L.js.map → vite-plugin-X6YO3OUH.js.map} +0 -0
@@ -3,384 +3,21 @@ import "tsx/esm";
3
3
  import {
4
4
  getApprovalRegistry
5
5
  } from "./chunk-TDNNBLGW.js";
6
+ import {
7
+ dispatchCsrfWarn,
8
+ enforceCsrf,
9
+ incomingMessageToHandlerRequest,
10
+ parseRequestBody,
11
+ sendError,
12
+ sendJson,
13
+ validateCsrfRequest,
14
+ warnOnce
15
+ } from "./chunk-FXZZS7YW.js";
6
16
  import {
7
17
  TheoError,
8
18
  serverErrorToEnvelope
9
19
  } from "./chunk-HGZL5EOI.js";
10
20
 
11
- // src/server/body-parser.ts
12
- import { basename } from "path";
13
- import Busboy from "busboy";
14
- var METHODS_WITH_BODY = /* @__PURE__ */ new Set(["POST", "PUT", "PATCH"]);
15
- var DEFAULT_MAX_FILE_SIZE = 10 * 1024 * 1024;
16
- var DEFAULT_MAX_FILES = 10;
17
- var DEFAULT_MAX_FIELD_SIZE = 1 * 1024 * 1024;
18
- var FileTooLargeError = class extends Error {
19
- constructor(message, truncatedFilenames, maxFileSize) {
20
- super(message);
21
- this.truncatedFilenames = truncatedFilenames;
22
- this.maxFileSize = maxFileSize;
23
- this.name = "FileTooLargeError";
24
- }
25
- truncatedFilenames;
26
- maxFileSize;
27
- code = "FILE_TOO_LARGE";
28
- status = 413;
29
- };
30
- function stashBodyPreview(req, body) {
31
- try {
32
- ;
33
- req[DEVTOOLS_BODY_PREVIEW] = body;
34
- } catch {
35
- }
36
- }
37
- function parseJsonBody(req) {
38
- return new Promise((resolve, reject) => {
39
- const chunks = [];
40
- req.on("data", (chunk) => chunks.push(chunk));
41
- req.on("end", () => {
42
- const raw = Buffer.concat(chunks).toString();
43
- if (!raw) {
44
- resolve(void 0);
45
- return;
46
- }
47
- try {
48
- resolve(JSON.parse(raw));
49
- } catch {
50
- reject(new Error("Invalid JSON body"));
51
- }
52
- });
53
- req.on("error", reject);
54
- });
55
- }
56
- function parseMultipartBody(req, contentType, options) {
57
- if (!contentType.includes("boundary=")) {
58
- return Promise.reject(new Error("Missing multipart boundary"));
59
- }
60
- return new Promise((resolve, reject) => {
61
- const fields = {};
62
- const files = [];
63
- const truncatedFilenames = [];
64
- let fileCount = 0;
65
- const bb = Busboy({
66
- headers: req.headers,
67
- limits: {
68
- fileSize: options.maxFileSize,
69
- files: options.maxFiles,
70
- fieldSize: options.maxFieldSize
71
- }
72
- });
73
- bb.on("field", (name, value) => {
74
- fields[name] = value;
75
- });
76
- bb.on(
77
- "file",
78
- (fieldname, stream, info) => {
79
- fileCount++;
80
- if (fileCount > options.maxFiles) {
81
- stream.resume();
82
- return;
83
- }
84
- const safeName = basename(info.filename || "unnamed");
85
- const chunks = [];
86
- let size = 0;
87
- let truncated = false;
88
- stream.on("data", (chunk) => {
89
- size += chunk.length;
90
- if (size > options.maxFileSize) {
91
- truncated = true;
92
- stream.resume();
93
- return;
94
- }
95
- chunks.push(chunk);
96
- });
97
- stream.on("end", () => {
98
- if (truncated) {
99
- truncatedFilenames.push(safeName);
100
- return;
101
- }
102
- const buffer = Buffer.concat(chunks);
103
- files.push({
104
- fieldname,
105
- filename: safeName,
106
- encoding: info.encoding,
107
- mimeType: info.mimeType,
108
- buffer,
109
- size: buffer.length
110
- });
111
- });
112
- }
113
- );
114
- bb.on("filesLimit", () => {
115
- reject(new Error(`Too many files. Maximum: ${options.maxFiles}`));
116
- });
117
- bb.on("error", (err) => {
118
- reject(err);
119
- });
120
- bb.on("close", () => {
121
- if (truncatedFilenames.length > 0) {
122
- reject(
123
- new FileTooLargeError(
124
- `File too large (max ${options.maxFileSize} bytes): ${truncatedFilenames.join(", ")}`,
125
- truncatedFilenames,
126
- options.maxFileSize
127
- )
128
- );
129
- return;
130
- }
131
- resolve({ fields, files });
132
- });
133
- req.pipe(bb);
134
- });
135
- }
136
- var DEVTOOLS_BODY_PREVIEW = /* @__PURE__ */ Symbol("theo:devtools:bodyPreview");
137
- async function parseRequestBody(req, options) {
138
- const method = req.method?.toUpperCase() ?? "GET";
139
- if (!METHODS_WITH_BODY.has(method)) {
140
- return { fields: {}, files: [], json: void 0 };
141
- }
142
- const contentType = req.headers["content-type"] ?? "";
143
- if (contentType.includes("application/json")) {
144
- const json = await parseJsonBody(req);
145
- stashBodyPreview(req, json);
146
- return { fields: {}, files: [], json };
147
- }
148
- if (contentType.includes("multipart/form-data")) {
149
- const limits = {
150
- maxFileSize: options?.maxFileSize ?? DEFAULT_MAX_FILE_SIZE,
151
- maxFiles: options?.maxFiles ?? DEFAULT_MAX_FILES,
152
- maxFieldSize: options?.maxFieldSize ?? DEFAULT_MAX_FIELD_SIZE
153
- };
154
- const { fields, files } = await parseMultipartBody(req, contentType, limits);
155
- stashBodyPreview(req, {
156
- fields,
157
- files: files.map((f) => ({
158
- fieldname: f.fieldname,
159
- filename: f.filename,
160
- mimeType: f.mimeType,
161
- size: f.size
162
- }))
163
- });
164
- return { fields, files };
165
- }
166
- if (!contentType) {
167
- return { fields: {}, files: [] };
168
- }
169
- throw new Error(`Unsupported Content-Type: ${contentType}`);
170
- }
171
-
172
- // src/server/observability/request-log.ts
173
- var defaultLoggerFn = (log) => {
174
- console.log(JSON.stringify(log));
175
- };
176
- function logRequest(info, customLogger, req) {
177
- const log = {
178
- level: "info",
179
- ...info,
180
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
181
- };
182
- const logger = customLogger ?? defaultLoggerFn;
183
- logger(log);
184
- broadcastRequestToDevtools(info, req);
185
- }
186
- function randomRequestId() {
187
- return `req-${String(Date.now())}-${Math.random().toString(36).slice(2, 8)}`;
188
- }
189
- function broadcastToDevtoolsCore(info, headers, stashedBody) {
190
- void Promise.all([
191
- import("./broadcast-LUMOJIJT.js"),
192
- import("./build-request-body-preview-XPZ2GYMG.js")
193
- ]).then(([{ broadcastRequest }, { buildRequestBodyPreview }]) => {
194
- const bodyInfo = buildRequestBodyPreview(stashedBody);
195
- broadcastRequest({
196
- id: randomRequestId(),
197
- traceId: info.requestId,
198
- method: info.method,
199
- path: info.url,
200
- status: info.status,
201
- durationMs: info.duration,
202
- startedAt: Date.now() - info.duration,
203
- ...headers ? { headers } : {},
204
- ...bodyInfo ? {
205
- bodyPreview: bodyInfo.preview,
206
- bodyLength: bodyInfo.length,
207
- bodyTruncated: bodyInfo.truncated
208
- } : {}
209
- });
210
- }).catch(() => {
211
- });
212
- }
213
- function broadcastRequestToDevtools(info, req) {
214
- const headers = req?.headers ? Object.fromEntries(
215
- Object.entries(req.headers).map(([k, v]) => [
216
- k,
217
- Array.isArray(v) ? v.join(", ") : v ?? ""
218
- ])
219
- ) : void 0;
220
- const stashedBody = req ? req[DEVTOOLS_BODY_PREVIEW] : void 0;
221
- broadcastToDevtoolsCore(info, headers, stashedBody);
222
- }
223
-
224
- // src/server/observability/logger.ts
225
- var _warnOnceSeen = /* @__PURE__ */ new Set();
226
- var MAX_SEEN = 1024;
227
- function warnOnce(key, payload) {
228
- if (_warnOnceSeen.has(key)) return;
229
- if (_warnOnceSeen.size >= MAX_SEEN) {
230
- const oldest = _warnOnceSeen.values().next().value;
231
- if (oldest !== void 0) _warnOnceSeen.delete(oldest);
232
- }
233
- _warnOnceSeen.add(key);
234
- let line;
235
- try {
236
- line = JSON.stringify({ ...payload, warnOnce: true });
237
- } catch {
238
- line = `[warnOnce] ${key} \u2014 (payload could not be serialized)`;
239
- }
240
- console.warn(line);
241
- broadcastWarnOnceToDevtools(key, payload);
242
- }
243
- function payloadField(payload, key, fallback = "") {
244
- const value = payload[key];
245
- if (typeof value === "string") return value;
246
- if (typeof value === "number" || typeof value === "boolean") return String(value);
247
- return fallback;
248
- }
249
- function randomDevtoolsId() {
250
- return `warn-${String(Date.now())}-${Math.random().toString(36).slice(2, 8)}`;
251
- }
252
- function broadcastWarnOnceToDevtools(key, payload) {
253
- void import("./broadcast-LUMOJIJT.js").then(({ broadcastCsrfWarn, broadcastError }) => {
254
- if (payload.event === "csrf.warn" && typeof payload.code === "string" && typeof payload.docsUrl === "string") {
255
- broadcastCsrfWarn({
256
- event: "csrf.warn",
257
- code: payload.code,
258
- docsUrl: payload.docsUrl,
259
- method: payloadField(payload, "method"),
260
- path: payloadField(payload, "path"),
261
- reason: payloadField(payload, "reason")
262
- });
263
- } else {
264
- broadcastError({
265
- id: randomDevtoolsId(),
266
- type: "console",
267
- message: payloadField(payload, "event", key),
268
- timestamp: Date.now()
269
- });
270
- }
271
- }).catch(() => {
272
- });
273
- }
274
-
275
- // src/server/http/send-response.ts
276
- function sendJson(res, data, status = 200, transformer) {
277
- const body = transformer ? transformer.serialize(data) : JSON.stringify(data);
278
- res.writeHead(status, {
279
- "Content-Type": "application/json",
280
- "Content-Length": Buffer.byteLength(body)
281
- });
282
- res.end(body);
283
- }
284
- function sendError(res, codeOrInput, message, status, issues, requestId, options) {
285
- let code;
286
- if (typeof codeOrInput === "string") {
287
- code = codeOrInput;
288
- message = message ?? "";
289
- status = status ?? 500;
290
- } else {
291
- code = codeOrInput.code;
292
- message = codeOrInput.message;
293
- status = codeOrInput.status;
294
- issues = codeOrInput.issues;
295
- requestId = codeOrInput.requestId;
296
- options = codeOrInput.options;
297
- }
298
- const errorMessage = code === "INTERNAL_ERROR" && process.env.NODE_ENV === "production" ? "Internal server error" : message;
299
- if (code === "INTERNAL_ERROR") {
300
- console.error(`[${requestId ?? "no-id"}] ${message}`);
301
- }
302
- if (status === 404 && options?.custom404Html) {
303
- const body = options.custom404Html;
304
- res.writeHead(404, {
305
- "Content-Type": "text/html; charset=utf-8",
306
- "Content-Length": Buffer.byteLength(body)
307
- });
308
- res.end(body);
309
- return;
310
- }
311
- if (status === 500 && options?.custom500Html) {
312
- const body = options.custom500Html;
313
- res.writeHead(500, {
314
- "Content-Type": "text/html; charset=utf-8",
315
- "Content-Length": Buffer.byteLength(body)
316
- });
317
- res.end(body);
318
- return;
319
- }
320
- sendJson(
321
- res,
322
- {
323
- error: {
324
- code,
325
- message: errorMessage,
326
- ...requestId ? { requestId } : {},
327
- ...issues ? { issues } : {}
328
- }
329
- },
330
- status
331
- );
332
- }
333
-
334
- // src/server/http/node-request.ts
335
- import { Readable } from "stream";
336
- function pickHeaderString(value) {
337
- if (typeof value === "string") return value;
338
- if (Array.isArray(value)) {
339
- for (const v of value) if (typeof v === "string" && v.length > 0) return v;
340
- }
341
- return void 0;
342
- }
343
- function synthesizeAbsoluteUrl(req) {
344
- const host = pickHeaderString(req.headers.host) ?? "localhost";
345
- return `http://${host}${req.url ?? "/"}`;
346
- }
347
- function nodeHeadersToWeb(req) {
348
- const headers = new Headers();
349
- for (const [key, value] of Object.entries(req.headers)) {
350
- if (value === void 0) continue;
351
- if (Array.isArray(value)) {
352
- headers.set(key, value.join(", "));
353
- } else {
354
- headers.set(key, value);
355
- }
356
- }
357
- return headers;
358
- }
359
- function incomingMessageToWebRequest(req) {
360
- const url = synthesizeAbsoluteUrl(req);
361
- const headers = nodeHeadersToWeb(req);
362
- const method = (req.method ?? "GET").toUpperCase();
363
- const hasBody = method !== "GET" && method !== "HEAD";
364
- if (!hasBody) {
365
- return new Request(url, { method, headers });
366
- }
367
- const webStream = Readable.toWeb(req);
368
- return new Request(url, {
369
- method,
370
- headers,
371
- body: webStream,
372
- // EC-2: Node 18+ requires `duplex: 'half'` when body is a stream.
373
- // The `RequestInit` type omits it (Web spec gap); cast accordingly.
374
- ...{ duplex: "half" }
375
- });
376
- }
377
- function incomingMessageToHandlerRequest(req) {
378
- return new Request(synthesizeAbsoluteUrl(req), {
379
- method: (req.method ?? "GET").toUpperCase(),
380
- headers: nodeHeadersToWeb(req)
381
- });
382
- }
383
-
384
21
  // src/core/contracts/auth-error-guard.ts
385
22
  function isAuthRequiredError(err) {
386
23
  if (err == null || typeof err !== "object") return false;
@@ -488,119 +125,6 @@ function createOutboxDispatcher(backend) {
488
125
  };
489
126
  }
490
127
 
491
- // src/server/security/csrf-warn-dispatch.ts
492
- function dispatchCsrfWarn(payload) {
493
- const key = `${payload.event}:${payload.method}:${payload.path ?? ""}`;
494
- warnOnce(key, payload);
495
- }
496
-
497
- // src/server/observability/audit-log.ts
498
- function safeAudit(logger, event) {
499
- if (!logger) return;
500
- try {
501
- const r = logger.log(event);
502
- if (r && typeof r.then === "function") {
503
- r.catch(() => {
504
- });
505
- }
506
- } catch {
507
- }
508
- }
509
-
510
- // src/server/security/csrf.ts
511
- function matchDisallowed(path, patterns) {
512
- for (const p of patterns) {
513
- if (typeof p === "string") {
514
- if (path === p) return true;
515
- } else if (p instanceof RegExp) {
516
- p.lastIndex = 0;
517
- if (p.test(path)) return true;
518
- }
519
- }
520
- return false;
521
- }
522
- var CSRF_WARN_CODE = "CSRF_STRICT_CUTOVER";
523
- var CSRF_WARN_DOCS_URL = "https://theokit.dev/upgrade/csrf-strict-cutover";
524
- function pickHeader(value) {
525
- if (typeof value === "string") return value;
526
- if (Array.isArray(value) && value.length > 0) return value[0];
527
- return "";
528
- }
529
- function isCsrfValidFromHeaders(opts) {
530
- if (opts.csrfActionHeader !== "1") {
531
- return { valid: false, reason: "Missing X-Theo-Action header" };
532
- }
533
- if (opts.origin === null || opts.origin === "") {
534
- return { valid: true };
535
- }
536
- if (opts.host === null || opts.host === "") {
537
- return { valid: true };
538
- }
539
- try {
540
- const originHost = new URL(opts.origin).host;
541
- if (originHost !== opts.host) {
542
- return { valid: false, reason: `Origin ${opts.origin} does not match host ${opts.host}` };
543
- }
544
- } catch {
545
- return { valid: false, reason: `Invalid origin: ${opts.origin}` };
546
- }
547
- return { valid: true };
548
- }
549
- function validateCsrf(req) {
550
- const action = req.headers["x-theo-action"];
551
- const origin = req.headers.origin;
552
- const host = req.headers.host;
553
- return isCsrfValidFromHeaders({
554
- csrfActionHeader: typeof action === "string" ? action : null,
555
- origin: origin !== void 0 ? pickHeader(origin) || null : null,
556
- host: host !== void 0 ? pickHeader(host) || null : null
557
- });
558
- }
559
- function validateCsrfRequest(request) {
560
- return isCsrfValidFromHeaders({
561
- csrfActionHeader: request.headers.get("x-theo-action"),
562
- origin: request.headers.get("origin"),
563
- host: request.headers.get("host")
564
- });
565
- }
566
- function dispatchCsrfWarn2(req, reason, logger, auditLogger, pathFallback = "") {
567
- const payload = {
568
- event: "csrf.warn",
569
- method: req.method ?? "UNKNOWN",
570
- path: logger?.path ?? pathFallback,
571
- reason,
572
- code: CSRF_WARN_CODE,
573
- docsUrl: CSRF_WARN_DOCS_URL
574
- };
575
- logger?.warn(payload);
576
- safeAudit(auditLogger, {
577
- action: "csrf.warn",
578
- actor: { type: "anonymous" },
579
- metadata: { ...payload }
580
- });
581
- }
582
- function enforceCsrf(req, mode, logger, disallowed, auditLogger) {
583
- if (mode === "off") {
584
- return { allow: true };
585
- }
586
- const check = validateCsrf(req);
587
- if (check.valid) {
588
- return { allow: true };
589
- }
590
- if (disallowed?.behavior === "raise") {
591
- const path = logger?.path ?? req.url ?? "";
592
- if (matchDisallowed(path, disallowed.routes)) {
593
- return { allow: false, reason: check.reason };
594
- }
595
- }
596
- if (mode === "warn") {
597
- dispatchCsrfWarn2(req, check.reason, logger, auditLogger);
598
- return { allow: true, reason: check.reason };
599
- }
600
- dispatchCsrfWarn2(req, check.reason, logger, auditLogger);
601
- return { allow: false, reason: check.reason };
602
- }
603
-
604
128
  // src/server/http/execute-stages.ts
605
129
  async function parseQueryAndBody(req, res, requestId) {
606
130
  const url = new URL(req.url ?? "/", `http://${req.headers.host ?? "localhost"}`);
@@ -2377,15 +1901,6 @@ function generateNonce() {
2377
1901
  }
2378
1902
 
2379
1903
  export {
2380
- logRequest,
2381
- warnOnce,
2382
- dispatchCsrfWarn,
2383
- safeAudit,
2384
- validateCsrfRequest,
2385
- enforceCsrf,
2386
- sendError,
2387
- incomingMessageToWebRequest,
2388
- incomingMessageToHandlerRequest,
2389
1904
  executeRoute,
2390
1905
  executeAction,
2391
1906
  findSuggestion,
@@ -2407,4 +1922,4 @@ export {
2407
1922
  applySecurityHeaders,
2408
1923
  generateNonce
2409
1924
  };
2410
- //# sourceMappingURL=chunk-IE6C4KZX.js.map
1925
+ //# sourceMappingURL=chunk-Q5OT7LZG.js.map