tuva 0.1.0__py3-none-any.whl

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 (222) hide show
  1. tuva/__init__.py +11 -0
  2. tuva/__main__.py +6 -0
  3. tuva/_backend/.tuva-backend +1 -0
  4. tuva/_backend/api/Dockerfile +17 -0
  5. tuva/_backend/api/__init__.py +1 -0
  6. tuva/_backend/api/context_assembly_service.py +3421 -0
  7. tuva/_backend/api/embedding_service.py +129 -0
  8. tuva/_backend/api/main.py +100 -0
  9. tuva/_backend/api/notebook_schema_extractor.py +403 -0
  10. tuva/_backend/api/project_resolver.py +323 -0
  11. tuva/_backend/api/qdrant_service.py +182 -0
  12. tuva/_backend/api/routers/__init__.py +4 -0
  13. tuva/_backend/api/routers/chat.py +393 -0
  14. tuva/_backend/api/routers/config.py +25 -0
  15. tuva/_backend/api/routers/context.py +264 -0
  16. tuva/_backend/api/routers/context_assembly.py +397 -0
  17. tuva/_backend/api/routers/figures.py +101 -0
  18. tuva/_backend/api/routers/memory.py +175 -0
  19. tuva/_backend/api/routers/notebooks.py +277 -0
  20. tuva/_backend/api/routers/papers.py +488 -0
  21. tuva/_backend/api/routers/summary.py +168 -0
  22. tuva/_backend/api/routers/workspace_conversations.py +109 -0
  23. tuva/_backend/api/summary_service.py +197 -0
  24. tuva/_backend/api/utility_parser.py +239 -0
  25. tuva/_backend/data/__init__.py +1 -0
  26. tuva/_backend/data/_sqlite.py +55 -0
  27. tuva/_backend/data/chat_log/__init__.py +1 -0
  28. tuva/_backend/data/chat_log/chat_operations.py +579 -0
  29. tuva/_backend/data/chat_log/summary_operations.py +287 -0
  30. tuva/_backend/data/context/__init__.py +1 -0
  31. tuva/_backend/data/context/context_operations.py +487 -0
  32. tuva/_backend/data/context/prompt_operations.py +14 -0
  33. tuva/_backend/data/context/prompt_schema.py +80 -0
  34. tuva/_backend/data/episodic_memory/__init__.py +8 -0
  35. tuva/_backend/data/episodic_memory/operations.py +344 -0
  36. tuva/_backend/data/episodic_memory/queries.py +352 -0
  37. tuva/_backend/data/episodic_memory/schema.py +173 -0
  38. tuva/_backend/data/episodic_memory/source.py +227 -0
  39. tuva/_backend/data/papers/__init__.py +2 -0
  40. tuva/_backend/data/papers/paper_operations.py +351 -0
  41. tuva/_backend/data/turn_capture/__init__.py +0 -0
  42. tuva/_backend/data/turn_capture/delete.py +115 -0
  43. tuva/_backend/data/turn_capture/operations.py +403 -0
  44. tuva/_backend/data/turn_capture/queries.py +218 -0
  45. tuva/_backend/data/turn_capture/schema.py +293 -0
  46. tuva/_backend/data/working_memory/__init__.py +0 -0
  47. tuva/_backend/data/working_memory/operations.py +623 -0
  48. tuva/_backend/model_types/__init__.py +4 -0
  49. tuva/_backend/model_types/cell.py +95 -0
  50. tuva/_backend/model_types/context.py +88 -0
  51. tuva/_backend/model_types/conversation.py +22 -0
  52. tuva/_backend/model_types/conversation_summary.py +10 -0
  53. tuva/_backend/model_types/message.py +22 -0
  54. tuva/_backend/model_types/paper.py +106 -0
  55. tuva/_backend/model_types/project.py +72 -0
  56. tuva/_backend/models.config.json +60 -0
  57. tuva/_backend/requirements-dense.txt +10 -0
  58. tuva/_backend/requirements.txt +51 -0
  59. tuva/_backend/services/__init__.py +1 -0
  60. tuva/_backend/services/api/requirements.txt +26 -0
  61. tuva/_backend/services/mcp/__init__.py +1 -0
  62. tuva/_backend/services/mcp/__main__.py +4 -0
  63. tuva/_backend/services/mcp/http_app.py +14 -0
  64. tuva/_backend/services/mcp/server.py +753 -0
  65. tuva/_backend/services/mcp/tools.py +1229 -0
  66. tuva/_backend/services/paper_processing/__init__.py +2 -0
  67. tuva/_backend/services/paper_processing/paper_processor.py +440 -0
  68. tuva/_backend/services/paper_processing/text_extractor.py +163 -0
  69. tuva/_backend/services/rao/.gitignore +52 -0
  70. tuva/_backend/services/rao/Dockerfile +36 -0
  71. tuva/_backend/services/rao/README.md +254 -0
  72. tuva/_backend/services/rao/__init__.py +1 -0
  73. tuva/_backend/services/rao/auth.py +207 -0
  74. tuva/_backend/services/rao/capture/__init__.py +31 -0
  75. tuva/_backend/services/rao/capture/content_hash.py +45 -0
  76. tuva/_backend/services/rao/capture/entities.py +90 -0
  77. tuva/_backend/services/rao/capture/entity_resolvers.py +183 -0
  78. tuva/_backend/services/rao/capture/hooks.py +335 -0
  79. tuva/_backend/services/rao/capture/hot_memory_refs.py +83 -0
  80. tuva/_backend/services/rao/capture/manifest.py +343 -0
  81. tuva/_backend/services/rao/capture/ref_extractor.py +90 -0
  82. tuva/_backend/services/rao/capture/tool_summary.py +210 -0
  83. tuva/_backend/services/rao/capture/writer.py +150 -0
  84. tuva/_backend/services/rao/connectors/__init__.py +10 -0
  85. tuva/_backend/services/rao/connectors/caylex.py +521 -0
  86. tuva/_backend/services/rao/connectors/identity.py +30 -0
  87. tuva/_backend/services/rao/connectors/router.py +124 -0
  88. tuva/_backend/services/rao/conversation_title.py +67 -0
  89. tuva/_backend/services/rao/env.example +21 -0
  90. tuva/_backend/services/rao/error_attachment.py +61 -0
  91. tuva/_backend/services/rao/feature_flags.py +83 -0
  92. tuva/_backend/services/rao/identity.py +114 -0
  93. tuva/_backend/services/rao/inbox.py +133 -0
  94. tuva/_backend/services/rao/intent.py +105 -0
  95. tuva/_backend/services/rao/knowledge/__init__.py +1 -0
  96. tuva/_backend/services/rao/knowledge/aliases.py +125 -0
  97. tuva/_backend/services/rao/knowledge/arxiv.py +204 -0
  98. tuva/_backend/services/rao/knowledge/cache_builder.py +53 -0
  99. tuva/_backend/services/rao/knowledge/chunkers.py +247 -0
  100. tuva/_backend/services/rao/knowledge/dataset_schema.py +259 -0
  101. tuva/_backend/services/rao/knowledge/dense_retriever.py +860 -0
  102. tuva/_backend/services/rao/knowledge/indexer.py +1167 -0
  103. tuva/_backend/services/rao/knowledge/pdf_schema.py +323 -0
  104. tuva/_backend/services/rao/knowledge/pubmed.py +364 -0
  105. tuva/_backend/services/rao/knowledge/retriever.py +743 -0
  106. tuva/_backend/services/rao/knowledge/semantic_scholar.py +204 -0
  107. tuva/_backend/services/rao/knowledge/watcher.py +189 -0
  108. tuva/_backend/services/rao/knowledge/web_search.py +325 -0
  109. tuva/_backend/services/rao/knowledge/workspace_map/__init__.py +2 -0
  110. tuva/_backend/services/rao/knowledge/workspace_map/builder.py +234 -0
  111. tuva/_backend/services/rao/knowledge/workspace_map/census.py +162 -0
  112. tuva/_backend/services/rao/knowledge/workspace_map/classifier.py +178 -0
  113. tuva/_backend/services/rao/knowledge/workspace_map/sampler.py +34 -0
  114. tuva/_backend/services/rao/knowledge/workspace_map/schema.py +104 -0
  115. tuva/_backend/services/rao/knowledge/workspace_registry.py +265 -0
  116. tuva/_backend/services/rao/knowledge_router.py +1815 -0
  117. tuva/_backend/services/rao/llm.py +990 -0
  118. tuva/_backend/services/rao/main.py +3078 -0
  119. tuva/_backend/services/rao/memory/__init__.py +4 -0
  120. tuva/_backend/services/rao/memory/digest.py +135 -0
  121. tuva/_backend/services/rao/memory/edges.py +159 -0
  122. tuva/_backend/services/rao/memory/graph.py +119 -0
  123. tuva/_backend/services/rao/memory/historian.py +282 -0
  124. tuva/_backend/services/rao/memory/lifecycle.py +162 -0
  125. tuva/_backend/services/rao/memory/locate.py +64 -0
  126. tuva/_backend/services/rao/memory/render.py +146 -0
  127. tuva/_backend/services/rao/memory/resolution.py +305 -0
  128. tuva/_backend/services/rao/memory/runner.py +229 -0
  129. tuva/_backend/services/rao/memory/state.py +179 -0
  130. tuva/_backend/services/rao/memory/trigger.py +161 -0
  131. tuva/_backend/services/rao/model_hierarchy.py +199 -0
  132. tuva/_backend/services/rao/models_config.py +191 -0
  133. tuva/_backend/services/rao/orchestrator.py +2317 -0
  134. tuva/_backend/services/rao/protocol/__init__.py +241 -0
  135. tuva/_backend/services/rao/protocol/_base.py +56 -0
  136. tuva/_backend/services/rao/protocol/chat.py +108 -0
  137. tuva/_backend/services/rao/protocol/errors.py +92 -0
  138. tuva/_backend/services/rao/protocol/handshake.py +374 -0
  139. tuva/_backend/services/rao/protocol/inbound/__init__.py +139 -0
  140. tuva/_backend/services/rao/protocol/inbound/_base.py +25 -0
  141. tuva/_backend/services/rao/protocol/inbound/chat.py +56 -0
  142. tuva/_backend/services/rao/protocol/inbound/control.py +45 -0
  143. tuva/_backend/services/rao/protocol/inbound/knowledge.py +73 -0
  144. tuva/_backend/services/rao/protocol/inbound/skills.py +36 -0
  145. tuva/_backend/services/rao/protocol/inbound/writing.py +26 -0
  146. tuva/_backend/services/rao/protocol/knowledge.py +191 -0
  147. tuva/_backend/services/rao/protocol/skills.py +56 -0
  148. tuva/_backend/services/rao/protocol/tools.py +68 -0
  149. tuva/_backend/services/rao/protocol/writing.py +88 -0
  150. tuva/_backend/services/rao/rao_tools/__init__.py +14 -0
  151. tuva/_backend/services/rao/rao_tools/paper_tools.py +231 -0
  152. tuva/_backend/services/rao/requirements.txt +11 -0
  153. tuva/_backend/services/rao/skills/__init__.py +1 -0
  154. tuva/_backend/services/rao/skills/generator.py +190 -0
  155. tuva/_backend/services/rao/skills/storage.py +314 -0
  156. tuva/_backend/services/rao/skills/templates/authoring_guidelines.md +58 -0
  157. tuva/_backend/services/rao/skills/templates/reference_skill.md +94 -0
  158. tuva/_backend/services/rao/skills/web_fetcher.py +141 -0
  159. tuva/_backend/services/rao/skills_router.py +328 -0
  160. tuva/_backend/services/rao/system_prompt.py +427 -0
  161. tuva/_backend/services/rao/tool_adapter.py +106 -0
  162. tuva/_backend/services/rao/working_memory.py +457 -0
  163. tuva/_backend/services/rao/workspaces.py +155 -0
  164. tuva/_backend/services/rao/writing_assistant.py +1095 -0
  165. tuva/_backend/services/supervisor/__init__.py +1 -0
  166. tuva/_backend/services/supervisor/main.py +450 -0
  167. tuva/_backend/services/supervisor/pidfile.py +85 -0
  168. tuva/_backend/tools/__init__.py +4 -0
  169. tuva/_backend/tools/registry/__init__.py +25 -0
  170. tuva/_backend/tools/registry/_fs_safety.py +238 -0
  171. tuva/_backend/tools/registry/bash.py +111 -0
  172. tuva/_backend/tools/registry/fetch_kernel_variables.py +146 -0
  173. tuva/_backend/tools/registry/fetch_notebook_cells.py +209 -0
  174. tuva/_backend/tools/registry/fetch_paper_sections.py +127 -0
  175. tuva/_backend/tools/registry/fetch_past_conversation_turn.py +92 -0
  176. tuva/_backend/tools/registry/fetch_pdf_pages.py +114 -0
  177. tuva/_backend/tools/registry/fetch_variable_values.py +157 -0
  178. tuva/_backend/tools/registry/figure_analysis.py +454 -0
  179. tuva/_backend/tools/registry/file_read.py +150 -0
  180. tuva/_backend/tools/registry/grep.py +52 -0
  181. tuva/_backend/tools/registry/hot_memory.py +221 -0
  182. tuva/_backend/tools/registry/mkdir.py +56 -0
  183. tuva/_backend/tools/registry/text_editor.py +247 -0
  184. tuva/_backend/tools/registry/view_pdf_pages.py +163 -0
  185. tuva/_backend/tools/registry/web_search.py +145 -0
  186. tuva/_backend/tools/tool.py +42 -0
  187. tuva/_baked.py +2 -0
  188. tuva/backend_staging.py +314 -0
  189. tuva/baked.py +20 -0
  190. tuva/bootstrap.py +156 -0
  191. tuva/cli.py +72 -0
  192. tuva/cloud.py +23 -0
  193. tuva/commands/__init__.py +0 -0
  194. tuva/commands/_common.py +32 -0
  195. tuva/commands/auth.py +88 -0
  196. tuva/commands/chat.py +868 -0
  197. tuva/commands/connectors.py +156 -0
  198. tuva/commands/index.py +190 -0
  199. tuva/commands/init.py +69 -0
  200. tuva/commands/logs.py +155 -0
  201. tuva/commands/memory.py +179 -0
  202. tuva/commands/restart.py +194 -0
  203. tuva/commands/start.py +309 -0
  204. tuva/commands/status.py +178 -0
  205. tuva/commands/stop.py +142 -0
  206. tuva/commands/workspaces.py +134 -0
  207. tuva/config.py +70 -0
  208. tuva/daemon_state.py +105 -0
  209. tuva/health.py +55 -0
  210. tuva/lease.py +166 -0
  211. tuva/pidfile.py +182 -0
  212. tuva/project.py +227 -0
  213. tuva/supervisor_launcher.py +206 -0
  214. tuva-0.1.0.dist-info/METADATA +57 -0
  215. tuva-0.1.0.dist-info/RECORD +222 -0
  216. tuva-0.1.0.dist-info/WHEEL +4 -0
  217. tuva-0.1.0.dist-info/entry_points.txt +2 -0
  218. tuva_sdk/__init__.py +45 -0
  219. tuva_sdk/auth.py +73 -0
  220. tuva_sdk/client.py +496 -0
  221. tuva_sdk/messages.py +107 -0
  222. tuva_sdk/workspaces.py +145 -0
tuva/__init__.py ADDED
@@ -0,0 +1,11 @@
1
+ """Tuva CLI — terminal interface to the Tuva daemon."""
2
+
3
+ from importlib.metadata import PackageNotFoundError, version as _pkg_version
4
+
5
+ try:
6
+ __version__ = _pkg_version("tuva")
7
+ except PackageNotFoundError:
8
+ # Fallback when the package isn't installed (e.g. running from source tree).
9
+ __version__ = "0.0.0+unknown"
10
+
11
+ __all__ = ["__version__"]
tuva/__main__.py ADDED
@@ -0,0 +1,6 @@
1
+ """Entry point for ``python -m tuva``."""
2
+
3
+ from tuva.cli import app
4
+
5
+ if __name__ == "__main__":
6
+ app()
@@ -0,0 +1 @@
1
+ bundled curated backend
@@ -0,0 +1,17 @@
1
+ FROM python:3.11-slim
2
+
3
+ WORKDIR /app
4
+
5
+ # Install system dependencies
6
+ RUN apt-get update && apt-get install -y \
7
+ gcc \
8
+ && rm -rf /var/lib/apt/lists/*
9
+
10
+ # Copy requirements and install Python dependencies
11
+ COPY services/api/requirements.txt .
12
+ RUN pip install --no-cache-dir -r requirements.txt
13
+
14
+ # Copy API code
15
+ COPY api/ ./api
16
+
17
+ EXPOSE 8001
@@ -0,0 +1 @@
1
+ # API package