agentex-sdk 0.4.12__py3-none-any.whl → 0.4.14__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,6 +26,7 @@ class TaskCreateParams(BaseModelWithTraceParams):
26
26
  agent_id: str | None = None
27
27
  agent_name: str | None = None
28
28
  params: dict[str, Any] | None = None
29
+ request: dict[str, Any] | None = None
29
30
 
30
31
 
31
32
  class MessageSendParams(BaseModelWithTraceParams):
@@ -33,6 +34,7 @@ class MessageSendParams(BaseModelWithTraceParams):
33
34
  agent_name: str | None = None
34
35
  task_id: str | None = None
35
36
  content: TaskMessageContent
37
+ request: dict[str, Any] | None = None
36
38
 
37
39
 
38
40
  class EventSendParams(BaseModelWithTraceParams):
@@ -40,6 +42,7 @@ class EventSendParams(BaseModelWithTraceParams):
40
42
  agent_name: str | None = None
41
43
  task_id: str | None = None
42
44
  content: TaskMessageContent
45
+ request: dict[str, Any] | None = None
43
46
 
44
47
 
45
48
  class TaskCancelParams(BaseModelWithTraceParams):
@@ -47,6 +50,7 @@ class TaskCancelParams(BaseModelWithTraceParams):
47
50
  task_name: str | None = None
48
51
  agent_id: str | None = None
49
52
  agent_name: str | None = None
53
+ request: dict[str, Any] | None = None
50
54
 
51
55
 
52
56
  class ACPActivities:
@@ -60,6 +64,9 @@ class ACPActivities:
60
64
  agent_id=params.agent_id,
61
65
  agent_name=params.agent_name,
62
66
  params=params.params,
67
+ trace_id=params.trace_id,
68
+ parent_span_id=params.parent_span_id,
69
+ request=params.request,
63
70
  )
64
71
 
65
72
  @activity.defn(name=ACPActivityName.MESSAGE_SEND)
@@ -69,6 +76,9 @@ class ACPActivities:
69
76
  agent_name=params.agent_name,
70
77
  task_id=params.task_id,
71
78
  content=params.content,
79
+ trace_id=params.trace_id,
80
+ parent_span_id=params.parent_span_id,
81
+ request=params.request,
72
82
  )
73
83
 
74
84
  @activity.defn(name=ACPActivityName.EVENT_SEND)
@@ -78,6 +88,9 @@ class ACPActivities:
78
88
  agent_name=params.agent_name,
79
89
  task_id=params.task_id,
80
90
  content=params.content,
91
+ trace_id=params.trace_id,
92
+ parent_span_id=params.parent_span_id,
93
+ request=params.request,
81
94
  )
82
95
 
83
96
  @activity.defn(name=ACPActivityName.TASK_CANCEL)
@@ -89,4 +102,5 @@ class ACPActivities:
89
102
  agent_name=params.agent_name,
90
103
  trace_id=params.trace_id,
91
104
  parent_span_id=params.parent_span_id,
105
+ request=params.request,
92
106
  )
@@ -446,6 +446,7 @@ class RunAgentParams(BaseModelWithTraceParams):
446
446
  input_guardrails: list[TemporalInputGuardrail] | None = None
447
447
  output_guardrails: list[TemporalOutputGuardrail] | None = None
448
448
  max_turns: int | None = None
449
+ previous_response_id: str | None = None
449
450
 
450
451
 
451
452
  class RunAgentAutoSendParams(RunAgentParams):
@@ -515,6 +516,7 @@ class OpenAIActivities:
515
516
  output_guardrails=output_guardrails,
516
517
  mcp_timeout_seconds=params.mcp_timeout_seconds,
517
518
  max_turns=params.max_turns,
519
+ previous_response_id=params.previous_response_id,
518
520
  )
519
521
  return self._to_serializable_run_result(result)
520
522
 
@@ -550,6 +552,7 @@ class OpenAIActivities:
550
552
  output_guardrails=output_guardrails,
551
553
  mcp_timeout_seconds=params.mcp_timeout_seconds,
552
554
  max_turns=params.max_turns,
555
+ previous_response_id=params.previous_response_id,
553
556
  )
554
557
  return self._to_serializable_run_result(result)
555
558
  except InputGuardrailTripwireTriggered as e:
@@ -622,6 +625,7 @@ class OpenAIActivities:
622
625
  output_guardrails=output_guardrails,
623
626
  mcp_timeout_seconds=params.mcp_timeout_seconds,
624
627
  max_turns=params.max_turns,
628
+ previous_response_id=params.previous_response_id,
625
629
  )
626
630
  return self._to_serializable_run_result_streaming(result)
627
631
  except InputGuardrailTripwireTriggered as e:
@@ -4,7 +4,7 @@ import os
4
4
  import uuid
5
5
  from collections.abc import Callable
6
6
  from concurrent.futures import ThreadPoolExecutor
7
- from typing import Any
7
+ from typing import Any, overload
8
8
 
9
9
  from aiohttp import web
10
10
  from temporalio.client import Client
@@ -99,10 +99,28 @@ class AgentexWorker:
99
99
  self.healthy = False
100
100
  self.health_check_port = health_check_port
101
101
 
102
+ @overload
102
103
  async def run(
103
104
  self,
104
105
  activities: list[Callable],
106
+ *,
105
107
  workflow: type,
108
+ ) -> None: ...
109
+
110
+ @overload
111
+ async def run(
112
+ self,
113
+ activities: list[Callable],
114
+ *,
115
+ workflows: list[type],
116
+ ) -> None: ...
117
+
118
+ async def run(
119
+ self,
120
+ activities: list[Callable],
121
+ *,
122
+ workflow: type | None = None,
123
+ workflows: list[type] | None = None,
106
124
  ):
107
125
  await self.start_health_check_server()
108
126
  await self._register_agent()
@@ -115,11 +133,14 @@ class AgentexWorker:
115
133
  if debug_enabled:
116
134
  logger.info("🐛 [WORKER] Temporal debug mode enabled - deadlock detection disabled")
117
135
 
136
+ if workflow is None and workflows is None:
137
+ raise ValueError("Either workflow or workflows must be provided")
138
+
118
139
  worker = Worker(
119
140
  client=temporal_client,
120
141
  task_queue=self.task_queue,
121
142
  activity_executor=ThreadPoolExecutor(max_workers=self.max_workers),
122
- workflows=[workflow],
143
+ workflows=[workflow] if workflows is None else workflows,
123
144
  activities=activities,
124
145
  workflow_runner=UnsandboxedWorkflowRunner(),
125
146
  max_concurrent_activities=self.max_concurrent_activities,
@@ -1,5 +1,6 @@
1
1
  import asyncio
2
2
  import inspect
3
+ from datetime import datetime
3
4
  from collections.abc import AsyncGenerator, Awaitable, Callable
4
5
  from contextlib import asynccontextmanager
5
6
  from typing import Any
@@ -26,6 +27,10 @@ from agentex.types.task_message_content import TaskMessageContent
26
27
  from agentex.lib.utils.logging import make_logger
27
28
  from agentex.lib.utils.model_utils import BaseModel
28
29
  from agentex.lib.utils.registration import register_agent
30
+ from agentex.lib.sdk.fastacp.base.constants import (
31
+ FASTACP_HEADER_SKIP_EXACT,
32
+ FASTACP_HEADER_SKIP_PREFIXES,
33
+ )
29
34
 
30
35
  logger = make_logger(__name__)
31
36
 
@@ -93,6 +98,7 @@ class BaseACPServer(FastAPI):
93
98
  async def _handle_jsonrpc(self, request: Request):
94
99
  """Main JSON-RPC endpoint handler"""
95
100
  rpc_request = None
101
+ logger.info(f"[base_acp_server] received request: {datetime.now()}")
96
102
  try:
97
103
  data = await request.json()
98
104
  rpc_request = JSONRPCRequest(**data)
@@ -128,9 +134,23 @@ class BaseACPServer(FastAPI):
128
134
  ),
129
135
  )
130
136
 
131
- # Parse params into appropriate model based on method
137
+ # Extract application headers, excluding sensitive/transport headers per FASTACP_* rules
138
+ # Forward filtered headers via params.request.headers to agent handlers
139
+ custom_headers = {
140
+ key: value
141
+ for key, value in request.headers.items()
142
+ if key.lower() not in FASTACP_HEADER_SKIP_EXACT
143
+ and not any(key.lower().startswith(p) for p in FASTACP_HEADER_SKIP_PREFIXES)
144
+ }
145
+
146
+ # Parse params into appropriate model based on method and include headers
132
147
  params_model = PARAMS_MODEL_BY_METHOD[method]
133
- params = params_model.model_validate(rpc_request.params)
148
+ params_data = dict(rpc_request.params) if rpc_request.params else {}
149
+
150
+ # Add custom headers to the request structure if any headers were provided
151
+ if custom_headers:
152
+ params_data["request"] = {"headers": custom_headers}
153
+ params = params_model.model_validate(params_data)
134
154
 
135
155
  if method in RPC_SYNC_METHODS:
136
156
  handler = self._handlers[method]
@@ -0,0 +1,24 @@
1
+ from __future__ import annotations
2
+
3
+ # Header filtering rules for FastACP server
4
+
5
+ # Prefixes to skip (case-insensitive beginswith checks)
6
+ FASTACP_HEADER_SKIP_PREFIXES: tuple[str, ...] = (
7
+ "content-",
8
+ "host",
9
+ "user-agent",
10
+ "x-forwarded-",
11
+ "sec-",
12
+ )
13
+
14
+ # Exact header names to skip (case-insensitive matching done by lowercasing keys)
15
+ FASTACP_HEADER_SKIP_EXACT: set[str] = {
16
+ "x-agent-api-key",
17
+ "connection",
18
+ "accept-encoding",
19
+ "cookie",
20
+ "content-length",
21
+ "transfer-encoding",
22
+ }
23
+
24
+
agentex/lib/types/acp.py CHANGED
@@ -25,6 +25,7 @@ class CreateTaskParams(BaseModel):
25
25
  agent: The agent that the task was sent to.
26
26
  task: The task to be created.
27
27
  params: The parameters for the task as inputted by the user.
28
+ request: Additional request context including headers forwarded to this agent.
28
29
  """
29
30
 
30
31
  agent: Agent = Field(..., description="The agent that the task was sent to")
@@ -33,6 +34,10 @@ class CreateTaskParams(BaseModel):
33
34
  None,
34
35
  description="The parameters for the task as inputted by the user",
35
36
  )
37
+ request: dict[str, Any] | None = Field(
38
+ default=None,
39
+ description="Additional request context including headers forwarded to this agent",
40
+ )
36
41
 
37
42
 
38
43
  class SendMessageParams(BaseModel):
@@ -43,6 +48,7 @@ class SendMessageParams(BaseModel):
43
48
  task: The task that the message was sent to.
44
49
  content: The message that was sent to the agent.
45
50
  stream: Whether to stream the message back to the agentex server from the agent.
51
+ request: Additional request context including headers forwarded to this agent.
46
52
  """
47
53
 
48
54
  agent: Agent = Field(..., description="The agent that the message was sent to")
@@ -54,6 +60,10 @@ class SendMessageParams(BaseModel):
54
60
  False,
55
61
  description="Whether to stream the message back to the agentex server from the agent",
56
62
  )
63
+ request: dict[str, Any] | None = Field(
64
+ default=None,
65
+ description="Additional request context including headers forwarded to this agent",
66
+ )
57
67
 
58
68
 
59
69
  class SendEventParams(BaseModel):
@@ -63,11 +73,16 @@ class SendEventParams(BaseModel):
63
73
  agent: The agent that the event was sent to.
64
74
  task: The task that the message was sent to.
65
75
  event: The event that was sent to the agent.
76
+ request: Additional request context including headers forwarded to this agent.
66
77
  """
67
78
 
68
79
  agent: Agent = Field(..., description="The agent that the event was sent to")
69
80
  task: Task = Field(..., description="The task that the message was sent to")
70
81
  event: Event = Field(..., description="The event that was sent to the agent")
82
+ request: dict[str, Any] | None = Field(
83
+ default=None,
84
+ description="Additional request context including headers forwarded to this agent",
85
+ )
71
86
 
72
87
 
73
88
  class CancelTaskParams(BaseModel):
@@ -76,10 +91,15 @@ class CancelTaskParams(BaseModel):
76
91
  Attributes:
77
92
  agent: The agent that the task was sent to.
78
93
  task: The task that was cancelled.
94
+ request: Additional request context including headers forwarded to this agent.
79
95
  """
80
96
 
81
97
  agent: Agent = Field(..., description="The agent that the task was sent to")
82
98
  task: Task = Field(..., description="The task that was cancelled")
99
+ request: dict[str, Any] | None = Field(
100
+ default=None,
101
+ description="Additional request context including headers forwarded to this agent",
102
+ )
83
103
 
84
104
 
85
105
  RPC_SYNC_METHODS = [
@@ -7,6 +7,7 @@ from typing import AsyncGenerator, Generator, Union, Optional
7
7
  from typing_extensions import Literal
8
8
 
9
9
  import httpx
10
+ from pydantic import ValidationError
10
11
 
11
12
  from ..types import agent_rpc_params, agent_list_params, agent_rpc_by_name_params
12
13
  from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
@@ -1073,6 +1074,8 @@ class AsyncAgentsResource(AsyncAPIResource):
1073
1074
  except json.JSONDecodeError:
1074
1075
  # Skip invalid JSON lines
1075
1076
  continue
1077
+ except ValidationError:
1078
+ raise ValueError(f"Invalid SendMessageStreamResponse returned: {line}")
1076
1079
 
1077
1080
  async def send_event(
1078
1081
  self,
@@ -232,7 +232,7 @@ class TasksResource(SyncAPIResource):
232
232
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
233
233
  ) -> Stream[object]:
234
234
  """
235
- Stream message updates for a task by its unique ID.
235
+ Stream events for a task by its unique ID.
236
236
 
237
237
  Args:
238
238
  extra_headers: Send extra headers
@@ -267,7 +267,7 @@ class TasksResource(SyncAPIResource):
267
267
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
268
268
  ) -> Stream[object]:
269
269
  """
270
- Stream message updates for a task by its unique name.
270
+ Stream events for a task by its unique name.
271
271
 
272
272
  Args:
273
273
  extra_headers: Send extra headers
@@ -497,7 +497,7 @@ class AsyncTasksResource(AsyncAPIResource):
497
497
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
498
498
  ) -> AsyncStream[object]:
499
499
  """
500
- Stream message updates for a task by its unique ID.
500
+ Stream events for a task by its unique ID.
501
501
 
502
502
  Args:
503
503
  extra_headers: Send extra headers
@@ -532,7 +532,7 @@ class AsyncTasksResource(AsyncAPIResource):
532
532
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
533
533
  ) -> AsyncStream[object]:
534
534
  """
535
- Stream message updates for a task by its unique name.
535
+ Stream events for a task by its unique name.
536
536
 
537
537
  Args:
538
538
  extra_headers: Send extra headers
agentex/types/agent.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from typing import Optional
3
+ from typing import Dict, Optional
4
4
  from datetime import datetime
5
5
  from typing_extensions import Literal
6
6
 
@@ -29,6 +29,12 @@ class Agent(BaseModel):
29
29
  updated_at: datetime
30
30
  """The timestamp when the agent was last updated"""
31
31
 
32
+ registered_at: Optional[datetime] = None
33
+ """The timestamp when the agent was last registered"""
34
+
35
+ registration_metadata: Optional[Dict[str, object]] = None
36
+ """The metadata for the agent's registration."""
37
+
32
38
  status: Optional[Literal["Pending", "Building", "Ready", "Failed", "Unknown"]] = None
33
39
  """The status of the action, indicating if it's building, ready, failed, etc."""
34
40
 
agentex/types/task.py CHANGED
@@ -22,4 +22,6 @@ class Task(BaseModel):
22
22
 
23
23
  status_reason: Optional[str] = None
24
24
 
25
+ task_metadata: Optional[Dict[str, object]] = None
26
+
25
27
  updated_at: Optional[datetime] = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: agentex-sdk
3
- Version: 0.4.12
3
+ Version: 0.4.14
4
4
  Summary: The official Python library for the agentex API
5
5
  Project-URL: Homepage, https://github.com/scaleapi/agentex-python
6
6
  Project-URL: Repository, https://github.com/scaleapi/agentex-python
@@ -2,7 +2,7 @@ agentex/__init__.py,sha256=j0BX5IfIjYaWdXQC7P4bh1Ev2-0bJe4Uh7IbqG551ng,2667
2
2
  agentex/_base_client.py,sha256=Y_EaL4x9g7EsRADVD6vJ303tLO0iyB3K5SbTSvKCS2k,67048
3
3
  agentex/_client.py,sha256=Fae6qw42eIjFaENpQ5nrq5SyW1310UoHZGNrG-DSa_g,20493
4
4
  agentex/_compat.py,sha256=DQBVORjFb33zch24jzkhM14msvnzY7mmSmgDLaVFUM8,6562
5
- agentex/_constants.py,sha256=S14PFzyN9-I31wiV7SmIlL5Ga0MLHxdvegInGdXH7tM,462
5
+ agentex/_constants.py,sha256=UWL_R-mDWXfDVTMoEAks7F9dNEbr7NFc27WQShkBB1c,466
6
6
  agentex/_exceptions.py,sha256=B09aFjWFRSShb9BFJd-MNDblsGDyGk3w-vItYmjg_AI,3222
7
7
  agentex/_files.py,sha256=KnEzGi_O756MvKyJ4fOCW_u3JhOeWPQ4RsmDvqihDQU,3545
8
8
  agentex/_models.py,sha256=c29x_mRccdxlGwdUPfSR5eJxGXe74Ea5Dje5igZTrKQ,30024
@@ -11,7 +11,7 @@ agentex/_resource.py,sha256=S1t7wmR5WUvoDIhZjo_x-E7uoTJBynJ3d8tPJMQYdjw,1106
11
11
  agentex/_response.py,sha256=Tb9zazsnemO2rTxWtBjAD5WBqlhli5ZaXGbiKgdu5DE,28794
12
12
  agentex/_streaming.py,sha256=FNGJExRCF-vTRUZHFKUfoAWFhDGOB3XbioVCF37Jr7E,10104
13
13
  agentex/_types.py,sha256=lO491FSd7vM_uBp7-TvItbauEAH8SsEPYcyNO_5lKGM,7297
14
- agentex/_version.py,sha256=mc7enXMgZrtxOdwgC3XRWiyCc9frvcY3bAC3oYmJEis,160
14
+ agentex/_version.py,sha256=QyVDuGJfF-AdzJKSy-ESANTaIZ2BJyeVro8HdhM2QAM,160
15
15
  agentex/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  agentex/_utils/__init__.py,sha256=7fch0GT9zpNnErbciSpUNa-SjTxxjY6kxHxKMOM4AGs,2305
17
17
  agentex/_utils/_compat.py,sha256=D8gtAvjJQrDWt9upS0XaG9Rr5l1QhiAx_I_1utT_tt0,1195
@@ -31,7 +31,7 @@ agentex/lib/environment_variables.py,sha256=6iWpCEURbahnLxZIjvJGES-zs7euUI8bxVXF
31
31
  agentex/lib/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
32
  agentex/lib/adk/__init__.py,sha256=-PpVfEvYr_HD7TnxUWU8RCW2OnxfwpPxTW97dKTnqvI,1082
33
33
  agentex/lib/adk/_modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
- agentex/lib/adk/_modules/acp.py,sha256=_v71srFcyuNbR1CCg4xC0iyf6G7kYD0xM48RfZmJULg,9699
34
+ agentex/lib/adk/_modules/acp.py,sha256=_LweV8BoIyQhqL06Xie_9t_0jcbZakomb24MgojYneo,11179
35
35
  agentex/lib/adk/_modules/agent_task_tracker.py,sha256=fXMDs1zgAC6n8EmWTU5_trs79EGVBCEPxd5eBOZmdE0,7022
36
36
  agentex/lib/adk/_modules/agents.py,sha256=VlT_PXnyb3Knh-nx1rfflD9N6gjp5O0_6Z_QL5SCThU,2788
37
37
  agentex/lib/adk/_modules/events.py,sha256=RHQZ4ircC60zdm1chRzo3cdt7LNqDoJfPLNJXEz4BH0,5262
@@ -43,7 +43,7 @@ agentex/lib/adk/_modules/tracing.py,sha256=A_kH332f_DFVfMftPHGEg3oi4RFcwDXohg7xt
43
43
  agentex/lib/adk/providers/__init__.py,sha256=KPWC8AYsl8lPgpFoRXlGwzozb-peKLAzV_DcTWXBsz4,306
44
44
  agentex/lib/adk/providers/_modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
45
  agentex/lib/adk/providers/_modules/litellm.py,sha256=11LxGsverxarRgxoP7Ni17GOCZwSlQlxHBz7ksToEkc,9486
46
- agentex/lib/adk/providers/_modules/openai.py,sha256=xj7FxAe7mZTcDllZ1U17HT5GeR-zcfyD7Zlmc9VnX7U,21417
46
+ agentex/lib/adk/providers/_modules/openai.py,sha256=6kP-5G_1syv7ksjZoxhrJ0wM1lD1dXJRVrse7FN0ygY,22240
47
47
  agentex/lib/adk/providers/_modules/sgp.py,sha256=QszUPyeGBODfI5maYvlzErD87PsMsX6vrfC7n65WNjE,3224
48
48
  agentex/lib/adk/utils/__init__.py,sha256=7f6ayV0_fqyw5cwzVANNcZWGJZ-vrrYtZ0qi7KKBRFs,130
49
49
  agentex/lib/adk/utils/_modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -63,7 +63,7 @@ agentex/lib/cli/debug/debug_handlers.py,sha256=i2Og0v5MPKIxG0uMZIp4NpmCpAro23t7P
63
63
  agentex/lib/cli/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
64
  agentex/lib/cli/handlers/agent_handlers.py,sha256=iVZ-4TSQJuq7XpPBYjYIN76M33XwxDjQTuNwTzzynec,5573
65
65
  agentex/lib/cli/handlers/cleanup_handlers.py,sha256=V1V0zeErOUGTgCQqjyUl6CWtzGjFW878uzFaLOQJEyQ,7073
66
- agentex/lib/cli/handlers/deploy_handlers.py,sha256=gqrbTW_MuM2VKseU8bYi7A_8ptFaPy85qWyDFqQrG3c,15828
66
+ agentex/lib/cli/handlers/deploy_handlers.py,sha256=jlgavaCIsGGhU1idR2I2J1YcPNdFw-8yFAKEA2_DFj4,15828
67
67
  agentex/lib/cli/handlers/run_handlers.py,sha256=TMelCWTwFxUJJJ7At3zG-cXTn2mBmK1ZJuJ63Ero6xs,15396
68
68
  agentex/lib/cli/handlers/secret_handlers.py,sha256=VfAdAQovW9tG36Xgk_gGIGwTyFMxR3P6xc7fmAviNA8,24719
69
69
  agentex/lib/cli/templates/default/.dockerignore.j2,sha256=hweGFxw5eDZYsb5EnRHpv27o9M1HF2PEWOxqsfBBcAE,320
@@ -131,10 +131,10 @@ agentex/lib/core/services/adk/streaming.py,sha256=keZyy7CixM2_3tf2THv-X4gGOOSAk0
131
131
  agentex/lib/core/services/adk/tasks.py,sha256=XEX0u4skq81Fn-gjTzSE_-Iv_mKySZHchpotxAsnJwg,2618
132
132
  agentex/lib/core/services/adk/tracing.py,sha256=w4mnIoq5m5iwlkDN_NOUjhi6hUpD958cYn1QR6hFgB8,1156
133
133
  agentex/lib/core/services/adk/acp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
134
- agentex/lib/core/services/adk/acp/acp.py,sha256=re6GfuivaYiNXMUxA1_rmoAKu5rrzxK2cB_YquYudos,8692
134
+ agentex/lib/core/services/adk/acp/acp.py,sha256=ONbGc8HWNCxv5IJaItY-fvDZIwlh3d4jSmH9GGQo7q8,10971
135
135
  agentex/lib/core/services/adk/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
136
136
  agentex/lib/core/services/adk/providers/litellm.py,sha256=EKzus_xohNW-85V5hwvd1WqUd3ebv2wc9vDIWO2t1Mw,10044
137
- agentex/lib/core/services/adk/providers/openai.py,sha256=ekxh5fvsuf_WMe-gyGYmECyfjxdvZVm-dU-ndyLzFGs,52519
137
+ agentex/lib/core/services/adk/providers/openai.py,sha256=pXbqSBPxvnOV_h3c-iaUXFgkmNRyu97C1xGIFMOw8zY,51832
138
138
  agentex/lib/core/services/adk/providers/sgp.py,sha256=9gm-sPNQ_OSTaBzL0onerKhokPk_ZHndaKNO-z16wyQ,3676
139
139
  agentex/lib/core/services/adk/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
140
140
  agentex/lib/core/services/adk/utils/templating.py,sha256=eaXSFq31Y9p5pRD6J6SL4QdTFtxy81dilbF2XXc2JYQ,1889
@@ -151,10 +151,10 @@ agentex/lib/core/temporal/activities/adk/streaming_activities.py,sha256=PEXeFU9m
151
151
  agentex/lib/core/temporal/activities/adk/tasks_activities.py,sha256=hQjdD-TfSzxsiW9eiJ5ZTvY0Ieu0tE950_Zk2PUVc9g,1442
152
152
  agentex/lib/core/temporal/activities/adk/tracing_activities.py,sha256=RF8nSBA9x6Ui7_MD9He5ljlH_xZduIhx_JUTEyKdCxA,1523
153
153
  agentex/lib/core/temporal/activities/adk/acp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
154
- agentex/lib/core/temporal/activities/adk/acp/acp_activities.py,sha256=AkUx5ADDPZrAb0wL7lBRvwNW2zi2TNJVBGPD8AJz14M,2927
154
+ agentex/lib/core/temporal/activities/adk/acp/acp_activities.py,sha256=FrIs0g4BqB5NwyHmb-3Do_ugGWgLhQ3Uoud1E0BnD_E,3503
155
155
  agentex/lib/core/temporal/activities/adk/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
156
156
  agentex/lib/core/temporal/activities/adk/providers/litellm_activities.py,sha256=Ix92XZIQIbhf-_fOWkUZDxZ1UUCOF0kOwxbcRYBzBQA,2583
157
- agentex/lib/core/temporal/activities/adk/providers/openai_activities.py,sha256=JmP1rNsVjvf9flM9ZyaFlfOsx-aQNZ4muXoYxZVqKfk,27349
157
+ agentex/lib/core/temporal/activities/adk/providers/openai_activities.py,sha256=TLNMzli_AlJEvUL0DklceN0mjE9GiHH32AgJAbVw6hw,27587
158
158
  agentex/lib/core/temporal/activities/adk/providers/sgp_activities.py,sha256=C8n97mEhc3yFDgdejERDob9g5STfWgGoY-BmkQBH6Lg,1266
159
159
  agentex/lib/core/temporal/activities/adk/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
160
  agentex/lib/core/temporal/activities/adk/utils/templating_activities.py,sha256=dX6wpcTKY_qWsm3uJV-XU5fQLqwWAhnjO83k8EK0N7o,1189
@@ -163,7 +163,7 @@ agentex/lib/core/temporal/services/temporal_task_service.py,sha256=oxaegtUMfr3EC
163
163
  agentex/lib/core/temporal/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
164
  agentex/lib/core/temporal/types/workflow.py,sha256=o8lBUloI44NTYFfbA1BLgzUneyN7aLbt042Eq_9OKo8,89
165
165
  agentex/lib/core/temporal/workers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
166
- agentex/lib/core/temporal/workers/worker.py,sha256=kmdfs67UWjzxU9ZOE7vq_q4S4jj7jB5ZMyJkZYptrAY,6670
166
+ agentex/lib/core/temporal/workers/worker.py,sha256=XumHnctexRP3Ir7pXTid3VKaHs5vysYQO6UcCet0yvg,7211
167
167
  agentex/lib/core/temporal/workflows/workflow.py,sha256=VTS4nqwdJqqjIy6nTyvFLdAoBHnunO8-8rVY0Gx5_zo,723
168
168
  agentex/lib/core/tracing/__init__.py,sha256=3dLjXGTwAJxi_xxwdh8Mt04pdLyzN9VxAl8XHmV70Ak,229
169
169
  agentex/lib/core/tracing/trace.py,sha256=45Nn0Z97kC_9XNyb9N8IWUFo0OIdb7dDZShhgOTGJB0,8952
@@ -184,7 +184,8 @@ agentex/lib/sdk/config/project_config.py,sha256=CGH_r9KbnSFMj2CnBkZnfg41L2o0TeVN
184
184
  agentex/lib/sdk/config/validation.py,sha256=QGAlAzlVJiWRlIksqxNS-JSwkk8Z4gXMSFUJc4qPrIQ,8989
185
185
  agentex/lib/sdk/fastacp/__init__.py,sha256=UvAdexdnfb4z0F4a2sfXROFyh9EjH89kf3AxHPybzCM,75
186
186
  agentex/lib/sdk/fastacp/fastacp.py,sha256=K4D7a9EiJfCgWp2hrE_TbpZBaF4Uc46MfndZK3F9mA0,3061
187
- agentex/lib/sdk/fastacp/base/base_acp_server.py,sha256=vj7jPg8a8z07dTl3P-ZVTdhcuW3ulm4QrptWyYVnTAs,14598
187
+ agentex/lib/sdk/fastacp/base/base_acp_server.py,sha256=mVi8uSOZtf70rogS7xDJwHU1hF_5Fv7S8383rUN0kK8,15604
188
+ agentex/lib/sdk/fastacp/base/constants.py,sha256=W4vpJ-5NML7239JyqzUWdu2IypIl8Cey8CS41KR2Vk0,519
188
189
  agentex/lib/sdk/fastacp/impl/agentic_base_acp.py,sha256=LWLAlHrs-2Lc2UICBAEFL8c3JwTA6oxPnzUzW0qQWSA,2694
189
190
  agentex/lib/sdk/fastacp/impl/sync_acp.py,sha256=0y_cYD-0UJOiVJv-BBMOt6PvElDf5zmc1uvbr81VcSI,3897
190
191
  agentex/lib/sdk/fastacp/impl/temporal_acp.py,sha256=hQa_zGG6l_jIHNC75H_KXlPUuVqNBc-zIm-pmCDSZ6w,3759
@@ -203,7 +204,7 @@ agentex/lib/sdk/state_machine/state_workflow.py,sha256=ispqxlcLPT22glgOBXjyd-BXC
203
204
  agentex/lib/sdk/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
204
205
  agentex/lib/sdk/utils/messages.py,sha256=GdfT98NQRmltAnCQ2XW0XF5DO2jGi6TEZh8qqNv6WlY,8354
205
206
  agentex/lib/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
206
- agentex/lib/types/acp.py,sha256=lFuWZwlXy1TNUHGvCXmyPLPbt8ME_2lejdWwx8VcodY,2970
207
+ agentex/lib/types/acp.py,sha256=YYTXsJWcw6BdIWXliKQxAwtHn07ZINQ-RsppyjY9_64,3974
207
208
  agentex/lib/types/agent_configs.py,sha256=3wRa2okimSzi2v8sJyMyrqRlcu_4sxes-_4smEK6fq8,2798
208
209
  agentex/lib/types/agent_results.py,sha256=ev6WnPLfZRbhy2HnBmdIrZq1ExVeaweXoLRxYGspyWM,653
209
210
  agentex/lib/types/converters.py,sha256=u6fLb0rBUDA6nF5hdbC8ms6H-Z21IQfLlIvYpau_P5g,2283
@@ -230,18 +231,18 @@ agentex/lib/utils/temporal.py,sha256=sXo8OPMMXiyrF7OSBCJBuN_ufyQOD2bLOXgDbVZoyds
230
231
  agentex/lib/utils/dev_tools/__init__.py,sha256=oaHxw6ymfhNql-kzXHv3NWVHuqD4fHumasNXJG7kHTU,261
231
232
  agentex/lib/utils/dev_tools/async_messages.py,sha256=dM01spww2Fy6ej_WDnPXs2eG-9yCU7Xc1IMKwJzq6cM,19543
232
233
  agentex/resources/__init__.py,sha256=74rMqWBzQ2dSrKQqsrd7-jskPws0O_ogkFltvZO3HoU,3265
233
- agentex/resources/agents.py,sha256=WLG7wTQcCZCtqvNiyi2wjuDA2u85nEA5o9kUr5pBQXE,46977
234
+ agentex/resources/agents.py,sha256=IvnUuQZ_cpP6Kz96aD6MSB0AQ5-VLo_L-VIs6MVSu1s,47132
234
235
  agentex/resources/events.py,sha256=Zc9JhUm3bq2VFnBAolC0M7KZernzj1AjZ_vj0ibP4GY,10412
235
236
  agentex/resources/spans.py,sha256=wmcUs4XbXIF5rPeyU_f39c2RTbTLnkuh2LYogZEBD6s,20936
236
237
  agentex/resources/states.py,sha256=O31A8--n7n0rHsng2e1oCUAzLNjQIxDUk7rq0IXfgGM,19262
237
- agentex/resources/tasks.py,sha256=R-pfvSt6W9n0QxPyxrgY6nTSG20YtkH_NXgXPNbnRuo,24780
238
+ agentex/resources/tasks.py,sha256=ovMDt0EElGYwvhYdEiC0Noo04p0GHPWZTmDub-drl88,24744
238
239
  agentex/resources/tracker.py,sha256=YxSeiloMwIqrS9nY7SlHclauRA7142qrKw34xgwqYbA,14103
239
240
  agentex/resources/messages/__init__.py,sha256=_J1eusFtr_k6zrAntJSuqx6LWEUBSTrV1OZZh7MaDPE,1015
240
241
  agentex/resources/messages/batch.py,sha256=pegCmnjK_J0jek5ChX1pKpq5RmCucTYLbK69H6qGVS4,9629
241
242
  agentex/resources/messages/messages.py,sha256=fuFmmGNOjRJVzmYHcfP2trg0yii0n9MPPCpt7F8fDs4,17930
242
243
  agentex/types/__init__.py,sha256=lEuWxr1ggBzZAUGYrSmIhcSSZ7z5UQSIfNtmUrELC2s,3884
243
244
  agentex/types/acp_type.py,sha256=Fj-4SzmM6m95ck_ZXtNbcWggHiD9F49bxBLPbl1fxe4,208
244
- agentex/types/agent.py,sha256=t6CUsKSaK6Gs_X9g0YxSi5G3Hh21FrGVGnAD6MytVBk,981
245
+ agentex/types/agent.py,sha256=ihRNn9mksULA5FuiyanKA7B-lmN4OVr6wBqNzUb8Tcg,1208
245
246
  agentex/types/agent_list_params.py,sha256=81IWnRZ2rLfHH7GB6VkXShYjb44DO0guG1znJcV3tuI,316
246
247
  agentex/types/agent_list_response.py,sha256=g0b9Cw7j2yk14veyJORpF3me8iW7g7pr2USpXGokoFI,254
247
248
  agentex/types/agent_rpc_by_name_params.py,sha256=G6xkjrZKPmJvhwqgc68tAnzmb4wYh9k0zlcm9CsLQR0,2024
@@ -275,7 +276,7 @@ agentex/types/state_create_params.py,sha256=dIQLVdFJyhIUKlFcm-7I6M4qD1BxZwH8KCt1
275
276
  agentex/types/state_list_params.py,sha256=jsBeE98mVvS-pk9iytNTVVSW6pz7OM4Zt-OxC2mEt3E,364
276
277
  agentex/types/state_list_response.py,sha256=3UyMRzP3zdEKo9hTkJdvBHjmv6II4KnwoZ8GvlzPCSI,254
277
278
  agentex/types/state_update_params.py,sha256=TpCXMrYaT2MWeOPng9-RGvGX9vE61Te9r3CFRQzzIDg,377
278
- agentex/types/task.py,sha256=GDPXgF2OwRCA-XFsMJpsVbUDwI99sZDN7aoWeIr00iA,597
279
+ agentex/types/task.py,sha256=PXFMFK74V_fsNnXN8vJW45FwRcXJcxDR-cQU8tNtk5Y,652
279
280
  agentex/types/task_list_params.py,sha256=euvsWpK2kjJOfvrkUnSFiofZlU2sZHd2mar3qYtAA8I,328
280
281
  agentex/types/task_list_response.py,sha256=8Q-RIanLmUC9vOuDXoW5gjpZeE-HR6IrBugG7-cUAZQ,249
281
282
  agentex/types/task_message.py,sha256=hoLAkiQJd1Fl7EjLof-vZq6zVnDw9SKmnV6V74Po58A,918
@@ -303,8 +304,8 @@ agentex/types/messages/batch_update_params.py,sha256=Ug5CThbD49a8j4qucg04OdmVrp_
303
304
  agentex/types/messages/batch_update_response.py,sha256=TbSBe6SuPzjXXWSj-nRjT1JHGBooTshHQQDa1AixQA8,278
304
305
  agentex/types/shared/__init__.py,sha256=IKs-Qn5Yja0kFh1G1kDqYZo43qrOu1hSoxlPdN-85dI,149
305
306
  agentex/types/shared/delete_response.py,sha256=8qH3zvQXaOHYQSHyXi7UQxdR4miTzR7V9K4zXVsiUyk,215
306
- agentex_sdk-0.4.12.dist-info/METADATA,sha256=8y1JRtsEw-RXbWLnDVo-VK8bA6qXBH3fNYxZz8W7oDM,15095
307
- agentex_sdk-0.4.12.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
308
- agentex_sdk-0.4.12.dist-info/entry_points.txt,sha256=V7vJuMZdF0UlvgX6KiBN7XUvq_cxF5kplcYvc1QlFaQ,62
309
- agentex_sdk-0.4.12.dist-info/licenses/LICENSE,sha256=Q1AOx2FtRcMlyMgQJ9eVN2WKPq2mQ33lnB4tvWxabLA,11337
310
- agentex_sdk-0.4.12.dist-info/RECORD,,
307
+ agentex_sdk-0.4.14.dist-info/METADATA,sha256=Twhuees8rs5aTaMTXfBYd2qjdsE80fMhed2XXQVQJeU,15095
308
+ agentex_sdk-0.4.14.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
309
+ agentex_sdk-0.4.14.dist-info/entry_points.txt,sha256=V7vJuMZdF0UlvgX6KiBN7XUvq_cxF5kplcYvc1QlFaQ,62
310
+ agentex_sdk-0.4.14.dist-info/licenses/LICENSE,sha256=Q1AOx2FtRcMlyMgQJ9eVN2WKPq2mQ33lnB4tvWxabLA,11337
311
+ agentex_sdk-0.4.14.dist-info/RECORD,,