13 Commits

Author SHA1 Message Date
HAL9000 175692591b fix(cli,memory): catch typer.Exit in actor CLIs and align SQLChatMessageHistory kwarg
CI / lint (pull_request) Successful in 47s
CI / quality (pull_request) Successful in 56s
CI / typecheck (pull_request) Successful in 1m10s
CI / security (pull_request) Successful in 1m18s
CI / push-validation (pull_request) Successful in 27s
CI / helm (pull_request) Successful in 43s
CI / build (pull_request) Successful in 1m8s
CI / unit_tests (pull_request) Successful in 5m1s
CI / docker (pull_request) Successful in 1m52s
CI / integration_tests (pull_request) Successful in 10m27s
CI / coverage (pull_request) Successful in 12m6s
CI / status-check (pull_request) Successful in 3s
The `agents actor run` and `actor_run` Typer commands wrapped their main
try/except around `_resolve_config_files` with a bare `except
click.exceptions.Exit: raise` clause to let resolver-raised exits
propagate cleanly. Modern Typer re-exports `typer.Exit` from its vendored
click (`typer._click.exceptions.Exit`), which is NOT a subclass of
`click.exceptions.Exit`. So `_resolve_config_files`'s
`raise typer.Exit(code=2)` for unknown-actor / no-config-data / bad-blob
cases fell through to the generic `except Exception` clause, which
re-raised as `typer.Exit(code=3)` and replaced the targeted stderr
("not found in registry") with a generic "Unexpected error" message.
Behave scenarios at `actor_run_signature.feature:38` and `:56` and three
Robot integration scenarios verified the original exit-code/message
contract and failed. Catch `(typer.Exit, click.exceptions.Exit)` instead.

The five errored scenarios in `actor_run_signature_resolve_steps.py` and
`actor_run_signature_security_steps.py` had the same root cause from the
test side: `except (SystemExit, click.exceptions.Exit)` could not catch
the raised `typer.Exit`. Widen the tuple to include `typer.Exit`.

memory_service.py's `SQLChatMessageHistory(connection_string=...)` call
broke against langchain-community 0.4.2: the keyword was renamed
`connection` (which now accepts a URL string OR an Engine). Update the
call site and refresh the local `typings/langchain_community/...`
pyright stub to match the upstream signature so typecheck stays clean.

ISSUES CLOSED: #10921
2026-06-14 16:11:26 -04:00
HAL9000 021d09991a fix(tests): resolve AmbiguousStep collisions in pyyaml_security tests
Three step patterns in pyyaml_security_steps.py clashed with existing
step files, causing all Behave features to error at load time:
- "I call load_yaml_text with YAML text" clashed with actor_config_coverage_boost_steps.py:103
- "the load_yaml_text result should have key" clashed with actor_config_coverage_boost_steps.py:90
- "a ValueError should be raised" clashed with lsp_registry_steps.py:475

Rename all three to unique patterns and update pyyaml_security.feature
to match. Also fix typings/behave/runner.pyi ruff format (.pyi convention:
single blank line before class, no blank lines between stub methods) and
add missing fastapi>=0.100.0 to pyproject.toml (asgi_app.py imports
fastapi but it was absent from declared dependencies, causing typecheck
and integration test failures).

Refs: #9055
2026-06-14 15:50:15 -04:00
HAL9000 c040037f2e fix(deps): remove prohibited type-ignore suppression from pyyaml security step definitions
Remove ``# type: ignore[import-untyped]`` comments from features/steps/pyyaml_security_steps.py, replacing them with proper .pyi stubs for behave.runner.Context in typings/behave/runner.pyi.

Refs: #9055
2026-06-14 15:50:15 -04:00
HAL9000 ff2c474c55 fix(lint): remove duplicate ImportError clauses and reformat files
Remove duplicate except ImportError blocks in cloud_resources_steps.py
(B025 violations in step_sandbox_create, step_sandbox_commit,
step_sandbox_rollback). Apply ruff format to 5 files flagged by the
format check.
2026-06-02 07:37:13 -04:00
HAL9000 b0ff11ccef fix(resource): address PR review findings for AWS SDK CloudResourceHandler
- Extract AWS-specific logic into cloud_aws.py and cloud_providers.py to keep all files under the 500-line limit (cloud.py: 490 lines, cloud_aws.py: 498 lines, cloud_providers.py: 181 lines)
- Fix sandbox test regression: change cloud_resources.feature sandbox create scenario from "aws" to "gcp" provider (AWS no longer raises NotImplementedError)
- Add ImportError handling to step_sandbox_create/commit/rollback in cloud_resources_steps.py
- Remove all 9 type: ignore comments from production code using proper type narrowing and boto3/botocore type stubs in typings/
- Move plan_id validation before logger.info() in all three sandbox methods (fail-fast principle)
- Fix exception suppression: discover_aws_resources() now propagates exceptions instead of catching bare Exception
- Move deferred imports (PhysVirt, ResourceCapabilities, _derive_child_id) to module level in cloud_aws.py
- Split cloud_aws_sdk_steps.py (755 lines) into focused modules: cloud_aws_helpers.py, cloud_aws_session_steps.py, cloud_aws_discover_steps.py, cloud_aws_sandbox_steps.py
- Add CHANGELOG.md entry for AWS SDK integration feature
- Update robot/helper_cloud_resources.py to handle ImportError/ NotImplementedError for AWS sandbox operations

ISSUES CLOSED: #1021
2026-06-02 07:37:13 -04:00
freemo 97eebeb62c fix(providers): remove type: ignore suppressions from registry.py and resolve underlying type errors (#3459)
CI / status-check (push) Blocked by required conditions
CI / lint (push) Waiting to run
CI / typecheck (push) Waiting to run
CI / security (push) Waiting to run
CI / quality (push) Waiting to run
CI / unit_tests (push) Waiting to run
CI / integration_tests (push) Waiting to run
CI / e2e_tests (push) Waiting to run
CI / helm (push) Waiting to run
CI / coverage (push) Blocked by required conditions
CI / benchmark-regression (push) Blocked by required conditions
CI / benchmark-publish (push) Waiting to run
CI / build (push) Waiting to run
CI / docker (push) Blocked by required conditions
Co-authored-by: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
Co-committed-by: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
2026-04-05 18:20:03 +00:00
brent.edwards 51bfee28a9 style(robot/-and-typings/numpy): fix style problems found by ruff check
CI / lint (pull_request) Successful in 15s
CI / typecheck (pull_request) Successful in 25s
CI / security (pull_request) Successful in 18s
CI / quality (pull_request) Failing after 15s
CI / behave (3.11) (pull_request) Failing after 11s
CI / behave (3.12) (pull_request) Failing after 11s
CI / behave (3.13) (pull_request) Failing after 13s
CI / docker (pull_request) Has been skipped
CI / helm (pull_request) Has been skipped
CI / build (pull_request) Failing after 14s
CI / coverage (pull_request) Failing after 15s
2026-02-12 02:47:08 +00:00
freemo d06051f821 Feat Added ability for PlanService to take per-request providers 2025-12-08 17:45:49 -05:00
freemo 4f4cefb369 Feat: implemented vector store service 2025-12-06 00:23:48 -05:00
freemo 407b7ec53e Feat: Created provider registry 2025-12-05 12:03:58 -05:00
freemo 4ee19b9977 Feat: Added in memory_service and plan_service features 2025-11-18 17:04:01 -05:00
freemo 958c29b18a Feat: Moved to langchain based providers 2025-11-18 00:10:29 -05:00
freemo b941ef9a1a Significantly revamped the base project to use more robust static checking including benchmarks and integration test support 2025-10-31 16:18:53 -04:00