conviso-cli 2.7.8__tar.gz → 2.7.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 (133) hide show
  1. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/PKG-INFO +1 -1
  2. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/conviso_cli.egg-info/PKG-INFO +1 -1
  3. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/version_control_system_adapter.py +21 -15
  4. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/ast/entrypoint.py +9 -1
  5. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/requirements_verifier.py +10 -2
  6. conviso_cli-2.7.10/convisoappsec/version.py +1 -0
  7. conviso_cli-2.7.8/convisoappsec/version.py +0 -1
  8. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/README.md +0 -0
  9. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/conviso_cli.egg-info/SOURCES.txt +0 -0
  10. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/conviso_cli.egg-info/dependency_links.txt +0 -0
  11. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/conviso_cli.egg-info/entry_points.txt +0 -0
  12. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/conviso_cli.egg-info/requires.txt +0 -0
  13. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/conviso_cli.egg-info/top_level.txt +0 -0
  14. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/__init__.py +0 -0
  15. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/common/__init__.py +0 -0
  16. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/common/box.py +0 -0
  17. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/common/cleaner.py +0 -0
  18. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/common/docker.py +0 -0
  19. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/common/exceptions.py +0 -0
  20. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/common/git_data_parser.py +0 -0
  21. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/common/graphql/__init__.py +0 -0
  22. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/common/graphql/error_handlers.py +0 -0
  23. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/common/graphql/errors.py +0 -0
  24. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/common/graphql/low_client.py +0 -0
  25. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/common/retry_handler.py +0 -0
  26. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/common/strings.py +0 -0
  27. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/__init__.py +0 -0
  28. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/api.py +0 -0
  29. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/cleaner.py +0 -0
  30. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/__init__.py +0 -0
  31. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/beta/__init__.py +0 -0
  32. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/beta/client.py +0 -0
  33. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/beta/models/__init__.py +0 -0
  34. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/beta/models/issues/__init__.py +0 -0
  35. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/beta/models/issues/container.py +0 -0
  36. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/beta/models/issues/iac.py +0 -0
  37. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/beta/models/issues/normalize.py +0 -0
  38. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/beta/models/issues/sast.py +0 -0
  39. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/beta/models/issues/sca.py +0 -0
  40. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/beta/resources_api.py +0 -0
  41. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/beta/schemas/__init__.py +0 -0
  42. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/beta/schemas/mutations/__init__.py +0 -0
  43. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/beta/schemas/resolvers/__init__.py +0 -0
  44. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/v1/__init__.py +0 -0
  45. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/v1/client.py +0 -0
  46. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/v1/models/__init__.py +0 -0
  47. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/v1/models/asset.py +0 -0
  48. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/v1/models/issues.py +0 -0
  49. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/v1/models/project.py +0 -0
  50. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/v1/resources_api.py +0 -0
  51. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/v1/schemas/__init__.py +0 -0
  52. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/v1/schemas/mutations/__init__.py +0 -0
  53. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/graphql_api/v1/schemas/resolvers/__init__.py +0 -0
  54. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/util/__init__.py +0 -0
  55. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/util/ci_provider.py +0 -0
  56. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/util/source_code_compressor.py +0 -0
  57. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/version_searchers/__init__.py +0 -0
  58. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/version_searchers/sorted_by_versioning_style.py +0 -0
  59. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/version_searchers/timebased_version_seacher.py +0 -0
  60. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/version_searchers/version_searcher_result.py +0 -0
  61. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/versioning_style/__init__.py +0 -0
  62. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flow/versioning_style/semantic_versioning.py +0 -0
  63. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/__init__.py +0 -0
  64. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/__main__.py +0 -0
  65. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/assets/__init__.py +0 -0
  66. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/assets/create.py +0 -0
  67. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/assets/entrypoint.py +0 -0
  68. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/assets/ls.py +0 -0
  69. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/ast/__init__.py +0 -0
  70. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/ast/dry_run.py +0 -0
  71. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/common.py +0 -0
  72. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/companies/__init__.py +0 -0
  73. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/companies/ls.py +0 -0
  74. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/container/__init__.py +0 -0
  75. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/container/entrypoint.py +0 -0
  76. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/container/run.py +0 -0
  77. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/context.py +0 -0
  78. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/deploy/__init__.py +0 -0
  79. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/deploy/create/__init__.py +0 -0
  80. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/deploy/create/context.py +0 -0
  81. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/deploy/create/entrypoint.py +0 -0
  82. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/deploy/create/with_/__init__.py +0 -0
  83. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/deploy/create/with_/entrypoint.py +0 -0
  84. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/__init__.py +0 -0
  85. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/context.py +0 -0
  86. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/entrypoint.py +0 -0
  87. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/sort_by/__init__.py +0 -0
  88. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/sort_by/entrypoint.py +0 -0
  89. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/sort_by/time_.py +0 -0
  90. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/sort_by/versioning_style.py +0 -0
  91. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/deploy/create/with_/values.py +0 -0
  92. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/entrypoint.py +0 -0
  93. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/environment_checker.py +0 -0
  94. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/findings/__init__.py +0 -0
  95. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/findings/create/__init__.py +0 -0
  96. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/findings/create/entrypoint.py +0 -0
  97. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/findings/create/with_/__init__.py +0 -0
  98. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/findings/create/with_/entrypoint.py +0 -0
  99. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/findings/create/with_/version_tracker.py +0 -0
  100. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/findings/entrypoint.py +0 -0
  101. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/findings/import_sarif/__init__.py +0 -0
  102. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/findings/import_sarif/entrypoint.py +0 -0
  103. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/help_option.py +0 -0
  104. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/iac/__init__.py +0 -0
  105. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/iac/dry_run.py +0 -0
  106. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/iac/entrypoint.py +0 -0
  107. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/iac/run.py +0 -0
  108. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/sast/__init__.py +0 -0
  109. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/sast/dry_run.py +0 -0
  110. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/sast/entrypoint.py +0 -0
  111. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/sast/run.py +0 -0
  112. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/sbom/__init__.py +0 -0
  113. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/sbom/entrypoint.py +0 -0
  114. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/sbom/generate.py +0 -0
  115. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/sca/__init__.py +0 -0
  116. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/sca/dry_run.py +0 -0
  117. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/sca/entrypoint.py +0 -0
  118. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/sca/run.py +0 -0
  119. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/vulnerability/__init__.py +0 -0
  120. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/vulnerability/assert_security_rules.py +0 -0
  121. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/vulnerability/container_vulnerability_manager.py +0 -0
  122. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/vulnerability/entrypoint.py +0 -0
  123. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/vulnerability/rules_schema.json +0 -0
  124. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/flowcli/vulnerability/run.py +0 -0
  125. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/logger.py +0 -0
  126. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/sast/__init__.py +0 -0
  127. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/sast/decision.py +0 -0
  128. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/convisoappsec/sast/sastbox.py +0 -0
  129. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/scripts/shell_completer/flow_bash_completer.sh +0 -0
  130. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/scripts/shell_completer/flow_fish_completer.fish +0 -0
  131. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/scripts/shell_completer/flow_zsh_completer.sh +0 -0
  132. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/setup.cfg +0 -0
  133. {conviso_cli-2.7.8 → conviso_cli-2.7.10}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: conviso-cli
3
- Version: 2.7.8
3
+ Version: 2.7.10
4
4
  Maintainer: Conviso
5
5
  Maintainer-email: development@convisoappsec.com
6
6
  Project-URL: Source, https://github.com/convisoappsec/convisocli/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: conviso-cli
3
- Version: 2.7.8
3
+ Version: 2.7.10
4
4
  Maintainer: Conviso
5
5
  Maintainer-email: development@convisoappsec.com
6
6
  Project-URL: Source, https://github.com/convisoappsec/convisocli/
@@ -89,21 +89,27 @@ class GitAdapter(object):
89
89
  for commit in commits
90
90
  ]
91
91
 
92
- # Include information about stashes
93
- stashes = self._repo.git.stash("list", "--format=%H|%gd|%ci|%P|%gs", "--date=iso").splitlines()
94
- stash_info_list = [
95
- {
96
- 'commit': stash_info.split('|')[0],
97
- 'stash_ref': stash_info.split('|')[1],
98
- 'date': stash_info.split('|')[2],
99
- 'parent_commits': stash_info.split('|')[3].split(),
100
- 'message': stash_info.split('|')[4],
101
- 'contributors': self.get_contributors_for_stash_merge(stash_info.split('|')[0])
102
- }
103
- for stash_info in stashes
104
- ]
105
-
106
- commit_info_list.extend(stash_info_list)
92
+ try:
93
+ # Include information about stashes
94
+ stashes = self._repo.git.stash("list", "--format=%H|%gd|%ci|%P|%gs", "--date=iso").splitlines()
95
+ stash_info_list = []
96
+ for stash_info in stashes:
97
+ parts = stash_info.split('|')
98
+ if len(parts) < 5:
99
+ LOGGER.warning(f"Skipping malformed stash entry: {stash_info!r}")
100
+ continue
101
+ stash_info_list.append({
102
+ 'commit': parts[0],
103
+ 'stash_ref': parts[1],
104
+ 'date': parts[2],
105
+ 'parent_commits': parts[3].split(),
106
+ 'message': parts[4],
107
+ 'contributors': self.get_contributors_for_stash_merge(parts[0])
108
+ })
109
+
110
+ commit_info_list.extend(stash_info_list)
111
+ except Exception as err:
112
+ LOGGER.warning(f"Could not retrieve stash info for commit history: {err}")
107
113
 
108
114
  return commit_info_list
109
115
 
@@ -324,6 +324,13 @@ def get_branch_name(git_adapter, repository_dir):
324
324
  show_default=True,
325
325
  help="Clean up system resources, including temporary files, stopped containers, unused Docker images and volumes.",
326
326
  )
327
+ @click.option(
328
+ '--traceback',
329
+ 'show_traceback',
330
+ default=False,
331
+ is_flag=True,
332
+ help="Show full traceback on errors.",
333
+ )
327
334
  @help_option
328
335
  @pass_flow_context
329
336
  @pass_create_context
@@ -415,7 +422,8 @@ def run(context, create_context, flow_context, **kwargs):
415
422
  LOGGER.warning("Deploy with same commits already exists")
416
423
  return None
417
424
  else:
418
- LOGGER.error(f"AST initialization failed. Please contact support with the following error: {err}")
425
+ error_detail = f"\n{traceback.format_exc()}" if context.params.get('show_traceback') else ""
426
+ LOGGER.error(f"AST initialization failed. Please contact support with the following error: {err}{error_detail}")
419
427
  raise click.ClickException(str(err)) from err
420
428
 
421
429
 
@@ -95,18 +95,26 @@ class RequirementsVerifier:
95
95
  company_id = context.params['company_id']
96
96
 
97
97
  if company_id is not None:
98
- companies_filtered = [companies.ls(flow_context, company_id=company_id)]
98
+ result = companies.ls(flow_context, company_id=company_id)
99
+ companies_filtered = [result] if result else []
99
100
  else:
100
101
  companies_filtered = companies.ls(flow_context)
101
102
 
103
+ if not companies_filtered:
104
+ raise CreateDeployException(
105
+ "❌ No companies found for the provided credentials. Please check your API key and permissions."
106
+ )
107
+
102
108
  if len(companies_filtered) > 1:
103
109
  raise CreateDeployException(
104
- "❌ Deploy not created. You have access to multiple companies; please specify one using CONVISO_COMPANY_ID."
110
+ "❌ You have access to multiple companies; please specify one using CONVISO_COMPANY_ID."
105
111
  )
106
112
 
107
113
  company = companies_filtered[0]
108
114
  company_id = company['id']
109
115
 
116
+ LOGGER.info(f"✅ Company selected: {company.get('label', company_id)} (id={company_id})")
117
+
110
118
  if context.params['asset_name'] is not None:
111
119
  # if user use --asset-name param or envvar CONVISO_ASSET_NAME, FLOW_ASSET_NAME
112
120
  asset_name = context.params['asset_name']
@@ -0,0 +1 @@
1
+ __version__ = '2.7.10'
@@ -1 +0,0 @@
1
- __version__ = '2.7.8'
File without changes
File without changes
File without changes