Skip to content
This repository was archived by the owner on Feb 20, 2025. It is now read-only.

Commit 9ced997

Browse files
committed
fix: remove a few more Any types
1 parent 0973017 commit 9ced997

File tree

2 files changed

+19
-16
lines changed

2 files changed

+19
-16
lines changed

hatchet_sdk/clients/dispatcher/action_listener.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,9 @@ class Action:
7070
step_id: str
7171
step_run_id: str
7272
action_id: str
73-
action_payload: str
7473
action_type: ActionType
7574
retry_count: int
75+
action_payload: JSONSerializableDict = field(default_factory=dict)
7676
additional_metadata: JSONSerializableDict = field(default_factory=dict)
7777

7878
child_workflow_index: int | None = None
@@ -268,15 +268,19 @@ async def _generator(self) -> AsyncGenerator[Action | None, None]:
268268
# Process the received action
269269
action_type = assigned_action.actionType
270270

271-
if (
272-
assigned_action.actionPayload is None
273-
or assigned_action.actionPayload == ""
274-
):
275-
action_payload = None
276-
else:
277-
action_payload = self.parse_action_payload(
278-
assigned_action.actionPayload
271+
action_payload = (
272+
{}
273+
if not assigned_action.actionPayload
274+
else self.parse_action_payload(assigned_action.actionPayload)
275+
)
276+
277+
try:
278+
additional_metadata = cast(
279+
dict[str, Any],
280+
json.loads(assigned_action.additional_metadata),
279281
)
282+
except json.JSONDecodeError:
283+
additional_metadata = {}
280284

281285
action = Action(
282286
tenant_id=assigned_action.tenantId,
@@ -289,11 +293,10 @@ async def _generator(self) -> AsyncGenerator[Action | None, None]:
289293
step_id=assigned_action.stepId,
290294
step_run_id=assigned_action.stepRunId,
291295
action_id=assigned_action.actionId,
292-
## TODO: Figure out this type - maybe needs to be dumped to JSON?
293-
action_payload=action_payload, # type: ignore[arg-type]
296+
action_payload=action_payload,
294297
action_type=action_type,
295298
retry_count=assigned_action.retryCount,
296-
additional_metadata=assigned_action.additional_metadata,
299+
additional_metadata=additional_metadata,
297300
child_workflow_index=assigned_action.child_workflow_index,
298301
child_workflow_key=assigned_action.child_workflow_key,
299302
parent_workflow_run_id=assigned_action.parent_workflow_run_id,

hatchet_sdk/context/context.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,8 @@ def __init__(
170170
namespace,
171171
)
172172

173+
self.data: dict[str, Any]
174+
173175
# Check the type of action.action_payload before attempting to load it as JSON
174176
if isinstance(action.action_payload, (str, bytes, bytearray)):
175177
try:
@@ -180,16 +182,14 @@ def __init__(
180182
self.data: dict[str, Any] = {} # type: ignore[no-redef]
181183
else:
182184
# Directly assign the payload to self.data if it's already a dict
183-
self.data = (
184-
action.action_payload if isinstance(action.action_payload, dict) else {}
185-
)
185+
self.data = action.action_payload
186186

187187
self.action = action
188188

189189
# FIXME: stepRunId is a legacy field, we should remove it
190190
self.stepRunId = action.step_run_id
191191

192-
self.step_run_id = action.step_run_id
192+
self.step_run_id: str = action.step_run_id
193193
self.exit_flag = False
194194
self.dispatcher_client = dispatcher_client
195195
self.admin_client = admin_client

0 commit comments

Comments
 (0)