pi-kot 0.1.20 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/README.md +253 -17
  2. package/package.json +8 -60
  3. package/bin/pi-kot.mjs +0 -148
  4. package/dist/client/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  5. package/dist/client/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  6. package/dist/client/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  7. package/dist/client/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  8. package/dist/client/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  9. package/dist/client/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  10. package/dist/client/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  11. package/dist/client/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  12. package/dist/client/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  13. package/dist/client/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  14. package/dist/client/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  15. package/dist/client/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  16. package/dist/client/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  17. package/dist/client/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  18. package/dist/client/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  19. package/dist/client/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  20. package/dist/client/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  21. package/dist/client/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  22. package/dist/client/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  23. package/dist/client/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  24. package/dist/client/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  25. package/dist/client/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  26. package/dist/client/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  27. package/dist/client/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  28. package/dist/client/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  29. package/dist/client/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  30. package/dist/client/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  31. package/dist/client/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  32. package/dist/client/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  33. package/dist/client/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  34. package/dist/client/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  35. package/dist/client/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  36. package/dist/client/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  37. package/dist/client/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  38. package/dist/client/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  39. package/dist/client/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  40. package/dist/client/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  41. package/dist/client/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  42. package/dist/client/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  43. package/dist/client/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  44. package/dist/client/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  45. package/dist/client/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  46. package/dist/client/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  47. package/dist/client/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  48. package/dist/client/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  49. package/dist/client/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  50. package/dist/client/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  51. package/dist/client/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  52. package/dist/client/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  53. package/dist/client/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  54. package/dist/client/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  55. package/dist/client/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  56. package/dist/client/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  57. package/dist/client/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  58. package/dist/client/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  59. package/dist/client/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  60. package/dist/client/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  61. package/dist/client/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  62. package/dist/client/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  63. package/dist/client/assets/index-C5quN7Km.js +0 -448
  64. package/dist/client/assets/index-C5quN7Km.js.map +0 -1
  65. package/dist/client/assets/index-CuQOwQs1.css +0 -1
  66. package/dist/client/index.html +0 -14
  67. package/dist/server/ask-user-question/envelope.d.ts +0 -11
  68. package/dist/server/ask-user-question/envelope.d.ts.map +0 -1
  69. package/dist/server/ask-user-question/envelope.js +0 -41
  70. package/dist/server/ask-user-question/envelope.js.map +0 -1
  71. package/dist/server/ask-user-question/plan-mode-question-tool.d.ts +0 -26
  72. package/dist/server/ask-user-question/plan-mode-question-tool.d.ts.map +0 -1
  73. package/dist/server/ask-user-question/plan-mode-question-tool.js +0 -273
  74. package/dist/server/ask-user-question/plan-mode-question-tool.js.map +0 -1
  75. package/dist/server/ask-user-question/prompt-strings.d.ts +0 -4
  76. package/dist/server/ask-user-question/prompt-strings.d.ts.map +0 -1
  77. package/dist/server/ask-user-question/prompt-strings.js +0 -18
  78. package/dist/server/ask-user-question/prompt-strings.js.map +0 -1
  79. package/dist/server/ask-user-question/registry.d.ts +0 -39
  80. package/dist/server/ask-user-question/registry.d.ts.map +0 -1
  81. package/dist/server/ask-user-question/registry.js +0 -124
  82. package/dist/server/ask-user-question/registry.js.map +0 -1
  83. package/dist/server/ask-user-question/tool.d.ts +0 -4
  84. package/dist/server/ask-user-question/tool.d.ts.map +0 -1
  85. package/dist/server/ask-user-question/tool.js +0 -68
  86. package/dist/server/ask-user-question/tool.js.map +0 -1
  87. package/dist/server/ask-user-question/types.d.ts +0 -50
  88. package/dist/server/ask-user-question/types.d.ts.map +0 -1
  89. package/dist/server/ask-user-question/types.js +0 -7
  90. package/dist/server/ask-user-question/types.js.map +0 -1
  91. package/dist/server/ask-user-question/validate.d.ts +0 -3
  92. package/dist/server/ask-user-question/validate.d.ts.map +0 -1
  93. package/dist/server/ask-user-question/validate.js +0 -67
  94. package/dist/server/ask-user-question/validate.js.map +0 -1
  95. package/dist/server/compaction-continuation.d.ts +0 -113
  96. package/dist/server/compaction-continuation.d.ts.map +0 -1
  97. package/dist/server/compaction-continuation.js +0 -65
  98. package/dist/server/compaction-continuation.js.map +0 -1
  99. package/dist/server/compaction-history.d.ts +0 -62
  100. package/dist/server/compaction-history.d.ts.map +0 -1
  101. package/dist/server/compaction-history.js +0 -180
  102. package/dist/server/compaction-history.js.map +0 -1
  103. package/dist/server/config-manager.d.ts +0 -97
  104. package/dist/server/config-manager.d.ts.map +0 -1
  105. package/dist/server/config-manager.js +0 -352
  106. package/dist/server/config-manager.js.map +0 -1
  107. package/dist/server/config.d.ts +0 -24
  108. package/dist/server/config.d.ts.map +0 -1
  109. package/dist/server/config.js +0 -67
  110. package/dist/server/config.js.map +0 -1
  111. package/dist/server/extension-manager.d.ts +0 -116
  112. package/dist/server/extension-manager.d.ts.map +0 -1
  113. package/dist/server/extension-manager.js +0 -586
  114. package/dist/server/extension-manager.js.map +0 -1
  115. package/dist/server/extension-ui-bridge.d.ts +0 -35
  116. package/dist/server/extension-ui-bridge.d.ts.map +0 -1
  117. package/dist/server/extension-ui-bridge.js +0 -228
  118. package/dist/server/extension-ui-bridge.js.map +0 -1
  119. package/dist/server/extensions-discovery.d.ts +0 -26
  120. package/dist/server/extensions-discovery.d.ts.map +0 -1
  121. package/dist/server/extensions-discovery.js +0 -107
  122. package/dist/server/extensions-discovery.js.map +0 -1
  123. package/dist/server/file-manager.d.ts +0 -79
  124. package/dist/server/file-manager.d.ts.map +0 -1
  125. package/dist/server/file-manager.js +0 -535
  126. package/dist/server/file-manager.js.map +0 -1
  127. package/dist/server/file-references.d.ts +0 -5
  128. package/dist/server/file-references.d.ts.map +0 -1
  129. package/dist/server/file-references.js +0 -249
  130. package/dist/server/file-references.js.map +0 -1
  131. package/dist/server/file-searcher.d.ts +0 -29
  132. package/dist/server/file-searcher.d.ts.map +0 -1
  133. package/dist/server/file-searcher.js +0 -318
  134. package/dist/server/file-searcher.js.map +0 -1
  135. package/dist/server/git-clone.d.ts +0 -56
  136. package/dist/server/git-clone.d.ts.map +0 -1
  137. package/dist/server/git-clone.js +0 -173
  138. package/dist/server/git-clone.js.map +0 -1
  139. package/dist/server/git-hunk-stager.d.ts +0 -56
  140. package/dist/server/git-hunk-stager.d.ts.map +0 -1
  141. package/dist/server/git-hunk-stager.js +0 -137
  142. package/dist/server/git-hunk-stager.js.map +0 -1
  143. package/dist/server/git-runner.d.ts +0 -346
  144. package/dist/server/git-runner.d.ts.map +0 -1
  145. package/dist/server/git-runner.js +0 -884
  146. package/dist/server/git-runner.js.map +0 -1
  147. package/dist/server/index.d.ts +0 -22
  148. package/dist/server/index.d.ts.map +0 -1
  149. package/dist/server/index.js +0 -262
  150. package/dist/server/index.js.map +0 -1
  151. package/dist/server/lifecycle-notifications.d.ts +0 -28
  152. package/dist/server/lifecycle-notifications.d.ts.map +0 -1
  153. package/dist/server/lifecycle-notifications.js +0 -38
  154. package/dist/server/lifecycle-notifications.js.map +0 -1
  155. package/dist/server/mcp/config.d.ts +0 -23
  156. package/dist/server/mcp/config.d.ts.map +0 -1
  157. package/dist/server/mcp/config.js +0 -139
  158. package/dist/server/mcp/config.js.map +0 -1
  159. package/dist/server/mcp/manager.d.ts +0 -40
  160. package/dist/server/mcp/manager.d.ts.map +0 -1
  161. package/dist/server/mcp/manager.js +0 -435
  162. package/dist/server/mcp/manager.js.map +0 -1
  163. package/dist/server/mcp/stdio-trust.d.ts +0 -5
  164. package/dist/server/mcp/stdio-trust.d.ts.map +0 -1
  165. package/dist/server/mcp/stdio-trust.js +0 -78
  166. package/dist/server/mcp/stdio-trust.js.map +0 -1
  167. package/dist/server/mcp/tool-bridge.d.ts +0 -33
  168. package/dist/server/mcp/tool-bridge.d.ts.map +0 -1
  169. package/dist/server/mcp/tool-bridge.js +0 -138
  170. package/dist/server/mcp/tool-bridge.js.map +0 -1
  171. package/dist/server/orchestration/config.d.ts +0 -5
  172. package/dist/server/orchestration/config.d.ts.map +0 -1
  173. package/dist/server/orchestration/config.js +0 -35
  174. package/dist/server/orchestration/config.js.map +0 -1
  175. package/dist/server/orchestration/event-bridge.d.ts +0 -32
  176. package/dist/server/orchestration/event-bridge.d.ts.map +0 -1
  177. package/dist/server/orchestration/event-bridge.js +0 -110
  178. package/dist/server/orchestration/event-bridge.js.map +0 -1
  179. package/dist/server/orchestration/inbox.d.ts +0 -9
  180. package/dist/server/orchestration/inbox.d.ts.map +0 -1
  181. package/dist/server/orchestration/inbox.js +0 -186
  182. package/dist/server/orchestration/inbox.js.map +0 -1
  183. package/dist/server/orchestration/init.d.ts +0 -2
  184. package/dist/server/orchestration/init.d.ts.map +0 -1
  185. package/dist/server/orchestration/init.js +0 -22
  186. package/dist/server/orchestration/init.js.map +0 -1
  187. package/dist/server/orchestration/store.d.ts +0 -33
  188. package/dist/server/orchestration/store.d.ts.map +0 -1
  189. package/dist/server/orchestration/store.js +0 -331
  190. package/dist/server/orchestration/store.js.map +0 -1
  191. package/dist/server/orchestration/tools.d.ts +0 -15
  192. package/dist/server/orchestration/tools.d.ts.map +0 -1
  193. package/dist/server/orchestration/tools.js +0 -621
  194. package/dist/server/orchestration/tools.js.map +0 -1
  195. package/dist/server/orchestration/types.d.ts +0 -68
  196. package/dist/server/orchestration/types.d.ts.map +0 -1
  197. package/dist/server/orchestration/types.js +0 -43
  198. package/dist/server/orchestration/types.js.map +0 -1
  199. package/dist/server/orchestration/worker-lifecycle.d.ts +0 -15
  200. package/dist/server/orchestration/worker-lifecycle.d.ts.map +0 -1
  201. package/dist/server/orchestration/worker-lifecycle.js +0 -45
  202. package/dist/server/orchestration/worker-lifecycle.js.map +0 -1
  203. package/dist/server/project-manager.d.ts +0 -25
  204. package/dist/server/project-manager.d.ts.map +0 -1
  205. package/dist/server/project-manager.js +0 -157
  206. package/dist/server/project-manager.js.map +0 -1
  207. package/dist/server/pty-manager.d.ts +0 -54
  208. package/dist/server/pty-manager.d.ts.map +0 -1
  209. package/dist/server/pty-manager.js +0 -220
  210. package/dist/server/pty-manager.js.map +0 -1
  211. package/dist/server/routes/_schemas.d.ts +0 -16
  212. package/dist/server/routes/_schemas.d.ts.map +0 -1
  213. package/dist/server/routes/_schemas.js +0 -12
  214. package/dist/server/routes/_schemas.js.map +0 -1
  215. package/dist/server/routes/ask-user-question.d.ts +0 -3
  216. package/dist/server/routes/ask-user-question.d.ts.map +0 -1
  217. package/dist/server/routes/ask-user-question.js +0 -105
  218. package/dist/server/routes/ask-user-question.js.map +0 -1
  219. package/dist/server/routes/auth.d.ts +0 -8
  220. package/dist/server/routes/auth.d.ts.map +0 -1
  221. package/dist/server/routes/auth.js +0 -225
  222. package/dist/server/routes/auth.js.map +0 -1
  223. package/dist/server/routes/config.d.ts +0 -3
  224. package/dist/server/routes/config.d.ts.map +0 -1
  225. package/dist/server/routes/config.js +0 -568
  226. package/dist/server/routes/config.js.map +0 -1
  227. package/dist/server/routes/control.d.ts +0 -3
  228. package/dist/server/routes/control.d.ts.map +0 -1
  229. package/dist/server/routes/control.js +0 -365
  230. package/dist/server/routes/control.js.map +0 -1
  231. package/dist/server/routes/exec.d.ts +0 -3
  232. package/dist/server/routes/exec.d.ts.map +0 -1
  233. package/dist/server/routes/exec.js +0 -426
  234. package/dist/server/routes/exec.js.map +0 -1
  235. package/dist/server/routes/extension-commands.d.ts +0 -22
  236. package/dist/server/routes/extension-commands.d.ts.map +0 -1
  237. package/dist/server/routes/extension-commands.js +0 -178
  238. package/dist/server/routes/extension-commands.js.map +0 -1
  239. package/dist/server/routes/extensions.d.ts +0 -8
  240. package/dist/server/routes/extensions.d.ts.map +0 -1
  241. package/dist/server/routes/extensions.js +0 -414
  242. package/dist/server/routes/extensions.js.map +0 -1
  243. package/dist/server/routes/files.d.ts +0 -3
  244. package/dist/server/routes/files.d.ts.map +0 -1
  245. package/dist/server/routes/files.js +0 -835
  246. package/dist/server/routes/files.js.map +0 -1
  247. package/dist/server/routes/git.d.ts +0 -3
  248. package/dist/server/routes/git.d.ts.map +0 -1
  249. package/dist/server/routes/git.js +0 -1058
  250. package/dist/server/routes/git.js.map +0 -1
  251. package/dist/server/routes/mcp.d.ts +0 -3
  252. package/dist/server/routes/mcp.d.ts.map +0 -1
  253. package/dist/server/routes/mcp.js +0 -403
  254. package/dist/server/routes/mcp.js.map +0 -1
  255. package/dist/server/routes/orchestration.d.ts +0 -3
  256. package/dist/server/routes/orchestration.d.ts.map +0 -1
  257. package/dist/server/routes/orchestration.js +0 -251
  258. package/dist/server/routes/orchestration.js.map +0 -1
  259. package/dist/server/routes/projects.d.ts +0 -3
  260. package/dist/server/routes/projects.d.ts.map +0 -1
  261. package/dist/server/routes/projects.js +0 -421
  262. package/dist/server/routes/projects.js.map +0 -1
  263. package/dist/server/routes/prompt.d.ts +0 -3
  264. package/dist/server/routes/prompt.d.ts.map +0 -1
  265. package/dist/server/routes/prompt.js +0 -311
  266. package/dist/server/routes/prompt.js.map +0 -1
  267. package/dist/server/routes/session-extensions.d.ts +0 -11
  268. package/dist/server/routes/session-extensions.d.ts.map +0 -1
  269. package/dist/server/routes/session-extensions.js +0 -171
  270. package/dist/server/routes/session-extensions.js.map +0 -1
  271. package/dist/server/routes/sessions.d.ts +0 -3
  272. package/dist/server/routes/sessions.d.ts.map +0 -1
  273. package/dist/server/routes/sessions.js +0 -706
  274. package/dist/server/routes/sessions.js.map +0 -1
  275. package/dist/server/routes/skills.d.ts +0 -14
  276. package/dist/server/routes/skills.d.ts.map +0 -1
  277. package/dist/server/routes/skills.js +0 -448
  278. package/dist/server/routes/skills.js.map +0 -1
  279. package/dist/server/routes/stream.d.ts +0 -3
  280. package/dist/server/routes/stream.d.ts.map +0 -1
  281. package/dist/server/routes/stream.js +0 -112
  282. package/dist/server/routes/stream.js.map +0 -1
  283. package/dist/server/routes/terminal.d.ts +0 -28
  284. package/dist/server/routes/terminal.d.ts.map +0 -1
  285. package/dist/server/routes/terminal.js +0 -211
  286. package/dist/server/routes/terminal.js.map +0 -1
  287. package/dist/server/routes/tunnel.d.ts +0 -13
  288. package/dist/server/routes/tunnel.d.ts.map +0 -1
  289. package/dist/server/routes/tunnel.js +0 -231
  290. package/dist/server/routes/tunnel.js.map +0 -1
  291. package/dist/server/session-registry.d.ts +0 -164
  292. package/dist/server/session-registry.d.ts.map +0 -1
  293. package/dist/server/session-registry.js +0 -754
  294. package/dist/server/session-registry.js.map +0 -1
  295. package/dist/server/skill-overrides.d.ts +0 -47
  296. package/dist/server/skill-overrides.d.ts.map +0 -1
  297. package/dist/server/skill-overrides.js +0 -178
  298. package/dist/server/skill-overrides.js.map +0 -1
  299. package/dist/server/sse-bridge.d.ts +0 -31
  300. package/dist/server/sse-bridge.d.ts.map +0 -1
  301. package/dist/server/sse-bridge.js +0 -158
  302. package/dist/server/sse-bridge.js.map +0 -1
  303. package/dist/server/tool-overrides.d.ts +0 -39
  304. package/dist/server/tool-overrides.d.ts.map +0 -1
  305. package/dist/server/tool-overrides.js +0 -121
  306. package/dist/server/tool-overrides.js.map +0 -1
  307. package/dist/server/tunnel/executable-search.d.ts +0 -45
  308. package/dist/server/tunnel/executable-search.d.ts.map +0 -1
  309. package/dist/server/tunnel/executable-search.js +0 -150
  310. package/dist/server/tunnel/executable-search.js.map +0 -1
  311. package/dist/server/tunnel/install-help.d.ts +0 -19
  312. package/dist/server/tunnel/install-help.d.ts.map +0 -1
  313. package/dist/server/tunnel/install-help.js +0 -47
  314. package/dist/server/tunnel/install-help.js.map +0 -1
  315. package/dist/server/tunnel/providers/ngrok.d.ts +0 -34
  316. package/dist/server/tunnel/providers/ngrok.d.ts.map +0 -1
  317. package/dist/server/tunnel/providers/ngrok.js +0 -464
  318. package/dist/server/tunnel/providers/ngrok.js.map +0 -1
  319. package/dist/server/tunnel/registry.d.ts +0 -15
  320. package/dist/server/tunnel/registry.d.ts.map +0 -1
  321. package/dist/server/tunnel/registry.js +0 -58
  322. package/dist/server/tunnel/registry.js.map +0 -1
  323. package/dist/server/tunnel/service.d.ts +0 -15
  324. package/dist/server/tunnel/service.d.ts.map +0 -1
  325. package/dist/server/tunnel/service.js +0 -158
  326. package/dist/server/tunnel/service.js.map +0 -1
  327. package/dist/server/tunnel/types.d.ts +0 -166
  328. package/dist/server/tunnel/types.d.ts.map +0 -1
  329. package/dist/server/tunnel/types.js +0 -217
  330. package/dist/server/tunnel/types.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/routes/sessions.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Skills endpoints — discover and manage pi agent skills.
3
- *
4
- * Mirrors the config/tools pattern:
5
- * GET /config/skills — list all skills (optionally scoped to a project)
6
- * GET /config/skills/:name — get skill detail (content + frontmatter)
7
- * PUT /config/skills/:name — update skill (description + instructions)
8
- * GET /config/skills/overrides — per-project skill override cascade
9
- * PUT /config/skills/:name/enabled — toggle global or per-project enable
10
- * DELETE /config/skills/:name/enabled — clear per-project override
11
- */
12
- import { type FastifyPluginAsync } from "fastify";
13
- export declare const skillRoutes: FastifyPluginAsync;
14
- //# sourceMappingURL=skills.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/routes/skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAyElD,eAAO,MAAM,WAAW,EAAE,kBA8dzB,CAAC"}
@@ -1,448 +0,0 @@
1
- import { loadSkills, parseFrontmatter, } from "@earendil-works/pi-coding-agent";
2
- import { config } from "../config.js";
3
- import { readSkillOverrides, setSkillEnabled, setProjectSkillOverride, listSkillOverrides, isSkillEffective, getProjectOverride, } from "../skill-overrides.js";
4
- import { errorSchema } from "./_schemas.js";
5
- import { readFile, writeFile } from "node:fs/promises";
6
- /**
7
- * Build a SkillSummary response shape from an SDK Skill + override state.
8
- */
9
- function toSkillSummary(skill, overrides, projectId) {
10
- return {
11
- name: skill.name,
12
- description: skill.description,
13
- source: mapSkillSource(skill.sourceInfo.source),
14
- filePath: skill.filePath,
15
- extensionPath: skill.sourceInfo.source === "extension"
16
- ? skill.sourceInfo.path
17
- : undefined,
18
- enabled: !overrides.global.includes(skill.name),
19
- projectOverride: getProjectOverride(overrides, projectId, skill.name),
20
- effective: isSkillEffective(overrides, projectId, skill.name),
21
- disableModelInvocation: skill.disableModelInvocation,
22
- };
23
- }
24
- /**
25
- * Map SDK source strings to the client enum.
26
- */
27
- function mapSkillSource(source) {
28
- if (source === "extension")
29
- return "extension";
30
- if (source === "project")
31
- return "project";
32
- return "global";
33
- }
34
- /**
35
- * Map SDK ResourceDiagnostic to the client SkillDiagnostic shape.
36
- */
37
- function toSkillDiagnostic(d) {
38
- return {
39
- type: d.type,
40
- message: d.message,
41
- path: d.path,
42
- collision: d.collision
43
- ? {
44
- resourceType: d.collision.resourceType,
45
- name: d.collision.name,
46
- winnerPath: d.collision.winnerPath,
47
- loserPath: d.collision.loserPath,
48
- }
49
- : undefined,
50
- };
51
- }
52
- export const skillRoutes = async (fastify) => {
53
- // ── GET /config/skills — list all skills ──────────────────────────
54
- fastify.get("/config/skills", {
55
- schema: {
56
- description: "List all discovered pi agent skills with their enable state. " +
57
- "Pass ?projectId to resolve per-project overrides in the response.",
58
- tags: ["config"],
59
- querystring: {
60
- type: "object",
61
- properties: {
62
- projectId: { type: "string" },
63
- },
64
- },
65
- response: {
66
- 200: {
67
- type: "object",
68
- required: ["skills", "diagnostics"],
69
- properties: {
70
- skills: {
71
- type: "array",
72
- items: {
73
- type: "object",
74
- required: [
75
- "name",
76
- "description",
77
- "source",
78
- "filePath",
79
- "enabled",
80
- "effective",
81
- "disableModelInvocation",
82
- ],
83
- properties: {
84
- name: { type: "string" },
85
- description: { type: "string" },
86
- source: { type: "string", enum: ["global", "project", "extension"] },
87
- filePath: { type: "string" },
88
- extensionPath: { type: "string" },
89
- enabled: { type: "boolean" },
90
- projectOverride: {
91
- type: "string",
92
- enum: ["enabled", "disabled"],
93
- nullable: true,
94
- },
95
- effective: { type: "boolean" },
96
- disableModelInvocation: { type: "boolean" },
97
- },
98
- },
99
- },
100
- diagnostics: {
101
- type: "array",
102
- items: {
103
- type: "object",
104
- required: ["type", "message"],
105
- properties: {
106
- type: { type: "string", enum: ["warning", "error", "collision"] },
107
- message: { type: "string" },
108
- path: { type: "string" },
109
- collision: {
110
- type: "object",
111
- properties: {
112
- resourceType: { type: "string" },
113
- name: { type: "string" },
114
- winnerPath: { type: "string" },
115
- loserPath: { type: "string" },
116
- },
117
- },
118
- },
119
- },
120
- },
121
- },
122
- },
123
- 500: errorSchema,
124
- },
125
- },
126
- }, async (req, reply) => {
127
- try {
128
- const projectId = req.query.projectId;
129
- // Load skills via SDK — uses the same discovery as the pi agent.
130
- // Reads from ~/.pi/agent/skills/, project ./skills, and any paths
131
- // configured via settings.skills.
132
- const result = loadSkills({
133
- cwd: config.workspacePath,
134
- agentDir: config.piConfigDir,
135
- skillPaths: [],
136
- includeDefaults: true,
137
- });
138
- // Read overrides (global disabled list + per-project overrides)
139
- const overrides = await readSkillOverrides();
140
- const skills = result.skills.map((s) => toSkillSummary(s, overrides, projectId));
141
- const diagnostics = result.diagnostics.map(toSkillDiagnostic);
142
- return { skills, diagnostics };
143
- }
144
- catch (err) {
145
- fastify.log.error(err, "GET /config/skills failed");
146
- return reply.code(500).send({ error: "internal_error" });
147
- }
148
- });
149
- // ── SKILL.md parsing helpers ──────────────────────────────────────
150
- /**
151
- * Parse a SKILL.md file into frontmatter description and instructions body.
152
- * Uses the SDK's parseFrontmatter utility.
153
- */
154
- function parseSkillMarkdown(content) {
155
- try {
156
- const { frontmatter, body } = parseFrontmatter(content);
157
- const description = typeof frontmatter.description === "string"
158
- ? frontmatter.description
159
- : null;
160
- return { description, instructions: body };
161
- }
162
- catch {
163
- return { description: null, instructions: content };
164
- }
165
- }
166
- /**
167
- * Build a SKILL.md string from description and instructions.
168
- * Uses the SDK's stripFrontmatter to preserve the body.
169
- */
170
- function buildSkillMarkdown(description, instructions) {
171
- // Build frontmatter YAML manually to avoid yaml dependency
172
- const fmLines = [];
173
- fmLines.push(`description: "${description.replace(/"/g, '\\"')}"`);
174
- const fm = fmLines.join("\n");
175
- const body = instructions.trimStart();
176
- return `---\n${fm}\n---${body ? `\n\n${body}` : '\n'}`;
177
- }
178
- // ── GET /config/skills/:name — get skill detail ───────────────────
179
- fastify.get("/config/skills/:name", {
180
- schema: {
181
- description: "Get the full content of a skill, including parsed frontmatter " +
182
- "(description, instructions) and the raw markdown.",
183
- tags: ["config"],
184
- params: {
185
- type: "object",
186
- required: ["name"],
187
- properties: { name: { type: "string" } },
188
- },
189
- response: {
190
- 200: {
191
- type: "object",
192
- required: ["name", "filePath", "md"],
193
- properties: {
194
- name: { type: "string" },
195
- filePath: { type: "string" },
196
- md: {
197
- type: "object",
198
- required: ["description", "instructions", "content"],
199
- properties: {
200
- description: { type: "string", nullable: true },
201
- instructions: { type: "string" },
202
- content: { type: "string" },
203
- },
204
- },
205
- },
206
- },
207
- 404: errorSchema,
208
- 500: errorSchema,
209
- },
210
- },
211
- }, async (req, reply) => {
212
- try {
213
- const skillName = req.params.name;
214
- // Find the skill in the loaded list to get its filePath
215
- const result = loadSkills({
216
- cwd: config.workspacePath,
217
- agentDir: config.piConfigDir,
218
- skillPaths: [],
219
- includeDefaults: true,
220
- });
221
- const skill = result.skills.find((s) => s.name === skillName);
222
- if (!skill) {
223
- return reply.code(404).send({
224
- error: "skill_not_found",
225
- message: `Skill "${skillName}" not found.`,
226
- });
227
- }
228
- // Read the raw SKILL.md content
229
- let content;
230
- try {
231
- content = await readFile(skill.filePath, "utf8");
232
- }
233
- catch {
234
- return reply.code(500).send({
235
- error: "read_error",
236
- message: `Failed to read skill file: ${skill.filePath}`,
237
- });
238
- }
239
- const parsed = parseSkillMarkdown(content);
240
- return {
241
- name: skill.name,
242
- filePath: skill.filePath,
243
- md: {
244
- description: parsed.description,
245
- instructions: parsed.instructions,
246
- content,
247
- },
248
- };
249
- }
250
- catch (err) {
251
- fastify.log.error(err, `GET /config/skills/:name failed`);
252
- return reply.code(500).send({ error: "internal_error" });
253
- }
254
- });
255
- // ── PUT /config/skills/:name — update skill ───────────────────────
256
- fastify.put("/config/skills/:name", {
257
- schema: {
258
- description: "Update a skill's description and instructions. " +
259
- "Writes the updated SKILL.md to disk. " +
260
- "Only works for global and project skills (not extension-built-in skills).",
261
- tags: ["config"],
262
- params: {
263
- type: "object",
264
- required: ["name"],
265
- properties: { name: { type: "string" } },
266
- },
267
- body: {
268
- type: "object",
269
- required: ["description", "instructions"],
270
- properties: {
271
- description: { type: "string" },
272
- instructions: { type: "string" },
273
- },
274
- },
275
- response: {
276
- 200: {
277
- type: "object",
278
- properties: { ok: { type: "boolean" } },
279
- },
280
- 400: errorSchema,
281
- 404: errorSchema,
282
- 500: errorSchema,
283
- },
284
- },
285
- }, async (req, reply) => {
286
- try {
287
- const skillName = req.params.name;
288
- const { description, instructions } = req.body;
289
- // Find the skill
290
- const result = loadSkills({
291
- cwd: config.workspacePath,
292
- agentDir: config.piConfigDir,
293
- skillPaths: [],
294
- includeDefaults: true,
295
- });
296
- const skill = result.skills.find((s) => s.name === skillName);
297
- if (!skill) {
298
- return reply.code(404).send({
299
- error: "skill_not_found",
300
- message: `Skill "${skillName}" not found.`,
301
- });
302
- }
303
- // Prevent editing extension-built-in skills
304
- if (skill.sourceInfo.source === "extension") {
305
- return reply.code(400).send({
306
- error: "read_only",
307
- message: `Skill "${skillName}" is provided by an extension and cannot be edited.`,
308
- });
309
- }
310
- // Build and write the updated SKILL.md
311
- const newContent = buildSkillMarkdown(description, instructions);
312
- try {
313
- await writeFile(skill.filePath, newContent, { encoding: "utf8" });
314
- }
315
- catch (err) {
316
- fastify.log.error(err, `Failed to write skill file: ${skill.filePath}`);
317
- return reply.code(500).send({
318
- error: "write_error",
319
- message: `Failed to write skill file.`,
320
- });
321
- }
322
- return { ok: true };
323
- }
324
- catch (err) {
325
- fastify.log.error(err, `PUT /config/skills/:name failed`);
326
- return reply.code(500).send({ error: "internal_error" });
327
- }
328
- });
329
- // ── GET /config/skills/overrides — per-project cascade ────────────
330
- fastify.get("/config/skills/overrides", {
331
- schema: {
332
- description: "All per-project skill overrides. Returns a map of projectId → " +
333
- "{ enable: string[], disable: string[] }.",
334
- tags: ["config"],
335
- response: {
336
- 200: {
337
- type: "object",
338
- required: ["projects"],
339
- properties: {
340
- projects: {
341
- type: "object",
342
- additionalProperties: {
343
- type: "object",
344
- required: ["enable", "disable"],
345
- properties: {
346
- enable: { type: "array", items: { type: "string" } },
347
- disable: { type: "array", items: { type: "string" } },
348
- },
349
- },
350
- },
351
- },
352
- },
353
- 500: errorSchema,
354
- },
355
- },
356
- }, async () => {
357
- const projects = await listSkillOverrides();
358
- return { projects };
359
- });
360
- // ── PUT /config/skills/:name/enabled — toggle enable/disable ──────
361
- fastify.put("/config/skills/:name/enabled", {
362
- schema: {
363
- description: "Toggle global or per-project skill enable/disable. " +
364
- "When scope is 'project', a projectId query parameter is required.",
365
- tags: ["config"],
366
- params: {
367
- type: "object",
368
- required: ["name"],
369
- properties: { name: { type: "string" } },
370
- },
371
- querystring: {
372
- type: "object",
373
- properties: { projectId: { type: "string" } },
374
- },
375
- body: {
376
- type: "object",
377
- required: ["enabled"],
378
- properties: {
379
- enabled: { type: "boolean" },
380
- scope: { type: "string", enum: ["global", "project"] },
381
- },
382
- },
383
- response: {
384
- 200: {
385
- type: "object",
386
- properties: { ok: { type: "boolean" } },
387
- },
388
- 400: errorSchema,
389
- },
390
- },
391
- }, async (req, reply) => {
392
- const { enabled, scope } = req.body;
393
- const projectId = req.query.projectId;
394
- if (scope === "project") {
395
- if (!projectId) {
396
- return reply.code(400).send({
397
- error: "project_id_required",
398
- message: "scope 'project' requires a projectId query parameter.",
399
- });
400
- }
401
- await setProjectSkillOverride(projectId, req.params.name, enabled ? "enabled" : "disabled");
402
- }
403
- else {
404
- await setSkillEnabled(req.params.name, enabled);
405
- // When re-enabling globally, also clear any stale project override
406
- // so the global state takes full effect.
407
- if (enabled && projectId !== undefined) {
408
- await setProjectSkillOverride(projectId, req.params.name, undefined);
409
- }
410
- }
411
- return { ok: true };
412
- });
413
- // ── DELETE /config/skills/:name/enabled — clear project override ──
414
- fastify.delete("/config/skills/:name/enabled", {
415
- schema: {
416
- description: "Clear a per-project skill override, reverting to the global default.",
417
- tags: ["config"],
418
- params: {
419
- type: "object",
420
- required: ["name"],
421
- properties: { name: { type: "string" } },
422
- },
423
- querystring: {
424
- type: "object",
425
- required: ["projectId"],
426
- properties: { projectId: { type: "string" } },
427
- },
428
- response: {
429
- 200: {
430
- type: "object",
431
- properties: { ok: { type: "boolean" } },
432
- },
433
- 400: errorSchema,
434
- },
435
- },
436
- }, async (req, reply) => {
437
- const projectId = req.query.projectId;
438
- if (!projectId) {
439
- return reply.code(400).send({
440
- error: "project_id_required",
441
- message: "A projectId query parameter is required.",
442
- });
443
- }
444
- await setProjectSkillOverride(projectId, req.params.name, undefined);
445
- return { ok: true };
446
- });
447
- };
448
- //# sourceMappingURL=skills.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/routes/skills.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { FastifyPluginAsync } from "fastify";
2
- export declare const streamRoutes: FastifyPluginAsync;
3
- //# sourceMappingURL=stream.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/routes/stream.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AA0FlD,eAAO,MAAM,YAAY,EAAE,kBA+C1B,CAAC"}
@@ -1,112 +0,0 @@
1
- import { SessionManager, createAgentSession } from "@earendil-works/pi-coding-agent";
2
- import { buildBindings, buildResourceLoader, getSession, registerSession, } from "../session-registry.js";
3
- import { createSSEClient } from "../sse-bridge.js";
4
- import { config } from "../config.js";
5
- async function warmUpSession(sessionId) {
6
- const { readdir } = await import("node:fs/promises");
7
- const { join } = await import("node:path");
8
- try {
9
- const projectDirs = await readdir(config.sessionDir, { withFileTypes: true });
10
- for (const dir of projectDirs) {
11
- if (!dir.isDirectory())
12
- continue;
13
- const projectDir = join(config.sessionDir, dir.name);
14
- const files = await readdir(projectDir);
15
- const matchFile = files.find((f) => f.endsWith(".jsonl") && f.includes(sessionId));
16
- if (matchFile) {
17
- const sessionPath = join(projectDir, matchFile);
18
- const sm = SessionManager.open(sessionPath);
19
- const cwd = sm.getCwd();
20
- // Build a live session wrapping the existing SessionManager
21
- const rl = await buildResourceLoader(cwd);
22
- const { session } = await createAgentSession({
23
- cwd,
24
- sessionManager: sm,
25
- agentDir: config.piConfigDir,
26
- resourceLoader: rl,
27
- });
28
- // Trigger session_start and wire real command context actions
29
- // (navigateTree, etc.) so extension commands like /rewind can
30
- // navigate the conversation tree.
31
- await session.bindExtensions(buildBindings(session)).catch(() => {
32
- // best-effort
33
- });
34
- const now = new Date();
35
- const live = {
36
- session,
37
- sessionId: session.sessionId,
38
- projectId: dir.name,
39
- workspacePath: cwd,
40
- sessionManager: sm,
41
- clients: new Set(),
42
- createdAt: now,
43
- lastActivityAt: now,
44
- lastAgentStartIndex: undefined,
45
- unsubscribe: () => undefined,
46
- name: sm.getSessionName(),
47
- currentExecAbort: undefined,
48
- };
49
- // Wire event subscription
50
- live.unsubscribe = session.subscribe((event) => {
51
- live.lastActivityAt = new Date();
52
- if (event.type === "agent_start") {
53
- live.lastAgentStartIndex = live.session.messages.length;
54
- }
55
- for (const client of live.clients) {
56
- try {
57
- client.send(event);
58
- }
59
- catch {
60
- live.clients.delete(client);
61
- }
62
- }
63
- });
64
- registerSession(live);
65
- return live;
66
- }
67
- }
68
- }
69
- catch {
70
- // not found
71
- }
72
- return undefined;
73
- }
74
- export const streamRoutes = async (fastify) => {
75
- // GET /api/v1/sessions/:id/stream — SSE stream of agent events
76
- fastify.get("/sessions/:id/stream", {
77
- schema: {
78
- description: "Open an SSE stream for a session. Sends a `snapshot` event on " +
79
- "connect, then forwards filtered AgentSessionEvents until the " +
80
- "client disconnects.\n\n" +
81
- "Auto-warms up disk sessions (cold session resume).\n\n" +
82
- "NOTE: This route uses reply.hijack() — it does NOT return a " +
83
- "standard Fastify response. The connection stays open indefinitely.",
84
- tags: ["sessions"],
85
- params: {
86
- type: "object",
87
- required: ["id"],
88
- properties: { id: { type: "string" } },
89
- },
90
- response: {
91
- 404: {
92
- type: "object",
93
- properties: { error: { type: "string" } },
94
- },
95
- },
96
- },
97
- }, async (req, reply) => {
98
- let live = getSession(req.params.id);
99
- // Warm up disk session if not live
100
- if (live === undefined) {
101
- live = await warmUpSession(req.params.id);
102
- }
103
- if (live === undefined) {
104
- return reply.code(404).send({ error: "session_not_found" });
105
- }
106
- createSSEClient(reply, live);
107
- // createSSEClient calls reply.hijack() — we return reply to satisfy
108
- // the type system, but the response is already being driven manually.
109
- return reply;
110
- });
111
- };
112
- //# sourceMappingURL=stream.js.map