dao-ai 0.0.21__tar.gz → 0.0.22__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.21 → dao_ai-0.0.22}/PKG-INFO +3 -3
- {dao_ai-0.0.21 → dao_ai-0.0.22}/config/hardware_store/supervisor_postgres.yaml +21 -20
- {dao_ai-0.0.21 → dao_ai-0.0.22}/databricks.yaml +10 -3
- {dao_ai-0.0.21 → dao_ai-0.0.22}/notebooks/01_ingest_and_transform.py +33 -2
- {dao_ai-0.0.21 → dao_ai-0.0.22}/notebooks/02_provision_vector_search.py +31 -3
- dao_ai-0.0.22/notebooks/03_provision_lakebase.py +85 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/notebooks/04_unity_catalog_tools.py +31 -2
- dao_ai-0.0.21/notebooks/03_generate_evaluation_data.py → dao_ai-0.0.22/notebooks/06_generate_evaluation_data.py +31 -2
- dao_ai-0.0.21/notebooks/06_run_evaluation.py → dao_ai-0.0.22/notebooks/07_run_evaluation.py +31 -5
- {dao_ai-0.0.21 → dao_ai-0.0.22}/notebooks/09_evaluate_inferences.py +34 -3
- {dao_ai-0.0.21 → dao_ai-0.0.22}/pyproject.toml +3 -3
- {dao_ai-0.0.21 → dao_ai-0.0.22}/requirements.txt +2 -2
- {dao_ai-0.0.21 → dao_ai-0.0.22}/schemas/model_config_schema.json +63 -3
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/config.py +93 -11
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/graph.py +3 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/memory/core.py +10 -6
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/memory/postgres.py +71 -30
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/providers/databricks.py +280 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/tools/genie.py +1 -1
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/utils.py +4 -0
- dao_ai-0.0.22/tests/dao_ai/test_databricks.py +1004 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_genie_databricks_integration.py +1 -1
- dao_ai-0.0.21/tests/dao_ai/test_databricks.py +0 -308
- {dao_ai-0.0.21 → dao_ai-0.0.22}/.gitignore +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/.python-version +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/CHANGELOG.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/CONTRIBUTING.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/LICENSE +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/Makefile +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/README.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/Makefile +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/REFACTORING_SUMMARY.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/base-environment-serverless.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/demo_docs/BRAND_REP_DEMO_SUMMARY.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/demo_docs/demo_scripts/brand_rep_product_education_demo.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/demo_docs/demo_scripts/store_associate_ai_assistant_demo.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/demo_docs/demo_scripts/store_manager_alert_response_demo.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/development_workflows.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/.gitkeep +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/Makefile +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/agent_implementation.mmd +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/agent_tools_architecture.mmd +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/agents-and-tools/agent-troubleshooting.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-best-practices.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-development-patterns.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-performance.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-quickstart.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/agents-and-tools/ai-agents.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/agents-and-tools/overview.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/agents-and-tools/references/agent-reference.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/agents-and-tools/references/tools-reference.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/applications/streamlit-app.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/architecture/overview.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/architecture.mmd +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/architecture.png +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/customer_preparation_guide.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/databricks_integration.mmd +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/deployment/production.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/development/contributing.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/employee_tools_guide.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/getting-started/installation.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/getting-started/mkdocs-quickstart.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/getting-started/quick-start.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/index.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/mkdocs.yml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/scenario_1_architecture.mmd +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/scenario_1_flow.mmd +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/setup-docs.sh +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/task_assignment_workflow_guide.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/docs/tools/overview.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/examples/customer_preparation_workflow.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/examples/task_assignment_workflow.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/load-env.sh +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/CSS_REFACTORING_SUMMARY.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/DEMO_CONTROLS_RESTORED.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/DEMO_IMPLEMENTATION_SUMMARY.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/DEMO_QUICK_START.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/Dockerfile +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/HOMEPAGE_README.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/Makefile +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/README.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/app.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/app.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/backup_homepage.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/chat.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/enhanced_charts.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/enhanced_navigation.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/associate_homepage.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/dashboard_tab.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/my_tasks_tab.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/performance_tab.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/products_tab.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/schedule_tab.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/chat_integration.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/kpi_summary.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/notifications.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/homepage.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/alerts_tab.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/analytics_tab.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/dashboard_tab.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/demo_alerts.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/inventory_tab.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/manager_homepage.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/operations_tab.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/team_tab.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/ai_insights_tab.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/executive_dashboard_tab.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/geographical_analysis_tab.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/performance_metrics_tab.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/strategic_insights_tab.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/vp_homepage.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/metrics.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/navigation.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/oldhomepage.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/components/styles.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/config.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/demo_docs/BRAND_REP_DEMO_SUMMARY.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/demo_docs/comprehensive_demo_script.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/brand_rep_product_education_demo.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/store_associate_ai_assistant_demo.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/store_manager_alert_response_demo.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/dev/README.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/dev/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/dev/components/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/dev/components/dashboard_card.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/dev/demo_alerts.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/dev/examples/sample_dashboard.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/pages/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/pages/component_showcase.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/pages/dev_playground.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/pages/playground.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/pages_wip/daily_operations.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/pages_wip/inventory.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_schedule.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_tasks.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/pages_wip/orders.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/pages_wip/products_promotions.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/pages_wip/staff.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/pages_wip/team_insights.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/pyproject.toml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/requirements.txt +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/static/css/style.css +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/styles/README.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/styles/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/styles/base.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/styles/components.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/styles/dashboard.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/styles/homepage.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/styles/theme.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/test_vip_notification.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/tests/test_calculations.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/utils/config.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/utils/database.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/utils/model_serving.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app/utils/store_context.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/Makefile +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/README.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/app.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_components.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_components_enhanced.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_styles.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin_styles.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/TAILADMIN_README.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/homepage_tailadmin.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/tailadmin_demo.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/tailadmin_implementation_guide.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/test_vp_dashboard.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/vp_dashboard_enhanced.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/vp_dashboard_tailadmin.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/components_demo.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/homepage.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/implementation_guide.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/vp_dashboard_clean.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/vp_dashboard_enhanced.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pyproject.toml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/tests/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/streamlit_store_app_tailadmin/tests/test_imports.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/tests/.gitkeep +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/tests/README.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/tests/images/doritos_upc.png +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/tests/images/lays_upc.png +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/tests/manager_demo_script.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/tests/notebook_vector_search_test.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/apps/dais2025/store-app/tests/test_vector_search_integration.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/config/dais2025/model_config_dais.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/config/examples/deep_research.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/config/examples/executive_assistant.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/config/examples/genie.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/config/examples/genie_and_vector_search.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/config/examples/genie_with_conversion_id.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/config/examples/human_in_the_loop.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/config/examples/jira.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/config/examples/mcp.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/config/examples/minimal.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/config/examples/reservations.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/config/hardware_store/supervisor.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/config/hardware_store/swarm.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/config/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/config/quick_serve_restaurant/quick-serve-restaurant.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/appointments.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/appointments_data.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/brand_rep_demo_data.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/brand_rep_demo_queries.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/brand_rep_demo_tables.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/brand_rep_demo_validation.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/customers.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/customers_data.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/dim_stores.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/dim_stores_data.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/employee_performance.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/employee_performance_data.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/employee_tasks.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/employee_tasks_data.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/inventory.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/inventory_data.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/managers.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/managers_data.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/product_data.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/products.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/dais2025/task_assignments.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/hardware_store/inventory.snappy.parquet +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/hardware_store/inventory.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/hardware_store/products.snappy.parquet +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/hardware_store/products.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/quick_serve_restaurant/fulfil_item_orders.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/quick_serve_restaurant/items_description.csv +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/quick_serve_restaurant/items_description.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/quick_serve_restaurant/items_raw.csv +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/quick_serve_restaurant/items_raw.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/quick_serve_restaurant/orders_raw.csv +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/data/quick_serve_restaurant/orders_raw.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/docs/genie.png +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/docs/hardware_store/README.md +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/docs/hardware_store/retail_supervisor.png +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/docs/hardware_store/retail_swarm.png +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/docs/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/docs/quick_serve_restaurant/quick-serve-restaurant.png +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/environment.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/examples/dais2025/examples.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/examples/deep_research/examples.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/examples/executive_assistant/examples.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/examples/hardware_store/examples.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/examples/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/examples/quick_serve_restaurant/examples.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/dais2025/extract_store_numbers.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/dais2025/find_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/dais2025/find_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/dais2025/find_product_by_sku.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/dais2025/find_product_by_upc.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/dais2025/find_store_by_number.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/dais2025/find_store_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/dais2025/find_store_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/hardware_store/find_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/hardware_store/find_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/hardware_store/find_product_by_sku.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/hardware_store/find_product_by_upc.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/hardware_store/find_store_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/hardware_store/find_store_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/quick_serve_restaurant/insert_coffee_order.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/quick_serve_restaurant/lookup_items_by_descriptions.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/quick_serve_restaurant/match_historical_item_order_by_date.sql +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/functions/quick_serve_restaurant/match_item_by_description_and_price.sql +0 -0
- /dao_ai-0.0.21/notebooks/05_agent_as_code_driver.py → /dao_ai-0.0.22/notebooks/05_deploy_agent.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/notebooks/08_run_examples.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/notebooks/99_scratchpad.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/notebooks/INVESTech.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/schemas/bundle_config_schema.json +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dais2025/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dais2025/models.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dais2025/tools/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dais2025/tools/customer.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dais2025/tools/employee.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dais2025/tools/executive.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dais2025/tools/genie.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dais2025/tools/inventory.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dais2025/tools/models.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dais2025/tools/store.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/agent_as_code.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/catalog.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/chat_models.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/cli.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/guardrails.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/hooks/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/hooks/core.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/memory/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/memory/base.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/messages.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/models.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/nodes.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/prompts.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/providers/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/providers/base.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/state.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/tools/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/tools/agent.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/tools/core.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/tools/human_in_the_loop.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/tools/mcp.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/tools/python.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/tools/time.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/tools/unity_catalog.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/tools/vector_search.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/types.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/dao_ai/vector_search.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/hardware_store/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/hardware_store/hooks.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/hardware_store/tools.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/quick_serve_restaurant/__init__.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/src/quick_serve_restaurant/tools.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/config/test_model_config.yaml +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/conftest.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_catalog.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_chat_history.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_config.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_function_parsing.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_genie.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_genie_conversation_ids_in_outputs.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_hooks.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_inference.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_inference_integration.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_mcp.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_messages.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_models.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_postgres_integration.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_state.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_summarization_inference.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_tools.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_types.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_unity_catalog.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_utils.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/test_vector_search.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/dao_ai/weather_server_mcp.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/hardware_store/.gitkeep +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/hardware_store/test_graph.py +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/images/doritos_upc.png +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/images/lays_upc.png +0 -0
- {dao_ai-0.0.21 → dao_ai-0.0.22}/tests/quick_serve_restaurant/.gitkeep +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dao-ai
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.22
|
|
4
4
|
Summary: DAO AI: A modular, multi-agent orchestration framework for complex AI workflows. Supports agent handoff, tool integration, and dynamic configuration via YAML.
|
|
5
5
|
Project-URL: Homepage, https://github.com/natefleming/dao-ai
|
|
6
6
|
Project-URL: Documentation, https://natefleming.github.io/dao-ai
|
|
@@ -24,9 +24,9 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
|
24
24
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
25
25
|
Classifier: Topic :: System :: Distributed Computing
|
|
26
26
|
Requires-Python: >=3.12
|
|
27
|
-
Requires-Dist: databricks-agents>=1.6.
|
|
27
|
+
Requires-Dist: databricks-agents>=1.6.1
|
|
28
28
|
Requires-Dist: databricks-langchain>=0.8.0
|
|
29
|
-
Requires-Dist: databricks-sdk[openai]>=0.
|
|
29
|
+
Requires-Dist: databricks-sdk[openai]>=0.67.0
|
|
30
30
|
Requires-Dist: duckduckgo-search>=8.0.2
|
|
31
31
|
Requires-Dist: grandalf>=0.8
|
|
32
32
|
Requires-Dist: langchain-mcp-adapters>=0.1.10
|
|
@@ -194,29 +194,30 @@ resources:
|
|
|
194
194
|
databases:
|
|
195
195
|
# PostgreSQL database for agent memory and checkpoints
|
|
196
196
|
retail_database: &retail_database
|
|
197
|
-
name: "
|
|
197
|
+
name: "Retail and Consumer Goods Database"
|
|
198
|
+
instance_name: "retail-consumer-goods"
|
|
198
199
|
description: "Database for agent memory and checkpoints"
|
|
199
200
|
|
|
200
201
|
# Database connection parameters
|
|
201
202
|
# These can be set via environment variables or Databricks secrets
|
|
202
|
-
host:
|
|
203
|
-
default_value: localhost
|
|
204
|
-
options:
|
|
205
|
-
- env: PGHOST # Environment variable
|
|
206
|
-
- scope: retail_ai # Databricks secret scope
|
|
207
|
-
secret: PGHOST # Secret name
|
|
208
|
-
port:
|
|
209
|
-
default_value: 5432
|
|
210
|
-
options:
|
|
211
|
-
- env: PGPORT
|
|
212
|
-
- scope: retail_ai
|
|
213
|
-
secret: PGPORT
|
|
214
|
-
database:
|
|
215
|
-
default_value: databricks_postgres # Default database name
|
|
216
|
-
options:
|
|
217
|
-
- env: PGDATABASE
|
|
218
|
-
- scope: retail_ai
|
|
219
|
-
secret: PGDATABASE
|
|
203
|
+
# host:
|
|
204
|
+
# default_value: localhost
|
|
205
|
+
# options:
|
|
206
|
+
# - env: PGHOST # Environment variable
|
|
207
|
+
# - scope: retail_ai # Databricks secret scope
|
|
208
|
+
# secret: PGHOST # Secret name
|
|
209
|
+
# port:
|
|
210
|
+
# default_value: 5432
|
|
211
|
+
# options:
|
|
212
|
+
# - env: PGPORT
|
|
213
|
+
# - scope: retail_ai
|
|
214
|
+
# secret: PGPORT
|
|
215
|
+
# database:
|
|
216
|
+
# default_value: databricks_postgres # Default database name
|
|
217
|
+
# options:
|
|
218
|
+
# - env: PGDATABASE
|
|
219
|
+
# - scope: retail_ai
|
|
220
|
+
# secret: PGDATABASE
|
|
220
221
|
|
|
221
222
|
|
|
222
223
|
# Traditional PostgreSQL authentication (commented out)
|
|
@@ -959,7 +960,7 @@ app:
|
|
|
959
960
|
content: Can you recommend a lamp to match my oak side tables?
|
|
960
961
|
custom_inputs:
|
|
961
962
|
configurable:
|
|
962
|
-
thread_id: "1"
|
|
963
|
+
#thread_id: "1"
|
|
963
964
|
user_id: my_user_id
|
|
964
965
|
store_num: 87887
|
|
965
966
|
#chat_history:
|
|
@@ -50,17 +50,24 @@ resources:
|
|
|
50
50
|
base_parameters:
|
|
51
51
|
config-path: ${var.config_path}
|
|
52
52
|
environment_key: dao-ai-env
|
|
53
|
+
- task_key: provision-lakebase
|
|
54
|
+
notebook_task:
|
|
55
|
+
notebook_path: ./notebooks/03_provision_lakebase.py
|
|
56
|
+
base_parameters:
|
|
57
|
+
config-path: ${var.config_path}
|
|
58
|
+
environment_key: dao-ai-env
|
|
53
59
|
- task_key: generate-evaluation-data
|
|
54
60
|
depends_on:
|
|
55
61
|
- task_key: provision-vector-search
|
|
56
62
|
notebook_task:
|
|
57
|
-
notebook_path: ./notebooks/
|
|
63
|
+
notebook_path: ./notebooks/06_generate_evaluation_data.py
|
|
58
64
|
base_parameters:
|
|
59
65
|
config-path: ${var.config_path}
|
|
60
66
|
environment_key: dao-ai-env
|
|
61
67
|
- task_key: unity-catalog-tools
|
|
62
68
|
depends_on:
|
|
63
69
|
- task_key: provision-vector-search
|
|
70
|
+
- task_key: provision-lakebase
|
|
64
71
|
notebook_task:
|
|
65
72
|
notebook_path: ./notebooks/04_unity_catalog_tools.py
|
|
66
73
|
base_parameters:
|
|
@@ -70,7 +77,7 @@ resources:
|
|
|
70
77
|
depends_on:
|
|
71
78
|
- task_key: unity-catalog-tools
|
|
72
79
|
notebook_task:
|
|
73
|
-
notebook_path: ./notebooks/
|
|
80
|
+
notebook_path: ./notebooks/05_deploy_agent.py
|
|
74
81
|
base_parameters:
|
|
75
82
|
config-path: ${var.config_path}
|
|
76
83
|
environment_key: dao-ai-env
|
|
@@ -79,7 +86,7 @@ resources:
|
|
|
79
86
|
- task_key: deploy-agents
|
|
80
87
|
- task_key: generate-evaluation-data
|
|
81
88
|
notebook_task:
|
|
82
|
-
notebook_path: ./notebooks/
|
|
89
|
+
notebook_path: ./notebooks/07_run_evaluation.py
|
|
83
90
|
base_parameters:
|
|
84
91
|
config-path: ${var.config_path}
|
|
85
92
|
environment_key: dao-ai-env
|
|
@@ -1,11 +1,42 @@
|
|
|
1
1
|
# Databricks notebook source
|
|
2
2
|
# MAGIC %pip install --quiet --upgrade -r ../requirements.txt
|
|
3
|
+
# MAGIC %pip uninstall --quiet -y databricks-connect pyspark pyspark-connect
|
|
4
|
+
# MAGIC %pip install --quiet databricks-connect
|
|
3
5
|
# MAGIC %restart_python
|
|
4
6
|
|
|
5
7
|
# COMMAND ----------
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
from typing import Sequence
|
|
10
|
+
import os
|
|
11
|
+
|
|
12
|
+
def find_yaml_files_os_walk(base_path: str) -> Sequence[str]:
|
|
13
|
+
if not os.path.exists(base_path):
|
|
14
|
+
raise FileNotFoundError(f"Base path does not exist: {base_path}")
|
|
15
|
+
|
|
16
|
+
if not os.path.isdir(base_path):
|
|
17
|
+
raise NotADirectoryError(f"Base path is not a directory: {base_path}")
|
|
18
|
+
|
|
19
|
+
yaml_files = []
|
|
20
|
+
|
|
21
|
+
for root, dirs, files in os.walk(base_path):
|
|
22
|
+
for file in files:
|
|
23
|
+
if file.lower().endswith(('.yaml', '.yml')):
|
|
24
|
+
yaml_files.append(os.path.join(root, file))
|
|
25
|
+
|
|
26
|
+
return sorted(yaml_files)
|
|
27
|
+
|
|
28
|
+
# COMMAND ----------
|
|
29
|
+
|
|
30
|
+
dbutils.widgets.text(name="config-path", defaultValue="")
|
|
31
|
+
|
|
32
|
+
config_files: Sequence[str] = find_yaml_files_os_walk("../config")
|
|
33
|
+
dbutils.widgets.dropdown(name="config-paths", choices=config_files, defaultValue=next(iter(config_files), ""))
|
|
34
|
+
|
|
35
|
+
config_path: str | None = dbutils.widgets.get("config-path") or None
|
|
36
|
+
project_path: str = dbutils.widgets.get("config-paths") or None
|
|
37
|
+
|
|
38
|
+
config_path: str = config_path or project_path
|
|
39
|
+
|
|
9
40
|
print(config_path)
|
|
10
41
|
|
|
11
42
|
# COMMAND ----------
|
|
@@ -6,10 +6,38 @@
|
|
|
6
6
|
|
|
7
7
|
# COMMAND ----------
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
from typing import Sequence
|
|
10
|
+
import os
|
|
11
|
+
|
|
12
|
+
def find_yaml_files_os_walk(base_path: str) -> Sequence[str]:
|
|
13
|
+
if not os.path.exists(base_path):
|
|
14
|
+
raise FileNotFoundError(f"Base path does not exist: {base_path}")
|
|
15
|
+
|
|
16
|
+
if not os.path.isdir(base_path):
|
|
17
|
+
raise NotADirectoryError(f"Base path is not a directory: {base_path}")
|
|
18
|
+
|
|
19
|
+
yaml_files = []
|
|
20
|
+
|
|
21
|
+
for root, dirs, files in os.walk(base_path):
|
|
22
|
+
for file in files:
|
|
23
|
+
if file.lower().endswith(('.yaml', '.yml')):
|
|
24
|
+
yaml_files.append(os.path.join(root, file))
|
|
25
|
+
|
|
26
|
+
return sorted(yaml_files)
|
|
27
|
+
|
|
28
|
+
# COMMAND ----------
|
|
29
|
+
|
|
30
|
+
dbutils.widgets.text(name="config-path", defaultValue="")
|
|
12
31
|
|
|
32
|
+
config_files: Sequence[str] = find_yaml_files_os_walk("../config")
|
|
33
|
+
dbutils.widgets.dropdown(name="config-paths", choices=config_files, defaultValue=next(iter(config_files), ""))
|
|
34
|
+
|
|
35
|
+
config_path: str | None = dbutils.widgets.get("config-path") or None
|
|
36
|
+
project_path: str = dbutils.widgets.get("config-paths") or None
|
|
37
|
+
|
|
38
|
+
config_path: str = config_path or project_path
|
|
39
|
+
|
|
40
|
+
print(config_path)
|
|
13
41
|
# COMMAND ----------
|
|
14
42
|
|
|
15
43
|
import sys
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Databricks notebook source
|
|
2
|
+
# MAGIC %pip install --quiet --upgrade -r ../requirements.txt
|
|
3
|
+
# MAGIC %pip uninstall --quiet -y databricks-connect pyspark pyspark-connect
|
|
4
|
+
# MAGIC %pip install --quiet databricks-connect
|
|
5
|
+
# MAGIC %restart_python
|
|
6
|
+
|
|
7
|
+
# COMMAND ----------
|
|
8
|
+
|
|
9
|
+
from typing import Sequence
|
|
10
|
+
import os
|
|
11
|
+
|
|
12
|
+
def find_yaml_files_os_walk(base_path: str) -> Sequence[str]:
|
|
13
|
+
if not os.path.exists(base_path):
|
|
14
|
+
raise FileNotFoundError(f"Base path does not exist: {base_path}")
|
|
15
|
+
|
|
16
|
+
if not os.path.isdir(base_path):
|
|
17
|
+
raise NotADirectoryError(f"Base path is not a directory: {base_path}")
|
|
18
|
+
|
|
19
|
+
yaml_files = []
|
|
20
|
+
|
|
21
|
+
for root, dirs, files in os.walk(base_path):
|
|
22
|
+
for file in files:
|
|
23
|
+
if file.lower().endswith(('.yaml', '.yml')):
|
|
24
|
+
yaml_files.append(os.path.join(root, file))
|
|
25
|
+
|
|
26
|
+
return sorted(yaml_files)
|
|
27
|
+
|
|
28
|
+
# COMMAND ----------
|
|
29
|
+
|
|
30
|
+
dbutils.widgets.text(name="config-path", defaultValue="")
|
|
31
|
+
|
|
32
|
+
config_files: Sequence[str] = find_yaml_files_os_walk("../config")
|
|
33
|
+
dbutils.widgets.dropdown(name="config-paths", choices=config_files, defaultValue=next(iter(config_files), ""))
|
|
34
|
+
|
|
35
|
+
config_path: str | None = dbutils.widgets.get("config-path") or None
|
|
36
|
+
project_path: str = dbutils.widgets.get("config-paths") or None
|
|
37
|
+
|
|
38
|
+
config_path: str = config_path or project_path
|
|
39
|
+
|
|
40
|
+
print(config_path)
|
|
41
|
+
|
|
42
|
+
# COMMAND ----------
|
|
43
|
+
|
|
44
|
+
import sys
|
|
45
|
+
from typing import Sequence
|
|
46
|
+
from importlib.metadata import version
|
|
47
|
+
|
|
48
|
+
sys.path.insert(0, "../src")
|
|
49
|
+
|
|
50
|
+
pip_requirements: Sequence[str] = (
|
|
51
|
+
f"databricks-sdk=={version('databricks-sdk')}",
|
|
52
|
+
f"mlflow=={version('mlflow')}",
|
|
53
|
+
)
|
|
54
|
+
print("\n".join(pip_requirements))
|
|
55
|
+
|
|
56
|
+
# COMMAND ----------
|
|
57
|
+
|
|
58
|
+
# MAGIC %load_ext autoreload
|
|
59
|
+
# MAGIC %autoreload 2
|
|
60
|
+
|
|
61
|
+
# COMMAND ----------
|
|
62
|
+
|
|
63
|
+
from dotenv import find_dotenv, load_dotenv
|
|
64
|
+
|
|
65
|
+
_ = load_dotenv(find_dotenv())
|
|
66
|
+
|
|
67
|
+
# COMMAND ----------
|
|
68
|
+
|
|
69
|
+
from dao_ai.config import AppConfig
|
|
70
|
+
|
|
71
|
+
config: AppConfig = AppConfig.from_file(path=config_path)
|
|
72
|
+
|
|
73
|
+
# COMMAND ----------
|
|
74
|
+
|
|
75
|
+
from dao_ai.config import DatabaseModel
|
|
76
|
+
|
|
77
|
+
databases: dict[str, DatabaseModel] = config.resources.databases
|
|
78
|
+
|
|
79
|
+
for _, database in databases.items():
|
|
80
|
+
database: DatabaseModel
|
|
81
|
+
|
|
82
|
+
print(f"database: {database}")
|
|
83
|
+
database.create()
|
|
84
|
+
|
|
85
|
+
|
|
@@ -6,8 +6,37 @@
|
|
|
6
6
|
|
|
7
7
|
# COMMAND ----------
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
from typing import Sequence
|
|
10
|
+
import os
|
|
11
|
+
|
|
12
|
+
def find_yaml_files_os_walk(base_path: str) -> Sequence[str]:
|
|
13
|
+
if not os.path.exists(base_path):
|
|
14
|
+
raise FileNotFoundError(f"Base path does not exist: {base_path}")
|
|
15
|
+
|
|
16
|
+
if not os.path.isdir(base_path):
|
|
17
|
+
raise NotADirectoryError(f"Base path is not a directory: {base_path}")
|
|
18
|
+
|
|
19
|
+
yaml_files = []
|
|
20
|
+
|
|
21
|
+
for root, dirs, files in os.walk(base_path):
|
|
22
|
+
for file in files:
|
|
23
|
+
if file.lower().endswith(('.yaml', '.yml')):
|
|
24
|
+
yaml_files.append(os.path.join(root, file))
|
|
25
|
+
|
|
26
|
+
return sorted(yaml_files)
|
|
27
|
+
|
|
28
|
+
# COMMAND ----------
|
|
29
|
+
|
|
30
|
+
dbutils.widgets.text(name="config-path", defaultValue="")
|
|
31
|
+
|
|
32
|
+
config_files: Sequence[str] = find_yaml_files_os_walk("../config")
|
|
33
|
+
dbutils.widgets.dropdown(name="config-paths", choices=config_files, defaultValue=next(iter(config_files), ""))
|
|
34
|
+
|
|
35
|
+
config_path: str | None = dbutils.widgets.get("config-path") or None
|
|
36
|
+
project_path: str = dbutils.widgets.get("config-paths") or None
|
|
37
|
+
|
|
38
|
+
config_path: str = config_path or project_path
|
|
39
|
+
|
|
11
40
|
print(config_path)
|
|
12
41
|
|
|
13
42
|
# COMMAND ----------
|
|
@@ -6,8 +6,37 @@
|
|
|
6
6
|
|
|
7
7
|
# COMMAND ----------
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
from typing import Sequence
|
|
10
|
+
import os
|
|
11
|
+
|
|
12
|
+
def find_yaml_files_os_walk(base_path: str) -> Sequence[str]:
|
|
13
|
+
if not os.path.exists(base_path):
|
|
14
|
+
raise FileNotFoundError(f"Base path does not exist: {base_path}")
|
|
15
|
+
|
|
16
|
+
if not os.path.isdir(base_path):
|
|
17
|
+
raise NotADirectoryError(f"Base path is not a directory: {base_path}")
|
|
18
|
+
|
|
19
|
+
yaml_files = []
|
|
20
|
+
|
|
21
|
+
for root, dirs, files in os.walk(base_path):
|
|
22
|
+
for file in files:
|
|
23
|
+
if file.lower().endswith(('.yaml', '.yml')):
|
|
24
|
+
yaml_files.append(os.path.join(root, file))
|
|
25
|
+
|
|
26
|
+
return sorted(yaml_files)
|
|
27
|
+
|
|
28
|
+
# COMMAND ----------
|
|
29
|
+
|
|
30
|
+
dbutils.widgets.text(name="config-path", defaultValue="")
|
|
31
|
+
|
|
32
|
+
config_files: Sequence[str] = find_yaml_files_os_walk("../config")
|
|
33
|
+
dbutils.widgets.dropdown(name="config-paths", choices=config_files, defaultValue=next(iter(config_files), ""))
|
|
34
|
+
|
|
35
|
+
config_path: str | None = dbutils.widgets.get("config-path") or None
|
|
36
|
+
project_path: str = dbutils.widgets.get("config-paths") or None
|
|
37
|
+
|
|
38
|
+
config_path: str = config_path or project_path
|
|
39
|
+
|
|
11
40
|
print(config_path)
|
|
12
41
|
|
|
13
42
|
# COMMAND ----------
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# Databricks notebook source
|
|
2
|
-
# DBTITLE 1,Install Required Python Packages and Restart Kernel
|
|
3
2
|
# MAGIC %pip install --quiet --upgrade -r ../requirements.txt
|
|
4
3
|
# MAGIC %pip uninstall --quiet -y databricks-connect pyspark pyspark-connect
|
|
5
4
|
# MAGIC %pip install --quiet databricks-connect
|
|
@@ -7,11 +6,38 @@
|
|
|
7
6
|
|
|
8
7
|
# COMMAND ----------
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
from typing import Sequence
|
|
10
|
+
import os
|
|
11
|
+
|
|
12
|
+
def find_yaml_files_os_walk(base_path: str) -> Sequence[str]:
|
|
13
|
+
if not os.path.exists(base_path):
|
|
14
|
+
raise FileNotFoundError(f"Base path does not exist: {base_path}")
|
|
15
|
+
|
|
16
|
+
if not os.path.isdir(base_path):
|
|
17
|
+
raise NotADirectoryError(f"Base path is not a directory: {base_path}")
|
|
18
|
+
|
|
19
|
+
yaml_files = []
|
|
20
|
+
|
|
21
|
+
for root, dirs, files in os.walk(base_path):
|
|
22
|
+
for file in files:
|
|
23
|
+
if file.lower().endswith(('.yaml', '.yml')):
|
|
24
|
+
yaml_files.append(os.path.join(root, file))
|
|
25
|
+
|
|
26
|
+
return sorted(yaml_files)
|
|
27
|
+
|
|
28
|
+
# COMMAND ----------
|
|
29
|
+
|
|
30
|
+
dbutils.widgets.text(name="config-path", defaultValue="")
|
|
14
31
|
|
|
32
|
+
config_files: Sequence[str] = find_yaml_files_os_walk("../config")
|
|
33
|
+
dbutils.widgets.dropdown(name="config-paths", choices=config_files, defaultValue=next(iter(config_files), ""))
|
|
34
|
+
|
|
35
|
+
config_path: str | None = dbutils.widgets.get("config-path") or None
|
|
36
|
+
project_path: str = dbutils.widgets.get("config-paths") or None
|
|
37
|
+
|
|
38
|
+
config_path: str = config_path or project_path
|
|
39
|
+
|
|
40
|
+
print(config_path)
|
|
15
41
|
# COMMAND ----------
|
|
16
42
|
|
|
17
43
|
from dotenv import find_dotenv, load_dotenv
|
|
@@ -1,11 +1,42 @@
|
|
|
1
1
|
# Databricks notebook source
|
|
2
|
-
# MAGIC %pip install --quiet -r ../requirements.txt
|
|
2
|
+
# MAGIC %pip install --quiet --upgrade -r ../requirements.txt
|
|
3
|
+
# MAGIC %pip uninstall --quiet -y databricks-connect pyspark pyspark-connect
|
|
4
|
+
# MAGIC %pip install --quiet databricks-connect
|
|
3
5
|
# MAGIC %restart_python
|
|
4
6
|
|
|
5
7
|
# COMMAND ----------
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
from typing import Sequence
|
|
10
|
+
import os
|
|
11
|
+
|
|
12
|
+
def find_yaml_files_os_walk(base_path: str) -> Sequence[str]:
|
|
13
|
+
if not os.path.exists(base_path):
|
|
14
|
+
raise FileNotFoundError(f"Base path does not exist: {base_path}")
|
|
15
|
+
|
|
16
|
+
if not os.path.isdir(base_path):
|
|
17
|
+
raise NotADirectoryError(f"Base path is not a directory: {base_path}")
|
|
18
|
+
|
|
19
|
+
yaml_files = []
|
|
20
|
+
|
|
21
|
+
for root, dirs, files in os.walk(base_path):
|
|
22
|
+
for file in files:
|
|
23
|
+
if file.lower().endswith(('.yaml', '.yml')):
|
|
24
|
+
yaml_files.append(os.path.join(root, file))
|
|
25
|
+
|
|
26
|
+
return sorted(yaml_files)
|
|
27
|
+
|
|
28
|
+
# COMMAND ----------
|
|
29
|
+
|
|
30
|
+
dbutils.widgets.text(name="config-path", defaultValue="")
|
|
31
|
+
|
|
32
|
+
config_files: Sequence[str] = find_yaml_files_os_walk("../config")
|
|
33
|
+
dbutils.widgets.dropdown(name="config-paths", choices=config_files, defaultValue=next(iter(config_files), ""))
|
|
34
|
+
|
|
35
|
+
config_path: str | None = dbutils.widgets.get("config-path") or None
|
|
36
|
+
project_path: str = dbutils.widgets.get("config-paths") or None
|
|
37
|
+
|
|
38
|
+
config_path: str = config_path or project_path
|
|
39
|
+
|
|
9
40
|
print(config_path)
|
|
10
41
|
|
|
11
42
|
# COMMAND ----------
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "dao-ai"
|
|
7
|
-
version = "0.0.
|
|
7
|
+
version = "0.0.22"
|
|
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" }
|
|
@@ -42,9 +42,9 @@ classifiers = [
|
|
|
42
42
|
"Topic :: System :: Distributed Computing",
|
|
43
43
|
]
|
|
44
44
|
dependencies = [
|
|
45
|
-
"databricks-agents>=1.6.
|
|
45
|
+
"databricks-agents>=1.6.1",
|
|
46
46
|
"databricks-langchain>=0.8.0",
|
|
47
|
-
"databricks-sdk[openai]>=0.
|
|
47
|
+
"databricks-sdk[openai]>=0.67.0",
|
|
48
48
|
"duckduckgo-search>=8.0.2",
|
|
49
49
|
"grandalf>=0.8",
|
|
50
50
|
"langchain>=0.3.27",
|
|
@@ -22,10 +22,10 @@ contourpy==1.3.2
|
|
|
22
22
|
cryptography==45.0.7
|
|
23
23
|
cycler==0.12.1
|
|
24
24
|
cyclopts==3.24.0
|
|
25
|
-
databricks-agents==1.6.
|
|
25
|
+
databricks-agents==1.6.1
|
|
26
26
|
databricks-ai-bridge==0.8.0
|
|
27
27
|
databricks-langchain==0.8.0
|
|
28
|
-
databricks-sdk==0.
|
|
28
|
+
databricks-sdk==0.67.0
|
|
29
29
|
dataclasses-json==0.6.7
|
|
30
30
|
deprecation==2.1.0
|
|
31
31
|
distlib==0.3.9
|
|
@@ -663,6 +663,7 @@
|
|
|
663
663
|
"type": "object"
|
|
664
664
|
},
|
|
665
665
|
"DatabaseModel": {
|
|
666
|
+
"additionalProperties": false,
|
|
666
667
|
"properties": {
|
|
667
668
|
"on_behalf_of_user": {
|
|
668
669
|
"anyOf": [
|
|
@@ -680,6 +681,18 @@
|
|
|
680
681
|
"title": "Name",
|
|
681
682
|
"type": "string"
|
|
682
683
|
},
|
|
684
|
+
"instance_name": {
|
|
685
|
+
"anyOf": [
|
|
686
|
+
{
|
|
687
|
+
"type": "string"
|
|
688
|
+
},
|
|
689
|
+
{
|
|
690
|
+
"type": "null"
|
|
691
|
+
}
|
|
692
|
+
],
|
|
693
|
+
"default": null,
|
|
694
|
+
"title": "Instance Name"
|
|
695
|
+
},
|
|
683
696
|
"description": {
|
|
684
697
|
"anyOf": [
|
|
685
698
|
{
|
|
@@ -722,6 +735,7 @@
|
|
|
722
735
|
"type": "null"
|
|
723
736
|
}
|
|
724
737
|
],
|
|
738
|
+
"default": null,
|
|
725
739
|
"title": "Host"
|
|
726
740
|
},
|
|
727
741
|
"database": {
|
|
@@ -823,9 +837,37 @@
|
|
|
823
837
|
"type": "null"
|
|
824
838
|
}
|
|
825
839
|
],
|
|
826
|
-
"default":
|
|
840
|
+
"default": 10,
|
|
827
841
|
"title": "Timeout Seconds"
|
|
828
842
|
},
|
|
843
|
+
"capacity": {
|
|
844
|
+
"anyOf": [
|
|
845
|
+
{
|
|
846
|
+
"enum": [
|
|
847
|
+
"CU_1",
|
|
848
|
+
"CU_2"
|
|
849
|
+
],
|
|
850
|
+
"type": "string"
|
|
851
|
+
},
|
|
852
|
+
{
|
|
853
|
+
"type": "null"
|
|
854
|
+
}
|
|
855
|
+
],
|
|
856
|
+
"default": "CU_2",
|
|
857
|
+
"title": "Capacity"
|
|
858
|
+
},
|
|
859
|
+
"node_count": {
|
|
860
|
+
"anyOf": [
|
|
861
|
+
{
|
|
862
|
+
"type": "integer"
|
|
863
|
+
},
|
|
864
|
+
{
|
|
865
|
+
"type": "null"
|
|
866
|
+
}
|
|
867
|
+
],
|
|
868
|
+
"default": null,
|
|
869
|
+
"title": "Node Count"
|
|
870
|
+
},
|
|
829
871
|
"user": {
|
|
830
872
|
"anyOf": [
|
|
831
873
|
{
|
|
@@ -993,8 +1035,7 @@
|
|
|
993
1035
|
}
|
|
994
1036
|
},
|
|
995
1037
|
"required": [
|
|
996
|
-
"name"
|
|
997
|
-
"host"
|
|
1038
|
+
"name"
|
|
998
1039
|
],
|
|
999
1040
|
"title": "DatabaseModel",
|
|
1000
1041
|
"type": "object"
|
|
@@ -2332,6 +2373,13 @@
|
|
|
2332
2373
|
"model": {
|
|
2333
2374
|
"$ref": "#/$defs/LLMModel"
|
|
2334
2375
|
},
|
|
2376
|
+
"tools": {
|
|
2377
|
+
"items": {
|
|
2378
|
+
"$ref": "#/$defs/ToolModel"
|
|
2379
|
+
},
|
|
2380
|
+
"title": "Tools",
|
|
2381
|
+
"type": "array"
|
|
2382
|
+
},
|
|
2335
2383
|
"prompt": {
|
|
2336
2384
|
"anyOf": [
|
|
2337
2385
|
{
|
|
@@ -2788,6 +2836,18 @@
|
|
|
2788
2836
|
"VolumeModel": {
|
|
2789
2837
|
"additionalProperties": false,
|
|
2790
2838
|
"properties": {
|
|
2839
|
+
"on_behalf_of_user": {
|
|
2840
|
+
"anyOf": [
|
|
2841
|
+
{
|
|
2842
|
+
"type": "boolean"
|
|
2843
|
+
},
|
|
2844
|
+
{
|
|
2845
|
+
"type": "null"
|
|
2846
|
+
}
|
|
2847
|
+
],
|
|
2848
|
+
"default": false,
|
|
2849
|
+
"title": "On Behalf Of User"
|
|
2850
|
+
},
|
|
2791
2851
|
"schema": {
|
|
2792
2852
|
"anyOf": [
|
|
2793
2853
|
{
|