agent-framework-lib 0.8.1.post4__tar.gz → 0.8.1.post6__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 (287) hide show
  1. {agent_framework_lib-0.8.1.post4/agent_framework_lib.egg-info → agent_framework_lib-0.8.1.post6}/PKG-INFO +1 -1
  2. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/discovery_prompt.py +32 -95
  3. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/workspace/artefacts.py +40 -2
  4. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6/agent_framework_lib.egg-info}/PKG-INFO +1 -1
  5. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/pyproject.toml +1 -1
  6. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/ARCHITECTURE.md +0 -0
  7. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/LICENSE +0 -0
  8. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/MANIFEST.in +0 -0
  9. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/README.md +0 -0
  10. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/__init__.py +0 -0
  11. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/a2a/__init__.py +0 -0
  12. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/a2a/base.py +0 -0
  13. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/a2a/endpoints/__init__.py +0 -0
  14. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/a2a/endpoints/a2a_router.py +0 -0
  15. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/a2a/endpoints/agent_card_builder.py +0 -0
  16. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/a2a/endpoints/agent_card_skill_builder.py +0 -0
  17. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/a2a/endpoints/jsonrpc_dispatcher.py +0 -0
  18. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/a2a/endpoints/models_jsonrpc.py +0 -0
  19. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/a2a/endpoints/sse_wrapper.py +0 -0
  20. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/a2a/endpoints/translation_layer.py +0 -0
  21. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/a2a/models.py +0 -0
  22. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/a2a/providers/__init__.py +0 -0
  23. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/a2a/providers/elasticsearch_provider.py +0 -0
  24. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/a2a/providers/postgres_provider.py +0 -0
  25. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/capabilities/__init__.py +0 -0
  26. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/capabilities/resolver.py +0 -0
  27. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/chart_generation/llm_refinement_loop.py +0 -0
  28. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/__init__.py +0 -0
  29. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/activity_formatter.py +0 -0
  30. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/agent_interface.py +0 -0
  31. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/agent_provider.py +0 -0
  32. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/base_agent.py +0 -0
  33. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/context_budget.py +0 -0
  34. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/context_summarizer.py +0 -0
  35. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/elasticsearch_config_provider.py +0 -0
  36. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/implementation_validator.py +0 -0
  37. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/knowledge_state.py +0 -0
  38. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/loop_detector.py +0 -0
  39. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/model_clients.py +0 -0
  40. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/model_config.py +0 -0
  41. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/model_router.py +0 -0
  42. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/models.py +0 -0
  43. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/provider_calibration.py +0 -0
  44. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/scratchpad_compressor.py +0 -0
  45. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/state_manager.py +0 -0
  46. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/step_display_config.py +0 -0
  47. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/core/streaming_parts_accumulator.py +0 -0
  48. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/implementations/__init__.py +0 -0
  49. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/implementations/budget_aware_agent.py +0 -0
  50. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/implementations/llamaindex_agent.py +0 -0
  51. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/implementations/llamaindex_memory_adapter.py +0 -0
  52. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/implementations/microsoft_agent.py +0 -0
  53. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/memory/__init__.py +0 -0
  54. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/memory/agent_mixin.py +0 -0
  55. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/memory/base.py +0 -0
  56. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/memory/config.py +0 -0
  57. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/memory/manager.py +0 -0
  58. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/memory/personalization.py +0 -0
  59. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/memory/providers/__init__.py +0 -0
  60. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/memory/providers/graphiti_provider.py +0 -0
  61. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/memory/providers/memori_provider.py +0 -0
  62. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/memory/tools.py +0 -0
  63. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/__init__.py +0 -0
  64. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/api_timing_tracker.py +0 -0
  65. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/elasticsearch_circuit_breaker.py +0 -0
  66. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/elasticsearch_logging.py +0 -0
  67. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/error_handling.py +0 -0
  68. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/error_logging.py +0 -0
  69. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/llm_auto_instrumentor.py +0 -0
  70. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/llm_metrics.py +0 -0
  71. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/llm_metrics_collector.py +0 -0
  72. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/llm_metrics_extractor.py +0 -0
  73. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/metrics_aggregator.py +0 -0
  74. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/metrics_config.py +0 -0
  75. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/observability_manager.py +0 -0
  76. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/otel_instrumentor.py +0 -0
  77. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/otel_logging_handler.py +0 -0
  78. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/otel_metrics_recorder.py +0 -0
  79. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/otel_setup.py +0 -0
  80. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/performance_monitor.py +0 -0
  81. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/progress_tracker.py +0 -0
  82. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/resource_manager.py +0 -0
  83. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/resource_metrics_collector.py +0 -0
  84. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/streaming_latency_tracer.py +0 -0
  85. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/timing_tracker.py +0 -0
  86. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/token_counter.py +0 -0
  87. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/monitoring/tracing_context.py +0 -0
  88. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/notifications/__init__.py +0 -0
  89. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/notifications/hub.py +0 -0
  90. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/processing/__init__.py +0 -0
  91. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/processing/ai_content_management.py +0 -0
  92. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/processing/markdown_converter.py +0 -0
  93. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/processing/multimodal_integration.py +0 -0
  94. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/processing/rich_content_validation.py +0 -0
  95. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/py.typed +0 -0
  96. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/session/__init__.py +0 -0
  97. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/session/elasticsearch_session_storage.py +0 -0
  98. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/session/session_storage.py +0 -0
  99. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/__init__.py +0 -0
  100. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/agent_mixin.py +0 -0
  101. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/base.py +0 -0
  102. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/__init__.py +0 -0
  103. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/scripts/__init__.py +0 -0
  104. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/scripts/create_and_register.py +0 -0
  105. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/scripts/register_to_storage.py +0 -0
  106. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/chart/SKILL.md +0 -0
  107. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/chart/chart_to_image.py +0 -0
  108. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/code_format/SKILL.md +0 -0
  109. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/code_format/format_python.py +0 -0
  110. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/csv/SKILL.md +0 -0
  111. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/csv/create_csv.py +0 -0
  112. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/csv/read_csv.py +0 -0
  113. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/csv/transform_csv.py +0 -0
  114. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/data_format/SKILL.md +0 -0
  115. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/data_format/json_to_yaml.py +0 -0
  116. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/data_format/yaml_to_json.py +0 -0
  117. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/drawio/SKILL.md +0 -0
  118. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/drawio/create_drawio.py +0 -0
  119. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/email_template/SKILL.md +0 -0
  120. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/excel/SKILL.md +0 -0
  121. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/excel/create_excel.py +0 -0
  122. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/file/SKILL.md +0 -0
  123. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/file/create_file.py +0 -0
  124. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/file/list_files.py +0 -0
  125. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/file/read_file.py +0 -0
  126. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/file_access/SKILL.md +0 -0
  127. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/file_access/get_file_path.py +0 -0
  128. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/form/SKILL.md +0 -0
  129. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/image_display/SKILL.md +0 -0
  130. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/image_gen/SKILL.md +0 -0
  131. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/image_gen/create_image.py +0 -0
  132. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/image_gen/generate_image.py +0 -0
  133. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/mermaid/SKILL.md +0 -0
  134. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/mermaid/mermaid_to_image.py +0 -0
  135. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/multimodal/SKILL.md +0 -0
  136. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/optionsblock/SKILL.md +0 -0
  137. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/powerpoint/SKILL.md +0 -0
  138. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/powerpoint/create_powerpoint.py +0 -0
  139. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/skill_creator/SKILL.md +0 -0
  140. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/table/SKILL.md +0 -0
  141. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/table/table_to_image.py +0 -0
  142. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/unified_pdf/SKILL.md +0 -0
  143. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/unified_pdf/create_pdf.py +0 -0
  144. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/web_news_search/SKILL.md +0 -0
  145. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/web_news_search/web_news_search.py +0 -0
  146. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/word/SKILL.md +0 -0
  147. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/builtin/skills/word/create_word.py +0 -0
  148. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/custom_skill_manager.py +0 -0
  149. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/markdown_loader.py +0 -0
  150. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/skills/tools.py +0 -0
  151. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/storage/__init__.py +0 -0
  152. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/storage/file_storages.py +0 -0
  153. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/storage/file_system_management.py +0 -0
  154. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/storage/storage_optimizer.py +0 -0
  155. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/subagents/__init__.py +0 -0
  156. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/subagents/executor.py +0 -0
  157. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/subagents/message_injector.py +0 -0
  158. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/subagents/message_queue.py +0 -0
  159. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/subagents/retrigger.py +0 -0
  160. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/subagents/spawn_tool.py +0 -0
  161. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/tools/__init__.py +0 -0
  162. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/tools/activity_callback.py +0 -0
  163. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/tools/adaptive_pdf_css.py +0 -0
  164. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/tools/base.py +0 -0
  165. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/tools/html_content_analyzer.py +0 -0
  166. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/tools/multimodal_tools.py +0 -0
  167. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/tools/pdf_image_scaler.py +0 -0
  168. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/tools/shell_tool.py +0 -0
  169. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/tools/sizing_config.py +0 -0
  170. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/tools/web_fetch_tool.py +0 -0
  171. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/tools/web_search_tool.py +0 -0
  172. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/utils/__init__.py +0 -0
  173. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/utils/path_utils.py +0 -0
  174. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/utils/post_install.py +0 -0
  175. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/utils/session_title_generator.py +0 -0
  176. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/utils/source_detector.py +0 -0
  177. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/utils/special_blocks.py +0 -0
  178. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/__init__.py +0 -0
  179. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/admin_auth.py +0 -0
  180. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/admin_models.py +0 -0
  181. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/admin_router.py +0 -0
  182. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/admin_services.py +0 -0
  183. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/api_timing_middleware.py +0 -0
  184. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/A2A_GUIDE.md +0 -0
  185. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/BUILTIN_SKILLS_REFERENCE.md +0 -0
  186. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/CREATING_AGENTS.md +0 -0
  187. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/CUSTOM_SKILLS_GUIDE.md +0 -0
  188. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/DOCKER_SETUP.md +0 -0
  189. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/Dockerfile +0 -0
  190. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/GETTING_STARTED.md +0 -0
  191. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/MEMORY_INSTALLATION.md +0 -0
  192. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/README.md +0 -0
  193. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/TOOLS_AND_MCP_GUIDE.md +0 -0
  194. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/WORKSPACE_INTEGRATION.md +0 -0
  195. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/api-reference.md +0 -0
  196. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/configuration.md +0 -0
  197. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/docker-compose.yml +0 -0
  198. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/examples/agent_example_multi_skills.py +0 -0
  199. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/examples/agent_with_file_storage.py +0 -0
  200. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/examples/agent_with_mcp.py +0 -0
  201. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/examples/agent_with_memory.py +0 -0
  202. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/examples/agent_with_memory_graphiti.py +0 -0
  203. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/examples/agent_with_memory_hybrid.py +0 -0
  204. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/examples/agent_with_memory_simple.py +0 -0
  205. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/examples/custom_framework_agent.py +0 -0
  206. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/examples/simple_agent.py +0 -0
  207. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/examples/skills_demo_agent.py +0 -0
  208. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/docs/installation-guide.md +0 -0
  209. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/documentation_generator.py +0 -0
  210. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/helper_agent.py +0 -0
  211. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/helper_ui.html +0 -0
  212. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/modern_ui.html +0 -0
  213. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/observability/kibana-llm-dashboard-setup.json +0 -0
  214. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/observability/kibana-resource-metrics-dashboard.json +0 -0
  215. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/otel_tracing_middleware.py +0 -0
  216. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/server.py +0 -0
  217. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/skills_router.py +0 -0
  218. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/web/test_app.html +0 -0
  219. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/workspace/__init__.py +0 -0
  220. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/workspace/client.py +0 -0
  221. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/workspace/config.py +0 -0
  222. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/workspace/context.py +0 -0
  223. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/workspace/cursor.py +0 -0
  224. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/workspace/memory.py +0 -0
  225. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/workspace/models.py +0 -0
  226. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/workspace/poller.py +0 -0
  227. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/workspace/preferences.py +0 -0
  228. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/workspace/router.py +0 -0
  229. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/workspace/session.py +0 -0
  230. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework/workspace/subscription.py +0 -0
  231. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework_lib.egg-info/SOURCES.txt +0 -0
  232. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework_lib.egg-info/dependency_links.txt +0 -0
  233. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework_lib.egg-info/entry_points.txt +0 -0
  234. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework_lib.egg-info/requires.txt +0 -0
  235. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/agent_framework_lib.egg-info/top_level.txt +0 -0
  236. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/A2A_GUIDE.md +0 -0
  237. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/ACTIVITY_OUTPUT_PART.md +0 -0
  238. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/ARCHITECTURE_DIAGRAM.md +0 -0
  239. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/BUILTIN_SKILLS_REFERENCE.md +0 -0
  240. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/CONCURRENCE_VS_PARALLELISME_GUIDE.md +0 -0
  241. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/CREATING_AGENTS.md +0 -0
  242. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/CUSTOM_SKILLS_GUIDE.md +0 -0
  243. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/DOCKER_SETUP.md +0 -0
  244. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/ELASTICSEARCH_DATA_STRUCTURES.md +0 -0
  245. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/FILE_DOWNLOAD_LINKS.md +0 -0
  246. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/FILE_STORAGE_GUIDE.md +0 -0
  247. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/GETTING_STARTED.md +0 -0
  248. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/HISTORY_MESSAGE_FORMAT.md +0 -0
  249. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/IMPLEMENTATION_GUIDE_NEW_AGENT.md +0 -0
  250. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/MEMORY_INSTALLATION.md +0 -0
  251. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/MODIFICATIONS_CONCURRENCE.md +0 -0
  252. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/MULTIMODAL_TOOLS_GUIDE.md +0 -0
  253. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/OBSERVABILITY_GUIDE.md +0 -0
  254. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/PYPI_PUBLISHING.md +0 -0
  255. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/QA_STREAMING_LATENCY.md +0 -0
  256. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/SCREENSHOTS_GUIDE.md +0 -0
  257. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/SPEC_CROSS_MODEL_HISTORY_CONVERSION.md +0 -0
  258. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/SSE_NOTIFICATIONS_GUIDE.md +0 -0
  259. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/STREAMING_EVENTS_FRONTEND.md +0 -0
  260. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/TOOLS_AND_MCP_GUIDE.md +0 -0
  261. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/WORKSPACE_INTEGRATION.md +0 -0
  262. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/api-reference.md +0 -0
  263. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/configuration.md +0 -0
  264. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/framework_audit_remarques.md +0 -0
  265. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/index.md +0 -0
  266. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/docs/installation-guide.md +0 -0
  267. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/README.md +0 -0
  268. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/agent_context_budget_test.py +0 -0
  269. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/agent_example_multi_skills.py +0 -0
  270. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/agent_exemple_test.py +0 -0
  271. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/agent_training_with_apo.py +0 -0
  272. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/agent_with_custom_tools_file_storage.py +0 -0
  273. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/agent_with_file_storage.py +0 -0
  274. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/agent_with_mcp.py +0 -0
  275. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/agent_with_memory_graphiti.py +0 -0
  276. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/agent_with_memory_hybrid.py +0 -0
  277. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/agent_with_memory_simple.py +0 -0
  278. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/agent_with_personalization.py +0 -0
  279. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/biagenttest.py +0 -0
  280. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/custom_framework_agent.py +0 -0
  281. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/dependencies/docker-compose.yaml +0 -0
  282. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/pyproject.toml +0 -0
  283. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/simple_agent.py +0 -0
  284. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/skills_demo_agent.py +0 -0
  285. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/examples/workspace_test_agent.py +0 -0
  286. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/setup.cfg +0 -0
  287. {agent_framework_lib-0.8.1.post4 → agent_framework_lib-0.8.1.post6}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-framework-lib
3
- Version: 0.8.1.post4
3
+ Version: 0.8.1.post6
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>
@@ -28,7 +28,15 @@ create files, render diagrams, etc.). You do NOT call Python tool functions dire
28
28
  - `load_skill(skill_name)` - Load a skill to get its instructions and tools
29
29
  - `unload_skill(skill_name)` - Unload a skill when no longer needed
30
30
 
31
- ## ⚠️ CRITICAL RULE: ALWAYS LOAD SKILLS FIRST - NO EXCEPTIONS
31
+ ## ⚠️ CRITICAL RULES NO EXCEPTIONS
32
+
33
+ ### Rule 1: DISCOVER before declining
34
+
35
+ **BEFORE saying you cannot do something, you MUST call `list_skills()` first.**
36
+ If a skill exists that could fulfill the request, load it and use it.
37
+ **NEVER tell the user you lack a capability without checking `list_skills()` first.**
38
+
39
+ ### Rule 2: LOAD before using
32
40
 
33
41
  **You MUST call `load_skill("skill_name")` BEFORE using ANY skill capability.**
34
42
  **You MUST NOT invent or assume capabilities that are not explicitly provided.**
@@ -81,113 +89,43 @@ field — use it to give the user a clickable download link.
81
89
  ### ✅ CORRECT WORKFLOW (MANDATORY):
82
90
 
83
91
  ```
84
- User asks for a chart/diagram/table/etc.
92
+ User asks for ANYTHING that might require a skill (file generation, charts,
93
+ diagrams, tables, PDFs, images, data export, etc.)
94
+
95
+ 1. Call list_skills() to discover available skills
96
+
97
+ 2. Identify the skill that matches the request
85
98
 
86
- 1. Call load_skill("skill_name") FIRST
99
+ 3. Call load_skill("skill_name") to get instructions
87
100
 
88
- 2. READ the instructions returned by load_skill
101
+ 4. READ the instructions returned by load_skill
89
102
 
90
- 3. Construct the shell command as described
103
+ 5. Construct the shell command as described
91
104
 
92
- 4. Execute via shell_exec
105
+ 6. Execute via shell_exec
93
106
  ```
94
107
 
95
- ### Example - Creating a Chart:
108
+ ### Example:
96
109
 
97
110
  **WRONG (will fail):**
98
111
  ```
99
- User: "Create a chart"
100
- Directly write ```chart JSON
101
- → Or run a script without loading the skill
102
- Result: Error or broken output!
112
+ User: "Create a diagram of our architecture"
113
+ Write raw Mermaid code in the response
114
+ → Or say "I can't create diagrams"
103
115
  ```
104
116
 
105
117
  **CORRECT:**
106
118
  ```
107
- User: "Create a chart"
108
- → Call load_skill("chart") ✅
119
+ User: "Create a diagram of our architecture"
120
+ → Call list_skills() — discover mermaid skill
121
+ → Call load_skill("mermaid") ✅
109
122
  → Read the instructions returned
110
123
  → Build the shell command as instructed
111
124
  → Execute via shell_exec ✅
112
125
  ```
113
126
 
114
- ---
115
-
116
- ## 📊 Charts & Graphs
117
-
118
- **NEVER output raw Chart.js JSON or data descriptions.**
119
- **ALWAYS load the chart skill first.**
120
-
121
- **Mandatory workflow:**
122
- 1. **FIRST:** Call `load_skill("chart")` - this is REQUIRED
123
- 2. Read the instructions returned - they tell you the exact format
124
- 3. Construct the shell command as described in the instructions
125
- 4. Execute via `shell_exec`
126
-
127
- **If you skip load_skill("chart"), your chart WILL NOT WORK.**
128
-
129
- ---
130
-
131
- ## 🔀 Diagrams (Mermaid)
132
-
133
- **NEVER output raw Mermaid code or text descriptions.**
134
- **ALWAYS load the mermaid skill first.**
135
-
136
- **Mandatory workflow:**
137
- 1. **FIRST:** Call `load_skill("mermaid")` - this is REQUIRED
138
- 2. Read the instructions returned - they tell you the exact syntax
139
- 3. Construct the shell command as described in the instructions
140
- 4. Execute via `shell_exec`
141
-
142
- **If you skip load_skill("mermaid"), your diagram WILL NOT WORK.**
143
-
144
- ---
145
-
146
- ## 📋 Tabular Data
147
-
148
- **NEVER output raw markdown tables or JSON arrays.**
149
- **ALWAYS load the table skill first.**
150
-
151
- **Mandatory workflow:**
152
- 1. **FIRST:** Call `load_skill("table")` - this is REQUIRED
153
- 2. Read the instructions returned - they tell you the exact format
154
- 3. Follow those instructions - do not invent your own format
155
- 4. Use the tabledata format as instructed
156
-
157
- **If you skip load_skill("table"), your table WILL NOT RENDER correctly.**
158
-
159
- ---
160
-
161
- ## 🚨 Options Blocks
162
-
163
- **ALWAYS end your responses with clickable options** using the ```optionsblock format.
164
-
165
- **Quick format:**
166
- ```optionsblock
167
- {
168
- "question": "What would you like to do next?",
169
- "options": [
170
- {"text": "✅ Option 1", "value": "option1"},
171
- {"text": "🔄 Option 2", "value": "option2"},
172
- {"text": "❓ Something else", "value": "other"}
173
- ]
174
- }
175
- ```
176
-
177
- For detailed instructions, call `load_skill("optionsblock")`.
178
-
179
- ---
180
-
181
- ## 🖼️ Displaying Images
182
-
183
- **NEVER use markdown syntax** `![alt](url)` to display images.
184
-
185
- **For web URLs (http/https), use JSON format directly:**
186
- ```json
187
- {"image": {"url": "https://example.com/image.png", "alt": "Description", "caption": "Optional caption"}}
188
- ```
189
-
190
- For detailed instructions, call `load_skill("image_display")`.
127
+ This applies to ALL skill-based capabilities: charts, diagrams, tables, PDFs,
128
+ Excel files, images, forms, etc. **Always discover first, then load, then use.**
191
129
 
192
130
  ---
193
131
 
@@ -204,12 +142,11 @@ For detailed instructions, call `load_skill("image_display")`.
204
142
  - ❌ Use skills that haven't been loaded via load_skill()
205
143
  - ❌ Invent new output formats or command parameters
206
144
 
207
- **If you're unsure about a capability:**
208
- 1. Call `list_skills()` to see what's available
209
- 2. Call `load_skill()` to get exact instructions
210
- 3. Follow those instructions - do not improvise
145
+ **Before telling the user something is not possible:**
146
+ 1. Call `list_skills()` to check available capabilities
147
+ 2. If a matching skill exists, load it and use it
148
+ 3. Only if NO skill matches, tell the user it's not available
211
149
 
212
- **If a capability doesn't exist, tell the user it's not available.**
213
150
  **Do NOT promise or attempt things you cannot do.**
214
151
 
215
152
  **ALWAYS RESPOND AS PRECISE AS POSSIBLE TO THE REQUEST OF THE USER**
@@ -5,6 +5,7 @@ Provides factory function to create artefact tool definitions
5
5
  """
6
6
 
7
7
  import logging
8
+ from pathlib import Path
8
9
  from typing import Any
9
10
 
10
11
  import httpx
@@ -17,6 +18,38 @@ logger = logging.getLogger(__name__)
17
18
  _DEFAULT_MAX_DOWNLOAD_SIZE = 50 * 1024 * 1024 # 50 MB
18
19
 
19
20
 
21
+ def _save_binary_to_temp(
22
+ data: bytes,
23
+ artefact_id: str,
24
+ file_name: str,
25
+ base_dir: str = "/tmp/workspace_artefacts",
26
+ ) -> Path:
27
+ """Save binary data to a temp directory and return the file path.
28
+
29
+ Args:
30
+ data: Raw file bytes.
31
+ artefact_id: Used as subdirectory name.
32
+ file_name: Original file name with extension.
33
+ base_dir: Base temp directory path.
34
+
35
+ Returns:
36
+ Absolute path to the saved file.
37
+
38
+ Raises:
39
+ OSError: If directory creation or file write fails.
40
+ """
41
+ dir_path = Path(base_dir) / artefact_id
42
+ file_path = dir_path / file_name
43
+ try:
44
+ dir_path.mkdir(parents=True, exist_ok=True)
45
+ file_path.write_bytes(data)
46
+ except OSError as exc:
47
+ raise OSError(
48
+ f"Failed to save '{file_name}' to temp directory: {exc}"
49
+ ) from exc
50
+ return file_path.resolve()
51
+
52
+
20
53
  def create_artefact_tools(
21
54
  client: WorkspaceClient,
22
55
  workspace_id: str,
@@ -108,9 +141,12 @@ def create_artefact_tools(
108
141
  try:
109
142
  return data.decode("utf-8")
110
143
  except UnicodeDecodeError:
144
+ saved_path = _save_binary_to_temp(data, target.id, target.file_name)
145
+ logger.info("Binary file saved to %s", saved_path)
111
146
  return (
112
147
  f"[Binary file: {target.file_name}, "
113
- f"{len(data)} bytes, type: {target.type}]"
148
+ f"{len(data)} bytes, saved to: {saved_path}]\n"
149
+ f"Use read_file with the path above to extract content."
114
150
  )
115
151
 
116
152
  async def upload_workspace_artefact(
@@ -153,7 +189,9 @@ def create_artefact_tools(
153
189
  "name": "download_workspace_artefact",
154
190
  "description": (
155
191
  "Download a workspace artefact by its ID. "
156
- "Returns the file content as text, or a description for binary files."
192
+ "Returns text content directly, or saves binary files locally "
193
+ "and returns the file path. Use the file skill's read_file "
194
+ "with the returned path to extract content from binary files."
157
195
  ),
158
196
  "fn": download_workspace_artefact,
159
197
  },
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-framework-lib
3
- Version: 0.8.1.post4
3
+ Version: 0.8.1.post6
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>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "agent-framework-lib"
7
- version = "0.8.1post4"
7
+ version = "0.8.1post6"
8
8
  description = "A comprehensive Python framework for building and serving conversational AI agents with FastAPI"
9
9
  readme = {file = "README.md", content-type = "text/markdown"}
10
10
  license = {text = "MIT"}