moderation_api 1.23.0__tar.gz → 1.25.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.
- moderation_api-1.25.0/.release-please-manifest.json +3 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/CHANGELOG.md +16 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/PKG-INFO +8 -5
- {moderation_api-1.23.0 → moderation_api-1.25.0}/README.md +7 -4
- {moderation_api-1.23.0 → moderation_api-1.25.0}/pyproject.toml +1 -1
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_version.py +1 -1
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/content.py +14 -2
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/content_submit_params.py +33 -1
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/content_submit_response.py +1 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/api_resources/test_content.py +12 -0
- moderation_api-1.23.0/.release-please-manifest.json +0 -3
- {moderation_api-1.23.0 → moderation_api-1.25.0}/.gitignore +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/CONTRIBUTING.md +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/LICENSE +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/SECURITY.md +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/api.md +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/bin/check-release-environment +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/bin/publish-pypi +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/examples/.keep +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/release-please-config.json +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/requirements-dev.lock +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/__init__.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_base_client.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_client.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_compat.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_constants.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_exceptions.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_files.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_models.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_qs.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_resource.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_streaming.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_types.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_utils/__init__.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_utils/_compat.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_utils/_datetime_parse.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_utils/_json.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_utils/_logs.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_utils/_path.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_utils/_proxy.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_utils/_reflection.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_utils/_resources_proxy.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_utils/_streams.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_utils/_sync.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_utils/_transform.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_utils/_typing.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_utils/_utils.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/lib/.keep +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/py.typed +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/__init__.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/account.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/actions/__init__.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/actions/actions.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/actions/execute.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/auth.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/authors.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/queue/__init__.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/queue/items.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/queue/queue.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/wordlist/__init__.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/wordlist/wordlist.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/wordlist/words.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/__init__.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/account_list_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/action_create_params.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/action_create_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/action_delete_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/action_list_params.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/action_list_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/action_retrieve_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/action_update_params.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/action_update_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/actions/__init__.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/actions/execute_execute_by_id_params.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/actions/execute_execute_by_id_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/actions/execute_execute_params.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/actions/execute_execute_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/auth_create_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/auth_retrieve_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/author_create_params.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/author_create_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/author_delete_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/author_list_params.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/author_list_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/author_retrieve_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/author_update_params.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/author_update_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/queue/__init__.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/queue/item_list_params.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/queue/item_list_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/queue/item_resolve_params.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/queue/item_resolve_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/queue/item_unresolve_params.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/queue/item_unresolve_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/queue_get_stats_params.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/queue_get_stats_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/queue_retrieve_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/wordlist/__init__.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/wordlist/word_add_params.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/wordlist/word_add_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/wordlist/word_remove_params.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/wordlist/word_remove_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/wordlist_get_embedding_status_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/wordlist_list_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/wordlist_retrieve_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/wordlist_update_params.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/wordlist_update_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/__init__.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/api_resources/__init__.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/api_resources/actions/__init__.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/api_resources/actions/test_execute.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/api_resources/queue/__init__.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/api_resources/queue/test_items.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/api_resources/test_account.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/api_resources/test_actions.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/api_resources/test_auth.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/api_resources/test_authors.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/api_resources/test_queue.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/api_resources/test_wordlist.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/api_resources/wordlist/__init__.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/api_resources/wordlist/test_words.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/conftest.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/sample_file.txt +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/test_client.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/test_extract_files.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/test_files.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/test_models.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/test_qs.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/test_required_args.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/test_response.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/test_streaming.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/test_transform.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/test_utils/test_json.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/test_utils/test_path.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/test_utils/test_proxy.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/test_utils/test_typing.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/tests/utils.py +0 -0
- {moderation_api-1.23.0 → moderation_api-1.25.0}/uv.lock +0 -0
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.25.0 (2026-06-18)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v1.24.0...v1.25.0](https://github.com/moderation-api/sdk-python/compare/v1.24.0...v1.25.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([99f9085](https://github.com/moderation-api/sdk-python/commit/99f9085f211b55811acc687d41c5df778f822d4c))
|
|
10
|
+
|
|
11
|
+
## 1.24.0 (2026-06-02)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v1.23.0...v1.24.0](https://github.com/moderation-api/sdk-python/compare/v1.23.0...v1.24.0)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **api:** api update ([45d1814](https://github.com/moderation-api/sdk-python/commit/45d18143451c84ec01a86e55178901674b5bb5e3))
|
|
18
|
+
|
|
3
19
|
## 1.23.0 (2026-06-01)
|
|
4
20
|
|
|
5
21
|
Full Changelog: [v1.22.0...v1.23.0](https://github.com/moderation-api/sdk-python/compare/v1.22.0...v1.23.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: moderation_api
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.25.0
|
|
4
4
|
Summary: The official Python library for the moderation-api API
|
|
5
5
|
Project-URL: Homepage, https://github.com/moderation-api/sdk-python
|
|
6
6
|
Project-URL: Repository, https://github.com/moderation-api/sdk-python
|
|
@@ -165,11 +165,14 @@ from moderation_api import ModerationAPI
|
|
|
165
165
|
|
|
166
166
|
client = ModerationAPI()
|
|
167
167
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
168
|
+
response = client.content.submit(
|
|
169
|
+
content={
|
|
170
|
+
"text": "text",
|
|
171
|
+
"type": "text",
|
|
172
|
+
},
|
|
173
|
+
client_action={"action": "review"},
|
|
171
174
|
)
|
|
172
|
-
print(
|
|
175
|
+
print(response.client_action)
|
|
173
176
|
```
|
|
174
177
|
|
|
175
178
|
## Handling errors
|
|
@@ -130,11 +130,14 @@ from moderation_api import ModerationAPI
|
|
|
130
130
|
|
|
131
131
|
client = ModerationAPI()
|
|
132
132
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
133
|
+
response = client.content.submit(
|
|
134
|
+
content={
|
|
135
|
+
"text": "text",
|
|
136
|
+
"type": "text",
|
|
137
|
+
},
|
|
138
|
+
client_action={"action": "review"},
|
|
136
139
|
)
|
|
137
|
-
print(
|
|
140
|
+
print(response.client_action)
|
|
138
141
|
```
|
|
139
142
|
|
|
140
143
|
## Handling errors
|
|
@@ -50,11 +50,12 @@ class ContentResource(SyncAPIResource):
|
|
|
50
50
|
content: content_submit_params.Content,
|
|
51
51
|
author_id: str | Omit = omit,
|
|
52
52
|
channel: str | Omit = omit,
|
|
53
|
+
client_action: content_submit_params.ClientAction | Omit = omit,
|
|
53
54
|
content_id: str | Omit = omit,
|
|
54
55
|
conversation_id: str | Omit = omit,
|
|
55
56
|
do_not_store: bool | Omit = omit,
|
|
56
57
|
metadata: Dict[str, object] | Omit = omit,
|
|
57
|
-
meta_type: Literal["profile", "message", "post", "comment", "event", "product", "review", "other"]
|
|
58
|
+
meta_type: Literal["profile", "message", "post", "comment", "event", "product", "review", "voice", "other"]
|
|
58
59
|
| Omit = omit,
|
|
59
60
|
policies: Iterable[content_submit_params.Policy] | Omit = omit,
|
|
60
61
|
timestamp: float | Omit = omit,
|
|
@@ -74,6 +75,10 @@ class ContentResource(SyncAPIResource):
|
|
|
74
75
|
channel: Provide a channel ID or key. Will use the project's default channel if not
|
|
75
76
|
provided.
|
|
76
77
|
|
|
78
|
+
client_action: A recommendation from your own client-side flagging (e.g. a banned-IP list or a
|
|
79
|
+
third-party tool). Feeds the rules engine and can escalate or override the
|
|
80
|
+
recommended action. Does not change whether our analysis flagged the content.
|
|
81
|
+
|
|
77
82
|
content_id: The unique ID of the content in your database.
|
|
78
83
|
|
|
79
84
|
conversation_id: For example the ID of a chat room or a post
|
|
@@ -104,6 +109,7 @@ class ContentResource(SyncAPIResource):
|
|
|
104
109
|
"content": content,
|
|
105
110
|
"author_id": author_id,
|
|
106
111
|
"channel": channel,
|
|
112
|
+
"client_action": client_action,
|
|
107
113
|
"content_id": content_id,
|
|
108
114
|
"conversation_id": conversation_id,
|
|
109
115
|
"do_not_store": do_not_store,
|
|
@@ -147,11 +153,12 @@ class AsyncContentResource(AsyncAPIResource):
|
|
|
147
153
|
content: content_submit_params.Content,
|
|
148
154
|
author_id: str | Omit = omit,
|
|
149
155
|
channel: str | Omit = omit,
|
|
156
|
+
client_action: content_submit_params.ClientAction | Omit = omit,
|
|
150
157
|
content_id: str | Omit = omit,
|
|
151
158
|
conversation_id: str | Omit = omit,
|
|
152
159
|
do_not_store: bool | Omit = omit,
|
|
153
160
|
metadata: Dict[str, object] | Omit = omit,
|
|
154
|
-
meta_type: Literal["profile", "message", "post", "comment", "event", "product", "review", "other"]
|
|
161
|
+
meta_type: Literal["profile", "message", "post", "comment", "event", "product", "review", "voice", "other"]
|
|
155
162
|
| Omit = omit,
|
|
156
163
|
policies: Iterable[content_submit_params.Policy] | Omit = omit,
|
|
157
164
|
timestamp: float | Omit = omit,
|
|
@@ -171,6 +178,10 @@ class AsyncContentResource(AsyncAPIResource):
|
|
|
171
178
|
channel: Provide a channel ID or key. Will use the project's default channel if not
|
|
172
179
|
provided.
|
|
173
180
|
|
|
181
|
+
client_action: A recommendation from your own client-side flagging (e.g. a banned-IP list or a
|
|
182
|
+
third-party tool). Feeds the rules engine and can escalate or override the
|
|
183
|
+
recommended action. Does not change whether our analysis flagged the content.
|
|
184
|
+
|
|
174
185
|
content_id: The unique ID of the content in your database.
|
|
175
186
|
|
|
176
187
|
conversation_id: For example the ID of a chat room or a post
|
|
@@ -201,6 +212,7 @@ class AsyncContentResource(AsyncAPIResource):
|
|
|
201
212
|
"content": content,
|
|
202
213
|
"author_id": author_id,
|
|
203
214
|
"channel": channel,
|
|
215
|
+
"client_action": client_action,
|
|
204
216
|
"content_id": content_id,
|
|
205
217
|
"conversation_id": conversation_id,
|
|
206
218
|
"do_not_store": do_not_store,
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/content_submit_params.py
RENAMED
|
@@ -21,6 +21,7 @@ __all__ = [
|
|
|
21
21
|
"ContentObjectDataImage",
|
|
22
22
|
"ContentObjectDataVideo",
|
|
23
23
|
"ContentObjectDataAudio",
|
|
24
|
+
"ClientAction",
|
|
24
25
|
"Policy",
|
|
25
26
|
"PolicyToxicity",
|
|
26
27
|
"PolicyPersonalInformation",
|
|
@@ -69,6 +70,14 @@ class ContentSubmitParams(TypedDict, total=False):
|
|
|
69
70
|
Will use the project's default channel if not provided.
|
|
70
71
|
"""
|
|
71
72
|
|
|
73
|
+
client_action: Annotated[ClientAction, PropertyInfo(alias="clientAction")]
|
|
74
|
+
"""A recommendation from your own client-side flagging (e.g.
|
|
75
|
+
|
|
76
|
+
a banned-IP list or a third-party tool). Feeds the rules engine and can escalate
|
|
77
|
+
or override the recommended action. Does not change whether our analysis flagged
|
|
78
|
+
the content.
|
|
79
|
+
"""
|
|
80
|
+
|
|
72
81
|
content_id: Annotated[str, PropertyInfo(alias="contentId")]
|
|
73
82
|
"""The unique ID of the content in your database."""
|
|
74
83
|
|
|
@@ -82,7 +91,7 @@ class ContentSubmitParams(TypedDict, total=False):
|
|
|
82
91
|
"""Any metadata you want to store with the content"""
|
|
83
92
|
|
|
84
93
|
meta_type: Annotated[
|
|
85
|
-
Literal["profile", "message", "post", "comment", "event", "product", "review", "other"],
|
|
94
|
+
Literal["profile", "message", "post", "comment", "event", "product", "review", "voice", "other"],
|
|
86
95
|
PropertyInfo(alias="metaType"),
|
|
87
96
|
]
|
|
88
97
|
"""The meta type of content being moderated"""
|
|
@@ -200,6 +209,29 @@ class ContentObject(TypedDict, total=False):
|
|
|
200
209
|
Content: TypeAlias = Union[ContentText, ContentImage, ContentVideo, ContentAudio, ContentObject]
|
|
201
210
|
|
|
202
211
|
|
|
212
|
+
class ClientAction(TypedDict, total=False):
|
|
213
|
+
"""A recommendation from your own client-side flagging (e.g.
|
|
214
|
+
|
|
215
|
+
a banned-IP list or a third-party tool). Feeds the rules engine and can escalate or override the recommended action. Does not change whether our analysis flagged the content.
|
|
216
|
+
"""
|
|
217
|
+
|
|
218
|
+
action: Required[Literal["review", "allow", "reject"]]
|
|
219
|
+
"""Your recommendation for the content: allow, review, or reject."""
|
|
220
|
+
|
|
221
|
+
behavior: Literal["override", "escalate"]
|
|
222
|
+
"""How your recommendation combines with ours.
|
|
223
|
+
|
|
224
|
+
Defaults to 'escalate', which only applies it when stricter than ours;
|
|
225
|
+
'override' replaces ours outright.
|
|
226
|
+
"""
|
|
227
|
+
|
|
228
|
+
reason: str
|
|
229
|
+
"""A human-readable explanation for your recommendation."""
|
|
230
|
+
|
|
231
|
+
source: str
|
|
232
|
+
"""Where your recommendation came from, e.g. "banned-ip"."""
|
|
233
|
+
|
|
234
|
+
|
|
203
235
|
class PolicyToxicity(TypedDict, total=False):
|
|
204
236
|
id: Required[Literal["toxicity"]]
|
|
205
237
|
|
|
@@ -38,6 +38,12 @@ class TestContent:
|
|
|
38
38
|
},
|
|
39
39
|
author_id="authorId",
|
|
40
40
|
channel="channel",
|
|
41
|
+
client_action={
|
|
42
|
+
"action": "review",
|
|
43
|
+
"behavior": "override",
|
|
44
|
+
"reason": "reason",
|
|
45
|
+
"source": "source",
|
|
46
|
+
},
|
|
41
47
|
content_id="contentId",
|
|
42
48
|
conversation_id="conversationId",
|
|
43
49
|
do_not_store=True,
|
|
@@ -113,6 +119,12 @@ class TestAsyncContent:
|
|
|
113
119
|
},
|
|
114
120
|
author_id="authorId",
|
|
115
121
|
channel="channel",
|
|
122
|
+
client_action={
|
|
123
|
+
"action": "review",
|
|
124
|
+
"behavior": "override",
|
|
125
|
+
"reason": "reason",
|
|
126
|
+
"source": "source",
|
|
127
|
+
},
|
|
116
128
|
content_id="contentId",
|
|
117
129
|
conversation_id="conversationId",
|
|
118
130
|
do_not_store=True,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_utils/_datetime_parse.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/_utils/_resources_proxy.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/actions/__init__.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/actions/actions.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/actions/execute.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/queue/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/wordlist/__init__.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/wordlist/wordlist.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/resources/wordlist/words.py
RENAMED
|
File without changes
|
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/account_list_response.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/action_create_params.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/action_create_response.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/action_delete_response.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/action_list_params.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/action_list_response.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/action_retrieve_response.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/action_update_params.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/action_update_response.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/actions/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/auth_create_response.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/auth_retrieve_response.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/author_create_params.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/author_create_response.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/author_delete_response.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/author_list_params.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/author_list_response.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/author_retrieve_response.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/author_update_params.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/author_update_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/queue/item_list_params.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/queue/item_list_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/queue_get_stats_params.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/queue_get_stats_response.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/queue_retrieve_response.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/wordlist/__init__.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/wordlist/word_add_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/wordlist_list_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/wordlist_update_params.py
RENAMED
|
File without changes
|
{moderation_api-1.23.0 → moderation_api-1.25.0}/src/moderation_api/types/wordlist_update_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|