splunk-soar-sdk 2.3.6__py3-none-any.whl → 3.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.
Files changed (58) hide show
  1. soar_sdk/abstract.py +38 -41
  2. soar_sdk/action_results.py +41 -18
  3. soar_sdk/actions_manager.py +10 -13
  4. soar_sdk/apis/utils.py +3 -3
  5. soar_sdk/apis/vault.py +10 -10
  6. soar_sdk/app.py +58 -51
  7. soar_sdk/app_cli_runner.py +8 -8
  8. soar_sdk/app_client.py +10 -10
  9. soar_sdk/asset.py +45 -33
  10. soar_sdk/async_utils.py +2 -2
  11. soar_sdk/cli/init/cli.py +7 -9
  12. soar_sdk/cli/manifests/deserializers.py +15 -15
  13. soar_sdk/cli/manifests/processors.py +4 -10
  14. soar_sdk/cli/manifests/serializers.py +16 -8
  15. soar_sdk/cli/package/cli.py +6 -6
  16. soar_sdk/cli/package/utils.py +1 -1
  17. soar_sdk/code_renderers/action_renderer.py +35 -18
  18. soar_sdk/code_renderers/app_renderer.py +1 -2
  19. soar_sdk/code_renderers/asset_renderer.py +4 -5
  20. soar_sdk/code_renderers/renderer.py +2 -2
  21. soar_sdk/code_renderers/templates/pyproject.toml.jinja +1 -1
  22. soar_sdk/compat.py +6 -6
  23. soar_sdk/decorators/action.py +14 -15
  24. soar_sdk/decorators/make_request.py +4 -3
  25. soar_sdk/decorators/on_poll.py +5 -4
  26. soar_sdk/decorators/test_connectivity.py +2 -2
  27. soar_sdk/decorators/view_handler.py +11 -17
  28. soar_sdk/decorators/webhook.py +1 -2
  29. soar_sdk/exceptions.py +1 -4
  30. soar_sdk/field_utils.py +8 -0
  31. soar_sdk/input_spec.py +13 -17
  32. soar_sdk/logging.py +3 -3
  33. soar_sdk/meta/actions.py +6 -22
  34. soar_sdk/meta/app.py +10 -7
  35. soar_sdk/meta/dependencies.py +48 -42
  36. soar_sdk/meta/webhooks.py +12 -12
  37. soar_sdk/models/artifact.py +20 -23
  38. soar_sdk/models/container.py +30 -33
  39. soar_sdk/models/vault_attachment.py +6 -6
  40. soar_sdk/models/view.py +10 -13
  41. soar_sdk/params.py +57 -39
  42. soar_sdk/shims/phantom/action_result.py +4 -4
  43. soar_sdk/shims/phantom/base_connector.py +13 -5
  44. soar_sdk/shims/phantom/install_info.py +15 -2
  45. soar_sdk/shims/phantom/ph_ipc.py +3 -3
  46. soar_sdk/shims/phantom/vault.py +35 -34
  47. soar_sdk/types.py +3 -2
  48. soar_sdk/views/template_filters.py +4 -4
  49. soar_sdk/views/template_renderer.py +2 -2
  50. soar_sdk/views/view_parser.py +3 -4
  51. soar_sdk/webhooks/models.py +7 -6
  52. soar_sdk/webhooks/routing.py +4 -3
  53. {splunk_soar_sdk-2.3.6.dist-info → splunk_soar_sdk-3.0.0.dist-info}/METADATA +5 -6
  54. splunk_soar_sdk-3.0.0.dist-info/RECORD +104 -0
  55. splunk_soar_sdk-2.3.6.dist-info/RECORD +0 -103
  56. {splunk_soar_sdk-2.3.6.dist-info → splunk_soar_sdk-3.0.0.dist-info}/WHEEL +0 -0
  57. {splunk_soar_sdk-2.3.6.dist-info → splunk_soar_sdk-3.0.0.dist-info}/entry_points.txt +0 -0
  58. {splunk_soar_sdk-2.3.6.dist-info → splunk_soar_sdk-3.0.0.dist-info}/licenses/LICENSE +0 -0
soar_sdk/types.py CHANGED
@@ -1,5 +1,6 @@
1
1
  import typing
2
- from typing import Any, Callable, Optional, Protocol
2
+ from typing import Any, Protocol
3
+ from collections.abc import Callable
3
4
 
4
5
  from soar_sdk.meta.actions import ActionMeta
5
6
  from soar_sdk.params import Params
@@ -9,7 +10,7 @@ class Action(Protocol):
9
10
  """Type interface for an action definition."""
10
11
 
11
12
  meta: ActionMeta
12
- params_class: Optional[type[Params]] = None
13
+ params_class: type[Params] | None = None
13
14
 
14
15
  def __call__(self, *args: Any, **kwargs: Any) -> bool: # noqa: ANN401
15
16
  """Execute the action function."""
@@ -10,7 +10,7 @@ import uuid
10
10
  import humanize
11
11
  import bleach # type: ignore[import-untyped]
12
12
  from datetime import datetime, timedelta
13
- from typing import Optional, TypeVar, Union
13
+ from typing import TypeVar
14
14
  from collections.abc import Iterable
15
15
  from collections.abc import Iterator
16
16
  from jinja2 import Environment
@@ -77,7 +77,7 @@ def by_key(dictionary: dict, key: str) -> str:
77
77
  return dictionary.get(key, "")
78
78
 
79
79
 
80
- def by_nested_key(dictionary: dict, key: str) -> Optional[str]:
80
+ def by_nested_key(dictionary: dict, key: str) -> str | None:
81
81
  """Get nested dictionary value by space-separated key."""
82
82
  split_key = key.split()
83
83
  src = dictionary.get(split_key[0], None)
@@ -97,7 +97,7 @@ def typeof(item: object) -> type:
97
97
  return type(item)
98
98
 
99
99
 
100
- def safe_intcomma(value: Union[str, int]) -> str:
100
+ def safe_intcomma(value: str | int) -> str:
101
101
  """Format integer with commas, safely handling non-integers."""
102
102
  try:
103
103
  return f"{int(value):,}"
@@ -143,7 +143,7 @@ def to_json(obj: object) -> str:
143
143
  return json.dumps(obj)
144
144
 
145
145
 
146
- def absval(obj: Union[int, float]) -> Union[int, float]:
146
+ def absval(obj: int | float) -> int | float:
147
147
  """Get absolute value."""
148
148
  return abs(obj)
149
149
 
@@ -1,6 +1,6 @@
1
1
  from abc import ABC, abstractmethod
2
2
  from pathlib import Path
3
- from typing import Any, Optional
3
+ from typing import Any
4
4
  from jinja2 import Environment, FileSystemLoader, select_autoescape
5
5
  from soar_sdk.views.template_filters import setup_jinja_env
6
6
  from soar_sdk.paths import SDK_TEMPLATES
@@ -107,7 +107,7 @@ class JinjaTemplateRenderer(TemplateRenderer):
107
107
 
108
108
 
109
109
  def get_template_renderer(
110
- engine: Optional[str] = None, templates_dir: Optional[str] = None
110
+ engine: str | None = None, templates_dir: str | None = None
111
111
  ) -> TemplateRenderer:
112
112
  """Factory function to get the appropriate template renderer.
113
113
 
@@ -1,13 +1,12 @@
1
1
  from typing import (
2
2
  Any,
3
- Callable,
4
3
  TypeVar,
5
- Union,
6
4
  get_origin,
7
5
  get_args,
8
6
  Generic,
9
7
  cast,
10
8
  )
9
+ from collections.abc import Callable
11
10
  import inspect
12
11
  from pydantic import BaseModel
13
12
  from soar_sdk.action_results import ActionOutput
@@ -68,7 +67,7 @@ class ViewFunctionParser(Generic[T]):
68
67
  for result in action_results:
69
68
  for data_item in result.get_data():
70
69
  try:
71
- parsed_output = self.output_class.parse_obj(data_item)
70
+ parsed_output = self.output_class.model_validate(data_item)
72
71
  parsed_outputs.append(parsed_output)
73
72
  except Exception as e:
74
73
  output_class_name = self.output_class.__name__
@@ -85,7 +84,7 @@ class ViewFunctionParser(Generic[T]):
85
84
  context: ViewContext,
86
85
  *args: Any, # noqa: ANN401
87
86
  **kwargs: Any, # noqa: ANN401
88
- ) -> Union[str, dict, BaseModel]:
87
+ ) -> str | dict | BaseModel:
89
88
  """Wrapper around the object's view function which massages platform inputs as necessary.
90
89
 
91
90
  Takes the JSON list of AppRun results provided by Splunk SOAR, parses that into
@@ -2,7 +2,8 @@ import json
2
2
  import base64
3
3
  import mimetypes
4
4
 
5
- from typing import Optional, TypeVar, Generic, Any, IO, Callable
5
+ from typing import TypeVar, Generic, Any, IO
6
+ from collections.abc import Callable
6
7
  from pydantic import BaseModel, Field
7
8
 
8
9
  from soar_sdk.asset import BaseAsset
@@ -18,7 +19,7 @@ class WebhookRequest(BaseModel, Generic[AssetType]):
18
19
  headers: dict[str, str]
19
20
  path_parts: list[str]
20
21
  query: dict[str, list[str]]
21
- body: Optional[str]
22
+ body: str | None
22
23
  asset: AssetType
23
24
  soar_base_url: str
24
25
  soar_auth_token: str
@@ -65,7 +66,7 @@ class WebhookResponse(BaseModel):
65
66
  def text_response(
66
67
  content: str,
67
68
  status_code: int = 200,
68
- extra_headers: Optional[dict[str, Any]] = None,
69
+ extra_headers: dict[str, Any] | None = None,
69
70
  ) -> "WebhookResponse":
70
71
  """Build a WebhookResponse object given raw textual content.
71
72
 
@@ -83,7 +84,7 @@ class WebhookResponse(BaseModel):
83
84
  def json_response(
84
85
  content: dict,
85
86
  status_code: int = 200,
86
- extra_headers: Optional[dict[str, Any]] = None,
87
+ extra_headers: dict[str, Any] | None = None,
87
88
  ) -> "WebhookResponse":
88
89
  """Build a WebhookResponse object given a dictionary, to be interpreted as JSON.
89
90
 
@@ -101,9 +102,9 @@ class WebhookResponse(BaseModel):
101
102
  def file_response(
102
103
  fd: IO,
103
104
  filename: str,
104
- content_type: Optional[str] = None,
105
+ content_type: str | None = None,
105
106
  status_code: int = 200,
106
- extra_headers: Optional[dict[str, Any]] = None,
107
+ extra_headers: dict[str, Any] | None = None,
107
108
  ) -> "WebhookResponse":
108
109
  """Build a webhook response using the data in a given open file-like object.
109
110
 
@@ -5,7 +5,8 @@ This module provides a router for mapping URL patterns to handler functions.
5
5
 
6
6
  import re
7
7
  from dataclasses import dataclass
8
- from typing import Callable, TypeVar, Generic, Optional
8
+ from typing import TypeVar, Generic
9
+ from collections.abc import Callable
9
10
  from collections.abc import Sequence
10
11
 
11
12
  from soar_sdk.webhooks.models import WebhookRequest, WebhookResponse
@@ -45,7 +46,7 @@ class Router(Generic[AssetType]):
45
46
  self,
46
47
  pattern: str,
47
48
  handler: Callable[[WebhookRequest], WebhookResponse],
48
- methods: Optional[Sequence[str]] = None,
49
+ methods: Sequence[str] | None = None,
49
50
  ) -> None:
50
51
  """Register a new route with the router.
51
52
 
@@ -146,7 +147,7 @@ class Router(Generic[AssetType]):
146
147
  return False
147
148
 
148
149
  # Check each segment
149
- for part1, part2 in zip(parts1, parts2):
150
+ for part1, part2 in zip(parts1, parts2, strict=False):
150
151
  is_param1 = part1.startswith("<") and part1.endswith(">")
151
152
  is_param2 = part2.startswith("<") and part2.endswith(">")
152
153
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: splunk-soar-sdk
3
- Version: 2.3.6
3
+ Version: 3.0.0
4
4
  Summary: The official framework for developing and testing Splunk SOAR Apps
5
5
  Project-URL: Homepage, https://github.com/phantomcyber/splunk-soar-sdk
6
6
  Project-URL: Documentation, https://github.com/phantomcyber/splunk-soar-sdk
@@ -16,19 +16,18 @@ Classifier: Natural Language :: English
16
16
  Classifier: Programming Language :: Python :: 3
17
17
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
18
  Classifier: Typing :: Typed
19
- Requires-Python: <3.14,>=3.9
20
- Requires-Dist: beautifulsoup4==4.10.0
19
+ Requires-Python: <=3.14,>=3.13
20
+ Requires-Dist: beautifulsoup4>=4.10.0
21
21
  Requires-Dist: bleach>=6.2.0
22
22
  Requires-Dist: build>=1.3.0
23
23
  Requires-Dist: click<8.2.0,>=8.0.0
24
- Requires-Dist: distro==1.8.0
24
+ Requires-Dist: distro>=1.8.0
25
25
  Requires-Dist: httpx>=0.28.1
26
26
  Requires-Dist: humanize>=4.12.2
27
27
  Requires-Dist: jinja2>=3.1.0
28
28
  Requires-Dist: packaging>=25.0
29
- Requires-Dist: pydantic<2
29
+ Requires-Dist: pydantic<3,>=2
30
30
  Requires-Dist: requests<3
31
- Requires-Dist: responses==0.22.0
32
31
  Requires-Dist: setuptools>=80.9.0
33
32
  Requires-Dist: toml<1,>=0.10.2
34
33
  Requires-Dist: tqdm>=4.67.1
@@ -0,0 +1,104 @@
1
+ soar_sdk/__init__.py,sha256=RzAng-ARqpK01SY82lNy4uYJFVG0yW6Q3CccEqbToJ4,726
2
+ soar_sdk/abstract.py,sha256=3oJvWljqDTr2nucf-9IdBRMDJwRnDe6nISYKyGuLMxw,7752
3
+ soar_sdk/action_results.py,sha256=ajlsed6ZkCyOTra4SFy31iYZO2a6mlvBK2-zIyO09q4,11928
4
+ soar_sdk/actions_manager.py,sha256=Hx1Uh2AhlDJpgPIYXlIypY6RQ5yZWmsrIsX6avo65IQ,6480
5
+ soar_sdk/app.py,sha256=fFbs4-ZWQK8N-Rz59sayIDEKRy9ccVtj6UhORe0MCF4,33343
6
+ soar_sdk/app_cli_runner.py,sha256=tdglXCIRZS3dc3P18Tha7yUJQX9zIDxJFdST02LL9xY,11644
7
+ soar_sdk/app_client.py,sha256=p5dsgxmMK61qLFIn7pATEQkVWldTtQhJPcMs4Idv2Lw,6197
8
+ soar_sdk/asset.py,sha256=b4-f7r3JSfR-nUzalpgJnoXAIEHQ34yvIuoyoAFvye0,11055
9
+ soar_sdk/async_utils.py,sha256=6JtSDd_RKKT85TaUjxofZTKrZr24z74WSljkX47KZqg,1429
10
+ soar_sdk/colors.py,sha256=--i_iXqfyITUz4O95HMjfZQGbwFZ34bLmBhtfpXXqlQ,1095
11
+ soar_sdk/compat.py,sha256=-Z9i9azaW4w0ZGEX2GoukseDglLNRWiBsV7auJAyZbs,3061
12
+ soar_sdk/crypto.py,sha256=qiBMHUQqgn5lPI1DbujSj700s89FuLJrkQgCO9_eBn4,392
13
+ soar_sdk/exceptions.py,sha256=bzydqdpzwG5VaVkZBiUEcf9Wp0clMdzqdUBZHzpfqT0,1830
14
+ soar_sdk/field_utils.py,sha256=Jb0HteUPd-CtuDM7rNXVLy4uRxl419zeDxY_oOpU8GM,287
15
+ soar_sdk/input_spec.py,sha256=79MFGF2IkAAoWpHmZYP0VqUBu10SkvmF_RPmXkf8bQ4,4677
16
+ soar_sdk/logging.py,sha256=30cUxU7Tjf_OY4rUOrvjDoqPH7pcFydrdDbcG4ppY_s,11424
17
+ soar_sdk/params.py,sha256=qKj3CkT6vPdQK8Aqxc1fYa974b-j7vtclcWMIALvWGI,9806
18
+ soar_sdk/paths.py,sha256=XhpanQCAiTXaulRx440oKu36mnll7P05TethHXgMpgQ,239
19
+ soar_sdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
+ soar_sdk/types.py,sha256=-mOu8_sphcgJictMTn4Dl_6ijd2elLAlU2nuXF74zQc,616
21
+ soar_sdk/apis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
+ soar_sdk/apis/artifact.py,sha256=6w9dzOzONidWo23FqPRagewp4Et8FG6MzALuEDjGKe8,4715
23
+ soar_sdk/apis/container.py,sha256=eLV3S1zvwfMerNXM78gsSqiMDv731oVwBcdfQJdxSn4,8747
24
+ soar_sdk/apis/utils.py,sha256=JcLAZ1Fkx-VvDRdhbybnd9QWxBQYDCoISfqIi_LclI4,957
25
+ soar_sdk/apis/vault.py,sha256=mgf3lQA9RFS7IdON2QJZ5Tbp0BFBxQkKnAuf-CIliwU,8518
26
+ soar_sdk/app_templates/basic_app/.gitignore,sha256=CwSrCn9YISq7Q2EJVc7o1kdkXqysZngGJfz-4pOMMdY,3517
27
+ soar_sdk/app_templates/basic_app/.pre-commit-config.yaml,sha256=0sFjnoC-scXm80ZgA4TPyc6BN1VaF4eY9p8qwEchB38,2526
28
+ soar_sdk/app_templates/basic_app/logo.svg,sha256=_JTop6spn5oPWPk-w6Tzumx_FTSBanOYra3vE2FO-6c,285
29
+ soar_sdk/app_templates/basic_app/logo_dark.svg,sha256=PTxIs_1CKK9ZY3v-K1QoGwaUng9ZUL2MhUeO2jeHu_0,291
30
+ soar_sdk/app_templates/basic_app/uv.lock,sha256=AfgaIBg88KH-0iyXpCXacXAwHYKm0c-on2gWXjV9L-Y,80216
31
+ soar_sdk/app_templates/basic_app/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
+ soar_sdk/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
+ soar_sdk/cli/cli.py,sha256=62n6b41bjXILtkqLTpeID8JyDYMbkfXNV1LCo52YUsA,926
34
+ soar_sdk/cli/path_utils.py,sha256=rFJDAe-sTC_6KgSiidlD3JcpygFmyHAEsn1j_6eWpIc,1263
35
+ soar_sdk/cli/utils.py,sha256=GNZLFAMH_BKQo2-D5GvweWxeuR7DfR8eMZS4-sJUggU,1441
36
+ soar_sdk/cli/init/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
+ soar_sdk/cli/init/cli.py,sha256=LWwGb_N5KPpKjnk8Kn3IppSrGsHQb65CvDn2NXPokAE,14618
38
+ soar_sdk/cli/manifests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
+ soar_sdk/cli/manifests/cli.py,sha256=cly5xVdj4bBIdZVMQPIWTXRgUfd1ON3qKO-76Fwql18,524
40
+ soar_sdk/cli/manifests/deserializers.py,sha256=TjcmPvcfr1auGkf3hBRwjVc0dSuuDNmH5jMOqXHz27s,16515
41
+ soar_sdk/cli/manifests/processors.py,sha256=uHWEjY6tu3TZ680SbBbmupwtLhINI6lwdmEsfw4Bkw0,3912
42
+ soar_sdk/cli/manifests/serializers.py,sha256=hSfOcBNhv7s437A7t5BM1NXG5dfjKmh_xbHXQTuBklA,3632
43
+ soar_sdk/cli/package/cli.py,sha256=8AWItAAXzfjJMRLwDIRbrN9cQhy7clBX7WrOmdcGClw,9499
44
+ soar_sdk/cli/package/utils.py,sha256=zZmpWg76Vb3rtGn28aPhPHt1JUWR6eIByU6DTTRC3ng,1584
45
+ soar_sdk/code_renderers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
+ soar_sdk/code_renderers/action_renderer.py,sha256=iPEPUVmZfm0FgQwlvKf4JwYlwcslH_qjoHSx6zSaVA8,14439
47
+ soar_sdk/code_renderers/app_renderer.py,sha256=4EiGuMF9navKY7zXXe1ioG_4AaQKahOTwoh7kwfhi5U,7377
48
+ soar_sdk/code_renderers/asset_renderer.py,sha256=eZS-VaV6wn_zgKth4Sieqo2fyPLF1o-k3qN7UjNUycE,3833
49
+ soar_sdk/code_renderers/renderer.py,sha256=82FP89024ZP-J_Ebzsvrso1hlCFSLllR1U9GR-wB_Pc,1229
50
+ soar_sdk/code_renderers/toml_renderer.py,sha256=-zP8UzlYMCVVA5ex9slaNLeFTu4xLjkv88YLmRNLrTM,1505
51
+ soar_sdk/code_renderers/templates/pyproject.toml.jinja,sha256=uH7SJhFD9_-kYzGHobwv04aV4Nfru1bquL30GoOirfg,3918
52
+ soar_sdk/decorators/__init__.py,sha256=ttvapTczeQpReZVYgjTw4qnEqKd7b8pR7lNaCpO0npQ,513
53
+ soar_sdk/decorators/action.py,sha256=als7cKWozZnobylBXsY5aQ2Y4js_2Y4n8UmxI-pKy1w,6642
54
+ soar_sdk/decorators/make_request.py,sha256=NWPI5NhmvnI7VMKI-tmhsQ34kegGxWyXC9_PVW49EJc,5978
55
+ soar_sdk/decorators/on_poll.py,sha256=H_aijFWKeZKwiS72Vsa9uolmj8sziGW2lZF6EhjEDjs,8276
56
+ soar_sdk/decorators/test_connectivity.py,sha256=tZt7w-BnZUpxCyixblXts4tsUp8z-Kmz-JGJ5i5LQs8,3564
57
+ soar_sdk/decorators/view_handler.py,sha256=_qjfk2nQxPwraldjRIl4DWdW-tvANJfdVDU_lLA3UvE,7075
58
+ soar_sdk/decorators/webhook.py,sha256=buQ9OXVHYc9AwOVoTC0E4fszhmKniW8rmPvaRpKCZko,2369
59
+ soar_sdk/meta/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
+ soar_sdk/meta/actions.py,sha256=YadG8Zkc0SWmcG5-Dj4NyWlYYAh4CyJksLYp_GmNZNM,1818
61
+ soar_sdk/meta/adapters.py,sha256=KjSYIUtkCz2eesA_vhsNCjfi5C-Uz71tbSuDIjhuB8U,1112
62
+ soar_sdk/meta/app.py,sha256=eZlM8GIY1B_o-RzJrRNCNVEQSx0sFupxZqCM7sIWGv4,2777
63
+ soar_sdk/meta/datatypes.py,sha256=piR-oBVAATiRciXSdVE7XaqjUZTgSaOvTEqcOcNvCS0,795
64
+ soar_sdk/meta/dependencies.py,sha256=DZr38K_1rKh7OzlIb5nLbdDH8xOHArr48H8Ra6rcB4k,18259
65
+ soar_sdk/meta/webhooks.py,sha256=E5pdoD9j7FDeM2DBTO2h9Yw6-5flzp-NfhM_M1oPAUU,1216
66
+ soar_sdk/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
+ soar_sdk/models/artifact.py,sha256=OlYp150sf9sYvTz6tC7PaYV1qbBvQYrz1bXmC2xNj8Q,1086
68
+ soar_sdk/models/container.py,sha256=SYdDiyeUGm8dFpOdPl5BGVM1UO2onJsJCiax-1-hZGo,1492
69
+ soar_sdk/models/vault_attachment.py,sha256=IQPX239OFClVfOKr9nHIu9Is55cXWBaOgM2lG5Lt-b4,1072
70
+ soar_sdk/models/view.py,sha256=frfbNdWfzc0XjiU3CY79zBJxvzUsgLdFmphVeZ6QqTc,777
71
+ soar_sdk/shims/phantom/action_result.py,sha256=yDiV2f3kt5G9UYejpe0JFeo651f3Uv-fTSoIlfg3DGg,1606
72
+ soar_sdk/shims/phantom/app.py,sha256=PpNj9FoXjyj6r5w9S2fpElKFS6EcBIqsnpaTSvnIzyI,303
73
+ soar_sdk/shims/phantom/base_connector.py,sha256=-uoPGNu0J6Cm8-BMvvlwbaKGTyImbh4dCJXz6HFDiNs,4734
74
+ soar_sdk/shims/phantom/connector_result.py,sha256=T6eDXdMyblWB0Xa3RW4ojuhy9wJmWZTpY8Oojl5sYYk,641
75
+ soar_sdk/shims/phantom/consts.py,sha256=eq6AIuDhb2Z-CJORwv98D3JbcIOW8CC673zx5dNPFKU,404
76
+ soar_sdk/shims/phantom/encryption_helper.py,sha256=kiZNwBMgrhvVtNjKVP7ZswEn4DXxH8gTC-9tuxjVzTc,1386
77
+ soar_sdk/shims/phantom/install_info.py,sha256=hR3W8pKlNUVlE1jOwGT_o2f6uTGQknPG3GLRDHrGSUQ,994
78
+ soar_sdk/shims/phantom/json_keys.py,sha256=QgDO5qGlcNNqJBsolJQs0UOW1sa8xMYIubqfCXeP4C4,528
79
+ soar_sdk/shims/phantom/ph_ipc.py,sha256=RSL_qB64OSsy0B8AvqDh_biR9lqAHKdRkIj973UQfoU,1381
80
+ soar_sdk/shims/phantom/vault.py,sha256=hIWowTXWt_lRyjFX4qTpBcwImOCaFmN8RyBCUvIUFxc,14153
81
+ soar_sdk/shims/phantom_common/app_interface/app_interface.py,sha256=yvS0GmNMw_PP1iUvpM9igDzb2_HD7X8JOXI4Su4jasg,862
82
+ soar_sdk/shims/phantom_common/encryption/encryption_manager_factory.py,sha256=gpsf2P9OR8_yxE0vVwCk3h6rZCTD30pyIppc8Amor5s,725
83
+ soar_sdk/templates/base/base_template.html,sha256=rugqZWF4cW8jns4lzFwbxYY6YzgsrxAF1j0YcY9dE3c,83
84
+ soar_sdk/templates/base/error.html,sha256=EiVWmTWSA5Zuwgn7h0-WeSute_8Hi1y8Ci4_5qr3gKc,1225
85
+ soar_sdk/templates/base/header.html,sha256=HZDD3txUsnkGKJ5tUwKel6wKDDsD6o91IpATUuQVc6Y,139
86
+ soar_sdk/templates/base/logo_header.html,sha256=qz6b2hA7h4DI9PAW4klJDjic0JoJ6o133r6F2BUsG9U,255
87
+ soar_sdk/templates/components/pie_chart.html,sha256=Uj4CrfM9t18xA8fzJgvqYUxhzrJ8XbdsLuDaTLzVkRM,3797
88
+ soar_sdk/templates/widgets/widget_resize_snippet.html,sha256=nGAXhYLlnyrEtdDqSjzdKhglCHTDUklxLJ9AOhdm0Gg,3188
89
+ soar_sdk/templates/widgets/widget_template.html,sha256=aQTVtU-96QLwRyA2yYskJeq4a2otqlDa6V0EamHBDEY,3751
90
+ soar_sdk/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
+ soar_sdk/views/component_registry.py,sha256=cN2F2XHGSR5Ddv6hihloCe0_4MD83BMpdNPod7nbu3A,119
92
+ soar_sdk/views/template_filters.py,sha256=dG8hK-OsMpSXDckENKHs7tWjZtQngQ---EcZTOZPnpg,5415
93
+ soar_sdk/views/template_renderer.py,sha256=7l5ilyr3DjUiMhSn4HM_bM2roqyugFqnMB55dbFHIRg,5386
94
+ soar_sdk/views/view_parser.py,sha256=-57KSVc-u-tMQtPXe_sQX-qFdM9L3ONXmvd03HX2G98,3968
95
+ soar_sdk/views/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
96
+ soar_sdk/views/components/pie_chart.py,sha256=LVTeHVJN6nf2vjUs9y7PDBhS0U1fKW750lYezg3VEqA,201
97
+ soar_sdk/webhooks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
+ soar_sdk/webhooks/models.py,sha256=PG9SDs5xXqtFndm5C8AsJOTYXU5v_UTY7SpYosWT_CA,4542
99
+ soar_sdk/webhooks/routing.py,sha256=MnzbnIDy2uG_5mJzsTeX-NsE6QYvzyqEGbHmEFj-DG8,6900
100
+ splunk_soar_sdk-3.0.0.dist-info/METADATA,sha256=cB8n00bzBxoy8EHs3VkDTb9XyTS2rQ6HcS8GXCBb7rA,7334
101
+ splunk_soar_sdk-3.0.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
102
+ splunk_soar_sdk-3.0.0.dist-info/entry_points.txt,sha256=CgBjo2ZWpYNkt9TgvToL26h2Tg1yt8FbvYTb5NVgNuc,51
103
+ splunk_soar_sdk-3.0.0.dist-info/licenses/LICENSE,sha256=gNCGrGhrSQb1PUzBOByVUN1tvaliwLZfna-QU2r2hQ8,11345
104
+ splunk_soar_sdk-3.0.0.dist-info/RECORD,,
@@ -1,103 +0,0 @@
1
- soar_sdk/__init__.py,sha256=RzAng-ARqpK01SY82lNy4uYJFVG0yW6Q3CccEqbToJ4,726
2
- soar_sdk/abstract.py,sha256=AU5ssJWytMp_RmYOxt_sKBqaFN63UfdMmzmAn0HQE_g,7940
3
- soar_sdk/action_results.py,sha256=NQTcQ3NJcYB6h-YNRqO0bCG_hILmTidv2D4FdvCzyDE,11092
4
- soar_sdk/actions_manager.py,sha256=p8Wo2f-MHsq2Xe57i8CsdVYSJiIYCMISoxfzpo6IxXc,6380
5
- soar_sdk/app.py,sha256=WywDS9Eqy52u2lOQyuF6EfLHhLqCVjPTbFzIX06hiAs,33200
6
- soar_sdk/app_cli_runner.py,sha256=fJoozhyAt7QUMuc02nE5RL_InpsjQBpr6U4rF9sey3E,11627
7
- soar_sdk/app_client.py,sha256=GZmpenBl25-UQVVpELxWRJanmXBWNIQBRphcSAbnZlU,6253
8
- soar_sdk/asset.py,sha256=deS8_B5hr7W2fED8_6wUpVriRgiQ5r8TkGVHiasIaro,10666
9
- soar_sdk/async_utils.py,sha256=gND8ZiVTqDYLQ88Ua6SN1mInJaEcfa168eOaRoURt3E,1441
10
- soar_sdk/colors.py,sha256=--i_iXqfyITUz4O95HMjfZQGbwFZ34bLmBhtfpXXqlQ,1095
11
- soar_sdk/compat.py,sha256=m2fRS3ReJD5K7kwKjJfNE_MYBm5uM6MFuXkefPkPl1Y,3056
12
- soar_sdk/crypto.py,sha256=qiBMHUQqgn5lPI1DbujSj700s89FuLJrkQgCO9_eBn4,392
13
- soar_sdk/exceptions.py,sha256=CxJ_Q6N1jlknO_3ItDQNhHEw2pNWZr3sMLqutYmr5HA,1863
14
- soar_sdk/input_spec.py,sha256=SbpLUfZeAlQE7V2l84FQSEr_LsNHG8NB_bLwunzfeyI,4707
15
- soar_sdk/logging.py,sha256=lSz8PA6hOCw2MHGE0ZSKbw-FzSr1WdbfQ7BHnXBUUY0,11440
16
- soar_sdk/params.py,sha256=UXfyCAO3bqMX7n_2Cmu-ObmilBkGg0kX1Jk9KCjjrtY,8940
17
- soar_sdk/paths.py,sha256=XhpanQCAiTXaulRx440oKu36mnll7P05TethHXgMpgQ,239
18
- soar_sdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- soar_sdk/types.py,sha256=uMFnNOHpmCLrbAhQOgmXjScXiGE67sM8ySN04MhkC3U,602
20
- soar_sdk/apis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
- soar_sdk/apis/artifact.py,sha256=6w9dzOzONidWo23FqPRagewp4Et8FG6MzALuEDjGKe8,4715
22
- soar_sdk/apis/container.py,sha256=eLV3S1zvwfMerNXM78gsSqiMDv731oVwBcdfQJdxSn4,8747
23
- soar_sdk/apis/utils.py,sha256=lyqVGVRzRfCmel0k678CSD4tVASXkVZGm4Qzee2KbyM,982
24
- soar_sdk/apis/vault.py,sha256=nOIi7oqrBl59AfI1i0zWxfj-TO24x02_RYLSgT0rXNY,8565
25
- soar_sdk/app_templates/basic_app/.gitignore,sha256=CwSrCn9YISq7Q2EJVc7o1kdkXqysZngGJfz-4pOMMdY,3517
26
- soar_sdk/app_templates/basic_app/.pre-commit-config.yaml,sha256=0sFjnoC-scXm80ZgA4TPyc6BN1VaF4eY9p8qwEchB38,2526
27
- soar_sdk/app_templates/basic_app/logo.svg,sha256=_JTop6spn5oPWPk-w6Tzumx_FTSBanOYra3vE2FO-6c,285
28
- soar_sdk/app_templates/basic_app/logo_dark.svg,sha256=PTxIs_1CKK9ZY3v-K1QoGwaUng9ZUL2MhUeO2jeHu_0,291
29
- soar_sdk/app_templates/basic_app/uv.lock,sha256=AfgaIBg88KH-0iyXpCXacXAwHYKm0c-on2gWXjV9L-Y,80216
30
- soar_sdk/app_templates/basic_app/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
- soar_sdk/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
- soar_sdk/cli/cli.py,sha256=62n6b41bjXILtkqLTpeID8JyDYMbkfXNV1LCo52YUsA,926
33
- soar_sdk/cli/path_utils.py,sha256=rFJDAe-sTC_6KgSiidlD3JcpygFmyHAEsn1j_6eWpIc,1263
34
- soar_sdk/cli/utils.py,sha256=GNZLFAMH_BKQo2-D5GvweWxeuR7DfR8eMZS4-sJUggU,1441
35
- soar_sdk/cli/init/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
- soar_sdk/cli/init/cli.py,sha256=FU9N0pMGUoNA0qHnA3m63vfytmXPHpHxHep-D-T16-c,14674
37
- soar_sdk/cli/manifests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
- soar_sdk/cli/manifests/cli.py,sha256=cly5xVdj4bBIdZVMQPIWTXRgUfd1ON3qKO-76Fwql18,524
39
- soar_sdk/cli/manifests/deserializers.py,sha256=xFTRzWEszKbkO-yNUvGnQfjdJryXpB2FalkxaDmzm3Y,16589
40
- soar_sdk/cli/manifests/processors.py,sha256=6B1fQC2WGVaUP-7E9Y5g7BipaVwEomJCkUQ_7gRfSn8,4155
41
- soar_sdk/cli/manifests/serializers.py,sha256=0qps_2jsySXa4ytX3DvFt0tbbZlZ7mowIjMu9FEhQMc,3417
42
- soar_sdk/cli/package/cli.py,sha256=oCpP9E3PtXq-zCdzQD8Z-4dowKF1YT-uKjTpbt_YT-A,9516
43
- soar_sdk/cli/package/utils.py,sha256=NQgMxWZSf20hqd4Orov77b7qK23QAO3zIEvRTj9HW-o,1590
44
- soar_sdk/code_renderers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
- soar_sdk/code_renderers/action_renderer.py,sha256=Un2QwuYwa3kX0IiTdrjx_nsfszorfbGxK2stXbC5E1g,13938
46
- soar_sdk/code_renderers/app_renderer.py,sha256=cxXj0BwWY_1qOcmdWZ-2s6l8x1XEMRm20_LIKv5Dx5g,7408
47
- soar_sdk/code_renderers/asset_renderer.py,sha256=f2e2jC43nD0S_bOOfABs-e6Okcyn8znHd_H46TOaue0,3880
48
- soar_sdk/code_renderers/renderer.py,sha256=oDlmU-MzDqpc4Yq6zupoT4XN-vRjgL4UV5lOGTLeqkg,1242
49
- soar_sdk/code_renderers/toml_renderer.py,sha256=-zP8UzlYMCVVA5ex9slaNLeFTu4xLjkv88YLmRNLrTM,1505
50
- soar_sdk/code_renderers/templates/pyproject.toml.jinja,sha256=Ti6A5kWMb902Lbd1kmw8qPgVDPNNzlV6rd0pcVEbVUo,3917
51
- soar_sdk/decorators/__init__.py,sha256=ttvapTczeQpReZVYgjTw4qnEqKd7b8pR7lNaCpO0npQ,513
52
- soar_sdk/decorators/action.py,sha256=ZuSsowsBeEuenGQw03iyd2uv-Ymp9kQYnhYsx7k7pX8,6695
53
- soar_sdk/decorators/make_request.py,sha256=Em9GoVMtDF3K8CxzVQmcamC3bLOsnNosd8JCaNh-dKw,5959
54
- soar_sdk/decorators/on_poll.py,sha256=xdT0QSa_dnh37XdJNGW-DAZsb9oQO5tjxPbIQmWpaZs,8232
55
- soar_sdk/decorators/test_connectivity.py,sha256=8uXMD4NW5bokpsAfBctUrfOR4K_geYLEZUY0Y6uI6aU,3568
56
- soar_sdk/decorators/view_handler.py,sha256=jhBzbJcokWOeUWR4_orDRWTXiiVwE9RZdRSvNUYF3S0,7362
57
- soar_sdk/decorators/webhook.py,sha256=Pde0MjxC2kckpxoKb3m4WVfLWtiFAAzAwZe5AF5VIbE,2400
58
- soar_sdk/meta/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
- soar_sdk/meta/actions.py,sha256=nrTBwCnCwjOzof-_8Ww9vfoTIfZfauiL6C6DTRg2Mhs,2580
60
- soar_sdk/meta/adapters.py,sha256=KjSYIUtkCz2eesA_vhsNCjfi5C-Uz71tbSuDIjhuB8U,1112
61
- soar_sdk/meta/app.py,sha256=KHvtyxBYf740pTKuMYdrZCh7Kikoaybq5JJeCIQs0CI,2595
62
- soar_sdk/meta/datatypes.py,sha256=piR-oBVAATiRciXSdVE7XaqjUZTgSaOvTEqcOcNvCS0,795
63
- soar_sdk/meta/dependencies.py,sha256=AQlkdm6A7JEfLI0IAXKU6WzPkUX7oPfxgDkGZ3AofHk,17927
64
- soar_sdk/meta/webhooks.py,sha256=1sh4-3I3_UiXFNzVEyoz2Tp6NhgTEZWpERYIzV8OYNY,1188
65
- soar_sdk/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
- soar_sdk/models/artifact.py,sha256=MWEjMNxPVCCEyAin8NW646bm8xGDmc7NAJGLZFyKCSw,1223
67
- soar_sdk/models/container.py,sha256=TWdTB0Wy3CzOYmBOxCtEi2zn90N_lRDuor0MxkGBprA,1622
68
- soar_sdk/models/vault_attachment.py,sha256=_ARh74nv6iD9nH0dN3uayUYA7O8wIIiIKW98w4FUVQc,1107
69
- soar_sdk/models/view.py,sha256=fgPEdUNxu-Kbi4J0nOk16lkD0uof-PkxDumBcaQqKTE,832
70
- soar_sdk/shims/phantom/action_result.py,sha256=jCZPljCcW5RMFA_Pp0OQ2Dg9c9c_PjDM9bm7Jj3wJrg,1635
71
- soar_sdk/shims/phantom/app.py,sha256=PpNj9FoXjyj6r5w9S2fpElKFS6EcBIqsnpaTSvnIzyI,303
72
- soar_sdk/shims/phantom/base_connector.py,sha256=s8sHCXX2LbnsSjfbzRm4UMsHRZNsx-jcvjIT80kye-I,4490
73
- soar_sdk/shims/phantom/connector_result.py,sha256=T6eDXdMyblWB0Xa3RW4ojuhy9wJmWZTpY8Oojl5sYYk,641
74
- soar_sdk/shims/phantom/consts.py,sha256=eq6AIuDhb2Z-CJORwv98D3JbcIOW8CC673zx5dNPFKU,404
75
- soar_sdk/shims/phantom/encryption_helper.py,sha256=kiZNwBMgrhvVtNjKVP7ZswEn4DXxH8gTC-9tuxjVzTc,1386
76
- soar_sdk/shims/phantom/install_info.py,sha256=DaU9heIZk-TmlqMubdzXM00ZMO_KqocVCz3UnY2_TvQ,740
77
- soar_sdk/shims/phantom/json_keys.py,sha256=QgDO5qGlcNNqJBsolJQs0UOW1sa8xMYIubqfCXeP4C4,528
78
- soar_sdk/shims/phantom/ph_ipc.py,sha256=hl2hOPUXS7CIOpdW2E-nZojvOy8RSfRp5XDU1Fgsaak,1397
79
- soar_sdk/shims/phantom/vault.py,sha256=JLNvUkhCtB_qUgI2tgnjl82xOJH--snZXJQBgH1JLOU,14257
80
- soar_sdk/shims/phantom_common/app_interface/app_interface.py,sha256=yvS0GmNMw_PP1iUvpM9igDzb2_HD7X8JOXI4Su4jasg,862
81
- soar_sdk/shims/phantom_common/encryption/encryption_manager_factory.py,sha256=gpsf2P9OR8_yxE0vVwCk3h6rZCTD30pyIppc8Amor5s,725
82
- soar_sdk/templates/base/base_template.html,sha256=rugqZWF4cW8jns4lzFwbxYY6YzgsrxAF1j0YcY9dE3c,83
83
- soar_sdk/templates/base/error.html,sha256=EiVWmTWSA5Zuwgn7h0-WeSute_8Hi1y8Ci4_5qr3gKc,1225
84
- soar_sdk/templates/base/header.html,sha256=HZDD3txUsnkGKJ5tUwKel6wKDDsD6o91IpATUuQVc6Y,139
85
- soar_sdk/templates/base/logo_header.html,sha256=qz6b2hA7h4DI9PAW4klJDjic0JoJ6o133r6F2BUsG9U,255
86
- soar_sdk/templates/components/pie_chart.html,sha256=Uj4CrfM9t18xA8fzJgvqYUxhzrJ8XbdsLuDaTLzVkRM,3797
87
- soar_sdk/templates/widgets/widget_resize_snippet.html,sha256=nGAXhYLlnyrEtdDqSjzdKhglCHTDUklxLJ9AOhdm0Gg,3188
88
- soar_sdk/templates/widgets/widget_template.html,sha256=aQTVtU-96QLwRyA2yYskJeq4a2otqlDa6V0EamHBDEY,3751
89
- soar_sdk/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
- soar_sdk/views/component_registry.py,sha256=cN2F2XHGSR5Ddv6hihloCe0_4MD83BMpdNPod7nbu3A,119
91
- soar_sdk/views/template_filters.py,sha256=8GEl2ghmsZOkhJhLmjDL8JrPO-M5ZkWavi7ywqr6YUA,5453
92
- soar_sdk/views/template_renderer.py,sha256=t1elD9Y7wn4k7W4RBE1Mt6gaqXMGAo68c5KUYxl-UNs,5402
93
- soar_sdk/views/view_parser.py,sha256=IlRr_d_Ol4VjovKv7drmHPNXutJi_khfNtY1E05l8n4,3956
94
- soar_sdk/views/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
- soar_sdk/views/components/pie_chart.py,sha256=LVTeHVJN6nf2vjUs9y7PDBhS0U1fKW750lYezg3VEqA,201
96
- soar_sdk/webhooks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
- soar_sdk/webhooks/models.py,sha256=-rjuFA9cRX5zTLp7cHSHVTkt5eVJD6BdESGbj_qkyHI,4540
98
- soar_sdk/webhooks/routing.py,sha256=BKbURSrBPdOTS5UFL-mHzFEr-Fj04mJMx9KeiPrZ2VQ,6872
99
- splunk_soar_sdk-2.3.6.dist-info/METADATA,sha256=32yk-vzzh27rXgMAzcd5pUzPDAdbsVtE-W8d-cV2kM8,7361
100
- splunk_soar_sdk-2.3.6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
101
- splunk_soar_sdk-2.3.6.dist-info/entry_points.txt,sha256=CgBjo2ZWpYNkt9TgvToL26h2Tg1yt8FbvYTb5NVgNuc,51
102
- splunk_soar_sdk-2.3.6.dist-info/licenses/LICENSE,sha256=gNCGrGhrSQb1PUzBOByVUN1tvaliwLZfna-QU2r2hQ8,11345
103
- splunk_soar_sdk-2.3.6.dist-info/RECORD,,