codegraff 0.1.1__tar.gz → 0.1.2__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.
- {codegraff-0.1.1 → codegraff-0.1.2}/Cargo.lock +1 -1
- {codegraff-0.1.1 → codegraff-0.1.2}/PKG-INFO +1 -1
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/mcp/manager.rs +18 -1
- {codegraff-0.1.1 → codegraff-0.1.2}/pyproject.toml +1 -1
- {codegraff-0.1.1 → codegraff-0.1.2}/python/codegraff/__init__.py +51 -4
- {codegraff-0.1.1 → codegraff-0.1.2}/sdk/python/Cargo.toml +1 -1
- {codegraff-0.1.1 → codegraff-0.1.2}/sdk/python/src/lib.rs +53 -2
- {codegraff-0.1.1 → codegraff-0.1.2}/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/README.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_api/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_api/src/api.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_api/src/forge_api.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_api/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/agent.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/agent_executor.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/agent_provider_resolver.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/app.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/apply_tunable_parameters.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/changed_files.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/command_generator.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/compact.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/data_gen.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/error.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/request.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/response.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/transforms/auth_system_message.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/transforms/capitalize_tool_names.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/transforms/claude_code.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/transforms/drop_invalid_toolcalls.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/transforms/enforce_schema.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/transforms/mcp_tool_names.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/transforms/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/transforms/reasoning_transform.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/transforms/remove_output_format.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/transforms/sanitize_tool_ids.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/transforms/set_cache.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/google/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/google/request.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/google/response.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/error.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/fixtures/chutes_api_response.json +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/fixtures/chutes_completion_response.json +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/fixtures/model_invalid_pricing.json +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/fixtures/model_mixed_pricing.json +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/fixtures/model_no_pricing.json +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/fixtures/model_numeric_pricing.json +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/fixtures/model_scientific_notation.json +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/fixtures/model_string_pricing.json +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/fixtures/zai_api_delta_response.json +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/fixtures/zai_api_response.json +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/model.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/reasoning.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/request.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/response.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/responses.jsonl +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/snapshots/forge_app__dto__openai__request__tests__assistant_message_with_tool_call_conversion.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/snapshots/forge_app__dto__openai__request__tests__message_with_special_chars.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/snapshots/forge_app__dto__openai__request__tests__tool_message_conversion.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/snapshots/forge_app__dto__openai__request__tests__tool_message_typescript_code.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/snapshots/forge_app__dto__openai__request__tests__tool_message_with_special_chars.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/snapshots/forge_app__dto__openai__request__tests__user_message_conversion.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/tool_choice.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/default_reasoning_content.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/drop_tool_call.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/ensure_system_first.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/github_copilot_reasoning.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/make_cerebras_compat.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/make_openai_compat.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/make_xai_compat.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/minimax.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/normalize_tool_schema.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/pipeline.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/reasoning_content.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/set_cache.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/set_reasoning_effort.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/strip_thought_signature.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/tool_choice.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/trim_tool_call_ids.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/when_model.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/zai_reasoning.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/tools_overview.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/error.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/file_tracking.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/fixtures/conversation.json +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/fixtures/git_ls_files_many_extensions.txt +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/fixtures/git_ls_files_mixed.txt +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/fmt/content.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/fmt/fmt_input.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/fmt/fmt_output.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/fmt/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/fmt/snapshots/forge_app__fmt__fmt_output__tests__fs_patch_success.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/fmt/snapshots/forge_app__fmt__todo_fmt__tests__todo_write_mixed_changes_snapshot.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/fmt/snapshots/forge_app__fmt__todo_fmt__tests__todo_write_removed_in_progress_renders_with_in_progress_icon_in_raw_snapshot.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/fmt/snapshots/forge_app__fmt__todo_fmt__tests__todo_write_removed_pending_renders_with_pending_icon_in_raw_snapshot.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/fmt/todo_fmt.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/git_app.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/hooks/compaction.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/hooks/doom_loop.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/hooks/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/hooks/pending_todos.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/hooks/read_without_write.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/hooks/title_generation.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/hooks/tracing.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/infra.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/init_conversation_metrics.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/mcp_executor.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/operation.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/orch.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/orch_spec/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/orch_spec/orch_runner.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/orch_spec/orch_setup.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/orch_spec/orch_spec.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/orch_spec/orch_system_spec.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/orch_spec/snapshots/forge_app__orch_spec__orch_system_spec__system_prompt.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/orch_spec/snapshots/forge_app__orch_spec__orch_system_spec__system_prompt_tool_supported.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/orch_spec/snapshots/forge_app__orch_spec__orch_system_spec__system_prompt_with_extensions.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/orch_spec/snapshots/forge_app__orch_spec__orch_system_spec__system_prompt_with_extensions_truncated.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/retry.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/search_dedup.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/services.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/set_conversation_id.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__changed_files__tests__multiple_files_changed.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__command_generator__tests__generate_simple_command.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__command_generator__tests__generate_with_no_files.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__compact__tests__render_summary_frame_snapshot-2.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__compact__tests__render_summary_frame_snapshot.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__compact__tests__template_engine_renders_summary_frame.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__compact__tests__template_engine_renders_todo_write.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__follow_up_no_question.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__follow_up_with_question.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_create_basic.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_create_overwrite.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_create_with_warning.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_create_with_warning_xml_tags.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_patch_basic.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_patch_with_warning.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_patch_with_warning_special_chars.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_read_basic.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_read_basic_special_chars.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_read_with_explicit_range.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_read_with_truncation_path.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_remove_success.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_search_case_insensitive.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_search_count_mode.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_search_files_with_matches_mode.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_search_max_output.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_search_min_lines_but_max_line_length.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_search_multiline_pattern.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_search_no_matches.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_search_no_results.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_search_output.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_search_very_lengthy_one_line_match.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_search_with_after_context.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_search_with_before_context.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_search_with_context_lines.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_search_with_file_type.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_search_with_offset.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_search_with_results.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_search_without_line_numbers.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_undo_file_created.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_undo_file_removed.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_undo_file_restored.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_undo_no_changes.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__fs_undo_success.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__net_fetch_success.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__net_fetch_truncated.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__sem_search_multiple_chunks_same_file_sorted.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__sem_search_with_results.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__sem_search_with_usecase.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__shell_output_both_stdout_stderr_truncation.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__shell_output_empty_streams.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__shell_output_exact_boundary_stdout.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__shell_output_line_number_calculation.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__shell_output_no_truncation.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__shell_output_single_line_each.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__shell_output_stderr_truncation_only.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__shell_output_stdout_truncation_only.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__shell_success.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__shell_with_description.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__operation__tests__skill_operation.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__tool_registry__all_rendered_tool_descriptions.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__tool_registry__dynamic_tool_description_with_text_only_model.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__tool_registry__dynamic_tool_description_with_vision_model.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/snapshots/forge_app__tool_registry__dynamic_tool_description_without_model.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/system_prompt.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/template_engine.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/terminal_context.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/title_generator.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/tool_executor.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/tool_registry.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/tool_resolver.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/trajectory_recorder.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/trajectory_upload.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/transformers/compaction.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/transformers/dedupe_role.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/transformers/drop_reasoning_only_messages.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/transformers/drop_role.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/transformers/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/transformers/model_specific_reasoning.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/transformers/strip_working_dir.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/transformers/trim_context_summary.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/truncation/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/truncation/truncate_fetch.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/truncation/truncate_search.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/truncation/truncate_shell.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/user.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/user_prompt.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/utils.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/walker.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/workspace_status.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_config/.forge.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_config/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_config/src/auto_dump.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_config/src/compact.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_config/src/config.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_config/src/decimal.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_config/src/error.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_config/src/http.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_config/src/legacy.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_config/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_config/src/model.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_config/src/percentage.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_config/src/reader.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_config/src/reasoning.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_config/src/retry.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_config/src/writer.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_config/tests/schema.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_display/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_display/src/code.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_display/src/diff.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_display/src/fixtures/code-01.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_display/src/fixtures/code-02.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_display/src/grep.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_display/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_display/src/markdown.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_display/src/snapshots/forge_display__diff__tests__diff_printer_simple_diff.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_display/src/snapshots/forge_display__diff__tests__file_source.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_display/src/snapshots/forge_display__diff__tests__width_based_on_diff_not_file_size.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_display/src/snapshots/forge_display__grep__tests__combined_grep_suite.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/agent.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/attachment.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/auth/auth_context.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/auth/auth_method.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/auth/auth_params.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/auth/auth_token_response.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/auth/credentials.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/auth/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/auth/new_types.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/auth/oauth_config.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/auto_continue.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/chat_request.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/chat_response.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/command.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/compact/compact_config.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/compact/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/compact/result.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/compact/strategy.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/compact/summary.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/console.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/context.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/conversation.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/conversation_html.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/conversation_style.css +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/data_gen.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/env.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/error.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/event.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/file.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/file_operation.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/fixtures/policies_test.yml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/fixtures/tool_call_01.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/fuzzy_search.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/group_by_key.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/hook.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/http_config.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/image.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/line_numbers.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/max_tokens.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/mcp.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/mcp_servers.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/merge.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/message.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/message_pattern.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/migration.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/model.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/model_config.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/node.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/pending_nudges.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/point.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/policies/config.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/policies/engine.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/policies/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/policies/operation.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/policies/policy.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/policies/rule.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/policies/types.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/provider.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/reasoning.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/repo.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/result_stream_ext.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/session_metrics.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/shell.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/skill.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/snapshot.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/snapshots/forge_domain__context__tests__update_image_tool_calls_empty_context.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/snapshots/forge_domain__context__tests__update_image_tool_calls_mixed_content_with_images.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/snapshots/forge_domain__context__tests__update_image_tool_calls_multiple_images_single_tool_result.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/snapshots/forge_domain__context__tests__update_image_tool_calls_multiple_tool_results_with_images.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/snapshots/forge_domain__context__tests__update_image_tool_calls_no_tool_results.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/snapshots/forge_domain__context__tests__update_image_tool_calls_preserves_error_flag.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/snapshots/forge_domain__context__tests__update_image_tool_calls_single_image.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/snapshots/forge_domain__context__tests__update_image_tool_calls_tool_results_no_images.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/snapshots/forge_domain__conversation_html__tests__conversation.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/snapshots/forge_domain__conversation_html__tests__conversation.snap.html +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/suggestion.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/system_context.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/temperature.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/template.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/terminal_context.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tool_order.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/call/args.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/call/context.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/call/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/call/parser.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/call/tool_call.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/catalog.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/definition/choice.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/definition/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/definition/name.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/definition/snapshots/forge_domain__tools__definition__usage__tests__tool_usage.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/definition/tool_definition.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/definition/usage.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/descriptions/followup.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/descriptions/fs_multi_patch.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/descriptions/fs_patch.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/descriptions/fs_read.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/descriptions/fs_remove.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/descriptions/fs_search.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/descriptions/fs_undo.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/descriptions/fs_write.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/descriptions/net_fetch.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/descriptions/plan_create.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/descriptions/semantic_search.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/descriptions/shell.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/descriptions/skill_fetch.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/descriptions/task.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/descriptions/todo_read.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/descriptions/todo_write.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/result.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/snapshots/forge_domain__tools__catalog__tests__tool_definition_json.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/tools/snapshots/forge_domain__tools__result__tests__success_and_failure_content.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/top_k.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/top_p.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/trajectory.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/drop_reasoning_details.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/image_handling.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/normalize_tool_args.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/reasoning_normalizer.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/set_model.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__drop_reasoning_details__tests__drop_reasoning_details_mixed_message_types.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__drop_reasoning_details__tests__drop_reasoning_details_preserves_non_text_messages.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__drop_reasoning_details__tests__drop_reasoning_details_preserves_other_fields.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__drop_reasoning_details__tests__drop_reasoning_details_removes_reasoning.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__image_handling__tests__image_handling_mixed_content_with_images.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__image_handling__tests__image_handling_multiple_images_in_single_tool_result.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__image_handling__tests__image_handling_preserves_error_flag.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__image_handling__tests__image_handling_preserves_non_tool_messages.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__image_handling__tests__image_handling_single_image.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__reasoning_normalizer__tests__model_changed_snapshot.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__reasoning_normalizer__tests__model_unchanged_snapshot.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__set_model__tests__set_model_affects_all_text_messages.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__set_model__tests__set_model_affects_both_user_and_assistant.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__set_model__tests__set_model_for_user_messages.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__set_model__tests__set_model_preserves_existing_models.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__tests__transformer_pipe.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__transform_tool_calls__tests__transform_tool_calls_converts_tool_results_to_user_messages.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__transform_tool_calls__tests__transform_tool_calls_handles_empty_tool_outputs.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__transform_tool_calls__tests__transform_tool_calls_removes_tool_calls_from_assistant.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/snapshots/forge_domain__transformer__transform_tool_calls__tests__transform_tool_calls_with_model.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/sort_tools.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/transformer/transform_tool_calls.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/update.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/user_facts.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/validation.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/workspace.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/src/xml.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/tests/fixtures/conversation.json +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_domain/tests/test_stringified_tool_calls.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_embed/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_embed/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_eventsource/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_eventsource/src/error.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_eventsource/src/event_source.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_eventsource/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_eventsource/src/reqwest_ext.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_eventsource/src/retry.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_eventsource_stream/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_eventsource_stream/src/event.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_eventsource_stream/src/event_stream.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_eventsource_stream/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_eventsource_stream/src/parser.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_eventsource_stream/src/traits.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_eventsource_stream/src/utf8_stream.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_fs/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_fs/src/binary_detection.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_fs/src/error.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_fs/src/file_size.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_fs/src/is_binary.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_fs/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_fs/src/meta.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_fs/src/read.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_fs/src/read_range.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_fs/src/write.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/auth/error.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/auth/http/anthropic.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/auth/http/github.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/auth/http/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/auth/http/standard.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/auth/mcp_credentials.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/auth/mcp_token_storage.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/auth/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/auth/strategy.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/auth/util.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/console.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/env.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/executor.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/forge_infra.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/fs_create_dirs.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/fs_meta.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/fs_read.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/fs_read_dir.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/fs_remove.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/fs_write.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/grpc.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/http.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/inquire.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/kv_storage.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/mcp_client.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/mcp_debug.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/mcp_server.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/src/walker.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_infra/tests/mcp_pagination.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_json_repair/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_json_repair/src/error.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_json_repair/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_json_repair/src/parser.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_json_repair/src/schema_coercion.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_json_repair/tests/comments_unicode.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_json_repair/tests/complex_repairs.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_json_repair/tests/error_cases.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_json_repair/tests/escaping.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_json_repair/tests/numbers.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_json_repair/tests/punctuation.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_json_repair/tests/quotes.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_json_repair/tests/special_quotes.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_json_repair/tests/special_values.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_json_repair/tests/strings.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_json_repair/tests/truncation.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_json_repair/tests/valid_json.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/build.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/proto/forge.proto +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/agent.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/agent_definition.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/agents/forge.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/agents/muse.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/agents/sage.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/context_engine.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/conversation/conversation_record.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/conversation/conversation_repo.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/conversation/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/.diesel_lock +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2025-09-12-065405_create_conversations_table/down.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2025-09-12-065405_create_conversations_table/up.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2025-09-12-065740_add_conversations_indexes/down.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2025-09-12-065740_add_conversations_indexes/up.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2025-10-16-000000_add_metrics_to_conversations/down.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2025-10-16-000000_add_metrics_to_conversations/up.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2025-11-13-054241_create_workspace_table/down.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2025-11-13-054241_create_workspace_table/up.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2025-11-15-000000_create_indexing_auth_table/down.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2025-11-15-000000_create_indexing_auth_table/up.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2025-11-22-061212-0000_drop_indexing_auth_table/down.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2025-11-22-061212-0000_drop_indexing_auth_table/up.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2026-02-16-130933-0000_drop_workspace_table/down.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2026-02-16-130933-0000_drop_workspace_table/up.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2026-05-06-033550_create_trajectory_events_table/down.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2026-05-06-033550_create_trajectory_events_table/up.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2026-05-21-172132_create_user_facts_table/down.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2026-05-21-172132_create_user_facts_table/up.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2026-05-21-180000_create_pending_nudges_table/down.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/migrations/2026-05-21-180000_create_pending_nudges_table/up.sql +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/pool.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/database/schema.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/fixtures/agents/advanced.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/fixtures/agents/basic.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/fixtures/agents/invalid.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/fixtures/agents/no_id.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/fixtures/skills/no_front_matter.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/fixtures/skills/with_description_only.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/fixtures/skills/with_name_and_description.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/fixtures/skills/with_name_only.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/fixtures/skills_with_resources/minimal-skill/SKILL.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/fixtures/skills_with_resources/test-skill/SKILL.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/fixtures/skills_with_resources/test-skill/file_1.txt +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/fixtures/skills_with_resources/test-skill/foo/bar/file_3.txt +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/fixtures/skills_with_resources/test-skill/foo/file_2.txt +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/forge_repo.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/fs_snap.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/fuzzy_search.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/pending_nudges/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/pending_nudges/pending_nudge_record.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/pending_nudges/pending_nudges_repo.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/anthropic.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/bedrock.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/bedrock_cache.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/bedrock_sanitize_ids.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/chat.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/event.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/google.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/mock_server.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/openai.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/openai_responses/codex_transformer.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/openai_responses/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/openai_responses/repository.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/openai_responses/request.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/openai_responses/response.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/openai_responses/snapshots/forge_repo__provider__openai_responses__request__tests__openai_responses_all_catalog_tools.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/openai_responses/snapshots/forge_repo__provider__openai_responses__request__tests__openai_responses_tools.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/openai_responses/websocket.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/opencode.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/provider.json +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/provider_repo.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/retry.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/snapshots/forge_repo__provider__anthropic__tests__fetch_models_http_error_status.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/snapshots/forge_repo__provider__anthropic__tests__fetch_models_server_error.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/snapshots/forge_repo__provider__anthropic__tests__fetch_models_success.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/snapshots/forge_repo__provider__anthropic__tests__request_conversion.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/snapshots/forge_repo__provider__google__tests__fetch_models_http_error_status.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/snapshots/forge_repo__provider__google__tests__fetch_models_success.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/snapshots/forge_repo__provider__google__tests__request_conversion.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/snapshots/forge_repo__provider__openai__tests__detailed_error_message_included.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/snapshots/forge_repo__provider__openai__tests__enhance_error_github_copilot_model_not_supported.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/snapshots/forge_repo__provider__openai__tests__fetch_models_http_error_status.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/snapshots/forge_repo__provider__openai__tests__fetch_models_server_error.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/snapshots/forge_repo__provider__openai__tests__fetch_models_success.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/provider/utils.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/skill.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/skills/create-skill/SKILL.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/skills/execute-plan/SKILL.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/skills/github-pr-description/SKILL.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/snapshots/forge_repo__agent__tests__parse_agent_file_preserves_runtime_user_prompt_variables.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/snapshots/forge_repo__agent__tests__parse_agent_file_preserves_runtime_user_prompt_variables_tools.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/snapshots/forge_repo__agent__tests__parse_agent_file_subagents_disabled_prompt.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/snapshots/forge_repo__agent__tests__parse_agent_file_subagents_disabled_tools.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/snapshots/forge_repo__agent__tests__parse_agent_file_subagents_enabled_tools.snap +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/trajectory/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/trajectory/trajectory_record.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/trajectory/trajectory_repo.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/user_facts/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/user_facts/user_fact_record.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/user_facts/user_facts_repo.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_repo/src/validation.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_select/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_select/README.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_select/src/confirm.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_select/src/input.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_select/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_select/src/multi.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_select/src/select.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_select/src/widget.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/agent_registry.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/allowed_extensions.txt +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/app_config.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/attachment.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/auth.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/clipper.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/command.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/context_engine.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/conversation.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/discovery.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/error.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/fd.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/fd_git.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/fd_walker.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/fixtures/commands/basic.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/fixtures/commands/invalid.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/fixtures/commands/multiline.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/forge_services.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/instructions.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/mcp/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/mcp/service.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/mcp/tool.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/metadata.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/permissions.default.yaml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/policy.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/provider_auth.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/provider_service.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/range.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/sync.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/template.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/tool_services/fetch.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/tool_services/followup.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/tool_services/fs_patch.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/tool_services/fs_read.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/tool_services/fs_remove.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/tool_services/fs_search.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/tool_services/fs_undo.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/tool_services/fs_write.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/tool_services/image_read.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/tool_services/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/tool_services/plan_create.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/tool_services/shell.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/tool_services/skill.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/tool_services/syn/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/utils/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/utils/path.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_services/src/utils/temp_dir.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_snaps/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_snaps/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_snaps/src/service.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_stream/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_stream/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_stream/src/mpsc_stream.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_template/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_template/src/element.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_template/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_test_kit/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_test_kit/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_tool_macros/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_tool_macros/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_tracker/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_tracker/src/can_track.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_tracker/src/client_id/android.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_tracker/src/client_id/generic.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_tracker/src/client_id/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_tracker/src/collect/mod.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_tracker/src/collect/posthog.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_tracker/src/dispatch.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_tracker/src/error.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_tracker/src/event.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_tracker/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_tracker/src/log.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_tracker/src/otel.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_tracker/src/rate_limit.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_walker/Cargo.toml +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_walker/src/binary_extensions.txt +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_walker/src/lib.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_walker/src/walker.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/python/codegraff/_validation.py +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/python/codegraff/py.typed +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/sdk/python/.gitignore +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/sdk/python/README.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/sdk/python/example/.gitignore +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/sdk/python/example/README.md +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/sdk/python/example/app.py +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/sdk/python/example/requirements.txt +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/sdk/python/src/wire.rs +0 -0
- {codegraff-0.1.1 → codegraff-0.1.2}/sdk/python/tests/test_validation.py +0 -0
|
@@ -120,6 +120,18 @@ where
|
|
|
120
120
|
return Ok(McpConfig::default());
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
+
// Opt-in non-interactive trust for headless / SDK use: when
|
|
124
|
+
// FORGE_MCP_TRUST_ALL is set, accept (and persist) project-local
|
|
125
|
+
// configs without prompting.
|
|
126
|
+
if std::env::var("FORGE_MCP_TRUST_ALL")
|
|
127
|
+
.map(|v| !v.is_empty() && v != "0" && !v.eq_ignore_ascii_case("false"))
|
|
128
|
+
.unwrap_or(false)
|
|
129
|
+
{
|
|
130
|
+
store.remember(local_path.to_path_buf(), hash);
|
|
131
|
+
self.write_trust_store(&store).await?;
|
|
132
|
+
return Ok(local);
|
|
133
|
+
}
|
|
134
|
+
|
|
123
135
|
let prompt = format_trust_prompt(local_path);
|
|
124
136
|
match self
|
|
125
137
|
.infra
|
|
@@ -131,11 +143,16 @@ where
|
|
|
131
143
|
self.write_trust_store(&store).await?;
|
|
132
144
|
Ok(local)
|
|
133
145
|
}
|
|
134
|
-
|
|
146
|
+
// An explicit reject persists so we don't re-prompt next run.
|
|
147
|
+
Some(McpTrustResponse::Reject) => {
|
|
135
148
|
store.reject(local_path.to_path_buf(), hash);
|
|
136
149
|
self.write_trust_store(&store).await?;
|
|
137
150
|
Ok(McpConfig::default())
|
|
138
151
|
}
|
|
152
|
+
// No interactive answer (headless / no TTY): skip loading this
|
|
153
|
+
// run but do NOT persist a reject — a non-answer must not become a
|
|
154
|
+
// sticky rejection. A later interactive run can still prompt.
|
|
155
|
+
None => Ok(McpConfig::default()),
|
|
139
156
|
}
|
|
140
157
|
}
|
|
141
158
|
}
|
|
@@ -68,10 +68,20 @@ class Graff:
|
|
|
68
68
|
*,
|
|
69
69
|
conversation_id: Optional[str] = None,
|
|
70
70
|
model: Optional[str] = None,
|
|
71
|
+
agent: Optional[str] = None,
|
|
72
|
+
system_prompt: Optional[str] = None,
|
|
73
|
+
custom_rules: Optional[str] = None,
|
|
74
|
+
temperature: Optional[float] = None,
|
|
71
75
|
) -> Iterator[AgentEvent]:
|
|
72
|
-
"""Run a chat turn. Yields AgentEvent objects.
|
|
76
|
+
"""Run a chat turn. Yields AgentEvent objects.
|
|
77
|
+
|
|
78
|
+
agent: select a built-in or custom (tool-scoped) agent for this run.
|
|
79
|
+
system_prompt / custom_rules / temperature: per-call overrides.
|
|
80
|
+
"""
|
|
73
81
|
validate("chat", {"prompt": prompt, "conversation_id": conversation_id, "model": model})
|
|
74
|
-
handle = self._api.chat(
|
|
82
|
+
handle = self._api.chat(
|
|
83
|
+
prompt, conversation_id, model, agent, system_prompt, custom_rules, temperature
|
|
84
|
+
)
|
|
75
85
|
yield AgentEvent(type="ConversationStarted", data={"conversationId": handle.conversation_id})
|
|
76
86
|
while True:
|
|
77
87
|
raw = handle.next_event()
|
|
@@ -84,8 +94,20 @@ class Graff:
|
|
|
84
94
|
*,
|
|
85
95
|
conversation_id: Optional[str] = None,
|
|
86
96
|
model: Optional[str] = None,
|
|
97
|
+
agent: Optional[str] = None,
|
|
98
|
+
system_prompt: Optional[str] = None,
|
|
99
|
+
custom_rules: Optional[str] = None,
|
|
100
|
+
temperature: Optional[float] = None,
|
|
87
101
|
) -> "GraffSession":
|
|
88
|
-
return GraffSession(
|
|
102
|
+
return GraffSession(
|
|
103
|
+
self,
|
|
104
|
+
conversation_id=conversation_id,
|
|
105
|
+
model=model,
|
|
106
|
+
agent=agent,
|
|
107
|
+
system_prompt=system_prompt,
|
|
108
|
+
custom_rules=custom_rules,
|
|
109
|
+
temperature=temperature,
|
|
110
|
+
)
|
|
89
111
|
|
|
90
112
|
# -- Conversation management --
|
|
91
113
|
|
|
@@ -111,6 +133,15 @@ class Graff:
|
|
|
111
133
|
def get_agent_infos(self) -> list[dict]:
|
|
112
134
|
return json.loads(self._api.get_agent_infos())
|
|
113
135
|
|
|
136
|
+
def set_active_agent(self, agent_id: str) -> None:
|
|
137
|
+
"""Select the agent for subsequent chats — a built-in ('forge'/'muse'/
|
|
138
|
+
'sage') or a custom, tool-scoped agent defined in
|
|
139
|
+
`.forge/agents/<id>.md` (its `tools:` allowlist constrains the run)."""
|
|
140
|
+
self._api.set_active_agent(agent_id)
|
|
141
|
+
|
|
142
|
+
def get_active_agent(self) -> Optional[str]:
|
|
143
|
+
return self._api.get_active_agent()
|
|
144
|
+
|
|
114
145
|
# -- Auth --
|
|
115
146
|
|
|
116
147
|
def upsert_credential(
|
|
@@ -148,17 +179,33 @@ class GraffSession:
|
|
|
148
179
|
*,
|
|
149
180
|
conversation_id: Optional[str] = None,
|
|
150
181
|
model: Optional[str] = None,
|
|
182
|
+
agent: Optional[str] = None,
|
|
183
|
+
system_prompt: Optional[str] = None,
|
|
184
|
+
custom_rules: Optional[str] = None,
|
|
185
|
+
temperature: Optional[float] = None,
|
|
151
186
|
):
|
|
152
187
|
self._graff = graff
|
|
153
188
|
self._conversation_id = conversation_id
|
|
154
189
|
self._model = model
|
|
190
|
+
self._agent = agent
|
|
191
|
+
self._system_prompt = system_prompt
|
|
192
|
+
self._custom_rules = custom_rules
|
|
193
|
+
self._temperature = temperature
|
|
155
194
|
|
|
156
195
|
@property
|
|
157
196
|
def conversation_id(self) -> Optional[str]:
|
|
158
197
|
return self._conversation_id
|
|
159
198
|
|
|
160
199
|
def send(self, prompt: str) -> Iterator[AgentEvent]:
|
|
161
|
-
for event in self._graff.chat(
|
|
200
|
+
for event in self._graff.chat(
|
|
201
|
+
prompt,
|
|
202
|
+
conversation_id=self._conversation_id,
|
|
203
|
+
model=self._model,
|
|
204
|
+
agent=self._agent,
|
|
205
|
+
system_prompt=self._system_prompt,
|
|
206
|
+
custom_rules=self._custom_rules,
|
|
207
|
+
temperature=self._temperature,
|
|
208
|
+
):
|
|
162
209
|
if event.type == "ConversationStarted" and not self._conversation_id:
|
|
163
210
|
self._conversation_id = event.data.get("conversationId")
|
|
164
211
|
yield event
|
|
@@ -5,7 +5,7 @@ use std::sync::{Arc, OnceLock};
|
|
|
5
5
|
use forge_api::{API, ChatRequest, ForgeAPI};
|
|
6
6
|
use forge_config::ForgeConfig;
|
|
7
7
|
use forge_domain::{
|
|
8
|
-
ApiKey, ApiKeyResponse, AuthContext, AuthContextRequest, AuthContextResponse,
|
|
8
|
+
AgentId, ApiKey, ApiKeyResponse, AuthContext, AuthContextRequest, AuthContextResponse,
|
|
9
9
|
AuthMethod, ChatResponse, Conversation, ConversationId, Event, ModelId,
|
|
10
10
|
ProviderId, URLParam, URLParamValue,
|
|
11
11
|
};
|
|
@@ -119,10 +119,31 @@ impl GraffApi {
|
|
|
119
119
|
})
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
-
|
|
122
|
+
#[pyo3(signature = (prompt, conversation_id=None, model=None, agent=None, system_prompt=None, custom_rules=None, temperature=None))]
|
|
123
|
+
fn chat(
|
|
124
|
+
&self,
|
|
125
|
+
py: Python<'_>,
|
|
126
|
+
prompt: String,
|
|
127
|
+
conversation_id: Option<String>,
|
|
128
|
+
model: Option<String>,
|
|
129
|
+
agent: Option<String>,
|
|
130
|
+
system_prompt: Option<String>,
|
|
131
|
+
custom_rules: Option<String>,
|
|
132
|
+
temperature: Option<f64>,
|
|
133
|
+
) -> PyResult<ChatStreamHandle> {
|
|
123
134
|
let inner = self.inner.clone();
|
|
124
135
|
py.detach(|| {
|
|
125
136
|
runtime().block_on(async {
|
|
137
|
+
// Optional per-call agent selection — e.g. a tool-scoped custom
|
|
138
|
+
// agent from `.forge/agents/<id>.md`. Sets the active agent for
|
|
139
|
+
// this and subsequent chats (mirrors set_active_agent).
|
|
140
|
+
if let Some(agent_id) = agent {
|
|
141
|
+
inner
|
|
142
|
+
.set_active_agent(AgentId::new(agent_id))
|
|
143
|
+
.await
|
|
144
|
+
.map_err(map_err)?;
|
|
145
|
+
}
|
|
146
|
+
|
|
126
147
|
let conv_id = match conversation_id {
|
|
127
148
|
Some(s) => parse_conv_id(&s)?,
|
|
128
149
|
None => {
|
|
@@ -138,6 +159,15 @@ impl GraffApi {
|
|
|
138
159
|
if let Some(model_str) = model {
|
|
139
160
|
chat_req.model_override = Some(ModelId::new(model_str));
|
|
140
161
|
}
|
|
162
|
+
if let Some(sp) = system_prompt {
|
|
163
|
+
chat_req.system_prompt_override = Some(sp);
|
|
164
|
+
}
|
|
165
|
+
if let Some(rules) = custom_rules {
|
|
166
|
+
chat_req.custom_rules_override = Some(rules);
|
|
167
|
+
}
|
|
168
|
+
if let Some(temp) = temperature {
|
|
169
|
+
chat_req.temperature_override = Some(temp as f32);
|
|
170
|
+
}
|
|
141
171
|
|
|
142
172
|
let stream = inner.chat(chat_req).await.map_err(map_err)?;
|
|
143
173
|
Ok(ChatStreamHandle {
|
|
@@ -216,6 +246,27 @@ impl GraffApi {
|
|
|
216
246
|
})
|
|
217
247
|
}
|
|
218
248
|
|
|
249
|
+
fn set_active_agent(&self, py: Python<'_>, agent_id: String) -> PyResult<()> {
|
|
250
|
+
let inner = self.inner.clone();
|
|
251
|
+
py.detach(|| {
|
|
252
|
+
runtime().block_on(async {
|
|
253
|
+
inner
|
|
254
|
+
.set_active_agent(AgentId::new(agent_id))
|
|
255
|
+
.await
|
|
256
|
+
.map_err(map_err)
|
|
257
|
+
})
|
|
258
|
+
})
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
fn get_active_agent(&self, py: Python<'_>) -> PyResult<Option<String>> {
|
|
262
|
+
let inner = self.inner.clone();
|
|
263
|
+
py.detach(|| {
|
|
264
|
+
runtime().block_on(async {
|
|
265
|
+
Ok(inner.get_active_agent().await.map(|a| a.as_str().to_string()))
|
|
266
|
+
})
|
|
267
|
+
})
|
|
268
|
+
}
|
|
269
|
+
|
|
219
270
|
fn version(&self) -> String {
|
|
220
271
|
env!("CARGO_PKG_VERSION").to_string()
|
|
221
272
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/transforms/claude_code.md
RENAMED
|
File without changes
|
|
File without changes
|
{codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/transforms/enforce_schema.rs
RENAMED
|
File without changes
|
{codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/transforms/mcp_tool_names.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/anthropic/transforms/set_cache.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/fixtures/model_no_pricing.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/fixtures/zai_api_response.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/drop_tool_call.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/make_xai_compat.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/pipeline.rs
RENAMED
|
File without changes
|
|
File without changes
|
{codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/set_cache.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/tool_choice.rs
RENAMED
|
File without changes
|
|
File without changes
|
{codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/when_model.rs
RENAMED
|
File without changes
|
{codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/dto/openai/transformers/zai_reasoning.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codegraff-0.1.1 → codegraff-0.1.2}/crates/forge_app/src/fixtures/git_ls_files_many_extensions.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|