agentex-sdk 0.6.4__py3-none-any.whl → 0.6.5__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.
agentex/_version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "agentex"
4
- __version__ = "0.6.4" # x-release-please-version
4
+ __version__ = "0.6.5" # x-release-please-version
@@ -497,12 +497,32 @@ class TemporalStreamingModel(Model):
497
497
  include_list.append("message.output_text.logprobs")
498
498
  # Build response format for verbosity and structured output
499
499
  response_format = NOT_GIVEN
500
+
500
501
  if output_schema is not None:
501
- # Handle structured output schema
502
- # This would need conversion logic similar to Converter.get_response_format
503
- pass # TODO: Implement output_schema conversion
504
- elif model_settings.verbosity is not None:
505
- response_format = {"verbosity": model_settings.verbosity}
502
+ # Handle structured output schema for Responses API
503
+ # The Responses API expects the schema in the 'text' parameter with a 'format' key
504
+ logger.debug(f"[TemporalStreamingModel] Converting output_schema to Responses API format")
505
+ try:
506
+ # Get the JSON schema from the output schema
507
+ schema_dict = output_schema.json_schema()
508
+ response_format = {
509
+ "format": {
510
+ "type": "json_schema",
511
+ "name": "final_output",
512
+ "schema": schema_dict,
513
+ "strict": output_schema.is_strict_json_schema() if hasattr(output_schema, 'is_strict_json_schema') else True,
514
+ }
515
+ }
516
+ logger.debug(f"[TemporalStreamingModel] Built response_format with json_schema: {response_format}")
517
+ except Exception as e:
518
+ logger.warning(f"Failed to convert output_schema: {e}")
519
+ response_format = NOT_GIVEN
520
+
521
+ if model_settings.verbosity is not None:
522
+ if response_format is not NOT_GIVEN and isinstance(response_format, dict):
523
+ response_format["verbosity"] = model_settings.verbosity
524
+ else:
525
+ response_format = {"verbosity": model_settings.verbosity}
506
526
 
507
527
  # Build extra_args dict for additional parameters
508
528
  extra_args = dict(model_settings.extra_args or {})
@@ -529,7 +549,7 @@ class TemporalStreamingModel(Model):
529
549
  parallel_tool_calls=self._non_null_or_not_given(model_settings.parallel_tool_calls),
530
550
  # Context and truncation
531
551
  truncation=self._non_null_or_not_given(model_settings.truncation),
532
- # Response configuration
552
+ # Response configuration (includes structured output schema)
533
553
  text=response_format,
534
554
  include=include_list if include_list else NOT_GIVEN,
535
555
  # Metadata and storage
@@ -546,219 +566,225 @@ class TemporalStreamingModel(Model):
546
566
  # Process the stream of events from Responses API
547
567
  output_items = []
548
568
  current_text = ""
569
+ streaming_context = None
549
570
  reasoning_context = None
550
571
  reasoning_summaries = []
551
572
  reasoning_contents = []
552
- current_reasoning_summary = ""
553
573
  event_count = 0
554
574
 
555
575
  # We expect task_id to always be provided for streaming
556
576
  if not task_id:
557
577
  raise ValueError("[TemporalStreamingModel] task_id is required for streaming model")
558
578
 
559
- # Use proper async with context manager for streaming to Redis
560
- async with adk.streaming.streaming_task_message_context(
561
- task_id=task_id,
562
- initial_content=TextContent(
563
- author="agent",
564
- content="",
565
- format="markdown",
566
- ),
567
- ) as streaming_context:
568
- # Process events from the Responses API stream
569
- function_calls_in_progress = {} # Track function calls being streamed
570
-
571
- async for event in stream:
572
- event_count += 1
573
-
574
- # Log event type
575
- logger.debug(f"[TemporalStreamingModel] Event {event_count}: {type(event).__name__}")
576
-
577
- # Handle different event types using isinstance for type safety
578
- if isinstance(event, ResponseOutputItemAddedEvent):
579
- # New output item (reasoning, function call, or message)
580
- item = getattr(event, 'item', None)
581
- output_index = getattr(event, 'output_index', 0)
582
-
583
- if item and getattr(item, 'type', None) == 'reasoning':
584
- logger.debug(f"[TemporalStreamingModel] Starting reasoning item")
585
- if not reasoning_context:
586
- # Start a reasoning context for streaming reasoning to UI
587
- reasoning_context = await adk.streaming.streaming_task_message_context(
588
- task_id=task_id,
589
- initial_content=ReasoningContent(
590
- author="agent",
591
- summary=[],
592
- content=[],
593
- type="reasoning",
594
- style="active",
595
- ),
596
- ).__aenter__()
597
- elif item and getattr(item, 'type', None) == 'function_call':
598
- # Track the function call being streamed
599
- function_calls_in_progress[output_index] = {
600
- 'id': getattr(item, 'id', ''),
601
- 'call_id': getattr(item, 'call_id', ''),
602
- 'name': getattr(item, 'name', ''),
603
- 'arguments': getattr(item, 'arguments', ''),
604
- }
605
- logger.debug(f"[TemporalStreamingModel] Starting function call: {item.name}")
606
-
607
- elif isinstance(event, ResponseFunctionCallArgumentsDeltaEvent):
608
- # Stream function call arguments
609
- output_index = getattr(event, 'output_index', 0)
610
- delta = getattr(event, 'delta', '')
611
-
612
- if output_index in function_calls_in_progress:
613
- function_calls_in_progress[output_index]['arguments'] += delta
614
- logger.debug(f"[TemporalStreamingModel] Function call args delta: {delta[:50]}...")
615
-
616
- elif isinstance(event, ResponseFunctionCallArgumentsDoneEvent):
617
- # Function call arguments complete
618
- output_index = getattr(event, 'output_index', 0)
619
- arguments = getattr(event, 'arguments', '')
620
-
621
- if output_index in function_calls_in_progress:
622
- function_calls_in_progress[output_index]['arguments'] = arguments
623
- logger.debug(f"[TemporalStreamingModel] Function call args done")
624
-
625
- elif isinstance(event, (ResponseReasoningTextDeltaEvent, ResponseReasoningSummaryTextDeltaEvent, ResponseTextDeltaEvent)):
626
- # Handle text streaming
627
- delta = getattr(event, 'delta', '')
628
-
629
- if isinstance(event, ResponseReasoningSummaryTextDeltaEvent) and reasoning_context:
630
- # Stream reasoning summary deltas - these are the actual reasoning tokens!
631
- try:
632
- # Use ReasoningSummaryDelta for reasoning summaries
633
- summary_index = getattr(event, 'summary_index', 0)
634
- delta_obj = ReasoningSummaryDelta(
635
- summary_index=summary_index,
636
- summary_delta=delta,
637
- type="reasoning_summary",
638
- )
639
- update = StreamTaskMessageDelta(
640
- parent_task_message=reasoning_context.task_message,
641
- delta=delta_obj,
642
- type="delta",
643
- )
644
- await reasoning_context.stream_update(update)
645
- # Accumulate the reasoning summary
646
- if len(reasoning_summaries) <= summary_index:
647
- reasoning_summaries.extend([""] * (summary_index + 1 - len(reasoning_summaries)))
648
- reasoning_summaries[summary_index] += delta
649
- logger.debug(f"[TemporalStreamingModel] Streamed reasoning summary: {delta[:30]}..." if len(delta) > 30 else f"[TemporalStreamingModel] Streamed reasoning summary: {delta}")
650
- except Exception as e:
651
- logger.warning(f"Failed to send reasoning delta: {e}")
652
- elif isinstance(event, ResponseReasoningTextDeltaEvent) and reasoning_context:
653
- # Regular reasoning delta (if these ever appear)
654
- try:
655
- delta_obj = ReasoningContentDelta(
656
- content_index=0,
657
- content_delta=delta,
658
- type="reasoning_content",
659
- )
660
- update = StreamTaskMessageDelta(
661
- parent_task_message=reasoning_context.task_message,
662
- delta=delta_obj,
663
- type="delta",
664
- )
665
- await reasoning_context.stream_update(update)
666
- reasoning_contents.append(delta)
667
- except Exception as e:
668
- logger.warning(f"Failed to send reasoning delta: {e}")
669
- elif isinstance(event, ResponseTextDeltaEvent):
670
- # Stream regular text output
671
- current_text += delta
579
+ # Process events from the Responses API stream
580
+ function_calls_in_progress = {} # Track function calls being streamed
581
+
582
+ async for event in stream:
583
+ event_count += 1
584
+
585
+ # Log event type
586
+ logger.debug(f"[TemporalStreamingModel] Event {event_count}: {type(event).__name__}")
587
+
588
+ # Handle different event types using isinstance for type safety
589
+ if isinstance(event, ResponseOutputItemAddedEvent):
590
+ # New output item (reasoning, function call, or message)
591
+ item = getattr(event, 'item', None)
592
+ output_index = getattr(event, 'output_index', 0)
593
+
594
+ if item and getattr(item, 'type', None) == 'reasoning':
595
+ logger.debug(f"[TemporalStreamingModel] Starting reasoning item")
596
+ if not reasoning_context:
597
+ # Start a reasoning context for streaming reasoning to UI
598
+ reasoning_context = await adk.streaming.streaming_task_message_context(
599
+ task_id=task_id,
600
+ initial_content=ReasoningContent(
601
+ author="agent",
602
+ summary=[],
603
+ content=[],
604
+ type="reasoning",
605
+ style="active",
606
+ ),
607
+ ).__aenter__()
608
+ elif item and getattr(item, 'type', None) == 'function_call':
609
+ # Track the function call being streamed
610
+ function_calls_in_progress[output_index] = {
611
+ 'id': getattr(item, 'id', ''),
612
+ 'call_id': getattr(item, 'call_id', ''),
613
+ 'name': getattr(item, 'name', ''),
614
+ 'arguments': getattr(item, 'arguments', ''),
615
+ }
616
+ logger.debug(f"[TemporalStreamingModel] Starting function call: {item.name}")
617
+
618
+ elif item and getattr(item, 'type', None) == 'message':
619
+ # Track the message being streamed
620
+ streaming_context = await adk.streaming.streaming_task_message_context(
621
+ task_id=task_id,
622
+ initial_content=TextContent(
623
+ author="agent",
624
+ content="",
625
+ format="markdown",
626
+ ),
627
+ ).__aenter__()
628
+
629
+ elif isinstance(event, ResponseFunctionCallArgumentsDeltaEvent):
630
+ # Stream function call arguments
631
+ output_index = getattr(event, 'output_index', 0)
632
+ delta = getattr(event, 'delta', '')
633
+
634
+ if output_index in function_calls_in_progress:
635
+ function_calls_in_progress[output_index]['arguments'] += delta
636
+ logger.debug(f"[TemporalStreamingModel] Function call args delta: {delta[:50]}...")
637
+
638
+ elif isinstance(event, ResponseFunctionCallArgumentsDoneEvent):
639
+ # Function call arguments complete
640
+ output_index = getattr(event, 'output_index', 0)
641
+ arguments = getattr(event, 'arguments', '')
642
+
643
+ if output_index in function_calls_in_progress:
644
+ function_calls_in_progress[output_index]['arguments'] = arguments
645
+ logger.debug(f"[TemporalStreamingModel] Function call args done")
646
+
647
+ elif isinstance(event, (ResponseReasoningTextDeltaEvent, ResponseReasoningSummaryTextDeltaEvent, ResponseTextDeltaEvent)):
648
+ # Handle text streaming
649
+ delta = getattr(event, 'delta', '')
650
+
651
+ if isinstance(event, ResponseReasoningSummaryTextDeltaEvent) and reasoning_context:
652
+ # Stream reasoning summary deltas - these are the actual reasoning tokens!
653
+ try:
654
+ # Use ReasoningSummaryDelta for reasoning summaries
655
+ summary_index = getattr(event, 'summary_index', 0)
656
+ delta_obj = ReasoningSummaryDelta(
657
+ summary_index=summary_index,
658
+ summary_delta=delta,
659
+ type="reasoning_summary",
660
+ )
661
+ update = StreamTaskMessageDelta(
662
+ parent_task_message=reasoning_context.task_message,
663
+ delta=delta_obj,
664
+ type="delta",
665
+ )
666
+ await reasoning_context.stream_update(update)
667
+ # Accumulate the reasoning summary
668
+ if len(reasoning_summaries) <= summary_index:
669
+ logger.debug(f"[TemporalStreamingModel] Extending reasoning summaries: {summary_index}")
670
+ reasoning_summaries.extend([""] * (summary_index + 1 - len(reasoning_summaries)))
671
+ reasoning_summaries[summary_index] += delta
672
+ logger.debug(f"[TemporalStreamingModel] Streamed reasoning summary: {delta[:30]}..." if len(delta) > 30 else f"[TemporalStreamingModel] Streamed reasoning summary: {delta}")
673
+ except Exception as e:
674
+ logger.warning(f"Failed to send reasoning delta: {e}")
675
+ elif isinstance(event, ResponseReasoningTextDeltaEvent) and reasoning_context:
676
+ # Regular reasoning delta (if these ever appear)
677
+ try:
678
+ delta_obj = ReasoningContentDelta(
679
+ content_index=0,
680
+ content_delta=delta,
681
+ type="reasoning_content",
682
+ )
683
+ update = StreamTaskMessageDelta(
684
+ parent_task_message=reasoning_context.task_message,
685
+ delta=delta_obj,
686
+ type="delta",
687
+ )
688
+ await reasoning_context.stream_update(update)
689
+ reasoning_contents.append(delta)
690
+ except Exception as e:
691
+ logger.warning(f"Failed to send reasoning delta: {e}")
692
+ elif isinstance(event, ResponseTextDeltaEvent):
693
+ # Stream regular text output
694
+ current_text += delta
695
+ try:
696
+ delta_obj = TextDelta(
697
+ type="text",
698
+ text_delta=delta,
699
+ )
700
+ update = StreamTaskMessageDelta(
701
+ parent_task_message=streaming_context.task_message if streaming_context else None,
702
+ delta=delta_obj,
703
+ type="delta",
704
+ )
705
+ await streaming_context.stream_update(update) if streaming_context else None
706
+ except Exception as e:
707
+ logger.warning(f"Failed to send text delta: {e}")
708
+
709
+ elif isinstance(event, ResponseOutputItemDoneEvent):
710
+ # Output item completed
711
+ item = getattr(event, 'item', None)
712
+ output_index = getattr(event, 'output_index', 0)
713
+
714
+ if item and getattr(item, 'type', None) == 'reasoning':
715
+ if reasoning_context and reasoning_summaries:
716
+ logger.debug(f"[TemporalStreamingModel] Reasoning itme completed, sending final update")
672
717
  try:
673
- delta_obj = TextDelta(
674
- type="text",
675
- text_delta=delta,
718
+ # Send a full message update with the complete reasoning content
719
+ complete_reasoning_content = ReasoningContent(
720
+ author="agent",
721
+ summary=reasoning_summaries, # Use accumulated summaries
722
+ content=reasoning_contents if reasoning_contents else [],
723
+ type="reasoning",
724
+ style="static",
676
725
  )
677
- update = StreamTaskMessageDelta(
678
- parent_task_message=streaming_context.task_message,
679
- delta=delta_obj,
680
- type="delta",
726
+
727
+ await reasoning_context.stream_update(
728
+ update=StreamTaskMessageFull(
729
+ parent_task_message=reasoning_context.task_message,
730
+ content=complete_reasoning_content,
731
+ type="full",
732
+ ),
681
733
  )
682
- await streaming_context.stream_update(update)
734
+
735
+ # Close the reasoning context after sending the final update
736
+ # This matches the reference implementation pattern
737
+ await reasoning_context.close()
738
+ reasoning_context = None
739
+ logger.debug(f"[TemporalStreamingModel] Closed reasoning context after final update")
683
740
  except Exception as e:
684
- logger.warning(f"Failed to send text delta: {e}")
685
-
686
- elif isinstance(event, ResponseOutputItemDoneEvent):
687
- # Output item completed
688
- item = getattr(event, 'item', None)
689
- output_index = getattr(event, 'output_index', 0)
690
-
691
- if item and getattr(item, 'type', None) == 'reasoning':
692
- if reasoning_context and reasoning_summaries:
693
- logger.debug(f"[TemporalStreamingModel] Reasoning itme completed, sending final update")
694
- try:
695
- # Send a full message update with the complete reasoning content
696
- complete_reasoning_content = ReasoningContent(
697
- author="agent",
698
- summary=reasoning_summaries, # Use accumulated summaries
699
- content=reasoning_contents if reasoning_contents else [],
700
- type="reasoning",
701
- style="static",
702
- )
703
-
704
- await reasoning_context.stream_update(
705
- update=StreamTaskMessageFull(
706
- parent_task_message=reasoning_context.task_message,
707
- content=complete_reasoning_content,
708
- type="full",
709
- ),
710
- )
711
-
712
- # Close the reasoning context after sending the final update
713
- # This matches the reference implementation pattern
714
- await reasoning_context.close()
715
- reasoning_context = None
716
- logger.debug(f"[TemporalStreamingModel] Closed reasoning context after final update")
717
- except Exception as e:
718
- logger.warning(f"Failed to send reasoning part done update: {e}")
719
-
720
- elif item and getattr(item, 'type', None) == 'function_call':
721
- # Function call completed - add to output
722
- if output_index in function_calls_in_progress:
723
- call_data = function_calls_in_progress[output_index]
724
- logger.debug(f"[TemporalStreamingModel] Function call completed: {call_data['name']}")
725
-
726
- # Create proper function call object
727
- tool_call = ResponseFunctionToolCall(
728
- id=call_data['id'],
729
- call_id=call_data['call_id'],
730
- type="function_call",
731
- name=call_data['name'],
732
- arguments=call_data['arguments'],
733
- )
734
- output_items.append(tool_call)
735
-
736
- elif isinstance(event, ResponseReasoningSummaryPartAddedEvent):
737
- # New reasoning part/summary started - reset accumulator
738
- part = getattr(event, 'part', None)
739
- if part:
740
- part_type = getattr(part, 'type', 'unknown')
741
- logger.debug(f"[TemporalStreamingModel] New reasoning part: type={part_type}")
742
- # Reset the current reasoning summary for this new part
743
- current_reasoning_summary = ""
744
-
745
- elif isinstance(event, ResponseReasoningSummaryPartDoneEvent):
746
- # Reasoning part completed - ResponseOutputItemDoneEvent will handle the final update
747
- logger.debug(f"[TemporalStreamingModel] Reasoning part completed")
748
-
749
- elif isinstance(event, ResponseCompletedEvent):
750
- # Response completed
751
- logger.debug(f"[TemporalStreamingModel] Response completed")
752
- response = getattr(event, 'response', None)
753
- if response and hasattr(response, 'output'):
754
- # Use the final output from the response
755
- output_items = response.output
756
- logger.debug(f"[TemporalStreamingModel] Found {len(output_items)} output items in final response")
757
-
758
- # End of event processing loop - close any open contexts
759
- if reasoning_context:
760
- await reasoning_context.close()
761
- reasoning_context = None
741
+ logger.warning(f"Failed to send reasoning part done update: {e}")
742
+
743
+ elif item and getattr(item, 'type', None) == 'function_call':
744
+ # Function call completed - add to output
745
+ if output_index in function_calls_in_progress:
746
+ call_data = function_calls_in_progress[output_index]
747
+ logger.debug(f"[TemporalStreamingModel] Function call completed: {call_data['name']}")
748
+
749
+ # Create proper function call object
750
+ tool_call = ResponseFunctionToolCall(
751
+ id=call_data['id'],
752
+ call_id=call_data['call_id'],
753
+ type="function_call",
754
+ name=call_data['name'],
755
+ arguments=call_data['arguments'],
756
+ )
757
+ output_items.append(tool_call)
758
+
759
+ elif isinstance(event, ResponseReasoningSummaryPartAddedEvent):
760
+ # New reasoning part/summary started - reset accumulator
761
+ part = getattr(event, 'part', None)
762
+ if part:
763
+ part_type = getattr(part, 'type', 'unknown')
764
+ logger.debug(f"[TemporalStreamingModel] New reasoning part: type={part_type}")
765
+ # Reset the current reasoning summary for this new part
766
+
767
+ elif isinstance(event, ResponseReasoningSummaryPartDoneEvent):
768
+ # Reasoning part completed - ResponseOutputItemDoneEvent will handle the final update
769
+ logger.debug(f"[TemporalStreamingModel] Reasoning part completed")
770
+
771
+ elif isinstance(event, ResponseCompletedEvent):
772
+ # Response completed
773
+ logger.debug(f"[TemporalStreamingModel] Response completed")
774
+ response = getattr(event, 'response', None)
775
+ if response and hasattr(response, 'output'):
776
+ # Use the final output from the response
777
+ output_items = response.output
778
+ logger.debug(f"[TemporalStreamingModel] Found {len(output_items)} output items in final response")
779
+
780
+ # End of event processing loop - close any open contexts
781
+ if reasoning_context:
782
+ await reasoning_context.close()
783
+ reasoning_context = None
784
+
785
+ if streaming_context:
786
+ await streaming_context.close()
787
+ streaming_context = None
762
788
 
763
789
  # Build the response from output items collected during streaming
764
790
  # Create output from the items we collected
@@ -78,6 +78,9 @@ class BaseACPServer(FastAPI):
78
78
  self.add_middleware(RequestIDMiddleware)
79
79
  self._handlers: dict[RPCMethod, Callable] = {}
80
80
 
81
+ # Agent info to return in healthz
82
+ self.agent_id: str | None = None
83
+
81
84
  @classmethod
82
85
  def create(cls):
83
86
  """Create and initialize BaseACPServer instance"""
@@ -96,6 +99,7 @@ class BaseACPServer(FastAPI):
96
99
  env_vars = EnvironmentVariables.refresh()
97
100
  if env_vars.AGENTEX_BASE_URL:
98
101
  await register_agent(env_vars)
102
+ self.agent_id = env_vars.AGENT_ID
99
103
  else:
100
104
  logger.warning("AGENTEX_BASE_URL not set, skipping agent registration")
101
105
 
@@ -105,7 +109,10 @@ class BaseACPServer(FastAPI):
105
109
 
106
110
  async def _healthz(self):
107
111
  """Health check endpoint"""
108
- return {"status": "healthy"}
112
+ result = {"status": "healthy"}
113
+ if self.agent_id:
114
+ result["agent_id"] = self.agent_id
115
+ return result
109
116
 
110
117
  def _wrap_handler(self, fn: Callable[..., Awaitable[Any]]):
111
118
  """Wraps handler functions to provide JSON-RPC 2.0 response format"""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: agentex-sdk
3
- Version: 0.6.4
3
+ Version: 0.6.5
4
4
  Summary: The official Python library for the agentex API
5
5
  Project-URL: Homepage, https://github.com/scaleapi/scale-agentex-python
6
6
  Project-URL: Repository, https://github.com/scaleapi/scale-agentex-python
@@ -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=p-m2didLkbw_VBZsP4QqeIPc2haAdGZmB0BOU3gUM2A,10153
13
13
  agentex/_types.py,sha256=F6X63N7bOstytAtVqJ9Yl7T_JbR9Od2MJfZ_iK5DqOY,7237
14
- agentex/_version.py,sha256=aqKdT0Jt6xBNgHPcCkDvPAaRPHGW9fWqLx7ayeP03X0,159
14
+ agentex/_version.py,sha256=r7u5V4-ao2MtjmYwTsNUkpyaHQ7CJR7ZAG4nuT0xZxc,159
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
@@ -171,7 +171,7 @@ agentex/lib/core/temporal/plugins/openai_agents/hooks/hooks.py,sha256=qbB6RLPlve
171
171
  agentex/lib/core/temporal/plugins/openai_agents/interceptors/__init__.py,sha256=hrj6lRPi9nb_HAohRK4oPnaji69QQ6brj-Wu2q0mU0s,521
172
172
  agentex/lib/core/temporal/plugins/openai_agents/interceptors/context_interceptor.py,sha256=sBLJonJJ5Ke1BJIlzbqtGeO5p8NIbvftbEYQbjgeZCE,7256
173
173
  agentex/lib/core/temporal/plugins/openai_agents/models/__init__.py,sha256=FeTt91JkSfYLlCTdrVFpjcQ0asbQyCd6Rl5efqZkslo,791
174
- agentex/lib/core/temporal/plugins/openai_agents/models/temporal_streaming_model.py,sha256=_lHjIlHsqAbFqsj8PXgqyUbdsr6gy7Yvot-YnLxj4fc,42962
174
+ agentex/lib/core/temporal/plugins/openai_agents/models/temporal_streaming_model.py,sha256=ca1EeVXu7jehXyWbV_QvJBo60iMKoCNqgjeFtQ-1frs,43906
175
175
  agentex/lib/core/temporal/plugins/openai_agents/models/temporal_tracing_model.py,sha256=BiuIhSvyNfocwMYQtxOoqgMpyJsMHLkyXzYPYnw4ChA,17458
176
176
  agentex/lib/core/temporal/plugins/openai_agents/tests/__init__.py,sha256=suEVJuonfBoVZ3IqdO0UMn0hkFFzDqRoso0VEOit-KQ,80
177
177
  agentex/lib/core/temporal/plugins/openai_agents/tests/conftest.py,sha256=oMI_3dVn6DoiLgCjRVUeQE_Z2Gz3tGTwPxTQ1krjKSE,7692
@@ -202,7 +202,7 @@ agentex/lib/sdk/config/project_config.py,sha256=uMrg9BqEQFcnqdlqqSLYsaQkP1mMedhE
202
202
  agentex/lib/sdk/config/validation.py,sha256=ox8g2vwjYsmfNcz4G-sbPw0ccWjylJRG5bufTEPQMCk,9024
203
203
  agentex/lib/sdk/fastacp/__init__.py,sha256=UvAdexdnfb4z0F4a2sfXROFyh9EjH89kf3AxHPybzCM,75
204
204
  agentex/lib/sdk/fastacp/fastacp.py,sha256=3aT74pFwF76VoTbQnGZsF6As42aLa2o_JrO6EP_XHQM,4591
205
- agentex/lib/sdk/fastacp/base/base_acp_server.py,sha256=1ltdXNidNE1SeVYBmwf4WxGRRn6eb2u9hn6SOOgp2g0,16932
205
+ agentex/lib/sdk/fastacp/base/base_acp_server.py,sha256=W2rMZUC-5GLvLJsLFKZHtmyG9Uhrsgffqo9qcomThsQ,17163
206
206
  agentex/lib/sdk/fastacp/base/constants.py,sha256=FxhXqdaqazQIxFTfAMzl4wx50TMCzBvoNtRI7hUdL2o,837
207
207
  agentex/lib/sdk/fastacp/impl/async_base_acp.py,sha256=xT95pQ-jQpDtBpB8-Z_ZWNuwG9eXgJEluGzQ7vfo8UE,2675
208
208
  agentex/lib/sdk/fastacp/impl/sync_acp.py,sha256=0yNaWr9k28U3jKucKRoV8a53LsPyfyqwlJupe6e5pv0,3933
@@ -330,8 +330,8 @@ agentex/types/messages/batch_update_params.py,sha256=Ug5CThbD49a8j4qucg04OdmVrp_
330
330
  agentex/types/messages/batch_update_response.py,sha256=TbSBe6SuPzjXXWSj-nRjT1JHGBooTshHQQDa1AixQA8,278
331
331
  agentex/types/shared/__init__.py,sha256=IKs-Qn5Yja0kFh1G1kDqYZo43qrOu1hSoxlPdN-85dI,149
332
332
  agentex/types/shared/delete_response.py,sha256=8qH3zvQXaOHYQSHyXi7UQxdR4miTzR7V9K4zXVsiUyk,215
333
- agentex_sdk-0.6.4.dist-info/METADATA,sha256=jsfcoPc8yA4e9Ve522MCmyeYbI6JjE3K-igsLjtRDso,15375
334
- agentex_sdk-0.6.4.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
335
- agentex_sdk-0.6.4.dist-info/entry_points.txt,sha256=V7vJuMZdF0UlvgX6KiBN7XUvq_cxF5kplcYvc1QlFaQ,62
336
- agentex_sdk-0.6.4.dist-info/licenses/LICENSE,sha256=Q1AOx2FtRcMlyMgQJ9eVN2WKPq2mQ33lnB4tvWxabLA,11337
337
- agentex_sdk-0.6.4.dist-info/RECORD,,
333
+ agentex_sdk-0.6.5.dist-info/METADATA,sha256=RyqOx-PvKF-CECR8mWmH3fbywmVXzoWNOmNwMW3OsDY,15375
334
+ agentex_sdk-0.6.5.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
335
+ agentex_sdk-0.6.5.dist-info/entry_points.txt,sha256=V7vJuMZdF0UlvgX6KiBN7XUvq_cxF5kplcYvc1QlFaQ,62
336
+ agentex_sdk-0.6.5.dist-info/licenses/LICENSE,sha256=Q1AOx2FtRcMlyMgQJ9eVN2WKPq2mQ33lnB4tvWxabLA,11337
337
+ agentex_sdk-0.6.5.dist-info/RECORD,,