agent-starter-pack 0.5.0__tar.gz → 0.5.1__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.
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/PKG-INFO +1 -1
- agent_starter_pack-0.5.1/docs/guide/installation.md +151 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/pyproject.toml +1 -1
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit/frontend/utils/stream_handler.py +13 -4
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/test_frontend/test_utils/test_stream_handler.py +77 -18
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/uv.lock +2580 -2580
- agent_starter_pack-0.5.0/docs/guide/installation.md +0 -64
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/cd/test_e2e.yaml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/ci/build_use_wheel.yaml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/ci/lint.yaml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/ci/lint_templated_agents.yaml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/ci/test.yaml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/ci/test_templated_agents.yaml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/terraform/apis.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/terraform/build_triggers.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/terraform/service_account.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/terraform/storage.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/terraform/variables.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.github/workflows/docs.yml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.gitignore +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/CODE_OF_CONDUCT.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/CONTRIBUTING.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/LICENSE +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/Makefile +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/README.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/adk_base/README.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/adk_base/app/agent.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/adk_base/notebooks/adk_app_testing.ipynb +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/adk_base/notebooks/evaluating_adk_agent.ipynb +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/adk_base/template/.templateconfig.yaml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/adk_base/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/agentic_rag/README.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/agentic_rag/app/agent.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/agentic_rag/app/retrievers.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/agentic_rag/app/templates.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/agentic_rag/notebooks/adk_app_testing.ipynb +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/agentic_rag/template/.templateconfig.yaml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/agentic_rag/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/crewai_coding_crew/README.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/crewai_coding_crew/app/agent.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/crewai_coding_crew/app/crew/config/agents.yaml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/crewai_coding_crew/app/crew/config/tasks.yaml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/crewai_coding_crew/app/crew/crew.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/crewai_coding_crew/notebooks/evaluating_langgraph_agent.ipynb +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/crewai_coding_crew/template/.templateconfig.yaml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/crewai_coding_crew/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/langgraph_base_react/README.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/langgraph_base_react/app/agent.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/langgraph_base_react/template/.templateconfig.yaml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/langgraph_base_react/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/live_api/README.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/live_api/app/agent.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/live_api/app/server.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/live_api/template/.templateconfig.yaml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/live_api/tests/integration/test_server_e2e.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/live_api/tests/load_test/load_test.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/live_api/tests/unit/test_server.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/.vitepress/config.js +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/agents/overview.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/cli/create.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/cli/index.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/cli/setup_cicd.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/guide/data-ingestion.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/guide/deployment.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/guide/development-guide.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/guide/getting-started.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/guide/observability.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/guide/troubleshooting.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/guide/video-tutorials.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/guide/why_starter_pack.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/images/adk_logo.png +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/images/agent_starter_pack_screenshot.png +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/images/ags_high_level_architecture.png +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/images/icon.png +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/images/logo.png +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/images/prototype_to_prod.png +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/images/why_sp_edited.png +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/images/why_starter_pack.png +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/index.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/package-lock.json +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/package.json +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/.gitignore +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/Makefile +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/README.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/app/__init__.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/app/utils/tracing.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/app/utils/typing.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/README.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/cd/deploy-to-prod.yaml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/cd/staging.yaml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/ci/pr_checks.yaml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/apis.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/build_triggers.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/dev/apis.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/dev/iam.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/dev/log_sinks.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/dev/providers.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/dev/storage.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/dev/variables.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/dev/vars/env.tfvars +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/iam.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/locals.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/log_sinks.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/providers.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/service_accounts.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/storage.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/variables.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/vars/env.tfvars +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/pyproject.toml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/tests/unit/test_dummy.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/commands/create.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/commands/setup_cicd.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/main.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/utils/__init__.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/utils/cicd.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/utils/datastores.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/utils/gcp.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/utils/logging.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/utils/template.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/utils/version.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/data_ingestion/README.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/data_ingestion/data_ingestion_pipeline/components/process_data.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/data_ingestion/data_ingestion_pipeline/pipeline.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/data_ingestion/data_ingestion_pipeline/submit_pipeline.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/data_ingestion/pyproject.toml +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/data_ingestion/uv.lock +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/agent_engine/app/agent_engine_app.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/agent_engine/app/utils/gcs.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/agent_engine/deployment_metadata.json +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/agent_engine/tests/load_test/.results/.placeholder +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/agent_engine/tests/load_test/README.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/agent_engine/tests/load_test/load_test.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/cloud_run/Dockerfile +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/cloud_run/app/server.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/cloud_run/tests/load_test/README.md +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/cloud_run/tests/load_test/load_test.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/cloud_run/uv.lock +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/package-lock.json +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/package.json +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/public/favicon.ico +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/public/index.html +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/public/robots.txt +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/App.scss +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/App.test.tsx +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/App.tsx +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/components/audio-pulse/AudioPulse.tsx +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/components/audio-pulse/audio-pulse.scss +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/components/control-tray/ControlTray.tsx +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/components/control-tray/control-tray.scss +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/components/logger/Logger.tsx +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/components/logger/logger.scss +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/components/logger/mock-logs.ts +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/components/side-panel/SidePanel.tsx +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/components/side-panel/side-panel.scss +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/contexts/LiveAPIContext.tsx +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/hooks/use-live-api.ts +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/hooks/use-media-stream-mux.ts +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/hooks/use-screen-capture.ts +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/hooks/use-webcam.ts +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/index.css +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/index.tsx +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/multimodal-live-types.ts +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/react-app-env.d.ts +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/reportWebVitals.ts +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/setupTests.ts +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/utils/audio-recorder.ts +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/utils/audio-streamer.ts +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/utils/audioworklet-registry.ts +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/utils/multimodal-live-client.ts +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/utils/store-logger.ts +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/utils/utils.ts +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/utils/worklets/audio-processing.ts +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/utils/worklets/vol-meter.ts +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/tsconfig.json +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit/frontend/side_bar.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit/frontend/streamlit_app.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit/frontend/style/app_markdown.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit/frontend/utils/chat_utils.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit/frontend/utils/local_chat_history.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit/frontend/utils/message_editing.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit/frontend/utils/multimodal_utils.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit/frontend/utils/title_summary.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit_adk/frontend/side_bar.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit_adk/frontend/streamlit_app.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit_adk/frontend/style/app_markdown.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit_adk/frontend/utils/chat_utils.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit_adk/frontend/utils/local_chat_history.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit_adk/frontend/utils/message_editing.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit_adk/frontend/utils/multimodal_utils.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit_adk/frontend/utils/stream_handler.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit_adk/frontend/utils/title_summary.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/containers/data_processing/Dockerfile +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/containers/e2e-tests/Dockerfile +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/idx/.idx/dev.nix +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/idx/idx-template.json +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/idx/idx-template.nix +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/locks/uv-adk_base-agent_engine.lock +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/locks/uv-adk_base-cloud_run.lock +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/locks/uv-agentic_rag-agent_engine.lock +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/locks/uv-agentic_rag-cloud_run.lock +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/locks/uv-langgraph_base_react-agent_engine.lock +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/locks/uv-langgraph_base_react-cloud_run.lock +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/locks/uv-live_api-cloud_run.lock +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/setup_cicd/cicd_variables.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/setup_cicd/github.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/setup_cicd/providers.tf +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/utils/generate_locks.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/utils/lock_utils.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/utils/watch_and_rebuild.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/__init__.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/cicd/example.env +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/cicd/test_e2e_deployment.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/cli/commands/test_create.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/cli/commands/test_setup_cicd.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/cli/utils/test_cicd.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/integration/test_template_linting.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/integration/test_templated_patterns.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/test_frontend/test_side_bar.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/test_frontend/test_streamlit_app.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/test_frontend/test_utils/test_chat_utils.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/test_frontend/test_utils/test_local_chat_history.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/test_frontend/test_utils/test_message_editing.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/test_frontend/test_utils/test_multimodal_utils.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/utils/__init__.py +0 -0
- {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/utils/get_agents.py +0 -0
@@ -0,0 +1,151 @@
|
|
1
|
+
# Installation
|
2
|
+
|
3
|
+
There are several ways to install the Agent Starter Pack. Choose the method that works best for your workflow.
|
4
|
+
|
5
|
+
**Want zero setup?** 👉 [Try in Firebase Studio](https://studio.firebase.google.com/new?template=https%3A%2F%2Fgithub.com%2FGoogleCloudPlatform%2Fagent-starter-pack%2Ftree%2Fmain%2Fsrc%2Fresources%2Fidx) or in [Cloud Shell](https://shell.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Feliasecchig%2Fasp-open-in-cloud-shell&cloudshell_print=open-in-cs)
|
6
|
+
|
7
|
+
## `uvx` for Quick Project Creation
|
8
|
+
|
9
|
+
If you have [uv](https://astral.sh/uv) installed, you can create projects without a permanent installation:
|
10
|
+
```bash
|
11
|
+
uvx agent-starter-pack create my-awesome-agent
|
12
|
+
```
|
13
|
+
|
14
|
+
## Virtual Environment Installation
|
15
|
+
|
16
|
+
Installs into an isolated Python environment.
|
17
|
+
|
18
|
+
```bash
|
19
|
+
# Create and activate venv
|
20
|
+
python -m venv .venv && source .venv/bin/activate # source .venv/Scripts/activate for Windows Git Bash
|
21
|
+
|
22
|
+
# Install using pip or uv
|
23
|
+
pip install agent-starter-pack
|
24
|
+
```
|
25
|
+
|
26
|
+
## Persistent CLI Installation
|
27
|
+
|
28
|
+
Installs the `agent-starter-pack` command globally.
|
29
|
+
|
30
|
+
### With `pipx` (Isolated Global Tool)
|
31
|
+
```bash
|
32
|
+
# Install pipx (if needed)
|
33
|
+
python3 -m pip install --user pipx && python3 -m pipx ensurepath
|
34
|
+
|
35
|
+
# Install Agent Starter Pack
|
36
|
+
pipx install agent-starter-pack
|
37
|
+
```
|
38
|
+
|
39
|
+
### With `uv tool install` (Fast, Isolated Global Tool)
|
40
|
+
Requires `uv` (see `uvx` section for install).
|
41
|
+
```bash
|
42
|
+
uv tool install agent-starter-pack
|
43
|
+
```
|
44
|
+
|
45
|
+
## Create Project (After Persistent/Venv Install)
|
46
|
+
|
47
|
+
If you installed via `pipx`, `uv tool install`, or in a virtual environment:
|
48
|
+
```bash
|
49
|
+
agent-starter-pack create my-awesome-agent
|
50
|
+
```
|
51
|
+
|
52
|
+
## Managing Installation
|
53
|
+
|
54
|
+
### Upgrading
|
55
|
+
* **`uvx`:** Not needed (always uses latest).
|
56
|
+
* **`pipx`:** `pipx upgrade agent-starter-pack`
|
57
|
+
* **`uv tool`:** `uv tool install agent-starter-pack` (this upgrades)
|
58
|
+
* **`pip`/`uv pip` (in .venv):** `(uv) pip install --upgrade agent-starter-pack`
|
59
|
+
|
60
|
+
### Uninstalling
|
61
|
+
* **`uvx`:** Not applicable.
|
62
|
+
* **`pipx`:** `pipx uninstall agent-starter-pack`
|
63
|
+
* **`uv tool`:** `uv tool uninstall agent-starter-pack`
|
64
|
+
* **`pip`/`uv pip` (in .venv):** `(uv) pip uninstall agent-starter-pack`
|
65
|
+
|
66
|
+
## Troubleshooting Common Installation Issues
|
67
|
+
|
68
|
+
### Command Not Found After Installation
|
69
|
+
|
70
|
+
If you encounter "command not found" errors after installation:
|
71
|
+
|
72
|
+
1. **Check your PATH**: Ensure that the Python scripts directory is in your PATH:
|
73
|
+
```bash
|
74
|
+
echo $PATH
|
75
|
+
```
|
76
|
+
2. **Verify installation location**: Check where the package was installed:
|
77
|
+
```bash
|
78
|
+
pip show agent-starter-pack
|
79
|
+
```
|
80
|
+
3. **Manual path addition**: If needed, add the scripts directory to your PATH:
|
81
|
+
```bash
|
82
|
+
export PATH="$HOME/.local/bin:$PATH"
|
83
|
+
# For user installations
|
84
|
+
```
|
85
|
+
Add this line to your `~/.bashrc` or `~/.zshrc` for persistence.
|
86
|
+
|
87
|
+
### Permission Errors During Installation
|
88
|
+
|
89
|
+
If you encounter permission errors:
|
90
|
+
|
91
|
+
1. **Use user installation mode**:
|
92
|
+
```bash
|
93
|
+
pip install --user agent-starter-pack
|
94
|
+
```
|
95
|
+
2. **Check directory permissions**:
|
96
|
+
```bash
|
97
|
+
ls -la ~/.local/bin
|
98
|
+
```
|
99
|
+
3. **Fix permissions if needed**:
|
100
|
+
```bash
|
101
|
+
chmod +x ~/.local/bin/agent-starter-pack
|
102
|
+
```
|
103
|
+
|
104
|
+
### Python Version Compatibility Issues
|
105
|
+
|
106
|
+
If you encounter Python version errors:
|
107
|
+
|
108
|
+
1. **Check your Python version**:
|
109
|
+
```bash
|
110
|
+
python --version
|
111
|
+
```
|
112
|
+
2. **Install a compatible Python version** if needed (3.10 or newer is required).
|
113
|
+
3. **Create a virtual environment with the correct Python version**:
|
114
|
+
```bash
|
115
|
+
python3.10 -m venv .venv
|
116
|
+
source .venv/bin/activate
|
117
|
+
```
|
118
|
+
|
119
|
+
### Package Dependency Conflicts
|
120
|
+
|
121
|
+
If you encounter dependency conflicts:
|
122
|
+
|
123
|
+
1. **Use a clean virtual environment**:
|
124
|
+
```bash
|
125
|
+
python -m venv .venv
|
126
|
+
source .venv/bin/activate
|
127
|
+
pip install agent-starter-pack
|
128
|
+
```
|
129
|
+
2. **Update pip and setuptools**:
|
130
|
+
```bash
|
131
|
+
pip install --upgrade pip setuptools
|
132
|
+
```
|
133
|
+
3. **Install with verbose output to identify conflicts**:
|
134
|
+
```bash
|
135
|
+
pip install -v agent-starter-pack
|
136
|
+
```
|
137
|
+
|
138
|
+
### Installation Verification
|
139
|
+
|
140
|
+
To verify your installation is working correctly:
|
141
|
+
|
142
|
+
1. **Check the installed version**:
|
143
|
+
```bash
|
144
|
+
agent-starter-pack --version
|
145
|
+
```
|
146
|
+
2. **Run the help command**:
|
147
|
+
```bash
|
148
|
+
agent-starter-pack --help
|
149
|
+
```
|
150
|
+
|
151
|
+
If you continue to experience issues, please [file an issue](https://github.com/GoogleCloudPlatform/agent-starter-pack/issues) with details about your environment and the specific error messages you're encountering.
|
@@ -253,10 +253,19 @@ class EventProcessor:
|
|
253
253
|
msg = f"\n\nTool response: `{content}`"
|
254
254
|
self.stream_handler.new_status(msg)
|
255
255
|
|
256
|
-
# Handle AI
|
257
|
-
|
258
|
-
|
259
|
-
|
256
|
+
# Handle incremental AI response chunks
|
257
|
+
# These are partial content pieces that need to be accumulated
|
258
|
+
elif (
|
259
|
+
message.get("content")
|
260
|
+
and message.get("type") == "AIMessageChunk"
|
261
|
+
):
|
262
|
+
self.final_content += message.get("content")
|
263
|
+
self.stream_handler.new_token(message.get("content"))
|
264
|
+
|
265
|
+
# Handle complete AI responses
|
266
|
+
# This is used when receiving a full message rather than chunks
|
267
|
+
elif message.get("content") and message.get("type") == "ai":
|
268
|
+
self.final_content = message.get("content")
|
260
269
|
|
261
270
|
# Handle end of stream
|
262
271
|
if self.final_content:
|
@@ -94,14 +94,20 @@ def test_event_processor_tool_calls() -> None:
|
|
94
94
|
"kwargs": {"tool_call_id": "test_id", "content": "tool response"},
|
95
95
|
}
|
96
96
|
|
97
|
+
ai_message_chunk = {
|
98
|
+
"type": "constructor",
|
99
|
+
"kwargs": {"content": "partial ", "type": "AIMessageChunk"},
|
100
|
+
}
|
101
|
+
|
97
102
|
final_response_event = {
|
98
103
|
"type": "constructor",
|
99
|
-
"kwargs": {"content": "
|
104
|
+
"kwargs": {"content": "response", "type": "AIMessageChunk"},
|
100
105
|
}
|
101
106
|
|
102
107
|
client_mock.stream_messages.return_value = [
|
103
108
|
(tool_call_event, {}),
|
104
109
|
(tool_response_event, {}),
|
110
|
+
(ai_message_chunk, {}),
|
105
111
|
(final_response_event, {}),
|
106
112
|
]
|
107
113
|
|
@@ -116,11 +122,13 @@ def test_event_processor_tool_calls() -> None:
|
|
116
122
|
assert processor.tool_calls[1]["content"] == "tool response"
|
117
123
|
|
118
124
|
# Verify final content
|
119
|
-
assert processor.final_content == "
|
125
|
+
assert processor.final_content == "partial response"
|
120
126
|
|
121
127
|
# Verify stream handler updates
|
122
128
|
assert stream_handler_mock.new_status.call_count == 2
|
123
|
-
assert stream_handler_mock.new_token.call_count ==
|
129
|
+
assert stream_handler_mock.new_token.call_count == 2
|
130
|
+
stream_handler_mock.new_token.assert_any_call("partial ")
|
131
|
+
stream_handler_mock.new_token.assert_any_call("response")
|
124
132
|
|
125
133
|
|
126
134
|
def test_event_processor_direct_response() -> None:
|
@@ -131,8 +139,20 @@ def test_event_processor_direct_response() -> None:
|
|
131
139
|
|
132
140
|
# Mock stream events with direct response
|
133
141
|
response_events: list[tuple[dict[str, Any], dict[str, Any]]] = [
|
134
|
-
(
|
135
|
-
|
142
|
+
(
|
143
|
+
{
|
144
|
+
"type": "constructor",
|
145
|
+
"kwargs": {"content": "Hello", "type": "AIMessageChunk"},
|
146
|
+
},
|
147
|
+
{},
|
148
|
+
),
|
149
|
+
(
|
150
|
+
{
|
151
|
+
"type": "constructor",
|
152
|
+
"kwargs": {"content": " World", "type": "AIMessageChunk"},
|
153
|
+
},
|
154
|
+
{},
|
155
|
+
),
|
136
156
|
]
|
137
157
|
|
138
158
|
client_mock.stream_messages.return_value = response_events
|
@@ -159,15 +179,21 @@ def test_event_processor_session_state_updates(mock_uuid: MagicMock) -> None:
|
|
159
179
|
|
160
180
|
# Mock stream events with message that should be added to session state
|
161
181
|
client_mock.stream_messages.return_value = [
|
162
|
-
(
|
182
|
+
(
|
183
|
+
{
|
184
|
+
"type": "constructor",
|
185
|
+
"kwargs": {"content": "test response", "type": "ai"},
|
186
|
+
},
|
187
|
+
{},
|
188
|
+
)
|
163
189
|
]
|
164
190
|
|
165
191
|
# Initialize session state with empty messages
|
166
192
|
st_mock.session_state.user_chats["test_session"]["messages"] = []
|
193
|
+
st_mock.session_state["user_id"] = "test_user"
|
194
|
+
st_mock.session_state["session_id"] = "test_session"
|
167
195
|
|
168
196
|
processor = EventProcessor(st_mock, client_mock, stream_handler_mock)
|
169
|
-
# Set run_id before processing events
|
170
|
-
st_mock.session_state["run_id"] = "test_run"
|
171
197
|
processor.process_events()
|
172
198
|
|
173
199
|
# Verify stream events call
|
@@ -215,7 +241,8 @@ def test_event_processor_session_state_updates_with_tools(mock_uuid: MagicMock)
|
|
215
241
|
"name": "test_tool",
|
216
242
|
"args": {"arg1": "value1"},
|
217
243
|
}
|
218
|
-
]
|
244
|
+
],
|
245
|
+
"type": "AIMessageChunk",
|
219
246
|
},
|
220
247
|
},
|
221
248
|
{},
|
@@ -223,26 +250,49 @@ def test_event_processor_session_state_updates_with_tools(mock_uuid: MagicMock)
|
|
223
250
|
(
|
224
251
|
{
|
225
252
|
"type": "constructor",
|
226
|
-
"kwargs": {
|
253
|
+
"kwargs": {
|
254
|
+
"tool_call_id": "test_id",
|
255
|
+
"content": "tool response",
|
256
|
+
"type": "tool",
|
257
|
+
},
|
258
|
+
},
|
259
|
+
{},
|
260
|
+
),
|
261
|
+
(
|
262
|
+
{
|
263
|
+
"type": "constructor",
|
264
|
+
"kwargs": {
|
265
|
+
"content": "partial response",
|
266
|
+
"type": "AIMessageChunk",
|
267
|
+
},
|
268
|
+
},
|
269
|
+
{},
|
270
|
+
),
|
271
|
+
(
|
272
|
+
{
|
273
|
+
"type": "constructor",
|
274
|
+
"kwargs": {
|
275
|
+
"content": " final",
|
276
|
+
"type": "AIMessageChunk",
|
277
|
+
},
|
227
278
|
},
|
228
279
|
{},
|
229
280
|
),
|
230
|
-
({"type": "constructor", "kwargs": {"content": "final response"}}, {}),
|
231
281
|
]
|
232
282
|
|
233
283
|
# Initialize session state with empty messages
|
234
284
|
st_mock.session_state.user_chats["test_session"]["messages"] = []
|
285
|
+
st_mock.session_state["user_id"] = "test_user"
|
286
|
+
st_mock.session_state["session_id"] = "test_session"
|
235
287
|
|
236
288
|
processor = EventProcessor(st_mock, client_mock, stream_handler_mock)
|
237
|
-
# Set run_id before processing events
|
238
|
-
st_mock.session_state["run_id"] = "test_run"
|
239
289
|
processor.process_events()
|
240
290
|
|
241
291
|
# Verify session state updates
|
242
292
|
messages = st_mock.session_state.user_chats["test_session"]["messages"]
|
243
|
-
|
244
|
-
|
245
|
-
)
|
293
|
+
|
294
|
+
# Should have tool call, tool response, and final response
|
295
|
+
assert len(messages) == 3
|
246
296
|
|
247
297
|
# Verify tool call message
|
248
298
|
assert messages[0]["tool_calls"][0]["name"] == "test_tool"
|
@@ -251,10 +301,19 @@ def test_event_processor_session_state_updates_with_tools(mock_uuid: MagicMock)
|
|
251
301
|
# Verify tool response message
|
252
302
|
assert messages[1]["content"] == "tool response"
|
253
303
|
assert messages[1]["tool_call_id"] == "test_id"
|
304
|
+
assert messages[1]["type"] == "tool"
|
254
305
|
|
255
306
|
# Verify final response message
|
256
|
-
assert messages[2]["content"] == "
|
307
|
+
assert messages[2]["content"] == "partial response final"
|
257
308
|
assert messages[2]["id"] == "test_run"
|
258
309
|
|
259
|
-
# Verify
|
310
|
+
# Verify stream handler was called for tool operations and content chunks
|
311
|
+
stream_handler_mock.new_status.assert_any_call(
|
312
|
+
"\n\nCalling tool: `test_tool` with args: `{'arg1': 'value1'}`"
|
313
|
+
)
|
314
|
+
stream_handler_mock.new_status.assert_any_call("\n\nTool response: `tool response`")
|
315
|
+
stream_handler_mock.new_token.assert_any_call("partial response")
|
316
|
+
stream_handler_mock.new_token.assert_any_call(" final")
|
317
|
+
|
318
|
+
# Verify run_id was set in session state
|
260
319
|
assert st_mock.session_state["run_id"] == "test_run"
|