profound 0.6.0__tar.gz → 0.8.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of profound might be problematic. Click here for more details.
- profound-0.8.0/.release-please-manifest.json +3 -0
- {profound-0.6.0 → profound-0.8.0}/CHANGELOG.md +16 -0
- {profound-0.6.0 → profound-0.8.0}/PKG-INFO +1 -1
- {profound-0.6.0 → profound-0.8.0}/pyproject.toml +1 -1
- {profound-0.6.0 → profound-0.8.0}/src/profound/_version.py +1 -1
- {profound-0.6.0 → profound-0.8.0}/src/profound/resources/logs/raw.py +4 -8
- {profound-0.6.0 → profound-0.8.0}/src/profound/resources/prompts.py +4 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/resources/reports.py +14 -16
- profound-0.8.0/src/profound/types/logs/raw_bots_params.py +288 -0
- profound-0.8.0/src/profound/types/logs/raw_logs_params.py +285 -0
- profound-0.8.0/src/profound/types/prompt_answers_params.py +142 -0
- profound-0.8.0/src/profound/types/report_citations_params.py +219 -0
- profound-0.8.0/src/profound/types/report_sentiment_params.py +175 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/report_visibility_params.py +80 -12
- {profound-0.6.0 → profound-0.8.0}/tests/api_resources/logs/test_raw.py +2 -2
- {profound-0.6.0 → profound-0.8.0}/tests/api_resources/test_prompts.py +4 -4
- {profound-0.6.0 → profound-0.8.0}/tests/api_resources/test_reports.py +4 -4
- profound-0.6.0/.release-please-manifest.json +0 -3
- profound-0.6.0/src/profound/types/logs/raw_bots_params.py +0 -111
- profound-0.6.0/src/profound/types/logs/raw_logs_params.py +0 -99
- profound-0.6.0/src/profound/types/prompt_answers_params.py +0 -84
- profound-0.6.0/src/profound/types/report_citations_params.py +0 -85
- profound-0.6.0/src/profound/types/report_sentiment_params.py +0 -83
- {profound-0.6.0 → profound-0.8.0}/.gitignore +0 -0
- {profound-0.6.0 → profound-0.8.0}/CONTRIBUTING.md +0 -0
- {profound-0.6.0 → profound-0.8.0}/LICENSE +0 -0
- {profound-0.6.0 → profound-0.8.0}/README.md +0 -0
- {profound-0.6.0 → profound-0.8.0}/SECURITY.md +0 -0
- {profound-0.6.0 → profound-0.8.0}/api.md +0 -0
- {profound-0.6.0 → profound-0.8.0}/bin/check-release-environment +0 -0
- {profound-0.6.0 → profound-0.8.0}/bin/publish-pypi +0 -0
- {profound-0.6.0 → profound-0.8.0}/examples/.keep +0 -0
- {profound-0.6.0 → profound-0.8.0}/noxfile.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/release-please-config.json +0 -0
- {profound-0.6.0 → profound-0.8.0}/requirements-dev.lock +0 -0
- {profound-0.6.0 → profound-0.8.0}/requirements.lock +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/__init__.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_base_client.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_client.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_compat.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_constants.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_exceptions.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_files.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_models.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_qs.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_resource.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_response.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_streaming.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_types.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_utils/__init__.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_utils/_compat.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_utils/_datetime_parse.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_utils/_logs.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_utils/_proxy.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_utils/_reflection.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_utils/_resources_proxy.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_utils/_streams.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_utils/_sync.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_utils/_transform.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_utils/_typing.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/_utils/_utils.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/lib/.keep +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/py.typed +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/resources/__init__.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/resources/logs/__init__.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/resources/logs/logs.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/resources/organizations/__init__.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/resources/organizations/categories.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/resources/organizations/organizations.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/__init__.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/logs/__init__.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/logs/raw_bots_response.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/logs/raw_logs_response.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/organization_domains_response.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/organization_models_response.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/organization_regions_response.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/organizations/__init__.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/organizations/category_list_response.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/organizations/category_prompts_response.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/organizations/category_tags_response.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/organizations/category_topics_response.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/organizations/org_item.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/prompt_answers_response.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/report_citations_response.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/report_info.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/report_response.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/report_result.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/shared/__init__.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/shared/pagination.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/shared_params/__init__.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/src/profound/types/shared_params/pagination.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/__init__.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/api_resources/__init__.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/api_resources/logs/__init__.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/api_resources/organizations/__init__.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/api_resources/organizations/test_categories.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/api_resources/test_organizations.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/conftest.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/sample_file.txt +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/test_client.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/test_deepcopy.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/test_extract_files.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/test_files.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/test_models.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/test_qs.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/test_required_args.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/test_response.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/test_streaming.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/test_transform.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/test_utils/test_proxy.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/test_utils/test_typing.py +0 -0
- {profound-0.6.0 → profound-0.8.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.8.0 (2025-10-28)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.7.0...v0.8.0](https://github.com/cooper-square-technologies/profound-python-sdk/compare/v0.7.0...v0.8.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([7958299](https://github.com/cooper-square-technologies/profound-python-sdk/commit/7958299a1156ad45de08e406fd0d520c32dac51c))
|
|
10
|
+
|
|
11
|
+
## 0.7.0 (2025-10-27)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v0.6.0...v0.7.0](https://github.com/cooper-square-technologies/profound-python-sdk/compare/v0.6.0...v0.7.0)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **api:** api update ([375f64d](https://github.com/cooper-square-technologies/profound-python-sdk/commit/375f64db88b85ce558e5132e00067af6bdc4ff1f))
|
|
18
|
+
|
|
3
19
|
## 0.6.0 (2025-10-21)
|
|
4
20
|
|
|
5
21
|
Full Changelog: [v0.5.0...v0.6.0](https://github.com/cooper-square-technologies/profound-python-sdk/compare/v0.5.0...v0.6.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: profound
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.0
|
|
4
4
|
Summary: The official Python library for the profound API
|
|
5
5
|
Project-URL: Homepage, https://github.com/cooper-square-technologies/profound-python-sdk
|
|
6
6
|
Project-URL: Repository, https://github.com/cooper-square-technologies/profound-python-sdk
|
|
@@ -96,8 +96,7 @@ class RawResource(SyncAPIResource):
|
|
|
96
96
|
end_date: End date for logs. Accepts same formats as start_date. Defaults to now if
|
|
97
97
|
omitted.
|
|
98
98
|
|
|
99
|
-
filters: List of filters to apply to the
|
|
100
|
-
value.
|
|
99
|
+
filters: List of filters to apply to the bots logs query.
|
|
101
100
|
|
|
102
101
|
order_by: Custom ordering of the report results.
|
|
103
102
|
|
|
@@ -195,8 +194,7 @@ class RawResource(SyncAPIResource):
|
|
|
195
194
|
end_date: End date for logs. Accepts same formats as start_date. Defaults to now if
|
|
196
195
|
omitted.
|
|
197
196
|
|
|
198
|
-
filters:
|
|
199
|
-
value.
|
|
197
|
+
filters: Filters to apply to the logs query.
|
|
200
198
|
|
|
201
199
|
order_by: Custom ordering of the report results.
|
|
202
200
|
|
|
@@ -314,8 +312,7 @@ class AsyncRawResource(AsyncAPIResource):
|
|
|
314
312
|
end_date: End date for logs. Accepts same formats as start_date. Defaults to now if
|
|
315
313
|
omitted.
|
|
316
314
|
|
|
317
|
-
filters: List of filters to apply to the
|
|
318
|
-
value.
|
|
315
|
+
filters: List of filters to apply to the bots logs query.
|
|
319
316
|
|
|
320
317
|
order_by: Custom ordering of the report results.
|
|
321
318
|
|
|
@@ -413,8 +410,7 @@ class AsyncRawResource(AsyncAPIResource):
|
|
|
413
410
|
end_date: End date for logs. Accepts same formats as start_date. Defaults to now if
|
|
414
411
|
omitted.
|
|
415
412
|
|
|
416
|
-
filters:
|
|
417
|
-
value.
|
|
413
|
+
filters: Filters to apply to the logs query.
|
|
418
414
|
|
|
419
415
|
order_by: Custom ordering of the report results.
|
|
420
416
|
|
|
@@ -65,6 +65,8 @@ class PromptsResource(SyncAPIResource):
|
|
|
65
65
|
Get the answers for the prompts.
|
|
66
66
|
|
|
67
67
|
Args:
|
|
68
|
+
filters: List of filters to apply to the answers report.
|
|
69
|
+
|
|
68
70
|
pagination: Pagination parameters for the results. Default is 10,000 rows with no offset.
|
|
69
71
|
|
|
70
72
|
extra_headers: Send extra headers
|
|
@@ -135,6 +137,8 @@ class AsyncPromptsResource(AsyncAPIResource):
|
|
|
135
137
|
Get the answers for the prompts.
|
|
136
138
|
|
|
137
139
|
Args:
|
|
140
|
+
filters: List of filters to apply to the answers report.
|
|
141
|
+
|
|
138
142
|
pagination: Pagination parameters for the results. Default is 10,000 rows with no offset.
|
|
139
143
|
|
|
140
144
|
extra_headers: Send extra headers
|
|
@@ -84,8 +84,7 @@ class ReportsResource(SyncAPIResource):
|
|
|
84
84
|
|
|
85
85
|
dimensions: Dimensions to group the report by.
|
|
86
86
|
|
|
87
|
-
filters: List of filters to apply to the report.
|
|
88
|
-
value.
|
|
87
|
+
filters: List of filters to apply to the citations report.
|
|
89
88
|
|
|
90
89
|
order_by: Custom ordering of the report results.
|
|
91
90
|
|
|
@@ -135,10 +134,12 @@ class ReportsResource(SyncAPIResource):
|
|
|
135
134
|
*,
|
|
136
135
|
category_id: str,
|
|
137
136
|
end_date: Union[str, datetime],
|
|
138
|
-
metrics: List[Literal["positive", "negative"]],
|
|
137
|
+
metrics: List[Literal["positive", "negative", "ocurrences"]],
|
|
139
138
|
start_date: Union[str, datetime],
|
|
140
139
|
date_interval: Literal["day", "week", "month", "year"] | Omit = omit,
|
|
141
|
-
dimensions: List[
|
|
140
|
+
dimensions: List[
|
|
141
|
+
Literal["theme", "date", "region", "topic", "model", "asset_name", "tag", "prompt", "sentiment_type"]
|
|
142
|
+
]
|
|
142
143
|
| Omit = omit,
|
|
143
144
|
filters: Iterable[report_sentiment_params.Filter] | Omit = omit,
|
|
144
145
|
order_by: Dict[str, Literal["asc", "desc"]] | Omit = omit,
|
|
@@ -165,8 +166,7 @@ class ReportsResource(SyncAPIResource):
|
|
|
165
166
|
|
|
166
167
|
dimensions: Dimensions to group the report by.
|
|
167
168
|
|
|
168
|
-
filters: List of filters to apply to the report.
|
|
169
|
-
value.
|
|
169
|
+
filters: List of filters to apply to the sentiment report.
|
|
170
170
|
|
|
171
171
|
order_by: Custom ordering of the report results.
|
|
172
172
|
|
|
@@ -245,8 +245,7 @@ class ReportsResource(SyncAPIResource):
|
|
|
245
245
|
|
|
246
246
|
dimensions: Dimensions to group the report by.
|
|
247
247
|
|
|
248
|
-
filters: List of filters to apply to the report.
|
|
249
|
-
value.
|
|
248
|
+
filters: List of filters to apply to the visibility report.
|
|
250
249
|
|
|
251
250
|
order_by: Custom ordering of the report results.
|
|
252
251
|
|
|
@@ -349,8 +348,7 @@ class AsyncReportsResource(AsyncAPIResource):
|
|
|
349
348
|
|
|
350
349
|
dimensions: Dimensions to group the report by.
|
|
351
350
|
|
|
352
|
-
filters: List of filters to apply to the report.
|
|
353
|
-
value.
|
|
351
|
+
filters: List of filters to apply to the citations report.
|
|
354
352
|
|
|
355
353
|
order_by: Custom ordering of the report results.
|
|
356
354
|
|
|
@@ -400,10 +398,12 @@ class AsyncReportsResource(AsyncAPIResource):
|
|
|
400
398
|
*,
|
|
401
399
|
category_id: str,
|
|
402
400
|
end_date: Union[str, datetime],
|
|
403
|
-
metrics: List[Literal["positive", "negative"]],
|
|
401
|
+
metrics: List[Literal["positive", "negative", "ocurrences"]],
|
|
404
402
|
start_date: Union[str, datetime],
|
|
405
403
|
date_interval: Literal["day", "week", "month", "year"] | Omit = omit,
|
|
406
|
-
dimensions: List[
|
|
404
|
+
dimensions: List[
|
|
405
|
+
Literal["theme", "date", "region", "topic", "model", "asset_name", "tag", "prompt", "sentiment_type"]
|
|
406
|
+
]
|
|
407
407
|
| Omit = omit,
|
|
408
408
|
filters: Iterable[report_sentiment_params.Filter] | Omit = omit,
|
|
409
409
|
order_by: Dict[str, Literal["asc", "desc"]] | Omit = omit,
|
|
@@ -430,8 +430,7 @@ class AsyncReportsResource(AsyncAPIResource):
|
|
|
430
430
|
|
|
431
431
|
dimensions: Dimensions to group the report by.
|
|
432
432
|
|
|
433
|
-
filters: List of filters to apply to the report.
|
|
434
|
-
value.
|
|
433
|
+
filters: List of filters to apply to the sentiment report.
|
|
435
434
|
|
|
436
435
|
order_by: Custom ordering of the report results.
|
|
437
436
|
|
|
@@ -510,8 +509,7 @@ class AsyncReportsResource(AsyncAPIResource):
|
|
|
510
509
|
|
|
511
510
|
dimensions: Dimensions to group the report by.
|
|
512
511
|
|
|
513
|
-
filters: List of filters to apply to the report.
|
|
514
|
-
value.
|
|
512
|
+
filters: List of filters to apply to the visibility report.
|
|
515
513
|
|
|
516
514
|
order_by: Custom ordering of the report results.
|
|
517
515
|
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Dict, List, Union, Iterable
|
|
6
|
+
from datetime import datetime
|
|
7
|
+
from typing_extensions import Literal, Required, Annotated, TypeAlias, TypedDict
|
|
8
|
+
|
|
9
|
+
from ..._types import SequenceNotStr
|
|
10
|
+
from ..._utils import PropertyInfo
|
|
11
|
+
from ..shared_params.pagination import Pagination
|
|
12
|
+
|
|
13
|
+
__all__ = [
|
|
14
|
+
"RawBotsParams",
|
|
15
|
+
"Filter",
|
|
16
|
+
"FilterBotNameFilter",
|
|
17
|
+
"FilterBotProviderFilter",
|
|
18
|
+
"FilterBotTypesFilter",
|
|
19
|
+
"FilterMethodFilter",
|
|
20
|
+
"FilterAppModelsAgentAnalyticsFiltersPathFilter",
|
|
21
|
+
"FilterStatusCodeFilter",
|
|
22
|
+
"FilterIPFilter",
|
|
23
|
+
"FilterUserAgentFilter",
|
|
24
|
+
"FilterRefererFilter",
|
|
25
|
+
"FilterQueryParamsFilter",
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class RawBotsParams(TypedDict, total=False):
|
|
30
|
+
domain: Required[str]
|
|
31
|
+
"""Domain to query logs for."""
|
|
32
|
+
|
|
33
|
+
metrics: Required[List[Literal["count"]]]
|
|
34
|
+
|
|
35
|
+
start_date: Required[Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]]
|
|
36
|
+
"""Start date for logs.
|
|
37
|
+
|
|
38
|
+
Accepts: YYYY-MM-DD, YYYY-MM-DD HH:MM, YYYY-MM-DD HH:MM:SS, or full ISO
|
|
39
|
+
timestamp.
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
date_interval: Literal["day", "week", "month", "year"]
|
|
43
|
+
"""Date interval for the report. (only used with date dimension)"""
|
|
44
|
+
|
|
45
|
+
dimensions: List[
|
|
46
|
+
Literal[
|
|
47
|
+
"method",
|
|
48
|
+
"path",
|
|
49
|
+
"status_code",
|
|
50
|
+
"ip",
|
|
51
|
+
"user_agent",
|
|
52
|
+
"referer",
|
|
53
|
+
"query_params",
|
|
54
|
+
"bot_name",
|
|
55
|
+
"bot_provider",
|
|
56
|
+
"bot_types",
|
|
57
|
+
]
|
|
58
|
+
]
|
|
59
|
+
"""Dimensions to group the report by."""
|
|
60
|
+
|
|
61
|
+
end_date: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
|
|
62
|
+
"""End date for logs.
|
|
63
|
+
|
|
64
|
+
Accepts same formats as start_date. Defaults to now if omitted.
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
filters: Iterable[Filter]
|
|
68
|
+
"""List of filters to apply to the bots logs query."""
|
|
69
|
+
|
|
70
|
+
order_by: Dict[str, Literal["asc", "desc"]]
|
|
71
|
+
"""Custom ordering of the report results.
|
|
72
|
+
|
|
73
|
+
The order is a record of key-value pairs where:
|
|
74
|
+
|
|
75
|
+
- key is the field to order by, which can be a metric or dimension
|
|
76
|
+
- value is the direction of the order, either 'asc' for ascending or 'desc' for
|
|
77
|
+
descending.
|
|
78
|
+
|
|
79
|
+
When not specified, the default order is the first metric in the query
|
|
80
|
+
descending.
|
|
81
|
+
"""
|
|
82
|
+
|
|
83
|
+
pagination: Pagination
|
|
84
|
+
"""Pagination settings for the report results."""
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class FilterBotNameFilter(TypedDict, total=False):
|
|
88
|
+
field: Required[Literal["bot_name"]]
|
|
89
|
+
|
|
90
|
+
operator: Required[
|
|
91
|
+
Literal[
|
|
92
|
+
"is",
|
|
93
|
+
"not_is",
|
|
94
|
+
"in",
|
|
95
|
+
"not_in",
|
|
96
|
+
"contains",
|
|
97
|
+
"not_contains",
|
|
98
|
+
"matches",
|
|
99
|
+
"contains_case_insensitive",
|
|
100
|
+
"not_contains_case_insensitive",
|
|
101
|
+
]
|
|
102
|
+
]
|
|
103
|
+
|
|
104
|
+
value: Required[Union[str, SequenceNotStr[str]]]
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
class FilterBotProviderFilter(TypedDict, total=False):
|
|
108
|
+
field: Required[Literal["bot_provider"]]
|
|
109
|
+
|
|
110
|
+
operator: Required[
|
|
111
|
+
Literal[
|
|
112
|
+
"is",
|
|
113
|
+
"not_is",
|
|
114
|
+
"in",
|
|
115
|
+
"not_in",
|
|
116
|
+
"contains",
|
|
117
|
+
"not_contains",
|
|
118
|
+
"matches",
|
|
119
|
+
"contains_case_insensitive",
|
|
120
|
+
"not_contains_case_insensitive",
|
|
121
|
+
]
|
|
122
|
+
]
|
|
123
|
+
|
|
124
|
+
value: Required[Union[str, SequenceNotStr[str]]]
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
class FilterBotTypesFilter(TypedDict, total=False):
|
|
128
|
+
field: Required[Literal["bot_types"]]
|
|
129
|
+
|
|
130
|
+
operator: Required[
|
|
131
|
+
Literal[
|
|
132
|
+
"is",
|
|
133
|
+
"not_is",
|
|
134
|
+
"in",
|
|
135
|
+
"not_in",
|
|
136
|
+
"contains",
|
|
137
|
+
"not_contains",
|
|
138
|
+
"matches",
|
|
139
|
+
"contains_case_insensitive",
|
|
140
|
+
"not_contains_case_insensitive",
|
|
141
|
+
]
|
|
142
|
+
]
|
|
143
|
+
|
|
144
|
+
value: Required[
|
|
145
|
+
Union[Literal["ai_assistant", "ai_training", "index"], List[Literal["ai_assistant", "ai_training", "index"]]]
|
|
146
|
+
]
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
class FilterMethodFilter(TypedDict, total=False):
|
|
150
|
+
field: Required[Literal["method"]]
|
|
151
|
+
|
|
152
|
+
operator: Required[
|
|
153
|
+
Literal[
|
|
154
|
+
"is",
|
|
155
|
+
"not_is",
|
|
156
|
+
"in",
|
|
157
|
+
"not_in",
|
|
158
|
+
"contains",
|
|
159
|
+
"not_contains",
|
|
160
|
+
"matches",
|
|
161
|
+
"contains_case_insensitive",
|
|
162
|
+
"not_contains_case_insensitive",
|
|
163
|
+
]
|
|
164
|
+
]
|
|
165
|
+
|
|
166
|
+
value: Required[Union[str, SequenceNotStr[str]]]
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
class FilterAppModelsAgentAnalyticsFiltersPathFilter(TypedDict, total=False):
|
|
170
|
+
field: Required[Literal["path"]]
|
|
171
|
+
|
|
172
|
+
operator: Required[
|
|
173
|
+
Literal[
|
|
174
|
+
"is",
|
|
175
|
+
"not_is",
|
|
176
|
+
"in",
|
|
177
|
+
"not_in",
|
|
178
|
+
"contains",
|
|
179
|
+
"not_contains",
|
|
180
|
+
"matches",
|
|
181
|
+
"contains_case_insensitive",
|
|
182
|
+
"not_contains_case_insensitive",
|
|
183
|
+
]
|
|
184
|
+
]
|
|
185
|
+
|
|
186
|
+
value: Required[Union[str, SequenceNotStr[str]]]
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
class FilterStatusCodeFilter(TypedDict, total=False):
|
|
190
|
+
field: Required[Literal["status_code"]]
|
|
191
|
+
|
|
192
|
+
operator: Required[Literal["is", "not_is", "in", "not_in"]]
|
|
193
|
+
|
|
194
|
+
value: Required[Union[int, Iterable[int]]]
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
class FilterIPFilter(TypedDict, total=False):
|
|
198
|
+
field: Required[Literal["ip"]]
|
|
199
|
+
|
|
200
|
+
operator: Required[
|
|
201
|
+
Literal[
|
|
202
|
+
"is",
|
|
203
|
+
"not_is",
|
|
204
|
+
"in",
|
|
205
|
+
"not_in",
|
|
206
|
+
"contains",
|
|
207
|
+
"not_contains",
|
|
208
|
+
"matches",
|
|
209
|
+
"contains_case_insensitive",
|
|
210
|
+
"not_contains_case_insensitive",
|
|
211
|
+
]
|
|
212
|
+
]
|
|
213
|
+
|
|
214
|
+
value: Required[Union[str, SequenceNotStr[str]]]
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
class FilterUserAgentFilter(TypedDict, total=False):
|
|
218
|
+
field: Required[Literal["user_agent"]]
|
|
219
|
+
|
|
220
|
+
operator: Required[
|
|
221
|
+
Literal[
|
|
222
|
+
"is",
|
|
223
|
+
"not_is",
|
|
224
|
+
"in",
|
|
225
|
+
"not_in",
|
|
226
|
+
"contains",
|
|
227
|
+
"not_contains",
|
|
228
|
+
"matches",
|
|
229
|
+
"contains_case_insensitive",
|
|
230
|
+
"not_contains_case_insensitive",
|
|
231
|
+
]
|
|
232
|
+
]
|
|
233
|
+
|
|
234
|
+
value: Required[Union[str, SequenceNotStr[str]]]
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
class FilterRefererFilter(TypedDict, total=False):
|
|
238
|
+
field: Required[Literal["referer"]]
|
|
239
|
+
|
|
240
|
+
operator: Required[
|
|
241
|
+
Literal[
|
|
242
|
+
"is",
|
|
243
|
+
"not_is",
|
|
244
|
+
"in",
|
|
245
|
+
"not_in",
|
|
246
|
+
"contains",
|
|
247
|
+
"not_contains",
|
|
248
|
+
"matches",
|
|
249
|
+
"contains_case_insensitive",
|
|
250
|
+
"not_contains_case_insensitive",
|
|
251
|
+
]
|
|
252
|
+
]
|
|
253
|
+
|
|
254
|
+
value: Required[Union[str, SequenceNotStr[str]]]
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
class FilterQueryParamsFilter(TypedDict, total=False):
|
|
258
|
+
field: Required[Literal["query_params"]]
|
|
259
|
+
|
|
260
|
+
operator: Required[
|
|
261
|
+
Literal[
|
|
262
|
+
"is",
|
|
263
|
+
"not_is",
|
|
264
|
+
"in",
|
|
265
|
+
"not_in",
|
|
266
|
+
"contains",
|
|
267
|
+
"not_contains",
|
|
268
|
+
"matches",
|
|
269
|
+
"contains_case_insensitive",
|
|
270
|
+
"not_contains_case_insensitive",
|
|
271
|
+
]
|
|
272
|
+
]
|
|
273
|
+
|
|
274
|
+
value: Required[Union[str, SequenceNotStr[str]]]
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
Filter: TypeAlias = Union[
|
|
278
|
+
FilterBotNameFilter,
|
|
279
|
+
FilterBotProviderFilter,
|
|
280
|
+
FilterBotTypesFilter,
|
|
281
|
+
FilterMethodFilter,
|
|
282
|
+
FilterAppModelsAgentAnalyticsFiltersPathFilter,
|
|
283
|
+
FilterStatusCodeFilter,
|
|
284
|
+
FilterIPFilter,
|
|
285
|
+
FilterUserAgentFilter,
|
|
286
|
+
FilterRefererFilter,
|
|
287
|
+
FilterQueryParamsFilter,
|
|
288
|
+
]
|