dao-ai 0.0.30__tar.gz → 0.0.32__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 (362) hide show
  1. {dao_ai-0.0.30 → dao_ai-0.0.32}/PKG-INFO +9 -9
  2. {dao_ai-0.0.30 → dao_ai-0.0.32}/pyproject.toml +9 -9
  3. {dao_ai-0.0.30 → dao_ai-0.0.32}/requirements.txt +34 -24
  4. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/config.py +47 -1
  5. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/prompts.py +1 -1
  6. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/providers/databricks.py +204 -146
  7. dao_ai-0.0.32/src/dao_ai/tools/genie.py +149 -0
  8. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/tools/vector_search.py +27 -0
  9. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/utils.py +34 -7
  10. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_databricks.py +231 -6
  11. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_genie_databricks_integration.py +4 -4
  12. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_prompts.py +84 -76
  13. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_reranking.py +9 -6
  14. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_utils.py +20 -0
  15. dao_ai-0.0.30/src/dao_ai/tools/genie.py +0 -385
  16. {dao_ai-0.0.30 → dao_ai-0.0.32}/.gitignore +0 -0
  17. {dao_ai-0.0.30 → dao_ai-0.0.32}/.python-version +0 -0
  18. {dao_ai-0.0.30 → dao_ai-0.0.32}/CHANGELOG.md +0 -0
  19. {dao_ai-0.0.30 → dao_ai-0.0.32}/CONTRIBUTING.md +0 -0
  20. {dao_ai-0.0.30 → dao_ai-0.0.32}/LICENSE +0 -0
  21. {dao_ai-0.0.30 → dao_ai-0.0.32}/Makefile +0 -0
  22. {dao_ai-0.0.30 → dao_ai-0.0.32}/README.md +0 -0
  23. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/Makefile +0 -0
  24. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/REFACTORING_SUMMARY.md +0 -0
  25. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/base-environment-serverless.yaml +0 -0
  26. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/demo_docs/BRAND_REP_DEMO_SUMMARY.md +0 -0
  27. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/demo_docs/demo_scripts/brand_rep_product_education_demo.md +0 -0
  28. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/demo_docs/demo_scripts/store_associate_ai_assistant_demo.md +0 -0
  29. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/demo_docs/demo_scripts/store_manager_alert_response_demo.md +0 -0
  30. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/development_workflows.md +0 -0
  31. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/.gitkeep +0 -0
  32. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/Makefile +0 -0
  33. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/agent_implementation.mmd +0 -0
  34. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/agent_tools_architecture.mmd +0 -0
  35. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/agents-and-tools/agent-troubleshooting.md +0 -0
  36. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-best-practices.md +0 -0
  37. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-development-patterns.md +0 -0
  38. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-performance.md +0 -0
  39. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-quickstart.md +0 -0
  40. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/agents-and-tools/ai-agents.md +0 -0
  41. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/agents-and-tools/overview.md +0 -0
  42. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/agents-and-tools/references/agent-reference.md +0 -0
  43. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/agents-and-tools/references/tools-reference.md +0 -0
  44. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/applications/streamlit-app.md +0 -0
  45. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/architecture/overview.md +0 -0
  46. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/architecture.mmd +0 -0
  47. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/architecture.png +0 -0
  48. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/customer_preparation_guide.md +0 -0
  49. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/databricks_integration.mmd +0 -0
  50. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/deployment/production.md +0 -0
  51. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/development/contributing.md +0 -0
  52. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/employee_tools_guide.md +0 -0
  53. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/getting-started/installation.md +0 -0
  54. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/getting-started/mkdocs-quickstart.md +0 -0
  55. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/getting-started/quick-start.md +0 -0
  56. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/index.md +0 -0
  57. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/mkdocs.yml +0 -0
  58. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/scenario_1_architecture.mmd +0 -0
  59. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/scenario_1_flow.mmd +0 -0
  60. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/setup-docs.sh +0 -0
  61. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/task_assignment_workflow_guide.md +0 -0
  62. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/docs/tools/overview.md +0 -0
  63. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/examples/customer_preparation_workflow.py +0 -0
  64. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/examples/task_assignment_workflow.py +0 -0
  65. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/load-env.sh +0 -0
  66. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/CSS_REFACTORING_SUMMARY.md +0 -0
  67. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/DEMO_CONTROLS_RESTORED.md +0 -0
  68. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/DEMO_IMPLEMENTATION_SUMMARY.md +0 -0
  69. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/DEMO_QUICK_START.md +0 -0
  70. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/Dockerfile +0 -0
  71. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/HOMEPAGE_README.md +0 -0
  72. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/Makefile +0 -0
  73. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/README.md +0 -0
  74. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/app.py +0 -0
  75. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/app.yaml +0 -0
  76. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/__init__.py +0 -0
  77. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/backup_homepage.py +0 -0
  78. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/chat.py +0 -0
  79. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/enhanced_charts.py +0 -0
  80. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/enhanced_navigation.py +0 -0
  81. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/__init__.py +0 -0
  82. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/__init__.py +0 -0
  83. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/associate_homepage.py +0 -0
  84. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/dashboard_tab.py +0 -0
  85. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/my_tasks_tab.py +0 -0
  86. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/performance_tab.py +0 -0
  87. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/products_tab.py +0 -0
  88. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/schedule_tab.py +0 -0
  89. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/__init__.py +0 -0
  90. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/chat_integration.py +0 -0
  91. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/kpi_summary.py +0 -0
  92. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/notifications.py +0 -0
  93. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/homepage.py +0 -0
  94. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/__init__.py +0 -0
  95. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/alerts_tab.py +0 -0
  96. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/analytics_tab.py +0 -0
  97. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/dashboard_tab.py +0 -0
  98. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/demo_alerts.py +0 -0
  99. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/inventory_tab.py +0 -0
  100. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/manager_homepage.py +0 -0
  101. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/operations_tab.py +0 -0
  102. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/team_tab.py +0 -0
  103. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/__init__.py +0 -0
  104. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/ai_insights_tab.py +0 -0
  105. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/executive_dashboard_tab.py +0 -0
  106. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/geographical_analysis_tab.py +0 -0
  107. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/performance_metrics_tab.py +0 -0
  108. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/strategic_insights_tab.py +0 -0
  109. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/vp_homepage.py +0 -0
  110. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/metrics.py +0 -0
  111. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/navigation.py +0 -0
  112. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/oldhomepage.py +0 -0
  113. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/components/styles.py +0 -0
  114. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/config.yaml +0 -0
  115. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/demo_docs/BRAND_REP_DEMO_SUMMARY.md +0 -0
  116. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/demo_docs/comprehensive_demo_script.md +0 -0
  117. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/brand_rep_product_education_demo.md +0 -0
  118. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/store_associate_ai_assistant_demo.md +0 -0
  119. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/store_manager_alert_response_demo.md +0 -0
  120. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/dev/README.md +0 -0
  121. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/dev/__init__.py +0 -0
  122. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/dev/components/__init__.py +0 -0
  123. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/dev/components/dashboard_card.py +0 -0
  124. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/dev/demo_alerts.py +0 -0
  125. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/dev/examples/sample_dashboard.py +0 -0
  126. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/pages/__init__.py +0 -0
  127. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/pages/component_showcase.py +0 -0
  128. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/pages/dev_playground.py +0 -0
  129. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/pages/playground.py +0 -0
  130. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/pages_wip/daily_operations.py +0 -0
  131. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/pages_wip/inventory.py +0 -0
  132. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_schedule.py +0 -0
  133. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_tasks.py +0 -0
  134. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/pages_wip/orders.py +0 -0
  135. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/pages_wip/products_promotions.py +0 -0
  136. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/pages_wip/staff.py +0 -0
  137. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/pages_wip/team_insights.py +0 -0
  138. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/pyproject.toml +0 -0
  139. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/requirements.txt +0 -0
  140. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/static/css/style.css +0 -0
  141. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/styles/README.md +0 -0
  142. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/styles/__init__.py +0 -0
  143. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/styles/base.py +0 -0
  144. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/styles/components.py +0 -0
  145. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/styles/dashboard.py +0 -0
  146. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/styles/homepage.py +0 -0
  147. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/styles/theme.py +0 -0
  148. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/test_vip_notification.py +0 -0
  149. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/tests/test_calculations.py +0 -0
  150. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/utils/config.py +0 -0
  151. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/utils/database.py +0 -0
  152. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/utils/model_serving.py +0 -0
  153. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app/utils/store_context.py +0 -0
  154. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/Makefile +0 -0
  155. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/README.md +0 -0
  156. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/app.py +0 -0
  157. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/__init__.py +0 -0
  158. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/__init__.py +0 -0
  159. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_components.py +0 -0
  160. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_components_enhanced.py +0 -0
  161. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_styles.py +0 -0
  162. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin_styles.py +0 -0
  163. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/TAILADMIN_README.md +0 -0
  164. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/homepage_tailadmin.py +0 -0
  165. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/tailadmin_demo.py +0 -0
  166. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/tailadmin_implementation_guide.py +0 -0
  167. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/test_vp_dashboard.py +0 -0
  168. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/vp_dashboard_enhanced.py +0 -0
  169. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/vp_dashboard_tailadmin.py +0 -0
  170. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/components_demo.py +0 -0
  171. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/homepage.py +0 -0
  172. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/implementation_guide.py +0 -0
  173. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/vp_dashboard_clean.py +0 -0
  174. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/vp_dashboard_enhanced.py +0 -0
  175. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pyproject.toml +0 -0
  176. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/tests/__init__.py +0 -0
  177. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/streamlit_store_app_tailadmin/tests/test_imports.py +0 -0
  178. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/tests/.gitkeep +0 -0
  179. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/tests/README.md +0 -0
  180. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/tests/images/doritos_upc.png +0 -0
  181. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/tests/images/lays_upc.png +0 -0
  182. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/tests/manager_demo_script.md +0 -0
  183. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/tests/notebook_vector_search_test.py +0 -0
  184. {dao_ai-0.0.30 → dao_ai-0.0.32}/apps/dais2025/store-app/tests/test_vector_search_integration.py +0 -0
  185. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/dais2025/model_config_dais.yaml +0 -0
  186. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/examples/deep_research.yaml +0 -0
  187. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/examples/executive_assistant.yaml +0 -0
  188. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/examples/genie.yaml +0 -0
  189. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/examples/genie_and_genie_mcp.yaml +0 -0
  190. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/examples/genie_and_vector_search.yaml +0 -0
  191. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/examples/genie_with_conversion_id.yaml +0 -0
  192. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/examples/human_in_the_loop.yaml +0 -0
  193. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/examples/jira.yaml +0 -0
  194. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/examples/mcp.yaml +0 -0
  195. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/examples/mcp_with_uc_connection.yaml +0 -0
  196. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/examples/minimal.yaml +0 -0
  197. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/examples/prompt_optimization.yaml +0 -0
  198. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/examples/prompt_registry.yaml +0 -0
  199. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/examples/reservations.yaml +0 -0
  200. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/examples/slack.yaml +0 -0
  201. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/examples/vector_search_with_reranking.yaml +0 -0
  202. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/hardware_store/supervisor.yaml +0 -0
  203. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/hardware_store/supervisor_postgres.yaml +0 -0
  204. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/hardware_store/swarm.yaml +0 -0
  205. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/quick_serve_restaurant/.gitkeep +0 -0
  206. {dao_ai-0.0.30 → dao_ai-0.0.32}/config/quick_serve_restaurant/quick-serve-restaurant.yaml +0 -0
  207. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/appointments.sql +0 -0
  208. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/appointments_data.sql +0 -0
  209. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/brand_rep_demo_data.sql +0 -0
  210. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/brand_rep_demo_queries.sql +0 -0
  211. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/brand_rep_demo_tables.sql +0 -0
  212. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/brand_rep_demo_validation.sql +0 -0
  213. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/customers.sql +0 -0
  214. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/customers_data.sql +0 -0
  215. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/dim_stores.sql +0 -0
  216. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/dim_stores_data.sql +0 -0
  217. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/employee_performance.sql +0 -0
  218. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/employee_performance_data.sql +0 -0
  219. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/employee_tasks.sql +0 -0
  220. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/employee_tasks_data.sql +0 -0
  221. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/inventory.sql +0 -0
  222. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/inventory_data.sql +0 -0
  223. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/managers.sql +0 -0
  224. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/managers_data.sql +0 -0
  225. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/product_data.sql +0 -0
  226. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/products.sql +0 -0
  227. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/dais2025/task_assignments.sql +0 -0
  228. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/hardware_store/inventory.snappy.parquet +0 -0
  229. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/hardware_store/inventory.sql +0 -0
  230. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/hardware_store/products.snappy.parquet +0 -0
  231. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/hardware_store/products.sql +0 -0
  232. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/quick_serve_restaurant/.gitkeep +0 -0
  233. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/quick_serve_restaurant/fulfil_item_orders.sql +0 -0
  234. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/quick_serve_restaurant/items_description.csv +0 -0
  235. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/quick_serve_restaurant/items_description.sql +0 -0
  236. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/quick_serve_restaurant/items_raw.csv +0 -0
  237. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/quick_serve_restaurant/items_raw.sql +0 -0
  238. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/quick_serve_restaurant/orders_raw.csv +0 -0
  239. {dao_ai-0.0.30 → dao_ai-0.0.32}/data/quick_serve_restaurant/orders_raw.sql +0 -0
  240. {dao_ai-0.0.30 → dao_ai-0.0.32}/databricks.yaml.template +0 -0
  241. {dao_ai-0.0.30 → dao_ai-0.0.32}/docs/genie.png +0 -0
  242. {dao_ai-0.0.30 → dao_ai-0.0.32}/docs/hardware_store/README.md +0 -0
  243. {dao_ai-0.0.30 → dao_ai-0.0.32}/docs/hardware_store/retail_supervisor.png +0 -0
  244. {dao_ai-0.0.30 → dao_ai-0.0.32}/docs/hardware_store/retail_swarm.png +0 -0
  245. {dao_ai-0.0.30 → dao_ai-0.0.32}/docs/quick_serve_restaurant/.gitkeep +0 -0
  246. {dao_ai-0.0.30 → dao_ai-0.0.32}/docs/quick_serve_restaurant/quick-serve-restaurant.png +0 -0
  247. {dao_ai-0.0.30 → dao_ai-0.0.32}/environment.yaml +0 -0
  248. {dao_ai-0.0.30 → dao_ai-0.0.32}/examples/dais2025/examples.yaml +0 -0
  249. {dao_ai-0.0.30 → dao_ai-0.0.32}/examples/deep_research/examples.yaml +0 -0
  250. {dao_ai-0.0.30 → dao_ai-0.0.32}/examples/executive_assistant/examples.yaml +0 -0
  251. {dao_ai-0.0.30 → dao_ai-0.0.32}/examples/hardware_store/examples.yaml +0 -0
  252. {dao_ai-0.0.30 → dao_ai-0.0.32}/examples/quick_serve_restaurant/.gitkeep +0 -0
  253. {dao_ai-0.0.30 → dao_ai-0.0.32}/examples/quick_serve_restaurant/examples.yaml +0 -0
  254. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/dais2025/extract_store_numbers.sql +0 -0
  255. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/dais2025/find_inventory_by_sku.sql +0 -0
  256. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/dais2025/find_inventory_by_upc.sql +0 -0
  257. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/dais2025/find_product_by_sku.sql +0 -0
  258. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/dais2025/find_product_by_upc.sql +0 -0
  259. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/dais2025/find_store_by_number.sql +0 -0
  260. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/dais2025/find_store_inventory_by_sku.sql +0 -0
  261. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/dais2025/find_store_inventory_by_upc.sql +0 -0
  262. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/hardware_store/find_inventory_by_sku.sql +0 -0
  263. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/hardware_store/find_inventory_by_upc.sql +0 -0
  264. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/hardware_store/find_product_by_sku.sql +0 -0
  265. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/hardware_store/find_product_by_upc.sql +0 -0
  266. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/hardware_store/find_store_inventory_by_sku.sql +0 -0
  267. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/hardware_store/find_store_inventory_by_upc.sql +0 -0
  268. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/quick_serve_restaurant/.gitkeep +0 -0
  269. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/quick_serve_restaurant/insert_coffee_order.sql +0 -0
  270. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/quick_serve_restaurant/lookup_items_by_descriptions.sql +0 -0
  271. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/quick_serve_restaurant/match_historical_item_order_by_date.sql +0 -0
  272. {dao_ai-0.0.30 → dao_ai-0.0.32}/functions/quick_serve_restaurant/match_item_by_description_and_price.sql +0 -0
  273. {dao_ai-0.0.30 → dao_ai-0.0.32}/notebooks/01_ingest_and_transform.py +0 -0
  274. {dao_ai-0.0.30 → dao_ai-0.0.32}/notebooks/02_provision_vector_search.py +0 -0
  275. {dao_ai-0.0.30 → dao_ai-0.0.32}/notebooks/03_provision_lakebase.py +0 -0
  276. {dao_ai-0.0.30 → dao_ai-0.0.32}/notebooks/04_unity_catalog_tools.py +0 -0
  277. {dao_ai-0.0.30 → dao_ai-0.0.32}/notebooks/05_deploy_agent.py +0 -0
  278. {dao_ai-0.0.30 → dao_ai-0.0.32}/notebooks/06_generate_evaluation_data.py +0 -0
  279. {dao_ai-0.0.30 → dao_ai-0.0.32}/notebooks/07_run_evaluation.py +0 -0
  280. {dao_ai-0.0.30 → dao_ai-0.0.32}/notebooks/08_run_examples.py +0 -0
  281. {dao_ai-0.0.30 → dao_ai-0.0.32}/notebooks/09_evaluate_inferences.py +0 -0
  282. {dao_ai-0.0.30 → dao_ai-0.0.32}/notebooks/10_optimize_prompts.py +0 -0
  283. {dao_ai-0.0.30 → dao_ai-0.0.32}/notebooks/99_scratchpad.py +0 -0
  284. {dao_ai-0.0.30 → dao_ai-0.0.32}/notebooks/INVESTech.py +0 -0
  285. {dao_ai-0.0.30 → dao_ai-0.0.32}/schemas/bundle_config_schema.json +0 -0
  286. {dao_ai-0.0.30 → dao_ai-0.0.32}/schemas/model_config_schema.json +0 -0
  287. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dais2025/__init__.py +0 -0
  288. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dais2025/models.py +0 -0
  289. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dais2025/tools/__init__.py +0 -0
  290. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dais2025/tools/customer.py +0 -0
  291. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dais2025/tools/employee.py +0 -0
  292. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dais2025/tools/executive.py +0 -0
  293. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dais2025/tools/genie.py +0 -0
  294. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dais2025/tools/inventory.py +0 -0
  295. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dais2025/tools/models.py +0 -0
  296. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dais2025/tools/store.py +0 -0
  297. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/__init__.py +0 -0
  298. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/agent_as_code.py +0 -0
  299. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/catalog.py +0 -0
  300. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/chat_models.py +0 -0
  301. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/cli.py +0 -0
  302. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/graph.py +0 -0
  303. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/guardrails.py +0 -0
  304. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/hooks/__init__.py +0 -0
  305. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/hooks/core.py +0 -0
  306. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/memory/__init__.py +0 -0
  307. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/memory/base.py +0 -0
  308. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/memory/core.py +0 -0
  309. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/memory/postgres.py +0 -0
  310. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/messages.py +0 -0
  311. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/models.py +0 -0
  312. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/nodes.py +0 -0
  313. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/providers/__init__.py +0 -0
  314. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/providers/base.py +0 -0
  315. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/state.py +0 -0
  316. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/tools/__init__.py +0 -0
  317. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/tools/agent.py +0 -0
  318. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/tools/core.py +0 -0
  319. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/tools/human_in_the_loop.py +0 -0
  320. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/tools/mcp.py +0 -0
  321. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/tools/python.py +0 -0
  322. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/tools/slack.py +0 -0
  323. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/tools/time.py +0 -0
  324. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/tools/unity_catalog.py +0 -0
  325. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/types.py +0 -0
  326. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/dao_ai/vector_search.py +0 -0
  327. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/hardware_store/__init__.py +0 -0
  328. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/hardware_store/hooks.py +0 -0
  329. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/hardware_store/tools.py +0 -0
  330. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/quick_serve_restaurant/.gitkeep +0 -0
  331. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/quick_serve_restaurant/__init__.py +0 -0
  332. {dao_ai-0.0.30 → dao_ai-0.0.32}/src/quick_serve_restaurant/tools.py +0 -0
  333. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/config/test_model_config.yaml +0 -0
  334. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/conftest.py +0 -0
  335. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_catalog.py +0 -0
  336. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_chat_history.py +0 -0
  337. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_config.py +0 -0
  338. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_function_parsing.py +0 -0
  339. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_genie.py +0 -0
  340. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_genie_conversation_ids_in_outputs.py +0 -0
  341. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_hooks.py +0 -0
  342. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_inference.py +0 -0
  343. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_inference_integration.py +0 -0
  344. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_mcp.py +0 -0
  345. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_mcp_function_model.py +0 -0
  346. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_messages.py +0 -0
  347. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_models.py +0 -0
  348. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_postgres_integration.py +0 -0
  349. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_prompt_optimizations.py +0 -0
  350. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_reranking_integration.py +0 -0
  351. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_state.py +0 -0
  352. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_summarization_inference.py +0 -0
  353. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_tools.py +0 -0
  354. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_types.py +0 -0
  355. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_unity_catalog.py +0 -0
  356. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/test_vector_search.py +0 -0
  357. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/dao_ai/weather_server_mcp.py +0 -0
  358. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/hardware_store/.gitkeep +0 -0
  359. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/hardware_store/test_graph.py +0 -0
  360. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/images/doritos_upc.png +0 -0
  361. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/images/lays_upc.png +0 -0
  362. {dao_ai-0.0.30 → dao_ai-0.0.32}/tests/quick_serve_restaurant/.gitkeep +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dao-ai
3
- Version: 0.0.30
3
+ Version: 0.0.32
4
4
  Summary: DAO AI: A modular, multi-agent orchestration framework for complex AI workflows. Supports agent handoff, tool integration, and dynamic configuration via YAML.
5
5
  Project-URL: Homepage, https://github.com/natefleming/dao-ai
6
6
  Project-URL: Documentation, https://natefleming.github.io/dao-ai
@@ -26,24 +26,24 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
26
26
  Classifier: Topic :: System :: Distributed Computing
27
27
  Requires-Python: >=3.11
28
28
  Requires-Dist: databricks-agents>=1.7.0
29
- Requires-Dist: databricks-langchain>=0.8.1
29
+ Requires-Dist: databricks-langchain>=0.11.0
30
30
  Requires-Dist: databricks-mcp>=0.3.0
31
31
  Requires-Dist: databricks-sdk[openai]>=0.67.0
32
- Requires-Dist: duckduckgo-search>=8.0.2
32
+ Requires-Dist: ddgs>=9.9.3
33
33
  Requires-Dist: flashrank>=0.2.8
34
34
  Requires-Dist: gepa>=0.0.17
35
35
  Requires-Dist: grandalf>=0.8
36
36
  Requires-Dist: langchain-mcp-adapters>=0.1.10
37
37
  Requires-Dist: langchain-tavily>=0.2.11
38
- Requires-Dist: langchain>=0.3.27
38
+ Requires-Dist: langchain>=1.1.3
39
39
  Requires-Dist: langgraph-checkpoint-postgres>=2.0.25
40
- Requires-Dist: langgraph-supervisor>=0.0.29
41
- Requires-Dist: langgraph-swarm>=0.0.14
42
- Requires-Dist: langgraph>=0.6.10
40
+ Requires-Dist: langgraph-supervisor>=0.0.31
41
+ Requires-Dist: langgraph-swarm>=0.1.0
42
+ Requires-Dist: langgraph>=1.0.4
43
43
  Requires-Dist: langmem>=0.0.29
44
44
  Requires-Dist: loguru>=0.7.3
45
45
  Requires-Dist: mcp>=1.17.0
46
- Requires-Dist: mlflow>=3.5.1
46
+ Requires-Dist: mlflow>=3.7.0
47
47
  Requires-Dist: nest-asyncio>=1.6.0
48
48
  Requires-Dist: openevals>=0.0.19
49
49
  Requires-Dist: openpyxl>=3.1.5
@@ -55,7 +55,7 @@ Requires-Dist: rich>=14.0.0
55
55
  Requires-Dist: scipy<=1.15
56
56
  Requires-Dist: sqlparse>=0.5.3
57
57
  Requires-Dist: tomli>=2.3.0
58
- Requires-Dist: unitycatalog-ai[databricks]>=0.3.0
58
+ Requires-Dist: unitycatalog-ai[databricks]>=0.3.2
59
59
  Provides-Extra: databricks
60
60
  Requires-Dist: databricks-connect>=15.0.0; extra == 'databricks'
61
61
  Requires-Dist: databricks-vectorsearch>=0.63; extra == 'databricks'
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "dao-ai"
7
- version = "0.0.30"
7
+ version = "0.0.32"
8
8
  description = "DAO AI: A modular, multi-agent orchestration framework for complex AI workflows. Supports agent handoff, tool integration, and dynamic configuration via YAML."
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
@@ -44,24 +44,24 @@ classifiers = [
44
44
  ]
45
45
  dependencies = [
46
46
  "databricks-agents>=1.7.0",
47
- "databricks-langchain>=0.8.1",
47
+ "databricks-langchain>=0.11.0",
48
48
  "databricks-mcp>=0.3.0",
49
49
  "databricks-sdk[openai]>=0.67.0",
50
- "duckduckgo-search>=8.0.2",
50
+ "ddgs>=9.9.3",
51
51
  "flashrank>=0.2.8",
52
52
  "gepa>=0.0.17",
53
53
  "grandalf>=0.8",
54
- "langchain>=0.3.27",
54
+ "langchain>=1.1.3",
55
55
  "langchain-mcp-adapters>=0.1.10",
56
56
  "langchain-tavily>=0.2.11",
57
- "langgraph>=0.6.10",
57
+ "langgraph>=1.0.4",
58
58
  "langgraph-checkpoint-postgres>=2.0.25",
59
- "langgraph-supervisor>=0.0.29",
60
- "langgraph-swarm>=0.0.14",
59
+ "langgraph-supervisor>=0.0.31",
60
+ "langgraph-swarm>=0.1.0",
61
61
  "langmem>=0.0.29",
62
62
  "loguru>=0.7.3",
63
63
  "mcp>=1.17.0",
64
- "mlflow>=3.5.1",
64
+ "mlflow>=3.7.0",
65
65
  "nest-asyncio>=1.6.0",
66
66
  "openevals>=0.0.19",
67
67
  "openpyxl>=3.1.5",
@@ -73,7 +73,7 @@ dependencies = [
73
73
  "scipy<=1.15",
74
74
  "sqlparse>=0.5.3",
75
75
  "tomli>=2.3.0",
76
- "unitycatalog-ai[databricks]>=0.3.0",
76
+ "unitycatalog-ai[databricks]>=0.3.2",
77
77
  ]
78
78
 
79
79
  [project.scripts]
@@ -4,12 +4,13 @@ aiohttp-retry==2.9.1
4
4
  aiosignal==1.3.2
5
5
  alembic==1.16.2
6
6
  annotated-types==0.7.0
7
- anthropic==0.60.0
7
+ anthropic==0.75.0
8
8
  anyio==4.9.0
9
9
  attrs==25.3.0
10
10
  blinker==1.9.0
11
11
  boto3==1.40.1
12
12
  botocore==1.40.1
13
+ brotli==1.2.0
13
14
  cachetools==5.5.2
14
15
  certifi==2025.6.15
15
16
  cffi==1.17.1
@@ -23,17 +24,19 @@ cryptography==45.0.7
23
24
  cycler==0.12.1
24
25
  databricks-agents==1.7.0
25
26
  databricks-ai-bridge==0.8.0
26
- databricks-langchain==0.8.1
27
+ databricks-langchain==0.11.0
27
28
  databricks-mcp==0.3.0
28
29
  databricks-sdk==0.67.0
29
30
  dataclasses-json==0.6.7
31
+ ddgs==9.9.3
30
32
  deprecation==2.1.0
31
33
  distlib==0.3.9
32
34
  distro==1.9.0
33
35
  docker==7.1.0
34
- duckduckgo-search==8.0.4
36
+ docstring-parser==0.17.0
35
37
  dydantic==0.0.8
36
38
  et-xmlfile==2.0.0
39
+ fake-useragent==2.2.0
37
40
  fastapi==0.115.13
38
41
  filelock==3.18.0
39
42
  flashrank==0.2.10
@@ -57,12 +60,16 @@ grpcio==1.73.0
57
60
  grpcio-status==1.71.0
58
61
  gunicorn==23.0.0
59
62
  h11==0.16.0
63
+ h2==4.3.0
60
64
  hf-xet==1.1.10
65
+ hpack==4.1.0
61
66
  httpcore==1.0.9
62
67
  httpx==0.28.1
63
68
  httpx-sse==0.4.0
69
+ huey==2.5.5
64
70
  huggingface-hub==0.35.0
65
71
  humanfriendly==10.0
72
+ hyperframe==6.1.0
66
73
  identify==2.6.12
67
74
  idna==3.10
68
75
  importlib-metadata==8.7.0
@@ -77,22 +84,23 @@ jsonpointer==3.0.0
77
84
  jsonschema==4.25.1
78
85
  jsonschema-specifications==2025.9.1
79
86
  kiwisolver==1.4.8
80
- langchain==0.3.27
81
- langchain-anthropic==0.3.18
82
- langchain-community==0.3.26
83
- langchain-core==0.3.72
84
- langchain-mcp-adapters==0.1.10
85
- langchain-openai==0.3.24
86
- langchain-tavily==0.2.11
87
- langchain-text-splitters==0.3.9
88
- langgraph==0.6.10
87
+ langchain==1.1.3
88
+ langchain-anthropic==1.2.0
89
+ langchain-classic==1.0.0
90
+ langchain-community==0.4.1
91
+ langchain-core==1.1.2
92
+ langchain-mcp-adapters==0.2.0
93
+ langchain-openai==1.1.1
94
+ langchain-tavily==0.2.13
95
+ langchain-text-splitters==1.0.0
96
+ langgraph==1.0.4
89
97
  langgraph-checkpoint==2.1.2
90
98
  langgraph-checkpoint-postgres==2.0.25
91
- langgraph-prebuilt==0.6.3
99
+ langgraph-prebuilt==1.0.5
92
100
  langgraph-sdk==0.2.9
93
- langgraph-supervisor==0.0.29
94
- langgraph-swarm==0.0.14
95
- langmem==0.0.29
101
+ langgraph-supervisor==0.0.31
102
+ langgraph-swarm==0.1.0
103
+ langmem==0.0.30
96
104
  langsmith==0.4.1
97
105
  litellm==1.75.9
98
106
  loguru==0.7.3
@@ -104,9 +112,9 @@ marshmallow==3.26.1
104
112
  matplotlib==3.10.3
105
113
  mcp==1.17.0
106
114
  mdurl==0.1.2
107
- mlflow==3.5.1
108
- mlflow-skinny==3.5.1
109
- mlflow-tracing==3.5.1
115
+ mlflow==3.7.0
116
+ mlflow-skinny==3.7.0
117
+ mlflow-tracing==3.7.0
110
118
  mpmath==1.3.0
111
119
  multidict==6.5.0
112
120
  mypy==1.16.1
@@ -115,7 +123,7 @@ nest-asyncio==1.6.0
115
123
  nodeenv==1.9.1
116
124
  numpy==1.26.4
117
125
  onnxruntime==1.23.2
118
- openai==1.108.2
126
+ openai==2.9.0
119
127
  openevals==0.1.0
120
128
  openpyxl==3.1.5
121
129
  opentelemetry-api==1.34.1
@@ -144,7 +152,7 @@ pyasn1-modules==0.4.2
144
152
  pycparser==2.22
145
153
  pydantic==2.12.0
146
154
  pydantic-core==2.41.1
147
- pydantic-settings==2.10.0
155
+ pydantic-settings==2.12.0
148
156
  pygments==2.19.2
149
157
  pyparsing==3.2.3
150
158
  pytest==8.4.1
@@ -155,7 +163,7 @@ pytz==2025.2
155
163
  pyyaml==6.0.2
156
164
  referencing==0.36.2
157
165
  regex==2024.11.6
158
- requests==2.32.4
166
+ requests==2.32.5
159
167
  requests-toolbelt==1.0.0
160
168
  rich==14.0.0
161
169
  rpds-py==0.27.1
@@ -168,6 +176,7 @@ setuptools==80.9.0
168
176
  six==1.17.0
169
177
  smmap==5.0.2
170
178
  sniffio==1.3.1
179
+ socksio==1.0.0
171
180
  sqlalchemy==2.0.41
172
181
  sqlparse==0.5.3
173
182
  sse-starlette==2.3.6
@@ -185,10 +194,11 @@ typing-extensions==4.15.0
185
194
  typing-inspect==0.9.0
186
195
  typing-inspection==0.4.2
187
196
  tzdata==2025.2
188
- unitycatalog-ai==0.3.1
197
+ unitycatalog-ai==0.3.2
189
198
  unitycatalog-client==0.3.0
190
- unitycatalog-langchain==0.2.0
199
+ unitycatalog-langchain==0.3.0
191
200
  urllib3==2.5.0
201
+ uuid-utils==0.12.0
192
202
  uvicorn==0.34.3
193
203
  virtualenv==20.31.2
194
204
  werkzeug==3.1.1
@@ -725,6 +725,46 @@ class WarehouseModel(BaseModel, IsDatabricksResource):
725
725
 
726
726
 
727
727
  class DatabaseModel(BaseModel, IsDatabricksResource):
728
+ """
729
+ Configuration for a Databricks Lakebase (PostgreSQL) database instance.
730
+
731
+ Authentication Model:
732
+ --------------------
733
+ This model uses TWO separate authentication contexts:
734
+
735
+ 1. **Workspace API Authentication** (inherited from IsDatabricksResource):
736
+ - Uses ambient/default authentication (environment variables, notebook context, app service principal)
737
+ - Used for: discovering database instance, getting host DNS, checking instance status
738
+ - Controlled by: DATABRICKS_HOST, DATABRICKS_TOKEN env vars, or SDK default config
739
+
740
+ 2. **Database Connection Authentication** (configured via client_id/client_secret OR user):
741
+ - Used for: connecting to the PostgreSQL database as a specific identity
742
+ - OAuth M2M: Set client_id, client_secret, workspace_host to connect as a service principal
743
+ - User Auth: Set user (and optionally password) to connect as a user identity
744
+
745
+ Example OAuth M2M Configuration:
746
+ ```yaml
747
+ databases:
748
+ my_lakebase:
749
+ name: my-database
750
+ client_id:
751
+ env: SERVICE_PRINCIPAL_CLIENT_ID
752
+ client_secret:
753
+ scope: my-scope
754
+ secret: sp-client-secret
755
+ workspace_host:
756
+ env: DATABRICKS_HOST
757
+ ```
758
+
759
+ Example User Configuration:
760
+ ```yaml
761
+ databases:
762
+ my_lakebase:
763
+ name: my-database
764
+ user: my-user@databricks.com
765
+ ```
766
+ """
767
+
728
768
  model_config = ConfigDict(use_enum_values=True, extra="forbid")
729
769
  name: str
730
770
  instance_name: Optional[str] = None
@@ -883,7 +923,7 @@ class DatabaseModel(BaseModel, IsDatabricksResource):
883
923
  def create(self, w: WorkspaceClient | None = None) -> None:
884
924
  from dao_ai.providers.databricks import DatabricksProvider
885
925
 
886
- provider: DatabricksProvider = DatabricksProvider()
926
+ provider: DatabricksProvider = DatabricksProvider(w=w)
887
927
  provider.create_lakebase(self)
888
928
  provider.create_lakebase_instance_role(self)
889
929
 
@@ -1613,6 +1653,12 @@ class AppModel(BaseModel):
1613
1653
  chat_history: Optional[ChatHistoryModel] = None
1614
1654
  code_paths: list[str] = Field(default_factory=list)
1615
1655
  pip_requirements: list[str] = Field(default_factory=list)
1656
+ python_version: Optional[str] = Field(
1657
+ default="3.12",
1658
+ description="Python version for Model Serving deployment. Defaults to 3.12 "
1659
+ "which is supported by Databricks Model Serving. This allows deploying from "
1660
+ "environments with different Python versions (e.g., Databricks Apps with 3.11).",
1661
+ )
1616
1662
 
1617
1663
  @model_validator(mode="after")
1618
1664
  def validate_agents_not_empty(self):
@@ -1,10 +1,10 @@
1
1
  from typing import Any, Callable, Optional, Sequence
2
2
 
3
- from langchain.prompts import PromptTemplate
4
3
  from langchain_core.messages import (
5
4
  BaseMessage,
6
5
  SystemMessage,
7
6
  )
7
+ from langchain_core.prompts import PromptTemplate
8
8
  from langchain_core.runnables import RunnableConfig
9
9
  from loguru import logger
10
10