@plebeiantech/lat.md 0.12.3-fork.8 → 0.13.4-fork.1

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 (330) hide show
  1. package/README.md +27 -3
  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/fork-instructions.d.ts +1 -0
  7. package/dist/src/cli/fork-instructions.js +8 -32
  8. package/dist/src/cli/fork-scaffold.js +2 -2
  9. package/dist/src/cli/graph.d.ts +1 -1
  10. package/dist/src/cli/hook.d.ts +26 -0
  11. package/dist/src/cli/hook.js +115 -64
  12. package/dist/src/cli/index.js +147 -70
  13. package/dist/src/cli/init-preferences.d.ts +4 -0
  14. package/dist/src/cli/init-preferences.js +36 -0
  15. package/dist/src/cli/init.d.ts +2 -1
  16. package/dist/src/cli/init.js +100 -60
  17. package/dist/src/cli/reindex.d.ts +1 -1
  18. package/dist/src/cli/reindex.js +7 -10
  19. package/dist/src/cli/search.d.ts +14 -4
  20. package/dist/src/cli/search.js +115 -101
  21. package/dist/src/cli/ui-build-server.d.ts +12 -0
  22. package/dist/src/cli/ui-build-server.js +26 -0
  23. package/dist/src/cli/ui-build.d.ts +1 -1
  24. package/dist/src/cli/ui-build.js +1 -1
  25. package/dist/src/cli/ui.d.ts +1 -1
  26. package/dist/src/cli/ui.js +1 -1
  27. package/dist/src/fork/antigravity-hook.d.ts +47 -0
  28. package/dist/src/fork/antigravity-hook.js +424 -0
  29. package/dist/src/fork/antigravity-init.d.ts +17 -0
  30. package/dist/src/fork/antigravity-init.js +124 -0
  31. package/dist/src/fork/upstream-drift.js +1 -1
  32. package/dist/src/fork/upstream-guard.d.ts +1 -1
  33. package/dist/src/fork/upstream-guard.js +8 -7
  34. package/dist/src/graph-export.js +7 -7
  35. package/dist/src/knowledge/index.js +2 -2
  36. package/dist/src/mcp/server.js +34 -18
  37. package/dist/src/search/cache.d.ts +3 -0
  38. package/dist/src/search/cache.js +104 -0
  39. package/dist/src/search/chunks.d.ts +23 -0
  40. package/dist/src/search/chunks.js +200 -0
  41. package/dist/src/search/db.d.ts +28 -16
  42. package/dist/src/search/db.js +100 -40
  43. package/dist/src/search/embedder.d.ts +2 -1
  44. package/dist/src/search/embedder.js +7 -6
  45. package/dist/src/search/index.d.ts +6 -2
  46. package/dist/src/search/index.js +176 -53
  47. package/dist/src/search/lexical.d.ts +6 -0
  48. package/dist/src/search/lexical.js +36 -0
  49. package/dist/src/search/lock.d.ts +5 -0
  50. package/dist/src/search/lock.js +45 -0
  51. package/dist/src/search/query.d.ts +26 -0
  52. package/dist/src/search/query.js +103 -0
  53. package/dist/src/search/search.d.ts +16 -7
  54. package/dist/src/search/search.js +165 -21
  55. package/dist/src/search/types.d.ts +15 -0
  56. package/dist/src/view/client/assets/GraphView-D_xnk0bP.js +456 -0
  57. package/dist/src/view/client/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  58. package/dist/src/view/client/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  59. package/dist/src/view/client/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  60. package/dist/src/view/client/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  61. package/dist/src/view/client/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  62. package/dist/src/view/client/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  63. package/dist/src/view/client/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  64. package/dist/src/view/client/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  65. package/dist/src/view/client/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  66. package/dist/src/view/client/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  67. package/dist/src/view/client/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  68. package/dist/src/view/client/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  69. package/dist/src/view/client/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  70. package/dist/src/view/client/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  71. package/dist/src/view/client/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  72. package/dist/src/view/client/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  73. package/dist/src/view/client/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  74. package/dist/src/view/client/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  75. package/dist/src/view/client/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  76. package/dist/src/view/client/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  77. package/dist/src/view/client/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  78. package/dist/src/view/client/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  79. package/dist/src/view/client/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  80. package/dist/src/view/client/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  81. package/dist/src/view/client/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  82. package/dist/src/view/client/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  83. package/dist/src/view/client/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  84. package/dist/src/view/client/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  85. package/dist/src/view/client/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  86. package/dist/src/view/client/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  87. package/dist/src/view/client/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  88. package/dist/src/view/client/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  89. package/dist/src/view/client/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  90. package/dist/src/view/client/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  91. package/dist/src/view/client/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  92. package/dist/src/view/client/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  93. package/dist/src/view/client/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  94. package/dist/src/view/client/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  95. package/dist/src/view/client/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  96. package/dist/src/view/client/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  97. package/dist/src/view/client/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  98. package/dist/src/view/client/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  99. package/dist/src/view/client/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  100. package/dist/src/view/client/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  101. package/dist/src/view/client/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  102. package/dist/src/view/client/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  103. package/dist/src/view/client/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  104. package/dist/src/view/client/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  105. package/dist/src/view/client/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  106. package/dist/src/view/client/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  107. package/dist/src/view/client/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  108. package/dist/src/view/client/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  109. package/dist/src/view/client/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  110. package/dist/src/view/client/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  111. package/dist/src/view/client/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  112. package/dist/src/view/client/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  113. package/dist/src/view/client/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  114. package/dist/src/view/client/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  115. package/dist/src/view/client/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  116. package/dist/src/view/client/assets/MarkdownEditor-bjqt_FoF.js +28 -0
  117. package/dist/src/view/client/assets/OrbitControls-DwcpQNja.js +1 -0
  118. package/dist/src/view/client/assets/STLLoader-CLWTKt5i.js +1 -0
  119. package/dist/src/view/client/assets/_commonjsHelpers-CqkleIqs.js +1 -0
  120. package/dist/src/view/client/assets/abnfDiagram-VCTEODGH-kWGvtRnL.js +1 -0
  121. package/dist/src/view/client/assets/arc-BPAFd7cP.js +1 -0
  122. package/dist/src/view/client/assets/architectureDiagram-5GKGNRK7-CsY39oIR.js +36 -0
  123. package/dist/src/view/client/assets/blockDiagram-I7D4REHJ-DHGBG7BJ.js +129 -0
  124. package/dist/src/view/client/assets/c4Diagram-7LVT6UL2-vywK4eb7.js +38 -0
  125. package/dist/src/view/client/assets/channel-CX71L_qV.js +1 -0
  126. package/dist/src/view/client/assets/chunk-2Q5K7J3B-Do3Hz_ci.js +1 -0
  127. package/dist/src/view/client/assets/chunk-5VM5RSS4-B5R1lSeY.js +15 -0
  128. package/dist/src/view/client/assets/chunk-F27PBJKO-Dm55FM_W.js +1 -0
  129. package/dist/src/view/client/assets/chunk-IMKFNOWR-ChptrvvM.js +231 -0
  130. package/dist/src/view/client/assets/chunk-JWPE2WC7-BRQBjrKS.js +1 -0
  131. package/dist/src/view/client/assets/chunk-POPQ4Y6H-CainVZIL.js +1 -0
  132. package/dist/src/view/client/assets/chunk-SVP7TREG-DsKsNGmM.js +88 -0
  133. package/dist/src/view/client/assets/chunk-TICWLB2K-BctkMcJc.js +206 -0
  134. package/dist/src/view/client/assets/chunk-XXDRQBXY-BN7SgOUT.js +1 -0
  135. package/dist/src/view/client/assets/classDiagram-ZZMXUADV-B1VyU6zO.js +1 -0
  136. package/dist/src/view/client/assets/classDiagram-v2-VYDZK3BY-B1VyU6zO.js +1 -0
  137. package/dist/src/view/client/assets/cose-bilkent-JH36ORCC-BszzwrMe.js +1 -0
  138. package/dist/src/view/client/assets/cynefin-OW5HDTMX-CdRyAkPs.js +166 -0
  139. package/dist/src/view/client/assets/cynefinDiagram-5FMLGOSQ-BLvKPZ1u.js +62 -0
  140. package/dist/src/view/client/assets/cytoscape.esm-DzSz-X2X.js +321 -0
  141. package/dist/src/view/client/assets/dagre-GXQ25YYZ-V68w_l65.js +4 -0
  142. package/dist/src/view/client/assets/defaultLocale-DX6XiGOO.js +1 -0
  143. package/dist/src/view/client/assets/diagram-S7CK7UJ4-C2i4eEMg.js +30 -0
  144. package/dist/src/view/client/assets/diagram-UQ7AKVKN-BiwWh5jC.js +41 -0
  145. package/dist/src/view/client/assets/diagram-VSXAHHWV-hkKR_vyS.js +3 -0
  146. package/dist/src/view/client/assets/diagram-VX7I27RA-DzRCSMAc.js +24 -0
  147. package/dist/src/view/client/assets/diagram-Z3DM3KII-fhSFPxyK.js +24 -0
  148. package/dist/src/view/client/assets/ebnfDiagram-PWID7BFC-CCEUDKSA.js +1 -0
  149. package/dist/src/view/client/assets/erDiagram-RLTQ6QDP-FJ2IMyTi.js +99 -0
  150. package/dist/src/view/client/assets/flowDiagram-HODETNUW-BvasdLeK.js +168 -0
  151. package/dist/src/view/client/assets/ganttDiagram-EL5Y4UJY-CiwkBZvY.js +292 -0
  152. package/dist/src/view/client/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  153. package/dist/src/view/client/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  154. package/dist/src/view/client/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  155. package/dist/src/view/client/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  156. package/dist/src/view/client/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2 +0 -0
  157. package/dist/src/view/client/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2 +0 -0
  158. package/dist/src/view/client/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2 +0 -0
  159. package/dist/src/view/client/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 +0 -0
  160. package/dist/src/view/client/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2 +0 -0
  161. package/dist/src/view/client/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2 +0 -0
  162. package/dist/src/view/client/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  163. package/dist/src/view/client/assets/gitGraphDiagram-WWUBYQGX-DYlP2_js.js +106 -0
  164. package/dist/src/view/client/assets/index-BnENo9bV.js +1 -0
  165. package/dist/src/view/client/assets/index-CQ7EOox7.css +1 -0
  166. package/dist/src/view/client/assets/index-CynNDkxt.js +13 -0
  167. package/dist/src/view/client/assets/infoDiagram-27XIBGKW-DRPB2c48.js +2 -0
  168. package/dist/src/view/client/assets/init-Gi6I4Gst.js +1 -0
  169. package/dist/src/view/client/assets/ishikawaDiagram-5VMMS53U-8VV429Cv.js +70 -0
  170. package/dist/src/view/client/assets/journeyDiagram-3NMN7TZE-Dzmwnf83.js +139 -0
  171. package/dist/src/view/client/assets/kanban-definition-UXKFOSKX-pYyZZ1i-.js +89 -0
  172. package/dist/src/view/client/assets/katex-HP8lGamR.js +257 -0
  173. package/dist/src/view/client/assets/layout-GF9k6yGo.js +1 -0
  174. package/dist/src/view/client/assets/linear-Yt2sSOYV.js +1 -0
  175. package/dist/src/view/client/assets/logo-RR_KBOAT.svg +149 -0
  176. package/dist/src/view/client/assets/maplibre-gl-CDX6Zuow.js +800 -0
  177. package/dist/src/view/client/assets/mermaid.core-ChWYCHN0.js +310 -0
  178. package/dist/src/view/client/assets/mindmap-definition-YA3MSWOX-Cc4fQvf1.js +96 -0
  179. package/dist/src/view/client/assets/ordinal-Cboi1Yqb.js +1 -0
  180. package/dist/src/view/client/assets/pegDiagram-XKGWAZYB-C0SsB8bZ.js +1 -0
  181. package/dist/src/view/client/assets/pieDiagram-E7YTZNPT-DIJpqERZ.js +39 -0
  182. package/dist/src/view/client/assets/quadrantDiagram-AXDQQJYC--d-gl6j-.js +7 -0
  183. package/dist/src/view/client/assets/railroadDiagram-O6MQD6OU-BQxwTt7z.js +1 -0
  184. package/dist/src/view/client/assets/requirementDiagram-BXWQKSXE-B_oTeD2A.js +84 -0
  185. package/dist/src/view/client/assets/sankeyDiagram-P5KCCOFB-DLukmE8X.js +40 -0
  186. package/dist/src/view/client/assets/sequenceDiagram-WJ2MYXX4-BNjVB2sc.js +162 -0
  187. package/dist/src/view/client/assets/sizeCapture-INFHLROL-BZecQTOw.js +1 -0
  188. package/dist/src/view/client/assets/stateDiagram-D77RDMKH-Bu1urvXC.js +1 -0
  189. package/dist/src/view/client/assets/stateDiagram-v2-MP3YSRHH-5pc_697G.js +1 -0
  190. package/dist/src/view/client/assets/swimlanes-42K2YHIH-bLAlcepB.js +1 -0
  191. package/dist/src/view/client/assets/swimlanesDiagram-VR7AAH4N-BbOpZjpp.js +8 -0
  192. package/dist/src/view/client/assets/three.module-PDSP0dbZ.js +4108 -0
  193. package/dist/src/view/client/assets/timeline-definition-24CTP7MA-tbwCNvcA.js +120 -0
  194. package/dist/src/view/client/assets/vennDiagram-4TSXK5OY-D8U8Fk0N.js +34 -0
  195. package/dist/src/view/client/assets/wardleyDiagram-VM6X3IG4-LHBVIeNb.js +78 -0
  196. package/dist/src/view/client/assets/xychartDiagram-S5SC5T6Z-CN4tfaFV.js +7 -0
  197. package/dist/src/view/client/index.html +2 -2
  198. package/dist/src/view/client-shell.d.ts +2 -0
  199. package/dist/src/view/client-shell.js +5 -0
  200. package/dist/src/view/diagnostics.d.ts +3 -2
  201. package/dist/src/view/diagnostics.js +49 -58
  202. package/dist/src/view/document-edit.d.ts +8 -0
  203. package/dist/src/view/document-edit.js +25 -0
  204. package/dist/src/view/document-route.d.ts +14 -0
  205. package/dist/src/view/document-route.js +137 -0
  206. package/dist/src/view/document-tree.d.ts +18 -0
  207. package/dist/src/view/document-tree.js +139 -0
  208. package/dist/src/view/external-document-tree.d.ts +3 -0
  209. package/dist/src/view/external-document-tree.js +674 -0
  210. package/dist/src/view/git-diff.js +202 -2
  211. package/dist/src/view/git.js +1 -1
  212. package/dist/src/view/graph.d.ts +4 -3
  213. package/dist/src/view/graph.js +100 -9
  214. package/dist/src/view/highlight.d.ts +10 -2
  215. package/dist/src/view/highlight.js +50648 -3166
  216. package/dist/src/view/markdown.d.ts +3 -2
  217. package/dist/src/view/markdown.js +256 -54
  218. package/dist/src/view/preindexed-search.d.ts +15 -0
  219. package/dist/src/view/preindexed-search.js +25 -0
  220. package/dist/src/view/protocol.d.ts +53 -7
  221. package/dist/src/view/publication.d.ts +2 -0
  222. package/dist/src/view/publication.js +78 -0
  223. package/dist/src/view/references.d.ts +11 -26
  224. package/dist/src/view/references.js +121 -112
  225. package/dist/src/view/repository.d.ts +14 -4
  226. package/dist/src/view/repository.js +260 -19
  227. package/dist/src/view/request-security.d.ts +5 -0
  228. package/dist/src/view/request-security.js +46 -0
  229. package/dist/src/view/search-result.d.ts +4 -0
  230. package/dist/src/view/search-result.js +25 -0
  231. package/dist/src/view/search.d.ts +7 -2
  232. package/dist/src/view/search.js +23 -34
  233. package/dist/src/view/server-build.d.ts +21 -0
  234. package/dist/src/view/server-build.js +145 -0
  235. package/dist/src/view/server-deployment.d.ts +31 -0
  236. package/dist/src/view/server-deployment.js +123 -0
  237. package/dist/src/view/server-index-worker.d.ts +6 -0
  238. package/dist/src/view/server-index-worker.js +14 -0
  239. package/dist/src/view/server.d.ts +11 -2
  240. package/dist/src/view/server.js +245 -73
  241. package/dist/src/view/source-target.d.ts +2 -0
  242. package/dist/src/view/source-target.js +49 -8
  243. package/dist/src/view/static-build.d.ts +18 -2
  244. package/dist/src/view/static-build.js +449 -110
  245. package/dist/src/view/static-protocol.d.ts +26 -2
  246. package/dist/src/view/static-protocol.js +5 -0
  247. package/dist/src/view/store.d.ts +20 -3
  248. package/dist/src/view/store.js +304 -48
  249. package/dist/src/view/table-of-contents.d.ts +2 -2
  250. package/dist/src/view/table-of-contents.js +2 -22
  251. package/dist/src/view/vercel-build.d.ts +24 -0
  252. package/dist/src/view/vercel-build.js +152 -0
  253. package/dist/src/view/vercel-server-build.d.ts +10 -0
  254. package/dist/src/view/vercel-server-build.js +61 -0
  255. package/dist/vendor/lat.md-server/cli.d.ts +2 -0
  256. package/dist/vendor/lat.md-server/cli.js +12 -0
  257. package/dist/vendor/lat.md-server/index.d.ts +38 -0
  258. package/dist/vendor/lat.md-server/index.js +128 -0
  259. package/package.json +68 -22
  260. package/plugins/lat-md/README.md +61 -0
  261. package/plugins/lat-md/hooks.json +38 -0
  262. package/plugins/lat-md/plugin.json +9 -0
  263. package/plugins/lat-md/rules/AGENTS.md +344 -0
  264. package/plugins/lat-md/skills/lat-md/SKILL.md +210 -0
  265. package/plugins/lat-md/skills/lat-md-conventions/SKILL.md +226 -0
  266. package/templates/AGENTS.md +26 -7
  267. package/templates/cursor-rules.md +23 -7
  268. package/templates/fork/conventions.md +133 -11
  269. package/templates/opencode-plugin.ts +9 -9
  270. package/templates/pi-extension.ts +11 -11
  271. package/templates/skill/SKILL.md +35 -3
  272. package/dist/src/cli/check-coverage.d.ts +0 -2
  273. package/dist/src/cli/check-coverage.js +0 -71
  274. package/dist/src/cli/check-frontmatter.d.ts +0 -12
  275. package/dist/src/cli/check-frontmatter.js +0 -44
  276. package/dist/src/cli/check-mode.d.ts +0 -21
  277. package/dist/src/cli/check-mode.js +0 -364
  278. package/dist/src/cli/check-status.d.ts +0 -74
  279. package/dist/src/cli/check-status.js +0 -217
  280. package/dist/src/cli/check.d.ts +0 -45
  281. package/dist/src/cli/check.js +0 -781
  282. package/dist/src/cli/context.d.ts +0 -11
  283. package/dist/src/cli/context.js +0 -58
  284. package/dist/src/cli/expand.d.ts +0 -8
  285. package/dist/src/cli/expand.js +0 -94
  286. package/dist/src/cli/gen-index.d.ts +0 -45
  287. package/dist/src/cli/gen-index.js +0 -235
  288. package/dist/src/cli/link-scheme.d.ts +0 -54
  289. package/dist/src/cli/link-scheme.js +0 -101
  290. package/dist/src/cli/locate.d.ts +0 -2
  291. package/dist/src/cli/locate.js +0 -17
  292. package/dist/src/cli/refs.d.ts +0 -22
  293. package/dist/src/cli/refs.js +0 -229
  294. package/dist/src/cli/section.d.ts +0 -43
  295. package/dist/src/cli/section.js +0 -252
  296. package/dist/src/cli/select-menu.d.ts +0 -13
  297. package/dist/src/cli/select-menu.js +0 -100
  298. package/dist/src/code-refs.d.ts +0 -17
  299. package/dist/src/code-refs.js +0 -298
  300. package/dist/src/config.d.ts +0 -29
  301. package/dist/src/config.js +0 -83
  302. package/dist/src/context.d.ts +0 -23
  303. package/dist/src/context.js +0 -11
  304. package/dist/src/extensions/wiki-link/from-markdown.d.ts +0 -5
  305. package/dist/src/extensions/wiki-link/from-markdown.js +0 -34
  306. package/dist/src/extensions/wiki-link/index.d.ts +0 -4
  307. package/dist/src/extensions/wiki-link/index.js +0 -3
  308. package/dist/src/extensions/wiki-link/syntax.d.ts +0 -14
  309. package/dist/src/extensions/wiki-link/syntax.js +0 -121
  310. package/dist/src/extensions/wiki-link/to-markdown.d.ts +0 -5
  311. package/dist/src/extensions/wiki-link/to-markdown.js +0 -28
  312. package/dist/src/extensions/wiki-link/types.d.ts +0 -34
  313. package/dist/src/format.d.ts +0 -8
  314. package/dist/src/format.js +0 -43
  315. package/dist/src/init-version.d.ts +0 -10
  316. package/dist/src/init-version.js +0 -49
  317. package/dist/src/lattice.d.ts +0 -109
  318. package/dist/src/lattice.js +0 -817
  319. package/dist/src/parser.d.ts +0 -3
  320. package/dist/src/parser.js +0 -18
  321. package/dist/src/source-parser.d.ts +0 -27
  322. package/dist/src/source-parser.js +0 -916
  323. package/dist/src/untrusted.d.ts +0 -18
  324. package/dist/src/untrusted.js +0 -93
  325. package/dist/src/view/client/assets/index-VZwPPiFE.js +0 -334
  326. package/dist/src/view/client/assets/index-W8ktvNj9.css +0 -1
  327. package/dist/src/view/client/assets/logo-CNF8zs47.svg +0 -182
  328. package/dist/src/walk.d.ts +0 -18
  329. package/dist/src/walk.js +0 -27
  330. /package/dist/src/{extensions/wiki-link → search}/types.js +0 -0
@@ -1,13 +1,8 @@
1
1
  #!/usr/bin/env node
2
- // Suppress deprecation warnings from transitive dependencies unless --verbose
3
- if (!process.argv.includes('--verbose')) {
4
- process.noDeprecation = true;
5
- }
6
- import { existsSync, readFileSync } from 'node:fs';
7
- import { dirname, join } from 'node:path';
8
- import { fileURLToPath } from 'node:url';
9
2
  import { Command, InvalidArgumentError } from 'commander';
10
- import { resolveCheckContext, resolveContext } from './context.js';
3
+ import { handleResult, packageVersion, } from '@plebeiantech/lat.md-core/cli';
4
+ import { resolveContext } from '@plebeiantech/lat.md-core/cli/context';
5
+ import { DEFAULT_SEARCH_LIMIT, DEFAULT_MIN_SIMILARITY, } from '../search/search.js';
11
6
  function parsePort(value) {
12
7
  if (!/^\d+$/.test(value)) {
13
8
  throw new InvalidArgumentError('port must be an integer from 1 to 65535');
@@ -18,8 +13,27 @@ function parsePort(value) {
18
13
  }
19
14
  return port;
20
15
  }
21
- /** Reserve `-- <directory>` for an explicit check target. */
22
- function splitCheckTarget(args) {
16
+ function parseUiServerBuildTarget(value) {
17
+ if (value !== 'node' && value !== 'vercel') {
18
+ throw new InvalidArgumentError('target must be node or vercel');
19
+ }
20
+ return value;
21
+ }
22
+ function configureUiRun(command) {
23
+ return command
24
+ .option('--logo-text <text>', 'top-left logo text')
25
+ .option('--no-git', 'disable Git working-tree integration')
26
+ .option('--port <number>', 'server port (default: 4242; explicit ports are strict)', parsePort);
27
+ }
28
+ function parseSimilarityThreshold(value) {
29
+ const threshold = Number(value);
30
+ if (!Number.isFinite(threshold) || threshold < 0 || threshold > 1) {
31
+ throw new InvalidArgumentError('min-similarity must be a number from 0 to 1');
32
+ }
33
+ return threshold;
34
+ }
35
+ import { resolveCheckContext } from '@plebeiantech/lat.md-core/cli/context';
36
+ function splitCheckTarget(args, name) {
23
37
  let commandIndex = -1;
24
38
  for (let i = 0; i < args.length; i++) {
25
39
  const arg = args[i];
@@ -42,7 +56,7 @@ function splitCheckTarget(args) {
42
56
  return { args };
43
57
  const targets = args.slice(separatorIndex + 1);
44
58
  if (targets.length !== 1 || targets[0] === '') {
45
- console.error('error: `lat check --` expects exactly one directory after `--`');
59
+ console.error(`error: \`${name} check --\` expects exactly one directory after \`--\``);
46
60
  process.exit(1);
47
61
  }
48
62
  return {
@@ -50,45 +64,27 @@ function splitCheckTarget(args) {
50
64
  target: targets[0],
51
65
  };
52
66
  }
53
- const checkTargetArgs = splitCheckTarget(process.argv.slice(2));
54
- function findPackageJson() {
55
- let dir = dirname(fileURLToPath(import.meta.url));
56
- while (true) {
57
- const candidate = join(dir, 'package.json');
58
- try {
59
- return JSON.parse(readFileSync(candidate, 'utf-8')).version;
60
- }
61
- catch { }
62
- const parent = dirname(dir);
63
- if (parent === dir)
64
- return '0.0.0';
65
- dir = parent;
66
- }
67
- }
68
- function handleResult(result) {
69
- if (result.isError) {
70
- console.error(result.output);
71
- process.exit(1);
72
- }
73
- if (result.output)
74
- console.log(result.output);
75
- }
76
- const version = findPackageJson();
67
+ const checkTargetArgs = splitCheckTarget(process.argv.slice(2), 'lat');
77
68
  const program = new Command();
78
69
  program
79
70
  .name('lat')
71
+ .version(packageVersion(import.meta.url))
80
72
  .description('Anchor source code to high-level concepts defined in markdown')
81
- .version(version)
82
73
  .option('--dir <path>', 'project root to look for lat.md in (default: cwd)')
83
74
  .option('--no-color', 'disable color output')
84
75
  .option('--verbose', 'show deprecation warnings and extra diagnostics');
76
+ if (checkTargetArgs.args.includes('--verbose'))
77
+ process.noDeprecation = false;
78
+ else
79
+ process.noDeprecation = true;
80
+ const args = checkTargetArgs.args;
85
81
  program
86
82
  .command('locate')
87
- .description('Find sections by id')
88
- .argument('<query>', 'section id to search for')
83
+ .description('Find section(s) by name or text')
84
+ .argument('<query>', 'name or text to search for')
89
85
  .action(async (query) => {
90
86
  const ctx = resolveContext(program.opts());
91
- const { locateCommand } = await import('./locate.js');
87
+ const { locateCommand } = await import('@plebeiantech/lat.md-core/cli/locate');
92
88
  handleResult(await locateCommand(ctx, query));
93
89
  });
94
90
  program
@@ -97,32 +93,65 @@ program
97
93
  .argument('<query>', 'section id to look up')
98
94
  .action(async (query) => {
99
95
  const ctx = resolveContext(program.opts());
100
- const { sectionCommand } = await import('./section.js');
96
+ const { sectionCommand } = await import('@plebeiantech/lat.md-core/cli/section');
101
97
  handleResult(await sectionCommand(ctx, query));
102
98
  });
103
- const ui = program
104
- .command('ui')
105
- .description('Open lat.md in a local browser')
106
- .option('--logo-text <text>', 'top-left logo text')
107
- .option('--port <number>', 'server port (default: 4242; explicit ports are strict)', parsePort)
108
- .action(async (opts) => {
99
+ program
100
+ .command('paths')
101
+ .description('Show configuration, cache, and temporary file locations')
102
+ .option('--config', 'show only the user configuration file path')
103
+ .action(async (options) => {
104
+ const { pathsCommand } = await import('@plebeiantech/lat.md-core/cli/paths');
105
+ console.log(pathsCommand({ ...program.opts(), ...options, search: true }));
106
+ });
107
+ async function runUi(opts) {
109
108
  const ctx = resolveContext(program.opts());
110
109
  const { uiCommand } = await import('./ui.js');
111
- handleResult(await uiCommand(ctx, { logoText: opts.logoText, port: opts.port }));
110
+ handleResult(await uiCommand(ctx, {
111
+ git: opts.git,
112
+ logoText: opts.logoText,
113
+ port: opts.port,
114
+ }));
115
+ }
116
+ const ui = configureUiRun(program.command('ui').description('Run or build the Lat UI')).action(runUi);
117
+ configureUiRun(ui.command('run').description('Run the local Lat UI server')).action(async (opts) => {
118
+ await runUi(opts);
112
119
  });
113
- ui.command('build')
114
- .description('Export lat.md as a static website')
115
- .argument('[output]', 'output directory relative to the project', 'lat-ui')
120
+ const uiBuild = ui.command('build').description('Build a deployable Lat UI');
121
+ uiBuild
122
+ .command('static')
123
+ .description('Build a fully static, read-only Lat UI')
124
+ .argument('[output]', 'output directory relative to the project (default: .lat-build/static)', '.lat-build/static')
116
125
  .option('--base <path>', 'deployment base path', '/')
126
+ .option('--force', 'replace an existing output path')
117
127
  .option('--logo-text <text>', 'top-left logo text')
118
128
  .action(async (output, opts) => {
119
129
  const ctx = resolveContext(program.opts());
120
130
  const { uiBuildCommand } = await import('./ui-build.js');
121
131
  handleResult(await uiBuildCommand(ctx, output, {
122
132
  basePath: opts.base,
133
+ force: opts.force,
123
134
  logoText: opts.logoText ?? ui.opts().logoText,
124
135
  }));
125
136
  });
137
+ uiBuild
138
+ .command('server')
139
+ .description('Build a static Lat UI with a portable search server')
140
+ .argument('[output]', 'output directory (default: .lat-build/server for node, .vercel/output for vercel)')
141
+ .option('--base <path>', 'deployment base path', '/')
142
+ .option('--force', 'replace an existing output path')
143
+ .option('--logo-text <text>', 'top-left logo text')
144
+ .option('--target <target>', 'deployment target: node or vercel', parseUiServerBuildTarget, 'node')
145
+ .action(async (output, opts) => {
146
+ const ctx = resolveContext(program.opts());
147
+ const { uiBuildServerCommand } = await import('./ui-build-server.js');
148
+ handleResult(await uiBuildServerCommand(ctx, output, {
149
+ basePath: opts.base,
150
+ force: opts.force,
151
+ logoText: opts.logoText ?? ui.opts().logoText,
152
+ target: opts.target,
153
+ }));
154
+ });
126
155
  program
127
156
  .command('refs')
128
157
  .description('Find references to a section')
@@ -135,18 +164,56 @@ program
135
164
  process.exit(1);
136
165
  }
137
166
  const ctx = resolveContext(program.opts());
138
- const { refsCommand } = await import('./refs.js');
167
+ const { refsCommand } = await import('@plebeiantech/lat.md-core/cli/refs');
139
168
  handleResult(await refsCommand(ctx, query, scope));
140
169
  });
170
+ const external = program
171
+ .command('external')
172
+ .description('Manage pinned external source repositories');
173
+ external
174
+ .command('add')
175
+ .argument('[handle]', 'stable external source handle')
176
+ .argument('[repo]', 'canonical HTTPS Git repository')
177
+ .option('--commit <commit-or-ref>', 'commit, branch, or tag to pin')
178
+ .option('--prefix <path>', 'repository path prefix')
179
+ .option('--default-file-extension <extension>', 'extension for external paths that omit one')
180
+ .option('--strategy <strategy>', 'retrieval strategy: fetch or checkout')
181
+ .option('--fetch-url <template>', 'raw-file URL template')
182
+ .action(async (handle, repo, opts) => {
183
+ const ctx = resolveContext(program.opts());
184
+ const { externalAddCommand } = await import('@plebeiantech/lat.md-core/cli/external');
185
+ handleResult(await externalAddCommand(ctx, handle, repo, opts));
186
+ });
187
+ external
188
+ .command('show')
189
+ .argument('<source>', 'handle or exact external target')
190
+ .option('--json', 'emit structured JSON')
191
+ .action(async (source, opts) => {
192
+ const ctx = resolveContext(program.opts());
193
+ const { externalShowCommand } = await import('@plebeiantech/lat.md-core/cli/external');
194
+ handleResult(await externalShowCommand(ctx, source, !!opts.json));
195
+ });
196
+ external
197
+ .command('list')
198
+ .option('--json', 'emit structured JSON')
199
+ .action(async (opts) => {
200
+ const ctx = resolveContext(program.opts());
201
+ const { externalListCommand } = await import('@plebeiantech/lat.md-core/cli/external');
202
+ handleResult(await externalListCommand(ctx, !!opts.json));
203
+ });
141
204
  const check = program
142
205
  .command('check')
143
206
  .usage('[subcommand] [-- <directory>]')
144
207
  .description('Validate markdown, links, code references, and structure')
145
208
  .option('--fix', 'generate/update directory index files from frontmatter')
209
+ .option('--profile', 'show detailed validation timing')
146
210
  .action(async (opts) => {
147
211
  const ctx = resolveCheckContext(program.opts(), checkTargetArgs.target);
148
- const { checkAllCommand } = await import('./check.js');
149
- handleResult(await checkAllCommand(ctx, { fix: opts.fix }));
212
+ const { checkAllCommand } = await import('@plebeiantech/lat.md-core/cli/check');
213
+ handleResult(await checkAllCommand(ctx, {
214
+ fix: opts.fix,
215
+ profile: !!opts.profile,
216
+ }));
150
217
  });
151
218
  check
152
219
  .command('md')
@@ -154,7 +221,7 @@ check
154
221
  .description('Validate wiki links in markdown files')
155
222
  .action(async () => {
156
223
  const ctx = resolveCheckContext(program.opts(), checkTargetArgs.target);
157
- const { checkMdCommand } = await import('./check.js');
224
+ const { checkMdCommand } = await import('@plebeiantech/lat.md-core/cli/check');
158
225
  handleResult(await checkMdCommand(ctx));
159
226
  });
160
227
  check
@@ -163,7 +230,7 @@ check
163
230
  .description('Validate relative markdown links')
164
231
  .action(async () => {
165
232
  const ctx = resolveCheckContext(program.opts(), checkTargetArgs.target);
166
- const { checkLinksCommand } = await import('./check.js');
233
+ const { checkLinksCommand } = await import('@plebeiantech/lat.md-core/cli/check');
167
234
  handleResult(await checkLinksCommand(ctx));
168
235
  });
169
236
  check
@@ -172,7 +239,7 @@ check
172
239
  .description('Validate @lat code references and coverage')
173
240
  .action(async () => {
174
241
  const ctx = resolveCheckContext(program.opts(), checkTargetArgs.target);
175
- const { checkCodeRefsCommand } = await import('./check.js');
242
+ const { checkCodeRefsCommand } = await import('@plebeiantech/lat.md-core/cli/check');
176
243
  handleResult(await checkCodeRefsCommand(ctx));
177
244
  });
178
245
  check
@@ -187,7 +254,7 @@ check
187
254
  // read it off `check.opts()` instead.
188
255
  .action(async () => {
189
256
  const ctx = resolveCheckContext(program.opts(), checkTargetArgs.target);
190
- const { checkIndexCommand } = await import('./check.js');
257
+ const { checkIndexCommand } = await import('@plebeiantech/lat.md-core/cli/check');
191
258
  handleResult(await checkIndexCommand(ctx, { fix: check.opts().fix }));
192
259
  });
193
260
  check
@@ -196,7 +263,7 @@ check
196
263
  .description('Validate section leading paragraphs')
197
264
  .action(async () => {
198
265
  const ctx = resolveCheckContext(program.opts(), checkTargetArgs.target);
199
- const { checkSectionsCommand } = await import('./check.js');
266
+ const { checkSectionsCommand } = await import('@plebeiantech/lat.md-core/cli/check');
200
267
  handleResult(await checkSectionsCommand(ctx));
201
268
  });
202
269
  check
@@ -205,7 +272,7 @@ check
205
272
  .description('Validate Diátaxis modes and document shape')
206
273
  .action(async () => {
207
274
  const ctx = resolveCheckContext(program.opts(), checkTargetArgs.target);
208
- const { checkModeCommand } = await import('./check.js');
275
+ const { checkModeCommand } = await import('@plebeiantech/lat.md-core/cli/check');
209
276
  handleResult(await checkModeCommand(ctx));
210
277
  });
211
278
  check
@@ -214,7 +281,7 @@ check
214
281
  .description('Validate provenance status and detect stale reviews')
215
282
  .action(async () => {
216
283
  const ctx = resolveCheckContext(program.opts(), checkTargetArgs.target);
217
- const { checkStatusCommand } = await import('./check.js');
284
+ const { checkStatusCommand } = await import('@plebeiantech/lat.md-core/cli/check');
218
285
  handleResult(await checkStatusCommand(ctx));
219
286
  });
220
287
  async function runExpand(text, opts) {
@@ -230,7 +297,7 @@ async function runExpand(text, opts) {
230
297
  process.exit(1);
231
298
  }
232
299
  const ctx = resolveContext(program.opts());
233
- const { expandCommand } = await import('./expand.js');
300
+ const { expandCommand } = await import('@plebeiantech/lat.md-core/cli/expand');
234
301
  const result = await expandCommand(ctx, text);
235
302
  if (result.isError) {
236
303
  console.error(result.output);
@@ -256,14 +323,26 @@ program
256
323
  });
257
324
  program
258
325
  .command('search')
259
- .description('Semantic search across lat.md sections')
326
+ .description('Hybrid search across lat.md sections')
260
327
  .argument('[query]', 'search query in plain English')
261
- .option('--limit <n>', 'max results', '5')
328
+ .option('--limit <n>', `max results (default: ${DEFAULT_SEARCH_LIMIT})`, String(DEFAULT_SEARCH_LIMIT))
329
+ .option('--preview <variant>', 'preview passage, intro, or both', (value) => {
330
+ if (!['passage', 'intro', 'both'].includes(value))
331
+ throw new InvalidArgumentError('preview must be passage, intro, or both');
332
+ return value;
333
+ }, 'passage')
334
+ .option('--debug', 'show retrieval scores and candidate diagnostics')
335
+ .option('--min-similarity <score>', `minimum cosine similarity score (default: ${DEFAULT_MIN_SIMILARITY})`, parseSimilarityThreshold)
262
336
  .action(async (query, opts) => {
263
337
  const ctx = resolveContext(program.opts());
264
338
  const { searchCommand, cliProgress } = await import('./search.js');
265
339
  const progress = cliProgress(ctx.styler);
266
- const result = await searchCommand(ctx, query, { limit: parseInt(opts.limit) }, progress);
340
+ const result = await searchCommand(ctx, query, {
341
+ limit: parseInt(opts.limit),
342
+ debug: opts.debug,
343
+ minSimilarity: opts.minSimilarity,
344
+ preview: opts.preview,
345
+ }, progress);
267
346
  handleResult(result);
268
347
  });
269
348
  program
@@ -310,13 +389,11 @@ program
310
389
  await startMcpServer();
311
390
  });
312
391
  program
313
- .command('config')
314
- .description('Show configuration file path')
392
+ .command('config', { hidden: true })
393
+ .description('Alias for paths --config')
315
394
  .action(async () => {
316
- const { getConfigPath } = await import('../config.js');
317
- const configPath = getConfigPath();
318
- const exists = existsSync(configPath);
319
- console.log(`Config file: ${configPath}${exists ? '' : ' (not found)'}`);
395
+ const { pathsCommand } = await import('@plebeiantech/lat.md-core/cli/paths');
396
+ console.log(pathsCommand({ config: true }));
320
397
  });
321
398
  program
322
399
  .command('graph')
@@ -0,0 +1,4 @@
1
+ /** Read machine-local checklist defaults without inferring installed agents. */
2
+ export declare function readInitAgents(latDir: string): string[];
3
+ /** Update just the confirmed selection, preserving other YAML and comments. */
4
+ export declare function writeInitAgents(latDir: string, agents: string[]): void;
@@ -0,0 +1,36 @@
1
+ import { projectWritePath, writeProjectFile, } from '@plebeiantech/lat.md-core/project-write';
2
+ import { existsSync, readFileSync } from 'node:fs';
3
+ import { dirname, join } from 'node:path';
4
+ import { isMap, parseDocument } from 'yaml';
5
+ function readPreferences(latDir) {
6
+ const path = projectWritePath(dirname(latDir), join(latDir, 'config.local.yaml'));
7
+ const document = parseDocument(existsSync(path) ? readFileSync(path, 'utf8') : '');
8
+ if (document.errors.length > 0) {
9
+ throw new Error(`Cannot parse ${path}: ${document.errors[0].message}`);
10
+ }
11
+ if (document.contents !== null && !isMap(document.contents)) {
12
+ throw new Error(`${path} must be a mapping`);
13
+ }
14
+ if (document.has('init') && !isMap(document.get('init', true))) {
15
+ throw new Error(`${path}: init must be a mapping`);
16
+ }
17
+ return { path, document };
18
+ }
19
+ /** Read machine-local checklist defaults without inferring installed agents. */
20
+ export function readInitAgents(latDir) {
21
+ const { path, document } = readPreferences(latDir);
22
+ const agents = document.toJS()?.init?.agents;
23
+ if (agents === undefined)
24
+ return [];
25
+ if (!Array.isArray(agents) ||
26
+ agents.some((agent) => typeof agent !== 'string')) {
27
+ throw new Error(`${path}: init.agents must be a list of strings`);
28
+ }
29
+ return agents;
30
+ }
31
+ /** Update just the confirmed selection, preserving other YAML and comments. */
32
+ export function writeInitAgents(latDir, agents) {
33
+ const { path, document } = readPreferences(latDir);
34
+ document.setIn(['init', 'agents'], agents);
35
+ writeProjectFile(dirname(latDir), path, document.toString());
36
+ }
@@ -3,7 +3,8 @@ type LatCommandStyle = 'global' | 'local' | 'npx';
3
3
  * Remove all lat-owned hook entries from settings, then add fresh ones.
4
4
  * Preserves any non-lat hooks the user may have configured.
5
5
  */
6
- export declare function syncLatHooks(settingsPath: string, style: LatCommandStyle, agent?: 'claude' | 'codex'): void;
6
+ export declare function syncLatHooks(settingsPath: string, style: LatCommandStyle, agent?: 'claude' | 'codex', root?: string): void;
7
7
  export declare function readLogo(): string;
8
+ export declare function ensureLatLocalConfigIgnored(latDir: string): void;
8
9
  export declare function initCmd(targetDir?: string): Promise<void>;
9
10
  export {};