agent-framework-lib 0.8.1.post7__tar.gz → 0.8.2__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 (291) hide show
  1. {agent_framework_lib-0.8.1.post7/agent_framework_lib.egg-info → agent_framework_lib-0.8.2}/PKG-INFO +47 -6
  2. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/README.md +44 -5
  3. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/__init__.py +2 -2
  4. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/scripts/create_and_register.py +1 -1
  5. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/file_access/SKILL.md +55 -1
  6. agent_framework_lib-0.8.2/agent_framework/skills/builtin/skills/file_access/download_to_local.py +128 -0
  7. agent_framework_lib-0.8.2/agent_framework/web/docs/GITNEXUS_USER_GUIDE.md +386 -0
  8. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/README.md +44 -5
  9. agent_framework_lib-0.8.2/agent_framework/web/gitnexus_client.py +369 -0
  10. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/helper_agent.py +633 -14
  11. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/server.py +94 -0
  12. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/workspace/client.py +4 -5
  13. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/workspace/router.py +0 -5
  14. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2/agent_framework_lib.egg-info}/PKG-INFO +47 -6
  15. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework_lib.egg-info/SOURCES.txt +4 -0
  16. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework_lib.egg-info/requires.txt +3 -0
  17. agent_framework_lib-0.8.2/docs/GITNEXUS_USER_GUIDE.md +386 -0
  18. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/pyproject.toml +6 -1
  19. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/ARCHITECTURE.md +0 -0
  20. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/LICENSE +0 -0
  21. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/MANIFEST.in +0 -0
  22. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/a2a/__init__.py +0 -0
  23. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/a2a/base.py +0 -0
  24. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/a2a/endpoints/__init__.py +0 -0
  25. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/a2a/endpoints/a2a_router.py +0 -0
  26. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/a2a/endpoints/agent_card_builder.py +0 -0
  27. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/a2a/endpoints/agent_card_skill_builder.py +0 -0
  28. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/a2a/endpoints/jsonrpc_dispatcher.py +0 -0
  29. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/a2a/endpoints/models_jsonrpc.py +0 -0
  30. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/a2a/endpoints/sse_wrapper.py +0 -0
  31. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/a2a/endpoints/translation_layer.py +0 -0
  32. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/a2a/models.py +0 -0
  33. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/a2a/providers/__init__.py +0 -0
  34. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/a2a/providers/elasticsearch_provider.py +0 -0
  35. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/a2a/providers/postgres_provider.py +0 -0
  36. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/capabilities/__init__.py +0 -0
  37. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/capabilities/resolver.py +0 -0
  38. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/chart_generation/llm_refinement_loop.py +0 -0
  39. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/__init__.py +0 -0
  40. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/activity_formatter.py +0 -0
  41. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/agent_interface.py +0 -0
  42. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/agent_provider.py +0 -0
  43. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/base_agent.py +0 -0
  44. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/context_budget.py +0 -0
  45. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/context_summarizer.py +0 -0
  46. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/elasticsearch_config_provider.py +0 -0
  47. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/implementation_validator.py +0 -0
  48. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/knowledge_state.py +0 -0
  49. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/loop_detector.py +0 -0
  50. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/model_clients.py +0 -0
  51. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/model_config.py +0 -0
  52. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/model_router.py +0 -0
  53. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/models.py +0 -0
  54. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/provider_calibration.py +0 -0
  55. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/scratchpad_compressor.py +0 -0
  56. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/state_manager.py +0 -0
  57. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/step_display_config.py +0 -0
  58. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/core/streaming_parts_accumulator.py +0 -0
  59. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/implementations/__init__.py +0 -0
  60. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/implementations/budget_aware_agent.py +0 -0
  61. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/implementations/llamaindex_agent.py +0 -0
  62. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/implementations/llamaindex_memory_adapter.py +0 -0
  63. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/implementations/microsoft_agent.py +0 -0
  64. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/memory/__init__.py +0 -0
  65. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/memory/agent_mixin.py +0 -0
  66. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/memory/base.py +0 -0
  67. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/memory/config.py +0 -0
  68. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/memory/manager.py +0 -0
  69. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/memory/personalization.py +0 -0
  70. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/memory/providers/__init__.py +0 -0
  71. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/memory/providers/graphiti_provider.py +0 -0
  72. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/memory/providers/memori_provider.py +0 -0
  73. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/memory/tools.py +0 -0
  74. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/__init__.py +0 -0
  75. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/api_timing_tracker.py +0 -0
  76. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/elasticsearch_circuit_breaker.py +0 -0
  77. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/elasticsearch_logging.py +0 -0
  78. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/error_handling.py +0 -0
  79. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/error_logging.py +0 -0
  80. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/llm_auto_instrumentor.py +0 -0
  81. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/llm_metrics.py +0 -0
  82. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/llm_metrics_collector.py +0 -0
  83. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/llm_metrics_extractor.py +0 -0
  84. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/metrics_aggregator.py +0 -0
  85. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/metrics_config.py +0 -0
  86. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/observability_manager.py +0 -0
  87. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/otel_instrumentor.py +0 -0
  88. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/otel_logging_handler.py +0 -0
  89. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/otel_metrics_recorder.py +0 -0
  90. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/otel_setup.py +0 -0
  91. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/performance_monitor.py +0 -0
  92. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/progress_tracker.py +0 -0
  93. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/resource_manager.py +0 -0
  94. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/resource_metrics_collector.py +0 -0
  95. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/streaming_latency_tracer.py +0 -0
  96. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/timing_tracker.py +0 -0
  97. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/token_counter.py +0 -0
  98. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/monitoring/tracing_context.py +0 -0
  99. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/notifications/__init__.py +0 -0
  100. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/notifications/hub.py +0 -0
  101. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/processing/__init__.py +0 -0
  102. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/processing/ai_content_management.py +0 -0
  103. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/processing/markdown_converter.py +0 -0
  104. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/processing/multimodal_integration.py +0 -0
  105. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/processing/rich_content_validation.py +0 -0
  106. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/py.typed +0 -0
  107. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/session/__init__.py +0 -0
  108. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/session/elasticsearch_session_storage.py +0 -0
  109. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/session/session_storage.py +0 -0
  110. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/__init__.py +0 -0
  111. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/agent_mixin.py +0 -0
  112. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/base.py +0 -0
  113. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/__init__.py +0 -0
  114. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/scripts/__init__.py +0 -0
  115. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/scripts/register_to_storage.py +0 -0
  116. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/chart/SKILL.md +0 -0
  117. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/chart/chart_to_image.py +0 -0
  118. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/code_format/SKILL.md +0 -0
  119. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/code_format/format_python.py +0 -0
  120. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/csv/SKILL.md +0 -0
  121. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/csv/create_csv.py +0 -0
  122. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/csv/read_csv.py +0 -0
  123. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/csv/transform_csv.py +0 -0
  124. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/data_format/SKILL.md +0 -0
  125. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/data_format/json_to_yaml.py +0 -0
  126. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/data_format/yaml_to_json.py +0 -0
  127. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/drawio/SKILL.md +0 -0
  128. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/drawio/create_drawio.py +0 -0
  129. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/email_template/SKILL.md +0 -0
  130. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/excel/SKILL.md +0 -0
  131. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/excel/create_excel.py +0 -0
  132. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/file/SKILL.md +0 -0
  133. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/file/create_file.py +0 -0
  134. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/file/list_files.py +0 -0
  135. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/file/read_file.py +0 -0
  136. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/file_access/get_file_path.py +0 -0
  137. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/form/SKILL.md +0 -0
  138. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/image_display/SKILL.md +0 -0
  139. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/image_gen/SKILL.md +0 -0
  140. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/image_gen/create_image.py +0 -0
  141. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/image_gen/generate_image.py +0 -0
  142. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/mermaid/SKILL.md +0 -0
  143. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/mermaid/mermaid_to_image.py +0 -0
  144. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/multimodal/SKILL.md +0 -0
  145. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/optionsblock/SKILL.md +0 -0
  146. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/powerpoint/SKILL.md +0 -0
  147. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/powerpoint/create_powerpoint.py +0 -0
  148. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/skill_creator/SKILL.md +0 -0
  149. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/table/SKILL.md +0 -0
  150. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/table/table_to_image.py +0 -0
  151. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/unified_pdf/SKILL.md +0 -0
  152. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/unified_pdf/create_pdf.py +0 -0
  153. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/web_news_search/SKILL.md +0 -0
  154. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/web_news_search/web_news_search.py +0 -0
  155. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/word/SKILL.md +0 -0
  156. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/builtin/skills/word/create_word.py +0 -0
  157. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/custom_skill_manager.py +0 -0
  158. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/discovery_prompt.py +0 -0
  159. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/markdown_loader.py +0 -0
  160. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/skills/tools.py +0 -0
  161. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/storage/__init__.py +0 -0
  162. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/storage/file_storages.py +0 -0
  163. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/storage/file_system_management.py +0 -0
  164. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/storage/storage_optimizer.py +0 -0
  165. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/subagents/__init__.py +0 -0
  166. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/subagents/executor.py +0 -0
  167. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/subagents/message_injector.py +0 -0
  168. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/subagents/message_queue.py +0 -0
  169. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/subagents/retrigger.py +0 -0
  170. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/subagents/spawn_tool.py +0 -0
  171. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/tools/__init__.py +0 -0
  172. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/tools/activity_callback.py +0 -0
  173. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/tools/adaptive_pdf_css.py +0 -0
  174. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/tools/base.py +0 -0
  175. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/tools/html_content_analyzer.py +0 -0
  176. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/tools/multimodal_tools.py +0 -0
  177. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/tools/pdf_image_scaler.py +0 -0
  178. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/tools/shell_tool.py +0 -0
  179. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/tools/sizing_config.py +0 -0
  180. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/tools/web_fetch_tool.py +0 -0
  181. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/tools/web_search_tool.py +0 -0
  182. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/utils/__init__.py +0 -0
  183. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/utils/path_utils.py +0 -0
  184. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/utils/post_install.py +0 -0
  185. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/utils/session_title_generator.py +0 -0
  186. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/utils/source_detector.py +0 -0
  187. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/utils/special_blocks.py +0 -0
  188. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/__init__.py +0 -0
  189. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/admin_auth.py +0 -0
  190. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/admin_models.py +0 -0
  191. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/admin_router.py +0 -0
  192. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/admin_services.py +0 -0
  193. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/api_timing_middleware.py +0 -0
  194. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/A2A_GUIDE.md +0 -0
  195. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/BUILTIN_SKILLS_REFERENCE.md +0 -0
  196. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/CREATING_AGENTS.md +0 -0
  197. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/CUSTOM_SKILLS_GUIDE.md +0 -0
  198. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/DOCKER_SETUP.md +0 -0
  199. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/Dockerfile +0 -0
  200. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/GETTING_STARTED.md +0 -0
  201. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/MEMORY_INSTALLATION.md +0 -0
  202. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/TOOLS_AND_MCP_GUIDE.md +0 -0
  203. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/WORKSPACE_INTEGRATION.md +0 -0
  204. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/api-reference.md +0 -0
  205. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/configuration.md +0 -0
  206. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/docker-compose.yml +0 -0
  207. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/examples/agent_example_multi_skills.py +0 -0
  208. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/examples/agent_with_file_storage.py +0 -0
  209. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/examples/agent_with_mcp.py +0 -0
  210. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/examples/agent_with_memory.py +0 -0
  211. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/examples/agent_with_memory_graphiti.py +0 -0
  212. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/examples/agent_with_memory_hybrid.py +0 -0
  213. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/examples/agent_with_memory_simple.py +0 -0
  214. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/examples/custom_framework_agent.py +0 -0
  215. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/examples/simple_agent.py +0 -0
  216. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/examples/skills_demo_agent.py +0 -0
  217. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/docs/installation-guide.md +0 -0
  218. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/documentation_generator.py +0 -0
  219. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/helper_ui.html +0 -0
  220. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/modern_ui.html +0 -0
  221. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/observability/kibana-llm-dashboard-setup.json +0 -0
  222. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/observability/kibana-resource-metrics-dashboard.json +0 -0
  223. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/otel_tracing_middleware.py +0 -0
  224. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/skills_router.py +0 -0
  225. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/web/test_app.html +0 -0
  226. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/workspace/__init__.py +0 -0
  227. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/workspace/artefacts.py +0 -0
  228. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/workspace/config.py +0 -0
  229. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/workspace/context.py +0 -0
  230. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/workspace/cursor.py +0 -0
  231. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/workspace/memory.py +0 -0
  232. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/workspace/models.py +0 -0
  233. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/workspace/poller.py +0 -0
  234. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/workspace/preferences.py +0 -0
  235. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/workspace/session.py +0 -0
  236. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework/workspace/subscription.py +0 -0
  237. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework_lib.egg-info/dependency_links.txt +0 -0
  238. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework_lib.egg-info/entry_points.txt +0 -0
  239. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/agent_framework_lib.egg-info/top_level.txt +0 -0
  240. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/A2A_GUIDE.md +0 -0
  241. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/ACTIVITY_OUTPUT_PART.md +0 -0
  242. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/ARCHITECTURE_DIAGRAM.md +0 -0
  243. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/BUILTIN_SKILLS_REFERENCE.md +0 -0
  244. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/CONCURRENCE_VS_PARALLELISME_GUIDE.md +0 -0
  245. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/CREATING_AGENTS.md +0 -0
  246. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/CUSTOM_SKILLS_GUIDE.md +0 -0
  247. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/DOCKER_SETUP.md +0 -0
  248. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/ELASTICSEARCH_DATA_STRUCTURES.md +0 -0
  249. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/FILE_DOWNLOAD_LINKS.md +0 -0
  250. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/FILE_STORAGE_GUIDE.md +0 -0
  251. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/GETTING_STARTED.md +0 -0
  252. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/HISTORY_MESSAGE_FORMAT.md +0 -0
  253. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/IMPLEMENTATION_GUIDE_NEW_AGENT.md +0 -0
  254. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/MEMORY_INSTALLATION.md +0 -0
  255. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/MODIFICATIONS_CONCURRENCE.md +0 -0
  256. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/MULTIMODAL_TOOLS_GUIDE.md +0 -0
  257. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/OBSERVABILITY_GUIDE.md +0 -0
  258. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/PYPI_PUBLISHING.md +0 -0
  259. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/QA_STREAMING_LATENCY.md +0 -0
  260. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/SCREENSHOTS_GUIDE.md +0 -0
  261. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/SPEC_CROSS_MODEL_HISTORY_CONVERSION.md +0 -0
  262. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/SSE_NOTIFICATIONS_GUIDE.md +0 -0
  263. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/STREAMING_EVENTS_FRONTEND.md +0 -0
  264. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/TOOLS_AND_MCP_GUIDE.md +0 -0
  265. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/WORKSPACE_INTEGRATION.md +0 -0
  266. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/api-reference.md +0 -0
  267. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/configuration.md +0 -0
  268. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/framework_audit_remarques.md +0 -0
  269. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/index.md +0 -0
  270. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/docs/installation-guide.md +0 -0
  271. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/README.md +0 -0
  272. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/agent_context_budget_test.py +0 -0
  273. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/agent_example_multi_skills.py +0 -0
  274. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/agent_exemple_test.py +0 -0
  275. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/agent_training_with_apo.py +0 -0
  276. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/agent_with_custom_tools_file_storage.py +0 -0
  277. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/agent_with_file_storage.py +0 -0
  278. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/agent_with_mcp.py +0 -0
  279. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/agent_with_memory_graphiti.py +0 -0
  280. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/agent_with_memory_hybrid.py +0 -0
  281. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/agent_with_memory_simple.py +0 -0
  282. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/agent_with_personalization.py +0 -0
  283. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/biagenttest.py +0 -0
  284. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/custom_framework_agent.py +0 -0
  285. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/dependencies/docker-compose.yaml +0 -0
  286. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/pyproject.toml +0 -0
  287. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/simple_agent.py +0 -0
  288. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/skills_demo_agent.py +0 -0
  289. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/examples/workspace_test_agent.py +0 -0
  290. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/setup.cfg +0 -0
  291. {agent_framework_lib-0.8.1.post7 → agent_framework_lib-0.8.2}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-framework-lib
3
- Version: 0.8.1.post7
3
+ Version: 0.8.2
4
4
  Summary: A comprehensive Python framework for building and serving conversational AI agents with FastAPI
5
5
  Author-email: Sebastian Pavel <sebastian@cinco.ai>, Elliott Girard <elliott.girard@icloud.com>
6
6
  Maintainer-email: Sebastian Pavel <sebastian@cinco.ai>
@@ -89,6 +89,8 @@ Provides-Extra: excel
89
89
  Requires-Dist: openpyxl>=3.1.0; extra == "excel"
90
90
  Provides-Extra: drawio
91
91
  Requires-Dist: drawpyo>=0.1.0; extra == "drawio"
92
+ Provides-Extra: gitnexus
93
+ Requires-Dist: httpx>=0.27.0; extra == "gitnexus"
92
94
  Provides-Extra: dev
93
95
  Requires-Dist: pytest>=8.4.0; extra == "dev"
94
96
  Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
@@ -186,7 +188,7 @@ uv add agent-framework-lib[llamaindex,mcp]
186
188
  uv add agent-framework-lib[all]
187
189
  ```
188
190
 
189
- **Available extras:** `llamaindex`, `mcp`, `mongodb`, `elasticsearch`, `postgresql`, `s3`, `minio`, `gcp`, `multimodal`, `memory`, `memori`, `graphiti`, `graphiti-falkordb`, `graphiti-neo4j`, `graphiti-all`, `observability`, `monitoring`, `websearch`, `dev`, `all`
191
+ **Available extras:** `llamaindex`, `mcp`, `gitnexus`, `mongodb`, `elasticsearch`, `postgresql`, `s3`, `minio`, `gcp`, `multimodal`, `memory`, `memori`, `graphiti`, `graphiti-falkordb`, `graphiti-neo4j`, `graphiti-all`, `observability`, `monitoring`, `websearch`, `dev`, `all`
190
192
 
191
193
  **Optional: System Dependencies**
192
194
 
@@ -245,35 +247,74 @@ The framework includes a built-in AI assistant that helps you create agents! Acc
245
247
 
246
248
  **Features:**
247
249
  - 🧠 Deep knowledge of framework documentation, examples, and source code
248
- - 🔍 Search tools for docs and examples
250
+ - 🔍 **GitNexus-powered code intelligence** - 12937 symbols, 36668 relationships, 300 execution flows
249
251
  - 💡 Code generation assistance
250
252
  - 📚 Indexed knowledge base (30+ files)
251
253
  - 🗄️ Persistent knowledge graph (FalkorDB) - survives server restarts
254
+ - 🔎 Hybrid search (semantic + structural + text fallback)
252
255
 
253
256
  **Access:** `http://localhost:8000/helper`
254
257
 
258
+ ### GitNexus Setup (Recommended)
259
+
260
+ For the best experience, install and run GitNexus to enable semantic code search:
261
+
262
+ ```bash
263
+ # 1. Install and index the codebase
264
+ ./scripts/setup_gitnexus.sh
265
+
266
+ # 2. Start the GitNexus server
267
+ ./scripts/start_gitnexus_server.sh
268
+
269
+ # 3. Verify it's running
270
+ curl http://localhost:4747/health
271
+ ```
272
+
273
+ The helper agent will automatically use GitNexus if available, with graceful fallback to text search if not running.
274
+
275
+ **What GitNexus enables:**
276
+ - Semantic code search across the entire framework
277
+ - Full symbol context (callers, callees, imports, dependencies)
278
+ - Execution flow tracing (300 end-to-end code paths)
279
+ - Impact analysis and relationship queries
280
+
281
+ 📖 **[User Guide](docs/GITNEXUS_USER_GUIDE.md)** - Complete guide for using GitNexus features with the Helper Agent
282
+
283
+ **Optional dependencies:**
284
+ ```bash
285
+ # Install GitNexus support
286
+ uv add agent-framework-lib[gitnexus]
287
+ ```
288
+
255
289
  The helper agent indexes:
256
290
  - All documentation (`docs/*.md`)
257
291
  - All examples (`examples/*.py`)
292
+ - All builtin skills (`agent_framework/skills/builtin/skills/*/SKILL.md`)
258
293
  - Core framework source (tools, storage, memory, session management)
259
294
 
260
295
  **Re-indexing:** If you update documentation or examples, trigger a re-index:
261
296
  ```bash
297
+ # Re-index knowledge base
262
298
  curl -X POST http://localhost:8000/helper/reindex
299
+
300
+ # Re-index GitNexus (after code changes)
301
+ npx gitnexus analyze --embeddings
263
302
  ```
264
303
 
265
304
  **Model Configuration:**
266
305
 
267
- By default, the helper agent uses Claude (if `ANTHROPIC_API_KEY` is set) or GPT-5.2 (if `OPENAI_API_KEY` is set). You can override this with:
306
+ By default, the helper agent uses Claude (if `ANTHROPIC_API_KEY` is set) or GPT-5.4 (if `OPENAI_API_KEY` is set). You can override this with:
268
307
 
269
308
  ```env
270
309
  # Force a specific model (useful if your Anthropic key has reached its limit)
271
- HELPER_AGENT_MODEL=gpt-5.2
310
+ HELPER_AGENT_MODEL=gpt-5.4
272
311
  ```
273
312
 
274
313
  **Example questions:**
275
314
  - "How do I create an agent with memory?"
276
- - "Show me how to use PDF tools"
315
+ - "Show me the execution flow for skill loading"
316
+ - "What calls the MemoryProvider class?"
317
+ - "Find all code related to authentication"
277
318
  - "What's the difference between Memori and Graphiti?"
278
319
  - "How do I configure S3 storage?"
279
320
  - "Search the web for LlamaIndex best practices"
@@ -36,7 +36,7 @@ uv add agent-framework-lib[llamaindex,mcp]
36
36
  uv add agent-framework-lib[all]
37
37
  ```
38
38
 
39
- **Available extras:** `llamaindex`, `mcp`, `mongodb`, `elasticsearch`, `postgresql`, `s3`, `minio`, `gcp`, `multimodal`, `memory`, `memori`, `graphiti`, `graphiti-falkordb`, `graphiti-neo4j`, `graphiti-all`, `observability`, `monitoring`, `websearch`, `dev`, `all`
39
+ **Available extras:** `llamaindex`, `mcp`, `gitnexus`, `mongodb`, `elasticsearch`, `postgresql`, `s3`, `minio`, `gcp`, `multimodal`, `memory`, `memori`, `graphiti`, `graphiti-falkordb`, `graphiti-neo4j`, `graphiti-all`, `observability`, `monitoring`, `websearch`, `dev`, `all`
40
40
 
41
41
  **Optional: System Dependencies**
42
42
 
@@ -95,35 +95,74 @@ The framework includes a built-in AI assistant that helps you create agents! Acc
95
95
 
96
96
  **Features:**
97
97
  - 🧠 Deep knowledge of framework documentation, examples, and source code
98
- - 🔍 Search tools for docs and examples
98
+ - 🔍 **GitNexus-powered code intelligence** - 12937 symbols, 36668 relationships, 300 execution flows
99
99
  - 💡 Code generation assistance
100
100
  - 📚 Indexed knowledge base (30+ files)
101
101
  - 🗄️ Persistent knowledge graph (FalkorDB) - survives server restarts
102
+ - 🔎 Hybrid search (semantic + structural + text fallback)
102
103
 
103
104
  **Access:** `http://localhost:8000/helper`
104
105
 
106
+ ### GitNexus Setup (Recommended)
107
+
108
+ For the best experience, install and run GitNexus to enable semantic code search:
109
+
110
+ ```bash
111
+ # 1. Install and index the codebase
112
+ ./scripts/setup_gitnexus.sh
113
+
114
+ # 2. Start the GitNexus server
115
+ ./scripts/start_gitnexus_server.sh
116
+
117
+ # 3. Verify it's running
118
+ curl http://localhost:4747/health
119
+ ```
120
+
121
+ The helper agent will automatically use GitNexus if available, with graceful fallback to text search if not running.
122
+
123
+ **What GitNexus enables:**
124
+ - Semantic code search across the entire framework
125
+ - Full symbol context (callers, callees, imports, dependencies)
126
+ - Execution flow tracing (300 end-to-end code paths)
127
+ - Impact analysis and relationship queries
128
+
129
+ 📖 **[User Guide](docs/GITNEXUS_USER_GUIDE.md)** - Complete guide for using GitNexus features with the Helper Agent
130
+
131
+ **Optional dependencies:**
132
+ ```bash
133
+ # Install GitNexus support
134
+ uv add agent-framework-lib[gitnexus]
135
+ ```
136
+
105
137
  The helper agent indexes:
106
138
  - All documentation (`docs/*.md`)
107
139
  - All examples (`examples/*.py`)
140
+ - All builtin skills (`agent_framework/skills/builtin/skills/*/SKILL.md`)
108
141
  - Core framework source (tools, storage, memory, session management)
109
142
 
110
143
  **Re-indexing:** If you update documentation or examples, trigger a re-index:
111
144
  ```bash
145
+ # Re-index knowledge base
112
146
  curl -X POST http://localhost:8000/helper/reindex
147
+
148
+ # Re-index GitNexus (after code changes)
149
+ npx gitnexus analyze --embeddings
113
150
  ```
114
151
 
115
152
  **Model Configuration:**
116
153
 
117
- By default, the helper agent uses Claude (if `ANTHROPIC_API_KEY` is set) or GPT-5.2 (if `OPENAI_API_KEY` is set). You can override this with:
154
+ By default, the helper agent uses Claude (if `ANTHROPIC_API_KEY` is set) or GPT-5.4 (if `OPENAI_API_KEY` is set). You can override this with:
118
155
 
119
156
  ```env
120
157
  # Force a specific model (useful if your Anthropic key has reached its limit)
121
- HELPER_AGENT_MODEL=gpt-5.2
158
+ HELPER_AGENT_MODEL=gpt-5.4
122
159
  ```
123
160
 
124
161
  **Example questions:**
125
162
  - "How do I create an agent with memory?"
126
- - "Show me how to use PDF tools"
163
+ - "Show me the execution flow for skill loading"
164
+ - "What calls the MemoryProvider class?"
165
+ - "Find all code related to authentication"
127
166
  - "What's the difference between Memori and Graphiti?"
128
167
  - "How do I configure S3 storage?"
129
168
  - "Search the web for LlamaIndex best practices"
@@ -32,7 +32,7 @@ Example Usage:
32
32
  create_basic_agent_server(MyAgent, port=8000)
33
33
  ```
34
34
 
35
- Version: 0.8.1
35
+ Version: 0.8.2
36
36
  Author: Cinco AI Team
37
37
  License: MIT
38
38
  """
@@ -88,7 +88,7 @@ def _auto_setup_dependencies() -> None:
88
88
  # Track if auto-setup has been done
89
89
  _AUTO_SETUP_DONE = False
90
90
 
91
- __version__ = "0.8.1"
91
+ __version__ = "0.8.2"
92
92
  __author__ = "Cinco AI Team"
93
93
  __license__ = "MIT"
94
94
  __email__ = "sebastian@cinco.ai"
@@ -174,7 +174,7 @@ def main() -> None:
174
174
 
175
175
  upload_result = _upload_file(filepath)
176
176
 
177
- local_cleaned = _cleanup(filepath)
177
+ local_cleaned = False
178
178
 
179
179
  mime = _guess_mime(filepath)
180
180
  size_bytes = upload_result.get("size_bytes", 0)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: file_access
3
- description: "Get file paths and URLs for embedding files in documents"
3
+ description: "Get file paths, download files from storage to local disk, and resolve URLs for embedding"
4
4
  display_name: "Accès aux fichiers"
5
5
  metadata:
6
6
  config:
@@ -13,6 +13,10 @@ metadata:
13
13
  - embed image
14
14
  - image path
15
15
  - file reference
16
+ - download file
17
+ - retrieve file
18
+ - get file
19
+ - file to local
16
20
  requires:
17
21
  bins:
18
22
  - uv
@@ -20,6 +24,56 @@ metadata:
20
24
 
21
25
  ## File Access Instructions
22
26
 
27
+ This skill provides two capabilities:
28
+ 1. **Resolve file paths** on the local filesystem
29
+ 2. **Download files from storage** to the local disk (works with any backend: local, S3, MinIO, GCP)
30
+
31
+ ---
32
+
33
+ ## 1. Download File from Storage to Local Disk
34
+
35
+ Download a file from the agent's file storage to a local directory. Use this when you have a `file_id` (e.g. from a previously generated file) and need the file on disk.
36
+
37
+ ### Usage
38
+
39
+ ```bash
40
+ uv run python -m agent_framework.skills.builtin.skills.file_access.download_to_local --file-id "8e0e7208-ad96-4815-b1d4-5387f58dc526" --target-dir "/tmp"
41
+ ```
42
+
43
+ ### Arguments
44
+
45
+ | Argument | Required | Description |
46
+ |----------|----------|-------------|
47
+ | `--file-id` | Yes | The file ID to download (UUID from storage) |
48
+ | `--target-dir` | No | Local directory to save the file (default: `/tmp`) |
49
+
50
+ ### Output Format (stdout)
51
+
52
+ ```json
53
+ {"status": "success", "file": "/tmp/bonnes_pratiques.pdf", "size_bytes": 45321}
54
+ ```
55
+
56
+ ### Error Handling (stderr)
57
+
58
+ ```json
59
+ {"status": "error", "message": "Failed to download 8e0e7208-...: HTTP 404 — File not found"}
60
+ ```
61
+
62
+ ### Common Use Cases
63
+
64
+ #### Re-downloading a generated file to upload to workspace
65
+
66
+ ```bash
67
+ # 1. Download the file from storage to /tmp
68
+ uv run python -m agent_framework.skills.builtin.skills.file_access.download_to_local --file-id "8e0e7208-..." --target-dir "/tmp"
69
+
70
+ # 2. Then use upload_workspace_artefact("/tmp/filename.pdf") to share it
71
+ ```
72
+
73
+ ---
74
+
75
+ ## 2. Resolve File Path
76
+
23
77
  Resolve absolute file paths by running the `get_file_path.py` script via `shell_exec`.
24
78
 
25
79
  ### Usage
@@ -0,0 +1,128 @@
1
+ #!/usr/bin/env python3
2
+ """Download a file from the agent's storage to a local directory.
3
+
4
+ Uses the server's /files/{file_id}/download endpoint, which delegates to
5
+ FileStorageManager.retrieve_file() — so it works transparently with any
6
+ backend (local, S3, MinIO, GCP).
7
+
8
+ Reads AGENT_HOST and AGENT_PORT from environment variables (injected by
9
+ ShellTool). Auth headers are added automatically when REQUIRE_AUTH is set.
10
+ """
11
+ import argparse
12
+ import json
13
+ import os
14
+ import sys
15
+ import urllib.error
16
+ import urllib.request
17
+
18
+
19
+ def _get_auth_headers() -> dict[str, str]:
20
+ """Return auth headers if REQUIRE_AUTH is enabled."""
21
+ require_auth = os.environ.get("REQUIRE_AUTH", "false").lower() == "true"
22
+ if not require_auth:
23
+ return {}
24
+ api_keys_str = os.environ.get("API_KEYS", "").strip()
25
+ if not api_keys_str:
26
+ return {}
27
+ first_key = next((k.strip() for k in api_keys_str.split(",") if k.strip()), "")
28
+ if not first_key:
29
+ return {}
30
+ return {"X-API-Key": first_key}
31
+
32
+
33
+ def download_to_local(file_id: str, target_dir: str) -> str:
34
+ """Download a file from storage to a local directory.
35
+
36
+ Args:
37
+ file_id: The file ID in the storage system.
38
+ target_dir: Local directory where the file will be saved.
39
+
40
+ Returns:
41
+ Absolute path to the downloaded file.
42
+
43
+ Raises:
44
+ ValueError: If file_id is empty.
45
+ RuntimeError: If the download or save fails.
46
+ """
47
+ if not file_id or not file_id.strip():
48
+ raise ValueError("file_id cannot be empty")
49
+
50
+ host = os.environ.get("AGENT_HOST", "localhost")
51
+ port = os.environ.get("AGENT_PORT", "8203")
52
+
53
+ # First, get metadata to know the filename
54
+ meta_url = f"http://{host}:{port}/files/{file_id}/metadata"
55
+ meta_req = urllib.request.Request(meta_url, method="GET")
56
+ for key, value in _get_auth_headers().items():
57
+ meta_req.add_header(key, value)
58
+
59
+ try:
60
+ with urllib.request.urlopen(meta_req, timeout=30) as resp:
61
+ metadata = json.loads(resp.read().decode("utf-8"))
62
+ except urllib.error.HTTPError as e:
63
+ err = e.read().decode("utf-8", errors="replace")
64
+ raise RuntimeError(f"Failed to get metadata for {file_id}: HTTP {e.code} — {err}")
65
+ except urllib.error.URLError as e:
66
+ raise RuntimeError(f"Cannot connect to server at http://{host}:{port}: {e.reason}")
67
+
68
+ filename = metadata.get("filename", f"{file_id}.bin")
69
+
70
+ # Download the file content
71
+ download_url = f"http://{host}:{port}/files/{file_id}/download"
72
+ dl_req = urllib.request.Request(download_url, method="GET")
73
+ for key, value in _get_auth_headers().items():
74
+ dl_req.add_header(key, value)
75
+
76
+ try:
77
+ with urllib.request.urlopen(dl_req, timeout=60) as resp:
78
+ content = resp.read()
79
+ except urllib.error.HTTPError as e:
80
+ err = e.read().decode("utf-8", errors="replace")
81
+ raise RuntimeError(f"Failed to download {file_id}: HTTP {e.code} — {err}")
82
+ except urllib.error.URLError as e:
83
+ raise RuntimeError(f"Cannot connect to server at http://{host}:{port}: {e.reason}")
84
+
85
+ # Save to local directory
86
+ os.makedirs(target_dir, exist_ok=True)
87
+ filepath = os.path.join(target_dir, filename)
88
+ filepath = os.path.abspath(filepath)
89
+
90
+ with open(filepath, "wb") as f:
91
+ f.write(content)
92
+
93
+ return filepath
94
+
95
+
96
+ def main() -> None:
97
+ parser = argparse.ArgumentParser(
98
+ description="Download a file from storage to a local directory."
99
+ )
100
+ parser.add_argument(
101
+ "--file-id",
102
+ required=True,
103
+ help="The file ID to download (e.g. '8e0e7208-ad96-4815-b1d4-5387f58dc526')",
104
+ )
105
+ parser.add_argument(
106
+ "--target-dir",
107
+ default="/tmp",
108
+ help="Local directory to save the file (default: /tmp)",
109
+ )
110
+ args = parser.parse_args()
111
+
112
+ try:
113
+ filepath = download_to_local(args.file_id, args.target_dir)
114
+ print(json.dumps({
115
+ "status": "success",
116
+ "file": filepath,
117
+ "size_bytes": os.path.getsize(filepath),
118
+ }))
119
+ except Exception as e:
120
+ print(
121
+ json.dumps({"status": "error", "message": str(e)}),
122
+ file=sys.stderr,
123
+ )
124
+ sys.exit(1)
125
+
126
+
127
+ if __name__ == "__main__":
128
+ main()