Private
Public Access
feat(type_aliases): add 10 TypeAliases + FileItemsDiff NamedTuple
This commit is contained in:
@@ -0,0 +1,24 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
from typing import Any, Callable, NamedTuple, TypeAlias
|
||||||
|
|
||||||
|
|
||||||
|
Metadata: TypeAlias = dict[str, Any]
|
||||||
|
|
||||||
|
CommsLogEntry: TypeAlias = Metadata
|
||||||
|
CommsLog: TypeAlias = list[CommsLogEntry]
|
||||||
|
|
||||||
|
HistoryMessage: TypeAlias = Metadata
|
||||||
|
History: TypeAlias = list[HistoryMessage]
|
||||||
|
|
||||||
|
FileItem: TypeAlias = Metadata
|
||||||
|
FileItems: TypeAlias = list[FileItem]
|
||||||
|
|
||||||
|
ToolDefinition: TypeAlias = Metadata
|
||||||
|
ToolCall: TypeAlias = Metadata
|
||||||
|
|
||||||
|
CommsLogCallback: TypeAlias = Callable[[CommsLogEntry], None]
|
||||||
|
|
||||||
|
|
||||||
|
class FileItemsDiff(NamedTuple):
|
||||||
|
refreshed: FileItems
|
||||||
|
changed: FileItems
|
||||||
+16
-13
@@ -1,38 +1,41 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
from typing import Any, Callable, get_type_hints
|
from typing import Any, Callable, NamedTuple, TypeAlias, get_type_hints
|
||||||
import pytest
|
import pytest
|
||||||
from src import type_aliases
|
from src import type_aliases
|
||||||
from src import result_types
|
from src import result_types
|
||||||
|
|
||||||
|
|
||||||
def test_metadata_alias_resolves_to_dict() -> None:
|
def test_metadata_alias_resolves_to_dict() -> None:
|
||||||
hints = get_type_hints(type_aliases)
|
assert type_aliases.Metadata == dict[str, Any]
|
||||||
assert hints["Metadata"] == dict[str, Any]
|
|
||||||
|
|
||||||
|
|
||||||
def test_comms_log_entry_alias_resolves_to_metadata() -> None:
|
def test_comms_log_entry_alias_resolves_to_metadata() -> None:
|
||||||
hints = get_type_hints(type_aliases)
|
assert type_aliases.CommsLogEntry is type_aliases.Metadata
|
||||||
assert hints["CommsLogEntry"] == dict[str, Any]
|
assert type_aliases.CommsLogEntry == dict[str, Any]
|
||||||
|
|
||||||
|
|
||||||
def test_comms_log_alias_resolves_to_list_of_comms_log_entry() -> None:
|
def test_comms_log_alias_resolves_to_list_of_comms_log_entry() -> None:
|
||||||
hints = get_type_hints(type_aliases)
|
assert type_aliases.CommsLog == list[dict[str, Any]]
|
||||||
assert hints["CommsLog"] == list[dict[str, Any]]
|
|
||||||
|
|
||||||
|
|
||||||
def test_history_alias_resolves_to_list_of_history_message() -> None:
|
def test_history_alias_resolves_to_list_of_history_message() -> None:
|
||||||
hints = get_type_hints(type_aliases)
|
assert type_aliases.History == list[dict[str, Any]]
|
||||||
assert hints["History"] == list[dict[str, Any]]
|
|
||||||
|
|
||||||
|
|
||||||
def test_file_items_alias_resolves_to_list_of_file_item() -> None:
|
def test_file_items_alias_resolves_to_list_of_file_item() -> None:
|
||||||
hints = get_type_hints(type_aliases)
|
assert type_aliases.FileItems == list[dict[str, Any]]
|
||||||
assert hints["FileItems"] == list[dict[str, Any]]
|
|
||||||
|
|
||||||
|
def test_tool_definition_alias_resolves_to_metadata() -> None:
|
||||||
|
assert type_aliases.ToolDefinition == dict[str, Any]
|
||||||
|
|
||||||
|
|
||||||
|
def test_tool_call_alias_resolves_to_metadata() -> None:
|
||||||
|
assert type_aliases.ToolCall == dict[str, Any]
|
||||||
|
|
||||||
|
|
||||||
def test_comms_log_callback_alias_resolves_to_callable() -> None:
|
def test_comms_log_callback_alias_resolves_to_callable() -> None:
|
||||||
hints = get_type_hints(type_aliases)
|
assert type_aliases.CommsLogCallback == Callable[[dict[str, Any]], None]
|
||||||
assert hints["CommsLogCallback"] == Callable[[dict[str, Any]], None]
|
|
||||||
|
|
||||||
|
|
||||||
def test_file_items_diff_named_tuple_has_two_fields() -> None:
|
def test_file_items_diff_named_tuple_has_two_fields() -> None:
|
||||||
|
|||||||
Reference in New Issue
Block a user