diff --git a/.release-please-manifest.json b/.release-please-manifest.json index b44b287..4dedeae 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "2.4.0" + ".": "2.5.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 4169724..b7f9ccf 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 27 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/moderation-api%2Fmoderation-api-4c45cb81092c51edd3affb49ac04582b6416054870f15e8bb30565375cd390eb.yml -openapi_spec_hash: 9ff39aca0794f22638ac710075bf70fe +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/moderation-api%2Fmoderation-api-d63cb4b89d39d82fa1d4600501ad5cedfddfbcf7a8806cac61634873b5211a9f.yml +openapi_spec_hash: 5a8d51e52ea8e52681c77eed584fb21c config_hash: 6a52f6ae7d55cf3b4e91538cc7752aeb diff --git a/CHANGELOG.md b/CHANGELOG.md index af2290e..647b86a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 2.5.0 (2026-01-28) + +Full Changelog: [v2.4.0...v2.5.0](https://github.com/moderation-api/sdk-ruby/compare/v2.4.0...v2.5.0) + +### Features + +* **api:** api update ([ebed85c](https://github.com/moderation-api/sdk-ruby/commit/ebed85ca0318e4c4643525430666cec73ef9b8c1)) + ## 2.4.0 (2026-01-28) Full Changelog: [v2.3.0...v2.4.0](https://github.com/moderation-api/sdk-ruby/compare/v2.3.0...v2.4.0) diff --git a/Gemfile.lock b/Gemfile.lock index defbc1d..1f160e6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - moderation_api (2.4.0) + moderation_api (2.5.0) cgi connection_pool diff --git a/README.md b/README.md index b247aa6..49ea1a0 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "moderation_api", "~> 2.4.0" +gem "moderation_api", "~> 2.5.0" ``` diff --git a/lib/moderation_api/models/content_submit_params.rb b/lib/moderation_api/models/content_submit_params.rb index 7758026..1ca6bc5 100644 --- a/lib/moderation_api/models/content_submit_params.rb +++ b/lib/moderation_api/models/content_submit_params.rb @@ -59,7 +59,7 @@ class ContentSubmitParams < ModerationAPI::Internal::Type::BaseModel # @!attribute policies # (Enterprise) override the channel policies for this moderation request only. # - # @return [Array, nil] + # @return [Array, nil] optional :policies, -> { ModerationAPI::Internal::Type::ArrayOf[union: ModerationAPI::ContentSubmitParams::Policy] } @@ -90,7 +90,7 @@ class ContentSubmitParams < ModerationAPI::Internal::Type::BaseModel # # @param meta_type [Symbol, ModerationAPI::Models::ContentSubmitParams::MetaType] The meta type of content being moderated # - # @param policies [Array] (Enterprise) override the channel policies for this moderation request only. + # @param policies [Array] (Enterprise) override the channel policies for this moderation request only. # # @param timestamp [Float] Unix timestamp (in milliseconds) of when the content was created. Use if content # @@ -362,6 +362,10 @@ module Policy variant -> { ModerationAPI::ContentSubmitParams::Policy::Cannabis } + variant -> { ModerationAPI::ContentSubmitParams::Policy::Adult } + + variant -> { ModerationAPI::ContentSubmitParams::Policy::Crypto } + variant -> { ModerationAPI::ContentSubmitParams::Policy::Sexual } variant -> { ModerationAPI::ContentSubmitParams::Policy::Flirtation } @@ -630,6 +634,50 @@ class Cannabis < ModerationAPI::Internal::Type::BaseModel # @param id [Symbol, :cannabis] end + class Adult < ModerationAPI::Internal::Type::BaseModel + # @!attribute id + # + # @return [Symbol, :adult] + required :id, const: :adult + + # @!attribute flag + # + # @return [Boolean] + required :flag, ModerationAPI::Internal::Type::Boolean + + # @!attribute threshold + # + # @return [Float, nil] + optional :threshold, Float + + # @!method initialize(flag:, threshold: nil, id: :adult) + # @param flag [Boolean] + # @param threshold [Float] + # @param id [Symbol, :adult] + end + + class Crypto < ModerationAPI::Internal::Type::BaseModel + # @!attribute id + # + # @return [Symbol, :crypto] + required :id, const: :crypto + + # @!attribute flag + # + # @return [Boolean] + required :flag, ModerationAPI::Internal::Type::Boolean + + # @!attribute threshold + # + # @return [Float, nil] + optional :threshold, Float + + # @!method initialize(flag:, threshold: nil, id: :crypto) + # @param flag [Boolean] + # @param threshold [Float] + # @param id [Symbol, :crypto] + end + class Sexual < ModerationAPI::Internal::Type::BaseModel # @!attribute id # @@ -975,7 +1023,7 @@ class Guideline < ModerationAPI::Internal::Type::BaseModel end # @!method self.variants - # @return [Array(ModerationAPI::Models::ContentSubmitParams::Policy::Toxicity, ModerationAPI::Models::ContentSubmitParams::Policy::PersonalInformation, ModerationAPI::Models::ContentSubmitParams::Policy::ToxicitySevere, ModerationAPI::Models::ContentSubmitParams::Policy::Hate, ModerationAPI::Models::ContentSubmitParams::Policy::Illicit, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitDrugs, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitAlcohol, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitFirearms, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitTobacco, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitGambling, ModerationAPI::Models::ContentSubmitParams::Policy::Cannabis, ModerationAPI::Models::ContentSubmitParams::Policy::Sexual, ModerationAPI::Models::ContentSubmitParams::Policy::Flirtation, ModerationAPI::Models::ContentSubmitParams::Policy::Profanity, ModerationAPI::Models::ContentSubmitParams::Policy::Violence, ModerationAPI::Models::ContentSubmitParams::Policy::SelfHarm, ModerationAPI::Models::ContentSubmitParams::Policy::Spam, ModerationAPI::Models::ContentSubmitParams::Policy::SelfPromotion, ModerationAPI::Models::ContentSubmitParams::Policy::Political, ModerationAPI::Models::ContentSubmitParams::Policy::Religion, ModerationAPI::Models::ContentSubmitParams::Policy::CodeAbuse, ModerationAPI::Models::ContentSubmitParams::Policy::PiiMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLMasking, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline)] + # @return [Array(ModerationAPI::Models::ContentSubmitParams::Policy::Toxicity, ModerationAPI::Models::ContentSubmitParams::Policy::PersonalInformation, ModerationAPI::Models::ContentSubmitParams::Policy::ToxicitySevere, ModerationAPI::Models::ContentSubmitParams::Policy::Hate, ModerationAPI::Models::ContentSubmitParams::Policy::Illicit, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitDrugs, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitAlcohol, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitFirearms, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitTobacco, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitGambling, ModerationAPI::Models::ContentSubmitParams::Policy::Cannabis, ModerationAPI::Models::ContentSubmitParams::Policy::Adult, ModerationAPI::Models::ContentSubmitParams::Policy::Crypto, ModerationAPI::Models::ContentSubmitParams::Policy::Sexual, ModerationAPI::Models::ContentSubmitParams::Policy::Flirtation, ModerationAPI::Models::ContentSubmitParams::Policy::Profanity, ModerationAPI::Models::ContentSubmitParams::Policy::Violence, ModerationAPI::Models::ContentSubmitParams::Policy::SelfHarm, ModerationAPI::Models::ContentSubmitParams::Policy::Spam, ModerationAPI::Models::ContentSubmitParams::Policy::SelfPromotion, ModerationAPI::Models::ContentSubmitParams::Policy::Political, ModerationAPI::Models::ContentSubmitParams::Policy::Religion, ModerationAPI::Models::ContentSubmitParams::Policy::CodeAbuse, ModerationAPI::Models::ContentSubmitParams::Policy::PiiMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLMasking, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline)] end end end diff --git a/lib/moderation_api/resources/content.rb b/lib/moderation_api/resources/content.rb index d64455f..7be0c13 100644 --- a/lib/moderation_api/resources/content.rb +++ b/lib/moderation_api/resources/content.rb @@ -24,7 +24,7 @@ class Content # # @param meta_type [Symbol, ModerationAPI::Models::ContentSubmitParams::MetaType] The meta type of content being moderated # - # @param policies [Array] (Enterprise) override the channel policies for this moderation request only. + # @param policies [Array] (Enterprise) override the channel policies for this moderation request only. # # @param timestamp [Float] Unix timestamp (in milliseconds) of when the content was created. Use if content # diff --git a/lib/moderation_api/version.rb b/lib/moderation_api/version.rb index 93ed6a3..faa0b01 100644 --- a/lib/moderation_api/version.rb +++ b/lib/moderation_api/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module ModerationAPI - VERSION = "2.4.0" + VERSION = "2.5.0" end diff --git a/rbi/moderation_api/models/content_submit_params.rbi b/rbi/moderation_api/models/content_submit_params.rbi index bd12a27..644d94a 100644 --- a/rbi/moderation_api/models/content_submit_params.rbi +++ b/rbi/moderation_api/models/content_submit_params.rbi @@ -103,6 +103,8 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Policy::IllicitTobacco, ModerationAPI::ContentSubmitParams::Policy::IllicitGambling, ModerationAPI::ContentSubmitParams::Policy::Cannabis, + ModerationAPI::ContentSubmitParams::Policy::Adult, + ModerationAPI::ContentSubmitParams::Policy::Crypto, ModerationAPI::ContentSubmitParams::Policy::Sexual, ModerationAPI::ContentSubmitParams::Policy::Flirtation, ModerationAPI::ContentSubmitParams::Policy::Profanity, @@ -139,6 +141,8 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Policy::IllicitTobacco::OrHash, ModerationAPI::ContentSubmitParams::Policy::IllicitGambling::OrHash, ModerationAPI::ContentSubmitParams::Policy::Cannabis::OrHash, + ModerationAPI::ContentSubmitParams::Policy::Adult::OrHash, + ModerationAPI::ContentSubmitParams::Policy::Crypto::OrHash, ModerationAPI::ContentSubmitParams::Policy::Sexual::OrHash, ModerationAPI::ContentSubmitParams::Policy::Flirtation::OrHash, ModerationAPI::ContentSubmitParams::Policy::Profanity::OrHash, @@ -197,6 +201,8 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Policy::IllicitTobacco::OrHash, ModerationAPI::ContentSubmitParams::Policy::IllicitGambling::OrHash, ModerationAPI::ContentSubmitParams::Policy::Cannabis::OrHash, + ModerationAPI::ContentSubmitParams::Policy::Adult::OrHash, + ModerationAPI::ContentSubmitParams::Policy::Crypto::OrHash, ModerationAPI::ContentSubmitParams::Policy::Sexual::OrHash, ModerationAPI::ContentSubmitParams::Policy::Flirtation::OrHash, ModerationAPI::ContentSubmitParams::Policy::Profanity::OrHash, @@ -275,6 +281,8 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Policy::IllicitTobacco, ModerationAPI::ContentSubmitParams::Policy::IllicitGambling, ModerationAPI::ContentSubmitParams::Policy::Cannabis, + ModerationAPI::ContentSubmitParams::Policy::Adult, + ModerationAPI::ContentSubmitParams::Policy::Crypto, ModerationAPI::ContentSubmitParams::Policy::Sexual, ModerationAPI::ContentSubmitParams::Policy::Flirtation, ModerationAPI::ContentSubmitParams::Policy::Profanity, @@ -744,6 +752,8 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Policy::IllicitTobacco, ModerationAPI::ContentSubmitParams::Policy::IllicitGambling, ModerationAPI::ContentSubmitParams::Policy::Cannabis, + ModerationAPI::ContentSubmitParams::Policy::Adult, + ModerationAPI::ContentSubmitParams::Policy::Crypto, ModerationAPI::ContentSubmitParams::Policy::Sexual, ModerationAPI::ContentSubmitParams::Policy::Flirtation, ModerationAPI::ContentSubmitParams::Policy::Profanity, @@ -1156,6 +1166,78 @@ module ModerationAPI end end + class Adult < ModerationAPI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + ModerationAPI::ContentSubmitParams::Policy::Adult, + ModerationAPI::Internal::AnyHash + ) + end + + sig { returns(Symbol) } + attr_accessor :id + + sig { returns(T::Boolean) } + attr_accessor :flag + + sig { returns(T.nilable(Float)) } + attr_reader :threshold + + sig { params(threshold: Float).void } + attr_writer :threshold + + sig do + params(flag: T::Boolean, threshold: Float, id: Symbol).returns( + T.attached_class + ) + end + def self.new(flag:, threshold: nil, id: :adult) + end + + sig do + override.returns({ id: Symbol, flag: T::Boolean, threshold: Float }) + end + def to_hash + end + end + + class Crypto < ModerationAPI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + ModerationAPI::ContentSubmitParams::Policy::Crypto, + ModerationAPI::Internal::AnyHash + ) + end + + sig { returns(Symbol) } + attr_accessor :id + + sig { returns(T::Boolean) } + attr_accessor :flag + + sig { returns(T.nilable(Float)) } + attr_reader :threshold + + sig { params(threshold: Float).void } + attr_writer :threshold + + sig do + params(flag: T::Boolean, threshold: Float, id: Symbol).returns( + T.attached_class + ) + end + def self.new(flag:, threshold: nil, id: :crypto) + end + + sig do + override.returns({ id: Symbol, flag: T::Boolean, threshold: Float }) + end + def to_hash + end + end + class Sexual < ModerationAPI::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/rbi/moderation_api/resources/content.rbi b/rbi/moderation_api/resources/content.rbi index f3bd076..acf4150 100644 --- a/rbi/moderation_api/resources/content.rbi +++ b/rbi/moderation_api/resources/content.rbi @@ -34,6 +34,8 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Policy::IllicitTobacco::OrHash, ModerationAPI::ContentSubmitParams::Policy::IllicitGambling::OrHash, ModerationAPI::ContentSubmitParams::Policy::Cannabis::OrHash, + ModerationAPI::ContentSubmitParams::Policy::Adult::OrHash, + ModerationAPI::ContentSubmitParams::Policy::Crypto::OrHash, ModerationAPI::ContentSubmitParams::Policy::Sexual::OrHash, ModerationAPI::ContentSubmitParams::Policy::Flirtation::OrHash, ModerationAPI::ContentSubmitParams::Policy::Profanity::OrHash, diff --git a/sig/moderation_api/models/content_submit_params.rbs b/sig/moderation_api/models/content_submit_params.rbs index ceb8557..1f1386a 100644 --- a/sig/moderation_api/models/content_submit_params.rbs +++ b/sig/moderation_api/models/content_submit_params.rbs @@ -269,6 +269,8 @@ module ModerationAPI | ModerationAPI::ContentSubmitParams::Policy::IllicitTobacco | ModerationAPI::ContentSubmitParams::Policy::IllicitGambling | ModerationAPI::ContentSubmitParams::Policy::Cannabis + | ModerationAPI::ContentSubmitParams::Policy::Adult + | ModerationAPI::ContentSubmitParams::Policy::Crypto | ModerationAPI::ContentSubmitParams::Policy::Sexual | ModerationAPI::ContentSubmitParams::Policy::Flirtation | ModerationAPI::ContentSubmitParams::Policy::Profanity @@ -517,6 +519,38 @@ module ModerationAPI def to_hash: -> { id: :cannabis, flag: bool, threshold: Float } end + type adult = { id: :adult, flag: bool, threshold: Float } + + class Adult < ModerationAPI::Internal::Type::BaseModel + attr_accessor id: :adult + + attr_accessor flag: bool + + attr_reader threshold: Float? + + def threshold=: (Float) -> Float + + def initialize: (flag: bool, ?threshold: Float, ?id: :adult) -> void + + def to_hash: -> { id: :adult, flag: bool, threshold: Float } + end + + type crypto = { id: :crypto, flag: bool, threshold: Float } + + class Crypto < ModerationAPI::Internal::Type::BaseModel + attr_accessor id: :crypto + + attr_accessor flag: bool + + attr_reader threshold: Float? + + def threshold=: (Float) -> Float + + def initialize: (flag: bool, ?threshold: Float, ?id: :crypto) -> void + + def to_hash: -> { id: :crypto, flag: bool, threshold: Float } + end + type sexual = { id: :sexual, flag: bool, threshold: Float } class Sexual < ModerationAPI::Internal::Type::BaseModel