@shareai-lab/kode 1.2.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (725) hide show
  1. package/README.md +25 -388
  2. package/cli-acp.js +82 -0
  3. package/cli.js +89 -79
  4. package/dist/REPL-CW7AYLVL.js +42 -0
  5. package/dist/acp-VEPJ74LT.js +1357 -0
  6. package/dist/acp-VEPJ74LT.js.map +7 -0
  7. package/dist/agentsValidate-7LH4HTNR.js +373 -0
  8. package/dist/agentsValidate-7LH4HTNR.js.map +7 -0
  9. package/dist/ask-3NHFFUQG.js +125 -0
  10. package/dist/ask-3NHFFUQG.js.map +7 -0
  11. package/dist/autoUpdater-ITPIHCOI.js +17 -0
  12. package/dist/{utils/autoUpdater.js → chunk-3IN27HA5.js} +38 -21
  13. package/dist/chunk-3IN27HA5.js.map +7 -0
  14. package/dist/chunk-3RUXVV4S.js +23 -0
  15. package/dist/chunk-3RUXVV4S.js.map +7 -0
  16. package/dist/chunk-4FX3IVPT.js +164 -0
  17. package/dist/chunk-4FX3IVPT.js.map +7 -0
  18. package/dist/chunk-4RTX4AG4.js +249 -0
  19. package/dist/chunk-4RTX4AG4.js.map +7 -0
  20. package/dist/chunk-5PDP7R6N.js +515 -0
  21. package/dist/chunk-5PDP7R6N.js.map +7 -0
  22. package/dist/chunk-73WGVYLQ.js +735 -0
  23. package/dist/chunk-73WGVYLQ.js.map +7 -0
  24. package/dist/{services/systemReminder.js → chunk-7M2YN6TU.js} +221 -59
  25. package/dist/chunk-7M2YN6TU.js.map +7 -0
  26. package/dist/{utils/theme.js → chunk-7U7L4NMD.js} +28 -6
  27. package/dist/chunk-7U7L4NMD.js.map +7 -0
  28. package/dist/chunk-ABLVTESJ.js +19 -0
  29. package/dist/chunk-ABLVTESJ.js.map +7 -0
  30. package/dist/chunk-AFFSCMYS.js +191 -0
  31. package/dist/chunk-AFFSCMYS.js.map +7 -0
  32. package/dist/chunk-ARZSBOAO.js +1256 -0
  33. package/dist/chunk-ARZSBOAO.js.map +7 -0
  34. package/dist/chunk-CIG63V4E.js +72 -0
  35. package/dist/chunk-CIG63V4E.js.map +7 -0
  36. package/dist/chunk-CM3EGTG6.js +1609 -0
  37. package/dist/chunk-CM3EGTG6.js.map +7 -0
  38. package/dist/{services/openai.js → chunk-DZE5YA7L.js} +168 -234
  39. package/dist/chunk-DZE5YA7L.js.map +7 -0
  40. package/dist/chunk-E6YNABER.js +24 -0
  41. package/dist/chunk-E6YNABER.js.map +7 -0
  42. package/dist/{cost-tracker.js → chunk-EZXMVTDU.js} +51 -32
  43. package/dist/chunk-EZXMVTDU.js.map +7 -0
  44. package/dist/chunk-F2SJXUDI.js +148 -0
  45. package/dist/chunk-F2SJXUDI.js.map +7 -0
  46. package/dist/chunk-FC5ZCKBI.js +30167 -0
  47. package/dist/chunk-FC5ZCKBI.js.map +7 -0
  48. package/dist/chunk-HCBELH4J.js +145 -0
  49. package/dist/chunk-HCBELH4J.js.map +7 -0
  50. package/dist/chunk-HN4E4UUQ.js +96 -0
  51. package/dist/chunk-HN4E4UUQ.js.map +7 -0
  52. package/dist/{utils/model.js → chunk-IZVMU4S2.js} +194 -227
  53. package/dist/chunk-IZVMU4S2.js.map +7 -0
  54. package/dist/chunk-JC6NCUG5.js +11 -0
  55. package/dist/chunk-K2CWOTI2.js +196 -0
  56. package/dist/chunk-K2CWOTI2.js.map +7 -0
  57. package/dist/chunk-KAA5BGMQ.js +12 -0
  58. package/dist/chunk-KAA5BGMQ.js.map +7 -0
  59. package/dist/{utils/config.js → chunk-LC4TVOCZ.js} +351 -171
  60. package/dist/chunk-LC4TVOCZ.js.map +7 -0
  61. package/dist/chunk-MIW7N2MY.js +2613 -0
  62. package/dist/chunk-MIW7N2MY.js.map +7 -0
  63. package/dist/chunk-MWRSY4X6.js +240 -0
  64. package/dist/chunk-MWRSY4X6.js.map +7 -0
  65. package/dist/chunk-ND3XWFO6.js +34 -0
  66. package/dist/chunk-ND3XWFO6.js.map +7 -0
  67. package/dist/chunk-NPFOMITO.js +21 -0
  68. package/dist/chunk-NPFOMITO.js.map +7 -0
  69. package/dist/chunk-QVLYOPO5.js +1097 -0
  70. package/dist/chunk-QVLYOPO5.js.map +7 -0
  71. package/dist/chunk-RZWOUA25.js +490 -0
  72. package/dist/chunk-RZWOUA25.js.map +7 -0
  73. package/dist/chunk-S3J2TLV6.js +16 -0
  74. package/dist/chunk-S3J2TLV6.js.map +7 -0
  75. package/dist/chunk-S6HRABTA.js +95 -0
  76. package/dist/chunk-S6HRABTA.js.map +7 -0
  77. package/dist/{utils/debugLogger.js → chunk-STSX7GIX.js} +107 -204
  78. package/dist/chunk-STSX7GIX.js.map +7 -0
  79. package/dist/chunk-UHYRLID6.js +472 -0
  80. package/dist/chunk-UHYRLID6.js.map +7 -0
  81. package/dist/chunk-UKHTVRJM.js +47 -0
  82. package/dist/chunk-UKHTVRJM.js.map +7 -0
  83. package/dist/chunk-UYXEDKOZ.js +24 -0
  84. package/dist/chunk-UYXEDKOZ.js.map +7 -0
  85. package/dist/chunk-W7GRKO7Q.js +766 -0
  86. package/dist/chunk-W7GRKO7Q.js.map +7 -0
  87. package/dist/chunk-WVHORZQ5.js +17 -0
  88. package/dist/chunk-WVHORZQ5.js.map +7 -0
  89. package/dist/chunk-WWUWDNWW.js +49 -0
  90. package/dist/chunk-WWUWDNWW.js.map +7 -0
  91. package/dist/chunk-YC6LJCDE.js +511 -0
  92. package/dist/chunk-YC6LJCDE.js.map +7 -0
  93. package/dist/chunk-YXYYDIMI.js +2931 -0
  94. package/dist/chunk-YXYYDIMI.js.map +7 -0
  95. package/dist/chunk-ZVDRDPII.js +138 -0
  96. package/dist/chunk-ZVDRDPII.js.map +7 -0
  97. package/dist/cli-DOPVY2CW.js +3917 -0
  98. package/dist/cli-DOPVY2CW.js.map +7 -0
  99. package/dist/commands-2BF2CJ3A.js +46 -0
  100. package/dist/config-RUSD6G5Y.js +81 -0
  101. package/dist/context-6FXPETYH.js +30 -0
  102. package/dist/costTracker-6SL26FDB.js +19 -0
  103. package/dist/customCommands-TOIJFZAL.js +25 -0
  104. package/dist/customCommands-TOIJFZAL.js.map +7 -0
  105. package/dist/env-XGKBLU3D.js +22 -0
  106. package/dist/env-XGKBLU3D.js.map +7 -0
  107. package/dist/index.js +34 -5
  108. package/dist/index.js.map +4 -4
  109. package/dist/kodeAgentSessionId-X6XWQW7B.js +13 -0
  110. package/dist/kodeAgentSessionId-X6XWQW7B.js.map +7 -0
  111. package/dist/kodeAgentSessionLoad-MITZADPB.js +18 -0
  112. package/dist/kodeAgentSessionLoad-MITZADPB.js.map +7 -0
  113. package/dist/kodeAgentSessionResume-GVRWB4WO.js +16 -0
  114. package/dist/kodeAgentSessionResume-GVRWB4WO.js.map +7 -0
  115. package/dist/kodeAgentStreamJson-NXFN7TXH.js +13 -0
  116. package/dist/kodeAgentStreamJson-NXFN7TXH.js.map +7 -0
  117. package/dist/kodeAgentStreamJsonSession-UGEZJJEB.js +131 -0
  118. package/dist/kodeAgentStreamJsonSession-UGEZJJEB.js.map +7 -0
  119. package/dist/kodeAgentStructuredStdio-HGWJT7CU.js +10 -0
  120. package/dist/kodeAgentStructuredStdio-HGWJT7CU.js.map +7 -0
  121. package/dist/kodeHooks-QWM36A3D.js +36 -0
  122. package/dist/kodeHooks-QWM36A3D.js.map +7 -0
  123. package/dist/llm-ZUQC4WYM.js +3118 -0
  124. package/dist/llm-ZUQC4WYM.js.map +7 -0
  125. package/dist/llmLazy-54QQHA54.js +15 -0
  126. package/dist/llmLazy-54QQHA54.js.map +7 -0
  127. package/dist/loader-FYHJQES5.js +28 -0
  128. package/dist/loader-FYHJQES5.js.map +7 -0
  129. package/dist/mcp-J332IKT3.js +49 -0
  130. package/dist/mcp-J332IKT3.js.map +7 -0
  131. package/dist/{services/mentionProcessor.js → mentionProcessor-EE3XFHCJ.js} +61 -50
  132. package/dist/mentionProcessor-EE3XFHCJ.js.map +7 -0
  133. package/dist/messages-EOYQKPGM.js +63 -0
  134. package/dist/messages-EOYQKPGM.js.map +7 -0
  135. package/dist/model-FV3JDJKH.js +30 -0
  136. package/dist/model-FV3JDJKH.js.map +7 -0
  137. package/dist/openai-RRCWW33N.js +29 -0
  138. package/dist/openai-RRCWW33N.js.map +7 -0
  139. package/dist/outputStyles-62Q3VH2J.js +28 -0
  140. package/dist/outputStyles-62Q3VH2J.js.map +7 -0
  141. package/dist/package.json +1 -1
  142. package/dist/pluginRuntime-6ETCZ2LL.js +218 -0
  143. package/dist/pluginRuntime-6ETCZ2LL.js.map +7 -0
  144. package/dist/pluginValidation-I4YKUWGS.js +17 -0
  145. package/dist/pluginValidation-I4YKUWGS.js.map +7 -0
  146. package/dist/prompts-ZLEKDD77.js +48 -0
  147. package/dist/prompts-ZLEKDD77.js.map +7 -0
  148. package/dist/query-VFRJPBGD.js +50 -0
  149. package/dist/query-VFRJPBGD.js.map +7 -0
  150. package/dist/responsesStreaming-AW344PQO.js +10 -0
  151. package/dist/responsesStreaming-AW344PQO.js.map +7 -0
  152. package/dist/ripgrep-3NTIKQYW.js +17 -0
  153. package/dist/ripgrep-3NTIKQYW.js.map +7 -0
  154. package/dist/skillMarketplace-3RXQBVOL.js +37 -0
  155. package/dist/skillMarketplace-3RXQBVOL.js.map +7 -0
  156. package/dist/state-P5G6CO5V.js +16 -0
  157. package/dist/state-P5G6CO5V.js.map +7 -0
  158. package/dist/theme-3LWP3BG7.js +14 -0
  159. package/dist/theme-3LWP3BG7.js.map +7 -0
  160. package/dist/toolPermissionContext-65L65VEZ.js +17 -0
  161. package/dist/toolPermissionContext-65L65VEZ.js.map +7 -0
  162. package/dist/toolPermissionSettings-3ROBVTUK.js +18 -0
  163. package/dist/toolPermissionSettings-3ROBVTUK.js.map +7 -0
  164. package/dist/tools-RO7HSSE5.js +47 -0
  165. package/dist/tools-RO7HSSE5.js.map +7 -0
  166. package/dist/userInput-JSBJRFSK.js +311 -0
  167. package/dist/userInput-JSBJRFSK.js.map +7 -0
  168. package/dist/uuid-QN2CNKKN.js +9 -0
  169. package/dist/uuid-QN2CNKKN.js.map +7 -0
  170. package/package.json +43 -14
  171. package/scripts/binary-utils.cjs +62 -0
  172. package/scripts/cli-acp-wrapper.cjs +82 -0
  173. package/scripts/cli-wrapper.cjs +105 -0
  174. package/scripts/postinstall.js +135 -9
  175. package/LICENSE +0 -201
  176. package/README.zh-CN.md +0 -312
  177. package/dist/ProjectOnboarding.js +0 -99
  178. package/dist/ProjectOnboarding.js.map +0 -7
  179. package/dist/Tool.js +0 -1
  180. package/dist/commands/agents.js +0 -2087
  181. package/dist/commands/agents.js.map +0 -7
  182. package/dist/commands/approvedTools.js +0 -36
  183. package/dist/commands/approvedTools.js.map +0 -7
  184. package/dist/commands/bug.js +0 -21
  185. package/dist/commands/bug.js.map +0 -7
  186. package/dist/commands/clear.js +0 -37
  187. package/dist/commands/clear.js.map +0 -7
  188. package/dist/commands/compact.js +0 -104
  189. package/dist/commands/compact.js.map +0 -7
  190. package/dist/commands/config.js +0 -20
  191. package/dist/commands/config.js.map +0 -7
  192. package/dist/commands/cost.js +0 -19
  193. package/dist/commands/cost.js.map +0 -7
  194. package/dist/commands/ctx_viz.js +0 -152
  195. package/dist/commands/ctx_viz.js.map +0 -7
  196. package/dist/commands/doctor.js +0 -25
  197. package/dist/commands/doctor.js.map +0 -7
  198. package/dist/commands/help.js +0 -20
  199. package/dist/commands/help.js.map +0 -7
  200. package/dist/commands/init.js +0 -38
  201. package/dist/commands/init.js.map +0 -7
  202. package/dist/commands/listen.js +0 -37
  203. package/dist/commands/listen.js.map +0 -7
  204. package/dist/commands/login.js +0 -37
  205. package/dist/commands/login.js.map +0 -7
  206. package/dist/commands/logout.js +0 -33
  207. package/dist/commands/logout.js.map +0 -7
  208. package/dist/commands/mcp.js +0 -34
  209. package/dist/commands/mcp.js.map +0 -7
  210. package/dist/commands/model.js +0 -41
  211. package/dist/commands/model.js.map +0 -7
  212. package/dist/commands/modelstatus.js +0 -21
  213. package/dist/commands/modelstatus.js.map +0 -7
  214. package/dist/commands/onboarding.js +0 -36
  215. package/dist/commands/onboarding.js.map +0 -7
  216. package/dist/commands/pr_comments.js +0 -61
  217. package/dist/commands/pr_comments.js.map +0 -7
  218. package/dist/commands/refreshCommands.js +0 -37
  219. package/dist/commands/refreshCommands.js.map +0 -7
  220. package/dist/commands/release-notes.js +0 -30
  221. package/dist/commands/release-notes.js.map +0 -7
  222. package/dist/commands/resume.js +0 -35
  223. package/dist/commands/resume.js.map +0 -7
  224. package/dist/commands/review.js +0 -51
  225. package/dist/commands/review.js.map +0 -7
  226. package/dist/commands/terminalSetup.js +0 -163
  227. package/dist/commands/terminalSetup.js.map +0 -7
  228. package/dist/commands.js +0 -84
  229. package/dist/commands.js.map +0 -7
  230. package/dist/components/ApproveApiKey.js +0 -74
  231. package/dist/components/ApproveApiKey.js.map +0 -7
  232. package/dist/components/AsciiLogo.js +0 -12
  233. package/dist/components/AsciiLogo.js.map +0 -7
  234. package/dist/components/AutoUpdater.js +0 -74
  235. package/dist/components/AutoUpdater.js.map +0 -7
  236. package/dist/components/Bug.js +0 -147
  237. package/dist/components/Bug.js.map +0 -7
  238. package/dist/components/Config.js +0 -166
  239. package/dist/components/Config.js.map +0 -7
  240. package/dist/components/ConsoleOAuthFlow.js +0 -188
  241. package/dist/components/ConsoleOAuthFlow.js.map +0 -7
  242. package/dist/components/Cost.js +0 -13
  243. package/dist/components/Cost.js.map +0 -7
  244. package/dist/components/CostThresholdDialog.js +0 -38
  245. package/dist/components/CostThresholdDialog.js.map +0 -7
  246. package/dist/components/CustomSelect/option-map.js +0 -32
  247. package/dist/components/CustomSelect/option-map.js.map +0 -7
  248. package/dist/components/CustomSelect/select-option.js +0 -34
  249. package/dist/components/CustomSelect/select-option.js.map +0 -7
  250. package/dist/components/CustomSelect/select.js +0 -64
  251. package/dist/components/CustomSelect/select.js.map +0 -7
  252. package/dist/components/CustomSelect/theme.js +0 -1
  253. package/dist/components/CustomSelect/use-select-state.js +0 -220
  254. package/dist/components/CustomSelect/use-select-state.js.map +0 -7
  255. package/dist/components/CustomSelect/use-select.js +0 -21
  256. package/dist/components/CustomSelect/use-select.js.map +0 -7
  257. package/dist/components/FallbackToolUseRejectedMessage.js +0 -11
  258. package/dist/components/FallbackToolUseRejectedMessage.js.map +0 -7
  259. package/dist/components/FileEditToolUpdatedMessage.js +0 -32
  260. package/dist/components/FileEditToolUpdatedMessage.js.map +0 -7
  261. package/dist/components/Help.js +0 -41
  262. package/dist/components/Help.js.map +0 -7
  263. package/dist/components/HighlightedCode.js +0 -30
  264. package/dist/components/HighlightedCode.js.map +0 -7
  265. package/dist/components/InvalidConfigDialog.js +0 -83
  266. package/dist/components/InvalidConfigDialog.js.map +0 -7
  267. package/dist/components/Link.js +0 -18
  268. package/dist/components/Link.js.map +0 -7
  269. package/dist/components/LogSelector.js +0 -50
  270. package/dist/components/LogSelector.js.map +0 -7
  271. package/dist/components/Logo.js +0 -94
  272. package/dist/components/Logo.js.map +0 -7
  273. package/dist/components/MCPServerApprovalDialog.js +0 -79
  274. package/dist/components/MCPServerApprovalDialog.js.map +0 -7
  275. package/dist/components/MCPServerDialogCopy.js +0 -11
  276. package/dist/components/MCPServerDialogCopy.js.map +0 -7
  277. package/dist/components/MCPServerMultiselectDialog.js +0 -80
  278. package/dist/components/MCPServerMultiselectDialog.js.map +0 -7
  279. package/dist/components/Message.js +0 -146
  280. package/dist/components/Message.js.map +0 -7
  281. package/dist/components/MessageResponse.js +0 -9
  282. package/dist/components/MessageResponse.js.map +0 -7
  283. package/dist/components/MessageSelector.js +0 -133
  284. package/dist/components/MessageSelector.js.map +0 -7
  285. package/dist/components/ModeIndicator.js +0 -38
  286. package/dist/components/ModeIndicator.js.map +0 -7
  287. package/dist/components/ModelConfig.js +0 -208
  288. package/dist/components/ModelConfig.js.map +0 -7
  289. package/dist/components/ModelListManager.js +0 -140
  290. package/dist/components/ModelListManager.js.map +0 -7
  291. package/dist/components/ModelSelector.js +0 -1985
  292. package/dist/components/ModelSelector.js.map +0 -7
  293. package/dist/components/ModelStatusDisplay.js +0 -87
  294. package/dist/components/ModelStatusDisplay.js.map +0 -7
  295. package/dist/components/Onboarding.js +0 -153
  296. package/dist/components/Onboarding.js.map +0 -7
  297. package/dist/components/PressEnterToContinue.js +0 -10
  298. package/dist/components/PressEnterToContinue.js.map +0 -7
  299. package/dist/components/PromptInput.js +0 -488
  300. package/dist/components/PromptInput.js.map +0 -7
  301. package/dist/components/SentryErrorBoundary.js +0 -27
  302. package/dist/components/SentryErrorBoundary.js.map +0 -7
  303. package/dist/components/Spinner.js +0 -101
  304. package/dist/components/Spinner.js.map +0 -7
  305. package/dist/components/StickerRequestForm.js +0 -7
  306. package/dist/components/StickerRequestForm.js.map +0 -7
  307. package/dist/components/StructuredDiff.js +0 -148
  308. package/dist/components/StructuredDiff.js.map +0 -7
  309. package/dist/components/TextInput.js +0 -100
  310. package/dist/components/TextInput.js.map +0 -7
  311. package/dist/components/TodoItem.js +0 -35
  312. package/dist/components/TodoItem.js.map +0 -7
  313. package/dist/components/TokenWarning.js +0 -19
  314. package/dist/components/TokenWarning.js.map +0 -7
  315. package/dist/components/ToolUseLoader.js +0 -24
  316. package/dist/components/ToolUseLoader.js.map +0 -7
  317. package/dist/components/TrustDialog.js +0 -76
  318. package/dist/components/TrustDialog.js.map +0 -7
  319. package/dist/components/binary-feedback/BinaryFeedback.js +0 -50
  320. package/dist/components/binary-feedback/BinaryFeedback.js.map +0 -7
  321. package/dist/components/binary-feedback/BinaryFeedbackOption.js +0 -94
  322. package/dist/components/binary-feedback/BinaryFeedbackOption.js.map +0 -7
  323. package/dist/components/binary-feedback/BinaryFeedbackView.js +0 -139
  324. package/dist/components/binary-feedback/BinaryFeedbackView.js.map +0 -7
  325. package/dist/components/binary-feedback/utils.js +0 -161
  326. package/dist/components/binary-feedback/utils.js.map +0 -7
  327. package/dist/components/messages/AssistantBashOutputMessage.js +0 -23
  328. package/dist/components/messages/AssistantBashOutputMessage.js.map +0 -7
  329. package/dist/components/messages/AssistantLocalCommandOutputMessage.js +0 -36
  330. package/dist/components/messages/AssistantLocalCommandOutputMessage.js.map +0 -7
  331. package/dist/components/messages/AssistantRedactedThinkingMessage.js +0 -12
  332. package/dist/components/messages/AssistantRedactedThinkingMessage.js.map +0 -7
  333. package/dist/components/messages/AssistantTextMessage.js +0 -78
  334. package/dist/components/messages/AssistantTextMessage.js.map +0 -7
  335. package/dist/components/messages/AssistantThinkingMessage.js +0 -27
  336. package/dist/components/messages/AssistantThinkingMessage.js.map +0 -7
  337. package/dist/components/messages/AssistantToolUseMessage.js +0 -91
  338. package/dist/components/messages/AssistantToolUseMessage.js.map +0 -7
  339. package/dist/components/messages/TaskProgressMessage.js +0 -11
  340. package/dist/components/messages/TaskProgressMessage.js.map +0 -7
  341. package/dist/components/messages/TaskToolMessage.js +0 -39
  342. package/dist/components/messages/TaskToolMessage.js.map +0 -7
  343. package/dist/components/messages/UserBashInputMessage.js +0 -18
  344. package/dist/components/messages/UserBashInputMessage.js.map +0 -7
  345. package/dist/components/messages/UserCommandMessage.js +0 -20
  346. package/dist/components/messages/UserCommandMessage.js.map +0 -7
  347. package/dist/components/messages/UserKodingInputMessage.js +0 -18
  348. package/dist/components/messages/UserKodingInputMessage.js.map +0 -7
  349. package/dist/components/messages/UserPromptMessage.js +0 -20
  350. package/dist/components/messages/UserPromptMessage.js.map +0 -7
  351. package/dist/components/messages/UserTextMessage.js +0 -25
  352. package/dist/components/messages/UserTextMessage.js.map +0 -7
  353. package/dist/components/messages/UserToolResultMessage/UserToolCanceledMessage.js +0 -10
  354. package/dist/components/messages/UserToolResultMessage/UserToolCanceledMessage.js.map +0 -7
  355. package/dist/components/messages/UserToolResultMessage/UserToolErrorMessage.js +0 -15
  356. package/dist/components/messages/UserToolResultMessage/UserToolErrorMessage.js.map +0 -7
  357. package/dist/components/messages/UserToolResultMessage/UserToolRejectMessage.js +0 -25
  358. package/dist/components/messages/UserToolResultMessage/UserToolRejectMessage.js.map +0 -7
  359. package/dist/components/messages/UserToolResultMessage/UserToolResultMessage.js +0 -47
  360. package/dist/components/messages/UserToolResultMessage/UserToolResultMessage.js.map +0 -7
  361. package/dist/components/messages/UserToolResultMessage/UserToolSuccessMessage.js +0 -23
  362. package/dist/components/messages/UserToolResultMessage/UserToolSuccessMessage.js.map +0 -7
  363. package/dist/components/messages/UserToolResultMessage/utils.js +0 -42
  364. package/dist/components/messages/UserToolResultMessage/utils.js.map +0 -7
  365. package/dist/components/permissions/BashPermissionRequest/BashPermissionRequest.js +0 -112
  366. package/dist/components/permissions/BashPermissionRequest/BashPermissionRequest.js.map +0 -7
  367. package/dist/components/permissions/FallbackPermissionRequest.js +0 -131
  368. package/dist/components/permissions/FallbackPermissionRequest.js.map +0 -7
  369. package/dist/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js +0 -159
  370. package/dist/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js.map +0 -7
  371. package/dist/components/permissions/FileEditPermissionRequest/FileEditToolDiff.js +0 -58
  372. package/dist/components/permissions/FileEditPermissionRequest/FileEditToolDiff.js.map +0 -7
  373. package/dist/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js +0 -153
  374. package/dist/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js.map +0 -7
  375. package/dist/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js +0 -70
  376. package/dist/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js.map +0 -7
  377. package/dist/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js +0 -212
  378. package/dist/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js.map +0 -7
  379. package/dist/components/permissions/PermissionRequest.js +0 -70
  380. package/dist/components/permissions/PermissionRequest.js.map +0 -7
  381. package/dist/components/permissions/PermissionRequestTitle.js +0 -52
  382. package/dist/components/permissions/PermissionRequestTitle.js.map +0 -7
  383. package/dist/components/permissions/hooks.js +0 -28
  384. package/dist/components/permissions/hooks.js.map +0 -7
  385. package/dist/components/permissions/toolUseOptions.js +0 -46
  386. package/dist/components/permissions/toolUseOptions.js.map +0 -7
  387. package/dist/components/permissions/utils.js +0 -21
  388. package/dist/components/permissions/utils.js.map +0 -7
  389. package/dist/constants/betas.js +0 -11
  390. package/dist/constants/betas.js.map +0 -7
  391. package/dist/constants/claude-asterisk-ascii-art.js +0 -242
  392. package/dist/constants/claude-asterisk-ascii-art.js.map +0 -7
  393. package/dist/constants/figures.js +0 -6
  394. package/dist/constants/figures.js.map +0 -7
  395. package/dist/constants/keys.js +0 -7
  396. package/dist/constants/keys.js.map +0 -7
  397. package/dist/constants/macros.js +0 -13
  398. package/dist/constants/macros.js.map +0 -7
  399. package/dist/constants/modelCapabilities.js +0 -154
  400. package/dist/constants/modelCapabilities.js.map +0 -7
  401. package/dist/constants/models.js +0 -1034
  402. package/dist/constants/models.js.map +0 -7
  403. package/dist/constants/oauth.js +0 -18
  404. package/dist/constants/oauth.js.map +0 -7
  405. package/dist/constants/product.js +0 -26
  406. package/dist/constants/product.js.map +0 -7
  407. package/dist/constants/prompts.js +0 -168
  408. package/dist/constants/prompts.js.map +0 -7
  409. package/dist/constants/releaseNotes.js +0 -9
  410. package/dist/constants/releaseNotes.js.map +0 -7
  411. package/dist/context/PermissionContext.js +0 -111
  412. package/dist/context/PermissionContext.js.map +0 -7
  413. package/dist/context.js +0 -259
  414. package/dist/context.js.map +0 -7
  415. package/dist/cost-tracker.js.map +0 -7
  416. package/dist/entrypoints/cli.js +0 -1107
  417. package/dist/entrypoints/cli.js.map +0 -7
  418. package/dist/entrypoints/mcp.js +0 -150
  419. package/dist/entrypoints/mcp.js.map +0 -7
  420. package/dist/history.js +0 -25
  421. package/dist/history.js.map +0 -7
  422. package/dist/hooks/useApiKeyVerification.js +0 -12
  423. package/dist/hooks/useApiKeyVerification.js.map +0 -7
  424. package/dist/hooks/useArrowKeyHistory.js +0 -50
  425. package/dist/hooks/useArrowKeyHistory.js.map +0 -7
  426. package/dist/hooks/useCanUseTool.js +0 -112
  427. package/dist/hooks/useCanUseTool.js.map +0 -7
  428. package/dist/hooks/useCancelRequest.js +0 -30
  429. package/dist/hooks/useCancelRequest.js.map +0 -7
  430. package/dist/hooks/useDoublePress.js +0 -31
  431. package/dist/hooks/useDoublePress.js.map +0 -7
  432. package/dist/hooks/useExitOnCtrlCD.js +0 -26
  433. package/dist/hooks/useExitOnCtrlCD.js.map +0 -7
  434. package/dist/hooks/useInterval.js +0 -18
  435. package/dist/hooks/useInterval.js.map +0 -7
  436. package/dist/hooks/useLogMessages.js +0 -14
  437. package/dist/hooks/useLogMessages.js.map +0 -7
  438. package/dist/hooks/useLogStartupTime.js +0 -15
  439. package/dist/hooks/useLogStartupTime.js.map +0 -7
  440. package/dist/hooks/useNotifyAfterTimeout.js +0 -42
  441. package/dist/hooks/useNotifyAfterTimeout.js.map +0 -7
  442. package/dist/hooks/usePermissionRequestLogging.js +0 -28
  443. package/dist/hooks/usePermissionRequestLogging.js.map +0 -7
  444. package/dist/hooks/useTerminalSize.js +0 -38
  445. package/dist/hooks/useTerminalSize.js.map +0 -7
  446. package/dist/hooks/useTextInput.js +0 -250
  447. package/dist/hooks/useTextInput.js.map +0 -7
  448. package/dist/hooks/useUnifiedCompletion.js +0 -929
  449. package/dist/hooks/useUnifiedCompletion.js.map +0 -7
  450. package/dist/messages.js +0 -33
  451. package/dist/messages.js.map +0 -7
  452. package/dist/permissions.js +0 -194
  453. package/dist/permissions.js.map +0 -7
  454. package/dist/query.js +0 -492
  455. package/dist/query.js.map +0 -7
  456. package/dist/screens/ConfigureNpmPrefix.js +0 -128
  457. package/dist/screens/ConfigureNpmPrefix.js.map +0 -7
  458. package/dist/screens/Doctor.js +0 -22
  459. package/dist/screens/Doctor.js.map +0 -7
  460. package/dist/screens/LogList.js +0 -55
  461. package/dist/screens/LogList.js.map +0 -7
  462. package/dist/screens/REPL.js +0 -593
  463. package/dist/screens/REPL.js.map +0 -7
  464. package/dist/screens/ResumeConversation.js +0 -56
  465. package/dist/screens/ResumeConversation.js.map +0 -7
  466. package/dist/services/adapters/base.js +0 -29
  467. package/dist/services/adapters/base.js.map +0 -7
  468. package/dist/services/adapters/chatCompletions.js +0 -69
  469. package/dist/services/adapters/chatCompletions.js.map +0 -7
  470. package/dist/services/adapters/responsesAPI.js +0 -126
  471. package/dist/services/adapters/responsesAPI.js.map +0 -7
  472. package/dist/services/browserMocks.js +0 -48
  473. package/dist/services/browserMocks.js.map +0 -7
  474. package/dist/services/claude.js +0 -1605
  475. package/dist/services/claude.js.map +0 -7
  476. package/dist/services/customCommands.js +0 -359
  477. package/dist/services/customCommands.js.map +0 -7
  478. package/dist/services/fileFreshness.js +0 -280
  479. package/dist/services/fileFreshness.js.map +0 -7
  480. package/dist/services/gpt5ConnectionTest.js +0 -248
  481. package/dist/services/gpt5ConnectionTest.js.map +0 -7
  482. package/dist/services/mcpClient.js +0 -435
  483. package/dist/services/mcpClient.js.map +0 -7
  484. package/dist/services/mcpServerApproval.js +0 -55
  485. package/dist/services/mcpServerApproval.js.map +0 -7
  486. package/dist/services/mentionProcessor.js.map +0 -7
  487. package/dist/services/modelAdapterFactory.js +0 -47
  488. package/dist/services/modelAdapterFactory.js.map +0 -7
  489. package/dist/services/notifier.js +0 -35
  490. package/dist/services/notifier.js.map +0 -7
  491. package/dist/services/oauth.js +0 -259
  492. package/dist/services/oauth.js.map +0 -7
  493. package/dist/services/openai.js.map +0 -7
  494. package/dist/services/responseStateManager.js +0 -68
  495. package/dist/services/responseStateManager.js.map +0 -7
  496. package/dist/services/sentry.js +0 -9
  497. package/dist/services/sentry.js.map +0 -7
  498. package/dist/services/statsig.js +0 -112
  499. package/dist/services/statsig.js.map +0 -7
  500. package/dist/services/statsigStorage.js +0 -75
  501. package/dist/services/statsigStorage.js.map +0 -7
  502. package/dist/services/systemReminder.js.map +0 -7
  503. package/dist/services/vcr.js +0 -133
  504. package/dist/services/vcr.js.map +0 -7
  505. package/dist/tools/ArchitectTool/ArchitectTool.js +0 -119
  506. package/dist/tools/ArchitectTool/ArchitectTool.js.map +0 -7
  507. package/dist/tools/ArchitectTool/prompt.js +0 -18
  508. package/dist/tools/ArchitectTool/prompt.js.map +0 -7
  509. package/dist/tools/AskExpertModelTool/AskExpertModelTool.js +0 -423
  510. package/dist/tools/AskExpertModelTool/AskExpertModelTool.js.map +0 -7
  511. package/dist/tools/BashTool/BashTool.js +0 -188
  512. package/dist/tools/BashTool/BashTool.js.map +0 -7
  513. package/dist/tools/BashTool/BashToolResultMessage.js +0 -21
  514. package/dist/tools/BashTool/BashToolResultMessage.js.map +0 -7
  515. package/dist/tools/BashTool/OutputLine.js +0 -30
  516. package/dist/tools/BashTool/OutputLine.js.map +0 -7
  517. package/dist/tools/BashTool/prompt.js +0 -179
  518. package/dist/tools/BashTool/prompt.js.map +0 -7
  519. package/dist/tools/BashTool/utils.js +0 -51
  520. package/dist/tools/BashTool/utils.js.map +0 -7
  521. package/dist/tools/FileEditTool/FileEditTool.js +0 -228
  522. package/dist/tools/FileEditTool/FileEditTool.js.map +0 -7
  523. package/dist/tools/FileEditTool/prompt.js +0 -54
  524. package/dist/tools/FileEditTool/prompt.js.map +0 -7
  525. package/dist/tools/FileEditTool/utils.js +0 -42
  526. package/dist/tools/FileEditTool/utils.js.map +0 -7
  527. package/dist/tools/FileReadTool/FileReadTool.js +0 -272
  528. package/dist/tools/FileReadTool/FileReadTool.js.map +0 -7
  529. package/dist/tools/FileReadTool/prompt.js +0 -10
  530. package/dist/tools/FileReadTool/prompt.js.map +0 -7
  531. package/dist/tools/FileWriteTool/FileWriteTool.js +0 -204
  532. package/dist/tools/FileWriteTool/FileWriteTool.js.map +0 -7
  533. package/dist/tools/FileWriteTool/prompt.js +0 -14
  534. package/dist/tools/FileWriteTool/prompt.js.map +0 -7
  535. package/dist/tools/GlobTool/GlobTool.js +0 -88
  536. package/dist/tools/GlobTool/GlobTool.js.map +0 -7
  537. package/dist/tools/GlobTool/prompt.js +0 -12
  538. package/dist/tools/GlobTool/prompt.js.map +0 -7
  539. package/dist/tools/GrepTool/GrepTool.js +0 -107
  540. package/dist/tools/GrepTool/GrepTool.js.map +0 -7
  541. package/dist/tools/GrepTool/prompt.js +0 -15
  542. package/dist/tools/GrepTool/prompt.js.map +0 -7
  543. package/dist/tools/MCPTool/MCPTool.js +0 -90
  544. package/dist/tools/MCPTool/MCPTool.js.map +0 -7
  545. package/dist/tools/MCPTool/prompt.js +0 -7
  546. package/dist/tools/MCPTool/prompt.js.map +0 -7
  547. package/dist/tools/MemoryReadTool/MemoryReadTool.js +0 -103
  548. package/dist/tools/MemoryReadTool/MemoryReadTool.js.map +0 -7
  549. package/dist/tools/MemoryReadTool/prompt.js +0 -7
  550. package/dist/tools/MemoryReadTool/prompt.js.map +0 -7
  551. package/dist/tools/MemoryWriteTool/MemoryWriteTool.js +0 -77
  552. package/dist/tools/MemoryWriteTool/MemoryWriteTool.js.map +0 -7
  553. package/dist/tools/MemoryWriteTool/prompt.js +0 -7
  554. package/dist/tools/MemoryWriteTool/prompt.js.map +0 -7
  555. package/dist/tools/MultiEditTool/MultiEditTool.js +0 -308
  556. package/dist/tools/MultiEditTool/MultiEditTool.js.map +0 -7
  557. package/dist/tools/MultiEditTool/prompt.js +0 -48
  558. package/dist/tools/MultiEditTool/prompt.js.map +0 -7
  559. package/dist/tools/NotebookEditTool/NotebookEditTool.js +0 -238
  560. package/dist/tools/NotebookEditTool/NotebookEditTool.js.map +0 -7
  561. package/dist/tools/NotebookEditTool/prompt.js +0 -7
  562. package/dist/tools/NotebookEditTool/prompt.js.map +0 -7
  563. package/dist/tools/NotebookReadTool/NotebookReadTool.js +0 -212
  564. package/dist/tools/NotebookReadTool/NotebookReadTool.js.map +0 -7
  565. package/dist/tools/NotebookReadTool/prompt.js +0 -7
  566. package/dist/tools/NotebookReadTool/prompt.js.map +0 -7
  567. package/dist/tools/StickerRequestTool/StickerRequestTool.js +0 -86
  568. package/dist/tools/StickerRequestTool/StickerRequestTool.js.map +0 -7
  569. package/dist/tools/StickerRequestTool/prompt.js +0 -23
  570. package/dist/tools/StickerRequestTool/prompt.js.map +0 -7
  571. package/dist/tools/TaskTool/TaskTool.js +0 -351
  572. package/dist/tools/TaskTool/TaskTool.js.map +0 -7
  573. package/dist/tools/TaskTool/constants.js +0 -5
  574. package/dist/tools/TaskTool/constants.js.map +0 -7
  575. package/dist/tools/TaskTool/prompt.js +0 -82
  576. package/dist/tools/TaskTool/prompt.js.map +0 -7
  577. package/dist/tools/ThinkTool/ThinkTool.js +0 -48
  578. package/dist/tools/ThinkTool/ThinkTool.js.map +0 -7
  579. package/dist/tools/ThinkTool/prompt.js +0 -16
  580. package/dist/tools/ThinkTool/prompt.js.map +0 -7
  581. package/dist/tools/TodoWriteTool/TodoWriteTool.js +0 -216
  582. package/dist/tools/TodoWriteTool/TodoWriteTool.js.map +0 -7
  583. package/dist/tools/TodoWriteTool/prompt.js +0 -66
  584. package/dist/tools/TodoWriteTool/prompt.js.map +0 -7
  585. package/dist/tools/URLFetcherTool/URLFetcherTool.js +0 -137
  586. package/dist/tools/URLFetcherTool/URLFetcherTool.js.map +0 -7
  587. package/dist/tools/URLFetcherTool/cache.js +0 -45
  588. package/dist/tools/URLFetcherTool/cache.js.map +0 -7
  589. package/dist/tools/URLFetcherTool/htmlToMarkdown.js +0 -42
  590. package/dist/tools/URLFetcherTool/htmlToMarkdown.js.map +0 -7
  591. package/dist/tools/URLFetcherTool/prompt.js +0 -22
  592. package/dist/tools/URLFetcherTool/prompt.js.map +0 -7
  593. package/dist/tools/WebSearchTool/WebSearchTool.js +0 -86
  594. package/dist/tools/WebSearchTool/WebSearchTool.js.map +0 -7
  595. package/dist/tools/WebSearchTool/prompt.js +0 -17
  596. package/dist/tools/WebSearchTool/prompt.js.map +0 -7
  597. package/dist/tools/WebSearchTool/searchProviders.js +0 -48
  598. package/dist/tools/WebSearchTool/searchProviders.js.map +0 -7
  599. package/dist/tools/lsTool/lsTool.js +0 -201
  600. package/dist/tools/lsTool/lsTool.js.map +0 -7
  601. package/dist/tools/lsTool/prompt.js +0 -5
  602. package/dist/tools/lsTool/prompt.js.map +0 -7
  603. package/dist/tools.js +0 -64
  604. package/dist/tools.js.map +0 -7
  605. package/dist/types/PermissionMode.js +0 -82
  606. package/dist/types/PermissionMode.js.map +0 -7
  607. package/dist/types/RequestContext.js +0 -47
  608. package/dist/types/RequestContext.js.map +0 -7
  609. package/dist/types/common.d.js +0 -1
  610. package/dist/types/conversation.js +0 -1
  611. package/dist/types/logs.js +0 -1
  612. package/dist/types/modelCapabilities.js +0 -1
  613. package/dist/types/notebook.js +0 -1
  614. package/dist/utils/Cursor.js +0 -313
  615. package/dist/utils/Cursor.js.map +0 -7
  616. package/dist/utils/PersistentShell.js +0 -382
  617. package/dist/utils/PersistentShell.js.map +0 -7
  618. package/dist/utils/advancedFuzzyMatcher.js +0 -206
  619. package/dist/utils/advancedFuzzyMatcher.js.map +0 -7
  620. package/dist/utils/agentLoader.js +0 -199
  621. package/dist/utils/agentLoader.js.map +0 -7
  622. package/dist/utils/agentStorage.js +0 -59
  623. package/dist/utils/agentStorage.js.map +0 -7
  624. package/dist/utils/array.js +0 -7
  625. package/dist/utils/array.js.map +0 -7
  626. package/dist/utils/ask.js +0 -77
  627. package/dist/utils/ask.js.map +0 -7
  628. package/dist/utils/auth.js +0 -11
  629. package/dist/utils/auth.js.map +0 -7
  630. package/dist/utils/autoCompactCore.js +0 -149
  631. package/dist/utils/autoCompactCore.js.map +0 -7
  632. package/dist/utils/autoUpdater.js.map +0 -7
  633. package/dist/utils/betas.js +0 -21
  634. package/dist/utils/betas.js.map +0 -7
  635. package/dist/utils/browser.js +0 -15
  636. package/dist/utils/browser.js.map +0 -7
  637. package/dist/utils/cleanup.js +0 -54
  638. package/dist/utils/cleanup.js.map +0 -7
  639. package/dist/utils/commands.js +0 -207
  640. package/dist/utils/commands.js.map +0 -7
  641. package/dist/utils/commonUnixCommands.js +0 -687
  642. package/dist/utils/commonUnixCommands.js.map +0 -7
  643. package/dist/utils/config.js.map +0 -7
  644. package/dist/utils/conversationRecovery.js +0 -35
  645. package/dist/utils/conversationRecovery.js.map +0 -7
  646. package/dist/utils/debugLogger.js.map +0 -7
  647. package/dist/utils/diff.js +0 -32
  648. package/dist/utils/diff.js.map +0 -7
  649. package/dist/utils/env.js +0 -44
  650. package/dist/utils/env.js.map +0 -7
  651. package/dist/utils/errors.js +0 -23
  652. package/dist/utils/errors.js.map +0 -7
  653. package/dist/utils/exampleCommands.js +0 -80
  654. package/dist/utils/exampleCommands.js.map +0 -7
  655. package/dist/utils/execFileNoThrow.js +0 -44
  656. package/dist/utils/execFileNoThrow.js.map +0 -7
  657. package/dist/utils/expertChatStorage.js +0 -78
  658. package/dist/utils/expertChatStorage.js.map +0 -7
  659. package/dist/utils/file.js +0 -282
  660. package/dist/utils/file.js.map +0 -7
  661. package/dist/utils/fileRecoveryCore.js +0 -41
  662. package/dist/utils/fileRecoveryCore.js.map +0 -7
  663. package/dist/utils/format.js +0 -41
  664. package/dist/utils/format.js.map +0 -7
  665. package/dist/utils/fuzzyMatcher.js +0 -252
  666. package/dist/utils/fuzzyMatcher.js.map +0 -7
  667. package/dist/utils/generators.js +0 -46
  668. package/dist/utils/generators.js.map +0 -7
  669. package/dist/utils/git.js +0 -83
  670. package/dist/utils/git.js.map +0 -7
  671. package/dist/utils/globalLogger.js +0 -54
  672. package/dist/utils/globalLogger.js.map +0 -7
  673. package/dist/utils/http.js +0 -7
  674. package/dist/utils/http.js.map +0 -7
  675. package/dist/utils/imagePaste.js +0 -29
  676. package/dist/utils/imagePaste.js.map +0 -7
  677. package/dist/utils/json.js +0 -16
  678. package/dist/utils/json.js.map +0 -7
  679. package/dist/utils/log.js +0 -298
  680. package/dist/utils/log.js.map +0 -7
  681. package/dist/utils/markdown.js +0 -187
  682. package/dist/utils/markdown.js.map +0 -7
  683. package/dist/utils/messageContextManager.js +0 -195
  684. package/dist/utils/messageContextManager.js.map +0 -7
  685. package/dist/utils/messages.js +0 -633
  686. package/dist/utils/messages.js.map +0 -7
  687. package/dist/utils/model.js.map +0 -7
  688. package/dist/utils/permissions/filesystem.js +0 -80
  689. package/dist/utils/permissions/filesystem.js.map +0 -7
  690. package/dist/utils/responseState.js +0 -20
  691. package/dist/utils/responseState.js.map +0 -7
  692. package/dist/utils/ripgrep.js +0 -131
  693. package/dist/utils/ripgrep.js.map +0 -7
  694. package/dist/utils/secureFile.js +0 -483
  695. package/dist/utils/secureFile.js.map +0 -7
  696. package/dist/utils/sessionState.js +0 -31
  697. package/dist/utils/sessionState.js.map +0 -7
  698. package/dist/utils/state.js +0 -24
  699. package/dist/utils/state.js.map +0 -7
  700. package/dist/utils/style.js +0 -31
  701. package/dist/utils/style.js.map +0 -7
  702. package/dist/utils/terminal.js +0 -43
  703. package/dist/utils/terminal.js.map +0 -7
  704. package/dist/utils/theme.js.map +0 -7
  705. package/dist/utils/thinking.js +0 -103
  706. package/dist/utils/thinking.js.map +0 -7
  707. package/dist/utils/todoStorage.js +0 -291
  708. package/dist/utils/todoStorage.js.map +0 -7
  709. package/dist/utils/tokens.js +0 -30
  710. package/dist/utils/tokens.js.map +0 -7
  711. package/dist/utils/toolExecutionController.js +0 -109
  712. package/dist/utils/toolExecutionController.js.map +0 -7
  713. package/dist/utils/unaryLogging.js +0 -14
  714. package/dist/utils/unaryLogging.js.map +0 -7
  715. package/dist/utils/user.js +0 -40
  716. package/dist/utils/user.js.map +0 -7
  717. package/dist/utils/validate.js +0 -132
  718. package/dist/utils/validate.js.map +0 -7
  719. /package/dist/{Tool.js.map → REPL-CW7AYLVL.js.map} +0 -0
  720. /package/dist/{components/CustomSelect/theme.js.map → autoUpdater-ITPIHCOI.js.map} +0 -0
  721. /package/dist/{types/common.d.js.map → chunk-JC6NCUG5.js.map} +0 -0
  722. /package/dist/{types/conversation.js.map → commands-2BF2CJ3A.js.map} +0 -0
  723. /package/dist/{types/logs.js.map → config-RUSD6G5Y.js.map} +0 -0
  724. /package/dist/{types/modelCapabilities.js.map → context-6FXPETYH.js.map} +0 -0
  725. /package/dist/{types/notebook.js.map → costTracker-6SL26FDB.js.map} +0 -0
@@ -0,0 +1,766 @@
1
+ import { createRequire as __kodeCreateRequire } from "node:module";
2
+ const require = __kodeCreateRequire(import.meta.url);
3
+ import {
4
+ getSessionPlugins
5
+ } from "./chunk-S3J2TLV6.js";
6
+ import {
7
+ debug
8
+ } from "./chunk-STSX7GIX.js";
9
+ import {
10
+ getCwd,
11
+ getKodeBaseDir,
12
+ logError
13
+ } from "./chunk-YXYYDIMI.js";
14
+
15
+ // src/services/plugins/customCommands.ts
16
+ import { existsSync, readFileSync, readdirSync, statSync } from "fs";
17
+ import { basename, dirname, join, relative, sep } from "path";
18
+ import { homedir } from "os";
19
+ import { memoize } from "lodash-es";
20
+ import { execFile } from "child_process";
21
+ import { promisify } from "util";
22
+ import matter from "gray-matter";
23
+ import yaml from "js-yaml";
24
+ var execFileAsync = promisify(execFile);
25
+ async function executeBashCommands(content) {
26
+ const bashCommandRegex = /!\`([^`]+)\`/g;
27
+ const matches = [...content.matchAll(bashCommandRegex)];
28
+ if (matches.length === 0) {
29
+ return content;
30
+ }
31
+ let result = content;
32
+ for (const match of matches) {
33
+ const fullMatch = match[0];
34
+ const command = match[1].trim();
35
+ try {
36
+ const parts = command.split(/\s+/);
37
+ const cmd = parts[0];
38
+ const args = parts.slice(1);
39
+ const { stdout, stderr } = await execFileAsync(cmd, args, {
40
+ timeout: 5e3,
41
+ encoding: "utf8",
42
+ cwd: getCwd()
43
+ });
44
+ const output = stdout.trim() || stderr.trim() || "(no output)";
45
+ result = result.replace(fullMatch, output);
46
+ } catch (error) {
47
+ logError(error);
48
+ debug.warn("CUSTOM_COMMAND_BASH_EXEC_FAILED", {
49
+ command,
50
+ error: error instanceof Error ? error.message : String(error)
51
+ });
52
+ result = result.replace(fullMatch, `(error executing: ${command})`);
53
+ }
54
+ }
55
+ return result;
56
+ }
57
+ async function resolveFileReferences(content) {
58
+ const fileRefRegex = /@([a-zA-Z0-9/._-]+(?:\.[a-zA-Z0-9]+)?)/g;
59
+ const matches = [...content.matchAll(fileRefRegex)];
60
+ if (matches.length === 0) {
61
+ return content;
62
+ }
63
+ let result = content;
64
+ for (const match of matches) {
65
+ const fullMatch = match[0];
66
+ const filePath = match[1];
67
+ if (filePath.startsWith("agent-")) {
68
+ continue;
69
+ }
70
+ try {
71
+ const fullPath = join(getCwd(), filePath);
72
+ if (existsSync(fullPath)) {
73
+ const fileContent = readFileSync(fullPath, { encoding: "utf-8" });
74
+ const formattedContent = `
75
+
76
+ ## File: ${filePath}
77
+ \`\`\`
78
+ ${fileContent}
79
+ \`\`\`
80
+ `;
81
+ result = result.replace(fullMatch, formattedContent);
82
+ } else {
83
+ result = result.replace(fullMatch, `(file not found: ${filePath})`);
84
+ }
85
+ } catch (error) {
86
+ logError(error);
87
+ debug.warn("CUSTOM_COMMAND_FILE_READ_FAILED", {
88
+ filePath,
89
+ error: error instanceof Error ? error.message : String(error)
90
+ });
91
+ result = result.replace(fullMatch, `(error reading: ${filePath})`);
92
+ }
93
+ }
94
+ return result;
95
+ }
96
+ function parseFrontmatter(content) {
97
+ const yamlSchema = yaml.JSON_SCHEMA;
98
+ const parsed = matter(content, {
99
+ engines: {
100
+ yaml: {
101
+ parse: (input) => yaml.load(input, yamlSchema ? { schema: yamlSchema } : void 0) ?? {}
102
+ }
103
+ }
104
+ });
105
+ return {
106
+ frontmatter: parsed.data ?? {},
107
+ content: parsed.content ?? ""
108
+ };
109
+ }
110
+ function isSkillMarkdownFile(filePath) {
111
+ return /^skill\.md$/i.test(basename(filePath));
112
+ }
113
+ function getUserKodeBaseDir() {
114
+ return getKodeBaseDir();
115
+ }
116
+ function toBoolean(value) {
117
+ if (typeof value === "boolean") return value;
118
+ if (typeof value === "string") {
119
+ const normalized = value.trim().toLowerCase();
120
+ if (["1", "true", "yes", "on"].includes(normalized)) return true;
121
+ if (["0", "false", "no", "off"].includes(normalized)) return false;
122
+ }
123
+ return false;
124
+ }
125
+ function parseAllowedTools(value) {
126
+ if (Array.isArray(value)) {
127
+ return value.map((v) => String(v).trim()).filter(Boolean);
128
+ }
129
+ if (typeof value === "string") {
130
+ const trimmed = value.trim();
131
+ if (!trimmed) return [];
132
+ return trimmed.split(/\s+/).map((v) => v.trim()).filter(Boolean);
133
+ }
134
+ return [];
135
+ }
136
+ function parseMaxThinkingTokens(frontmatter) {
137
+ const raw = frontmatter.maxThinkingTokens ?? frontmatter.max_thinking_tokens ?? frontmatter["max-thinking-tokens"] ?? frontmatter["max_thinking_tokens"];
138
+ if (raw === void 0 || raw === null) return void 0;
139
+ const value = typeof raw === "number" ? raw : Number(String(raw).trim());
140
+ if (!Number.isFinite(value) || value < 0) return void 0;
141
+ return Math.floor(value);
142
+ }
143
+ function sourceLabel(source) {
144
+ if (source === "localSettings") return "project";
145
+ if (source === "userSettings") return "user";
146
+ if (source === "pluginDir") return "plugin";
147
+ return "unknown";
148
+ }
149
+ function extractDescriptionFromMarkdown(markdown, fallback) {
150
+ const lines = markdown.split(/\r?\n/);
151
+ for (const line of lines) {
152
+ const trimmed = line.trim();
153
+ if (!trimmed) continue;
154
+ const heading = trimmed.match(/^#{1,6}\s+(.*)$/);
155
+ if (heading?.[1]) return heading[1].trim();
156
+ return trimmed.length > 120 ? `${trimmed.slice(0, 117)}...` : trimmed;
157
+ }
158
+ return fallback;
159
+ }
160
+ function namespaceFromDirPath(dirPath, baseDir) {
161
+ const relPath = relative(baseDir, dirPath);
162
+ if (!relPath || relPath === "." || relPath.startsWith("..")) return "";
163
+ return relPath.split(sep).join(":");
164
+ }
165
+ function nameForCommandFile(filePath, baseDir) {
166
+ if (isSkillMarkdownFile(filePath)) {
167
+ const skillDir = dirname(filePath);
168
+ const parentDir = dirname(skillDir);
169
+ const skillName = basename(skillDir);
170
+ const namespace2 = namespaceFromDirPath(parentDir, baseDir);
171
+ return namespace2 ? `${namespace2}:${skillName}` : skillName;
172
+ }
173
+ const dir = dirname(filePath);
174
+ const namespace = namespaceFromDirPath(dir, baseDir);
175
+ const fileName = basename(filePath).replace(/\.md$/i, "");
176
+ return namespace ? `${namespace}:${fileName}` : fileName;
177
+ }
178
+ function buildPluginQualifiedName(pluginName, localName) {
179
+ const p = pluginName.trim();
180
+ const l = localName.trim();
181
+ if (!p) return l;
182
+ if (!l || l === p) return p;
183
+ return `${p}:${l}`;
184
+ }
185
+ function nameForPluginCommandFile(filePath, commandsDir, pluginName) {
186
+ const rel = relative(commandsDir, filePath);
187
+ const noExt = rel.replace(/\.md$/i, "");
188
+ const localName = noExt.split(sep).filter(Boolean).join(":");
189
+ return buildPluginQualifiedName(pluginName, localName);
190
+ }
191
+ function createPluginPromptCommandFromFile(record) {
192
+ const name = nameForPluginCommandFile(
193
+ record.filePath,
194
+ record.commandsDir,
195
+ record.pluginName
196
+ );
197
+ if (!name) return null;
198
+ const descriptionText = record.frontmatter.description ?? extractDescriptionFromMarkdown(record.content, "Custom command");
199
+ const allowedTools = parseAllowedTools(record.frontmatter["allowed-tools"]);
200
+ const maxThinkingTokens = parseMaxThinkingTokens(record.frontmatter);
201
+ const argumentHint = record.frontmatter["argument-hint"];
202
+ const whenToUse = record.frontmatter.when_to_use;
203
+ const version = record.frontmatter.version;
204
+ const disableModelInvocation = toBoolean(
205
+ record.frontmatter["disable-model-invocation"]
206
+ );
207
+ const model = record.frontmatter.model === "inherit" ? void 0 : record.frontmatter.model;
208
+ return {
209
+ type: "prompt",
210
+ name,
211
+ description: `${descriptionText} (${sourceLabel("pluginDir")})`,
212
+ isEnabled: true,
213
+ isHidden: false,
214
+ filePath: record.filePath,
215
+ aliases: [],
216
+ progressMessage: "running",
217
+ allowedTools,
218
+ maxThinkingTokens,
219
+ argumentHint,
220
+ whenToUse,
221
+ version,
222
+ model,
223
+ isSkill: false,
224
+ disableModelInvocation,
225
+ hasUserSpecifiedDescription: !!record.frontmatter.description,
226
+ source: "pluginDir",
227
+ scope: "project",
228
+ userFacingName() {
229
+ return name;
230
+ },
231
+ async getPromptForCommand(args) {
232
+ let prompt = record.content;
233
+ const trimmedArgs = args.trim();
234
+ if (trimmedArgs) {
235
+ if (prompt.includes("$ARGUMENTS")) {
236
+ prompt = prompt.replaceAll("$ARGUMENTS", trimmedArgs);
237
+ } else {
238
+ prompt = `${prompt}
239
+
240
+ ARGUMENTS: ${trimmedArgs}`;
241
+ }
242
+ }
243
+ return [{ role: "user", content: prompt }];
244
+ }
245
+ };
246
+ }
247
+ function loadPluginCommandsFromDir(args) {
248
+ let commandsBaseDir = args.commandsDir;
249
+ let files = [];
250
+ try {
251
+ const st = statSync(args.commandsDir);
252
+ if (st.isFile()) {
253
+ if (!args.commandsDir.toLowerCase().endsWith(".md")) return [];
254
+ files = [args.commandsDir];
255
+ commandsBaseDir = dirname(args.commandsDir);
256
+ } else if (st.isDirectory()) {
257
+ files = listMarkdownFilesRecursively(args.commandsDir, args.signal);
258
+ } else {
259
+ return [];
260
+ }
261
+ } catch {
262
+ return [];
263
+ }
264
+ const out = [];
265
+ for (const filePath of files) {
266
+ if (args.signal.aborted) break;
267
+ try {
268
+ const raw = readFileSync(filePath, "utf8");
269
+ const { frontmatter, content } = parseFrontmatter(raw);
270
+ const cmd = createPluginPromptCommandFromFile({
271
+ pluginName: args.pluginName,
272
+ commandsDir: commandsBaseDir,
273
+ filePath,
274
+ frontmatter,
275
+ content
276
+ });
277
+ if (cmd) out.push(cmd);
278
+ } catch {
279
+ }
280
+ }
281
+ return out;
282
+ }
283
+ function loadPluginSkillDirectoryCommandsFromBaseDir(args) {
284
+ if (!existsSync(args.skillsDir)) return [];
285
+ const out = [];
286
+ let entries;
287
+ try {
288
+ entries = readdirSync(args.skillsDir, { withFileTypes: true });
289
+ } catch {
290
+ return [];
291
+ }
292
+ const strictMode = toBoolean(process.env.KODE_SKILLS_STRICT);
293
+ const validateName = (skillName) => {
294
+ if (skillName.length < 1 || skillName.length > 64) return false;
295
+ return /^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(skillName);
296
+ };
297
+ for (const entry of entries) {
298
+ if (!entry.isDirectory() && !entry.isSymbolicLink()) continue;
299
+ const skillDir = join(args.skillsDir, entry.name);
300
+ const skillFileCandidates = [
301
+ join(skillDir, "SKILL.md"),
302
+ join(skillDir, "skill.md")
303
+ ];
304
+ const skillFile = skillFileCandidates.find((p) => existsSync(p));
305
+ if (!skillFile) continue;
306
+ try {
307
+ const raw = readFileSync(skillFile, "utf8");
308
+ const { frontmatter, content } = parseFrontmatter(raw);
309
+ const dirName = entry.name;
310
+ const declaredName = typeof frontmatter.name === "string" ? String(frontmatter.name).trim() : "";
311
+ const effectiveDeclaredName = declaredName && declaredName === dirName ? declaredName : "";
312
+ if (declaredName && declaredName !== dirName) {
313
+ if (strictMode) continue;
314
+ debug.warn("CUSTOM_COMMAND_SKILL_NAME_MISMATCH", {
315
+ dirName,
316
+ declaredName,
317
+ skillFile
318
+ });
319
+ }
320
+ const name = buildPluginQualifiedName(args.pluginName, dirName);
321
+ if (!validateName(dirName)) {
322
+ if (strictMode) continue;
323
+ debug.warn("CUSTOM_COMMAND_SKILL_DIR_INVALID", { dirName, skillFile });
324
+ }
325
+ const descriptionText = frontmatter.description ?? extractDescriptionFromMarkdown(content, "Skill");
326
+ if (strictMode) {
327
+ const d = typeof frontmatter.description === "string" ? frontmatter.description.trim() : "";
328
+ if (!d || d.length > 1024) continue;
329
+ }
330
+ const allowedTools = parseAllowedTools(frontmatter["allowed-tools"]);
331
+ const maxThinkingTokens = parseMaxThinkingTokens(frontmatter);
332
+ const argumentHint = frontmatter["argument-hint"];
333
+ const whenToUse = frontmatter.when_to_use;
334
+ const version = frontmatter.version;
335
+ const disableModelInvocation = toBoolean(
336
+ frontmatter["disable-model-invocation"]
337
+ );
338
+ const model = frontmatter.model === "inherit" ? void 0 : frontmatter.model;
339
+ out.push({
340
+ type: "prompt",
341
+ name,
342
+ description: `${descriptionText} (${sourceLabel("pluginDir")})`,
343
+ isEnabled: true,
344
+ isHidden: true,
345
+ aliases: [],
346
+ filePath: skillFile,
347
+ progressMessage: "loading",
348
+ allowedTools,
349
+ maxThinkingTokens,
350
+ argumentHint,
351
+ whenToUse,
352
+ version,
353
+ model,
354
+ isSkill: true,
355
+ disableModelInvocation,
356
+ hasUserSpecifiedDescription: !!frontmatter.description,
357
+ source: "pluginDir",
358
+ scope: "project",
359
+ userFacingName() {
360
+ return effectiveDeclaredName ? buildPluginQualifiedName(args.pluginName, effectiveDeclaredName) : name;
361
+ },
362
+ async getPromptForCommand(argsText) {
363
+ let prompt = `Base directory for this skill: ${skillDir}
364
+
365
+ ${content}`;
366
+ const trimmedArgs = argsText.trim();
367
+ if (trimmedArgs) {
368
+ if (prompt.includes("$ARGUMENTS")) {
369
+ prompt = prompt.replaceAll("$ARGUMENTS", trimmedArgs);
370
+ } else {
371
+ prompt = `${prompt}
372
+
373
+ ARGUMENTS: ${trimmedArgs}`;
374
+ }
375
+ }
376
+ return [{ role: "user", content: prompt }];
377
+ }
378
+ });
379
+ } catch {
380
+ }
381
+ }
382
+ return out;
383
+ }
384
+ function applySkillFilePreference(files) {
385
+ const grouped = /* @__PURE__ */ new Map();
386
+ for (const file of files) {
387
+ const key = dirname(file.filePath);
388
+ const existing = grouped.get(key) ?? [];
389
+ existing.push(file);
390
+ grouped.set(key, existing);
391
+ }
392
+ const result = [];
393
+ for (const group of grouped.values()) {
394
+ const skillFiles = group.filter((f) => isSkillMarkdownFile(f.filePath));
395
+ if (skillFiles.length > 0) {
396
+ result.push(skillFiles[0]);
397
+ continue;
398
+ }
399
+ result.push(...group);
400
+ }
401
+ return result;
402
+ }
403
+ function createPromptCommandFromFile(record) {
404
+ const isSkill = isSkillMarkdownFile(record.filePath);
405
+ const name = nameForCommandFile(record.filePath, record.baseDir);
406
+ if (!name) return null;
407
+ const descriptionText = record.frontmatter.description ?? extractDescriptionFromMarkdown(
408
+ record.content,
409
+ isSkill ? "Skill" : "Custom command"
410
+ );
411
+ const allowedTools = parseAllowedTools(record.frontmatter["allowed-tools"]);
412
+ const maxThinkingTokens = parseMaxThinkingTokens(record.frontmatter);
413
+ const argumentHint = record.frontmatter["argument-hint"];
414
+ const whenToUse = record.frontmatter.when_to_use;
415
+ const version = record.frontmatter.version;
416
+ const disableModelInvocation = toBoolean(
417
+ record.frontmatter["disable-model-invocation"]
418
+ );
419
+ const model = record.frontmatter.model === "inherit" ? void 0 : record.frontmatter.model;
420
+ const description = `${descriptionText} (${sourceLabel(record.source)})`;
421
+ const progressMessage = isSkill ? "loading" : "running";
422
+ const skillBaseDir = isSkill ? dirname(record.filePath) : void 0;
423
+ return {
424
+ type: "prompt",
425
+ name,
426
+ description,
427
+ isEnabled: true,
428
+ isHidden: false,
429
+ filePath: record.filePath,
430
+ aliases: [],
431
+ progressMessage,
432
+ allowedTools,
433
+ maxThinkingTokens,
434
+ argumentHint,
435
+ whenToUse,
436
+ version,
437
+ model,
438
+ isSkill,
439
+ disableModelInvocation,
440
+ hasUserSpecifiedDescription: !!record.frontmatter.description,
441
+ source: record.source,
442
+ scope: record.scope,
443
+ userFacingName() {
444
+ return name;
445
+ },
446
+ async getPromptForCommand(args) {
447
+ let prompt = record.content;
448
+ if (isSkill && skillBaseDir) {
449
+ prompt = `Base directory for this skill: ${skillBaseDir}
450
+
451
+ ${prompt}`;
452
+ }
453
+ const trimmedArgs = args.trim();
454
+ if (trimmedArgs) {
455
+ if (prompt.includes("$ARGUMENTS")) {
456
+ prompt = prompt.replaceAll("$ARGUMENTS", trimmedArgs);
457
+ } else {
458
+ prompt = `${prompt}
459
+
460
+ ARGUMENTS: ${trimmedArgs}`;
461
+ }
462
+ }
463
+ return [{ role: "user", content: prompt }];
464
+ }
465
+ };
466
+ }
467
+ function listMarkdownFilesRecursively(baseDir, signal) {
468
+ const results = [];
469
+ const queue = [baseDir];
470
+ while (queue.length > 0) {
471
+ if (signal.aborted) break;
472
+ const currentDir = queue.pop();
473
+ let entries;
474
+ try {
475
+ entries = readdirSync(currentDir, { withFileTypes: true });
476
+ } catch {
477
+ continue;
478
+ }
479
+ for (const entry of entries) {
480
+ if (signal.aborted) break;
481
+ const fullPath = join(currentDir, entry.name);
482
+ if (entry.isDirectory()) {
483
+ queue.push(fullPath);
484
+ continue;
485
+ }
486
+ if (entry.isFile() && entry.name.toLowerCase().endsWith(".md")) {
487
+ results.push(fullPath);
488
+ }
489
+ }
490
+ }
491
+ return results;
492
+ }
493
+ function loadCommandMarkdownFilesFromBaseDir(baseDir, source, scope, signal) {
494
+ if (!existsSync(baseDir)) return [];
495
+ const files = listMarkdownFilesRecursively(baseDir, signal);
496
+ const records = [];
497
+ for (const filePath of files) {
498
+ if (signal.aborted) break;
499
+ try {
500
+ const raw = readFileSync(filePath, "utf8");
501
+ const { frontmatter, content } = parseFrontmatter(raw);
502
+ records.push({ baseDir, filePath, frontmatter, content, source, scope });
503
+ } catch {
504
+ }
505
+ }
506
+ return records;
507
+ }
508
+ function loadSkillDirectoryCommandsFromBaseDir(skillsDir, source, scope) {
509
+ if (!existsSync(skillsDir)) return [];
510
+ const out = [];
511
+ let entries;
512
+ try {
513
+ entries = readdirSync(skillsDir, { withFileTypes: true });
514
+ } catch {
515
+ return [];
516
+ }
517
+ const strictMode = toBoolean(process.env.KODE_SKILLS_STRICT);
518
+ const validateName = (skillName) => {
519
+ if (skillName.length < 1 || skillName.length > 64) return false;
520
+ return /^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(skillName);
521
+ };
522
+ for (const entry of entries) {
523
+ if (!entry.isDirectory() && !entry.isSymbolicLink()) continue;
524
+ const skillDir = join(skillsDir, entry.name);
525
+ const skillFileCandidates = [
526
+ join(skillDir, "SKILL.md"),
527
+ join(skillDir, "skill.md")
528
+ ];
529
+ const skillFile = skillFileCandidates.find((p) => existsSync(p));
530
+ if (!skillFile) continue;
531
+ try {
532
+ const raw = readFileSync(skillFile, "utf8");
533
+ const { frontmatter, content } = parseFrontmatter(raw);
534
+ const dirName = entry.name;
535
+ const declaredName = typeof frontmatter.name === "string" ? String(frontmatter.name).trim() : "";
536
+ const effectiveDeclaredName = declaredName && declaredName === dirName ? declaredName : "";
537
+ if (declaredName && declaredName !== dirName) {
538
+ if (strictMode) continue;
539
+ debug.warn("CUSTOM_COMMAND_SKILL_NAME_MISMATCH", {
540
+ dirName,
541
+ declaredName,
542
+ skillFile
543
+ });
544
+ }
545
+ const name = dirName;
546
+ if (!validateName(name)) {
547
+ if (strictMode) continue;
548
+ debug.warn("CUSTOM_COMMAND_SKILL_DIR_INVALID", { name, skillFile });
549
+ }
550
+ const descriptionText = frontmatter.description ?? extractDescriptionFromMarkdown(content, "Skill");
551
+ if (strictMode) {
552
+ const d = typeof frontmatter.description === "string" ? frontmatter.description.trim() : "";
553
+ if (!d || d.length > 1024) continue;
554
+ }
555
+ const allowedTools = parseAllowedTools(frontmatter["allowed-tools"]);
556
+ const maxThinkingTokens = parseMaxThinkingTokens(frontmatter);
557
+ const argumentHint = frontmatter["argument-hint"];
558
+ const whenToUse = frontmatter.when_to_use;
559
+ const version = frontmatter.version;
560
+ const disableModelInvocation = toBoolean(
561
+ frontmatter["disable-model-invocation"]
562
+ );
563
+ const model = frontmatter.model === "inherit" ? void 0 : frontmatter.model;
564
+ out.push({
565
+ type: "prompt",
566
+ name,
567
+ description: `${descriptionText} (${sourceLabel(source)})`,
568
+ isEnabled: true,
569
+ isHidden: true,
570
+ aliases: [],
571
+ filePath: skillFile,
572
+ progressMessage: "loading",
573
+ allowedTools,
574
+ maxThinkingTokens,
575
+ argumentHint,
576
+ whenToUse,
577
+ version,
578
+ model,
579
+ isSkill: true,
580
+ disableModelInvocation,
581
+ hasUserSpecifiedDescription: !!frontmatter.description,
582
+ source,
583
+ scope,
584
+ userFacingName() {
585
+ return effectiveDeclaredName || name;
586
+ },
587
+ async getPromptForCommand(args) {
588
+ let prompt = `Base directory for this skill: ${skillDir}
589
+
590
+ ${content}`;
591
+ const trimmedArgs = args.trim();
592
+ if (trimmedArgs) {
593
+ if (prompt.includes("$ARGUMENTS")) {
594
+ prompt = prompt.replaceAll("$ARGUMENTS", trimmedArgs);
595
+ } else {
596
+ prompt = `${prompt}
597
+
598
+ ARGUMENTS: ${trimmedArgs}`;
599
+ }
600
+ }
601
+ return [{ role: "user", content: prompt }];
602
+ }
603
+ });
604
+ } catch {
605
+ }
606
+ }
607
+ return out;
608
+ }
609
+ var loadCustomCommands = memoize(
610
+ async () => {
611
+ const cwd = getCwd();
612
+ const userKodeBaseDir = getUserKodeBaseDir();
613
+ const sessionPlugins = getSessionPlugins();
614
+ const projectLegacyCommandsDir = join(cwd, ".claude", "commands");
615
+ const userLegacyCommandsDir = join(homedir(), ".claude", "commands");
616
+ const projectKodeCommandsDir = join(cwd, ".kode", "commands");
617
+ const userKodeCommandsDir = join(userKodeBaseDir, "commands");
618
+ const projectLegacySkillsDir = join(cwd, ".claude", "skills");
619
+ const userLegacySkillsDir = join(homedir(), ".claude", "skills");
620
+ const projectKodeSkillsDir = join(cwd, ".kode", "skills");
621
+ const userKodeSkillsDir = join(userKodeBaseDir, "skills");
622
+ const abortController = new AbortController();
623
+ const timeout = setTimeout(() => abortController.abort(), 3e3);
624
+ try {
625
+ const commandFiles = applySkillFilePreference([
626
+ ...loadCommandMarkdownFilesFromBaseDir(
627
+ projectLegacyCommandsDir,
628
+ "localSettings",
629
+ "project",
630
+ abortController.signal
631
+ ),
632
+ ...loadCommandMarkdownFilesFromBaseDir(
633
+ projectKodeCommandsDir,
634
+ "localSettings",
635
+ "project",
636
+ abortController.signal
637
+ ),
638
+ ...loadCommandMarkdownFilesFromBaseDir(
639
+ userLegacyCommandsDir,
640
+ "userSettings",
641
+ "user",
642
+ abortController.signal
643
+ ),
644
+ ...loadCommandMarkdownFilesFromBaseDir(
645
+ userKodeCommandsDir,
646
+ "userSettings",
647
+ "user",
648
+ abortController.signal
649
+ )
650
+ ]);
651
+ const fileCommands = commandFiles.map(createPromptCommandFromFile).filter((cmd) => cmd !== null);
652
+ const skillDirCommands = [
653
+ ...loadSkillDirectoryCommandsFromBaseDir(
654
+ projectLegacySkillsDir,
655
+ "localSettings",
656
+ "project"
657
+ ),
658
+ ...loadSkillDirectoryCommandsFromBaseDir(
659
+ projectKodeSkillsDir,
660
+ "localSettings",
661
+ "project"
662
+ ),
663
+ ...loadSkillDirectoryCommandsFromBaseDir(
664
+ userLegacySkillsDir,
665
+ "userSettings",
666
+ "user"
667
+ ),
668
+ ...loadSkillDirectoryCommandsFromBaseDir(
669
+ userKodeSkillsDir,
670
+ "userSettings",
671
+ "user"
672
+ )
673
+ ];
674
+ const pluginCommands = [];
675
+ if (sessionPlugins.length > 0) {
676
+ for (const plugin of sessionPlugins) {
677
+ for (const commandsDir of plugin.commandsDirs) {
678
+ pluginCommands.push(
679
+ ...loadPluginCommandsFromDir({
680
+ pluginName: plugin.name,
681
+ commandsDir,
682
+ signal: abortController.signal
683
+ })
684
+ );
685
+ }
686
+ for (const skillsDir of plugin.skillsDirs) {
687
+ pluginCommands.push(
688
+ ...loadPluginSkillDirectoryCommandsFromBaseDir({
689
+ pluginName: plugin.name,
690
+ skillsDir
691
+ })
692
+ );
693
+ }
694
+ }
695
+ }
696
+ const ordered = [
697
+ ...fileCommands,
698
+ ...skillDirCommands,
699
+ ...pluginCommands
700
+ ].filter((cmd) => cmd.isEnabled);
701
+ const seen = /* @__PURE__ */ new Set();
702
+ const unique = [];
703
+ for (const cmd of ordered) {
704
+ const key = cmd.userFacingName();
705
+ if (seen.has(key)) continue;
706
+ seen.add(key);
707
+ unique.push(cmd);
708
+ }
709
+ return unique;
710
+ } catch (error) {
711
+ logError(error);
712
+ debug.warn("CUSTOM_COMMANDS_LOAD_FAILED", {
713
+ error: error instanceof Error ? error.message : String(error)
714
+ });
715
+ return [];
716
+ } finally {
717
+ clearTimeout(timeout);
718
+ }
719
+ },
720
+ () => {
721
+ const cwd = getCwd();
722
+ const userKodeBaseDir = getUserKodeBaseDir();
723
+ const dirs = [
724
+ join(homedir(), ".claude", "commands"),
725
+ join(cwd, ".claude", "commands"),
726
+ join(userKodeBaseDir, "commands"),
727
+ join(cwd, ".kode", "commands"),
728
+ join(homedir(), ".claude", "skills"),
729
+ join(cwd, ".claude", "skills"),
730
+ join(userKodeBaseDir, "skills"),
731
+ join(cwd, ".kode", "skills")
732
+ ];
733
+ const exists = dirs.map((d) => existsSync(d) ? "1" : "0").join("");
734
+ return `${cwd}:${exists}:${Math.floor(Date.now() / 6e4)}`;
735
+ }
736
+ );
737
+ var reloadCustomCommands = () => {
738
+ loadCustomCommands.cache.clear();
739
+ };
740
+ function getCustomCommandDirectories() {
741
+ const userKodeBaseDir = getUserKodeBaseDir();
742
+ return {
743
+ userClaudeCommands: join(homedir(), ".claude", "commands"),
744
+ projectClaudeCommands: join(getCwd(), ".claude", "commands"),
745
+ userClaudeSkills: join(homedir(), ".claude", "skills"),
746
+ projectClaudeSkills: join(getCwd(), ".claude", "skills"),
747
+ userKodeCommands: join(userKodeBaseDir, "commands"),
748
+ projectKodeCommands: join(getCwd(), ".kode", "commands"),
749
+ userKodeSkills: join(userKodeBaseDir, "skills"),
750
+ projectKodeSkills: join(getCwd(), ".kode", "skills")
751
+ };
752
+ }
753
+ function hasCustomCommands() {
754
+ const dirs = getCustomCommandDirectories();
755
+ return existsSync(dirs.userClaudeCommands) || existsSync(dirs.projectClaudeCommands) || existsSync(dirs.userClaudeSkills) || existsSync(dirs.projectClaudeSkills) || existsSync(dirs.userKodeCommands) || existsSync(dirs.projectKodeCommands) || existsSync(dirs.userKodeSkills) || existsSync(dirs.projectKodeSkills);
756
+ }
757
+
758
+ export {
759
+ executeBashCommands,
760
+ resolveFileReferences,
761
+ parseFrontmatter,
762
+ loadCustomCommands,
763
+ reloadCustomCommands,
764
+ getCustomCommandDirectories,
765
+ hasCustomCommands
766
+ };