dao-ai 0.0.28__tar.gz → 0.0.29__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.29/.python-version +1 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/PKG-INFO +3 -2
- {dao_ai-0.0.28 → dao_ai-0.0.29}/pyproject.toml +4 -3
- {dao_ai-0.0.28 → dao_ai-0.0.29}/requirements.txt +1 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/providers/databricks.py +7 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/tools/genie.py +0 -3
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_databricks.py +69 -0
- dao_ai-0.0.28/.python-version +0 -1
- {dao_ai-0.0.28 → dao_ai-0.0.29}/.gitignore +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/CHANGELOG.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/CONTRIBUTING.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/LICENSE +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/Makefile +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/README.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/Makefile +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/REFACTORING_SUMMARY.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/base-environment-serverless.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/demo_docs/BRAND_REP_DEMO_SUMMARY.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/demo_docs/demo_scripts/brand_rep_product_education_demo.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/demo_docs/demo_scripts/store_associate_ai_assistant_demo.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/demo_docs/demo_scripts/store_manager_alert_response_demo.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/development_workflows.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/.gitkeep +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/Makefile +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/agent_implementation.mmd +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/agent_tools_architecture.mmd +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/agents-and-tools/agent-troubleshooting.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-best-practices.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-development-patterns.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-performance.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-quickstart.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/agents-and-tools/ai-agents.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/agents-and-tools/overview.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/agents-and-tools/references/agent-reference.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/agents-and-tools/references/tools-reference.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/applications/streamlit-app.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/architecture/overview.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/architecture.mmd +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/architecture.png +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/customer_preparation_guide.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/databricks_integration.mmd +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/deployment/production.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/development/contributing.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/employee_tools_guide.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/getting-started/installation.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/getting-started/mkdocs-quickstart.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/getting-started/quick-start.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/index.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/mkdocs.yml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/scenario_1_architecture.mmd +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/scenario_1_flow.mmd +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/setup-docs.sh +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/task_assignment_workflow_guide.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/tools/overview.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/examples/customer_preparation_workflow.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/examples/task_assignment_workflow.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/load-env.sh +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/CSS_REFACTORING_SUMMARY.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/DEMO_CONTROLS_RESTORED.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/DEMO_IMPLEMENTATION_SUMMARY.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/DEMO_QUICK_START.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/Dockerfile +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/HOMEPAGE_README.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/Makefile +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/README.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/app.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/app.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/backup_homepage.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/chat.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/enhanced_charts.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/enhanced_navigation.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/associate_homepage.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/dashboard_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/my_tasks_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/performance_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/products_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/schedule_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/chat_integration.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/kpi_summary.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/notifications.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/homepage.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/alerts_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/analytics_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/dashboard_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/demo_alerts.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/inventory_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/manager_homepage.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/operations_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/team_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/ai_insights_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/executive_dashboard_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/geographical_analysis_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/performance_metrics_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/strategic_insights_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/vp_homepage.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/metrics.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/navigation.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/oldhomepage.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/styles.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/config.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/demo_docs/BRAND_REP_DEMO_SUMMARY.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/demo_docs/comprehensive_demo_script.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/brand_rep_product_education_demo.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/store_associate_ai_assistant_demo.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/store_manager_alert_response_demo.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/dev/README.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/dev/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/dev/components/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/dev/components/dashboard_card.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/dev/demo_alerts.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/dev/examples/sample_dashboard.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages/component_showcase.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages/dev_playground.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages/playground.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages_wip/daily_operations.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages_wip/inventory.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_schedule.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_tasks.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages_wip/orders.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages_wip/products_promotions.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages_wip/staff.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages_wip/team_insights.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pyproject.toml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/requirements.txt +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/static/css/style.css +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/styles/README.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/styles/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/styles/base.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/styles/components.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/styles/dashboard.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/styles/homepage.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/styles/theme.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/test_vip_notification.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/tests/test_calculations.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/utils/config.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/utils/database.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/utils/model_serving.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/utils/store_context.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/Makefile +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/README.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/app.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_components.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_components_enhanced.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_styles.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin_styles.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/TAILADMIN_README.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/homepage_tailadmin.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/tailadmin_demo.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/tailadmin_implementation_guide.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/test_vp_dashboard.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/vp_dashboard_enhanced.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/vp_dashboard_tailadmin.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/components_demo.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/homepage.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/implementation_guide.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/vp_dashboard_clean.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/vp_dashboard_enhanced.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pyproject.toml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/tests/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/tests/test_imports.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/tests/.gitkeep +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/tests/README.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/tests/images/doritos_upc.png +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/tests/images/lays_upc.png +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/tests/manager_demo_script.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/tests/notebook_vector_search_test.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/tests/test_vector_search_integration.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/dais2025/model_config_dais.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/examples/deep_research.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/examples/executive_assistant.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/examples/genie.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/examples/genie_and_genie_mcp.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/examples/genie_and_vector_search.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/examples/genie_with_conversion_id.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/examples/human_in_the_loop.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/examples/jira.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/examples/mcp.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/examples/mcp_with_uc_connection.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/examples/minimal.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/examples/prompt_optimization.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/examples/prompt_registry.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/examples/reservations.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/examples/slack.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/examples/vector_search_with_reranking.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/hardware_store/supervisor.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/hardware_store/supervisor_postgres.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/hardware_store/swarm.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/config/quick_serve_restaurant/quick-serve-restaurant.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/appointments.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/appointments_data.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/brand_rep_demo_data.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/brand_rep_demo_queries.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/brand_rep_demo_tables.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/brand_rep_demo_validation.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/customers.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/customers_data.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/dim_stores.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/dim_stores_data.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/employee_performance.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/employee_performance_data.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/employee_tasks.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/employee_tasks_data.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/inventory.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/inventory_data.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/managers.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/managers_data.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/product_data.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/products.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/dais2025/task_assignments.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/hardware_store/inventory.snappy.parquet +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/hardware_store/inventory.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/hardware_store/products.snappy.parquet +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/hardware_store/products.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/quick_serve_restaurant/fulfil_item_orders.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/quick_serve_restaurant/items_description.csv +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/quick_serve_restaurant/items_description.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/quick_serve_restaurant/items_raw.csv +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/quick_serve_restaurant/items_raw.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/quick_serve_restaurant/orders_raw.csv +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/data/quick_serve_restaurant/orders_raw.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/databricks.yaml.template +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/docs/genie.png +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/docs/hardware_store/README.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/docs/hardware_store/retail_supervisor.png +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/docs/hardware_store/retail_swarm.png +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/docs/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/docs/quick_serve_restaurant/quick-serve-restaurant.png +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/environment.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/examples/dais2025/examples.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/examples/deep_research/examples.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/examples/executive_assistant/examples.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/examples/hardware_store/examples.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/examples/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/examples/quick_serve_restaurant/examples.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/dais2025/extract_store_numbers.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/dais2025/find_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/dais2025/find_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/dais2025/find_product_by_sku.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/dais2025/find_product_by_upc.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/dais2025/find_store_by_number.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/dais2025/find_store_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/dais2025/find_store_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/hardware_store/find_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/hardware_store/find_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/hardware_store/find_product_by_sku.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/hardware_store/find_product_by_upc.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/hardware_store/find_store_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/hardware_store/find_store_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/quick_serve_restaurant/insert_coffee_order.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/quick_serve_restaurant/lookup_items_by_descriptions.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/quick_serve_restaurant/match_historical_item_order_by_date.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/functions/quick_serve_restaurant/match_item_by_description_and_price.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/notebooks/01_ingest_and_transform.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/notebooks/02_provision_vector_search.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/notebooks/03_provision_lakebase.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/notebooks/04_unity_catalog_tools.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/notebooks/05_deploy_agent.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/notebooks/06_generate_evaluation_data.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/notebooks/07_run_evaluation.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/notebooks/08_run_examples.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/notebooks/09_evaluate_inferences.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/notebooks/10_optimize_prompts.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/notebooks/99_scratchpad.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/notebooks/INVESTech.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/schemas/bundle_config_schema.json +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/schemas/model_config_schema.json +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dais2025/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dais2025/models.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dais2025/tools/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dais2025/tools/customer.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dais2025/tools/employee.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dais2025/tools/executive.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dais2025/tools/genie.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dais2025/tools/inventory.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dais2025/tools/models.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dais2025/tools/store.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/agent_as_code.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/catalog.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/chat_models.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/cli.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/config.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/graph.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/guardrails.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/hooks/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/hooks/core.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/memory/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/memory/base.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/memory/core.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/memory/postgres.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/messages.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/models.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/nodes.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/prompts.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/providers/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/providers/base.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/state.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/tools/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/tools/agent.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/tools/core.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/tools/human_in_the_loop.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/tools/mcp.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/tools/python.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/tools/slack.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/tools/time.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/tools/unity_catalog.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/tools/vector_search.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/types.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/utils.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/dao_ai/vector_search.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/hardware_store/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/hardware_store/hooks.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/hardware_store/tools.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/quick_serve_restaurant/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/src/quick_serve_restaurant/tools.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/config/test_model_config.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/conftest.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_catalog.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_chat_history.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_config.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_function_parsing.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_genie.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_genie_conversation_ids_in_outputs.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_genie_databricks_integration.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_hooks.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_inference.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_inference_integration.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_mcp.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_mcp_function_model.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_messages.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_models.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_postgres_integration.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_prompt_optimizations.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_prompts.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_reranking.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_reranking_integration.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_state.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_summarization_inference.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_tools.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_types.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_unity_catalog.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_utils.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/test_vector_search.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/dao_ai/weather_server_mcp.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/hardware_store/.gitkeep +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/hardware_store/test_graph.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/images/doritos_upc.png +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/images/lays_upc.png +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.29}/tests/quick_serve_restaurant/.gitkeep +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.11
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dao-ai
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.29
|
|
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
|
|
@@ -18,12 +18,13 @@ Classifier: Intended Audience :: Science/Research
|
|
|
18
18
|
Classifier: License :: OSI Approved :: MIT License
|
|
19
19
|
Classifier: Operating System :: OS Independent
|
|
20
20
|
Classifier: Programming Language :: Python :: 3
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
22
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
23
|
Classifier: Programming Language :: Python :: 3.13
|
|
23
24
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
24
25
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
25
26
|
Classifier: Topic :: System :: Distributed Computing
|
|
26
|
-
Requires-Python: >=3.
|
|
27
|
+
Requires-Python: >=3.11
|
|
27
28
|
Requires-Dist: databricks-agents>=1.7.0
|
|
28
29
|
Requires-Dist: databricks-langchain>=0.8.1
|
|
29
30
|
Requires-Dist: databricks-mcp>=0.3.0
|
|
@@ -4,11 +4,11 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "dao-ai"
|
|
7
|
-
version = "0.0.
|
|
7
|
+
version = "0.0.29"
|
|
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" }
|
|
11
|
-
requires-python = ">=3.
|
|
11
|
+
requires-python = ">=3.11"
|
|
12
12
|
authors = [
|
|
13
13
|
{ name = "Nate Fleming", email = "nate.fleming@databricks.com" },
|
|
14
14
|
{ name = "Nate Fleming", email = "nate.fleming@gmail.com" },
|
|
@@ -35,6 +35,7 @@ classifiers = [
|
|
|
35
35
|
"License :: OSI Approved :: MIT License",
|
|
36
36
|
"Operating System :: OS Independent",
|
|
37
37
|
"Programming Language :: Python :: 3",
|
|
38
|
+
"Programming Language :: Python :: 3.11",
|
|
38
39
|
"Programming Language :: Python :: 3.12",
|
|
39
40
|
"Programming Language :: Python :: 3.13",
|
|
40
41
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
@@ -166,7 +167,7 @@ exclude = [
|
|
|
166
167
|
|
|
167
168
|
[tool.ruff]
|
|
168
169
|
# Enable the Ruff formatter
|
|
169
|
-
target-version = "
|
|
170
|
+
target-version = "py311" # Minimum supported Python version
|
|
170
171
|
line-length = 88 # Same as Black's default
|
|
171
172
|
indent-width = 4
|
|
172
173
|
|
|
@@ -219,6 +219,13 @@ class DatabricksProvider(ServiceProvider):
|
|
|
219
219
|
logger.debug("Creating agent...")
|
|
220
220
|
mlflow.set_registry_uri("databricks-uc")
|
|
221
221
|
|
|
222
|
+
# Set up experiment for proper tracking
|
|
223
|
+
experiment: Experiment = self.get_or_create_experiment(config)
|
|
224
|
+
mlflow.set_experiment(experiment_id=experiment.experiment_id)
|
|
225
|
+
logger.debug(
|
|
226
|
+
f"Using experiment: {experiment.name} (ID: {experiment.experiment_id})"
|
|
227
|
+
)
|
|
228
|
+
|
|
222
229
|
llms: Sequence[LLMModel] = list(config.resources.llms.values())
|
|
223
230
|
vector_indexes: Sequence[IndexModel] = list(
|
|
224
231
|
config.resources.vector_stores.values()
|
|
@@ -298,9 +298,6 @@ def create_genie_tool(
|
|
|
298
298
|
if isinstance(genie_room, dict):
|
|
299
299
|
genie_room = GenieRoomModel(**genie_room)
|
|
300
300
|
|
|
301
|
-
space_id: AnyVariable = genie_room.space_id or os.environ.get(
|
|
302
|
-
"DATABRICKS_GENIE_SPACE_ID"
|
|
303
|
-
)
|
|
304
301
|
space_id: AnyVariable = genie_room.space_id or os.environ.get(
|
|
305
302
|
"DATABRICKS_GENIE_SPACE_ID"
|
|
306
303
|
)
|
|
@@ -303,6 +303,75 @@ def test_function_model_api_scopes():
|
|
|
303
303
|
assert function.api_scopes == ["sql.statement-execution"]
|
|
304
304
|
|
|
305
305
|
|
|
306
|
+
@pytest.mark.unit
|
|
307
|
+
def test_create_agent_sets_experiment():
|
|
308
|
+
"""Test that create_agent properly sets up MLflow experiment before starting run."""
|
|
309
|
+
from unittest.mock import MagicMock, patch
|
|
310
|
+
|
|
311
|
+
import mlflow
|
|
312
|
+
|
|
313
|
+
from dao_ai.config import AppConfig
|
|
314
|
+
from dao_ai.providers.databricks import DatabricksProvider
|
|
315
|
+
|
|
316
|
+
# Create a minimal mock config
|
|
317
|
+
mock_config = MagicMock(spec=AppConfig)
|
|
318
|
+
mock_app = MagicMock()
|
|
319
|
+
mock_app.name = "test_app"
|
|
320
|
+
mock_app.code_paths = []
|
|
321
|
+
mock_app.pip_requirements = []
|
|
322
|
+
mock_app.input_example = None
|
|
323
|
+
mock_config.app = mock_app
|
|
324
|
+
|
|
325
|
+
# Mock resources
|
|
326
|
+
mock_resources = MagicMock()
|
|
327
|
+
mock_resources.llms = MagicMock(values=lambda: [])
|
|
328
|
+
mock_resources.vector_stores = MagicMock(values=lambda: [])
|
|
329
|
+
mock_resources.warehouses = MagicMock(values=lambda: [])
|
|
330
|
+
mock_resources.genie_rooms = MagicMock(values=lambda: [])
|
|
331
|
+
mock_resources.tables = MagicMock(values=lambda: [])
|
|
332
|
+
mock_resources.functions = MagicMock(values=lambda: [])
|
|
333
|
+
mock_resources.connections = MagicMock(values=lambda: [])
|
|
334
|
+
mock_resources.databases = MagicMock(values=lambda: [])
|
|
335
|
+
mock_resources.volumes = MagicMock(values=lambda: [])
|
|
336
|
+
mock_config.resources = mock_resources
|
|
337
|
+
|
|
338
|
+
# Create mock experiment
|
|
339
|
+
mock_experiment = MagicMock()
|
|
340
|
+
mock_experiment.experiment_id = "test_experiment_123"
|
|
341
|
+
mock_experiment.name = "/Users/test_user/test_app"
|
|
342
|
+
|
|
343
|
+
with (
|
|
344
|
+
patch.object(
|
|
345
|
+
DatabricksProvider, "get_or_create_experiment", return_value=mock_experiment
|
|
346
|
+
) as mock_get_experiment,
|
|
347
|
+
patch.object(mlflow, "set_experiment") as mock_set_experiment,
|
|
348
|
+
patch.object(mlflow, "set_registry_uri"),
|
|
349
|
+
patch.object(mlflow, "start_run") as mock_start_run,
|
|
350
|
+
patch.object(mlflow, "set_tag"),
|
|
351
|
+
patch.object(mlflow.pyfunc, "log_model") as mock_log_model,
|
|
352
|
+
patch.object(mlflow, "register_model"),
|
|
353
|
+
patch("dao_ai.providers.databricks.MlflowClient"),
|
|
354
|
+
patch("dao_ai.providers.databricks.is_installed", return_value=True),
|
|
355
|
+
patch(
|
|
356
|
+
"dao_ai.providers.databricks.is_lib_provided",
|
|
357
|
+
return_value=True,
|
|
358
|
+
),
|
|
359
|
+
):
|
|
360
|
+
# Set up mock context managers
|
|
361
|
+
mock_start_run.return_value.__enter__.return_value = MagicMock()
|
|
362
|
+
mock_log_model.return_value = MagicMock(model_uri="test_uri")
|
|
363
|
+
|
|
364
|
+
# Create provider and call create_agent
|
|
365
|
+
provider = DatabricksProvider()
|
|
366
|
+
provider.create_agent(config=mock_config)
|
|
367
|
+
|
|
368
|
+
# Verify experiment was retrieved/created and set
|
|
369
|
+
mock_get_experiment.assert_called_once_with(mock_config)
|
|
370
|
+
mock_set_experiment.assert_called_once_with(
|
|
371
|
+
experiment_id=mock_experiment.experiment_id
|
|
372
|
+
)
|
|
373
|
+
|
|
374
|
+
|
|
306
375
|
@pytest.mark.unit
|
|
307
376
|
def test_create_agent_sets_framework_tags():
|
|
308
377
|
"""Test that create_agent sets framework and framework_version tags."""
|
dao_ai-0.0.28/.python-version
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
3.12
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/getting-started/installation.md
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/getting-started/mkdocs-quickstart.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/docs/task_assignment_workflow_guide.md
RENAMED
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/examples/customer_preparation_workflow.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/examples/task_assignment_workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/DEMO_QUICK_START.md
RENAMED
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/HOMEPAGE_README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/chat.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/metrics.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/navigation.py
RENAMED
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/components/styles.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/dev/demo_alerts.py
RENAMED
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages/dev_playground.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages/playground.py
RENAMED
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages_wip/inventory.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_schedule.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_tasks.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages_wip/orders.py
RENAMED
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/pages_wip/staff.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/requirements.txt
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/static/css/style.css
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/styles/README.md
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/styles/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/styles/components.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/styles/dashboard.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/styles/homepage.py
RENAMED
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/test_vip_notification.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/utils/database.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/utils/model_serving.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app/utils/store_context.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/Makefile
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/README.md
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/app.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.29}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|