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.
Files changed (235) hide show
  1. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/PKG-INFO +1 -1
  2. agent_starter_pack-0.5.1/docs/guide/installation.md +151 -0
  3. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/pyproject.toml +1 -1
  4. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit/frontend/utils/stream_handler.py +13 -4
  5. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/test_frontend/test_utils/test_stream_handler.py +77 -18
  6. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/uv.lock +2580 -2580
  7. agent_starter_pack-0.5.0/docs/guide/installation.md +0 -64
  8. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/cd/test_e2e.yaml +0 -0
  9. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/ci/build_use_wheel.yaml +0 -0
  10. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/ci/lint.yaml +0 -0
  11. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/ci/lint_templated_agents.yaml +0 -0
  12. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/ci/test.yaml +0 -0
  13. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/ci/test_templated_agents.yaml +0 -0
  14. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/terraform/apis.tf +0 -0
  15. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/terraform/build_triggers.tf +0 -0
  16. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/terraform/service_account.tf +0 -0
  17. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/terraform/storage.tf +0 -0
  18. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.cloudbuild/terraform/variables.tf +0 -0
  19. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.github/workflows/docs.yml +0 -0
  20. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/.gitignore +0 -0
  21. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/CODE_OF_CONDUCT.md +0 -0
  22. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/CONTRIBUTING.md +0 -0
  23. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/LICENSE +0 -0
  24. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/Makefile +0 -0
  25. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/README.md +0 -0
  26. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/adk_base/README.md +0 -0
  27. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/adk_base/app/agent.py +0 -0
  28. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/adk_base/notebooks/adk_app_testing.ipynb +0 -0
  29. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/adk_base/notebooks/evaluating_adk_agent.ipynb +0 -0
  30. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/adk_base/template/.templateconfig.yaml +0 -0
  31. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/adk_base/tests/integration/test_agent.py +0 -0
  32. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/agentic_rag/README.md +0 -0
  33. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/agentic_rag/app/agent.py +0 -0
  34. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/agentic_rag/app/retrievers.py +0 -0
  35. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/agentic_rag/app/templates.py +0 -0
  36. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/agentic_rag/notebooks/adk_app_testing.ipynb +0 -0
  37. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb +0 -0
  38. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/agentic_rag/template/.templateconfig.yaml +0 -0
  39. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/agentic_rag/tests/integration/test_agent.py +0 -0
  40. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/crewai_coding_crew/README.md +0 -0
  41. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/crewai_coding_crew/app/agent.py +0 -0
  42. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/crewai_coding_crew/app/crew/config/agents.yaml +0 -0
  43. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/crewai_coding_crew/app/crew/config/tasks.yaml +0 -0
  44. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/crewai_coding_crew/app/crew/crew.py +0 -0
  45. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb +0 -0
  46. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/crewai_coding_crew/notebooks/evaluating_langgraph_agent.ipynb +0 -0
  47. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/crewai_coding_crew/template/.templateconfig.yaml +0 -0
  48. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/crewai_coding_crew/tests/integration/test_agent.py +0 -0
  49. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/langgraph_base_react/README.md +0 -0
  50. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/langgraph_base_react/app/agent.py +0 -0
  51. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb +0 -0
  52. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/langgraph_base_react/template/.templateconfig.yaml +0 -0
  53. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/langgraph_base_react/tests/integration/test_agent.py +0 -0
  54. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/live_api/README.md +0 -0
  55. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/live_api/app/agent.py +0 -0
  56. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/live_api/app/server.py +0 -0
  57. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/live_api/template/.templateconfig.yaml +0 -0
  58. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/live_api/tests/integration/test_server_e2e.py +0 -0
  59. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/live_api/tests/load_test/load_test.py +0 -0
  60. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/agents/live_api/tests/unit/test_server.py +0 -0
  61. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/.vitepress/config.js +0 -0
  62. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/agents/overview.md +0 -0
  63. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/cli/create.md +0 -0
  64. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/cli/index.md +0 -0
  65. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/cli/setup_cicd.md +0 -0
  66. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/guide/data-ingestion.md +0 -0
  67. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/guide/deployment.md +0 -0
  68. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/guide/development-guide.md +0 -0
  69. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/guide/getting-started.md +0 -0
  70. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/guide/observability.md +0 -0
  71. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/guide/troubleshooting.md +0 -0
  72. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/guide/video-tutorials.md +0 -0
  73. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/guide/why_starter_pack.md +0 -0
  74. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/images/adk_logo.png +0 -0
  75. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/images/agent_starter_pack_screenshot.png +0 -0
  76. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/images/ags_high_level_architecture.png +0 -0
  77. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/images/icon.png +0 -0
  78. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/images/logo.png +0 -0
  79. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/images/prototype_to_prod.png +0 -0
  80. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/images/why_sp_edited.png +0 -0
  81. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/images/why_starter_pack.png +0 -0
  82. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/index.md +0 -0
  83. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/package-lock.json +0 -0
  84. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/docs/package.json +0 -0
  85. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/.gitignore +0 -0
  86. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/Makefile +0 -0
  87. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/README.md +0 -0
  88. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/app/__init__.py +0 -0
  89. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/app/utils/tracing.py +0 -0
  90. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/app/utils/typing.py +0 -0
  91. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/README.md +0 -0
  92. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/cd/deploy-to-prod.yaml +0 -0
  93. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/cd/staging.yaml +0 -0
  94. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/ci/pr_checks.yaml +0 -0
  95. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/apis.tf +0 -0
  96. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/build_triggers.tf +0 -0
  97. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/dev/apis.tf +0 -0
  98. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/dev/iam.tf +0 -0
  99. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/dev/log_sinks.tf +0 -0
  100. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/dev/providers.tf +0 -0
  101. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/dev/storage.tf +0 -0
  102. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/dev/variables.tf +0 -0
  103. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/dev/vars/env.tfvars +0 -0
  104. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/iam.tf +0 -0
  105. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/locals.tf +0 -0
  106. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/log_sinks.tf +0 -0
  107. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/providers.tf +0 -0
  108. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/service_accounts.tf +0 -0
  109. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/storage.tf +0 -0
  110. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/variables.tf +0 -0
  111. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/deployment/terraform/vars/env.tfvars +0 -0
  112. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/pyproject.toml +0 -0
  113. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/base_template/tests/unit/test_dummy.py +0 -0
  114. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/commands/create.py +0 -0
  115. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/commands/setup_cicd.py +0 -0
  116. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/main.py +0 -0
  117. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/utils/__init__.py +0 -0
  118. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/utils/cicd.py +0 -0
  119. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/utils/datastores.py +0 -0
  120. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/utils/gcp.py +0 -0
  121. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/utils/logging.py +0 -0
  122. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/utils/template.py +0 -0
  123. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/cli/utils/version.py +0 -0
  124. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/data_ingestion/README.md +0 -0
  125. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +0 -0
  126. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/data_ingestion/data_ingestion_pipeline/components/process_data.py +0 -0
  127. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/data_ingestion/data_ingestion_pipeline/pipeline.py +0 -0
  128. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/data_ingestion/data_ingestion_pipeline/submit_pipeline.py +0 -0
  129. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/data_ingestion/pyproject.toml +0 -0
  130. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/data_ingestion/uv.lock +0 -0
  131. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/agent_engine/app/agent_engine_app.py +0 -0
  132. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/agent_engine/app/utils/gcs.py +0 -0
  133. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/agent_engine/deployment_metadata.json +0 -0
  134. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb +0 -0
  135. {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
  136. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/agent_engine/tests/load_test/.results/.placeholder +0 -0
  137. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/agent_engine/tests/load_test/README.md +0 -0
  138. {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
  139. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/cloud_run/Dockerfile +0 -0
  140. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/cloud_run/app/server.py +0 -0
  141. {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
  142. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +0 -0
  143. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/cloud_run/tests/load_test/README.md +0 -0
  144. {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
  145. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/deployment_targets/cloud_run/uv.lock +0 -0
  146. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/package-lock.json +0 -0
  147. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/package.json +0 -0
  148. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/public/favicon.ico +0 -0
  149. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/public/index.html +0 -0
  150. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/public/robots.txt +0 -0
  151. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/App.scss +0 -0
  152. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/App.test.tsx +0 -0
  153. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/App.tsx +0 -0
  154. {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
  155. {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
  156. {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
  157. {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
  158. {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
  159. {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
  160. {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
  161. {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
  162. {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
  163. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/contexts/LiveAPIContext.tsx +0 -0
  164. {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
  165. {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
  166. {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
  167. {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
  168. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/index.css +0 -0
  169. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/index.tsx +0 -0
  170. {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
  171. {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
  172. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/reportWebVitals.ts +0 -0
  173. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/setupTests.ts +0 -0
  174. {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
  175. {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
  176. {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
  177. {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
  178. {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
  179. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/src/utils/utils.ts +0 -0
  180. {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
  181. {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
  182. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/live_api_react/frontend/tsconfig.json +0 -0
  183. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit/frontend/side_bar.py +0 -0
  184. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit/frontend/streamlit_app.py +0 -0
  185. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit/frontend/style/app_markdown.py +0 -0
  186. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit/frontend/utils/chat_utils.py +0 -0
  187. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit/frontend/utils/local_chat_history.py +0 -0
  188. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit/frontend/utils/message_editing.py +0 -0
  189. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit/frontend/utils/multimodal_utils.py +0 -0
  190. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit/frontend/utils/title_summary.py +0 -0
  191. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit_adk/frontend/side_bar.py +0 -0
  192. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit_adk/frontend/streamlit_app.py +0 -0
  193. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit_adk/frontend/style/app_markdown.py +0 -0
  194. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit_adk/frontend/utils/chat_utils.py +0 -0
  195. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit_adk/frontend/utils/local_chat_history.py +0 -0
  196. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit_adk/frontend/utils/message_editing.py +0 -0
  197. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit_adk/frontend/utils/multimodal_utils.py +0 -0
  198. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit_adk/frontend/utils/stream_handler.py +0 -0
  199. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/frontends/streamlit_adk/frontend/utils/title_summary.py +0 -0
  200. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/containers/data_processing/Dockerfile +0 -0
  201. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/containers/e2e-tests/Dockerfile +0 -0
  202. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/idx/.idx/dev.nix +0 -0
  203. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/idx/idx-template.json +0 -0
  204. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/idx/idx-template.nix +0 -0
  205. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/locks/uv-adk_base-agent_engine.lock +0 -0
  206. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/locks/uv-adk_base-cloud_run.lock +0 -0
  207. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/locks/uv-agentic_rag-agent_engine.lock +0 -0
  208. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/locks/uv-agentic_rag-cloud_run.lock +0 -0
  209. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +0 -0
  210. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +0 -0
  211. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/locks/uv-langgraph_base_react-agent_engine.lock +0 -0
  212. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/locks/uv-langgraph_base_react-cloud_run.lock +0 -0
  213. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/locks/uv-live_api-cloud_run.lock +0 -0
  214. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/setup_cicd/cicd_variables.tf +0 -0
  215. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/setup_cicd/github.tf +0 -0
  216. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/resources/setup_cicd/providers.tf +0 -0
  217. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/utils/generate_locks.py +0 -0
  218. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/utils/lock_utils.py +0 -0
  219. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/src/utils/watch_and_rebuild.py +0 -0
  220. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/__init__.py +0 -0
  221. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/cicd/example.env +0 -0
  222. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/cicd/test_e2e_deployment.py +0 -0
  223. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/cli/commands/test_create.py +0 -0
  224. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/cli/commands/test_setup_cicd.py +0 -0
  225. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/cli/utils/test_cicd.py +0 -0
  226. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/integration/test_template_linting.py +0 -0
  227. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/integration/test_templated_patterns.py +0 -0
  228. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/test_frontend/test_side_bar.py +0 -0
  229. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/test_frontend/test_streamlit_app.py +0 -0
  230. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/test_frontend/test_utils/test_chat_utils.py +0 -0
  231. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/test_frontend/test_utils/test_local_chat_history.py +0 -0
  232. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/test_frontend/test_utils/test_message_editing.py +0 -0
  233. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/test_frontend/test_utils/test_multimodal_utils.py +0 -0
  234. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/utils/__init__.py +0 -0
  235. {agent_starter_pack-0.5.0 → agent_starter_pack-0.5.1}/tests/utils/get_agents.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-starter-pack
3
- Version: 0.5.0
3
+ Version: 0.5.1
4
4
  Summary: CLI to bootstrap production-ready Google Cloud GenAI agent projects from templates.
5
5
  Author-email: Google LLC <agent-starter-pack@google.com>
6
6
  License: Apache-2.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.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "agent-starter-pack"
3
- version = "0.5.0"
3
+ version = "0.5.1"
4
4
  description = "CLI to bootstrap production-ready Google Cloud GenAI agent projects from templates."
5
5
  authors = [
6
6
  { name = "Google LLC", email = "agent-starter-pack@google.com" },
@@ -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 responses
257
- elif content := message.get("content"):
258
- self.final_content += content
259
- self.stream_handler.new_token(content)
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": "final response"},
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 == "final response"
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 == 1
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
- ({"type": "constructor", "kwargs": {"content": "Hello"}}, {}),
135
- ({"type": "constructor", "kwargs": {"content": " World"}}, {}),
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
- ({"type": "constructor", "kwargs": {"content": "test response"}}, {})
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": {"tool_call_id": "test_id", "content": "tool response"},
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
- assert (
244
- len(messages) == 3
245
- ) # Should have tool call, tool response, and final response
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"] == "final response"
307
+ assert messages[2]["content"] == "partial response final"
257
308
  assert messages[2]["id"] == "test_run"
258
309
 
259
- # Verify run_id was updated
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"