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,128 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Data#get_status
6
+ class DataGetStatusResponse < SafetyKit::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [Array<SafetyKit::Models::DataGetStatusResponse::Data>]
10
+ required :data, -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Models::DataGetStatusResponse::Data] }
11
+
12
+ # @!attribute namespace
13
+ #
14
+ # @return [String]
15
+ required :namespace, String
16
+
17
+ # @!attribute request_id
18
+ #
19
+ # @return [String]
20
+ required :request_id, String
21
+
22
+ # @!attribute status
23
+ # Current processing status of the request
24
+ #
25
+ # @return [Symbol, SafetyKit::Models::DataGetStatusResponse::Status]
26
+ required :status, enum: -> { SafetyKit::Models::DataGetStatusResponse::Status }
27
+
28
+ # @!method initialize(data:, namespace:, request_id:, status:)
29
+ # Response containing request status and processed output data. Before processing
30
+ # completes, `data` is an empty array. If the processed output exceeds the 5 MiB
31
+ # inline response limit, this endpoint returns an error instructing you to use the
32
+ # results download URL endpoint instead.
33
+ #
34
+ # @param data [Array<SafetyKit::Models::DataGetStatusResponse::Data>]
35
+ #
36
+ # @param namespace [String]
37
+ #
38
+ # @param request_id [String]
39
+ #
40
+ # @param status [Symbol, SafetyKit::Models::DataGetStatusResponse::Status] Current processing status of the request
41
+
42
+ class Data < SafetyKit::Internal::Type::BaseModel
43
+ # @!attribute id
44
+ # Object identifier from the ingested data
45
+ #
46
+ # @return [String]
47
+ required :id, String
48
+
49
+ # @!attribute output
50
+ #
51
+ # @return [SafetyKit::Models::DataGetStatusResponse::Data::Output, nil]
52
+ required :output, -> { SafetyKit::Models::DataGetStatusResponse::Data::Output }, nil?: true
53
+
54
+ # @!attribute url
55
+ #
56
+ # @return [String]
57
+ required :url, String
58
+
59
+ # @!attribute metadata
60
+ #
61
+ # @return [Hash{Symbol=>Object, nil}, nil]
62
+ optional :metadata, SafetyKit::Internal::Type::HashOf[SafetyKit::Internal::Type::Unknown, nil?: true]
63
+
64
+ # @!method initialize(id:, output:, url:, metadata: nil)
65
+ # Per-object processing output for the request
66
+ #
67
+ # @param id [String] Object identifier from the ingested data
68
+ #
69
+ # @param output [SafetyKit::Models::DataGetStatusResponse::Data::Output, nil]
70
+ #
71
+ # @param url [String]
72
+ #
73
+ # @param metadata [Hash{Symbol=>Object, nil}]
74
+
75
+ # @see SafetyKit::Models::DataGetStatusResponse::Data#output
76
+ class Output < SafetyKit::Internal::Type::BaseModel
77
+ # @!attribute actions
78
+ #
79
+ # @return [Array<Object, nil>]
80
+ required :actions,
81
+ SafetyKit::Internal::Type::ArrayOf[SafetyKit::Internal::Type::Unknown, nil?: true]
82
+
83
+ # @!attribute fields
84
+ #
85
+ # @return [Hash{Symbol=>Object, nil}]
86
+ required :fields, SafetyKit::Internal::Type::HashOf[SafetyKit::Internal::Type::Unknown, nil?: true]
87
+
88
+ # @!attribute labels
89
+ #
90
+ # @return [Array<SafetyKit::Models::DataGetStatusResponse::Data::Output::Label>]
91
+ required :labels,
92
+ -> { SafetyKit::Internal::Type::ArrayOf[SafetyKit::Models::DataGetStatusResponse::Data::Output::Label] }
93
+
94
+ # @!method initialize(actions:, fields:, labels:)
95
+ # @param actions [Array<Object, nil>]
96
+ # @param fields [Hash{Symbol=>Object, nil}]
97
+ # @param labels [Array<SafetyKit::Models::DataGetStatusResponse::Data::Output::Label>]
98
+
99
+ class Label < SafetyKit::Internal::Type::BaseModel
100
+ # @!attribute label
101
+ #
102
+ # @return [String]
103
+ required :label, String
104
+
105
+ # @!method initialize(label:)
106
+ # @param label [String]
107
+ end
108
+ end
109
+ end
110
+
111
+ # Current processing status of the request
112
+ #
113
+ # @see SafetyKit::Models::DataGetStatusResponse#status
114
+ module Status
115
+ extend SafetyKit::Internal::Type::Enum
116
+
117
+ QUEUED = :queued
118
+ UPLOADING = :uploading
119
+ INGESTING = :ingesting
120
+ SUCCEEDED = :succeeded
121
+ FAILED = :failed
122
+
123
+ # @!method self.values
124
+ # @return [Array<Symbol>]
125
+ end
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ class DataObject < SafetyKit::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ # Unique identifier for this data object. This should be a meaningful identifier
8
+ # in the customer's system, as it is the main way to search for specific items
9
+ # between systems.
10
+ #
11
+ # @return [String]
12
+ required :id, String
13
+
14
+ # @!method initialize(id:)
15
+ # Some parameter documentations has been truncated, see
16
+ # {SafetyKit::Models::DataObject} for more details.
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
+ #
21
+ # @param id [String] Unique identifier for this data object.
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,176 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Data#update_settings
6
+ class DataUpdateSettingsParams < 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::DataUpdateSettingsParams::Schema}]
23
+ required :schema, -> { SafetyKit::Internal::Type::HashOf[SafetyKit::DataUpdateSettingsParams::Schema] }
24
+
25
+ # @!method initialize(namespace:, schema:, request_options: {})
26
+ # Some parameter documentations has been truncated, see
27
+ # {SafetyKit::Models::DataUpdateSettingsParams} for more details.
28
+ #
29
+ # @param namespace [String] The namespace to ingest data into
30
+ #
31
+ # @param schema [Hash{Symbol=>SafetyKit::Models::DataUpdateSettingsParams::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::DataUpdateSettingsParams::Schema::ContentType, nil]
49
+ optional :content_type, enum: -> { SafetyKit::DataUpdateSettingsParams::Schema::ContentType }
50
+
51
+ # @!attribute display_hint
52
+ # Display hint for UI rendering of this field
53
+ #
54
+ # @return [SafetyKit::Models::DataUpdateSettingsParams::Schema::DisplayHint, nil]
55
+ optional :display_hint, -> { SafetyKit::DataUpdateSettingsParams::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::DataUpdateSettingsParams::Schema::IngestAs, nil]
69
+ optional :ingest_as, enum: -> { SafetyKit::DataUpdateSettingsParams::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::DataUpdateSettingsParams::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::DataUpdateSettingsParams::Schema::ContentType] The type of content (image_url, video_url, audio_url, website_url, datetime, met
80
+ #
81
+ # @param display_hint [SafetyKit::Models::DataUpdateSettingsParams::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::DataUpdateSettingsParams::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::DataUpdateSettingsParams::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::DataUpdateSettingsParams::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::DataUpdateSettingsParams::Schema::DisplayHint::Type, nil]
125
+ optional :type, enum: -> { SafetyKit::DataUpdateSettingsParams::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::DataUpdateSettingsParams::Schema::DisplayHint::Type] The display hint type
135
+
136
+ # The display hint type
137
+ #
138
+ # @see SafetyKit::Models::DataUpdateSettingsParams::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::DataUpdateSettingsParams::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,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Data#update_settings
6
+ class DataUpdateSettingsResponse < SafetyKit::Internal::Type::BaseModel
7
+ # @!attribute namespace
8
+ #
9
+ # @return [String]
10
+ required :namespace, String
11
+
12
+ # @!attribute status
13
+ #
14
+ # @return [Symbol, SafetyKit::Models::DataUpdateSettingsResponse::Status]
15
+ required :status, enum: -> { SafetyKit::Models::DataUpdateSettingsResponse::Status }
16
+
17
+ # @!method initialize(namespace:, status:)
18
+ # Namespace configuration was stored.
19
+ #
20
+ # @param namespace [String]
21
+ # @param status [Symbol, SafetyKit::Models::DataUpdateSettingsResponse::Status]
22
+
23
+ # @see SafetyKit::Models::DataUpdateSettingsResponse#status
24
+ module Status
25
+ extend SafetyKit::Internal::Type::Enum
26
+
27
+ UPDATED = :updated
28
+
29
+ # @!method self.values
30
+ # @return [Array<Symbol>]
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Streams#add_frame
6
+ class StreamAddFrameParams < 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 stream data into
12
+ #
13
+ # @return [String]
14
+ required :namespace, String
15
+
16
+ # @!attribute image_data_uri
17
+ # A data URI containing a base64-encoded frame image. Only image/jpeg, image/png,
18
+ # and image/webp are accepted. The decoded bytes must match the declared mime
19
+ # type, decode as a valid image, stay within 5 MB, and stay within 4096x4096 /
20
+ # 16,000,000 total pixels.
21
+ #
22
+ # @return [String]
23
+ required :image_data_uri, String
24
+
25
+ # @!attribute stream_id
26
+ #
27
+ # @return [String]
28
+ required :stream_id, String
29
+
30
+ # @!attribute timestamp
31
+ #
32
+ # @return [Integer]
33
+ required :timestamp, Integer
34
+
35
+ # @!method initialize(namespace:, image_data_uri:, stream_id:, timestamp:, request_options: {})
36
+ # Some parameter documentations has been truncated, see
37
+ # {SafetyKit::Models::StreamAddFrameParams} for more details.
38
+ #
39
+ # @param namespace [String] The namespace to ingest stream data into
40
+ #
41
+ # @param image_data_uri [String] A data URI containing a base64-encoded frame image. Only image/jpeg, image/png,
42
+ #
43
+ # @param stream_id [String]
44
+ #
45
+ # @param timestamp [Integer]
46
+ #
47
+ # @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}]
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Streams#add_frame
6
+ class StreamAddFrameResponse < SafetyKit::Internal::Type::BaseModel
7
+ # @!attribute request_id
8
+ #
9
+ # @return [String]
10
+ required :request_id, String, api_name: :requestId
11
+
12
+ # @!attribute status
13
+ #
14
+ # @return [Symbol, SafetyKit::Models::StreamAddFrameResponse::Status]
15
+ required :status, enum: -> { SafetyKit::Models::StreamAddFrameResponse::Status }
16
+
17
+ # @!method initialize(request_id:, status:)
18
+ # Stream ingestion request accepted for asynchronous processing.
19
+ #
20
+ # @param request_id [String]
21
+ # @param status [Symbol, SafetyKit::Models::StreamAddFrameResponse::Status]
22
+
23
+ # @see SafetyKit::Models::StreamAddFrameResponse#status
24
+ module Status
25
+ extend SafetyKit::Internal::Type::Enum
26
+
27
+ ACCEPTED = :accepted
28
+
29
+ # @!method self.values
30
+ # @return [Array<Symbol>]
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Streams#add
6
+ class StreamAddParams < 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 stream data into
12
+ #
13
+ # @return [String]
14
+ required :namespace, String
15
+
16
+ # @!attribute id
17
+ #
18
+ # @return [String]
19
+ required :id, String
20
+
21
+ # @!attribute stream_url
22
+ #
23
+ # @return [String]
24
+ required :stream_url, String
25
+
26
+ # @!method initialize(namespace:, id:, stream_url:, request_options: {})
27
+ # @param namespace [String] The namespace to ingest stream data into
28
+ #
29
+ # @param id [String]
30
+ #
31
+ # @param stream_url [String]
32
+ #
33
+ # @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}]
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Streams#add
6
+ class StreamAddResponse < SafetyKit::Internal::Type::BaseModel
7
+ # @!attribute request_id
8
+ #
9
+ # @return [String]
10
+ required :request_id, String, api_name: :requestId
11
+
12
+ # @!attribute status
13
+ #
14
+ # @return [Symbol, SafetyKit::Models::StreamAddResponse::Status]
15
+ required :status, enum: -> { SafetyKit::Models::StreamAddResponse::Status }
16
+
17
+ # @!method initialize(request_id:, status:)
18
+ # Stream ingestion request accepted for asynchronous processing.
19
+ #
20
+ # @param request_id [String]
21
+ # @param status [Symbol, SafetyKit::Models::StreamAddResponse::Status]
22
+
23
+ # @see SafetyKit::Models::StreamAddResponse#status
24
+ module Status
25
+ extend SafetyKit::Internal::Type::Enum
26
+
27
+ ACCEPTED = :accepted
28
+
29
+ # @!method self.values
30
+ # @return [Array<Symbol>]
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Streams#add_transcript
6
+ class StreamAddTranscriptParams < 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 stream data into
12
+ #
13
+ # @return [String]
14
+ required :namespace, String
15
+
16
+ # @!attribute stream_id
17
+ #
18
+ # @return [String]
19
+ required :stream_id, String
20
+
21
+ # @!attribute text
22
+ #
23
+ # @return [String]
24
+ required :text, String
25
+
26
+ # @!attribute timestamp
27
+ #
28
+ # @return [Integer]
29
+ required :timestamp, Integer
30
+
31
+ # @!method initialize(namespace:, stream_id:, text:, timestamp:, request_options: {})
32
+ # @param namespace [String] The namespace to ingest stream data into
33
+ #
34
+ # @param stream_id [String]
35
+ #
36
+ # @param text [String]
37
+ #
38
+ # @param timestamp [Integer]
39
+ #
40
+ # @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}]
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Streams#add_transcript
6
+ class StreamAddTranscriptResponse < SafetyKit::Internal::Type::BaseModel
7
+ # @!attribute request_id
8
+ #
9
+ # @return [String]
10
+ required :request_id, String, api_name: :requestId
11
+
12
+ # @!attribute status
13
+ #
14
+ # @return [Symbol, SafetyKit::Models::StreamAddTranscriptResponse::Status]
15
+ required :status, enum: -> { SafetyKit::Models::StreamAddTranscriptResponse::Status }
16
+
17
+ # @!method initialize(request_id:, status:)
18
+ # Stream ingestion request accepted for asynchronous processing.
19
+ #
20
+ # @param request_id [String]
21
+ # @param status [Symbol, SafetyKit::Models::StreamAddTranscriptResponse::Status]
22
+
23
+ # @see SafetyKit::Models::StreamAddTranscriptResponse#status
24
+ module Status
25
+ extend SafetyKit::Internal::Type::Enum
26
+
27
+ ACCEPTED = :accepted
28
+
29
+ # @!method self.values
30
+ # @return [Array<Symbol>]
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ [SafetyKit::Internal::Type::BaseModel, *SafetyKit::Internal::Type::BaseModel.subclasses].each do |cls|
5
+ cls.define_sorbet_constant!(:OrHash) { T.type_alias { T.any(cls, SafetyKit::Internal::AnyHash) } }
6
+ end
7
+
8
+ SafetyKit::Internal::Util.walk_namespaces(SafetyKit::Models).each do |mod|
9
+ case mod
10
+ in SafetyKit::Internal::Type::Enum | SafetyKit::Internal::Type::Union
11
+ mod.constants.each do |name|
12
+ case mod.const_get(name)
13
+ in true | false
14
+ mod.define_sorbet_constant!(:TaggedBoolean) { T.type_alias { T::Boolean } }
15
+ mod.define_sorbet_constant!(:OrBoolean) { T.type_alias { T::Boolean } }
16
+ in Integer
17
+ mod.define_sorbet_constant!(:TaggedInteger) { T.type_alias { Integer } }
18
+ mod.define_sorbet_constant!(:OrInteger) { T.type_alias { Integer } }
19
+ in Float
20
+ mod.define_sorbet_constant!(:TaggedFloat) { T.type_alias { Float } }
21
+ mod.define_sorbet_constant!(:OrFloat) { T.type_alias { Float } }
22
+ in Symbol
23
+ mod.define_sorbet_constant!(:TaggedSymbol) { T.type_alias { Symbol } }
24
+ mod.define_sorbet_constant!(:OrSymbol) { T.type_alias { T.any(Symbol, String) } }
25
+ else
26
+ end
27
+ end
28
+ else
29
+ end
30
+ end
31
+
32
+ SafetyKit::Internal::Util.walk_namespaces(SafetyKit::Models)
33
+ .lazy
34
+ .grep(SafetyKit::Internal::Type::Union)
35
+ .each do |mod|
36
+ const = :Variants
37
+ next if mod.sorbet_constant_defined?(const)
38
+
39
+ mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } }
40
+ end
41
+
42
+ AgentDecisionCreateAgentDecisionParams = SafetyKit::Models::AgentDecisionCreateAgentDecisionParams
43
+
44
+ Beta = SafetyKit::Models::Beta
45
+
46
+ ClientSessionCreateSessionParams = SafetyKit::Models::ClientSessionCreateSessionParams
47
+
48
+ DataAddParams = SafetyKit::Models::DataAddParams
49
+
50
+ DataCreateUploadURLParams = SafetyKit::Models::DataCreateUploadURLParams
51
+
52
+ DataGetDownloadURLParams = SafetyKit::Models::DataGetDownloadURLParams
53
+
54
+ DataGetStatusParams = SafetyKit::Models::DataGetStatusParams
55
+
56
+ DataObject = SafetyKit::Models::DataObject
57
+
58
+ DataUpdateSettingsParams = SafetyKit::Models::DataUpdateSettingsParams
59
+
60
+ StreamAddFrameParams = SafetyKit::Models::StreamAddFrameParams
61
+
62
+ StreamAddParams = SafetyKit::Models::StreamAddParams
63
+
64
+ StreamAddTranscriptParams = SafetyKit::Models::StreamAddTranscriptParams
65
+ end