openai 0.10.0 → 0.12.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 (121) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +83 -7
  4. data/lib/openai/client.rb +11 -0
  5. data/lib/openai/errors.rb +3 -0
  6. data/lib/openai/helpers/streaming/events.rb +23 -0
  7. data/lib/openai/helpers/streaming/response_stream.rb +232 -0
  8. data/lib/openai/helpers/structured_output/parsed_json.rb +39 -0
  9. data/lib/openai/internal/stream.rb +2 -1
  10. data/lib/openai/internal/transport/base_client.rb +10 -2
  11. data/lib/openai/internal/type/base_stream.rb +3 -1
  12. data/lib/openai/models/all_models.rb +4 -0
  13. data/lib/openai/models/chat/chat_completion.rb +32 -31
  14. data/lib/openai/models/chat/chat_completion_chunk.rb +30 -29
  15. data/lib/openai/models/chat/chat_completion_message.rb +1 -1
  16. data/lib/openai/models/chat/chat_completion_message_tool_call.rb +1 -1
  17. data/lib/openai/models/chat/completion_create_params.rb +34 -31
  18. data/lib/openai/models/images_response.rb +92 -1
  19. data/lib/openai/models/responses/response.rb +59 -35
  20. data/lib/openai/models/responses/response_create_params.rb +64 -39
  21. data/lib/openai/models/responses/response_function_tool_call.rb +1 -1
  22. data/lib/openai/models/responses/response_function_web_search.rb +115 -1
  23. data/lib/openai/models/responses/response_includable.rb +8 -6
  24. data/lib/openai/models/responses/response_output_text.rb +1 -1
  25. data/lib/openai/models/responses/tool_choice_mcp.rb +40 -0
  26. data/lib/openai/models/responses/tool_choice_types.rb +0 -3
  27. data/lib/openai/models/responses_model.rb +4 -0
  28. data/lib/openai/models/webhooks/batch_cancelled_webhook_event.rb +84 -0
  29. data/lib/openai/models/webhooks/batch_completed_webhook_event.rb +84 -0
  30. data/lib/openai/models/webhooks/batch_expired_webhook_event.rb +84 -0
  31. data/lib/openai/models/webhooks/batch_failed_webhook_event.rb +84 -0
  32. data/lib/openai/models/webhooks/eval_run_canceled_webhook_event.rb +84 -0
  33. data/lib/openai/models/webhooks/eval_run_failed_webhook_event.rb +84 -0
  34. data/lib/openai/models/webhooks/eval_run_succeeded_webhook_event.rb +84 -0
  35. data/lib/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rb +85 -0
  36. data/lib/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rb +85 -0
  37. data/lib/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rb +85 -0
  38. data/lib/openai/models/webhooks/response_cancelled_webhook_event.rb +85 -0
  39. data/lib/openai/models/webhooks/response_completed_webhook_event.rb +85 -0
  40. data/lib/openai/models/webhooks/response_failed_webhook_event.rb +84 -0
  41. data/lib/openai/models/webhooks/response_incomplete_webhook_event.rb +85 -0
  42. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +59 -0
  43. data/lib/openai/models/webhooks/webhook_unwrap_params.rb +16 -0
  44. data/lib/openai/models.rb +2 -0
  45. data/lib/openai/resources/chat/completions.rb +14 -6
  46. data/lib/openai/resources/responses.rb +262 -81
  47. data/lib/openai/resources/webhooks.rb +124 -0
  48. data/lib/openai/streaming.rb +5 -0
  49. data/lib/openai/version.rb +1 -1
  50. data/lib/openai.rb +22 -0
  51. data/rbi/openai/client.rbi +3 -0
  52. data/rbi/openai/helpers/streaming/events.rbi +31 -0
  53. data/rbi/openai/helpers/streaming/response_stream.rbi +104 -0
  54. data/rbi/openai/internal/type/base_stream.rbi +8 -1
  55. data/rbi/openai/models/all_models.rbi +20 -0
  56. data/rbi/openai/models/chat/chat_completion.rbi +47 -42
  57. data/rbi/openai/models/chat/chat_completion_chunk.rbi +47 -42
  58. data/rbi/openai/models/chat/completion_create_params.rbi +51 -42
  59. data/rbi/openai/models/images_response.rbi +146 -0
  60. data/rbi/openai/models/responses/response.rbi +75 -44
  61. data/rbi/openai/models/responses/response_create_params.rbi +91 -55
  62. data/rbi/openai/models/responses/response_function_web_search.rbi +163 -0
  63. data/rbi/openai/models/responses/response_includable.rbi +17 -11
  64. data/rbi/openai/models/responses/tool_choice_mcp.rbi +53 -0
  65. data/rbi/openai/models/responses/tool_choice_types.rbi +0 -5
  66. data/rbi/openai/models/responses_model.rbi +20 -0
  67. data/rbi/openai/models/webhooks/batch_cancelled_webhook_event.rbi +154 -0
  68. data/rbi/openai/models/webhooks/batch_completed_webhook_event.rbi +154 -0
  69. data/rbi/openai/models/webhooks/batch_expired_webhook_event.rbi +150 -0
  70. data/rbi/openai/models/webhooks/batch_failed_webhook_event.rbi +149 -0
  71. data/rbi/openai/models/webhooks/eval_run_canceled_webhook_event.rbi +154 -0
  72. data/rbi/openai/models/webhooks/eval_run_failed_webhook_event.rbi +151 -0
  73. data/rbi/openai/models/webhooks/eval_run_succeeded_webhook_event.rbi +154 -0
  74. data/rbi/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rbi +158 -0
  75. data/rbi/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rbi +156 -0
  76. data/rbi/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rbi +158 -0
  77. data/rbi/openai/models/webhooks/response_cancelled_webhook_event.rbi +154 -0
  78. data/rbi/openai/models/webhooks/response_completed_webhook_event.rbi +154 -0
  79. data/rbi/openai/models/webhooks/response_failed_webhook_event.rbi +154 -0
  80. data/rbi/openai/models/webhooks/response_incomplete_webhook_event.rbi +155 -0
  81. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +40 -0
  82. data/rbi/openai/models/webhooks/webhook_unwrap_params.rbi +32 -0
  83. data/rbi/openai/models.rbi +2 -0
  84. data/rbi/openai/resources/chat/completions.rbi +34 -30
  85. data/rbi/openai/resources/responses.rbi +188 -39
  86. data/rbi/openai/resources/webhooks.rbi +68 -0
  87. data/rbi/openai/streaming.rbi +5 -0
  88. data/sig/openai/client.rbs +2 -0
  89. data/sig/openai/internal/type/base_stream.rbs +4 -0
  90. data/sig/openai/models/all_models.rbs +8 -0
  91. data/sig/openai/models/chat/chat_completion.rbs +2 -1
  92. data/sig/openai/models/chat/chat_completion_chunk.rbs +2 -1
  93. data/sig/openai/models/chat/completion_create_params.rbs +2 -1
  94. data/sig/openai/models/images_response.rbs +83 -0
  95. data/sig/openai/models/responses/response.rbs +13 -1
  96. data/sig/openai/models/responses/response_create_params.rbs +13 -1
  97. data/sig/openai/models/responses/response_function_web_search.rbs +54 -0
  98. data/sig/openai/models/responses/response_includable.rbs +7 -5
  99. data/sig/openai/models/responses/tool_choice_mcp.rbs +23 -0
  100. data/sig/openai/models/responses/tool_choice_types.rbs +0 -2
  101. data/sig/openai/models/responses_model.rbs +8 -0
  102. data/sig/openai/models/webhooks/batch_cancelled_webhook_event.rbs +66 -0
  103. data/sig/openai/models/webhooks/batch_completed_webhook_event.rbs +66 -0
  104. data/sig/openai/models/webhooks/batch_expired_webhook_event.rbs +66 -0
  105. data/sig/openai/models/webhooks/batch_failed_webhook_event.rbs +66 -0
  106. data/sig/openai/models/webhooks/eval_run_canceled_webhook_event.rbs +66 -0
  107. data/sig/openai/models/webhooks/eval_run_failed_webhook_event.rbs +66 -0
  108. data/sig/openai/models/webhooks/eval_run_succeeded_webhook_event.rbs +66 -0
  109. data/sig/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rbs +66 -0
  110. data/sig/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rbs +66 -0
  111. data/sig/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rbs +66 -0
  112. data/sig/openai/models/webhooks/response_cancelled_webhook_event.rbs +66 -0
  113. data/sig/openai/models/webhooks/response_completed_webhook_event.rbs +66 -0
  114. data/sig/openai/models/webhooks/response_failed_webhook_event.rbs +66 -0
  115. data/sig/openai/models/webhooks/response_incomplete_webhook_event.rbs +66 -0
  116. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +27 -0
  117. data/sig/openai/models/webhooks/webhook_unwrap_params.rbs +17 -0
  118. data/sig/openai/models.rbs +2 -0
  119. data/sig/openai/resources/responses.rbs +4 -0
  120. data/sig/openai/resources/webhooks.rbs +33 -0
  121. metadata +63 -2
@@ -0,0 +1,33 @@
1
+ module OpenAI
2
+ module Resources
3
+ class Webhooks
4
+ def unwrap: (
5
+ String payload,
6
+ ?Hash[String | Symbol, String] headers,
7
+ ?String? webhook_secret
8
+ ) -> (OpenAI::Webhooks::BatchCancelledWebhookEvent
9
+ | OpenAI::Webhooks::BatchCompletedWebhookEvent
10
+ | OpenAI::Webhooks::BatchExpiredWebhookEvent
11
+ | OpenAI::Webhooks::BatchFailedWebhookEvent
12
+ | OpenAI::Webhooks::EvalRunCanceledWebhookEvent
13
+ | OpenAI::Webhooks::EvalRunFailedWebhookEvent
14
+ | OpenAI::Webhooks::EvalRunSucceededWebhookEvent
15
+ | OpenAI::Webhooks::FineTuningJobCancelledWebhookEvent
16
+ | OpenAI::Webhooks::FineTuningJobFailedWebhookEvent
17
+ | OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent
18
+ | OpenAI::Webhooks::ResponseCancelledWebhookEvent
19
+ | OpenAI::Webhooks::ResponseCompletedWebhookEvent
20
+ | OpenAI::Webhooks::ResponseFailedWebhookEvent
21
+ | OpenAI::Webhooks::ResponseIncompleteWebhookEvent)
22
+
23
+ def verify_signature: (
24
+ String payload,
25
+ Hash[String | Symbol, String] headers,
26
+ ?String? webhook_secret,
27
+ ?Integer tolerance
28
+ ) -> void
29
+
30
+ def initialize: (client: OpenAI::Client) -> void
31
+ end
32
+ end
33
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-06-23 00:00:00.000000000 Z
11
+ date: 2025-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: connection_pool
@@ -39,12 +39,15 @@ files:
39
39
  - lib/openai/client.rb
40
40
  - lib/openai/errors.rb
41
41
  - lib/openai/file_part.rb
42
+ - lib/openai/helpers/streaming/events.rb
43
+ - lib/openai/helpers/streaming/response_stream.rb
42
44
  - lib/openai/helpers/structured_output.rb
43
45
  - lib/openai/helpers/structured_output/array_of.rb
44
46
  - lib/openai/helpers/structured_output/base_model.rb
45
47
  - lib/openai/helpers/structured_output/boolean.rb
46
48
  - lib/openai/helpers/structured_output/enum_of.rb
47
49
  - lib/openai/helpers/structured_output/json_schema_converter.rb
50
+ - lib/openai/helpers/structured_output/parsed_json.rb
48
51
  - lib/openai/helpers/structured_output/union_of.rb
49
52
  - lib/openai/internal.rb
50
53
  - lib/openai/internal/cursor_page.rb
@@ -449,6 +452,7 @@ files:
449
452
  - lib/openai/models/responses/response_web_search_call_searching_event.rb
450
453
  - lib/openai/models/responses/tool.rb
451
454
  - lib/openai/models/responses/tool_choice_function.rb
455
+ - lib/openai/models/responses/tool_choice_mcp.rb
452
456
  - lib/openai/models/responses/tool_choice_options.rb
453
457
  - lib/openai/models/responses/tool_choice_types.rb
454
458
  - lib/openai/models/responses/web_search_tool.rb
@@ -485,6 +489,22 @@ files:
485
489
  - lib/openai/models/vector_stores/vector_store_file.rb
486
490
  - lib/openai/models/vector_stores/vector_store_file_batch.rb
487
491
  - lib/openai/models/vector_stores/vector_store_file_deleted.rb
492
+ - lib/openai/models/webhooks/batch_cancelled_webhook_event.rb
493
+ - lib/openai/models/webhooks/batch_completed_webhook_event.rb
494
+ - lib/openai/models/webhooks/batch_expired_webhook_event.rb
495
+ - lib/openai/models/webhooks/batch_failed_webhook_event.rb
496
+ - lib/openai/models/webhooks/eval_run_canceled_webhook_event.rb
497
+ - lib/openai/models/webhooks/eval_run_failed_webhook_event.rb
498
+ - lib/openai/models/webhooks/eval_run_succeeded_webhook_event.rb
499
+ - lib/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rb
500
+ - lib/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rb
501
+ - lib/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rb
502
+ - lib/openai/models/webhooks/response_cancelled_webhook_event.rb
503
+ - lib/openai/models/webhooks/response_completed_webhook_event.rb
504
+ - lib/openai/models/webhooks/response_failed_webhook_event.rb
505
+ - lib/openai/models/webhooks/response_incomplete_webhook_event.rb
506
+ - lib/openai/models/webhooks/unwrap_webhook_event.rb
507
+ - lib/openai/models/webhooks/webhook_unwrap_params.rb
488
508
  - lib/openai/request_options.rb
489
509
  - lib/openai/resources/audio.rb
490
510
  - lib/openai/resources/audio/speech.rb
@@ -529,12 +549,16 @@ files:
529
549
  - lib/openai/resources/vector_stores.rb
530
550
  - lib/openai/resources/vector_stores/file_batches.rb
531
551
  - lib/openai/resources/vector_stores/files.rb
552
+ - lib/openai/resources/webhooks.rb
553
+ - lib/openai/streaming.rb
532
554
  - lib/openai/structured_output.rb
533
555
  - lib/openai/version.rb
534
556
  - manifest.yaml
535
557
  - rbi/openai/client.rbi
536
558
  - rbi/openai/errors.rbi
537
559
  - rbi/openai/file_part.rbi
560
+ - rbi/openai/helpers/streaming/events.rbi
561
+ - rbi/openai/helpers/streaming/response_stream.rbi
538
562
  - rbi/openai/helpers/structured_output.rbi
539
563
  - rbi/openai/helpers/structured_output/array_of.rbi
540
564
  - rbi/openai/helpers/structured_output/base_model.rbi
@@ -945,6 +969,7 @@ files:
945
969
  - rbi/openai/models/responses/response_web_search_call_searching_event.rbi
946
970
  - rbi/openai/models/responses/tool.rbi
947
971
  - rbi/openai/models/responses/tool_choice_function.rbi
972
+ - rbi/openai/models/responses/tool_choice_mcp.rbi
948
973
  - rbi/openai/models/responses/tool_choice_options.rbi
949
974
  - rbi/openai/models/responses/tool_choice_types.rbi
950
975
  - rbi/openai/models/responses/web_search_tool.rbi
@@ -981,6 +1006,22 @@ files:
981
1006
  - rbi/openai/models/vector_stores/vector_store_file.rbi
982
1007
  - rbi/openai/models/vector_stores/vector_store_file_batch.rbi
983
1008
  - rbi/openai/models/vector_stores/vector_store_file_deleted.rbi
1009
+ - rbi/openai/models/webhooks/batch_cancelled_webhook_event.rbi
1010
+ - rbi/openai/models/webhooks/batch_completed_webhook_event.rbi
1011
+ - rbi/openai/models/webhooks/batch_expired_webhook_event.rbi
1012
+ - rbi/openai/models/webhooks/batch_failed_webhook_event.rbi
1013
+ - rbi/openai/models/webhooks/eval_run_canceled_webhook_event.rbi
1014
+ - rbi/openai/models/webhooks/eval_run_failed_webhook_event.rbi
1015
+ - rbi/openai/models/webhooks/eval_run_succeeded_webhook_event.rbi
1016
+ - rbi/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rbi
1017
+ - rbi/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rbi
1018
+ - rbi/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rbi
1019
+ - rbi/openai/models/webhooks/response_cancelled_webhook_event.rbi
1020
+ - rbi/openai/models/webhooks/response_completed_webhook_event.rbi
1021
+ - rbi/openai/models/webhooks/response_failed_webhook_event.rbi
1022
+ - rbi/openai/models/webhooks/response_incomplete_webhook_event.rbi
1023
+ - rbi/openai/models/webhooks/unwrap_webhook_event.rbi
1024
+ - rbi/openai/models/webhooks/webhook_unwrap_params.rbi
984
1025
  - rbi/openai/request_options.rbi
985
1026
  - rbi/openai/resources/audio.rbi
986
1027
  - rbi/openai/resources/audio/speech.rbi
@@ -1025,6 +1066,8 @@ files:
1025
1066
  - rbi/openai/resources/vector_stores.rbi
1026
1067
  - rbi/openai/resources/vector_stores/file_batches.rbi
1027
1068
  - rbi/openai/resources/vector_stores/files.rbi
1069
+ - rbi/openai/resources/webhooks.rbi
1070
+ - rbi/openai/streaming.rbi
1028
1071
  - rbi/openai/structured_output.rbi
1029
1072
  - rbi/openai/version.rbi
1030
1073
  - sig/openai/client.rbs
@@ -1433,6 +1476,7 @@ files:
1433
1476
  - sig/openai/models/responses/response_web_search_call_searching_event.rbs
1434
1477
  - sig/openai/models/responses/tool.rbs
1435
1478
  - sig/openai/models/responses/tool_choice_function.rbs
1479
+ - sig/openai/models/responses/tool_choice_mcp.rbs
1436
1480
  - sig/openai/models/responses/tool_choice_options.rbs
1437
1481
  - sig/openai/models/responses/tool_choice_types.rbs
1438
1482
  - sig/openai/models/responses/web_search_tool.rbs
@@ -1469,6 +1513,22 @@ files:
1469
1513
  - sig/openai/models/vector_stores/vector_store_file.rbs
1470
1514
  - sig/openai/models/vector_stores/vector_store_file_batch.rbs
1471
1515
  - sig/openai/models/vector_stores/vector_store_file_deleted.rbs
1516
+ - sig/openai/models/webhooks/batch_cancelled_webhook_event.rbs
1517
+ - sig/openai/models/webhooks/batch_completed_webhook_event.rbs
1518
+ - sig/openai/models/webhooks/batch_expired_webhook_event.rbs
1519
+ - sig/openai/models/webhooks/batch_failed_webhook_event.rbs
1520
+ - sig/openai/models/webhooks/eval_run_canceled_webhook_event.rbs
1521
+ - sig/openai/models/webhooks/eval_run_failed_webhook_event.rbs
1522
+ - sig/openai/models/webhooks/eval_run_succeeded_webhook_event.rbs
1523
+ - sig/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rbs
1524
+ - sig/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rbs
1525
+ - sig/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rbs
1526
+ - sig/openai/models/webhooks/response_cancelled_webhook_event.rbs
1527
+ - sig/openai/models/webhooks/response_completed_webhook_event.rbs
1528
+ - sig/openai/models/webhooks/response_failed_webhook_event.rbs
1529
+ - sig/openai/models/webhooks/response_incomplete_webhook_event.rbs
1530
+ - sig/openai/models/webhooks/unwrap_webhook_event.rbs
1531
+ - sig/openai/models/webhooks/webhook_unwrap_params.rbs
1472
1532
  - sig/openai/request_options.rbs
1473
1533
  - sig/openai/resources/audio.rbs
1474
1534
  - sig/openai/resources/audio/speech.rbs
@@ -1513,6 +1573,7 @@ files:
1513
1573
  - sig/openai/resources/vector_stores.rbs
1514
1574
  - sig/openai/resources/vector_stores/file_batches.rbs
1515
1575
  - sig/openai/resources/vector_stores/files.rbs
1576
+ - sig/openai/resources/webhooks.rbs
1516
1577
  - sig/openai/version.rbs
1517
1578
  homepage: https://gemdocs.org/gems/openai
1518
1579
  licenses: []