safetykit 0.47.0 → 0.49.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/safety_kit/client.rb +6 -0
- data/lib/safety_kit/models/access_token_create_access_token_params.rb +43 -0
- data/lib/safety_kit/models/access_token_create_access_token_response.rb +59 -0
- data/lib/safety_kit/models.rb +2 -0
- data/lib/safety_kit/resources/access_tokens.rb +48 -0
- data/lib/safety_kit/version.rb +1 -1
- data/lib/safety_kit.rb +3 -0
- data/rbi/safety_kit/client.rbi +5 -0
- data/rbi/safety_kit/models/access_token_create_access_token_params.rbi +75 -0
- data/rbi/safety_kit/models/access_token_create_access_token_response.rbi +103 -0
- data/rbi/safety_kit/models.rbi +3 -0
- data/rbi/safety_kit/resources/access_tokens.rbi +39 -0
- data/sig/safety_kit/client.rbs +2 -0
- data/sig/safety_kit/models/access_token_create_access_token_params.rbs +38 -0
- data/sig/safety_kit/models/access_token_create_access_token_response.rbs +45 -0
- data/sig/safety_kit/models.rbs +2 -0
- data/sig/safety_kit/resources/access_tokens.rbs +14 -0
- metadata +11 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ffe5ac9eeb7e3772d15ac6cd4050b50ce60db643f95f7a372568f8d063584730
|
|
4
|
+
data.tar.gz: 6a2fd2adb3656d26d80c6f3dd9dd6d21d21f716d8d47c96a79575c4d3c68ce91
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0f7d6ee8836e86ed525ef0a6f40321dbc75fa6e97b2065ec5e9eec16a32146f241c3774008b8b28965dc4e95d6576e74cbfa4fde0930a051b787fcdfb6347ae6
|
|
7
|
+
data.tar.gz: ccd6fbacb38d4935fb20d07aeb125a75a0601e5244b491e55e094fd11d980f3837aa5acb59bd5263778c27125f56ed0448a9754501a6eaf9c73b1bd8e03ca882
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.49.0 (2026-07-31)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.48.0...v0.49.0](https://github.com/GetSafetyKit/safetykit-ruby/compare/v0.48.0...v0.49.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([cf0ec44](https://github.com/GetSafetyKit/safetykit-ruby/commit/cf0ec4463cb66198fb4d440ecd8bd611089f7179))
|
|
10
|
+
|
|
11
|
+
## 0.48.0 (2026-07-30)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v0.47.0...v0.48.0](https://github.com/GetSafetyKit/safetykit-ruby/compare/v0.47.0...v0.48.0)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **api:** api update ([5cef722](https://github.com/GetSafetyKit/safetykit-ruby/commit/5cef722a920f0d0ce8952965aa6e0607c412fc44))
|
|
18
|
+
|
|
3
19
|
## 0.47.0 (2026-07-30)
|
|
4
20
|
|
|
5
21
|
Full Changelog: [v0.46.0...v0.47.0](https://github.com/GetSafetyKit/safetykit-ruby/compare/v0.46.0...v0.47.0)
|
data/README.md
CHANGED
data/lib/safety_kit/client.rb
CHANGED
|
@@ -32,6 +32,11 @@ module SafetyKit
|
|
|
32
32
|
# @return [SafetyKit::Resources::AgentDecisions]
|
|
33
33
|
attr_reader :agent_decisions
|
|
34
34
|
|
|
35
|
+
# Exchange a long-lived API key for a short-lived access token suitable for
|
|
36
|
+
# delegated or time-boxed use.
|
|
37
|
+
# @return [SafetyKit::Resources::AccessTokens]
|
|
38
|
+
attr_reader :access_tokens
|
|
39
|
+
|
|
35
40
|
# Beta. Send backend events for account, content, user interaction, report,
|
|
36
41
|
# appeal, and moderation activity.
|
|
37
42
|
# @return [SafetyKit::Resources::Async]
|
|
@@ -121,6 +126,7 @@ module SafetyKit
|
|
|
121
126
|
@data = SafetyKit::Resources::Data.new(client: self)
|
|
122
127
|
@streams = SafetyKit::Resources::Streams.new(client: self)
|
|
123
128
|
@agent_decisions = SafetyKit::Resources::AgentDecisions.new(client: self)
|
|
129
|
+
@access_tokens = SafetyKit::Resources::AccessTokens.new(client: self)
|
|
124
130
|
@async = SafetyKit::Resources::Async.new(client: self)
|
|
125
131
|
@deletion_requests = SafetyKit::Resources::DeletionRequests.new(client: self)
|
|
126
132
|
@client_sessions = SafetyKit::Resources::ClientSessions.new(client: self)
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module SafetyKit
|
|
4
|
+
module Models
|
|
5
|
+
# @see SafetyKit::Resources::AccessTokens#create_access_token
|
|
6
|
+
class AccessTokenCreateAccessTokenParams < SafetyKit::Internal::Type::BaseModel
|
|
7
|
+
extend SafetyKit::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include SafetyKit::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute customer_session_id
|
|
11
|
+
# Optional opaque session identifier to associate with the access token.
|
|
12
|
+
#
|
|
13
|
+
# @return [String, nil]
|
|
14
|
+
optional :customer_session_id, String
|
|
15
|
+
|
|
16
|
+
# @!attribute expires_in
|
|
17
|
+
# Lifetime of the access token in seconds. Defaults to 3600 (1 hour). Minimum 300
|
|
18
|
+
# (5 minutes), maximum 86400 (24 hours).
|
|
19
|
+
#
|
|
20
|
+
# @return [Integer, nil]
|
|
21
|
+
optional :expires_in, Integer
|
|
22
|
+
|
|
23
|
+
# @!attribute user_id
|
|
24
|
+
# Optional user identifier to associate with the access token for attribution. Use
|
|
25
|
+
# the same canonical user ID string that you send in other SafetyKit API calls.
|
|
26
|
+
#
|
|
27
|
+
# @return [String, nil]
|
|
28
|
+
optional :user_id, String
|
|
29
|
+
|
|
30
|
+
# @!method initialize(customer_session_id: nil, expires_in: nil, user_id: nil, request_options: {})
|
|
31
|
+
# Some parameter documentations has been truncated, see
|
|
32
|
+
# {SafetyKit::Models::AccessTokenCreateAccessTokenParams} for more details.
|
|
33
|
+
#
|
|
34
|
+
# @param customer_session_id [String] Optional opaque session identifier to associate with the access token.
|
|
35
|
+
#
|
|
36
|
+
# @param expires_in [Integer] Lifetime of the access token in seconds. Defaults to 3600 (1 hour). Minimum 300
|
|
37
|
+
#
|
|
38
|
+
# @param user_id [String] Optional user identifier to associate with the access token for attribution. Use
|
|
39
|
+
#
|
|
40
|
+
# @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}]
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module SafetyKit
|
|
4
|
+
module Models
|
|
5
|
+
# @see SafetyKit::Resources::AccessTokens#create_access_token
|
|
6
|
+
class AccessTokenCreateAccessTokenResponse < SafetyKit::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute access_token
|
|
8
|
+
# Short-lived bearer token. Use it in the Authorization header exactly like a
|
|
9
|
+
# long-lived API key. It cannot be used to create additional access tokens.
|
|
10
|
+
#
|
|
11
|
+
# @return [String]
|
|
12
|
+
required :access_token, String
|
|
13
|
+
|
|
14
|
+
# @!attribute expires_at
|
|
15
|
+
# ISO 8601 timestamp at which the access token expires.
|
|
16
|
+
#
|
|
17
|
+
# @return [Time]
|
|
18
|
+
required :expires_at, Time
|
|
19
|
+
|
|
20
|
+
# @!attribute expires_in
|
|
21
|
+
# Number of seconds until the access token expires.
|
|
22
|
+
#
|
|
23
|
+
# @return [Integer]
|
|
24
|
+
required :expires_in, Integer
|
|
25
|
+
|
|
26
|
+
# @!attribute token_type
|
|
27
|
+
# Token type. Always Bearer.
|
|
28
|
+
#
|
|
29
|
+
# @return [Symbol, SafetyKit::Models::AccessTokenCreateAccessTokenResponse::TokenType]
|
|
30
|
+
required :token_type, enum: -> { SafetyKit::Models::AccessTokenCreateAccessTokenResponse::TokenType }
|
|
31
|
+
|
|
32
|
+
# @!method initialize(access_token:, expires_at:, expires_in:, token_type:)
|
|
33
|
+
# Some parameter documentations has been truncated, see
|
|
34
|
+
# {SafetyKit::Models::AccessTokenCreateAccessTokenResponse} for more details.
|
|
35
|
+
#
|
|
36
|
+
# Response containing the newly created short-lived access token.
|
|
37
|
+
#
|
|
38
|
+
# @param access_token [String] Short-lived bearer token. Use it in the Authorization header exactly like a long
|
|
39
|
+
#
|
|
40
|
+
# @param expires_at [Time] ISO 8601 timestamp at which the access token expires.
|
|
41
|
+
#
|
|
42
|
+
# @param expires_in [Integer] Number of seconds until the access token expires.
|
|
43
|
+
#
|
|
44
|
+
# @param token_type [Symbol, SafetyKit::Models::AccessTokenCreateAccessTokenResponse::TokenType] Token type. Always Bearer.
|
|
45
|
+
|
|
46
|
+
# Token type. Always Bearer.
|
|
47
|
+
#
|
|
48
|
+
# @see SafetyKit::Models::AccessTokenCreateAccessTokenResponse#token_type
|
|
49
|
+
module TokenType
|
|
50
|
+
extend SafetyKit::Internal::Type::Enum
|
|
51
|
+
|
|
52
|
+
BEARER = :Bearer
|
|
53
|
+
|
|
54
|
+
# @!method self.values
|
|
55
|
+
# @return [Array<Symbol>]
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
data/lib/safety_kit/models.rb
CHANGED
|
@@ -39,6 +39,8 @@ module SafetyKit
|
|
|
39
39
|
mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } }
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
+
AccessTokenCreateAccessTokenParams = SafetyKit::Models::AccessTokenCreateAccessTokenParams
|
|
43
|
+
|
|
42
44
|
AgentDecisionCreateAgentDecisionParams = SafetyKit::Models::AgentDecisionCreateAgentDecisionParams
|
|
43
45
|
|
|
44
46
|
AsyncCreateAsyncParams = SafetyKit::Models::AsyncCreateAsyncParams
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module SafetyKit
|
|
4
|
+
module Resources
|
|
5
|
+
# Exchange a long-lived API key for a short-lived access token suitable for
|
|
6
|
+
# delegated or time-boxed use.
|
|
7
|
+
class AccessTokens
|
|
8
|
+
# Some parameter documentations has been truncated, see
|
|
9
|
+
# {SafetyKit::Models::AccessTokenCreateAccessTokenParams} for more details.
|
|
10
|
+
#
|
|
11
|
+
# Exchange a long-lived API key for a short-lived access token. Authenticate with
|
|
12
|
+
# your long-lived API key as the Bearer token; the response contains a new token
|
|
13
|
+
# that authenticates the same team until it expires. Short-lived access tokens
|
|
14
|
+
# cannot be used to create additional access tokens.
|
|
15
|
+
#
|
|
16
|
+
# @overload create_access_token(customer_session_id: nil, expires_in: nil, user_id: nil, request_options: {})
|
|
17
|
+
#
|
|
18
|
+
# @param customer_session_id [String] Optional opaque session identifier to associate with the access token.
|
|
19
|
+
#
|
|
20
|
+
# @param expires_in [Integer] Lifetime of the access token in seconds. Defaults to 3600 (1 hour). Minimum 300
|
|
21
|
+
#
|
|
22
|
+
# @param user_id [String] Optional user identifier to associate with the access token for attribution. Use
|
|
23
|
+
#
|
|
24
|
+
# @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
25
|
+
#
|
|
26
|
+
# @return [SafetyKit::Models::AccessTokenCreateAccessTokenResponse]
|
|
27
|
+
#
|
|
28
|
+
# @see SafetyKit::Models::AccessTokenCreateAccessTokenParams
|
|
29
|
+
def create_access_token(params = {})
|
|
30
|
+
parsed, options = SafetyKit::AccessTokenCreateAccessTokenParams.dump_request(params)
|
|
31
|
+
@client.request(
|
|
32
|
+
method: :post,
|
|
33
|
+
path: "v1/access_tokens",
|
|
34
|
+
body: parsed,
|
|
35
|
+
model: SafetyKit::Models::AccessTokenCreateAccessTokenResponse,
|
|
36
|
+
options: options
|
|
37
|
+
)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# @api private
|
|
41
|
+
#
|
|
42
|
+
# @param client [SafetyKit::Client]
|
|
43
|
+
def initialize(client:)
|
|
44
|
+
@client = client
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
data/lib/safety_kit/version.rb
CHANGED
data/lib/safety_kit.rb
CHANGED
|
@@ -52,6 +52,8 @@ require_relative "safety_kit/errors"
|
|
|
52
52
|
require_relative "safety_kit/internal/transport/base_client"
|
|
53
53
|
require_relative "safety_kit/internal/transport/pooled_net_requester"
|
|
54
54
|
require_relative "safety_kit/client"
|
|
55
|
+
require_relative "safety_kit/models/access_token_create_access_token_params"
|
|
56
|
+
require_relative "safety_kit/models/access_token_create_access_token_response"
|
|
55
57
|
require_relative "safety_kit/models/agent_decision_create_agent_decision_params"
|
|
56
58
|
require_relative "safety_kit/models/agent_decision_create_agent_decision_response"
|
|
57
59
|
require_relative "safety_kit/models/async_create_async_params"
|
|
@@ -80,6 +82,7 @@ require_relative "safety_kit/models/stream_add_response"
|
|
|
80
82
|
require_relative "safety_kit/models/stream_add_transcript_params"
|
|
81
83
|
require_relative "safety_kit/models/stream_add_transcript_response"
|
|
82
84
|
require_relative "safety_kit/models"
|
|
85
|
+
require_relative "safety_kit/resources/access_tokens"
|
|
83
86
|
require_relative "safety_kit/resources/agent_decisions"
|
|
84
87
|
require_relative "safety_kit/resources/async"
|
|
85
88
|
require_relative "safety_kit/resources/beta"
|
data/rbi/safety_kit/client.rbi
CHANGED
|
@@ -27,6 +27,11 @@ module SafetyKit
|
|
|
27
27
|
sig { returns(SafetyKit::Resources::AgentDecisions) }
|
|
28
28
|
attr_reader :agent_decisions
|
|
29
29
|
|
|
30
|
+
# Exchange a long-lived API key for a short-lived access token suitable for
|
|
31
|
+
# delegated or time-boxed use.
|
|
32
|
+
sig { returns(SafetyKit::Resources::AccessTokens) }
|
|
33
|
+
attr_reader :access_tokens
|
|
34
|
+
|
|
30
35
|
# Beta. Send backend events for account, content, user interaction, report,
|
|
31
36
|
# appeal, and moderation activity.
|
|
32
37
|
sig { returns(SafetyKit::Resources::Async) }
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SafetyKit
|
|
4
|
+
module Models
|
|
5
|
+
class AccessTokenCreateAccessTokenParams < SafetyKit::Internal::Type::BaseModel
|
|
6
|
+
extend SafetyKit::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include SafetyKit::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
SafetyKit::AccessTokenCreateAccessTokenParams,
|
|
13
|
+
SafetyKit::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Optional opaque session identifier to associate with the access token.
|
|
18
|
+
sig { returns(T.nilable(String)) }
|
|
19
|
+
attr_reader :customer_session_id
|
|
20
|
+
|
|
21
|
+
sig { params(customer_session_id: String).void }
|
|
22
|
+
attr_writer :customer_session_id
|
|
23
|
+
|
|
24
|
+
# Lifetime of the access token in seconds. Defaults to 3600 (1 hour). Minimum 300
|
|
25
|
+
# (5 minutes), maximum 86400 (24 hours).
|
|
26
|
+
sig { returns(T.nilable(Integer)) }
|
|
27
|
+
attr_reader :expires_in
|
|
28
|
+
|
|
29
|
+
sig { params(expires_in: Integer).void }
|
|
30
|
+
attr_writer :expires_in
|
|
31
|
+
|
|
32
|
+
# Optional user identifier to associate with the access token for attribution. Use
|
|
33
|
+
# the same canonical user ID string that you send in other SafetyKit API calls.
|
|
34
|
+
sig { returns(T.nilable(String)) }
|
|
35
|
+
attr_reader :user_id
|
|
36
|
+
|
|
37
|
+
sig { params(user_id: String).void }
|
|
38
|
+
attr_writer :user_id
|
|
39
|
+
|
|
40
|
+
sig do
|
|
41
|
+
params(
|
|
42
|
+
customer_session_id: String,
|
|
43
|
+
expires_in: Integer,
|
|
44
|
+
user_id: String,
|
|
45
|
+
request_options: SafetyKit::RequestOptions::OrHash
|
|
46
|
+
).returns(T.attached_class)
|
|
47
|
+
end
|
|
48
|
+
def self.new(
|
|
49
|
+
# Optional opaque session identifier to associate with the access token.
|
|
50
|
+
customer_session_id: nil,
|
|
51
|
+
# Lifetime of the access token in seconds. Defaults to 3600 (1 hour). Minimum 300
|
|
52
|
+
# (5 minutes), maximum 86400 (24 hours).
|
|
53
|
+
expires_in: nil,
|
|
54
|
+
# Optional user identifier to associate with the access token for attribution. Use
|
|
55
|
+
# the same canonical user ID string that you send in other SafetyKit API calls.
|
|
56
|
+
user_id: nil,
|
|
57
|
+
request_options: {}
|
|
58
|
+
)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
sig do
|
|
62
|
+
override.returns(
|
|
63
|
+
{
|
|
64
|
+
customer_session_id: String,
|
|
65
|
+
expires_in: Integer,
|
|
66
|
+
user_id: String,
|
|
67
|
+
request_options: SafetyKit::RequestOptions
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
end
|
|
71
|
+
def to_hash
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SafetyKit
|
|
4
|
+
module Models
|
|
5
|
+
class AccessTokenCreateAccessTokenResponse < SafetyKit::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
SafetyKit::Models::AccessTokenCreateAccessTokenResponse,
|
|
10
|
+
SafetyKit::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Short-lived bearer token. Use it in the Authorization header exactly like a
|
|
15
|
+
# long-lived API key. It cannot be used to create additional access tokens.
|
|
16
|
+
sig { returns(String) }
|
|
17
|
+
attr_accessor :access_token
|
|
18
|
+
|
|
19
|
+
# ISO 8601 timestamp at which the access token expires.
|
|
20
|
+
sig { returns(Time) }
|
|
21
|
+
attr_accessor :expires_at
|
|
22
|
+
|
|
23
|
+
# Number of seconds until the access token expires.
|
|
24
|
+
sig { returns(Integer) }
|
|
25
|
+
attr_accessor :expires_in
|
|
26
|
+
|
|
27
|
+
# Token type. Always Bearer.
|
|
28
|
+
sig do
|
|
29
|
+
returns(
|
|
30
|
+
SafetyKit::Models::AccessTokenCreateAccessTokenResponse::TokenType::TaggedSymbol
|
|
31
|
+
)
|
|
32
|
+
end
|
|
33
|
+
attr_accessor :token_type
|
|
34
|
+
|
|
35
|
+
# Response containing the newly created short-lived access token.
|
|
36
|
+
sig do
|
|
37
|
+
params(
|
|
38
|
+
access_token: String,
|
|
39
|
+
expires_at: Time,
|
|
40
|
+
expires_in: Integer,
|
|
41
|
+
token_type:
|
|
42
|
+
SafetyKit::Models::AccessTokenCreateAccessTokenResponse::TokenType::OrSymbol
|
|
43
|
+
).returns(T.attached_class)
|
|
44
|
+
end
|
|
45
|
+
def self.new(
|
|
46
|
+
# Short-lived bearer token. Use it in the Authorization header exactly like a
|
|
47
|
+
# long-lived API key. It cannot be used to create additional access tokens.
|
|
48
|
+
access_token:,
|
|
49
|
+
# ISO 8601 timestamp at which the access token expires.
|
|
50
|
+
expires_at:,
|
|
51
|
+
# Number of seconds until the access token expires.
|
|
52
|
+
expires_in:,
|
|
53
|
+
# Token type. Always Bearer.
|
|
54
|
+
token_type:
|
|
55
|
+
)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
sig do
|
|
59
|
+
override.returns(
|
|
60
|
+
{
|
|
61
|
+
access_token: String,
|
|
62
|
+
expires_at: Time,
|
|
63
|
+
expires_in: Integer,
|
|
64
|
+
token_type:
|
|
65
|
+
SafetyKit::Models::AccessTokenCreateAccessTokenResponse::TokenType::TaggedSymbol
|
|
66
|
+
}
|
|
67
|
+
)
|
|
68
|
+
end
|
|
69
|
+
def to_hash
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# Token type. Always Bearer.
|
|
73
|
+
module TokenType
|
|
74
|
+
extend SafetyKit::Internal::Type::Enum
|
|
75
|
+
|
|
76
|
+
TaggedSymbol =
|
|
77
|
+
T.type_alias do
|
|
78
|
+
T.all(
|
|
79
|
+
Symbol,
|
|
80
|
+
SafetyKit::Models::AccessTokenCreateAccessTokenResponse::TokenType
|
|
81
|
+
)
|
|
82
|
+
end
|
|
83
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
84
|
+
|
|
85
|
+
BEARER =
|
|
86
|
+
T.let(
|
|
87
|
+
:Bearer,
|
|
88
|
+
SafetyKit::Models::AccessTokenCreateAccessTokenResponse::TokenType::TaggedSymbol
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
sig do
|
|
92
|
+
override.returns(
|
|
93
|
+
T::Array[
|
|
94
|
+
SafetyKit::Models::AccessTokenCreateAccessTokenResponse::TokenType::TaggedSymbol
|
|
95
|
+
]
|
|
96
|
+
)
|
|
97
|
+
end
|
|
98
|
+
def self.values
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
data/rbi/safety_kit/models.rbi
CHANGED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SafetyKit
|
|
4
|
+
module Resources
|
|
5
|
+
# Exchange a long-lived API key for a short-lived access token suitable for
|
|
6
|
+
# delegated or time-boxed use.
|
|
7
|
+
class AccessTokens
|
|
8
|
+
# Exchange a long-lived API key for a short-lived access token. Authenticate with
|
|
9
|
+
# your long-lived API key as the Bearer token; the response contains a new token
|
|
10
|
+
# that authenticates the same team until it expires. Short-lived access tokens
|
|
11
|
+
# cannot be used to create additional access tokens.
|
|
12
|
+
sig do
|
|
13
|
+
params(
|
|
14
|
+
customer_session_id: String,
|
|
15
|
+
expires_in: Integer,
|
|
16
|
+
user_id: String,
|
|
17
|
+
request_options: SafetyKit::RequestOptions::OrHash
|
|
18
|
+
).returns(SafetyKit::Models::AccessTokenCreateAccessTokenResponse)
|
|
19
|
+
end
|
|
20
|
+
def create_access_token(
|
|
21
|
+
# Optional opaque session identifier to associate with the access token.
|
|
22
|
+
customer_session_id: nil,
|
|
23
|
+
# Lifetime of the access token in seconds. Defaults to 3600 (1 hour). Minimum 300
|
|
24
|
+
# (5 minutes), maximum 86400 (24 hours).
|
|
25
|
+
expires_in: nil,
|
|
26
|
+
# Optional user identifier to associate with the access token for attribution. Use
|
|
27
|
+
# the same canonical user ID string that you send in other SafetyKit API calls.
|
|
28
|
+
user_id: nil,
|
|
29
|
+
request_options: {}
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# @api private
|
|
34
|
+
sig { params(client: SafetyKit::Client).returns(T.attached_class) }
|
|
35
|
+
def self.new(client:)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
data/sig/safety_kit/client.rbs
CHANGED
|
@@ -16,6 +16,8 @@ module SafetyKit
|
|
|
16
16
|
|
|
17
17
|
attr_reader agent_decisions: SafetyKit::Resources::AgentDecisions
|
|
18
18
|
|
|
19
|
+
attr_reader access_tokens: SafetyKit::Resources::AccessTokens
|
|
20
|
+
|
|
19
21
|
attr_reader async: SafetyKit::Resources::Async
|
|
20
22
|
|
|
21
23
|
attr_reader deletion_requests: SafetyKit::Resources::DeletionRequests
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
module SafetyKit
|
|
2
|
+
module Models
|
|
3
|
+
type access_token_create_access_token_params =
|
|
4
|
+
{ customer_session_id: String, expires_in: Integer, user_id: String }
|
|
5
|
+
& SafetyKit::Internal::Type::request_parameters
|
|
6
|
+
|
|
7
|
+
class AccessTokenCreateAccessTokenParams < SafetyKit::Internal::Type::BaseModel
|
|
8
|
+
extend SafetyKit::Internal::Type::RequestParameters::Converter
|
|
9
|
+
include SafetyKit::Internal::Type::RequestParameters
|
|
10
|
+
|
|
11
|
+
attr_reader customer_session_id: String?
|
|
12
|
+
|
|
13
|
+
def customer_session_id=: (String) -> String
|
|
14
|
+
|
|
15
|
+
attr_reader expires_in: Integer?
|
|
16
|
+
|
|
17
|
+
def expires_in=: (Integer) -> Integer
|
|
18
|
+
|
|
19
|
+
attr_reader user_id: String?
|
|
20
|
+
|
|
21
|
+
def user_id=: (String) -> String
|
|
22
|
+
|
|
23
|
+
def initialize: (
|
|
24
|
+
?customer_session_id: String,
|
|
25
|
+
?expires_in: Integer,
|
|
26
|
+
?user_id: String,
|
|
27
|
+
?request_options: SafetyKit::request_opts
|
|
28
|
+
) -> void
|
|
29
|
+
|
|
30
|
+
def to_hash: -> {
|
|
31
|
+
customer_session_id: String,
|
|
32
|
+
expires_in: Integer,
|
|
33
|
+
user_id: String,
|
|
34
|
+
request_options: SafetyKit::RequestOptions
|
|
35
|
+
}
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
module SafetyKit
|
|
2
|
+
module Models
|
|
3
|
+
type access_token_create_access_token_response =
|
|
4
|
+
{
|
|
5
|
+
access_token: String,
|
|
6
|
+
expires_at: Time,
|
|
7
|
+
expires_in: Integer,
|
|
8
|
+
token_type: SafetyKit::Models::AccessTokenCreateAccessTokenResponse::token_type
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
class AccessTokenCreateAccessTokenResponse < SafetyKit::Internal::Type::BaseModel
|
|
12
|
+
attr_accessor access_token: String
|
|
13
|
+
|
|
14
|
+
attr_accessor expires_at: Time
|
|
15
|
+
|
|
16
|
+
attr_accessor expires_in: Integer
|
|
17
|
+
|
|
18
|
+
attr_accessor token_type: SafetyKit::Models::AccessTokenCreateAccessTokenResponse::token_type
|
|
19
|
+
|
|
20
|
+
def initialize: (
|
|
21
|
+
access_token: String,
|
|
22
|
+
expires_at: Time,
|
|
23
|
+
expires_in: Integer,
|
|
24
|
+
token_type: SafetyKit::Models::AccessTokenCreateAccessTokenResponse::token_type
|
|
25
|
+
) -> void
|
|
26
|
+
|
|
27
|
+
def to_hash: -> {
|
|
28
|
+
access_token: String,
|
|
29
|
+
expires_at: Time,
|
|
30
|
+
expires_in: Integer,
|
|
31
|
+
token_type: SafetyKit::Models::AccessTokenCreateAccessTokenResponse::token_type
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
type token_type = :Bearer
|
|
35
|
+
|
|
36
|
+
module TokenType
|
|
37
|
+
extend SafetyKit::Internal::Type::Enum
|
|
38
|
+
|
|
39
|
+
BEARER: :Bearer
|
|
40
|
+
|
|
41
|
+
def self?.values: -> ::Array[SafetyKit::Models::AccessTokenCreateAccessTokenResponse::token_type]
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
data/sig/safety_kit/models.rbs
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
module SafetyKit
|
|
2
|
+
class AccessTokenCreateAccessTokenParams = SafetyKit::Models::AccessTokenCreateAccessTokenParams
|
|
3
|
+
|
|
2
4
|
class AgentDecisionCreateAgentDecisionParams = SafetyKit::Models::AgentDecisionCreateAgentDecisionParams
|
|
3
5
|
|
|
4
6
|
class AsyncCreateAsyncParams = SafetyKit::Models::AsyncCreateAsyncParams
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module SafetyKit
|
|
2
|
+
module Resources
|
|
3
|
+
class AccessTokens
|
|
4
|
+
def create_access_token: (
|
|
5
|
+
?customer_session_id: String,
|
|
6
|
+
?expires_in: Integer,
|
|
7
|
+
?user_id: String,
|
|
8
|
+
?request_options: SafetyKit::request_opts
|
|
9
|
+
) -> SafetyKit::Models::AccessTokenCreateAccessTokenResponse
|
|
10
|
+
|
|
11
|
+
def initialize: (client: SafetyKit::Client) -> void
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: safetykit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.49.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Safetykit
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-07-
|
|
11
|
+
date: 2026-07-31 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cgi
|
|
@@ -69,6 +69,8 @@ files:
|
|
|
69
69
|
- lib/safety_kit/internal/type/unknown.rb
|
|
70
70
|
- lib/safety_kit/internal/util.rb
|
|
71
71
|
- lib/safety_kit/models.rb
|
|
72
|
+
- lib/safety_kit/models/access_token_create_access_token_params.rb
|
|
73
|
+
- lib/safety_kit/models/access_token_create_access_token_response.rb
|
|
72
74
|
- lib/safety_kit/models/agent_decision_create_agent_decision_params.rb
|
|
73
75
|
- lib/safety_kit/models/agent_decision_create_agent_decision_response.rb
|
|
74
76
|
- lib/safety_kit/models/async_create_async_params.rb
|
|
@@ -97,6 +99,7 @@ files:
|
|
|
97
99
|
- lib/safety_kit/models/stream_add_transcript_params.rb
|
|
98
100
|
- lib/safety_kit/models/stream_add_transcript_response.rb
|
|
99
101
|
- lib/safety_kit/request_options.rb
|
|
102
|
+
- lib/safety_kit/resources/access_tokens.rb
|
|
100
103
|
- lib/safety_kit/resources/agent_decisions.rb
|
|
101
104
|
- lib/safety_kit/resources/async.rb
|
|
102
105
|
- lib/safety_kit/resources/beta.rb
|
|
@@ -126,6 +129,8 @@ files:
|
|
|
126
129
|
- rbi/safety_kit/internal/type/unknown.rbi
|
|
127
130
|
- rbi/safety_kit/internal/util.rbi
|
|
128
131
|
- rbi/safety_kit/models.rbi
|
|
132
|
+
- rbi/safety_kit/models/access_token_create_access_token_params.rbi
|
|
133
|
+
- rbi/safety_kit/models/access_token_create_access_token_response.rbi
|
|
129
134
|
- rbi/safety_kit/models/agent_decision_create_agent_decision_params.rbi
|
|
130
135
|
- rbi/safety_kit/models/agent_decision_create_agent_decision_response.rbi
|
|
131
136
|
- rbi/safety_kit/models/async_create_async_params.rbi
|
|
@@ -154,6 +159,7 @@ files:
|
|
|
154
159
|
- rbi/safety_kit/models/stream_add_transcript_params.rbi
|
|
155
160
|
- rbi/safety_kit/models/stream_add_transcript_response.rbi
|
|
156
161
|
- rbi/safety_kit/request_options.rbi
|
|
162
|
+
- rbi/safety_kit/resources/access_tokens.rbi
|
|
157
163
|
- rbi/safety_kit/resources/agent_decisions.rbi
|
|
158
164
|
- rbi/safety_kit/resources/async.rbi
|
|
159
165
|
- rbi/safety_kit/resources/beta.rbi
|
|
@@ -182,6 +188,8 @@ files:
|
|
|
182
188
|
- sig/safety_kit/internal/type/unknown.rbs
|
|
183
189
|
- sig/safety_kit/internal/util.rbs
|
|
184
190
|
- sig/safety_kit/models.rbs
|
|
191
|
+
- sig/safety_kit/models/access_token_create_access_token_params.rbs
|
|
192
|
+
- sig/safety_kit/models/access_token_create_access_token_response.rbs
|
|
185
193
|
- sig/safety_kit/models/agent_decision_create_agent_decision_params.rbs
|
|
186
194
|
- sig/safety_kit/models/agent_decision_create_agent_decision_response.rbs
|
|
187
195
|
- sig/safety_kit/models/async_create_async_params.rbs
|
|
@@ -210,6 +218,7 @@ files:
|
|
|
210
218
|
- sig/safety_kit/models/stream_add_transcript_params.rbs
|
|
211
219
|
- sig/safety_kit/models/stream_add_transcript_response.rbs
|
|
212
220
|
- sig/safety_kit/request_options.rbs
|
|
221
|
+
- sig/safety_kit/resources/access_tokens.rbs
|
|
213
222
|
- sig/safety_kit/resources/agent_decisions.rbs
|
|
214
223
|
- sig/safety_kit/resources/async.rbs
|
|
215
224
|
- sig/safety_kit/resources/beta.rbs
|