@shareai-lab/kode 2.0.2 → 2.0.3

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 (343) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +649 -25
  3. package/README.zh-CN.md +579 -0
  4. package/cli-acp.js +3 -17
  5. package/cli.js +5 -7
  6. package/dist/chunks/Doctor-M3J7GRTJ.js +12 -0
  7. package/dist/chunks/LogList-ISWZ6DDD.js +121 -0
  8. package/dist/chunks/LogList-ISWZ6DDD.js.map +7 -0
  9. package/dist/chunks/REPL-RQ6LO6S7.js +56 -0
  10. package/dist/chunks/ResumeConversation-6DMVBEGH.js +56 -0
  11. package/dist/chunks/agentLoader-FCRG3TFJ.js +31 -0
  12. package/dist/{agentsValidate-XP3CFN6F.js → chunks/agentsValidate-PEWMYN4Q.js} +97 -69
  13. package/dist/chunks/agentsValidate-PEWMYN4Q.js.map +7 -0
  14. package/dist/{ask-3G5H5KD5.js → chunks/ask-D7SOHJ6Z.js} +36 -44
  15. package/dist/chunks/ask-D7SOHJ6Z.js.map +7 -0
  16. package/dist/chunks/autoUpdater-CNESBOKO.js +19 -0
  17. package/dist/{chunk-EH34V7CY.js → chunks/chunk-2JN5MY67.js} +12 -14
  18. package/dist/chunks/chunk-2JN5MY67.js.map +7 -0
  19. package/dist/chunks/chunk-2QONJ5MG.js +14 -0
  20. package/dist/chunks/chunk-2QONJ5MG.js.map +7 -0
  21. package/dist/chunks/chunk-2WEXPKHH.js +903 -0
  22. package/dist/chunks/chunk-2WEXPKHH.js.map +7 -0
  23. package/dist/{chunk-K2MI4TPB.js → chunks/chunk-3BYE3ME6.js} +717 -792
  24. package/dist/chunks/chunk-3BYE3ME6.js.map +7 -0
  25. package/dist/chunks/chunk-3JDNWX7W.js +1264 -0
  26. package/dist/chunks/chunk-3JDNWX7W.js.map +7 -0
  27. package/dist/chunks/chunk-3OEJVB5A.js +906 -0
  28. package/dist/chunks/chunk-3OEJVB5A.js.map +7 -0
  29. package/dist/chunks/chunk-3TNIOEBO.js +369 -0
  30. package/dist/chunks/chunk-3TNIOEBO.js.map +7 -0
  31. package/dist/chunks/chunk-4A46ZXMJ.js +67 -0
  32. package/dist/chunks/chunk-4A46ZXMJ.js.map +7 -0
  33. package/dist/{chunk-4GAIJGRH.js → chunks/chunk-4ATBQOFO.js} +107 -55
  34. package/dist/chunks/chunk-4ATBQOFO.js.map +7 -0
  35. package/dist/chunks/chunk-4CRUCZR4.js +0 -0
  36. package/dist/{chunk-54DNHKOD.js → chunks/chunk-4EO6SIQY.js} +32 -75
  37. package/dist/chunks/chunk-4EO6SIQY.js.map +7 -0
  38. package/dist/chunks/chunk-53M46S5I.js +64 -0
  39. package/dist/chunks/chunk-53M46S5I.js.map +7 -0
  40. package/dist/{chunk-JC6NCUG5.js → chunks/chunk-54KOYG5C.js} +0 -2
  41. package/dist/{chunk-EZXMVTDU.js → chunks/chunk-6BAS4WY6.js} +29 -45
  42. package/dist/chunks/chunk-6BAS4WY6.js.map +7 -0
  43. package/dist/{chunk-BHGTA6JQ.js → chunks/chunk-6KRRFSDN.js} +4 -6
  44. package/dist/chunks/chunk-6KRRFSDN.js.map +7 -0
  45. package/dist/chunks/chunk-6LJNZK4K.js +39 -0
  46. package/dist/chunks/chunk-6LJNZK4K.js.map +7 -0
  47. package/dist/chunks/chunk-6ZWEOSEI.js +666 -0
  48. package/dist/chunks/chunk-6ZWEOSEI.js.map +7 -0
  49. package/dist/chunks/chunk-77XDJMBP.js +3326 -0
  50. package/dist/chunks/chunk-77XDJMBP.js.map +7 -0
  51. package/dist/chunks/chunk-7RRW4NTB.js +6454 -0
  52. package/dist/chunks/chunk-7RRW4NTB.js.map +7 -0
  53. package/dist/chunks/chunk-7X3TW4JB.js +4520 -0
  54. package/dist/chunks/chunk-7X3TW4JB.js.map +7 -0
  55. package/dist/chunks/chunk-B3MW3YGY.js +1409 -0
  56. package/dist/chunks/chunk-B3MW3YGY.js.map +7 -0
  57. package/dist/chunks/chunk-BBJFHTBC.js +28 -0
  58. package/dist/chunks/chunk-BBJFHTBC.js.map +7 -0
  59. package/dist/chunks/chunk-BHDHXOXB.js +24 -0
  60. package/dist/chunks/chunk-BHDHXOXB.js.map +7 -0
  61. package/dist/{chunk-OZNRLY3E.js → chunks/chunk-BTA7SZ26.js} +152 -223
  62. package/dist/chunks/chunk-BTA7SZ26.js.map +7 -0
  63. package/dist/chunks/chunk-CDGRYGPZ.js +103 -0
  64. package/dist/chunks/chunk-CDGRYGPZ.js.map +7 -0
  65. package/dist/{chunk-S6HRABTA.js → chunks/chunk-CP6E5UG6.js} +1 -4
  66. package/dist/chunks/chunk-CP6E5UG6.js.map +7 -0
  67. package/dist/{chunk-2PMO2FS2.js → chunks/chunk-DQ4JHXMT.js} +462 -424
  68. package/dist/chunks/chunk-DQ4JHXMT.js.map +7 -0
  69. package/dist/chunks/chunk-DXD76CMV.js +208 -0
  70. package/dist/chunks/chunk-DXD76CMV.js.map +7 -0
  71. package/dist/chunks/chunk-GCQCAXJZ.js +0 -0
  72. package/dist/chunks/chunk-GELCZWMB.js +42 -0
  73. package/dist/chunks/chunk-GELCZWMB.js.map +7 -0
  74. package/dist/{chunk-NQLEUHMS.js → chunks/chunk-HJYOH4HC.js} +23 -18
  75. package/dist/chunks/chunk-HJYOH4HC.js.map +7 -0
  76. package/dist/chunks/chunk-HPYNW6TT.js +744 -0
  77. package/dist/chunks/chunk-HPYNW6TT.js.map +7 -0
  78. package/dist/{chunk-2KWKUXLT.js → chunks/chunk-HRJ3ICQK.js} +59 -55
  79. package/dist/chunks/chunk-HRJ3ICQK.js.map +7 -0
  80. package/dist/{chunk-ZQU3TXLC.js → chunks/chunk-IFCIADS3.js} +571 -573
  81. package/dist/chunks/chunk-IFCIADS3.js.map +7 -0
  82. package/dist/chunks/chunk-IN7XZ7BC.js +27 -0
  83. package/dist/chunks/chunk-IN7XZ7BC.js.map +7 -0
  84. package/dist/chunks/chunk-L7P4M4KW.js +193 -0
  85. package/dist/chunks/chunk-L7P4M4KW.js.map +7 -0
  86. package/dist/chunks/chunk-LB6TCPDI.js +0 -0
  87. package/dist/{chunk-3RUXVV4S.js → chunks/chunk-LOCXPQNJ.js} +1 -4
  88. package/dist/{chunk-3RUXVV4S.js.map → chunks/chunk-LOCXPQNJ.js.map} +2 -2
  89. package/dist/{chunk-IE2CG2TV.js → chunks/chunk-LOD5ZHCI.js} +213 -208
  90. package/dist/chunks/chunk-LOD5ZHCI.js.map +7 -0
  91. package/dist/{chunk-S3J2TLV6.js → chunks/chunk-M7P3QNRU.js} +1 -4
  92. package/dist/{chunk-S3J2TLV6.js.map → chunks/chunk-M7P3QNRU.js.map} +2 -2
  93. package/dist/chunks/chunk-PPHLQVL7.js +4234 -0
  94. package/dist/chunks/chunk-PPHLQVL7.js.map +7 -0
  95. package/dist/{chunk-ABLVTESJ.js → chunks/chunk-QAXE37B5.js} +1 -4
  96. package/dist/chunks/chunk-QAXE37B5.js.map +7 -0
  97. package/dist/chunks/chunk-QHQOBUF6.js +60 -0
  98. package/dist/chunks/chunk-QHQOBUF6.js.map +7 -0
  99. package/dist/{chunk-SRZZFAS7.js → chunks/chunk-RPJXO7GG.js} +241 -214
  100. package/dist/chunks/chunk-RPJXO7GG.js.map +7 -0
  101. package/dist/{chunk-NPFOMITO.js → chunks/chunk-SWQV4KSY.js} +1 -4
  102. package/dist/{chunk-NPFOMITO.js.map → chunks/chunk-SWQV4KSY.js.map} +2 -2
  103. package/dist/chunks/chunk-SZLAPULP.js +28 -0
  104. package/dist/chunks/chunk-SZLAPULP.js.map +7 -0
  105. package/dist/{chunk-SDGKPKDK.js → chunks/chunk-T7RB5V5J.js} +23 -25
  106. package/dist/chunks/chunk-T7RB5V5J.js.map +7 -0
  107. package/dist/{chunk-HN4E4UUQ.js → chunks/chunk-TI2CTTMA.js} +25 -17
  108. package/dist/chunks/chunk-TI2CTTMA.js.map +7 -0
  109. package/dist/{chunk-G6I7XROM.js → chunks/chunk-TNGVRTO5.js} +45 -20
  110. package/dist/chunks/chunk-TNGVRTO5.js.map +7 -0
  111. package/dist/chunks/chunk-TNWB3U5Y.js +2077 -0
  112. package/dist/chunks/chunk-TNWB3U5Y.js.map +7 -0
  113. package/dist/chunks/chunk-U2IHWPCU.js +12 -0
  114. package/dist/chunks/chunk-U2IHWPCU.js.map +7 -0
  115. package/dist/{chunk-KAA5BGMQ.js → chunks/chunk-UNOY3VJ2.js} +1 -4
  116. package/dist/{chunk-KAA5BGMQ.js.map → chunks/chunk-UNOY3VJ2.js.map} +2 -2
  117. package/dist/{chunk-3TXNP6HH.js → chunks/chunk-UVDJL6ZZ.js} +97 -58
  118. package/dist/chunks/chunk-UVDJL6ZZ.js.map +7 -0
  119. package/dist/chunks/chunk-VNCW4C2Z.js +13452 -0
  120. package/dist/chunks/chunk-VNCW4C2Z.js.map +7 -0
  121. package/dist/chunks/chunk-W5EGGA44.js +15 -0
  122. package/dist/chunks/chunk-W5EGGA44.js.map +7 -0
  123. package/dist/chunks/chunk-XR2W3MAM.js +1533 -0
  124. package/dist/chunks/chunk-XR2W3MAM.js.map +7 -0
  125. package/dist/{chunk-QYFKRZQC.js → chunks/chunk-YIO5EBMQ.js} +423 -377
  126. package/dist/chunks/chunk-YIO5EBMQ.js.map +7 -0
  127. package/dist/chunks/chunk-ZBVLKZ5V.js +1062 -0
  128. package/dist/chunks/chunk-ZBVLKZ5V.js.map +7 -0
  129. package/dist/{chunk-E6YNABER.js → chunks/chunk-ZCLTZIVP.js} +1 -4
  130. package/dist/chunks/chunk-ZCLTZIVP.js.map +7 -0
  131. package/dist/chunks/client-SILZNM5N.js +42 -0
  132. package/dist/{config-6ZMBCL23.js → chunks/config-25HRTPSP.js} +48 -10
  133. package/dist/chunks/cost-tracker-Z2UZT2J5.js +28 -0
  134. package/dist/{customCommands-DNEJS3ZU.js → chunks/customCommands-TYMYZRG5.js} +11 -8
  135. package/dist/chunks/engine-MRVF6FK6.js +39 -0
  136. package/dist/{env-OFAXZ3XG.js → chunks/env-TJ5NOBEB.js} +7 -5
  137. package/dist/{kodeAgentSessionId-X6XWQW7B.js → chunks/kodeAgentSessionId-VTNISJ2L.js} +2 -4
  138. package/dist/chunks/kodeAgentSessionLoad-YB2RKBGJ.js +15 -0
  139. package/dist/chunks/kodeAgentSessionResume-DZSIVKVA.js +13 -0
  140. package/dist/chunks/kodeAgentStreamJson-X5PLS2S6.js +11 -0
  141. package/dist/{kodeAgentStreamJsonSession-GRWG3SPE.js → chunks/kodeAgentStreamJsonSession-RDXM4XYF.js} +38 -24
  142. package/dist/chunks/kodeAgentStreamJsonSession-RDXM4XYF.js.map +7 -0
  143. package/dist/{chunk-4RTX4AG4.js → chunks/kodeAgentStructuredStdio-SVGDSB4P.js} +14 -9
  144. package/dist/chunks/kodeAgentStructuredStdio-SVGDSB4P.js.map +7 -0
  145. package/dist/{kodeHooks-TDMXFWSO.js → chunks/kodeHooks-RVKYRJHG.js} +11 -9
  146. package/dist/{llm-XVXWYOHK.js → chunks/llm-62N6T5ZT.js} +1734 -1526
  147. package/dist/chunks/llm-62N6T5ZT.js.map +7 -0
  148. package/dist/chunks/llmLazy-ZUSSE3ZA.js +13 -0
  149. package/dist/{mentionProcessor-YD7YXYGF.js → chunks/mentionProcessor-RJW5UPJD.js} +46 -16
  150. package/dist/chunks/mentionProcessor-RJW5UPJD.js.map +7 -0
  151. package/dist/{messages-OFUJSPRV.js → chunks/messages-EEWWLPHN.js} +2 -6
  152. package/dist/chunks/model-5TIEKQPD.js +37 -0
  153. package/dist/{openai-5G5D5Q4B.js → chunks/openai-XXK3YZG4.js} +13 -10
  154. package/dist/{outputStyles-HLDXFQK3.js → chunks/outputStyles-FAJTXN2A.js} +6 -9
  155. package/dist/chunks/permissions-HO7INPWM.js +27 -0
  156. package/dist/{pluginRuntime-FPTKK6NY.js → chunks/pluginRuntime-C7K5ULK2.js} +31 -48
  157. package/dist/chunks/pluginRuntime-C7K5ULK2.js.map +7 -0
  158. package/dist/chunks/pluginValidation-DAM7WRTC.js +20 -0
  159. package/dist/chunks/registry-XYJXMOA5.js +60 -0
  160. package/dist/chunks/responsesStreaming-JNGE2P3D.js +8 -0
  161. package/dist/chunks/runNonTextPrintMode-SVBLCZQX.js +577 -0
  162. package/dist/chunks/runNonTextPrintMode-SVBLCZQX.js.map +7 -0
  163. package/dist/chunks/server-REXXF5IK.js +46 -0
  164. package/dist/{skillMarketplace-PSNKDINM.js → chunks/skillMarketplace-N4HVHNST.js} +8 -6
  165. package/dist/chunks/src-OROQIWP3.js +44 -0
  166. package/dist/chunks/src-QXLGGMUW.js +1647 -0
  167. package/dist/chunks/src-QXLGGMUW.js.map +7 -0
  168. package/dist/{cli-SRV2INSL.js → chunks/src-SSDT6MVP.js} +2659 -3384
  169. package/dist/chunks/src-SSDT6MVP.js.map +7 -0
  170. package/dist/chunks/theme-YBJUIMWK.js +10 -0
  171. package/dist/{toolPermissionContext-65L65VEZ.js → chunks/toolPermissionContext-MOCTRR7N.js} +2 -4
  172. package/dist/chunks/toolPermissionSettings-EV2EJAXL.js +18 -0
  173. package/dist/chunks/toolPermissionSettings-EV2EJAXL.js.map +7 -0
  174. package/dist/chunks/uuid-6577SO6X.js +7 -0
  175. package/dist/chunks/uuid-6577SO6X.js.map +7 -0
  176. package/dist/chunks/webOnlyMode-ALXX7UQY.js +66 -0
  177. package/dist/chunks/webOnlyMode-ALXX7UQY.js.map +7 -0
  178. package/dist/entrypoints/cli.js +10 -0
  179. package/dist/entrypoints/cli.js.map +7 -0
  180. package/dist/entrypoints/daemon.js +10 -0
  181. package/dist/entrypoints/daemon.js.map +7 -0
  182. package/dist/entrypoints/mcp.js +71 -0
  183. package/dist/entrypoints/mcp.js.map +7 -0
  184. package/dist/index.js +6 -7
  185. package/dist/index.js.map +3 -3
  186. package/dist/sdk/client.cjs +391 -0
  187. package/dist/sdk/client.cjs.map +7 -0
  188. package/dist/sdk/client.js +364 -0
  189. package/dist/sdk/client.js.map +7 -0
  190. package/dist/sdk/core.cjs +19932 -0
  191. package/dist/sdk/core.cjs.map +7 -0
  192. package/dist/sdk/core.js +19893 -0
  193. package/dist/sdk/core.js.map +7 -0
  194. package/dist/sdk/daemon-client.cjs +257 -0
  195. package/dist/sdk/daemon-client.cjs.map +7 -0
  196. package/dist/sdk/daemon-client.js +221 -0
  197. package/dist/sdk/daemon-client.js.map +7 -0
  198. package/dist/sdk/protocol.cjs +170 -0
  199. package/dist/sdk/protocol.cjs.map +7 -0
  200. package/dist/sdk/protocol.js +140 -0
  201. package/dist/sdk/protocol.js.map +7 -0
  202. package/dist/sdk/runtime-node.cjs +236 -0
  203. package/dist/sdk/runtime-node.cjs.map +7 -0
  204. package/dist/sdk/runtime-node.js +222 -0
  205. package/dist/sdk/runtime-node.js.map +7 -0
  206. package/dist/sdk/runtime.cjs +17 -0
  207. package/dist/sdk/runtime.cjs.map +7 -0
  208. package/dist/sdk/runtime.js +0 -0
  209. package/dist/sdk/runtime.js.map +7 -0
  210. package/dist/sdk/tools.cjs +30300 -0
  211. package/dist/sdk/tools.cjs.map +7 -0
  212. package/dist/sdk/tools.js +30282 -0
  213. package/dist/sdk/tools.js.map +7 -0
  214. package/dist/webui/assets/index-5hlfByVS.css +1 -0
  215. package/dist/webui/assets/index-BR9lm1lA.js +82 -0
  216. package/dist/webui/index.html +28 -0
  217. package/package.json +93 -22
  218. package/scripts/binary-utils.cjs +12 -4
  219. package/scripts/cli-acp-wrapper.cjs +3 -17
  220. package/scripts/cli-wrapper.cjs +5 -7
  221. package/scripts/postinstall.js +8 -4
  222. package/dist/REPL-GIU4ZIXM.js +0 -42
  223. package/dist/acp-H3VJ77YG.js +0 -1357
  224. package/dist/acp-H3VJ77YG.js.map +0 -7
  225. package/dist/agentsValidate-XP3CFN6F.js.map +0 -7
  226. package/dist/ask-3G5H5KD5.js.map +0 -7
  227. package/dist/autoUpdater-DNRMJWFQ.js +0 -17
  228. package/dist/chunk-2KWKUXLT.js.map +0 -7
  229. package/dist/chunk-2PMO2FS2.js.map +0 -7
  230. package/dist/chunk-3TXNP6HH.js.map +0 -7
  231. package/dist/chunk-4GAIJGRH.js.map +0 -7
  232. package/dist/chunk-4RTX4AG4.js.map +0 -7
  233. package/dist/chunk-54DNHKOD.js.map +0 -7
  234. package/dist/chunk-67PY5IX6.js +0 -34
  235. package/dist/chunk-67PY5IX6.js.map +0 -7
  236. package/dist/chunk-6DRDLOLP.js +0 -2613
  237. package/dist/chunk-6DRDLOLP.js.map +0 -7
  238. package/dist/chunk-7CQVZNQV.js +0 -1609
  239. package/dist/chunk-7CQVZNQV.js.map +0 -7
  240. package/dist/chunk-ABLVTESJ.js.map +0 -7
  241. package/dist/chunk-AIMIPK4B.js +0 -835
  242. package/dist/chunk-AIMIPK4B.js.map +0 -7
  243. package/dist/chunk-BHGTA6JQ.js.map +0 -7
  244. package/dist/chunk-CIG63V4E.js +0 -72
  245. package/dist/chunk-CIG63V4E.js.map +0 -7
  246. package/dist/chunk-E6YNABER.js.map +0 -7
  247. package/dist/chunk-EH34V7CY.js.map +0 -7
  248. package/dist/chunk-EZXMVTDU.js.map +0 -7
  249. package/dist/chunk-FH5CHM6L.js +0 -148
  250. package/dist/chunk-FH5CHM6L.js.map +0 -7
  251. package/dist/chunk-G6I7XROM.js.map +0 -7
  252. package/dist/chunk-HN4E4UUQ.js.map +0 -7
  253. package/dist/chunk-HSPVVDIW.js +0 -30198
  254. package/dist/chunk-HSPVVDIW.js.map +0 -7
  255. package/dist/chunk-IE2CG2TV.js.map +0 -7
  256. package/dist/chunk-K2MI4TPB.js.map +0 -7
  257. package/dist/chunk-MN77D2F7.js +0 -2931
  258. package/dist/chunk-MN77D2F7.js.map +0 -7
  259. package/dist/chunk-NQLEUHMS.js.map +0 -7
  260. package/dist/chunk-OIFQB3S4.js +0 -515
  261. package/dist/chunk-OIFQB3S4.js.map +0 -7
  262. package/dist/chunk-OWTG2W3A.js +0 -164
  263. package/dist/chunk-OWTG2W3A.js.map +0 -7
  264. package/dist/chunk-OZNRLY3E.js.map +0 -7
  265. package/dist/chunk-QYFKRZQC.js.map +0 -7
  266. package/dist/chunk-S6HRABTA.js.map +0 -7
  267. package/dist/chunk-SDGKPKDK.js.map +0 -7
  268. package/dist/chunk-SRZZFAS7.js.map +0 -7
  269. package/dist/chunk-UKHTVRJM.js +0 -47
  270. package/dist/chunk-UKHTVRJM.js.map +0 -7
  271. package/dist/chunk-UYXEDKOZ.js +0 -24
  272. package/dist/chunk-UYXEDKOZ.js.map +0 -7
  273. package/dist/chunk-VBXVYQYY.js +0 -145
  274. package/dist/chunk-VBXVYQYY.js.map +0 -7
  275. package/dist/chunk-WVHORZQ5.js +0 -17
  276. package/dist/chunk-WVHORZQ5.js.map +0 -7
  277. package/dist/chunk-WWUWDNWW.js +0 -49
  278. package/dist/chunk-WWUWDNWW.js.map +0 -7
  279. package/dist/chunk-Z33T5YN5.js +0 -654
  280. package/dist/chunk-Z33T5YN5.js.map +0 -7
  281. package/dist/chunk-ZQU3TXLC.js.map +0 -7
  282. package/dist/cli-SRV2INSL.js.map +0 -7
  283. package/dist/commands-TWH6PGVG.js +0 -46
  284. package/dist/context-JQIOOI4W.js +0 -30
  285. package/dist/costTracker-6SL26FDB.js +0 -19
  286. package/dist/kodeAgentSessionLoad-6N27AC5K.js +0 -18
  287. package/dist/kodeAgentSessionResume-HUSAEO24.js +0 -16
  288. package/dist/kodeAgentStreamJson-NXFN7TXH.js +0 -13
  289. package/dist/kodeAgentStreamJsonSession-GRWG3SPE.js.map +0 -7
  290. package/dist/kodeAgentStructuredStdio-HGWJT7CU.js +0 -10
  291. package/dist/llm-XVXWYOHK.js.map +0 -7
  292. package/dist/llmLazy-7TD5N7XP.js +0 -15
  293. package/dist/loader-AUXIJTY6.js +0 -28
  294. package/dist/mcp-BXJ3K7NZ.js +0 -49
  295. package/dist/mentionProcessor-YD7YXYGF.js.map +0 -7
  296. package/dist/model-KPYCXWBK.js +0 -30
  297. package/dist/pluginRuntime-FPTKK6NY.js.map +0 -7
  298. package/dist/pluginValidation-DSFXZ4GF.js +0 -17
  299. package/dist/prompts-LWLAJRS2.js +0 -48
  300. package/dist/query-HVPWL27C.js +0 -50
  301. package/dist/responsesStreaming-AW344PQO.js +0 -10
  302. package/dist/ripgrep-YOPCY2GO.js +0 -17
  303. package/dist/state-KNRWP3FO.js +0 -16
  304. package/dist/theme-7S2QN2FO.js +0 -14
  305. package/dist/toolPermissionSettings-GPOBH4IV.js +0 -18
  306. package/dist/tools-FZU2FZBD.js +0 -47
  307. package/dist/userInput-VHNBN2MW.js +0 -311
  308. package/dist/userInput-VHNBN2MW.js.map +0 -7
  309. package/dist/uuid-QN2CNKKN.js +0 -9
  310. /package/dist/{REPL-GIU4ZIXM.js.map → chunks/Doctor-M3J7GRTJ.js.map} +0 -0
  311. /package/dist/{autoUpdater-DNRMJWFQ.js.map → chunks/REPL-RQ6LO6S7.js.map} +0 -0
  312. /package/dist/{chunk-JC6NCUG5.js.map → chunks/ResumeConversation-6DMVBEGH.js.map} +0 -0
  313. /package/dist/{commands-TWH6PGVG.js.map → chunks/agentLoader-FCRG3TFJ.js.map} +0 -0
  314. /package/dist/{config-6ZMBCL23.js.map → chunks/autoUpdater-CNESBOKO.js.map} +0 -0
  315. /package/dist/{context-JQIOOI4W.js.map → chunks/chunk-4CRUCZR4.js.map} +0 -0
  316. /package/dist/{costTracker-6SL26FDB.js.map → chunks/chunk-54KOYG5C.js.map} +0 -0
  317. /package/dist/{customCommands-DNEJS3ZU.js.map → chunks/chunk-GCQCAXJZ.js.map} +0 -0
  318. /package/dist/{env-OFAXZ3XG.js.map → chunks/chunk-LB6TCPDI.js.map} +0 -0
  319. /package/dist/{kodeAgentSessionId-X6XWQW7B.js.map → chunks/client-SILZNM5N.js.map} +0 -0
  320. /package/dist/{kodeAgentSessionLoad-6N27AC5K.js.map → chunks/config-25HRTPSP.js.map} +0 -0
  321. /package/dist/{kodeAgentSessionResume-HUSAEO24.js.map → chunks/cost-tracker-Z2UZT2J5.js.map} +0 -0
  322. /package/dist/{kodeAgentStreamJson-NXFN7TXH.js.map → chunks/customCommands-TYMYZRG5.js.map} +0 -0
  323. /package/dist/{kodeAgentStructuredStdio-HGWJT7CU.js.map → chunks/engine-MRVF6FK6.js.map} +0 -0
  324. /package/dist/{kodeHooks-TDMXFWSO.js.map → chunks/env-TJ5NOBEB.js.map} +0 -0
  325. /package/dist/{llmLazy-7TD5N7XP.js.map → chunks/kodeAgentSessionId-VTNISJ2L.js.map} +0 -0
  326. /package/dist/{loader-AUXIJTY6.js.map → chunks/kodeAgentSessionLoad-YB2RKBGJ.js.map} +0 -0
  327. /package/dist/{mcp-BXJ3K7NZ.js.map → chunks/kodeAgentSessionResume-DZSIVKVA.js.map} +0 -0
  328. /package/dist/{messages-OFUJSPRV.js.map → chunks/kodeAgentStreamJson-X5PLS2S6.js.map} +0 -0
  329. /package/dist/{model-KPYCXWBK.js.map → chunks/kodeHooks-RVKYRJHG.js.map} +0 -0
  330. /package/dist/{openai-5G5D5Q4B.js.map → chunks/llmLazy-ZUSSE3ZA.js.map} +0 -0
  331. /package/dist/{outputStyles-HLDXFQK3.js.map → chunks/messages-EEWWLPHN.js.map} +0 -0
  332. /package/dist/{pluginValidation-DSFXZ4GF.js.map → chunks/model-5TIEKQPD.js.map} +0 -0
  333. /package/dist/{prompts-LWLAJRS2.js.map → chunks/openai-XXK3YZG4.js.map} +0 -0
  334. /package/dist/{query-HVPWL27C.js.map → chunks/outputStyles-FAJTXN2A.js.map} +0 -0
  335. /package/dist/{responsesStreaming-AW344PQO.js.map → chunks/permissions-HO7INPWM.js.map} +0 -0
  336. /package/dist/{ripgrep-YOPCY2GO.js.map → chunks/pluginValidation-DAM7WRTC.js.map} +0 -0
  337. /package/dist/{skillMarketplace-PSNKDINM.js.map → chunks/registry-XYJXMOA5.js.map} +0 -0
  338. /package/dist/{state-KNRWP3FO.js.map → chunks/responsesStreaming-JNGE2P3D.js.map} +0 -0
  339. /package/dist/{theme-7S2QN2FO.js.map → chunks/server-REXXF5IK.js.map} +0 -0
  340. /package/dist/{toolPermissionContext-65L65VEZ.js.map → chunks/skillMarketplace-N4HVHNST.js.map} +0 -0
  341. /package/dist/{toolPermissionSettings-GPOBH4IV.js.map → chunks/src-OROQIWP3.js.map} +0 -0
  342. /package/dist/{tools-FZU2FZBD.js.map → chunks/theme-YBJUIMWK.js.map} +0 -0
  343. /package/dist/{uuid-QN2CNKKN.js.map → chunks/toolPermissionContext-MOCTRR7N.js.map} +0 -0
@@ -0,0 +1,66 @@
1
+ import "./chunk-54KOYG5C.js";
2
+
3
+ // apps/cli/src/entrypoints/cli/cliParser/rootAction/webOnlyMode.ts
4
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
5
+ import { homedir } from "node:os";
6
+ import { join } from "node:path";
7
+ import { randomUUID } from "node:crypto";
8
+ function getKodeConfigDir() {
9
+ const envDir = process.env.KODE_CONFIG_DIR ?? process.env.CLAUDE_CONFIG_DIR;
10
+ if (envDir && envDir.trim()) return envDir.trim();
11
+ return join(homedir(), ".kode");
12
+ }
13
+ function getOrCreateWebToken() {
14
+ const configDir = getKodeConfigDir();
15
+ const tokenFile = join(configDir, "web-token");
16
+ if (existsSync(tokenFile)) {
17
+ try {
18
+ const token = readFileSync(tokenFile, "utf-8").trim();
19
+ if (token && token.length >= 8) return token;
20
+ } catch {
21
+ }
22
+ }
23
+ const newToken = randomUUID().replace(/-/g, "").slice(0, 9);
24
+ try {
25
+ mkdirSync(configDir, { recursive: true });
26
+ writeFileSync(tokenFile, newToken, "utf-8");
27
+ } catch {
28
+ }
29
+ return newToken;
30
+ }
31
+ async function runWebOnlyMode(args) {
32
+ const { startKodeDaemon } = await import("./server-REXXF5IK.js");
33
+ const host = typeof args.webHost === "string" && args.webHost.trim() ? args.webHost.trim() : void 0;
34
+ const port = (() => {
35
+ const raw = typeof args.webPort === "string" ? args.webPort.trim() : "";
36
+ if (!raw) return 0;
37
+ const n = Number(raw);
38
+ return Number.isFinite(n) && n >= 0 ? n : 0;
39
+ })();
40
+ const token = getOrCreateWebToken();
41
+ const daemon = await startKodeDaemon({
42
+ host,
43
+ port,
44
+ token,
45
+ cwd: args.cwd
46
+ });
47
+ const link = `\x1B]8;;${daemon.url}\x07${daemon.url}\x1B]8;;\x07`;
48
+ console.log("");
49
+ console.log("Kode Web Server");
50
+ console.log("");
51
+ console.log(` ${link}`);
52
+ console.log("");
53
+ console.log("Press Ctrl+C to stop");
54
+ console.log("");
55
+ await new Promise((resolve) => {
56
+ const cleanup = () => {
57
+ daemon.stop();
58
+ resolve();
59
+ };
60
+ process.on("SIGINT", cleanup);
61
+ process.on("SIGTERM", cleanup);
62
+ });
63
+ }
64
+ export {
65
+ runWebOnlyMode
66
+ };
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../apps/cli/src/entrypoints/cli/cliParser/rootAction/webOnlyMode.ts"],
4
+ "sourcesContent": ["import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'\nimport { homedir } from 'node:os'\nimport { join } from 'node:path'\nimport { randomUUID } from 'node:crypto'\n\nfunction getKodeConfigDir(): string {\n const envDir = process.env.KODE_CONFIG_DIR ?? process.env.CLAUDE_CONFIG_DIR\n if (envDir && envDir.trim()) return envDir.trim()\n return join(homedir(), '.kode')\n}\n\nfunction getOrCreateWebToken(): string {\n const configDir = getKodeConfigDir()\n const tokenFile = join(configDir, 'web-token')\n\n if (existsSync(tokenFile)) {\n try {\n const token = readFileSync(tokenFile, 'utf-8').trim()\n if (token && token.length >= 8) return token\n } catch {}\n }\n\n const newToken = randomUUID().replace(/-/g, '').slice(0, 9)\n try {\n mkdirSync(configDir, { recursive: true })\n writeFileSync(tokenFile, newToken, 'utf-8')\n } catch {}\n\n return newToken\n}\n\nexport async function runWebOnlyMode(args: {\n cwd: string\n webHost?: string\n webPort?: string\n}): Promise<void> {\n const { startKodeDaemon } = await import('#daemon/server')\n\n const host =\n typeof args.webHost === 'string' && args.webHost.trim()\n ? args.webHost.trim()\n : undefined\n\n const port = (() => {\n const raw = typeof args.webPort === 'string' ? args.webPort.trim() : ''\n if (!raw) return 0\n const n = Number(raw)\n return Number.isFinite(n) && n >= 0 ? n : 0\n })()\n\n const token = getOrCreateWebToken()\n\n const daemon = await startKodeDaemon({\n host,\n port,\n token,\n cwd: args.cwd,\n })\n\n const link = `\\x1b]8;;${daemon.url}\\x07${daemon.url}\\x1b]8;;\\x07`\n\n console.log('')\n console.log('Kode Web Server')\n console.log('')\n console.log(` ${link}`)\n console.log('')\n console.log('Press Ctrl+C to stop')\n console.log('')\n\n await new Promise<void>((resolve) => {\n const cleanup = () => {\n daemon.stop()\n resolve()\n }\n process.on('SIGINT', cleanup)\n process.on('SIGTERM', cleanup)\n })\n}\n"],
5
+ "mappings": ";;;AAAA,SAAS,YAAY,WAAW,cAAc,qBAAqB;AACnE,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAE3B,SAAS,mBAA2B;AAClC,QAAM,SAAS,QAAQ,IAAI,mBAAmB,QAAQ,IAAI;AAC1D,MAAI,UAAU,OAAO,KAAK,EAAG,QAAO,OAAO,KAAK;AAChD,SAAO,KAAK,QAAQ,GAAG,OAAO;AAChC;AAEA,SAAS,sBAA8B;AACrC,QAAM,YAAY,iBAAiB;AACnC,QAAM,YAAY,KAAK,WAAW,WAAW;AAE7C,MAAI,WAAW,SAAS,GAAG;AACzB,QAAI;AACF,YAAM,QAAQ,aAAa,WAAW,OAAO,EAAE,KAAK;AACpD,UAAI,SAAS,MAAM,UAAU,EAAG,QAAO;AAAA,IACzC,QAAQ;AAAA,IAAC;AAAA,EACX;AAEA,QAAM,WAAW,WAAW,EAAE,QAAQ,MAAM,EAAE,EAAE,MAAM,GAAG,CAAC;AAC1D,MAAI;AACF,cAAU,WAAW,EAAE,WAAW,KAAK,CAAC;AACxC,kBAAc,WAAW,UAAU,OAAO;AAAA,EAC5C,QAAQ;AAAA,EAAC;AAET,SAAO;AACT;AAEA,eAAsB,eAAe,MAInB;AAChB,QAAM,EAAE,gBAAgB,IAAI,MAAM,OAAO,sBAAgB;AAEzD,QAAM,OACJ,OAAO,KAAK,YAAY,YAAY,KAAK,QAAQ,KAAK,IAClD,KAAK,QAAQ,KAAK,IAClB;AAEN,QAAM,QAAQ,MAAM;AAClB,UAAM,MAAM,OAAO,KAAK,YAAY,WAAW,KAAK,QAAQ,KAAK,IAAI;AACrE,QAAI,CAAC,IAAK,QAAO;AACjB,UAAM,IAAI,OAAO,GAAG;AACpB,WAAO,OAAO,SAAS,CAAC,KAAK,KAAK,IAAI,IAAI;AAAA,EAC5C,GAAG;AAEH,QAAM,QAAQ,oBAAoB;AAElC,QAAM,SAAS,MAAM,gBAAgB;AAAA,IACnC;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,KAAK;AAAA,EACZ,CAAC;AAED,QAAM,OAAO,WAAW,OAAO,GAAG,OAAO,OAAO,GAAG;AAEnD,UAAQ,IAAI,EAAE;AACd,UAAQ,IAAI,iBAAiB;AAC7B,UAAQ,IAAI,EAAE;AACd,UAAQ,IAAI,KAAK,IAAI,EAAE;AACvB,UAAQ,IAAI,EAAE;AACd,UAAQ,IAAI,sBAAsB;AAClC,UAAQ,IAAI,EAAE;AAEd,QAAM,IAAI,QAAc,CAAC,YAAY;AACnC,UAAM,UAAU,MAAM;AACpB,aAAO,KAAK;AACZ,cAAQ;AAAA,IACV;AACA,YAAQ,GAAG,UAAU,OAAO;AAC5B,YAAQ,GAAG,WAAW,OAAO;AAAA,EAC/B,CAAC;AACH;",
6
+ "names": []
7
+ }
@@ -0,0 +1,10 @@
1
+ import "../chunks/chunk-54KOYG5C.js";
2
+
3
+ // apps/cli/src/entrypoints/cli.ts
4
+ async function startCliEntrypoint() {
5
+ await import("../chunks/src-SSDT6MVP.js");
6
+ }
7
+ await startCliEntrypoint();
8
+ export {
9
+ startCliEntrypoint
10
+ };
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../apps/cli/src/entrypoints/cli.ts"],
4
+ "sourcesContent": ["export async function startCliEntrypoint(): Promise<void> {\n await import('../index.ts')\n}\n\nawait startCliEntrypoint()\n"],
5
+ "mappings": ";;;AAAA,eAAsB,qBAAoC;AACxD,QAAM,OAAO,2BAAa;AAC5B;AAEA,MAAM,mBAAmB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,10 @@
1
+ import "../chunks/chunk-54KOYG5C.js";
2
+
3
+ // apps/cli/src/entrypoints/daemon.ts
4
+ async function startServerEntrypoint() {
5
+ await import("../chunks/src-QXLGGMUW.js");
6
+ }
7
+ await startServerEntrypoint();
8
+ export {
9
+ startServerEntrypoint
10
+ };
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../apps/cli/src/entrypoints/daemon.ts"],
4
+ "sourcesContent": ["export async function startServerEntrypoint(): Promise<void> {\n await import('../../../server/src/index.ts')\n}\n\nawait startServerEntrypoint()\n"],
5
+ "mappings": ";;;AAAA,eAAsB,wBAAuC;AAC3D,QAAM,OAAO,2BAA8B;AAC7C;AAEA,MAAM,sBAAsB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,71 @@
1
+ import {
2
+ startMCPServer
3
+ } from "../chunks/chunk-L7P4M4KW.js";
4
+ import "../chunks/chunk-QAXE37B5.js";
5
+ import "../chunks/chunk-77XDJMBP.js";
6
+ import "../chunks/chunk-GCQCAXJZ.js";
7
+ import "../chunks/chunk-7RRW4NTB.js";
8
+ import {
9
+ addMcpServer,
10
+ ensureConfigScope,
11
+ getClients,
12
+ getClientsForCliMcpConfig,
13
+ getMCPCommands,
14
+ getMCPTools,
15
+ getMcpServer,
16
+ getMcprcServerStatus,
17
+ listMCPServers,
18
+ listPluginMCPServers,
19
+ parseEnvVars,
20
+ parseMcpServersFromCliConfigEntries,
21
+ removeMcpServer,
22
+ runCommand
23
+ } from "../chunks/chunk-ZBVLKZ5V.js";
24
+ import "../chunks/chunk-BTA7SZ26.js";
25
+ import "../chunks/chunk-PPHLQVL7.js";
26
+ import "../chunks/chunk-2JN5MY67.js";
27
+ import "../chunks/chunk-CP6E5UG6.js";
28
+ import "../chunks/chunk-TNWB3U5Y.js";
29
+ import "../chunks/chunk-UVDJL6ZZ.js";
30
+ import "../chunks/chunk-CDGRYGPZ.js";
31
+ import "../chunks/chunk-T7RB5V5J.js";
32
+ import "../chunks/chunk-53M46S5I.js";
33
+ import "../chunks/chunk-HPYNW6TT.js";
34
+ import "../chunks/chunk-LOD5ZHCI.js";
35
+ import "../chunks/chunk-GELCZWMB.js";
36
+ import "../chunks/chunk-3BYE3ME6.js";
37
+ import "../chunks/chunk-M7P3QNRU.js";
38
+ import "../chunks/chunk-SWQV4KSY.js";
39
+ import "../chunks/chunk-LOCXPQNJ.js";
40
+ import "../chunks/chunk-ZCLTZIVP.js";
41
+ import "../chunks/chunk-4CRUCZR4.js";
42
+ import "../chunks/chunk-BHDHXOXB.js";
43
+ import "../chunks/chunk-HRJ3ICQK.js";
44
+ import "../chunks/chunk-6ZWEOSEI.js";
45
+ import "../chunks/chunk-YIO5EBMQ.js";
46
+ import "../chunks/chunk-3OEJVB5A.js";
47
+ import "../chunks/chunk-BBJFHTBC.js";
48
+ import "../chunks/chunk-QHQOBUF6.js";
49
+ import "../chunks/chunk-W5EGGA44.js";
50
+ import "../chunks/chunk-DXD76CMV.js";
51
+ import "../chunks/chunk-LB6TCPDI.js";
52
+ import "../chunks/chunk-XR2W3MAM.js";
53
+ import "../chunks/chunk-B3MW3YGY.js";
54
+ import "../chunks/chunk-54KOYG5C.js";
55
+ export {
56
+ addMcpServer,
57
+ ensureConfigScope,
58
+ getClients,
59
+ getClientsForCliMcpConfig,
60
+ getMCPCommands,
61
+ getMCPTools,
62
+ getMcpServer,
63
+ getMcprcServerStatus,
64
+ listMCPServers,
65
+ listPluginMCPServers,
66
+ parseEnvVars,
67
+ parseMcpServersFromCliConfigEntries,
68
+ removeMcpServer,
69
+ runCommand,
70
+ startMCPServer
71
+ };
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
package/dist/index.js CHANGED
@@ -1,11 +1,10 @@
1
- import { createRequire as __kodeCreateRequire } from "node:module";
2
- const require = __kodeCreateRequire(import.meta.url);
3
1
  import {
4
2
  MACRO
5
- } from "./chunk-FH5CHM6L.js";
6
- import "./chunk-JC6NCUG5.js";
3
+ } from "./chunks/chunk-W5EGGA44.js";
4
+ import "./chunks/chunk-DXD76CMV.js";
5
+ import "./chunks/chunk-54KOYG5C.js";
7
6
 
8
- // src/entrypoints/index.ts
7
+ // apps/cli/src/dispatch.ts
9
8
  function hasFlag(...flags) {
10
9
  return process.argv.some((arg) => flags.includes(arg));
11
10
  }
@@ -28,7 +27,7 @@ Common options:
28
27
  process.exit(0);
29
28
  }
30
29
  if (hasFlag("--acp")) {
31
- await import("./acp-H3VJ77YG.js");
30
+ await import("./entrypoints/daemon.js");
32
31
  } else {
33
- await import("./cli-SRV2INSL.js");
32
+ await import("./entrypoints/cli.js");
34
33
  }
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/entrypoints/index.ts"],
4
- "sourcesContent": ["import { MACRO } from '../constants/macros'\n\nfunction hasFlag(...flags: string[]): boolean {\n return process.argv.some(arg => flags.includes(arg))\n}\n\nif (hasFlag('--version', '-v')) {\n process.stdout.write(`${MACRO.VERSION || ''}\\n`)\n process.exit(0)\n}\n\nif (hasFlag('--help-lite')) {\n process.stdout.write(\n `Usage: kode [options] [command] [prompt]\\n\\n` +\n `Common options:\\n` +\n ` -h, --help Show full help\\n` +\n ` -v, --version Show version\\n` +\n ` -p, --print Print response and exit (non-interactive)\\n` +\n ` -c, --cwd <cwd> Set working directory\\n`,\n )\n process.exit(0)\n}\n\nif (hasFlag('--acp')) {\n await import('./acp.js')\n} else {\n await import('./cli.js')\n}\n"],
5
- "mappings": ";;;;;;;;AAEA,SAAS,WAAW,OAA0B;AAC5C,SAAO,QAAQ,KAAK,KAAK,SAAO,MAAM,SAAS,GAAG,CAAC;AACrD;AAEA,IAAI,QAAQ,aAAa,IAAI,GAAG;AAC9B,UAAQ,OAAO,MAAM,GAAG,MAAM,WAAW,EAAE;AAAA,CAAI;AAC/C,UAAQ,KAAK,CAAC;AAChB;AAEA,IAAI,QAAQ,aAAa,GAAG;AAC1B,UAAQ,OAAO;AAAA,IACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMF;AACA,UAAQ,KAAK,CAAC;AAChB;AAEA,IAAI,QAAQ,OAAO,GAAG;AACpB,QAAM,OAAO,mBAAU;AACzB,OAAO;AACL,QAAM,OAAO,mBAAU;AACzB;",
3
+ "sources": ["../apps/cli/src/dispatch.ts"],
4
+ "sourcesContent": ["// Unified CLI entry (lightweight)\n// - Development: use `bun run apps/cli/src/dispatch.ts`\n// - Production: transpiled to `dist/index.js` and used as bin/main\n\nimport { MACRO } from '#core/constants/macros'\n\nfunction hasFlag(...flags: string[]): boolean {\n return process.argv.some(arg => flags.includes(arg))\n}\n\n// Minimal pre-parse: handle version/help early without loading heavy UI modules\nif (hasFlag('--version', '-v')) {\n process.stdout.write(`${MACRO.VERSION || ''}\\n`)\n process.exit(0)\n}\n\nif (hasFlag('--help-lite')) {\n process.stdout.write(\n `Usage: kode [options] [command] [prompt]\\n\\n` +\n `Common options:\\n` +\n ` -h, --help Show full help\\n` +\n ` -v, --version Show version\\n` +\n ` -p, --print Print response and exit (non-interactive)\\n` +\n ` -c, --cwd <cwd> Set working directory\\n`,\n )\n process.exit(0)\n}\n\n// For compatibility, --help loads full CLI help.\n// NOTE: ACP mode is hosted by the server app (merged per blueprint).\nif (hasFlag('--acp')) {\n await import('./entrypoints/daemon.ts')\n} else {\n await import('./entrypoints/cli.ts')\n}\n"],
5
+ "mappings": ";;;;;;;AAMA,SAAS,WAAW,OAA0B;AAC5C,SAAO,QAAQ,KAAK,KAAK,SAAO,MAAM,SAAS,GAAG,CAAC;AACrD;AAGA,IAAI,QAAQ,aAAa,IAAI,GAAG;AAC9B,UAAQ,OAAO,MAAM,GAAG,MAAM,WAAW,EAAE;AAAA,CAAI;AAC/C,UAAQ,KAAK,CAAC;AAChB;AAEA,IAAI,QAAQ,aAAa,GAAG;AAC1B,UAAQ,OAAO;AAAA,IACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMF;AACA,UAAQ,KAAK,CAAC;AAChB;AAIA,IAAI,QAAQ,OAAO,GAAG;AACpB,QAAM,OAAO,yBAAyB;AACxC,OAAO;AACL,QAAM,OAAO,sBAAsB;AACrC;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,391 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // packages/client/src/index.ts
20
+ var index_exports = {};
21
+ __export(index_exports, {
22
+ DirectClient: () => DirectClient,
23
+ HttpClient: () => HttpClient
24
+ });
25
+ module.exports = __toCommonJS(index_exports);
26
+
27
+ // packages/client/src/direct.ts
28
+ var DirectClient = class {
29
+ constructor(engine) {
30
+ this.engine = engine;
31
+ }
32
+ sendMessage(message) {
33
+ return this.engine.sendMessage(message);
34
+ }
35
+ cancelRequest() {
36
+ return this.engine.cancelRequest();
37
+ }
38
+ approveToolUse(toolUseId, options) {
39
+ return this.engine.approveToolUse(toolUseId, options);
40
+ }
41
+ denyToolUse(toolUseId, reason, options) {
42
+ return this.engine.denyToolUse(toolUseId, reason, options);
43
+ }
44
+ listSessions() {
45
+ return this.engine.listSessions();
46
+ }
47
+ loadSession(sessionId) {
48
+ return this.engine.loadSession(sessionId);
49
+ }
50
+ deleteSession(sessionId) {
51
+ return this.engine.deleteSession(sessionId);
52
+ }
53
+ isConnected() {
54
+ return this.engine.isConnected();
55
+ }
56
+ disconnect() {
57
+ return this.engine.disconnect();
58
+ }
59
+ };
60
+
61
+ // packages/protocol/src/agentEvent.ts
62
+ var import_zod = require("zod");
63
+ var ContentBlockSchema = import_zod.z.object({
64
+ type: import_zod.z.string()
65
+ }).passthrough();
66
+ var SystemEventSchema = import_zod.z.object({
67
+ type: import_zod.z.literal("system"),
68
+ subtype: import_zod.z.string(),
69
+ session_id: import_zod.z.string().optional(),
70
+ model: import_zod.z.string().optional(),
71
+ cwd: import_zod.z.string().optional(),
72
+ tools: import_zod.z.array(import_zod.z.string()).optional(),
73
+ slash_commands: import_zod.z.array(import_zod.z.string()).optional(),
74
+ status: import_zod.z.string().optional(),
75
+ uuid: import_zod.z.string().optional()
76
+ }).strict();
77
+ var UserEventSchema = import_zod.z.object({
78
+ type: import_zod.z.literal("user"),
79
+ session_id: import_zod.z.string().optional(),
80
+ uuid: import_zod.z.string().optional(),
81
+ parent_tool_use_id: import_zod.z.string().nullable().optional(),
82
+ message: import_zod.z.object({
83
+ role: import_zod.z.literal("user"),
84
+ content: import_zod.z.union([import_zod.z.string(), import_zod.z.array(ContentBlockSchema)])
85
+ }).strict()
86
+ }).strict();
87
+ var AssistantEventSchema = import_zod.z.object({
88
+ type: import_zod.z.literal("assistant"),
89
+ session_id: import_zod.z.string().optional(),
90
+ uuid: import_zod.z.string().optional(),
91
+ parent_tool_use_id: import_zod.z.string().nullable().optional(),
92
+ message: import_zod.z.object({
93
+ role: import_zod.z.literal("assistant"),
94
+ content: import_zod.z.array(ContentBlockSchema)
95
+ }).strict()
96
+ }).strict();
97
+ var ResultEventSchema = import_zod.z.object({
98
+ type: import_zod.z.literal("result"),
99
+ subtype: import_zod.z.enum(["success", "error_during_execution", "error_max_turns"]),
100
+ result: import_zod.z.string().optional(),
101
+ structured_output: import_zod.z.record(import_zod.z.unknown()).optional(),
102
+ num_turns: import_zod.z.number(),
103
+ usage: import_zod.z.unknown().optional(),
104
+ total_cost_usd: import_zod.z.number(),
105
+ duration_ms: import_zod.z.number(),
106
+ duration_api_ms: import_zod.z.number(),
107
+ is_error: import_zod.z.boolean(),
108
+ session_id: import_zod.z.string()
109
+ }).strict();
110
+ var LogEventSchema = import_zod.z.object({
111
+ type: import_zod.z.literal("log"),
112
+ log: import_zod.z.object({
113
+ level: import_zod.z.enum(["debug", "info", "warn", "error"]),
114
+ message: import_zod.z.string()
115
+ }).strict()
116
+ }).strict();
117
+ var PermissionRequestEventSchema = import_zod.z.object({
118
+ type: import_zod.z.literal("permission_request"),
119
+ request_id: import_zod.z.string(),
120
+ tool_name: import_zod.z.string(),
121
+ tool_description: import_zod.z.string(),
122
+ input: import_zod.z.record(import_zod.z.unknown())
123
+ }).strict();
124
+ var HistoryBeginEventSchema = import_zod.z.object({
125
+ type: import_zod.z.literal("history_begin"),
126
+ sessionId: import_zod.z.string()
127
+ }).strict();
128
+ var HistoryEndEventSchema = import_zod.z.object({
129
+ type: import_zod.z.literal("history_end"),
130
+ sessionId: import_zod.z.string()
131
+ }).strict();
132
+ var AgentEventSchema = import_zod.z.discriminatedUnion("type", [
133
+ SystemEventSchema,
134
+ UserEventSchema,
135
+ AssistantEventSchema,
136
+ ResultEventSchema,
137
+ LogEventSchema,
138
+ PermissionRequestEventSchema,
139
+ HistoryBeginEventSchema,
140
+ HistoryEndEventSchema
141
+ ]);
142
+
143
+ // packages/client/src/http.ts
144
+ function isRecord(value) {
145
+ return typeof value === "object" && value !== null;
146
+ }
147
+ function isSessionListMessage(value) {
148
+ if (!isRecord(value)) return false;
149
+ if (value.type !== "session_list") return false;
150
+ return Array.isArray(value.sessions);
151
+ }
152
+ function resolveBaseUrl(baseUrl) {
153
+ if (typeof window !== "undefined" && window.location) {
154
+ return new URL(baseUrl, window.location.href);
155
+ }
156
+ return new URL(baseUrl);
157
+ }
158
+ function toWebSocketUrl(args) {
159
+ const wsUrl = new URL(args.baseUrl.toString());
160
+ wsUrl.protocol = wsUrl.protocol === "https:" ? "wss:" : "ws:";
161
+ wsUrl.pathname = "/ws";
162
+ wsUrl.searchParams.set("token", args.token);
163
+ if (args.workspaceId) wsUrl.searchParams.set("workspace", args.workspaceId);
164
+ return wsUrl;
165
+ }
166
+ function safeJsonParse(text) {
167
+ try {
168
+ return JSON.parse(text);
169
+ } catch {
170
+ return null;
171
+ }
172
+ }
173
+ var HttpClient = class {
174
+ constructor(options) {
175
+ this.options = options;
176
+ }
177
+ ws = null;
178
+ sessionId = null;
179
+ listeners = /* @__PURE__ */ new Set();
180
+ isConnected() {
181
+ return this.ws?.readyState === 1;
182
+ }
183
+ disconnect() {
184
+ try {
185
+ this.ws?.close();
186
+ } catch {
187
+ }
188
+ this.ws = null;
189
+ this.sessionId = null;
190
+ this.listeners.clear();
191
+ }
192
+ emit(msg) {
193
+ for (const listener of this.listeners) {
194
+ try {
195
+ listener(msg);
196
+ } catch {
197
+ }
198
+ }
199
+ }
200
+ onMessage(listener) {
201
+ this.listeners.add(listener);
202
+ return () => {
203
+ this.listeners.delete(listener);
204
+ };
205
+ }
206
+ async ensureConnected() {
207
+ if (this.ws?.readyState === 1) return;
208
+ const baseUrl = resolveBaseUrl(this.options.baseUrl);
209
+ const wsUrl = toWebSocketUrl({
210
+ baseUrl,
211
+ token: this.options.token,
212
+ workspaceId: this.options.workspaceId
213
+ });
214
+ const WebSocketImpl = this.options.webSocketImpl ?? globalThis.WebSocket;
215
+ if (!WebSocketImpl) {
216
+ throw new Error("WebSocket implementation not found");
217
+ }
218
+ const ws = new WebSocketImpl(wsUrl.toString());
219
+ this.ws = ws;
220
+ await new Promise((resolve, reject) => {
221
+ const onOpen = () => {
222
+ cleanup();
223
+ resolve();
224
+ };
225
+ const onError = () => {
226
+ cleanup();
227
+ reject(new Error("WebSocket connection error"));
228
+ };
229
+ const cleanup = () => {
230
+ try {
231
+ ws.removeEventListener?.("open", onOpen);
232
+ ws.removeEventListener?.("error", onError);
233
+ } catch {
234
+ }
235
+ };
236
+ ws.addEventListener("open", onOpen, { once: true });
237
+ ws.addEventListener("error", onError, { once: true });
238
+ });
239
+ ws.addEventListener("message", (ev) => {
240
+ const raw = ev.data;
241
+ const text = typeof raw === "string" ? raw : String(raw ?? "");
242
+ const parsed = safeJsonParse(text);
243
+ const validated = AgentEventSchema.safeParse(parsed);
244
+ if (validated.success) {
245
+ const msg = validated.data;
246
+ if (msg.type === "system" && msg.subtype === "init") {
247
+ this.sessionId = msg.session_id ?? null;
248
+ }
249
+ }
250
+ this.emit(parsed);
251
+ });
252
+ ws.addEventListener("close", () => {
253
+ this.ws = null;
254
+ this.sessionId = null;
255
+ });
256
+ }
257
+ send(payload) {
258
+ if (!this.ws || this.ws.readyState !== 1) {
259
+ throw new Error("HttpClient is not connected");
260
+ }
261
+ this.ws.send(JSON.stringify(payload));
262
+ }
263
+ cancelRequest() {
264
+ if (!this.ws || this.ws.readyState !== 1) return;
265
+ this.send({ type: "cancel" });
266
+ }
267
+ async approveToolUse(toolUseId, options) {
268
+ const decision = options?.decision ?? "allow_once";
269
+ this.send({
270
+ type: "permission_response",
271
+ request_id: toolUseId,
272
+ decision,
273
+ ...options?.updatedInput ? { updated_input: options.updatedInput } : {}
274
+ });
275
+ }
276
+ async denyToolUse(toolUseId, reason, options) {
277
+ this.send({
278
+ type: "permission_response",
279
+ request_id: toolUseId,
280
+ decision: "deny",
281
+ ...options?.updatedInput ? { updated_input: options.updatedInput } : {},
282
+ ...reason && reason.trim() ? { rejection_message: reason.trim() } : {}
283
+ });
284
+ }
285
+ async listSessions() {
286
+ await this.ensureConnected();
287
+ return await new Promise((resolve, reject) => {
288
+ const unsubscribe = this.onMessage((msg) => {
289
+ if (!isSessionListMessage(msg)) return;
290
+ unsubscribe();
291
+ resolve(msg.sessions);
292
+ });
293
+ try {
294
+ this.send({ type: "list_sessions" });
295
+ } catch (error) {
296
+ unsubscribe();
297
+ reject(error);
298
+ }
299
+ });
300
+ }
301
+ async loadSession(sessionId) {
302
+ await this.ensureConnected();
303
+ const baseSession = (await this.listSessions()).find(
304
+ (s) => s.sessionId === sessionId
305
+ ) ?? {
306
+ sessionId,
307
+ slug: null,
308
+ customTitle: null,
309
+ tag: null,
310
+ summary: null,
311
+ cwd: null,
312
+ createdAt: null,
313
+ modifiedAt: null
314
+ };
315
+ const events = [];
316
+ await new Promise((resolve, reject) => {
317
+ let capturing = false;
318
+ const unsubscribe = this.onMessage((msg) => {
319
+ if (isRecord(msg) && msg.type === "history_begin") {
320
+ const sid = typeof msg.sessionId === "string" ? msg.sessionId : "";
321
+ if (sid === sessionId) capturing = true;
322
+ return;
323
+ }
324
+ if (isRecord(msg) && msg.type === "history_end") {
325
+ const sid = typeof msg.sessionId === "string" ? msg.sessionId : "";
326
+ if (sid === sessionId) {
327
+ capturing = false;
328
+ unsubscribe();
329
+ resolve();
330
+ }
331
+ return;
332
+ }
333
+ if (!capturing) return;
334
+ const validated = AgentEventSchema.safeParse(msg);
335
+ if (validated.success) events.push(validated.data);
336
+ });
337
+ try {
338
+ this.send({ type: "resume", session_id: sessionId });
339
+ } catch (error) {
340
+ unsubscribe();
341
+ reject(error);
342
+ }
343
+ });
344
+ return { ...baseSession, events };
345
+ }
346
+ async deleteSession(_sessionId) {
347
+ throw new Error("deleteSession is not supported by the daemon yet");
348
+ }
349
+ async *sendMessage(message) {
350
+ await this.ensureConnected();
351
+ const queue = [];
352
+ let resolveNext = null;
353
+ let done = false;
354
+ const wake = () => {
355
+ if (!resolveNext) return;
356
+ const r = resolveNext;
357
+ resolveNext = null;
358
+ r();
359
+ };
360
+ const unsubscribe = this.onMessage((msg) => {
361
+ const validated = AgentEventSchema.safeParse(msg);
362
+ if (!validated.success) return;
363
+ const event = validated.data;
364
+ queue.push(event);
365
+ if (event.type === "result") {
366
+ done = true;
367
+ }
368
+ wake();
369
+ });
370
+ try {
371
+ this.send({ type: "prompt", prompt: message });
372
+ while (!done || queue.length > 0) {
373
+ if (queue.length === 0) {
374
+ await new Promise((resolve) => {
375
+ resolveNext = resolve;
376
+ });
377
+ continue;
378
+ }
379
+ const next = queue.shift();
380
+ if (next) yield next;
381
+ }
382
+ } finally {
383
+ unsubscribe();
384
+ }
385
+ }
386
+ };
387
+ // Annotate the CommonJS export names for ESM import in node:
388
+ 0 && (module.exports = {
389
+ DirectClient,
390
+ HttpClient
391
+ });