theokit 0.48.14 → 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-E4PISKMB.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-YZRZMHAX.js → actions-virtual-module-ZYLMNW6K.js} +13 -8
  5. package/dist/{actions-virtual-module-YZRZMHAX.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-HLP26EYM.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-I4X2UJWW.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-F2Q5QTSC.js → build-FLX6VF7Q.js} +71 -26
  23. package/dist/build-FLX6VF7Q.js.map +1 -0
  24. package/dist/{bun-A5B2MJMO.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-WYHYOYRH.js → chunk-C62IZEJI.js} +463 -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-YXG2SGQ3.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-FTFN4MYN.js → chunk-JIKNR5LX.js} +639 -516
  81. package/dist/chunk-JIKNR5LX.js.map +1 -0
  82. package/dist/{chunk-NTWNO24W.js → chunk-JWRCZIA4.js} +266 -110
  83. package/dist/chunk-JWRCZIA4.js.map +1 -0
  84. package/dist/{chunk-BHOTGS7N.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-DS5MCU2X.js → chunk-NZ5JU6D3.js} +9 -9
  94. package/dist/{chunk-OOBYPCZC.js → chunk-OAUI273L.js} +304 -195
  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-AATSV4UV.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-WSXNGF7X.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-CDFPXISP.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-QXZW722N.js → info-Y55RWS42.js} +8 -6
  168. package/dist/{info-QXZW722N.js.map → info-Y55RWS42.js.map} +1 -1
  169. package/dist/{internal-api-FBK2YXSI.js → internal-api-IP35YU3G.js} +22 -12
  170. package/dist/{internal-api-ZCJWJ5EC.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-KTYP4ZON.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-OUXNB2F2.js → openapi-VFPEZSRI.js} +13 -11
  181. package/dist/{openapi-OUXNB2F2.js.map → openapi-VFPEZSRI.js.map} +1 -1
  182. package/dist/{plugin-runner-DHVr1cC5.d.ts → plugin-runner-BVMOSxvb.d.ts} +1 -1
  183. package/dist/{plugin-types-4VN1GMqV.d.ts → plugin-types-BUVfUQ0V.d.ts} +1 -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-NJR4ISCT.js → routes-BPLU3ISV.js} +11 -9
  194. package/dist/{routes-NJR4ISCT.js.map → routes-BPLU3ISV.js.map} +1 -1
  195. package/dist/{scan-7MJC6PYU.js → scan-YJEE4KQK.js} +2 -2
  196. package/dist/{schema-DNIT7JQX.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 -105
  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 +43 -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-P4JERLBL.js → services-typed-client-XGT5SUUN.js} +2 -2
  227. package/dist/{start-25OV2CAK.js → start-UZDMOT7I.js} +223 -161
  228. package/dist/start-UZDMOT7I.js.map +1 -0
  229. package/dist/{static-RTO637XW.js → static-SVDWIOXJ.js} +24 -13
  230. package/dist/static-SVDWIOXJ.js.map +1 -0
  231. package/dist/{theo-cloud-UZ3GINRU.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-E4PISKMB.js.map +0 -1
  240. package/dist/agent-XAQCUQNB.js +0 -15
  241. package/dist/app-typed-client-HLP26EYM.js.map +0 -1
  242. package/dist/app-typed-client-I4X2UJWW.js.map +0 -1
  243. package/dist/aws-lambda-KES4MFJV.js +0 -172
  244. package/dist/aws-lambda-KES4MFJV.js.map +0 -1
  245. package/dist/build-F2Q5QTSC.js.map +0 -1
  246. package/dist/bun-A5B2MJMO.js.map +0 -1
  247. package/dist/chunk-646CA6RV.js.map +0 -1
  248. package/dist/chunk-7LVM22VG.js.map +0 -1
  249. package/dist/chunk-A7JBF5FO.js.map +0 -1
  250. package/dist/chunk-AATSV4UV.js.map +0 -1
  251. package/dist/chunk-AM3QABW5.js +0 -161
  252. package/dist/chunk-AM3QABW5.js.map +0 -1
  253. package/dist/chunk-AXKUA57G.js +0 -94
  254. package/dist/chunk-AXKUA57G.js.map +0 -1
  255. package/dist/chunk-BHOTGS7N.js.map +0 -1
  256. package/dist/chunk-BMHS4WAN.js.map +0 -1
  257. package/dist/chunk-CMYSHZFT.js +0 -422
  258. package/dist/chunk-CMYSHZFT.js.map +0 -1
  259. package/dist/chunk-DQIPV7L5.js +0 -118
  260. package/dist/chunk-DQIPV7L5.js.map +0 -1
  261. package/dist/chunk-FB2HBNIC.js.map +0 -1
  262. package/dist/chunk-FNTLKHZ7.js.map +0 -1
  263. package/dist/chunk-FTFN4MYN.js.map +0 -1
  264. package/dist/chunk-HBU2GIMZ.js.map +0 -1
  265. package/dist/chunk-IEES3CHD.js.map +0 -1
  266. package/dist/chunk-JA2ZAT5Q.js.map +0 -1
  267. package/dist/chunk-KD5G3YXI.js.map +0 -1
  268. package/dist/chunk-KTKTHIUF.js +0 -405
  269. package/dist/chunk-KTKTHIUF.js.map +0 -1
  270. package/dist/chunk-LNVMHQ2Z.js +0 -54
  271. package/dist/chunk-LNVMHQ2Z.js.map +0 -1
  272. package/dist/chunk-LXAESF4Y.js.map +0 -1
  273. package/dist/chunk-MTEWLGVY.js.map +0 -1
  274. package/dist/chunk-NTWNO24W.js.map +0 -1
  275. package/dist/chunk-O3JIAU3V.js.map +0 -1
  276. package/dist/chunk-OLGPYOLO.js.map +0 -1
  277. package/dist/chunk-OOBYPCZC.js.map +0 -1
  278. package/dist/chunk-T5C46IIU.js.map +0 -1
  279. package/dist/chunk-U267AOWS.js +0 -28
  280. package/dist/chunk-U267AOWS.js.map +0 -1
  281. package/dist/chunk-UW2TEAGR.js +0 -77
  282. package/dist/chunk-UW2TEAGR.js.map +0 -1
  283. package/dist/chunk-WPJOTQA5.js +0 -1
  284. package/dist/chunk-WSXNGF7X.js.map +0 -1
  285. package/dist/chunk-WYHYOYRH.js.map +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-YXG2SGQ3.js.map +0 -1
  291. package/dist/cloudflare-IN2WB7FZ.js +0 -122
  292. package/dist/cloudflare-IN2WB7FZ.js.map +0 -1
  293. package/dist/deno-deploy-LYXQEJ6A.js +0 -107
  294. package/dist/deno-deploy-LYXQEJ6A.js.map +0 -1
  295. package/dist/dev-CDFPXISP.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-D_PxPXgQ.d.ts +0 -575
  299. package/dist/load-config-FIWNKOJO.js +0 -14
  300. package/dist/match-CfbEFRG4.d.ts +0 -26
  301. package/dist/netlify-DLEOCFAD.js +0 -150
  302. package/dist/netlify-DLEOCFAD.js.map +0 -1
  303. package/dist/node-QXYSUWQ4.js +0 -10
  304. package/dist/registry-S7OMF3OS.js +0 -23
  305. package/dist/start-25OV2CAK.js.map +0 -1
  306. package/dist/static-RTO637XW.js.map +0 -1
  307. package/dist/theo-cloud-UZ3GINRU.js.map +0 -1
  308. package/dist/vercel-6D6EZUVD.js +0 -133
  309. package/dist/vercel-6D6EZUVD.js.map +0 -1
  310. package/dist/vite-plugin-RJFKLF2U.js +0 -36
  311. /package/dist/{chunk-WPJOTQA5.js.map → adapters/agent-mount.js.map} +0 -0
  312. /package/dist/{agent-XAQCUQNB.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-DS5MCU2X.js.map → chunk-NZ5JU6D3.js.map} +0 -0
  317. /package/dist/{internal-api-ZCJWJ5EC.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-FBK2YXSI.js.map → internal-api-IP35YU3G.js.map} +0 -0
  320. /package/dist/{load-config-FIWNKOJO.js.map → load-config-4ATXQUN3.js.map} +0 -0
  321. /package/dist/{mcp-KTYP4ZON.js.map → mcp-5LLNAGKA.js.map} +0 -0
  322. /package/dist/{node-QXYSUWQ4.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-S7OMF3OS.js.map → registry-KBZDCFVQ.js.map} +0 -0
  325. /package/dist/{schema-DNIT7JQX.js.map → scan-YJEE4KQK.js.map} +0 -0
  326. /package/dist/{vite-plugin-RJFKLF2U.js.map → schema-SOAD43RQ.js.map} +0 -0
  327. /package/dist/{services-typed-client-P4JERLBL.js.map → services-typed-client-XGT5SUUN.js.map} +0 -0
@@ -3,18 +3,20 @@ import "tsx/esm";
3
3
  import {
4
4
  validateProjectStructure
5
5
  } from "./chunk-GEQJAFSV.js";
6
- import {
7
- loadConfig
8
- } from "./chunk-AATSV4UV.js";
9
- import "./chunk-HBU2GIMZ.js";
10
- import "./chunk-CMYSHZFT.js";
11
- import "./chunk-WSXNGF7X.js";
12
6
  import {
13
7
  scanServerActions,
14
8
  scanServerRoutes,
15
9
  scanWebSocketRoutes
16
- } from "./chunk-BMHS4WAN.js";
17
- import "./chunk-A7JBF5FO.js";
10
+ } from "./chunk-XS7EX55U.js";
11
+ import "./chunk-FD4ZDTQ6.js";
12
+ import {
13
+ loadConfig
14
+ } from "./chunk-QTHVHNJJ.js";
15
+ import "./chunk-3QPVEJ7D.js";
16
+ import "./chunk-U5PWXS3J.js";
17
+ import "./chunk-FH3SQR6P.js";
18
+ import "./chunk-ZNZISJDZ.js";
19
+ import "./chunk-VI7ZANB3.js";
18
20
 
19
21
  // src/cli/commands/routes.ts
20
22
  import { resolve, relative } from "path";
@@ -62,4 +64,4 @@ async function routesCommand() {
62
64
  export {
63
65
  routesCommand
64
66
  };
65
- //# sourceMappingURL=routes-NJR4ISCT.js.map
67
+ //# sourceMappingURL=routes-BPLU3ISV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cli/commands/routes.ts"],"sourcesContent":["import { resolve, relative } from 'node:path'\n\nimport { loadConfig } from '../../config/load-config.js'\nimport { validateProjectStructure } from '../../config/validate-structure.js'\nimport { scanServerActions } from '../../server/scan/action-scan.js'\nimport { scanServerRoutes } from '../../server/scan/scan.js'\nimport { scanWebSocketRoutes } from '../../server/scan/ws-scan.js'\n\nexport async function routesCommand(): Promise<void> {\n const cwd = process.cwd()\n const config = await loadConfig(cwd)\n // #95 — honor config.appDir so a custom frontend dir (e.g. apps/web) passes the structure gate.\n validateProjectStructure(cwd, config.appDir)\n\n const serverDir = resolve(cwd, config.serverDir)\n\n const apiRoutes = scanServerRoutes(serverDir)\n const actions = scanServerActions(serverDir)\n const wsRoutes = scanWebSocketRoutes(serverDir)\n\n const totalCount = apiRoutes.length + actions.length + wsRoutes.length\n\n if (totalCount === 0) {\n console.log('\\n No routes found.\\n')\n return\n }\n\n // API Routes\n if (apiRoutes.length > 0) {\n console.log('\\n API Routes')\n console.log(' ' + '─'.repeat(60))\n for (const route of apiRoutes) {\n const rel = relative(cwd, route.filePath)\n console.log(` GET/POST ${route.routePath.padEnd(30)} ${rel}`)\n }\n }\n\n // Actions\n if (actions.length > 0) {\n console.log('\\n Actions')\n console.log(' ' + '─'.repeat(60))\n for (const action of actions) {\n const rel = relative(cwd, action.filePath)\n console.log(` POST /api/__actions/${action.actionPath.padEnd(18)} ${rel}`)\n }\n }\n\n // WebSocket\n if (wsRoutes.length > 0) {\n console.log('\\n WebSocket')\n console.log(' ' + '─'.repeat(60))\n for (const route of wsRoutes) {\n const rel = relative(cwd, route.filePath)\n console.log(` WS ${route.wsPath.padEnd(30)} ${rel}`)\n }\n }\n\n console.log(`\\n Total: ${totalCount} endpoints\\n`)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,SAAS,SAAS,gBAAgB;AAQlC,eAAsB,gBAA+B;AACnD,QAAM,MAAM,QAAQ,IAAI;AACxB,QAAM,SAAS,MAAM,WAAW,GAAG;AAEnC,2BAAyB,KAAK,OAAO,MAAM;AAE3C,QAAM,YAAY,QAAQ,KAAK,OAAO,SAAS;AAE/C,QAAM,YAAY,iBAAiB,SAAS;AAC5C,QAAM,UAAU,kBAAkB,SAAS;AAC3C,QAAM,WAAW,oBAAoB,SAAS;AAE9C,QAAM,aAAa,UAAU,SAAS,QAAQ,SAAS,SAAS;AAEhE,MAAI,eAAe,GAAG;AACpB,YAAQ,IAAI,wBAAwB;AACpC;AAAA,EACF;AAGA,MAAI,UAAU,SAAS,GAAG;AACxB,YAAQ,IAAI,gBAAgB;AAC5B,YAAQ,IAAI,OAAO,SAAI,OAAO,EAAE,CAAC;AACjC,eAAW,SAAS,WAAW;AAC7B,YAAM,MAAM,SAAS,KAAK,MAAM,QAAQ;AACxC,cAAQ,IAAI,eAAe,MAAM,UAAU,OAAO,EAAE,CAAC,IAAI,GAAG,EAAE;AAAA,IAChE;AAAA,EACF;AAGA,MAAI,QAAQ,SAAS,GAAG;AACtB,YAAQ,IAAI,aAAa;AACzB,YAAQ,IAAI,OAAO,SAAI,OAAO,EAAE,CAAC;AACjC,eAAW,UAAU,SAAS;AAC5B,YAAM,MAAM,SAAS,KAAK,OAAO,QAAQ;AACzC,cAAQ,IAAI,8BAA8B,OAAO,WAAW,OAAO,EAAE,CAAC,IAAI,GAAG,EAAE;AAAA,IACjF;AAAA,EACF;AAGA,MAAI,SAAS,SAAS,GAAG;AACvB,YAAQ,IAAI,eAAe;AAC3B,YAAQ,IAAI,OAAO,SAAI,OAAO,EAAE,CAAC;AACjC,eAAW,SAAS,UAAU;AAC5B,YAAM,MAAM,SAAS,KAAK,MAAM,QAAQ;AACxC,cAAQ,IAAI,eAAe,MAAM,OAAO,OAAO,EAAE,CAAC,IAAI,GAAG,EAAE;AAAA,IAC7D;AAAA,EACF;AAEA,UAAQ,IAAI;AAAA,WAAc,UAAU;AAAA,CAAc;AACpD;","names":[]}
1
+ {"version":3,"sources":["../src/cli/commands/routes.ts"],"sourcesContent":["import { resolve, relative } from 'node:path'\n\nimport { loadConfig } from '../../config/load-config.js'\nimport { validateProjectStructure } from '../../config/validate-structure.js'\nimport { scanServerActions } from '../../server/scan/action-scan.js'\nimport { scanServerRoutes } from '../../server/scan/scan.js'\nimport { scanWebSocketRoutes } from '../../server/scan/ws-scan.js'\n\nexport async function routesCommand(): Promise<void> {\n const cwd = process.cwd()\n const config = await loadConfig(cwd)\n // #95 — honor config.appDir so a custom frontend dir (e.g. apps/web) passes the structure gate.\n validateProjectStructure(cwd, config.appDir)\n\n const serverDir = resolve(cwd, config.serverDir)\n\n const apiRoutes = scanServerRoutes(serverDir)\n const actions = scanServerActions(serverDir)\n const wsRoutes = scanWebSocketRoutes(serverDir)\n\n const totalCount = apiRoutes.length + actions.length + wsRoutes.length\n\n if (totalCount === 0) {\n console.log('\\n No routes found.\\n')\n return\n }\n\n // API Routes\n if (apiRoutes.length > 0) {\n console.log('\\n API Routes')\n console.log(' ' + '─'.repeat(60))\n for (const route of apiRoutes) {\n const rel = relative(cwd, route.filePath)\n console.log(` GET/POST ${route.routePath.padEnd(30)} ${rel}`)\n }\n }\n\n // Actions\n if (actions.length > 0) {\n console.log('\\n Actions')\n console.log(' ' + '─'.repeat(60))\n for (const action of actions) {\n const rel = relative(cwd, action.filePath)\n console.log(` POST /api/__actions/${action.actionPath.padEnd(18)} ${rel}`)\n }\n }\n\n // WebSocket\n if (wsRoutes.length > 0) {\n console.log('\\n WebSocket')\n console.log(' ' + '─'.repeat(60))\n for (const route of wsRoutes) {\n const rel = relative(cwd, route.filePath)\n console.log(` WS ${route.wsPath.padEnd(30)} ${rel}`)\n }\n }\n\n console.log(`\\n Total: ${totalCount} endpoints\\n`)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,SAAS,gBAAgB;AAQlC,eAAsB,gBAA+B;AACnD,QAAM,MAAM,QAAQ,IAAI;AACxB,QAAM,SAAS,MAAM,WAAW,GAAG;AAEnC,2BAAyB,KAAK,OAAO,MAAM;AAE3C,QAAM,YAAY,QAAQ,KAAK,OAAO,SAAS;AAE/C,QAAM,YAAY,iBAAiB,SAAS;AAC5C,QAAM,UAAU,kBAAkB,SAAS;AAC3C,QAAM,WAAW,oBAAoB,SAAS;AAE9C,QAAM,aAAa,UAAU,SAAS,QAAQ,SAAS,SAAS;AAEhE,MAAI,eAAe,GAAG;AACpB,YAAQ,IAAI,wBAAwB;AACpC;AAAA,EACF;AAGA,MAAI,UAAU,SAAS,GAAG;AACxB,YAAQ,IAAI,gBAAgB;AAC5B,YAAQ,IAAI,OAAO,SAAI,OAAO,EAAE,CAAC;AACjC,eAAW,SAAS,WAAW;AAC7B,YAAM,MAAM,SAAS,KAAK,MAAM,QAAQ;AACxC,cAAQ,IAAI,eAAe,MAAM,UAAU,OAAO,EAAE,CAAC,IAAI,GAAG,EAAE;AAAA,IAChE;AAAA,EACF;AAGA,MAAI,QAAQ,SAAS,GAAG;AACtB,YAAQ,IAAI,aAAa;AACzB,YAAQ,IAAI,OAAO,SAAI,OAAO,EAAE,CAAC;AACjC,eAAW,UAAU,SAAS;AAC5B,YAAM,MAAM,SAAS,KAAK,OAAO,QAAQ;AACzC,cAAQ,IAAI,8BAA8B,OAAO,WAAW,OAAO,EAAE,CAAC,IAAI,GAAG,EAAE;AAAA,IACjF;AAAA,EACF;AAGA,MAAI,SAAS,SAAS,GAAG;AACvB,YAAQ,IAAI,eAAe;AAC3B,YAAQ,IAAI,OAAO,SAAI,OAAO,EAAE,CAAC;AACjC,eAAW,SAAS,UAAU;AAC5B,YAAM,MAAM,SAAS,KAAK,MAAM,QAAQ;AACxC,cAAQ,IAAI,eAAe,MAAM,OAAO,OAAO,EAAE,CAAC,IAAI,GAAG,EAAE;AAAA,IAC7D;AAAA,EACF;AAEA,UAAQ,IAAI;AAAA,WAAc,UAAU;AAAA,CAAc;AACpD;","names":[]}
@@ -2,8 +2,8 @@
2
2
  import "tsx/esm";
3
3
  import {
4
4
  scanRoutes
5
- } from "./chunk-IEES3CHD.js";
5
+ } from "./chunk-47MM2JUK.js";
6
6
  export {
7
7
  scanRoutes
8
8
  };
9
- //# sourceMappingURL=scan-7MJC6PYU.js.map
9
+ //# sourceMappingURL=scan-YJEE4KQK.js.map
@@ -1,13 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import "tsx/esm";
3
+ import {
4
+ theoConfigSchema
5
+ } from "./chunk-FH3SQR6P.js";
6
+ import "./chunk-ZNZISJDZ.js";
3
7
  import {
4
8
  cacheSchema,
5
9
  corsSchema,
6
10
  securityHeadersSchema,
7
- storageSchema,
8
- theoConfigSchema
9
- } from "./chunk-CMYSHZFT.js";
10
- import "./chunk-WSXNGF7X.js";
11
+ storageSchema
12
+ } from "./chunk-VI7ZANB3.js";
11
13
  export {
12
14
  cacheSchema,
13
15
  corsSchema,
@@ -15,4 +17,4 @@ export {
15
17
  storageSchema,
16
18
  theoConfigSchema
17
19
  };
18
- //# sourceMappingURL=schema-DNIT7JQX.js.map
20
+ //# sourceMappingURL=schema-SOAD43RQ.js.map
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env node
2
+ import "tsx/esm";
3
+ import {
4
+ cacheSchema,
5
+ corsSchema,
6
+ loggingSchema,
7
+ observabilitySchema,
8
+ rateLimitSchema,
9
+ securityHeadersSchema,
10
+ securitySchema,
11
+ storageSchema,
12
+ uploadSchema
13
+ } from "./chunk-VI7ZANB3.js";
14
+ export {
15
+ cacheSchema,
16
+ corsSchema,
17
+ loggingSchema,
18
+ observabilitySchema,
19
+ rateLimitSchema,
20
+ securityHeadersSchema,
21
+ securitySchema,
22
+ storageSchema,
23
+ uploadSchema
24
+ };
25
+ //# sourceMappingURL=schemas-4AXHQMV3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * The security-header baseline, as a pure function of configuration.
3
+ *
4
+ * It lives in `core/contracts/` because **every** target needs it and none of it
5
+ * is transport-specific: `buildSecurityHeaders` takes a config object and
6
+ * returns `Record<string, string>`. `theokit start` writes that map onto a Node
7
+ * `ServerResponse` (`server/security/security-headers.ts`); the six Web deploy
8
+ * adapters write it onto a `Response` (`adapters/security-headers.ts`). Putting
9
+ * it under `server/` made the second group import across a boundary the
10
+ * dependency graph forbids — `adapters → server` is not a declared edge in
11
+ * ADR-0001 v3 — and the fix is not to widen the rule but to notice that this
12
+ * code was never server code.
13
+ *
14
+ * `core/contracts/<file>.ts` is the declared exception to the deep-import rule,
15
+ * so both callers reach it directly and there is still exactly ONE definition of
16
+ * what a configured header set means.
17
+ *
18
+ * Phase 6 — Default Security Headers (D4 / EC-2).
19
+ *
20
+ * Per-response security baseline. The framework applies these BEFORE the
21
+ * route handler runs so a handler can still override via `res.setHeader`.
22
+ *
23
+ * EC-2 backward-compatibility: CSP ships in `report-only` mode by default
24
+ * for 0.2.0. Existing apps with inline scripts or third-party CDN scripts
25
+ * keep working but consumers see violation reports via their CSP report
26
+ * collector (or browser DevTools). 0.3.0 will flip the default to
27
+ * `enforce` after a release of visibility.
28
+ */
29
+ /**
30
+ * Default Content-Security-Policy. Conservative-but-not-paralyzing:
31
+ *
32
+ * - default-src 'self' — every fetch falls back to same-origin
33
+ * - script-src 'self' — T6.1 (0.3.0): `'unsafe-inline'`
34
+ * dropped. The SSR pipeline issues a
35
+ * per-request nonce that REPLACES
36
+ * this directive at runtime
37
+ * (`'nonce-<token>'`). For static /
38
+ * non-SSR contexts where no nonce is
39
+ * available, the policy is strict-
40
+ * no-inline — user inline scripts
41
+ * must be migrated to external
42
+ * `<script src="...">` or threaded
43
+ * through `ctx.nonce`.
44
+ * - style-src 'self' 'unsafe-inline' — Tailwind + TheoUI use style attrs
45
+ * in animation directives
46
+ * - img-src 'self' data: blob: — supports inline data URIs, blobs
47
+ * from canvas exports
48
+ * - font-src 'self' data: — Geist fonts inline-base64
49
+ * - connect-src 'self' ws: wss: — WebSocket dev HMR + agent streams
50
+ * - frame-ancestors 'none' — clickjacking defense
51
+ */
52
+ /**
53
+ * T5.1 — default CSP includes the built-in report endpoint so violations
54
+ * are visible without extra config. Apps that ship a custom `csp` string
55
+ * override the report-uri.
56
+ */
57
+ declare const DEFAULT_CSP: string;
58
+ /**
59
+ * T1.1 — Default Permissions-Policy header (default-deny stance).
60
+ *
61
+ * Disables sensitive Web APIs that the vast majority of apps don't use.
62
+ * Apps that DO need any of these opt in by overriding `permissionsPolicy`
63
+ * in `config.security.headers`.
64
+ *
65
+ * The seven features listed are the most-abused for: tracking
66
+ * (geolocation, accelerometer, gyroscope), spyware (camera, microphone),
67
+ * fraud (payment), and hardware exfiltration (usb).
68
+ *
69
+ * Aligns with Mozilla baseline + OWASP Secure Headers + Lighthouse PWA.
70
+ */
71
+ declare const DEFAULT_PERMISSIONS_POLICY = "geolocation=(), camera=(), microphone=(), payment=(), usb=(), accelerometer=(), gyroscope=()";
72
+ type CspMode = 'enforce' | 'report-only' | 'off';
73
+ interface SecurityHeadersConfig {
74
+ /**
75
+ * Custom CSP policy string. When set, replaces the default verbatim.
76
+ * Pass `false` to disable CSP entirely (alias for `cspMode: 'off'`).
77
+ */
78
+ csp?: string | false;
79
+ /**
80
+ * Enforcement mode for CSP. Default `report-only` for 0.2.0 (EC-2).
81
+ * 0.3.0 will default to `enforce`.
82
+ */
83
+ cspMode?: CspMode;
84
+ /**
85
+ * Strict-Transport-Security value. Defaults to
86
+ * `max-age=31536000; includeSubDomains` in production. Pass `false` to
87
+ * suppress (e.g. internal LANs without TLS).
88
+ */
89
+ hsts?: string | false;
90
+ /** X-Frame-Options. Default DENY. */
91
+ frameOptions?: 'DENY' | 'SAMEORIGIN';
92
+ /** X-Content-Type-Options. Default `nosniff`. */
93
+ contentTypeOptions?: 'nosniff';
94
+ /** Referrer-Policy. Default `strict-origin-when-cross-origin`. */
95
+ referrerPolicy?: string;
96
+ /**
97
+ * T1.1 — Permissions-Policy directive string. When set, replaces the
98
+ * default verbatim (no merge — see ADR-EC-12). Pass `false` to disable
99
+ * the header entirely. Schema-level refinement rejects any string
100
+ * containing CR/LF (EC-3 — CWE-113 HTTP Response Splitting mitigation).
101
+ */
102
+ permissionsPolicy?: string | false;
103
+ }
104
+ interface SecurityEnv {
105
+ production: boolean;
106
+ }
107
+ /**
108
+ * T4.1 — Per-request options passed by the SSR pipeline.
109
+ *
110
+ * - `nonce`: when set, the framework substitutes the `'unsafe-inline'`
111
+ * token in `script-src` with `'nonce-<nonce>'`. EC-3 forces
112
+ * `Cache-Control: private, no-store` so a CDN cannot cache the HTML
113
+ * (carrying one nonce) and re-serve it with a freshly-generated CSP
114
+ * header (carrying a different nonce).
115
+ * - `prerender`: when true, the nonce is IGNORED. Prerendered HTML is
116
+ * generated at build time with no nonce in the script tags; mixing a
117
+ * runtime nonce in the header would block every script. EC-4.
118
+ */
119
+ interface SecurityHeadersOptions {
120
+ nonce?: string;
121
+ prerender?: boolean;
122
+ }
123
+ /**
124
+ * Build the security headers map for a given config + env. Pure function —
125
+ * returned object can be inspected, logged, or applied to a response.
126
+ */
127
+ declare function buildSecurityHeaders(config: SecurityHeadersConfig, env: SecurityEnv, options?: SecurityHeadersOptions): Record<string, string>;
128
+
129
+ export { type CspMode as C, DEFAULT_CSP as D, type SecurityHeadersConfig as S, DEFAULT_PERMISSIONS_POLICY as a, buildSecurityHeaders as b, type SecurityEnv as c, type SecurityHeadersOptions as d };
@@ -4,110 +4,7 @@ import { AcpTransport } from '@theokit/agents';
4
4
  export { InProcessApprovalRequest, InProcessApprovalRequiredError, InProcessAwaitApproval, StreamAgentTurnDeps, StreamAgentTurnInProcessInput, streamAgentTurnInProcess } from '@theokit/agents';
5
5
  import { CustomTool as CustomTool$1 } from '@theokit/sdk';
6
6
  import { V as VerifyFn } from '../../webhook-types-DGIjjcaI.js';
7
-
8
- /**
9
- * Provider Resolver — Strategy + Registry pattern (FAANG-grade).
10
- *
11
- * Inspiration: Dapr Conversation Registry (`dapr/pkg/components/conversation/registry.go`)
12
- * + Encore Manager provider array (`encore/runtimes/go/pubsub/manager_internal.go`).
13
- *
14
- * Principle: provider routing is the FRAMEWORK's responsibility, not the consumer's — but the
15
- * consumer still gets to SAY which provider it wants, and it says so in the model id.
16
- *
17
- * `provider/model` is the convention every agent in this ecosystem already writes
18
- * (`anthropic/claude-sonnet-4-6`, `openrouter/anthropic/claude-haiku-4.5`), and it is the one the
19
- * SDK routes on. Until theokit#326 this resolver ignored it entirely and picked by env-var
20
- * priority, so an agent that declared `anthropic/...` was handed an OpenRouter key whenever one
21
- * happened to be present — and every turn failed with `auth_failed (HTTP 401)` against a provider
22
- * nobody asked for. The declared provider now wins; priority is the fallback for a bare model id.
23
- *
24
- * Wire protocol: OpenAI Chat Completions (universal — implemented by every
25
- * os providers: OpenRouter, Groq, Mistral, Together, Anthropic via proxy, etc).
26
- *
27
- * Resolution by priority (FIRST match wins):
28
- * 1. OPENROUTER_API_KEY → baseUrl=openrouter.ai (multi-model gateway)
29
- * 2. OPENAI_API_KEY → baseUrl=api.openai.com
30
- * 3. ANTHROPIC_API_KEY → direct Anthropic (Messages API, not OpenAI-compat)
31
- *
32
- * Escape hatch: an explicit `options.apiKey` OVERRIDES auto-resolution
33
- * (the consumer can force a specific provider if it wants to).
34
- */
35
- /**
36
- * Provider configuration descriptor — Registry entry shape.
37
- *
38
- * @public
39
- */
40
- interface ProviderDescriptor {
41
- /** Stable name used internally — not exposed on the wire. */
42
- name: string;
43
- /** Environment variable that holds the API key for this provider. */
44
- envKey: string;
45
- /** Base URL for the provider's OpenAI-compatible (or native) API. */
46
- baseUrl: string;
47
- /** Resolution priority (lower = higher priority). FIRST match wins. */
48
- priority: number;
49
- }
50
- /**
51
- * Resolved provider configuration — output of `resolveProvider()`.
52
- *
53
- * @public
54
- */
55
- interface ResolvedProvider {
56
- name: string;
57
- apiKey: string;
58
- baseUrl: string;
59
- }
60
- /** Where the announcement goes, and what it may contain. @public */
61
- interface ResolveOptions {
62
- /** Receives one line per provider, at most once. NEVER receives the key. */
63
- announce?: (line: string) => void;
64
- }
65
- /**
66
- * Register a new provider (Registry pattern — runtime extension point).
67
- * Useful for self-hosted endpoints or custom providers without touching theokit src.
68
- *
69
- * @example
70
- * registerProvider({
71
- * name: 'self-hosted',
72
- * envKey: 'SELF_HOSTED_API_KEY',
73
- * baseUrl: 'https://llm.internal.acme.com/v1',
74
- * priority: 0, // highest priority
75
- * })
76
- *
77
- * @public
78
- */
79
- declare function registerProvider(descriptor: ProviderDescriptor): void;
80
- /**
81
- * Reset registry to DEFAULT_REGISTRY (test-only / dev escape hatch).
82
- *
83
- * @public
84
- */
85
- declare function resetProviderRegistry(): void;
86
- /**
87
- * Get current registry snapshot (read-only — inspection).
88
- *
89
- * @public
90
- */
91
- declare function listProviders(): readonly ProviderDescriptor[];
92
- /**
93
- * Resolve the provider for a model.
94
- *
95
- * When `modelId` declares a registered provider (`anthropic/…`), THAT provider's key is
96
- * required — no substitution. Otherwise the registry is walked by priority, first match wins.
97
- *
98
- * @returns ResolvedProvider with apiKey + baseUrl + name
99
- * @throws Error if NO provider env var is set (actionable message)
100
- *
101
- * @public
102
- */
103
- declare function resolveProvider(modelId?: string, options?: ResolveOptions): ResolvedProvider;
104
- /**
105
- * Try to resolve — does NOT throw. Returns null if no provider available.
106
- * Useful for graceful degradation (e.g., mock mode).
107
- *
108
- * @public
109
- */
110
- declare function tryResolveProvider(modelId?: string): ResolvedProvider | null;
7
+ export { P as ProviderDescriptor, R as ResolvedProvider, l as listProviders, a as registerProvider, b as resetProviderRegistry, r as resolveProvider, t as tryResolveProvider } from '../../provider-resolver-Dx6QuWrw.js';
111
8
 
112
9
  /**
113
10
  * M26 (ADR-0041) — `createWorkflowTool`: wrap an SDK `Workflow` as a `CustomTool`.
@@ -424,4 +321,4 @@ interface StdioStreams {
424
321
  */
425
322
  declare function serveMcpStdio(mod: unknown, name: string, appResources: readonly AppResource[], streams: StdioStreams): Promise<void>;
426
323
 
427
- export { type AcpToolConfig, type AppResource, type AppResourceInput, type ChannelMessage, type ChannelWebhookConfig, type CodeModeApi, type CodeModeConfig, type CodeModePermission, CodeModePermissionDeniedError, type McpResourceContents, type McpResourceDescriptor, NodeAcpTransport, type ProviderDescriptor, type ResolvedProvider, type Sandbox, type StdioStreams, type VendorAgentClient, type VendorAgentToolConfig, type WorkflowLike, type WorkflowToolConfig, buildResourceDescriptors, createACPTool, createCodeMode, createVendorAgentTool, createWorkflowTool, defineAppResource, extractAppResources, handleChannelWebhook, handleMcpStdioLine, isChannelPath, listProviders, parseChannelPath, readAppResource, registerProvider, resetProviderRegistry, resolveProvider, serveMcpStdio, tryResolveProvider };
324
+ export { type AcpToolConfig, type AppResource, type AppResourceInput, type ChannelMessage, type ChannelWebhookConfig, type CodeModeApi, type CodeModeConfig, type CodeModePermission, CodeModePermissionDeniedError, type McpResourceContents, type McpResourceDescriptor, NodeAcpTransport, type Sandbox, type StdioStreams, type VendorAgentClient, type VendorAgentToolConfig, type WorkflowLike, type WorkflowToolConfig, buildResourceDescriptors, createACPTool, createCodeMode, createVendorAgentTool, createWorkflowTool, defineAppResource, extractAppResources, handleChannelWebhook, handleMcpStdioLine, isChannelPath, parseChannelPath, readAppResource, serveMcpStdio };
@@ -25,7 +25,7 @@ import {
25
25
  resetProviderRegistry,
26
26
  resolveProvider,
27
27
  tryResolveProvider
28
- } from "../../chunk-AXKUA57G.js";
28
+ } from "../../chunk-3PBAN2YE.js";
29
29
  import "../../chunk-SAFGDIPQ.js";
30
30
  import "../../chunk-XTHN6JBX.js";
31
31
  export {
@@ -1,26 +1,7 @@
1
1
  import { IncomingMessage, ServerResponse } from 'node:http';
2
+ export { g as generateNonce } from '../../nonce-BXt7Qu_C.js';
2
3
  import { R as RateLimitStore } from '../../rate-limit-store-BEJnhWdw.js';
3
4
 
4
- /**
5
- * T4.1 — Per-request CSP nonce generation.
6
- *
7
- * Returns a 22–24 character base64-encoded string carrying 16 bytes of
8
- * cryptographic entropy. Used by the SSR pipeline to nonce the inline
9
- * hydration data script so the default CSP can drop `'unsafe-inline'`
10
- * from `script-src` in 0.3.0.
11
- *
12
- * Runtime portability: prefers Web Crypto (`globalThis.crypto`) because
13
- * it is available on every target runtime (Node 19+, Bun, Deno, Vercel
14
- * Edge, Cloudflare Workers). Falls back to `node:crypto` for older Node
15
- * builds where `globalThis.crypto` is absent.
16
- *
17
- * NOT a security primitive in the cryptographic sense — the nonce is a
18
- * one-shot, single-request value that defeats trivial XSS injection by
19
- * making the attacker guess a 128-bit string per request. It is NOT
20
- * suitable for signing or session tokens.
21
- */
22
- declare function generateNonce(): string;
23
-
24
5
  declare class AuthRequiredError extends Error {
25
6
  code: "AUTH_REQUIRED";
26
7
  status: number;
@@ -416,4 +397,4 @@ declare function clearOidcCache(): void;
416
397
  */
417
398
  declare function discoverOidcProvider(issuer: string | URL): Promise<OidcMetadata>;
418
399
 
419
- export { AuthRequiredError, type BackupCode, type BackupCodeOptions, type OidcMetadata, type PkceChallenge, type SessionConfig, type SessionManager, type SessionManagerWeb, type SessionMeta, type ThrottleOptions, type ThrottleState, type TotpAlgorithm, type TotpOptions, type TotpUriOptions, type VerifyTotpOptions, _resetKeyCacheForTests, assertProductionSecret, checkThrottle, clearOidcCache, createSessionManager, createSessionManagerWeb, decrypt, discoverOidcProvider, encrypt, generateBackupCodes, generateNonce, generateOAuthState, generatePkceChallenge, generateTotp, generateTotpSecret, pkceChallengeFromVerifier, recordAttempt, requireAuth, rotateIfNeeded, rotateIfNeededWeb, totpUri, verifyBackupCode, verifyOAuthState, verifyTotp };
400
+ export { AuthRequiredError, type BackupCode, type BackupCodeOptions, type OidcMetadata, type PkceChallenge, type SessionConfig, type SessionManager, type SessionManagerWeb, type SessionMeta, type ThrottleOptions, type ThrottleState, type TotpAlgorithm, type TotpOptions, type TotpUriOptions, type VerifyTotpOptions, _resetKeyCacheForTests, assertProductionSecret, checkThrottle, clearOidcCache, createSessionManager, createSessionManagerWeb, decrypt, discoverOidcProvider, encrypt, generateBackupCodes, generateOAuthState, generatePkceChallenge, generateTotp, generateTotpSecret, pkceChallengeFromVerifier, recordAttempt, requireAuth, rotateIfNeeded, rotateIfNeededWeb, totpUri, verifyBackupCode, verifyOAuthState, verifyTotp };
@@ -23,11 +23,12 @@ import {
23
23
  verifyBackupCode,
24
24
  verifyOAuthState,
25
25
  verifyTotp
26
- } from "../../chunk-646CA6RV.js";
26
+ } from "../../chunk-RQW5YMH7.js";
27
27
  import "../../chunk-4FWBKX6G.js";
28
+ import "../../chunk-YSJOZEI6.js";
28
29
  import {
29
30
  generateNonce
30
- } from "../../chunk-JA2ZAT5Q.js";
31
+ } from "../../chunk-Z4PJMZLM.js";
31
32
  import "../../chunk-XTHN6JBX.js";
32
33
  export {
33
34
  AuthRequiredError,
@@ -14,11 +14,12 @@ import {
14
14
  translateCronToVercel,
15
15
  validateCronSchedule,
16
16
  writeCronManifest
17
- } from "../../chunk-LXAESF4Y.js";
17
+ } from "../../chunk-HK4AZBKX.js";
18
18
  import "../../chunk-VZTYCAO6.js";
19
- import "../../chunk-RWNSW4FM.js";
19
+ import "../../chunk-UMNXCU3K.js";
20
20
  import "../../chunk-52PDWL5S.js";
21
- import "../../chunk-U267AOWS.js";
21
+ import "../../chunk-5K4TDLRG.js";
22
+ import "../../chunk-ZWN3AODA.js";
22
23
  import "../../chunk-XTHN6JBX.js";
23
24
  export {
24
25
  CRON_MANIFEST_SCHEMA_VERSION,
@@ -1,65 +1,16 @@
1
+ import { R as RouteConfig } from '../../route-config-Cm_ZMA1C.js';
1
2
  import { z } from 'zod';
2
3
  import { W as WebSocketHandler, b as WebSocketLike } from '../../define-websocket-DzPn1sR6.js';
3
4
  export { a as WebSocketHandlerWeb } from '../../define-websocket-DzPn1sR6.js';
4
5
  import { b as ToolTransform, C as CustomTool } from '../../define-agent-tool-cRuSpidb.js';
5
6
  export { D as DefineAgentToolSpec, T as ToolContextMessage, a as ToolHandlerContext, c as applyTransform } from '../../define-agent-tool-cRuSpidb.js';
6
- import { f as OnRequestHook, i as PreHandlerHook, g as OnResponseHook, O as OnErrorHook, T as TheoPlugin } from '../../plugin-types-4VN1GMqV.js';
7
+ import { R as RoutePolicy } from '../../route-policy-BxOycCDq.js';
8
+ export { A as AccessDecision, b as RoutePolicyInput, a as RouteSubject, e as evaluateRoutePolicy, r as requireOwner, s as subjectFromContext } from '../../route-policy-BxOycCDq.js';
9
+ import { c as OnRequestHook, f as PreHandlerHook, d as OnResponseHook, O as OnErrorHook, T as TheoPlugin } from '../../plugin-types-BUVfUQ0V.js';
7
10
  import { WireChunk } from '@theokit/presenter/wire';
8
11
  import { IncomingMessage } from 'node:http';
9
12
  export { H as HEALTH_PATH, a as HealthRouteConfig, b as READY_PATH, c as ReadyRouteConfig, d as ReservedResponse, R as ReservedRoutes, e as defineHealthRoute, f as defineReadyRoute, s as serveReservedRoute } from '../../health-route-C0hk64_U.js';
10
13
 
11
- /**
12
- * core/contracts/route-config.ts
13
- *
14
- * Canonical home for `RouteConfig<TQuery, TBody, TParams, TCtx, TResponse>` —
15
- * the contract shape consumed by `defineRoute()` (server) and
16
- * `defineCachedRoute()` (cache).
17
- *
18
- * Moved here in T2.2 of architecture-cleanup so `cache → core/contracts`
19
- * is the legal edge (replacing the prior `cache → server` violation).
20
- *
21
- * GAP-4 (plan v1.1): the 5-arity generic shape `<TQuery, TBody, TParams, TCtx, TResponse>`
22
- * MUST be preserved byte-by-byte. Type tests assert this in
23
- * `tests/unit/route-config-generic-arity.test.ts`.
24
- */
25
-
26
- interface RouteConfig<TQuery extends z.ZodType = z.ZodUndefined, TBody extends z.ZodType = z.ZodUndefined, TParams extends z.ZodType = z.ZodUndefined, TCtx = unknown, TResponse = unknown> {
27
- query?: TQuery;
28
- body?: TBody;
29
- params?: TParams;
30
- status?: number;
31
- /**
32
- * Optional Zod schema for the handler's plain-object return value. When
33
- * present, BOTH runtimes (Node `executeRoute` + Web `executeWebRequest`)
34
- * validate the handler's plain-object return against it BEFORE serializing.
35
- *
36
- * A mismatch is a SERVER fault (the handler violated its own declared
37
- * contract) → 500 `INTERNAL_SERVER_ERROR`, distinct from the 400 used for
38
- * input (`query`/`body`/`params`) validation failures.
39
- *
40
- * `Response`-instance returns (and `undefined`/`null` → 204) are NOT
41
- * validated. This is a plain optional field — runtime validation only; the
42
- * handler return type is NOT statically inferred from `response` (YAGNI).
43
- */
44
- response?: z.ZodType;
45
- /**
46
- * Opt out of CSRF enforcement for this route. Use for endpoints that
47
- * legitimately receive third-party POSTs (Stripe webhooks, GitHub
48
- * webhooks, OAuth callbacks). Defaults to enforced per `config.security.csrf`.
49
- *
50
- * Setting `csrf: false` only disables the per-route check — it does NOT
51
- * disable the global mode setting for other routes.
52
- */
53
- csrf?: false;
54
- handler: (ctx: {
55
- query: z.infer<TQuery>;
56
- body: z.infer<TBody>;
57
- params: z.infer<TParams>;
58
- request: Request;
59
- ctx: TCtx;
60
- }) => TResponse | Promise<TResponse>;
61
- }
62
-
63
14
  /**
64
15
  * Action wire-protocol accept mode per plan g3-server-actions-and-useaction
65
16
  * v1.2 ADR D1. Default behavior (when omitted) is `'json'`. `'form'` opts the
@@ -95,7 +46,31 @@ interface ActionConfig<TInput extends z.ZodType, TCtx = unknown> {
95
46
  }) => unknown;
96
47
  }
97
48
 
98
- type MiddlewareHandler = (request: Request, next: (request: Request) => Promise<Response>) => Response | Promise<Response>;
49
+ /**
50
+ * A middleware, as the framework's own builder produces it (usetheokit/theokit#345).
51
+ *
52
+ * `(request, context)`: read the request as a Web `Request`, decorate `context` for the route that
53
+ * follows, and RETURN a `Response` to answer the request yourself. Returning nothing continues to
54
+ * the next middleware, and then to the route.
55
+ *
56
+ * ## Why not `(request, next) => Response`
57
+ *
58
+ * That was this type's first shape, and it described a continuation pipeline nothing in this
59
+ * repository implements: the file-scan runner runs BEFORE routing, so it has no downstream
60
+ * `Response` to hand back from `next(request)`. The consequence was measured rather than
61
+ * theorised — `MiddlewareHandler` had **zero runtime consumers**, while `README.md` documented the
62
+ * builder that produces it as the way to write middleware. A published builder whose output nothing
63
+ * can call is worse than a missing one, because it reads as supported.
64
+ *
65
+ * This shape is the one that fits the model AND already runs: `executeWebRequest` has invoked
66
+ * `(request, context) => Response | void` since T3.2 (`http/web-middleware-runner.ts`). Adopting it
67
+ * here converges two of the three middleware contracts instead of adding a fourth.
68
+ *
69
+ * The Express-style `(req, res, next)` export keeps working in `server/middleware/*.ts`. It is
70
+ * Node-bound — which is why it cannot be the framework's contract — but evicting it would break
71
+ * every app that has one.
72
+ */
73
+ type MiddlewareHandler = (request: Request, context: Record<string, unknown>) => Response | undefined | void | Promise<Response | undefined | void>;
99
74
 
100
75
  /**
101
76
  * M31 Phase 3 — `route()`, the fluent builder that replaces `defineRoute({...})`.
@@ -133,6 +108,16 @@ interface RouteBuilder<TQuery extends z.ZodType = z.ZodUndefined, TBody extends
133
108
  status(code: number): RouteBuilder<TQuery, TBody, TParams, TCtx, TResponse, THandlerSet>;
134
109
  /** Opt out of CSRF enforcement for this route (webhooks / OAuth callbacks). */
135
110
  csrf(disabled: false): RouteBuilder<TQuery, TBody, TParams, TCtx, TResponse, THandlerSet>;
111
+ /**
112
+ * Declare who may call this route (ADR 0001). Required — the scanner refuses a
113
+ * route file whose HTTP export declares no policy, and `'public'` is a
114
+ * declaration rather than a default.
115
+ *
116
+ * The policy is evaluated by the Node executor, the Web executor and
117
+ * `callProcedure` from one implementation, so a browser, a desktop shell and a
118
+ * terminal all get the same answer.
119
+ */
120
+ policy(policy: RoutePolicy<z.infer<TQuery>, z.infer<TBody>, z.infer<TParams>>): RouteBuilder<TQuery, TBody, TParams, TCtx, TResponse, THandlerSet>;
136
121
  /**
137
122
  * Set the handler. Its `ctx` infers `query/body/params` from the schemas set above. Required
138
123
  * before `.build()`.
@@ -151,8 +136,9 @@ interface RouteBuilder<TQuery extends z.ZodType = z.ZodUndefined, TBody extends
151
136
  build(...guard: THandlerSet extends true ? [] : [error: MissingHandlerError]): RouteConfig<TQuery, TBody, TParams, TCtx, TResponse>;
152
137
  }
153
138
  /**
154
- * Start a fluent route definition. Chain `.query/.body/.params/.response/.status/.csrf` (all
155
- * optional), then `.handler()` (required) and `.build()` for the `RouteConfig`.
139
+ * Start a fluent route definition. Chain `.query/.body/.params/.response/.status/.csrf`, declare
140
+ * `.policy()` (which the route scanner requires), then `.handler()` and `.build()` for the
141
+ * `RouteConfig`.
156
142
  */
157
143
  declare function route(): RouteBuilder;
158
144
 
@@ -416,4 +402,4 @@ interface WebChannelHandler<TMessage = unknown> {
416
402
  */
417
403
  declare function defineWebChannel<TMessage = unknown>(handler: WebChannelHandler<TMessage>): WebChannelHandler<TMessage>;
418
404
 
419
- export { type ActionAccept, type ActionBuilder, type ActionConfig, type ChannelHandler, CustomTool, type MiddlewareBuilder, type MiddlewareHandler, type PluginBuilder, type RouteBuilder, type RouteConfig, type ToolBuilder, ToolTransform, type WebChannelHandler, type WebSocketBuilder, WebSocketHandler, WebSocketLike, action, defineChannel, defineWebChannel, middleware, plugin, route, tool, uiMessageStreamResponse, websocket };
405
+ export { type ActionAccept, type ActionBuilder, type ActionConfig, type ChannelHandler, CustomTool, type MiddlewareBuilder, type MiddlewareHandler, type PluginBuilder, type RouteBuilder, RouteConfig, RoutePolicy, type ToolBuilder, ToolTransform, type WebChannelHandler, type WebSocketBuilder, WebSocketHandler, WebSocketLike, action, defineChannel, defineWebChannel, middleware, plugin, route, tool, uiMessageStreamResponse, websocket };
@@ -8,7 +8,13 @@ import {
8
8
  tool,
9
9
  uiMessageStreamResponse,
10
10
  websocket
11
- } from "../../chunk-YXG2SGQ3.js";
11
+ } from "../../chunk-DHAD2O3S.js";
12
+ import "../../chunk-D4VP2QPR.js";
13
+ import {
14
+ evaluateRoutePolicy,
15
+ requireOwner,
16
+ subjectFromContext
17
+ } from "../../chunk-YN4W7LCX.js";
12
18
  import {
13
19
  HEALTH_PATH,
14
20
  READY_PATH,
@@ -29,10 +35,13 @@ export {
29
35
  defineHealthRoute,
30
36
  defineReadyRoute,
31
37
  defineWebChannel,
38
+ evaluateRoutePolicy,
32
39
  middleware,
33
40
  plugin,
41
+ requireOwner,
34
42
  route,
35
43
  serveReservedRoute,
44
+ subjectFromContext,
36
45
  tool,
37
46
  uiMessageStreamResponse,
38
47
  websocket
@@ -1,11 +1,13 @@
1
- export { B as BATCH_PATH, a as BatchExecuteFn, b as BatchPathConflictError, c as BatchPayload, d as BatchRequestItem, e as BatchResponse, f as BatchResultItem, C as CookieOptions, g as CorsConfig, h as CorsHandler, i as CorsOrigin, j as CorsWebHandler, k as CustomErrorPages, E as ExecuteActionOptions, l as ExecuteRouteContext, H as HandleBatchOptions, M as MAX_ERROR_HTML_BYTES, m as MiddlewareResult, N as NotFoundError, S as STRIPPED_HEADERS, n as SendErrorInput, o as SendErrorOptions, T as TRACE_HEADER, p as TRACE_PARENT_HEADER, q as TheoError, _ as _resetMiddlewareCacheForTests, s as appendCookieToHeaders, t as appendDeleteCookieToHeaders, u as createCorsHandler, v as createCorsWebHandler, w as deleteCookie, x as envelopeCodeToStatus, y as executeAction, z as executeRoute, A as extractTraceId, D as extractTraceIdFromRequest, F as fromUnknown, G as getCookie, I as getCookieFromRequest, J as handleBatchRequest, K as handleRequestError, L as handleWebRequestError, P as loadCustomErrorPages, Q as matchesOrigin, R as parseCookieHeader, U as parseTraceparent, W as runMiddlewareAndContext, X as sendError, Y as sendJson, Z as serializeCookie, $ as serveStaticFile, a0 as serverErrorToEnvelope, a1 as setCookie } from '../../index-D_PxPXgQ.js';
1
+ export { A as ActionError, b as ActionInputError, B as BATCH_PATH, e as BatchExecuteFn, f as BatchPathConflictError, g as BatchPayload, h as BatchRequestItem, i as BatchResponse, j as BatchResultItem, C as CookieOptions, l as CorsConfig, m as CorsHandler, n as CorsOrigin, o as CorsWebHandler, p as CustomErrorPages, E as ExecuteActionOptions, q as ExecuteRouteContext, F as FileTooLargeError, H as HandleBatchOptions, M as MAX_ERROR_HTML_BYTES, r as MiddlewareResult, N as NotFoundError, t as ProcedureInputError, u as ProcedureOutputError, S as STRIPPED_HEADERS, y as SendErrorInput, z as SendErrorOptions, T as TRACE_HEADER, G as TRACE_PARENT_HEADER, I as TheoError, W as W3CTraceContext, _ as _resetMiddlewareCacheForTests, L as appendCookieToHeaders, Q as appendDeleteCookieToHeaders, V as callProcedure, X as createCorsHandler, Y as createCorsWebHandler, Z as createOpenApiHandler, $ as createServerContext, a0 as deleteCookie, a1 as envelopeCodeToStatus, a2 as executeAction, a3 as executeRoute, a4 as executeWebRequest, a5 as extractTraceId, a6 as extractTraceIdFromRequest, a7 as extractUniversalIssues, a8 as extractW3CTraceContext, a9 as fromUnknown, aa as getCookie, ab as getCookieFromRequest, ac as handleBatchRequest, ad as handleRequestError, ae as handleWebRequestError, af as isActionError, ag as isInputError, ah as jsonTransformer, ai as loadCustomErrorPages, aj as matchesOrigin, ak as parseCookieHeader, al as parseRequestBody, am as parseTraceparent, an as parseTraceparentContext, ao as resolveTransformer, ap as runMiddlewareAndContext, aq as sendError, ar as sendJson, as as serializeCookie, at as serveStaticFile, au as serverErrorToEnvelope, av as setCookie, aw as superjsonTransformer, ax as validateRouteInput } from '../../index-CzxtQcnp.js';
2
2
  import '../../error-envelope-DG47lt8E.js';
3
3
  import 'node:http';
4
- import '../../plugin-types-4VN1GMqV.js';
5
- import '../../plugin-runner-DHVr1cC5.js';
4
+ import '../../plugin-types-BUVfUQ0V.js';
5
+ import '../../plugin-runner-BVMOSxvb.js';
6
6
  import '../../job-backend-CgC8Xf33.js';
7
- import '../../match-CfbEFRG4.js';
7
+ import '../../match-DmGgxjIU.js';
8
8
  import 'vite';
9
- import '../../csrf-BBrEZSBW.js';
9
+ import '../../csrf-Dgot9qSM.js';
10
10
  import '../../audit-log-BQWM5YLG.js';
11
11
  import 'zod';
12
+ import '../../route-config-Cm_ZMA1C.js';
13
+ import '../../route-policy-BxOycCDq.js';