patchpal 0.25.2__tar.gz → 0.25.3__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.
- {patchpal-0.25.2/patchpal.egg-info → patchpal-0.25.3}/PKG-INFO +1 -1
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/__init__.py +1 -1
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/cli/sandbox.py +21 -1
- {patchpal-0.25.2 → patchpal-0.25.3/patchpal.egg-info}/PKG-INFO +1 -1
- {patchpal-0.25.2 → patchpal-0.25.3}/LICENSE +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/MANIFEST.in +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/README.md +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/agent/__init__.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/agent/bedrock_profile_utils.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/agent/function_calling.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/agent/react.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/cli/__init__.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/cli/autopilot.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/cli/interactive.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/cli/mcp.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/cli/streaming.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/config.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/context.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/permissions.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/prompts/react_prompt.md +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/prompts/system_prompt.md +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/skills.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/tools/__init__.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/tools/audit.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/tools/browser_tools.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/tools/code_analysis.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/tools/common.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/tools/definitions.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/tools/file_reading.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/tools/file_writing.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/tools/find_tool.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/tools/grep_tool.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/tools/image_handler.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/tools/mcp.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/tools/repo_map.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/tools/shell_tools.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/tools/todo_tools.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/tools/tool_schema.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/tools/user_interaction.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal/tools/web_tools.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal.egg-info/SOURCES.txt +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal.egg-info/dependency_links.txt +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal.egg-info/entry_points.txt +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal.egg-info/requires.txt +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/patchpal.egg-info/top_level.txt +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/pyproject.toml +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/setup.cfg +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_agent.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_cli.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_config_dynamic.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_context.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_custom_tools.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_enabled_tools.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_find_tool.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_guardrails.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_image_blocking.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_maximum_security.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_mcp_config.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_memory.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_memory_locations.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_operational_safety.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_optional_tools.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_permissions.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_react.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_reasoning_content.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_repo_map.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_simplified_prompt.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_skills.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_streaming.py +0 -0
- {patchpal-0.25.2 → patchpal-0.25.3}/tests/test_tools.py +0 -0
|
@@ -198,7 +198,14 @@ def detect_llm_endpoints_from_env():
|
|
|
198
198
|
or os.environ.get("AWS_REGION_NAME") # LiteLLM-specific
|
|
199
199
|
)
|
|
200
200
|
if aws_region and (
|
|
201
|
-
os.environ.get("AWS_ACCESS_KEY_ID")
|
|
201
|
+
os.environ.get("AWS_ACCESS_KEY_ID")
|
|
202
|
+
or os.environ.get("AWS_SECRET_ACCESS_KEY")
|
|
203
|
+
# SSO/ADFS profiles (created via `aws configure sso`) authenticate via a
|
|
204
|
+
# named profile and a cached SSO token instead of static access keys.
|
|
205
|
+
# In that case AWS_PROFILE is set but AWS_ACCESS_KEY_ID is not, so detect
|
|
206
|
+
# it here too — otherwise Bedrock endpoints would be omitted from the
|
|
207
|
+
# firewall allowlist and traffic would be blocked.
|
|
208
|
+
or os.environ.get("AWS_PROFILE")
|
|
202
209
|
):
|
|
203
210
|
# Add Bedrock endpoints for the region
|
|
204
211
|
# Support both GovCloud and standard regions
|
|
@@ -659,6 +666,19 @@ def build_container_args(sandbox_args, patchpal_args, env_file_keys=None):
|
|
|
659
666
|
container_args.extend(["-v", f"{patchpal_dir}:/root/.patchpal"])
|
|
660
667
|
mounted_paths.add(patchpal_dir)
|
|
661
668
|
|
|
669
|
+
# Mount ~/.aws if it exists (read-only).
|
|
670
|
+
# Required for AWS SSO/ADFS authentication: credentials for a named profile
|
|
671
|
+
# (created via `aws configure sso`) are resolved from ~/.aws/config, and the
|
|
672
|
+
# short-lived SSO token is cached under ~/.aws/sso/cache/. Mounting this
|
|
673
|
+
# directory lets boto3/LiteLLM inside the container resolve AWS_PROFILE just
|
|
674
|
+
# as it would on the host. It also covers static shared-credential setups
|
|
675
|
+
# (~/.aws/credentials). Mounted read-only; refresh the token on the host with
|
|
676
|
+
# `aws sso login --profile <name>` when it expires.
|
|
677
|
+
aws_dir = os.path.expanduser("~/.aws")
|
|
678
|
+
if os.path.isdir(aws_dir) and aws_dir not in mounted_paths:
|
|
679
|
+
container_args.extend(["-v", f"{aws_dir}:/root/.aws:ro"])
|
|
680
|
+
mounted_paths.add(aws_dir)
|
|
681
|
+
|
|
662
682
|
# Development mode: mount local patchpal source code
|
|
663
683
|
dev_mode = False
|
|
664
684
|
if sandbox_args.dev:
|
|
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
|
|
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
|