From b4d49c97007bf174fd733da1e20873a5e24dc009 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 18 Jun 2026 20:17:29 +0000 Subject: [PATCH 01/25] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 789d6c71..abc14ba5 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-877efb225a136be0aae8263a10935ef8b95f8385487840f27f3c83a401981af8.yml -openapi_spec_hash: 713311bd044cbfc0b31e25d7538f0bc3 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-8997ef49d3ddd62f2f6b4947a4db7cb1db8efb56781c89bb12ddf6184c8596d7.yml +openapi_spec_hash: 6aa079d7c1d8c703c0c5f1818d1a147c config_hash: 341368a8c64fae1694b7fad2df7c56e0 From fef7bec4f5c5c57d062fb3b6aa0b32a743d35757 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 18 Jun 2026 21:17:26 +0000 Subject: [PATCH 02/25] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index abc14ba5..e00ff695 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-8997ef49d3ddd62f2f6b4947a4db7cb1db8efb56781c89bb12ddf6184c8596d7.yml -openapi_spec_hash: 6aa079d7c1d8c703c0c5f1818d1a147c +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-6b6ff1671b4ffb17c26b5407eaaf1ad85f2eae71c9d74112a13756b262d04093.yml +openapi_spec_hash: 6c76973e669bc824224e9995b59a95b2 config_hash: 341368a8c64fae1694b7fad2df7c56e0 From 25a1ba52db42b607436eb0f84f7b1ba5f580b9e7 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 18 Jun 2026 22:17:29 +0000 Subject: [PATCH 03/25] feat(api): api update --- .stats.yml | 4 +- src/profound/resources/reports/reports.py | 188 ++++++++-------- .../types/report_query_sentiment_v2_params.py | 203 +++++++++++++++--- tests/api_resources/test_reports.py | 122 +++++------ 4 files changed, 310 insertions(+), 207 deletions(-) diff --git a/.stats.yml b/.stats.yml index e00ff695..8039f1ea 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-6b6ff1671b4ffb17c26b5407eaaf1ad85f2eae71c9d74112a13756b262d04093.yml -openapi_spec_hash: 6c76973e669bc824224e9995b59a95b2 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-63bb8134be74c4ec0cfe58bcaea990a72aba2f50a0bb24bc8138929502367dfa.yml +openapi_spec_hash: 8049967a5a9d8414e1acc7986cfb6d04 config_hash: 341368a8c64fae1694b7fad2df7c56e0 diff --git a/src/profound/resources/reports/reports.py b/src/profound/resources/reports/reports.py index 62245b32..c5839868 100644 --- a/src/profound/resources/reports/reports.py +++ b/src/profound/resources/reports/reports.py @@ -22,7 +22,7 @@ report_get_referrals_report_params, report_get_referrals_report_v2_params, ) -from ..._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given +from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given from ..._utils import maybe_transform, async_maybe_transform from .accuracy import ( AccuracyResource, @@ -649,38 +649,21 @@ def query_sentiment_v2( *, asset_name: str, category_id: str, - end_date: str, - start_date: str, - claim_filters: Optional[report_query_sentiment_v2_params.ClaimFilters] | Omit = omit, - comparison_end_date: Optional[str] | Omit = omit, - comparison_start_date: Optional[str] | Omit = omit, - date_bucket: Optional[Literal["daily", "weekly", "monthly"]] | Omit = omit, - exclude_topic_ids: bool | Omit = omit, - group_by: Optional[ - List[ - Literal[ - "topic", "region", "platform", "prompt", "persona", "tag", "theme", "claim", "run", "competitor" - ] + end_date: Union[str, datetime], + metrics: List[Literal["sentiment", "occurrence"]], + start_date: Union[str, datetime], + comparison_end_date: Union[str, datetime, None] | Omit = omit, + comparison_start_date: Union[str, datetime, None] | Omit = omit, + date_interval: Literal["hour", "day", "week", "month", "quarter", "year", "relative_week"] | Omit = omit, + dimensions: List[ + Literal[ + "date", "topic", "region", "model", "prompt", "persona", "tag", "theme", "claim", "run", "asset_name" ] ] | Omit = omit, - include_no_persona: bool | Omit = omit, - include_no_tag: bool | Omit = omit, - limit: Optional[int] | Omit = omit, - metrics: Optional[List[Literal["sentiment", "occurrence"]]] | Omit = omit, - offset: int | Omit = omit, - owned_asset_names_to_exclude: SequenceNotStr[str] | Omit = omit, - persona_ids: Optional[SequenceNotStr[str]] | Omit = omit, - platform_ids: Optional[SequenceNotStr[str]] | Omit = omit, - prompt_ids: Optional[SequenceNotStr[str]] | Omit = omit, - region_ids: Optional[SequenceNotStr[str]] | Omit = omit, - run_ids: Optional[SequenceNotStr[str]] | Omit = omit, - sort_by: Optional[Literal["occurrence", "assessment_count", "positive_sentiment", "negative_sentiment"]] - | Omit = omit, - sort_direction: Literal["asc", "desc"] | Omit = omit, - tag_filter_type: Literal["all", "any"] | Omit = omit, - tag_ids: Optional[SequenceNotStr[str]] | Omit = omit, - topic_ids: Optional[SequenceNotStr[str]] | Omit = omit, + filters: Iterable[report_query_sentiment_v2_params.Filter] | Omit = omit, + order_by: Dict[str, Literal["asc", "desc"]] | Omit = omit, + pagination: Pagination | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -688,10 +671,32 @@ def query_sentiment_v2( extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> ReportQuerySentimentV2Response: - """ - Query Sentiment V2 + """Query Sentiment V2 Args: + end_date: End date for the report. + + Accepts formats: YYYY-MM-DD, YYYY-MM-DD HH:MM, or full + ISO timestamp. + + start_date: Start date for the report. Accepts formats: YYYY-MM-DD, YYYY-MM-DD HH:MM, or + full ISO timestamp. + + comparison_end_date: End of the previous period for delta computation. + + comparison_start_date: Start of the previous period for delta computation. + + date_interval: Date interval for the report. Only used when dimensions includes date. + + dimensions: Dimensions to group the report by. + + filters: List of filters to apply to the sentiment-v2 report. + + order_by: Custom ordering of report results. Dimension keys must also be present in + dimensions. The sentiment metric orders by positive_sentiment. + + pagination: Pagination settings for the report results. + extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -707,29 +712,15 @@ def query_sentiment_v2( "asset_name": asset_name, "category_id": category_id, "end_date": end_date, + "metrics": metrics, "start_date": start_date, - "claim_filters": claim_filters, "comparison_end_date": comparison_end_date, "comparison_start_date": comparison_start_date, - "date_bucket": date_bucket, - "exclude_topic_ids": exclude_topic_ids, - "group_by": group_by, - "include_no_persona": include_no_persona, - "include_no_tag": include_no_tag, - "limit": limit, - "metrics": metrics, - "offset": offset, - "owned_asset_names_to_exclude": owned_asset_names_to_exclude, - "persona_ids": persona_ids, - "platform_ids": platform_ids, - "prompt_ids": prompt_ids, - "region_ids": region_ids, - "run_ids": run_ids, - "sort_by": sort_by, - "sort_direction": sort_direction, - "tag_filter_type": tag_filter_type, - "tag_ids": tag_ids, - "topic_ids": topic_ids, + "date_interval": date_interval, + "dimensions": dimensions, + "filters": filters, + "order_by": order_by, + "pagination": pagination, }, report_query_sentiment_v2_params.ReportQuerySentimentV2Params, ), @@ -1816,38 +1807,21 @@ async def query_sentiment_v2( *, asset_name: str, category_id: str, - end_date: str, - start_date: str, - claim_filters: Optional[report_query_sentiment_v2_params.ClaimFilters] | Omit = omit, - comparison_end_date: Optional[str] | Omit = omit, - comparison_start_date: Optional[str] | Omit = omit, - date_bucket: Optional[Literal["daily", "weekly", "monthly"]] | Omit = omit, - exclude_topic_ids: bool | Omit = omit, - group_by: Optional[ - List[ - Literal[ - "topic", "region", "platform", "prompt", "persona", "tag", "theme", "claim", "run", "competitor" - ] + end_date: Union[str, datetime], + metrics: List[Literal["sentiment", "occurrence"]], + start_date: Union[str, datetime], + comparison_end_date: Union[str, datetime, None] | Omit = omit, + comparison_start_date: Union[str, datetime, None] | Omit = omit, + date_interval: Literal["hour", "day", "week", "month", "quarter", "year", "relative_week"] | Omit = omit, + dimensions: List[ + Literal[ + "date", "topic", "region", "model", "prompt", "persona", "tag", "theme", "claim", "run", "asset_name" ] ] | Omit = omit, - include_no_persona: bool | Omit = omit, - include_no_tag: bool | Omit = omit, - limit: Optional[int] | Omit = omit, - metrics: Optional[List[Literal["sentiment", "occurrence"]]] | Omit = omit, - offset: int | Omit = omit, - owned_asset_names_to_exclude: SequenceNotStr[str] | Omit = omit, - persona_ids: Optional[SequenceNotStr[str]] | Omit = omit, - platform_ids: Optional[SequenceNotStr[str]] | Omit = omit, - prompt_ids: Optional[SequenceNotStr[str]] | Omit = omit, - region_ids: Optional[SequenceNotStr[str]] | Omit = omit, - run_ids: Optional[SequenceNotStr[str]] | Omit = omit, - sort_by: Optional[Literal["occurrence", "assessment_count", "positive_sentiment", "negative_sentiment"]] - | Omit = omit, - sort_direction: Literal["asc", "desc"] | Omit = omit, - tag_filter_type: Literal["all", "any"] | Omit = omit, - tag_ids: Optional[SequenceNotStr[str]] | Omit = omit, - topic_ids: Optional[SequenceNotStr[str]] | Omit = omit, + filters: Iterable[report_query_sentiment_v2_params.Filter] | Omit = omit, + order_by: Dict[str, Literal["asc", "desc"]] | Omit = omit, + pagination: Pagination | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -1855,10 +1829,32 @@ async def query_sentiment_v2( extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> ReportQuerySentimentV2Response: - """ - Query Sentiment V2 + """Query Sentiment V2 Args: + end_date: End date for the report. + + Accepts formats: YYYY-MM-DD, YYYY-MM-DD HH:MM, or full + ISO timestamp. + + start_date: Start date for the report. Accepts formats: YYYY-MM-DD, YYYY-MM-DD HH:MM, or + full ISO timestamp. + + comparison_end_date: End of the previous period for delta computation. + + comparison_start_date: Start of the previous period for delta computation. + + date_interval: Date interval for the report. Only used when dimensions includes date. + + dimensions: Dimensions to group the report by. + + filters: List of filters to apply to the sentiment-v2 report. + + order_by: Custom ordering of report results. Dimension keys must also be present in + dimensions. The sentiment metric orders by positive_sentiment. + + pagination: Pagination settings for the report results. + extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -1874,29 +1870,15 @@ async def query_sentiment_v2( "asset_name": asset_name, "category_id": category_id, "end_date": end_date, + "metrics": metrics, "start_date": start_date, - "claim_filters": claim_filters, "comparison_end_date": comparison_end_date, "comparison_start_date": comparison_start_date, - "date_bucket": date_bucket, - "exclude_topic_ids": exclude_topic_ids, - "group_by": group_by, - "include_no_persona": include_no_persona, - "include_no_tag": include_no_tag, - "limit": limit, - "metrics": metrics, - "offset": offset, - "owned_asset_names_to_exclude": owned_asset_names_to_exclude, - "persona_ids": persona_ids, - "platform_ids": platform_ids, - "prompt_ids": prompt_ids, - "region_ids": region_ids, - "run_ids": run_ids, - "sort_by": sort_by, - "sort_direction": sort_direction, - "tag_filter_type": tag_filter_type, - "tag_ids": tag_ids, - "topic_ids": topic_ids, + "date_interval": date_interval, + "dimensions": dimensions, + "filters": filters, + "order_by": order_by, + "pagination": pagination, }, report_query_sentiment_v2_params.ReportQuerySentimentV2Params, ), diff --git a/src/profound/types/report_query_sentiment_v2_params.py b/src/profound/types/report_query_sentiment_v2_params.py index 32f1b261..8080298c 100644 --- a/src/profound/types/report_query_sentiment_v2_params.py +++ b/src/profound/types/report_query_sentiment_v2_params.py @@ -2,12 +2,30 @@ from __future__ import annotations -from typing import List, Optional -from typing_extensions import Literal, Required, TypedDict +from typing import Dict, List, Union, Iterable +from datetime import datetime +from typing_extensions import Literal, Required, Annotated, TypeAlias, TypedDict from .._types import SequenceNotStr - -__all__ = ["ReportQuerySentimentV2Params", "ClaimFilters"] +from .._utils import PropertyInfo +from .shared_params.pagination import Pagination + +__all__ = [ + "ReportQuerySentimentV2Params", + "Filter", + "FilterSentimentV2ModelIDFilter", + "FilterSentimentV2RegionIDFilter", + "FilterSentimentV2TopicIDFilter", + "FilterSentimentV2PromptIDFilter", + "FilterSentimentV2PersonaIDFilter", + "FilterSentimentV2TagIDFilter", + "FilterSentimentV2RunIDFilter", + "FilterSentimentV2ThemeIDFilter", + "FilterSentimentV2ThemeFilter", + "FilterSentimentV2ClaimIDFilter", + "FilterSentimentV2ClaimFilter", + "FilterSentimentV2SentimentFilter", +] class ReportQuerySentimentV2Params(TypedDict, total=False): @@ -15,62 +33,179 @@ class ReportQuerySentimentV2Params(TypedDict, total=False): category_id: Required[str] - end_date: Required[str] + end_date: Required[Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]] + """End date for the report. + + Accepts formats: YYYY-MM-DD, YYYY-MM-DD HH:MM, or full ISO timestamp. + """ - start_date: Required[str] + metrics: Required[List[Literal["sentiment", "occurrence"]]] - claim_filters: Optional[ClaimFilters] + start_date: Required[Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]] + """Start date for the report. - comparison_end_date: Optional[str] + Accepts formats: YYYY-MM-DD, YYYY-MM-DD HH:MM, or full ISO timestamp. + """ - comparison_start_date: Optional[str] + comparison_end_date: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")] + """End of the previous period for delta computation.""" - date_bucket: Optional[Literal["daily", "weekly", "monthly"]] + comparison_start_date: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")] + """Start of the previous period for delta computation.""" - exclude_topic_ids: bool + date_interval: Literal["hour", "day", "week", "month", "quarter", "year", "relative_week"] + """Date interval for the report. Only used when dimensions includes date.""" - group_by: Optional[ - List[Literal["topic", "region", "platform", "prompt", "persona", "tag", "theme", "claim", "run", "competitor"]] + dimensions: List[ + Literal["date", "topic", "region", "model", "prompt", "persona", "tag", "theme", "claim", "run", "asset_name"] ] + """Dimensions to group the report by.""" + + filters: Iterable[Filter] + """List of filters to apply to the sentiment-v2 report.""" + + order_by: Dict[str, Literal["asc", "desc"]] + """Custom ordering of report results. + + Dimension keys must also be present in dimensions. The sentiment metric orders + by positive_sentiment. + """ + + pagination: Pagination + """Pagination settings for the report results.""" + + +class FilterSentimentV2ModelIDFilter(TypedDict, total=False): + field: Required[Literal["model_id"]] + + operator: Required[Literal["is", "not_is", "in", "not_in"]] + + value: Required[Union[str, SequenceNotStr[str]]] + + +class FilterSentimentV2RegionIDFilter(TypedDict, total=False): + field: Required[Literal["region_id"]] + + operator: Required[Literal["is", "not_is", "in", "not_in"]] + + value: Required[Union[str, SequenceNotStr[str]]] + + +class FilterSentimentV2TopicIDFilter(TypedDict, total=False): + field: Required[Literal["topic_id"]] + + operator: Required[Literal["is", "not_is", "in", "not_in"]] + + value: Required[Union[str, SequenceNotStr[str]]] + - include_no_persona: bool +class FilterSentimentV2PromptIDFilter(TypedDict, total=False): + field: Required[Literal["prompt_id"]] - include_no_tag: bool + operator: Required[Literal["is", "not_is", "in", "not_in"]] - limit: Optional[int] + value: Required[Union[str, SequenceNotStr[str]]] - metrics: Optional[List[Literal["sentiment", "occurrence"]]] - offset: int +class FilterSentimentV2PersonaIDFilter(TypedDict, total=False): + field: Required[Literal["persona_id"]] - owned_asset_names_to_exclude: SequenceNotStr[str] + operator: Required[Literal["is", "not_is", "in", "not_in"]] - persona_ids: Optional[SequenceNotStr[str]] + value: Required[Union[str, SequenceNotStr[str]]] - platform_ids: Optional[SequenceNotStr[str]] - prompt_ids: Optional[SequenceNotStr[str]] +class FilterSentimentV2TagIDFilter(TypedDict, total=False): + field: Required[Literal["tag_id"]] - region_ids: Optional[SequenceNotStr[str]] + operator: Required[Literal["is", "not_is", "in", "not_in"]] - run_ids: Optional[SequenceNotStr[str]] + value: Required[Union[str, SequenceNotStr[str]]] - sort_by: Optional[Literal["occurrence", "assessment_count", "positive_sentiment", "negative_sentiment"]] - sort_direction: Literal["asc", "desc"] +class FilterSentimentV2RunIDFilter(TypedDict, total=False): + field: Required[Literal["run_id"]] - tag_filter_type: Literal["all", "any"] + operator: Required[Literal["is", "not_is", "in", "not_in"]] + + value: Required[Union[str, SequenceNotStr[str]]] + + +class FilterSentimentV2ThemeIDFilter(TypedDict, total=False): + field: Required[Literal["theme_id"]] + + operator: Required[Literal["is", "not_is", "in", "not_in"]] + + value: Required[Union[str, SequenceNotStr[str]]] + + +class FilterSentimentV2ThemeFilter(TypedDict, total=False): + field: Required[Literal["theme"]] + + operator: Required[ + Literal[ + "is", + "not_is", + "in", + "not_in", + "contains", + "not_contains", + "matches", + "contains_case_insensitive", + "not_contains_case_insensitive", + ] + ] + + value: Required[Union[str, SequenceNotStr[str]]] + + +class FilterSentimentV2ClaimIDFilter(TypedDict, total=False): + field: Required[Literal["claim_id"]] + + operator: Required[Literal["is", "not_is", "in", "not_in"]] + + value: Required[Union[str, SequenceNotStr[str]]] + + +class FilterSentimentV2ClaimFilter(TypedDict, total=False): + field: Required[Literal["claim"]] + + operator: Required[ + Literal[ + "is", + "not_is", + "in", + "not_in", + "contains", + "not_contains", + "matches", + "contains_case_insensitive", + "not_contains_case_insensitive", + ] + ] - tag_ids: Optional[SequenceNotStr[str]] + value: Required[Union[str, SequenceNotStr[str]]] - topic_ids: Optional[SequenceNotStr[str]] +class FilterSentimentV2SentimentFilter(TypedDict, total=False): + field: Required[Literal["sentiment"]] -class ClaimFilters(TypedDict, total=False): - claim: Optional[str] + operator: Required[Literal["is", "not_is", "in", "not_in"]] - claim_id: Optional[str] + value: Required[Union[Literal["positive", "negative"], List[Literal["positive", "negative"]]]] - sentiment: Optional[Literal["positive", "negative"]] - theme_id: Optional[str] +Filter: TypeAlias = Union[ + FilterSentimentV2ModelIDFilter, + FilterSentimentV2RegionIDFilter, + FilterSentimentV2TopicIDFilter, + FilterSentimentV2PromptIDFilter, + FilterSentimentV2PersonaIDFilter, + FilterSentimentV2TagIDFilter, + FilterSentimentV2RunIDFilter, + FilterSentimentV2ThemeIDFilter, + FilterSentimentV2ThemeFilter, + FilterSentimentV2ClaimIDFilter, + FilterSentimentV2ClaimFilter, + FilterSentimentV2SentimentFilter, +] diff --git a/tests/api_resources/test_reports.py b/tests/api_resources/test_reports.py index 54e7aa35..2f0f249f 100644 --- a/tests/api_resources/test_reports.py +++ b/tests/api_resources/test_reports.py @@ -456,8 +456,9 @@ def test_method_query_sentiment_v2(self, client: Profound) -> None: report = client.reports.query_sentiment_v2( asset_name="asset_name", category_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", - end_date="end_date", - start_date="start_date", + end_date=parse_datetime("2019-12-27T18:11:19.117Z"), + metrics=["sentiment"], + start_date=parse_datetime("2019-12-27T18:11:19.117Z"), ) assert_matches_type(ReportQuerySentimentV2Response, report, path=["response"]) @@ -467,35 +468,25 @@ def test_method_query_sentiment_v2_with_all_params(self, client: Profound) -> No report = client.reports.query_sentiment_v2( asset_name="asset_name", category_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", - end_date="end_date", - start_date="start_date", - claim_filters={ - "claim": "claim", - "claim_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", - "sentiment": "positive", - "theme_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", - }, - comparison_end_date="comparison_end_date", - comparison_start_date="comparison_start_date", - date_bucket="daily", - exclude_topic_ids=True, - group_by=["topic"], - include_no_persona=True, - include_no_tag=True, - limit=1, + end_date=parse_datetime("2019-12-27T18:11:19.117Z"), metrics=["sentiment"], - offset=0, - owned_asset_names_to_exclude=["string"], - persona_ids=["182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"], - platform_ids=["182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"], - prompt_ids=["182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"], - region_ids=["182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"], - run_ids=["182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"], - sort_by="occurrence", - sort_direction="asc", - tag_filter_type="all", - tag_ids=["182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"], - topic_ids=["182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"], + start_date=parse_datetime("2019-12-27T18:11:19.117Z"), + comparison_end_date=parse_datetime("2019-12-27T18:11:19.117Z"), + comparison_start_date=parse_datetime("2019-12-27T18:11:19.117Z"), + date_interval="hour", + dimensions=["date"], + filters=[ + { + "field": "model_id", + "operator": "is", + "value": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", + } + ], + order_by={"occurrence": "desc"}, + pagination={ + "limit": 1, + "offset": 0, + }, ) assert_matches_type(ReportQuerySentimentV2Response, report, path=["response"]) @@ -505,8 +496,9 @@ def test_raw_response_query_sentiment_v2(self, client: Profound) -> None: response = client.reports.with_raw_response.query_sentiment_v2( asset_name="asset_name", category_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", - end_date="end_date", - start_date="start_date", + end_date=parse_datetime("2019-12-27T18:11:19.117Z"), + metrics=["sentiment"], + start_date=parse_datetime("2019-12-27T18:11:19.117Z"), ) assert response.is_closed is True @@ -520,8 +512,9 @@ def test_streaming_response_query_sentiment_v2(self, client: Profound) -> None: with client.reports.with_streaming_response.query_sentiment_v2( asset_name="asset_name", category_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", - end_date="end_date", - start_date="start_date", + end_date=parse_datetime("2019-12-27T18:11:19.117Z"), + metrics=["sentiment"], + start_date=parse_datetime("2019-12-27T18:11:19.117Z"), ) as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -1308,8 +1301,9 @@ async def test_method_query_sentiment_v2(self, async_client: AsyncProfound) -> N report = await async_client.reports.query_sentiment_v2( asset_name="asset_name", category_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", - end_date="end_date", - start_date="start_date", + end_date=parse_datetime("2019-12-27T18:11:19.117Z"), + metrics=["sentiment"], + start_date=parse_datetime("2019-12-27T18:11:19.117Z"), ) assert_matches_type(ReportQuerySentimentV2Response, report, path=["response"]) @@ -1319,35 +1313,25 @@ async def test_method_query_sentiment_v2_with_all_params(self, async_client: Asy report = await async_client.reports.query_sentiment_v2( asset_name="asset_name", category_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", - end_date="end_date", - start_date="start_date", - claim_filters={ - "claim": "claim", - "claim_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", - "sentiment": "positive", - "theme_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", - }, - comparison_end_date="comparison_end_date", - comparison_start_date="comparison_start_date", - date_bucket="daily", - exclude_topic_ids=True, - group_by=["topic"], - include_no_persona=True, - include_no_tag=True, - limit=1, + end_date=parse_datetime("2019-12-27T18:11:19.117Z"), metrics=["sentiment"], - offset=0, - owned_asset_names_to_exclude=["string"], - persona_ids=["182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"], - platform_ids=["182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"], - prompt_ids=["182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"], - region_ids=["182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"], - run_ids=["182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"], - sort_by="occurrence", - sort_direction="asc", - tag_filter_type="all", - tag_ids=["182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"], - topic_ids=["182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"], + start_date=parse_datetime("2019-12-27T18:11:19.117Z"), + comparison_end_date=parse_datetime("2019-12-27T18:11:19.117Z"), + comparison_start_date=parse_datetime("2019-12-27T18:11:19.117Z"), + date_interval="hour", + dimensions=["date"], + filters=[ + { + "field": "model_id", + "operator": "is", + "value": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", + } + ], + order_by={"occurrence": "desc"}, + pagination={ + "limit": 1, + "offset": 0, + }, ) assert_matches_type(ReportQuerySentimentV2Response, report, path=["response"]) @@ -1357,8 +1341,9 @@ async def test_raw_response_query_sentiment_v2(self, async_client: AsyncProfound response = await async_client.reports.with_raw_response.query_sentiment_v2( asset_name="asset_name", category_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", - end_date="end_date", - start_date="start_date", + end_date=parse_datetime("2019-12-27T18:11:19.117Z"), + metrics=["sentiment"], + start_date=parse_datetime("2019-12-27T18:11:19.117Z"), ) assert response.is_closed is True @@ -1372,8 +1357,9 @@ async def test_streaming_response_query_sentiment_v2(self, async_client: AsyncPr async with async_client.reports.with_streaming_response.query_sentiment_v2( asset_name="asset_name", category_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", - end_date="end_date", - start_date="start_date", + end_date=parse_datetime("2019-12-27T18:11:19.117Z"), + metrics=["sentiment"], + start_date=parse_datetime("2019-12-27T18:11:19.117Z"), ) as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" From 242ce7ea2c283c05c68fab3b5e1a337581cfac2d Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 19 Jun 2026 14:17:34 +0000 Subject: [PATCH 04/25] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 8039f1ea..d1059595 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-63bb8134be74c4ec0cfe58bcaea990a72aba2f50a0bb24bc8138929502367dfa.yml -openapi_spec_hash: 8049967a5a9d8414e1acc7986cfb6d04 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-cf6c4eaf171d0cf9edb713cabb2e860bef2232ccf5648c596a4f1b2d7674c603.yml +openapi_spec_hash: efb078bc3664f46256518e0e1d599f54 config_hash: 341368a8c64fae1694b7fad2df7c56e0 From ad2b1bce291f4ffadae9318591773295edadea4d Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 19 Jun 2026 17:17:36 +0000 Subject: [PATCH 05/25] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index d1059595..f601c989 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-cf6c4eaf171d0cf9edb713cabb2e860bef2232ccf5648c596a4f1b2d7674c603.yml -openapi_spec_hash: efb078bc3664f46256518e0e1d599f54 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-c5cb90b654853ba99e4c42967123666b757a06d8a442228d01e65d7b80cc543c.yml +openapi_spec_hash: 45327560ccb3b5db19f23af7e50e2643 config_hash: 341368a8c64fae1694b7fad2df7c56e0 From 1a6816002e85c135e318426a0d556bbe8ff3d667 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 19 Jun 2026 19:17:36 +0000 Subject: [PATCH 06/25] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index f601c989..16e4b8a5 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-c5cb90b654853ba99e4c42967123666b757a06d8a442228d01e65d7b80cc543c.yml -openapi_spec_hash: 45327560ccb3b5db19f23af7e50e2643 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-719f420eeb749b4201dd4b7dae04ea9c5f538d68d833407a558085f16777d694.yml +openapi_spec_hash: c4a678a873fae6b9b125ea8118be3ae6 config_hash: 341368a8c64fae1694b7fad2df7c56e0 From a78f5d6d40f36ea2d1ce25d0fc38107c1e74d6ed Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 19 Jun 2026 21:17:34 +0000 Subject: [PATCH 07/25] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 16e4b8a5..a85fdc5e 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-719f420eeb749b4201dd4b7dae04ea9c5f538d68d833407a558085f16777d694.yml -openapi_spec_hash: c4a678a873fae6b9b125ea8118be3ae6 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-2e6759df4d81fb8474a182a7b9d8a815edfdd1d10dfeaf4a8855178ef8c1cbc3.yml +openapi_spec_hash: e7d505a07df4308f8e342f538ff6afcb config_hash: 341368a8c64fae1694b7fad2df7c56e0 From f4959c9f290882cadd16b6537d61dac26b977c08 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 19 Jun 2026 22:17:33 +0000 Subject: [PATCH 08/25] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index a85fdc5e..fe1c9300 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-2e6759df4d81fb8474a182a7b9d8a815edfdd1d10dfeaf4a8855178ef8c1cbc3.yml -openapi_spec_hash: e7d505a07df4308f8e342f538ff6afcb +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-4b761339da82196abe4860e62010bf8bb13e0ca3cf92eb664c60cfcfe92623ce.yml +openapi_spec_hash: 191cbb5a199ffd29ca67003b53b45a4f config_hash: 341368a8c64fae1694b7fad2df7c56e0 From e9963b7841ddc83f62267e51494580bbc7b60c9c Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 22 Jun 2026 10:17:37 +0000 Subject: [PATCH 09/25] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index fe1c9300..a689f6ca 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-4b761339da82196abe4860e62010bf8bb13e0ca3cf92eb664c60cfcfe92623ce.yml -openapi_spec_hash: 191cbb5a199ffd29ca67003b53b45a4f +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-53efdd1940ebd1fe8326bf84a6eaeace045f2092d405be1e3da35c688ef5c8e0.yml +openapi_spec_hash: 78fb8c13d7764975111975b54d1d0ea6 config_hash: 341368a8c64fae1694b7fad2df7c56e0 From c205cf21159695a9f4d74a48a68e63341826733f Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 22 Jun 2026 13:17:42 +0000 Subject: [PATCH 10/25] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index a689f6ca..666c7cdf 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-53efdd1940ebd1fe8326bf84a6eaeace045f2092d405be1e3da35c688ef5c8e0.yml -openapi_spec_hash: 78fb8c13d7764975111975b54d1d0ea6 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-41937ac97f9ce0f81e5052d192898814c00596602cfa2a9798b296d2d8756d3b.yml +openapi_spec_hash: 601778cf4ca6a47b6ccf99a28cde486b config_hash: 341368a8c64fae1694b7fad2df7c56e0 From f87b6d6da1685b333df685f8108d5e35d63877d0 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 22 Jun 2026 14:17:37 +0000 Subject: [PATCH 11/25] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 666c7cdf..884297aa 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-41937ac97f9ce0f81e5052d192898814c00596602cfa2a9798b296d2d8756d3b.yml -openapi_spec_hash: 601778cf4ca6a47b6ccf99a28cde486b +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-0b03cdbd48893c043dae44a92f26ffcc1e494c6d90a4b550dafffd12b984981e.yml +openapi_spec_hash: fa37595327834a87b705c61221e98549 config_hash: 341368a8c64fae1694b7fad2df7c56e0 From 09515e10fa3470917da9eefdc51da15c2169f3ae Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 22 Jun 2026 15:17:39 +0000 Subject: [PATCH 12/25] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 884297aa..b7243857 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-0b03cdbd48893c043dae44a92f26ffcc1e494c6d90a4b550dafffd12b984981e.yml -openapi_spec_hash: fa37595327834a87b705c61221e98549 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-48760a61274b12bbde4150c120e0354a1c75ae0afab162223f81756e8527f060.yml +openapi_spec_hash: 29d7122dad20f00ce44e84dae93ce34d config_hash: 341368a8c64fae1694b7fad2df7c56e0 From bf60b99674296abdf84a6995a275e5e65d42aae1 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 22 Jun 2026 16:17:38 +0000 Subject: [PATCH 13/25] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index b7243857..ad83614c 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-48760a61274b12bbde4150c120e0354a1c75ae0afab162223f81756e8527f060.yml -openapi_spec_hash: 29d7122dad20f00ce44e84dae93ce34d +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-3ad7c23d445f3d829386e60f8154ca227424a791726499c0dc55fca879e523bc.yml +openapi_spec_hash: fe92c550677c88c898e6c40578db5e6e config_hash: 341368a8c64fae1694b7fad2df7c56e0 From e5ec5f38cc317bc92859ca6efc1e9b812a7a1eb9 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 22 Jun 2026 17:17:36 +0000 Subject: [PATCH 14/25] feat(api): api update --- .stats.yml | 4 ++-- .../reports/accuracy_create_citation_analysis_response.py | 4 ++++ .../reports/accuracy_create_inaccurate_clusters_response.py | 4 ++-- .../reports/accuracy_create_inaccurate_themes_response.py | 4 ++-- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.stats.yml b/.stats.yml index ad83614c..ac5af38f 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-3ad7c23d445f3d829386e60f8154ca227424a791726499c0dc55fca879e523bc.yml -openapi_spec_hash: fe92c550677c88c898e6c40578db5e6e +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-64c04423973b3c1a97a87fc6d65633dbf346327b1a920c499a209dfe5f5e9045.yml +openapi_spec_hash: b44e17d88a8f49fa733fda8bb24edd15 config_hash: 341368a8c64fae1694b7fad2df7c56e0 diff --git a/src/profound/types/reports/accuracy_create_citation_analysis_response.py b/src/profound/types/reports/accuracy_create_citation_analysis_response.py index d72de660..f3fa60ab 100644 --- a/src/profound/types/reports/accuracy_create_citation_analysis_response.py +++ b/src/profound/types/reports/accuracy_create_citation_analysis_response.py @@ -31,6 +31,10 @@ class Claim(BaseModel): snippet: str + kb_path: Optional[str] = FieldInfo(alias="kbPath", default=None) + + kb_snippet: Optional[str] = FieldInfo(alias="kbSnippet", default=None) + polarity: Optional[Literal["positive", "negative"]] = None diff --git a/src/profound/types/reports/accuracy_create_inaccurate_clusters_response.py b/src/profound/types/reports/accuracy_create_inaccurate_clusters_response.py index e0519a3d..68eaac34 100644 --- a/src/profound/types/reports/accuracy_create_inaccurate_clusters_response.py +++ b/src/profound/types/reports/accuracy_create_inaccurate_clusters_response.py @@ -18,8 +18,6 @@ class Data(BaseModel): cluster_id: str = FieldInfo(alias="clusterId") - description: str - kb_path: str = FieldInfo(alias="kbPath") kb_snippet: str = FieldInfo(alias="kbSnippet") @@ -32,6 +30,8 @@ class Data(BaseModel): total_response_count: int = FieldInfo(alias="totalResponseCount") + description: Optional[str] = None + response_share_delta: Optional[float] = FieldInfo(alias="responseShareDelta", default=None) diff --git a/src/profound/types/reports/accuracy_create_inaccurate_themes_response.py b/src/profound/types/reports/accuracy_create_inaccurate_themes_response.py index 8b80b206..67ed51c4 100644 --- a/src/profound/types/reports/accuracy_create_inaccurate_themes_response.py +++ b/src/profound/types/reports/accuracy_create_inaccurate_themes_response.py @@ -10,8 +10,6 @@ class Data(BaseModel): - description: str - inaccurate_claim_count: int = FieldInfo(alias="inaccurateClaimCount") inaccurate_cluster_count: int = FieldInfo(alias="inaccurateClusterCount") @@ -30,6 +28,8 @@ class Data(BaseModel): total_response_count: int = FieldInfo(alias="totalResponseCount") + description: Optional[str] = None + response_share_delta: Optional[float] = FieldInfo(alias="responseShareDelta", default=None) From 9750de512ccfbafc37c5c93db618a0ed1890030a Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 22 Jun 2026 22:17:37 +0000 Subject: [PATCH 15/25] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index ac5af38f..268d906b 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-64c04423973b3c1a97a87fc6d65633dbf346327b1a920c499a209dfe5f5e9045.yml -openapi_spec_hash: b44e17d88a8f49fa733fda8bb24edd15 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-0181ad02602e2f8d30701e8c5637d16112f8ca788979e2040c29ae3137f47e9b.yml +openapi_spec_hash: 27e24c8a6dab6f28cf57a940780c363c config_hash: 341368a8c64fae1694b7fad2df7c56e0 From 84612c603c3b8993b441565b8fb04f343c38b303 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 23 Jun 2026 04:17:31 +0000 Subject: [PATCH 16/25] feat(api): api update --- .stats.yml | 4 ++-- .../types/reports/accuracy_create_claim_citations_response.py | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 268d906b..ec85838f 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-0181ad02602e2f8d30701e8c5637d16112f8ca788979e2040c29ae3137f47e9b.yml -openapi_spec_hash: 27e24c8a6dab6f28cf57a940780c363c +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-b0ca715c6a08a90ad8c83018414894c4b2f0f3dbbbb28b63d2a573c913540c1f.yml +openapi_spec_hash: ec6cd2659db4f7fae0eaa7adc33d89fe config_hash: 341368a8c64fae1694b7fad2df7c56e0 diff --git a/src/profound/types/reports/accuracy_create_claim_citations_response.py b/src/profound/types/reports/accuracy_create_claim_citations_response.py index b3dcde3b..c7fbc20a 100644 --- a/src/profound/types/reports/accuracy_create_claim_citations_response.py +++ b/src/profound/types/reports/accuracy_create_claim_citations_response.py @@ -16,6 +16,8 @@ class Data(BaseModel): citation_share: float = FieldInfo(alias="citationShare") + domain_category: str = FieldInfo(alias="domainCategory") + hostname: str href: str From 80c3ebdbc6c8d6d953b1fb4b623ef9de53ccd019 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 23 Jun 2026 14:17:35 +0000 Subject: [PATCH 17/25] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index ec85838f..385aaa2b 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-b0ca715c6a08a90ad8c83018414894c4b2f0f3dbbbb28b63d2a573c913540c1f.yml -openapi_spec_hash: ec6cd2659db4f7fae0eaa7adc33d89fe +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-5a213d4aa34f2e29759efe7bfdc4b368569afb63517087efd01a444ab81d719e.yml +openapi_spec_hash: f86af46f21b29ae72cb3f850e9e64f2d config_hash: 341368a8c64fae1694b7fad2df7c56e0 From 5b6f4bd921006e33d4e32915e0c14218fa6d0a4c Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 23 Jun 2026 15:17:37 +0000 Subject: [PATCH 18/25] feat(api): api update --- .stats.yml | 4 ++-- .../accuracy_create_cluster_verification_pairs_response.py | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 385aaa2b..5091284e 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-5a213d4aa34f2e29759efe7bfdc4b368569afb63517087efd01a444ab81d719e.yml -openapi_spec_hash: f86af46f21b29ae72cb3f850e9e64f2d +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-698df60eeb2c6fe288be1e25da31b40e8ba0dd9106507556b17cbd9a8e20a7e5.yml +openapi_spec_hash: 8524fb1faddb85340d47cdce5b509c67 config_hash: 341368a8c64fae1694b7fad2df7c56e0 diff --git a/src/profound/types/reports/accuracy_create_cluster_verification_pairs_response.py b/src/profound/types/reports/accuracy_create_cluster_verification_pairs_response.py index aaa99e43..bee2fbed 100644 --- a/src/profound/types/reports/accuracy_create_cluster_verification_pairs_response.py +++ b/src/profound/types/reports/accuracy_create_cluster_verification_pairs_response.py @@ -25,3 +25,5 @@ class Data(BaseModel): class AccuracyCreateClusterVerificationPairsResponse(BaseModel): data: List[Data] + + cluster_reasoning: Optional[str] = FieldInfo(alias="clusterReasoning", default=None) From 3b4fbac940d919c9fc528ff47772b5a996e2daa4 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 23 Jun 2026 16:17:26 +0000 Subject: [PATCH 19/25] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 5091284e..ee7bd7fa 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-698df60eeb2c6fe288be1e25da31b40e8ba0dd9106507556b17cbd9a8e20a7e5.yml -openapi_spec_hash: 8524fb1faddb85340d47cdce5b509c67 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-82925f18eae48e6cf3fb50be97df62528bc7c1c90309972877915a90fd1bb0a4.yml +openapi_spec_hash: 1ae614f4207d65f459acba335abfede6 config_hash: 341368a8c64fae1694b7fad2df7c56e0 From 90d8c7c7a95dd2fd14cfbcc652e8a1a4178f2696 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 24 Jun 2026 01:17:39 +0000 Subject: [PATCH 20/25] feat(api): api update --- .stats.yml | 4 ++-- ...uracy_create_citation_analysis_response.py | 19 ++++++++++++++++++- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/.stats.yml b/.stats.yml index ee7bd7fa..d653c19a 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-82925f18eae48e6cf3fb50be97df62528bc7c1c90309972877915a90fd1bb0a4.yml -openapi_spec_hash: 1ae614f4207d65f459acba335abfede6 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-19dddd625f8864f51de1f55cc638b34d39333e3419d4e573c1556c75b918ed2e.yml +openapi_spec_hash: 01df9ee10ec7f741d47bb8be0491e15d config_hash: 341368a8c64fae1694b7fad2df7c56e0 diff --git a/src/profound/types/reports/accuracy_create_citation_analysis_response.py b/src/profound/types/reports/accuracy_create_citation_analysis_response.py index f3fa60ab..b1432870 100644 --- a/src/profound/types/reports/accuracy_create_citation_analysis_response.py +++ b/src/profound/types/reports/accuracy_create_citation_analysis_response.py @@ -7,7 +7,15 @@ from ..._models import BaseModel -__all__ = ["AccuracyCreateCitationAnalysisResponse", "Claim"] +__all__ = ["AccuracyCreateCitationAnalysisResponse", "Claim", "ClaimEvidence"] + + +class ClaimEvidence(BaseModel): + """A single knowledge-base ground-truth snippet that refutes a claim's cluster.""" + + kb_path: Optional[str] = FieldInfo(alias="kbPath", default=None) + + kb_snippet: Optional[str] = FieldInfo(alias="kbSnippet", default=None) class Claim(BaseModel): @@ -15,6 +23,11 @@ class Claim(BaseModel): ``attribute`` carries the cluster's canonical claim so the drawer can group claims the same way it groups sentiment attributes. + + ``reasoning`` and ``evidence`` mirror the cluster's FactCheck verdict: the + "why it's inaccurate" explanation plus the refuting knowledge-base snippets + surfaced in the Claim Analysis drawer. ``kb_path``/``kb_snippet`` are retained + as the cluster's single representative snippet for backward compatibility. """ attribute: str @@ -31,12 +44,16 @@ class Claim(BaseModel): snippet: str + evidence: Optional[List[ClaimEvidence]] = None + kb_path: Optional[str] = FieldInfo(alias="kbPath", default=None) kb_snippet: Optional[str] = FieldInfo(alias="kbSnippet", default=None) polarity: Optional[Literal["positive", "negative"]] = None + reasoning: Optional[str] = None + class AccuracyCreateCitationAnalysisResponse(BaseModel): domain: str From bb2a85d5a029e323656569bc05736789b0503857 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 24 Jun 2026 16:17:27 +0000 Subject: [PATCH 21/25] feat(api): api update --- .stats.yml | 4 ++-- .../accuracy_create_citation_analysis_response.py | 10 +++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.stats.yml b/.stats.yml index d653c19a..9a43f6b9 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-19dddd625f8864f51de1f55cc638b34d39333e3419d4e573c1556c75b918ed2e.yml -openapi_spec_hash: 01df9ee10ec7f741d47bb8be0491e15d +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-b6331611e3d3749c728042b20bd826172d94701f12a3ca091ff5d74fe6fbbe71.yml +openapi_spec_hash: 3fa86b78fe2a7f0624814a1f7535de33 config_hash: 341368a8c64fae1694b7fad2df7c56e0 diff --git a/src/profound/types/reports/accuracy_create_citation_analysis_response.py b/src/profound/types/reports/accuracy_create_citation_analysis_response.py index b1432870..231ebdfc 100644 --- a/src/profound/types/reports/accuracy_create_citation_analysis_response.py +++ b/src/profound/types/reports/accuracy_create_citation_analysis_response.py @@ -11,7 +11,15 @@ class ClaimEvidence(BaseModel): - """A single knowledge-base ground-truth snippet that refutes a claim's cluster.""" + """A single knowledge-base ground-truth snippet that refutes a claim's cluster. + + ``kb_name`` is the official knowledge base name; ``kb_path`` is the document + path within that knowledge base. ``kb_name`` is populated by the external API + layer (which can reach the knowledge-base service) and defaults to ``""`` + elsewhere. + """ + + kb_name: Optional[str] = FieldInfo(alias="kbName", default=None) kb_path: Optional[str] = FieldInfo(alias="kbPath", default=None) From 38422fe509a94a50ab8ab6f01c292004203261f1 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 25 Jun 2026 00:17:34 +0000 Subject: [PATCH 22/25] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 9a43f6b9..3eddb82c 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-b6331611e3d3749c728042b20bd826172d94701f12a3ca091ff5d74fe6fbbe71.yml -openapi_spec_hash: 3fa86b78fe2a7f0624814a1f7535de33 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-f9d6abb45a487552a7d8ef2f4fda7977d0fa0164617607c625e0c67bd2997810.yml +openapi_spec_hash: c808a314bab4cb024605402991e6e909 config_hash: 341368a8c64fae1694b7fad2df7c56e0 From afa40e42bb60bc81555759d7e2845d112fea30a9 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 25 Jun 2026 01:17:28 +0000 Subject: [PATCH 23/25] feat(api): api update --- .stats.yml | 4 ++-- src/profound/types/report_query_sentiment_v2_response.py | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 3eddb82c..68ea7063 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-f9d6abb45a487552a7d8ef2f4fda7977d0fa0164617607c625e0c67bd2997810.yml -openapi_spec_hash: c808a314bab4cb024605402991e6e909 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-1bb5883605c5c30803e2ecd75084ce86d497a707eb62a41db9705f0cacfac855.yml +openapi_spec_hash: 7c411bdacf7e5558e3bd99e6f3344af8 config_hash: 341368a8c64fae1694b7fad2df7c56e0 diff --git a/src/profound/types/report_query_sentiment_v2_response.py b/src/profound/types/report_query_sentiment_v2_response.py index 7b56db3a..6c423994 100644 --- a/src/profound/types/report_query_sentiment_v2_response.py +++ b/src/profound/types/report_query_sentiment_v2_response.py @@ -61,6 +61,12 @@ class DataScores(BaseModel): class DataGroupMetadata(BaseModel): asset_name: Optional[str] = None + child_count_matching: Optional[int] = None + + child_count_total: Optional[int] = None + + child_matches_search: Optional[bool] = None + claim: Optional[str] = None claim_id: Optional[str] = None @@ -69,6 +75,8 @@ class DataGroupMetadata(BaseModel): api_model_id: Optional[str] = FieldInfo(alias="model_id", default=None) + parent_matches_search: Optional[bool] = None + persona_id: Optional[str] = None prompt_id: Optional[str] = None From 4bc28e0b7ed580f6d0c899cae07e1f6bc75ed889 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 25 Jun 2026 03:17:32 +0000 Subject: [PATCH 24/25] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 68ea7063..2ddc3fba 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-1bb5883605c5c30803e2ecd75084ce86d497a707eb62a41db9705f0cacfac855.yml -openapi_spec_hash: 7c411bdacf7e5558e3bd99e6f3344af8 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/profound/profound-30fae74d1df17644ef789b2de6080b0ad6a3fb63c6f64cdaec914267395d1a6a.yml +openapi_spec_hash: 835cfb97bbf14c31c152221350117f14 config_hash: 341368a8c64fae1694b7fad2df7c56e0 From 79cf2a16f22402edaaee69dd7c320ff3598271d5 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 25 Jun 2026 03:17:59 +0000 Subject: [PATCH 25/25] release: 0.51.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 14 ++++++++++++++ pyproject.toml | 2 +- src/profound/_version.py | 2 +- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 26b1ce24..2b2b4fa9 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.50.0" + ".": "0.51.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 18f0cd5d..10568432 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## 0.51.0 (2026-06-25) + +Full Changelog: [v0.50.0...v0.51.0](https://github.com/cooper-square-technologies/profound-python-sdk/compare/v0.50.0...v0.51.0) + +### Features + +* **api:** api update ([afa40e4](https://github.com/cooper-square-technologies/profound-python-sdk/commit/afa40e42bb60bc81555759d7e2845d112fea30a9)) +* **api:** api update ([bb2a85d](https://github.com/cooper-square-technologies/profound-python-sdk/commit/bb2a85d5a029e323656569bc05736789b0503857)) +* **api:** api update ([90d8c7c](https://github.com/cooper-square-technologies/profound-python-sdk/commit/90d8c7c7a95dd2fd14cfbcc652e8a1a4178f2696)) +* **api:** api update ([5b6f4bd](https://github.com/cooper-square-technologies/profound-python-sdk/commit/5b6f4bd921006e33d4e32915e0c14218fa6d0a4c)) +* **api:** api update ([84612c6](https://github.com/cooper-square-technologies/profound-python-sdk/commit/84612c603c3b8993b441565b8fb04f343c38b303)) +* **api:** api update ([e5ec5f3](https://github.com/cooper-square-technologies/profound-python-sdk/commit/e5ec5f38cc317bc92859ca6efc1e9b812a7a1eb9)) +* **api:** api update ([25a1ba5](https://github.com/cooper-square-technologies/profound-python-sdk/commit/25a1ba52db42b607436eb0f84f7b1ba5f580b9e7)) + ## 0.50.0 (2026-06-18) Full Changelog: [v0.49.0...v0.50.0](https://github.com/cooper-square-technologies/profound-python-sdk/compare/v0.49.0...v0.50.0) diff --git a/pyproject.toml b/pyproject.toml index e087a6c5..93cac399 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "profound" -version = "0.50.0" +version = "0.51.0" description = "The official Python library for the profound API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/profound/_version.py b/src/profound/_version.py index 7e67227c..c822d831 100644 --- a/src/profound/_version.py +++ b/src/profound/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "profound" -__version__ = "0.50.0" # x-release-please-version +__version__ = "0.51.0" # x-release-please-version