agent-framework-lib 0.8.9.post3__tar.gz → 0.8.10__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. agent_framework_lib-0.8.10/LICENSE +96 -0
  2. {agent_framework_lib-0.8.9.post3/agent_framework_lib.egg-info → agent_framework_lib-0.8.10}/PKG-INFO +5 -5
  3. {agent_framework_lib-0.8.9.post3/agent_framework/web/docs → agent_framework_lib-0.8.10}/README.md +2 -2
  4. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/base_agent.py +5 -6
  5. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/context_budget.py +8 -0
  6. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/model_clients.py +89 -3
  7. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/model_config.py +53 -3
  8. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/model_router.py +8 -1
  9. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/scratchpad_compressor.py +5 -3
  10. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/utils/session_title_generator.py +36 -23
  11. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10/agent_framework/web/docs}/examples/agent_example_multi_skills.py +1 -1
  12. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10/agent_framework/web/docs}/examples/agent_with_file_storage.py +1 -1
  13. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10/agent_framework/web/docs}/examples/agent_with_mcp.py +1 -1
  14. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10/agent_framework/web/docs}/examples/agent_with_memory_graphiti.py +1 -1
  15. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10/agent_framework/web/docs}/examples/agent_with_memory_hybrid.py +1 -1
  16. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10/agent_framework/web/docs}/examples/agent_with_memory_simple.py +1 -1
  17. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10/agent_framework/web/docs}/examples/custom_framework_agent.py +1 -1
  18. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10/agent_framework/web/docs}/examples/simple_agent.py +1 -1
  19. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10/agent_framework/web/docs}/examples/skills_demo_agent.py +1 -1
  20. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/helper_agent.py +9 -11
  21. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10/agent_framework_lib.egg-info}/PKG-INFO +5 -5
  22. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework_lib.egg-info/requires.txt +2 -2
  23. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/ARCHITECTURE_DIAGRAM.md +1 -1
  24. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/GETTING_STARTED.md +1 -1
  25. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/api-reference.md +1 -1
  26. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/configuration.md +7 -7
  27. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/pyproject.toml +4 -4
  28. agent_framework_lib-0.8.9.post3/LICENSE +0 -21
  29. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/ARCHITECTURE.md +0 -0
  30. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/MANIFEST.in +0 -0
  31. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/__init__.py +0 -0
  32. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/a2a/__init__.py +0 -0
  33. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/a2a/base.py +0 -0
  34. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/a2a/endpoints/__init__.py +0 -0
  35. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/a2a/endpoints/a2a_router.py +0 -0
  36. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/a2a/endpoints/agent_card_builder.py +0 -0
  37. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/a2a/endpoints/agent_card_skill_builder.py +0 -0
  38. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/a2a/endpoints/jsonrpc_dispatcher.py +0 -0
  39. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/a2a/endpoints/models_jsonrpc.py +0 -0
  40. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/a2a/endpoints/sse_wrapper.py +0 -0
  41. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/a2a/endpoints/translation_layer.py +0 -0
  42. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/a2a/models.py +0 -0
  43. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/a2a/providers/__init__.py +0 -0
  44. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/a2a/providers/elasticsearch_provider.py +0 -0
  45. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/a2a/providers/postgres_provider.py +0 -0
  46. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/capabilities/__init__.py +0 -0
  47. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/capabilities/resolver.py +0 -0
  48. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/code_delivery/__init__.py +0 -0
  49. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/code_delivery/audit.py +0 -0
  50. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/code_delivery/config.py +0 -0
  51. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/code_delivery/crypto.py +0 -0
  52. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/code_delivery/git_provider.py +0 -0
  53. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/code_delivery/herdr_client.py +0 -0
  54. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/code_delivery/models.py +0 -0
  55. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/code_delivery/orchestrator.py +0 -0
  56. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/code_delivery/store.py +0 -0
  57. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/code_delivery/tools.py +0 -0
  58. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/__init__.py +0 -0
  59. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/activity_formatter.py +0 -0
  60. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/agent_interface.py +0 -0
  61. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/agent_provider.py +0 -0
  62. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/context_summarizer.py +0 -0
  63. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/elasticsearch_config_provider.py +0 -0
  64. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/execution_controller.py +0 -0
  65. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/implementation_validator.py +0 -0
  66. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/interruption_message.py +0 -0
  67. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/knowledge_state.py +0 -0
  68. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/loop_detector.py +0 -0
  69. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/models.py +0 -0
  70. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/prompt_builder.py +0 -0
  71. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/provider_calibration.py +0 -0
  72. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/scratchpad_serializer.py +0 -0
  73. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/state_manager.py +0 -0
  74. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/step_display_config.py +0 -0
  75. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/core/streaming_parts_accumulator.py +0 -0
  76. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/implementations/__init__.py +0 -0
  77. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/implementations/budget_aware_agent.py +0 -0
  78. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/implementations/llamaindex_agent.py +0 -0
  79. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/implementations/llamaindex_memory_adapter.py +0 -0
  80. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/implementations/microsoft_agent.py +0 -0
  81. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/memory/__init__.py +0 -0
  82. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/memory/agent_mixin.py +0 -0
  83. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/memory/base.py +0 -0
  84. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/memory/config.py +0 -0
  85. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/memory/hypothesis_engine.py +0 -0
  86. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/memory/implicit_feedback.py +0 -0
  87. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/memory/manager.py +0 -0
  88. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/memory/personalization.py +0 -0
  89. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/memory/providers/__init__.py +0 -0
  90. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/memory/providers/graphiti_provider.py +0 -0
  91. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/memory/providers/memori_provider.py +0 -0
  92. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/memory/response_lessons.py +0 -0
  93. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/memory/tools.py +0 -0
  94. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/memory/work_patterns.py +0 -0
  95. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/__init__.py +0 -0
  96. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/api_timing_tracker.py +0 -0
  97. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/elasticsearch_circuit_breaker.py +0 -0
  98. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/elasticsearch_logging.py +0 -0
  99. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/error_handling.py +0 -0
  100. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/error_logging.py +0 -0
  101. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/llm_auto_instrumentor.py +0 -0
  102. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/llm_metrics.py +0 -0
  103. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/llm_metrics_collector.py +0 -0
  104. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/llm_metrics_extractor.py +0 -0
  105. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/metrics_aggregator.py +0 -0
  106. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/metrics_config.py +0 -0
  107. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/observability_manager.py +0 -0
  108. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/otel_instrumentor.py +0 -0
  109. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/otel_logging_handler.py +0 -0
  110. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/otel_metrics_recorder.py +0 -0
  111. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/otel_setup.py +0 -0
  112. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/performance_monitor.py +0 -0
  113. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/progress_tracker.py +0 -0
  114. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/resource_manager.py +0 -0
  115. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/resource_metrics_collector.py +0 -0
  116. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/streaming_latency_tracer.py +0 -0
  117. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/timing_tracker.py +0 -0
  118. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/token_counter.py +0 -0
  119. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/monitoring/tracing_context.py +0 -0
  120. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/notifications/__init__.py +0 -0
  121. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/notifications/hub.py +0 -0
  122. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/notifications/webhook_notifier.py +0 -0
  123. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/processing/__init__.py +0 -0
  124. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/processing/ai_content_management.py +0 -0
  125. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/processing/markdown_converter.py +0 -0
  126. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/processing/multimodal_integration.py +0 -0
  127. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/processing/rich_content_validation.py +0 -0
  128. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/py.typed +0 -0
  129. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/security/__init__.py +0 -0
  130. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/security/authz.py +0 -0
  131. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/security/file_view_token.py +0 -0
  132. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/security/input_guard.py +0 -0
  133. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/security/openshell_policy.yaml +0 -0
  134. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/security/pii_redactor.py +0 -0
  135. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/security/sandbox.py +0 -0
  136. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/security/sandbox_provider.py +0 -0
  137. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/security/secret_redactor.py +0 -0
  138. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/security/shell_env.py +0 -0
  139. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/security/upload_token.py +0 -0
  140. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/session/__init__.py +0 -0
  141. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/session/elasticsearch_session_storage.py +0 -0
  142. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/session/session_storage.py +0 -0
  143. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/__init__.py +0 -0
  144. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/agent_mixin.py +0 -0
  145. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/base.py +0 -0
  146. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/__init__.py +0 -0
  147. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/scripts/__init__.py +0 -0
  148. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/scripts/create_and_register.py +0 -0
  149. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/scripts/register_to_storage.py +0 -0
  150. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/chart/SKILL.md +0 -0
  151. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/chart/chart_to_image.py +0 -0
  152. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/chart/vendor_chart.umd.min.js +0 -0
  153. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/code_delivery/SKILL.md +0 -0
  154. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/code_format/SKILL.md +0 -0
  155. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/code_format/format_python.py +0 -0
  156. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/csv/SKILL.md +0 -0
  157. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/csv/create_csv.py +0 -0
  158. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/csv/read_csv.py +0 -0
  159. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/csv/transform_csv.py +0 -0
  160. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/data_format/SKILL.md +0 -0
  161. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/data_format/json_to_yaml.py +0 -0
  162. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/data_format/yaml_to_json.py +0 -0
  163. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/drawio/SKILL.md +0 -0
  164. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/drawio/create_drawio.py +0 -0
  165. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/email_template/SKILL.md +0 -0
  166. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/excel/SKILL.md +0 -0
  167. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/excel/create_excel.py +0 -0
  168. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/file/SKILL.md +0 -0
  169. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/file/create_file.py +0 -0
  170. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/file/list_files.py +0 -0
  171. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/file/read_file.py +0 -0
  172. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/file_access/SKILL.md +0 -0
  173. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/file_access/download_to_local.py +0 -0
  174. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/file_access/get_file_path.py +0 -0
  175. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/form/SKILL.md +0 -0
  176. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/image_display/SKILL.md +0 -0
  177. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/image_gen/SKILL.md +0 -0
  178. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/image_gen/create_image.py +0 -0
  179. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/mermaid/SKILL.md +0 -0
  180. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/mermaid/mermaid_to_image.py +0 -0
  181. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/mermaid/vendor_mermaid.umd.min.js +0 -0
  182. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/multimodal/SKILL.md +0 -0
  183. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/optionsblock/SKILL.md +0 -0
  184. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/powerpoint/SKILL.md +0 -0
  185. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/powerpoint/create_powerpoint.py +0 -0
  186. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/powerpoint/templates/Big Data Infographics.pptx +0 -0
  187. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/powerpoint/templates/Executive Design Pitch Deck.pptx +0 -0
  188. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/powerpoint/templates/Management Consulting Toolkit.pptx +0 -0
  189. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/powerpoint/templates/__init__.py +0 -0
  190. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/powerpoint/templates/generate_templates.py +0 -0
  191. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/skill_creator/SKILL.md +0 -0
  192. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/skill_creator/skill_api.py +0 -0
  193. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/table/SKILL.md +0 -0
  194. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/table/table_to_image.py +0 -0
  195. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/unified_pdf/SKILL.md +0 -0
  196. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/unified_pdf/create_pdf.py +0 -0
  197. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/web_news_search/SKILL.md +0 -0
  198. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/web_news_search/web_news_search.py +0 -0
  199. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/word/SKILL.md +0 -0
  200. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/builtin/skills/word/create_word.py +0 -0
  201. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/custom_skill_manager.py +0 -0
  202. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/discovery_prompt.py +0 -0
  203. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/markdown_loader.py +0 -0
  204. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/skills/tools.py +0 -0
  205. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/storage/__init__.py +0 -0
  206. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/storage/file_storages.py +0 -0
  207. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/storage/file_system_management.py +0 -0
  208. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/storage/storage_optimizer.py +0 -0
  209. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/subagents/__init__.py +0 -0
  210. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/subagents/executor.py +0 -0
  211. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/subagents/message_injector.py +0 -0
  212. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/subagents/message_queue.py +0 -0
  213. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/subagents/retrigger.py +0 -0
  214. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/subagents/spawn_tool.py +0 -0
  215. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/tools/__init__.py +0 -0
  216. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/tools/activity_callback.py +0 -0
  217. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/tools/adaptive_pdf_css.py +0 -0
  218. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/tools/base.py +0 -0
  219. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/tools/html_content_analyzer.py +0 -0
  220. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/tools/multimodal_tools.py +0 -0
  221. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/tools/pdf_image_scaler.py +0 -0
  222. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/tools/shell_tool.py +0 -0
  223. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/tools/sizing_config.py +0 -0
  224. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/tools/web_fetch_tool.py +0 -0
  225. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/tools/web_search_tool.py +0 -0
  226. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/utils/__init__.py +0 -0
  227. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/utils/path_utils.py +0 -0
  228. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/utils/post_install.py +0 -0
  229. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/utils/source_detector.py +0 -0
  230. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/utils/special_blocks.py +0 -0
  231. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/__init__.py +0 -0
  232. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/admin_auth.py +0 -0
  233. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/admin_models.py +0 -0
  234. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/admin_router.py +0 -0
  235. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/admin_services.py +0 -0
  236. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/api_timing_middleware.py +0 -0
  237. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/docs/A2A_GUIDE.md +0 -0
  238. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/docs/BUILTIN_SKILLS_REFERENCE.md +0 -0
  239. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/docs/CREATING_AGENTS.md +0 -0
  240. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/docs/CUSTOM_SKILLS_GUIDE.md +0 -0
  241. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/docs/DOCKER_SETUP.md +0 -0
  242. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/docs/Dockerfile +0 -0
  243. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/docs/GETTING_STARTED.md +0 -0
  244. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/docs/GITNEXUS_USER_GUIDE.md +0 -0
  245. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/docs/MEMORY_INSTALLATION.md +0 -0
  246. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10/agent_framework/web/docs}/README.md +0 -0
  247. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/docs/TOOLS_AND_MCP_GUIDE.md +0 -0
  248. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/docs/WORKSPACE_INTEGRATION.md +0 -0
  249. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/docs/api-reference.md +0 -0
  250. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/docs/configuration.md +0 -0
  251. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/docs/docker-compose.yml +0 -0
  252. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/docs/examples/agent_with_memory.py +0 -0
  253. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/docs/installation-guide.md +0 -0
  254. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/documentation_generator.py +0 -0
  255. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/gitnexus_client.py +0 -0
  256. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/helper_ui.html +0 -0
  257. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/modern_ui.html +0 -0
  258. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/observability/kibana-llm-dashboard-setup.json +0 -0
  259. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/observability/kibana-resource-metrics-dashboard.json +0 -0
  260. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/otel_tracing_middleware.py +0 -0
  261. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/server.py +0 -0
  262. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/skills_router.py +0 -0
  263. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/web/test_app.html +0 -0
  264. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workflow/__init__.py +0 -0
  265. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workflow/core/__init__.py +0 -0
  266. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workflow/core/builder.py +0 -0
  267. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workflow/core/chat_completion.py +0 -0
  268. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workflow/core/context.py +0 -0
  269. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workflow/core/decorators.py +0 -0
  270. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workflow/core/engine.py +0 -0
  271. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workflow/core/errors.py +0 -0
  272. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workflow/core/monitoring.py +0 -0
  273. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workflow/core/runner.py +0 -0
  274. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workflow/core/state.py +0 -0
  275. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workflow/core/types.py +0 -0
  276. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workflow/implementations/__init__.py +0 -0
  277. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workflow/implementations/langgraph_engine.py +0 -0
  278. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workflow/server/__init__.py +0 -0
  279. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workflow/server/router.py +0 -0
  280. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workflow/server/schemas.py +0 -0
  281. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workspace/__init__.py +0 -0
  282. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workspace/artefacts.py +0 -0
  283. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workspace/client.py +0 -0
  284. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workspace/config.py +0 -0
  285. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workspace/context.py +0 -0
  286. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workspace/cursor.py +0 -0
  287. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workspace/memory.py +0 -0
  288. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workspace/models.py +0 -0
  289. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workspace/poller.py +0 -0
  290. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workspace/preferences.py +0 -0
  291. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workspace/router.py +0 -0
  292. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workspace/session.py +0 -0
  293. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework/workspace/subscription.py +0 -0
  294. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework_lib.egg-info/SOURCES.txt +0 -0
  295. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework_lib.egg-info/dependency_links.txt +0 -0
  296. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework_lib.egg-info/entry_points.txt +0 -0
  297. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/agent_framework_lib.egg-info/top_level.txt +0 -0
  298. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/A2A_GUIDE.md +0 -0
  299. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/ACTIVITY_OUTPUT_PART.md +0 -0
  300. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/BUILTIN_SKILLS_REFERENCE.md +0 -0
  301. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/CANCEL_AND_INTERRUPT_FRONTEND.md +0 -0
  302. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/CONCURRENCE_VS_PARALLELISME_GUIDE.md +0 -0
  303. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/CREATING_AGENTS.md +0 -0
  304. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/CUSTOM_SKILLS_GUIDE.md +0 -0
  305. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/DEEPEVAL_TEST_REPORT.md +0 -0
  306. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/DIAGNOSTIC_SANDBOX_SKILLS.md +0 -0
  307. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/DOCKER_SETUP.md +0 -0
  308. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/ELASTICSEARCH_DATA_STRUCTURES.md +0 -0
  309. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/FILE_DOWNLOAD_LINKS.md +0 -0
  310. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/FILE_STORAGE_GUIDE.md +0 -0
  311. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/GITNEXUS_USER_GUIDE.md +0 -0
  312. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/HISTORY_MESSAGE_FORMAT.md +0 -0
  313. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/IMPLEMENTATION_GUIDE_NEW_AGENT.md +0 -0
  314. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/MEMORY_INSTALLATION.md +0 -0
  315. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/MODIFICATIONS_CONCURRENCE.md +0 -0
  316. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/MULTIMODAL_TOOLS_GUIDE.md +0 -0
  317. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/OBSERVABILITY_GUIDE.md +0 -0
  318. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/OPENSHELL_GATEWAY_HOST_SETUP.md +0 -0
  319. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/PYPI_PUBLISHING.md +0 -0
  320. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/QA_STREAMING_LATENCY.md +0 -0
  321. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/SCREENSHOTS_GUIDE.md +0 -0
  322. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/SECRETS_MANAGEMENT.md +0 -0
  323. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/SECURITY_HARDENING.md +0 -0
  324. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/SPEC_CROSS_MODEL_HISTORY_CONVERSION.md +0 -0
  325. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/SSE_NOTIFICATIONS_GUIDE.md +0 -0
  326. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/STREAMING_EVENTS_FRONTEND.md +0 -0
  327. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/TOOLS_AND_MCP_GUIDE.md +0 -0
  328. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/WORKSPACE_INTEGRATION.md +0 -0
  329. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/framework_audit_remarques.md +0 -0
  330. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/helper_agent.md +0 -0
  331. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/index.md +0 -0
  332. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/docs/installation-guide.md +0 -0
  333. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/examples/README.md +0 -0
  334. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/examples/agent_context_budget_test.py +0 -0
  335. {agent_framework_lib-0.8.9.post3/agent_framework/web/docs → agent_framework_lib-0.8.10}/examples/agent_example_multi_skills.py +0 -0
  336. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/examples/agent_exemple_test.py +0 -0
  337. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/examples/agent_training_with_apo.py +0 -0
  338. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/examples/agent_with_custom_tools_file_storage.py +0 -0
  339. {agent_framework_lib-0.8.9.post3/agent_framework/web/docs → agent_framework_lib-0.8.10}/examples/agent_with_file_storage.py +0 -0
  340. {agent_framework_lib-0.8.9.post3/agent_framework/web/docs → agent_framework_lib-0.8.10}/examples/agent_with_mcp.py +0 -0
  341. {agent_framework_lib-0.8.9.post3/agent_framework/web/docs → agent_framework_lib-0.8.10}/examples/agent_with_memory_graphiti.py +0 -0
  342. {agent_framework_lib-0.8.9.post3/agent_framework/web/docs → agent_framework_lib-0.8.10}/examples/agent_with_memory_hybrid.py +0 -0
  343. {agent_framework_lib-0.8.9.post3/agent_framework/web/docs → agent_framework_lib-0.8.10}/examples/agent_with_memory_simple.py +0 -0
  344. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/examples/agent_with_personalization.py +0 -0
  345. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/examples/biagenttest.py +0 -0
  346. {agent_framework_lib-0.8.9.post3/agent_framework/web/docs → agent_framework_lib-0.8.10}/examples/custom_framework_agent.py +0 -0
  347. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/examples/dependencies/docker-compose.yaml +0 -0
  348. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/examples/pyproject.toml +0 -0
  349. {agent_framework_lib-0.8.9.post3/agent_framework/web/docs → agent_framework_lib-0.8.10}/examples/simple_agent.py +0 -0
  350. {agent_framework_lib-0.8.9.post3/agent_framework/web/docs → agent_framework_lib-0.8.10}/examples/skills_demo_agent.py +0 -0
  351. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/examples/test_work_patterns_live.py +0 -0
  352. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/examples/workflow_engine_example.py +0 -0
  353. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/examples/workspace_test_agent.py +0 -0
  354. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/setup.cfg +0 -0
  355. {agent_framework_lib-0.8.9.post3 → agent_framework_lib-0.8.10}/setup.py +0 -0
@@ -0,0 +1,96 @@
1
+ # PolyForm Internal Use License 1.0.0
2
+
3
+ <https://polyformproject.org/licenses/internal-use/1.0.0>
4
+
5
+ ## Acceptance
6
+
7
+ In order to get any license under these terms, you must agree
8
+ to them as both strict obligations and conditions to all
9
+ your licenses.
10
+
11
+ ## Copyright License
12
+
13
+ The licensor grants you a copyright license for the software
14
+ to do everything you might do with the software that would
15
+ otherwise infringe the licensor's copyright in it for any
16
+ permitted purpose. However, you may only make changes or
17
+ new works based on the software according to [Changes and New
18
+ Works License](#changes-and-new-works-license), and you may
19
+ not distribute the software.
20
+
21
+ ## Changes and New Works License
22
+
23
+ The licensor grants you an additional copyright license to
24
+ make changes and new works based on the software for any
25
+ permitted purpose.
26
+
27
+ ## Patent License
28
+
29
+ The licensor grants you a patent license for the software that
30
+ covers patent claims the licensor can license, or becomes able
31
+ to license, that you would infringe by using the software.
32
+
33
+ ## Fair Use
34
+
35
+ You may have "fair use" rights for the software under the
36
+ law. These terms do not limit them.
37
+
38
+ ## Internal Business Use
39
+
40
+ Use of the software for the internal business operations of
41
+ you and your company is use for a permitted purpose.
42
+
43
+ ## No Other Rights
44
+
45
+ These terms do not allow you to sublicense or transfer any of
46
+ your licenses to anyone else, or prevent the licensor from
47
+ granting licenses to anyone else. These terms do not imply
48
+ any other licenses.
49
+
50
+ ## Patent Defense
51
+
52
+ If you make any written claim that the software infringes or
53
+ contributes to infringement of any patent, your patent license
54
+ for the software granted under these terms ends immediately. If
55
+ your company makes such a claim, your patent license ends
56
+ immediately for work on behalf of your company.
57
+
58
+ ## Violations
59
+
60
+ The first time you are notified in writing that you have
61
+ violated any of these terms, or done anything with the software
62
+ not covered by your licenses, your licenses can nonetheless
63
+ continue if you come into full compliance with these terms,
64
+ and take practical steps to correct past violations, within
65
+ 32 days of receiving notice. Otherwise, all your licenses
66
+ end immediately.
67
+
68
+ ## No Liability
69
+
70
+ ***As far as the law allows, the software comes as is, without
71
+ any warranty or condition, and the licensor will not be liable
72
+ to you for any damages arising out of these terms or the use
73
+ or nature of the software, under any kind of legal claim.***
74
+
75
+ ## Definitions
76
+
77
+ The **licensor** is the individual or entity offering these
78
+ terms, and the **software** is the software the licensor makes
79
+ available under these terms.
80
+
81
+ **You** refers to the individual or entity agreeing to these
82
+ terms.
83
+
84
+ **Your company** is any legal entity, sole proprietorship,
85
+ or other kind of organization that you work for, plus all
86
+ organizations that have control over, are under the control of,
87
+ or are under common control with that organization. **Control**
88
+ means ownership of substantially all the assets of an entity,
89
+ or the power to direct its management and policies by vote,
90
+ contract, or otherwise. Control can be direct or indirect.
91
+
92
+ **Your licenses** are all the licenses granted to you for the
93
+ software under these terms.
94
+
95
+ **Use** means anything you do with the software requiring one
96
+ of your licenses.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-framework-lib
3
- Version: 0.8.9.post3
3
+ Version: 0.8.10
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>
@@ -60,7 +60,7 @@ Requires-Dist: llama-index>=0.14.16
60
60
  Requires-Dist: llama-index-core>=0.14.16
61
61
  Requires-Dist: llama-index-workflows>=2.16.0
62
62
  Requires-Dist: llama-index-llms-openai>=0.7.9
63
- Requires-Dist: llama-index-llms-anthropic>=0.11.5
63
+ Requires-Dist: llama-index-llms-anthropic>=0.11.8
64
64
  Requires-Dist: llama-index-llms-google-genai>=0.1.0
65
65
  Requires-Dist: graphiti-core>=0.24.3
66
66
  Requires-Dist: tiktoken>=0.8.0
@@ -83,7 +83,7 @@ Requires-Dist: llama-index-core>=0.14.16; extra == "llamaindex"
83
83
  Requires-Dist: llama-index-workflows>=2.16.0; extra == "llamaindex"
84
84
  Requires-Dist: llama-index-llms-openai>=0.7.9; extra == "llamaindex"
85
85
  Requires-Dist: llama-index-llms-google-genai>=0.1.0; extra == "llamaindex"
86
- Requires-Dist: llama-index-llms-anthropic>=0.11.5; extra == "llamaindex"
86
+ Requires-Dist: llama-index-llms-anthropic>=0.11.8; extra == "llamaindex"
87
87
  Provides-Extra: langgraph
88
88
  Requires-Dist: langgraph>=0.2.0; extra == "langgraph"
89
89
  Provides-Extra: mcp
@@ -430,7 +430,7 @@ ANTHROPIC_API_KEY=sk-ant-your-anthropic-key
430
430
  GEMINI_API_KEY=your-gemini-key
431
431
 
432
432
  # Model Configuration
433
- DEFAULT_MODEL=gpt-5.4-mini
433
+ DEFAULT_MODEL=claude-haiku-4-5-20251001
434
434
 
435
435
  # Multi-Model Routing (Auto Mode)
436
436
  DEFAULT_MODEL_MODE=auto # "auto" or specific model name
@@ -577,7 +577,7 @@ class MyAgent(LlamaIndexAgent):
577
577
  )
578
578
  # Default model config (can be overridden per session)
579
579
  self.default_temperature = 0.7
580
- self.default_model = "gpt-5.4-mini"
580
+ self.default_model = "claude-haiku-4-5-20251001"
581
581
  ```
582
582
 
583
583
  **Runtime Configuration:**
@@ -272,7 +272,7 @@ ANTHROPIC_API_KEY=sk-ant-your-anthropic-key
272
272
  GEMINI_API_KEY=your-gemini-key
273
273
 
274
274
  # Model Configuration
275
- DEFAULT_MODEL=gpt-5.4-mini
275
+ DEFAULT_MODEL=claude-haiku-4-5-20251001
276
276
 
277
277
  # Multi-Model Routing (Auto Mode)
278
278
  DEFAULT_MODEL_MODE=auto # "auto" or specific model name
@@ -419,7 +419,7 @@ class MyAgent(LlamaIndexAgent):
419
419
  )
420
420
  # Default model config (can be overridden per session)
421
421
  self.default_temperature = 0.7
422
- self.default_model = "gpt-5.4-mini"
422
+ self.default_model = "claude-haiku-4-5-20251001"
423
423
  ```
424
424
 
425
425
  **Runtime Configuration:**
@@ -48,7 +48,7 @@ from .agent_interface import (
48
48
  TextOutputPart,
49
49
  TextOutputStreamPart,
50
50
  )
51
- from .model_config import model_config
51
+ from .model_config import FRAMEWORK_DEFAULT_MODEL, model_config
52
52
  from .models import Tag
53
53
 
54
54
 
@@ -703,7 +703,7 @@ class BaseAgent(SkillsMixin, MemoryMixin, AgentInterface):
703
703
  )
704
704
  if not candidate:
705
705
  # Final fallback if nothing is configured
706
- return "gpt-4o-mini"
706
+ return FRAMEWORK_DEFAULT_MODEL
707
707
  return candidate
708
708
 
709
709
  def _ensure_agent_built(self):
@@ -1116,7 +1116,7 @@ class BaseAgent(SkillsMixin, MemoryMixin, AgentInterface):
1116
1116
  user_id,
1117
1117
  work_profile.total_interactions,
1118
1118
  )
1119
- return "\n\n[Directives de travail]\n" f"{directives}"
1119
+ return f"\n\n[Directives de travail]\n{directives}"
1120
1120
  except Exception as e:
1121
1121
  logger.debug("Work pattern injection skipped: %s", e)
1122
1122
  return ""
@@ -1241,7 +1241,7 @@ class BaseAgent(SkillsMixin, MemoryMixin, AgentInterface):
1241
1241
  if parts_text:
1242
1242
  for i, text in enumerate(parts_text):
1243
1243
  logger.info(
1244
- f"[_build_full_query] Part {i+1} length: {len(text)} chars, preview: {text[:200]}..."
1244
+ f"[_build_full_query] Part {i + 1} length: {len(text)} chars, preview: {text[:200]}..."
1245
1245
  )
1246
1246
 
1247
1247
  # Add timestamp for temporal awareness
@@ -1353,8 +1353,7 @@ class BaseAgent(SkillsMixin, MemoryMixin, AgentInterface):
1353
1353
 
1354
1354
  if success:
1355
1355
  logger.info(
1356
- "[MEMORY_STORE] Auto-stored interaction for user=%s "
1357
- "(response_len=%d)",
1356
+ "[MEMORY_STORE] Auto-stored interaction for user=%s (response_len=%d)",
1358
1357
  user_id,
1359
1358
  len(response_text),
1360
1359
  )
@@ -45,9 +45,17 @@ class ModelContextRegistry:
45
45
  "gpt-5.4": 1_050_000,
46
46
  "gpt-5.5": 400_000,
47
47
  "claude-opus-4-6": 200_000,
48
+ "claude-opus-4-7": 200_000,
48
49
  "claude-opus-4-8": 200_000,
49
50
  "claude-sonnet-4-6": 1_000_000,
50
51
  "claude-opus-4-5-20251101": 200_000,
52
+ # Claude 5 (disponibles depuis juin-août 2026) : 1M de contexte.
53
+ "claude-sonnet-5": 1_000_000,
54
+ "claude-opus-5": 1_000_000,
55
+ "claude-fable-5": 1_000_000,
56
+ "claude-fable-5-1": 1_000_000,
57
+ "gpt-5.4-pro": 1_050_000,
58
+ "gpt-5.5-pro": 400_000,
51
59
  "gemini-2.5-pro": 1_048_576,
52
60
  "gemini-3.1-pro-preview": 1_048_576,
53
61
  }
@@ -5,13 +5,20 @@ Creates appropriate model clients (OpenAI, Anthropic, Gemini, etc.) based on mod
5
5
  This module is framework-agnostic and uses native client libraries.
6
6
  """
7
7
 
8
+ import inspect
8
9
  import json
9
10
  import logging
10
11
  import re
11
12
  from typing import Any, cast
12
13
 
13
14
  from .agent_interface import AgentConfig
14
- from .model_config import ModelConfigManager, ModelProvider, model_config
15
+ from .model_config import (
16
+ ANTHROPIC_SAMPLING_PARAMS,
17
+ ModelConfigManager,
18
+ ModelProvider,
19
+ anthropic_supports_sampling,
20
+ model_config,
21
+ )
15
22
 
16
23
 
17
24
  logger = logging.getLogger(__name__)
@@ -175,6 +182,70 @@ def _patch_openai_client_for_sanitization(llm: Any) -> None:
175
182
  logger.info("[OpenAI Sanitizer] Patched LlamaIndex OpenAI LLM for cross-provider compatibility")
176
183
 
177
184
 
185
+ _SAMPLING_DROP_WARNED: set[tuple[str, str]] = set()
186
+
187
+
188
+ def _callable_accepts_kwarg(fn: Any, name: str) -> bool | None:
189
+ """True/False si la signature de ``fn`` tranche, None si on ne peut pas savoir.
190
+
191
+ ``None`` (signature introuvable, ou ``**kwargs`` accepté) → on laisse passer :
192
+ c'est le cas des doubles de test (``AsyncMock``) et des SDK non introspectables.
193
+ """
194
+ if fn is None:
195
+ return None
196
+ try:
197
+ params = inspect.signature(fn).parameters
198
+ except (TypeError, ValueError):
199
+ return None
200
+ if any(p.kind is inspect.Parameter.VAR_KEYWORD for p in params.values()):
201
+ return None
202
+ return name in params
203
+
204
+
205
+ def strip_unsupported_anthropic_kwargs(
206
+ create_fn: Any, kwargs: dict[str, Any], *, model: str | None = None
207
+ ) -> dict[str, Any]:
208
+ """Retire temperature / top_p / top_k quand le SDK ou le modèle ne les accepte plus.
209
+
210
+ Deux sources de vérité, cumulées :
211
+ 1. **le modèle** — Claude Opus 4.7+, Sonnet 5, Opus 5, Fable 5 refusent le sampling
212
+ (``anthropic_supports_sampling``) ;
213
+ 2. **le SDK** — ``anthropic`` >= 1.0 a retiré ces arguments de ``messages.create`` :
214
+ la signature réelle fait foi (introspection), ce qui couvre aussi les versions
215
+ futures sans mise à jour de liste.
216
+
217
+ Ne modifie pas ``kwargs`` en place. Journalise une fois par (paramètre, raison).
218
+ """
219
+ present = [name for name in ANTHROPIC_SAMPLING_PARAMS if name in kwargs]
220
+ if not present:
221
+ return kwargs
222
+
223
+ reason: str | None = None
224
+ if not anthropic_supports_sampling(model):
225
+ reason = f"modèle {model} sans sampling"
226
+ else:
227
+ rejected = [name for name in present if _callable_accepts_kwarg(create_fn, name) is False]
228
+ if rejected:
229
+ present = rejected
230
+ reason = "absent de la signature du SDK anthropic installé"
231
+
232
+ if reason is None:
233
+ return kwargs
234
+
235
+ cleaned = {k: v for k, v in kwargs.items() if k not in present}
236
+ for name in present:
237
+ key = (name, reason)
238
+ if key not in _SAMPLING_DROP_WARNED:
239
+ _SAMPLING_DROP_WARNED.add(key)
240
+ logger.warning(
241
+ "[Anthropic] paramètre '%s' ignoré (%s) — valeur %r non envoyée",
242
+ name,
243
+ reason,
244
+ kwargs.get(name),
245
+ )
246
+ return cleaned
247
+
248
+
178
249
  def _patch_anthropic_client_for_sanitization(llm: Any) -> None:
179
250
  """
180
251
  Patch the LlamaIndex Anthropic LLM to sanitize messages before API calls.
@@ -262,9 +333,18 @@ def _patch_anthropic_client_for_sanitization(llm: Any) -> None:
262
333
  original_create = messages_api.create
263
334
 
264
335
  async def sanitizing_create(*args, **kwargs):
265
- """Wrapper that sanitizes messages before calling Anthropic API."""
336
+ """Wrapper that sanitizes messages before calling Anthropic API.
337
+
338
+ Also drops the sampling parameters (temperature / top_p / top_k) that the
339
+ installed SDK or the target model no longer accepts — llama-index still
340
+ sends ``temperature`` for pre-Claude-5 models, and ``anthropic`` >= 1.0
341
+ removed the argument from ``messages.create`` altogether.
342
+ """
266
343
  if "messages" in kwargs:
267
344
  kwargs["messages"] = _sanitize_anthropic_messages(kwargs["messages"])
345
+ kwargs = strip_unsupported_anthropic_kwargs(
346
+ original_create, kwargs, model=kwargs.get("model")
347
+ )
268
348
  return await original_create(*args, **kwargs)
269
349
 
270
350
  messages_api.create = sanitizing_create
@@ -1430,7 +1510,9 @@ def _ensure_openai_json_keyword(
1430
1510
  return messages
1431
1511
  for msg in messages:
1432
1512
  content = msg.get("content")
1433
- text = content if isinstance(content, str) else (str(content) if content is not None else "")
1513
+ text = (
1514
+ content if isinstance(content, str) else (str(content) if content is not None else "")
1515
+ )
1434
1516
  if "json" in text.lower():
1435
1517
  return messages
1436
1518
  return list(messages) + [
@@ -1634,6 +1716,10 @@ async def _execute_anthropic(
1634
1716
  create_kwargs["system"] = system_text
1635
1717
  if output_config is not None:
1636
1718
  create_kwargs["output_config"] = output_config
1719
+ # SDK anthropic >= 1.0 et modèles Claude >= Opus 4.7 : plus de temperature/top_p/top_k.
1720
+ create_kwargs = strip_unsupported_anthropic_kwargs(
1721
+ getattr(getattr(client, "messages", None), "create", None), create_kwargs, model=model
1722
+ )
1637
1723
 
1638
1724
  if stream:
1639
1725
 
@@ -14,7 +14,7 @@ This module provides:
14
14
  Environment Variables:
15
15
  - OPENAI_API_KEY: OpenAI API key
16
16
  - GEMINI_API_KEY: Google Gemini API key
17
- - DEFAULT_MODEL: Default model to use (default: "gpt-5.4-mini")
17
+ - DEFAULT_MODEL: Default model to use (default: "claude-haiku-4-5-20251001")
18
18
  - OPENAI_MODELS: Comma-separated list of OpenAI model names
19
19
  - GEMINI_MODELS: Comma-separated list of Gemini model names
20
20
  - FALLBACK_PROVIDER: Provider to use when model provider is unknown
@@ -50,6 +50,12 @@ except ImportError:
50
50
  logger = logging.getLogger(__name__)
51
51
 
52
52
 
53
+ # Modèle par défaut du framework quand rien n'est configuré (DEFAULT_MODEL absent,
54
+ # classifieur du routeur, titres de session, compresseur, agent d'aide…).
55
+ # Décision Komus 15/09/2026 : Claude Haiku 4.5 partout (rapide, peu cher, vision).
56
+ FRAMEWORK_DEFAULT_MODEL: Final[str] = "claude-haiku-4-5-20251001"
57
+
58
+
53
59
  class ModelProvider(Enum):
54
60
  """
55
61
  Supported model providers.
@@ -86,11 +92,18 @@ class ModelConfigManager:
86
92
  """
87
93
 
88
94
  # Default model mappings (can be overridden by environment variables)
95
+ # Modèles constatés sur les comptes Komus le 15/09/2026 (GET /v1/models des deux
96
+ # fournisseurs). Un id absent d'ici reste routé par motif (« gpt », « claude »).
89
97
  DEFAULT_OPENAI_MODELS: Final[list[str]] = [
90
98
  "gpt-5.4-nano",
91
99
  "gpt-5.4-mini",
92
100
  "gpt-5.4",
101
+ "gpt-5.4-pro",
93
102
  "gpt-5.5",
103
+ "gpt-5.5-pro",
104
+ "gpt-5.6-sol",
105
+ "gpt-5.6-terra",
106
+ "gpt-5.6-luna",
94
107
  ]
95
108
 
96
109
  DEFAULT_ANTHROPIC_MODELS: Final[list[str]] = [
@@ -98,7 +111,12 @@ class ModelConfigManager:
98
111
  "claude-sonnet-4-6",
99
112
  "claude-opus-4-5-20251101",
100
113
  "claude-opus-4-6",
114
+ "claude-opus-4-7",
101
115
  "claude-opus-4-8",
116
+ "claude-sonnet-5",
117
+ "claude-opus-5",
118
+ "claude-fable-5",
119
+ "claude-fable-5-1",
102
120
  ]
103
121
 
104
122
  DEFAULT_GEMINI_MODELS: Final[list[str]] = [
@@ -150,7 +168,7 @@ class ModelConfigManager:
150
168
  self.gemini_api_key = os.getenv("GEMINI_API_KEY", "")
151
169
 
152
170
  # Default model
153
- self.default_model = os.getenv("DEFAULT_MODEL", "gpt-5.4-mini")
171
+ self.default_model = os.getenv("DEFAULT_MODEL", FRAMEWORK_DEFAULT_MODEL)
154
172
 
155
173
  # Model mappings from environment (with fallbacks to defaults)
156
174
  openai_models_str = os.getenv("OPENAI_MODELS", "")
@@ -532,7 +550,7 @@ class ModelConfigManager:
532
550
  ```python
533
551
  model_config.register_agent_config("my-agent", {
534
552
  "system_prompt": "You are a helpful assistant.",
535
- "model_name": "gpt-5.4-minio",
553
+ "model_name": "claude-haiku-4-5-20251001",
536
554
  "model_config": {"temperature": 0.7, "max_tokens": 50000}
537
555
  })
538
556
  ```
@@ -876,3 +894,35 @@ class ModelConfigManager:
876
894
 
877
895
  # Global instance
878
896
  model_config = ModelConfigManager()
897
+
898
+
899
+ # ---------------------------------------------------------------------------
900
+ # Anthropic : paramètres de sampling (temperature / top_p / top_k)
901
+ # ---------------------------------------------------------------------------
902
+ # Depuis Claude Opus 4.7 et toute la famille Claude 5, l'API Messages refuse
903
+ # ``temperature``/``top_p``/``top_k`` ; le SDK ``anthropic`` >= 1.0 (09/2026) les a
904
+ # retirés de ``messages.create`` pour TOUS les modèles (TypeError « unexpected keyword
905
+ # argument 'temperature' » constatée en prod le 15/09/2026 sur claude-sonnet-4-6).
906
+ # Les deux cas sont traités dans ``model_clients`` : règle par modèle ci-dessous +
907
+ # introspection de la signature du SDK.
908
+ ANTHROPIC_NO_SAMPLING_MODELS: Final[tuple[str, ...]] = (
909
+ "claude-opus-4-7",
910
+ "claude-opus-4-8",
911
+ "claude-sonnet-5",
912
+ "claude-opus-5",
913
+ "claude-fable-5",
914
+ )
915
+
916
+ ANTHROPIC_SAMPLING_PARAMS: Final[tuple[str, ...]] = ("temperature", "top_p", "top_k")
917
+
918
+
919
+ def anthropic_supports_sampling(model_name: str | None) -> bool:
920
+ """True si le modèle Anthropic accepte encore temperature / top_p / top_k.
921
+
922
+ Correspondance par sous-chaîne (comme llama-index) : ``claude-fable-5-1`` et
923
+ ``anthropic.claude-opus-5-…`` (Bedrock) tombent dans la règle. ``None`` → True.
924
+ """
925
+ if not model_name:
926
+ return True
927
+ lowered = model_name.lower()
928
+ return not any(marker in lowered for marker in ANTHROPIC_NO_SAMPLING_MODELS)
@@ -138,14 +138,19 @@ class ModelRouter:
138
138
  "gemini-3.1-flash-lite-preview",
139
139
  ]
140
140
  DEFAULT_STANDARD_MODELS: list[str] = [
141
+ "claude-sonnet-5",
141
142
  "claude-sonnet-4-6",
142
143
  "gpt-5.4-mini",
143
144
  "gemini-2.5-flash",
144
145
  "gemini-3-flash-preview",
145
146
  ]
146
147
  DEFAULT_ADVANCED_MODELS: list[str] = [
148
+ "claude-opus-5",
149
+ "claude-fable-5-1",
147
150
  "claude-opus-4-8",
148
151
  "gpt-5.5",
152
+ "gpt-5.5-pro",
153
+ "claude-sonnet-5",
149
154
  "claude-sonnet-4-6",
150
155
  "claude-opus-4-6",
151
156
  "claude-opus-4-5-20251101",
@@ -193,7 +198,9 @@ class ModelRouter:
193
198
  )
194
199
 
195
200
  # Load classifier and default mode
196
- self.classifier_model = os.getenv("AUTO_CLASSIFIER_MODEL", "gpt-4o-mini")
201
+ from agent_framework.core.model_config import FRAMEWORK_DEFAULT_MODEL
202
+
203
+ self.classifier_model = os.getenv("AUTO_CLASSIFIER_MODEL", FRAMEWORK_DEFAULT_MODEL)
197
204
  self.default_mode = os.getenv("DEFAULT_MODEL_MODE", "auto")
198
205
 
199
206
  logger.info("[ModelRouter] Configuration loaded:")
@@ -20,6 +20,7 @@ from agent_framework.core.knowledge_state import (
20
20
  ToolCallSignature,
21
21
  ToolResultEntry,
22
22
  )
23
+ from agent_framework.core.model_config import FRAMEWORK_DEFAULT_MODEL
23
24
 
24
25
 
25
26
  if TYPE_CHECKING:
@@ -55,7 +56,7 @@ class ScratchpadCompressor:
55
56
  self,
56
57
  token_counter: TokenCounter,
57
58
  summarizer: ContextSummarizer | None = None,
58
- default_model: str = "gpt-4o-mini",
59
+ default_model: str = FRAMEWORK_DEFAULT_MODEL,
59
60
  ) -> None:
60
61
  self._token_counter = token_counter
61
62
  self._summarizer = summarizer
@@ -326,9 +327,10 @@ class ScratchpadCompressor:
326
327
  effective_model = model_name or self._default_model
327
328
  if not effective_model:
328
329
  logger.warning(
329
- "model_name et default_model sont vides, utilisation de 'gpt-4o-mini' en dernier recours"
330
+ "model_name et default_model sont vides, utilisation de %s en dernier recours",
331
+ FRAMEWORK_DEFAULT_MODEL,
330
332
  )
331
- effective_model = "gpt-4o-mini"
333
+ effective_model = FRAMEWORK_DEFAULT_MODEL
332
334
  if not scratchpad:
333
335
  return scratchpad
334
336
 
@@ -12,7 +12,7 @@ Key Features:
12
12
 
13
13
  Environment Variables:
14
14
  - AUTO_GENERATE_SESSION_TITLES: Enable/disable auto-generation (default: "true")
15
- - SESSION_TITLE_MODEL: LLM model for generation (default: "gpt-5.4-nano")
15
+ - SESSION_TITLE_MODEL: LLM model for generation (default: "claude-haiku-4-5-20251001")
16
16
  - SESSION_TITLE_MAX_TOKENS: Max tokens for title (default: 20)
17
17
  - SESSION_TITLE_TEMPERATURE: LLM temperature (default: 0.3)
18
18
  """
@@ -21,7 +21,8 @@ import logging
21
21
  import os
22
22
  import re
23
23
 
24
- from ..core.model_clients import OPENAI_AVAILABLE, ModelClientFactory
24
+ from ..core.model_clients import ModelClientFactory, execute_chat_completion
25
+ from ..core.model_config import FRAMEWORK_DEFAULT_MODEL, model_config
25
26
  from ..session.session_storage import SessionStorageInterface
26
27
 
27
28
 
@@ -29,7 +30,7 @@ logger = logging.getLogger(__name__)
29
30
 
30
31
  # Default configuration values
31
32
  DEFAULT_AUTO_GENERATE = True
32
- DEFAULT_MODEL = "gpt-4o-mini" # More reliable than gpt-5.4-mini for this task
33
+ DEFAULT_MODEL = FRAMEWORK_DEFAULT_MODEL
33
34
  DEFAULT_MAX_TOKENS = 30 # Increased for better title generation
34
35
  DEFAULT_TEMPERATURE = 0.3
35
36
  DEFAULT_LABEL = "Nouvelle session"
@@ -84,7 +85,7 @@ class SessionTitleGenerator:
84
85
  Initialize the session title generator.
85
86
 
86
87
  Args:
87
- model_name: LLM model to use for generation. Defaults to env var or gpt-5.4-nano.
88
+ model_name: LLM model to use for generation. Defaults to env var or the framework model.
88
89
  max_tokens: Maximum tokens for generated title. Defaults to env var or 20.
89
90
  temperature: LLM temperature. Defaults to env var or 0.3.
90
91
  auto_generate_enabled: Whether auto-generation is enabled. Defaults to env var or True.
@@ -311,10 +312,13 @@ class SessionTitleGenerator:
311
312
  """
312
313
  effective_model = model_name or self.model_name
313
314
 
314
- # Check if OpenAI is available (primary provider for title generation)
315
- if not OPENAI_AVAILABLE:
315
+ # Sans clé pour le fournisseur du modèle → extraction simple (pas d'appel LLM).
316
+ provider = model_config.get_provider_for_model(effective_model)
317
+ if not model_config.get_api_key_for_provider(provider):
316
318
  logger.warning(
317
- "[SessionTitleGenerator] OpenAI client not available, using simple extraction"
319
+ "[SessionTitleGenerator] No API key for %s (model %s), using simple extraction",
320
+ provider.value,
321
+ effective_model,
318
322
  )
319
323
  return self.extract_simple_title(user_message)
320
324
 
@@ -329,25 +333,34 @@ class SessionTitleGenerator:
329
333
  client = self._client_factory.create_client(
330
334
  model_name=effective_model or self.model_name
331
335
  )
332
-
333
- # Use max_completion_tokens for newer models (gpt-5-*), max_tokens for older ones
334
- completion_params = {
335
- "model": effective_model,
336
- "messages": [{"role": "user", "content": prompt}],
337
- }
338
-
339
- # gpt-5-* models use max_completion_tokens and only support temperature=1
340
- if effective_model.startswith("gpt-5"):
341
- completion_params["max_completion_tokens"] = self.max_tokens
342
- # gpt-5.4-mini only supports temperature=1 (default)
336
+ messages = [{"role": "user", "content": prompt}]
337
+
338
+ if hasattr(client, "chat"):
339
+ # SDK OpenAI : chemin historique (max_completion_tokens pour gpt-5-*).
340
+ completion_params: dict = {"model": effective_model, "messages": messages}
341
+ if effective_model.startswith("gpt-5"):
342
+ completion_params["max_completion_tokens"] = self.max_tokens
343
+ # gpt-5.x n'accepte que temperature=1 (défaut)
344
+ else:
345
+ completion_params["max_tokens"] = self.max_tokens
346
+ completion_params["temperature"] = self.temperature
347
+ response = await client.chat.completions.create(**completion_params)
348
+ raw_title = response.choices[0].message.content
343
349
  else:
344
- completion_params["max_tokens"] = self.max_tokens
345
- completion_params["temperature"] = self.temperature
346
-
347
- response = await client.chat.completions.create(**completion_params)
350
+ # Anthropic / Gemini : couche d'exécution neutre (gère les paramètres
351
+ # de sampling refusés par le SDK ou le modèle).
352
+ model_params = dict(getattr(client, "_model_params", None) or {})
353
+ model_params["model"] = effective_model
354
+ result = await execute_chat_completion(
355
+ client,
356
+ model_params,
357
+ messages,
358
+ max_tokens=self.max_tokens,
359
+ temperature=self.temperature,
360
+ )
361
+ raw_title = result.content
348
362
 
349
363
  # Extract and sanitize the title
350
- raw_title = response.choices[0].message.content
351
364
  logger.debug(f"[SessionTitleGenerator] Raw LLM response: '{raw_title}'")
352
365
  title = self.sanitize_title(raw_title)
353
366
 
@@ -211,7 +211,7 @@ def main() -> None:
211
211
  print("=" * 60)
212
212
  print("🚀 Starting Multi-Skills Agent Server")
213
213
  print("=" * 60)
214
- print(f"📊 Model: {os.getenv('DEFAULT_MODEL', 'gpt-4o-mini')}")
214
+ print(f"📊 Model: {os.getenv('DEFAULT_MODEL', 'claude-haiku-4-5-20251001')}")
215
215
  print("🎯 Skills: 12 built-in skills (tools auto-loaded)")
216
216
  print(f"🌐 Server: http://localhost:{port}")
217
217
  print(f"🎨 UI: http://localhost:{port}/ui")
@@ -159,7 +159,7 @@ def main():
159
159
  print("=" * 60)
160
160
  print("🚀 Starting File Storage Agent Server")
161
161
  print("=" * 60)
162
- print(f"📊 Model: {os.getenv('DEFAULT_MODEL', 'gpt-4o-mini')}")
162
+ print(f"📊 Model: {os.getenv('DEFAULT_MODEL', 'claude-haiku-4-5-20251001')}")
163
163
  print("🔧 Tools: create_file, list_files, read_file, create_pdf_from_markdown")
164
164
  print("💾 Storage: Local filesystem (default)")
165
165
  print(f"🌐 Server: http://localhost:{port}")
@@ -172,7 +172,7 @@ def main():
172
172
  print("=" * 60)
173
173
  print("🚀 Starting MCP Agent Server")
174
174
  print("=" * 60)
175
- print(f"📊 Model: {os.getenv('DEFAULT_MODEL', 'gpt-4o-mini')}")
175
+ print(f"📊 Model: {os.getenv('DEFAULT_MODEL', 'claude-haiku-4-5-20251001')}")
176
176
  print("🔧 Built-in Tools: greet")
177
177
  print("🔌 MCP Server: filesystem (if configured)")
178
178
  print(f"📁 MCP Directory: {os.getenv('MCP_FILESYSTEM_DIR', '~/mcp_workspace')}")