nucliadb-agentic-api 1.0.0.post220__tar.gz → 1.0.0.post226__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 (46) hide show
  1. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/PKG-INFO +1 -1
  2. nucliadb_agentic_api-1.0.0.post226/VERSION +1 -0
  3. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/pyproject.toml +1 -1
  4. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/pyproject.toml.orig +1 -1
  5. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/agentic/ask_handler.py +3 -0
  6. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/db/transform.py +7 -6
  7. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/models.py +4 -4
  8. nucliadb_agentic_api-1.0.0.post220/VERSION +0 -1
  9. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/README.md +0 -0
  10. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/alembic/README +0 -0
  11. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/alembic/env.py +0 -0
  12. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/alembic/script.py.mako +0 -0
  13. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/alembic/versions/7f3b2f92a8c1_add_agentic_config_table.py +0 -0
  14. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/alembic/versions/b3c4d5e6f7a8_add_sources_table.py +0 -0
  15. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/alembic/versions/c4d5e6f7a8b9_add_agentic_config_soft_deletion.py +0 -0
  16. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/alembic.ini +0 -0
  17. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/VERSION +0 -0
  18. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/__init__.py +0 -0
  19. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/agentic/__init__.py +0 -0
  20. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/agentic/ask_result.py +0 -0
  21. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/agentic/ask_transform_to_interaction.py +0 -0
  22. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/app.py +0 -0
  23. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/commands.py +0 -0
  24. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/db/__init__.py +0 -0
  25. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/db/agentic_configs.py +0 -0
  26. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/db/settings.py +0 -0
  27. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/db/sources.py +0 -0
  28. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/exceptions.py +0 -0
  29. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/logging.py +0 -0
  30. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/py.typed +0 -0
  31. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/server/__init__.py +0 -0
  32. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/server/server.py +0 -0
  33. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/server/session.py +0 -0
  34. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/server/settings.py +0 -0
  35. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/settings.py +0 -0
  36. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/utils.py +0 -0
  37. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/v1/__init__.py +0 -0
  38. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/v1/agentic_configs.py +0 -0
  39. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/v1/ask.py +0 -0
  40. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/v1/ask_websocket.py +0 -0
  41. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/v1/mcp_content.py +0 -0
  42. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/v1/mcp_nucliadb.py +0 -0
  43. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/v1/oauth.py +0 -0
  44. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/v1/router.py +0 -0
  45. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/src/nucliadb_agentic_api/v1/sources.py +0 -0
  46. {nucliadb_agentic_api-1.0.0.post220 → nucliadb_agentic_api-1.0.0.post226}/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.post220
3
+ Version: 1.0.0.post226
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.post226
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "nucliadb_agentic_api"
7
- version = "1.0.0.post220"
7
+ version = "1.0.0.post226"
8
8
  description = "NucliaDB Agentic API for Hyperforge"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "nucliadb_agentic_api"
7
- version = "1.0.0.post220"
7
+ version = "1.0.0.post226"
8
8
  authors = [{ name = "AI Data Team", email = "learning@nuclia.com" }]
9
9
  description = "NucliaDB Agentic API for Hyperforge"
10
10
  readme = "README.md"
@@ -8,6 +8,7 @@ from hyperforge_nucliadb_agentic.ask.model import (
8
8
  from hyperforge_nucliadb_agentic.ask.search.ask import (
9
9
  handled_ask_exceptions,
10
10
  )
11
+ from nuclia.lib.nua_responses import CitationsType
11
12
  from nucliadb_models.search import (
12
13
  NucliaDBClientType,
13
14
  )
@@ -34,6 +35,8 @@ async def create_agentic_response(
34
35
  extra_predict_headers: dict[str, str] | None = None,
35
36
  ) -> Response:
36
37
  ask_request.max_tokens = parse_max_tokens(ask_request.max_tokens)
38
+ if ask_request.citations is None:
39
+ ask_request.citations = CitationsType.LLM_FOOTNOTES
37
40
  ask_result = AgenticAskResult(
38
41
  app=app,
39
42
  kbid=kbid,
@@ -55,7 +55,7 @@ async def transform_agentic_config(
55
55
  if agentic_config.rephrase.ask_to:
56
56
  # Same KB with different layers
57
57
  config["kbid"] = agentic_config.rephrase.ask_to
58
- if agentic_config.rephrase.history:
58
+ if agentic_config.rephrase.history is not None:
59
59
  config["history"] = agentic_config.rephrase.history
60
60
 
61
61
  config["module"] = "rephrase"
@@ -78,10 +78,10 @@ async def transform_agentic_config(
78
78
  config["planner_model"] = agentic_config.smart_agent.models.planner
79
79
  if agentic_config.smart_agent.models.executor:
80
80
  config["executor_model"] = agentic_config.smart_agent.models.executor
81
- if agentic_config.smart_agent.history:
82
- config["history"] = agentic_config.smart_agent.history
83
81
  if agentic_config.smart_agent.extra_prompt:
84
82
  config["extra_prompt"] = agentic_config.smart_agent.extra_prompt
83
+ if agentic_config.smart_agent.history is not None:
84
+ config["history"] = agentic_config.smart_agent.history
85
85
  registered_agents = []
86
86
  for source in agentic_config.smart_agent.sources:
87
87
  source_obj = await source_manager.get_source(account, kbid, source)
@@ -186,9 +186,10 @@ async def transform_agentic_config(
186
186
  config["user_prompt"] = agentic_config.summarize.user_prompt
187
187
  if agentic_config.summarize.system_prompt:
188
188
  config["system_prompt"] = agentic_config.summarize.system_prompt
189
- if agentic_config.summarize.conversational:
190
- config["conversational"] = agentic_config.summarize.conversational
191
- if agentic_config.summarize.history:
189
+ config["conversational"] = agentic_config.summarize.conversational
190
+ config["citations"] = True
191
+ config["force_chunk_level_citations"] = False
192
+ if agentic_config.summarize.history is not None:
192
193
  config["history"] = agentic_config.summarize.history
193
194
 
194
195
  config["module"] = "summarize"
@@ -133,7 +133,7 @@ class AgenticRephraseConfiguration(BaseModel):
133
133
  ask_to: Optional[str] = None
134
134
  prompt: Optional[str] = None
135
135
  model: Optional[str] = None
136
- history: Optional[bool] = None
136
+ history: Optional[bool] = True
137
137
 
138
138
 
139
139
  class AgenticSmartAgentMode(str, Enum):
@@ -218,15 +218,15 @@ class AgenticSmartAgentConfiguration(BaseModel):
218
218
  extra_prompt: Optional[str] = None
219
219
  models: Optional[AgenticSmartAgentModels] = None
220
220
  sources: List[str] = Field(default_factory=list)
221
- history: Optional[bool] = None
221
+ history: Optional[bool] = True
222
222
 
223
223
 
224
224
  class AgenticSummarizeConfiguration(BaseModel):
225
225
  user_prompt: Optional[str] = None
226
226
  system_prompt: Optional[str] = None
227
- conversational: bool = False
227
+ conversational: bool = True
228
228
  model: Optional[str] = None
229
- history: Optional[bool] = None
229
+ history: Optional[bool] = True
230
230
 
231
231
 
232
232
  class AgenticConfigSchema(BaseModel):
@@ -1 +0,0 @@
1
- 1.0.0.post220