taranis-models 1.3.3.dev4__tar.gz → 1.3.3.dev5__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.
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/PKG-INFO +1 -4
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/models/admin.py +21 -0
- taranis_models-1.3.3.dev5/models/assess.py +101 -0
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/models/asset.py +1 -1
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/models/product.py +20 -11
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/models/report.py +2 -2
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/models/user.py +2 -1
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/pyproject.toml +0 -3
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/taranis_models.egg-info/PKG-INFO +1 -4
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/taranis_models.egg-info/requires.txt +0 -3
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/typings/models/__init__.pyi +1 -4
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/typings/models/admin.pyi +5 -11
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/typings/models/assess.pyi +4 -9
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/typings/models/asset.pyi +0 -4
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/typings/models/base.pyi +3 -6
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/typings/models/dashboard.pyi +1 -6
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/typings/models/product.pyi +0 -5
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/typings/models/report.pyi +1 -6
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/typings/models/types.pyi +0 -4
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/typings/models/user.pyi +0 -5
- taranis_models-1.3.3.dev5/uv.lock +267 -0
- taranis_models-1.3.3.dev4/models/assess.py +0 -158
- taranis_models-1.3.3.dev4/uv.lock +0 -387
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/.dockerignore +0 -0
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/.gitignore +0 -0
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/.python-version +0 -0
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/LICENSE.md +0 -0
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/README.md +0 -0
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/models/__init__.py +0 -0
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/models/base.py +0 -0
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/models/dashboard.py +0 -0
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/models/py.typed +0 -0
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/models/types.py +0 -0
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/setup.cfg +0 -0
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/taranis_models.egg-info/SOURCES.txt +0 -0
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/taranis_models.egg-info/dependency_links.txt +0 -0
- {taranis_models-1.3.3.dev4 → taranis_models-1.3.3.dev5}/taranis_models.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: taranis-models
|
|
3
|
-
Version: 1.3.3.
|
|
3
|
+
Version: 1.3.3.dev5
|
|
4
4
|
Summary: Taranis AI Models
|
|
5
5
|
Maintainer-email: AIT <benjamin.akhras@ait.ac.at>
|
|
6
6
|
License-Expression: EUPL-1.2
|
|
@@ -17,9 +17,6 @@ License-File: LICENSE.md
|
|
|
17
17
|
Requires-Dist: pydantic
|
|
18
18
|
Requires-Dist: pydantic-settings
|
|
19
19
|
Requires-Dist: python-dotenv
|
|
20
|
-
Requires-Dist: langcodes
|
|
21
|
-
Requires-Dist: requests
|
|
22
|
-
Requires-Dist: beautifulsoup4
|
|
23
20
|
Provides-Extra: dev
|
|
24
21
|
Requires-Dist: ruff; extra == "dev"
|
|
25
22
|
Requires-Dist: pytest; extra == "dev"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from datetime import datetime
|
|
2
|
+
from functools import cached_property
|
|
2
3
|
from typing import Any, Literal
|
|
3
4
|
|
|
4
5
|
from pydantic import AnyUrl, Field, SecretStr, field_serializer
|
|
@@ -62,6 +63,7 @@ class Address(TaranisBaseModel):
|
|
|
62
63
|
class Organization(TaranisBaseModel):
|
|
63
64
|
_core_endpoint = "/config/organizations"
|
|
64
65
|
_model_name = "organization"
|
|
66
|
+
_search_fields = ["name", "description"]
|
|
65
67
|
|
|
66
68
|
id: int | None = None
|
|
67
69
|
name: str = ""
|
|
@@ -80,6 +82,7 @@ class Permission(TaranisBaseModel):
|
|
|
80
82
|
class ACL(TaranisBaseModel):
|
|
81
83
|
_core_endpoint = "/config/acls"
|
|
82
84
|
_model_name = "acl"
|
|
85
|
+
_search_fields = ["name", "description"]
|
|
83
86
|
_pretty_name = "ACL"
|
|
84
87
|
|
|
85
88
|
id: int | None = None
|
|
@@ -105,6 +108,7 @@ class ParameterValue(TaranisBaseModel):
|
|
|
105
108
|
class Worker(TaranisBaseModel):
|
|
106
109
|
_core_endpoint = "/config/worker-types"
|
|
107
110
|
_model_name = "worker_type"
|
|
111
|
+
_search_fields = ["name", "description"]
|
|
108
112
|
_pretty_name = "Worker Type"
|
|
109
113
|
|
|
110
114
|
id: str | None = None
|
|
@@ -118,6 +122,7 @@ class Worker(TaranisBaseModel):
|
|
|
118
122
|
class Role(TaranisBaseModel):
|
|
119
123
|
_core_endpoint = "/config/roles"
|
|
120
124
|
_model_name = "role"
|
|
125
|
+
_search_fields = ["name", "description"]
|
|
121
126
|
_pretty_name = "Role"
|
|
122
127
|
|
|
123
128
|
id: int | None = None
|
|
@@ -130,6 +135,7 @@ class Role(TaranisBaseModel):
|
|
|
130
135
|
class User(TaranisBaseModel):
|
|
131
136
|
_core_endpoint = "/config/users"
|
|
132
137
|
_model_name = "user"
|
|
138
|
+
_search_fields = ["name", "username"]
|
|
133
139
|
|
|
134
140
|
id: int | None = None
|
|
135
141
|
name: str
|
|
@@ -174,6 +180,7 @@ class WordList(TaranisBaseModel):
|
|
|
174
180
|
_core_endpoint = "/config/word-lists"
|
|
175
181
|
_model_name = "word_list"
|
|
176
182
|
_pretty_name = "Word List"
|
|
183
|
+
_search_fields = ["name", "description"]
|
|
177
184
|
|
|
178
185
|
id: int | None = None
|
|
179
186
|
name: str
|
|
@@ -198,11 +205,19 @@ class OSINTSource(TaranisBaseModel):
|
|
|
198
205
|
enabled: bool | None = True
|
|
199
206
|
status: TaskResult | None = None
|
|
200
207
|
|
|
208
|
+
@cached_property
|
|
209
|
+
def search_field(self) -> str:
|
|
210
|
+
search = f"{self.name} {self.description} "
|
|
211
|
+
if self.parameters:
|
|
212
|
+
search += " ".join(self.parameters.values())
|
|
213
|
+
return search
|
|
214
|
+
|
|
201
215
|
|
|
202
216
|
class OSINTSourceGroup(TaranisBaseModel):
|
|
203
217
|
_core_endpoint = "/config/osint-source-groups"
|
|
204
218
|
_model_name = "osint_source_group"
|
|
205
219
|
_pretty_name = "OSINT Source Group"
|
|
220
|
+
_search_fields = ["name", "description"]
|
|
206
221
|
|
|
207
222
|
id: str | None = None
|
|
208
223
|
name: str
|
|
@@ -221,6 +236,7 @@ class ProductType(TaranisBaseModel):
|
|
|
221
236
|
_core_endpoint = "/config/product-types"
|
|
222
237
|
_model_name = "product_type"
|
|
223
238
|
_pretty_name = "Product Type"
|
|
239
|
+
_search_fields = ["title", "description"]
|
|
224
240
|
|
|
225
241
|
id: int | None = None
|
|
226
242
|
title: str
|
|
@@ -235,6 +251,7 @@ class PublisherPreset(TaranisBaseModel):
|
|
|
235
251
|
_core_endpoint = "/config/publisher-presets"
|
|
236
252
|
_model_name = "publisher_preset"
|
|
237
253
|
_pretty_name = "Publisher Preset"
|
|
254
|
+
_search_fields = ["name", "description"]
|
|
238
255
|
|
|
239
256
|
id: str | None = None
|
|
240
257
|
name: str
|
|
@@ -268,6 +285,7 @@ class ReportItemType(TaranisBaseModel):
|
|
|
268
285
|
_core_endpoint = "/config/report-item-types"
|
|
269
286
|
_model_name = "report_item_type"
|
|
270
287
|
_pretty_name = "Report Item Type"
|
|
288
|
+
_search_fields = ["title", "description"]
|
|
271
289
|
|
|
272
290
|
id: int | None = None
|
|
273
291
|
title: str
|
|
@@ -298,6 +316,7 @@ class Attribute(TaranisBaseModel):
|
|
|
298
316
|
_core_endpoint = "/config/attributes"
|
|
299
317
|
_model_name = "attribute"
|
|
300
318
|
_pretty_name = "Attribute"
|
|
319
|
+
_search_fields = ["name", "description"]
|
|
301
320
|
|
|
302
321
|
id: int | None = None
|
|
303
322
|
name: str
|
|
@@ -311,6 +330,7 @@ class Bot(TaranisBaseModel):
|
|
|
311
330
|
_core_endpoint = "/config/bots"
|
|
312
331
|
_model_name = "bot"
|
|
313
332
|
_pretty_name = "Bot"
|
|
333
|
+
_search_fields = ["name", "description"]
|
|
314
334
|
|
|
315
335
|
id: str | None = None
|
|
316
336
|
name: str
|
|
@@ -325,6 +345,7 @@ class Connector(TaranisBaseModel):
|
|
|
325
345
|
_core_endpoint = "/config/connectors"
|
|
326
346
|
_model_name = "connector"
|
|
327
347
|
_pretty_name = "Connector"
|
|
348
|
+
_search_fields = ["name", "description"]
|
|
328
349
|
|
|
329
350
|
id: str | None = None
|
|
330
351
|
name: str
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
from functools import cached_property
|
|
3
|
+
from typing import Literal
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
from models.base import TaranisBaseModel
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class NewsItem(TaranisBaseModel):
|
|
10
|
+
_core_endpoint = "/assess/news-items"
|
|
11
|
+
|
|
12
|
+
osint_source_id: str
|
|
13
|
+
hash: str | None = None
|
|
14
|
+
title: str | None = None
|
|
15
|
+
author: str | None = None
|
|
16
|
+
review: str | None = None
|
|
17
|
+
content: str | None = None
|
|
18
|
+
web_url: str | None = None
|
|
19
|
+
source: str | None = None
|
|
20
|
+
published: datetime | None = None
|
|
21
|
+
collected: datetime | None = None
|
|
22
|
+
attributes: list[str | dict] | None = None
|
|
23
|
+
story_id: str | None = None
|
|
24
|
+
language: str | None = None
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class StoryTag(TaranisBaseModel):
|
|
28
|
+
name: str
|
|
29
|
+
size: int
|
|
30
|
+
type: str | None = None
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class Story(TaranisBaseModel):
|
|
34
|
+
_core_endpoint = "/assess/stories"
|
|
35
|
+
_model_name = "story"
|
|
36
|
+
_pretty_name = "Story"
|
|
37
|
+
_cache_timeout = 30
|
|
38
|
+
|
|
39
|
+
id: str | None = None
|
|
40
|
+
title: str | None = None
|
|
41
|
+
description: str | None = None
|
|
42
|
+
created: datetime | None = None
|
|
43
|
+
updated: datetime | None = None
|
|
44
|
+
last_change: str | None = None
|
|
45
|
+
news_items: list[NewsItem] | None = None
|
|
46
|
+
links: list[str] | None = None
|
|
47
|
+
important: bool | None = None
|
|
48
|
+
read: bool | None = None
|
|
49
|
+
likes: int | None = None
|
|
50
|
+
dislikes: int | None = None
|
|
51
|
+
user_vote: Literal["like", "dislike", "", None] = None
|
|
52
|
+
summary: str | None = None
|
|
53
|
+
relevance: int | None = None
|
|
54
|
+
comments: str | None = None
|
|
55
|
+
in_reports_count: int | None = None
|
|
56
|
+
tags: list[dict] | None = None
|
|
57
|
+
attributes: list[dict] | None = None
|
|
58
|
+
|
|
59
|
+
@cached_property
|
|
60
|
+
def search_field(self) -> str:
|
|
61
|
+
search = ""
|
|
62
|
+
search += f"{self.title.lower() if self.title else ''} {self.description.lower() if self.description else ''} "
|
|
63
|
+
if self.news_items:
|
|
64
|
+
search += " ".join([item.title.lower() for item in self.news_items if item.title])
|
|
65
|
+
search += " ".join([item.content.lower() for item in self.news_items if item.content])
|
|
66
|
+
search += " ".join([item.source.lower() for item in self.news_items if item.source])
|
|
67
|
+
return search
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
class AssessSource(TaranisBaseModel):
|
|
71
|
+
id: str | None = None
|
|
72
|
+
icon: str | None = None
|
|
73
|
+
name: str
|
|
74
|
+
type: str | None = None
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
class FilterLists(TaranisBaseModel):
|
|
78
|
+
_core_endpoint = "/assess/filterlists"
|
|
79
|
+
_model_name = "filter_lists"
|
|
80
|
+
_pretty_name = "Filter Lists"
|
|
81
|
+
|
|
82
|
+
tags: list[str] = []
|
|
83
|
+
sources: list[AssessSource] = []
|
|
84
|
+
groups: list[dict] = []
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class StoryUpdatePayload(TaranisBaseModel):
|
|
88
|
+
vote: Literal["like", "dislike", ""] | None = None
|
|
89
|
+
important: bool | None = None
|
|
90
|
+
read: bool | None = None
|
|
91
|
+
title: str | None = None
|
|
92
|
+
description: str | None = None
|
|
93
|
+
comments: str | None = None
|
|
94
|
+
summary: str | None = None
|
|
95
|
+
tags: list[dict] | None = None
|
|
96
|
+
attributes: list[dict] | None = None
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
class BulkAction(TaranisBaseModel):
|
|
100
|
+
story_ids: list[str] = []
|
|
101
|
+
payload: StoryUpdatePayload | None = None
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
from datetime import datetime
|
|
2
|
-
from typing import Self
|
|
3
|
-
|
|
4
2
|
from pydantic import Field, ValidationInfo, field_validator
|
|
5
|
-
from requests import Response
|
|
6
3
|
|
|
7
4
|
from models.base import TaranisBaseModel
|
|
8
5
|
|
|
@@ -11,17 +8,11 @@ class WorkerProduct(TaranisBaseModel):
|
|
|
11
8
|
data: bytes | None = None
|
|
12
9
|
mime_type: str | None = None
|
|
13
10
|
|
|
14
|
-
@classmethod
|
|
15
|
-
def from_response(cls, response: Response) -> Self:
|
|
16
|
-
return cls(
|
|
17
|
-
data=response.content,
|
|
18
|
-
mime_type=response.headers.get("Content-Type", ""),
|
|
19
|
-
)
|
|
20
|
-
|
|
21
11
|
|
|
22
12
|
class Product(TaranisBaseModel):
|
|
23
13
|
_core_endpoint = "/publish/products"
|
|
24
14
|
_model_name = "product"
|
|
15
|
+
_search_fields = ["title", "description"]
|
|
25
16
|
_pretty_name = "Product"
|
|
26
17
|
|
|
27
18
|
id: str | None = None
|
|
@@ -36,9 +27,27 @@ class Product(TaranisBaseModel):
|
|
|
36
27
|
render_result: str | None = None
|
|
37
28
|
mime_type: str | None = None
|
|
38
29
|
|
|
30
|
+
@field_validator("auto_publish", mode="before")
|
|
31
|
+
@classmethod
|
|
32
|
+
def normalize_auto_publish(cls, value):
|
|
33
|
+
if isinstance(value, str):
|
|
34
|
+
lowered = value.strip().lower()
|
|
35
|
+
if lowered in {"yes", "true", "1", "on"}:
|
|
36
|
+
return True
|
|
37
|
+
if lowered in {"no", "false", "0", "off", ""}:
|
|
38
|
+
return False
|
|
39
|
+
return value
|
|
40
|
+
|
|
41
|
+
@field_validator("default_publisher", mode="before")
|
|
42
|
+
@classmethod
|
|
43
|
+
def empty_default_to_none(cls, value):
|
|
44
|
+
if isinstance(value, str) and not value.strip():
|
|
45
|
+
return None
|
|
46
|
+
return value
|
|
47
|
+
|
|
39
48
|
@field_validator("default_publisher", mode="after")
|
|
40
49
|
@classmethod
|
|
41
|
-
def require_default_when_autopublish(cls, value
|
|
50
|
+
def require_default_when_autopublish(cls, value, info: ValidationInfo):
|
|
42
51
|
auto_publish = info.data.get("auto_publish")
|
|
43
52
|
if auto_publish and not value:
|
|
44
53
|
raise ValueError("default_publisher is required when auto_publish is enabled")
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
+
from typing import ClassVar, Final
|
|
1
2
|
from datetime import datetime
|
|
2
|
-
from typing import ClassVar
|
|
3
|
-
|
|
4
3
|
from pydantic import Field
|
|
5
4
|
|
|
6
5
|
from models.admin import ReportItemAttribute
|
|
@@ -21,6 +20,7 @@ class ReportItemAttributeGroup(TaranisBaseModel):
|
|
|
21
20
|
class ReportItem(TaranisBaseModel):
|
|
22
21
|
_core_endpoint: ClassVar[str] = "/analyze/report-items"
|
|
23
22
|
_model_name: ClassVar[str] = "report"
|
|
23
|
+
_search_fields: Final[list[str]] = ["title"]
|
|
24
24
|
_pretty_name: ClassVar[str] = "Report"
|
|
25
25
|
|
|
26
26
|
id: str | None = None
|
|
@@ -19,7 +19,7 @@ class ProfileSettings(TaranisBaseModel):
|
|
|
19
19
|
dark_theme: bool = False
|
|
20
20
|
compact_view: bool = False
|
|
21
21
|
show_charts: bool = False
|
|
22
|
-
infinite_scroll: bool =
|
|
22
|
+
infinite_scroll: bool = True
|
|
23
23
|
advanced_story_options: bool = False
|
|
24
24
|
language: str = "en"
|
|
25
25
|
hotkeys: dict[str, Any] = Field(default_factory=dict)
|
|
@@ -32,6 +32,7 @@ class ProfileSettings(TaranisBaseModel):
|
|
|
32
32
|
class UserProfile(TaranisBaseModel):
|
|
33
33
|
_core_endpoint = "/users"
|
|
34
34
|
_model_name = "user_profile"
|
|
35
|
+
_search_fields = ["name", "username"]
|
|
35
36
|
|
|
36
37
|
id: int | None = None
|
|
37
38
|
username: str = ""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: taranis-models
|
|
3
|
-
Version: 1.3.3.
|
|
3
|
+
Version: 1.3.3.dev5
|
|
4
4
|
Summary: Taranis AI Models
|
|
5
5
|
Maintainer-email: AIT <benjamin.akhras@ait.ac.at>
|
|
6
6
|
License-Expression: EUPL-1.2
|
|
@@ -17,9 +17,6 @@ License-File: LICENSE.md
|
|
|
17
17
|
Requires-Dist: pydantic
|
|
18
18
|
Requires-Dist: pydantic-settings
|
|
19
19
|
Requires-Dist: python-dotenv
|
|
20
|
-
Requires-Dist: langcodes
|
|
21
|
-
Requires-Dist: requests
|
|
22
|
-
Requires-Dist: beautifulsoup4
|
|
23
20
|
Provides-Extra: dev
|
|
24
21
|
Requires-Dist: ruff; extra == "dev"
|
|
25
22
|
Requires-Dist: pytest; extra == "dev"
|
|
@@ -3,13 +3,10 @@ This type stub file was generated by pyright.
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
from models.admin import ACL, Address, Job, Organization, Permission, ProductType, ReportItemType, Role, Template, User
|
|
6
|
+
from models.types import TLPLevel, WORKER_CATEGORY, WORKER_TYPES
|
|
6
7
|
from models.base import TaranisBaseModel
|
|
7
8
|
from models.dashboard import Dashboard, TrendingCluster
|
|
8
|
-
from models.types import WORKER_CATEGORY, WORKER_TYPES, TLPLevel
|
|
9
9
|
|
|
10
|
-
"""
|
|
11
|
-
This type stub file was generated by pyright.
|
|
12
|
-
"""
|
|
13
10
|
__all__ = [
|
|
14
11
|
"ACL",
|
|
15
12
|
"Job",
|
|
@@ -2,30 +2,24 @@
|
|
|
2
2
|
This type stub file was generated by pyright.
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
-
from
|
|
5
|
+
from pydantic import AnyUrl
|
|
6
6
|
from functools import cached_property
|
|
7
7
|
from typing import Any, Literal
|
|
8
|
-
|
|
9
|
-
from pydantic import AnyUrl
|
|
10
|
-
|
|
8
|
+
from datetime import datetime
|
|
11
9
|
from models.base import TaranisBaseModel
|
|
12
10
|
from models.types import (
|
|
11
|
+
AttributeType,
|
|
13
12
|
BOT_TYPES,
|
|
14
13
|
COLLECTOR_TYPES,
|
|
15
14
|
CONNECTOR_TYPES,
|
|
15
|
+
ItemType,
|
|
16
16
|
PRESENTER_TYPES,
|
|
17
17
|
PUBLISHER_TYPES,
|
|
18
|
+
TLPLevel,
|
|
18
19
|
WORKER_CATEGORY,
|
|
19
20
|
WORKER_TYPES,
|
|
20
|
-
AttributeType,
|
|
21
|
-
ItemType,
|
|
22
|
-
TLPLevel,
|
|
23
21
|
)
|
|
24
22
|
|
|
25
|
-
"""
|
|
26
|
-
This type stub file was generated by pyright.
|
|
27
|
-
"""
|
|
28
|
-
|
|
29
23
|
class Job(TaranisBaseModel):
|
|
30
24
|
_core_endpoint = ...
|
|
31
25
|
_model_name = ...
|
|
@@ -3,17 +3,11 @@ This type stub file was generated by pyright.
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
from datetime import datetime
|
|
6
|
-
from functools import cached_property
|
|
7
|
-
from typing import Literal
|
|
8
|
-
|
|
9
6
|
from pydantic import field_validator
|
|
10
|
-
|
|
7
|
+
from typing import Literal
|
|
8
|
+
from functools import cached_property
|
|
11
9
|
from models.base import TaranisBaseModel
|
|
12
10
|
|
|
13
|
-
"""
|
|
14
|
-
This type stub file was generated by pyright.
|
|
15
|
-
"""
|
|
16
|
-
|
|
17
11
|
class NewsItem(TaranisBaseModel):
|
|
18
12
|
_core_endpoint = ...
|
|
19
13
|
osint_source_id: str
|
|
@@ -29,7 +23,8 @@ class NewsItem(TaranisBaseModel):
|
|
|
29
23
|
attributes: list[str | dict] | None = ...
|
|
30
24
|
language: str | None = ...
|
|
31
25
|
@field_validator("language", mode="before")
|
|
32
|
-
def normalize_language_code(cls, v):
|
|
26
|
+
def normalize_language_code(cls, v): # -> str | None:
|
|
27
|
+
...
|
|
33
28
|
|
|
34
29
|
class StoryTag(TaranisBaseModel):
|
|
35
30
|
name: str
|
|
@@ -2,13 +2,9 @@
|
|
|
2
2
|
This type stub file was generated by pyright.
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
-
from typing import ClassVar, TypeVar
|
|
6
|
-
|
|
7
5
|
from pydantic import BaseModel
|
|
6
|
+
from typing import ClassVar, TypeVar
|
|
8
7
|
|
|
9
|
-
"""
|
|
10
|
-
This type stub file was generated by pyright.
|
|
11
|
-
"""
|
|
12
8
|
T = TypeVar("T", bound="TaranisBaseModel")
|
|
13
9
|
|
|
14
10
|
class TaranisBaseModel(BaseModel):
|
|
@@ -17,4 +13,5 @@ class TaranisBaseModel(BaseModel):
|
|
|
17
13
|
_model_name: ClassVar[str] = ...
|
|
18
14
|
_pretty_name: ClassVar[str] = ...
|
|
19
15
|
model_config = ...
|
|
20
|
-
def model_dump(self, *args, **kwargs):
|
|
16
|
+
def model_dump(self, *args, **kwargs): # -> dict[str, Any]:
|
|
17
|
+
...
|
|
@@ -3,13 +3,8 @@ This type stub file was generated by pyright.
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
from datetime import datetime
|
|
6
|
-
|
|
7
|
-
from models.assess import StoryTag
|
|
8
6
|
from models.base import TaranisBaseModel
|
|
9
|
-
|
|
10
|
-
"""
|
|
11
|
-
This type stub file was generated by pyright.
|
|
12
|
-
"""
|
|
7
|
+
from models.assess import StoryTag
|
|
13
8
|
|
|
14
9
|
class Dashboard(TaranisBaseModel):
|
|
15
10
|
_core_endpoint = ...
|
|
@@ -3,13 +3,8 @@ This type stub file was generated by pyright.
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
from datetime import datetime
|
|
6
|
-
|
|
7
6
|
from models.base import TaranisBaseModel
|
|
8
7
|
|
|
9
|
-
"""
|
|
10
|
-
This type stub file was generated by pyright.
|
|
11
|
-
"""
|
|
12
|
-
|
|
13
8
|
class WorkerProduct(TaranisBaseModel):
|
|
14
9
|
data: bytes | None = ...
|
|
15
10
|
mime_type: str | None = ...
|
|
@@ -2,17 +2,12 @@
|
|
|
2
2
|
This type stub file was generated by pyright.
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
-
from datetime import datetime
|
|
6
5
|
from typing import ClassVar, Final
|
|
7
|
-
|
|
6
|
+
from datetime import datetime
|
|
8
7
|
from models.admin import ReportItemAttribute
|
|
9
8
|
from models.assess import Story
|
|
10
9
|
from models.base import TaranisBaseModel
|
|
11
10
|
|
|
12
|
-
"""
|
|
13
|
-
This type stub file was generated by pyright.
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
11
|
class ReportItemCpe(TaranisBaseModel):
|
|
17
12
|
id: int | None = ...
|
|
18
13
|
value: str
|
|
@@ -3,13 +3,8 @@ This type stub file was generated by pyright.
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
from typing import Any
|
|
6
|
-
|
|
7
6
|
from models.base import TaranisBaseModel
|
|
8
7
|
|
|
9
|
-
"""
|
|
10
|
-
This type stub file was generated by pyright.
|
|
11
|
-
"""
|
|
12
|
-
|
|
13
8
|
class ProfileSettingsDashboard(TaranisBaseModel):
|
|
14
9
|
show_trending_clusters: bool = ...
|
|
15
10
|
show_charts: bool = ...
|