handinger 0.1.0 → 0.3.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 +35 -0
- data/README.md +19 -20
- data/SECURITY.md +4 -0
- data/lib/handinger/client.rb +21 -1
- data/lib/handinger/internal/transport/base_client.rb +1 -3
- data/lib/handinger/internal/type/base_model.rb +3 -3
- data/lib/handinger/models/create_task.rb +28 -0
- data/lib/handinger/models/create_worker.rb +59 -19
- data/lib/handinger/models/delete_task_response.rb +16 -0
- data/lib/handinger/models/delete_worker_response.rb +16 -0
- data/lib/handinger/models/task.rb +119 -0
- data/lib/handinger/models/task_create_params.rb +14 -0
- data/lib/handinger/models/task_delete_params.rb +20 -0
- data/lib/handinger/models/task_retrieve_params.rb +20 -0
- data/lib/handinger/models/task_with_turns.rb +113 -0
- data/lib/handinger/models/update_worker.rb +71 -0
- data/lib/handinger/models/worker.rb +9 -84
- data/lib/handinger/models/{worker_stream_updates_params.rb → worker_delete_params.rb} +2 -2
- data/lib/handinger/models/worker_retrieve_email_response.rb +10 -1
- data/lib/handinger/models/worker_retrieve_params.rb +22 -4
- data/lib/handinger/models/worker_template.rb +84 -0
- data/lib/handinger/models/{worker_continue_params.rb → worker_update_params.rb} +2 -2
- data/lib/handinger/models.rb +23 -5
- data/lib/handinger/resources/tasks.rb +98 -0
- data/lib/handinger/resources/workers.rb +66 -68
- data/lib/handinger/version.rb +1 -1
- data/lib/handinger.rb +13 -6
- data/rbi/handinger/client.rbi +5 -0
- data/rbi/handinger/internal/transport/base_client.rbi +2 -18
- data/rbi/handinger/models/create_task.rbi +40 -0
- data/rbi/handinger/models/create_worker.rbi +84 -26
- data/rbi/handinger/models/delete_task_response.rbi +23 -0
- data/rbi/handinger/models/delete_worker_response.rbi +23 -0
- data/rbi/handinger/models/task.rbi +160 -0
- data/rbi/handinger/models/task_create_params.rbi +27 -0
- data/rbi/handinger/models/task_delete_params.rbi +35 -0
- data/rbi/handinger/models/task_retrieve_params.rbi +35 -0
- data/rbi/handinger/models/task_with_turns.rbi +149 -0
- data/rbi/handinger/models/update_worker.rbi +112 -0
- data/rbi/handinger/models/worker.rbi +10 -120
- data/rbi/handinger/models/{worker_stream_updates_params.rbi → worker_delete_params.rbi} +2 -5
- data/rbi/handinger/models/worker_retrieve_email_response.rbi +20 -1
- data/rbi/handinger/models/worker_retrieve_params.rbi +40 -6
- data/rbi/handinger/models/worker_template.rbi +110 -0
- data/rbi/handinger/models/{worker_continue_params.rbi → worker_update_params.rbi} +2 -2
- data/rbi/handinger/models.rbi +23 -5
- data/rbi/handinger/resources/tasks.rbi +86 -0
- data/rbi/handinger/resources/workers.rbi +68 -43
- data/sig/handinger/client.rbs +2 -0
- data/sig/handinger/models/create_task.rbs +19 -0
- data/sig/handinger/models/create_worker.rbs +44 -23
- data/sig/handinger/models/delete_task_response.rbs +13 -0
- data/sig/handinger/models/delete_worker_response.rbs +13 -0
- data/sig/handinger/models/task.rbs +114 -0
- data/sig/handinger/models/task_create_params.rbs +15 -0
- data/sig/handinger/models/task_delete_params.rbs +23 -0
- data/sig/handinger/models/task_retrieve_params.rbs +23 -0
- data/sig/handinger/models/task_with_turns.rbs +104 -0
- data/sig/handinger/models/update_worker.rbs +61 -0
- data/sig/handinger/models/worker.rbs +7 -89
- data/sig/handinger/models/{worker_stream_updates_params.rbs → worker_delete_params.rbs} +2 -2
- data/sig/handinger/models/worker_retrieve_email_response.rbs +9 -1
- data/sig/handinger/models/worker_retrieve_params.rbs +21 -5
- data/sig/handinger/models/worker_template.rbs +76 -0
- data/sig/handinger/models/{worker_continue_params.rbs → worker_update_params.rbs} +2 -2
- data/sig/handinger/models.rbs +23 -5
- data/sig/handinger/resources/tasks.rbs +29 -0
- data/sig/handinger/resources/workers.rbs +19 -20
- metadata +42 -21
- data/lib/handinger/internal/stream.rb +0 -29
- data/lib/handinger/internal/type/base_stream.rb +0 -83
- data/lib/handinger/models/worker_retrieve_file_params.rb +0 -26
- data/lib/handinger/models/worker_stream_updates_response.rb +0 -7
- data/rbi/handinger/internal/stream.rbi +0 -20
- data/rbi/handinger/internal/type/base_stream.rbi +0 -75
- data/rbi/handinger/models/worker_retrieve_file_params.rbi +0 -46
- data/rbi/handinger/models/worker_stream_updates_response.rbi +0 -7
- data/sig/handinger/internal/stream.rbs +0 -9
- data/sig/handinger/internal/type/base_stream.rbs +0 -38
- data/sig/handinger/models/worker_retrieve_file_params.rbs +0 -28
- data/sig/handinger/models/worker_stream_updates_response.rbs +0 -5
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Handinger
|
|
4
|
+
module Models
|
|
5
|
+
# @see Handinger::Resources::Tasks#retrieve
|
|
6
|
+
class TaskWithTurns < Handinger::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute task
|
|
8
|
+
#
|
|
9
|
+
# @return [Handinger::Models::Task]
|
|
10
|
+
required :task, -> { Handinger::Task }
|
|
11
|
+
|
|
12
|
+
# @!attribute turns
|
|
13
|
+
#
|
|
14
|
+
# @return [Array<Handinger::Models::TaskWithTurns::Turn>]
|
|
15
|
+
required :turns, -> { Handinger::Internal::Type::ArrayOf[Handinger::TaskWithTurns::Turn] }
|
|
16
|
+
|
|
17
|
+
# @!method initialize(task:, turns:)
|
|
18
|
+
# @param task [Handinger::Models::Task]
|
|
19
|
+
# @param turns [Array<Handinger::Models::TaskWithTurns::Turn>]
|
|
20
|
+
|
|
21
|
+
class Turn < Handinger::Internal::Type::BaseModel
|
|
22
|
+
# @!attribute id
|
|
23
|
+
#
|
|
24
|
+
# @return [String]
|
|
25
|
+
required :id, String
|
|
26
|
+
|
|
27
|
+
# @!attribute completed_at
|
|
28
|
+
#
|
|
29
|
+
# @return [String, nil]
|
|
30
|
+
required :completed_at, String, api_name: :completedAt, nil?: true
|
|
31
|
+
|
|
32
|
+
# @!attribute credits
|
|
33
|
+
#
|
|
34
|
+
# @return [Float]
|
|
35
|
+
required :credits, Float
|
|
36
|
+
|
|
37
|
+
# @!attribute duration_ms
|
|
38
|
+
#
|
|
39
|
+
# @return [Integer]
|
|
40
|
+
required :duration_ms, Integer, api_name: :durationMs
|
|
41
|
+
|
|
42
|
+
# @!attribute input
|
|
43
|
+
#
|
|
44
|
+
# @return [String]
|
|
45
|
+
required :input, String
|
|
46
|
+
|
|
47
|
+
# @!attribute input_tokens
|
|
48
|
+
#
|
|
49
|
+
# @return [Integer]
|
|
50
|
+
required :input_tokens, Integer, api_name: :inputTokens
|
|
51
|
+
|
|
52
|
+
# @!attribute output_text
|
|
53
|
+
#
|
|
54
|
+
# @return [String]
|
|
55
|
+
required :output_text, String, api_name: :outputText
|
|
56
|
+
|
|
57
|
+
# @!attribute output_tokens
|
|
58
|
+
#
|
|
59
|
+
# @return [Integer]
|
|
60
|
+
required :output_tokens, Integer, api_name: :outputTokens
|
|
61
|
+
|
|
62
|
+
# @!attribute role
|
|
63
|
+
#
|
|
64
|
+
# @return [String]
|
|
65
|
+
required :role, String
|
|
66
|
+
|
|
67
|
+
# @!attribute seq
|
|
68
|
+
#
|
|
69
|
+
# @return [Integer]
|
|
70
|
+
required :seq, Integer
|
|
71
|
+
|
|
72
|
+
# @!attribute started_at
|
|
73
|
+
#
|
|
74
|
+
# @return [String]
|
|
75
|
+
required :started_at, String, api_name: :startedAt
|
|
76
|
+
|
|
77
|
+
# @!attribute status
|
|
78
|
+
#
|
|
79
|
+
# @return [String]
|
|
80
|
+
required :status, String
|
|
81
|
+
|
|
82
|
+
# @!attribute structured_output
|
|
83
|
+
#
|
|
84
|
+
# @return [Hash{Symbol=>Object}, nil]
|
|
85
|
+
required :structured_output,
|
|
86
|
+
Handinger::Internal::Type::HashOf[Handinger::Internal::Type::Unknown],
|
|
87
|
+
api_name: :structuredOutput,
|
|
88
|
+
nil?: true
|
|
89
|
+
|
|
90
|
+
# @!attribute task_id
|
|
91
|
+
#
|
|
92
|
+
# @return [String]
|
|
93
|
+
required :task_id, String, api_name: :taskId
|
|
94
|
+
|
|
95
|
+
# @!method initialize(id:, completed_at:, credits:, duration_ms:, input:, input_tokens:, output_text:, output_tokens:, role:, seq:, started_at:, status:, structured_output:, task_id:)
|
|
96
|
+
# @param id [String]
|
|
97
|
+
# @param completed_at [String, nil]
|
|
98
|
+
# @param credits [Float]
|
|
99
|
+
# @param duration_ms [Integer]
|
|
100
|
+
# @param input [String]
|
|
101
|
+
# @param input_tokens [Integer]
|
|
102
|
+
# @param output_text [String]
|
|
103
|
+
# @param output_tokens [Integer]
|
|
104
|
+
# @param role [String]
|
|
105
|
+
# @param seq [Integer]
|
|
106
|
+
# @param started_at [String]
|
|
107
|
+
# @param status [String]
|
|
108
|
+
# @param structured_output [Hash{Symbol=>Object}, nil]
|
|
109
|
+
# @param task_id [String]
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Handinger
|
|
4
|
+
module Models
|
|
5
|
+
class UpdateWorker < Handinger::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute instructions
|
|
7
|
+
# Replaces the persistent system prompt. Subsequent tasks pick up the new
|
|
8
|
+
# instructions immediately; in-flight tasks keep using the previous version.
|
|
9
|
+
#
|
|
10
|
+
# @return [String, nil]
|
|
11
|
+
optional :instructions, String
|
|
12
|
+
|
|
13
|
+
# @!attribute output_schema
|
|
14
|
+
# Replace the worker's structured output schema. Pass `null` to clear it and
|
|
15
|
+
# return to free-form text responses.
|
|
16
|
+
#
|
|
17
|
+
# @return [Hash{Symbol=>Object}, nil]
|
|
18
|
+
optional :output_schema,
|
|
19
|
+
Handinger::Internal::Type::HashOf[Handinger::Internal::Type::Unknown],
|
|
20
|
+
api_name: :outputSchema,
|
|
21
|
+
nil?: true
|
|
22
|
+
|
|
23
|
+
# @!attribute summary
|
|
24
|
+
# Replaces the worker's short one-line summary.
|
|
25
|
+
#
|
|
26
|
+
# @return [String, nil]
|
|
27
|
+
optional :summary, String
|
|
28
|
+
|
|
29
|
+
# @!attribute title
|
|
30
|
+
# New display name for the worker.
|
|
31
|
+
#
|
|
32
|
+
# @return [String, nil]
|
|
33
|
+
optional :title, String
|
|
34
|
+
|
|
35
|
+
# @!attribute visibility
|
|
36
|
+
# Change visibility between `public` (any org member can run tasks) and `private`
|
|
37
|
+
# (only invited members).
|
|
38
|
+
#
|
|
39
|
+
# @return [Symbol, Handinger::Models::UpdateWorker::Visibility, nil]
|
|
40
|
+
optional :visibility, enum: -> { Handinger::UpdateWorker::Visibility }
|
|
41
|
+
|
|
42
|
+
# @!method initialize(instructions: nil, output_schema: nil, summary: nil, title: nil, visibility: nil)
|
|
43
|
+
# Some parameter documentations has been truncated, see
|
|
44
|
+
# {Handinger::Models::UpdateWorker} for more details.
|
|
45
|
+
#
|
|
46
|
+
# @param instructions [String] Replaces the persistent system prompt. Subsequent tasks pick up the new instruct
|
|
47
|
+
#
|
|
48
|
+
# @param output_schema [Hash{Symbol=>Object}, nil] Replace the worker's structured output schema. Pass `null` to clear it and retur
|
|
49
|
+
#
|
|
50
|
+
# @param summary [String] Replaces the worker's short one-line summary.
|
|
51
|
+
#
|
|
52
|
+
# @param title [String] New display name for the worker.
|
|
53
|
+
#
|
|
54
|
+
# @param visibility [Symbol, Handinger::Models::UpdateWorker::Visibility] Change visibility between `public` (any org member can run tasks) and `private`
|
|
55
|
+
|
|
56
|
+
# Change visibility between `public` (any org member can run tasks) and `private`
|
|
57
|
+
# (only invited members).
|
|
58
|
+
#
|
|
59
|
+
# @see Handinger::Models::UpdateWorker#visibility
|
|
60
|
+
module Visibility
|
|
61
|
+
extend Handinger::Internal::Type::Enum
|
|
62
|
+
|
|
63
|
+
PUBLIC = :public
|
|
64
|
+
PRIVATE = :private
|
|
65
|
+
|
|
66
|
+
# @!method self.values
|
|
67
|
+
# @return [Array<Symbol>]
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module Handinger
|
|
4
4
|
module Models
|
|
5
|
-
# @see Handinger::Resources::Workers#
|
|
5
|
+
# @see Handinger::Resources::Workers#retrieve
|
|
6
6
|
class Worker < Handinger::Internal::Type::BaseModel
|
|
7
7
|
# @!attribute id
|
|
8
8
|
#
|
|
@@ -69,17 +69,19 @@ module Handinger
|
|
|
69
69
|
# @return [Symbol, Handinger::Models::Worker::Status]
|
|
70
70
|
required :status, enum: -> { Handinger::Worker::Status }
|
|
71
71
|
|
|
72
|
-
# @!attribute
|
|
72
|
+
# @!attribute structured_output
|
|
73
73
|
#
|
|
74
|
-
# @return [
|
|
75
|
-
|
|
74
|
+
# @return [Hash{Symbol=>Object}, nil]
|
|
75
|
+
required :structured_output,
|
|
76
|
+
Handinger::Internal::Type::HashOf[Handinger::Internal::Type::Unknown],
|
|
77
|
+
nil?: true
|
|
76
78
|
|
|
77
79
|
# @!attribute usage
|
|
78
80
|
#
|
|
79
81
|
# @return [Handinger::Models::Worker::Usage, nil]
|
|
80
82
|
optional :usage, -> { Handinger::Worker::Usage }
|
|
81
83
|
|
|
82
|
-
# @!method initialize(id:, created_at:, error:, files:, incomplete_details:, messages:, metadata:, object:, output:, output_text:, running:, sources:, status:,
|
|
84
|
+
# @!method initialize(id:, created_at:, error:, files:, incomplete_details:, messages:, metadata:, object:, output:, output_text:, running:, sources:, status:, structured_output:, usage: nil)
|
|
83
85
|
# @param id [String]
|
|
84
86
|
# @param created_at [Integer, nil]
|
|
85
87
|
# @param error [nil]
|
|
@@ -93,7 +95,7 @@ module Handinger
|
|
|
93
95
|
# @param running [Boolean]
|
|
94
96
|
# @param sources [Array<Handinger::Models::Worker::Source>]
|
|
95
97
|
# @param status [Symbol, Handinger::Models::Worker::Status]
|
|
96
|
-
# @param
|
|
98
|
+
# @param structured_output [Hash{Symbol=>Object}, nil]
|
|
97
99
|
# @param usage [Handinger::Models::Worker::Usage]
|
|
98
100
|
|
|
99
101
|
class File < Handinger::Internal::Type::BaseModel
|
|
@@ -268,77 +270,8 @@ module Handinger
|
|
|
268
270
|
# @return [Array<Symbol>]
|
|
269
271
|
end
|
|
270
272
|
|
|
271
|
-
# @see Handinger::Models::Worker#costs
|
|
272
|
-
class Costs < Handinger::Internal::Type::BaseModel
|
|
273
|
-
# @!attribute internal_cost_usd
|
|
274
|
-
#
|
|
275
|
-
# @return [Float]
|
|
276
|
-
required :internal_cost_usd, Float, api_name: :internalCostUsd
|
|
277
|
-
|
|
278
|
-
# @!attribute model_cost_usd
|
|
279
|
-
#
|
|
280
|
-
# @return [Float]
|
|
281
|
-
required :model_cost_usd, Float, api_name: :modelCostUsd
|
|
282
|
-
|
|
283
|
-
# @!attribute sandbox_cost_usd
|
|
284
|
-
#
|
|
285
|
-
# @return [Float]
|
|
286
|
-
required :sandbox_cost_usd, Float, api_name: :sandboxCostUsd
|
|
287
|
-
|
|
288
|
-
# @!attribute tool_cost_usd
|
|
289
|
-
#
|
|
290
|
-
# @return [Float]
|
|
291
|
-
required :tool_cost_usd, Float, api_name: :toolCostUsd
|
|
292
|
-
|
|
293
|
-
# @!method initialize(internal_cost_usd:, model_cost_usd:, sandbox_cost_usd:, tool_cost_usd:)
|
|
294
|
-
# @param internal_cost_usd [Float]
|
|
295
|
-
# @param model_cost_usd [Float]
|
|
296
|
-
# @param sandbox_cost_usd [Float]
|
|
297
|
-
# @param tool_cost_usd [Float]
|
|
298
|
-
end
|
|
299
|
-
|
|
300
273
|
# @see Handinger::Models::Worker#usage
|
|
301
274
|
class Usage < Handinger::Internal::Type::BaseModel
|
|
302
|
-
# @!attribute cache_read_tokens
|
|
303
|
-
#
|
|
304
|
-
# @return [Integer]
|
|
305
|
-
required :cache_read_tokens, Integer, api_name: :cacheReadTokens
|
|
306
|
-
|
|
307
|
-
# @!attribute cache_write_tokens
|
|
308
|
-
#
|
|
309
|
-
# @return [Integer]
|
|
310
|
-
required :cache_write_tokens, Integer, api_name: :cacheWriteTokens
|
|
311
|
-
|
|
312
|
-
# @!attribute cost_usd
|
|
313
|
-
#
|
|
314
|
-
# @return [Float]
|
|
315
|
-
required :cost_usd, Float, api_name: :costUsd
|
|
316
|
-
|
|
317
|
-
# @!attribute input_tokens
|
|
318
|
-
#
|
|
319
|
-
# @return [Integer]
|
|
320
|
-
required :input_tokens, Integer, api_name: :inputTokens
|
|
321
|
-
|
|
322
|
-
# @!attribute output_tokens
|
|
323
|
-
#
|
|
324
|
-
# @return [Integer]
|
|
325
|
-
required :output_tokens, Integer, api_name: :outputTokens
|
|
326
|
-
|
|
327
|
-
# @!attribute reasoning_tokens
|
|
328
|
-
#
|
|
329
|
-
# @return [Integer]
|
|
330
|
-
required :reasoning_tokens, Integer, api_name: :reasoningTokens
|
|
331
|
-
|
|
332
|
-
# @!attribute steps
|
|
333
|
-
#
|
|
334
|
-
# @return [Integer]
|
|
335
|
-
required :steps, Integer
|
|
336
|
-
|
|
337
|
-
# @!attribute total_tokens
|
|
338
|
-
#
|
|
339
|
-
# @return [Integer]
|
|
340
|
-
required :total_tokens, Integer, api_name: :totalTokens
|
|
341
|
-
|
|
342
275
|
# @!attribute credits
|
|
343
276
|
#
|
|
344
277
|
# @return [Integer, nil]
|
|
@@ -349,15 +282,7 @@ module Handinger
|
|
|
349
282
|
# @return [Integer, nil]
|
|
350
283
|
optional :duration_ms, Integer, api_name: :durationMs
|
|
351
284
|
|
|
352
|
-
# @!method initialize(
|
|
353
|
-
# @param cache_read_tokens [Integer]
|
|
354
|
-
# @param cache_write_tokens [Integer]
|
|
355
|
-
# @param cost_usd [Float]
|
|
356
|
-
# @param input_tokens [Integer]
|
|
357
|
-
# @param output_tokens [Integer]
|
|
358
|
-
# @param reasoning_tokens [Integer]
|
|
359
|
-
# @param steps [Integer]
|
|
360
|
-
# @param total_tokens [Integer]
|
|
285
|
+
# @!method initialize(credits: nil, duration_ms: nil)
|
|
361
286
|
# @param credits [Integer]
|
|
362
287
|
# @param duration_ms [Integer]
|
|
363
288
|
end
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
module Handinger
|
|
4
4
|
module Models
|
|
5
|
-
# @see Handinger::Resources::Workers#
|
|
6
|
-
class
|
|
5
|
+
# @see Handinger::Resources::Workers#delete
|
|
6
|
+
class WorkerDeleteParams < Handinger::Internal::Type::BaseModel
|
|
7
7
|
extend Handinger::Internal::Type::RequestParameters::Converter
|
|
8
8
|
include Handinger::Internal::Type::RequestParameters
|
|
9
9
|
|
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
module Handinger
|
|
4
4
|
module Models
|
|
5
|
-
|
|
5
|
+
# @see Handinger::Resources::Workers#retrieve_email
|
|
6
|
+
class WorkerRetrieveEmailResponse < Handinger::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute email
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
required :email, String
|
|
11
|
+
|
|
12
|
+
# @!method initialize(email:)
|
|
13
|
+
# @param email [String]
|
|
14
|
+
end
|
|
6
15
|
end
|
|
7
16
|
end
|
|
@@ -13,17 +13,35 @@ module Handinger
|
|
|
13
13
|
required :worker_id, String
|
|
14
14
|
|
|
15
15
|
# @!attribute stream
|
|
16
|
-
#
|
|
16
|
+
# Set to "true" to receive a server-sent event stream that replays all stored
|
|
17
|
+
# messages and then continues with live chunks from the active task (if any)
|
|
18
|
+
# before closing.
|
|
17
19
|
#
|
|
18
|
-
# @return [
|
|
19
|
-
optional :stream, Handinger::
|
|
20
|
+
# @return [Symbol, Handinger::Models::WorkerRetrieveParams::Stream, nil]
|
|
21
|
+
optional :stream, enum: -> { Handinger::WorkerRetrieveParams::Stream }
|
|
20
22
|
|
|
21
23
|
# @!method initialize(worker_id:, stream: nil, request_options: {})
|
|
24
|
+
# Some parameter documentations has been truncated, see
|
|
25
|
+
# {Handinger::Models::WorkerRetrieveParams} for more details.
|
|
26
|
+
#
|
|
22
27
|
# @param worker_id [String]
|
|
23
28
|
#
|
|
24
|
-
# @param stream [
|
|
29
|
+
# @param stream [Symbol, Handinger::Models::WorkerRetrieveParams::Stream] Set to "true" to receive a server-sent event stream that replays all stored mess
|
|
25
30
|
#
|
|
26
31
|
# @param request_options [Handinger::RequestOptions, Hash{Symbol=>Object}]
|
|
32
|
+
|
|
33
|
+
# Set to "true" to receive a server-sent event stream that replays all stored
|
|
34
|
+
# messages and then continues with live chunks from the active task (if any)
|
|
35
|
+
# before closing.
|
|
36
|
+
module Stream
|
|
37
|
+
extend Handinger::Internal::Type::Enum
|
|
38
|
+
|
|
39
|
+
TRUE = :true
|
|
40
|
+
FALSE = :false
|
|
41
|
+
|
|
42
|
+
# @!method self.values
|
|
43
|
+
# @return [Array<Symbol>]
|
|
44
|
+
end
|
|
27
45
|
end
|
|
28
46
|
end
|
|
29
47
|
end
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Handinger
|
|
4
|
+
module Models
|
|
5
|
+
# @see Handinger::Resources::Workers#create
|
|
6
|
+
class WorkerTemplate < Handinger::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute id
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
required :id, String
|
|
11
|
+
|
|
12
|
+
# @!attribute created_at
|
|
13
|
+
#
|
|
14
|
+
# @return [String, nil]
|
|
15
|
+
required :created_at, String, api_name: :createdAt, nil?: true
|
|
16
|
+
|
|
17
|
+
# @!attribute instructions
|
|
18
|
+
#
|
|
19
|
+
# @return [String]
|
|
20
|
+
required :instructions, String
|
|
21
|
+
|
|
22
|
+
# @!attribute organization_id
|
|
23
|
+
#
|
|
24
|
+
# @return [String]
|
|
25
|
+
required :organization_id, String, api_name: :organizationId
|
|
26
|
+
|
|
27
|
+
# @!attribute output_schema
|
|
28
|
+
#
|
|
29
|
+
# @return [Hash{Symbol=>Object}, nil]
|
|
30
|
+
required :output_schema,
|
|
31
|
+
Handinger::Internal::Type::HashOf[Handinger::Internal::Type::Unknown],
|
|
32
|
+
api_name: :outputSchema,
|
|
33
|
+
nil?: true
|
|
34
|
+
|
|
35
|
+
# @!attribute summary
|
|
36
|
+
#
|
|
37
|
+
# @return [String]
|
|
38
|
+
required :summary, String
|
|
39
|
+
|
|
40
|
+
# @!attribute title
|
|
41
|
+
#
|
|
42
|
+
# @return [String]
|
|
43
|
+
required :title, String
|
|
44
|
+
|
|
45
|
+
# @!attribute updated_at
|
|
46
|
+
#
|
|
47
|
+
# @return [String, nil]
|
|
48
|
+
required :updated_at, String, api_name: :updatedAt, nil?: true
|
|
49
|
+
|
|
50
|
+
# @!attribute user_id
|
|
51
|
+
#
|
|
52
|
+
# @return [String]
|
|
53
|
+
required :user_id, String, api_name: :userId
|
|
54
|
+
|
|
55
|
+
# @!attribute visibility
|
|
56
|
+
#
|
|
57
|
+
# @return [Symbol, Handinger::Models::WorkerTemplate::Visibility]
|
|
58
|
+
required :visibility, enum: -> { Handinger::WorkerTemplate::Visibility }
|
|
59
|
+
|
|
60
|
+
# @!method initialize(id:, created_at:, instructions:, organization_id:, output_schema:, summary:, title:, updated_at:, user_id:, visibility:)
|
|
61
|
+
# @param id [String]
|
|
62
|
+
# @param created_at [String, nil]
|
|
63
|
+
# @param instructions [String]
|
|
64
|
+
# @param organization_id [String]
|
|
65
|
+
# @param output_schema [Hash{Symbol=>Object}, nil]
|
|
66
|
+
# @param summary [String]
|
|
67
|
+
# @param title [String]
|
|
68
|
+
# @param updated_at [String, nil]
|
|
69
|
+
# @param user_id [String]
|
|
70
|
+
# @param visibility [Symbol, Handinger::Models::WorkerTemplate::Visibility]
|
|
71
|
+
|
|
72
|
+
# @see Handinger::Models::WorkerTemplate#visibility
|
|
73
|
+
module Visibility
|
|
74
|
+
extend Handinger::Internal::Type::Enum
|
|
75
|
+
|
|
76
|
+
PUBLIC = :public
|
|
77
|
+
PRIVATE = :private
|
|
78
|
+
|
|
79
|
+
# @!method self.values
|
|
80
|
+
# @return [Array<Symbol>]
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
module Handinger
|
|
4
4
|
module Models
|
|
5
|
-
# @see Handinger::Resources::Workers#
|
|
6
|
-
class
|
|
5
|
+
# @see Handinger::Resources::Workers#update
|
|
6
|
+
class WorkerUpdateParams < Handinger::Models::UpdateWorker
|
|
7
7
|
extend Handinger::Internal::Type::RequestParameters::Converter
|
|
8
8
|
include Handinger::Internal::Type::RequestParameters
|
|
9
9
|
|
data/lib/handinger/models.rb
CHANGED
|
@@ -39,21 +39,39 @@ module Handinger
|
|
|
39
39
|
mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } }
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
+
CreateTask = Handinger::Models::CreateTask
|
|
43
|
+
|
|
42
44
|
CreateWorker = Handinger::Models::CreateWorker
|
|
43
45
|
|
|
44
|
-
|
|
46
|
+
DeleteTaskResponse = Handinger::Models::DeleteTaskResponse
|
|
47
|
+
|
|
48
|
+
DeleteWorkerResponse = Handinger::Models::DeleteWorkerResponse
|
|
49
|
+
|
|
50
|
+
Task = Handinger::Models::Task
|
|
51
|
+
|
|
52
|
+
TaskCreateParams = Handinger::Models::TaskCreateParams
|
|
53
|
+
|
|
54
|
+
TaskDeleteParams = Handinger::Models::TaskDeleteParams
|
|
55
|
+
|
|
56
|
+
TaskRetrieveParams = Handinger::Models::TaskRetrieveParams
|
|
45
57
|
|
|
46
|
-
|
|
58
|
+
TaskWithTurns = Handinger::Models::TaskWithTurns
|
|
59
|
+
|
|
60
|
+
UpdateWorker = Handinger::Models::UpdateWorker
|
|
61
|
+
|
|
62
|
+
Worker = Handinger::Models::Worker
|
|
47
63
|
|
|
48
64
|
WorkerCreateParams = Handinger::Models::WorkerCreateParams
|
|
49
65
|
|
|
50
|
-
|
|
66
|
+
WorkerDeleteParams = Handinger::Models::WorkerDeleteParams
|
|
51
67
|
|
|
52
|
-
|
|
68
|
+
WorkerRetrieveEmailParams = Handinger::Models::WorkerRetrieveEmailParams
|
|
53
69
|
|
|
54
70
|
WorkerRetrieveParams = Handinger::Models::WorkerRetrieveParams
|
|
55
71
|
|
|
56
72
|
Workers = Handinger::Models::Workers
|
|
57
73
|
|
|
58
|
-
|
|
74
|
+
WorkerTemplate = Handinger::Models::WorkerTemplate
|
|
75
|
+
|
|
76
|
+
WorkerUpdateParams = Handinger::Models::WorkerUpdateParams
|
|
59
77
|
end
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Handinger
|
|
4
|
+
module Resources
|
|
5
|
+
# Run and inspect tasks against a worker.
|
|
6
|
+
class Tasks
|
|
7
|
+
# Some parameter documentations has been truncated, see
|
|
8
|
+
# {Handinger::Models::TaskCreateParams} for more details.
|
|
9
|
+
#
|
|
10
|
+
# Run a new task against an existing worker. Send a `taskId` of a prior task to
|
|
11
|
+
# add a follow-up turn instead of starting a fresh task. Send
|
|
12
|
+
# `multipart/form-data` to attach files; the bytes are bootstrapped into the
|
|
13
|
+
# worker's workspace before the task starts.
|
|
14
|
+
#
|
|
15
|
+
# @overload create(worker_id:, instructions: nil, output_schema: nil, prompt: nil, summary: nil, task_id: nil, title: nil, visibility: nil, request_options: {})
|
|
16
|
+
#
|
|
17
|
+
# @param worker_id [String] Worker id the task belongs to.
|
|
18
|
+
#
|
|
19
|
+
# @param instructions [String] Persistent system prompt the worker uses for every task it runs.
|
|
20
|
+
#
|
|
21
|
+
# @param output_schema [Hash{Symbol=>Object}] Optional JSON Schema (Draft-07) describing the structured object the worker must
|
|
22
|
+
#
|
|
23
|
+
# @param prompt [String] Natural-language description of the worker to use for AI-generated instructions
|
|
24
|
+
#
|
|
25
|
+
# @param summary [String] Short one-line description of the worker's purpose. Auto-generated when omitted
|
|
26
|
+
#
|
|
27
|
+
# @param task_id [String] Optional client-provided task id. Reuse this id to add turns to an existing task
|
|
28
|
+
#
|
|
29
|
+
# @param title [String] Optional display name. When omitted, Handinger assigns a random dog-themed name.
|
|
30
|
+
#
|
|
31
|
+
# @param visibility [Symbol, Handinger::Models::CreateTask::Visibility] `public` (default) is visible to all org members. `private` is only visible to i
|
|
32
|
+
#
|
|
33
|
+
# @param request_options [Handinger::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
34
|
+
#
|
|
35
|
+
# @return [Handinger::Models::Worker]
|
|
36
|
+
#
|
|
37
|
+
# @see Handinger::Models::TaskCreateParams
|
|
38
|
+
def create(params)
|
|
39
|
+
parsed, options = Handinger::TaskCreateParams.dump_request(params)
|
|
40
|
+
@client.request(
|
|
41
|
+
method: :post,
|
|
42
|
+
path: "api/tasks",
|
|
43
|
+
body: parsed,
|
|
44
|
+
model: Handinger::Worker,
|
|
45
|
+
options: options
|
|
46
|
+
)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Retrieve a single task and its individual turns.
|
|
50
|
+
#
|
|
51
|
+
# @overload retrieve(task_id, request_options: {})
|
|
52
|
+
#
|
|
53
|
+
# @param task_id [String] Task id returned by the create task endpoint.
|
|
54
|
+
#
|
|
55
|
+
# @param request_options [Handinger::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
56
|
+
#
|
|
57
|
+
# @return [Handinger::Models::TaskWithTurns]
|
|
58
|
+
#
|
|
59
|
+
# @see Handinger::Models::TaskRetrieveParams
|
|
60
|
+
def retrieve(task_id, params = {})
|
|
61
|
+
@client.request(
|
|
62
|
+
method: :get,
|
|
63
|
+
path: ["api/tasks/%1$s", task_id],
|
|
64
|
+
model: Handinger::TaskWithTurns,
|
|
65
|
+
options: params[:request_options]
|
|
66
|
+
)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# Archive a task so it stops appearing in `GET /tasks` results. Turns and files
|
|
70
|
+
# are retained for audit purposes. Only the worker creator can archive a task.
|
|
71
|
+
#
|
|
72
|
+
# @overload delete(task_id, request_options: {})
|
|
73
|
+
#
|
|
74
|
+
# @param task_id [String] Task id returned by the create task endpoint.
|
|
75
|
+
#
|
|
76
|
+
# @param request_options [Handinger::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
77
|
+
#
|
|
78
|
+
# @return [Handinger::Models::DeleteTaskResponse]
|
|
79
|
+
#
|
|
80
|
+
# @see Handinger::Models::TaskDeleteParams
|
|
81
|
+
def delete(task_id, params = {})
|
|
82
|
+
@client.request(
|
|
83
|
+
method: :delete,
|
|
84
|
+
path: ["api/tasks/%1$s", task_id],
|
|
85
|
+
model: Handinger::DeleteTaskResponse,
|
|
86
|
+
options: params[:request_options]
|
|
87
|
+
)
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# @api private
|
|
91
|
+
#
|
|
92
|
+
# @param client [Handinger::Client]
|
|
93
|
+
def initialize(client:)
|
|
94
|
+
@client = client
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
end
|