theokit 0.59.0 → 0.61.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 (136) hide show
  1. package/dist/{actions-virtual-module-L6SCJLDI.js → actions-virtual-module-345YHSEB.js} +8 -8
  2. package/dist/{actions-virtual-module-YQBEDNHN.js → actions-virtual-module-XI5IGBF4.js} +4 -4
  3. package/dist/adapters/agent-mount.d.ts +2 -2
  4. package/dist/adapters/agent-mount.js +3 -3
  5. package/dist/adapters/security-headers.d.ts +2 -2
  6. package/dist/adapters/security-headers.js +1 -1
  7. package/dist/{agent-X7RDENTI.js → agent-L45EZWPV.js} +3 -3
  8. package/dist/{app-typed-client-F3YLMV4N.js → app-typed-client-B7QIRDSP.js} +8 -8
  9. package/dist/{app-typed-client-BE4LZPK2.js → app-typed-client-GVP4V4X3.js} +4 -4
  10. package/dist/{aws-lambda-VKMYUMP2.js → aws-lambda-2R77AV5F.js} +3 -3
  11. package/dist/{build-H2UDKBV7.js → build-22OMF3NG.js} +6 -6
  12. package/dist/{bun-POLTY2HK.js → bun-MAAG4MKW.js} +3 -3
  13. package/dist/{chunk-CF2DNN5R.js → chunk-45XETXSG.js} +10 -2
  14. package/dist/chunk-45XETXSG.js.map +1 -0
  15. package/dist/{chunk-KQ27YDLG.js → chunk-4BQIJ4HE.js} +3 -3
  16. package/dist/{chunk-JW5UFKQ3.js → chunk-5AGNZXHJ.js} +2 -2
  17. package/dist/{chunk-IRQGAC4L.js → chunk-5GZROLDV.js} +2 -2
  18. package/dist/{chunk-IRQGAC4L.js.map → chunk-5GZROLDV.js.map} +1 -1
  19. package/dist/{chunk-6YRZWT5X.js → chunk-6R6UR64X.js} +9 -9
  20. package/dist/{chunk-YN4W7LCX.js → chunk-ENRT6DAU.js} +6 -1
  21. package/dist/chunk-ENRT6DAU.js.map +1 -0
  22. package/dist/{chunk-BPYMC7SU.js → chunk-EYRWD2AB.js} +2 -2
  23. package/dist/{chunk-HA35FS7U.js → chunk-FFS7IRZF.js} +2 -2
  24. package/dist/{chunk-M357ILK5.js → chunk-H2X5T45M.js} +3 -3
  25. package/dist/{chunk-GO7UWJ47.js → chunk-KPZ2JSAU.js} +53 -26
  26. package/dist/chunk-KPZ2JSAU.js.map +1 -0
  27. package/dist/{chunk-IF7CZXPW.js → chunk-KVZQJ3ZM.js} +8 -3
  28. package/dist/chunk-KVZQJ3ZM.js.map +1 -0
  29. package/dist/{chunk-VJRPOUKM.js → chunk-L2NSHQOY.js} +4 -4
  30. package/dist/{chunk-KZ3PXNPT.js → chunk-MIPHNT4J.js} +3 -3
  31. package/dist/chunk-MIPHNT4J.js.map +1 -0
  32. package/dist/{chunk-IJER2SYS.js → chunk-OH32SN46.js} +20 -1
  33. package/dist/{chunk-IJER2SYS.js.map → chunk-OH32SN46.js.map} +1 -1
  34. package/dist/{chunk-WOANPZBT.js → chunk-Q3UE7WIM.js} +2 -2
  35. package/dist/{chunk-4OTIXAUY.js → chunk-TMQ52AZR.js} +24 -1
  36. package/dist/chunk-TMQ52AZR.js.map +1 -0
  37. package/dist/{chunk-E43VJ3E5.js → chunk-VPX3MS5D.js} +2 -2
  38. package/dist/{chunk-RPET332G.js → chunk-VV2VU3LJ.js} +2 -2
  39. package/dist/chunk-VV2VU3LJ.js.map +1 -0
  40. package/dist/{chunk-35QIWOHT.js → chunk-WFIAYPBH.js} +10 -2
  41. package/dist/chunk-WFIAYPBH.js.map +1 -0
  42. package/dist/{chunk-MWPC7EOR.js → chunk-YXEKPMDK.js} +5 -5
  43. package/dist/{chunk-YGL3H3UW.js → chunk-ZXJAI4J7.js} +34 -11
  44. package/dist/chunk-ZXJAI4J7.js.map +1 -0
  45. package/dist/cli/index.js +9 -9
  46. package/dist/{cloudflare-SIG42OIW.js → cloudflare-F5DNYH4B.js} +3 -3
  47. package/dist/{deno-deploy-LQAYOOPW.js → deno-deploy-47E7GIME.js} +3 -3
  48. package/dist/{dev-SJE2GSAC.js → dev-BDODXUEA.js} +22 -17
  49. package/dist/dev-BDODXUEA.js.map +1 -0
  50. package/dist/{index-ADEV6pen.d.ts → index-BXGSBlxf.d.ts} +1 -1
  51. package/dist/index.d.ts +7 -0
  52. package/dist/index.js +9 -8
  53. package/dist/index.js.map +1 -1
  54. package/dist/{info-6WJ3JRNE.js → info-2H7I55YN.js} +3 -3
  55. package/dist/{internal-api-4FBFRQ4G.js → internal-api-QKWTQ2Q7.js} +4 -4
  56. package/dist/{internal-api-W5RURFU7.js → internal-api-VRUDDBEG.js} +8 -8
  57. package/dist/{load-config-BKUAMGO5.js → load-config-VMKOV44Y.js} +3 -3
  58. package/dist/{mcp-I5HCW4QF.js → mcp-WMZSXQQG.js} +4 -4
  59. package/dist/{netlify-C2IRCZKI.js → netlify-BJQGPMGY.js} +3 -3
  60. package/dist/{openapi-WDX3XX2J.js → openapi-SKKXWFX4.js} +3 -3
  61. package/dist/{preview-PWGO5LUE.js → preview-GUEKVBGL.js} +3 -3
  62. package/dist/{provider-resolver-VS61zqsw.d.ts → provider-resolver-1aWi_WSz.d.ts} +17 -0
  63. package/dist/{registry-3LUHO4IB.js → registry-APCN3PSJ.js} +7 -7
  64. package/dist/{route-config-Cm_ZMA1C.d.ts → route-config-B7FaTSby.d.ts} +1 -1
  65. package/dist/{route-policy-BxOycCDq.d.ts → route-policy-BHXQDzBF.d.ts} +20 -1
  66. package/dist/{routes-A2YLFEYC.js → routes-ECCDRHXZ.js} +3 -3
  67. package/dist/{schema-WKTNTGX6.js → schema-ND7GHPQK.js} +2 -2
  68. package/dist/{security-headers-Ccj7ncNx.d.ts → security-headers-C2cByfJn.d.ts} +5 -0
  69. package/dist/server/agent/index.d.ts +17 -2
  70. package/dist/server/agent/index.js +2 -2
  71. package/dist/server/define/index.d.ts +5 -4
  72. package/dist/server/define/index.js +1 -1
  73. package/dist/server/http/index.d.ts +3 -3
  74. package/dist/server/http/index.js +3 -3
  75. package/dist/server/index.d.ts +7 -7
  76. package/dist/server/index.js +13 -9
  77. package/dist/server/index.js.map +1 -1
  78. package/dist/server/security/index.d.ts +2 -2
  79. package/dist/server/security/index.js +2 -2
  80. package/dist/server/webhook/index.d.ts +9 -4
  81. package/dist/server/webhook/index.js +7 -3
  82. package/dist/{server-boundary-CJIXOPCF.js → server-boundary-7BRS2CWI.js} +4 -4
  83. package/dist/{server-boundary-WVWEJNUJ.js → server-boundary-OEBKNBEP.js} +8 -8
  84. package/dist/{start-KEWSYVVU.js → start-AKMBT3DW.js} +9 -9
  85. package/dist/{vercel-BMCQKCWE.js → vercel-BEDGUVXX.js} +3 -3
  86. package/dist/vite-plugin/index.js +8 -8
  87. package/dist/{vite-plugin-TU3HQA43.js → vite-plugin-37OQ5RDR.js} +8 -8
  88. package/dist/whatsapp-D_Fnl1LX.d.ts +85 -0
  89. package/package.json +2 -2
  90. package/dist/chunk-35QIWOHT.js.map +0 -1
  91. package/dist/chunk-4OTIXAUY.js.map +0 -1
  92. package/dist/chunk-CF2DNN5R.js.map +0 -1
  93. package/dist/chunk-GO7UWJ47.js.map +0 -1
  94. package/dist/chunk-IF7CZXPW.js.map +0 -1
  95. package/dist/chunk-KZ3PXNPT.js.map +0 -1
  96. package/dist/chunk-RPET332G.js.map +0 -1
  97. package/dist/chunk-YGL3H3UW.js.map +0 -1
  98. package/dist/chunk-YN4W7LCX.js.map +0 -1
  99. package/dist/dev-SJE2GSAC.js.map +0 -1
  100. package/dist/webhook-types-DGIjjcaI.d.ts +0 -43
  101. /package/dist/{actions-virtual-module-L6SCJLDI.js.map → actions-virtual-module-345YHSEB.js.map} +0 -0
  102. /package/dist/{actions-virtual-module-YQBEDNHN.js.map → actions-virtual-module-XI5IGBF4.js.map} +0 -0
  103. /package/dist/{agent-X7RDENTI.js.map → agent-L45EZWPV.js.map} +0 -0
  104. /package/dist/{app-typed-client-F3YLMV4N.js.map → app-typed-client-B7QIRDSP.js.map} +0 -0
  105. /package/dist/{app-typed-client-BE4LZPK2.js.map → app-typed-client-GVP4V4X3.js.map} +0 -0
  106. /package/dist/{aws-lambda-VKMYUMP2.js.map → aws-lambda-2R77AV5F.js.map} +0 -0
  107. /package/dist/{build-H2UDKBV7.js.map → build-22OMF3NG.js.map} +0 -0
  108. /package/dist/{bun-POLTY2HK.js.map → bun-MAAG4MKW.js.map} +0 -0
  109. /package/dist/{chunk-KQ27YDLG.js.map → chunk-4BQIJ4HE.js.map} +0 -0
  110. /package/dist/{chunk-JW5UFKQ3.js.map → chunk-5AGNZXHJ.js.map} +0 -0
  111. /package/dist/{chunk-6YRZWT5X.js.map → chunk-6R6UR64X.js.map} +0 -0
  112. /package/dist/{chunk-BPYMC7SU.js.map → chunk-EYRWD2AB.js.map} +0 -0
  113. /package/dist/{chunk-HA35FS7U.js.map → chunk-FFS7IRZF.js.map} +0 -0
  114. /package/dist/{chunk-M357ILK5.js.map → chunk-H2X5T45M.js.map} +0 -0
  115. /package/dist/{chunk-VJRPOUKM.js.map → chunk-L2NSHQOY.js.map} +0 -0
  116. /package/dist/{chunk-WOANPZBT.js.map → chunk-Q3UE7WIM.js.map} +0 -0
  117. /package/dist/{chunk-E43VJ3E5.js.map → chunk-VPX3MS5D.js.map} +0 -0
  118. /package/dist/{chunk-MWPC7EOR.js.map → chunk-YXEKPMDK.js.map} +0 -0
  119. /package/dist/{cloudflare-SIG42OIW.js.map → cloudflare-F5DNYH4B.js.map} +0 -0
  120. /package/dist/{deno-deploy-LQAYOOPW.js.map → deno-deploy-47E7GIME.js.map} +0 -0
  121. /package/dist/{info-6WJ3JRNE.js.map → info-2H7I55YN.js.map} +0 -0
  122. /package/dist/{internal-api-4FBFRQ4G.js.map → internal-api-QKWTQ2Q7.js.map} +0 -0
  123. /package/dist/{internal-api-W5RURFU7.js.map → internal-api-VRUDDBEG.js.map} +0 -0
  124. /package/dist/{load-config-BKUAMGO5.js.map → load-config-VMKOV44Y.js.map} +0 -0
  125. /package/dist/{mcp-I5HCW4QF.js.map → mcp-WMZSXQQG.js.map} +0 -0
  126. /package/dist/{netlify-C2IRCZKI.js.map → netlify-BJQGPMGY.js.map} +0 -0
  127. /package/dist/{openapi-WDX3XX2J.js.map → openapi-SKKXWFX4.js.map} +0 -0
  128. /package/dist/{preview-PWGO5LUE.js.map → preview-GUEKVBGL.js.map} +0 -0
  129. /package/dist/{registry-3LUHO4IB.js.map → registry-APCN3PSJ.js.map} +0 -0
  130. /package/dist/{routes-A2YLFEYC.js.map → routes-ECCDRHXZ.js.map} +0 -0
  131. /package/dist/{schema-WKTNTGX6.js.map → schema-ND7GHPQK.js.map} +0 -0
  132. /package/dist/{server-boundary-CJIXOPCF.js.map → server-boundary-7BRS2CWI.js.map} +0 -0
  133. /package/dist/{server-boundary-WVWEJNUJ.js.map → server-boundary-OEBKNBEP.js.map} +0 -0
  134. /package/dist/{start-KEWSYVVU.js.map → start-AKMBT3DW.js.map} +0 -0
  135. /package/dist/{vercel-BMCQKCWE.js.map → vercel-BEDGUVXX.js.map} +0 -0
  136. /package/dist/{vite-plugin-TU3HQA43.js.map → vite-plugin-37OQ5RDR.js.map} +0 -0
@@ -1,12 +1,12 @@
1
- import "./chunk-WOANPZBT.js";
2
- import "./chunk-M357ILK5.js";
3
- import "./chunk-BPYMC7SU.js";
4
- import "./chunk-IRQGAC4L.js";
5
- import "./chunk-JW5UFKQ3.js";
1
+ import "./chunk-Q3UE7WIM.js";
2
+ import "./chunk-H2X5T45M.js";
3
+ import "./chunk-EYRWD2AB.js";
4
+ import "./chunk-5GZROLDV.js";
5
+ import "./chunk-5AGNZXHJ.js";
6
6
  import "./chunk-P6OS7652.js";
7
7
  import "./chunk-ZDUO4IYN.js";
8
8
  import "./chunk-D4VP2QPR.js";
9
- import "./chunk-YN4W7LCX.js";
9
+ import "./chunk-ENRT6DAU.js";
10
10
  import "./chunk-47FFT43U.js";
11
11
  import "./chunk-NTDN54XO.js";
12
12
  import "./chunk-PVNMLZ5G.js";
@@ -24,7 +24,7 @@ import "./chunk-DV34VG3N.js";
24
24
  import "./chunk-V6Y2SMRG.js";
25
25
  import "./chunk-ACKBVBUI.js";
26
26
  import "./chunk-IZ3TIL6K.js";
27
- import "./chunk-CF2DNN5R.js";
27
+ import "./chunk-45XETXSG.js";
28
28
  import "./chunk-YSJOZEI6.js";
29
29
  import "./chunk-Z4PJMZLM.js";
30
30
  import "./chunk-UMNXCU3K.js";
@@ -234,4 +234,4 @@ export const actions = manifest
234
234
  export {
235
235
  actionsVirtualModule
236
236
  };
237
- //# sourceMappingURL=actions-virtual-module-L6SCJLDI.js.map
237
+ //# sourceMappingURL=actions-virtual-module-345YHSEB.js.map
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import "tsx/esm";
3
- import "./chunk-IF7CZXPW.js";
4
- import "./chunk-35QIWOHT.js";
3
+ import "./chunk-KVZQJ3ZM.js";
4
+ import "./chunk-WFIAYPBH.js";
5
5
  import "./chunk-L4TB6FXQ.js";
6
- import "./chunk-RPET332G.js";
6
+ import "./chunk-VV2VU3LJ.js";
7
7
  import "./chunk-5VLP3GQ2.js";
8
8
  import "./chunk-C27VRUVN.js";
9
9
  import "./chunk-7UZZHCRN.js";
@@ -218,4 +218,4 @@ export const actions = manifest
218
218
  export {
219
219
  actionsVirtualModule
220
220
  };
221
- //# sourceMappingURL=actions-virtual-module-YQBEDNHN.js.map
221
+ //# sourceMappingURL=actions-virtual-module-XI5IGBF4.js.map
@@ -1,6 +1,6 @@
1
- import { a as RouteSubject, R as RoutePolicy } from '../route-policy-BxOycCDq.js';
1
+ import { a as RouteSubject, R as RoutePolicy } from '../route-policy-BHXQDzBF.js';
2
2
  import { C as CsrfMode } from '../csrf-Dgot9qSM.js';
3
- export { r as resolveProvider } from '../provider-resolver-VS61zqsw.js';
3
+ export { r as resolveProvider } from '../provider-resolver-1aWi_WSz.js';
4
4
  export { s as scanAgents } from '../agent-scan-BZa-pagG.js';
5
5
  import 'node:http';
6
6
  import '../audit-log-BQWM5YLG.js';
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  mountAgent
3
- } from "../chunk-M357ILK5.js";
3
+ } from "../chunk-H2X5T45M.js";
4
4
  import "../chunk-P6OS7652.js";
5
- import "../chunk-YN4W7LCX.js";
5
+ import "../chunk-ENRT6DAU.js";
6
6
  import "../chunk-PVNMLZ5G.js";
7
7
  import "../chunk-ZDCCILMP.js";
8
8
  import "../chunk-CHTAWXC2.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "../chunk-KDP2HURW.js";
13
13
  import {
14
14
  resolveProvider
15
- } from "../chunk-CF2DNN5R.js";
15
+ } from "../chunk-45XETXSG.js";
16
16
  import "../chunk-UMNXCU3K.js";
17
17
  import "../chunk-SOYOYGWY.js";
18
18
  import "../chunk-ZWN3AODA.js";
@@ -1,6 +1,6 @@
1
1
  export { g as generateNonce } from '../nonce-BXt7Qu_C.js';
2
- import { S as SecurityHeadersConfig } from '../security-headers-Ccj7ncNx.js';
3
- export { b as buildSecurityHeaders } from '../security-headers-Ccj7ncNx.js';
2
+ import { S as SecurityHeadersConfig } from '../security-headers-C2cByfJn.js';
3
+ export { b as buildSecurityHeaders } from '../security-headers-C2cByfJn.js';
4
4
 
5
5
  /**
6
6
  * The security headers a deployed target puts on its responses.
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  buildSecurityHeaders
3
- } from "../chunk-IRQGAC4L.js";
3
+ } from "../chunk-5GZROLDV.js";
4
4
  import {
5
5
  generateNonce
6
6
  } from "../chunk-Z4PJMZLM.js";
@@ -3,8 +3,8 @@ import "tsx/esm";
3
3
  import {
4
4
  agentCommand,
5
5
  createAgentSsrLoader
6
- } from "./chunk-MWPC7EOR.js";
7
- import "./chunk-35QIWOHT.js";
6
+ } from "./chunk-YXEKPMDK.js";
7
+ import "./chunk-WFIAYPBH.js";
8
8
  import "./chunk-5NNFO7R7.js";
9
9
  import "./chunk-Z7CJHDLS.js";
10
10
  import "./chunk-3QPVEJ7D.js";
@@ -12,4 +12,4 @@ export {
12
12
  agentCommand,
13
13
  createAgentSsrLoader
14
14
  };
15
- //# sourceMappingURL=agent-X7RDENTI.js.map
15
+ //# sourceMappingURL=agent-L45EZWPV.js.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  scanControllerModules
3
- } from "./chunk-WOANPZBT.js";
4
- import "./chunk-M357ILK5.js";
5
- import "./chunk-BPYMC7SU.js";
6
- import "./chunk-IRQGAC4L.js";
7
- import "./chunk-JW5UFKQ3.js";
3
+ } from "./chunk-Q3UE7WIM.js";
4
+ import "./chunk-H2X5T45M.js";
5
+ import "./chunk-EYRWD2AB.js";
6
+ import "./chunk-5GZROLDV.js";
7
+ import "./chunk-5AGNZXHJ.js";
8
8
  import "./chunk-P6OS7652.js";
9
9
  import "./chunk-ZDUO4IYN.js";
10
10
  import "./chunk-D4VP2QPR.js";
11
- import "./chunk-YN4W7LCX.js";
11
+ import "./chunk-ENRT6DAU.js";
12
12
  import "./chunk-47FFT43U.js";
13
13
  import "./chunk-NTDN54XO.js";
14
14
  import "./chunk-PVNMLZ5G.js";
@@ -28,7 +28,7 @@ import {
28
28
  import "./chunk-V6Y2SMRG.js";
29
29
  import "./chunk-ACKBVBUI.js";
30
30
  import "./chunk-IZ3TIL6K.js";
31
- import "./chunk-CF2DNN5R.js";
31
+ import "./chunk-45XETXSG.js";
32
32
  import "./chunk-YSJOZEI6.js";
33
33
  import "./chunk-Z4PJMZLM.js";
34
34
  import "./chunk-UMNXCU3K.js";
@@ -427,4 +427,4 @@ export {
427
427
  generateClientDts,
428
428
  shouldReemitForFile
429
429
  };
430
- //# sourceMappingURL=app-typed-client-F3YLMV4N.js.map
430
+ //# sourceMappingURL=app-typed-client-B7QIRDSP.js.map
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import "tsx/esm";
3
- import "./chunk-IF7CZXPW.js";
4
- import "./chunk-35QIWOHT.js";
3
+ import "./chunk-KVZQJ3ZM.js";
4
+ import "./chunk-WFIAYPBH.js";
5
5
  import {
6
6
  scanControllerModules
7
7
  } from "./chunk-L4TB6FXQ.js";
8
- import "./chunk-RPET332G.js";
8
+ import "./chunk-VV2VU3LJ.js";
9
9
  import "./chunk-5VLP3GQ2.js";
10
10
  import "./chunk-C27VRUVN.js";
11
11
  import "./chunk-7UZZHCRN.js";
@@ -411,4 +411,4 @@ export {
411
411
  generateClientDts,
412
412
  shouldReemitForFile
413
413
  };
414
- //# sourceMappingURL=app-typed-client-BE4LZPK2.js.map
414
+ //# sourceMappingURL=app-typed-client-GVP4V4X3.js.map
@@ -7,11 +7,11 @@ import {
7
7
  deployedTraceFragment,
8
8
  describeDeployedSecurityHeaders,
9
9
  renderSecurityHeadersConfigLiteral
10
- } from "./chunk-E43VJ3E5.js";
10
+ } from "./chunk-VPX3MS5D.js";
11
11
  import {
12
12
  nodeAdapter
13
13
  } from "./chunk-KI4DOTN4.js";
14
- import "./chunk-RPET332G.js";
14
+ import "./chunk-VV2VU3LJ.js";
15
15
  import {
16
16
  assertServicesUnsupported,
17
17
  readManifest
@@ -258,4 +258,4 @@ export {
258
258
  renderAwsLambdaEntry,
259
259
  responseToLambdaResultV2
260
260
  };
261
- //# sourceMappingURL=aws-lambda-VKMYUMP2.js.map
261
+ //# sourceMappingURL=aws-lambda-2R77AV5F.js.map
@@ -3,7 +3,7 @@ import "tsx/esm";
3
3
  import {
4
4
  describeControllerArtifacts,
5
5
  emitControllerArtifacts
6
- } from "./chunk-KZ3PXNPT.js";
6
+ } from "./chunk-MIPHNT4J.js";
7
7
  import {
8
8
  validateProjectStructure
9
9
  } from "./chunk-GEQJAFSV.js";
@@ -34,14 +34,14 @@ import {
34
34
  } from "./chunk-Z7CJHDLS.js";
35
35
  import {
36
36
  loadConfig
37
- } from "./chunk-HA35FS7U.js";
37
+ } from "./chunk-FFS7IRZF.js";
38
38
  import {
39
39
  loadEnv
40
40
  } from "./chunk-3QPVEJ7D.js";
41
41
  import {
42
42
  importUserModule
43
43
  } from "./chunk-U5PWXS3J.js";
44
- import "./chunk-4OTIXAUY.js";
44
+ import "./chunk-TMQ52AZR.js";
45
45
  import {
46
46
  buildManifest,
47
47
  writeManifest
@@ -554,7 +554,7 @@ async function buildCommand(options) {
554
554
  `);
555
555
  }
556
556
  async function runAdapterBuild(target, config, cwd) {
557
- const { theoPluginAsync } = await import("./vite-plugin-TU3HQA43.js");
557
+ const { theoPluginAsync } = await import("./vite-plugin-37OQ5RDR.js");
558
558
  const { default: react } = await import("@vitejs/plugin-react");
559
559
  const ctx = {
560
560
  // `react()` may return Plugin or Plugin[] depending on version; spread the
@@ -603,7 +603,7 @@ async function runAdapterBuild(target, config, cwd) {
603
603
  };
604
604
  }
605
605
  };
606
- const { resolveAdapter } = await import("./registry-3LUHO4IB.js");
606
+ const { resolveAdapter } = await import("./registry-APCN3PSJ.js");
607
607
  const adapter = await resolveAdapter(target);
608
608
  const { warnUnappliedConfig, assertRateLimitEnforceable } = await import("./config-support-O4REYSK5.js");
609
609
  assertRateLimitEnforceable(config, adapter, target);
@@ -676,4 +676,4 @@ function relativize3(absPath, root) {
676
676
  export {
677
677
  buildCommand
678
678
  };
679
- //# sourceMappingURL=build-H2UDKBV7.js.map
679
+ //# sourceMappingURL=build-22OMF3NG.js.map
@@ -11,11 +11,11 @@ import {
11
11
  deployedTraceFragment,
12
12
  describeDeployedSecurityHeaders,
13
13
  renderSecurityHeadersConfigLiteral
14
- } from "./chunk-E43VJ3E5.js";
14
+ } from "./chunk-VPX3MS5D.js";
15
15
  import {
16
16
  nodeAdapter
17
17
  } from "./chunk-KI4DOTN4.js";
18
- import "./chunk-RPET332G.js";
18
+ import "./chunk-VV2VU3LJ.js";
19
19
  import {
20
20
  assertServicesUnsupported,
21
21
  readManifest
@@ -343,4 +343,4 @@ export {
343
343
  bunAdapter,
344
344
  renderBunEntry
345
345
  };
346
- //# sourceMappingURL=bun-POLTY2HK.js.map
346
+ //# sourceMappingURL=bun-MAAG4MKW.js.map
@@ -16,6 +16,7 @@ var DEFAULT_REGISTRY = [
16
16
  name: "openrouter",
17
17
  envKey: "OPENROUTER_API_KEY",
18
18
  baseUrl: "https://openrouter.ai/api/v1",
19
+ gateway: true,
19
20
  priority: 1
20
21
  },
21
22
  {
@@ -84,6 +85,13 @@ function declaredPrefixOf(modelId) {
84
85
  if (slash <= 0) return void 0;
85
86
  return modelId.slice(0, slash);
86
87
  }
88
+ function gatewayHint(declared, modelId, registered) {
89
+ const gateway = registered.find(
90
+ (p) => p.gateway === true && p.name !== declared.name && p.envKey !== void 0 && (process.env[p.envKey] ?? "").length > 0
91
+ );
92
+ if (gateway?.envKey === void 0) return `, or change the model's provider prefix`;
93
+ return `, or use "${gateway.name}/${modelId}" to route it through ${gateway.name} (${gateway.envKey} is set, and ${gateway.name} serves this model id)`;
94
+ }
87
95
  function takesCredential(desc) {
88
96
  return desc.envKey !== void 0;
89
97
  }
@@ -102,7 +110,7 @@ function resolveProvider(modelId, options) {
102
110
  return { name: declared.name, apiKey, baseUrl: baseUrlOf(declared) };
103
111
  }
104
112
  throw new Error(
105
- `Model "${modelId}" declares provider "${declared.name}", but ${declared.envKey} is not set. Set ${declared.envKey}, or change the model's provider prefix.`
113
+ `Model "${modelId}" declares provider "${declared.name}", but ${declared.envKey} is not set. Set ${declared.envKey}${gatewayHint(declared, modelId, sorted)}.`
106
114
  );
107
115
  }
108
116
  const unregisteredPrefix = declared === void 0 ? declaredPrefixOf(modelId) : void 0;
@@ -144,4 +152,4 @@ export {
144
152
  resolveProvider,
145
153
  tryResolveProvider
146
154
  };
147
- //# sourceMappingURL=chunk-CF2DNN5R.js.map
155
+ //# sourceMappingURL=chunk-45XETXSG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/_internal/process-singleton.ts","../src/server/agent/provider-resolver.ts"],"mappings":";AAgCA,IAAM,YAAY;AASX,SAAS,iBAAmC,KAAa,SAAqB;AACnF,QAAM,OAAO,uBAAO,IAAI,YAAY,GAAG;AACvC,QAAM,OAAO;AAEb,QAAM,WAAW,KAAK,IAAI;AAC1B,MAAI,aAAa,OAAW,QAAO;AAEnC,QAAM,UAAU,QAAQ;AACxB,OAAK,IAAI,IAAI;AACb,SAAO;AACT;;;ACuDA,IAAM,mBAAyC;AAAA,EAC7C;AAAA,IACE,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAME,MAAM;AAAA,IACN,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,UAAU;AAAA,EACZ;AACF;AAYA,SAAS,aAAmC;AAC1C,SAAO,iBAAiB,qBAAqB,MAAM,CAAC,GAAG,gBAAgB,CAAC;AAC1E;AAUA,IAAM,YAAY,oBAAI,IAAY;AA2B3B,SAAS,iBAAiB,YAAsC;AAErE,QAAM,WAAW,WAAW;AAC5B,QAAM,MAAM,SAAS,UAAU,CAAC,MAAM,EAAE,SAAS,WAAW,IAAI;AAChE,MAAI,OAAO,EAAG,UAAS,GAAG,IAAI;AAAA,MACzB,UAAS,KAAK,UAAU;AAC/B;AAOO,SAAS,wBAA8B;AAC5C,QAAM,WAAW,WAAW;AAC5B,WAAS,SAAS;AAClB,WAAS,KAAK,GAAG,gBAAgB;AACnC;AAOO,SAAS,gBAA+C;AAC7D,SAAO,CAAC,GAAG,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,WAAW,EAAE,QAAQ;AACjE;AASA,SAAS,SACP,MACA,KACA,SACM;AACN,MAAI,UAAU,IAAI,KAAK,IAAI,EAAG;AAC9B,YAAU,IAAI,KAAK,IAAI;AACvB,QAAM,SAAS,KAAK,UAAU;AAC9B,QAAM,OAAO,sBAAsB,KAAK,IAAI,KAAK,GAAG,YAAY,MAAM,YAAY,UAAU,IAAI,CAAC;AACjG,MAAI,SAAS,SAAU,SAAQ,SAAS,IAAI;AAAA,MAIvC,SAAQ,KAAK,IAAI;AACxB;AAQA,SAAS,UAAU,MAAkC;AACnD,MAAI,KAAK,eAAe,OAAW,QAAO,KAAK;AAC/C,QAAM,WAAW,QAAQ,IAAI,KAAK,UAAU;AAC5C,SAAO,aAAa,UAAa,SAAS,SAAS,IAAI,WAAW,KAAK;AACzE;AAaA,SAAS,WACP,SACA,YACgC;AAChC,QAAM,SAAS,iBAAiB,OAAO;AACvC,MAAI,WAAW,OAAW,QAAO;AACjC,SAAO,WAAW,KAAK,CAAC,MAAM,EAAE,SAAS,MAAM;AACjD;AASA,SAAS,iBAAiB,SAAiD;AACzE,MAAI,YAAY,OAAW,QAAO;AAClC,QAAM,QAAQ,QAAQ,QAAQ,GAAG;AACjC,MAAI,SAAS,EAAG,QAAO;AACvB,SAAO,QAAQ,MAAM,GAAG,KAAK;AAC/B;AAaA,SAAS,YACP,UACA,SACA,YACQ;AACR,QAAM,UAAU,WAAW;AAAA,IACzB,CAAC,MACC,EAAE,YAAY,QACd,EAAE,SAAS,SAAS,QACpB,EAAE,WAAW,WACZ,QAAQ,IAAI,EAAE,MAAM,KAAK,IAAI,SAAS;AAAA,EAC3C;AACA,MAAI,SAAS,WAAW,OAAW,QAAO;AAC1C,SACE,aAAa,QAAQ,IAAI,IAAI,OAAO,yBAAyB,QAAQ,IAAI,KACrE,QAAQ,MAAM,gBAAgB,QAAQ,IAAI;AAElD;AAKA,SAAS,gBAAgB,MAAwD;AAC/E,SAAO,KAAK,WAAW;AACzB;AA+BA,IAAM,kBAAkB;AAEjB,SAAS,gBAAgB,SAAkB,SAA4C;AAC5F,QAAM,SAAS,CAAC,GAAG,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,WAAW,EAAE,QAAQ;AAEvE,QAAM,WAAW,YAAY,SAAY,SAAY,WAAW,SAAS,MAAM;AAC/E,MAAI,aAAa,UAAa,YAAY,QAAW;AACnD,QAAI,SAAS,WAAW,QAAW;AACjC,eAAS,UAAU,yBAAyB,OAAO;AACnD,aAAO,EAAE,MAAM,SAAS,MAAM,QAAQ,iBAAiB,SAAS,UAAU,QAAQ,EAAE;AAAA,IACtF;AACA,UAAM,SAAS,QAAQ,IAAI,SAAS,MAAM;AAC1C,QAAI,UAAU,OAAO,SAAS,GAAG;AAC/B,eAAS,UAAU,yBAAyB,OAAO;AACnD,aAAO,EAAE,MAAM,SAAS,MAAM,QAAQ,SAAS,UAAU,QAAQ,EAAE;AAAA,IACrE;AAOA,UAAM,IAAI;AAAA,MACR,UAAU,OAAO,wBAAwB,SAAS,IAAI,UAAU,SAAS,MAAM,oBACtE,SAAS,MAAM,GAAG,YAAY,UAAU,SAAS,MAAM,CAAC;AAAA,IACnE;AAAA,EACF;AAcA,QAAM,qBAAqB,aAAa,SAAY,iBAAiB,OAAO,IAAI;AAChF,MAAI,uBAAuB,QAAW;AACpC,UAAM,IAAI;AAAA,MACR,UAAU,OAAO,OAAO,CAAC,wBAAwB,kBAAkB,qDACxC,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,gDACf,kBAAkB;AAAA,IACpE;AAAA,EACF;AAIA,QAAM,eAAe,OAAO,OAAO,eAAe;AAElD,aAAW,QAAQ,cAAc;AAC/B,UAAM,SAAS,QAAQ,IAAI,KAAK,MAAM;AACtC,QAAI,UAAU,OAAO,SAAS,GAAG;AAC/B,eAAS,MAAM,mBAAmB,OAAO;AACzC,aAAO;AAAA,QACL,MAAM,KAAK;AAAA,QACX;AAAA,QACA,SAAS,UAAU,IAAI;AAAA,MACzB;AAAA,IACF;AAAA,EACF;AAQA,QAAM,UAAU,aAAa,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,MAAM;AAC7D,QAAM,IAAI;AAAA,IACR,6DAA6D,OAAO;AAAA,EAEtE;AACF;AAQO,SAAS,mBAAmB,SAA2C;AAC5E,MAAI;AACF,WAAO,gBAAgB,OAAO;AAAA,EAChC,QAAQ;AACN,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  validateRouteInput
3
- } from "./chunk-JW5UFKQ3.js";
3
+ } from "./chunk-5AGNZXHJ.js";
4
4
  import {
5
5
  evaluateRoutePolicy,
6
6
  subjectFromContext
7
- } from "./chunk-YN4W7LCX.js";
7
+ } from "./chunk-ENRT6DAU.js";
8
8
 
9
9
  // src/server/http/error-pages.ts
10
10
  import { closeSync, fstatSync, openSync, readFileSync } from "node:fs";
@@ -270,4 +270,4 @@ export {
270
270
  callProcedure,
271
271
  createOpenApiHandler
272
272
  };
273
- //# sourceMappingURL=chunk-KQ27YDLG.js.map
273
+ //# sourceMappingURL=chunk-4BQIJ4HE.js.map
@@ -12,7 +12,7 @@ import {
12
12
  import {
13
13
  evaluateRoutePolicy,
14
14
  subjectFromContext
15
- } from "./chunk-YN4W7LCX.js";
15
+ } from "./chunk-ENRT6DAU.js";
16
16
  import {
17
17
  DuplicateContextKeyError,
18
18
  createOutbox,
@@ -1702,4 +1702,4 @@ export {
1702
1702
  createCorsHandler,
1703
1703
  createCorsWebHandler
1704
1704
  };
1705
- //# sourceMappingURL=chunk-JW5UFKQ3.js.map
1705
+ //# sourceMappingURL=chunk-5AGNZXHJ.js.map
@@ -1,5 +1,5 @@
1
1
  // src/core/contracts/security-headers.ts
2
- var DEFAULT_CSP = "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob:; font-src 'self' data:; connect-src 'self' ws: wss:; frame-ancestors 'none'; report-uri /__theo/csp-report";
2
+ var DEFAULT_CSP = "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob:; media-src 'self' data: blob:; font-src 'self' data:; connect-src 'self' ws: wss:; frame-ancestors 'none'; report-uri /__theo/csp-report";
3
3
  var DEFAULT_PERMISSIONS_POLICY = "geolocation=(), camera=(), microphone=(), payment=(), usb=(), accelerometer=(), gyroscope=()";
4
4
  var DEFAULT_HSTS = "max-age=31536000; includeSubDomains";
5
5
  function applyNonceToCsp(policy, nonce) {
@@ -49,4 +49,4 @@ export {
49
49
  DEFAULT_PERMISSIONS_POLICY,
50
50
  buildSecurityHeaders
51
51
  };
52
- //# sourceMappingURL=chunk-IRQGAC4L.js.map
52
+ //# sourceMappingURL=chunk-5GZROLDV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/contracts/security-headers.ts"],"mappings":";AAyDO,IAAM,cACX;AAsBK,IAAM,6BACX;AAyDF,IAAM,eAAe;AAOrB,SAAS,gBAAgB,QAAgB,OAAuB;AAC9D,SAAO,OACJ,MAAM,GAAG,EACT,IAAI,CAAC,cAAc;AAClB,UAAM,UAAU,UAAU,KAAK;AAC/B,QAAI,CAAC,QAAQ,WAAW,YAAY,EAAG,QAAO;AAC9C,QAAI,QAAQ,SAAS,iBAAiB,GAAG;AACvC,aAAO,UAAU,QAAQ,mBAAmB,UAAU,KAAK,GAAG;AAAA,IAChE;AACA,WAAO,GAAG,SAAS,WAAW,KAAK;AAAA,EACrC,CAAC,EACA,KAAK,GAAG;AACb;AAWA,SAAS,SACP,KACA,QACA,gBACM;AACN,MAAI,OAAO,QAAQ,SAAS,OAAO,YAAY,MAAO;AACtD,MAAI,SAAS,OAAO,OAAO,QAAQ,WAAW,OAAO,MAAM;AAC3D,MAAI,gBAAgB;AAClB,aAAS,gBAAgB,QAAQ,cAAc;AAAA,EACjD;AAEA,QAAM,OAAgB,OAAO,WAAW;AACxC,MAAI,SAAS,WAAW;AACtB,QAAI,yBAAyB,IAAI;AAAA,EACnC,OAAO;AACL,QAAI,qCAAqC,IAAI;AAAA,EAC/C;AACF;AAMO,SAAS,qBACd,QACA,KACA,UAAkC,CAAC,GACX;AACxB,QAAM,MAA8B,CAAC;AAIrC,QAAM,iBAAiB,QAAQ,YAAY,SAAY,QAAQ;AAE/D,WAAS,KAAK,QAAQ,cAAc;AAGpC,MAAI,iBAAiB,IAAI,OAAO,gBAAgB;AAGhD,MAAI,wBAAwB,IAAI,OAAO,sBAAsB;AAG7D,MAAI,iBAAiB,IAAI,OAAO,kBAAkB;AAIlD,MAAI,OAAO,sBAAsB,OAAO;AACtC,QAAI,oBAAoB,IACtB,OAAO,OAAO,sBAAsB,WAChC,OAAO,oBACP;AAAA,EACR;AAGA,MAAI,IAAI,cAAc,OAAO,SAAS,OAAO;AAC3C,QAAI,2BAA2B,IAAI,OAAO,OAAO,SAAS,WAAW,OAAO,OAAO;AAAA,EACrF;AAQA,MAAI,gBAAgB;AAClB,QAAI,eAAe,IAAI;AAAA,EACzB;AAEA,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../src/core/contracts/security-headers.ts"],"mappings":";AA8DO,IAAM,cACX;AAuBK,IAAM,6BACX;AAyDF,IAAM,eAAe;AAOrB,SAAS,gBAAgB,QAAgB,OAAuB;AAC9D,SAAO,OACJ,MAAM,GAAG,EACT,IAAI,CAAC,cAAc;AAClB,UAAM,UAAU,UAAU,KAAK;AAC/B,QAAI,CAAC,QAAQ,WAAW,YAAY,EAAG,QAAO;AAC9C,QAAI,QAAQ,SAAS,iBAAiB,GAAG;AACvC,aAAO,UAAU,QAAQ,mBAAmB,UAAU,KAAK,GAAG;AAAA,IAChE;AACA,WAAO,GAAG,SAAS,WAAW,KAAK;AAAA,EACrC,CAAC,EACA,KAAK,GAAG;AACb;AAWA,SAAS,SACP,KACA,QACA,gBACM;AACN,MAAI,OAAO,QAAQ,SAAS,OAAO,YAAY,MAAO;AACtD,MAAI,SAAS,OAAO,OAAO,QAAQ,WAAW,OAAO,MAAM;AAC3D,MAAI,gBAAgB;AAClB,aAAS,gBAAgB,QAAQ,cAAc;AAAA,EACjD;AAEA,QAAM,OAAgB,OAAO,WAAW;AACxC,MAAI,SAAS,WAAW;AACtB,QAAI,yBAAyB,IAAI;AAAA,EACnC,OAAO;AACL,QAAI,qCAAqC,IAAI;AAAA,EAC/C;AACF;AAMO,SAAS,qBACd,QACA,KACA,UAAkC,CAAC,GACX;AACxB,QAAM,MAA8B,CAAC;AAIrC,QAAM,iBAAiB,QAAQ,YAAY,SAAY,QAAQ;AAE/D,WAAS,KAAK,QAAQ,cAAc;AAGpC,MAAI,iBAAiB,IAAI,OAAO,gBAAgB;AAGhD,MAAI,wBAAwB,IAAI,OAAO,sBAAsB;AAG7D,MAAI,iBAAiB,IAAI,OAAO,kBAAkB;AAIlD,MAAI,OAAO,sBAAsB,OAAO;AACtC,QAAI,oBAAoB,IACtB,OAAO,OAAO,sBAAsB,WAChC,OAAO,oBACP;AAAA,EACR;AAGA,MAAI,IAAI,cAAc,OAAO,SAAS,OAAO;AAC3C,QAAI,2BAA2B,IAAI,OAAO,OAAO,SAAS,WAAW,OAAO,OAAO;AAAA,EACrF;AAQA,MAAI,gBAAgB;AAClB,QAAI,eAAe,IAAI;AAAA,EACzB;AAEA,SAAO;AACT;","names":[]}
@@ -12,7 +12,7 @@ import {
12
12
  serveMatchedAuxRoute,
13
13
  serveThroughPluginLifecycle,
14
14
  setupSsrDevMiddleware
15
- } from "./chunk-VJRPOUKM.js";
15
+ } from "./chunk-L2NSHQOY.js";
16
16
  import {
17
17
  resolveTheoRootDir
18
18
  } from "./chunk-FDOOBTXJ.js";
@@ -38,11 +38,11 @@ import {
38
38
  mountAgent,
39
39
  readAgentPolicy,
40
40
  writeWebResponseToServerResponse
41
- } from "./chunk-IF7CZXPW.js";
41
+ } from "./chunk-KVZQJ3ZM.js";
42
42
  import {
43
43
  getApprovalRegistry,
44
44
  resolveProvider
45
- } from "./chunk-35QIWOHT.js";
45
+ } from "./chunk-WFIAYPBH.js";
46
46
  import {
47
47
  createWebRequestSource,
48
48
  dispatchControllerRequest,
@@ -68,7 +68,7 @@ import {
68
68
  } from "./chunk-NO6HA4FG.js";
69
69
  import {
70
70
  loadConfig
71
- } from "./chunk-HA35FS7U.js";
71
+ } from "./chunk-FFS7IRZF.js";
72
72
  import {
73
73
  buildServicesProxyConfig
74
74
  } from "./chunk-ZNZISJDZ.js";
@@ -2179,19 +2179,19 @@ async function theoPluginAsync(rootOrOptions) {
2179
2179
  })
2180
2180
  );
2181
2181
  }
2182
- const { appTypedClientPlugin } = await import("./app-typed-client-BE4LZPK2.js");
2182
+ const { appTypedClientPlugin } = await import("./app-typed-client-GVP4V4X3.js");
2183
2183
  const appClientPlugin = appTypedClientPlugin({
2184
2184
  cwd: projectRoot,
2185
2185
  serverDir: serverDirAbs,
2186
2186
  distDir: resolve5(projectRoot, ".theokit")
2187
2187
  });
2188
- const { actionsVirtualModule } = await import("./actions-virtual-module-YQBEDNHN.js");
2188
+ const { actionsVirtualModule } = await import("./actions-virtual-module-XI5IGBF4.js");
2189
2189
  const actionsPlugin = actionsVirtualModule({
2190
2190
  serverDir: serverDirAbs,
2191
2191
  distDir: resolve5(projectRoot, ".theokit")
2192
2192
  });
2193
2193
  const { agentsTypedClientPlugin } = await import("./agents-typed-client-D4OA2TXB.js");
2194
- const { generateManifest } = await import("./internal-api-4FBFRQ4G.js");
2194
+ const { generateManifest } = await import("./internal-api-QKWTQ2Q7.js");
2195
2195
  const agentsClientPlugin = agentsTypedClientPlugin({
2196
2196
  projectRoot,
2197
2197
  agentsDir: agentsDirName,
@@ -2208,7 +2208,7 @@ async function theoPluginAsync(rootOrOptions) {
2208
2208
  const controllerTransformPlugin = controllerSwcTransformPlugin({
2209
2209
  serverDir: serverDirAbs
2210
2210
  });
2211
- const { serverOnlyImportBoundary } = await import("./server-boundary-CJIXOPCF.js");
2211
+ const { serverOnlyImportBoundary } = await import("./server-boundary-7BRS2CWI.js");
2212
2212
  const serverBoundaryPlugin = serverOnlyImportBoundary({
2213
2213
  projectRoot,
2214
2214
  serverDir: serverDirAbs
@@ -2383,4 +2383,4 @@ export {
2383
2383
  theoPluginAsync,
2384
2384
  theoPlugin
2385
2385
  };
2386
- //# sourceMappingURL=chunk-6YRZWT5X.js.map
2386
+ //# sourceMappingURL=chunk-6R6UR64X.js.map
@@ -1,6 +1,11 @@
1
1
  // src/core/contracts/route-policy.ts
2
2
  function subjectFromContext(context) {
3
3
  if (context === null || typeof context !== "object") return null;
4
+ if (typeof context.getRequest === "function" && !("subject" in context)) {
5
+ throw new TypeError(
6
+ "subjectFromContext was given a controller ExecutionContext, which carries no subject \u2014 it would answer null for every caller and a guard built on that denies everyone. Read the subject from the request instead (e.g. your session manager over `context.getRequest()`), or use `@Public()` when the route is genuinely open."
7
+ );
8
+ }
4
9
  const candidate = context.subject;
5
10
  if (candidate === null || candidate === void 0 || typeof candidate !== "object") return null;
6
11
  const id = candidate.id;
@@ -28,4 +33,4 @@ export {
28
33
  evaluateRoutePolicy,
29
34
  requireOwner
30
35
  };
31
- //# sourceMappingURL=chunk-YN4W7LCX.js.map
36
+ //# sourceMappingURL=chunk-ENRT6DAU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/contracts/route-policy.ts"],"mappings":";AAyDO,SAAS,mBAAmB,SAAuC;AACxE,MAAI,YAAY,QAAQ,OAAO,YAAY,SAAU,QAAO;AAI5D,MACE,OAAQ,QAAqC,eAAe,cAC5D,EAAE,aAAa,UACf;AACA,UAAM,IAAI;AAAA,MACR;AAAA,IAIF;AAAA,EACF;AACA,QAAM,YAAa,QAAkC;AACrD,MAAI,cAAc,QAAQ,cAAc,UAAa,OAAO,cAAc,SAAU,QAAO;AAC3F,QAAM,KAAM,UAA+B;AAC3C,SAAO,OAAO,OAAO,YAAY,GAAG,SAAS,IAAK,YAA6B;AACjF;AAoBA,eAAsB,oBACpB,QACA,OACyB;AACzB,MAAI,WAAW,OAAW,QAAO,EAAE,SAAS,KAAK;AACjD,MAAI,WAAW,SAAU,QAAO,EAAE,SAAS,KAAK;AAEhD,QAAM,UAAU,MAAM,OAAO,KAAK;AAClC,MAAI,OAAO,YAAY,WAAW;AAChC,WAAO,UAAU,EAAE,SAAS,KAAK,IAAI,EAAE,SAAS,OAAO,QAAQ,gCAAgC;AAAA,EACjG;AACA,SAAO;AACT;AASO,SAAS,aACd,SACA,SACgB;AAChB,MAAI,YAAY,KAAM,QAAO,EAAE,SAAS,OAAO,QAAQ,oBAAoB;AAC3E,MAAI,OAAO,YAAY,YAAY,QAAQ,WAAW,GAAG;AAIvD,WAAO,EAAE,SAAS,OAAO,QAAQ,iCAAiC;AAAA,EACpE;AACA,SAAO,QAAQ,OAAO,UAClB,EAAE,SAAS,KAAK,IAChB,EAAE,SAAS,OAAO,QAAQ,qCAAqC;AACrE;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  buildSecurityHeaders
3
- } from "./chunk-IRQGAC4L.js";
3
+ } from "./chunk-5GZROLDV.js";
4
4
  import {
5
5
  safeAudit
6
6
  } from "./chunk-AVQU5CQF.js";
@@ -359,4 +359,4 @@ export {
359
359
  CsrfReadinessStore,
360
360
  applySecurityHeaders
361
361
  };
362
- //# sourceMappingURL=chunk-BPYMC7SU.js.map
362
+ //# sourceMappingURL=chunk-EYRWD2AB.js.map
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-U5PWXS3J.js";
9
9
  import {
10
10
  theoConfigSchema
11
- } from "./chunk-4OTIXAUY.js";
11
+ } from "./chunk-TMQ52AZR.js";
12
12
 
13
13
  // src/config/load-config.ts
14
14
  import { existsSync } from "fs";
@@ -110,4 +110,4 @@ export {
110
110
  deepMerge,
111
111
  loadConfig
112
112
  };
113
- //# sourceMappingURL=chunk-HA35FS7U.js.map
113
+ //# sourceMappingURL=chunk-FFS7IRZF.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-P6OS7652.js";
4
4
  import {
5
5
  evaluateRoutePolicy
6
- } from "./chunk-YN4W7LCX.js";
6
+ } from "./chunk-ENRT6DAU.js";
7
7
  import {
8
8
  createObservabilityPlugin,
9
9
  requestTrace,
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-ZDCCILMP.js";
16
16
  import {
17
17
  processSingleton
18
- } from "./chunk-CF2DNN5R.js";
18
+ } from "./chunk-45XETXSG.js";
19
19
  import {
20
20
  newSpanId,
21
21
  newTraceId
@@ -805,4 +805,4 @@ export {
805
805
  parseAgentRequestBody,
806
806
  mountAgent
807
807
  };
808
- //# sourceMappingURL=chunk-M357ILK5.js.map
808
+ //# sourceMappingURL=chunk-H2X5T45M.js.map
@@ -233,7 +233,8 @@ function stripe(opts) {
233
233
  };
234
234
  }
235
235
 
236
- // src/server/webhook/providers/github.ts
236
+ // src/server/webhook/providers/hub-signature-256.ts
237
+ var HEADER = "x-hub-signature-256";
237
238
  var PREFIX = "sha256=";
238
239
  function fromHex2(hex) {
239
240
  if (hex.length % 2 !== 0) return null;
@@ -245,43 +246,39 @@ function fromHex2(hex) {
245
246
  }
246
247
  return bytes;
247
248
  }
248
- function github(opts) {
249
- const secrets = Array.isArray(opts.secret) ? opts.secret : [opts.secret];
249
+ function verifyHubSignature256(secrets) {
250
250
  return async (req) => {
251
- const header = req.headers.get("x-hub-signature-256");
252
- if (!header) {
253
- return { ok: false, reason: "missing x-hub-signature-256 header" };
254
- }
251
+ const header = req.headers.get(HEADER);
252
+ if (!header) return { ok: false, reason: `missing ${HEADER} header` };
255
253
  if (!header.startsWith(PREFIX)) {
256
- return { ok: false, reason: "malformed x-hub-signature-256 header (missing sha256= prefix)" };
254
+ return { ok: false, reason: `malformed ${HEADER} header (missing ${PREFIX} prefix)` };
257
255
  }
258
- const sigHex = header.slice(PREFIX.length);
259
- const sigBytes = fromHex2(sigHex);
260
- if (!sigBytes) {
261
- return { ok: false, reason: "malformed signature hex" };
262
- }
263
- const rawBody = await req.text();
264
- const enc2 = new TextEncoder();
265
- const bodyBytes = enc2.encode(rawBody);
256
+ const signature = fromHex2(header.slice(PREFIX.length));
257
+ if (!signature) return { ok: false, reason: "malformed signature hex" };
258
+ const encoder = new TextEncoder();
259
+ const body = encoder.encode(await req.text());
260
+ let matched = false;
266
261
  for (const secret of secrets) {
267
262
  const key = await globalThis.crypto.subtle.importKey(
268
263
  "raw",
269
- enc2.encode(secret),
264
+ encoder.encode(secret),
270
265
  { name: "HMAC", hash: "SHA-256" },
271
266
  false,
272
267
  ["sign"]
273
268
  );
274
- const sigBuf = await globalThis.crypto.subtle.sign("HMAC", key, bodyBytes);
275
- const expectedBytes = new Uint8Array(sigBuf);
276
- if (sigBytes.length !== expectedBytes.length) continue;
277
- if (timingSafeEqual(sigBytes, expectedBytes)) {
278
- return { ok: true };
279
- }
269
+ const expected = new Uint8Array(await globalThis.crypto.subtle.sign("HMAC", key, body));
270
+ if (signature.length !== expected.length) continue;
271
+ if (timingSafeEqual(signature, expected)) matched = true;
280
272
  }
281
- return { ok: false, reason: "signature mismatch" };
273
+ return matched ? { ok: true } : { ok: false, reason: "signature mismatch" };
282
274
  };
283
275
  }
284
276
 
277
+ // src/server/webhook/providers/github.ts
278
+ function github(opts) {
279
+ return verifyHubSignature256(Array.isArray(opts.secret) ? opts.secret : [opts.secret]);
280
+ }
281
+
285
282
  // src/server/webhook/providers/slack.ts
286
283
  var PREFIX2 = "v0=";
287
284
  function fromHex3(hex) {
@@ -405,6 +402,34 @@ function discord(opts) {
405
402
  };
406
403
  }
407
404
 
405
+ // src/server/webhook/providers/whatsapp.ts
406
+ function whatsapp(opts) {
407
+ return verifyHubSignature256(
408
+ Array.isArray(opts.appSecret) ? opts.appSecret : [opts.appSecret]
409
+ );
410
+ }
411
+ function whatsappSubscribe(opts) {
412
+ const encoder = new TextEncoder();
413
+ const expected = encoder.encode(opts.verifyToken);
414
+ return (req) => {
415
+ const params = new URL(req.url).searchParams;
416
+ if (params.get("hub.mode") !== "subscribe") {
417
+ return { ok: false, reason: `hub.mode must be 'subscribe'` };
418
+ }
419
+ const presented = params.get("hub.verify_token");
420
+ if (presented === null) return { ok: false, reason: "missing hub.verify_token" };
421
+ const got = encoder.encode(presented);
422
+ if (got.length !== expected.length || !timingSafeEqual(got, expected)) {
423
+ return { ok: false, reason: "hub.verify_token mismatch" };
424
+ }
425
+ const challenge = params.get("hub.challenge");
426
+ if (challenge === null || challenge.length === 0) {
427
+ return { ok: false, reason: "missing hub.challenge" };
428
+ }
429
+ return { ok: true, challenge };
430
+ };
431
+ }
432
+
408
433
  export {
409
434
  timingSafeEqual,
410
435
  DEFAULT_MAX_BODY_BYTES,
@@ -416,6 +441,8 @@ export {
416
441
  github,
417
442
  slack,
418
443
  telegram,
419
- discord
444
+ discord,
445
+ whatsapp,
446
+ whatsappSubscribe
420
447
  };
421
- //# sourceMappingURL=chunk-GO7UWJ47.js.map
448
+ //# sourceMappingURL=chunk-KPZ2JSAU.js.map