siada-cli 1.0.0__tar.gz → 1.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- siada_cli-1.3.0/PKG-INFO +167 -0
- siada_cli-1.3.0/README.md +116 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/agent_config.yaml +22 -1
- {siada_cli-1.0.0 → siada_cli-1.3.0}/pyproject.toml +14 -8
- siada_cli-1.3.0/siada/agent_hub/__init__.py +10 -0
- siada_cli-1.3.0/siada/agent_hub/coder/browser_agent.py +60 -0
- siada_cli-1.3.0/siada/agent_hub/coder/bug_fix_agent.py +698 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/coder/code_gen_agent.py +24 -18
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/coder/fe_gen_agent.py +10 -9
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/coder/issue_review_agent.py +5 -5
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/coder/prompt/base/non_interactive.py +1 -7
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/coder/prompt/base/prompt_builder.py +7 -9
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/coder/prompt/base/rules.py +5 -2
- siada_cli-1.3.0/siada/agent_hub/coder/prompt/bug_prompt/bug_fix_prompt.py +122 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/coder/prompt/bug_prompt/rules.py +19 -13
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/coder/prompt/code_gen_prompt.py +4 -3
- siada_cli-1.3.0/siada/agent_hub/coder/prompt/compact_prompt.py +54 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/coder/prompt/fe_gen_prompt.py +3 -3
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/coder/prompt/issue_review_prompt.py +4 -8
- siada_cli-1.3.0/siada/agent_hub/coder/select_agent.py +220 -0
- siada_cli-1.3.0/siada/agent_hub/coder/tracing/bug_fix_trace_collector.py +1127 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/coder/tracing/logger_tracing_processor.py +36 -15
- siada_cli-1.3.0/siada/agent_hub/context_filter/__init__.py +28 -0
- siada_cli-1.3.0/siada/agent_hub/context_filter/api_message_transfer_filter.py +592 -0
- siada_cli-1.3.0/siada/agent_hub/context_filter/base_filter.py +26 -0
- siada_cli-1.3.0/siada/agent_hub/context_filter/context_capture_filter.py +64 -0
- siada_cli-1.3.0/siada/agent_hub/context_filter/message_history_capture_filter.py +42 -0
- siada_cli-1.3.0/siada/agent_hub/context_filter/utils.py +19 -0
- siada_cli-1.3.0/siada/agent_hub/hooks/agent_processors/context_track_processor.py +28 -0
- siada_cli-1.3.0/siada/agent_hub/hooks/context_capture_filter.py +42 -0
- siada_cli-1.3.0/siada/agent_hub/hooks/processors/__init__.py +12 -0
- siada_cli-1.3.0/siada/agent_hub/hooks/processors/checkpointing_processor.py +35 -0
- siada_cli-1.3.0/siada/agent_hub/hooks/siada_agent_hooks.py +121 -0
- siada_cli-1.3.0/siada/agent_hub/hooks/siada_run_hooks.py +122 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/siada_agent.py +41 -14
- siada_cli-1.3.0/siada/config/agent_config_loader.py +47 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/config/config_loader.py +32 -3
- siada_cli-1.3.0/siada/config/mcp_config.py +82 -0
- siada_cli-1.3.0/siada/config/mcp_config_loader.py +126 -0
- siada_cli-1.3.0/siada/entrypoint/__init__.py +36 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/entrypoint/args_parser/args.py +36 -2
- siada_cli-1.3.0/siada/entrypoint/interaction/controller.py +139 -0
- siada_cli-1.3.0/siada/entrypoint/interaction/nointeractive_controller.py +41 -0
- siada_cli-1.3.0/siada/entrypoint/interaction/running_config.py +36 -0
- siada_cli-1.3.0/siada/entrypoint/interaction/turn/__init__.py +26 -0
- siada_cli-1.3.0/siada/entrypoint/interaction/turn/command_turn.py +54 -0
- siada_cli-1.3.0/siada/entrypoint/interaction/turn/conversation_turn.py +706 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/entrypoint/interaction/turn/interface.py +8 -4
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/entrypoint/interaction/turn/models.py +4 -2
- siada_cli-1.3.0/siada/entrypoint/interaction/turn/turn_factory.py +48 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/entrypoint/siadahub.py +205 -46
- siada_cli-1.3.0/siada/foundation/code_agent_context.py +59 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/foundation/context.py +21 -21
- siada_cli-1.3.0/siada/foundation/li_telemetry.py +3 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/foundation/logging.py +23 -4
- siada_cli-1.3.0/siada/foundation/setting.py +59 -0
- siada_cli-1.3.0/siada/foundation/telemetry.py +68 -0
- siada_cli-1.3.0/siada/foundation/tools/fix_result_checker_validator.py +688 -0
- siada_cli-1.3.0/siada/foundation/tools/get_git_diff.py +206 -0
- siada_cli-1.3.0/siada/foundation/tools/issue_type_checker_validator.py +479 -0
- siada_cli-1.3.0/siada/foundation/tools/json_util.py +22 -0
- siada_cli-1.3.0/siada/foundation/tools/swebench_extractor.py +237 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/models/converter.py +5 -1
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/models/model_base_config.py +9 -8
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/models/model_run_config.py +0 -6
- siada_cli-1.3.0/siada/models/model_setting_converter.py +38 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/provider/openrouter/coverter.py +2 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/provider/openrouter/openroute_provider.py +3 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/__init__.py +15 -1
- siada_cli-1.3.0/siada/services/anomaly_checker.py +761 -0
- siada_cli-1.3.0/siada/services/anomaly_detection/anomaly_detector_text_only.py +437 -0
- siada_cli-1.3.0/siada/services/anomaly_detection/text_anomaly_model.pkl +0 -0
- siada_cli-1.3.0/siada/services/bug_desc_optimizer.py +134 -0
- siada_cli-1.3.0/siada/services/checkpointer_recommendation/__init__.py +38 -0
- siada_cli-1.3.0/siada/services/checkpointer_recommendation/checkpoint_recommend.py +178 -0
- siada_cli-1.3.0/siada/services/code_context_manager.py +95 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/enhanced_fix_result_check.py +110 -16
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/file_recommendation/core/completion_engine.py +1 -2
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/file_recommendation/core/suggestion.py +1 -1
- siada_cli-1.3.0/siada/services/file_session.py +205 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/fix_result_check.py +106 -131
- siada_cli-1.3.0/siada/services/git_service.py +375 -0
- siada_cli-1.3.0/siada/services/input_processor.py +134 -0
- siada_cli-1.3.0/siada/services/internal/handles/internal_handler.py +69 -0
- siada_cli-1.3.0/siada/services/issue_type_checker.py +496 -0
- siada_cli-1.3.0/siada/services/mcp_service.py +479 -0
- siada_cli-1.3.0/siada/services/model_wrapper.py +240 -0
- siada_cli-1.3.0/siada/services/ps_fr_comparator.py +159 -0
- siada_cli-1.3.0/siada/services/siada_memory.py +54 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/siada_runner.py +86 -20
- siada_cli-1.3.0/siada/services/strict_fix_result_check.py +117 -0
- siada_cli-1.3.0/siada/services/version_checker/__init__.py +53 -0
- siada_cli-1.3.0/siada/services/version_checker/base.py +104 -0
- siada_cli-1.3.0/siada/services/version_checker/handlers/external_handler.py +85 -0
- siada_cli-1.3.0/siada/services/version_checker/version_checker.py +101 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/session/__init__.py +3 -3
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/session/session_manager.py +20 -12
- siada_cli-1.3.0/siada/session/session_models.py +63 -0
- siada_cli-1.3.0/siada/session/task_message_state.py +223 -0
- siada_cli-1.3.0/siada/support/checkpoint_tracker.py +348 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/support/completer.py +66 -4
- siada_cli-1.3.0/siada/support/message_classifier.py +108 -0
- siada_cli-1.3.0/siada/support/slash_commands.py +958 -0
- siada_cli-1.3.0/siada/tools/browser/__init__.py +26 -0
- siada_cli-1.3.0/siada/tools/browser/browser_action_tool.py +862 -0
- siada_cli-1.3.0/siada/tools/browser/browsergym_action_tool.py +515 -0
- siada_cli-1.3.0/siada/tools/browser/browsergym_env.py +572 -0
- siada_cli-1.3.0/siada/tools/browser/browsergym_utils.py +699 -0
- siada_cli-1.3.0/siada/tools/browser/chromium_installer.py +300 -0
- siada_cli-1.3.0/siada/tools/browser/models.py +219 -0
- siada_cli-1.3.0/siada/tools/cca/compile_card.py +179 -0
- siada_cli-1.3.0/siada/tools/cca/get_cca_resource.py +171 -0
- siada_cli-1.3.0/siada/tools/coder/cmd_runner.py +262 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/file_operator.py +3 -0
- siada_cli-1.3.0/siada/tools/coder/observation/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/observation/file_observation.py +3 -3
- siada_cli-1.3.0/siada/tools/coder/patch_selection_completion.py +30 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/run_cmd.py +2 -2
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/compression_tool.py +3 -4
- siada_cli-1.3.0/siada/tools/test_failure_analyzer.py +333 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/tool_call_format/formatters.py +17 -5
- siada_cli-1.3.0/siada/tools/web/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/utils.py +97 -2
- siada_cli-1.0.0/PKG-INFO +0 -477
- siada_cli-1.0.0/README.md +0 -436
- siada_cli-1.0.0/siada/agent_hub/__init__.py +0 -10
- siada_cli-1.0.0/siada/agent_hub/coder/bug_fix_agent.py +0 -398
- siada_cli-1.0.0/siada/agent_hub/coder/prompt/bug_prompt/bug_fix_prompt.py +0 -51
- siada_cli-1.0.0/siada/entrypoint/__init__.py +0 -3
- siada_cli-1.0.0/siada/entrypoint/interaction/controller.py +0 -122
- siada_cli-1.0.0/siada/entrypoint/interaction/nointeractive_controller.py +0 -27
- siada_cli-1.0.0/siada/foundation/code_agent_context.py +0 -48
- siada_cli-1.0.0/siada/foundation/tools/get_git_diff.py +0 -105
- siada_cli-1.0.0/siada/services/code_context_manager.py +0 -136
- siada_cli-1.0.0/siada/session/session_models.py +0 -43
- siada_cli-1.0.0/siada/support/slash_commands.py +0 -410
- siada_cli-1.0.0/siada/tools/coder/cmd_runner.py +0 -132
- {siada_cli-1.0.0 → siada_cli-1.3.0}/LICENSE +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/coder/prompt/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/coder/prompt/base/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/coder/prompt/base/capabilities.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/coder/prompt/base/tool_use.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/coder/tracing/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/hooks/__init__.py +0 -0
- {siada_cli-1.0.0/siada/config → siada_cli-1.3.0/siada/agent_hub/hooks/agent_processors}/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/agent_hub/hooks/io_hooks.py +0 -0
- {siada_cli-1.0.0/siada/entrypoint/args_parser → siada_cli-1.3.0/siada/config}/__init__.py +0 -0
- {siada_cli-1.0.0/siada/entrypoint/interaction → siada_cli-1.3.0/siada/entrypoint/args_parser}/__init__.py +0 -0
- {siada_cli-1.0.0/siada/foundation → siada_cli-1.3.0/siada/entrypoint/interaction}/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/entrypoint/interaction/base_turn.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/entrypoint/interaction/config.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/entrypoint/interaction/turn/run_turn.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/entrypoint/interaction/turn_factory.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/entrypoint/interaction/turn_models.py +0 -0
- {siada_cli-1.0.0/siada/foundation/tools → siada_cli-1.3.0/siada/foundation}/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/foundation/config.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/foundation/constants.py +0 -0
- {siada_cli-1.0.0/siada/io → siada_cli-1.3.0/siada/foundation/tools}/__init__.py +0 -0
- {siada_cli-1.0.0/siada/io/components → siada_cli-1.3.0/siada/io}/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/io/banner.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/io/color_settings.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/io/color_utils.py +0 -0
- {siada_cli-1.0.0/siada/models → siada_cli-1.3.0/siada/io/components}/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/io/components/mdstream.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/io/console_printer.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/io/io.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/io/key_bindings.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/io/notification_command.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/io/test_banner.py +0 -0
- {siada_cli-1.0.0/siada/models/coder → siada_cli-1.3.0/siada/models}/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/models/agent.py +0 -0
- {siada_cli-1.0.0/siada/provider → siada_cli-1.3.0/siada/models/coder}/__init__.py +0 -0
- {siada_cli-1.0.0/siada/provider/openrouter → siada_cli-1.3.0/siada/provider}/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/provider/client_factory.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/provider/llm_client.py +0 -0
- {siada_cli-1.0.0/siada/support → siada_cli-1.3.0/siada/provider/openrouter}/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/provider/provider_factory.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/README.md +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/c-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/d-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/go-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/java-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/python-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/r-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/README.md +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/c-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/cpp-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/dart-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/elisp-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/elixir-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/elm-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/go-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/hcl-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/java-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/javascript-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/php-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/python-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/ql-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/ruby-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/rust-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/scala-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/queries/tree-sitter-languages/typescript-tags.scm +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/at_file_recommendation_design_document.md +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/execution_trace_collector.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/file_recommendation/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/file_recommendation/core/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/file_recommendation/core/config.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/file_recommendation/core/file_discovery.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/file_recommendation/utils/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/file_recommendation/utils/path_utils.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/file_recommendation/utils/text_utils.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/handle_at_command/README.md +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/handle_at_command/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/handle_at_command/exceptions.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/handle_at_command/models.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/handle_at_command/parser.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/handle_at_command/processor.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/handle_at_command/resolver.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/handle_at_command/utils.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/services/model_info_service.py +0 -0
- {siada_cli-1.0.0/siada/tools → siada_cli-1.3.0/siada/support}/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/support/editor.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/support/envprocessor.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/support/repo.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/support/spinner.py +0 -0
- {siada_cli-1.0.0/siada/tools/coder → siada_cli-1.3.0/siada/tools}/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/ast/README.md +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/ast/ast_tool.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/ast/models.py +0 -0
- {siada_cli-1.0.0/siada/tools/coder/observation → siada_cli-1.3.0/siada/tools/cca}/__init__.py +0 -0
- {siada_cli-1.0.0/siada/tools/web → siada_cli-1.3.0/siada/tools/coder}/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/ask_followup_question.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/file_search/README.md +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/file_search/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/file_search/bin/rg-linux-arm64 +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/file_search/bin/rg-linux-x64 +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/file_search/bin/rg-macos-arm64 +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/file_search/bin/rg-macos-x64 +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/file_search/bin/rg.exe +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/file_search/search.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/file_search/setup_package.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/file_search/test_search.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/files.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/fix_attempt_completion.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/issue_review_completion.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/observation/error.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/observation/observation.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/repo_map/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/repo_map/dump.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/repo_map/io.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/repo_map/repo_map.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/repo_map/special.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/repo_map/token_counter.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/repo_map/waiting.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/reproduce_completion.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/test_completion.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/coder/tool_docs.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/read_many_files/README.md +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/read_many_files/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/read_many_files/file_processor.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/read_many_files/filters.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/read_many_files/formatters.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/read_many_files/models.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/read_many_files_tool.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/tool_call_format/__init__.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/tool_call_format/file_to_language.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/tool_call_format/formatter_factory.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/tool_call_format/tool_call_formatter.py +0 -0
- {siada_cli-1.0.0 → siada_cli-1.3.0}/siada/tools/web/web_crawl.py +0 -0
siada_cli-1.3.0/PKG-INFO
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: siada-cli
|
|
3
|
+
Version: 1.3.0
|
|
4
|
+
Summary: Siada CLI is a Ai Pair Programming Tool in terminal
|
|
5
|
+
License: Apache-2.0
|
|
6
|
+
License-File: LICENSE
|
|
7
|
+
Requires-Python: >=3.12,<4.0
|
|
8
|
+
Classifier: Environment :: Console
|
|
9
|
+
Classifier: Intended Audience :: Developers
|
|
10
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
11
|
+
Classifier: Programming Language :: Python
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
16
|
+
Classifier: Topic :: Software Development
|
|
17
|
+
Requires-Dist: aiohttp (>=3.8.0,<4.0.0)
|
|
18
|
+
Requires-Dist: binaryornot (==0.4.4)
|
|
19
|
+
Requires-Dist: click (>=8.2.1,<9.0.0)
|
|
20
|
+
Requires-Dist: configargparse (>=1.7,<2.0.0)
|
|
21
|
+
Requires-Dist: diskcache (==5.6.3)
|
|
22
|
+
Requires-Dist: fastapi (>=0.110.0,<1.0.0)
|
|
23
|
+
Requires-Dist: gitpython (>=3.1.0,<4.0.0)
|
|
24
|
+
Requires-Dist: grep-ast (>=0.9.0,<1.0.0)
|
|
25
|
+
Requires-Dist: litellm (>=1.72.6,<2.0.0)
|
|
26
|
+
Requires-Dist: mcp (>=1.0.0,<2.0.0)
|
|
27
|
+
Requires-Dist: networkx (>=3.5.0,<4.0.0)
|
|
28
|
+
Requires-Dist: numpy (>=1.24.0,<2.0.0)
|
|
29
|
+
Requires-Dist: openai (>=1.102.0,<2.0.0)
|
|
30
|
+
Requires-Dist: openai-agents (==0.3.2)
|
|
31
|
+
Requires-Dist: openhands-aci (==0.3.0)
|
|
32
|
+
Requires-Dist: pandas (>=2.0.0,<3.0.0)
|
|
33
|
+
Requires-Dist: partial-json-parser (>=0.2.1.1.post6,<1.0.0)
|
|
34
|
+
Requires-Dist: patch-ng (>=1.18.1,<2.0.0)
|
|
35
|
+
Requires-Dist: pexpect (>=4.9.0,<5.0.0)
|
|
36
|
+
Requires-Dist: playwright (>=1.40.0,<2.0.0)
|
|
37
|
+
Requires-Dist: prompt-toolkit (>=3.0.51,<4.0.0)
|
|
38
|
+
Requires-Dist: psutil (>=7.0.0,<8.0.0)
|
|
39
|
+
Requires-Dist: pydantic (>=2.6.0,<3.0.0)
|
|
40
|
+
Requires-Dist: pydantic-settings (>=2.2.0,<3.0.0)
|
|
41
|
+
Requires-Dist: pygments (>=2.19.1,<3.0.0)
|
|
42
|
+
Requires-Dist: rich (>=13.0.0,<=14.1.0)
|
|
43
|
+
Requires-Dist: scikit-learn (>=1.3.0,<2.0.0)
|
|
44
|
+
Requires-Dist: shtab (>=1.7,<2.0.0)
|
|
45
|
+
Requires-Dist: termcolor (>=3.1.0,<4.0.0)
|
|
46
|
+
Requires-Dist: tqdm (>=4.67.1,<5.0.0)
|
|
47
|
+
Requires-Dist: trafilatura (>=2.0.0,<3.0.0)
|
|
48
|
+
Requires-Dist: uvicorn (>=0.27.0,<1.0.0)
|
|
49
|
+
Description-Content-Type: text/markdown
|
|
50
|
+
|
|
51
|
+
# Siada CLI
|
|
52
|
+
|
|
53
|
+
**[简体中文](./docs/zh-CN/README_zh.md) | English**
|
|
54
|
+
|
|
55
|
+

|
|
56
|
+
|
|
57
|
+
This repository contains Siada CLI, a command-line AI workflow tool that provides specialized intelligent agents for code development, debugging, and automation tasks.
|
|
58
|
+
|
|
59
|
+
With Siada CLI you can:
|
|
60
|
+
|
|
61
|
+
- Fix bugs in large codebases through intelligent analysis and automated solutions.
|
|
62
|
+
- Generate new applications and components using specialized frontend and backend agents.
|
|
63
|
+
- Automate development workflows through intelligent code generation and testing.
|
|
64
|
+
- Execute system commands and interact with development environments.
|
|
65
|
+
- Seamlessly support multiple programming languages and frameworks.
|
|
66
|
+
|
|
67
|
+
## Installation/Update
|
|
68
|
+
|
|
69
|
+
1. System Requirements
|
|
70
|
+
- MAC, Linux
|
|
71
|
+
- GCC 11+
|
|
72
|
+
|
|
73
|
+
2. Installation Command
|
|
74
|
+
```bash
|
|
75
|
+
curl -s https://bj.bcebos.com/prod-cnhb01-siada/cli-install/prod/remote_install.sh | sh
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
The following output indicates successful installation
|
|
79
|
+

|
|
80
|
+
|
|
81
|
+
After installation, you need to add ~/.local/bin to PATH according to the prompt (skip if already added) to ensure siada-cli can be used in shell
|
|
82
|
+
```bash
|
|
83
|
+
# Bash
|
|
84
|
+
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
|
|
85
|
+
source ~/.bashrc
|
|
86
|
+
|
|
87
|
+
# Zsh
|
|
88
|
+
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
|
|
89
|
+
source ~/.zshrc
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Verify successful installation
|
|
93
|
+
```bash
|
|
94
|
+
siada-cli --version
|
|
95
|
+
|
|
96
|
+
# Successfully outputting version number indicates successful installation
|
|
97
|
+
siada-cli 0.0.1
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
## Installation (Developer Mode)
|
|
102
|
+
|
|
103
|
+
1. **Prerequisites:** Ensure you have [Python 3.12](https://www.python.org/downloads/) or higher and [Poetry](https://python-poetry.org/docs/#installation) installed.
|
|
104
|
+
|
|
105
|
+
2. **Clone and Install:**
|
|
106
|
+
```bash
|
|
107
|
+
git clone https://github.com/your-org/siada-agenthub.git
|
|
108
|
+
cd siada-agenthub
|
|
109
|
+
poetry install
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
3. **Run CLI:**
|
|
113
|
+
```bash
|
|
114
|
+
# Method 1: Run with Poetry
|
|
115
|
+
poetry run siada-cli
|
|
116
|
+
|
|
117
|
+
# Method 2: Activate virtual environment then use (recommended)
|
|
118
|
+
source $(poetry env info --path)/bin/activate
|
|
119
|
+
siada-cli
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## User Guide
|
|
123
|
+
|
|
124
|
+
For detailed usage instructions and advanced features, please refer to our [User Manual](docs/USERMANUAL.md), which includes:
|
|
125
|
+
|
|
126
|
+
- Detailed configuration instructions
|
|
127
|
+
- Usage modes and command-line options
|
|
128
|
+
- Slash command usage guide
|
|
129
|
+
- Agent type explanations
|
|
130
|
+
- Practical usage examples
|
|
131
|
+
- Troubleshooting guide
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
## Contributing
|
|
136
|
+
|
|
137
|
+
We welcome contributions to Siada CLI! Whether you want to fix bugs, add new features, improve documentation, or suggest enhancements, your contributions are greatly appreciated.
|
|
138
|
+
|
|
139
|
+
To get started with contributing, please read our [Contributing Guide](./docs/CONTRIBUTING.md) which includes:
|
|
140
|
+
|
|
141
|
+
- Our project vision and development goals
|
|
142
|
+
- Project directory structure and development guidelines
|
|
143
|
+
- Pull request guidelines and best practices
|
|
144
|
+
- Code organization principles
|
|
145
|
+
|
|
146
|
+
Before submitting any changes, please make sure to check our issue tracker and follow the contribution workflow outlined in the guide.
|
|
147
|
+
|
|
148
|
+
## Acknowledgements
|
|
149
|
+
|
|
150
|
+
Siada CLI is built upon the foundation of numerous open source projects, and we extend our deepest respect and gratitude to their contributors.
|
|
151
|
+
|
|
152
|
+
Special thanks to the [OpenAI Agent SDK](https://github.com/openai/openai-agent-sdk) for providing the foundational framework that powers our intelligent agent capabilities.
|
|
153
|
+
|
|
154
|
+
For a complete list of open source projects and licenses used in Siada CLI, please see our [CREDITS.md](./docs/CREDITS.md) file.
|
|
155
|
+
|
|
156
|
+
## License
|
|
157
|
+
|
|
158
|
+
Distributed under the Apache-2.0 License. See [`LICENSE`](LICENSE) for more information.
|
|
159
|
+
|
|
160
|
+
## DISCLAIMERS
|
|
161
|
+
See [disclaimers.md](./disclaimers.md)
|
|
162
|
+
|
|
163
|
+
----
|
|
164
|
+
<div align="center">
|
|
165
|
+
Built with ❤️ by Li Auto Code Intelligence Team and the open source community
|
|
166
|
+
</div>
|
|
167
|
+
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# Siada CLI
|
|
2
|
+
|
|
3
|
+
**[简体中文](./docs/zh-CN/README_zh.md) | English**
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
This repository contains Siada CLI, a command-line AI workflow tool that provides specialized intelligent agents for code development, debugging, and automation tasks.
|
|
8
|
+
|
|
9
|
+
With Siada CLI you can:
|
|
10
|
+
|
|
11
|
+
- Fix bugs in large codebases through intelligent analysis and automated solutions.
|
|
12
|
+
- Generate new applications and components using specialized frontend and backend agents.
|
|
13
|
+
- Automate development workflows through intelligent code generation and testing.
|
|
14
|
+
- Execute system commands and interact with development environments.
|
|
15
|
+
- Seamlessly support multiple programming languages and frameworks.
|
|
16
|
+
|
|
17
|
+
## Installation/Update
|
|
18
|
+
|
|
19
|
+
1. System Requirements
|
|
20
|
+
- MAC, Linux
|
|
21
|
+
- GCC 11+
|
|
22
|
+
|
|
23
|
+
2. Installation Command
|
|
24
|
+
```bash
|
|
25
|
+
curl -s https://bj.bcebos.com/prod-cnhb01-siada/cli-install/prod/remote_install.sh | sh
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
The following output indicates successful installation
|
|
29
|
+

|
|
30
|
+
|
|
31
|
+
After installation, you need to add ~/.local/bin to PATH according to the prompt (skip if already added) to ensure siada-cli can be used in shell
|
|
32
|
+
```bash
|
|
33
|
+
# Bash
|
|
34
|
+
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
|
|
35
|
+
source ~/.bashrc
|
|
36
|
+
|
|
37
|
+
# Zsh
|
|
38
|
+
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
|
|
39
|
+
source ~/.zshrc
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Verify successful installation
|
|
43
|
+
```bash
|
|
44
|
+
siada-cli --version
|
|
45
|
+
|
|
46
|
+
# Successfully outputting version number indicates successful installation
|
|
47
|
+
siada-cli 0.0.1
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
## Installation (Developer Mode)
|
|
52
|
+
|
|
53
|
+
1. **Prerequisites:** Ensure you have [Python 3.12](https://www.python.org/downloads/) or higher and [Poetry](https://python-poetry.org/docs/#installation) installed.
|
|
54
|
+
|
|
55
|
+
2. **Clone and Install:**
|
|
56
|
+
```bash
|
|
57
|
+
git clone https://github.com/your-org/siada-agenthub.git
|
|
58
|
+
cd siada-agenthub
|
|
59
|
+
poetry install
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
3. **Run CLI:**
|
|
63
|
+
```bash
|
|
64
|
+
# Method 1: Run with Poetry
|
|
65
|
+
poetry run siada-cli
|
|
66
|
+
|
|
67
|
+
# Method 2: Activate virtual environment then use (recommended)
|
|
68
|
+
source $(poetry env info --path)/bin/activate
|
|
69
|
+
siada-cli
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## User Guide
|
|
73
|
+
|
|
74
|
+
For detailed usage instructions and advanced features, please refer to our [User Manual](docs/USERMANUAL.md), which includes:
|
|
75
|
+
|
|
76
|
+
- Detailed configuration instructions
|
|
77
|
+
- Usage modes and command-line options
|
|
78
|
+
- Slash command usage guide
|
|
79
|
+
- Agent type explanations
|
|
80
|
+
- Practical usage examples
|
|
81
|
+
- Troubleshooting guide
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
## Contributing
|
|
86
|
+
|
|
87
|
+
We welcome contributions to Siada CLI! Whether you want to fix bugs, add new features, improve documentation, or suggest enhancements, your contributions are greatly appreciated.
|
|
88
|
+
|
|
89
|
+
To get started with contributing, please read our [Contributing Guide](./docs/CONTRIBUTING.md) which includes:
|
|
90
|
+
|
|
91
|
+
- Our project vision and development goals
|
|
92
|
+
- Project directory structure and development guidelines
|
|
93
|
+
- Pull request guidelines and best practices
|
|
94
|
+
- Code organization principles
|
|
95
|
+
|
|
96
|
+
Before submitting any changes, please make sure to check our issue tracker and follow the contribution workflow outlined in the guide.
|
|
97
|
+
|
|
98
|
+
## Acknowledgements
|
|
99
|
+
|
|
100
|
+
Siada CLI is built upon the foundation of numerous open source projects, and we extend our deepest respect and gratitude to their contributors.
|
|
101
|
+
|
|
102
|
+
Special thanks to the [OpenAI Agent SDK](https://github.com/openai/openai-agent-sdk) for providing the foundational framework that powers our intelligent agent capabilities.
|
|
103
|
+
|
|
104
|
+
For a complete list of open source projects and licenses used in Siada CLI, please see our [CREDITS.md](./docs/CREDITS.md) file.
|
|
105
|
+
|
|
106
|
+
## License
|
|
107
|
+
|
|
108
|
+
Distributed under the Apache-2.0 License. See [`LICENSE`](LICENSE) for more information.
|
|
109
|
+
|
|
110
|
+
## DISCLAIMERS
|
|
111
|
+
See [disclaimers.md](./disclaimers.md)
|
|
112
|
+
|
|
113
|
+
----
|
|
114
|
+
<div align="center">
|
|
115
|
+
Built with ❤️ by Li Auto Code Intelligence Team and the open source community
|
|
116
|
+
</div>
|
|
@@ -7,22 +7,43 @@ agents:
|
|
|
7
7
|
class: "siada.agent_hub.coder.bug_fix_agent.BugFixAgent"
|
|
8
8
|
description: "Specialized agent for code bug fixing"
|
|
9
9
|
enabled: true
|
|
10
|
+
supported_modes: "non_interactive"
|
|
10
11
|
|
|
11
12
|
# Code Development Agent (not implemented yet)
|
|
12
13
|
coder:
|
|
13
14
|
class: "siada.agent_hub.coder.code_gen_agent.CodeGenAgent"
|
|
14
15
|
description: "General-purpose code development agent"
|
|
15
16
|
enabled: true
|
|
17
|
+
supported_modes: "all"
|
|
16
18
|
|
|
17
19
|
# Frontend Generation Agent
|
|
18
20
|
fegen:
|
|
19
21
|
class: "siada.agent_hub.coder.fe_gen_agent.FeGenAgent"
|
|
20
22
|
description: "Frontend code generation agent"
|
|
21
23
|
enabled: false
|
|
24
|
+
supported_modes: "non_interactive"
|
|
25
|
+
|
|
26
|
+
browser:
|
|
27
|
+
class: "siada.agent_hub.coder.browser_agent.BrowserAgent"
|
|
28
|
+
description: "Browser operate agent"
|
|
29
|
+
enabled: true
|
|
30
|
+
supported_modes: "interactive"
|
|
31
|
+
|
|
32
|
+
bugreproduce:
|
|
33
|
+
class: "siada.agent_hub.coder.bug_reproduce_agent.BugReproduceAgent"
|
|
34
|
+
description: "Bug reproduction agent"
|
|
35
|
+
enabled: false
|
|
36
|
+
supported_modes: "non_interactive"
|
|
37
|
+
|
|
38
|
+
test:
|
|
39
|
+
class: "siada.agent_hub.coder.test_agent.TestAgent"
|
|
40
|
+
description: "Test agent"
|
|
41
|
+
enabled: false
|
|
42
|
+
supported_modes: "non_interactive"
|
|
22
43
|
|
|
23
44
|
# LLM Configuration
|
|
24
45
|
llm_config:
|
|
25
|
-
provider: "
|
|
46
|
+
provider: "li" # Optional: ”li“ , “openrouter”
|
|
26
47
|
model_name: "claude-sonnet-4"
|
|
27
48
|
repo_map_tokens: 8192 # repo map max token
|
|
28
49
|
repo_map_mul_no_files: 16 # Multiple without chat files
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "siada-cli"
|
|
3
|
-
version = "1.
|
|
3
|
+
version = "1.3.0"
|
|
4
4
|
description = "Siada CLI is a Ai Pair Programming Tool in terminal"
|
|
5
5
|
packages = [{include = "siada"}, {include = "agent_config.yaml"}]
|
|
6
6
|
include = ["agent_config.yaml"]
|
|
7
7
|
license = "Apache-2.0"
|
|
8
8
|
readme = "README.md"
|
|
9
|
-
|
|
9
|
+
|
|
10
10
|
classifiers = [
|
|
11
11
|
"Environment :: Console",
|
|
12
12
|
"Intended Audience :: Developers",
|
|
@@ -16,9 +16,6 @@ classifiers = [
|
|
|
16
16
|
"Topic :: Software Development",
|
|
17
17
|
]
|
|
18
18
|
|
|
19
|
-
[tool.poetry.urls]
|
|
20
|
-
Homepage = "https://github.com/liauto-siada/siada-cli"
|
|
21
|
-
|
|
22
19
|
[tool.poetry.scripts]
|
|
23
20
|
siada-cli = "siada.entrypoint.siadahub:main"
|
|
24
21
|
[tool.poetry.dependencies]
|
|
@@ -27,8 +24,8 @@ fastapi = ">=0.110.0,<1.0.0"
|
|
|
27
24
|
uvicorn = ">=0.27.0,<1.0.0"
|
|
28
25
|
pydantic = ">=2.6.0,<3.0.0"
|
|
29
26
|
pydantic-settings = ">=2.2.0,<3.0.0"
|
|
30
|
-
openai-agents = "0.2
|
|
31
|
-
openai = ">=1.
|
|
27
|
+
openai-agents = "0.3.2"
|
|
28
|
+
openai = ">=1.102.0,<2.0.0"
|
|
32
29
|
litellm = ">=1.72.6,<2.0.0"
|
|
33
30
|
openhands-aci = "0.3.0"
|
|
34
31
|
termcolor = ">=3.1.0,<4.0.0"
|
|
@@ -36,7 +33,7 @@ psutil = ">=7.0.0,<8.0.0"
|
|
|
36
33
|
pexpect = ">=4.9.0,<5.0.0"
|
|
37
34
|
binaryornot = "0.4.4"
|
|
38
35
|
diskcache = "5.6.3"
|
|
39
|
-
rich = ">=13.0.0
|
|
36
|
+
rich = ">=13.0.0,<=14.1.0"
|
|
40
37
|
tqdm = ">=4.67.1,<5.0.0"
|
|
41
38
|
pygments = ">=2.19.1,<3.0.0"
|
|
42
39
|
grep-ast = ">=0.9.0,<1.0.0"
|
|
@@ -47,6 +44,15 @@ patch-ng = ">=1.18.1,<2.0.0"
|
|
|
47
44
|
trafilatura = ">=2.0.0,<3.0.0"
|
|
48
45
|
prompt-toolkit = ">=3.0.51,<4.0.0"
|
|
49
46
|
partial-json-parser = ">=0.2.1.1.post6,<1.0.0"
|
|
47
|
+
networkx = ">=3.5.0,<4.0.0"
|
|
48
|
+
playwright = ">=1.40.0,<2.0.0"
|
|
49
|
+
gitpython = ">=3.1.0,<4.0.0"
|
|
50
|
+
mcp = ">=1.0.0,<2.0.0"
|
|
51
|
+
aiohttp = ">=3.8.0,<4.0.0"
|
|
52
|
+
numpy = ">=1.24.0,<2.0.0"
|
|
53
|
+
pandas = ">=2.0.0,<3.0.0"
|
|
54
|
+
scikit-learn = ">=1.3.0,<2.0.0"
|
|
55
|
+
|
|
50
56
|
|
|
51
57
|
[tool.poetry.group.dev.dependencies]
|
|
52
58
|
pytest = ">=8.0.0,<9.0.0"
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
from agents import RunContextWrapper
|
|
2
|
+
|
|
3
|
+
from siada.foundation.code_agent_context import CodeAgentContext
|
|
4
|
+
from siada.agent_hub.coder.code_gen_agent import CodeGenAgent
|
|
5
|
+
from siada.agent_hub.coder.prompt import fe_gen_prompt
|
|
6
|
+
from siada.tools.browser.browser_action_tool import browser_operate
|
|
7
|
+
from siada.tools.browser.browsergym_action_tool import browser_operate_by_gym
|
|
8
|
+
from siada.tools.coder.file_operator import edit
|
|
9
|
+
from siada.tools.coder.file_search import regex_search_files
|
|
10
|
+
from siada.tools.coder.run_cmd import run_cmd
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class BrowserAgent(CodeGenAgent):
|
|
14
|
+
|
|
15
|
+
def __init__(self, *args, **kwargs):
|
|
16
|
+
|
|
17
|
+
super().__init__(
|
|
18
|
+
name="BrowserAgent",
|
|
19
|
+
#tools=[edit, regex_search_files, run_cmd, browser_operate],
|
|
20
|
+
tools=[browser_operate_by_gym],
|
|
21
|
+
*args,
|
|
22
|
+
**kwargs
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
async def get_system_prompt(self, run_context: RunContextWrapper[CodeAgentContext]) -> str | None:
|
|
26
|
+
# 使用专门的浏览器操作提示词,而不是前端生成提示词
|
|
27
|
+
instructions = """
|
|
28
|
+
You are a Browser Operation Agent specialized in web automation tasks.
|
|
29
|
+
|
|
30
|
+
Your primary responsibility is to perform browser operations according to user instructions using the browser_operate tool.
|
|
31
|
+
|
|
32
|
+
IMPORTANT GUIDELINES:
|
|
33
|
+
1. **Screenshot Analysis**: Always carefully analyze the screenshot after each action to understand the current page state
|
|
34
|
+
2. **Coordinate Accuracy**: When clicking elements, examine the screenshot to determine precise coordinates
|
|
35
|
+
3. **Element Identification**: Look for visual cues like buttons, input fields, links, and other interactive elements
|
|
36
|
+
4. **Wait for Loading**: Allow sufficient time for pages to load before taking actions
|
|
37
|
+
5. **Error Handling**: If an action doesn't produce the expected result, analyze the screenshot and try alternative approaches
|
|
38
|
+
|
|
39
|
+
BROWSER OPERATION WORKFLOW:
|
|
40
|
+
1. Launch browser with the target URL
|
|
41
|
+
2. Wait for page to fully load
|
|
42
|
+
3. Analyze the screenshot to identify target elements
|
|
43
|
+
4. Perform actions (click, type, scroll) based on visual analysis
|
|
44
|
+
5. Verify results by examining subsequent screenshots
|
|
45
|
+
6. Close browser when task is complete
|
|
46
|
+
|
|
47
|
+
COORDINATE SELECTION TIPS:
|
|
48
|
+
- Click in the center of buttons and input fields
|
|
49
|
+
- For text input, click on the input field first, then type
|
|
50
|
+
- For search operations, locate the search button visually
|
|
51
|
+
- Use scroll actions if elements are not visible
|
|
52
|
+
|
|
53
|
+
Remember: You can see the page through screenshots, so use this visual information to make accurate decisions about where to click and what actions to take.
|
|
54
|
+
"""
|
|
55
|
+
return instructions
|
|
56
|
+
|
|
57
|
+
async def get_context(self) -> CodeAgentContext:
|
|
58
|
+
current_working_dir = "/Users/yunan/code/test/fe_gen"
|
|
59
|
+
context = CodeAgentContext(root_dir=current_working_dir)
|
|
60
|
+
return context
|