- Update typing in error handling and validation nodes to improve type safety. - Refactor cache decorators for async compatibility and cleanup functionality. - Enhance URL processing and validation logic with improved type checks. - Centralize error handling and recovery mechanisms in nodes. - Simplify and standardize function signatures across multiple modules for consistency. - Resolve linting issues and ensure compliance with type safety standards.
58 KiB
Typing Backlog (updated 2025-09-28)
Recently Resolved
- ✅ src/biz_bud/core/caching/decorators.py: cache wrappers now cast async/sync callables and their args/kwargs before awaiting or unpacking, clearing Pyrefly diagnostics about non-awaitable object | None results.
- ✅ src/biz_bud/core/errors/base.py: error-handling and retry decorators normalise ParamSpec usage by casting to concrete tuple[Any, ...] / dict[str, object] payloads, eliminating ParamSpec unpack errors and iterable complaints.
- ✅ src/biz_bud/core/langgraph/state_immutability.py: pandas sentinels retyped with type[object] guards and ImmutableDict.popitem now raises an explicit unreachable assertion, satisfying Pyrefly.
- ✅ src/biz_bud/core/validation/merge.py: cache merge helpers now cast the working JSONObject before using .get, keeping Pyrefly happy with numeric min/max and additive merges.
- ✅ src/biz_bud/graphs/node_registry.py: registry builder casts incoming callables to the NodeCallableT TypeVar before storing, resolving OrderedDict variance complaints.
- ✅ src/biz_bud/tools/capabilities/url_processing/init.py: enum status values funnel through literal helpers so TypedDict expectations match ProcessingStatus/ValidationStatus enums.
Next Checks
- ☐ Run PYTHONPATH=src pyrefly check across the full repo to refresh the broader backlog (the raw log below predates the latest module fixes).
- ☐ Triage the remaining RAG analyzer and unified state suite errors listed in the legacy log; many stem from untyped fixtures returning bool | dict.
Legacy Pyrefly Output
The following raw diagnostics (captured before the targeted fixes above) are retained for historical context and require re-validation after the next full type-check run.
292 | assert result["processed_content"]["pages"][0]["title"] == "Empty Document"
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
ERROR Cannot index into bool [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:307:20
|
307 | assert len(result["processed_content"]["pages"]) == 12
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class bool has no attribute __getitem__
ERROR Cannot index into float [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:307:20
|
307 | assert len(result["processed_content"]["pages"]) == 12
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class float has no attribute __getitem__
ERROR Cannot index into int [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:307:20
|
307 | assert len(result["processed_content"]["pages"]) == 12
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class int has no attribute __getitem__
ERROR Cannot index into list[Unknown] [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:307:20
|
307 | assert len(result["processed_content"]["pages"]) == 12
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
No matching overload found for function list.__getitem__
Possible overloads:
(i: SupportsIndex, /) -> Unknown [closest match]
(s: slice[Any, Any, Any], /) -> list[Unknown]
ERROR Cannot index into str [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:307:20
|
307 | assert len(result["processed_content"]["pages"]) == 12
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
No matching overload found for function str.__getitem__
Possible overloads:
(key: SupportsIndex | slice[Any, Any, Any], /) -> LiteralString
(key: SupportsIndex | slice[Any, Any, Any], /) -> str [closest match]
ERROR None is not subscriptable [unsupported-operation]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:307:20
|
307 | assert len(result["processed_content"]["pages"]) == 12
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
ERROR Cannot index into bool [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:310:21
|
310 | for page in result["processed_content"]["pages"]:
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class bool has no attribute __getitem__
ERROR Cannot index into float [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:310:21
|
310 | for page in result["processed_content"]["pages"]:
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class float has no attribute __getitem__
ERROR Cannot index into int [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:310:21
|
310 | for page in result["processed_content"]["pages"]:
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class int has no attribute __getitem__
ERROR Cannot index into list[Unknown] [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:310:21
|
310 | for page in result["processed_content"]["pages"]:
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
No matching overload found for function list.__getitem__
Possible overloads:
(i: SupportsIndex, /) -> Unknown [closest match]
(s: slice[Any, Any, Any], /) -> list[Unknown]
ERROR Cannot index into str [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:310:21
|
310 | for page in result["processed_content"]["pages"]:
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
No matching overload found for function str.__getitem__
Possible overloads:
(key: SupportsIndex | slice[Any, Any, Any], /) -> LiteralString
(key: SupportsIndex | slice[Any, Any, Any], /) -> str [closest match]
ERROR None is not subscriptable [unsupported-operation]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:310:21
|
310 | for page in result["processed_content"]["pages"]:
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
ERROR Cannot index into bool [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:329:20
|
329 | assert len(result["processed_content"]["pages"]) == 3
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class bool has no attribute __getitem__
ERROR Cannot index into float [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:329:20
|
329 | assert len(result["processed_content"]["pages"]) == 3
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class float has no attribute __getitem__
ERROR Cannot index into int [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:329:20
|
329 | assert len(result["processed_content"]["pages"]) == 3
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class int has no attribute __getitem__
ERROR Cannot index into list[Unknown] [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:329:20
|
329 | assert len(result["processed_content"]["pages"]) == 3
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
No matching overload found for function list.__getitem__
Possible overloads:
(i: SupportsIndex, /) -> Unknown [closest match]
(s: slice[Any, Any, Any], /) -> list[Unknown]
ERROR Cannot index into str [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:329:20
|
329 | assert len(result["processed_content"]["pages"]) == 3
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
No matching overload found for function str.__getitem__
Possible overloads:
(key: SupportsIndex | slice[Any, Any, Any], /) -> LiteralString
(key: SupportsIndex | slice[Any, Any, Any], /) -> str [closest match]
ERROR None is not subscriptable [unsupported-operation]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:329:20
|
329 | assert len(result["processed_content"]["pages"]) == 3
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
ERROR Cannot index into bool [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:332:21
|
332 | for page in result["processed_content"]["pages"]:
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class bool has no attribute __getitem__
ERROR Cannot index into float [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:332:21
|
332 | for page in result["processed_content"]["pages"]:
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class float has no attribute __getitem__
ERROR Cannot index into int [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:332:21
|
332 | for page in result["processed_content"]["pages"]:
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class int has no attribute __getitem__
ERROR Cannot index into list[Unknown] [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:332:21
|
332 | for page in result["processed_content"]["pages"]:
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
No matching overload found for function list.__getitem__
Possible overloads:
(i: SupportsIndex, /) -> Unknown [closest match]
(s: slice[Any, Any, Any], /) -> list[Unknown]
ERROR Cannot index into str [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:332:21
|
332 | for page in result["processed_content"]["pages"]:
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
No matching overload found for function str.__getitem__
Possible overloads:
(key: SupportsIndex | slice[Any, Any, Any], /) -> LiteralString
(key: SupportsIndex | slice[Any, Any, Any], /) -> str [closest match]
ERROR None is not subscriptable [unsupported-operation]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:332:21
|
332 | for page in result["processed_content"]["pages"]:
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
ERROR Cannot index into bool [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:354:16
|
354 | assert result["r2r_info"]["chunk_size"] == 1000
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class bool has no attribute __getitem__
ERROR Cannot index into float [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:354:16
|
354 | assert result["r2r_info"]["chunk_size"] == 1000
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class float has no attribute __getitem__
ERROR Cannot index into int [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:354:16
|
354 | assert result["r2r_info"]["chunk_size"] == 1000
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class int has no attribute __getitem__
ERROR Cannot index into list[Unknown] [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:354:16
|
354 | assert result["r2r_info"]["chunk_size"] == 1000
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
No matching overload found for function list.__getitem__
Possible overloads:
(i: SupportsIndex, /) -> Unknown [closest match]
(s: slice[Any, Any, Any], /) -> list[Unknown]
ERROR Cannot index into str [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:354:16
|
354 | assert result["r2r_info"]["chunk_size"] == 1000
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
No matching overload found for function str.__getitem__
Possible overloads:
(key: SupportsIndex | slice[Any, Any, Any], /) -> LiteralString
(key: SupportsIndex | slice[Any, Any, Any], /) -> str [closest match]
ERROR None is not subscriptable [unsupported-operation]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:354:16
|
354 | assert result["r2r_info"]["chunk_size"] == 1000
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
ERROR Cannot index into bool [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:355:16
|
355 | assert result["r2r_info"]["extract_entities"] is False
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class bool has no attribute __getitem__
ERROR Cannot index into float [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:355:16
|
355 | assert result["r2r_info"]["extract_entities"] is False
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class float has no attribute __getitem__
ERROR Cannot index into int [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:355:16
|
355 | assert result["r2r_info"]["extract_entities"] is False
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class int has no attribute __getitem__
ERROR Cannot index into list[Unknown] [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:355:16
|
355 | assert result["r2r_info"]["extract_entities"] is False
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
No matching overload found for function list.__getitem__
Possible overloads:
(i: SupportsIndex, /) -> Unknown [closest match]
(s: slice[Any, Any, Any], /) -> list[Unknown]
ERROR Cannot index into str [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:355:16
|
355 | assert result["r2r_info"]["extract_entities"] is False
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
No matching overload found for function str.__getitem__
Possible overloads:
(key: SupportsIndex | slice[Any, Any, Any], /) -> LiteralString
(key: SupportsIndex | slice[Any, Any, Any], /) -> str [closest match]
ERROR None is not subscriptable [unsupported-operation]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:355:16
|
355 | assert result["r2r_info"]["extract_entities"] is False
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
ERROR Cannot index into bool [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:358:16
|
358 | in result["r2r_info"]["rationale"]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class bool has no attribute __getitem__
ERROR Cannot index into float [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:358:16
|
358 | in result["r2r_info"]["rationale"]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class float has no attribute __getitem__
ERROR Cannot index into int [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:358:16
|
358 | in result["r2r_info"]["rationale"]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class int has no attribute __getitem__
ERROR Cannot index into list[Unknown] [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:358:16
|
358 | in result["r2r_info"]["rationale"]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
No matching overload found for function list.__getitem__
Possible overloads:
(i: SupportsIndex, /) -> Unknown [closest match]
(s: slice[Any, Any, Any], /) -> list[Unknown]
ERROR Cannot index into str [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:358:16
|
358 | in result["r2r_info"]["rationale"]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
No matching overload found for function str.__getitem__
Possible overloads:
(key: SupportsIndex | slice[Any, Any, Any], /) -> LiteralString
(key: SupportsIndex | slice[Any, Any, Any], /) -> str [closest match]
ERROR None is not subscriptable [unsupported-operation]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:358:16
|
358 | in result["r2r_info"]["rationale"]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
ERROR Cannot index into bool [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:360:20
|
360 | assert len(result["processed_content"]["pages"]) == 4
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class bool has no attribute __getitem__
ERROR Cannot index into float [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:360:20
|
360 | assert len(result["processed_content"]["pages"]) == 4
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class float has no attribute __getitem__
ERROR Cannot index into int [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:360:20
|
360 | assert len(result["processed_content"]["pages"]) == 4
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class int has no attribute __getitem__
ERROR Cannot index into list[Unknown] [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:360:20
|
360 | assert len(result["processed_content"]["pages"]) == 4
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
No matching overload found for function list.__getitem__
Possible overloads:
(i: SupportsIndex, /) -> Unknown [closest match]
(s: slice[Any, Any, Any], /) -> list[Unknown]
ERROR Cannot index into str [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:360:20
|
360 | assert len(result["processed_content"]["pages"]) == 4
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
No matching overload found for function str.__getitem__
Possible overloads:
(key: SupportsIndex | slice[Any, Any, Any], /) -> LiteralString
(key: SupportsIndex | slice[Any, Any, Any], /) -> str [closest match]
ERROR None is not subscriptable [unsupported-operation]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_analyzer.py:360:20
|
360 | assert len(result["processed_content"]["pages"]) == 4
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
ERROR Could not find import of tests.helpers.factories.state_factories [import-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_check_duplicate.py:36:9
|
36 | / from tests.helpers.factories.state_factories import (
37 | | create_minimal_rag_agent_state,
38 | | )
| |^
|
Looked in these locations (from config in /home/vasceannie/repos/biz-budz/pyrefly.toml):
Search path (from config file): ["/home/vasceannie/repos/biz-budz/src", "/home/vasceannie/repos/biz-budz/tests"]
Import root (inferred from project layout): "/home/vasceannie/repos/biz-budz/src"
Site package path queried from interpreter: ["/usr/lib/python3.12", "/usr/lib/python3.12/lib-dynload", "/home/vasceannie/repos/biz-budz/.venv/lib/python3.12/site-packages", "/home/vasceannie/repos/biz-budz/src"]
ERROR Could not find import of tests.helpers.factories.state_factories [import-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_check_duplicate.py:171:13
|
171 | / from tests.helpers.factories.state_factories import (
172 | | create_minimal_rag_agent_state,
173 | | )
| |^
|
Looked in these locations (from config in /home/vasceannie/repos/biz-budz/pyrefly.toml):
Search path (from config file): ["/home/vasceannie/repos/biz-budz/src", "/home/vasceannie/repos/biz-budz/tests"]
Import root (inferred from project layout): "/home/vasceannie/repos/biz-budz/src"
Site package path queried from interpreter: ["/usr/lib/python3.12", "/usr/lib/python3.12/lib-dynload", "/home/vasceannie/repos/biz-budz/.venv/lib/python3.12/site-packages", "/home/vasceannie/repos/biz-budz/src"]
ERROR Could not find import of tests.helpers.factories.state_factories [import-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_check_duplicate.py:212:9
|
212 | / from tests.helpers.factories.state_factories import (
213 | | create_minimal_rag_agent_state,
214 | | )
| |_____^
|
Looked in these locations (from config in /home/vasceannie/repos/biz-budz/pyrefly.toml):
Search path (from config file): ["/home/vasceannie/repos/biz-budz/src", "/home/vasceannie/repos/biz-budz/tests"]
Import root (inferred from project layout): "/home/vasceannie/repos/biz-budz/src"
Site package path queried from interpreter: ["/usr/lib/python3.12", "/usr/lib/python3.12/lib-dynload", "/home/vasceannie/repos/biz-budz/.venv/lib/python3.12/site-packages", "/home/vasceannie/repos/biz-budz/src"]
ERROR Argument TypedDict[ResearchState] is not assignable to parameter state with type dict[str, Any] in function biz_bud.graphs.rag.nodes.rag_enhance.rag_enhance_node [bad-argument-type]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_enhance.py:161:37
|
161 | result = await rag_enhance_node(cast("ResearchState", state), config)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
ERROR Argument TypedDict[ResearchState] is not assignable to parameter state with type dict[str, Any] in function biz_bud.graphs.rag.nodes.rag_enhance.rag_enhance_node [bad-argument-type]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_enhance.py:192:37
|
192 | result = await rag_enhance_node(state, config)
| ^^^^^
|
ERROR Could not find import of tests.helpers.factories.state_factories [import-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_upload_r2r.py:106:9
|
106 | from tests.helpers.factories.state_factories import StateBuilder
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from config in /home/vasceannie/repos/biz-budz/pyrefly.toml):
Search path (from config file): ["/home/vasceannie/repos/biz-budz/src", "/home/vasceannie/repos/biz-budz/tests"]
Import root (inferred from project layout): "/home/vasceannie/repos/biz-budz/src"
Site package path queried from interpreter: ["/usr/lib/python3.12", "/usr/lib/python3.12/lib-dynload", "/home/vasceannie/repos/biz-budz/.venv/lib/python3.12/site-packages", "/home/vasceannie/repos/biz-budz/src"]
ERROR Could not find import of tests.helpers.factories.state_factories [import-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_upload_r2r.py:208:9
|
208 | from tests.helpers.factories.state_factories import StateBuilder
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from config in /home/vasceannie/repos/biz-budz/pyrefly.toml):
Search path (from config file): ["/home/vasceannie/repos/biz-budz/src", "/home/vasceannie/repos/biz-budz/tests"]
Import root (inferred from project layout): "/home/vasceannie/repos/biz-budz/src"
Site package path queried from interpreter: ["/usr/lib/python3.12", "/usr/lib/python3.12/lib-dynload", "/home/vasceannie/repos/biz-budz/.venv/lib/python3.12/site-packages", "/home/vasceannie/repos/biz-budz/src"]
ERROR Could not find import of tests.helpers.factories.state_factories [import-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_upload_r2r.py:307:9
|
307 | from tests.helpers.factories.state_factories import StateBuilder
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from config in /home/vasceannie/repos/biz-budz/pyrefly.toml):
Search path (from config file): ["/home/vasceannie/repos/biz-budz/src", "/home/vasceannie/repos/biz-budz/tests"]
Import root (inferred from project layout): "/home/vasceannie/repos/biz-budz/src"
Site package path queried from interpreter: ["/usr/lib/python3.12", "/usr/lib/python3.12/lib-dynload", "/home/vasceannie/repos/biz-budz/.venv/lib/python3.12/site-packages", "/home/vasceannie/repos/biz-budz/src"]
ERROR Could not find import of tests.helpers.factories.state_factories [import-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_upload_r2r.py:406:9
|
406 | from tests.helpers.factories.state_factories import StateBuilder
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from config in /home/vasceannie/repos/biz-budz/pyrefly.toml):
Search path (from config file): ["/home/vasceannie/repos/biz-budz/src", "/home/vasceannie/repos/biz-budz/tests"]
Import root (inferred from project layout): "/home/vasceannie/repos/biz-budz/src"
Site package path queried from interpreter: ["/usr/lib/python3.12", "/usr/lib/python3.12/lib-dynload", "/home/vasceannie/repos/biz-budz/.venv/lib/python3.12/site-packages", "/home/vasceannie/repos/biz-budz/src"]
ERROR Could not find import of tests.helpers.factories.state_factories [import-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_upload_r2r.py:498:9
|
498 | from tests.helpers.factories.state_factories import StateBuilder
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from config in /home/vasceannie/repos/biz-budz/pyrefly.toml):
Search path (from config file): ["/home/vasceannie/repos/biz-budz/src", "/home/vasceannie/repos/biz-budz/tests"]
Import root (inferred from project layout): "/home/vasceannie/repos/biz-budz/src"
Site package path queried from interpreter: ["/usr/lib/python3.12", "/usr/lib/python3.12/lib-dynload", "/home/vasceannie/repos/biz-budz/.venv/lib/python3.12/site-packages", "/home/vasceannie/repos/biz-budz/src"]
ERROR Could not find import of tests.helpers.factories.state_factories [import-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_upload_r2r.py:589:9
|
589 | from tests.helpers.factories.state_factories import StateBuilder
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from config in /home/vasceannie/repos/biz-budz/pyrefly.toml):
Search path (from config file): ["/home/vasceannie/repos/biz-budz/src", "/home/vasceannie/repos/biz-budz/tests"]
Import root (inferred from project layout): "/home/vasceannie/repos/biz-budz/src"
Site package path queried from interpreter: ["/usr/lib/python3.12", "/usr/lib/python3.12/lib-dynload", "/home/vasceannie/repos/biz-budz/.venv/lib/python3.12/site-packages", "/home/vasceannie/repos/biz-budz/src"]
ERROR Could not find import of tests.helpers.factories.state_factories [import-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_upload_r2r.py:631:9
|
631 | from tests.helpers.factories.state_factories import StateBuilder
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from config in /home/vasceannie/repos/biz-budz/pyrefly.toml):
Search path (from config file): ["/home/vasceannie/repos/biz-budz/src", "/home/vasceannie/repos/biz-budz/tests"]
Import root (inferred from project layout): "/home/vasceannie/repos/biz-budz/src"
Site package path queried from interpreter: ["/usr/lib/python3.12", "/usr/lib/python3.12/lib-dynload", "/home/vasceannie/repos/biz-budz/.venv/lib/python3.12/site-packages", "/home/vasceannie/repos/biz-budz/src"]
ERROR Could not find import of tests.helpers.factories.state_factories [import-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_upload_r2r.py:690:9
|
690 | from tests.helpers.factories.state_factories import StateBuilder
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from config in /home/vasceannie/repos/biz-budz/pyrefly.toml):
Search path (from config file): ["/home/vasceannie/repos/biz-budz/src", "/home/vasceannie/repos/biz-budz/tests"]
Import root (inferred from project layout): "/home/vasceannie/repos/biz-budz/src"
Site package path queried from interpreter: ["/usr/lib/python3.12", "/usr/lib/python3.12/lib-dynload", "/home/vasceannie/repos/biz-budz/.venv/lib/python3.12/site-packages", "/home/vasceannie/repos/biz-budz/src"]
ERROR Could not find import of tests.helpers.factories.state_factories [import-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_upload_r2r.py:743:9
|
743 | from tests.helpers.factories.state_factories import StateBuilder
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from config in /home/vasceannie/repos/biz-budz/pyrefly.toml):
Search path (from config file): ["/home/vasceannie/repos/biz-budz/src", "/home/vasceannie/repos/biz-budz/tests"]
Import root (inferred from project layout): "/home/vasceannie/repos/biz-budz/src"
Site package path queried from interpreter: ["/usr/lib/python3.12", "/usr/lib/python3.12/lib-dynload", "/home/vasceannie/repos/biz-budz/.venv/lib/python3.12/site-packages", "/home/vasceannie/repos/biz-budz/src"]
ERROR Could not find import of tests.helpers.factories.state_factories [import-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_upload_r2r.py:806:9
|
806 | from tests.helpers.factories.state_factories import StateBuilder
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from config in /home/vasceannie/repos/biz-budz/pyrefly.toml):
Search path (from config file): ["/home/vasceannie/repos/biz-budz/src", "/home/vasceannie/repos/biz-budz/tests"]
Import root (inferred from project layout): "/home/vasceannie/repos/biz-budz/src"
Site package path queried from interpreter: ["/usr/lib/python3.12", "/usr/lib/python3.12/lib-dynload", "/home/vasceannie/repos/biz-budz/.venv/lib/python3.12/site-packages", "/home/vasceannie/repos/biz-budz/src"]
ERROR Could not find import of tests.helpers.factories.state_factories [import-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_upload_r2r.py:884:9
|
884 | from tests.helpers.factories.state_factories import StateBuilder
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from config in /home/vasceannie/repos/biz-budz/pyrefly.toml):
Search path (from config file): ["/home/vasceannie/repos/biz-budz/src", "/home/vasceannie/repos/biz-budz/tests"]
Import root (inferred from project layout): "/home/vasceannie/repos/biz-budz/src"
Site package path queried from interpreter: ["/usr/lib/python3.12", "/usr/lib/python3.12/lib-dynload", "/home/vasceannie/repos/biz-budz/.venv/lib/python3.12/site-packages", "/home/vasceannie/repos/biz-budz/src"]
ERROR Could not find import of tests.helpers.factories.state_factories [import-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_upload_r2r.py:953:9
|
953 | from tests.helpers.factories.state_factories import StateBuilder
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from config in /home/vasceannie/repos/biz-budz/pyrefly.toml):
Search path (from config file): ["/home/vasceannie/repos/biz-budz/src", "/home/vasceannie/repos/biz-budz/tests"]
Import root (inferred from project layout): "/home/vasceannie/repos/biz-budz/src"
Site package path queried from interpreter: ["/usr/lib/python3.12", "/usr/lib/python3.12/lib-dynload", "/home/vasceannie/repos/biz-budz/.venv/lib/python3.12/site-packages", "/home/vasceannie/repos/biz-budz/src"]
ERROR Could not find import of tests.helpers.factories.state_factories [import-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/rag/test_upload_r2r.py:1014:9
|
1014 | from tests.helpers.factories.state_factories import StateBuilder
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from config in /home/vasceannie/repos/biz-budz/pyrefly.toml):
Search path (from config file): ["/home/vasceannie/repos/biz-budz/src", "/home/vasceannie/repos/biz-budz/tests"]
Import root (inferred from project layout): "/home/vasceannie/repos/biz-budz/src"
Site package path queried from interpreter: ["/usr/lib/python3.12", "/usr/lib/python3.12/lib-dynload", "/home/vasceannie/repos/biz-budz/.venv/lib/python3.12/site-packages", "/home/vasceannie/repos/biz-budz/src"]
ERROR Could not find import of tests.helpers.factories.state_factories [import-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/scraping/test_scrape_summary.py:11:1
|
11 | from tests.helpers.factories.state_factories import StateBuilder
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from config in /home/vasceannie/repos/biz-budz/pyrefly.toml):
Search path (from config file): ["/home/vasceannie/repos/biz-budz/src", "/home/vasceannie/repos/biz-budz/tests"]
Import root (inferred from project layout): "/home/vasceannie/repos/biz-budz/src"
Site package path queried from interpreter: ["/usr/lib/python3.12", "/usr/lib/python3.12/lib-dynload", "/home/vasceannie/repos/biz-budz/.venv/lib/python3.12/site-packages", "/home/vasceannie/repos/biz-budz/src"]
ERROR Missing argument config in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [missing-argument]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:37:46
|
37 | result = await prepare_search_results(state)
| ^^^^^^^
|
ERROR Argument dict[str, dict[str, list[dict[str, float | str]]]] is not assignable to parameter state with type TypedDict[ResearchState] in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [bad-argument-type]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:37:47
|
37 | result = await prepare_search_results(state)
| ^^^^^
|
ERROR TypedDict ExtractedInfoDict does not have key source_0 [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:46:45
|
46 | source_0 = result["extracted_info"]["source_0"]
| ^^^^^^^^^^
|
ERROR TypedDict SourceDict does not have key key [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:56:37
|
56 | assert result["sources"][0]["key"] == "source_0"
| ^^^^^
|
ERROR TypedDict SourceDict does not have key provider [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:57:37
|
57 | assert result["sources"][0]["provider"] == "google"
| ^^^^^^^^^^
|
ERROR TypedDict SourceDict does not have key provider [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:58:37
|
58 | assert result["sources"][1]["provider"] == "bing"
| ^^^^^^^^^^
|
ERROR Missing argument config in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [missing-argument]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:74:46
|
74 | result = await prepare_search_results(state)
| ^^^^^^^
|
ERROR Argument dict[str, list[dict[str, float | str]]] is not assignable to parameter state with type TypedDict[ResearchState] in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [bad-argument-type]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:74:47
|
74 | result = await prepare_search_results(state)
| ^^^^^
|
ERROR TypedDict ExtractedInfoDict does not have key source_0 [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:78:43
|
78 | source = result["extracted_info"]["source_0"]
| ^^^^^^^^^^
|
ERROR Missing argument config in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [missing-argument]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:97:46
|
97 | result = await prepare_search_results(state)
| ^^^^^^^
|
ERROR Argument dict[str, dict[str, list[dict[str, str]]]] is not assignable to parameter state with type TypedDict[ResearchState] in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [bad-argument-type]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:97:47
|
97 | result = await prepare_search_results(state)
| ^^^^^
|
ERROR TypedDict ExtractedInfoDict does not have key source_0 [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:100:43
|
100 | source = result["extracted_info"]["source_0"]
| ^^^^^^^^^^
|
ERROR Missing argument config in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [missing-argument]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:123:46
|
123 | result = await prepare_search_results(state)
| ^^^^^^^
|
ERROR Argument dict[str, dict[str, list[dict[str, dict[str, str] | str]]]] is not assignable to parameter state with type TypedDict[ResearchState] in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [bad-argument-type]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:123:47
|
123 | result = await prepare_search_results(state)
| ^^^^^
|
ERROR TypedDict ExtractedInfoDict does not have key source_0 [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:125:43
|
125 | source = result["extracted_info"]["source_0"]
| ^^^^^^^^^^
|
ERROR Missing argument config in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [missing-argument]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:147:46
|
147 | result = await prepare_search_results(state)
| ^^^^^^^
|
ERROR Argument dict[str, dict[str, list[dict[str, str]]]] is not assignable to parameter state with type TypedDict[ResearchState] in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [bad-argument-type]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:147:47
|
147 | result = await prepare_search_results(state)
| ^^^^^
|
ERROR TypedDict ExtractedInfoDict does not have key source_0 [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:152:45
|
152 | source_0 = result["extracted_info"]["source_0"]
| ^^^^^^^^^^
|
ERROR TypedDict ExtractedInfoDict does not have key source_1 [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:157:45
|
157 | source_1 = result["extracted_info"]["source_1"]
| ^^^^^^^^^^
|
ERROR Missing argument config in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [missing-argument]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:166:46
|
166 | result = await prepare_search_results(state)
| ^^^^^^^
|
ERROR Argument dict[str, dict[str, list[@_]]] is not assignable to parameter state with type TypedDict[ResearchState] in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [bad-argument-type]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:166:47
|
166 | result = await prepare_search_results(state)
| ^^^^^
|
ERROR Missing argument config in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [missing-argument]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:189:50
|
189 | result = await prepare_search_results(state)
| ^^^^^^^
|
ERROR Argument dict[str, dict[str, list[dict[str, str] | str | None]]] is not assignable to parameter state with type TypedDict[ResearchState] in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [bad-argument-type]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:189:51
|
189 | result = await prepare_search_results(state)
| ^^^^^
|
ERROR Missing argument config in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [missing-argument]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:209:46
|
209 | result = await prepare_search_results(state)
| ^^^^^^^
|
ERROR Argument dict[str, dict[str, list[dict[str, str]] | str]] is not assignable to parameter state with type TypedDict[ResearchState] in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [bad-argument-type]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:209:47
|
209 | result = await prepare_search_results(state)
| ^^^^^
|
ERROR Missing argument config in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [missing-argument]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:225:46
|
225 | result = await prepare_search_results(state)
| ^^^^^^^
|
ERROR Argument dict[str, dict[str, list[dict[str, str]]]] is not assignable to parameter state with type TypedDict[ResearchState] in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [bad-argument-type]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:225:47
|
225 | result = await prepare_search_results(state)
| ^^^^^
|
ERROR Missing argument config in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [missing-argument]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:235:46
|
235 | result = await prepare_search_results(state)
| ^^^^^^^
|
ERROR Argument dict[str, dict[str, list[dict[str, str]]]] is not assignable to parameter state with type TypedDict[ResearchState] in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [bad-argument-type]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:235:47
|
235 | result = await prepare_search_results(state)
| ^^^^^
|
ERROR Missing argument config in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [missing-argument]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:250:46
|
250 | result = await prepare_search_results(state)
| ^^^^^^^
|
ERROR Argument dict[str, dict[str, list[dict[str, str]] | str] | list[str] | str] is not assignable to parameter state with type TypedDict[ResearchState] in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [bad-argument-type]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:250:47
|
250 | result = await prepare_search_results(state)
| ^^^^^
|
ERROR TypedDict ResearchState does not have key existing_field [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:253:23
|
253 | assert result["existing_field"] == "preserved"
| ^^^^^^^^^^^^^^^^
|
ERROR TypedDict ContextTypedDict does not have key other_context [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:255:34
|
255 | assert result["context"]["other_context"] == "preserved"
| ^^^^^^^^^^^^^^^
|
ERROR TypedDict ResearchState does not have key _preparation_complete [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:260:23
|
260 | assert result["_preparation_complete"] is True
| ^^^^^^^^^^^^^^^^^^^^^^^
|
ERROR Missing argument config in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [missing-argument]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:280:46
|
280 | result = await prepare_search_results(state)
| ^^^^^^^
|
ERROR Argument dict[str, dict[str, list[dict[str, str]]]] is not assignable to parameter state with type TypedDict[ResearchState] in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [bad-argument-type]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:280:47
|
280 | result = await prepare_search_results(state)
| ^^^^^
|
ERROR TypedDict ExtractedInfoDict does not have key source_0 [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:282:45
|
282 | metadata = result["extracted_info"]["source_0"]["metadata"]
| ^^^^^^^^^^
|
ERROR Missing argument config in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [missing-argument]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:308:46
|
308 | result = await prepare_search_results(state)
| ^^^^^^^
|
ERROR Argument dict[str, dict[str, list[dict[str, str]]]] is not assignable to parameter state with type TypedDict[ResearchState] in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [bad-argument-type]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:308:47
|
308 | result = await prepare_search_results(state)
| ^^^^^
|
ERROR TypedDict ExtractedInfoDict does not have key source_0 [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:310:46
|
310 | extracted = result["extracted_info"]["source_0"]
| ^^^^^^^^^^
|
ERROR Missing argument config in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [missing-argument]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:351:46
|
351 | result = await prepare_search_results(state)
| ^^^^^^^
|
ERROR Argument dict[str, dict[str, list[dict[str, float | str] | dict[str, str | None] | dict[str, str]]]] is not assignable to parameter state with type TypedDict[ResearchState] in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [bad-argument-type]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:351:47
|
351 | result = await prepare_search_results(state)
| ^^^^^
|
ERROR TypedDict ExtractedInfoDict does not have key source_0 [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:353:41
|
353 | assert result["extracted_info"]["source_0"]["relevance"] == 0.95
| ^^^^^^^^^^
|
ERROR TypedDict ExtractedInfoDict does not have key source_1 [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:354:41
|
354 | assert result["extracted_info"]["source_1"]["relevance"] == 0.85
| ^^^^^^^^^^
|
ERROR TypedDict ExtractedInfoDict does not have key source_2 [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:355:41
|
355 | assert result["extracted_info"]["source_2"]["relevance"] == 1.0 # Default
| ^^^^^^^^^^
|
ERROR TypedDict ExtractedInfoDict does not have key source_3 [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:357:38
|
357 | result["extracted_info"]["source_3"]["relevance"] == 1.0
| ^^^^^^^^^^
|
ERROR Missing argument config in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [missing-argument]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:367:52
|
367 | result_state = await prepare_search_results(state_with_search_results)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
ERROR Missing argument config in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [missing-argument]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:385:52
|
385 | result_state = await prepare_search_results(state)
| ^^^^^^^
|
ERROR Missing argument config in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [missing-argument]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:417:52
|
417 | result_state = await prepare_search_results(state)
| ^^^^^^^
|
ERROR Missing argument config in function biz_bud.graphs.research.nodes.prepare.prepare_search_results [missing-argument]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:435:52
|
435 | result_state = await prepare_search_results(state_with_search_results)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
ERROR TypedDict ResearchState does not have key custom_field [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/nodes/synthesis/test_prepare.py:438:29
|
438 | assert result_state["custom_field"] == "should_be_preserved"
| ^^^^^^^^^^^^^^
|
ERROR Could not find import of tests.helpers.mock_helpers [import-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/services/test_redis_backend.py:17:1
|
17 | from tests.helpers.mock_helpers import create_mock_redis_client
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from config in /home/vasceannie/repos/biz-budz/pyrefly.toml):
Search path (from config file): ["/home/vasceannie/repos/biz-budz/src", "/home/vasceannie/repos/biz-budz/tests"]
Import root (inferred from project layout): "/home/vasceannie/repos/biz-budz/src"
Site package path queried from interpreter: ["/usr/lib/python3.12", "/usr/lib/python3.12/lib-dynload", "/home/vasceannie/repos/biz-budz/.venv/lib/python3.12/site-packages", "/home/vasceannie/repos/biz-budz/src"]
ERROR Cannot index into object [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/states/test_focused_states.py:381:16
|
381 | assert result[0]["title"] == "Result 1"
| ^^^^^^^^^^^^^^^^^^
|
Object of class object has no attribute __getitem__
ERROR Cannot index into object [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/states/test_focused_states.py:382:16
|
382 | assert result[1]["title"] == "Result 2"
| ^^^^^^^^^^^^^^^^^^
|
Object of class object has no attribute __getitem__
ERROR list[object] is not assignable to TypedDict key search_results with type list[TypedDict[SearchResultTypedDict]] [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/states/test_focused_states.py:454:35
|
454 | state["search_results"] = safe_list_add(state.get("search_results", []), [result1])
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
ERROR list[object] is not assignable to TypedDict key visited_urls with type list[str] [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/states/test_focused_states.py:457:33
|
457 | state["visited_urls"] = unique_add(state.get("visited_urls", []), [result1["url"]])
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
ERROR list[object] is not assignable to TypedDict key validation_issues with type list[str] [typed-dict-key-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/states/test_focused_states.py:477:38
|
477 | state["validation_issues"] = safe_list_add(
| _____________________________^
478 | | state.get("validation_issues", []),
479 | | ["Content unclear", "Missing references"]
480 | | )
| |^
|
ERROR < is not supported between Literal[25] and object [unsupported-operation]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/states/test_tools.py:331:16
|
331 | assert state["tool_invocation_count"] < state["config"]["max_tool_calls"]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Argument object is not assignable to parameter value with type int in function int.__lt__
ERROR Cannot index into object [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/states/test_unified_state.py:369:16
|
369 | assert state["config"]["test_key"] == "test_value"
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class object has no attribute __getitem__
ERROR Argument object is not assignable to parameter obj with type Sized in function len [bad-argument-type]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/states/test_unified_state.py:406:20
|
406 | assert len(state["messages"]) == 2
| ^^^^^^^^^^^^^^^^^
|
ERROR Cannot index into object [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/states/test_unified_state.py:408:16
|
408 | assert state["messages"][0].content == "Hello"
| ^^^^^^^^^^^^^^^^^^^^
|
Object of class object has no attribute __getitem__
ERROR Cannot index into object [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/states/test_unified_state.py:409:16
|
409 | assert state["messages"][1].content == "Hi there!"
| ^^^^^^^^^^^^^^^^^^^^
|
Object of class object has no attribute __getitem__
ERROR Cannot index into object [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/states/test_unified_state.py:605:16
|
605 | assert state["errors"][0]["message"] == "Field validation failed"
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class object has no attribute __getitem__
ERROR Cannot index into object [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/states/test_unified_state.py:606:16
|
606 | assert state["errors"][1]["message"] == "API call failed"
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Object of class object has no attribute __getitem__
ERROR Cannot index into object [index-error]
--> /home/vasceannie/repos/biz-budz/tests/unit_tests/states/test_unified_state.py:641:16
|
641 | assert result[0]["message"] == "This is a duplicate error"
| ^^^^^^^^^^^^^^^^^^^^
|
Object of class object has no attribute __getitem__
INFO 1,204 errors (38 ignored)
make: *** [Makefile:130: pyrefly] Error 1