splunk-soar-sdk 2.1.0__tar.gz → 2.1.1__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.1.0 → splunk_soar_sdk-2.1.1}/PKG-INFO +1 -1
  2. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/pyproject.toml +1 -1
  3. splunk_soar_sdk-2.1.1/release_notes.txt +21 -0
  4. splunk_soar_sdk-2.1.1/release_version.txt +1 -0
  5. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/app.py +10 -2
  6. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app/app.json +76 -0
  7. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app/src/app.py +19 -0
  8. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_app_action.py +23 -0
  9. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/uv.lock +1 -1
  10. splunk_soar_sdk-2.1.0/release_notes.txt +0 -21
  11. splunk_soar_sdk-2.1.0/release_version.txt +0 -1
  12. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/.github/ISSUE_TEMPLATE/bug.md +0 -0
  13. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  14. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/.github/pull_request_template.md +0 -0
  15. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/.github/utils/github.js +0 -0
  16. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/.github/utils/update_version.py +0 -0
  17. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/.github/workflows/code_quality.yml +0 -0
  18. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/.github/workflows/commit_hygiene.yml +0 -0
  19. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/.github/workflows/generate_docs.yml +0 -0
  20. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/.github/workflows/semantic_release.yml +0 -0
  21. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/.gitignore +0 -0
  22. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/.pre-commit-config.yaml +0 -0
  23. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/.releaserc +0 -0
  24. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/LICENSE +0 -0
  25. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/README.md +0 -0
  26. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/commitlint.config.js +0 -0
  27. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/api_reference.rst +0 -0
  28. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/app_structure/index.rst +0 -0
  29. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/app_structure/pre-commit-config.yaml.rst +0 -0
  30. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/app_structure/pyproject.toml.rst +0 -0
  31. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/app_structure/src_app.rst +0 -0
  32. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/changelog.rst +0 -0
  33. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/cli_reference.rst +0 -0
  34. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/conf.py +0 -0
  35. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/custom_views/index.rst +0 -0
  36. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/custom_views/reusable_components.md +0 -0
  37. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/custom_views/templates.md +0 -0
  38. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/custom_views/view_handlers.md +0 -0
  39. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/getting_started/defining_asset.rst +0 -0
  40. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/getting_started/first_action.rst +0 -0
  41. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/getting_started/index.rst +0 -0
  42. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/getting_started/init_app.rst +0 -0
  43. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/getting_started/installation.rst +0 -0
  44. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/getting_started/testing_and_building.rst +0 -0
  45. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/docs/index.rst +0 -0
  46. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/__init__.py +0 -0
  47. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/abstract.py +0 -0
  48. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/action_results.py +0 -0
  49. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/actions_manager.py +0 -0
  50. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/apis/__init__.py +0 -0
  51. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/apis/artifact.py +0 -0
  52. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/apis/container.py +0 -0
  53. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/apis/utils.py +0 -0
  54. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/apis/vault.py +0 -0
  55. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/app_cli_runner.py +0 -0
  56. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/app_client.py +0 -0
  57. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/app_templates/basic_app/.gitignore +0 -0
  58. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/app_templates/basic_app/.pre-commit-config.yaml +0 -0
  59. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/app_templates/basic_app/logo.svg +0 -0
  60. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/app_templates/basic_app/logo_dark.svg +0 -0
  61. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/app_templates/basic_app/src/__init__.py +0 -0
  62. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/app_templates/basic_app/uv.lock +0 -0
  63. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/asset.py +0 -0
  64. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/async_utils.py +0 -0
  65. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/cli/__init__.py +0 -0
  66. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/cli/cli.py +0 -0
  67. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/cli/init/__init__.py +0 -0
  68. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/cli/init/cli.py +0 -0
  69. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/cli/manifests/__init__.py +0 -0
  70. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/cli/manifests/cli.py +0 -0
  71. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/cli/manifests/deserializers.py +0 -0
  72. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/cli/manifests/processors.py +0 -0
  73. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/cli/manifests/serializers.py +0 -0
  74. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/cli/package/cli.py +0 -0
  75. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/cli/package/utils.py +0 -0
  76. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/cli/path_utils.py +0 -0
  77. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/cli/utils.py +0 -0
  78. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/code_renderers/__init__.py +0 -0
  79. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/code_renderers/action_renderer.py +0 -0
  80. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/code_renderers/app_renderer.py +0 -0
  81. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/code_renderers/asset_renderer.py +0 -0
  82. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/code_renderers/renderer.py +0 -0
  83. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/code_renderers/templates/pyproject.toml.jinja +0 -0
  84. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/code_renderers/toml_renderer.py +0 -0
  85. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/colors.py +0 -0
  86. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/compat.py +0 -0
  87. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/crypto.py +0 -0
  88. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/decorators/__init__.py +0 -0
  89. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/decorators/action.py +0 -0
  90. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/decorators/make_request.py +0 -0
  91. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/decorators/on_poll.py +0 -0
  92. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/decorators/test_connectivity.py +0 -0
  93. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/decorators/view_handler.py +0 -0
  94. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/decorators/webhook.py +0 -0
  95. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/exceptions.py +0 -0
  96. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/input_spec.py +0 -0
  97. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/logging.py +0 -0
  98. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/meta/__init__.py +0 -0
  99. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/meta/actions.py +0 -0
  100. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/meta/adapters.py +0 -0
  101. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/meta/app.py +0 -0
  102. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/meta/datatypes.py +0 -0
  103. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/meta/dependencies.py +0 -0
  104. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/meta/webhooks.py +0 -0
  105. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/models/__init__.py +0 -0
  106. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/models/artifact.py +0 -0
  107. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/models/container.py +0 -0
  108. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/models/vault_attachment.py +0 -0
  109. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/models/view.py +0 -0
  110. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/params.py +0 -0
  111. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/paths.py +0 -0
  112. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/py.typed +0 -0
  113. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/shims/phantom/action_result.py +0 -0
  114. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/shims/phantom/app.py +0 -0
  115. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/shims/phantom/base_connector.py +0 -0
  116. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/shims/phantom/connector_result.py +0 -0
  117. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/shims/phantom/consts.py +0 -0
  118. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/shims/phantom/encryption_helper.py +0 -0
  119. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/shims/phantom/install_info.py +0 -0
  120. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/shims/phantom/json_keys.py +0 -0
  121. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/shims/phantom/ph_ipc.py +0 -0
  122. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/shims/phantom/vault.py +0 -0
  123. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/shims/phantom_common/app_interface/app_interface.py +0 -0
  124. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/shims/phantom_common/encryption/encryption_manager_factory.py +0 -0
  125. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/templates/base/base_template.html +0 -0
  126. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/templates/base/error.html +0 -0
  127. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/templates/base/header.html +0 -0
  128. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/templates/base/logo_header.html +0 -0
  129. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/templates/components/pie_chart.html +0 -0
  130. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/templates/widgets/widget_resize_snippet.html +0 -0
  131. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/templates/widgets/widget_template.html +0 -0
  132. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/types.py +0 -0
  133. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/views/__init__.py +0 -0
  134. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/views/component_registry.py +0 -0
  135. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/views/components/__init__.py +0 -0
  136. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/views/components/pie_chart.py +0 -0
  137. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/views/template_filters.py +0 -0
  138. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/views/template_renderer.py +0 -0
  139. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/views/view_parser.py +0 -0
  140. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/webhooks/__init__.py +0 -0
  141. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/webhooks/models.py +0 -0
  142. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/src/soar_sdk/webhooks/routing.py +0 -0
  143. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/test.png +0 -0
  144. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/test.txt +0 -0
  145. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/__init__.py +0 -0
  146. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/cli/__init__.py +0 -0
  147. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/cli/datapath_parse.py +0 -0
  148. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/cli/manifests/__init__.py +0 -0
  149. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/cli/manifests/test_processors.py +0 -0
  150. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/cli/test_assets/converted_app/actions.py.txt +0 -0
  151. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/cli/test_cli.py +0 -0
  152. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/cli/test_convert_cli.py +0 -0
  153. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/cli/test_deserializers.py +0 -0
  154. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/cli/test_init_cli.py +0 -0
  155. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/cli/test_manifests_cli.py +0 -0
  156. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/cli/test_package_cli.py +0 -0
  157. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/cli/test_serializers.py +0 -0
  158. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/cli/test_utils.py +0 -0
  159. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/code_renderers/test_action_renderer.py +0 -0
  160. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/conftest.py +0 -0
  161. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app/example_asset.json +0 -0
  162. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app/logo.svg +0 -0
  163. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app/logo_dark.svg +0 -0
  164. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app/pyproject.toml +0 -0
  165. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app/src/__init__.py +0 -0
  166. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app/src/actions/__init__.py +0 -0
  167. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app/src/actions/async_action.py +0 -0
  168. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app/src/actions/generate_category.py +0 -0
  169. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app/src/actions/reverse_string.py +0 -0
  170. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app/src/ignoreme.txt +0 -0
  171. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app/templates/reverse_string.html +0 -0
  172. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app/uv.lock +0 -0
  173. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app_with_webhook/app.json +0 -0
  174. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app_with_webhook/logo.svg +0 -0
  175. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app_with_webhook/logo_dark.svg +0 -0
  176. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app_with_webhook/pyproject.toml +0 -0
  177. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app_with_webhook/src/__init__.py +0 -0
  178. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app_with_webhook/src/app.py +0 -0
  179. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/example_app_with_webhook/uv.lock +0 -0
  180. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/interfaces/__init__.py +0 -0
  181. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/interfaces/test_artifact_interface.py +0 -0
  182. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/interfaces/test_container_interface.py +0 -0
  183. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/interfaces/test_vault_interface.py +0 -0
  184. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/meta/__init__.py +0 -0
  185. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/meta/test_actions.py +0 -0
  186. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/meta/test_adapters.py +0 -0
  187. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/meta/test_datatypes.py +0 -0
  188. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/meta/test_dependencies.py +0 -0
  189. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/meta/test_webhooks.py +0 -0
  190. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/mocks/__init__.py +0 -0
  191. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/mocks/dynamic_mocks.py +0 -0
  192. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/mocks/importable_action.py +0 -0
  193. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/stubs.py +0 -0
  194. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_action_results.py +0 -0
  195. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_actions_manager.py +0 -0
  196. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_app.py +0 -0
  197. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_app_action_params.py +0 -0
  198. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_app_action_results.py +0 -0
  199. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_app_client.py +0 -0
  200. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_app_runner.py +0 -0
  201. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_asset.py +0 -0
  202. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_assets/splunk-sdk-2.1.0.tar.gz +0 -0
  203. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_async_integration.py +0 -0
  204. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_async_utils.py +0 -0
  205. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_code_renderers.py +0 -0
  206. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_compat.py +0 -0
  207. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_container.py +0 -0
  208. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_custom_views.py +0 -0
  209. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_encryption.py +0 -0
  210. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_logging.py +0 -0
  211. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_make_request_action.py +0 -0
  212. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_on_poll.py +0 -0
  213. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_params.py +0 -0
  214. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_template_filters.py +0 -0
  215. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_template_renderer.py +0 -0
  216. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_test_connectivity.py +0 -0
  217. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/test_view_parser.py +0 -0
  218. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/tests/webhooks/test_models.py +0 -0
  219. {splunk_soar_sdk-2.1.0 → splunk_soar_sdk-2.1.1}/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.1.0
3
+ Version: 2.1.1
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.1.0"
3
+ version = "2.1.1"
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.1](https://github.com/phantomcyber/splunk-soar-sdk/compare/2.1.0...2.1.1) (2025-09-30)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * list output fixes ([f1d9b89](https://github.com/phantomcyber/splunk-soar-sdk/commit/f1d9b8998cbed7a82e83b3813b7fa0b61de13180))
7
+
8
+
9
+
10
+
11
+
12
+ ## [2.1.1](https://github.com/phantomcyber/splunk-soar-sdk/compare/2.1.0...2.1.1) (2025-09-30)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * list output fixes ([f1d9b89](https://github.com/phantomcyber/splunk-soar-sdk/commit/f1d9b8998cbed7a82e83b3813b7fa0b61de13180))
18
+
19
+
20
+
21
+
@@ -0,0 +1 @@
1
+ 2.1.1
@@ -647,9 +647,17 @@ class App:
647
647
  statuses = []
648
648
  for item in result:
649
649
  statuses.append(
650
- App._adapt_action_result(item, actions_manager, action_params)
650
+ App._adapt_action_result(
651
+ item, actions_manager, action_params, message, summary
652
+ )
653
+ )
654
+ # Handle empty list/iterator case
655
+ if not statuses:
656
+ result = ActionOutput(
657
+ status=True, message=message or "Action completed successfully"
651
658
  )
652
- return all(statuses)
659
+ else:
660
+ return all(statuses)
653
661
 
654
662
  if isinstance(result, ActionOutput):
655
663
  output_dict = result.dict(by_alias=True)
@@ -99,6 +99,82 @@
99
99
  }
100
100
  ]
101
101
  },
102
+ {
103
+ "action": "test summary with list output",
104
+ "description": "test summary with list output",
105
+ "identifier": "test_summary_with_list_output",
106
+ "output": [
107
+ {
108
+ "data_path": "action_result.status",
109
+ "data_type": "string",
110
+ "example_values": [
111
+ "success",
112
+ "failure"
113
+ ]
114
+ },
115
+ {
116
+ "data_path": "action_result.message",
117
+ "data_type": "string"
118
+ },
119
+ {
120
+ "data_path": "summary.total_objects",
121
+ "data_type": "numeric",
122
+ "example_values": [
123
+ 1
124
+ ]
125
+ },
126
+ {
127
+ "data_path": "summary.total_objects_successful",
128
+ "data_type": "numeric",
129
+ "example_values": [
130
+ 1
131
+ ]
132
+ }
133
+ ],
134
+ "parameters": {},
135
+ "read_only": true,
136
+ "type": "generic",
137
+ "verbose": "",
138
+ "versions": "EQ(*)"
139
+ },
140
+ {
141
+ "action": "test empty list output",
142
+ "description": "test empty list output",
143
+ "identifier": "test_empty_list_output",
144
+ "output": [
145
+ {
146
+ "data_path": "action_result.status",
147
+ "data_type": "string",
148
+ "example_values": [
149
+ "success",
150
+ "failure"
151
+ ]
152
+ },
153
+ {
154
+ "data_path": "action_result.message",
155
+ "data_type": "string"
156
+ },
157
+ {
158
+ "data_path": "summary.total_objects",
159
+ "data_type": "numeric",
160
+ "example_values": [
161
+ 1
162
+ ]
163
+ },
164
+ {
165
+ "data_path": "summary.total_objects_successful",
166
+ "data_type": "numeric",
167
+ "example_values": [
168
+ 1
169
+ ]
170
+ }
171
+ ],
172
+ "parameters": {},
173
+ "read_only": true,
174
+ "type": "generic",
175
+ "verbose": "",
176
+ "versions": "EQ(*)"
177
+ },
102
178
  {
103
179
  "action": "reverse string",
104
180
  "identifier": "reverse_string",
@@ -53,6 +53,25 @@ def test_connectivity(soar: SOARClient, asset: Asset) -> None:
53
53
  logger.progress("this is a progress message")
54
54
 
55
55
 
56
+ class ActionOutputSummary(ActionOutput):
57
+ is_success: bool
58
+
59
+
60
+ @app.action()
61
+ def test_summary_with_list_output(
62
+ params: Params, asset: Asset, soar: SOARClient
63
+ ) -> list[ActionOutput]:
64
+ soar.set_summary(ActionOutputSummary(is_success=True))
65
+ return [ActionOutput(), ActionOutput()]
66
+
67
+
68
+ @app.action()
69
+ def test_empty_list_output(
70
+ params: Params, asset: Asset, soar: SOARClient
71
+ ) -> list[ActionOutput]:
72
+ return []
73
+
74
+
56
75
  app.register_action(
57
76
  "actions.reverse_string:reverse_string",
58
77
  action_type="investigate",
@@ -506,3 +506,26 @@ def test_register_action_with_view_handler_module_not_in_sys_modules(simple_app:
506
506
  view_handler=fake_module_view_handler,
507
507
  view_template="sample_template.html",
508
508
  )
509
+
510
+
511
+ def test_empty_list_output(simple_app: App, mocker: pytest_mock.MockerFixture):
512
+ @simple_app.action()
513
+ def action_example(params: Params, soar: SOARClient) -> list[ActionOutput]:
514
+ return []
515
+
516
+ add_result_mock = mocker.patch.object(simple_app.actions_manager, "add_result")
517
+ result = action_example(Params(), soar=simple_app.soar_client)
518
+ assert result is True
519
+ assert add_result_mock.call_count == 1
520
+
521
+
522
+ def test_list_output_with_summary(simple_app: App, mocker: pytest_mock.MockerFixture):
523
+ @simple_app.action()
524
+ def action_example(params: Params, soar: SOARClient) -> list[ActionOutput]:
525
+ soar.set_summary(ActionOutput())
526
+ return [ActionOutput()]
527
+
528
+ set_summary_mock = mocker.patch.object(simple_app.soar_client, "set_summary")
529
+ result = action_example(Params(), soar=simple_app.soar_client)
530
+ assert result is True
531
+ assert set_summary_mock.call_count == 1
@@ -1291,7 +1291,7 @@ wheels = [
1291
1291
 
1292
1292
  [[package]]
1293
1293
  name = "splunk-soar-sdk"
1294
- version = "2.1.0"
1294
+ version = "2.1.1"
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.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
-
@@ -1 +0,0 @@
1
- 2.1.0
File without changes