agent-starter-pack 0.1.7__tar.gz → 0.2.0__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.
Potentially problematic release.
This version of agent-starter-pack might be problematic. Click here for more details.
- agent_starter_pack-0.2.0/.cloudbuild/cd/test_e2e.yaml +51 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.cloudbuild/ci/lint.yaml +3 -3
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.cloudbuild/ci/lint_templated_agents.yaml +3 -3
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.cloudbuild/ci/test.yaml +2 -4
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.cloudbuild/ci/test_templated_agents.yaml +3 -4
- agent_starter_pack-0.2.0/.cloudbuild/terraform/apis.tf +26 -0
- agent_starter_pack-0.2.0/.cloudbuild/terraform/build_triggers.tf +267 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.cloudbuild/terraform/service_account.tf +33 -13
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.cloudbuild/terraform/variables.tf +9 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/Makefile +1 -1
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/PKG-INFO +6 -6
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/README.md +5 -5
- {agent_starter_pack-0.1.7/agents/agentic_rag_vertexai_search → agent_starter_pack-0.2.0/agents/agentic_rag}/README.md +3 -3
- {agent_starter_pack-0.1.7/agents/agentic_rag_vertexai_search → agent_starter_pack-0.2.0/agents/agentic_rag}/app/agent.py +22 -6
- agent_starter_pack-0.2.0/agents/agentic_rag/app/retrievers.py +132 -0
- {agent_starter_pack-0.1.7/agents/agentic_rag_vertexai_search → agent_starter_pack-0.2.0/agents/agentic_rag}/notebooks/evaluating_langgraph_agent.ipynb +3 -3
- {agent_starter_pack-0.1.7/agents/agentic_rag_vertexai_search → agent_starter_pack-0.2.0/agents/agentic_rag}/template/.templateconfig.yaml +3 -5
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb +4 -4
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/crewai_coding_crew/notebooks/evaluating_langgraph_agent.ipynb +3 -3
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb +3 -3
- {agent_starter_pack-0.1.7/agents/multimodal_live_api → agent_starter_pack-0.2.0/agents/live_api}/README.md +7 -0
- {agent_starter_pack-0.1.7/agents/multimodal_live_api → agent_starter_pack-0.2.0/agents/live_api}/app/agent.py +3 -11
- {agent_starter_pack-0.1.7/agents/multimodal_live_api → agent_starter_pack-0.2.0/agents/live_api}/app/server.py +3 -2
- {agent_starter_pack-0.1.7/agents/multimodal_live_api → agent_starter_pack-0.2.0/agents/live_api}/template/.templateconfig.yaml +2 -2
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/docs/README.md +1 -1
- agent_starter_pack-0.2.0/docs/cli/create.md +45 -0
- agent_starter_pack-0.2.0/docs/cli/setup_cicd.md +127 -0
- agent_starter_pack-0.2.0/docs/data-ingestion.md +71 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/pyproject.toml +7 -3
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/Makefile +12 -7
- agent_starter_pack-0.2.0/src/base_template/README.md +202 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/app/utils/tracing.py +3 -1
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/app/utils/typing.py +1 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/cd/deploy-to-prod.yaml +10 -4
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/cd/staging.yaml +11 -10
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/ci/pr_checks.yaml +1 -1
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/apis.tf +6 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/build_triggers.tf +34 -21
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/dev/iam.tf +13 -6
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/dev/log_sinks.tf +25 -28
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/dev/providers.tf +1 -0
- agent_starter_pack-0.2.0/src/base_template/deployment/terraform/dev/storage.tf +122 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/dev/variables.tf +50 -53
- agent_starter_pack-0.2.0/src/base_template/deployment/terraform/dev/vars/env.tfvars +23 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/iam.tf +3 -3
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/log_sinks.tf +24 -26
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/providers.tf +2 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/service_accounts.tf +7 -7
- agent_starter_pack-0.2.0/src/base_template/deployment/terraform/storage.tf +212 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/variables.tf +49 -70
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/vars/env.tfvars +12 -17
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/pyproject.toml +4 -3
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/cli/commands/create.py +79 -19
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/cli/commands/setup_cicd.py +91 -22
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/cli/main.py +3 -1
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/cli/utils/__init__.py +9 -2
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/cli/utils/cicd.py +12 -0
- agent_starter_pack-0.2.0/src/cli/utils/datastores.py +32 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/cli/utils/gcp.py +4 -6
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/cli/utils/template.py +127 -45
- agent_starter_pack-0.2.0/src/cli/utils/version.py +87 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/data_ingestion/README.md +24 -19
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +135 -2
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/data_ingestion/data_ingestion_pipeline/components/process_data.py +276 -2
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/data_ingestion/data_ingestion_pipeline/pipeline.py +28 -5
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/data_ingestion/data_ingestion_pipeline/submit_pipeline.py +49 -14
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/data_ingestion/pyproject.toml +1 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/agent_engine/app/agent_engine_app.py +3 -1
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/cloud_run/tests/unit/test_server.py +15 -33
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/package-lock.json +208 -168
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/package.json +1 -1
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/resources/containers/data_processing/Dockerfile +3 -1
- agent_starter_pack-0.1.7/src/resources/locks/uv-agentic_rag_vertexai_search-agent_engine.lock → agent_starter_pack-0.2.0/src/resources/locks/uv-agentic_rag-agent_engine.lock +747 -694
- agent_starter_pack-0.1.7/src/resources/locks/uv-langgraph_base_react-cloud_run.lock → agent_starter_pack-0.2.0/src/resources/locks/uv-agentic_rag-cloud_run.lock +1029 -802
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +651 -694
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +813 -789
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/resources/locks/uv-langgraph_base_react-agent_engine.lock +666 -686
- agent_starter_pack-0.1.7/src/resources/locks/uv-agentic_rag_vertexai_search-cloud_run.lock → agent_starter_pack-0.2.0/src/resources/locks/uv-langgraph_base_react-cloud_run.lock +848 -887
- agent_starter_pack-0.1.7/src/resources/locks/uv-multimodal_live_api-cloud_run.lock → agent_starter_pack-0.2.0/src/resources/locks/uv-live_api-cloud_run.lock +856 -791
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/resources/setup_cicd/cicd_variables.tf +5 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/resources/setup_cicd/github.tf +4 -2
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/utils/watch_and_rebuild.py +14 -0
- agent_starter_pack-0.2.0/tests/__init__.py +1 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/cicd/test_e2e_deployment.py +424 -92
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/cli/commands/test_create.py +2 -10
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/cli/commands/test_setup_cicd.py +0 -28
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/integration/test_template_linting.py +30 -54
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/integration/test_templated_patterns.py +46 -63
- agent_starter_pack-0.2.0/tests/utils/__init__.py +1 -0
- agent_starter_pack-0.2.0/tests/utils/get_agents.py +70 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/uv.lock +222 -246
- agent_starter_pack-0.1.7/.cloudbuild/terraform/build_triggers.tf +0 -164
- agent_starter_pack-0.1.7/agents/agentic_rag_vertexai_search/app/retrievers.py +0 -79
- agent_starter_pack-0.1.7/docs/cli/create.md +0 -41
- agent_starter_pack-0.1.7/docs/cli/setup_cicd.md +0 -100
- agent_starter_pack-0.1.7/docs/data-ingestion.md +0 -60
- agent_starter_pack-0.1.7/src/base_template/README.md +0 -202
- agent_starter_pack-0.1.7/src/base_template/deployment/terraform/dev/storage.tf +0 -64
- agent_starter_pack-0.1.7/src/base_template/deployment/terraform/dev/vars/env.tfvars +0 -21
- agent_starter_pack-0.1.7/src/base_template/deployment/terraform/storage.tf +0 -100
- agent_starter_pack-0.1.7/src/deployment_targets/cloud_run/deployment/terraform/artifact_registry.tf +0 -22
- agent_starter_pack-0.1.7/src/deployment_targets/cloud_run/deployment/terraform/dev/service_accounts.tf +0 -20
- agent_starter_pack-0.1.7/tests/integration/test_io_patterns.py +0 -87
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.cloudbuild/terraform/storage.tf +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.gitignore +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/CODE_OF_CONDUCT.md +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/CONTRIBUTING.md +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/LICENSE +0 -0
- {agent_starter_pack-0.1.7/agents/agentic_rag_vertexai_search → agent_starter_pack-0.2.0/agents/agentic_rag}/app/templates.py +0 -0
- {agent_starter_pack-0.1.7/agents/agentic_rag_vertexai_search → agent_starter_pack-0.2.0/agents/agentic_rag}/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/crewai_coding_crew/README.md +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/crewai_coding_crew/app/agent.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/crewai_coding_crew/app/crew/config/agents.yaml +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/crewai_coding_crew/app/crew/config/tasks.yaml +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/crewai_coding_crew/app/crew/crew.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/crewai_coding_crew/template/.templateconfig.yaml +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/crewai_coding_crew/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/langgraph_base_react/README.md +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/langgraph_base_react/app/agent.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/langgraph_base_react/template/.templateconfig.yaml +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/langgraph_base_react/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.1.7/agents/multimodal_live_api → agent_starter_pack-0.2.0/agents/live_api}/app/templates.py +0 -0
- {agent_starter_pack-0.1.7/agents/multimodal_live_api → agent_starter_pack-0.2.0/agents/live_api}/app/vector_store.py +0 -0
- {agent_starter_pack-0.1.7/agents/multimodal_live_api → agent_starter_pack-0.2.0/agents/live_api}/tests/integration/test_server_e2e.py +0 -0
- {agent_starter_pack-0.1.7/agents/multimodal_live_api → agent_starter_pack-0.2.0/agents/live_api}/tests/load_test/load_test.py +0 -0
- {agent_starter_pack-0.1.7/agents/multimodal_live_api → agent_starter_pack-0.2.0/agents/live_api}/tests/unit/test_server.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/docs/cli/README.md +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/docs/deployment.md +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/docs/images/ags_banner.png +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/docs/images/ags_high_level_architecture.png +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/docs/installation.md +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/docs/observability.md +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/docs/troubleshooting.md +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/docs/why_starter_pack.md +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/.gitignore +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/README.md +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/dev/apis.tf +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/locals.tf +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/tests/unit/test_utils/test_tracing_exporter.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/cli/utils/logging.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/data_ingestion/uv.lock +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/agent_engine/app/utils/gcs.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/agent_engine/deployment_metadata.json +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/agent_engine/tests/load_test/.results/.placeholder +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/agent_engine/tests/load_test/README.md +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/agent_engine/tests/load_test/load_test.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/agent_engine/tests/unit/test_dummy.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/cloud_run/Dockerfile +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/cloud_run/app/server.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/cloud_run/tests/load_test/README.md +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/cloud_run/tests/load_test/load_test.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/cloud_run/uv.lock +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/public/favicon.ico +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/public/index.html +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/public/robots.txt +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/App.scss +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/App.test.tsx +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/App.tsx +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/components/audio-pulse/AudioPulse.tsx +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/components/audio-pulse/audio-pulse.scss +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/components/control-tray/ControlTray.tsx +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/components/control-tray/control-tray.scss +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/components/logger/Logger.tsx +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/components/logger/logger.scss +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/components/logger/mock-logs.ts +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/components/side-panel/SidePanel.tsx +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/components/side-panel/side-panel.scss +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/contexts/LiveAPIContext.tsx +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/hooks/use-live-api.ts +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/hooks/use-media-stream-mux.ts +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/hooks/use-screen-capture.ts +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/hooks/use-webcam.ts +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/index.css +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/index.tsx +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/multimodal-live-types.ts +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/react-app-env.d.ts +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/reportWebVitals.ts +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/setupTests.ts +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/utils/audio-recorder.ts +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/utils/audio-streamer.ts +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/utils/audioworklet-registry.ts +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/utils/multimodal-live-client.ts +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/utils/store-logger.ts +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/utils/utils.ts +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/utils/worklets/audio-processing.ts +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/utils/worklets/vol-meter.ts +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/tsconfig.json +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/streamlit/frontend/side_bar.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/streamlit/frontend/streamlit_app.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/streamlit/frontend/style/app_markdown.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/streamlit/frontend/utils/chat_utils.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/streamlit/frontend/utils/local_chat_history.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/streamlit/frontend/utils/message_editing.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/streamlit/frontend/utils/multimodal_utils.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/streamlit/frontend/utils/stream_handler.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/streamlit/frontend/utils/title_summary.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/resources/containers/e2e-tests/Dockerfile +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/resources/setup_cicd/providers.tf +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/utils/generate_locks.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/utils/lock_utils.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/cicd/example.env +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/cli/utils/test_cicd.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/test_frontend/test_side_bar.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/test_frontend/test_streamlit_app.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/test_frontend/test_utils/test_chat_utils.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/test_frontend/test_utils/test_local_chat_history.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/test_frontend/test_utils/test_message_editing.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/test_frontend/test_utils/test_multimodal_utils.py +0 -0
- {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/test_frontend/test_utils/test_stream_handler.py +0 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
# Sync dependencies
|
|
17
|
+
- name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
|
|
18
|
+
id: install-dependencies
|
|
19
|
+
entrypoint: /bin/bash
|
|
20
|
+
args:
|
|
21
|
+
- "-c"
|
|
22
|
+
- |
|
|
23
|
+
uv sync --dev --frozen
|
|
24
|
+
|
|
25
|
+
# Run unit tests using pytest
|
|
26
|
+
- name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
|
|
27
|
+
id: e2e-tests
|
|
28
|
+
entrypoint: /bin/bash
|
|
29
|
+
args:
|
|
30
|
+
- "-c"
|
|
31
|
+
- |
|
|
32
|
+
GH_TOKEN=$$GITHUB_PAT uv run pytest tests/cicd/test_e2e_deployment.py -v
|
|
33
|
+
secretEnv: ['GITHUB_PAT', 'GITHUB_APP_INSTALLATION_ID']
|
|
34
|
+
|
|
35
|
+
availableSecrets:
|
|
36
|
+
secretManager:
|
|
37
|
+
- versionName: projects/$PROJECT_ID/secrets/github-pat/versions/latest
|
|
38
|
+
env: 'GITHUB_PAT'
|
|
39
|
+
- versionName: projects/$PROJECT_ID/secrets/github-app-installation-id/versions/latest
|
|
40
|
+
env: 'GITHUB_APP_INSTALLATION_ID'
|
|
41
|
+
logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
|
|
42
|
+
options:
|
|
43
|
+
defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
|
|
44
|
+
env:
|
|
45
|
+
- "_TEST_AGENT_COMBINATION=${_TEST_AGENT_COMBINATION}"
|
|
46
|
+
- "E2E_DEV_PROJECT=${_E2E_DEV_PROJECT}"
|
|
47
|
+
- "E2E_STAGING_PROJECT=${_E2E_STAGING_PROJECT}"
|
|
48
|
+
- "E2E_PROD_PROJECT=${_E2E_PROD_PROJECT}"
|
|
49
|
+
- "E2E_CICD_PROJECT=${PROJECT_ID}"
|
|
50
|
+
- "RUN_E2E_TESTS=1"
|
|
51
|
+
timeout: 14400s
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
steps:
|
|
16
16
|
# Sync dependencies
|
|
17
|
-
- name: "
|
|
17
|
+
- name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
|
|
18
18
|
id: install-dependencies
|
|
19
19
|
entrypoint: /bin/bash
|
|
20
20
|
args:
|
|
@@ -23,7 +23,7 @@ steps:
|
|
|
23
23
|
uv sync --dev --extra lint --frozen
|
|
24
24
|
|
|
25
25
|
# Run unit tests using pytest
|
|
26
|
-
- name: "
|
|
26
|
+
- name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
|
|
27
27
|
id: lint
|
|
28
28
|
entrypoint: /bin/bash
|
|
29
29
|
args:
|
|
@@ -32,7 +32,7 @@ steps:
|
|
|
32
32
|
set -e
|
|
33
33
|
uv run ruff check . --config pyproject.toml --diff
|
|
34
34
|
uv run ruff format . --check --config pyproject.toml --diff
|
|
35
|
-
uv run mypy --config-file pyproject.toml ./agents ./src/cli ./tests ./src/
|
|
35
|
+
uv run mypy --config-file pyproject.toml ./agents ./src/cli ./tests ./src/frontends/streamlit
|
|
36
36
|
|
|
37
37
|
logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
|
|
38
38
|
options:
|
{agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.cloudbuild/ci/lint_templated_agents.yaml
RENAMED
|
@@ -14,16 +14,16 @@
|
|
|
14
14
|
|
|
15
15
|
steps:
|
|
16
16
|
# Sync dependencies
|
|
17
|
-
- name: "
|
|
17
|
+
- name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
|
|
18
18
|
id: install-dependencies
|
|
19
19
|
entrypoint: /bin/bash
|
|
20
20
|
args:
|
|
21
21
|
- "-c"
|
|
22
22
|
- |
|
|
23
|
-
uv sync --
|
|
23
|
+
uv sync --frozen
|
|
24
24
|
|
|
25
25
|
# Run unit tests using pytest
|
|
26
|
-
- name: "
|
|
26
|
+
- name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
|
|
27
27
|
id: lint-templated-agents
|
|
28
28
|
entrypoint: /bin/bash
|
|
29
29
|
args:
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
steps:
|
|
16
16
|
# Sync dependencies
|
|
17
|
-
- name: "
|
|
17
|
+
- name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
|
|
18
18
|
id: install-dependencies
|
|
19
19
|
entrypoint: /bin/bash
|
|
20
20
|
args:
|
|
@@ -23,7 +23,7 @@ steps:
|
|
|
23
23
|
uv sync --dev --frozen
|
|
24
24
|
|
|
25
25
|
# Run unit tests using pytest
|
|
26
|
-
- name: "
|
|
26
|
+
- name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
|
|
27
27
|
id: unit-tests
|
|
28
28
|
entrypoint: /bin/bash
|
|
29
29
|
args:
|
|
@@ -35,5 +35,3 @@ steps:
|
|
|
35
35
|
logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
|
|
36
36
|
options:
|
|
37
37
|
defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
|
|
38
|
-
env:
|
|
39
|
-
- "INTEGRATION_TEST=TRUE"
|
{agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.cloudbuild/ci/test_templated_agents.yaml
RENAMED
|
@@ -14,16 +14,16 @@
|
|
|
14
14
|
|
|
15
15
|
steps:
|
|
16
16
|
# Sync dependencies
|
|
17
|
-
- name: "
|
|
17
|
+
- name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
|
|
18
18
|
id: install-dependencies
|
|
19
19
|
entrypoint: /bin/bash
|
|
20
20
|
args:
|
|
21
21
|
- "-c"
|
|
22
22
|
- |
|
|
23
|
-
uv sync --
|
|
23
|
+
uv sync --frozen
|
|
24
24
|
|
|
25
25
|
# Run unit tests using pytest
|
|
26
|
-
- name: "
|
|
26
|
+
- name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
|
|
27
27
|
id: test-templated-agents
|
|
28
28
|
entrypoint: /bin/bash
|
|
29
29
|
args:
|
|
@@ -36,4 +36,3 @@ options:
|
|
|
36
36
|
defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
|
|
37
37
|
env:
|
|
38
38
|
- "_TEST_AGENT_COMBINATION=${_TEST_AGENT_COMBINATION}"
|
|
39
|
-
- "INTEGRATION_TEST=TRUE"
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
# Enable Cloud Resource Manager API for each project in e2e_test_project_mapping
|
|
16
|
+
resource "google_project_service" "cloud_resource_manager_api" {
|
|
17
|
+
for_each = {
|
|
18
|
+
"dev" = var.e2e_test_project_mapping.dev
|
|
19
|
+
"staging" = var.e2e_test_project_mapping.staging
|
|
20
|
+
"prod" = var.e2e_test_project_mapping.prod
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
project = each.value
|
|
24
|
+
service = "cloudresourcemanager.googleapis.com"
|
|
25
|
+
disable_on_destroy = false
|
|
26
|
+
}
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
# Define local variables for reuse
|
|
16
|
+
locals {
|
|
17
|
+
repository_path = "projects/${var.cicd_runner_project_id}/locations/${var.region}/connections/${var.host_connection_name}/repositories/${var.repository_name}"
|
|
18
|
+
|
|
19
|
+
# Define common ignored files
|
|
20
|
+
common_ignored_files = [
|
|
21
|
+
"**/*.md",
|
|
22
|
+
"**/Makefile",
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
common_included_files = [
|
|
26
|
+
"agents/**",
|
|
27
|
+
"src/cli/**",
|
|
28
|
+
"tests/**",
|
|
29
|
+
"src/data_ingestion/**",
|
|
30
|
+
"src/frontends/streamlit/**",
|
|
31
|
+
"pyproject.toml",
|
|
32
|
+
"uv.lock",
|
|
33
|
+
".cloudbuild/**",
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
lint_templated_agents_included_files = [
|
|
37
|
+
"src/cli/**",
|
|
38
|
+
"src/base_template/**",
|
|
39
|
+
"src/data_ingestion/**",
|
|
40
|
+
"src/deployment_targets/**",
|
|
41
|
+
"tests/integration/test_template_linting.py",
|
|
42
|
+
"tests/integration/test_templated_patterns.py",
|
|
43
|
+
"src/resources/locks/**",
|
|
44
|
+
"pyproject.toml",
|
|
45
|
+
"uv.lock",
|
|
46
|
+
".cloudbuild/**",
|
|
47
|
+
]
|
|
48
|
+
|
|
49
|
+
# Define a local variable for agent/deployment combinations
|
|
50
|
+
agent_testing_combinations = [
|
|
51
|
+
{
|
|
52
|
+
name = "langgraph_base_react-agent_engine"
|
|
53
|
+
value = "langgraph_base_react,agent_engine"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name = "langgraph_base_react-cloud_run"
|
|
57
|
+
value = "langgraph_base_react,cloud_run"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name = "crewai_coding_crew-agent_engine"
|
|
61
|
+
value = "crewai_coding_crew,agent_engine"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name = "crewai_coding_crew-cloud_run"
|
|
65
|
+
value = "crewai_coding_crew,cloud_run"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name = "agentic_rag-agent_engine-vertex_ai_search"
|
|
69
|
+
value = "agentic_rag,agent_engine,--include-data-ingestion,--datastore,vertex_ai_search"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
name = "agentic_rag-cloud_run-vertex_ai_vector_search"
|
|
73
|
+
value = "agentic_rag,cloud_run,--include-data-ingestion,--datastore,vertex_ai_vector_search"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
name = "live_api-cloud_run"
|
|
77
|
+
value = "live_api,cloud_run"
|
|
78
|
+
},
|
|
79
|
+
]
|
|
80
|
+
|
|
81
|
+
agent_testing_included_files = { for combo in local.agent_testing_combinations :
|
|
82
|
+
combo.name => [
|
|
83
|
+
# Only include files for the specific agent being tested
|
|
84
|
+
"agents/${split(",", combo.value)[0]}/**",
|
|
85
|
+
# Common files that affect all agents
|
|
86
|
+
"src/cli/**",
|
|
87
|
+
"src/base_template/**",
|
|
88
|
+
"src/deployment_targets/**",
|
|
89
|
+
"tests/integration/test_template_linting.py",
|
|
90
|
+
"tests/integration/test_templated_patterns.py",
|
|
91
|
+
"src/resources/locks/**",
|
|
92
|
+
"pyproject.toml",
|
|
93
|
+
"uv.lock",
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
e2e_agent_deployment_combinations = [
|
|
97
|
+
{
|
|
98
|
+
name = "langgraph_base_react-agent_engine"
|
|
99
|
+
value = "langgraph_base_react,agent_engine"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
name = "agentic_rag-agent_engine-vertex_ai_search"
|
|
103
|
+
value = "agentic_rag,agent_engine,--include-data-ingestion,--datastore,vertex_ai_search"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
name = "agentic_rag-cloud_run-vertex_ai_vector_search"
|
|
107
|
+
value = "agentic_rag,cloud_run,--include-data-ingestion,--datastore,vertex_ai_vector_search"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
name = "live_api-cloud_run"
|
|
111
|
+
value = "live_api,cloud_run"
|
|
112
|
+
},
|
|
113
|
+
]
|
|
114
|
+
|
|
115
|
+
# Create a safe trigger name by replacing underscores with hyphens and dots with hyphens
|
|
116
|
+
# This ensures we have valid trigger names that don't exceed character limits
|
|
117
|
+
trigger_name_safe = { for combo in local.agent_testing_combinations :
|
|
118
|
+
combo.name => replace(replace(combo.name, "_", "-"), ".", "-")
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
e2e_agent_deployment_included_files = { for combo in local.agent_testing_combinations :
|
|
122
|
+
combo.name => [
|
|
123
|
+
# Only include files for the specific agent being tested
|
|
124
|
+
"agents/${split(",", combo.value)[0]}/**",
|
|
125
|
+
# Common files that affect all agents
|
|
126
|
+
"src/cli/**",
|
|
127
|
+
"src/base_template/**",
|
|
128
|
+
"src/data_ingestion/**",
|
|
129
|
+
"src/deployment_targets/**",
|
|
130
|
+
"tests/cicd/test_e2e_deployment.py",
|
|
131
|
+
"src/resources/locks/**",
|
|
132
|
+
"pyproject.toml",
|
|
133
|
+
"uv.lock",
|
|
134
|
+
".cloudbuild"
|
|
135
|
+
]
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
# a. Create PR Tests checks trigger
|
|
140
|
+
resource "google_cloudbuild_trigger" "pr_tests" {
|
|
141
|
+
name = "pr-tests"
|
|
142
|
+
project = var.cicd_runner_project_id
|
|
143
|
+
location = var.region
|
|
144
|
+
description = "Trigger for PR checks"
|
|
145
|
+
service_account = resource.google_service_account.cicd_runner_sa.id
|
|
146
|
+
|
|
147
|
+
repository_event_config {
|
|
148
|
+
repository = local.repository_path
|
|
149
|
+
pull_request {
|
|
150
|
+
branch = "main"
|
|
151
|
+
comment_control = "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
filename = ".cloudbuild/ci/test.yaml"
|
|
156
|
+
included_files = local.common_included_files
|
|
157
|
+
ignored_files = local.common_ignored_files
|
|
158
|
+
include_build_logs = "INCLUDE_BUILD_LOGS_WITH_STATUS"
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
# b. Create Lint trigger
|
|
162
|
+
resource "google_cloudbuild_trigger" "pr_lint" {
|
|
163
|
+
name = "pr-lint"
|
|
164
|
+
project = var.cicd_runner_project_id
|
|
165
|
+
location = var.region
|
|
166
|
+
description = "Trigger for PR checks"
|
|
167
|
+
service_account = resource.google_service_account.cicd_runner_sa.id
|
|
168
|
+
|
|
169
|
+
repository_event_config {
|
|
170
|
+
repository = local.repository_path
|
|
171
|
+
pull_request {
|
|
172
|
+
branch = "main"
|
|
173
|
+
comment_control = "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
filename = ".cloudbuild/ci/lint.yaml"
|
|
178
|
+
included_files = local.common_included_files
|
|
179
|
+
ignored_files = local.common_ignored_files
|
|
180
|
+
include_build_logs = "INCLUDE_BUILD_LOGS_WITH_STATUS"
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
# c. Create Templated Agents Lint trigger for PRs - one for each agent/deployment combination:
|
|
184
|
+
resource "google_cloudbuild_trigger" "pr_templated_agents_lint" {
|
|
185
|
+
for_each = { for combo in local.agent_testing_combinations : combo.name => combo }
|
|
186
|
+
|
|
187
|
+
name = "lint-${local.trigger_name_safe[each.key]}"
|
|
188
|
+
project = var.cicd_runner_project_id
|
|
189
|
+
location = var.region
|
|
190
|
+
description = "Trigger for PR lint checks on templated agents: ${each.value.name}"
|
|
191
|
+
service_account = resource.google_service_account.cicd_runner_sa.id
|
|
192
|
+
|
|
193
|
+
repository_event_config {
|
|
194
|
+
repository = local.repository_path
|
|
195
|
+
pull_request {
|
|
196
|
+
branch = "main"
|
|
197
|
+
comment_control = "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
filename = ".cloudbuild/ci/lint_templated_agents.yaml"
|
|
202
|
+
included_files = local.agent_testing_included_files[each.key]
|
|
203
|
+
ignored_files = local.common_ignored_files
|
|
204
|
+
include_build_logs = "INCLUDE_BUILD_LOGS_WITH_STATUS"
|
|
205
|
+
|
|
206
|
+
substitutions = {
|
|
207
|
+
_TEST_AGENT_COMBINATION = each.value.value
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
# d. Create Templated Agents Integration Test triggers for PRs - one for each agent/deployment combination
|
|
212
|
+
resource "google_cloudbuild_trigger" "pr_templated_agents_test" {
|
|
213
|
+
for_each = { for combo in local.agent_testing_combinations : combo.name => combo }
|
|
214
|
+
|
|
215
|
+
name = "test-${local.trigger_name_safe[each.key]}"
|
|
216
|
+
project = var.cicd_runner_project_id
|
|
217
|
+
location = var.region
|
|
218
|
+
description = "Trigger for PR checks on templated agents tests: ${each.value.name}"
|
|
219
|
+
service_account = resource.google_service_account.cicd_runner_sa.id
|
|
220
|
+
|
|
221
|
+
repository_event_config {
|
|
222
|
+
repository = local.repository_path
|
|
223
|
+
pull_request {
|
|
224
|
+
branch = "main"
|
|
225
|
+
comment_control = "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
filename = ".cloudbuild/ci/test_templated_agents.yaml"
|
|
230
|
+
included_files = local.agent_testing_included_files[each.key]
|
|
231
|
+
ignored_files = local.common_ignored_files
|
|
232
|
+
include_build_logs = "INCLUDE_BUILD_LOGS_WITH_STATUS"
|
|
233
|
+
|
|
234
|
+
substitutions = {
|
|
235
|
+
_TEST_AGENT_COMBINATION = each.value.value
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
# e. Create E2E Deployment Test triggers for main branch commits - one for each agent/deployment combination
|
|
240
|
+
resource "google_cloudbuild_trigger" "main_e2e_deployment_test" {
|
|
241
|
+
for_each = { for combo in local.e2e_agent_deployment_combinations : combo.name => combo }
|
|
242
|
+
|
|
243
|
+
name = "e2e-deploy-${local.trigger_name_safe[each.key]}"
|
|
244
|
+
project = var.cicd_runner_project_id
|
|
245
|
+
location = var.region
|
|
246
|
+
description = "Trigger for E2E deployment tests on main branch: ${each.value.name}"
|
|
247
|
+
service_account = resource.google_service_account.cicd_runner_sa.id
|
|
248
|
+
|
|
249
|
+
repository_event_config {
|
|
250
|
+
repository = local.repository_path
|
|
251
|
+
push {
|
|
252
|
+
branch = "main"
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
filename = ".cloudbuild/cd/test_e2e.yaml"
|
|
257
|
+
included_files = local.e2e_agent_deployment_included_files[each.key]
|
|
258
|
+
ignored_files = local.common_ignored_files
|
|
259
|
+
include_build_logs = "INCLUDE_BUILD_LOGS_UNSPECIFIED"
|
|
260
|
+
|
|
261
|
+
substitutions = {
|
|
262
|
+
_TEST_AGENT_COMBINATION = each.value.value
|
|
263
|
+
_E2E_DEV_PROJECT = var.e2e_test_project_mapping.dev
|
|
264
|
+
_E2E_STAGING_PROJECT = var.e2e_test_project_mapping.staging
|
|
265
|
+
_E2E_PROD_PROJECT = var.e2e_test_project_mapping.prod
|
|
266
|
+
}
|
|
267
|
+
}
|
{agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.cloudbuild/terraform/service_account.tf
RENAMED
|
@@ -11,31 +11,51 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
+
# Define local variables for roles
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
locals {
|
|
18
|
+
cicd_runner_roles = [
|
|
19
|
+
"roles/owner",
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
e2e_project_roles = [
|
|
23
|
+
"roles/owner",
|
|
24
|
+
]
|
|
25
|
+
}
|
|
14
26
|
|
|
15
27
|
# Create a service account for CICD runner
|
|
16
28
|
resource "google_service_account" "cicd_runner_sa" {
|
|
17
29
|
project = var.cicd_runner_project_id
|
|
18
|
-
account_id = "cicd-runner-sa"
|
|
30
|
+
account_id = "cicd-tests-runner-sa"
|
|
19
31
|
display_name = "Service Account for CI/CD Pipeline Runner"
|
|
20
32
|
description = "Used by Cloud Build to execute CI/CD pipelines"
|
|
21
33
|
}
|
|
22
34
|
|
|
23
35
|
# Grant necessary roles to the service account
|
|
24
36
|
resource "google_project_iam_member" "cicd_runner_roles" {
|
|
25
|
-
for_each = toset(
|
|
26
|
-
"roles/cloudbuild.builds.builder",
|
|
27
|
-
"roles/logging.logWriter",
|
|
28
|
-
"roles/storage.admin",
|
|
29
|
-
"roles/artifactregistry.reader",
|
|
30
|
-
"roles/artifactregistry.writer",
|
|
31
|
-
"roles/iam.serviceAccountUser",
|
|
32
|
-
"roles/aiplatform.user",
|
|
33
|
-
"roles/discoveryengine.editor",
|
|
34
|
-
"roles/cloudtrace.agent"
|
|
35
|
-
|
|
36
|
-
])
|
|
37
|
+
for_each = toset(local.cicd_runner_roles)
|
|
37
38
|
|
|
38
39
|
project = var.cicd_runner_project_id
|
|
39
40
|
role = each.key
|
|
40
41
|
member = "serviceAccount:${google_service_account.cicd_runner_sa.email}"
|
|
41
42
|
}
|
|
43
|
+
|
|
44
|
+
# Grant permissions to the service account for each environment project
|
|
45
|
+
resource "google_project_iam_member" "cicd_runner_e2e_project_roles" {
|
|
46
|
+
for_each = {
|
|
47
|
+
for idx, proj_role in flatten([
|
|
48
|
+
for env, project_id in var.e2e_test_project_mapping : [
|
|
49
|
+
for role in local.e2e_project_roles : {
|
|
50
|
+
project = project_id
|
|
51
|
+
env = env
|
|
52
|
+
role = role
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
]) : "${proj_role.env}-${proj_role.role}" => proj_role
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
project = each.value.project
|
|
59
|
+
role = each.value.role
|
|
60
|
+
member = "serviceAccount:${google_service_account.cicd_runner_sa.email}"
|
|
61
|
+
}
|
|
@@ -32,3 +32,12 @@ variable "repository_name" {
|
|
|
32
32
|
description = "Name of the repository you'd like to connect to Cloud Build"
|
|
33
33
|
type = string
|
|
34
34
|
}
|
|
35
|
+
|
|
36
|
+
variable "e2e_test_project_mapping" {
|
|
37
|
+
description = "Mapping of project IDs for different environments"
|
|
38
|
+
type = object({
|
|
39
|
+
dev = string
|
|
40
|
+
prod = string
|
|
41
|
+
staging = string
|
|
42
|
+
})
|
|
43
|
+
}
|
|
@@ -13,7 +13,7 @@ generate-lock:
|
|
|
13
13
|
lint:
|
|
14
14
|
uv run ruff check . --config pyproject.toml --diff
|
|
15
15
|
uv run ruff format . --check --config pyproject.toml --diff
|
|
16
|
-
uv run mypy --config-file pyproject.toml ./agents ./src/cli ./tests ./src/
|
|
16
|
+
uv run mypy --config-file pyproject.toml ./agents ./src/cli ./tests ./src/frontends/streamlit
|
|
17
17
|
|
|
18
18
|
lint-templated-agents:
|
|
19
19
|
uv run tests/integration/test_template_linting.py
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-starter-pack
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: CLI tool to create GCP-based AI agent projects from templates
|
|
5
5
|
Author-email: Google LLC <agent-starter-pack@google.com>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -24,7 +24,7 @@ Description-Content-Type: text/markdown
|
|
|
24
24
|
|
|
25
25
|
# 🚀 Agent Starter Pack
|
|
26
26
|
|
|
27
|
-
 [](https://youtu.be/jHt-ZVD660g) [](./docs/README.md)
|
|
27
|
+
 [](https://youtu.be/jHt-ZVD660g) [](./docs/README.md) 
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
The `agent-starter-pack` is a collection of production-ready Generative AI Agent templates built for Google Cloud. <br>
|
|
@@ -70,9 +70,9 @@ agent-starter-pack create my-agent -d agent_engine -a langgraph_base_react
|
|
|
70
70
|
| Agent Name | Description |
|
|
71
71
|
|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------|
|
|
72
72
|
| `langgraph_base_react` | A agent implementing a base ReAct agent using LangGraph |
|
|
73
|
-
| `
|
|
73
|
+
| `agentic_rag` | A RAG agent using LangGraph for document retrieval and Q&A. Supporting [Vertex AI Search](https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction) and [Vector Search](https://cloud.google.com/vertex-ai/docs/vector-search/overview). |
|
|
74
74
|
| `crewai_coding_crew` | A multi-agent system implemented with CrewAI created to support coding activities |
|
|
75
|
-
| `
|
|
75
|
+
| `live_api` | A real-time multimodal RAG agent powered by Gemini, supporting audio/video/text chat with vector DB-backed responses |
|
|
76
76
|
|
|
77
77
|
**More agents are on the way!** We are continuously expanding our [agent library](./agents/). Have a specific agent type in mind? [Contribute!](#contributing)
|
|
78
78
|
|
|
@@ -82,7 +82,7 @@ agent-starter-pack create my-agent -d agent_engine -a langgraph_base_react
|
|
|
82
82
|
The `agent-starter-pack` offers two key features to accelerate and simplify the development of your agent:
|
|
83
83
|
|
|
84
84
|
- **🔄 [CI/CD Automation (Experimental)](docs/cli/setup_cicd.md)** - One command to set up a complete GitHub + Cloud Build pipeline for all environments
|
|
85
|
-
- **📥 [Data Pipeline for RAG with
|
|
85
|
+
- **📥 [Data Pipeline for RAG with Terraform/CI-CD](docs/data-ingestion.md)** - Seamlessly integrate a data pipeline to process embeddings for RAG into your agent system. Supporting [Vertex AI Search](https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction) and [Vector Search](https://cloud.google.com/vertex-ai/docs/vector-search/overview).
|
|
86
86
|
|
|
87
87
|
|
|
88
88
|
## High-Level Architecture
|
|
@@ -98,7 +98,7 @@ This starter pack covers all aspects of Agent development, from prototyping and
|
|
|
98
98
|
This project represents the next evolution of the [e2e-gen-ai-app-starter-pack](goo.gle/e2e-gen-ai-app-starter-pack). Building on the foundation of the original, we've made significant improvements:
|
|
99
99
|
|
|
100
100
|
* **Streamlined CLI:** A new command-line interface (`agent-starter-pack`) simplifies project creation, template selection, and deployment.
|
|
101
|
-
* **Expanded Agent Options:**
|
|
101
|
+
* **Expanded Agent Options:** Support for a wider variety of agent frameworks (LangGraph, CrewAI, and the Google GenAI SDK) and deployment targets (including Vertex AI Agent Engine).
|
|
102
102
|
* **Simplified setup**: Integrated gcloud authentication and projects and region configurations
|
|
103
103
|
|
|
104
104
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 🚀 Agent Starter Pack
|
|
2
2
|
|
|
3
|
-
 [](https://youtu.be/jHt-ZVD660g) [](./docs/README.md)
|
|
3
|
+
 [](https://youtu.be/jHt-ZVD660g) [](./docs/README.md) 
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
The `agent-starter-pack` is a collection of production-ready Generative AI Agent templates built for Google Cloud. <br>
|
|
@@ -46,9 +46,9 @@ agent-starter-pack create my-agent -d agent_engine -a langgraph_base_react
|
|
|
46
46
|
| Agent Name | Description |
|
|
47
47
|
|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------|
|
|
48
48
|
| `langgraph_base_react` | A agent implementing a base ReAct agent using LangGraph |
|
|
49
|
-
| `
|
|
49
|
+
| `agentic_rag` | A RAG agent using LangGraph for document retrieval and Q&A. Supporting [Vertex AI Search](https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction) and [Vector Search](https://cloud.google.com/vertex-ai/docs/vector-search/overview). |
|
|
50
50
|
| `crewai_coding_crew` | A multi-agent system implemented with CrewAI created to support coding activities |
|
|
51
|
-
| `
|
|
51
|
+
| `live_api` | A real-time multimodal RAG agent powered by Gemini, supporting audio/video/text chat with vector DB-backed responses |
|
|
52
52
|
|
|
53
53
|
**More agents are on the way!** We are continuously expanding our [agent library](./agents/). Have a specific agent type in mind? [Contribute!](#contributing)
|
|
54
54
|
|
|
@@ -58,7 +58,7 @@ agent-starter-pack create my-agent -d agent_engine -a langgraph_base_react
|
|
|
58
58
|
The `agent-starter-pack` offers two key features to accelerate and simplify the development of your agent:
|
|
59
59
|
|
|
60
60
|
- **🔄 [CI/CD Automation (Experimental)](docs/cli/setup_cicd.md)** - One command to set up a complete GitHub + Cloud Build pipeline for all environments
|
|
61
|
-
- **📥 [Data Pipeline for RAG with
|
|
61
|
+
- **📥 [Data Pipeline for RAG with Terraform/CI-CD](docs/data-ingestion.md)** - Seamlessly integrate a data pipeline to process embeddings for RAG into your agent system. Supporting [Vertex AI Search](https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction) and [Vector Search](https://cloud.google.com/vertex-ai/docs/vector-search/overview).
|
|
62
62
|
|
|
63
63
|
|
|
64
64
|
## High-Level Architecture
|
|
@@ -74,7 +74,7 @@ This starter pack covers all aspects of Agent development, from prototyping and
|
|
|
74
74
|
This project represents the next evolution of the [e2e-gen-ai-app-starter-pack](goo.gle/e2e-gen-ai-app-starter-pack). Building on the foundation of the original, we've made significant improvements:
|
|
75
75
|
|
|
76
76
|
* **Streamlined CLI:** A new command-line interface (`agent-starter-pack`) simplifies project creation, template selection, and deployment.
|
|
77
|
-
* **Expanded Agent Options:**
|
|
77
|
+
* **Expanded Agent Options:** Support for a wider variety of agent frameworks (LangGraph, CrewAI, and the Google GenAI SDK) and deployment targets (including Vertex AI Agent Engine).
|
|
78
78
|
* **Simplified setup**: Integrated gcloud authentication and projects and region configurations
|
|
79
79
|
|
|
80
80
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Agentic RAG
|
|
1
|
+
# Agentic RAG
|
|
2
2
|
|
|
3
|
-
This agent enhances the
|
|
3
|
+
This agent enhances the Agent Starter Pack with a production-ready data ingestion pipeline, enriching your Retrieval Augmented Generation (RAG) applications. You will be able to ingest, process, and embed custom data, improving the relevance and context of your generated responses. You can choose between different datastore options including Vertex AI Search and Vertex AI Vector Search depending on your specific needs.
|
|
4
4
|
|
|
5
5
|
The agent provides the infrastructure to create a Vertex AI Pipeline with your custom code. Because it's built on Vertex AI Pipelines, you benefit from features like scheduled runs, recurring executions, and on-demand triggers. For processing terabyte-scale data, we recommend combining Vertex AI Pipelines with data analytics tools like BigQuery or Dataflow.
|
|
6
6
|
|
|
@@ -14,7 +14,7 @@ The agent implements the following architecture:
|
|
|
14
14
|
|
|
15
15
|
### Key Features
|
|
16
16
|
|
|
17
|
-
- **Vertex AI Search
|
|
17
|
+
- **Flexible Datastore Options:** Choose between Vertex AI Search or Vertex AI Vector Search for efficient data storage and retrieval based on your specific needs.
|
|
18
18
|
- **Automated Data Ingestion Pipeline:** Automates the process of ingesting data from input sources.
|
|
19
19
|
- **Custom Embeddings:** Generates embeddings using Vertex AI Embeddings and incorporates them into your data for enhanced semantic search.
|
|
20
20
|
- **Terraform Deployment:** Ingestion pipeline is instantiated with Terraform alongside the rest of the infrastructure of the starter pack.
|