dao-ai 0.0.22__tar.gz → 0.0.24__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 (354) hide show
  1. {dao_ai-0.0.22 → dao_ai-0.0.24}/PKG-INFO +32 -9
  2. {dao_ai-0.0.22 → dao_ai-0.0.24}/README.md +24 -2
  3. dao_ai-0.0.24/config/examples/mcp_with_uc_connection.yaml +119 -0
  4. dao_ai-0.0.24/config/examples/prompt_registry.yaml +969 -0
  5. dao_ai-0.0.24/config/examples/slack.yaml +69 -0
  6. {dao_ai-0.0.22 → dao_ai-0.0.24}/pyproject.toml +8 -7
  7. {dao_ai-0.0.22 → dao_ai-0.0.24}/requirements.txt +11 -10
  8. {dao_ai-0.0.22 → dao_ai-0.0.24}/schemas/model_config_schema.json +106 -0
  9. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/config.py +47 -3
  10. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/prompts.py +13 -5
  11. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/providers/databricks.py +78 -0
  12. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/tools/__init__.py +2 -0
  13. dao_ai-0.0.24/src/dao_ai/tools/mcp.py +176 -0
  14. dao_ai-0.0.24/src/dao_ai/tools/slack.py +136 -0
  15. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/utils.py +4 -0
  16. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_databricks.py +36 -36
  17. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_function_parsing.py +2 -1
  18. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_mcp.py +92 -1
  19. dao_ai-0.0.24/tests/dao_ai/test_prompts.py +571 -0
  20. dao_ai-0.0.22/src/dao_ai/tools/mcp.py +0 -117
  21. {dao_ai-0.0.22 → dao_ai-0.0.24}/.gitignore +0 -0
  22. {dao_ai-0.0.22 → dao_ai-0.0.24}/.python-version +0 -0
  23. {dao_ai-0.0.22 → dao_ai-0.0.24}/CHANGELOG.md +0 -0
  24. {dao_ai-0.0.22 → dao_ai-0.0.24}/CONTRIBUTING.md +0 -0
  25. {dao_ai-0.0.22 → dao_ai-0.0.24}/LICENSE +0 -0
  26. {dao_ai-0.0.22 → dao_ai-0.0.24}/Makefile +0 -0
  27. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/Makefile +0 -0
  28. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/REFACTORING_SUMMARY.md +0 -0
  29. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/base-environment-serverless.yaml +0 -0
  30. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/demo_docs/BRAND_REP_DEMO_SUMMARY.md +0 -0
  31. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/demo_docs/demo_scripts/brand_rep_product_education_demo.md +0 -0
  32. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/demo_docs/demo_scripts/store_associate_ai_assistant_demo.md +0 -0
  33. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/demo_docs/demo_scripts/store_manager_alert_response_demo.md +0 -0
  34. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/development_workflows.md +0 -0
  35. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/.gitkeep +0 -0
  36. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/Makefile +0 -0
  37. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/agent_implementation.mmd +0 -0
  38. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/agent_tools_architecture.mmd +0 -0
  39. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/agents-and-tools/agent-troubleshooting.md +0 -0
  40. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-best-practices.md +0 -0
  41. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-development-patterns.md +0 -0
  42. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-performance.md +0 -0
  43. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-quickstart.md +0 -0
  44. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/agents-and-tools/ai-agents.md +0 -0
  45. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/agents-and-tools/overview.md +0 -0
  46. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/agents-and-tools/references/agent-reference.md +0 -0
  47. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/agents-and-tools/references/tools-reference.md +0 -0
  48. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/applications/streamlit-app.md +0 -0
  49. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/architecture/overview.md +0 -0
  50. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/architecture.mmd +0 -0
  51. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/architecture.png +0 -0
  52. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/customer_preparation_guide.md +0 -0
  53. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/databricks_integration.mmd +0 -0
  54. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/deployment/production.md +0 -0
  55. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/development/contributing.md +0 -0
  56. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/employee_tools_guide.md +0 -0
  57. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/getting-started/installation.md +0 -0
  58. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/getting-started/mkdocs-quickstart.md +0 -0
  59. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/getting-started/quick-start.md +0 -0
  60. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/index.md +0 -0
  61. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/mkdocs.yml +0 -0
  62. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/scenario_1_architecture.mmd +0 -0
  63. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/scenario_1_flow.mmd +0 -0
  64. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/setup-docs.sh +0 -0
  65. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/task_assignment_workflow_guide.md +0 -0
  66. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/docs/tools/overview.md +0 -0
  67. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/examples/customer_preparation_workflow.py +0 -0
  68. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/examples/task_assignment_workflow.py +0 -0
  69. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/load-env.sh +0 -0
  70. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/CSS_REFACTORING_SUMMARY.md +0 -0
  71. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/DEMO_CONTROLS_RESTORED.md +0 -0
  72. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/DEMO_IMPLEMENTATION_SUMMARY.md +0 -0
  73. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/DEMO_QUICK_START.md +0 -0
  74. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/Dockerfile +0 -0
  75. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/HOMEPAGE_README.md +0 -0
  76. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/Makefile +0 -0
  77. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/README.md +0 -0
  78. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/app.py +0 -0
  79. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/app.yaml +0 -0
  80. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/__init__.py +0 -0
  81. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/backup_homepage.py +0 -0
  82. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/chat.py +0 -0
  83. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/enhanced_charts.py +0 -0
  84. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/enhanced_navigation.py +0 -0
  85. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/__init__.py +0 -0
  86. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/__init__.py +0 -0
  87. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/associate_homepage.py +0 -0
  88. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/dashboard_tab.py +0 -0
  89. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/my_tasks_tab.py +0 -0
  90. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/performance_tab.py +0 -0
  91. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/products_tab.py +0 -0
  92. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/schedule_tab.py +0 -0
  93. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/__init__.py +0 -0
  94. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/chat_integration.py +0 -0
  95. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/kpi_summary.py +0 -0
  96. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/notifications.py +0 -0
  97. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/homepage.py +0 -0
  98. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/__init__.py +0 -0
  99. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/alerts_tab.py +0 -0
  100. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/analytics_tab.py +0 -0
  101. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/dashboard_tab.py +0 -0
  102. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/demo_alerts.py +0 -0
  103. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/inventory_tab.py +0 -0
  104. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/manager_homepage.py +0 -0
  105. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/operations_tab.py +0 -0
  106. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/team_tab.py +0 -0
  107. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/__init__.py +0 -0
  108. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/ai_insights_tab.py +0 -0
  109. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/executive_dashboard_tab.py +0 -0
  110. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/geographical_analysis_tab.py +0 -0
  111. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/performance_metrics_tab.py +0 -0
  112. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/strategic_insights_tab.py +0 -0
  113. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/vp_homepage.py +0 -0
  114. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/metrics.py +0 -0
  115. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/navigation.py +0 -0
  116. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/oldhomepage.py +0 -0
  117. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/components/styles.py +0 -0
  118. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/config.yaml +0 -0
  119. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/demo_docs/BRAND_REP_DEMO_SUMMARY.md +0 -0
  120. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/demo_docs/comprehensive_demo_script.md +0 -0
  121. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/brand_rep_product_education_demo.md +0 -0
  122. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/store_associate_ai_assistant_demo.md +0 -0
  123. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/store_manager_alert_response_demo.md +0 -0
  124. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/dev/README.md +0 -0
  125. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/dev/__init__.py +0 -0
  126. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/dev/components/__init__.py +0 -0
  127. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/dev/components/dashboard_card.py +0 -0
  128. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/dev/demo_alerts.py +0 -0
  129. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/dev/examples/sample_dashboard.py +0 -0
  130. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/pages/__init__.py +0 -0
  131. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/pages/component_showcase.py +0 -0
  132. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/pages/dev_playground.py +0 -0
  133. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/pages/playground.py +0 -0
  134. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/pages_wip/daily_operations.py +0 -0
  135. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/pages_wip/inventory.py +0 -0
  136. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_schedule.py +0 -0
  137. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_tasks.py +0 -0
  138. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/pages_wip/orders.py +0 -0
  139. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/pages_wip/products_promotions.py +0 -0
  140. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/pages_wip/staff.py +0 -0
  141. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/pages_wip/team_insights.py +0 -0
  142. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/pyproject.toml +0 -0
  143. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/requirements.txt +0 -0
  144. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/static/css/style.css +0 -0
  145. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/styles/README.md +0 -0
  146. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/styles/__init__.py +0 -0
  147. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/styles/base.py +0 -0
  148. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/styles/components.py +0 -0
  149. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/styles/dashboard.py +0 -0
  150. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/styles/homepage.py +0 -0
  151. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/styles/theme.py +0 -0
  152. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/test_vip_notification.py +0 -0
  153. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/tests/test_calculations.py +0 -0
  154. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/utils/config.py +0 -0
  155. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/utils/database.py +0 -0
  156. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/utils/model_serving.py +0 -0
  157. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app/utils/store_context.py +0 -0
  158. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/Makefile +0 -0
  159. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/README.md +0 -0
  160. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/app.py +0 -0
  161. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/__init__.py +0 -0
  162. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/__init__.py +0 -0
  163. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_components.py +0 -0
  164. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_components_enhanced.py +0 -0
  165. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_styles.py +0 -0
  166. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin_styles.py +0 -0
  167. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/TAILADMIN_README.md +0 -0
  168. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/homepage_tailadmin.py +0 -0
  169. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/tailadmin_demo.py +0 -0
  170. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/tailadmin_implementation_guide.py +0 -0
  171. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/test_vp_dashboard.py +0 -0
  172. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/vp_dashboard_enhanced.py +0 -0
  173. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/vp_dashboard_tailadmin.py +0 -0
  174. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/components_demo.py +0 -0
  175. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/homepage.py +0 -0
  176. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/implementation_guide.py +0 -0
  177. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/vp_dashboard_clean.py +0 -0
  178. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/vp_dashboard_enhanced.py +0 -0
  179. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pyproject.toml +0 -0
  180. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/tests/__init__.py +0 -0
  181. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/streamlit_store_app_tailadmin/tests/test_imports.py +0 -0
  182. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/tests/.gitkeep +0 -0
  183. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/tests/README.md +0 -0
  184. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/tests/images/doritos_upc.png +0 -0
  185. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/tests/images/lays_upc.png +0 -0
  186. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/tests/manager_demo_script.md +0 -0
  187. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/tests/notebook_vector_search_test.py +0 -0
  188. {dao_ai-0.0.22 → dao_ai-0.0.24}/apps/dais2025/store-app/tests/test_vector_search_integration.py +0 -0
  189. {dao_ai-0.0.22 → dao_ai-0.0.24}/config/dais2025/model_config_dais.yaml +0 -0
  190. {dao_ai-0.0.22 → dao_ai-0.0.24}/config/examples/deep_research.yaml +0 -0
  191. {dao_ai-0.0.22 → dao_ai-0.0.24}/config/examples/executive_assistant.yaml +0 -0
  192. {dao_ai-0.0.22 → dao_ai-0.0.24}/config/examples/genie.yaml +0 -0
  193. {dao_ai-0.0.22 → dao_ai-0.0.24}/config/examples/genie_and_vector_search.yaml +0 -0
  194. {dao_ai-0.0.22 → dao_ai-0.0.24}/config/examples/genie_with_conversion_id.yaml +0 -0
  195. {dao_ai-0.0.22 → dao_ai-0.0.24}/config/examples/human_in_the_loop.yaml +0 -0
  196. {dao_ai-0.0.22 → dao_ai-0.0.24}/config/examples/jira.yaml +0 -0
  197. {dao_ai-0.0.22 → dao_ai-0.0.24}/config/examples/mcp.yaml +0 -0
  198. {dao_ai-0.0.22 → dao_ai-0.0.24}/config/examples/minimal.yaml +0 -0
  199. {dao_ai-0.0.22 → dao_ai-0.0.24}/config/examples/reservations.yaml +0 -0
  200. {dao_ai-0.0.22 → dao_ai-0.0.24}/config/hardware_store/supervisor.yaml +0 -0
  201. {dao_ai-0.0.22 → dao_ai-0.0.24}/config/hardware_store/supervisor_postgres.yaml +0 -0
  202. {dao_ai-0.0.22 → dao_ai-0.0.24}/config/hardware_store/swarm.yaml +0 -0
  203. {dao_ai-0.0.22 → dao_ai-0.0.24}/config/quick_serve_restaurant/.gitkeep +0 -0
  204. {dao_ai-0.0.22 → dao_ai-0.0.24}/config/quick_serve_restaurant/quick-serve-restaurant.yaml +0 -0
  205. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/appointments.sql +0 -0
  206. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/appointments_data.sql +0 -0
  207. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/brand_rep_demo_data.sql +0 -0
  208. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/brand_rep_demo_queries.sql +0 -0
  209. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/brand_rep_demo_tables.sql +0 -0
  210. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/brand_rep_demo_validation.sql +0 -0
  211. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/customers.sql +0 -0
  212. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/customers_data.sql +0 -0
  213. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/dim_stores.sql +0 -0
  214. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/dim_stores_data.sql +0 -0
  215. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/employee_performance.sql +0 -0
  216. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/employee_performance_data.sql +0 -0
  217. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/employee_tasks.sql +0 -0
  218. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/employee_tasks_data.sql +0 -0
  219. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/inventory.sql +0 -0
  220. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/inventory_data.sql +0 -0
  221. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/managers.sql +0 -0
  222. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/managers_data.sql +0 -0
  223. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/product_data.sql +0 -0
  224. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/products.sql +0 -0
  225. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/dais2025/task_assignments.sql +0 -0
  226. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/hardware_store/inventory.snappy.parquet +0 -0
  227. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/hardware_store/inventory.sql +0 -0
  228. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/hardware_store/products.snappy.parquet +0 -0
  229. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/hardware_store/products.sql +0 -0
  230. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/quick_serve_restaurant/.gitkeep +0 -0
  231. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/quick_serve_restaurant/fulfil_item_orders.sql +0 -0
  232. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/quick_serve_restaurant/items_description.csv +0 -0
  233. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/quick_serve_restaurant/items_description.sql +0 -0
  234. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/quick_serve_restaurant/items_raw.csv +0 -0
  235. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/quick_serve_restaurant/items_raw.sql +0 -0
  236. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/quick_serve_restaurant/orders_raw.csv +0 -0
  237. {dao_ai-0.0.22 → dao_ai-0.0.24}/data/quick_serve_restaurant/orders_raw.sql +0 -0
  238. {dao_ai-0.0.22 → dao_ai-0.0.24}/databricks.yaml +0 -0
  239. {dao_ai-0.0.22 → dao_ai-0.0.24}/docs/genie.png +0 -0
  240. {dao_ai-0.0.22 → dao_ai-0.0.24}/docs/hardware_store/README.md +0 -0
  241. {dao_ai-0.0.22 → dao_ai-0.0.24}/docs/hardware_store/retail_supervisor.png +0 -0
  242. {dao_ai-0.0.22 → dao_ai-0.0.24}/docs/hardware_store/retail_swarm.png +0 -0
  243. {dao_ai-0.0.22 → dao_ai-0.0.24}/docs/quick_serve_restaurant/.gitkeep +0 -0
  244. {dao_ai-0.0.22 → dao_ai-0.0.24}/docs/quick_serve_restaurant/quick-serve-restaurant.png +0 -0
  245. {dao_ai-0.0.22 → dao_ai-0.0.24}/environment.yaml +0 -0
  246. {dao_ai-0.0.22 → dao_ai-0.0.24}/examples/dais2025/examples.yaml +0 -0
  247. {dao_ai-0.0.22 → dao_ai-0.0.24}/examples/deep_research/examples.yaml +0 -0
  248. {dao_ai-0.0.22 → dao_ai-0.0.24}/examples/executive_assistant/examples.yaml +0 -0
  249. {dao_ai-0.0.22 → dao_ai-0.0.24}/examples/hardware_store/examples.yaml +0 -0
  250. {dao_ai-0.0.22 → dao_ai-0.0.24}/examples/quick_serve_restaurant/.gitkeep +0 -0
  251. {dao_ai-0.0.22 → dao_ai-0.0.24}/examples/quick_serve_restaurant/examples.yaml +0 -0
  252. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/dais2025/extract_store_numbers.sql +0 -0
  253. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/dais2025/find_inventory_by_sku.sql +0 -0
  254. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/dais2025/find_inventory_by_upc.sql +0 -0
  255. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/dais2025/find_product_by_sku.sql +0 -0
  256. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/dais2025/find_product_by_upc.sql +0 -0
  257. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/dais2025/find_store_by_number.sql +0 -0
  258. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/dais2025/find_store_inventory_by_sku.sql +0 -0
  259. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/dais2025/find_store_inventory_by_upc.sql +0 -0
  260. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/hardware_store/find_inventory_by_sku.sql +0 -0
  261. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/hardware_store/find_inventory_by_upc.sql +0 -0
  262. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/hardware_store/find_product_by_sku.sql +0 -0
  263. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/hardware_store/find_product_by_upc.sql +0 -0
  264. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/hardware_store/find_store_inventory_by_sku.sql +0 -0
  265. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/hardware_store/find_store_inventory_by_upc.sql +0 -0
  266. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/quick_serve_restaurant/.gitkeep +0 -0
  267. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/quick_serve_restaurant/insert_coffee_order.sql +0 -0
  268. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/quick_serve_restaurant/lookup_items_by_descriptions.sql +0 -0
  269. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/quick_serve_restaurant/match_historical_item_order_by_date.sql +0 -0
  270. {dao_ai-0.0.22 → dao_ai-0.0.24}/functions/quick_serve_restaurant/match_item_by_description_and_price.sql +0 -0
  271. {dao_ai-0.0.22 → dao_ai-0.0.24}/notebooks/01_ingest_and_transform.py +0 -0
  272. {dao_ai-0.0.22 → dao_ai-0.0.24}/notebooks/02_provision_vector_search.py +0 -0
  273. {dao_ai-0.0.22 → dao_ai-0.0.24}/notebooks/03_provision_lakebase.py +0 -0
  274. {dao_ai-0.0.22 → dao_ai-0.0.24}/notebooks/04_unity_catalog_tools.py +0 -0
  275. {dao_ai-0.0.22 → dao_ai-0.0.24}/notebooks/05_deploy_agent.py +0 -0
  276. {dao_ai-0.0.22 → dao_ai-0.0.24}/notebooks/06_generate_evaluation_data.py +0 -0
  277. {dao_ai-0.0.22 → dao_ai-0.0.24}/notebooks/07_run_evaluation.py +0 -0
  278. {dao_ai-0.0.22 → dao_ai-0.0.24}/notebooks/08_run_examples.py +0 -0
  279. {dao_ai-0.0.22 → dao_ai-0.0.24}/notebooks/09_evaluate_inferences.py +0 -0
  280. {dao_ai-0.0.22 → dao_ai-0.0.24}/notebooks/99_scratchpad.py +0 -0
  281. {dao_ai-0.0.22 → dao_ai-0.0.24}/notebooks/INVESTech.py +0 -0
  282. {dao_ai-0.0.22 → dao_ai-0.0.24}/schemas/bundle_config_schema.json +0 -0
  283. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dais2025/__init__.py +0 -0
  284. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dais2025/models.py +0 -0
  285. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dais2025/tools/__init__.py +0 -0
  286. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dais2025/tools/customer.py +0 -0
  287. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dais2025/tools/employee.py +0 -0
  288. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dais2025/tools/executive.py +0 -0
  289. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dais2025/tools/genie.py +0 -0
  290. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dais2025/tools/inventory.py +0 -0
  291. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dais2025/tools/models.py +0 -0
  292. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dais2025/tools/store.py +0 -0
  293. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/__init__.py +0 -0
  294. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/agent_as_code.py +0 -0
  295. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/catalog.py +0 -0
  296. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/chat_models.py +0 -0
  297. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/cli.py +0 -0
  298. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/graph.py +0 -0
  299. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/guardrails.py +0 -0
  300. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/hooks/__init__.py +0 -0
  301. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/hooks/core.py +0 -0
  302. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/memory/__init__.py +0 -0
  303. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/memory/base.py +0 -0
  304. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/memory/core.py +0 -0
  305. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/memory/postgres.py +0 -0
  306. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/messages.py +0 -0
  307. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/models.py +0 -0
  308. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/nodes.py +0 -0
  309. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/providers/__init__.py +0 -0
  310. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/providers/base.py +0 -0
  311. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/state.py +0 -0
  312. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/tools/agent.py +0 -0
  313. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/tools/core.py +0 -0
  314. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/tools/genie.py +0 -0
  315. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/tools/human_in_the_loop.py +0 -0
  316. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/tools/python.py +0 -0
  317. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/tools/time.py +0 -0
  318. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/tools/unity_catalog.py +0 -0
  319. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/tools/vector_search.py +0 -0
  320. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/types.py +0 -0
  321. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/dao_ai/vector_search.py +0 -0
  322. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/hardware_store/__init__.py +0 -0
  323. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/hardware_store/hooks.py +0 -0
  324. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/hardware_store/tools.py +0 -0
  325. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/quick_serve_restaurant/.gitkeep +0 -0
  326. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/quick_serve_restaurant/__init__.py +0 -0
  327. {dao_ai-0.0.22 → dao_ai-0.0.24}/src/quick_serve_restaurant/tools.py +0 -0
  328. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/config/test_model_config.yaml +0 -0
  329. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/conftest.py +0 -0
  330. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_catalog.py +0 -0
  331. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_chat_history.py +0 -0
  332. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_config.py +0 -0
  333. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_genie.py +0 -0
  334. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_genie_conversation_ids_in_outputs.py +0 -0
  335. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_genie_databricks_integration.py +0 -0
  336. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_hooks.py +0 -0
  337. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_inference.py +0 -0
  338. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_inference_integration.py +0 -0
  339. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_messages.py +0 -0
  340. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_models.py +0 -0
  341. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_postgres_integration.py +0 -0
  342. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_state.py +0 -0
  343. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_summarization_inference.py +0 -0
  344. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_tools.py +0 -0
  345. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_types.py +0 -0
  346. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_unity_catalog.py +0 -0
  347. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_utils.py +0 -0
  348. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/test_vector_search.py +0 -0
  349. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/dao_ai/weather_server_mcp.py +0 -0
  350. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/hardware_store/.gitkeep +0 -0
  351. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/hardware_store/test_graph.py +0 -0
  352. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/images/doritos_upc.png +0 -0
  353. {dao_ai-0.0.22 → dao_ai-0.0.24}/tests/images/lays_upc.png +0 -0
  354. {dao_ai-0.0.22 → dao_ai-0.0.24}/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.22
3
+ Version: 0.0.24
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
@@ -24,27 +24,28 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
24
24
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
25
25
  Classifier: Topic :: System :: Distributed Computing
26
26
  Requires-Python: >=3.12
27
- Requires-Dist: databricks-agents>=1.6.1
28
- Requires-Dist: databricks-langchain>=0.8.0
27
+ Requires-Dist: databricks-agents>=1.7.0
28
+ Requires-Dist: databricks-langchain>=0.8.1
29
+ Requires-Dist: databricks-mcp>=0.3.0
29
30
  Requires-Dist: databricks-sdk[openai]>=0.67.0
30
31
  Requires-Dist: duckduckgo-search>=8.0.2
31
32
  Requires-Dist: grandalf>=0.8
32
33
  Requires-Dist: langchain-mcp-adapters>=0.1.10
33
34
  Requires-Dist: langchain-tavily>=0.2.11
34
35
  Requires-Dist: langchain>=0.3.27
35
- Requires-Dist: langgraph-checkpoint-postgres>=2.0.23
36
+ Requires-Dist: langgraph-checkpoint-postgres>=2.0.25
36
37
  Requires-Dist: langgraph-supervisor>=0.0.29
37
38
  Requires-Dist: langgraph-swarm>=0.0.14
38
- Requires-Dist: langgraph>=0.6.7
39
+ Requires-Dist: langgraph>=0.6.10
39
40
  Requires-Dist: langmem>=0.0.29
40
41
  Requires-Dist: loguru>=0.7.3
41
- Requires-Dist: mcp>=1.14.1
42
+ Requires-Dist: mcp>=1.17.0
42
43
  Requires-Dist: mlflow>=3.4.0
43
44
  Requires-Dist: nest-asyncio>=1.6.0
44
45
  Requires-Dist: openevals>=0.0.19
45
46
  Requires-Dist: openpyxl>=3.1.5
46
47
  Requires-Dist: psycopg[binary,pool]>=3.2.9
47
- Requires-Dist: pydantic>=2.11.3
48
+ Requires-Dist: pydantic>=2.12.0
48
49
  Requires-Dist: python-dotenv>=1.1.0
49
50
  Requires-Dist: pyyaml>=6.0.2
50
51
  Requires-Dist: rich>=14.0.0
@@ -653,7 +654,7 @@ test:
653
654
  #### 4. MCP (Model Context Protocol) Tools (`type: mcp`)
654
655
  MCP tools allow interaction with external services that implement the Model Context Protocol, supporting both HTTP and stdio transports.
655
656
 
656
- **Configuration Example:**
657
+ **Configuration Example (Direct URL):**
657
658
  ```yaml
658
659
  tools:
659
660
  weather_tool_mcp:
@@ -664,8 +665,30 @@ test:
664
665
  transport: streamable_http
665
666
  url: http://localhost:8000/mcp
666
667
  ```
668
+
669
+ **Configuration Example (Unity Catalog Connection):**
670
+ MCP tools can also use Unity Catalog Connections for secure, governed access with on-behalf-of-user capabilities. The connection provides OAuth authentication, while the URL specifies the endpoint:
671
+ ```yaml
672
+ resources:
673
+ connections:
674
+ github_connection:
675
+ name: github_u2m_connection # UC Connection name
676
+
677
+ tools:
678
+ github_mcp:
679
+ name: github_mcp
680
+ function:
681
+ type: mcp
682
+ name: github_mcp
683
+ transport: streamable_http
684
+ url: https://workspace.databricks.com/api/2.0/mcp/external/github_u2m_connection # MCP endpoint URL
685
+ connection: *github_connection # UC Connection provides OAuth authentication
686
+ ```
687
+
667
688
  **Development:**
668
- Ensure the MCP service is running and accessible at the specified URL or command. The framework will handle the MCP protocol communication automatically.
689
+ - **For direct URL connections**: Ensure the MCP service is running and accessible at the specified URL or command. Provide OAuth credentials (client_id, client_secret) or PAT for authentication.
690
+ - **For UC Connection**: URL is required to specify the endpoint. The connection provides OAuth authentication via the workspace client. Ensure the connection is configured in Unity Catalog with appropriate MCP scopes (`mcp.genie`, `mcp.functions`, `mcp.vectorsearch`, `mcp.external`).
691
+ - The framework will handle the MCP protocol communication automatically, including session management and authentication.
669
692
 
670
693
  ### Configuring New Agents
671
694
 
@@ -581,7 +581,7 @@ test:
581
581
  #### 4. MCP (Model Context Protocol) Tools (`type: mcp`)
582
582
  MCP tools allow interaction with external services that implement the Model Context Protocol, supporting both HTTP and stdio transports.
583
583
 
584
- **Configuration Example:**
584
+ **Configuration Example (Direct URL):**
585
585
  ```yaml
586
586
  tools:
587
587
  weather_tool_mcp:
@@ -592,8 +592,30 @@ test:
592
592
  transport: streamable_http
593
593
  url: http://localhost:8000/mcp
594
594
  ```
595
+
596
+ **Configuration Example (Unity Catalog Connection):**
597
+ MCP tools can also use Unity Catalog Connections for secure, governed access with on-behalf-of-user capabilities. The connection provides OAuth authentication, while the URL specifies the endpoint:
598
+ ```yaml
599
+ resources:
600
+ connections:
601
+ github_connection:
602
+ name: github_u2m_connection # UC Connection name
603
+
604
+ tools:
605
+ github_mcp:
606
+ name: github_mcp
607
+ function:
608
+ type: mcp
609
+ name: github_mcp
610
+ transport: streamable_http
611
+ url: https://workspace.databricks.com/api/2.0/mcp/external/github_u2m_connection # MCP endpoint URL
612
+ connection: *github_connection # UC Connection provides OAuth authentication
613
+ ```
614
+
595
615
  **Development:**
596
- Ensure the MCP service is running and accessible at the specified URL or command. The framework will handle the MCP protocol communication automatically.
616
+ - **For direct URL connections**: Ensure the MCP service is running and accessible at the specified URL or command. Provide OAuth credentials (client_id, client_secret) or PAT for authentication.
617
+ - **For UC Connection**: URL is required to specify the endpoint. The connection provides OAuth authentication via the workspace client. Ensure the connection is configured in Unity Catalog with appropriate MCP scopes (`mcp.genie`, `mcp.functions`, `mcp.vectorsearch`, `mcp.external`).
618
+ - The framework will handle the MCP protocol communication automatically, including session management and authentication.
597
619
 
598
620
  ### Configuring New Agents
599
621
 
@@ -0,0 +1,119 @@
1
+ # yaml-language-server: $schema=../../schemas/model_config_schema.json
2
+
3
+ variables:
4
+ client_id: &client_id # Service principal client ID
5
+ options:
6
+ - env: RETAIL_AI_DATABRICKS_CLIENT_ID
7
+ - scope: retail_ai
8
+ secret: RETAIL_AI_DATABRICKS_CLIENT_ID
9
+ client_secret: &client_secret # Service principal secret
10
+ options:
11
+ - env: RETAIL_AI_DATABRICKS_CLIENT_SECRET
12
+ - scope: retail_ai
13
+ secret: RETAIL_AI_DATABRICKS_CLIENT_SECRET
14
+ workspace_host: &workspace_host # Databricks workspace URL
15
+ options:
16
+ - env: RETAIL_AI_DATABRICKS_HOST
17
+ - scope: retail_ai
18
+ secret: RETAIL_AI_DATABRICKS_HOST
19
+
20
+ schemas:
21
+ retail_schema: &retail_schema # Unity Catalog schema configuration
22
+ catalog_name: nfleming # Unity Catalog name
23
+ schema_name: retail_ai # Schema within the catalog
24
+
25
+ resources:
26
+ llms:
27
+ default_llm: &default_llm # Default LLM configuration
28
+ name: databricks-claude-3-7-sonnet # Databricks serving endpoint name
29
+
30
+ connections:
31
+ github_connection: &github_connection # UC Connection for GitHub
32
+ name: github_u2m_connection # UC Connection name
33
+
34
+ tools:
35
+ # Example using UC Connection for GitHub MCP with explicit URL
36
+ github_mcp_uc: &github_mcp_uc
37
+ name: github_mcp # Tool name for agent reference
38
+ function:
39
+ type: mcp # Tool type: MCP server
40
+ name: github_mcp # MCP function name
41
+ transport: streamable_http # Transport protocol
42
+ url: https://adb-984752964297111.11.azuredatabricks.net/api/2.0/mcp/external/github_u2m_connection # MCP endpoint URL (optional with connection)
43
+ connection: *github_connection # Reference to UC Connection (provides OAuth auth)
44
+
45
+ # Example using UC Connection with auto-constructed URL
46
+ # URL pattern: {workspace_host}/api/2.0/mcp/external/{connection_name}
47
+ github_mcp_auto: &github_mcp_auto
48
+ name: github_mcp_auto # Tool name for agent reference
49
+ function:
50
+ type: mcp # Tool type: MCP server
51
+ name: github_mcp_auto # MCP function name
52
+ transport: streamable_http # Transport protocol
53
+ connection: *github_connection # URL will be auto-constructed from workspace host + connection name
54
+
55
+ # Example using direct URL (existing approach)
56
+ weather_tool_mcp: &weather_tool_mcp
57
+ name: weather # Tool name for agent reference
58
+ function:
59
+ type: mcp # Tool type: MCP server
60
+ name: weather # MCP function name
61
+ transport: streamable_http # Transport protocol
62
+ url: http://localhost:8000/mcp # MCP server URL
63
+
64
+ vector_search_mcp: &vector_search_mcp # Vector search MCP tool configuration
65
+ name: vector_search_mcp
66
+ function:
67
+ type: mcp # MCP function type
68
+ name: vector_search_mcp
69
+ url: https://adb-984752964297111.11.azuredatabricks.net/api/2.0/mcp/vector-search/nfleming/retail_ai
70
+ client_id: *client_id
71
+ client_secret: *client_secret
72
+ workspace_host: *workspace_host
73
+
74
+ unity_catalog_mcp: &unity_catalog_mcp # Unity Catalog MCP tool configuration
75
+ name: unity_catalog_mcp
76
+ function:
77
+ type: mcp # MCP function type
78
+ name: unity_catalog_mcp
79
+ url: https://adb-984752964297111.11.azuredatabricks.net/api/2.0/mcp/functions/nfleming/retail_ai
80
+ client_id: *client_id
81
+ client_secret: *client_secret
82
+ workspace_host: *workspace_host
83
+
84
+ genie_mcp: &genie_mcp # Genie MCP tool configuration
85
+ name: genie_mcp
86
+ function:
87
+ type: mcp # MCP function type
88
+ name: genie_mcp
89
+ url: https://adb-984752964297111.11.azuredatabricks.net/api/2.0/mcp/genie/01f01c91f1f414d59daaefd2b7ec82ea
90
+ client_id: *client_id
91
+ client_secret: *client_secret
92
+ workspace_host: *workspace_host
93
+
94
+ agents:
95
+ mcp_agent: &mcp_agent # MCP agent configuration
96
+ name: mcp_agent # Agent identifier
97
+ model: *default_llm # Reference to LLM configuration
98
+ tools: # Tools available to this agent
99
+ - *github_mcp_uc
100
+ - *vector_search_mcp
101
+ - *unity_catalog_mcp
102
+ - *genie_mcp
103
+ prompt: | # System prompt defining agent behavior
104
+ You are a multi-purpose agent that can perform vector search, interact with Unity Catalog,
105
+ interact with Genie rooms, and interact with GitHub. Use the tools provided to answer
106
+ questions and perform tasks. You many need to use the tools in combination to achieve
107
+ complex tasks.
108
+
109
+ app:
110
+ name: mcp_agent # Application name
111
+ log_level: DEBUG # Logging level for the application
112
+ registered_model: # MLflow registered model configuration
113
+ schema: *retail_schema # Schema where model will be registered
114
+ name: mcp_agent # Model name in MLflow registry
115
+ agents: # List of agents included in the system
116
+ - *mcp_agent # MCP agent
117
+ orchestration: # Agent orchestration configuration
118
+ swarm: # Supervisor orchestration pattern
119
+ model: *default_llm # LLM for routing decisions