dao-ai 0.0.26__tar.gz → 0.0.27__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 (359) hide show
  1. {dao_ai-0.0.26 → dao_ai-0.0.27}/PKG-INFO +2 -2
  2. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/genie.yaml +44 -34
  3. dao_ai-0.0.27/config/examples/genie_and_genie_mcp.yaml +185 -0
  4. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/mcp.yaml +60 -13
  5. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/mcp_with_uc_connection.yaml +64 -16
  6. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/prompt_optimization.yaml +3 -151
  7. {dao_ai-0.0.26 → dao_ai-0.0.27}/environment.yaml +4 -5
  8. {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/07_run_evaluation.py +4 -3
  9. {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/09_evaluate_inferences.py +4 -2
  10. {dao_ai-0.0.26 → dao_ai-0.0.27}/pyproject.toml +2 -2
  11. {dao_ai-0.0.26 → dao_ai-0.0.27}/requirements.txt +3 -25
  12. {dao_ai-0.0.26 → dao_ai-0.0.27}/schemas/model_config_schema.json +56 -11
  13. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/config.py +146 -20
  14. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/graph.py +17 -2
  15. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/providers/databricks.py +5 -15
  16. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/mcp.py +5 -14
  17. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_function_parsing.py +1 -1
  18. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_genie.py +2 -2
  19. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_mcp.py +22 -20
  20. dao_ai-0.0.27/tests/dao_ai/test_mcp_function_model.py +357 -0
  21. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_prompts.py +33 -15
  22. {dao_ai-0.0.26 → dao_ai-0.0.27}/.gitignore +0 -0
  23. {dao_ai-0.0.26 → dao_ai-0.0.27}/.python-version +0 -0
  24. {dao_ai-0.0.26 → dao_ai-0.0.27}/CHANGELOG.md +0 -0
  25. {dao_ai-0.0.26 → dao_ai-0.0.27}/CONTRIBUTING.md +0 -0
  26. {dao_ai-0.0.26 → dao_ai-0.0.27}/LICENSE +0 -0
  27. {dao_ai-0.0.26 → dao_ai-0.0.27}/Makefile +0 -0
  28. {dao_ai-0.0.26 → dao_ai-0.0.27}/README.md +0 -0
  29. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/Makefile +0 -0
  30. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/REFACTORING_SUMMARY.md +0 -0
  31. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/base-environment-serverless.yaml +0 -0
  32. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/demo_docs/BRAND_REP_DEMO_SUMMARY.md +0 -0
  33. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/demo_docs/demo_scripts/brand_rep_product_education_demo.md +0 -0
  34. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/demo_docs/demo_scripts/store_associate_ai_assistant_demo.md +0 -0
  35. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/demo_docs/demo_scripts/store_manager_alert_response_demo.md +0 -0
  36. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/development_workflows.md +0 -0
  37. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/.gitkeep +0 -0
  38. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/Makefile +0 -0
  39. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agent_implementation.mmd +0 -0
  40. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agent_tools_architecture.mmd +0 -0
  41. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agents-and-tools/agent-troubleshooting.md +0 -0
  42. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-best-practices.md +0 -0
  43. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-development-patterns.md +0 -0
  44. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-performance.md +0 -0
  45. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-quickstart.md +0 -0
  46. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agents-and-tools/ai-agents.md +0 -0
  47. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agents-and-tools/overview.md +0 -0
  48. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agents-and-tools/references/agent-reference.md +0 -0
  49. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agents-and-tools/references/tools-reference.md +0 -0
  50. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/applications/streamlit-app.md +0 -0
  51. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/architecture/overview.md +0 -0
  52. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/architecture.mmd +0 -0
  53. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/architecture.png +0 -0
  54. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/customer_preparation_guide.md +0 -0
  55. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/databricks_integration.mmd +0 -0
  56. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/deployment/production.md +0 -0
  57. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/development/contributing.md +0 -0
  58. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/employee_tools_guide.md +0 -0
  59. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/getting-started/installation.md +0 -0
  60. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/getting-started/mkdocs-quickstart.md +0 -0
  61. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/getting-started/quick-start.md +0 -0
  62. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/index.md +0 -0
  63. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/mkdocs.yml +0 -0
  64. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/scenario_1_architecture.mmd +0 -0
  65. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/scenario_1_flow.mmd +0 -0
  66. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/setup-docs.sh +0 -0
  67. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/task_assignment_workflow_guide.md +0 -0
  68. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/tools/overview.md +0 -0
  69. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/examples/customer_preparation_workflow.py +0 -0
  70. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/examples/task_assignment_workflow.py +0 -0
  71. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/load-env.sh +0 -0
  72. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/CSS_REFACTORING_SUMMARY.md +0 -0
  73. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/DEMO_CONTROLS_RESTORED.md +0 -0
  74. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/DEMO_IMPLEMENTATION_SUMMARY.md +0 -0
  75. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/DEMO_QUICK_START.md +0 -0
  76. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/Dockerfile +0 -0
  77. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/HOMEPAGE_README.md +0 -0
  78. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/Makefile +0 -0
  79. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/README.md +0 -0
  80. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/app.py +0 -0
  81. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/app.yaml +0 -0
  82. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/__init__.py +0 -0
  83. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/backup_homepage.py +0 -0
  84. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/chat.py +0 -0
  85. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/enhanced_charts.py +0 -0
  86. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/enhanced_navigation.py +0 -0
  87. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/__init__.py +0 -0
  88. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/__init__.py +0 -0
  89. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/associate_homepage.py +0 -0
  90. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/dashboard_tab.py +0 -0
  91. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/my_tasks_tab.py +0 -0
  92. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/performance_tab.py +0 -0
  93. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/products_tab.py +0 -0
  94. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/schedule_tab.py +0 -0
  95. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/__init__.py +0 -0
  96. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/chat_integration.py +0 -0
  97. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/kpi_summary.py +0 -0
  98. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/notifications.py +0 -0
  99. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/homepage.py +0 -0
  100. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/__init__.py +0 -0
  101. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/alerts_tab.py +0 -0
  102. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/analytics_tab.py +0 -0
  103. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/dashboard_tab.py +0 -0
  104. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/demo_alerts.py +0 -0
  105. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/inventory_tab.py +0 -0
  106. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/manager_homepage.py +0 -0
  107. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/operations_tab.py +0 -0
  108. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/team_tab.py +0 -0
  109. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/__init__.py +0 -0
  110. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/ai_insights_tab.py +0 -0
  111. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/executive_dashboard_tab.py +0 -0
  112. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/geographical_analysis_tab.py +0 -0
  113. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/performance_metrics_tab.py +0 -0
  114. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/strategic_insights_tab.py +0 -0
  115. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/vp_homepage.py +0 -0
  116. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/metrics.py +0 -0
  117. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/navigation.py +0 -0
  118. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/oldhomepage.py +0 -0
  119. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/styles.py +0 -0
  120. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/config.yaml +0 -0
  121. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/demo_docs/BRAND_REP_DEMO_SUMMARY.md +0 -0
  122. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/demo_docs/comprehensive_demo_script.md +0 -0
  123. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/brand_rep_product_education_demo.md +0 -0
  124. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/store_associate_ai_assistant_demo.md +0 -0
  125. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/store_manager_alert_response_demo.md +0 -0
  126. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/dev/README.md +0 -0
  127. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/dev/__init__.py +0 -0
  128. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/dev/components/__init__.py +0 -0
  129. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/dev/components/dashboard_card.py +0 -0
  130. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/dev/demo_alerts.py +0 -0
  131. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/dev/examples/sample_dashboard.py +0 -0
  132. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages/__init__.py +0 -0
  133. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages/component_showcase.py +0 -0
  134. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages/dev_playground.py +0 -0
  135. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages/playground.py +0 -0
  136. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages_wip/daily_operations.py +0 -0
  137. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages_wip/inventory.py +0 -0
  138. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_schedule.py +0 -0
  139. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_tasks.py +0 -0
  140. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages_wip/orders.py +0 -0
  141. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages_wip/products_promotions.py +0 -0
  142. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages_wip/staff.py +0 -0
  143. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages_wip/team_insights.py +0 -0
  144. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pyproject.toml +0 -0
  145. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/requirements.txt +0 -0
  146. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/static/css/style.css +0 -0
  147. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/styles/README.md +0 -0
  148. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/styles/__init__.py +0 -0
  149. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/styles/base.py +0 -0
  150. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/styles/components.py +0 -0
  151. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/styles/dashboard.py +0 -0
  152. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/styles/homepage.py +0 -0
  153. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/styles/theme.py +0 -0
  154. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/test_vip_notification.py +0 -0
  155. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/tests/test_calculations.py +0 -0
  156. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/utils/config.py +0 -0
  157. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/utils/database.py +0 -0
  158. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/utils/model_serving.py +0 -0
  159. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/utils/store_context.py +0 -0
  160. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/Makefile +0 -0
  161. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/README.md +0 -0
  162. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/app.py +0 -0
  163. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/__init__.py +0 -0
  164. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/__init__.py +0 -0
  165. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_components.py +0 -0
  166. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_components_enhanced.py +0 -0
  167. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_styles.py +0 -0
  168. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin_styles.py +0 -0
  169. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/TAILADMIN_README.md +0 -0
  170. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/homepage_tailadmin.py +0 -0
  171. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/tailadmin_demo.py +0 -0
  172. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/tailadmin_implementation_guide.py +0 -0
  173. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/test_vp_dashboard.py +0 -0
  174. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/vp_dashboard_enhanced.py +0 -0
  175. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/vp_dashboard_tailadmin.py +0 -0
  176. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/components_demo.py +0 -0
  177. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/homepage.py +0 -0
  178. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/implementation_guide.py +0 -0
  179. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/vp_dashboard_clean.py +0 -0
  180. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/vp_dashboard_enhanced.py +0 -0
  181. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pyproject.toml +0 -0
  182. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/tests/__init__.py +0 -0
  183. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/tests/test_imports.py +0 -0
  184. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/tests/.gitkeep +0 -0
  185. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/tests/README.md +0 -0
  186. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/tests/images/doritos_upc.png +0 -0
  187. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/tests/images/lays_upc.png +0 -0
  188. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/tests/manager_demo_script.md +0 -0
  189. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/tests/notebook_vector_search_test.py +0 -0
  190. {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/tests/test_vector_search_integration.py +0 -0
  191. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/dais2025/model_config_dais.yaml +0 -0
  192. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/deep_research.yaml +0 -0
  193. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/executive_assistant.yaml +0 -0
  194. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/genie_and_vector_search.yaml +0 -0
  195. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/genie_with_conversion_id.yaml +0 -0
  196. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/human_in_the_loop.yaml +0 -0
  197. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/jira.yaml +0 -0
  198. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/minimal.yaml +0 -0
  199. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/prompt_registry.yaml +0 -0
  200. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/reservations.yaml +0 -0
  201. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/slack.yaml +0 -0
  202. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/hardware_store/supervisor.yaml +0 -0
  203. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/hardware_store/supervisor_postgres.yaml +0 -0
  204. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/hardware_store/swarm.yaml +0 -0
  205. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/quick_serve_restaurant/.gitkeep +0 -0
  206. {dao_ai-0.0.26 → dao_ai-0.0.27}/config/quick_serve_restaurant/quick-serve-restaurant.yaml +0 -0
  207. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/appointments.sql +0 -0
  208. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/appointments_data.sql +0 -0
  209. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/brand_rep_demo_data.sql +0 -0
  210. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/brand_rep_demo_queries.sql +0 -0
  211. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/brand_rep_demo_tables.sql +0 -0
  212. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/brand_rep_demo_validation.sql +0 -0
  213. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/customers.sql +0 -0
  214. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/customers_data.sql +0 -0
  215. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/dim_stores.sql +0 -0
  216. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/dim_stores_data.sql +0 -0
  217. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/employee_performance.sql +0 -0
  218. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/employee_performance_data.sql +0 -0
  219. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/employee_tasks.sql +0 -0
  220. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/employee_tasks_data.sql +0 -0
  221. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/inventory.sql +0 -0
  222. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/inventory_data.sql +0 -0
  223. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/managers.sql +0 -0
  224. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/managers_data.sql +0 -0
  225. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/product_data.sql +0 -0
  226. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/products.sql +0 -0
  227. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/task_assignments.sql +0 -0
  228. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/hardware_store/inventory.snappy.parquet +0 -0
  229. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/hardware_store/inventory.sql +0 -0
  230. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/hardware_store/products.snappy.parquet +0 -0
  231. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/hardware_store/products.sql +0 -0
  232. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/quick_serve_restaurant/.gitkeep +0 -0
  233. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/quick_serve_restaurant/fulfil_item_orders.sql +0 -0
  234. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/quick_serve_restaurant/items_description.csv +0 -0
  235. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/quick_serve_restaurant/items_description.sql +0 -0
  236. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/quick_serve_restaurant/items_raw.csv +0 -0
  237. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/quick_serve_restaurant/items_raw.sql +0 -0
  238. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/quick_serve_restaurant/orders_raw.csv +0 -0
  239. {dao_ai-0.0.26 → dao_ai-0.0.27}/data/quick_serve_restaurant/orders_raw.sql +0 -0
  240. {dao_ai-0.0.26 → dao_ai-0.0.27}/databricks.yaml.template +0 -0
  241. {dao_ai-0.0.26 → dao_ai-0.0.27}/docs/genie.png +0 -0
  242. {dao_ai-0.0.26 → dao_ai-0.0.27}/docs/hardware_store/README.md +0 -0
  243. {dao_ai-0.0.26 → dao_ai-0.0.27}/docs/hardware_store/retail_supervisor.png +0 -0
  244. {dao_ai-0.0.26 → dao_ai-0.0.27}/docs/hardware_store/retail_swarm.png +0 -0
  245. {dao_ai-0.0.26 → dao_ai-0.0.27}/docs/prompt_optimization_updates.md +0 -0
  246. {dao_ai-0.0.26 → dao_ai-0.0.27}/docs/quick_serve_restaurant/.gitkeep +0 -0
  247. {dao_ai-0.0.26 → dao_ai-0.0.27}/docs/quick_serve_restaurant/quick-serve-restaurant.png +0 -0
  248. {dao_ai-0.0.26 → dao_ai-0.0.27}/examples/dais2025/examples.yaml +0 -0
  249. {dao_ai-0.0.26 → dao_ai-0.0.27}/examples/deep_research/examples.yaml +0 -0
  250. {dao_ai-0.0.26 → dao_ai-0.0.27}/examples/executive_assistant/examples.yaml +0 -0
  251. {dao_ai-0.0.26 → dao_ai-0.0.27}/examples/hardware_store/examples.yaml +0 -0
  252. {dao_ai-0.0.26 → dao_ai-0.0.27}/examples/quick_serve_restaurant/.gitkeep +0 -0
  253. {dao_ai-0.0.26 → dao_ai-0.0.27}/examples/quick_serve_restaurant/examples.yaml +0 -0
  254. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/dais2025/extract_store_numbers.sql +0 -0
  255. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/dais2025/find_inventory_by_sku.sql +0 -0
  256. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/dais2025/find_inventory_by_upc.sql +0 -0
  257. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/dais2025/find_product_by_sku.sql +0 -0
  258. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/dais2025/find_product_by_upc.sql +0 -0
  259. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/dais2025/find_store_by_number.sql +0 -0
  260. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/dais2025/find_store_inventory_by_sku.sql +0 -0
  261. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/dais2025/find_store_inventory_by_upc.sql +0 -0
  262. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/hardware_store/find_inventory_by_sku.sql +0 -0
  263. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/hardware_store/find_inventory_by_upc.sql +0 -0
  264. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/hardware_store/find_product_by_sku.sql +0 -0
  265. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/hardware_store/find_product_by_upc.sql +0 -0
  266. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/hardware_store/find_store_inventory_by_sku.sql +0 -0
  267. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/hardware_store/find_store_inventory_by_upc.sql +0 -0
  268. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/quick_serve_restaurant/.gitkeep +0 -0
  269. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/quick_serve_restaurant/insert_coffee_order.sql +0 -0
  270. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/quick_serve_restaurant/lookup_items_by_descriptions.sql +0 -0
  271. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/quick_serve_restaurant/match_historical_item_order_by_date.sql +0 -0
  272. {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/quick_serve_restaurant/match_item_by_description_and_price.sql +0 -0
  273. {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/01_ingest_and_transform.py +0 -0
  274. {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/02_provision_vector_search.py +0 -0
  275. {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/03_provision_lakebase.py +0 -0
  276. {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/04_unity_catalog_tools.py +0 -0
  277. {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/05_deploy_agent.py +0 -0
  278. {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/06_generate_evaluation_data.py +0 -0
  279. {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/08_run_examples.py +0 -0
  280. {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/10_optimize_prompts.py +0 -0
  281. {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/99_scratchpad.py +0 -0
  282. {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/INVESTech.py +0 -0
  283. {dao_ai-0.0.26 → dao_ai-0.0.27}/schemas/bundle_config_schema.json +0 -0
  284. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/__init__.py +0 -0
  285. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/models.py +0 -0
  286. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/tools/__init__.py +0 -0
  287. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/tools/customer.py +0 -0
  288. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/tools/employee.py +0 -0
  289. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/tools/executive.py +0 -0
  290. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/tools/genie.py +0 -0
  291. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/tools/inventory.py +0 -0
  292. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/tools/models.py +0 -0
  293. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/tools/store.py +0 -0
  294. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/__init__.py +0 -0
  295. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/agent_as_code.py +0 -0
  296. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/catalog.py +0 -0
  297. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/chat_models.py +0 -0
  298. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/cli.py +0 -0
  299. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/guardrails.py +0 -0
  300. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/hooks/__init__.py +0 -0
  301. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/hooks/core.py +0 -0
  302. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/memory/__init__.py +0 -0
  303. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/memory/base.py +0 -0
  304. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/memory/core.py +0 -0
  305. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/memory/postgres.py +0 -0
  306. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/messages.py +0 -0
  307. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/models.py +0 -0
  308. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/nodes.py +0 -0
  309. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/prompts.py +0 -0
  310. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/providers/__init__.py +0 -0
  311. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/providers/base.py +0 -0
  312. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/state.py +0 -0
  313. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/__init__.py +0 -0
  314. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/agent.py +0 -0
  315. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/core.py +0 -0
  316. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/genie.py +0 -0
  317. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/human_in_the_loop.py +0 -0
  318. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/python.py +0 -0
  319. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/slack.py +0 -0
  320. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/time.py +0 -0
  321. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/unity_catalog.py +0 -0
  322. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/vector_search.py +0 -0
  323. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/types.py +0 -0
  324. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/utils.py +0 -0
  325. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/vector_search.py +0 -0
  326. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/hardware_store/__init__.py +0 -0
  327. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/hardware_store/hooks.py +0 -0
  328. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/hardware_store/tools.py +0 -0
  329. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/quick_serve_restaurant/.gitkeep +0 -0
  330. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/quick_serve_restaurant/__init__.py +0 -0
  331. {dao_ai-0.0.26 → dao_ai-0.0.27}/src/quick_serve_restaurant/tools.py +0 -0
  332. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/config/test_model_config.yaml +0 -0
  333. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/conftest.py +0 -0
  334. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_catalog.py +0 -0
  335. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_chat_history.py +0 -0
  336. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_config.py +0 -0
  337. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_databricks.py +0 -0
  338. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_genie_conversation_ids_in_outputs.py +0 -0
  339. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_genie_databricks_integration.py +0 -0
  340. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_hooks.py +0 -0
  341. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_inference.py +0 -0
  342. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_inference_integration.py +0 -0
  343. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_messages.py +0 -0
  344. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_models.py +0 -0
  345. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_postgres_integration.py +0 -0
  346. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_prompt_optimizations.py +0 -0
  347. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_state.py +0 -0
  348. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_summarization_inference.py +0 -0
  349. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_tools.py +0 -0
  350. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_types.py +0 -0
  351. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_unity_catalog.py +0 -0
  352. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_utils.py +0 -0
  353. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_vector_search.py +0 -0
  354. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/weather_server_mcp.py +0 -0
  355. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/hardware_store/.gitkeep +0 -0
  356. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/hardware_store/test_graph.py +0 -0
  357. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/images/doritos_upc.png +0 -0
  358. {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/images/lays_upc.png +0 -0
  359. {dao_ai-0.0.26 → dao_ai-0.0.27}/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.26
3
+ Version: 0.0.27
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
@@ -41,7 +41,7 @@ Requires-Dist: langgraph>=0.6.10
41
41
  Requires-Dist: langmem>=0.0.29
42
42
  Requires-Dist: loguru>=0.7.3
43
43
  Requires-Dist: mcp>=1.17.0
44
- Requires-Dist: mlflow>=3.5.0
44
+ Requires-Dist: mlflow>=3.5.1
45
45
  Requires-Dist: nest-asyncio>=1.6.0
46
46
  Requires-Dist: openevals>=0.0.19
47
47
  Requires-Dist: openpyxl>=3.1.5
@@ -2,11 +2,8 @@
2
2
 
3
3
 
4
4
  schemas:
5
- retail_schema: &retail_schema
6
- catalog_name: nfleming # Unity Catalog name
7
- schema_name: retail_ai # Schema within the catalog
8
5
 
9
- quick_serve_retaurant_schema: &quick_serve_retaurant_schema
6
+ quick_serve_restaurant_schema: &quick_serve_restaurant_schema
10
7
  catalog_name: retail_consumer_goods # Unity Catalog name
11
8
  schema_name: quick_serve_restaurant # Schema within the catalog
12
9
 
@@ -14,45 +11,58 @@ resources:
14
11
  llms:
15
12
  # Primary LLM for general tasks
16
13
  default_llm: &default_llm
17
- name: databricks-meta-llama-3-3-70b-instruct # Databricks serving endpoint name
14
+ name: databricks-claude-sonnet-4
18
15
  temperature: 0.1 # Low temperature for consistent responses
19
16
  max_tokens: 8192 # Maximum tokens per response
20
17
  on_behalf_of_user: False
21
18
 
19
+ warehouses:
20
+
21
+ shared_endpoint_warehouse:
22
+ name: "Shared Endpoint Warehouse" # Human-readable name
23
+ description: "A warehouse for shared endpoints" # Description
24
+ warehouse_id: 148ccb90800933a1 # Databricks warehouse ID
25
+ on_behalf_of_user: False
26
+
22
27
  tables:
23
- product_table: &product_table
24
- schema: *quick_serve_retaurant_schema # Reference to schema defined above
25
- name: products # Table name
28
+
29
+ all:
30
+ schema: *quick_serve_restaurant_schema # Reference to schema defined above
31
+ # name: products
32
+
33
+ # product_table: &product_table
34
+ # schema: *quick_serve_restaurant_schema # Reference to schema defined above
35
+ # name: products # Table name
26
36
 
27
- inventory_table: &inventory_table
28
- schema: *quick_serve_retaurant_schema
29
- name: inventory
37
+ # inventory_table: &inventory_table
38
+ # schema: *quick_serve_restaurant_schema
39
+ # name: inventory
30
40
 
31
- items_description: &items_description
32
- schema: *quick_serve_retaurant_schema
33
- name: items_description
41
+ # items_description: &items_description
42
+ # schema: *quick_serve_restaurant_schema
43
+ # name: items_description
34
44
 
35
- fulfil_item_orders: &fulfil_item_orders
36
- schema: *quick_serve_retaurant_schema
37
- name: fulfil_item_orders
45
+ # fulfil_item_orders: &fulfil_item_orders
46
+ # schema: *quick_serve_restaurant_schema
47
+ # name: fulfil_item_orders
38
48
 
39
- orders: &orders
40
- schema: *quick_serve_retaurant_schema
41
- name: orders
49
+ # orders: &orders
50
+ # schema: *quick_serve_restaurant_schema
51
+ # name: orders
42
52
 
43
53
  functions:
44
54
 
45
- lookup_items_by_descriptions: &lookup_items_by_descriptions
46
- schema: *quick_serve_retaurant_schema
47
- name: lookup_items_by_descriptions
55
+ all:
56
+ schema: *quick_serve_restaurant_schema
57
+ # name: lookup_items_by_descriptions
48
58
 
49
- match_item_by_description_and_price: &match_item_by_description_and_price
50
- schema: *quick_serve_retaurant_schema
51
- name: match_item_by_description_and_price
59
+ # match_item_by_description_and_price: &match_item_by_description_and_price
60
+ # schema: *quick_serve_restaurant_schema
61
+ # name: match_item_by_description_and_price
52
62
 
53
- match_historical_item_order_by_date: &match_historical_item_order_by_date
54
- schema: *quick_serve_retaurant_schema
55
- name: match_historical_item_order_by_date
63
+ # match_historical_item_order_by_date: &match_historical_item_order_by_date
64
+ # schema: *quick_serve_restaurant_schema
65
+ # name: match_historical_item_order_by_date
56
66
 
57
67
  genie_rooms:
58
68
  # Genie space for retail data queries
@@ -86,13 +96,13 @@ agents:
86
96
 
87
97
 
88
98
  app:
89
- name: genie_example # Application name
99
+ name: dao_genie # Application name
90
100
  description: "Multi-agent system that talks to genie"
91
- log_level: INFO # Logging level for the application
101
+ log_level: DEBUG # Logging level for the application
92
102
  registered_model: # MLflow registered model configuration
93
- schema: *retail_schema # Schema where model will be registered
94
- name: retail_ai_agenie # Model name in MLflow registry
95
- endpoint_name: retail_ai_genie # Model serving endpoint name
103
+ schema: *quick_serve_restaurant_schema # Schema where model will be registered
104
+ name: dao_genie # Model name in MLflow registry
105
+ endpoint_name: dao_genie # Model serving endpoint name
96
106
  tags: # Tags for resource organization
97
107
  business: rcg # Business unit identifier
98
108
  streaming: true # Indicates streaming capabilities
@@ -0,0 +1,185 @@
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_consumer_goods
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_consumer_goods
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_consumer_goods
18
+ secret: RETAIL_AI_DATABRICKS_HOST
19
+
20
+ schemas:
21
+
22
+ store_ops_schema: &store_ops_schema
23
+ catalog_name: retail_consumer_goods # Unity Catalog name
24
+ schema_name: store_ops # Schema within the catalog
25
+
26
+ resources:
27
+ llms:
28
+
29
+ fast_llm: &fast_llm
30
+ name: databricks-meta-llama-3-3-70b-instruct
31
+ on_behalf_of_user: False
32
+
33
+ tool_calling_llm: &tool_calling_llm
34
+ name: databricks-claude-sonnet-4
35
+ on_behalf_of_user: False
36
+
37
+ warehouses:
38
+
39
+ shared_endpoint_warehouse:
40
+ name: "Shared Endpoint Warehouse" # Human-readable name
41
+ description: "A warehouse for shared endpoints" # Description
42
+ warehouse_id: 148ccb90800933a1 # Databricks warehouse ID
43
+ on_behalf_of_user: False
44
+
45
+ tables:
46
+ all:
47
+ schema: *store_ops_schema
48
+
49
+
50
+ functions:
51
+ all:
52
+ schema: *store_ops_schema
53
+
54
+
55
+ genie_rooms:
56
+ # Genie space for retail data queries
57
+ retail_genie_room: &retail_genie_room
58
+ name: "Retail AI Genie Room" # Human-readable name
59
+ description: "A room for Genie agents to interact" # Description
60
+ space_id: 01f05dd06c421ad6b522bf7a517cf6d2 # Databricks Genie space ID
61
+
62
+ prompts:
63
+ # ---------------------------------------------------------------------------
64
+ # Employee Agent Prompt
65
+ # ---------------------------------------------------------------------------
66
+ employee_agent_prompt: &employee_agent_prompt
67
+ schema: *store_ops_schema
68
+ name: employee_prompt
69
+ description: "The employee management agent prompt for retail operations"
70
+ default_template: |
71
+ You are an employee management specialist for retail operations.
72
+ Your role is to help answer questions about employees, their performance,
73
+ tasks, and daily activities using the available data sources.
74
+
75
+ You have access to the following data through your tools:
76
+ - **employee_daily_tasks**: Track daily tasks assigned to employees
77
+ - **employee_performance**: Monitor employee performance metrics and evaluations
78
+ - **employee_tasks**: Manage task assignments and completion status
79
+
80
+ When responding:
81
+ - Be specific when referencing employee data and metrics
82
+ - Use the genie tool to query the employee databases for current information
83
+ - Provide insights on performance trends and task completion rates
84
+ - Respect employee privacy while providing helpful analytics
85
+ - When discussing tasks, always check current status before responding
86
+ - Provide actionable recommendations for task management and performance improvement
87
+
88
+ Available tables in retail_consumer_goods.store_ops schema:
89
+ - employee_daily_tasks
90
+ - employee_performance
91
+ - employee_tasks
92
+ tags:
93
+ environment: development
94
+ agent_type: employee_agent
95
+
96
+ # ---------------------------------------------------------------------------
97
+ # Inventory Agent Prompt
98
+ # ---------------------------------------------------------------------------
99
+ inventory_agent_prompt: &inventory_agent_prompt
100
+ schema: *store_ops_schema
101
+ name: inventory_prompt
102
+ description: "The inventory agent prompt for retail operations"
103
+ default_template: |
104
+ You are an inventory management specialist for retail operations.
105
+ Your role is to help answer questions about product inventory, stock levels,
106
+ and inventory-related queries using the available data sources.
107
+
108
+ When responding:
109
+ - Be precise with inventory numbers and product details
110
+ - Always verify information before providing answers
111
+ - If you need current data, use the genie tool to query the inventory database
112
+ - Provide actionable insights when discussing stock levels
113
+ tags:
114
+ environment: development
115
+ agent_type: inventory_agent
116
+
117
+ tools:
118
+ genie_tool: &genie_tool
119
+ name: genie_tool
120
+ function:
121
+ type: factory # Tool type: factory function
122
+ name: dao_ai.tools.create_genie_tool # Factory function path
123
+ args: # Arguments passed to factory
124
+ name: genie_tool
125
+ description: Answers questions about retail products and inventory
126
+ genie_room: *retail_genie_room # Reference to Genie room config
127
+
128
+ genie_mcp: &genie_mcp # Genie MCP tool configuration
129
+ name: genie_mcp
130
+ function:
131
+ type: mcp # MCP function type
132
+ name: genie_mcp
133
+ genie_room: *retail_genie_room # Use genie_room convenience object
134
+ client_id: *client_id
135
+ client_secret: *client_secret
136
+ workspace_host: *workspace_host
137
+
138
+
139
+ agents:
140
+ employee_agent: &employee_agent
141
+ name: employee_agent
142
+ description: "Employee Agent"
143
+ model: *tool_calling_llm
144
+ tools:
145
+ - *genie_tool
146
+ prompt: *employee_agent_prompt
147
+ handoff_prompt: |
148
+ Questions about employees, employee performance, task assignments, daily activities, or workforce management.
149
+ Examples: "What tasks are assigned to John today?", "Show me employee performance metrics", "How is Sarah performing?", "What are the pending employee tasks?", "Who completed the most tasks this week?"
150
+
151
+ inventory_agent: &inventory_agent
152
+ name: inventory_agent
153
+ description: "Inventory Management Agent - handles inventory queries via Genie MCP"
154
+ model: *tool_calling_llm
155
+ tools:
156
+ - *genie_mcp # Uses Genie MCP server tool
157
+ prompt: *inventory_agent_prompt # Uses external prompt from registry
158
+ handoff_prompt: |
159
+ Questions about inventory, stock levels, product availability, or inventory management.
160
+ Examples: "What's the current inventory level?", "Do we have product X in stock?", "Show me low stock items", "What products need reordering?", "What's the inventory status for store 123?"
161
+
162
+
163
+ app:
164
+ name: dao_pepsi_genie_demo # Application name
165
+ description: "Multi-agent system that talks to genie"
166
+ log_level: DEBUG # Logging level for the application
167
+ registered_model: # MLflow registered model configuration
168
+ schema: *store_ops_schema # Schema where model will be registered
169
+ name: dao_pepsi_genie_demo # Model name in MLflow registry
170
+ endpoint_name: dao_pepsi_genie_demo # Model serving endpoint name
171
+ tags: # Tags for resource organization
172
+ business: rcg # Business unit identifier
173
+ streaming: true # Indicates streaming capabilities
174
+ permissions: # Model serving permissions
175
+ - principals: [users] # Grant access to all users
176
+ entitlements:
177
+ - CAN_QUERY # Full management permissions
178
+ agents: # List of agents included in the system
179
+ - *employee_agent # Employee management agent
180
+ - *inventory_agent # Inventory management agent
181
+ orchestration: # Agent orchestration configuration
182
+ supervisor: # Supervisor orchestration pattern
183
+ model: *fast_llm # LLM for routing decisions
184
+
185
+
@@ -19,31 +19,74 @@ variables:
19
19
 
20
20
  schemas:
21
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
22
+ catalog_name: retail_consumer_goods # Unity Catalog name
23
+ schema_name: hardware_store # Schema within the catalog
24
24
 
25
25
  resources:
26
26
  llms:
27
27
  default_llm: &default_llm # Default LLM configuration
28
28
  name: databricks-claude-3-7-sonnet # Databricks serving endpoint name
29
29
 
30
+ genie_rooms:
31
+ retail_genie_room: &retail_genie_room # Genie room configuration
32
+ name: "Retail AI Genie Room" # Human-readable name
33
+ description: "Genie room for retail queries"
34
+ space_id: 01f01c91f1f414d59daaefd2b7ec82ea # Databricks Genie space ID
35
+
36
+ tables:
37
+ product_table: &product_table # Table configuration for vector store
38
+ schema: *retail_schema
39
+ name: products
40
+
41
+ vector_stores:
42
+ retail_vector_store: &retail_vector_store # Vector store configuration
43
+ source_table: *product_table # Source table for vector search
44
+ embedding_source_column: description # Column containing embeddings
45
+ endpoint:
46
+ name: dbdemos_vs_endpoint
47
+ index:
48
+ schema: *retail_schema # Schema for vector search index
49
+ name: products_index # Vector search index name
50
+
30
51
  tools:
52
+ # Example 1: Using direct URL (generic approach - works with any MCP server)
53
+ generic_mcp: &generic_mcp # Generic MCP tool with direct URL
54
+ name: generic_mcp
55
+ function:
56
+ type: mcp # MCP function type
57
+ name: generic_mcp
58
+ url: https://adb-984752964297111.11.azuredatabricks.net/api/2.0/mcp/vector-search/retail_consumer_goods/hardware_store
59
+ client_id: *client_id
60
+ client_secret: *client_secret
61
+ workspace_host: *workspace_host
62
+
63
+ # Example 2: Using convenience object (recommended - automatic URL generation)
31
64
  vector_search_mcp: &vector_search_mcp # Vector search MCP tool configuration
32
65
  name: vector_search_mcp
33
66
  function:
34
67
  type: mcp # MCP function type
35
68
  name: vector_search_mcp
36
- url: https://adb-984752964297111.11.azuredatabricks.net/api/2.0/mcp/vector-search/nfleming/retail_ai
69
+ vector_search: *retail_vector_store # Use vector search convenience object
70
+ client_id: *client_id
71
+ client_secret: *client_secret
72
+ workspace_host: *workspace_host
73
+
74
+ sql_mcp: &sql_mcp # DBSQL MCP tool configuration
75
+ name: sql_mcp
76
+ function:
77
+ type: mcp # MCP function type
78
+ name: sql_mcp
79
+ sql: true # Use serverless DBSQL MCP server (no warehouse needed)
37
80
  client_id: *client_id
38
81
  client_secret: *client_secret
39
82
  workspace_host: *workspace_host
40
83
 
41
- unity_catalog_mcp: &unity_catalog_mcp # Unity Catalog MCP tool configuration
42
- name: unity_catalog_mcp
84
+ functions_mcp: &functions_mcp # Unity Catalog Functions MCP tool configuration
85
+ name: functions_mcp
43
86
  function:
44
87
  type: mcp # MCP function type
45
- name: unity_catalog_mcp
46
- url: https://adb-984752964297111.11.azuredatabricks.net/api/2.0/mcp/functions/nfleming/retail_ai
88
+ name: functions_mcp
89
+ functions: *retail_schema # Use functions (UC Functions) convenience object
47
90
  client_id: *client_id
48
91
  client_secret: *client_secret
49
92
  workspace_host: *workspace_host
@@ -53,7 +96,7 @@ tools:
53
96
  function:
54
97
  type: mcp # MCP function type
55
98
  name: genie_mcp
56
- url: https://adb-984752964297111.11.azuredatabricks.net/api/2.0/mcp/genie/01f01c91f1f414d59daaefd2b7ec82ea
99
+ genie_room: *retail_genie_room # Use genie_room convenience object
57
100
  client_id: *client_id
58
101
  client_secret: *client_secret
59
102
  workspace_host: *workspace_host
@@ -63,13 +106,17 @@ agents:
63
106
  name: mcp_agent # Agent identifier
64
107
  model: *default_llm # Reference to LLM configuration
65
108
  tools: # Tools available to this agent
66
- - *vector_search_mcp
67
- - *unity_catalog_mcp
109
+ # Note: generic_mcp and vector_search_mcp both point to vector search
110
+ # Only one should be used in practice (shown here for demonstration)
111
+ - *generic_mcp # Example: Direct URL approach
112
+ - *vector_search_mcp # Example: Convenience object approach
113
+ - *sql_mcp
114
+ - *functions_mcp
68
115
  - *genie_mcp
69
116
  prompt: | # System prompt defining agent behavior
70
- You are a multi-purpose agent that can perform vector search, interact with Unity Catalog, and
71
- interact with Genie rooms. Use the tools provided to answer questions and perform tasks.
72
- You many need to use the tools in combination to achieve complex tasks.
117
+ You are a multi-purpose agent that can perform vector search, execute SQL queries via DBSQL,
118
+ call Unity Catalog functions, and interact with Genie rooms. Use the tools provided to answer
119
+ questions and perform tasks. You may need to use the tools in combination to achieve complex tasks.
73
120
 
74
121
  app:
75
122
  name: mcp_agent # Application name
@@ -21,6 +21,10 @@ schemas:
21
21
  retail_schema: &retail_schema # Unity Catalog schema configuration
22
22
  catalog_name: nfleming # Unity Catalog name
23
23
  schema_name: retail_ai # Schema within the catalog
24
+
25
+ hardware_store_schema: &hardware_store_schema # Hardware store schema configuration
26
+ catalog_name: retail_consumer_goods # Unity Catalog name
27
+ schema_name: hardware_store # Schema within the catalog
24
28
 
25
29
  resources:
26
30
  llms:
@@ -29,36 +33,76 @@ resources:
29
33
 
30
34
  connections:
31
35
  github_connection: &github_connection # UC Connection for GitHub
32
- name: github_pat_connection_nfleming # UC Connection name
36
+ name: github_pat_connection_nfleming # UC Connection name
37
+
38
+ genie_rooms:
39
+ retail_genie_room: &retail_genie_room # Genie room configuration
40
+ name: "Retail AI Genie Room" # Human-readable name
41
+ description: "Genie room for retail queries"
42
+ space_id: 01f01c91f1f414d59daaefd2b7ec82ea # Databricks Genie space ID
43
+
44
+ tables:
45
+ product_table: &product_table # Table configuration for vector store
46
+ schema: *hardware_store_schema
47
+ name: products
48
+
49
+ vector_stores:
50
+ hardware_vector_store: &hardware_vector_store # Vector store configuration
51
+ source_table: *product_table # Source table for vector search
52
+ embedding_source_column: description # Column containing embeddings
53
+ index:
54
+ schema: *hardware_store_schema # Schema for vector search index
55
+ name: products_index # Vector search index name
33
56
 
34
57
  tools:
35
- # Example using UC Connection for GitHub MCP with explicit URL
58
+ # Example 1: Using UC Connection (automatic URL generation from connection)
36
59
  github_mcp_uc: &github_mcp_uc
37
60
  name: github_mcp # Tool name for agent reference
38
61
  function:
39
62
  type: mcp # Tool type: MCP server
40
63
  name: github_mcp # MCP function name
41
64
  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
65
  connection: *github_connection # Reference to UC Connection (provides OAuth auth)
66
+ # Note: URL is auto-generated from connection, no need to specify
44
67
 
68
+ # Example 2: Using direct URL (generic approach - works with any MCP server)
69
+ generic_mcp: &generic_mcp # Generic MCP tool with direct URL
70
+ name: generic_mcp
71
+ function:
72
+ type: mcp # MCP function type
73
+ name: generic_mcp
74
+ url: https://adb-984752964297111.11.azuredatabricks.net/api/2.0/mcp/vector-search/retail_consumer_goods/hardware_store
75
+ client_id: *client_id
76
+ client_secret: *client_secret
77
+ workspace_host: *workspace_host
45
78
 
79
+ # Example 3: Using convenience object (recommended - automatic URL generation)
46
80
  vector_search_mcp: &vector_search_mcp # Vector search MCP tool configuration
47
81
  name: vector_search_mcp
48
82
  function:
49
83
  type: mcp # MCP function type
50
84
  name: vector_search_mcp
51
- url: https://adb-984752964297111.11.azuredatabricks.net/api/2.0/mcp/vector-search/retail_consumer_goods/hardware_store
85
+ vector_search: *hardware_vector_store # Use vector search convenience object
86
+ client_id: *client_id
87
+ client_secret: *client_secret
88
+ workspace_host: *workspace_host
89
+
90
+ sql_mcp: &sql_mcp # DBSQL MCP tool configuration
91
+ name: sql_mcp
92
+ function:
93
+ type: mcp # MCP function type
94
+ name: sql_mcp
95
+ sql: true # Use serverless DBSQL MCP server (no warehouse needed)
52
96
  client_id: *client_id
53
97
  client_secret: *client_secret
54
98
  workspace_host: *workspace_host
55
99
 
56
- unity_catalog_mcp: &unity_catalog_mcp # Unity Catalog MCP tool configuration
57
- name: unity_catalog_mcp
100
+ functions_mcp: &functions_mcp # Unity Catalog Functions MCP tool configuration
101
+ name: functions_mcp
58
102
  function:
59
103
  type: mcp # MCP function type
60
- name: unity_catalog_mcp
61
- url: https://adb-984752964297111.11.azuredatabricks.net/api/2.0/mcp/functions/retail_consumer_goods/hardware_store
104
+ name: functions_mcp
105
+ functions: *hardware_store_schema # Use functions (UC Functions) convenience object
62
106
  client_id: *client_id
63
107
  client_secret: *client_secret
64
108
  workspace_host: *workspace_host
@@ -68,7 +112,7 @@ tools:
68
112
  function:
69
113
  type: mcp # MCP function type
70
114
  name: genie_mcp
71
- url: https://adb-984752964297111.11.azuredatabricks.net/api/2.0/mcp/genie/01f01c91f1f414d59daaefd2b7ec82ea
115
+ genie_room: *retail_genie_room # Use genie_room convenience object
72
116
  client_id: *client_id
73
117
  client_secret: *client_secret
74
118
  workspace_host: *workspace_host
@@ -80,19 +124,23 @@ prompts:
80
124
  name: mcp_agent_prompt
81
125
  description: "MCP agent prompt"
82
126
  default_template: |
83
- You are a multi-purpose agent that can perform vector search, interact with Unity Catalog,
84
- interact with Genie rooms, and interact with GitHub. Use the tools provided to answer
85
- questions and perform tasks. You many need to use the tools in combination to achieve
86
- complex tasks.
127
+ You are a multi-purpose agent that can perform vector search, execute SQL queries via DBSQL,
128
+ call Unity Catalog functions, interact with Genie rooms, and interact with GitHub via UC Connection.
129
+ Use the tools provided to answer questions and perform tasks. You may need to use the tools in
130
+ combination to achieve complex tasks.
87
131
 
88
132
  agents:
89
133
  mcp_agent: &mcp_agent # MCP agent configuration
90
134
  name: mcp_agent # Agent identifier
91
135
  model: *default_llm # Reference to LLM configuration
92
136
  tools: # Tools available to this agent
93
- - *github_mcp_uc
94
- - *vector_search_mcp
95
- - *unity_catalog_mcp
137
+ - *github_mcp_uc # Example: UC Connection approach
138
+ # Note: generic_mcp and vector_search_mcp both point to vector search
139
+ # Only one should be used in practice (shown here for demonstration)
140
+ - *generic_mcp # Example: Direct URL approach
141
+ - *vector_search_mcp # Example: Convenience object approach
142
+ - *sql_mcp
143
+ - *functions_mcp
96
144
  - *genie_mcp
97
145
  prompt: *mcp_agent_prompt
98
146