orvin 0.1.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 (149) hide show
  1. orvin-0.1.0/.env.example +39 -0
  2. orvin-0.1.0/LICENSE +661 -0
  3. orvin-0.1.0/MANIFEST.in +5 -0
  4. orvin-0.1.0/PKG-INFO +250 -0
  5. orvin-0.1.0/README.md +201 -0
  6. orvin-0.1.0/docs/README.md +11 -0
  7. orvin-0.1.0/docs/master-docs/01_MASTER_BUILD_READ_THIS_FIRST.md +48 -0
  8. orvin-0.1.0/docs/master-docs/02_MASTER_BUILD_IMPLEMENTED_STATUS.md +58 -0
  9. orvin-0.1.0/docs/master-docs/03_MASTER_BUILD_RUNTIME_AND_CONTRACTS.md +99 -0
  10. orvin-0.1.0/docs/master-docs/04_MASTER_BUILD_EXECUTION_PLAN.md +136 -0
  11. orvin-0.1.0/docs/master-docs/05_MASTER_BUILD_FINISH_CHECKLIST.md +58 -0
  12. orvin-0.1.0/examples/README.md +36 -0
  13. orvin-0.1.0/examples/browser_adapter_example.py +51 -0
  14. orvin-0.1.0/examples/cli_workflow.md +44 -0
  15. orvin-0.1.0/examples/deepgram_adapter_example.py +38 -0
  16. orvin-0.1.0/examples/document_ingestion_example.py +50 -0
  17. orvin-0.1.0/examples/elevenlabs_adapter_example.py +32 -0
  18. orvin-0.1.0/examples/livekit_adapter_example.py +56 -0
  19. orvin-0.1.0/examples/mcp_stdio_example.py +73 -0
  20. orvin-0.1.0/examples/payloads/document_ingest.json +12 -0
  21. orvin-0.1.0/examples/pipecat_adapter_example.py +57 -0
  22. orvin-0.1.0/examples/python_sdk_example.py +54 -0
  23. orvin-0.1.0/examples/retell_adapter_example.py +32 -0
  24. orvin-0.1.0/examples/typescript_sdk_example.ts +47 -0
  25. orvin-0.1.0/examples/v1_python_local_runtime.py +32 -0
  26. orvin-0.1.0/examples/vapi_adapter_example.py +38 -0
  27. orvin-0.1.0/pyproject.toml +77 -0
  28. orvin-0.1.0/setup.cfg +4 -0
  29. orvin-0.1.0/src/orvin/__init__.py +43 -0
  30. orvin-0.1.0/src/orvin/alembic/env.py +56 -0
  31. orvin-0.1.0/src/orvin/alembic/script.py.mako +9 -0
  32. orvin-0.1.0/src/orvin/alembic/versions/0001_initial.py +202 -0
  33. orvin-0.1.0/src/orvin/alembic/versions/0002_search_and_evidence.py +49 -0
  34. orvin-0.1.0/src/orvin/alembic/versions/0003_interaction_runtime_fields.py +64 -0
  35. orvin-0.1.0/src/orvin/alembic/versions/0004_outbox_and_idempotency_runtime.py +46 -0
  36. orvin-0.1.0/src/orvin/alembic/versions/0005_workspace_isolation_hardening.py +150 -0
  37. orvin-0.1.0/src/orvin/alembic/versions/0006_document_ingestion_pipeline.py +162 -0
  38. orvin-0.1.0/src/orvin/alembic/versions/0007_connector_framework_and_essential_connectors.py +188 -0
  39. orvin-0.1.0/src/orvin/alembic/versions/0008_memory_intelligence_overhaul.py +109 -0
  40. orvin-0.1.0/src/orvin/alembic/versions/0009_managed_api_keys.py +48 -0
  41. orvin-0.1.0/src/orvin/alembic/versions/0010_participant_prompt_context.py +38 -0
  42. orvin-0.1.0/src/orvin/alembic/versions/0011_voice_read_models.py +110 -0
  43. orvin-0.1.0/src/orvin/alembic/versions/0012_multimodal_voice_memory.py +105 -0
  44. orvin-0.1.0/src/orvin/alembic.ini +38 -0
  45. orvin-0.1.0/src/orvin/api/__init__.py +0 -0
  46. orvin-0.1.0/src/orvin/api/routes.py +1055 -0
  47. orvin-0.1.0/src/orvin/cli/__init__.py +123 -0
  48. orvin-0.1.0/src/orvin/cli/__main__.py +5 -0
  49. orvin-0.1.0/src/orvin/cli/admin.py +105 -0
  50. orvin-0.1.0/src/orvin/cli/db.py +99 -0
  51. orvin-0.1.0/src/orvin/cli/inspect.py +922 -0
  52. orvin-0.1.0/src/orvin/cli/main.py +70 -0
  53. orvin-0.1.0/src/orvin/cli/runtime.py +140 -0
  54. orvin-0.1.0/src/orvin/cli/seed.py +208 -0
  55. orvin-0.1.0/src/orvin/client.py +853 -0
  56. orvin-0.1.0/src/orvin/config.py +192 -0
  57. orvin-0.1.0/src/orvin/db/__init__.py +0 -0
  58. orvin-0.1.0/src/orvin/db/models.py +524 -0
  59. orvin-0.1.0/src/orvin/db/session.py +31 -0
  60. orvin-0.1.0/src/orvin/dependencies.py +262 -0
  61. orvin-0.1.0/src/orvin/domain/__init__.py +0 -0
  62. orvin-0.1.0/src/orvin/domain/models.py +625 -0
  63. orvin-0.1.0/src/orvin/main.py +46 -0
  64. orvin-0.1.0/src/orvin/mcp_server/__init__.py +14 -0
  65. orvin-0.1.0/src/orvin/mcp_server/__main__.py +5 -0
  66. orvin-0.1.0/src/orvin/mcp_server/client.py +192 -0
  67. orvin-0.1.0/src/orvin/mcp_server/resources.py +141 -0
  68. orvin-0.1.0/src/orvin/mcp_server/server.py +232 -0
  69. orvin-0.1.0/src/orvin/mcp_server/tools.py +277 -0
  70. orvin-0.1.0/src/orvin/repositories/__init__.py +0 -0
  71. orvin-0.1.0/src/orvin/repositories/base.py +478 -0
  72. orvin-0.1.0/src/orvin/repositories/in_memory.py +837 -0
  73. orvin-0.1.0/src/orvin/repositories/postgres.py +2192 -0
  74. orvin-0.1.0/src/orvin/runtime.py +1647 -0
  75. orvin-0.1.0/src/orvin/schemas.py +1217 -0
  76. orvin-0.1.0/src/orvin/sdk.py +348 -0
  77. orvin-0.1.0/src/orvin/services/__init__.py +0 -0
  78. orvin-0.1.0/src/orvin/services/api_keys.py +118 -0
  79. orvin-0.1.0/src/orvin/services/audio_archive.py +237 -0
  80. orvin-0.1.0/src/orvin/services/cache.py +508 -0
  81. orvin-0.1.0/src/orvin/services/combined_context.py +238 -0
  82. orvin-0.1.0/src/orvin/services/dashboard.py +1171 -0
  83. orvin-0.1.0/src/orvin/services/document_ingestion.py +548 -0
  84. orvin-0.1.0/src/orvin/services/embeddings.py +57 -0
  85. orvin-0.1.0/src/orvin/services/fingerprint.py +34 -0
  86. orvin-0.1.0/src/orvin/services/knowledge_index.py +503 -0
  87. orvin-0.1.0/src/orvin/services/knowledge_sync.py +398 -0
  88. orvin-0.1.0/src/orvin/services/llm_extraction.py +290 -0
  89. orvin-0.1.0/src/orvin/services/local_persistence.py +185 -0
  90. orvin-0.1.0/src/orvin/services/local_search.py +264 -0
  91. orvin-0.1.0/src/orvin/services/memory_intelligence.py +1768 -0
  92. orvin-0.1.0/src/orvin/services/memory_quality_eval.py +264 -0
  93. orvin-0.1.0/src/orvin/services/memory_service.py +8684 -0
  94. orvin-0.1.0/src/orvin/services/metrics.py +134 -0
  95. orvin-0.1.0/src/orvin/services/model_intelligence.py +568 -0
  96. orvin-0.1.0/src/orvin/services/outbox_worker.py +136 -0
  97. orvin-0.1.0/src/orvin/services/sender_email.py +205 -0
  98. orvin-0.1.0/src/orvin/services/supabase_auth.py +58 -0
  99. orvin-0.1.0/src/orvin/services/two_layer_extraction.py +341 -0
  100. orvin-0.1.0/src/orvin/services/usage_tracking.py +118 -0
  101. orvin-0.1.0/src/orvin/services/voice_features.py +375 -0
  102. orvin-0.1.0/src/orvin/sidecar.py +587 -0
  103. orvin-0.1.0/src/orvin/version.py +18 -0
  104. orvin-0.1.0/src/orvin.egg-info/PKG-INFO +250 -0
  105. orvin-0.1.0/src/orvin.egg-info/SOURCES.txt +147 -0
  106. orvin-0.1.0/src/orvin.egg-info/dependency_links.txt +1 -0
  107. orvin-0.1.0/src/orvin.egg-info/entry_points.txt +3 -0
  108. orvin-0.1.0/src/orvin.egg-info/requires.txt +42 -0
  109. orvin-0.1.0/src/orvin.egg-info/top_level.txt +9 -0
  110. orvin-0.1.0/src/orvin_adapters/__init__.py +35 -0
  111. orvin-0.1.0/src/orvin_adapters/base.py +739 -0
  112. orvin-0.1.0/src/orvin_browser/__init__.py +5 -0
  113. orvin-0.1.0/src/orvin_browser/adapter.py +250 -0
  114. orvin-0.1.0/src/orvin_deepgram/__init__.py +13 -0
  115. orvin-0.1.0/src/orvin_deepgram/adapter.py +255 -0
  116. orvin-0.1.0/src/orvin_deepgram/conversation.py +181 -0
  117. orvin-0.1.0/src/orvin_deepgram/runtime.py +175 -0
  118. orvin-0.1.0/src/orvin_elevenlabs/__init__.py +6 -0
  119. orvin-0.1.0/src/orvin_elevenlabs/adapter.py +256 -0
  120. orvin-0.1.0/src/orvin_elevenlabs/runtime.py +175 -0
  121. orvin-0.1.0/src/orvin_livekit/__init__.py +6 -0
  122. orvin-0.1.0/src/orvin_livekit/adapter.py +280 -0
  123. orvin-0.1.0/src/orvin_livekit/runtime.py +183 -0
  124. orvin-0.1.0/src/orvin_pipecat/__init__.py +6 -0
  125. orvin-0.1.0/src/orvin_pipecat/adapter.py +271 -0
  126. orvin-0.1.0/src/orvin_pipecat/runtime.py +173 -0
  127. orvin-0.1.0/src/orvin_retell/__init__.py +6 -0
  128. orvin-0.1.0/src/orvin_retell/adapter.py +256 -0
  129. orvin-0.1.0/src/orvin_retell/runtime.py +171 -0
  130. orvin-0.1.0/src/orvin_vapi/__init__.py +6 -0
  131. orvin-0.1.0/src/orvin_vapi/adapter.py +256 -0
  132. orvin-0.1.0/src/orvin_vapi/runtime.py +175 -0
  133. orvin-0.1.0/tests/test_adapters.py +448 -0
  134. orvin-0.1.0/tests/test_client_and_cli.py +1313 -0
  135. orvin-0.1.0/tests/test_document_ingestion.py +29 -0
  136. orvin-0.1.0/tests/test_knowledge_index.py +26 -0
  137. orvin-0.1.0/tests/test_knowledge_pipeline.py +65 -0
  138. orvin-0.1.0/tests/test_mcp_server.py +373 -0
  139. orvin-0.1.0/tests/test_memory_quality_eval.py +129 -0
  140. orvin-0.1.0/tests/test_memory_service.py +3421 -0
  141. orvin-0.1.0/tests/test_packaging_and_examples.py +65 -0
  142. orvin-0.1.0/tests/test_runtime_sdk.py +556 -0
  143. orvin-0.1.0/tests/test_sender_email.py +31 -0
  144. orvin-0.1.0/tests/test_usage_tracking.py +69 -0
  145. orvin-0.1.0/tests/test_v1_python_integrations.py +311 -0
  146. orvin-0.1.0/tests/test_v1_readiness.py +236 -0
  147. orvin-0.1.0/tests/test_v2_extraction_and_sync.py +387 -0
  148. orvin-0.1.0/tests/test_v2_sdk.py +898 -0
  149. orvin-0.1.0/tests/test_voice_read_models.py +847 -0
@@ -0,0 +1,39 @@
1
+ ORVIN_ENVIRONMENT=development
2
+ ORVIN_DEBUG=true
3
+ # Local shell runs should keep localhost here.
4
+ # Docker Compose overrides these values to use the internal service names.
5
+ ORVIN_DATABASE_URL=postgresql+psycopg://postgres.YOUR_PROJECT_REF:YOUR_PASSWORD@aws-1-REGION.pooler.supabase.com:6543/postgres?sslmode=require
6
+ ORVIN_REDIS_URL=redis://localhost:6379/0
7
+ ORVIN_API_KEYS=dev-api-key
8
+ ORVIN_API_KEY_HASH_SECRET=change-me-for-shared-deployments
9
+ ORVIN_ALLOW_UNAUTHENTICATED=false
10
+ ORVIN_BASE_URL=http://127.0.0.1:8000
11
+ ORVIN_CORS_ORIGINS=http://localhost:3000,http://127.0.0.1:3000
12
+ ORVIN_SUPABASE_URL=https://your-project.supabase.co
13
+ ORVIN_SUPABASE_PUBLISHABLE_KEY=sb_publishable_xxx
14
+ ORVIN_USE_IN_MEMORY_STORE=false
15
+ ORVIN_ENABLE_REDIS=true
16
+ ORVIN_EMBEDDING_CACHE_DIR=.cache/fastembed
17
+ ORVIN_INTELLIGENCE_MODEL=LongCat-Flash-Lite
18
+ ORVIN_INTELLIGENCE_SUMMARY_MODEL=
19
+ ORVIN_INTELLIGENCE_API_KEY=
20
+ ORVIN_INTELLIGENCE_BASE_URL=https://api.longcat.chat/openai
21
+ ORVIN_INTELLIGENCE_TIMEOUT_SECONDS=20
22
+ ORVIN_LLM_EXTRACTION_ENABLED=true
23
+ ORVIN_LLM_EXTRACTION_TIMEOUT_SECONDS=20
24
+ ORVIN_EMAIL_PROVIDER=sender
25
+ ORVIN_BREVO_API_KEY=
26
+ ORVIN_RESEND_API_KEY=
27
+ ORVIN_SENDER_API_TOKEN=
28
+ ORVIN_SENDER_FROM_EMAIL=
29
+ ORVIN_SENDER_FROM_NAME=Orvin
30
+ ORVIN_AUDIO_ARCHIVE_ENABLED=false
31
+ ORVIN_AUDIO_ARCHIVE_PROVIDER=backblaze_b2
32
+ ORVIN_B2_KEY_ID=
33
+ ORVIN_B2_APPLICATION_KEY=
34
+ ORVIN_B2_BUCKET_NAME=
35
+ ORVIN_B2_BUCKET_ID=
36
+ ORVIN_B2_PREFIX=voice-sessions
37
+ ORVIN_MCP_LOCAL_MODE=false
38
+ ORVIN_MCP_ENABLE_DEBUG_TOOLS=false
39
+ ORVIN_MCP_ENABLE_WRITE_TOOLS=false