From 8ec8a3dcbca0c79346a06743395b61214f299bb4 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 1 Jun 2026 14:13:41 +0000 Subject: [PATCH 1/2] feat(api): api update --- .stats.yml | 4 +- .../models/content_submit_params.rb | 68 +++++++++- .../models/content_submit_response.rb | 15 +- lib/moderation_api/resources/content.rb | 2 +- .../models/content_submit_params.rbi | 128 ++++++++++++++++++ .../models/content_submit_response.rbi | 13 ++ rbi/moderation_api/resources/content.rbi | 1 + .../models/content_submit_params.rbs | 57 ++++++++ .../models/content_submit_response.rbs | 7 + 9 files changed, 288 insertions(+), 7 deletions(-) diff --git a/.stats.yml b/.stats.yml index e615fc9..b80b97b 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/moderation-api-2a9024f55f158ede9f9d4811ab4035e470afc920d0f15513da6603d011b2bef7.yml -openapi_spec_hash: cc3275c46438bd043ac96e669e27276f +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/moderation-api/moderation-api-cbf656f40e43acf60d9596f78204f031dc8c7205626df8f05ce8e88bcf49b597.yml +openapi_spec_hash: 23be5a56248a1a575b34833eb7e7fe49 config_hash: 9d144cc6c49d3fd53e5b4472c1e22165 diff --git a/lib/moderation_api/models/content_submit_params.rb b/lib/moderation_api/models/content_submit_params.rb index 3529be1..3051048 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 # @@ -405,6 +405,8 @@ module Policy variant -> { ModerationAPI::ContentSubmitParams::Policy::LowQualityContent } + variant -> { ModerationAPI::ContentSubmitParams::Policy::FaceDetection } + variant -> { ModerationAPI::ContentSubmitParams::Policy::SelfPromotion } variant -> { ModerationAPI::ContentSubmitParams::Policy::Political } @@ -876,6 +878,66 @@ class LowQualityContent < ModerationAPI::Internal::Type::BaseModel # @param id [Symbol, :low_quality] end + class FaceDetection < ModerationAPI::Internal::Type::BaseModel + # @!attribute id + # + # @return [Symbol, :face_detection] + required :id, const: :face_detection + + # @!attribute flag + # + # @return [Boolean] + required :flag, ModerationAPI::Internal::Type::Boolean + + # @!attribute comparator + # Flag images that contain "at least" or "fewer than" the configured number of + # faces. Defaults to at_least. + # + # @return [Symbol, ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection::Comparator, nil] + optional :comparator, enum: -> { ModerationAPI::ContentSubmitParams::Policy::FaceDetection::Comparator } + + # @!attribute count + # Number of faces the comparator applies to. Defaults to 1, so the default rule + # flags any image containing a face. + # + # @return [Integer, nil] + optional :count, Integer + + # @!attribute threshold + # + # @return [Float, nil] + optional :threshold, Float + + # @!method initialize(flag:, comparator: nil, count: nil, threshold: nil, id: :face_detection) + # Some parameter documentations has been truncated, see + # {ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection} for more + # details. + # + # @param flag [Boolean] + # + # @param comparator [Symbol, ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection::Comparator] Flag images that contain "at least" or "fewer than" the configured number of fac + # + # @param count [Integer] Number of faces the comparator applies to. Defaults to 1, so the default rule fl + # + # @param threshold [Float] + # + # @param id [Symbol, :face_detection] + + # Flag images that contain "at least" or "fewer than" the configured number of + # faces. Defaults to at_least. + # + # @see ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection#comparator + module Comparator + extend ModerationAPI::Internal::Type::Enum + + AT_LEAST = :at_least + FEWER_THAN = :fewer_than + + # @!method self.values + # @return [Array] + end + end + class SelfPromotion < ModerationAPI::Internal::Type::BaseModel # @!attribute id # @@ -1150,7 +1212,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::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::LowQualityContent, 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::URLRisk, 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::LowQualityContent, ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection, 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::URLRisk, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline)] end end end diff --git a/lib/moderation_api/models/content_submit_response.rb b/lib/moderation_api/models/content_submit_response.rb index ad92144..b0b2729 100644 --- a/lib/moderation_api/models/content_submit_response.rb +++ b/lib/moderation_api/models/content_submit_response.rb @@ -586,6 +586,13 @@ class ClassifierOutput < ModerationAPI::Internal::Type::BaseModel # @return [Symbol, :classifier] required :type, const: :classifier + # @!attribute data + # Optional structured data produced by the policy. For face detection: { count, + # faces: [{ confidence, gender, age }] }. + # + # @return [Hash{Symbol=>Object}, nil] + optional :data, ModerationAPI::Internal::Type::HashOf[ModerationAPI::Internal::Type::Unknown] + # @!attribute flagged_fields # The keys of the flagged fields if submitting an object. # @@ -598,7 +605,11 @@ class ClassifierOutput < ModerationAPI::Internal::Type::BaseModel optional :labels, -> { ModerationAPI::Internal::Type::ArrayOf[ModerationAPI::Models::ContentSubmitResponse::Policy::ClassifierOutput::Label] } - # @!method initialize(id:, flagged:, probability:, flagged_fields: nil, labels: nil, type: :classifier) + # @!method initialize(id:, flagged:, probability:, data: nil, flagged_fields: nil, labels: nil, type: :classifier) + # Some parameter documentations has been truncated, see + # {ModerationAPI::Models::ContentSubmitResponse::Policy::ClassifierOutput} for + # more details. + # # Classifier policy. # # @param id [String] The unique identifier for the classifier output. @@ -607,6 +618,8 @@ class ClassifierOutput < ModerationAPI::Internal::Type::BaseModel # # @param probability [Float] # + # @param data [Hash{Symbol=>Object}] Optional structured data produced by the policy. For face detection: { count, fa + # # @param flagged_fields [Array] The keys of the flagged fields if submitting an object. # # @param labels [Array] diff --git a/lib/moderation_api/resources/content.rb b/lib/moderation_api/resources/content.rb index c6af0d0..6b17c24 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/rbi/moderation_api/models/content_submit_params.rbi b/rbi/moderation_api/models/content_submit_params.rbi index f19f884..1d499af 100644 --- a/rbi/moderation_api/models/content_submit_params.rbi +++ b/rbi/moderation_api/models/content_submit_params.rbi @@ -112,6 +112,7 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Policy::SelfHarm, ModerationAPI::ContentSubmitParams::Policy::Spam, ModerationAPI::ContentSubmitParams::Policy::LowQualityContent, + ModerationAPI::ContentSubmitParams::Policy::FaceDetection, ModerationAPI::ContentSubmitParams::Policy::SelfPromotion, ModerationAPI::ContentSubmitParams::Policy::Political, ModerationAPI::ContentSubmitParams::Policy::Religion, @@ -152,6 +153,7 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Policy::SelfHarm::OrHash, ModerationAPI::ContentSubmitParams::Policy::Spam::OrHash, ModerationAPI::ContentSubmitParams::Policy::LowQualityContent::OrHash, + ModerationAPI::ContentSubmitParams::Policy::FaceDetection::OrHash, ModerationAPI::ContentSubmitParams::Policy::SelfPromotion::OrHash, ModerationAPI::ContentSubmitParams::Policy::Political::OrHash, ModerationAPI::ContentSubmitParams::Policy::Religion::OrHash, @@ -214,6 +216,7 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Policy::SelfHarm::OrHash, ModerationAPI::ContentSubmitParams::Policy::Spam::OrHash, ModerationAPI::ContentSubmitParams::Policy::LowQualityContent::OrHash, + ModerationAPI::ContentSubmitParams::Policy::FaceDetection::OrHash, ModerationAPI::ContentSubmitParams::Policy::SelfPromotion::OrHash, ModerationAPI::ContentSubmitParams::Policy::Political::OrHash, ModerationAPI::ContentSubmitParams::Policy::Religion::OrHash, @@ -296,6 +299,7 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Policy::SelfHarm, ModerationAPI::ContentSubmitParams::Policy::Spam, ModerationAPI::ContentSubmitParams::Policy::LowQualityContent, + ModerationAPI::ContentSubmitParams::Policy::FaceDetection, ModerationAPI::ContentSubmitParams::Policy::SelfPromotion, ModerationAPI::ContentSubmitParams::Policy::Political, ModerationAPI::ContentSubmitParams::Policy::Religion, @@ -805,6 +809,7 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Policy::SelfHarm, ModerationAPI::ContentSubmitParams::Policy::Spam, ModerationAPI::ContentSubmitParams::Policy::LowQualityContent, + ModerationAPI::ContentSubmitParams::Policy::FaceDetection, ModerationAPI::ContentSubmitParams::Policy::SelfPromotion, ModerationAPI::ContentSubmitParams::Policy::Political, ModerationAPI::ContentSubmitParams::Policy::Religion, @@ -1561,6 +1566,129 @@ module ModerationAPI end end + class FaceDetection < ModerationAPI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + ModerationAPI::ContentSubmitParams::Policy::FaceDetection, + ModerationAPI::Internal::AnyHash + ) + end + + sig { returns(Symbol) } + attr_accessor :id + + sig { returns(T::Boolean) } + attr_accessor :flag + + # Flag images that contain "at least" or "fewer than" the configured number of + # faces. Defaults to at_least. + sig do + returns( + T.nilable( + ModerationAPI::ContentSubmitParams::Policy::FaceDetection::Comparator::OrSymbol + ) + ) + end + attr_reader :comparator + + sig do + params( + comparator: + ModerationAPI::ContentSubmitParams::Policy::FaceDetection::Comparator::OrSymbol + ).void + end + attr_writer :comparator + + # Number of faces the comparator applies to. Defaults to 1, so the default rule + # flags any image containing a face. + sig { returns(T.nilable(Integer)) } + attr_reader :count + + sig { params(count: Integer).void } + attr_writer :count + + sig { returns(T.nilable(Float)) } + attr_reader :threshold + + sig { params(threshold: Float).void } + attr_writer :threshold + + sig do + params( + flag: T::Boolean, + comparator: + ModerationAPI::ContentSubmitParams::Policy::FaceDetection::Comparator::OrSymbol, + count: Integer, + threshold: Float, + id: Symbol + ).returns(T.attached_class) + end + def self.new( + flag:, + # Flag images that contain "at least" or "fewer than" the configured number of + # faces. Defaults to at_least. + comparator: nil, + # Number of faces the comparator applies to. Defaults to 1, so the default rule + # flags any image containing a face. + count: nil, + threshold: nil, + id: :face_detection + ) + end + + sig do + override.returns( + { + id: Symbol, + flag: T::Boolean, + comparator: + ModerationAPI::ContentSubmitParams::Policy::FaceDetection::Comparator::OrSymbol, + count: Integer, + threshold: Float + } + ) + end + def to_hash + end + + # Flag images that contain "at least" or "fewer than" the configured number of + # faces. Defaults to at_least. + module Comparator + extend ModerationAPI::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + ModerationAPI::ContentSubmitParams::Policy::FaceDetection::Comparator + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + AT_LEAST = + T.let( + :at_least, + ModerationAPI::ContentSubmitParams::Policy::FaceDetection::Comparator::TaggedSymbol + ) + FEWER_THAN = + T.let( + :fewer_than, + ModerationAPI::ContentSubmitParams::Policy::FaceDetection::Comparator::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + ModerationAPI::ContentSubmitParams::Policy::FaceDetection::Comparator::TaggedSymbol + ] + ) + end + def self.values + end + end + end + class SelfPromotion < ModerationAPI::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/rbi/moderation_api/models/content_submit_response.rbi b/rbi/moderation_api/models/content_submit_response.rbi index 1cb675a..5c0ee8d 100644 --- a/rbi/moderation_api/models/content_submit_response.rbi +++ b/rbi/moderation_api/models/content_submit_response.rbi @@ -1093,6 +1093,14 @@ module ModerationAPI sig { returns(Symbol) } attr_accessor :type + # Optional structured data produced by the policy. For face detection: { count, + # faces: [{ confidence, gender, age }] }. + sig { returns(T.nilable(T::Hash[Symbol, T.anything])) } + attr_reader :data + + sig { params(data: T::Hash[Symbol, T.anything]).void } + attr_writer :data + # The keys of the flagged fields if submitting an object. sig { returns(T.nilable(T::Array[String])) } attr_reader :flagged_fields @@ -1127,6 +1135,7 @@ module ModerationAPI id: String, flagged: T::Boolean, probability: Float, + data: T::Hash[Symbol, T.anything], flagged_fields: T::Array[String], labels: T::Array[ @@ -1140,6 +1149,9 @@ module ModerationAPI id:, flagged:, probability:, + # Optional structured data produced by the policy. For face detection: { count, + # faces: [{ confidence, gender, age }] }. + data: nil, # The keys of the flagged fields if submitting an object. flagged_fields: nil, labels: nil, @@ -1154,6 +1166,7 @@ module ModerationAPI flagged: T::Boolean, probability: Float, type: Symbol, + data: T::Hash[Symbol, T.anything], flagged_fields: T::Array[String], labels: T::Array[ diff --git a/rbi/moderation_api/resources/content.rbi b/rbi/moderation_api/resources/content.rbi index d7dc19f..11180c4 100644 --- a/rbi/moderation_api/resources/content.rbi +++ b/rbi/moderation_api/resources/content.rbi @@ -43,6 +43,7 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Policy::SelfHarm::OrHash, ModerationAPI::ContentSubmitParams::Policy::Spam::OrHash, ModerationAPI::ContentSubmitParams::Policy::LowQualityContent::OrHash, + ModerationAPI::ContentSubmitParams::Policy::FaceDetection::OrHash, ModerationAPI::ContentSubmitParams::Policy::SelfPromotion::OrHash, ModerationAPI::ContentSubmitParams::Policy::Political::OrHash, ModerationAPI::ContentSubmitParams::Policy::Religion::OrHash, diff --git a/sig/moderation_api/models/content_submit_params.rbs b/sig/moderation_api/models/content_submit_params.rbs index 117e551..d55846c 100644 --- a/sig/moderation_api/models/content_submit_params.rbs +++ b/sig/moderation_api/models/content_submit_params.rbs @@ -294,6 +294,7 @@ module ModerationAPI | ModerationAPI::ContentSubmitParams::Policy::SelfHarm | ModerationAPI::ContentSubmitParams::Policy::Spam | ModerationAPI::ContentSubmitParams::Policy::LowQualityContent + | ModerationAPI::ContentSubmitParams::Policy::FaceDetection | ModerationAPI::ContentSubmitParams::Policy::SelfPromotion | ModerationAPI::ContentSubmitParams::Policy::Political | ModerationAPI::ContentSubmitParams::Policy::Religion @@ -712,6 +713,62 @@ module ModerationAPI } end + type face_detection = + { + id: :face_detection, + flag: bool, + comparator: ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection::comparator, + count: Integer, + threshold: Float + } + + class FaceDetection < ModerationAPI::Internal::Type::BaseModel + attr_accessor id: :face_detection + + attr_accessor flag: bool + + attr_reader comparator: ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection::comparator? + + def comparator=: ( + ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection::comparator + ) -> ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection::comparator + + attr_reader count: Integer? + + def count=: (Integer) -> Integer + + attr_reader threshold: Float? + + def threshold=: (Float) -> Float + + def initialize: ( + flag: bool, + ?comparator: ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection::comparator, + ?count: Integer, + ?threshold: Float, + ?id: :face_detection + ) -> void + + def to_hash: -> { + id: :face_detection, + flag: bool, + comparator: ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection::comparator, + count: Integer, + threshold: Float + } + + type comparator = :at_least | :fewer_than + + module Comparator + extend ModerationAPI::Internal::Type::Enum + + AT_LEAST: :at_least + FEWER_THAN: :fewer_than + + def self?.values: -> ::Array[ModerationAPI::Models::ContentSubmitParams::Policy::FaceDetection::comparator] + end + end + type self_promotion = { id: :self_promotion, flag: bool, threshold: Float } diff --git a/sig/moderation_api/models/content_submit_response.rbs b/sig/moderation_api/models/content_submit_response.rbs index 62a4ef8..307fdfe 100644 --- a/sig/moderation_api/models/content_submit_response.rbs +++ b/sig/moderation_api/models/content_submit_response.rbs @@ -430,6 +430,7 @@ module ModerationAPI flagged: bool, probability: Float, type: :classifier, + data: ::Hash[Symbol, top], flagged_fields: ::Array[String], labels: ::Array[ModerationAPI::Models::ContentSubmitResponse::Policy::ClassifierOutput::Label] } @@ -443,6 +444,10 @@ module ModerationAPI attr_accessor type: :classifier + attr_reader data: ::Hash[Symbol, top]? + + def data=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top] + attr_reader flagged_fields: ::Array[String]? def flagged_fields=: (::Array[String]) -> ::Array[String] @@ -457,6 +462,7 @@ module ModerationAPI id: String, flagged: bool, probability: Float, + ?data: ::Hash[Symbol, top], ?flagged_fields: ::Array[String], ?labels: ::Array[ModerationAPI::Models::ContentSubmitResponse::Policy::ClassifierOutput::Label], ?type: :classifier @@ -467,6 +473,7 @@ module ModerationAPI flagged: bool, probability: Float, type: :classifier, + data: ::Hash[Symbol, top], flagged_fields: ::Array[String], labels: ::Array[ModerationAPI::Models::ContentSubmitResponse::Policy::ClassifierOutput::Label] } From a1b6022559c703261972c96316c5dca1f669b985 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 1 Jun 2026 14:14:08 +0000 Subject: [PATCH 2/2] release: 2.20.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 8 ++++++++ Gemfile.lock | 2 +- README.md | 2 +- lib/moderation_api/version.rb | 2 +- 5 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 60b44f4..26b25a2 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "2.19.0" + ".": "2.20.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index a3830a7..64a3a27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 2.20.0 (2026-06-01) + +Full Changelog: [v2.19.0...v2.20.0](https://github.com/moderation-api/sdk-ruby/compare/v2.19.0...v2.20.0) + +### Features + +* **api:** api update ([8ec8a3d](https://github.com/moderation-api/sdk-ruby/commit/8ec8a3dcbca0c79346a06743395b61214f299bb4)) + ## 2.19.0 (2026-06-01) Full Changelog: [v2.18.0...v2.19.0](https://github.com/moderation-api/sdk-ruby/compare/v2.18.0...v2.19.0) diff --git a/Gemfile.lock b/Gemfile.lock index 62afcc7..cde75ec 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - moderation_api (2.19.0) + moderation_api (2.20.0) cgi connection_pool diff --git a/README.md b/README.md index 4f3dcff..8412bbb 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.19.0" +gem "moderation_api", "~> 2.20.0" ``` diff --git a/lib/moderation_api/version.rb b/lib/moderation_api/version.rb index 0707e1c..98fdf4c 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.19.0" + VERSION = "2.20.0" end