@plebeiantech/lat.md 0.12.3-fork.2 → 0.12.3-fork.21

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 (341) hide show
  1. package/README.md +31 -2
  2. package/dist/src/cli/agent-invocation.d.ts +6 -0
  3. package/dist/src/cli/agent-invocation.js +23 -0
  4. package/dist/src/cli/checklist-menu.d.ts +2 -1
  5. package/dist/src/cli/checklist-menu.js +3 -2
  6. package/dist/src/cli/comment-guard.d.ts +14 -0
  7. package/dist/src/cli/comment-guard.js +10 -33
  8. package/dist/src/cli/comment-reminder.d.ts +65 -6
  9. package/dist/src/cli/comment-reminder.js +164 -28
  10. package/dist/src/cli/fork-instructions.d.ts +20 -0
  11. package/dist/src/cli/fork-instructions.js +184 -0
  12. package/dist/src/cli/fork-scaffold.d.ts +106 -0
  13. package/dist/src/cli/fork-scaffold.js +490 -0
  14. package/dist/src/cli/graph.d.ts +1 -1
  15. package/dist/src/cli/hook.d.ts +26 -0
  16. package/dist/src/cli/hook.js +115 -64
  17. package/dist/src/cli/index.js +166 -64
  18. package/dist/src/cli/init-preferences.d.ts +4 -0
  19. package/dist/src/cli/init-preferences.js +36 -0
  20. package/dist/src/cli/init.d.ts +2 -1
  21. package/dist/src/cli/init.js +107 -50
  22. package/dist/src/cli/reindex.d.ts +1 -1
  23. package/dist/src/cli/reindex.js +7 -10
  24. package/dist/src/cli/search.d.ts +14 -4
  25. package/dist/src/cli/search.js +116 -100
  26. package/dist/src/cli/ui-build-server.d.ts +12 -0
  27. package/dist/src/cli/ui-build-server.js +26 -0
  28. package/dist/src/cli/ui-build.d.ts +4 -0
  29. package/dist/src/cli/ui-build.js +13 -0
  30. package/dist/src/cli/ui.d.ts +1 -1
  31. package/dist/src/cli/ui.js +18 -2
  32. package/dist/src/fork/antigravity-hook.d.ts +47 -0
  33. package/dist/src/fork/antigravity-hook.js +424 -0
  34. package/dist/src/fork/antigravity-init.d.ts +17 -0
  35. package/dist/src/fork/antigravity-init.js +124 -0
  36. package/dist/src/fork/upstream-drift-cli.js +2 -0
  37. package/dist/src/fork/upstream-drift.d.ts +26 -0
  38. package/dist/src/fork/upstream-drift.js +185 -0
  39. package/dist/src/fork/upstream-guard-cli.d.ts +1 -0
  40. package/dist/src/fork/upstream-guard-cli.js +2 -0
  41. package/dist/src/fork/upstream-guard.d.ts +72 -0
  42. package/dist/src/fork/upstream-guard.js +445 -0
  43. package/dist/src/graph-export.d.ts +2 -0
  44. package/dist/src/graph-export.js +38 -19
  45. package/dist/src/knowledge/claude-memory.d.ts +1 -0
  46. package/dist/src/knowledge/claude-memory.js +33 -4
  47. package/dist/src/knowledge/index.js +2 -2
  48. package/dist/src/mcp/server.js +34 -18
  49. package/dist/src/search/cache.d.ts +3 -0
  50. package/dist/src/search/cache.js +104 -0
  51. package/dist/src/search/chunks.d.ts +23 -0
  52. package/dist/src/search/chunks.js +200 -0
  53. package/dist/src/search/db.d.ts +28 -16
  54. package/dist/src/search/db.js +106 -40
  55. package/dist/src/search/embedder.d.ts +2 -1
  56. package/dist/src/search/embedder.js +7 -6
  57. package/dist/src/search/index.d.ts +6 -2
  58. package/dist/src/search/index.js +176 -53
  59. package/dist/src/search/lexical.d.ts +6 -0
  60. package/dist/src/search/lexical.js +36 -0
  61. package/dist/src/search/lock.d.ts +5 -0
  62. package/dist/src/search/lock.js +45 -0
  63. package/dist/src/search/query.d.ts +26 -0
  64. package/dist/src/search/query.js +103 -0
  65. package/dist/src/search/search.d.ts +17 -7
  66. package/dist/src/search/search.js +164 -14
  67. package/dist/src/search/types.d.ts +15 -0
  68. package/dist/src/search/types.js +1 -0
  69. package/dist/src/view/client/assets/GraphView-0bPe_Q5I.js +456 -0
  70. package/dist/src/view/client/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  71. package/dist/src/view/client/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  72. package/dist/src/view/client/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  73. package/dist/src/view/client/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  74. package/dist/src/view/client/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  75. package/dist/src/view/client/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  76. package/dist/src/view/client/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  77. package/dist/src/view/client/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  78. package/dist/src/view/client/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  79. package/dist/src/view/client/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  80. package/dist/src/view/client/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  81. package/dist/src/view/client/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  82. package/dist/src/view/client/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  83. package/dist/src/view/client/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  84. package/dist/src/view/client/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  85. package/dist/src/view/client/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  86. package/dist/src/view/client/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  87. package/dist/src/view/client/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  88. package/dist/src/view/client/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  89. package/dist/src/view/client/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  90. package/dist/src/view/client/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  91. package/dist/src/view/client/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  92. package/dist/src/view/client/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  93. package/dist/src/view/client/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  94. package/dist/src/view/client/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  95. package/dist/src/view/client/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  96. package/dist/src/view/client/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  97. package/dist/src/view/client/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  98. package/dist/src/view/client/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  99. package/dist/src/view/client/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  100. package/dist/src/view/client/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  101. package/dist/src/view/client/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  102. package/dist/src/view/client/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  103. package/dist/src/view/client/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  104. package/dist/src/view/client/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  105. package/dist/src/view/client/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  106. package/dist/src/view/client/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  107. package/dist/src/view/client/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  108. package/dist/src/view/client/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  109. package/dist/src/view/client/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  110. package/dist/src/view/client/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  111. package/dist/src/view/client/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  112. package/dist/src/view/client/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  113. package/dist/src/view/client/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  114. package/dist/src/view/client/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  115. package/dist/src/view/client/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  116. package/dist/src/view/client/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  117. package/dist/src/view/client/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  118. package/dist/src/view/client/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  119. package/dist/src/view/client/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  120. package/dist/src/view/client/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  121. package/dist/src/view/client/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  122. package/dist/src/view/client/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  123. package/dist/src/view/client/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  124. package/dist/src/view/client/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  125. package/dist/src/view/client/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  126. package/dist/src/view/client/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  127. package/dist/src/view/client/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  128. package/dist/src/view/client/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  129. package/dist/src/view/client/assets/MarkdownEditor-1_8mI7lO.js +28 -0
  130. package/dist/src/view/client/assets/OrbitControls-DwcpQNja.js +1 -0
  131. package/dist/src/view/client/assets/STLLoader-CLWTKt5i.js +1 -0
  132. package/dist/src/view/client/assets/_commonjsHelpers-CqkleIqs.js +1 -0
  133. package/dist/src/view/client/assets/abnfDiagram-VCTEODGH-BLIuikwY.js +1 -0
  134. package/dist/src/view/client/assets/arc-D4PzdKSA.js +1 -0
  135. package/dist/src/view/client/assets/architectureDiagram-5GKGNRK7-35Egww62.js +36 -0
  136. package/dist/src/view/client/assets/blockDiagram-I7D4REHJ-tqNy53-W.js +129 -0
  137. package/dist/src/view/client/assets/c4Diagram-7LVT6UL2-DZ_GcD9K.js +38 -0
  138. package/dist/src/view/client/assets/channel-DensupHE.js +1 -0
  139. package/dist/src/view/client/assets/chunk-2Q5K7J3B-BUjq4Q7b.js +1 -0
  140. package/dist/src/view/client/assets/chunk-5VM5RSS4-BsIix6I5.js +15 -0
  141. package/dist/src/view/client/assets/chunk-F27PBJKO-Dxo7UheG.js +1 -0
  142. package/dist/src/view/client/assets/chunk-IMKFNOWR-C5lzUDK5.js +231 -0
  143. package/dist/src/view/client/assets/chunk-JWPE2WC7-qCHQlKfY.js +1 -0
  144. package/dist/src/view/client/assets/chunk-POPQ4Y6H-CDPKw21I.js +1 -0
  145. package/dist/src/view/client/assets/chunk-SVP7TREG-CD_C-9M-.js +88 -0
  146. package/dist/src/view/client/assets/chunk-TICWLB2K-ZMatRvad.js +206 -0
  147. package/dist/src/view/client/assets/chunk-XXDRQBXY-dDs4quwg.js +1 -0
  148. package/dist/src/view/client/assets/classDiagram-ZZMXUADV-CV7ArHLW.js +1 -0
  149. package/dist/src/view/client/assets/classDiagram-v2-VYDZK3BY-CV7ArHLW.js +1 -0
  150. package/dist/src/view/client/assets/cose-bilkent-JH36ORCC-CwH3-T1N.js +1 -0
  151. package/dist/src/view/client/assets/cynefin-OW5HDTMX-DodS6r00.js +166 -0
  152. package/dist/src/view/client/assets/cynefinDiagram-5FMLGOSQ-D7WDoy0K.js +62 -0
  153. package/dist/src/view/client/assets/cytoscape.esm-DzSz-X2X.js +321 -0
  154. package/dist/src/view/client/assets/dagre-GXQ25YYZ-yc2GTi5h.js +4 -0
  155. package/dist/src/view/client/assets/defaultLocale-DX6XiGOO.js +1 -0
  156. package/dist/src/view/client/assets/diagram-S7CK7UJ4-CEP0FGL8.js +30 -0
  157. package/dist/src/view/client/assets/diagram-UQ7AKVKN-BZIEojBf.js +41 -0
  158. package/dist/src/view/client/assets/diagram-VSXAHHWV-BSB6COmM.js +3 -0
  159. package/dist/src/view/client/assets/diagram-VX7I27RA-DqfR3psV.js +24 -0
  160. package/dist/src/view/client/assets/diagram-Z3DM3KII-B79t0s5P.js +24 -0
  161. package/dist/src/view/client/assets/ebnfDiagram-PWID7BFC-CqbCQhE1.js +1 -0
  162. package/dist/src/view/client/assets/erDiagram-RLTQ6QDP-BVfoYIhJ.js +99 -0
  163. package/dist/src/view/client/assets/flowDiagram-HODETNUW-Dfyjm6ib.js +168 -0
  164. package/dist/src/view/client/assets/ganttDiagram-EL5Y4UJY-Da9ta_k3.js +292 -0
  165. package/dist/src/view/client/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  166. package/dist/src/view/client/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  167. package/dist/src/view/client/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  168. package/dist/src/view/client/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  169. package/dist/src/view/client/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2 +0 -0
  170. package/dist/src/view/client/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2 +0 -0
  171. package/dist/src/view/client/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2 +0 -0
  172. package/dist/src/view/client/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 +0 -0
  173. package/dist/src/view/client/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2 +0 -0
  174. package/dist/src/view/client/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2 +0 -0
  175. package/dist/src/view/client/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  176. package/dist/src/view/client/assets/gitGraphDiagram-WWUBYQGX-BDqlQ6LG.js +106 -0
  177. package/dist/src/view/client/assets/index-BnENo9bV.js +1 -0
  178. package/dist/src/view/client/assets/index-DG0Ez15D.css +1 -0
  179. package/dist/src/view/client/assets/index-heNSjszK.js +13 -0
  180. package/dist/src/view/client/assets/infoDiagram-27XIBGKW-CozIUYm1.js +2 -0
  181. package/dist/src/view/client/assets/init-Gi6I4Gst.js +1 -0
  182. package/dist/src/view/client/assets/ishikawaDiagram-5VMMS53U-tkBLr-Tn.js +70 -0
  183. package/dist/src/view/client/assets/journeyDiagram-3NMN7TZE-Dcd_Ofwc.js +139 -0
  184. package/dist/src/view/client/assets/kanban-definition-UXKFOSKX-CQvZmdAf.js +89 -0
  185. package/dist/src/view/client/assets/katex-HP8lGamR.js +257 -0
  186. package/dist/src/view/client/assets/layout-BxuGL0Ip.js +1 -0
  187. package/dist/src/view/client/assets/linear-D8tR6G5K.js +1 -0
  188. package/dist/src/view/client/assets/logo-RR_KBOAT.svg +149 -0
  189. package/dist/src/view/client/assets/maplibre-gl-CDX6Zuow.js +800 -0
  190. package/dist/src/view/client/assets/mermaid.core-BlHZooLK.js +310 -0
  191. package/dist/src/view/client/assets/mindmap-definition-YA3MSWOX-BqvVz5lC.js +96 -0
  192. package/dist/src/view/client/assets/ordinal-Cboi1Yqb.js +1 -0
  193. package/dist/src/view/client/assets/pegDiagram-XKGWAZYB-BkbOOTxX.js +1 -0
  194. package/dist/src/view/client/assets/pieDiagram-E7YTZNPT-BToTpG0m.js +39 -0
  195. package/dist/src/view/client/assets/quadrantDiagram-AXDQQJYC-CerD2TfT.js +7 -0
  196. package/dist/src/view/client/assets/railroadDiagram-O6MQD6OU-B2oElPYD.js +1 -0
  197. package/dist/src/view/client/assets/requirementDiagram-BXWQKSXE-BCL8RGFd.js +84 -0
  198. package/dist/src/view/client/assets/sankeyDiagram-P5KCCOFB-BqnkNRPm.js +40 -0
  199. package/dist/src/view/client/assets/sequenceDiagram-WJ2MYXX4-DKSKYknp.js +162 -0
  200. package/dist/src/view/client/assets/sizeCapture-INFHLROL-D8reQ7IM.js +1 -0
  201. package/dist/src/view/client/assets/stateDiagram-D77RDMKH-B-Eme-BN.js +1 -0
  202. package/dist/src/view/client/assets/stateDiagram-v2-MP3YSRHH-yXL-Y-Ym.js +1 -0
  203. package/dist/src/view/client/assets/swimlanes-42K2YHIH-lK0158X4.js +1 -0
  204. package/dist/src/view/client/assets/swimlanesDiagram-VR7AAH4N-CGn5WOGw.js +8 -0
  205. package/dist/src/view/client/assets/three.module-PDSP0dbZ.js +4108 -0
  206. package/dist/src/view/client/assets/timeline-definition-24CTP7MA-imh-edhJ.js +120 -0
  207. package/dist/src/view/client/assets/vennDiagram-4TSXK5OY-Ixwhcd6r.js +34 -0
  208. package/dist/src/view/client/assets/wardleyDiagram-VM6X3IG4-Cvr_zzKI.js +78 -0
  209. package/dist/src/view/client/assets/xychartDiagram-S5SC5T6Z-BvcmHKlQ.js +7 -0
  210. package/dist/src/view/client/index.html +2 -2
  211. package/dist/src/view/client-shell.d.ts +2 -0
  212. package/dist/src/view/client-shell.js +5 -0
  213. package/dist/src/view/diagnostics.d.ts +3 -2
  214. package/dist/src/view/diagnostics.js +49 -58
  215. package/dist/src/view/document-edit.d.ts +8 -0
  216. package/dist/src/view/document-edit.js +25 -0
  217. package/dist/src/view/document-route.d.ts +14 -0
  218. package/dist/src/view/document-route.js +126 -0
  219. package/dist/src/view/document-tree.d.ts +18 -0
  220. package/dist/src/view/document-tree.js +139 -0
  221. package/dist/src/view/external-document-tree.d.ts +3 -0
  222. package/dist/src/view/external-document-tree.js +674 -0
  223. package/dist/src/view/git-diff.js +205 -1
  224. package/dist/src/view/git.js +1 -1
  225. package/dist/src/view/graph.d.ts +7 -0
  226. package/dist/src/view/graph.js +267 -0
  227. package/dist/src/view/highlight.d.ts +10 -2
  228. package/dist/src/view/highlight.js +50648 -3166
  229. package/dist/src/view/markdown.d.ts +8 -3
  230. package/dist/src/view/markdown.js +311 -41
  231. package/dist/src/view/preindexed-search.d.ts +15 -0
  232. package/dist/src/view/preindexed-search.js +25 -0
  233. package/dist/src/view/protocol.d.ts +95 -6
  234. package/dist/src/view/protocol.js +1 -1
  235. package/dist/src/view/publication.d.ts +2 -0
  236. package/dist/src/view/publication.js +78 -0
  237. package/dist/src/view/references.d.ts +13 -26
  238. package/dist/src/view/references.js +150 -119
  239. package/dist/src/view/repository.d.ts +18 -5
  240. package/dist/src/view/repository.js +269 -27
  241. package/dist/src/view/request-security.d.ts +5 -0
  242. package/dist/src/view/request-security.js +46 -0
  243. package/dist/src/view/search-result.d.ts +4 -0
  244. package/dist/src/view/search-result.js +25 -0
  245. package/dist/src/view/search.d.ts +7 -2
  246. package/dist/src/view/search.js +23 -33
  247. package/dist/src/view/server-build.d.ts +21 -0
  248. package/dist/src/view/server-build.js +145 -0
  249. package/dist/src/view/server-deployment.d.ts +31 -0
  250. package/dist/src/view/server-deployment.js +94 -0
  251. package/dist/src/view/server-index-worker.d.ts +6 -0
  252. package/dist/src/view/server-index-worker.js +14 -0
  253. package/dist/src/view/server.d.ts +14 -2
  254. package/dist/src/view/server.js +254 -51
  255. package/dist/src/view/source-target.d.ts +10 -0
  256. package/dist/src/view/source-target.js +43 -0
  257. package/dist/src/view/static-build.d.ts +32 -0
  258. package/dist/src/view/static-build.js +741 -0
  259. package/dist/src/view/static-protocol.d.ts +47 -0
  260. package/dist/src/view/static-protocol.js +15 -0
  261. package/dist/src/view/store.d.ts +26 -3
  262. package/dist/src/view/store.js +325 -44
  263. package/dist/src/view/table-of-contents.d.ts +9 -0
  264. package/dist/src/view/table-of-contents.js +83 -0
  265. package/dist/src/view/vercel-build.d.ts +24 -0
  266. package/dist/src/view/vercel-build.js +140 -0
  267. package/dist/src/view/vercel-server-build.d.ts +10 -0
  268. package/dist/src/view/vercel-server-build.js +61 -0
  269. package/dist/vendor/lat.md-server/cli.d.ts +2 -0
  270. package/dist/vendor/lat.md-server/cli.js +12 -0
  271. package/dist/vendor/lat.md-server/index.d.ts +38 -0
  272. package/dist/vendor/lat.md-server/index.js +128 -0
  273. package/package.json +72 -25
  274. package/plugins/lat-md/README.md +61 -0
  275. package/plugins/lat-md/hooks.json +38 -0
  276. package/plugins/lat-md/plugin.json +9 -0
  277. package/plugins/lat-md/rules/AGENTS.md +118 -0
  278. package/plugins/lat-md/skills/lat-md/SKILL.md +178 -0
  279. package/plugins/lat-md/skills/lat-md-conventions/SKILL.md +182 -0
  280. package/templates/AGENTS.md +19 -20
  281. package/templates/cursor-rules.md +14 -7
  282. package/templates/fork/conventions.md +173 -0
  283. package/templates/opencode-plugin.ts +9 -9
  284. package/templates/pi-extension.ts +11 -11
  285. package/templates/skill/SKILL.md +28 -17
  286. package/dist/src/cli/check-frontmatter.d.ts +0 -12
  287. package/dist/src/cli/check-frontmatter.js +0 -44
  288. package/dist/src/cli/check-mode.d.ts +0 -6
  289. package/dist/src/cli/check-mode.js +0 -303
  290. package/dist/src/cli/check-status.d.ts +0 -74
  291. package/dist/src/cli/check-status.js +0 -217
  292. package/dist/src/cli/check.d.ts +0 -45
  293. package/dist/src/cli/check.js +0 -777
  294. package/dist/src/cli/context.d.ts +0 -11
  295. package/dist/src/cli/context.js +0 -58
  296. package/dist/src/cli/expand.d.ts +0 -8
  297. package/dist/src/cli/expand.js +0 -94
  298. package/dist/src/cli/gen-index.d.ts +0 -45
  299. package/dist/src/cli/gen-index.js +0 -235
  300. package/dist/src/cli/link-scheme.d.ts +0 -54
  301. package/dist/src/cli/link-scheme.js +0 -101
  302. package/dist/src/cli/locate.d.ts +0 -2
  303. package/dist/src/cli/locate.js +0 -17
  304. package/dist/src/cli/refs.d.ts +0 -22
  305. package/dist/src/cli/refs.js +0 -229
  306. package/dist/src/cli/section.d.ts +0 -43
  307. package/dist/src/cli/section.js +0 -252
  308. package/dist/src/cli/select-menu.d.ts +0 -13
  309. package/dist/src/cli/select-menu.js +0 -100
  310. package/dist/src/code-refs.d.ts +0 -17
  311. package/dist/src/code-refs.js +0 -277
  312. package/dist/src/config.d.ts +0 -29
  313. package/dist/src/config.js +0 -83
  314. package/dist/src/context.d.ts +0 -23
  315. package/dist/src/context.js +0 -11
  316. package/dist/src/extensions/wiki-link/from-markdown.d.ts +0 -5
  317. package/dist/src/extensions/wiki-link/from-markdown.js +0 -34
  318. package/dist/src/extensions/wiki-link/index.d.ts +0 -4
  319. package/dist/src/extensions/wiki-link/index.js +0 -3
  320. package/dist/src/extensions/wiki-link/syntax.d.ts +0 -14
  321. package/dist/src/extensions/wiki-link/syntax.js +0 -121
  322. package/dist/src/extensions/wiki-link/to-markdown.d.ts +0 -5
  323. package/dist/src/extensions/wiki-link/to-markdown.js +0 -28
  324. package/dist/src/extensions/wiki-link/types.d.ts +0 -34
  325. package/dist/src/format.d.ts +0 -8
  326. package/dist/src/format.js +0 -43
  327. package/dist/src/init-version.d.ts +0 -10
  328. package/dist/src/init-version.js +0 -49
  329. package/dist/src/lattice.d.ts +0 -108
  330. package/dist/src/lattice.js +0 -816
  331. package/dist/src/parser.d.ts +0 -3
  332. package/dist/src/parser.js +0 -18
  333. package/dist/src/source-parser.d.ts +0 -27
  334. package/dist/src/source-parser.js +0 -916
  335. package/dist/src/untrusted.d.ts +0 -24
  336. package/dist/src/untrusted.js +0 -97
  337. package/dist/src/view/client/assets/index-B0n0u03y.css +0 -1
  338. package/dist/src/view/client/assets/index-xm2_px4q.js +0 -23
  339. package/dist/src/walk.d.ts +0 -18
  340. package/dist/src/walk.js +0 -27
  341. /package/dist/src/{extensions/wiki-link/types.js → fork/upstream-drift-cli.d.ts} +0 -0
@@ -1,111 +1,21 @@
1
1
  import { relative, resolve } from 'node:path';
2
- import { visit } from 'unist-util-visit';
3
- import { buildFileIndex, buildSectionSlugIndex, extractRefs, extractLinks, flattenSections, parseSections, resolveRef, } from '../lattice.js';
4
- import { parse } from '../parser.js';
5
- import { toPosix } from '../walk.js';
2
+ import { buildFileIndex, buildSectionSlugIndex, flattenSections, resolveRef, } from '@plebeiantech/lat.md-core/lattice-model';
3
+ import { analyzeMarkdownFile, } from '@plebeiantech/lat.md-core/markdown-analysis';
4
+ import { toPosix } from '@plebeiantech/lat.md-core/path';
6
5
  import { renderMarkdown } from './markdown.js';
7
- function inlineText(node) {
8
- if (node.type === 'wikiLink')
9
- return node.data.alias ?? node.value;
10
- if ('value' in node && typeof node.value === 'string')
11
- return node.value;
12
- if (node.type === 'image')
13
- return node.alt ?? '';
14
- if (!('children' in node) || !Array.isArray(node.children))
15
- return '';
16
- return node.children
17
- .map((child) => inlineText(child))
18
- .join('');
19
- }
20
- function paragraphs(content, tree) {
21
- const byLine = new Map();
22
- visit(tree, 'paragraph', (node) => {
23
- const start = node.position?.start.line;
24
- const end = node.position?.end.line;
25
- if (!start || !end)
26
- return;
27
- const text = inlineText(node).replace(/\s+/g, ' ').trim();
28
- const startOffset = node.position?.start.offset;
29
- const endOffset = node.position?.end.offset;
30
- const paragraph = {
31
- markdown: startOffset === undefined || endOffset === undefined
32
- ? text
33
- : content.slice(startOffset, endOffset),
34
- startLine: start,
35
- text,
36
- };
37
- for (let line = start; line <= end; line++)
38
- byLine.set(line, paragraph);
39
- });
40
- return byLine;
41
- }
42
- function markdownLinks(tree) {
43
- const definitions = new Map();
44
- visit(tree, 'definition', (node) => {
45
- definitions.set(node.identifier.toLowerCase(), node.url);
46
- });
47
- const links = [];
48
- visit(tree, (node) => {
49
- if (node.type !== 'link' &&
50
- node.type !== 'image' &&
51
- node.type !== 'linkReference' &&
52
- node.type !== 'imageReference') {
53
- return;
54
- }
55
- const line = node.position?.start.line;
56
- if (!line)
57
- return;
58
- const url = node.type === 'link' || node.type === 'image'
59
- ? node.url
60
- : definitions.get(node.identifier.toLowerCase());
61
- if (url) {
62
- links.push({
63
- kind: node.type === 'image' || node.type === 'imageReference'
64
- ? 'image'
65
- : 'link',
66
- line,
67
- url,
68
- });
69
- }
70
- });
71
- return links;
72
- }
6
+ import { viewSourceTarget, rewriteLocalFileLink } from './source-target.js';
7
+ import { documentUrl as routeDocumentUrl } from './document-route.js';
73
8
  /** Parse one Markdown file once into every structure needed by the view store. */
74
9
  export function parseViewMarkdownFile(absolutePath, content, latDir, projectRoot) {
75
- const tree = parse(content);
76
- return {
77
- absolutePath,
78
- content,
79
- path: toPosix(relative(latDir, absolutePath)),
80
- projectPath: toPosix(relative(projectRoot, absolutePath)),
81
- tree,
82
- sections: parseSections(absolutePath, content, projectRoot, tree),
83
- wikiRefs: extractRefs(absolutePath, content, projectRoot, tree),
84
- paragraphs: paragraphs(content, tree),
85
- markdownLinks: markdownLinks(tree),
86
- validationLinks: extractLinks(content, tree),
87
- };
10
+ return analyzeMarkdownFile(absolutePath, content, latDir, projectRoot);
88
11
  }
89
12
  function contextMarkdownLink(requestedPath, url) {
90
- if (url.startsWith('/') ||
91
- url.startsWith('//') ||
92
- /^[a-z][a-z\d+.-]*:/i.test(url)) {
93
- return url;
94
- }
95
- const encodedPath = requestedPath
96
- .split('/')
97
- .map(encodeURIComponent)
98
- .join('/');
99
- const resolved = new URL(url, `http://lat.local/docs/${encodedPath}`);
100
- return `${resolved.pathname}${resolved.search}${resolved.hash}`;
13
+ return rewriteLocalFileLink(url, requestedPath);
101
14
  }
102
15
  function documentUrl(latDir, projectRoot, section) {
103
16
  const path = toPosix(relative(latDir, resolve(projectRoot, section.filePath)));
104
- const encoded = path.split('/').map(encodeURIComponent).join('/');
105
- const fragment = section.githubSlug
106
- ? `#${encodeURIComponent(section.githubSlug)}`
107
- : '';
108
- return `/docs/${encoded}${fragment}`;
17
+ const fragment = section.githubSlug ? section.githubSlug : '';
18
+ return routeDocumentUrl(path, fragment);
109
19
  }
110
20
  function breadcrumbs(latDir, projectRoot, section) {
111
21
  const path = toPosix(relative(latDir, resolve(projectRoot, section.filePath))).replace(/\.md$/i, '');
@@ -115,7 +25,7 @@ function sourceLineUrl(path, line) {
115
25
  const encoded = path.split('/').map(encodeURIComponent).join('/');
116
26
  return `/code/${encoded}?at=${line}`;
117
27
  }
118
- function linkedSection(url, sourcePath, sectionsByPath) {
28
+ export function linkedSection(url, sourcePath, sectionsByPath) {
119
29
  if (url.startsWith('//') || /^[a-z][a-z\d+.-]*:/i.test(url))
120
30
  return null;
121
31
  const encodedSourcePath = sourcePath
@@ -124,20 +34,19 @@ function linkedSection(url, sourcePath, sectionsByPath) {
124
34
  .join('/');
125
35
  let destination;
126
36
  try {
127
- destination = new URL(url, `http://lat.local/docs/${encodedSourcePath}`);
37
+ destination = new URL(url, `http://lat.local/${encodedSourcePath}`);
128
38
  }
129
39
  catch {
130
40
  return null;
131
41
  }
132
- if (destination.origin !== 'http://lat.local' ||
133
- !destination.pathname.startsWith('/docs/')) {
42
+ if (destination.origin !== 'http://lat.local') {
134
43
  return null;
135
44
  }
136
45
  let path;
137
46
  let fragment;
138
47
  try {
139
48
  path = destination.pathname
140
- .slice('/docs/'.length)
49
+ .slice(1)
141
50
  .split('/')
142
51
  .map(decodeURIComponent)
143
52
  .join('/');
@@ -154,14 +63,15 @@ function linkedSection(url, sourcePath, sectionsByPath) {
154
63
  return (sections.find((section) => section.githubSlug?.toLowerCase() === fragment.toLowerCase()) ?? null);
155
64
  }
156
65
  function paragraphFor(file, section, line) {
157
- return (file.paragraphs.get(line) ?? {
66
+ return (file.paragraphs.find((paragraph) => line >= paragraph.startLine && line <= paragraph.endLine) ?? {
158
67
  markdown: section.firstParagraph,
159
68
  startLine: line,
69
+ endLine: line,
160
70
  text: section.firstParagraph,
161
71
  });
162
72
  }
163
73
  /** Resolve cached outgoing occurrences into direct section and source indexes. */
164
- export function buildViewReferenceIndex(markdownFiles, codeFiles, allSections) {
74
+ export function buildViewReferenceIndex(markdownFiles, codeFiles, allSections, resolveExternalTarget) {
165
75
  const files = [...markdownFiles].sort((a, b) => a.path.localeCompare(b.path));
166
76
  const sections = flattenSections(allSections);
167
77
  const sectionIds = new Set(sections.map((section) => section.id.toLowerCase()));
@@ -174,6 +84,7 @@ export function buildViewReferenceIndex(markdownFiles, codeFiles, allSections) {
174
84
  }
175
85
  const incoming = new Map();
176
86
  const sourceByTarget = new Map();
87
+ const externalByTarget = new Map();
177
88
  const addIncoming = (targetId, key, reference) => {
178
89
  const target = targetId.toLowerCase();
179
90
  let references = incoming.get(target);
@@ -184,6 +95,24 @@ export function buildViewReferenceIndex(markdownFiles, codeFiles, allSections) {
184
95
  if (!references.has(key))
185
96
  references.set(key, reference);
186
97
  };
98
+ const addSourceReference = (target, key, reference) => {
99
+ let references = sourceByTarget.get(target);
100
+ if (!references) {
101
+ references = new Map();
102
+ sourceByTarget.set(target, references);
103
+ }
104
+ if (!references.has(key))
105
+ references.set(key, reference);
106
+ };
107
+ const addExternalReference = (target, key, reference) => {
108
+ let references = externalByTarget.get(target);
109
+ if (!references) {
110
+ references = new Map();
111
+ externalByTarget.set(target, references);
112
+ }
113
+ if (!references.has(key))
114
+ references.set(key, reference);
115
+ };
187
116
  for (const file of files) {
188
117
  const fileSections = flattenSections(file.sections).sort((a, b) => a.startLine - b.startLine);
189
118
  for (const ref of file.wikiRefs) {
@@ -198,16 +127,24 @@ export function buildViewReferenceIndex(markdownFiles, codeFiles, allSections) {
198
127
  paragraph: paragraphFor(file, section, ref.line),
199
128
  activeWikiLink: ref.target,
200
129
  };
201
- const sourceKey = ref.target.toLowerCase();
202
- const sourceReferences = sourceByTarget.get(sourceKey) ?? [];
203
- sourceReferences.push(reference);
204
- sourceByTarget.set(sourceKey, sourceReferences);
130
+ const locationKey = `markdown:${section.filePath}:${reference.paragraph.startLine}`;
131
+ const externalTarget = resolveExternalTarget?.(ref.target);
132
+ if (externalTarget) {
133
+ addExternalReference(externalTarget, locationKey, reference);
134
+ }
135
+ const source = viewSourceTarget(ref.target);
136
+ if (source) {
137
+ addSourceReference(source.key, locationKey, reference);
138
+ if (source.symbol) {
139
+ addSourceReference(source.fileKey, locationKey, reference);
140
+ }
141
+ }
205
142
  const resolved = resolveRef(ref.target, sectionIds, fileIndex, slugIndex);
206
143
  if (resolved.ambiguous ||
207
144
  !sectionById.has(resolved.resolved.toLowerCase())) {
208
145
  continue;
209
146
  }
210
- addIncoming(resolved.resolved, `markdown:${section.filePath}:${reference.paragraph.startLine}`, reference);
147
+ addIncoming(resolved.resolved, locationKey, reference);
211
148
  }
212
149
  for (const link of file.markdownLinks) {
213
150
  if (link.kind !== 'link')
@@ -233,6 +170,16 @@ export function buildViewReferenceIndex(markdownFiles, codeFiles, allSections) {
233
170
  }
234
171
  for (const file of [...codeFiles].sort((a, b) => a.path.localeCompare(b.path))) {
235
172
  for (const ref of [...file.refs].sort((a, b) => a.line - b.line)) {
173
+ const externalTarget = resolveExternalTarget?.(ref.target);
174
+ if (externalTarget) {
175
+ addExternalReference(externalTarget, `code:${ref.file}:${ref.line}`, {
176
+ kind: 'code',
177
+ path: ref.file,
178
+ line: ref.line,
179
+ snippet: file.lines[ref.line - 1]?.trim() ?? '',
180
+ url: sourceLineUrl(ref.file, ref.line),
181
+ });
182
+ }
236
183
  const resolved = resolveRef(ref.target, sectionIds, fileIndex, slugIndex);
237
184
  if (resolved.ambiguous ||
238
185
  !sectionById.has(resolved.resolved.toLowerCase())) {
@@ -252,22 +199,107 @@ export function buildViewReferenceIndex(markdownFiles, codeFiles, allSections) {
252
199
  target,
253
200
  [...references.values()],
254
201
  ])),
255
- sourceByTarget,
202
+ sourceByTarget: new Map([...sourceByTarget].map(([target, references]) => [
203
+ target,
204
+ [...references.values()],
205
+ ])),
206
+ sourceReferenceCounts: new Map([...sourceByTarget].map(([target, references]) => [
207
+ target,
208
+ references.size,
209
+ ])),
210
+ externalByTarget: new Map([...externalByTarget].map(([target, references]) => [
211
+ target,
212
+ [...references.values()],
213
+ ])),
256
214
  };
257
215
  }
216
+ async function renderExternalReference(reference, latDir, projectRoot, createWikiLinkResolver) {
217
+ if (reference.kind === 'code')
218
+ return reference;
219
+ const resolver = createWikiLinkResolver
220
+ ? await createWikiLinkResolver(reference.sourcePath)
221
+ : undefined;
222
+ return renderIndexedMarkdownReference(reference, latDir, projectRoot, resolver);
223
+ }
224
+ /** Render exact local Markdown and code backlinks for external targets. */
225
+ export async function renderExternalSectionBackReferences(index, targets, latDir, projectRoot, createWikiLinkResolver) {
226
+ const sections = new Map();
227
+ for (const [target, headingId] of targets) {
228
+ let section = sections.get(headingId);
229
+ if (!section) {
230
+ section = { sectionId: target, references: new Map() };
231
+ sections.set(headingId, section);
232
+ }
233
+ const lowerTarget = target.toLowerCase();
234
+ const indexed = [...index.externalByTarget]
235
+ .filter(([candidate]) => candidate.toLowerCase() === lowerTarget)
236
+ .flatMap(([, references]) => references);
237
+ for (const reference of indexed) {
238
+ const key = reference.kind === 'markdown'
239
+ ? `markdown:${reference.sourcePath}:${reference.paragraph.startLine}`
240
+ : `code:${reference.path}:${reference.line}`;
241
+ if (!section.references.has(key))
242
+ section.references.set(key, reference);
243
+ }
244
+ }
245
+ const result = [];
246
+ for (const [headingId, section] of sections) {
247
+ const references = await Promise.all([...section.references.values()].map((reference) => renderExternalReference(reference, latDir, projectRoot, createWikiLinkResolver)));
248
+ result.push({ sectionId: section.sectionId, headingId, references });
249
+ }
250
+ return result;
251
+ }
252
+ /** Adapt exact external backlinks to the source context presentation. */
253
+ export async function renderExternalSourceReferences(index, target, latDir, projectRoot, createWikiLinkResolver) {
254
+ const indexed = index.externalByTarget.get(target) ?? [];
255
+ const result = [];
256
+ for (const reference of indexed) {
257
+ const rendered = await renderExternalReference(reference, latDir, projectRoot, createWikiLinkResolver);
258
+ if (rendered.kind === 'markdown') {
259
+ result.push({
260
+ sectionId: rendered.sectionId,
261
+ breadcrumbs: rendered.breadcrumbs,
262
+ paragraph: rendered.paragraph,
263
+ paragraphTree: rendered.paragraphTree,
264
+ url: rendered.url,
265
+ });
266
+ }
267
+ else {
268
+ result.push({
269
+ sectionId: `code:${rendered.path}:${rendered.line}`,
270
+ breadcrumbs: [...rendered.path.split('/'), `line ${rendered.line}`],
271
+ paragraph: rendered.snippet,
272
+ paragraphTree: {
273
+ version: 1,
274
+ type: 'root',
275
+ children: [
276
+ {
277
+ type: 'element',
278
+ tagName: 'code',
279
+ properties: {},
280
+ children: [{ type: 'text', value: rendered.snippet }],
281
+ },
282
+ ],
283
+ },
284
+ url: rendered.url,
285
+ });
286
+ }
287
+ }
288
+ return result;
289
+ }
258
290
  async function renderIndexedMarkdownReference(reference, latDir, projectRoot, resolveWikiLink) {
259
- const paragraphHtml = (await renderMarkdown(reference.paragraph.markdown, reference.sourcePath, resolveWikiLink, {
291
+ const paragraphTree = (await renderMarkdown(reference.paragraph.markdown, reference.sourcePath, resolveWikiLink, {
260
292
  activeWikiLink: reference.activeWikiLink,
261
293
  activeMarkdownLink: reference.activeMarkdownLink,
262
294
  lineOffset: reference.paragraph.startLine - 1,
263
295
  rewriteMarkdownLink: (url) => contextMarkdownLink(reference.sourcePath, url),
264
- })).html;
296
+ })).tree;
265
297
  return {
266
298
  kind: 'markdown',
267
299
  sectionId: reference.section.id,
268
300
  breadcrumbs: breadcrumbs(latDir, projectRoot, reference.section),
269
301
  paragraph: reference.paragraph.text,
270
- paragraphHtml,
302
+ paragraphTree,
271
303
  url: documentUrl(latDir, projectRoot, reference.section),
272
304
  };
273
305
  }
@@ -287,8 +319,6 @@ export async function renderSectionBackReferences(index, visibleSections, latDir
287
319
  const result = [];
288
320
  for (const section of flattenSections(visibleSections)) {
289
321
  const indexed = index.incomingBySection.get(section.id.toLowerCase()) ?? [];
290
- if (indexed.length === 0)
291
- continue;
292
322
  const references = [];
293
323
  for (const reference of indexed) {
294
324
  references.push(reference.kind === 'code'
@@ -305,7 +335,8 @@ export async function renderSectionBackReferences(index, visibleSections, latDir
305
335
  }
306
336
  /** Render cached Markdown occurrences that point to one source target. */
307
337
  export async function renderSourceReferenceContext(index, target, origin, latDir, projectRoot, createWikiLinkResolver) {
308
- const indexed = index.sourceByTarget.get(target.toLowerCase()) ?? [];
338
+ const source = viewSourceTarget(target);
339
+ const indexed = source ? (index.sourceByTarget.get(source.key) ?? []) : [];
309
340
  const resolverByPath = new Map();
310
341
  const located = [];
311
342
  for (const reference of indexed) {
@@ -323,7 +354,7 @@ export async function renderSourceReferenceContext(index, target, origin, latDir
323
354
  sectionId: rendered.sectionId,
324
355
  breadcrumbs: rendered.breadcrumbs,
325
356
  paragraph: rendered.paragraph,
326
- paragraphHtml: rendered.paragraphHtml,
357
+ paragraphTree: rendered.paragraphTree,
327
358
  url: rendered.url,
328
359
  },
329
360
  });
@@ -1,12 +1,25 @@
1
- import { type Section } from '../lattice.js';
2
- import type { ViewSourceDocument } from './protocol.js';
1
+ import { type Section } from '@plebeiantech/lat.md-core/lattice-model';
2
+ import { type ExternalResolver } from '@plebeiantech/lat.md-core/external-sources';
3
+ import type { ExternalTarget } from '@plebeiantech/lat.md-core/external-sources';
4
+ import { renderExternalDocumentTree } from './external-document-tree.js';
5
+ import type { ViewExternalDocument, ViewSourceDocument } from './protocol.js';
3
6
  import { type SourceReferenceOrigin, type ViewReferenceIndex } from './references.js';
4
7
  export declare class ViewDocumentNotFoundError extends Error {
5
8
  }
6
9
  export declare class ViewSourceNotFoundError extends Error {
7
10
  }
8
- export declare function createMarkdownWikiLinkResolver(latDir: string, requestedPath: string, loadedSections: Section[]): Promise<(target: string, context: {
11
+ export declare class ViewExternalNotFoundError extends Error {
12
+ }
13
+ export declare function externalUrl(target: string): string;
14
+ /** Make repository-relative external-document links reflect pulled files. */
15
+ export declare function resolveExternalDocumentLinks(tree: Awaited<ReturnType<typeof renderExternalDocumentTree>>, current: ExternalTarget, external: ExternalResolver, referenceIndex: ViewReferenceIndex): typeof tree;
16
+ export declare function createMarkdownWikiLinkResolver(latDir: string, requestedPath: string, loadedSections: Section[], referenceIndex?: ViewReferenceIndex, externalResolver?: ExternalResolver, publishable?: (path: string) => Promise<boolean>): Promise<(target: string, context: {
9
17
  line: number;
10
- }) => Promise<string | null>>;
18
+ }) => Promise<{
19
+ href: string;
20
+ referenceCount: number;
21
+ } | null>>;
22
+ /** Resolve and render one configured external file through the normal view models. */
23
+ export declare function getViewExternal(latDir: string, projectRoot: string, targetValue: string, external: ExternalResolver, allSections: Section[], referenceIndex: ViewReferenceIndex, publishable?: (path: string) => Promise<boolean>): Promise<ViewExternalDocument>;
11
24
  /** Read and highlight a source file after constraining it to the project root. */
12
- export declare function getViewSource(latDir: string, projectRoot: string, requestedPath: string, requestedSymbol?: string, origin?: SourceReferenceOrigin, requestedLine?: number, allSections?: Section[], referenceIndex?: ViewReferenceIndex): Promise<ViewSourceDocument>;
25
+ export declare function getViewSource(latDir: string, projectRoot: string, requestedPath: string, requestedSymbol?: string, origin?: SourceReferenceOrigin, requestedLine?: number, allSections?: Section[], referenceIndex?: ViewReferenceIndex, publishable?: (path: string) => Promise<boolean>): Promise<ViewSourceDocument>;