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.
- crabcode-0.1.6/.github/workflows/computer-use.yml +43 -0
- crabcode-0.1.6/.github/workflows/document-engine-wheels.yml +40 -0
- crabcode-0.1.6/.github/workflows/python-publish.yml +125 -0
- crabcode-0.1.6/.github/workflows/windows-compat.yml +57 -0
- crabcode-0.1.6/.gitignore +23 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/PKG-INFO +14 -1
- {crabcode-0.1.4 → crabcode-0.1.6}/README.md +440 -22
- {crabcode-0.1.4 → crabcode-0.1.6}/README.zh-CN.md +444 -28
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/cli/crabcode_cli/app.py +289 -9
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/cli/crabcode_cli/banner.py +11 -14
- crabcode-0.1.6/packages/cli/crabcode_cli/computer_use.py +286 -0
- crabcode-0.1.6/packages/cli/crabcode_cli/model_manager.py +649 -0
- crabcode-0.1.6/packages/cli/crabcode_cli/model_picker.py +168 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/cli/crabcode_cli/pipe.py +13 -1
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/cli/crabcode_cli/repl.py +1320 -224
- crabcode-0.1.6/packages/cli/crabcode_cli/session_picker.py +239 -0
- crabcode-0.1.6/packages/cli/hatch_build.py +71 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/cli/pyproject.toml +5 -2
- crabcode-0.1.6/packages/computer-use/Cargo.lock +3000 -0
- crabcode-0.1.6/packages/computer-use/Cargo.toml +9 -0
- crabcode-0.1.6/packages/computer-use/README.md +200 -0
- crabcode-0.1.6/packages/computer-use/client/build.mjs +9 -0
- crabcode-0.1.6/packages/computer-use/client/channel.d.ts +151 -0
- crabcode-0.1.6/packages/computer-use/client/channel.js +614 -0
- crabcode-0.1.6/packages/computer-use/client/nativeClient.cjs +111 -0
- crabcode-0.1.6/packages/computer-use/client/nativeClient.d.cts +7 -0
- crabcode-0.1.6/packages/computer-use/client/nodeChannel.d.ts +11 -0
- crabcode-0.1.6/packages/computer-use/client/nodeChannel.js +25 -0
- crabcode-0.1.6/packages/computer-use/client/package.json +4 -0
- crabcode-0.1.6/packages/computer-use/client/src/channel.ts +688 -0
- crabcode-0.1.6/packages/computer-use/client/vscodeHost.d.ts +8 -0
- crabcode-0.1.6/packages/computer-use/client/vscodeHost.js +138 -0
- crabcode-0.1.6/packages/computer-use/core/Cargo.toml +32 -0
- crabcode-0.1.6/packages/computer-use/core/src/computer_use/background_experiment.rs +219 -0
- crabcode-0.1.6/packages/computer-use/core/src/computer_use/background_input/tests.rs +377 -0
- crabcode-0.1.6/packages/computer-use/core/src/computer_use/background_input.rs +1247 -0
- crabcode-0.1.6/packages/computer-use/core/src/computer_use/background_profiles.json +35 -0
- crabcode-0.1.6/packages/computer-use/core/src/computer_use/diagnostics.rs +53 -0
- crabcode-0.1.6/packages/computer-use/core/src/computer_use/mac_accessibility/tests.rs +914 -0
- crabcode-0.1.6/packages/computer-use/core/src/computer_use/mac_accessibility.rs +913 -0
- crabcode-0.1.6/packages/computer-use/core/src/computer_use/mac_ax_relations.rs +248 -0
- crabcode-0.1.6/packages/computer-use/core/src/computer_use/policy.rs +104 -0
- crabcode-0.1.6/packages/computer-use/core/src/computer_use/regression_tests.rs +218 -0
- crabcode-0.1.6/packages/computer-use/core/src/computer_use/window_lifecycle.rs +175 -0
- crabcode-0.1.6/packages/computer-use/core/src/computer_use/window_observation.rs +369 -0
- crabcode-0.1.6/packages/computer-use/core/src/computer_use/window_relations.rs +175 -0
- crabcode-0.1.6/packages/computer-use/core/src/computer_use/windows_clipboard.rs +398 -0
- crabcode-0.1.6/packages/computer-use/core/src/computer_use/windows_focus.rs +55 -0
- crabcode-0.1.6/packages/computer-use/core/src/computer_use/windows_input.rs +430 -0
- crabcode-0.1.6/packages/computer-use/core/src/computer_use.rs +6142 -0
- crabcode-0.1.6/packages/computer-use/core/src/lib.rs +3 -0
- crabcode-0.1.6/packages/computer-use/core/tests/fixtures/background_page.html +28 -0
- crabcode-0.1.6/packages/computer-use/core/tests/fixtures/keyboard_host.swift +86 -0
- crabcode-0.1.6/packages/computer-use/core/tests/fixtures/popup_observation_host.swift +59 -0
- crabcode-0.1.6/packages/computer-use/core/tests/fixtures/save_panel_host.swift +51 -0
- crabcode-0.1.6/packages/computer-use/core/tests/fixtures/scaled_ax_host.swift +82 -0
- crabcode-0.1.6/packages/computer-use/core/tests/fixtures/scroll_host.swift +208 -0
- crabcode-0.1.6/packages/computer-use/core/tests/fixtures/window_group_host.swift +103 -0
- crabcode-0.1.6/packages/computer-use/host/Cargo.toml +28 -0
- crabcode-0.1.6/packages/computer-use/host/build.rs +63 -0
- crabcode-0.1.6/packages/computer-use/host/src/lib.rs +1109 -0
- crabcode-0.1.6/packages/computer-use/host/src/main.rs +41 -0
- crabcode-0.1.6/packages/computer-use/host/src/permission_guide.m +153 -0
- crabcode-0.1.6/packages/computer-use/host/windows.rc +2 -0
- crabcode-0.1.6/packages/computer-use/icons/PROMPT.md +19 -0
- crabcode-0.1.6/packages/computer-use/icons/icon.icns +0 -0
- crabcode-0.1.6/packages/computer-use/icons/icon.ico +0 -0
- crabcode-0.1.6/packages/computer-use/icons/icon.png +0 -0
- crabcode-0.1.6/packages/computer-use/scripts/build-icons.mjs +54 -0
- crabcode-0.1.6/packages/computer-use/scripts/build.mjs +73 -0
- crabcode-0.1.6/packages/computer-use/scripts/check-wheel.py +84 -0
- crabcode-0.1.6/packages/computer-use/scripts/live-smoke.py +245 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/_version.py +1 -1
- crabcode-0.1.6/packages/core/crabcode_core/_windows_process.py +68 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/agent_manager.py +70 -3
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/api/anthropic_adapter.py +141 -20
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/api/azure_adapter.py +2 -1
- crabcode-0.1.6/packages/core/crabcode_core/api/base.py +233 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/api/codex_adapter.py +627 -47
- crabcode-0.1.6/packages/core/crabcode_core/api/error_logging.py +132 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/api/model_info.py +105 -0
- crabcode-0.1.6/packages/core/crabcode_core/api/network.py +62 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/api/openai_adapter.py +63 -29
- crabcode-0.1.6/packages/core/crabcode_core/command_line.py +18 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/compact/compact.py +50 -42
- crabcode-0.1.6/packages/core/crabcode_core/compact/context_tokens.py +165 -0
- crabcode-0.1.6/packages/core/crabcode_core/computer_use_mode.py +38 -0
- crabcode-0.1.6/packages/core/crabcode_core/computer_use_observation.py +144 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/config/claudemd.py +8 -4
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/config/manager.py +88 -9
- crabcode-0.1.6/packages/core/crabcode_core/config/model_catalog.py +256 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/events.py +783 -81
- crabcode-0.1.6/packages/core/crabcode_core/file_lock.py +81 -0
- crabcode-0.1.6/packages/core/crabcode_core/filesystem.py +22 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/hooks/manager.py +17 -6
- crabcode-0.1.6/packages/core/crabcode_core/image_io.py +111 -0
- crabcode-0.1.6/packages/core/crabcode_core/io_worker.py +211 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/logging_utils.py +65 -5
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/lsp/client.py +49 -20
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/lsp/diagnostics.py +23 -3
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/lsp/manager.py +2 -1
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/mcp/client.py +2 -1
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/mcp/config.py +4 -3
- crabcode-0.1.6/packages/core/crabcode_core/path_validation.py +34 -0
- crabcode-0.1.6/packages/core/crabcode_core/paths.py +24 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/peer/runtime.py +60 -38
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/permissions/ai_reviewer.py +10 -2
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/permissions/manager.py +30 -7
- crabcode-0.1.6/packages/core/crabcode_core/prompts/blocks.py +10 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/prompts/context.py +18 -9
- crabcode-0.1.6/packages/core/crabcode_core/prompts/library.py +92 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/prompts/profile.py +14 -1
- crabcode-0.1.6/packages/core/crabcode_core/prompts/system.py +356 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/prompts/templates.py +34 -5
- crabcode-0.1.6/packages/core/crabcode_core/query/computer_use_history.py +83 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/query/loop.py +1038 -185
- crabcode-0.1.6/packages/core/crabcode_core/query/retry.py +116 -0
- crabcode-0.1.6/packages/core/crabcode_core/schedule/__init__.py +13 -0
- crabcode-0.1.6/packages/core/crabcode_core/schedule/manager.py +631 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/schedule/store.py +218 -9
- crabcode-0.1.6/packages/core/crabcode_core/schedule/timing.py +287 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/session/meta_db.py +190 -21
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/session/storage.py +624 -172
- crabcode-0.1.6/packages/core/crabcode_core/skills/context.py +23 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/skills/loader.py +5 -3
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/snapshot/snapshot.py +17 -3
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/snapshot/tracker.py +118 -9
- crabcode-0.1.6/packages/core/crabcode_core/subprocess_utils.py +260 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/team/inbox.py +48 -101
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/team/manager.py +3 -2
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/team/message_bus.py +47 -104
- crabcode-0.1.6/packages/core/crabcode_core/text_io.py +52 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/__init__.py +26 -0
- crabcode-0.1.6/packages/core/crabcode_core/tools/_input_schema.py +130 -0
- crabcode-0.1.6/packages/core/crabcode_core/tools/apply_patch.py +587 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/bash.py +46 -33
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/browser.py +19 -3
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/checkpoint.py +14 -2
- crabcode-0.1.6/packages/core/crabcode_core/tools/computer_use.py +599 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/diff_utils.py +5 -2
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/file_edit.py +44 -5
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/file_read.py +41 -8
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/file_write.py +25 -4
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/glob.py +8 -3
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/grep.py +107 -20
- crabcode-0.1.6/packages/core/crabcode_core/tools/image.py +173 -0
- crabcode-0.1.6/packages/core/crabcode_core/tools/image_generate.py +115 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/lint.py +17 -8
- crabcode-0.1.6/packages/core/crabcode_core/tools/loading.py +187 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/memory.py +3 -3
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/monitor.py +12 -26
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/schedule.py +142 -71
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/skill.py +2 -20
- crabcode-0.1.6/packages/core/crabcode_core/tools/tool_search.py +64 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/web_search.py +137 -13
- crabcode-0.1.6/packages/core/crabcode_core/turn_details.py +64 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/types/__init__.py +6 -0
- crabcode-0.1.6/packages/core/crabcode_core/types/config.py +434 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/types/event.py +64 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/types/message.py +15 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/types/tool.py +49 -0
- crabcode-0.1.6/packages/core/crabcode_core/usage.py +289 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/pyproject.toml +3 -1
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/debugger/crabcode_debugger/adapters.py +7 -1
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/debugger/crabcode_debugger/dap.py +88 -15
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/debugger/crabcode_debugger/memory.py +157 -42
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/debugger/crabcode_debugger/process.py +52 -17
- crabcode-0.1.6/packages/debugger/crabcode_debugger/runtime.py +58 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/debugger/crabcode_debugger/sessions.py +112 -68
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/debugger/crabcode_debugger/tool.py +79 -8
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/debugger/pyproject.toml +2 -2
- crabcode-0.1.6/packages/desktop/README.md +164 -0
- crabcode-0.1.6/packages/desktop/THEMES.md +68 -0
- crabcode-0.1.6/packages/desktop/index.html +13 -0
- crabcode-0.1.6/packages/desktop/package-lock.json +5221 -0
- crabcode-0.1.6/packages/desktop/package.json +41 -0
- crabcode-0.1.6/packages/desktop/src/App.startup.test.tsx +79 -0
- crabcode-0.1.6/packages/desktop/src/App.test.tsx +1754 -0
- crabcode-0.1.6/packages/desktop/src/App.tsx +7856 -0
- crabcode-0.1.6/packages/desktop/src/ApprovalShortcutSettings.tsx +90 -0
- crabcode-0.1.6/packages/desktop/src/ChangeReview.test.tsx +118 -0
- crabcode-0.1.6/packages/desktop/src/ChangeReview.tsx +252 -0
- crabcode-0.1.6/packages/desktop/src/ChangeReviewControls.test.tsx +97 -0
- crabcode-0.1.6/packages/desktop/src/ChangeReviewControls.tsx +97 -0
- crabcode-0.1.6/packages/desktop/src/ComposerEditor.test.tsx +303 -0
- crabcode-0.1.6/packages/desktop/src/ComposerEditor.tsx +661 -0
- crabcode-0.1.6/packages/desktop/src/ConversationTurns.test.tsx +149 -0
- crabcode-0.1.6/packages/desktop/src/ConversationTurns.tsx +114 -0
- crabcode-0.1.6/packages/desktop/src/CopyButton.tsx +68 -0
- crabcode-0.1.6/packages/desktop/src/DocumentViewTabs.tsx +60 -0
- crabcode-0.1.6/packages/desktop/src/DocumentWorkspace.blog.test.tsx +98 -0
- crabcode-0.1.6/packages/desktop/src/DocumentWorkspace.files.test.tsx +180 -0
- crabcode-0.1.6/packages/desktop/src/DocumentWorkspace.selection.test.tsx +64 -0
- crabcode-0.1.6/packages/desktop/src/DocumentWorkspace.test.ts +329 -0
- crabcode-0.1.6/packages/desktop/src/DocumentWorkspace.toolbar.test.tsx +86 -0
- crabcode-0.1.6/packages/desktop/src/DocumentWorkspace.tsx +2680 -0
- crabcode-0.1.6/packages/desktop/src/FileEditSummaryCard.test.tsx +80 -0
- crabcode-0.1.6/packages/desktop/src/FileEditSummaryCard.tsx +87 -0
- crabcode-0.1.6/packages/desktop/src/FollowUpQueue.test.tsx +80 -0
- crabcode-0.1.6/packages/desktop/src/FollowUpQueue.tsx +93 -0
- crabcode-0.1.6/packages/desktop/src/ModelSettingsPanel.test.tsx +117 -0
- crabcode-0.1.6/packages/desktop/src/ModelSettingsPanel.tsx +813 -0
- crabcode-0.1.6/packages/desktop/src/PermissionPicker.test.tsx +43 -0
- crabcode-0.1.6/packages/desktop/src/ProjectFilesWorkspace.test.tsx +369 -0
- crabcode-0.1.6/packages/desktop/src/ProjectFilesWorkspace.tsx +779 -0
- crabcode-0.1.6/packages/desktop/src/PromptSettingsPanel.test.tsx +359 -0
- crabcode-0.1.6/packages/desktop/src/PromptSettingsPanel.tsx +645 -0
- crabcode-0.1.6/packages/desktop/src/ReviewMenu.tsx +116 -0
- crabcode-0.1.6/packages/desktop/src/RuntimeSettingsPanel.tsx +459 -0
- crabcode-0.1.6/packages/desktop/src/SettingsView.test.tsx +1271 -0
- crabcode-0.1.6/packages/desktop/src/SettingsView.tsx +2068 -0
- crabcode-0.1.6/packages/desktop/src/SlidingTabIndicator.test.tsx +66 -0
- crabcode-0.1.6/packages/desktop/src/SlidingTabIndicator.tsx +26 -0
- crabcode-0.1.6/packages/desktop/src/StatusBar.test.tsx +386 -0
- crabcode-0.1.6/packages/desktop/src/StatusBar.tsx +402 -0
- crabcode-0.1.6/packages/desktop/src/TrajectoryView.test.tsx +71 -0
- crabcode-0.1.6/packages/desktop/src/TrajectoryView.tsx +394 -0
- crabcode-0.1.6/packages/desktop/src/TurnDetailsButton.test.tsx +97 -0
- crabcode-0.1.6/packages/desktop/src/TurnDetailsButton.tsx +61 -0
- crabcode-0.1.6/packages/desktop/src/UsageSettingsPanel.css +95 -0
- crabcode-0.1.6/packages/desktop/src/UsageSettingsPanel.test.tsx +341 -0
- crabcode-0.1.6/packages/desktop/src/UsageSettingsPanel.tsx +489 -0
- crabcode-0.1.6/packages/desktop/src/VirtualMachineSettings.test.tsx +69 -0
- crabcode-0.1.6/packages/desktop/src/VirtualMachineSettings.tsx +213 -0
- crabcode-0.1.6/packages/desktop/src/approvalShortcuts.test.ts +117 -0
- crabcode-0.1.6/packages/desktop/src/approvalShortcuts.ts +130 -0
- crabcode-0.1.6/packages/desktop/src/computerUse.test.ts +727 -0
- crabcode-0.1.6/packages/desktop/src/computerUse.ts +42 -0
- crabcode-0.1.6/packages/desktop/src/desktopSlashCommands.test.ts +75 -0
- crabcode-0.1.6/packages/desktop/src/desktopSlashCommands.ts +115 -0
- crabcode-0.1.6/packages/desktop/src/diffRows.ts +62 -0
- crabcode-0.1.6/packages/desktop/src/events.test.ts +740 -0
- crabcode-0.1.6/packages/desktop/src/events.ts +829 -0
- crabcode-0.1.6/packages/desktop/src/favorites.test.ts +173 -0
- crabcode-0.1.6/packages/desktop/src/favorites.ts +296 -0
- crabcode-0.1.6/packages/desktop/src/fileEditSummary.test.ts +91 -0
- crabcode-0.1.6/packages/desktop/src/fileEditSummary.ts +308 -0
- crabcode-0.1.6/packages/desktop/src/gateway.test.ts +196 -0
- crabcode-0.1.6/packages/desktop/src/gateway.ts +918 -0
- crabcode-0.1.6/packages/desktop/src/gatewayErrors.test.ts +46 -0
- crabcode-0.1.6/packages/desktop/src/gatewayStartup.test.ts +31 -0
- crabcode-0.1.6/packages/desktop/src/gatewayStartup.ts +59 -0
- crabcode-0.1.6/packages/desktop/src/lumeInstaller.test.tsx +95 -0
- crabcode-0.1.6/packages/desktop/src/lumeInstaller.ts +50 -0
- crabcode-0.1.6/packages/desktop/src/main.tsx +11 -0
- crabcode-0.1.6/packages/desktop/src/markdownMath.ts +112 -0
- crabcode-0.1.6/packages/desktop/src/native.lume.test.ts +48 -0
- crabcode-0.1.6/packages/desktop/src/native.startup.test.ts +159 -0
- crabcode-0.1.6/packages/desktop/src/native.test.ts +450 -0
- crabcode-0.1.6/packages/desktop/src/native.ts +718 -0
- crabcode-0.1.6/packages/desktop/src/pathUtils.ts +9 -0
- crabcode-0.1.6/packages/desktop/src/permissionPresentation.ts +64 -0
- crabcode-0.1.6/packages/desktop/src/platform.ts +5 -0
- crabcode-0.1.6/packages/desktop/src/promptTemplateFile.test.ts +52 -0
- crabcode-0.1.6/packages/desktop/src/promptTemplateFile.ts +112 -0
- crabcode-0.1.6/packages/desktop/src/reviewHistory.ts +23 -0
- crabcode-0.1.6/packages/desktop/src/sessionNotifications.test.ts +119 -0
- crabcode-0.1.6/packages/desktop/src/sessionNotifications.ts +190 -0
- crabcode-0.1.6/packages/desktop/src/styles.css +17603 -0
- crabcode-0.1.6/packages/desktop/src/taskbarProgress.test.ts +71 -0
- crabcode-0.1.6/packages/desktop/src/taskbarProgress.ts +76 -0
- crabcode-0.1.6/packages/desktop/src/theme.test.ts +102 -0
- crabcode-0.1.6/packages/desktop/src/theme.ts +561 -0
- crabcode-0.1.6/packages/desktop/src/themePackages.test.ts +128 -0
- crabcode-0.1.6/packages/desktop/src/themePackages.ts +321 -0
- crabcode-0.1.6/packages/desktop/src/toolPresentation.test.ts +40 -0
- crabcode-0.1.6/packages/desktop/src/toolPresentation.ts +471 -0
- crabcode-0.1.6/packages/desktop/src/turnDetails.ts +72 -0
- crabcode-0.1.6/packages/desktop/src/types.ts +927 -0
- crabcode-0.1.6/packages/desktop/src/useGitReview.test.tsx +48 -0
- crabcode-0.1.6/packages/desktop/src/useGitReview.ts +64 -0
- crabcode-0.1.6/packages/desktop/src/useProjectModels.test.tsx +41 -0
- crabcode-0.1.6/packages/desktop/src/useProjectModels.ts +26 -0
- crabcode-0.1.6/packages/desktop/src/userPromptDisplay.test.ts +43 -0
- crabcode-0.1.6/packages/desktop/src/userPromptDisplay.ts +104 -0
- crabcode-0.1.6/packages/desktop/src/uuid.test.ts +29 -0
- crabcode-0.1.6/packages/desktop/src/uuid.ts +40 -0
- crabcode-0.1.6/packages/desktop/src/virtualMachine.ts +37 -0
- crabcode-0.1.6/packages/desktop/src/vite-env.d.ts +1 -0
- crabcode-0.1.6/packages/desktop/src-tauri/Cargo.lock +6448 -0
- crabcode-0.1.6/packages/desktop/src-tauri/Cargo.toml +41 -0
- crabcode-0.1.6/packages/desktop/src-tauri/build.rs +3 -0
- crabcode-0.1.6/packages/desktop/src-tauri/capabilities/default.json +12 -0
- crabcode-0.1.6/packages/desktop/src-tauri/icons/128x128.png +0 -0
- crabcode-0.1.6/packages/desktop/src-tauri/icons/128x128@2x.png +0 -0
- crabcode-0.1.6/packages/desktop/src-tauri/icons/32x32.png +0 -0
- crabcode-0.1.6/packages/desktop/src-tauri/icons/icon.icns +0 -0
- crabcode-0.1.6/packages/desktop/src-tauri/icons/icon.ico +0 -0
- crabcode-0.1.6/packages/desktop/src-tauri/icons/icon.png +0 -0
- crabcode-0.1.6/packages/desktop/src-tauri/resources/dock-icon-light.png +0 -0
- crabcode-0.1.6/packages/desktop/src-tauri/src/computer_use.rs +119 -0
- crabcode-0.1.6/packages/desktop/src-tauri/src/gateway.rs +2343 -0
- crabcode-0.1.6/packages/desktop/src-tauri/src/gateway_runtime_tests.rs +251 -0
- crabcode-0.1.6/packages/desktop/src-tauri/src/lib.rs +59 -0
- crabcode-0.1.6/packages/desktop/src-tauri/src/main.rs +8 -0
- crabcode-0.1.6/packages/desktop/src-tauri/src/paths.rs +80 -0
- crabcode-0.1.6/packages/desktop/src-tauri/src/settings.rs +532 -0
- crabcode-0.1.6/packages/desktop/src-tauri/src/virtual_machine/forwards.rs +123 -0
- crabcode-0.1.6/packages/desktop/src-tauri/src/virtual_machine/guest.rs +409 -0
- crabcode-0.1.6/packages/desktop/src-tauri/src/virtual_machine/installer.rs +298 -0
- crabcode-0.1.6/packages/desktop/src-tauri/src/virtual_machine.rs +636 -0
- crabcode-0.1.6/packages/desktop/src-tauri/tauri.conf.json +43 -0
- crabcode-0.1.6/packages/desktop/src-tauri/tests/fixtures/gateway_python.py +109 -0
- crabcode-0.1.6/packages/desktop/tsconfig.json +20 -0
- crabcode-0.1.6/packages/desktop/vite.config.ts +13 -0
- crabcode-0.1.6/packages/gateway/crabcode_gateway/__init__.py +18 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/acp/agent.py +59 -17
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/acp/types.py +10 -2
- crabcode-0.1.6/packages/gateway/crabcode_gateway/auth.py +139 -0
- crabcode-0.1.6/packages/gateway/crabcode_gateway/computer_use.py +364 -0
- crabcode-0.1.6/packages/gateway/crabcode_gateway/document_engine.py +637 -0
- crabcode-0.1.6/packages/gateway/crabcode_gateway/document_worker.py +301 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/event_bus.py +23 -12
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/grpc/server.py +36 -7
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/middleware.py +79 -17
- crabcode-0.1.6/packages/gateway/crabcode_gateway/protocol.py +17 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/routes/agent.py +161 -10
- crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/auth.py +150 -0
- crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/computer_use.py +101 -0
- crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/config.py +1698 -0
- crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/document.py +1810 -0
- crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/event.py +3801 -0
- crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/git_review.py +232 -0
- crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/peer.py +78 -0
- crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/schedule.py +300 -0
- crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/session.py +1496 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/routes/snapshot.py +74 -32
- crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/tasks.py +318 -0
- crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/team.py +392 -0
- crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/usage.py +49 -0
- crabcode-0.1.6/packages/gateway/crabcode_gateway/routes/workspace.py +299 -0
- crabcode-0.1.6/packages/gateway/crabcode_gateway/safe_file.py +63 -0
- crabcode-0.1.6/packages/gateway/crabcode_gateway/schemas.py +1820 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/server.py +147 -4
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/task_registry.py +75 -0
- crabcode-0.1.6/packages/gateway/crabcode_gateway/turn_details.py +60 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/pyproject.toml +12 -2
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/search/crabcode_search/background.py +6 -9
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/search/crabcode_search/indexer.py +10 -7
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/search/crabcode_search/store.py +4 -4
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/search/crabcode_search/tool.py +5 -1
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/search/pyproject.toml +2 -2
- crabcode-0.1.6/packages/shared/package.json +4 -0
- crabcode-0.1.6/packages/shared/slashCommands.d.ts +18 -0
- crabcode-0.1.6/packages/shared/slashCommands.js +802 -0
- crabcode-0.1.6/packages/shared/turnProcess.d.ts +40 -0
- crabcode-0.1.6/packages/shared/turnProcess.js +66 -0
- crabcode-0.1.6/packages/vscode/.gitignore +1 -0
- crabcode-0.1.6/packages/vscode/.nvmrc +1 -0
- crabcode-0.1.6/packages/vscode/.vscodeignore +19 -0
- crabcode-0.1.6/packages/vscode/CHANGELOG.md +40 -0
- crabcode-0.1.6/packages/vscode/LICENSE +21 -0
- crabcode-0.1.6/packages/vscode/README.md +230 -0
- crabcode-0.1.6/packages/vscode/computer-use/.vscodeignore +4 -0
- crabcode-0.1.6/packages/vscode/computer-use/LICENSE +21 -0
- crabcode-0.1.6/packages/vscode/computer-use/README.md +19 -0
- crabcode-0.1.6/packages/vscode/computer-use/esbuild.cjs +2 -0
- crabcode-0.1.6/packages/vscode/computer-use/extension.js +19 -0
- {crabcode-0.1.4/packages/vscode → crabcode-0.1.6/packages/vscode/computer-use}/package-lock.json +63 -81
- crabcode-0.1.6/packages/vscode/computer-use/package.json +20 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/esbuild.js +12 -4
- crabcode-0.1.6/packages/vscode/package-lock.json +4738 -0
- crabcode-0.1.6/packages/vscode/package.json +416 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/scripts/gen-types.py +56 -10
- crabcode-0.1.6/packages/vscode/src/chatPanel.ts +11452 -0
- crabcode-0.1.6/packages/vscode/src/client/permissionPresentation.ts +64 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/src/client/protocol.ts +159 -7
- crabcode-0.1.6/packages/vscode/src/client/types.ts +1366 -0
- crabcode-0.1.6/packages/vscode/src/computerUse.ts +78 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/src/connection.ts +197 -29
- crabcode-0.1.6/packages/vscode/src/crabCodeSettingsPanel.ts +425 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/src/extension.ts +125 -42
- crabcode-0.1.6/packages/vscode/src/gatewayManager.ts +1035 -0
- crabcode-0.1.6/packages/vscode/src/ideContext.ts +166 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/src/pendingEdits.ts +109 -45
- crabcode-0.1.6/packages/vscode/src/promptTemplateFile.ts +112 -0
- crabcode-0.1.6/packages/vscode/src/runtimeControls.ts +159 -0
- crabcode-0.1.6/packages/vscode/src/settings/catalog.ts +204 -0
- crabcode-0.1.6/packages/vscode/src/settings/protocol.ts +50 -0
- crabcode-0.1.6/packages/vscode/src/settings/webview.css +656 -0
- crabcode-0.1.6/packages/vscode/src/settings/webview.ts +1739 -0
- crabcode-0.1.6/packages/vscode/tests/computerUseController.test.cjs +82 -0
- crabcode-0.1.6/packages/vscode/tests/computerUseHost.test.cjs +73 -0
- crabcode-0.1.6/packages/vscode/tests/computerUseNative.test.cjs +123 -0
- crabcode-0.1.6/packages/vscode/tests/computerUsePolicy.test.cjs +93 -0
- crabcode-0.1.6/packages/vscode/tests/contextUsage.test.cjs +28 -0
- crabcode-0.1.6/packages/vscode/tests/crabCodeSettingsPanel.test.cjs +362 -0
- crabcode-0.1.6/packages/vscode/tests/followUp.test.cjs +192 -0
- crabcode-0.1.6/packages/vscode/tests/gatewayManager.test.cjs +114 -0
- crabcode-0.1.6/packages/vscode/tests/helpers/chatPanelHarness.cjs +67 -0
- crabcode-0.1.6/packages/vscode/tests/helpers/settingsHarness.cjs +365 -0
- crabcode-0.1.6/packages/vscode/tests/helpers/slashCommands.cjs +10 -0
- crabcode-0.1.6/packages/vscode/tests/helpers/turnProcess.cjs +9 -0
- crabcode-0.1.6/packages/vscode/tests/ideContext.test.cjs +169 -0
- crabcode-0.1.6/packages/vscode/tests/imageCaptions.test.cjs +101 -0
- crabcode-0.1.6/packages/vscode/tests/permissionPolicy.test.cjs +52 -0
- crabcode-0.1.6/packages/vscode/tests/runtimeControls.test.cjs +156 -0
- crabcode-0.1.6/packages/vscode/tests/slashCommands.test.cjs +78 -0
- crabcode-0.1.6/packages/vscode/tests/streamRetry.test.cjs +135 -0
- crabcode-0.1.6/packages/vscode/tests/turnDetails.test.cjs +54 -0
- crabcode-0.1.6/packages/vscode/tests/turnProcess.test.cjs +223 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/tsconfig.json +1 -1
- crabcode-0.1.6/packages/vscode/tsconfig.webview.json +13 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/pyproject.toml +14 -2
- crabcode-0.1.6/scripts/audit_tool_cards.mjs +68 -0
- crabcode-0.1.6/scripts/build_document_engine_bundle.py +119 -0
- crabcode-0.1.6/scripts/prompt_budget.py +50 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/scripts/sync_version.py +11 -0
- crabcode-0.1.6/tests/test_api_error_logging.py +210 -0
- crabcode-0.1.6/tests/test_apply_patch.py +442 -0
- crabcode-0.1.6/tests/test_cli_api_recovery.py +436 -0
- crabcode-0.1.6/tests/test_cli_composer.py +271 -0
- crabcode-0.1.6/tests/test_cli_computer_use.py +361 -0
- crabcode-0.1.6/tests/test_cli_model_management.py +377 -0
- crabcode-0.1.6/tests/test_cli_model_picker.py +113 -0
- crabcode-0.1.6/tests/test_cli_session_picker.py +138 -0
- crabcode-0.1.6/tests/test_cli_yolo.py +87 -0
- crabcode-0.1.6/tests/test_codex_context_window.py +125 -0
- crabcode-0.1.6/tests/test_compact_prompt.py +148 -0
- crabcode-0.1.6/tests/test_compaction_settings.py +98 -0
- crabcode-0.1.6/tests/test_computer_use.py +652 -0
- crabcode-0.1.6/tests/test_computer_use_ax.py +245 -0
- crabcode-0.1.6/tests/test_computer_use_history.py +93 -0
- crabcode-0.1.6/tests/test_computer_use_observation.py +96 -0
- crabcode-0.1.6/tests/test_computer_use_packaging.py +95 -0
- crabcode-0.1.6/tests/test_computer_use_policy.py +533 -0
- crabcode-0.1.6/tests/test_computer_use_window_observations.py +135 -0
- crabcode-0.1.6/tests/test_config_home.py +173 -0
- crabcode-0.1.6/tests/test_context_token_accounting.py +412 -0
- crabcode-0.1.6/tests/test_follow_up_messages.py +379 -0
- crabcode-0.1.6/tests/test_gateway_new_session_controls.py +55 -0
- crabcode-0.1.6/tests/test_gateway_runtime_info.py +32 -0
- crabcode-0.1.6/tests/test_gateway_send_message.py +69 -0
- crabcode-0.1.6/tests/test_git_review.py +151 -0
- crabcode-0.1.6/tests/test_image_context.py +231 -0
- crabcode-0.1.6/tests/test_image_tool.py +102 -0
- crabcode-0.1.6/tests/test_io_isolation.py +392 -0
- crabcode-0.1.6/tests/test_model_connection.py +83 -0
- crabcode-0.1.6/tests/test_model_info.py +139 -0
- crabcode-0.1.6/tests/test_model_settings_delete.py +52 -0
- crabcode-0.1.6/tests/test_network_policy.py +173 -0
- crabcode-0.1.6/tests/test_openai_tool_images.py +71 -0
- crabcode-0.1.6/tests/test_permission_policy_status.py +82 -0
- crabcode-0.1.6/tests/test_project_model_catalog.py +81 -0
- crabcode-0.1.6/tests/test_prompt_loading.py +90 -0
- crabcode-0.1.6/tests/test_prompt_settings.py +210 -0
- crabcode-0.1.6/tests/test_read_images.py +230 -0
- crabcode-0.1.6/tests/test_reasoning_effort.py +62 -0
- crabcode-0.1.6/tests/test_resume_model.py +272 -0
- crabcode-0.1.6/tests/test_session_storage_performance.py +110 -0
- crabcode-0.1.6/tests/test_stream_reconnect.py +736 -0
- crabcode-0.1.6/tests/test_tool_loading.py +396 -0
- crabcode-0.1.6/tests/test_turn_details.py +110 -0
- crabcode-0.1.6/tests/test_usage.py +272 -0
- crabcode-0.1.6/tests/test_web_search.py +168 -0
- crabcode-0.1.6/tests/test_windows_audit_regressions.py +382 -0
- crabcode-0.1.6/tests/test_windows_compat.py +490 -0
- crabcode-0.1.4/.github/workflows/python-publish.yml +0 -65
- crabcode-0.1.4/.gitignore +0 -14
- crabcode-0.1.4/packages/core/crabcode_core/api/base.py +0 -135
- crabcode-0.1.4/packages/core/crabcode_core/prompts/system.py +0 -531
- crabcode-0.1.4/packages/core/crabcode_core/schedule/__init__.py +0 -5
- crabcode-0.1.4/packages/core/crabcode_core/types/config.py +0 -222
- crabcode-0.1.4/packages/debugger/crabcode_debugger/runtime.py +0 -23
- crabcode-0.1.4/packages/gateway/crabcode_gateway/__init__.py +0 -7
- crabcode-0.1.4/packages/gateway/crabcode_gateway/routes/config.py +0 -381
- crabcode-0.1.4/packages/gateway/crabcode_gateway/routes/event.py +0 -1537
- crabcode-0.1.4/packages/gateway/crabcode_gateway/routes/session.py +0 -781
- crabcode-0.1.4/packages/gateway/crabcode_gateway/schemas.py +0 -656
- crabcode-0.1.4/packages/vscode/package.json +0 -221
- crabcode-0.1.4/packages/vscode/src/chatPanel.ts +0 -6640
- crabcode-0.1.4/packages/vscode/src/client/types.ts +0 -417
- crabcode-0.1.4/packages/vscode/src/gatewayManager.ts +0 -466
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/cli/crabcode_cli/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/cli/crabcode_cli/__main__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/cli/crabcode_cli/render/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/cli/crabcode_cli/render/messages.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/api/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/api/gemini_adapter.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/api/ollama_adapter.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/api/registry.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/compact/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/config/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/goal.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/hooks/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/lsp/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/mcp/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/peer/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/permissions/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/plan/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/plan/executor.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/plan/types.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/prompts/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/query/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/schedule/models.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/session/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/session/export.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/session/title_gen.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/skills/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/skills/matcher.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/snapshot/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/team/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/team/bridge.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/team/models.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/team/recovery.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/_input_helpers.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/agent.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/ask_user.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/checklist.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/goal.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/peer.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/revert.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/switch_mode.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/tools/team.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/core/crabcode_core/utf8_sanitize.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/debugger/crabcode_debugger/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/acp/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/acp/session.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/acp/transport.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/adapter.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/grpc/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/grpc/crabcode_pb2.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/grpc/crabcode_pb2_grpc.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/grpc/proto/crabcode.proto +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/routes/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/routes/health.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/routes/permission.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/gateway/crabcode_gateway/session_registry.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/search/crabcode_search/__init__.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/search/crabcode_search/chunker.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/search/crabcode_search/embedder.py +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/.vscode/launch.json +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/.vscode/tasks.json +0 -0
- {crabcode-0.1.4 → crabcode-0.1.6}/packages/vscode/logo.png +0 -0
- {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.
|
|
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
|