splunk-soar-sdk 2.0.1__tar.gz → 2.1.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.
Files changed (219) hide show
  1. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/PKG-INFO +1 -1
  2. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/pyproject.toml +1 -1
  3. splunk_soar_sdk-2.1.0/release_notes.txt +21 -0
  4. splunk_soar_sdk-2.1.0/release_version.txt +1 -0
  5. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/app.py +5 -0
  6. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/decorators/action.py +3 -0
  7. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/meta/actions.py +5 -0
  8. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/meta/test_actions.py +21 -0
  9. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/uv.lock +1 -1
  10. splunk_soar_sdk-2.0.1/release_notes.txt +0 -21
  11. splunk_soar_sdk-2.0.1/release_version.txt +0 -1
  12. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/.github/ISSUE_TEMPLATE/bug.md +0 -0
  13. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  14. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/.github/pull_request_template.md +0 -0
  15. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/.github/utils/github.js +0 -0
  16. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/.github/utils/update_version.py +0 -0
  17. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/.github/workflows/code_quality.yml +0 -0
  18. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/.github/workflows/commit_hygiene.yml +0 -0
  19. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/.github/workflows/generate_docs.yml +0 -0
  20. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/.github/workflows/semantic_release.yml +0 -0
  21. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/.gitignore +0 -0
  22. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/.pre-commit-config.yaml +0 -0
  23. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/.releaserc +0 -0
  24. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/LICENSE +0 -0
  25. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/README.md +0 -0
  26. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/commitlint.config.js +0 -0
  27. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/api_reference.rst +0 -0
  28. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/app_structure/index.rst +0 -0
  29. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/app_structure/pre-commit-config.yaml.rst +0 -0
  30. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/app_structure/pyproject.toml.rst +0 -0
  31. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/app_structure/src_app.rst +0 -0
  32. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/changelog.rst +0 -0
  33. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/cli_reference.rst +0 -0
  34. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/conf.py +0 -0
  35. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/custom_views/index.rst +0 -0
  36. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/custom_views/reusable_components.md +0 -0
  37. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/custom_views/templates.md +0 -0
  38. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/custom_views/view_handlers.md +0 -0
  39. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/getting_started/defining_asset.rst +0 -0
  40. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/getting_started/first_action.rst +0 -0
  41. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/getting_started/index.rst +0 -0
  42. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/getting_started/init_app.rst +0 -0
  43. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/getting_started/installation.rst +0 -0
  44. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/getting_started/testing_and_building.rst +0 -0
  45. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/docs/index.rst +0 -0
  46. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/__init__.py +0 -0
  47. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/abstract.py +0 -0
  48. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/action_results.py +0 -0
  49. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/actions_manager.py +0 -0
  50. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/apis/__init__.py +0 -0
  51. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/apis/artifact.py +0 -0
  52. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/apis/container.py +0 -0
  53. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/apis/utils.py +0 -0
  54. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/apis/vault.py +0 -0
  55. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/app_cli_runner.py +0 -0
  56. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/app_client.py +0 -0
  57. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/app_templates/basic_app/.gitignore +0 -0
  58. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/app_templates/basic_app/.pre-commit-config.yaml +0 -0
  59. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/app_templates/basic_app/logo.svg +0 -0
  60. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/app_templates/basic_app/logo_dark.svg +0 -0
  61. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/app_templates/basic_app/src/__init__.py +0 -0
  62. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/app_templates/basic_app/uv.lock +0 -0
  63. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/asset.py +0 -0
  64. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/async_utils.py +0 -0
  65. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/cli/__init__.py +0 -0
  66. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/cli/cli.py +0 -0
  67. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/cli/init/__init__.py +0 -0
  68. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/cli/init/cli.py +0 -0
  69. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/cli/manifests/__init__.py +0 -0
  70. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/cli/manifests/cli.py +0 -0
  71. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/cli/manifests/deserializers.py +0 -0
  72. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/cli/manifests/processors.py +0 -0
  73. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/cli/manifests/serializers.py +0 -0
  74. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/cli/package/cli.py +0 -0
  75. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/cli/package/utils.py +0 -0
  76. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/cli/path_utils.py +0 -0
  77. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/cli/utils.py +0 -0
  78. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/code_renderers/__init__.py +0 -0
  79. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/code_renderers/action_renderer.py +0 -0
  80. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/code_renderers/app_renderer.py +0 -0
  81. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/code_renderers/asset_renderer.py +0 -0
  82. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/code_renderers/renderer.py +0 -0
  83. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/code_renderers/templates/pyproject.toml.jinja +0 -0
  84. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/code_renderers/toml_renderer.py +0 -0
  85. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/colors.py +0 -0
  86. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/compat.py +0 -0
  87. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/crypto.py +0 -0
  88. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/decorators/__init__.py +0 -0
  89. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/decorators/make_request.py +0 -0
  90. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/decorators/on_poll.py +0 -0
  91. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/decorators/test_connectivity.py +0 -0
  92. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/decorators/view_handler.py +0 -0
  93. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/decorators/webhook.py +0 -0
  94. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/exceptions.py +0 -0
  95. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/input_spec.py +0 -0
  96. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/logging.py +0 -0
  97. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/meta/__init__.py +0 -0
  98. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/meta/adapters.py +0 -0
  99. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/meta/app.py +0 -0
  100. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/meta/datatypes.py +0 -0
  101. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/meta/dependencies.py +0 -0
  102. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/meta/webhooks.py +0 -0
  103. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/models/__init__.py +0 -0
  104. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/models/artifact.py +0 -0
  105. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/models/container.py +0 -0
  106. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/models/vault_attachment.py +0 -0
  107. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/models/view.py +0 -0
  108. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/params.py +0 -0
  109. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/paths.py +0 -0
  110. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/py.typed +0 -0
  111. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/shims/phantom/action_result.py +0 -0
  112. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/shims/phantom/app.py +0 -0
  113. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/shims/phantom/base_connector.py +0 -0
  114. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/shims/phantom/connector_result.py +0 -0
  115. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/shims/phantom/consts.py +0 -0
  116. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/shims/phantom/encryption_helper.py +0 -0
  117. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/shims/phantom/install_info.py +0 -0
  118. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/shims/phantom/json_keys.py +0 -0
  119. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/shims/phantom/ph_ipc.py +0 -0
  120. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/shims/phantom/vault.py +0 -0
  121. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/shims/phantom_common/app_interface/app_interface.py +0 -0
  122. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/shims/phantom_common/encryption/encryption_manager_factory.py +0 -0
  123. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/templates/base/base_template.html +0 -0
  124. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/templates/base/error.html +0 -0
  125. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/templates/base/header.html +0 -0
  126. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/templates/base/logo_header.html +0 -0
  127. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/templates/components/pie_chart.html +0 -0
  128. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/templates/widgets/widget_resize_snippet.html +0 -0
  129. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/templates/widgets/widget_template.html +0 -0
  130. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/types.py +0 -0
  131. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/views/__init__.py +0 -0
  132. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/views/component_registry.py +0 -0
  133. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/views/components/__init__.py +0 -0
  134. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/views/components/pie_chart.py +0 -0
  135. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/views/template_filters.py +0 -0
  136. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/views/template_renderer.py +0 -0
  137. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/views/view_parser.py +0 -0
  138. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/webhooks/__init__.py +0 -0
  139. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/webhooks/models.py +0 -0
  140. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/src/soar_sdk/webhooks/routing.py +0 -0
  141. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/test.png +0 -0
  142. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/test.txt +0 -0
  143. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/__init__.py +0 -0
  144. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/cli/__init__.py +0 -0
  145. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/cli/datapath_parse.py +0 -0
  146. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/cli/manifests/__init__.py +0 -0
  147. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/cli/manifests/test_processors.py +0 -0
  148. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/cli/test_assets/converted_app/actions.py.txt +0 -0
  149. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/cli/test_cli.py +0 -0
  150. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/cli/test_convert_cli.py +0 -0
  151. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/cli/test_deserializers.py +0 -0
  152. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/cli/test_init_cli.py +0 -0
  153. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/cli/test_manifests_cli.py +0 -0
  154. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/cli/test_package_cli.py +0 -0
  155. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/cli/test_serializers.py +0 -0
  156. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/cli/test_utils.py +0 -0
  157. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/code_renderers/test_action_renderer.py +0 -0
  158. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/conftest.py +0 -0
  159. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app/app.json +0 -0
  160. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app/example_asset.json +0 -0
  161. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app/logo.svg +0 -0
  162. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app/logo_dark.svg +0 -0
  163. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app/pyproject.toml +0 -0
  164. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app/src/__init__.py +0 -0
  165. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app/src/actions/__init__.py +0 -0
  166. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app/src/actions/async_action.py +0 -0
  167. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app/src/actions/generate_category.py +0 -0
  168. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app/src/actions/reverse_string.py +0 -0
  169. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app/src/app.py +0 -0
  170. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app/src/ignoreme.txt +0 -0
  171. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app/templates/reverse_string.html +0 -0
  172. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app/uv.lock +0 -0
  173. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app_with_webhook/app.json +0 -0
  174. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app_with_webhook/logo.svg +0 -0
  175. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app_with_webhook/logo_dark.svg +0 -0
  176. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app_with_webhook/pyproject.toml +0 -0
  177. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app_with_webhook/src/__init__.py +0 -0
  178. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app_with_webhook/src/app.py +0 -0
  179. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/example_app_with_webhook/uv.lock +0 -0
  180. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/interfaces/__init__.py +0 -0
  181. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/interfaces/test_artifact_interface.py +0 -0
  182. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/interfaces/test_container_interface.py +0 -0
  183. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/interfaces/test_vault_interface.py +0 -0
  184. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/meta/__init__.py +0 -0
  185. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/meta/test_adapters.py +0 -0
  186. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/meta/test_datatypes.py +0 -0
  187. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/meta/test_dependencies.py +0 -0
  188. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/meta/test_webhooks.py +0 -0
  189. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/mocks/__init__.py +0 -0
  190. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/mocks/dynamic_mocks.py +0 -0
  191. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/mocks/importable_action.py +0 -0
  192. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/stubs.py +0 -0
  193. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_action_results.py +0 -0
  194. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_actions_manager.py +0 -0
  195. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_app.py +0 -0
  196. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_app_action.py +0 -0
  197. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_app_action_params.py +0 -0
  198. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_app_action_results.py +0 -0
  199. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_app_client.py +0 -0
  200. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_app_runner.py +0 -0
  201. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_asset.py +0 -0
  202. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_assets/splunk-sdk-2.1.0.tar.gz +0 -0
  203. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_async_integration.py +0 -0
  204. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_async_utils.py +0 -0
  205. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_code_renderers.py +0 -0
  206. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_compat.py +0 -0
  207. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_container.py +0 -0
  208. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_custom_views.py +0 -0
  209. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_encryption.py +0 -0
  210. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_logging.py +0 -0
  211. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_make_request_action.py +0 -0
  212. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_on_poll.py +0 -0
  213. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_params.py +0 -0
  214. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_template_filters.py +0 -0
  215. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_template_renderer.py +0 -0
  216. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_test_connectivity.py +0 -0
  217. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/test_view_parser.py +0 -0
  218. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/webhooks/test_models.py +0 -0
  219. {splunk_soar_sdk-2.0.1 → splunk_soar_sdk-2.1.0}/tests/webhooks/test_routing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: splunk-soar-sdk
3
- Version: 2.0.1
3
+ Version: 2.1.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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "splunk-soar-sdk"
3
- version = "2.0.1"
3
+ version = "2.1.0"
4
4
  description = "The official framework for developing and testing Splunk SOAR Apps"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.9, <3.14"
@@ -0,0 +1,21 @@
1
+ # [2.1.0](https://github.com/phantomcyber/splunk-soar-sdk/compare/2.0.1...2.1.0) (2025-09-26)
2
+
3
+
4
+ ### Features
5
+
6
+ * add a parameter to enable the action concurrency lock ([6ec9a5f](https://github.com/phantomcyber/splunk-soar-sdk/commit/6ec9a5fc69dbfaa528105f9d983e83c5544d06ba))
7
+
8
+
9
+
10
+
11
+
12
+ # [2.1.0](https://github.com/phantomcyber/splunk-soar-sdk/compare/2.0.1...2.1.0) (2025-09-26)
13
+
14
+
15
+ ### Features
16
+
17
+ * add a parameter to enable the action concurrency lock ([6ec9a5f](https://github.com/phantomcyber/splunk-soar-sdk/commit/6ec9a5fc69dbfaa528105f9d983e83c5544d06ba))
18
+
19
+
20
+
21
+
@@ -0,0 +1 @@
1
+ 2.1.0
@@ -241,6 +241,7 @@ class App:
241
241
  view_template: Optional[str] = None,
242
242
  versions: str = "EQ(*)",
243
243
  summary_type: Optional[type[ActionOutput]] = None,
244
+ enable_concurrency_lock: bool = False,
244
245
  ) -> Action:
245
246
  """Dynamically register an action function defined in another module.
246
247
 
@@ -301,6 +302,7 @@ class App:
301
302
  versions: Version constraint string for when this action is available.
302
303
  Defaults to "EQ(*)" (all versions).
303
304
  summary_type: Pydantic model class for structuring action summary output.
305
+ enable_concurrency_lock: Whether to enable a concurrency lock for this action. Defaults to False.
304
306
 
305
307
  Returns:
306
308
  The registered Action instance with all metadata and handlers configured.
@@ -356,6 +358,7 @@ class App:
356
358
  view_handler=view_handler,
357
359
  versions=versions,
358
360
  summary_type=summary_type,
361
+ enable_concurrency_lock=enable_concurrency_lock,
359
362
  )(action)
360
363
 
361
364
  def _resolve_function_import(self, action_path: str) -> Callable:
@@ -421,6 +424,7 @@ class App:
421
424
  view_handler: Optional[Callable] = None,
422
425
  versions: str = "EQ(*)",
423
426
  summary_type: Optional[type[ActionOutput]] = None,
427
+ enable_concurrency_lock: bool = False,
424
428
  ) -> ActionDecorator:
425
429
  """Decorator for registering an action function.
426
430
 
@@ -439,6 +443,7 @@ class App:
439
443
  view_handler=view_handler,
440
444
  versions=versions,
441
445
  summary_type=summary_type,
446
+ enable_concurrency_lock=enable_concurrency_lock,
442
447
  )
443
448
 
444
449
  def test_connectivity(self) -> ConnectivityTestDecorator:
@@ -42,6 +42,7 @@ class ActionDecorator:
42
42
  view_handler: Optional[Callable] = None,
43
43
  versions: str = "EQ(*)",
44
44
  summary_type: Optional[type[ActionOutput]] = None,
45
+ enable_concurrency_lock: bool = False,
45
46
  ) -> None:
46
47
  self.app = app
47
48
  self.name = name
@@ -55,6 +56,7 @@ class ActionDecorator:
55
56
  self.view_handler = view_handler
56
57
  self.versions = versions
57
58
  self.summary_type = summary_type
59
+ self.enable_concurrency_lock = enable_concurrency_lock
58
60
 
59
61
  def __call__(self, function: Callable) -> Action:
60
62
  """Decorator for the action handling function.
@@ -152,6 +154,7 @@ class ActionDecorator:
152
154
  versions=self.versions,
153
155
  view_handler=self.view_handler,
154
156
  summary_type=self.summary_type,
157
+ enable_concurrency_lock=self.enable_concurrency_lock,
155
158
  )
156
159
 
157
160
  self.app.actions_manager.set_action(action_identifier, inner)
@@ -22,6 +22,7 @@ class ActionMeta(BaseModel):
22
22
  output: Type[ActionOutput] = Field(default=ActionOutput) # noqa: UP006
23
23
  view_handler: Optional[Callable] = None
24
24
  summary_type: Optional[Type[ActionOutput]] = Field(default=None, exclude=True) # noqa: UP006
25
+ enable_concurrency_lock: bool = False
25
26
 
26
27
  def dict(self, *args: Any, **kwargs: Any) -> dict[str, Any]: # noqa: ANN401
27
28
  """Serializes the action metadata to a dictionary."""
@@ -52,4 +53,8 @@ class ActionMeta(BaseModel):
52
53
  # Remove view_handler from the output since in render
53
54
  data.pop("view_handler", None)
54
55
 
56
+ if self.enable_concurrency_lock:
57
+ data["lock"] = {"enabled": True}
58
+ data.pop("enable_concurrency_lock", None)
59
+
55
60
  return data
@@ -70,3 +70,24 @@ def test_action_meta_dict_without_view_handler():
70
70
 
71
71
  assert "render" not in result
72
72
  assert "view_handler" not in result
73
+
74
+
75
+ def test_action_meta_dict_with_concurrency_lock():
76
+ """Test ActionMeta.dict() with enable_concurrency_lock set to True."""
77
+
78
+ meta = ActionMeta(
79
+ action="test_action",
80
+ identifier="test_identifier",
81
+ description="Test description",
82
+ verbose="Test verbose",
83
+ type="generic",
84
+ read_only=True,
85
+ versions="EQ(*)",
86
+ enable_concurrency_lock=True,
87
+ )
88
+
89
+ result = meta.dict()
90
+
91
+ assert "lock" in result
92
+ assert result["lock"]["enabled"] is True
93
+ assert "enable_concurrency_lock" not in result
@@ -1291,7 +1291,7 @@ wheels = [
1291
1291
 
1292
1292
  [[package]]
1293
1293
  name = "splunk-soar-sdk"
1294
- version = "2.0.1"
1294
+ version = "2.1.0"
1295
1295
  source = { editable = "." }
1296
1296
  dependencies = [
1297
1297
  { name = "beautifulsoup4", marker = "(python_full_version < '3.10' and platform_machine == 'arm64' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'darwin') or (python_full_version < '3.10' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux')" },
@@ -1,21 +0,0 @@
1
- ## [2.0.1](https://github.com/phantomcyber/splunk-soar-sdk/compare/2.0.0...2.0.1) (2025-09-25)
2
-
3
-
4
- ### Bug Fixes
5
-
6
- * handle lists and optionals of nested types properly ([98a84b5](https://github.com/phantomcyber/splunk-soar-sdk/commit/98a84b52fa79aaf08b4ce7493abef76df94cfb37))
7
-
8
-
9
-
10
-
11
-
12
- ## [2.0.1](https://github.com/phantomcyber/splunk-soar-sdk/compare/2.0.0...2.0.1) (2025-09-25)
13
-
14
-
15
- ### Bug Fixes
16
-
17
- * handle lists and optionals of nested types properly ([98a84b5](https://github.com/phantomcyber/splunk-soar-sdk/commit/98a84b52fa79aaf08b4ce7493abef76df94cfb37))
18
-
19
-
20
-
21
-
@@ -1 +0,0 @@
1
- 2.0.1
File without changes