kimix 0.1.0__tar.gz

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 (988) hide show
  1. kimix-0.1.0/.agents/skills/api/SKILL.md +393 -0
  2. kimix-0.1.0/.agents/skills/tool/SKILL.md +281 -0
  3. kimix-0.1.0/.gitignore +11 -0
  4. kimix-0.1.0/.gitmodules +6 -0
  5. kimix-0.1.0/.pre-commit-config.yaml +7 -0
  6. kimix-0.1.0/AGENTS.md +8 -0
  7. kimix-0.1.0/ChangeLog.md +15 -0
  8. kimix-0.1.0/PKG-INFO +141 -0
  9. kimix-0.1.0/README.md +92 -0
  10. kimix-0.1.0/docs/config.json +52 -0
  11. kimix-0.1.0/docs/tutorials/1_quick_start.md +219 -0
  12. kimix-0.1.0/docs/tutorials/2_manager.md +423 -0
  13. kimix-0.1.0/docs/tutorials/3_builtin_tools.md +293 -0
  14. kimix-0.1.0/docs/tutorials/4_skills.md +329 -0
  15. kimix-0.1.0/docs/tutorials/5_server.md +112 -0
  16. kimix-0.1.0/kimi-agent-sdk/.git +1 -0
  17. kimix-0.1.0/kimi-agent-sdk/.github/workflows/go.yml +80 -0
  18. kimix-0.1.0/kimi-agent-sdk/.github/workflows/kimi-review.yml +70 -0
  19. kimix-0.1.0/kimi-agent-sdk/.github/workflows/node.yml +88 -0
  20. kimix-0.1.0/kimi-agent-sdk/.github/workflows/python-release.yml +58 -0
  21. kimix-0.1.0/kimi-agent-sdk/.github/workflows/python.yml +51 -0
  22. kimix-0.1.0/kimi-agent-sdk/.github/workflows/vscode.yml +111 -0
  23. kimix-0.1.0/kimi-agent-sdk/.vscode/launch.json +33 -0
  24. kimix-0.1.0/kimi-agent-sdk/.vscode/tasks.json +38 -0
  25. kimix-0.1.0/kimi-agent-sdk/LICENSE +202 -0
  26. kimix-0.1.0/kimi-agent-sdk/NOTICE +5 -0
  27. kimix-0.1.0/kimi-agent-sdk/README.md +58 -0
  28. kimix-0.1.0/kimi-agent-sdk/examples/go/anime-recognizer/README.md +93 -0
  29. kimix-0.1.0/kimi-agent-sdk/examples/go/anime-recognizer/go.mod +17 -0
  30. kimix-0.1.0/kimi-agent-sdk/examples/go/anime-recognizer/go.sum +10 -0
  31. kimix-0.1.0/kimi-agent-sdk/examples/go/anime-recognizer/main.go +352 -0
  32. kimix-0.1.0/kimi-agent-sdk/examples/go/anime-recognizer/prompts/recognize-anime.md +49 -0
  33. kimix-0.1.0/kimi-agent-sdk/examples/go/contributor-hunter/README.md +93 -0
  34. kimix-0.1.0/kimi-agent-sdk/examples/go/contributor-hunter/go.mod +14 -0
  35. kimix-0.1.0/kimi-agent-sdk/examples/go/contributor-hunter/go.sum +8 -0
  36. kimix-0.1.0/kimi-agent-sdk/examples/go/contributor-hunter/main.go +83 -0
  37. kimix-0.1.0/kimi-agent-sdk/examples/go/contributor-hunter/prompts/analyze-contributor.md +65 -0
  38. kimix-0.1.0/kimi-agent-sdk/examples/go/ralph-loop/README.md +116 -0
  39. kimix-0.1.0/kimi-agent-sdk/examples/go/ralph-loop/go.mod +14 -0
  40. kimix-0.1.0/kimi-agent-sdk/examples/go/ralph-loop/go.sum +8 -0
  41. kimix-0.1.0/kimi-agent-sdk/examples/go/ralph-loop/main.go +120 -0
  42. kimix-0.1.0/kimi-agent-sdk/examples/go/ralph-loop/prompts/lint-fix.md +21 -0
  43. kimix-0.1.0/kimi-agent-sdk/examples/go/ralph-loop/prompts/test-coverage.md +22 -0
  44. kimix-0.1.0/kimi-agent-sdk/examples/go/rumor-buster/README.md +156 -0
  45. kimix-0.1.0/kimi-agent-sdk/examples/go/rumor-buster/go.mod +14 -0
  46. kimix-0.1.0/kimi-agent-sdk/examples/go/rumor-buster/go.sum +8 -0
  47. kimix-0.1.0/kimi-agent-sdk/examples/go/rumor-buster/main.go +221 -0
  48. kimix-0.1.0/kimi-agent-sdk/examples/go/rumor-buster/prompts/verify-claims.md +32 -0
  49. kimix-0.1.0/kimi-agent-sdk/examples/python/customized-tools/README.md +21 -0
  50. kimix-0.1.0/kimi-agent-sdk/examples/python/customized-tools/main.py +19 -0
  51. kimix-0.1.0/kimi-agent-sdk/examples/python/customized-tools/my_tools/__init__.py +0 -0
  52. kimix-0.1.0/kimi-agent-sdk/examples/python/customized-tools/my_tools/ls.py +29 -0
  53. kimix-0.1.0/kimi-agent-sdk/examples/python/customized-tools/myagent.yaml +15 -0
  54. kimix-0.1.0/kimi-agent-sdk/examples/python/customized-tools/pyproject.toml +10 -0
  55. kimix-0.1.0/kimi-agent-sdk/examples/python/message-logger/README.md +25 -0
  56. kimix-0.1.0/kimi-agent-sdk/examples/python/message-logger/main.py +67 -0
  57. kimix-0.1.0/kimi-agent-sdk/examples/python/message-logger/pyproject.toml +10 -0
  58. kimix-0.1.0/kimi-agent-sdk/examples/python/message-logger/utils.py +69 -0
  59. kimix-0.1.0/kimi-agent-sdk/examples/python/project-tracker/README.md +19 -0
  60. kimix-0.1.0/kimi-agent-sdk/examples/python/project-tracker/main.py +84 -0
  61. kimix-0.1.0/kimi-agent-sdk/examples/python/project-tracker/pyproject.toml +10 -0
  62. kimix-0.1.0/kimi-agent-sdk/examples/python/quick-start/README.md +21 -0
  63. kimix-0.1.0/kimi-agent-sdk/examples/python/quick-start/main.py +18 -0
  64. kimix-0.1.0/kimi-agent-sdk/examples/python/quick-start/pyproject.toml +10 -0
  65. kimix-0.1.0/kimi-agent-sdk/go/.gitignore +1 -0
  66. kimix-0.1.0/kimi-agent-sdk/go/.golangci.yml +20 -0
  67. kimix-0.1.0/kimi-agent-sdk/go/README.md +166 -0
  68. kimix-0.1.0/kimi-agent-sdk/go/config.go +75 -0
  69. kimix-0.1.0/kimi-agent-sdk/go/config_test.go +217 -0
  70. kimix-0.1.0/kimi-agent-sdk/go/go.mod +24 -0
  71. kimix-0.1.0/kimi-agent-sdk/go/go.sum +35 -0
  72. kimix-0.1.0/kimi-agent-sdk/go/option.go +112 -0
  73. kimix-0.1.0/kimi-agent-sdk/go/option_test.go +257 -0
  74. kimix-0.1.0/kimi-agent-sdk/go/prompt.go +43 -0
  75. kimix-0.1.0/kimi-agent-sdk/go/session.go +479 -0
  76. kimix-0.1.0/kimi-agent-sdk/go/session_test.go +202 -0
  77. kimix-0.1.0/kimi-agent-sdk/go/test/e2e/session_test.go +185 -0
  78. kimix-0.1.0/kimi-agent-sdk/go/test/integration/session_test.go +569 -0
  79. kimix-0.1.0/kimi-agent-sdk/go/test/integration/testdata/mock_kimi.go +357 -0
  80. kimix-0.1.0/kimi-agent-sdk/go/tool.go +277 -0
  81. kimix-0.1.0/kimi-agent-sdk/go/tool_test.go +760 -0
  82. kimix-0.1.0/kimi-agent-sdk/go/turn.go +202 -0
  83. kimix-0.1.0/kimi-agent-sdk/go/turn_test.go +469 -0
  84. kimix-0.1.0/kimi-agent-sdk/go/wire/jsonrpc2/README.md +165 -0
  85. kimix-0.1.0/kimi-agent-sdk/go/wire/jsonrpc2/codec.go +753 -0
  86. kimix-0.1.0/kimi-agent-sdk/go/wire/jsonrpc2/codec_test.go +1359 -0
  87. kimix-0.1.0/kimi-agent-sdk/go/wire/jsonrpc2/error.go +52 -0
  88. kimix-0.1.0/kimi-agent-sdk/go/wire/message.go +562 -0
  89. kimix-0.1.0/kimi-agent-sdk/go/wire/message_test.go +333 -0
  90. kimix-0.1.0/kimi-agent-sdk/go/wire/transport/transport.go +15 -0
  91. kimix-0.1.0/kimi-agent-sdk/go/wire/transport/transport_impl.go +137 -0
  92. kimix-0.1.0/kimi-agent-sdk/go/wire/transport/transport_mock.go +116 -0
  93. kimix-0.1.0/kimi-agent-sdk/go/wire/transport/transport_test.go +212 -0
  94. kimix-0.1.0/kimi-agent-sdk/guides/go/approval-requests.md +243 -0
  95. kimix-0.1.0/kimi-agent-sdk/guides/go/configuration.md +330 -0
  96. kimix-0.1.0/kimi-agent-sdk/guides/go/costs-and-usage.md +208 -0
  97. kimix-0.1.0/kimi-agent-sdk/guides/go/external-tools.md +349 -0
  98. kimix-0.1.0/kimi-agent-sdk/guides/go/quickstart.md +192 -0
  99. kimix-0.1.0/kimi-agent-sdk/guides/go/thinking.md +150 -0
  100. kimix-0.1.0/kimi-agent-sdk/guides/go/turn-cancellation.md +248 -0
  101. kimix-0.1.0/kimi-agent-sdk/guides/python/customized-tools.md +112 -0
  102. kimix-0.1.0/kimi-agent-sdk/guides/python/examples.md +12 -0
  103. kimix-0.1.0/kimi-agent-sdk/guides/python/prompt.md +249 -0
  104. kimix-0.1.0/kimi-agent-sdk/guides/python/quickstart.md +169 -0
  105. kimix-0.1.0/kimi-agent-sdk/guides/python/session.md +343 -0
  106. kimix-0.1.0/kimi-agent-sdk/node/.editorconfig +13 -0
  107. kimix-0.1.0/kimi-agent-sdk/node/.gitignore +7 -0
  108. kimix-0.1.0/kimi-agent-sdk/node/.prettierignore +6 -0
  109. kimix-0.1.0/kimi-agent-sdk/node/.prettierrc +7 -0
  110. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/.npmignore +26 -0
  111. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/LICENSE +202 -0
  112. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/README.md +571 -0
  113. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/cli/commands.ts +129 -0
  114. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/config.ts +237 -0
  115. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/errors.ts +153 -0
  116. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/external-tool.ts +34 -0
  117. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/history/context-extract.ts +68 -0
  118. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/index.ts +155 -0
  119. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/logger.ts +44 -0
  120. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/package.json +80 -0
  121. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/paths.ts +38 -0
  122. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/protocol.ts +631 -0
  123. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/schema.ts +839 -0
  124. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/session.ts +396 -0
  125. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/storage.ts +448 -0
  126. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/tests/config.test.ts +289 -0
  127. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/tests/errors.test.ts +227 -0
  128. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/tests/protocol.test.ts +648 -0
  129. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/tests/schema.test.ts +736 -0
  130. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/tests/session.test.ts +1406 -0
  131. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/tests/storage.test.ts +201 -0
  132. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/tests/utils.test.ts +276 -0
  133. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/tsconfig.json +27 -0
  134. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/tsup.config.ts +39 -0
  135. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/utils.ts +48 -0
  136. kimix-0.1.0/kimi-agent-sdk/node/agent_sdk/vitest.config.ts +15 -0
  137. kimix-0.1.0/kimi-agent-sdk/node/eslint.config.mjs +35 -0
  138. kimix-0.1.0/kimi-agent-sdk/node/package.json +23 -0
  139. kimix-0.1.0/kimi-agent-sdk/node/pnpm-lock.yaml +10711 -0
  140. kimix-0.1.0/kimi-agent-sdk/node/pnpm-workspace.yaml +4 -0
  141. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/.vscode-test.mjs +5 -0
  142. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/.vscodeignore +29 -0
  143. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/LICENSE +202 -0
  144. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/README.md +29 -0
  145. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/bin/uv-wrapper/kimi +7 -0
  146. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/bin/uv-wrapper/kimi.bat +7 -0
  147. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/dev.js +38 -0
  148. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/esbuild.js +95 -0
  149. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/package.json +272 -0
  150. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/resources/kimi-icon-storefront.png +0 -0
  151. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/resources/kimi-icon.svg +33 -0
  152. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/scripts/download-cli.js +106 -0
  153. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/scripts/ovsx-publish.js +43 -0
  154. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/scripts/vsix-package.js +42 -0
  155. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/scripts/vsix-publish.js +43 -0
  156. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/shared/bridge.ts +80 -0
  157. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/shared/errors.ts +59 -0
  158. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/shared/package.json +13 -0
  159. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/shared/types.ts +86 -0
  160. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/shared/utils.ts +3 -0
  161. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/KimiWebviewProvider.ts +140 -0
  162. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/bridge-handler.ts +201 -0
  163. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/config/vscode-settings.ts +74 -0
  164. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/extension.ts +149 -0
  165. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/handlers/auth.handler.ts +41 -0
  166. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/handlers/chat.handler.ts +330 -0
  167. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/handlers/cli.handler.ts +17 -0
  168. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/handlers/config.handler.ts +46 -0
  169. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/handlers/file.handler.ts +377 -0
  170. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/handlers/index.ts +22 -0
  171. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/handlers/mcp.handler.ts +50 -0
  172. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/handlers/session.handler.ts +149 -0
  173. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/handlers/types.ts +32 -0
  174. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/handlers/workspace.handler.ts +60 -0
  175. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/managers/baseline.manager.ts +191 -0
  176. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/managers/cli-downloader.ts +224 -0
  177. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/managers/cli.manager.ts +181 -0
  178. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/managers/file.manager.ts +163 -0
  179. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/managers/index.ts +18 -0
  180. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/managers/mcp.manager.ts +180 -0
  181. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/repositories/index.ts +0 -0
  182. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/utils/context.ts +7 -0
  183. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/src/utils/string.ts +17 -0
  184. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/tsconfig.json +22 -0
  185. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/components.json +24 -0
  186. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/index.html +12 -0
  187. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/package-lock.json +7996 -0
  188. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/package.json +54 -0
  189. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/public/kimi-banner-dark.svg +6 -0
  190. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/public/kimi-banner-light.svg +6 -0
  191. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/public/kimi-logo.png +0 -0
  192. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/App.tsx +133 -0
  193. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ActionMenu.tsx +136 -0
  194. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ApprovalDialog.tsx +80 -0
  195. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/BottomToolbar.tsx +96 -0
  196. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ChatArea.tsx +73 -0
  197. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ChatMessage.tsx +343 -0
  198. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ChatStatus.tsx +102 -0
  199. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/CompactionCard.tsx +23 -0
  200. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ConfigErrorScreen.tsx +241 -0
  201. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/CopyButton.tsx +43 -0
  202. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/DisplayBlocks.tsx +227 -0
  203. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/FileChangesPanel.tsx +158 -0
  204. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/FilePickerMenu.tsx +173 -0
  205. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/Header.tsx +99 -0
  206. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/InlineError.tsx +36 -0
  207. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/KimiLogo.tsx +11 -0
  208. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/KimiMascot.tsx +29 -0
  209. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/LoginScreen.tsx +169 -0
  210. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/MCPServersModal.tsx +463 -0
  211. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/Markdown.tsx +270 -0
  212. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/MediaPreviewModal.tsx +94 -0
  213. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/MediaThumbnail.tsx +64 -0
  214. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/PlanCard.tsx +30 -0
  215. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/PlanModeButton.tsx +32 -0
  216. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/QuestionDialog.tsx +101 -0
  217. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/QueuedMessagesPanel.tsx +99 -0
  218. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/SessionList.tsx +220 -0
  219. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/SlashCommandMenu.tsx +74 -0
  220. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/StreamingConfirmDialog.tsx +59 -0
  221. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ThinkingBlock.tsx +65 -0
  222. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ThinkingButton.tsx +45 -0
  223. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ToolRenderers.tsx +447 -0
  224. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/WelcomeScreen.tsx +20 -0
  225. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/WorkDirModal.tsx +111 -0
  226. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/hooks/useExtensionImageUrl.ts +14 -0
  227. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/index.ts +26 -0
  228. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/inputarea/InputArea.tsx +437 -0
  229. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/inputarea/hooks/useClickOutside.ts +20 -0
  230. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/inputarea/hooks/useFilePicker.tsx +214 -0
  231. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/inputarea/hooks/useInputHistory.ts +64 -0
  232. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/inputarea/hooks/useMediaUpload.ts +160 -0
  233. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/inputarea/hooks/useSlashMenu.ts +113 -0
  234. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/inputarea/utils.ts +28 -0
  235. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/accordion.tsx +49 -0
  236. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/alert-dialog.tsx +153 -0
  237. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/badge.tsx +33 -0
  238. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/button.tsx +54 -0
  239. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/card.tsx +52 -0
  240. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/checkbox.tsx +24 -0
  241. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/combobox.tsx +216 -0
  242. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/command.tsx +109 -0
  243. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/context-menu.tsx +201 -0
  244. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/dialog.tsx +110 -0
  245. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/dropdown-menu.tsx +196 -0
  246. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/field.tsx +153 -0
  247. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/input-group.tsx +114 -0
  248. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/input.tsx +19 -0
  249. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/label.tsx +21 -0
  250. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/popover.tsx +47 -0
  251. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/scroll-area.tsx +40 -0
  252. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/select.tsx +129 -0
  253. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/separator.tsx +21 -0
  254. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/sonner.tsx +23 -0
  255. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/switch.tsx +38 -0
  256. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/tabs.tsx +54 -0
  257. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/textarea.tsx +18 -0
  258. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/components/ui/tooltip.tsx +41 -0
  259. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/hooks/useAppInit.ts +118 -0
  260. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/hooks/useWelcomeHint.tsx +131 -0
  261. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/lib/content.ts +59 -0
  262. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/lib/media-utils.ts +186 -0
  263. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/lib/text-enrichment.ts +148 -0
  264. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/lib/utils.ts +6 -0
  265. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/main.tsx +26 -0
  266. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/services/bridge.ts +297 -0
  267. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/services/config.ts +26 -0
  268. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/services/index.ts +3 -0
  269. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/services/recommended-mcp.ts +46 -0
  270. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/stores/approval.store.ts +41 -0
  271. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/stores/chat.store.ts +464 -0
  272. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/stores/event-handlers.ts +558 -0
  273. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/stores/index.ts +9 -0
  274. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/stores/settings.store.ts +207 -0
  275. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/src/styles/index.css +200 -0
  276. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/tsconfig.json +28 -0
  277. kimix-0.1.0/kimi-agent-sdk/node/vscode_extension/webview-ui/vite.config.ts +36 -0
  278. kimix-0.1.0/kimi-agent-sdk/python/.gitignore +18 -0
  279. kimix-0.1.0/kimi-agent-sdk/python/CHANGELOG.md +25 -0
  280. kimix-0.1.0/kimi-agent-sdk/python/Makefile +25 -0
  281. kimix-0.1.0/kimi-agent-sdk/python/README.md +5 -0
  282. kimix-0.1.0/kimi-agent-sdk/python/pyproject.toml +80 -0
  283. kimix-0.1.0/kimi-agent-sdk/python/tests/test_aggregator.py +49 -0
  284. kimix-0.1.0/kimi-agent-sdk/python/tests/test_customized_tools.py +137 -0
  285. kimix-0.1.0/kimi-agent-sdk/python/tests/test_exceptions.py +121 -0
  286. kimix-0.1.0/kimi-agent-sdk/python/tests/test_paths.py +55 -0
  287. kimix-0.1.0/kimi-agent-sdk/scripts/check_version_tag.py +51 -0
  288. kimix-0.1.0/kimi-cli/.agents/skills/codex-worker/SKILL.md +167 -0
  289. kimix-0.1.0/kimi-cli/.agents/skills/feature-smoke-test/SKILL.md +185 -0
  290. kimix-0.1.0/kimi-cli/.agents/skills/feature-smoke-test/references/prompt-patterns.md +85 -0
  291. kimix-0.1.0/kimi-cli/.agents/skills/feature-smoke-test/scripts/inspect_session.py +324 -0
  292. kimix-0.1.0/kimi-cli/.agents/skills/gen-changelog/SKILL.md +20 -0
  293. kimix-0.1.0/kimi-cli/.agents/skills/gen-docs/SKILL.md +10 -0
  294. kimix-0.1.0/kimi-cli/.agents/skills/gen-rust/SKILL.md +92 -0
  295. kimix-0.1.0/kimi-cli/.agents/skills/pull-request/SKILL.md +14 -0
  296. kimix-0.1.0/kimi-cli/.agents/skills/release/SKILL.md +64 -0
  297. kimix-0.1.0/kimi-cli/.agents/skills/translate-docs/SKILL.md +19 -0
  298. kimix-0.1.0/kimi-cli/.agents/skills/worktree-status/SKILL.md +136 -0
  299. kimix-0.1.0/kimi-cli/.github/ISSUE_TEMPLATE/1-bug-report.yml +67 -0
  300. kimix-0.1.0/kimi-cli/.github/ISSUE_TEMPLATE/2-feature-request.yml +25 -0
  301. kimix-0.1.0/kimi-cli/.github/ISSUE_TEMPLATE/config.yml +5 -0
  302. kimix-0.1.0/kimi-cli/.github/actions/macos-code-sign/action.yml +163 -0
  303. kimix-0.1.0/kimi-cli/.github/dependabot.yml +11 -0
  304. kimix-0.1.0/kimi-cli/.github/pr-title-checker-config.json +12 -0
  305. kimix-0.1.0/kimi-cli/.github/pull_request_template.md +25 -0
  306. kimix-0.1.0/kimi-cli/.github/workflows/ci-docs.yml +45 -0
  307. kimix-0.1.0/kimi-cli/.github/workflows/ci-kimi-cli.yml +282 -0
  308. kimix-0.1.0/kimi-cli/.github/workflows/ci-kimi-sdk.yml +93 -0
  309. kimix-0.1.0/kimi-cli/.github/workflows/ci-kosong.yml +93 -0
  310. kimix-0.1.0/kimi-cli/.github/workflows/ci-pykaos.yml +103 -0
  311. kimix-0.1.0/kimi-cli/.github/workflows/docs-pages.yml +75 -0
  312. kimix-0.1.0/kimi-cli/.github/workflows/pr-title-checker.yml +15 -0
  313. kimix-0.1.0/kimi-cli/.github/workflows/release-kimi-cli.yml +508 -0
  314. kimix-0.1.0/kimi-cli/.github/workflows/release-kimi-sdk.yml +57 -0
  315. kimix-0.1.0/kimi-cli/.github/workflows/release-kosong.yml +114 -0
  316. kimix-0.1.0/kimi-cli/.github/workflows/release-pykaos.yml +57 -0
  317. kimix-0.1.0/kimi-cli/.github/workflows/translator.yml +29 -0
  318. kimix-0.1.0/kimi-cli/.github/workflows/typos.yml +13 -0
  319. kimix-0.1.0/kimi-cli/.gitignore +47 -0
  320. kimix-0.1.0/kimi-cli/.pre-commit-config.yaml +16 -0
  321. kimix-0.1.0/kimi-cli/.python-version +1 -0
  322. kimix-0.1.0/kimi-cli/AGENTS.md +145 -0
  323. kimix-0.1.0/kimi-cli/CHANGELOG.md +1205 -0
  324. kimix-0.1.0/kimi-cli/CONTRIBUTING.md +27 -0
  325. kimix-0.1.0/kimi-cli/LICENSE +202 -0
  326. kimix-0.1.0/kimi-cli/Makefile +160 -0
  327. kimix-0.1.0/kimi-cli/NOTICE +14 -0
  328. kimix-0.1.0/kimi-cli/README.md +174 -0
  329. kimix-0.1.0/kimi-cli/SECURITY.md +9 -0
  330. kimix-0.1.0/kimi-cli/docs/.gitignore +3 -0
  331. kimix-0.1.0/kimi-cli/docs/.pre-commit-config.yaml +4 -0
  332. kimix-0.1.0/kimi-cli/docs/.vitepress/config.ts +197 -0
  333. kimix-0.1.0/kimi-cli/docs/.vitepress/theme/index.ts +4 -0
  334. kimix-0.1.0/kimi-cli/docs/.vitepress/theme/style.css +13 -0
  335. kimix-0.1.0/kimi-cli/docs/AGENTS.md +190 -0
  336. kimix-0.1.0/kimi-cli/docs/bun.lock +790 -0
  337. kimix-0.1.0/kimi-cli/docs/en/configuration/config-files.md +236 -0
  338. kimix-0.1.0/kimi-cli/docs/en/configuration/data-locations.md +157 -0
  339. kimix-0.1.0/kimi-cli/docs/en/configuration/env-vars.md +174 -0
  340. kimix-0.1.0/kimi-cli/docs/en/configuration/overrides.md +92 -0
  341. kimix-0.1.0/kimi-cli/docs/en/configuration/providers.md +153 -0
  342. kimix-0.1.0/kimi-cli/docs/en/customization/agents.md +397 -0
  343. kimix-0.1.0/kimi-cli/docs/en/customization/hooks.md +218 -0
  344. kimix-0.1.0/kimi-cli/docs/en/customization/mcp.md +133 -0
  345. kimix-0.1.0/kimi-cli/docs/en/customization/plugins.md +311 -0
  346. kimix-0.1.0/kimi-cli/docs/en/customization/print-mode.md +183 -0
  347. kimix-0.1.0/kimi-cli/docs/en/customization/skills.md +297 -0
  348. kimix-0.1.0/kimi-cli/docs/en/customization/wire-mode.md +1189 -0
  349. kimix-0.1.0/kimi-cli/docs/en/faq.md +158 -0
  350. kimix-0.1.0/kimi-cli/docs/en/guides/getting-started.md +100 -0
  351. kimix-0.1.0/kimi-cli/docs/en/guides/ides.md +57 -0
  352. kimix-0.1.0/kimi-cli/docs/en/guides/integrations.md +36 -0
  353. kimix-0.1.0/kimi-cli/docs/en/guides/interaction.md +200 -0
  354. kimix-0.1.0/kimi-cli/docs/en/guides/sessions.md +145 -0
  355. kimix-0.1.0/kimi-cli/docs/en/guides/use-cases.md +112 -0
  356. kimix-0.1.0/kimi-cli/docs/en/index.md +14 -0
  357. kimix-0.1.0/kimi-cli/docs/en/reference/keyboard.md +163 -0
  358. kimix-0.1.0/kimi-cli/docs/en/reference/kimi-acp.md +25 -0
  359. kimix-0.1.0/kimi-cli/docs/en/reference/kimi-command.md +261 -0
  360. kimix-0.1.0/kimi-cli/docs/en/reference/kimi-info.md +41 -0
  361. kimix-0.1.0/kimi-cli/docs/en/reference/kimi-mcp.md +113 -0
  362. kimix-0.1.0/kimi-cli/docs/en/reference/kimi-term.md +41 -0
  363. kimix-0.1.0/kimi-cli/docs/en/reference/kimi-vis.md +79 -0
  364. kimix-0.1.0/kimi-cli/docs/en/reference/kimi-web.md +369 -0
  365. kimix-0.1.0/kimi-cli/docs/en/reference/slash-commands.md +325 -0
  366. kimix-0.1.0/kimi-cli/docs/en/release-notes/breaking-changes.md +191 -0
  367. kimix-0.1.0/kimi-cli/docs/en/release-notes/changelog.md +1066 -0
  368. kimix-0.1.0/kimi-cli/docs/index.md +28 -0
  369. kimix-0.1.0/kimi-cli/docs/media/acp-integration.gif +0 -0
  370. kimix-0.1.0/kimi-cli/docs/media/setup.jpg +0 -0
  371. kimix-0.1.0/kimi-cli/docs/media/shell-mode.gif +0 -0
  372. kimix-0.1.0/kimi-cli/docs/media/vscode.png +0 -0
  373. kimix-0.1.0/kimi-cli/docs/package.json +19 -0
  374. kimix-0.1.0/kimi-cli/docs/scripts/sync-changelog.mjs +49 -0
  375. kimix-0.1.0/kimi-cli/docs/zh/configuration/config-files.md +236 -0
  376. kimix-0.1.0/kimi-cli/docs/zh/configuration/data-locations.md +158 -0
  377. kimix-0.1.0/kimi-cli/docs/zh/configuration/env-vars.md +175 -0
  378. kimix-0.1.0/kimi-cli/docs/zh/configuration/overrides.md +93 -0
  379. kimix-0.1.0/kimi-cli/docs/zh/configuration/providers.md +154 -0
  380. kimix-0.1.0/kimi-cli/docs/zh/customization/agents.md +397 -0
  381. kimix-0.1.0/kimi-cli/docs/zh/customization/hooks.md +218 -0
  382. kimix-0.1.0/kimi-cli/docs/zh/customization/mcp.md +133 -0
  383. kimix-0.1.0/kimi-cli/docs/zh/customization/plugins.md +311 -0
  384. kimix-0.1.0/kimi-cli/docs/zh/customization/print-mode.md +183 -0
  385. kimix-0.1.0/kimi-cli/docs/zh/customization/skills.md +297 -0
  386. kimix-0.1.0/kimi-cli/docs/zh/customization/wire-mode.md +1189 -0
  387. kimix-0.1.0/kimi-cli/docs/zh/faq.md +158 -0
  388. kimix-0.1.0/kimi-cli/docs/zh/guides/getting-started.md +100 -0
  389. kimix-0.1.0/kimi-cli/docs/zh/guides/ides.md +57 -0
  390. kimix-0.1.0/kimi-cli/docs/zh/guides/integrations.md +36 -0
  391. kimix-0.1.0/kimi-cli/docs/zh/guides/interaction.md +201 -0
  392. kimix-0.1.0/kimi-cli/docs/zh/guides/sessions.md +145 -0
  393. kimix-0.1.0/kimi-cli/docs/zh/guides/use-cases.md +113 -0
  394. kimix-0.1.0/kimi-cli/docs/zh/index.md +14 -0
  395. kimix-0.1.0/kimi-cli/docs/zh/reference/keyboard.md +163 -0
  396. kimix-0.1.0/kimi-cli/docs/zh/reference/kimi-acp.md +25 -0
  397. kimix-0.1.0/kimi-cli/docs/zh/reference/kimi-command.md +261 -0
  398. kimix-0.1.0/kimi-cli/docs/zh/reference/kimi-info.md +41 -0
  399. kimix-0.1.0/kimi-cli/docs/zh/reference/kimi-mcp.md +113 -0
  400. kimix-0.1.0/kimi-cli/docs/zh/reference/kimi-term.md +41 -0
  401. kimix-0.1.0/kimi-cli/docs/zh/reference/kimi-vis.md +79 -0
  402. kimix-0.1.0/kimi-cli/docs/zh/reference/kimi-web.md +369 -0
  403. kimix-0.1.0/kimi-cli/docs/zh/reference/slash-commands.md +325 -0
  404. kimix-0.1.0/kimi-cli/docs/zh/release-notes/breaking-changes.md +191 -0
  405. kimix-0.1.0/kimi-cli/docs/zh/release-notes/changelog.md +1066 -0
  406. kimix-0.1.0/kimi-cli/examples/.gitignore +1 -0
  407. kimix-0.1.0/kimi-cli/examples/custom-echo-soul/README.md +9 -0
  408. kimix-0.1.0/kimi-cli/examples/custom-echo-soul/main.py +55 -0
  409. kimix-0.1.0/kimi-cli/examples/custom-echo-soul/pyproject.toml +10 -0
  410. kimix-0.1.0/kimi-cli/examples/custom-kimi-soul/README.md +9 -0
  411. kimix-0.1.0/kimi-cli/examples/custom-kimi-soul/main.py +114 -0
  412. kimix-0.1.0/kimi-cli/examples/custom-kimi-soul/pyproject.toml +10 -0
  413. kimix-0.1.0/kimi-cli/examples/custom-tools/README.md +9 -0
  414. kimix-0.1.0/kimi-cli/examples/custom-tools/main.py +23 -0
  415. kimix-0.1.0/kimi-cli/examples/custom-tools/my_tools/__init__.py +0 -0
  416. kimix-0.1.0/kimi-cli/examples/custom-tools/my_tools/ls.py +26 -0
  417. kimix-0.1.0/kimi-cli/examples/custom-tools/myagent.yaml +15 -0
  418. kimix-0.1.0/kimi-cli/examples/custom-tools/pyproject.toml +10 -0
  419. kimix-0.1.0/kimi-cli/examples/kimi-cli-stream-json/README.md +8 -0
  420. kimix-0.1.0/kimi-cli/examples/kimi-cli-stream-json/main.py +41 -0
  421. kimix-0.1.0/kimi-cli/examples/kimi-cli-stream-json/pyproject.toml +7 -0
  422. kimix-0.1.0/kimi-cli/examples/kimi-cli-wire-messages/README.md +9 -0
  423. kimix-0.1.0/kimi-cli/examples/kimi-cli-wire-messages/main.py +28 -0
  424. kimix-0.1.0/kimi-cli/examples/kimi-cli-wire-messages/pyproject.toml +13 -0
  425. kimix-0.1.0/kimi-cli/examples/kimi-psql/README.md +37 -0
  426. kimix-0.1.0/kimi-cli/examples/kimi-psql/agent.yaml +33 -0
  427. kimix-0.1.0/kimi-cli/examples/kimi-psql/main.py +631 -0
  428. kimix-0.1.0/kimi-cli/examples/kimi-psql/pyproject.toml +10 -0
  429. kimix-0.1.0/kimi-cli/examples/sample-plugin/SKILL.md +22 -0
  430. kimix-0.1.0/kimi-cli/examples/sample-plugin/plugin.json +42 -0
  431. kimix-0.1.0/kimi-cli/examples/sample-plugin/scripts/calc.ts +24 -0
  432. kimix-0.1.0/kimi-cli/examples/sample-plugin/scripts/greet.py +18 -0
  433. kimix-0.1.0/kimi-cli/flake.lock +115 -0
  434. kimix-0.1.0/kimi-cli/flake.nix +134 -0
  435. kimix-0.1.0/kimi-cli/kimi.spec +78 -0
  436. kimix-0.1.0/kimi-cli/klips/.pre-commit-config.yaml +4 -0
  437. kimix-0.1.0/kimi-cli/klips/klip-0-klip.md +48 -0
  438. kimix-0.1.0/kimi-cli/klips/klip-1-kimi-cli-monorepo.md +142 -0
  439. kimix-0.1.0/kimi-cli/klips/klip-10-agent-flow.md +319 -0
  440. kimix-0.1.0/kimi-cli/klips/klip-11-kimi-code-rename.md +67 -0
  441. kimix-0.1.0/kimi-cli/klips/klip-12-wire-initialize-external-tools.md +334 -0
  442. kimix-0.1.0/kimi-cli/klips/klip-14-kimi-code-oauth-login.md +205 -0
  443. kimix-0.1.0/kimi-cli/klips/klip-15-kagent-sidecar-integration.md +134 -0
  444. kimix-0.1.0/kimi-cli/klips/klip-2-acpkaos.md +129 -0
  445. kimix-0.1.0/kimi-cli/klips/klip-3-kimi-cli-user-docs.md +417 -0
  446. kimix-0.1.0/kimi-cli/klips/klip-6-setup-auto-refresh-models.md +123 -0
  447. kimix-0.1.0/kimi-cli/klips/klip-7-kimi-sdk.md +205 -0
  448. kimix-0.1.0/kimi-cli/klips/klip-8-config-and-skills-layout.md +49 -0
  449. kimix-0.1.0/kimi-cli/klips/klip-9-shell-ui-flicker-mitigation.md +294 -0
  450. kimix-0.1.0/kimi-cli/packages/kimi-code/README.md +1 -0
  451. kimix-0.1.0/kimi-cli/packages/kimi-code/pyproject.toml +17 -0
  452. kimix-0.1.0/kimi-cli/packages/kimi-code/src/kimi_code/__init__.py +7 -0
  453. kimix-0.1.0/kimi-cli/pyproject.toml +117 -0
  454. kimix-0.1.0/kimi-cli/pytest.ini +2 -0
  455. kimix-0.1.0/kimi-cli/scripts/build_vis.py +106 -0
  456. kimix-0.1.0/kimi-cli/scripts/build_web.py +124 -0
  457. kimix-0.1.0/kimi-cli/scripts/check_kimi_dependency_versions.py +96 -0
  458. kimix-0.1.0/kimi-cli/scripts/check_version_tag.py +66 -0
  459. kimix-0.1.0/kimi-cli/scripts/cleanup_tmp_sessions.py +145 -0
  460. kimix-0.1.0/kimi-cli/scripts/install.ps1 +19 -0
  461. kimix-0.1.0/kimi-cli/scripts/install.sh +31 -0
  462. kimix-0.1.0/kimi-cli/sdks/kimi-sdk/CHANGELOG.md +23 -0
  463. kimix-0.1.0/kimi-cli/sdks/kimi-sdk/LICENSE +202 -0
  464. kimix-0.1.0/kimi-cli/sdks/kimi-sdk/NOTICE +5 -0
  465. kimix-0.1.0/kimi-cli/sdks/kimi-sdk/README.md +187 -0
  466. kimix-0.1.0/kimi-cli/sdks/kimi-sdk/pyproject.toml +51 -0
  467. kimix-0.1.0/kimi-cli/sdks/kimi-sdk/src/kimi_sdk/__init__.py +158 -0
  468. kimix-0.1.0/kimi-cli/sdks/kimi-sdk/src/kimi_sdk/py.typed +0 -0
  469. kimix-0.1.0/kimi-cli/sdks/kimi-sdk/tests/test_smoke.py +51 -0
  470. kimix-0.1.0/kimi-cli/tests/__init__.py +0 -0
  471. kimix-0.1.0/kimi-cli/tests/acp/__init__.py +0 -0
  472. kimix-0.1.0/kimi-cli/tests/acp/conftest.py +180 -0
  473. kimix-0.1.0/kimi-cli/tests/acp/test_protocol_v1.py +164 -0
  474. kimix-0.1.0/kimi-cli/tests/acp/test_server_initialize.py +48 -0
  475. kimix-0.1.0/kimi-cli/tests/acp/test_session_notifications.py +54 -0
  476. kimix-0.1.0/kimi-cli/tests/acp/test_version.py +56 -0
  477. kimix-0.1.0/kimi-cli/tests/auth/test_ascii_header.py +42 -0
  478. kimix-0.1.0/kimi-cli/tests/auth/test_oauth_cross_process.py +167 -0
  479. kimix-0.1.0/kimi-cli/tests/auth/test_oauth_refresh.py +426 -0
  480. kimix-0.1.0/kimi-cli/tests/auth/test_platforms.py +205 -0
  481. kimix-0.1.0/kimi-cli/tests/auth/test_resolve_api_key.py +168 -0
  482. kimix-0.1.0/kimi-cli/tests/background/test_agent_timeout.py +155 -0
  483. kimix-0.1.0/kimi-cli/tests/background/test_ids.py +40 -0
  484. kimix-0.1.0/kimi-cli/tests/background/test_manager.py +1157 -0
  485. kimix-0.1.0/kimi-cli/tests/background/test_models.py +42 -0
  486. kimix-0.1.0/kimi-cli/tests/background/test_store.py +208 -0
  487. kimix-0.1.0/kimi-cli/tests/background/test_worker.py +130 -0
  488. kimix-0.1.0/kimi-cli/tests/conftest.py +339 -0
  489. kimix-0.1.0/kimi-cli/tests/core/test_agent_cutover.py +18 -0
  490. kimix-0.1.0/kimi-cli/tests/core/test_agent_flow.py +378 -0
  491. kimix-0.1.0/kimi-cli/tests/core/test_agent_spec.py +542 -0
  492. kimix-0.1.0/kimi-cli/tests/core/test_approval_runtime.py +233 -0
  493. kimix-0.1.0/kimi-cli/tests/core/test_ask_user_plan_mode.py +39 -0
  494. kimix-0.1.0/kimi-cli/tests/core/test_auth_error_handling.py +560 -0
  495. kimix-0.1.0/kimi-cli/tests/core/test_background_agent_kill.py +467 -0
  496. kimix-0.1.0/kimi-cli/tests/core/test_config.py +136 -0
  497. kimix-0.1.0/kimi-cli/tests/core/test_context.py +441 -0
  498. kimix-0.1.0/kimi-cli/tests/core/test_context_pending_tokens.py +428 -0
  499. kimix-0.1.0/kimi-cli/tests/core/test_create_llm.py +331 -0
  500. kimix-0.1.0/kimi-cli/tests/core/test_default_agent.py +370 -0
  501. kimix-0.1.0/kimi-cli/tests/core/test_exceptions.py +24 -0
  502. kimix-0.1.0/kimi-cli/tests/core/test_export_cli.py +180 -0
  503. kimix-0.1.0/kimi-cli/tests/core/test_inspect_plan_edit_target.py +67 -0
  504. kimix-0.1.0/kimi-cli/tests/core/test_kimisoul_background_wait.py +1463 -0
  505. kimix-0.1.0/kimi-cli/tests/core/test_kimisoul_ralph_loop.py +387 -0
  506. kimix-0.1.0/kimi-cli/tests/core/test_kimisoul_retry_recovery.py +301 -0
  507. kimix-0.1.0/kimi-cli/tests/core/test_kimisoul_slash_commands.py +50 -0
  508. kimix-0.1.0/kimi-cli/tests/core/test_kimisoul_steer.py +482 -0
  509. kimix-0.1.0/kimi-cli/tests/core/test_kimisoul_think_only.py +20 -0
  510. kimix-0.1.0/kimi-cli/tests/core/test_kimisoul_turn_balance.py +115 -0
  511. kimix-0.1.0/kimi-cli/tests/core/test_load_agent.py +298 -0
  512. kimix-0.1.0/kimi-cli/tests/core/test_load_agents_md.py +176 -0
  513. kimix-0.1.0/kimi-cli/tests/core/test_normalize_history.py +125 -0
  514. kimix-0.1.0/kimi-cli/tests/core/test_notifications.py +482 -0
  515. kimix-0.1.0/kimi-cli/tests/core/test_plan_flag.py +360 -0
  516. kimix-0.1.0/kimi-cli/tests/core/test_plan_mode.py +891 -0
  517. kimix-0.1.0/kimi-cli/tests/core/test_plan_mode_injection_provider.py +130 -0
  518. kimix-0.1.0/kimi-cli/tests/core/test_plan_mode_reminder.py +142 -0
  519. kimix-0.1.0/kimi-cli/tests/core/test_plan_slash.py +175 -0
  520. kimix-0.1.0/kimi-cli/tests/core/test_plugin.py +545 -0
  521. kimix-0.1.0/kimi-cli/tests/core/test_plugin_manager.py +282 -0
  522. kimix-0.1.0/kimi-cli/tests/core/test_plugin_tool.py +196 -0
  523. kimix-0.1.0/kimi-cli/tests/core/test_prepare_soul.py +146 -0
  524. kimix-0.1.0/kimi-cli/tests/core/test_print_background_integration.py +339 -0
  525. kimix-0.1.0/kimi-cli/tests/core/test_resume_protocol.py +70 -0
  526. kimix-0.1.0/kimi-cli/tests/core/test_runtime_roles.py +12 -0
  527. kimix-0.1.0/kimi-cli/tests/core/test_session.py +713 -0
  528. kimix-0.1.0/kimi-cli/tests/core/test_session_fork.py +423 -0
  529. kimix-0.1.0/kimi-cli/tests/core/test_session_logging.py +385 -0
  530. kimix-0.1.0/kimi-cli/tests/core/test_session_state.py +454 -0
  531. kimix-0.1.0/kimi-cli/tests/core/test_shell_mcp_status.py +78 -0
  532. kimix-0.1.0/kimi-cli/tests/core/test_shutdown_background_tasks.py +380 -0
  533. kimix-0.1.0/kimi-cli/tests/core/test_simple_compaction.py +276 -0
  534. kimix-0.1.0/kimi-cli/tests/core/test_skill.py +616 -0
  535. kimix-0.1.0/kimi-cli/tests/core/test_soul_import_command.py +116 -0
  536. kimix-0.1.0/kimi-cli/tests/core/test_soul_message.py +333 -0
  537. kimix-0.1.0/kimi-cli/tests/core/test_startup_imports.py +179 -0
  538. kimix-0.1.0/kimi-cli/tests/core/test_startup_progress.py +172 -0
  539. kimix-0.1.0/kimi-cli/tests/core/test_status_formatting.py +18 -0
  540. kimix-0.1.0/kimi-cli/tests/core/test_str_replace_file_plan_mode.py +121 -0
  541. kimix-0.1.0/kimi-cli/tests/core/test_subagent_builder.py +150 -0
  542. kimix-0.1.0/kimi-cli/tests/core/test_subagent_resume_e2e.py +252 -0
  543. kimix-0.1.0/kimi-cli/tests/core/test_subagent_store.py +198 -0
  544. kimix-0.1.0/kimi-cli/tests/core/test_toolset.py +188 -0
  545. kimix-0.1.0/kimi-cli/tests/core/test_wire_message.py +703 -0
  546. kimix-0.1.0/kimi-cli/tests/core/test_wire_plan_mode.py +78 -0
  547. kimix-0.1.0/kimi-cli/tests/core/test_wire_server_steer.py +211 -0
  548. kimix-0.1.0/kimi-cli/tests/core/test_write_file_plan_mode.py +227 -0
  549. kimix-0.1.0/kimi-cli/tests/core/test_yolo_injection.py +54 -0
  550. kimix-0.1.0/kimi-cli/tests/e2e/__init__.py +1 -0
  551. kimix-0.1.0/kimi-cli/tests/e2e/shell_pty_helpers.py +374 -0
  552. kimix-0.1.0/kimi-cli/tests/e2e/test_basic_e2e.py +331 -0
  553. kimix-0.1.0/kimi-cli/tests/e2e/test_cli_error_output.py +193 -0
  554. kimix-0.1.0/kimi-cli/tests/e2e/test_file_mention_e2e.py +184 -0
  555. kimix-0.1.0/kimi-cli/tests/e2e/test_hooks_wire_e2e.py +450 -0
  556. kimix-0.1.0/kimi-cli/tests/e2e/test_media_e2e.py +330 -0
  557. kimix-0.1.0/kimi-cli/tests/e2e/test_shell_modal_e2e.py +946 -0
  558. kimix-0.1.0/kimi-cli/tests/e2e/test_shell_pty_e2e.py +940 -0
  559. kimix-0.1.0/kimi-cli/tests/e2e/test_slash_completion_enter_tmux.py +136 -0
  560. kimix-0.1.0/kimi-cli/tests/e2e/test_subagent_smoke_e2e.py +789 -0
  561. kimix-0.1.0/kimi-cli/tests/hooks/__init__.py +0 -0
  562. kimix-0.1.0/kimi-cli/tests/hooks/test_config.py +54 -0
  563. kimix-0.1.0/kimi-cli/tests/hooks/test_engine.py +70 -0
  564. kimix-0.1.0/kimi-cli/tests/hooks/test_integration.py +315 -0
  565. kimix-0.1.0/kimi-cli/tests/hooks/test_runner.py +45 -0
  566. kimix-0.1.0/kimi-cli/tests/notifications/test_notification_manager.py +293 -0
  567. kimix-0.1.0/kimi-cli/tests/test_additional_dirs_state.py +46 -0
  568. kimix-0.1.0/kimi-cli/tests/test_attachment_cache.py +53 -0
  569. kimix-0.1.0/kimi-cli/tests/test_clipboard.py +176 -0
  570. kimix-0.1.0/kimi-cli/tests/test_git_context.py +338 -0
  571. kimix-0.1.0/kimi-cli/tests/tools/test_additional_dirs.py +290 -0
  572. kimix-0.1.0/kimi-cli/tests/tools/test_agent_tool.py +1611 -0
  573. kimix-0.1.0/kimi-cli/tests/tools/test_ask_user.py +252 -0
  574. kimix-0.1.0/kimi-cli/tests/tools/test_background_tools.py +481 -0
  575. kimix-0.1.0/kimi-cli/tests/tools/test_extract_key_argument.py +49 -0
  576. kimix-0.1.0/kimi-cli/tests/tools/test_fetch_url.py +287 -0
  577. kimix-0.1.0/kimi-cli/tests/tools/test_glob.py +364 -0
  578. kimix-0.1.0/kimi-cli/tests/tools/test_grep.py +960 -0
  579. kimix-0.1.0/kimi-cli/tests/tools/test_mcp_tool_result.py +193 -0
  580. kimix-0.1.0/kimi-cli/tests/tools/test_plan_yolo.py +260 -0
  581. kimix-0.1.0/kimi-cli/tests/tools/test_read_file.py +602 -0
  582. kimix-0.1.0/kimi-cli/tests/tools/test_read_media_file.py +150 -0
  583. kimix-0.1.0/kimi-cli/tests/tools/test_read_media_file_desc.py +98 -0
  584. kimix-0.1.0/kimi-cli/tests/tools/test_shell_bash.py +275 -0
  585. kimix-0.1.0/kimi-cli/tests/tools/test_shell_powershell.py +59 -0
  586. kimix-0.1.0/kimi-cli/tests/tools/test_str_replace_file.py +248 -0
  587. kimix-0.1.0/kimi-cli/tests/tools/test_todo.py +248 -0
  588. kimix-0.1.0/kimi-cli/tests/tools/test_tool_descriptions.py +355 -0
  589. kimix-0.1.0/kimi-cli/tests/tools/test_tool_schemas.py +524 -0
  590. kimix-0.1.0/kimi-cli/tests/tools/test_write_file.py +174 -0
  591. kimix-0.1.0/kimi-cli/tests/ui/__init__.py +0 -0
  592. kimix-0.1.0/kimi-cli/tests/ui/test_console_pager.py +81 -0
  593. kimix-0.1.0/kimi-cli/tests/ui/test_console_theme.py +53 -0
  594. kimix-0.1.0/kimi-cli/tests/ui/test_update_gate.py +428 -0
  595. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_acp_convert.py +82 -0
  596. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_acp_server_auth.py +151 -0
  597. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_background_completion_watcher.py +267 -0
  598. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_btw.py +1076 -0
  599. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_empty_think_part_indicator.py +331 -0
  600. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_export_import.py +1304 -0
  601. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_file_completer.py +219 -0
  602. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_live_view_notifications.py +78 -0
  603. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_modal_lifecycle.py +1277 -0
  604. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_print_exit_code.py +212 -0
  605. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_print_final_only.py +35 -0
  606. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_print_notifications.py +143 -0
  607. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_prompt_clipboard.py +393 -0
  608. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_prompt_external_editor.py +175 -0
  609. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_prompt_history.py +68 -0
  610. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_prompt_placeholders.py +223 -0
  611. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_prompt_tips.py +893 -0
  612. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_question_panel.py +680 -0
  613. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_render_to_ansi.py +225 -0
  614. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_replay.py +248 -0
  615. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_root_hub_watcher_resilience.py +128 -0
  616. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_sanitize_surrogates.py +59 -0
  617. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_shell_editor_slash.py +79 -0
  618. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_shell_export_import_commands.py +130 -0
  619. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_shell_feedback_slash.py +299 -0
  620. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_shell_prompt_echo.py +154 -0
  621. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_shell_prompt_router.py +266 -0
  622. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_shell_run_placeholders.py +231 -0
  623. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_shell_slash_commands.py +266 -0
  624. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_shell_switch_slash.py +302 -0
  625. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_shell_task_slash.py +947 -0
  626. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_slash_completer.py +178 -0
  627. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_status_block.py +70 -0
  628. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_streaming_content_block.py +420 -0
  629. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_task_browser.py +284 -0
  630. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_theme.py +325 -0
  631. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_tool_call_block.py +37 -0
  632. kimix-0.1.0/kimi-cli/tests/ui_and_conv/test_visualize_running_prompt.py +1114 -0
  633. kimix-0.1.0/kimi-cli/tests/utils/test_aiohttp_timeout.py +52 -0
  634. kimix-0.1.0/kimi-cli/tests/utils/test_atomic_json_write.py +110 -0
  635. kimix-0.1.0/kimi-cli/tests/utils/test_broadcast_queue.py +77 -0
  636. kimix-0.1.0/kimi-cli/tests/utils/test_changelog.py +40 -0
  637. kimix-0.1.0/kimi-cli/tests/utils/test_datetime.py +33 -0
  638. kimix-0.1.0/kimi-cli/tests/utils/test_diff_nonblocking.py +188 -0
  639. kimix-0.1.0/kimi-cli/tests/utils/test_diff_render.py +582 -0
  640. kimix-0.1.0/kimi-cli/tests/utils/test_diff_utils.py +426 -0
  641. kimix-0.1.0/kimi-cli/tests/utils/test_editor.py +303 -0
  642. kimix-0.1.0/kimi-cli/tests/utils/test_file_filter.py +360 -0
  643. kimix-0.1.0/kimi-cli/tests/utils/test_file_utils.py +33 -0
  644. kimix-0.1.0/kimi-cli/tests/utils/test_frontmatter.py +49 -0
  645. kimix-0.1.0/kimi-cli/tests/utils/test_is_within_workspace.py +145 -0
  646. kimix-0.1.0/kimi-cli/tests/utils/test_list_directory.py +150 -0
  647. kimix-0.1.0/kimi-cli/tests/utils/test_message_utils.py +106 -0
  648. kimix-0.1.0/kimi-cli/tests/utils/test_proxy.py +76 -0
  649. kimix-0.1.0/kimi-cli/tests/utils/test_pyinstaller_utils.py +195 -0
  650. kimix-0.1.0/kimi-cli/tests/utils/test_result_builder.py +157 -0
  651. kimix-0.1.0/kimi-cli/tests/utils/test_rich_markdown.py +11 -0
  652. kimix-0.1.0/kimi-cli/tests/utils/test_sensitive.py +96 -0
  653. kimix-0.1.0/kimi-cli/tests/utils/test_server.py +121 -0
  654. kimix-0.1.0/kimi-cli/tests/utils/test_shorten.py +72 -0
  655. kimix-0.1.0/kimi-cli/tests/utils/test_slash_command.py +215 -0
  656. kimix-0.1.0/kimi-cli/tests/utils/test_subprocess_env.py +34 -0
  657. kimix-0.1.0/kimi-cli/tests/utils/test_typing_utils.py +28 -0
  658. kimix-0.1.0/kimi-cli/tests/utils/test_utils_environment.py +74 -0
  659. kimix-0.1.0/kimi-cli/tests/utils/test_utils_path.py +255 -0
  660. kimix-0.1.0/kimi-cli/tests/vis/test_app.py +55 -0
  661. kimix-0.1.0/kimi-cli/tests/web/test_open_in.py +64 -0
  662. kimix-0.1.0/kimi-cli/tests/web/test_session_error_recovery.py +164 -0
  663. kimix-0.1.0/kimi-cli/tests/web/test_static_cache_headers.py +70 -0
  664. kimix-0.1.0/kimi-cli/tests_ai/scripts/main.yaml +48 -0
  665. kimix-0.1.0/kimi-cli/tests_ai/scripts/run.py +159 -0
  666. kimix-0.1.0/kimi-cli/tests_ai/scripts/worker.yaml +31 -0
  667. kimix-0.1.0/kimi-cli/tests_ai/test_cli_loading_time.md +56 -0
  668. kimix-0.1.0/kimi-cli/tests_ai/test_encoding_error_handling.md +20 -0
  669. kimix-0.1.0/kimi-cli/tests_ai/test_utf8_encoding.md +21 -0
  670. kimix-0.1.0/kimi-cli/tests_e2e/AGENTS.md +78 -0
  671. kimix-0.1.0/kimi-cli/tests_e2e/__init__.py +0 -0
  672. kimix-0.1.0/kimi-cli/tests_e2e/test_mcp_cli.py +292 -0
  673. kimix-0.1.0/kimi-cli/tests_e2e/test_wire_approvals_tools.py +1273 -0
  674. kimix-0.1.0/kimi-cli/tests_e2e/test_wire_auth.py +115 -0
  675. kimix-0.1.0/kimi-cli/tests_e2e/test_wire_config.py +180 -0
  676. kimix-0.1.0/kimi-cli/tests_e2e/test_wire_errors.py +259 -0
  677. kimix-0.1.0/kimi-cli/tests_e2e/test_wire_prompt.py +539 -0
  678. kimix-0.1.0/kimi-cli/tests_e2e/test_wire_protocol.py +429 -0
  679. kimix-0.1.0/kimi-cli/tests_e2e/test_wire_question.py +280 -0
  680. kimix-0.1.0/kimi-cli/tests_e2e/test_wire_real_llm.py +23 -0
  681. kimix-0.1.0/kimi-cli/tests_e2e/test_wire_sessions.py +507 -0
  682. kimix-0.1.0/kimi-cli/tests_e2e/test_wire_skills_mcp.py +427 -0
  683. kimix-0.1.0/kimi-cli/tests_e2e/test_wire_steer.py +150 -0
  684. kimix-0.1.0/kimi-cli/tests_e2e/wire_helpers.py +600 -0
  685. kimix-0.1.0/kimi-cli/vis/components.json +21 -0
  686. kimix-0.1.0/kimi-cli/vis/index.html +16 -0
  687. kimix-0.1.0/kimi-cli/vis/package-lock.json +9640 -0
  688. kimix-0.1.0/kimi-cli/vis/package.json +42 -0
  689. kimix-0.1.0/kimi-cli/vis/src/App.tsx +623 -0
  690. kimix-0.1.0/kimi-cli/vis/src/components/markdown.tsx +167 -0
  691. kimix-0.1.0/kimi-cli/vis/src/components/ui/alert-dialog.tsx +158 -0
  692. kimix-0.1.0/kimi-cli/vis/src/components/ui/select.tsx +188 -0
  693. kimix-0.1.0/kimi-cli/vis/src/components/ui/tooltip.tsx +55 -0
  694. kimix-0.1.0/kimi-cli/vis/src/features/agents-panel/agent-scope-bar.tsx +159 -0
  695. kimix-0.1.0/kimi-cli/vis/src/features/agents-panel/agents-panel.tsx +281 -0
  696. kimix-0.1.0/kimi-cli/vis/src/features/context-viewer/assistant-message.tsx +255 -0
  697. kimix-0.1.0/kimi-cli/vis/src/features/context-viewer/context-space-map.tsx +283 -0
  698. kimix-0.1.0/kimi-cli/vis/src/features/context-viewer/context-viewer.tsx +473 -0
  699. kimix-0.1.0/kimi-cli/vis/src/features/context-viewer/tool-call-block.tsx +89 -0
  700. kimix-0.1.0/kimi-cli/vis/src/features/context-viewer/user-message.tsx +125 -0
  701. kimix-0.1.0/kimi-cli/vis/src/features/dual-view/dual-view.tsx +397 -0
  702. kimix-0.1.0/kimi-cli/vis/src/features/session-picker/session-picker.tsx +144 -0
  703. kimix-0.1.0/kimi-cli/vis/src/features/sessions-explorer/explorer-toolbar.tsx +184 -0
  704. kimix-0.1.0/kimi-cli/vis/src/features/sessions-explorer/project-group.tsx +76 -0
  705. kimix-0.1.0/kimi-cli/vis/src/features/sessions-explorer/session-card.tsx +397 -0
  706. kimix-0.1.0/kimi-cli/vis/src/features/sessions-explorer/sessions-explorer.tsx +364 -0
  707. kimix-0.1.0/kimi-cli/vis/src/features/state-viewer/state-viewer.tsx +253 -0
  708. kimix-0.1.0/kimi-cli/vis/src/features/statistics/statistics-view.tsx +395 -0
  709. kimix-0.1.0/kimi-cli/vis/src/features/wire-viewer/decision-path.tsx +375 -0
  710. kimix-0.1.0/kimi-cli/vis/src/features/wire-viewer/integrity-check.tsx +209 -0
  711. kimix-0.1.0/kimi-cli/vis/src/features/wire-viewer/timeline-view.tsx +1230 -0
  712. kimix-0.1.0/kimi-cli/vis/src/features/wire-viewer/tool-call-detail.tsx +240 -0
  713. kimix-0.1.0/kimi-cli/vis/src/features/wire-viewer/tool-stats-dashboard.tsx +238 -0
  714. kimix-0.1.0/kimi-cli/vis/src/features/wire-viewer/turn-efficiency.tsx +256 -0
  715. kimix-0.1.0/kimi-cli/vis/src/features/wire-viewer/turn-tree.tsx +376 -0
  716. kimix-0.1.0/kimi-cli/vis/src/features/wire-viewer/usage-chart.tsx +386 -0
  717. kimix-0.1.0/kimi-cli/vis/src/features/wire-viewer/wire-event-card.tsx +814 -0
  718. kimix-0.1.0/kimi-cli/vis/src/features/wire-viewer/wire-filters.tsx +339 -0
  719. kimix-0.1.0/kimi-cli/vis/src/features/wire-viewer/wire-viewer.tsx +548 -0
  720. kimix-0.1.0/kimi-cli/vis/src/hooks/use-theme.ts +27 -0
  721. kimix-0.1.0/kimi-cli/vis/src/index.css +180 -0
  722. kimix-0.1.0/kimi-cli/vis/src/lib/api.ts +376 -0
  723. kimix-0.1.0/kimi-cli/vis/src/lib/cache.ts +83 -0
  724. kimix-0.1.0/kimi-cli/vis/src/lib/utils.ts +6 -0
  725. kimix-0.1.0/kimi-cli/vis/src/main.tsx +52 -0
  726. kimix-0.1.0/kimi-cli/vis/tsconfig.app.json +28 -0
  727. kimix-0.1.0/kimi-cli/vis/tsconfig.json +13 -0
  728. kimix-0.1.0/kimi-cli/vis/tsconfig.node.json +22 -0
  729. kimix-0.1.0/kimi-cli/vis/vite.config.ts +23 -0
  730. kimix-0.1.0/kimi-cli/web/.gitignore +25 -0
  731. kimix-0.1.0/kimi-cli/web/biome.jsonc +66 -0
  732. kimix-0.1.0/kimi-cli/web/components.json +24 -0
  733. kimix-0.1.0/kimi-cli/web/index.html +13 -0
  734. kimix-0.1.0/kimi-cli/web/openapi.json +1149 -0
  735. kimix-0.1.0/kimi-cli/web/openapitools.json +7 -0
  736. kimix-0.1.0/kimi-cli/web/package-lock.json +15004 -0
  737. kimix-0.1.0/kimi-cli/web/package.json +88 -0
  738. kimix-0.1.0/kimi-cli/web/public/logo.png +0 -0
  739. kimix-0.1.0/kimi-cli/web/scripts/generate-api.sh +59 -0
  740. kimix-0.1.0/kimi-cli/web/src/App.tsx +569 -0
  741. kimix-0.1.0/kimi-cli/web/src/bootstrap.tsx +62 -0
  742. kimix-0.1.0/kimi-cli/web/src/components/ai-elements/chain-of-thought.tsx +229 -0
  743. kimix-0.1.0/kimi-cli/web/src/components/ai-elements/code-block.tsx +652 -0
  744. kimix-0.1.0/kimi-cli/web/src/components/ai-elements/confirmation.tsx +158 -0
  745. kimix-0.1.0/kimi-cli/web/src/components/ai-elements/context.tsx +525 -0
  746. kimix-0.1.0/kimi-cli/web/src/components/ai-elements/conversation.tsx +100 -0
  747. kimix-0.1.0/kimi-cli/web/src/components/ai-elements/index.ts +13 -0
  748. kimix-0.1.0/kimi-cli/web/src/components/ai-elements/loader.tsx +96 -0
  749. kimix-0.1.0/kimi-cli/web/src/components/ai-elements/message.tsx +710 -0
  750. kimix-0.1.0/kimi-cli/web/src/components/ai-elements/model-selector.tsx +205 -0
  751. kimix-0.1.0/kimi-cli/web/src/components/ai-elements/prompt-input.tsx +1556 -0
  752. kimix-0.1.0/kimi-cli/web/src/components/ai-elements/reasoning.tsx +227 -0
  753. kimix-0.1.0/kimi-cli/web/src/components/ai-elements/shimmer.tsx +64 -0
  754. kimix-0.1.0/kimi-cli/web/src/components/ai-elements/streamdown.tsx +183 -0
  755. kimix-0.1.0/kimi-cli/web/src/components/ai-elements/subagent-steps.tsx +228 -0
  756. kimix-0.1.0/kimi-cli/web/src/components/ai-elements/tool.tsx +681 -0
  757. kimix-0.1.0/kimi-cli/web/src/components/error-boundary.tsx +71 -0
  758. kimix-0.1.0/kimi-cli/web/src/components/kimi-cli-brand.tsx +48 -0
  759. kimix-0.1.0/kimi-cli/web/src/components/ui/alert-dialog.tsx +194 -0
  760. kimix-0.1.0/kimi-cli/web/src/components/ui/alert.tsx +66 -0
  761. kimix-0.1.0/kimi-cli/web/src/components/ui/badge.tsx +46 -0
  762. kimix-0.1.0/kimi-cli/web/src/components/ui/button-group.tsx +83 -0
  763. kimix-0.1.0/kimi-cli/web/src/components/ui/button.tsx +64 -0
  764. kimix-0.1.0/kimi-cli/web/src/components/ui/card.tsx +92 -0
  765. kimix-0.1.0/kimi-cli/web/src/components/ui/carousel.tsx +241 -0
  766. kimix-0.1.0/kimi-cli/web/src/components/ui/checkbox.tsx +30 -0
  767. kimix-0.1.0/kimi-cli/web/src/components/ui/collapsible.tsx +35 -0
  768. kimix-0.1.0/kimi-cli/web/src/components/ui/command.tsx +184 -0
  769. kimix-0.1.0/kimi-cli/web/src/components/ui/context-menu.tsx +250 -0
  770. kimix-0.1.0/kimi-cli/web/src/components/ui/dialog.tsx +156 -0
  771. kimix-0.1.0/kimi-cli/web/src/components/ui/diff/index.tsx +187 -0
  772. kimix-0.1.0/kimi-cli/web/src/components/ui/diff/lazy.tsx +31 -0
  773. kimix-0.1.0/kimi-cli/web/src/components/ui/diff/theme.css +926 -0
  774. kimix-0.1.0/kimi-cli/web/src/components/ui/diff/utils/guess-lang.ts +122 -0
  775. kimix-0.1.0/kimi-cli/web/src/components/ui/diff/utils/index.ts +11 -0
  776. kimix-0.1.0/kimi-cli/web/src/components/ui/diff/utils/parse.ts +449 -0
  777. kimix-0.1.0/kimi-cli/web/src/components/ui/dropdown-menu.tsx +255 -0
  778. kimix-0.1.0/kimi-cli/web/src/components/ui/hover-card.tsx +44 -0
  779. kimix-0.1.0/kimi-cli/web/src/components/ui/input-group.tsx +170 -0
  780. kimix-0.1.0/kimi-cli/web/src/components/ui/input.tsx +21 -0
  781. kimix-0.1.0/kimi-cli/web/src/components/ui/kbd.tsx +28 -0
  782. kimix-0.1.0/kimi-cli/web/src/components/ui/progress.tsx +29 -0
  783. kimix-0.1.0/kimi-cli/web/src/components/ui/resizable.tsx +59 -0
  784. kimix-0.1.0/kimi-cli/web/src/components/ui/scroll-area.tsx +56 -0
  785. kimix-0.1.0/kimi-cli/web/src/components/ui/select.tsx +187 -0
  786. kimix-0.1.0/kimi-cli/web/src/components/ui/separator.tsx +26 -0
  787. kimix-0.1.0/kimi-cli/web/src/components/ui/sonner.tsx +32 -0
  788. kimix-0.1.0/kimi-cli/web/src/components/ui/switch.tsx +40 -0
  789. kimix-0.1.0/kimi-cli/web/src/components/ui/textarea.tsx +18 -0
  790. kimix-0.1.0/kimi-cli/web/src/components/ui/theme-toggle.tsx +37 -0
  791. kimix-0.1.0/kimi-cli/web/src/components/ui/toggle-group.tsx +83 -0
  792. kimix-0.1.0/kimi-cli/web/src/components/ui/toggle.tsx +45 -0
  793. kimix-0.1.0/kimi-cli/web/src/components/ui/tooltip.tsx +59 -0
  794. kimix-0.1.0/kimi-cli/web/src/config/media.ts +21 -0
  795. kimix-0.1.0/kimi-cli/web/src/features/chat/chat-workspace-container.tsx +394 -0
  796. kimix-0.1.0/kimi-cli/web/src/features/chat/chat.tsx +386 -0
  797. kimix-0.1.0/kimi-cli/web/src/features/chat/components/activity-status-indicator.tsx +332 -0
  798. kimix-0.1.0/kimi-cli/web/src/features/chat/components/approval-dialog.tsx +343 -0
  799. kimix-0.1.0/kimi-cli/web/src/features/chat/components/assistant-message.tsx +455 -0
  800. kimix-0.1.0/kimi-cli/web/src/features/chat/components/attachment-button.tsx +12 -0
  801. kimix-0.1.0/kimi-cli/web/src/features/chat/components/chat-conversation.tsx +216 -0
  802. kimix-0.1.0/kimi-cli/web/src/features/chat/components/chat-prompt-composer.tsx +356 -0
  803. kimix-0.1.0/kimi-cli/web/src/features/chat/components/chat-workspace-header.tsx +229 -0
  804. kimix-0.1.0/kimi-cli/web/src/features/chat/components/open-in-menu.tsx +230 -0
  805. kimix-0.1.0/kimi-cli/web/src/features/chat/components/prompt-toolbar/index.tsx +142 -0
  806. kimix-0.1.0/kimi-cli/web/src/features/chat/components/prompt-toolbar/open-in-button.tsx +126 -0
  807. kimix-0.1.0/kimi-cli/web/src/features/chat/components/prompt-toolbar/toolbar-changes.tsx +116 -0
  808. kimix-0.1.0/kimi-cli/web/src/features/chat/components/prompt-toolbar/toolbar-context.tsx +158 -0
  809. kimix-0.1.0/kimi-cli/web/src/features/chat/components/prompt-toolbar/toolbar-queue.tsx +160 -0
  810. kimix-0.1.0/kimi-cli/web/src/features/chat/components/prompt-toolbar/toolbar-todo.tsx +94 -0
  811. kimix-0.1.0/kimi-cli/web/src/features/chat/components/question-dialog.tsx +642 -0
  812. kimix-0.1.0/kimi-cli/web/src/features/chat/components/session-files-panel.tsx +319 -0
  813. kimix-0.1.0/kimi-cli/web/src/features/chat/components/session-info-popover.tsx +126 -0
  814. kimix-0.1.0/kimi-cli/web/src/features/chat/components/virtualized-message-list.tsx +347 -0
  815. kimix-0.1.0/kimi-cli/web/src/features/chat/file-mention-menu.tsx +240 -0
  816. kimix-0.1.0/kimi-cli/web/src/features/chat/global-config-controls.tsx +343 -0
  817. kimix-0.1.0/kimi-cli/web/src/features/chat/message-search-dialog.tsx +349 -0
  818. kimix-0.1.0/kimi-cli/web/src/features/chat/message-search-utils.ts +95 -0
  819. kimix-0.1.0/kimi-cli/web/src/features/chat/open-in-shared.ts +96 -0
  820. kimix-0.1.0/kimi-cli/web/src/features/chat/queue-store.ts +46 -0
  821. kimix-0.1.0/kimi-cli/web/src/features/chat/slash-command-menu.tsx +95 -0
  822. kimix-0.1.0/kimi-cli/web/src/features/chat/useFileMentions.ts +541 -0
  823. kimix-0.1.0/kimi-cli/web/src/features/chat/useSlashCommands.ts +303 -0
  824. kimix-0.1.0/kimi-cli/web/src/features/sessions/create-session-dialog.tsx +384 -0
  825. kimix-0.1.0/kimi-cli/web/src/features/sessions/sessions.tsx +1262 -0
  826. kimix-0.1.0/kimi-cli/web/src/features/tool/components/display-content.tsx +1253 -0
  827. kimix-0.1.0/kimi-cli/web/src/features/tool/store.ts +74 -0
  828. kimix-0.1.0/kimi-cli/web/src/hooks/types.ts +186 -0
  829. kimix-0.1.0/kimi-cli/web/src/hooks/use-theme.ts +187 -0
  830. kimix-0.1.0/kimi-cli/web/src/hooks/useGitDiffStats.ts +126 -0
  831. kimix-0.1.0/kimi-cli/web/src/hooks/useGlobalConfig.ts +106 -0
  832. kimix-0.1.0/kimi-cli/web/src/hooks/useSessionStream.ts +2916 -0
  833. kimix-0.1.0/kimi-cli/web/src/hooks/useSessions.ts +1092 -0
  834. kimix-0.1.0/kimi-cli/web/src/hooks/useVideoThumbnail.ts +83 -0
  835. kimix-0.1.0/kimi-cli/web/src/hooks/utils.ts +66 -0
  836. kimix-0.1.0/kimi-cli/web/src/hooks/wireTypes.ts +448 -0
  837. kimix-0.1.0/kimi-cli/web/src/index.css +437 -0
  838. kimix-0.1.0/kimi-cli/web/src/lib/api/.openapi-generator/FILES +61 -0
  839. kimix-0.1.0/kimi-cli/web/src/lib/api/.openapi-generator/VERSION +1 -0
  840. kimix-0.1.0/kimi-cli/web/src/lib/api/.openapi-generator-ignore +23 -0
  841. kimix-0.1.0/kimi-cli/web/src/lib/api/apis/ConfigApi.ts +200 -0
  842. kimix-0.1.0/kimi-cli/web/src/lib/api/apis/DefaultApi.ts +54 -0
  843. kimix-0.1.0/kimi-cli/web/src/lib/api/apis/OpenInApi.ts +79 -0
  844. kimix-0.1.0/kimi-cli/web/src/lib/api/apis/SessionsApi.ts +561 -0
  845. kimix-0.1.0/kimi-cli/web/src/lib/api/apis/WorkDirsApi.ts +89 -0
  846. kimix-0.1.0/kimi-cli/web/src/lib/api/apis/index.ts +7 -0
  847. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/ConfigApi.md +266 -0
  848. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/ConfigModel.md +45 -0
  849. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/ConfigToml.md +37 -0
  850. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/CreateSessionRequest.md +37 -0
  851. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/DefaultApi.md +68 -0
  852. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/GenerateTitleRequest.md +37 -0
  853. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/GenerateTitleResponse.md +35 -0
  854. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/GitDiffStats.md +45 -0
  855. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/GitFileDiff.md +41 -0
  856. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/GlobalConfig.md +39 -0
  857. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/HTTPValidationError.md +34 -0
  858. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/ModelCapability.md +32 -0
  859. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/OpenInApi.md +75 -0
  860. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/OpenInRequest.md +37 -0
  861. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/OpenInResponse.md +37 -0
  862. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/ProviderType.md +32 -0
  863. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/Session.md +49 -0
  864. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/SessionStatus.md +47 -0
  865. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/SessionsApi.md +722 -0
  866. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/UpdateConfigTomlRequest.md +35 -0
  867. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/UpdateConfigTomlResponse.md +37 -0
  868. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/UpdateGlobalConfigRequest.md +41 -0
  869. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/UpdateGlobalConfigResponse.md +39 -0
  870. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/UpdateSessionRequest.md +37 -0
  871. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/UploadSessionFileResponse.md +39 -0
  872. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/ValidationError.md +38 -0
  873. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/ValidationErrorLocInner.md +32 -0
  874. kimix-0.1.0/kimi-cli/web/src/lib/api/docs/WorkDirsApi.md +128 -0
  875. kimix-0.1.0/kimi-cli/web/src/lib/api/index.ts +5 -0
  876. kimix-0.1.0/kimi-cli/web/src/lib/api/models/ConfigModel.ts +127 -0
  877. kimix-0.1.0/kimi-cli/web/src/lib/api/models/ConfigToml.ts +75 -0
  878. kimix-0.1.0/kimi-cli/web/src/lib/api/models/CreateSessionRequest.ts +73 -0
  879. kimix-0.1.0/kimi-cli/web/src/lib/api/models/GenerateTitleRequest.ts +76 -0
  880. kimix-0.1.0/kimi-cli/web/src/lib/api/models/GenerateTitleResponse.ts +66 -0
  881. kimix-0.1.0/kimi-cli/web/src/lib/api/models/GitDiffStats.ts +114 -0
  882. kimix-0.1.0/kimi-cli/web/src/lib/api/models/GitFileDiff.ts +106 -0
  883. kimix-0.1.0/kimi-cli/web/src/lib/api/models/GlobalConfig.ts +92 -0
  884. kimix-0.1.0/kimi-cli/web/src/lib/api/models/HTTPValidationError.ts +73 -0
  885. kimix-0.1.0/kimi-cli/web/src/lib/api/models/ModelCapability.ts +55 -0
  886. kimix-0.1.0/kimi-cli/web/src/lib/api/models/OpenInRequest.ts +90 -0
  887. kimix-0.1.0/kimi-cli/web/src/lib/api/models/OpenInResponse.ts +74 -0
  888. kimix-0.1.0/kimi-cli/web/src/lib/api/models/ProviderType.ts +61 -0
  889. kimix-0.1.0/kimi-cli/web/src/lib/api/models/Session.ts +132 -0
  890. kimix-0.1.0/kimi-cli/web/src/lib/api/models/SessionStatus.ts +131 -0
  891. kimix-0.1.0/kimi-cli/web/src/lib/api/models/UpdateConfigTomlRequest.ts +66 -0
  892. kimix-0.1.0/kimi-cli/web/src/lib/api/models/UpdateConfigTomlResponse.ts +74 -0
  893. kimix-0.1.0/kimi-cli/web/src/lib/api/models/UpdateGlobalConfigRequest.ts +89 -0
  894. kimix-0.1.0/kimi-cli/web/src/lib/api/models/UpdateGlobalConfigResponse.ts +90 -0
  895. kimix-0.1.0/kimi-cli/web/src/lib/api/models/UpdateSessionRequest.ts +73 -0
  896. kimix-0.1.0/kimi-cli/web/src/lib/api/models/UploadSessionFileResponse.ts +84 -0
  897. kimix-0.1.0/kimi-cli/web/src/lib/api/models/ValidationError.ts +92 -0
  898. kimix-0.1.0/kimi-cli/web/src/lib/api/models/ValidationErrorLocInner.ts +46 -0
  899. kimix-0.1.0/kimi-cli/web/src/lib/api/models/index.ts +25 -0
  900. kimix-0.1.0/kimi-cli/web/src/lib/api/runtime.ts +432 -0
  901. kimix-0.1.0/kimi-cli/web/src/lib/apiClient.ts +99 -0
  902. kimix-0.1.0/kimi-cli/web/src/lib/auth.ts +63 -0
  903. kimix-0.1.0/kimi-cli/web/src/lib/utils.ts +29 -0
  904. kimix-0.1.0/kimi-cli/web/src/lib/version.ts +6 -0
  905. kimix-0.1.0/kimi-cli/web/src/main.tsx +16 -0
  906. kimix-0.1.0/kimi-cli/web/src/react-scan.d.ts +3 -0
  907. kimix-0.1.0/kimi-cli/web/tsconfig.app.json +37 -0
  908. kimix-0.1.0/kimi-cli/web/tsconfig.json +15 -0
  909. kimix-0.1.0/kimi-cli/web/tsconfig.node.json +26 -0
  910. kimix-0.1.0/kimi-cli/web/vite.config.ts +72 -0
  911. kimix-0.1.0/pyproject.toml +147 -0
  912. kimix-0.1.0/src/kimix/__init__.py +1 -0
  913. kimix-0.1.0/src/kimix/agent_boss.yaml +19 -0
  914. kimix-0.1.0/src/kimix/agent_subagent.yaml +14 -0
  915. kimix-0.1.0/src/kimix/agent_tools.py +45 -0
  916. kimix-0.1.0/src/kimix/agent_utils.py +354 -0
  917. kimix-0.1.0/src/kimix/agent_worker.yaml +39 -0
  918. kimix-0.1.0/src/kimix/cli.py +3 -0
  919. kimix-0.1.0/src/kimix/cli_impl/args.py +106 -0
  920. kimix-0.1.0/src/kimix/cli_impl/client.py +55 -0
  921. kimix-0.1.0/src/kimix/cli_impl/commands.py +201 -0
  922. kimix-0.1.0/src/kimix/cli_impl/constants.py +47 -0
  923. kimix-0.1.0/src/kimix/cli_impl/core.py +104 -0
  924. kimix-0.1.0/src/kimix/cli_impl/main.py +11 -0
  925. kimix-0.1.0/src/kimix/cli_impl/server.py +236 -0
  926. kimix-0.1.0/src/kimix/cli_impl/server_cmds.py +205 -0
  927. kimix-0.1.0/src/kimix/cli_impl/utils.py +32 -0
  928. kimix-0.1.0/src/kimix/default_config.json +33 -0
  929. kimix-0.1.0/src/kimix/kimi_utils.py +2 -0
  930. kimix-0.1.0/src/kimix/kimi_utils_impl/__init__.py +74 -0
  931. kimix-0.1.0/src/kimix/kimi_utils_impl/_globals.py +17 -0
  932. kimix-0.1.0/src/kimix/kimi_utils_impl/config.py +135 -0
  933. kimix-0.1.0/src/kimix/kimi_utils_impl/fix_error.py +62 -0
  934. kimix-0.1.0/src/kimix/kimi_utils_impl/prompt.py +153 -0
  935. kimix-0.1.0/src/kimix/kimi_utils_impl/rag.py +139 -0
  936. kimix-0.1.0/src/kimix/kimi_utils_impl/session.py +222 -0
  937. kimix-0.1.0/src/kimix/kimi_utils_impl/system_prompt.py +99 -0
  938. kimix-0.1.0/src/kimix/kimi_utils_impl/utils.py +24 -0
  939. kimix-0.1.0/src/kimix/network/rpc_client.py +103 -0
  940. kimix-0.1.0/src/kimix/network/rpc_server.py +271 -0
  941. kimix-0.1.0/src/kimix/network/tcp_client.py +244 -0
  942. kimix-0.1.0/src/kimix/network/tcp_group_server.py +370 -0
  943. kimix-0.1.0/src/kimix/network/tcp_server.py +307 -0
  944. kimix-0.1.0/src/kimix/summarize.py +92 -0
  945. kimix-0.1.0/src/kimix_manager/base.py +326 -0
  946. kimix-0.1.0/src/kimix_manager/company.py +62 -0
  947. kimix-0.1.0/src/kimix_manager/designer.py +176 -0
  948. kimix-0.1.0/src/my_tools/agent/__init__.py +179 -0
  949. kimix-0.1.0/src/my_tools/background/__init__.py +162 -0
  950. kimix-0.1.0/src/my_tools/background/utils.py +185 -0
  951. kimix-0.1.0/src/my_tools/check_fmt.py +94 -0
  952. kimix-0.1.0/src/my_tools/common.py +370 -0
  953. kimix-0.1.0/src/my_tools/file/__init__.py +63 -0
  954. kimix-0.1.0/src/my_tools/file/chdir.py +45 -0
  955. kimix-0.1.0/src/my_tools/file/find_str.py +169 -0
  956. kimix-0.1.0/src/my_tools/file/input.py +37 -0
  957. kimix-0.1.0/src/my_tools/file/read.md +15 -0
  958. kimix-0.1.0/src/my_tools/file/run.py +119 -0
  959. kimix-0.1.0/src/my_tools/flag/__init__.py +30 -0
  960. kimix-0.1.0/src/my_tools/img/__init__.py +132 -0
  961. kimix-0.1.0/src/my_tools/lint/__init__.py +124 -0
  962. kimix-0.1.0/src/my_tools/lint/cpp_lint.py +459 -0
  963. kimix-0.1.0/src/my_tools/lint/js_lint.py +182 -0
  964. kimix-0.1.0/src/my_tools/lint/py_lint.py +161 -0
  965. kimix-0.1.0/src/my_tools/note/__init__.py +143 -0
  966. kimix-0.1.0/src/my_tools/office/__init__.py +215 -0
  967. kimix-0.1.0/src/my_tools/pdf/__init__.py +117 -0
  968. kimix-0.1.0/src/my_tools/pdf/pdf_to_md.py +488 -0
  969. kimix-0.1.0/src/my_tools/py/__init__.py +112 -0
  970. kimix-0.1.0/src/my_tools/py/check.py +112 -0
  971. kimix-0.1.0/src/my_tools/session/__init__.py +1 -0
  972. kimix-0.1.0/src/my_tools/session/compact.py +155 -0
  973. kimix-0.1.0/src/my_tools/shell/__init__.py +217 -0
  974. kimix-0.1.0/src/my_tools/shell/bash.md +30 -0
  975. kimix-0.1.0/src/my_tools/shell/bash_to_pwsh.py +249 -0
  976. kimix-0.1.0/src/my_tools/shell/powershell.md +25 -0
  977. kimix-0.1.0/src/my_tools/shell/to_powershell_cmd.py +24894 -0
  978. kimix-0.1.0/src/my_tools/skill/__init__.py +196 -0
  979. kimix-0.1.0/src/my_tools/skill/faiss/simple_test.py +103 -0
  980. kimix-0.1.0/src/my_tools/skill/faiss/text_search.py +929 -0
  981. kimix-0.1.0/src/my_tools/web/__init__.py +3 -0
  982. kimix-0.1.0/src/my_tools/web/fetch_url.py +56 -0
  983. kimix-0.1.0/src/my_tools/web/web_fetcher/__init__.py +3 -0
  984. kimix-0.1.0/src/my_tools/web/web_fetcher/fetcher.py +121 -0
  985. kimix-0.1.0/src/my_tools/zip/__init__.py +336 -0
  986. kimix-0.1.0/tools/git_add.py +36 -0
  987. kimix-0.1.0/tools/git_diff.py +27 -0
  988. kimix-0.1.0/tools/syntax_check.py +64 -0
@@ -0,0 +1,393 @@
1
+ ---
2
+ name: api
3
+ description: Guide for using Kimi API utilities (session management, prompts, RAG, colorful printing, threading)
4
+ ---
5
+
6
+ # Kimi API Utilities Guide
7
+
8
+ This guide explains how to use the utility functions from `kimi_utils.py` and `agent_utils.py` for session management, prompting, RAG search, colorful printing, and threading.
9
+
10
+ ## Session Management (kimi_utils.py)
11
+
12
+ ### create_session
13
+
14
+ Create a new or resume an existing Kimi session.
15
+
16
+ ```python
17
+ from kimi_utils import create_session
18
+ from kaos.path import KaosPath
19
+
20
+ # Create a new session
21
+ session = create_session(
22
+ session_id="my_session", # Optional: unique session identifier
23
+ work_dir=KaosPath("./workspace"), # Optional: working directory
24
+ skills_dir=None, # Optional: KaosPath to skills directory
25
+ ralph_loop=None, # Optional: True/-1=unlimited, False/0=disabled
26
+ thinking=True, # Optional: enable deep thinking
27
+ yolo=True, # Optional: enable yolo mode (auto-approve)
28
+ plan_mode=False, # Optional: enable plan mode
29
+ resume=False, # Optional: resume existing session
30
+ agent_file=None, # Optional: Path to custom agent_worker.yaml
31
+ provider_dict=None # Optional: custom LLM provider config dict
32
+ )
33
+
34
+ # Close session when done
35
+ from kimi_utils import close_session
36
+ close_session(session)
37
+ ```
38
+
39
+ ### Default Session
40
+
41
+ ```python
42
+ from kimi_utils import get_default_session, _create_default_session
43
+
44
+ # Get or create the global default session (session_id="default")
45
+ session = _create_default_session(resume=True)
46
+
47
+ # Get existing default session without creating
48
+ session = get_default_session()
49
+ ```
50
+
51
+ ### prompt / prompt_async
52
+
53
+ Send a prompt to the Kimi agent and get a response.
54
+
55
+ ```python
56
+ from kimi_utils import prompt, prompt_async
57
+
58
+ # Simple prompt
59
+ prompt("What is the capital of France?")
60
+
61
+ # With options
62
+ prompt(
63
+ "Analyze this code",
64
+ session=session, # Optional: use specific session (False=temp session)
65
+ read_agents_md=True, # Optional: read AGENTS.md first if context is fresh
66
+ skill_name="python", # Optional: enable skill (str or list of str)
67
+ output_function=custom_print, # Optional: custom output handler for text chunks
68
+ info_print=True # Optional: print context usage after completion
69
+ )
70
+
71
+ # Async version (coroutine)
72
+ await prompt_async("Analyze this code", session=session)
73
+ ```
74
+
75
+ ### validate
76
+
77
+ Validate a condition using the agent. Appends "If the condition is true, run `Setflag` tool." internally.
78
+
79
+ ```python
80
+ from kimi_utils import validate
81
+
82
+ # Returns True if agent calls Setflag, False otherwise
83
+ result = validate("Check if the file exists and contains 'TODO'")
84
+ ```
85
+
86
+ ### Context Management
87
+
88
+ ```python
89
+ from kimi_utils import clear_context, print_usage, delete_session_dir
90
+
91
+ # Clear current context and start fresh
92
+ clear_context(force_create=True, resume=True, print_info=True)
93
+
94
+ # Print current context usage
95
+ print_usage(session)
96
+
97
+ # Delete all session directories (~/.kimi/sessions)
98
+ delete_session_dir()
99
+ ```
100
+
101
+ ### Tool Call Errors
102
+
103
+ ```python
104
+ from kimi_utils import get_tool_call_errors
105
+
106
+ # Get and clear failed tool calls for a session
107
+ errors = get_tool_call_errors(session) # or session_id string
108
+ # Returns formatted string: function, arguments, output, message
109
+ ```
110
+
111
+ ### Session Settings
112
+
113
+ ```python
114
+ from kimi_utils import set_plan_mode, clear_context
115
+
116
+ # Toggle plan mode (clears context automatically)
117
+ set_plan_mode(True)
118
+ ```
119
+
120
+ ## RAG Search (kimi_utils.py)
121
+
122
+ Perform semantic search on files using `TextSearchIndex` with an LRU cache (max 3 indices).
123
+
124
+ ```python
125
+ from kimi_utils import rag
126
+
127
+ # Basic search
128
+ results = rag(
129
+ query="authentication middleware",
130
+ file_path="./src", # Optional: path to search (default: current dir)
131
+ top_k=5, # Optional: number of results (default: 5)
132
+ content=False, # Optional: include full file content in results
133
+ refresh=False, # Optional: force re-index
134
+ hybrid_search=True, # Optional: hybrid semantic + keyword search
135
+ negative="deprecated" # Optional: keywords to penalize
136
+ )
137
+
138
+ # Process results
139
+ for result in results:
140
+ print(f"File: {result.file_path}")
141
+ print(f"Score: {result.score}")
142
+ if hasattr(result, 'full_content'):
143
+ print(f"Content: {result.full_content[:200]}...")
144
+ ```
145
+
146
+ ## Colorful Printing (agent_utils.py)
147
+
148
+ ### Basic Print Functions
149
+
150
+ ```python
151
+ from agent_utils import (
152
+ print_success, # Green bold - success messages
153
+ print_error, # Red bold - error messages
154
+ print_warning, # Yellow bold - warning messages
155
+ print_info, # Magenta - info messages
156
+ print_debug, # Cyan - debug messages (silent if _quiet=True)
157
+ print_string, # Plain text (respects _print_func)
158
+ )
159
+
160
+ # Usage
161
+ print_success("Operation completed successfully!")
162
+ print_error("File not found: config.yaml")
163
+ print_warning("This feature is deprecated.")
164
+ print_info("Processing step 3 of 5...")
165
+ print_debug("Variable x = 42")
166
+ ```
167
+
168
+ ### Advanced Color Printing
169
+
170
+ ```python
171
+ from agent_utils import colorful_print, Color, BgColor, Style
172
+
173
+ # Full control over colors and styles
174
+ colorful_print(
175
+ "Important message!",
176
+ fg=Color.BRIGHT_RED,
177
+ bg=BgColor.YELLOW,
178
+ styles=[Style.BOLD, Style.UNDERLINE]
179
+ )
180
+
181
+ # Available colors
182
+ # Foreground: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE
183
+ # BRIGHT_BLACK, BRIGHT_RED, BRIGHT_GREEN, BRIGHT_YELLOW
184
+ # BRIGHT_BLUE, BRIGHT_MAGENTA, BRIGHT_CYAN, BRIGHT_WHITE
185
+ # Background: Same pattern with BgColor
186
+ # Styles: RESET, BOLD, DIM, ITALIC, UNDERLINE, BLINK, REVERSE, HIDDEN, STRIKETHROUGH
187
+ ```
188
+
189
+ ### Print Agent JSON
190
+
191
+ ```python
192
+ from agent_utils import print_agent_json
193
+
194
+ # Pretty-print streaming messages from the agent session
195
+ print_agent_json(
196
+ get_message=lambda: message.model_dump_json(),
197
+ output_function=custom_handler # Optional: callback for text content
198
+ )
199
+ ```
200
+
201
+ ## Threading (agent_utils.py)
202
+
203
+ ### Running Functions in Background
204
+
205
+ ```python
206
+ from agent_utils import run_thread, sync_all
207
+
208
+ # Run function in background thread (max 4 concurrent)
209
+ def my_task(data):
210
+ # Long running operation
211
+ process(data)
212
+
213
+ thread = run_thread(my_task, (data,))
214
+
215
+ # Wait for all threads to complete
216
+ sync_all()
217
+ ```
218
+
219
+ ### Async Prompt Helpers
220
+
221
+ ```python
222
+ from kimi_utils import async_prompt, async_fix_error
223
+
224
+ # Run prompt in background thread
225
+ thread = async_prompt("Analyze this file", session=False)
226
+
227
+ # Run fix_error in background thread
228
+ thread = async_fix_error("python main.py", extra_prompt="Handle edge cases")
229
+ ```
230
+
231
+ ### Process Execution
232
+
233
+ ```python
234
+ from agent_utils import _run_process_with_log, run_process_with_error, run_script
235
+
236
+ # Run command and capture output
237
+ output, returncode = _run_process_with_log("ls -la")
238
+
239
+ # Run command and capture only errors
240
+ error_output = run_process_with_error(
241
+ command="npm run build",
242
+ keycode=("error", "failed"), # Keywords to look for in output
243
+ skip_success=True # Return None if no error keywords found and code==0
244
+ )
245
+
246
+ # Run a Python script in a new console window
247
+ proc = run_script("./script.py")
248
+ ```
249
+
250
+ ## File Operations (kimi_utils.py)
251
+
252
+ ```python
253
+ from kimi_utils import read_file, prompt_path
254
+ from pathlib import Path
255
+
256
+ # Read file content
257
+ content = read_file(Path("config.yaml"))
258
+
259
+ # Read and split by delimiter
260
+ sections = read_file(Path("docs.txt"), split_word="===SECTION===")
261
+
262
+ # Prompt with file content
263
+ prompt_path(Path("instructions.txt"))
264
+
265
+ # Prompt with split content and optional coroutine callback
266
+ prompt_path(
267
+ Path("tasks.txt"),
268
+ split_word="---",
269
+ after_prompt_coro=generator_func # Optional: generator called after each chunk
270
+ )
271
+ ```
272
+
273
+ ## Error Fix Loop (kimi_utils.py)
274
+
275
+ ```python
276
+ from kimi_utils import fix_error
277
+
278
+ # Automatically detect and fix errors from a command
279
+ fix_error(
280
+ command="python main.py",
281
+ extra_prompt="Make sure to handle edge cases", # Optional: extra instructions
282
+ keycode=("error", "exception"), # Optional: keywords to detect
283
+ skip_success=True, # Optional: skip if return code is 0
284
+ session=None, # Optional: session to use
285
+ max_loop=4 # Optional: max fix attempts
286
+ )
287
+ ```
288
+
289
+ ## Configuration Variables (agent_utils.py)
290
+
291
+ Default configuration values you can import and modify:
292
+
293
+ ```python
294
+ from agent_utils import (
295
+ _default_thinking, # Deep thinking mode (default: True)
296
+ _default_plan_mode, # Plan mode (default: False)
297
+ _default_yolo, # Yolo mode (default: True)
298
+ _default_agent_file, # Path to agent_worker.yaml
299
+ _default_skill_dirs, # List of skill directories
300
+ _default_provider, # Custom provider dict or None
301
+ _quiet, # If True, suppresses print_debug
302
+ _colorful_print, # If False, disables ANSI colors
303
+ _print_func, # Optional custom print handler (text, end) -> None
304
+ )
305
+ ```
306
+
307
+ ### Skill Directories
308
+
309
+ ```python
310
+ from agent_utils import get_skill_dirs
311
+
312
+ # Auto-discover skill directories (checked paths: .agents/skills, .config/.agents/skills, .opencode/skills)
313
+ dirs = get_skill_dirs(use_kaos_path=True)
314
+ ```
315
+
316
+ ## Complete Example
317
+
318
+ ```python
319
+ """Example script using Kimi API utilities."""
320
+ from pathlib import Path
321
+ from kimi_utils import create_session, prompt, rag, close_session, clear_context
322
+ from agent_utils import print_success, print_error, print_info
323
+
324
+ # Create session
325
+ session = create_session(
326
+ session_id="example",
327
+ thinking=True,
328
+ yolo=True
329
+ )
330
+
331
+ try:
332
+ # Search for relevant code
333
+ print_info("Searching for authentication code...")
334
+ results = rag(
335
+ query="auth middleware",
336
+ file_path="./src",
337
+ top_k=3,
338
+ content=True
339
+ )
340
+
341
+ # Build context from results
342
+ context = "\n\n".join([r.full_content for r in results if hasattr(r, 'full_content')])
343
+
344
+ # Prompt with context
345
+ prompt(
346
+ f"Review this authentication code:\n\n{context}",
347
+ session=session
348
+ )
349
+
350
+ print_success("Analysis complete!")
351
+
352
+ except Exception as e:
353
+ print_error(f"Error: {e}")
354
+
355
+ finally:
356
+ close_session(session)
357
+ ```
358
+
359
+ ## Best Practices
360
+
361
+ 1. **Always close sessions** - Use `close_session()` when done to free resources
362
+ 2. **Use colorful prints** - Makes output more readable and organized
363
+ 3. **Handle errors** - Wrap prompts in try/except blocks
364
+ 4. **Leverage RAG** - Use `rag()` for finding relevant code/context
365
+ 5. **Background tasks** - Use `run_thread()` for long-running operations
366
+ 6. **Session reuse** - Reuse sessions for related prompts to save context
367
+ 7. **Clear context** - Call `clear_context()` when switching topics
368
+ 8. **Validate conditions** - Use `validate()` for yes/no checks via the agent
369
+ 9. **Fix errors automatically** - Use `fix_error()` for iterative debugging
370
+ 10. **Skill directories** - Place skills in `.agents/skills/` for auto-discovery
371
+
372
+ ## Common Imports
373
+
374
+ ```python
375
+ # Core utilities
376
+ from kimi_utils import (
377
+ create_session, close_session, prompt, prompt_async,
378
+ validate, rag, clear_context, print_usage,
379
+ get_default_session, get_tool_call_errors,
380
+ set_plan_mode,
381
+ read_file, prompt_path, fix_error, async_prompt
382
+ )
383
+ from agent_utils import (
384
+ print_success, print_error, print_warning,
385
+ print_info, print_debug, colorful_print,
386
+ Color, BgColor, Style, run_thread, sync_all,
387
+ run_process_with_error, get_skill_dirs
388
+ )
389
+
390
+ # Standard library
391
+ from pathlib import Path
392
+ import asyncio
393
+ ```
@@ -0,0 +1,281 @@
1
+ ---
2
+ name: tool
3
+ description: Guide for creating tools using CallableTool2 and Params pattern
4
+ ---
5
+
6
+ # Tool Development Guide
7
+
8
+ This guide explains how to create custom tools using the `CallableTool2` and `Params` pattern.
9
+
10
+ ## Quick Template
11
+
12
+ ```python
13
+ """Brief description of what this tool does."""
14
+ from kimi_agent_sdk import CallableTool2, ToolError, ToolOk, ToolReturnValue
15
+ from pydantic import BaseModel, Field
16
+
17
+
18
+ class Params(BaseModel):
19
+ """Define tool parameters here."""
20
+ required_param: str = Field(
21
+ description="Description of this parameter for the LLM."
22
+ )
23
+ optional_param: str | None = Field(
24
+ default=None,
25
+ description="Optional parameter with default value."
26
+ )
27
+
28
+
29
+ class MyTool(CallableTool2):
30
+ name: str = "MyTool" # Tool identifier
31
+ description: str = "What this tool does." # For LLM to understand usage
32
+ params: type[Params] = Params # Link to Params class
33
+
34
+ async def __call__(self, params: Params) -> ToolReturnValue:
35
+ """Execute the tool logic."""
36
+ try:
37
+ # Your tool logic here
38
+ result = f"Processed: {params.required_param}"
39
+ return ToolOk(output=result)
40
+ except Exception as e:
41
+ return ToolError(
42
+ message=str(e),
43
+ output="Partial output if available",
44
+ brief="Short error summary"
45
+ )
46
+ ```
47
+
48
+ ## Complete Example
49
+
50
+ ```python
51
+ """Fetch and process web content."""
52
+ import asyncio
53
+ import aiohttp
54
+ from kimi_agent_sdk import CallableTool2, ToolError, ToolOk, ToolReturnValue
55
+ from pydantic import BaseModel, Field
56
+
57
+
58
+ class Params(BaseModel):
59
+ """Parameters for web fetch tool."""
60
+ url: str = Field(
61
+ description="URL to fetch content from."
62
+ )
63
+ timeout: float | None = Field(
64
+ default=30.0,
65
+ ge=1,
66
+ le=300,
67
+ description="Request timeout in seconds (1-300)."
68
+ )
69
+ max_length: int | None = Field(
70
+ default=10000,
71
+ description="Maximum content length to return."
72
+ )
73
+
74
+
75
+ class WebFetch(CallableTool2):
76
+ """Fetch web page content."""
77
+ name: str = "WebFetch"
78
+ description: str = "Fetch content from a URL with optional timeout and length limits."
79
+ params: type[Params] = Params
80
+
81
+ async def __call__(self, params: Params) -> ToolReturnValue:
82
+ """Fetch URL content asynchronously."""
83
+ try:
84
+ async with aiohttp.ClientSession() as session:
85
+ async with session.get(
86
+ params.url,
87
+ timeout=aiohttp.ClientTimeout(total=params.timeout)
88
+ ) as response:
89
+ content = await response.text()
90
+
91
+ # Apply length limit
92
+ if len(content) > params.max_length:
93
+ content = content[:params.max_length] + "\n... (truncated)"
94
+
95
+ return ToolOk(output=content)
96
+
97
+ except asyncio.TimeoutError:
98
+ return ToolError(
99
+ message=f"Request timed out after {params.timeout}s",
100
+ output="",
101
+ brief="Timeout error"
102
+ )
103
+ except Exception as e:
104
+ return ToolError(
105
+ message=str(e),
106
+ output="",
107
+ brief="Fetch failed"
108
+ )
109
+ ```
110
+
111
+ ## Params Class Reference
112
+
113
+ ### Field Types
114
+
115
+ | Pattern | Description | Example |
116
+ |---------|-------------|---------|
117
+ | `param: str` | Required string | `path: str = Field(description="File path.")` |
118
+ | `param: str \| None` | Optional string | `cwd: str \| None = Field(default=None, ...)` |
119
+ | `param: list[str]` | List of strings | `args: list[str] = Field(default_factory=list, ...)` |
120
+ | `param: bool` | Boolean flag | `force: bool = Field(default=False, ...)` |
121
+ | `param: int \| float` | Numeric | `timeout: float = Field(default=30, ge=0)` |
122
+
123
+ ### Field Validators
124
+
125
+ Use these in `Field()` for validation:
126
+
127
+ ```python
128
+ # Numeric constraints
129
+ ge=0 # Greater than or equal to 0
130
+ le=100 # Less than or equal to 100
131
+ gt=0 # Greater than 0
132
+ lt=100 # Less than 100
133
+
134
+ # String constraints
135
+ min_length=1 # Minimum string length
136
+ max_length=255 # Maximum string length
137
+ pattern=r"^\d+$" # Regex pattern
138
+
139
+ # Collection constraints
140
+ min_length=1 # Minimum list/dict items
141
+ max_length=10 # Maximum list/dict items
142
+ ```
143
+
144
+ ### Default Values
145
+
146
+ ```python
147
+ # Simple default
148
+ timeout: int = Field(default=30, ...)
149
+
150
+ # Factory default (for mutable types like list, dict)
151
+ args: list[str] = Field(default_factory=list, ...)
152
+ env: dict[str, str] = Field(default_factory=dict, ...)
153
+
154
+ # Optional with None default
155
+ output_path: str | None = Field(default=None, ...)
156
+ ```
157
+
158
+ ## CallableTool2 Class Rules
159
+
160
+ ### Required Attributes
161
+
162
+ ```python
163
+ class MyTool(CallableTool2):
164
+ name: str = "MyTool" # Unique identifier
165
+ description: str = "Does something." # LLM-visible description
166
+ params: type[Params] = Params # Must reference Params class
167
+ ```
168
+
169
+ ### The __call__ Method
170
+
171
+ ```python
172
+ async def __call__(self, params: Params) -> ToolReturnValue:
173
+ """
174
+ Args:
175
+ params: Instance of your Params class with validated values
176
+
177
+ Returns:
178
+ ToolOk(output="success result") on success
179
+ ToolError(message="...", output="...", brief="...") on failure
180
+ """
181
+ ```
182
+
183
+ ### Return Values
184
+
185
+ **Success:**
186
+ ```python
187
+ return ToolOk(output="Your result here")
188
+ ```
189
+
190
+ **Error:**
191
+ ```python
192
+ return ToolError(
193
+ message="Full error details for debugging",
194
+ output="Partial output if any was produced",
195
+ brief="Short error summary for display"
196
+ )
197
+ ```
198
+
199
+ ## Best Practices
200
+
201
+ 1. **Always use type hints** - Both for Params fields and __call__ return type
202
+ 2. **Write clear descriptions** - LLM uses Field descriptions to understand parameters
203
+ 3. **Use proper defaults** - `default_factory=list` for lists, `default=None` for optionals
204
+ 4. **Handle exceptions** - Wrap logic in try/except and return ToolError
205
+ 5. **Make it async** - __call__ should always be async for consistency
206
+ 6. **Validate inputs** - Use Field validators (ge, le, min_length, etc.)
207
+ 7. **Keep it focused** - One tool should do one thing well
208
+ 8. **Document with docstrings** - Module, class, and method docstrings
209
+
210
+ ## Common Imports
211
+
212
+ ```python
213
+ # Core imports (always needed)
214
+ from kimi_agent_sdk import CallableTool2, ToolError, ToolOk, ToolReturnValue
215
+ from pydantic import BaseModel, Field
216
+
217
+ # Common stdlib imports
218
+ import asyncio
219
+ import os
220
+ from pathlib import Path
221
+ from typing import Any
222
+
223
+ # For subprocess tools
224
+ import subprocess
225
+ import threading
226
+ ```
227
+
228
+ ## File Naming
229
+
230
+ Place your tool in the appropriate module:
231
+ - `my_tools/py/__init__.py` - Python execution tools
232
+ - `my_tools/file/run.py` - File/process tools
233
+ - `my_tools/<category>/<tool_name>.py` - Organize by category
234
+
235
+ ## Background Task Tools Reference
236
+
237
+ The `my_tools/background/` module provides tools for managing background tasks:
238
+
239
+ ### Tool Classes
240
+
241
+ | Tool | Description | Parameters |
242
+ |------|-------------|------------|
243
+ | `TaskList` | List all background tasks with their status | None |
244
+ | `TaskOutput` | Get accumulated output from a background task | `task_id: str` |
245
+ | `TaskWait` | Wait for a background task to complete | `task_id: str` |
246
+
247
+ ### Utility Classes and Functions
248
+
249
+ **BackgroundStream** (`utils.py`)
250
+ A wrapper for background thread execution with a thread-safe queue:
251
+ - `start(function)` - Start the background thread with a given function that accepts a `queue.Queue[str]`
252
+ - `wait()` - Wait for the background thread to complete
253
+ - `pop_output()` - Retrieve and clear all output from the queue
254
+ - `get_output()` - Retrieve all output from the queue without clearing
255
+ - `get_queue()` - Get the thread-safe queue for retrieving messages
256
+ - `is_started()` - Check if the stream has been started
257
+
258
+ **Task Management Functions** (`utils.py`)
259
+ - `generate_task_id(kind, name=None)` - Generate a unique task ID
260
+ - `add_task(task_id, stream)` - Register a task with its BackgroundStream
261
+ - `remove_task_id(task_id)` - Remove a task ID from the global registry
262
+ - `get_all_tasks()` - Get all registered tasks as a dict
263
+
264
+ ### Usage Example
265
+
266
+ ```python
267
+ from my_tools.background.utils import (
268
+ generate_task_id, add_task, BackgroundStream
269
+ )
270
+
271
+ # Create and start a background task
272
+ stream = BackgroundStream()
273
+ task_id = generate_task_id("download", "file1")
274
+ stream.start(my_background_function, stop_function)
275
+ add_task(task_id, stream)
276
+
277
+ # Later, use tools to interact with the task:
278
+ # - TaskList: List all running tasks
279
+ # - TaskOutput: Get output from a specific task
280
+ # - TaskWait: Wait for a task to complete
281
+ ```
kimix-0.1.0/.gitignore ADDED
@@ -0,0 +1,11 @@
1
+ __pycache__
2
+ agent.py
3
+ kaos/
4
+ kimi_agent_sdk/
5
+ kimi_cli/
6
+ kosong/
7
+ requirements.txt
8
+ .cache
9
+ .index_cache
10
+ uv.lock
11
+ clone_submodule.py
@@ -0,0 +1,6 @@
1
+ [submodule "kimi-cli"]
2
+ path = kimi-cli
3
+ url = https://github.com/MaxwellGengYF/kimi-cli.git
4
+ [submodule "kimi-agent-sdk"]
5
+ path = kimi-agent-sdk
6
+ url = https://github.com/MaxwellGengYF/kimi-agent-sdk.git
@@ -0,0 +1,7 @@
1
+ repos:
2
+ - repo: https://github.com/pre-commit/mirrors-mypy
3
+ rev: v1.8.0
4
+ hooks:
5
+ - id: mypy
6
+ additional_dependencies: [types-all]
7
+ args: [--strict, --ignore-missing-imports]
kimix-0.1.0/AGENTS.md ADDED
@@ -0,0 +1,8 @@
1
+ # Rules:
2
+
3
+ After writing any Python script, run:
4
+ ```bash
5
+ uv run tools/syntax_check.py <python_file_name>
6
+ ```
7
+ Fix all errors reported by the syntax checker before proceeding.
8
+ use `uv run tools/git_diff.py` to check file diff.