theokit 0.4.0-beta.0 → 0.4.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 (297) hide show
  1. package/dist/{actions-virtual-module-HWNTIEPI.js → actions-virtual-module-IY46EEEX.js} +2 -2
  2. package/dist/{actions-virtual-module-SEIPACG5.js → actions-virtual-module-XNHDNCZ6.js} +2 -2
  3. package/dist/add-2ZFFGGE4.js +0 -0
  4. package/dist/{app-typed-client-ITIYTBXO.js → app-typed-client-OUJO3V5J.js} +10 -5
  5. package/dist/{app-typed-client-62FYBLVJ.js.map → app-typed-client-OUJO3V5J.js.map} +1 -1
  6. package/dist/{app-typed-client-62FYBLVJ.js → app-typed-client-YOMWSA3F.js} +11 -6
  7. package/dist/{app-typed-client-ITIYTBXO.js.map → app-typed-client-YOMWSA3F.js.map} +1 -1
  8. package/dist/audit-log-BQWM5YLG.d.ts +60 -0
  9. package/dist/{aws-lambda-XYCGZH3I.js → aws-lambda-GKSTX6HD.js} +3 -3
  10. package/dist/body-parser-web-MUWBKZ3F.js +70 -0
  11. package/dist/body-parser-web-MUWBKZ3F.js.map +1 -0
  12. package/dist/broadcast-QOQGUNNK.js +0 -0
  13. package/dist/{build-HIGHJQQV.js → build-D4J7XECU.js} +31 -22
  14. package/dist/build-D4J7XECU.js.map +1 -0
  15. package/dist/build-request-body-preview-II2235E6.js +0 -0
  16. package/dist/{bun-K73TQEWC.js → bun-ISHSNFIO.js} +3 -3
  17. package/dist/{check-PZR67OY5.js → check-NXYPLM6M.js} +2 -2
  18. package/dist/{chunk-WZ7CPVQB.js → chunk-27LWMYNK.js} +28 -24
  19. package/dist/chunk-27LWMYNK.js.map +1 -0
  20. package/dist/{chunk-BIGBFZSU.js → chunk-2F4FROEQ.js} +1689 -1521
  21. package/dist/chunk-2F4FROEQ.js.map +1 -0
  22. package/dist/chunk-4HBI7DHP.js +20 -0
  23. package/dist/chunk-4HBI7DHP.js.map +1 -0
  24. package/dist/{chunk-X4JAX2U3.js → chunk-4S2UCILN.js} +180 -125
  25. package/dist/chunk-4S2UCILN.js.map +1 -0
  26. package/dist/{chunk-C52GSJPF.js → chunk-4S6YHNG2.js} +11 -8
  27. package/dist/chunk-4S6YHNG2.js.map +1 -0
  28. package/dist/chunk-5ODOE6EF.js +0 -0
  29. package/dist/{chunk-KJVEJILQ.js → chunk-5PU65T5W.js} +9 -3
  30. package/dist/chunk-5PU65T5W.js.map +1 -0
  31. package/dist/chunk-5QW7IQQU.js +36 -0
  32. package/dist/chunk-5QW7IQQU.js.map +1 -0
  33. package/dist/chunk-5Z2727GV.js +1324 -0
  34. package/dist/chunk-5Z2727GV.js.map +1 -0
  35. package/dist/{chunk-YLBSSEHX.js → chunk-6NEXVBPY.js} +5 -15
  36. package/dist/chunk-6NEXVBPY.js.map +1 -0
  37. package/dist/chunk-7MQOHNHE.js +36 -0
  38. package/dist/chunk-7MQOHNHE.js.map +1 -0
  39. package/dist/{chunk-TPCT3MXV.js → chunk-ABVITXFH.js} +405 -272
  40. package/dist/chunk-ABVITXFH.js.map +1 -0
  41. package/dist/chunk-ASDXVRJD.js +185 -0
  42. package/dist/chunk-ASDXVRJD.js.map +1 -0
  43. package/dist/chunk-B3L3TJVF.js +406 -0
  44. package/dist/chunk-B3L3TJVF.js.map +1 -0
  45. package/dist/{chunk-PB4GR7EP.js → chunk-C3ZZ56YZ.js} +1 -18
  46. package/dist/chunk-C3ZZ56YZ.js.map +1 -0
  47. package/dist/{chunk-O7335ZGH.js → chunk-CG563V5M.js} +5 -3
  48. package/dist/chunk-CG563V5M.js.map +1 -0
  49. package/dist/{chunk-5OFPQK6N.js → chunk-COXLEZCN.js} +2 -1
  50. package/dist/chunk-COXLEZCN.js.map +1 -0
  51. package/dist/{chunk-O4BLVPML.js → chunk-DNMSV3R3.js} +22 -28
  52. package/dist/chunk-DNMSV3R3.js.map +1 -0
  53. package/dist/chunk-E3JH6YUM.js +1 -0
  54. package/dist/chunk-ESC54TAK.js +220 -0
  55. package/dist/chunk-ESC54TAK.js.map +1 -0
  56. package/dist/chunk-FI7MPTJW.js +77 -0
  57. package/dist/chunk-FI7MPTJW.js.map +1 -0
  58. package/dist/chunk-H4J2LECY.js +201 -0
  59. package/dist/chunk-H4J2LECY.js.map +1 -0
  60. package/dist/chunk-IAJ2JVEH.js +256 -0
  61. package/dist/chunk-IAJ2JVEH.js.map +1 -0
  62. package/dist/{chunk-F3TG5FJV.js → chunk-IEZCAT2I.js} +7 -1
  63. package/dist/{chunk-F3TG5FJV.js.map → chunk-IEZCAT2I.js.map} +1 -1
  64. package/dist/chunk-JHEAWR3L.js +1 -0
  65. package/dist/chunk-JQSKBMXP.js +17 -0
  66. package/dist/chunk-JQSKBMXP.js.map +1 -0
  67. package/dist/{chunk-4QTKSLTO.js → chunk-K4M64WD6.js} +9 -5
  68. package/dist/{chunk-4QTKSLTO.js.map → chunk-K4M64WD6.js.map} +1 -1
  69. package/dist/chunk-KI7OWQUX.js +293 -0
  70. package/dist/chunk-KI7OWQUX.js.map +1 -0
  71. package/dist/chunk-KT3MWNZG.js +0 -0
  72. package/dist/{chunk-ZJW5FFYJ.js → chunk-LC5PYNJP.js} +2 -2
  73. package/dist/{chunk-JAAHOGKI.js → chunk-M2EY7KDR.js} +1223 -1124
  74. package/dist/chunk-M2EY7KDR.js.map +1 -0
  75. package/dist/{chunk-2VQKDRVF.js → chunk-MR7OLIC6.js} +3 -3
  76. package/dist/chunk-NM4WF3XD.js +63 -0
  77. package/dist/chunk-NM4WF3XD.js.map +1 -0
  78. package/dist/chunk-NPMCKOX4.js +1 -0
  79. package/dist/{chunk-VRHXOKRP.js → chunk-NZXH2LQQ.js} +86 -83
  80. package/dist/chunk-NZXH2LQQ.js.map +1 -0
  81. package/dist/{chunk-B6RP57M3.js → chunk-OLPB36O2.js} +4 -4
  82. package/dist/chunk-PIVX3DYW.js +142 -0
  83. package/dist/chunk-PIVX3DYW.js.map +1 -0
  84. package/dist/{chunk-7TOMTMHT.js → chunk-R7OC6UDK.js} +2 -1
  85. package/dist/chunk-R7OC6UDK.js.map +1 -0
  86. package/dist/chunk-RESN62GB.js +269 -0
  87. package/dist/chunk-RESN62GB.js.map +1 -0
  88. package/dist/{chunk-64JI5LTO.js → chunk-RMU7EBRO.js} +2 -2
  89. package/dist/chunk-RMU7EBRO.js.map +1 -0
  90. package/dist/chunk-TQYSPYKU.js +131 -0
  91. package/dist/chunk-TQYSPYKU.js.map +1 -0
  92. package/dist/chunk-TSLSIRBR.js +107 -0
  93. package/dist/chunk-TSLSIRBR.js.map +1 -0
  94. package/dist/{chunk-XP7YXRHO.js → chunk-U6TPSW4L.js} +37 -5
  95. package/dist/chunk-U6TPSW4L.js.map +1 -0
  96. package/dist/chunk-UD3LFGDL.js +45 -0
  97. package/dist/chunk-UD3LFGDL.js.map +1 -0
  98. package/dist/chunk-UUFYP2UM.js +161 -0
  99. package/dist/chunk-UUFYP2UM.js.map +1 -0
  100. package/dist/{chunk-OXIQI2XZ.js → chunk-VBZCVFSA.js} +2 -2
  101. package/dist/chunk-VMEWD57H.js +137 -0
  102. package/dist/chunk-VMEWD57H.js.map +1 -0
  103. package/dist/{chunk-TRH2L3FI.js → chunk-WEGALZEU.js} +3 -3
  104. package/dist/{chunk-ZOXNJV2O.js → chunk-WGHJD6I7.js} +35 -138
  105. package/dist/chunk-WGHJD6I7.js.map +1 -0
  106. package/dist/chunk-XMS5VRIK.js +0 -0
  107. package/dist/chunk-Y4H3JNVK.js +18 -0
  108. package/dist/chunk-Y4H3JNVK.js.map +1 -0
  109. package/dist/chunk-Z5IGLBWE.js +329 -0
  110. package/dist/chunk-Z5IGLBWE.js.map +1 -0
  111. package/dist/chunk-ZEGYW52B.js +26 -0
  112. package/dist/chunk-ZEGYW52B.js.map +1 -0
  113. package/dist/chunk-ZJQ4O76G.js +87 -0
  114. package/dist/chunk-ZJQ4O76G.js.map +1 -0
  115. package/dist/cli/index.js +32 -21
  116. package/dist/cli/index.js.map +1 -1
  117. package/dist/client/index.d.ts +107 -1
  118. package/dist/client/index.js +152 -6
  119. package/dist/client/index.js.map +1 -1
  120. package/dist/{cloudflare-LCAOTRYZ.js → cloudflare-OJGJ7R2D.js} +3 -3
  121. package/dist/configure-agent-registry-6YGTJYBC.js +0 -0
  122. package/dist/cookies-MJKMGJ7N.js +22 -0
  123. package/dist/csrf-BBrEZSBW.d.ts +107 -0
  124. package/dist/csrf-readiness-store-CjIoub3U.d.ts +43 -0
  125. package/dist/define-websocket-CdK94O-D.d.ts +64 -0
  126. package/dist/{deno-deploy-ZN4RE5HF.js → deno-deploy-BHWKFTOW.js} +3 -3
  127. package/dist/{dev-266MVCVA.js → dev-MJVSRZGF.js} +11 -11
  128. package/dist/{dev-emit-RBSFZZNO.js → dev-emit-5VPRCHOD.js} +39 -142
  129. package/dist/dev-emit-5VPRCHOD.js.map +1 -0
  130. package/dist/{dev-emit-NO6OZJOQ.js → dev-emit-HHP2XJXE.js} +5 -5
  131. package/dist/devtools/entry.js +185 -131
  132. package/dist/devtools/entry.js.map +1 -1
  133. package/dist/{dispatcher-AQJGI3HU.js → dispatcher-63LBXYLE.js} +2 -2
  134. package/dist/{dispatcher-E6QV32BO.js → dispatcher-EJME6C6M.js} +5 -2
  135. package/dist/dispatcher-EJME6C6M.js.map +1 -0
  136. package/dist/{dist-5V77Z223.js → dist-KRW6OVD4.js} +7 -7
  137. package/dist/dist-KRW6OVD4.js.map +1 -0
  138. package/dist/docker-EZDA5FT7.js +0 -0
  139. package/dist/error-envelope-BsNzzAV5.d.ts +62 -0
  140. package/dist/{generate-DT4IIAHF.js → generate-AZ2K6Z2Z.js} +75 -2
  141. package/dist/generate-AZ2K6Z2Z.js.map +1 -0
  142. package/dist/index-DWWEdFh5.d.ts +399 -0
  143. package/dist/index.d.ts +161 -1391
  144. package/dist/index.js +20 -8
  145. package/dist/index.js.map +1 -1
  146. package/dist/{info-FJ4NXKTB.js → info-47VB62MV.js} +5 -5
  147. package/dist/job-backend-CgC8Xf33.d.ts +68 -0
  148. package/dist/{lib-NL5JXGEB.js → lib-NST3PNZX.js} +31 -31
  149. package/dist/lib-NST3PNZX.js.map +1 -0
  150. package/dist/module-loader-Cfz7dgCP.d.ts +26 -0
  151. package/dist/{netlify-5VQ22Z2P.js → netlify-GSNSJGMN.js} +3 -3
  152. package/dist/{node-3APTLGWB.js → node-6I5B6RL3.js} +3 -3
  153. package/dist/node-6I5B6RL3.js.map +1 -0
  154. package/dist/{openapi-FNVSWZOL.js → openapi-NFLSNNVQ.js} +10 -10
  155. package/dist/plugin-runner-BGBkzgi0.d.ts +95 -0
  156. package/dist/plugin-types-DNJGxr4Z.d.ts +79 -0
  157. package/dist/{proper-lockfile-4Y3DP3RP.js → proper-lockfile-MVKMQGFK.js} +27 -27
  158. package/dist/proper-lockfile-MVKMQGFK.js.map +1 -0
  159. package/dist/rate-limit-BdNDZ3vt.d.ts +58 -0
  160. package/dist/registry-QHEZ3BWB.js +25 -0
  161. package/dist/router-RGZFX75G.js +0 -0
  162. package/dist/{routes-H4SPLFHJ.js → routes-3A4XGIEJ.js} +6 -6
  163. package/dist/{scan-C2BOKLSY.js → scan-NQFI5S7P.js} +2 -2
  164. package/dist/scan-NQFI5S7P.js.map +1 -0
  165. package/dist/schema-D3v8VB7o.d.ts +76 -0
  166. package/dist/{schema-VR6YNVLQ.js → schema-KZVOV333.js} +5 -3
  167. package/dist/schema-KZVOV333.js.map +1 -0
  168. package/dist/server/agent/index.d.ts +229 -0
  169. package/dist/server/agent/index.js +16 -0
  170. package/dist/server/agent/index.js.map +1 -0
  171. package/dist/server/auth/index.d.ts +46 -1
  172. package/dist/server/auth/index.js +10 -3
  173. package/dist/server/cost/index.d.ts +1 -3
  174. package/dist/server/cost/index.js +1 -1
  175. package/dist/server/cron/index.js +4 -2
  176. package/dist/server/define/index.d.ts +281 -0
  177. package/dist/server/define/index.js +26 -0
  178. package/dist/server/define/index.js.map +1 -0
  179. package/dist/server/http/index.d.ts +10 -0
  180. package/dist/server/http/index.js +74 -0
  181. package/dist/server/http/index.js.map +1 -0
  182. package/dist/server/index.d.ts +151 -1677
  183. package/dist/server/index.js +558 -1102
  184. package/dist/server/index.js.map +1 -1
  185. package/dist/server/jobs/index.d.ts +348 -2
  186. package/dist/server/jobs/index.js +5 -3
  187. package/dist/server/observability/index.d.ts +324 -0
  188. package/dist/server/observability/index.js +48 -0
  189. package/dist/server/observability/index.js.map +1 -0
  190. package/dist/server/plugins/index.d.ts +17 -0
  191. package/dist/server/plugins/index.js +17 -0
  192. package/dist/server/plugins/index.js.map +1 -0
  193. package/dist/server/rate-limit/index.d.ts +105 -0
  194. package/dist/server/rate-limit/index.js +25 -0
  195. package/dist/server/rate-limit/index.js.map +1 -0
  196. package/dist/server/realtime/index.d.ts +15 -0
  197. package/dist/server/realtime/index.js +8 -0
  198. package/dist/server/realtime/index.js.map +1 -0
  199. package/dist/server/scan/index.d.ts +106 -0
  200. package/dist/server/scan/index.js +43 -0
  201. package/dist/server/scan/index.js.map +1 -0
  202. package/dist/server/security/index.d.ts +193 -0
  203. package/dist/server/security/index.js +50 -0
  204. package/dist/server/security/index.js.map +1 -0
  205. package/dist/server/storage/index.d.ts +22 -0
  206. package/dist/server/storage/index.js +14 -0
  207. package/dist/server/storage/index.js.map +1 -0
  208. package/dist/server/webhook/index.d.ts +148 -0
  209. package/dist/server/webhook/index.js +19 -0
  210. package/dist/server/webhook/index.js.map +1 -0
  211. package/dist/server-error-to-envelope-NO4CCAFQ.js +8 -0
  212. package/dist/server-error-to-envelope-NO4CCAFQ.js.map +1 -0
  213. package/dist/server-error-to-envelope-UJK6OWDJ.js +134 -0
  214. package/dist/server-error-to-envelope-UJK6OWDJ.js.map +1 -0
  215. package/dist/server-routes-hmr-GZJGPWMS.js +0 -0
  216. package/dist/services-json-Z2QNGVPW.js +142 -0
  217. package/dist/services-json-Z2QNGVPW.js.map +1 -0
  218. package/dist/{services-typed-client-XWYYBWGW.js → services-typed-client-KK6RHRDG.js} +2 -2
  219. package/dist/{services-typed-client-ZX5JUHH3.js → services-typed-client-T7M5VPBP.js} +2 -2
  220. package/dist/{sqlite-vec-ARPNUBWT.js → sqlite-vec-54KB4RD3.js} +2 -2
  221. package/dist/sqlite-vec-54KB4RD3.js.map +1 -0
  222. package/dist/{start-HX3QUSOS.js → start-CGSZPBAG.js} +23 -23
  223. package/dist/start-CGSZPBAG.js.map +1 -0
  224. package/dist/{static-TZBVBDTB.js → static-QI5NQT2X.js} +6 -6
  225. package/dist/storage-manager-C4jsO0Tp.d.ts +89 -0
  226. package/dist/storage-manager-D5KBXXKB.js +0 -0
  227. package/dist/{storage-types-DtIVejC1.d.ts → storage-types-DsDTCPbp.d.ts} +1 -1
  228. package/dist/{theo-cloud-3K4DGB3S.js → theo-cloud-RSQCBNXL.js} +4 -4
  229. package/dist/theo-cloud-RSQCBNXL.js.map +1 -0
  230. package/dist/upgrade-readiness-GUJBCJIS.js +0 -0
  231. package/dist/{vercel-MWW24ABC.js → vercel-TKPZK62A.js} +3 -3
  232. package/dist/vite-plugin/index.d.ts +3 -1
  233. package/dist/vite-plugin/index.js +20 -8
  234. package/dist/{vite-plugin-IK3NOWXS.js → vite-plugin-CR4JDFUQ.js} +9 -9
  235. package/dist/vite-plugin-CR4JDFUQ.js.map +1 -0
  236. package/package.json +59 -10
  237. package/LICENSE +0 -201
  238. package/dist/build-HIGHJQQV.js.map +0 -1
  239. package/dist/chunk-5OFPQK6N.js.map +0 -1
  240. package/dist/chunk-64JI5LTO.js.map +0 -1
  241. package/dist/chunk-7TOMTMHT.js.map +0 -1
  242. package/dist/chunk-BIGBFZSU.js.map +0 -1
  243. package/dist/chunk-C52GSJPF.js.map +0 -1
  244. package/dist/chunk-CZM6WWWS.js +0 -2450
  245. package/dist/chunk-CZM6WWWS.js.map +0 -1
  246. package/dist/chunk-JAAHOGKI.js.map +0 -1
  247. package/dist/chunk-KJVEJILQ.js.map +0 -1
  248. package/dist/chunk-O4BLVPML.js.map +0 -1
  249. package/dist/chunk-O7335ZGH.js.map +0 -1
  250. package/dist/chunk-PB4GR7EP.js.map +0 -1
  251. package/dist/chunk-TPCT3MXV.js.map +0 -1
  252. package/dist/chunk-VRHXOKRP.js.map +0 -1
  253. package/dist/chunk-WZ7CPVQB.js.map +0 -1
  254. package/dist/chunk-X4JAX2U3.js.map +0 -1
  255. package/dist/chunk-XP7YXRHO.js.map +0 -1
  256. package/dist/chunk-YLBSSEHX.js.map +0 -1
  257. package/dist/chunk-ZOXNJV2O.js.map +0 -1
  258. package/dist/dev-emit-RBSFZZNO.js.map +0 -1
  259. package/dist/dispatcher-E6QV32BO.js.map +0 -1
  260. package/dist/dist-5V77Z223.js.map +0 -1
  261. package/dist/generate-DT4IIAHF.js.map +0 -1
  262. package/dist/index-li83Swxa.d.ts +0 -506
  263. package/dist/lib-NL5JXGEB.js.map +0 -1
  264. package/dist/proper-lockfile-4Y3DP3RP.js.map +0 -1
  265. package/dist/registry-4MZ26TZD.js +0 -25
  266. package/dist/schema-CjVly9c_.d.ts +0 -274
  267. package/dist/sqlite-vec-ARPNUBWT.js.map +0 -1
  268. package/dist/start-HX3QUSOS.js.map +0 -1
  269. package/dist/theo-cloud-3K4DGB3S.js.map +0 -1
  270. /package/dist/{actions-virtual-module-HWNTIEPI.js.map → actions-virtual-module-IY46EEEX.js.map} +0 -0
  271. /package/dist/{actions-virtual-module-SEIPACG5.js.map → actions-virtual-module-XNHDNCZ6.js.map} +0 -0
  272. /package/dist/{aws-lambda-XYCGZH3I.js.map → aws-lambda-GKSTX6HD.js.map} +0 -0
  273. /package/dist/{bun-K73TQEWC.js.map → bun-ISHSNFIO.js.map} +0 -0
  274. /package/dist/{check-PZR67OY5.js.map → check-NXYPLM6M.js.map} +0 -0
  275. /package/dist/{dispatcher-AQJGI3HU.js.map → chunk-E3JH6YUM.js.map} +0 -0
  276. /package/dist/{node-3APTLGWB.js.map → chunk-JHEAWR3L.js.map} +0 -0
  277. /package/dist/{chunk-ZJW5FFYJ.js.map → chunk-LC5PYNJP.js.map} +0 -0
  278. /package/dist/{chunk-2VQKDRVF.js.map → chunk-MR7OLIC6.js.map} +0 -0
  279. /package/dist/{scan-C2BOKLSY.js.map → chunk-NPMCKOX4.js.map} +0 -0
  280. /package/dist/{chunk-B6RP57M3.js.map → chunk-OLPB36O2.js.map} +0 -0
  281. /package/dist/{chunk-OXIQI2XZ.js.map → chunk-VBZCVFSA.js.map} +0 -0
  282. /package/dist/{chunk-TRH2L3FI.js.map → chunk-WEGALZEU.js.map} +0 -0
  283. /package/dist/{cloudflare-LCAOTRYZ.js.map → cloudflare-OJGJ7R2D.js.map} +0 -0
  284. /package/dist/{schema-VR6YNVLQ.js.map → cookies-MJKMGJ7N.js.map} +0 -0
  285. /package/dist/{deno-deploy-ZN4RE5HF.js.map → deno-deploy-BHWKFTOW.js.map} +0 -0
  286. /package/dist/{dev-266MVCVA.js.map → dev-MJVSRZGF.js.map} +0 -0
  287. /package/dist/{dev-emit-NO6OZJOQ.js.map → dev-emit-HHP2XJXE.js.map} +0 -0
  288. /package/dist/{vite-plugin-IK3NOWXS.js.map → dispatcher-63LBXYLE.js.map} +0 -0
  289. /package/dist/{info-FJ4NXKTB.js.map → info-47VB62MV.js.map} +0 -0
  290. /package/dist/{netlify-5VQ22Z2P.js.map → netlify-GSNSJGMN.js.map} +0 -0
  291. /package/dist/{openapi-FNVSWZOL.js.map → openapi-NFLSNNVQ.js.map} +0 -0
  292. /package/dist/{registry-4MZ26TZD.js.map → registry-QHEZ3BWB.js.map} +0 -0
  293. /package/dist/{routes-H4SPLFHJ.js.map → routes-3A4XGIEJ.js.map} +0 -0
  294. /package/dist/{services-typed-client-XWYYBWGW.js.map → services-typed-client-KK6RHRDG.js.map} +0 -0
  295. /package/dist/{services-typed-client-ZX5JUHH3.js.map → services-typed-client-T7M5VPBP.js.map} +0 -0
  296. /package/dist/{static-TZBVBDTB.js.map → static-QI5NQT2X.js.map} +0 -0
  297. /package/dist/{vercel-MWW24ABC.js.map → vercel-TKPZK62A.js.map} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,502 +1,205 @@
1
1
  import { z } from 'zod';
2
+ import { T as TheoErrorEnvelope } from './error-envelope-BsNzzAV5.js';
2
3
  export { theoPlugin } from './vite-plugin/index.js';
3
4
  import 'vite';
4
- import './schema-CjVly9c_.js';
5
+ import './rate-limit-BdNDZ3vt.js';
5
6
  import 'node:http';
6
7
  import './rate-limit-store-BEJnhWdw.js';
8
+ import './csrf-readiness-store-CjIoub3U.js';
9
+ import './schema-D3v8VB7o.js';
7
10
 
8
- declare const theoConfigSchema: z.ZodEffects<z.ZodObject<{
11
+ /**
12
+ * G5 T1.3 — formatError hook signature (blueprint ADR D3).
13
+ *
14
+ * Type-inferred functional transformer that runs at framework error-boundary
15
+ * time. Producer-side analog of trpc's `errorFormatter`. The return type is
16
+ * `TheoErrorEnvelope<TExt>` for arbitrary `TExt` so the inference flows into
17
+ * `@theo/client` codegen + UI consumers.
18
+ */
19
+ interface FormatErrorContext {
20
+ readonly route?: string;
21
+ readonly action?: string;
22
+ readonly agentRunId?: string;
23
+ }
24
+ type FormatErrorHook = (envelope: TheoErrorEnvelope, ctx: FormatErrorContext) => TheoErrorEnvelope;
25
+
26
+ /**
27
+ * Root `theo.config.ts` schema — composer assembled from the per-concern
28
+ * primitives re-exported above.
29
+ *
30
+ * Embedded blocks that exist ONLY as part of the root config (`agents`,
31
+ * `ui`, `devtools`, `jobs`, `openapi`) stay inline below. They have no
32
+ * external consumers; splitting them would create lonely files (M5
33
+ * smell) without comprehension benefit.
34
+ */
35
+ declare const theoConfigSchema: z.ZodObject<{
36
+ name: z.ZodOptional<z.ZodString>;
9
37
  appDir: z.ZodDefault<z.ZodString>;
10
38
  serverDir: z.ZodDefault<z.ZodString>;
11
- /**
12
- * T2.2 / EC-4 — Build output directory. Must be a relative path inside
13
- * the project root. Refused absolute or parent-relative paths to prevent
14
- * `cleanOutDir` from wiping arbitrary locations (defense-in-depth on
15
- * top of cleanOutDir's runtime EC-3 guard).
16
- */
17
- distDir: z.ZodEffects<z.ZodDefault<z.ZodString>, string, string | undefined>;
18
- /**
19
- * Agent runtime configuration.
20
- *
21
- * - `maxRegistries` (T2.3, legacy): dev-mode cleanup of stale
22
- * `.theokit/agents/<id>/` dirs by mtime. Now superseded by SDK's
23
- * native registry GC but kept for backward-compat.
24
- * - `registry` (Phase 6, Production-Readiness #2): forwarded to
25
- * `Agent.registry.configure()` lazily on first request.
26
- * * `maxAgents` — LRU cap. MUST be ≥ max-concurrent-active-conversations
27
- * (EC-17 DOCUMENT): with maxAgents:1 and 2 concurrent chats, LRU evicts
28
- * mid-stream → SDK aborts with code:'aborted'. Default 100 covers
29
- * indie/small-team; tune up for high-traffic.
30
- * * `idleTimeoutMs` — auto-evict idle agents (default 30 min). 0 disables
31
- * idle eviction (LRU only).
32
- */
39
+ distDir: z.ZodDefault<z.ZodString>;
33
40
  agents: z.ZodOptional<z.ZodObject<{
34
41
  maxRegistries: z.ZodDefault<z.ZodNumber>;
35
42
  registry: z.ZodOptional<z.ZodObject<{
36
- /** LRU cap — MUST be ≥ max-concurrent-active-conversations. */
37
43
  maxAgents: z.ZodDefault<z.ZodNumber>;
38
- /** Idle eviction window in ms. 0 disables idle eviction (LRU only). */
39
44
  idleTimeoutMs: z.ZodDefault<z.ZodNumber>;
40
- }, "strip", z.ZodTypeAny, {
41
- maxAgents: number;
42
- idleTimeoutMs: number;
43
- }, {
44
- maxAgents?: number | undefined;
45
- idleTimeoutMs?: number | undefined;
46
- }>>;
47
- }, "strip", z.ZodTypeAny, {
48
- maxRegistries: number;
49
- registry?: {
50
- maxAgents: number;
51
- idleTimeoutMs: number;
52
- } | undefined;
53
- }, {
54
- maxRegistries?: number | undefined;
55
- registry?: {
56
- maxAgents?: number | undefined;
57
- idleTimeoutMs?: number | undefined;
58
- } | undefined;
59
- }>>;
45
+ }, z.core.$strip>>;
46
+ }, z.core.$strip>>;
60
47
  port: z.ZodDefault<z.ZodNumber>;
61
48
  ssr: z.ZodDefault<z.ZodBoolean>;
62
- /** When true (and ssr === true), use renderToPipeableStream with progressive
63
- * shell flush instead of single-shot renderToString. Opt-in for streaming
64
- * SSR; default false preserves the current behavior. */
65
49
  ssrStreaming: z.ZodDefault<z.ZodBoolean>;
66
- rateLimit: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
50
+ rateLimit: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
67
51
  windowMs: z.ZodNumber;
68
52
  max: z.ZodNumber;
69
- }, "strip", z.ZodTypeAny, {
70
- windowMs: number;
71
- max: number;
72
- }, {
73
- windowMs: number;
74
- max: number;
75
- }>, z.ZodObject<{
53
+ }, z.core.$strip>, z.ZodObject<{
76
54
  default: z.ZodOptional<z.ZodObject<{
77
55
  windowMs: z.ZodNumber;
78
56
  max: z.ZodNumber;
79
- }, "strip", z.ZodTypeAny, {
80
- windowMs: number;
81
- max: number;
82
- }, {
83
- windowMs: number;
84
- max: number;
85
- }>>;
57
+ }, z.core.$strip>>;
86
58
  routes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
87
59
  windowMs: z.ZodNumber;
88
60
  max: z.ZodNumber;
89
- }, "strip", z.ZodTypeAny, {
90
- windowMs: number;
91
- max: number;
92
- }, {
93
- windowMs: number;
94
- max: number;
95
- }>>>;
96
- keyBy: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["ip", "session", "user"]>, z.ZodFunction<z.ZodTuple<[z.ZodUnknown], z.ZodUnknown>, z.ZodString>]>>;
61
+ }, z.core.$strip>>>;
62
+ keyBy: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
63
+ ip: "ip";
64
+ session: "session";
65
+ user: "user";
66
+ }>, z.ZodFunction<z.ZodTuple<[z.ZodUnknown], null>, z.ZodString>]>>;
97
67
  cookieName: z.ZodOptional<z.ZodString>;
98
- }, "strip", z.ZodTypeAny, {
99
- default?: {
100
- windowMs: number;
101
- max: number;
102
- } | undefined;
103
- routes?: Record<string, {
104
- windowMs: number;
105
- max: number;
106
- }> | undefined;
107
- keyBy?: "ip" | "session" | "user" | ((args_0: unknown, ...args: unknown[]) => string) | undefined;
108
- cookieName?: string | undefined;
109
- }, {
110
- default?: {
111
- windowMs: number;
112
- max: number;
113
- } | undefined;
114
- routes?: Record<string, {
115
- windowMs: number;
116
- max: number;
117
- }> | undefined;
118
- keyBy?: "ip" | "session" | "user" | ((args_0: unknown, ...args: unknown[]) => string) | undefined;
119
- cookieName?: string | undefined;
120
- }>]>>;
68
+ }, z.core.$strip>]>>;
121
69
  upload: z.ZodOptional<z.ZodObject<{
122
70
  maxFileSize: z.ZodDefault<z.ZodNumber>;
123
71
  maxFiles: z.ZodDefault<z.ZodNumber>;
124
72
  maxFieldSize: z.ZodDefault<z.ZodNumber>;
125
- }, "strip", z.ZodTypeAny, {
126
- maxFileSize: number;
127
- maxFiles: number;
128
- maxFieldSize: number;
129
- }, {
130
- maxFileSize?: number | undefined;
131
- maxFiles?: number | undefined;
132
- maxFieldSize?: number | undefined;
133
- }>>;
73
+ }, z.core.$strip>>;
134
74
  logging: z.ZodOptional<z.ZodObject<{
135
- level: z.ZodDefault<z.ZodEnum<["debug", "info", "warn", "error", "silent"]>>;
136
- }, "strip", z.ZodTypeAny, {
137
- level: "info" | "warn" | "error" | "debug" | "silent";
138
- }, {
139
- level?: "info" | "warn" | "error" | "debug" | "silent" | undefined;
140
- }>>;
75
+ level: z.ZodDefault<z.ZodEnum<{
76
+ error: "error";
77
+ info: "info";
78
+ warn: "warn";
79
+ debug: "debug";
80
+ silent: "silent";
81
+ }>>;
82
+ }, z.core.$strip>>;
141
83
  security: z.ZodOptional<z.ZodObject<{
142
- csrf: z.ZodDefault<z.ZodEnum<["off", "warn", "strict"]>>;
84
+ csrf: z.ZodDefault<z.ZodEnum<{
85
+ warn: "warn";
86
+ off: "off";
87
+ strict: "strict";
88
+ }>>;
143
89
  headers: z.ZodOptional<z.ZodObject<{
144
- csp: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<false>]>>;
145
- cspMode: z.ZodDefault<z.ZodEnum<["enforce", "report-only", "off"]>>;
146
- hsts: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<false>]>>;
147
- frameOptions: z.ZodDefault<z.ZodEnum<["DENY", "SAMEORIGIN"]>>;
90
+ csp: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
91
+ cspMode: z.ZodDefault<z.ZodEnum<{
92
+ enforce: "enforce";
93
+ "report-only": "report-only";
94
+ off: "off";
95
+ }>>;
96
+ hsts: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
97
+ frameOptions: z.ZodDefault<z.ZodEnum<{
98
+ DENY: "DENY";
99
+ SAMEORIGIN: "SAMEORIGIN";
100
+ }>>;
148
101
  contentTypeOptions: z.ZodDefault<z.ZodLiteral<"nosniff">>;
149
- referrerPolicy: z.ZodDefault<z.ZodEffects<z.ZodString, string, string>>;
150
- /**
151
- * T1.1 — Permissions-Policy directive string. EC-3-refined: rejects CR/LF.
152
- * Pass `false` to suppress the header.
153
- */
154
- permissionsPolicy: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<false>]>>;
155
- }, "strip", z.ZodTypeAny, {
156
- cspMode: "enforce" | "report-only" | "off";
157
- frameOptions: "DENY" | "SAMEORIGIN";
158
- contentTypeOptions: "nosniff";
159
- referrerPolicy: string;
160
- csp?: string | false | undefined;
161
- hsts?: string | false | undefined;
162
- permissionsPolicy?: string | false | undefined;
163
- }, {
164
- csp?: string | false | undefined;
165
- cspMode?: "enforce" | "report-only" | "off" | undefined;
166
- hsts?: string | false | undefined;
167
- frameOptions?: "DENY" | "SAMEORIGIN" | undefined;
168
- contentTypeOptions?: "nosniff" | undefined;
169
- referrerPolicy?: string | undefined;
170
- permissionsPolicy?: string | false | undefined;
171
- }>>;
172
- /** T5.1 — per-route escalation (Rails disallowed_warnings pattern). */
102
+ referrerPolicy: z.ZodDefault<z.ZodString>;
103
+ permissionsPolicy: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
104
+ }, z.core.$strip>>;
173
105
  disallowed: z.ZodOptional<z.ZodObject<{
174
- routes: z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">;
175
- behavior: z.ZodDefault<z.ZodEnum<["warn", "raise"]>>;
176
- }, "strip", z.ZodTypeAny, {
177
- routes: (string | RegExp)[];
178
- behavior: "warn" | "raise";
179
- }, {
180
- routes: (string | RegExp)[];
181
- behavior?: "warn" | "raise" | undefined;
182
- }>>;
183
- /** T1.2 — Cross-Origin Resource Sharing. Single global config; runs first in pipeline. */
184
- cors: z.ZodOptional<z.ZodEffects<z.ZodObject<{
185
- origins: z.ZodUnion<[z.ZodLiteral<"*">, z.ZodEffects<z.ZodString, string, string>, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">, z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodBoolean>]>;
186
- methods: z.ZodOptional<z.ZodArray<z.ZodEnum<["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "HEAD"]>, "many">>;
187
- allowedHeaders: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
188
- exposedHeaders: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
106
+ routes: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<RegExp, RegExp>]>>;
107
+ behavior: z.ZodDefault<z.ZodEnum<{
108
+ warn: "warn";
109
+ raise: "raise";
110
+ }>>;
111
+ }, z.core.$strip>>;
112
+ cors: z.ZodOptional<z.ZodObject<{
113
+ origins: z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodString, z.ZodCustom<RegExp, RegExp>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<RegExp, RegExp>]>>, z.ZodFunction<z.ZodTuple<[z.ZodString], null>, z.ZodBoolean>]>;
114
+ methods: z.ZodOptional<z.ZodArray<z.ZodEnum<{
115
+ GET: "GET";
116
+ HEAD: "HEAD";
117
+ OPTIONS: "OPTIONS";
118
+ POST: "POST";
119
+ PUT: "PUT";
120
+ PATCH: "PATCH";
121
+ DELETE: "DELETE";
122
+ }>>>;
123
+ allowedHeaders: z.ZodOptional<z.ZodArray<z.ZodString>>;
124
+ exposedHeaders: z.ZodOptional<z.ZodArray<z.ZodString>>;
189
125
  credentials: z.ZodDefault<z.ZodBoolean>;
190
126
  maxAge: z.ZodDefault<z.ZodNumber>;
191
- }, "strip", z.ZodTypeAny, {
192
- maxAge: number;
193
- origins: string | RegExp | (string | RegExp)[] | ((args_0: string, ...args: unknown[]) => boolean);
194
- credentials: boolean;
195
- methods?: ("GET" | "HEAD" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE")[] | undefined;
196
- allowedHeaders?: string[] | undefined;
197
- exposedHeaders?: string[] | undefined;
198
- }, {
199
- origins: string | RegExp | (string | RegExp)[] | ((args_0: string, ...args: unknown[]) => boolean);
200
- maxAge?: number | undefined;
201
- methods?: ("GET" | "HEAD" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE")[] | undefined;
202
- allowedHeaders?: string[] | undefined;
203
- exposedHeaders?: string[] | undefined;
204
- credentials?: boolean | undefined;
205
- }>, {
206
- maxAge: number;
207
- origins: string | RegExp | (string | RegExp)[] | ((args_0: string, ...args: unknown[]) => boolean);
208
- credentials: boolean;
209
- methods?: ("GET" | "HEAD" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE")[] | undefined;
210
- allowedHeaders?: string[] | undefined;
211
- exposedHeaders?: string[] | undefined;
212
- }, {
213
- origins: string | RegExp | (string | RegExp)[] | ((args_0: string, ...args: unknown[]) => boolean);
214
- maxAge?: number | undefined;
215
- methods?: ("GET" | "HEAD" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE")[] | undefined;
216
- allowedHeaders?: string[] | undefined;
217
- exposedHeaders?: string[] | undefined;
218
- credentials?: boolean | undefined;
219
- }>>;
220
- }, "strip", z.ZodTypeAny, {
221
- csrf: "strict" | "warn" | "off";
222
- cors?: {
223
- maxAge: number;
224
- origins: string | RegExp | (string | RegExp)[] | ((args_0: string, ...args: unknown[]) => boolean);
225
- credentials: boolean;
226
- methods?: ("GET" | "HEAD" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE")[] | undefined;
227
- allowedHeaders?: string[] | undefined;
228
- exposedHeaders?: string[] | undefined;
229
- } | undefined;
230
- headers?: {
231
- cspMode: "enforce" | "report-only" | "off";
232
- frameOptions: "DENY" | "SAMEORIGIN";
233
- contentTypeOptions: "nosniff";
234
- referrerPolicy: string;
235
- csp?: string | false | undefined;
236
- hsts?: string | false | undefined;
237
- permissionsPolicy?: string | false | undefined;
238
- } | undefined;
239
- disallowed?: {
240
- routes: (string | RegExp)[];
241
- behavior: "warn" | "raise";
242
- } | undefined;
243
- }, {
244
- cors?: {
245
- origins: string | RegExp | (string | RegExp)[] | ((args_0: string, ...args: unknown[]) => boolean);
246
- maxAge?: number | undefined;
247
- methods?: ("GET" | "HEAD" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE")[] | undefined;
248
- allowedHeaders?: string[] | undefined;
249
- exposedHeaders?: string[] | undefined;
250
- credentials?: boolean | undefined;
251
- } | undefined;
252
- headers?: {
253
- csp?: string | false | undefined;
254
- cspMode?: "enforce" | "report-only" | "off" | undefined;
255
- hsts?: string | false | undefined;
256
- frameOptions?: "DENY" | "SAMEORIGIN" | undefined;
257
- contentTypeOptions?: "nosniff" | undefined;
258
- referrerPolicy?: string | undefined;
259
- permissionsPolicy?: string | false | undefined;
260
- } | undefined;
261
- csrf?: "strict" | "warn" | "off" | undefined;
262
- disallowed?: {
263
- routes: (string | RegExp)[];
264
- behavior?: "warn" | "raise" | undefined;
265
- } | undefined;
127
+ }, z.core.$strip>>;
128
+ }, z.core.$strip>>;
129
+ serialization: z.ZodDefault<z.ZodEnum<{
130
+ json: "json";
131
+ superjson: "superjson";
266
132
  }>>;
267
- serialization: z.ZodDefault<z.ZodEnum<["json", "superjson"]>>;
268
- plugins: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
269
- /** Enable client-side batching of theoFetch calls and the
270
- * /api/__theo_batch__ server endpoint. */
271
- batching: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
133
+ plugins: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
134
+ batching: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
272
135
  max: z.ZodOptional<z.ZodNumber>;
273
- }, "strip", z.ZodTypeAny, {
274
- max?: number | undefined;
275
- }, {
276
- max?: number | undefined;
277
- }>]>>;
278
- /** T4.1 — Audit log. When `logger` is provided, framework events
279
- * (csrf.warn, rate-limit.exceeded, session.rotated, csp.violation) are
280
- * emitted to it. Default: noop. */
136
+ }, z.core.$strip>]>>;
281
137
  audit: z.ZodOptional<z.ZodObject<{
282
138
  logger: z.ZodOptional<z.ZodUnknown>;
283
- }, "strip", z.ZodTypeAny, {
284
- logger?: unknown;
285
- }, {
286
- logger?: unknown;
287
- }>>;
288
- /** TheoUI auto-wire (T2.1). `false` = opt-out; object = explicit theme/fonts;
289
- * undefined = enabled when @theokit/ui is detected in node_modules. */
290
- ui: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
291
- theme: z.ZodOptional<z.ZodEnum<["violet-forge", "noir", "paper"]>>;
292
- fonts: z.ZodOptional<z.ZodEnum<["bundled", "cdn"]>>;
293
- }, "strip", z.ZodTypeAny, {
294
- theme?: "violet-forge" | "noir" | "paper" | undefined;
295
- fonts?: "bundled" | "cdn" | undefined;
296
- }, {
297
- theme?: "violet-forge" | "noir" | "paper" | undefined;
298
- fonts?: "bundled" | "cdn" | undefined;
299
- }>]>>;
300
- /**
301
- * Cache subsystem (caching-and-revalidation-plan).
302
- * Default `undefined` keeps caching disabled (backward compatible).
303
- * Pass `cache: {}` to opt in with defaults.
304
- */
139
+ }, z.core.$strip>>;
140
+ ui: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodObject<{
141
+ theme: z.ZodOptional<z.ZodEnum<{
142
+ "violet-forge": "violet-forge";
143
+ noir: "noir";
144
+ paper: "paper";
145
+ }>>;
146
+ fonts: z.ZodOptional<z.ZodEnum<{
147
+ bundled: "bundled";
148
+ cdn: "cdn";
149
+ }>>;
150
+ }, z.core.$strip>]>>;
305
151
  cache: z.ZodOptional<z.ZodObject<{
306
152
  enabled: z.ZodDefault<z.ZodBoolean>;
307
- /** 'memory' uses InMemoryCacheAdapter; otherwise pass a custom adapter instance. */
308
- storage: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"memory">, z.ZodType<unknown, z.ZodTypeDef, unknown>]>>;
153
+ storage: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"memory">, z.ZodCustom<unknown, unknown>]>>;
309
154
  maxEntries: z.ZodDefault<z.ZodNumber>;
310
155
  defaults: z.ZodDefault<z.ZodObject<{
311
156
  maxAge: z.ZodDefault<z.ZodNumber>;
312
157
  swr: z.ZodOptional<z.ZodNumber>;
313
158
  cacheErrors: z.ZodDefault<z.ZodBoolean>;
314
- }, "strip", z.ZodTypeAny, {
315
- maxAge: number;
316
- cacheErrors: boolean;
317
- swr?: number | undefined;
318
- }, {
319
- maxAge?: number | undefined;
320
- swr?: number | undefined;
321
- cacheErrors?: boolean | undefined;
322
- }>>;
159
+ }, z.core.$strip>>;
323
160
  keyDerivation: z.ZodDefault<z.ZodObject<{
324
- excludeQuery: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
161
+ excludeQuery: z.ZodOptional<z.ZodArray<z.ZodString>>;
325
162
  sortQuery: z.ZodDefault<z.ZodBoolean>;
326
163
  lowercaseHost: z.ZodDefault<z.ZodBoolean>;
327
- }, "strip", z.ZodTypeAny, {
328
- sortQuery: boolean;
329
- lowercaseHost: boolean;
330
- excludeQuery?: string[] | undefined;
331
- }, {
332
- excludeQuery?: string[] | undefined;
333
- sortQuery?: boolean | undefined;
334
- lowercaseHost?: boolean | undefined;
335
- }>>;
164
+ }, z.core.$strip>>;
336
165
  routeRules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
337
166
  maxAge: z.ZodOptional<z.ZodNumber>;
338
167
  swr: z.ZodOptional<z.ZodNumber>;
339
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
340
- }, "strip", z.ZodTypeAny, {
341
- maxAge?: number | undefined;
342
- swr?: number | undefined;
343
- tags?: string[] | undefined;
344
- }, {
345
- maxAge?: number | undefined;
346
- swr?: number | undefined;
347
- tags?: string[] | undefined;
348
- }>>>;
349
- }, "strip", z.ZodTypeAny, {
350
- enabled: boolean;
351
- maxEntries: number;
352
- defaults: {
353
- maxAge: number;
354
- cacheErrors: boolean;
355
- swr?: number | undefined;
356
- };
357
- keyDerivation: {
358
- sortQuery: boolean;
359
- lowercaseHost: boolean;
360
- excludeQuery?: string[] | undefined;
361
- };
362
- storage?: unknown;
363
- routeRules?: Record<string, {
364
- maxAge?: number | undefined;
365
- swr?: number | undefined;
366
- tags?: string[] | undefined;
367
- }> | undefined;
368
- }, {
369
- enabled?: boolean | undefined;
370
- storage?: unknown;
371
- maxEntries?: number | undefined;
372
- defaults?: {
373
- maxAge?: number | undefined;
374
- swr?: number | undefined;
375
- cacheErrors?: boolean | undefined;
376
- } | undefined;
377
- keyDerivation?: {
378
- excludeQuery?: string[] | undefined;
379
- sortQuery?: boolean | undefined;
380
- lowercaseHost?: boolean | undefined;
381
- } | undefined;
382
- routeRules?: Record<string, {
383
- maxAge?: number | undefined;
384
- swr?: number | undefined;
385
- tags?: string[] | undefined;
386
- }> | undefined;
387
- }>>;
388
- /**
389
- * Devtools overlay (Phase 0.4.0+ — see docs/plans/devtools-plan.md).
390
- *
391
- * - `undefined` (default): devtools auto-injects in `pnpm dev`, NEVER in `vite build`.
392
- * - `false`: devtools disabled entirely (Vite plugin skips injection even in dev).
393
- * - `{ ... }`: devtools enabled with explicit defaults (position, theme).
394
- *
395
- * Tree-shaken to noop in prod via the dual-export pattern in
396
- * `packages/theo/src/devtools/index.ts` (EC-17 positive prod check).
397
- */
398
- devtools: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
399
- position: z.ZodOptional<z.ZodEnum<["top-left", "top-right", "bottom-left", "bottom-right"]>>;
400
- theme: z.ZodOptional<z.ZodEnum<["light", "dark", "system"]>>;
401
- }, "strip", z.ZodTypeAny, {
402
- theme?: "light" | "dark" | "system" | undefined;
403
- position?: "top-left" | "top-right" | "bottom-left" | "bottom-right" | undefined;
404
- }, {
405
- theme?: "light" | "dark" | "system" | undefined;
406
- position?: "top-left" | "top-right" | "bottom-left" | "bottom-right" | undefined;
407
- }>]>>;
408
- /**
409
- * Informative list of deploy adapters the app supports. Does NOT
410
- * trigger per-build translations — only the `--target` CLI flag does
411
- * (EC-201 / ADR D2). If `config.adapters` includes a target NOT
412
- * matching `--target`, `theokit build` emits a cross-reference note.
413
- */
414
- adapters: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
415
- /**
416
- * Extra package names to pre-bundle via Vite's `optimizeDeps.include`.
417
- *
418
- * Framework auto-includes `@theokit/ui` and `lucide-react` when present.
419
- * Apps adding plugin peer-deps that rely on a runtime `import('<pkg>')`
420
- * (dynamic specifier) — e.g. `@theokit/plugin-canvas` consumers
421
- * installing `mermaid` for Mermaid SVG rendering — must declare those
422
- * here so Vite can resolve the literal in dev mode without
423
- * "Failed to resolve module specifier" errors. Production builds use
424
- * tsup/esbuild bundling and are not affected.
425
- *
426
- * Example:
427
- * viteOptimizeDeps: ['mermaid']
428
- */
429
- viteOptimizeDeps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
430
- /**
431
- * Jobs backend (ADR D3 + T2.1). When configured, every request gets
432
- * `ctx.queue.enqueue` auto-wired via the outbox lifecycle. Pass a
433
- * `JobBackend` instance (InMemoryJobBackend, PostgresJobBackend, etc.).
434
- */
168
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
169
+ }, z.core.$strip>>>;
170
+ }, z.core.$strip>>;
171
+ devtools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodObject<{
172
+ position: z.ZodOptional<z.ZodEnum<{
173
+ "top-left": "top-left";
174
+ "top-right": "top-right";
175
+ "bottom-left": "bottom-left";
176
+ "bottom-right": "bottom-right";
177
+ }>>;
178
+ theme: z.ZodOptional<z.ZodEnum<{
179
+ light: "light";
180
+ dark: "dark";
181
+ system: "system";
182
+ }>>;
183
+ }, z.core.$strip>]>>;
184
+ adapters: z.ZodOptional<z.ZodArray<z.ZodString>>;
185
+ viteOptimizeDeps: z.ZodOptional<z.ZodArray<z.ZodString>>;
435
186
  jobs: z.ZodOptional<z.ZodObject<{
436
- backend: z.ZodType<unknown, z.ZodTypeDef, unknown>;
437
- }, "strip", z.ZodTypeAny, {
438
- backend?: unknown;
439
- }, {
440
- backend?: unknown;
441
- }>>;
442
- /**
443
- * StorageManager configuration (T1.1 / ADR-0007).
444
- *
445
- * Declares Postgres servers + databases + Redis servers. Consumed by
446
- * `getStorageManager().configure()` at boot via `start.ts`.
447
- *
448
- * Default `undefined` means manager exists but is not configured — adapters
449
- * relying on the manager (PostgresJobBackend.fromStorageManager, etc.) will
450
- * throw with an actionable error on first use.
451
- */
187
+ backend: z.ZodCustom<unknown, unknown>;
188
+ }, z.core.$strip>>;
452
189
  storage: z.ZodOptional<z.ZodObject<{
453
190
  servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
454
191
  host: z.ZodString;
455
192
  port: z.ZodOptional<z.ZodNumber>;
456
193
  user: z.ZodString;
457
- /** Password may be the empty string (some providers permit it). */
458
194
  password: z.ZodString;
459
195
  tls: z.ZodOptional<z.ZodObject<{
460
196
  rejectUnauthorized: z.ZodOptional<z.ZodBoolean>;
461
197
  caCert: z.ZodOptional<z.ZodString>;
462
198
  clientCert: z.ZodOptional<z.ZodString>;
463
199
  clientKey: z.ZodOptional<z.ZodString>;
464
- }, "strip", z.ZodTypeAny, {
465
- rejectUnauthorized?: boolean | undefined;
466
- caCert?: string | undefined;
467
- clientCert?: string | undefined;
468
- clientKey?: string | undefined;
469
- }, {
470
- rejectUnauthorized?: boolean | undefined;
471
- caCert?: string | undefined;
472
- clientCert?: string | undefined;
473
- clientKey?: string | undefined;
474
- }>>;
475
- }, "strip", z.ZodTypeAny, {
476
- host: string;
477
- user: string;
478
- password: string;
479
- port?: number | undefined;
480
- tls?: {
481
- rejectUnauthorized?: boolean | undefined;
482
- caCert?: string | undefined;
483
- clientCert?: string | undefined;
484
- clientKey?: string | undefined;
485
- } | undefined;
486
- }, {
487
- host: string;
488
- user: string;
489
- password: string;
490
- port?: number | undefined;
491
- tls?: {
492
- rejectUnauthorized?: boolean | undefined;
493
- caCert?: string | undefined;
494
- clientCert?: string | undefined;
495
- clientKey?: string | undefined;
496
- } | undefined;
497
- }>>>;
200
+ }, z.core.$strip>>;
201
+ }, z.core.$strip>>>;
498
202
  databases: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
499
- /** References a key in `storage.servers`. Resolved at `usePostgres()` call time. */
500
203
  server: z.ZodString;
501
204
  database: z.ZodString;
502
205
  pool: z.ZodOptional<z.ZodObject<{
@@ -504,172 +207,33 @@ declare const theoConfigSchema: z.ZodEffects<z.ZodObject<{
504
207
  max: z.ZodOptional<z.ZodNumber>;
505
208
  connectionTimeoutMillis: z.ZodOptional<z.ZodNumber>;
506
209
  idleTimeoutMillis: z.ZodOptional<z.ZodNumber>;
507
- }, "strip", z.ZodTypeAny, {
508
- max?: number | undefined;
509
- min?: number | undefined;
510
- connectionTimeoutMillis?: number | undefined;
511
- idleTimeoutMillis?: number | undefined;
512
- }, {
513
- max?: number | undefined;
514
- min?: number | undefined;
515
- connectionTimeoutMillis?: number | undefined;
516
- idleTimeoutMillis?: number | undefined;
517
- }>>;
518
- }, "strip", z.ZodTypeAny, {
519
- server: string;
520
- database: string;
521
- pool?: {
522
- max?: number | undefined;
523
- min?: number | undefined;
524
- connectionTimeoutMillis?: number | undefined;
525
- idleTimeoutMillis?: number | undefined;
526
- } | undefined;
527
- }, {
528
- server: string;
529
- database: string;
530
- pool?: {
531
- max?: number | undefined;
532
- min?: number | undefined;
533
- connectionTimeoutMillis?: number | undefined;
534
- idleTimeoutMillis?: number | undefined;
535
- } | undefined;
536
- }>>>;
210
+ }, z.core.$strip>>;
211
+ }, z.core.$strip>>>;
537
212
  redis: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
538
213
  host: z.ZodString;
539
214
  port: z.ZodOptional<z.ZodNumber>;
540
215
  user: z.ZodString;
541
- /** Password may be the empty string (some providers permit it). */
542
216
  password: z.ZodString;
543
217
  tls: z.ZodOptional<z.ZodObject<{
544
218
  rejectUnauthorized: z.ZodOptional<z.ZodBoolean>;
545
219
  caCert: z.ZodOptional<z.ZodString>;
546
220
  clientCert: z.ZodOptional<z.ZodString>;
547
221
  clientKey: z.ZodOptional<z.ZodString>;
548
- }, "strip", z.ZodTypeAny, {
549
- rejectUnauthorized?: boolean | undefined;
550
- caCert?: string | undefined;
551
- clientCert?: string | undefined;
552
- clientKey?: string | undefined;
553
- }, {
554
- rejectUnauthorized?: boolean | undefined;
555
- caCert?: string | undefined;
556
- clientCert?: string | undefined;
557
- clientKey?: string | undefined;
558
- }>>;
559
- } & {
222
+ }, z.core.$strip>>;
560
223
  db: z.ZodOptional<z.ZodNumber>;
561
224
  maxRetriesPerRequest: z.ZodOptional<z.ZodNumber>;
562
- }, "strip", z.ZodTypeAny, {
563
- host: string;
564
- user: string;
565
- password: string;
566
- port?: number | undefined;
567
- tls?: {
568
- rejectUnauthorized?: boolean | undefined;
569
- caCert?: string | undefined;
570
- clientCert?: string | undefined;
571
- clientKey?: string | undefined;
572
- } | undefined;
573
- db?: number | undefined;
574
- maxRetriesPerRequest?: number | undefined;
575
- }, {
576
- host: string;
577
- user: string;
578
- password: string;
579
- port?: number | undefined;
580
- tls?: {
581
- rejectUnauthorized?: boolean | undefined;
582
- caCert?: string | undefined;
583
- clientCert?: string | undefined;
584
- clientKey?: string | undefined;
585
- } | undefined;
586
- db?: number | undefined;
587
- maxRetriesPerRequest?: number | undefined;
588
- }>>>;
589
- }, "strip", z.ZodTypeAny, {
590
- redis?: Record<string, {
591
- host: string;
592
- user: string;
593
- password: string;
594
- port?: number | undefined;
595
- tls?: {
596
- rejectUnauthorized?: boolean | undefined;
597
- caCert?: string | undefined;
598
- clientCert?: string | undefined;
599
- clientKey?: string | undefined;
600
- } | undefined;
601
- db?: number | undefined;
602
- maxRetriesPerRequest?: number | undefined;
603
- }> | undefined;
604
- servers?: Record<string, {
605
- host: string;
606
- user: string;
607
- password: string;
608
- port?: number | undefined;
609
- tls?: {
610
- rejectUnauthorized?: boolean | undefined;
611
- caCert?: string | undefined;
612
- clientCert?: string | undefined;
613
- clientKey?: string | undefined;
614
- } | undefined;
615
- }> | undefined;
616
- databases?: Record<string, {
617
- server: string;
618
- database: string;
619
- pool?: {
620
- max?: number | undefined;
621
- min?: number | undefined;
622
- connectionTimeoutMillis?: number | undefined;
623
- idleTimeoutMillis?: number | undefined;
624
- } | undefined;
625
- }> | undefined;
626
- }, {
627
- redis?: Record<string, {
628
- host: string;
629
- user: string;
630
- password: string;
631
- port?: number | undefined;
632
- tls?: {
633
- rejectUnauthorized?: boolean | undefined;
634
- caCert?: string | undefined;
635
- clientCert?: string | undefined;
636
- clientKey?: string | undefined;
637
- } | undefined;
638
- db?: number | undefined;
639
- maxRetriesPerRequest?: number | undefined;
640
- }> | undefined;
641
- servers?: Record<string, {
642
- host: string;
643
- user: string;
644
- password: string;
645
- port?: number | undefined;
646
- tls?: {
647
- rejectUnauthorized?: boolean | undefined;
648
- caCert?: string | undefined;
649
- clientCert?: string | undefined;
650
- clientKey?: string | undefined;
651
- } | undefined;
652
- }> | undefined;
653
- databases?: Record<string, {
654
- server: string;
655
- database: string;
656
- pool?: {
657
- max?: number | undefined;
658
- min?: number | undefined;
659
- connectionTimeoutMillis?: number | undefined;
660
- idleTimeoutMillis?: number | undefined;
661
- } | undefined;
662
- }> | undefined;
663
- }>>;
664
- /**
665
- * Wave 2 — Polyglot services orchestration (T1.1 / ADR-0012/0013/0014/0015).
666
- *
667
- * Declarative external sidecar processes (Python FastAPI / Node Hono)
668
- * that boot alongside the TheoKit TS app. Empty `services: {}` is the
669
- * default and preserves Wave 1 behavior.
670
- */
671
- services: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodDefault<z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodObject<{
672
- runtime: z.ZodEnum<["python", "node"]>;
225
+ }, z.core.$strip>>>;
226
+ }, z.core.$strip>>;
227
+ services: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
228
+ runtime: z.ZodEnum<{
229
+ python: "python";
230
+ node: "node";
231
+ }>;
232
+ type: z.ZodOptional<z.ZodEnum<{
233
+ server: "server";
234
+ worker: "worker";
235
+ frontend: "frontend";
236
+ }>>;
673
237
  port: z.ZodNumber;
674
238
  proxy: z.ZodString;
675
239
  dev: z.ZodString;
@@ -679,818 +243,24 @@ declare const theoConfigSchema: z.ZodEffects<z.ZodObject<{
679
243
  healthcheck: z.ZodDefault<z.ZodString>;
680
244
  cors: z.ZodDefault<z.ZodBoolean>;
681
245
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
682
- dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
246
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
683
247
  passSetCookie: z.ZodDefault<z.ZodBoolean>;
684
- }, "strip", z.ZodTypeAny, {
685
- runtime: "python" | "node";
686
- port: number;
687
- proxy: string;
688
- dev: string;
689
- start: string;
690
- healthcheck: string;
691
- cors: boolean;
692
- passSetCookie: boolean;
693
- build?: string | undefined;
694
- openapi?: string | undefined;
695
- env?: Record<string, string> | undefined;
696
- dependsOn?: string[] | undefined;
697
- }, {
698
- runtime: "python" | "node";
699
- port: number;
700
- proxy: string;
701
- dev: string;
702
- start: string;
703
- build?: string | undefined;
704
- openapi?: string | undefined;
705
- healthcheck?: string | undefined;
706
- cors?: boolean | undefined;
707
- env?: Record<string, string> | undefined;
708
- dependsOn?: string[] | undefined;
709
- passSetCookie?: boolean | undefined;
710
- }>>>, Record<string, {
711
- runtime: "python" | "node";
712
- port: number;
713
- proxy: string;
714
- dev: string;
715
- start: string;
716
- healthcheck: string;
717
- cors: boolean;
718
- passSetCookie: boolean;
719
- build?: string | undefined;
720
- openapi?: string | undefined;
721
- env?: Record<string, string> | undefined;
722
- dependsOn?: string[] | undefined;
723
- }>, Record<string, {
724
- runtime: "python" | "node";
725
- port: number;
726
- proxy: string;
727
- dev: string;
728
- start: string;
729
- build?: string | undefined;
730
- openapi?: string | undefined;
731
- healthcheck?: string | undefined;
732
- cors?: boolean | undefined;
733
- env?: Record<string, string> | undefined;
734
- dependsOn?: string[] | undefined;
735
- passSetCookie?: boolean | undefined;
736
- }> | undefined>, Record<string, {
737
- runtime: "python" | "node";
738
- port: number;
739
- proxy: string;
740
- dev: string;
741
- start: string;
742
- healthcheck: string;
743
- cors: boolean;
744
- passSetCookie: boolean;
745
- build?: string | undefined;
746
- openapi?: string | undefined;
747
- env?: Record<string, string> | undefined;
748
- dependsOn?: string[] | undefined;
749
- }>, Record<string, {
750
- runtime: "python" | "node";
751
- port: number;
752
- proxy: string;
753
- dev: string;
754
- start: string;
755
- build?: string | undefined;
756
- openapi?: string | undefined;
757
- healthcheck?: string | undefined;
758
- cors?: boolean | undefined;
759
- env?: Record<string, string> | undefined;
760
- dependsOn?: string[] | undefined;
761
- passSetCookie?: boolean | undefined;
762
- }> | undefined>, Record<string, {
763
- runtime: "python" | "node";
764
- port: number;
765
- proxy: string;
766
- dev: string;
767
- start: string;
768
- healthcheck: string;
769
- cors: boolean;
770
- passSetCookie: boolean;
771
- build?: string | undefined;
772
- openapi?: string | undefined;
773
- env?: Record<string, string> | undefined;
774
- dependsOn?: string[] | undefined;
775
- }>, Record<string, {
776
- runtime: "python" | "node";
777
- port: number;
778
- proxy: string;
779
- dev: string;
780
- start: string;
781
- build?: string | undefined;
782
- openapi?: string | undefined;
783
- healthcheck?: string | undefined;
784
- cors?: boolean | undefined;
785
- env?: Record<string, string> | undefined;
786
- dependsOn?: string[] | undefined;
787
- passSetCookie?: boolean | undefined;
788
- }> | undefined>;
789
- /**
790
- * G2 — OpenAPI emit (build-time only).
791
- *
792
- * When present, `theokit build` writes a generated `openapi.json` from
793
- * every `defineRoute()` body/query/params Zod schema. `undefined` keeps
794
- * the framework backward-compatible (no emit). Pass `openapi: {}` to
795
- * opt in with defaults.
796
- *
797
- * Defaults: spec 3.1.0 · servers `http://localhost:3000` · title
798
- * "TheoKit App" · version "0.0.0" · outDir ".theo" (next to dist).
799
- *
800
- * The env var `THEOKIT_OPENAPI_SERVERS` (CSV of URLs) overrides
801
- * `servers[].url` at emit time without rebuilding the config.
802
- */
248
+ }, z.core.$strip>>>;
803
249
  openapi: z.ZodOptional<z.ZodObject<{
804
250
  servers: z.ZodDefault<z.ZodArray<z.ZodObject<{
805
251
  url: z.ZodString;
806
252
  description: z.ZodOptional<z.ZodString>;
807
- }, "strip", z.ZodTypeAny, {
808
- url: string;
809
- description?: string | undefined;
810
- }, {
811
- url: string;
812
- description?: string | undefined;
813
- }>, "many">>;
814
- specVersion: z.ZodDefault<z.ZodEnum<["3.1.0", "3.0.3"]>>;
253
+ }, z.core.$strip>>>;
254
+ specVersion: z.ZodDefault<z.ZodEnum<{
255
+ "3.1.0": "3.1.0";
256
+ "3.0.3": "3.0.3";
257
+ }>>;
815
258
  title: z.ZodDefault<z.ZodString>;
816
259
  version: z.ZodDefault<z.ZodString>;
817
260
  outDir: z.ZodDefault<z.ZodString>;
818
- }, "strip", z.ZodTypeAny, {
819
- version: string;
820
- servers: {
821
- url: string;
822
- description?: string | undefined;
823
- }[];
824
- specVersion: "3.1.0" | "3.0.3";
825
- title: string;
826
- outDir: string;
827
- }, {
828
- version?: string | undefined;
829
- servers?: {
830
- url: string;
831
- description?: string | undefined;
832
- }[] | undefined;
833
- specVersion?: "3.1.0" | "3.0.3" | undefined;
834
- title?: string | undefined;
835
- outDir?: string | undefined;
836
- }>>;
837
- }, "strip", z.ZodTypeAny, {
838
- port: number;
839
- services: Record<string, {
840
- runtime: "python" | "node";
841
- port: number;
842
- proxy: string;
843
- dev: string;
844
- start: string;
845
- healthcheck: string;
846
- cors: boolean;
847
- passSetCookie: boolean;
848
- build?: string | undefined;
849
- openapi?: string | undefined;
850
- env?: Record<string, string> | undefined;
851
- dependsOn?: string[] | undefined;
852
- }>;
853
- appDir: string;
854
- serverDir: string;
855
- distDir: string;
856
- ssr: boolean;
857
- ssrStreaming: boolean;
858
- serialization: "json" | "superjson";
859
- openapi?: {
860
- version: string;
861
- servers: {
862
- url: string;
863
- description?: string | undefined;
864
- }[];
865
- specVersion: "3.1.0" | "3.0.3";
866
- title: string;
867
- outDir: string;
868
- } | undefined;
869
- storage?: {
870
- redis?: Record<string, {
871
- host: string;
872
- user: string;
873
- password: string;
874
- port?: number | undefined;
875
- tls?: {
876
- rejectUnauthorized?: boolean | undefined;
877
- caCert?: string | undefined;
878
- clientCert?: string | undefined;
879
- clientKey?: string | undefined;
880
- } | undefined;
881
- db?: number | undefined;
882
- maxRetriesPerRequest?: number | undefined;
883
- }> | undefined;
884
- servers?: Record<string, {
885
- host: string;
886
- user: string;
887
- password: string;
888
- port?: number | undefined;
889
- tls?: {
890
- rejectUnauthorized?: boolean | undefined;
891
- caCert?: string | undefined;
892
- clientCert?: string | undefined;
893
- clientKey?: string | undefined;
894
- } | undefined;
895
- }> | undefined;
896
- databases?: Record<string, {
897
- server: string;
898
- database: string;
899
- pool?: {
900
- max?: number | undefined;
901
- min?: number | undefined;
902
- connectionTimeoutMillis?: number | undefined;
903
- idleTimeoutMillis?: number | undefined;
904
- } | undefined;
905
- }> | undefined;
906
- } | undefined;
907
- agents?: {
908
- maxRegistries: number;
909
- registry?: {
910
- maxAgents: number;
911
- idleTimeoutMs: number;
912
- } | undefined;
913
- } | undefined;
914
- rateLimit?: {
915
- windowMs: number;
916
- max: number;
917
- } | {
918
- default?: {
919
- windowMs: number;
920
- max: number;
921
- } | undefined;
922
- routes?: Record<string, {
923
- windowMs: number;
924
- max: number;
925
- }> | undefined;
926
- keyBy?: "ip" | "session" | "user" | ((args_0: unknown, ...args: unknown[]) => string) | undefined;
927
- cookieName?: string | undefined;
928
- } | undefined;
929
- upload?: {
930
- maxFileSize: number;
931
- maxFiles: number;
932
- maxFieldSize: number;
933
- } | undefined;
934
- logging?: {
935
- level: "info" | "warn" | "error" | "debug" | "silent";
936
- } | undefined;
937
- security?: {
938
- csrf: "strict" | "warn" | "off";
939
- cors?: {
940
- maxAge: number;
941
- origins: string | RegExp | (string | RegExp)[] | ((args_0: string, ...args: unknown[]) => boolean);
942
- credentials: boolean;
943
- methods?: ("GET" | "HEAD" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE")[] | undefined;
944
- allowedHeaders?: string[] | undefined;
945
- exposedHeaders?: string[] | undefined;
946
- } | undefined;
947
- headers?: {
948
- cspMode: "enforce" | "report-only" | "off";
949
- frameOptions: "DENY" | "SAMEORIGIN";
950
- contentTypeOptions: "nosniff";
951
- referrerPolicy: string;
952
- csp?: string | false | undefined;
953
- hsts?: string | false | undefined;
954
- permissionsPolicy?: string | false | undefined;
955
- } | undefined;
956
- disallowed?: {
957
- routes: (string | RegExp)[];
958
- behavior: "warn" | "raise";
959
- } | undefined;
960
- } | undefined;
961
- plugins?: unknown[] | undefined;
962
- batching?: boolean | {
963
- max?: number | undefined;
964
- } | undefined;
965
- audit?: {
966
- logger?: unknown;
967
- } | undefined;
968
- ui?: false | {
969
- theme?: "violet-forge" | "noir" | "paper" | undefined;
970
- fonts?: "bundled" | "cdn" | undefined;
971
- } | undefined;
972
- cache?: {
973
- enabled: boolean;
974
- maxEntries: number;
975
- defaults: {
976
- maxAge: number;
977
- cacheErrors: boolean;
978
- swr?: number | undefined;
979
- };
980
- keyDerivation: {
981
- sortQuery: boolean;
982
- lowercaseHost: boolean;
983
- excludeQuery?: string[] | undefined;
984
- };
985
- storage?: unknown;
986
- routeRules?: Record<string, {
987
- maxAge?: number | undefined;
988
- swr?: number | undefined;
989
- tags?: string[] | undefined;
990
- }> | undefined;
991
- } | undefined;
992
- devtools?: false | {
993
- theme?: "light" | "dark" | "system" | undefined;
994
- position?: "top-left" | "top-right" | "bottom-left" | "bottom-right" | undefined;
995
- } | undefined;
996
- adapters?: string[] | undefined;
997
- viteOptimizeDeps?: string[] | undefined;
998
- jobs?: {
999
- backend?: unknown;
1000
- } | undefined;
1001
- }, {
1002
- port?: number | undefined;
1003
- openapi?: {
1004
- version?: string | undefined;
1005
- servers?: {
1006
- url: string;
1007
- description?: string | undefined;
1008
- }[] | undefined;
1009
- specVersion?: "3.1.0" | "3.0.3" | undefined;
1010
- title?: string | undefined;
1011
- outDir?: string | undefined;
1012
- } | undefined;
1013
- services?: Record<string, {
1014
- runtime: "python" | "node";
1015
- port: number;
1016
- proxy: string;
1017
- dev: string;
1018
- start: string;
1019
- build?: string | undefined;
1020
- openapi?: string | undefined;
1021
- healthcheck?: string | undefined;
1022
- cors?: boolean | undefined;
1023
- env?: Record<string, string> | undefined;
1024
- dependsOn?: string[] | undefined;
1025
- passSetCookie?: boolean | undefined;
1026
- }> | undefined;
1027
- storage?: {
1028
- redis?: Record<string, {
1029
- host: string;
1030
- user: string;
1031
- password: string;
1032
- port?: number | undefined;
1033
- tls?: {
1034
- rejectUnauthorized?: boolean | undefined;
1035
- caCert?: string | undefined;
1036
- clientCert?: string | undefined;
1037
- clientKey?: string | undefined;
1038
- } | undefined;
1039
- db?: number | undefined;
1040
- maxRetriesPerRequest?: number | undefined;
1041
- }> | undefined;
1042
- servers?: Record<string, {
1043
- host: string;
1044
- user: string;
1045
- password: string;
1046
- port?: number | undefined;
1047
- tls?: {
1048
- rejectUnauthorized?: boolean | undefined;
1049
- caCert?: string | undefined;
1050
- clientCert?: string | undefined;
1051
- clientKey?: string | undefined;
1052
- } | undefined;
1053
- }> | undefined;
1054
- databases?: Record<string, {
1055
- server: string;
1056
- database: string;
1057
- pool?: {
1058
- max?: number | undefined;
1059
- min?: number | undefined;
1060
- connectionTimeoutMillis?: number | undefined;
1061
- idleTimeoutMillis?: number | undefined;
1062
- } | undefined;
1063
- }> | undefined;
1064
- } | undefined;
1065
- appDir?: string | undefined;
1066
- serverDir?: string | undefined;
1067
- distDir?: string | undefined;
1068
- agents?: {
1069
- maxRegistries?: number | undefined;
1070
- registry?: {
1071
- maxAgents?: number | undefined;
1072
- idleTimeoutMs?: number | undefined;
1073
- } | undefined;
1074
- } | undefined;
1075
- ssr?: boolean | undefined;
1076
- ssrStreaming?: boolean | undefined;
1077
- rateLimit?: {
1078
- windowMs: number;
1079
- max: number;
1080
- } | {
1081
- default?: {
1082
- windowMs: number;
1083
- max: number;
1084
- } | undefined;
1085
- routes?: Record<string, {
1086
- windowMs: number;
1087
- max: number;
1088
- }> | undefined;
1089
- keyBy?: "ip" | "session" | "user" | ((args_0: unknown, ...args: unknown[]) => string) | undefined;
1090
- cookieName?: string | undefined;
1091
- } | undefined;
1092
- upload?: {
1093
- maxFileSize?: number | undefined;
1094
- maxFiles?: number | undefined;
1095
- maxFieldSize?: number | undefined;
1096
- } | undefined;
1097
- logging?: {
1098
- level?: "info" | "warn" | "error" | "debug" | "silent" | undefined;
1099
- } | undefined;
1100
- security?: {
1101
- cors?: {
1102
- origins: string | RegExp | (string | RegExp)[] | ((args_0: string, ...args: unknown[]) => boolean);
1103
- maxAge?: number | undefined;
1104
- methods?: ("GET" | "HEAD" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE")[] | undefined;
1105
- allowedHeaders?: string[] | undefined;
1106
- exposedHeaders?: string[] | undefined;
1107
- credentials?: boolean | undefined;
1108
- } | undefined;
1109
- headers?: {
1110
- csp?: string | false | undefined;
1111
- cspMode?: "enforce" | "report-only" | "off" | undefined;
1112
- hsts?: string | false | undefined;
1113
- frameOptions?: "DENY" | "SAMEORIGIN" | undefined;
1114
- contentTypeOptions?: "nosniff" | undefined;
1115
- referrerPolicy?: string | undefined;
1116
- permissionsPolicy?: string | false | undefined;
1117
- } | undefined;
1118
- csrf?: "strict" | "warn" | "off" | undefined;
1119
- disallowed?: {
1120
- routes: (string | RegExp)[];
1121
- behavior?: "warn" | "raise" | undefined;
1122
- } | undefined;
1123
- } | undefined;
1124
- serialization?: "json" | "superjson" | undefined;
1125
- plugins?: unknown[] | undefined;
1126
- batching?: boolean | {
1127
- max?: number | undefined;
1128
- } | undefined;
1129
- audit?: {
1130
- logger?: unknown;
1131
- } | undefined;
1132
- ui?: false | {
1133
- theme?: "violet-forge" | "noir" | "paper" | undefined;
1134
- fonts?: "bundled" | "cdn" | undefined;
1135
- } | undefined;
1136
- cache?: {
1137
- enabled?: boolean | undefined;
1138
- storage?: unknown;
1139
- maxEntries?: number | undefined;
1140
- defaults?: {
1141
- maxAge?: number | undefined;
1142
- swr?: number | undefined;
1143
- cacheErrors?: boolean | undefined;
1144
- } | undefined;
1145
- keyDerivation?: {
1146
- excludeQuery?: string[] | undefined;
1147
- sortQuery?: boolean | undefined;
1148
- lowercaseHost?: boolean | undefined;
1149
- } | undefined;
1150
- routeRules?: Record<string, {
1151
- maxAge?: number | undefined;
1152
- swr?: number | undefined;
1153
- tags?: string[] | undefined;
1154
- }> | undefined;
1155
- } | undefined;
1156
- devtools?: false | {
1157
- theme?: "light" | "dark" | "system" | undefined;
1158
- position?: "top-left" | "top-right" | "bottom-left" | "bottom-right" | undefined;
1159
- } | undefined;
1160
- adapters?: string[] | undefined;
1161
- viteOptimizeDeps?: string[] | undefined;
1162
- jobs?: {
1163
- backend?: unknown;
1164
- } | undefined;
1165
- }>, {
1166
- port: number;
1167
- services: Record<string, {
1168
- runtime: "python" | "node";
1169
- port: number;
1170
- proxy: string;
1171
- dev: string;
1172
- start: string;
1173
- healthcheck: string;
1174
- cors: boolean;
1175
- passSetCookie: boolean;
1176
- build?: string | undefined;
1177
- openapi?: string | undefined;
1178
- env?: Record<string, string> | undefined;
1179
- dependsOn?: string[] | undefined;
1180
- }>;
1181
- appDir: string;
1182
- serverDir: string;
1183
- distDir: string;
1184
- ssr: boolean;
1185
- ssrStreaming: boolean;
1186
- serialization: "json" | "superjson";
1187
- openapi?: {
1188
- version: string;
1189
- servers: {
1190
- url: string;
1191
- description?: string | undefined;
1192
- }[];
1193
- specVersion: "3.1.0" | "3.0.3";
1194
- title: string;
1195
- outDir: string;
1196
- } | undefined;
1197
- storage?: {
1198
- redis?: Record<string, {
1199
- host: string;
1200
- user: string;
1201
- password: string;
1202
- port?: number | undefined;
1203
- tls?: {
1204
- rejectUnauthorized?: boolean | undefined;
1205
- caCert?: string | undefined;
1206
- clientCert?: string | undefined;
1207
- clientKey?: string | undefined;
1208
- } | undefined;
1209
- db?: number | undefined;
1210
- maxRetriesPerRequest?: number | undefined;
1211
- }> | undefined;
1212
- servers?: Record<string, {
1213
- host: string;
1214
- user: string;
1215
- password: string;
1216
- port?: number | undefined;
1217
- tls?: {
1218
- rejectUnauthorized?: boolean | undefined;
1219
- caCert?: string | undefined;
1220
- clientCert?: string | undefined;
1221
- clientKey?: string | undefined;
1222
- } | undefined;
1223
- }> | undefined;
1224
- databases?: Record<string, {
1225
- server: string;
1226
- database: string;
1227
- pool?: {
1228
- max?: number | undefined;
1229
- min?: number | undefined;
1230
- connectionTimeoutMillis?: number | undefined;
1231
- idleTimeoutMillis?: number | undefined;
1232
- } | undefined;
1233
- }> | undefined;
1234
- } | undefined;
1235
- agents?: {
1236
- maxRegistries: number;
1237
- registry?: {
1238
- maxAgents: number;
1239
- idleTimeoutMs: number;
1240
- } | undefined;
1241
- } | undefined;
1242
- rateLimit?: {
1243
- windowMs: number;
1244
- max: number;
1245
- } | {
1246
- default?: {
1247
- windowMs: number;
1248
- max: number;
1249
- } | undefined;
1250
- routes?: Record<string, {
1251
- windowMs: number;
1252
- max: number;
1253
- }> | undefined;
1254
- keyBy?: "ip" | "session" | "user" | ((args_0: unknown, ...args: unknown[]) => string) | undefined;
1255
- cookieName?: string | undefined;
1256
- } | undefined;
1257
- upload?: {
1258
- maxFileSize: number;
1259
- maxFiles: number;
1260
- maxFieldSize: number;
1261
- } | undefined;
1262
- logging?: {
1263
- level: "info" | "warn" | "error" | "debug" | "silent";
1264
- } | undefined;
1265
- security?: {
1266
- csrf: "strict" | "warn" | "off";
1267
- cors?: {
1268
- maxAge: number;
1269
- origins: string | RegExp | (string | RegExp)[] | ((args_0: string, ...args: unknown[]) => boolean);
1270
- credentials: boolean;
1271
- methods?: ("GET" | "HEAD" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE")[] | undefined;
1272
- allowedHeaders?: string[] | undefined;
1273
- exposedHeaders?: string[] | undefined;
1274
- } | undefined;
1275
- headers?: {
1276
- cspMode: "enforce" | "report-only" | "off";
1277
- frameOptions: "DENY" | "SAMEORIGIN";
1278
- contentTypeOptions: "nosniff";
1279
- referrerPolicy: string;
1280
- csp?: string | false | undefined;
1281
- hsts?: string | false | undefined;
1282
- permissionsPolicy?: string | false | undefined;
1283
- } | undefined;
1284
- disallowed?: {
1285
- routes: (string | RegExp)[];
1286
- behavior: "warn" | "raise";
1287
- } | undefined;
1288
- } | undefined;
1289
- plugins?: unknown[] | undefined;
1290
- batching?: boolean | {
1291
- max?: number | undefined;
1292
- } | undefined;
1293
- audit?: {
1294
- logger?: unknown;
1295
- } | undefined;
1296
- ui?: false | {
1297
- theme?: "violet-forge" | "noir" | "paper" | undefined;
1298
- fonts?: "bundled" | "cdn" | undefined;
1299
- } | undefined;
1300
- cache?: {
1301
- enabled: boolean;
1302
- maxEntries: number;
1303
- defaults: {
1304
- maxAge: number;
1305
- cacheErrors: boolean;
1306
- swr?: number | undefined;
1307
- };
1308
- keyDerivation: {
1309
- sortQuery: boolean;
1310
- lowercaseHost: boolean;
1311
- excludeQuery?: string[] | undefined;
1312
- };
1313
- storage?: unknown;
1314
- routeRules?: Record<string, {
1315
- maxAge?: number | undefined;
1316
- swr?: number | undefined;
1317
- tags?: string[] | undefined;
1318
- }> | undefined;
1319
- } | undefined;
1320
- devtools?: false | {
1321
- theme?: "light" | "dark" | "system" | undefined;
1322
- position?: "top-left" | "top-right" | "bottom-left" | "bottom-right" | undefined;
1323
- } | undefined;
1324
- adapters?: string[] | undefined;
1325
- viteOptimizeDeps?: string[] | undefined;
1326
- jobs?: {
1327
- backend?: unknown;
1328
- } | undefined;
1329
- }, {
1330
- port?: number | undefined;
1331
- openapi?: {
1332
- version?: string | undefined;
1333
- servers?: {
1334
- url: string;
1335
- description?: string | undefined;
1336
- }[] | undefined;
1337
- specVersion?: "3.1.0" | "3.0.3" | undefined;
1338
- title?: string | undefined;
1339
- outDir?: string | undefined;
1340
- } | undefined;
1341
- services?: Record<string, {
1342
- runtime: "python" | "node";
1343
- port: number;
1344
- proxy: string;
1345
- dev: string;
1346
- start: string;
1347
- build?: string | undefined;
1348
- openapi?: string | undefined;
1349
- healthcheck?: string | undefined;
1350
- cors?: boolean | undefined;
1351
- env?: Record<string, string> | undefined;
1352
- dependsOn?: string[] | undefined;
1353
- passSetCookie?: boolean | undefined;
1354
- }> | undefined;
1355
- storage?: {
1356
- redis?: Record<string, {
1357
- host: string;
1358
- user: string;
1359
- password: string;
1360
- port?: number | undefined;
1361
- tls?: {
1362
- rejectUnauthorized?: boolean | undefined;
1363
- caCert?: string | undefined;
1364
- clientCert?: string | undefined;
1365
- clientKey?: string | undefined;
1366
- } | undefined;
1367
- db?: number | undefined;
1368
- maxRetriesPerRequest?: number | undefined;
1369
- }> | undefined;
1370
- servers?: Record<string, {
1371
- host: string;
1372
- user: string;
1373
- password: string;
1374
- port?: number | undefined;
1375
- tls?: {
1376
- rejectUnauthorized?: boolean | undefined;
1377
- caCert?: string | undefined;
1378
- clientCert?: string | undefined;
1379
- clientKey?: string | undefined;
1380
- } | undefined;
1381
- }> | undefined;
1382
- databases?: Record<string, {
1383
- server: string;
1384
- database: string;
1385
- pool?: {
1386
- max?: number | undefined;
1387
- min?: number | undefined;
1388
- connectionTimeoutMillis?: number | undefined;
1389
- idleTimeoutMillis?: number | undefined;
1390
- } | undefined;
1391
- }> | undefined;
1392
- } | undefined;
1393
- appDir?: string | undefined;
1394
- serverDir?: string | undefined;
1395
- distDir?: string | undefined;
1396
- agents?: {
1397
- maxRegistries?: number | undefined;
1398
- registry?: {
1399
- maxAgents?: number | undefined;
1400
- idleTimeoutMs?: number | undefined;
1401
- } | undefined;
1402
- } | undefined;
1403
- ssr?: boolean | undefined;
1404
- ssrStreaming?: boolean | undefined;
1405
- rateLimit?: {
1406
- windowMs: number;
1407
- max: number;
1408
- } | {
1409
- default?: {
1410
- windowMs: number;
1411
- max: number;
1412
- } | undefined;
1413
- routes?: Record<string, {
1414
- windowMs: number;
1415
- max: number;
1416
- }> | undefined;
1417
- keyBy?: "ip" | "session" | "user" | ((args_0: unknown, ...args: unknown[]) => string) | undefined;
1418
- cookieName?: string | undefined;
1419
- } | undefined;
1420
- upload?: {
1421
- maxFileSize?: number | undefined;
1422
- maxFiles?: number | undefined;
1423
- maxFieldSize?: number | undefined;
1424
- } | undefined;
1425
- logging?: {
1426
- level?: "info" | "warn" | "error" | "debug" | "silent" | undefined;
1427
- } | undefined;
1428
- security?: {
1429
- cors?: {
1430
- origins: string | RegExp | (string | RegExp)[] | ((args_0: string, ...args: unknown[]) => boolean);
1431
- maxAge?: number | undefined;
1432
- methods?: ("GET" | "HEAD" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE")[] | undefined;
1433
- allowedHeaders?: string[] | undefined;
1434
- exposedHeaders?: string[] | undefined;
1435
- credentials?: boolean | undefined;
1436
- } | undefined;
1437
- headers?: {
1438
- csp?: string | false | undefined;
1439
- cspMode?: "enforce" | "report-only" | "off" | undefined;
1440
- hsts?: string | false | undefined;
1441
- frameOptions?: "DENY" | "SAMEORIGIN" | undefined;
1442
- contentTypeOptions?: "nosniff" | undefined;
1443
- referrerPolicy?: string | undefined;
1444
- permissionsPolicy?: string | false | undefined;
1445
- } | undefined;
1446
- csrf?: "strict" | "warn" | "off" | undefined;
1447
- disallowed?: {
1448
- routes: (string | RegExp)[];
1449
- behavior?: "warn" | "raise" | undefined;
1450
- } | undefined;
1451
- } | undefined;
1452
- serialization?: "json" | "superjson" | undefined;
1453
- plugins?: unknown[] | undefined;
1454
- batching?: boolean | {
1455
- max?: number | undefined;
1456
- } | undefined;
1457
- audit?: {
1458
- logger?: unknown;
1459
- } | undefined;
1460
- ui?: false | {
1461
- theme?: "violet-forge" | "noir" | "paper" | undefined;
1462
- fonts?: "bundled" | "cdn" | undefined;
1463
- } | undefined;
1464
- cache?: {
1465
- enabled?: boolean | undefined;
1466
- storage?: unknown;
1467
- maxEntries?: number | undefined;
1468
- defaults?: {
1469
- maxAge?: number | undefined;
1470
- swr?: number | undefined;
1471
- cacheErrors?: boolean | undefined;
1472
- } | undefined;
1473
- keyDerivation?: {
1474
- excludeQuery?: string[] | undefined;
1475
- sortQuery?: boolean | undefined;
1476
- lowercaseHost?: boolean | undefined;
1477
- } | undefined;
1478
- routeRules?: Record<string, {
1479
- maxAge?: number | undefined;
1480
- swr?: number | undefined;
1481
- tags?: string[] | undefined;
1482
- }> | undefined;
1483
- } | undefined;
1484
- devtools?: false | {
1485
- theme?: "light" | "dark" | "system" | undefined;
1486
- position?: "top-left" | "top-right" | "bottom-left" | "bottom-right" | undefined;
1487
- } | undefined;
1488
- adapters?: string[] | undefined;
1489
- viteOptimizeDeps?: string[] | undefined;
1490
- jobs?: {
1491
- backend?: unknown;
1492
- } | undefined;
1493
- }>;
261
+ }, z.core.$strip>>;
262
+ formatError: z.ZodOptional<z.ZodCustom<FormatErrorHook, FormatErrorHook>>;
263
+ }, z.core.$strip>;
1494
264
  type TheoConfig = z.infer<typeof theoConfigSchema>;
1495
265
 
1496
266
  /**