fred-runtime 4.1.0__tar.gz → 4.4.0__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 (268) hide show
  1. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/PKG-INFO +35 -27
  2. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/README.md +26 -20
  3. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/__main__.py +0 -1
  4. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/app/__init__.py +10 -0
  5. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/app/agent_app.py +1159 -400
  6. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/app/config.py +72 -7
  7. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/app/context.py +18 -0
  8. fred_runtime-4.4.0/fred_runtime/app/execution_diagnostics.py +64 -0
  9. fred_runtime-4.4.0/fred_runtime/app/filesystem_factory.py +55 -0
  10. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/app/openai_compat_router.py +108 -36
  11. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/capabilities/__init__.py +6 -1
  12. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/capabilities/assembly.py +23 -2
  13. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/capabilities/errors.py +17 -2
  14. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/capabilities/mcp.py +7 -32
  15. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/capabilities/registry.py +2 -1
  16. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/cli/history_display.py +5 -9
  17. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/cli/pod_client.py +0 -11
  18. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/cli/repl.py +2 -6
  19. fred_runtime-4.4.0/fred_runtime/common/background_tasks.py +37 -0
  20. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/common/context_aware_tool.py +150 -13
  21. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/common/kf_base_client.py +54 -14
  22. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/common/kf_http_client.py +3 -1
  23. fred_runtime-4.4.0/fred_runtime/common/mcp_interceptors.py +180 -0
  24. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/common/mcp_runtime.py +270 -124
  25. fred_runtime-4.4.0/fred_runtime/common/mcp_utils.py +573 -0
  26. fred_runtime-4.4.0/fred_runtime/common/outbound_credentials.py +397 -0
  27. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/common/tool_node_utils.py +7 -0
  28. fred_runtime-4.4.0/fred_runtime/conversation_filesystem.py +542 -0
  29. fred_runtime-4.4.0/fred_runtime/deep/concat_files.py +136 -0
  30. fred_runtime-4.4.0/fred_runtime/deep/conversation_backend.py +261 -0
  31. fred_runtime-4.4.0/fred_runtime/deep/conversation_port.py +166 -0
  32. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/deep/deep_runtime.py +163 -27
  33. fred_runtime-4.4.0/fred_runtime/execution_errors.py +30 -0
  34. fred_runtime-4.4.0/fred_runtime/graph/graph_executor.py +612 -0
  35. fred_runtime-4.4.0/fred_runtime/graph/graph_runtime.py +156 -0
  36. fred_runtime-4.4.0/fred_runtime/graph/node_context.py +998 -0
  37. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/integrations/v2_runtime/adapters.py +219 -33
  38. fred_runtime-4.4.0/fred_runtime/migrations/versions/__init__.py +15 -0
  39. fred_runtime-4.4.0/fred_runtime/migrations/versions/d4e5c6b7a8f9_drop_demo_echo_tables.py +52 -0
  40. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/model_routing/__init__.py +2 -1
  41. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/model_routing/provider.py +4 -0
  42. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/model_routing/resolver.py +1 -1
  43. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/middleware/__init__.py +18 -10
  44. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/middleware/dynamic_prompt.py +3 -3
  45. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/middleware/frame.py +13 -3
  46. fred_runtime-4.4.0/fred_runtime/react/middleware/hitl.py +226 -0
  47. fred_runtime-4.4.0/fred_runtime/react/middleware/tool_call_recovery.py +289 -0
  48. fred_runtime-4.4.0/fred_runtime/react/middleware/tool_observability.py +107 -0
  49. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/middleware/tracing_kpi.py +25 -14
  50. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/react_message_codec.py +4 -2
  51. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/react_runtime.py +404 -101
  52. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/react_stream_adapter.py +32 -3
  53. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/react_tool_loop.py +4 -2
  54. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/react_tool_rendering.py +10 -1
  55. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/react_tool_resolution.py +34 -1
  56. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/runtime_context.py +13 -1
  57. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/runtime_support/__init__.py +8 -0
  58. fred_runtime-4.4.0/fred_runtime/runtime_support/authority.py +38 -0
  59. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/runtime_support/checkpoints.py +27 -18
  60. fred_runtime-4.4.0/fred_runtime/runtime_support/run_scope.py +259 -0
  61. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/runtime_support/sql_checkpointer.py +93 -1
  62. fred_runtime-4.4.0/fred_runtime/runtime_support/tool_approval.py +261 -0
  63. fred_runtime-4.4.0/fred_runtime/runtime_support/tool_execution.py +282 -0
  64. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime.egg-info/PKG-INFO +35 -27
  65. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime.egg-info/SOURCES.txt +37 -22
  66. fred_runtime-4.4.0/fred_runtime.egg-info/entry_points.txt +2 -0
  67. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime.egg-info/requires.txt +8 -6
  68. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/pyproject.toml +14 -35
  69. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_agent_app.py +674 -220
  70. fred_runtime-4.4.0/tests/test_agent_config_assets_path.py +112 -0
  71. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_capability_agent_1973.py +10 -10
  72. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_capability_chat_parts_1977.py +21 -19
  73. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_capability_endpoints_1974.py +44 -52
  74. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_capability_registry_1973.py +32 -19
  75. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_capability_routes_tables_1979.py +71 -19
  76. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_capability_selection_1974.py +20 -20
  77. fred_runtime-4.1.0/fred_runtime/capabilities/document_label_search/__init__.py → fred_runtime-4.4.0/tests/test_checkpoint_namespace.py +17 -12
  78. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_context_aware_tool.py +74 -2
  79. fred_runtime-4.4.0/tests/test_conversation_filesystem.py +519 -0
  80. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_deep_agent_dispatch.py +12 -1
  81. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_deep_agent_hitl_integration.py +236 -4
  82. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_deep_agent_middleware.py +239 -21
  83. fred_runtime-4.4.0/tests/test_deep_compiled_filesystem_tools.py +311 -0
  84. fred_runtime-4.4.0/tests/test_deep_concat_files.py +325 -0
  85. fred_runtime-4.4.0/tests/test_deep_conversation_filesystem.py +321 -0
  86. fred_runtime-4.4.0/tests/test_deep_internal_filesystem.py +187 -0
  87. fred_runtime-4.4.0/tests/test_delegated_admission.py +2006 -0
  88. fred_runtime-4.4.0/tests/test_delegated_foreground_route.py +803 -0
  89. fred_runtime-4.4.0/tests/test_delegated_mcp.py +1264 -0
  90. fred_runtime-4.4.0/tests/test_delegation_receiver_integration.py +364 -0
  91. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_document_port_error_redaction.py +0 -77
  92. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_document_similarity_adapter.py +20 -0
  93. fred_runtime-4.4.0/tests/test_execution_diagnostics.py +129 -0
  94. fred_runtime-4.4.0/tests/test_filesystem_factory.py +266 -0
  95. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_fred_workspace_fs.py +8 -0
  96. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_graph_capability_bridge.py +184 -230
  97. fred_runtime-4.4.0/tests/test_graph_capability_hitl.py +233 -0
  98. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_graph_checkpoint_namespace.py +14 -0
  99. fred_runtime-4.4.0/tests/test_graph_executor_storage.py +234 -0
  100. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_graph_runtime_invoke_agent.py +5 -4
  101. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_graph_runtime_observability.py +90 -5
  102. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_graph_runtime_token_usage_totals.py +63 -7
  103. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_history.py +0 -2
  104. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_history_display.py +4 -70
  105. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_hitl_resume_langgraph_integration.py +2 -3
  106. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_migrations.py +3 -1
  107. fred_runtime-4.4.0/tests/test_openai_compat_router.py +1106 -0
  108. fred_runtime-4.4.0/tests/test_outbound_credential_paths.py +819 -0
  109. fred_runtime-4.4.0/tests/test_outbound_credentials.py +640 -0
  110. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_pod_client.py +2 -3
  111. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_rate_limit_retry_middleware.py +3 -0
  112. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_react_checkpoint_namespace.py +38 -33
  113. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_react_loop_regressions_1972.py +517 -21
  114. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_react_message_codec_resume.py +1 -19
  115. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_react_middleware_frame.py +9 -1
  116. fred_runtime-4.4.0/tests/test_react_token_usage_totals.py +617 -0
  117. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_react_tool_error_final_2244.py +47 -0
  118. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_react_tool_resolution.py +78 -0
  119. fred_runtime-4.4.0/tests/test_run_scope.py +136 -0
  120. fred_runtime-4.4.0/tests/test_run_stop_authority.py +744 -0
  121. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_runtime_context_prompt_injection.py +63 -2
  122. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_smoke.py +1 -2
  123. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_sql_checkpointer_owner.py +40 -0
  124. fred_runtime-4.4.0/tests/test_sql_checkpointer_session_postgres.py +130 -0
  125. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_team_wiki_adapter.py +37 -2
  126. fred_runtime-4.4.0/tests/test_tool_call_recovery.py +799 -0
  127. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_tool_observability_middleware.py +578 -20
  128. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_tracing_kpi_content_confinement.py +55 -4
  129. fred_runtime-4.1.0/fred_runtime/capabilities/demo.py +0 -214
  130. fred_runtime-4.1.0/fred_runtime/capabilities/demo_migrations/env.py +0 -40
  131. fred_runtime-4.1.0/fred_runtime/capabilities/demo_migrations/versions/d1e2m0a0b0c0_create_demo_echo_notes.py +0 -53
  132. fred_runtime-4.1.0/fred_runtime/capabilities/document_access/__init__.py +0 -42
  133. fred_runtime-4.1.0/fred_runtime/capabilities/document_access/capability.py +0 -778
  134. fred_runtime-4.1.0/fred_runtime/capabilities/document_extract/__init__.py +0 -28
  135. fred_runtime-4.1.0/fred_runtime/capabilities/document_extract/capability.py +0 -208
  136. fred_runtime-4.1.0/fred_runtime/capabilities/document_label_search/capability.py +0 -246
  137. fred_runtime-4.1.0/fred_runtime/capabilities/document_read_common.py +0 -259
  138. fred_runtime-4.1.0/fred_runtime/capabilities/document_similarity/__init__.py +0 -27
  139. fred_runtime-4.1.0/fred_runtime/capabilities/document_similarity/capability.py +0 -276
  140. fred_runtime-4.1.0/fred_runtime/capabilities/document_summarize/__init__.py +0 -38
  141. fred_runtime-4.1.0/fred_runtime/capabilities/document_summarize/capability.py +0 -378
  142. fred_runtime-4.1.0/fred_runtime/capabilities/document_verbatim/__init__.py +0 -27
  143. fred_runtime-4.1.0/fred_runtime/capabilities/document_verbatim/capability.py +0 -128
  144. fred_runtime-4.1.0/fred_runtime/common/mcp_interceptors.py +0 -85
  145. fred_runtime-4.1.0/fred_runtime/common/mcp_utils.py +0 -367
  146. fred_runtime-4.1.0/fred_runtime/graph/graph_runtime.py +0 -2354
  147. fred_runtime-4.1.0/fred_runtime/migrations/versions/__init__.py +0 -1
  148. fred_runtime-4.1.0/fred_runtime/react/middleware/hitl.py +0 -546
  149. fred_runtime-4.1.0/fred_runtime/react/middleware/tool_observability.py +0 -431
  150. fred_runtime-4.1.0/fred_runtime.egg-info/entry_points.txt +0 -11
  151. fred_runtime-4.1.0/tests/test_capability_document_access_1906.py +0 -997
  152. fred_runtime-4.1.0/tests/test_capability_document_label_search.py +0 -377
  153. fred_runtime-4.1.0/tests/test_capability_document_reading.py +0 -539
  154. fred_runtime-4.1.0/tests/test_capability_document_similarity.py +0 -313
  155. fred_runtime-4.1.0/tests/test_capability_document_summarize.py +0 -363
  156. fred_runtime-4.1.0/tests/test_capability_tool_return_convention.py +0 -213
  157. fred_runtime-4.1.0/tests/test_checkpoint_namespace.py +0 -21
  158. fred_runtime-4.1.0/tests/test_openai_compat_router.py +0 -378
  159. fred_runtime-4.1.0/tests/test_react_token_usage_totals.py +0 -289
  160. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/__init__.py +0 -0
  161. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/app/_catalogs.py +0 -0
  162. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/app/chat_input_limit.py +0 -0
  163. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/app/config_loader.py +0 -0
  164. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/app/container.py +0 -0
  165. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/app/dependencies.py +0 -0
  166. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/app/mcp_config.py +0 -0
  167. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/app/observability_factory.py +0 -0
  168. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/app/platform_sql.py +0 -0
  169. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/capabilities/assets.py +0 -0
  170. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/capabilities/openapi_dump.py +0 -0
  171. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/cli/__init__.py +0 -0
  172. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/cli/completion.py +0 -0
  173. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/cli/entrypoint.py +0 -0
  174. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/cli/kpi_display.py +0 -0
  175. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/cli/repl_helpers.py +0 -0
  176. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/cli/url_helpers.py +0 -0
  177. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/client.py +0 -0
  178. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/common/__init__.py +0 -0
  179. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/common/kf_document_client.py +0 -0
  180. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/common/kf_fast_text_client.py +0 -0
  181. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/common/kf_markdown_media_client.py +0 -0
  182. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/common/kf_tag_client.py +0 -0
  183. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/common/kf_vectorsearch_client.py +0 -0
  184. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/common/kf_workspace_client.py +0 -0
  185. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/common/mcp_toolkit.py +0 -0
  186. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/common/structures.py +0 -0
  187. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/common/table_hits.py +0 -0
  188. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/common/token_expiry.py +0 -0
  189. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/deep/__init__.py +0 -0
  190. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/eval/__init__.py +0 -0
  191. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/eval/collector.py +0 -0
  192. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/graph/__init__.py +0 -0
  193. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/integrations/__init__.py +0 -0
  194. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/integrations/inprocess_toolkit_registry.py +0 -0
  195. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/integrations/kf_vector_search/__init__.py +0 -0
  196. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/integrations/kf_vector_search/toolkit.py +0 -0
  197. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/integrations/v2_runtime/__init__.py +0 -0
  198. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/migrations/__init__.py +0 -0
  199. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/migrations/env.py +0 -0
  200. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/migrations/script.py.mako +0 -0
  201. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/migrations/versions/a1e2f3c4d5b6_create_session_history.py +0 -0
  202. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/migrations/versions/b2f3a4e5c6d7_add_exchange_id.py +0 -0
  203. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/migrations/versions/c3d4b5a6f7e8_add_team_and_instance.py +0 -0
  204. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/model_routing/authz.py +0 -0
  205. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/model_routing/catalog.py +0 -0
  206. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/model_routing/contracts.py +0 -0
  207. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/__init__.py +0 -0
  208. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/middleware/checkpoint_hygiene.py +0 -0
  209. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/middleware/rate_limit_retry.py +0 -0
  210. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/middleware/shared.py +0 -0
  211. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/react_langchain_adapter.py +0 -0
  212. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/react_model_adapter.py +0 -0
  213. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/react_prompting.py +0 -0
  214. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/react_tool_binding.py +0 -0
  215. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/react_tool_utils.py +0 -0
  216. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/react/react_tracing.py +0 -0
  217. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/runtime_support/model_metadata.py +0 -0
  218. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/runtime_support/request_context_helpers.py +0 -0
  219. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/runtime_support/trace_payloads.py +0 -0
  220. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/runtime_support/user_token_refresher.py +0 -0
  221. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/support/__init__.py +0 -0
  222. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/support/filesystem_context.py +0 -0
  223. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/support/thinking.py +0 -0
  224. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime/support/tool_loop.py +0 -0
  225. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime.egg-info/dependency_links.txt +0 -0
  226. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/fred_runtime.egg-info/top_level.txt +0 -0
  227. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/setup.cfg +0 -0
  228. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_capability_chat_controls_1976.py +0 -0
  229. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_chat_input_limit.py +0 -0
  230. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_client.py +0 -0
  231. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_config_loader.py +0 -0
  232. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_context.py +0 -0
  233. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_conversational_memory.py +0 -0
  234. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_document_read_scope.py +0 -0
  235. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_eval_collector.py +0 -0
  236. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_eval_trace.py +0 -0
  237. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_kf_base_client_refresh_shapes.py +0 -0
  238. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_kf_vector_search_toolkit.py +0 -0
  239. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_kf_workspace_client.py +0 -0
  240. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_knowledge_search_table_ordering.py +0 -0
  241. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_knowledge_search_tool_invoker_sources.py +0 -0
  242. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_kpi_display.py +0 -0
  243. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_langfuse_tracing.py +0 -0
  244. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_langgraph_interrupt_id_semantics.py +0 -0
  245. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_mcp_config.py +0 -0
  246. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_model_enforcement.py +0 -0
  247. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_model_metadata_cache_tokens.py +0 -0
  248. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_model_reasoning_enablement.py +0 -0
  249. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_model_routing.py +0 -0
  250. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_model_routing_provider.py +0 -0
  251. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_models_catalog_projection.py +0 -0
  252. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_platform_sql.py +0 -0
  253. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_platform_sql_postgres_integration.py +0 -0
  254. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_react_prompting.py +0 -0
  255. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_react_thinking.py +0 -0
  256. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_react_tool_binding_span_status.py +0 -0
  257. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_repl_helpers.py +0 -0
  258. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_similarity_search_tool_invoker.py +0 -0
  259. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_spike_capability_state_1971.py +0 -0
  260. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_sql_checkpointer_hitl_claim.py +0 -0
  261. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_table_repair_wiring.py +0 -0
  262. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_token_expiry.py +0 -0
  263. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_tool_carrier_middleware_naming.py +0 -0
  264. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_tool_loop_trim.py +0 -0
  265. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_trace_payloads.py +0 -0
  266. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_url_helpers.py +0 -0
  267. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_user_token_refresher.py +0 -0
  268. {fred_runtime-4.1.0 → fred_runtime-4.4.0}/tests/test_vector_similarity_search_retry.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fred-runtime
3
- Version: 4.1.0
3
+ Version: 4.4.0
4
4
  Summary: Runtime adapters and infrastructure wiring for Fred v2 agents.
5
5
  Author-email: Thales <noreply@thalesgroup.com>
6
6
  License: Apache-2.0
@@ -12,27 +12,29 @@ Classifier: Programming Language :: Python :: 3 :: Only
12
12
  Classifier: Operating System :: OS Independent
13
13
  Requires-Python: <3.13,>=3.12
14
14
  Description-Content-Type: text/markdown
15
- Requires-Dist: fred-core>=4.1.0
16
- Requires-Dist: fred-sdk[agents]>=4.1.0
15
+ Requires-Dist: fred-core>=4.4.0
16
+ Requires-Dist: fred-sdk[agents]>=4.4.0
17
17
  Requires-Dist: alembic>=1.18.4
18
- Requires-Dist: deepagents>=0.6.12
18
+ Requires-Dist: deepagents>=0.7.19
19
19
  Requires-Dist: httpx>=0.28.1
20
20
  Requires-Dist: langchain-mcp-adapters>=0.2.1
21
21
  Requires-Dist: mcp<2.0.0,>=1.24.0
22
- Requires-Dist: langchain>=1.3.14
23
- Requires-Dist: langchain-core>=0.3.0
24
- Requires-Dist: langgraph>=1.2.9
22
+ Requires-Dist: langchain>=1.4.2
23
+ Requires-Dist: langchain-core>=1.6.5
24
+ Requires-Dist: langgraph>=1.2.12
25
25
  Requires-Dist: langfuse>=3.0.0
26
26
  Requires-Dist: requests<3,>=2.32
27
27
  Requires-Dist: PyYAML>=6.0
28
28
  Requires-Dist: python-multipart>=0.0.9
29
29
  Provides-Extra: app
30
30
  Requires-Dist: fastapi>=0.139.0; extra == "app"
31
+ Requires-Dist: starlette>=0.48.0; extra == "app"
31
32
  Provides-Extra: dev
32
33
  Requires-Dist: bandit>=1.8.6; extra == "dev"
33
34
  Requires-Dist: basedpyright==1.31.0; extra == "dev"
34
35
  Requires-Dist: detect-secrets>=1.5.0; extra == "dev"
35
36
  Requires-Dist: pytest>=8.4.2; extra == "dev"
37
+ Requires-Dist: httpx2>=2.13.1; extra == "dev"
36
38
  Requires-Dist: pytest-asyncio>=1.2.0; extra == "dev"
37
39
  Requires-Dist: pytest-cov>=6.2.1; extra == "dev"
38
40
  Requires-Dist: pytest-socket>=0.7.0; extra == "dev"
@@ -49,25 +51,24 @@ factory so any agent pod is just a registry and a YAML file away from running.
49
51
 
50
52
  ## Where `fred-runtime` fits
51
53
 
52
- Fred follows a strict three-layer model:
53
-
54
54
  ```
55
- fred-core Pure utilities — model factories, embeddings, logging, KPI store
56
- │
57
- fred-sdk Execution engine + authoring surface (pip-installable, no infra)
58
- │ ReAct runtime, Graph runtime, agent contracts, tool abstractions
59
- │
60
- fred-runtime Platform adapters + pod factory (this package)
61
- SQL checkpointer, MCP wiring, LLM routing, OpenAI-compat surface,
62
- FastAPI app factory, observability, security middleware
55
+ fred-pod configuration, identity, naming
56
+ └── fred-sdk authoring contracts
57
+ └── [agents] + fred-core, langchain, langgraph
58
+ └── fred-runtime execution, MCP, model routing ← this package
59
+ └── [app] + the FastAPI pod factory → an agent pod
63
60
  ```
64
61
 
65
62
  **Rule of thumb:**
66
63
 
67
- - Write agent logic in `fred-sdk`.
64
+ - Write agent logic against `fred-sdk`.
68
65
  - Write infrastructure adapters (DB, MCP server, Keycloak, object store) in `fred-runtime`.
69
66
  - `fred-sdk` must stay importable on a bare laptop with no services running.
70
67
 
68
+ A Knowledge Base pod does not need this package. What a pod is, and which
69
+ package each kind installs:
70
+ [fred-pod](https://github.com/ThalesGroup/fred/tree/swift/libs/fred-pod).
71
+
71
72
  ---
72
73
 
73
74
  ## What's in the box
@@ -275,16 +276,23 @@ if __name__ == "__main__":
275
276
  **`registry.py`**
276
277
 
277
278
  ```python
278
- from fred_sdk.contracts.models import ReActAgentDefinition
279
+ from fred_sdk import ReActAgent
280
+
281
+ class MyAgent(ReActAgent):
282
+ agent_id: str = "acme.my.assistant"
283
+ role: str = "Assistant"
284
+ description: str = "Answers general questions."
285
+ system_prompt_template: str = "You are a concise assistant."
279
286
 
280
- class MyAgent(ReActAgentDefinition):
281
- agent_id = "my-agent"
282
- ...
287
+ MY_AGENT = MyAgent()
283
288
 
284
- REGISTRY = {MyAgent.agent_id: MyAgent()}
289
+ REGISTRY = {MY_AGENT.agent_id: MY_AGENT}
285
290
  ```
286
291
 
287
- See [fred-samples](https://github.com/ThalesGroup/fred-samples) for a working reference pod.
292
+ How to write agents and their tools: the
293
+ [fred-sdk README](https://github.com/ThalesGroup/fred/tree/swift/libs/fred-sdk).
294
+ [fred-samples](https://github.com/fred-agent/fred-samples/tree/swift/agents) is a
295
+ working pod with several agents.
288
296
 
289
297
  ---
290
298
 
@@ -292,9 +300,9 @@ See [fred-samples](https://github.com/ThalesGroup/fred-samples) for a working re
292
300
 
293
301
  | Package | PyPI | Role |
294
302
  | -------------- | ---------------------------------------------- | ----------------------------------------------------------------------------- |
295
- | `fred-pod` | [pypi](https://pypi.org/project/fred-pod/) | Pod floor — configuration, identity, naming |
296
- | `fred-core` | [pypi](https://pypi.org/project/fred-core/) | Pure utilities — logging, model factories, embeddings, portable observability |
297
- | `fred-sdk` | [pypi](https://pypi.org/project/fred-sdk/) | Agent authoring — ReAct, Graph, tool contracts |
303
+ | `fred-pod` | [pypi](https://pypi.org/project/fred-pod/) | What every pod shares — configuration, identity, naming |
304
+ | `fred-core` | [pypi](https://pypi.org/project/fred-core/) | The agents platform — stores, model providers, logging, observability |
305
+ | `fred-sdk` | [pypi](https://pypi.org/project/fred-sdk/) | Authoring — agents, tools, Knowledge Bases |
298
306
  | `fred-runtime` | [pypi](https://pypi.org/project/fred-runtime/) | This package |
299
307
 
300
308
  ---
@@ -9,25 +9,24 @@ factory so any agent pod is just a registry and a YAML file away from running.
9
9
 
10
10
  ## Where `fred-runtime` fits
11
11
 
12
- Fred follows a strict three-layer model:
13
-
14
12
  ```
15
- fred-core Pure utilities — model factories, embeddings, logging, KPI store
16
- │
17
- fred-sdk Execution engine + authoring surface (pip-installable, no infra)
18
- │ ReAct runtime, Graph runtime, agent contracts, tool abstractions
19
- │
20
- fred-runtime Platform adapters + pod factory (this package)
21
- SQL checkpointer, MCP wiring, LLM routing, OpenAI-compat surface,
22
- FastAPI app factory, observability, security middleware
13
+ fred-pod configuration, identity, naming
14
+ └── fred-sdk authoring contracts
15
+ └── [agents] + fred-core, langchain, langgraph
16
+ └── fred-runtime execution, MCP, model routing ← this package
17
+ └── [app] + the FastAPI pod factory → an agent pod
23
18
  ```
24
19
 
25
20
  **Rule of thumb:**
26
21
 
27
- - Write agent logic in `fred-sdk`.
22
+ - Write agent logic against `fred-sdk`.
28
23
  - Write infrastructure adapters (DB, MCP server, Keycloak, object store) in `fred-runtime`.
29
24
  - `fred-sdk` must stay importable on a bare laptop with no services running.
30
25
 
26
+ A Knowledge Base pod does not need this package. What a pod is, and which
27
+ package each kind installs:
28
+ [fred-pod](https://github.com/ThalesGroup/fred/tree/swift/libs/fred-pod).
29
+
31
30
  ---
32
31
 
33
32
  ## What's in the box
@@ -235,16 +234,23 @@ if __name__ == "__main__":
235
234
  **`registry.py`**
236
235
 
237
236
  ```python
238
- from fred_sdk.contracts.models import ReActAgentDefinition
237
+ from fred_sdk import ReActAgent
238
+
239
+ class MyAgent(ReActAgent):
240
+ agent_id: str = "acme.my.assistant"
241
+ role: str = "Assistant"
242
+ description: str = "Answers general questions."
243
+ system_prompt_template: str = "You are a concise assistant."
239
244
 
240
- class MyAgent(ReActAgentDefinition):
241
- agent_id = "my-agent"
242
- ...
245
+ MY_AGENT = MyAgent()
243
246
 
244
- REGISTRY = {MyAgent.agent_id: MyAgent()}
247
+ REGISTRY = {MY_AGENT.agent_id: MY_AGENT}
245
248
  ```
246
249
 
247
- See [fred-samples](https://github.com/ThalesGroup/fred-samples) for a working reference pod.
250
+ How to write agents and their tools: the
251
+ [fred-sdk README](https://github.com/ThalesGroup/fred/tree/swift/libs/fred-sdk).
252
+ [fred-samples](https://github.com/fred-agent/fred-samples/tree/swift/agents) is a
253
+ working pod with several agents.
248
254
 
249
255
  ---
250
256
 
@@ -252,9 +258,9 @@ See [fred-samples](https://github.com/ThalesGroup/fred-samples) for a working re
252
258
 
253
259
  | Package | PyPI | Role |
254
260
  | -------------- | ---------------------------------------------- | ----------------------------------------------------------------------------- |
255
- | `fred-pod` | [pypi](https://pypi.org/project/fred-pod/) | Pod floor — configuration, identity, naming |
256
- | `fred-core` | [pypi](https://pypi.org/project/fred-core/) | Pure utilities — logging, model factories, embeddings, portable observability |
257
- | `fred-sdk` | [pypi](https://pypi.org/project/fred-sdk/) | Agent authoring — ReAct, Graph, tool contracts |
261
+ | `fred-pod` | [pypi](https://pypi.org/project/fred-pod/) | What every pod shares — configuration, identity, naming |
262
+ | `fred-core` | [pypi](https://pypi.org/project/fred-core/) | The agents platform — stores, model providers, logging, observability |
263
+ | `fred-sdk` | [pypi](https://pypi.org/project/fred-sdk/) | Authoring — agents, tools, Knowledge Bases |
258
264
  | `fred-runtime` | [pypi](https://pypi.org/project/fred-runtime/) | This package |
259
265
 
260
266
  ---
@@ -77,7 +77,6 @@ def main(argv: list[str] | None = None) -> int:
77
77
  if args.command == "dump-openapi":
78
78
  return _cmd_dump_openapi(args)
79
79
  parser.error(f"unknown command: {args.command}")
80
- return 2
81
80
 
82
81
 
83
82
  if __name__ == "__main__":
@@ -21,7 +21,11 @@ Import from here:
21
21
  from .agent_app import create_agent_app
22
22
  from .config import (
23
23
  AgentPodConfig,
24
+ ConversationFilesystemQuotaConfig,
25
+ GcsRuntimeFilesystemConfig,
24
26
  LangfuseObservabilityConfig,
27
+ LocalRuntimeFilesystemConfig,
28
+ MinioRuntimeFilesystemConfig,
25
29
  PodAIConfig,
26
30
  PodAppConfig,
27
31
  PodObservabilityConfig,
@@ -35,10 +39,15 @@ from .config_loader import (
35
39
  get_loaded_env_file_path,
36
40
  load_agent_pod_config,
37
41
  )
42
+ from .filesystem_factory import build_runtime_filesystem
38
43
 
39
44
  __all__ = [
40
45
  "AgentPodConfig",
46
+ "ConversationFilesystemQuotaConfig",
47
+ "GcsRuntimeFilesystemConfig",
41
48
  "LangfuseObservabilityConfig",
49
+ "LocalRuntimeFilesystemConfig",
50
+ "MinioRuntimeFilesystemConfig",
42
51
  "PodAIConfig",
43
52
  "PodAppConfig",
44
53
  "PodObservabilityConfig",
@@ -46,6 +55,7 @@ __all__ = [
46
55
  "PodSchedulerConfig",
47
56
  "PodStorageConfig",
48
57
  "TracerBackend",
58
+ "build_runtime_filesystem",
49
59
  "create_agent_app",
50
60
  "get_loaded_config_file_path",
51
61
  "get_loaded_env_file_path",