openai 0.101.1 → 0.102.0

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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/beta/agents/environment_create_params.rb +300 -0
  5. data/lib/openai/models/beta/agents/environment_info.rb +4 -1
  6. data/lib/openai/models/beta/agents/environment_list_params.rb +78 -0
  7. data/lib/openai/models/beta/environment_param.rb +12 -1
  8. data/lib/openai/models/webhooks/agent_environment_failed_webhook_event.rb +73 -0
  9. data/lib/openai/models/webhooks/agent_environment_ready_webhook_event.rb +73 -0
  10. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +9 -3
  11. data/lib/openai/models/webhooks/webhook_create_params.rb +2 -0
  12. data/lib/openai/models/webhooks/webhook_test_params.rb +2 -0
  13. data/lib/openai/models/webhooks/webhook_update_params.rb +2 -0
  14. data/lib/openai/resources/beta/agents/environments/files.rb +4 -2
  15. data/lib/openai/resources/beta/agents/environments/templates.rb +10 -5
  16. data/lib/openai/resources/beta/agents/environments.rb +80 -1
  17. data/lib/openai/resources/beta/agents/sessions/artifacts.rb +8 -5
  18. data/lib/openai/resources/beta/agents/sessions/events.rb +10 -4
  19. data/lib/openai/resources/beta/agents/sessions/items.rb +2 -1
  20. data/lib/openai/resources/beta/agents/sessions/subagents/items.rb +2 -1
  21. data/lib/openai/resources/beta/agents/sessions/subagents/turns/items.rb +2 -1
  22. data/lib/openai/resources/beta/agents/sessions/subagents/turns.rb +4 -2
  23. data/lib/openai/resources/beta/agents/sessions/subagents.rb +4 -2
  24. data/lib/openai/resources/beta/agents/sessions/traces.rb +2 -1
  25. data/lib/openai/resources/beta/agents/sessions/turns/items.rb +2 -1
  26. data/lib/openai/resources/beta/agents/sessions/turns.rb +4 -2
  27. data/lib/openai/resources/beta/agents/sessions.rb +16 -7
  28. data/lib/openai/resources/beta/agents/vaults/credentials.rb +10 -5
  29. data/lib/openai/resources/beta/agents/vaults.rb +8 -4
  30. data/lib/openai/resources/beta/agents.rb +10 -5
  31. data/lib/openai/resources/beta/assistants.rb +10 -5
  32. data/lib/openai/resources/beta/chatkit/sessions.rb +4 -2
  33. data/lib/openai/resources/beta/chatkit/threads.rb +8 -4
  34. data/lib/openai/resources/beta/threads/messages.rb +10 -5
  35. data/lib/openai/resources/beta/threads/runs/steps.rb +4 -2
  36. data/lib/openai/resources/beta/threads/runs.rb +24 -10
  37. data/lib/openai/resources/beta/threads.rb +16 -7
  38. data/lib/openai/resources/vector_stores/file_batches.rb +8 -10
  39. data/lib/openai/resources/vector_stores/files.rb +12 -12
  40. data/lib/openai/resources/vector_stores.rb +12 -6
  41. data/lib/openai/resources/webhooks.rb +1 -1
  42. data/lib/openai/version.rb +1 -1
  43. data/lib/openai.rb +4 -0
  44. data/rbi/openai/models/beta/agents/environment_create_params.rbi +499 -0
  45. data/rbi/openai/models/beta/agents/environment_info.rbi +3 -0
  46. data/rbi/openai/models/beta/agents/environment_list_params.rbi +136 -0
  47. data/rbi/openai/models/beta/environment_param.rbi +15 -0
  48. data/rbi/openai/models/webhooks/agent_environment_failed_webhook_event.rbi +134 -0
  49. data/rbi/openai/models/webhooks/agent_environment_ready_webhook_event.rbi +134 -0
  50. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +4 -2
  51. data/rbi/openai/models/webhooks/webhook_create_params.rbi +8 -0
  52. data/rbi/openai/models/webhooks/webhook_test_params.rbi +8 -0
  53. data/rbi/openai/models/webhooks/webhook_update_params.rbi +8 -0
  54. data/rbi/openai/resources/beta/agents/environments.rbi +53 -0
  55. data/rbi/openai/resources/webhooks.rbi +2 -0
  56. data/sig/openai/models/beta/agents/environment_create_params.rbs +268 -0
  57. data/sig/openai/models/beta/agents/environment_info.rbs +5 -1
  58. data/sig/openai/models/beta/agents/environment_list_params.rbs +97 -0
  59. data/sig/openai/models/beta/environment_param.rbs +14 -0
  60. data/sig/openai/models/webhooks/agent_environment_failed_webhook_event.rbs +70 -0
  61. data/sig/openai/models/webhooks/agent_environment_ready_webhook_event.rbs +70 -0
  62. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +3 -1
  63. data/sig/openai/models/webhooks/webhook_create_params.rbs +4 -0
  64. data/sig/openai/models/webhooks/webhook_test_params.rbs +4 -0
  65. data/sig/openai/models/webhooks/webhook_update_params.rbs +4 -0
  66. data/sig/openai/resources/beta/agents/environments.rbs +15 -0
  67. data/sig/openai/resources/webhooks.rbs +3 -1
  68. metadata +13 -1
@@ -69,6 +69,8 @@ module OpenAI
69
69
  REALTIME_CALL_INCOMING = :"realtime.call.incoming"
70
70
  VIDEO_COMPLETED = :"video.completed"
71
71
  VIDEO_FAILED = :"video.failed"
72
+ AGENT_ENVIRONMENT_READY = :"agent.environment.ready"
73
+ AGENT_ENVIRONMENT_FAILED = :"agent.environment.failed"
72
74
  AGENT_SESSION_CREATED = :"agent.session.created"
73
75
  AGENT_SESSION_ACTION_REQUIRED = :"agent.session.action_required"
74
76
  AGENT_SESSION_IN_PROGRESS = :"agent.session.in_progress"
@@ -59,10 +59,11 @@ module OpenAI
59
59
  @client.request(
60
60
  method: :post,
61
61
  path: ["agents/environments/%1$s/files", environment_id],
62
+ headers: {"openai-beta" => "agents=v1"},
62
63
  body: parsed[:hosted_environment_file_param],
63
64
  model: OpenAI::Beta::Agents::Environments::EnvironmentFile,
64
65
  security: {bearer_auth: true},
65
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
66
+ options: options
66
67
  )
67
68
  end
68
69
 
@@ -99,10 +100,11 @@ module OpenAI
99
100
  method: :get,
100
101
  path: ["agents/environments/%1$s/files", environment_id],
101
102
  query: query,
103
+ headers: {"openai-beta" => "agents=v1"},
102
104
  page: OpenAI::Internal::TokenPage,
103
105
  model: OpenAI::Beta::Agents::Environments::EnvironmentFile,
104
106
  security: {bearer_auth: true},
105
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
107
+ options: options
106
108
  )
107
109
  end
108
110
 
@@ -56,10 +56,11 @@ module OpenAI
56
56
  @client.request(
57
57
  method: :post,
58
58
  path: "agents/environments/templates",
59
+ headers: {"openai-beta" => "agents=v1"},
59
60
  body: parsed,
60
61
  model: OpenAI::Beta::Agents::Environments::EnvironmentTemplate,
61
62
  security: {bearer_auth: true},
62
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
63
+ options: options
63
64
  )
64
65
  end
65
66
 
@@ -81,9 +82,10 @@ module OpenAI
81
82
  @client.request(
82
83
  method: :get,
83
84
  path: ["agents/environments/templates/%1$s", environment_template_id],
85
+ headers: {"openai-beta" => "agents=v1"},
84
86
  model: OpenAI::Beta::Agents::Environments::EnvironmentTemplate,
85
87
  security: {bearer_auth: true},
86
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **params[:request_options].to_h}
88
+ options: params[:request_options]
87
89
  )
88
90
  end
89
91
 
@@ -137,10 +139,11 @@ module OpenAI
137
139
  @client.request(
138
140
  method: :post,
139
141
  path: ["agents/environments/templates/%1$s", environment_template_id],
142
+ headers: {"openai-beta" => "agents=v1"},
140
143
  body: parsed,
141
144
  model: OpenAI::Beta::Agents::Environments::EnvironmentTemplate,
142
145
  security: {bearer_auth: true},
143
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
146
+ options: options
144
147
  )
145
148
  end
146
149
 
@@ -170,10 +173,11 @@ module OpenAI
170
173
  method: :get,
171
174
  path: "agents/environments/templates",
172
175
  query: query,
176
+ headers: {"openai-beta" => "agents=v1"},
173
177
  page: OpenAI::Internal::CursorPage,
174
178
  model: OpenAI::Beta::Agents::Environments::EnvironmentTemplate,
175
179
  security: {bearer_auth: true},
176
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
180
+ options: options
177
181
  )
178
182
  end
179
183
 
@@ -195,9 +199,10 @@ module OpenAI
195
199
  @client.request(
196
200
  method: :delete,
197
201
  path: ["agents/environments/templates/%1$s", environment_template_id],
202
+ headers: {"openai-beta" => "agents=v1"},
198
203
  model: OpenAI::Beta::Agents::Environments::EnvironmentTemplateDeleted,
199
204
  security: {bearer_auth: true},
200
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **params[:request_options].to_h}
205
+ options: params[:request_options]
201
206
  )
202
207
  end
203
208
 
@@ -11,6 +11,47 @@ module OpenAI
11
11
  # @return [OpenAI::Resources::Beta::Agents::Environments::Templates]
12
12
  attr_reader :templates
13
13
 
14
+ # Creates an OpenAI-hosted environment before creating a session. Requires access
15
+ # to the prewarming beta.
16
+ #
17
+ # @overload create(environment:, vault_ids: nil, idempotency_key: nil, request_options: {})
18
+ #
19
+ # @param environment [OpenAI::Models::Beta::Agents::EnvironmentCreateParams::Environment]
20
+ # Body param: The required hosting type and its configuration.
21
+ #
22
+ # @param vault_ids [Array<String>, nil]
23
+ # Body param: The IDs of up to 10 vaults made available to an OpenAI-hosted
24
+ # environment.
25
+ #
26
+ # @param idempotency_key [String]
27
+ # Header param: Deduplicates creation for 24 hours within the authenticated
28
+ # organization, project, and creator. Retry the same JSON parameters with the same
29
+ # key to retrieve the original environment in its current state. Different
30
+ # parameters or an incomplete hosted creation return 409. Deleted environments are
31
+ # not recreated. After retention expires, the key may create a new environment.
32
+ # Without this header, each request creates a new environment.
33
+ #
34
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
35
+ #
36
+ # @return [OpenAI::Models::Beta::Agents::EnvironmentInfo]
37
+ #
38
+ # @see OpenAI::Models::Beta::Agents::EnvironmentCreateParams
39
+ def create(params)
40
+ parsed, options = OpenAI::Beta::Agents::EnvironmentCreateParams.dump_request(params)
41
+ header_params = {idempotency_key: "idempotency-key"}
42
+ @client.request(
43
+ method: :post,
44
+ path: "agents/environments",
45
+ headers: {"openai-beta" => "agents=v1"}.merge(
46
+ parsed.slice(*header_params.keys).transform_keys(header_params)
47
+ ),
48
+ body: parsed.except(*header_params.keys),
49
+ model: OpenAI::Beta::Agents::EnvironmentInfo,
50
+ security: {bearer_auth: true},
51
+ options: options
52
+ )
53
+ end
54
+
14
55
  # Retrieves an execution environment's connection status and safe installed
15
56
  # metadata. See
16
57
  # [environment lifecycle](https://developers.openai.com/api/docs/guides/agents-api/environments/lifecycle).
@@ -29,9 +70,47 @@ module OpenAI
29
70
  @client.request(
30
71
  method: :get,
31
72
  path: ["agents/environments/%1$s", environment_id],
73
+ headers: {"openai-beta" => "agents=v1"},
74
+ model: OpenAI::Beta::Agents::EnvironmentInfo,
75
+ security: {bearer_auth: true},
76
+ options: params[:request_options]
77
+ )
78
+ end
79
+
80
+ # Lists OpenAI-hosted environments owned by the authenticated principal. Requires
81
+ # access to the prewarming beta.
82
+ #
83
+ # @overload list(after: nil, limit: nil, order: nil, type: nil, request_options: {})
84
+ #
85
+ # @param after [String]
86
+ # Return environments after this environment ID in the selected order.
87
+ #
88
+ # @param limit [Integer]
89
+ # The maximum number of environments to return, between 1 and 100. Defaults to 20.
90
+ #
91
+ # @param order [Symbol, OpenAI::Models::Beta::Agents::EnvironmentListParams::Order]
92
+ # The order in which environments are returned. Defaults to `desc`.
93
+ #
94
+ # @param type [Symbol, OpenAI::Models::Beta::Agents::EnvironmentListParams::Type]
95
+ # The hosting type to list. Defaults to `openai_hosted`.
96
+ #
97
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
98
+ #
99
+ # @return [OpenAI::Internal::CursorPage<OpenAI::Models::Beta::Agents::EnvironmentInfo>]
100
+ #
101
+ # @see OpenAI::Models::Beta::Agents::EnvironmentListParams
102
+ def list(params = {})
103
+ parsed, options = OpenAI::Beta::Agents::EnvironmentListParams.dump_request(params)
104
+ query = OpenAI::Internal::Util.encode_query_params(parsed)
105
+ @client.request(
106
+ method: :get,
107
+ path: "agents/environments",
108
+ query: query,
109
+ headers: {"openai-beta" => "agents=v1"},
110
+ page: OpenAI::Internal::CursorPage,
32
111
  model: OpenAI::Beta::Agents::EnvironmentInfo,
33
112
  security: {bearer_auth: true},
34
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **params[:request_options].to_h}
113
+ options: options
35
114
  )
36
115
  end
37
116
 
@@ -39,9 +39,10 @@ module OpenAI
39
39
  @client.request(
40
40
  method: :get,
41
41
  path: ["agents/sessions/%1$s/artifacts/%2$s", session_id, artifact_id],
42
+ headers: {"openai-beta" => "agents=v1"},
42
43
  model: OpenAI::Beta::Agents::Sessions::SessionArtifact,
43
44
  security: {bearer_auth: true},
44
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
45
+ options: options
45
46
  )
46
47
  end
47
48
 
@@ -77,10 +78,11 @@ module OpenAI
77
78
  method: :get,
78
79
  path: ["agents/sessions/%1$s/artifacts", session_id],
79
80
  query: query,
81
+ headers: {"openai-beta" => "agents=v1"},
80
82
  page: OpenAI::Internal::CursorPage,
81
83
  model: OpenAI::Beta::Agents::Sessions::SessionArtifact,
82
84
  security: {bearer_auth: true},
83
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
85
+ options: options
84
86
  )
85
87
  end
86
88
 
@@ -110,9 +112,10 @@ module OpenAI
110
112
  @client.request(
111
113
  method: :delete,
112
114
  path: ["agents/sessions/%1$s/artifacts/%2$s", session_id, artifact_id],
115
+ headers: {"openai-beta" => "agents=v1"},
113
116
  model: OpenAI::Beta::Agents::Sessions::SessionArtifactDeleted,
114
117
  security: {bearer_auth: true},
115
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
118
+ options: options
116
119
  )
117
120
  end
118
121
 
@@ -142,10 +145,10 @@ module OpenAI
142
145
  @client.request(
143
146
  method: :get,
144
147
  path: ["agents/sessions/%1$s/artifacts/%2$s/content", session_id, artifact_id],
145
- headers: {"accept" => "application/octet-stream"},
148
+ headers: {"openai-beta" => "agents=v1", "accept" => "application/octet-stream"},
146
149
  model: StringIO,
147
150
  security: {bearer_auth: true},
148
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
151
+ options: options
149
152
  )
150
153
  end
151
154
 
@@ -37,11 +37,13 @@ module OpenAI
37
37
  @client.request(
38
38
  method: :post,
39
39
  path: ["agents/sessions/%1$s/events", session_id],
40
- headers: parsed.slice(*header_params.keys).transform_keys(header_params),
40
+ headers: {"openai-beta" => "agents=v1"}.merge(
41
+ parsed.slice(*header_params.keys).transform_keys(header_params)
42
+ ),
41
43
  body: parsed.except(*header_params.keys),
42
44
  model: NilClass,
43
45
  security: {bearer_auth: true},
44
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
46
+ options: options
45
47
  )
46
48
  end
47
49
 
@@ -62,11 +64,15 @@ module OpenAI
62
64
  @client.request(
63
65
  method: :get,
64
66
  path: ["agents/sessions/%1$s/events", session_id],
65
- headers: {"accept" => "text/event-stream", "accept-encoding" => "identity"},
67
+ headers: {
68
+ "openai-beta" => "agents=v1",
69
+ "accept" => "text/event-stream",
70
+ "accept-encoding" => "identity"
71
+ },
66
72
  stream: OpenAI::Internal::Stream,
67
73
  model: OpenAI::Beta::AgentSessionEvent,
68
74
  security: {bearer_auth: true},
69
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **params[:request_options].to_h}
75
+ options: params[:request_options]
70
76
  )
71
77
  end
72
78
 
@@ -36,10 +36,11 @@ module OpenAI
36
36
  method: :get,
37
37
  path: ["agents/sessions/%1$s/items", session_id],
38
38
  query: query,
39
+ headers: {"openai-beta" => "agents=v1"},
39
40
  page: OpenAI::Internal::CursorPage,
40
41
  model: OpenAI::Beta::AgentSessionItem,
41
42
  security: {bearer_auth: true},
42
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
43
+ options: options
43
44
  )
44
45
  end
45
46
 
@@ -44,10 +44,11 @@ module OpenAI
44
44
  method: :get,
45
45
  path: ["agents/sessions/%1$s/subagents/%2$s/items", session_id, subagent_id],
46
46
  query: query,
47
+ headers: {"openai-beta" => "agents=v1"},
47
48
  page: OpenAI::Internal::CursorPage,
48
49
  model: OpenAI::Beta::AgentSessionItem,
49
50
  security: {bearer_auth: true},
50
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
51
+ options: options
51
52
  )
52
53
  end
53
54
 
@@ -59,10 +59,11 @@ module OpenAI
59
59
  turn_id
60
60
  ],
61
61
  query: query,
62
+ headers: {"openai-beta" => "agents=v1"},
62
63
  page: OpenAI::Internal::CursorPage,
63
64
  model: OpenAI::Beta::AgentSessionItem,
64
65
  security: {bearer_auth: true},
65
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
66
+ options: options
66
67
  )
67
68
  end
68
69
 
@@ -42,9 +42,10 @@ module OpenAI
42
42
  @client.request(
43
43
  method: :get,
44
44
  path: ["agents/sessions/%1$s/subagents/%2$s/turns/%3$s", session_id, subagent_id, turn_id],
45
+ headers: {"openai-beta" => "agents=v1"},
45
46
  model: OpenAI::Beta::Agents::Sessions::Turn,
46
47
  security: {bearer_auth: true},
47
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
48
+ options: options
48
49
  )
49
50
  end
50
51
 
@@ -85,10 +86,11 @@ module OpenAI
85
86
  method: :get,
86
87
  path: ["agents/sessions/%1$s/subagents/%2$s/turns", session_id, subagent_id],
87
88
  query: query,
89
+ headers: {"openai-beta" => "agents=v1"},
88
90
  page: OpenAI::Internal::CursorPage,
89
91
  model: OpenAI::Beta::Agents::Sessions::Turn,
90
92
  security: {bearer_auth: true},
91
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
93
+ options: options
92
94
  )
93
95
  end
94
96
 
@@ -37,9 +37,10 @@ module OpenAI
37
37
  @client.request(
38
38
  method: :get,
39
39
  path: ["agents/sessions/%1$s/subagents/%2$s", session_id, subagent_id],
40
+ headers: {"openai-beta" => "agents=v1"},
40
41
  model: OpenAI::Beta::Subagent,
41
42
  security: {bearer_auth: true},
42
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
43
+ options: options
43
44
  )
44
45
  end
45
46
 
@@ -72,10 +73,11 @@ module OpenAI
72
73
  method: :get,
73
74
  path: ["agents/sessions/%1$s/subagents", session_id],
74
75
  query: query,
76
+ headers: {"openai-beta" => "agents=v1"},
75
77
  page: OpenAI::Internal::CursorPage,
76
78
  model: OpenAI::Beta::Subagent,
77
79
  security: {bearer_auth: true},
78
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
80
+ options: options
79
81
  )
80
82
  end
81
83
 
@@ -37,10 +37,11 @@ module OpenAI
37
37
  method: :get,
38
38
  path: ["agents/sessions/%1$s/traces", session_id],
39
39
  query: query,
40
+ headers: {"openai-beta" => "agents=v1"},
40
41
  page: OpenAI::Internal::CursorPage,
41
42
  model: OpenAI::Beta::Agents::Sessions::SessionTrace,
42
43
  security: {bearer_auth: true},
43
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
44
+ options: options
44
45
  )
45
46
  end
46
47
 
@@ -46,10 +46,11 @@ module OpenAI
46
46
  method: :get,
47
47
  path: ["agents/sessions/%1$s/turns/%2$s/items", session_id, turn_id],
48
48
  query: query,
49
+ headers: {"openai-beta" => "agents=v1"},
49
50
  page: OpenAI::Internal::ConversationCursorPage,
50
51
  model: OpenAI::Beta::AgentSessionItem,
51
52
  security: {bearer_auth: true},
52
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
53
+ options: options
53
54
  )
54
55
  end
55
56
 
@@ -35,9 +35,10 @@ module OpenAI
35
35
  @client.request(
36
36
  method: :get,
37
37
  path: ["agents/sessions/%1$s/turns/%2$s", session_id, turn_id],
38
+ headers: {"openai-beta" => "agents=v1"},
38
39
  model: OpenAI::Beta::Agents::Sessions::Turn,
39
40
  security: {bearer_auth: true},
40
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
41
+ options: options
41
42
  )
42
43
  end
43
44
 
@@ -71,10 +72,11 @@ module OpenAI
71
72
  method: :get,
72
73
  path: ["agents/sessions/%1$s/turns", session_id],
73
74
  query: query,
75
+ headers: {"openai-beta" => "agents=v1"},
74
76
  page: OpenAI::Internal::CursorPage,
75
77
  model: OpenAI::Beta::Agents::Sessions::Turn,
76
78
  security: {bearer_auth: true},
77
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
79
+ options: options
78
80
  )
79
81
  end
80
82
 
@@ -71,10 +71,11 @@ module OpenAI
71
71
  @client.request(
72
72
  method: :post,
73
73
  path: "agents/sessions",
74
+ headers: {"openai-beta" => "agents=v1"},
74
75
  body: parsed,
75
76
  model: OpenAI::Beta::AgentSession,
76
77
  security: {bearer_auth: true},
77
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
78
+ options: options
78
79
  )
79
80
  end
80
81
 
@@ -135,12 +136,16 @@ module OpenAI
135
136
  stream = @client.request(
136
137
  method: :post,
137
138
  path: "agents/sessions",
138
- headers: {"accept" => "text/event-stream", "accept-encoding" => "identity"},
139
+ headers: {
140
+ "openai-beta" => "agents=v1",
141
+ "accept" => "text/event-stream",
142
+ "accept-encoding" => "identity"
143
+ },
139
144
  body: parsed,
140
145
  stream: OpenAI::Helpers::Beta::Agents::CreationStream,
141
146
  model: OpenAI::Beta::AgentSessionEvent,
142
147
  security: {bearer_auth: true},
143
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
148
+ options: options
144
149
  )
145
150
  if tool_handlers
146
151
  stream.configure_tool_handlers(sessions: self, tool_handlers: tool_handlers, request_options: options)
@@ -166,9 +171,10 @@ module OpenAI
166
171
  @client.request(
167
172
  method: :get,
168
173
  path: ["agents/sessions/%1$s", session_id],
174
+ headers: {"openai-beta" => "agents=v1"},
169
175
  model: OpenAI::Beta::AgentSession,
170
176
  security: {bearer_auth: true},
171
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **params[:request_options].to_h}
177
+ options: params[:request_options]
172
178
  )
173
179
  end
174
180
 
@@ -199,10 +205,11 @@ module OpenAI
199
205
  @client.request(
200
206
  method: :post,
201
207
  path: ["agents/sessions/%1$s", session_id],
208
+ headers: {"openai-beta" => "agents=v1"},
202
209
  body: parsed,
203
210
  model: OpenAI::Beta::AgentSession,
204
211
  security: {bearer_auth: true},
205
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
212
+ options: options
206
213
  )
207
214
  end
208
215
 
@@ -238,10 +245,11 @@ module OpenAI
238
245
  method: :get,
239
246
  path: "agents/sessions",
240
247
  query: query,
248
+ headers: {"openai-beta" => "agents=v1"},
241
249
  page: OpenAI::Internal::CursorPage,
242
250
  model: OpenAI::Beta::AgentSession,
243
251
  security: {bearer_auth: true},
244
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
252
+ options: options
245
253
  )
246
254
  end
247
255
 
@@ -265,9 +273,10 @@ module OpenAI
265
273
  @client.request(
266
274
  method: :delete,
267
275
  path: ["agents/sessions/%1$s", session_id],
276
+ headers: {"openai-beta" => "agents=v1"},
268
277
  model: OpenAI::Beta::AgentSessionDeleted,
269
278
  security: {bearer_auth: true},
270
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **params[:request_options].to_h}
279
+ options: params[:request_options]
271
280
  )
272
281
  end
273
282
 
@@ -36,10 +36,11 @@ module OpenAI
36
36
  @client.request(
37
37
  method: :post,
38
38
  path: ["vaults/%1$s/credentials", vault_id],
39
+ headers: {"openai-beta" => "agents=v1"},
39
40
  body: parsed,
40
41
  model: OpenAI::Beta::Agents::Vaults::Credential,
41
42
  security: {bearer_auth: true},
42
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
43
+ options: options
43
44
  )
44
45
  end
45
46
 
@@ -68,9 +69,10 @@ module OpenAI
68
69
  @client.request(
69
70
  method: :get,
70
71
  path: ["vaults/%1$s/credentials/%2$s", vault_id, credential_id],
72
+ headers: {"openai-beta" => "agents=v1"},
71
73
  model: OpenAI::Beta::Agents::Vaults::Credential,
72
74
  security: {bearer_auth: true},
73
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
75
+ options: options
74
76
  )
75
77
  end
76
78
 
@@ -108,10 +110,11 @@ module OpenAI
108
110
  @client.request(
109
111
  method: :post,
110
112
  path: ["vaults/%1$s/credentials/%2$s", vault_id, credential_id],
113
+ headers: {"openai-beta" => "agents=v1"},
111
114
  body: parsed,
112
115
  model: OpenAI::Beta::Agents::Vaults::Credential,
113
116
  security: {bearer_auth: true},
114
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
117
+ options: options
115
118
  )
116
119
  end
117
120
 
@@ -151,10 +154,11 @@ module OpenAI
151
154
  method: :get,
152
155
  path: ["vaults/%1$s/credentials", vault_id],
153
156
  query: query,
157
+ headers: {"openai-beta" => "agents=v1"},
154
158
  page: OpenAI::Internal::CursorPage,
155
159
  model: OpenAI::Beta::Agents::Vaults::Credential,
156
160
  security: {bearer_auth: true},
157
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
161
+ options: options
158
162
  )
159
163
  end
160
164
 
@@ -183,9 +187,10 @@ module OpenAI
183
187
  @client.request(
184
188
  method: :delete,
185
189
  path: ["vaults/%1$s/credentials/%2$s", vault_id, credential_id],
190
+ headers: {"openai-beta" => "agents=v1"},
186
191
  model: OpenAI::Beta::Agents::Vaults::CredentialDeleted,
187
192
  security: {bearer_auth: true},
188
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
193
+ options: options
189
194
  )
190
195
  end
191
196
 
@@ -31,10 +31,11 @@ module OpenAI
31
31
  @client.request(
32
32
  method: :post,
33
33
  path: "vaults",
34
+ headers: {"openai-beta" => "agents=v1"},
34
35
  body: parsed,
35
36
  model: OpenAI::Beta::Agents::Vault,
36
37
  security: {bearer_auth: true},
37
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
38
+ options: options
38
39
  )
39
40
  end
40
41
 
@@ -55,9 +56,10 @@ module OpenAI
55
56
  @client.request(
56
57
  method: :get,
57
58
  path: ["vaults/%1$s", vault_id],
59
+ headers: {"openai-beta" => "agents=v1"},
58
60
  model: OpenAI::Beta::Agents::Vault,
59
61
  security: {bearer_auth: true},
60
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **params[:request_options].to_h}
62
+ options: params[:request_options]
61
63
  )
62
64
  end
63
65
 
@@ -93,10 +95,11 @@ module OpenAI
93
95
  method: :get,
94
96
  path: "vaults",
95
97
  query: query,
98
+ headers: {"openai-beta" => "agents=v1"},
96
99
  page: OpenAI::Internal::CursorPage,
97
100
  model: OpenAI::Beta::Agents::Vault,
98
101
  security: {bearer_auth: true},
99
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
102
+ options: options
100
103
  )
101
104
  end
102
105
 
@@ -117,9 +120,10 @@ module OpenAI
117
120
  @client.request(
118
121
  method: :delete,
119
122
  path: ["vaults/%1$s", vault_id],
123
+ headers: {"openai-beta" => "agents=v1"},
120
124
  model: OpenAI::Beta::Agents::VaultDeleted,
121
125
  security: {bearer_auth: true},
122
- options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **params[:request_options].to_h}
126
+ options: params[:request_options]
123
127
  )
124
128
  end
125
129