@shareai-lab/kode 1.1.23 → 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 (726) hide show
  1. package/README.md +25 -404
  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/chunk-3IN27HA5.js +128 -0
  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 -15
  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 -326
  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 -31
  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 -501
  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 -1029
  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 -1122
  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 -143
  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 -596
  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 -293
  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 +0 -360
  633. package/dist/utils/autoUpdater.js.map +0 -7
  634. package/dist/utils/betas.js +0 -21
  635. package/dist/utils/betas.js.map +0 -7
  636. package/dist/utils/browser.js +0 -15
  637. package/dist/utils/browser.js.map +0 -7
  638. package/dist/utils/cleanup.js +0 -54
  639. package/dist/utils/cleanup.js.map +0 -7
  640. package/dist/utils/commands.js +0 -207
  641. package/dist/utils/commands.js.map +0 -7
  642. package/dist/utils/commonUnixCommands.js +0 -687
  643. package/dist/utils/commonUnixCommands.js.map +0 -7
  644. package/dist/utils/config.js.map +0 -7
  645. package/dist/utils/conversationRecovery.js +0 -35
  646. package/dist/utils/conversationRecovery.js.map +0 -7
  647. package/dist/utils/debugLogger.js.map +0 -7
  648. package/dist/utils/diff.js +0 -32
  649. package/dist/utils/diff.js.map +0 -7
  650. package/dist/utils/env.js +0 -44
  651. package/dist/utils/env.js.map +0 -7
  652. package/dist/utils/errors.js +0 -23
  653. package/dist/utils/errors.js.map +0 -7
  654. package/dist/utils/exampleCommands.js +0 -80
  655. package/dist/utils/exampleCommands.js.map +0 -7
  656. package/dist/utils/execFileNoThrow.js +0 -44
  657. package/dist/utils/execFileNoThrow.js.map +0 -7
  658. package/dist/utils/expertChatStorage.js +0 -78
  659. package/dist/utils/expertChatStorage.js.map +0 -7
  660. package/dist/utils/file.js +0 -282
  661. package/dist/utils/file.js.map +0 -7
  662. package/dist/utils/fileRecoveryCore.js +0 -41
  663. package/dist/utils/fileRecoveryCore.js.map +0 -7
  664. package/dist/utils/format.js +0 -41
  665. package/dist/utils/format.js.map +0 -7
  666. package/dist/utils/fuzzyMatcher.js +0 -252
  667. package/dist/utils/fuzzyMatcher.js.map +0 -7
  668. package/dist/utils/generators.js +0 -46
  669. package/dist/utils/generators.js.map +0 -7
  670. package/dist/utils/git.js +0 -83
  671. package/dist/utils/git.js.map +0 -7
  672. package/dist/utils/globalLogger.js +0 -54
  673. package/dist/utils/globalLogger.js.map +0 -7
  674. package/dist/utils/http.js +0 -7
  675. package/dist/utils/http.js.map +0 -7
  676. package/dist/utils/imagePaste.js +0 -29
  677. package/dist/utils/imagePaste.js.map +0 -7
  678. package/dist/utils/json.js +0 -16
  679. package/dist/utils/json.js.map +0 -7
  680. package/dist/utils/log.js +0 -298
  681. package/dist/utils/log.js.map +0 -7
  682. package/dist/utils/markdown.js +0 -187
  683. package/dist/utils/markdown.js.map +0 -7
  684. package/dist/utils/messageContextManager.js +0 -195
  685. package/dist/utils/messageContextManager.js.map +0 -7
  686. package/dist/utils/messages.js +0 -633
  687. package/dist/utils/messages.js.map +0 -7
  688. package/dist/utils/model.js.map +0 -7
  689. package/dist/utils/permissions/filesystem.js +0 -80
  690. package/dist/utils/permissions/filesystem.js.map +0 -7
  691. package/dist/utils/responseState.js +0 -20
  692. package/dist/utils/responseState.js.map +0 -7
  693. package/dist/utils/ripgrep.js +0 -131
  694. package/dist/utils/ripgrep.js.map +0 -7
  695. package/dist/utils/secureFile.js +0 -483
  696. package/dist/utils/secureFile.js.map +0 -7
  697. package/dist/utils/sessionState.js +0 -31
  698. package/dist/utils/sessionState.js.map +0 -7
  699. package/dist/utils/state.js +0 -24
  700. package/dist/utils/state.js.map +0 -7
  701. package/dist/utils/style.js +0 -31
  702. package/dist/utils/style.js.map +0 -7
  703. package/dist/utils/terminal.js +0 -43
  704. package/dist/utils/terminal.js.map +0 -7
  705. package/dist/utils/theme.js.map +0 -7
  706. package/dist/utils/thinking.js +0 -103
  707. package/dist/utils/thinking.js.map +0 -7
  708. package/dist/utils/todoStorage.js +0 -291
  709. package/dist/utils/todoStorage.js.map +0 -7
  710. package/dist/utils/tokens.js +0 -30
  711. package/dist/utils/tokens.js.map +0 -7
  712. package/dist/utils/toolExecutionController.js +0 -109
  713. package/dist/utils/toolExecutionController.js.map +0 -7
  714. package/dist/utils/unaryLogging.js +0 -14
  715. package/dist/utils/unaryLogging.js.map +0 -7
  716. package/dist/utils/user.js +0 -40
  717. package/dist/utils/user.js.map +0 -7
  718. package/dist/utils/validate.js +0 -132
  719. package/dist/utils/validate.js.map +0 -7
  720. /package/dist/{Tool.js.map → REPL-CW7AYLVL.js.map} +0 -0
  721. /package/dist/{components/CustomSelect/theme.js.map → autoUpdater-ITPIHCOI.js.map} +0 -0
  722. /package/dist/{types/common.d.js.map → chunk-JC6NCUG5.js.map} +0 -0
  723. /package/dist/{types/conversation.js.map → commands-2BF2CJ3A.js.map} +0 -0
  724. /package/dist/{types/logs.js.map → config-RUSD6G5Y.js.map} +0 -0
  725. /package/dist/{types/modelCapabilities.js.map → context-6FXPETYH.js.map} +0 -0
  726. /package/dist/{types/notebook.js.map → costTracker-6SL26FDB.js.map} +0 -0
@@ -1,64 +0,0 @@
1
- import { Box, Text } from "ink";
2
- import React from "react";
3
- import { SelectOption } from "./select-option.js";
4
- import { useSelectState } from "./use-select-state.js";
5
- import { useSelect } from "./use-select.js";
6
- import { getTheme } from "../../utils/theme.js";
7
- const optionHeaderKey = (optionHeader) => `HEADER-${optionHeader.optionValues.join(",")}`;
8
- function Select({
9
- isDisabled = false,
10
- visibleOptionCount = 5,
11
- highlightText,
12
- options,
13
- defaultValue,
14
- onChange,
15
- onFocus,
16
- focusValue
17
- }) {
18
- const state = useSelectState({
19
- visibleOptionCount,
20
- options,
21
- defaultValue,
22
- onChange,
23
- onFocus,
24
- focusValue
25
- });
26
- useSelect({ isDisabled, state });
27
- const appTheme = getTheme();
28
- const styles = {
29
- container: () => ({
30
- flexDirection: "column"
31
- }),
32
- highlightedText: () => ({
33
- color: appTheme.text,
34
- backgroundColor: appTheme.warning
35
- })
36
- };
37
- return /* @__PURE__ */ React.createElement(Box, { ...styles.container() }, state.visibleOptions.map((option) => {
38
- const key = "value" in option ? option.value : optionHeaderKey(option);
39
- const isFocused = !isDisabled && state.focusedValue !== void 0 && ("value" in option ? state.focusedValue === option.value : option.optionValues.includes(state.focusedValue));
40
- const isSelected = !!state.value && ("value" in option ? state.value === option.value : option.optionValues.includes(state.value));
41
- const smallPointer = "header" in option;
42
- const labelText = "label" in option ? option.label : option.header;
43
- let label = labelText;
44
- if (highlightText && labelText.includes(highlightText)) {
45
- const index = labelText.indexOf(highlightText);
46
- label = /* @__PURE__ */ React.createElement(React.Fragment, null, labelText.slice(0, index), /* @__PURE__ */ React.createElement(Text, { ...styles.highlightedText() }, highlightText), labelText.slice(index + highlightText.length));
47
- }
48
- return /* @__PURE__ */ React.createElement(
49
- SelectOption,
50
- {
51
- key,
52
- isFocused,
53
- isSelected,
54
- smallPointer,
55
- children: label
56
- }
57
- );
58
- }));
59
- }
60
- export {
61
- Select,
62
- optionHeaderKey
63
- };
64
- //# sourceMappingURL=select.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/CustomSelect/select.tsx"],
4
- "sourcesContent": ["import { Box, Text } from 'ink'\nimport React, { type ReactNode } from 'react'\nimport { SelectOption } from './select-option'\nimport { type Theme } from './theme'\nimport { useSelectState } from './use-select-state'\nimport { useSelect } from './use-select'\nimport { Option } from '@inkjs/ui'\nimport { getTheme } from '../../utils/theme'\n\nexport type OptionSubtree = {\n /**\n * Header to show above sub-options.\n */\n readonly header?: string\n\n /**\n * Options.\n */\n readonly options: (Option | OptionSubtree)[]\n}\n\nexport type OptionHeader = {\n readonly header: string\n\n readonly optionValues: string[]\n}\n\nexport const optionHeaderKey = (optionHeader: OptionHeader): string =>\n `HEADER-${optionHeader.optionValues.join(',')}`\n\nexport type SelectProps = {\n /**\n * When disabled, user input is ignored.\n *\n * @default false\n */\n readonly isDisabled?: boolean\n\n /**\n * Number of visible options.\n *\n * @default 5\n */\n readonly visibleOptionCount?: number\n\n /**\n * Highlight text in option labels.\n */\n readonly highlightText?: string\n\n /**\n * Options.\n */\n readonly options: (Option | OptionSubtree)[]\n\n /**\n * Default value.\n */\n readonly defaultValue?: string\n\n /**\n * Callback when selected option changes.\n */\n readonly onChange?: (value: string) => void\n\n /**\n * Callback when focused option changes.\n */\n readonly onFocus?: (value: string) => void\n\n /**\n * Value to focus\n */\n readonly focusValue?: string\n}\n\nexport function Select({\n isDisabled = false,\n visibleOptionCount = 5,\n highlightText,\n options,\n defaultValue,\n onChange,\n onFocus,\n focusValue,\n}: SelectProps) {\n const state = useSelectState({\n visibleOptionCount,\n options,\n defaultValue,\n onChange,\n onFocus,\n focusValue,\n })\n\n useSelect({ isDisabled, state })\n\n const appTheme = getTheme()\n const styles = {\n container: () => ({\n flexDirection: 'column' as const,\n }),\n highlightedText: () => ({\n color: appTheme.text,\n backgroundColor: appTheme.warning,\n }),\n }\n\n return (\n <Box {...styles.container()}>\n {state.visibleOptions.map(option => {\n const key = 'value' in option ? option.value : optionHeaderKey(option)\n const isFocused =\n !isDisabled &&\n state.focusedValue !== undefined &&\n ('value' in option\n ? state.focusedValue === option.value\n : option.optionValues.includes(state.focusedValue))\n const isSelected =\n !!state.value &&\n ('value' in option\n ? state.value === option.value\n : option.optionValues.includes(state.value))\n const smallPointer = 'header' in option\n const labelText = 'label' in option ? option.label : option.header\n let label: ReactNode = labelText\n\n if (highlightText && labelText.includes(highlightText)) {\n const index = labelText.indexOf(highlightText)\n\n label = (\n <>\n {labelText.slice(0, index)}\n <Text {...styles.highlightedText()}>{highlightText}</Text>\n {labelText.slice(index + highlightText.length)}\n </>\n )\n }\n\n return (\n <SelectOption\n key={key}\n isFocused={isFocused}\n isSelected={isSelected}\n smallPointer={smallPointer}\n children={label}\n />\n )\n })}\n </Box>\n )\n}\n"],
5
- "mappings": "AAAA,SAAS,KAAK,YAAY;AAC1B,OAAO,WAA+B;AACtC,SAAS,oBAAoB;AAE7B,SAAS,sBAAsB;AAC/B,SAAS,iBAAiB;AAE1B,SAAS,gBAAgB;AAoBlB,MAAM,kBAAkB,CAAC,iBAC9B,UAAU,aAAa,aAAa,KAAK,GAAG,CAAC;AAgDxC,SAAS,OAAO;AAAA,EACrB,aAAa;AAAA,EACb,qBAAqB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAgB;AACd,QAAM,QAAQ,eAAe;AAAA,IAC3B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,YAAU,EAAE,YAAY,MAAM,CAAC;AAE/B,QAAM,WAAW,SAAS;AAC1B,QAAM,SAAS;AAAA,IACb,WAAW,OAAO;AAAA,MAChB,eAAe;AAAA,IACjB;AAAA,IACA,iBAAiB,OAAO;AAAA,MACtB,OAAO,SAAS;AAAA,MAChB,iBAAiB,SAAS;AAAA,IAC5B;AAAA,EACF;AAEA,SACE,oCAAC,OAAK,GAAG,OAAO,UAAU,KACvB,MAAM,eAAe,IAAI,YAAU;AAClC,UAAM,MAAM,WAAW,SAAS,OAAO,QAAQ,gBAAgB,MAAM;AACrE,UAAM,YACJ,CAAC,cACD,MAAM,iBAAiB,WACtB,WAAW,SACR,MAAM,iBAAiB,OAAO,QAC9B,OAAO,aAAa,SAAS,MAAM,YAAY;AACrD,UAAM,aACJ,CAAC,CAAC,MAAM,UACP,WAAW,SACR,MAAM,UAAU,OAAO,QACvB,OAAO,aAAa,SAAS,MAAM,KAAK;AAC9C,UAAM,eAAe,YAAY;AACjC,UAAM,YAAY,WAAW,SAAS,OAAO,QAAQ,OAAO;AAC5D,QAAI,QAAmB;AAEvB,QAAI,iBAAiB,UAAU,SAAS,aAAa,GAAG;AACtD,YAAM,QAAQ,UAAU,QAAQ,aAAa;AAE7C,cACE,0DACG,UAAU,MAAM,GAAG,KAAK,GACzB,oCAAC,QAAM,GAAG,OAAO,gBAAgB,KAAI,aAAc,GAClD,UAAU,MAAM,QAAQ,cAAc,MAAM,CAC/C;AAAA,IAEJ;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA;AAAA,IACZ;AAAA,EAEJ,CAAC,CACH;AAEJ;",
6
- "names": []
7
- }
@@ -1 +0,0 @@
1
- //# sourceMappingURL=theme.js.map
@@ -1,220 +0,0 @@
1
- import { isDeepStrictEqual } from "node:util";
2
- import {
3
- useReducer,
4
- useCallback,
5
- useMemo,
6
- useState,
7
- useEffect
8
- } from "react";
9
- import OptionMap from "./option-map.js";
10
- const reducer = (state, action) => {
11
- switch (action.type) {
12
- case "focus-next-option": {
13
- if (!state.focusedValue) {
14
- return state;
15
- }
16
- const item = state.optionMap.get(state.focusedValue);
17
- if (!item) {
18
- return state;
19
- }
20
- let next = item.next;
21
- while (next && !("value" in next)) {
22
- next = next.next;
23
- }
24
- if (!next) {
25
- return state;
26
- }
27
- const needsToScroll = next.index >= state.visibleToIndex;
28
- if (!needsToScroll) {
29
- return {
30
- ...state,
31
- focusedValue: next.value
32
- };
33
- }
34
- const nextVisibleToIndex = Math.min(
35
- state.optionMap.size,
36
- state.visibleToIndex + 1
37
- );
38
- const nextVisibleFromIndex = nextVisibleToIndex - state.visibleOptionCount;
39
- return {
40
- ...state,
41
- focusedValue: next.value,
42
- visibleFromIndex: nextVisibleFromIndex,
43
- visibleToIndex: nextVisibleToIndex
44
- };
45
- }
46
- case "focus-previous-option": {
47
- if (!state.focusedValue) {
48
- return state;
49
- }
50
- const item = state.optionMap.get(state.focusedValue);
51
- if (!item) {
52
- return state;
53
- }
54
- let previous = item.previous;
55
- while (previous && !("value" in previous)) {
56
- previous = previous.previous;
57
- }
58
- if (!previous) {
59
- return state;
60
- }
61
- const needsToScroll = previous.index <= state.visibleFromIndex;
62
- if (!needsToScroll) {
63
- return {
64
- ...state,
65
- focusedValue: previous.value
66
- };
67
- }
68
- const nextVisibleFromIndex = Math.max(0, state.visibleFromIndex - 1);
69
- const nextVisibleToIndex = nextVisibleFromIndex + state.visibleOptionCount;
70
- return {
71
- ...state,
72
- focusedValue: previous.value,
73
- visibleFromIndex: nextVisibleFromIndex,
74
- visibleToIndex: nextVisibleToIndex
75
- };
76
- }
77
- case "select-focused-option": {
78
- return {
79
- ...state,
80
- previousValue: state.value,
81
- value: state.focusedValue
82
- };
83
- }
84
- case "reset": {
85
- return action.state;
86
- }
87
- case "set-focus": {
88
- return {
89
- ...state,
90
- focusedValue: action.value
91
- };
92
- }
93
- }
94
- };
95
- const flattenOptions = (options) => options.flatMap((option) => {
96
- if ("options" in option) {
97
- const flatSubtree = flattenOptions(option.options);
98
- const optionValues = flatSubtree.flatMap(
99
- (o) => "value" in o ? o.value : []
100
- );
101
- const header = option.header !== void 0 ? [{ header: option.header, optionValues }] : [];
102
- return [...header, ...flatSubtree];
103
- }
104
- return option;
105
- });
106
- const createDefaultState = ({
107
- visibleOptionCount: customVisibleOptionCount,
108
- defaultValue,
109
- options
110
- }) => {
111
- const flatOptions = flattenOptions(options);
112
- const visibleOptionCount = typeof customVisibleOptionCount === "number" ? Math.min(customVisibleOptionCount, flatOptions.length) : flatOptions.length;
113
- const optionMap = new OptionMap(flatOptions);
114
- const firstOption = optionMap.first;
115
- let focusedValue;
116
- if (defaultValue && optionMap.get(defaultValue)) {
117
- focusedValue = defaultValue;
118
- } else {
119
- focusedValue = firstOption && "value" in firstOption ? firstOption.value : void 0;
120
- }
121
- let visibleFromIndex = 0;
122
- let visibleToIndex = visibleOptionCount;
123
- if (focusedValue && optionMap.get(focusedValue)) {
124
- const focusedIndex = optionMap.get(focusedValue).index;
125
- const halfVisible = Math.floor(visibleOptionCount / 2);
126
- visibleFromIndex = Math.max(0, focusedIndex - halfVisible);
127
- visibleToIndex = Math.min(
128
- flatOptions.length,
129
- visibleFromIndex + visibleOptionCount
130
- );
131
- if (visibleToIndex - visibleFromIndex < visibleOptionCount) {
132
- visibleFromIndex = Math.max(0, visibleToIndex - visibleOptionCount);
133
- }
134
- }
135
- return {
136
- optionMap,
137
- visibleOptionCount,
138
- focusedValue,
139
- visibleFromIndex,
140
- visibleToIndex,
141
- previousValue: defaultValue,
142
- value: defaultValue
143
- };
144
- };
145
- const useSelectState = ({
146
- visibleOptionCount = 5,
147
- options,
148
- defaultValue,
149
- onChange,
150
- onFocus,
151
- focusValue
152
- }) => {
153
- const flatOptions = flattenOptions(options);
154
- const [state, dispatch] = useReducer(
155
- reducer,
156
- { visibleOptionCount, defaultValue, options },
157
- createDefaultState
158
- );
159
- const [lastOptions, setLastOptions] = useState(flatOptions);
160
- if (flatOptions !== lastOptions && !isDeepStrictEqual(flatOptions, lastOptions)) {
161
- dispatch({
162
- type: "reset",
163
- state: createDefaultState({ visibleOptionCount, defaultValue, options })
164
- });
165
- setLastOptions(flatOptions);
166
- }
167
- const focusNextOption = useCallback(() => {
168
- dispatch({
169
- type: "focus-next-option"
170
- });
171
- }, []);
172
- const focusPreviousOption = useCallback(() => {
173
- dispatch({
174
- type: "focus-previous-option"
175
- });
176
- }, []);
177
- const selectFocusedOption = useCallback(() => {
178
- dispatch({
179
- type: "select-focused-option"
180
- });
181
- }, []);
182
- const visibleOptions = useMemo(() => {
183
- return flatOptions.map((option, index) => ({
184
- ...option,
185
- index
186
- })).slice(state.visibleFromIndex, state.visibleToIndex);
187
- }, [flatOptions, state.visibleFromIndex, state.visibleToIndex]);
188
- useEffect(() => {
189
- if (state.value && state.previousValue !== state.value) {
190
- onChange?.(state.value);
191
- }
192
- }, [state.previousValue, state.value, options, onChange]);
193
- useEffect(() => {
194
- if (state.focusedValue) {
195
- onFocus?.(state.focusedValue);
196
- }
197
- }, [state.focusedValue, onFocus]);
198
- useEffect(() => {
199
- if (focusValue) {
200
- dispatch({
201
- type: "set-focus",
202
- value: focusValue
203
- });
204
- }
205
- }, [focusValue]);
206
- return {
207
- focusedValue: state.focusedValue,
208
- visibleFromIndex: state.visibleFromIndex,
209
- visibleToIndex: state.visibleToIndex,
210
- value: state.value,
211
- visibleOptions,
212
- focusNextOption,
213
- focusPreviousOption,
214
- selectFocusedOption
215
- };
216
- };
217
- export {
218
- useSelectState
219
- };
220
- //# sourceMappingURL=use-select-state.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/CustomSelect/use-select-state.ts"],
4
- "sourcesContent": ["import { isDeepStrictEqual } from 'node:util'\nimport {\n useReducer,\n type Reducer,\n useCallback,\n useMemo,\n useState,\n useEffect,\n} from 'react'\nimport OptionMap from './option-map'\nimport { Option } from '@inkjs/ui'\nimport type { OptionHeader, OptionSubtree } from './select'\n\ntype State = {\n /**\n * Map where key is option's value and value is option's index.\n */\n optionMap: OptionMap\n\n /**\n * Number of visible options.\n */\n visibleOptionCount: number\n\n /**\n * Value of the currently focused option.\n */\n focusedValue: string | undefined\n\n /**\n * Index of the first visible option.\n */\n visibleFromIndex: number\n\n /**\n * Index of the last visible option.\n */\n visibleToIndex: number\n\n /**\n * Value of the previously selected option.\n */\n previousValue: string | undefined\n\n /**\n * Value of the selected option.\n */\n value: string | undefined\n}\n\ntype Action =\n | FocusNextOptionAction\n | FocusPreviousOptionAction\n | SelectFocusedOptionAction\n | SetFocusAction\n | ResetAction\n\ntype SetFocusAction = {\n type: 'set-focus'\n value: string\n}\n\ntype FocusNextOptionAction = {\n type: 'focus-next-option'\n}\n\ntype FocusPreviousOptionAction = {\n type: 'focus-previous-option'\n}\n\ntype SelectFocusedOptionAction = {\n type: 'select-focused-option'\n}\n\ntype ResetAction = {\n type: 'reset'\n state: State\n}\n\nconst reducer: Reducer<State, Action> = (state, action) => {\n switch (action.type) {\n case 'focus-next-option': {\n if (!state.focusedValue) {\n return state\n }\n\n const item = state.optionMap.get(state.focusedValue)\n\n if (!item) {\n return state\n }\n\n let next = item.next\n while (next && !('value' in next)) {\n // Skip headers\n next = next.next\n }\n\n if (!next) {\n return state\n }\n\n const needsToScroll = next.index >= state.visibleToIndex\n\n if (!needsToScroll) {\n return {\n ...state,\n focusedValue: next.value,\n }\n }\n\n const nextVisibleToIndex = Math.min(\n state.optionMap.size,\n state.visibleToIndex + 1,\n )\n\n const nextVisibleFromIndex = nextVisibleToIndex - state.visibleOptionCount\n\n return {\n ...state,\n focusedValue: next.value,\n visibleFromIndex: nextVisibleFromIndex,\n visibleToIndex: nextVisibleToIndex,\n }\n }\n\n case 'focus-previous-option': {\n if (!state.focusedValue) {\n return state\n }\n\n const item = state.optionMap.get(state.focusedValue)\n\n if (!item) {\n return state\n }\n\n let previous = item.previous\n while (previous && !('value' in previous)) {\n // Skip headers\n previous = previous.previous\n }\n\n if (!previous) {\n return state\n }\n\n const needsToScroll = previous.index <= state.visibleFromIndex\n\n if (!needsToScroll) {\n return {\n ...state,\n focusedValue: previous.value,\n }\n }\n\n const nextVisibleFromIndex = Math.max(0, state.visibleFromIndex - 1)\n\n const nextVisibleToIndex = nextVisibleFromIndex + state.visibleOptionCount\n\n return {\n ...state,\n focusedValue: previous.value,\n visibleFromIndex: nextVisibleFromIndex,\n visibleToIndex: nextVisibleToIndex,\n }\n }\n\n case 'select-focused-option': {\n return {\n ...state,\n previousValue: state.value,\n value: state.focusedValue,\n }\n }\n\n case 'reset': {\n return action.state\n }\n\n case 'set-focus': {\n return {\n ...state,\n focusedValue: action.value,\n }\n }\n }\n}\n\nexport type UseSelectStateProps = {\n /**\n * Number of items to display.\n *\n * @default 5\n */\n visibleOptionCount?: number\n\n /**\n * Options.\n */\n options: (Option | OptionSubtree)[]\n\n /**\n * Initially selected option's value.\n */\n defaultValue?: string\n\n /**\n * Callback for selecting an option.\n */\n onChange?: (value: string) => void\n\n /**\n * Callback for focusing an option.\n */\n onFocus?: (value: string) => void\n\n /**\n * Value to focus\n */\n focusValue?: string\n}\n\nexport type SelectState = Pick<\n State,\n 'focusedValue' | 'visibleFromIndex' | 'visibleToIndex' | 'value'\n> & {\n /**\n * Visible options.\n */\n visibleOptions: Array<(Option | OptionHeader) & { index: number }>\n\n /**\n * Focus next option and scroll the list down, if needed.\n */\n focusNextOption: () => void\n\n /**\n * Focus previous option and scroll the list up, if needed.\n */\n focusPreviousOption: () => void\n\n /**\n * Select currently focused option.\n */\n selectFocusedOption: () => void\n}\n\nconst flattenOptions = (\n options: (Option | OptionSubtree)[],\n): (Option | OptionHeader)[] =>\n options.flatMap(option => {\n if ('options' in option) {\n const flatSubtree = flattenOptions(option.options)\n const optionValues = flatSubtree.flatMap(o =>\n 'value' in o ? o.value : [],\n )\n const header =\n option.header !== undefined\n ? [{ header: option.header, optionValues }]\n : []\n\n return [...header, ...flatSubtree]\n }\n return option\n })\n\nconst createDefaultState = ({\n visibleOptionCount: customVisibleOptionCount,\n defaultValue,\n options,\n}: Pick<\n UseSelectStateProps,\n 'visibleOptionCount' | 'defaultValue' | 'options'\n>) => {\n const flatOptions = flattenOptions(options)\n\n const visibleOptionCount =\n typeof customVisibleOptionCount === 'number'\n ? Math.min(customVisibleOptionCount, flatOptions.length)\n : flatOptions.length\n\n const optionMap = new OptionMap(flatOptions)\n const firstOption = optionMap.first\n\n // Use defaultValue for focusedValue if it exists and is valid, otherwise use first option\n let focusedValue: string | undefined\n if (defaultValue && optionMap.get(defaultValue)) {\n focusedValue = defaultValue\n } else {\n focusedValue =\n firstOption && 'value' in firstOption ? firstOption.value : undefined\n }\n\n // Calculate visible range based on focused value\n let visibleFromIndex = 0\n let visibleToIndex = visibleOptionCount\n\n if (focusedValue && optionMap.get(focusedValue)) {\n const focusedIndex = optionMap.get(focusedValue)!.index\n // Center the focused option in the visible area if possible\n const halfVisible = Math.floor(visibleOptionCount / 2)\n visibleFromIndex = Math.max(0, focusedIndex - halfVisible)\n visibleToIndex = Math.min(\n flatOptions.length,\n visibleFromIndex + visibleOptionCount,\n )\n\n // Adjust if we can't show enough items at the end\n if (visibleToIndex - visibleFromIndex < visibleOptionCount) {\n visibleFromIndex = Math.max(0, visibleToIndex - visibleOptionCount)\n }\n }\n\n return {\n optionMap,\n visibleOptionCount,\n focusedValue,\n visibleFromIndex,\n visibleToIndex,\n previousValue: defaultValue,\n value: defaultValue,\n }\n}\n\nexport const useSelectState = ({\n visibleOptionCount = 5,\n options,\n defaultValue,\n onChange,\n onFocus,\n focusValue,\n}: UseSelectStateProps) => {\n const flatOptions = flattenOptions(options)\n\n const [state, dispatch] = useReducer(\n reducer,\n { visibleOptionCount, defaultValue, options },\n createDefaultState,\n )\n\n const [lastOptions, setLastOptions] = useState(flatOptions)\n\n if (\n flatOptions !== lastOptions &&\n !isDeepStrictEqual(flatOptions, lastOptions)\n ) {\n dispatch({\n type: 'reset',\n state: createDefaultState({ visibleOptionCount, defaultValue, options }),\n })\n\n setLastOptions(flatOptions)\n }\n\n const focusNextOption = useCallback(() => {\n dispatch({\n type: 'focus-next-option',\n })\n }, [])\n\n const focusPreviousOption = useCallback(() => {\n dispatch({\n type: 'focus-previous-option',\n })\n }, [])\n\n const selectFocusedOption = useCallback(() => {\n dispatch({\n type: 'select-focused-option',\n })\n }, [])\n\n const visibleOptions = useMemo(() => {\n return flatOptions\n .map((option, index) => ({\n ...option,\n index,\n }))\n .slice(state.visibleFromIndex, state.visibleToIndex)\n }, [flatOptions, state.visibleFromIndex, state.visibleToIndex])\n\n useEffect(() => {\n if (state.value && state.previousValue !== state.value) {\n onChange?.(state.value)\n }\n }, [state.previousValue, state.value, options, onChange])\n\n useEffect(() => {\n if (state.focusedValue) {\n onFocus?.(state.focusedValue)\n }\n }, [state.focusedValue, onFocus])\n\n useEffect(() => {\n if (focusValue) {\n dispatch({\n type: 'set-focus',\n value: focusValue,\n })\n }\n }, [focusValue])\n\n return {\n focusedValue: state.focusedValue,\n visibleFromIndex: state.visibleFromIndex,\n visibleToIndex: state.visibleToIndex,\n value: state.value,\n visibleOptions,\n focusNextOption,\n focusPreviousOption,\n selectFocusedOption,\n }\n}\n"],
5
- "mappings": "AAAA,SAAS,yBAAyB;AAClC;AAAA,EACE;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,OAAO,eAAe;AAsEtB,MAAM,UAAkC,CAAC,OAAO,WAAW;AACzD,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK,qBAAqB;AACxB,UAAI,CAAC,MAAM,cAAc;AACvB,eAAO;AAAA,MACT;AAEA,YAAM,OAAO,MAAM,UAAU,IAAI,MAAM,YAAY;AAEnD,UAAI,CAAC,MAAM;AACT,eAAO;AAAA,MACT;AAEA,UAAI,OAAO,KAAK;AAChB,aAAO,QAAQ,EAAE,WAAW,OAAO;AAEjC,eAAO,KAAK;AAAA,MACd;AAEA,UAAI,CAAC,MAAM;AACT,eAAO;AAAA,MACT;AAEA,YAAM,gBAAgB,KAAK,SAAS,MAAM;AAE1C,UAAI,CAAC,eAAe;AAClB,eAAO;AAAA,UACL,GAAG;AAAA,UACH,cAAc,KAAK;AAAA,QACrB;AAAA,MACF;AAEA,YAAM,qBAAqB,KAAK;AAAA,QAC9B,MAAM,UAAU;AAAA,QAChB,MAAM,iBAAiB;AAAA,MACzB;AAEA,YAAM,uBAAuB,qBAAqB,MAAM;AAExD,aAAO;AAAA,QACL,GAAG;AAAA,QACH,cAAc,KAAK;AAAA,QACnB,kBAAkB;AAAA,QAClB,gBAAgB;AAAA,MAClB;AAAA,IACF;AAAA,IAEA,KAAK,yBAAyB;AAC5B,UAAI,CAAC,MAAM,cAAc;AACvB,eAAO;AAAA,MACT;AAEA,YAAM,OAAO,MAAM,UAAU,IAAI,MAAM,YAAY;AAEnD,UAAI,CAAC,MAAM;AACT,eAAO;AAAA,MACT;AAEA,UAAI,WAAW,KAAK;AACpB,aAAO,YAAY,EAAE,WAAW,WAAW;AAEzC,mBAAW,SAAS;AAAA,MACtB;AAEA,UAAI,CAAC,UAAU;AACb,eAAO;AAAA,MACT;AAEA,YAAM,gBAAgB,SAAS,SAAS,MAAM;AAE9C,UAAI,CAAC,eAAe;AAClB,eAAO;AAAA,UACL,GAAG;AAAA,UACH,cAAc,SAAS;AAAA,QACzB;AAAA,MACF;AAEA,YAAM,uBAAuB,KAAK,IAAI,GAAG,MAAM,mBAAmB,CAAC;AAEnE,YAAM,qBAAqB,uBAAuB,MAAM;AAExD,aAAO;AAAA,QACL,GAAG;AAAA,QACH,cAAc,SAAS;AAAA,QACvB,kBAAkB;AAAA,QAClB,gBAAgB;AAAA,MAClB;AAAA,IACF;AAAA,IAEA,KAAK,yBAAyB;AAC5B,aAAO;AAAA,QACL,GAAG;AAAA,QACH,eAAe,MAAM;AAAA,QACrB,OAAO,MAAM;AAAA,MACf;AAAA,IACF;AAAA,IAEA,KAAK,SAAS;AACZ,aAAO,OAAO;AAAA,IAChB;AAAA,IAEA,KAAK,aAAa;AAChB,aAAO;AAAA,QACL,GAAG;AAAA,QACH,cAAc,OAAO;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AACF;AA6DA,MAAM,iBAAiB,CACrB,YAEA,QAAQ,QAAQ,YAAU;AACxB,MAAI,aAAa,QAAQ;AACvB,UAAM,cAAc,eAAe,OAAO,OAAO;AACjD,UAAM,eAAe,YAAY;AAAA,MAAQ,OACvC,WAAW,IAAI,EAAE,QAAQ,CAAC;AAAA,IAC5B;AACA,UAAM,SACJ,OAAO,WAAW,SACd,CAAC,EAAE,QAAQ,OAAO,QAAQ,aAAa,CAAC,IACxC,CAAC;AAEP,WAAO,CAAC,GAAG,QAAQ,GAAG,WAAW;AAAA,EACnC;AACA,SAAO;AACT,CAAC;AAEH,MAAM,qBAAqB,CAAC;AAAA,EAC1B,oBAAoB;AAAA,EACpB;AAAA,EACA;AACF,MAGM;AACJ,QAAM,cAAc,eAAe,OAAO;AAE1C,QAAM,qBACJ,OAAO,6BAA6B,WAChC,KAAK,IAAI,0BAA0B,YAAY,MAAM,IACrD,YAAY;AAElB,QAAM,YAAY,IAAI,UAAU,WAAW;AAC3C,QAAM,cAAc,UAAU;AAG9B,MAAI;AACJ,MAAI,gBAAgB,UAAU,IAAI,YAAY,GAAG;AAC/C,mBAAe;AAAA,EACjB,OAAO;AACL,mBACE,eAAe,WAAW,cAAc,YAAY,QAAQ;AAAA,EAChE;AAGA,MAAI,mBAAmB;AACvB,MAAI,iBAAiB;AAErB,MAAI,gBAAgB,UAAU,IAAI,YAAY,GAAG;AAC/C,UAAM,eAAe,UAAU,IAAI,YAAY,EAAG;AAElD,UAAM,cAAc,KAAK,MAAM,qBAAqB,CAAC;AACrD,uBAAmB,KAAK,IAAI,GAAG,eAAe,WAAW;AACzD,qBAAiB,KAAK;AAAA,MACpB,YAAY;AAAA,MACZ,mBAAmB;AAAA,IACrB;AAGA,QAAI,iBAAiB,mBAAmB,oBAAoB;AAC1D,yBAAmB,KAAK,IAAI,GAAG,iBAAiB,kBAAkB;AAAA,IACpE;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf,OAAO;AAAA,EACT;AACF;AAEO,MAAM,iBAAiB,CAAC;AAAA,EAC7B,qBAAqB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA2B;AACzB,QAAM,cAAc,eAAe,OAAO;AAE1C,QAAM,CAAC,OAAO,QAAQ,IAAI;AAAA,IACxB;AAAA,IACA,EAAE,oBAAoB,cAAc,QAAQ;AAAA,IAC5C;AAAA,EACF;AAEA,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,WAAW;AAE1D,MACE,gBAAgB,eAChB,CAAC,kBAAkB,aAAa,WAAW,GAC3C;AACA,aAAS;AAAA,MACP,MAAM;AAAA,MACN,OAAO,mBAAmB,EAAE,oBAAoB,cAAc,QAAQ,CAAC;AAAA,IACzE,CAAC;AAED,mBAAe,WAAW;AAAA,EAC5B;AAEA,QAAM,kBAAkB,YAAY,MAAM;AACxC,aAAS;AAAA,MACP,MAAM;AAAA,IACR,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,QAAM,sBAAsB,YAAY,MAAM;AAC5C,aAAS;AAAA,MACP,MAAM;AAAA,IACR,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,QAAM,sBAAsB,YAAY,MAAM;AAC5C,aAAS;AAAA,MACP,MAAM;AAAA,IACR,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,QAAM,iBAAiB,QAAQ,MAAM;AACnC,WAAO,YACJ,IAAI,CAAC,QAAQ,WAAW;AAAA,MACvB,GAAG;AAAA,MACH;AAAA,IACF,EAAE,EACD,MAAM,MAAM,kBAAkB,MAAM,cAAc;AAAA,EACvD,GAAG,CAAC,aAAa,MAAM,kBAAkB,MAAM,cAAc,CAAC;AAE9D,YAAU,MAAM;AACd,QAAI,MAAM,SAAS,MAAM,kBAAkB,MAAM,OAAO;AACtD,iBAAW,MAAM,KAAK;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,MAAM,eAAe,MAAM,OAAO,SAAS,QAAQ,CAAC;AAExD,YAAU,MAAM;AACd,QAAI,MAAM,cAAc;AACtB,gBAAU,MAAM,YAAY;AAAA,IAC9B;AAAA,EACF,GAAG,CAAC,MAAM,cAAc,OAAO,CAAC;AAEhC,YAAU,MAAM;AACd,QAAI,YAAY;AACd,eAAS;AAAA,QACP,MAAM;AAAA,QACN,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,EACF,GAAG,CAAC,UAAU,CAAC;AAEf,SAAO;AAAA,IACL,cAAc,MAAM;AAAA,IACpB,kBAAkB,MAAM;AAAA,IACxB,gBAAgB,MAAM;AAAA,IACtB,OAAO,MAAM;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
6
- "names": []
7
- }
@@ -1,21 +0,0 @@
1
- import { useInput } from "ink";
2
- const useSelect = ({ isDisabled = false, state }) => {
3
- useInput(
4
- (_input, key) => {
5
- if (key.downArrow) {
6
- state.focusNextOption();
7
- }
8
- if (key.upArrow) {
9
- state.focusPreviousOption();
10
- }
11
- if (key.return) {
12
- state.selectFocusedOption();
13
- }
14
- },
15
- { isActive: !isDisabled }
16
- );
17
- };
18
- export {
19
- useSelect
20
- };
21
- //# sourceMappingURL=use-select.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/CustomSelect/use-select.ts"],
4
- "sourcesContent": ["import { useInput } from 'ink'\nimport { type SelectState } from './use-select-state'\n\nexport type UseSelectProps = {\n /**\n * When disabled, user input is ignored.\n *\n * @default false\n */\n isDisabled?: boolean\n\n /**\n * Select state.\n */\n state: SelectState\n}\n\nexport const useSelect = ({ isDisabled = false, state }: UseSelectProps) => {\n useInput(\n (_input, key) => {\n if (key.downArrow) {\n state.focusNextOption()\n }\n\n if (key.upArrow) {\n state.focusPreviousOption()\n }\n\n if (key.return) {\n state.selectFocusedOption()\n }\n },\n { isActive: !isDisabled },\n )\n}\n"],
5
- "mappings": "AAAA,SAAS,gBAAgB;AAiBlB,MAAM,YAAY,CAAC,EAAE,aAAa,OAAO,MAAM,MAAsB;AAC1E;AAAA,IACE,CAAC,QAAQ,QAAQ;AACf,UAAI,IAAI,WAAW;AACjB,cAAM,gBAAgB;AAAA,MACxB;AAEA,UAAI,IAAI,SAAS;AACf,cAAM,oBAAoB;AAAA,MAC5B;AAEA,UAAI,IAAI,QAAQ;AACd,cAAM,oBAAoB;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,EAAE,UAAU,CAAC,WAAW;AAAA,EAC1B;AACF;",
6
- "names": []
7
- }
@@ -1,11 +0,0 @@
1
- import * as React from "react";
2
- import { getTheme } from "../utils/theme.js";
3
- import { Text } from "ink";
4
- import { PRODUCT_NAME } from "../constants/product.js";
5
- function FallbackToolUseRejectedMessage() {
6
- return /* @__PURE__ */ React.createElement(Text, null, "\xA0\xA0\u23BF \xA0", /* @__PURE__ */ React.createElement(Text, { color: getTheme().error }, "No (tell ", PRODUCT_NAME, " what to do differently)"));
7
- }
8
- export {
9
- FallbackToolUseRejectedMessage
10
- };
11
- //# sourceMappingURL=FallbackToolUseRejectedMessage.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/FallbackToolUseRejectedMessage.tsx"],
4
- "sourcesContent": ["import * as React from 'react'\nimport { getTheme } from '../utils/theme'\nimport { Text } from 'ink'\nimport { PRODUCT_NAME } from '../constants/product'\n\nexport function FallbackToolUseRejectedMessage(): React.ReactNode {\n return (\n <Text>\n &nbsp;&nbsp;\u23BF &nbsp;\n <Text color={getTheme().error}>\n No (tell {PRODUCT_NAME} what to do differently)\n </Text>\n </Text>\n )\n}\n"],
5
- "mappings": "AAAA,YAAY,WAAW;AACvB,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAEtB,SAAS,iCAAkD;AAChE,SACE,oCAAC,YAAK,uBAEJ,oCAAC,QAAK,OAAO,SAAS,EAAE,SAAO,aACnB,cAAa,0BACzB,CACF;AAEJ;",
6
- "names": []
7
- }
@@ -1,31 +0,0 @@
1
- import { Box, Text } from "ink";
2
- import * as React from "react";
3
- import { intersperse } from "../utils/array.js";
4
- import { StructuredDiff } from "./StructuredDiff.js";
5
- import { getTheme } from "../utils/theme.js";
6
- import { getCwd } from "../utils/state.js";
7
- import { relative } from "path";
8
- import { useTerminalSize } from "../hooks/useTerminalSize.js";
9
- function FileEditToolUpdatedMessage({
10
- filePath,
11
- structuredPatch,
12
- verbose
13
- }) {
14
- const { columns } = useTerminalSize();
15
- const numAdditions = structuredPatch.reduce(
16
- (count, hunk) => count + hunk.lines.filter((_) => _.startsWith("+")).length,
17
- 0
18
- );
19
- const numRemovals = structuredPatch.reduce(
20
- (count, hunk) => count + hunk.lines.filter((_) => _.startsWith("-")).length,
21
- 0
22
- );
23
- return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column" }, /* @__PURE__ */ React.createElement(Text, null, " ", "\u23BF Updated", " ", /* @__PURE__ */ React.createElement(Text, { bold: true }, verbose ? filePath : relative(getCwd(), filePath)), numAdditions > 0 || numRemovals > 0 ? " with " : "", numAdditions > 0 ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Text, { bold: true }, numAdditions), " ", numAdditions > 1 ? "additions" : "addition") : null, numAdditions > 0 && numRemovals > 0 ? " and " : null, numRemovals > 0 ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Text, { bold: true }, numRemovals), " ", numRemovals > 1 ? "removals" : "removal") : null), intersperse(
24
- structuredPatch.map((_) => /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", paddingLeft: 5, key: _.newStart }, /* @__PURE__ */ React.createElement(StructuredDiff, { patch: _, dim: false, width: columns - 12 }))),
25
- (i) => /* @__PURE__ */ React.createElement(Box, { paddingLeft: 5, key: `ellipsis-${i}` }, /* @__PURE__ */ React.createElement(Text, { color: getTheme().secondaryText }, "..."))
26
- ));
27
- }
28
- export {
29
- FileEditToolUpdatedMessage
30
- };
31
- //# sourceMappingURL=FileEditToolUpdatedMessage.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/FileEditToolUpdatedMessage.tsx"],
4
- "sourcesContent": ["import { Hunk } from 'diff'\nimport { Box, Text } from 'ink'\nimport * as React from 'react'\nimport { intersperse } from '../utils/array'\nimport { StructuredDiff } from './StructuredDiff'\nimport { getTheme } from '../utils/theme'\nimport { getCwd } from '../utils/state'\nimport { relative } from 'path'\nimport { useTerminalSize } from '../hooks/useTerminalSize'\n\ntype Props = {\n filePath: string\n structuredPatch: Hunk[]\n verbose: boolean\n}\n\nexport function FileEditToolUpdatedMessage({\n filePath,\n structuredPatch,\n verbose,\n}: Props): React.ReactNode {\n const { columns } = useTerminalSize()\n const numAdditions = structuredPatch.reduce(\n (count, hunk) => count + hunk.lines.filter(_ => _.startsWith('+')).length,\n 0,\n )\n const numRemovals = structuredPatch.reduce(\n (count, hunk) => count + hunk.lines.filter(_ => _.startsWith('-')).length,\n 0,\n )\n\n return (\n <Box flexDirection=\"column\">\n <Text>\n {' '}\u23BF Updated{' '}\n <Text bold>{verbose ? filePath : relative(getCwd(), filePath)}</Text>\n {numAdditions > 0 || numRemovals > 0 ? ' with ' : ''}\n {numAdditions > 0 ? (\n <>\n <Text bold>{numAdditions}</Text>{' '}\n {numAdditions > 1 ? 'additions' : 'addition'}\n </>\n ) : null}\n {numAdditions > 0 && numRemovals > 0 ? ' and ' : null}\n {numRemovals > 0 ? (\n <>\n <Text bold>{numRemovals}</Text>{' '}\n {numRemovals > 1 ? 'removals' : 'removal'}\n </>\n ) : null}\n </Text>\n {intersperse(\n structuredPatch.map(_ => (\n <Box flexDirection=\"column\" paddingLeft={5} key={_.newStart}>\n <StructuredDiff patch={_} dim={false} width={columns - 12} />\n </Box>\n )),\n i => (\n <Box paddingLeft={5} key={`ellipsis-${i}`}>\n <Text color={getTheme().secondaryText}>...</Text>\n </Box>\n ),\n )}\n </Box>\n )\n}\n"],
5
- "mappings": "AACA,SAAS,KAAK,YAAY;AAC1B,YAAY,WAAW;AACvB,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AACzB,SAAS,cAAc;AACvB,SAAS,gBAAgB;AACzB,SAAS,uBAAuB;AAQzB,SAAS,2BAA2B;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AACF,GAA2B;AACzB,QAAM,EAAE,QAAQ,IAAI,gBAAgB;AACpC,QAAM,eAAe,gBAAgB;AAAA,IACnC,CAAC,OAAO,SAAS,QAAQ,KAAK,MAAM,OAAO,OAAK,EAAE,WAAW,GAAG,CAAC,EAAE;AAAA,IACnE;AAAA,EACF;AACA,QAAM,cAAc,gBAAgB;AAAA,IAClC,CAAC,OAAO,SAAS,QAAQ,KAAK,MAAM,OAAO,OAAK,EAAE,WAAW,GAAG,CAAC,EAAE;AAAA,IACnE;AAAA,EACF;AAEA,SACE,oCAAC,OAAI,eAAc,YACjB,oCAAC,YACE,MAAK,kBAAU,KAChB,oCAAC,QAAK,MAAI,QAAE,UAAU,WAAW,SAAS,OAAO,GAAG,QAAQ,CAAE,GAC7D,eAAe,KAAK,cAAc,IAAI,WAAW,IACjD,eAAe,IACd,0DACE,oCAAC,QAAK,MAAI,QAAE,YAAa,GAAQ,KAChC,eAAe,IAAI,cAAc,UACpC,IACE,MACH,eAAe,KAAK,cAAc,IAAI,UAAU,MAChD,cAAc,IACb,0DACE,oCAAC,QAAK,MAAI,QAAE,WAAY,GAAQ,KAC/B,cAAc,IAAI,aAAa,SAClC,IACE,IACN,GACC;AAAA,IACC,gBAAgB,IAAI,OAClB,oCAAC,OAAI,eAAc,UAAS,aAAa,GAAG,KAAK,EAAE,YACjD,oCAAC,kBAAe,OAAO,GAAG,KAAK,OAAO,OAAO,UAAU,IAAI,CAC7D,CACD;AAAA,IACD,OACE,oCAAC,OAAI,aAAa,GAAG,KAAK,YAAY,CAAC,MACrC,oCAAC,QAAK,OAAO,SAAS,EAAE,iBAAe,KAAG,CAC5C;AAAA,EAEJ,CACF;AAEJ;",
6
- "names": []
7
- }
@@ -1,41 +0,0 @@
1
- import { PRODUCT_COMMAND, PRODUCT_NAME } from "../constants/product.js";
2
- import {
3
- getCustomCommandDirectories,
4
- hasCustomCommands
5
- } from "../services/customCommands.js";
6
- import * as React from "react";
7
- import { Box, Text, useInput } from "ink";
8
- import { getTheme } from "../utils/theme.js";
9
- import { PressEnterToContinue } from "./PressEnterToContinue.js";
10
- import { MACRO } from "../constants/macros.js";
11
- function Help({
12
- commands,
13
- onClose
14
- }) {
15
- const theme = getTheme();
16
- const moreHelp = `Learn more at: ${MACRO.README_URL}`;
17
- const filteredCommands = commands.filter((cmd) => !cmd.isHidden);
18
- const builtInCommands = filteredCommands.filter(
19
- (cmd) => !cmd.name.startsWith("project:") && !cmd.name.startsWith("user:")
20
- );
21
- const customCommands = filteredCommands.filter(
22
- (cmd) => cmd.name.startsWith("project:") || cmd.name.startsWith("user:")
23
- );
24
- const [count, setCount] = React.useState(0);
25
- React.useEffect(() => {
26
- const timer = setTimeout(() => {
27
- if (count < 3) {
28
- setCount(count + 1);
29
- }
30
- }, 250);
31
- return () => clearTimeout(timer);
32
- }, [count]);
33
- useInput((_, key) => {
34
- if (key.return) onClose();
35
- });
36
- return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", padding: 1 }, /* @__PURE__ */ React.createElement(Text, { bold: true, color: theme.kode }, `${PRODUCT_NAME} v${MACRO.VERSION}`), /* @__PURE__ */ React.createElement(Box, { marginTop: 1, flexDirection: "column" }, /* @__PURE__ */ React.createElement(Text, null, PRODUCT_NAME, " is a beta research preview. Always review", " ", PRODUCT_NAME, "'s responses, especially when running code.", " ", PRODUCT_NAME, " has read access to files in the current directory and can run commands and edit files with your permission.")), count >= 1 && /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", marginTop: 1 }, /* @__PURE__ */ React.createElement(Text, { bold: true }, "Usage Modes:"), /* @__PURE__ */ React.createElement(Text, null, "\u2022 REPL: ", /* @__PURE__ */ React.createElement(Text, { bold: true }, PRODUCT_COMMAND), " (interactive session)"), /* @__PURE__ */ React.createElement(Text, null, "\u2022 Non-interactive:", " ", /* @__PURE__ */ React.createElement(Text, { bold: true }, PRODUCT_COMMAND, ' -p "question"')), /* @__PURE__ */ React.createElement(Box, { marginTop: 1 }, /* @__PURE__ */ React.createElement(Text, null, "Run ", /* @__PURE__ */ React.createElement(Text, { bold: true }, PRODUCT_COMMAND, " -h"), " for all command line options"))), count >= 2 && /* @__PURE__ */ React.createElement(Box, { marginTop: 1, flexDirection: "column" }, /* @__PURE__ */ React.createElement(Text, { bold: true }, "Common Tasks:"), /* @__PURE__ */ React.createElement(Text, null, "\u2022 Ask questions about your codebase", " ", /* @__PURE__ */ React.createElement(Text, { color: getTheme().secondaryText }, "> How does foo.py work?")), /* @__PURE__ */ React.createElement(Text, null, "\u2022 Edit files", " ", /* @__PURE__ */ React.createElement(Text, { color: getTheme().secondaryText }, "> Update bar.ts to...")), /* @__PURE__ */ React.createElement(Text, null, "\u2022 Fix errors", " ", /* @__PURE__ */ React.createElement(Text, { color: getTheme().secondaryText }, "> cargo build")), /* @__PURE__ */ React.createElement(Text, null, "\u2022 Run commands", " ", /* @__PURE__ */ React.createElement(Text, { color: getTheme().secondaryText }, "> /help")), /* @__PURE__ */ React.createElement(Text, null, "\u2022 Run bash commands", " ", /* @__PURE__ */ React.createElement(Text, { color: getTheme().secondaryText }, "> !ls"))), count >= 3 && /* @__PURE__ */ React.createElement(Box, { marginTop: 1, flexDirection: "column" }, /* @__PURE__ */ React.createElement(Text, { bold: true }, "Built-in Commands:"), /* @__PURE__ */ React.createElement(Box, { flexDirection: "column" }, builtInCommands.map((cmd, i) => /* @__PURE__ */ React.createElement(Box, { key: i, marginLeft: 1 }, /* @__PURE__ */ React.createElement(Text, { bold: true }, `/${cmd.name}`), /* @__PURE__ */ React.createElement(Text, null, " - ", cmd.description)))), customCommands.length > 0 && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Box, { marginTop: 1 }, /* @__PURE__ */ React.createElement(Text, { bold: true }, "Custom Commands:")), /* @__PURE__ */ React.createElement(Box, { flexDirection: "column" }, customCommands.map((cmd, i) => /* @__PURE__ */ React.createElement(Box, { key: i, marginLeft: 1 }, /* @__PURE__ */ React.createElement(Text, { bold: true, color: theme.kode }, `/${cmd.name}`), /* @__PURE__ */ React.createElement(Text, null, " - ", cmd.description), cmd.aliases && cmd.aliases.length > 0 && /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, " ", "(aliases: ", cmd.aliases.join(", "), ")"), cmd.scope && /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, " [", cmd.scope, "]"))))), hasCustomCommands() || customCommands.length > 0 ? /* @__PURE__ */ React.createElement(Box, { marginTop: 1 }, /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "Custom commands loaded from:"), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "\u2022 ", getCustomCommandDirectories().userClaude, " (user: prefix)"), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "\u2022 ", getCustomCommandDirectories().projectClaude, " (project: prefix)"), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "Use /refresh-commands to reload after changes")) : /* @__PURE__ */ React.createElement(Box, { marginTop: 1 }, /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "Create custom commands by adding .md files to:"), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "\u2022 ", getCustomCommandDirectories().userClaude, " (user: prefix)"), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "\u2022 ", getCustomCommandDirectories().projectClaude, " (project: prefix)"), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "Use /refresh-commands to reload after creation"))), /* @__PURE__ */ React.createElement(Box, { marginTop: 1 }, /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, moreHelp)), /* @__PURE__ */ React.createElement(Box, { marginTop: 2 }, /* @__PURE__ */ React.createElement(PressEnterToContinue, null)));
37
- }
38
- export {
39
- Help
40
- };
41
- //# sourceMappingURL=Help.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/Help.tsx"],
4
- "sourcesContent": ["import { Command } from '../commands'\nimport { PRODUCT_COMMAND, PRODUCT_NAME } from '../constants/product'\nimport {\n getCustomCommandDirectories,\n hasCustomCommands,\n type CustomCommandWithScope,\n} from '../services/customCommands'\nimport * as React from 'react'\nimport { Box, Text, useInput } from 'ink'\nimport { getTheme } from '../utils/theme'\nimport { PressEnterToContinue } from './PressEnterToContinue'\nimport { MACRO } from '../constants/macros'\n\n/**\n * Help Component - Interactive help system with progressive disclosure\n *\n * This component provides a comprehensive help interface that progressively\n * reveals information to avoid overwhelming users. It categorizes commands\n * into built-in and custom types, providing clear guidance on usage.\n *\n * The progressive disclosure pattern (count-based) ensures users can absorb\n * information at their own pace while maintaining a responsive interface.\n */\nexport function Help({\n commands,\n onClose,\n}: {\n commands: Command[]\n onClose: () => void\n}): React.ReactNode {\n const theme = getTheme()\n const moreHelp = `Learn more at: ${MACRO.README_URL}`\n\n // Filter out hidden commands from the help display\n const filteredCommands = commands.filter(cmd => !cmd.isHidden)\n\n // Separate built-in commands from custom commands\n // Built-in commands are those that don't follow the custom command patterns\n const builtInCommands = filteredCommands.filter(\n cmd => !cmd.name.startsWith('project:') && !cmd.name.startsWith('user:'),\n )\n\n // Custom commands are those with project: or user: prefixes\n const customCommands = filteredCommands.filter(\n cmd => cmd.name.startsWith('project:') || cmd.name.startsWith('user:'),\n ) as CustomCommandWithScope[]\n\n // Progressive disclosure state for managing information flow\n const [count, setCount] = React.useState(0)\n\n // Timer-based progressive disclosure to prevent information overload\n React.useEffect(() => {\n const timer = setTimeout(() => {\n if (count < 3) {\n setCount(count + 1)\n }\n }, 250)\n\n return () => clearTimeout(timer)\n }, [count])\n\n // Handle Enter key to close help\n useInput((_, key) => {\n if (key.return) onClose()\n })\n\n return (\n <Box flexDirection=\"column\" padding={1}>\n <Text bold color={theme.kode}>\n {`${PRODUCT_NAME} v${MACRO.VERSION}`}\n </Text>\n\n <Box marginTop={1} flexDirection=\"column\">\n <Text>\n {PRODUCT_NAME} is a beta research preview. Always review{' '}\n {PRODUCT_NAME}&apos;s responses, especially when running code.{' '}\n {PRODUCT_NAME} has read access to files in the current directory and\n can run commands and edit files with your permission.\n </Text>\n </Box>\n\n {count >= 1 && (\n <Box flexDirection=\"column\" marginTop={1}>\n <Text bold>Usage Modes:</Text>\n <Text>\n \u2022 REPL: <Text bold>{PRODUCT_COMMAND}</Text> (interactive session)\n </Text>\n <Text>\n \u2022 Non-interactive:{' '}\n <Text bold>{PRODUCT_COMMAND} -p &quot;question&quot;</Text>\n </Text>\n <Box marginTop={1}>\n <Text>\n Run <Text bold>{PRODUCT_COMMAND} -h</Text> for all command line\n options\n </Text>\n </Box>\n </Box>\n )}\n\n {count >= 2 && (\n <Box marginTop={1} flexDirection=\"column\">\n <Text bold>Common Tasks:</Text>\n <Text>\n \u2022 Ask questions about your codebase{' '}\n <Text color={getTheme().secondaryText}>\n &gt; How does foo.py work?\n </Text>\n </Text>\n <Text>\n \u2022 Edit files{' '}\n <Text color={getTheme().secondaryText}>\n &gt; Update bar.ts to...\n </Text>\n </Text>\n <Text>\n \u2022 Fix errors{' '}\n <Text color={getTheme().secondaryText}>&gt; cargo build</Text>\n </Text>\n <Text>\n \u2022 Run commands{' '}\n <Text color={getTheme().secondaryText}>&gt; /help</Text>\n </Text>\n <Text>\n \u2022 Run bash commands{' '}\n <Text color={getTheme().secondaryText}>&gt; !ls</Text>\n </Text>\n </Box>\n )}\n\n {count >= 3 && (\n <Box marginTop={1} flexDirection=\"column\">\n <Text bold>Built-in Commands:</Text>\n\n <Box flexDirection=\"column\">\n {builtInCommands.map((cmd, i) => (\n <Box key={i} marginLeft={1}>\n <Text bold>{`/${cmd.name}`}</Text>\n <Text> - {cmd.description}</Text>\n </Box>\n ))}\n </Box>\n\n {customCommands.length > 0 && (\n <>\n <Box marginTop={1}>\n <Text bold>Custom Commands:</Text>\n </Box>\n\n <Box flexDirection=\"column\">\n {customCommands.map((cmd, i) => (\n <Box key={i} marginLeft={1}>\n <Text bold color={theme.kode}>{`/${cmd.name}`}</Text>\n <Text> - {cmd.description}</Text>\n {cmd.aliases && cmd.aliases.length > 0 && (\n <Text color={theme.secondaryText}>\n {' '}\n (aliases: {cmd.aliases.join(', ')})\n </Text>\n )}\n {/* Show scope indicator for debugging */}\n {cmd.scope && (\n <Text color={theme.secondaryText}> [{cmd.scope}]</Text>\n )}\n </Box>\n ))}\n </Box>\n </>\n )}\n\n {/* Show custom command directory information */}\n {hasCustomCommands() || customCommands.length > 0 ? (\n <Box marginTop={1}>\n <Text color={theme.secondaryText}>\n Custom commands loaded from:\n </Text>\n <Text color={theme.secondaryText}>\n \u2022 {getCustomCommandDirectories().userClaude} (user: prefix)\n </Text>\n <Text color={theme.secondaryText}>\n \u2022 {getCustomCommandDirectories().projectClaude} (project: prefix)\n </Text>\n <Text color={theme.secondaryText}>\n Use /refresh-commands to reload after changes\n </Text>\n </Box>\n ) : (\n <Box marginTop={1}>\n <Text color={theme.secondaryText}>\n Create custom commands by adding .md files to:\n </Text>\n <Text color={theme.secondaryText}>\n \u2022 {getCustomCommandDirectories().userClaude} (user: prefix)\n </Text>\n <Text color={theme.secondaryText}>\n \u2022 {getCustomCommandDirectories().projectClaude} (project: prefix)\n </Text>\n <Text color={theme.secondaryText}>\n Use /refresh-commands to reload after creation\n </Text>\n </Box>\n )}\n </Box>\n )}\n\n <Box marginTop={1}>\n <Text color={theme.secondaryText}>{moreHelp}</Text>\n </Box>\n\n <Box marginTop={2}>\n <PressEnterToContinue />\n </Box>\n </Box>\n )\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,30 +0,0 @@
1
- import { highlight, supportsLanguage } from "cli-highlight";
2
- import { Text } from "ink";
3
- import React, { useMemo } from "react";
4
- import { logError } from "../utils/log.js";
5
- function HighlightedCode({ code, language }) {
6
- const highlightedCode = useMemo(() => {
7
- try {
8
- if (supportsLanguage(language)) {
9
- return highlight(code, { language });
10
- } else {
11
- logError(
12
- `Language not supported while highlighting code, falling back to markdown: ${language}`
13
- );
14
- return highlight(code, { language: "markdown" });
15
- }
16
- } catch (e) {
17
- if (e instanceof Error && e.message.includes("Unknown language")) {
18
- logError(
19
- `Language not supported while highlighting code, falling back to markdown: ${e}`
20
- );
21
- return highlight(code, { language: "markdown" });
22
- }
23
- }
24
- }, [code, language]);
25
- return /* @__PURE__ */ React.createElement(Text, null, highlightedCode);
26
- }
27
- export {
28
- HighlightedCode
29
- };
30
- //# sourceMappingURL=HighlightedCode.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/HighlightedCode.tsx"],
4
- "sourcesContent": ["import { highlight, supportsLanguage } from 'cli-highlight'\nimport { Text } from 'ink'\nimport React, { useMemo } from 'react'\nimport { logError } from '../utils/log'\n\ntype Props = {\n code: string\n language: string\n}\n\nexport function HighlightedCode({ code, language }: Props): React.ReactElement {\n const highlightedCode = useMemo(() => {\n try {\n if (supportsLanguage(language)) {\n return highlight(code, { language })\n } else {\n logError(\n `Language not supported while highlighting code, falling back to markdown: ${language}`,\n )\n return highlight(code, { language: 'markdown' })\n }\n } catch (e) {\n if (e instanceof Error && e.message.includes('Unknown language')) {\n logError(\n `Language not supported while highlighting code, falling back to markdown: ${e}`,\n )\n return highlight(code, { language: 'markdown' })\n }\n }\n }, [code, language])\n\n return <Text>{highlightedCode}</Text>\n}\n"],
5
- "mappings": "AAAA,SAAS,WAAW,wBAAwB;AAC5C,SAAS,YAAY;AACrB,OAAO,SAAS,eAAe;AAC/B,SAAS,gBAAgB;AAOlB,SAAS,gBAAgB,EAAE,MAAM,SAAS,GAA8B;AAC7E,QAAM,kBAAkB,QAAQ,MAAM;AACpC,QAAI;AACF,UAAI,iBAAiB,QAAQ,GAAG;AAC9B,eAAO,UAAU,MAAM,EAAE,SAAS,CAAC;AAAA,MACrC,OAAO;AACL;AAAA,UACE,6EAA6E,QAAQ;AAAA,QACvF;AACA,eAAO,UAAU,MAAM,EAAE,UAAU,WAAW,CAAC;AAAA,MACjD;AAAA,IACF,SAAS,GAAG;AACV,UAAI,aAAa,SAAS,EAAE,QAAQ,SAAS,kBAAkB,GAAG;AAChE;AAAA,UACE,6EAA6E,CAAC;AAAA,QAChF;AACA,eAAO,UAAU,MAAM,EAAE,UAAU,WAAW,CAAC;AAAA,MACjD;AAAA,IACF;AAAA,EACF,GAAG,CAAC,MAAM,QAAQ,CAAC;AAEnB,SAAO,oCAAC,YAAM,eAAgB;AAChC;",
6
- "names": []
7
- }