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,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ module Beta
6
+ # @see SafetyKit::Resources::Beta::Events#create
7
+ class EventCreateResponse < SafetyKit::Internal::Type::BaseModel
8
+ # @!attribute event_id
9
+ # SafetyKit identifier for the event.
10
+ #
11
+ # @return [String]
12
+ required :event_id, String
13
+
14
+ # @!attribute status
15
+ # Event was accepted.
16
+ #
17
+ # @return [Symbol, SafetyKit::Models::Beta::EventCreateResponse::Status]
18
+ required :status, enum: -> { SafetyKit::Models::Beta::EventCreateResponse::Status }
19
+
20
+ # @!method initialize(event_id:, status:)
21
+ # Response returned after SafetyKit accepts an event.
22
+ #
23
+ # @param event_id [String] SafetyKit identifier for the event.
24
+ #
25
+ # @param status [Symbol, SafetyKit::Models::Beta::EventCreateResponse::Status] Event was accepted.
26
+
27
+ # Event was accepted.
28
+ #
29
+ # @see SafetyKit::Models::Beta::EventCreateResponse#status
30
+ module Status
31
+ extend SafetyKit::Internal::Type::Enum
32
+
33
+ OK = :ok
34
+
35
+ # @!method self.values
36
+ # @return [Array<Symbol>]
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::ClientSessions#create_session
6
+ class ClientSessionCreateSessionParams < SafetyKit::Internal::Type::BaseModel
7
+ extend SafetyKit::Internal::Type::RequestParameters::Converter
8
+ include SafetyKit::Internal::Type::RequestParameters
9
+
10
+ # @!attribute customer_session_hash
11
+ # Hashed customer browser session value associated with the browser SDK session.
12
+ #
13
+ # @return [String, nil]
14
+ optional :customer_session_hash, String
15
+
16
+ # @!attribute customer_user_id
17
+ # Customer user identifier associated with the browser SDK session.
18
+ #
19
+ # @return [String, nil]
20
+ optional :customer_user_id, String
21
+
22
+ # @!method initialize(customer_session_hash: nil, customer_user_id: nil, request_options: {})
23
+ # @param customer_session_hash [String] Hashed customer browser session value associated with the browser SDK session.
24
+ #
25
+ # @param customer_user_id [String] Customer user identifier associated with the browser SDK session.
26
+ #
27
+ # @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}]
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::ClientSessions#create_session
6
+ class ClientSessionCreateSessionResponse < SafetyKit::Internal::Type::BaseModel
7
+ # @!attribute session_token
8
+ # Browser-safe webapp SDK session token to pass to the browser SDK.
9
+ #
10
+ # @return [String]
11
+ required :session_token, String
12
+
13
+ # @!method initialize(session_token:)
14
+ # Response containing the browser-safe webapp SDK session token.
15
+ #
16
+ # @param session_token [String] Browser-safe webapp SDK session token to pass to the browser SDK.
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Data#add
6
+ class DataAddParams < SafetyKit::Internal::Type::BaseModel
7
+ extend SafetyKit::Internal::Type::RequestParameters::Converter
8
+ include SafetyKit::Internal::Type::RequestParameters
9
+
10
+ # @!attribute namespace
11
+ # The namespace to ingest data into
12
+ #
13
+ # @return [String]
14
+ required :namespace, String
15
+
16
+ # @!attribute data
17
+ # A data object to ingest. It must include an id field. All other fields are
18
+ # flexible and can be any JSON type.
19
+ #
20
+ # @return [SafetyKit::Models::DataObject, Array<SafetyKit::Models::DataObject>]
21
+ required :data, union: -> { SafetyKit::DataAddParams::Data }
22
+
23
+ # @!method initialize(namespace:, data:, request_options: {})
24
+ # Some parameter documentations has been truncated, see
25
+ # {SafetyKit::Models::DataAddParams} for more details.
26
+ #
27
+ # @param namespace [String] The namespace to ingest data into
28
+ #
29
+ # @param data [SafetyKit::Models::DataObject, Array<SafetyKit::Models::DataObject>] A data object to ingest. It must include an id field. All other fields are flexi
30
+ #
31
+ # @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}]
32
+
33
+ # A data object to ingest. It must include an id field. All other fields are
34
+ # flexible and can be any JSON type.
35
+ module Data
36
+ extend SafetyKit::Internal::Type::Union
37
+
38
+ # A data object to ingest. It must include an id field. All other fields are flexible and can be any JSON type.
39
+ variant -> { SafetyKit::DataObject }
40
+
41
+ # Array of data objects to ingest.
42
+ variant -> { SafetyKit::Models::DataAddParams::Data::DataObjectArray }
43
+
44
+ # @!method self.variants
45
+ # @return [Array(SafetyKit::Models::DataObject, Array<SafetyKit::Models::DataObject>)]
46
+
47
+ # @type [SafetyKit::Internal::Type::Converter]
48
+ DataObjectArray = SafetyKit::Internal::Type::ArrayOf[-> { SafetyKit::DataObject }]
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Data#add
6
+ class DataAddResponse < SafetyKit::Internal::Type::BaseModel
7
+ # @!attribute request_id
8
+ # Unique identifier for tracking this request. Data processing happens
9
+ # asynchronously after this response.
10
+ #
11
+ # @return [String]
12
+ required :request_id, String, api_name: :requestId
13
+
14
+ # @!attribute status
15
+ # Request was accepted for processing
16
+ #
17
+ # @return [Symbol, SafetyKit::Models::DataAddResponse::Status]
18
+ required :status, enum: -> { SafetyKit::Models::DataAddResponse::Status }
19
+
20
+ # @!method initialize(request_id:, status:)
21
+ # Some parameter documentations has been truncated, see
22
+ # {SafetyKit::Models::DataAddResponse} for more details.
23
+ #
24
+ # Response confirming data was accepted for asynchronous processing. The requestId
25
+ # can be used for debugging and tracking.
26
+ #
27
+ # @param request_id [String] Unique identifier for tracking this request. Data processing happens asynchronou
28
+ #
29
+ # @param status [Symbol, SafetyKit::Models::DataAddResponse::Status] Request was accepted for processing
30
+
31
+ # Request was accepted for processing
32
+ #
33
+ # @see SafetyKit::Models::DataAddResponse#status
34
+ module Status
35
+ extend SafetyKit::Internal::Type::Enum
36
+
37
+ ACCEPTED = :accepted
38
+
39
+ # @!method self.values
40
+ # @return [Array<Symbol>]
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,176 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Data#create_upload_url
6
+ class DataCreateUploadURLParams < SafetyKit::Internal::Type::BaseModel
7
+ extend SafetyKit::Internal::Type::RequestParameters::Converter
8
+ include SafetyKit::Internal::Type::RequestParameters
9
+
10
+ # @!attribute namespace
11
+ # The namespace to ingest data into
12
+ #
13
+ # @return [String]
14
+ required :namespace, String
15
+
16
+ # @!attribute schema
17
+ # Schema mapping field names to their definitions. Use content_type to specify
18
+ # which fields contain URLs that should be processed (images, videos, or
19
+ # websites), datetime fields, or 'metadata' for fields that should be stored but
20
+ # not indexed. Use display_hint to provide UI rendering hints.
21
+ #
22
+ # @return [Hash{Symbol=>SafetyKit::Models::DataCreateUploadURLParams::Schema}, nil]
23
+ optional :schema, -> { SafetyKit::Internal::Type::HashOf[SafetyKit::DataCreateUploadURLParams::Schema] }
24
+
25
+ # @!method initialize(namespace:, schema: nil, request_options: {})
26
+ # Some parameter documentations has been truncated, see
27
+ # {SafetyKit::Models::DataCreateUploadURLParams} for more details.
28
+ #
29
+ # @param namespace [String] The namespace to ingest data into
30
+ #
31
+ # @param schema [Hash{Symbol=>SafetyKit::Models::DataCreateUploadURLParams::Schema}] Schema mapping field names to their definitions. Use content_type to specify whi
32
+ #
33
+ # @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}]
34
+
35
+ class Schema < SafetyKit::Internal::Type::BaseModel
36
+ # @!attribute belongs_to
37
+ # The parent object namespace this field belongs to, creating a parent-child
38
+ # relationship with that namespace.
39
+ #
40
+ # @return [String, nil]
41
+ optional :belongs_to, String
42
+
43
+ # @!attribute content_type
44
+ # The type of content (image_url, video_url, audio_url, website_url, datetime,
45
+ # metadata, or card). When specified as a URL type, SafetyKit will process the
46
+ # URL. Use 'metadata' for fields that should be stored but not indexed.
47
+ #
48
+ # @return [Symbol, SafetyKit::Models::DataCreateUploadURLParams::Schema::ContentType, nil]
49
+ optional :content_type, enum: -> { SafetyKit::DataCreateUploadURLParams::Schema::ContentType }
50
+
51
+ # @!attribute display_hint
52
+ # Display hint for UI rendering of this field
53
+ #
54
+ # @return [SafetyKit::Models::DataCreateUploadURLParams::Schema::DisplayHint, nil]
55
+ optional :display_hint, -> { SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint }
56
+
57
+ # @!attribute field_limit
58
+ # Maximum amount of this field to include when sending to AI models. For text
59
+ # fields, this is the character limit. For array fields (e.g. image URLs), this is
60
+ # the maximum number of items.
61
+ #
62
+ # @return [Integer, nil]
63
+ optional :field_limit, Integer
64
+
65
+ # @!attribute ingest_as
66
+ # Optional parser to apply before indexing this field.
67
+ #
68
+ # @return [Symbol, SafetyKit::Models::DataCreateUploadURLParams::Schema::IngestAs, nil]
69
+ optional :ingest_as, enum: -> { SafetyKit::DataCreateUploadURLParams::Schema::IngestAs }
70
+
71
+ # @!method initialize(belongs_to: nil, content_type: nil, display_hint: nil, field_limit: nil, ingest_as: nil)
72
+ # Some parameter documentations has been truncated, see
73
+ # {SafetyKit::Models::DataCreateUploadURLParams::Schema} for more details.
74
+ #
75
+ # Schema definition for a data field
76
+ #
77
+ # @param belongs_to [String] The parent object namespace this field belongs to, creating a parent-child relat
78
+ #
79
+ # @param content_type [Symbol, SafetyKit::Models::DataCreateUploadURLParams::Schema::ContentType] The type of content (image_url, video_url, audio_url, website_url, datetime, met
80
+ #
81
+ # @param display_hint [SafetyKit::Models::DataCreateUploadURLParams::Schema::DisplayHint] Display hint for UI rendering of this field
82
+ #
83
+ # @param field_limit [Integer] Maximum amount of this field to include when sending to AI models. For text fiel
84
+ #
85
+ # @param ingest_as [Symbol, SafetyKit::Models::DataCreateUploadURLParams::Schema::IngestAs] Optional parser to apply before indexing this field.
86
+
87
+ # The type of content (image_url, video_url, audio_url, website_url, datetime,
88
+ # metadata, or card). When specified as a URL type, SafetyKit will process the
89
+ # URL. Use 'metadata' for fields that should be stored but not indexed.
90
+ #
91
+ # @see SafetyKit::Models::DataCreateUploadURLParams::Schema#content_type
92
+ module ContentType
93
+ extend SafetyKit::Internal::Type::Enum
94
+
95
+ IMAGE_URL = :image_url
96
+ VIDEO_URL = :video_url
97
+ AUDIO_URL = :audio_url
98
+ WEBSITE_URL = :website_url
99
+ DATETIME = :datetime
100
+ METADATA = :metadata
101
+ CARD = :card
102
+
103
+ # @!method self.values
104
+ # @return [Array<Symbol>]
105
+ end
106
+
107
+ # @see SafetyKit::Models::DataCreateUploadURLParams::Schema#display_hint
108
+ class DisplayHint < SafetyKit::Internal::Type::BaseModel
109
+ # @!attribute name
110
+ # Display label to show for this field in the UI
111
+ #
112
+ # @return [String, nil]
113
+ optional :name, String
114
+
115
+ # @!attribute order
116
+ # Display ordering for this field. Use 0 to hide the field from list views.
117
+ #
118
+ # @return [Float, nil]
119
+ optional :order, Float
120
+
121
+ # @!attribute type
122
+ # The display hint type
123
+ #
124
+ # @return [Symbol, SafetyKit::Models::DataCreateUploadURLParams::Schema::DisplayHint::Type, nil]
125
+ optional :type, enum: -> { SafetyKit::DataCreateUploadURLParams::Schema::DisplayHint::Type }
126
+
127
+ # @!method initialize(name: nil, order: nil, type: nil)
128
+ # Display hint for UI rendering of this field
129
+ #
130
+ # @param name [String] Display label to show for this field in the UI
131
+ #
132
+ # @param order [Float] Display ordering for this field. Use 0 to hide the field from list views.
133
+ #
134
+ # @param type [Symbol, SafetyKit::Models::DataCreateUploadURLParams::Schema::DisplayHint::Type] The display hint type
135
+
136
+ # The display hint type
137
+ #
138
+ # @see SafetyKit::Models::DataCreateUploadURLParams::Schema::DisplayHint#type
139
+ module Type
140
+ extend SafetyKit::Internal::Type::Enum
141
+
142
+ TITLE = :title
143
+ SUBTITLE = :subtitle
144
+ DESCRIPTION = :description
145
+ PRIMARY_IMAGE_URL = :primary_image_url
146
+ VIDEO_URL = :video_url
147
+ AUDIO_URL = :audio_url
148
+ LOCATION = :location
149
+ DATE = :date
150
+ COMPACT_TEXT = :compact_text
151
+ MARKDOWN = :markdown
152
+ HTML = :html
153
+ CARD = :card
154
+ CHAT_THREAD = :chat_thread
155
+ TWO_PERSON_CHAT = :two_person_chat
156
+
157
+ # @!method self.values
158
+ # @return [Array<Symbol>]
159
+ end
160
+ end
161
+
162
+ # Optional parser to apply before indexing this field.
163
+ #
164
+ # @see SafetyKit::Models::DataCreateUploadURLParams::Schema#ingest_as
165
+ module IngestAs
166
+ extend SafetyKit::Internal::Type::Enum
167
+
168
+ FLOAT = :float
169
+
170
+ # @!method self.values
171
+ # @return [Array<Symbol>]
172
+ end
173
+ end
174
+ end
175
+ end
176
+ end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Data#create_upload_url
6
+ class DataCreateUploadURLResponse < SafetyKit::Internal::Type::BaseModel
7
+ # @!attribute expires_at
8
+ # ISO timestamp when upload_url expires (12 hours after issuance)
9
+ #
10
+ # @return [String]
11
+ required :expires_at, String
12
+
13
+ # @!attribute object_key
14
+ # S3 object key where uploaded JSONL will be processed from
15
+ #
16
+ # @return [String]
17
+ required :object_key, String, api_name: :objectKey
18
+
19
+ # @!attribute request_id
20
+ # Unique identifier for this upload request
21
+ #
22
+ # @return [String]
23
+ required :request_id, String, api_name: :requestId
24
+
25
+ # @!attribute status
26
+ # Request is waiting for file upload
27
+ #
28
+ # @return [Symbol, SafetyKit::Models::DataCreateUploadURLResponse::Status]
29
+ required :status, enum: -> { SafetyKit::Models::DataCreateUploadURLResponse::Status }
30
+
31
+ # @!attribute upload_url
32
+ # Pre-signed upload URL for PUT-ing JSONL content
33
+ # (`Content-Type: application/json`)
34
+ #
35
+ # @return [String]
36
+ required :upload_url, String
37
+
38
+ # @!method initialize(expires_at:, object_key:, request_id:, status:, upload_url:)
39
+ # Some parameter documentations has been truncated, see
40
+ # {SafetyKit::Models::DataCreateUploadURLResponse} for more details.
41
+ #
42
+ # Response containing an upload URL and metadata for large-batch file processing.
43
+ # Use `PUT {upload_url}` to upload JSONL (one JSON object per line). `upload_url`
44
+ # expires in 12 hours.
45
+ #
46
+ # @param expires_at [String] ISO timestamp when upload_url expires (12 hours after issuance)
47
+ #
48
+ # @param object_key [String] S3 object key where uploaded JSONL will be processed from
49
+ #
50
+ # @param request_id [String] Unique identifier for this upload request
51
+ #
52
+ # @param status [Symbol, SafetyKit::Models::DataCreateUploadURLResponse::Status] Request is waiting for file upload
53
+ #
54
+ # @param upload_url [String] Pre-signed upload URL for PUT-ing JSONL content (`Content-Type: application/json
55
+
56
+ # Request is waiting for file upload
57
+ #
58
+ # @see SafetyKit::Models::DataCreateUploadURLResponse#status
59
+ module Status
60
+ extend SafetyKit::Internal::Type::Enum
61
+
62
+ PENDING_UPLOAD = :pending_upload
63
+
64
+ # @!method self.values
65
+ # @return [Array<Symbol>]
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Data#get_download_url
6
+ class DataGetDownloadURLParams < SafetyKit::Internal::Type::BaseModel
7
+ extend SafetyKit::Internal::Type::RequestParameters::Converter
8
+ include SafetyKit::Internal::Type::RequestParameters
9
+
10
+ # @!attribute namespace
11
+ # The namespace the data was ingested into
12
+ #
13
+ # @return [String]
14
+ required :namespace, String
15
+
16
+ # @!attribute request_id
17
+ # The request ID returned when the ingest request was created
18
+ #
19
+ # @return [String]
20
+ required :request_id, String
21
+
22
+ # @!method initialize(namespace:, request_id:, request_options: {})
23
+ # @param namespace [String] The namespace the data was ingested into
24
+ #
25
+ # @param request_id [String] The request ID returned when the ingest request was created
26
+ #
27
+ # @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}]
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Data#get_download_url
6
+ class DataGetDownloadURLResponse < SafetyKit::Internal::Type::BaseModel
7
+ # @!attribute data_count
8
+ # Number of processed objects in the request. Null until the request has
9
+ # succeeded.
10
+ #
11
+ # @return [Integer, nil]
12
+ required :data_count, Integer, nil?: true
13
+
14
+ # @!attribute data_expires_at
15
+ # ISO timestamp when `data_url` expires. Null until the request has succeeded.
16
+ #
17
+ # @return [String, nil]
18
+ required :data_expires_at, String, nil?: true
19
+
20
+ # @!attribute data_url
21
+ # Temporary S3 URL for the full request result. Null until the request has
22
+ # succeeded.
23
+ #
24
+ # @return [String, nil]
25
+ required :data_url, String, nil?: true
26
+
27
+ # @!attribute namespace
28
+ #
29
+ # @return [String]
30
+ required :namespace, String
31
+
32
+ # @!attribute request_id
33
+ #
34
+ # @return [String]
35
+ required :request_id, String
36
+
37
+ # @!attribute status
38
+ # Current processing status of the request
39
+ #
40
+ # @return [Symbol, SafetyKit::Models::DataGetDownloadURLResponse::Status]
41
+ required :status, enum: -> { SafetyKit::Models::DataGetDownloadURLResponse::Status }
42
+
43
+ # @!method initialize(data_count:, data_expires_at:, data_url:, namespace:, request_id:, status:)
44
+ # Some parameter documentations has been truncated, see
45
+ # {SafetyKit::Models::DataGetDownloadURLResponse} for more details.
46
+ #
47
+ # Response containing request status and a temporary S3 URL for the full request
48
+ # result. The shape is stable across all request sizes; before processing
49
+ # completes, the download fields are null.
50
+ #
51
+ # @param data_count [Integer, nil] Number of processed objects in the request. Null until the request has succeeded
52
+ #
53
+ # @param data_expires_at [String, nil] ISO timestamp when `data_url` expires. Null until the request has succeeded.
54
+ #
55
+ # @param data_url [String, nil] Temporary S3 URL for the full request result. Null until the request has succeed
56
+ #
57
+ # @param namespace [String]
58
+ #
59
+ # @param request_id [String]
60
+ #
61
+ # @param status [Symbol, SafetyKit::Models::DataGetDownloadURLResponse::Status] Current processing status of the request
62
+
63
+ # Current processing status of the request
64
+ #
65
+ # @see SafetyKit::Models::DataGetDownloadURLResponse#status
66
+ module Status
67
+ extend SafetyKit::Internal::Type::Enum
68
+
69
+ QUEUED = :queued
70
+ UPLOADING = :uploading
71
+ INGESTING = :ingesting
72
+ SUCCEEDED = :succeeded
73
+ FAILED = :failed
74
+
75
+ # @!method self.values
76
+ # @return [Array<Symbol>]
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Data#get_status
6
+ class DataGetStatusParams < SafetyKit::Internal::Type::BaseModel
7
+ extend SafetyKit::Internal::Type::RequestParameters::Converter
8
+ include SafetyKit::Internal::Type::RequestParameters
9
+
10
+ # @!attribute namespace
11
+ # The namespace the data was ingested into
12
+ #
13
+ # @return [String]
14
+ required :namespace, String
15
+
16
+ # @!attribute request_id
17
+ # The request ID returned when the ingest request was created
18
+ #
19
+ # @return [String]
20
+ required :request_id, String
21
+
22
+ # @!method initialize(namespace:, request_id:, request_options: {})
23
+ # @param namespace [String] The namespace the data was ingested into
24
+ #
25
+ # @param request_id [String] The request ID returned when the ingest request was created
26
+ #
27
+ # @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}]
28
+ end
29
+ end
30
+ end