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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c75865304ccc0220d4fc3fd8266ba46402f0afedfe506c72d0e4def6bd8c0938
4
- data.tar.gz: 88e06efa5c056a70c9050608069226295a118158d03ff5ab4c1c312017b80c27
3
+ metadata.gz: ffe5ac9eeb7e3772d15ac6cd4050b50ce60db643f95f7a372568f8d063584730
4
+ data.tar.gz: 6a2fd2adb3656d26d80c6f3dd9dd6d21d21f716d8d47c96a79575c4d3c68ce91
5
5
  SHA512:
6
- metadata.gz: 674e7040f71f1cfc39de44e56b4702a3c0d23d7fb7557e597d01ba05789ac71c9f1fc7293640d6cdbbc7fe8653aff6f2ef05b6c99d3777c0ba7e8e82889771cd
7
- data.tar.gz: 1dc6f5f3b52270dc0486ec2e7bc180f47eb2fd05d15ea74ac72097026783003e12b6f86243891009d0b14b77954527fd49484eef8bfd3bcc84bbfbf033b53f7b
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
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "safetykit", "~> 0.47.0"
20
+ gem "safetykit", "~> 0.49.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -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
@@ -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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SafetyKit
4
- VERSION = "0.47.0"
4
+ VERSION = "0.49.0"
5
5
  end
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"
@@ -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
@@ -1,6 +1,9 @@
1
1
  # typed: strong
2
2
 
3
3
  module SafetyKit
4
+ AccessTokenCreateAccessTokenParams =
5
+ SafetyKit::Models::AccessTokenCreateAccessTokenParams
6
+
4
7
  AgentDecisionCreateAgentDecisionParams =
5
8
  SafetyKit::Models::AgentDecisionCreateAgentDecisionParams
6
9
 
@@ -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
@@ -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
@@ -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.47.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-30 00:00:00.000000000 Z
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