pi-kot 0.1.21 → 0.1.23

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 (348) hide show
  1. package/bin/pi-kot.mjs +148 -0
  2. package/dist/client/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  3. package/dist/client/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  4. package/dist/client/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  5. package/dist/client/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  6. package/dist/client/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  7. package/dist/client/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  8. package/dist/client/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  9. package/dist/client/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  10. package/dist/client/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  11. package/dist/client/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  12. package/dist/client/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  13. package/dist/client/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  14. package/dist/client/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  15. package/dist/client/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  16. package/dist/client/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  17. package/dist/client/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  18. package/dist/client/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  19. package/dist/client/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  20. package/dist/client/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  21. package/dist/client/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  22. package/dist/client/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  23. package/dist/client/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  24. package/dist/client/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  25. package/dist/client/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  26. package/dist/client/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  27. package/dist/client/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  28. package/dist/client/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  29. package/dist/client/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  30. package/dist/client/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  31. package/dist/client/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  32. package/dist/client/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  33. package/dist/client/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  34. package/dist/client/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  35. package/dist/client/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  36. package/dist/client/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  37. package/dist/client/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  38. package/dist/client/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  39. package/dist/client/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  40. package/dist/client/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  41. package/dist/client/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  42. package/dist/client/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  43. package/dist/client/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  44. package/dist/client/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  45. package/dist/client/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  46. package/dist/client/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  47. package/dist/client/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  48. package/dist/client/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  49. package/dist/client/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  50. package/dist/client/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  51. package/dist/client/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  52. package/dist/client/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  53. package/dist/client/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  54. package/dist/client/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  55. package/dist/client/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  56. package/dist/client/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  57. package/dist/client/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  58. package/dist/client/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  59. package/dist/client/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  60. package/dist/client/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  61. package/dist/client/assets/index-CE_Na97I.js +75 -0
  62. package/dist/client/assets/index-CE_Na97I.js.map +1 -0
  63. package/dist/client/assets/index-QP95zkpd.css +1 -0
  64. package/dist/client/assets/rolldown-runtime-QTnfLwEv.js +1 -0
  65. package/dist/client/assets/vendor-codemirror-CD3uCqRj.js +48 -0
  66. package/dist/client/assets/vendor-codemirror-CD3uCqRj.js.map +1 -0
  67. package/dist/client/assets/vendor-icons-W8thHNMl.js +2 -0
  68. package/dist/client/assets/vendor-icons-W8thHNMl.js.map +1 -0
  69. package/dist/client/assets/vendor-katex-4z5K3dyr.js +260 -0
  70. package/dist/client/assets/vendor-katex-4z5K3dyr.js.map +1 -0
  71. package/dist/client/assets/vendor-katex-CYlHEDRF.css +1 -0
  72. package/dist/client/assets/vendor-markdown-BSzxNR_7.js +35 -0
  73. package/dist/client/assets/vendor-markdown-BSzxNR_7.js.map +1 -0
  74. package/dist/client/assets/vendor-prism-CQGp13s2.js +4 -0
  75. package/dist/client/assets/vendor-prism-CQGp13s2.js.map +1 -0
  76. package/dist/client/assets/vendor-xterm-BrP-ENHg.css +1 -0
  77. package/dist/client/assets/vendor-xterm-DXwh06H3.js +36 -0
  78. package/dist/client/assets/vendor-xterm-DXwh06H3.js.map +1 -0
  79. package/dist/client/index.html +23 -0
  80. package/dist/server/ask-user-question/envelope.d.ts +11 -0
  81. package/dist/server/ask-user-question/envelope.d.ts.map +1 -0
  82. package/dist/server/ask-user-question/envelope.js +41 -0
  83. package/dist/server/ask-user-question/envelope.js.map +1 -0
  84. package/dist/server/ask-user-question/plan-mode-question-tool.d.ts +26 -0
  85. package/dist/server/ask-user-question/plan-mode-question-tool.d.ts.map +1 -0
  86. package/dist/server/ask-user-question/plan-mode-question-tool.js +273 -0
  87. package/dist/server/ask-user-question/plan-mode-question-tool.js.map +1 -0
  88. package/dist/server/ask-user-question/prompt-strings.d.ts +4 -0
  89. package/dist/server/ask-user-question/prompt-strings.d.ts.map +1 -0
  90. package/dist/server/ask-user-question/prompt-strings.js +18 -0
  91. package/dist/server/ask-user-question/prompt-strings.js.map +1 -0
  92. package/dist/server/ask-user-question/registry.d.ts +39 -0
  93. package/dist/server/ask-user-question/registry.d.ts.map +1 -0
  94. package/dist/server/ask-user-question/registry.js +124 -0
  95. package/dist/server/ask-user-question/registry.js.map +1 -0
  96. package/dist/server/ask-user-question/tool.d.ts +4 -0
  97. package/dist/server/ask-user-question/tool.d.ts.map +1 -0
  98. package/dist/server/ask-user-question/tool.js +68 -0
  99. package/dist/server/ask-user-question/tool.js.map +1 -0
  100. package/dist/server/ask-user-question/types.d.ts +50 -0
  101. package/dist/server/ask-user-question/types.d.ts.map +1 -0
  102. package/dist/server/ask-user-question/types.js +7 -0
  103. package/dist/server/ask-user-question/types.js.map +1 -0
  104. package/dist/server/ask-user-question/validate.d.ts +3 -0
  105. package/dist/server/ask-user-question/validate.d.ts.map +1 -0
  106. package/dist/server/ask-user-question/validate.js +67 -0
  107. package/dist/server/ask-user-question/validate.js.map +1 -0
  108. package/dist/server/clone-provider.d.ts +55 -0
  109. package/dist/server/clone-provider.d.ts.map +1 -0
  110. package/dist/server/clone-provider.js +172 -0
  111. package/dist/server/clone-provider.js.map +1 -0
  112. package/dist/server/compaction-cards.d.ts +62 -0
  113. package/dist/server/compaction-cards.d.ts.map +1 -0
  114. package/dist/server/compaction-cards.js +180 -0
  115. package/dist/server/compaction-cards.js.map +1 -0
  116. package/dist/server/compaction-continuation.d.ts +112 -0
  117. package/dist/server/compaction-continuation.d.ts.map +1 -0
  118. package/dist/server/compaction-continuation.js +65 -0
  119. package/dist/server/compaction-continuation.js.map +1 -0
  120. package/dist/server/config-store.d.ts +97 -0
  121. package/dist/server/config-store.d.ts.map +1 -0
  122. package/dist/server/config-store.js +351 -0
  123. package/dist/server/config-store.js.map +1 -0
  124. package/dist/server/config.d.ts +24 -0
  125. package/dist/server/config.d.ts.map +1 -0
  126. package/dist/server/config.js +67 -0
  127. package/dist/server/config.js.map +1 -0
  128. package/dist/server/event-stream.d.ts +28 -0
  129. package/dist/server/event-stream.d.ts.map +1 -0
  130. package/dist/server/event-stream.js +153 -0
  131. package/dist/server/event-stream.js.map +1 -0
  132. package/dist/server/extension-manager.d.ts +116 -0
  133. package/dist/server/extension-manager.d.ts.map +1 -0
  134. package/dist/server/extension-manager.js +586 -0
  135. package/dist/server/extension-manager.js.map +1 -0
  136. package/dist/server/extension-scanner.d.ts +26 -0
  137. package/dist/server/extension-scanner.d.ts.map +1 -0
  138. package/dist/server/extension-scanner.js +107 -0
  139. package/dist/server/extension-scanner.js.map +1 -0
  140. package/dist/server/extension-ui-bridge.d.ts +35 -0
  141. package/dist/server/extension-ui-bridge.d.ts.map +1 -0
  142. package/dist/server/extension-ui-bridge.js +228 -0
  143. package/dist/server/extension-ui-bridge.js.map +1 -0
  144. package/dist/server/file-manager.d.ts +79 -0
  145. package/dist/server/file-manager.d.ts.map +1 -0
  146. package/dist/server/file-manager.js +535 -0
  147. package/dist/server/file-manager.js.map +1 -0
  148. package/dist/server/file-searcher.d.ts +29 -0
  149. package/dist/server/file-searcher.d.ts.map +1 -0
  150. package/dist/server/file-searcher.js +318 -0
  151. package/dist/server/file-searcher.js.map +1 -0
  152. package/dist/server/git-operations.d.ts +346 -0
  153. package/dist/server/git-operations.d.ts.map +1 -0
  154. package/dist/server/git-operations.js +884 -0
  155. package/dist/server/git-operations.js.map +1 -0
  156. package/dist/server/hunk-stager.d.ts +56 -0
  157. package/dist/server/hunk-stager.d.ts.map +1 -0
  158. package/dist/server/hunk-stager.js +137 -0
  159. package/dist/server/hunk-stager.js.map +1 -0
  160. package/dist/server/index.d.ts +21 -0
  161. package/dist/server/index.d.ts.map +1 -0
  162. package/dist/server/index.js +262 -0
  163. package/dist/server/index.js.map +1 -0
  164. package/dist/server/mcp/config.d.ts +23 -0
  165. package/dist/server/mcp/config.d.ts.map +1 -0
  166. package/dist/server/mcp/config.js +139 -0
  167. package/dist/server/mcp/config.js.map +1 -0
  168. package/dist/server/mcp/manager.d.ts +40 -0
  169. package/dist/server/mcp/manager.d.ts.map +1 -0
  170. package/dist/server/mcp/manager.js +435 -0
  171. package/dist/server/mcp/manager.js.map +1 -0
  172. package/dist/server/mcp/stdio-trust.d.ts +5 -0
  173. package/dist/server/mcp/stdio-trust.d.ts.map +1 -0
  174. package/dist/server/mcp/stdio-trust.js +78 -0
  175. package/dist/server/mcp/stdio-trust.js.map +1 -0
  176. package/dist/server/mcp/tool-bridge.d.ts +33 -0
  177. package/dist/server/mcp/tool-bridge.d.ts.map +1 -0
  178. package/dist/server/mcp/tool-bridge.js +138 -0
  179. package/dist/server/mcp/tool-bridge.js.map +1 -0
  180. package/dist/server/orchestration/config.d.ts +5 -0
  181. package/dist/server/orchestration/config.d.ts.map +1 -0
  182. package/dist/server/orchestration/config.js +35 -0
  183. package/dist/server/orchestration/config.js.map +1 -0
  184. package/dist/server/orchestration/event-bridge.d.ts +32 -0
  185. package/dist/server/orchestration/event-bridge.d.ts.map +1 -0
  186. package/dist/server/orchestration/event-bridge.js +110 -0
  187. package/dist/server/orchestration/event-bridge.js.map +1 -0
  188. package/dist/server/orchestration/inbox.d.ts +9 -0
  189. package/dist/server/orchestration/inbox.d.ts.map +1 -0
  190. package/dist/server/orchestration/inbox.js +186 -0
  191. package/dist/server/orchestration/inbox.js.map +1 -0
  192. package/dist/server/orchestration/init.d.ts +2 -0
  193. package/dist/server/orchestration/init.d.ts.map +1 -0
  194. package/dist/server/orchestration/init.js +22 -0
  195. package/dist/server/orchestration/init.js.map +1 -0
  196. package/dist/server/orchestration/store.d.ts +33 -0
  197. package/dist/server/orchestration/store.d.ts.map +1 -0
  198. package/dist/server/orchestration/store.js +331 -0
  199. package/dist/server/orchestration/store.js.map +1 -0
  200. package/dist/server/orchestration/tools.d.ts +15 -0
  201. package/dist/server/orchestration/tools.d.ts.map +1 -0
  202. package/dist/server/orchestration/tools.js +621 -0
  203. package/dist/server/orchestration/tools.js.map +1 -0
  204. package/dist/server/orchestration/types.d.ts +68 -0
  205. package/dist/server/orchestration/types.d.ts.map +1 -0
  206. package/dist/server/orchestration/types.js +43 -0
  207. package/dist/server/orchestration/types.js.map +1 -0
  208. package/dist/server/orchestration/worker-lifecycle.d.ts +15 -0
  209. package/dist/server/orchestration/worker-lifecycle.d.ts.map +1 -0
  210. package/dist/server/orchestration/worker-lifecycle.js +45 -0
  211. package/dist/server/orchestration/worker-lifecycle.js.map +1 -0
  212. package/dist/server/path-refs.d.ts +5 -0
  213. package/dist/server/path-refs.d.ts.map +1 -0
  214. package/dist/server/path-refs.js +249 -0
  215. package/dist/server/path-refs.js.map +1 -0
  216. package/dist/server/routes/_schemas.d.ts +16 -0
  217. package/dist/server/routes/_schemas.d.ts.map +1 -0
  218. package/dist/server/routes/_schemas.js +12 -0
  219. package/dist/server/routes/_schemas.js.map +1 -0
  220. package/dist/server/routes/ask-user-question.d.ts +3 -0
  221. package/dist/server/routes/ask-user-question.d.ts.map +1 -0
  222. package/dist/server/routes/ask-user-question.js +105 -0
  223. package/dist/server/routes/ask-user-question.js.map +1 -0
  224. package/dist/server/routes/auth.d.ts +8 -0
  225. package/dist/server/routes/auth.d.ts.map +1 -0
  226. package/dist/server/routes/auth.js +225 -0
  227. package/dist/server/routes/auth.js.map +1 -0
  228. package/dist/server/routes/config.d.ts +3 -0
  229. package/dist/server/routes/config.d.ts.map +1 -0
  230. package/dist/server/routes/config.js +602 -0
  231. package/dist/server/routes/config.js.map +1 -0
  232. package/dist/server/routes/control.d.ts +3 -0
  233. package/dist/server/routes/control.d.ts.map +1 -0
  234. package/dist/server/routes/control.js +365 -0
  235. package/dist/server/routes/control.js.map +1 -0
  236. package/dist/server/routes/exec.d.ts +3 -0
  237. package/dist/server/routes/exec.d.ts.map +1 -0
  238. package/dist/server/routes/exec.js +426 -0
  239. package/dist/server/routes/exec.js.map +1 -0
  240. package/dist/server/routes/extension-commands.d.ts +22 -0
  241. package/dist/server/routes/extension-commands.d.ts.map +1 -0
  242. package/dist/server/routes/extension-commands.js +178 -0
  243. package/dist/server/routes/extension-commands.js.map +1 -0
  244. package/dist/server/routes/extensions.d.ts +8 -0
  245. package/dist/server/routes/extensions.d.ts.map +1 -0
  246. package/dist/server/routes/extensions.js +414 -0
  247. package/dist/server/routes/extensions.js.map +1 -0
  248. package/dist/server/routes/files.d.ts +3 -0
  249. package/dist/server/routes/files.d.ts.map +1 -0
  250. package/dist/server/routes/files.js +835 -0
  251. package/dist/server/routes/files.js.map +1 -0
  252. package/dist/server/routes/git.d.ts +3 -0
  253. package/dist/server/routes/git.d.ts.map +1 -0
  254. package/dist/server/routes/git.js +1058 -0
  255. package/dist/server/routes/git.js.map +1 -0
  256. package/dist/server/routes/mcp.d.ts +3 -0
  257. package/dist/server/routes/mcp.d.ts.map +1 -0
  258. package/dist/server/routes/mcp.js +403 -0
  259. package/dist/server/routes/mcp.js.map +1 -0
  260. package/dist/server/routes/orchestration.d.ts +3 -0
  261. package/dist/server/routes/orchestration.d.ts.map +1 -0
  262. package/dist/server/routes/orchestration.js +251 -0
  263. package/dist/server/routes/orchestration.js.map +1 -0
  264. package/dist/server/routes/projects.d.ts +3 -0
  265. package/dist/server/routes/projects.d.ts.map +1 -0
  266. package/dist/server/routes/projects.js +421 -0
  267. package/dist/server/routes/projects.js.map +1 -0
  268. package/dist/server/routes/prompt.d.ts +3 -0
  269. package/dist/server/routes/prompt.d.ts.map +1 -0
  270. package/dist/server/routes/prompt.js +311 -0
  271. package/dist/server/routes/prompt.js.map +1 -0
  272. package/dist/server/routes/session-extensions.d.ts +11 -0
  273. package/dist/server/routes/session-extensions.d.ts.map +1 -0
  274. package/dist/server/routes/session-extensions.js +171 -0
  275. package/dist/server/routes/session-extensions.js.map +1 -0
  276. package/dist/server/routes/sessions.d.ts +3 -0
  277. package/dist/server/routes/sessions.d.ts.map +1 -0
  278. package/dist/server/routes/sessions.js +706 -0
  279. package/dist/server/routes/sessions.js.map +1 -0
  280. package/dist/server/routes/skills.d.ts +14 -0
  281. package/dist/server/routes/skills.d.ts.map +1 -0
  282. package/dist/server/routes/skills.js +448 -0
  283. package/dist/server/routes/skills.js.map +1 -0
  284. package/dist/server/routes/stream.d.ts +3 -0
  285. package/dist/server/routes/stream.d.ts.map +1 -0
  286. package/dist/server/routes/stream.js +112 -0
  287. package/dist/server/routes/stream.js.map +1 -0
  288. package/dist/server/routes/terminal.d.ts +28 -0
  289. package/dist/server/routes/terminal.d.ts.map +1 -0
  290. package/dist/server/routes/terminal.js +211 -0
  291. package/dist/server/routes/terminal.js.map +1 -0
  292. package/dist/server/routes/tunnel.d.ts +13 -0
  293. package/dist/server/routes/tunnel.d.ts.map +1 -0
  294. package/dist/server/routes/tunnel.js +231 -0
  295. package/dist/server/routes/tunnel.js.map +1 -0
  296. package/dist/server/session-alerts.d.ts +28 -0
  297. package/dist/server/session-alerts.d.ts.map +1 -0
  298. package/dist/server/session-alerts.js +38 -0
  299. package/dist/server/session-alerts.js.map +1 -0
  300. package/dist/server/session-store.d.ts +164 -0
  301. package/dist/server/session-store.d.ts.map +1 -0
  302. package/dist/server/session-store.js +754 -0
  303. package/dist/server/session-store.js.map +1 -0
  304. package/dist/server/skill-policy.d.ts +47 -0
  305. package/dist/server/skill-policy.d.ts.map +1 -0
  306. package/dist/server/skill-policy.js +178 -0
  307. package/dist/server/skill-policy.js.map +1 -0
  308. package/dist/server/terminal-provider.d.ts +54 -0
  309. package/dist/server/terminal-provider.d.ts.map +1 -0
  310. package/dist/server/terminal-provider.js +220 -0
  311. package/dist/server/terminal-provider.js.map +1 -0
  312. package/dist/server/tool-policy.d.ts +39 -0
  313. package/dist/server/tool-policy.d.ts.map +1 -0
  314. package/dist/server/tool-policy.js +121 -0
  315. package/dist/server/tool-policy.js.map +1 -0
  316. package/dist/server/tunnel/executable-search.d.ts +43 -0
  317. package/dist/server/tunnel/executable-search.d.ts.map +1 -0
  318. package/dist/server/tunnel/executable-search.js +148 -0
  319. package/dist/server/tunnel/executable-search.js.map +1 -0
  320. package/dist/server/tunnel/install-help.d.ts +19 -0
  321. package/dist/server/tunnel/install-help.d.ts.map +1 -0
  322. package/dist/server/tunnel/install-help.js +47 -0
  323. package/dist/server/tunnel/install-help.js.map +1 -0
  324. package/dist/server/tunnel/providers/ngrok.d.ts +31 -0
  325. package/dist/server/tunnel/providers/ngrok.d.ts.map +1 -0
  326. package/dist/server/tunnel/providers/ngrok.js +461 -0
  327. package/dist/server/tunnel/providers/ngrok.js.map +1 -0
  328. package/dist/server/tunnel/registry.d.ts +13 -0
  329. package/dist/server/tunnel/registry.d.ts.map +1 -0
  330. package/dist/server/tunnel/registry.js +56 -0
  331. package/dist/server/tunnel/registry.js.map +1 -0
  332. package/dist/server/tunnel/service.d.ts +13 -0
  333. package/dist/server/tunnel/service.d.ts.map +1 -0
  334. package/dist/server/tunnel/service.js +156 -0
  335. package/dist/server/tunnel/service.js.map +1 -0
  336. package/dist/server/tunnel/types.d.ts +163 -0
  337. package/dist/server/tunnel/types.d.ts.map +1 -0
  338. package/dist/server/tunnel/types.js +214 -0
  339. package/dist/server/tunnel/types.js.map +1 -0
  340. package/dist/server/ui-settings-store.d.ts +25 -0
  341. package/dist/server/ui-settings-store.d.ts.map +1 -0
  342. package/dist/server/ui-settings-store.js +91 -0
  343. package/dist/server/ui-settings-store.js.map +1 -0
  344. package/dist/server/workspace-store.d.ts +25 -0
  345. package/dist/server/workspace-store.d.ts.map +1 -0
  346. package/dist/server/workspace-store.js +157 -0
  347. package/dist/server/workspace-store.js.map +1 -0
  348. package/package.json +5 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-operations.js","sourceRoot":"","sources":["../src/git-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Hunk-level staging. Builds a synthetic unified diff containing only
3
+ * the user-selected hunks of a file, then feeds it to
4
+ * `git apply --cached [--reverse] --recount` via stdin.
5
+ *
6
+ * Why this works:
7
+ * - `git apply --cached` updates the index without touching the
8
+ * working tree — exactly what `git add` does for a whole file.
9
+ * - `--recount` rewrites the per-hunk line-count fields, so we
10
+ * don't have to recompute them after subsetting hunks (the line
11
+ * numbers in `@@ -X,Y +A,B @@` may be stale relative to a partial
12
+ * patch; git fixes them itself).
13
+ * - `--reverse` flips the patch so unstaging from the staged-side
14
+ * diff applies cleanly. Symmetric with stage.
15
+ *
16
+ * Binary files have no `@@` hunks (`git diff` emits
17
+ * `Binary files a/foo and b/foo differ`); we reject upfront so the
18
+ * UI can surface a clear "binary files can't be hunk-staged" error
19
+ * rather than confusing the user with a `git apply` failure mode.
20
+ */
21
+ export type ApplyMode = "stage" | "unstage";
22
+ export declare class HunkStagingError extends Error {
23
+ code: string;
24
+ constructor(code: string, message: string);
25
+ }
26
+ export interface HunkExtractResult {
27
+ /** The synthetic patch ready to feed to `git apply`. */
28
+ patch: string;
29
+ /** Total hunks present in the source diff (for client validation). */
30
+ totalHunks: number;
31
+ }
32
+ /**
33
+ * Pure helper: split a unified diff into header + hunk blocks and
34
+ * return a synthetic diff containing only the requested hunk indices.
35
+ *
36
+ * - "Header" = every line before the first `@@`. Includes the
37
+ * `diff --git`, `index`, `---`, `+++` lines that `git apply`
38
+ * needs to identify the target file.
39
+ * - "Hunk" = a `@@` line and everything until the next `@@` line
40
+ * (or end of diff).
41
+ *
42
+ * Throws `HunkStagingError` for binary diffs (no `@@`), out-of-range
43
+ * indices, or empty selections — these are bad-input failures the
44
+ * caller should surface to the UI.
45
+ */
46
+ export declare function extractHunks(fullDiff: string, indices: number[]): HunkExtractResult;
47
+ /**
48
+ * Stage or unstage the selected hunks of a single file. Fetches the
49
+ * current diff for the appropriate side (unstaged-side for stage,
50
+ * staged-side for unstage), extracts the requested hunks, then pipes
51
+ * the synthetic patch into `git apply --cached`.
52
+ */
53
+ export declare function applyHunks(cwd: string, path: string, indices: number[], mode: ApplyMode): Promise<{
54
+ totalHunks: number;
55
+ }>;
56
+ //# sourceMappingURL=hunk-stager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hunk-stager.d.ts","sourceRoot":"","sources":["../src/hunk-stager.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAE5C,qBAAa,gBAAiB,SAAQ,KAAK;IAEhC,IAAI,EAAE,MAAM;IADrB,YACS,IAAI,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAIhB;CACF;AAED,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAyDnF;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBjC"}
@@ -0,0 +1,137 @@
1
+ import { spawn } from "node:child_process";
2
+ import { getFileDiff } from "./git-operations.js";
3
+ export class HunkStagingError extends Error {
4
+ code;
5
+ constructor(code, message) {
6
+ super(message);
7
+ this.code = code;
8
+ this.name = "HunkStagingError";
9
+ }
10
+ }
11
+ /**
12
+ * Pure helper: split a unified diff into header + hunk blocks and
13
+ * return a synthetic diff containing only the requested hunk indices.
14
+ *
15
+ * - "Header" = every line before the first `@@`. Includes the
16
+ * `diff --git`, `index`, `---`, `+++` lines that `git apply`
17
+ * needs to identify the target file.
18
+ * - "Hunk" = a `@@` line and everything until the next `@@` line
19
+ * (or end of diff).
20
+ *
21
+ * Throws `HunkStagingError` for binary diffs (no `@@`), out-of-range
22
+ * indices, or empty selections — these are bad-input failures the
23
+ * caller should surface to the UI.
24
+ */
25
+ export function extractHunks(fullDiff, indices) {
26
+ if (indices.length === 0) {
27
+ throw new HunkStagingError("no_hunks_selected", "no hunk indices supplied");
28
+ }
29
+ const lines = fullDiff.split("\n");
30
+ // First @@ marks the start of hunk 0. Header is everything above.
31
+ let firstHunk = -1;
32
+ for (let i = 0; i < lines.length; i++) {
33
+ if (lines[i]?.startsWith("@@")) {
34
+ firstHunk = i;
35
+ break;
36
+ }
37
+ }
38
+ if (firstHunk === -1) {
39
+ throw new HunkStagingError("binary_or_no_hunks", "diff has no @@ hunks (binary file or empty diff)");
40
+ }
41
+ const header = lines.slice(0, firstHunk);
42
+ // Walk the rest, splitting on every `@@` line.
43
+ const hunks = [];
44
+ let current = [];
45
+ for (let i = firstHunk; i < lines.length; i++) {
46
+ const line = lines[i] ?? "";
47
+ if (line.startsWith("@@")) {
48
+ if (current.length > 0)
49
+ hunks.push(current);
50
+ current = [line];
51
+ }
52
+ else {
53
+ current.push(line);
54
+ }
55
+ }
56
+ if (current.length > 0)
57
+ hunks.push(current);
58
+ for (const idx of indices) {
59
+ if (idx < 0 || idx >= hunks.length) {
60
+ throw new HunkStagingError("hunk_index_out_of_range", `hunk index ${idx} out of range [0, ${hunks.length})`);
61
+ }
62
+ }
63
+ // Sort indices ascending so the synthetic patch's hunks remain in
64
+ // file order — `git apply` doesn't strictly require it but it's
65
+ // saner to debug.
66
+ const sorted = Array.from(new Set(indices)).sort((a, b) => a - b);
67
+ const selected = [...header];
68
+ for (const idx of sorted) {
69
+ const hunk = hunks[idx];
70
+ if (hunk === undefined)
71
+ continue;
72
+ for (const ln of hunk)
73
+ selected.push(ln);
74
+ }
75
+ // Ensure trailing newline — git apply is finicky about a missing
76
+ // final \n on the patch input.
77
+ let patch = selected.join("\n");
78
+ if (!patch.endsWith("\n"))
79
+ patch += "\n";
80
+ return { patch, totalHunks: hunks.length };
81
+ }
82
+ /**
83
+ * Stage or unstage the selected hunks of a single file. Fetches the
84
+ * current diff for the appropriate side (unstaged-side for stage,
85
+ * staged-side for unstage), extracts the requested hunks, then pipes
86
+ * the synthetic patch into `git apply --cached`.
87
+ */
88
+ export async function applyHunks(cwd, path, indices, mode) {
89
+ // Pull from the side the user is acting on. Staging operates on the
90
+ // unstaged-side diff (working tree vs index); unstaging operates on
91
+ // the staged-side diff (index vs HEAD), reversed.
92
+ const diffResult = await getFileDiff(cwd, path, /* staged */ mode === "unstage");
93
+ if (diffResult.diff.length === 0) {
94
+ throw new HunkStagingError("no_diff", "file has no diff on the requested side — already staged / unstaged?");
95
+ }
96
+ const { patch, totalHunks } = extractHunks(diffResult.diff, indices);
97
+ const args = ["apply", "--cached", "--recount"];
98
+ if (mode === "unstage")
99
+ args.push("--reverse");
100
+ // No path arg — the patch's `--- a/...` / `+++ b/...` headers tell
101
+ // git which file to touch. Adding the path here would just confuse
102
+ // git apply on rename-detection cases.
103
+ await runGitWithStdin(cwd, args, patch);
104
+ return { totalHunks };
105
+ }
106
+ /* ----------------------------- internals ----------------------------- */
107
+ /**
108
+ * Spawn `git <args>` with the given stdin content. Resolves on exit 0,
109
+ * rejects with HunkStagingError("git_apply_failed", stderr) otherwise.
110
+ *
111
+ * Why a local helper and not git-operations.runGit: the runner is built
112
+ * for subprocess output capture without a stdin path. This helper
113
+ * keeps the simple "feed a patch in" semantics clean without
114
+ * reshaping the runner API.
115
+ */
116
+ function runGitWithStdin(cwd, args, stdin) {
117
+ return new Promise((resolveFn, rejectFn) => {
118
+ const child = spawn("git", args, { cwd, stdio: ["pipe", "pipe", "pipe"] });
119
+ let stderr = "";
120
+ child.stderr.setEncoding("utf8");
121
+ child.stderr.on("data", (chunk) => {
122
+ stderr += chunk;
123
+ });
124
+ child.on("error", (err) => {
125
+ rejectFn(new HunkStagingError("git_spawn_failed", err.message));
126
+ });
127
+ child.on("close", (code) => {
128
+ if (code === 0)
129
+ resolveFn();
130
+ else {
131
+ rejectFn(new HunkStagingError("git_apply_failed", stderr.trim().length > 0 ? stderr.trim() : `git apply exited ${code ?? -1}`));
132
+ }
133
+ });
134
+ child.stdin.end(stdin);
135
+ });
136
+ }
137
+ //# sourceMappingURL=hunk-stager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hunk-stager.js","sourceRoot":"","sources":["../src/hunk-stager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import Fastify from "fastify";
2
+ /**
3
+ * Per-route auth metadata. Routes that should skip the auth preHandler
4
+ * set `config.public: true` via Fastify route config.
5
+ */
6
+ declare module "fastify" {
7
+ interface FastifyContextConfig {
8
+ public?: boolean;
9
+ }
10
+ }
11
+ /**
12
+ * Build the Fastify server with all routes registered.
13
+ * Architecture:
14
+ * - Fastify HTTP server with CORS
15
+ * - Auth gate via onRequest hook (public routes opt out)
16
+ * - All routes under /api/v1/
17
+ * - Clean teardown on close
18
+ */
19
+ export declare function buildServer(): Promise<Fastify.FastifyInstance<Fastify.RawServerDefault, import("node:http").IncomingMessage, import("node:http").ServerResponse<import("node:http").IncomingMessage>, Fastify.FastifyBaseLogger, Fastify.FastifyTypeProviderDefault>>;
20
+ export declare function start(): Promise<void>;
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAgC,MAAM,SAAS,CAAC;AAmCvD;;;GAGG;AACH,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,oBAAoB;QAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;CACF;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,4OA0KhC;AAED,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAyD3C"}
@@ -0,0 +1,262 @@
1
+ import Fastify from "fastify";
2
+ import cors from "@fastify/cors";
3
+ import swagger from "@fastify/swagger";
4
+ import swaggerUi from "@fastify/swagger-ui";
5
+ import websocket from "@fastify/websocket";
6
+ import fastifyStatic from "@fastify/static";
7
+ import fastifyMultipart from "@fastify/multipart";
8
+ import { existsSync } from "node:fs";
9
+ import { resolve } from "node:path";
10
+ import { config } from "./config.js";
11
+ import { authEnabled, extractBearer, verifyHmac } from "./routes/auth.js";
12
+ import { healthRoutes, authRoutes, versionRoutes } from "./routes/auth.js";
13
+ import { askUserQuestionRoutes } from "./routes/ask-user-question.js";
14
+ import { sessionRoutes } from "./routes/sessions.js";
15
+ import { promptRoutes } from "./routes/prompt.js";
16
+ import { streamRoutes } from "./routes/stream.js";
17
+ import { configRoutes } from "./routes/config.js";
18
+ import { controlRoutes } from "./routes/control.js";
19
+ import { projectRoutes } from "./routes/projects.js";
20
+ import { fileRoutes } from "./routes/files.js";
21
+ import { disposeAllSessions, getSession } from "./session-store.js";
22
+ import { subscribe as subscribeAskUserQuestion } from "./ask-user-question/registry.js";
23
+ import { initOrchestrationAskUserQuestionBridge } from "./orchestration/init.js";
24
+ import { orchestrationRoutes } from "./routes/orchestration.js";
25
+ import { extensionRoutes } from "./routes/extensions.js";
26
+ import { extensionCommandRoutes } from "./routes/extension-commands.js";
27
+ import { sessionExtensionRoutes } from "./routes/session-extensions.js";
28
+ import { gitRoutes } from "./routes/git.js";
29
+ import { mcpRoutes } from "./routes/mcp.js";
30
+ import { skillRoutes } from "./routes/skills.js";
31
+ import { terminalRoutes } from "./routes/terminal.js";
32
+ import { execRoutes } from "./routes/exec.js";
33
+ import { tunnelRoutes } from "./routes/tunnel.js";
34
+ import { disposeAll as disposeAllMcp, loadGlobal as loadGlobalMcp } from "./mcp/manager.js";
35
+ /**
36
+ * Build the Fastify server with all routes registered.
37
+ * Architecture:
38
+ * - Fastify HTTP server with CORS
39
+ * - Auth gate via onRequest hook (public routes opt out)
40
+ * - All routes under /api/v1/
41
+ * - Clean teardown on close
42
+ */
43
+ export async function buildServer() {
44
+ const fastify = Fastify({
45
+ // Allow images up to ~10MB as base64 + overhead
46
+ bodyLimit: 15 * 1024 * 1024,
47
+ logger: {
48
+ level: config.logLevel,
49
+ serializers: {
50
+ req(req) {
51
+ return {
52
+ method: req.method,
53
+ url: req.url,
54
+ hostname: req.hostname,
55
+ remoteAddress: req.ip,
56
+ };
57
+ },
58
+ },
59
+ },
60
+ disableRequestLogging: config.isTest,
61
+ trustProxy: config.trustProxy,
62
+ });
63
+ // WebSocket support for terminal
64
+ await fastify.register(websocket);
65
+ // Multipart uploads
66
+ await fastify.register(fastifyMultipart);
67
+ // CORS — default to true (reflect request origin) for dev convenience
68
+ await fastify.register(cors, {
69
+ origin: config.corsOrigin,
70
+ credentials: false,
71
+ });
72
+ // OpenAPI / Swagger
73
+ await fastify.register(swagger, {
74
+ openapi: {
75
+ info: { title: "pi-kot API", version: "0.1.0" },
76
+ components: {
77
+ securitySchemes: {
78
+ bearerAuth: { type: "http", scheme: "bearer" },
79
+ },
80
+ },
81
+ security: [{ bearerAuth: [] }],
82
+ },
83
+ });
84
+ await fastify.register(swaggerUi, {
85
+ routePrefix: "/api/docs",
86
+ uiConfig: { docExpansion: "list", persistAuthorization: true },
87
+ });
88
+ // Auth gate — applies to all /api/v1/* routes not marked public
89
+ fastify.addHook("onRequest", async (req, reply) => {
90
+ const path = req.url.split("?")[0] ?? req.url;
91
+ // /api/docs is open when auth is disabled (dev default)
92
+ if (path === "/api/docs" || path.startsWith("/api/docs/")) {
93
+ return;
94
+ }
95
+ if (!path.startsWith("/api/v1/"))
96
+ return;
97
+ const routeConfig = req.routeOptions?.config;
98
+ if (routeConfig?.public === true)
99
+ return;
100
+ if (!authEnabled())
101
+ return;
102
+ const presented = extractBearer(req.headers.authorization);
103
+ if (presented === undefined) {
104
+ return reply.code(401).send({ error: "missing_token" });
105
+ }
106
+ const payload = verifyHmac(presented);
107
+ if (payload !== undefined)
108
+ return;
109
+ // Fallback: check API key
110
+ if (config.apiKey !== undefined && presented === config.apiKey)
111
+ return;
112
+ return reply.code(401).send({ error: "invalid_token" });
113
+ });
114
+ // Register all API routes under /api/v1
115
+ await fastify.register(async (api) => {
116
+ await api.register(healthRoutes);
117
+ await api.register(authRoutes);
118
+ await api.register(sessionRoutes);
119
+ await api.register(askUserQuestionRoutes);
120
+ await api.register(promptRoutes);
121
+ await api.register(streamRoutes);
122
+ await api.register(configRoutes);
123
+ await api.register(controlRoutes);
124
+ await api.register(fileRoutes);
125
+ await api.register(versionRoutes);
126
+ await api.register(projectRoutes);
127
+ await api.register(extensionRoutes);
128
+ await api.register(extensionCommandRoutes);
129
+ await api.register(sessionExtensionRoutes);
130
+ await api.register(orchestrationRoutes);
131
+ await api.register(gitRoutes);
132
+ await api.register(mcpRoutes);
133
+ await api.register(skillRoutes);
134
+ await api.register(terminalRoutes);
135
+ await api.register(execRoutes);
136
+ await api.register(tunnelRoutes);
137
+ }, { prefix: "/api/v1" });
138
+ // Wire ask_user_question registry events into SSE fanout
139
+ subscribeAskUserQuestion((event) => {
140
+ const live = getSession(event.sessionId);
141
+ if (live === undefined)
142
+ return;
143
+ for (const client of live.clients) {
144
+ try {
145
+ client.send(event);
146
+ }
147
+ catch {
148
+ live.clients.delete(client);
149
+ }
150
+ }
151
+ });
152
+ // Wire orchestration ask-user-question bridge
153
+ initOrchestrationAskUserQuestionBridge();
154
+ // ---- static client (production) ----
155
+ // After `npm run build`, Fastify serves the Vite build directly.
156
+ // In dev mode, Vite owns :5173 and proxies to us.
157
+ if (config.serveClient && existsSync(config.clientDistPath)) {
158
+ await fastify.register(fastifyStatic, {
159
+ root: config.clientDistPath,
160
+ wildcard: false,
161
+ setHeaders: (res, path) => {
162
+ if (path.endsWith(".html")) {
163
+ // Never cache HTML so users always get the latest js/css references
164
+ res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
165
+ res.setHeader("Pragma", "no-cache");
166
+ res.setHeader("Expires", "0");
167
+ }
168
+ else if (path.includes("/assets/")) {
169
+ // Aggressively cache static assets (Vite hashes them)
170
+ res.setHeader("Cache-Control", "public, max-age=31536000, immutable");
171
+ }
172
+ },
173
+ });
174
+ // SPA fallback: non-/api/* GETs → index.html
175
+ fastify.setNotFoundHandler((req, reply) => {
176
+ if (req.url.startsWith("/api/")) {
177
+ return reply.status(404).send({ error: "not_found" });
178
+ }
179
+ return reply.sendFile("index.html");
180
+ });
181
+ }
182
+ // Clean teardown on close
183
+ fastify.addHook("onClose", async () => {
184
+ await disposeAllSessions();
185
+ await disposeAllMcp();
186
+ const { disposeAllPtys } = await import("./terminal-provider.js");
187
+ disposeAllPtys();
188
+ });
189
+ // Boot-time MCP load
190
+ loadGlobalMcp().catch((err) => {
191
+ fastify.log.error({ err }, "mcp: initial load failed");
192
+ });
193
+ // Install PTY exit handler (SIGTERM on all PTYs on process exit)
194
+ const { installPtyExitHandler } = await import("./terminal-provider.js");
195
+ installPtyExitHandler();
196
+ return fastify;
197
+ }
198
+ export async function start() {
199
+ const fastify = await buildServer();
200
+ // Auto-create default project if none exist
201
+ try {
202
+ const { mkdir } = await import("node:fs/promises");
203
+ await mkdir(config.workspacePath, { recursive: true });
204
+ const { listProjects, createProject } = await import("./workspace-store.js");
205
+ const projects = await listProjects();
206
+ if (projects.length === 0) {
207
+ const project = await createProject("Default", config.workspacePath);
208
+ fastify.log.info("auto-created default project");
209
+ // Migrate old sessions from "default" literal dir to project UUID
210
+ const { rename, stat } = await import("node:fs/promises");
211
+ const { join } = await import("node:path");
212
+ const oldDir = join(config.sessionDir, "default");
213
+ const newDir = join(config.sessionDir, project.id);
214
+ try {
215
+ await stat(oldDir);
216
+ if (oldDir !== newDir) {
217
+ await rename(oldDir, newDir).catch(() => { });
218
+ fastify.log.info("migrated sessions from default/ to project UUID");
219
+ }
220
+ }
221
+ catch {
222
+ // oldDir doesn't exist, nothing to migrate
223
+ }
224
+ }
225
+ }
226
+ catch (err) {
227
+ fastify.log.warn({ err }, "failed to auto-create default project");
228
+ }
229
+ // Auto-mount CWD project if set by the CLI launcher
230
+ const mountCwd = process.env.MOUNT_CWD_PROJECT;
231
+ if (mountCwd) {
232
+ try {
233
+ const { createProject, listProjects } = await import("./workspace-store.js");
234
+ const existing = await listProjects();
235
+ const alreadyMounted = existing.some((p) => resolve(p.path) === resolve(mountCwd));
236
+ if (!alreadyMounted) {
237
+ const dirName = mountCwd.split(/[/\\]/).filter(Boolean).pop() ?? "unnamed";
238
+ await createProject(dirName, mountCwd);
239
+ fastify.log.info(`auto-mounted CWD project: ${dirName} (${mountCwd})`);
240
+ }
241
+ }
242
+ catch (err) {
243
+ fastify.log.warn({ err }, "failed to auto-mount CWD project");
244
+ }
245
+ }
246
+ try {
247
+ await fastify.listen({ port: config.port, host: config.host });
248
+ fastify.log.info(`pi-kot server listening on :${config.port}`);
249
+ }
250
+ catch (err) {
251
+ fastify.log.error(err);
252
+ process.exit(1);
253
+ }
254
+ }
255
+ // Start when run directly (not when imported by the bin shim or tests)
256
+ import { fileURLToPath } from "node:url";
257
+ const isMainModule = process.argv[1] !== undefined &&
258
+ fileURLToPath(import.meta.url).replace(/\\/g, "/").endsWith(process.argv[1].replace(/\\/g, "/"));
259
+ if (isMainModule) {
260
+ void start();
261
+ }
262
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export type McpTransport = "auto" | "streamable-http" | "sse";
2
+ export interface McpServerConfig {
3
+ enabled?: boolean;
4
+ url?: string;
5
+ transport?: McpTransport;
6
+ headers?: Record<string, string>;
7
+ command?: string;
8
+ args?: string[];
9
+ env?: Record<string, string>;
10
+ cwd?: string;
11
+ }
12
+ export interface McpJson {
13
+ disabled?: boolean;
14
+ servers: Record<string, McpServerConfig>;
15
+ }
16
+ export declare function isStdioConfig(cfg: McpServerConfig): boolean;
17
+ export declare function readMcpJson(): Promise<McpJson>;
18
+ export declare function readMcpJsonRedacted(): Promise<McpJson>;
19
+ export declare function writeMcpJson(next: McpJson): Promise<void>;
20
+ export declare function upsertMcpServer(name: string, server: McpServerConfig): Promise<void>;
21
+ export declare function setMcpDisabled(disabled: boolean): Promise<void>;
22
+ export declare function deleteMcpServer(name: string): Promise<boolean>;
23
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/mcp/config.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,iBAAiB,GAAG,KAAK,CAAC;AAE9D,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC1C;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAE3D;AA0BD,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAkBpD;AAaD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAoB5D;AAiBD,wBAAsB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAe/D;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAI1F;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAIrE;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAMpE"}