Skip to content

Commit c5c5bb3

Browse files
feat(generated): Agents (batch 13ebc8c1) (#549)
Co-authored-by: workos-sdk-automation[bot] <255426317+workos-sdk-automation[bot]@users.noreply.github.com>
1 parent 9c5d7c8 commit c5c5bb3

12 files changed

Lines changed: 250 additions & 9 deletions
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
* [#549](https://github.com/workos/workos-ruby/pull/549) fix(generated): regenerate from spec
2+
3+
**Features**
4+
* **[agents](https://workos.com/docs/reference/agents)**:
5+
* Made `AgentBlueprintsCreateRequest.session_settings` optional
6+
* Added model `AgentTokenValidation`
7+
* Added model `AgentBlueprintsTokenValidateTokenRequest`
8+
* **agents_blueprints_tokens**:
9+
* Added endpoint `POST /agents/blueprints/{agent_blueprint_id}/tokens/validate`

.last-synced-sha

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
d61348070f219d16b6285f205986c2d332bf6e9c
1+
edb560e2be3f54b668ea8d11fa5a060c87ab5087

.oagen-manifest.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"lib/workos/agents/agent_blueprints_create_request_invocable_by.rb",
1818
"lib/workos/agents/agent_blueprints_create_request_session_setting.rb",
1919
"lib/workos/agents/agent_blueprints_token_mint_token_request.rb",
20+
"lib/workos/agents/agent_blueprints_token_validate_token_request.rb",
2021
"lib/workos/agents/agent_blueprints_update_request.rb",
2122
"lib/workos/agents/agent_blueprints_update_request_invocable_by.rb",
2223
"lib/workos/agents/agent_blueprints_update_request_session_setting.rb",
@@ -28,6 +29,7 @@
2829
"lib/workos/agents/agent_registration_claim.rb",
2930
"lib/workos/agents/agent_registration_claim_claim_completion.rb",
3031
"lib/workos/agents/agent_token.rb",
32+
"lib/workos/agents/agent_token_validation.rb",
3133
"lib/workos/agents/claim_view_response.rb",
3234
"lib/workos/agents/claim_view_response_organization.rb",
3335
"lib/workos/api_keys.rb",
@@ -819,6 +821,7 @@
819821
"rbi/workos/agent_blueprints_create_request_invocable_by.rbi",
820822
"rbi/workos/agent_blueprints_create_request_session_setting.rbi",
821823
"rbi/workos/agent_blueprints_token_mint_token_request.rbi",
824+
"rbi/workos/agent_blueprints_token_validate_token_request.rbi",
822825
"rbi/workos/agent_blueprints_update_request.rbi",
823826
"rbi/workos/agent_blueprints_update_request_invocable_by.rbi",
824827
"rbi/workos/agent_blueprints_update_request_session_setting.rbi",
@@ -859,6 +862,7 @@
859862
"rbi/workos/agent_registration_revoked.rbi",
860863
"rbi/workos/agent_registration_revoked_data.rbi",
861864
"rbi/workos/agent_token.rbi",
865+
"rbi/workos/agent_token_validation.rbi",
862866
"rbi/workos/agents.rbi",
863867
"rbi/workos/api_key.rbi",
864868
"rbi/workos/api_key_created.rbi",
@@ -2501,6 +2505,10 @@
25012505
"POST /user_management/waitlists/{id}/entries": {
25022506
"sdkMethod": "create_waitlist_entry",
25032507
"service": "user_management"
2508+
},
2509+
"POST /agents/blueprints/{agent_blueprint_id}/tokens/validate": {
2510+
"sdkMethod": "validate_blueprint_token",
2511+
"service": "agents"
25042512
}
25052513
}
25062514
}

lib/workos/agents.rb

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,15 @@ def list_blueprints(
5959
# @param description [String, nil] Human-readable description of the agent blueprint.
6060
# @param permissions [Array<String>, nil] Permission slugs forming the ceiling on what sessions minted from this blueprint may do. Each slug must exist in the environment.
6161
# @param invocable_by [WorkOS::AgentBlueprintsCreateRequestInvocableBy, nil] Who may mint sessions from this blueprint.
62-
# @param session_settings [WorkOS::AgentBlueprintsCreateRequestSessionSetting] Token and session lifetimes for sessions minted from this blueprint.
62+
# @param session_settings [WorkOS::AgentBlueprintsCreateRequestSessionSetting, nil] Token and session lifetimes for sessions minted from this blueprint.
6363
# @param request_options [Hash] (see WorkOS::Types::RequestOptions)
6464
# @return [WorkOS::AgentBlueprint]
6565
def create_blueprint(
6666
name:,
67-
session_settings:,
6867
description: nil,
6968
permissions: nil,
7069
invocable_by: nil,
70+
session_settings: nil,
7171
request_options: {}
7272
)
7373
body = {
@@ -202,6 +202,31 @@ def create_blueprint_token(
202202
result
203203
end
204204

205+
# Validate an agent token
206+
# @param agent_blueprint_id [String] The unique ID of the agent blueprint.
207+
# @param agent_access_token [String] The agent access token (a JWT) to validate.
208+
# @param request_options [Hash] (see WorkOS::Types::RequestOptions)
209+
# @return [WorkOS::AgentTokenValidation]
210+
def validate_blueprint_token(
211+
agent_blueprint_id:,
212+
agent_access_token:,
213+
request_options: {}
214+
)
215+
body = {
216+
"agent_access_token" => agent_access_token
217+
}
218+
response = @client.request(
219+
method: :post,
220+
path: "/agents/blueprints/#{WorkOS::Util.encode_path(agent_blueprint_id)}/tokens/validate",
221+
auth: true,
222+
body: body,
223+
request_options: request_options
224+
)
225+
result = WorkOS::AgentTokenValidation.new(response.body)
226+
result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
227+
result
228+
end
229+
205230
# Link a claim attempt to an external user
206231
# @param type [String] The operation to perform on the claim attempt. Currently only `link_external_user` is supported.
207232
# @param claim_attempt_token [String] The token identifying the claim attempt.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# frozen_string_literal: true
2+
3+
# This file is auto-generated by oagen. Do not edit.
4+
5+
module WorkOS
6+
class AgentBlueprintsTokenValidateTokenRequest < WorkOS::Types::BaseModel
7+
HASH_ATTRS = {
8+
agent_access_token: :agent_access_token
9+
}.freeze
10+
11+
attr_accessor :agent_access_token
12+
13+
def initialize(json)
14+
hash = self.class.normalize(json)
15+
@agent_access_token = hash[:agent_access_token]
16+
end
17+
end
18+
end
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# frozen_string_literal: true
2+
3+
# This file is auto-generated by oagen. Do not edit.
4+
5+
module WorkOS
6+
class AgentTokenValidation < WorkOS::Types::BaseModel
7+
HASH_ATTRS = {
8+
valid: :valid,
9+
agent_instance_id: :agent_instance_id,
10+
agent_instance_session_id: :agent_instance_session_id,
11+
organization_id: :organization_id,
12+
permissions: :permissions,
13+
intent: :intent,
14+
acting_user_id: :acting_user_id,
15+
session_expires_at: :session_expires_at
16+
}.freeze
17+
18+
attr_accessor \
19+
:valid,
20+
:agent_instance_id,
21+
:agent_instance_session_id,
22+
:organization_id,
23+
:permissions,
24+
:intent,
25+
:acting_user_id,
26+
:session_expires_at
27+
28+
def initialize(json)
29+
hash = self.class.normalize(json)
30+
@valid = hash[:valid]
31+
@agent_instance_id = hash[:agent_instance_id]
32+
@agent_instance_session_id = hash[:agent_instance_session_id]
33+
@organization_id = hash[:organization_id]
34+
@permissions = hash[:permissions] || []
35+
@intent = hash[:intent]
36+
@acting_user_id = hash[:acting_user_id]
37+
@session_expires_at = hash[:session_expires_at]
38+
end
39+
end
40+
end

rbi/workos/agent_blueprints_create_request.rbi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ module WorkOS
3333
sig { params(value: T.nilable(WorkOS::AgentBlueprintsCreateRequestInvocableBy)).returns(T.nilable(WorkOS::AgentBlueprintsCreateRequestInvocableBy)) }
3434
def invocable_by=(value); end
3535

36-
sig { returns(WorkOS::AgentBlueprintsCreateRequestSessionSetting) }
36+
sig { returns(T.nilable(WorkOS::AgentBlueprintsCreateRequestSessionSetting)) }
3737
def session_settings; end
3838

39-
sig { params(value: WorkOS::AgentBlueprintsCreateRequestSessionSetting).returns(WorkOS::AgentBlueprintsCreateRequestSessionSetting) }
39+
sig { params(value: T.nilable(WorkOS::AgentBlueprintsCreateRequestSessionSetting)).returns(T.nilable(WorkOS::AgentBlueprintsCreateRequestSessionSetting)) }
4040
def session_settings=(value); end
4141

4242
sig { returns(T::Hash[Symbol, T.untyped]) }
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# frozen_string_literal: true
2+
3+
# This file is auto-generated by oagen. Do not edit.
4+
5+
# typed: strong
6+
7+
module WorkOS
8+
class AgentBlueprintsTokenValidateTokenRequest
9+
sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10+
def initialize(json); end
11+
12+
sig { returns(String) }
13+
def agent_access_token; end
14+
15+
sig { params(value: String).returns(String) }
16+
def agent_access_token=(value); end
17+
18+
sig { returns(T::Hash[Symbol, T.untyped]) }
19+
def to_h; end
20+
21+
sig { params(args: T.untyped).returns(String) }
22+
def to_json(*args); end
23+
end
24+
end
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# frozen_string_literal: true
2+
3+
# This file is auto-generated by oagen. Do not edit.
4+
5+
# typed: strong
6+
7+
module WorkOS
8+
class AgentTokenValidation
9+
sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10+
def initialize(json); end
11+
12+
sig { returns(T::Boolean) }
13+
def valid; end
14+
15+
sig { params(value: T::Boolean).returns(T::Boolean) }
16+
def valid=(value); end
17+
18+
sig { returns(String) }
19+
def agent_instance_id; end
20+
21+
sig { params(value: String).returns(String) }
22+
def agent_instance_id=(value); end
23+
24+
sig { returns(String) }
25+
def agent_instance_session_id; end
26+
27+
sig { params(value: String).returns(String) }
28+
def agent_instance_session_id=(value); end
29+
30+
sig { returns(String) }
31+
def organization_id; end
32+
33+
sig { params(value: String).returns(String) }
34+
def organization_id=(value); end
35+
36+
sig { returns(T::Array[String]) }
37+
def permissions; end
38+
39+
sig { params(value: T::Array[String]).returns(T::Array[String]) }
40+
def permissions=(value); end
41+
42+
sig { returns(T.nilable(String)) }
43+
def intent; end
44+
45+
sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
46+
def intent=(value); end
47+
48+
sig { returns(T.nilable(String)) }
49+
def acting_user_id; end
50+
51+
sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
52+
def acting_user_id=(value); end
53+
54+
sig { returns(String) }
55+
def session_expires_at; end
56+
57+
sig { params(value: String).returns(String) }
58+
def session_expires_at=(value); end
59+
60+
sig { returns(T::Hash[Symbol, T.untyped]) }
61+
def to_h; end
62+
63+
sig { params(args: T.untyped).returns(String) }
64+
def to_json(*args); end
65+
end
66+
end

rbi/workos/agents.rbi

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ module WorkOS
2323
sig do
2424
params(
2525
name: String,
26-
session_settings: WorkOS::AgentBlueprintsCreateRequestSessionSetting,
2726
description: T.nilable(String),
2827
permissions: T.nilable(T::Array[String]),
2928
invocable_by: T.nilable(WorkOS::AgentBlueprintsCreateRequestInvocableBy),
29+
session_settings: T.nilable(WorkOS::AgentBlueprintsCreateRequestSessionSetting),
3030
request_options: T::Hash[Symbol, T.untyped]
3131
).returns(WorkOS::AgentBlueprint)
3232
end
33-
def create_blueprint(name:, session_settings:, description:, permissions:, invocable_by:, request_options:); end
33+
def create_blueprint(name:, description:, permissions:, invocable_by:, session_settings:, request_options:); end
3434

3535
sig do
3636
params(
@@ -75,6 +75,15 @@ module WorkOS
7575
end
7676
def create_blueprint_token(agent_blueprint_id:, type:, user_access_token:, intent:, organization_id:, agent_access_token:, refresh_token:, request_options:); end
7777

78+
sig do
79+
params(
80+
agent_blueprint_id: String,
81+
agent_access_token: String,
82+
request_options: T::Hash[Symbol, T.untyped]
83+
).returns(WorkOS::AgentTokenValidation)
84+
end
85+
def validate_blueprint_token(agent_blueprint_id:, agent_access_token:, request_options:); end
86+
7887
sig do
7988
params(
8089
type: String,

0 commit comments

Comments
 (0)