dao-ai 0.0.15__tar.gz → 0.0.34__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.15 → dao_ai-0.0.34}/.gitignore +3 -0
- dao_ai-0.0.34/.python-version +1 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/Makefile +1 -1
- {dao_ai-0.0.15 → dao_ai-0.0.34}/PKG-INFO +49 -21
- {dao_ai-0.0.15 → dao_ai-0.0.34}/README.md +24 -2
- dao_ai-0.0.34/config/examples/deep_research.yaml +413 -0
- dao_ai-0.0.34/config/examples/executive_assistant.yaml +235 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/config/examples/genie.yaml +44 -34
- dao_ai-0.0.34/config/examples/genie_and_genie_mcp.yaml +185 -0
- dao_ai-0.0.34/config/examples/genie_with_conversion_id.yaml +151 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/config/examples/mcp.yaml +60 -13
- dao_ai-0.0.34/config/examples/mcp_with_uc_connection.yaml +157 -0
- dao_ai-0.0.34/config/examples/prompt_optimization.yaml +550 -0
- dao_ai-0.0.34/config/examples/prompt_registry.yaml +969 -0
- dao_ai-0.0.34/config/examples/slack.yaml +69 -0
- dao_ai-0.0.34/config/examples/vector_search_with_reranking.yaml +293 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/config/hardware_store/supervisor.yaml +24 -155
- {dao_ai-0.0.15 → dao_ai-0.0.34}/config/hardware_store/supervisor_postgres.yaml +21 -20
- {dao_ai-0.0.15 → dao_ai-0.0.34}/config/quick_serve_restaurant/quick-serve-restaurant.yaml +78 -55
- dao_ai-0.0.15/databricks.yaml → dao_ai-0.0.34/databricks.yaml.template +20 -11
- dao_ai-0.0.34/environment.yaml +82 -0
- dao_ai-0.0.34/examples/deep_research/examples.yaml +38 -0
- dao_ai-0.0.34/examples/executive_assistant/examples.yaml +14 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/examples/hardware_store/examples.yaml +31 -11
- {dao_ai-0.0.15 → dao_ai-0.0.34}/notebooks/01_ingest_and_transform.py +33 -2
- {dao_ai-0.0.15 → dao_ai-0.0.34}/notebooks/02_provision_vector_search.py +31 -3
- dao_ai-0.0.34/notebooks/03_provision_lakebase.py +85 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/notebooks/04_unity_catalog_tools.py +31 -2
- dao_ai-0.0.15/notebooks/05_agent_as_code_driver.py → dao_ai-0.0.34/notebooks/05_deploy_agent.py +44 -4
- dao_ai-0.0.15/notebooks/03_generate_evaluation_data.py → dao_ai-0.0.34/notebooks/06_generate_evaluation_data.py +31 -2
- dao_ai-0.0.15/notebooks/06_run_evaluation.py → dao_ai-0.0.34/notebooks/07_run_evaluation.py +46 -7
- {dao_ai-0.0.15 → dao_ai-0.0.34}/notebooks/08_run_examples.py +39 -12
- {dao_ai-0.0.15 → dao_ai-0.0.34}/notebooks/09_evaluate_inferences.py +44 -5
- dao_ai-0.0.34/notebooks/10_optimize_prompts.py +229 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/notebooks/99_scratchpad.py +1 -1
- dao_ai-0.0.34/notebooks/INVESTech.py +90 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/pyproject.toml +26 -20
- {dao_ai-0.0.15 → dao_ai-0.0.34}/requirements.txt +70 -37
- {dao_ai-0.0.15 → dao_ai-0.0.34}/schemas/bundle_config_schema.json +2130 -290
- {dao_ai-0.0.15 → dao_ai-0.0.34}/schemas/model_config_schema.json +838 -46
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/agent_as_code.py +5 -2
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/cli.py +77 -18
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/config.py +1005 -93
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/graph.py +39 -9
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/guardrails.py +2 -2
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/memory/core.py +12 -8
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/memory/postgres.py +104 -34
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/messages.py +7 -0
- dao_ai-0.0.34/src/dao_ai/models.py +911 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/nodes.py +36 -23
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/prompts.py +14 -6
- dao_ai-0.0.34/src/dao_ai/providers/databricks.py +1630 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/state.py +3 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/tools/__init__.py +2 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/tools/agent.py +3 -3
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/tools/core.py +1 -1
- dao_ai-0.0.34/src/dao_ai/tools/genie.py +160 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/tools/human_in_the_loop.py +8 -4
- dao_ai-0.0.34/src/dao_ai/tools/mcp.py +195 -0
- dao_ai-0.0.34/src/dao_ai/tools/slack.py +136 -0
- dao_ai-0.0.34/src/dao_ai/tools/unity_catalog.py +394 -0
- dao_ai-0.0.34/src/dao_ai/tools/vector_search.py +309 -0
- dao_ai-0.0.34/src/dao_ai/utils.py +231 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/conftest.py +2 -4
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/dao_ai/test_chat_history.py +14 -14
- dao_ai-0.0.34/tests/dao_ai/test_databricks.py +1402 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/dao_ai/test_function_parsing.py +2 -1
- dao_ai-0.0.34/tests/dao_ai/test_genie.py +982 -0
- dao_ai-0.0.34/tests/dao_ai/test_genie_conversation_ids_in_outputs.py +327 -0
- dao_ai-0.0.34/tests/dao_ai/test_genie_databricks_integration.py +276 -0
- dao_ai-0.0.34/tests/dao_ai/test_inference.py +309 -0
- dao_ai-0.0.34/tests/dao_ai/test_inference_integration.py +408 -0
- dao_ai-0.0.34/tests/dao_ai/test_mcp.py +237 -0
- dao_ai-0.0.34/tests/dao_ai/test_mcp_function_model.py +357 -0
- dao_ai-0.0.34/tests/dao_ai/test_postgres_integration.py +267 -0
- dao_ai-0.0.34/tests/dao_ai/test_prompt_optimizations.py +1403 -0
- dao_ai-0.0.34/tests/dao_ai/test_prompts.py +427 -0
- dao_ai-0.0.34/tests/dao_ai/test_reranking.py +297 -0
- dao_ai-0.0.34/tests/dao_ai/test_reranking_integration.py +468 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/dao_ai/test_summarization_inference.py +82 -52
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/dao_ai/test_tools.py +20 -7
- dao_ai-0.0.34/tests/dao_ai/test_unity_catalog.py +246 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/dao_ai/test_utils.py +20 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/hardware_store/test_graph.py +2 -0
- dao_ai-0.0.15/.python-version +0 -1
- dao_ai-0.0.15/environment.yaml +0 -52
- dao_ai-0.0.15/src/dao_ai/models.py +0 -351
- dao_ai-0.0.15/src/dao_ai/providers/databricks.py +0 -736
- dao_ai-0.0.15/src/dao_ai/tools/genie.py +0 -75
- dao_ai-0.0.15/src/dao_ai/tools/mcp.py +0 -118
- dao_ai-0.0.15/src/dao_ai/tools/unity_catalog.py +0 -50
- dao_ai-0.0.15/src/dao_ai/tools/vector_search.py +0 -72
- dao_ai-0.0.15/src/dao_ai/utils.py +0 -113
- dao_ai-0.0.15/tests/dao_ai/test_databricks.py +0 -17
- dao_ai-0.0.15/tests/dao_ai/test_inference.py +0 -51
- dao_ai-0.0.15/tests/dao_ai/test_mcp.py +0 -128
- {dao_ai-0.0.15 → dao_ai-0.0.34}/CHANGELOG.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/CONTRIBUTING.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/LICENSE +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/Makefile +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/REFACTORING_SUMMARY.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/base-environment-serverless.yaml +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/demo_docs/BRAND_REP_DEMO_SUMMARY.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/demo_docs/demo_scripts/brand_rep_product_education_demo.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/demo_docs/demo_scripts/store_associate_ai_assistant_demo.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/demo_docs/demo_scripts/store_manager_alert_response_demo.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/development_workflows.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/.gitkeep +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/Makefile +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/agent_implementation.mmd +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/agent_tools_architecture.mmd +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/agents-and-tools/agent-troubleshooting.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-best-practices.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-development-patterns.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-performance.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-quickstart.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/agents-and-tools/ai-agents.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/agents-and-tools/overview.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/agents-and-tools/references/agent-reference.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/agents-and-tools/references/tools-reference.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/applications/streamlit-app.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/architecture/overview.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/architecture.mmd +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/architecture.png +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/customer_preparation_guide.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/databricks_integration.mmd +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/deployment/production.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/development/contributing.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/employee_tools_guide.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/getting-started/installation.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/getting-started/mkdocs-quickstart.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/getting-started/quick-start.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/index.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/mkdocs.yml +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/scenario_1_architecture.mmd +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/scenario_1_flow.mmd +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/setup-docs.sh +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/task_assignment_workflow_guide.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/docs/tools/overview.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/examples/customer_preparation_workflow.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/examples/task_assignment_workflow.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/load-env.sh +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/CSS_REFACTORING_SUMMARY.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/DEMO_CONTROLS_RESTORED.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/DEMO_IMPLEMENTATION_SUMMARY.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/DEMO_QUICK_START.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/Dockerfile +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/HOMEPAGE_README.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/Makefile +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/README.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/app.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/app.yaml +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/backup_homepage.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/chat.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/enhanced_charts.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/enhanced_navigation.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/associate_homepage.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/dashboard_tab.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/my_tasks_tab.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/performance_tab.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/products_tab.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/schedule_tab.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/chat_integration.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/kpi_summary.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/notifications.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/homepage.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/alerts_tab.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/analytics_tab.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/dashboard_tab.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/demo_alerts.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/inventory_tab.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/manager_homepage.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/operations_tab.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/team_tab.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/ai_insights_tab.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/executive_dashboard_tab.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/geographical_analysis_tab.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/performance_metrics_tab.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/strategic_insights_tab.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/vp_homepage.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/metrics.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/navigation.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/oldhomepage.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/components/styles.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/config.yaml +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/demo_docs/BRAND_REP_DEMO_SUMMARY.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/demo_docs/comprehensive_demo_script.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/brand_rep_product_education_demo.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/store_associate_ai_assistant_demo.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/store_manager_alert_response_demo.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/dev/README.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/dev/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/dev/components/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/dev/components/dashboard_card.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/dev/demo_alerts.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/dev/examples/sample_dashboard.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/pages/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/pages/component_showcase.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/pages/dev_playground.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/pages/playground.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/pages_wip/daily_operations.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/pages_wip/inventory.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_schedule.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_tasks.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/pages_wip/orders.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/pages_wip/products_promotions.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/pages_wip/staff.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/pages_wip/team_insights.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/pyproject.toml +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/requirements.txt +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/static/css/style.css +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/styles/README.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/styles/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/styles/base.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/styles/components.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/styles/dashboard.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/styles/homepage.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/styles/theme.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/test_vip_notification.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/tests/test_calculations.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/utils/config.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/utils/database.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/utils/model_serving.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app/utils/store_context.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/Makefile +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/README.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/app.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_components.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_components_enhanced.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_styles.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin_styles.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/TAILADMIN_README.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/homepage_tailadmin.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/tailadmin_demo.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/tailadmin_implementation_guide.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/test_vp_dashboard.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/vp_dashboard_enhanced.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/vp_dashboard_tailadmin.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/components_demo.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/homepage.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/implementation_guide.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/vp_dashboard_clean.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/vp_dashboard_enhanced.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pyproject.toml +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/tests/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/streamlit_store_app_tailadmin/tests/test_imports.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/tests/.gitkeep +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/tests/README.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/tests/images/doritos_upc.png +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/tests/images/lays_upc.png +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/tests/manager_demo_script.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/tests/notebook_vector_search_test.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/apps/dais2025/store-app/tests/test_vector_search_integration.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/config/dais2025/model_config_dais.yaml +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/config/examples/genie_and_vector_search.yaml +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/config/examples/human_in_the_loop.yaml +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/config/examples/jira.yaml +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/config/examples/minimal.yaml +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/config/examples/reservations.yaml +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/config/hardware_store/swarm.yaml +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/config/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/appointments.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/appointments_data.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/brand_rep_demo_data.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/brand_rep_demo_queries.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/brand_rep_demo_tables.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/brand_rep_demo_validation.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/customers.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/customers_data.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/dim_stores.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/dim_stores_data.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/employee_performance.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/employee_performance_data.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/employee_tasks.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/employee_tasks_data.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/inventory.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/inventory_data.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/managers.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/managers_data.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/product_data.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/products.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/dais2025/task_assignments.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/hardware_store/inventory.snappy.parquet +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/hardware_store/inventory.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/hardware_store/products.snappy.parquet +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/hardware_store/products.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/quick_serve_restaurant/fulfil_item_orders.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/quick_serve_restaurant/items_description.csv +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/quick_serve_restaurant/items_description.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/quick_serve_restaurant/items_raw.csv +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/quick_serve_restaurant/items_raw.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/quick_serve_restaurant/orders_raw.csv +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/data/quick_serve_restaurant/orders_raw.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/docs/genie.png +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/docs/hardware_store/README.md +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/docs/hardware_store/retail_supervisor.png +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/docs/hardware_store/retail_swarm.png +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/docs/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/docs/quick_serve_restaurant/quick-serve-restaurant.png +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/examples/dais2025/examples.yaml +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/examples/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/examples/quick_serve_restaurant/examples.yaml +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/dais2025/extract_store_numbers.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/dais2025/find_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/dais2025/find_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/dais2025/find_product_by_sku.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/dais2025/find_product_by_upc.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/dais2025/find_store_by_number.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/dais2025/find_store_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/dais2025/find_store_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/hardware_store/find_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/hardware_store/find_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/hardware_store/find_product_by_sku.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/hardware_store/find_product_by_upc.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/hardware_store/find_store_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/hardware_store/find_store_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/quick_serve_restaurant/insert_coffee_order.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/quick_serve_restaurant/lookup_items_by_descriptions.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/quick_serve_restaurant/match_historical_item_order_by_date.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/functions/quick_serve_restaurant/match_item_by_description_and_price.sql +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dais2025/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dais2025/models.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dais2025/tools/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dais2025/tools/customer.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dais2025/tools/employee.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dais2025/tools/executive.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dais2025/tools/genie.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dais2025/tools/inventory.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dais2025/tools/models.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dais2025/tools/store.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/catalog.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/chat_models.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/hooks/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/hooks/core.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/memory/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/memory/base.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/providers/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/providers/base.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/tools/python.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/tools/time.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/types.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/dao_ai/vector_search.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/hardware_store/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/hardware_store/hooks.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/hardware_store/tools.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/quick_serve_restaurant/__init__.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/src/quick_serve_restaurant/tools.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/config/test_model_config.yaml +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/dao_ai/test_catalog.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/dao_ai/test_config.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/dao_ai/test_hooks.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/dao_ai/test_messages.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/dao_ai/test_models.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/dao_ai/test_state.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/dao_ai/test_types.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/dao_ai/test_vector_search.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/dao_ai/weather_server_mcp.py +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/hardware_store/.gitkeep +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/images/doritos_upc.png +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/images/lays_upc.png +0 -0
- {dao_ai-0.0.15 → dao_ai-0.0.34}/tests/quick_serve_restaurant/.gitkeep +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.11
|
|
@@ -64,7 +64,7 @@ schema: depends
|
|
|
64
64
|
@$(PYTHON) -c "from dao_ai.config import AppConfig; import json; print(json.dumps(AppConfig.model_json_schema(), indent=2))"
|
|
65
65
|
|
|
66
66
|
test:
|
|
67
|
-
$(PYTEST) $(TEST_DIR)
|
|
67
|
+
$(PYTEST) -ra --tb=short $(TEST_DIR)
|
|
68
68
|
|
|
69
69
|
help:
|
|
70
70
|
$(info TOP_DIR: $(TOP_DIR))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dao-ai
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.34
|
|
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,41 +18,47 @@ 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-Dist: databricks-agents>=1.2
|
|
28
|
-
Requires-Dist: databricks-langchain>=0.
|
|
29
|
-
Requires-Dist: databricks-
|
|
30
|
-
Requires-Dist:
|
|
27
|
+
Requires-Python: >=3.11
|
|
28
|
+
Requires-Dist: databricks-agents>=1.8.2
|
|
29
|
+
Requires-Dist: databricks-langchain>=0.11.0
|
|
30
|
+
Requires-Dist: databricks-mcp>=0.3.0
|
|
31
|
+
Requires-Dist: databricks-sdk[openai]>=0.67.0
|
|
32
|
+
Requires-Dist: ddgs>=9.9.3
|
|
33
|
+
Requires-Dist: flashrank>=0.2.8
|
|
34
|
+
Requires-Dist: gepa>=0.0.17
|
|
31
35
|
Requires-Dist: grandalf>=0.8
|
|
32
|
-
Requires-Dist: langchain-mcp-adapters>=0.1
|
|
33
|
-
Requires-Dist: langchain>=0.
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
Requires-Dist: langgraph-
|
|
36
|
-
Requires-Dist: langgraph-
|
|
37
|
-
Requires-Dist: langgraph>=0.
|
|
38
|
-
Requires-Dist:
|
|
36
|
+
Requires-Dist: langchain-mcp-adapters>=0.2.1
|
|
37
|
+
Requires-Dist: langchain-tavily>=0.2.11
|
|
38
|
+
Requires-Dist: langchain>=1.1.3
|
|
39
|
+
Requires-Dist: langgraph-checkpoint-postgres>=3.0.2
|
|
40
|
+
Requires-Dist: langgraph-supervisor>=0.0.31
|
|
41
|
+
Requires-Dist: langgraph-swarm>=0.1.0
|
|
42
|
+
Requires-Dist: langgraph>=1.0.4
|
|
43
|
+
Requires-Dist: langmem>=0.0.30
|
|
39
44
|
Requires-Dist: loguru>=0.7.3
|
|
40
|
-
Requires-Dist: mcp>=1.
|
|
41
|
-
Requires-Dist: mlflow>=3.
|
|
45
|
+
Requires-Dist: mcp>=1.23.3
|
|
46
|
+
Requires-Dist: mlflow>=3.7.0
|
|
42
47
|
Requires-Dist: nest-asyncio>=1.6.0
|
|
43
48
|
Requires-Dist: openevals>=0.0.19
|
|
44
49
|
Requires-Dist: openpyxl>=3.1.5
|
|
45
|
-
Requires-Dist: psycopg[binary,pool]>=3.2
|
|
46
|
-
Requires-Dist: pydantic>=2.
|
|
50
|
+
Requires-Dist: psycopg[binary,pool]>=3.3.2
|
|
51
|
+
Requires-Dist: pydantic>=2.12.0
|
|
47
52
|
Requires-Dist: python-dotenv>=1.1.0
|
|
48
53
|
Requires-Dist: pyyaml>=6.0.2
|
|
49
54
|
Requires-Dist: rich>=14.0.0
|
|
50
55
|
Requires-Dist: scipy<=1.15
|
|
51
56
|
Requires-Dist: sqlparse>=0.5.3
|
|
52
|
-
Requires-Dist:
|
|
57
|
+
Requires-Dist: tomli>=2.3.0
|
|
58
|
+
Requires-Dist: unitycatalog-ai[databricks]>=0.3.2
|
|
53
59
|
Provides-Extra: databricks
|
|
54
60
|
Requires-Dist: databricks-connect>=15.0.0; extra == 'databricks'
|
|
55
|
-
Requires-Dist: databricks-vectorsearch>=0.
|
|
61
|
+
Requires-Dist: databricks-vectorsearch>=0.63; extra == 'databricks'
|
|
56
62
|
Requires-Dist: pyspark>=3.5.0; extra == 'databricks'
|
|
57
63
|
Provides-Extra: dev
|
|
58
64
|
Requires-Dist: mypy>=1.0.0; extra == 'dev'
|
|
@@ -652,7 +658,7 @@ test:
|
|
|
652
658
|
#### 4. MCP (Model Context Protocol) Tools (`type: mcp`)
|
|
653
659
|
MCP tools allow interaction with external services that implement the Model Context Protocol, supporting both HTTP and stdio transports.
|
|
654
660
|
|
|
655
|
-
**Configuration Example:**
|
|
661
|
+
**Configuration Example (Direct URL):**
|
|
656
662
|
```yaml
|
|
657
663
|
tools:
|
|
658
664
|
weather_tool_mcp:
|
|
@@ -663,8 +669,30 @@ test:
|
|
|
663
669
|
transport: streamable_http
|
|
664
670
|
url: http://localhost:8000/mcp
|
|
665
671
|
```
|
|
672
|
+
|
|
673
|
+
**Configuration Example (Unity Catalog Connection):**
|
|
674
|
+
MCP tools can also use Unity Catalog Connections for secure, governed access with on-behalf-of-user capabilities. The connection provides OAuth authentication, while the URL specifies the endpoint:
|
|
675
|
+
```yaml
|
|
676
|
+
resources:
|
|
677
|
+
connections:
|
|
678
|
+
github_connection:
|
|
679
|
+
name: github_u2m_connection # UC Connection name
|
|
680
|
+
|
|
681
|
+
tools:
|
|
682
|
+
github_mcp:
|
|
683
|
+
name: github_mcp
|
|
684
|
+
function:
|
|
685
|
+
type: mcp
|
|
686
|
+
name: github_mcp
|
|
687
|
+
transport: streamable_http
|
|
688
|
+
url: https://workspace.databricks.com/api/2.0/mcp/external/github_u2m_connection # MCP endpoint URL
|
|
689
|
+
connection: *github_connection # UC Connection provides OAuth authentication
|
|
690
|
+
```
|
|
691
|
+
|
|
666
692
|
**Development:**
|
|
667
|
-
Ensure the MCP service is running and accessible at the specified URL or command.
|
|
693
|
+
- **For direct URL connections**: Ensure the MCP service is running and accessible at the specified URL or command. Provide OAuth credentials (client_id, client_secret) or PAT for authentication.
|
|
694
|
+
- **For UC Connection**: URL is required to specify the endpoint. The connection provides OAuth authentication via the workspace client. Ensure the connection is configured in Unity Catalog with appropriate MCP scopes (`mcp.genie`, `mcp.functions`, `mcp.vectorsearch`, `mcp.external`).
|
|
695
|
+
- The framework will handle the MCP protocol communication automatically, including session management and authentication.
|
|
668
696
|
|
|
669
697
|
### Configuring New Agents
|
|
670
698
|
|
|
@@ -581,7 +581,7 @@ test:
|
|
|
581
581
|
#### 4. MCP (Model Context Protocol) Tools (`type: mcp`)
|
|
582
582
|
MCP tools allow interaction with external services that implement the Model Context Protocol, supporting both HTTP and stdio transports.
|
|
583
583
|
|
|
584
|
-
**Configuration Example:**
|
|
584
|
+
**Configuration Example (Direct URL):**
|
|
585
585
|
```yaml
|
|
586
586
|
tools:
|
|
587
587
|
weather_tool_mcp:
|
|
@@ -592,8 +592,30 @@ test:
|
|
|
592
592
|
transport: streamable_http
|
|
593
593
|
url: http://localhost:8000/mcp
|
|
594
594
|
```
|
|
595
|
+
|
|
596
|
+
**Configuration Example (Unity Catalog Connection):**
|
|
597
|
+
MCP tools can also use Unity Catalog Connections for secure, governed access with on-behalf-of-user capabilities. The connection provides OAuth authentication, while the URL specifies the endpoint:
|
|
598
|
+
```yaml
|
|
599
|
+
resources:
|
|
600
|
+
connections:
|
|
601
|
+
github_connection:
|
|
602
|
+
name: github_u2m_connection # UC Connection name
|
|
603
|
+
|
|
604
|
+
tools:
|
|
605
|
+
github_mcp:
|
|
606
|
+
name: github_mcp
|
|
607
|
+
function:
|
|
608
|
+
type: mcp
|
|
609
|
+
name: github_mcp
|
|
610
|
+
transport: streamable_http
|
|
611
|
+
url: https://workspace.databricks.com/api/2.0/mcp/external/github_u2m_connection # MCP endpoint URL
|
|
612
|
+
connection: *github_connection # UC Connection provides OAuth authentication
|
|
613
|
+
```
|
|
614
|
+
|
|
595
615
|
**Development:**
|
|
596
|
-
Ensure the MCP service is running and accessible at the specified URL or command.
|
|
616
|
+
- **For direct URL connections**: Ensure the MCP service is running and accessible at the specified URL or command. Provide OAuth credentials (client_id, client_secret) or PAT for authentication.
|
|
617
|
+
- **For UC Connection**: URL is required to specify the endpoint. The connection provides OAuth authentication via the workspace client. Ensure the connection is configured in Unity Catalog with appropriate MCP scopes (`mcp.genie`, `mcp.functions`, `mcp.vectorsearch`, `mcp.external`).
|
|
618
|
+
- The framework will handle the MCP protocol communication automatically, including session management and authentication.
|
|
597
619
|
|
|
598
620
|
### Configuring New Agents
|
|
599
621
|
|
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
# yaml-language-server: $schema=../../schemas/model_config_schema.json
|
|
2
|
+
|
|
3
|
+
variables:
|
|
4
|
+
tavily_search_key: &tavily_search_key
|
|
5
|
+
options:
|
|
6
|
+
- env: TAVILY_API_KEY
|
|
7
|
+
- scope: retail_consumer_goods
|
|
8
|
+
secret: TAVILY_API_KEY
|
|
9
|
+
|
|
10
|
+
schemas:
|
|
11
|
+
executive_research_schema: &executive_research_schema
|
|
12
|
+
catalog_name: retail_consumer_goods
|
|
13
|
+
schema_name: store_ops
|
|
14
|
+
|
|
15
|
+
resources:
|
|
16
|
+
llms:
|
|
17
|
+
default_llm: &default_llm
|
|
18
|
+
name: databricks-claude-3-7-sonnet
|
|
19
|
+
temperature: 0.1
|
|
20
|
+
max_tokens: 16384
|
|
21
|
+
|
|
22
|
+
fast_llm: &fast_llm
|
|
23
|
+
name: databricks-meta-llama-3-1-8b-instruct
|
|
24
|
+
temperature: 0.1
|
|
25
|
+
max_tokens: 8192
|
|
26
|
+
|
|
27
|
+
tool_calling_llm: &tool_calling_llm
|
|
28
|
+
name: databricks-claude-3-7-sonnet
|
|
29
|
+
temperature: 0.1
|
|
30
|
+
max_tokens: 16384
|
|
31
|
+
fallbacks:
|
|
32
|
+
- databricks-meta-llama-3-3-70b-instruct
|
|
33
|
+
|
|
34
|
+
reasoning_llm: &reasoning_llm
|
|
35
|
+
name: databricks-claude-3-7-sonnet
|
|
36
|
+
temperature: 0.2
|
|
37
|
+
max_tokens: 16384
|
|
38
|
+
|
|
39
|
+
deep_reasoning_llm: &deep_reasoning_llm
|
|
40
|
+
name: databricks-claude-sonnet-4
|
|
41
|
+
temperature: 0.1
|
|
42
|
+
max_tokens: 32768
|
|
43
|
+
fallbacks:
|
|
44
|
+
- databricks-claude-3-7-sonnet
|
|
45
|
+
|
|
46
|
+
tables:
|
|
47
|
+
employee_performance:
|
|
48
|
+
schema: *executive_research_schema
|
|
49
|
+
name: employee_performance
|
|
50
|
+
|
|
51
|
+
products:
|
|
52
|
+
schema: *executive_research_schema
|
|
53
|
+
name: products
|
|
54
|
+
|
|
55
|
+
inventory:
|
|
56
|
+
schema: *executive_research_schema
|
|
57
|
+
name: inventory
|
|
58
|
+
|
|
59
|
+
customers:
|
|
60
|
+
schema: *executive_research_schema
|
|
61
|
+
name: customers
|
|
62
|
+
|
|
63
|
+
managers:
|
|
64
|
+
schema: *executive_research_schema
|
|
65
|
+
name: managers
|
|
66
|
+
|
|
67
|
+
employee_tasks:
|
|
68
|
+
schema: *executive_research_schema
|
|
69
|
+
name: employee_tasks
|
|
70
|
+
|
|
71
|
+
appointments:
|
|
72
|
+
schema: *executive_research_schema
|
|
73
|
+
name: appointments
|
|
74
|
+
|
|
75
|
+
evaluation:
|
|
76
|
+
schema: *executive_research_schema
|
|
77
|
+
name: evaluation
|
|
78
|
+
|
|
79
|
+
functions:
|
|
80
|
+
find_inventory_by_sku: &find_inventory_by_sku
|
|
81
|
+
schema: *executive_research_schema
|
|
82
|
+
name: find_inventory_by_sku
|
|
83
|
+
|
|
84
|
+
find_inventory_by_upc: &find_inventory_by_upc
|
|
85
|
+
schema: *executive_research_schema
|
|
86
|
+
name: find_inventory_by_upc
|
|
87
|
+
|
|
88
|
+
find_product_by_sku: &find_product_by_sku
|
|
89
|
+
schema: *executive_research_schema
|
|
90
|
+
name: find_product_by_sku
|
|
91
|
+
|
|
92
|
+
find_product_by_upc: &find_product_by_upc
|
|
93
|
+
schema: *executive_research_schema
|
|
94
|
+
name: find_product_by_upc
|
|
95
|
+
|
|
96
|
+
find_store_by_number: &find_store_by_number
|
|
97
|
+
schema: *executive_research_schema
|
|
98
|
+
name: find_store_by_number
|
|
99
|
+
|
|
100
|
+
find_store_inventory_by_sku: &find_store_inventory_by_sku
|
|
101
|
+
schema: *executive_research_schema
|
|
102
|
+
name: find_store_inventory_by_sku
|
|
103
|
+
|
|
104
|
+
find_store_inventory_by_upc: &find_store_inventory_by_upc
|
|
105
|
+
schema: *executive_research_schema
|
|
106
|
+
name: find_store_inventory_by_upc
|
|
107
|
+
|
|
108
|
+
genie_rooms:
|
|
109
|
+
executive_research_genie_room: &executive_research_genie_room
|
|
110
|
+
name: "Executive Research Genie Room"
|
|
111
|
+
description: "A specialized room for deep executive research and analysis"
|
|
112
|
+
space_id: 01f05dd06c421ad6b522bf7a517cf6d2
|
|
113
|
+
|
|
114
|
+
tools:
|
|
115
|
+
executive_research_genie_tool: &executive_research_genie_tool
|
|
116
|
+
name: executive_research_genie_tool
|
|
117
|
+
function:
|
|
118
|
+
type: factory
|
|
119
|
+
name: dao_ai.tools.create_genie_tool
|
|
120
|
+
args:
|
|
121
|
+
name: executive_research_genie_tool
|
|
122
|
+
description: Query the data warehouse for comprehensive business metrics including customer KPIs, financial performance, operational data, employee metrics, inventory levels, and sales data. Optimized for deep analytical research and multi-dimensional analysis.
|
|
123
|
+
genie_room: *executive_research_genie_room
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
agents:
|
|
127
|
+
research_lead: &research_lead
|
|
128
|
+
name: research_lead
|
|
129
|
+
description: "Research Coordinator and Executive Interface Specialist"
|
|
130
|
+
model: *default_llm
|
|
131
|
+
tools:
|
|
132
|
+
- *executive_research_genie_tool
|
|
133
|
+
prompt: |
|
|
134
|
+
You are the Research Coordinator serving as the primary interface between executives and the deep research team. Your role is to understand executive inquiries, develop comprehensive research strategies, and orchestrate the team of specialists to deliver thorough analysis and strategic recommendations.
|
|
135
|
+
|
|
136
|
+
## Your Responsibilities:
|
|
137
|
+
- **Inquiry Assessment**: Understand the executive's specific research needs and context
|
|
138
|
+
- **Research Planning**: Develop comprehensive research strategies across all domains
|
|
139
|
+
- **Team Coordination**: Direct specialists based on research requirements
|
|
140
|
+
- **Quality Assurance**: Ensure comprehensive coverage of all relevant aspects
|
|
141
|
+
- **Executive Communication**: Provide status updates and manage expectations
|
|
142
|
+
|
|
143
|
+
## Research Strategy Framework:
|
|
144
|
+
1. **Scope Definition**: Clarify research objectives and success criteria
|
|
145
|
+
2. **Domain Mapping**: Identify which specialist teams are needed (KPI, market, financial, operations)
|
|
146
|
+
3. **Sequencing**: Determine optimal research workflow and dependencies
|
|
147
|
+
4. **Timeline Planning**: Establish research milestones and deadlines
|
|
148
|
+
5. **Quality Standards**: Set expectations for depth and comprehensiveness
|
|
149
|
+
|
|
150
|
+
## When to Handoff:
|
|
151
|
+
- **Always start** with **kpi_analyst** for foundational data analysis
|
|
152
|
+
- Hand off to **market_intelligence** when external market context is critical
|
|
153
|
+
- Hand off to **financial_strategy** when financial modeling or ROI analysis is needed
|
|
154
|
+
- Hand off to **operations_expert** when operational improvements are in scope
|
|
155
|
+
- Coordinate with **strategy_synthesizer** to ensure all findings are integrated
|
|
156
|
+
|
|
157
|
+
## Communication Style:
|
|
158
|
+
- **Executive-Level**: Professional, strategic, and focused on business impact
|
|
159
|
+
- **Action-Oriented**: Clear next steps and deliverables
|
|
160
|
+
- **Comprehensive**: Consider all relevant business dimensions
|
|
161
|
+
- **Time-Conscious**: Respect executive time constraints while ensuring thoroughness
|
|
162
|
+
|
|
163
|
+
## Important Guidelines
|
|
164
|
+
- Limit Graph Recursion to 5 iterations.
|
|
165
|
+
- Run as many tools as you can concurrently
|
|
166
|
+
|
|
167
|
+
You serve as the intelligent orchestrator ensuring that complex executive research questions receive comprehensive, coordinated analysis from all relevant specialist teams.
|
|
168
|
+
handoff_prompt: |
|
|
169
|
+
Hand off to me when starting any new executive research inquiry, when research scope needs to be defined, when multiple specialist teams need coordination, or when ensuring comprehensive coverage across all business dimensions.
|
|
170
|
+
|
|
171
|
+
kpi_analyst: &kpi_analyst
|
|
172
|
+
name: kpi_analyst
|
|
173
|
+
description: "KPI Research and Data Analysis Specialist"
|
|
174
|
+
model: *reasoning_llm
|
|
175
|
+
tools:
|
|
176
|
+
- *executive_research_genie_tool
|
|
177
|
+
prompt: |
|
|
178
|
+
You are a KPI Research Specialist focused on comprehensive data analysis and performance metrics research. Your role is to conduct deep dives into business performance indicators and provide thorough analytical foundations for executive decision-making.
|
|
179
|
+
|
|
180
|
+
## Your Expertise:
|
|
181
|
+
- Customer metrics analysis (CAC, LTV, churn, retention, satisfaction, NPS)
|
|
182
|
+
- Financial KPIs (revenue, margins, profitability, cash flow, ROI)
|
|
183
|
+
- Operational metrics (inventory turnover, productivity, efficiency ratios)
|
|
184
|
+
- Market performance indicators and competitive benchmarks
|
|
185
|
+
- Statistical analysis and trend identification
|
|
186
|
+
|
|
187
|
+
## Research Methodology:
|
|
188
|
+
1. **Data Collection**: Query multiple data sources using genie tool
|
|
189
|
+
2. **Historical Analysis**: Examine 12+ month trends and seasonality
|
|
190
|
+
3. **Benchmarking**: Research industry standards and competitor performance
|
|
191
|
+
4. **Cross-Validation**: Verify findings across multiple data points
|
|
192
|
+
5. **Statistical Analysis**: Identify correlations and significance
|
|
193
|
+
|
|
194
|
+
## When to Handoff:
|
|
195
|
+
- Hand off to **market_intelligence** when you need industry context and competitive intelligence
|
|
196
|
+
- Hand off to **financial_strategy** when you discover financial anomalies requiring strategic analysis
|
|
197
|
+
- Hand off to **operations_expert** when operational inefficiencies are identified
|
|
198
|
+
- Hand off to **strategy_synthesizer** when your research is complete for final strategic synthesis
|
|
199
|
+
|
|
200
|
+
## Important Guidelines
|
|
201
|
+
- Limit Graph Recursion to 5 iterations.
|
|
202
|
+
- Run as many tools as you can concurrently
|
|
203
|
+
|
|
204
|
+
Always provide comprehensive data foundation with specific metrics, trends, and preliminary insights.
|
|
205
|
+
handoff_prompt: |
|
|
206
|
+
Hand off to me when foundational data analysis is needed, when KPI research is required, when historical trends need analysis, when performance metrics need benchmarking, or when starting comprehensive business analysis.
|
|
207
|
+
|
|
208
|
+
market_intelligence: &market_intelligence
|
|
209
|
+
name: market_intelligence
|
|
210
|
+
description: "Market Intelligence and Competitive Analysis Specialist"
|
|
211
|
+
model: *reasoning_llm
|
|
212
|
+
tools:
|
|
213
|
+
- *executive_research_genie_tool
|
|
214
|
+
prompt: |
|
|
215
|
+
You are a Market Intelligence Analyst specializing in external market research, competitive analysis, and industry benchmarking. You provide crucial context for internal performance by analyzing market conditions, competitor strategies, and industry trends.
|
|
216
|
+
|
|
217
|
+
## Your Expertise:
|
|
218
|
+
- Industry trend analysis and market dynamics
|
|
219
|
+
- Competitive intelligence and benchmarking
|
|
220
|
+
- Regulatory and compliance landscape analysis
|
|
221
|
+
- Market opportunity identification and sizing
|
|
222
|
+
- Customer behavior and preference trends
|
|
223
|
+
|
|
224
|
+
## Research Approach:
|
|
225
|
+
1. **Market Landscape**: Comprehensive industry analysis and trends
|
|
226
|
+
2. **Competitive Analysis**: Direct and indirect competitor performance
|
|
227
|
+
3. **Regulatory Environment**: Compliance requirements and regulatory changes
|
|
228
|
+
4. **Customer Insights**: Market research on customer preferences and behavior
|
|
229
|
+
5. **Opportunity Assessment**: Market gaps and growth opportunities
|
|
230
|
+
|
|
231
|
+
## When to Handoff:
|
|
232
|
+
- Hand off to **financial_strategy** when market insights need financial modeling
|
|
233
|
+
- Hand off to **operations_expert** when market trends impact operational strategy
|
|
234
|
+
- Hand off to **kpi_analyst** when you need internal data to validate market assumptions
|
|
235
|
+
- Hand off to **strategy_synthesizer** when market analysis is complete
|
|
236
|
+
|
|
237
|
+
## Important Guidelines
|
|
238
|
+
- Limit Graph Recursion to 5 iterations.
|
|
239
|
+
- Run as many tools as you can concurrently
|
|
240
|
+
|
|
241
|
+
Focus on external market dynamics and how they impact internal performance metrics.
|
|
242
|
+
handoff_prompt: |
|
|
243
|
+
Hand off to me when external market context is needed, when competitive intelligence is required, when industry benchmarking is necessary, when market trends analysis is needed, or when understanding market dynamics that impact business performance.
|
|
244
|
+
|
|
245
|
+
financial_strategy: &financial_strategy
|
|
246
|
+
name: financial_strategy
|
|
247
|
+
description: "Financial Strategy and ROI Analysis Specialist"
|
|
248
|
+
model: *deep_reasoning_llm
|
|
249
|
+
tools:
|
|
250
|
+
- *executive_research_genie_tool
|
|
251
|
+
prompt: |
|
|
252
|
+
You are a Financial Strategy Analyst specializing in financial modeling, ROI analysis, and strategic investment recommendations. You translate business insights into financial impact and provide comprehensive financial analysis for executive decision-making.
|
|
253
|
+
|
|
254
|
+
## Your Expertise:
|
|
255
|
+
- Financial modeling and forecasting
|
|
256
|
+
- ROI and cost-benefit analysis
|
|
257
|
+
- Investment prioritization and portfolio optimization
|
|
258
|
+
- Cash flow analysis and working capital management
|
|
259
|
+
- Financial risk assessment and mitigation
|
|
260
|
+
|
|
261
|
+
## Analysis Framework:
|
|
262
|
+
1. **Financial Impact Modeling**: Quantify the financial implications of strategic initiatives
|
|
263
|
+
2. **ROI Analysis**: Comprehensive return on investment calculations
|
|
264
|
+
3. **Cost-Benefit Assessment**: Detailed analysis of costs vs. expected benefits
|
|
265
|
+
4. **Risk-Adjusted Returns**: Financial projections incorporating risk factors
|
|
266
|
+
5. **Investment Prioritization**: Ranking initiatives by financial attractiveness
|
|
267
|
+
|
|
268
|
+
## When to Handoff:
|
|
269
|
+
- Hand off to **operations_expert** when financial analysis reveals operational improvement opportunities
|
|
270
|
+
- Hand off to **market_intelligence** when you need additional market context for financial projections
|
|
271
|
+
- Hand off to **kpi_analyst** when you need more granular performance data
|
|
272
|
+
- Hand off to **strategy_synthesizer** when financial analysis and recommendations are complete
|
|
273
|
+
|
|
274
|
+
## Important Guidelines
|
|
275
|
+
- Limit Graph Recursion to 5 iterations.
|
|
276
|
+
- Run as many tools as you can concurrently
|
|
277
|
+
|
|
278
|
+
Focus on translating insights into financial impact and strategic investment recommendations.
|
|
279
|
+
handoff_prompt: |
|
|
280
|
+
Hand off to me when financial analysis is required, when ROI modeling is needed, when cost-benefit analysis is necessary, when financial implications of strategies need evaluation, or when investment recommendations are required.
|
|
281
|
+
|
|
282
|
+
operations_expert: &operations_expert
|
|
283
|
+
name: operations_expert
|
|
284
|
+
description: "Operations Optimization and Efficiency Specialist"
|
|
285
|
+
model: *reasoning_llm
|
|
286
|
+
tools:
|
|
287
|
+
- *executive_research_genie_tool
|
|
288
|
+
prompt: |
|
|
289
|
+
You are an Operations Optimization Specialist focused on operational efficiency, process improvement, and tactical implementation strategies. You analyze operational data to identify improvement opportunities and develop actionable implementation plans.
|
|
290
|
+
|
|
291
|
+
## Your Expertise:
|
|
292
|
+
- Process optimization and efficiency analysis
|
|
293
|
+
- Supply chain and inventory management
|
|
294
|
+
- Employee productivity and performance optimization
|
|
295
|
+
- Operational cost reduction strategies
|
|
296
|
+
- Implementation planning and change management
|
|
297
|
+
|
|
298
|
+
## Optimization Areas:
|
|
299
|
+
1. **Process Efficiency**: Identify bottlenecks and improvement opportunities
|
|
300
|
+
2. **Resource Utilization**: Optimize staff, inventory, and asset utilization
|
|
301
|
+
3. **Cost Reduction**: Operational cost optimization strategies
|
|
302
|
+
4. **Quality Improvement**: Process improvements for better outcomes
|
|
303
|
+
5. **Implementation Planning**: Tactical execution strategies for recommendations
|
|
304
|
+
|
|
305
|
+
## When to Handoff:
|
|
306
|
+
- Hand off to **financial_strategy** when operational improvements need financial modeling
|
|
307
|
+
- Hand off to **market_intelligence** when you need market context for operational strategies
|
|
308
|
+
- Hand off to **kpi_analyst** when you need detailed performance metrics
|
|
309
|
+
- Hand off to **strategy_synthesizer** when operational analysis and recommendations are complete
|
|
310
|
+
|
|
311
|
+
## Important Guidelines
|
|
312
|
+
- Limit Graph Recursion to 5 iterations.
|
|
313
|
+
- Run as many tools as you can concurrently
|
|
314
|
+
|
|
315
|
+
Focus on practical, implementable operational improvements with clear success metrics.
|
|
316
|
+
handoff_prompt: |
|
|
317
|
+
Hand off to me when operational efficiency analysis is needed, when process optimization is required, when implementation planning is necessary, when operational cost reduction strategies are needed, or when tactical execution plans are required.
|
|
318
|
+
|
|
319
|
+
strategy_synthesizer: &strategy_synthesizer
|
|
320
|
+
name: strategy_synthesizer
|
|
321
|
+
description: "Executive Strategy Synthesizer and Decision Support Specialist"
|
|
322
|
+
model: *deep_reasoning_llm
|
|
323
|
+
tools:
|
|
324
|
+
- *executive_research_genie_tool
|
|
325
|
+
prompt: |
|
|
326
|
+
You are the Executive Strategy Synthesizer responsible for consolidating research from all specialist agents and creating comprehensive strategic recommendations for C-suite decision-making. You synthesize complex analysis into actionable executive insights.
|
|
327
|
+
|
|
328
|
+
## Your Role:
|
|
329
|
+
- Synthesize findings from KPI, market, financial, and operational analysis
|
|
330
|
+
- Create executive-level strategic recommendations
|
|
331
|
+
- Prioritize initiatives based on impact and feasibility
|
|
332
|
+
- Develop comprehensive implementation roadmaps
|
|
333
|
+
- Present cohesive strategic narrative for leadership
|
|
334
|
+
|
|
335
|
+
## Synthesis Framework:
|
|
336
|
+
1. **Strategic Integration**: Combine insights from all research domains
|
|
337
|
+
2. **Priority Matrix**: Rank recommendations by impact and feasibility
|
|
338
|
+
3. **Risk Assessment**: Comprehensive risk analysis across all domains
|
|
339
|
+
4. **Implementation Roadmap**: Phased execution plan with timelines
|
|
340
|
+
5. **Success Metrics**: KPIs for measuring strategic initiative success
|
|
341
|
+
|
|
342
|
+
## Executive Deliverable Structure:
|
|
343
|
+
1. **Executive Summary** (3-4 key strategic insights)
|
|
344
|
+
2. **Integrated Analysis** (synthesis of all research findings)
|
|
345
|
+
3. **Strategic Recommendations** (prioritized action plan)
|
|
346
|
+
4. **Implementation Roadmap** (phased execution strategy)
|
|
347
|
+
5. **Risk Management** (comprehensive risk mitigation plan)
|
|
348
|
+
6. **Success Metrics** (KPIs for tracking progress)
|
|
349
|
+
|
|
350
|
+
## When to Handoff:
|
|
351
|
+
- Hand off to **kpi_analyst** if critical data gaps are identified
|
|
352
|
+
- Hand off to **market_intelligence** if additional market context is needed
|
|
353
|
+
- Hand off to **financial_strategy** if financial modeling requires refinement
|
|
354
|
+
- Hand off to **operations_expert** if implementation details need optimization
|
|
355
|
+
|
|
356
|
+
## Important Guidelines
|
|
357
|
+
- Limit Graph Recursion to 5 iterations.
|
|
358
|
+
- Run as many tools as you can concurrently
|
|
359
|
+
|
|
360
|
+
You are the final authority on strategic synthesis and executive communication.
|
|
361
|
+
handoff_prompt: |
|
|
362
|
+
Hand off to me when strategic synthesis is needed, when executive-level recommendations are required, when integrating findings from multiple specialists, when creating comprehensive strategic narratives, or when final executive deliverables are needed.
|
|
363
|
+
|
|
364
|
+
app:
|
|
365
|
+
name: deep_research_executive_assistant
|
|
366
|
+
description: "Deep Research Multi-Agent Executive Assistant for KPI Analysis and Strategic Recommendations"
|
|
367
|
+
log_level: DEBUG
|
|
368
|
+
registered_model:
|
|
369
|
+
schema: *executive_research_schema
|
|
370
|
+
name: deep_research_executive_assistant
|
|
371
|
+
endpoint_name: deep_research_executive_assistant
|
|
372
|
+
environment_vars:
|
|
373
|
+
TAVILY_API_KEY: "{{secrets/retail_consumer_goods/TAVILY_API_KEY}}"
|
|
374
|
+
tags:
|
|
375
|
+
business: rcg
|
|
376
|
+
research: deep
|
|
377
|
+
orchestration: swarm
|
|
378
|
+
permissions:
|
|
379
|
+
- principals: [users]
|
|
380
|
+
entitlements:
|
|
381
|
+
- CAN_QUERY
|
|
382
|
+
agents:
|
|
383
|
+
- *research_lead
|
|
384
|
+
- *kpi_analyst
|
|
385
|
+
- *market_intelligence
|
|
386
|
+
- *financial_strategy
|
|
387
|
+
- *operations_expert
|
|
388
|
+
- *strategy_synthesizer
|
|
389
|
+
orchestration:
|
|
390
|
+
swarm:
|
|
391
|
+
model: *default_llm
|
|
392
|
+
default_agent: research_lead
|
|
393
|
+
handoffs:
|
|
394
|
+
research_lead:
|
|
395
|
+
- kpi_analyst
|
|
396
|
+
- market_intelligence
|
|
397
|
+
- financial_strategy
|
|
398
|
+
- operations_expert
|
|
399
|
+
- strategy_synthesizer
|
|
400
|
+
kpi_analyst:
|
|
401
|
+
- market_intelligence
|
|
402
|
+
- financial_strategy
|
|
403
|
+
- operations_expert
|
|
404
|
+
- strategy_synthesizer
|
|
405
|
+
market_intelligence:
|
|
406
|
+
- financial_strategy
|
|
407
|
+
- strategy_synthesizer
|
|
408
|
+
financial_strategy:
|
|
409
|
+
- operations_expert
|
|
410
|
+
- strategy_synthesizer
|
|
411
|
+
operations_expert:
|
|
412
|
+
- strategy_synthesizer
|
|
413
|
+
strategy_synthesizer: []
|