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