moderation_api 1.0.0__py3-none-any.whl
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/__init__.py +102 -0
- moderation_api/_base_client.py +1995 -0
- moderation_api/_client.py +454 -0
- moderation_api/_compat.py +219 -0
- moderation_api/_constants.py +14 -0
- moderation_api/_exceptions.py +108 -0
- moderation_api/_files.py +123 -0
- moderation_api/_models.py +857 -0
- moderation_api/_qs.py +150 -0
- moderation_api/_resource.py +43 -0
- moderation_api/_response.py +832 -0
- moderation_api/_streaming.py +333 -0
- moderation_api/_types.py +260 -0
- moderation_api/_utils/__init__.py +64 -0
- moderation_api/_utils/_compat.py +45 -0
- moderation_api/_utils/_datetime_parse.py +136 -0
- moderation_api/_utils/_logs.py +25 -0
- moderation_api/_utils/_proxy.py +65 -0
- moderation_api/_utils/_reflection.py +42 -0
- moderation_api/_utils/_resources_proxy.py +24 -0
- moderation_api/_utils/_streams.py +12 -0
- moderation_api/_utils/_sync.py +58 -0
- moderation_api/_utils/_transform.py +457 -0
- moderation_api/_utils/_typing.py +156 -0
- moderation_api/_utils/_utils.py +421 -0
- moderation_api/_version.py +4 -0
- moderation_api/lib/.keep +4 -0
- moderation_api/py.typed +0 -0
- moderation_api/resources/__init__.py +103 -0
- moderation_api/resources/account.py +135 -0
- moderation_api/resources/actions/__init__.py +33 -0
- moderation_api/resources/actions/actions.py +810 -0
- moderation_api/resources/actions/execute.py +354 -0
- moderation_api/resources/auth.py +204 -0
- moderation_api/resources/authors.py +714 -0
- moderation_api/resources/content.py +244 -0
- moderation_api/resources/queue/__init__.py +33 -0
- moderation_api/resources/queue/items.py +445 -0
- moderation_api/resources/queue/queue.py +302 -0
- moderation_api/resources/wordlist/__init__.py +33 -0
- moderation_api/resources/wordlist/wordlist.py +470 -0
- moderation_api/resources/wordlist/words.py +274 -0
- moderation_api/types/__init__.py +35 -0
- moderation_api/types/account_list_response.py +31 -0
- moderation_api/types/action_create_params.py +94 -0
- moderation_api/types/action_create_response.py +82 -0
- moderation_api/types/action_delete_response.py +13 -0
- moderation_api/types/action_list_params.py +13 -0
- moderation_api/types/action_list_response.py +113 -0
- moderation_api/types/action_retrieve_response.py +105 -0
- moderation_api/types/action_update_params.py +94 -0
- moderation_api/types/action_update_response.py +82 -0
- moderation_api/types/actions/__init__.py +8 -0
- moderation_api/types/actions/execute_execute_by_id_params.py +24 -0
- moderation_api/types/actions/execute_execute_by_id_response.py +20 -0
- moderation_api/types/actions/execute_execute_params.py +30 -0
- moderation_api/types/actions/execute_execute_response.py +10 -0
- moderation_api/types/auth_create_response.py +16 -0
- moderation_api/types/auth_retrieve_response.py +13 -0
- moderation_api/types/author_create_params.py +57 -0
- moderation_api/types/author_create_response.py +120 -0
- moderation_api/types/author_delete_response.py +9 -0
- moderation_api/types/author_list_params.py +40 -0
- moderation_api/types/author_list_response.py +147 -0
- moderation_api/types/author_retrieve_response.py +120 -0
- moderation_api/types/author_update_params.py +54 -0
- moderation_api/types/author_update_response.py +120 -0
- moderation_api/types/content_submit_params.py +352 -0
- moderation_api/types/content_submit_response.py +269 -0
- moderation_api/types/queue/__init__.py +10 -0
- moderation_api/types/queue/item_list_params.py +36 -0
- moderation_api/types/queue/item_list_response.py +90 -0
- moderation_api/types/queue/item_resolve_params.py +15 -0
- moderation_api/types/queue/item_resolve_response.py +19 -0
- moderation_api/types/queue/item_unresolve_params.py +15 -0
- moderation_api/types/queue/item_unresolve_response.py +17 -0
- moderation_api/types/queue_get_stats_params.py +14 -0
- moderation_api/types/queue_get_stats_response.py +110 -0
- moderation_api/types/queue_retrieve_response.py +64 -0
- moderation_api/types/wordlist/__init__.py +8 -0
- moderation_api/types/wordlist/word_add_params.py +14 -0
- moderation_api/types/wordlist/word_add_response.py +20 -0
- moderation_api/types/wordlist/word_remove_params.py +14 -0
- moderation_api/types/wordlist/word_remove_response.py +20 -0
- moderation_api/types/wordlist_get_embedding_status_response.py +18 -0
- moderation_api/types/wordlist_list_response.py +30 -0
- moderation_api/types/wordlist_retrieve_response.py +32 -0
- moderation_api/types/wordlist_update_params.py +29 -0
- moderation_api/types/wordlist_update_response.py +32 -0
- moderation_api-1.0.0.dist-info/METADATA +458 -0
- moderation_api-1.0.0.dist-info/RECORD +93 -0
- moderation_api-1.0.0.dist-info/WHEEL +4 -0
- moderation_api-1.0.0.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
from pydantic import Field as FieldInfo
|
|
7
|
+
|
|
8
|
+
from ..._models import BaseModel
|
|
9
|
+
|
|
10
|
+
__all__ = ["ItemListResponse", "Item", "ItemLabel", "ItemAction", "Pagination"]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ItemLabel(BaseModel):
|
|
14
|
+
flagged: bool
|
|
15
|
+
"""Whether this label caused a flag"""
|
|
16
|
+
|
|
17
|
+
label: str
|
|
18
|
+
"""Label name"""
|
|
19
|
+
|
|
20
|
+
score: float
|
|
21
|
+
"""Confidence score of the label"""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class ItemAction(BaseModel):
|
|
25
|
+
id: str
|
|
26
|
+
"""Action ID"""
|
|
27
|
+
|
|
28
|
+
name: str
|
|
29
|
+
"""Action name"""
|
|
30
|
+
|
|
31
|
+
timestamp: float
|
|
32
|
+
"""Unix timestamp of when the action was taken"""
|
|
33
|
+
|
|
34
|
+
comment: Optional[str] = None
|
|
35
|
+
"""Action comment"""
|
|
36
|
+
|
|
37
|
+
reviewer: Optional[str] = None
|
|
38
|
+
"""Moderator userID"""
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class Item(BaseModel):
|
|
42
|
+
id: str
|
|
43
|
+
"""Content ID"""
|
|
44
|
+
|
|
45
|
+
content: str
|
|
46
|
+
"""The content to be moderated"""
|
|
47
|
+
|
|
48
|
+
flagged: bool
|
|
49
|
+
"""Whether the item is flagged by any label"""
|
|
50
|
+
|
|
51
|
+
labels: List[ItemLabel]
|
|
52
|
+
|
|
53
|
+
status: Literal["pending", "resolved"]
|
|
54
|
+
"""Status of the item"""
|
|
55
|
+
|
|
56
|
+
timestamp: float
|
|
57
|
+
"""Unix timestamp of when the item was created"""
|
|
58
|
+
|
|
59
|
+
actions: Optional[List[ItemAction]] = None
|
|
60
|
+
"""Action IDs taken on this item"""
|
|
61
|
+
|
|
62
|
+
author_id: Optional[str] = FieldInfo(alias="authorId", default=None)
|
|
63
|
+
"""Author ID"""
|
|
64
|
+
|
|
65
|
+
content_type: Optional[str] = FieldInfo(alias="contentType", default=None)
|
|
66
|
+
"""Type of the content object"""
|
|
67
|
+
|
|
68
|
+
conversation_id: Optional[str] = FieldInfo(alias="conversationId", default=None)
|
|
69
|
+
"""Conversation ID"""
|
|
70
|
+
|
|
71
|
+
language: Optional[str] = None
|
|
72
|
+
"""Content language"""
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
class Pagination(BaseModel):
|
|
76
|
+
current_page: float = FieldInfo(alias="currentPage")
|
|
77
|
+
|
|
78
|
+
has_next_page: bool = FieldInfo(alias="hasNextPage")
|
|
79
|
+
|
|
80
|
+
has_previous_page: bool = FieldInfo(alias="hasPreviousPage")
|
|
81
|
+
|
|
82
|
+
total_items: float = FieldInfo(alias="totalItems")
|
|
83
|
+
|
|
84
|
+
total_pages: float = FieldInfo(alias="totalPages")
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class ItemListResponse(BaseModel):
|
|
88
|
+
items: List[Item]
|
|
89
|
+
|
|
90
|
+
pagination: Pagination
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["ItemResolveParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ItemResolveParams(TypedDict, total=False):
|
|
11
|
+
id: Required[str]
|
|
12
|
+
"""The queue ID"""
|
|
13
|
+
|
|
14
|
+
comment: str
|
|
15
|
+
"""Optional comment"""
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from pydantic import Field as FieldInfo
|
|
6
|
+
|
|
7
|
+
from ..._models import BaseModel
|
|
8
|
+
|
|
9
|
+
__all__ = ["ItemResolveResponse"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ItemResolveResponse(BaseModel):
|
|
13
|
+
resolved_at: str = FieldInfo(alias="resolvedAt")
|
|
14
|
+
"""Timestamp when the item was resolved"""
|
|
15
|
+
|
|
16
|
+
success: bool
|
|
17
|
+
|
|
18
|
+
comment: Optional[str] = None
|
|
19
|
+
"""Optional comment"""
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["ItemUnresolveParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ItemUnresolveParams(TypedDict, total=False):
|
|
11
|
+
id: Required[str]
|
|
12
|
+
"""The queue ID"""
|
|
13
|
+
|
|
14
|
+
comment: str
|
|
15
|
+
"""Optional reason for unresolving the item"""
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from pydantic import Field as FieldInfo
|
|
4
|
+
|
|
5
|
+
from ..._models import BaseModel
|
|
6
|
+
|
|
7
|
+
__all__ = ["ItemUnresolveResponse"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ItemUnresolveResponse(BaseModel):
|
|
11
|
+
status: str
|
|
12
|
+
"""New status of the item"""
|
|
13
|
+
|
|
14
|
+
success: bool
|
|
15
|
+
|
|
16
|
+
unresolved_at: str = FieldInfo(alias="unresolvedAt")
|
|
17
|
+
"""Timestamp when the item was unresolved"""
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Annotated, TypedDict
|
|
6
|
+
|
|
7
|
+
from .._utils import PropertyInfo
|
|
8
|
+
|
|
9
|
+
__all__ = ["QueueGetStatsParams"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class QueueGetStatsParams(TypedDict, total=False):
|
|
13
|
+
within_days: Annotated[str, PropertyInfo(alias="withinDays")]
|
|
14
|
+
"""Number of days to analyze statistics for"""
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
|
|
5
|
+
from pydantic import Field as FieldInfo
|
|
6
|
+
|
|
7
|
+
from .._models import BaseModel
|
|
8
|
+
|
|
9
|
+
__all__ = [
|
|
10
|
+
"QueueGetStatsResponse",
|
|
11
|
+
"ActionStat",
|
|
12
|
+
"ReviewStats",
|
|
13
|
+
"TopReviewer",
|
|
14
|
+
"TopReviewerTopAction",
|
|
15
|
+
"Trends",
|
|
16
|
+
"TrendsDailyReviewCount",
|
|
17
|
+
"TrendsFlaggedContentTrend",
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class ActionStat(BaseModel):
|
|
22
|
+
action_id: str = FieldInfo(alias="actionId")
|
|
23
|
+
"""ID of the moderation action"""
|
|
24
|
+
|
|
25
|
+
action_name: str = FieldInfo(alias="actionName")
|
|
26
|
+
"""Name of the moderation action"""
|
|
27
|
+
|
|
28
|
+
count: float
|
|
29
|
+
"""Number of times this action was taken"""
|
|
30
|
+
|
|
31
|
+
percentage_of_total: float = FieldInfo(alias="percentageOfTotal")
|
|
32
|
+
"""Percentage this action represents of all actions"""
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class ReviewStats(BaseModel):
|
|
36
|
+
average_time_to_review: float = FieldInfo(alias="averageTimeToReview")
|
|
37
|
+
"""Average time in milliseconds to review an item"""
|
|
38
|
+
|
|
39
|
+
total_pending: float = FieldInfo(alias="totalPending")
|
|
40
|
+
"""Total number of items pending review"""
|
|
41
|
+
|
|
42
|
+
total_reviewed: float = FieldInfo(alias="totalReviewed")
|
|
43
|
+
"""Total number of items reviewed"""
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class TopReviewerTopAction(BaseModel):
|
|
47
|
+
action_id: str = FieldInfo(alias="actionId")
|
|
48
|
+
"""Most used action by this reviewer"""
|
|
49
|
+
|
|
50
|
+
action_name: str = FieldInfo(alias="actionName")
|
|
51
|
+
"""Name of the most used action"""
|
|
52
|
+
|
|
53
|
+
count: float
|
|
54
|
+
"""Number of times this action was used"""
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class TopReviewer(BaseModel):
|
|
58
|
+
average_time_per_review: float = FieldInfo(alias="averageTimePerReview")
|
|
59
|
+
"""Average review time in milliseconds"""
|
|
60
|
+
|
|
61
|
+
name: str
|
|
62
|
+
"""Name of the reviewer"""
|
|
63
|
+
|
|
64
|
+
review_count: float = FieldInfo(alias="reviewCount")
|
|
65
|
+
"""Number of items reviewed"""
|
|
66
|
+
|
|
67
|
+
top_actions: List[TopReviewerTopAction] = FieldInfo(alias="topActions")
|
|
68
|
+
"""Most common actions taken by this reviewer"""
|
|
69
|
+
|
|
70
|
+
user_id: str = FieldInfo(alias="userId")
|
|
71
|
+
"""ID of the reviewer"""
|
|
72
|
+
|
|
73
|
+
accuracy_score: Optional[float] = FieldInfo(alias="accuracyScore", default=None)
|
|
74
|
+
"""Optional accuracy score based on review quality metrics"""
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
class TrendsDailyReviewCount(BaseModel):
|
|
78
|
+
count: float
|
|
79
|
+
"""Number of reviews on this date"""
|
|
80
|
+
|
|
81
|
+
date: str
|
|
82
|
+
"""Date in YYYY-MM-DD format"""
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
class TrendsFlaggedContentTrend(BaseModel):
|
|
86
|
+
label: str
|
|
87
|
+
"""Content flag/label"""
|
|
88
|
+
|
|
89
|
+
trend: float
|
|
90
|
+
"""
|
|
91
|
+
Trend indicator (-1 to 1) showing if this type of flagged content is increasing
|
|
92
|
+
or decreasing
|
|
93
|
+
"""
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
class Trends(BaseModel):
|
|
97
|
+
daily_review_counts: List[TrendsDailyReviewCount] = FieldInfo(alias="dailyReviewCounts")
|
|
98
|
+
|
|
99
|
+
flagged_content_trends: List[TrendsFlaggedContentTrend] = FieldInfo(alias="flaggedContentTrends")
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
class QueueGetStatsResponse(BaseModel):
|
|
103
|
+
action_stats: List[ActionStat] = FieldInfo(alias="actionStats")
|
|
104
|
+
|
|
105
|
+
review_stats: ReviewStats = FieldInfo(alias="reviewStats")
|
|
106
|
+
|
|
107
|
+
top_reviewers: List[TopReviewer] = FieldInfo(alias="topReviewers")
|
|
108
|
+
"""List of top reviewers and their statistics"""
|
|
109
|
+
|
|
110
|
+
trends: Trends
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
from pydantic import Field as FieldInfo
|
|
7
|
+
|
|
8
|
+
from .._models import BaseModel
|
|
9
|
+
|
|
10
|
+
__all__ = ["QueueRetrieveResponse", "Queue", "QueueFilter", "QueueFilterFilterLabel"]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class QueueFilterFilterLabel(BaseModel):
|
|
14
|
+
label: str
|
|
15
|
+
|
|
16
|
+
type: Literal["FLAGGED", "NOT_FLAGGED", "THRESHOLDS"]
|
|
17
|
+
|
|
18
|
+
max_threshold: Optional[float] = FieldInfo(alias="maxThreshold", default=None)
|
|
19
|
+
|
|
20
|
+
min_threshold: Optional[float] = FieldInfo(alias="minThreshold", default=None)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class QueueFilter(BaseModel):
|
|
24
|
+
after_date: Optional[str] = FieldInfo(alias="afterDate", default=None)
|
|
25
|
+
|
|
26
|
+
author_id: Optional[str] = FieldInfo(alias="authorID", default=None)
|
|
27
|
+
|
|
28
|
+
before_date: Optional[str] = FieldInfo(alias="beforeDate", default=None)
|
|
29
|
+
|
|
30
|
+
conversation_ids: Optional[List[Optional[str]]] = FieldInfo(alias="conversationIds", default=None)
|
|
31
|
+
|
|
32
|
+
filtered_action_ids: Optional[List[str]] = FieldInfo(alias="filteredActionIds", default=None)
|
|
33
|
+
|
|
34
|
+
filtered_channel_ids: Optional[List[str]] = FieldInfo(alias="filteredChannelIds", default=None)
|
|
35
|
+
|
|
36
|
+
filter_labels: Optional[List[QueueFilterFilterLabel]] = FieldInfo(alias="filterLabels", default=None)
|
|
37
|
+
|
|
38
|
+
labels: Optional[List[str]] = None
|
|
39
|
+
|
|
40
|
+
recommendation_actions: Optional[List[Literal["review", "allow", "reject"]]] = FieldInfo(
|
|
41
|
+
alias="recommendationActions", default=None
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
show_checked: Optional[bool] = FieldInfo(alias="showChecked", default=None)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class Queue(BaseModel):
|
|
48
|
+
id: str
|
|
49
|
+
|
|
50
|
+
description: str
|
|
51
|
+
|
|
52
|
+
filter: QueueFilter
|
|
53
|
+
|
|
54
|
+
name: str
|
|
55
|
+
|
|
56
|
+
resolved_items_count: float = FieldInfo(alias="resolvedItemsCount")
|
|
57
|
+
|
|
58
|
+
total_items_count: float = FieldInfo(alias="totalItemsCount")
|
|
59
|
+
|
|
60
|
+
unresolved_items_count: float = FieldInfo(alias="unresolvedItemsCount")
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class QueueRetrieveResponse(BaseModel):
|
|
64
|
+
queue: Queue
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from .word_add_params import WordAddParams as WordAddParams
|
|
6
|
+
from .word_add_response import WordAddResponse as WordAddResponse
|
|
7
|
+
from .word_remove_params import WordRemoveParams as WordRemoveParams
|
|
8
|
+
from .word_remove_response import WordRemoveResponse as WordRemoveResponse
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Required, TypedDict
|
|
6
|
+
|
|
7
|
+
from ..._types import SequenceNotStr
|
|
8
|
+
|
|
9
|
+
__all__ = ["WordAddParams"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class WordAddParams(TypedDict, total=False):
|
|
13
|
+
words: Required[SequenceNotStr[str]]
|
|
14
|
+
"""Array of words to add to the wordlist. Duplicate words will be ignored."""
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List
|
|
4
|
+
|
|
5
|
+
from pydantic import Field as FieldInfo
|
|
6
|
+
|
|
7
|
+
from ..._models import BaseModel
|
|
8
|
+
|
|
9
|
+
__all__ = ["WordAddResponse"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class WordAddResponse(BaseModel):
|
|
13
|
+
added_count: float = FieldInfo(alias="addedCount")
|
|
14
|
+
"""Number of words added"""
|
|
15
|
+
|
|
16
|
+
added_words: List[str] = FieldInfo(alias="addedWords")
|
|
17
|
+
"""List of words that were added"""
|
|
18
|
+
|
|
19
|
+
total_count: float = FieldInfo(alias="totalCount")
|
|
20
|
+
"""Total number of words in wordlist"""
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Required, TypedDict
|
|
6
|
+
|
|
7
|
+
from ..._types import SequenceNotStr
|
|
8
|
+
|
|
9
|
+
__all__ = ["WordRemoveParams"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class WordRemoveParams(TypedDict, total=False):
|
|
13
|
+
words: Required[SequenceNotStr[str]]
|
|
14
|
+
"""Array of words to remove from the wordlist"""
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List
|
|
4
|
+
|
|
5
|
+
from pydantic import Field as FieldInfo
|
|
6
|
+
|
|
7
|
+
from ..._models import BaseModel
|
|
8
|
+
|
|
9
|
+
__all__ = ["WordRemoveResponse"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class WordRemoveResponse(BaseModel):
|
|
13
|
+
removed_count: float = FieldInfo(alias="removedCount")
|
|
14
|
+
"""Number of words removed"""
|
|
15
|
+
|
|
16
|
+
removed_words: List[str] = FieldInfo(alias="removedWords")
|
|
17
|
+
"""List of words removed"""
|
|
18
|
+
|
|
19
|
+
total_count: float = FieldInfo(alias="totalCount")
|
|
20
|
+
"""Total number of words in wordlist"""
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from pydantic import Field as FieldInfo
|
|
4
|
+
|
|
5
|
+
from .._models import BaseModel
|
|
6
|
+
|
|
7
|
+
__all__ = ["WordlistGetEmbeddingStatusResponse"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class WordlistGetEmbeddingStatusResponse(BaseModel):
|
|
11
|
+
progress: float
|
|
12
|
+
"""Percentage of words that have been embedded (0-100)"""
|
|
13
|
+
|
|
14
|
+
remaining_words: float = FieldInfo(alias="remainingWords")
|
|
15
|
+
"""Number of words still waiting to be embedded"""
|
|
16
|
+
|
|
17
|
+
total_words: float = FieldInfo(alias="totalWords")
|
|
18
|
+
"""Total number of words in the wordlist"""
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
from typing_extensions import TypeAlias
|
|
5
|
+
|
|
6
|
+
from pydantic import Field as FieldInfo
|
|
7
|
+
|
|
8
|
+
from .._models import BaseModel
|
|
9
|
+
|
|
10
|
+
__all__ = ["WordlistListResponse", "WordlistListResponseItem"]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class WordlistListResponseItem(BaseModel):
|
|
14
|
+
id: str
|
|
15
|
+
"""Unique identifier of the wordlist"""
|
|
16
|
+
|
|
17
|
+
created_at: Optional[str] = FieldInfo(alias="createdAt", default=None)
|
|
18
|
+
"""When the wordlist was created"""
|
|
19
|
+
|
|
20
|
+
description: Optional[str] = None
|
|
21
|
+
"""Description of the wordlist"""
|
|
22
|
+
|
|
23
|
+
name: Optional[str] = None
|
|
24
|
+
"""Name of the wordlist"""
|
|
25
|
+
|
|
26
|
+
user_id: Optional[str] = FieldInfo(alias="userId", default=None)
|
|
27
|
+
"""User who created the wordlist"""
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
WordlistListResponse: TypeAlias = List[WordlistListResponseItem]
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
|
|
5
|
+
from pydantic import Field as FieldInfo
|
|
6
|
+
|
|
7
|
+
from .._models import BaseModel
|
|
8
|
+
|
|
9
|
+
__all__ = ["WordlistRetrieveResponse"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class WordlistRetrieveResponse(BaseModel):
|
|
13
|
+
id: str
|
|
14
|
+
"""ID of the wordlist"""
|
|
15
|
+
|
|
16
|
+
created_at: str = FieldInfo(alias="createdAt")
|
|
17
|
+
"""Creation date of the wordlist"""
|
|
18
|
+
|
|
19
|
+
name: Optional[str] = None
|
|
20
|
+
"""Name of the wordlist"""
|
|
21
|
+
|
|
22
|
+
organization_id: str = FieldInfo(alias="organizationId")
|
|
23
|
+
"""ID of the organization"""
|
|
24
|
+
|
|
25
|
+
strict: bool
|
|
26
|
+
"""Strict mode"""
|
|
27
|
+
|
|
28
|
+
user_id: Optional[str] = FieldInfo(alias="userId", default=None)
|
|
29
|
+
"""ID of the user"""
|
|
30
|
+
|
|
31
|
+
words: List[str]
|
|
32
|
+
"""Words in the wordlist"""
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import TypedDict
|
|
6
|
+
|
|
7
|
+
from .._types import SequenceNotStr
|
|
8
|
+
|
|
9
|
+
__all__ = ["WordlistUpdateParams"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class WordlistUpdateParams(TypedDict, total=False):
|
|
13
|
+
description: str
|
|
14
|
+
"""New description for the wordlist"""
|
|
15
|
+
|
|
16
|
+
key: str
|
|
17
|
+
"""New key for the wordlist"""
|
|
18
|
+
|
|
19
|
+
name: str
|
|
20
|
+
"""New name for the wordlist"""
|
|
21
|
+
|
|
22
|
+
strict: bool
|
|
23
|
+
"""Deprecated. Now using threshold in project settings."""
|
|
24
|
+
|
|
25
|
+
words: SequenceNotStr[str]
|
|
26
|
+
"""New words for the wordlist.
|
|
27
|
+
|
|
28
|
+
Replace the existing words with these new ones. Duplicate words will be ignored.
|
|
29
|
+
"""
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
|
|
5
|
+
from pydantic import Field as FieldInfo
|
|
6
|
+
|
|
7
|
+
from .._models import BaseModel
|
|
8
|
+
|
|
9
|
+
__all__ = ["WordlistUpdateResponse"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class WordlistUpdateResponse(BaseModel):
|
|
13
|
+
id: str
|
|
14
|
+
"""ID of the wordlist"""
|
|
15
|
+
|
|
16
|
+
created_at: str = FieldInfo(alias="createdAt")
|
|
17
|
+
"""Creation date of the wordlist"""
|
|
18
|
+
|
|
19
|
+
name: Optional[str] = None
|
|
20
|
+
"""Name of the wordlist"""
|
|
21
|
+
|
|
22
|
+
organization_id: str = FieldInfo(alias="organizationId")
|
|
23
|
+
"""ID of the organization"""
|
|
24
|
+
|
|
25
|
+
strict: bool
|
|
26
|
+
"""Strict mode"""
|
|
27
|
+
|
|
28
|
+
user_id: Optional[str] = FieldInfo(alias="userId", default=None)
|
|
29
|
+
"""ID of the user"""
|
|
30
|
+
|
|
31
|
+
words: List[str]
|
|
32
|
+
"""Words in the wordlist"""
|