fred-runtime 0.1.18__tar.gz → 2.0.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 (99) hide show
  1. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/PKG-INFO +13 -12
  2. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/README.md +6 -9
  3. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/app/agent_app.py +403 -258
  4. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/app/config.py +8 -4
  5. fred_runtime-2.0.0/fred_runtime/app/container.py +13 -0
  6. fred_runtime-2.0.0/fred_runtime/app/context.py +233 -0
  7. fred_runtime-2.0.0/fred_runtime/app/dependencies.py +30 -0
  8. fred_runtime-2.0.0/fred_runtime/app/mcp_config.py +27 -0
  9. fred_runtime-2.0.0/fred_runtime/cli/__init__.py +59 -0
  10. fred_runtime-2.0.0/fred_runtime/cli/completion.py +55 -0
  11. fred_runtime-2.0.0/fred_runtime/cli/entrypoint.py +256 -0
  12. fred_runtime-2.0.0/fred_runtime/cli/history_display.py +410 -0
  13. fred_runtime-2.0.0/fred_runtime/cli/kpi_display.py +388 -0
  14. fred_runtime-2.0.0/fred_runtime/cli/pod_client.py +264 -0
  15. fred_runtime-2.0.0/fred_runtime/cli/repl.py +1231 -0
  16. fred_runtime-2.0.0/fred_runtime/cli/repl_helpers.py +174 -0
  17. fred_runtime-2.0.0/fred_runtime/cli/url_helpers.py +79 -0
  18. fred_runtime-2.0.0/fred_runtime/client.py +83 -0
  19. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/common/context_aware_tool.py +7 -10
  20. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/common/kf_base_client.py +1 -4
  21. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/common/kf_workspace_client.py +41 -46
  22. fred_runtime-2.0.0/fred_runtime/deep/__init__.py +1 -0
  23. fred_runtime-2.0.0/fred_runtime/deep/deep_runtime.py +263 -0
  24. fred_runtime-2.0.0/fred_runtime/graph/__init__.py +1 -0
  25. fred_runtime-2.0.0/fred_runtime/graph/graph_runtime.py +1910 -0
  26. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/integrations/v2_runtime/adapters.py +36 -12
  27. fred_runtime-2.0.0/fred_runtime/react/__init__.py +1 -0
  28. fred_runtime-2.0.0/fred_runtime/react/react_langchain_adapter.py +99 -0
  29. fred_runtime-2.0.0/fred_runtime/react/react_message_codec.py +257 -0
  30. fred_runtime-2.0.0/fred_runtime/react/react_model_adapter.py +290 -0
  31. fred_runtime-2.0.0/fred_runtime/react/react_prompting.py +169 -0
  32. fred_runtime-2.0.0/fred_runtime/react/react_runtime.py +665 -0
  33. fred_runtime-2.0.0/fred_runtime/react/react_stream_adapter.py +311 -0
  34. fred_runtime-2.0.0/fred_runtime/react/react_tool_binding.py +232 -0
  35. fred_runtime-2.0.0/fred_runtime/react/react_tool_loop.py +330 -0
  36. fred_runtime-2.0.0/fred_runtime/react/react_tool_rendering.py +136 -0
  37. fred_runtime-2.0.0/fred_runtime/react/react_tool_resolution.py +648 -0
  38. fred_runtime-2.0.0/fred_runtime/react/react_tool_utils.py +75 -0
  39. fred_runtime-2.0.0/fred_runtime/react/react_tracing.py +31 -0
  40. fred_runtime-2.0.0/fred_runtime/runtime_support/checkpoints.py +72 -0
  41. fred_runtime-2.0.0/fred_runtime/runtime_support/model_metadata.py +216 -0
  42. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/runtime_support/request_context_helpers.py +4 -4
  43. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/runtime_support/sql_checkpointer.py +12 -1
  44. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/runtime_support/user_token_refresher.py +19 -18
  45. fred_runtime-2.0.0/fred_runtime/support/__init__.py +1 -0
  46. fred_runtime-2.0.0/fred_runtime/support/filesystem_context.py +647 -0
  47. fred_runtime-2.0.0/fred_runtime/support/tool_approval.py +82 -0
  48. fred_runtime-2.0.0/fred_runtime/support/tool_loop.py +323 -0
  49. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime.egg-info/PKG-INFO +13 -12
  50. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime.egg-info/SOURCES.txt +44 -1
  51. fred_runtime-2.0.0/fred_runtime.egg-info/entry_points.txt +2 -0
  52. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime.egg-info/requires.txt +6 -2
  53. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/pyproject.toml +8 -4
  54. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/tests/test_agent_app.py +335 -68
  55. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/tests/test_client.py +58 -150
  56. fred_runtime-2.0.0/tests/test_context.py +120 -0
  57. fred_runtime-2.0.0/tests/test_graph_runtime_observability.py +128 -0
  58. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/tests/test_history.py +24 -46
  59. fred_runtime-2.0.0/tests/test_kf_workspace_client.py +320 -0
  60. fred_runtime-2.0.0/tests/test_kpi_display.py +86 -0
  61. fred_runtime-2.0.0/tests/test_mcp_config.py +69 -0
  62. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/tests/test_openai_compat_router.py +1 -25
  63. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/tests/test_smoke.py +7 -4
  64. fred_runtime-2.0.0/tests/test_url_helpers.py +45 -0
  65. fred_runtime-2.0.0/tests/test_user_token_refresher.py +135 -0
  66. fred_runtime-0.1.18/fred_runtime/client.py +0 -3996
  67. fred_runtime-0.1.18/fred_runtime.egg-info/entry_points.txt +0 -2
  68. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/__init__.py +0 -0
  69. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/app/__init__.py +0 -0
  70. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/app/_catalogs.py +0 -0
  71. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/app/config_loader.py +0 -0
  72. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/app/observability_factory.py +0 -0
  73. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/app/openai_compat_router.py +0 -0
  74. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/common/__init__.py +0 -0
  75. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/common/kf_fast_text_client.py +0 -0
  76. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/common/kf_http_client.py +0 -0
  77. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/common/kf_logs_client.py +0 -0
  78. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/common/kf_markdown_media_client.py +0 -0
  79. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/common/kf_vectorsearch_client.py +0 -0
  80. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/common/mcp_interceptors.py +0 -0
  81. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/common/mcp_runtime.py +0 -0
  82. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/common/mcp_toolkit.py +0 -0
  83. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/common/mcp_utils.py +0 -0
  84. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/common/structures.py +0 -0
  85. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/common/token_expiry.py +0 -0
  86. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/common/tool_node_utils.py +0 -0
  87. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/integrations/__init__.py +0 -0
  88. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/integrations/v2_runtime/__init__.py +0 -0
  89. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/model_routing/__init__.py +0 -0
  90. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/model_routing/catalog.py +0 -0
  91. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/model_routing/contracts.py +0 -0
  92. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/model_routing/provider.py +0 -0
  93. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/model_routing/resolver.py +0 -0
  94. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/runtime_context.py +0 -0
  95. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime/runtime_support/__init__.py +0 -0
  96. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime.egg-info/dependency_links.txt +0 -0
  97. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/fred_runtime.egg-info/top_level.txt +0 -0
  98. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/setup.cfg +0 -0
  99. {fred_runtime-0.1.18 → fred_runtime-2.0.0}/tests/test_config_loader.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fred-runtime
3
- Version: 0.1.18
3
+ Version: 2.0.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,10 +12,14 @@ 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>=1.5.0
16
- Requires-Dist: fred-sdk>=0.1.9
15
+ Requires-Dist: fred-core>=1.5.3
16
+ Requires-Dist: fred-sdk>=0.1.11
17
+ Requires-Dist: deepagents>=0.4.11
17
18
  Requires-Dist: httpx>=0.28.1
18
19
  Requires-Dist: langchain-mcp-adapters>=0.2.1
20
+ Requires-Dist: langchain>=0.3.0
21
+ Requires-Dist: langchain-core>=0.3.0
22
+ Requires-Dist: langgraph>=1.1.3
19
23
  Requires-Dist: langfuse>=3.0.0
20
24
  Requires-Dist: requests<3,>=2.32
21
25
  Requires-Dist: PyYAML>=6.0
@@ -135,13 +139,13 @@ services available at runtime (chat model factory, checkpointer wiring, MCP disc
135
139
 
136
140
  ---
137
141
 
138
- ### `fred_runtime.client` — Developer CLI (`fred-agent-chat`)
142
+ ### `fred_runtime.client` — Developer CLI (`fred-agents-cli`)
139
143
 
140
144
  An interactive REPL and one-shot client for any Fred agent pod:
141
145
 
142
146
  ```bash
143
147
  # Interactive mode — connects to http://127.0.0.1:8000/api/v1 by default
144
- fred-agent-chat
148
+ fred-agents-cli
145
149
 
146
150
  # Set the current team scope inside the REPL
147
151
  /team my-team
@@ -151,19 +155,16 @@ fred-agent-chat
151
155
  /kpi tool_name=search
152
156
 
153
157
  # One-shot
154
- fred-agent-chat --agent my-agent "What is the status of cluster A?"
155
-
156
- # Run a YAML scenario file (smoke tests, checkpointing tests)
157
- fred-agent-chat --scenario tests/scenarios/smoke.yaml
158
+ fred-agents-cli --agent my-agent "What is the status of cluster A?"
158
159
 
159
160
  # Keycloak browser login
160
- fred-agent-chat --login
161
+ fred-agents-cli --login
161
162
 
162
163
  # Start already scoped to one team
163
- fred-agent-chat --team-id my-team
164
+ fred-agents-cli --team-id my-team
164
165
 
165
166
  # Override the metrics endpoint used by /kpi
166
- fred-agent-chat --metrics-url http://127.0.0.1:9115/metrics
167
+ fred-agents-cli --metrics-url http://127.0.0.1:9115/metrics
167
168
  ```
168
169
 
169
170
  The target pod URL is resolved from `configuration.yaml` automatically,
@@ -104,13 +104,13 @@ services available at runtime (chat model factory, checkpointer wiring, MCP disc
104
104
 
105
105
  ---
106
106
 
107
- ### `fred_runtime.client` — Developer CLI (`fred-agent-chat`)
107
+ ### `fred_runtime.client` — Developer CLI (`fred-agents-cli`)
108
108
 
109
109
  An interactive REPL and one-shot client for any Fred agent pod:
110
110
 
111
111
  ```bash
112
112
  # Interactive mode — connects to http://127.0.0.1:8000/api/v1 by default
113
- fred-agent-chat
113
+ fred-agents-cli
114
114
 
115
115
  # Set the current team scope inside the REPL
116
116
  /team my-team
@@ -120,19 +120,16 @@ fred-agent-chat
120
120
  /kpi tool_name=search
121
121
 
122
122
  # One-shot
123
- fred-agent-chat --agent my-agent "What is the status of cluster A?"
124
-
125
- # Run a YAML scenario file (smoke tests, checkpointing tests)
126
- fred-agent-chat --scenario tests/scenarios/smoke.yaml
123
+ fred-agents-cli --agent my-agent "What is the status of cluster A?"
127
124
 
128
125
  # Keycloak browser login
129
- fred-agent-chat --login
126
+ fred-agents-cli --login
130
127
 
131
128
  # Start already scoped to one team
132
- fred-agent-chat --team-id my-team
129
+ fred-agents-cli --team-id my-team
133
130
 
134
131
  # Override the metrics endpoint used by /kpi
135
- fred-agent-chat --metrics-url http://127.0.0.1:9115/metrics
132
+ fred-agents-cli --metrics-url http://127.0.0.1:9115/metrics
136
133
  ```
137
134
 
138
135
  The target pod URL is resolved from `configuration.yaml` automatically,