cycode 3.8.2.dev1__tar.gz → 3.8.3.dev1__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 (174) hide show
  1. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/PKG-INFO +1 -1
  2. cycode-3.8.3.dev1/cycode/__init__.py +1 -0
  3. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/commit_range_scanner.py +2 -2
  4. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/commit_range_documents.py +41 -7
  5. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/pyproject.toml +1 -1
  6. cycode-3.8.2.dev1/cycode/__init__.py +0 -1
  7. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/LICENCE +0 -0
  8. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/README.md +0 -0
  9. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/__main__.py +0 -0
  10. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/__init__.py +0 -0
  11. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/app.py +0 -0
  12. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/__init__.py +0 -0
  13. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/ai_remediation/__init__.py +0 -0
  14. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/ai_remediation/ai_remediation_command.py +0 -0
  15. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/ai_remediation/apply_fix.py +0 -0
  16. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/ai_remediation/print_remediation.py +0 -0
  17. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/auth/__init__.py +0 -0
  18. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/auth/auth_command.py +0 -0
  19. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/auth/auth_common.py +0 -0
  20. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/auth/auth_manager.py +0 -0
  21. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/auth/models.py +0 -0
  22. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/configure/__init__.py +0 -0
  23. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/configure/configure_command.py +0 -0
  24. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/configure/consts.py +0 -0
  25. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/configure/messages.py +0 -0
  26. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/configure/prompts.py +0 -0
  27. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/ignore/__init__.py +0 -0
  28. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/ignore/ignore_command.py +0 -0
  29. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/mcp/__init__.py +0 -0
  30. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/mcp/mcp_command.py +0 -0
  31. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/report/__init__.py +0 -0
  32. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/report/report_command.py +0 -0
  33. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/report/sbom/__init__.py +0 -0
  34. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/report/sbom/common.py +0 -0
  35. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/report/sbom/path/__init__.py +0 -0
  36. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/report/sbom/path/path_command.py +0 -0
  37. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/report/sbom/repository_url/__init__.py +0 -0
  38. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/report/sbom/repository_url/repository_url_command.py +0 -0
  39. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/report/sbom/sbom_command.py +0 -0
  40. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/report/sbom/sbom_report_file.py +0 -0
  41. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/report_import/__init__.py +0 -0
  42. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/report_import/report_import_command.py +0 -0
  43. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/report_import/sbom/__init__.py +0 -0
  44. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/report_import/sbom/sbom_command.py +0 -0
  45. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/__init__.py +0 -0
  46. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/aggregation_report.py +0 -0
  47. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/code_scanner.py +0 -0
  48. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/commit_history/__init__.py +0 -0
  49. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/commit_history/commit_history_command.py +0 -0
  50. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/detection_excluder.py +0 -0
  51. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/path/__init__.py +0 -0
  52. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/path/path_command.py +0 -0
  53. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/pre_commit/__init__.py +0 -0
  54. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/pre_commit/pre_commit_command.py +0 -0
  55. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/pre_push/__init__.py +0 -0
  56. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/pre_push/pre_push_command.py +0 -0
  57. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/pre_receive/__init__.py +0 -0
  58. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/pre_receive/pre_receive_command.py +0 -0
  59. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/remote_url_resolver.py +0 -0
  60. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/repository/__init__.py +0 -0
  61. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/repository/repository_command.py +0 -0
  62. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/scan_ci/__init__.py +0 -0
  63. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/scan_ci/ci_integrations.py +0 -0
  64. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/scan_ci/scan_ci_command.py +0 -0
  65. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/scan_command.py +0 -0
  66. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/scan_parameters.py +0 -0
  67. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/scan/scan_result.py +0 -0
  68. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/status/__init__.py +0 -0
  69. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/status/get_cli_status.py +0 -0
  70. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/status/models.py +0 -0
  71. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/status/status_command.py +0 -0
  72. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/apps/status/version_command.py +0 -0
  73. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/cli_types.py +0 -0
  74. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/config.py +0 -0
  75. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/console.py +0 -0
  76. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/consts.py +0 -0
  77. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/exceptions/__init__.py +0 -0
  78. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/exceptions/custom_exceptions.py +0 -0
  79. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/exceptions/handle_ai_remediation_errors.py +0 -0
  80. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/exceptions/handle_auth_errors.py +0 -0
  81. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/exceptions/handle_errors.py +0 -0
  82. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/exceptions/handle_report_sbom_errors.py +0 -0
  83. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/exceptions/handle_scan_errors.py +0 -0
  84. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/__init__.py +0 -0
  85. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/documents_walk_ignore.py +0 -0
  86. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/file_excluder.py +0 -0
  87. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/iac/__init__.py +0 -0
  88. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/iac/tf_content_generator.py +0 -0
  89. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/models/__init__.py +0 -0
  90. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/models/in_memory_zip.py +0 -0
  91. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/path_documents.py +0 -0
  92. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/repository_documents.py +0 -0
  93. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/sca/__init__.py +0 -0
  94. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/sca/base_restore_dependencies.py +0 -0
  95. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/sca/go/__init__.py +0 -0
  96. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/sca/go/restore_go_dependencies.py +0 -0
  97. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/sca/maven/__init__.py +0 -0
  98. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/sca/maven/restore_gradle_dependencies.py +0 -0
  99. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/sca/maven/restore_maven_dependencies.py +0 -0
  100. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/sca/npm/__init__.py +0 -0
  101. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/sca/npm/restore_npm_dependencies.py +0 -0
  102. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/sca/nuget/__init__.py +0 -0
  103. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/sca/nuget/restore_nuget_dependencies.py +0 -0
  104. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/sca/ruby/__init__.py +0 -0
  105. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/sca/ruby/restore_ruby_dependencies.py +0 -0
  106. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/sca/sbt/__init__.py +0 -0
  107. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/sca/sbt/restore_sbt_dependencies.py +0 -0
  108. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/sca/sca_file_collector.py +0 -0
  109. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/walk_ignore.py +0 -0
  110. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/files_collector/zip_documents.py +0 -0
  111. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/logger.py +0 -0
  112. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/main.py +0 -0
  113. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/models.py +0 -0
  114. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/__init__.py +0 -0
  115. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/console_printer.py +0 -0
  116. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/json_printer.py +0 -0
  117. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/printer_base.py +0 -0
  118. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/rich_printer.py +0 -0
  119. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/tables/__init__.py +0 -0
  120. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/tables/sca_table_printer.py +0 -0
  121. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/tables/table.py +0 -0
  122. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/tables/table_models.py +0 -0
  123. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/tables/table_printer.py +0 -0
  124. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/tables/table_printer_base.py +0 -0
  125. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/text_printer.py +0 -0
  126. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/utils/__init__.py +0 -0
  127. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/utils/code_snippet_syntax.py +0 -0
  128. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/utils/detection_data.py +0 -0
  129. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/utils/detection_ordering/__init__.py +0 -0
  130. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/utils/detection_ordering/common_ordering.py +0 -0
  131. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/utils/detection_ordering/sca_ordering.py +0 -0
  132. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/printers/utils/rich_helpers.py +0 -0
  133. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/user_settings/__init__.py +0 -0
  134. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/user_settings/base_file_manager.py +0 -0
  135. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/user_settings/config_file_manager.py +0 -0
  136. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/user_settings/configuration_manager.py +0 -0
  137. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/user_settings/credentials_manager.py +0 -0
  138. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/user_settings/jwt_creator.py +0 -0
  139. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/utils/__init__.py +0 -0
  140. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/utils/enum_utils.py +0 -0
  141. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/utils/get_api_client.py +0 -0
  142. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/utils/git_proxy.py +0 -0
  143. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/utils/ignore_utils.py +0 -0
  144. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/utils/jwt_utils.py +0 -0
  145. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/utils/path_utils.py +0 -0
  146. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/utils/progress_bar.py +0 -0
  147. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/utils/scan_batch.py +0 -0
  148. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/utils/scan_utils.py +0 -0
  149. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/utils/sentry.py +0 -0
  150. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/utils/shell_executor.py +0 -0
  151. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/utils/string_utils.py +0 -0
  152. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/utils/task_timer.py +0 -0
  153. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/utils/version_checker.py +0 -0
  154. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cli/utils/yaml_utils.py +0 -0
  155. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/config.py +0 -0
  156. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cyclient/__init__.py +0 -0
  157. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cyclient/auth_client.py +0 -0
  158. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cyclient/base_token_auth_client.py +0 -0
  159. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cyclient/client_creator.py +0 -0
  160. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cyclient/config.py +0 -0
  161. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cyclient/config_dev.py +0 -0
  162. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cyclient/cycode_client.py +0 -0
  163. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cyclient/cycode_client_base.py +0 -0
  164. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cyclient/cycode_dev_based_client.py +0 -0
  165. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cyclient/cycode_oidc_based_client.py +0 -0
  166. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cyclient/cycode_token_based_client.py +0 -0
  167. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cyclient/headers.py +0 -0
  168. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cyclient/import_sbom_client.py +0 -0
  169. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cyclient/logger.py +0 -0
  170. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cyclient/models.py +0 -0
  171. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cyclient/report_client.py +0 -0
  172. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cyclient/scan_client.py +0 -0
  173. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/cyclient/scan_config_base.py +0 -0
  174. {cycode-3.8.2.dev1 → cycode-3.8.3.dev1}/cycode/logger.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cycode
3
- Version: 3.8.2.dev1
3
+ Version: 3.8.3.dev1
4
4
  Summary: Boost security in your dev lifecycle via SAST, SCA, Secrets & IaC scanning.
5
5
  License-Expression: MIT
6
6
  License-File: LICENCE
@@ -0,0 +1 @@
1
+ __version__ = '3.8.3.dev1' # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
@@ -186,7 +186,7 @@ def _scan_commit_range_documents(
186
186
  def _scan_sca_commit_range(ctx: typer.Context, repo_path: str, commit_range: str, **_) -> None:
187
187
  scan_parameters = get_scan_parameters(ctx, (repo_path,))
188
188
 
189
- from_commit_rev, to_commit_rev = parse_commit_range(commit_range, repo_path)
189
+ from_commit_rev, to_commit_rev, _ = parse_commit_range(commit_range, repo_path)
190
190
  from_commit_documents, to_commit_documents, _ = get_commit_range_modified_documents(
191
191
  ctx.obj['progress_bar'], ScanProgressBarSection.PREPARE_LOCAL_FILES, repo_path, from_commit_rev, to_commit_rev
192
192
  )
@@ -227,7 +227,7 @@ def _scan_secret_commit_range(
227
227
  def _scan_sast_commit_range(ctx: typer.Context, repo_path: str, commit_range: str, **_) -> None:
228
228
  scan_parameters = get_scan_parameters(ctx, (repo_path,))
229
229
 
230
- from_commit_rev, to_commit_rev = parse_commit_range(commit_range, repo_path)
230
+ from_commit_rev, to_commit_rev, _ = parse_commit_range(commit_range, repo_path)
231
231
  _, commit_documents, diff_documents = get_commit_range_modified_documents(
232
232
  ctx.obj['progress_bar'],
233
233
  ScanProgressBarSection.PREPARE_LOCAL_FILES,
@@ -67,12 +67,17 @@ def collect_commit_range_diff_documents(
67
67
  commit_documents_to_scan = []
68
68
 
69
69
  repo = git_proxy.get_repo(path)
70
- total_commits_count = int(repo.git.rev_list('--count', commit_range))
71
- logger.debug('Calculating diffs for %s commits in the commit range %s', total_commits_count, commit_range)
70
+
71
+ normalized_commit_range = normalize_commit_range(commit_range, path)
72
+
73
+ total_commits_count = int(repo.git.rev_list('--count', normalized_commit_range))
74
+ logger.debug(
75
+ 'Calculating diffs for %s commits in the commit range %s', total_commits_count, normalized_commit_range
76
+ )
72
77
 
73
78
  progress_bar.set_section_length(ScanProgressBarSection.PREPARE_LOCAL_FILES, total_commits_count)
74
79
 
75
- for scanned_commits_count, commit in enumerate(repo.iter_commits(rev=commit_range)):
80
+ for scanned_commits_count, commit in enumerate(repo.iter_commits(rev=normalized_commit_range)):
76
81
  if _does_reach_to_max_commits_to_scan_limit(commit_ids_to_scan, max_commits_count):
77
82
  logger.debug('Reached to max commits to scan count. Going to scan only %s last commits', max_commits_count)
78
83
  progress_bar.update(ScanProgressBarSection.PREPARE_LOCAL_FILES, total_commits_count - scanned_commits_count)
@@ -96,7 +101,12 @@ def collect_commit_range_diff_documents(
96
101
 
97
102
  logger.debug(
98
103
  'Found all relevant files in commit %s',
99
- {'path': path, 'commit_range': commit_range, 'commit_id': commit_id},
104
+ {
105
+ 'path': path,
106
+ 'commit_range': commit_range,
107
+ 'normalized_commit_range': normalized_commit_range,
108
+ 'commit_id': commit_id,
109
+ },
100
110
  )
101
111
 
102
112
  logger.debug('List of commit ids to scan, %s', {'commit_ids': commit_ids_to_scan})
@@ -428,8 +438,9 @@ def get_pre_commit_modified_documents(
428
438
  return git_head_documents, pre_committed_documents, diff_documents
429
439
 
430
440
 
431
- def parse_commit_range(commit_range: str, path: str) -> tuple[Optional[str], Optional[str]]:
441
+ def parse_commit_range(commit_range: str, path: str) -> tuple[Optional[str], Optional[str], Optional[str]]:
432
442
  """Parses a git commit range string and returns the full SHAs for the 'from' and 'to' commits.
443
+ Also, it returns the separator in the commit range.
433
444
 
434
445
  Supports:
435
446
  - 'from..to'
@@ -440,8 +451,10 @@ def parse_commit_range(commit_range: str, path: str) -> tuple[Optional[str], Opt
440
451
  """
441
452
  repo = git_proxy.get_repo(path)
442
453
 
454
+ separator = '..'
443
455
  if '...' in commit_range:
444
456
  from_spec, to_spec = commit_range.split('...', 1)
457
+ separator = '...'
445
458
  elif '..' in commit_range:
446
459
  from_spec, to_spec = commit_range.split('..', 1)
447
460
  else:
@@ -459,7 +472,28 @@ def parse_commit_range(commit_range: str, path: str) -> tuple[Optional[str], Opt
459
472
  # Use rev_parse to resolve each specifier to its full commit SHA
460
473
  from_commit_rev = repo.rev_parse(from_spec).hexsha
461
474
  to_commit_rev = repo.rev_parse(to_spec).hexsha
462
- return from_commit_rev, to_commit_rev
475
+ return from_commit_rev, to_commit_rev, separator
463
476
  except git_proxy.get_git_command_error() as e:
464
477
  logger.warning("Failed to parse commit range '%s'", commit_range, exc_info=e)
465
- return None, None
478
+ return None, None, None
479
+
480
+
481
+ def normalize_commit_range(commit_range: str, path: str) -> str:
482
+ """Normalize a commit range string to handle various formats consistently with all scan types.
483
+
484
+ Returns:
485
+ A normalized commit range string suitable for Git operations (e.g., 'full_sha1..full_sha2')
486
+ """
487
+ from_commit_rev, to_commit_rev, separator = parse_commit_range(commit_range, path)
488
+ if from_commit_rev is None or to_commit_rev is None:
489
+ logger.warning('Failed to parse commit range "%s", falling back to raw string.', commit_range)
490
+ return commit_range
491
+
492
+ # Construct a normalized range string using the original separator for iter_commits
493
+ normalized_commit_range = f'{from_commit_rev}{separator}{to_commit_rev}'
494
+ logger.debug(
495
+ 'Normalized commit range "%s" to "%s"',
496
+ commit_range,
497
+ normalized_commit_range,
498
+ )
499
+ return normalized_commit_range
@@ -21,7 +21,7 @@ classifiers = [
21
21
  "Programming Language :: Python :: 3.14",
22
22
  ]
23
23
  dynamic = ["dependencies"]
24
- version = "3.8.2.dev1"
24
+ version = "3.8.3.dev1"
25
25
 
26
26
  [project.scripts]
27
27
  cycode = "cycode.cli.app:app"
@@ -1 +0,0 @@
1
- __version__ = '3.8.2.dev1' # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
File without changes
File without changes