agent-framework-lib 0.8.0__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.
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/ARCHITECTURE.md +11 -3
- {agent_framework_lib-0.8.0/agent_framework_lib.egg-info → agent_framework_lib-0.8.1}/PKG-INFO +62 -268
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/README.md +58 -267
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/__init__.py +2 -2
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/base_agent.py +0 -11
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/implementations/llamaindex_agent.py +2 -2
- agent_framework_lib-0.8.1/agent_framework/skills/__init__.py +62 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/agent_mixin.py +4 -127
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/__init__.py +36 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/scripts/create_and_register.py +1 -0
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/code_format/SKILL.md +54 -0
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/code_format/format_python.py +27 -0
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/csv/SKILL.md +440 -0
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/csv/create_csv.py +63 -0
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/csv/read_csv.py +85 -0
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/csv/transform_csv.py +202 -0
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/data_format/SKILL.md +70 -0
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/data_format/json_to_yaml.py +16 -0
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/data_format/yaml_to_json.py +16 -0
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/email_template/SKILL.md +168 -0
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/image_gen/SKILL.md +381 -0
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/image_gen/create_image.py +297 -0
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/image_gen/generate_image.py +188 -0
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/powerpoint/SKILL.md +426 -0
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/powerpoint/create_powerpoint.py +376 -0
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/skill_creator/SKILL.md +579 -0
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/word/SKILL.md +476 -0
- agent_framework_lib-0.8.1/agent_framework/skills/builtin/skills/word/create_word.py +301 -0
- agent_framework_lib-0.8.1/agent_framework/tools/__init__.py +22 -0
- agent_framework_lib-0.8.1/agent_framework/web/docs/BUILTIN_SKILLS_REFERENCE.md +580 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/CREATING_AGENTS.md +2 -58
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/CUSTOM_SKILLS_GUIDE.md +28 -35
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/README.md +58 -267
- agent_framework_lib-0.8.1/agent_framework/web/docs/TOOLS_AND_MCP_GUIDE.md +806 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/agent_example_multi_skills.py +1 -7
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/skills_demo_agent.py +0 -11
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/documentation_generator.py +21 -15
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/workspace/config.py +9 -2
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/workspace/router.py +17 -3
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1/agent_framework_lib.egg-info}/PKG-INFO +62 -268
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework_lib.egg-info/SOURCES.txt +20 -27
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework_lib.egg-info/requires.txt +3 -0
- agent_framework_lib-0.8.1/docs/BUILTIN_SKILLS_REFERENCE.md +580 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/CREATING_AGENTS.md +2 -58
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/CUSTOM_SKILLS_GUIDE.md +28 -35
- agent_framework_lib-0.8.1/docs/TOOLS_AND_MCP_GUIDE.md +806 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/agent_example_multi_skills.py +1 -7
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/agent_exemple_test.py +1 -7
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/agent_training_with_apo.py +1 -5
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/skills_demo_agent.py +0 -11
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/pyproject.toml +5 -1
- agent_framework_lib-0.8.0/agent_framework/core/rich_content_prompt_unsused_to_be_deleted.py +0 -448
- agent_framework_lib-0.8.0/agent_framework/skills/__init__.py +0 -169
- agent_framework_lib-0.8.0/agent_framework/skills/builtin/__init__.py +0 -188
- agent_framework_lib-0.8.0/agent_framework/skills/builtin/chart_skill.py +0 -277
- agent_framework_lib-0.8.0/agent_framework/skills/builtin/drawio_skill.py +0 -97
- agent_framework_lib-0.8.0/agent_framework/skills/builtin/excel_skill.py +0 -86
- agent_framework_lib-0.8.0/agent_framework/skills/builtin/file_access_skill.py +0 -145
- agent_framework_lib-0.8.0/agent_framework/skills/builtin/file_skill.py +0 -151
- agent_framework_lib-0.8.0/agent_framework/skills/builtin/form_skill.py +0 -201
- agent_framework_lib-0.8.0/agent_framework/skills/builtin/image_display_skill.py +0 -244
- agent_framework_lib-0.8.0/agent_framework/skills/builtin/mermaid_skill.py +0 -274
- agent_framework_lib-0.8.0/agent_framework/skills/builtin/multimodal_skill.py +0 -165
- agent_framework_lib-0.8.0/agent_framework/skills/builtin/optionsblock_skill.py +0 -296
- agent_framework_lib-0.8.0/agent_framework/skills/builtin/pdf_skill.py +0 -212
- agent_framework_lib-0.8.0/agent_framework/skills/builtin/pdf_with_images_skill.py +0 -201
- agent_framework_lib-0.8.0/agent_framework/skills/builtin/table_skill.py +0 -205
- agent_framework_lib-0.8.0/agent_framework/skills/builtin/unified_pdf_skill.py +0 -321
- agent_framework_lib-0.8.0/agent_framework/skills/builtin/web_search_skill.py +0 -114
- agent_framework_lib-0.8.0/agent_framework/tools/__init__.py +0 -179
- agent_framework_lib-0.8.0/agent_framework/tools/chart_tools.py +0 -445
- agent_framework_lib-0.8.0/agent_framework/tools/drawio_tools.py +0 -171
- agent_framework_lib-0.8.0/agent_framework/tools/excel_tools.py +0 -122
- agent_framework_lib-0.8.0/agent_framework/tools/file_access_tools.py +0 -100
- agent_framework_lib-0.8.0/agent_framework/tools/file_tools.py +0 -239
- agent_framework_lib-0.8.0/agent_framework/tools/mermaid_tools.py +0 -398
- agent_framework_lib-0.8.0/agent_framework/tools/pdf_tools.py +0 -638
- agent_framework_lib-0.8.0/agent_framework/tools/pdf_with_images_tool.py +0 -476
- agent_framework_lib-0.8.0/agent_framework/tools/tabledata_tools.py +0 -515
- agent_framework_lib-0.8.0/agent_framework/tools/unified_pdf_tool.py +0 -599
- agent_framework_lib-0.8.0/agent_framework/tools/web_search_tools.py +0 -252
- agent_framework_lib-0.8.0/agent_framework/web/docs/TOOLS_AND_MCP_GUIDE.md +0 -1722
- agent_framework_lib-0.8.0/docs/TOOLS_AND_MCP_GUIDE.md +0 -1722
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/LICENSE +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/MANIFEST.in +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/a2a/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/a2a/base.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/a2a/endpoints/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/a2a/endpoints/a2a_router.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/a2a/endpoints/agent_card_builder.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/a2a/endpoints/agent_card_skill_builder.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/a2a/endpoints/jsonrpc_dispatcher.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/a2a/endpoints/models_jsonrpc.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/a2a/endpoints/sse_wrapper.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/a2a/endpoints/translation_layer.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/a2a/models.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/a2a/providers/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/a2a/providers/elasticsearch_provider.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/a2a/providers/postgres_provider.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/capabilities/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/capabilities/resolver.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/chart_generation/llm_refinement_loop.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/activity_formatter.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/agent_interface.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/agent_provider.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/context_budget.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/context_summarizer.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/elasticsearch_config_provider.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/implementation_validator.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/knowledge_state.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/loop_detector.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/model_clients.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/model_config.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/model_router.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/models.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/provider_calibration.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/scratchpad_compressor.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/state_manager.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/step_display_config.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/core/streaming_parts_accumulator.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/implementations/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/implementations/budget_aware_agent.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/implementations/llamaindex_memory_adapter.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/implementations/microsoft_agent.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/memory/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/memory/agent_mixin.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/memory/base.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/memory/config.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/memory/manager.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/memory/personalization.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/memory/providers/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/memory/providers/graphiti_provider.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/memory/providers/memori_provider.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/memory/tools.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/api_timing_tracker.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/elasticsearch_circuit_breaker.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/elasticsearch_logging.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/error_handling.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/error_logging.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/llm_auto_instrumentor.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/llm_metrics.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/llm_metrics_collector.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/llm_metrics_extractor.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/metrics_aggregator.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/metrics_config.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/observability_manager.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/otel_instrumentor.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/otel_logging_handler.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/otel_metrics_recorder.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/otel_setup.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/performance_monitor.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/progress_tracker.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/resource_manager.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/resource_metrics_collector.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/streaming_latency_tracer.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/timing_tracker.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/token_counter.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/monitoring/tracing_context.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/notifications/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/notifications/hub.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/processing/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/processing/ai_content_management.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/processing/markdown_converter.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/processing/multimodal_integration.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/processing/rich_content_validation.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/py.typed +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/session/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/session/elasticsearch_session_storage.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/session/session_storage.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/base.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/scripts/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/scripts/register_to_storage.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/chart/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/chart/chart_to_image.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/drawio/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/drawio/create_drawio.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/excel/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/excel/create_excel.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/file/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/file/create_file.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/file/list_files.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/file/read_file.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/file_access/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/file_access/get_file_path.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/form/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/image_display/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/mermaid/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/mermaid/mermaid_to_image.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/multimodal/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/optionsblock/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/table/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/table/table_to_image.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/unified_pdf/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/unified_pdf/create_pdf.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/web_search/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/web_search/web_news_search.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/builtin/skills/web_search/web_search.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/custom_skill_manager.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/discovery_prompt.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/markdown_loader.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/skills/tools.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/storage/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/storage/file_storages.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/storage/file_system_management.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/storage/storage_optimizer.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/subagents/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/subagents/executor.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/subagents/message_injector.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/subagents/message_queue.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/subagents/retrigger.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/subagents/spawn_tool.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/tools/activity_callback.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/tools/adaptive_pdf_css.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/tools/base.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/tools/html_content_analyzer.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/tools/multimodal_tools.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/tools/pdf_image_scaler.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/tools/shell_tool.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/tools/sizing_config.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/tools/web_fetch_tool.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/utils/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/utils/path_utils.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/utils/post_install.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/utils/session_title_generator.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/utils/source_detector.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/utils/special_blocks.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/admin_auth.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/admin_models.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/admin_router.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/admin_services.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/api_timing_middleware.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/A2A_GUIDE.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/DOCKER_SETUP.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/Dockerfile +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/GETTING_STARTED.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/MEMORY_INSTALLATION.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/WORKSPACE_INTEGRATION.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/api-reference.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/configuration.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/docker-compose.yml +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/agent_with_file_storage.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/agent_with_mcp.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/agent_with_memory.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/agent_with_memory_graphiti.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/agent_with_memory_hybrid.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/agent_with_memory_simple.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/custom_framework_agent.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/examples/simple_agent.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/docs/installation-guide.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/helper_agent.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/helper_ui.html +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/modern_ui.html +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/observability/kibana-llm-dashboard-setup.json +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/observability/kibana-resource-metrics-dashboard.json +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/otel_tracing_middleware.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/server.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/skills_router.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/web/test_app.html +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/workspace/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/workspace/artefacts.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/workspace/client.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/workspace/context.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/workspace/cursor.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/workspace/memory.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/workspace/models.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/workspace/poller.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/workspace/preferences.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/workspace/session.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework/workspace/subscription.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework_lib.egg-info/dependency_links.txt +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework_lib.egg-info/entry_points.txt +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/agent_framework_lib.egg-info/top_level.txt +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/A2A_GUIDE.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/ACTIVITY_OUTPUT_PART.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/ARCHITECTURE_DIAGRAM.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/CONCURRENCE_VS_PARALLELISME_GUIDE.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/DOCKER_SETUP.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/ELASTICSEARCH_DATA_STRUCTURES.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/FILE_DOWNLOAD_LINKS.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/FILE_STORAGE_GUIDE.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/GETTING_STARTED.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/HISTORY_MESSAGE_FORMAT.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/IMPLEMENTATION_GUIDE_NEW_AGENT.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/MEMORY_INSTALLATION.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/MODIFICATIONS_CONCURRENCE.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/MULTIMODAL_TOOLS_GUIDE.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/OBSERVABILITY_GUIDE.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/PYPI_PUBLISHING.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/QA_STREAMING_LATENCY.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/SCREENSHOTS_GUIDE.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/SPEC_CROSS_MODEL_HISTORY_CONVERSION.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/SSE_NOTIFICATIONS_GUIDE.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/STREAMING_EVENTS_FRONTEND.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/WORKSPACE_INTEGRATION.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/api-reference.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/configuration.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/framework_audit_remarques.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/docs/installation-guide.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/README.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/agent_context_budget_test.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/agent_with_custom_tools_file_storage.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/agent_with_file_storage.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/agent_with_mcp.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/agent_with_memory_graphiti.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/agent_with_memory_hybrid.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/agent_with_memory_simple.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/agent_with_personalization.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/biagenttest.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/custom_framework_agent.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/dependencies/docker-compose.yaml +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/pyproject.toml +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/simple_agent.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/examples/workspace_test_agent.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1}/setup.cfg +0 -0
- {agent_framework_lib-0.8.0 → 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/ #
|
|
50
|
+
├── tools/ # Agent tools & utilities
|
|
51
51
|
│ ├── __init__.py
|
|
52
|
-
│
|
|
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/** |
|
|
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) |
|
{agent_framework_lib-0.8.0/agent_framework_lib.egg-info → agent_framework_lib-0.8.1}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-framework-lib
|
|
3
|
-
Version: 0.8.
|
|
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
|
-
-
|
|
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
|
|
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.
|
|
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
|
-
|
|
705
|
-
self.
|
|
706
|
-
|
|
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
|
-
|
|
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,21 +889,35 @@ 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
|
|
@@ -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.
|