agent-framework-lib 0.7.1__tar.gz → 0.8.1__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 (321) hide show
  1. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/ARCHITECTURE.md +11 -3
  2. {agent_framework_lib-0.7.1/agent_framework_lib.egg-info → agent_framework_lib-0.8.1}/PKG-INFO +63 -269
  3. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/README.md +59 -268
  4. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/__init__.py +2 -2
  5. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/base_agent.py +108 -20
  6. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/implementations/llamaindex_agent.py +2 -2
  7. agent_framework_lib-0.8.1/agent_framework/notifications/__init__.py +7 -0
  8. agent_framework_lib-0.8.1/agent_framework/notifications/hub.py +78 -0
  9. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/processing/rich_content_validation.py +223 -54
  10. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/session/session_storage.py +4 -0
  11. agent_framework_lib-0.8.1/agent_framework/skills/__init__.py +62 -0
  12. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/agent_mixin.py +4 -113
  13. agent_framework_lib-0.8.1/agent_framework/skills/builtin/__init__.py +36 -0
  14. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/scripts/create_and_register.py +1 -0
  15. agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/code_format/SKILL.md +54 -0
  16. agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/code_format/format_python.py +27 -0
  17. agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/csv/SKILL.md +440 -0
  18. agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/csv/create_csv.py +63 -0
  19. agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/csv/read_csv.py +85 -0
  20. agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/csv/transform_csv.py +202 -0
  21. agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/data_format/SKILL.md +70 -0
  22. agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/data_format/json_to_yaml.py +16 -0
  23. agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/data_format/yaml_to_json.py +16 -0
  24. agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/email_template/SKILL.md +168 -0
  25. agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/image_gen/SKILL.md +381 -0
  26. agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/image_gen/create_image.py +297 -0
  27. agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/image_gen/generate_image.py +188 -0
  28. agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/powerpoint/SKILL.md +426 -0
  29. agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/powerpoint/create_powerpoint.py +376 -0
  30. agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/skill_creator/SKILL.md +579 -0
  31. agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/word/SKILL.md +476 -0
  32. agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/word/create_word.py +301 -0
  33. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/discovery_prompt.py +28 -0
  34. agent_framework_lib-0.8.1/agent_framework/subagents/__init__.py +20 -0
  35. agent_framework_lib-0.8.1/agent_framework/subagents/executor.py +655 -0
  36. agent_framework_lib-0.8.1/agent_framework/subagents/message_injector.py +121 -0
  37. agent_framework_lib-0.8.1/agent_framework/subagents/message_queue.py +74 -0
  38. agent_framework_lib-0.8.1/agent_framework/subagents/retrigger.py +187 -0
  39. agent_framework_lib-0.8.1/agent_framework/subagents/spawn_tool.py +264 -0
  40. agent_framework_lib-0.8.1/agent_framework/tools/__init__.py +22 -0
  41. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/utils/post_install.py +21 -3
  42. agent_framework_lib-0.8.1/agent_framework/web/docs/BUILTIN_SKILLS_REFERENCE.md +580 -0
  43. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/CREATING_AGENTS.md +3 -56
  44. agent_framework_lib-0.8.1/agent_framework/web/docs/CUSTOM_SKILLS_GUIDE.md +1432 -0
  45. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/README.md +59 -268
  46. agent_framework_lib-0.8.1/agent_framework/web/docs/TOOLS_AND_MCP_GUIDE.md +806 -0
  47. agent_framework_lib-0.8.1/agent_framework/web/docs/WORKSPACE_INTEGRATION.md +252 -0
  48. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1/agent_framework/web/docs}/examples/agent_example_multi_skills.py +1 -7
  49. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/skills_demo_agent.py +0 -11
  50. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/documentation_generator.py +54 -23
  51. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/modern_ui.html +395 -80
  52. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/server.py +129 -0
  53. agent_framework_lib-0.8.1/agent_framework/workspace/__init__.py +53 -0
  54. agent_framework_lib-0.8.1/agent_framework/workspace/artefacts.py +168 -0
  55. agent_framework_lib-0.8.1/agent_framework/workspace/client.py +391 -0
  56. agent_framework_lib-0.8.1/agent_framework/workspace/config.py +53 -0
  57. agent_framework_lib-0.8.1/agent_framework/workspace/context.py +97 -0
  58. agent_framework_lib-0.8.1/agent_framework/workspace/cursor.py +110 -0
  59. agent_framework_lib-0.8.1/agent_framework/workspace/memory.py +172 -0
  60. agent_framework_lib-0.8.1/agent_framework/workspace/models.py +71 -0
  61. agent_framework_lib-0.8.1/agent_framework/workspace/poller.py +175 -0
  62. agent_framework_lib-0.8.1/agent_framework/workspace/preferences.py +96 -0
  63. agent_framework_lib-0.8.1/agent_framework/workspace/router.py +434 -0
  64. agent_framework_lib-0.8.1/agent_framework/workspace/session.py +247 -0
  65. agent_framework_lib-0.8.1/agent_framework/workspace/subscription.py +85 -0
  66. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1/agent_framework_lib.egg-info}/PKG-INFO +63 -269
  67. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework_lib.egg-info/SOURCES.txt +46 -28
  68. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework_lib.egg-info/requires.txt +3 -0
  69. agent_framework_lib-0.8.1/docs/BUILTIN_SKILLS_REFERENCE.md +580 -0
  70. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/CREATING_AGENTS.md +3 -56
  71. agent_framework_lib-0.8.1/docs/CUSTOM_SKILLS_GUIDE.md +1432 -0
  72. {agent_framework_lib-0.7.1/agent_framework/web → agent_framework_lib-0.8.1}/docs/GETTING_STARTED.md +12 -12
  73. agent_framework_lib-0.8.1/docs/SCREENSHOTS_GUIDE.md +201 -0
  74. agent_framework_lib-0.8.1/docs/SSE_NOTIFICATIONS_GUIDE.md +825 -0
  75. agent_framework_lib-0.8.1/docs/TOOLS_AND_MCP_GUIDE.md +806 -0
  76. agent_framework_lib-0.8.1/docs/WORKSPACE_INTEGRATION.md +252 -0
  77. {agent_framework_lib-0.7.1/agent_framework/web/docs → agent_framework_lib-0.8.1}/examples/agent_example_multi_skills.py +1 -7
  78. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/examples/agent_exemple_test.py +1 -7
  79. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/examples/agent_training_with_apo.py +1 -5
  80. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/examples/skills_demo_agent.py +0 -11
  81. agent_framework_lib-0.8.1/examples/workspace_test_agent.py +135 -0
  82. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/pyproject.toml +5 -1
  83. agent_framework_lib-0.7.1/agent_framework/core/rich_content_prompt_unsused_to_be_deleted.py +0 -448
  84. agent_framework_lib-0.7.1/agent_framework/skills/__init__.py +0 -169
  85. agent_framework_lib-0.7.1/agent_framework/skills/builtin/__init__.py +0 -188
  86. agent_framework_lib-0.7.1/agent_framework/skills/builtin/chart_skill.py +0 -277
  87. agent_framework_lib-0.7.1/agent_framework/skills/builtin/drawio_skill.py +0 -97
  88. agent_framework_lib-0.7.1/agent_framework/skills/builtin/excel_skill.py +0 -86
  89. agent_framework_lib-0.7.1/agent_framework/skills/builtin/file_access_skill.py +0 -145
  90. agent_framework_lib-0.7.1/agent_framework/skills/builtin/file_skill.py +0 -151
  91. agent_framework_lib-0.7.1/agent_framework/skills/builtin/form_skill.py +0 -201
  92. agent_framework_lib-0.7.1/agent_framework/skills/builtin/image_display_skill.py +0 -244
  93. agent_framework_lib-0.7.1/agent_framework/skills/builtin/mermaid_skill.py +0 -274
  94. agent_framework_lib-0.7.1/agent_framework/skills/builtin/multimodal_skill.py +0 -165
  95. agent_framework_lib-0.7.1/agent_framework/skills/builtin/optionsblock_skill.py +0 -296
  96. agent_framework_lib-0.7.1/agent_framework/skills/builtin/pdf_skill.py +0 -212
  97. agent_framework_lib-0.7.1/agent_framework/skills/builtin/pdf_with_images_skill.py +0 -201
  98. agent_framework_lib-0.7.1/agent_framework/skills/builtin/table_skill.py +0 -205
  99. agent_framework_lib-0.7.1/agent_framework/skills/builtin/unified_pdf_skill.py +0 -321
  100. agent_framework_lib-0.7.1/agent_framework/skills/builtin/web_search_skill.py +0 -114
  101. agent_framework_lib-0.7.1/agent_framework/subagents/__init__.py +0 -10
  102. agent_framework_lib-0.7.1/agent_framework/subagents/spawn_tool.py +0 -187
  103. agent_framework_lib-0.7.1/agent_framework/tools/__init__.py +0 -179
  104. agent_framework_lib-0.7.1/agent_framework/tools/chart_tools.py +0 -445
  105. agent_framework_lib-0.7.1/agent_framework/tools/drawio_tools.py +0 -171
  106. agent_framework_lib-0.7.1/agent_framework/tools/excel_tools.py +0 -122
  107. agent_framework_lib-0.7.1/agent_framework/tools/file_access_tools.py +0 -100
  108. agent_framework_lib-0.7.1/agent_framework/tools/file_tools.py +0 -239
  109. agent_framework_lib-0.7.1/agent_framework/tools/mermaid_tools.py +0 -398
  110. agent_framework_lib-0.7.1/agent_framework/tools/pdf_tools.py +0 -638
  111. agent_framework_lib-0.7.1/agent_framework/tools/pdf_with_images_tool.py +0 -476
  112. agent_framework_lib-0.7.1/agent_framework/tools/tabledata_tools.py +0 -515
  113. agent_framework_lib-0.7.1/agent_framework/tools/unified_pdf_tool.py +0 -599
  114. agent_framework_lib-0.7.1/agent_framework/tools/web_search_tools.py +0 -252
  115. agent_framework_lib-0.7.1/agent_framework/web/docs/TOOLS_AND_MCP_GUIDE.md +0 -1722
  116. agent_framework_lib-0.7.1/docs/SKILLS_AND_SUBAGENTS_ANALYSIS.md +0 -367
  117. agent_framework_lib-0.7.1/docs/TOOLS_AND_MCP_GUIDE.md +0 -1722
  118. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/LICENSE +0 -0
  119. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/MANIFEST.in +0 -0
  120. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/a2a/__init__.py +0 -0
  121. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/a2a/base.py +0 -0
  122. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/a2a/endpoints/__init__.py +0 -0
  123. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/a2a/endpoints/a2a_router.py +0 -0
  124. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/a2a/endpoints/agent_card_builder.py +0 -0
  125. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/a2a/endpoints/agent_card_skill_builder.py +0 -0
  126. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/a2a/endpoints/jsonrpc_dispatcher.py +0 -0
  127. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/a2a/endpoints/models_jsonrpc.py +0 -0
  128. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/a2a/endpoints/sse_wrapper.py +0 -0
  129. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/a2a/endpoints/translation_layer.py +0 -0
  130. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/a2a/models.py +0 -0
  131. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/a2a/providers/__init__.py +0 -0
  132. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/a2a/providers/elasticsearch_provider.py +0 -0
  133. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/a2a/providers/postgres_provider.py +0 -0
  134. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/capabilities/__init__.py +0 -0
  135. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/capabilities/resolver.py +0 -0
  136. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/chart_generation/llm_refinement_loop.py +0 -0
  137. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/__init__.py +0 -0
  138. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/activity_formatter.py +0 -0
  139. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/agent_interface.py +0 -0
  140. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/agent_provider.py +0 -0
  141. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/context_budget.py +0 -0
  142. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/context_summarizer.py +0 -0
  143. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/elasticsearch_config_provider.py +0 -0
  144. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/implementation_validator.py +0 -0
  145. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/knowledge_state.py +0 -0
  146. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/loop_detector.py +0 -0
  147. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/model_clients.py +0 -0
  148. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/model_config.py +0 -0
  149. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/model_router.py +0 -0
  150. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/models.py +0 -0
  151. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/provider_calibration.py +0 -0
  152. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/scratchpad_compressor.py +0 -0
  153. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/state_manager.py +0 -0
  154. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/step_display_config.py +0 -0
  155. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/core/streaming_parts_accumulator.py +0 -0
  156. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/implementations/__init__.py +0 -0
  157. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/implementations/budget_aware_agent.py +0 -0
  158. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/implementations/llamaindex_memory_adapter.py +0 -0
  159. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/implementations/microsoft_agent.py +0 -0
  160. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/memory/__init__.py +0 -0
  161. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/memory/agent_mixin.py +0 -0
  162. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/memory/base.py +0 -0
  163. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/memory/config.py +0 -0
  164. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/memory/manager.py +0 -0
  165. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/memory/personalization.py +0 -0
  166. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/memory/providers/__init__.py +0 -0
  167. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/memory/providers/graphiti_provider.py +0 -0
  168. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/memory/providers/memori_provider.py +0 -0
  169. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/memory/tools.py +0 -0
  170. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/__init__.py +0 -0
  171. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/api_timing_tracker.py +0 -0
  172. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/elasticsearch_circuit_breaker.py +0 -0
  173. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/elasticsearch_logging.py +0 -0
  174. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/error_handling.py +0 -0
  175. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/error_logging.py +0 -0
  176. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/llm_auto_instrumentor.py +0 -0
  177. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/llm_metrics.py +0 -0
  178. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/llm_metrics_collector.py +0 -0
  179. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/llm_metrics_extractor.py +0 -0
  180. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/metrics_aggregator.py +0 -0
  181. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/metrics_config.py +0 -0
  182. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/observability_manager.py +0 -0
  183. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/otel_instrumentor.py +0 -0
  184. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/otel_logging_handler.py +0 -0
  185. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/otel_metrics_recorder.py +0 -0
  186. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/otel_setup.py +0 -0
  187. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/performance_monitor.py +0 -0
  188. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/progress_tracker.py +0 -0
  189. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/resource_manager.py +0 -0
  190. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/resource_metrics_collector.py +0 -0
  191. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/streaming_latency_tracer.py +0 -0
  192. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/timing_tracker.py +0 -0
  193. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/token_counter.py +0 -0
  194. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/monitoring/tracing_context.py +0 -0
  195. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/processing/__init__.py +0 -0
  196. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/processing/ai_content_management.py +0 -0
  197. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/processing/markdown_converter.py +0 -0
  198. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/processing/multimodal_integration.py +0 -0
  199. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/py.typed +0 -0
  200. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/session/__init__.py +0 -0
  201. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/session/elasticsearch_session_storage.py +0 -0
  202. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/base.py +0 -0
  203. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/scripts/__init__.py +0 -0
  204. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/scripts/register_to_storage.py +0 -0
  205. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/chart/SKILL.md +0 -0
  206. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/chart/chart_to_image.py +0 -0
  207. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/drawio/SKILL.md +0 -0
  208. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/drawio/create_drawio.py +0 -0
  209. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/excel/SKILL.md +0 -0
  210. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/excel/create_excel.py +0 -0
  211. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/file/SKILL.md +0 -0
  212. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/file/create_file.py +0 -0
  213. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/file/list_files.py +0 -0
  214. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/file/read_file.py +0 -0
  215. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/file_access/SKILL.md +0 -0
  216. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/file_access/get_file_path.py +0 -0
  217. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/form/SKILL.md +0 -0
  218. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/image_display/SKILL.md +0 -0
  219. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/mermaid/SKILL.md +0 -0
  220. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/mermaid/mermaid_to_image.py +0 -0
  221. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/multimodal/SKILL.md +0 -0
  222. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/optionsblock/SKILL.md +0 -0
  223. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/table/SKILL.md +0 -0
  224. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/table/table_to_image.py +0 -0
  225. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/unified_pdf/SKILL.md +0 -0
  226. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/unified_pdf/create_pdf.py +0 -0
  227. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/web_search/SKILL.md +0 -0
  228. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/web_search/web_news_search.py +0 -0
  229. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/web_search/web_search.py +0 -0
  230. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/custom_skill_manager.py +0 -0
  231. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/markdown_loader.py +0 -0
  232. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/skills/tools.py +0 -0
  233. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/storage/__init__.py +0 -0
  234. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/storage/file_storages.py +0 -0
  235. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/storage/file_system_management.py +0 -0
  236. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/storage/storage_optimizer.py +0 -0
  237. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/tools/activity_callback.py +0 -0
  238. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/tools/adaptive_pdf_css.py +0 -0
  239. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/tools/base.py +0 -0
  240. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/tools/html_content_analyzer.py +0 -0
  241. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/tools/multimodal_tools.py +0 -0
  242. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/tools/pdf_image_scaler.py +0 -0
  243. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/tools/shell_tool.py +0 -0
  244. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/tools/sizing_config.py +0 -0
  245. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/tools/web_fetch_tool.py +0 -0
  246. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/utils/__init__.py +0 -0
  247. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/utils/path_utils.py +0 -0
  248. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/utils/session_title_generator.py +0 -0
  249. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/utils/source_detector.py +0 -0
  250. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/utils/special_blocks.py +0 -0
  251. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/__init__.py +0 -0
  252. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/admin_auth.py +0 -0
  253. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/admin_models.py +0 -0
  254. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/admin_router.py +0 -0
  255. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/admin_services.py +0 -0
  256. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/api_timing_middleware.py +0 -0
  257. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/A2A_GUIDE.md +0 -0
  258. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/DOCKER_SETUP.md +0 -0
  259. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/Dockerfile +0 -0
  260. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1/agent_framework/web}/docs/GETTING_STARTED.md +0 -0
  261. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/MEMORY_INSTALLATION.md +0 -0
  262. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/api-reference.md +0 -0
  263. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/configuration.md +0 -0
  264. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/docker-compose.yml +0 -0
  265. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/agent_with_file_storage.py +0 -0
  266. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/agent_with_mcp.py +0 -0
  267. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/agent_with_memory.py +0 -0
  268. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/agent_with_memory_graphiti.py +0 -0
  269. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/agent_with_memory_hybrid.py +0 -0
  270. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/agent_with_memory_simple.py +0 -0
  271. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/custom_framework_agent.py +0 -0
  272. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/simple_agent.py +0 -0
  273. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/docs/installation-guide.md +0 -0
  274. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/helper_agent.py +0 -0
  275. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/helper_ui.html +0 -0
  276. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/observability/kibana-llm-dashboard-setup.json +0 -0
  277. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/observability/kibana-resource-metrics-dashboard.json +0 -0
  278. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/otel_tracing_middleware.py +0 -0
  279. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/skills_router.py +0 -0
  280. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework/web/test_app.html +0 -0
  281. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework_lib.egg-info/dependency_links.txt +0 -0
  282. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework_lib.egg-info/entry_points.txt +0 -0
  283. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/agent_framework_lib.egg-info/top_level.txt +0 -0
  284. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/A2A_GUIDE.md +0 -0
  285. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/ACTIVITY_OUTPUT_PART.md +0 -0
  286. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/ARCHITECTURE_DIAGRAM.md +0 -0
  287. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/CONCURRENCE_VS_PARALLELISME_GUIDE.md +0 -0
  288. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/DOCKER_SETUP.md +0 -0
  289. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/ELASTICSEARCH_DATA_STRUCTURES.md +0 -0
  290. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/FILE_DOWNLOAD_LINKS.md +0 -0
  291. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/FILE_STORAGE_GUIDE.md +0 -0
  292. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/HISTORY_MESSAGE_FORMAT.md +0 -0
  293. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/IMPLEMENTATION_GUIDE_NEW_AGENT.md +0 -0
  294. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/MEMORY_INSTALLATION.md +0 -0
  295. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/MODIFICATIONS_CONCURRENCE.md +0 -0
  296. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/MULTIMODAL_TOOLS_GUIDE.md +0 -0
  297. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/OBSERVABILITY_GUIDE.md +0 -0
  298. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/PYPI_PUBLISHING.md +0 -0
  299. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/QA_STREAMING_LATENCY.md +0 -0
  300. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/SPEC_CROSS_MODEL_HISTORY_CONVERSION.md +0 -0
  301. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/STREAMING_EVENTS_FRONTEND.md +0 -0
  302. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/api-reference.md +0 -0
  303. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/configuration.md +0 -0
  304. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/framework_audit_remarques.md +0 -0
  305. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/docs/installation-guide.md +0 -0
  306. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/examples/README.md +0 -0
  307. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/examples/agent_context_budget_test.py +0 -0
  308. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/examples/agent_with_custom_tools_file_storage.py +0 -0
  309. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/examples/agent_with_file_storage.py +0 -0
  310. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/examples/agent_with_mcp.py +0 -0
  311. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/examples/agent_with_memory_graphiti.py +0 -0
  312. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/examples/agent_with_memory_hybrid.py +0 -0
  313. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/examples/agent_with_memory_simple.py +0 -0
  314. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/examples/agent_with_personalization.py +0 -0
  315. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/examples/biagenttest.py +0 -0
  316. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/examples/custom_framework_agent.py +0 -0
  317. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/examples/dependencies/docker-compose.yaml +0 -0
  318. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/examples/pyproject.toml +0 -0
  319. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/examples/simple_agent.py +0 -0
  320. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/setup.cfg +0 -0
  321. {agent_framework_lib-0.7.1 → agent_framework_lib-0.8.1}/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.7.1
3
+ Version: 0.8.1
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"
@@ -151,8 +154,7 @@ A comprehensive Python framework for building and serving conversational AI agen
151
154
  **Key Features:**
152
155
  - 🚀 **Quick Setup** - Create agents in 10-15 minutes
153
156
  - 🔌 **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
157
+ - 🎯 **Skills System** - Markdown-based, on-demand capability loading for token optimization
156
158
  - 🔄 **Multi-Provider Support** - OpenAI, Anthropic, Gemini
157
159
  - 🎯 **Smart Model Routing** - Auto mode selects the best model per query complexity
158
160
  - 💾 **Session Management** - Automatic conversation persistence
@@ -531,94 +533,6 @@ Users can override settings per session via the API or web UI:
531
533
  - Max tokens
532
534
  - System prompt override
533
535
 
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
536
  ## 🔧 Create Custom Tools
623
537
 
624
538
  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 +568,12 @@ class MyAgent(LlamaIndexAgent):
654
568
 
655
569
  ### Custom Tool with Dependencies
656
570
 
657
- For tools that need file storage or other dependencies:
571
+ For tools that need file storage or other dependencies, use closures to capture context:
658
572
 
659
573
  ```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}"
574
+ from agent_framework import LlamaIndexAgent
575
+ from agent_framework.storage.file_system_management import FileStorageFactory
692
576
 
693
- # Use in your agent
694
577
  class MyAgent(LlamaIndexAgent):
695
578
  def __init__(self):
696
579
  super().__init__(
@@ -698,19 +581,43 @@ class MyAgent(LlamaIndexAgent):
698
581
  name="My Agent",
699
582
  description="A helpful assistant with custom tools."
700
583
  )
701
- self.custom_tool = MyCustomTool()
584
+ self.file_storage = None
585
+
586
+ async def _ensure_file_storage(self):
587
+ if self.file_storage is None:
588
+ self.file_storage = await FileStorageFactory.create_storage_manager()
702
589
 
703
590
  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
- )
591
+ await self._ensure_file_storage()
592
+ self._user_id = session_configuration.get('user_id', 'default_user')
593
+ self._session_id = session_configuration.get('session_id')
710
594
  await super().configure_session(session_configuration)
711
595
 
712
596
  def get_agent_tools(self):
713
- return [self.custom_tool.get_tool_function()]
597
+ storage = self.file_storage
598
+ user_id = self._user_id
599
+ session_id = self._session_id
600
+
601
+ async def store_result(param1: str, param2: int) -> str:
602
+ """Process data and store results.
603
+
604
+ Args:
605
+ param1: Description of first parameter
606
+ param2: Description of second parameter
607
+
608
+ Returns:
609
+ Result description
610
+ """
611
+ result = f"Processed {param1} with {param2}"
612
+ file_id = await storage.store_file(
613
+ user_id=user_id,
614
+ session_id=session_id,
615
+ filename="result.txt",
616
+ content=result.encode()
617
+ )
618
+ return f"Result stored with ID: {file_id}"
619
+
620
+ return [store_result]
714
621
  ```
715
622
 
716
623
  ### Tool Naming Best Practices
@@ -947,6 +854,8 @@ uv add agent-framework-lib[graphiti]
947
854
 
948
855
  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
856
 
857
+ 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.
858
+
950
859
  ### How It Works
951
860
 
952
861
  ```
@@ -969,7 +878,7 @@ class MySkillsAgent(LlamaIndexAgent):
969
878
  name="Skills Agent",
970
879
  description="An agent with on-demand capabilities."
971
880
  )
972
- # Built-in skills are automatically registered by BaseAgent.__init__
881
+ # Built-in markdown skills are automatically registered by BaseAgent.__init__
973
882
 
974
883
  def get_agent_prompt(self) -> str:
975
884
  # Skills discovery prompt is automatically appended by BaseAgent
@@ -980,26 +889,40 @@ class MySkillsAgent(LlamaIndexAgent):
980
889
  return [] # Only return custom tools specific to your agent
981
890
  ```
982
891
 
983
- ### Built-in Skills
892
+ ### Built-in Skills (21 total)
984
893
 
985
894
  | Category | Skills |
986
895
  |----------|--------|
987
896
  | **Visualization** | chart, mermaid, table |
988
- | **Document** | file, unified_pdf, file_access, excel, drawio |
897
+ | **Document** | file, unified_pdf, file_access, excel, drawio, **powerpoint**, **word** |
989
898
  | **Web** | web_search |
990
- | **Multimodal** | multimodal |
991
- | **UI** | form, optionsblock, image_display |
899
+ | **Multimodal** | multimodal, **image_gen** |
900
+ | **UI** | form, optionsblock, image_display, **email_template**, **skill_creator** |
901
+ | **Data** | **csv**, **data_format** |
902
+ | **Code** | **code_format** |
903
+
904
+ **New in v0.9.0:** 8 additional skills added (in **bold**):
905
+ - **powerpoint** — Generate .pptx presentations with slides, layouts, and themes
906
+ - **word** — Create .docx documents with formatted text, tables, and images
907
+ - **image_gen** — AI image generation via DALL-E 3 and DALL-E 2
908
+ - **csv** — Create, read, and transform CSV files
909
+ - **data_format** — Convert JSON ↔ YAML and validate schemas
910
+ - **code_format** — Format Python, JavaScript, JSON, YAML code
911
+ - **email_template** — Generate responsive HTML email templates
912
+ - **skill_creator** — Guide for creating custom skills via API or code
913
+
914
+ Each skill is a `SKILL.md` file in `agent_framework/skills/builtin/skills/` with an associated CLI script executed via `ShellTool`.
992
915
 
993
916
  ### Agent Workflow
994
917
 
995
918
  1. Agent receives user request: "Create a bar chart"
996
919
  2. Agent calls `list_skills()` → sees available skills
997
- 3. Agent calls `load_skill("chart")` → gets chart instructions
920
+ 3. Agent calls `load_skill("chart")` → gets chart instructions from SKILL.md
998
921
  4. Agent constructs the shell command as described in the instructions
999
922
  5. Agent executes via `shell_exec` → script generates the chart
1000
923
  6. Optionally calls `unload_skill("chart")` when done
1001
924
 
1002
- **More info:** See [Creating Agents Guide](docs/CREATING_AGENTS.md#skills-integration) and [skills_demo_agent.py](examples/skills_demo_agent.py)
925
+ **More info:** See [Custom Skills Guide](docs/CUSTOM_SKILLS_GUIDE.md), [Creating Agents Guide](docs/CREATING_AGENTS.md#skills-integration) and [skills_demo_agent.py](examples/skills_demo_agent.py)
1003
926
 
1004
927
  ## 📝 Rich Content Capabilities (Automatic)
1005
928
 
@@ -1074,135 +997,6 @@ Uncheck the "Enable rich content capabilities" checkbox when creating a session.
1074
997
  ```
1075
998
  ````
1076
999
 
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
1000
  ## 🌐 Web Interface
1207
1001
 
1208
1002
  The framework includes a built-in web UI for testing and interacting with your agent.