agent-framework-lib 0.8.0__tar.gz → 0.8.1.post2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/ARCHITECTURE.md +11 -3
- {agent_framework_lib-0.8.0/agent_framework_lib.egg-info → agent_framework_lib-0.8.1.post2}/PKG-INFO +69 -268
- {agent_framework_lib-0.8.0/agent_framework/web/docs → agent_framework_lib-0.8.1.post2}/README.md +65 -267
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/__init__.py +2 -2
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/base_agent.py +0 -11
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/implementations/llamaindex_agent.py +2 -2
- agent_framework_lib-0.8.1.post2/agent_framework/skills/__init__.py +62 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/agent_mixin.py +4 -127
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/__init__.py +36 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/scripts/create_and_register.py +1 -0
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/code_format/SKILL.md +54 -0
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/code_format/format_python.py +27 -0
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/csv/SKILL.md +440 -0
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/csv/create_csv.py +63 -0
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/csv/read_csv.py +85 -0
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/csv/transform_csv.py +202 -0
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/data_format/SKILL.md +70 -0
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/data_format/json_to_yaml.py +16 -0
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/data_format/yaml_to_json.py +16 -0
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/email_template/SKILL.md +168 -0
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/image_gen/SKILL.md +381 -0
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/image_gen/create_image.py +297 -0
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/image_gen/generate_image.py +188 -0
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/powerpoint/SKILL.md +426 -0
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/powerpoint/create_powerpoint.py +376 -0
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/skill_creator/SKILL.md +579 -0
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/word/SKILL.md +476 -0
- agent_framework_lib-0.8.1.post2/agent_framework/skills/builtin/skills/word/create_word.py +301 -0
- agent_framework_lib-0.8.1.post2/agent_framework/tools/__init__.py +22 -0
- agent_framework_lib-0.8.1.post2/agent_framework/web/docs/BUILTIN_SKILLS_REFERENCE.md +580 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/CREATING_AGENTS.md +2 -58
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/CUSTOM_SKILLS_GUIDE.md +28 -35
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2/agent_framework/web/docs}/README.md +65 -267
- agent_framework_lib-0.8.1.post2/agent_framework/web/docs/TOOLS_AND_MCP_GUIDE.md +806 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/agent_example_multi_skills.py +1 -7
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/skills_demo_agent.py +0 -11
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/documentation_generator.py +21 -15
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/config.py +9 -2
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/router.py +22 -4
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2/agent_framework_lib.egg-info}/PKG-INFO +69 -268
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework_lib.egg-info/SOURCES.txt +21 -27
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework_lib.egg-info/requires.txt +3 -0
- agent_framework_lib-0.8.1.post2/docs/BUILTIN_SKILLS_REFERENCE.md +580 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/CREATING_AGENTS.md +2 -58
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/CUSTOM_SKILLS_GUIDE.md +28 -35
- agent_framework_lib-0.8.1.post2/docs/TOOLS_AND_MCP_GUIDE.md +806 -0
- agent_framework_lib-0.8.1.post2/docs/index.md +222 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_example_multi_skills.py +1 -7
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_exemple_test.py +1 -7
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_training_with_apo.py +1 -5
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/skills_demo_agent.py +0 -11
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/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.post2}/LICENSE +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/MANIFEST.in +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/base.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/endpoints/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/endpoints/a2a_router.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/endpoints/agent_card_builder.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/endpoints/agent_card_skill_builder.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/endpoints/jsonrpc_dispatcher.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/endpoints/models_jsonrpc.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/endpoints/sse_wrapper.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/endpoints/translation_layer.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/models.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/providers/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/providers/elasticsearch_provider.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/a2a/providers/postgres_provider.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/capabilities/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/capabilities/resolver.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/chart_generation/llm_refinement_loop.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/activity_formatter.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/agent_interface.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/agent_provider.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/context_budget.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/context_summarizer.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/elasticsearch_config_provider.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/implementation_validator.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/knowledge_state.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/loop_detector.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/model_clients.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/model_config.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/model_router.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/models.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/provider_calibration.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/scratchpad_compressor.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/state_manager.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/step_display_config.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/core/streaming_parts_accumulator.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/implementations/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/implementations/budget_aware_agent.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/implementations/llamaindex_memory_adapter.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/implementations/microsoft_agent.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/agent_mixin.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/base.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/config.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/manager.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/personalization.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/providers/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/providers/graphiti_provider.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/providers/memori_provider.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/memory/tools.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/api_timing_tracker.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/elasticsearch_circuit_breaker.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/elasticsearch_logging.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/error_handling.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/error_logging.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/llm_auto_instrumentor.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/llm_metrics.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/llm_metrics_collector.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/llm_metrics_extractor.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/metrics_aggregator.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/metrics_config.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/observability_manager.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/otel_instrumentor.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/otel_logging_handler.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/otel_metrics_recorder.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/otel_setup.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/performance_monitor.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/progress_tracker.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/resource_manager.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/resource_metrics_collector.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/streaming_latency_tracer.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/timing_tracker.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/token_counter.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/monitoring/tracing_context.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/notifications/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/notifications/hub.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/processing/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/processing/ai_content_management.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/processing/markdown_converter.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/processing/multimodal_integration.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/processing/rich_content_validation.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/py.typed +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/session/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/session/elasticsearch_session_storage.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/session/session_storage.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/base.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/scripts/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/scripts/register_to_storage.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/chart/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/chart/chart_to_image.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/drawio/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/drawio/create_drawio.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/excel/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/excel/create_excel.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/file/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/file/create_file.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/file/list_files.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/file/read_file.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/file_access/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/file_access/get_file_path.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/form/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/image_display/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/mermaid/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/mermaid/mermaid_to_image.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/multimodal/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/optionsblock/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/table/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/table/table_to_image.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/unified_pdf/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/unified_pdf/create_pdf.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/web_search/SKILL.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/web_search/web_news_search.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/builtin/skills/web_search/web_search.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/custom_skill_manager.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/discovery_prompt.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/markdown_loader.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/skills/tools.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/storage/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/storage/file_storages.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/storage/file_system_management.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/storage/storage_optimizer.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/subagents/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/subagents/executor.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/subagents/message_injector.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/subagents/message_queue.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/subagents/retrigger.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/subagents/spawn_tool.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/tools/activity_callback.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/tools/adaptive_pdf_css.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/tools/base.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/tools/html_content_analyzer.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/tools/multimodal_tools.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/tools/pdf_image_scaler.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/tools/shell_tool.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/tools/sizing_config.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/tools/web_fetch_tool.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/utils/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/utils/path_utils.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/utils/post_install.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/utils/session_title_generator.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/utils/source_detector.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/utils/special_blocks.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/admin_auth.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/admin_models.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/admin_router.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/admin_services.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/api_timing_middleware.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/A2A_GUIDE.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/DOCKER_SETUP.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/Dockerfile +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/GETTING_STARTED.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/MEMORY_INSTALLATION.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/WORKSPACE_INTEGRATION.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/api-reference.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/configuration.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/docker-compose.yml +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/agent_with_file_storage.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/agent_with_mcp.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/agent_with_memory.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/agent_with_memory_graphiti.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/agent_with_memory_hybrid.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/agent_with_memory_simple.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/custom_framework_agent.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/examples/simple_agent.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/docs/installation-guide.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/helper_agent.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/helper_ui.html +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/modern_ui.html +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/observability/kibana-llm-dashboard-setup.json +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/observability/kibana-resource-metrics-dashboard.json +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/otel_tracing_middleware.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/server.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/skills_router.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/web/test_app.html +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/__init__.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/artefacts.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/client.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/context.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/cursor.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/memory.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/models.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/poller.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/preferences.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/session.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework/workspace/subscription.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework_lib.egg-info/dependency_links.txt +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework_lib.egg-info/entry_points.txt +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/agent_framework_lib.egg-info/top_level.txt +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/A2A_GUIDE.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/ACTIVITY_OUTPUT_PART.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/ARCHITECTURE_DIAGRAM.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/CONCURRENCE_VS_PARALLELISME_GUIDE.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/DOCKER_SETUP.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/ELASTICSEARCH_DATA_STRUCTURES.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/FILE_DOWNLOAD_LINKS.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/FILE_STORAGE_GUIDE.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/GETTING_STARTED.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/HISTORY_MESSAGE_FORMAT.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/IMPLEMENTATION_GUIDE_NEW_AGENT.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/MEMORY_INSTALLATION.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/MODIFICATIONS_CONCURRENCE.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/MULTIMODAL_TOOLS_GUIDE.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/OBSERVABILITY_GUIDE.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/PYPI_PUBLISHING.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/QA_STREAMING_LATENCY.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/SCREENSHOTS_GUIDE.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/SPEC_CROSS_MODEL_HISTORY_CONVERSION.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/SSE_NOTIFICATIONS_GUIDE.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/STREAMING_EVENTS_FRONTEND.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/WORKSPACE_INTEGRATION.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/api-reference.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/configuration.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/framework_audit_remarques.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/docs/installation-guide.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/README.md +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_context_budget_test.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_with_custom_tools_file_storage.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_with_file_storage.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_with_mcp.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_with_memory_graphiti.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_with_memory_hybrid.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_with_memory_simple.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/agent_with_personalization.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/biagenttest.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/custom_framework_agent.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/dependencies/docker-compose.yaml +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/pyproject.toml +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/simple_agent.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/examples/workspace_test_agent.py +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/setup.cfg +0 -0
- {agent_framework_lib-0.8.0 → agent_framework_lib-0.8.1.post2}/setup.py +0 -0
|
@@ -47,9 +47,17 @@ agent_framework/
|
|
|
47
47
|
│ ├── multimodal_integration.py # Multimodal processing
|
|
48
48
|
│ └── ai_content_management.py # AI content management
|
|
49
49
|
│
|
|
50
|
-
├── tools/ #
|
|
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.post2}/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.post2
|
|
4
4
|
Summary: A comprehensive Python framework for building and serving conversational AI agents with FastAPI
|
|
5
5
|
Author-email: Sebastian Pavel <sebastian@cinco.ai>, Elliott Girard <elliott.girard@icloud.com>
|
|
6
6
|
Maintainer-email: Sebastian Pavel <sebastian@cinco.ai>
|
|
@@ -69,6 +69,9 @@ Requires-Dist: nodeenv>=1.8.0
|
|
|
69
69
|
Requires-Dist: asyncpg>=0.31.0
|
|
70
70
|
Requires-Dist: drawpyo>=0.2.5
|
|
71
71
|
Requires-Dist: openpyxl>=3.1.5
|
|
72
|
+
Requires-Dist: python-pptx>=1.0.0
|
|
73
|
+
Requires-Dist: python-docx>=1.1.0
|
|
74
|
+
Requires-Dist: jsonschema>=4.20.0
|
|
72
75
|
Provides-Extra: llamaindex
|
|
73
76
|
Requires-Dist: llama-index>=0.14.16; extra == "llamaindex"
|
|
74
77
|
Requires-Dist: llama-index-core>=0.14.16; extra == "llamaindex"
|
|
@@ -146,13 +149,19 @@ Dynamic: license-file
|
|
|
146
149
|
|
|
147
150
|
# Agent Framework Library
|
|
148
151
|
|
|
152
|
+
[](https://pypi.org/project/agent-framework-lib/)
|
|
153
|
+
[](https://github.com/Cinco-AI/AgentFramework/actions)
|
|
154
|
+
[](https://codecov.io/gh/Cinco-AI/AgentFramework)
|
|
155
|
+
[](https://www.python.org/downloads/)
|
|
156
|
+
[](https://opensource.org/licenses/MIT)
|
|
157
|
+
[](https://cinco-ai.github.io/AgentFramework/)
|
|
158
|
+
|
|
149
159
|
A comprehensive Python framework for building and serving conversational AI agents with FastAPI. Create production-ready AI agents in minutes with automatic session management, streaming responses, file storage, and easy MCP integration.
|
|
150
160
|
|
|
151
161
|
**Key Features:**
|
|
152
162
|
- 🚀 **Quick Setup** - Create agents in 10-15 minutes
|
|
153
163
|
- 🔌 **Easy MCP Integration** - Connect to external tools effortlessly
|
|
154
|
-
-
|
|
155
|
-
- 🎯 **Skills System** - On-demand capability loading for token optimization
|
|
164
|
+
- 🎯 **Skills System** - Markdown-based, on-demand capability loading for token optimization
|
|
156
165
|
- 🔄 **Multi-Provider Support** - OpenAI, Anthropic, Gemini
|
|
157
166
|
- 🎯 **Smart Model Routing** - Auto mode selects the best model per query complexity
|
|
158
167
|
- 💾 **Session Management** - Automatic conversation persistence
|
|
@@ -531,94 +540,6 @@ Users can override settings per session via the API or web UI:
|
|
|
531
540
|
- Max tokens
|
|
532
541
|
- System prompt override
|
|
533
542
|
|
|
534
|
-
## 🛠️ Off-the-Shelf Tools
|
|
535
|
-
|
|
536
|
-
The framework provides ready-to-use tools for common tasks. Import from `agent_framework.tools`:
|
|
537
|
-
|
|
538
|
-
### File Management Tools
|
|
539
|
-
|
|
540
|
-
```python
|
|
541
|
-
from agent_framework.tools import (
|
|
542
|
-
CreateFileTool, # Create text files
|
|
543
|
-
ListFilesTool, # List stored files
|
|
544
|
-
ReadFileTool, # Read file contents
|
|
545
|
-
GetFilePathTool # Get file system path
|
|
546
|
-
)
|
|
547
|
-
```
|
|
548
|
-
|
|
549
|
-
### PDF Generation Tools
|
|
550
|
-
|
|
551
|
-
```python
|
|
552
|
-
from agent_framework.tools import (
|
|
553
|
-
CreatePDFFromMarkdownTool, # Generate PDF from markdown
|
|
554
|
-
CreatePDFFromHTMLTool, # Generate PDF from HTML
|
|
555
|
-
CreatePDFWithImagesTool # Generate PDF with embedded images
|
|
556
|
-
)
|
|
557
|
-
```
|
|
558
|
-
|
|
559
|
-
### Chart & Visualization Tools
|
|
560
|
-
|
|
561
|
-
```python
|
|
562
|
-
from agent_framework.tools import (
|
|
563
|
-
ChartToImageTool, # Convert Chart.js config to PNG
|
|
564
|
-
MermaidToImageTool, # Convert Mermaid diagram to PNG
|
|
565
|
-
TableToImageTool # Convert table data to PNG
|
|
566
|
-
)
|
|
567
|
-
```
|
|
568
|
-
|
|
569
|
-
### Using Off-the-Shelf Tools
|
|
570
|
-
|
|
571
|
-
```python
|
|
572
|
-
from agent_framework import LlamaIndexAgent
|
|
573
|
-
from agent_framework.storage.file_system_management import FileStorageFactory
|
|
574
|
-
from agent_framework.tools import CreateFileTool, ListFilesTool, CreatePDFFromMarkdownTool
|
|
575
|
-
|
|
576
|
-
class MyAgent(LlamaIndexAgent):
|
|
577
|
-
def __init__(self):
|
|
578
|
-
super().__init__(
|
|
579
|
-
agent_id="my_agent",
|
|
580
|
-
name="File Agent",
|
|
581
|
-
description="An assistant with file storage and PDF generation capabilities."
|
|
582
|
-
)
|
|
583
|
-
self.file_storage = None
|
|
584
|
-
|
|
585
|
-
# Initialize tools
|
|
586
|
-
self.tools = [
|
|
587
|
-
CreateFileTool(),
|
|
588
|
-
ListFilesTool(),
|
|
589
|
-
CreatePDFFromMarkdownTool()
|
|
590
|
-
]
|
|
591
|
-
|
|
592
|
-
async def _ensure_file_storage(self):
|
|
593
|
-
if self.file_storage is None:
|
|
594
|
-
self.file_storage = await FileStorageFactory.create_storage_manager()
|
|
595
|
-
|
|
596
|
-
async def configure_session(self, session_configuration):
|
|
597
|
-
user_id = session_configuration.get('user_id', 'default_user')
|
|
598
|
-
session_id = session_configuration.get('session_id')
|
|
599
|
-
|
|
600
|
-
await self._ensure_file_storage()
|
|
601
|
-
|
|
602
|
-
# Inject dependencies into tools
|
|
603
|
-
for tool in self.tools:
|
|
604
|
-
tool.set_context(
|
|
605
|
-
file_storage=self.file_storage,
|
|
606
|
-
user_id=user_id,
|
|
607
|
-
session_id=session_id
|
|
608
|
-
)
|
|
609
|
-
|
|
610
|
-
await super().configure_session(session_configuration)
|
|
611
|
-
|
|
612
|
-
def get_agent_tools(self):
|
|
613
|
-
return [tool.get_tool_function() for tool in self.tools]
|
|
614
|
-
```
|
|
615
|
-
|
|
616
|
-
**Key Pattern:**
|
|
617
|
-
1. Instantiate tools in `__init__()`
|
|
618
|
-
2. Initialize file storage in `configure_session()`
|
|
619
|
-
3. Inject context with `tool.set_context()`
|
|
620
|
-
4. Return tool functions in `get_agent_tools()`
|
|
621
|
-
|
|
622
543
|
## 🔧 Create Custom Tools
|
|
623
544
|
|
|
624
545
|
Custom tools extend your agent's capabilities. The tool name and docstring are crucial - they tell the agent when and how to use the tool.
|
|
@@ -654,43 +575,12 @@ class MyAgent(LlamaIndexAgent):
|
|
|
654
575
|
|
|
655
576
|
### Custom Tool with Dependencies
|
|
656
577
|
|
|
657
|
-
For tools that need file storage or other dependencies:
|
|
578
|
+
For tools that need file storage or other dependencies, use closures to capture context:
|
|
658
579
|
|
|
659
580
|
```python
|
|
660
|
-
from agent_framework
|
|
661
|
-
|
|
662
|
-
class MyCustomTool(AgentTool):
|
|
663
|
-
"""Base class handles dependency injection."""
|
|
664
|
-
|
|
665
|
-
def execute(self, param1: str, param2: int) -> str:
|
|
666
|
-
"""Process data and store results.
|
|
667
|
-
|
|
668
|
-
Args:
|
|
669
|
-
param1: Description of first parameter
|
|
670
|
-
param2: Description of second parameter
|
|
671
|
-
|
|
672
|
-
Returns:
|
|
673
|
-
Result description
|
|
674
|
-
"""
|
|
675
|
-
# Access injected dependencies
|
|
676
|
-
user_id = self.user_id
|
|
677
|
-
session_id = self.session_id
|
|
678
|
-
file_storage = self.file_storage
|
|
679
|
-
|
|
680
|
-
# Your logic here
|
|
681
|
-
result = f"Processed {param1} with {param2}"
|
|
682
|
-
|
|
683
|
-
# Store file if needed
|
|
684
|
-
file_id = await file_storage.store_file(
|
|
685
|
-
user_id=user_id,
|
|
686
|
-
session_id=session_id,
|
|
687
|
-
filename="result.txt",
|
|
688
|
-
content=result.encode()
|
|
689
|
-
)
|
|
690
|
-
|
|
691
|
-
return f"Result stored with ID: {file_id}"
|
|
581
|
+
from agent_framework import LlamaIndexAgent
|
|
582
|
+
from agent_framework.storage.file_system_management import FileStorageFactory
|
|
692
583
|
|
|
693
|
-
# Use in your agent
|
|
694
584
|
class MyAgent(LlamaIndexAgent):
|
|
695
585
|
def __init__(self):
|
|
696
586
|
super().__init__(
|
|
@@ -698,19 +588,43 @@ class MyAgent(LlamaIndexAgent):
|
|
|
698
588
|
name="My Agent",
|
|
699
589
|
description="A helpful assistant with custom tools."
|
|
700
590
|
)
|
|
701
|
-
self.
|
|
591
|
+
self.file_storage = None
|
|
592
|
+
|
|
593
|
+
async def _ensure_file_storage(self):
|
|
594
|
+
if self.file_storage is None:
|
|
595
|
+
self.file_storage = await FileStorageFactory.create_storage_manager()
|
|
702
596
|
|
|
703
597
|
async def configure_session(self, session_configuration):
|
|
704
|
-
|
|
705
|
-
self.
|
|
706
|
-
|
|
707
|
-
user_id=session_configuration.get('user_id'),
|
|
708
|
-
session_id=session_configuration.get('session_id')
|
|
709
|
-
)
|
|
598
|
+
await self._ensure_file_storage()
|
|
599
|
+
self._user_id = session_configuration.get('user_id', 'default_user')
|
|
600
|
+
self._session_id = session_configuration.get('session_id')
|
|
710
601
|
await super().configure_session(session_configuration)
|
|
711
602
|
|
|
712
603
|
def get_agent_tools(self):
|
|
713
|
-
|
|
604
|
+
storage = self.file_storage
|
|
605
|
+
user_id = self._user_id
|
|
606
|
+
session_id = self._session_id
|
|
607
|
+
|
|
608
|
+
async def store_result(param1: str, param2: int) -> str:
|
|
609
|
+
"""Process data and store results.
|
|
610
|
+
|
|
611
|
+
Args:
|
|
612
|
+
param1: Description of first parameter
|
|
613
|
+
param2: Description of second parameter
|
|
614
|
+
|
|
615
|
+
Returns:
|
|
616
|
+
Result description
|
|
617
|
+
"""
|
|
618
|
+
result = f"Processed {param1} with {param2}"
|
|
619
|
+
file_id = await storage.store_file(
|
|
620
|
+
user_id=user_id,
|
|
621
|
+
session_id=session_id,
|
|
622
|
+
filename="result.txt",
|
|
623
|
+
content=result.encode()
|
|
624
|
+
)
|
|
625
|
+
return f"Result stored with ID: {file_id}"
|
|
626
|
+
|
|
627
|
+
return [store_result]
|
|
714
628
|
```
|
|
715
629
|
|
|
716
630
|
### Tool Naming Best Practices
|
|
@@ -947,6 +861,8 @@ uv add agent-framework-lib[graphiti]
|
|
|
947
861
|
|
|
948
862
|
The Skills System provides modular, on-demand capability loading that reduces token consumption by ~80%. Instead of loading all instructions into every system prompt, skills deliver detailed instructions only when needed.
|
|
949
863
|
|
|
864
|
+
Skills are exclusively defined as `SKILL.md` markdown files with YAML frontmatter, loaded by `MarkdownSkillLoader`. Each skill uses `ShellTool` to execute standalone CLI scripts and `WebFetchTool` for web content retrieval.
|
|
865
|
+
|
|
950
866
|
### How It Works
|
|
951
867
|
|
|
952
868
|
```
|
|
@@ -969,7 +885,7 @@ class MySkillsAgent(LlamaIndexAgent):
|
|
|
969
885
|
name="Skills Agent",
|
|
970
886
|
description="An agent with on-demand capabilities."
|
|
971
887
|
)
|
|
972
|
-
# Built-in skills are automatically registered by BaseAgent.__init__
|
|
888
|
+
# Built-in markdown skills are automatically registered by BaseAgent.__init__
|
|
973
889
|
|
|
974
890
|
def get_agent_prompt(self) -> str:
|
|
975
891
|
# Skills discovery prompt is automatically appended by BaseAgent
|
|
@@ -980,21 +896,35 @@ class MySkillsAgent(LlamaIndexAgent):
|
|
|
980
896
|
return [] # Only return custom tools specific to your agent
|
|
981
897
|
```
|
|
982
898
|
|
|
983
|
-
### Built-in Skills
|
|
899
|
+
### Built-in Skills (21 total)
|
|
984
900
|
|
|
985
901
|
| Category | Skills |
|
|
986
902
|
|----------|--------|
|
|
987
903
|
| **Visualization** | chart, mermaid, table |
|
|
988
|
-
| **Document** | file, unified_pdf, file_access, excel, drawio |
|
|
904
|
+
| **Document** | file, unified_pdf, file_access, excel, drawio, **powerpoint**, **word** |
|
|
989
905
|
| **Web** | web_search |
|
|
990
|
-
| **Multimodal** | multimodal |
|
|
991
|
-
| **UI** | form, optionsblock, image_display |
|
|
906
|
+
| **Multimodal** | multimodal, **image_gen** |
|
|
907
|
+
| **UI** | form, optionsblock, image_display, **email_template**, **skill_creator** |
|
|
908
|
+
| **Data** | **csv**, **data_format** |
|
|
909
|
+
| **Code** | **code_format** |
|
|
910
|
+
|
|
911
|
+
**New in v0.9.0:** 8 additional skills added (in **bold**):
|
|
912
|
+
- **powerpoint** — Generate .pptx presentations with slides, layouts, and themes
|
|
913
|
+
- **word** — Create .docx documents with formatted text, tables, and images
|
|
914
|
+
- **image_gen** — AI image generation via DALL-E 3 and DALL-E 2
|
|
915
|
+
- **csv** — Create, read, and transform CSV files
|
|
916
|
+
- **data_format** — Convert JSON ↔ YAML and validate schemas
|
|
917
|
+
- **code_format** — Format Python, JavaScript, JSON, YAML code
|
|
918
|
+
- **email_template** — Generate responsive HTML email templates
|
|
919
|
+
- **skill_creator** — Guide for creating custom skills via API or code
|
|
920
|
+
|
|
921
|
+
Each skill is a `SKILL.md` file in `agent_framework/skills/builtin/skills/` with an associated CLI script executed via `ShellTool`.
|
|
992
922
|
|
|
993
923
|
### Agent Workflow
|
|
994
924
|
|
|
995
925
|
1. Agent receives user request: "Create a bar chart"
|
|
996
926
|
2. Agent calls `list_skills()` → sees available skills
|
|
997
|
-
3. Agent calls `load_skill("chart")` → gets chart instructions
|
|
927
|
+
3. Agent calls `load_skill("chart")` → gets chart instructions from SKILL.md
|
|
998
928
|
4. Agent constructs the shell command as described in the instructions
|
|
999
929
|
5. Agent executes via `shell_exec` → script generates the chart
|
|
1000
930
|
6. Optionally calls `unload_skill("chart")` when done
|
|
@@ -1074,135 +1004,6 @@ Uncheck the "Enable rich content capabilities" checkbox when creating a session.
|
|
|
1074
1004
|
```
|
|
1075
1005
|
````
|
|
1076
1006
|
|
|
1077
|
-
## 🎯 All Together: Complete Multi-Skills Agent
|
|
1078
|
-
|
|
1079
|
-
Here's a complete example combining all features - MCP, off-the-shelf tools, custom tools, and format support:
|
|
1080
|
-
|
|
1081
|
-
```python
|
|
1082
|
-
import os
|
|
1083
|
-
from typing import List, Any, Dict
|
|
1084
|
-
from agent_framework import LlamaIndexAgent, create_basic_agent_server
|
|
1085
|
-
from agent_framework.storage.file_system_management import FileStorageFactory
|
|
1086
|
-
from agent_framework.tools import (
|
|
1087
|
-
CreateFileTool, ListFilesTool, ReadFileTool,
|
|
1088
|
-
CreatePDFFromMarkdownTool, CreatePDFFromHTMLTool,
|
|
1089
|
-
ChartToImageTool, MermaidToImageTool, CreatePDFWithImagesTool, TableToImageTool
|
|
1090
|
-
)
|
|
1091
|
-
from llama_index.tools.mcp import BasicMCPClient, McpToolSpec
|
|
1092
|
-
|
|
1093
|
-
class MultiSkillsAgent(LlamaIndexAgent):
|
|
1094
|
-
def __init__(self):
|
|
1095
|
-
super().__init__(
|
|
1096
|
-
agent_id="multi_skills_agent_v1",
|
|
1097
|
-
name="Multi-Skills Agent",
|
|
1098
|
-
description="A versatile assistant with file storage, PDF generation, charts, and MCP capabilities."
|
|
1099
|
-
)
|
|
1100
|
-
self.file_storage = None
|
|
1101
|
-
self.mcp_tools = []
|
|
1102
|
-
self._mcp_initialized = False
|
|
1103
|
-
|
|
1104
|
-
# Off-the-shelf tools
|
|
1105
|
-
self.file_tools = [
|
|
1106
|
-
CreateFileTool(),
|
|
1107
|
-
ListFilesTool(),
|
|
1108
|
-
ReadFileTool(),
|
|
1109
|
-
CreatePDFFromMarkdownTool(),
|
|
1110
|
-
CreatePDFFromHTMLTool(),
|
|
1111
|
-
ChartToImageTool(),
|
|
1112
|
-
MermaidToImageTool(),
|
|
1113
|
-
TableToImageTool(),
|
|
1114
|
-
CreatePDFWithImagesTool()
|
|
1115
|
-
]
|
|
1116
|
-
|
|
1117
|
-
async def _ensure_file_storage(self):
|
|
1118
|
-
if self.file_storage is None:
|
|
1119
|
-
self.file_storage = await FileStorageFactory.create_storage_manager()
|
|
1120
|
-
|
|
1121
|
-
async def configure_session(self, session_configuration: Dict[str, Any]):
|
|
1122
|
-
user_id = session_configuration.get('user_id', 'default_user')
|
|
1123
|
-
session_id = session_configuration.get('session_id')
|
|
1124
|
-
|
|
1125
|
-
await self._ensure_file_storage()
|
|
1126
|
-
|
|
1127
|
-
# Inject context into file tools
|
|
1128
|
-
for tool in self.file_tools:
|
|
1129
|
-
tool.set_context(
|
|
1130
|
-
file_storage=self.file_storage,
|
|
1131
|
-
user_id=user_id,
|
|
1132
|
-
session_id=session_id
|
|
1133
|
-
)
|
|
1134
|
-
|
|
1135
|
-
await super().configure_session(session_configuration)
|
|
1136
|
-
|
|
1137
|
-
async def _initialize_mcp_tools(self):
|
|
1138
|
-
if self._mcp_initialized:
|
|
1139
|
-
return
|
|
1140
|
-
|
|
1141
|
-
try:
|
|
1142
|
-
from llama_index.tools.mcp import BasicMCPClient, McpToolSpec
|
|
1143
|
-
except ImportError:
|
|
1144
|
-
return
|
|
1145
|
-
|
|
1146
|
-
# Configure MCP servers
|
|
1147
|
-
mcp_configs = [
|
|
1148
|
-
{
|
|
1149
|
-
"command": "uvx",
|
|
1150
|
-
"args": ["mcp-run-python", "stdio"]
|
|
1151
|
-
}
|
|
1152
|
-
]
|
|
1153
|
-
|
|
1154
|
-
for config in mcp_configs:
|
|
1155
|
-
try:
|
|
1156
|
-
client = BasicMCPClient(config["command"], args=config["args"])
|
|
1157
|
-
mcp_tool_spec = McpToolSpec(client=client)
|
|
1158
|
-
tools = await mcp_tool_spec.to_tool_list_async()
|
|
1159
|
-
self.mcp_tools.extend(tools)
|
|
1160
|
-
except Exception as e:
|
|
1161
|
-
print(f"MCP initialization failed: {e}")
|
|
1162
|
-
|
|
1163
|
-
self._mcp_initialized = True
|
|
1164
|
-
|
|
1165
|
-
def get_agent_prompt(self) -> str:
|
|
1166
|
-
return """You are a helpful assistant with multiple capabilities:
|
|
1167
|
-
|
|
1168
|
-
- Execute Python code via MCP
|
|
1169
|
-
- Create, read, and list files
|
|
1170
|
-
- Generate PDF documents from markdown or HTML
|
|
1171
|
-
- Create charts, mermaid diagrams, and tables
|
|
1172
|
-
- Present forms and option blocks to users
|
|
1173
|
-
|
|
1174
|
-
You can generate markdown, mermaid diagrams, charts, code blocks, forms and optionsblocks.
|
|
1175
|
-
ALWAYS include option blocks when asking the user to select an option!
|
|
1176
|
-
|
|
1177
|
-
... See the format section above
|
|
1178
|
-
"""
|
|
1179
|
-
|
|
1180
|
-
def get_agent_tools(self) -> List[callable]:
|
|
1181
|
-
# Combine all tools
|
|
1182
|
-
all_tools = []
|
|
1183
|
-
all_tools.extend([tool.get_tool_function() for tool in self.file_tools])
|
|
1184
|
-
all_tools.extend(self.mcp_tools)
|
|
1185
|
-
return all_tools
|
|
1186
|
-
|
|
1187
|
-
async def initialize_agent(self, model_name, system_prompt, tools, **kwargs):
|
|
1188
|
-
await self._initialize_mcp_tools()
|
|
1189
|
-
all_tools = self.get_agent_tools()
|
|
1190
|
-
await super().initialize_agent(model_name, system_prompt, all_tools, **kwargs)
|
|
1191
|
-
|
|
1192
|
-
# Start the server
|
|
1193
|
-
if __name__ == "__main__":
|
|
1194
|
-
create_basic_agent_server(MultiSkillsAgent, port=8000)
|
|
1195
|
-
```
|
|
1196
|
-
|
|
1197
|
-
**Run it:**
|
|
1198
|
-
```bash
|
|
1199
|
-
export OPENAI_API_KEY=sk-your-key
|
|
1200
|
-
uv run python multi_skills_agent.py
|
|
1201
|
-
# Open http://localhost:8000/ui
|
|
1202
|
-
```
|
|
1203
|
-
|
|
1204
|
-
**Full example:** See `examples/agent_example_multi_skills.py` for the complete implementation with full format support prompt.
|
|
1205
|
-
|
|
1206
1007
|
## 🌐 Web Interface
|
|
1207
1008
|
|
|
1208
1009
|
The framework includes a built-in web UI for testing and interacting with your agent.
|