hyperforge 1.0.0.post62__tar.gz → 1.0.0.post66__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 (105) hide show
  1. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/PKG-INFO +2 -2
  2. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/pyproject.toml +2 -2
  3. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/memory/memory.py +5 -1
  4. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/server/run.py +2 -2
  5. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/README.md +0 -0
  6. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/VERSION +0 -0
  7. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/__init__.py +0 -0
  8. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/agent.py +0 -0
  9. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/alembic/README +0 -0
  10. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/alembic/env.py +0 -0
  11. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/alembic/script.py.mako +0 -0
  12. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/alembic/versions/049a4aed19e1_create_generation_table.py +0 -0
  13. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/alembic/versions/1416cb41bd49_add_downloads_table.py +0 -0
  14. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/alembic/versions/2847934e2d59_unique_driver.py +0 -0
  15. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/alembic/versions/4d89a36c8bda_memory.py +0 -0
  16. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/alembic/versions/72b997edb05d_identifier_for_drivers.py +0 -0
  17. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/alembic/versions/9c6f6a1b4e7f_workflows_default_fk.py +0 -0
  18. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/alembic/versions/b8edb72295e0_.py +0 -0
  19. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/alembic/versions/f3d2c1b0a9e8_soft_delete_workflows.py +0 -0
  20. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/alembic.ini +0 -0
  21. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/__init__.py +0 -0
  22. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/app.py +0 -0
  23. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/authentication.py +0 -0
  24. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/commands.py +0 -0
  25. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/internal/__init__.py +0 -0
  26. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/internal/inspect.py +0 -0
  27. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/internal/router.py +0 -0
  28. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/logging.py +0 -0
  29. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/models.py +0 -0
  30. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/session.py +0 -0
  31. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/settings.py +0 -0
  32. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/utils.py +0 -0
  33. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/v1/__init__.py +0 -0
  34. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/v1/agents.py +0 -0
  35. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/v1/interaction.py +0 -0
  36. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/v1/mcp_content.py +0 -0
  37. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/v1/mcp_interaction.py +0 -0
  38. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/v1/oauth.py +0 -0
  39. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/v1/prompt.py +0 -0
  40. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/v1/router.py +0 -0
  41. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/v1/schema.py +0 -0
  42. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/v1/session.py +0 -0
  43. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/v1/utils.py +0 -0
  44. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/api/v1/workflows.py +0 -0
  45. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/arag.py +0 -0
  46. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/broker/__init__.py +0 -0
  47. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/broker/local.py +0 -0
  48. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/broker/redis.py +0 -0
  49. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/configure.py +0 -0
  50. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/context/__init__.py +0 -0
  51. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/context/agent.py +0 -0
  52. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/context/config.py +0 -0
  53. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/database.py +0 -0
  54. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/db/__init__.py +0 -0
  55. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/db/agents.py +0 -0
  56. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/db/encryption.py +0 -0
  57. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/db/exceptions.py +0 -0
  58. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/db/settings.py +0 -0
  59. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/db/workflow_cleanup.py +0 -0
  60. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/definition.py +0 -0
  61. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/driver.py +0 -0
  62. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/dummy.py +0 -0
  63. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/engine.py +0 -0
  64. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/exceptions.py +0 -0
  65. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/feature_flag.py +0 -0
  66. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/fixtures.py +0 -0
  67. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/interaction.py +0 -0
  68. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/llm.py +0 -0
  69. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/manager.py +0 -0
  70. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/memory/__init__.py +0 -0
  71. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/minimal_fixtures.py +0 -0
  72. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/models.py +0 -0
  73. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/nua.py +0 -0
  74. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/openapi.py +0 -0
  75. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/prompts.py +0 -0
  76. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/pubsub.py +0 -0
  77. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/py.typed +0 -0
  78. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/redis_utils.py +0 -0
  79. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/retrieval/__init__.py +0 -0
  80. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/retrieval/agent.py +0 -0
  81. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/retrieval/config.py +0 -0
  82. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/server/__init__.py +0 -0
  83. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/server/cache.py +0 -0
  84. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/server/sandbox.py +0 -0
  85. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/server/session.py +0 -0
  86. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/server/settings.py +0 -0
  87. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/server/utils.py +0 -0
  88. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/server/web.py +0 -0
  89. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/settings.py +0 -0
  90. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/standalone/__init__.py +0 -0
  91. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/standalone/agent.py +0 -0
  92. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/standalone/app.py +0 -0
  93. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/standalone/config.py +0 -0
  94. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/standalone/const.py +0 -0
  95. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/standalone/run.py +0 -0
  96. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/standalone/settings.py +0 -0
  97. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/standalone/ui_router.py +0 -0
  98. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/static/assets/index-DLejS5jC.js +0 -0
  99. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/static/assets/index-MoxkZ1_3.css +0 -0
  100. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/static/favicon.svg +0 -0
  101. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/static/index.html +0 -0
  102. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/trace.py +0 -0
  103. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/utils/__init__.py +0 -0
  104. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/utils/http.py +0 -0
  105. {hyperforge-1.0.0.post62 → hyperforge-1.0.0.post66}/src/hyperforge/workflows.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hyperforge
3
- Version: 1.0.0.post62
3
+ Version: 1.0.0.post66
4
4
  Summary: Agentic Framework for Orchestrated Runtime, Governance, and Execution
5
5
  Author: AI Data Team
6
6
  Author-email: AI Data Team <learning@nuclia.com>
@@ -13,7 +13,7 @@ Requires-Dist: nuclia>=4.11.5
13
13
  Requires-Dist: nuclia-models>=0.59.0
14
14
  Requires-Dist: nucliadb-models>=6.13.1.post6414
15
15
  Requires-Dist: nucliadb-sdk>=6.13.1.post6414
16
- Requires-Dist: nucliadb-telemetry[otel]
16
+ Requires-Dist: nucliadb-telemetry[otel]>=6.15.0
17
17
  Requires-Dist: pydantic-settings
18
18
  Requires-Dist: mcp>=1.26.0
19
19
  Requires-Dist: prometheus-client
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "hyperforge"
7
- version = "1.0.0.post62"
7
+ version = "1.0.0.post66"
8
8
  authors = [{ name = "AI Data Team", email = "learning@nuclia.com" }]
9
9
  description = "Agentic Framework for Orchestrated Runtime, Governance, and Execution"
10
10
  readme = "README.md"
@@ -21,7 +21,7 @@ dependencies = [
21
21
  "nuclia-models>=0.59.0",
22
22
  "nucliadb-models>=6.13.1.post6414",
23
23
  "nucliadb-sdk>=6.13.1.post6414",
24
- "nucliadb-telemetry[otel]",
24
+ "nucliadb-telemetry[otel]>=6.15.0",
25
25
  "pydantic_settings",
26
26
  "mcp>=1.26.0",
27
27
  "prometheus_client",
@@ -1,7 +1,7 @@
1
1
  import logging
2
2
  from collections import OrderedDict
3
3
  from datetime import datetime, timezone
4
- from typing import Awaitable, Callable, Dict, List, Optional, Tuple, Union, cast
4
+ from typing import Any, Awaitable, Callable, Dict, List, Optional, Tuple, Union, cast
5
5
  from uuid import uuid4
6
6
 
7
7
  from nuclia.lib.nua_responses import Author, Image, Message
@@ -74,6 +74,8 @@ def _qa_list_to_chat_messages(history: List[HistoryQuestionAnswer]) -> List[Mess
74
74
  Message(author=Author.NUCLIA, text=qa.answer),
75
75
  )
76
76
  ]
77
+
78
+
77
79
  CONTEXT_FIELD: str = "context"
78
80
  STEPS_FIELD: str = "steps"
79
81
  USER_INFO_FIELD: str = "user_info"
@@ -817,6 +819,7 @@ class QuestionMemory:
817
819
  step_value: Optional[str] = None,
818
820
  step_reason: Optional[str] = None,
819
821
  error: Optional[str] = None,
822
+ metadata: Optional[Dict[str, Any]] = None,
820
823
  ):
821
824
  new_step = Step(
822
825
  original_question_uuid=self.original_question_uuid,
@@ -830,6 +833,7 @@ class QuestionMemory:
830
833
  input_nuclia_tokens=input_nuclia_tokens,
831
834
  output_nuclia_tokens=output_nuclia_tokens,
832
835
  error=error,
836
+ metadata=metadata,
833
837
  )
834
838
  self.steps.append(new_step)
835
839
  if self.callback_fn is not None:
@@ -6,8 +6,8 @@ import sentry_sdk
6
6
  from nucliadb_telemetry.fastapi import application_metrics
7
7
  from nucliadb_telemetry.logs import setup_logging
8
8
  from nucliadb_telemetry.settings import LogLevel, LogSettings
9
- from nucliadb_telemetry.tracerprovider import AsyncTracerProvider
10
9
  from nucliadb_telemetry.utils import get_telemetry, setup_telemetry
10
+ from opentelemetry.sdk.trace import TracerProvider
11
11
  from sentry_sdk.integrations.excepthook import ExcepthookIntegration
12
12
 
13
13
  from hyperforge.broker.redis import RedisBroker
@@ -42,7 +42,7 @@ async def run_metrics_server(port: int):
42
42
 
43
43
  async def run_server(
44
44
  settings: Settings,
45
- tracer: Optional[AsyncTracerProvider],
45
+ tracer: Optional[TracerProvider],
46
46
  data_manager_settings: DataManagerSettings,
47
47
  ) -> SessionManager:
48
48
  if tracer: