agent-framework-lib 0.8.0__tar.gz → 0.8.1.post2__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 (319) hide show
  1. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/ARCHITECTURE.md +11 -3
  2. {agent_framework_lib-0.8.0/agent_framework_lib.egg-info → agent_framework_lib-0.8.1.post2}/PKG-INFO +69 -268
  3. {agent_framework_lib-0.8.0/agent_framework/web/docs → agent_framework_lib-0.8.1.post2}/README.md +65 -267
  4. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/__init__.py +2 -2
  5. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/base_agent.py +0 -11
  6. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/implementations/llamaindex_agent.py +2 -2
  7. agent_framework_lib-0.8.1.post2/agent_framework/skills/__init__.py +62 -0
  8. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/agent_mixin.py +4 -127
  9. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/__init__.py +36 -0
  10. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/scripts/create_and_register.py +1 -0
  11. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/code_format/SKILL.md +54 -0
  12. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/code_format/format_python.py +27 -0
  13. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/csv/SKILL.md +440 -0
  14. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/csv/create_csv.py +63 -0
  15. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/csv/read_csv.py +85 -0
  16. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/csv/transform_csv.py +202 -0
  17. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/data_format/SKILL.md +70 -0
  18. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/data_format/json_to_yaml.py +16 -0
  19. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/data_format/yaml_to_json.py +16 -0
  20. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/email_template/SKILL.md +168 -0
  21. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/image_gen/SKILL.md +381 -0
  22. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/image_gen/create_image.py +297 -0
  23. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/image_gen/generate_image.py +188 -0
  24. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/powerpoint/SKILL.md +426 -0
  25. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/powerpoint/create_powerpoint.py +376 -0
  26. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/skill_creator/SKILL.md +579 -0
  27. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/word/SKILL.md +476 -0
  28. agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/word/create_word.py +301 -0
  29. agent_framework_lib-0.8.1.post2/agent_framework/tools/__init__.py +22 -0
  30. agent_framework_lib-0.8.1.post2/agent_framework/web/docs/BUILTIN_SKILLS_REFERENCE.md +580 -0
  31. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/CREATING_AGENTS.md +2 -58
  32. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/CUSTOM_SKILLS_GUIDE.md +28 -35
  33. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2/agent_framework/web/docs}/README.md +65 -267
  34. agent_framework_lib-0.8.1.post2/agent_framework/web/docs/TOOLS_AND_MCP_GUIDE.md +806 -0
  35. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/agent_example_multi_skills.py +1 -7
  36. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/skills_demo_agent.py +0 -11
  37. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/documentation_generator.py +21 -15
  38. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/config.py +9 -2
  39. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/router.py +22 -4
  40. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2/agent_framework_lib.egg-info}/PKG-INFO +69 -268
  41. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework_lib.egg-info/SOURCES.txt +21 -27
  42. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework_lib.egg-info/requires.txt +3 -0
  43. agent_framework_lib-0.8.1.post2/docs/BUILTIN_SKILLS_REFERENCE.md +580 -0
  44. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/CREATING_AGENTS.md +2 -58
  45. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/CUSTOM_SKILLS_GUIDE.md +28 -35
  46. agent_framework_lib-0.8.1.post2/docs/TOOLS_AND_MCP_GUIDE.md +806 -0
  47. agent_framework_lib-0.8.1.post2/docs/index.md +222 -0
  48. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_example_multi_skills.py +1 -7
  49. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_exemple_test.py +1 -7
  50. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_training_with_apo.py +1 -5
  51. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/skills_demo_agent.py +0 -11
  52. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/pyproject.toml +5 -1
  53. agent_framework_lib-0.8.0/agent_framework/core/rich_content_prompt_unsused_to_be_deleted.py +0 -448
  54. agent_framework_lib-0.8.0/agent_framework/skills/__init__.py +0 -169
  55. agent_framework_lib-0.8.0/agent_framework/skills/builtin/__init__.py +0 -188
  56. agent_framework_lib-0.8.0/agent_framework/skills/builtin/chart_skill.py +0 -277
  57. agent_framework_lib-0.8.0/agent_framework/skills/builtin/drawio_skill.py +0 -97
  58. agent_framework_lib-0.8.0/agent_framework/skills/builtin/excel_skill.py +0 -86
  59. agent_framework_lib-0.8.0/agent_framework/skills/builtin/file_access_skill.py +0 -145
  60. agent_framework_lib-0.8.0/agent_framework/skills/builtin/file_skill.py +0 -151
  61. agent_framework_lib-0.8.0/agent_framework/skills/builtin/form_skill.py +0 -201
  62. agent_framework_lib-0.8.0/agent_framework/skills/builtin/image_display_skill.py +0 -244
  63. agent_framework_lib-0.8.0/agent_framework/skills/builtin/mermaid_skill.py +0 -274
  64. agent_framework_lib-0.8.0/agent_framework/skills/builtin/multimodal_skill.py +0 -165
  65. agent_framework_lib-0.8.0/agent_framework/skills/builtin/optionsblock_skill.py +0 -296
  66. agent_framework_lib-0.8.0/agent_framework/skills/builtin/pdf_skill.py +0 -212
  67. agent_framework_lib-0.8.0/agent_framework/skills/builtin/pdf_with_images_skill.py +0 -201
  68. agent_framework_lib-0.8.0/agent_framework/skills/builtin/table_skill.py +0 -205
  69. agent_framework_lib-0.8.0/agent_framework/skills/builtin/unified_pdf_skill.py +0 -321
  70. agent_framework_lib-0.8.0/agent_framework/skills/builtin/web_search_skill.py +0 -114
  71. agent_framework_lib-0.8.0/agent_framework/tools/__init__.py +0 -179
  72. agent_framework_lib-0.8.0/agent_framework/tools/chart_tools.py +0 -445
  73. agent_framework_lib-0.8.0/agent_framework/tools/drawio_tools.py +0 -171
  74. agent_framework_lib-0.8.0/agent_framework/tools/excel_tools.py +0 -122
  75. agent_framework_lib-0.8.0/agent_framework/tools/file_access_tools.py +0 -100
  76. agent_framework_lib-0.8.0/agent_framework/tools/file_tools.py +0 -239
  77. agent_framework_lib-0.8.0/agent_framework/tools/mermaid_tools.py +0 -398
  78. agent_framework_lib-0.8.0/agent_framework/tools/pdf_tools.py +0 -638
  79. agent_framework_lib-0.8.0/agent_framework/tools/pdf_with_images_tool.py +0 -476
  80. agent_framework_lib-0.8.0/agent_framework/tools/tabledata_tools.py +0 -515
  81. agent_framework_lib-0.8.0/agent_framework/tools/unified_pdf_tool.py +0 -599
  82. agent_framework_lib-0.8.0/agent_framework/tools/web_search_tools.py +0 -252
  83. agent_framework_lib-0.8.0/agent_framework/web/docs/TOOLS_AND_MCP_GUIDE.md +0 -1722
  84. agent_framework_lib-0.8.0/docs/TOOLS_AND_MCP_GUIDE.md +0 -1722
  85. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/LICENSE +0 -0
  86. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/MANIFEST.in +0 -0
  87. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/__init__.py +0 -0
  88. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/base.py +0 -0
  89. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/endpoints/__init__.py +0 -0
  90. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/endpoints/a2a_router.py +0 -0
  91. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/endpoints/agent_card_builder.py +0 -0
  92. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/endpoints/agent_card_skill_builder.py +0 -0
  93. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/endpoints/jsonrpc_dispatcher.py +0 -0
  94. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/endpoints/models_jsonrpc.py +0 -0
  95. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/endpoints/sse_wrapper.py +0 -0
  96. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/endpoints/translation_layer.py +0 -0
  97. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/models.py +0 -0
  98. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/providers/__init__.py +0 -0
  99. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/providers/elasticsearch_provider.py +0 -0
  100. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/providers/postgres_provider.py +0 -0
  101. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/capabilities/__init__.py +0 -0
  102. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/capabilities/resolver.py +0 -0
  103. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/chart_generation/llm_refinement_loop.py +0 -0
  104. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/__init__.py +0 -0
  105. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/activity_formatter.py +0 -0
  106. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/agent_interface.py +0 -0
  107. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/agent_provider.py +0 -0
  108. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/context_budget.py +0 -0
  109. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/context_summarizer.py +0 -0
  110. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/elasticsearch_config_provider.py +0 -0
  111. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/implementation_validator.py +0 -0
  112. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/knowledge_state.py +0 -0
  113. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/loop_detector.py +0 -0
  114. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/model_clients.py +0 -0
  115. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/model_config.py +0 -0
  116. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/model_router.py +0 -0
  117. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/models.py +0 -0
  118. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/provider_calibration.py +0 -0
  119. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/scratchpad_compressor.py +0 -0
  120. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/state_manager.py +0 -0
  121. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/step_display_config.py +0 -0
  122. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/streaming_parts_accumulator.py +0 -0
  123. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/implementations/__init__.py +0 -0
  124. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/implementations/budget_aware_agent.py +0 -0
  125. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/implementations/llamaindex_memory_adapter.py +0 -0
  126. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/implementations/microsoft_agent.py +0 -0
  127. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/__init__.py +0 -0
  128. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/agent_mixin.py +0 -0
  129. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/base.py +0 -0
  130. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/config.py +0 -0
  131. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/manager.py +0 -0
  132. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/personalization.py +0 -0
  133. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/providers/__init__.py +0 -0
  134. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/providers/graphiti_provider.py +0 -0
  135. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/providers/memori_provider.py +0 -0
  136. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/tools.py +0 -0
  137. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/__init__.py +0 -0
  138. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/api_timing_tracker.py +0 -0
  139. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/elasticsearch_circuit_breaker.py +0 -0
  140. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/elasticsearch_logging.py +0 -0
  141. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/error_handling.py +0 -0
  142. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/error_logging.py +0 -0
  143. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/llm_auto_instrumentor.py +0 -0
  144. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/llm_metrics.py +0 -0
  145. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/llm_metrics_collector.py +0 -0
  146. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/llm_metrics_extractor.py +0 -0
  147. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/metrics_aggregator.py +0 -0
  148. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/metrics_config.py +0 -0
  149. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/observability_manager.py +0 -0
  150. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/otel_instrumentor.py +0 -0
  151. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/otel_logging_handler.py +0 -0
  152. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/otel_metrics_recorder.py +0 -0
  153. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/otel_setup.py +0 -0
  154. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/performance_monitor.py +0 -0
  155. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/progress_tracker.py +0 -0
  156. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/resource_manager.py +0 -0
  157. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/resource_metrics_collector.py +0 -0
  158. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/streaming_latency_tracer.py +0 -0
  159. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/timing_tracker.py +0 -0
  160. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/token_counter.py +0 -0
  161. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/tracing_context.py +0 -0
  162. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/notifications/__init__.py +0 -0
  163. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/notifications/hub.py +0 -0
  164. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/processing/__init__.py +0 -0
  165. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/processing/ai_content_management.py +0 -0
  166. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/processing/markdown_converter.py +0 -0
  167. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/processing/multimodal_integration.py +0 -0
  168. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/processing/rich_content_validation.py +0 -0
  169. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/py.typed +0 -0
  170. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/session/__init__.py +0 -0
  171. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/session/elasticsearch_session_storage.py +0 -0
  172. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/session/session_storage.py +0 -0
  173. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/base.py +0 -0
  174. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/scripts/__init__.py +0 -0
  175. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/scripts/register_to_storage.py +0 -0
  176. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/chart/SKILL.md +0 -0
  177. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/chart/chart_to_image.py +0 -0
  178. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/drawio/SKILL.md +0 -0
  179. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/drawio/create_drawio.py +0 -0
  180. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/excel/SKILL.md +0 -0
  181. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/excel/create_excel.py +0 -0
  182. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/file/SKILL.md +0 -0
  183. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/file/create_file.py +0 -0
  184. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/file/list_files.py +0 -0
  185. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/file/read_file.py +0 -0
  186. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/file_access/SKILL.md +0 -0
  187. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/file_access/get_file_path.py +0 -0
  188. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/form/SKILL.md +0 -0
  189. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/image_display/SKILL.md +0 -0
  190. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/mermaid/SKILL.md +0 -0
  191. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/mermaid/mermaid_to_image.py +0 -0
  192. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/multimodal/SKILL.md +0 -0
  193. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/optionsblock/SKILL.md +0 -0
  194. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/table/SKILL.md +0 -0
  195. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/table/table_to_image.py +0 -0
  196. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/unified_pdf/SKILL.md +0 -0
  197. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/unified_pdf/create_pdf.py +0 -0
  198. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/web_search/SKILL.md +0 -0
  199. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/web_search/web_news_search.py +0 -0
  200. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/web_search/web_search.py +0 -0
  201. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/custom_skill_manager.py +0 -0
  202. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/discovery_prompt.py +0 -0
  203. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/markdown_loader.py +0 -0
  204. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/tools.py +0 -0
  205. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/storage/__init__.py +0 -0
  206. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/storage/file_storages.py +0 -0
  207. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/storage/file_system_management.py +0 -0
  208. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/storage/storage_optimizer.py +0 -0
  209. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/subagents/__init__.py +0 -0
  210. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/subagents/executor.py +0 -0
  211. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/subagents/message_injector.py +0 -0
  212. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/subagents/message_queue.py +0 -0
  213. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/subagents/retrigger.py +0 -0
  214. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/subagents/spawn_tool.py +0 -0
  215. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/tools/activity_callback.py +0 -0
  216. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/tools/adaptive_pdf_css.py +0 -0
  217. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/tools/base.py +0 -0
  218. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/tools/html_content_analyzer.py +0 -0
  219. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/tools/multimodal_tools.py +0 -0
  220. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/tools/pdf_image_scaler.py +0 -0
  221. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/tools/shell_tool.py +0 -0
  222. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/tools/sizing_config.py +0 -0
  223. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/tools/web_fetch_tool.py +0 -0
  224. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/utils/__init__.py +0 -0
  225. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/utils/path_utils.py +0 -0
  226. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/utils/post_install.py +0 -0
  227. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/utils/session_title_generator.py +0 -0
  228. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/utils/source_detector.py +0 -0
  229. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/utils/special_blocks.py +0 -0
  230. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/__init__.py +0 -0
  231. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/admin_auth.py +0 -0
  232. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/admin_models.py +0 -0
  233. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/admin_router.py +0 -0
  234. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/admin_services.py +0 -0
  235. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/api_timing_middleware.py +0 -0
  236. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/A2A_GUIDE.md +0 -0
  237. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/DOCKER_SETUP.md +0 -0
  238. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/Dockerfile +0 -0
  239. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/GETTING_STARTED.md +0 -0
  240. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/MEMORY_INSTALLATION.md +0 -0
  241. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/WORKSPACE_INTEGRATION.md +0 -0
  242. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/api-reference.md +0 -0
  243. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/configuration.md +0 -0
  244. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/docker-compose.yml +0 -0
  245. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/agent_with_file_storage.py +0 -0
  246. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/agent_with_mcp.py +0 -0
  247. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/agent_with_memory.py +0 -0
  248. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/agent_with_memory_graphiti.py +0 -0
  249. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/agent_with_memory_hybrid.py +0 -0
  250. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/agent_with_memory_simple.py +0 -0
  251. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/custom_framework_agent.py +0 -0
  252. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/simple_agent.py +0 -0
  253. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/installation-guide.md +0 -0
  254. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/helper_agent.py +0 -0
  255. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/helper_ui.html +0 -0
  256. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/modern_ui.html +0 -0
  257. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/observability/kibana-llm-dashboard-setup.json +0 -0
  258. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/observability/kibana-resource-metrics-dashboard.json +0 -0
  259. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/otel_tracing_middleware.py +0 -0
  260. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/server.py +0 -0
  261. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/skills_router.py +0 -0
  262. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/test_app.html +0 -0
  263. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/__init__.py +0 -0
  264. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/artefacts.py +0 -0
  265. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/client.py +0 -0
  266. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/context.py +0 -0
  267. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/cursor.py +0 -0
  268. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/memory.py +0 -0
  269. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/models.py +0 -0
  270. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/poller.py +0 -0
  271. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/preferences.py +0 -0
  272. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/session.py +0 -0
  273. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/subscription.py +0 -0
  274. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework_lib.egg-info/dependency_links.txt +0 -0
  275. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework_lib.egg-info/entry_points.txt +0 -0
  276. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework_lib.egg-info/top_level.txt +0 -0
  277. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/A2A_GUIDE.md +0 -0
  278. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/ACTIVITY_OUTPUT_PART.md +0 -0
  279. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/ARCHITECTURE_DIAGRAM.md +0 -0
  280. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/CONCURRENCE_VS_PARALLELISME_GUIDE.md +0 -0
  281. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/DOCKER_SETUP.md +0 -0
  282. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/ELASTICSEARCH_DATA_STRUCTURES.md +0 -0
  283. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/FILE_DOWNLOAD_LINKS.md +0 -0
  284. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/FILE_STORAGE_GUIDE.md +0 -0
  285. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/GETTING_STARTED.md +0 -0
  286. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/HISTORY_MESSAGE_FORMAT.md +0 -0
  287. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/IMPLEMENTATION_GUIDE_NEW_AGENT.md +0 -0
  288. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/MEMORY_INSTALLATION.md +0 -0
  289. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/MODIFICATIONS_CONCURRENCE.md +0 -0
  290. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/MULTIMODAL_TOOLS_GUIDE.md +0 -0
  291. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/OBSERVABILITY_GUIDE.md +0 -0
  292. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/PYPI_PUBLISHING.md +0 -0
  293. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/QA_STREAMING_LATENCY.md +0 -0
  294. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/SCREENSHOTS_GUIDE.md +0 -0
  295. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/SPEC_CROSS_MODEL_HISTORY_CONVERSION.md +0 -0
  296. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/SSE_NOTIFICATIONS_GUIDE.md +0 -0
  297. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/STREAMING_EVENTS_FRONTEND.md +0 -0
  298. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/WORKSPACE_INTEGRATION.md +0 -0
  299. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/api-reference.md +0 -0
  300. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/configuration.md +0 -0
  301. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/framework_audit_remarques.md +0 -0
  302. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/installation-guide.md +0 -0
  303. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/README.md +0 -0
  304. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_context_budget_test.py +0 -0
  305. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_with_custom_tools_file_storage.py +0 -0
  306. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_with_file_storage.py +0 -0
  307. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_with_mcp.py +0 -0
  308. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_with_memory_graphiti.py +0 -0
  309. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_with_memory_hybrid.py +0 -0
  310. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_with_memory_simple.py +0 -0
  311. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_with_personalization.py +0 -0
  312. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/biagenttest.py +0 -0
  313. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/custom_framework_agent.py +0 -0
  314. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/dependencies/docker-compose.yaml +0 -0
  315. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/pyproject.toml +0 -0
  316. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/simple_agent.py +0 -0
  317. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/workspace_test_agent.py +0 -0
  318. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/setup.cfg +0 -0
  319. {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/setup.py +0 -0
@@ -47,9 +47,17 @@ agent_framework/
47
47
  │ ├── multimodal_integration.py # Multimodal processing
48
48
  │ └── ai_content_management.py # AI content management
49
49
 
50
- ├── tools/ # Reusable tools
50
+ ├── tools/ # Agent tools & utilities
51
51
  │ ├── __init__.py
52
- └── multimodal_tools.py # Multimodal processing tools
52
+ ├── base.py # AgentTool base class
53
+ │ ├── shell_tool.py # ShellTool — CLI command execution
54
+ │ ├── web_fetch_tool.py # WebFetchTool — web content fetching
55
+ │ ├── multimodal_tools.py # Multimodal processing tools
56
+ │ ├── activity_callback.py # Activity callback support
57
+ │ ├── sizing_config.py # Image sizing configuration
58
+ │ ├── pdf_image_scaler.py # PDF image scaling
59
+ │ ├── adaptive_pdf_css.py # Adaptive PDF CSS generation
60
+ │ └── html_content_analyzer.py # HTML content analysis
53
61
 
54
62
  ├── monitoring/ # Performance & monitoring
55
63
  │ ├── __init__.py
@@ -86,7 +94,7 @@ agent_framework/
86
94
  | **session/** | Session lifecycle and persistence (memory, MongoDB) |
87
95
  | **storage/** | File storage backends and management (Local, S3, MinIO) |
88
96
  | **processing/** | Content processing: markdown conversion, multimodal integration, AI content |
89
- | **tools/** | Reusable tools for various processing tasks |
97
+ | **tools/** | Agent tools: ShellTool (CLI execution), WebFetchTool (web fetching), multimodal processing, and PDF/image sizing utilities |
90
98
  | **monitoring/** | Performance monitoring, progress tracking, error handling, logging |
91
99
  | **web/** | FastAPI server, HTTP endpoints, web UI |
92
100
  | **implementations/** | Framework-specific agent implementations (LlamaIndex, Microsoft) |
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-framework-lib
3
- Version: 0.8.0
3
+ Version: 0.8.1.post2
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>
@@ -69,6 +69,9 @@ Requires-Dist: nodeenv>=1.8.0
69
69
  Requires-Dist: asyncpg>=0.31.0
70
70
  Requires-Dist: drawpyo>=0.2.5
71
71
  Requires-Dist: openpyxl>=3.1.5
72
+ Requires-Dist: python-pptx>=1.0.0
73
+ Requires-Dist: python-docx>=1.1.0
74
+ Requires-Dist: jsonschema>=4.20.0
72
75
  Provides-Extra: llamaindex
73
76
  Requires-Dist: llama-index>=0.14.16; extra == "llamaindex"
74
77
  Requires-Dist: llama-index-core>=0.14.16; extra == "llamaindex"
@@ -146,13 +149,19 @@ Dynamic: license-file
146
149
 
147
150
  # Agent Framework Library
148
151
 
152
+ [![PyPI version](https://badge.fury.io/py/agent-framework-lib.svg)](https://pypi.org/project/agent-framework-lib/)
153
+ [![Tests](https://github.com/Cinco-AI/AgentFramework/workflows/Tests%20%26%20Coverage/badge.svg)](https://github.com/Cinco-AI/AgentFramework/actions)
154
+ [![Coverage](https://codecov.io/gh/Cinco-AI/AgentFramework/branch/main/graph/badge.svg)](https://codecov.io/gh/Cinco-AI/AgentFramework)
155
+ [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
156
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
157
+ [![Documentation](https://img.shields.io/badge/docs-mkdocs-blue.svg)](https://cinco-ai.github.io/AgentFramework/)
158
+
149
159
  A comprehensive Python framework for building and serving conversational AI agents with FastAPI. Create production-ready AI agents in minutes with automatic session management, streaming responses, file storage, and easy MCP integration.
150
160
 
151
161
  **Key Features:**
152
162
  - 🚀 **Quick Setup** - Create agents in 10-15 minutes
153
163
  - 🔌 **Easy MCP Integration** - Connect to external tools effortlessly
154
- - 🛠️ **Off-the-Shelf Tools** - Pre-built tools for files, PDFs, charts, web search (DuckDuckGo), and more
155
- - 🎯 **Skills System** - On-demand capability loading for token optimization
164
+ - 🎯 **Skills System** - Markdown-based, on-demand capability loading for token optimization
156
165
  - 🔄 **Multi-Provider Support** - OpenAI, Anthropic, Gemini
157
166
  - 🎯 **Smart Model Routing** - Auto mode selects the best model per query complexity
158
167
  - 💾 **Session Management** - Automatic conversation persistence
@@ -531,94 +540,6 @@ Users can override settings per session via the API or web UI:
531
540
  - Max tokens
532
541
  - System prompt override
533
542
 
534
- ## 🛠️ Off-the-Shelf Tools
535
-
536
- The framework provides ready-to-use tools for common tasks. Import from `agent_framework.tools`:
537
-
538
- ### File Management Tools
539
-
540
- ```python
541
- from agent_framework.tools import (
542
- CreateFileTool, # Create text files
543
- ListFilesTool, # List stored files
544
- ReadFileTool, # Read file contents
545
- GetFilePathTool # Get file system path
546
- )
547
- ```
548
-
549
- ### PDF Generation Tools
550
-
551
- ```python
552
- from agent_framework.tools import (
553
- CreatePDFFromMarkdownTool, # Generate PDF from markdown
554
- CreatePDFFromHTMLTool, # Generate PDF from HTML
555
- CreatePDFWithImagesTool # Generate PDF with embedded images
556
- )
557
- ```
558
-
559
- ### Chart & Visualization Tools
560
-
561
- ```python
562
- from agent_framework.tools import (
563
- ChartToImageTool, # Convert Chart.js config to PNG
564
- MermaidToImageTool, # Convert Mermaid diagram to PNG
565
- TableToImageTool # Convert table data to PNG
566
- )
567
- ```
568
-
569
- ### Using Off-the-Shelf Tools
570
-
571
- ```python
572
- from agent_framework import LlamaIndexAgent
573
- from agent_framework.storage.file_system_management import FileStorageFactory
574
- from agent_framework.tools import CreateFileTool, ListFilesTool, CreatePDFFromMarkdownTool
575
-
576
- class MyAgent(LlamaIndexAgent):
577
- def __init__(self):
578
- super().__init__(
579
- agent_id="my_agent",
580
- name="File Agent",
581
- description="An assistant with file storage and PDF generation capabilities."
582
- )
583
- self.file_storage = None
584
-
585
- # Initialize tools
586
- self.tools = [
587
- CreateFileTool(),
588
- ListFilesTool(),
589
- CreatePDFFromMarkdownTool()
590
- ]
591
-
592
- async def _ensure_file_storage(self):
593
- if self.file_storage is None:
594
- self.file_storage = await FileStorageFactory.create_storage_manager()
595
-
596
- async def configure_session(self, session_configuration):
597
- user_id = session_configuration.get('user_id', 'default_user')
598
- session_id = session_configuration.get('session_id')
599
-
600
- await self._ensure_file_storage()
601
-
602
- # Inject dependencies into tools
603
- for tool in self.tools:
604
- tool.set_context(
605
- file_storage=self.file_storage,
606
- user_id=user_id,
607
- session_id=session_id
608
- )
609
-
610
- await super().configure_session(session_configuration)
611
-
612
- def get_agent_tools(self):
613
- return [tool.get_tool_function() for tool in self.tools]
614
- ```
615
-
616
- **Key Pattern:**
617
- 1. Instantiate tools in `__init__()`
618
- 2. Initialize file storage in `configure_session()`
619
- 3. Inject context with `tool.set_context()`
620
- 4. Return tool functions in `get_agent_tools()`
621
-
622
543
  ## 🔧 Create Custom Tools
623
544
 
624
545
  Custom tools extend your agent's capabilities. The tool name and docstring are crucial - they tell the agent when and how to use the tool.
@@ -654,43 +575,12 @@ class MyAgent(LlamaIndexAgent):
654
575
 
655
576
  ### Custom Tool with Dependencies
656
577
 
657
- For tools that need file storage or other dependencies:
578
+ For tools that need file storage or other dependencies, use closures to capture context:
658
579
 
659
580
  ```python
660
- from agent_framework.tools.base_tool import AgentTool
661
-
662
- class MyCustomTool(AgentTool):
663
- """Base class handles dependency injection."""
664
-
665
- def execute(self, param1: str, param2: int) -> str:
666
- """Process data and store results.
667
-
668
- Args:
669
- param1: Description of first parameter
670
- param2: Description of second parameter
671
-
672
- Returns:
673
- Result description
674
- """
675
- # Access injected dependencies
676
- user_id = self.user_id
677
- session_id = self.session_id
678
- file_storage = self.file_storage
679
-
680
- # Your logic here
681
- result = f"Processed {param1} with {param2}"
682
-
683
- # Store file if needed
684
- file_id = await file_storage.store_file(
685
- user_id=user_id,
686
- session_id=session_id,
687
- filename="result.txt",
688
- content=result.encode()
689
- )
690
-
691
- return f"Result stored with ID: {file_id}"
581
+ from agent_framework import LlamaIndexAgent
582
+ from agent_framework.storage.file_system_management import FileStorageFactory
692
583
 
693
- # Use in your agent
694
584
  class MyAgent(LlamaIndexAgent):
695
585
  def __init__(self):
696
586
  super().__init__(
@@ -698,19 +588,43 @@ class MyAgent(LlamaIndexAgent):
698
588
  name="My Agent",
699
589
  description="A helpful assistant with custom tools."
700
590
  )
701
- self.custom_tool = MyCustomTool()
591
+ self.file_storage = None
592
+
593
+ async def _ensure_file_storage(self):
594
+ if self.file_storage is None:
595
+ self.file_storage = await FileStorageFactory.create_storage_manager()
702
596
 
703
597
  async def configure_session(self, session_configuration):
704
- # Inject dependencies
705
- self.custom_tool.set_context(
706
- file_storage=self.file_storage,
707
- user_id=session_configuration.get('user_id'),
708
- session_id=session_configuration.get('session_id')
709
- )
598
+ await self._ensure_file_storage()
599
+ self._user_id = session_configuration.get('user_id', 'default_user')
600
+ self._session_id = session_configuration.get('session_id')
710
601
  await super().configure_session(session_configuration)
711
602
 
712
603
  def get_agent_tools(self):
713
- return [self.custom_tool.get_tool_function()]
604
+ storage = self.file_storage
605
+ user_id = self._user_id
606
+ session_id = self._session_id
607
+
608
+ async def store_result(param1: str, param2: int) -> str:
609
+ """Process data and store results.
610
+
611
+ Args:
612
+ param1: Description of first parameter
613
+ param2: Description of second parameter
614
+
615
+ Returns:
616
+ Result description
617
+ """
618
+ result = f"Processed {param1} with {param2}"
619
+ file_id = await storage.store_file(
620
+ user_id=user_id,
621
+ session_id=session_id,
622
+ filename="result.txt",
623
+ content=result.encode()
624
+ )
625
+ return f"Result stored with ID: {file_id}"
626
+
627
+ return [store_result]
714
628
  ```
715
629
 
716
630
  ### Tool Naming Best Practices
@@ -947,6 +861,8 @@ uv add agent-framework-lib[graphiti]
947
861
 
948
862
  The Skills System provides modular, on-demand capability loading that reduces token consumption by ~80%. Instead of loading all instructions into every system prompt, skills deliver detailed instructions only when needed.
949
863
 
864
+ Skills are exclusively defined as `SKILL.md` markdown files with YAML frontmatter, loaded by `MarkdownSkillLoader`. Each skill uses `ShellTool` to execute standalone CLI scripts and `WebFetchTool` for web content retrieval.
865
+
950
866
  ### How It Works
951
867
 
952
868
  ```
@@ -969,7 +885,7 @@ class MySkillsAgent(LlamaIndexAgent):
969
885
  name="Skills Agent",
970
886
  description="An agent with on-demand capabilities."
971
887
  )
972
- # Built-in skills are automatically registered by BaseAgent.__init__
888
+ # Built-in markdown skills are automatically registered by BaseAgent.__init__
973
889
 
974
890
  def get_agent_prompt(self) -> str:
975
891
  # Skills discovery prompt is automatically appended by BaseAgent
@@ -980,21 +896,35 @@ class MySkillsAgent(LlamaIndexAgent):
980
896
  return [] # Only return custom tools specific to your agent
981
897
  ```
982
898
 
983
- ### Built-in Skills
899
+ ### Built-in Skills (21 total)
984
900
 
985
901
  | Category | Skills |
986
902
  |----------|--------|
987
903
  | **Visualization** | chart, mermaid, table |
988
- | **Document** | file, unified_pdf, file_access, excel, drawio |
904
+ | **Document** | file, unified_pdf, file_access, excel, drawio, **powerpoint**, **word** |
989
905
  | **Web** | web_search |
990
- | **Multimodal** | multimodal |
991
- | **UI** | form, optionsblock, image_display |
906
+ | **Multimodal** | multimodal, **image_gen** |
907
+ | **UI** | form, optionsblock, image_display, **email_template**, **skill_creator** |
908
+ | **Data** | **csv**, **data_format** |
909
+ | **Code** | **code_format** |
910
+
911
+ **New in v0.9.0:** 8 additional skills added (in **bold**):
912
+ - **powerpoint** — Generate .pptx presentations with slides, layouts, and themes
913
+ - **word** — Create .docx documents with formatted text, tables, and images
914
+ - **image_gen** — AI image generation via DALL-E 3 and DALL-E 2
915
+ - **csv** — Create, read, and transform CSV files
916
+ - **data_format** — Convert JSON ↔ YAML and validate schemas
917
+ - **code_format** — Format Python, JavaScript, JSON, YAML code
918
+ - **email_template** — Generate responsive HTML email templates
919
+ - **skill_creator** — Guide for creating custom skills via API or code
920
+
921
+ Each skill is a `SKILL.md` file in `agent_framework/skills/builtin/skills/` with an associated CLI script executed via `ShellTool`.
992
922
 
993
923
  ### Agent Workflow
994
924
 
995
925
  1. Agent receives user request: "Create a bar chart"
996
926
  2. Agent calls `list_skills()` → sees available skills
997
- 3. Agent calls `load_skill("chart")` → gets chart instructions
927
+ 3. Agent calls `load_skill("chart")` → gets chart instructions from SKILL.md
998
928
  4. Agent constructs the shell command as described in the instructions
999
929
  5. Agent executes via `shell_exec` → script generates the chart
1000
930
  6. Optionally calls `unload_skill("chart")` when done
@@ -1074,135 +1004,6 @@ Uncheck the "Enable rich content capabilities" checkbox when creating a session.
1074
1004
  ```
1075
1005
  ````
1076
1006
 
1077
- ## 🎯 All Together: Complete Multi-Skills Agent
1078
-
1079
- Here's a complete example combining all features - MCP, off-the-shelf tools, custom tools, and format support:
1080
-
1081
- ```python
1082
- import os
1083
- from typing import List, Any, Dict
1084
- from agent_framework import LlamaIndexAgent, create_basic_agent_server
1085
- from agent_framework.storage.file_system_management import FileStorageFactory
1086
- from agent_framework.tools import (
1087
- CreateFileTool, ListFilesTool, ReadFileTool,
1088
- CreatePDFFromMarkdownTool, CreatePDFFromHTMLTool,
1089
- ChartToImageTool, MermaidToImageTool, CreatePDFWithImagesTool, TableToImageTool
1090
- )
1091
- from llama_index.tools.mcp import BasicMCPClient, McpToolSpec
1092
-
1093
- class MultiSkillsAgent(LlamaIndexAgent):
1094
- def __init__(self):
1095
- super().__init__(
1096
- agent_id="multi_skills_agent_v1",
1097
- name="Multi-Skills Agent",
1098
- description="A versatile assistant with file storage, PDF generation, charts, and MCP capabilities."
1099
- )
1100
- self.file_storage = None
1101
- self.mcp_tools = []
1102
- self._mcp_initialized = False
1103
-
1104
- # Off-the-shelf tools
1105
- self.file_tools = [
1106
- CreateFileTool(),
1107
- ListFilesTool(),
1108
- ReadFileTool(),
1109
- CreatePDFFromMarkdownTool(),
1110
- CreatePDFFromHTMLTool(),
1111
- ChartToImageTool(),
1112
- MermaidToImageTool(),
1113
- TableToImageTool(),
1114
- CreatePDFWithImagesTool()
1115
- ]
1116
-
1117
- async def _ensure_file_storage(self):
1118
- if self.file_storage is None:
1119
- self.file_storage = await FileStorageFactory.create_storage_manager()
1120
-
1121
- async def configure_session(self, session_configuration: Dict[str, Any]):
1122
- user_id = session_configuration.get('user_id', 'default_user')
1123
- session_id = session_configuration.get('session_id')
1124
-
1125
- await self._ensure_file_storage()
1126
-
1127
- # Inject context into file tools
1128
- for tool in self.file_tools:
1129
- tool.set_context(
1130
- file_storage=self.file_storage,
1131
- user_id=user_id,
1132
- session_id=session_id
1133
- )
1134
-
1135
- await super().configure_session(session_configuration)
1136
-
1137
- async def _initialize_mcp_tools(self):
1138
- if self._mcp_initialized:
1139
- return
1140
-
1141
- try:
1142
- from llama_index.tools.mcp import BasicMCPClient, McpToolSpec
1143
- except ImportError:
1144
- return
1145
-
1146
- # Configure MCP servers
1147
- mcp_configs = [
1148
- {
1149
- "command": "uvx",
1150
- "args": ["mcp-run-python", "stdio"]
1151
- }
1152
- ]
1153
-
1154
- for config in mcp_configs:
1155
- try:
1156
- client = BasicMCPClient(config["command"], args=config["args"])
1157
- mcp_tool_spec = McpToolSpec(client=client)
1158
- tools = await mcp_tool_spec.to_tool_list_async()
1159
- self.mcp_tools.extend(tools)
1160
- except Exception as e:
1161
- print(f"MCP initialization failed: {e}")
1162
-
1163
- self._mcp_initialized = True
1164
-
1165
- def get_agent_prompt(self) -> str:
1166
- return """You are a helpful assistant with multiple capabilities:
1167
-
1168
- - Execute Python code via MCP
1169
- - Create, read, and list files
1170
- - Generate PDF documents from markdown or HTML
1171
- - Create charts, mermaid diagrams, and tables
1172
- - Present forms and option blocks to users
1173
-
1174
- You can generate markdown, mermaid diagrams, charts, code blocks, forms and optionsblocks.
1175
- ALWAYS include option blocks when asking the user to select an option!
1176
-
1177
- ... See the format section above
1178
- """
1179
-
1180
- def get_agent_tools(self) -> List[callable]:
1181
- # Combine all tools
1182
- all_tools = []
1183
- all_tools.extend([tool.get_tool_function() for tool in self.file_tools])
1184
- all_tools.extend(self.mcp_tools)
1185
- return all_tools
1186
-
1187
- async def initialize_agent(self, model_name, system_prompt, tools, **kwargs):
1188
- await self._initialize_mcp_tools()
1189
- all_tools = self.get_agent_tools()
1190
- await super().initialize_agent(model_name, system_prompt, all_tools, **kwargs)
1191
-
1192
- # Start the server
1193
- if __name__ == "__main__":
1194
- create_basic_agent_server(MultiSkillsAgent, port=8000)
1195
- ```
1196
-
1197
- **Run it:**
1198
- ```bash
1199
- export OPENAI_API_KEY=sk-your-key
1200
- uv run python multi_skills_agent.py
1201
- # Open http://localhost:8000/ui
1202
- ```
1203
-
1204
- **Full example:** See `examples/agent_example_multi_skills.py` for the complete implementation with full format support prompt.
1205
-
1206
1007
  ## 🌐 Web Interface
1207
1008
 
1208
1009
  The framework includes a built-in web UI for testing and interacting with your agent.