sys-scan-agent 5.0.0__tar.gz → 5.0.3__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 (155) hide show
  1. {sys_scan_agent-5.0.0/sys_scan_agent.egg-info → sys_scan_agent-5.0.3}/PKG-INFO +1 -1
  2. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/setup.py +10 -3
  3. sys_scan_agent-5.0.3/sys_scan_agent/models/__init__.py +1 -0
  4. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3/sys_scan_agent.egg-info}/PKG-INFO +1 -1
  5. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent.egg-info/SOURCES.txt +1 -1
  6. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent.egg-info/top_level.txt +0 -1
  7. sys_scan_agent-5.0.0/sys_scan_graph_agent/__init__.py +0 -34
  8. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/LICENSE +0 -0
  9. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/MANIFEST.in +0 -0
  10. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/README.md +0 -0
  11. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/executors/__init__.py +0 -0
  12. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/executors/hashing.py +0 -0
  13. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/executors/pkg.py +0 -0
  14. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/prompt_templates/__init__.py +0 -0
  15. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/prompt_templates/refine_rules_v1.json +0 -0
  16. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/prompt_templates/summarize_v1.json +0 -0
  17. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/prompt_templates/triage_v1.json +0 -0
  18. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/setup.cfg +0 -0
  19. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/__init__.py +0 -0
  20. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/audit.py +0 -0
  21. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/baseline.py +0 -0
  22. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/calibration.py +0 -0
  23. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/canonicalize.py +0 -0
  24. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/cli.py +0 -0
  25. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/config.py +0 -0
  26. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/correlator.py +0 -0
  27. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/counterfactual.py +0 -0
  28. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/data_governance.py +0 -0
  29. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/db_pool.py +0 -0
  30. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/endpoint_classification.py +0 -0
  31. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/enricher.py +0 -0
  32. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/evaluation.py +0 -0
  33. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/graph/__init__.py +0 -0
  34. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/graph/analysis.py +0 -0
  35. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/graph/baseline.py +0 -0
  36. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/graph/cache.py +0 -0
  37. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/graph/enrichment.py +0 -0
  38. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/graph/routing.py +0 -0
  39. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/graph/rules.py +0 -0
  40. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/graph/summarization.py +0 -0
  41. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/graph/utils.py +0 -0
  42. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/graph.py +0 -0
  43. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/graph_analysis.py +0 -0
  44. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/graph_nodes.py +0 -0
  45. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/graph_nodes_enhanced.py +0 -0
  46. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/graph_state.py +0 -0
  47. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/hf_loader.py +0 -0
  48. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/integrity.py +0 -0
  49. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/knowledge.py +0 -0
  50. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/llm.py +0 -0
  51. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/llm_cache.py +0 -0
  52. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/llm_models.py +0 -0
  53. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/llm_provider.py +0 -0
  54. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/llm_provider_enhanced.py +0 -0
  55. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/loader.py +0 -0
  56. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/metrics.py +0 -0
  57. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/metrics_exporter.py +0 -0
  58. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/metrics_node.py +0 -0
  59. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/migration_v3.py +0 -0
  60. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/models/mistral-security-scanner/adapter_config.json +0 -0
  61. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/models/mistral-security-scanner/tokenizer.json +0 -0
  62. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/models.py +0 -0
  63. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/performance_baseline.py +0 -0
  64. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/pipeline.py +0 -0
  65. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/rarity_generate.py +0 -0
  66. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/redaction.py +0 -0
  67. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/reduction.py +0 -0
  68. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/report_diff.py +0 -0
  69. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/report_html.py +0 -0
  70. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/retriever.py +0 -0
  71. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/risk.py +0 -0
  72. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/rule_gap_miner.py +0 -0
  73. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/rule_redundancy.py +0 -0
  74. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/rule_refiner.py +0 -0
  75. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/rule_suggest.py +0 -0
  76. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/rules.py +0 -0
  77. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/sandbox.py +0 -0
  78. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/tool_wrapper.py +0 -0
  79. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/tools.py +0 -0
  80. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/tools_enhanced.py +0 -0
  81. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/util_hash.py +0 -0
  82. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/util_normalization.py +0 -0
  83. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent/utils.py +0 -0
  84. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent.egg-info/dependency_links.txt +0 -0
  85. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent.egg-info/entry_points.txt +0 -0
  86. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/sys_scan_agent.egg-info/requires.txt +0 -0
  87. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/__init__.py +0 -0
  88. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/conftest.py +0 -0
  89. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_advanced_router.py +0 -0
  90. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_advanced_rule_scoring.py +0 -0
  91. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_attack_coverage.py +0 -0
  92. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_audit.py +0 -0
  93. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_baseline.py +0 -0
  94. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_calibration.py +0 -0
  95. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_causal_hypotheses.py +0 -0
  96. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_cli.py +0 -0
  97. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_compliance_integration.py +0 -0
  98. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_compromised_dev_host_snapshot.py +0 -0
  99. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_contract_deterministic.py +0 -0
  100. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_correlator.py +0 -0
  101. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_counterfactual.py +0 -0
  102. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_db_pool.py +0 -0
  103. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_deterministic_hashing.py +0 -0
  104. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_enhanced_graph_integration.py +0 -0
  105. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_enhanced_suggest_rules.py +0 -0
  106. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_enhanced_summarize.py +0 -0
  107. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_enricher.py +0 -0
  108. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_evaluation.py +0 -0
  109. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_exports.py +0 -0
  110. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_fleet_report_schema.py +0 -0
  111. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_graph.py +0 -0
  112. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_graph_analysis.py +0 -0
  113. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_graph_cycle.py +0 -0
  114. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_graph_main.py +0 -0
  115. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_graph_scaffold_workflow.py +0 -0
  116. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_graph_utils.py +0 -0
  117. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_graph_with_toolnode.py +0 -0
  118. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_graphstate_normalize.py +0 -0
  119. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_hf_loader.py +0 -0
  120. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_input_security.py +0 -0
  121. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_integrity.py +0 -0
  122. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_knowledge_signatures.py +0 -0
  123. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_llm_cache.py +0 -0
  124. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_llm_provider_enhanced.py +0 -0
  125. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_loader.py +0 -0
  126. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_metric_drift.py +0 -0
  127. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_migration_v3.py +0 -0
  128. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_operational_nodes.py +0 -0
  129. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_performance_baseline.py +0 -0
  130. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_performance_optimizations.py +0 -0
  131. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_pipeline_comprehensive.py +0 -0
  132. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_pipeline_fuzz.py +0 -0
  133. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_policy.py +0 -0
  134. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_process_novelty.py +0 -0
  135. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_query_baseline_flag.py +0 -0
  136. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_rarity_generate.py +0 -0
  137. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_redaction.py +0 -0
  138. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_redaction_edge_cases.py +0 -0
  139. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_reduction_snapshot.py +0 -0
  140. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_report_html.py +0 -0
  141. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_retriever.py +0 -0
  142. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_risk_compliance_nodes.py +0 -0
  143. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_rule_gap_miner.py +0 -0
  144. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_rule_gap_refinement.py +0 -0
  145. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_rule_redundancy.py +0 -0
  146. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_rule_suggest.py +0 -0
  147. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_rules.py +0 -0
  148. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_scaffold_conditional_routers.py +0 -0
  149. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_sequence_correlation.py +0 -0
  150. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_setup.py +0 -0
  151. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_tool_coordinator.py +0 -0
  152. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_tools_enhanced.py +0 -0
  153. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_utils.py +0 -0
  154. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_workflow_equivalence.py +0 -0
  155. {sys_scan_agent-5.0.0 → sys_scan_agent-5.0.3}/tests/test_yaml_corruption.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sys-scan-agent
3
- Version: 5.0.0
3
+ Version: 5.0.3
4
4
  Summary: AI-powered intelligence layer for the sys-scan-graph security scanner.
5
5
  Home-page: https://github.com/J-mazz/sys-scan-graph
6
6
  Author: Joseph Mazzini
@@ -28,7 +28,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
28
28
 
29
29
  setup(
30
30
  name='sys-scan-agent',
31
- version='5.0.0', # Increment this for every new version you publish
31
+ version='5.0.3', # Increment this for every new version you publish
32
32
  author='Joseph Mazzini',
33
33
  author_email='joseph@mazzlabs.works',
34
34
  description='AI-powered intelligence layer for the sys-scan-graph security scanner.',
@@ -36,8 +36,15 @@ setup(
36
36
  long_description_content_type="text/markdown",
37
37
  url='https://github.com/J-mazz/sys-scan-graph',
38
38
  license='Apache License 2.0',
39
- # Automatically find all python packages in the agent directory
40
- packages=find_packages(),
39
+ # Explicitly list all packages to ensure they're included
40
+ packages=[
41
+ 'sys_scan_agent',
42
+ 'sys_scan_agent.graph',
43
+ 'sys_scan_agent.models',
44
+ 'executors',
45
+ 'prompt_templates',
46
+ 'tests',
47
+ ],
41
48
  # Include non-python files specified in MANIFEST.in
42
49
  include_package_data=True,
43
50
  classifiers=[
@@ -0,0 +1 @@
1
+ # Model data files package
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sys-scan-agent
3
- Version: 5.0.0
3
+ Version: 5.0.3
4
4
  Summary: AI-powered intelligence layer for the sys-scan-graph security scanner.
5
5
  Home-page: https://github.com/J-mazz/sys-scan-graph
6
6
  Author: Joseph Mazzini
@@ -78,9 +78,9 @@ sys_scan_agent/graph/routing.py
78
78
  sys_scan_agent/graph/rules.py
79
79
  sys_scan_agent/graph/summarization.py
80
80
  sys_scan_agent/graph/utils.py
81
+ sys_scan_agent/models/__init__.py
81
82
  sys_scan_agent/models/mistral-security-scanner/adapter_config.json
82
83
  sys_scan_agent/models/mistral-security-scanner/tokenizer.json
83
- sys_scan_graph_agent/__init__.py
84
84
  tests/__init__.py
85
85
  tests/conftest.py
86
86
  tests/test_advanced_router.py
@@ -1,5 +1,4 @@
1
1
  executors
2
2
  prompt_templates
3
3
  sys_scan_agent
4
- sys_scan_graph_agent
5
4
  tests
@@ -1,34 +0,0 @@
1
- # .________    ._____.___ .______  .______ .______ .___ .______  .___
2
- # :____.   \   :         |:      \ \____  |\____  |: __|:      \ : __|
3
- #  __|  :/ |   |   \  /  ||   .   |/  ____|/  ____|| : ||       || : |
4
- # |     :  |   |   |\/   ||   :   |\      |\      ||   ||   |   ||   |
5
- #  \__. __/    |___| |   ||___|   | \__:__| \__:__||   ||___|   ||   |
6
- #     :/             |___|    |___|    :       :   |___|    |___||___|
7
- #     :                        •       •             
8
- #  
9
- #
10
- # 2925
11
- # __init__.py
12
-
13
- # ==============================================================================
14
- # Agent package init
15
-
16
- import subprocess
17
- import sys
18
-
19
- def _check_sys_scan():
20
- """Check if sys-scan-graph core is installed and available."""
21
- try:
22
- # Check if 'sys-scan-graph' is in the system's PATH
23
- subprocess.run(["which", "sys-scan-graph"], check=True, capture_output=True)
24
- except (subprocess.CalledProcessError, FileNotFoundError):
25
- print(
26
- "Error: 'sys-scan-graph' core not found.\n"
27
- "Please install the core package first by running:\n"
28
- "sudo apt install sys-scan-graph",
29
- file=sys.stderr
30
- )
31
- sys.exit(1)
32
-
33
- # Perform the check when the module is imported
34
- _check_sys_scan()
File without changes
File without changes
File without changes