insightconnect-plugin-runtime 6.3.8__tar.gz → 6.3.10__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 (92) hide show
  1. {insightconnect_plugin_runtime-6.3.8/insightconnect_plugin_runtime.egg-info → insightconnect_plugin_runtime-6.3.10}/PKG-INFO +11 -9
  2. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/README.md +5 -3
  3. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/plugin.py +21 -3
  4. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/telemetry.py +17 -7
  5. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10/insightconnect_plugin_runtime.egg-info}/PKG-INFO +11 -9
  6. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime.egg-info/requires.txt +5 -5
  7. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/setup.py +6 -6
  8. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/MANIFEST.in +0 -0
  9. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect-plugin-swagger.json +0 -0
  10. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/__init__.py +0 -0
  11. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/action.py +0 -0
  12. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/api/__init__.py +0 -0
  13. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/api/endpoints.py +0 -0
  14. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/api/schemas.py +0 -0
  15. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/cli.py +0 -0
  16. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/clients/__init__.py +0 -0
  17. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/clients/aws_client.py +0 -0
  18. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/clients/oauth.py +0 -0
  19. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/connection.py +0 -0
  20. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/data/input_message_schema.json +0 -0
  21. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/data/output_message_schema.json +0 -0
  22. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/dispatcher.py +0 -0
  23. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/exceptions.py +0 -0
  24. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/helper.py +0 -0
  25. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/metrics.py +0 -0
  26. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/schema.py +0 -0
  27. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/server.py +0 -0
  28. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/step.py +0 -0
  29. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/task.py +0 -0
  30. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/trigger.py +0 -0
  31. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/util.py +0 -0
  32. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime/variables.py +0 -0
  33. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime.egg-info/SOURCES.txt +0 -0
  34. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime.egg-info/dependency_links.txt +0 -0
  35. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/insightconnect_plugin_runtime.egg-info/top_level.txt +0 -0
  36. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/setup.cfg +0 -0
  37. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/__init__.py +0 -0
  38. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/__init__.py +0 -0
  39. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/__init__.py +0 -0
  40. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/__init__.py +0 -0
  41. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/__init__.py +0 -0
  42. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/__init__.py +0 -0
  43. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/hello/__init__.py +0 -0
  44. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/hello/action.py +0 -0
  45. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/hello/schema.py +0 -0
  46. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/return_bad_json/__init__.py +0 -0
  47. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/return_bad_json/action.py +0 -0
  48. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/return_bad_json/schema.py +0 -0
  49. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/throw_exception/__init__.py +0 -0
  50. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/throw_exception/action.py +0 -0
  51. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/actions/throw_exception/schema.py +0 -0
  52. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/connection/__init__.py +0 -0
  53. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/connection/connection.py +0 -0
  54. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/connection/schema.py +0 -0
  55. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/tasks/__init__.py +0 -0
  56. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/tasks/monitor_events/__init__.py +0 -0
  57. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/tasks/monitor_events/schema.py +0 -0
  58. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/tasks/monitor_events/task.py +0 -0
  59. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/__init__.py +0 -0
  60. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/hello_trigger/__init__.py +0 -0
  61. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/hello_trigger/schema.py +0 -0
  62. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/hello_trigger/trigger.py +0 -0
  63. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/return_bad_json_trigger/__init__.py +0 -0
  64. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/return_bad_json_trigger/schema.py +0 -0
  65. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/return_bad_json_trigger/trigger.py +0 -0
  66. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/throw_exception_trigger/__init__.py +0 -0
  67. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/throw_exception_trigger/schema.py +0 -0
  68. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/triggers/throw_exception_trigger/trigger.py +0 -0
  69. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/komand_hello_world/util/__init__.py +0 -0
  70. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/hello_world/setup.py +0 -0
  71. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/tests/__init__.py +0 -0
  72. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/tests/conftest.py +0 -0
  73. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/tests/test_cli.py +0 -0
  74. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/tests/test_hello_world.py +0 -0
  75. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/plugin/hello_world/tests/test_server.py +0 -0
  76. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/__init__.py +0 -0
  77. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_action.py +0 -0
  78. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_api.py +0 -0
  79. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_aws_action.py +0 -0
  80. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_custom_encoder.py +0 -0
  81. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_endpoints.py +0 -0
  82. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_exceptions.py +0 -0
  83. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_helpers.py +0 -0
  84. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_metrics.py +0 -0
  85. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_oauth.py +0 -0
  86. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_plugin.py +0 -0
  87. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_schema.py +0 -0
  88. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_server_cloud_plugins.py +0 -0
  89. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_server_spec.py +0 -0
  90. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_trigger.py +0 -0
  91. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/test_variables.py +0 -0
  92. {insightconnect_plugin_runtime-6.3.8 → insightconnect_plugin_runtime-6.3.10}/tests/unit/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: insightconnect-plugin-runtime
3
- Version: 6.3.8
3
+ Version: 6.3.10
4
4
  Summary: InsightConnect Plugin Runtime
5
5
  Home-page: https://github.com/rapid7/komand-plugin-sdk-python
6
6
  Author: Rapid7 Integrations Alliance
@@ -15,7 +15,7 @@ Description-Content-Type: text/markdown
15
15
  Requires-Dist: requests==2.32.4
16
16
  Requires-Dist: python_jsonschema_objects==0.5.2
17
17
  Requires-Dist: jsonschema==4.22.0
18
- Requires-Dist: certifi==2025.4.26
18
+ Requires-Dist: certifi==2025.8.3
19
19
  Requires-Dist: Flask==3.1.1
20
20
  Requires-Dist: gunicorn==23.0.0
21
21
  Requires-Dist: greenlet==3.2.3
@@ -28,10 +28,10 @@ Requires-Dist: structlog==25.4.0
28
28
  Requires-Dist: python-json-logger==2.0.7
29
29
  Requires-Dist: Jinja2==3.1.6
30
30
  Requires-Dist: python-dateutil==2.9.0.post0
31
- Requires-Dist: opentelemetry-sdk==1.34.0
32
- Requires-Dist: opentelemetry-instrumentation-flask==0.55b0
33
- Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.34.0
34
- Requires-Dist: opentelemetry-instrumentation-requests==0.55b0
31
+ Requires-Dist: opentelemetry-sdk==1.36.0
32
+ Requires-Dist: opentelemetry-instrumentation-flask==0.57b0
33
+ Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.36.0
34
+ Requires-Dist: opentelemetry-instrumentation-requests==0.57b0
35
35
  Requires-Dist: urllib3==2.5.0
36
36
  Dynamic: author
37
37
  Dynamic: author-email
@@ -63,10 +63,10 @@ to get started.
63
63
 
64
64
  ## Development of the InsightConnect Plugin Runtime
65
65
 
66
- The Python Runtime codebase is built to support Python 3.11.11 as of version 6.2.3. The following dependencies will need
66
+ The Python Runtime codebase is built to support Python 3.11.13 as of version 6.2.3. The following dependencies will need
67
67
  to be installed when developing or testing the Plugin Runtime:
68
68
 
69
- - Python 3.11.11
69
+ - Python 3.11.13
70
70
  - Docker
71
71
  - make
72
72
  - tox
@@ -199,7 +199,7 @@ Running a specific test file:
199
199
 
200
200
  | | Plugin | Slim Plugin |
201
201
  |:------------------|:-------:|:-----------:|
202
- | Python Version | 3.11.11 | 3.11.11 |
202
+ | Python Version | 3.11.13 | 3.11.13 |
203
203
  | OS | Alpine | Bullseye |
204
204
  | Package installer | apk | apt |
205
205
  | Shell | /bin/sh | /bin/bash |
@@ -226,6 +226,8 @@ contributed. Black is installed as a test dependency and the hook can be initial
226
226
  after cloning this repository.
227
227
 
228
228
  ## Changelog
229
+ * 6.3.10 - Fixed tracing name to better allign otel standards
230
+ * 6.3.9 - Fixed `monitor_task_delay` decorator handling of millisecond epoch timestamps | Allow `test_task` connection method to accept task name parameter | Updated base images to Python 3.11.13
229
231
  * 6.3.8 - Update exception string representation methods to remove newline characters
230
232
  * 6.3.7 - Addressed vulnerability in 'urllib3' (removed from `requirements.txt` as it's a dependency of `botocore`)
231
233
  * 6.3.6 - Added required dependency to plugin runtime
@@ -19,10 +19,10 @@ to get started.
19
19
 
20
20
  ## Development of the InsightConnect Plugin Runtime
21
21
 
22
- The Python Runtime codebase is built to support Python 3.11.11 as of version 6.2.3. The following dependencies will need
22
+ The Python Runtime codebase is built to support Python 3.11.13 as of version 6.2.3. The following dependencies will need
23
23
  to be installed when developing or testing the Plugin Runtime:
24
24
 
25
- - Python 3.11.11
25
+ - Python 3.11.13
26
26
  - Docker
27
27
  - make
28
28
  - tox
@@ -155,7 +155,7 @@ Running a specific test file:
155
155
 
156
156
  | | Plugin | Slim Plugin |
157
157
  |:------------------|:-------:|:-----------:|
158
- | Python Version | 3.11.11 | 3.11.11 |
158
+ | Python Version | 3.11.13 | 3.11.13 |
159
159
  | OS | Alpine | Bullseye |
160
160
  | Package installer | apk | apt |
161
161
  | Shell | /bin/sh | /bin/bash |
@@ -182,6 +182,8 @@ contributed. Black is installed as a test dependency and the hook can be initial
182
182
  after cloning this repository.
183
183
 
184
184
  ## Changelog
185
+ * 6.3.10 - Fixed tracing name to better allign otel standards
186
+ * 6.3.9 - Fixed `monitor_task_delay` decorator handling of millisecond epoch timestamps | Allow `test_task` connection method to accept task name parameter | Updated base images to Python 3.11.13
185
187
  * 6.3.8 - Update exception string representation methods to remove newline characters
186
188
  * 6.3.7 - Addressed vulnerability in 'urllib3' (removed from `requirements.txt` as it's a dependency of `botocore`)
187
189
  * 6.3.6 - Added required dependency to plugin runtime
@@ -564,8 +564,17 @@ class Plugin(object):
564
564
  # connection.test is called, as there is no message returned along side it,
565
565
  # and the code above then sees this and reads the "message" from the io buffer as normal
566
566
  if hasattr(connection, "test_task") and connection_test_type == "test_task":
567
+ # Get the test_task function from the connection
567
568
  func = connection.test_task
568
- output, log = func()
569
+
570
+ # Inspect the function to see if it requires args
571
+ arguments = inspect.signature(func).parameters
572
+
573
+ # If the function has parameters, we pass the task name
574
+ if len(arguments) > 0 and "task" in message_body:
575
+ output, log = func(message_body["task"])
576
+ else:
577
+ output, log = func()
569
578
  return output, log
570
579
  elif hasattr(connection, "test"):
571
580
  func = connection.test
@@ -650,8 +659,17 @@ class Plugin(object):
650
659
  # Check if connection test func available. If so - use it (preferred). Else fallback to action/trigger test
651
660
  if hasattr(step.connection, "test"):
652
661
  if hasattr(step.connection, "test_task") and connection_test_type == "test_task":
653
- func = step.connection.test_task
654
- output, log = func()
662
+ # Get the test_task function from the connection
663
+ func = connection.test_task
664
+
665
+ # Inspect the function to see if it requires args
666
+ arguments = inspect.signature(func).parameters
667
+
668
+ # If the function has parameters, we pass the task name
669
+ if len(arguments) > 0 and "task" in message_body:
670
+ output, log = func(message_body["task"])
671
+ else:
672
+ output, log = func()
655
673
  return output, log
656
674
  else:
657
675
  func = step.connection.test
@@ -36,7 +36,11 @@ def init_tracing(app: Flask, plugin: Plugin, endpoint: str) -> None:
36
36
  if not is_running_in_cloud():
37
37
  return
38
38
 
39
- resource = Resource(attributes={"service.name": f'{plugin.name.lower().replace(" ", "_")}-{plugin.version}'})
39
+ resource = Resource(
40
+ attributes={
41
+ "service.name": f'pif.{plugin.name.lower().replace(" ", "_")}',
42
+ "service.version": plugin.version,
43
+ })
40
44
 
41
45
  trace_provider = TracerProvider(resource=resource)
42
46
  exporter = OTLPSpanExporter(endpoint=endpoint)
@@ -154,10 +158,16 @@ def monitor_task_delay(
154
158
 
155
159
  # Parse and normalize the state time value
156
160
  try:
157
- # First, try to parse the epoch timestamp
158
- normalized_state_time = datetime.fromtimestamp(
159
- float(current_state_time)
160
- )
161
+ # First, try to parse the epoch timestamp in seconds
162
+ try:
163
+ normalized_state_time = datetime.fromtimestamp(
164
+ float(current_state_time)
165
+ )
166
+ except ValueError:
167
+ # If it fails, assume it's in milliseconds and convert accordingly
168
+ normalized_state_time = datetime.fromtimestamp(
169
+ float(current_state_time) / 1000.0
170
+ )
161
171
  except (ValueError, TypeError):
162
172
  # If parsing fails, parse as a string
163
173
  normalized_state_time = parse(str(current_state_time))
@@ -181,8 +191,8 @@ def monitor_task_delay(
181
191
  )
182
192
  break
183
193
  except Exception as error:
184
- self.logger.info(
185
- f"An error occurred while checking task delay. Error: {error}"
194
+ self.logger.error(
195
+ f"An exception occurred while checking task delay. The exception was: {error}"
186
196
  )
187
197
 
188
198
  # Return task output
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: insightconnect-plugin-runtime
3
- Version: 6.3.8
3
+ Version: 6.3.10
4
4
  Summary: InsightConnect Plugin Runtime
5
5
  Home-page: https://github.com/rapid7/komand-plugin-sdk-python
6
6
  Author: Rapid7 Integrations Alliance
@@ -15,7 +15,7 @@ Description-Content-Type: text/markdown
15
15
  Requires-Dist: requests==2.32.4
16
16
  Requires-Dist: python_jsonschema_objects==0.5.2
17
17
  Requires-Dist: jsonschema==4.22.0
18
- Requires-Dist: certifi==2025.4.26
18
+ Requires-Dist: certifi==2025.8.3
19
19
  Requires-Dist: Flask==3.1.1
20
20
  Requires-Dist: gunicorn==23.0.0
21
21
  Requires-Dist: greenlet==3.2.3
@@ -28,10 +28,10 @@ Requires-Dist: structlog==25.4.0
28
28
  Requires-Dist: python-json-logger==2.0.7
29
29
  Requires-Dist: Jinja2==3.1.6
30
30
  Requires-Dist: python-dateutil==2.9.0.post0
31
- Requires-Dist: opentelemetry-sdk==1.34.0
32
- Requires-Dist: opentelemetry-instrumentation-flask==0.55b0
33
- Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.34.0
34
- Requires-Dist: opentelemetry-instrumentation-requests==0.55b0
31
+ Requires-Dist: opentelemetry-sdk==1.36.0
32
+ Requires-Dist: opentelemetry-instrumentation-flask==0.57b0
33
+ Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.36.0
34
+ Requires-Dist: opentelemetry-instrumentation-requests==0.57b0
35
35
  Requires-Dist: urllib3==2.5.0
36
36
  Dynamic: author
37
37
  Dynamic: author-email
@@ -63,10 +63,10 @@ to get started.
63
63
 
64
64
  ## Development of the InsightConnect Plugin Runtime
65
65
 
66
- The Python Runtime codebase is built to support Python 3.11.11 as of version 6.2.3. The following dependencies will need
66
+ The Python Runtime codebase is built to support Python 3.11.13 as of version 6.2.3. The following dependencies will need
67
67
  to be installed when developing or testing the Plugin Runtime:
68
68
 
69
- - Python 3.11.11
69
+ - Python 3.11.13
70
70
  - Docker
71
71
  - make
72
72
  - tox
@@ -199,7 +199,7 @@ Running a specific test file:
199
199
 
200
200
  | | Plugin | Slim Plugin |
201
201
  |:------------------|:-------:|:-----------:|
202
- | Python Version | 3.11.11 | 3.11.11 |
202
+ | Python Version | 3.11.13 | 3.11.13 |
203
203
  | OS | Alpine | Bullseye |
204
204
  | Package installer | apk | apt |
205
205
  | Shell | /bin/sh | /bin/bash |
@@ -226,6 +226,8 @@ contributed. Black is installed as a test dependency and the hook can be initial
226
226
  after cloning this repository.
227
227
 
228
228
  ## Changelog
229
+ * 6.3.10 - Fixed tracing name to better allign otel standards
230
+ * 6.3.9 - Fixed `monitor_task_delay` decorator handling of millisecond epoch timestamps | Allow `test_task` connection method to accept task name parameter | Updated base images to Python 3.11.13
229
231
  * 6.3.8 - Update exception string representation methods to remove newline characters
230
232
  * 6.3.7 - Addressed vulnerability in 'urllib3' (removed from `requirements.txt` as it's a dependency of `botocore`)
231
233
  * 6.3.6 - Added required dependency to plugin runtime
@@ -1,7 +1,7 @@
1
1
  requests==2.32.4
2
2
  python_jsonschema_objects==0.5.2
3
3
  jsonschema==4.22.0
4
- certifi==2025.4.26
4
+ certifi==2025.8.3
5
5
  Flask==3.1.1
6
6
  gunicorn==23.0.0
7
7
  greenlet==3.2.3
@@ -14,8 +14,8 @@ structlog==25.4.0
14
14
  python-json-logger==2.0.7
15
15
  Jinja2==3.1.6
16
16
  python-dateutil==2.9.0.post0
17
- opentelemetry-sdk==1.34.0
18
- opentelemetry-instrumentation-flask==0.55b0
19
- opentelemetry-exporter-otlp-proto-http==1.34.0
20
- opentelemetry-instrumentation-requests==0.55b0
17
+ opentelemetry-sdk==1.36.0
18
+ opentelemetry-instrumentation-flask==0.57b0
19
+ opentelemetry-exporter-otlp-proto-http==1.36.0
20
+ opentelemetry-instrumentation-requests==0.57b0
21
21
  urllib3==2.5.0
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
5
5
 
6
6
  setup(
7
7
  name="insightconnect-plugin-runtime",
8
- version="6.3.8",
8
+ version="6.3.10",
9
9
  description="InsightConnect Plugin Runtime",
10
10
  long_description=long_description,
11
11
  long_description_content_type="text/markdown",
@@ -17,7 +17,7 @@ setup(
17
17
  "requests==2.32.4",
18
18
  "python_jsonschema_objects==0.5.2",
19
19
  "jsonschema==4.22.0",
20
- "certifi==2025.4.26",
20
+ "certifi==2025.8.3",
21
21
  "Flask==3.1.1",
22
22
  "gunicorn==23.0.0",
23
23
  "greenlet==3.2.3",
@@ -30,10 +30,10 @@ setup(
30
30
  "python-json-logger==2.0.7",
31
31
  "Jinja2==3.1.6",
32
32
  "python-dateutil==2.9.0.post0",
33
- "opentelemetry-sdk==1.34.0",
34
- "opentelemetry-instrumentation-flask==0.55b0",
35
- "opentelemetry-exporter-otlp-proto-http==1.34.0",
36
- "opentelemetry-instrumentation-requests==0.55b0",
33
+ "opentelemetry-sdk==1.36.0",
34
+ "opentelemetry-instrumentation-flask==0.57b0",
35
+ "opentelemetry-exporter-otlp-proto-http==1.36.0",
36
+ "opentelemetry-instrumentation-requests==0.57b0",
37
37
  "urllib3==2.5.0"
38
38
  ],
39
39
  tests_require=[