peak-sdk 1.15.1__tar.gz → 1.16.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 (128) hide show
  1. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/PKG-INFO +3 -3
  2. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/__init__.py +1 -1
  3. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/_version.py +1 -1
  4. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/auth.py +1 -1
  5. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/base_client.py +1 -1
  6. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/callbacks.py +1 -1
  7. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/__init_.py +1 -1
  8. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/args.py +1 -1
  9. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/cli.py +1 -1
  10. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/helpers.py +1 -1
  11. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/metrics/__init__.py +1 -1
  12. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/metrics/metrics.py +1 -1
  13. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/press/__init__.py +1 -1
  14. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/press/apps/__init__.py +1 -1
  15. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/press/apps/deployments.py +14 -1
  16. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/press/blocks/__init__.py +1 -1
  17. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/press/blocks/deployments.py +1 -1
  18. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/press/specs.py +1 -1
  19. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/resources/__init__.py +1 -1
  20. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/resources/alerts/__init__.py +1 -1
  21. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/resources/alerts/emails.py +1 -1
  22. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/resources/artifacts.py +1 -1
  23. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/resources/images.py +1 -1
  24. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/resources/services.py +1 -1
  25. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/resources/tenants.py +1 -1
  26. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/resources/users.py +1 -1
  27. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/resources/webapps.py +1 -1
  28. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/resources/workflows.py +70 -5
  29. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/version.py +1 -1
  30. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/compression.py +1 -1
  31. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/config.py +1 -1
  32. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/constants.py +1 -1
  33. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/exceptions.py +1 -1
  34. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/handler.py +1 -1
  35. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/helpers.py +15 -1
  36. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/logger.py +1 -1
  37. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/metrics/__init__.py +1 -1
  38. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/metrics/metrics.py +1 -1
  39. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/output.py +1 -1
  40. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/press/__init__.py +1 -1
  41. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/press/apps.py +27 -1
  42. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/press/specs.py +1 -1
  43. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/resources/__init__.py +1 -1
  44. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/resources/alerts.py +1 -1
  45. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/resources/artifacts.py +1 -1
  46. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/resources/images.py +1 -1
  47. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/resources/services.py +1 -1
  48. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/resources/tenants.py +1 -1
  49. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/resources/users.py +1 -1
  50. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/resources/webapps.py +1 -1
  51. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/resources/workflows.py +103 -4
  52. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/apps/deployments/create_app_deployment.yaml +6 -0
  53. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/apps/deployments/create_app_deployment_revision.yaml +7 -0
  54. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/session.py +28 -5
  55. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/telemetry.py +4 -3
  56. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/template.py +1 -1
  57. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/tools/__init__.py +1 -1
  58. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/tools/logging/__init__.py +1 -1
  59. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/tools/logging/log_handler.py +1 -1
  60. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/tools/logging/log_level.py +1 -1
  61. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/tools/logging/utils.py +1 -1
  62. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/validators.py +1 -1
  63. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/pypi-home.md +2 -2
  64. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/pyproject.toml +1 -1
  65. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/LICENSE +0 -0
  66. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/_metadata.py +0 -0
  67. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/press/apps/specs.py +0 -0
  68. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/press/blocks/specs.py +0 -0
  69. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/press/deployments.py +0 -0
  70. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/cli/ruff.toml +0 -0
  71. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/press/blocks.py +0 -0
  72. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/press/deployments.py +0 -0
  73. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/py.typed +0 -0
  74. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/metrics/create_collection.yaml +0 -0
  75. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/metrics/publish.yaml +0 -0
  76. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/metrics/query.yaml +0 -0
  77. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/apps/deployments/update_app_deployment_metadata.yaml +0 -0
  78. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/apps/specs/create_app_spec.yaml +0 -0
  79. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/apps/specs/create_app_spec_release.yaml +0 -0
  80. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/apps/specs/update_app_spec_metadata.yaml +0 -0
  81. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/blocks/deployments/create_block_deployment.yaml +0 -0
  82. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/blocks/deployments/create_block_deployment_revision.yaml +0 -0
  83. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/blocks/deployments/patch_block_parameters.yaml +0 -0
  84. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/blocks/deployments/update_block_deployment_metadata.yaml +0 -0
  85. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/blocks/specs/service/api/create_block_spec.yaml +0 -0
  86. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/blocks/specs/service/api/create_block_spec_release.yaml +0 -0
  87. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/blocks/specs/service/webapp/create_block_spec.yaml +0 -0
  88. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/blocks/specs/service/webapp/create_block_spec_release.yaml +0 -0
  89. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/blocks/specs/update_block_spec_metadata.yaml +0 -0
  90. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/blocks/specs/workflow/create_block_spec.yaml +0 -0
  91. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/blocks/specs/workflow/create_block_spec_release.yaml +0 -0
  92. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/deployments/patch_app_parameters_v2.yaml +0 -0
  93. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/deployments/patch_block_parameters_v2.yaml +0 -0
  94. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/press/patch_parameters.yaml +0 -0
  95. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/artifacts/create_artifact.yaml +0 -0
  96. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/artifacts/create_artifact_version.yaml +0 -0
  97. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/artifacts/update_artifact_metadata.yaml +0 -0
  98. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/emails/send_email.yaml +0 -0
  99. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/images/dockerfile/create_image.yaml +0 -0
  100. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/images/dockerfile/create_image_version.yaml +0 -0
  101. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/images/dockerfile/update_version.yaml +0 -0
  102. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/images/github/create_image.yaml +0 -0
  103. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/images/github/create_image_version.yaml +0 -0
  104. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/images/github/update_version.yaml +0 -0
  105. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/images/upload/create_image.yaml +0 -0
  106. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/images/upload/create_image_version.yaml +0 -0
  107. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/images/upload/create_or_update_image.yaml +0 -0
  108. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/images/upload/update_version.yaml +0 -0
  109. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/services/create_or_update_service.yaml +0 -0
  110. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/services/create_service.yaml +0 -0
  111. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/services/test_service.yaml +0 -0
  112. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/services/update_service.yaml +0 -0
  113. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/webapps/create_or_update_webapp.yaml +0 -0
  114. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/webapps/create_webapp.yaml +0 -0
  115. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/webapps/update_webapp.yaml +0 -0
  116. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/workflows/create_or_update_workflow.yaml +0 -0
  117. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/workflows/create_workflow.yaml +0 -0
  118. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/workflows/execute_partial_workflow.yaml +0 -0
  119. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/workflows/execute_workflow.yaml +0 -0
  120. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/workflows/patch_workflow.yaml +0 -0
  121. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/workflows/update_workflow.yaml +0 -0
  122. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/workflows/workflow_auto_retry.yaml +0 -0
  123. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/workflows/workflow_execution_parameters.yaml +0 -0
  124. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/workflows/workflow_input_parameters.yaml +0 -0
  125. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/workflows/workflow_input_parameters_inherit.yaml +0 -0
  126. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/workflows/workflow_output_parameters.yaml +0 -0
  127. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/sample_yaml/resources/workflows/workflow_skippable_steps.yaml +0 -0
  128. {peak_sdk-1.15.1 → peak_sdk-1.16.1}/peak/tools/logging/logger.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: peak-sdk
3
- Version: 1.15.1
3
+ Version: 1.16.1
4
4
  Summary: Python SDK for interacting with the Peak platform
5
5
  Home-page: https://docs.peak.ai/sdk/latest/
6
6
  License: Apache-2.0
@@ -106,7 +106,7 @@ Follow these steps to create a virtual environment using Python's built-in `venv
106
106
  This should return a response of the following format
107
107
 
108
108
  ```bash
109
- peak-cli==1.15.1
109
+ peak-cli==1.16.1
110
110
  Python==3.12.3
111
111
  System==Darwin(23.6.0)
112
112
  ```
@@ -122,7 +122,7 @@ Follow these steps to create a virtual environment using Python's built-in `venv
122
122
  This should print the version of the SDK
123
123
 
124
124
  ```
125
- 1.15.1
125
+ 1.16.1
126
126
  ```
127
127
 
128
128
  ### Using the SDK and CLI
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -18,4 +18,4 @@
18
18
  # # You should have received a copy of the APACHE LICENSE, VERSION 2.0
19
19
  # # along with this program. If not, see <https://apache.org/licenses/LICENSE-2.0>
20
20
  #
21
- __version__: str = "1.15.1"
21
+ __version__: str = "1.16.1"
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -79,6 +79,12 @@ def create(
79
79
  id (string): ID of the app spec to be deployed.
80
80
  release (map | required: false):
81
81
  version (string): A valid semantic release version of the app spec.
82
+ includes (list(map) | required: false): List of blocks to include in the deployment. These blocks should not be part of the app spec.
83
+ - id (string): ID of the block to include.
84
+ releaseVersion (string): Release version of the block.
85
+ excludes (list(map) | required: false): List of blocks that are part of the app spec which should be excluded from the deployment.
86
+ - id (string): ID of the block to exclude.
87
+ releaseVersion (string): Release version of the block.
82
88
  ```
83
89
 
84
90
  \b
@@ -362,6 +368,13 @@ def create_revision(
362
368
  version (string): A valid semantic release version of the app spec.
363
369
  revision (map | required: false):
364
370
  notes (string | required: false): Notes for the deployment revision.
371
+ blocksConfig (map | required: false):
372
+ includes (list(map) | required: false): List of blocks to include in the deployment. These blocks should not be part of the app spec.
373
+ - id (string): ID of the block to include.
374
+ releaseVersion (string): Release version of the block.
375
+ excludes (list(map) | required: false): List of blocks that are part of the app spec which should be excluded from the deployment.
376
+ - id (string): ID of the block to exclude.
377
+ releaseVersion (string): Release version of the block.
365
378
 
366
379
  ```
367
380
 
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1035,6 +1035,71 @@ def describe(
1035
1035
  writer.write(response)
1036
1036
 
1037
1037
 
1038
+ @app.command(short_help="Pause a scheduled workflow.")
1039
+ def pause(
1040
+ ctx: typer.Context,
1041
+ workflow_id: int = _WORKFLOW_ID,
1042
+ dry_run: Optional[bool] = DRY_RUN, # noqa: ARG001
1043
+ paging: Optional[bool] = PAGING, # noqa: ARG001
1044
+ output_type: Optional[OutputTypesNoTable] = OUTPUT_TYPES, # noqa: ARG001
1045
+ ) -> None:
1046
+ """***Pause*** a scheduled workflow.
1047
+
1048
+ \b
1049
+ 📝 ***Example usage:***<br/>
1050
+ ```bash
1051
+ peak workflows pause 9999
1052
+ ```
1053
+
1054
+ \b
1055
+ 🆗 ***Response:***
1056
+ ```json
1057
+ {}
1058
+ ```
1059
+
1060
+ 🔗 [**API Documentation**](https://service.dev.peak.ai/workflows/api-docs/index.htm#/Workflows/post_api_v1_workflows__workflowId__pause)
1061
+ """
1062
+ workflow_client: Workflow = ctx.obj["client"]
1063
+ writer: Writer = ctx.obj["writer"]
1064
+
1065
+ with writer.pager():
1066
+ response = workflow_client.pause_workflow(workflow_id=workflow_id)
1067
+
1068
+ writer.write(response)
1069
+
1070
+
1071
+ @app.command(short_help="Resume a paused workflow.")
1072
+ def resume(
1073
+ ctx: typer.Context,
1074
+ workflow_id: int = _WORKFLOW_ID,
1075
+ dry_run: Optional[bool] = DRY_RUN, # noqa: ARG001
1076
+ paging: Optional[bool] = PAGING, # noqa: ARG001
1077
+ output_type: Optional[OutputTypesNoTable] = OUTPUT_TYPES, # noqa: ARG001
1078
+ ) -> None:
1079
+ """***Resume*** a paused workflow.
1080
+
1081
+ \b
1082
+ 📝 ***Example usage:***<br/>
1083
+ ```bash
1084
+ peak workflows resume 9999
1085
+ ```
1086
+
1087
+ \b
1088
+ 🆗 ***Response:***
1089
+ ```json
1090
+ {}
1091
+ ```
1092
+
1093
+ 🔗 [**API Documentation**](https://service.dev.peak.ai/workflows/api-docs/index.htm#/Workflows/post_api_v1_workflows__workflowId__resume)
1094
+ """
1095
+ workflow_client: Workflow = ctx.obj["client"]
1096
+ writer: Writer = ctx.obj["writer"]
1097
+
1098
+ with writer.pager():
1099
+ response = workflow_client.resume_workflow(workflow_id=workflow_id)
1100
+ writer.write(response)
1101
+
1102
+
1038
1103
  @app.command(short_help="Delete a workflow.")
1039
1104
  def delete(
1040
1105
  ctx: typer.Context,
@@ -1303,12 +1368,12 @@ def get_execution_logs(
1303
1368
  "nextToken": "f/37846375578651780454915234936364900527730394239380553728/s"
1304
1369
  }
1305
1370
  ```
1306
-
1307
- 🔗 [**API Documentation**](https://service.peak.ai/workflows/api-docs/index.htm#/Executions/get-workflow-step-logs)
1308
1371
  """
1309
1372
  workflow_client: Workflow = ctx.obj["client"]
1310
1373
  writer = Writer()
1311
1374
 
1375
+ is_spoke_tenant = workflow_client.session.is_spoke_tenant
1376
+
1312
1377
  pager = writer.pager() # Create pager context
1313
1378
 
1314
1379
  with pager:
@@ -1322,11 +1387,11 @@ def get_execution_logs(
1322
1387
  file_name=file_name,
1323
1388
  )
1324
1389
 
1325
- if save or not response or "stepRunStatus" not in response or "logs" not in response:
1390
+ if save or not response or "logs" not in response:
1326
1391
  break
1327
1392
 
1328
1393
  if follow:
1329
- if (response["stepRunStatus"] != "Running") and (
1394
+ if (is_spoke_tenant or response["stepRunStatus"] != "Running") and (
1330
1395
  response["logs"] is None or len(response["logs"]) == 0
1331
1396
  ):
1332
1397
  break
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -303,3 +303,17 @@ def search_action(current_path: str, current_dict: Dict[str, Any], action: str)
303
303
  return {"has_permission": has_permission, "deeper_levels": False}
304
304
 
305
305
  return {"has_permission": False, "deeper_levels": True}
306
+
307
+
308
+ def safe_json(response: requests.Response) -> Optional[Any]:
309
+ """Safely attempts to decode JSON from the given response.
310
+
311
+ Returns the decoded JSON if available; otherwise, returns None.
312
+ """
313
+ headers = getattr(response, "headers", {})
314
+ if headers.get("Content-Type", "").startswith("application/json"):
315
+ try:
316
+ return response.json()
317
+ except (ValueError, json.JSONDecodeError):
318
+ return None
319
+ return None
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -690,7 +690,19 @@ class App(BaseClient):
690
690
  "id": "string(required)",
691
691
  "release": {
692
692
  "version": "string(required)",
693
- }
693
+ },
694
+ "includes": [
695
+ {
696
+ "id": "string",
697
+ "releaseVersion": "string"
698
+ }
699
+ ],
700
+ "excludes": [
701
+ {
702
+ "id": "string",
703
+ "releaseVersion": "string"
704
+ }
705
+ ]
694
706
  }
695
707
  }
696
708
 
@@ -923,6 +935,20 @@ class App(BaseClient):
923
935
  "revision": {
924
936
  "notes": "string",
925
937
  },
938
+ "blocksConfig": {
939
+ "includes": [
940
+ {
941
+ "id": "string",
942
+ "releaseVersion": "string"
943
+ }
944
+ ],
945
+ "excludes": [
946
+ {
947
+ "id": "string",
948
+ "releaseVersion": "string"
949
+ }
950
+ ]
951
+ },
926
952
  "appParameters": {
927
953
  "build": {
928
954
  "param_name": "param_value (string | number | boolean | array)"
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of
@@ -1,5 +1,5 @@
1
1
  #
2
- # # Copyright © 2024 Peak AI Limited. or its affiliates. All Rights Reserved.
2
+ # # Copyright © 2025 Peak AI Limited. or its affiliates. All Rights Reserved.
3
3
  # #
4
4
  # # Licensed under the Apache License, Version 2.0 (the "License"). You
5
5
  # # may not use this file except in compliance with the License. A copy of