safetykit 0.5.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.
Files changed (158) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +47 -0
  4. data/README.md +208 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/safety_kit/client.rb +111 -0
  7. data/lib/safety_kit/errors.rb +228 -0
  8. data/lib/safety_kit/file_part.rb +58 -0
  9. data/lib/safety_kit/internal/transport/base_client.rb +575 -0
  10. data/lib/safety_kit/internal/transport/pooled_net_requester.rb +210 -0
  11. data/lib/safety_kit/internal/type/array_of.rb +168 -0
  12. data/lib/safety_kit/internal/type/base_model.rb +529 -0
  13. data/lib/safety_kit/internal/type/base_page.rb +55 -0
  14. data/lib/safety_kit/internal/type/boolean.rb +77 -0
  15. data/lib/safety_kit/internal/type/converter.rb +327 -0
  16. data/lib/safety_kit/internal/type/enum.rb +131 -0
  17. data/lib/safety_kit/internal/type/file_input.rb +111 -0
  18. data/lib/safety_kit/internal/type/hash_of.rb +188 -0
  19. data/lib/safety_kit/internal/type/request_parameters.rb +42 -0
  20. data/lib/safety_kit/internal/type/union.rb +237 -0
  21. data/lib/safety_kit/internal/type/unknown.rb +81 -0
  22. data/lib/safety_kit/internal/util.rb +966 -0
  23. data/lib/safety_kit/internal.rb +20 -0
  24. data/lib/safety_kit/models/agent_decision_create_agent_decision_params.rb +68 -0
  25. data/lib/safety_kit/models/agent_decision_create_agent_decision_response.rb +19 -0
  26. data/lib/safety_kit/models/beta/event_create_params.rb +1140 -0
  27. data/lib/safety_kit/models/beta/event_create_response.rb +41 -0
  28. data/lib/safety_kit/models/client_session_create_session_params.rb +30 -0
  29. data/lib/safety_kit/models/client_session_create_session_response.rb +19 -0
  30. data/lib/safety_kit/models/data_add_params.rb +52 -0
  31. data/lib/safety_kit/models/data_add_response.rb +44 -0
  32. data/lib/safety_kit/models/data_create_upload_url_params.rb +176 -0
  33. data/lib/safety_kit/models/data_create_upload_url_response.rb +69 -0
  34. data/lib/safety_kit/models/data_get_download_url_params.rb +30 -0
  35. data/lib/safety_kit/models/data_get_download_url_response.rb +80 -0
  36. data/lib/safety_kit/models/data_get_status_params.rb +30 -0
  37. data/lib/safety_kit/models/data_get_status_response.rb +128 -0
  38. data/lib/safety_kit/models/data_object.rb +24 -0
  39. data/lib/safety_kit/models/data_update_settings_params.rb +176 -0
  40. data/lib/safety_kit/models/data_update_settings_response.rb +34 -0
  41. data/lib/safety_kit/models/stream_add_frame_params.rb +50 -0
  42. data/lib/safety_kit/models/stream_add_frame_response.rb +34 -0
  43. data/lib/safety_kit/models/stream_add_params.rb +36 -0
  44. data/lib/safety_kit/models/stream_add_response.rb +34 -0
  45. data/lib/safety_kit/models/stream_add_transcript_params.rb +43 -0
  46. data/lib/safety_kit/models/stream_add_transcript_response.rb +34 -0
  47. data/lib/safety_kit/models.rb +65 -0
  48. data/lib/safety_kit/request_options.rb +77 -0
  49. data/lib/safety_kit/resources/agent_decisions.rb +55 -0
  50. data/lib/safety_kit/resources/beta/events.rb +45 -0
  51. data/lib/safety_kit/resources/beta.rb +19 -0
  52. data/lib/safety_kit/resources/client_sessions.rb +42 -0
  53. data/lib/safety_kit/resources/data.rb +159 -0
  54. data/lib/safety_kit/resources/streams.rb +113 -0
  55. data/lib/safety_kit/version.rb +5 -0
  56. data/lib/safety_kit.rb +84 -0
  57. data/manifest.yaml +17 -0
  58. data/rbi/safety_kit/client.rbi +68 -0
  59. data/rbi/safety_kit/errors.rbi +205 -0
  60. data/rbi/safety_kit/file_part.rbi +37 -0
  61. data/rbi/safety_kit/internal/transport/base_client.rbi +298 -0
  62. data/rbi/safety_kit/internal/transport/pooled_net_requester.rbi +83 -0
  63. data/rbi/safety_kit/internal/type/array_of.rbi +104 -0
  64. data/rbi/safety_kit/internal/type/base_model.rbi +308 -0
  65. data/rbi/safety_kit/internal/type/base_page.rbi +42 -0
  66. data/rbi/safety_kit/internal/type/boolean.rbi +58 -0
  67. data/rbi/safety_kit/internal/type/converter.rbi +216 -0
  68. data/rbi/safety_kit/internal/type/enum.rbi +82 -0
  69. data/rbi/safety_kit/internal/type/file_input.rbi +59 -0
  70. data/rbi/safety_kit/internal/type/hash_of.rbi +104 -0
  71. data/rbi/safety_kit/internal/type/request_parameters.rbi +29 -0
  72. data/rbi/safety_kit/internal/type/union.rbi +128 -0
  73. data/rbi/safety_kit/internal/type/unknown.rbi +58 -0
  74. data/rbi/safety_kit/internal/util.rbi +515 -0
  75. data/rbi/safety_kit/internal.rbi +18 -0
  76. data/rbi/safety_kit/models/agent_decision_create_agent_decision_params.rbi +95 -0
  77. data/rbi/safety_kit/models/agent_decision_create_agent_decision_response.rbi +31 -0
  78. data/rbi/safety_kit/models/beta/event_create_params.rbi +2379 -0
  79. data/rbi/safety_kit/models/beta/event_create_response.rbi +87 -0
  80. data/rbi/safety_kit/models/client_session_create_session_params.rbi +60 -0
  81. data/rbi/safety_kit/models/client_session_create_session_response.rbi +31 -0
  82. data/rbi/safety_kit/models/data_add_params.rbi +82 -0
  83. data/rbi/safety_kit/models/data_add_response.rbi +77 -0
  84. data/rbi/safety_kit/models/data_create_upload_url_params.rbi +473 -0
  85. data/rbi/safety_kit/models/data_create_upload_url_response.rbi +113 -0
  86. data/rbi/safety_kit/models/data_get_download_url_params.rbi +54 -0
  87. data/rbi/safety_kit/models/data_get_download_url_response.rbi +136 -0
  88. data/rbi/safety_kit/models/data_get_status_params.rbi +51 -0
  89. data/rbi/safety_kit/models/data_get_status_response.rbi +264 -0
  90. data/rbi/safety_kit/models/data_object.rbi +33 -0
  91. data/rbi/safety_kit/models/data_update_settings_params.rbi +458 -0
  92. data/rbi/safety_kit/models/data_update_settings_response.rbi +74 -0
  93. data/rbi/safety_kit/models/stream_add_frame_params.rbi +69 -0
  94. data/rbi/safety_kit/models/stream_add_frame_response.rbi +71 -0
  95. data/rbi/safety_kit/models/stream_add_params.rbi +55 -0
  96. data/rbi/safety_kit/models/stream_add_response.rbi +68 -0
  97. data/rbi/safety_kit/models/stream_add_transcript_params.rbi +64 -0
  98. data/rbi/safety_kit/models/stream_add_transcript_response.rbi +77 -0
  99. data/rbi/safety_kit/models.rbi +29 -0
  100. data/rbi/safety_kit/request_options.rbi +59 -0
  101. data/rbi/safety_kit/resources/agent_decisions.rbi +50 -0
  102. data/rbi/safety_kit/resources/beta/events.rbi +40 -0
  103. data/rbi/safety_kit/resources/beta.rbi +16 -0
  104. data/rbi/safety_kit/resources/client_sessions.rbi +33 -0
  105. data/rbi/safety_kit/resources/data.rbi +126 -0
  106. data/rbi/safety_kit/resources/streams.rbi +88 -0
  107. data/rbi/safety_kit/version.rbi +5 -0
  108. data/sig/safety_kit/client.rbs +34 -0
  109. data/sig/safety_kit/errors.rbs +117 -0
  110. data/sig/safety_kit/file_part.rbs +21 -0
  111. data/sig/safety_kit/internal/transport/base_client.rbs +133 -0
  112. data/sig/safety_kit/internal/transport/pooled_net_requester.rbs +48 -0
  113. data/sig/safety_kit/internal/type/array_of.rbs +48 -0
  114. data/sig/safety_kit/internal/type/base_model.rbs +102 -0
  115. data/sig/safety_kit/internal/type/base_page.rbs +24 -0
  116. data/sig/safety_kit/internal/type/boolean.rbs +26 -0
  117. data/sig/safety_kit/internal/type/converter.rbs +79 -0
  118. data/sig/safety_kit/internal/type/enum.rbs +32 -0
  119. data/sig/safety_kit/internal/type/file_input.rbs +25 -0
  120. data/sig/safety_kit/internal/type/hash_of.rbs +48 -0
  121. data/sig/safety_kit/internal/type/request_parameters.rbs +19 -0
  122. data/sig/safety_kit/internal/type/union.rbs +52 -0
  123. data/sig/safety_kit/internal/type/unknown.rbs +26 -0
  124. data/sig/safety_kit/internal/util.rbs +199 -0
  125. data/sig/safety_kit/internal.rbs +9 -0
  126. data/sig/safety_kit/models/agent_decision_create_agent_decision_params.rbs +53 -0
  127. data/sig/safety_kit/models/agent_decision_create_agent_decision_response.rbs +14 -0
  128. data/sig/safety_kit/models/beta/event_create_params.rbs +891 -0
  129. data/sig/safety_kit/models/beta/event_create_response.rbs +37 -0
  130. data/sig/safety_kit/models/client_session_create_session_params.rbs +32 -0
  131. data/sig/safety_kit/models/client_session_create_session_response.rbs +13 -0
  132. data/sig/safety_kit/models/data_add_params.rbs +38 -0
  133. data/sig/safety_kit/models/data_add_response.rbs +32 -0
  134. data/sig/safety_kit/models/data_create_upload_url_params.rbs +193 -0
  135. data/sig/safety_kit/models/data_create_upload_url_response.rbs +50 -0
  136. data/sig/safety_kit/models/data_get_download_url_params.rbs +28 -0
  137. data/sig/safety_kit/models/data_get_download_url_response.rbs +59 -0
  138. data/sig/safety_kit/models/data_get_status_params.rbs +28 -0
  139. data/sig/safety_kit/models/data_get_status_response.rbs +120 -0
  140. data/sig/safety_kit/models/data_object.rbs +13 -0
  141. data/sig/safety_kit/models/data_update_settings_params.rbs +189 -0
  142. data/sig/safety_kit/models/data_update_settings_response.rbs +35 -0
  143. data/sig/safety_kit/models/stream_add_frame_params.rbs +41 -0
  144. data/sig/safety_kit/models/stream_add_frame_response.rbs +35 -0
  145. data/sig/safety_kit/models/stream_add_params.rbs +32 -0
  146. data/sig/safety_kit/models/stream_add_response.rbs +35 -0
  147. data/sig/safety_kit/models/stream_add_transcript_params.rbs +36 -0
  148. data/sig/safety_kit/models/stream_add_transcript_response.rbs +35 -0
  149. data/sig/safety_kit/models.rbs +25 -0
  150. data/sig/safety_kit/request_options.rbs +34 -0
  151. data/sig/safety_kit/resources/agent_decisions.rbs +17 -0
  152. data/sig/safety_kit/resources/beta/events.rbs +14 -0
  153. data/sig/safety_kit/resources/beta.rbs +9 -0
  154. data/sig/safety_kit/resources/client_sessions.rbs +13 -0
  155. data/sig/safety_kit/resources/data.rbs +37 -0
  156. data/sig/safety_kit/resources/streams.rbs +30 -0
  157. data/sig/safety_kit/version.rbs +3 -0
  158. metadata +228 -0
@@ -0,0 +1,87 @@
1
+ # typed: strong
2
+
3
+ module SafetyKit
4
+ module Models
5
+ module Beta
6
+ class EventCreateResponse < SafetyKit::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ SafetyKit::Models::Beta::EventCreateResponse,
11
+ SafetyKit::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # SafetyKit identifier for the event.
16
+ sig { returns(String) }
17
+ attr_accessor :event_id
18
+
19
+ # Event was accepted.
20
+ sig do
21
+ returns(
22
+ SafetyKit::Models::Beta::EventCreateResponse::Status::TaggedSymbol
23
+ )
24
+ end
25
+ attr_accessor :status
26
+
27
+ # Response returned after SafetyKit accepts an event.
28
+ sig do
29
+ params(
30
+ event_id: String,
31
+ status:
32
+ SafetyKit::Models::Beta::EventCreateResponse::Status::OrSymbol
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(
36
+ # SafetyKit identifier for the event.
37
+ event_id:,
38
+ # Event was accepted.
39
+ status:
40
+ )
41
+ end
42
+
43
+ sig do
44
+ override.returns(
45
+ {
46
+ event_id: String,
47
+ status:
48
+ SafetyKit::Models::Beta::EventCreateResponse::Status::TaggedSymbol
49
+ }
50
+ )
51
+ end
52
+ def to_hash
53
+ end
54
+
55
+ # Event was accepted.
56
+ module Status
57
+ extend SafetyKit::Internal::Type::Enum
58
+
59
+ TaggedSymbol =
60
+ T.type_alias do
61
+ T.all(
62
+ Symbol,
63
+ SafetyKit::Models::Beta::EventCreateResponse::Status
64
+ )
65
+ end
66
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
67
+
68
+ OK =
69
+ T.let(
70
+ :ok,
71
+ SafetyKit::Models::Beta::EventCreateResponse::Status::TaggedSymbol
72
+ )
73
+
74
+ sig do
75
+ override.returns(
76
+ T::Array[
77
+ SafetyKit::Models::Beta::EventCreateResponse::Status::TaggedSymbol
78
+ ]
79
+ )
80
+ end
81
+ def self.values
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,60 @@
1
+ # typed: strong
2
+
3
+ module SafetyKit
4
+ module Models
5
+ class ClientSessionCreateSessionParams < 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::ClientSessionCreateSessionParams,
13
+ SafetyKit::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Hashed customer browser session value associated with the browser SDK session.
18
+ sig { returns(T.nilable(String)) }
19
+ attr_reader :customer_session_hash
20
+
21
+ sig { params(customer_session_hash: String).void }
22
+ attr_writer :customer_session_hash
23
+
24
+ # Customer user identifier associated with the browser SDK session.
25
+ sig { returns(T.nilable(String)) }
26
+ attr_reader :customer_user_id
27
+
28
+ sig { params(customer_user_id: String).void }
29
+ attr_writer :customer_user_id
30
+
31
+ sig do
32
+ params(
33
+ customer_session_hash: String,
34
+ customer_user_id: String,
35
+ request_options: SafetyKit::RequestOptions::OrHash
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(
39
+ # Hashed customer browser session value associated with the browser SDK session.
40
+ customer_session_hash: nil,
41
+ # Customer user identifier associated with the browser SDK session.
42
+ customer_user_id: nil,
43
+ request_options: {}
44
+ )
45
+ end
46
+
47
+ sig do
48
+ override.returns(
49
+ {
50
+ customer_session_hash: String,
51
+ customer_user_id: String,
52
+ request_options: SafetyKit::RequestOptions
53
+ }
54
+ )
55
+ end
56
+ def to_hash
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,31 @@
1
+ # typed: strong
2
+
3
+ module SafetyKit
4
+ module Models
5
+ class ClientSessionCreateSessionResponse < SafetyKit::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ SafetyKit::Models::ClientSessionCreateSessionResponse,
10
+ SafetyKit::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Browser-safe webapp SDK session token to pass to the browser SDK.
15
+ sig { returns(String) }
16
+ attr_accessor :session_token
17
+
18
+ # Response containing the browser-safe webapp SDK session token.
19
+ sig { params(session_token: String).returns(T.attached_class) }
20
+ def self.new(
21
+ # Browser-safe webapp SDK session token to pass to the browser SDK.
22
+ session_token:
23
+ )
24
+ end
25
+
26
+ sig { override.returns({ session_token: String }) }
27
+ def to_hash
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,82 @@
1
+ # typed: strong
2
+
3
+ module SafetyKit
4
+ module Models
5
+ class DataAddParams < 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(SafetyKit::DataAddParams, SafetyKit::Internal::AnyHash)
12
+ end
13
+
14
+ # The namespace to ingest data into
15
+ sig { returns(String) }
16
+ attr_accessor :namespace
17
+
18
+ # A data object to ingest. It must include an id field. All other fields are
19
+ # flexible and can be any JSON type.
20
+ sig do
21
+ returns(T.any(SafetyKit::DataObject, T::Array[SafetyKit::DataObject]))
22
+ end
23
+ attr_accessor :data
24
+
25
+ sig do
26
+ params(
27
+ namespace: String,
28
+ data:
29
+ T.any(
30
+ SafetyKit::DataObject::OrHash,
31
+ T::Array[SafetyKit::DataObject::OrHash]
32
+ ),
33
+ request_options: SafetyKit::RequestOptions::OrHash
34
+ ).returns(T.attached_class)
35
+ end
36
+ def self.new(
37
+ # The namespace to ingest data into
38
+ namespace:,
39
+ # A data object to ingest. It must include an id field. All other fields are
40
+ # flexible and can be any JSON type.
41
+ data:,
42
+ request_options: {}
43
+ )
44
+ end
45
+
46
+ sig do
47
+ override.returns(
48
+ {
49
+ namespace: String,
50
+ data: T.any(SafetyKit::DataObject, T::Array[SafetyKit::DataObject]),
51
+ request_options: SafetyKit::RequestOptions
52
+ }
53
+ )
54
+ end
55
+ def to_hash
56
+ end
57
+
58
+ # A data object to ingest. It must include an id field. All other fields are
59
+ # flexible and can be any JSON type.
60
+ module Data
61
+ extend SafetyKit::Internal::Type::Union
62
+
63
+ Variants =
64
+ T.type_alias do
65
+ T.any(SafetyKit::DataObject, T::Array[SafetyKit::DataObject])
66
+ end
67
+
68
+ sig do
69
+ override.returns(T::Array[SafetyKit::DataAddParams::Data::Variants])
70
+ end
71
+ def self.variants
72
+ end
73
+
74
+ DataObjectArray =
75
+ T.let(
76
+ SafetyKit::Internal::Type::ArrayOf[SafetyKit::DataObject],
77
+ SafetyKit::Internal::Type::Converter
78
+ )
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,77 @@
1
+ # typed: strong
2
+
3
+ module SafetyKit
4
+ module Models
5
+ class DataAddResponse < SafetyKit::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ SafetyKit::Models::DataAddResponse,
10
+ SafetyKit::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Unique identifier for tracking this request. Data processing happens
15
+ # asynchronously after this response.
16
+ sig { returns(String) }
17
+ attr_accessor :request_id
18
+
19
+ # Request was accepted for processing
20
+ sig { returns(SafetyKit::Models::DataAddResponse::Status::TaggedSymbol) }
21
+ attr_accessor :status
22
+
23
+ # Response confirming data was accepted for asynchronous processing. The requestId
24
+ # can be used for debugging and tracking.
25
+ sig do
26
+ params(
27
+ request_id: String,
28
+ status: SafetyKit::Models::DataAddResponse::Status::OrSymbol
29
+ ).returns(T.attached_class)
30
+ end
31
+ def self.new(
32
+ # Unique identifier for tracking this request. Data processing happens
33
+ # asynchronously after this response.
34
+ request_id:,
35
+ # Request was accepted for processing
36
+ status:
37
+ )
38
+ end
39
+
40
+ sig do
41
+ override.returns(
42
+ {
43
+ request_id: String,
44
+ status: SafetyKit::Models::DataAddResponse::Status::TaggedSymbol
45
+ }
46
+ )
47
+ end
48
+ def to_hash
49
+ end
50
+
51
+ # Request was accepted for processing
52
+ module Status
53
+ extend SafetyKit::Internal::Type::Enum
54
+
55
+ TaggedSymbol =
56
+ T.type_alias do
57
+ T.all(Symbol, SafetyKit::Models::DataAddResponse::Status)
58
+ end
59
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
60
+
61
+ ACCEPTED =
62
+ T.let(
63
+ :accepted,
64
+ SafetyKit::Models::DataAddResponse::Status::TaggedSymbol
65
+ )
66
+
67
+ sig do
68
+ override.returns(
69
+ T::Array[SafetyKit::Models::DataAddResponse::Status::TaggedSymbol]
70
+ )
71
+ end
72
+ def self.values
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end