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,365 +0,0 @@
1
- import { join } from "node:path";
2
- import { AuthStorage, ModelRegistry, } from "@earendil-works/pi-coding-agent";
3
- import { getSession, listSessions, rebuildSessionTools } from "../session-registry.js";
4
- import { config } from "../config.js";
5
- import { readSettings, writeSettings } from "../config-manager.js";
6
- /**
7
- * Auth storage backed by ~/.pi/agent/auth.json.
8
- * ⚠️ AuthStorage.create() expects a FILE path, not a directory.
9
- * Passing a directory causes the ReadFileSync to fail silently,
10
- * leaving authStorage.data empty and hasAuth() always returning false.
11
- * This was the root cause of the "No API key configured" error.
12
- * Pattern from config-manager: AUTH_FILE path.
13
- */
14
- function authStorage() {
15
- return AuthStorage.create(join(config.piConfigDir, "auth.json"));
16
- }
17
- /**
18
- * Error schema helper for route responses.
19
- * Pattern from routes/_schemas.
20
- */
21
- const errorSchema = {
22
- type: "object",
23
- required: ["error"],
24
- properties: {
25
- error: { type: "string" },
26
- message: { type: "string" },
27
- },
28
- };
29
- /**
30
- * Wrap a Promise in a timeout. The SDK's compact call awaits an LLM
31
- * round-trip; without a timeout, a hung provider holds the HTTP request
32
- * open indefinitely. We surface 504 on timeout so the client can recover.
33
- *
34
- * Note: this does NOT abort the underlying SDK call — that needs an
35
- * AbortSignal threaded through, which the current SDK API doesn't
36
- * fully expose. The in-flight LLM call will eventually resolve or
37
- * reject server-side; the route just returns to the client first.
38
- *
39
- * Pattern from control.ts withTimeout.
40
- */
41
- async function withTimeout(promise, ms, label) {
42
- let timer;
43
- try {
44
- return await Promise.race([
45
- promise,
46
- new Promise((_, reject) => {
47
- timer = setTimeout(() => reject(new Error(`${label} timed out after ${ms}ms`)), ms);
48
- }),
49
- ]);
50
- }
51
- finally {
52
- if (timer !== undefined)
53
- clearTimeout(timer);
54
- }
55
- }
56
- class TimeoutError extends Error {
57
- constructor(message) {
58
- super(message);
59
- this.name = "TimeoutError";
60
- }
61
- }
62
- const COMPACT_TIMEOUT_MS = 5 * 60 * 1000; // 5 minutes
63
- /**
64
- * Map SDK throw strings — which are plain Error with English messages —
65
- * to stable error codes the API contract documents. The SDK has no typed
66
- * error classes for these cases, so message-substring matching is the
67
- * best we can do.
68
- *
69
- * Pattern from control.ts mapSdkError.
70
- */
71
- function mapSdkError(reply, err) {
72
- if (!(err instanceof Error)) {
73
- return reply.code(500).send({ error: "internal_error" });
74
- }
75
- const m = err.message;
76
- if (/already compacted/i.test(m)) {
77
- return reply.code(400).send({ error: "already_compacted" });
78
- }
79
- if (/nothing to compact/i.test(m)) {
80
- return reply.code(400).send({ error: "nothing_to_compact" });
81
- }
82
- if (/no model/i.test(m)) {
83
- return reply.code(400).send({ error: "no_model_configured" });
84
- }
85
- if (/no api key found/i.test(m)) {
86
- return reply.code(400).send({ error: "no_api_key" });
87
- }
88
- if (/compaction cancelled/i.test(m)) {
89
- return reply.code(409).send({ error: "compaction_cancelled" });
90
- }
91
- return reply.code(500).send({ error: "internal_error" });
92
- }
93
- export const controlRoutes = async (fastify) => {
94
- // POST /sessions/:id/model — set per-session model override
95
- fastify.post("/sessions/:id/model", {
96
- schema: {
97
- description: "Set the model for a session. Provider + modelId are validated " +
98
- "against the SDK's ModelRegistry. Returns an error if the provider " +
99
- "or model is unknown, or if no API key is configured for the provider.",
100
- tags: ["sessions"],
101
- params: {
102
- type: "object",
103
- required: ["id"],
104
- properties: { id: { type: "string" } },
105
- },
106
- body: {
107
- type: "object",
108
- required: ["provider", "modelId"],
109
- properties: {
110
- provider: { type: "string" },
111
- modelId: { type: "string" },
112
- },
113
- },
114
- response: {
115
- 200: {
116
- type: "object",
117
- required: ["provider", "modelId"],
118
- properties: {
119
- provider: { type: "string" },
120
- modelId: { type: "string" },
121
- },
122
- },
123
- 400: errorSchema,
124
- 404: {
125
- type: "object",
126
- properties: { error: { type: "string" } },
127
- },
128
- },
129
- },
130
- }, async (req, reply) => {
131
- const live = getSession(req.params.id);
132
- if (live === undefined) {
133
- return reply.code(404).send({ error: "session_not_found" });
134
- }
135
- const { provider, modelId } = req.body;
136
- // Build fresh ModelRegistry (reads latest auth.json + models.json)
137
- const store = authStorage();
138
- const modelsFile = `${config.piConfigDir}/models.json`;
139
- const registry = ModelRegistry.create(store, modelsFile);
140
- // Check provider exists
141
- const providerKnown = registry.getAll().some((m) => m.provider === provider);
142
- if (!providerKnown) {
143
- return reply.code(400).send({
144
- error: "unknown_provider",
145
- message: `Provider "${provider}" not found. Check available providers via GET /config/providers.`,
146
- });
147
- }
148
- // Check model exists under that provider
149
- const model = registry.find(provider, modelId);
150
- if (model === undefined) {
151
- return reply.code(400).send({
152
- error: "unknown_model",
153
- message: `Model "${modelId}" not found under provider "${provider}".`,
154
- });
155
- }
156
- // Check auth is configured for this model
157
- const hasAuth = registry.hasConfiguredAuth(model);
158
- if (!hasAuth) {
159
- return reply.code(400).send({
160
- error: "auth_not_configured",
161
- message: `No API key configured for provider "${provider}". Add one via PUT /api/v1/config/auth/${provider}.`,
162
- });
163
- }
164
- const result = await (async () => {
165
- let priorSettings;
166
- try {
167
- priorSettings = readSettings();
168
- }
169
- catch {
170
- // settings.json missing / unreadable — skip restore
171
- }
172
- try {
173
- // Refresh the session's internal ModelRegistry so it picks up
174
- // any API keys added after session creation.
175
- live.session.modelRegistry.authStorage.reload();
176
- live.session.modelRegistry.refresh();
177
- // Pass the full model object from the registry, not a {provider, id} stub.
178
- // ⚠️ The SDK's setModel() stores the model object in agent.state.model, and
179
- // the agent later reads fields like `api`, `baseUrl`, `contextWindow`,
180
- // `maxTokens` from it to route LLM requests. Passing a stub with only
181
- // `provider` + `id` leaves those fields as undefined, which silently
182
- // breaks every subsequent prompt — the session appears "dead."
183
- // Pattern: pass the full model from registry.find().
184
- await live.session.setModel(model);
185
- }
186
- catch (err) {
187
- return {
188
- ok: false,
189
- status: 400,
190
- body: {
191
- error: "set_model_failed",
192
- message: err instanceof Error ? err.message : String(err),
193
- },
194
- };
195
- }
196
- // Restore prior settings to undo setModel's side effect
197
- if (priorSettings !== undefined) {
198
- try {
199
- await writeSettings(priorSettings);
200
- }
201
- catch (err) {
202
- req.log.warn({ err }, "failed to restore settings after per-session setModel");
203
- }
204
- }
205
- return { ok: true };
206
- })();
207
- if (!result.ok) {
208
- return reply.code(result.status).send(result.body);
209
- }
210
- return { provider, modelId };
211
- });
212
- // GET /sessions/:id/model — get current model info
213
- fastify.get("/sessions/:id/model", {
214
- schema: {
215
- description: "Get the currently configured model for a session.",
216
- tags: ["sessions"],
217
- params: {
218
- type: "object",
219
- required: ["id"],
220
- properties: { id: { type: "string" } },
221
- },
222
- response: {
223
- 200: {
224
- type: "object",
225
- required: ["provider", "modelId"],
226
- properties: {
227
- provider: { type: "string" },
228
- modelId: { type: "string" },
229
- },
230
- },
231
- 404: {
232
- type: "object",
233
- properties: { error: { type: "string" } },
234
- },
235
- },
236
- },
237
- }, async (req, reply) => {
238
- const live = getSession(req.params.id);
239
- if (live === undefined) {
240
- return reply.code(404).send({ error: "session_not_found" });
241
- }
242
- const model = live.session.model;
243
- if (model === undefined) {
244
- return reply.code(200).send({ provider: "", modelId: "" });
245
- }
246
- return { provider: model.provider, modelId: model.id };
247
- });
248
- // ── POST /sessions/:id/compact — manual compaction ──────────────
249
- fastify.post("/sessions/:id/compact", {
250
- schema: {
251
- description: "Manually compact the session context. Aborts any in-flight " +
252
- "agent operation first. Returns 400 with a stable error code if " +
253
- "the session is too small to compact, has already been compacted, " +
254
- "or has no model configured.",
255
- tags: ["sessions"],
256
- params: {
257
- type: "object",
258
- required: ["id"],
259
- properties: { id: { type: "string" } },
260
- },
261
- body: {
262
- type: "object",
263
- additionalProperties: false,
264
- properties: { customInstructions: { type: "string" } },
265
- },
266
- response: {
267
- 200: {
268
- type: "object",
269
- properties: {
270
- summary: { type: "string" },
271
- tokensBefore: { type: "integer", minimum: 0 },
272
- },
273
- },
274
- 400: errorSchema,
275
- 404: errorSchema,
276
- 409: errorSchema,
277
- 504: errorSchema,
278
- },
279
- },
280
- }, async (req, reply) => {
281
- const live = getSession(req.params.id);
282
- if (live === undefined) {
283
- return reply.code(404).send({ error: "session_not_found" });
284
- }
285
- try {
286
- const result = await withTimeout(live.session.compact(req.body.customInstructions), COMPACT_TIMEOUT_MS, "compact");
287
- // SDK returns { summary, firstKeptEntryId, tokensBefore, details }.
288
- // Cast safely with defaults so an SDK shape change doesn't
289
- // surface "undefined" as a string in the response.
290
- const r = result;
291
- return {
292
- summary: typeof r.summary === "string" ? r.summary : "",
293
- tokensBefore: typeof r.tokensBefore === "number" ? r.tokensBefore : 0,
294
- };
295
- }
296
- catch (err) {
297
- if (err instanceof TimeoutError) {
298
- req.log.warn({ err, sessionId: req.params.id }, "compact timed out");
299
- return reply.code(504).send({ error: "compact_timeout", message: err.message });
300
- }
301
- return mapSdkError(reply, err);
302
- }
303
- });
304
- // ── POST /control/reload — reload agent config via CLI ───────────
305
- fastify.post("/control/reload", {
306
- schema: {
307
- description: "Reload the pi agent configuration by delegating to the pi CLI. " +
308
- "Runs `pi reload` in the background. If the CLI is not available, " +
309
- "falls back to re-reading settings and MCP configs in-process.",
310
- tags: ["control"],
311
- response: {
312
- 200: {
313
- type: "object",
314
- properties: {
315
- reloaded: { type: "boolean" },
316
- method: { type: "string" },
317
- },
318
- },
319
- 500: {
320
- type: "object",
321
- properties: { error: { type: "string" } },
322
- },
323
- },
324
- },
325
- }, async (_req, reply) => {
326
- try {
327
- const allSessions = listSessions();
328
- // 1. SDK full reload on every live session.
329
- // session.reload() re-reads settings.json, re-discovers
330
- // extensions/skills/prompts/themes/context files, resets
331
- // API providers, and rebuilds the extension runtime.
332
- // Sessions stay live — no reconnect needed.
333
- const reloadResults = await Promise.allSettled(allSessions.map(async (s) => {
334
- try {
335
- await s.session.reload();
336
- }
337
- catch (err) {
338
- _req.log.warn({ sessionId: s.sessionId, err }, "control/reload: session.reload() failed");
339
- }
340
- }));
341
- const reloaded = reloadResults.filter((r) => r.status === "fulfilled").length;
342
- // 2. Reload MCP configs (re-reads settings + re-launches servers).
343
- // This is outside the SDK's resource loader, so we do it
344
- // separately.
345
- const { loadGlobal: reloadMcp } = await import("../mcp/manager.js");
346
- await reloadMcp();
347
- // 3. Clear extension discovery cache so the /extensions API
348
- // returns fresh data on the next fetch.
349
- const { clearExtensionCache } = await import("../extension-manager.js");
350
- clearExtensionCache();
351
- // 4. Rebuild tools for all live sessions so newly installed
352
- // extensions are available immediately.
353
- const rebuildResults = await Promise.allSettled(allSessions.map((s) => rebuildSessionTools(s.sessionId)));
354
- const rebuilt = rebuildResults.filter((r) => r.status === "fulfilled").length;
355
- _req.log.info({ reloaded, rebuilt, total: allSessions.length }, "control/reload: sessions reloaded, MCP refreshed, tools rebuilt");
356
- return { reloaded: true, method: "sdk-inprocess" };
357
- }
358
- catch (err) {
359
- const message = err instanceof Error ? err.message : String(err);
360
- _req.log.error(err, "control/reload failed");
361
- return reply.code(500).send({ error: message });
362
- }
363
- });
364
- };
365
- //# sourceMappingURL=control.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"control.js","sourceRoot":"","sources":["../../src/routes/control.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { FastifyPluginAsync } from "fastify";
2
- export declare const execRoutes: FastifyPluginAsync;
3
- //# sourceMappingURL=exec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/routes/exec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AA6HlD,eAAO,MAAM,UAAU,EAAE,kBAwTxB,CAAC"}