nucliadb-agentic-api 1.0.0.post286__tar.gz → 1.0.0.post292__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 (48) hide show
  1. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/PKG-INFO +1 -1
  2. nucliadb_agentic_api-1.0.0.post292/VERSION +1 -0
  3. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/pyproject.toml +2 -2
  4. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/pyproject.toml.orig +2 -2
  5. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/server/session.py +12 -5
  6. nucliadb_agentic_api-1.0.0.post286/VERSION +0 -1
  7. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/README.md +0 -0
  8. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/alembic/README +0 -0
  9. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/alembic/env.py +0 -0
  10. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/alembic/script.py.mako +0 -0
  11. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/alembic/versions/0fe6c7b5f33d_migrate_sonnet_and_gpt_5_6_models.py +0 -0
  12. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/alembic/versions/7f3b2f92a8c1_add_agentic_config_table.py +0 -0
  13. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/alembic/versions/b3c4d5e6f7a8_add_sources_table.py +0 -0
  14. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/alembic/versions/c4d5e6f7a8b9_add_agentic_config_soft_deletion.py +0 -0
  15. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/alembic.ini +0 -0
  16. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/VERSION +0 -0
  17. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/__init__.py +0 -0
  18. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/agentic/__init__.py +0 -0
  19. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/agentic/ask_handler.py +0 -0
  20. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/agentic/ask_result.py +0 -0
  21. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/agentic/ask_transform_to_interaction.py +0 -0
  22. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/app.py +0 -0
  23. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/commands.py +0 -0
  24. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/db/__init__.py +0 -0
  25. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/db/agentic_configs.py +0 -0
  26. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/db/llm_migration_utils.py +0 -0
  27. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/db/settings.py +0 -0
  28. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/db/sources.py +0 -0
  29. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/db/transform.py +0 -0
  30. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/exceptions.py +0 -0
  31. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/logging.py +0 -0
  32. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/models.py +0 -0
  33. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/py.typed +0 -0
  34. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/server/__init__.py +0 -0
  35. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/server/server.py +0 -0
  36. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/server/settings.py +0 -0
  37. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/settings.py +0 -0
  38. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/utils.py +0 -0
  39. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/v1/__init__.py +0 -0
  40. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/v1/agentic_configs.py +0 -0
  41. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/v1/ask.py +0 -0
  42. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/v1/ask_websocket.py +0 -0
  43. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/v1/mcp_content.py +0 -0
  44. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/v1/mcp_nucliadb.py +0 -0
  45. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/v1/oauth.py +0 -0
  46. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/v1/router.py +0 -0
  47. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/v1/sources.py +0 -0
  48. {nucliadb_agentic_api-1.0.0.post286 → nucliadb_agentic_api-1.0.0.post292}/src/nucliadb_agentic_api/v1/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nucliadb_agentic_api
3
- Version: 1.0.0.post286
3
+ Version: 1.0.0.post292
4
4
  Summary: NucliaDB Agentic API for Hyperforge
5
5
  Author: AI Data Team
6
6
  Author-email: AI Data Team <learning@nuclia.com>
@@ -0,0 +1 @@
1
+ 1.0.0.post292
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "nucliadb_agentic_api"
7
- version = "1.0.0.post286"
7
+ version = "1.0.0.post292"
8
8
  description = "NucliaDB Agentic API for Hyperforge"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"
@@ -72,7 +72,7 @@ server = [
72
72
  "nucliadb-sdk>=6.14.0.post6532",
73
73
  "nucliadb-telemetry[otel]>=6.14.0.post6534",
74
74
  "nucliadb-utils[storages,fastapi]>=6.15.0.post6671",
75
- "hyperforge>=1.0.0.post346",
75
+ "hyperforge>=1.0.0.post418",
76
76
  "hyperforge_conditional>=1.0.0.post27",
77
77
  "hyperforge_mcp>=1.0.0.post95",
78
78
  "hyperforge_nucliadb>=1.0.0.post46",
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "nucliadb_agentic_api"
7
- version = "1.0.0.post286"
7
+ version = "1.0.0.post292"
8
8
  authors = [{ name = "AI Data Team", email = "learning@nuclia.com" }]
9
9
  description = "NucliaDB Agentic API for Hyperforge"
10
10
  readme = "README.md"
@@ -67,7 +67,7 @@ server = [
67
67
  "nucliadb-sdk>=6.14.0.post6532",
68
68
  "nucliadb-telemetry[otel]>=6.14.0.post6534",
69
69
  "nucliadb-utils[storages,fastapi]>=6.15.0.post6671",
70
- "hyperforge>=1.0.0.post346",
70
+ "hyperforge>=1.0.0.post418",
71
71
  "hyperforge_conditional>=1.0.0.post27",
72
72
  "hyperforge_mcp>=1.0.0.post95",
73
73
  "hyperforge_nucliadb>=1.0.0.post46",
@@ -1,5 +1,6 @@
1
1
  import os
2
2
  from asyncio import Task, create_task, timeout # type: ignore
3
+ from builtins import BaseExceptionGroup
3
4
  from functools import partial
4
5
 
5
6
  import nucliadb_telemetry.context
@@ -8,6 +9,7 @@ import prometheus_client
8
9
  from hyperforge.broker import Broker
9
10
  from hyperforge.configure import GLOBAL_REGISTRY, load_all_configurations, scan
10
11
  from hyperforge.engine import State, get_state
12
+ from hyperforge.errors import actionable_exception_group, exception_detail
11
13
  from hyperforge.interaction import AnswerOperation, AragAnswer, ARAGException
12
14
  from hyperforge.memory import QuestionMemory
13
15
  from hyperforge.pubsub import AgentDone, StartInteraction
@@ -250,10 +252,16 @@ class NucliaDBAgenticSessionManager(SessionManager):
250
252
  async with timeout(self.settings.question_timeout_seconds):
251
253
  await state.agent(question_memory, state.manager)
252
254
 
255
+ except BaseExceptionGroup as exc:
256
+ error_group = actionable_exception_group(exc)
257
+ logger.exception("Answering exception")
258
+ errors.capture_exception(error_group)
259
+ error = ARAGException(detail=exception_detail(error_group))
260
+ observation.set_status("error")
253
261
  except Exception as e:
254
262
  logger.exception("Answering exception")
255
263
  errors.capture_exception(e)
256
- error = ARAGException(detail=str(e))
264
+ error = ARAGException(detail=exception_detail(e))
257
265
  observation.set_status("error")
258
266
  finally:
259
267
  try:
@@ -261,10 +269,9 @@ class NucliaDBAgenticSessionManager(SessionManager):
261
269
  except Exception as e:
262
270
  logger.exception("Error closing Manager")
263
271
  errors.capture_exception(e)
264
-
265
- observation.end()
266
- answer_running.dec()
267
- keepalive.cancel()
272
+ observation.end()
273
+ answer_running.dec()
274
+ keepalive.cancel()
268
275
 
269
276
  await self.callback(
270
277
  topic,
@@ -1 +0,0 @@
1
- 1.0.0.post286