fred-runtime 4.0.0__tar.gz → 4.3.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 (271) hide show
  1. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/PKG-INFO +39 -26
  2. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/README.md +30 -19
  3. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/__main__.py +0 -1
  4. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/app/__init__.py +10 -0
  5. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/app/agent_app.py +1143 -410
  6. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/app/config.py +72 -7
  7. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/app/context.py +18 -0
  8. fred_runtime-4.3.0/fred_runtime/app/execution_diagnostics.py +64 -0
  9. fred_runtime-4.3.0/fred_runtime/app/filesystem_factory.py +55 -0
  10. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/app/openai_compat_router.py +108 -36
  11. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/capabilities/__init__.py +6 -1
  12. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/capabilities/assembly.py +23 -2
  13. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/capabilities/errors.py +17 -2
  14. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/capabilities/mcp.py +7 -32
  15. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/capabilities/registry.py +2 -1
  16. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/cli/history_display.py +5 -9
  17. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/cli/pod_client.py +0 -11
  18. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/cli/repl.py +2 -6
  19. fred_runtime-4.3.0/fred_runtime/common/background_tasks.py +37 -0
  20. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/common/context_aware_tool.py +150 -13
  21. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/common/kf_base_client.py +53 -14
  22. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/common/kf_http_client.py +3 -1
  23. fred_runtime-4.3.0/fred_runtime/common/mcp_interceptors.py +185 -0
  24. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/common/mcp_runtime.py +270 -124
  25. fred_runtime-4.3.0/fred_runtime/common/mcp_utils.py +577 -0
  26. fred_runtime-4.3.0/fred_runtime/common/outbound_credentials.py +425 -0
  27. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/common/tool_node_utils.py +7 -0
  28. fred_runtime-4.3.0/fred_runtime/conversation_filesystem.py +542 -0
  29. fred_runtime-4.3.0/fred_runtime/deep/concat_files.py +136 -0
  30. fred_runtime-4.3.0/fred_runtime/deep/conversation_backend.py +261 -0
  31. fred_runtime-4.3.0/fred_runtime/deep/conversation_port.py +166 -0
  32. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/deep/deep_runtime.py +215 -40
  33. fred_runtime-4.3.0/fred_runtime/execution_errors.py +30 -0
  34. fred_runtime-4.3.0/fred_runtime/graph/graph_executor.py +612 -0
  35. fred_runtime-4.3.0/fred_runtime/graph/graph_runtime.py +156 -0
  36. fred_runtime-4.3.0/fred_runtime/graph/node_context.py +998 -0
  37. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/integrations/v2_runtime/adapters.py +223 -34
  38. fred_runtime-4.3.0/fred_runtime/migrations/versions/__init__.py +15 -0
  39. fred_runtime-4.3.0/fred_runtime/migrations/versions/d4e5c6b7a8f9_drop_demo_echo_tables.py +52 -0
  40. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/model_routing/__init__.py +2 -1
  41. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/model_routing/provider.py +4 -0
  42. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/model_routing/resolver.py +1 -1
  43. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/react/middleware/__init__.py +27 -10
  44. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/react/middleware/checkpoint_hygiene.py +5 -2
  45. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/react/middleware/dynamic_prompt.py +3 -3
  46. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/react/middleware/frame.py +19 -4
  47. fred_runtime-4.3.0/fred_runtime/react/middleware/hitl.py +226 -0
  48. fred_runtime-4.3.0/fred_runtime/react/middleware/rate_limit_retry.py +159 -0
  49. fred_runtime-4.3.0/fred_runtime/react/middleware/tool_call_recovery.py +289 -0
  50. fred_runtime-4.3.0/fred_runtime/react/middleware/tool_observability.py +107 -0
  51. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/react/middleware/tracing_kpi.py +25 -14
  52. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/react/react_message_codec.py +4 -2
  53. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/react/react_runtime.py +404 -101
  54. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/react/react_stream_adapter.py +32 -3
  55. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/react/react_tool_binding.py +15 -29
  56. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/react/react_tool_loop.py +4 -2
  57. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/react/react_tool_rendering.py +10 -1
  58. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/react/react_tool_resolution.py +36 -2
  59. fred_runtime-4.3.0/fred_runtime/react/react_tracing.py +86 -0
  60. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/runtime_context.py +13 -1
  61. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/runtime_support/__init__.py +8 -0
  62. fred_runtime-4.3.0/fred_runtime/runtime_support/authority.py +38 -0
  63. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/runtime_support/checkpoints.py +27 -18
  64. fred_runtime-4.3.0/fred_runtime/runtime_support/run_scope.py +259 -0
  65. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/runtime_support/sql_checkpointer.py +93 -1
  66. fred_runtime-4.3.0/fred_runtime/runtime_support/tool_approval.py +261 -0
  67. fred_runtime-4.3.0/fred_runtime/runtime_support/tool_execution.py +269 -0
  68. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/support/tool_loop.py +10 -0
  69. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime.egg-info/PKG-INFO +39 -26
  70. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime.egg-info/SOURCES.txt +39 -22
  71. fred_runtime-4.3.0/fred_runtime.egg-info/entry_points.txt +2 -0
  72. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime.egg-info/requires.txt +8 -6
  73. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/pyproject.toml +15 -35
  74. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_agent_app.py +639 -220
  75. fred_runtime-4.3.0/tests/test_agent_config_assets_path.py +112 -0
  76. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_capability_agent_1973.py +10 -10
  77. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_capability_chat_parts_1977.py +21 -19
  78. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_capability_endpoints_1974.py +44 -52
  79. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_capability_registry_1973.py +32 -19
  80. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_capability_routes_tables_1979.py +71 -19
  81. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_capability_selection_1974.py +20 -20
  82. fred_runtime-4.0.0/fred_runtime/capabilities/document_label_search/__init__.py → fred_runtime-4.3.0/tests/test_checkpoint_namespace.py +17 -12
  83. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_context_aware_tool.py +74 -2
  84. fred_runtime-4.3.0/tests/test_conversation_filesystem.py +519 -0
  85. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_deep_agent_dispatch.py +12 -1
  86. fred_runtime-4.3.0/tests/test_deep_agent_hitl_integration.py +1273 -0
  87. fred_runtime-4.3.0/tests/test_deep_agent_middleware.py +860 -0
  88. fred_runtime-4.3.0/tests/test_deep_compiled_filesystem_tools.py +311 -0
  89. fred_runtime-4.3.0/tests/test_deep_concat_files.py +325 -0
  90. fred_runtime-4.3.0/tests/test_deep_conversation_filesystem.py +321 -0
  91. fred_runtime-4.3.0/tests/test_deep_internal_filesystem.py +187 -0
  92. fred_runtime-4.3.0/tests/test_delegated_admission.py +1640 -0
  93. fred_runtime-4.3.0/tests/test_delegated_foreground_route.py +797 -0
  94. fred_runtime-4.3.0/tests/test_delegated_mcp.py +1109 -0
  95. fred_runtime-4.3.0/tests/test_delegation_receiver_integration.py +346 -0
  96. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_document_port_error_redaction.py +0 -77
  97. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_document_similarity_adapter.py +20 -0
  98. fred_runtime-4.3.0/tests/test_execution_diagnostics.py +129 -0
  99. fred_runtime-4.3.0/tests/test_filesystem_factory.py +266 -0
  100. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_fred_workspace_fs.py +8 -0
  101. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_graph_capability_bridge.py +184 -230
  102. fred_runtime-4.3.0/tests/test_graph_capability_hitl.py +233 -0
  103. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_graph_checkpoint_namespace.py +14 -0
  104. fred_runtime-4.3.0/tests/test_graph_executor_storage.py +234 -0
  105. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_graph_runtime_invoke_agent.py +5 -4
  106. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_graph_runtime_observability.py +90 -5
  107. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_graph_runtime_token_usage_totals.py +63 -7
  108. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_history.py +0 -2
  109. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_history_display.py +4 -70
  110. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_hitl_resume_langgraph_integration.py +10 -5
  111. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_langfuse_tracing.py +8 -0
  112. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_migrations.py +3 -1
  113. fred_runtime-4.3.0/tests/test_openai_compat_router.py +1103 -0
  114. fred_runtime-4.3.0/tests/test_outbound_credential_paths.py +786 -0
  115. fred_runtime-4.3.0/tests/test_outbound_credentials.py +576 -0
  116. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_pod_client.py +2 -3
  117. fred_runtime-4.3.0/tests/test_rate_limit_retry_middleware.py +557 -0
  118. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_react_checkpoint_namespace.py +38 -33
  119. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_react_loop_regressions_1972.py +517 -21
  120. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_react_message_codec_resume.py +1 -19
  121. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_react_middleware_frame.py +14 -3
  122. fred_runtime-4.3.0/tests/test_react_token_usage_totals.py +617 -0
  123. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_react_tool_error_final_2244.py +47 -0
  124. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_react_tool_resolution.py +78 -0
  125. fred_runtime-4.3.0/tests/test_run_scope.py +136 -0
  126. fred_runtime-4.3.0/tests/test_run_stop_authority.py +744 -0
  127. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_runtime_context_prompt_injection.py +63 -2
  128. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_smoke.py +1 -2
  129. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_sql_checkpointer_owner.py +40 -0
  130. fred_runtime-4.3.0/tests/test_sql_checkpointer_session_postgres.py +130 -0
  131. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_team_wiki_adapter.py +37 -2
  132. fred_runtime-4.3.0/tests/test_tool_call_recovery.py +799 -0
  133. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_tool_loop_trim.py +29 -0
  134. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_tool_observability_middleware.py +794 -19
  135. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_tracing_kpi_content_confinement.py +55 -4
  136. fred_runtime-4.0.0/fred_runtime/capabilities/demo.py +0 -214
  137. fred_runtime-4.0.0/fred_runtime/capabilities/demo_migrations/env.py +0 -40
  138. fred_runtime-4.0.0/fred_runtime/capabilities/demo_migrations/versions/d1e2m0a0b0c0_create_demo_echo_notes.py +0 -53
  139. fred_runtime-4.0.0/fred_runtime/capabilities/document_access/__init__.py +0 -42
  140. fred_runtime-4.0.0/fred_runtime/capabilities/document_access/capability.py +0 -778
  141. fred_runtime-4.0.0/fred_runtime/capabilities/document_extract/__init__.py +0 -28
  142. fred_runtime-4.0.0/fred_runtime/capabilities/document_extract/capability.py +0 -208
  143. fred_runtime-4.0.0/fred_runtime/capabilities/document_label_search/capability.py +0 -246
  144. fred_runtime-4.0.0/fred_runtime/capabilities/document_read_common.py +0 -259
  145. fred_runtime-4.0.0/fred_runtime/capabilities/document_similarity/__init__.py +0 -27
  146. fred_runtime-4.0.0/fred_runtime/capabilities/document_similarity/capability.py +0 -276
  147. fred_runtime-4.0.0/fred_runtime/capabilities/document_summarize/__init__.py +0 -38
  148. fred_runtime-4.0.0/fred_runtime/capabilities/document_summarize/capability.py +0 -378
  149. fred_runtime-4.0.0/fred_runtime/capabilities/document_verbatim/__init__.py +0 -27
  150. fred_runtime-4.0.0/fred_runtime/capabilities/document_verbatim/capability.py +0 -128
  151. fred_runtime-4.0.0/fred_runtime/common/mcp_interceptors.py +0 -85
  152. fred_runtime-4.0.0/fred_runtime/common/mcp_utils.py +0 -367
  153. fred_runtime-4.0.0/fred_runtime/graph/graph_runtime.py +0 -2354
  154. fred_runtime-4.0.0/fred_runtime/migrations/versions/__init__.py +0 -1
  155. fred_runtime-4.0.0/fred_runtime/react/middleware/hitl.py +0 -487
  156. fred_runtime-4.0.0/fred_runtime/react/middleware/tool_observability.py +0 -381
  157. fred_runtime-4.0.0/fred_runtime/react/react_tracing.py +0 -31
  158. fred_runtime-4.0.0/fred_runtime.egg-info/entry_points.txt +0 -11
  159. fred_runtime-4.0.0/tests/test_capability_document_access_1906.py +0 -997
  160. fred_runtime-4.0.0/tests/test_capability_document_label_search.py +0 -377
  161. fred_runtime-4.0.0/tests/test_capability_document_reading.py +0 -539
  162. fred_runtime-4.0.0/tests/test_capability_document_similarity.py +0 -313
  163. fred_runtime-4.0.0/tests/test_capability_document_summarize.py +0 -363
  164. fred_runtime-4.0.0/tests/test_capability_tool_return_convention.py +0 -213
  165. fred_runtime-4.0.0/tests/test_checkpoint_namespace.py +0 -21
  166. fred_runtime-4.0.0/tests/test_deep_agent_hitl_integration.py +0 -613
  167. fred_runtime-4.0.0/tests/test_deep_agent_middleware.py +0 -415
  168. fred_runtime-4.0.0/tests/test_openai_compat_router.py +0 -378
  169. fred_runtime-4.0.0/tests/test_react_token_usage_totals.py +0 -289
  170. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/__init__.py +0 -0
  171. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/app/_catalogs.py +0 -0
  172. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/app/chat_input_limit.py +0 -0
  173. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/app/config_loader.py +0 -0
  174. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/app/container.py +0 -0
  175. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/app/dependencies.py +0 -0
  176. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/app/mcp_config.py +0 -0
  177. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/app/observability_factory.py +0 -0
  178. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/app/platform_sql.py +0 -0
  179. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/capabilities/assets.py +0 -0
  180. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/capabilities/openapi_dump.py +0 -0
  181. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/cli/__init__.py +0 -0
  182. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/cli/completion.py +0 -0
  183. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/cli/entrypoint.py +0 -0
  184. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/cli/kpi_display.py +0 -0
  185. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/cli/repl_helpers.py +0 -0
  186. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/cli/url_helpers.py +0 -0
  187. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/client.py +0 -0
  188. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/common/__init__.py +0 -0
  189. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/common/kf_document_client.py +0 -0
  190. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/common/kf_fast_text_client.py +0 -0
  191. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/common/kf_markdown_media_client.py +0 -0
  192. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/common/kf_tag_client.py +0 -0
  193. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/common/kf_vectorsearch_client.py +0 -0
  194. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/common/kf_workspace_client.py +0 -0
  195. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/common/mcp_toolkit.py +0 -0
  196. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/common/structures.py +0 -0
  197. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/common/table_hits.py +0 -0
  198. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/common/token_expiry.py +0 -0
  199. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/deep/__init__.py +0 -0
  200. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/eval/__init__.py +0 -0
  201. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/eval/collector.py +0 -0
  202. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/graph/__init__.py +0 -0
  203. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/integrations/__init__.py +0 -0
  204. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/integrations/inprocess_toolkit_registry.py +0 -0
  205. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/integrations/kf_vector_search/__init__.py +0 -0
  206. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/integrations/kf_vector_search/toolkit.py +0 -0
  207. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/integrations/v2_runtime/__init__.py +0 -0
  208. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/migrations/__init__.py +0 -0
  209. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/migrations/env.py +0 -0
  210. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/migrations/script.py.mako +0 -0
  211. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/migrations/versions/a1e2f3c4d5b6_create_session_history.py +0 -0
  212. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/migrations/versions/b2f3a4e5c6d7_add_exchange_id.py +0 -0
  213. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/migrations/versions/c3d4b5a6f7e8_add_team_and_instance.py +0 -0
  214. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/model_routing/authz.py +0 -0
  215. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/model_routing/catalog.py +0 -0
  216. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/model_routing/contracts.py +0 -0
  217. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/react/__init__.py +0 -0
  218. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/react/middleware/shared.py +0 -0
  219. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/react/react_langchain_adapter.py +0 -0
  220. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/react/react_model_adapter.py +0 -0
  221. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/react/react_prompting.py +0 -0
  222. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/react/react_tool_utils.py +0 -0
  223. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/runtime_support/model_metadata.py +0 -0
  224. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/runtime_support/request_context_helpers.py +0 -0
  225. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/runtime_support/trace_payloads.py +0 -0
  226. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/runtime_support/user_token_refresher.py +0 -0
  227. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/support/__init__.py +0 -0
  228. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/support/filesystem_context.py +0 -0
  229. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime/support/thinking.py +0 -0
  230. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime.egg-info/dependency_links.txt +0 -0
  231. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/fred_runtime.egg-info/top_level.txt +0 -0
  232. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/setup.cfg +0 -0
  233. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_capability_chat_controls_1976.py +0 -0
  234. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_chat_input_limit.py +0 -0
  235. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_client.py +0 -0
  236. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_config_loader.py +0 -0
  237. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_context.py +0 -0
  238. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_conversational_memory.py +0 -0
  239. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_document_read_scope.py +0 -0
  240. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_eval_collector.py +0 -0
  241. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_eval_trace.py +0 -0
  242. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_kf_base_client_refresh_shapes.py +0 -0
  243. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_kf_vector_search_toolkit.py +0 -0
  244. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_kf_workspace_client.py +0 -0
  245. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_knowledge_search_table_ordering.py +0 -0
  246. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_knowledge_search_tool_invoker_sources.py +0 -0
  247. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_kpi_display.py +0 -0
  248. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_langgraph_interrupt_id_semantics.py +0 -0
  249. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_mcp_config.py +0 -0
  250. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_model_enforcement.py +0 -0
  251. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_model_metadata_cache_tokens.py +0 -0
  252. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_model_reasoning_enablement.py +0 -0
  253. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_model_routing.py +0 -0
  254. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_model_routing_provider.py +0 -0
  255. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_models_catalog_projection.py +0 -0
  256. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_platform_sql.py +0 -0
  257. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_platform_sql_postgres_integration.py +0 -0
  258. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_react_prompting.py +0 -0
  259. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_react_thinking.py +0 -0
  260. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_react_tool_binding_span_status.py +0 -0
  261. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_repl_helpers.py +0 -0
  262. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_similarity_search_tool_invoker.py +0 -0
  263. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_spike_capability_state_1971.py +0 -0
  264. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_sql_checkpointer_hitl_claim.py +0 -0
  265. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_table_repair_wiring.py +0 -0
  266. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_token_expiry.py +0 -0
  267. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_tool_carrier_middleware_naming.py +0 -0
  268. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_trace_payloads.py +0 -0
  269. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_url_helpers.py +0 -0
  270. {fred_runtime-4.0.0 → fred_runtime-4.3.0}/tests/test_user_token_refresher.py +0 -0
  271. {fred_runtime-4.0.0 → fred_runtime-4.3.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.0.0
3
+ Version: 4.3.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.0.0
16
- Requires-Dist: fred-sdk>=4.0.0
15
+ Requires-Dist: fred-core>=4.3.0
16
+ Requires-Dist: fred-sdk[agents]>=4.3.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
@@ -230,6 +231,10 @@ pip install fred-runtime
230
231
  pip install fred-runtime[app]
231
232
  ```
232
233
 
234
+ `fred-runtime` depends on `fred-sdk[agents]`, so an agent pod installs nothing
235
+ else to get the authoring surface. A Knowledge Base pod installs
236
+ `fred-sdk[knowledge-base]` instead and never needs `fred-runtime`.
237
+
233
238
  Requires Python 3.12.
234
239
 
235
240
  ---
@@ -271,16 +276,23 @@ if __name__ == "__main__":
271
276
  **`registry.py`**
272
277
 
273
278
  ```python
274
- 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."
275
286
 
276
- class MyAgent(ReActAgentDefinition):
277
- agent_id = "my-agent"
278
- ...
287
+ MY_AGENT = MyAgent()
279
288
 
280
- REGISTRY = {MyAgent.agent_id: MyAgent()}
289
+ REGISTRY = {MY_AGENT.agent_id: MY_AGENT}
281
290
  ```
282
291
 
283
- 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.
284
296
 
285
297
  ---
286
298
 
@@ -288,8 +300,9 @@ See [fred-samples](https://github.com/ThalesGroup/fred-samples) for a working re
288
300
 
289
301
  | Package | PyPI | Role |
290
302
  | -------------- | ---------------------------------------------- | ----------------------------------------------------------------------------- |
291
- | `fred-core` | [pypi](https://pypi.org/project/fred-core/) | Pure utilities — logging, model factories, embeddings, portable observability |
292
- | `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 |
293
306
  | `fred-runtime` | [pypi](https://pypi.org/project/fred-runtime/) | This package |
294
307
 
295
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
@@ -190,6 +189,10 @@ pip install fred-runtime
190
189
  pip install fred-runtime[app]
191
190
  ```
192
191
 
192
+ `fred-runtime` depends on `fred-sdk[agents]`, so an agent pod installs nothing
193
+ else to get the authoring surface. A Knowledge Base pod installs
194
+ `fred-sdk[knowledge-base]` instead and never needs `fred-runtime`.
195
+
193
196
  Requires Python 3.12.
194
197
 
195
198
  ---
@@ -231,16 +234,23 @@ if __name__ == "__main__":
231
234
  **`registry.py`**
232
235
 
233
236
  ```python
234
- 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."
235
244
 
236
- class MyAgent(ReActAgentDefinition):
237
- agent_id = "my-agent"
238
- ...
245
+ MY_AGENT = MyAgent()
239
246
 
240
- REGISTRY = {MyAgent.agent_id: MyAgent()}
247
+ REGISTRY = {MY_AGENT.agent_id: MY_AGENT}
241
248
  ```
242
249
 
243
- 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.
244
254
 
245
255
  ---
246
256
 
@@ -248,8 +258,9 @@ See [fred-samples](https://github.com/ThalesGroup/fred-samples) for a working re
248
258
 
249
259
  | Package | PyPI | Role |
250
260
  | -------------- | ---------------------------------------------- | ----------------------------------------------------------------------------- |
251
- | `fred-core` | [pypi](https://pypi.org/project/fred-core/) | Pure utilities — logging, model factories, embeddings, portable observability |
252
- | `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 |
253
264
  | `fred-runtime` | [pypi](https://pypi.org/project/fred-runtime/) | This package |
254
265
 
255
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",