dao-ai 0.0.28__tar.gz → 0.0.30__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.30/.python-version +1 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/PKG-INFO +3 -2
- {dao_ai-0.0.28 → dao_ai-0.0.30}/pyproject.toml +4 -3
- {dao_ai-0.0.28 → dao_ai-0.0.30}/requirements.txt +1 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/config.py +26 -2
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/providers/databricks.py +7 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/tools/genie.py +0 -3
- {dao_ai-0.0.28 → dao_ai-0.0.30}/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.30}/.gitignore +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/CHANGELOG.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/CONTRIBUTING.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/LICENSE +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/Makefile +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/README.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/Makefile +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/REFACTORING_SUMMARY.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/base-environment-serverless.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/demo_docs/BRAND_REP_DEMO_SUMMARY.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/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.30}/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.30}/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.30}/apps/dais2025/store-app/development_workflows.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/.gitkeep +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/Makefile +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/agent_implementation.mmd +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/agent_tools_architecture.mmd +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/agents-and-tools/agent-troubleshooting.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-best-practices.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-development-patterns.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-performance.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-quickstart.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/agents-and-tools/ai-agents.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/agents-and-tools/overview.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/agents-and-tools/references/agent-reference.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/agents-and-tools/references/tools-reference.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/applications/streamlit-app.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/architecture/overview.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/architecture.mmd +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/architecture.png +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/customer_preparation_guide.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/databricks_integration.mmd +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/deployment/production.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/development/contributing.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/employee_tools_guide.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/getting-started/installation.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/getting-started/mkdocs-quickstart.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/getting-started/quick-start.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/index.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/mkdocs.yml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/scenario_1_architecture.mmd +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/scenario_1_flow.mmd +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/setup-docs.sh +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/task_assignment_workflow_guide.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/docs/tools/overview.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/examples/customer_preparation_workflow.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/examples/task_assignment_workflow.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/load-env.sh +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/CSS_REFACTORING_SUMMARY.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/DEMO_CONTROLS_RESTORED.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/DEMO_IMPLEMENTATION_SUMMARY.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/DEMO_QUICK_START.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/Dockerfile +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/HOMEPAGE_README.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/Makefile +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/README.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/app.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/app.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/backup_homepage.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/chat.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/enhanced_charts.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/enhanced_navigation.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/homepage/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/associate_homepage.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/dashboard_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/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.30}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/performance_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/products_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/schedule_tab.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/chat_integration.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/kpi_summary.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/notifications.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/homepage/homepage.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/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.30}/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.30}/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.30}/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.30}/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.30}/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.30}/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.30}/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.30}/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.30}/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.30}/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.30}/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.30}/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.30}/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.30}/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.30}/apps/dais2025/store-app/streamlit_store_app/components/metrics.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/navigation.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/oldhomepage.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/components/styles.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/config.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/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.30}/apps/dais2025/store-app/streamlit_store_app/demo_docs/comprehensive_demo_script.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/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.30}/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.30}/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.30}/apps/dais2025/store-app/streamlit_store_app/dev/README.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/dev/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/dev/components/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/dev/components/dashboard_card.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/dev/demo_alerts.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/dev/examples/sample_dashboard.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/pages/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/pages/component_showcase.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/pages/dev_playground.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/pages/playground.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/pages_wip/daily_operations.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/pages_wip/inventory.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_schedule.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_tasks.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/pages_wip/orders.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/pages_wip/products_promotions.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/pages_wip/staff.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/pages_wip/team_insights.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/pyproject.toml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/requirements.txt +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/static/css/style.css +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/styles/README.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/styles/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/styles/base.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/styles/components.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/styles/dashboard.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/styles/homepage.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/styles/theme.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/test_vip_notification.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/tests/test_calculations.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/utils/config.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/utils/database.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/utils/model_serving.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/utils/store_context.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/Makefile +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/README.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/app.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/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.30}/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.30}/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.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin_styles.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/TAILADMIN_README.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/homepage_tailadmin.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/tailadmin_demo.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/tailadmin_implementation_guide.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/test_vp_dashboard.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/vp_dashboard_enhanced.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/vp_dashboard_tailadmin.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/components_demo.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/homepage.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/implementation_guide.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/vp_dashboard_clean.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/vp_dashboard_enhanced.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pyproject.toml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/tests/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/tests/test_imports.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/tests/.gitkeep +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/tests/README.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/tests/images/doritos_upc.png +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/tests/images/lays_upc.png +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/tests/manager_demo_script.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/tests/notebook_vector_search_test.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/tests/test_vector_search_integration.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/dais2025/model_config_dais.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/examples/deep_research.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/examples/executive_assistant.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/examples/genie.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/examples/genie_and_genie_mcp.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/examples/genie_and_vector_search.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/examples/genie_with_conversion_id.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/examples/human_in_the_loop.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/examples/jira.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/examples/mcp.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/examples/mcp_with_uc_connection.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/examples/minimal.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/examples/prompt_optimization.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/examples/prompt_registry.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/examples/reservations.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/examples/slack.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/examples/vector_search_with_reranking.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/hardware_store/supervisor.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/hardware_store/supervisor_postgres.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/hardware_store/swarm.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/config/quick_serve_restaurant/quick-serve-restaurant.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/appointments.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/appointments_data.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/brand_rep_demo_data.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/brand_rep_demo_queries.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/brand_rep_demo_tables.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/brand_rep_demo_validation.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/customers.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/customers_data.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/dim_stores.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/dim_stores_data.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/employee_performance.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/employee_performance_data.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/employee_tasks.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/employee_tasks_data.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/inventory.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/inventory_data.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/managers.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/managers_data.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/product_data.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/products.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/dais2025/task_assignments.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/hardware_store/inventory.snappy.parquet +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/hardware_store/inventory.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/hardware_store/products.snappy.parquet +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/hardware_store/products.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/quick_serve_restaurant/fulfil_item_orders.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/quick_serve_restaurant/items_description.csv +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/quick_serve_restaurant/items_description.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/quick_serve_restaurant/items_raw.csv +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/quick_serve_restaurant/items_raw.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/quick_serve_restaurant/orders_raw.csv +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/data/quick_serve_restaurant/orders_raw.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/databricks.yaml.template +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/docs/genie.png +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/docs/hardware_store/README.md +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/docs/hardware_store/retail_supervisor.png +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/docs/hardware_store/retail_swarm.png +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/docs/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/docs/quick_serve_restaurant/quick-serve-restaurant.png +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/environment.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/examples/dais2025/examples.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/examples/deep_research/examples.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/examples/executive_assistant/examples.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/examples/hardware_store/examples.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/examples/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/examples/quick_serve_restaurant/examples.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/dais2025/extract_store_numbers.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/dais2025/find_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/dais2025/find_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/dais2025/find_product_by_sku.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/dais2025/find_product_by_upc.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/dais2025/find_store_by_number.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/dais2025/find_store_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/dais2025/find_store_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/hardware_store/find_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/hardware_store/find_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/hardware_store/find_product_by_sku.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/hardware_store/find_product_by_upc.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/hardware_store/find_store_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/hardware_store/find_store_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/quick_serve_restaurant/insert_coffee_order.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/quick_serve_restaurant/lookup_items_by_descriptions.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/quick_serve_restaurant/match_historical_item_order_by_date.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/functions/quick_serve_restaurant/match_item_by_description_and_price.sql +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/notebooks/01_ingest_and_transform.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/notebooks/02_provision_vector_search.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/notebooks/03_provision_lakebase.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/notebooks/04_unity_catalog_tools.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/notebooks/05_deploy_agent.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/notebooks/06_generate_evaluation_data.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/notebooks/07_run_evaluation.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/notebooks/08_run_examples.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/notebooks/09_evaluate_inferences.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/notebooks/10_optimize_prompts.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/notebooks/99_scratchpad.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/notebooks/INVESTech.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/schemas/bundle_config_schema.json +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/schemas/model_config_schema.json +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dais2025/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dais2025/models.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dais2025/tools/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dais2025/tools/customer.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dais2025/tools/employee.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dais2025/tools/executive.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dais2025/tools/genie.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dais2025/tools/inventory.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dais2025/tools/models.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dais2025/tools/store.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/agent_as_code.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/catalog.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/chat_models.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/cli.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/graph.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/guardrails.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/hooks/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/hooks/core.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/memory/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/memory/base.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/memory/core.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/memory/postgres.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/messages.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/models.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/nodes.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/prompts.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/providers/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/providers/base.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/state.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/tools/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/tools/agent.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/tools/core.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/tools/human_in_the_loop.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/tools/mcp.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/tools/python.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/tools/slack.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/tools/time.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/tools/unity_catalog.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/tools/vector_search.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/types.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/utils.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/dao_ai/vector_search.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/hardware_store/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/hardware_store/hooks.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/hardware_store/tools.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/quick_serve_restaurant/__init__.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/src/quick_serve_restaurant/tools.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/config/test_model_config.yaml +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/conftest.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_catalog.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_chat_history.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_config.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_function_parsing.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_genie.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_genie_conversation_ids_in_outputs.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_genie_databricks_integration.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_hooks.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_inference.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_inference_integration.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_mcp.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_mcp_function_model.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_messages.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_models.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_postgres_integration.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_prompt_optimizations.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_prompts.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_reranking.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_reranking_integration.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_state.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_summarization_inference.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_tools.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_types.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_unity_catalog.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_utils.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/test_vector_search.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/dao_ai/weather_server_mcp.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/hardware_store/.gitkeep +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/hardware_store/test_graph.py +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/images/doritos_upc.png +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/tests/images/lays_upc.png +0 -0
- {dao_ai-0.0.28 → dao_ai-0.0.30}/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.30
|
|
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.30"
|
|
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
|
|
|
@@ -2009,21 +2009,45 @@ class AppConfig(BaseModel):
|
|
|
2009
2009
|
def create_agent(
|
|
2010
2010
|
self,
|
|
2011
2011
|
w: WorkspaceClient | None = None,
|
|
2012
|
+
vsc: "VectorSearchClient | None" = None,
|
|
2013
|
+
pat: str | None = None,
|
|
2014
|
+
client_id: str | None = None,
|
|
2015
|
+
client_secret: str | None = None,
|
|
2016
|
+
workspace_host: str | None = None,
|
|
2012
2017
|
) -> None:
|
|
2013
2018
|
from dao_ai.providers.base import ServiceProvider
|
|
2014
2019
|
from dao_ai.providers.databricks import DatabricksProvider
|
|
2015
2020
|
|
|
2016
|
-
provider: ServiceProvider = DatabricksProvider(
|
|
2021
|
+
provider: ServiceProvider = DatabricksProvider(
|
|
2022
|
+
w=w,
|
|
2023
|
+
vsc=vsc,
|
|
2024
|
+
pat=pat,
|
|
2025
|
+
client_id=client_id,
|
|
2026
|
+
client_secret=client_secret,
|
|
2027
|
+
workspace_host=workspace_host,
|
|
2028
|
+
)
|
|
2017
2029
|
provider.create_agent(self)
|
|
2018
2030
|
|
|
2019
2031
|
def deploy_agent(
|
|
2020
2032
|
self,
|
|
2021
2033
|
w: WorkspaceClient | None = None,
|
|
2034
|
+
vsc: "VectorSearchClient | None" = None,
|
|
2035
|
+
pat: str | None = None,
|
|
2036
|
+
client_id: str | None = None,
|
|
2037
|
+
client_secret: str | None = None,
|
|
2038
|
+
workspace_host: str | None = None,
|
|
2022
2039
|
) -> None:
|
|
2023
2040
|
from dao_ai.providers.base import ServiceProvider
|
|
2024
2041
|
from dao_ai.providers.databricks import DatabricksProvider
|
|
2025
2042
|
|
|
2026
|
-
provider: ServiceProvider = DatabricksProvider(
|
|
2043
|
+
provider: ServiceProvider = DatabricksProvider(
|
|
2044
|
+
w=w,
|
|
2045
|
+
vsc=vsc,
|
|
2046
|
+
pat=pat,
|
|
2047
|
+
client_id=client_id,
|
|
2048
|
+
client_secret=client_secret,
|
|
2049
|
+
workspace_host=workspace_host,
|
|
2050
|
+
)
|
|
2027
2051
|
provider.deploy_agent(self)
|
|
2028
2052
|
|
|
2029
2053
|
def find_agents(
|
|
@@ -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.30}/apps/dais2025/store-app/docs/getting-started/installation.md
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.30}/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.30}/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.30}/apps/dais2025/store-app/examples/customer_preparation_workflow.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.30}/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.30}/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.30}/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.30}/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.30}/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.30}/apps/dais2025/store-app/streamlit_store_app/components/metrics.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.30}/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.30}/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.30}/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.30}/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.30}/apps/dais2025/store-app/streamlit_store_app/pages/dev_playground.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.30}/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.30}/apps/dais2025/store-app/streamlit_store_app/pages_wip/inventory.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.30}/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.30}/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.30}/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.30}/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.30}/apps/dais2025/store-app/streamlit_store_app/requirements.txt
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/static/css/style.css
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/styles/README.md
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.30}/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.30}/apps/dais2025/store-app/streamlit_store_app/styles/components.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/styles/dashboard.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.30}/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.30}/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.30}/apps/dais2025/store-app/streamlit_store_app/utils/database.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/utils/model_serving.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app/utils/store_context.py
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/Makefile
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.30}/apps/dais2025/store-app/streamlit_store_app_tailadmin/README.md
RENAMED
|
File without changes
|
{dao_ai-0.0.28 → dao_ai-0.0.30}/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
|