@shareai-lab/kode 1.0.9

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 (286) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +426 -0
  3. package/README.zh-CN.md +326 -0
  4. package/cli.js +79 -0
  5. package/package.json +119 -0
  6. package/scripts/postinstall.js +18 -0
  7. package/src/ProjectOnboarding.tsx +198 -0
  8. package/src/Tool.ts +82 -0
  9. package/src/commands/agents.tsx +3410 -0
  10. package/src/commands/approvedTools.ts +53 -0
  11. package/src/commands/bug.tsx +20 -0
  12. package/src/commands/clear.ts +43 -0
  13. package/src/commands/compact.ts +120 -0
  14. package/src/commands/config.tsx +19 -0
  15. package/src/commands/cost.ts +18 -0
  16. package/src/commands/ctx_viz.ts +209 -0
  17. package/src/commands/doctor.ts +24 -0
  18. package/src/commands/help.tsx +19 -0
  19. package/src/commands/init.ts +37 -0
  20. package/src/commands/listen.ts +42 -0
  21. package/src/commands/login.tsx +51 -0
  22. package/src/commands/logout.tsx +40 -0
  23. package/src/commands/mcp.ts +41 -0
  24. package/src/commands/model.tsx +40 -0
  25. package/src/commands/modelstatus.tsx +20 -0
  26. package/src/commands/onboarding.tsx +34 -0
  27. package/src/commands/pr_comments.ts +59 -0
  28. package/src/commands/refreshCommands.ts +54 -0
  29. package/src/commands/release-notes.ts +34 -0
  30. package/src/commands/resume.tsx +31 -0
  31. package/src/commands/review.ts +49 -0
  32. package/src/commands/terminalSetup.ts +221 -0
  33. package/src/commands.ts +139 -0
  34. package/src/components/ApproveApiKey.tsx +93 -0
  35. package/src/components/AsciiLogo.tsx +13 -0
  36. package/src/components/AutoUpdater.tsx +148 -0
  37. package/src/components/Bug.tsx +367 -0
  38. package/src/components/Config.tsx +293 -0
  39. package/src/components/ConsoleOAuthFlow.tsx +327 -0
  40. package/src/components/Cost.tsx +23 -0
  41. package/src/components/CostThresholdDialog.tsx +46 -0
  42. package/src/components/CustomSelect/option-map.ts +42 -0
  43. package/src/components/CustomSelect/select-option.tsx +78 -0
  44. package/src/components/CustomSelect/select.tsx +152 -0
  45. package/src/components/CustomSelect/theme.ts +45 -0
  46. package/src/components/CustomSelect/use-select-state.ts +414 -0
  47. package/src/components/CustomSelect/use-select.ts +35 -0
  48. package/src/components/FallbackToolUseRejectedMessage.tsx +15 -0
  49. package/src/components/FileEditToolUpdatedMessage.tsx +66 -0
  50. package/src/components/Help.tsx +215 -0
  51. package/src/components/HighlightedCode.tsx +33 -0
  52. package/src/components/InvalidConfigDialog.tsx +113 -0
  53. package/src/components/Link.tsx +32 -0
  54. package/src/components/LogSelector.tsx +86 -0
  55. package/src/components/Logo.tsx +170 -0
  56. package/src/components/MCPServerApprovalDialog.tsx +100 -0
  57. package/src/components/MCPServerDialogCopy.tsx +25 -0
  58. package/src/components/MCPServerMultiselectDialog.tsx +109 -0
  59. package/src/components/Message.tsx +221 -0
  60. package/src/components/MessageResponse.tsx +15 -0
  61. package/src/components/MessageSelector.tsx +211 -0
  62. package/src/components/ModeIndicator.tsx +88 -0
  63. package/src/components/ModelConfig.tsx +301 -0
  64. package/src/components/ModelListManager.tsx +227 -0
  65. package/src/components/ModelSelector.tsx +3387 -0
  66. package/src/components/ModelStatusDisplay.tsx +230 -0
  67. package/src/components/Onboarding.tsx +274 -0
  68. package/src/components/PressEnterToContinue.tsx +11 -0
  69. package/src/components/PromptInput.tsx +760 -0
  70. package/src/components/SentryErrorBoundary.ts +39 -0
  71. package/src/components/Spinner.tsx +129 -0
  72. package/src/components/StickerRequestForm.tsx +16 -0
  73. package/src/components/StructuredDiff.tsx +191 -0
  74. package/src/components/TextInput.tsx +259 -0
  75. package/src/components/TodoItem.tsx +47 -0
  76. package/src/components/TokenWarning.tsx +31 -0
  77. package/src/components/ToolUseLoader.tsx +40 -0
  78. package/src/components/TrustDialog.tsx +106 -0
  79. package/src/components/binary-feedback/BinaryFeedback.tsx +63 -0
  80. package/src/components/binary-feedback/BinaryFeedbackOption.tsx +111 -0
  81. package/src/components/binary-feedback/BinaryFeedbackView.tsx +172 -0
  82. package/src/components/binary-feedback/utils.ts +220 -0
  83. package/src/components/messages/AssistantBashOutputMessage.tsx +22 -0
  84. package/src/components/messages/AssistantLocalCommandOutputMessage.tsx +49 -0
  85. package/src/components/messages/AssistantRedactedThinkingMessage.tsx +19 -0
  86. package/src/components/messages/AssistantTextMessage.tsx +144 -0
  87. package/src/components/messages/AssistantThinkingMessage.tsx +40 -0
  88. package/src/components/messages/AssistantToolUseMessage.tsx +133 -0
  89. package/src/components/messages/TaskProgressMessage.tsx +32 -0
  90. package/src/components/messages/TaskToolMessage.tsx +58 -0
  91. package/src/components/messages/UserBashInputMessage.tsx +28 -0
  92. package/src/components/messages/UserCommandMessage.tsx +30 -0
  93. package/src/components/messages/UserKodingInputMessage.tsx +28 -0
  94. package/src/components/messages/UserPromptMessage.tsx +35 -0
  95. package/src/components/messages/UserTextMessage.tsx +39 -0
  96. package/src/components/messages/UserToolResultMessage/UserToolCanceledMessage.tsx +12 -0
  97. package/src/components/messages/UserToolResultMessage/UserToolErrorMessage.tsx +36 -0
  98. package/src/components/messages/UserToolResultMessage/UserToolRejectMessage.tsx +31 -0
  99. package/src/components/messages/UserToolResultMessage/UserToolResultMessage.tsx +57 -0
  100. package/src/components/messages/UserToolResultMessage/UserToolSuccessMessage.tsx +35 -0
  101. package/src/components/messages/UserToolResultMessage/utils.tsx +56 -0
  102. package/src/components/permissions/BashPermissionRequest/BashPermissionRequest.tsx +121 -0
  103. package/src/components/permissions/FallbackPermissionRequest.tsx +153 -0
  104. package/src/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.tsx +182 -0
  105. package/src/components/permissions/FileEditPermissionRequest/FileEditToolDiff.tsx +77 -0
  106. package/src/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.tsx +164 -0
  107. package/src/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.tsx +83 -0
  108. package/src/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.tsx +240 -0
  109. package/src/components/permissions/PermissionRequest.tsx +101 -0
  110. package/src/components/permissions/PermissionRequestTitle.tsx +69 -0
  111. package/src/components/permissions/hooks.ts +44 -0
  112. package/src/components/permissions/toolUseOptions.ts +59 -0
  113. package/src/components/permissions/utils.ts +23 -0
  114. package/src/constants/betas.ts +5 -0
  115. package/src/constants/claude-asterisk-ascii-art.tsx +238 -0
  116. package/src/constants/figures.ts +4 -0
  117. package/src/constants/keys.ts +3 -0
  118. package/src/constants/macros.ts +8 -0
  119. package/src/constants/modelCapabilities.ts +179 -0
  120. package/src/constants/models.ts +1025 -0
  121. package/src/constants/oauth.ts +18 -0
  122. package/src/constants/product.ts +17 -0
  123. package/src/constants/prompts.ts +168 -0
  124. package/src/constants/releaseNotes.ts +7 -0
  125. package/src/context/PermissionContext.tsx +149 -0
  126. package/src/context.ts +278 -0
  127. package/src/cost-tracker.ts +84 -0
  128. package/src/entrypoints/cli.tsx +1542 -0
  129. package/src/entrypoints/mcp.ts +176 -0
  130. package/src/history.ts +25 -0
  131. package/src/hooks/useApiKeyVerification.ts +59 -0
  132. package/src/hooks/useArrowKeyHistory.ts +55 -0
  133. package/src/hooks/useCanUseTool.ts +138 -0
  134. package/src/hooks/useCancelRequest.ts +39 -0
  135. package/src/hooks/useDoublePress.ts +42 -0
  136. package/src/hooks/useExitOnCtrlCD.ts +31 -0
  137. package/src/hooks/useInterval.ts +25 -0
  138. package/src/hooks/useLogMessages.ts +16 -0
  139. package/src/hooks/useLogStartupTime.ts +12 -0
  140. package/src/hooks/useNotifyAfterTimeout.ts +65 -0
  141. package/src/hooks/usePermissionRequestLogging.ts +44 -0
  142. package/src/hooks/useTerminalSize.ts +49 -0
  143. package/src/hooks/useTextInput.ts +318 -0
  144. package/src/hooks/useUnifiedCompletion.ts +1405 -0
  145. package/src/messages.ts +38 -0
  146. package/src/permissions.ts +268 -0
  147. package/src/query.ts +715 -0
  148. package/src/screens/ConfigureNpmPrefix.tsx +197 -0
  149. package/src/screens/Doctor.tsx +219 -0
  150. package/src/screens/LogList.tsx +68 -0
  151. package/src/screens/REPL.tsx +809 -0
  152. package/src/screens/ResumeConversation.tsx +68 -0
  153. package/src/services/adapters/base.ts +38 -0
  154. package/src/services/adapters/chatCompletions.ts +90 -0
  155. package/src/services/adapters/responsesAPI.ts +170 -0
  156. package/src/services/browserMocks.ts +66 -0
  157. package/src/services/claude.ts +2197 -0
  158. package/src/services/customCommands.ts +704 -0
  159. package/src/services/fileFreshness.ts +377 -0
  160. package/src/services/gpt5ConnectionTest.ts +340 -0
  161. package/src/services/mcpClient.ts +564 -0
  162. package/src/services/mcpServerApproval.tsx +50 -0
  163. package/src/services/mentionProcessor.ts +273 -0
  164. package/src/services/modelAdapterFactory.ts +69 -0
  165. package/src/services/notifier.ts +40 -0
  166. package/src/services/oauth.ts +357 -0
  167. package/src/services/openai.ts +1338 -0
  168. package/src/services/responseStateManager.ts +90 -0
  169. package/src/services/sentry.ts +3 -0
  170. package/src/services/statsig.ts +172 -0
  171. package/src/services/statsigStorage.ts +86 -0
  172. package/src/services/systemReminder.ts +507 -0
  173. package/src/services/vcr.ts +161 -0
  174. package/src/test/testAdapters.ts +96 -0
  175. package/src/tools/ArchitectTool/ArchitectTool.tsx +122 -0
  176. package/src/tools/ArchitectTool/prompt.ts +15 -0
  177. package/src/tools/AskExpertModelTool/AskExpertModelTool.tsx +569 -0
  178. package/src/tools/BashTool/BashTool.tsx +243 -0
  179. package/src/tools/BashTool/BashToolResultMessage.tsx +38 -0
  180. package/src/tools/BashTool/OutputLine.tsx +49 -0
  181. package/src/tools/BashTool/prompt.ts +174 -0
  182. package/src/tools/BashTool/utils.ts +56 -0
  183. package/src/tools/FileEditTool/FileEditTool.tsx +315 -0
  184. package/src/tools/FileEditTool/prompt.ts +51 -0
  185. package/src/tools/FileEditTool/utils.ts +58 -0
  186. package/src/tools/FileReadTool/FileReadTool.tsx +404 -0
  187. package/src/tools/FileReadTool/prompt.ts +7 -0
  188. package/src/tools/FileWriteTool/FileWriteTool.tsx +297 -0
  189. package/src/tools/FileWriteTool/prompt.ts +10 -0
  190. package/src/tools/GlobTool/GlobTool.tsx +119 -0
  191. package/src/tools/GlobTool/prompt.ts +8 -0
  192. package/src/tools/GrepTool/GrepTool.tsx +147 -0
  193. package/src/tools/GrepTool/prompt.ts +11 -0
  194. package/src/tools/MCPTool/MCPTool.tsx +107 -0
  195. package/src/tools/MCPTool/prompt.ts +3 -0
  196. package/src/tools/MemoryReadTool/MemoryReadTool.tsx +127 -0
  197. package/src/tools/MemoryReadTool/prompt.ts +3 -0
  198. package/src/tools/MemoryWriteTool/MemoryWriteTool.tsx +89 -0
  199. package/src/tools/MemoryWriteTool/prompt.ts +3 -0
  200. package/src/tools/MultiEditTool/MultiEditTool.tsx +366 -0
  201. package/src/tools/MultiEditTool/prompt.ts +45 -0
  202. package/src/tools/NotebookEditTool/NotebookEditTool.tsx +298 -0
  203. package/src/tools/NotebookEditTool/prompt.ts +3 -0
  204. package/src/tools/NotebookReadTool/NotebookReadTool.tsx +258 -0
  205. package/src/tools/NotebookReadTool/prompt.ts +3 -0
  206. package/src/tools/StickerRequestTool/StickerRequestTool.tsx +93 -0
  207. package/src/tools/StickerRequestTool/prompt.ts +19 -0
  208. package/src/tools/TaskTool/TaskTool.tsx +466 -0
  209. package/src/tools/TaskTool/constants.ts +1 -0
  210. package/src/tools/TaskTool/prompt.ts +92 -0
  211. package/src/tools/ThinkTool/ThinkTool.tsx +54 -0
  212. package/src/tools/ThinkTool/prompt.ts +12 -0
  213. package/src/tools/TodoWriteTool/TodoWriteTool.tsx +313 -0
  214. package/src/tools/TodoWriteTool/prompt.ts +63 -0
  215. package/src/tools/URLFetcherTool/URLFetcherTool.tsx +178 -0
  216. package/src/tools/URLFetcherTool/cache.ts +55 -0
  217. package/src/tools/URLFetcherTool/htmlToMarkdown.ts +55 -0
  218. package/src/tools/URLFetcherTool/prompt.ts +17 -0
  219. package/src/tools/WebSearchTool/WebSearchTool.tsx +103 -0
  220. package/src/tools/WebSearchTool/prompt.ts +13 -0
  221. package/src/tools/WebSearchTool/searchProviders.ts +66 -0
  222. package/src/tools/lsTool/lsTool.tsx +272 -0
  223. package/src/tools/lsTool/prompt.ts +2 -0
  224. package/src/tools.ts +67 -0
  225. package/src/types/PermissionMode.ts +120 -0
  226. package/src/types/RequestContext.ts +72 -0
  227. package/src/types/conversation.ts +51 -0
  228. package/src/types/logs.ts +58 -0
  229. package/src/types/modelCapabilities.ts +64 -0
  230. package/src/types/notebook.ts +87 -0
  231. package/src/utils/Cursor.ts +436 -0
  232. package/src/utils/PersistentShell.ts +552 -0
  233. package/src/utils/advancedFuzzyMatcher.ts +290 -0
  234. package/src/utils/agentLoader.ts +278 -0
  235. package/src/utils/agentStorage.ts +97 -0
  236. package/src/utils/array.ts +3 -0
  237. package/src/utils/ask.tsx +99 -0
  238. package/src/utils/auth.ts +13 -0
  239. package/src/utils/autoCompactCore.ts +223 -0
  240. package/src/utils/autoUpdater.ts +458 -0
  241. package/src/utils/betas.ts +20 -0
  242. package/src/utils/browser.ts +14 -0
  243. package/src/utils/cleanup.ts +72 -0
  244. package/src/utils/commands.ts +261 -0
  245. package/src/utils/commonUnixCommands.ts +161 -0
  246. package/src/utils/config.ts +945 -0
  247. package/src/utils/conversationRecovery.ts +55 -0
  248. package/src/utils/debugLogger.ts +1235 -0
  249. package/src/utils/diff.ts +42 -0
  250. package/src/utils/env.ts +57 -0
  251. package/src/utils/errors.ts +21 -0
  252. package/src/utils/exampleCommands.ts +109 -0
  253. package/src/utils/execFileNoThrow.ts +51 -0
  254. package/src/utils/expertChatStorage.ts +136 -0
  255. package/src/utils/file.ts +405 -0
  256. package/src/utils/fileRecoveryCore.ts +71 -0
  257. package/src/utils/format.tsx +44 -0
  258. package/src/utils/fuzzyMatcher.ts +328 -0
  259. package/src/utils/generators.ts +62 -0
  260. package/src/utils/git.ts +92 -0
  261. package/src/utils/globalLogger.ts +77 -0
  262. package/src/utils/http.ts +10 -0
  263. package/src/utils/imagePaste.ts +38 -0
  264. package/src/utils/json.ts +13 -0
  265. package/src/utils/log.ts +382 -0
  266. package/src/utils/markdown.ts +213 -0
  267. package/src/utils/messageContextManager.ts +289 -0
  268. package/src/utils/messages.tsx +939 -0
  269. package/src/utils/model.ts +914 -0
  270. package/src/utils/permissions/filesystem.ts +127 -0
  271. package/src/utils/responseState.ts +23 -0
  272. package/src/utils/ripgrep.ts +167 -0
  273. package/src/utils/secureFile.ts +564 -0
  274. package/src/utils/sessionState.ts +49 -0
  275. package/src/utils/state.ts +25 -0
  276. package/src/utils/style.ts +29 -0
  277. package/src/utils/terminal.ts +50 -0
  278. package/src/utils/theme.ts +127 -0
  279. package/src/utils/thinking.ts +144 -0
  280. package/src/utils/todoStorage.ts +431 -0
  281. package/src/utils/tokens.ts +43 -0
  282. package/src/utils/toolExecutionController.ts +163 -0
  283. package/src/utils/unaryLogging.ts +26 -0
  284. package/src/utils/user.ts +37 -0
  285. package/src/utils/validate.ts +165 -0
  286. package/yoga.wasm +0 -0
@@ -0,0 +1,238 @@
1
+ export const largeAnimatedAray = [
2
+ `
3
+ .=#*=. :==.
4
+ -%%%%=. .#%#=
5
+ .=%%%#= :%%#: -=+-
6
+ ... .=%%%*- =@%+ :+%%%%.
7
+ :*%%+= .=%%%*- +%%= .=%%%%%=
8
+ .=#%%%#=..=#%%*: *%#:-*%%%%+:
9
+ .=*%%%%+==#%%+.%%+=#%%%%=.
10
+ :=#%%%##%%%*%%%%%%%*- .
11
+ -=#%%%%%%%%%%%%+-====+*%%%+.
12
+ .============-=*%%%%%%%%%%%%%%%%#+===:
13
+ =======+++****%%%%%%%%%%#+==:.
14
+ -=*%%%%%%%%%*+#%%%%%%%#*=.
15
+ .=+#%#++#%%%%%%%%+-..-==+*##=.
16
+ .=+%%%+=-+%#=*%+%%%##%+:
17
+ .+%%%*=. =*%+:-%%:=#%#==#%+:
18
+ .=+=. .=%%=. +%#. -*%%=:=*%+-
19
+ -*%#= .#%* :*%%+: :=*.
20
+ .=%%=. =%%= .=%%=.
21
+ :=. +%%= .-=:
22
+ =#+.
23
+ `,
24
+ `
25
+ .=*+=. .==.
26
+ -####=. .*#*=
27
+ .=###*- :##*: -==-
28
+ ... .=###+- =%#+ :+####.
29
+ .+##+- .=###+: =##= .=*####-
30
+ .=*###*=..=*##+. +#*::+####=.
31
+ .=+###*=-=*##+.*#==*###*=.
32
+ .=*###**###+#######+-
33
+ :=*############+--====*###=.
34
+ .===========--=+################*+===.
35
+ -=========++++##########*+==.
36
+ :=*#########*+*#######*+=.
37
+ .==*#*==*########=-..-===+**=.
38
+ .==*##+=:=#*-*#+###**#+:
39
+ .=###+=. -+#+::##:=*#*==*#=:
40
+ .===. .=##=. =#*. -+#*=:=+#=-
41
+ -+#*= .*#+ :+##+: :=*.
42
+ =#*=. =##= .=##=.
43
+ :=. =##= -=:
44
+ =*+.
45
+ `,
46
+ `
47
+ .=+==. .=-.
48
+ :****= .+*+=
49
+ .=***+- :**+: -==:
50
+ ... .=***+: -**= :=****.
51
+ .+**=- .=***=: =**= .=*****-
52
+ .=+***+=..=+**=. =*+.:=****=.
53
+ ==****=-=+**=.**==+****=.
54
+ .=+***++***+*******=:
55
+ :=+************=:-====+***=.
56
+ .==========--:-+****************+====.
57
+ -============+**********+==-.
58
+ :=+*********+=+*******+==.
59
+ .-=+*+==+********=:..:====++=.
60
+ ==***=-:=*+-+*=***++*=:
61
+ .=***+=. -+*=::**.-+*+==+*=:
62
+ .===. .=**=. =*+. :+**=.=+*=-
63
+ :+*+- .+*+ :=**=: :=+.
64
+ =**=. -**= .=**=.
65
+ :-. =**- :=.
66
+ =+=.
67
+ `,
68
+ `
69
+ .===-. .=-.
70
+ :++++= =+=-
71
+ .=+++=: .++=: :==:
72
+ .. .=+++=: -++= :=++++
73
+ .=++=: .=+++=: =++= .=+++++:
74
+ .==+++==..==++=. =+=.:=++++=.
75
+ -=++++=--=++=.++=-=++++=.
76
+ .==+++==+++=+++++++=:
77
+ :==++++++++++++=::=====+++=.
78
+ .-====---=---:-=++++++++++++++++====-.
79
+ :=============++++++++++===-.
80
+ :==+++++++++===+++++++==-.
81
+ .-==+===+++++++++=: .:=======.
82
+ -=+++=-:=+=:=+=+++==+=:
83
+ .=+++==. :=+=::++.-=+====+=.
84
+ ===. .=++=. =++. :=++=.-=+=:
85
+ :=+=- .++= :=++=. .==.
86
+ -++=. -++= .=++=.
87
+ .-. =++- :-.
88
+ -==.
89
+ `,
90
+ `
91
+ .===-. .-:
92
+ :====- ===-
93
+ .-====: .===. :==:
94
+ .. .-====: :=== .=====
95
+ .====: .-====. ===- .-=====:
96
+ -=====-..-====. ===..======.
97
+ -======:-====.===:=====-.
98
+ .-==================:
99
+ .===============::-========.
100
+ .-=---------:::=====================-.
101
+ :=-========================:.
102
+ .=======================-.
103
+ :================: .:-=====-.
104
+ -=====:.===:==========.
105
+ .=====-. :===.:==.:===--===.
106
+ -=-. .===-. === :====.-===:
107
+ :===: .=== .====. .==
108
+ -==-. :=== .====.
109
+ .:. ===: ::.
110
+ -==.
111
+ `,
112
+ `
113
+ .-==: .-:
114
+ .====: ===:
115
+ :====: .===. .--.
116
+ . .-====. :=== .-====
117
+ .====. :====. -==: .:=====:
118
+ -=====-. :====. ===..=====-.
119
+ :======::====.==-:=====:
120
+ .-==================.
121
+ .-=============-..:---====-.
122
+ .:-------::::.:===================--:.
123
+ .---------===============--:.
124
+ .-======================:
125
+ :-===--==========. ..:--===-.
126
+ :=====:.-==:==-=======.
127
+ .-====:. .===..==.:===::==-.
128
+ --:. .-==-. -== .===-.:==-.
129
+ .===: === .====. .-=
130
+ :==-. :==- .-==-.
131
+ .:. -==: .:.
132
+ :==
133
+ `,
134
+ `
135
+ :--: .:.
136
+ .===-: -=-.
137
+ :===-. .==-. .::.
138
+ . :-==-. .==: .:-===
139
+ .-==:. :-==-. :=-: :-===-.
140
+ :-===-:. :-==-. -=-..-====:.
141
+ .-===-:.:-==:.-=:.-===-:
142
+ .:-===---==:-==-=-=-.
143
+ .:-===========-:..::::--==-.
144
+ .:::::::::....--========-======-:::..
145
+ .:::::::::-----========--::..
146
+ .:--====-------=======--.
147
+ .:-=-::---==--=-:. .:::---:.
148
+ .:-=-:..:--.-=:-=---=-.
149
+ :===-:. .-=-..==..-=-::-=:.
150
+ :::. .:=-: :=- .-=-:.:---.
151
+ .-=-. -=- .-==-. .:-
152
+ :=-:. .-=: .:-=:.
153
+ ... :==. ...
154
+ .--
155
+ `,
156
+ `
157
+ .::. ..
158
+ .::::. :::.
159
+ .::::. :::. ....
160
+ .::::. .::. ..::::
161
+ :::.. .:::.. .::. .:::::.
162
+ .:::::. .:::. .:: ..::::.
163
+ ..::::...:::. ::..:::::.
164
+ .:::::::::.:::::::..
165
+ ..:::::::::::::.......::::.
166
+ ..............::::::::::::::::::....
167
+ ...........::::::::::::::...
168
+ ..:::::::::::.::::::::::.
169
+ ..:::..:::::::::.. .....::.
170
+ ..:::....::.::.::::::..
171
+ .::::. .::...:: .:::..::.
172
+ ... .::. .:: .:::. .::..
173
+ .:::. ::. ..::. .:
174
+ .::. .::. .::.
175
+ . .::. ..
176
+ .:.
177
+ `,
178
+ `
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+ `,
200
+ ]
201
+
202
+ export const smallAnimatedArray = [
203
+ ` @
204
+ @ @ @
205
+ @@@
206
+ @ @ @
207
+ @`,
208
+ ` *
209
+ * * *
210
+ ***
211
+ * * *
212
+ *`,
213
+ ` +
214
+ + + +
215
+ +++
216
+ + + +
217
+ +`,
218
+ ` /
219
+ / / /
220
+ ///
221
+ / / /
222
+ /`,
223
+ ` |
224
+ | | |
225
+ |||
226
+ | | |
227
+ |`,
228
+ ` \\
229
+ \\ \\ \\
230
+ \\\\\\
231
+ \\ \\ \\
232
+ \\`,
233
+ ` -
234
+ - - -
235
+ ---
236
+ - - -
237
+ -`,
238
+ ]
@@ -0,0 +1,4 @@
1
+ import { env } from '../utils/env'
2
+
3
+ // The former is better vertically aligned, but isn't usually supported on Windows/Linux
4
+ export const BLACK_CIRCLE = env.platform === 'macos' ? '⏺' : '●'
@@ -0,0 +1,3 @@
1
+ export const SENTRY_DSN = ''
2
+
3
+ export const STATSIG_CLIENT_KEY = ''
@@ -0,0 +1,8 @@
1
+ import { version } from '../../package.json'
2
+
3
+ export const MACRO = {
4
+ VERSION: version,
5
+ README_URL: 'https://docs.anthropic.com/s/claude-code',
6
+ PACKAGE_URL: '@shareai-lab/kode',
7
+ ISSUES_EXPLAINER: 'report the issue at https://github.com/shareAI-lab/kode/issues',
8
+ }
@@ -0,0 +1,179 @@
1
+ import { ModelCapabilities } from '../types/modelCapabilities'
2
+
3
+ // GPT-5 standard capability definition
4
+ const GPT5_CAPABILITIES: ModelCapabilities = {
5
+ apiArchitecture: {
6
+ primary: 'responses_api',
7
+ fallback: 'chat_completions'
8
+ },
9
+ parameters: {
10
+ maxTokensField: 'max_completion_tokens',
11
+ supportsReasoningEffort: true,
12
+ supportsVerbosity: true,
13
+ temperatureMode: 'fixed_one'
14
+ },
15
+ toolCalling: {
16
+ mode: 'custom_tools',
17
+ supportsFreeform: true,
18
+ supportsAllowedTools: true,
19
+ supportsParallelCalls: true
20
+ },
21
+ stateManagement: {
22
+ supportsResponseId: true,
23
+ supportsConversationChaining: true,
24
+ supportsPreviousResponseId: true
25
+ },
26
+ streaming: {
27
+ supported: false, // Responses API doesn't support streaming yet
28
+ includesUsage: true
29
+ }
30
+ }
31
+
32
+ // Chat Completions standard capability definition
33
+ const CHAT_COMPLETIONS_CAPABILITIES: ModelCapabilities = {
34
+ apiArchitecture: {
35
+ primary: 'chat_completions'
36
+ },
37
+ parameters: {
38
+ maxTokensField: 'max_tokens',
39
+ supportsReasoningEffort: false,
40
+ supportsVerbosity: false,
41
+ temperatureMode: 'flexible'
42
+ },
43
+ toolCalling: {
44
+ mode: 'function_calling',
45
+ supportsFreeform: false,
46
+ supportsAllowedTools: false,
47
+ supportsParallelCalls: true
48
+ },
49
+ stateManagement: {
50
+ supportsResponseId: false,
51
+ supportsConversationChaining: false,
52
+ supportsPreviousResponseId: false
53
+ },
54
+ streaming: {
55
+ supported: true,
56
+ includesUsage: true
57
+ }
58
+ }
59
+
60
+ // Complete model capability mapping table
61
+ export const MODEL_CAPABILITIES_REGISTRY: Record<string, ModelCapabilities> = {
62
+ // GPT-5 series
63
+ 'gpt-5': GPT5_CAPABILITIES,
64
+ 'gpt-5-mini': GPT5_CAPABILITIES,
65
+ 'gpt-5-nano': GPT5_CAPABILITIES,
66
+ 'gpt-5-chat-latest': GPT5_CAPABILITIES,
67
+
68
+ // GPT-4 series
69
+ 'gpt-4o': CHAT_COMPLETIONS_CAPABILITIES,
70
+ 'gpt-4o-mini': CHAT_COMPLETIONS_CAPABILITIES,
71
+ 'gpt-4-turbo': CHAT_COMPLETIONS_CAPABILITIES,
72
+ 'gpt-4': CHAT_COMPLETIONS_CAPABILITIES,
73
+
74
+ // Claude series (supported through conversion layer)
75
+ 'claude-3-5-sonnet-20241022': CHAT_COMPLETIONS_CAPABILITIES,
76
+ 'claude-3-5-haiku-20241022': CHAT_COMPLETIONS_CAPABILITIES,
77
+ 'claude-3-opus-20240229': CHAT_COMPLETIONS_CAPABILITIES,
78
+
79
+ // O1 series (special reasoning models)
80
+ 'o1': {
81
+ ...CHAT_COMPLETIONS_CAPABILITIES,
82
+ parameters: {
83
+ ...CHAT_COMPLETIONS_CAPABILITIES.parameters,
84
+ maxTokensField: 'max_completion_tokens',
85
+ temperatureMode: 'fixed_one'
86
+ }
87
+ },
88
+ 'o1-mini': {
89
+ ...CHAT_COMPLETIONS_CAPABILITIES,
90
+ parameters: {
91
+ ...CHAT_COMPLETIONS_CAPABILITIES.parameters,
92
+ maxTokensField: 'max_completion_tokens',
93
+ temperatureMode: 'fixed_one'
94
+ }
95
+ },
96
+ 'o1-preview': {
97
+ ...CHAT_COMPLETIONS_CAPABILITIES,
98
+ parameters: {
99
+ ...CHAT_COMPLETIONS_CAPABILITIES.parameters,
100
+ maxTokensField: 'max_completion_tokens',
101
+ temperatureMode: 'fixed_one'
102
+ }
103
+ }
104
+ }
105
+
106
+ // Intelligently infer capabilities for unregistered models
107
+ export function inferModelCapabilities(modelName: string): ModelCapabilities | null {
108
+ if (!modelName) return null
109
+
110
+ const lowerName = modelName.toLowerCase()
111
+
112
+ // GPT-5 series
113
+ if (lowerName.includes('gpt-5') || lowerName.includes('gpt5')) {
114
+ return GPT5_CAPABILITIES
115
+ }
116
+
117
+ // GPT-6 series (reserved for future)
118
+ if (lowerName.includes('gpt-6') || lowerName.includes('gpt6')) {
119
+ return {
120
+ ...GPT5_CAPABILITIES,
121
+ streaming: { supported: true, includesUsage: true }
122
+ }
123
+ }
124
+
125
+ // GLM series
126
+ if (lowerName.includes('glm-5') || lowerName.includes('glm5')) {
127
+ return {
128
+ ...GPT5_CAPABILITIES,
129
+ toolCalling: {
130
+ ...GPT5_CAPABILITIES.toolCalling,
131
+ supportsAllowedTools: false // GLM might not support this
132
+ }
133
+ }
134
+ }
135
+
136
+ // O1 series
137
+ if (lowerName.startsWith('o1') || lowerName.includes('o1-')) {
138
+ return {
139
+ ...CHAT_COMPLETIONS_CAPABILITIES,
140
+ parameters: {
141
+ ...CHAT_COMPLETIONS_CAPABILITIES.parameters,
142
+ maxTokensField: 'max_completion_tokens',
143
+ temperatureMode: 'fixed_one'
144
+ }
145
+ }
146
+ }
147
+
148
+ // Default to null, let system use default behavior
149
+ return null
150
+ }
151
+
152
+ // Get model capabilities (with caching)
153
+ const capabilityCache = new Map<string, ModelCapabilities>()
154
+
155
+ export function getModelCapabilities(modelName: string): ModelCapabilities {
156
+ // Check cache
157
+ if (capabilityCache.has(modelName)) {
158
+ return capabilityCache.get(modelName)!
159
+ }
160
+
161
+ // Look up in registry
162
+ if (MODEL_CAPABILITIES_REGISTRY[modelName]) {
163
+ const capabilities = MODEL_CAPABILITIES_REGISTRY[modelName]
164
+ capabilityCache.set(modelName, capabilities)
165
+ return capabilities
166
+ }
167
+
168
+ // Try to infer
169
+ const inferred = inferModelCapabilities(modelName)
170
+ if (inferred) {
171
+ capabilityCache.set(modelName, inferred)
172
+ return inferred
173
+ }
174
+
175
+ // Default to Chat Completions
176
+ const defaultCapabilities = CHAT_COMPLETIONS_CAPABILITIES
177
+ capabilityCache.set(modelName, defaultCapabilities)
178
+ return defaultCapabilities
179
+ }