kontexta 4.3.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 (788) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +58 -0
  3. package/bundle/standalone/CHANGELOG.md +382 -0
  4. package/bundle/standalone/apps/web/.next/BUILD_ID +1 -0
  5. package/bundle/standalone/apps/web/.next/app-build-manifest.json +403 -0
  6. package/bundle/standalone/apps/web/.next/app-path-routes-manifest.json +60 -0
  7. package/bundle/standalone/apps/web/.next/build-manifest.json +33 -0
  8. package/bundle/standalone/apps/web/.next/package.json +1 -0
  9. package/bundle/standalone/apps/web/.next/prerender-manifest.json +148 -0
  10. package/bundle/standalone/apps/web/.next/react-loadable-manifest.json +300 -0
  11. package/bundle/standalone/apps/web/.next/required-server-files.json +344 -0
  12. package/bundle/standalone/apps/web/.next/routes-manifest.json +210 -0
  13. package/bundle/standalone/apps/web/.next/server/app/_not-found/page.js +2 -0
  14. package/bundle/standalone/apps/web/.next/server/app/_not-found/page.js.nft.json +1 -0
  15. package/bundle/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  16. package/bundle/standalone/apps/web/.next/server/app/_not-found.html +1 -0
  17. package/bundle/standalone/apps/web/.next/server/app/_not-found.meta +8 -0
  18. package/bundle/standalone/apps/web/.next/server/app/_not-found.rsc +22 -0
  19. package/bundle/standalone/apps/web/.next/server/app/api/about/route.js +1 -0
  20. package/bundle/standalone/apps/web/.next/server/app/api/about/route.js.nft.json +1 -0
  21. package/bundle/standalone/apps/web/.next/server/app/api/about/route_client-reference-manifest.js +1 -0
  22. package/bundle/standalone/apps/web/.next/server/app/api/auth/login/route.js +1 -0
  23. package/bundle/standalone/apps/web/.next/server/app/api/auth/login/route.js.nft.json +1 -0
  24. package/bundle/standalone/apps/web/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -0
  25. package/bundle/standalone/apps/web/.next/server/app/api/auth/logout/route.js +1 -0
  26. package/bundle/standalone/apps/web/.next/server/app/api/auth/logout/route.js.nft.json +1 -0
  27. package/bundle/standalone/apps/web/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -0
  28. package/bundle/standalone/apps/web/.next/server/app/api/auth/setup/route.js +1 -0
  29. package/bundle/standalone/apps/web/.next/server/app/api/auth/setup/route.js.nft.json +1 -0
  30. package/bundle/standalone/apps/web/.next/server/app/api/auth/setup/route_client-reference-manifest.js +1 -0
  31. package/bundle/standalone/apps/web/.next/server/app/api/auth/status/route.js +1 -0
  32. package/bundle/standalone/apps/web/.next/server/app/api/auth/status/route.js.nft.json +1 -0
  33. package/bundle/standalone/apps/web/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -0
  34. package/bundle/standalone/apps/web/.next/server/app/api/auth/token/route.js +1 -0
  35. package/bundle/standalone/apps/web/.next/server/app/api/auth/token/route.js.nft.json +1 -0
  36. package/bundle/standalone/apps/web/.next/server/app/api/auth/token/route_client-reference-manifest.js +1 -0
  37. package/bundle/standalone/apps/web/.next/server/app/api/calendar/conflicts/route.js +1 -0
  38. package/bundle/standalone/apps/web/.next/server/app/api/calendar/conflicts/route.js.nft.json +1 -0
  39. package/bundle/standalone/apps/web/.next/server/app/api/calendar/conflicts/route_client-reference-manifest.js +1 -0
  40. package/bundle/standalone/apps/web/.next/server/app/api/calendar/entities/[id]/route.js +1 -0
  41. package/bundle/standalone/apps/web/.next/server/app/api/calendar/entities/[id]/route.js.nft.json +1 -0
  42. package/bundle/standalone/apps/web/.next/server/app/api/calendar/entities/[id]/route_client-reference-manifest.js +1 -0
  43. package/bundle/standalone/apps/web/.next/server/app/api/calendar/entities/route.js +1 -0
  44. package/bundle/standalone/apps/web/.next/server/app/api/calendar/entities/route.js.nft.json +1 -0
  45. package/bundle/standalone/apps/web/.next/server/app/api/calendar/entities/route_client-reference-manifest.js +1 -0
  46. package/bundle/standalone/apps/web/.next/server/app/api/calendar/events/[id]/route.js +1 -0
  47. package/bundle/standalone/apps/web/.next/server/app/api/calendar/events/[id]/route.js.nft.json +1 -0
  48. package/bundle/standalone/apps/web/.next/server/app/api/calendar/events/[id]/route_client-reference-manifest.js +1 -0
  49. package/bundle/standalone/apps/web/.next/server/app/api/calendar/events/route.js +1 -0
  50. package/bundle/standalone/apps/web/.next/server/app/api/calendar/events/route.js.nft.json +1 -0
  51. package/bundle/standalone/apps/web/.next/server/app/api/calendar/events/route_client-reference-manifest.js +1 -0
  52. package/bundle/standalone/apps/web/.next/server/app/api/calendar/ics/route.js +1 -0
  53. package/bundle/standalone/apps/web/.next/server/app/api/calendar/ics/route.js.nft.json +1 -0
  54. package/bundle/standalone/apps/web/.next/server/app/api/calendar/ics/route_client-reference-manifest.js +1 -0
  55. package/bundle/standalone/apps/web/.next/server/app/api/calendar/links/route.js +1 -0
  56. package/bundle/standalone/apps/web/.next/server/app/api/calendar/links/route.js.nft.json +1 -0
  57. package/bundle/standalone/apps/web/.next/server/app/api/calendar/links/route_client-reference-manifest.js +1 -0
  58. package/bundle/standalone/apps/web/.next/server/app/api/calendar/settings/route.js +1 -0
  59. package/bundle/standalone/apps/web/.next/server/app/api/calendar/settings/route.js.nft.json +1 -0
  60. package/bundle/standalone/apps/web/.next/server/app/api/calendar/settings/route_client-reference-manifest.js +1 -0
  61. package/bundle/standalone/apps/web/.next/server/app/api/clip/route.js +1 -0
  62. package/bundle/standalone/apps/web/.next/server/app/api/clip/route.js.nft.json +1 -0
  63. package/bundle/standalone/apps/web/.next/server/app/api/clip/route_client-reference-manifest.js +1 -0
  64. package/bundle/standalone/apps/web/.next/server/app/api/docker-config/route.js +1 -0
  65. package/bundle/standalone/apps/web/.next/server/app/api/docker-config/route.js.nft.json +1 -0
  66. package/bundle/standalone/apps/web/.next/server/app/api/docker-config/route_client-reference-manifest.js +1 -0
  67. package/bundle/standalone/apps/web/.next/server/app/api/export/zip/route.js +1 -0
  68. package/bundle/standalone/apps/web/.next/server/app/api/export/zip/route.js.nft.json +1 -0
  69. package/bundle/standalone/apps/web/.next/server/app/api/export/zip/route_client-reference-manifest.js +1 -0
  70. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/download/route.js +1 -0
  71. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/download/route.js.nft.json +1 -0
  72. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/download/route_client-reference-manifest.js +1 -0
  73. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/export-pdf/route.js +1 -0
  74. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/export-pdf/route.js.nft.json +1 -0
  75. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/export-pdf/route_client-reference-manifest.js +1 -0
  76. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/history/restore/route.js +1 -0
  77. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/history/restore/route.js.nft.json +1 -0
  78. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/history/restore/route_client-reference-manifest.js +1 -0
  79. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/history/route.js +1 -0
  80. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/history/route.js.nft.json +1 -0
  81. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/history/route_client-reference-manifest.js +1 -0
  82. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/move/route.js +1 -0
  83. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/move/route.js.nft.json +1 -0
  84. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/move/route_client-reference-manifest.js +1 -0
  85. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/route.js +1 -0
  86. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/route.js.nft.json +1 -0
  87. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/route_client-reference-manifest.js +1 -0
  88. package/bundle/standalone/apps/web/.next/server/app/api/files/route.js +1 -0
  89. package/bundle/standalone/apps/web/.next/server/app/api/files/route.js.nft.json +1 -0
  90. package/bundle/standalone/apps/web/.next/server/app/api/files/route_client-reference-manifest.js +1 -0
  91. package/bundle/standalone/apps/web/.next/server/app/api/files/upload/route.js +1 -0
  92. package/bundle/standalone/apps/web/.next/server/app/api/files/upload/route.js.nft.json +1 -0
  93. package/bundle/standalone/apps/web/.next/server/app/api/files/upload/route_client-reference-manifest.js +1 -0
  94. package/bundle/standalone/apps/web/.next/server/app/api/folders/route.js +1 -0
  95. package/bundle/standalone/apps/web/.next/server/app/api/folders/route.js.nft.json +1 -0
  96. package/bundle/standalone/apps/web/.next/server/app/api/folders/route_client-reference-manifest.js +1 -0
  97. package/bundle/standalone/apps/web/.next/server/app/api/git/remote/route.js +1 -0
  98. package/bundle/standalone/apps/web/.next/server/app/api/git/remote/route.js.nft.json +1 -0
  99. package/bundle/standalone/apps/web/.next/server/app/api/git/remote/route_client-reference-manifest.js +1 -0
  100. package/bundle/standalone/apps/web/.next/server/app/api/git/sync-all/route.js +1 -0
  101. package/bundle/standalone/apps/web/.next/server/app/api/git/sync-all/route.js.nft.json +1 -0
  102. package/bundle/standalone/apps/web/.next/server/app/api/git/sync-all/route_client-reference-manifest.js +1 -0
  103. package/bundle/standalone/apps/web/.next/server/app/api/hands/test-pattern/route.js +1 -0
  104. package/bundle/standalone/apps/web/.next/server/app/api/hands/test-pattern/route.js.nft.json +1 -0
  105. package/bundle/standalone/apps/web/.next/server/app/api/hands/test-pattern/route_client-reference-manifest.js +1 -0
  106. package/bundle/standalone/apps/web/.next/server/app/api/hands/validate/route.js +1 -0
  107. package/bundle/standalone/apps/web/.next/server/app/api/hands/validate/route.js.nft.json +1 -0
  108. package/bundle/standalone/apps/web/.next/server/app/api/hands/validate/route_client-reference-manifest.js +1 -0
  109. package/bundle/standalone/apps/web/.next/server/app/api/health/route.js +1 -0
  110. package/bundle/standalone/apps/web/.next/server/app/api/health/route.js.nft.json +1 -0
  111. package/bundle/standalone/apps/web/.next/server/app/api/health/route_client-reference-manifest.js +1 -0
  112. package/bundle/standalone/apps/web/.next/server/app/api/install-snippets/route.js +17 -0
  113. package/bundle/standalone/apps/web/.next/server/app/api/install-snippets/route.js.nft.json +1 -0
  114. package/bundle/standalone/apps/web/.next/server/app/api/install-snippets/route_client-reference-manifest.js +1 -0
  115. package/bundle/standalone/apps/web/.next/server/app/api/mcp-tools/route.js +1 -0
  116. package/bundle/standalone/apps/web/.next/server/app/api/mcp-tools/route.js.nft.json +1 -0
  117. package/bundle/standalone/apps/web/.next/server/app/api/mcp-tools/route_client-reference-manifest.js +1 -0
  118. package/bundle/standalone/apps/web/.next/server/app/api/profile/route.js +1 -0
  119. package/bundle/standalone/apps/web/.next/server/app/api/profile/route.js.nft.json +1 -0
  120. package/bundle/standalone/apps/web/.next/server/app/api/profile/route_client-reference-manifest.js +1 -0
  121. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/hands-config/route.js +1 -0
  122. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/hands-config/route.js.nft.json +1 -0
  123. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/hands-config/route_client-reference-manifest.js +1 -0
  124. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/journal-config/route.js +1 -0
  125. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/journal-config/route.js.nft.json +1 -0
  126. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/journal-config/route_client-reference-manifest.js +1 -0
  127. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/journal-status/route.js +1 -0
  128. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/journal-status/route.js.nft.json +1 -0
  129. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/journal-status/route_client-reference-manifest.js +1 -0
  130. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/onboard/route.js +1 -0
  131. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/onboard/route.js.nft.json +1 -0
  132. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/onboard/route_client-reference-manifest.js +1 -0
  133. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/refresh/route.js +1 -0
  134. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/refresh/route.js.nft.json +1 -0
  135. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/refresh/route_client-reference-manifest.js +1 -0
  136. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/route.js +1 -0
  137. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/route.js.nft.json +1 -0
  138. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -0
  139. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/sync/route.js +1 -0
  140. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/sync/route.js.nft.json +1 -0
  141. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/sync/route_client-reference-manifest.js +1 -0
  142. package/bundle/standalone/apps/web/.next/server/app/api/projects/onboard/route.js +1 -0
  143. package/bundle/standalone/apps/web/.next/server/app/api/projects/onboard/route.js.nft.json +1 -0
  144. package/bundle/standalone/apps/web/.next/server/app/api/projects/onboard/route_client-reference-manifest.js +1 -0
  145. package/bundle/standalone/apps/web/.next/server/app/api/projects/route.js +1 -0
  146. package/bundle/standalone/apps/web/.next/server/app/api/projects/route.js.nft.json +1 -0
  147. package/bundle/standalone/apps/web/.next/server/app/api/projects/route_client-reference-manifest.js +1 -0
  148. package/bundle/standalone/apps/web/.next/server/app/api/publish/html/route.js +1 -0
  149. package/bundle/standalone/apps/web/.next/server/app/api/publish/html/route.js.nft.json +1 -0
  150. package/bundle/standalone/apps/web/.next/server/app/api/publish/html/route_client-reference-manifest.js +1 -0
  151. package/bundle/standalone/apps/web/.next/server/app/api/publish/route.js +1 -0
  152. package/bundle/standalone/apps/web/.next/server/app/api/publish/route.js.nft.json +1 -0
  153. package/bundle/standalone/apps/web/.next/server/app/api/publish/route_client-reference-manifest.js +1 -0
  154. package/bundle/standalone/apps/web/.next/server/app/api/refresh/route.js +1 -0
  155. package/bundle/standalone/apps/web/.next/server/app/api/refresh/route.js.nft.json +1 -0
  156. package/bundle/standalone/apps/web/.next/server/app/api/refresh/route_client-reference-manifest.js +1 -0
  157. package/bundle/standalone/apps/web/.next/server/app/api/reindex/route.js +1 -0
  158. package/bundle/standalone/apps/web/.next/server/app/api/reindex/route.js.nft.json +1 -0
  159. package/bundle/standalone/apps/web/.next/server/app/api/reindex/route_client-reference-manifest.js +1 -0
  160. package/bundle/standalone/apps/web/.next/server/app/api/search/route.js +1 -0
  161. package/bundle/standalone/apps/web/.next/server/app/api/search/route.js.nft.json +1 -0
  162. package/bundle/standalone/apps/web/.next/server/app/api/search/route_client-reference-manifest.js +1 -0
  163. package/bundle/standalone/apps/web/.next/server/app/api/tags/route.js +1 -0
  164. package/bundle/standalone/apps/web/.next/server/app/api/tags/route.js.nft.json +1 -0
  165. package/bundle/standalone/apps/web/.next/server/app/api/tags/route_client-reference-manifest.js +1 -0
  166. package/bundle/standalone/apps/web/.next/server/app/api/ws-config/route.js +1 -0
  167. package/bundle/standalone/apps/web/.next/server/app/api/ws-config/route.js.nft.json +1 -0
  168. package/bundle/standalone/apps/web/.next/server/app/api/ws-config/route_client-reference-manifest.js +1 -0
  169. package/bundle/standalone/apps/web/.next/server/app/apple-icon.png/route.js +1 -0
  170. package/bundle/standalone/apps/web/.next/server/app/apple-icon.png/route.js.nft.json +1 -0
  171. package/bundle/standalone/apps/web/.next/server/app/apple-icon.png.body +0 -0
  172. package/bundle/standalone/apps/web/.next/server/app/apple-icon.png.meta +1 -0
  173. package/bundle/standalone/apps/web/.next/server/app/calendar/page.js +2 -0
  174. package/bundle/standalone/apps/web/.next/server/app/calendar/page.js.nft.json +1 -0
  175. package/bundle/standalone/apps/web/.next/server/app/calendar/page_client-reference-manifest.js +1 -0
  176. package/bundle/standalone/apps/web/.next/server/app/favicon.ico/route.js +1 -0
  177. package/bundle/standalone/apps/web/.next/server/app/favicon.ico/route.js.nft.json +1 -0
  178. package/bundle/standalone/apps/web/.next/server/app/favicon.ico.body +0 -0
  179. package/bundle/standalone/apps/web/.next/server/app/favicon.ico.meta +1 -0
  180. package/bundle/standalone/apps/web/.next/server/app/icon.png/route.js +1 -0
  181. package/bundle/standalone/apps/web/.next/server/app/icon.png/route.js.nft.json +1 -0
  182. package/bundle/standalone/apps/web/.next/server/app/icon.png.body +0 -0
  183. package/bundle/standalone/apps/web/.next/server/app/icon.png.meta +1 -0
  184. package/bundle/standalone/apps/web/.next/server/app/login/page.js +2 -0
  185. package/bundle/standalone/apps/web/.next/server/app/login/page.js.nft.json +1 -0
  186. package/bundle/standalone/apps/web/.next/server/app/login/page_client-reference-manifest.js +1 -0
  187. package/bundle/standalone/apps/web/.next/server/app/page.js +9 -0
  188. package/bundle/standalone/apps/web/.next/server/app/page.js.nft.json +1 -0
  189. package/bundle/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -0
  190. package/bundle/standalone/apps/web/.next/server/app/preview/motifs/page.js +6 -0
  191. package/bundle/standalone/apps/web/.next/server/app/preview/motifs/page.js.nft.json +1 -0
  192. package/bundle/standalone/apps/web/.next/server/app/preview/motifs/page_client-reference-manifest.js +1 -0
  193. package/bundle/standalone/apps/web/.next/server/app/preview/motifs.html +5 -0
  194. package/bundle/standalone/apps/web/.next/server/app/preview/motifs.meta +7 -0
  195. package/bundle/standalone/apps/web/.next/server/app/preview/motifs.rsc +29 -0
  196. package/bundle/standalone/apps/web/.next/server/app-paths-manifest.json +60 -0
  197. package/bundle/standalone/apps/web/.next/server/chunks/1018.js +115 -0
  198. package/bundle/standalone/apps/web/.next/server/chunks/1096.js +23 -0
  199. package/bundle/standalone/apps/web/.next/server/chunks/1139.js +1 -0
  200. package/bundle/standalone/apps/web/.next/server/chunks/128.js +1 -0
  201. package/bundle/standalone/apps/web/.next/server/chunks/1921.js +1 -0
  202. package/bundle/standalone/apps/web/.next/server/chunks/2034.js +36 -0
  203. package/bundle/standalone/apps/web/.next/server/chunks/2048.js +64 -0
  204. package/bundle/standalone/apps/web/.next/server/chunks/2065.js +1 -0
  205. package/bundle/standalone/apps/web/.next/server/chunks/2144.js +1 -0
  206. package/bundle/standalone/apps/web/.next/server/chunks/2151.js +1 -0
  207. package/bundle/standalone/apps/web/.next/server/chunks/2161.js +153 -0
  208. package/bundle/standalone/apps/web/.next/server/chunks/2450.js +1 -0
  209. package/bundle/standalone/apps/web/.next/server/chunks/246.js +1 -0
  210. package/bundle/standalone/apps/web/.next/server/chunks/260.js +24 -0
  211. package/bundle/standalone/apps/web/.next/server/chunks/269.js +1 -0
  212. package/bundle/standalone/apps/web/.next/server/chunks/2792.js +287 -0
  213. package/bundle/standalone/apps/web/.next/server/chunks/2923.js +22 -0
  214. package/bundle/standalone/apps/web/.next/server/chunks/2944.js +77 -0
  215. package/bundle/standalone/apps/web/.next/server/chunks/3334.js +141 -0
  216. package/bundle/standalone/apps/web/.next/server/chunks/3668.js +9 -0
  217. package/bundle/standalone/apps/web/.next/server/chunks/3758.js +1 -0
  218. package/bundle/standalone/apps/web/.next/server/chunks/3833.js +1 -0
  219. package/bundle/standalone/apps/web/.next/server/chunks/3990.js +2 -0
  220. package/bundle/standalone/apps/web/.next/server/chunks/4274.js +1 -0
  221. package/bundle/standalone/apps/web/.next/server/chunks/4290.js +252 -0
  222. package/bundle/standalone/apps/web/.next/server/chunks/4347.js +1 -0
  223. package/bundle/standalone/apps/web/.next/server/chunks/4550.js +226 -0
  224. package/bundle/standalone/apps/web/.next/server/chunks/4824.js +166 -0
  225. package/bundle/standalone/apps/web/.next/server/chunks/509.js +43 -0
  226. package/bundle/standalone/apps/web/.next/server/chunks/5104.js +215 -0
  227. package/bundle/standalone/apps/web/.next/server/chunks/5186.js +1 -0
  228. package/bundle/standalone/apps/web/.next/server/chunks/5400.js +1 -0
  229. package/bundle/standalone/apps/web/.next/server/chunks/5558.js +80 -0
  230. package/bundle/standalone/apps/web/.next/server/chunks/6496.js +93 -0
  231. package/bundle/standalone/apps/web/.next/server/chunks/6693.js +148 -0
  232. package/bundle/standalone/apps/web/.next/server/chunks/6775.js +1 -0
  233. package/bundle/standalone/apps/web/.next/server/chunks/7020.js +29 -0
  234. package/bundle/standalone/apps/web/.next/server/chunks/7098.js +1 -0
  235. package/bundle/standalone/apps/web/.next/server/chunks/7117.js +1 -0
  236. package/bundle/standalone/apps/web/.next/server/chunks/7204.js +104 -0
  237. package/bundle/standalone/apps/web/.next/server/chunks/7342.js +1 -0
  238. package/bundle/standalone/apps/web/.next/server/chunks/7629.js +80 -0
  239. package/bundle/standalone/apps/web/.next/server/chunks/7784.js +1 -0
  240. package/bundle/standalone/apps/web/.next/server/chunks/8286.js +1 -0
  241. package/bundle/standalone/apps/web/.next/server/chunks/8349.js +1 -0
  242. package/bundle/standalone/apps/web/.next/server/chunks/8620.js +1 -0
  243. package/bundle/standalone/apps/web/.next/server/chunks/8675.js +1 -0
  244. package/bundle/standalone/apps/web/.next/server/chunks/8860.js +24 -0
  245. package/bundle/standalone/apps/web/.next/server/chunks/8896.js +1 -0
  246. package/bundle/standalone/apps/web/.next/server/chunks/8950.js +5 -0
  247. package/bundle/standalone/apps/web/.next/server/chunks/8960.js +79 -0
  248. package/bundle/standalone/apps/web/.next/server/chunks/899.js +2 -0
  249. package/bundle/standalone/apps/web/.next/server/chunks/9069.js +1 -0
  250. package/bundle/standalone/apps/web/.next/server/chunks/9315.js +34 -0
  251. package/bundle/standalone/apps/web/.next/server/chunks/9372.js +1 -0
  252. package/bundle/standalone/apps/web/.next/server/chunks/9555.js +6 -0
  253. package/bundle/standalone/apps/web/.next/server/chunks/9571.js +9 -0
  254. package/bundle/standalone/apps/web/.next/server/chunks/9681.js +1 -0
  255. package/bundle/standalone/apps/web/.next/server/chunks/97.js +90 -0
  256. package/bundle/standalone/apps/web/.next/server/chunks/9797.js +1 -0
  257. package/bundle/standalone/apps/web/.next/server/chunks/989.js +1 -0
  258. package/bundle/standalone/apps/web/.next/server/functions-config-manifest.json +4 -0
  259. package/bundle/standalone/apps/web/.next/server/instrumentation.js +1 -0
  260. package/bundle/standalone/apps/web/.next/server/middleware-build-manifest.js +1 -0
  261. package/bundle/standalone/apps/web/.next/server/middleware-manifest.json +6 -0
  262. package/bundle/standalone/apps/web/.next/server/middleware-react-loadable-manifest.js +1 -0
  263. package/bundle/standalone/apps/web/.next/server/next-font-manifest.js +1 -0
  264. package/bundle/standalone/apps/web/.next/server/next-font-manifest.json +1 -0
  265. package/bundle/standalone/apps/web/.next/server/pages/404.html +1 -0
  266. package/bundle/standalone/apps/web/.next/server/pages/500.html +1 -0
  267. package/bundle/standalone/apps/web/.next/server/pages/_app.js +1 -0
  268. package/bundle/standalone/apps/web/.next/server/pages/_app.js.nft.json +1 -0
  269. package/bundle/standalone/apps/web/.next/server/pages/_document.js +1 -0
  270. package/bundle/standalone/apps/web/.next/server/pages/_document.js.nft.json +1 -0
  271. package/bundle/standalone/apps/web/.next/server/pages/_error.js +19 -0
  272. package/bundle/standalone/apps/web/.next/server/pages/_error.js.nft.json +1 -0
  273. package/bundle/standalone/apps/web/.next/server/pages-manifest.json +6 -0
  274. package/bundle/standalone/apps/web/.next/server/server-reference-manifest.js +1 -0
  275. package/bundle/standalone/apps/web/.next/server/server-reference-manifest.json +1 -0
  276. package/bundle/standalone/apps/web/.next/server/webpack-runtime.js +1 -0
  277. package/bundle/standalone/apps/web/.next/static/TwaiLte1NHCp3gRYUc-go/_buildManifest.js +1 -0
  278. package/bundle/standalone/apps/web/.next/static/TwaiLte1NHCp3gRYUc-go/_ssgManifest.js +1 -0
  279. package/bundle/standalone/apps/web/.next/static/chunks/02852184.a3b62691cdc349cf.js +80 -0
  280. package/bundle/standalone/apps/web/.next/static/chunks/1226.49d217dc03a1770f.js +1 -0
  281. package/bundle/standalone/apps/web/.next/static/chunks/1286.8da72129ab3aa8fd.js +77 -0
  282. package/bundle/standalone/apps/web/.next/static/chunks/1403cfaa-33c2b74c127517c2.js +1 -0
  283. package/bundle/standalone/apps/web/.next/static/chunks/171.a4732e77e941b2cd.js +1 -0
  284. package/bundle/standalone/apps/web/.next/static/chunks/1733.3a6dae5cc3785d0b.js +1 -0
  285. package/bundle/standalone/apps/web/.next/static/chunks/2081.313746c212bfc5c9.js +1 -0
  286. package/bundle/standalone/apps/web/.next/static/chunks/2086.0b05a08670aae1db.js +226 -0
  287. package/bundle/standalone/apps/web/.next/static/chunks/2377-956eb9b333193ac6.js +1 -0
  288. package/bundle/standalone/apps/web/.next/static/chunks/3034.e1171cbeeed85923.js +5 -0
  289. package/bundle/standalone/apps/web/.next/static/chunks/3068-293b252158eb9d15.js +1 -0
  290. package/bundle/standalone/apps/web/.next/static/chunks/3297.7664b51ee69c7513.js +23 -0
  291. package/bundle/standalone/apps/web/.next/static/chunks/338.77f45c7810885961.js +115 -0
  292. package/bundle/standalone/apps/web/.next/static/chunks/3471.7790a4192ef84a1a.js +1 -0
  293. package/bundle/standalone/apps/web/.next/static/chunks/3514.14aa56fe189fd052.js +1 -0
  294. package/bundle/standalone/apps/web/.next/static/chunks/3696.5d462babda0c0b9e.js +34 -0
  295. package/bundle/standalone/apps/web/.next/static/chunks/408.82356d1e11e880d9.js +93 -0
  296. package/bundle/standalone/apps/web/.next/static/chunks/46.9922e50f2158e1a9.js +1 -0
  297. package/bundle/standalone/apps/web/.next/static/chunks/4798.d851e8027b2db933.js +287 -0
  298. package/bundle/standalone/apps/web/.next/static/chunks/4908.2fed0b6fbc391b55.js +1 -0
  299. package/bundle/standalone/apps/web/.next/static/chunks/4915.97b9c59991c26fa7.js +1 -0
  300. package/bundle/standalone/apps/web/.next/static/chunks/492.234794e12315e4bb.js +1 -0
  301. package/bundle/standalone/apps/web/.next/static/chunks/4936.c65cdd63440ade70.js +1 -0
  302. package/bundle/standalone/apps/web/.next/static/chunks/5127.e5e917b5cb9c4e52.js +1 -0
  303. package/bundle/standalone/apps/web/.next/static/chunks/5141.93a42ebd1580da60.js +1 -0
  304. package/bundle/standalone/apps/web/.next/static/chunks/5159-7bcf68ab11c1091e.js +1 -0
  305. package/bundle/standalone/apps/web/.next/static/chunks/5514.f969d5c86c590512.js +73 -0
  306. package/bundle/standalone/apps/web/.next/static/chunks/559.c4615787d977bf47.js +1 -0
  307. package/bundle/standalone/apps/web/.next/static/chunks/5667.e0097b2112faa29b.js +1 -0
  308. package/bundle/standalone/apps/web/.next/static/chunks/6367.fd87728718a97771.js +1 -0
  309. package/bundle/standalone/apps/web/.next/static/chunks/6394.c2172a59c01bd0bd.js +1 -0
  310. package/bundle/standalone/apps/web/.next/static/chunks/6396.d288334e13a70139.js +24 -0
  311. package/bundle/standalone/apps/web/.next/static/chunks/6483.88695b22b21b10f1.js +9 -0
  312. package/bundle/standalone/apps/web/.next/static/chunks/6561.176d35e576df3f9d.js +1 -0
  313. package/bundle/standalone/apps/web/.next/static/chunks/6584.87fc375a0510108d.js +104 -0
  314. package/bundle/standalone/apps/web/.next/static/chunks/693.71c8b97896628a66.js +1 -0
  315. package/bundle/standalone/apps/web/.next/static/chunks/6934.45e50410379dc377.js +79 -0
  316. package/bundle/standalone/apps/web/.next/static/chunks/6a2ca82e.c26cb70da3106c1c.js +1 -0
  317. package/bundle/standalone/apps/web/.next/static/chunks/6b5bb80a.c511153adad62faf.js +1 -0
  318. package/bundle/standalone/apps/web/.next/static/chunks/7216.d1b096d2a35967fd.js +1 -0
  319. package/bundle/standalone/apps/web/.next/static/chunks/7342.fcb52cf5f7ce0e17.js +29 -0
  320. package/bundle/standalone/apps/web/.next/static/chunks/7541.43ff810bb14fd5c0.js +43 -0
  321. package/bundle/standalone/apps/web/.next/static/chunks/7563.376c2692778a62b3.js +148 -0
  322. package/bundle/standalone/apps/web/.next/static/chunks/7756.b0dd00e996549a39.js +24 -0
  323. package/bundle/standalone/apps/web/.next/static/chunks/8052.69c066e56bbd5d6c.js +64 -0
  324. package/bundle/standalone/apps/web/.next/static/chunks/8080c6f4.ed360e7424d6fe99.js +62 -0
  325. package/bundle/standalone/apps/web/.next/static/chunks/8280.81c2b0d61e27a576.js +1 -0
  326. package/bundle/standalone/apps/web/.next/static/chunks/8547.5bef8f1afd162429.js +90 -0
  327. package/bundle/standalone/apps/web/.next/static/chunks/8602.0b457ca55bd2c08e.js +141 -0
  328. package/bundle/standalone/apps/web/.next/static/chunks/8794.401ab179d53aa5d5.js +80 -0
  329. package/bundle/standalone/apps/web/.next/static/chunks/9053.c953d758ff5dc6ee.js +1 -0
  330. package/bundle/standalone/apps/web/.next/static/chunks/9122.cf7fd16fc8d7fad0.js +36 -0
  331. package/bundle/standalone/apps/web/.next/static/chunks/9255.78469e88fa06e186.js +1 -0
  332. package/bundle/standalone/apps/web/.next/static/chunks/944.ba7dcdca1c72114a.js +166 -0
  333. package/bundle/standalone/apps/web/.next/static/chunks/9794-16144bed6de4bf26.js +1 -0
  334. package/bundle/standalone/apps/web/.next/static/chunks/9852.e1937ca867a99475.js +215 -0
  335. package/bundle/standalone/apps/web/.next/static/chunks/9981.8fa0bb90a26c66eb.js +1 -0
  336. package/bundle/standalone/apps/web/.next/static/chunks/a118fb18.9c3b4291884abee0.js +119 -0
  337. package/bundle/standalone/apps/web/.next/static/chunks/app/_not-found/page-972b01bf23ed0942.js +1 -0
  338. package/bundle/standalone/apps/web/.next/static/chunks/app/api/about/route-c1d02d72a16497fa.js +1 -0
  339. package/bundle/standalone/apps/web/.next/static/chunks/app/api/auth/login/route-c1d02d72a16497fa.js +1 -0
  340. package/bundle/standalone/apps/web/.next/static/chunks/app/api/auth/logout/route-c1d02d72a16497fa.js +1 -0
  341. package/bundle/standalone/apps/web/.next/static/chunks/app/api/auth/setup/route-c1d02d72a16497fa.js +1 -0
  342. package/bundle/standalone/apps/web/.next/static/chunks/app/api/auth/status/route-c1d02d72a16497fa.js +1 -0
  343. package/bundle/standalone/apps/web/.next/static/chunks/app/api/auth/token/route-c1d02d72a16497fa.js +1 -0
  344. package/bundle/standalone/apps/web/.next/static/chunks/app/api/calendar/conflicts/route-c1d02d72a16497fa.js +1 -0
  345. package/bundle/standalone/apps/web/.next/static/chunks/app/api/calendar/entities/[id]/route-c1d02d72a16497fa.js +1 -0
  346. package/bundle/standalone/apps/web/.next/static/chunks/app/api/calendar/entities/route-c1d02d72a16497fa.js +1 -0
  347. package/bundle/standalone/apps/web/.next/static/chunks/app/api/calendar/events/[id]/route-c1d02d72a16497fa.js +1 -0
  348. package/bundle/standalone/apps/web/.next/static/chunks/app/api/calendar/events/route-c1d02d72a16497fa.js +1 -0
  349. package/bundle/standalone/apps/web/.next/static/chunks/app/api/calendar/ics/route-c1d02d72a16497fa.js +1 -0
  350. package/bundle/standalone/apps/web/.next/static/chunks/app/api/calendar/links/route-c1d02d72a16497fa.js +1 -0
  351. package/bundle/standalone/apps/web/.next/static/chunks/app/api/calendar/settings/route-c1d02d72a16497fa.js +1 -0
  352. package/bundle/standalone/apps/web/.next/static/chunks/app/api/clip/route-c1d02d72a16497fa.js +1 -0
  353. package/bundle/standalone/apps/web/.next/static/chunks/app/api/docker-config/route-c1d02d72a16497fa.js +1 -0
  354. package/bundle/standalone/apps/web/.next/static/chunks/app/api/export/zip/route-c1d02d72a16497fa.js +1 -0
  355. package/bundle/standalone/apps/web/.next/static/chunks/app/api/files/[id]/download/route-c1d02d72a16497fa.js +1 -0
  356. package/bundle/standalone/apps/web/.next/static/chunks/app/api/files/[id]/export-pdf/route-c1d02d72a16497fa.js +1 -0
  357. package/bundle/standalone/apps/web/.next/static/chunks/app/api/files/[id]/history/restore/route-c1d02d72a16497fa.js +1 -0
  358. package/bundle/standalone/apps/web/.next/static/chunks/app/api/files/[id]/history/route-c1d02d72a16497fa.js +1 -0
  359. package/bundle/standalone/apps/web/.next/static/chunks/app/api/files/[id]/move/route-c1d02d72a16497fa.js +1 -0
  360. package/bundle/standalone/apps/web/.next/static/chunks/app/api/files/[id]/route-c1d02d72a16497fa.js +1 -0
  361. package/bundle/standalone/apps/web/.next/static/chunks/app/api/files/route-c1d02d72a16497fa.js +1 -0
  362. package/bundle/standalone/apps/web/.next/static/chunks/app/api/files/upload/route-c1d02d72a16497fa.js +1 -0
  363. package/bundle/standalone/apps/web/.next/static/chunks/app/api/folders/route-c1d02d72a16497fa.js +1 -0
  364. package/bundle/standalone/apps/web/.next/static/chunks/app/api/git/remote/route-c1d02d72a16497fa.js +1 -0
  365. package/bundle/standalone/apps/web/.next/static/chunks/app/api/git/sync-all/route-c1d02d72a16497fa.js +1 -0
  366. package/bundle/standalone/apps/web/.next/static/chunks/app/api/hands/test-pattern/route-c1d02d72a16497fa.js +1 -0
  367. package/bundle/standalone/apps/web/.next/static/chunks/app/api/hands/validate/route-c1d02d72a16497fa.js +1 -0
  368. package/bundle/standalone/apps/web/.next/static/chunks/app/api/health/route-c1d02d72a16497fa.js +1 -0
  369. package/bundle/standalone/apps/web/.next/static/chunks/app/api/install-snippets/route-c1d02d72a16497fa.js +1 -0
  370. package/bundle/standalone/apps/web/.next/static/chunks/app/api/mcp-tools/route-c1d02d72a16497fa.js +1 -0
  371. package/bundle/standalone/apps/web/.next/static/chunks/app/api/profile/route-c1d02d72a16497fa.js +1 -0
  372. package/bundle/standalone/apps/web/.next/static/chunks/app/api/projects/[id]/hands-config/route-c1d02d72a16497fa.js +1 -0
  373. package/bundle/standalone/apps/web/.next/static/chunks/app/api/projects/[id]/journal-config/route-c1d02d72a16497fa.js +1 -0
  374. package/bundle/standalone/apps/web/.next/static/chunks/app/api/projects/[id]/journal-status/route-c1d02d72a16497fa.js +1 -0
  375. package/bundle/standalone/apps/web/.next/static/chunks/app/api/projects/[id]/onboard/route-c1d02d72a16497fa.js +1 -0
  376. package/bundle/standalone/apps/web/.next/static/chunks/app/api/projects/[id]/refresh/route-c1d02d72a16497fa.js +1 -0
  377. package/bundle/standalone/apps/web/.next/static/chunks/app/api/projects/[id]/route-c1d02d72a16497fa.js +1 -0
  378. package/bundle/standalone/apps/web/.next/static/chunks/app/api/projects/[id]/sync/route-c1d02d72a16497fa.js +1 -0
  379. package/bundle/standalone/apps/web/.next/static/chunks/app/api/projects/onboard/route-c1d02d72a16497fa.js +1 -0
  380. package/bundle/standalone/apps/web/.next/static/chunks/app/api/projects/route-c1d02d72a16497fa.js +1 -0
  381. package/bundle/standalone/apps/web/.next/static/chunks/app/api/publish/html/route-c1d02d72a16497fa.js +1 -0
  382. package/bundle/standalone/apps/web/.next/static/chunks/app/api/publish/route-c1d02d72a16497fa.js +1 -0
  383. package/bundle/standalone/apps/web/.next/static/chunks/app/api/refresh/route-c1d02d72a16497fa.js +1 -0
  384. package/bundle/standalone/apps/web/.next/static/chunks/app/api/reindex/route-c1d02d72a16497fa.js +1 -0
  385. package/bundle/standalone/apps/web/.next/static/chunks/app/api/search/route-c1d02d72a16497fa.js +1 -0
  386. package/bundle/standalone/apps/web/.next/static/chunks/app/api/tags/route-c1d02d72a16497fa.js +1 -0
  387. package/bundle/standalone/apps/web/.next/static/chunks/app/api/ws-config/route-c1d02d72a16497fa.js +1 -0
  388. package/bundle/standalone/apps/web/.next/static/chunks/app/calendar/page-180fba7a5e149d79.js +1 -0
  389. package/bundle/standalone/apps/web/.next/static/chunks/app/layout-9a9569fc88cd95d2.js +1 -0
  390. package/bundle/standalone/apps/web/.next/static/chunks/app/login/page-d299785546ea6ab6.js +1 -0
  391. package/bundle/standalone/apps/web/.next/static/chunks/app/page-2b151d30cb29d2e5.js +1 -0
  392. package/bundle/standalone/apps/web/.next/static/chunks/app/preview/motifs/page-c1d02d72a16497fa.js +1 -0
  393. package/bundle/standalone/apps/web/.next/static/chunks/d185f5cd.71b8f43667fbf60d.js +153 -0
  394. package/bundle/standalone/apps/web/.next/static/chunks/framework-d5846a86e24c79c9.js +1 -0
  395. package/bundle/standalone/apps/web/.next/static/chunks/main-0205543fb3b69ad5.js +1 -0
  396. package/bundle/standalone/apps/web/.next/static/chunks/main-app-20d292116f434ff3.js +1 -0
  397. package/bundle/standalone/apps/web/.next/static/chunks/pages/_app-fe81927504f65cde.js +1 -0
  398. package/bundle/standalone/apps/web/.next/static/chunks/pages/_error-2973b69c43483f0b.js +1 -0
  399. package/bundle/standalone/apps/web/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  400. package/bundle/standalone/apps/web/.next/static/chunks/webpack-8818fea786a923fe.js +1 -0
  401. package/bundle/standalone/apps/web/.next/static/css/c00514317f297826.css +3 -0
  402. package/bundle/standalone/apps/web/.next/static/media/0aa834ed78bf6d07-s.woff2 +0 -0
  403. package/bundle/standalone/apps/web/.next/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
  404. package/bundle/standalone/apps/web/.next/static/media/21350d82a1f187e9-s.woff2 +0 -0
  405. package/bundle/standalone/apps/web/.next/static/media/438aa629764e75f3-s.woff2 +0 -0
  406. package/bundle/standalone/apps/web/.next/static/media/4c9affa5bc8f420e-s.p.woff2 +0 -0
  407. package/bundle/standalone/apps/web/.next/static/media/51251f8b9793cdb3-s.woff2 +0 -0
  408. package/bundle/standalone/apps/web/.next/static/media/67957d42bae0796d-s.woff2 +0 -0
  409. package/bundle/standalone/apps/web/.next/static/media/875ae681bfde4580-s.woff2 +0 -0
  410. package/bundle/standalone/apps/web/.next/static/media/886030b0b59bc5a7-s.woff2 +0 -0
  411. package/bundle/standalone/apps/web/.next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
  412. package/bundle/standalone/apps/web/.next/static/media/939c4f875ee75fbb-s.woff2 +0 -0
  413. package/bundle/standalone/apps/web/.next/static/media/9b01607e2f794050-s.p.woff2 +0 -0
  414. package/bundle/standalone/apps/web/.next/static/media/a5ded5fed781d3c1-s.woff2 +0 -0
  415. package/bundle/standalone/apps/web/.next/static/media/ba9851c3c22cd980-s.woff2 +0 -0
  416. package/bundle/standalone/apps/web/.next/static/media/bb3ef058b751a6ad-s.p.woff2 +0 -0
  417. package/bundle/standalone/apps/web/.next/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
  418. package/bundle/standalone/apps/web/.next/static/media/cc978ac5ee68c2b6-s.woff2 +0 -0
  419. package/bundle/standalone/apps/web/.next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
  420. package/bundle/standalone/apps/web/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
  421. package/bundle/standalone/apps/web/.next/static/media/e857b654a2caa584-s.woff2 +0 -0
  422. package/bundle/standalone/apps/web/.next/static/media/f28ff2d15b1e9bd8-s.woff2 +0 -0
  423. package/bundle/standalone/apps/web/.next/static/media/f911b923c6adde36-s.woff2 +0 -0
  424. package/bundle/standalone/apps/web/package.json +66 -0
  425. package/bundle/standalone/apps/web/public/logo-dark.png +0 -0
  426. package/bundle/standalone/apps/web/public/logo.png +0 -0
  427. package/bundle/standalone/apps/web/server.js +38 -0
  428. package/bundle/standalone/apps/web/src/lib/mcp-tools.json +1941 -0
  429. package/bundle/standalone/node_modules/kontexta-mcp/dist/agent-rules/rules-block.md +185 -0
  430. package/bundle/standalone/node_modules/kontexta-mcp/dist/calendar-tools.d.ts +2 -0
  431. package/bundle/standalone/node_modules/kontexta-mcp/dist/calendar-tools.d.ts.map +1 -0
  432. package/bundle/standalone/node_modules/kontexta-mcp/dist/calendar-tools.js +205 -0
  433. package/bundle/standalone/node_modules/kontexta-mcp/dist/calendar-tools.js.map +1 -0
  434. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/confirm.d.ts +25 -0
  435. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/confirm.d.ts.map +1 -0
  436. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/confirm.js +40 -0
  437. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/confirm.js.map +1 -0
  438. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/executor.d.ts +13 -0
  439. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/executor.d.ts.map +1 -0
  440. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/executor.js +250 -0
  441. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/executor.js.map +1 -0
  442. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/formatter.d.ts +11 -0
  443. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/formatter.d.ts.map +1 -0
  444. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/formatter.js +39 -0
  445. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/formatter.js.map +1 -0
  446. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/loader.d.ts +4 -0
  447. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/loader.d.ts.map +1 -0
  448. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/loader.js +164 -0
  449. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/loader.js.map +1 -0
  450. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/registry.d.ts +42 -0
  451. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/registry.d.ts.map +1 -0
  452. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/registry.js +143 -0
  453. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/registry.js.map +1 -0
  454. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/sanitizer.d.ts +16 -0
  455. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/sanitizer.d.ts.map +1 -0
  456. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/sanitizer.js +86 -0
  457. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/sanitizer.js.map +1 -0
  458. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/schema-doc.d.ts +2 -0
  459. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/schema-doc.d.ts.map +1 -0
  460. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/schema-doc.js +202 -0
  461. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/schema-doc.js.map +1 -0
  462. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/types.d.ts +50 -0
  463. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/types.d.ts.map +1 -0
  464. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/types.js +2 -0
  465. package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/types.js.map +1 -0
  466. package/bundle/standalone/node_modules/kontexta-mcp/dist/index.d.ts +3 -0
  467. package/bundle/standalone/node_modules/kontexta-mcp/dist/index.d.ts.map +1 -0
  468. package/bundle/standalone/node_modules/kontexta-mcp/dist/index.js +2117 -0
  469. package/bundle/standalone/node_modules/kontexta-mcp/dist/index.js.map +1 -0
  470. package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-capture.d.ts +31 -0
  471. package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-capture.d.ts.map +1 -0
  472. package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-capture.js +293 -0
  473. package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-capture.js.map +1 -0
  474. package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-commit-upgrades-tool.d.ts +2 -0
  475. package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-commit-upgrades-tool.d.ts.map +1 -0
  476. package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-commit-upgrades-tool.js +24 -0
  477. package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-commit-upgrades-tool.js.map +1 -0
  478. package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-housekeep-tool.d.ts +2 -0
  479. package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-housekeep-tool.d.ts.map +1 -0
  480. package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-housekeep-tool.js +24 -0
  481. package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-housekeep-tool.js.map +1 -0
  482. package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-tools.d.ts +2 -0
  483. package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-tools.d.ts.map +1 -0
  484. package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-tools.js +57 -0
  485. package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-tools.js.map +1 -0
  486. package/bundle/standalone/node_modules/kontexta-mcp/dist/migrations/001-initial.sql +72 -0
  487. package/bundle/standalone/node_modules/kontexta-mcp/dist/migrations/002-remote-git.sql +2 -0
  488. package/bundle/standalone/node_modules/kontexta-mcp/dist/migrations/003-source-path-index.sql +2 -0
  489. package/bundle/standalone/node_modules/kontexta-mcp/dist/migrations/004-journaling.sql +44 -0
  490. package/bundle/standalone/node_modules/kontexta-mcp/dist/migrations/005-auth.sql +7 -0
  491. package/bundle/standalone/node_modules/kontexta-mcp/dist/migrations/006-journal-locks.sql +11 -0
  492. package/bundle/standalone/node_modules/kontexta-mcp/dist/migrations/007-calendar.sql +49 -0
  493. package/bundle/standalone/node_modules/kontexta-mcp/dist/profile-tool.d.ts +9 -0
  494. package/bundle/standalone/node_modules/kontexta-mcp/dist/profile-tool.d.ts.map +1 -0
  495. package/bundle/standalone/node_modules/kontexta-mcp/dist/profile-tool.js +25 -0
  496. package/bundle/standalone/node_modules/kontexta-mcp/dist/profile-tool.js.map +1 -0
  497. package/bundle/standalone/node_modules/kontexta-mcp/dist/re2-compat.d.ts +4 -0
  498. package/bundle/standalone/node_modules/kontexta-mcp/dist/re2-compat.d.ts.map +1 -0
  499. package/bundle/standalone/node_modules/kontexta-mcp/dist/re2-compat.js +14 -0
  500. package/bundle/standalone/node_modules/kontexta-mcp/dist/re2-compat.js.map +1 -0
  501. package/bundle/standalone/node_modules/kontexta-mcp/package.json +66 -0
  502. package/bundle/standalone/node_modules/kxta-core/dist/agent-rules/index.d.ts +73 -0
  503. package/bundle/standalone/node_modules/kxta-core/dist/agent-rules/index.d.ts.map +1 -0
  504. package/bundle/standalone/node_modules/kxta-core/dist/agent-rules/index.js +436 -0
  505. package/bundle/standalone/node_modules/kxta-core/dist/agent-rules/index.js.map +1 -0
  506. package/bundle/standalone/node_modules/kxta-core/dist/agent-rules/rules-block.md +185 -0
  507. package/bundle/standalone/node_modules/kxta-core/dist/bundle/index.d.ts +26 -0
  508. package/bundle/standalone/node_modules/kxta-core/dist/bundle/index.d.ts.map +1 -0
  509. package/bundle/standalone/node_modules/kxta-core/dist/bundle/index.js +115 -0
  510. package/bundle/standalone/node_modules/kxta-core/dist/bundle/index.js.map +1 -0
  511. package/bundle/standalone/node_modules/kxta-core/dist/calendar/conflicts.d.ts +32 -0
  512. package/bundle/standalone/node_modules/kxta-core/dist/calendar/conflicts.d.ts.map +1 -0
  513. package/bundle/standalone/node_modules/kxta-core/dist/calendar/conflicts.js +129 -0
  514. package/bundle/standalone/node_modules/kxta-core/dist/calendar/conflicts.js.map +1 -0
  515. package/bundle/standalone/node_modules/kxta-core/dist/calendar/ics.d.ts +16 -0
  516. package/bundle/standalone/node_modules/kxta-core/dist/calendar/ics.d.ts.map +1 -0
  517. package/bundle/standalone/node_modules/kxta-core/dist/calendar/ics.js +73 -0
  518. package/bundle/standalone/node_modules/kxta-core/dist/calendar/ics.js.map +1 -0
  519. package/bundle/standalone/node_modules/kxta-core/dist/calendar/index.d.ts +9 -0
  520. package/bundle/standalone/node_modules/kxta-core/dist/calendar/index.d.ts.map +1 -0
  521. package/bundle/standalone/node_modules/kxta-core/dist/calendar/index.js +7 -0
  522. package/bundle/standalone/node_modules/kxta-core/dist/calendar/index.js.map +1 -0
  523. package/bundle/standalone/node_modules/kxta-core/dist/calendar/repository.d.ts +65 -0
  524. package/bundle/standalone/node_modules/kxta-core/dist/calendar/repository.d.ts.map +1 -0
  525. package/bundle/standalone/node_modules/kxta-core/dist/calendar/repository.js +219 -0
  526. package/bundle/standalone/node_modules/kxta-core/dist/calendar/repository.js.map +1 -0
  527. package/bundle/standalone/node_modules/kxta-core/dist/calendar/types.d.ts +52 -0
  528. package/bundle/standalone/node_modules/kxta-core/dist/calendar/types.d.ts.map +1 -0
  529. package/bundle/standalone/node_modules/kxta-core/dist/calendar/types.js +2 -0
  530. package/bundle/standalone/node_modules/kxta-core/dist/calendar/types.js.map +1 -0
  531. package/bundle/standalone/node_modules/kxta-core/dist/calendar/validate.d.ts +11 -0
  532. package/bundle/standalone/node_modules/kxta-core/dist/calendar/validate.d.ts.map +1 -0
  533. package/bundle/standalone/node_modules/kxta-core/dist/calendar/validate.js +39 -0
  534. package/bundle/standalone/node_modules/kxta-core/dist/calendar/validate.js.map +1 -0
  535. package/bundle/standalone/node_modules/kxta-core/dist/clip/extract.d.ts +26 -0
  536. package/bundle/standalone/node_modules/kxta-core/dist/clip/extract.d.ts.map +1 -0
  537. package/bundle/standalone/node_modules/kxta-core/dist/clip/extract.js +315 -0
  538. package/bundle/standalone/node_modules/kxta-core/dist/clip/extract.js.map +1 -0
  539. package/bundle/standalone/node_modules/kxta-core/dist/clip/frontmatter.d.ts +10 -0
  540. package/bundle/standalone/node_modules/kxta-core/dist/clip/frontmatter.d.ts.map +1 -0
  541. package/bundle/standalone/node_modules/kxta-core/dist/clip/frontmatter.js +53 -0
  542. package/bundle/standalone/node_modules/kxta-core/dist/clip/frontmatter.js.map +1 -0
  543. package/bundle/standalone/node_modules/kxta-core/dist/clip/index.d.ts +12 -0
  544. package/bundle/standalone/node_modules/kxta-core/dist/clip/index.d.ts.map +1 -0
  545. package/bundle/standalone/node_modules/kxta-core/dist/clip/index.js +38 -0
  546. package/bundle/standalone/node_modules/kxta-core/dist/clip/index.js.map +1 -0
  547. package/bundle/standalone/node_modules/kxta-core/dist/compat/env-shim.d.ts +2 -0
  548. package/bundle/standalone/node_modules/kxta-core/dist/compat/env-shim.d.ts.map +1 -0
  549. package/bundle/standalone/node_modules/kxta-core/dist/compat/env-shim.js +26 -0
  550. package/bundle/standalone/node_modules/kxta-core/dist/compat/env-shim.js.map +1 -0
  551. package/bundle/standalone/node_modules/kxta-core/dist/compat/file-migration.d.ts +3 -0
  552. package/bundle/standalone/node_modules/kxta-core/dist/compat/file-migration.d.ts.map +1 -0
  553. package/bundle/standalone/node_modules/kxta-core/dist/compat/file-migration.js +30 -0
  554. package/bundle/standalone/node_modules/kxta-core/dist/compat/file-migration.js.map +1 -0
  555. package/bundle/standalone/node_modules/kxta-core/dist/db/index.d.ts +37 -0
  556. package/bundle/standalone/node_modules/kxta-core/dist/db/index.d.ts.map +1 -0
  557. package/bundle/standalone/node_modules/kxta-core/dist/db/index.js +182 -0
  558. package/bundle/standalone/node_modules/kxta-core/dist/db/index.js.map +1 -0
  559. package/bundle/standalone/node_modules/kxta-core/dist/db/migrations/001-initial.sql +72 -0
  560. package/bundle/standalone/node_modules/kxta-core/dist/db/migrations/002-remote-git.sql +2 -0
  561. package/bundle/standalone/node_modules/kxta-core/dist/db/migrations/003-source-path-index.sql +2 -0
  562. package/bundle/standalone/node_modules/kxta-core/dist/db/migrations/004-journaling.sql +44 -0
  563. package/bundle/standalone/node_modules/kxta-core/dist/db/migrations/005-auth.sql +7 -0
  564. package/bundle/standalone/node_modules/kxta-core/dist/db/migrations/006-journal-locks.sql +11 -0
  565. package/bundle/standalone/node_modules/kxta-core/dist/db/migrations/007-calendar.sql +49 -0
  566. package/bundle/standalone/node_modules/kxta-core/dist/files/index.d.ts +84 -0
  567. package/bundle/standalone/node_modules/kxta-core/dist/files/index.d.ts.map +1 -0
  568. package/bundle/standalone/node_modules/kxta-core/dist/files/index.js +631 -0
  569. package/bundle/standalone/node_modules/kxta-core/dist/files/index.js.map +1 -0
  570. package/bundle/standalone/node_modules/kxta-core/dist/files/sections.d.ts +48 -0
  571. package/bundle/standalone/node_modules/kxta-core/dist/files/sections.d.ts.map +1 -0
  572. package/bundle/standalone/node_modules/kxta-core/dist/files/sections.js +112 -0
  573. package/bundle/standalone/node_modules/kxta-core/dist/files/sections.js.map +1 -0
  574. package/bundle/standalone/node_modules/kxta-core/dist/git/index.d.ts +92 -0
  575. package/bundle/standalone/node_modules/kxta-core/dist/git/index.d.ts.map +1 -0
  576. package/bundle/standalone/node_modules/kxta-core/dist/git/index.js +801 -0
  577. package/bundle/standalone/node_modules/kxta-core/dist/git/index.js.map +1 -0
  578. package/bundle/standalone/node_modules/kxta-core/dist/index.d.ts +24 -0
  579. package/bundle/standalone/node_modules/kxta-core/dist/index.d.ts.map +1 -0
  580. package/bundle/standalone/node_modules/kxta-core/dist/index.js +22 -0
  581. package/bundle/standalone/node_modules/kxta-core/dist/index.js.map +1 -0
  582. package/bundle/standalone/node_modules/kxta-core/dist/journal/cooldown.d.ts +28 -0
  583. package/bundle/standalone/node_modules/kxta-core/dist/journal/cooldown.d.ts.map +1 -0
  584. package/bundle/standalone/node_modules/kxta-core/dist/journal/cooldown.js +61 -0
  585. package/bundle/standalone/node_modules/kxta-core/dist/journal/cooldown.js.map +1 -0
  586. package/bundle/standalone/node_modules/kxta-core/dist/journal/distill.d.ts +16 -0
  587. package/bundle/standalone/node_modules/kxta-core/dist/journal/distill.d.ts.map +1 -0
  588. package/bundle/standalone/node_modules/kxta-core/dist/journal/distill.js +311 -0
  589. package/bundle/standalone/node_modules/kxta-core/dist/journal/distill.js.map +1 -0
  590. package/bundle/standalone/node_modules/kxta-core/dist/journal/engine.d.ts +45 -0
  591. package/bundle/standalone/node_modules/kxta-core/dist/journal/engine.d.ts.map +1 -0
  592. package/bundle/standalone/node_modules/kxta-core/dist/journal/engine.js +198 -0
  593. package/bundle/standalone/node_modules/kxta-core/dist/journal/engine.js.map +1 -0
  594. package/bundle/standalone/node_modules/kxta-core/dist/journal/git-watcher.d.ts +11 -0
  595. package/bundle/standalone/node_modules/kxta-core/dist/journal/git-watcher.d.ts.map +1 -0
  596. package/bundle/standalone/node_modules/kxta-core/dist/journal/git-watcher.js +41 -0
  597. package/bundle/standalone/node_modules/kxta-core/dist/journal/git-watcher.js.map +1 -0
  598. package/bundle/standalone/node_modules/kxta-core/dist/journal/high-water.d.ts +16 -0
  599. package/bundle/standalone/node_modules/kxta-core/dist/journal/high-water.d.ts.map +1 -0
  600. package/bundle/standalone/node_modules/kxta-core/dist/journal/high-water.js +30 -0
  601. package/bundle/standalone/node_modules/kxta-core/dist/journal/high-water.js.map +1 -0
  602. package/bundle/standalone/node_modules/kxta-core/dist/journal/housekeep.d.ts +22 -0
  603. package/bundle/standalone/node_modules/kxta-core/dist/journal/housekeep.d.ts.map +1 -0
  604. package/bundle/standalone/node_modules/kxta-core/dist/journal/housekeep.js +104 -0
  605. package/bundle/standalone/node_modules/kxta-core/dist/journal/housekeep.js.map +1 -0
  606. package/bundle/standalone/node_modules/kxta-core/dist/journal/index.d.ts +27 -0
  607. package/bundle/standalone/node_modules/kxta-core/dist/journal/index.d.ts.map +1 -0
  608. package/bundle/standalone/node_modules/kxta-core/dist/journal/index.js +18 -0
  609. package/bundle/standalone/node_modules/kxta-core/dist/journal/index.js.map +1 -0
  610. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/build-failure-recovery.d.ts +3 -0
  611. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/build-failure-recovery.d.ts.map +1 -0
  612. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/build-failure-recovery.js +31 -0
  613. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/build-failure-recovery.js.map +1 -0
  614. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/error-recovery.d.ts +3 -0
  615. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/error-recovery.d.ts.map +1 -0
  616. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/error-recovery.js +31 -0
  617. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/error-recovery.js.map +1 -0
  618. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/exploration.d.ts +3 -0
  619. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/exploration.d.ts.map +1 -0
  620. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/exploration.js +28 -0
  621. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/exploration.js.map +1 -0
  622. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/extra-loader.d.ts +13 -0
  623. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/extra-loader.d.ts.map +1 -0
  624. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/extra-loader.js +45 -0
  625. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/extra-loader.js.map +1 -0
  626. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/feature-development.d.ts +3 -0
  627. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/feature-development.d.ts.map +1 -0
  628. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/feature-development.js +21 -0
  629. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/feature-development.js.map +1 -0
  630. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/incident-response.d.ts +3 -0
  631. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/incident-response.d.ts.map +1 -0
  632. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/incident-response.js +21 -0
  633. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/incident-response.js.map +1 -0
  634. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/index.d.ts +16 -0
  635. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/index.d.ts.map +1 -0
  636. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/index.js +40 -0
  637. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/index.js.map +1 -0
  638. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/pivot.d.ts +3 -0
  639. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/pivot.d.ts.map +1 -0
  640. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/pivot.js +15 -0
  641. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/pivot.js.map +1 -0
  642. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/read-only-investigation.d.ts +3 -0
  643. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/read-only-investigation.d.ts.map +1 -0
  644. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/read-only-investigation.js +24 -0
  645. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/read-only-investigation.js.map +1 -0
  646. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/refactor.d.ts +3 -0
  647. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/refactor.d.ts.map +1 -0
  648. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/refactor.js +42 -0
  649. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/refactor.js.map +1 -0
  650. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/tagging-pass.d.ts +3 -0
  651. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/tagging-pass.d.ts.map +1 -0
  652. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/tagging-pass.js +22 -0
  653. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/tagging-pass.js.map +1 -0
  654. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/test-cycle.d.ts +3 -0
  655. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/test-cycle.d.ts.map +1 -0
  656. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/test-cycle.js +23 -0
  657. package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/test-cycle.js.map +1 -0
  658. package/bundle/standalone/node_modules/kxta-core/dist/journal/presence.d.ts +2 -0
  659. package/bundle/standalone/node_modules/kxta-core/dist/journal/presence.d.ts.map +1 -0
  660. package/bundle/standalone/node_modules/kxta-core/dist/journal/presence.js +17 -0
  661. package/bundle/standalone/node_modules/kxta-core/dist/journal/presence.js.map +1 -0
  662. package/bundle/standalone/node_modules/kxta-core/dist/journal/redact.d.ts +8 -0
  663. package/bundle/standalone/node_modules/kxta-core/dist/journal/redact.d.ts.map +1 -0
  664. package/bundle/standalone/node_modules/kxta-core/dist/journal/redact.js +40 -0
  665. package/bundle/standalone/node_modules/kxta-core/dist/journal/redact.js.map +1 -0
  666. package/bundle/standalone/node_modules/kxta-core/dist/journal/renderer.d.ts +10 -0
  667. package/bundle/standalone/node_modules/kxta-core/dist/journal/renderer.d.ts.map +1 -0
  668. package/bundle/standalone/node_modules/kxta-core/dist/journal/renderer.js +40 -0
  669. package/bundle/standalone/node_modules/kxta-core/dist/journal/renderer.js.map +1 -0
  670. package/bundle/standalone/node_modules/kxta-core/dist/journal/repository.d.ts +30 -0
  671. package/bundle/standalone/node_modules/kxta-core/dist/journal/repository.d.ts.map +1 -0
  672. package/bundle/standalone/node_modules/kxta-core/dist/journal/repository.js +66 -0
  673. package/bundle/standalone/node_modules/kxta-core/dist/journal/repository.js.map +1 -0
  674. package/bundle/standalone/node_modules/kxta-core/dist/journal/strict-mode.d.ts +9 -0
  675. package/bundle/standalone/node_modules/kxta-core/dist/journal/strict-mode.d.ts.map +1 -0
  676. package/bundle/standalone/node_modules/kxta-core/dist/journal/strict-mode.js +32 -0
  677. package/bundle/standalone/node_modules/kxta-core/dist/journal/strict-mode.js.map +1 -0
  678. package/bundle/standalone/node_modules/kxta-core/dist/journal/topic-detector.d.ts +4 -0
  679. package/bundle/standalone/node_modules/kxta-core/dist/journal/topic-detector.d.ts.map +1 -0
  680. package/bundle/standalone/node_modules/kxta-core/dist/journal/topic-detector.js +71 -0
  681. package/bundle/standalone/node_modules/kxta-core/dist/journal/topic-detector.js.map +1 -0
  682. package/bundle/standalone/node_modules/kxta-core/dist/journal/types.d.ts +59 -0
  683. package/bundle/standalone/node_modules/kxta-core/dist/journal/types.d.ts.map +1 -0
  684. package/bundle/standalone/node_modules/kxta-core/dist/journal/types.js +3 -0
  685. package/bundle/standalone/node_modules/kxta-core/dist/journal/types.js.map +1 -0
  686. package/bundle/standalone/node_modules/kxta-core/dist/journal/writer.d.ts +16 -0
  687. package/bundle/standalone/node_modules/kxta-core/dist/journal/writer.d.ts.map +1 -0
  688. package/bundle/standalone/node_modules/kxta-core/dist/journal/writer.js +44 -0
  689. package/bundle/standalone/node_modules/kxta-core/dist/journal/writer.js.map +1 -0
  690. package/bundle/standalone/node_modules/kxta-core/dist/metadata/index.d.ts +97 -0
  691. package/bundle/standalone/node_modules/kxta-core/dist/metadata/index.d.ts.map +1 -0
  692. package/bundle/standalone/node_modules/kxta-core/dist/metadata/index.js +517 -0
  693. package/bundle/standalone/node_modules/kxta-core/dist/metadata/index.js.map +1 -0
  694. package/bundle/standalone/node_modules/kxta-core/dist/metadata/settings.d.ts +13 -0
  695. package/bundle/standalone/node_modules/kxta-core/dist/metadata/settings.d.ts.map +1 -0
  696. package/bundle/standalone/node_modules/kxta-core/dist/metadata/settings.js +33 -0
  697. package/bundle/standalone/node_modules/kxta-core/dist/metadata/settings.js.map +1 -0
  698. package/bundle/standalone/node_modules/kxta-core/dist/profile/index.d.ts +23 -0
  699. package/bundle/standalone/node_modules/kxta-core/dist/profile/index.d.ts.map +1 -0
  700. package/bundle/standalone/node_modules/kxta-core/dist/profile/index.js +161 -0
  701. package/bundle/standalone/node_modules/kxta-core/dist/profile/index.js.map +1 -0
  702. package/bundle/standalone/node_modules/kxta-core/dist/project-map/index.d.ts +34 -0
  703. package/bundle/standalone/node_modules/kxta-core/dist/project-map/index.d.ts.map +1 -0
  704. package/bundle/standalone/node_modules/kxta-core/dist/project-map/index.js +157 -0
  705. package/bundle/standalone/node_modules/kxta-core/dist/project-map/index.js.map +1 -0
  706. package/bundle/standalone/node_modules/kxta-core/dist/types.d.ts +69 -0
  707. package/bundle/standalone/node_modules/kxta-core/dist/types.d.ts.map +1 -0
  708. package/bundle/standalone/node_modules/kxta-core/dist/types.js +5 -0
  709. package/bundle/standalone/node_modules/kxta-core/dist/types.js.map +1 -0
  710. package/bundle/standalone/node_modules/kxta-core/dist/util/extensions.d.ts +15 -0
  711. package/bundle/standalone/node_modules/kxta-core/dist/util/extensions.d.ts.map +1 -0
  712. package/bundle/standalone/node_modules/kxta-core/dist/util/extensions.js +26 -0
  713. package/bundle/standalone/node_modules/kxta-core/dist/util/extensions.js.map +1 -0
  714. package/bundle/standalone/node_modules/kxta-core/dist/util/paths.d.ts +31 -0
  715. package/bundle/standalone/node_modules/kxta-core/dist/util/paths.d.ts.map +1 -0
  716. package/bundle/standalone/node_modules/kxta-core/dist/util/paths.js +179 -0
  717. package/bundle/standalone/node_modules/kxta-core/dist/util/paths.js.map +1 -0
  718. package/bundle/standalone/node_modules/kxta-core/dist/util/safety.d.ts +37 -0
  719. package/bundle/standalone/node_modules/kxta-core/dist/util/safety.d.ts.map +1 -0
  720. package/bundle/standalone/node_modules/kxta-core/dist/util/safety.js +156 -0
  721. package/bundle/standalone/node_modules/kxta-core/dist/util/safety.js.map +1 -0
  722. package/bundle/standalone/node_modules/kxta-core/dist/util/tokens.d.ts +3 -0
  723. package/bundle/standalone/node_modules/kxta-core/dist/util/tokens.d.ts.map +1 -0
  724. package/bundle/standalone/node_modules/kxta-core/dist/util/tokens.js +13 -0
  725. package/bundle/standalone/node_modules/kxta-core/dist/util/tokens.js.map +1 -0
  726. package/bundle/standalone/node_modules/kxta-core/dist/watcher/index.d.ts +9 -0
  727. package/bundle/standalone/node_modules/kxta-core/dist/watcher/index.d.ts.map +1 -0
  728. package/bundle/standalone/node_modules/kxta-core/dist/watcher/index.js +214 -0
  729. package/bundle/standalone/node_modules/kxta-core/dist/watcher/index.js.map +1 -0
  730. package/bundle/standalone/node_modules/kxta-core/dist/whats-new/index.d.ts +36 -0
  731. package/bundle/standalone/node_modules/kxta-core/dist/whats-new/index.d.ts.map +1 -0
  732. package/bundle/standalone/node_modules/kxta-core/dist/whats-new/index.js +94 -0
  733. package/bundle/standalone/node_modules/kxta-core/dist/whats-new/index.js.map +1 -0
  734. package/bundle/standalone/node_modules/kxta-core/package.json +20 -0
  735. package/bundle/standalone/node_modules/kxta-publish/dist/cli.d.ts +9 -0
  736. package/bundle/standalone/node_modules/kxta-publish/dist/cli.js +139 -0
  737. package/bundle/standalone/node_modules/kxta-publish/dist/config.d.ts +25 -0
  738. package/bundle/standalone/node_modules/kxta-publish/dist/config.js +62 -0
  739. package/bundle/standalone/node_modules/kxta-publish/dist/index.d.ts +2 -0
  740. package/bundle/standalone/node_modules/kxta-publish/dist/index.js +45 -0
  741. package/bundle/standalone/node_modules/kxta-publish/dist/pipeline.d.ts +14 -0
  742. package/bundle/standalone/node_modules/kxta-publish/dist/pipeline.js +42 -0
  743. package/bundle/standalone/node_modules/kxta-publish/dist/render/blocks/endpoints.d.ts +6 -0
  744. package/bundle/standalone/node_modules/kxta-publish/dist/render/blocks/endpoints.js +112 -0
  745. package/bundle/standalone/node_modules/kxta-publish/dist/render/blocks/glossary.d.ts +2 -0
  746. package/bundle/standalone/node_modules/kxta-publish/dist/render/blocks/glossary.js +42 -0
  747. package/bundle/standalone/node_modules/kxta-publish/dist/render/blocks/mermaid.d.ts +2 -0
  748. package/bundle/standalone/node_modules/kxta-publish/dist/render/blocks/mermaid.js +17 -0
  749. package/bundle/standalone/node_modules/kxta-publish/dist/render/llms.d.ts +3 -0
  750. package/bundle/standalone/node_modules/kxta-publish/dist/render/llms.js +52 -0
  751. package/bundle/standalone/node_modules/kxta-publish/dist/render/markdown.d.ts +24 -0
  752. package/bundle/standalone/node_modules/kxta-publish/dist/render/markdown.js +87 -0
  753. package/bundle/standalone/node_modules/kxta-publish/dist/render/nav.d.ts +21 -0
  754. package/bundle/standalone/node_modules/kxta-publish/dist/render/nav.js +107 -0
  755. package/bundle/standalone/node_modules/kxta-publish/dist/render/pdf.d.ts +10 -0
  756. package/bundle/standalone/node_modules/kxta-publish/dist/render/pdf.js +70 -0
  757. package/bundle/standalone/node_modules/kxta-publish/dist/seeds/01-overview.md +74 -0
  758. package/bundle/standalone/node_modules/kxta-publish/dist/seeds/02-api.md +169 -0
  759. package/bundle/standalone/node_modules/kxta-publish/dist/seeds/03-improvements.md +90 -0
  760. package/bundle/standalone/node_modules/kxta-publish/dist/seeds/04-glossary.md +55 -0
  761. package/bundle/standalone/node_modules/kxta-publish/dist/seeds/seeds.d.ts +3 -0
  762. package/bundle/standalone/node_modules/kxta-publish/dist/seeds/seeds.js +53 -0
  763. package/bundle/standalone/node_modules/kxta-publish/dist/source/enumerate.d.ts +3 -0
  764. package/bundle/standalone/node_modules/kxta-publish/dist/source/enumerate.js +50 -0
  765. package/bundle/standalone/node_modules/kxta-publish/dist/source/reader.d.ts +20 -0
  766. package/bundle/standalone/node_modules/kxta-publish/dist/source/reader.js +20 -0
  767. package/bundle/standalone/node_modules/kxta-publish/dist/template/api-ref.css +593 -0
  768. package/bundle/standalone/node_modules/kxta-publish/dist/template/app.js +297 -0
  769. package/bundle/standalone/node_modules/kxta-publish/dist/template/brutalist.css +57 -0
  770. package/bundle/standalone/node_modules/kxta-publish/dist/template/flat.css +182 -0
  771. package/bundle/standalone/node_modules/kxta-publish/dist/template/minimal.css +578 -0
  772. package/bundle/standalone/node_modules/kxta-publish/dist/template/ocean.css +179 -0
  773. package/bundle/standalone/node_modules/kxta-publish/dist/template/paper.css +33 -0
  774. package/bundle/standalone/node_modules/kxta-publish/dist/template/shell.d.ts +8 -0
  775. package/bundle/standalone/node_modules/kxta-publish/dist/template/shell.js +181 -0
  776. package/bundle/standalone/node_modules/kxta-publish/dist/template/solarized.css +162 -0
  777. package/bundle/standalone/node_modules/kxta-publish/dist/template/terminal.css +37 -0
  778. package/bundle/standalone/node_modules/kxta-publish/dist/template/theme.css +701 -0
  779. package/bundle/standalone/node_modules/kxta-publish/dist/types.d.ts +97 -0
  780. package/bundle/standalone/node_modules/kxta-publish/dist/types.js +1 -0
  781. package/bundle/standalone/node_modules/kxta-publish/package.json +25 -0
  782. package/bundle/standalone/package.json +26 -0
  783. package/dist/chunk-KQTCKRN2.js +31 -0
  784. package/dist/doctor-W733U3FD.js +46 -0
  785. package/dist/index.js +45 -0
  786. package/dist/mcp-DGMGR3MZ.js +34 -0
  787. package/dist/start-RCW7AKUK.js +121 -0
  788. package/package.json +89 -0
@@ -0,0 +1,631 @@
1
+ /**
2
+ * File operations module for Kontexta
3
+ * Handles CRUD operations for .md and .mmd files with SQLite indexing
4
+ */
5
+ import { createHash } from "node:crypto";
6
+ import { readFileSync, writeFileSync, unlinkSync, renameSync, mkdirSync, readdirSync, lstatSync, existsSync, rmSync } from "node:fs";
7
+ import { join, dirname, resolve, sep, isAbsolute, basename } from "node:path";
8
+ import { getDatabase } from "../db/index.js";
9
+ import { commitFile, commitDelete } from "../git/index.js";
10
+ import { assertPathInside, escapeLike, withLock, fileLockKey } from "../util/safety.js";
11
+ import { profileRelPath, repairProfile } from "../profile/index.js";
12
+ /**
13
+ * List all folders in a project (recursively)
14
+ */
15
+ export function listProjectFolders(projectPath) {
16
+ const folders = [];
17
+ function scan(dir, currentRel) {
18
+ const entries = readdirSync(dir);
19
+ for (const entry of entries) {
20
+ if (entry.startsWith(".") || entry === "node_modules")
21
+ continue;
22
+ const fullPath = join(dir, entry);
23
+ const relPath = currentRel ? join(currentRel, entry) : entry;
24
+ try {
25
+ // lstatSync (not statSync) so a symlink loop doesn't recurse forever.
26
+ const lst = lstatSync(fullPath);
27
+ if (lst.isSymbolicLink())
28
+ continue;
29
+ if (lst.isDirectory()) {
30
+ folders.push(relPath);
31
+ scan(fullPath, relPath);
32
+ }
33
+ }
34
+ catch (e) {
35
+ // Skip files that might have been deleted during scan
36
+ }
37
+ }
38
+ }
39
+ try {
40
+ scan(projectPath, "");
41
+ }
42
+ catch (e) {
43
+ console.error("Failed to scan project folders:", e);
44
+ }
45
+ return folders;
46
+ }
47
+ /**
48
+ * List all folders in a project that contain at least one .md or .mmd file.
49
+ * Returns only non-empty folders (useful for publish UI).
50
+ */
51
+ export function listProjectFoldersWithFiles(projectPath) {
52
+ const folderFileCount = new Map();
53
+ function scan(dir, currentRel) {
54
+ const entries = readdirSync(dir);
55
+ for (const entry of entries) {
56
+ if (entry.startsWith(".") || entry === "node_modules")
57
+ continue;
58
+ const fullPath = join(dir, entry);
59
+ const relPath = currentRel ? join(currentRel, entry) : entry;
60
+ try {
61
+ const lst = lstatSync(fullPath);
62
+ if (lst.isSymbolicLink())
63
+ continue;
64
+ if (lst.isDirectory()) {
65
+ scan(fullPath, relPath);
66
+ }
67
+ else if (lst.isFile()) {
68
+ const ext = entry.endsWith(".mmd") ? ".mmd" : entry.endsWith(".md") ? ".md" : "";
69
+ if (ext) {
70
+ // Count file in every ancestor folder
71
+ const parts = relPath.split("/");
72
+ for (let i = 0; i < parts.length - 1; i++) {
73
+ const ancestor = parts.slice(0, i + 1).join("/");
74
+ folderFileCount.set(ancestor, (folderFileCount.get(ancestor) ?? 0) + 1);
75
+ }
76
+ }
77
+ }
78
+ }
79
+ catch (e) {
80
+ // Skip files that might have been deleted during scan
81
+ }
82
+ }
83
+ }
84
+ try {
85
+ scan(projectPath, "");
86
+ }
87
+ catch (e) {
88
+ console.error("Failed to scan project folders with files:", e);
89
+ }
90
+ // Return only folders with at least one .md/.mmd file
91
+ const result = [];
92
+ for (const [folder, count] of folderFileCount.entries()) {
93
+ if (count > 0)
94
+ result.push(folder);
95
+ }
96
+ return result.sort();
97
+ }
98
+ /**
99
+ * Compute SHA-256 hash of content
100
+ */
101
+ export function computeHash(content) {
102
+ return createHash("sha256").update(content, "utf8").digest("hex");
103
+ }
104
+ /**
105
+ * Convert name to slug (lowercase, alphanumeric with dashes)
106
+ */
107
+ export function slugify(name) {
108
+ return name
109
+ .toLowerCase()
110
+ .replace(/[^a-z0-9]+/g, "-")
111
+ .replace(/^-+|-+$/g, "");
112
+ }
113
+ /**
114
+ * Create a new file
115
+ */
116
+ export async function createFile(opts) {
117
+ const db = getDatabase();
118
+ let { title, content, destination, projectId, folder, tags = [], dataDir, sourcePath, format = "md" } = opts;
119
+ let filePath;
120
+ let storageType;
121
+ let repairedContent;
122
+ const slug = slugify(title);
123
+ if (!slug) {
124
+ throw new Error("Invalid title: produces empty slug");
125
+ }
126
+ const filename = `${slug}.${format}`;
127
+ if (destination === "knowledge") {
128
+ const knowledgeDir = join(dataDir, "knowledge");
129
+ mkdirSync(knowledgeDir, { recursive: true });
130
+ filePath = folder
131
+ ? assertPathInside(knowledgeDir, join(folder, filename))
132
+ : assertPathInside(knowledgeDir, filename);
133
+ storageType = "local";
134
+ }
135
+ else if (destination === "kontexta") {
136
+ if (!projectId) {
137
+ throw new Error("projectId is required for kontexta destination");
138
+ }
139
+ const project = db.prepare("SELECT slug FROM projects WHERE id = ?").get(projectId);
140
+ if (!project) {
141
+ throw new Error(`Project not found: ${projectId}`);
142
+ }
143
+ const projectDir = join(dataDir, "projects", project.slug);
144
+ mkdirSync(projectDir, { recursive: true });
145
+ filePath = folder
146
+ ? assertPathInside(projectDir, join(folder, filename))
147
+ : assertPathInside(projectDir, filename);
148
+ storageType = "local";
149
+ }
150
+ else if (destination === "project") {
151
+ if (!projectId) {
152
+ throw new Error("projectId is required for project destination");
153
+ }
154
+ const project = db.prepare("SELECT path FROM projects WHERE id = ?").get(projectId);
155
+ if (!project || !project.path) {
156
+ throw new Error(`Project path not found for project: ${projectId}`);
157
+ }
158
+ filePath = folder
159
+ ? assertPathInside(project.path, join(folder, filename))
160
+ : assertPathInside(project.path, filename);
161
+ storageType = "reference";
162
+ }
163
+ else {
164
+ throw new Error(`Unknown destination: ${destination}`);
165
+ }
166
+ // Serialise against any concurrent write to (or watcher event for) the
167
+ // same file path. Without this, a chokidar `add` fired during the
168
+ // disk-write window can interleave its own INSERT with this function's
169
+ // UPSERT, and the FTS index can land with the watcher's interpretation
170
+ // of the file (no tags, default title) instead of the caller's.
171
+ return withLock(fileLockKey(filePath), async () => {
172
+ mkdirSync(dirname(filePath), { recursive: true });
173
+ // Stash pre-existing content (if any) so we can fully restore on a
174
+ // DB-txn failure — otherwise writeFileSync below would leave the
175
+ // caller's content sitting under a row that points elsewhere.
176
+ let preExistingContent = null;
177
+ if (existsSync(filePath)) {
178
+ try {
179
+ preExistingContent = readFileSync(filePath);
180
+ }
181
+ catch (e) {
182
+ console.warn("createFile: failed to stash pre-existing content for rollback:", e);
183
+ }
184
+ }
185
+ // Auto-repair profile.md — insert missing required sections.
186
+ const isProfile = destination === "knowledge" && filePath === join(dataDir, profileRelPath());
187
+ let repairedSections;
188
+ if (isProfile) {
189
+ let { content: repairedContent, repaired } = repairProfile(content);
190
+ repairedSections = repaired;
191
+ content = repairedContent;
192
+ }
193
+ writeFileSync(filePath, content, "utf8");
194
+ const contentHash = computeHash(content);
195
+ // ON CONFLICT(path) absorbs the watcher's stub row if chokidar's `add` won the race.
196
+ const upsertStmt = db.prepare(`
197
+ INSERT INTO files (path, title, project_id, storage_type, source_path, content_hash)
198
+ VALUES (?, ?, ?, ?, ?, ?)
199
+ ON CONFLICT(path) DO UPDATE SET
200
+ title = excluded.title,
201
+ project_id = excluded.project_id,
202
+ storage_type = excluded.storage_type,
203
+ source_path = excluded.source_path,
204
+ content_hash = excluded.content_hash,
205
+ updated_at = datetime('now')
206
+ `);
207
+ const getIdByPathStmt = db.prepare("SELECT id FROM files WHERE path = ?");
208
+ const insertTagStmt = db.prepare("INSERT OR IGNORE INTO tags (name) VALUES (?)");
209
+ const getTagStmt = db.prepare("SELECT id FROM tags WHERE name = ?");
210
+ const linkTagStmt = db.prepare("INSERT OR IGNORE INTO file_tags (file_id, tag_id) VALUES (?, ?)");
211
+ const deleteFtsStmt = db.prepare("DELETE FROM fts_index WHERE rowid = ?");
212
+ const ftsStmt = db.prepare("INSERT INTO fts_index (rowid, title, content) VALUES (?, ?, ?)");
213
+ // Snapshot for rollback — upsert may overwrite an existing row.
214
+ const priorRow = db
215
+ .prepare("SELECT id, title, project_id, storage_type, source_path, content_hash, updated_at FROM files WHERE path = ?")
216
+ .get(filePath);
217
+ let fileId;
218
+ try {
219
+ fileId = db.transaction(() => {
220
+ upsertStmt.run(filePath, title, projectId || null, storageType, sourcePath || null, contentHash);
221
+ const row = getIdByPathStmt.get(filePath);
222
+ if (!row)
223
+ throw new Error(`createFile: row missing after upsert for ${filePath}`);
224
+ const id = row.id;
225
+ if (tags.length > 0) {
226
+ for (const tagName of tags) {
227
+ insertTagStmt.run(tagName);
228
+ const tag = getTagStmt.get(tagName);
229
+ if (!tag)
230
+ continue;
231
+ linkTagStmt.run(id, tag.id);
232
+ }
233
+ }
234
+ // Replace FTS in case the watcher inserted first.
235
+ deleteFtsStmt.run(id);
236
+ ftsStmt.run(id, title, content);
237
+ return id;
238
+ })();
239
+ }
240
+ catch (dbError) {
241
+ if (preExistingContent !== null) {
242
+ try {
243
+ writeFileSync(filePath, preExistingContent);
244
+ }
245
+ catch (e) {
246
+ console.error("createFile: failed to restore pre-existing content after DB error:", e);
247
+ }
248
+ }
249
+ else {
250
+ try {
251
+ unlinkSync(filePath);
252
+ }
253
+ catch { }
254
+ }
255
+ // Roll DB back to priorRow (if any) or delete the freshly-inserted row.
256
+ try {
257
+ if (priorRow) {
258
+ db.prepare("UPDATE files SET title=?, project_id=?, storage_type=?, source_path=?, content_hash=?, updated_at=? WHERE id=?").run(priorRow.title, priorRow.project_id, priorRow.storage_type, priorRow.source_path, priorRow.content_hash, priorRow.updated_at, priorRow.id);
259
+ }
260
+ else {
261
+ db.prepare("DELETE FROM files WHERE path = ?").run(filePath);
262
+ }
263
+ }
264
+ catch (e) {
265
+ console.error("createFile: failed to roll back DB row after error:", e);
266
+ }
267
+ throw dbError;
268
+ }
269
+ const fileRecord = db.prepare("SELECT * FROM files WHERE id = ?").get(fileId);
270
+ // Reference files version against their project's own git, not the data dir.
271
+ let gitWarning;
272
+ try {
273
+ let repoDir = dataDir;
274
+ if (storageType === "reference" && projectId) {
275
+ const project = db.prepare("SELECT path FROM projects WHERE id = ?").get(projectId);
276
+ if (project?.path)
277
+ repoDir = project.path;
278
+ }
279
+ await commitFile(repoDir, filePath, `Create context file: ${title}`);
280
+ }
281
+ catch (error) {
282
+ gitWarning = error instanceof Error ? error.message : String(error);
283
+ console.warn("Git auto-commit failed during creation:", error);
284
+ }
285
+ return {
286
+ ...fileRecord,
287
+ content,
288
+ ...(gitWarning ? { git_warning: gitWarning } : {}),
289
+ };
290
+ });
291
+ }
292
+ /**
293
+ * Read a file by ID
294
+ */
295
+ export function readFile(id) {
296
+ const db = getDatabase();
297
+ const fileRecord = db.prepare("SELECT * FROM files WHERE id = ?").get(id);
298
+ if (!fileRecord) {
299
+ throw new Error(`File not found: ${id}`);
300
+ }
301
+ const content = readFileSync(fileRecord.path, "utf8");
302
+ return {
303
+ ...fileRecord,
304
+ content,
305
+ };
306
+ }
307
+ /**
308
+ * Update file content
309
+ */
310
+ export async function updateFile(id, content, dataDir) {
311
+ const db = getDatabase();
312
+ const fileRecord = db.prepare("SELECT * FROM files WHERE id = ?").get(id);
313
+ if (!fileRecord) {
314
+ throw new Error(`File not found: ${id}`);
315
+ }
316
+ // Same path-keyed lock as createFile — serialises against the watcher
317
+ // so a chokidar `change` fired mid-write can't run its own UPDATE +
318
+ // FTS rebuild interleaved with ours.
319
+ return withLock(fileLockKey(fileRecord.path), async () => {
320
+ // Stash pre-existing content so we can restore the disk file if the DB
321
+ // transaction below fails — otherwise the new bytes would sit on disk
322
+ // under a row whose content_hash and FTS index still reflect the old
323
+ // content, leaving permanent drift.
324
+ let preExistingContent = null;
325
+ if (existsSync(fileRecord.path)) {
326
+ try {
327
+ preExistingContent = readFileSync(fileRecord.path);
328
+ }
329
+ catch (e) {
330
+ console.warn("updateFile: failed to stash pre-existing content for rollback:", e);
331
+ }
332
+ }
333
+ writeFileSync(fileRecord.path, content, "utf8");
334
+ const contentHash = computeHash(content);
335
+ // Atomic so a partial failure can't leave the FTS index pointing at stale content.
336
+ const updateStmt = db.prepare(`
337
+ UPDATE files
338
+ SET content_hash = ?, updated_at = datetime('now')
339
+ WHERE id = ?
340
+ `);
341
+ const deleteFtsStmt = db.prepare("DELETE FROM fts_index WHERE rowid = ?");
342
+ const insertFtsStmt = db.prepare("INSERT INTO fts_index (rowid, title, content) VALUES (?, ?, ?)");
343
+ try {
344
+ db.transaction(() => {
345
+ updateStmt.run(contentHash, id);
346
+ deleteFtsStmt.run(id);
347
+ insertFtsStmt.run(id, fileRecord.title, content);
348
+ })();
349
+ }
350
+ catch (dbError) {
351
+ if (preExistingContent !== null) {
352
+ try {
353
+ writeFileSync(fileRecord.path, preExistingContent);
354
+ }
355
+ catch (e) {
356
+ console.error("updateFile: failed to restore pre-existing content after DB error:", e);
357
+ }
358
+ }
359
+ throw dbError;
360
+ }
361
+ let gitWarning;
362
+ try {
363
+ let repoDir = dataDir;
364
+ if (fileRecord.storage_type === "reference" && fileRecord.project_id) {
365
+ const project = db.prepare("SELECT path FROM projects WHERE id = ?").get(fileRecord.project_id);
366
+ if (project?.path)
367
+ repoDir = project.path;
368
+ }
369
+ await commitFile(repoDir, fileRecord.path, `Update context file: ${fileRecord.title}`);
370
+ }
371
+ catch (error) {
372
+ gitWarning = error instanceof Error ? error.message : String(error);
373
+ console.warn("Git auto-commit failed during update:", error);
374
+ }
375
+ const updatedRecord = db.prepare("SELECT * FROM files WHERE id = ?").get(id);
376
+ return {
377
+ ...updatedRecord,
378
+ content,
379
+ ...(gitWarning ? { git_warning: gitWarning } : {}),
380
+ };
381
+ });
382
+ }
383
+ /**
384
+ * Delete a file. Always removes the DB row; only unlinks from disk when
385
+ * the file is inside `<dataDir>/knowledge/` (project files are never
386
+ * physically deleted — we only un-index).
387
+ *
388
+ * Now also commits the deletion to git so the deleted file doesn't get
389
+ * resurrected by a later `git pull` / restore / stash pop, which then
390
+ * triggers the watcher to re-index it with a fresh row id (making it look
391
+ * like delete silently came back).
392
+ */
393
+ export async function deleteFile(id, dataDir) {
394
+ const db = getDatabase();
395
+ const file = db.prepare("SELECT path, project_id FROM files WHERE id = ?").get(id);
396
+ if (!file) {
397
+ throw new Error(`File not found: ${id}`);
398
+ }
399
+ let unlinked = false;
400
+ let inKnowledge = false;
401
+ let filePathResolved = file.path;
402
+ if (dataDir) {
403
+ const knowledgeRoot = resolve(dataDir, "knowledge");
404
+ filePathResolved = isAbsolute(file.path) ? file.path : resolve(dataDir, file.path);
405
+ inKnowledge =
406
+ filePathResolved === knowledgeRoot ||
407
+ filePathResolved.startsWith(knowledgeRoot + sep);
408
+ if (file.project_id === null && inKnowledge) {
409
+ try {
410
+ if (existsSync(filePathResolved)) {
411
+ unlinkSync(filePathResolved);
412
+ unlinked = true;
413
+ }
414
+ }
415
+ catch (e) {
416
+ console.error("Failed to delete Knowledge Base file from disk:", e);
417
+ }
418
+ }
419
+ }
420
+ // CASCADE handles file_tags + favorites via the files row deletion.
421
+ const deleteFtsStmt = db.prepare("DELETE FROM fts_index WHERE rowid = ?");
422
+ const deleteStmt = db.prepare("DELETE FROM files WHERE id = ?");
423
+ db.transaction(() => {
424
+ deleteFtsStmt.run(id);
425
+ deleteStmt.run(id);
426
+ })();
427
+ // Commit the deletion to git so the file doesn't resurrect from HEAD on
428
+ // the next pull/restore/stash pop. Only relevant for KB files (we
429
+ // actually unlinked them) — for project files we leave the source tree
430
+ // untouched. Best-effort; failures don't block the delete.
431
+ if (unlinked && dataDir) {
432
+ try {
433
+ await commitDelete(dataDir, filePathResolved, `Delete context file: ${basename(filePathResolved)}`);
434
+ }
435
+ catch (e) {
436
+ console.warn("Failed to commit KB file deletion to git:", e);
437
+ }
438
+ }
439
+ }
440
+ /**
441
+ * Create a new folder in a project
442
+ */
443
+ export function createFolder(projectPath, folderName) {
444
+ const fullPath = assertPathInside(projectPath, folderName);
445
+ mkdirSync(fullPath, { recursive: true });
446
+ return fullPath;
447
+ }
448
+ /**
449
+ * Delete a folder (recursive)
450
+ */
451
+ export function deleteFolder(projectPath, folderName) {
452
+ const fullPath = assertPathInside(projectPath, folderName);
453
+ rmSync(fullPath, { recursive: true, force: true });
454
+ }
455
+ /**
456
+ * List files with optional filters
457
+ */
458
+ export function listFiles(opts) {
459
+ const db = getDatabase();
460
+ const { filters } = opts;
461
+ let sql = "SELECT * FROM files WHERE 1=1";
462
+ const params = [];
463
+ if (filters) {
464
+ if (filters.project_id !== undefined) {
465
+ if (filters.project_id === null) {
466
+ sql += " AND project_id IS NULL";
467
+ }
468
+ else {
469
+ sql += " AND project_id = ?";
470
+ params.push(filters.project_id);
471
+ }
472
+ }
473
+ if (filters.storage_type !== undefined) {
474
+ sql += " AND storage_type = ?";
475
+ params.push(filters.storage_type);
476
+ }
477
+ if (filters.favorite !== undefined && filters.favorite) {
478
+ sql += " AND EXISTS (SELECT 1 FROM favorites WHERE favorites.file_id = files.id)";
479
+ }
480
+ if (filters.tag !== undefined) {
481
+ sql += ` AND EXISTS (
482
+ SELECT 1 FROM file_tags
483
+ JOIN tags ON tags.id = file_tags.tag_id
484
+ WHERE file_tags.file_id = files.id AND tags.name = ?
485
+ )`;
486
+ params.push(filters.tag);
487
+ }
488
+ if (filters.untagged === true) {
489
+ sql += " AND NOT EXISTS (SELECT 1 FROM file_tags WHERE file_tags.file_id = files.id)";
490
+ }
491
+ if (filters.folder !== undefined) {
492
+ // Everything interpolated into a LIKE ... ESCAPE '\' pattern must be
493
+ // escaped — including project_path and the literal backslash
494
+ // separators. Unescaped, Windows paths (C:\Users\...) have every '\'
495
+ // consumed as an escape character and the pattern never matches.
496
+ const segment = escapeLike(filters.folder);
497
+ const bs = "\\\\"; // literal backslash separator inside the pattern
498
+ if (filters.project_path) {
499
+ // Scope to files under the given project root.
500
+ const root = escapeLike(filters.project_path);
501
+ sql += " AND (path LIKE ? ESCAPE '\\' OR path LIKE ? ESCAPE '\\')";
502
+ params.push(`${root}/${segment}/%`);
503
+ params.push(`${root}${bs}${segment}${bs}%`);
504
+ }
505
+ else {
506
+ // Original behaviour: match any path segment named like folder.
507
+ sql += " AND (path LIKE ? ESCAPE '\\' OR path LIKE ? ESCAPE '\\')";
508
+ params.push(`%/${segment}/%`);
509
+ params.push(`%${bs}${segment}${bs}%`);
510
+ }
511
+ }
512
+ }
513
+ sql += " ORDER BY updated_at DESC";
514
+ if (filters?.limit !== undefined) {
515
+ sql += " LIMIT ?";
516
+ params.push(filters.limit);
517
+ }
518
+ if (filters?.offset !== undefined) {
519
+ sql += " OFFSET ?";
520
+ params.push(filters.offset);
521
+ }
522
+ const stmt = db.prepare(sql);
523
+ return stmt.all(...params);
524
+ }
525
+ /**
526
+ * Move a file to a new path.
527
+ *
528
+ * `newPath` must resolve INSIDE the file's owning project (or under
529
+ * `knowledge/` for KB files). Without this guard a caller could move a file
530
+ * over arbitrary paths the server process can write — the MCP layer enforced
531
+ * this externally, but the core library API is shared with the web app and
532
+ * future tools that may forget.
533
+ */
534
+ export function moveFile(id, newPath, dataDir) {
535
+ const db = getDatabase();
536
+ const fileRecord = db.prepare("SELECT * FROM files WHERE id = ?").get(id);
537
+ if (!fileRecord) {
538
+ throw new Error(`File not found: ${id}`);
539
+ }
540
+ if (typeof newPath !== "string" || newPath.length === 0 || newPath.includes("\0")) {
541
+ throw new Error(`moveFile: invalid newPath`);
542
+ }
543
+ if (!isAbsolute(newPath)) {
544
+ throw new Error(`moveFile: newPath must be absolute`);
545
+ }
546
+ // Path containment: newPath must be under the project's root (or the KB
547
+ // knowledge dir for project_id=NULL). assertPathInside enforces this AND
548
+ // resolves traversal segments, so `..` can't escape.
549
+ let allowedRoot = null;
550
+ if (fileRecord.project_id) {
551
+ const proj = db.prepare("SELECT path FROM projects WHERE id = ?").get(fileRecord.project_id);
552
+ if (proj?.path)
553
+ allowedRoot = proj.path;
554
+ }
555
+ else if (dataDir) {
556
+ allowedRoot = join(dataDir, "knowledge");
557
+ }
558
+ if (allowedRoot) {
559
+ // assertPathInside throws on traversal; the returned path is the
560
+ // canonicalised join. We pass newPath as a relative-style arg by
561
+ // computing the suffix the caller intended.
562
+ const rootResolved = resolve(allowedRoot);
563
+ const newResolved = resolve(newPath);
564
+ const rootWithSep = rootResolved.endsWith(sep) ? rootResolved : rootResolved + sep;
565
+ if (newResolved !== rootResolved && !newResolved.startsWith(rootWithSep)) {
566
+ throw new Error(`moveFile: destination escapes allowed root ${allowedRoot}: ${newPath}`);
567
+ }
568
+ }
569
+ const oldPath = fileRecord.path;
570
+ if (newPath !== oldPath && existsSync(newPath)) {
571
+ throw new Error(`moveFile: destination already exists: ${newPath}`);
572
+ }
573
+ mkdirSync(dirname(newPath), { recursive: true });
574
+ try {
575
+ renameSync(oldPath, newPath);
576
+ }
577
+ catch (err) {
578
+ if (err?.code === "EXDEV") {
579
+ // Cross-device move (e.g. Docker bind mount → tmpfs). renameSync can't
580
+ // span devices on POSIX; fall back to copy + unlink, atomic on the
581
+ // destination via .tmp + rename trick.
582
+ const tmpDest = `${newPath}.${process.pid}.${Date.now()}.tmp`;
583
+ try {
584
+ const buf = readFileSync(oldPath);
585
+ writeFileSync(tmpDest, buf);
586
+ renameSync(tmpDest, newPath);
587
+ unlinkSync(oldPath);
588
+ }
589
+ catch (copyErr) {
590
+ try {
591
+ if (existsSync(tmpDest))
592
+ unlinkSync(tmpDest);
593
+ }
594
+ catch { }
595
+ try {
596
+ if (existsSync(newPath) && !existsSync(oldPath))
597
+ renameSync(newPath, oldPath);
598
+ }
599
+ catch { }
600
+ throw copyErr;
601
+ }
602
+ }
603
+ else {
604
+ throw err;
605
+ }
606
+ }
607
+ // If the DB UPDATE fails (UNIQUE conflict, etc.) we'd be left with the
608
+ // file at newPath but the row pointing at oldPath — in the web app the
609
+ // watcher would then unlink the row (losing tags/favorites). Roll the
610
+ // disk rename back so the system stays consistent. (Best-effort: if the
611
+ // original move went EXDEV the rollback path may also need a copy
612
+ // fallback, but in practice rollback is on the same device that just
613
+ // hosted the file.)
614
+ const updateStmt = db.prepare("UPDATE files SET path = ?, updated_at = datetime('now') WHERE id = ?");
615
+ try {
616
+ updateStmt.run(newPath, id);
617
+ }
618
+ catch (e) {
619
+ try {
620
+ renameSync(newPath, oldPath);
621
+ }
622
+ catch (rollbackErr) {
623
+ throw new Error(`moveFile failed and rollback also failed; disk and DB are out of sync. ` +
624
+ `update error: ${e?.message ?? e}; rollback error: ${rollbackErr?.message ?? rollbackErr}`);
625
+ }
626
+ throw e;
627
+ }
628
+ const updatedRecord = db.prepare("SELECT * FROM files WHERE id = ?").get(id);
629
+ return updatedRecord;
630
+ }
631
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/files/index.ts"],"names":[],"mappings":"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"}