docs-i18n 0.9.2 → 0.11.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 (267) hide show
  1. package/admin/app/lib/auth-client.ts +21 -0
  2. package/admin/app/lib/auth.server.ts +62 -0
  3. package/admin/app/routeTree.gen.ts +21 -3
  4. package/admin/app/routes/index.tsx +68 -8
  5. package/admin/app/routes/login.tsx +207 -0
  6. package/admin/app/server.ts +23 -0
  7. package/admin/app/styles.css +146 -0
  8. package/admin/app/worker.ts +18 -0
  9. package/admin/dist/client/assets/auth-client-DqJZaFZR.js +3 -0
  10. package/admin/dist/client/assets/login-CQjkiBAF.js +1 -0
  11. package/admin/dist/client/assets/main-bc5tcdGg.js +18 -0
  12. package/admin/dist/client/assets/routes-CTPOG_v1.js +3 -0
  13. package/admin/dist/client/assets/{styles-DJ6QEJmN.css → styles-zS0BbO7e.css} +1 -1
  14. package/admin/dist/client/assets/useNavigate-CEOVvMjz.js +1 -0
  15. package/admin/dist/server/assets/{react-dom-CpO9xk_L.js → __tanstack-start-server-fn-resolver-qK0Yfvti.js} +83 -507
  16. package/admin/dist/server/assets/_tanstack-start-manifest_v-BgMVPPt2.js +21 -0
  17. package/admin/dist/server/assets/adapter-DjXlUL1J.js +2253 -0
  18. package/admin/dist/server/assets/auth-client-CoUpyQIM.js +807 -0
  19. package/admin/dist/server/assets/auth-dSAIPjBw.js +72 -0
  20. package/admin/dist/server/assets/auth.server-BLVDnTCZ.js +31352 -0
  21. package/admin/dist/server/assets/bun-sqlite-dialect-C8OaCWSL-BNNY-FoT.js +154 -0
  22. package/admin/dist/server/assets/compiled-query-CnFG_BVV.js +6967 -0
  23. package/admin/dist/server/assets/d1-sqlite-dialect-sYHNqBte-Bjz-cybU.js +115 -0
  24. package/admin/dist/server/assets/dist-C3-e8E2B.js +215 -0
  25. package/admin/dist/server/assets/dist-CUzFWZag.js +6039 -0
  26. package/admin/dist/server/assets/{init-DJr2glb3.js → dist-DBv71kqn.js} +21 -381
  27. package/admin/dist/server/assets/error-CASJ5tIm.js +457 -0
  28. package/admin/dist/server/assets/error-codes-BhMTGvV6.js +1153 -0
  29. package/admin/dist/server/assets/init-CJJUsPDL.js +49 -0
  30. package/admin/dist/server/assets/job-manager-D9Ab9hgu.js +179 -0
  31. package/admin/dist/server/assets/{jobs-bQfYqSk7.js → jobs-DrEe9YOj.js} +18 -5
  32. package/admin/dist/server/assets/kysely-adapter-YC8RFPyc.js +2 -0
  33. package/admin/dist/server/assets/login-SqzTMYOZ.js +228 -0
  34. package/admin/dist/server/assets/migrator-ZpVZslbq.js +2926 -0
  35. package/admin/dist/server/assets/{misc-DOk3t9vs.js → misc-BSoYldBT.js} +22 -9
  36. package/admin/dist/server/assets/{models-CBb8Owe5.js → models-CoviNHUP.js} +1 -1
  37. package/admin/dist/server/assets/node-sqlite-dialect-BJIaP6lL.js +154 -0
  38. package/admin/dist/server/assets/{router-DlU_fGDK.js → router-D-82slI-.js} +23 -11
  39. package/admin/dist/server/assets/{routes-BcfX6iub.js → routes-B1pNmxF3.js} +43 -29
  40. package/admin/dist/server/assets/{routes-pIM0fgUO.js → routes-C9huiZHw.js} +56 -22
  41. package/admin/dist/server/assets/sqlite-adapter-CL2EidjD.js +69 -0
  42. package/admin/dist/server/assets/{start-BS52hm79.js → start-BiybVoR2.js} +1 -1
  43. package/admin/dist/server/assets/status-B1AGLvHn.js +162 -0
  44. package/admin/dist/server/assets/status-D7PU72hm.js +262 -0
  45. package/admin/dist/server/assets/string-B4XlckmJ.js +6 -0
  46. package/admin/dist/server/assets/useNavigate-0H08s_Q2.js +29 -0
  47. package/admin/dist/server/assets/useRouter-BXJvr8to.js +508 -0
  48. package/admin/dist/server/server.js +70 -90
  49. package/admin/package.json +6 -1
  50. package/admin/server/functions/auth.ts +89 -0
  51. package/admin/server/functions/jobs.ts +30 -2
  52. package/admin/server/functions/misc.ts +25 -5
  53. package/admin/server/functions/status.ts +52 -3
  54. package/admin/server/index.ts +1 -1
  55. package/admin/server/init.ts +21 -9
  56. package/admin/server/services/d1-status.ts +282 -0
  57. package/admin/vite.config.ts +29 -15
  58. package/admin/wrangler.jsonc +16 -0
  59. package/package.json +1 -1
  60. package/template/app/components/markdown/Markdown.tsx +7 -1
  61. package/template/app/utils/docs.server.ts +37 -4
  62. package/template/app/worker.ts +16 -0
  63. package/template/content/docs-i18n/en/cli.md +9 -5
  64. package/template/content/docs-i18n/en/deployment.md +85 -68
  65. package/template/dist/client/assets/{Doc-CGhUfH9r.js → Doc-BKO69_nz.js} +1 -1
  66. package/template/dist/client/assets/{DocsLayout-CoPL9BM9.js → DocsLayout-BGugXxEQ.js} +1 -1
  67. package/template/dist/client/assets/{FileTabs-DsPkEUu7.js → FileTabs-4fZriOj4.js} +1 -1
  68. package/template/dist/client/assets/{Footer-4faHyha8.js → Footer-DYh1AfWA.js} +1 -1
  69. package/template/dist/client/assets/{FrameworkContent-Cxg_X_EP.js → FrameworkContent-rVvjxASn.js} +1 -1
  70. package/template/dist/client/assets/{MarkdownHeadingContext-CwDqQdSh.js → MarkdownHeadingContext-CdvUDZFU.js} +4 -4
  71. package/template/dist/client/assets/{PostNotFound-1ZaWdycM.js → PostNotFound-WoSYGsGu.js} +1 -1
  72. package/template/dist/client/assets/{_basePickBy-FbrKkfHa.js → _basePickBy-Dd7GuR7A.js} +1 -1
  73. package/template/dist/client/assets/{_baseUniq-g6ljCkn8.js → _baseUniq-DMxQLGFI.js} +1 -1
  74. package/template/dist/client/assets/_lang-3AqGszEy.js +1 -0
  75. package/template/dist/client/assets/_lang._project-COkrIqzH.js +1 -0
  76. package/template/dist/client/assets/_lang._project._version-B8vRZczu.js +1 -0
  77. package/template/dist/client/assets/{_lang._project._version.docs-DjZ_USgK.js → _lang._project._version.docs-DokNGgvU.js} +1 -1
  78. package/template/dist/client/assets/{_lang._project._version.docs._-CNb1EMFX.js → _lang._project._version.docs._-CXCNZzOb.js} +1 -1
  79. package/template/dist/client/assets/_lang._project._version.docs._-DR0WSQEb.js +1 -0
  80. package/template/dist/client/assets/_lang._project._version.docs.framework._framework._-C_Grro8r.js +1 -0
  81. package/template/dist/client/assets/{_lang._project._version.docs.framework._framework.index-CqyVy6eq.js → _lang._project._version.docs.framework._framework.index-DsYjXRdj.js} +1 -1
  82. package/template/dist/client/assets/{_lang._project._version.docs.framework.index-S3Frbfn4.js → _lang._project._version.docs.framework.index-DQX1lBi3.js} +1 -1
  83. package/template/dist/client/assets/{_lang._project.docs-CkmM5v1V.js → _lang._project.docs-DsYQj9jI.js} +1 -1
  84. package/template/dist/client/assets/_lang._project.docs._-DlM_D6DD.js +1 -0
  85. package/template/dist/client/assets/{_lang._project.docs._-BHYKQj_2.js → _lang._project.docs._-l2tTjx80.js} +1 -1
  86. package/template/dist/client/assets/_lang.blog-CEwEtalL.js +1 -0
  87. package/template/dist/client/assets/_lang.blog-D6YGC3tK.js +1 -0
  88. package/template/dist/client/assets/_lang.blog._-DgHu4oLy.js +1 -0
  89. package/template/dist/client/assets/{_lang.blog._-bXJwKw9E.js → _lang.blog._-Umz18sQE.js} +1 -1
  90. package/template/dist/client/assets/_lang.blog.index-C8LKUFtD.js +1 -0
  91. package/template/dist/client/assets/{_lang.blog.index-CdR5PZOo.js → _lang.blog.index-DzUqpOBE.js} +1 -1
  92. package/template/dist/client/assets/{_lang.docs-Cp3wmc9k.js → _lang.docs-CUh3R7DD.js} +1 -1
  93. package/template/dist/client/assets/{_lang.docs._-0bwIpeOn.js → _lang.docs._-DlgTPy3s.js} +1 -1
  94. package/template/dist/client/assets/_lang.docs._-DmaQE7lx.js +1 -0
  95. package/template/dist/client/assets/_lang.docs.framework._framework._-B4C4uDFp.js +1 -0
  96. package/template/dist/client/assets/{_lang.docs.framework._framework.index-BLgwIvQA.js → _lang.docs.framework._framework.index-DTg6Xd3p.js} +1 -1
  97. package/template/dist/client/assets/{_lang.docs.framework.index-CzW7Dul3.js → _lang.docs.framework.index-BQ2enasl.js} +1 -1
  98. package/template/dist/client/assets/{arc-B4lRpBfi.js → arc-DGPgC_QF.js} +1 -1
  99. package/template/dist/client/assets/{architectureDiagram-2XIMDMQ5-Coq1Gceq.js → architectureDiagram-2XIMDMQ5-yI53_GAi.js} +1 -1
  100. package/template/dist/client/assets/{blockDiagram-WCTKOSBZ-C7BGTzDN.js → blockDiagram-WCTKOSBZ-C3tr24zy.js} +1 -1
  101. package/template/dist/client/assets/{c4Diagram-IC4MRINW-xTBVTs0q.js → c4Diagram-IC4MRINW-DOA-mowm.js} +1 -1
  102. package/template/dist/client/assets/channel-DzZD7dUQ.js +1 -0
  103. package/template/dist/client/assets/{chunk-4BX2VUAB-DUUHBu75.js → chunk-4BX2VUAB-B6NSnNJJ.js} +1 -1
  104. package/template/dist/client/assets/{chunk-55IACEB6-MUxF_n9_.js → chunk-55IACEB6-CWYwArBH.js} +1 -1
  105. package/template/dist/client/assets/{chunk-FMBD7UC4-BWh6wvYo.js → chunk-FMBD7UC4-DSyn2wIW.js} +1 -1
  106. package/template/dist/client/assets/{chunk-JSJVCQXG-CLUdUV5u.js → chunk-JSJVCQXG-D83nm5W0.js} +1 -1
  107. package/template/dist/client/assets/{chunk-KX2RTZJC-CAlz_cXA.js → chunk-KX2RTZJC-DD7fN9e9.js} +1 -1
  108. package/template/dist/client/assets/{chunk-NQ4KR5QH-BaYKfUVy.js → chunk-NQ4KR5QH-C3YlYiU5.js} +1 -1
  109. package/template/dist/client/assets/{chunk-QZHKN3VN-NxDloxi5.js → chunk-QZHKN3VN-B7wBEuCG.js} +1 -1
  110. package/template/dist/client/assets/{chunk-WL4C6EOR-C2Ncbi5S.js → chunk-WL4C6EOR-ByA1FloT.js} +1 -1
  111. package/template/dist/client/assets/classDiagram-VBA2DB6C-CRozKaUD.js +1 -0
  112. package/template/dist/client/assets/classDiagram-v2-RAHNMMFH-CRozKaUD.js +1 -0
  113. package/template/dist/client/assets/clone-CGnOEl4E.js +1 -0
  114. package/template/dist/client/assets/{cose-bilkent-S5V4N54A-Ct9-ZJcv.js → cose-bilkent-S5V4N54A-nt_sXfWc.js} +1 -1
  115. package/template/dist/client/assets/{dagre-KLK3FWXG-u9dz8dcq.js → dagre-KLK3FWXG-DUsyMTPd.js} +1 -1
  116. package/template/dist/client/assets/{diagram-E7M64L7V-BXmcaktT.js → diagram-E7M64L7V-D5SAypX0.js} +1 -1
  117. package/template/dist/client/assets/{diagram-IFDJBPK2-CRlP5SeV.js → diagram-IFDJBPK2-WhP5c8Vz.js} +1 -1
  118. package/template/dist/client/assets/{diagram-P4PSJMXO-B9rJcj_H.js → diagram-P4PSJMXO-AMrwIlhf.js} +1 -1
  119. package/template/dist/client/assets/{erDiagram-INFDFZHY-DX-vee6w.js → erDiagram-INFDFZHY-BxifSpCV.js} +1 -1
  120. package/template/dist/client/assets/{flowDiagram-PKNHOUZH-CoBCSOFc.js → flowDiagram-PKNHOUZH-BMAowE9I.js} +1 -1
  121. package/template/dist/client/assets/{ganttDiagram-A5KZAMGK-BlqU_ghi.js → ganttDiagram-A5KZAMGK-Bay-0iRq.js} +1 -1
  122. package/template/dist/client/assets/{gitGraphDiagram-K3NZZRJ6-CntCsuti.js → gitGraphDiagram-K3NZZRJ6-Va91W3gw.js} +1 -1
  123. package/template/dist/client/assets/{graph-CZaxZzO8.js → graph-CbBYObK_.js} +1 -1
  124. package/template/dist/client/assets/{index-XelhTkgl.js → index-CF6qz2tX.js} +1 -1
  125. package/template/dist/client/assets/{infoDiagram-LFFYTUFH-_jCC8Jtt.js → infoDiagram-LFFYTUFH-Byd5C-4U.js} +1 -1
  126. package/template/dist/client/assets/{ishikawaDiagram-PHBUUO56-D3m_r2ig.js → ishikawaDiagram-PHBUUO56-DxOKnE1v.js} +1 -1
  127. package/template/dist/client/assets/{journeyDiagram-4ABVD52K-CvRNm03C.js → journeyDiagram-4ABVD52K-IRmt7RI4.js} +1 -1
  128. package/template/dist/client/assets/{kanban-definition-K7BYSVSG-nQcLuNSy.js → kanban-definition-K7BYSVSG-BjTVXn-R.js} +1 -1
  129. package/template/dist/client/assets/{layout-DZIdDq97.js → layout-Bbx6A0bC.js} +1 -1
  130. package/template/dist/client/assets/{linear-C2JcF5ss.js → linear-Df2eAW4A.js} +1 -1
  131. package/template/dist/client/assets/{main-C8MldI1o.js → main-DqZtiCro.js} +2 -2
  132. package/template/dist/client/assets/{mermaid.core-DlB0QBo2.js → mermaid.core-BIoiBcAA.js} +4 -4
  133. package/template/dist/client/assets/{mindmap-definition-YRQLILUH-D9OjtrBW.js → mindmap-definition-YRQLILUH-Btzz0iIP.js} +1 -1
  134. package/template/dist/client/assets/ordinal-Cboi1Yqb.js +1 -0
  135. package/template/dist/client/assets/{pieDiagram-SKSYHLDU-DoYJZfNJ.js → pieDiagram-SKSYHLDU-C2amrGtU.js} +1 -1
  136. package/template/dist/client/assets/{quadrantDiagram-337W2JSQ-Bs71YHJr.js → quadrantDiagram-337W2JSQ-EVgH9VuN.js} +1 -1
  137. package/template/dist/client/assets/{react-C0klD_r9.js → react-qvbbiZob.js} +1 -1
  138. package/template/dist/client/assets/{requirementDiagram-Z7DCOOCP-BWvQcALn.js → requirementDiagram-Z7DCOOCP-BkYPbRis.js} +1 -1
  139. package/template/dist/client/assets/{sankeyDiagram-WA2Y5GQK-CiGy1SQP.js → sankeyDiagram-WA2Y5GQK-B5EIaP-h.js} +1 -1
  140. package/template/dist/client/assets/{sequenceDiagram-2WXFIKYE-DRZim8vR.js → sequenceDiagram-2WXFIKYE-BC33VGOc.js} +1 -1
  141. package/template/dist/client/assets/{stateDiagram-RAJIS63D-BoqzJeL7.js → stateDiagram-RAJIS63D-DiKvWUYb.js} +1 -1
  142. package/template/dist/client/assets/stateDiagram-v2-FVOUBMTO-DjKMPYGe.js +1 -0
  143. package/template/dist/client/assets/{timeline-definition-YZTLITO2-CyvR95Wz.js → timeline-definition-YZTLITO2-QiFlgbRA.js} +1 -1
  144. package/template/dist/client/assets/{treemap-KZPCXAKY-DkXgGvs_.js → treemap-KZPCXAKY-BOYbyS9G.js} +1 -1
  145. package/template/dist/client/assets/{vennDiagram-LZ73GAT5-CVpGZu6p.js → vennDiagram-LZ73GAT5-CqmW7j4r.js} +1 -1
  146. package/template/dist/client/assets/{xychartDiagram-JWTSCODW-Cjqbi_DU.js → xychartDiagram-JWTSCODW-gj6oWX8l.js} +1 -1
  147. package/template/dist/server/assets/{Doc-DKBxQduk.js → Doc-9tJiX5y6.js} +3 -3
  148. package/template/dist/server/assets/{DocsLayout-CQfCTal3.js → DocsLayout-BTjhU_W5.js} +2 -2
  149. package/template/dist/server/assets/{Footer-Dcw5XVqX.js → Footer-CefTi2yh.js} +1 -1
  150. package/template/dist/server/assets/{FrameworkContent-OJfvCBHi.js → FrameworkContent-BkJvuP04.js} +2 -2
  151. package/template/dist/server/assets/{MarkdownHeadingContext-h4SfZq-C.js → MarkdownHeadingContext-37oQpb36.js} +8 -4
  152. package/template/dist/server/assets/{PostNotFound-DRJpnWrj.js → PostNotFound-BqBZf83v.js} +1 -1
  153. package/template/dist/server/assets/{_basePickBy-DJ9gzwF8.js → _basePickBy-DZ3TPUta.js} +2 -2
  154. package/template/dist/server/assets/{_baseUniq-CezmbvU2.js → _baseUniq-DKicWTQT.js} +1 -1
  155. package/template/dist/server/assets/{_lang._project._version.docs-CE_Z2zvG.js → _lang._project._version.docs-DOTNQiDb.js} +1 -1
  156. package/template/dist/server/assets/{_lang._project._version.docs-sJvASz_e.js → _lang._project._version.docs-U-t4mk5_.js} +3 -3
  157. package/template/dist/server/assets/{_lang._project._version.docs._-B2vf_QGY.js → _lang._project._version.docs._-DMgnElWM.js} +5 -5
  158. package/template/dist/server/assets/{_lang._project._version.docs._-CQcamDns.js → _lang._project._version.docs._-DSg82-Ug.js} +1 -1
  159. package/template/dist/server/assets/{_lang._project._version.docs.framework._framework._-54LEIllb.js → _lang._project._version.docs.framework._framework._-DbeN6toN.js} +1 -1
  160. package/template/dist/server/assets/{_lang._project._version.docs.framework._framework._-Dmn8xCf0.js → _lang._project._version.docs.framework._framework._-kBw_9L-F.js} +5 -5
  161. package/template/dist/server/assets/{_lang._project._version.docs.framework._framework.index-COKb9ffR.js → _lang._project._version.docs.framework._framework.index-Bsyj0DD5.js} +1 -1
  162. package/template/dist/server/assets/{_lang._project._version.docs.framework.index-DoEddI6Z.js → _lang._project._version.docs.framework.index-CmLAP_Io.js} +1 -1
  163. package/template/dist/server/assets/{_lang._project.docs-BjOhmwp6.js → _lang._project.docs-Bb4ZZ_jr.js} +3 -3
  164. package/template/dist/server/assets/{_lang._project.docs-dl8MxaGg.js → _lang._project.docs-BsnkRf-R.js} +1 -1
  165. package/template/dist/server/assets/{_lang._project.docs._-hSRVM-U7.js → _lang._project.docs._-ChrpJ61j.js} +5 -5
  166. package/template/dist/server/assets/{_lang._project.docs._-Bq0ajlaH.js → _lang._project.docs._-axRfm8vS.js} +1 -1
  167. package/template/dist/server/assets/{_lang.blog-Dk36D6Ol.js → _lang.blog-8j6IvzvQ.js} +2 -2
  168. package/template/dist/server/assets/{_lang.blog._-Cm8zXsPs.js → _lang.blog._-BPzP97Ac.js} +2 -2
  169. package/template/dist/server/assets/{_lang.blog._-D4CEjSkM.js → _lang.blog._-CjgFipz7.js} +1 -1
  170. package/template/dist/server/assets/{_lang.blog.index-orWcAgbi.js → _lang.blog._-DNX8UglA.js} +2 -2
  171. package/template/dist/server/assets/{_lang.blog.index-ZhMds6Jp.js → _lang.blog.index-CeZnMJBi.js} +1 -1
  172. package/template/dist/server/assets/{_lang.blog.index-Dfy48Gbt.js → _lang.blog.index-Dk5fYp4Q.js} +1 -1
  173. package/template/dist/server/assets/{_lang.blog._-A8h17fpC.js → _lang.blog.index-DzVKqoC4.js} +2 -2
  174. package/template/dist/server/assets/{_lang.docs-CAEkhcnT.js → _lang.docs-B4StnHMb.js} +3 -3
  175. package/template/dist/server/assets/{_lang.docs-CB1sGjRO.js → _lang.docs-DSB3iI6a.js} +1 -1
  176. package/template/dist/server/assets/{_lang.docs._-Zbv8OwJU.js → _lang.docs._--c0In1AT.js} +5 -5
  177. package/template/dist/server/assets/{_lang.docs._-DEX6FutM.js → _lang.docs._-S-y4-3Qn.js} +1 -1
  178. package/template/dist/server/assets/{_lang.docs.framework._framework._-BnpTV3KM.js → _lang.docs.framework._framework._-BFWLyU2h.js} +1 -1
  179. package/template/dist/server/assets/{_lang.docs.framework._framework._-4s4-ZCYh.js → _lang.docs.framework._framework._-Be0U7cDg.js} +5 -5
  180. package/template/dist/server/assets/{_lang.docs.framework._framework.index-BLryfsl2.js → _lang.docs.framework._framework.index-BZ512aSk.js} +1 -1
  181. package/template/dist/server/assets/{_lang.docs.framework.index-DGxWQH6q.js → _lang.docs.framework.index-U8z3j4kz.js} +1 -1
  182. package/template/dist/server/assets/{_tanstack-start-manifest_v-CURwM8Tc.js → _tanstack-start-manifest_v-DXpQ8503.js} +1 -1
  183. package/template/dist/server/assets/{arc-BwftnT5H.js → arc-B4h6h_n6.js} +1 -1
  184. package/template/dist/server/assets/{architecture-PBZL5I3N-KbDVC6gM.js → architecture-PBZL5I3N-CUwqLXkR.js} +6 -6
  185. package/template/dist/server/assets/{architectureDiagram-2XIMDMQ5-BoLvWxb3.js → architectureDiagram-2XIMDMQ5-CuCoxdBe.js} +6 -6
  186. package/template/dist/server/assets/{blockDiagram-WCTKOSBZ-GPFcXs-f.js → blockDiagram-WCTKOSBZ-D5PsUOim.js} +6 -6
  187. package/template/dist/server/assets/{blog.server-Bbk2Ifog.js → blog.server-WqzZ00iA.js} +1 -1
  188. package/template/dist/server/assets/{c4Diagram-IC4MRINW-EQwQCspo.js → c4Diagram-IC4MRINW-CXy5xO3o.js} +2 -2
  189. package/template/dist/server/assets/{channel-CxvwuPH7.js → channel-D0l-mWaF.js} +1 -1
  190. package/template/dist/server/assets/{chunk-4BX2VUAB-DUgcw5ei.js → chunk-4BX2VUAB-M7FVHMss.js} +1 -1
  191. package/template/dist/server/assets/{chunk-55IACEB6-Cn15uD91.js → chunk-55IACEB6-D_gDAje5.js} +1 -1
  192. package/template/dist/server/assets/{chunk-FMBD7UC4-Ck3iyLPu.js → chunk-FMBD7UC4-B5Bebx-Y.js} +1 -1
  193. package/template/dist/server/assets/{chunk-JSJVCQXG-VAT8yncE.js → chunk-JSJVCQXG-DxBkq-uB.js} +1 -1
  194. package/template/dist/server/assets/{chunk-KX2RTZJC-B1bd2VmA.js → chunk-KX2RTZJC-BMHm1EGi.js} +1 -1
  195. package/template/dist/server/assets/{chunk-NQ4KR5QH-CR67GG9C.js → chunk-NQ4KR5QH-Cp28pTwT.js} +3 -3
  196. package/template/dist/server/assets/{chunk-QZHKN3VN-B9SSazM4.js → chunk-QZHKN3VN-Bq5GZqaR.js} +1 -1
  197. package/template/dist/server/assets/{chunk-WL4C6EOR-DZ4Pjuao.js → chunk-WL4C6EOR-C9Nj5GdW.js} +5 -5
  198. package/template/dist/server/assets/{classDiagram-VBA2DB6C-CA6_4Wb2.js → classDiagram-VBA2DB6C-CUchv9T5.js} +6 -6
  199. package/template/dist/server/assets/{classDiagram-v2-RAHNMMFH-CA6_4Wb2.js → classDiagram-v2-RAHNMMFH-CUchv9T5.js} +6 -6
  200. package/template/dist/server/assets/{clone-DJHP_iVy.js → clone-CJcTi58S.js} +1 -1
  201. package/template/dist/server/assets/{cose-bilkent-S5V4N54A-DtU-cN6W.js → cose-bilkent-S5V4N54A-CxvCMhN_.js} +1 -1
  202. package/template/dist/server/assets/{dagre-KLK3FWXG-yZYrVU4p.js → dagre-KLK3FWXG-B5bQP7FL.js} +6 -6
  203. package/template/dist/server/assets/{diagram-E7M64L7V-8Yyz0aw0.js → diagram-E7M64L7V-NjHca90S.js} +8 -8
  204. package/template/dist/server/assets/{diagram-IFDJBPK2-DcxFYI3M.js → diagram-IFDJBPK2-CoTCfBKd.js} +6 -6
  205. package/template/dist/server/assets/{diagram-P4PSJMXO-CehxUcI0.js → diagram-P4PSJMXO-DHvGgYjH.js} +6 -6
  206. package/template/dist/server/assets/{docs.server-7EUAkSBN.js → docs.server-BSH7IvIU.js} +3884 -444
  207. package/template/dist/server/assets/{erDiagram-INFDFZHY-Bu2p1_Pj.js → erDiagram-INFDFZHY-01crajKr.js} +4 -4
  208. package/template/dist/server/assets/{flowDiagram-PKNHOUZH-B_eKR7I0.js → flowDiagram-PKNHOUZH-BkUQ_vxg.js} +6 -6
  209. package/template/dist/server/assets/{ganttDiagram-A5KZAMGK-DP6YEZof.js → ganttDiagram-A5KZAMGK-DvrO-w2P.js} +2 -2
  210. package/template/dist/server/assets/{gitGraph-HDMCJU4V-Bt0qhVL4.js → gitGraph-HDMCJU4V-h9JNaxB7.js} +6 -6
  211. package/template/dist/server/assets/{gitGraphDiagram-K3NZZRJ6-DwvkdYrg.js → gitGraphDiagram-K3NZZRJ6-BoKm6Fm-.js} +7 -7
  212. package/template/dist/server/assets/{graph-BVFNe_k5.js → graph-BoxbfI7Z.js} +2 -2
  213. package/template/dist/server/assets/{index-BvagF3L5.js → index-Jfzi6SZW.js} +2 -2
  214. package/template/dist/server/assets/{info-3K5VOQVL-CFejRnvB.js → info-3K5VOQVL-DgaSHqkS.js} +6 -6
  215. package/template/dist/server/assets/{infoDiagram-LFFYTUFH-D0v9uyXI.js → infoDiagram-LFFYTUFH-DgV5W8-I.js} +5 -5
  216. package/template/dist/server/assets/{ishikawaDiagram-PHBUUO56-DZumspL4.js → ishikawaDiagram-PHBUUO56-CqlMQ0Fq.js} +1 -1
  217. package/template/dist/server/assets/{journeyDiagram-4ABVD52K-nRp_-qZp.js → journeyDiagram-4ABVD52K-D6ySTub8.js} +4 -4
  218. package/template/dist/server/assets/{kanban-definition-K7BYSVSG-BMKyyzjt.js → kanban-definition-K7BYSVSG-BT8m7Cwk.js} +2 -2
  219. package/template/dist/server/assets/{layout-mpiN5R-5.js → layout-CkYcErfn.js} +4 -4
  220. package/template/dist/server/assets/{linear-CqNYgjEx.js → linear-F_0dWGZL.js} +1 -1
  221. package/template/dist/server/assets/{mermaid-parser.core-B8Uu3QZY.js → mermaid-parser.core-q5MdUJuo.js} +11 -11
  222. package/template/dist/server/assets/{mermaid.core-BI3nMhNO.js → mermaid.core-DOWTODR1.js} +31 -31
  223. package/template/dist/server/assets/{mindmap-definition-YRQLILUH-DCoFqLPh.js → mindmap-definition-YRQLILUH-BQxlQqn-.js} +3 -3
  224. package/template/dist/server/assets/{ordinal-Bcam90FY.js → ordinal-CxptdPJm.js} +1 -1
  225. package/template/dist/server/assets/{packet-RMMSAZCW-djgonfKN.js → packet-RMMSAZCW-D8FkLZuP.js} +6 -6
  226. package/template/dist/server/assets/{pie-UPGHQEXC-Dug2t-PE.js → pie-UPGHQEXC-Diw2fHLk.js} +6 -6
  227. package/template/dist/server/assets/{pieDiagram-SKSYHLDU-CS0_hW4w.js → pieDiagram-SKSYHLDU-B1J4UJZ7.js} +8 -8
  228. package/template/dist/server/assets/{quadrantDiagram-337W2JSQ-BpQNM0zu.js → quadrantDiagram-337W2JSQ-BvjKLapg.js} +2 -2
  229. package/template/dist/server/assets/{radar-KQ55EAFF-3ir2W9Wi.js → radar-KQ55EAFF-CcBdPU3n.js} +6 -6
  230. package/template/dist/server/assets/{requirementDiagram-Z7DCOOCP-D92RyjV4.js → requirementDiagram-Z7DCOOCP-Bgr_wnAs.js} +3 -3
  231. package/template/dist/server/assets/{router-DK1vpPhv.js → router-DxwPl-Dc.js} +18 -18
  232. package/template/dist/server/assets/{sankeyDiagram-WA2Y5GQK-DCPRB-xO.js → sankeyDiagram-WA2Y5GQK-B0UwtyW3.js} +2 -2
  233. package/template/dist/server/assets/{sequenceDiagram-2WXFIKYE-C1ab2VvU.js → sequenceDiagram-2WXFIKYE-BbxQJHjO.js} +3 -3
  234. package/template/dist/server/assets/{stateDiagram-RAJIS63D-GhG1G3ff.js → stateDiagram-RAJIS63D-Cg-uJ_UO.js} +8 -8
  235. package/template/dist/server/assets/{stateDiagram-v2-FVOUBMTO-C-KtMadV.js → stateDiagram-v2-FVOUBMTO-BWVPrqfa.js} +4 -4
  236. package/template/dist/server/assets/{timeline-definition-YZTLITO2-DyfAQCd4.js → timeline-definition-YZTLITO2-DCSJT2WT.js} +2 -2
  237. package/template/dist/server/assets/{treemap-KZPCXAKY-Cn0Cw4Cl.js → treemap-KZPCXAKY-a0nhlKgx.js} +6 -6
  238. package/template/dist/server/assets/{vennDiagram-LZ73GAT5-D2Ak5JUa.js → vennDiagram-LZ73GAT5-Bk2HQEQq.js} +1 -1
  239. package/template/dist/server/assets/{xychartDiagram-JWTSCODW-DqoBOs1L.js → xychartDiagram-JWTSCODW-C4svHkt_.js} +3 -3
  240. package/template/dist/server/server.js +16 -16
  241. package/template/package.json +2 -0
  242. package/template/vite.config.ts +33 -18
  243. package/template/wrangler.jsonc +2 -2
  244. package/admin/dist/client/assets/main-CSFhgz4p.js +0 -17
  245. package/admin/dist/client/assets/routes-C6bCOSX-.js +0 -3
  246. package/admin/dist/server/assets/_tanstack-start-manifest_v-BE5XHVZ2.js +0 -17
  247. package/admin/dist/server/assets/redirect-DtfSYi2g.js +0 -51
  248. package/admin/dist/server/assets/status-CZz8Rs_7.js +0 -81
  249. package/template/dist/client/assets/_lang-Cpuy5xmU.js +0 -1
  250. package/template/dist/client/assets/_lang._project-DBdR04In.js +0 -1
  251. package/template/dist/client/assets/_lang._project._version-CtCLMJs2.js +0 -1
  252. package/template/dist/client/assets/_lang._project._version.docs._-CxgRZ17Q.js +0 -1
  253. package/template/dist/client/assets/_lang._project._version.docs.framework._framework._-Qph6wahA.js +0 -1
  254. package/template/dist/client/assets/_lang._project.docs._-C_ZfXEJ7.js +0 -1
  255. package/template/dist/client/assets/_lang.blog-BcRmhv23.js +0 -1
  256. package/template/dist/client/assets/_lang.blog-C5Aa7k5r.js +0 -1
  257. package/template/dist/client/assets/_lang.blog._-BVw4vhtF.js +0 -1
  258. package/template/dist/client/assets/_lang.blog.index-Y35iFzkp.js +0 -1
  259. package/template/dist/client/assets/_lang.docs._-B9hwwoTY.js +0 -1
  260. package/template/dist/client/assets/_lang.docs.framework._framework._-BENbKZIu.js +0 -1
  261. package/template/dist/client/assets/channel-C_1F7tzH.js +0 -1
  262. package/template/dist/client/assets/classDiagram-VBA2DB6C-CqViWWFw.js +0 -1
  263. package/template/dist/client/assets/classDiagram-v2-RAHNMMFH-CqViWWFw.js +0 -1
  264. package/template/dist/client/assets/clone-EeiNAO_N.js +0 -1
  265. package/template/dist/client/assets/ordinal-BENe2yWM.js +0 -1
  266. package/template/dist/client/assets/stateDiagram-v2-FVOUBMTO-CJYWvllO.js +0 -1
  267. /package/admin/dist/server/assets/{createServerRpc-DJq9yo-B.js → createServerRpc-Cyyxq9HQ.js} +0 -0
@@ -0,0 +1,162 @@
1
+ import { i as parseMdx, r as flattenSources, t as TranslationCache } from "./dist-DBv71kqn.js";
2
+ import { existsSync, readFileSync, readdirSync } from "node:fs";
3
+ import { join, resolve } from "node:path";
4
+ //#region server/services/status.ts
5
+ var _config;
6
+ var _cache = null;
7
+ var _projectRoot = process.cwd();
8
+ function initStatus(config) {
9
+ _config = config;
10
+ _cache = null;
11
+ _projectRoot = process.env.DOCS_I18N_PROJECT_ROOT || process.cwd();
12
+ }
13
+ function getVersions() {
14
+ return flattenSources(_config).map((s) => s.versionKey);
15
+ }
16
+ function getLangs() {
17
+ return _config.languages;
18
+ }
19
+ function getCache() {
20
+ if (!_cache) _cache = new TranslationCache(resolve(_projectRoot, _config.cacheDir ?? ".cache"));
21
+ return _cache;
22
+ }
23
+ function getSourcePath(versionKey) {
24
+ const source = flattenSources(_config).find((s) => s.versionKey === versionKey);
25
+ return source ? resolve(_projectRoot, source.sourcePath) : null;
26
+ }
27
+ function walkFiles(dir) {
28
+ const results = [];
29
+ if (!existsSync(dir)) return results;
30
+ const exts = (_config.include ?? ["**/*.mdx", "**/*.md"]).map((p) => p.replace("**/*", ""));
31
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
32
+ const fullPath = join(dir, entry.name);
33
+ if (entry.isDirectory()) results.push(...walkFiles(fullPath));
34
+ else if (exts.some((ext) => entry.name.endsWith(ext))) results.push(fullPath);
35
+ }
36
+ return results;
37
+ }
38
+ function ensureScanned(version) {
39
+ const cache = getCache();
40
+ const enDir = getSourcePath(version);
41
+ if (!enDir || !existsSync(enDir)) return;
42
+ const files = walkFiles(enDir);
43
+ if (cache.sourceCount(version) >= files.length) return;
44
+ cache.clearSources("", version);
45
+ for (const file of files) {
46
+ const relPath = file.slice(enDir.length + 1);
47
+ const content = readFileSync(file, "utf8");
48
+ const nodes = parseMdx(content);
49
+ for (const node of nodes) if (node.needsTranslation && node.md5) {
50
+ const line = content.substring(0, node.startOffset).split("\n").length;
51
+ cache.setSource(node.md5, node.rawText, node.type);
52
+ cache.updateSource("", node.md5, relPath, line, version);
53
+ }
54
+ }
55
+ }
56
+ function rescan(version) {
57
+ const cache = getCache();
58
+ const enDir = getSourcePath(version);
59
+ if (!enDir || !existsSync(enDir)) return 0;
60
+ const files = walkFiles(enDir);
61
+ cache.clearSources("", version);
62
+ for (const file of files) {
63
+ const relPath = file.slice(enDir.length + 1);
64
+ const content = readFileSync(file, "utf8");
65
+ const nodes = parseMdx(content);
66
+ for (const node of nodes) if (node.needsTranslation && node.md5) {
67
+ const line = content.substring(0, node.startOffset).split("\n").length;
68
+ cache.setSource(node.md5, node.rawText, node.type);
69
+ cache.updateSource("", node.md5, relPath, line, version);
70
+ }
71
+ }
72
+ return files.length;
73
+ }
74
+ function getOverview() {
75
+ const cache = getCache();
76
+ const versions = getVersions();
77
+ const langs = getLangs();
78
+ const result = {};
79
+ for (const version of versions) {
80
+ ensureScanned(version);
81
+ const enDir = getSourcePath(version);
82
+ const enFileCount = enDir && existsSync(enDir) ? walkFiles(enDir).length : 0;
83
+ const langStats = {};
84
+ for (const lang of langs) {
85
+ const sections = cache.sectionStats(version, lang);
86
+ let totalFiles = 0, translatedFiles = 0, totalNodes = 0, translatedNodes = 0;
87
+ const sectionMap = {};
88
+ for (const s of sections) {
89
+ sectionMap[s.section] = s;
90
+ totalFiles += s.totalFiles;
91
+ translatedFiles += s.translatedFiles;
92
+ totalNodes += s.totalNodes;
93
+ translatedNodes += s.translatedNodes;
94
+ }
95
+ langStats[lang] = {
96
+ sections: sectionMap,
97
+ totalFiles,
98
+ translatedFiles,
99
+ totalNodes,
100
+ translatedNodes
101
+ };
102
+ }
103
+ result[version] = {
104
+ enFileCount,
105
+ langs: langStats
106
+ };
107
+ }
108
+ return result;
109
+ }
110
+ function getFileCoverage(version, lang) {
111
+ ensureScanned(version);
112
+ return getCache().fileCoverage(version, lang);
113
+ }
114
+ function getFileBlocks(version, lang, file) {
115
+ const enDir = getSourcePath(version);
116
+ if (!enDir) return null;
117
+ const enPath = join(enDir, file);
118
+ if (!existsSync(enPath)) return null;
119
+ const cache = getCache();
120
+ const content = readFileSync(enPath, "utf8");
121
+ const nodes = parseMdx(content);
122
+ const blocks = [];
123
+ let lastEnd = 0;
124
+ for (const node of nodes) {
125
+ if (node.startOffset > lastEnd) {
126
+ const gap = content.substring(lastEnd, node.startOffset);
127
+ blocks.push({
128
+ md5: null,
129
+ type: "gap",
130
+ source: gap,
131
+ translation: null
132
+ });
133
+ }
134
+ if (node.needsTranslation && node.md5) {
135
+ const translation = lang === "en" ? null : cache.get(lang, node.md5) ?? null;
136
+ blocks.push({
137
+ md5: node.md5,
138
+ type: node.type,
139
+ source: node.rawText,
140
+ translation
141
+ });
142
+ } else blocks.push({
143
+ md5: null,
144
+ type: node.type,
145
+ source: node.rawText,
146
+ translation: null
147
+ });
148
+ lastEnd = node.endOffset;
149
+ }
150
+ if (lastEnd < content.length) {
151
+ const tail = content.substring(lastEnd);
152
+ if (tail.trim()) blocks.push({
153
+ md5: null,
154
+ type: "gap",
155
+ source: tail,
156
+ translation: null
157
+ });
158
+ }
159
+ return blocks;
160
+ }
161
+ //#endregion
162
+ export { getCache, getFileBlocks, getFileCoverage, getLangs, getOverview, getVersions, initStatus, rescan };
@@ -0,0 +1,262 @@
1
+ import { t as createServerFn } from "../server.js";
2
+ import { t as createServerRpc } from "./createServerRpc-Cyyxq9HQ.js";
3
+ import { getCache, getFileBlocks, getFileCoverage, getLangs, getOverview, getVersions, rescan } from "./status-B1AGLvHn.js";
4
+ import { ensureInit } from "./init-CJJUsPDL.js";
5
+ //#region server/services/d1-status.ts
6
+ /**
7
+ * D1-backed status service for CF Workers deployment.
8
+ *
9
+ * Queries the same sources/source_files/translations tables as the local
10
+ * TranslationCache, but via D1 instead of better-sqlite3.
11
+ *
12
+ * This is read-only — the admin dashboard on CF Workers can view
13
+ * translation status but cannot run translate jobs or modify the cache.
14
+ */
15
+ function getD1() {
16
+ try {
17
+ return globalThis.__D1_DB ?? null;
18
+ } catch {
19
+ return null;
20
+ }
21
+ }
22
+ function requireD1() {
23
+ const db = getD1();
24
+ if (!db) throw new Error("D1 database not available");
25
+ return db;
26
+ }
27
+ async function d1GetVersions() {
28
+ return (await requireD1().prepare("SELECT DISTINCT version FROM source_files ORDER BY version").all()).results.map((r) => r.version);
29
+ }
30
+ async function d1GetLangs() {
31
+ return (await requireD1().prepare("SELECT DISTINCT lang FROM translations ORDER BY lang").all()).results.map((r) => r.lang);
32
+ }
33
+ async function d1SectionStats(version, lang) {
34
+ return (await requireD1().prepare(`
35
+ WITH file_coverage AS (
36
+ SELECT
37
+ sf.file,
38
+ CASE
39
+ WHEN sf.file LIKE 'docs/%' THEN 'docs'
40
+ WHEN sf.file LIKE 'blog/%' THEN 'blog'
41
+ WHEN sf.file LIKE 'learn/%' THEN 'learn'
42
+ ELSE 'other'
43
+ END as section,
44
+ COUNT(DISTINCT sf.key) as total_nodes,
45
+ COUNT(DISTINCT t.key) as translated_nodes
46
+ FROM source_files sf
47
+ LEFT JOIN translations t ON t.key = sf.key AND t.lang = ?
48
+ WHERE sf.version = ?
49
+ GROUP BY sf.file
50
+ )
51
+ SELECT
52
+ section,
53
+ COUNT(*) as totalFiles,
54
+ SUM(CASE WHEN translated_nodes = total_nodes THEN 1 ELSE 0 END) as translatedFiles,
55
+ SUM(total_nodes) as totalNodes,
56
+ SUM(translated_nodes) as translatedNodes
57
+ FROM file_coverage
58
+ GROUP BY section
59
+ ORDER BY section
60
+ `).bind(lang, version).all()).results;
61
+ }
62
+ async function d1FileCoverage(version, lang) {
63
+ return (await requireD1().prepare(`
64
+ SELECT
65
+ sf.file,
66
+ COUNT(DISTINCT sf.key) as total,
67
+ COUNT(DISTINCT t.key) as translated
68
+ FROM source_files sf
69
+ LEFT JOIN translations t ON t.key = sf.key AND t.lang = ?
70
+ WHERE sf.version = ?
71
+ GROUP BY sf.file
72
+ ORDER BY sf.file
73
+ `).bind(lang, version).all()).results;
74
+ }
75
+ async function d1FileDetail(version, lang, file) {
76
+ return (await requireD1().prepare(`
77
+ SELECT
78
+ s.key,
79
+ s.text as source,
80
+ s.type,
81
+ t.value as translation,
82
+ sf.line
83
+ FROM source_files sf
84
+ JOIN sources s ON s.key = sf.key
85
+ LEFT JOIN translations t ON t.key = sf.key AND t.lang = ?
86
+ WHERE sf.version = ? AND sf.file = ?
87
+ ORDER BY sf.line
88
+ `).bind(lang, version, file).all()).results;
89
+ }
90
+ async function d1DeleteTranslation(lang, key) {
91
+ return ((await requireD1().prepare("DELETE FROM translations WHERE lang = ? AND key = ?").bind(lang, key).run()).meta?.changes ?? 0) > 0;
92
+ }
93
+ async function d1GetOverview(versions, langs) {
94
+ const db = requireD1();
95
+ const result = {};
96
+ for (const version of versions) {
97
+ const enFileCount = (await db.prepare("SELECT COUNT(DISTINCT file) as count FROM source_files WHERE version = ?").bind(version).first())?.count ?? 0;
98
+ const langStats = {};
99
+ for (const lang of langs) {
100
+ const sections = await d1SectionStats(version, lang);
101
+ let totalFiles = 0, translatedFiles = 0, totalNodes = 0, translatedNodes = 0;
102
+ const sectionMap = {};
103
+ for (const s of sections) {
104
+ sectionMap[s.section] = s;
105
+ totalFiles += s.totalFiles;
106
+ translatedFiles += s.translatedFiles;
107
+ totalNodes += s.totalNodes;
108
+ translatedNodes += s.translatedNodes;
109
+ }
110
+ langStats[lang] = {
111
+ sections: sectionMap,
112
+ totalFiles,
113
+ translatedFiles,
114
+ totalNodes,
115
+ translatedNodes
116
+ };
117
+ }
118
+ result[version] = {
119
+ enFileCount,
120
+ langs: langStats
121
+ };
122
+ }
123
+ return result;
124
+ }
125
+ /**
126
+ * Get file blocks from D1 — returns source nodes with their translations,
127
+ * in line order. Note: without filesystem access, we can only return
128
+ * translatable blocks (no gap/whitespace blocks between them).
129
+ */
130
+ async function d1GetFileBlocks(version, lang, file) {
131
+ return (await d1FileDetail(version, lang, file)).map((row) => ({
132
+ md5: row.key,
133
+ type: row.type,
134
+ source: row.source,
135
+ translation: row.translation
136
+ }));
137
+ }
138
+ //#endregion
139
+ //#region server/functions/status.ts?tss-serverfn-split
140
+ function isCfWorkers() {
141
+ return !!globalThis.__CF_WORKERS;
142
+ }
143
+ var fetchStatus_createServerFn_handler = createServerRpc({
144
+ id: "4e218d79545765572808c7eab33b7663d4496209c15406d0b449366905b6b83f",
145
+ name: "fetchStatus",
146
+ filename: "server/functions/status.ts"
147
+ }, (opts) => fetchStatus.__executeServer(opts));
148
+ var fetchStatus = createServerFn({ method: "GET" }).handler(fetchStatus_createServerFn_handler, async () => {
149
+ if (isCfWorkers()) {
150
+ const versions = await d1GetVersions();
151
+ const langs = await d1GetLangs();
152
+ const data = await d1GetOverview(versions, langs);
153
+ return {
154
+ versions,
155
+ langs: ["en", ...langs],
156
+ data
157
+ };
158
+ }
159
+ await ensureInit();
160
+ return {
161
+ versions: getVersions(),
162
+ langs: ["en", ...getLangs()],
163
+ data: getOverview()
164
+ };
165
+ });
166
+ var fetchFileCoverage_createServerFn_handler = createServerRpc({
167
+ id: "843cd8b59095708a5ae78198708db9850f89fd3dd3830ab236f0bd924417692f",
168
+ name: "fetchFileCoverage",
169
+ filename: "server/functions/status.ts"
170
+ }, (opts) => fetchFileCoverage.__executeServer(opts));
171
+ var fetchFileCoverage = createServerFn({ method: "GET" }).inputValidator((d) => d).handler(fetchFileCoverage_createServerFn_handler, async ({ data }) => {
172
+ const { version, lang } = data;
173
+ if (isCfWorkers()) {
174
+ if (lang === "en") {
175
+ const anyLang = (await d1GetLangs())[0];
176
+ if (!anyLang) return [];
177
+ return (await d1FileCoverage(version, anyLang)).map((f) => ({
178
+ file: f.file,
179
+ total: f.total,
180
+ translated: f.total
181
+ }));
182
+ }
183
+ return d1FileCoverage(version, lang);
184
+ }
185
+ await ensureInit();
186
+ if (lang === "en") {
187
+ const anyLang = getLangs()[0];
188
+ return getFileCoverage(version, anyLang).map((f) => ({
189
+ file: f.file,
190
+ total: f.total,
191
+ translated: f.total
192
+ }));
193
+ }
194
+ return getFileCoverage(version, lang);
195
+ });
196
+ var fetchFileBlocks_createServerFn_handler = createServerRpc({
197
+ id: "e1e7281e45375c67dbe408c58452e7482b139da60e9e361615553227dce95ee0",
198
+ name: "fetchFileBlocks",
199
+ filename: "server/functions/status.ts"
200
+ }, (opts) => fetchFileBlocks.__executeServer(opts));
201
+ var fetchFileBlocks = createServerFn({ method: "GET" }).inputValidator((d) => d).handler(fetchFileBlocks_createServerFn_handler, async ({ data }) => {
202
+ const { version, lang, path } = data;
203
+ if (isCfWorkers()) {
204
+ const blocks = await d1GetFileBlocks(version, lang, path);
205
+ if (!blocks || blocks.length === 0) throw new Error("File not found");
206
+ return {
207
+ file: path,
208
+ lang,
209
+ version,
210
+ blocks
211
+ };
212
+ }
213
+ await ensureInit();
214
+ const blocks = getFileBlocks(version, lang, path);
215
+ if (!blocks) throw new Error("File not found");
216
+ return {
217
+ file: path,
218
+ lang,
219
+ version,
220
+ blocks
221
+ };
222
+ });
223
+ var deleteCacheEntry_createServerFn_handler = createServerRpc({
224
+ id: "e1d13d8602339a95f559345ccfc82e9f843dd375ce8e9f580637c241e7e44774",
225
+ name: "deleteCacheEntry",
226
+ filename: "server/functions/status.ts"
227
+ }, (opts) => deleteCacheEntry.__executeServer(opts));
228
+ var deleteCacheEntry = createServerFn({ method: "POST" }).inputValidator((d) => d).handler(deleteCacheEntry_createServerFn_handler, async ({ data }) => {
229
+ const { lang, key } = data;
230
+ if (isCfWorkers()) {
231
+ await d1DeleteTranslation(lang, key);
232
+ return {
233
+ deleted: key,
234
+ lang
235
+ };
236
+ }
237
+ await ensureInit();
238
+ getCache().db.prepare("DELETE FROM translations WHERE lang = ? AND key = ?").run(lang, key);
239
+ return {
240
+ deleted: key,
241
+ lang
242
+ };
243
+ });
244
+ var rescanVersion_createServerFn_handler = createServerRpc({
245
+ id: "1d8e3916f992485c62e62c3693083850b773fdff4ec54277de5a01eb98dab664",
246
+ name: "rescanVersion",
247
+ filename: "server/functions/status.ts"
248
+ }, (opts) => rescanVersion.__executeServer(opts));
249
+ var rescanVersion = createServerFn({ method: "POST" }).inputValidator((d) => d).handler(rescanVersion_createServerFn_handler, async ({ data }) => {
250
+ if (isCfWorkers()) return {
251
+ version: data.version,
252
+ files: 0
253
+ };
254
+ await ensureInit();
255
+ const count = rescan(data.version);
256
+ return {
257
+ version: data.version,
258
+ files: count
259
+ };
260
+ });
261
+ //#endregion
262
+ export { deleteCacheEntry_createServerFn_handler, fetchFileBlocks_createServerFn_handler, fetchFileCoverage_createServerFn_handler, fetchStatus_createServerFn_handler, rescanVersion_createServerFn_handler };
@@ -0,0 +1,6 @@
1
+ //#region ../../node_modules/.bun/@better-auth+core@1.5.6+b884d6c866886bb4/node_modules/@better-auth/core/dist/utils/string.mjs
2
+ function capitalizeFirstLetter(str) {
3
+ return str.charAt(0).toUpperCase() + str.slice(1);
4
+ }
5
+ //#endregion
6
+ export { capitalizeFirstLetter as t };
@@ -0,0 +1,29 @@
1
+ import { i as __toESM } from "./chunk-CNvmzFzq.js";
2
+ import { l as require_react, t as useRouter } from "./useRouter-BXJvr8to.js";
3
+ //#region ../../node_modules/.bun/@tanstack+react-router@1.168.3+bf16f8eded5e12ee/node_modules/@tanstack/react-router/dist/esm/useNavigate.js
4
+ var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
5
+ /**
6
+ * Imperative navigation hook.
7
+ *
8
+ * Returns a stable `navigate(options)` function to change the current location
9
+ * programmatically. Prefer the `Link` component for user-initiated navigation,
10
+ * and use this hook from effects, callbacks, or handlers where imperative
11
+ * navigation is required.
12
+ *
13
+ * Options:
14
+ * - `from`: Optional route base used to resolve relative `to` paths.
15
+ *
16
+ * @returns A function that accepts `NavigateOptions`.
17
+ * @link https://tanstack.com/router/latest/docs/framework/react/api/router/useNavigateHook
18
+ */
19
+ function useNavigate(_defaultOpts) {
20
+ const router = useRouter();
21
+ return import_react.useCallback((options) => {
22
+ return router.navigate({
23
+ ...options,
24
+ from: options.from ?? _defaultOpts?.from
25
+ });
26
+ }, [_defaultOpts?.from, router]);
27
+ }
28
+ //#endregion
29
+ export { useNavigate as t };