ittybit 0.8.14 → 1.0.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 (187) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ittybit/automations/client.rb +80 -60
  3. data/lib/ittybit/automations/types/automations_create_request_workflow_item.rb +81 -0
  4. data/lib/ittybit/automations/types/automations_create_request_workflow_item_kind.rb +20 -0
  5. data/lib/ittybit/automations/types/automations_create_request_workflow_item_next_item.rb +71 -0
  6. data/lib/ittybit/automations/types/automations_create_response.rb +133 -0
  7. data/lib/ittybit/automations/types/automations_create_response_status.rb +10 -0
  8. data/lib/ittybit/automations/types/automations_create_response_trigger.rb +67 -0
  9. data/lib/ittybit/automations/types/automations_create_response_workflow_item.rb +61 -0
  10. data/lib/ittybit/automations/types/automations_create_response_workflow_item_conditions.rb +86 -0
  11. data/lib/ittybit/automations/types/automations_create_response_workflow_item_conditions_conditions_item.rb +71 -0
  12. data/lib/ittybit/automations/types/automations_create_response_workflow_item_conditions_next_item.rb +71 -0
  13. data/lib/ittybit/automations/types/automations_create_response_workflow_item_ref.rb +83 -0
  14. data/lib/ittybit/automations/types/automations_create_response_workflow_item_ref_kind.rb +20 -0
  15. data/lib/ittybit/automations/types/automations_create_response_workflow_item_ref_next_item.rb +71 -0
  16. data/lib/ittybit/automations/types/automations_delete_response.rb +59 -0
  17. data/lib/ittybit/automations/types/automations_get_response.rb +133 -0
  18. data/lib/ittybit/automations/types/automations_get_response_status.rb +10 -0
  19. data/lib/ittybit/automations/types/automations_get_response_trigger.rb +67 -0
  20. data/lib/ittybit/automations/types/automations_get_response_workflow_item.rb +60 -0
  21. data/lib/ittybit/automations/types/automations_get_response_workflow_item_conditions.rb +86 -0
  22. data/lib/ittybit/automations/types/automations_get_response_workflow_item_conditions_conditions_item.rb +71 -0
  23. data/lib/ittybit/automations/types/automations_get_response_workflow_item_conditions_next_item.rb +71 -0
  24. data/lib/ittybit/automations/types/automations_get_response_workflow_item_ref.rb +82 -0
  25. data/lib/ittybit/automations/types/automations_get_response_workflow_item_ref_kind.rb +20 -0
  26. data/lib/ittybit/automations/types/automations_get_response_workflow_item_ref_next_item.rb +71 -0
  27. data/lib/ittybit/automations/types/automations_list_response_item.rb +133 -0
  28. data/lib/ittybit/automations/types/automations_list_response_item_status.rb +10 -0
  29. data/lib/ittybit/automations/types/automations_list_response_item_trigger.rb +67 -0
  30. data/lib/ittybit/automations/types/automations_list_response_item_workflow_item.rb +61 -0
  31. data/lib/ittybit/automations/types/automations_list_response_item_workflow_item_conditions.rb +86 -0
  32. data/lib/ittybit/automations/types/automations_list_response_item_workflow_item_conditions_conditions_item.rb +71 -0
  33. data/lib/ittybit/automations/types/automations_list_response_item_workflow_item_conditions_next_item.rb +71 -0
  34. data/lib/ittybit/automations/types/automations_list_response_item_workflow_item_ref.rb +83 -0
  35. data/lib/ittybit/automations/types/automations_list_response_item_workflow_item_ref_kind.rb +20 -0
  36. data/lib/ittybit/automations/types/automations_list_response_item_workflow_item_ref_next_item.rb +71 -0
  37. data/lib/ittybit/automations/types/automations_update_request_workflow_item.rb +81 -0
  38. data/lib/ittybit/automations/types/automations_update_request_workflow_item_kind.rb +20 -0
  39. data/lib/ittybit/automations/types/automations_update_request_workflow_item_next_item.rb +71 -0
  40. data/lib/ittybit/automations/types/automations_update_response.rb +133 -0
  41. data/lib/ittybit/automations/types/automations_update_response_status.rb +10 -0
  42. data/lib/ittybit/automations/types/automations_update_response_trigger.rb +67 -0
  43. data/lib/ittybit/automations/types/automations_update_response_workflow_item.rb +61 -0
  44. data/lib/ittybit/automations/types/automations_update_response_workflow_item_conditions.rb +86 -0
  45. data/lib/ittybit/automations/types/automations_update_response_workflow_item_conditions_conditions_item.rb +71 -0
  46. data/lib/ittybit/automations/types/automations_update_response_workflow_item_conditions_next_item.rb +71 -0
  47. data/lib/ittybit/automations/types/automations_update_response_workflow_item_ref.rb +83 -0
  48. data/lib/ittybit/automations/types/automations_update_response_workflow_item_ref_kind.rb +20 -0
  49. data/lib/ittybit/automations/types/automations_update_response_workflow_item_ref_next_item.rb +71 -0
  50. data/lib/ittybit/files/client.rb +76 -55
  51. data/lib/ittybit/files/types/files_create_response.rb +317 -0
  52. data/lib/ittybit/files/types/files_create_response_kind.rb +11 -0
  53. data/lib/ittybit/files/types/files_create_response_object.rb +11 -0
  54. data/lib/ittybit/files/types/files_create_response_status.rb +12 -0
  55. data/lib/ittybit/files/types/files_delete_response.rb +59 -0
  56. data/lib/ittybit/files/types/files_get_response.rb +317 -0
  57. data/lib/ittybit/files/types/files_get_response_kind.rb +11 -0
  58. data/lib/ittybit/files/types/files_get_response_object.rb +11 -0
  59. data/lib/ittybit/files/types/files_get_response_status.rb +12 -0
  60. data/lib/ittybit/files/types/files_list_response_item.rb +317 -0
  61. data/lib/ittybit/files/types/files_list_response_item_kind.rb +11 -0
  62. data/lib/ittybit/files/types/files_list_response_item_object.rb +11 -0
  63. data/lib/ittybit/files/types/files_list_response_item_status.rb +12 -0
  64. data/lib/ittybit/files/types/files_update_response.rb +317 -0
  65. data/lib/ittybit/files/types/files_update_response_kind.rb +11 -0
  66. data/lib/ittybit/files/types/files_update_response_object.rb +11 -0
  67. data/lib/ittybit/files/types/files_update_response_status.rb +12 -0
  68. data/lib/ittybit/media/client.rb +77 -56
  69. data/lib/ittybit/media/types/media_create_response.rb +175 -0
  70. data/lib/ittybit/media/types/media_create_response_files_item.rb +262 -0
  71. data/lib/ittybit/media/types/media_create_response_files_item_kind.rb +11 -0
  72. data/lib/ittybit/media/types/media_create_response_files_item_object.rb +11 -0
  73. data/lib/ittybit/media/types/media_create_response_files_item_orientation.rb +11 -0
  74. data/lib/ittybit/media/types/media_create_response_files_item_status.rb +12 -0
  75. data/lib/ittybit/media/types/media_create_response_kind.rb +11 -0
  76. data/lib/ittybit/media/types/media_delete_response.rb +59 -0
  77. data/lib/ittybit/media/types/media_get_response.rb +175 -0
  78. data/lib/ittybit/media/types/media_get_response_files_item.rb +262 -0
  79. data/lib/ittybit/media/types/media_get_response_files_item_kind.rb +11 -0
  80. data/lib/ittybit/media/types/media_get_response_files_item_object.rb +11 -0
  81. data/lib/ittybit/media/types/media_get_response_files_item_orientation.rb +11 -0
  82. data/lib/ittybit/media/types/media_get_response_files_item_status.rb +12 -0
  83. data/lib/ittybit/media/types/media_get_response_kind.rb +11 -0
  84. data/lib/ittybit/media/types/media_update_response.rb +175 -0
  85. data/lib/ittybit/media/types/media_update_response_files_item.rb +262 -0
  86. data/lib/ittybit/media/types/media_update_response_files_item_kind.rb +11 -0
  87. data/lib/ittybit/media/types/media_update_response_files_item_object.rb +11 -0
  88. data/lib/ittybit/media/types/media_update_response_files_item_orientation.rb +11 -0
  89. data/lib/ittybit/media/types/media_update_response_files_item_status.rb +12 -0
  90. data/lib/ittybit/media/types/media_update_response_kind.rb +11 -0
  91. data/lib/ittybit/signatures/client.rb +13 -11
  92. data/lib/ittybit/signatures/types/signatures_create_response.rb +112 -0
  93. data/lib/ittybit/tasks/client.rb +47 -99
  94. data/lib/ittybit/tasks/types/tasks_create_response.rb +186 -0
  95. data/lib/ittybit/tasks/types/tasks_create_response_kind.rb +23 -0
  96. data/lib/ittybit/tasks/types/tasks_create_response_results.rb +76 -0
  97. data/lib/ittybit/tasks/types/tasks_create_response_status.rb +16 -0
  98. data/lib/ittybit/tasks/types/tasks_get_response.rb +186 -0
  99. data/lib/ittybit/tasks/types/tasks_get_response_kind.rb +23 -0
  100. data/lib/ittybit/tasks/types/tasks_get_response_results.rb +76 -0
  101. data/lib/ittybit/tasks/types/tasks_get_response_status.rb +16 -0
  102. data/lib/ittybit/tasks/types/tasks_list_response_item.rb +186 -0
  103. data/lib/ittybit/tasks/types/tasks_list_response_item_kind.rb +23 -0
  104. data/lib/ittybit/tasks/types/tasks_list_response_item_results.rb +76 -0
  105. data/lib/ittybit/tasks/types/tasks_list_response_item_status.rb +16 -0
  106. data/lib/ittybit/types/automation_list_response.rb +2 -98
  107. data/lib/ittybit/types/automation_list_response_item.rb +131 -0
  108. data/lib/ittybit/types/automation_list_response_item_status.rb +8 -0
  109. data/lib/ittybit/types/automation_list_response_item_trigger.rb +65 -0
  110. data/lib/ittybit/types/automation_list_response_item_workflow_item.rb +57 -0
  111. data/lib/ittybit/types/automation_list_response_item_workflow_item_conditions.rb +84 -0
  112. data/lib/ittybit/types/automation_list_response_item_workflow_item_conditions_conditions_item.rb +69 -0
  113. data/lib/ittybit/types/automation_list_response_item_workflow_item_conditions_next_item.rb +69 -0
  114. data/lib/ittybit/types/automation_list_response_item_workflow_item_ref.rb +81 -0
  115. data/lib/ittybit/types/automation_list_response_item_workflow_item_ref_kind.rb +18 -0
  116. data/lib/ittybit/types/automation_list_response_item_workflow_item_ref_next_item.rb +69 -0
  117. data/lib/ittybit/types/automation_response.rb +77 -46
  118. data/lib/ittybit/types/automation_response_status.rb +8 -0
  119. data/lib/ittybit/types/automation_response_trigger.rb +65 -0
  120. data/lib/ittybit/types/automation_response_workflow_item.rb +54 -0
  121. data/lib/ittybit/types/automation_response_workflow_item_conditions.rb +84 -0
  122. data/lib/ittybit/types/automation_response_workflow_item_conditions_conditions_item.rb +69 -0
  123. data/lib/ittybit/types/automation_response_workflow_item_conditions_next_item.rb +69 -0
  124. data/lib/ittybit/types/automation_response_workflow_item_ref.rb +79 -0
  125. data/lib/ittybit/types/automation_response_workflow_item_ref_kind.rb +18 -0
  126. data/lib/ittybit/types/automation_response_workflow_item_ref_next_item.rb +69 -0
  127. data/lib/ittybit/types/automation_workflow_item.rb +8 -8
  128. data/lib/ittybit/types/automation_workflow_item_conditions.rb +82 -0
  129. data/lib/ittybit/types/automation_workflow_item_conditions_conditions_item.rb +69 -0
  130. data/lib/ittybit/types/automation_workflow_item_conditions_next_item.rb +69 -0
  131. data/lib/ittybit/types/automation_workflow_item_ref.rb +79 -0
  132. data/lib/ittybit/types/automation_workflow_item_ref_kind.rb +18 -0
  133. data/lib/ittybit/types/automation_workflow_item_ref_next_item.rb +67 -0
  134. data/lib/ittybit/types/confirmation_response.rb +9 -52
  135. data/lib/ittybit/types/created_by.rb +5 -0
  136. data/lib/ittybit/types/error.rb +1 -53
  137. data/lib/ittybit/types/file_list_response.rb +2 -98
  138. data/lib/ittybit/types/file_list_response_item.rb +315 -0
  139. data/lib/ittybit/types/file_list_response_item_kind.rb +9 -0
  140. data/lib/ittybit/types/file_list_response_item_object.rb +9 -0
  141. data/lib/ittybit/types/file_list_response_item_status.rb +10 -0
  142. data/lib/ittybit/types/file_response.rb +264 -49
  143. data/lib/ittybit/types/file_response_kind.rb +9 -0
  144. data/lib/ittybit/types/file_response_object.rb +9 -0
  145. data/lib/ittybit/types/file_response_status.rb +10 -0
  146. data/lib/ittybit/types/kind.rb +21 -0
  147. data/lib/ittybit/types/links.rb +1 -63
  148. data/lib/ittybit/types/media.rb +4 -4
  149. data/lib/ittybit/types/media_files_item.rb +260 -0
  150. data/lib/ittybit/types/media_files_item_kind.rb +9 -0
  151. data/lib/ittybit/types/media_files_item_object.rb +9 -0
  152. data/lib/ittybit/types/media_files_item_orientation.rb +9 -0
  153. data/lib/ittybit/types/media_files_item_status.rb +10 -0
  154. data/lib/ittybit/types/media_list_response.rb +2 -98
  155. data/lib/ittybit/types/media_list_response_item.rb +173 -0
  156. data/lib/ittybit/types/media_list_response_item_files_item.rb +260 -0
  157. data/lib/ittybit/types/media_list_response_item_files_item_kind.rb +9 -0
  158. data/lib/ittybit/types/media_list_response_item_files_item_object.rb +9 -0
  159. data/lib/ittybit/types/media_list_response_item_files_item_orientation.rb +9 -0
  160. data/lib/ittybit/types/media_list_response_item_files_item_status.rb +10 -0
  161. data/lib/ittybit/types/media_list_response_item_kind.rb +9 -0
  162. data/lib/ittybit/types/media_response.rb +121 -48
  163. data/lib/ittybit/types/media_response_files_item.rb +260 -0
  164. data/lib/ittybit/types/media_response_files_item_kind.rb +9 -0
  165. data/lib/ittybit/types/media_response_files_item_object.rb +9 -0
  166. data/lib/ittybit/types/media_response_files_item_orientation.rb +9 -0
  167. data/lib/ittybit/types/media_response_files_item_status.rb +10 -0
  168. data/lib/ittybit/types/media_response_kind.rb +9 -0
  169. data/lib/ittybit/types/parent_id.rb +5 -0
  170. data/lib/ittybit/types/progress.rb +5 -0
  171. data/lib/ittybit/types/signature_response.rb +59 -49
  172. data/lib/ittybit/types/status.rb +14 -0
  173. data/lib/ittybit/types/task_list_response.rb +2 -98
  174. data/lib/ittybit/types/task_list_response_item.rb +184 -0
  175. data/lib/ittybit/types/task_list_response_item_kind.rb +21 -0
  176. data/lib/ittybit/types/task_list_response_item_results.rb +74 -0
  177. data/lib/ittybit/types/task_list_response_item_status.rb +14 -0
  178. data/lib/ittybit/types/task_response.rb +128 -44
  179. data/lib/ittybit/types/task_response_kind.rb +21 -0
  180. data/lib/ittybit/types/task_response_results.rb +74 -0
  181. data/lib/ittybit/types/task_response_status.rb +14 -0
  182. data/lib/requests.rb +2 -2
  183. data/lib/types_export.rb +168 -9
  184. metadata +163 -5
  185. data/lib/ittybit/types/links_list.rb +0 -88
  186. data/lib/ittybit/types/meta_list.rb +0 -128
  187. data/lib/ittybit/types/meta_list_type.rb +0 -8
@@ -1,9 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "../../requests"
4
- require_relative "../types/task_list_response"
5
- require_relative "../types/task_response"
4
+ require_relative "types/tasks_list_response_item"
6
5
  require "json"
6
+ require_relative "types/tasks_create_response"
7
+ require_relative "types/tasks_get_response"
7
8
  require "async"
8
9
 
9
10
  module Ittybit
@@ -22,7 +23,7 @@ module Ittybit
22
23
  # @param page [Integer]
23
24
  # @param limit [Integer]
24
25
  # @param request_options [Ittybit::RequestOptions]
25
- # @return [Ittybit::TaskListResponse]
26
+ # @return [Array<Ittybit::Tasks::TasksListResponseItem>]
26
27
  # @example
27
28
  # api = Ittybit::Client.new(
28
29
  # base_url: "https://api.example.com",
@@ -36,9 +37,10 @@ module Ittybit
36
37
  req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
37
38
  req.headers["ACCEPT_VERSION"] = request_options.version unless request_options&.version.nil?
38
39
  req.headers = {
39
- **(req.headers || {}),
40
- **@request_client.get_headers,
41
- **(request_options&.additional_headers || {})
40
+ **(req.headers || {}),
41
+ **@request_client.get_headers,
42
+ **(request_options&.additional_headers || {}),
43
+ "Accept-Version": "2025-08-20"
42
44
  }.compact
43
45
  req.params = { **(request_options&.additional_query_parameters || {}), "page": page, "limit": limit }.compact
44
46
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
@@ -46,7 +48,11 @@ module Ittybit
46
48
  end
47
49
  req.url "#{@request_client.get_url(request_options: request_options)}/tasks"
48
50
  end
49
- Ittybit::TaskListResponse.from_json(json_object: response.body)
51
+ parsed_json = JSON.parse(response.body)
52
+ parsed_json&.map do |item|
53
+ item = item.to_json
54
+ Ittybit::Tasks::TasksListResponseItem.from_json(json_object: item)
55
+ end
50
56
  end
51
57
 
52
58
  # Creates a new task item. See [Tasks](/docs/tasks) for detailed coverage of all
@@ -54,7 +60,7 @@ module Ittybit
54
60
  #
55
61
  # @param request [Object]
56
62
  # @param request_options [Ittybit::RequestOptions]
57
- # @return [Ittybit::TaskResponse]
63
+ # @return [Ittybit::Tasks::TasksCreateResponse]
58
64
  # @example
59
65
  # api = Ittybit::Client.new(
60
66
  # base_url: "https://api.example.com",
@@ -68,9 +74,10 @@ module Ittybit
68
74
  req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
69
75
  req.headers["ACCEPT_VERSION"] = request_options.version unless request_options&.version.nil?
70
76
  req.headers = {
71
- **(req.headers || {}),
72
- **@request_client.get_headers,
73
- **(request_options&.additional_headers || {})
77
+ **(req.headers || {}),
78
+ **@request_client.get_headers,
79
+ **(request_options&.additional_headers || {}),
80
+ "Accept-Version": "2025-08-20"
74
81
  }.compact
75
82
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
76
83
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -78,14 +85,14 @@ module Ittybit
78
85
  req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
79
86
  req.url "#{@request_client.get_url(request_options: request_options)}/tasks"
80
87
  end
81
- Ittybit::TaskResponse.from_json(json_object: response.body)
88
+ Ittybit::Tasks::TasksCreateResponse.from_json(json_object: response.body)
82
89
  end
83
90
 
84
91
  # Retrieves the task object for a task with the given ID.
85
92
  #
86
93
  # @param id [String]
87
94
  # @param request_options [Ittybit::RequestOptions]
88
- # @return [Ittybit::TaskResponse]
95
+ # @return [Ittybit::Tasks::TasksGetResponse]
89
96
  # @example
90
97
  # api = Ittybit::Client.new(
91
98
  # base_url: "https://api.example.com",
@@ -99,9 +106,10 @@ module Ittybit
99
106
  req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
100
107
  req.headers["ACCEPT_VERSION"] = request_options.version unless request_options&.version.nil?
101
108
  req.headers = {
102
- **(req.headers || {}),
103
- **@request_client.get_headers,
104
- **(request_options&.additional_headers || {})
109
+ **(req.headers || {}),
110
+ **@request_client.get_headers,
111
+ **(request_options&.additional_headers || {}),
112
+ "Accept-Version": "2025-08-20"
105
113
  }.compact
106
114
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
107
115
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -111,39 +119,7 @@ module Ittybit
111
119
  end
112
120
  req.url "#{@request_client.get_url(request_options: request_options)}/tasks/#{id}"
113
121
  end
114
- Ittybit::TaskResponse.from_json(json_object: response.body)
115
- end
116
-
117
- # Retrieves available task kinds and their configuration options.
118
- #
119
- # @param request_options [Ittybit::RequestOptions]
120
- # @return [Hash{String => Object}]
121
- # @example
122
- # api = Ittybit::Client.new(
123
- # base_url: "https://api.example.com",
124
- # environment: Ittybit::Environment::DEFAULT,
125
- # api_key: "YOUR_AUTH_TOKEN"
126
- # )
127
- # api.tasks.get_task_config
128
- def get_task_config(request_options: nil)
129
- response = @request_client.conn.get do |req|
130
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
131
- req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
132
- req.headers["ACCEPT_VERSION"] = request_options.version unless request_options&.version.nil?
133
- req.headers = {
134
- **(req.headers || {}),
135
- **@request_client.get_headers,
136
- **(request_options&.additional_headers || {})
137
- }.compact
138
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
139
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
140
- end
141
- unless request_options.nil? || request_options&.additional_body_parameters.nil?
142
- req.body = { **(request_options&.additional_body_parameters || {}) }.compact
143
- end
144
- req.url "#{@request_client.get_url(request_options: request_options)}/tasks-config"
145
- end
146
- JSON.parse(response.body)
122
+ Ittybit::Tasks::TasksGetResponse.from_json(json_object: response.body)
147
123
  end
148
124
  end
149
125
 
@@ -162,7 +138,7 @@ module Ittybit
162
138
  # @param page [Integer]
163
139
  # @param limit [Integer]
164
140
  # @param request_options [Ittybit::RequestOptions]
165
- # @return [Ittybit::TaskListResponse]
141
+ # @return [Array<Ittybit::Tasks::TasksListResponseItem>]
166
142
  # @example
167
143
  # api = Ittybit::Client.new(
168
144
  # base_url: "https://api.example.com",
@@ -177,9 +153,10 @@ module Ittybit
177
153
  req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
178
154
  req.headers["ACCEPT_VERSION"] = request_options.version unless request_options&.version.nil?
179
155
  req.headers = {
180
- **(req.headers || {}),
181
- **@request_client.get_headers,
182
- **(request_options&.additional_headers || {})
156
+ **(req.headers || {}),
157
+ **@request_client.get_headers,
158
+ **(request_options&.additional_headers || {}),
159
+ "Accept-Version": "2025-08-20"
183
160
  }.compact
184
161
  req.params = { **(request_options&.additional_query_parameters || {}), "page": page, "limit": limit }.compact
185
162
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
@@ -187,7 +164,11 @@ module Ittybit
187
164
  end
188
165
  req.url "#{@request_client.get_url(request_options: request_options)}/tasks"
189
166
  end
190
- Ittybit::TaskListResponse.from_json(json_object: response.body)
167
+ parsed_json = JSON.parse(response.body)
168
+ parsed_json&.map do |item|
169
+ item = item.to_json
170
+ Ittybit::Tasks::TasksListResponseItem.from_json(json_object: item)
171
+ end
191
172
  end
192
173
  end
193
174
 
@@ -196,7 +177,7 @@ module Ittybit
196
177
  #
197
178
  # @param request [Object]
198
179
  # @param request_options [Ittybit::RequestOptions]
199
- # @return [Ittybit::TaskResponse]
180
+ # @return [Ittybit::Tasks::TasksCreateResponse]
200
181
  # @example
201
182
  # api = Ittybit::Client.new(
202
183
  # base_url: "https://api.example.com",
@@ -211,9 +192,10 @@ module Ittybit
211
192
  req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
212
193
  req.headers["ACCEPT_VERSION"] = request_options.version unless request_options&.version.nil?
213
194
  req.headers = {
214
- **(req.headers || {}),
215
- **@request_client.get_headers,
216
- **(request_options&.additional_headers || {})
195
+ **(req.headers || {}),
196
+ **@request_client.get_headers,
197
+ **(request_options&.additional_headers || {}),
198
+ "Accept-Version": "2025-08-20"
217
199
  }.compact
218
200
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
219
201
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -221,7 +203,7 @@ module Ittybit
221
203
  req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
222
204
  req.url "#{@request_client.get_url(request_options: request_options)}/tasks"
223
205
  end
224
- Ittybit::TaskResponse.from_json(json_object: response.body)
206
+ Ittybit::Tasks::TasksCreateResponse.from_json(json_object: response.body)
225
207
  end
226
208
  end
227
209
 
@@ -229,7 +211,7 @@ module Ittybit
229
211
  #
230
212
  # @param id [String]
231
213
  # @param request_options [Ittybit::RequestOptions]
232
- # @return [Ittybit::TaskResponse]
214
+ # @return [Ittybit::Tasks::TasksGetResponse]
233
215
  # @example
234
216
  # api = Ittybit::Client.new(
235
217
  # base_url: "https://api.example.com",
@@ -244,9 +226,10 @@ module Ittybit
244
226
  req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
245
227
  req.headers["ACCEPT_VERSION"] = request_options.version unless request_options&.version.nil?
246
228
  req.headers = {
247
- **(req.headers || {}),
248
- **@request_client.get_headers,
249
- **(request_options&.additional_headers || {})
229
+ **(req.headers || {}),
230
+ **@request_client.get_headers,
231
+ **(request_options&.additional_headers || {}),
232
+ "Accept-Version": "2025-08-20"
250
233
  }.compact
251
234
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
252
235
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -256,42 +239,7 @@ module Ittybit
256
239
  end
257
240
  req.url "#{@request_client.get_url(request_options: request_options)}/tasks/#{id}"
258
241
  end
259
- Ittybit::TaskResponse.from_json(json_object: response.body)
260
- end
261
- end
262
-
263
- # Retrieves available task kinds and their configuration options.
264
- #
265
- # @param request_options [Ittybit::RequestOptions]
266
- # @return [Hash{String => Object}]
267
- # @example
268
- # api = Ittybit::Client.new(
269
- # base_url: "https://api.example.com",
270
- # environment: Ittybit::Environment::DEFAULT,
271
- # api_key: "YOUR_AUTH_TOKEN"
272
- # )
273
- # api.tasks.get_task_config
274
- def get_task_config(request_options: nil)
275
- Async do
276
- response = @request_client.conn.get do |req|
277
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
278
- req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
279
- req.headers["ACCEPT_VERSION"] = request_options.version unless request_options&.version.nil?
280
- req.headers = {
281
- **(req.headers || {}),
282
- **@request_client.get_headers,
283
- **(request_options&.additional_headers || {})
284
- }.compact
285
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
286
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
287
- end
288
- unless request_options.nil? || request_options&.additional_body_parameters.nil?
289
- req.body = { **(request_options&.additional_body_parameters || {}) }.compact
290
- end
291
- req.url "#{@request_client.get_url(request_options: request_options)}/tasks-config"
292
- end
293
- parsed_json = JSON.parse(response.body)
294
- parsed_json
242
+ Ittybit::Tasks::TasksGetResponse.from_json(json_object: response.body)
295
243
  end
296
244
  end
297
245
  end
@@ -0,0 +1,186 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "tasks_create_response_kind"
4
+ require_relative "tasks_create_response_status"
5
+ require "date"
6
+ require_relative "tasks_create_response_results"
7
+ require "ostruct"
8
+ require "json"
9
+
10
+ module Ittybit
11
+ class Tasks
12
+ class TasksCreateResponse
13
+ # @return [String]
14
+ attr_reader :id
15
+ # @return [String]
16
+ attr_reader :object
17
+ # @return [Ittybit::Tasks::TasksCreateResponseKind]
18
+ attr_reader :kind
19
+ # @return [Hash{String => Object}]
20
+ attr_reader :input
21
+ # @return [Hash{String => Object}]
22
+ attr_reader :options
23
+ # @return [Hash{String => Object}]
24
+ attr_reader :output
25
+ # @return [Ittybit::Tasks::TasksCreateResponseStatus]
26
+ attr_reader :status
27
+ # @return [Integer]
28
+ attr_reader :progress
29
+ # @return [String]
30
+ attr_reader :error
31
+ # @return [String]
32
+ attr_reader :created_by
33
+ # @return [DateTime]
34
+ attr_reader :created
35
+ # @return [DateTime]
36
+ attr_reader :updated
37
+ # @return [String]
38
+ attr_reader :parent_id
39
+ # @return [Array<Object>]
40
+ attr_reader :workflow
41
+ # @return [Ittybit::Tasks::TasksCreateResponseResults]
42
+ attr_reader :results
43
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
44
+ attr_reader :additional_properties
45
+ # @return [Object]
46
+ attr_reader :_field_set
47
+ protected :_field_set
48
+
49
+ OMIT = Object.new
50
+
51
+ # @param id [String]
52
+ # @param object [String]
53
+ # @param kind [Ittybit::Tasks::TasksCreateResponseKind]
54
+ # @param input [Hash{String => Object}]
55
+ # @param options [Hash{String => Object}]
56
+ # @param output [Hash{String => Object}]
57
+ # @param status [Ittybit::Tasks::TasksCreateResponseStatus]
58
+ # @param progress [Integer]
59
+ # @param error [String]
60
+ # @param created_by [String]
61
+ # @param created [DateTime]
62
+ # @param updated [DateTime]
63
+ # @param parent_id [String]
64
+ # @param workflow [Array<Object>]
65
+ # @param results [Ittybit::Tasks::TasksCreateResponseResults]
66
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
67
+ # @return [Ittybit::Tasks::TasksCreateResponse]
68
+ def initialize(id:, object:, kind:, status:, created:, updated:, input: OMIT, options: OMIT, output: OMIT, progress: OMIT,
69
+ error: OMIT, created_by: OMIT, parent_id: OMIT, workflow: OMIT, results: OMIT, additional_properties: nil)
70
+ @id = id
71
+ @object = object
72
+ @kind = kind
73
+ @input = input if input != OMIT
74
+ @options = options if options != OMIT
75
+ @output = output if output != OMIT
76
+ @status = status
77
+ @progress = progress if progress != OMIT
78
+ @error = error if error != OMIT
79
+ @created_by = created_by if created_by != OMIT
80
+ @created = created
81
+ @updated = updated
82
+ @parent_id = parent_id if parent_id != OMIT
83
+ @workflow = workflow if workflow != OMIT
84
+ @results = results if results != OMIT
85
+ @additional_properties = additional_properties
86
+ @_field_set = {
87
+ "id": id,
88
+ "object": object,
89
+ "kind": kind,
90
+ "input": input,
91
+ "options": options,
92
+ "output": output,
93
+ "status": status,
94
+ "progress": progress,
95
+ "error": error,
96
+ "created_by": created_by,
97
+ "created": created,
98
+ "updated": updated,
99
+ "parent_id": parent_id,
100
+ "workflow": workflow,
101
+ "results": results
102
+ }.reject do |_k, v|
103
+ v == OMIT
104
+ end
105
+ end
106
+
107
+ # Deserialize a JSON object to an instance of TasksCreateResponse
108
+ #
109
+ # @param json_object [String]
110
+ # @return [Ittybit::Tasks::TasksCreateResponse]
111
+ def self.from_json(json_object:)
112
+ struct = JSON.parse(json_object, object_class: OpenStruct)
113
+ parsed_json = JSON.parse(json_object)
114
+ id = parsed_json["id"]
115
+ object = parsed_json["object"]
116
+ kind = parsed_json["kind"]
117
+ input = parsed_json["input"]
118
+ options = parsed_json["options"]
119
+ output = parsed_json["output"]
120
+ status = parsed_json["status"]
121
+ progress = parsed_json["progress"]
122
+ error = parsed_json["error"]
123
+ created_by = parsed_json["created_by"]
124
+ created = (DateTime.parse(parsed_json["created"]) unless parsed_json["created"].nil?)
125
+ updated = (DateTime.parse(parsed_json["updated"]) unless parsed_json["updated"].nil?)
126
+ parent_id = parsed_json["parent_id"]
127
+ workflow = parsed_json["workflow"]
128
+ if parsed_json["results"].nil?
129
+ results = nil
130
+ else
131
+ results = parsed_json["results"].to_json
132
+ results = Ittybit::Tasks::TasksCreateResponseResults.from_json(json_object: results)
133
+ end
134
+ new(
135
+ id: id,
136
+ object: object,
137
+ kind: kind,
138
+ input: input,
139
+ options: options,
140
+ output: output,
141
+ status: status,
142
+ progress: progress,
143
+ error: error,
144
+ created_by: created_by,
145
+ created: created,
146
+ updated: updated,
147
+ parent_id: parent_id,
148
+ workflow: workflow,
149
+ results: results,
150
+ additional_properties: struct
151
+ )
152
+ end
153
+
154
+ # Serialize an instance of TasksCreateResponse to a JSON object
155
+ #
156
+ # @return [String]
157
+ def to_json(*_args)
158
+ @_field_set&.to_json
159
+ end
160
+
161
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
162
+ # hash and check each fields type against the current object's property
163
+ # definitions.
164
+ #
165
+ # @param obj [Object]
166
+ # @return [Void]
167
+ def self.validate_raw(obj:)
168
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
169
+ obj.object.is_a?(String) != false || raise("Passed value for field obj.object is not the expected type, validation failed.")
170
+ obj.kind.is_a?(Ittybit::Tasks::TasksCreateResponseKind) != false || raise("Passed value for field obj.kind is not the expected type, validation failed.")
171
+ obj.input&.is_a?(Hash) != false || raise("Passed value for field obj.input is not the expected type, validation failed.")
172
+ obj.options&.is_a?(Hash) != false || raise("Passed value for field obj.options is not the expected type, validation failed.")
173
+ obj.output&.is_a?(Hash) != false || raise("Passed value for field obj.output is not the expected type, validation failed.")
174
+ obj.status.is_a?(Ittybit::Tasks::TasksCreateResponseStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
175
+ obj.progress&.is_a?(Integer) != false || raise("Passed value for field obj.progress is not the expected type, validation failed.")
176
+ obj.error&.is_a?(String) != false || raise("Passed value for field obj.error is not the expected type, validation failed.")
177
+ obj.created_by&.is_a?(String) != false || raise("Passed value for field obj.created_by is not the expected type, validation failed.")
178
+ obj.created.is_a?(DateTime) != false || raise("Passed value for field obj.created is not the expected type, validation failed.")
179
+ obj.updated.is_a?(DateTime) != false || raise("Passed value for field obj.updated is not the expected type, validation failed.")
180
+ obj.parent_id&.is_a?(String) != false || raise("Passed value for field obj.parent_id is not the expected type, validation failed.")
181
+ obj.workflow&.is_a?(Array) != false || raise("Passed value for field obj.workflow is not the expected type, validation failed.")
182
+ obj.results.nil? || Ittybit::Tasks::TasksCreateResponseResults.validate_raw(obj: obj.results)
183
+ end
184
+ end
185
+ end
186
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Ittybit
4
+ class Tasks
5
+ class TasksCreateResponseKind
6
+ INGEST = "ingest"
7
+ VIDEO = "video"
8
+ IMAGE = "image"
9
+ AUDIO = "audio"
10
+ CHAPTERS = "chapters"
11
+ SUBTITLES = "subtitles"
12
+ THUMBNAILS = "thumbnails"
13
+ NSFW = "nsfw"
14
+ SPEECH = "speech"
15
+ DESCRIPTION = "description"
16
+ OUTLINE = "outline"
17
+ PROMPT = "prompt"
18
+ WORKFLOW = "workflow"
19
+ CONDITIONS = "conditions"
20
+ HTTP = "http"
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Ittybit
7
+ class Tasks
8
+ class TasksCreateResponseResults
9
+ # @return [Array<Hash{String => Object}>]
10
+ attr_reader :passed
11
+ # @return [Array<Hash{String => Object}>]
12
+ attr_reader :failed
13
+ # @return [Boolean]
14
+ attr_reader :continue
15
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
16
+ attr_reader :additional_properties
17
+ # @return [Object]
18
+ attr_reader :_field_set
19
+ protected :_field_set
20
+
21
+ OMIT = Object.new
22
+
23
+ # @param passed [Array<Hash{String => Object}>]
24
+ # @param failed [Array<Hash{String => Object}>]
25
+ # @param continue [Boolean]
26
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
27
+ # @return [Ittybit::Tasks::TasksCreateResponseResults]
28
+ def initialize(passed: OMIT, failed: OMIT, continue: OMIT, additional_properties: nil)
29
+ @passed = passed if passed != OMIT
30
+ @failed = failed if failed != OMIT
31
+ @continue = continue if continue != OMIT
32
+ @additional_properties = additional_properties
33
+ @_field_set = { "passed": passed, "failed": failed, "continue": continue }.reject do |_k, v|
34
+ v == OMIT
35
+ end
36
+ end
37
+
38
+ # Deserialize a JSON object to an instance of TasksCreateResponseResults
39
+ #
40
+ # @param json_object [String]
41
+ # @return [Ittybit::Tasks::TasksCreateResponseResults]
42
+ def self.from_json(json_object:)
43
+ struct = JSON.parse(json_object, object_class: OpenStruct)
44
+ parsed_json = JSON.parse(json_object)
45
+ passed = parsed_json["passed"]
46
+ failed = parsed_json["failed"]
47
+ continue = parsed_json["continue"]
48
+ new(
49
+ passed: passed,
50
+ failed: failed,
51
+ continue: continue,
52
+ additional_properties: struct
53
+ )
54
+ end
55
+
56
+ # Serialize an instance of TasksCreateResponseResults to a JSON object
57
+ #
58
+ # @return [String]
59
+ def to_json(*_args)
60
+ @_field_set&.to_json
61
+ end
62
+
63
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
64
+ # hash and check each fields type against the current object's property
65
+ # definitions.
66
+ #
67
+ # @param obj [Object]
68
+ # @return [Void]
69
+ def self.validate_raw(obj:)
70
+ obj.passed&.is_a?(Array) != false || raise("Passed value for field obj.passed is not the expected type, validation failed.")
71
+ obj.failed&.is_a?(Array) != false || raise("Passed value for field obj.failed is not the expected type, validation failed.")
72
+ obj.continue&.is_a?(Boolean) != false || raise("Passed value for field obj.continue is not the expected type, validation failed.")
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Ittybit
4
+ class Tasks
5
+ class TasksCreateResponseStatus
6
+ PENDING = "pending"
7
+ WAITING = "waiting"
8
+ PROCESSING = "processing"
9
+ READY = "ready"
10
+ COMPLETED = "completed"
11
+ FAILED = "failed"
12
+ ERROR = "error"
13
+ CANCELLED = "cancelled"
14
+ end
15
+ end
16
+ end