crabcode 0.1.4__tar.gz → 0.1.6__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 (536) hide show
  1. crabcode-0.1.6/.github/workflows/computer-use.yml +43 -0
  2. crabcode-0.1.6/.github/workflows/document-engine-wheels.yml +40 -0
  3. crabcode-0.1.6/.github/workflows/python-publish.yml +125 -0
  4. crabcode-0.1.6/.github/workflows/windows-compat.yml +57 -0
  5. crabcode-0.1.6/.gitignore +23 -0
  6. {crabcode-0.1.4 → crabcode-0.1.6}/PKG-INFO +14 -1
  7. {crabcode-0.1.4 → crabcode-0.1.6}/README.md +440 -22
  8. {crabcode-0.1.4 → crabcode-0.1.6}/README.zh-CN.md +444 -28
  9. {crabcode-0.1.4 → crabcode-0.1.6}/packages/cli/crabcode_cli/app.py +289 -9
  10. {crabcode-0.1.4 → crabcode-0.1.6}/packages/cli/crabcode_cli/banner.py +11 -14
  11. crabcode-0.1.6/packages/cli/crabcode_cli/computer_use.py +286 -0
  12. crabcode-0.1.6/packages/cli/crabcode_cli/model_manager.py +649 -0
  13. crabcode-0.1.6/packages/cli/crabcode_cli/model_picker.py +168 -0
  14. {crabcode-0.1.4 → crabcode-0.1.6}/packages/cli/crabcode_cli/pipe.py +13 -1
  15. {crabcode-0.1.4 → crabcode-0.1.6}/packages/cli/crabcode_cli/repl.py +1320 -224
  16. crabcode-0.1.6/packages/cli/crabcode_cli/session_picker.py +239 -0
  17. crabcode-0.1.6/packages/cli/hatch_build.py +71 -0
  18. {crabcode-0.1.4 → crabcode-0.1.6}/packages/cli/pyproject.toml +5 -2
  19. crabcode-0.1.6/packages/computer-use/Cargo.lock +3000 -0
  20. crabcode-0.1.6/packages/computer-use/Cargo.toml +9 -0
  21. crabcode-0.1.6/packages/computer-use/README.md +200 -0
  22. crabcode-0.1.6/packages/computer-use/client/build.mjs +9 -0
  23. crabcode-0.1.6/packages/computer-use/client/channel.d.ts +151 -0
  24. crabcode-0.1.6/packages/computer-use/client/channel.js +614 -0
  25. crabcode-0.1.6/packages/computer-use/client/nativeClient.cjs +111 -0
  26. crabcode-0.1.6/packages/computer-use/client/nativeClient.d.cts +7 -0
  27. crabcode-0.1.6/packages/computer-use/client/nodeChannel.d.ts +11 -0
  28. crabcode-0.1.6/packages/computer-use/client/nodeChannel.js +25 -0
  29. crabcode-0.1.6/packages/computer-use/client/package.json +4 -0
  30. crabcode-0.1.6/packages/computer-use/client/src/channel.ts +688 -0
  31. crabcode-0.1.6/packages/computer-use/client/vscodeHost.d.ts +8 -0
  32. crabcode-0.1.6/packages/computer-use/client/vscodeHost.js +138 -0
  33. crabcode-0.1.6/packages/computer-use/core/Cargo.toml +32 -0
  34. crabcode-0.1.6/packages/computer-use/core/src/computer_use/background_experiment.rs +219 -0
  35. crabcode-0.1.6/packages/computer-use/core/src/computer_use/background_input/tests.rs +377 -0
  36. crabcode-0.1.6/packages/computer-use/core/src/computer_use/background_input.rs +1247 -0
  37. crabcode-0.1.6/packages/computer-use/core/src/computer_use/background_profiles.json +35 -0
  38. crabcode-0.1.6/packages/computer-use/core/src/computer_use/diagnostics.rs +53 -0
  39. crabcode-0.1.6/packages/computer-use/core/src/computer_use/mac_accessibility/tests.rs +914 -0
  40. crabcode-0.1.6/packages/computer-use/core/src/computer_use/mac_accessibility.rs +913 -0
  41. crabcode-0.1.6/packages/computer-use/core/src/computer_use/mac_ax_relations.rs +248 -0
  42. crabcode-0.1.6/packages/computer-use/core/src/computer_use/policy.rs +104 -0
  43. crabcode-0.1.6/packages/computer-use/core/src/computer_use/regression_tests.rs +218 -0
  44. crabcode-0.1.6/packages/computer-use/core/src/computer_use/window_lifecycle.rs +175 -0
  45. crabcode-0.1.6/packages/computer-use/core/src/computer_use/window_observation.rs +369 -0
  46. crabcode-0.1.6/packages/computer-use/core/src/computer_use/window_relations.rs +175 -0
  47. crabcode-0.1.6/packages/computer-use/core/src/computer_use/windows_clipboard.rs +398 -0
  48. crabcode-0.1.6/packages/computer-use/core/src/computer_use/windows_focus.rs +55 -0
  49. crabcode-0.1.6/packages/computer-use/core/src/computer_use/windows_input.rs +430 -0
  50. crabcode-0.1.6/packages/computer-use/core/src/computer_use.rs +6142 -0
  51. crabcode-0.1.6/packages/computer-use/core/src/lib.rs +3 -0
  52. crabcode-0.1.6/packages/computer-use/core/tests/fixtures/background_page.html +28 -0
  53. crabcode-0.1.6/packages/computer-use/core/tests/fixtures/keyboard_host.swift +86 -0
  54. crabcode-0.1.6/packages/computer-use/core/tests/fixtures/popup_observation_host.swift +59 -0
  55. crabcode-0.1.6/packages/computer-use/core/tests/fixtures/save_panel_host.swift +51 -0
  56. crabcode-0.1.6/packages/computer-use/core/tests/fixtures/scaled_ax_host.swift +82 -0
  57. crabcode-0.1.6/packages/computer-use/core/tests/fixtures/scroll_host.swift +208 -0
  58. crabcode-0.1.6/packages/computer-use/core/tests/fixtures/window_group_host.swift +103 -0
  59. crabcode-0.1.6/packages/computer-use/host/Cargo.toml +28 -0
  60. crabcode-0.1.6/packages/computer-use/host/build.rs +63 -0
  61. crabcode-0.1.6/packages/computer-use/host/src/lib.rs +1109 -0
  62. crabcode-0.1.6/packages/computer-use/host/src/main.rs +41 -0
  63. crabcode-0.1.6/packages/computer-use/host/src/permission_guide.m +153 -0
  64. crabcode-0.1.6/packages/computer-use/host/windows.rc +2 -0
  65. crabcode-0.1.6/packages/computer-use/icons/PROMPT.md +19 -0
  66. crabcode-0.1.6/packages/computer-use/icons/icon.icns +0 -0
  67. crabcode-0.1.6/packages/computer-use/icons/icon.ico +0 -0
  68. crabcode-0.1.6/packages/computer-use/icons/icon.png +0 -0
  69. crabcode-0.1.6/packages/computer-use/scripts/build-icons.mjs +54 -0
  70. crabcode-0.1.6/packages/computer-use/scripts/build.mjs +73 -0
  71. crabcode-0.1.6/packages/computer-use/scripts/check-wheel.py +84 -0
  72. crabcode-0.1.6/packages/computer-use/scripts/live-smoke.py +245 -0
  73. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/_version.py +1 -1
  74. crabcode-0.1.6/packages/core/crabcode_core/_windows_process.py +68 -0
  75. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/agent_manager.py +70 -3
  76. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/api/anthropic_adapter.py +141 -20
  77. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/api/azure_adapter.py +2 -1
  78. crabcode-0.1.6/packages/core/crabcode_core/api/base.py +233 -0
  79. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/api/codex_adapter.py +627 -47
  80. crabcode-0.1.6/packages/core/crabcode_core/api/error_logging.py +132 -0
  81. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/api/model_info.py +105 -0
  82. crabcode-0.1.6/packages/core/crabcode_core/api/network.py +62 -0
  83. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/api/openai_adapter.py +63 -29
  84. crabcode-0.1.6/packages/core/crabcode_core/command_line.py +18 -0
  85. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/compact/compact.py +50 -42
  86. crabcode-0.1.6/packages/core/crabcode_core/compact/context_tokens.py +165 -0
  87. crabcode-0.1.6/packages/core/crabcode_core/computer_use_mode.py +38 -0
  88. crabcode-0.1.6/packages/core/crabcode_core/computer_use_observation.py +144 -0
  89. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/config/claudemd.py +8 -4
  90. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/config/manager.py +88 -9
  91. crabcode-0.1.6/packages/core/crabcode_core/config/model_catalog.py +256 -0
  92. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/events.py +783 -81
  93. crabcode-0.1.6/packages/core/crabcode_core/file_lock.py +81 -0
  94. crabcode-0.1.6/packages/core/crabcode_core/filesystem.py +22 -0
  95. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/hooks/manager.py +17 -6
  96. crabcode-0.1.6/packages/core/crabcode_core/image_io.py +111 -0
  97. crabcode-0.1.6/packages/core/crabcode_core/io_worker.py +211 -0
  98. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/logging_utils.py +65 -5
  99. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/lsp/client.py +49 -20
  100. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/lsp/diagnostics.py +23 -3
  101. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/lsp/manager.py +2 -1
  102. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/mcp/client.py +2 -1
  103. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/mcp/config.py +4 -3
  104. crabcode-0.1.6/packages/core/crabcode_core/path_validation.py +34 -0
  105. crabcode-0.1.6/packages/core/crabcode_core/paths.py +24 -0
  106. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/peer/runtime.py +60 -38
  107. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/permissions/ai_reviewer.py +10 -2
  108. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/permissions/manager.py +30 -7
  109. crabcode-0.1.6/packages/core/crabcode_core/prompts/blocks.py +10 -0
  110. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/prompts/context.py +18 -9
  111. crabcode-0.1.6/packages/core/crabcode_core/prompts/library.py +92 -0
  112. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/prompts/profile.py +14 -1
  113. crabcode-0.1.6/packages/core/crabcode_core/prompts/system.py +356 -0
  114. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/prompts/templates.py +34 -5
  115. crabcode-0.1.6/packages/core/crabcode_core/query/computer_use_history.py +83 -0
  116. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/query/loop.py +1038 -185
  117. crabcode-0.1.6/packages/core/crabcode_core/query/retry.py +116 -0
  118. crabcode-0.1.6/packages/core/crabcode_core/schedule/__init__.py +13 -0
  119. crabcode-0.1.6/packages/core/crabcode_core/schedule/manager.py +631 -0
  120. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/schedule/store.py +218 -9
  121. crabcode-0.1.6/packages/core/crabcode_core/schedule/timing.py +287 -0
  122. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/session/meta_db.py +190 -21
  123. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/session/storage.py +624 -172
  124. crabcode-0.1.6/packages/core/crabcode_core/skills/context.py +23 -0
  125. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/skills/loader.py +5 -3
  126. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/snapshot/snapshot.py +17 -3
  127. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/snapshot/tracker.py +118 -9
  128. crabcode-0.1.6/packages/core/crabcode_core/subprocess_utils.py +260 -0
  129. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/team/inbox.py +48 -101
  130. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/team/manager.py +3 -2
  131. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/team/message_bus.py +47 -104
  132. crabcode-0.1.6/packages/core/crabcode_core/text_io.py +52 -0
  133. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/__init__.py +26 -0
  134. crabcode-0.1.6/packages/core/crabcode_core/tools/_input_schema.py +130 -0
  135. crabcode-0.1.6/packages/core/crabcode_core/tools/apply_patch.py +587 -0
  136. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/bash.py +46 -33
  137. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/browser.py +19 -3
  138. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/checkpoint.py +14 -2
  139. crabcode-0.1.6/packages/core/crabcode_core/tools/computer_use.py +599 -0
  140. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/diff_utils.py +5 -2
  141. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/file_edit.py +44 -5
  142. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/file_read.py +41 -8
  143. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/file_write.py +25 -4
  144. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/glob.py +8 -3
  145. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/grep.py +107 -20
  146. crabcode-0.1.6/packages/core/crabcode_core/tools/image.py +173 -0
  147. crabcode-0.1.6/packages/core/crabcode_core/tools/image_generate.py +115 -0
  148. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/lint.py +17 -8
  149. crabcode-0.1.6/packages/core/crabcode_core/tools/loading.py +187 -0
  150. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/memory.py +3 -3
  151. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/monitor.py +12 -26
  152. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/schedule.py +142 -71
  153. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/skill.py +2 -20
  154. crabcode-0.1.6/packages/core/crabcode_core/tools/tool_search.py +64 -0
  155. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/web_search.py +137 -13
  156. crabcode-0.1.6/packages/core/crabcode_core/turn_details.py +64 -0
  157. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/types/__init__.py +6 -0
  158. crabcode-0.1.6/packages/core/crabcode_core/types/config.py +434 -0
  159. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/types/event.py +64 -0
  160. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/types/message.py +15 -0
  161. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/types/tool.py +49 -0
  162. crabcode-0.1.6/packages/core/crabcode_core/usage.py +289 -0
  163. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/pyproject.toml +3 -1
  164. {crabcode-0.1.4 → crabcode-0.1.6}/packages/debugger/crabcode_debugger/adapters.py +7 -1
  165. {crabcode-0.1.4 → crabcode-0.1.6}/packages/debugger/crabcode_debugger/dap.py +88 -15
  166. {crabcode-0.1.4 → crabcode-0.1.6}/packages/debugger/crabcode_debugger/memory.py +157 -42
  167. {crabcode-0.1.4 → crabcode-0.1.6}/packages/debugger/crabcode_debugger/process.py +52 -17
  168. crabcode-0.1.6/packages/debugger/crabcode_debugger/runtime.py +58 -0
  169. {crabcode-0.1.4 → crabcode-0.1.6}/packages/debugger/crabcode_debugger/sessions.py +112 -68
  170. {crabcode-0.1.4 → crabcode-0.1.6}/packages/debugger/crabcode_debugger/tool.py +79 -8
  171. {crabcode-0.1.4 → crabcode-0.1.6}/packages/debugger/pyproject.toml +2 -2
  172. crabcode-0.1.6/packages/desktop/README.md +164 -0
  173. crabcode-0.1.6/packages/desktop/THEMES.md +68 -0
  174. crabcode-0.1.6/packages/desktop/index.html +13 -0
  175. crabcode-0.1.6/packages/desktop/package-lock.json +5221 -0
  176. crabcode-0.1.6/packages/desktop/package.json +41 -0
  177. crabcode-0.1.6/packages/desktop/src/App.startup.test.tsx +79 -0
  178. crabcode-0.1.6/packages/desktop/src/App.test.tsx +1754 -0
  179. crabcode-0.1.6/packages/desktop/src/App.tsx +7856 -0
  180. crabcode-0.1.6/packages/desktop/src/ApprovalShortcutSettings.tsx +90 -0
  181. crabcode-0.1.6/packages/desktop/src/ChangeReview.test.tsx +118 -0
  182. crabcode-0.1.6/packages/desktop/src/ChangeReview.tsx +252 -0
  183. crabcode-0.1.6/packages/desktop/src/ChangeReviewControls.test.tsx +97 -0
  184. crabcode-0.1.6/packages/desktop/src/ChangeReviewControls.tsx +97 -0
  185. crabcode-0.1.6/packages/desktop/src/ComposerEditor.test.tsx +303 -0
  186. crabcode-0.1.6/packages/desktop/src/ComposerEditor.tsx +661 -0
  187. crabcode-0.1.6/packages/desktop/src/ConversationTurns.test.tsx +149 -0
  188. crabcode-0.1.6/packages/desktop/src/ConversationTurns.tsx +114 -0
  189. crabcode-0.1.6/packages/desktop/src/CopyButton.tsx +68 -0
  190. crabcode-0.1.6/packages/desktop/src/DocumentViewTabs.tsx +60 -0
  191. crabcode-0.1.6/packages/desktop/src/DocumentWorkspace.blog.test.tsx +98 -0
  192. crabcode-0.1.6/packages/desktop/src/DocumentWorkspace.files.test.tsx +180 -0
  193. crabcode-0.1.6/packages/desktop/src/DocumentWorkspace.selection.test.tsx +64 -0
  194. crabcode-0.1.6/packages/desktop/src/DocumentWorkspace.test.ts +329 -0
  195. crabcode-0.1.6/packages/desktop/src/DocumentWorkspace.toolbar.test.tsx +86 -0
  196. crabcode-0.1.6/packages/desktop/src/DocumentWorkspace.tsx +2680 -0
  197. crabcode-0.1.6/packages/desktop/src/FileEditSummaryCard.test.tsx +80 -0
  198. crabcode-0.1.6/packages/desktop/src/FileEditSummaryCard.tsx +87 -0
  199. crabcode-0.1.6/packages/desktop/src/FollowUpQueue.test.tsx +80 -0
  200. crabcode-0.1.6/packages/desktop/src/FollowUpQueue.tsx +93 -0
  201. crabcode-0.1.6/packages/desktop/src/ModelSettingsPanel.test.tsx +117 -0
  202. crabcode-0.1.6/packages/desktop/src/ModelSettingsPanel.tsx +813 -0
  203. crabcode-0.1.6/packages/desktop/src/PermissionPicker.test.tsx +43 -0
  204. crabcode-0.1.6/packages/desktop/src/ProjectFilesWorkspace.test.tsx +369 -0
  205. crabcode-0.1.6/packages/desktop/src/ProjectFilesWorkspace.tsx +779 -0
  206. crabcode-0.1.6/packages/desktop/src/PromptSettingsPanel.test.tsx +359 -0
  207. crabcode-0.1.6/packages/desktop/src/PromptSettingsPanel.tsx +645 -0
  208. crabcode-0.1.6/packages/desktop/src/ReviewMenu.tsx +116 -0
  209. crabcode-0.1.6/packages/desktop/src/RuntimeSettingsPanel.tsx +459 -0
  210. crabcode-0.1.6/packages/desktop/src/SettingsView.test.tsx +1271 -0
  211. crabcode-0.1.6/packages/desktop/src/SettingsView.tsx +2068 -0
  212. crabcode-0.1.6/packages/desktop/src/SlidingTabIndicator.test.tsx +66 -0
  213. crabcode-0.1.6/packages/desktop/src/SlidingTabIndicator.tsx +26 -0
  214. crabcode-0.1.6/packages/desktop/src/StatusBar.test.tsx +386 -0
  215. crabcode-0.1.6/packages/desktop/src/StatusBar.tsx +402 -0
  216. crabcode-0.1.6/packages/desktop/src/TrajectoryView.test.tsx +71 -0
  217. crabcode-0.1.6/packages/desktop/src/TrajectoryView.tsx +394 -0
  218. crabcode-0.1.6/packages/desktop/src/TurnDetailsButton.test.tsx +97 -0
  219. crabcode-0.1.6/packages/desktop/src/TurnDetailsButton.tsx +61 -0
  220. crabcode-0.1.6/packages/desktop/src/UsageSettingsPanel.css +95 -0
  221. crabcode-0.1.6/packages/desktop/src/UsageSettingsPanel.test.tsx +341 -0
  222. crabcode-0.1.6/packages/desktop/src/UsageSettingsPanel.tsx +489 -0
  223. crabcode-0.1.6/packages/desktop/src/VirtualMachineSettings.test.tsx +69 -0
  224. crabcode-0.1.6/packages/desktop/src/VirtualMachineSettings.tsx +213 -0
  225. crabcode-0.1.6/packages/desktop/src/approvalShortcuts.test.ts +117 -0
  226. crabcode-0.1.6/packages/desktop/src/approvalShortcuts.ts +130 -0
  227. crabcode-0.1.6/packages/desktop/src/computerUse.test.ts +727 -0
  228. crabcode-0.1.6/packages/desktop/src/computerUse.ts +42 -0
  229. crabcode-0.1.6/packages/desktop/src/desktopSlashCommands.test.ts +75 -0
  230. crabcode-0.1.6/packages/desktop/src/desktopSlashCommands.ts +115 -0
  231. crabcode-0.1.6/packages/desktop/src/diffRows.ts +62 -0
  232. crabcode-0.1.6/packages/desktop/src/events.test.ts +740 -0
  233. crabcode-0.1.6/packages/desktop/src/events.ts +829 -0
  234. crabcode-0.1.6/packages/desktop/src/favorites.test.ts +173 -0
  235. crabcode-0.1.6/packages/desktop/src/favorites.ts +296 -0
  236. crabcode-0.1.6/packages/desktop/src/fileEditSummary.test.ts +91 -0
  237. crabcode-0.1.6/packages/desktop/src/fileEditSummary.ts +308 -0
  238. crabcode-0.1.6/packages/desktop/src/gateway.test.ts +196 -0
  239. crabcode-0.1.6/packages/desktop/src/gateway.ts +918 -0
  240. crabcode-0.1.6/packages/desktop/src/gatewayErrors.test.ts +46 -0
  241. crabcode-0.1.6/packages/desktop/src/gatewayStartup.test.ts +31 -0
  242. crabcode-0.1.6/packages/desktop/src/gatewayStartup.ts +59 -0
  243. crabcode-0.1.6/packages/desktop/src/lumeInstaller.test.tsx +95 -0
  244. crabcode-0.1.6/packages/desktop/src/lumeInstaller.ts +50 -0
  245. crabcode-0.1.6/packages/desktop/src/main.tsx +11 -0
  246. crabcode-0.1.6/packages/desktop/src/markdownMath.ts +112 -0
  247. crabcode-0.1.6/packages/desktop/src/native.lume.test.ts +48 -0
  248. crabcode-0.1.6/packages/desktop/src/native.startup.test.ts +159 -0
  249. crabcode-0.1.6/packages/desktop/src/native.test.ts +450 -0
  250. crabcode-0.1.6/packages/desktop/src/native.ts +718 -0
  251. crabcode-0.1.6/packages/desktop/src/pathUtils.ts +9 -0
  252. crabcode-0.1.6/packages/desktop/src/permissionPresentation.ts +64 -0
  253. crabcode-0.1.6/packages/desktop/src/platform.ts +5 -0
  254. crabcode-0.1.6/packages/desktop/src/promptTemplateFile.test.ts +52 -0
  255. crabcode-0.1.6/packages/desktop/src/promptTemplateFile.ts +112 -0
  256. crabcode-0.1.6/packages/desktop/src/reviewHistory.ts +23 -0
  257. crabcode-0.1.6/packages/desktop/src/sessionNotifications.test.ts +119 -0
  258. crabcode-0.1.6/packages/desktop/src/sessionNotifications.ts +190 -0
  259. crabcode-0.1.6/packages/desktop/src/styles.css +17603 -0
  260. crabcode-0.1.6/packages/desktop/src/taskbarProgress.test.ts +71 -0
  261. crabcode-0.1.6/packages/desktop/src/taskbarProgress.ts +76 -0
  262. crabcode-0.1.6/packages/desktop/src/theme.test.ts +102 -0
  263. crabcode-0.1.6/packages/desktop/src/theme.ts +561 -0
  264. crabcode-0.1.6/packages/desktop/src/themePackages.test.ts +128 -0
  265. crabcode-0.1.6/packages/desktop/src/themePackages.ts +321 -0
  266. crabcode-0.1.6/packages/desktop/src/toolPresentation.test.ts +40 -0
  267. crabcode-0.1.6/packages/desktop/src/toolPresentation.ts +471 -0
  268. crabcode-0.1.6/packages/desktop/src/turnDetails.ts +72 -0
  269. crabcode-0.1.6/packages/desktop/src/types.ts +927 -0
  270. crabcode-0.1.6/packages/desktop/src/useGitReview.test.tsx +48 -0
  271. crabcode-0.1.6/packages/desktop/src/useGitReview.ts +64 -0
  272. crabcode-0.1.6/packages/desktop/src/useProjectModels.test.tsx +41 -0
  273. crabcode-0.1.6/packages/desktop/src/useProjectModels.ts +26 -0
  274. crabcode-0.1.6/packages/desktop/src/userPromptDisplay.test.ts +43 -0
  275. crabcode-0.1.6/packages/desktop/src/userPromptDisplay.ts +104 -0
  276. crabcode-0.1.6/packages/desktop/src/uuid.test.ts +29 -0
  277. crabcode-0.1.6/packages/desktop/src/uuid.ts +40 -0
  278. crabcode-0.1.6/packages/desktop/src/virtualMachine.ts +37 -0
  279. crabcode-0.1.6/packages/desktop/src/vite-env.d.ts +1 -0
  280. crabcode-0.1.6/packages/desktop/src-tauri/Cargo.lock +6448 -0
  281. crabcode-0.1.6/packages/desktop/src-tauri/Cargo.toml +41 -0
  282. crabcode-0.1.6/packages/desktop/src-tauri/build.rs +3 -0
  283. crabcode-0.1.6/packages/desktop/src-tauri/capabilities/default.json +12 -0
  284. crabcode-0.1.6/packages/desktop/src-tauri/icons/128x128.png +0 -0
  285. crabcode-0.1.6/packages/desktop/src-tauri/icons/128x128@2x.png +0 -0
  286. crabcode-0.1.6/packages/desktop/src-tauri/icons/32x32.png +0 -0
  287. crabcode-0.1.6/packages/desktop/src-tauri/icons/icon.icns +0 -0
  288. crabcode-0.1.6/packages/desktop/src-tauri/icons/icon.ico +0 -0
  289. crabcode-0.1.6/packages/desktop/src-tauri/icons/icon.png +0 -0
  290. crabcode-0.1.6/packages/desktop/src-tauri/resources/dock-icon-light.png +0 -0
  291. crabcode-0.1.6/packages/desktop/src-tauri/src/computer_use.rs +119 -0
  292. crabcode-0.1.6/packages/desktop/src-tauri/src/gateway.rs +2343 -0
  293. crabcode-0.1.6/packages/desktop/src-tauri/src/gateway_runtime_tests.rs +251 -0
  294. crabcode-0.1.6/packages/desktop/src-tauri/src/lib.rs +59 -0
  295. crabcode-0.1.6/packages/desktop/src-tauri/src/main.rs +8 -0
  296. crabcode-0.1.6/packages/desktop/src-tauri/src/paths.rs +80 -0
  297. crabcode-0.1.6/packages/desktop/src-tauri/src/settings.rs +532 -0
  298. crabcode-0.1.6/packages/desktop/src-tauri/src/virtual_machine/forwards.rs +123 -0
  299. crabcode-0.1.6/packages/desktop/src-tauri/src/virtual_machine/guest.rs +409 -0
  300. crabcode-0.1.6/packages/desktop/src-tauri/src/virtual_machine/installer.rs +298 -0
  301. crabcode-0.1.6/packages/desktop/src-tauri/src/virtual_machine.rs +636 -0
  302. crabcode-0.1.6/packages/desktop/src-tauri/tauri.conf.json +43 -0
  303. crabcode-0.1.6/packages/desktop/src-tauri/tests/fixtures/gateway_python.py +109 -0
  304. crabcode-0.1.6/packages/desktop/tsconfig.json +20 -0
  305. crabcode-0.1.6/packages/desktop/vite.config.ts +13 -0
  306. crabcode-0.1.6/packages/gateway/crabcode_gateway/__init__.py +18 -0
  307. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/acp/agent.py +59 -17
  308. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/acp/types.py +10 -2
  309. crabcode-0.1.6/packages/gateway/crabcode_gateway/auth.py +139 -0
  310. crabcode-0.1.6/packages/gateway/crabcode_gateway/computer_use.py +364 -0
  311. crabcode-0.1.6/packages/gateway/crabcode_gateway/document_engine.py +637 -0
  312. crabcode-0.1.6/packages/gateway/crabcode_gateway/document_worker.py +301 -0
  313. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/event_bus.py +23 -12
  314. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/grpc/server.py +36 -7
  315. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/middleware.py +79 -17
  316. crabcode-0.1.6/packages/gateway/crabcode_gateway/protocol.py +17 -0
  317. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/routes/agent.py +161 -10
  318. crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/auth.py +150 -0
  319. crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/computer_use.py +101 -0
  320. crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/config.py +1698 -0
  321. crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/document.py +1810 -0
  322. crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/event.py +3801 -0
  323. crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/git_review.py +232 -0
  324. crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/peer.py +78 -0
  325. crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/schedule.py +300 -0
  326. crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/session.py +1496 -0
  327. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/routes/snapshot.py +74 -32
  328. crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/tasks.py +318 -0
  329. crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/team.py +392 -0
  330. crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/usage.py +49 -0
  331. crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/workspace.py +299 -0
  332. crabcode-0.1.6/packages/gateway/crabcode_gateway/safe_file.py +63 -0
  333. crabcode-0.1.6/packages/gateway/crabcode_gateway/schemas.py +1820 -0
  334. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/server.py +147 -4
  335. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/task_registry.py +75 -0
  336. crabcode-0.1.6/packages/gateway/crabcode_gateway/turn_details.py +60 -0
  337. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/pyproject.toml +12 -2
  338. {crabcode-0.1.4 → crabcode-0.1.6}/packages/search/crabcode_search/background.py +6 -9
  339. {crabcode-0.1.4 → crabcode-0.1.6}/packages/search/crabcode_search/indexer.py +10 -7
  340. {crabcode-0.1.4 → crabcode-0.1.6}/packages/search/crabcode_search/store.py +4 -4
  341. {crabcode-0.1.4 → crabcode-0.1.6}/packages/search/crabcode_search/tool.py +5 -1
  342. {crabcode-0.1.4 → crabcode-0.1.6}/packages/search/pyproject.toml +2 -2
  343. crabcode-0.1.6/packages/shared/package.json +4 -0
  344. crabcode-0.1.6/packages/shared/slashCommands.d.ts +18 -0
  345. crabcode-0.1.6/packages/shared/slashCommands.js +802 -0
  346. crabcode-0.1.6/packages/shared/turnProcess.d.ts +40 -0
  347. crabcode-0.1.6/packages/shared/turnProcess.js +66 -0
  348. crabcode-0.1.6/packages/vscode/.gitignore +1 -0
  349. crabcode-0.1.6/packages/vscode/.nvmrc +1 -0
  350. crabcode-0.1.6/packages/vscode/.vscodeignore +19 -0
  351. crabcode-0.1.6/packages/vscode/CHANGELOG.md +40 -0
  352. crabcode-0.1.6/packages/vscode/LICENSE +21 -0
  353. crabcode-0.1.6/packages/vscode/README.md +230 -0
  354. crabcode-0.1.6/packages/vscode/computer-use/.vscodeignore +4 -0
  355. crabcode-0.1.6/packages/vscode/computer-use/LICENSE +21 -0
  356. crabcode-0.1.6/packages/vscode/computer-use/README.md +19 -0
  357. crabcode-0.1.6/packages/vscode/computer-use/esbuild.cjs +2 -0
  358. crabcode-0.1.6/packages/vscode/computer-use/extension.js +19 -0
  359. {crabcode-0.1.4/packages/vscode → crabcode-0.1.6/packages/vscode/computer-use}/package-lock.json +63 -81
  360. crabcode-0.1.6/packages/vscode/computer-use/package.json +20 -0
  361. {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/esbuild.js +12 -4
  362. crabcode-0.1.6/packages/vscode/package-lock.json +4738 -0
  363. crabcode-0.1.6/packages/vscode/package.json +416 -0
  364. {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/scripts/gen-types.py +56 -10
  365. crabcode-0.1.6/packages/vscode/src/chatPanel.ts +11452 -0
  366. crabcode-0.1.6/packages/vscode/src/client/permissionPresentation.ts +64 -0
  367. {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/src/client/protocol.ts +159 -7
  368. crabcode-0.1.6/packages/vscode/src/client/types.ts +1366 -0
  369. crabcode-0.1.6/packages/vscode/src/computerUse.ts +78 -0
  370. {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/src/connection.ts +197 -29
  371. crabcode-0.1.6/packages/vscode/src/crabCodeSettingsPanel.ts +425 -0
  372. {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/src/extension.ts +125 -42
  373. crabcode-0.1.6/packages/vscode/src/gatewayManager.ts +1035 -0
  374. crabcode-0.1.6/packages/vscode/src/ideContext.ts +166 -0
  375. {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/src/pendingEdits.ts +109 -45
  376. crabcode-0.1.6/packages/vscode/src/promptTemplateFile.ts +112 -0
  377. crabcode-0.1.6/packages/vscode/src/runtimeControls.ts +159 -0
  378. crabcode-0.1.6/packages/vscode/src/settings/catalog.ts +204 -0
  379. crabcode-0.1.6/packages/vscode/src/settings/protocol.ts +50 -0
  380. crabcode-0.1.6/packages/vscode/src/settings/webview.css +656 -0
  381. crabcode-0.1.6/packages/vscode/src/settings/webview.ts +1739 -0
  382. crabcode-0.1.6/packages/vscode/tests/computerUseController.test.cjs +82 -0
  383. crabcode-0.1.6/packages/vscode/tests/computerUseHost.test.cjs +73 -0
  384. crabcode-0.1.6/packages/vscode/tests/computerUseNative.test.cjs +123 -0
  385. crabcode-0.1.6/packages/vscode/tests/computerUsePolicy.test.cjs +93 -0
  386. crabcode-0.1.6/packages/vscode/tests/contextUsage.test.cjs +28 -0
  387. crabcode-0.1.6/packages/vscode/tests/crabCodeSettingsPanel.test.cjs +362 -0
  388. crabcode-0.1.6/packages/vscode/tests/followUp.test.cjs +192 -0
  389. crabcode-0.1.6/packages/vscode/tests/gatewayManager.test.cjs +114 -0
  390. crabcode-0.1.6/packages/vscode/tests/helpers/chatPanelHarness.cjs +67 -0
  391. crabcode-0.1.6/packages/vscode/tests/helpers/settingsHarness.cjs +365 -0
  392. crabcode-0.1.6/packages/vscode/tests/helpers/slashCommands.cjs +10 -0
  393. crabcode-0.1.6/packages/vscode/tests/helpers/turnProcess.cjs +9 -0
  394. crabcode-0.1.6/packages/vscode/tests/ideContext.test.cjs +169 -0
  395. crabcode-0.1.6/packages/vscode/tests/imageCaptions.test.cjs +101 -0
  396. crabcode-0.1.6/packages/vscode/tests/permissionPolicy.test.cjs +52 -0
  397. crabcode-0.1.6/packages/vscode/tests/runtimeControls.test.cjs +156 -0
  398. crabcode-0.1.6/packages/vscode/tests/slashCommands.test.cjs +78 -0
  399. crabcode-0.1.6/packages/vscode/tests/streamRetry.test.cjs +135 -0
  400. crabcode-0.1.6/packages/vscode/tests/turnDetails.test.cjs +54 -0
  401. crabcode-0.1.6/packages/vscode/tests/turnProcess.test.cjs +223 -0
  402. {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/tsconfig.json +1 -1
  403. crabcode-0.1.6/packages/vscode/tsconfig.webview.json +13 -0
  404. {crabcode-0.1.4 → crabcode-0.1.6}/pyproject.toml +14 -2
  405. crabcode-0.1.6/scripts/audit_tool_cards.mjs +68 -0
  406. crabcode-0.1.6/scripts/build_document_engine_bundle.py +119 -0
  407. crabcode-0.1.6/scripts/prompt_budget.py +50 -0
  408. {crabcode-0.1.4 → crabcode-0.1.6}/scripts/sync_version.py +11 -0
  409. crabcode-0.1.6/tests/test_api_error_logging.py +210 -0
  410. crabcode-0.1.6/tests/test_apply_patch.py +442 -0
  411. crabcode-0.1.6/tests/test_cli_api_recovery.py +436 -0
  412. crabcode-0.1.6/tests/test_cli_composer.py +271 -0
  413. crabcode-0.1.6/tests/test_cli_computer_use.py +361 -0
  414. crabcode-0.1.6/tests/test_cli_model_management.py +377 -0
  415. crabcode-0.1.6/tests/test_cli_model_picker.py +113 -0
  416. crabcode-0.1.6/tests/test_cli_session_picker.py +138 -0
  417. crabcode-0.1.6/tests/test_cli_yolo.py +87 -0
  418. crabcode-0.1.6/tests/test_codex_context_window.py +125 -0
  419. crabcode-0.1.6/tests/test_compact_prompt.py +148 -0
  420. crabcode-0.1.6/tests/test_compaction_settings.py +98 -0
  421. crabcode-0.1.6/tests/test_computer_use.py +652 -0
  422. crabcode-0.1.6/tests/test_computer_use_ax.py +245 -0
  423. crabcode-0.1.6/tests/test_computer_use_history.py +93 -0
  424. crabcode-0.1.6/tests/test_computer_use_observation.py +96 -0
  425. crabcode-0.1.6/tests/test_computer_use_packaging.py +95 -0
  426. crabcode-0.1.6/tests/test_computer_use_policy.py +533 -0
  427. crabcode-0.1.6/tests/test_computer_use_window_observations.py +135 -0
  428. crabcode-0.1.6/tests/test_config_home.py +173 -0
  429. crabcode-0.1.6/tests/test_context_token_accounting.py +412 -0
  430. crabcode-0.1.6/tests/test_follow_up_messages.py +379 -0
  431. crabcode-0.1.6/tests/test_gateway_new_session_controls.py +55 -0
  432. crabcode-0.1.6/tests/test_gateway_runtime_info.py +32 -0
  433. crabcode-0.1.6/tests/test_gateway_send_message.py +69 -0
  434. crabcode-0.1.6/tests/test_git_review.py +151 -0
  435. crabcode-0.1.6/tests/test_image_context.py +231 -0
  436. crabcode-0.1.6/tests/test_image_tool.py +102 -0
  437. crabcode-0.1.6/tests/test_io_isolation.py +392 -0
  438. crabcode-0.1.6/tests/test_model_connection.py +83 -0
  439. crabcode-0.1.6/tests/test_model_info.py +139 -0
  440. crabcode-0.1.6/tests/test_model_settings_delete.py +52 -0
  441. crabcode-0.1.6/tests/test_network_policy.py +173 -0
  442. crabcode-0.1.6/tests/test_openai_tool_images.py +71 -0
  443. crabcode-0.1.6/tests/test_permission_policy_status.py +82 -0
  444. crabcode-0.1.6/tests/test_project_model_catalog.py +81 -0
  445. crabcode-0.1.6/tests/test_prompt_loading.py +90 -0
  446. crabcode-0.1.6/tests/test_prompt_settings.py +210 -0
  447. crabcode-0.1.6/tests/test_read_images.py +230 -0
  448. crabcode-0.1.6/tests/test_reasoning_effort.py +62 -0
  449. crabcode-0.1.6/tests/test_resume_model.py +272 -0
  450. crabcode-0.1.6/tests/test_session_storage_performance.py +110 -0
  451. crabcode-0.1.6/tests/test_stream_reconnect.py +736 -0
  452. crabcode-0.1.6/tests/test_tool_loading.py +396 -0
  453. crabcode-0.1.6/tests/test_turn_details.py +110 -0
  454. crabcode-0.1.6/tests/test_usage.py +272 -0
  455. crabcode-0.1.6/tests/test_web_search.py +168 -0
  456. crabcode-0.1.6/tests/test_windows_audit_regressions.py +382 -0
  457. crabcode-0.1.6/tests/test_windows_compat.py +490 -0
  458. crabcode-0.1.4/.github/workflows/python-publish.yml +0 -65
  459. crabcode-0.1.4/.gitignore +0 -14
  460. crabcode-0.1.4/packages/core/crabcode_core/api/base.py +0 -135
  461. crabcode-0.1.4/packages/core/crabcode_core/prompts/system.py +0 -531
  462. crabcode-0.1.4/packages/core/crabcode_core/schedule/__init__.py +0 -5
  463. crabcode-0.1.4/packages/core/crabcode_core/types/config.py +0 -222
  464. crabcode-0.1.4/packages/debugger/crabcode_debugger/runtime.py +0 -23
  465. crabcode-0.1.4/packages/gateway/crabcode_gateway/__init__.py +0 -7
  466. crabcode-0.1.4/packages/gateway/crabcode_gateway/routes/config.py +0 -381
  467. crabcode-0.1.4/packages/gateway/crabcode_gateway/routes/event.py +0 -1537
  468. crabcode-0.1.4/packages/gateway/crabcode_gateway/routes/session.py +0 -781
  469. crabcode-0.1.4/packages/gateway/crabcode_gateway/schemas.py +0 -656
  470. crabcode-0.1.4/packages/vscode/package.json +0 -221
  471. crabcode-0.1.4/packages/vscode/src/chatPanel.ts +0 -6640
  472. crabcode-0.1.4/packages/vscode/src/client/types.ts +0 -417
  473. crabcode-0.1.4/packages/vscode/src/gatewayManager.ts +0 -466
  474. {crabcode-0.1.4 → crabcode-0.1.6}/packages/cli/crabcode_cli/__init__.py +0 -0
  475. {crabcode-0.1.4 → crabcode-0.1.6}/packages/cli/crabcode_cli/__main__.py +0 -0
  476. {crabcode-0.1.4 → crabcode-0.1.6}/packages/cli/crabcode_cli/render/__init__.py +0 -0
  477. {crabcode-0.1.4 → crabcode-0.1.6}/packages/cli/crabcode_cli/render/messages.py +0 -0
  478. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/__init__.py +0 -0
  479. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/api/__init__.py +0 -0
  480. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/api/gemini_adapter.py +0 -0
  481. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/api/ollama_adapter.py +0 -0
  482. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/api/registry.py +0 -0
  483. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/compact/__init__.py +0 -0
  484. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/config/__init__.py +0 -0
  485. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/goal.py +0 -0
  486. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/hooks/__init__.py +0 -0
  487. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/lsp/__init__.py +0 -0
  488. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/mcp/__init__.py +0 -0
  489. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/peer/__init__.py +0 -0
  490. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/permissions/__init__.py +0 -0
  491. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/plan/__init__.py +0 -0
  492. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/plan/executor.py +0 -0
  493. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/plan/types.py +0 -0
  494. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/prompts/__init__.py +0 -0
  495. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/query/__init__.py +0 -0
  496. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/schedule/models.py +0 -0
  497. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/session/__init__.py +0 -0
  498. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/session/export.py +0 -0
  499. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/session/title_gen.py +0 -0
  500. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/skills/__init__.py +0 -0
  501. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/skills/matcher.py +0 -0
  502. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/snapshot/__init__.py +0 -0
  503. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/team/__init__.py +0 -0
  504. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/team/bridge.py +0 -0
  505. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/team/models.py +0 -0
  506. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/team/recovery.py +0 -0
  507. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/_input_helpers.py +0 -0
  508. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/agent.py +0 -0
  509. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/ask_user.py +0 -0
  510. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/checklist.py +0 -0
  511. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/goal.py +0 -0
  512. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/peer.py +0 -0
  513. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/revert.py +0 -0
  514. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/switch_mode.py +0 -0
  515. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/team.py +0 -0
  516. {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/utf8_sanitize.py +0 -0
  517. {crabcode-0.1.4 → crabcode-0.1.6}/packages/debugger/crabcode_debugger/__init__.py +0 -0
  518. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/acp/__init__.py +0 -0
  519. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/acp/session.py +0 -0
  520. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/acp/transport.py +0 -0
  521. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/adapter.py +0 -0
  522. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/grpc/__init__.py +0 -0
  523. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/grpc/crabcode_pb2.py +0 -0
  524. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/grpc/crabcode_pb2_grpc.py +0 -0
  525. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/grpc/proto/crabcode.proto +0 -0
  526. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/routes/__init__.py +0 -0
  527. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/routes/health.py +0 -0
  528. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/routes/permission.py +0 -0
  529. {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/session_registry.py +0 -0
  530. {crabcode-0.1.4 → crabcode-0.1.6}/packages/search/crabcode_search/__init__.py +0 -0
  531. {crabcode-0.1.4 → crabcode-0.1.6}/packages/search/crabcode_search/chunker.py +0 -0
  532. {crabcode-0.1.4 → crabcode-0.1.6}/packages/search/crabcode_search/embedder.py +0 -0
  533. {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/.vscode/launch.json +0 -0
  534. {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/.vscode/tasks.json +0 -0
  535. {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/logo.png +0 -0
  536. {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/resources/icon.svg +0 -0
@@ -0,0 +1,43 @@
1
+ name: Shared Computer Use
2
+ on:
3
+ pull_request:
4
+ push:
5
+ branches: [main]
6
+ permissions:
7
+ contents: read
8
+ jobs:
9
+ native:
10
+ strategy:
11
+ fail-fast: false
12
+ matrix:
13
+ os: [macos-14, windows-latest]
14
+ runs-on: ${{ matrix.os }}
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ - uses: actions/setup-node@v4
18
+ with:
19
+ node-version: '22'
20
+ - run: cargo test --locked --workspace
21
+ working-directory: packages/computer-use
22
+ - run: node packages/computer-use/scripts/build.mjs --debug
23
+ - uses: actions/setup-python@v5
24
+ with:
25
+ python-version: '3.12'
26
+ - run: python -m pip install -e . build hatchling pytest pefile
27
+ - run: python -m pytest tests/test_cli_computer_use.py tests/test_computer_use_packaging.py -q
28
+ - name: Build and verify Python platform wheel
29
+ shell: bash
30
+ run: |
31
+ export CRABCODE_COMPUTER_USE_BUNDLE="$PWD/packages/computer-use/dist/$(node -p 'process.platform + "-" + process.arch')"
32
+ python -m build --wheel --no-isolation
33
+ python packages/computer-use/scripts/check-wheel.py dist
34
+ - run: npm ci
35
+ working-directory: packages/vscode
36
+ - run: npm run build
37
+ working-directory: packages/vscode
38
+ - run: node --test tests/computerUse*.test.cjs
39
+ working-directory: packages/vscode
40
+ - run: npm ci
41
+ working-directory: packages/vscode/computer-use
42
+ - run: npm run build
43
+ working-directory: packages/vscode/computer-use
@@ -0,0 +1,40 @@
1
+ name: Document engine offline wheels
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ pull_request:
6
+ paths:
7
+ - "pyproject.toml"
8
+ - "packages/gateway/**"
9
+ - "scripts/build_document_engine_bundle.py"
10
+ - ".github/workflows/document-engine-wheels.yml"
11
+
12
+ jobs:
13
+ offline-install:
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ os: [ubuntu-latest, macos-14, windows-latest]
18
+ python: ["3.10", "3.11", "3.12", "3.13"]
19
+ runs-on: ${{ matrix.os }}
20
+ steps:
21
+ - uses: actions/checkout@v4
22
+ - uses: actions/setup-python@v5
23
+ with:
24
+ python-version: ${{ matrix.python }}
25
+ - name: Build CrabCode wheel
26
+ run: |
27
+ python -m pip install build
28
+ python -m build --wheel
29
+ - name: Resolve platform wheelhouse
30
+ run: |
31
+ python -m pip download --only-binary=:all: --dest wheelhouse BabelDOC==0.6.4
32
+ python -c "from pathlib import Path; import shutil; shutil.copy2(next(Path('dist').glob('crabcode-*.whl')), 'wheelhouse')"
33
+ - name: Verify fully offline installation
34
+ shell: bash
35
+ run: |
36
+ python -m venv engine-venv
37
+ if [[ "$RUNNER_OS" == "Windows" ]]; then PYTHON=engine-venv/Scripts/python.exe; else PYTHON=engine-venv/bin/python; fi
38
+ "$PYTHON" -m pip install --no-index --find-links wheelhouse BabelDOC==0.6.4
39
+ "$PYTHON" -m pip install --no-index --no-deps --find-links wheelhouse crabcode
40
+ "$PYTHON" -c "import babeldoc; import crabcode_gateway.document_worker"
@@ -0,0 +1,125 @@
1
+ # This workflow will upload a Python Package to PyPI when a release is created
2
+ # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries
3
+
4
+ # This workflow uses actions that are not certified by GitHub.
5
+ # They are provided by a third-party and are governed by
6
+ # separate terms of service, privacy policy, and support
7
+ # documentation.
8
+
9
+ name: Upload Python Package
10
+
11
+
12
+ on:
13
+ release:
14
+ types: [published]
15
+
16
+ permissions:
17
+ contents: read
18
+
19
+ jobs:
20
+ release-build:
21
+ strategy:
22
+ fail-fast: false
23
+ matrix:
24
+ include:
25
+ - name: universal
26
+ os: ubuntu-latest
27
+ - name: darwin-arm64
28
+ os: macos-15
29
+ - name: darwin-x64
30
+ os: macos-15-intel
31
+ - name: win32-x64
32
+ os: windows-latest
33
+ runs-on: ${{ matrix.os }}
34
+
35
+ steps:
36
+ - uses: actions/checkout@v4
37
+
38
+ - uses: actions/setup-python@v5
39
+ with:
40
+ python-version: "3.10"
41
+
42
+ - name: Check version metadata
43
+ run: python scripts/sync_version.py --check
44
+
45
+ - uses: actions/setup-node@v4
46
+ if: matrix.name != 'universal'
47
+ with:
48
+ node-version: '22'
49
+
50
+ - name: Import macOS signing identity when configured
51
+ if: runner.os == 'macOS'
52
+ shell: bash
53
+ env:
54
+ SIGNING_CERTIFICATE: ${{ secrets.CRABCODE_SIGNING_CERTIFICATE_P12_BASE64 }}
55
+ SIGNING_PASSWORD: ${{ secrets.CRABCODE_SIGNING_CERTIFICATE_PASSWORD }}
56
+ run: |
57
+ if [ -z "$SIGNING_CERTIFICATE" ]; then exit 0; fi
58
+ python - <<'PY'
59
+ import base64, os
60
+ from pathlib import Path
61
+ (Path(os.environ['RUNNER_TEMP']) / 'crabcode-signing.p12').write_bytes(base64.b64decode(os.environ['SIGNING_CERTIFICATE']))
62
+ PY
63
+ keychain="$RUNNER_TEMP/crabcode-signing.keychain-db"
64
+ keychain_password="$(openssl rand -base64 32)"
65
+ security create-keychain -p "$keychain_password" "$keychain"
66
+ security unlock-keychain -p "$keychain_password" "$keychain"
67
+ security import "$RUNNER_TEMP/crabcode-signing.p12" -k "$keychain" -P "$SIGNING_PASSWORD" -T /usr/bin/codesign
68
+ security set-key-partition-list -S apple-tool:,apple: -k "$keychain_password" "$keychain" >/dev/null
69
+ security list-keychains -d user -s "$keychain" login.keychain-db
70
+ rm "$RUNNER_TEMP/crabcode-signing.p12"
71
+
72
+ - name: Build bundled Computer Use component
73
+ if: matrix.name != 'universal'
74
+ env:
75
+ MACOSX_DEPLOYMENT_TARGET: '11.0'
76
+ CRABCODE_SIGNING_IDENTITY: ${{ secrets.CRABCODE_SIGNING_IDENTITY }}
77
+ run: node packages/computer-use/scripts/build.mjs
78
+
79
+ - name: Install Python build tools
80
+ run: python -m pip install build pefile
81
+
82
+ - name: Build universal wheel and source distribution
83
+ if: matrix.name == 'universal'
84
+ run: python -m build
85
+
86
+ - name: Build platform wheel with Computer Use
87
+ if: matrix.name != 'universal'
88
+ env:
89
+ CRABCODE_COMPUTER_USE_BUNDLE: ${{ github.workspace }}/packages/computer-use/dist/${{ matrix.name }}
90
+ run: python -m build --wheel
91
+
92
+ - name: Verify native payload and wheel metadata
93
+ if: matrix.name != 'universal'
94
+ run: |
95
+ python packages/computer-use/scripts/check-wheel.py dist
96
+
97
+ - name: Upload distributions
98
+ uses: actions/upload-artifact@v4
99
+ with:
100
+ name: release-dists-${{ matrix.name }}
101
+ path: dist/
102
+
103
+ pypi-publish:
104
+ runs-on: ubuntu-latest
105
+ needs:
106
+ - release-build
107
+ permissions:
108
+ id-token: write
109
+
110
+ environment:
111
+ name: pypi
112
+ url: https://pypi.org/p/crabcode
113
+
114
+ steps:
115
+ - name: Retrieve release distributions
116
+ uses: actions/download-artifact@v4
117
+ with:
118
+ pattern: release-dists-*
119
+ merge-multiple: true
120
+ path: dist/
121
+
122
+ - name: Publish release distributions to PyPI
123
+ uses: pypa/gh-action-pypi-publish@release/v1
124
+ with:
125
+ packages-dir: dist/
@@ -0,0 +1,57 @@
1
+ name: Cross-platform compatibility
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches: [main]
7
+
8
+ permissions:
9
+ contents: read
10
+
11
+ jobs:
12
+ python:
13
+ strategy:
14
+ fail-fast: false
15
+ matrix:
16
+ os: [windows-latest, ubuntu-latest, macos-latest]
17
+ python: ['3.10', '3.12']
18
+ runs-on: ${{ matrix.os }}
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+ - uses: actions/setup-python@v5
22
+ with:
23
+ python-version: ${{ matrix.python }}
24
+ - uses: actions/setup-node@v4
25
+ with:
26
+ node-version: '22'
27
+ - run: python -m pip install -e . fastapi pypdf python-multipart pytest
28
+ - run: python -m unittest discover -s tests -p "test_windows*.py" -v
29
+ - run: python -m pytest tests/test_cli_computer_use.py -q
30
+
31
+ windows-clients:
32
+ runs-on: windows-latest
33
+ steps:
34
+ - uses: actions/checkout@v4
35
+ - uses: actions/setup-node@v4
36
+ with:
37
+ node-version: '22'
38
+ - run: npm ci
39
+ working-directory: packages/desktop
40
+ - run: npm test
41
+ working-directory: packages/desktop
42
+ - run: npx tsc --noEmit
43
+ working-directory: packages/desktop
44
+ - run: npm ci
45
+ working-directory: packages/vscode
46
+ - run: npm test
47
+ working-directory: packages/vscode
48
+ - run: npx tsc --noEmit
49
+ working-directory: packages/vscode
50
+ - run: npm run computer-use:build -- --debug
51
+ working-directory: packages/desktop
52
+ - run: cargo test --locked --workspace
53
+ working-directory: packages/computer-use
54
+ - run: cargo test --locked
55
+ working-directory: packages/desktop/src-tauri
56
+ - run: cargo test --locked windows_credentials_survive_a_new_entry -- --ignored
57
+ working-directory: packages/desktop/src-tauri
@@ -0,0 +1,23 @@
1
+ __pycache__/
2
+ *.pyc
3
+ *.egg-info/
4
+ dist/
5
+ build/
6
+ .venv/
7
+ .env
8
+ *.egg
9
+ .mypy_cache/
10
+ .ruff_cache/
11
+ .crabcode/
12
+ .claude/
13
+ .DS_Store
14
+ theme-samples
15
+ node_modules
16
+ target/
17
+ packages/computer-use/target-*/
18
+ packages/desktop/src-tauri/gen/schemas/
19
+ packages/desktop/src-tauri/resources/computer-use/
20
+ packages/vscode/resources/computer-use/
21
+ packages/vscode/computer-use/resources/computer-use/
22
+ packages/vscode/computer-use/*.vsix
23
+ _native
@@ -1,28 +1,35 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: crabcode
3
- Version: 0.1.4
3
+ Version: 0.1.6
4
4
  Summary: CrabCode - AI coding assistant in the terminal
5
5
  Requires-Python: >=3.10
6
6
  Requires-Dist: anthropic>=0.40.0
7
7
  Requires-Dist: httpx>=0.27.0
8
8
  Requires-Dist: mcp>=1.0.0
9
9
  Requires-Dist: openai>=1.50.0
10
+ Requires-Dist: pillow>=11.3.0
10
11
  Requires-Dist: prompt-toolkit>=3.0.0
11
12
  Requires-Dist: pydantic>=2.0.0
12
13
  Requires-Dist: rich>=13.0.0
13
14
  Requires-Dist: tiktoken>=0.7.0
14
15
  Requires-Dist: typer>=0.12.0
16
+ Requires-Dist: tzdata>=2024.1; sys_platform == 'win32'
15
17
  Requires-Dist: websockets>=12.0
16
18
  Provides-Extra: all
17
19
  Requires-Dist: agent-client-protocol>=0.9.0; extra == 'all'
18
20
  Requires-Dist: anthropic[bedrock]>=0.40.0; extra == 'all'
19
21
  Requires-Dist: anthropic[vertex]>=0.40.0; extra == 'all'
22
+ Requires-Dist: babeldoc==0.6.4; extra == 'all'
23
+ Requires-Dist: cryptography>=42.0.0; extra == 'all'
20
24
  Requires-Dist: fastapi>=0.115.0; extra == 'all'
21
25
  Requires-Dist: grpcio-health-checking>=1.65.0; extra == 'all'
22
26
  Requires-Dist: grpcio>=1.65.0; extra == 'all'
23
27
  Requires-Dist: httpx>=0.27.0; extra == 'all'
24
28
  Requires-Dist: modelscope>=1.10.0; extra == 'all'
25
29
  Requires-Dist: playwright>=1.48.0; extra == 'all'
30
+ Requires-Dist: pyjwt>=2.9.0; extra == 'all'
31
+ Requires-Dist: pypdf>=4.0.0; extra == 'all'
32
+ Requires-Dist: python-multipart>=0.0.9; extra == 'all'
26
33
  Requires-Dist: sentence-transformers>=2.0.0; extra == 'all'
27
34
  Requires-Dist: sse-starlette>=2.0.0; extra == 'all'
28
35
  Requires-Dist: tree-sitter-language-pack>=1.0.0; extra == 'all'
@@ -33,12 +40,18 @@ Requires-Dist: anthropic[bedrock]>=0.40.0; extra == 'bedrock'
33
40
  Provides-Extra: browser
34
41
  Requires-Dist: playwright>=1.48.0; extra == 'browser'
35
42
  Provides-Extra: debugger
43
+ Provides-Extra: document-translate
44
+ Requires-Dist: babeldoc==0.6.4; extra == 'document-translate'
36
45
  Provides-Extra: gateway
37
46
  Requires-Dist: agent-client-protocol>=0.9.0; extra == 'gateway'
47
+ Requires-Dist: cryptography>=42.0.0; extra == 'gateway'
38
48
  Requires-Dist: fastapi>=0.115.0; extra == 'gateway'
39
49
  Requires-Dist: grpcio-health-checking>=1.65.0; extra == 'gateway'
40
50
  Requires-Dist: grpcio>=1.65.0; extra == 'gateway'
41
51
  Requires-Dist: httpx>=0.27.0; extra == 'gateway'
52
+ Requires-Dist: pyjwt>=2.9.0; extra == 'gateway'
53
+ Requires-Dist: pypdf>=4.0.0; extra == 'gateway'
54
+ Requires-Dist: python-multipart>=0.0.9; extra == 'gateway'
42
55
  Requires-Dist: sse-starlette>=2.0.0; extra == 'gateway'
43
56
  Requires-Dist: uvicorn[standard]>=0.30.0; extra == 'gateway'
44
57
  Provides-Extra: search