@sonordev/site-kit 5.6.0 → 5.8.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 (632) hide show
  1. package/README.md +3 -3
  2. package/agent-manifest.json +24 -4
  3. package/dist/AnalyticsProvider-OCXRNIVE.js +33 -0
  4. package/dist/{AnalyticsProvider-6PXC7UDP.js.map → AnalyticsProvider-OCXRNIVE.js.map} +1 -1
  5. package/dist/AnalyticsProvider-ZAUONQCX.mjs +12 -0
  6. package/dist/{AnalyticsProvider-FVQIYSLY.mjs.map → AnalyticsProvider-ZAUONQCX.mjs.map} +1 -1
  7. package/dist/{BlogViewTracker-S4HSRCW7.js → BlogViewTracker-HK5C7PU6.js} +14 -11
  8. package/dist/BlogViewTracker-HK5C7PU6.js.map +1 -0
  9. package/dist/{BlogViewTracker-ZUGLBOVI.mjs → BlogViewTracker-KXRZHN3U.mjs} +13 -10
  10. package/dist/BlogViewTracker-KXRZHN3U.mjs.map +1 -0
  11. package/dist/ChatWidget-3OW5LY37.js +24 -0
  12. package/dist/{ChatWidget-2TQWCXWP.js.map → ChatWidget-3OW5LY37.js.map} +1 -1
  13. package/dist/ChatWidget-54GVS27I.mjs +15 -0
  14. package/dist/{ChatWidget-DG52ZIE6.mjs.map → ChatWidget-54GVS27I.mjs.map} +1 -1
  15. package/dist/EngageWidget-7EUP76WE.mjs +12 -0
  16. package/dist/{EngageWidget-2VUJADIU.mjs.map → EngageWidget-7EUP76WE.mjs.map} +1 -1
  17. package/dist/EngageWidget-DDP5UFA4.js +21 -0
  18. package/dist/{EngageWidget-Z7RC2INM.js.map → EngageWidget-DDP5UFA4.js.map} +1 -1
  19. package/dist/{FileField-FSQ7W3A5.mjs → FileField-IQLN6E3C.mjs} +5 -5
  20. package/dist/{FileField-FSQ7W3A5.mjs.map → FileField-IQLN6E3C.mjs.map} +1 -1
  21. package/dist/{FileField-UOQHL25J.js → FileField-SBPL4JHP.js} +6 -6
  22. package/dist/{FileField-UOQHL25J.js.map → FileField-SBPL4JHP.js.map} +1 -1
  23. package/dist/{FormSpotlight-RHL5FWM2.mjs → FormSpotlight-E2LKKHGV.mjs} +11 -7
  24. package/dist/FormSpotlight-E2LKKHGV.mjs.map +1 -0
  25. package/dist/{FormSpotlight-TED32NHP.js → FormSpotlight-YTACNE57.js} +25 -21
  26. package/dist/FormSpotlight-YTACNE57.js.map +1 -0
  27. package/dist/{FormStage-PFEBKHGY.js → FormStage-S277U2CP.js} +20 -15
  28. package/dist/FormStage-S277U2CP.js.map +1 -0
  29. package/dist/{FormStage-DINIRFOX.mjs → FormStage-YSBN5XKL.mjs} +9 -4
  30. package/dist/FormStage-YSBN5XKL.mjs.map +1 -0
  31. package/dist/ManagedForm-I3QVRQ53.mjs +16 -0
  32. package/dist/{ManagedForm-545YAUFC.mjs.map → ManagedForm-I3QVRQ53.mjs.map} +1 -1
  33. package/dist/ManagedForm-TSYKQFLJ.js +25 -0
  34. package/dist/{ManagedForm-43WLCUAK.js.map → ManagedForm-TSYKQFLJ.js.map} +1 -1
  35. package/dist/{ManagedNewsletterForm-ZPY5RRKX.mjs → ManagedNewsletterForm-T3YRAWKZ.mjs} +9 -7
  36. package/dist/ManagedNewsletterForm-T3YRAWKZ.mjs.map +1 -0
  37. package/dist/{ManagedNewsletterForm-I3QN57HB.js → ManagedNewsletterForm-YSOPPKS6.js} +10 -8
  38. package/dist/ManagedNewsletterForm-YSOPPKS6.js.map +1 -0
  39. package/dist/{SignalCore-EEH5IM4U.mjs → SignalCore-PPSIQ4BW.mjs} +8 -14
  40. package/dist/SignalCore-PPSIQ4BW.mjs.map +1 -0
  41. package/dist/{SignalCore-M4AXIMV4.js → SignalCore-SUZH3XWZ.js} +14 -20
  42. package/dist/SignalCore-SUZH3XWZ.js.map +1 -0
  43. package/dist/SitemapSync-HSHCOKCL.mjs +9 -0
  44. package/dist/{SitemapSync-46G7LVZS.mjs.map → SitemapSync-HSHCOKCL.mjs.map} +1 -1
  45. package/dist/SitemapSync-LH6UVP4P.js +18 -0
  46. package/dist/{SitemapSync-XK4JKCS7.js.map → SitemapSync-LH6UVP4P.js.map} +1 -1
  47. package/dist/analytics/AnalyticsProvider.d.ts.map +1 -1
  48. package/dist/analytics/index.js +10 -9
  49. package/dist/analytics/index.mjs +5 -4
  50. package/dist/blog/BlogLayout.d.ts +3 -1
  51. package/dist/blog/BlogLayout.d.ts.map +1 -1
  52. package/dist/blog/BlogList.d.ts +7 -1
  53. package/dist/blog/BlogList.d.ts.map +1 -1
  54. package/dist/blog/BlogPost.d.ts +20 -1
  55. package/dist/blog/BlogPost.d.ts.map +1 -1
  56. package/dist/blog/BlogSidebar.d.ts +3 -1
  57. package/dist/blog/BlogSidebar.d.ts.map +1 -1
  58. package/dist/blog/BlogViewTracker.d.ts +8 -2
  59. package/dist/blog/BlogViewTracker.d.ts.map +1 -1
  60. package/dist/blog/ClusterLandingPage.d.ts +3 -1
  61. package/dist/blog/ClusterLandingPage.d.ts.map +1 -1
  62. package/dist/blog/ClusterNavigation.d.ts +5 -2
  63. package/dist/blog/ClusterNavigation.d.ts.map +1 -1
  64. package/dist/blog/RelatedPosts.d.ts +3 -1
  65. package/dist/blog/RelatedPosts.d.ts.map +1 -1
  66. package/dist/blog/index.d.ts +1 -1
  67. package/dist/blog/index.d.ts.map +1 -1
  68. package/dist/blog/index.js +40 -31
  69. package/dist/blog/index.js.map +1 -1
  70. package/dist/blog/index.mjs +11 -6
  71. package/dist/blog/index.mjs.map +1 -1
  72. package/dist/blog/metadata-images.test.d.ts +2 -0
  73. package/dist/blog/metadata-images.test.d.ts.map +1 -0
  74. package/dist/blog/not-found.test.d.ts +2 -0
  75. package/dist/blog/not-found.test.d.ts.map +1 -0
  76. package/dist/blog/processBlogHtml.d.ts +19 -2
  77. package/dist/blog/processBlogHtml.d.ts.map +1 -1
  78. package/dist/blog/public-reads.d.ts +27 -0
  79. package/dist/blog/public-reads.d.ts.map +1 -0
  80. package/dist/blog/server-core.d.ts +107 -16
  81. package/dist/blog/server-core.d.ts.map +1 -1
  82. package/dist/blog/server-ui.js +29 -23
  83. package/dist/blog/server-ui.js.map +1 -1
  84. package/dist/blog/server-ui.mjs +12 -6
  85. package/dist/blog/server-ui.mjs.map +1 -1
  86. package/dist/blog/server.d.ts +107 -16
  87. package/dist/blog/server.d.ts.map +1 -1
  88. package/dist/blog/server.js +54 -47
  89. package/dist/blog/server.mjs +5 -2
  90. package/dist/blog/site-scope.test.d.ts +2 -0
  91. package/dist/blog/site-scope.test.d.ts.map +1 -0
  92. package/dist/blog/static-params.test.d.ts +2 -0
  93. package/dist/blog/static-params.test.d.ts.map +1 -0
  94. package/dist/brand/extract-brand-profile.d.ts +36 -2
  95. package/dist/brand/extract-brand-profile.d.ts.map +1 -1
  96. package/dist/brand/extract-brand-profile.test.d.ts +2 -0
  97. package/dist/brand/extract-brand-profile.test.d.ts.map +1 -0
  98. package/dist/{chunk-B64AZC6P.js → chunk-2FQG2AHJ.js} +60 -35
  99. package/dist/chunk-2FQG2AHJ.js.map +1 -0
  100. package/dist/{chunk-N2PGTPWN.js → chunk-2OQWLXDO.js} +13 -13
  101. package/dist/{chunk-N2PGTPWN.js.map → chunk-2OQWLXDO.js.map} +1 -1
  102. package/dist/{chunk-T5VTQUNF.js → chunk-2SCDUVFJ.js} +10 -10
  103. package/dist/{chunk-T5VTQUNF.js.map → chunk-2SCDUVFJ.js.map} +1 -1
  104. package/dist/{chunk-S4RC6VAQ.js → chunk-35ERUUH3.js} +6 -6
  105. package/dist/{chunk-S4RC6VAQ.js.map → chunk-35ERUUH3.js.map} +1 -1
  106. package/dist/{chunk-VHZ4LHQT.mjs → chunk-3AUFD7KR.mjs} +3 -3
  107. package/dist/{chunk-VHZ4LHQT.mjs.map → chunk-3AUFD7KR.mjs.map} +1 -1
  108. package/dist/{chunk-DHIWR7CG.js → chunk-3BVCF4ZF.js} +4 -4
  109. package/dist/{chunk-DHIWR7CG.js.map → chunk-3BVCF4ZF.js.map} +1 -1
  110. package/dist/{chunk-EEQYKMGH.mjs → chunk-3EY5E35M.mjs} +57 -86
  111. package/dist/chunk-3EY5E35M.mjs.map +1 -0
  112. package/dist/{chunk-JNABXCLY.mjs → chunk-3SLFT453.mjs} +5 -5
  113. package/dist/{chunk-JNABXCLY.mjs.map → chunk-3SLFT453.mjs.map} +1 -1
  114. package/dist/{chunk-AJQI3WTN.mjs → chunk-4L7OHRWB.mjs} +12 -9
  115. package/dist/chunk-4L7OHRWB.mjs.map +1 -0
  116. package/dist/chunk-4LYW6PMU.mjs +72 -0
  117. package/dist/chunk-4LYW6PMU.mjs.map +1 -0
  118. package/dist/{chunk-R3KTBKSW.js → chunk-4OS6M3V4.js} +6 -12
  119. package/dist/chunk-4OS6M3V4.js.map +1 -0
  120. package/dist/{chunk-AY7JBGYC.js → chunk-4RY7JETY.js} +14 -14
  121. package/dist/{chunk-AY7JBGYC.js.map → chunk-4RY7JETY.js.map} +1 -1
  122. package/dist/chunk-4TLFZ6NR.mjs +16 -0
  123. package/dist/chunk-4TLFZ6NR.mjs.map +1 -0
  124. package/dist/{chunk-4B4S56WJ.mjs → chunk-5B4J3IBX.mjs} +75 -21
  125. package/dist/chunk-5B4J3IBX.mjs.map +1 -0
  126. package/dist/chunk-5O7JSWT6.js +8 -0
  127. package/dist/{chunk-KSL3WA2I.js.map → chunk-5O7JSWT6.js.map} +1 -1
  128. package/dist/chunk-5SANRSX3.mjs +17 -0
  129. package/dist/chunk-5SANRSX3.mjs.map +1 -0
  130. package/dist/{chunk-LCSYJXIO.mjs → chunk-5WGMXSCB.mjs} +3 -3
  131. package/dist/{chunk-LCSYJXIO.mjs.map → chunk-5WGMXSCB.mjs.map} +1 -1
  132. package/dist/chunk-5XFFUP6D.js +100 -0
  133. package/dist/chunk-5XFFUP6D.js.map +1 -0
  134. package/dist/{chunk-AHZR4VGY.mjs → chunk-6HFFTGFP.mjs} +50 -26
  135. package/dist/chunk-6HFFTGFP.mjs.map +1 -0
  136. package/dist/{chunk-USKIL6V6.mjs → chunk-6SBTHS6C.mjs} +3 -3
  137. package/dist/{chunk-USKIL6V6.mjs.map → chunk-6SBTHS6C.mjs.map} +1 -1
  138. package/dist/{chunk-NZSFOZJV.js → chunk-7TC3GRXQ.js} +73 -38
  139. package/dist/chunk-7TC3GRXQ.js.map +1 -0
  140. package/dist/{chunk-HIHAXEPD.mjs → chunk-7THZOAUR.mjs} +4 -4
  141. package/dist/{chunk-HIHAXEPD.mjs.map → chunk-7THZOAUR.mjs.map} +1 -1
  142. package/dist/{chunk-YCI36ZUS.mjs → chunk-AOWJP25J.mjs} +4 -4
  143. package/dist/{chunk-YCI36ZUS.mjs.map → chunk-AOWJP25J.mjs.map} +1 -1
  144. package/dist/{chunk-H44XZUOV.mjs → chunk-B2VFMPVJ.mjs} +4 -4
  145. package/dist/{chunk-H44XZUOV.mjs.map → chunk-B2VFMPVJ.mjs.map} +1 -1
  146. package/dist/{chunk-OA7KKOAK.mjs → chunk-B35OJ7FR.mjs} +4 -4
  147. package/dist/{chunk-OA7KKOAK.mjs.map → chunk-B35OJ7FR.mjs.map} +1 -1
  148. package/dist/{chunk-XR32C47O.js → chunk-BER36QXU.js} +9 -9
  149. package/dist/{chunk-XR32C47O.js.map → chunk-BER36QXU.js.map} +1 -1
  150. package/dist/{chunk-7C7XO5HX.mjs → chunk-BFZNLTWK.mjs} +3 -3
  151. package/dist/{chunk-7C7XO5HX.mjs.map → chunk-BFZNLTWK.mjs.map} +1 -1
  152. package/dist/chunk-BQP6JIE2.mjs +28 -0
  153. package/dist/chunk-BQP6JIE2.mjs.map +1 -0
  154. package/dist/{chunk-5KIO6FXE.js → chunk-C3WU45JT.js} +7 -7
  155. package/dist/{chunk-5KIO6FXE.js.map → chunk-C3WU45JT.js.map} +1 -1
  156. package/dist/chunk-CUNZAD46.js +53 -0
  157. package/dist/chunk-CUNZAD46.js.map +1 -0
  158. package/dist/chunk-CXAXZFFW.js +157 -0
  159. package/dist/chunk-CXAXZFFW.js.map +1 -0
  160. package/dist/{chunk-H4OBGC43.mjs → chunk-DA7IANFG.mjs} +14 -3
  161. package/dist/chunk-DA7IANFG.mjs.map +1 -0
  162. package/dist/{chunk-BWSMUSDB.js → chunk-EIW6YEPY.js} +8 -8
  163. package/dist/{chunk-BWSMUSDB.js.map → chunk-EIW6YEPY.js.map} +1 -1
  164. package/dist/{chunk-UU47DGHE.js → chunk-F6SKG34N.js} +8 -13
  165. package/dist/chunk-F6SKG34N.js.map +1 -0
  166. package/dist/{chunk-LC7AM4J5.js → chunk-FHPW7XVH.js} +77 -20
  167. package/dist/chunk-FHPW7XVH.js.map +1 -0
  168. package/dist/{chunk-JNRHTZL4.js → chunk-FVW6FT6L.js} +73 -29
  169. package/dist/chunk-FVW6FT6L.js.map +1 -0
  170. package/dist/{chunk-KY6M76JW.js → chunk-GNDWTXLU.js} +56 -177
  171. package/dist/chunk-GNDWTXLU.js.map +1 -0
  172. package/dist/{chunk-OZ3FU4BT.js → chunk-H5NBFNND.js} +2 -2
  173. package/dist/chunk-H5NBFNND.js.map +1 -0
  174. package/dist/{chunk-SYGGZZMU.js → chunk-HAKD27AZ.js} +7 -7
  175. package/dist/{chunk-SYGGZZMU.js.map → chunk-HAKD27AZ.js.map} +1 -1
  176. package/dist/chunk-HCN3IKMW.mjs +106 -0
  177. package/dist/chunk-HCN3IKMW.mjs.map +1 -0
  178. package/dist/{chunk-QNPVVWR7.mjs → chunk-HCX343AS.mjs} +4 -4
  179. package/dist/{chunk-QNPVVWR7.mjs.map → chunk-HCX343AS.mjs.map} +1 -1
  180. package/dist/{chunk-C2MSD2UM.mjs → chunk-HEOQT5SM.mjs} +216 -103
  181. package/dist/chunk-HEOQT5SM.mjs.map +1 -0
  182. package/dist/{chunk-RU54J2PY.mjs → chunk-HOJ4J4X2.mjs} +30 -12
  183. package/dist/chunk-HOJ4J4X2.mjs.map +1 -0
  184. package/dist/{chunk-H3D3ZGOJ.js → chunk-HQOHB6QF.js} +15 -15
  185. package/dist/{chunk-H3D3ZGOJ.js.map → chunk-HQOHB6QF.js.map} +1 -1
  186. package/dist/chunk-HRMGITUZ.mjs +6 -0
  187. package/dist/{chunk-DQUBETXH.mjs.map → chunk-HRMGITUZ.mjs.map} +1 -1
  188. package/dist/{chunk-7AUDKXY5.mjs → chunk-HYVEIP2N.mjs} +3 -3
  189. package/dist/{chunk-7AUDKXY5.mjs.map → chunk-HYVEIP2N.mjs.map} +1 -1
  190. package/dist/{chunk-46BMNWE6.js → chunk-I3ND4XYW.js} +12 -9
  191. package/dist/chunk-I3ND4XYW.js.map +1 -0
  192. package/dist/{chunk-53KMRZT7.js → chunk-JDTU2RWC.js} +3 -3
  193. package/dist/{chunk-53KMRZT7.js.map → chunk-JDTU2RWC.js.map} +1 -1
  194. package/dist/{chunk-GZJE23Y5.mjs → chunk-JLVCWC6A.mjs} +2 -2
  195. package/dist/chunk-JLVCWC6A.mjs.map +1 -0
  196. package/dist/chunk-K4TCEAUX.js +52 -0
  197. package/dist/chunk-K4TCEAUX.js.map +1 -0
  198. package/dist/chunk-KV7XXLJV.mjs +30 -0
  199. package/dist/chunk-KV7XXLJV.mjs.map +1 -0
  200. package/dist/{chunk-5UFDHGFE.mjs → chunk-L24RDT6Q.mjs} +3 -3
  201. package/dist/{chunk-5UFDHGFE.mjs.map → chunk-L24RDT6Q.mjs.map} +1 -1
  202. package/dist/{chunk-JE5DWAE6.js → chunk-LBZGYF3B.js} +4 -4
  203. package/dist/{chunk-JE5DWAE6.js.map → chunk-LBZGYF3B.js.map} +1 -1
  204. package/dist/{chunk-746RKQHA.js → chunk-LMEUYRRR.js} +93 -121
  205. package/dist/chunk-LMEUYRRR.js.map +1 -0
  206. package/dist/chunk-LVGSOW2F.js +32 -0
  207. package/dist/chunk-LVGSOW2F.js.map +1 -0
  208. package/dist/{chunk-KPKQKFT4.js → chunk-M45AL7EA.js} +37 -19
  209. package/dist/chunk-M45AL7EA.js.map +1 -0
  210. package/dist/{chunk-XK5AIWQG.js → chunk-MHX6TOAS.js} +3 -3
  211. package/dist/{chunk-XK5AIWQG.js.map → chunk-MHX6TOAS.js.map} +1 -1
  212. package/dist/chunk-MLVHVKFT.mjs +148 -0
  213. package/dist/chunk-MLVHVKFT.mjs.map +1 -0
  214. package/dist/{chunk-RIYAMYLV.mjs → chunk-N2NZBPQ5.mjs} +4 -10
  215. package/dist/chunk-N2NZBPQ5.mjs.map +1 -0
  216. package/dist/chunk-NRBITVDK.js +114 -0
  217. package/dist/chunk-NRBITVDK.js.map +1 -0
  218. package/dist/{chunk-IYCLN3XS.mjs → chunk-O4YBWJHP.mjs} +6 -11
  219. package/dist/chunk-O4YBWJHP.mjs.map +1 -0
  220. package/dist/{chunk-5KIEZHVK.mjs → chunk-O5ZSGBQD.mjs} +4 -4
  221. package/dist/{chunk-5KIEZHVK.mjs.map → chunk-O5ZSGBQD.mjs.map} +1 -1
  222. package/dist/{chunk-TP7H6BSK.mjs → chunk-OE7CTIOU.mjs} +73 -30
  223. package/dist/chunk-OE7CTIOU.mjs.map +1 -0
  224. package/dist/{chunk-UJ6CHZAI.mjs → chunk-OEW2LFOV.js} +169 -25
  225. package/dist/chunk-OEW2LFOV.js.map +1 -0
  226. package/dist/chunk-P4Y75QSU.js +19 -0
  227. package/dist/chunk-P4Y75QSU.js.map +1 -0
  228. package/dist/{chunk-6OP5XSMM.mjs → chunk-PK2OTGW5.mjs} +6 -12
  229. package/dist/chunk-PK2OTGW5.mjs.map +1 -0
  230. package/dist/{chunk-OC7AO7XS.js → chunk-PRTXAIIC.js} +15 -15
  231. package/dist/{chunk-OC7AO7XS.js.map → chunk-PRTXAIIC.js.map} +1 -1
  232. package/dist/{chunk-K2V3ZW36.mjs → chunk-PUAXHYBL.mjs} +3 -3
  233. package/dist/{chunk-K2V3ZW36.mjs.map → chunk-PUAXHYBL.mjs.map} +1 -1
  234. package/dist/chunk-QRHVMTHF.mjs +94 -0
  235. package/dist/chunk-QRHVMTHF.mjs.map +1 -0
  236. package/dist/{chunk-BZLIOT7Q.js → chunk-QTJTDQYR.js} +76 -111
  237. package/dist/chunk-QTJTDQYR.js.map +1 -0
  238. package/dist/{chunk-GJ6NOLGC.mjs → chunk-QVHVL7EX.mjs} +3 -3
  239. package/dist/{chunk-GJ6NOLGC.mjs.map → chunk-QVHVL7EX.mjs.map} +1 -1
  240. package/dist/chunk-R7GHP3FY.js +81 -0
  241. package/dist/chunk-R7GHP3FY.js.map +1 -0
  242. package/dist/chunk-SEP5D4MI.js +116 -0
  243. package/dist/chunk-SEP5D4MI.js.map +1 -0
  244. package/dist/{chunk-GPLCPMVD.mjs → chunk-TXMVU4EY.mjs} +62 -97
  245. package/dist/chunk-TXMVU4EY.mjs.map +1 -0
  246. package/dist/chunk-U2V542EO.mjs +98 -0
  247. package/dist/chunk-U2V542EO.mjs.map +1 -0
  248. package/dist/{chunk-YYN4YZYZ.js → chunk-UWHCHYCX.js} +4 -4
  249. package/dist/{chunk-YYN4YZYZ.js.map → chunk-UWHCHYCX.js.map} +1 -1
  250. package/dist/{chunk-473WDGQZ.mjs → chunk-VJ74275U.mjs} +38 -156
  251. package/dist/chunk-VJ74275U.mjs.map +1 -0
  252. package/dist/{chunk-H7274TKR.mjs → chunk-VJV7WUR2.mjs} +12 -4
  253. package/dist/chunk-VJV7WUR2.mjs.map +1 -0
  254. package/dist/{chunk-CQS5ZYI6.mjs → chunk-VYL6IHJA.mjs} +9 -9
  255. package/dist/{chunk-CQS5ZYI6.mjs.map → chunk-VYL6IHJA.mjs.map} +1 -1
  256. package/dist/{chunk-5B4FABFK.js → chunk-WS7MH3GD.js} +14 -2
  257. package/dist/chunk-WS7MH3GD.js.map +1 -0
  258. package/dist/{chunk-IPV2TUAT.js → chunk-XA2GJFVM.js} +12 -4
  259. package/dist/chunk-XA2GJFVM.js.map +1 -0
  260. package/dist/chunk-XBX2K3GA.js +33 -0
  261. package/dist/chunk-XBX2K3GA.js.map +1 -0
  262. package/dist/{chunk-X5TCH7VZ.js → chunk-XCYKM2SA.js} +6 -13
  263. package/dist/chunk-XCYKM2SA.js.map +1 -0
  264. package/dist/{chunk-6CJP7BFM.js → chunk-XZO5I4RS.mjs} +147 -20
  265. package/dist/chunk-XZO5I4RS.mjs.map +1 -0
  266. package/dist/chunk-Y5QZPUL3.mjs +47 -0
  267. package/dist/chunk-Y5QZPUL3.mjs.map +1 -0
  268. package/dist/{chunk-B6O7D5U4.js → chunk-YECDJDDD.js} +10 -10
  269. package/dist/{chunk-B6O7D5U4.js.map → chunk-YECDJDDD.js.map} +1 -1
  270. package/dist/chunk-YN7QHLWF.js +19 -0
  271. package/dist/chunk-YN7QHLWF.js.map +1 -0
  272. package/dist/chunk-YU7QZ3PP.mjs +45 -0
  273. package/dist/chunk-YU7QZ3PP.mjs.map +1 -0
  274. package/dist/{chunk-CQRLKNHQ.js → chunk-ZEOC26LZ.js} +223 -110
  275. package/dist/chunk-ZEOC26LZ.js.map +1 -0
  276. package/dist/{chunk-AEARU24Q.mjs → chunk-ZVI7MBVF.mjs} +73 -38
  277. package/dist/chunk-ZVI7MBVF.mjs.map +1 -0
  278. package/dist/cli/agent/checks.d.ts +15 -1
  279. package/dist/cli/agent/checks.d.ts.map +1 -1
  280. package/dist/cli/agent/sitemap-trailing-slash.test.d.ts +2 -0
  281. package/dist/cli/agent/sitemap-trailing-slash.test.d.ts.map +1 -0
  282. package/dist/cli/commands/api-routes.d.ts.map +1 -1
  283. package/dist/cli/commands/doctor.d.ts.map +1 -1
  284. package/dist/cli/commands/geo.d.ts +4 -0
  285. package/dist/cli/commands/geo.d.ts.map +1 -1
  286. package/dist/cli/commands/geo.test.d.ts +2 -0
  287. package/dist/cli/commands/geo.test.d.ts.map +1 -0
  288. package/dist/cli/commands/og.d.ts +31 -4
  289. package/dist/cli/commands/og.d.ts.map +1 -1
  290. package/dist/cli/commands/scaffold.d.ts +1 -2
  291. package/dist/cli/commands/scaffold.d.ts.map +1 -1
  292. package/dist/cli/commands/sync.d.ts.map +1 -1
  293. package/dist/cli/generators/index.d.ts +5 -0
  294. package/dist/cli/generators/index.d.ts.map +1 -1
  295. package/dist/cli/generators/index.test.d.ts +2 -0
  296. package/dist/cli/generators/index.test.d.ts.map +1 -0
  297. package/dist/cli/index.js +921 -466
  298. package/dist/cli/index.js.map +1 -1
  299. package/dist/cli/index.mjs +862 -407
  300. package/dist/cli/index.mjs.map +1 -1
  301. package/dist/client/index.js +6 -6
  302. package/dist/client/index.mjs +5 -5
  303. package/dist/commerce/CheckoutForm.d.ts.map +1 -1
  304. package/dist/commerce/ProductDetail.d.ts.map +1 -1
  305. package/dist/commerce/api.d.ts +14 -0
  306. package/dist/commerce/api.d.ts.map +1 -1
  307. package/dist/commerce/discount-checkout.test.d.ts +2 -0
  308. package/dist/commerce/discount-checkout.test.d.ts.map +1 -0
  309. package/dist/commerce/index.d.ts +1 -1
  310. package/dist/commerce/index.d.ts.map +1 -1
  311. package/dist/commerce/index.js +61 -56
  312. package/dist/commerce/index.mjs +6 -5
  313. package/dist/config/index.js +3 -3
  314. package/dist/config/index.mjs +1 -1
  315. package/dist/discover-CYXYKHZ2.mjs +4 -0
  316. package/dist/{discover-BEJRYNFF.mjs.map → discover-CYXYKHZ2.mjs.map} +1 -1
  317. package/dist/discover-NGEPXZOD.js +21 -0
  318. package/dist/{discover-WVDYDUJX.js.map → discover-NGEPXZOD.js.map} +1 -1
  319. package/dist/engage/index.js +12 -10
  320. package/dist/engage/index.js.map +1 -1
  321. package/dist/engage/index.mjs +9 -7
  322. package/dist/engage/index.mjs.map +1 -1
  323. package/dist/fleet/index.js +8 -8
  324. package/dist/fleet/index.mjs +4 -4
  325. package/dist/forms/FormClient.d.ts.map +1 -1
  326. package/dist/forms/FormField.d.ts +7 -1
  327. package/dist/forms/FormField.d.ts.map +1 -1
  328. package/dist/forms/FormSpotlight.d.ts +1 -1
  329. package/dist/forms/FormSpotlight.d.ts.map +1 -1
  330. package/dist/forms/FormStage.d.ts +1 -1
  331. package/dist/forms/FormStage.d.ts.map +1 -1
  332. package/dist/forms/experience-plan.d.ts +0 -1
  333. package/dist/forms/experience-plan.d.ts.map +1 -1
  334. package/dist/forms/field-interactions.d.ts +63 -0
  335. package/dist/forms/field-interactions.d.ts.map +1 -0
  336. package/dist/forms/field-interactions.test.d.ts +8 -0
  337. package/dist/forms/field-interactions.test.d.ts.map +1 -0
  338. package/dist/forms/field-rules.d.ts +41 -0
  339. package/dist/forms/field-rules.d.ts.map +1 -0
  340. package/dist/forms/field-rules.test.d.ts +8 -0
  341. package/dist/forms/field-rules.test.d.ts.map +1 -0
  342. package/dist/forms/form-field-focus.test.d.ts +8 -0
  343. package/dist/forms/form-field-focus.test.d.ts.map +1 -0
  344. package/dist/forms/index.js +25 -23
  345. package/dist/forms/index.js.map +1 -1
  346. package/dist/forms/index.mjs +13 -11
  347. package/dist/forms/index.mjs.map +1 -1
  348. package/dist/forms/server.js +11 -11
  349. package/dist/forms/server.mjs +9 -9
  350. package/dist/forms/static.js +8 -8
  351. package/dist/forms/static.mjs +7 -7
  352. package/dist/forms/tracking-session.d.ts +48 -3
  353. package/dist/forms/tracking-session.d.ts.map +1 -1
  354. package/dist/forms/types.d.ts +11 -0
  355. package/dist/forms/types.d.ts.map +1 -1
  356. package/dist/forms/useForm.d.ts +8 -0
  357. package/dist/forms/useForm.d.ts.map +1 -1
  358. package/dist/forms/useFormTracking.d.ts +29 -4
  359. package/dist/forms/useFormTracking.d.ts.map +1 -1
  360. package/dist/images/index.js +11 -11
  361. package/dist/images/index.mjs +4 -4
  362. package/dist/index.js +72 -68
  363. package/dist/index.js.map +1 -1
  364. package/dist/index.mjs +14 -10
  365. package/dist/index.mjs.map +1 -1
  366. package/dist/layout/client.js +10 -10
  367. package/dist/layout/client.mjs +9 -9
  368. package/dist/layout/index.js +13 -12
  369. package/dist/layout/index.js.map +1 -1
  370. package/dist/layout/index.mjs +11 -10
  371. package/dist/layout/index.mjs.map +1 -1
  372. package/dist/llms/aiRobots.d.ts +24 -5
  373. package/dist/llms/aiRobots.d.ts.map +1 -1
  374. package/dist/llms/api.d.ts +8 -3
  375. package/dist/llms/api.d.ts.map +1 -1
  376. package/dist/llms/discovery-headers.d.ts +24 -0
  377. package/dist/llms/discovery-headers.d.ts.map +1 -1
  378. package/dist/llms/generateLLMsTxt.d.ts.map +1 -1
  379. package/dist/llms/handlers.d.ts +20 -2
  380. package/dist/llms/handlers.d.ts.map +1 -1
  381. package/dist/llms/index.d.ts +2 -2
  382. package/dist/llms/index.d.ts.map +1 -1
  383. package/dist/llms/index.js +54 -98
  384. package/dist/llms/index.js.map +1 -1
  385. package/dist/llms/index.mjs +20 -83
  386. package/dist/llms/index.mjs.map +1 -1
  387. package/dist/llms/links.d.ts +26 -0
  388. package/dist/llms/links.d.ts.map +1 -0
  389. package/dist/llms/links.test.d.ts +2 -0
  390. package/dist/llms/links.test.d.ts.map +1 -0
  391. package/dist/llms/types.d.ts +15 -0
  392. package/dist/llms/types.d.ts.map +1 -1
  393. package/dist/llms/wiring.d.ts +103 -0
  394. package/dist/llms/wiring.d.ts.map +1 -0
  395. package/dist/llms/wiring.test.d.ts +2 -0
  396. package/dist/llms/wiring.test.d.ts.map +1 -0
  397. package/dist/llms/writeLLMsTxt.d.ts +9 -0
  398. package/dist/llms/writeLLMsTxt.d.ts.map +1 -1
  399. package/dist/maps/index.js +5 -5
  400. package/dist/maps/index.mjs +3 -3
  401. package/dist/motion/gsap.d.ts +54 -0
  402. package/dist/motion/gsap.d.ts.map +1 -1
  403. package/dist/motion/gsap.js +34 -4
  404. package/dist/motion/gsap.js.map +1 -1
  405. package/dist/motion/gsap.mjs +33 -5
  406. package/dist/motion/gsap.mjs.map +1 -1
  407. package/dist/motion/gsap.test.d.ts +2 -0
  408. package/dist/motion/gsap.test.d.ts.map +1 -0
  409. package/dist/og/config.d.ts +6 -0
  410. package/dist/og/config.d.ts.map +1 -1
  411. package/dist/og/contrast.d.ts +33 -0
  412. package/dist/og/contrast.d.ts.map +1 -0
  413. package/dist/og/index.d.ts +2 -0
  414. package/dist/og/index.d.ts.map +1 -1
  415. package/dist/og/index.js +26 -8
  416. package/dist/og/index.mjs +3 -1
  417. package/dist/og/pages.d.ts +101 -0
  418. package/dist/og/pages.d.ts.map +1 -1
  419. package/dist/og/route-copy.d.ts +34 -0
  420. package/dist/og/route-copy.d.ts.map +1 -0
  421. package/dist/og/route-fit.d.ts +77 -0
  422. package/dist/og/route-fit.d.ts.map +1 -0
  423. package/dist/og/route.d.ts +80 -20
  424. package/dist/og/route.d.ts.map +1 -1
  425. package/dist/og/route.js +195 -25
  426. package/dist/og/route.js.map +1 -1
  427. package/dist/og/route.mjs +193 -26
  428. package/dist/og/route.mjs.map +1 -1
  429. package/dist/og/route.test.d.ts +2 -0
  430. package/dist/og/route.test.d.ts.map +1 -0
  431. package/dist/og/template.d.ts.map +1 -1
  432. package/dist/og/wiring.d.ts +48 -4
  433. package/dist/og/wiring.d.ts.map +1 -1
  434. package/dist/proxy/index.d.ts +16 -11
  435. package/dist/proxy/index.d.ts.map +1 -1
  436. package/dist/proxy/index.js +15 -10
  437. package/dist/proxy/index.js.map +1 -1
  438. package/dist/proxy/index.mjs +12 -7
  439. package/dist/proxy/index.mjs.map +1 -1
  440. package/dist/proxy/llms-discovery.test.d.ts +2 -0
  441. package/dist/proxy/llms-discovery.test.d.ts.map +1 -0
  442. package/dist/redirects/index.d.ts +25 -1
  443. package/dist/redirects/index.d.ts.map +1 -1
  444. package/dist/redirects/index.js +11 -8
  445. package/dist/redirects/index.mjs +4 -1
  446. package/dist/redirects/index.test.d.ts +2 -0
  447. package/dist/redirects/index.test.d.ts.map +1 -0
  448. package/dist/redirects/not-found.d.ts +14 -29
  449. package/dist/redirects/not-found.d.ts.map +1 -1
  450. package/dist/redirects/not-found.js +15 -5
  451. package/dist/redirects/not-found.js.map +1 -1
  452. package/dist/redirects/not-found.mjs +11 -1
  453. package/dist/redirects/not-found.mjs.map +1 -1
  454. package/dist/robots/index.d.ts +7 -1
  455. package/dist/robots/index.d.ts.map +1 -1
  456. package/dist/robots/index.js +27 -1
  457. package/dist/robots/index.js.map +1 -1
  458. package/dist/robots/index.mjs +4 -1
  459. package/dist/robots/index.mjs.map +1 -1
  460. package/dist/robots/index.test.d.ts +2 -0
  461. package/dist/robots/index.test.d.ts.map +1 -0
  462. package/dist/robots/next-internals.d.ts +22 -0
  463. package/dist/robots/next-internals.d.ts.map +1 -0
  464. package/dist/search/index.js +4 -4
  465. package/dist/search/index.mjs +3 -3
  466. package/dist/seo/ManagedContent.d.ts +4 -2
  467. package/dist/seo/ManagedContent.d.ts.map +1 -1
  468. package/dist/seo/ManagedFAQ.d.ts.map +1 -1
  469. package/dist/seo/ManagedInternalLinks.d.ts.map +1 -1
  470. package/dist/seo/ManagedSchema.d.ts.map +1 -1
  471. package/dist/seo/client.js +6 -6
  472. package/dist/seo/client.mjs +5 -5
  473. package/dist/seo/getManagedMetadata.d.ts.map +1 -1
  474. package/dist/seo/getManagedMetadata.test.d.ts +2 -0
  475. package/dist/seo/getManagedMetadata.test.d.ts.map +1 -0
  476. package/dist/seo/index.js +59 -49
  477. package/dist/seo/index.js.map +1 -1
  478. package/dist/seo/index.mjs +29 -19
  479. package/dist/seo/index.mjs.map +1 -1
  480. package/dist/seo/managed-schema-filter.test.d.ts +2 -0
  481. package/dist/seo/managed-schema-filter.test.d.ts.map +1 -0
  482. package/dist/seo/register-sitemap-cli-impl.d.ts +32 -0
  483. package/dist/seo/register-sitemap-cli-impl.d.ts.map +1 -1
  484. package/dist/seo/register-sitemap-cli.d.ts +7 -0
  485. package/dist/seo/register-sitemap-cli.d.ts.map +1 -1
  486. package/dist/seo/register-sitemap-cli.js +273 -56
  487. package/dist/seo/register-sitemap-cli.js.map +1 -1
  488. package/dist/seo/register-sitemap-cli.mjs +269 -52
  489. package/dist/seo/register-sitemap-cli.mjs.map +1 -1
  490. package/dist/seo/register-sitemap-request.d.ts +36 -0
  491. package/dist/seo/register-sitemap-request.d.ts.map +1 -0
  492. package/dist/seo/register-sitemap-request.test.d.ts +2 -0
  493. package/dist/seo/register-sitemap-request.test.d.ts.map +1 -0
  494. package/dist/seo/routing.d.ts +2 -0
  495. package/dist/seo/routing.d.ts.map +1 -1
  496. package/dist/seo/schema-filter.d.ts +43 -0
  497. package/dist/seo/schema-filter.d.ts.map +1 -0
  498. package/dist/seo/schema-filter.test.d.ts +2 -0
  499. package/dist/seo/schema-filter.test.d.ts.map +1 -0
  500. package/dist/seo/server-api.d.ts +15 -2
  501. package/dist/seo/server-api.d.ts.map +1 -1
  502. package/dist/seo/server.js +23 -18
  503. package/dist/seo/server.mjs +7 -2
  504. package/dist/seo/site-scope.test.d.ts +2 -0
  505. package/dist/seo/site-scope.test.d.ts.map +1 -0
  506. package/dist/seo/types.d.ts +30 -0
  507. package/dist/seo/types.d.ts.map +1 -1
  508. package/dist/seo-meta/contract.d.ts +60 -0
  509. package/dist/seo-meta/contract.d.ts.map +1 -0
  510. package/dist/seo-meta/contract.js +41 -0
  511. package/dist/seo-meta/contract.js.map +1 -0
  512. package/dist/seo-meta/contract.mjs +4 -0
  513. package/dist/seo-meta/contract.mjs.map +1 -0
  514. package/dist/seo-meta/contract.test.d.ts +2 -0
  515. package/dist/seo-meta/contract.test.d.ts.map +1 -0
  516. package/dist/server/index.js +4 -3
  517. package/dist/server/index.mjs +3 -2
  518. package/dist/server/mint-site-token.d.ts +2 -32
  519. package/dist/server/mint-site-token.d.ts.map +1 -1
  520. package/dist/{server-api-RG3ZL3DV.mjs → server-api-A2EFCTZX.mjs} +7 -3
  521. package/dist/{server-api-RG3ZL3DV.mjs.map → server-api-A2EFCTZX.mjs.map} +1 -1
  522. package/dist/{server-api-RYJQAUGO.js → server-api-IWTZ7C3O.js} +25 -21
  523. package/dist/{server-api-RYJQAUGO.js.map → server-api-IWTZ7C3O.js.map} +1 -1
  524. package/dist/shared/build-entries.d.ts +2 -0
  525. package/dist/shared/build-entries.d.ts.map +1 -1
  526. package/dist/shared/fresh-fetch.d.ts +64 -0
  527. package/dist/shared/fresh-fetch.d.ts.map +1 -0
  528. package/dist/shared/fresh-fetch.test.d.ts +2 -0
  529. package/dist/shared/fresh-fetch.test.d.ts.map +1 -0
  530. package/dist/shared/next-files.d.ts +42 -0
  531. package/dist/shared/next-files.d.ts.map +1 -0
  532. package/dist/shared/next-files.test.d.ts +2 -0
  533. package/dist/shared/next-files.test.d.ts.map +1 -0
  534. package/dist/shared/page-leave.d.ts +27 -0
  535. package/dist/shared/page-leave.d.ts.map +1 -0
  536. package/dist/shared/page-leave.test.d.ts +2 -0
  537. package/dist/shared/page-leave.test.d.ts.map +1 -0
  538. package/dist/shared/source-graph.d.ts +63 -0
  539. package/dist/shared/source-graph.d.ts.map +1 -0
  540. package/dist/shared/source-graph.test.d.ts +2 -0
  541. package/dist/shared/source-graph.test.d.ts.map +1 -0
  542. package/dist/shared/version.d.ts +1 -1
  543. package/dist/signal/SignalCore.d.ts.map +1 -1
  544. package/dist/signal/index.js +11 -11
  545. package/dist/signal/index.mjs +2 -2
  546. package/dist/sitemap/discover.d.ts.map +1 -1
  547. package/dist/sitemap/index.d.ts +25 -5
  548. package/dist/sitemap/index.d.ts.map +1 -1
  549. package/dist/sitemap/index.js +54 -51
  550. package/dist/sitemap/index.js.map +1 -1
  551. package/dist/sitemap/index.mjs +39 -36
  552. package/dist/sitemap/index.mjs.map +1 -1
  553. package/dist/sitemap/shared.d.ts +65 -0
  554. package/dist/sitemap/shared.d.ts.map +1 -1
  555. package/dist/sitemap/trailing-slash.test.d.ts +2 -0
  556. package/dist/sitemap/trailing-slash.test.d.ts.map +1 -0
  557. package/dist/sites/resolve.d.ts.map +1 -1
  558. package/dist/sites/site-param.d.ts +16 -0
  559. package/dist/sites/site-param.d.ts.map +1 -0
  560. package/dist/sync/index.js +17 -17
  561. package/dist/sync/index.mjs +4 -4
  562. package/dist/writeLLMsTxt-CQ7A4AAL.js +20 -0
  563. package/dist/writeLLMsTxt-CQ7A4AAL.js.map +1 -0
  564. package/dist/writeLLMsTxt-NX5MSPYX.mjs +11 -0
  565. package/dist/writeLLMsTxt-NX5MSPYX.mjs.map +1 -0
  566. package/package.json +25 -22
  567. package/dist/AnalyticsProvider-6PXC7UDP.js +0 -32
  568. package/dist/AnalyticsProvider-FVQIYSLY.mjs +0 -11
  569. package/dist/BlogViewTracker-S4HSRCW7.js.map +0 -1
  570. package/dist/BlogViewTracker-ZUGLBOVI.mjs.map +0 -1
  571. package/dist/ChatWidget-2TQWCXWP.js +0 -22
  572. package/dist/ChatWidget-DG52ZIE6.mjs +0 -13
  573. package/dist/EngageWidget-2VUJADIU.mjs +0 -12
  574. package/dist/EngageWidget-Z7RC2INM.js +0 -21
  575. package/dist/FormSpotlight-RHL5FWM2.mjs.map +0 -1
  576. package/dist/FormSpotlight-TED32NHP.js.map +0 -1
  577. package/dist/FormStage-DINIRFOX.mjs.map +0 -1
  578. package/dist/FormStage-PFEBKHGY.js.map +0 -1
  579. package/dist/ManagedForm-43WLCUAK.js +0 -23
  580. package/dist/ManagedForm-545YAUFC.mjs +0 -14
  581. package/dist/ManagedNewsletterForm-I3QN57HB.js.map +0 -1
  582. package/dist/ManagedNewsletterForm-ZPY5RRKX.mjs.map +0 -1
  583. package/dist/SignalCore-EEH5IM4U.mjs.map +0 -1
  584. package/dist/SignalCore-M4AXIMV4.js.map +0 -1
  585. package/dist/SitemapSync-46G7LVZS.mjs +0 -9
  586. package/dist/SitemapSync-XK4JKCS7.js +0 -18
  587. package/dist/chunk-46BMNWE6.js.map +0 -1
  588. package/dist/chunk-473WDGQZ.mjs.map +0 -1
  589. package/dist/chunk-4B4S56WJ.mjs.map +0 -1
  590. package/dist/chunk-5B4FABFK.js.map +0 -1
  591. package/dist/chunk-6CJP7BFM.js.map +0 -1
  592. package/dist/chunk-6OP5XSMM.mjs.map +0 -1
  593. package/dist/chunk-746RKQHA.js.map +0 -1
  594. package/dist/chunk-AEARU24Q.mjs.map +0 -1
  595. package/dist/chunk-AHZR4VGY.mjs.map +0 -1
  596. package/dist/chunk-AJQI3WTN.mjs.map +0 -1
  597. package/dist/chunk-B64AZC6P.js.map +0 -1
  598. package/dist/chunk-BZLIOT7Q.js.map +0 -1
  599. package/dist/chunk-C2MSD2UM.mjs.map +0 -1
  600. package/dist/chunk-CQRLKNHQ.js.map +0 -1
  601. package/dist/chunk-DQUBETXH.mjs +0 -6
  602. package/dist/chunk-EEQYKMGH.mjs.map +0 -1
  603. package/dist/chunk-GPLCPMVD.mjs.map +0 -1
  604. package/dist/chunk-GZJE23Y5.mjs.map +0 -1
  605. package/dist/chunk-H4OBGC43.mjs.map +0 -1
  606. package/dist/chunk-H7274TKR.mjs.map +0 -1
  607. package/dist/chunk-IPV2TUAT.js.map +0 -1
  608. package/dist/chunk-IYCLN3XS.mjs.map +0 -1
  609. package/dist/chunk-JEOKDUPQ.js +0 -45
  610. package/dist/chunk-JEOKDUPQ.js.map +0 -1
  611. package/dist/chunk-JNRHTZL4.js.map +0 -1
  612. package/dist/chunk-KPKQKFT4.js.map +0 -1
  613. package/dist/chunk-KSL3WA2I.js +0 -8
  614. package/dist/chunk-KY6M76JW.js.map +0 -1
  615. package/dist/chunk-LC7AM4J5.js.map +0 -1
  616. package/dist/chunk-LOS5D6B3.js +0 -72
  617. package/dist/chunk-LOS5D6B3.js.map +0 -1
  618. package/dist/chunk-NZSFOZJV.js.map +0 -1
  619. package/dist/chunk-OZ3FU4BT.js.map +0 -1
  620. package/dist/chunk-QJU6HBSK.mjs +0 -39
  621. package/dist/chunk-QJU6HBSK.mjs.map +0 -1
  622. package/dist/chunk-R3KTBKSW.js.map +0 -1
  623. package/dist/chunk-RIYAMYLV.mjs.map +0 -1
  624. package/dist/chunk-RU54J2PY.mjs.map +0 -1
  625. package/dist/chunk-TP7H6BSK.mjs.map +0 -1
  626. package/dist/chunk-UJ6CHZAI.mjs.map +0 -1
  627. package/dist/chunk-UU47DGHE.js.map +0 -1
  628. package/dist/chunk-X5TCH7VZ.js.map +0 -1
  629. package/dist/chunk-XIJ4F6IE.mjs +0 -63
  630. package/dist/chunk-XIJ4F6IE.mjs.map +0 -1
  631. package/dist/discover-BEJRYNFF.mjs +0 -4
  632. package/dist/discover-WVDYDUJX.js +0 -21
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/redirects/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAGvD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;IAC5C,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAoBD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,cAAc,CAAA;AAUzC;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAgExF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,EAAE,GACpB,YAAY,GAAG,SAAS,CAO1B;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAiCnC;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAarH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IACjF,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;CACnB,CAAC,CAAC,CAUF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/redirects/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAKvD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;IAC5C,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAoBD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,cAAc,CAAA;AAezC;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAmExF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,EAAE,GACpB,YAAY,GAAG,SAAS,CAO1B;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAiCnC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAarH;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IACjF,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;CACnB,CAAC,CAAC,CAUF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
@@ -1,38 +1,41 @@
1
1
  'use strict';
2
2
 
3
- var chunk46BMNWE6_js = require('../chunk-46BMNWE6.js');
3
+ var chunkI3ND4XYW_js = require('../chunk-I3ND4XYW.js');
4
4
  require('../chunk-JP5WGL75.js');
5
+ require('../chunk-YN7QHLWF.js');
6
+ require('../chunk-H5NBFNND.js');
7
+ require('../chunk-SWIKKSKL.js');
5
8
  require('../chunk-SNAQBZPT.js');
6
9
 
7
10
 
8
11
 
9
12
  Object.defineProperty(exports, "SK_PATH_HEADER", {
10
13
  enumerable: true,
11
- get: function () { return chunk46BMNWE6_js.SK_PATH_HEADER; }
14
+ get: function () { return chunkI3ND4XYW_js.SK_PATH_HEADER; }
12
15
  });
13
16
  Object.defineProperty(exports, "clearRedirectCache", {
14
17
  enumerable: true,
15
- get: function () { return chunk46BMNWE6_js.clearRedirectCache; }
18
+ get: function () { return chunkI3ND4XYW_js.clearRedirectCache; }
16
19
  });
17
20
  Object.defineProperty(exports, "fetchRedirectRules", {
18
21
  enumerable: true,
19
- get: function () { return chunk46BMNWE6_js.fetchRedirectRules; }
22
+ get: function () { return chunkI3ND4XYW_js.fetchRedirectRules; }
20
23
  });
21
24
  Object.defineProperty(exports, "findRedirectMatch", {
22
25
  enumerable: true,
23
- get: function () { return chunk46BMNWE6_js.findRedirectMatch; }
26
+ get: function () { return chunkI3ND4XYW_js.findRedirectMatch; }
24
27
  });
25
28
  Object.defineProperty(exports, "generateNextRedirects", {
26
29
  enumerable: true,
27
- get: function () { return chunk46BMNWE6_js.generateNextRedirects; }
30
+ get: function () { return chunkI3ND4XYW_js.generateNextRedirects; }
28
31
  });
29
32
  Object.defineProperty(exports, "handleManagedRedirects", {
30
33
  enumerable: true,
31
- get: function () { return chunk46BMNWE6_js.handleManagedRedirects; }
34
+ get: function () { return chunkI3ND4XYW_js.handleManagedRedirects; }
32
35
  });
33
36
  Object.defineProperty(exports, "trackRedirectHit", {
34
37
  enumerable: true,
35
- get: function () { return chunk46BMNWE6_js.trackRedirectHit; }
38
+ get: function () { return chunkI3ND4XYW_js.trackRedirectHit; }
36
39
  });
37
40
  //# sourceMappingURL=index.js.map
38
41
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,8 @@
1
- export { SK_PATH_HEADER, clearRedirectCache, fetchRedirectRules, findRedirectMatch, generateNextRedirects, handleManagedRedirects, trackRedirectHit } from '../chunk-AJQI3WTN.mjs';
1
+ export { SK_PATH_HEADER, clearRedirectCache, fetchRedirectRules, findRedirectMatch, generateNextRedirects, handleManagedRedirects, trackRedirectHit } from '../chunk-4L7OHRWB.mjs';
2
2
  import '../chunk-B22WSN4L.mjs';
3
+ import '../chunk-4TLFZ6NR.mjs';
4
+ import '../chunk-JLVCWC6A.mjs';
5
+ import '../chunk-ZN4HBK5C.mjs';
3
6
  import '../chunk-BEXTDHO4.mjs';
4
7
  //# sourceMappingURL=index.mjs.map
5
8
  //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/redirects/index.test.ts"],"names":[],"mappings":""}
@@ -1,32 +1,20 @@
1
1
  /**
2
2
  * @sonordev/site-kit/redirects/not-found — managed redirects at the 404 boundary.
3
3
  *
4
- * WHY HERE AND NOT THE PROXY HOT PATH: a managed redirect only ever matters
5
- * for a URL that would otherwise 404, but the proxy-mode check
6
- * (`redirects: true`) pays a rules fetch on 100% of page loads to answer it.
7
- * Resolving at the not-found boundary moves that cost from every request to
8
- * only the requests that miss — while dashboard edits still apply instantly,
9
- * unlike build-time `generateNextRedirects`.
4
+ * DEPRECATED: DON'T USE THIS IN app/not-found.tsx. Next renders the root
5
+ * not-found boundary inside every page's tree, so this resolver's headers()
6
+ * call opts EVERY route into dynamic rendering. On a Next 16 build
7
+ * (nkylawfirm.com, 2026-09-14) every static route turned dynamic, and
8
+ * reverting only not-found.jsx put them back. Skipping the lookup at build
9
+ * time doesn't help: the 404 page would then be prerendered static and the
10
+ * redirects would never run.
10
11
  *
11
- * Next gives `not-found.tsx` no URL, so the site-kit proxy stamps the
12
- * requested `pathname + search` onto the request as the `x-sk-path` header
13
- * (see SK_PATH_HEADER; createProxy always sets it — no fetch involved).
12
+ * Use `createProxy({ redirects: true })` instead (the default). The proxy
13
+ * caches the rule list in memory for five minutes, so page loads rarely wait
14
+ * on it.
14
15
  *
15
- * Usage — app/not-found.tsx:
16
- * ```tsx
17
- * import { redirect, permanentRedirect } from 'next/navigation'
18
- * import { resolveManagedRedirect } from '@sonordev/site-kit/redirects/not-found'
19
- *
20
- * export default async function NotFound() {
21
- * const managed = await resolveManagedRedirect()
22
- * if (managed) {
23
- * ;(managed.permanent ? permanentRedirect : redirect)(managed.destination)
24
- * }
25
- * return <YourNotFoundUi />
26
- * }
27
- * ```
28
- *
29
- * Server-only (reads next/headers) — never import from the proxy or client.
16
+ * Kept exported so sites that already call it keep building. It logs a
17
+ * one-time warning per process.
30
18
  */
31
19
  import { type RedirectConfig } from './index';
32
20
  export interface ResolvedRedirect {
@@ -36,11 +24,8 @@ export interface ResolvedRedirect {
36
24
  permanent: boolean;
37
25
  }
38
26
  /**
39
- * Resolve a managed redirect for the URL that just 404ed.
40
- *
41
- * Returns null when the path is unknown (proxy not installed), no rule
42
- * matches, or Portal can't be reached inside the timeout — a 404 page must
43
- * never hang on us, so the default budget is the shared 300ms.
27
+ * @deprecated Makes every page dynamic when called from a not-found boundary.
28
+ * Use `createProxy({ redirects: true })`. See the module comment.
44
29
  */
45
30
  export declare function resolveManagedRedirect(config?: RedirectConfig): Promise<ResolvedRedirect | null>;
46
31
  //# sourceMappingURL=not-found.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"not-found.d.ts","sourceRoot":"","sources":["../../src/redirects/not-found.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,SAAS,CAAA;AAEhB,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;IACnB,8EAA8E;IAC9E,SAAS,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,GAAE,cAAmB,GAC1B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAqClC"}
1
+ {"version":3,"file":"not-found.d.ts","sourceRoot":"","sources":["../../src/redirects/not-found.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,SAAS,CAAA;AAEhB,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;IACnB,8EAA8E;IAC9E,SAAS,EAAE,OAAO,CAAA;CACnB;AAWD;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,GAAE,cAAmB,GAC1B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA4ClC"}
@@ -1,15 +1,25 @@
1
1
  'use strict';
2
2
 
3
- var chunk46BMNWE6_js = require('../chunk-46BMNWE6.js');
3
+ var chunkI3ND4XYW_js = require('../chunk-I3ND4XYW.js');
4
4
  require('../chunk-JP5WGL75.js');
5
+ require('../chunk-YN7QHLWF.js');
6
+ require('../chunk-H5NBFNND.js');
7
+ require('../chunk-SWIKKSKL.js');
5
8
  require('../chunk-SNAQBZPT.js');
6
9
  var headers = require('next/headers');
7
10
 
11
+ var warned = false;
8
12
  async function resolveManagedRedirect(config = {}) {
13
+ if (!warned) {
14
+ warned = true;
15
+ console.warn(
16
+ "[site-kit] resolveManagedRedirect() is deprecated: called from a not-found boundary it makes every page dynamic. Remove it and use createProxy({ redirects: true }) in proxy.ts."
17
+ );
18
+ }
9
19
  let raw;
10
20
  try {
11
21
  const h = await headers.headers();
12
- raw = h.get(chunk46BMNWE6_js.SK_PATH_HEADER);
22
+ raw = h.get(chunkI3ND4XYW_js.SK_PATH_HEADER);
13
23
  } catch {
14
24
  return null;
15
25
  }
@@ -20,10 +30,10 @@ async function resolveManagedRedirect(config = {}) {
20
30
  if (pathname.startsWith("/_next") || pathname.startsWith("/api") || pathname.includes(".")) {
21
31
  return null;
22
32
  }
23
- const rules = await chunk46BMNWE6_js.fetchRedirectRules(config);
24
- const match = chunk46BMNWE6_js.findRedirectMatch(pathname, rules);
33
+ const rules = await chunkI3ND4XYW_js.fetchRedirectRules(config);
34
+ const match = chunkI3ND4XYW_js.findRedirectMatch(pathname, rules);
25
35
  if (!match) return null;
26
- chunk46BMNWE6_js.trackRedirectHit(config, match.from_path, config.domain).catch(() => {
36
+ chunkI3ND4XYW_js.trackRedirectHit(config, match.from_path, config.domain).catch(() => {
27
37
  });
28
38
  const destination = search ? `${match.to_path}${match.to_path.includes("?") ? "&" : "?"}${search}` : match.to_path;
29
39
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/redirects/not-found.ts"],"names":["headers","SK_PATH_HEADER","fetchRedirectRules","findRedirectMatch","trackRedirectHit"],"mappings":";;;;;;;AAsDA,eAAsB,sBAAA,CACpB,MAAA,GAAyB,EAAC,EACQ;AAClC,EAAA,IAAI,GAAA;AACJ,EAAA,IAAI;AACF,IAAA,MAAM,CAAA,GAAI,MAAMA,eAAA,EAAQ;AACxB,IAAA,GAAA,GAAM,CAAA,CAAE,IAAIC,+BAAc,CAAA;AAAA,EAC5B,CAAA,CAAA,MAAQ;AAGN,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,IAAI,CAAC,GAAA,IAAO,CAAC,IAAI,UAAA,CAAW,GAAG,GAAG,OAAO,IAAA;AAEzC,EAAA,MAAM,UAAA,GAAa,GAAA,CAAI,OAAA,CAAQ,GAAG,CAAA;AAClC,EAAA,MAAM,WAAW,UAAA,KAAe,EAAA,GAAK,MAAM,GAAA,CAAI,KAAA,CAAM,GAAG,UAAU,CAAA;AAClE,EAAA,MAAM,SAAS,UAAA,KAAe,EAAA,GAAK,KAAK,GAAA,CAAI,KAAA,CAAM,aAAa,CAAC,CAAA;AAIhE,EAAA,IAAI,QAAA,CAAS,UAAA,CAAW,QAAQ,CAAA,IAAK,QAAA,CAAS,UAAA,CAAW,MAAM,CAAA,IAAK,QAAA,CAAS,QAAA,CAAS,GAAG,CAAA,EAAG;AAC1F,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,KAAA,GAAQ,MAAMC,mCAAA,CAAmB,MAAM,CAAA;AAC7C,EAAA,MAAM,KAAA,GAAQC,kCAAA,CAAkB,QAAA,EAAU,KAAK,CAAA;AAC/C,EAAA,IAAI,CAAC,OAAO,OAAO,IAAA;AAGnB,EAAAC,iCAAA,CAAiB,QAAQ,KAAA,CAAM,SAAA,EAAW,OAAO,MAAM,CAAA,CAAE,MAAM,MAAM;AAAA,EAAC,CAAC,CAAA;AAEvE,EAAA,MAAM,cAAc,MAAA,GAChB,CAAA,EAAG,KAAA,CAAM,OAAO,GAAG,KAAA,CAAM,OAAA,CAAQ,QAAA,CAAS,GAAG,IAAI,GAAA,GAAM,GAAG,CAAA,EAAG,MAAM,KACnE,KAAA,CAAM,OAAA;AAEV,EAAA,OAAO;AAAA,IACL,WAAA;AAAA,IACA,SAAA,EAAW,KAAA,CAAM,aAAA,KAAkB,KAAA,IAAS,MAAM,aAAA,KAAkB;AAAA,GACtE;AACF","file":"not-found.js","sourcesContent":["/**\n * @sonordev/site-kit/redirects/not-found — managed redirects at the 404 boundary.\n *\n * WHY HERE AND NOT THE PROXY HOT PATH: a managed redirect only ever matters\n * for a URL that would otherwise 404, but the proxy-mode check\n * (`redirects: true`) pays a rules fetch on 100% of page loads to answer it.\n * Resolving at the not-found boundary moves that cost from every request to\n * only the requests that miss — while dashboard edits still apply instantly,\n * unlike build-time `generateNextRedirects`.\n *\n * Next gives `not-found.tsx` no URL, so the site-kit proxy stamps the\n * requested `pathname + search` onto the request as the `x-sk-path` header\n * (see SK_PATH_HEADER; createProxy always sets it — no fetch involved).\n *\n * Usage — app/not-found.tsx:\n * ```tsx\n * import { redirect, permanentRedirect } from 'next/navigation'\n * import { resolveManagedRedirect } from '@sonordev/site-kit/redirects/not-found'\n *\n * export default async function NotFound() {\n * const managed = await resolveManagedRedirect()\n * if (managed) {\n * ;(managed.permanent ? permanentRedirect : redirect)(managed.destination)\n * }\n * return <YourNotFoundUi />\n * }\n * ```\n *\n * Server-only (reads next/headers) — never import from the proxy or client.\n */\n\nimport { headers } from 'next/headers'\nimport {\n fetchRedirectRules,\n findRedirectMatch,\n trackRedirectHit,\n SK_PATH_HEADER,\n type RedirectConfig,\n} from './index'\n\nexport interface ResolvedRedirect {\n /** Destination path/URL with the original query string carried over. */\n destination: string\n /** True for 301/308 rules — pair with next/navigation's permanentRedirect. */\n permanent: boolean\n}\n\n/**\n * Resolve a managed redirect for the URL that just 404ed.\n *\n * Returns null when the path is unknown (proxy not installed), no rule\n * matches, or Portal can't be reached inside the timeout — a 404 page must\n * never hang on us, so the default budget is the shared 300ms.\n */\nexport async function resolveManagedRedirect(\n config: RedirectConfig = {},\n): Promise<ResolvedRedirect | null> {\n let raw: string | null\n try {\n const h = await headers()\n raw = h.get(SK_PATH_HEADER)\n } catch {\n // Called outside a request scope (e.g. build-time prerender of the 404\n // shell). Nothing to resolve.\n return null\n }\n if (!raw || !raw.startsWith('/')) return null\n\n const queryIndex = raw.indexOf('?')\n const pathname = queryIndex === -1 ? raw : raw.slice(0, queryIndex)\n const search = queryIndex === -1 ? '' : raw.slice(queryIndex + 1)\n\n // Same skip set as the proxy-mode handler: these can 404 but are never\n // redirect targets, so don't spend the fetch on them.\n if (pathname.startsWith('/_next') || pathname.startsWith('/api') || pathname.includes('.')) {\n return null\n }\n\n const rules = await fetchRedirectRules(config)\n const match = findRedirectMatch(pathname, rules)\n if (!match) return null\n\n // Fire and forget — analytics must never delay the redirect.\n trackRedirectHit(config, match.from_path, config.domain).catch(() => {})\n\n const destination = search\n ? `${match.to_path}${match.to_path.includes('?') ? '&' : '?'}${search}`\n : match.to_path\n\n return {\n destination,\n permanent: match.redirect_type === '301' || match.redirect_type === '308',\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/redirects/not-found.ts"],"names":["headers","SK_PATH_HEADER","fetchRedirectRules","findRedirectMatch","trackRedirectHit"],"mappings":";;;;;;;;;;AA0CA,IAAI,MAAA,GAAS,KAAA;AAMb,eAAsB,sBAAA,CACpB,MAAA,GAAyB,EAAC,EACQ;AAClC,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,MAAA,GAAS,IAAA;AACT,IAAA,OAAA,CAAQ,IAAA;AAAA,MACN;AAAA,KAEF;AAAA,EACF;AACA,EAAA,IAAI,GAAA;AACJ,EAAA,IAAI;AACF,IAAA,MAAM,CAAA,GAAI,MAAMA,eAAA,EAAQ;AACxB,IAAA,GAAA,GAAM,CAAA,CAAE,IAAIC,+BAAc,CAAA;AAAA,EAC5B,CAAA,CAAA,MAAQ;AAGN,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,IAAI,CAAC,GAAA,IAAO,CAAC,IAAI,UAAA,CAAW,GAAG,GAAG,OAAO,IAAA;AAEzC,EAAA,MAAM,UAAA,GAAa,GAAA,CAAI,OAAA,CAAQ,GAAG,CAAA;AAClC,EAAA,MAAM,WAAW,UAAA,KAAe,EAAA,GAAK,MAAM,GAAA,CAAI,KAAA,CAAM,GAAG,UAAU,CAAA;AAClE,EAAA,MAAM,SAAS,UAAA,KAAe,EAAA,GAAK,KAAK,GAAA,CAAI,KAAA,CAAM,aAAa,CAAC,CAAA;AAIhE,EAAA,IAAI,QAAA,CAAS,UAAA,CAAW,QAAQ,CAAA,IAAK,QAAA,CAAS,UAAA,CAAW,MAAM,CAAA,IAAK,QAAA,CAAS,QAAA,CAAS,GAAG,CAAA,EAAG;AAC1F,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,KAAA,GAAQ,MAAMC,mCAAA,CAAmB,MAAM,CAAA;AAC7C,EAAA,MAAM,KAAA,GAAQC,kCAAA,CAAkB,QAAA,EAAU,KAAK,CAAA;AAC/C,EAAA,IAAI,CAAC,OAAO,OAAO,IAAA;AAGnB,EAAAC,iCAAA,CAAiB,QAAQ,KAAA,CAAM,SAAA,EAAW,OAAO,MAAM,CAAA,CAAE,MAAM,MAAM;AAAA,EAAC,CAAC,CAAA;AAEvE,EAAA,MAAM,cAAc,MAAA,GAChB,CAAA,EAAG,KAAA,CAAM,OAAO,GAAG,KAAA,CAAM,OAAA,CAAQ,QAAA,CAAS,GAAG,IAAI,GAAA,GAAM,GAAG,CAAA,EAAG,MAAM,KACnE,KAAA,CAAM,OAAA;AAEV,EAAA,OAAO;AAAA,IACL,WAAA;AAAA,IACA,SAAA,EAAW,KAAA,CAAM,aAAA,KAAkB,KAAA,IAAS,MAAM,aAAA,KAAkB;AAAA,GACtE;AACF","file":"not-found.js","sourcesContent":["/**\n * @sonordev/site-kit/redirects/not-found — managed redirects at the 404 boundary.\n *\n * DEPRECATED: DON'T USE THIS IN app/not-found.tsx. Next renders the root\n * not-found boundary inside every page's tree, so this resolver's headers()\n * call opts EVERY route into dynamic rendering. On a Next 16 build\n * (nkylawfirm.com, 2026-09-14) every static route turned dynamic, and\n * reverting only not-found.jsx put them back. Skipping the lookup at build\n * time doesn't help: the 404 page would then be prerendered static and the\n * redirects would never run.\n *\n * Use `createProxy({ redirects: true })` instead (the default). The proxy\n * caches the rule list in memory for five minutes, so page loads rarely wait\n * on it.\n *\n * Kept exported so sites that already call it keep building. It logs a\n * one-time warning per process.\n */\n\nimport { headers } from 'next/headers'\nimport {\n fetchRedirectRules,\n findRedirectMatch,\n trackRedirectHit,\n SK_PATH_HEADER,\n type RedirectConfig,\n} from './index'\n\nexport interface ResolvedRedirect {\n /** Destination path/URL with the original query string carried over. */\n destination: string\n /** True for 301/308 rules — pair with next/navigation's permanentRedirect. */\n permanent: boolean\n}\n\n/**\n * Resolve a managed redirect for the URL that just 404ed.\n *\n * Returns null when the path is unknown (proxy not installed), no rule\n * matches, or Portal can't be reached inside the timeout — a 404 page must\n * never hang on us, so the default budget is the shared 300ms.\n */\nlet warned = false\n\n/**\n * @deprecated Makes every page dynamic when called from a not-found boundary.\n * Use `createProxy({ redirects: true })`. See the module comment.\n */\nexport async function resolveManagedRedirect(\n config: RedirectConfig = {},\n): Promise<ResolvedRedirect | null> {\n if (!warned) {\n warned = true\n console.warn(\n '[site-kit] resolveManagedRedirect() is deprecated: called from a not-found boundary it makes every page dynamic. ' +\n 'Remove it and use createProxy({ redirects: true }) in proxy.ts.',\n )\n }\n let raw: string | null\n try {\n const h = await headers()\n raw = h.get(SK_PATH_HEADER)\n } catch {\n // Called outside a request scope (e.g. build-time prerender of the 404\n // shell). Nothing to resolve.\n return null\n }\n if (!raw || !raw.startsWith('/')) return null\n\n const queryIndex = raw.indexOf('?')\n const pathname = queryIndex === -1 ? raw : raw.slice(0, queryIndex)\n const search = queryIndex === -1 ? '' : raw.slice(queryIndex + 1)\n\n // Same skip set as the proxy-mode handler: these can 404 but are never\n // redirect targets, so don't spend the fetch on them.\n if (pathname.startsWith('/_next') || pathname.startsWith('/api') || pathname.includes('.')) {\n return null\n }\n\n const rules = await fetchRedirectRules(config)\n const match = findRedirectMatch(pathname, rules)\n if (!match) return null\n\n // Fire and forget — analytics must never delay the redirect.\n trackRedirectHit(config, match.from_path, config.domain).catch(() => {})\n\n const destination = search\n ? `${match.to_path}${match.to_path.includes('?') ? '&' : '?'}${search}`\n : match.to_path\n\n return {\n destination,\n permanent: match.redirect_type === '301' || match.redirect_type === '308',\n }\n}\n"]}
@@ -1,9 +1,19 @@
1
- import { SK_PATH_HEADER, fetchRedirectRules, findRedirectMatch, trackRedirectHit } from '../chunk-AJQI3WTN.mjs';
1
+ import { SK_PATH_HEADER, fetchRedirectRules, findRedirectMatch, trackRedirectHit } from '../chunk-4L7OHRWB.mjs';
2
2
  import '../chunk-B22WSN4L.mjs';
3
+ import '../chunk-4TLFZ6NR.mjs';
4
+ import '../chunk-JLVCWC6A.mjs';
5
+ import '../chunk-ZN4HBK5C.mjs';
3
6
  import '../chunk-BEXTDHO4.mjs';
4
7
  import { headers } from 'next/headers';
5
8
 
9
+ var warned = false;
6
10
  async function resolveManagedRedirect(config = {}) {
11
+ if (!warned) {
12
+ warned = true;
13
+ console.warn(
14
+ "[site-kit] resolveManagedRedirect() is deprecated: called from a not-found boundary it makes every page dynamic. Remove it and use createProxy({ redirects: true }) in proxy.ts."
15
+ );
16
+ }
7
17
  let raw;
8
18
  try {
9
19
  const h = await headers();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/redirects/not-found.ts"],"names":[],"mappings":";;;;;AAsDA,eAAsB,sBAAA,CACpB,MAAA,GAAyB,EAAC,EACQ;AAClC,EAAA,IAAI,GAAA;AACJ,EAAA,IAAI;AACF,IAAA,MAAM,CAAA,GAAI,MAAM,OAAA,EAAQ;AACxB,IAAA,GAAA,GAAM,CAAA,CAAE,IAAI,cAAc,CAAA;AAAA,EAC5B,CAAA,CAAA,MAAQ;AAGN,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,IAAI,CAAC,GAAA,IAAO,CAAC,IAAI,UAAA,CAAW,GAAG,GAAG,OAAO,IAAA;AAEzC,EAAA,MAAM,UAAA,GAAa,GAAA,CAAI,OAAA,CAAQ,GAAG,CAAA;AAClC,EAAA,MAAM,WAAW,UAAA,KAAe,EAAA,GAAK,MAAM,GAAA,CAAI,KAAA,CAAM,GAAG,UAAU,CAAA;AAClE,EAAA,MAAM,SAAS,UAAA,KAAe,EAAA,GAAK,KAAK,GAAA,CAAI,KAAA,CAAM,aAAa,CAAC,CAAA;AAIhE,EAAA,IAAI,QAAA,CAAS,UAAA,CAAW,QAAQ,CAAA,IAAK,QAAA,CAAS,UAAA,CAAW,MAAM,CAAA,IAAK,QAAA,CAAS,QAAA,CAAS,GAAG,CAAA,EAAG;AAC1F,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,KAAA,GAAQ,MAAM,kBAAA,CAAmB,MAAM,CAAA;AAC7C,EAAA,MAAM,KAAA,GAAQ,iBAAA,CAAkB,QAAA,EAAU,KAAK,CAAA;AAC/C,EAAA,IAAI,CAAC,OAAO,OAAO,IAAA;AAGnB,EAAA,gBAAA,CAAiB,QAAQ,KAAA,CAAM,SAAA,EAAW,OAAO,MAAM,CAAA,CAAE,MAAM,MAAM;AAAA,EAAC,CAAC,CAAA;AAEvE,EAAA,MAAM,cAAc,MAAA,GAChB,CAAA,EAAG,KAAA,CAAM,OAAO,GAAG,KAAA,CAAM,OAAA,CAAQ,QAAA,CAAS,GAAG,IAAI,GAAA,GAAM,GAAG,CAAA,EAAG,MAAM,KACnE,KAAA,CAAM,OAAA;AAEV,EAAA,OAAO;AAAA,IACL,WAAA;AAAA,IACA,SAAA,EAAW,KAAA,CAAM,aAAA,KAAkB,KAAA,IAAS,MAAM,aAAA,KAAkB;AAAA,GACtE;AACF","file":"not-found.mjs","sourcesContent":["/**\n * @sonordev/site-kit/redirects/not-found — managed redirects at the 404 boundary.\n *\n * WHY HERE AND NOT THE PROXY HOT PATH: a managed redirect only ever matters\n * for a URL that would otherwise 404, but the proxy-mode check\n * (`redirects: true`) pays a rules fetch on 100% of page loads to answer it.\n * Resolving at the not-found boundary moves that cost from every request to\n * only the requests that miss — while dashboard edits still apply instantly,\n * unlike build-time `generateNextRedirects`.\n *\n * Next gives `not-found.tsx` no URL, so the site-kit proxy stamps the\n * requested `pathname + search` onto the request as the `x-sk-path` header\n * (see SK_PATH_HEADER; createProxy always sets it — no fetch involved).\n *\n * Usage — app/not-found.tsx:\n * ```tsx\n * import { redirect, permanentRedirect } from 'next/navigation'\n * import { resolveManagedRedirect } from '@sonordev/site-kit/redirects/not-found'\n *\n * export default async function NotFound() {\n * const managed = await resolveManagedRedirect()\n * if (managed) {\n * ;(managed.permanent ? permanentRedirect : redirect)(managed.destination)\n * }\n * return <YourNotFoundUi />\n * }\n * ```\n *\n * Server-only (reads next/headers) — never import from the proxy or client.\n */\n\nimport { headers } from 'next/headers'\nimport {\n fetchRedirectRules,\n findRedirectMatch,\n trackRedirectHit,\n SK_PATH_HEADER,\n type RedirectConfig,\n} from './index'\n\nexport interface ResolvedRedirect {\n /** Destination path/URL with the original query string carried over. */\n destination: string\n /** True for 301/308 rules — pair with next/navigation's permanentRedirect. */\n permanent: boolean\n}\n\n/**\n * Resolve a managed redirect for the URL that just 404ed.\n *\n * Returns null when the path is unknown (proxy not installed), no rule\n * matches, or Portal can't be reached inside the timeout — a 404 page must\n * never hang on us, so the default budget is the shared 300ms.\n */\nexport async function resolveManagedRedirect(\n config: RedirectConfig = {},\n): Promise<ResolvedRedirect | null> {\n let raw: string | null\n try {\n const h = await headers()\n raw = h.get(SK_PATH_HEADER)\n } catch {\n // Called outside a request scope (e.g. build-time prerender of the 404\n // shell). Nothing to resolve.\n return null\n }\n if (!raw || !raw.startsWith('/')) return null\n\n const queryIndex = raw.indexOf('?')\n const pathname = queryIndex === -1 ? raw : raw.slice(0, queryIndex)\n const search = queryIndex === -1 ? '' : raw.slice(queryIndex + 1)\n\n // Same skip set as the proxy-mode handler: these can 404 but are never\n // redirect targets, so don't spend the fetch on them.\n if (pathname.startsWith('/_next') || pathname.startsWith('/api') || pathname.includes('.')) {\n return null\n }\n\n const rules = await fetchRedirectRules(config)\n const match = findRedirectMatch(pathname, rules)\n if (!match) return null\n\n // Fire and forget — analytics must never delay the redirect.\n trackRedirectHit(config, match.from_path, config.domain).catch(() => {})\n\n const destination = search\n ? `${match.to_path}${match.to_path.includes('?') ? '&' : '?'}${search}`\n : match.to_path\n\n return {\n destination,\n permanent: match.redirect_type === '301' || match.redirect_type === '308',\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/redirects/not-found.ts"],"names":[],"mappings":";;;;;;;;AA0CA,IAAI,MAAA,GAAS,KAAA;AAMb,eAAsB,sBAAA,CACpB,MAAA,GAAyB,EAAC,EACQ;AAClC,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,MAAA,GAAS,IAAA;AACT,IAAA,OAAA,CAAQ,IAAA;AAAA,MACN;AAAA,KAEF;AAAA,EACF;AACA,EAAA,IAAI,GAAA;AACJ,EAAA,IAAI;AACF,IAAA,MAAM,CAAA,GAAI,MAAM,OAAA,EAAQ;AACxB,IAAA,GAAA,GAAM,CAAA,CAAE,IAAI,cAAc,CAAA;AAAA,EAC5B,CAAA,CAAA,MAAQ;AAGN,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,IAAI,CAAC,GAAA,IAAO,CAAC,IAAI,UAAA,CAAW,GAAG,GAAG,OAAO,IAAA;AAEzC,EAAA,MAAM,UAAA,GAAa,GAAA,CAAI,OAAA,CAAQ,GAAG,CAAA;AAClC,EAAA,MAAM,WAAW,UAAA,KAAe,EAAA,GAAK,MAAM,GAAA,CAAI,KAAA,CAAM,GAAG,UAAU,CAAA;AAClE,EAAA,MAAM,SAAS,UAAA,KAAe,EAAA,GAAK,KAAK,GAAA,CAAI,KAAA,CAAM,aAAa,CAAC,CAAA;AAIhE,EAAA,IAAI,QAAA,CAAS,UAAA,CAAW,QAAQ,CAAA,IAAK,QAAA,CAAS,UAAA,CAAW,MAAM,CAAA,IAAK,QAAA,CAAS,QAAA,CAAS,GAAG,CAAA,EAAG;AAC1F,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,KAAA,GAAQ,MAAM,kBAAA,CAAmB,MAAM,CAAA;AAC7C,EAAA,MAAM,KAAA,GAAQ,iBAAA,CAAkB,QAAA,EAAU,KAAK,CAAA;AAC/C,EAAA,IAAI,CAAC,OAAO,OAAO,IAAA;AAGnB,EAAA,gBAAA,CAAiB,QAAQ,KAAA,CAAM,SAAA,EAAW,OAAO,MAAM,CAAA,CAAE,MAAM,MAAM;AAAA,EAAC,CAAC,CAAA;AAEvE,EAAA,MAAM,cAAc,MAAA,GAChB,CAAA,EAAG,KAAA,CAAM,OAAO,GAAG,KAAA,CAAM,OAAA,CAAQ,QAAA,CAAS,GAAG,IAAI,GAAA,GAAM,GAAG,CAAA,EAAG,MAAM,KACnE,KAAA,CAAM,OAAA;AAEV,EAAA,OAAO;AAAA,IACL,WAAA;AAAA,IACA,SAAA,EAAW,KAAA,CAAM,aAAA,KAAkB,KAAA,IAAS,MAAM,aAAA,KAAkB;AAAA,GACtE;AACF","file":"not-found.mjs","sourcesContent":["/**\n * @sonordev/site-kit/redirects/not-found — managed redirects at the 404 boundary.\n *\n * DEPRECATED: DON'T USE THIS IN app/not-found.tsx. Next renders the root\n * not-found boundary inside every page's tree, so this resolver's headers()\n * call opts EVERY route into dynamic rendering. On a Next 16 build\n * (nkylawfirm.com, 2026-09-14) every static route turned dynamic, and\n * reverting only not-found.jsx put them back. Skipping the lookup at build\n * time doesn't help: the 404 page would then be prerendered static and the\n * redirects would never run.\n *\n * Use `createProxy({ redirects: true })` instead (the default). The proxy\n * caches the rule list in memory for five minutes, so page loads rarely wait\n * on it.\n *\n * Kept exported so sites that already call it keep building. It logs a\n * one-time warning per process.\n */\n\nimport { headers } from 'next/headers'\nimport {\n fetchRedirectRules,\n findRedirectMatch,\n trackRedirectHit,\n SK_PATH_HEADER,\n type RedirectConfig,\n} from './index'\n\nexport interface ResolvedRedirect {\n /** Destination path/URL with the original query string carried over. */\n destination: string\n /** True for 301/308 rules — pair with next/navigation's permanentRedirect. */\n permanent: boolean\n}\n\n/**\n * Resolve a managed redirect for the URL that just 404ed.\n *\n * Returns null when the path is unknown (proxy not installed), no rule\n * matches, or Portal can't be reached inside the timeout — a 404 page must\n * never hang on us, so the default budget is the shared 300ms.\n */\nlet warned = false\n\n/**\n * @deprecated Makes every page dynamic when called from a not-found boundary.\n * Use `createProxy({ redirects: true })`. See the module comment.\n */\nexport async function resolveManagedRedirect(\n config: RedirectConfig = {},\n): Promise<ResolvedRedirect | null> {\n if (!warned) {\n warned = true\n console.warn(\n '[site-kit] resolveManagedRedirect() is deprecated: called from a not-found boundary it makes every page dynamic. ' +\n 'Remove it and use createProxy({ redirects: true }) in proxy.ts.',\n )\n }\n let raw: string | null\n try {\n const h = await headers()\n raw = h.get(SK_PATH_HEADER)\n } catch {\n // Called outside a request scope (e.g. build-time prerender of the 404\n // shell). Nothing to resolve.\n return null\n }\n if (!raw || !raw.startsWith('/')) return null\n\n const queryIndex = raw.indexOf('?')\n const pathname = queryIndex === -1 ? raw : raw.slice(0, queryIndex)\n const search = queryIndex === -1 ? '' : raw.slice(queryIndex + 1)\n\n // Same skip set as the proxy-mode handler: these can 404 but are never\n // redirect targets, so don't spend the fetch on them.\n if (pathname.startsWith('/_next') || pathname.startsWith('/api') || pathname.includes('.')) {\n return null\n }\n\n const rules = await fetchRedirectRules(config)\n const match = findRedirectMatch(pathname, rules)\n if (!match) return null\n\n // Fire and forget — analytics must never delay the redirect.\n trackRedirectHit(config, match.from_path, config.domain).catch(() => {})\n\n const destination = search\n ? `${match.to_path}${match.to_path.includes('?') ? '&' : '?'}${search}`\n : match.to_path\n\n return {\n destination,\n permanent: match.redirect_type === '301' || match.redirect_type === '308',\n }\n}\n"]}
@@ -16,6 +16,9 @@
16
16
  * disallow: ['/admin'],
17
17
  * })
18
18
  */
19
+ export { isNextInternalsPath } from './next-internals';
20
+ export { AI_RETRIEVAL_CRAWLERS, AI_TRAINING_CRAWLERS, buildAiCrawlerRules, formatContentSignals, createRobotsTxtHandler, } from '../llms/aiRobots';
21
+ export type { AiCrawlerRulesOptions, ContentSignalsOptions, RobotsTxtHandlerOptions } from '../llms/aiRobots';
19
22
  export interface RobotsConfig {
20
23
  /** Base URL of the site (optional when apiKey is set; then resolved from Portal) */
21
24
  baseUrl?: string;
@@ -26,7 +29,10 @@ export interface RobotsConfig {
26
29
  sitemapPath?: string;
27
30
  /** Pre-built robots content from Portal (overrides default when provided) */
28
31
  managedRobots?: string | null;
29
- /** Paths to disallow (e.g. ['/admin', '/api']) */
32
+ /**
33
+ * Paths to disallow (e.g. ['/admin', '/api']). `/_next` paths are dropped:
34
+ * Googlebot needs them to render pages and index images.
35
+ */
30
36
  disallow?: string[];
31
37
  }
32
38
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/robots/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,WAAW,YAAY;IAC3B,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AA6BD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAkBrF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/robots/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAKtD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAE7G,MAAM,WAAW,YAAY;IAC3B,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AA8BD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAkBrF"}
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var chunkNRBITVDK_js = require('../chunk-NRBITVDK.js');
3
4
  var chunkJP5WGL75_js = require('../chunk-JP5WGL75.js');
4
5
  require('../chunk-SNAQBZPT.js');
5
6
 
@@ -11,7 +12,8 @@ function buildRobotsResponse(baseUrl, config) {
11
12
  } else {
12
13
  lines.push("User-agent: *");
13
14
  lines.push("Allow: /");
14
- for (const p of config.disallow ?? []) {
15
+ const disallow = chunkNRBITVDK_js.stripNextInternals(config.disallow) ?? [];
16
+ for (const p of Array.isArray(disallow) ? disallow : [disallow]) {
15
17
  lines.push(`Disallow: ${p}`);
16
18
  }
17
19
  }
@@ -47,6 +49,30 @@ function createRobots(config) {
47
49
  };
48
50
  }
49
51
 
52
+ Object.defineProperty(exports, "AI_RETRIEVAL_CRAWLERS", {
53
+ enumerable: true,
54
+ get: function () { return chunkNRBITVDK_js.AI_RETRIEVAL_CRAWLERS; }
55
+ });
56
+ Object.defineProperty(exports, "AI_TRAINING_CRAWLERS", {
57
+ enumerable: true,
58
+ get: function () { return chunkNRBITVDK_js.AI_TRAINING_CRAWLERS; }
59
+ });
60
+ Object.defineProperty(exports, "buildAiCrawlerRules", {
61
+ enumerable: true,
62
+ get: function () { return chunkNRBITVDK_js.buildAiCrawlerRules; }
63
+ });
64
+ Object.defineProperty(exports, "createRobotsTxtHandler", {
65
+ enumerable: true,
66
+ get: function () { return chunkNRBITVDK_js.createRobotsTxtHandler; }
67
+ });
68
+ Object.defineProperty(exports, "formatContentSignals", {
69
+ enumerable: true,
70
+ get: function () { return chunkNRBITVDK_js.formatContentSignals; }
71
+ });
72
+ Object.defineProperty(exports, "isNextInternalsPath", {
73
+ enumerable: true,
74
+ get: function () { return chunkNRBITVDK_js.isNextInternalsPath; }
75
+ });
50
76
  exports.createRobots = createRobots;
51
77
  //# sourceMappingURL=index.js.map
52
78
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/robots/index.ts"],"names":["getSiteConfig"],"mappings":";;;;;;AAmCA,SAAS,mBAAA,CAAoB,SAAiB,MAAA,EAAgC;AAC5E,EAAA,MAAM,QAAkB,EAAC;AAEzB,EAAA,IAAI,MAAA,CAAO,aAAA,EAAe,IAAA,EAAK,EAAG;AAChC,IAAA,KAAA,CAAM,IAAA,CAAK,MAAA,CAAO,aAAA,CAAc,IAAA,EAAM,CAAA;AAAA,EACxC,CAAA,MAAO;AACL,IAAA,KAAA,CAAM,KAAK,eAAe,CAAA;AAC1B,IAAA,KAAA,CAAM,KAAK,UAAU,CAAA;AACrB,IAAA,KAAA,MAAW,CAAA,IAAK,MAAA,CAAO,QAAA,IAAY,EAAC,EAAG;AACrC,MAAA,KAAA,CAAM,IAAA,CAAK,CAAA,UAAA,EAAa,CAAC,CAAA,CAAE,CAAA;AAAA,IAC7B;AAAA,EACF;AAEA,EAAA,MAAM,IAAA,GAAO,OAAA,CAAQ,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AACtC,EAAA,MAAM,WAAA,GAAc,OAAO,WAAA,IAAe,cAAA;AAC1C,EAAA,MAAM,UAAA,GAAa,CAAA,EAAG,IAAI,CAAA,EAAG,WAAA,CAAY,UAAA,CAAW,GAAG,CAAA,GAAI,EAAA,GAAK,GAAG,CAAA,EAAG,WAAW,CAAA,CAAA;AACjF,EAAA,KAAA,CAAM,IAAA,CAAK,CAAA,SAAA,EAAY,UAAU,CAAA,CAAE,CAAA;AAEnC,EAAA,OAAO,IAAI,QAAA,CAAS,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA,EAAG;AAAA,IACpC,MAAA,EAAQ,GAAA;AAAA,IACR,OAAA,EAAS;AAAA,MACP,cAAA,EAAgB,2BAAA;AAAA,MAChB,eAAA,EAAiB;AAAA;AACnB,GACD,CAAA;AACH;AAMO,SAAS,aAAa,MAAA,EAA0D;AACrF,EAAA,OAAO,SAAS,MAAA,GAAuC;AACrD,IAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AACvB,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,OAAO,mBAAA,CAAoB,SAAS,MAAM,CAAA;AAAA,IAC5C;AACA,IAAA,MAAM,MAAA,GAAS,OAAO,MAAA,KAAW,OAAO,YAAY,WAAA,IAAe,OAAA,CAAQ,GAAA,IAAO,OAAA,CAAQ,GAAA,CAAI,aAAA,CAAA;AAC9F,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA,OAAO,IAAI,SAAS,4BAAA,EAA8B;AAAA,QAChD,MAAA,EAAQ,GAAA;AAAA,QACR,OAAA,EAAS,EAAE,cAAA,EAAgB,2BAAA;AAA4B,OACxD,CAAA;AAAA,IACH;AACA,IAAA,OAAOA,8BAAA,CAAc,EAAE,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,QAAQ,CAAA,CAAE,IAAA,CAAK,CAAC,IAAA,KAAS;AACrE,MAAA,MAAM,GAAA,GAAM,MAAM,QAAA,IAAY,qBAAA;AAC9B,MAAA,OAAO,mBAAA,CAAoB,KAAK,MAAM,CAAA;AAAA,IACxC,CAAC,CAAA;AAAA,EACH,CAAA;AACF","file":"index.js","sourcesContent":["/**\n * @sonordev/site-kit/robots - robots.txt Generator\n *\n * Generates robots.txt with Sitemap directive.\n * baseUrl can be omitted when apiKey is set (resolved from Portal project-info).\n *\n * @example\n * // app/robots.txt/route.ts (API key only)\n * import { createRobots } from '@sonordev/site-kit/robots'\n * export const GET = createRobots({ apiKey: process.env.SONOR_API_KEY })\n *\n * @example\n * // With explicit baseUrl\n * export const GET = createRobots({\n * baseUrl: process.env.NEXT_PUBLIC_SITE_URL || 'https://example.com',\n * disallow: ['/admin'],\n * })\n */\n\nimport { getSiteConfig } from '../site-config'\n\nexport interface RobotsConfig {\n /** Base URL of the site (optional when apiKey is set; then resolved from Portal) */\n baseUrl?: string\n /** Project API key; when set and baseUrl is not, baseUrl is resolved from Portal */\n apiKey?: string\n apiUrl?: string\n /** Path to sitemap (default: /sitemap.xml) */\n sitemapPath?: string\n /** Pre-built robots content from Portal (overrides default when provided) */\n managedRobots?: string | null\n /** Paths to disallow (e.g. ['/admin', '/api']) */\n disallow?: string[]\n}\n\nfunction buildRobotsResponse(baseUrl: string, config: RobotsConfig): Response {\n const lines: string[] = []\n\n if (config.managedRobots?.trim()) {\n lines.push(config.managedRobots.trim())\n } else {\n lines.push('User-agent: *')\n lines.push('Allow: /')\n for (const p of config.disallow ?? []) {\n lines.push(`Disallow: ${p}`)\n }\n }\n\n const base = baseUrl.replace(/\\/$/, '')\n const sitemapPath = config.sitemapPath ?? '/sitemap.xml'\n const sitemapUrl = `${base}${sitemapPath.startsWith('/') ? '' : '/'}${sitemapPath}`\n lines.push(`Sitemap: ${sitemapUrl}`)\n\n return new Response(lines.join('\\n'), {\n status: 200,\n headers: {\n 'Content-Type': 'text/plain; charset=utf-8',\n 'Cache-Control': 'public, max-age=86400, s-maxage=86400',\n },\n })\n}\n\n/**\n * Create a robots.txt handler that returns a Response or Promise<Response>.\n * Use as GET handler for app/robots.txt/route.ts. When baseUrl is omitted, pass apiKey to resolve from Portal.\n */\nexport function createRobots(config: RobotsConfig): () => Response | Promise<Response> {\n return function robots(): Response | Promise<Response> {\n const baseUrl = config.baseUrl\n if (baseUrl) {\n return buildRobotsResponse(baseUrl, config)\n }\n const apiKey = config.apiKey ?? (typeof process !== 'undefined' && process.env && process.env.SONOR_API_KEY)\n if (!apiKey) {\n return new Response('User-agent: *\\nDisallow: /', {\n status: 200,\n headers: { 'Content-Type': 'text/plain; charset=utf-8' },\n })\n }\n return getSiteConfig({ apiKey, apiUrl: config.apiUrl }).then((site) => {\n const url = site?.site_url ?? 'https://example.com'\n return buildRobotsResponse(url, config)\n })\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/robots/index.ts"],"names":["stripNextInternals","getSiteConfig"],"mappings":";;;;;;;AAqDA,SAAS,mBAAA,CAAoB,SAAiB,MAAA,EAAgC;AAC5E,EAAA,MAAM,QAAkB,EAAC;AAEzB,EAAA,IAAI,MAAA,CAAO,aAAA,EAAe,IAAA,EAAK,EAAG;AAChC,IAAA,KAAA,CAAM,IAAA,CAAK,MAAA,CAAO,aAAA,CAAc,IAAA,EAAM,CAAA;AAAA,EACxC,CAAA,MAAO;AACL,IAAA,KAAA,CAAM,KAAK,eAAe,CAAA;AAC1B,IAAA,KAAA,CAAM,KAAK,UAAU,CAAA;AACrB,IAAA,MAAM,QAAA,GAAWA,mCAAA,CAAmB,MAAA,CAAO,QAAQ,KAAK,EAAC;AACzD,IAAA,KAAA,MAAW,CAAA,IAAK,MAAM,OAAA,CAAQ,QAAQ,IAAI,QAAA,GAAW,CAAC,QAAQ,CAAA,EAAG;AAC/D,MAAA,KAAA,CAAM,IAAA,CAAK,CAAA,UAAA,EAAa,CAAC,CAAA,CAAE,CAAA;AAAA,IAC7B;AAAA,EACF;AAEA,EAAA,MAAM,IAAA,GAAO,OAAA,CAAQ,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AACtC,EAAA,MAAM,WAAA,GAAc,OAAO,WAAA,IAAe,cAAA;AAC1C,EAAA,MAAM,UAAA,GAAa,CAAA,EAAG,IAAI,CAAA,EAAG,WAAA,CAAY,UAAA,CAAW,GAAG,CAAA,GAAI,EAAA,GAAK,GAAG,CAAA,EAAG,WAAW,CAAA,CAAA;AACjF,EAAA,KAAA,CAAM,IAAA,CAAK,CAAA,SAAA,EAAY,UAAU,CAAA,CAAE,CAAA;AAEnC,EAAA,OAAO,IAAI,QAAA,CAAS,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA,EAAG;AAAA,IACpC,MAAA,EAAQ,GAAA;AAAA,IACR,OAAA,EAAS;AAAA,MACP,cAAA,EAAgB,2BAAA;AAAA,MAChB,eAAA,EAAiB;AAAA;AACnB,GACD,CAAA;AACH;AAMO,SAAS,aAAa,MAAA,EAA0D;AACrF,EAAA,OAAO,SAAS,MAAA,GAAuC;AACrD,IAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AACvB,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,OAAO,mBAAA,CAAoB,SAAS,MAAM,CAAA;AAAA,IAC5C;AACA,IAAA,MAAM,MAAA,GAAS,OAAO,MAAA,KAAW,OAAO,YAAY,WAAA,IAAe,OAAA,CAAQ,GAAA,IAAO,OAAA,CAAQ,GAAA,CAAI,aAAA,CAAA;AAC9F,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA,OAAO,IAAI,SAAS,4BAAA,EAA8B;AAAA,QAChD,MAAA,EAAQ,GAAA;AAAA,QACR,OAAA,EAAS,EAAE,cAAA,EAAgB,2BAAA;AAA4B,OACxD,CAAA;AAAA,IACH;AACA,IAAA,OAAOC,8BAAA,CAAc,EAAE,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,QAAQ,CAAA,CAAE,IAAA,CAAK,CAAC,IAAA,KAAS;AACrE,MAAA,MAAM,GAAA,GAAM,MAAM,QAAA,IAAY,qBAAA;AAC9B,MAAA,OAAO,mBAAA,CAAoB,KAAK,MAAM,CAAA;AAAA,IACxC,CAAC,CAAA;AAAA,EACH,CAAA;AACF","file":"index.js","sourcesContent":["/**\n * @sonordev/site-kit/robots - robots.txt Generator\n *\n * Generates robots.txt with Sitemap directive.\n * baseUrl can be omitted when apiKey is set (resolved from Portal project-info).\n *\n * @example\n * // app/robots.txt/route.ts (API key only)\n * import { createRobots } from '@sonordev/site-kit/robots'\n * export const GET = createRobots({ apiKey: process.env.SONOR_API_KEY })\n *\n * @example\n * // With explicit baseUrl\n * export const GET = createRobots({\n * baseUrl: process.env.NEXT_PUBLIC_SITE_URL || 'https://example.com',\n * disallow: ['/admin'],\n * })\n */\n\nimport { getSiteConfig } from '../site-config'\nimport { stripNextInternals } from './next-internals'\n\nexport { isNextInternalsPath } from './next-internals'\n\n// The AI crawler helpers live in `llms/aiRobots` (and are exported from\n// `@sonordev/site-kit/llms`). Re-exported here because `/robots` is where a\n// robots.txt author looks for them. One implementation; never copy the lists.\nexport {\n AI_RETRIEVAL_CRAWLERS,\n AI_TRAINING_CRAWLERS,\n buildAiCrawlerRules,\n formatContentSignals,\n createRobotsTxtHandler,\n} from '../llms/aiRobots'\nexport type { AiCrawlerRulesOptions, ContentSignalsOptions, RobotsTxtHandlerOptions } from '../llms/aiRobots'\n\nexport interface RobotsConfig {\n /** Base URL of the site (optional when apiKey is set; then resolved from Portal) */\n baseUrl?: string\n /** Project API key; when set and baseUrl is not, baseUrl is resolved from Portal */\n apiKey?: string\n apiUrl?: string\n /** Path to sitemap (default: /sitemap.xml) */\n sitemapPath?: string\n /** Pre-built robots content from Portal (overrides default when provided) */\n managedRobots?: string | null\n /**\n * Paths to disallow (e.g. ['/admin', '/api']). `/_next` paths are dropped:\n * Googlebot needs them to render pages and index images.\n */\n disallow?: string[]\n}\n\nfunction buildRobotsResponse(baseUrl: string, config: RobotsConfig): Response {\n const lines: string[] = []\n\n if (config.managedRobots?.trim()) {\n lines.push(config.managedRobots.trim())\n } else {\n lines.push('User-agent: *')\n lines.push('Allow: /')\n const disallow = stripNextInternals(config.disallow) ?? []\n for (const p of Array.isArray(disallow) ? disallow : [disallow]) {\n lines.push(`Disallow: ${p}`)\n }\n }\n\n const base = baseUrl.replace(/\\/$/, '')\n const sitemapPath = config.sitemapPath ?? '/sitemap.xml'\n const sitemapUrl = `${base}${sitemapPath.startsWith('/') ? '' : '/'}${sitemapPath}`\n lines.push(`Sitemap: ${sitemapUrl}`)\n\n return new Response(lines.join('\\n'), {\n status: 200,\n headers: {\n 'Content-Type': 'text/plain; charset=utf-8',\n 'Cache-Control': 'public, max-age=86400, s-maxage=86400',\n },\n })\n}\n\n/**\n * Create a robots.txt handler that returns a Response or Promise<Response>.\n * Use as GET handler for app/robots.txt/route.ts. When baseUrl is omitted, pass apiKey to resolve from Portal.\n */\nexport function createRobots(config: RobotsConfig): () => Response | Promise<Response> {\n return function robots(): Response | Promise<Response> {\n const baseUrl = config.baseUrl\n if (baseUrl) {\n return buildRobotsResponse(baseUrl, config)\n }\n const apiKey = config.apiKey ?? (typeof process !== 'undefined' && process.env && process.env.SONOR_API_KEY)\n if (!apiKey) {\n return new Response('User-agent: *\\nDisallow: /', {\n status: 200,\n headers: { 'Content-Type': 'text/plain; charset=utf-8' },\n })\n }\n return getSiteConfig({ apiKey, apiUrl: config.apiUrl }).then((site) => {\n const url = site?.site_url ?? 'https://example.com'\n return buildRobotsResponse(url, config)\n })\n }\n}\n"]}
@@ -1,3 +1,5 @@
1
+ import { stripNextInternals } from '../chunk-HCN3IKMW.mjs';
2
+ export { AI_RETRIEVAL_CRAWLERS, AI_TRAINING_CRAWLERS, buildAiCrawlerRules, createRobotsTxtHandler, formatContentSignals, isNextInternalsPath } from '../chunk-HCN3IKMW.mjs';
1
3
  import { getSiteConfig } from '../chunk-B22WSN4L.mjs';
2
4
  import '../chunk-BEXTDHO4.mjs';
3
5
 
@@ -9,7 +11,8 @@ function buildRobotsResponse(baseUrl, config) {
9
11
  } else {
10
12
  lines.push("User-agent: *");
11
13
  lines.push("Allow: /");
12
- for (const p of config.disallow ?? []) {
14
+ const disallow = stripNextInternals(config.disallow) ?? [];
15
+ for (const p of Array.isArray(disallow) ? disallow : [disallow]) {
13
16
  lines.push(`Disallow: ${p}`);
14
17
  }
15
18
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/robots/index.ts"],"names":[],"mappings":";;;;AAmCA,SAAS,mBAAA,CAAoB,SAAiB,MAAA,EAAgC;AAC5E,EAAA,MAAM,QAAkB,EAAC;AAEzB,EAAA,IAAI,MAAA,CAAO,aAAA,EAAe,IAAA,EAAK,EAAG;AAChC,IAAA,KAAA,CAAM,IAAA,CAAK,MAAA,CAAO,aAAA,CAAc,IAAA,EAAM,CAAA;AAAA,EACxC,CAAA,MAAO;AACL,IAAA,KAAA,CAAM,KAAK,eAAe,CAAA;AAC1B,IAAA,KAAA,CAAM,KAAK,UAAU,CAAA;AACrB,IAAA,KAAA,MAAW,CAAA,IAAK,MAAA,CAAO,QAAA,IAAY,EAAC,EAAG;AACrC,MAAA,KAAA,CAAM,IAAA,CAAK,CAAA,UAAA,EAAa,CAAC,CAAA,CAAE,CAAA;AAAA,IAC7B;AAAA,EACF;AAEA,EAAA,MAAM,IAAA,GAAO,OAAA,CAAQ,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AACtC,EAAA,MAAM,WAAA,GAAc,OAAO,WAAA,IAAe,cAAA;AAC1C,EAAA,MAAM,UAAA,GAAa,CAAA,EAAG,IAAI,CAAA,EAAG,WAAA,CAAY,UAAA,CAAW,GAAG,CAAA,GAAI,EAAA,GAAK,GAAG,CAAA,EAAG,WAAW,CAAA,CAAA;AACjF,EAAA,KAAA,CAAM,IAAA,CAAK,CAAA,SAAA,EAAY,UAAU,CAAA,CAAE,CAAA;AAEnC,EAAA,OAAO,IAAI,QAAA,CAAS,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA,EAAG;AAAA,IACpC,MAAA,EAAQ,GAAA;AAAA,IACR,OAAA,EAAS;AAAA,MACP,cAAA,EAAgB,2BAAA;AAAA,MAChB,eAAA,EAAiB;AAAA;AACnB,GACD,CAAA;AACH;AAMO,SAAS,aAAa,MAAA,EAA0D;AACrF,EAAA,OAAO,SAAS,MAAA,GAAuC;AACrD,IAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AACvB,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,OAAO,mBAAA,CAAoB,SAAS,MAAM,CAAA;AAAA,IAC5C;AACA,IAAA,MAAM,MAAA,GAAS,OAAO,MAAA,KAAW,OAAO,YAAY,WAAA,IAAe,OAAA,CAAQ,GAAA,IAAO,OAAA,CAAQ,GAAA,CAAI,aAAA,CAAA;AAC9F,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA,OAAO,IAAI,SAAS,4BAAA,EAA8B;AAAA,QAChD,MAAA,EAAQ,GAAA;AAAA,QACR,OAAA,EAAS,EAAE,cAAA,EAAgB,2BAAA;AAA4B,OACxD,CAAA;AAAA,IACH;AACA,IAAA,OAAO,aAAA,CAAc,EAAE,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,QAAQ,CAAA,CAAE,IAAA,CAAK,CAAC,IAAA,KAAS;AACrE,MAAA,MAAM,GAAA,GAAM,MAAM,QAAA,IAAY,qBAAA;AAC9B,MAAA,OAAO,mBAAA,CAAoB,KAAK,MAAM,CAAA;AAAA,IACxC,CAAC,CAAA;AAAA,EACH,CAAA;AACF","file":"index.mjs","sourcesContent":["/**\n * @sonordev/site-kit/robots - robots.txt Generator\n *\n * Generates robots.txt with Sitemap directive.\n * baseUrl can be omitted when apiKey is set (resolved from Portal project-info).\n *\n * @example\n * // app/robots.txt/route.ts (API key only)\n * import { createRobots } from '@sonordev/site-kit/robots'\n * export const GET = createRobots({ apiKey: process.env.SONOR_API_KEY })\n *\n * @example\n * // With explicit baseUrl\n * export const GET = createRobots({\n * baseUrl: process.env.NEXT_PUBLIC_SITE_URL || 'https://example.com',\n * disallow: ['/admin'],\n * })\n */\n\nimport { getSiteConfig } from '../site-config'\n\nexport interface RobotsConfig {\n /** Base URL of the site (optional when apiKey is set; then resolved from Portal) */\n baseUrl?: string\n /** Project API key; when set and baseUrl is not, baseUrl is resolved from Portal */\n apiKey?: string\n apiUrl?: string\n /** Path to sitemap (default: /sitemap.xml) */\n sitemapPath?: string\n /** Pre-built robots content from Portal (overrides default when provided) */\n managedRobots?: string | null\n /** Paths to disallow (e.g. ['/admin', '/api']) */\n disallow?: string[]\n}\n\nfunction buildRobotsResponse(baseUrl: string, config: RobotsConfig): Response {\n const lines: string[] = []\n\n if (config.managedRobots?.trim()) {\n lines.push(config.managedRobots.trim())\n } else {\n lines.push('User-agent: *')\n lines.push('Allow: /')\n for (const p of config.disallow ?? []) {\n lines.push(`Disallow: ${p}`)\n }\n }\n\n const base = baseUrl.replace(/\\/$/, '')\n const sitemapPath = config.sitemapPath ?? '/sitemap.xml'\n const sitemapUrl = `${base}${sitemapPath.startsWith('/') ? '' : '/'}${sitemapPath}`\n lines.push(`Sitemap: ${sitemapUrl}`)\n\n return new Response(lines.join('\\n'), {\n status: 200,\n headers: {\n 'Content-Type': 'text/plain; charset=utf-8',\n 'Cache-Control': 'public, max-age=86400, s-maxage=86400',\n },\n })\n}\n\n/**\n * Create a robots.txt handler that returns a Response or Promise<Response>.\n * Use as GET handler for app/robots.txt/route.ts. When baseUrl is omitted, pass apiKey to resolve from Portal.\n */\nexport function createRobots(config: RobotsConfig): () => Response | Promise<Response> {\n return function robots(): Response | Promise<Response> {\n const baseUrl = config.baseUrl\n if (baseUrl) {\n return buildRobotsResponse(baseUrl, config)\n }\n const apiKey = config.apiKey ?? (typeof process !== 'undefined' && process.env && process.env.SONOR_API_KEY)\n if (!apiKey) {\n return new Response('User-agent: *\\nDisallow: /', {\n status: 200,\n headers: { 'Content-Type': 'text/plain; charset=utf-8' },\n })\n }\n return getSiteConfig({ apiKey, apiUrl: config.apiUrl }).then((site) => {\n const url = site?.site_url ?? 'https://example.com'\n return buildRobotsResponse(url, config)\n })\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/robots/index.ts"],"names":[],"mappings":";;;;;;AAqDA,SAAS,mBAAA,CAAoB,SAAiB,MAAA,EAAgC;AAC5E,EAAA,MAAM,QAAkB,EAAC;AAEzB,EAAA,IAAI,MAAA,CAAO,aAAA,EAAe,IAAA,EAAK,EAAG;AAChC,IAAA,KAAA,CAAM,IAAA,CAAK,MAAA,CAAO,aAAA,CAAc,IAAA,EAAM,CAAA;AAAA,EACxC,CAAA,MAAO;AACL,IAAA,KAAA,CAAM,KAAK,eAAe,CAAA;AAC1B,IAAA,KAAA,CAAM,KAAK,UAAU,CAAA;AACrB,IAAA,MAAM,QAAA,GAAW,kBAAA,CAAmB,MAAA,CAAO,QAAQ,KAAK,EAAC;AACzD,IAAA,KAAA,MAAW,CAAA,IAAK,MAAM,OAAA,CAAQ,QAAQ,IAAI,QAAA,GAAW,CAAC,QAAQ,CAAA,EAAG;AAC/D,MAAA,KAAA,CAAM,IAAA,CAAK,CAAA,UAAA,EAAa,CAAC,CAAA,CAAE,CAAA;AAAA,IAC7B;AAAA,EACF;AAEA,EAAA,MAAM,IAAA,GAAO,OAAA,CAAQ,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AACtC,EAAA,MAAM,WAAA,GAAc,OAAO,WAAA,IAAe,cAAA;AAC1C,EAAA,MAAM,UAAA,GAAa,CAAA,EAAG,IAAI,CAAA,EAAG,WAAA,CAAY,UAAA,CAAW,GAAG,CAAA,GAAI,EAAA,GAAK,GAAG,CAAA,EAAG,WAAW,CAAA,CAAA;AACjF,EAAA,KAAA,CAAM,IAAA,CAAK,CAAA,SAAA,EAAY,UAAU,CAAA,CAAE,CAAA;AAEnC,EAAA,OAAO,IAAI,QAAA,CAAS,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA,EAAG;AAAA,IACpC,MAAA,EAAQ,GAAA;AAAA,IACR,OAAA,EAAS;AAAA,MACP,cAAA,EAAgB,2BAAA;AAAA,MAChB,eAAA,EAAiB;AAAA;AACnB,GACD,CAAA;AACH;AAMO,SAAS,aAAa,MAAA,EAA0D;AACrF,EAAA,OAAO,SAAS,MAAA,GAAuC;AACrD,IAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AACvB,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,OAAO,mBAAA,CAAoB,SAAS,MAAM,CAAA;AAAA,IAC5C;AACA,IAAA,MAAM,MAAA,GAAS,OAAO,MAAA,KAAW,OAAO,YAAY,WAAA,IAAe,OAAA,CAAQ,GAAA,IAAO,OAAA,CAAQ,GAAA,CAAI,aAAA,CAAA;AAC9F,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA,OAAO,IAAI,SAAS,4BAAA,EAA8B;AAAA,QAChD,MAAA,EAAQ,GAAA;AAAA,QACR,OAAA,EAAS,EAAE,cAAA,EAAgB,2BAAA;AAA4B,OACxD,CAAA;AAAA,IACH;AACA,IAAA,OAAO,aAAA,CAAc,EAAE,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,QAAQ,CAAA,CAAE,IAAA,CAAK,CAAC,IAAA,KAAS;AACrE,MAAA,MAAM,GAAA,GAAM,MAAM,QAAA,IAAY,qBAAA;AAC9B,MAAA,OAAO,mBAAA,CAAoB,KAAK,MAAM,CAAA;AAAA,IACxC,CAAC,CAAA;AAAA,EACH,CAAA;AACF","file":"index.mjs","sourcesContent":["/**\n * @sonordev/site-kit/robots - robots.txt Generator\n *\n * Generates robots.txt with Sitemap directive.\n * baseUrl can be omitted when apiKey is set (resolved from Portal project-info).\n *\n * @example\n * // app/robots.txt/route.ts (API key only)\n * import { createRobots } from '@sonordev/site-kit/robots'\n * export const GET = createRobots({ apiKey: process.env.SONOR_API_KEY })\n *\n * @example\n * // With explicit baseUrl\n * export const GET = createRobots({\n * baseUrl: process.env.NEXT_PUBLIC_SITE_URL || 'https://example.com',\n * disallow: ['/admin'],\n * })\n */\n\nimport { getSiteConfig } from '../site-config'\nimport { stripNextInternals } from './next-internals'\n\nexport { isNextInternalsPath } from './next-internals'\n\n// The AI crawler helpers live in `llms/aiRobots` (and are exported from\n// `@sonordev/site-kit/llms`). Re-exported here because `/robots` is where a\n// robots.txt author looks for them. One implementation; never copy the lists.\nexport {\n AI_RETRIEVAL_CRAWLERS,\n AI_TRAINING_CRAWLERS,\n buildAiCrawlerRules,\n formatContentSignals,\n createRobotsTxtHandler,\n} from '../llms/aiRobots'\nexport type { AiCrawlerRulesOptions, ContentSignalsOptions, RobotsTxtHandlerOptions } from '../llms/aiRobots'\n\nexport interface RobotsConfig {\n /** Base URL of the site (optional when apiKey is set; then resolved from Portal) */\n baseUrl?: string\n /** Project API key; when set and baseUrl is not, baseUrl is resolved from Portal */\n apiKey?: string\n apiUrl?: string\n /** Path to sitemap (default: /sitemap.xml) */\n sitemapPath?: string\n /** Pre-built robots content from Portal (overrides default when provided) */\n managedRobots?: string | null\n /**\n * Paths to disallow (e.g. ['/admin', '/api']). `/_next` paths are dropped:\n * Googlebot needs them to render pages and index images.\n */\n disallow?: string[]\n}\n\nfunction buildRobotsResponse(baseUrl: string, config: RobotsConfig): Response {\n const lines: string[] = []\n\n if (config.managedRobots?.trim()) {\n lines.push(config.managedRobots.trim())\n } else {\n lines.push('User-agent: *')\n lines.push('Allow: /')\n const disallow = stripNextInternals(config.disallow) ?? []\n for (const p of Array.isArray(disallow) ? disallow : [disallow]) {\n lines.push(`Disallow: ${p}`)\n }\n }\n\n const base = baseUrl.replace(/\\/$/, '')\n const sitemapPath = config.sitemapPath ?? '/sitemap.xml'\n const sitemapUrl = `${base}${sitemapPath.startsWith('/') ? '' : '/'}${sitemapPath}`\n lines.push(`Sitemap: ${sitemapUrl}`)\n\n return new Response(lines.join('\\n'), {\n status: 200,\n headers: {\n 'Content-Type': 'text/plain; charset=utf-8',\n 'Cache-Control': 'public, max-age=86400, s-maxage=86400',\n },\n })\n}\n\n/**\n * Create a robots.txt handler that returns a Response or Promise<Response>.\n * Use as GET handler for app/robots.txt/route.ts. When baseUrl is omitted, pass apiKey to resolve from Portal.\n */\nexport function createRobots(config: RobotsConfig): () => Response | Promise<Response> {\n return function robots(): Response | Promise<Response> {\n const baseUrl = config.baseUrl\n if (baseUrl) {\n return buildRobotsResponse(baseUrl, config)\n }\n const apiKey = config.apiKey ?? (typeof process !== 'undefined' && process.env && process.env.SONOR_API_KEY)\n if (!apiKey) {\n return new Response('User-agent: *\\nDisallow: /', {\n status: 200,\n headers: { 'Content-Type': 'text/plain; charset=utf-8' },\n })\n }\n return getSiteConfig({ apiKey, apiUrl: config.apiUrl }).then((site) => {\n const url = site?.site_url ?? 'https://example.com'\n return buildRobotsResponse(url, config)\n })\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/robots/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Keeps `/_next/` out of every robots.txt site-kit emits.
3
+ *
4
+ * Googlebot renders pages with the CSS, JS chunks and optimized images Next
5
+ * serves from `/_next/`, and `/_next/image` is how a site's photos reach
6
+ * Google Images. A `Disallow: /_next/` makes Google judge an unstyled,
7
+ * image-less page, and a 2026-09 fleet sweep found it on ten sites. Sites
8
+ * passed it in by hand, so the builders drop it on the way out rather than
9
+ * trusting callers to leave it off.
10
+ *
11
+ * Single source of truth for that rule — used by `createRobots`
12
+ * (`robots/index.ts`) and by `buildAiCrawlerRules` + `createRobotsTxtHandler`
13
+ * (`llms/aiRobots.ts`). Route any new robots builder through it.
14
+ */
15
+ export declare function isNextInternalsPath(path: string): boolean;
16
+ /**
17
+ * Removes `/_next` paths from a disallow list, keeping its shape: returns the
18
+ * input untouched when there is nothing to drop, and `undefined` when nothing
19
+ * is left.
20
+ */
21
+ export declare function stripNextInternals(paths: string | string[] | undefined): string | string[] | undefined;
22
+ //# sourceMappingURL=next-internals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-internals.d.ts","sourceRoot":"","sources":["../../src/robots/next-internals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAcD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GACnC,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAS/B"}
@@ -2,9 +2,9 @@
2
2
  'use strict';
3
3
 
4
4
  var chunkG2WC3CXW_js = require('../chunk-G2WC3CXW.js');
5
- var chunkOC7AO7XS_js = require('../chunk-OC7AO7XS.js');
6
- require('../chunk-YYN4YZYZ.js');
7
- require('../chunk-KSL3WA2I.js');
5
+ var chunkPRTXAIIC_js = require('../chunk-PRTXAIIC.js');
6
+ require('../chunk-UWHCHYCX.js');
7
+ require('../chunk-5O7JSWT6.js');
8
8
  require('../chunk-SNAQBZPT.js');
9
9
  var react = require('react');
10
10
  var jsxRuntime = require('react/jsx-runtime');
@@ -39,7 +39,7 @@ function useSiteSearch(options = {}) {
39
39
  const apiUrl = typeof window !== "undefined" ? window.__SITE_KIT_API_URL__ || "https://api.sonor.io" : "https://api.sonor.io";
40
40
  const apiKey = typeof window !== "undefined" ? window.__SITE_KIT_API_KEY__ : void 0;
41
41
  const resolvedSite = site ?? (typeof window !== "undefined" ? window.__SITE_KIT_SITE__ : void 0);
42
- const res = await chunkOC7AO7XS_js.sonorFetch(
42
+ const res = await chunkPRTXAIIC_js.sonorFetch(
43
43
  `${apiUrl}${chunkG2WC3CXW_js.SEARCH_ENDPOINT}`,
44
44
  {
45
45
  method: "POST",
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
  import { SEARCH_ENDPOINT } from '../chunk-75A4KY4X.mjs';
3
3
  export { SEARCH_ENDPOINT } from '../chunk-75A4KY4X.mjs';
4
- import { sonorFetch } from '../chunk-HIHAXEPD.mjs';
5
- import '../chunk-K2V3ZW36.mjs';
6
- import '../chunk-DQUBETXH.mjs';
4
+ import { sonorFetch } from '../chunk-7THZOAUR.mjs';
5
+ import '../chunk-PUAXHYBL.mjs';
6
+ import '../chunk-HRMGITUZ.mjs';
7
7
  import '../chunk-BEXTDHO4.mjs';
8
8
  import { useState, useRef, useCallback, useEffect } from 'react';
9
9
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -3,9 +3,11 @@ import type { ManagedContentProps, ManagedContentBlock } from './types';
3
3
  /**
4
4
  * Get content block data without rendering
5
5
  *
6
- * Useful when you need to access the raw data
6
+ * Useful when you need to access the raw data. `site` is the sub-site host
7
+ * override for multi-site projects; it resolves from NEXT_PUBLIC_SITE_URL when
8
+ * omitted.
7
9
  */
8
- export declare function getManagedContentData(path: string, section: string): Promise<ManagedContentBlock | null>;
10
+ export declare function getManagedContentData(path: string, section: string, site?: string): Promise<ManagedContentBlock | null>;
9
11
  export declare function ManagedContent(props: ManagedContentProps): React.ReactElement;
10
12
  export default ManagedContent;
11
13
  //# sourceMappingURL=ManagedContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManagedContent.d.ts","sourceRoot":"","sources":["../../src/seo/ManagedContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAa,MAAM,SAAS,CAAA;AA8NlF;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAErC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAM7E;eAEc,cAAc"}
1
+ {"version":3,"file":"ManagedContent.d.ts","sourceRoot":"","sources":["../../src/seo/ManagedContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAa,MAAM,SAAS,CAAA;AA+NlF;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAErC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAM7E;eAEc,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"ManagedFAQ.d.ts","sourceRoot":"","sources":["../../src/seo/ManagedFAQ.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,eAAe,EAAW,MAAM,SAAS,CAAA;AA0OvD;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAMrE;eAEc,UAAU"}
1
+ {"version":3,"file":"ManagedFAQ.d.ts","sourceRoot":"","sources":["../../src/seo/ManagedFAQ.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,eAAe,EAAW,MAAM,SAAS,CAAA;AA2OvD;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAMrE;eAEc,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"ManagedInternalLinks.d.ts","sourceRoot":"","sources":["../../src/seo/ManagedInternalLinks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,yBAAyB,EAAe,MAAM,SAAS,CAAA;AAuHrE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,KAAK,CAAC,YAAY,CAMzF;eAEc,oBAAoB"}
1
+ {"version":3,"file":"ManagedInternalLinks.d.ts","sourceRoot":"","sources":["../../src/seo/ManagedInternalLinks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,yBAAyB,EAAe,MAAM,SAAS,CAAA;AAwHrE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,KAAK,CAAC,YAAY,CAMzF;eAEc,oBAAoB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ManagedSchema.d.ts","sourceRoot":"","sources":["../../src/seo/ManagedSchema.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAIjD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,iDAAiD;IACjD,SAAS,CAAC,EAAE,aAAa,GAAG,OAAO,CAAA;IACnC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IAChC,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,UAMvC,CAAA;AAkMD;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,SAAS,GAAG,SAAS,EAC3B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,aAAa,GACxB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBzB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA+BzB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,0BAA0B,GAAG,KAAK,CAAC,YAAY,CAMnF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAMzF;eAEc,aAAa"}
1
+ {"version":3,"file":"ManagedSchema.d.ts","sourceRoot":"","sources":["../../src/seo/ManagedSchema.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAKjD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,iDAAiD;IACjD,SAAS,CAAC,EAAE,aAAa,GAAG,OAAO,CAAA;IACnC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IAChC,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,UAMvC,CAAA;AAyMD;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,SAAS,GAAG,SAAS,EAC3B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,aAAa,GACxB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBzB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA+BzB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,0BAA0B,GAAG,KAAK,CAAC,YAAY,CAMnF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAMzF;eAEc,aAAa"}
@@ -1,19 +1,19 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkXR32C47O_js = require('../chunk-XR32C47O.js');
5
- require('../chunk-JEOKDUPQ.js');
4
+ var chunkBER36QXU_js = require('../chunk-BER36QXU.js');
5
+ require('../chunk-R7GHP3FY.js');
6
6
  require('../chunk-5RNAUYWE.js');
7
- require('../chunk-OC7AO7XS.js');
8
- require('../chunk-YYN4YZYZ.js');
9
- require('../chunk-KSL3WA2I.js');
7
+ require('../chunk-PRTXAIIC.js');
8
+ require('../chunk-UWHCHYCX.js');
9
+ require('../chunk-5O7JSWT6.js');
10
10
  require('../chunk-SNAQBZPT.js');
11
11
 
12
12
 
13
13
 
14
14
  Object.defineProperty(exports, "SitemapSync", {
15
15
  enumerable: true,
16
- get: function () { return chunkXR32C47O_js.SitemapSync; }
16
+ get: function () { return chunkBER36QXU_js.SitemapSync; }
17
17
  });
18
18
  //# sourceMappingURL=client.js.map
19
19
  //# sourceMappingURL=client.js.map
@@ -1,10 +1,10 @@
1
1
  'use client';
2
- export { SitemapSync } from '../chunk-OA7KKOAK.mjs';
3
- import '../chunk-QJU6HBSK.mjs';
2
+ export { SitemapSync } from '../chunk-B35OJ7FR.mjs';
3
+ import '../chunk-4LYW6PMU.mjs';
4
4
  import '../chunk-A6UYV475.mjs';
5
- import '../chunk-HIHAXEPD.mjs';
6
- import '../chunk-K2V3ZW36.mjs';
7
- import '../chunk-DQUBETXH.mjs';
5
+ import '../chunk-7THZOAUR.mjs';
6
+ import '../chunk-PUAXHYBL.mjs';
7
+ import '../chunk-HRMGITUZ.mjs';
8
8
  import '../chunk-BEXTDHO4.mjs';
9
9
  //# sourceMappingURL=client.mjs.map
10
10
  //# sourceMappingURL=client.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"getManagedMetadata.d.ts","sourceRoot":"","sources":["../../src/seo/getManagedMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACb,MAAM,SAAS,CAAA;AAEhB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,qBAAqB,CAAC,CAwHhC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAiC9B;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,yBAAyB,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D,OAAO,CAAC,qBAAqB,CAAC,CA6BhC"}
1
+ {"version":3,"file":"getManagedMetadata.d.ts","sourceRoot":"","sources":["../../src/seo/getManagedMetadata.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACb,MAAM,SAAS,CAAA;AAEhB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,qBAAqB,CAAC,CAqJhC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAiC9B;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,yBAAyB,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D,OAAO,CAAC,qBAAqB,CAAC,CA6BhC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getManagedMetadata.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getManagedMetadata.test.d.ts","sourceRoot":"","sources":["../../src/seo/getManagedMetadata.test.ts"],"names":[],"mappings":""}