handinger 0.5.0 → 0.7.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/README.md +1 -1
- data/lib/handinger/models/worker.rb +23 -83
- data/lib/handinger/models/workers/update_webhook.rb +22 -0
- data/lib/handinger/models/workers/webhook.rb +32 -0
- data/lib/handinger/models/workers/webhook_delete_params.rb +22 -0
- data/lib/handinger/models/workers/webhook_execution.rb +102 -0
- data/lib/handinger/models/workers/webhook_execution_list.rb +42 -0
- data/lib/handinger/models/workers/webhook_list_executions_params.rb +31 -0
- data/lib/handinger/models/workers/webhook_regenerate_token_params.rb +22 -0
- data/lib/handinger/models/workers/webhook_retrieve_params.rb +22 -0
- data/lib/handinger/models/workers/webhook_update_params.rb +22 -0
- data/lib/handinger/resources/workers/webhooks.rb +138 -0
- data/lib/handinger/resources/workers.rb +5 -0
- data/lib/handinger/version.rb +1 -1
- data/lib/handinger.rb +10 -0
- data/rbi/handinger/models/worker.rbi +31 -158
- data/rbi/handinger/models/workers/update_webhook.rbi +34 -0
- data/rbi/handinger/models/workers/webhook.rbi +45 -0
- data/rbi/handinger/models/workers/webhook_delete_params.rbi +40 -0
- data/rbi/handinger/models/workers/webhook_execution.rbi +146 -0
- data/rbi/handinger/models/workers/webhook_execution_list.rbi +64 -0
- data/rbi/handinger/models/workers/webhook_list_executions_params.rbi +57 -0
- data/rbi/handinger/models/workers/webhook_regenerate_token_params.rbi +40 -0
- data/rbi/handinger/models/workers/webhook_retrieve_params.rbi +40 -0
- data/rbi/handinger/models/workers/webhook_update_params.rbi +40 -0
- data/rbi/handinger/resources/workers/webhooks.rbi +101 -0
- data/rbi/handinger/resources/workers.rbi +4 -0
- data/sig/handinger/models/worker.rbs +26 -107
- data/sig/handinger/models/workers/update_webhook.rbs +15 -0
- data/sig/handinger/models/workers/webhook.rbs +17 -0
- data/sig/handinger/models/workers/webhook_delete_params.rbs +25 -0
- data/sig/handinger/models/workers/webhook_execution.rbs +78 -0
- data/sig/handinger/models/workers/webhook_execution_list.rbs +37 -0
- data/sig/handinger/models/workers/webhook_list_executions_params.rbs +32 -0
- data/sig/handinger/models/workers/webhook_regenerate_token_params.rbs +25 -0
- data/sig/handinger/models/workers/webhook_retrieve_params.rbs +25 -0
- data/sig/handinger/models/workers/webhook_update_params.rbs +27 -0
- data/sig/handinger/resources/workers/webhooks.rbs +36 -0
- data/sig/handinger/resources/workers.rbs +2 -0
- metadata +31 -1
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Handinger
|
|
4
|
+
module Resources
|
|
5
|
+
class Workers
|
|
6
|
+
# Configure outbound webhooks delivered when a worker's tasks complete.
|
|
7
|
+
class Webhooks
|
|
8
|
+
# Retrieve the webhook URL and shared token configured for a worker. Both fields
|
|
9
|
+
# are `null` when no webhook is configured. Only the worker creator can read the
|
|
10
|
+
# webhook configuration.
|
|
11
|
+
#
|
|
12
|
+
# @overload retrieve(worker_id, request_options: {})
|
|
13
|
+
#
|
|
14
|
+
# @param worker_id [String] Worker id returned by the create worker endpoint.
|
|
15
|
+
#
|
|
16
|
+
# @param request_options [Handinger::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
17
|
+
#
|
|
18
|
+
# @return [Handinger::Models::Workers::Webhook]
|
|
19
|
+
#
|
|
20
|
+
# @see Handinger::Models::Workers::WebhookRetrieveParams
|
|
21
|
+
def retrieve(worker_id, params = {})
|
|
22
|
+
@client.request(
|
|
23
|
+
method: :get,
|
|
24
|
+
path: ["api/workers/%1$s/webhook", worker_id],
|
|
25
|
+
model: Handinger::Workers::Webhook,
|
|
26
|
+
options: params[:request_options]
|
|
27
|
+
)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Some parameter documentations has been truncated, see
|
|
31
|
+
# {Handinger::Models::Workers::WebhookUpdateParams} for more details.
|
|
32
|
+
#
|
|
33
|
+
# Set or replace the webhook URL for a worker. A fresh token is generated the
|
|
34
|
+
# first time a URL is set; subsequent updates keep the existing token. Pass
|
|
35
|
+
# `url: null` to clear the webhook (use the dedicated DELETE for the same effect).
|
|
36
|
+
# Only the worker creator can update the webhook.
|
|
37
|
+
#
|
|
38
|
+
# @overload update(worker_id, url:, request_options: {})
|
|
39
|
+
#
|
|
40
|
+
# @param worker_id [String] Worker id returned by the create worker endpoint.
|
|
41
|
+
#
|
|
42
|
+
# @param url [String, nil] HTTPS endpoint Handinger should POST to when a task finishes. Pass `null` to rem
|
|
43
|
+
#
|
|
44
|
+
# @param request_options [Handinger::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
45
|
+
#
|
|
46
|
+
# @return [Handinger::Models::Workers::Webhook]
|
|
47
|
+
#
|
|
48
|
+
# @see Handinger::Models::Workers::WebhookUpdateParams
|
|
49
|
+
def update(worker_id, params)
|
|
50
|
+
parsed, options = Handinger::Workers::WebhookUpdateParams.dump_request(params)
|
|
51
|
+
@client.request(
|
|
52
|
+
method: :put,
|
|
53
|
+
path: ["api/workers/%1$s/webhook", worker_id],
|
|
54
|
+
body: parsed,
|
|
55
|
+
model: Handinger::Workers::Webhook,
|
|
56
|
+
options: options
|
|
57
|
+
)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Remove the webhook from a worker. Both `url` and `token` are cleared and no
|
|
61
|
+
# further deliveries are attempted. Only the worker creator can delete the
|
|
62
|
+
# webhook.
|
|
63
|
+
#
|
|
64
|
+
# @overload delete(worker_id, request_options: {})
|
|
65
|
+
#
|
|
66
|
+
# @param worker_id [String] Worker id returned by the create worker endpoint.
|
|
67
|
+
#
|
|
68
|
+
# @param request_options [Handinger::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
69
|
+
#
|
|
70
|
+
# @return [Handinger::Models::Workers::Webhook]
|
|
71
|
+
#
|
|
72
|
+
# @see Handinger::Models::Workers::WebhookDeleteParams
|
|
73
|
+
def delete(worker_id, params = {})
|
|
74
|
+
@client.request(
|
|
75
|
+
method: :delete,
|
|
76
|
+
path: ["api/workers/%1$s/webhook", worker_id],
|
|
77
|
+
model: Handinger::Workers::Webhook,
|
|
78
|
+
options: params[:request_options]
|
|
79
|
+
)
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# List recent webhook delivery attempts for a worker, newest first, paginated 50
|
|
83
|
+
# per page. Only the worker creator can read execution history.
|
|
84
|
+
#
|
|
85
|
+
# @overload list_executions(worker_id, page: nil, request_options: {})
|
|
86
|
+
#
|
|
87
|
+
# @param worker_id [String] Worker id returned by the create worker endpoint.
|
|
88
|
+
#
|
|
89
|
+
# @param page [Integer] Page number (1-indexed). Defaults to 1.
|
|
90
|
+
#
|
|
91
|
+
# @param request_options [Handinger::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
92
|
+
#
|
|
93
|
+
# @return [Handinger::Models::Workers::WebhookExecutionList]
|
|
94
|
+
#
|
|
95
|
+
# @see Handinger::Models::Workers::WebhookListExecutionsParams
|
|
96
|
+
def list_executions(worker_id, params = {})
|
|
97
|
+
parsed, options = Handinger::Workers::WebhookListExecutionsParams.dump_request(params)
|
|
98
|
+
query = Handinger::Internal::Util.encode_query_params(parsed)
|
|
99
|
+
@client.request(
|
|
100
|
+
method: :get,
|
|
101
|
+
path: ["api/workers/%1$s/webhook/executions", worker_id],
|
|
102
|
+
query: query,
|
|
103
|
+
model: Handinger::Workers::WebhookExecutionList,
|
|
104
|
+
options: options
|
|
105
|
+
)
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
# Issue a new shared token for the webhook, invalidating the previous one. The
|
|
109
|
+
# webhook URL is preserved. Only the worker creator can regenerate the token.
|
|
110
|
+
#
|
|
111
|
+
# @overload regenerate_token(worker_id, request_options: {})
|
|
112
|
+
#
|
|
113
|
+
# @param worker_id [String] Worker id returned by the create worker endpoint.
|
|
114
|
+
#
|
|
115
|
+
# @param request_options [Handinger::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
116
|
+
#
|
|
117
|
+
# @return [Handinger::Models::Workers::Webhook]
|
|
118
|
+
#
|
|
119
|
+
# @see Handinger::Models::Workers::WebhookRegenerateTokenParams
|
|
120
|
+
def regenerate_token(worker_id, params = {})
|
|
121
|
+
@client.request(
|
|
122
|
+
method: :post,
|
|
123
|
+
path: ["api/workers/%1$s/webhook/regenerate-token", worker_id],
|
|
124
|
+
model: Handinger::Workers::Webhook,
|
|
125
|
+
options: params[:request_options]
|
|
126
|
+
)
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
# @api private
|
|
130
|
+
#
|
|
131
|
+
# @param client [Handinger::Client]
|
|
132
|
+
def initialize(client:)
|
|
133
|
+
@client = client
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
end
|
|
@@ -8,6 +8,10 @@ module Handinger
|
|
|
8
8
|
# @return [Handinger::Resources::Workers::Schedules]
|
|
9
9
|
attr_reader :schedules
|
|
10
10
|
|
|
11
|
+
# Configure outbound webhooks delivered when a worker's tasks complete.
|
|
12
|
+
# @return [Handinger::Resources::Workers::Webhooks]
|
|
13
|
+
attr_reader :webhooks
|
|
14
|
+
|
|
11
15
|
# Some parameter documentations has been truncated, see
|
|
12
16
|
# {Handinger::Models::WorkerCreateParams} for more details.
|
|
13
17
|
#
|
|
@@ -159,6 +163,7 @@ module Handinger
|
|
|
159
163
|
def initialize(client:)
|
|
160
164
|
@client = client
|
|
161
165
|
@schedules = Handinger::Resources::Workers::Schedules.new(client: client)
|
|
166
|
+
@webhooks = Handinger::Resources::Workers::Webhooks.new(client: client)
|
|
162
167
|
end
|
|
163
168
|
end
|
|
164
169
|
end
|
data/lib/handinger/version.rb
CHANGED
data/lib/handinger.rb
CHANGED
|
@@ -54,6 +54,7 @@ require_relative "handinger/internal/transport/pooled_net_requester"
|
|
|
54
54
|
require_relative "handinger/client"
|
|
55
55
|
require_relative "handinger/models/create_task"
|
|
56
56
|
require_relative "handinger/models/create_worker"
|
|
57
|
+
require_relative "handinger/models/workers/update_webhook"
|
|
57
58
|
require_relative "handinger/models/update_worker"
|
|
58
59
|
require_relative "handinger/models/delete_task_response"
|
|
59
60
|
require_relative "handinger/models/delete_worker_response"
|
|
@@ -73,6 +74,14 @@ require_relative "handinger/models/workers/schedule_cancel_response"
|
|
|
73
74
|
require_relative "handinger/models/workers/schedule_create_params"
|
|
74
75
|
require_relative "handinger/models/workers/schedule_list_params"
|
|
75
76
|
require_relative "handinger/models/workers/schedule_list_response"
|
|
77
|
+
require_relative "handinger/models/workers/webhook"
|
|
78
|
+
require_relative "handinger/models/workers/webhook_delete_params"
|
|
79
|
+
require_relative "handinger/models/workers/webhook_execution"
|
|
80
|
+
require_relative "handinger/models/workers/webhook_execution_list"
|
|
81
|
+
require_relative "handinger/models/workers/webhook_list_executions_params"
|
|
82
|
+
require_relative "handinger/models/workers/webhook_regenerate_token_params"
|
|
83
|
+
require_relative "handinger/models/workers/webhook_retrieve_params"
|
|
84
|
+
require_relative "handinger/models/workers/webhook_update_params"
|
|
76
85
|
require_relative "handinger/models/workers/worker_schedule"
|
|
77
86
|
require_relative "handinger/models/worker_template"
|
|
78
87
|
require_relative "handinger/models/worker_update_params"
|
|
@@ -80,3 +89,4 @@ require_relative "handinger/models"
|
|
|
80
89
|
require_relative "handinger/resources/tasks"
|
|
81
90
|
require_relative "handinger/resources/workers"
|
|
82
91
|
require_relative "handinger/resources/workers/schedules"
|
|
92
|
+
require_relative "handinger/resources/workers/webhooks"
|
|
@@ -27,7 +27,7 @@ module Handinger
|
|
|
27
27
|
sig { returns(T::Hash[Symbol, T.anything]) }
|
|
28
28
|
attr_accessor :metadata
|
|
29
29
|
|
|
30
|
-
sig { returns(
|
|
30
|
+
sig { returns(Symbol) }
|
|
31
31
|
attr_accessor :object
|
|
32
32
|
|
|
33
33
|
sig { returns(T::Array[Handinger::Worker::Output]) }
|
|
@@ -67,7 +67,6 @@ module Handinger
|
|
|
67
67
|
incomplete_details: NilClass,
|
|
68
68
|
messages: T::Array[T.anything],
|
|
69
69
|
metadata: T::Hash[Symbol, T.anything],
|
|
70
|
-
object: Handinger::Worker::Object::OrSymbol,
|
|
71
70
|
output: T::Array[Handinger::Worker::Output::OrHash],
|
|
72
71
|
output_text: String,
|
|
73
72
|
running: T::Boolean,
|
|
@@ -75,7 +74,8 @@ module Handinger
|
|
|
75
74
|
status: Handinger::Worker::Status::OrSymbol,
|
|
76
75
|
structured_output: T.nilable(T::Hash[Symbol, T.anything]),
|
|
77
76
|
url: String,
|
|
78
|
-
usage: Handinger::Worker::Usage::OrHash
|
|
77
|
+
usage: Handinger::Worker::Usage::OrHash,
|
|
78
|
+
object: Symbol
|
|
79
79
|
).returns(T.attached_class)
|
|
80
80
|
end
|
|
81
81
|
def self.new(
|
|
@@ -86,7 +86,6 @@ module Handinger
|
|
|
86
86
|
incomplete_details:,
|
|
87
87
|
messages:,
|
|
88
88
|
metadata:,
|
|
89
|
-
object:,
|
|
90
89
|
output:,
|
|
91
90
|
output_text:,
|
|
92
91
|
running:,
|
|
@@ -95,7 +94,8 @@ module Handinger
|
|
|
95
94
|
structured_output:,
|
|
96
95
|
# Web URL of the worker in the Handinger dashboard.
|
|
97
96
|
url:,
|
|
98
|
-
usage: nil
|
|
97
|
+
usage: nil,
|
|
98
|
+
object: :worker
|
|
99
99
|
)
|
|
100
100
|
end
|
|
101
101
|
|
|
@@ -109,7 +109,7 @@ module Handinger
|
|
|
109
109
|
incomplete_details: NilClass,
|
|
110
110
|
messages: T::Array[T.anything],
|
|
111
111
|
metadata: T::Hash[Symbol, T.anything],
|
|
112
|
-
object:
|
|
112
|
+
object: Symbol,
|
|
113
113
|
output: T::Array[Handinger::Worker::Output],
|
|
114
114
|
output_text: String,
|
|
115
115
|
running: T::Boolean,
|
|
@@ -158,21 +158,6 @@ module Handinger
|
|
|
158
158
|
end
|
|
159
159
|
end
|
|
160
160
|
|
|
161
|
-
module Object
|
|
162
|
-
extend Handinger::Internal::Type::Enum
|
|
163
|
-
|
|
164
|
-
TaggedSymbol = T.type_alias { T.all(Symbol, Handinger::Worker::Object) }
|
|
165
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
166
|
-
|
|
167
|
-
WORKER = T.let(:worker, Handinger::Worker::Object::TaggedSymbol)
|
|
168
|
-
|
|
169
|
-
sig do
|
|
170
|
-
override.returns(T::Array[Handinger::Worker::Object::TaggedSymbol])
|
|
171
|
-
end
|
|
172
|
-
def self.values
|
|
173
|
-
end
|
|
174
|
-
end
|
|
175
|
-
|
|
176
161
|
class Output < Handinger::Internal::Type::BaseModel
|
|
177
162
|
OrHash =
|
|
178
163
|
T.type_alias do
|
|
@@ -185,25 +170,31 @@ module Handinger
|
|
|
185
170
|
sig { returns(T::Array[Handinger::Worker::Output::Content]) }
|
|
186
171
|
attr_accessor :content
|
|
187
172
|
|
|
188
|
-
sig { returns(
|
|
173
|
+
sig { returns(Symbol) }
|
|
189
174
|
attr_accessor :role
|
|
190
175
|
|
|
191
|
-
sig { returns(
|
|
176
|
+
sig { returns(Symbol) }
|
|
192
177
|
attr_accessor :status
|
|
193
178
|
|
|
194
|
-
sig { returns(
|
|
179
|
+
sig { returns(Symbol) }
|
|
195
180
|
attr_accessor :type
|
|
196
181
|
|
|
197
182
|
sig do
|
|
198
183
|
params(
|
|
199
184
|
id: String,
|
|
200
185
|
content: T::Array[Handinger::Worker::Output::Content::OrHash],
|
|
201
|
-
role:
|
|
202
|
-
status:
|
|
203
|
-
type:
|
|
186
|
+
role: Symbol,
|
|
187
|
+
status: Symbol,
|
|
188
|
+
type: Symbol
|
|
204
189
|
).returns(T.attached_class)
|
|
205
190
|
end
|
|
206
|
-
def self.new(
|
|
191
|
+
def self.new(
|
|
192
|
+
id:,
|
|
193
|
+
content:,
|
|
194
|
+
role: :assistant,
|
|
195
|
+
status: :completed,
|
|
196
|
+
type: :message
|
|
197
|
+
)
|
|
207
198
|
end
|
|
208
199
|
|
|
209
200
|
sig do
|
|
@@ -211,9 +202,9 @@ module Handinger
|
|
|
211
202
|
{
|
|
212
203
|
id: String,
|
|
213
204
|
content: T::Array[Handinger::Worker::Output::Content],
|
|
214
|
-
role:
|
|
215
|
-
status:
|
|
216
|
-
type:
|
|
205
|
+
role: Symbol,
|
|
206
|
+
status: Symbol,
|
|
207
|
+
type: Symbol
|
|
217
208
|
}
|
|
218
209
|
)
|
|
219
210
|
end
|
|
@@ -232,111 +223,16 @@ module Handinger
|
|
|
232
223
|
sig { returns(String) }
|
|
233
224
|
attr_accessor :text
|
|
234
225
|
|
|
235
|
-
sig
|
|
236
|
-
returns(Handinger::Worker::Output::Content::Type::TaggedSymbol)
|
|
237
|
-
end
|
|
226
|
+
sig { returns(Symbol) }
|
|
238
227
|
attr_accessor :type
|
|
239
228
|
|
|
240
|
-
sig
|
|
241
|
-
|
|
242
|
-
text: String,
|
|
243
|
-
type: Handinger::Worker::Output::Content::Type::OrSymbol
|
|
244
|
-
).returns(T.attached_class)
|
|
245
|
-
end
|
|
246
|
-
def self.new(text:, type:)
|
|
229
|
+
sig { params(text: String, type: Symbol).returns(T.attached_class) }
|
|
230
|
+
def self.new(text:, type: :output_text)
|
|
247
231
|
end
|
|
248
232
|
|
|
249
|
-
sig
|
|
250
|
-
override.returns(
|
|
251
|
-
{
|
|
252
|
-
text: String,
|
|
253
|
-
type: Handinger::Worker::Output::Content::Type::TaggedSymbol
|
|
254
|
-
}
|
|
255
|
-
)
|
|
256
|
-
end
|
|
233
|
+
sig { override.returns({ text: String, type: Symbol }) }
|
|
257
234
|
def to_hash
|
|
258
235
|
end
|
|
259
|
-
|
|
260
|
-
module Type
|
|
261
|
-
extend Handinger::Internal::Type::Enum
|
|
262
|
-
|
|
263
|
-
TaggedSymbol =
|
|
264
|
-
T.type_alias do
|
|
265
|
-
T.all(Symbol, Handinger::Worker::Output::Content::Type)
|
|
266
|
-
end
|
|
267
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
268
|
-
|
|
269
|
-
OUTPUT_TEXT =
|
|
270
|
-
T.let(
|
|
271
|
-
:output_text,
|
|
272
|
-
Handinger::Worker::Output::Content::Type::TaggedSymbol
|
|
273
|
-
)
|
|
274
|
-
|
|
275
|
-
sig do
|
|
276
|
-
override.returns(
|
|
277
|
-
T::Array[Handinger::Worker::Output::Content::Type::TaggedSymbol]
|
|
278
|
-
)
|
|
279
|
-
end
|
|
280
|
-
def self.values
|
|
281
|
-
end
|
|
282
|
-
end
|
|
283
|
-
end
|
|
284
|
-
|
|
285
|
-
module Role
|
|
286
|
-
extend Handinger::Internal::Type::Enum
|
|
287
|
-
|
|
288
|
-
TaggedSymbol =
|
|
289
|
-
T.type_alias { T.all(Symbol, Handinger::Worker::Output::Role) }
|
|
290
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
291
|
-
|
|
292
|
-
ASSISTANT =
|
|
293
|
-
T.let(:assistant, Handinger::Worker::Output::Role::TaggedSymbol)
|
|
294
|
-
|
|
295
|
-
sig do
|
|
296
|
-
override.returns(
|
|
297
|
-
T::Array[Handinger::Worker::Output::Role::TaggedSymbol]
|
|
298
|
-
)
|
|
299
|
-
end
|
|
300
|
-
def self.values
|
|
301
|
-
end
|
|
302
|
-
end
|
|
303
|
-
|
|
304
|
-
module Status
|
|
305
|
-
extend Handinger::Internal::Type::Enum
|
|
306
|
-
|
|
307
|
-
TaggedSymbol =
|
|
308
|
-
T.type_alias { T.all(Symbol, Handinger::Worker::Output::Status) }
|
|
309
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
310
|
-
|
|
311
|
-
COMPLETED =
|
|
312
|
-
T.let(:completed, Handinger::Worker::Output::Status::TaggedSymbol)
|
|
313
|
-
|
|
314
|
-
sig do
|
|
315
|
-
override.returns(
|
|
316
|
-
T::Array[Handinger::Worker::Output::Status::TaggedSymbol]
|
|
317
|
-
)
|
|
318
|
-
end
|
|
319
|
-
def self.values
|
|
320
|
-
end
|
|
321
|
-
end
|
|
322
|
-
|
|
323
|
-
module Type
|
|
324
|
-
extend Handinger::Internal::Type::Enum
|
|
325
|
-
|
|
326
|
-
TaggedSymbol =
|
|
327
|
-
T.type_alias { T.all(Symbol, Handinger::Worker::Output::Type) }
|
|
328
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
329
|
-
|
|
330
|
-
MESSAGE =
|
|
331
|
-
T.let(:message, Handinger::Worker::Output::Type::TaggedSymbol)
|
|
332
|
-
|
|
333
|
-
sig do
|
|
334
|
-
override.returns(
|
|
335
|
-
T::Array[Handinger::Worker::Output::Type::TaggedSymbol]
|
|
336
|
-
)
|
|
337
|
-
end
|
|
338
|
-
def self.values
|
|
339
|
-
end
|
|
340
236
|
end
|
|
341
237
|
end
|
|
342
238
|
|
|
@@ -352,7 +248,7 @@ module Handinger
|
|
|
352
248
|
sig { returns(T.nilable(String)) }
|
|
353
249
|
attr_accessor :title
|
|
354
250
|
|
|
355
|
-
sig { returns(
|
|
251
|
+
sig { returns(Symbol) }
|
|
356
252
|
attr_accessor :type
|
|
357
253
|
|
|
358
254
|
sig { returns(String) }
|
|
@@ -362,43 +258,20 @@ module Handinger
|
|
|
362
258
|
params(
|
|
363
259
|
id: String,
|
|
364
260
|
title: T.nilable(String),
|
|
365
|
-
|
|
366
|
-
|
|
261
|
+
url: String,
|
|
262
|
+
type: Symbol
|
|
367
263
|
).returns(T.attached_class)
|
|
368
264
|
end
|
|
369
|
-
def self.new(id:, title:,
|
|
265
|
+
def self.new(id:, title:, url:, type: :url)
|
|
370
266
|
end
|
|
371
267
|
|
|
372
268
|
sig do
|
|
373
269
|
override.returns(
|
|
374
|
-
{
|
|
375
|
-
id: String,
|
|
376
|
-
title: T.nilable(String),
|
|
377
|
-
type: Handinger::Worker::Source::Type::TaggedSymbol,
|
|
378
|
-
url: String
|
|
379
|
-
}
|
|
270
|
+
{ id: String, title: T.nilable(String), type: Symbol, url: String }
|
|
380
271
|
)
|
|
381
272
|
end
|
|
382
273
|
def to_hash
|
|
383
274
|
end
|
|
384
|
-
|
|
385
|
-
module Type
|
|
386
|
-
extend Handinger::Internal::Type::Enum
|
|
387
|
-
|
|
388
|
-
TaggedSymbol =
|
|
389
|
-
T.type_alias { T.all(Symbol, Handinger::Worker::Source::Type) }
|
|
390
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
391
|
-
|
|
392
|
-
URL = T.let(:url, Handinger::Worker::Source::Type::TaggedSymbol)
|
|
393
|
-
|
|
394
|
-
sig do
|
|
395
|
-
override.returns(
|
|
396
|
-
T::Array[Handinger::Worker::Source::Type::TaggedSymbol]
|
|
397
|
-
)
|
|
398
|
-
end
|
|
399
|
-
def self.values
|
|
400
|
-
end
|
|
401
|
-
end
|
|
402
275
|
end
|
|
403
276
|
|
|
404
277
|
module Status
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Handinger
|
|
4
|
+
module Models
|
|
5
|
+
module Workers
|
|
6
|
+
class UpdateWebhook < Handinger::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
Handinger::Workers::UpdateWebhook,
|
|
11
|
+
Handinger::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# HTTPS endpoint Handinger should POST to when a task finishes. Pass `null` to
|
|
16
|
+
# remove the webhook and clear its token.
|
|
17
|
+
sig { returns(T.nilable(String)) }
|
|
18
|
+
attr_accessor :url
|
|
19
|
+
|
|
20
|
+
sig { params(url: T.nilable(String)).returns(T.attached_class) }
|
|
21
|
+
def self.new(
|
|
22
|
+
# HTTPS endpoint Handinger should POST to when a task finishes. Pass `null` to
|
|
23
|
+
# remove the webhook and clear its token.
|
|
24
|
+
url:
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
sig { override.returns({ url: T.nilable(String) }) }
|
|
29
|
+
def to_hash
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Handinger
|
|
4
|
+
module Models
|
|
5
|
+
module Workers
|
|
6
|
+
class Webhook < Handinger::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(Handinger::Workers::Webhook, Handinger::Internal::AnyHash)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# Shared secret sent in the `X-Handinger-Token` header on each delivery. `null`
|
|
13
|
+
# when no webhook is configured.
|
|
14
|
+
sig { returns(T.nilable(String)) }
|
|
15
|
+
attr_accessor :token
|
|
16
|
+
|
|
17
|
+
# HTTPS endpoint that receives webhook deliveries when a task completes. `null`
|
|
18
|
+
# when no webhook is configured.
|
|
19
|
+
sig { returns(T.nilable(String)) }
|
|
20
|
+
attr_accessor :url
|
|
21
|
+
|
|
22
|
+
sig do
|
|
23
|
+
params(token: T.nilable(String), url: T.nilable(String)).returns(
|
|
24
|
+
T.attached_class
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
def self.new(
|
|
28
|
+
# Shared secret sent in the `X-Handinger-Token` header on each delivery. `null`
|
|
29
|
+
# when no webhook is configured.
|
|
30
|
+
token:,
|
|
31
|
+
# HTTPS endpoint that receives webhook deliveries when a task completes. `null`
|
|
32
|
+
# when no webhook is configured.
|
|
33
|
+
url:
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
sig do
|
|
38
|
+
override.returns({ token: T.nilable(String), url: T.nilable(String) })
|
|
39
|
+
end
|
|
40
|
+
def to_hash
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Handinger
|
|
4
|
+
module Models
|
|
5
|
+
module Workers
|
|
6
|
+
class WebhookDeleteParams < Handinger::Internal::Type::BaseModel
|
|
7
|
+
extend Handinger::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Handinger::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(
|
|
13
|
+
Handinger::Workers::WebhookDeleteParams,
|
|
14
|
+
Handinger::Internal::AnyHash
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :worker_id
|
|
20
|
+
|
|
21
|
+
sig do
|
|
22
|
+
params(
|
|
23
|
+
worker_id: String,
|
|
24
|
+
request_options: Handinger::RequestOptions::OrHash
|
|
25
|
+
).returns(T.attached_class)
|
|
26
|
+
end
|
|
27
|
+
def self.new(worker_id:, request_options: {})
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
sig do
|
|
31
|
+
override.returns(
|
|
32
|
+
{ worker_id: String, request_options: Handinger::RequestOptions }
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
def to_hash
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|