@shareai-lab/kode 1.2.0 → 2.0.2

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-GIU4ZIXM.js +42 -0
  5. package/dist/acp-H3VJ77YG.js +1357 -0
  6. package/dist/acp-H3VJ77YG.js.map +7 -0
  7. package/dist/agentsValidate-XP3CFN6F.js +373 -0
  8. package/dist/agentsValidate-XP3CFN6F.js.map +7 -0
  9. package/dist/ask-3G5H5KD5.js +125 -0
  10. package/dist/ask-3G5H5KD5.js.map +7 -0
  11. package/dist/autoUpdater-DNRMJWFQ.js +17 -0
  12. package/dist/chunk-2KWKUXLT.js +490 -0
  13. package/dist/chunk-2KWKUXLT.js.map +7 -0
  14. package/dist/chunk-2PMO2FS2.js +1097 -0
  15. package/dist/chunk-2PMO2FS2.js.map +7 -0
  16. package/dist/chunk-3RUXVV4S.js +23 -0
  17. package/dist/chunk-3RUXVV4S.js.map +7 -0
  18. package/dist/chunk-3TXNP6HH.js +240 -0
  19. package/dist/chunk-3TXNP6HH.js.map +7 -0
  20. package/dist/chunk-4GAIJGRH.js +472 -0
  21. package/dist/chunk-4GAIJGRH.js.map +7 -0
  22. package/dist/chunk-4RTX4AG4.js +249 -0
  23. package/dist/chunk-4RTX4AG4.js.map +7 -0
  24. package/dist/chunk-54DNHKOD.js +511 -0
  25. package/dist/chunk-54DNHKOD.js.map +7 -0
  26. package/dist/chunk-67PY5IX6.js +34 -0
  27. package/dist/chunk-67PY5IX6.js.map +7 -0
  28. package/dist/chunk-6DRDLOLP.js +2613 -0
  29. package/dist/chunk-6DRDLOLP.js.map +7 -0
  30. package/dist/chunk-7CQVZNQV.js +1609 -0
  31. package/dist/chunk-7CQVZNQV.js.map +7 -0
  32. package/dist/chunk-ABLVTESJ.js +19 -0
  33. package/dist/chunk-ABLVTESJ.js.map +7 -0
  34. package/dist/{utils/config.js → chunk-AIMIPK4B.js} +351 -171
  35. package/dist/chunk-AIMIPK4B.js.map +7 -0
  36. package/dist/{utils/autoUpdater.js → chunk-BHGTA6JQ.js} +38 -21
  37. package/dist/chunk-BHGTA6JQ.js.map +7 -0
  38. package/dist/chunk-CIG63V4E.js +72 -0
  39. package/dist/chunk-CIG63V4E.js.map +7 -0
  40. package/dist/chunk-E6YNABER.js +24 -0
  41. package/dist/chunk-E6YNABER.js.map +7 -0
  42. package/dist/chunk-EH34V7CY.js +191 -0
  43. package/dist/chunk-EH34V7CY.js.map +7 -0
  44. package/dist/{cost-tracker.js → chunk-EZXMVTDU.js} +51 -32
  45. package/dist/chunk-EZXMVTDU.js.map +7 -0
  46. package/dist/chunk-FH5CHM6L.js +148 -0
  47. package/dist/chunk-FH5CHM6L.js.map +7 -0
  48. package/dist/chunk-G6I7XROM.js +138 -0
  49. package/dist/chunk-G6I7XROM.js.map +7 -0
  50. package/dist/chunk-HN4E4UUQ.js +96 -0
  51. package/dist/chunk-HN4E4UUQ.js.map +7 -0
  52. package/dist/chunk-HSPVVDIW.js +30198 -0
  53. package/dist/chunk-HSPVVDIW.js.map +7 -0
  54. package/dist/{services/systemReminder.js → chunk-IE2CG2TV.js} +221 -59
  55. package/dist/chunk-IE2CG2TV.js.map +7 -0
  56. package/dist/chunk-JC6NCUG5.js +11 -0
  57. package/dist/chunk-K2MI4TPB.js +1256 -0
  58. package/dist/chunk-K2MI4TPB.js.map +7 -0
  59. package/dist/chunk-KAA5BGMQ.js +12 -0
  60. package/dist/chunk-KAA5BGMQ.js.map +7 -0
  61. package/dist/chunk-MN77D2F7.js +2931 -0
  62. package/dist/chunk-MN77D2F7.js.map +7 -0
  63. package/dist/chunk-NPFOMITO.js +21 -0
  64. package/dist/chunk-NPFOMITO.js.map +7 -0
  65. package/dist/chunk-NQLEUHMS.js +196 -0
  66. package/dist/chunk-NQLEUHMS.js.map +7 -0
  67. package/dist/chunk-OIFQB3S4.js +515 -0
  68. package/dist/chunk-OIFQB3S4.js.map +7 -0
  69. package/dist/chunk-OWTG2W3A.js +164 -0
  70. package/dist/chunk-OWTG2W3A.js.map +7 -0
  71. package/dist/chunk-OZNRLY3E.js +735 -0
  72. package/dist/chunk-OZNRLY3E.js.map +7 -0
  73. package/dist/{utils/debugLogger.js → chunk-QYFKRZQC.js} +107 -204
  74. package/dist/chunk-QYFKRZQC.js.map +7 -0
  75. package/dist/chunk-S3J2TLV6.js +16 -0
  76. package/dist/chunk-S3J2TLV6.js.map +7 -0
  77. package/dist/chunk-S6HRABTA.js +95 -0
  78. package/dist/chunk-S6HRABTA.js.map +7 -0
  79. package/dist/{utils/theme.js → chunk-SDGKPKDK.js} +28 -6
  80. package/dist/chunk-SDGKPKDK.js.map +7 -0
  81. package/dist/chunk-SRZZFAS7.js +766 -0
  82. package/dist/chunk-SRZZFAS7.js.map +7 -0
  83. package/dist/chunk-UKHTVRJM.js +47 -0
  84. package/dist/chunk-UKHTVRJM.js.map +7 -0
  85. package/dist/chunk-UYXEDKOZ.js +24 -0
  86. package/dist/chunk-UYXEDKOZ.js.map +7 -0
  87. package/dist/chunk-VBXVYQYY.js +145 -0
  88. package/dist/chunk-VBXVYQYY.js.map +7 -0
  89. package/dist/chunk-WVHORZQ5.js +17 -0
  90. package/dist/chunk-WVHORZQ5.js.map +7 -0
  91. package/dist/chunk-WWUWDNWW.js +49 -0
  92. package/dist/chunk-WWUWDNWW.js.map +7 -0
  93. package/dist/{utils/model.js → chunk-Z33T5YN5.js} +194 -227
  94. package/dist/chunk-Z33T5YN5.js.map +7 -0
  95. package/dist/{services/openai.js → chunk-ZQU3TXLC.js} +168 -234
  96. package/dist/chunk-ZQU3TXLC.js.map +7 -0
  97. package/dist/cli-SRV2INSL.js +3917 -0
  98. package/dist/cli-SRV2INSL.js.map +7 -0
  99. package/dist/commands-TWH6PGVG.js +46 -0
  100. package/dist/config-6ZMBCL23.js +81 -0
  101. package/dist/context-JQIOOI4W.js +30 -0
  102. package/dist/costTracker-6SL26FDB.js +19 -0
  103. package/dist/customCommands-DNEJS3ZU.js +25 -0
  104. package/dist/customCommands-DNEJS3ZU.js.map +7 -0
  105. package/dist/env-OFAXZ3XG.js +22 -0
  106. package/dist/env-OFAXZ3XG.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-6N27AC5K.js +18 -0
  112. package/dist/kodeAgentSessionLoad-6N27AC5K.js.map +7 -0
  113. package/dist/kodeAgentSessionResume-HUSAEO24.js +16 -0
  114. package/dist/kodeAgentSessionResume-HUSAEO24.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-GRWG3SPE.js +131 -0
  118. package/dist/kodeAgentStreamJsonSession-GRWG3SPE.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-TDMXFWSO.js +36 -0
  122. package/dist/kodeHooks-TDMXFWSO.js.map +7 -0
  123. package/dist/llm-XVXWYOHK.js +3118 -0
  124. package/dist/llm-XVXWYOHK.js.map +7 -0
  125. package/dist/llmLazy-7TD5N7XP.js +15 -0
  126. package/dist/llmLazy-7TD5N7XP.js.map +7 -0
  127. package/dist/loader-AUXIJTY6.js +28 -0
  128. package/dist/loader-AUXIJTY6.js.map +7 -0
  129. package/dist/mcp-BXJ3K7NZ.js +49 -0
  130. package/dist/mcp-BXJ3K7NZ.js.map +7 -0
  131. package/dist/{services/mentionProcessor.js → mentionProcessor-YD7YXYGF.js} +61 -50
  132. package/dist/mentionProcessor-YD7YXYGF.js.map +7 -0
  133. package/dist/messages-OFUJSPRV.js +63 -0
  134. package/dist/messages-OFUJSPRV.js.map +7 -0
  135. package/dist/model-KPYCXWBK.js +30 -0
  136. package/dist/model-KPYCXWBK.js.map +7 -0
  137. package/dist/openai-5G5D5Q4B.js +29 -0
  138. package/dist/openai-5G5D5Q4B.js.map +7 -0
  139. package/dist/outputStyles-HLDXFQK3.js +28 -0
  140. package/dist/outputStyles-HLDXFQK3.js.map +7 -0
  141. package/dist/package.json +1 -1
  142. package/dist/pluginRuntime-FPTKK6NY.js +218 -0
  143. package/dist/pluginRuntime-FPTKK6NY.js.map +7 -0
  144. package/dist/pluginValidation-DSFXZ4GF.js +17 -0
  145. package/dist/pluginValidation-DSFXZ4GF.js.map +7 -0
  146. package/dist/prompts-LWLAJRS2.js +48 -0
  147. package/dist/prompts-LWLAJRS2.js.map +7 -0
  148. package/dist/query-HVPWL27C.js +50 -0
  149. package/dist/query-HVPWL27C.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-YOPCY2GO.js +17 -0
  153. package/dist/ripgrep-YOPCY2GO.js.map +7 -0
  154. package/dist/skillMarketplace-PSNKDINM.js +37 -0
  155. package/dist/skillMarketplace-PSNKDINM.js.map +7 -0
  156. package/dist/state-KNRWP3FO.js +16 -0
  157. package/dist/state-KNRWP3FO.js.map +7 -0
  158. package/dist/theme-7S2QN2FO.js +14 -0
  159. package/dist/theme-7S2QN2FO.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-GPOBH4IV.js +18 -0
  163. package/dist/toolPermissionSettings-GPOBH4IV.js.map +7 -0
  164. package/dist/tools-FZU2FZBD.js +47 -0
  165. package/dist/tools-FZU2FZBD.js.map +7 -0
  166. package/dist/userInput-VHNBN2MW.js +311 -0
  167. package/dist/userInput-VHNBN2MW.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-GIU4ZIXM.js.map} +0 -0
  720. /package/dist/{components/CustomSelect/theme.js.map → autoUpdater-DNRMJWFQ.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-TWH6PGVG.js.map} +0 -0
  723. /package/dist/{types/logs.js.map → config-6ZMBCL23.js.map} +0 -0
  724. /package/dist/{types/modelCapabilities.js.map → context-JQIOOI4W.js.map} +0 -0
  725. /package/dist/{types/notebook.js.map → costTracker-6SL26FDB.js.map} +0 -0
@@ -1,43 +0,0 @@
1
- import { safeParseJSON } from "./json.js";
2
- import { logError } from "./log.js";
3
- import { queryQuick } from "../services/claude.js";
4
- function setTerminalTitle(title) {
5
- if (process.platform === "win32") {
6
- process.title = title ? `\u2733 ${title}` : title;
7
- } else {
8
- process.stdout.write(`\x1B]0;${title ? `\u2733 ${title}` : ""}\x07`);
9
- }
10
- }
11
- async function updateTerminalTitle(message) {
12
- try {
13
- const result = await queryQuick({
14
- systemPrompt: [
15
- "Analyze if this message indicates a new conversation topic. If it does, extract a 2-3 word title that captures the new topic. Format your response as a JSON object with two fields: 'isNewTopic' (boolean) and 'title' (string, or null if isNewTopic is false). Only include these fields, no other text."
16
- ],
17
- userPrompt: message,
18
- enablePromptCaching: true
19
- });
20
- const content = result.message.content.filter((_) => _.type === "text").map((_) => _.text).join("");
21
- const response = safeParseJSON(content);
22
- if (response && typeof response === "object" && "isNewTopic" in response && "title" in response) {
23
- if (response.isNewTopic && response.title) {
24
- setTerminalTitle(response.title);
25
- }
26
- }
27
- } catch (error) {
28
- logError(error);
29
- }
30
- }
31
- function clearTerminal() {
32
- return new Promise((resolve) => {
33
- process.stdout.write("\x1B[2J\x1B[3J\x1B[H", () => {
34
- resolve();
35
- });
36
- });
37
- }
38
- export {
39
- clearTerminal,
40
- setTerminalTitle,
41
- updateTerminalTitle
42
- };
43
- //# sourceMappingURL=terminal.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils/terminal.ts"],
4
- "sourcesContent": ["import { safeParseJSON } from './json'\nimport { logError } from './log'\nimport { queryQuick } from '../services/claude'\n\nexport function setTerminalTitle(title: string): void {\n if (process.platform === 'win32') {\n process.title = title ? `\u2733 ${title}` : title\n } else {\n process.stdout.write(`\\x1b]0;${title ? `\u2733 ${title}` : ''}\\x07`)\n }\n}\n\nexport async function updateTerminalTitle(message: string): Promise<void> {\n try {\n const result = await queryQuick({\n systemPrompt: [\n \"Analyze if this message indicates a new conversation topic. If it does, extract a 2-3 word title that captures the new topic. Format your response as a JSON object with two fields: 'isNewTopic' (boolean) and 'title' (string, or null if isNewTopic is false). Only include these fields, no other text.\",\n ],\n userPrompt: message,\n enablePromptCaching: true,\n })\n\n const content = result.message.content\n .filter(_ => _.type === 'text')\n .map(_ => _.text)\n .join('')\n\n const response = safeParseJSON(content)\n if (\n response &&\n typeof response === 'object' &&\n 'isNewTopic' in response &&\n 'title' in response\n ) {\n if (response.isNewTopic && response.title) {\n setTerminalTitle(response.title as string)\n }\n }\n } catch (error) {\n logError(error)\n }\n}\n\nexport function clearTerminal(): Promise<void> {\n return new Promise(resolve => {\n process.stdout.write('\\x1b[2J\\x1b[3J\\x1b[H', () => {\n resolve()\n })\n })\n}\n"],
5
- "mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAEpB,SAAS,iBAAiB,OAAqB;AACpD,MAAI,QAAQ,aAAa,SAAS;AAChC,YAAQ,QAAQ,QAAQ,UAAK,KAAK,KAAK;AAAA,EACzC,OAAO;AACL,YAAQ,OAAO,MAAM,UAAU,QAAQ,UAAK,KAAK,KAAK,EAAE,MAAM;AAAA,EAChE;AACF;AAEA,eAAsB,oBAAoB,SAAgC;AACxE,MAAI;AACF,UAAM,SAAS,MAAM,WAAW;AAAA,MAC9B,cAAc;AAAA,QACZ;AAAA,MACF;AAAA,MACA,YAAY;AAAA,MACZ,qBAAqB;AAAA,IACvB,CAAC;AAED,UAAM,UAAU,OAAO,QAAQ,QAC5B,OAAO,OAAK,EAAE,SAAS,MAAM,EAC7B,IAAI,OAAK,EAAE,IAAI,EACf,KAAK,EAAE;AAEV,UAAM,WAAW,cAAc,OAAO;AACtC,QACE,YACA,OAAO,aAAa,YACpB,gBAAgB,YAChB,WAAW,UACX;AACA,UAAI,SAAS,cAAc,SAAS,OAAO;AACzC,yBAAiB,SAAS,KAAe;AAAA,MAC3C;AAAA,IACF;AAAA,EACF,SAAS,OAAO;AACd,aAAS,KAAK;AAAA,EAChB;AACF;AAEO,SAAS,gBAA+B;AAC7C,SAAO,IAAI,QAAQ,aAAW;AAC5B,YAAQ,OAAO,MAAM,wBAAwB,MAAM;AACjD,cAAQ;AAAA,IACV,CAAC;AAAA,EACH,CAAC;AACH;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils/theme.ts"],
4
- "sourcesContent": ["import { getGlobalConfig } from './config'\n\nexport interface Theme {\n bashBorder: string\n kode: string\n noting: string\n permission: string\n secondaryBorder: string\n text: string\n secondaryText: string\n suggestion: string\n success: string\n error: string\n warning: string\n primary: string\n secondary: string\n diff: {\n added: string\n removed: string\n addedDimmed: string\n removedDimmed: string\n }\n}\n\nconst lightTheme: Theme = {\n bashBorder: '#FF6E57',\n kode: '#FFC233',\n noting: '#222222',\n permission: '#e9c61aff',\n secondaryBorder: '#999',\n text: '#000',\n secondaryText: '#666',\n suggestion: '#32e98aff',\n success: '#2c7a39',\n error: '#ab2b3f',\n warning: '#966c1e',\n primary: '#000',\n secondary: '#666',\n diff: {\n added: '#69db7c',\n removed: '#ffa8b4',\n addedDimmed: '#c7e1cb',\n removedDimmed: '#fdd2d8',\n },\n}\n\nconst lightDaltonizedTheme: Theme = {\n bashBorder: '#FF6E57',\n kode: '#FFC233',\n noting: '#222222',\n permission: '#3366ff',\n secondaryBorder: '#999',\n text: '#000',\n secondaryText: '#666',\n suggestion: '#3366ff',\n success: '#006699',\n error: '#cc0000',\n warning: '#ff9900',\n primary: '#000',\n secondary: '#666',\n diff: {\n added: '#99ccff',\n removed: '#ffcccc',\n addedDimmed: '#d1e7fd',\n removedDimmed: '#ffe9e9',\n },\n}\n\nconst darkTheme: Theme = {\n bashBorder: '#FF6E57',\n kode: '#FFC233',\n noting: '#222222',\n permission: '#b1b9f9',\n secondaryBorder: '#888',\n text: '#fff',\n secondaryText: '#999',\n suggestion: '#b1b9f9',\n success: '#4eba65',\n error: '#ff6b80',\n warning: '#ffc107',\n primary: '#fff',\n secondary: '#999',\n diff: {\n added: '#225c2b',\n removed: '#7a2936',\n addedDimmed: '#47584a',\n removedDimmed: '#69484d',\n },\n}\n\nconst darkDaltonizedTheme: Theme = {\n bashBorder: '#FF6E57',\n kode: '#FFC233',\n noting: '#222222',\n permission: '#99ccff',\n secondaryBorder: '#888',\n text: '#fff',\n secondaryText: '#999',\n suggestion: '#99ccff',\n success: '#3399ff',\n error: '#ff6666',\n warning: '#ffcc00',\n primary: '#fff',\n secondary: '#999',\n diff: {\n added: '#004466',\n removed: '#660000',\n addedDimmed: '#3e515b',\n removedDimmed: '#3e2c2c',\n },\n}\n\nexport type ThemeNames = 'dark' | 'light' | 'light-daltonized' | 'dark-daltonized'\n\nexport function getTheme(overrideTheme?: ThemeNames): Theme {\n const config = getGlobalConfig()\n switch (overrideTheme ?? config.theme) {\n case 'light':\n return lightTheme\n case 'light-daltonized':\n return lightDaltonizedTheme\n case 'dark-daltonized':\n return darkDaltonizedTheme\n default:\n return darkTheme\n }\n}\n"],
5
- "mappings": "AAAA,SAAS,uBAAuB;AAwBhC,MAAM,aAAoB;AAAA,EACxB,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,MAAM;AAAA,EACN,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AAAA,EACT,WAAW;AAAA,EACX,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AACF;AAEA,MAAM,uBAA8B;AAAA,EAClC,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,MAAM;AAAA,EACN,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AAAA,EACT,WAAW;AAAA,EACX,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AACF;AAEA,MAAM,YAAmB;AAAA,EACvB,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,MAAM;AAAA,EACN,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AAAA,EACT,WAAW;AAAA,EACX,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AACF;AAEA,MAAM,sBAA6B;AAAA,EACjC,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,MAAM;AAAA,EACN,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AAAA,EACT,WAAW;AAAA,EACX,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AACF;AAIO,SAAS,SAAS,eAAmC;AAC1D,QAAM,SAAS,gBAAgB;AAC/B,UAAQ,iBAAiB,OAAO,OAAO;AAAA,IACrC,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;",
6
- "names": []
7
- }
@@ -1,103 +0,0 @@
1
- import { last } from "lodash-es";
2
- import { logEvent } from "../services/statsig.js";
3
- import { getLastAssistantMessageId } from "./messages.js";
4
- import { ThinkTool } from "../tools/ThinkTool/ThinkTool.js";
5
- import { USE_BEDROCK, USE_VERTEX, getModelManager } from "./model.js";
6
- async function getMaxThinkingTokens(messages) {
7
- if (process.env.MAX_THINKING_TOKENS) {
8
- const tokens = parseInt(process.env.MAX_THINKING_TOKENS, 10);
9
- logEvent("tengu_thinking", {
10
- method: "scratchpad",
11
- tokenCount: tokens.toString(),
12
- messageId: getLastAssistantMessageId(messages),
13
- provider: USE_BEDROCK ? "bedrock" : USE_VERTEX ? "vertex" : "1p"
14
- });
15
- return tokens;
16
- }
17
- if (await ThinkTool.isEnabled()) {
18
- logEvent("tengu_thinking", {
19
- method: "scratchpad",
20
- tokenCount: "0",
21
- messageId: getLastAssistantMessageId(messages),
22
- provider: USE_BEDROCK ? "bedrock" : USE_VERTEX ? "vertex" : "1p"
23
- });
24
- return 0;
25
- }
26
- const lastMessage = last(messages);
27
- if (lastMessage?.type !== "user" || typeof lastMessage.message.content !== "string") {
28
- logEvent("tengu_thinking", {
29
- method: "scratchpad",
30
- tokenCount: "0",
31
- messageId: getLastAssistantMessageId(messages),
32
- provider: USE_BEDROCK ? "bedrock" : USE_VERTEX ? "vertex" : "1p"
33
- });
34
- return 0;
35
- }
36
- const content = lastMessage.message.content.toLowerCase();
37
- if (content.includes("think harder") || content.includes("think intensely") || content.includes("think longer") || content.includes("think really hard") || content.includes("think super hard") || content.includes("think very hard") || content.includes("ultrathink")) {
38
- logEvent("tengu_thinking", {
39
- method: "scratchpad",
40
- tokenCount: "31999",
41
- messageId: getLastAssistantMessageId(messages),
42
- provider: USE_BEDROCK ? "bedrock" : USE_VERTEX ? "vertex" : "1p"
43
- });
44
- return 32e3 - 1;
45
- }
46
- if (content.includes("think about it") || content.includes("think a lot") || content.includes("think hard") || content.includes("think more") || content.includes("megathink")) {
47
- logEvent("tengu_thinking", {
48
- method: "scratchpad",
49
- tokenCount: "10000",
50
- messageId: getLastAssistantMessageId(messages),
51
- provider: USE_BEDROCK ? "bedrock" : USE_VERTEX ? "vertex" : "1p"
52
- });
53
- return 1e4;
54
- }
55
- if (content.includes("think")) {
56
- logEvent("tengu_thinking", {
57
- method: "scratchpad",
58
- tokenCount: "4000",
59
- messageId: getLastAssistantMessageId(messages),
60
- provider: USE_BEDROCK ? "bedrock" : USE_VERTEX ? "vertex" : "1p"
61
- });
62
- return 4e3;
63
- }
64
- logEvent("tengu_thinking", {
65
- method: "scratchpad",
66
- tokenCount: "0",
67
- messageId: getLastAssistantMessageId(messages),
68
- provider: USE_BEDROCK ? "bedrock" : USE_VERTEX ? "vertex" : "1p"
69
- });
70
- return 0;
71
- }
72
- async function getReasoningEffort(modelProfile, messages) {
73
- const thinkingTokens = await getMaxThinkingTokens(messages);
74
- let reasoningEffort;
75
- if (modelProfile?.reasoningEffort) {
76
- reasoningEffort = modelProfile.reasoningEffort;
77
- } else {
78
- const modelManager = getModelManager();
79
- const fallbackProfile = modelManager.getModel("main");
80
- reasoningEffort = (fallbackProfile?.reasoningEffort === "minimal" ? "low" : fallbackProfile?.reasoningEffort) || "medium";
81
- }
82
- const maxEffort = reasoningEffort === "high" ? 2 : reasoningEffort === "medium" ? 1 : reasoningEffort === "low" ? 0 : null;
83
- if (!maxEffort) {
84
- return null;
85
- }
86
- let effort = 0;
87
- if (thinkingTokens < 1e4) {
88
- effort = 0;
89
- } else if (thinkingTokens >= 1e4 && thinkingTokens < 3e4) {
90
- effort = 1;
91
- } else {
92
- effort = 2;
93
- }
94
- if (effort > maxEffort) {
95
- return maxEffort === 2 ? "high" : maxEffort === 1 ? "medium" : "low";
96
- }
97
- return effort === 2 ? "high" : effort === 1 ? "medium" : "low";
98
- }
99
- export {
100
- getMaxThinkingTokens,
101
- getReasoningEffort
102
- };
103
- //# sourceMappingURL=thinking.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils/thinking.ts"],
4
- "sourcesContent": ["import { last } from 'lodash-es'\nimport type { Message } from '../query'\nimport { logEvent } from '../services/statsig'\nimport { getLastAssistantMessageId } from './messages'\nimport { ThinkTool } from '../tools/ThinkTool/ThinkTool'\nimport { USE_BEDROCK, USE_VERTEX, getModelManager } from './model'\nimport { getGlobalConfig } from './config'\n\nexport async function getMaxThinkingTokens(\n messages: Message[],\n): Promise<number> {\n if (process.env.MAX_THINKING_TOKENS) {\n const tokens = parseInt(process.env.MAX_THINKING_TOKENS, 10)\n logEvent('tengu_thinking', {\n method: 'scratchpad',\n tokenCount: tokens.toString(),\n messageId: getLastAssistantMessageId(messages),\n provider: USE_BEDROCK ? 'bedrock' : USE_VERTEX ? 'vertex' : '1p',\n })\n return tokens\n }\n\n if (await ThinkTool.isEnabled()) {\n logEvent('tengu_thinking', {\n method: 'scratchpad',\n tokenCount: '0',\n messageId: getLastAssistantMessageId(messages),\n provider: USE_BEDROCK ? 'bedrock' : USE_VERTEX ? 'vertex' : '1p',\n })\n return 0\n }\n\n const lastMessage = last(messages)\n if (\n lastMessage?.type !== 'user' ||\n typeof lastMessage.message.content !== 'string'\n ) {\n logEvent('tengu_thinking', {\n method: 'scratchpad',\n tokenCount: '0',\n messageId: getLastAssistantMessageId(messages),\n provider: USE_BEDROCK ? 'bedrock' : USE_VERTEX ? 'vertex' : '1p',\n })\n return 0\n }\n\n const content = lastMessage.message.content.toLowerCase()\n if (\n content.includes('think harder') ||\n content.includes('think intensely') ||\n content.includes('think longer') ||\n content.includes('think really hard') ||\n content.includes('think super hard') ||\n content.includes('think very hard') ||\n content.includes('ultrathink')\n ) {\n logEvent('tengu_thinking', {\n method: 'scratchpad',\n tokenCount: '31999',\n messageId: getLastAssistantMessageId(messages),\n provider: USE_BEDROCK ? 'bedrock' : USE_VERTEX ? 'vertex' : '1p',\n })\n return 32_000 - 1\n }\n\n if (\n content.includes('think about it') ||\n content.includes('think a lot') ||\n content.includes('think hard') ||\n content.includes('think more') ||\n content.includes('megathink')\n ) {\n logEvent('tengu_thinking', {\n method: 'scratchpad',\n tokenCount: '10000',\n messageId: getLastAssistantMessageId(messages),\n provider: USE_BEDROCK ? 'bedrock' : USE_VERTEX ? 'vertex' : '1p',\n })\n return 10_000\n }\n\n if (content.includes('think')) {\n logEvent('tengu_thinking', {\n method: 'scratchpad',\n tokenCount: '4000',\n messageId: getLastAssistantMessageId(messages),\n provider: USE_BEDROCK ? 'bedrock' : USE_VERTEX ? 'vertex' : '1p',\n })\n return 4_000\n }\n\n logEvent('tengu_thinking', {\n method: 'scratchpad',\n tokenCount: '0',\n messageId: getLastAssistantMessageId(messages),\n provider: USE_BEDROCK ? 'bedrock' : USE_VERTEX ? 'vertex' : '1p',\n })\n return 0\n}\n\nexport async function getReasoningEffort(\n modelProfile: any,\n messages: Message[],\n): Promise<'low' | 'medium' | 'high' | null> {\n const thinkingTokens = await getMaxThinkingTokens(messages)\n\n // Get reasoning effort from ModelProfile first, then fallback to config\n let reasoningEffort: 'low' | 'medium' | 'high' | undefined\n if (modelProfile?.reasoningEffort) {\n reasoningEffort = modelProfile.reasoningEffort\n } else {\n // \uD83D\uDD27 Fix: Use ModelManager fallback instead of legacy config\n const modelManager = getModelManager()\n const fallbackProfile = modelManager.getModel('main')\n reasoningEffort = (fallbackProfile?.reasoningEffort === 'minimal' ? 'low' : fallbackProfile?.reasoningEffort) || 'medium'\n }\n\n const maxEffort =\n reasoningEffort === 'high'\n ? 2\n : reasoningEffort === 'medium'\n ? 1\n : reasoningEffort === 'low'\n ? 0\n : null\n if (!maxEffort) {\n return null\n }\n\n let effort = 0\n if (thinkingTokens < 10_000) {\n effort = 0\n } else if (thinkingTokens >= 10_000 && thinkingTokens < 30_000) {\n effort = 1\n } else {\n effort = 2\n }\n\n if (effort > maxEffort) {\n return maxEffort === 2 ? 'high' : maxEffort === 1 ? 'medium' : 'low'\n }\n\n return effort === 2 ? 'high' : effort === 1 ? 'medium' : 'low'\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,291 +0,0 @@
1
- import { setSessionState, getSessionState } from "./sessionState.js";
2
- import { readAgentData, writeAgentData, resolveAgentId } from "./agentStorage.js";
3
- const TODO_STORAGE_KEY = "todos";
4
- const TODO_CONFIG_KEY = "todoConfig";
5
- const TODO_CACHE_KEY = "todoCache";
6
- const DEFAULT_CONFIG = {
7
- maxTodos: 100,
8
- autoArchiveCompleted: false,
9
- sortBy: "status",
10
- // Using smart sorting now
11
- sortOrder: "desc"
12
- };
13
- let todoCache = null;
14
- let cacheTimestamp = 0;
15
- const CACHE_TTL = 5e3;
16
- function invalidateCache() {
17
- todoCache = null;
18
- cacheTimestamp = 0;
19
- }
20
- function updateMetrics(operation, cacheHit = false) {
21
- const sessionState = getSessionState();
22
- const metrics = sessionState.todoMetrics || {
23
- totalOperations: 0,
24
- cacheHits: 0,
25
- cacheMisses: 0,
26
- lastOperation: 0
27
- };
28
- metrics.totalOperations++;
29
- metrics.lastOperation = Date.now();
30
- if (cacheHit) {
31
- metrics.cacheHits++;
32
- } else {
33
- metrics.cacheMisses++;
34
- }
35
- setSessionState({
36
- ...sessionState,
37
- todoMetrics: metrics
38
- });
39
- }
40
- function getTodoMetrics() {
41
- const sessionState = getSessionState();
42
- return sessionState.todoMetrics || {
43
- totalOperations: 0,
44
- cacheHits: 0,
45
- cacheMisses: 0,
46
- lastOperation: 0
47
- };
48
- }
49
- function getTodos(agentId) {
50
- const resolvedAgentId = resolveAgentId(agentId);
51
- const now = Date.now();
52
- if (agentId) {
53
- updateMetrics("getTodos", false);
54
- const agentTodos = readAgentData(resolvedAgentId) || [];
55
- const agentCacheKey = `todoCache_${resolvedAgentId}`;
56
- return agentTodos;
57
- }
58
- if (todoCache && now - cacheTimestamp < CACHE_TTL) {
59
- updateMetrics("getTodos", true);
60
- return todoCache;
61
- }
62
- updateMetrics("getTodos", false);
63
- const sessionState = getSessionState();
64
- const todos = sessionState[TODO_STORAGE_KEY] || [];
65
- todoCache = [...todos];
66
- cacheTimestamp = now;
67
- return todos;
68
- }
69
- function setTodos(todos, agentId) {
70
- const resolvedAgentId = resolveAgentId(agentId);
71
- const config = getTodoConfig();
72
- const existingTodos = getTodos(agentId);
73
- if (agentId) {
74
- if (todos.length > config.maxTodos) {
75
- throw new Error(
76
- `Todo limit exceeded. Maximum ${config.maxTodos} todos allowed.`
77
- );
78
- }
79
- let processedTodos2 = todos;
80
- if (config.autoArchiveCompleted) {
81
- processedTodos2 = todos.filter((todo) => todo.status !== "completed");
82
- }
83
- const updatedTodos2 = processedTodos2.map((todo) => {
84
- const existingTodo = existingTodos.find(
85
- (existing) => existing.id === todo.id
86
- );
87
- return {
88
- ...todo,
89
- updatedAt: Date.now(),
90
- createdAt: todo.createdAt || Date.now(),
91
- previousStatus: existingTodo?.status !== todo.status ? existingTodo?.status : todo.previousStatus
92
- };
93
- });
94
- updatedTodos2.sort((a, b) => {
95
- const statusOrder = { in_progress: 3, pending: 2, completed: 1 };
96
- const statusDiff = statusOrder[b.status] - statusOrder[a.status];
97
- if (statusDiff !== 0) return statusDiff;
98
- const priorityOrder = { high: 3, medium: 2, low: 1 };
99
- const priorityDiff = priorityOrder[b.priority] - priorityOrder[a.priority];
100
- if (priorityDiff !== 0) return priorityDiff;
101
- const aTime = a.updatedAt || 0;
102
- const bTime = b.updatedAt || 0;
103
- return bTime - aTime;
104
- });
105
- writeAgentData(resolvedAgentId, updatedTodos2);
106
- updateMetrics("setTodos");
107
- return;
108
- }
109
- if (todos.length > config.maxTodos) {
110
- throw new Error(
111
- `Todo limit exceeded. Maximum ${config.maxTodos} todos allowed.`
112
- );
113
- }
114
- let processedTodos = todos;
115
- if (config.autoArchiveCompleted) {
116
- processedTodos = todos.filter((todo) => todo.status !== "completed");
117
- }
118
- const updatedTodos = processedTodos.map((todo) => {
119
- const existingTodo = existingTodos.find((existing) => existing.id === todo.id);
120
- return {
121
- ...todo,
122
- updatedAt: Date.now(),
123
- createdAt: todo.createdAt || Date.now(),
124
- previousStatus: existingTodo?.status !== todo.status ? existingTodo?.status : todo.previousStatus
125
- };
126
- });
127
- updatedTodos.sort((a, b) => {
128
- const statusOrder = { in_progress: 3, pending: 2, completed: 1 };
129
- const statusDiff = statusOrder[b.status] - statusOrder[a.status];
130
- if (statusDiff !== 0) return statusDiff;
131
- const priorityOrder = { high: 3, medium: 2, low: 1 };
132
- const priorityDiff = priorityOrder[b.priority] - priorityOrder[a.priority];
133
- if (priorityDiff !== 0) return priorityDiff;
134
- const aTime = a.updatedAt || 0;
135
- const bTime = b.updatedAt || 0;
136
- return bTime - aTime;
137
- });
138
- setSessionState({
139
- ...getSessionState(),
140
- [TODO_STORAGE_KEY]: updatedTodos
141
- });
142
- invalidateCache();
143
- updateMetrics("setTodos");
144
- }
145
- function getTodoConfig() {
146
- const sessionState = getSessionState();
147
- return { ...DEFAULT_CONFIG, ...sessionState[TODO_CONFIG_KEY] || {} };
148
- }
149
- function setTodoConfig(config) {
150
- const currentConfig = getTodoConfig();
151
- const newConfig = { ...currentConfig, ...config };
152
- setSessionState({
153
- ...getSessionState(),
154
- [TODO_CONFIG_KEY]: newConfig
155
- });
156
- if (config.sortBy || config.sortOrder) {
157
- const todos = getTodos();
158
- setTodos(todos);
159
- }
160
- }
161
- function addTodo(todo) {
162
- const todos = getTodos();
163
- if (todos.some((existing) => existing.id === todo.id)) {
164
- throw new Error(`Todo with ID '${todo.id}' already exists`);
165
- }
166
- const newTodo = {
167
- ...todo,
168
- createdAt: Date.now(),
169
- updatedAt: Date.now()
170
- };
171
- const updatedTodos = [...todos, newTodo];
172
- setTodos(updatedTodos);
173
- updateMetrics("addTodo");
174
- return updatedTodos;
175
- }
176
- function updateTodo(id, updates) {
177
- const todos = getTodos();
178
- const existingTodo = todos.find((todo) => todo.id === id);
179
- if (!existingTodo) {
180
- throw new Error(`Todo with ID '${id}' not found`);
181
- }
182
- const updatedTodos = todos.map(
183
- (todo) => todo.id === id ? { ...todo, ...updates, updatedAt: Date.now() } : todo
184
- );
185
- setTodos(updatedTodos);
186
- updateMetrics("updateTodo");
187
- return updatedTodos;
188
- }
189
- function deleteTodo(id) {
190
- const todos = getTodos();
191
- const todoExists = todos.some((todo) => todo.id === id);
192
- if (!todoExists) {
193
- throw new Error(`Todo with ID '${id}' not found`);
194
- }
195
- const updatedTodos = todos.filter((todo) => todo.id !== id);
196
- setTodos(updatedTodos);
197
- updateMetrics("deleteTodo");
198
- return updatedTodos;
199
- }
200
- function clearTodos() {
201
- setTodos([]);
202
- updateMetrics("clearTodos");
203
- }
204
- function getTodoById(id) {
205
- const todos = getTodos();
206
- updateMetrics("getTodoById");
207
- return todos.find((todo) => todo.id === id);
208
- }
209
- function getTodosByStatus(status) {
210
- const todos = getTodos();
211
- updateMetrics("getTodosByStatus");
212
- return todos.filter((todo) => todo.status === status);
213
- }
214
- function getTodosByPriority(priority) {
215
- const todos = getTodos();
216
- updateMetrics("getTodosByPriority");
217
- return todos.filter((todo) => todo.priority === priority);
218
- }
219
- function queryTodos(query) {
220
- const todos = getTodos();
221
- updateMetrics("queryTodos");
222
- return todos.filter((todo) => {
223
- if (query.status && !query.status.includes(todo.status)) {
224
- return false;
225
- }
226
- if (query.priority && !query.priority.includes(todo.priority)) {
227
- return false;
228
- }
229
- if (query.contentMatch && !todo.content.toLowerCase().includes(query.contentMatch.toLowerCase())) {
230
- return false;
231
- }
232
- if (query.tags && todo.tags) {
233
- const hasMatchingTag = query.tags.some((tag) => todo.tags.includes(tag));
234
- if (!hasMatchingTag) return false;
235
- }
236
- if (query.dateRange) {
237
- const todoDate = new Date(todo.createdAt || 0);
238
- if (query.dateRange.from && todoDate < query.dateRange.from) return false;
239
- if (query.dateRange.to && todoDate > query.dateRange.to) return false;
240
- }
241
- return true;
242
- });
243
- }
244
- function getTodoStatistics() {
245
- const todos = getTodos();
246
- const metrics = getTodoMetrics();
247
- return {
248
- total: todos.length,
249
- byStatus: {
250
- pending: todos.filter((t) => t.status === "pending").length,
251
- in_progress: todos.filter((t) => t.status === "in_progress").length,
252
- completed: todos.filter((t) => t.status === "completed").length
253
- },
254
- byPriority: {
255
- high: todos.filter((t) => t.priority === "high").length,
256
- medium: todos.filter((t) => t.priority === "medium").length,
257
- low: todos.filter((t) => t.priority === "low").length
258
- },
259
- metrics,
260
- cacheEfficiency: metrics.totalOperations > 0 ? Math.round(metrics.cacheHits / metrics.totalOperations * 100) : 0
261
- };
262
- }
263
- function optimizeTodoStorage() {
264
- invalidateCache();
265
- const todos = getTodos();
266
- const validTodos = todos.filter(
267
- (todo) => todo.id && todo.content && ["pending", "in_progress", "completed"].includes(todo.status) && ["high", "medium", "low"].includes(todo.priority)
268
- );
269
- if (validTodos.length !== todos.length) {
270
- setTodos(validTodos);
271
- }
272
- updateMetrics("optimizeTodoStorage");
273
- }
274
- export {
275
- addTodo,
276
- clearTodos,
277
- deleteTodo,
278
- getTodoById,
279
- getTodoConfig,
280
- getTodoMetrics,
281
- getTodoStatistics,
282
- getTodos,
283
- getTodosByPriority,
284
- getTodosByStatus,
285
- optimizeTodoStorage,
286
- queryTodos,
287
- setTodoConfig,
288
- setTodos,
289
- updateTodo
290
- };
291
- //# sourceMappingURL=todoStorage.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils/todoStorage.ts"],
4
- "sourcesContent": ["import { setSessionState, getSessionState } from './sessionState'\nimport { readAgentData, writeAgentData, resolveAgentId } from './agentStorage'\n\nexport interface TodoItem {\n id: string\n content: string\n status: 'pending' | 'in_progress' | 'completed'\n priority: 'high' | 'medium' | 'low'\n createdAt?: number\n updatedAt?: number\n tags?: string[]\n estimatedHours?: number\n previousStatus?: 'pending' | 'in_progress' | 'completed'\n}\n\nexport interface TodoQuery {\n status?: TodoItem['status'][]\n priority?: TodoItem['priority'][]\n contentMatch?: string\n tags?: string[]\n dateRange?: { from?: Date; to?: Date }\n}\n\nexport interface TodoStorageConfig {\n maxTodos: number\n autoArchiveCompleted: boolean\n sortBy: 'createdAt' | 'updatedAt' | 'priority' | 'status'\n sortOrder: 'asc' | 'desc'\n}\n\nconst TODO_STORAGE_KEY = 'todos'\nconst TODO_CONFIG_KEY = 'todoConfig'\nconst TODO_CACHE_KEY = 'todoCache'\n\n// Default configuration\nconst DEFAULT_CONFIG: TodoStorageConfig = {\n maxTodos: 100,\n autoArchiveCompleted: false,\n sortBy: 'status', // Using smart sorting now\n sortOrder: 'desc',\n}\n\n// In-memory cache for performance\nlet todoCache: TodoItem[] | null = null\nlet cacheTimestamp = 0\nconst CACHE_TTL = 5000 // 5 seconds cache\n\n// Performance metrics\nexport interface TodoMetrics {\n totalOperations: number\n cacheHits: number\n cacheMisses: number\n lastOperation: number\n}\n\nfunction invalidateCache(): void {\n todoCache = null\n cacheTimestamp = 0\n}\n\nfunction updateMetrics(operation: string, cacheHit: boolean = false): void {\n const sessionState = getSessionState() as any\n const metrics = sessionState.todoMetrics || {\n totalOperations: 0,\n cacheHits: 0,\n cacheMisses: 0,\n lastOperation: 0,\n }\n\n metrics.totalOperations++\n metrics.lastOperation = Date.now()\n\n if (cacheHit) {\n metrics.cacheHits++\n } else {\n metrics.cacheMisses++\n }\n\n setSessionState({\n ...sessionState,\n todoMetrics: metrics,\n })\n}\n\nexport function getTodoMetrics(): TodoMetrics {\n const sessionState = getSessionState() as any\n return (\n sessionState.todoMetrics || {\n totalOperations: 0,\n cacheHits: 0,\n cacheMisses: 0,\n lastOperation: 0,\n }\n )\n}\n\nexport function getTodos(agentId?: string): TodoItem[] {\n const resolvedAgentId = resolveAgentId(agentId)\n const now = Date.now()\n\n // For agent-scoped storage, use file-based storage instead of session state\n if (agentId) {\n updateMetrics('getTodos', false)\n const agentTodos = readAgentData<TodoItem[]>(resolvedAgentId) || []\n\n // Update cache with agent-specific cache key\n const agentCacheKey = `todoCache_${resolvedAgentId}`\n // Note: In production, we'd want agent-specific caching\n\n return agentTodos\n }\n\n // Original session-based storage for backward compatibility\n // Check cache first\n if (todoCache && now - cacheTimestamp < CACHE_TTL) {\n updateMetrics('getTodos', true)\n return todoCache\n }\n\n updateMetrics('getTodos', false)\n const sessionState = getSessionState()\n const todos = (sessionState as any)[TODO_STORAGE_KEY] || []\n\n // Update cache\n todoCache = [...todos]\n cacheTimestamp = now\n\n return todos\n}\n\nexport function setTodos(todos: TodoItem[], agentId?: string): void {\n const resolvedAgentId = resolveAgentId(agentId)\n const config = getTodoConfig()\n const existingTodos = getTodos(agentId)\n\n // For agent-scoped storage, use file-based storage\n if (agentId) {\n // Validate todo limit\n if (todos.length > config.maxTodos) {\n throw new Error(\n `Todo limit exceeded. Maximum ${config.maxTodos} todos allowed.`,\n )\n }\n\n // Auto-archive completed todos if enabled\n let processedTodos = todos\n if (config.autoArchiveCompleted) {\n processedTodos = todos.filter(todo => todo.status !== 'completed')\n }\n\n const updatedTodos = processedTodos.map(todo => {\n // Find existing todo to track status changes\n const existingTodo = existingTodos.find(\n existing => existing.id === todo.id,\n )\n\n return {\n ...todo,\n updatedAt: Date.now(),\n createdAt: todo.createdAt || Date.now(),\n previousStatus:\n existingTodo?.status !== todo.status\n ? existingTodo?.status\n : todo.previousStatus,\n }\n })\n\n // Smart sorting for agent todos\n updatedTodos.sort((a, b) => {\n // 1. Status priority: in_progress > pending > completed\n const statusOrder = { in_progress: 3, pending: 2, completed: 1 }\n const statusDiff = statusOrder[b.status] - statusOrder[a.status]\n if (statusDiff !== 0) return statusDiff\n\n // 2. For same status, sort by priority: high > medium > low\n const priorityOrder = { high: 3, medium: 2, low: 1 }\n const priorityDiff = priorityOrder[b.priority] - priorityOrder[a.priority]\n if (priorityDiff !== 0) return priorityDiff\n\n // 3. For same status and priority, sort by updatedAt (newest first)\n const aTime = a.updatedAt || 0\n const bTime = b.updatedAt || 0\n return bTime - aTime\n })\n\n // Write to agent-specific storage\n writeAgentData(resolvedAgentId, updatedTodos)\n updateMetrics('setTodos')\n return\n }\n\n // Original session-based logic for backward compatibility\n // Validate todo limit\n if (todos.length > config.maxTodos) {\n throw new Error(\n `Todo limit exceeded. Maximum ${config.maxTodos} todos allowed.`,\n )\n }\n\n // Auto-archive completed todos if enabled\n let processedTodos = todos\n if (config.autoArchiveCompleted) {\n processedTodos = todos.filter(todo => todo.status !== 'completed')\n }\n\n const updatedTodos = processedTodos.map(todo => {\n // Find existing todo to track status changes\n const existingTodo = existingTodos.find(existing => existing.id === todo.id)\n\n return {\n ...todo,\n updatedAt: Date.now(),\n createdAt: todo.createdAt || Date.now(),\n previousStatus:\n existingTodo?.status !== todo.status\n ? existingTodo?.status\n : todo.previousStatus,\n }\n })\n\n // Smart sorting: status -> priority -> updatedAt\n updatedTodos.sort((a, b) => {\n // 1. Status priority: in_progress > pending > completed\n const statusOrder = { in_progress: 3, pending: 2, completed: 1 }\n const statusDiff = statusOrder[b.status] - statusOrder[a.status]\n if (statusDiff !== 0) return statusDiff\n\n // 2. For same status, sort by priority: high > medium > low\n const priorityOrder = { high: 3, medium: 2, low: 1 }\n const priorityDiff = priorityOrder[b.priority] - priorityOrder[a.priority]\n if (priorityDiff !== 0) return priorityDiff\n\n // 3. For same status and priority, sort by updatedAt (newest first)\n const aTime = a.updatedAt || 0\n const bTime = b.updatedAt || 0\n return bTime - aTime\n })\n\n setSessionState({\n ...getSessionState(),\n [TODO_STORAGE_KEY]: updatedTodos,\n } as any)\n\n // Invalidate cache\n invalidateCache()\n updateMetrics('setTodos')\n}\n\nexport function getTodoConfig(): TodoStorageConfig {\n const sessionState = getSessionState() as any\n return { ...DEFAULT_CONFIG, ...(sessionState[TODO_CONFIG_KEY] || {}) }\n}\n\nexport function setTodoConfig(config: Partial<TodoStorageConfig>): void {\n const currentConfig = getTodoConfig()\n const newConfig = { ...currentConfig, ...config }\n\n setSessionState({\n ...getSessionState(),\n [TODO_CONFIG_KEY]: newConfig,\n } as any)\n\n // Re-sort existing todos if sort order changed\n if (config.sortBy || config.sortOrder) {\n const todos = getTodos()\n setTodos(todos) // This will re-sort according to new config\n }\n}\n\nexport function addTodo(\n todo: Omit<TodoItem, 'createdAt' | 'updatedAt'>,\n): TodoItem[] {\n const todos = getTodos()\n\n // Check for duplicate IDs\n if (todos.some(existing => existing.id === todo.id)) {\n throw new Error(`Todo with ID '${todo.id}' already exists`)\n }\n\n const newTodo: TodoItem = {\n ...todo,\n createdAt: Date.now(),\n updatedAt: Date.now(),\n }\n\n const updatedTodos = [...todos, newTodo]\n setTodos(updatedTodos)\n updateMetrics('addTodo')\n return updatedTodos\n}\n\nexport function updateTodo(id: string, updates: Partial<TodoItem>): TodoItem[] {\n const todos = getTodos()\n const existingTodo = todos.find(todo => todo.id === id)\n\n if (!existingTodo) {\n throw new Error(`Todo with ID '${id}' not found`)\n }\n\n const updatedTodos = todos.map(todo =>\n todo.id === id ? { ...todo, ...updates, updatedAt: Date.now() } : todo,\n )\n\n setTodos(updatedTodos)\n updateMetrics('updateTodo')\n return updatedTodos\n}\n\nexport function deleteTodo(id: string): TodoItem[] {\n const todos = getTodos()\n const todoExists = todos.some(todo => todo.id === id)\n\n if (!todoExists) {\n throw new Error(`Todo with ID '${id}' not found`)\n }\n\n const updatedTodos = todos.filter(todo => todo.id !== id)\n setTodos(updatedTodos)\n updateMetrics('deleteTodo')\n return updatedTodos\n}\n\nexport function clearTodos(): void {\n setTodos([])\n updateMetrics('clearTodos')\n}\n\nexport function getTodoById(id: string): TodoItem | undefined {\n const todos = getTodos()\n updateMetrics('getTodoById')\n return todos.find(todo => todo.id === id)\n}\n\nexport function getTodosByStatus(status: TodoItem['status']): TodoItem[] {\n const todos = getTodos()\n updateMetrics('getTodosByStatus')\n return todos.filter(todo => todo.status === status)\n}\n\nexport function getTodosByPriority(priority: TodoItem['priority']): TodoItem[] {\n const todos = getTodos()\n updateMetrics('getTodosByPriority')\n return todos.filter(todo => todo.priority === priority)\n}\n\n// Advanced query function\nexport function queryTodos(query: TodoQuery): TodoItem[] {\n const todos = getTodos()\n updateMetrics('queryTodos')\n\n return todos.filter(todo => {\n // Status filter\n if (query.status && !query.status.includes(todo.status)) {\n return false\n }\n\n // Priority filter\n if (query.priority && !query.priority.includes(todo.priority)) {\n return false\n }\n\n // Content search\n if (\n query.contentMatch &&\n !todo.content.toLowerCase().includes(query.contentMatch.toLowerCase())\n ) {\n return false\n }\n\n // Tags filter\n if (query.tags && todo.tags) {\n const hasMatchingTag = query.tags.some(tag => todo.tags!.includes(tag))\n if (!hasMatchingTag) return false\n }\n\n // Date range filter\n if (query.dateRange) {\n const todoDate = new Date(todo.createdAt || 0)\n if (query.dateRange.from && todoDate < query.dateRange.from) return false\n if (query.dateRange.to && todoDate > query.dateRange.to) return false\n }\n\n return true\n })\n}\n\n// Utility functions\nexport function getTodoStatistics() {\n const todos = getTodos()\n const metrics = getTodoMetrics()\n\n return {\n total: todos.length,\n byStatus: {\n pending: todos.filter(t => t.status === 'pending').length,\n in_progress: todos.filter(t => t.status === 'in_progress').length,\n completed: todos.filter(t => t.status === 'completed').length,\n },\n byPriority: {\n high: todos.filter(t => t.priority === 'high').length,\n medium: todos.filter(t => t.priority === 'medium').length,\n low: todos.filter(t => t.priority === 'low').length,\n },\n metrics,\n cacheEfficiency:\n metrics.totalOperations > 0\n ? Math.round((metrics.cacheHits / metrics.totalOperations) * 100)\n : 0,\n }\n}\n\nexport function optimizeTodoStorage(): void {\n // Force cache refresh\n invalidateCache()\n\n // Compact storage by removing any invalid entries\n const todos = getTodos()\n const validTodos = todos.filter(\n todo =>\n todo.id &&\n todo.content &&\n ['pending', 'in_progress', 'completed'].includes(todo.status) &&\n ['high', 'medium', 'low'].includes(todo.priority),\n )\n\n if (validTodos.length !== todos.length) {\n setTodos(validTodos)\n }\n\n updateMetrics('optimizeTodoStorage')\n}\n"],
5
- "mappings": "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",
6
- "names": ["processedTodos", "updatedTodos"]
7
- }
@@ -1,30 +0,0 @@
1
- import { SYNTHETIC_ASSISTANT_MESSAGES } from "./messages.js";
2
- function countTokens(messages) {
3
- let i = messages.length - 1;
4
- while (i >= 0) {
5
- const message = messages[i];
6
- if (message?.type === "assistant" && "usage" in message.message && !(message.message.content[0]?.type === "text" && SYNTHETIC_ASSISTANT_MESSAGES.has(message.message.content[0].text))) {
7
- const { usage } = message.message;
8
- return usage.input_tokens + (usage.cache_creation_input_tokens ?? 0) + (usage.cache_read_input_tokens ?? 0) + usage.output_tokens;
9
- }
10
- i--;
11
- }
12
- return 0;
13
- }
14
- function countCachedTokens(messages) {
15
- let i = messages.length - 1;
16
- while (i >= 0) {
17
- const message = messages[i];
18
- if (message?.type === "assistant" && "usage" in message.message) {
19
- const { usage } = message.message;
20
- return (usage.cache_creation_input_tokens ?? 0) + (usage.cache_read_input_tokens ?? 0);
21
- }
22
- i--;
23
- }
24
- return 0;
25
- }
26
- export {
27
- countCachedTokens,
28
- countTokens
29
- };
30
- //# sourceMappingURL=tokens.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils/tokens.ts"],
4
- "sourcesContent": ["import { Message } from '../query'\nimport { SYNTHETIC_ASSISTANT_MESSAGES } from './messages'\n\nexport function countTokens(messages: Message[]): number {\n let i = messages.length - 1\n while (i >= 0) {\n const message = messages[i]\n if (\n message?.type === 'assistant' &&\n 'usage' in message.message &&\n !(\n message.message.content[0]?.type === 'text' &&\n SYNTHETIC_ASSISTANT_MESSAGES.has(message.message.content[0].text)\n )\n ) {\n const { usage } = message.message\n return (\n usage.input_tokens +\n (usage.cache_creation_input_tokens ?? 0) +\n (usage.cache_read_input_tokens ?? 0) +\n usage.output_tokens\n )\n }\n i--\n }\n return 0\n}\n\nexport function countCachedTokens(messages: Message[]): number {\n let i = messages.length - 1\n while (i >= 0) {\n const message = messages[i]\n if (message?.type === 'assistant' && 'usage' in message.message) {\n const { usage } = message.message\n return (\n (usage.cache_creation_input_tokens ?? 0) +\n (usage.cache_read_input_tokens ?? 0)\n )\n }\n i--\n }\n return 0\n}\n"],
5
- "mappings": "AACA,SAAS,oCAAoC;AAEtC,SAAS,YAAY,UAA6B;AACvD,MAAI,IAAI,SAAS,SAAS;AAC1B,SAAO,KAAK,GAAG;AACb,UAAM,UAAU,SAAS,CAAC;AAC1B,QACE,SAAS,SAAS,eAClB,WAAW,QAAQ,WACnB,EACE,QAAQ,QAAQ,QAAQ,CAAC,GAAG,SAAS,UACrC,6BAA6B,IAAI,QAAQ,QAAQ,QAAQ,CAAC,EAAE,IAAI,IAElE;AACA,YAAM,EAAE,MAAM,IAAI,QAAQ;AAC1B,aACE,MAAM,gBACL,MAAM,+BAA+B,MACrC,MAAM,2BAA2B,KAClC,MAAM;AAAA,IAEV;AACA;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,kBAAkB,UAA6B;AAC7D,MAAI,IAAI,SAAS,SAAS;AAC1B,SAAO,KAAK,GAAG;AACb,UAAM,UAAU,SAAS,CAAC;AAC1B,QAAI,SAAS,SAAS,eAAe,WAAW,QAAQ,SAAS;AAC/D,YAAM,EAAE,MAAM,IAAI,QAAQ;AAC1B,cACG,MAAM,+BAA+B,MACrC,MAAM,2BAA2B;AAAA,IAEtC;AACA;AAAA,EACF;AACA,SAAO;AACT;",
6
- "names": []
7
- }