handinger 0.2.0 → 0.4.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 +11 -12
- data/SECURITY.md +4 -0
- 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 +18 -1
- data/lib/handinger/models/task_delete_params.rb +20 -0
- data/lib/handinger/models/update_worker.rb +71 -0
- data/lib/handinger/models/worker.rb +23 -1
- data/lib/handinger/models/worker_delete_params.rb +20 -0
- data/lib/handinger/models/{worker_create_response.rb → worker_template.rb} +23 -6
- data/lib/handinger/models/worker_update_params.rb +20 -0
- data/lib/handinger/models.rb +14 -0
- data/lib/handinger/resources/tasks.rb +25 -3
- data/lib/handinger/resources/workers.rb +61 -2
- data/lib/handinger/version.rb +1 -1
- data/lib/handinger.rb +7 -1
- 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 +8 -0
- data/rbi/handinger/models/task_delete_params.rbi +35 -0
- data/rbi/handinger/models/update_worker.rbi +112 -0
- data/rbi/handinger/models/worker.rbi +8 -0
- data/rbi/handinger/models/worker_delete_params.rbi +35 -0
- data/rbi/handinger/models/{worker_create_response.rbi → worker_template.rbi} +17 -28
- data/rbi/handinger/models/worker_update_params.rbi +35 -0
- data/rbi/handinger/models.rbi +14 -0
- data/rbi/handinger/resources/tasks.rbi +19 -3
- data/rbi/handinger/resources/workers.rbi +51 -1
- 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 +5 -0
- data/sig/handinger/models/task_delete_params.rbs +23 -0
- data/sig/handinger/models/update_worker.rbs +61 -0
- data/sig/handinger/models/worker.rbs +5 -0
- data/sig/handinger/models/worker_delete_params.rbs +23 -0
- data/sig/handinger/models/{worker_create_response.rbs → worker_template.rbs} +12 -7
- data/sig/handinger/models/worker_update_params.rbs +25 -0
- data/sig/handinger/models.rbs +14 -0
- data/sig/handinger/resources/tasks.rbs +5 -0
- data/sig/handinger/resources/workers.rbs +16 -1
- metadata +24 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 944762f22d72ab9b304851aa18a7d34221ad5aa7d785e50f423b7b55ba09eaed
|
|
4
|
+
data.tar.gz: 3b9a81528fce0edaedbbe54f0e155c00d91635f24e4275b7f5b40984873a9fc6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0435c4ab79474558084bd58c91cc6731d56f46e53827d2d0944427c94a8015c310afbd47b1daed618f19f37b375191c338a54c91004c86c316454095a0dc0936
|
|
7
|
+
data.tar.gz: 8ea226be6e29c61cd4745a1a774319c951c01684386450bf3115ff0be3097022682c799533683140f96bf23eb3a1ed511b1e0a63bfa083b6b9f802ec43b03194
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.4.0 (2026-05-11)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.3.0...v0.4.0](https://github.com/Ramensoft/handinger-ruby/compare/v0.3.0...v0.4.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* Add worker and task url ([f1ebd4a](https://github.com/Ramensoft/handinger-ruby/commit/f1ebd4a48111a66ccc69f6b5bdec5c861a4c07b9))
|
|
10
|
+
|
|
11
|
+
## 0.3.0 (2026-05-11)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v0.2.0...v0.3.0](https://github.com/Ramensoft/handinger-ruby/compare/v0.2.0...v0.3.0)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* Add update and delete endpoints for workers and tasks ([caa25aa](https://github.com/Ramensoft/handinger-ruby/commit/caa25aa9ff32f9ea62143cf674ca13efc6e72729))
|
|
18
|
+
|
|
3
19
|
## 0.2.0 (2026-05-09)
|
|
4
20
|
|
|
5
21
|
Full Changelog: [v0.1.0...v0.2.0](https://github.com/Ramensoft/handinger-ruby/compare/v0.1.0...v0.2.0)
|
data/README.md
CHANGED
|
@@ -8,6 +8,8 @@ It is generated with [Stainless](https://www.stainless.com/).
|
|
|
8
8
|
|
|
9
9
|
Documentation for releases of this gem can be found [on RubyDoc](https://gemdocs.org/gems/handinger).
|
|
10
10
|
|
|
11
|
+
The REST API documentation can be found on [docs.handinger.com](https://docs.handinger.com).
|
|
12
|
+
|
|
11
13
|
## Installation
|
|
12
14
|
|
|
13
15
|
To use this gem, install via Bundler by adding the following to your application's `Gemfile`:
|
|
@@ -15,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
|
|
|
15
17
|
<!-- x-release-please-start-version -->
|
|
16
18
|
|
|
17
19
|
```ruby
|
|
18
|
-
gem "handinger", "~> 0.
|
|
20
|
+
gem "handinger", "~> 0.4.0"
|
|
19
21
|
```
|
|
20
22
|
|
|
21
23
|
<!-- x-release-please-end -->
|
|
@@ -30,7 +32,7 @@ handinger = Handinger::Client.new(
|
|
|
30
32
|
api_key: ENV["HANDINGER_API_KEY"] # This is the default and can be omitted
|
|
31
33
|
)
|
|
32
34
|
|
|
33
|
-
worker = handinger.tasks.create(worker_id: "
|
|
35
|
+
worker = handinger.tasks.create(worker_id: "wrk_vk81XUHKHG-qr4")
|
|
34
36
|
|
|
35
37
|
puts(worker.id)
|
|
36
38
|
```
|
|
@@ -41,7 +43,7 @@ When the library is unable to connect to the API, or if the API returns a non-su
|
|
|
41
43
|
|
|
42
44
|
```ruby
|
|
43
45
|
begin
|
|
44
|
-
task = handinger.tasks.create(worker_id: "
|
|
46
|
+
task = handinger.tasks.create(worker_id: "wrk_vk81XUHKHG-qr4")
|
|
45
47
|
rescue Handinger::Errors::APIConnectionError => e
|
|
46
48
|
puts("The server could not be reached")
|
|
47
49
|
puts(e.cause) # an underlying Exception, likely raised within `net/http`
|
|
@@ -84,10 +86,7 @@ handinger = Handinger::Client.new(
|
|
|
84
86
|
)
|
|
85
87
|
|
|
86
88
|
# Or, configure per-request:
|
|
87
|
-
handinger.tasks.create(
|
|
88
|
-
worker_id: "t_org_123_w_01HZY2ZJQ8G7K42W2D7WF6V4GM",
|
|
89
|
-
request_options: {max_retries: 5}
|
|
90
|
-
)
|
|
89
|
+
handinger.tasks.create(worker_id: "wrk_vk81XUHKHG-qr4", request_options: {max_retries: 5})
|
|
91
90
|
```
|
|
92
91
|
|
|
93
92
|
### Timeouts
|
|
@@ -101,7 +100,7 @@ handinger = Handinger::Client.new(
|
|
|
101
100
|
)
|
|
102
101
|
|
|
103
102
|
# Or, configure per-request:
|
|
104
|
-
handinger.tasks.create(worker_id: "
|
|
103
|
+
handinger.tasks.create(worker_id: "wrk_vk81XUHKHG-qr4", request_options: {timeout: 5})
|
|
105
104
|
```
|
|
106
105
|
|
|
107
106
|
On timeout, `Handinger::Errors::APITimeoutError` is raised.
|
|
@@ -133,7 +132,7 @@ Note: the `extra_` parameters of the same name overrides the documented paramete
|
|
|
133
132
|
```ruby
|
|
134
133
|
worker =
|
|
135
134
|
handinger.tasks.create(
|
|
136
|
-
worker_id: "
|
|
135
|
+
worker_id: "wrk_vk81XUHKHG-qr4",
|
|
137
136
|
request_options: {
|
|
138
137
|
extra_query: {my_query_parameter: value},
|
|
139
138
|
extra_body: {my_body_parameter: value},
|
|
@@ -179,17 +178,17 @@ This library provides comprehensive [RBI](https://sorbet.org/docs/rbi) definitio
|
|
|
179
178
|
You can provide typesafe request parameters like so:
|
|
180
179
|
|
|
181
180
|
```ruby
|
|
182
|
-
handinger.tasks.create(worker_id: "
|
|
181
|
+
handinger.tasks.create(worker_id: "wrk_vk81XUHKHG-qr4")
|
|
183
182
|
```
|
|
184
183
|
|
|
185
184
|
Or, equivalently:
|
|
186
185
|
|
|
187
186
|
```ruby
|
|
188
187
|
# Hashes work, but are not typesafe:
|
|
189
|
-
handinger.tasks.create(worker_id: "
|
|
188
|
+
handinger.tasks.create(worker_id: "wrk_vk81XUHKHG-qr4")
|
|
190
189
|
|
|
191
190
|
# You can also splat a full Params class:
|
|
192
|
-
params = Handinger::TaskCreateParams.new(worker_id: "
|
|
191
|
+
params = Handinger::TaskCreateParams.new(worker_id: "wrk_vk81XUHKHG-qr4")
|
|
193
192
|
handinger.tasks.create(**params)
|
|
194
193
|
```
|
|
195
194
|
|
data/SECURITY.md
CHANGED
|
@@ -18,6 +18,10 @@ before making any information public.
|
|
|
18
18
|
If you encounter security issues that are not directly related to SDKs but pertain to the services
|
|
19
19
|
or products provided by Handinger, please follow the respective company's security reporting guidelines.
|
|
20
20
|
|
|
21
|
+
### Handinger Terms and Policies
|
|
22
|
+
|
|
23
|
+
Please contact support@handinger.com for any questions or concerns regarding the security of our services.
|
|
24
|
+
|
|
21
25
|
---
|
|
22
26
|
|
|
23
27
|
Thank you for helping us keep the SDKs and systems they interact with secure.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Handinger
|
|
4
|
+
module Models
|
|
5
|
+
# @see Handinger::Resources::Tasks#delete
|
|
6
|
+
class DeleteTaskResponse < Handinger::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute archived
|
|
8
|
+
#
|
|
9
|
+
# @return [Boolean]
|
|
10
|
+
required :archived, Handinger::Internal::Type::Boolean
|
|
11
|
+
|
|
12
|
+
# @!method initialize(archived:)
|
|
13
|
+
# @param archived [Boolean]
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Handinger
|
|
4
|
+
module Models
|
|
5
|
+
# @see Handinger::Resources::Workers#delete
|
|
6
|
+
class DeleteWorkerResponse < Handinger::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute deleted
|
|
8
|
+
#
|
|
9
|
+
# @return [Boolean]
|
|
10
|
+
required :deleted, Handinger::Internal::Type::Boolean
|
|
11
|
+
|
|
12
|
+
# @!method initialize(deleted:)
|
|
13
|
+
# @param deleted [Boolean]
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -48,21 +48,38 @@ module Handinger
|
|
|
48
48
|
# @return [Symbol, Handinger::Models::Task::TriggeredBy]
|
|
49
49
|
required :triggered_by, enum: -> { Handinger::Task::TriggeredBy }, api_name: :triggeredBy
|
|
50
50
|
|
|
51
|
+
# @!attribute url
|
|
52
|
+
# Web URL of the task in the Handinger dashboard.
|
|
53
|
+
#
|
|
54
|
+
# @return [String]
|
|
55
|
+
required :url, String
|
|
56
|
+
|
|
51
57
|
# @!attribute worker_id
|
|
52
58
|
#
|
|
53
59
|
# @return [String]
|
|
54
60
|
required :worker_id, String, api_name: :workerId
|
|
55
61
|
|
|
56
|
-
# @!method initialize(id:, completed_at:, created_at:, created_by_user_id:, organization_id:, status:, title:, totals:, triggered_by:, worker_id:)
|
|
62
|
+
# @!method initialize(id:, completed_at:, created_at:, created_by_user_id:, organization_id:, status:, title:, totals:, triggered_by:, url:, worker_id:)
|
|
57
63
|
# @param id [String]
|
|
64
|
+
#
|
|
58
65
|
# @param completed_at [String, nil]
|
|
66
|
+
#
|
|
59
67
|
# @param created_at [String]
|
|
68
|
+
#
|
|
60
69
|
# @param created_by_user_id [String, nil]
|
|
70
|
+
#
|
|
61
71
|
# @param organization_id [String]
|
|
72
|
+
#
|
|
62
73
|
# @param status [Symbol, Handinger::Models::Task::Status]
|
|
74
|
+
#
|
|
63
75
|
# @param title [String]
|
|
76
|
+
#
|
|
64
77
|
# @param totals [Handinger::Models::Task::Totals]
|
|
78
|
+
#
|
|
65
79
|
# @param triggered_by [Symbol, Handinger::Models::Task::TriggeredBy]
|
|
80
|
+
#
|
|
81
|
+
# @param url [String] Web URL of the task in the Handinger dashboard.
|
|
82
|
+
#
|
|
66
83
|
# @param worker_id [String]
|
|
67
84
|
|
|
68
85
|
# @see Handinger::Models::Task#status
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Handinger
|
|
4
|
+
module Models
|
|
5
|
+
# @see Handinger::Resources::Tasks#delete
|
|
6
|
+
class TaskDeleteParams < Handinger::Internal::Type::BaseModel
|
|
7
|
+
extend Handinger::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Handinger::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute task_id
|
|
11
|
+
#
|
|
12
|
+
# @return [String]
|
|
13
|
+
required :task_id, String
|
|
14
|
+
|
|
15
|
+
# @!method initialize(task_id:, request_options: {})
|
|
16
|
+
# @param task_id [String]
|
|
17
|
+
# @param request_options [Handinger::RequestOptions, Hash{Symbol=>Object}]
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
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
|
|
@@ -76,26 +76,48 @@ module Handinger
|
|
|
76
76
|
Handinger::Internal::Type::HashOf[Handinger::Internal::Type::Unknown],
|
|
77
77
|
nil?: true
|
|
78
78
|
|
|
79
|
+
# @!attribute url
|
|
80
|
+
# Web URL of the worker in the Handinger dashboard.
|
|
81
|
+
#
|
|
82
|
+
# @return [String]
|
|
83
|
+
required :url, String
|
|
84
|
+
|
|
79
85
|
# @!attribute usage
|
|
80
86
|
#
|
|
81
87
|
# @return [Handinger::Models::Worker::Usage, nil]
|
|
82
88
|
optional :usage, -> { Handinger::Worker::Usage }
|
|
83
89
|
|
|
84
|
-
# @!method initialize(id:, created_at:, error:, files:, incomplete_details:, messages:, metadata:, object:, output:, output_text:, running:, sources:, status:, structured_output:, usage: nil)
|
|
90
|
+
# @!method initialize(id:, created_at:, error:, files:, incomplete_details:, messages:, metadata:, object:, output:, output_text:, running:, sources:, status:, structured_output:, url:, usage: nil)
|
|
85
91
|
# @param id [String]
|
|
92
|
+
#
|
|
86
93
|
# @param created_at [Integer, nil]
|
|
94
|
+
#
|
|
87
95
|
# @param error [nil]
|
|
96
|
+
#
|
|
88
97
|
# @param files [Array<Handinger::Models::Worker::File>]
|
|
98
|
+
#
|
|
89
99
|
# @param incomplete_details [nil]
|
|
100
|
+
#
|
|
90
101
|
# @param messages [Array<Object>]
|
|
102
|
+
#
|
|
91
103
|
# @param metadata [Hash{Symbol=>Object}]
|
|
104
|
+
#
|
|
92
105
|
# @param object [Symbol, Handinger::Models::Worker::Object]
|
|
106
|
+
#
|
|
93
107
|
# @param output [Array<Handinger::Models::Worker::Output>]
|
|
108
|
+
#
|
|
94
109
|
# @param output_text [String]
|
|
110
|
+
#
|
|
95
111
|
# @param running [Boolean]
|
|
112
|
+
#
|
|
96
113
|
# @param sources [Array<Handinger::Models::Worker::Source>]
|
|
114
|
+
#
|
|
97
115
|
# @param status [Symbol, Handinger::Models::Worker::Status]
|
|
116
|
+
#
|
|
98
117
|
# @param structured_output [Hash{Symbol=>Object}, nil]
|
|
118
|
+
#
|
|
119
|
+
# @param url [String] Web URL of the worker in the Handinger dashboard.
|
|
120
|
+
#
|
|
99
121
|
# @param usage [Handinger::Models::Worker::Usage]
|
|
100
122
|
|
|
101
123
|
class File < Handinger::Internal::Type::BaseModel
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Handinger
|
|
4
|
+
module Models
|
|
5
|
+
# @see Handinger::Resources::Workers#delete
|
|
6
|
+
class WorkerDeleteParams < Handinger::Internal::Type::BaseModel
|
|
7
|
+
extend Handinger::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Handinger::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute worker_id
|
|
11
|
+
#
|
|
12
|
+
# @return [String]
|
|
13
|
+
required :worker_id, String
|
|
14
|
+
|
|
15
|
+
# @!method initialize(worker_id:, request_options: {})
|
|
16
|
+
# @param worker_id [String]
|
|
17
|
+
# @param request_options [Handinger::RequestOptions, Hash{Symbol=>Object}]
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Handinger
|
|
4
4
|
module Models
|
|
5
5
|
# @see Handinger::Resources::Workers#create
|
|
6
|
-
class
|
|
6
|
+
class WorkerTemplate < Handinger::Internal::Type::BaseModel
|
|
7
7
|
# @!attribute id
|
|
8
8
|
#
|
|
9
9
|
# @return [String]
|
|
@@ -47,6 +47,12 @@ module Handinger
|
|
|
47
47
|
# @return [String, nil]
|
|
48
48
|
required :updated_at, String, api_name: :updatedAt, nil?: true
|
|
49
49
|
|
|
50
|
+
# @!attribute url
|
|
51
|
+
# Web URL of the worker in the Handinger dashboard.
|
|
52
|
+
#
|
|
53
|
+
# @return [String]
|
|
54
|
+
required :url, String
|
|
55
|
+
|
|
50
56
|
# @!attribute user_id
|
|
51
57
|
#
|
|
52
58
|
# @return [String]
|
|
@@ -54,22 +60,33 @@ module Handinger
|
|
|
54
60
|
|
|
55
61
|
# @!attribute visibility
|
|
56
62
|
#
|
|
57
|
-
# @return [Symbol, Handinger::Models::
|
|
58
|
-
required :visibility, enum: -> { Handinger::
|
|
63
|
+
# @return [Symbol, Handinger::Models::WorkerTemplate::Visibility]
|
|
64
|
+
required :visibility, enum: -> { Handinger::WorkerTemplate::Visibility }
|
|
59
65
|
|
|
60
|
-
# @!method initialize(id:, created_at:, instructions:, organization_id:, output_schema:, summary:, title:, updated_at:, user_id:, visibility:)
|
|
66
|
+
# @!method initialize(id:, created_at:, instructions:, organization_id:, output_schema:, summary:, title:, updated_at:, url:, user_id:, visibility:)
|
|
61
67
|
# @param id [String]
|
|
68
|
+
#
|
|
62
69
|
# @param created_at [String, nil]
|
|
70
|
+
#
|
|
63
71
|
# @param instructions [String]
|
|
72
|
+
#
|
|
64
73
|
# @param organization_id [String]
|
|
74
|
+
#
|
|
65
75
|
# @param output_schema [Hash{Symbol=>Object}, nil]
|
|
76
|
+
#
|
|
66
77
|
# @param summary [String]
|
|
78
|
+
#
|
|
67
79
|
# @param title [String]
|
|
80
|
+
#
|
|
68
81
|
# @param updated_at [String, nil]
|
|
82
|
+
#
|
|
83
|
+
# @param url [String] Web URL of the worker in the Handinger dashboard.
|
|
84
|
+
#
|
|
69
85
|
# @param user_id [String]
|
|
70
|
-
#
|
|
86
|
+
#
|
|
87
|
+
# @param visibility [Symbol, Handinger::Models::WorkerTemplate::Visibility]
|
|
71
88
|
|
|
72
|
-
# @see Handinger::Models::
|
|
89
|
+
# @see Handinger::Models::WorkerTemplate#visibility
|
|
73
90
|
module Visibility
|
|
74
91
|
extend Handinger::Internal::Type::Enum
|
|
75
92
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Handinger
|
|
4
|
+
module Models
|
|
5
|
+
# @see Handinger::Resources::Workers#update
|
|
6
|
+
class WorkerUpdateParams < Handinger::Models::UpdateWorker
|
|
7
|
+
extend Handinger::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Handinger::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute worker_id
|
|
11
|
+
#
|
|
12
|
+
# @return [String]
|
|
13
|
+
required :worker_id, String
|
|
14
|
+
|
|
15
|
+
# @!method initialize(worker_id:, request_options: {})
|
|
16
|
+
# @param worker_id [String]
|
|
17
|
+
# @param request_options [Handinger::RequestOptions, Hash{Symbol=>Object}]
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
data/lib/handinger/models.rb
CHANGED
|
@@ -43,21 +43,35 @@ module Handinger
|
|
|
43
43
|
|
|
44
44
|
CreateWorker = Handinger::Models::CreateWorker
|
|
45
45
|
|
|
46
|
+
DeleteTaskResponse = Handinger::Models::DeleteTaskResponse
|
|
47
|
+
|
|
48
|
+
DeleteWorkerResponse = Handinger::Models::DeleteWorkerResponse
|
|
49
|
+
|
|
46
50
|
Task = Handinger::Models::Task
|
|
47
51
|
|
|
48
52
|
TaskCreateParams = Handinger::Models::TaskCreateParams
|
|
49
53
|
|
|
54
|
+
TaskDeleteParams = Handinger::Models::TaskDeleteParams
|
|
55
|
+
|
|
50
56
|
TaskRetrieveParams = Handinger::Models::TaskRetrieveParams
|
|
51
57
|
|
|
52
58
|
TaskWithTurns = Handinger::Models::TaskWithTurns
|
|
53
59
|
|
|
60
|
+
UpdateWorker = Handinger::Models::UpdateWorker
|
|
61
|
+
|
|
54
62
|
Worker = Handinger::Models::Worker
|
|
55
63
|
|
|
56
64
|
WorkerCreateParams = Handinger::Models::WorkerCreateParams
|
|
57
65
|
|
|
66
|
+
WorkerDeleteParams = Handinger::Models::WorkerDeleteParams
|
|
67
|
+
|
|
58
68
|
WorkerRetrieveEmailParams = Handinger::Models::WorkerRetrieveEmailParams
|
|
59
69
|
|
|
60
70
|
WorkerRetrieveParams = Handinger::Models::WorkerRetrieveParams
|
|
61
71
|
|
|
62
72
|
Workers = Handinger::Models::Workers
|
|
73
|
+
|
|
74
|
+
WorkerTemplate = Handinger::Models::WorkerTemplate
|
|
75
|
+
|
|
76
|
+
WorkerUpdateParams = Handinger::Models::WorkerUpdateParams
|
|
63
77
|
end
|
|
@@ -7,9 +7,10 @@ module Handinger
|
|
|
7
7
|
# Some parameter documentations has been truncated, see
|
|
8
8
|
# {Handinger::Models::TaskCreateParams} for more details.
|
|
9
9
|
#
|
|
10
|
-
# Run a new task against an existing worker. Send `
|
|
11
|
-
#
|
|
12
|
-
#
|
|
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.
|
|
13
14
|
#
|
|
14
15
|
# @overload create(worker_id:, instructions: nil, output_schema: nil, prompt: nil, summary: nil, task_id: nil, title: nil, visibility: nil, request_options: {})
|
|
15
16
|
#
|
|
@@ -65,6 +66,27 @@ module Handinger
|
|
|
65
66
|
)
|
|
66
67
|
end
|
|
67
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
|
+
|
|
68
90
|
# @api private
|
|
69
91
|
#
|
|
70
92
|
# @param client [Handinger::Client]
|
|
@@ -30,7 +30,7 @@ module Handinger
|
|
|
30
30
|
#
|
|
31
31
|
# @param request_options [Handinger::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
32
32
|
#
|
|
33
|
-
# @return [Handinger::Models::
|
|
33
|
+
# @return [Handinger::Models::WorkerTemplate]
|
|
34
34
|
#
|
|
35
35
|
# @see Handinger::Models::WorkerCreateParams
|
|
36
36
|
def create(params = {})
|
|
@@ -39,7 +39,7 @@ module Handinger
|
|
|
39
39
|
method: :post,
|
|
40
40
|
path: "api/workers",
|
|
41
41
|
body: parsed,
|
|
42
|
-
model: Handinger::
|
|
42
|
+
model: Handinger::WorkerTemplate,
|
|
43
43
|
options: options
|
|
44
44
|
)
|
|
45
45
|
end
|
|
@@ -74,6 +74,65 @@ module Handinger
|
|
|
74
74
|
)
|
|
75
75
|
end
|
|
76
76
|
|
|
77
|
+
# Some parameter documentations has been truncated, see
|
|
78
|
+
# {Handinger::Models::WorkerUpdateParams} for more details.
|
|
79
|
+
#
|
|
80
|
+
# Update a worker's instructions, title, summary, visibility, or output schema.
|
|
81
|
+
# Only the fields you send are changed; omitted fields keep their current values.
|
|
82
|
+
# Only the worker creator can update a worker.
|
|
83
|
+
#
|
|
84
|
+
# @overload update(worker_id, instructions: nil, output_schema: nil, summary: nil, title: nil, visibility: nil, request_options: {})
|
|
85
|
+
#
|
|
86
|
+
# @param worker_id [String] Worker id returned by the create worker endpoint.
|
|
87
|
+
#
|
|
88
|
+
# @param instructions [String] Replaces the persistent system prompt. Subsequent tasks pick up the new instruct
|
|
89
|
+
#
|
|
90
|
+
# @param output_schema [Hash{Symbol=>Object}, nil] Replace the worker's structured output schema. Pass `null` to clear it and retur
|
|
91
|
+
#
|
|
92
|
+
# @param summary [String] Replaces the worker's short one-line summary.
|
|
93
|
+
#
|
|
94
|
+
# @param title [String] New display name for the worker.
|
|
95
|
+
#
|
|
96
|
+
# @param visibility [Symbol, Handinger::Models::UpdateWorker::Visibility] Change visibility between `public` (any org member can run tasks) and `private`
|
|
97
|
+
#
|
|
98
|
+
# @param request_options [Handinger::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
99
|
+
#
|
|
100
|
+
# @return [Handinger::Models::WorkerTemplate]
|
|
101
|
+
#
|
|
102
|
+
# @see Handinger::Models::WorkerUpdateParams
|
|
103
|
+
def update(worker_id, params = {})
|
|
104
|
+
parsed, options = Handinger::WorkerUpdateParams.dump_request(params)
|
|
105
|
+
@client.request(
|
|
106
|
+
method: :patch,
|
|
107
|
+
path: ["api/workers/%1$s", worker_id],
|
|
108
|
+
body: parsed,
|
|
109
|
+
model: Handinger::WorkerTemplate,
|
|
110
|
+
options: options
|
|
111
|
+
)
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
# Permanently delete a worker template along with its tasks, turns, files,
|
|
115
|
+
# schedules, and integrations. This action is not reversible. Only the worker
|
|
116
|
+
# creator can delete a worker.
|
|
117
|
+
#
|
|
118
|
+
# @overload delete(worker_id, request_options: {})
|
|
119
|
+
#
|
|
120
|
+
# @param worker_id [String] Worker id returned by the create worker endpoint.
|
|
121
|
+
#
|
|
122
|
+
# @param request_options [Handinger::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
123
|
+
#
|
|
124
|
+
# @return [Handinger::Models::DeleteWorkerResponse]
|
|
125
|
+
#
|
|
126
|
+
# @see Handinger::Models::WorkerDeleteParams
|
|
127
|
+
def delete(worker_id, params = {})
|
|
128
|
+
@client.request(
|
|
129
|
+
method: :delete,
|
|
130
|
+
path: ["api/workers/%1$s", worker_id],
|
|
131
|
+
model: Handinger::DeleteWorkerResponse,
|
|
132
|
+
options: params[:request_options]
|
|
133
|
+
)
|
|
134
|
+
end
|
|
135
|
+
|
|
77
136
|
# Retrieve the inbound email address for a worker.
|
|
78
137
|
#
|
|
79
138
|
# @overload retrieve_email(worker_id, request_options: {})
|
data/lib/handinger/version.rb
CHANGED
data/lib/handinger.rb
CHANGED
|
@@ -54,13 +54,17 @@ require_relative "handinger/internal/transport/pooled_net_requester"
|
|
|
54
54
|
require_relative "handinger/client"
|
|
55
55
|
require_relative "handinger/models/create_worker"
|
|
56
56
|
require_relative "handinger/models/create_task"
|
|
57
|
+
require_relative "handinger/models/update_worker"
|
|
58
|
+
require_relative "handinger/models/delete_task_response"
|
|
59
|
+
require_relative "handinger/models/delete_worker_response"
|
|
57
60
|
require_relative "handinger/models/task"
|
|
58
61
|
require_relative "handinger/models/task_create_params"
|
|
62
|
+
require_relative "handinger/models/task_delete_params"
|
|
59
63
|
require_relative "handinger/models/task_retrieve_params"
|
|
60
64
|
require_relative "handinger/models/task_with_turns"
|
|
61
65
|
require_relative "handinger/models/worker"
|
|
62
66
|
require_relative "handinger/models/worker_create_params"
|
|
63
|
-
require_relative "handinger/models/
|
|
67
|
+
require_relative "handinger/models/worker_delete_params"
|
|
64
68
|
require_relative "handinger/models/worker_retrieve_email_params"
|
|
65
69
|
require_relative "handinger/models/worker_retrieve_email_response"
|
|
66
70
|
require_relative "handinger/models/worker_retrieve_params"
|
|
@@ -70,6 +74,8 @@ require_relative "handinger/models/workers/schedule_create_params"
|
|
|
70
74
|
require_relative "handinger/models/workers/schedule_list_params"
|
|
71
75
|
require_relative "handinger/models/workers/schedule_list_response"
|
|
72
76
|
require_relative "handinger/models/workers/worker_schedule"
|
|
77
|
+
require_relative "handinger/models/worker_template"
|
|
78
|
+
require_relative "handinger/models/worker_update_params"
|
|
73
79
|
require_relative "handinger/models"
|
|
74
80
|
require_relative "handinger/resources/tasks"
|
|
75
81
|
require_relative "handinger/resources/workers"
|