pangea-sdk 0.0.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 (63) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/README.md +1 -0
  4. data/lib/pangea/client.rb +51 -0
  5. data/lib/pangea/errors.rb +113 -0
  6. data/lib/pangea/internal/transport/base_client.rb +346 -0
  7. data/lib/pangea/internal/transport/pooled_net_requester.rb +191 -0
  8. data/lib/pangea/internal/type/array_of.rb +119 -0
  9. data/lib/pangea/internal/type/base_model.rb +289 -0
  10. data/lib/pangea/internal/type/boolean.rb +44 -0
  11. data/lib/pangea/internal/type/converter.rb +228 -0
  12. data/lib/pangea/internal/type/hash_of.rb +166 -0
  13. data/lib/pangea/internal/type/request_parameters.rb +38 -0
  14. data/lib/pangea/internal/type/union.rb +66 -0
  15. data/lib/pangea/internal/type/unknown.rb +50 -0
  16. data/lib/pangea/internal/util.rb +429 -0
  17. data/lib/pangea/internal.rb +12 -0
  18. data/lib/pangea/models/ai_guard/classification_result.rb +33 -0
  19. data/lib/pangea/models/ai_guard/hardening_result.rb +27 -0
  20. data/lib/pangea/models/ai_guard/language_result.rb +20 -0
  21. data/lib/pangea/models/ai_guard/malicious_entity_result.rb +42 -0
  22. data/lib/pangea/models/ai_guard/prompt_injection_result.rb +33 -0
  23. data/lib/pangea/models/ai_guard/redact_entity_result.rb +43 -0
  24. data/lib/pangea/models/ai_guard/single_entity_result.rb +21 -0
  25. data/lib/pangea/models/ai_guard/text_guard_message_param.rb +19 -0
  26. data/lib/pangea/models/ai_guard/text_guard_params.rb +24 -0
  27. data/lib/pangea/models/ai_guard/text_guard_result.rb +308 -0
  28. data/lib/pangea/models/ai_guard/topic_result.rb +33 -0
  29. data/lib/pangea/models/pangea_response.rb +67 -0
  30. data/lib/pangea/request_options.rb +35 -0
  31. data/lib/pangea/services/ai_guard.rb +62 -0
  32. data/lib/pangea/version.rb +5 -0
  33. data/lib/pangea.rb +45 -0
  34. data/manifest.yaml +6 -0
  35. data/rbi/lib/pangea/client.rbi +25 -0
  36. data/rbi/lib/pangea/internal/internal.rbi +28 -0
  37. data/rbi/lib/pangea/internal/transport/base_client.rbi +18 -0
  38. data/rbi/lib/pangea/internal/type/array_of.rbi +66 -0
  39. data/rbi/lib/pangea/internal/type/base_model.rbi +33 -0
  40. data/rbi/lib/pangea/internal/type/boolean.rbi +46 -0
  41. data/rbi/lib/pangea/internal/type/converter.rbi +38 -0
  42. data/rbi/lib/pangea/internal/type/request_parameters.rbi +20 -0
  43. data/rbi/lib/pangea/internal/type/union.rbi +21 -0
  44. data/rbi/lib/pangea/internal/type/unknown.rbi +20 -0
  45. data/rbi/lib/pangea/internal.rbi +7 -0
  46. data/rbi/lib/pangea/models/ai_guard/text_guard_message_param.rbi +15 -0
  47. data/rbi/lib/pangea/models/ai_guard/text_guard_result.rbi +13 -0
  48. data/rbi/lib/pangea/models/pangea_response.rbi +31 -0
  49. data/rbi/lib/pangea/request_options.rbi +17 -0
  50. data/rbi/lib/pangea/services/ai_guard.rbi +28 -0
  51. data/rbi/lib/pangea/version.rbi +5 -0
  52. data/sig/pangea/client.rbs +12 -0
  53. data/sig/pangea/internal/transport/base_client.rbs +14 -0
  54. data/sig/pangea/internal/type/base_model.rbs +12 -0
  55. data/sig/pangea/internal/type/boolean.rbs +10 -0
  56. data/sig/pangea/internal/type/converter.rbs +9 -0
  57. data/sig/pangea/internal/type/request_parameters.rbs +15 -0
  58. data/sig/pangea/models/pangea_response.rbs +12 -0
  59. data/sig/pangea/models/text_guard_result.rbs +19 -0
  60. data/sig/pangea/request_options.rbs +34 -0
  61. data/sig/pangea/services/ai_guard.rbs +12 -0
  62. data/sig/pangea/version.rbs +3 -0
  63. metadata +126 -0
@@ -0,0 +1,66 @@
1
+ # typed: strong
2
+
3
+ module Pangea
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # Array of items of a given type.
9
+ class ArrayOf
10
+ include Pangea::Internal::Type::Converter
11
+
12
+ abstract!
13
+
14
+ Elem = type_member(:out)
15
+
16
+ sig do
17
+ params(
18
+ type_info: T.any(
19
+ T::Hash[Symbol, T.anything],
20
+ T.proc.returns(Pangea::Internal::Type::Converter::Input),
21
+ Pangea::Internal::Type::Converter::Input
22
+ ),
23
+ spec: T::Hash[Symbol, T.anything]
24
+ )
25
+ .returns(T.attached_class)
26
+ end
27
+ def self.[](type_info, spec = {}); end
28
+
29
+ sig { params(other: T.anything).returns(T::Boolean) }
30
+ def ===(other); end
31
+
32
+ sig { params(other: T.anything).returns(T::Boolean) }
33
+ def ==(other); end
34
+
35
+ sig { returns(Integer) }
36
+ def hash; end
37
+
38
+ # @api private
39
+ sig { returns(Elem) }
40
+ protected def item_type; end
41
+
42
+ # @api private
43
+ sig { returns(T::Boolean) }
44
+ protected def nilable?; end
45
+
46
+ # @api private
47
+ sig do
48
+ params(
49
+ type_info: T.any(
50
+ T::Hash[Symbol, T.anything],
51
+ T.proc.returns(Pangea::Internal::Type::Converter::Input),
52
+ Pangea::Internal::Type::Converter::Input
53
+ ),
54
+ spec: T::Hash[Symbol, T.anything]
55
+ )
56
+ .void
57
+ end
58
+ def initialize(type_info, spec = {}); end
59
+
60
+ # @api private
61
+ sig { params(depth: Integer).returns(String) }
62
+ def inspect(depth: 0); end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,33 @@
1
+ # typed: strong
2
+
3
+ module Pangea
4
+ module Internal
5
+ module Type
6
+ class BaseModel
7
+ abstract!
8
+
9
+ KnownFieldShape = T.type_alias do
10
+ {mode: T.nilable(Symbol), required: T::Boolean, nilable: T::Boolean}
11
+ end
12
+
13
+ sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.anything]) }
14
+ def deconstruct_keys(keys); end
15
+
16
+ class << self
17
+ sig do
18
+ returns(
19
+ T::Hash[
20
+ Symbol,
21
+ T.all(
22
+ Pangea::Internal::Type::BaseModel::KnownFieldShape,
23
+ {type_fn: T.proc.returns(Pangea::Internal::Type::Converter::Input)}
24
+ )
25
+ ]
26
+ )
27
+ end
28
+ def known_fields; end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,46 @@
1
+ # typed: strong
2
+
3
+ module Pangea
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ class Boolean
8
+ extend Pangea::Internal::Type::Converter
9
+
10
+ abstract!
11
+
12
+ sig { params(other: T.anything).returns(T::Boolean) }
13
+ def self.===(other); end
14
+
15
+ sig { params(other: T.anything).returns(T::Boolean) }
16
+ def self.==(other); end
17
+
18
+ class << self
19
+ # @api private
20
+ sig do
21
+ override
22
+ .params(value: T.any(
23
+ T::Boolean,
24
+ T.anything
25
+ ),
26
+ state: Pangea::Internal::Type::Converter::CoerceState)
27
+ .returns(T.any(T::Boolean, T.anything))
28
+ end
29
+ def coerce(value, state:); end
30
+
31
+ # @api private
32
+ sig do
33
+ override
34
+ .params(value: T.any(
35
+ T::Boolean,
36
+ T.anything
37
+ ),
38
+ state: Pangea::Internal::Type::Converter::DumpState)
39
+ .returns(T.any(T::Boolean, T.anything))
40
+ end
41
+ def dump(value, state:); end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,38 @@
1
+ # typed: strong
2
+
3
+ module Pangea
4
+ module Internal
5
+ module Type
6
+ module Converter
7
+ Input = T.type_alias { T.any(Pangea::Internal::Type::Converter, T::Class[T.anything]) }
8
+
9
+ CoerceState =
10
+ T.type_alias do
11
+ {
12
+ strictness: T.any(T::Boolean, Symbol),
13
+ exactness: {yes: Integer, no: Integer, maybe: Integer},
14
+ branched: Integer
15
+ }
16
+ end
17
+
18
+ DumpState = T.type_alias { {can_retry: T::Boolean} }
19
+
20
+ # @api private
21
+ sig do
22
+ overridable
23
+ .params(value: T.anything, state: Pangea::Internal::Type::Converter::CoerceState)
24
+ .returns(T.anything)
25
+ end
26
+ def coerce(value, state:); end
27
+
28
+ # @api private
29
+ sig do
30
+ overridable
31
+ .params(value: T.anything, state: Pangea::Internal::Type::Converter::DumpState)
32
+ .returns(T.anything)
33
+ end
34
+ def dump(value, state:); end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,20 @@
1
+ # typed: strong
2
+
3
+ module Pangea
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ module RequestParameters
8
+ sig { returns(T.any(Pangea::RequestOptions, T::Hash[Symbol, T.anything])) }
9
+ attr_accessor :request_options
10
+
11
+ # @api private
12
+ module Converter
13
+ # @api private
14
+ sig { params(params: T.anything).returns([T.anything, T::Hash[Symbol, T.anything]]) }
15
+ def dump_request(params); end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,21 @@
1
+ # typed: strong
2
+
3
+ module Pangea
4
+ module Internal
5
+ module Type
6
+ module Union
7
+ include Pangea::Internal::Type::Converter
8
+
9
+ # @api private
10
+ sig do
11
+ params(
12
+ key: T.any(Symbol, T::Hash[Symbol, T.anything], T.proc.returns(T.anything), T.anything),
13
+ spec: T.any(T::Hash[Symbol, T.anything], T.proc.returns(T.anything), T.anything)
14
+ )
15
+ .void
16
+ end
17
+ private def variant(key, spec = nil); end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,20 @@
1
+ # typed: strong
2
+
3
+ module Pangea
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ class Unknown
8
+ extend Pangea::Internal::Type::Converter
9
+
10
+ abstract!
11
+
12
+ sig { params(other: T.anything).returns(T::Boolean) }
13
+ def self.===(other); end
14
+
15
+ sig { params(other: T.anything).returns(T::Boolean) }
16
+ def self.==(other); end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,7 @@
1
+ # typed: strong
2
+
3
+ module Pangea
4
+ module Internal
5
+ OMIT = T.let(Object.new.freeze, T.anything)
6
+ end
7
+ end
@@ -0,0 +1,15 @@
1
+ # typed: strong
2
+
3
+ module Pangea
4
+ module Models
5
+ module AiGuard
6
+ class TextGuardMessageParam < Pangea::Internal::Type::BaseModel
7
+ sig { returns(T.nilable(String)) }
8
+ attr_reader :role
9
+
10
+ sig { returns(T.nilable(String)) }
11
+ attr_reader :content
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # typed: strong
2
+
3
+ module Pangea
4
+ module Models
5
+ module AiGuard
6
+ class TextGuardResult < Pangea::Internal::Type::BaseModel
7
+ # Updated prompt text, if applicable.
8
+ sig { returns(T.nilable(String)) }
9
+ attr_reader :prompt_text
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,31 @@
1
+ # typed: strong
2
+
3
+ module Pangea
4
+ module Models
5
+ class PangeaResponse < Pangea::Internal::Type::BaseModel
6
+ Result = type_member(:out)
7
+
8
+ # @api private
9
+ sig { returns(Result) }
10
+ protected def item_type; end
11
+
12
+ # @api private
13
+ sig { returns(T::Boolean) }
14
+ protected def nilable?; end
15
+
16
+ # @api private
17
+ sig do
18
+ params(
19
+ type_info: T.any(
20
+ T::Hash[Symbol, T.anything],
21
+ T.proc.returns(Pangea::Internal::Type::Converter::Input),
22
+ Pangea::Internal::Type::Converter::Input
23
+ ),
24
+ spec: T::Hash[Symbol, T.anything]
25
+ )
26
+ .void
27
+ end
28
+ def initialize(type_info, spec = {}); end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,17 @@
1
+ # typed: strong
2
+
3
+ module Pangea
4
+ class RequestOptions < Pangea::Internal::Type::BaseModel
5
+ # Maximum number of retries to attempt after a failed initial request.
6
+ sig { returns(T.nilable(Integer)) }
7
+ attr_accessor :max_retries
8
+
9
+ # Request timeout in seconds.
10
+ sig { returns(T.nilable(Float)) }
11
+ attr_accessor :timeout
12
+
13
+ # Returns a new instance of RequestOptions.
14
+ sig { params(values: T::Hash[Symbol, T.anything]).returns(T.attached_class) }
15
+ def self.new(values = {}); end
16
+ end
17
+ end
@@ -0,0 +1,28 @@
1
+ # typed: strong
2
+
3
+ module Pangea
4
+ module Services
5
+ class AiGuard
6
+ sig do
7
+ params(
8
+ text: T.nilable(String),
9
+ messages: T.nilable(T::Array[Pangea::Models::AiGuard::TextGuardMessageParam]),
10
+ recipe: T.nilable(String),
11
+ debug: T.nilable(T::Boolean),
12
+ request_options: T.nilable(T.any(Pangea::RequestOptions, T::Hash[Symbol, T.anything]))
13
+ )
14
+ .returns(Pangea::Models::PangeaResponse[Pangea::Models::AiGuard::TextGuardResult])
15
+ end
16
+ def guard_text(
17
+ text:,
18
+ messages:,
19
+ recipe:,
20
+ debug:,
21
+ request_options: {}
22
+ ); end
23
+ # @api private
24
+ sig { params(api_token: T.nilable(String), base_url: T.nilable(String), domain: T.nilable(String)).returns(T.attached_class) }
25
+ def self.new(api_token: nil, base_url: nil, domain: nil); end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,5 @@
1
+ # typed: strong
2
+
3
+ module Pangea
4
+ VERSION = T.let(T.unsafe(nil), String)
5
+ end
@@ -0,0 +1,12 @@
1
+ module Pangea
2
+ class Client < Pangea::Internal::Transport::BaseClient
3
+ attr_reader api_token: String
4
+
5
+ private def auth_headers: -> ::Hash[String, String]
6
+
7
+ def initialize: (
8
+ ?api_token: String?,
9
+ ?base_url: String?
10
+ ) -> void
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ module Pangea
2
+ module Internal
3
+ module Transport
4
+ class BaseClient
5
+ def initialize: (
6
+ base_url: String,
7
+ ?headers: ::Hash[String, (String
8
+ | Integer
9
+ | ::Array[(String | Integer)?])?],
10
+ ) -> void
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ module Pangea
2
+ module Internal
3
+ module Type
4
+ class BaseModel
5
+ extend Pangea::Internal::Type::Converter
6
+
7
+ type known_field =
8
+ { mode: (:coerce | :dump)?, required: bool, nilable: bool }
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,10 @@
1
+ module Pangea
2
+ module Internal
3
+ module Type
4
+ # @api private
5
+ class Boolean
6
+ extend Pangea::Internal::Type::Converter
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ module Pangea
2
+ module Internal
3
+ module Type
4
+ module Converter
5
+ type input = Pangea::Internal::Type::Converter | Class
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,15 @@
1
+ module Pangea
2
+ module Internal
3
+ module Type
4
+ type request_parameters = { request_options: Pangea::request_opts }
5
+
6
+ module RequestParameters
7
+ attr_accessor request_options: Pangea::request_opts
8
+
9
+ module Converter
10
+ def dump_request: (top params) -> [top, ::Hash[Symbol, top]]
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,12 @@
1
+ module Pangea
2
+ module Models
3
+ class PangeaResponse[Result]
4
+ attr_accessor request_id: String
5
+ attr_accessor request_time: String
6
+ attr_accessor response_time: String
7
+ attr_accessor status: String
8
+ attr_accessor summary: String
9
+ attr_accessor result: Result
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,19 @@
1
+ module Pangea
2
+ module Models
3
+ module AiGuard
4
+ type text_guard_result = {
5
+ prompt_text: String?,
6
+ blocked: Pangea::Internal::Type::Boolean?,
7
+ recipe: String?,
8
+ fpe_context: String?,
9
+ }
10
+
11
+ class TextGuardResult < Pangea::Internal::Type::BaseModel
12
+ attr_accessor prompt_text: String?
13
+ attr_accessor blocked: Pangea::Internal::Type::Boolean?
14
+ attr_accessor recipe: String?
15
+ attr_accessor fpe_context: String?
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,34 @@
1
+ module Pangea
2
+ type request_opts =
3
+ Pangea::RequestOptions | Pangea::request_options | ::Hash[Symbol, top]
4
+
5
+ type request_options =
6
+ {
7
+ idempotency_key: String?,
8
+ extra_query: ::Hash[String, (::Array[String] | String)?]?,
9
+ extra_headers: ::Hash[String, String?]?,
10
+ extra_body: top?,
11
+ max_retries: Integer?,
12
+ timeout: Float?
13
+ }
14
+
15
+ class RequestOptions < Pangea::Internal::Type::BaseModel
16
+ def self.validate!: (self | ::Hash[Symbol, top] opts) -> void
17
+
18
+ attr_accessor idempotency_key: String?
19
+
20
+ attr_accessor extra_query: ::Hash[String, (::Array[String] | String)?]?
21
+
22
+ attr_accessor extra_headers: ::Hash[String, String?]?
23
+
24
+ attr_accessor extra_body: top?
25
+
26
+ attr_accessor max_retries: Integer?
27
+
28
+ attr_accessor timeout: Float?
29
+
30
+ def initialize: (
31
+ ?Pangea::request_options | ::Hash[Symbol, top] values
32
+ ) -> void
33
+ end
34
+ end
@@ -0,0 +1,12 @@
1
+ module Pangea
2
+ module Services
3
+ module AiGuard
4
+ def initialize: (?api_token: String, ?base_url: String, ?domain: String) -> void
5
+
6
+ def guard_text: (
7
+ ?text: String,
8
+ ?request_options: Pangea::request_opts
9
+ ) -> Pangea::Models::PangeaResponse[Pangea::Models::AiGuard::TextGuardResult]
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,3 @@
1
+ module Pangea
2
+ VERSION: String
3
+ end
metadata ADDED
@@ -0,0 +1,126 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pangea-sdk
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Pangea
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 1980-01-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: connection_pool
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.5'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 2.5.3
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '2.5'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 2.5.3
33
+ description:
34
+ email: support@pangea.cloud
35
+ executables: []
36
+ extensions: []
37
+ extra_rdoc_files:
38
+ - README.md
39
+ files:
40
+ - ".ignore"
41
+ - README.md
42
+ - lib/pangea.rb
43
+ - lib/pangea/client.rb
44
+ - lib/pangea/errors.rb
45
+ - lib/pangea/internal.rb
46
+ - lib/pangea/internal/transport/base_client.rb
47
+ - lib/pangea/internal/transport/pooled_net_requester.rb
48
+ - lib/pangea/internal/type/array_of.rb
49
+ - lib/pangea/internal/type/base_model.rb
50
+ - lib/pangea/internal/type/boolean.rb
51
+ - lib/pangea/internal/type/converter.rb
52
+ - lib/pangea/internal/type/hash_of.rb
53
+ - lib/pangea/internal/type/request_parameters.rb
54
+ - lib/pangea/internal/type/union.rb
55
+ - lib/pangea/internal/type/unknown.rb
56
+ - lib/pangea/internal/util.rb
57
+ - lib/pangea/models/ai_guard/classification_result.rb
58
+ - lib/pangea/models/ai_guard/hardening_result.rb
59
+ - lib/pangea/models/ai_guard/language_result.rb
60
+ - lib/pangea/models/ai_guard/malicious_entity_result.rb
61
+ - lib/pangea/models/ai_guard/prompt_injection_result.rb
62
+ - lib/pangea/models/ai_guard/redact_entity_result.rb
63
+ - lib/pangea/models/ai_guard/single_entity_result.rb
64
+ - lib/pangea/models/ai_guard/text_guard_message_param.rb
65
+ - lib/pangea/models/ai_guard/text_guard_params.rb
66
+ - lib/pangea/models/ai_guard/text_guard_result.rb
67
+ - lib/pangea/models/ai_guard/topic_result.rb
68
+ - lib/pangea/models/pangea_response.rb
69
+ - lib/pangea/request_options.rb
70
+ - lib/pangea/services/ai_guard.rb
71
+ - lib/pangea/version.rb
72
+ - manifest.yaml
73
+ - rbi/lib/pangea/client.rbi
74
+ - rbi/lib/pangea/internal.rbi
75
+ - rbi/lib/pangea/internal/internal.rbi
76
+ - rbi/lib/pangea/internal/transport/base_client.rbi
77
+ - rbi/lib/pangea/internal/type/array_of.rbi
78
+ - rbi/lib/pangea/internal/type/base_model.rbi
79
+ - rbi/lib/pangea/internal/type/boolean.rbi
80
+ - rbi/lib/pangea/internal/type/converter.rbi
81
+ - rbi/lib/pangea/internal/type/request_parameters.rbi
82
+ - rbi/lib/pangea/internal/type/union.rbi
83
+ - rbi/lib/pangea/internal/type/unknown.rbi
84
+ - rbi/lib/pangea/models/ai_guard/text_guard_message_param.rbi
85
+ - rbi/lib/pangea/models/ai_guard/text_guard_result.rbi
86
+ - rbi/lib/pangea/models/pangea_response.rbi
87
+ - rbi/lib/pangea/request_options.rbi
88
+ - rbi/lib/pangea/services/ai_guard.rbi
89
+ - rbi/lib/pangea/version.rbi
90
+ - sig/pangea/client.rbs
91
+ - sig/pangea/internal/transport/base_client.rbs
92
+ - sig/pangea/internal/type/base_model.rbs
93
+ - sig/pangea/internal/type/boolean.rbs
94
+ - sig/pangea/internal/type/converter.rbs
95
+ - sig/pangea/internal/type/request_parameters.rbs
96
+ - sig/pangea/models/pangea_response.rbs
97
+ - sig/pangea/models/text_guard_result.rbs
98
+ - sig/pangea/request_options.rbs
99
+ - sig/pangea/services/ai_guard.rbs
100
+ - sig/pangea/version.rbs
101
+ homepage: https://gemdocs.org/gems/pangea-sdk
102
+ licenses: []
103
+ metadata:
104
+ homepage_uri: https://gemdocs.org/gems/pangea-sdk
105
+ source_code_uri: https://github.com/pangeacyber/pangea-ruby
106
+ rubygems_mfa_required: 'false'
107
+ post_install_message:
108
+ rdoc_options: []
109
+ require_paths:
110
+ - lib
111
+ required_ruby_version: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: 3.2.0
116
+ required_rubygems_version: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ requirements: []
122
+ rubygems_version: 3.4.19
123
+ signing_key:
124
+ specification_version: 4
125
+ summary: Ruby library to access the Pangea API
126
+ test_files: []