Skip to content

Commit 95b721d

Browse files
committed
fix: ignore generated proto types and resolve pyright issues
Signed-off-by: Luca Muscariello <muscariello@ieee.org>
1 parent 1d6dd63 commit 95b721d

4 files changed

Lines changed: 18 additions & 9 deletions

File tree

pyrightconfig.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"ignore": [
3+
"src/a2a/types"
4+
]
5+
}

src/a2a/server/jsonrpc_models.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,33 +24,33 @@ class JSONRPCError(JSONRPCBaseModel):
2424
class JSONParseError(JSONRPCError):
2525
"""Error raised when invalid JSON was received by the server."""
2626

27-
code: Literal[-32700] = -32700
27+
code: Literal[-32700] = -32700 # pyright: ignore [reportIncompatibleVariableOverride]
2828
message: str = 'Parse error'
2929

3030

3131
class InvalidRequestError(JSONRPCError):
3232
"""Error raised when the JSON sent is not a valid Request object."""
3333

34-
code: Literal[-32600] = -32600
34+
code: Literal[-32600] = -32600 # pyright: ignore [reportIncompatibleVariableOverride]
3535
message: str = 'Invalid Request'
3636

3737

3838
class MethodNotFoundError(JSONRPCError):
3939
"""Error raised when the method does not exist / is not available."""
4040

41-
code: Literal[-32601] = -32601
41+
code: Literal[-32601] = -32601 # pyright: ignore [reportIncompatibleVariableOverride]
4242
message: str = 'Method not found'
4343

4444

4545
class InvalidParamsError(JSONRPCError):
4646
"""Error raised when invalid method parameter(s)."""
4747

48-
code: Literal[-32602] = -32602
48+
code: Literal[-32602] = -32602 # pyright: ignore [reportIncompatibleVariableOverride]
4949
message: str = 'Invalid params'
5050

5151

5252
class InternalError(JSONRPCError):
5353
"""Error raised when internal JSON-RPC error."""
5454

55-
code: Literal[-32603] = -32603
55+
code: Literal[-32603] = -32603 # pyright: ignore [reportIncompatibleVariableOverride]
5656
message: str = 'Internal error'

src/a2a/server/models.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import TYPE_CHECKING, Any, Generic, TypeVar
1+
from typing import TYPE_CHECKING, Any, Generic, TypeVar, cast
22

33

44
if TYPE_CHECKING:
@@ -65,7 +65,7 @@ def process_bind_param(
6565
if isinstance(value, ProtoMessage):
6666
return MessageToDict(value, preserving_proto_field_name=False)
6767
if isinstance(value, BaseModel):
68-
return value.model_dump(mode='json')
68+
return cast('BaseModel', value).model_dump(mode='json')
6969
return value # type: ignore[return-value]
7070

7171
def process_result_value(
@@ -112,7 +112,7 @@ def process_bind_param(
112112
MessageToDict(item, preserving_proto_field_name=False)
113113
)
114114
elif isinstance(item, BaseModel):
115-
result.append(item.model_dump(mode='json'))
115+
result.append(cast('BaseModel', item).model_dump(mode='json'))
116116
else:
117117
result.append(item) # type: ignore[arg-type]
118118
return result

src/a2a/server/tasks/database_task_store.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import logging
22

3+
from typing import Any, cast
4+
35

46
try:
57
from sqlalchemy import Table, delete, select
@@ -126,7 +128,9 @@ def _from_orm(self, task_model: TaskModel) -> Task:
126128
if task_model.history:
127129
task.history.extend(task_model.history)
128130
if task_model.task_metadata:
129-
task.metadata.update(task_model.task_metadata)
131+
task.metadata.update(
132+
cast('dict[str, Any]', task_model.task_metadata)
133+
)
130134
return task
131135

132136
async def save(

0 commit comments

Comments
 (0)