runtype 0.2.0 → 0.2.1

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.
Files changed (198) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/generated/lib/runtype/agent_aliases/client.rb +320 -0
  4. data/generated/lib/runtype/agent_aliases/types/delete_v1agents_id_aliases_alias_request.rb +17 -0
  5. data/generated/lib/runtype/agent_aliases/types/delete_v1agents_id_aliases_alias_response.rb +17 -0
  6. data/generated/lib/runtype/agent_aliases/types/get_v1agents_id_aliases_alias_request.rb +15 -0
  7. data/generated/lib/runtype/agent_aliases/types/get_v1agents_id_aliases_alias_response.rb +29 -0
  8. data/generated/lib/runtype/agent_aliases/types/get_v1agents_id_aliases_request.rb +17 -0
  9. data/generated/lib/runtype/agent_aliases/types/get_v1agents_id_aliases_response.rb +13 -0
  10. data/generated/lib/runtype/agent_aliases/types/get_v1agents_id_aliases_response_data_item.rb +29 -0
  11. data/generated/lib/runtype/agent_aliases/types/get_v1agents_id_deployments_request.rb +17 -0
  12. data/generated/lib/runtype/agent_aliases/types/get_v1agents_id_deployments_response.rb +13 -0
  13. data/generated/lib/runtype/agent_aliases/types/get_v1agents_id_deployments_response_data_item.rb +29 -0
  14. data/generated/lib/runtype/agent_aliases/types/post_v1agents_id_aliases_alias_rollback_request.rb +21 -0
  15. data/generated/lib/runtype/agent_aliases/types/post_v1agents_id_aliases_alias_rollback_response.rb +21 -0
  16. data/generated/lib/runtype/agent_aliases/types/put_v1agents_id_aliases_alias_request.rb +21 -0
  17. data/generated/lib/runtype/agent_aliases/types/put_v1agents_id_aliases_alias_response.rb +21 -0
  18. data/generated/lib/runtype/agents/client.rb +14 -2
  19. data/generated/lib/runtype/agents/types/get_v1agents_id_executions_execution_id_response.rb +6 -0
  20. data/generated/lib/runtype/agents/types/get_v1agents_id_executions_execution_id_response_agent_target_resolution.rb +15 -0
  21. data/generated/lib/runtype/agents/types/get_v1agents_id_executions_execution_id_response_agent_version.rb +17 -0
  22. data/generated/lib/runtype/agents/types/get_v1agents_id_executions_response_data_item.rb +6 -0
  23. data/generated/lib/runtype/agents/types/get_v1agents_id_executions_response_data_item_agent_target_resolution.rb +15 -0
  24. data/generated/lib/runtype/agents/types/get_v1agents_id_executions_response_data_item_agent_version.rb +17 -0
  25. data/generated/lib/runtype/agents/types/get_v1agents_id_response.rb +2 -0
  26. data/generated/lib/runtype/agents/types/get_v1agents_id_response_sandbox_capability_issues_item.rb +19 -0
  27. data/generated/lib/runtype/agents/types/get_v1agents_id_response_sandbox_capability_issues_item_code.rb +13 -0
  28. data/generated/lib/runtype/agents/types/get_v1agents_request.rb +2 -0
  29. data/generated/lib/runtype/agents/types/get_v1agents_request_managed_in_code.rb +14 -0
  30. data/generated/lib/runtype/agents/types/get_v1agents_response_data_item.rb +4 -0
  31. data/generated/lib/runtype/agents/types/get_v1agents_response_data_item_sandbox_capability_issues_item.rb +19 -0
  32. data/generated/lib/runtype/agents/types/get_v1agents_response_data_item_sandbox_capability_issues_item_code.rb +13 -0
  33. data/generated/lib/runtype/agents/types/post_v1agents_ensure_request.rb +4 -0
  34. data/generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config.rb +2 -0
  35. data/generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_context_management.rb +13 -0
  36. data/generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_context_management_compaction.rb +23 -0
  37. data/generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_context_management_compaction_strategy.rb +15 -0
  38. data/generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_context_management_tool_results.rb +15 -0
  39. data/generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_context_management_tool_results_prune_mode.rb +14 -0
  40. data/generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_voice.rb +8 -0
  41. data/generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_voice_endpointing.rb +13 -0
  42. data/generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_voice_endpointing_strategy.rb +16 -0
  43. data/generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_voice_speech.rb +15 -0
  44. data/generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_voice_speech_mode.rb +15 -0
  45. data/generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_voice_speech_synthesizer.rb +17 -0
  46. data/generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_voice_speech_synthesizer_settings.rb +13 -0
  47. data/generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_voice_speech_transcriber.rb +13 -0
  48. data/generated/lib/runtype/agents/types/post_v1agents_request_config.rb +2 -0
  49. data/generated/lib/runtype/agents/types/post_v1agents_request_config_context_management.rb +13 -0
  50. data/generated/lib/runtype/agents/types/post_v1agents_request_config_context_management_compaction.rb +23 -0
  51. data/generated/lib/runtype/agents/types/post_v1agents_request_config_context_management_compaction_strategy.rb +15 -0
  52. data/generated/lib/runtype/agents/types/post_v1agents_request_config_context_management_tool_results.rb +15 -0
  53. data/generated/lib/runtype/agents/types/post_v1agents_request_config_context_management_tool_results_prune_mode.rb +14 -0
  54. data/generated/lib/runtype/agents/types/post_v1agents_request_config_voice.rb +8 -0
  55. data/generated/lib/runtype/agents/types/post_v1agents_request_config_voice_endpointing.rb +13 -0
  56. data/generated/lib/runtype/agents/types/post_v1agents_request_config_voice_endpointing_strategy.rb +16 -0
  57. data/generated/lib/runtype/agents/types/post_v1agents_request_config_voice_speech.rb +15 -0
  58. data/generated/lib/runtype/agents/types/post_v1agents_request_config_voice_speech_mode.rb +15 -0
  59. data/generated/lib/runtype/agents/types/post_v1agents_request_config_voice_speech_synthesizer.rb +17 -0
  60. data/generated/lib/runtype/agents/types/post_v1agents_request_config_voice_speech_synthesizer_settings.rb +13 -0
  61. data/generated/lib/runtype/agents/types/post_v1agents_request_config_voice_speech_transcriber.rb +13 -0
  62. data/generated/lib/runtype/agents/types/post_v1agents_response.rb +2 -0
  63. data/generated/lib/runtype/agents/types/post_v1agents_response_sandbox_capability_issues_item.rb +19 -0
  64. data/generated/lib/runtype/agents/types/post_v1agents_response_sandbox_capability_issues_item_code.rb +13 -0
  65. data/generated/lib/runtype/agents/types/put_v1agents_id_request_config.rb +2 -0
  66. data/generated/lib/runtype/agents/types/put_v1agents_id_request_config_context_management.rb +13 -0
  67. data/generated/lib/runtype/agents/types/put_v1agents_id_request_config_context_management_compaction.rb +23 -0
  68. data/generated/lib/runtype/agents/types/put_v1agents_id_request_config_context_management_compaction_strategy.rb +15 -0
  69. data/generated/lib/runtype/agents/types/put_v1agents_id_request_config_context_management_tool_results.rb +15 -0
  70. data/generated/lib/runtype/agents/types/put_v1agents_id_request_config_context_management_tool_results_prune_mode.rb +14 -0
  71. data/generated/lib/runtype/agents/types/put_v1agents_id_request_config_voice.rb +8 -0
  72. data/generated/lib/runtype/agents/types/put_v1agents_id_request_config_voice_endpointing.rb +13 -0
  73. data/generated/lib/runtype/agents/types/put_v1agents_id_request_config_voice_endpointing_strategy.rb +16 -0
  74. data/generated/lib/runtype/agents/types/put_v1agents_id_request_config_voice_speech.rb +15 -0
  75. data/generated/lib/runtype/agents/types/put_v1agents_id_request_config_voice_speech_mode.rb +15 -0
  76. data/generated/lib/runtype/agents/types/put_v1agents_id_request_config_voice_speech_synthesizer.rb +17 -0
  77. data/generated/lib/runtype/agents/types/put_v1agents_id_request_config_voice_speech_synthesizer_settings.rb +13 -0
  78. data/generated/lib/runtype/agents/types/put_v1agents_id_request_config_voice_speech_transcriber.rb +13 -0
  79. data/generated/lib/runtype/agents/types/put_v1agents_id_response.rb +2 -0
  80. data/generated/lib/runtype/agents/types/put_v1agents_id_response_sandbox_capability_issues_item.rb +19 -0
  81. data/generated/lib/runtype/agents/types/put_v1agents_id_response_sandbox_capability_issues_item_code.rb +13 -0
  82. data/generated/lib/runtype/analytics/types/get_v1analytics_record_results_response_data_data_results_item.rb +4 -0
  83. data/generated/lib/runtype/client.rb +5 -0
  84. data/generated/lib/runtype/dispatch/client.rb +11 -4
  85. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent.rb +6 -0
  86. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_durability.rb +15 -0
  87. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_durability_forced.rb +14 -0
  88. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_voice.rb +8 -0
  89. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_voice_endpointing.rb +13 -0
  90. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_voice_endpointing_strategy.rb +16 -0
  91. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_voice_speech.rb +15 -0
  92. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_voice_speech_mode.rb +15 -0
  93. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_voice_speech_synthesizer.rb +17 -0
  94. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_voice_speech_synthesizer_settings.rb +13 -0
  95. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_voice_speech_transcriber.rb +13 -0
  96. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent.rb +6 -0
  97. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_durability.rb +15 -0
  98. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_durability_forced.rb +14 -0
  99. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_voice.rb +8 -0
  100. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_voice_endpointing.rb +13 -0
  101. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_voice_endpointing_strategy.rb +16 -0
  102. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_voice_speech.rb +15 -0
  103. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_voice_speech_mode.rb +15 -0
  104. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_voice_speech_synthesizer.rb +17 -0
  105. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_voice_speech_synthesizer_settings.rb +13 -0
  106. data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_voice_speech_transcriber.rb +13 -0
  107. data/generated/lib/runtype/evals/types/get_v1eval_id_results_response.rb +2 -0
  108. data/generated/lib/runtype/evals/types/get_v1eval_id_results_response_case_errors_item.rb +15 -0
  109. data/generated/lib/runtype/executions/client.rb +53 -0
  110. data/generated/lib/runtype/executions/types/get_v1executions_execution_id_events_request.rb +15 -0
  111. data/generated/lib/runtype/executions/types/get_v1executions_execution_id_status_response.rb +6 -0
  112. data/generated/lib/runtype/executions/types/get_v1executions_execution_id_status_response_agent_target_resolution.rb +15 -0
  113. data/generated/lib/runtype/executions/types/get_v1executions_execution_id_status_response_agent_version.rb +16 -0
  114. data/generated/lib/runtype/flows/client.rb +2 -1
  115. data/generated/lib/runtype/flows/types/post_v1flows_ensure_request.rb +2 -0
  116. data/generated/lib/runtype/records/types/get_v1records_id_results_response_data_item.rb +4 -0
  117. data/generated/lib/runtype/tools/client.rb +11 -11
  118. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_request.rb +29 -0
  119. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_request_language.rb +15 -0
  120. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_request_retention.rb +16 -0
  121. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_request_sleep_policy.rb +17 -0
  122. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_request_sleep_policy_idle.rb +11 -0
  123. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_request_sleep_policy_idle_after.rb +16 -0
  124. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_request_sleep_policy_never.rb +9 -0
  125. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_response.rb +2 -0
  126. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_response_effective_policy.rb +23 -0
  127. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_response_effective_policy_metering.rb +14 -0
  128. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_response_effective_policy_origin.rb +14 -0
  129. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_response_effective_policy_retention.rb +16 -0
  130. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_response_effective_policy_sleep_policy.rb +17 -0
  131. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_response_effective_policy_sleep_policy_idle.rb +11 -0
  132. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_response_effective_policy_sleep_policy_idle_after.rb +16 -0
  133. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_response_effective_policy_sleep_policy_never.rb +9 -0
  134. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_request.rb +35 -0
  135. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_request_language.rb +15 -0
  136. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_request_retention.rb +16 -0
  137. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_request_sleep_policy.rb +17 -0
  138. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_request_sleep_policy_idle.rb +11 -0
  139. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_request_sleep_policy_idle_after.rb +16 -0
  140. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_request_sleep_policy_never.rb +9 -0
  141. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_response.rb +2 -0
  142. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_response_effective_policy.rb +23 -0
  143. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_response_effective_policy_metering.rb +14 -0
  144. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_response_effective_policy_origin.rb +14 -0
  145. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_response_effective_policy_retention.rb +16 -0
  146. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_response_effective_policy_sleep_policy.rb +17 -0
  147. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_response_effective_policy_sleep_policy_idle.rb +11 -0
  148. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_response_effective_policy_sleep_policy_idle_after.rb +16 -0
  149. data/generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_response_effective_policy_sleep_policy_never.rb +9 -0
  150. data/generated/lib/runtype/types/agent_ensure_bad_request.rb +11 -0
  151. data/generated/lib/runtype/types/agent_ensure_bad_request_code.rb +11 -0
  152. data/generated/lib/runtype/types/agent_ensure_deploy_target.rb +15 -0
  153. data/generated/lib/runtype/types/agent_ensure_deployment.rb +20 -0
  154. data/generated/lib/runtype/types/agent_ensure_response_changed_keys.rb +2 -0
  155. data/generated/lib/runtype/types/agent_ensure_response_changed_keys_deployment.rb +20 -0
  156. data/generated/lib/runtype/types/agent_ensure_response_version_id.rb +4 -0
  157. data/generated/lib/runtype/types/agent_ensure_server_error.rb +13 -0
  158. data/generated/lib/runtype/types/agent_ensure_server_error_code.rb +11 -0
  159. data/generated/lib/runtype/types/agent_pull_response_definition_config.rb +2 -0
  160. data/generated/lib/runtype/types/agent_pull_response_definition_config_context_management.rb +11 -0
  161. data/generated/lib/runtype/types/agent_pull_response_definition_config_context_management_compaction.rb +21 -0
  162. data/generated/lib/runtype/types/agent_pull_response_definition_config_context_management_compaction_strategy.rb +13 -0
  163. data/generated/lib/runtype/types/agent_pull_response_definition_config_context_management_tool_results.rb +13 -0
  164. data/generated/lib/runtype/types/agent_pull_response_definition_config_context_management_tool_results_prune_mode.rb +12 -0
  165. data/generated/lib/runtype/types/agent_pull_response_definition_config_voice.rb +8 -0
  166. data/generated/lib/runtype/types/agent_pull_response_definition_config_voice_endpointing.rb +11 -0
  167. data/generated/lib/runtype/types/agent_pull_response_definition_config_voice_endpointing_strategy.rb +14 -0
  168. data/generated/lib/runtype/types/agent_pull_response_definition_config_voice_speech.rb +13 -0
  169. data/generated/lib/runtype/types/agent_pull_response_definition_config_voice_speech_mode.rb +13 -0
  170. data/generated/lib/runtype/types/agent_pull_response_definition_config_voice_speech_synthesizer.rb +15 -0
  171. data/generated/lib/runtype/types/agent_pull_response_definition_config_voice_speech_synthesizer_settings.rb +11 -0
  172. data/generated/lib/runtype/types/agent_pull_response_definition_config_voice_speech_transcriber.rb +11 -0
  173. data/generated/lib/runtype/types/dispatch_continuation_json_response.rb +2 -0
  174. data/generated/lib/runtype/types/dispatch_detached_tool_output_json_response.rb +13 -0
  175. data/generated/lib/runtype/types/dispatch_detached_tool_output_json_response_pause_kind.rb +12 -0
  176. data/generated/lib/runtype/types/dispatch_detached_tool_output_json_response_status.rb +11 -0
  177. data/generated/lib/runtype/types/dispatch_resume_json_response.rb +13 -0
  178. data/generated/lib/runtype/types/ensure_version_metadata.rb +13 -0
  179. data/generated/lib/runtype/types/eval_run_scores_response_cases_item.rb +2 -0
  180. data/generated/lib/runtype/types/execution_stream_event.rb +2 -0
  181. data/generated/lib/runtype/types/execution_stream_event_context_notice.rb +29 -0
  182. data/generated/lib/runtype/types/execution_stream_event_context_notice_kind.rb +11 -0
  183. data/generated/lib/runtype/types/execution_stream_event_context_notice_outcome.rb +14 -0
  184. data/generated/lib/runtype/types/execution_stream_event_context_notice_phase.rb +12 -0
  185. data/generated/lib/runtype/types/execution_stream_event_context_notice_reason.rb +15 -0
  186. data/generated/lib/runtype/types/execution_stream_event_context_notice_strategy.rb +12 -0
  187. data/generated/lib/runtype/types/not_found_error_body_code.rb +11 -0
  188. data/generated/lib/runtype/types/precondition_failed_error_body.rb +17 -0
  189. data/generated/lib/runtype/types/precondition_failed_error_body_code.rb +11 -0
  190. data/generated/lib/runtype/types/run_eval_response_cases_item.rb +2 -0
  191. data/generated/lib/runtype.rb +154 -5
  192. data/lib/runtype/agent_definition.rb +1 -1
  193. data/lib/runtype/client.rb +22 -2
  194. data/lib/runtype/detached_follow.rb +136 -0
  195. data/lib/runtype/local_tool_runner.rb +117 -16
  196. data/lib/runtype/sdk_version.rb +1 -1
  197. data/lib/runtype.rb +1 -0
  198. metadata +151 -1
@@ -60,6 +60,9 @@ module Runtype
60
60
  # @return [Hash] the final JSON response body.
61
61
  def dispatch_with_local_tools(registry, params, max_rounds, request_options)
62
62
  response = dispatch(request_options: request_options, **params)
63
+ answered = AnsweredCalls.new
64
+ replayed = false
65
+ cursor = nil
63
66
  rounds = 0
64
67
 
65
68
  while response["status"] == "paused"
@@ -69,11 +72,27 @@ module Runtype
69
72
  return response unless collector.paused?
70
73
 
71
74
  raise_local_tool_round_limit(max_rounds) if (rounds += 1) > max_rounds
72
- response = resume(
73
- execution_id: collector.batch_execution_id,
74
- tool_outputs: registry.execute(collector.batch),
75
- request_options: request_options
75
+ cursor ||= Runtype::DetachedFollow.resume_cursor_of(response["events"])
76
+ batch = replayed ? answered.fresh(collector.batch) : answered.record(collector.batch)
77
+ if batch.any?
78
+ response = resume(
79
+ execution_id: collector.batch_execution_id,
80
+ tool_outputs: registry.execute(batch),
81
+ request_options: request_options
82
+ )
83
+ # A buffered continuation answers the leg in full; only a durable-lane
84
+ # acknowledgement needs the run's events followed instead.
85
+ next unless Runtype::DetachedFollow.detached_ack?(response)
86
+ end
87
+
88
+ # Followed events can replay the await these outputs just answered;
89
+ # an all-answered batch means the run is still going, so read on.
90
+ followed = Runtype::DetachedFollow.follow_buffered(
91
+ self, collector.batch_execution_id, after: cursor, request_options: request_options
76
92
  )
93
+ response = followed.envelope
94
+ cursor = followed.cursor
95
+ replayed = true
77
96
  end
78
97
 
79
98
  response
@@ -81,29 +100,111 @@ module Runtype
81
100
 
82
101
  # @return [Runtype::Streaming::EventStream] the last leg's stream.
83
102
  def stream_with_local_tools(registry, params, max_rounds, request_options)
84
- collector = Runtype::LocalTools::PauseCollector.new
103
+ leg = StreamLeg.new
85
104
  stream = dispatch_stream(request_options: request_options, **params) do |event|
86
- collector.observe(event)
105
+ leg.observe(event)
87
106
  yield event
88
107
  end
108
+ answered = AnsweredCalls.new
89
109
  rounds = 0
90
110
 
91
- while collector.paused?
92
- raise_local_tool_round_limit(max_rounds) if (rounds += 1) > max_rounds
93
- outputs = registry.execute(collector.batch)
94
- execution_id = collector.batch_execution_id
95
- collector = Runtype::LocalTools::PauseCollector.new
96
- stream = resume_stream(
97
- execution_id: execution_id, tool_outputs: outputs, request_options: request_options
98
- ) do |event|
99
- collector.observe(event)
100
- yield event
111
+ loop do
112
+ batch = leg.replayed? ? answered.fresh(leg.collector.batch) : answered.record(leg.collector.batch)
113
+ if batch.any?
114
+ raise_local_tool_round_limit(max_rounds) if (rounds += 1) > max_rounds
115
+ outputs = registry.execute(batch)
116
+ execution_id = leg.collector.batch_execution_id
117
+ leg = StreamLeg.new
118
+ stream = resume_stream(
119
+ execution_id: execution_id, tool_outputs: outputs, request_options: request_options
120
+ ) do |event|
121
+ leg.observe(event)
122
+ yield event
123
+ end
124
+ elsif leg.follow?
125
+ # The leg closed on a detached `await`, or replayed only awaits this
126
+ # loop already answered: the run kept going on the platform, so its
127
+ # events are followed from where this leg stopped.
128
+ raise_local_tool_round_limit(max_rounds) if (rounds += 1) > max_rounds
129
+ execution_id = leg.execution_id || stream.execution_id
130
+ after = stream.last_event_id
131
+ leg = StreamLeg.new(replayed: true)
132
+ stream = execution_events_stream(execution_id, after: after, request_options: request_options) do |event|
133
+ leg.observe(event)
134
+ yield event
135
+ end
136
+ else
137
+ break
101
138
  end
102
139
  end
103
140
 
104
141
  stream
105
142
  end
106
143
 
144
+ # The local-tool calls one `run_with_local_tools` invocation has already
145
+ # answered. A followed replay can re-deliver an `await` whose output the
146
+ # server already holds; answering it again would run the handler twice.
147
+ class AnsweredCalls
148
+ def initialize
149
+ @keys = {}
150
+ end
151
+
152
+ # A leg the server answered directly (a dispatch or resume continuation)
153
+ # is authoritative: every call in it is new, even a repeat of a key the
154
+ # server re-requested.
155
+ #
156
+ # @param batch [Array<Runtype::LocalTools::PausedCall>]
157
+ # @return [Array<Runtype::LocalTools::PausedCall>] `batch`, recorded.
158
+ def record(batch)
159
+ batch.each { |call| @keys[call.output_key] = true }
160
+ end
161
+
162
+ # A followed replay can carry awaits already answered.
163
+ #
164
+ # @param batch [Array<Runtype::LocalTools::PausedCall>]
165
+ # @return [Array<Runtype::LocalTools::PausedCall>] the calls not yet
166
+ # answered, now recorded.
167
+ def fresh(batch)
168
+ record(batch.reject { |call| @keys.key?(call.output_key) })
169
+ end
170
+ end
171
+ private_constant :AnsweredCalls
172
+
173
+ # One streamed leg of the loop: the local-tool pauses it carried and
174
+ # whether it closed on a detached await.
175
+ class StreamLeg
176
+ attr_reader :collector, :execution_id
177
+
178
+ # @param replayed [Boolean] whether this leg reads the events alias,
179
+ # which can re-deliver awaits already answered.
180
+ def initialize(replayed: false)
181
+ @collector = Runtype::LocalTools::PauseCollector.new
182
+ @replayed = replayed
183
+ @detached = false
184
+ @execution_id = nil
185
+ end
186
+
187
+ # @return [Boolean]
188
+ def replayed?
189
+ @replayed
190
+ end
191
+
192
+ # @param event [Runtype::Streaming::Event]
193
+ # @return [void]
194
+ def observe(event)
195
+ @collector.observe(event)
196
+ @execution_id ||= event.execution_id
197
+ @detached = true if event.detached?
198
+ end
199
+
200
+ # @return [Boolean] the leg ended without a terminal frame while the run
201
+ # continues: on a detached await, or on awaits already answered.
202
+ def follow?
203
+ @detached || @collector.paused?
204
+ end
205
+ end
206
+ private_constant :StreamLeg
207
+
107
208
  # @raise [Runtype::LocalToolError]
108
209
  def raise_local_tool_round_limit(max_rounds)
109
210
  raise Runtype::LocalToolError, "Execution kept pausing on local tools after #{max_rounds} resume rounds"
@@ -8,7 +8,7 @@ module Runtype
8
8
  # generator). The generated barrel does not require that file, so nothing
9
9
  # collides today, but re-declaring it here would make the overlay's version
10
10
  # depend on generator require order.
11
- SDK_VERSION = "0.2.0"
11
+ SDK_VERSION = "0.2.1"
12
12
 
13
13
  # Outbound User-Agent identifying the SDK kind, version, and language, e.g.
14
14
  # "runtype-sdk/0.1.0 (ruby)". The `runtype-sdk/` prefix is what the API's
data/lib/runtype.rb CHANGED
@@ -34,6 +34,7 @@ require_relative "runtype/canonical_json"
34
34
  require_relative "runtype/agent_definition"
35
35
  require_relative "runtype/agent_ensure"
36
36
  require_relative "runtype/local_tools"
37
+ require_relative "runtype/detached_follow"
37
38
  require_relative "runtype/local_tool_runner"
38
39
  require_relative "runtype/client"
39
40
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: runtype
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Runtype Labs
@@ -32,6 +32,21 @@ files:
32
32
  - generated/lib/runtype/a2a/types/get_v1products_product_id_surfaces_surface_id_a2a_well_known_agent_card_json_response.rb
33
33
  - generated/lib/runtype/a2a/types/get_v1products_product_id_surfaces_surface_id_a2a_well_known_agent_card_json_response_provider.rb
34
34
  - generated/lib/runtype/a2a/types/post_v1products_product_id_surfaces_surface_id_a2a_request.rb
35
+ - generated/lib/runtype/agent_aliases/client.rb
36
+ - generated/lib/runtype/agent_aliases/types/delete_v1agents_id_aliases_alias_request.rb
37
+ - generated/lib/runtype/agent_aliases/types/delete_v1agents_id_aliases_alias_response.rb
38
+ - generated/lib/runtype/agent_aliases/types/get_v1agents_id_aliases_alias_request.rb
39
+ - generated/lib/runtype/agent_aliases/types/get_v1agents_id_aliases_alias_response.rb
40
+ - generated/lib/runtype/agent_aliases/types/get_v1agents_id_aliases_request.rb
41
+ - generated/lib/runtype/agent_aliases/types/get_v1agents_id_aliases_response.rb
42
+ - generated/lib/runtype/agent_aliases/types/get_v1agents_id_aliases_response_data_item.rb
43
+ - generated/lib/runtype/agent_aliases/types/get_v1agents_id_deployments_request.rb
44
+ - generated/lib/runtype/agent_aliases/types/get_v1agents_id_deployments_response.rb
45
+ - generated/lib/runtype/agent_aliases/types/get_v1agents_id_deployments_response_data_item.rb
46
+ - generated/lib/runtype/agent_aliases/types/post_v1agents_id_aliases_alias_rollback_request.rb
47
+ - generated/lib/runtype/agent_aliases/types/post_v1agents_id_aliases_alias_rollback_response.rb
48
+ - generated/lib/runtype/agent_aliases/types/put_v1agents_id_aliases_alias_request.rb
49
+ - generated/lib/runtype/agent_aliases/types/put_v1agents_id_aliases_alias_response.rb
35
50
  - generated/lib/runtype/agent_versions/client.rb
36
51
  - generated/lib/runtype/agent_versions/types/get_v1agent_versions_agent_id_published_request.rb
37
52
  - generated/lib/runtype/agent_versions/types/get_v1agent_versions_agent_id_published_response.rb
@@ -57,6 +72,8 @@ files:
57
72
  - generated/lib/runtype/agents/types/get_v1agents_id_executions_execution_id_events_request.rb
58
73
  - generated/lib/runtype/agents/types/get_v1agents_id_executions_execution_id_request.rb
59
74
  - generated/lib/runtype/agents/types/get_v1agents_id_executions_execution_id_response.rb
75
+ - generated/lib/runtype/agents/types/get_v1agents_id_executions_execution_id_response_agent_target_resolution.rb
76
+ - generated/lib/runtype/agents/types/get_v1agents_id_executions_execution_id_response_agent_version.rb
60
77
  - generated/lib/runtype/agents/types/get_v1agents_id_executions_execution_id_response_execution_mode.rb
61
78
  - generated/lib/runtype/agents/types/get_v1agents_id_executions_execution_id_response_notification_mode.rb
62
79
  - generated/lib/runtype/agents/types/get_v1agents_id_executions_execution_id_response_pending_approval.rb
@@ -71,6 +88,8 @@ files:
71
88
  - generated/lib/runtype/agents/types/get_v1agents_id_executions_request_view.rb
72
89
  - generated/lib/runtype/agents/types/get_v1agents_id_executions_response.rb
73
90
  - generated/lib/runtype/agents/types/get_v1agents_id_executions_response_data_item.rb
91
+ - generated/lib/runtype/agents/types/get_v1agents_id_executions_response_data_item_agent_target_resolution.rb
92
+ - generated/lib/runtype/agents/types/get_v1agents_id_executions_response_data_item_agent_version.rb
74
93
  - generated/lib/runtype/agents/types/get_v1agents_id_executions_response_data_item_execution_mode.rb
75
94
  - generated/lib/runtype/agents/types/get_v1agents_id_executions_response_data_item_notification_mode.rb
76
95
  - generated/lib/runtype/agents/types/get_v1agents_id_executions_response_data_item_pending_approval.rb
@@ -81,6 +100,8 @@ files:
81
100
  - generated/lib/runtype/agents/types/get_v1agents_id_request.rb
82
101
  - generated/lib/runtype/agents/types/get_v1agents_id_response.rb
83
102
  - generated/lib/runtype/agents/types/get_v1agents_id_response_capabilities_item.rb
103
+ - generated/lib/runtype/agents/types/get_v1agents_id_response_sandbox_capability_issues_item.rb
104
+ - generated/lib/runtype/agents/types/get_v1agents_id_response_sandbox_capability_issues_item_code.rb
84
105
  - generated/lib/runtype/agents/types/get_v1agents_id_runs_request.rb
85
106
  - generated/lib/runtype/agents/types/get_v1agents_id_runs_response.rb
86
107
  - generated/lib/runtype/agents/types/get_v1agents_id_runs_run_id_request.rb
@@ -88,15 +109,23 @@ files:
88
109
  - generated/lib/runtype/agents/types/get_v1agents_pull_request.rb
89
110
  - generated/lib/runtype/agents/types/get_v1agents_request.rb
90
111
  - generated/lib/runtype/agents/types/get_v1agents_request_agent_type.rb
112
+ - generated/lib/runtype/agents/types/get_v1agents_request_managed_in_code.rb
91
113
  - generated/lib/runtype/agents/types/get_v1agents_request_view.rb
92
114
  - generated/lib/runtype/agents/types/get_v1agents_response.rb
93
115
  - generated/lib/runtype/agents/types/get_v1agents_response_data_item.rb
116
+ - generated/lib/runtype/agents/types/get_v1agents_response_data_item_sandbox_capability_issues_item.rb
117
+ - generated/lib/runtype/agents/types/get_v1agents_response_data_item_sandbox_capability_issues_item_code.rb
94
118
  - generated/lib/runtype/agents/types/post_v1agents_ensure_request.rb
95
119
  - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition.rb
96
120
  - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config.rb
97
121
  - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_advisor.rb
98
122
  - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_artifacts.rb
99
123
  - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_artifacts_types_item.rb
124
+ - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_context_management.rb
125
+ - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_context_management_compaction.rb
126
+ - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_context_management_compaction_strategy.rb
127
+ - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_context_management_tool_results.rb
128
+ - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_context_management_tool_results_prune_mode.rb
100
129
  - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_durability.rb
101
130
  - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_durability_forced.rb
102
131
  - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_error_handling.rb
@@ -153,7 +182,14 @@ files:
153
182
  - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_tools_tool_call_strategy.rb
154
183
  - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_voice.rb
155
184
  - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_voice_eleven_labs.rb
185
+ - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_voice_endpointing.rb
186
+ - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_voice_endpointing_strategy.rb
156
187
  - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_voice_interruption_mode.rb
188
+ - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_voice_speech.rb
189
+ - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_voice_speech_mode.rb
190
+ - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_voice_speech_synthesizer.rb
191
+ - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_voice_speech_synthesizer_settings.rb
192
+ - generated/lib/runtype/agents/types/post_v1agents_ensure_request_definition_config_voice_speech_transcriber.rb
157
193
  - generated/lib/runtype/agents/types/post_v1agents_ensure_request_on_conflict.rb
158
194
  - generated/lib/runtype/agents/types/post_v1agents_ensure_request_release.rb
159
195
  - generated/lib/runtype/agents/types/post_v1agents_fetch_agent_card_request.rb
@@ -196,6 +232,11 @@ files:
196
232
  - generated/lib/runtype/agents/types/post_v1agents_request_config_advisor.rb
197
233
  - generated/lib/runtype/agents/types/post_v1agents_request_config_artifacts.rb
198
234
  - generated/lib/runtype/agents/types/post_v1agents_request_config_artifacts_types_item.rb
235
+ - generated/lib/runtype/agents/types/post_v1agents_request_config_context_management.rb
236
+ - generated/lib/runtype/agents/types/post_v1agents_request_config_context_management_compaction.rb
237
+ - generated/lib/runtype/agents/types/post_v1agents_request_config_context_management_compaction_strategy.rb
238
+ - generated/lib/runtype/agents/types/post_v1agents_request_config_context_management_tool_results.rb
239
+ - generated/lib/runtype/agents/types/post_v1agents_request_config_context_management_tool_results_prune_mode.rb
199
240
  - generated/lib/runtype/agents/types/post_v1agents_request_config_durability.rb
200
241
  - generated/lib/runtype/agents/types/post_v1agents_request_config_durability_forced.rb
201
242
  - generated/lib/runtype/agents/types/post_v1agents_request_config_error_handling.rb
@@ -252,7 +293,14 @@ files:
252
293
  - generated/lib/runtype/agents/types/post_v1agents_request_config_tools_tool_call_strategy.rb
253
294
  - generated/lib/runtype/agents/types/post_v1agents_request_config_voice.rb
254
295
  - generated/lib/runtype/agents/types/post_v1agents_request_config_voice_eleven_labs.rb
296
+ - generated/lib/runtype/agents/types/post_v1agents_request_config_voice_endpointing.rb
297
+ - generated/lib/runtype/agents/types/post_v1agents_request_config_voice_endpointing_strategy.rb
255
298
  - generated/lib/runtype/agents/types/post_v1agents_request_config_voice_interruption_mode.rb
299
+ - generated/lib/runtype/agents/types/post_v1agents_request_config_voice_speech.rb
300
+ - generated/lib/runtype/agents/types/post_v1agents_request_config_voice_speech_mode.rb
301
+ - generated/lib/runtype/agents/types/post_v1agents_request_config_voice_speech_synthesizer.rb
302
+ - generated/lib/runtype/agents/types/post_v1agents_request_config_voice_speech_synthesizer_settings.rb
303
+ - generated/lib/runtype/agents/types/post_v1agents_request_config_voice_speech_transcriber.rb
256
304
  - generated/lib/runtype/agents/types/post_v1agents_request_external_config.rb
257
305
  - generated/lib/runtype/agents/types/post_v1agents_request_external_config_auth.rb
258
306
  - generated/lib/runtype/agents/types/post_v1agents_request_external_config_auth_type.rb
@@ -274,6 +322,8 @@ files:
274
322
  - generated/lib/runtype/agents/types/post_v1agents_request_external_config_skills_override_item_role.rb
275
323
  - generated/lib/runtype/agents/types/post_v1agents_response.rb
276
324
  - generated/lib/runtype/agents/types/post_v1agents_response_capabilities_item.rb
325
+ - generated/lib/runtype/agents/types/post_v1agents_response_sandbox_capability_issues_item.rb
326
+ - generated/lib/runtype/agents/types/post_v1agents_response_sandbox_capability_issues_item_code.rb
277
327
  - generated/lib/runtype/agents/types/put_v1agents_id_request.rb
278
328
  - generated/lib/runtype/agents/types/put_v1agents_id_request_agent_type.rb
279
329
  - generated/lib/runtype/agents/types/put_v1agents_id_request_claude_managed_config.rb
@@ -287,6 +337,11 @@ files:
287
337
  - generated/lib/runtype/agents/types/put_v1agents_id_request_config_advisor.rb
288
338
  - generated/lib/runtype/agents/types/put_v1agents_id_request_config_artifacts.rb
289
339
  - generated/lib/runtype/agents/types/put_v1agents_id_request_config_artifacts_types_item.rb
340
+ - generated/lib/runtype/agents/types/put_v1agents_id_request_config_context_management.rb
341
+ - generated/lib/runtype/agents/types/put_v1agents_id_request_config_context_management_compaction.rb
342
+ - generated/lib/runtype/agents/types/put_v1agents_id_request_config_context_management_compaction_strategy.rb
343
+ - generated/lib/runtype/agents/types/put_v1agents_id_request_config_context_management_tool_results.rb
344
+ - generated/lib/runtype/agents/types/put_v1agents_id_request_config_context_management_tool_results_prune_mode.rb
290
345
  - generated/lib/runtype/agents/types/put_v1agents_id_request_config_durability.rb
291
346
  - generated/lib/runtype/agents/types/put_v1agents_id_request_config_durability_forced.rb
292
347
  - generated/lib/runtype/agents/types/put_v1agents_id_request_config_error_handling.rb
@@ -343,7 +398,14 @@ files:
343
398
  - generated/lib/runtype/agents/types/put_v1agents_id_request_config_tools_tool_call_strategy.rb
344
399
  - generated/lib/runtype/agents/types/put_v1agents_id_request_config_voice.rb
345
400
  - generated/lib/runtype/agents/types/put_v1agents_id_request_config_voice_eleven_labs.rb
401
+ - generated/lib/runtype/agents/types/put_v1agents_id_request_config_voice_endpointing.rb
402
+ - generated/lib/runtype/agents/types/put_v1agents_id_request_config_voice_endpointing_strategy.rb
346
403
  - generated/lib/runtype/agents/types/put_v1agents_id_request_config_voice_interruption_mode.rb
404
+ - generated/lib/runtype/agents/types/put_v1agents_id_request_config_voice_speech.rb
405
+ - generated/lib/runtype/agents/types/put_v1agents_id_request_config_voice_speech_mode.rb
406
+ - generated/lib/runtype/agents/types/put_v1agents_id_request_config_voice_speech_synthesizer.rb
407
+ - generated/lib/runtype/agents/types/put_v1agents_id_request_config_voice_speech_synthesizer_settings.rb
408
+ - generated/lib/runtype/agents/types/put_v1agents_id_request_config_voice_speech_transcriber.rb
347
409
  - generated/lib/runtype/agents/types/put_v1agents_id_request_external_config.rb
348
410
  - generated/lib/runtype/agents/types/put_v1agents_id_request_external_config_auth.rb
349
411
  - generated/lib/runtype/agents/types/put_v1agents_id_request_external_config_auth_type.rb
@@ -364,6 +426,8 @@ files:
364
426
  - generated/lib/runtype/agents/types/put_v1agents_id_request_external_config_skills_override_item.rb
365
427
  - generated/lib/runtype/agents/types/put_v1agents_id_request_external_config_skills_override_item_role.rb
366
428
  - generated/lib/runtype/agents/types/put_v1agents_id_response.rb
429
+ - generated/lib/runtype/agents/types/put_v1agents_id_response_sandbox_capability_issues_item.rb
430
+ - generated/lib/runtype/agents/types/put_v1agents_id_response_sandbox_capability_issues_item_code.rb
367
431
  - generated/lib/runtype/analytics/client.rb
368
432
  - generated/lib/runtype/analytics/types/get_v1analytics_end_user_usage_request.rb
369
433
  - generated/lib/runtype/analytics/types/get_v1analytics_end_user_usage_request_period.rb
@@ -699,6 +763,8 @@ files:
699
763
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_artifacts_types_item.rb
700
764
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_claude_managed_config.rb
701
765
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_claude_managed_config_setup_mode.rb
766
+ - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_durability.rb
767
+ - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_durability_forced.rb
702
768
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_error_handling.rb
703
769
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_error_handling_fallbacks_item.rb
704
770
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_error_handling_fallbacks_item_message.rb
@@ -745,7 +811,14 @@ files:
745
811
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_tools_tool_search.rb
746
812
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_voice.rb
747
813
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_voice_eleven_labs.rb
814
+ - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_voice_endpointing.rb
815
+ - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_voice_endpointing_strategy.rb
748
816
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_voice_interruption_mode.rb
817
+ - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_voice_speech.rb
818
+ - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_voice_speech_mode.rb
819
+ - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_voice_speech_synthesizer.rb
820
+ - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_voice_speech_synthesizer_settings.rb
821
+ - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_agent_voice_speech_transcriber.rb
749
822
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_client_tools_item.rb
750
823
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_client_tools_item_catalog.rb
751
824
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_client_tools_item_catalog_catalog.rb
@@ -789,6 +862,8 @@ files:
789
862
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_artifacts_types_item.rb
790
863
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_claude_managed_config.rb
791
864
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_claude_managed_config_setup_mode.rb
865
+ - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_durability.rb
866
+ - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_durability_forced.rb
792
867
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_error_handling.rb
793
868
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_error_handling_fallbacks_item.rb
794
869
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_error_handling_fallbacks_item_message.rb
@@ -835,7 +910,14 @@ files:
835
910
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_tools_tool_search.rb
836
911
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_voice.rb
837
912
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_voice_eleven_labs.rb
913
+ - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_voice_endpointing.rb
914
+ - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_voice_endpointing_strategy.rb
838
915
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_voice_interruption_mode.rb
916
+ - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_voice_speech.rb
917
+ - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_voice_speech_mode.rb
918
+ - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_voice_speech_synthesizer.rb
919
+ - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_voice_speech_synthesizer_settings.rb
920
+ - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_agent_voice_speech_transcriber.rb
839
921
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_client_tools_item.rb
840
922
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_client_tools_item_catalog.rb
841
923
  - generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_client_tools_item_catalog_catalog.rb
@@ -941,6 +1023,7 @@ files:
941
1023
  - generated/lib/runtype/evals/types/get_v1eval_group_group_id_response.rb
942
1024
  - generated/lib/runtype/evals/types/get_v1eval_id_results_request.rb
943
1025
  - generated/lib/runtype/evals/types/get_v1eval_id_results_response.rb
1026
+ - generated/lib/runtype/evals/types/get_v1eval_id_results_response_case_errors_item.rb
944
1027
  - generated/lib/runtype/evals/types/get_v1eval_id_results_response_results_by_record_value_item.rb
945
1028
  - generated/lib/runtype/evals/types/get_v1eval_id_results_response_results_by_record_value_item_execution_engine.rb
946
1029
  - generated/lib/runtype/evals/types/get_v1eval_id_results_response_results_by_record_value_item_tool_calls_item.rb
@@ -1053,11 +1136,14 @@ files:
1053
1136
  - generated/lib/runtype/evals/types/post_v1eval_suites_request_recorded_tool_mode.rb
1054
1137
  - generated/lib/runtype/evals/types/post_v1eval_suites_request_recorded_tool_unmatched_policy.rb
1055
1138
  - generated/lib/runtype/executions/client.rb
1139
+ - generated/lib/runtype/executions/types/get_v1executions_execution_id_events_request.rb
1056
1140
  - generated/lib/runtype/executions/types/get_v1executions_execution_id_journal_request.rb
1057
1141
  - generated/lib/runtype/executions/types/get_v1executions_execution_id_journal_response.rb
1058
1142
  - generated/lib/runtype/executions/types/get_v1executions_execution_id_journal_response_journal_events_item.rb
1059
1143
  - generated/lib/runtype/executions/types/get_v1executions_execution_id_status_request.rb
1060
1144
  - generated/lib/runtype/executions/types/get_v1executions_execution_id_status_response.rb
1145
+ - generated/lib/runtype/executions/types/get_v1executions_execution_id_status_response_agent_target_resolution.rb
1146
+ - generated/lib/runtype/executions/types/get_v1executions_execution_id_status_response_agent_version.rb
1061
1147
  - generated/lib/runtype/executions/types/get_v1executions_execution_id_status_response_status.rb
1062
1148
  - generated/lib/runtype/executions/types/get_v1executions_execution_id_status_response_target_kind.rb
1063
1149
  - generated/lib/runtype/feedback/client.rb
@@ -2164,8 +2250,38 @@ files:
2164
2250
  - generated/lib/runtype/tools/types/post_v1tools_response_validation.rb
2165
2251
  - generated/lib/runtype/tools/types/post_v1tools_response_validation_warnings_item.rb
2166
2252
  - generated/lib/runtype/tools/types/post_v1tools_response_validation_warnings_item_severity.rb
2253
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_request.rb
2254
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_request_language.rb
2255
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_request_retention.rb
2256
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_request_sleep_policy.rb
2257
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_request_sleep_policy_idle.rb
2258
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_request_sleep_policy_idle_after.rb
2259
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_request_sleep_policy_never.rb
2167
2260
  - generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_response.rb
2261
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_response_effective_policy.rb
2262
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_response_effective_policy_metering.rb
2263
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_response_effective_policy_origin.rb
2264
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_response_effective_policy_retention.rb
2265
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_response_effective_policy_sleep_policy.rb
2266
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_response_effective_policy_sleep_policy_idle.rb
2267
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_response_effective_policy_sleep_policy_idle_after.rb
2268
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_cf_sandbox_deploy_response_effective_policy_sleep_policy_never.rb
2269
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_request.rb
2270
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_request_language.rb
2271
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_request_retention.rb
2272
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_request_sleep_policy.rb
2273
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_request_sleep_policy_idle.rb
2274
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_request_sleep_policy_idle_after.rb
2275
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_request_sleep_policy_never.rb
2168
2276
  - generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_response.rb
2277
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_response_effective_policy.rb
2278
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_response_effective_policy_metering.rb
2279
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_response_effective_policy_origin.rb
2280
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_response_effective_policy_retention.rb
2281
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_response_effective_policy_sleep_policy.rb
2282
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_response_effective_policy_sleep_policy_idle.rb
2283
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_response_effective_policy_sleep_policy_idle_after.rb
2284
+ - generated/lib/runtype/tools/types/post_v1tools_sandbox_deploy_response_effective_policy_sleep_policy_never.rb
2169
2285
  - generated/lib/runtype/tools/types/put_v1tools_id_request.rb
2170
2286
  - generated/lib/runtype/tools/types/put_v1tools_id_response.rb
2171
2287
  - generated/lib/runtype/tools/types/put_v1tools_id_response_validation.rb
@@ -2214,24 +2330,36 @@ files:
2214
2330
  - generated/lib/runtype/types/agent_approve_request_decision.rb
2215
2331
  - generated/lib/runtype/types/agent_detached_approval_json_response.rb
2216
2332
  - generated/lib/runtype/types/agent_detached_approval_json_response_status.rb
2333
+ - generated/lib/runtype/types/agent_ensure_bad_request.rb
2334
+ - generated/lib/runtype/types/agent_ensure_bad_request_code.rb
2217
2335
  - generated/lib/runtype/types/agent_ensure_conflict.rb
2218
2336
  - generated/lib/runtype/types/agent_ensure_conflict_code.rb
2337
+ - generated/lib/runtype/types/agent_ensure_deploy_target.rb
2338
+ - generated/lib/runtype/types/agent_ensure_deployment.rb
2219
2339
  - generated/lib/runtype/types/agent_ensure_hash_mismatch.rb
2220
2340
  - generated/lib/runtype/types/agent_ensure_hash_mismatch_code.rb
2221
2341
  - generated/lib/runtype/types/agent_ensure_response.rb
2222
2342
  - generated/lib/runtype/types/agent_ensure_response_changed_keys.rb
2223
2343
  - generated/lib/runtype/types/agent_ensure_response_changed_keys_changes.rb
2344
+ - generated/lib/runtype/types/agent_ensure_response_changed_keys_deployment.rb
2224
2345
  - generated/lib/runtype/types/agent_ensure_response_changed_keys_result.rb
2225
2346
  - generated/lib/runtype/types/agent_ensure_response_one.rb
2226
2347
  - generated/lib/runtype/types/agent_ensure_response_one_result.rb
2227
2348
  - generated/lib/runtype/types/agent_ensure_response_version_id.rb
2228
2349
  - generated/lib/runtype/types/agent_ensure_response_version_id_result.rb
2350
+ - generated/lib/runtype/types/agent_ensure_server_error.rb
2351
+ - generated/lib/runtype/types/agent_ensure_server_error_code.rb
2229
2352
  - generated/lib/runtype/types/agent_pull_response.rb
2230
2353
  - generated/lib/runtype/types/agent_pull_response_definition.rb
2231
2354
  - generated/lib/runtype/types/agent_pull_response_definition_config.rb
2232
2355
  - generated/lib/runtype/types/agent_pull_response_definition_config_advisor.rb
2233
2356
  - generated/lib/runtype/types/agent_pull_response_definition_config_artifacts.rb
2234
2357
  - generated/lib/runtype/types/agent_pull_response_definition_config_artifacts_types_item.rb
2358
+ - generated/lib/runtype/types/agent_pull_response_definition_config_context_management.rb
2359
+ - generated/lib/runtype/types/agent_pull_response_definition_config_context_management_compaction.rb
2360
+ - generated/lib/runtype/types/agent_pull_response_definition_config_context_management_compaction_strategy.rb
2361
+ - generated/lib/runtype/types/agent_pull_response_definition_config_context_management_tool_results.rb
2362
+ - generated/lib/runtype/types/agent_pull_response_definition_config_context_management_tool_results_prune_mode.rb
2235
2363
  - generated/lib/runtype/types/agent_pull_response_definition_config_durability.rb
2236
2364
  - generated/lib/runtype/types/agent_pull_response_definition_config_durability_forced.rb
2237
2365
  - generated/lib/runtype/types/agent_pull_response_definition_config_error_handling.rb
@@ -2288,7 +2416,14 @@ files:
2288
2416
  - generated/lib/runtype/types/agent_pull_response_definition_config_tools_tool_call_strategy.rb
2289
2417
  - generated/lib/runtype/types/agent_pull_response_definition_config_voice.rb
2290
2418
  - generated/lib/runtype/types/agent_pull_response_definition_config_voice_eleven_labs.rb
2419
+ - generated/lib/runtype/types/agent_pull_response_definition_config_voice_endpointing.rb
2420
+ - generated/lib/runtype/types/agent_pull_response_definition_config_voice_endpointing_strategy.rb
2291
2421
  - generated/lib/runtype/types/agent_pull_response_definition_config_voice_interruption_mode.rb
2422
+ - generated/lib/runtype/types/agent_pull_response_definition_config_voice_speech.rb
2423
+ - generated/lib/runtype/types/agent_pull_response_definition_config_voice_speech_mode.rb
2424
+ - generated/lib/runtype/types/agent_pull_response_definition_config_voice_speech_synthesizer.rb
2425
+ - generated/lib/runtype/types/agent_pull_response_definition_config_voice_speech_synthesizer_settings.rb
2426
+ - generated/lib/runtype/types/agent_pull_response_definition_config_voice_speech_transcriber.rb
2292
2427
  - generated/lib/runtype/types/agent_resume_continuation_json_response.rb
2293
2428
  - generated/lib/runtype/types/agent_resume_continuation_json_response_status.rb
2294
2429
  - generated/lib/runtype/types/agent_resume_continuation_json_response_stop_reason.rb
@@ -2337,6 +2472,9 @@ files:
2337
2472
  - generated/lib/runtype/types/dispatch_continuation_json_response.rb
2338
2473
  - generated/lib/runtype/types/dispatch_detached_approval_json_response.rb
2339
2474
  - generated/lib/runtype/types/dispatch_detached_approval_json_response_status.rb
2475
+ - generated/lib/runtype/types/dispatch_detached_tool_output_json_response.rb
2476
+ - generated/lib/runtype/types/dispatch_detached_tool_output_json_response_pause_kind.rb
2477
+ - generated/lib/runtype/types/dispatch_detached_tool_output_json_response_status.rb
2340
2478
  - generated/lib/runtype/types/dispatch_flow_json_response.rb
2341
2479
  - generated/lib/runtype/types/dispatch_flow_json_response_execution_summary.rb
2342
2480
  - generated/lib/runtype/types/dispatch_flow_json_response_status.rb
@@ -2345,6 +2483,7 @@ files:
2345
2483
  - generated/lib/runtype/types/dispatch_paused_reason_crawl_pending.rb
2346
2484
  - generated/lib/runtype/types/dispatch_paused_reason_durable_poll.rb
2347
2485
  - generated/lib/runtype/types/dispatch_paused_reason_local_action.rb
2486
+ - generated/lib/runtype/types/dispatch_resume_json_response.rb
2348
2487
  - generated/lib/runtype/types/dispatch_tool_output_continuation_json_response.rb
2349
2488
  - generated/lib/runtype/types/dispatch_tool_output_continuation_json_response_status.rb
2350
2489
  - generated/lib/runtype/types/end_user_auth_jwks.rb
@@ -2357,6 +2496,7 @@ files:
2357
2496
  - generated/lib/runtype/types/enriched_skill_proposal_skill.rb
2358
2497
  - generated/lib/runtype/types/enriched_skill_proposal_version.rb
2359
2498
  - generated/lib/runtype/types/enriched_skill_proposal_version_manifest.rb
2499
+ - generated/lib/runtype/types/ensure_version_metadata.rb
2360
2500
  - generated/lib/runtype/types/error.rb
2361
2501
  - generated/lib/runtype/types/error_details_item.rb
2362
2502
  - generated/lib/runtype/types/eval_case.rb
@@ -2448,6 +2588,12 @@ files:
2448
2588
  - generated/lib/runtype/types/execution_stream_event_await_elicitation_requests_item_mode.rb
2449
2589
  - generated/lib/runtype/types/execution_stream_event_await_external_agent.rb
2450
2590
  - generated/lib/runtype/types/execution_stream_event_await_origin.rb
2591
+ - generated/lib/runtype/types/execution_stream_event_context_notice.rb
2592
+ - generated/lib/runtype/types/execution_stream_event_context_notice_kind.rb
2593
+ - generated/lib/runtype/types/execution_stream_event_context_notice_outcome.rb
2594
+ - generated/lib/runtype/types/execution_stream_event_context_notice_phase.rb
2595
+ - generated/lib/runtype/types/execution_stream_event_context_notice_reason.rb
2596
+ - generated/lib/runtype/types/execution_stream_event_context_notice_strategy.rb
2451
2597
  - generated/lib/runtype/types/execution_stream_event_custom.rb
2452
2598
  - generated/lib/runtype/types/execution_stream_event_error.rb
2453
2599
  - generated/lib/runtype/types/execution_stream_event_error_error.rb
@@ -2558,10 +2704,13 @@ files:
2558
2704
  - generated/lib/runtype/types/messaging_conversation_conflict_error_code.rb
2559
2705
  - generated/lib/runtype/types/messaging_send_undeliverable_error.rb
2560
2706
  - generated/lib/runtype/types/not_found_error_body.rb
2707
+ - generated/lib/runtype/types/not_found_error_body_code.rb
2561
2708
  - generated/lib/runtype/types/not_implemented_error_body.rb
2562
2709
  - generated/lib/runtype/types/not_implemented_error_body_code.rb
2563
2710
  - generated/lib/runtype/types/pagination.rb
2564
2711
  - generated/lib/runtype/types/payment_required_error_body.rb
2712
+ - generated/lib/runtype/types/precondition_failed_error_body.rb
2713
+ - generated/lib/runtype/types/precondition_failed_error_body_code.rb
2565
2714
  - generated/lib/runtype/types/product_ensure_conflict.rb
2566
2715
  - generated/lib/runtype/types/product_ensure_conflict_code.rb
2567
2716
  - generated/lib/runtype/types/product_ensure_hash_mismatch.rb
@@ -2739,6 +2888,7 @@ files:
2739
2888
  - lib/runtype/agent_ensure.rb
2740
2889
  - lib/runtype/canonical_json.rb
2741
2890
  - lib/runtype/client.rb
2891
+ - lib/runtype/detached_follow.rb
2742
2892
  - lib/runtype/errors.rb
2743
2893
  - lib/runtype/local_tool_runner.rb
2744
2894
  - lib/runtype/local_tools.rb