agent-starter-pack 0.3.3__py3-none-any.whl → 0.21.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agent_starter_pack/agents/README.md +7 -0
- agents/langgraph_base_react/template/.templateconfig.yaml → agent_starter_pack/agents/adk_a2a_base/.template/templateconfig.yaml +5 -10
- agent_starter_pack/agents/adk_a2a_base/README.md +37 -0
- src/deployment_targets/cloud_run/Dockerfile → agent_starter_pack/agents/adk_a2a_base/app/__init__.py +2 -14
- agent_starter_pack/agents/adk_a2a_base/app/agent.py +70 -0
- agent_starter_pack/agents/adk_a2a_base/notebooks/adk_a2a_app_testing.ipynb +583 -0
- agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb → agent_starter_pack/agents/adk_a2a_base/notebooks/evaluating_adk_agent.ipynb +163 -199
- {agents/adk_base → agent_starter_pack/agents/adk_a2a_base}/tests/integration/test_agent.py +2 -2
- agents/adk_base/template/.templateconfig.yaml → agent_starter_pack/agents/adk_base/.template/templateconfig.yaml +4 -1
- {agents → agent_starter_pack/agents}/adk_base/README.md +1 -1
- agent_starter_pack/agents/adk_base/app/__init__.py +17 -0
- {agents → agent_starter_pack/agents}/adk_base/app/agent.py +5 -2
- {agents → agent_starter_pack/agents}/adk_base/notebooks/adk_app_testing.ipynb +128 -82
- agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb → agent_starter_pack/agents/adk_base/notebooks/evaluating_adk_agent.ipynb +181 -207
- agent_starter_pack/agents/adk_base/tests/integration/test_agent.py +58 -0
- agents/crewai_coding_crew/template/.templateconfig.yaml → agent_starter_pack/agents/adk_live/.template/templateconfig.yaml +5 -9
- agent_starter_pack/agents/adk_live/README.md +32 -0
- agent_starter_pack/agents/adk_live/app/__init__.py +17 -0
- agent_starter_pack/agents/adk_live/app/agent.py +51 -0
- agent_starter_pack/agents/adk_live/tests/unit/test_dummy.py +38 -0
- agents/agentic_rag/template/.templateconfig.yaml → agent_starter_pack/agents/agentic_rag/.template/templateconfig.yaml +7 -3
- {agents → agent_starter_pack/agents}/agentic_rag/README.md +1 -1
- agent_starter_pack/agents/agentic_rag/app/__init__.py +17 -0
- {agents → agent_starter_pack/agents}/agentic_rag/app/agent.py +8 -4
- {agents → agent_starter_pack/agents}/agentic_rag/notebooks/adk_app_testing.ipynb +128 -82
- agent_starter_pack/agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb +1535 -0
- {agents → agent_starter_pack/agents}/agentic_rag/tests/integration/test_agent.py +3 -3
- agent_starter_pack/agents/langgraph_base/.template/templateconfig.yaml +31 -0
- agent_starter_pack/agents/langgraph_base/README.md +30 -0
- agent_starter_pack/agents/langgraph_base/app/__init__.py +17 -0
- agent_starter_pack/agents/langgraph_base/app/agent.py +34 -0
- {agents/crewai_coding_crew → agent_starter_pack/agents/langgraph_base}/notebooks/evaluating_langgraph_agent.ipynb +30 -17
- {agents/langgraph_base_react → agent_starter_pack/agents/langgraph_base}/tests/integration/test_agent.py +2 -2
- {src → agent_starter_pack}/base_template/.gitignore +5 -3
- agent_starter_pack/base_template/GEMINI.md +5 -0
- agent_starter_pack/base_template/Makefile +339 -0
- agent_starter_pack/base_template/README.md +267 -0
- agent_starter_pack/base_template/deployment/README.md +11 -0
- {src → agent_starter_pack}/base_template/deployment/terraform/apis.tf +2 -2
- {src → agent_starter_pack}/base_template/deployment/terraform/dev/apis.tf +6 -1
- {src → agent_starter_pack}/base_template/deployment/terraform/dev/iam.tf +12 -11
- {src → agent_starter_pack}/base_template/deployment/terraform/dev/providers.tf +5 -1
- {src → agent_starter_pack}/base_template/deployment/terraform/dev/storage.tf +1 -1
- {src → agent_starter_pack}/base_template/deployment/terraform/dev/variables.tf +10 -10
- agent_starter_pack/base_template/deployment/terraform/dev/{% if cookiecutter.is_adk %}telemetry.tf{% else %}unused_telemetry.tf{% endif %} +193 -0
- agent_starter_pack/base_template/deployment/terraform/github.tf +337 -0
- {src → agent_starter_pack}/base_template/deployment/terraform/iam.tf +20 -41
- {src → agent_starter_pack}/base_template/deployment/terraform/locals.tf +10 -3
- {src/resources/setup_cicd → agent_starter_pack/base_template/deployment/terraform}/providers.tf +8 -1
- {src → agent_starter_pack}/base_template/deployment/terraform/service_accounts.tf +7 -8
- agent_starter_pack/base_template/deployment/terraform/sql/completions.sql +138 -0
- {src → agent_starter_pack}/base_template/deployment/terraform/storage.tf +7 -16
- {src → agent_starter_pack}/base_template/deployment/terraform/variables.tf +61 -28
- {src → agent_starter_pack}/base_template/deployment/terraform/vars/env.tfvars +6 -1
- agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'github_actions' %}wif.tf{% else %}unused_wif.tf{% endif %} +43 -0
- src/base_template/deployment/terraform/build_triggers.tf → agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}build_triggers.tf{% else %}unused_build_triggers.tf{% endif %} +55 -38
- agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.is_adk %}telemetry.tf{% else %}unused_telemetry.tf{% endif %} +206 -0
- {src → agent_starter_pack}/base_template/pyproject.toml +24 -37
- agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/deploy-to-prod.yaml +132 -0
- agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/pr_checks.yaml +65 -0
- agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/staging.yaml +259 -0
- src/base_template/deployment/cd/deploy-to-prod.yaml → agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/deploy-to-prod.yaml +38 -30
- src/base_template/deployment/ci/pr_checks.yaml → agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/pr_checks.yaml +5 -5
- agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/staging.yaml +322 -0
- agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/telemetry.py +96 -0
- {src/base_template/app/utils → agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils}/typing.py +7 -9
- agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}converters{% else %}unused_converters{% endif %}/__init__.py +25 -0
- agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}converters{% else %}unused_converters{% endif %}/part_converter.py +138 -0
- agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}executor{% else %}unused_executor{% endif %}/__init__.py +13 -0
- agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}executor{% else %}unused_executor{% endif %}/a2a_agent_executor.py +265 -0
- agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}executor{% else %}unused_executor{% endif %}/task_result_aggregator.py +152 -0
- agent_starter_pack/cli/commands/create.py +1256 -0
- agent_starter_pack/cli/commands/enhance.py +611 -0
- agent_starter_pack/cli/commands/list.py +203 -0
- agent_starter_pack/cli/commands/register_gemini_enterprise.py +1070 -0
- agent_starter_pack/cli/commands/setup_cicd.py +862 -0
- {src → agent_starter_pack}/cli/main.py +10 -2
- {src → agent_starter_pack}/cli/utils/cicd.py +139 -48
- agent_starter_pack/cli/utils/gcp.py +263 -0
- agent_starter_pack/cli/utils/logging.py +103 -0
- agent_starter_pack/cli/utils/remote_template.py +677 -0
- agent_starter_pack/cli/utils/template.py +1466 -0
- {src → agent_starter_pack}/data_ingestion/data_ingestion_pipeline/components/process_data.py +1 -1
- {src → agent_starter_pack}/data_ingestion/data_ingestion_pipeline/submit_pipeline.py +20 -6
- {src → agent_starter_pack}/data_ingestion/pyproject.toml +1 -0
- {src → agent_starter_pack}/data_ingestion/uv.lock +602 -494
- agent_starter_pack/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +484 -0
- agent_starter_pack/deployment_targets/agent_engine/tests/load_test/README.md +84 -0
- agent_starter_pack/deployment_targets/agent_engine/tests/load_test/load_test.py +424 -0
- agent_starter_pack/deployment_targets/agent_engine/tests/{% if cookiecutter.is_a2a %}helpers.py{% else %}unused_helpers.py{% endif %} +138 -0
- agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/agent_engine_app.py +263 -0
- agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/app_utils/deploy.py +414 -0
- agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_adk_live %}expose_app.py{% else %}unused_expose_app.py{% endif %} +519 -0
- agent_starter_pack/deployment_targets/cloud_run/Dockerfile +51 -0
- agent_starter_pack/deployment_targets/cloud_run/deployment/terraform/dev/service.tf +243 -0
- agent_starter_pack/deployment_targets/cloud_run/deployment/terraform/service.tf +417 -0
- agent_starter_pack/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +705 -0
- agent_starter_pack/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +321 -0
- agent_starter_pack/deployment_targets/cloud_run/tests/load_test/README.md +165 -0
- agent_starter_pack/deployment_targets/cloud_run/tests/load_test/load_test.py +329 -0
- agent_starter_pack/deployment_targets/cloud_run/{{cookiecutter.agent_directory}}/fast_api_app.py +556 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/package-lock.json +79 -1044
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/package.json +1 -9
- agent_starter_pack/frontends/adk_live_react/frontend/src/App.tsx +65 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/components/logger/Logger.tsx +8 -3
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/components/logger/logger.scss +26 -0
- agent_starter_pack/frontends/adk_live_react/frontend/src/components/side-panel/SidePanel.tsx +516 -0
- agent_starter_pack/frontends/adk_live_react/frontend/src/components/side-panel/side-panel.scss +563 -0
- agent_starter_pack/frontends/adk_live_react/frontend/src/components/transcription-preview/TranscriptionPreview.tsx +106 -0
- agent_starter_pack/frontends/adk_live_react/frontend/src/components/transcription-preview/transcription-preview.scss +150 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/hooks/use-live-api.ts +8 -2
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/multimodal-live-types.ts +40 -2
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/audio-recorder.ts +1 -1
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/audio-streamer.ts +1 -1
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/multimodal-live-client.ts +210 -24
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/utils.ts +27 -5
- agent_starter_pack/resources/docs/adk-cheatsheet.md +1628 -0
- agent_starter_pack/resources/locks/uv-adk_a2a_base-agent_engine.lock +4966 -0
- agent_starter_pack/resources/locks/uv-adk_a2a_base-cloud_run.lock +5011 -0
- agent_starter_pack/resources/locks/uv-adk_base-agent_engine.lock +4946 -0
- agent_starter_pack/resources/locks/uv-adk_base-cloud_run.lock +4991 -0
- agent_starter_pack/resources/locks/uv-adk_live-agent_engine.lock +4963 -0
- agent_starter_pack/resources/locks/uv-adk_live-cloud_run.lock +5006 -0
- agent_starter_pack/resources/locks/uv-agentic_rag-agent_engine.lock +5487 -0
- agent_starter_pack/resources/locks/uv-agentic_rag-cloud_run.lock +5532 -0
- agent_starter_pack/resources/locks/uv-langgraph_base-agent_engine.lock +5788 -0
- agent_starter_pack/resources/locks/uv-langgraph_base-cloud_run.lock +5811 -0
- {src → agent_starter_pack}/utils/generate_locks.py +15 -12
- {src → agent_starter_pack}/utils/lock_utils.py +4 -7
- {src → agent_starter_pack}/utils/watch_and_rebuild.py +2 -2
- agent_starter_pack-0.21.0.dist-info/METADATA +182 -0
- agent_starter_pack-0.21.0.dist-info/RECORD +171 -0
- agent_starter_pack-0.21.0.dist-info/entry_points.txt +2 -0
- llm.txt +362 -0
- agent_starter_pack-0.3.3.dist-info/METADATA +0 -164
- agent_starter_pack-0.3.3.dist-info/RECORD +0 -176
- agent_starter_pack-0.3.3.dist-info/entry_points.txt +0 -2
- agents/crewai_coding_crew/README.md +0 -34
- agents/crewai_coding_crew/app/agent.py +0 -86
- agents/crewai_coding_crew/app/crew/config/agents.yaml +0 -39
- agents/crewai_coding_crew/app/crew/config/tasks.yaml +0 -37
- agents/crewai_coding_crew/app/crew/crew.py +0 -71
- agents/crewai_coding_crew/tests/integration/test_agent.py +0 -47
- agents/langgraph_base_react/README.md +0 -9
- agents/langgraph_base_react/app/agent.py +0 -73
- agents/live_api/README.md +0 -37
- agents/live_api/app/agent.py +0 -78
- agents/live_api/app/server.py +0 -196
- agents/live_api/app/templates.py +0 -51
- agents/live_api/app/vector_store.py +0 -55
- agents/live_api/template/.templateconfig.yaml +0 -29
- agents/live_api/tests/integration/test_server_e2e.py +0 -254
- agents/live_api/tests/load_test/load_test.py +0 -40
- agents/live_api/tests/unit/test_server.py +0 -143
- src/base_template/Makefile +0 -72
- src/base_template/README.md +0 -208
- src/base_template/app/__init__.py +0 -3
- src/base_template/app/utils/tracing.py +0 -155
- src/base_template/deployment/README.md +0 -126
- src/base_template/deployment/cd/staging.yaml +0 -216
- src/base_template/deployment/terraform/dev/log_sinks.tf +0 -63
- src/base_template/deployment/terraform/log_sinks.tf +0 -70
- src/base_template/deployment/terraform/providers.tf +0 -37
- src/cli/commands/create.py +0 -664
- src/cli/commands/setup_cicd.py +0 -829
- src/cli/utils/gcp.py +0 -117
- src/cli/utils/logging.py +0 -51
- src/cli/utils/template.py +0 -737
- src/deployment_targets/agent_engine/app/agent_engine_app.py +0 -336
- src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb +0 -1025
- src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +0 -183
- src/deployment_targets/agent_engine/tests/load_test/README.md +0 -42
- src/deployment_targets/agent_engine/tests/load_test/load_test.py +0 -107
- src/deployment_targets/cloud_run/app/server.py +0 -154
- src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +0 -249
- src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +0 -0
- src/deployment_targets/cloud_run/tests/load_test/README.md +0 -83
- src/deployment_targets/cloud_run/tests/load_test/load_test.py +0 -118
- src/deployment_targets/cloud_run/uv.lock +0 -6952
- src/frontends/live_api_react/frontend/src/App.tsx +0 -205
- src/frontends/live_api_react/frontend/src/components/control-tray/ControlTray.tsx +0 -217
- src/frontends/live_api_react/frontend/src/components/control-tray/control-tray.scss +0 -201
- src/frontends/live_api_react/frontend/src/components/side-panel/SidePanel.tsx +0 -161
- src/frontends/live_api_react/frontend/src/components/side-panel/side-panel.scss +0 -285
- src/frontends/streamlit/frontend/side_bar.py +0 -214
- src/frontends/streamlit/frontend/streamlit_app.py +0 -265
- src/frontends/streamlit/frontend/style/app_markdown.py +0 -37
- src/frontends/streamlit/frontend/utils/chat_utils.py +0 -67
- src/frontends/streamlit/frontend/utils/local_chat_history.py +0 -125
- src/frontends/streamlit/frontend/utils/message_editing.py +0 -59
- src/frontends/streamlit/frontend/utils/multimodal_utils.py +0 -217
- src/frontends/streamlit/frontend/utils/stream_handler.py +0 -301
- src/frontends/streamlit/frontend/utils/title_summary.py +0 -94
- src/frontends/streamlit_adk/frontend/side_bar.py +0 -214
- src/frontends/streamlit_adk/frontend/streamlit_app.py +0 -314
- src/frontends/streamlit_adk/frontend/style/app_markdown.py +0 -37
- src/frontends/streamlit_adk/frontend/utils/chat_utils.py +0 -84
- src/frontends/streamlit_adk/frontend/utils/local_chat_history.py +0 -110
- src/frontends/streamlit_adk/frontend/utils/message_editing.py +0 -61
- src/frontends/streamlit_adk/frontend/utils/multimodal_utils.py +0 -223
- src/frontends/streamlit_adk/frontend/utils/stream_handler.py +0 -311
- src/frontends/streamlit_adk/frontend/utils/title_summary.py +0 -129
- src/resources/containers/data_processing/Dockerfile +0 -27
- src/resources/containers/e2e-tests/Dockerfile +0 -19
- src/resources/idx/.idx/dev.nix +0 -57
- src/resources/idx/idx-template.json +0 -21
- src/resources/idx/idx-template.nix +0 -26
- src/resources/locks/uv-adk_base-agent_engine.lock +0 -5338
- src/resources/locks/uv-adk_base-cloud_run.lock +0 -5930
- src/resources/locks/uv-agentic_rag-agent_engine.lock +0 -5528
- src/resources/locks/uv-agentic_rag-cloud_run.lock +0 -6120
- src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +0 -6231
- src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +0 -6839
- src/resources/locks/uv-langgraph_base_react-agent_engine.lock +0 -5233
- src/resources/locks/uv-langgraph_base_react-cloud_run.lock +0 -5862
- src/resources/locks/uv-live_api-cloud_run.lock +0 -5832
- src/resources/setup_cicd/cicd_variables.tf +0 -41
- src/resources/setup_cicd/github.tf +0 -87
- {agents → agent_starter_pack/agents}/agentic_rag/app/retrievers.py +0 -0
- {agents → agent_starter_pack/agents}/agentic_rag/app/templates.py +0 -0
- {src → agent_starter_pack}/base_template/deployment/terraform/dev/vars/env.tfvars +0 -0
- {src → agent_starter_pack}/base_template/tests/unit/test_dummy.py +0 -0
- {src/deployment_targets/agent_engine/app/utils → agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils}/gcs.py +0 -0
- {src → agent_starter_pack}/cli/utils/__init__.py +0 -0
- {src → agent_starter_pack}/cli/utils/datastores.py +0 -0
- {src → agent_starter_pack}/cli/utils/version.py +0 -0
- {src → agent_starter_pack}/data_ingestion/README.md +0 -0
- {src → agent_starter_pack}/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +0 -0
- {src → agent_starter_pack}/data_ingestion/data_ingestion_pipeline/pipeline.py +0 -0
- {src → agent_starter_pack}/deployment_targets/agent_engine/deployment_metadata.json +0 -0
- {src → agent_starter_pack}/deployment_targets/agent_engine/tests/load_test/.results/.placeholder +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/public/favicon.ico +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/public/index.html +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/public/robots.txt +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/App.scss +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/App.test.tsx +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/components/audio-pulse/AudioPulse.tsx +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/components/audio-pulse/audio-pulse.scss +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/components/logger/mock-logs.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/contexts/LiveAPIContext.tsx +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/hooks/use-media-stream-mux.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/hooks/use-screen-capture.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/hooks/use-webcam.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/index.css +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/index.tsx +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/react-app-env.d.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/reportWebVitals.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/setupTests.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/audioworklet-registry.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/store-logger.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/worklets/audio-processing.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/worklets/vol-meter.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/tsconfig.json +0 -0
- {agent_starter_pack-0.3.3.dist-info → agent_starter_pack-0.21.0.dist-info}/WHEEL +0 -0
- {agent_starter_pack-0.3.3.dist-info → agent_starter_pack-0.21.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
agents/adk_base/README.md,sha256=eLf-F9Z4u_mQOchAnUaSrOAHXRSx8wUQN29kkwz1SF4,894
|
|
2
|
-
agents/adk_base/app/agent.py,sha256=Dm7dcELj0RbALNI20R9-uEay_RHgej0dPOdQRHA7E-8,2187
|
|
3
|
-
agents/adk_base/notebooks/adk_app_testing.ipynb,sha256=sHaW9s1PiclJILKBK5j-W6nx_-g60UVnvITKgZFraME,8591
|
|
4
|
-
agents/adk_base/template/.templateconfig.yaml,sha256=m8Qkm1maDIQRDk5GmJlk7_tZT_1ZCn7Cxzo00TzMYmI,836
|
|
5
|
-
agents/adk_base/tests/integration/test_agent.py,sha256=1VyshBu44p_PUAQQxV0QROmv6OUGt_m0nDLyaTI77po,1964
|
|
6
|
-
agents/agentic_rag/README.md,sha256=mxMLkq6tAghFaDmc2sc2sEQ5vn9kGWdiRxfTykwpLz0,2268
|
|
7
|
-
agents/agentic_rag/app/agent.py,sha256=EkbMIjEeyXqK49wIkoW6uWotxyXCIfJpeLCizw2QDZM,3959
|
|
8
|
-
agents/agentic_rag/app/retrievers.py,sha256=qfxwSEixMddvAu4FvUTZAFh1Gdp3RPY65s0Wp6gEFVk,4561
|
|
9
|
-
agents/agentic_rag/app/templates.py,sha256=8N_uRchwiN7hlH9Y8rdJ1CAtOhpHUWZkXZZ7IU-YJJk,867
|
|
10
|
-
agents/agentic_rag/notebooks/adk_app_testing.ipynb,sha256=sHaW9s1PiclJILKBK5j-W6nx_-g60UVnvITKgZFraME,8591
|
|
11
|
-
agents/agentic_rag/template/.templateconfig.yaml,sha256=6wznpR27bt_brW0DCT7rq_J5AaLVo6M--dcoG_uFtsU,1111
|
|
12
|
-
agents/agentic_rag/tests/integration/test_agent.py,sha256=HbEv2gzC77jrse3RZ0ra_Bcu6zW_7YlrxYWcYfei63M,2107
|
|
13
|
-
agents/crewai_coding_crew/README.md,sha256=4No7sfHQVHELARGiT3fWANJzDR0NP48ow4ct3FoPwlA,1672
|
|
14
|
-
agents/crewai_coding_crew/app/agent.py,sha256=GcmNrOyRPhnI7LICIV6GvBvcDfA_PKqPsQcOEzAORmY,3269
|
|
15
|
-
agents/crewai_coding_crew/app/crew/crew.py,sha256=pqeeJ4txP-gcVT3PKEAw2zZ4x8g4cDlnFFbf0_zZRr4,2000
|
|
16
|
-
agents/crewai_coding_crew/app/crew/config/agents.yaml,sha256=Cn9zTcP3C-8MvlV19cYdlxR0iIs2_FOy2gKOJLUpNRo,1154
|
|
17
|
-
agents/crewai_coding_crew/app/crew/config/tasks.yaml,sha256=SSFuiSQPhi4dM0V5HdNuMqtN7JJr5RUCMhhBzUkPBpc,1511
|
|
18
|
-
agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb,sha256=ifTn4RfrJeYQ8ell9n6VE65ZEfcnKGkMLFG8RBlPK70,57974
|
|
19
|
-
agents/crewai_coding_crew/notebooks/evaluating_langgraph_agent.ipynb,sha256=fb4rTMlA-XCniZyPIP9ni4nvIDmLj9Uq8Saw7WrG0fc,58015
|
|
20
|
-
agents/crewai_coding_crew/template/.templateconfig.yaml,sha256=cl2idKg9NZKrkIkDhxCVSiDIJaoDjy5yMVmVc93Nlm8,974
|
|
21
|
-
agents/crewai_coding_crew/tests/integration/test_agent.py,sha256=0uvfmM3FSdESIU7ICb2oqABsQqylQU2PE3UBwbpif-A,1629
|
|
22
|
-
agents/langgraph_base_react/README.md,sha256=KZQ0e8q9CqnIEiItH9Tc2Ceb2mC3sBcyQUo-ZAmO-zs,482
|
|
23
|
-
agents/langgraph_base_react/app/agent.py,sha256=2HsbZaSLpMhJQ21geauKPfavcavPW50lx4WV5dXlvnQ,2514
|
|
24
|
-
agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb,sha256=fb4rTMlA-XCniZyPIP9ni4nvIDmLj9Uq8Saw7WrG0fc,58015
|
|
25
|
-
agents/langgraph_base_react/template/.templateconfig.yaml,sha256=MPgKPeG3WilPe7DupN_tArMHWfRPcoGeTToIE_WhQP8,992
|
|
26
|
-
agents/langgraph_base_react/tests/integration/test_agent.py,sha256=wg2Y8V4l7dh7rhWy7Z8zioDW5ILRsz7RZJ-mz0AhK3U,1619
|
|
27
|
-
agents/live_api/README.md,sha256=eB6e1VAwOsX6d3ns2HgVzdtywKUaZ39-PraKFCjtj7s,3012
|
|
28
|
-
agents/live_api/app/agent.py,sha256=KXcc10JU-ytbvDmr8bx6uOGxoVQMckppUa29cQBA8rM,2522
|
|
29
|
-
agents/live_api/app/server.py,sha256=L4gcYKu-2gTVHPhHz809Ml-tFFvQ8uUtu4hPJ_y-Nd0,7119
|
|
30
|
-
agents/live_api/app/templates.py,sha256=HgA4QGIle4Q-Nr6xAAXk1pTX7eNbZqlQUD9_fbCvDWA,3301
|
|
31
|
-
agents/live_api/app/vector_store.py,sha256=AYRSNpfevbVTt-nnWna_dp2pn4T7o1nz9-9wOoWaxsA,2045
|
|
32
|
-
agents/live_api/template/.templateconfig.yaml,sha256=8X2NyfZeM47tg-QP6Efz7WR3AKWkDAlvKnYeMFiuMcY,1091
|
|
33
|
-
agents/live_api/tests/integration/test_server_e2e.py,sha256=D2VETDIyTD2fQyQ6DXwLr-POSYyVzzzcpIFLt5Ppyx4,8398
|
|
34
|
-
agents/live_api/tests/load_test/load_test.py,sha256=HHZyfC4gqiQtZVF_CbbxENGgWQccMLpwMv0IdoQ6cbQ,1275
|
|
35
|
-
agents/live_api/tests/unit/test_server.py,sha256=_TjlgQgNkjerIaBGnu8P8_KB8ZlSolDcivALpUOn_Rw,4786
|
|
36
|
-
src/base_template/.gitignore,sha256=mJKTZIcVdAFiIUQicRfPNGUg6WvwcfTEC2xbmAaU34g,2579
|
|
37
|
-
src/base_template/Makefile,sha256=3fFwDiasX0KBjxO17jqwvXY9IcWZyTBftr-d5wpwiTg,3725
|
|
38
|
-
src/base_template/README.md,sha256=0dHYVT8IlG0eMd7dEelAaPyuyk5ZDHnKAvNV8x7TBEA,10397
|
|
39
|
-
src/base_template/pyproject.toml,sha256=-B1gk9Yx1OxL88bGH4oklCcSo0zOTm7IxaUbPcIS5rg,2959
|
|
40
|
-
src/base_template/app/__init__.py,sha256=UyAgc2l8nkVIUPUzL9hKR7EgzCsc2jSYcOcjHNNmpMU,59
|
|
41
|
-
src/base_template/app/utils/tracing.py,sha256=2rv1Ukh2jTBENDwoghCItJ28l-Sjz9gMlzdojlVgJa4,6052
|
|
42
|
-
src/base_template/app/utils/typing.py,sha256=DP5OZC3IGvqA1XbvWt8kI3gyAK3ZjzUSL5Ca17wNeLI,4249
|
|
43
|
-
src/base_template/deployment/README.md,sha256=XjRRcEiyoobi0YEXybfvtaOi9ecNDU2bVKczv0MUBac,5255
|
|
44
|
-
src/base_template/deployment/cd/deploy-to-prod.yaml,sha256=Vzt83DunPF64wVsY96KTGvhxZFHAF5Tze_88KW4O-oo,4297
|
|
45
|
-
src/base_template/deployment/cd/staging.yaml,sha256=URqQPOxEv1ngYM7RoIs-iGMZsDdq6wUdmH953sipK_o,7925
|
|
46
|
-
src/base_template/deployment/ci/pr_checks.yaml,sha256=7jS9HlRfistS4hhUXMF0tc-5m6g6l9s0rGhq_xP8Tnc,1517
|
|
47
|
-
src/base_template/deployment/terraform/apis.tf,sha256=98vqe53RLtFwnQq_9N1widR8J0c1SGqwhCXp_GohITA,1497
|
|
48
|
-
src/base_template/deployment/terraform/build_triggers.tf,sha256=_XDFj6kPd21NmEKKRjpqYIa48P8VHCMVG_6thLqrS0Y,6363
|
|
49
|
-
src/base_template/deployment/terraform/iam.tf,sha256=-KrOngRch4gKnPkZy0ybQQq0RW5-TI80tJ-VJLg-AdA,5597
|
|
50
|
-
src/base_template/deployment/terraform/locals.tf,sha256=mrmOigExLk5g734-2VodDj8qQUTBq20e7FgQD0KUF8E,1390
|
|
51
|
-
src/base_template/deployment/terraform/log_sinks.tf,sha256=PP_n3Jr-_EhMy6shVUrx7ztdQic5W3mKPjC0zQSvAjA,2955
|
|
52
|
-
src/base_template/deployment/terraform/providers.tf,sha256=LFjFQm8XbhWfQRwBUwhTjHLDWUbHW-IlFg71E0zFHIg,1080
|
|
53
|
-
src/base_template/deployment/terraform/service_accounts.tf,sha256=av5UohEL5JmTw4FUMg7DVYjg_8Kg1u9yYUTD3QlGEmo,1689
|
|
54
|
-
src/base_template/deployment/terraform/storage.tf,sha256=v1Vo3SS9yUJOJ8QDVyo0sj_YFY-lElRvdsUrxbIzyuI,8639
|
|
55
|
-
src/base_template/deployment/terraform/variables.tf,sha256=w_GD6rLPKVeUESi91dEfBZvPccyDM_uNSAOYdYHaYbs,5851
|
|
56
|
-
src/base_template/deployment/terraform/dev/apis.tf,sha256=kUXkyN-fB8SKssVBxWKZvtHHFGcz09L4Rz9fPQNPSB8,1337
|
|
57
|
-
src/base_template/deployment/terraform/dev/iam.tf,sha256=ZHFs4TMvq6mqD90n8ecXndzW3pyu4EbZO4iJis88BH0,3394
|
|
58
|
-
src/base_template/deployment/terraform/dev/log_sinks.tf,sha256=uVdMtDdd8MnxtKhqzVaYqadE11P3r4fs2IdgNecxM4I,2671
|
|
59
|
-
src/base_template/deployment/terraform/dev/providers.tf,sha256=1S9jCh48d6ailVZ1e14EHsUUDSp7DyGZGExJwViFCkM,900
|
|
60
|
-
src/base_template/deployment/terraform/dev/storage.tf,sha256=1mgLs21SUhfcoRICqd7BqUlEVAVGeN3kMsQ4UAQLOh8,4654
|
|
61
|
-
src/base_template/deployment/terraform/dev/variables.tf,sha256=U3UbpWysuSDEZkd94rAN_-XYwoOJXKuMNx3zyE7ULJM,4190
|
|
62
|
-
src/base_template/deployment/terraform/dev/vars/env.tfvars,sha256=LoQMjh1AAMR-MGfaSCsVMjdoYTk2T4oS4D9vMH54CdQ,714
|
|
63
|
-
src/base_template/deployment/terraform/vars/env.tfvars,sha256=Nze8q1x2Aj6ZUeWC2hDeZWqNUkLp13DgzA_LFmmOzCo,1216
|
|
64
|
-
src/base_template/tests/unit/test_dummy.py,sha256=2exfCH8qhkZrLWvK04ZxNTO9MV3fdTbZkJN3uK6zvok,850
|
|
65
|
-
src/cli/main.py,sha256=pMsSlNwkrFqHUHHA5U-WMZ4QRquaI_F7OXQt6yxuugE,1688
|
|
66
|
-
src/cli/commands/create.py,sha256=J4DH8OFcs8mA1nZLCBLepkCSixdHiL0EYz195M2Lu4o,24156
|
|
67
|
-
src/cli/commands/setup_cicd.py,sha256=ghrbX85omEMIdCIYqCLc2eE0NZr2UbHS6sp7UoC9jbE,31421
|
|
68
|
-
src/cli/utils/__init__.py,sha256=_cTmsXGPqOtK0q8UW5164QTltbJRJFR_Efxq_BRL1-o,1311
|
|
69
|
-
src/cli/utils/cicd.py,sha256=tlz50wI0unRosRZsDpZ5Oh5haMJmNjc9dV0-TPWawKE,27443
|
|
70
|
-
src/cli/utils/datastores.py,sha256=gv1V6eDcOEKx4MRNG5C3Y-VfixYq1AzQuaYMLp8QRNo,1058
|
|
71
|
-
src/cli/utils/gcp.py,sha256=gVak73MD74sZTXvchZB59KFpoqp-aTIsvcMKvYMkXJE,4062
|
|
72
|
-
src/cli/utils/logging.py,sha256=0lHe4EPi1A8sOx9xkA7gS4UNl0GsIyp2ahydkkuCzLY,1570
|
|
73
|
-
src/cli/utils/template.py,sha256=HQg_SIruiL52LrjeVr9Nxw7zqq9CC96l78DIGPIJjHw,29099
|
|
74
|
-
src/cli/utils/version.py,sha256=F4udQmzniPStqWZFIgnv3Qg3l9non4mfy2An-Oveqmc,2916
|
|
75
|
-
src/data_ingestion/README.md,sha256=LNxSQoJW9JozK-TbyGQLj5L_MGWNwrfLk6V6RmQ2oBQ,4032
|
|
76
|
-
src/data_ingestion/pyproject.toml,sha256=-1Mf2QB8K70ICQV5UPZDpf-fN3UwEQLVzQyxfakCSTY,445
|
|
77
|
-
src/data_ingestion/uv.lock,sha256=HzSD6_IxS2urt49EefD9MvVxBwxW_bJ-k0XltTDT3Vc,144223
|
|
78
|
-
src/data_ingestion/data_ingestion_pipeline/pipeline.py,sha256=UAS6dxV954yARP0NdDbCf5kzap3NfmoX52eZ2mZtWXs,3331
|
|
79
|
-
src/data_ingestion/data_ingestion_pipeline/submit_pipeline.py,sha256=tWGqL0zUB3V5JxR1SpX7LMjCW5r6JEGnvgF8tAxZ12s,7784
|
|
80
|
-
src/data_ingestion/data_ingestion_pipeline/components/ingest_data.py,sha256=QbPmk6V7JPGo5Yc1BhL-1W_t9CXEN0iY5NKaGWlfSbM,10667
|
|
81
|
-
src/data_ingestion/data_ingestion_pipeline/components/process_data.py,sha256=3D4CaUV9pBaIU10MogJMQAR00JPVzqjFHN6eL7WM_5Y,22045
|
|
82
|
-
src/deployment_targets/agent_engine/deployment_metadata.json,sha256=G_t_n-UNrFsBgH1Xrw5-ZqYzUGwZ4X6ipsIm_yiSq-w,72
|
|
83
|
-
src/deployment_targets/agent_engine/app/agent_engine_app.py,sha256=ZBER9DVyVfG6R4IyukgFaVVL-AsbqLmvvBsXAwgv2jk,12032
|
|
84
|
-
src/deployment_targets/agent_engine/app/utils/gcs.py,sha256=jKblaWOGQEigw3esaawcfX178shhZi2Fyk0fJSA4T68,1501
|
|
85
|
-
src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb,sha256=RE6Gp-bu4bHtNBngfkt_CF5emy5YcOWQ5rMYW_Cv8_w,48809
|
|
86
|
-
src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py,sha256=3mEHdnenqT1RrQpndnQWZSMnn8kSLH85rPDhbxH6_lk,5978
|
|
87
|
-
src/deployment_targets/agent_engine/tests/load_test/README.md,sha256=ckP2eu5_HpOjM390KXNwUk4YWAzWqir3YOTceyoeL64,1441
|
|
88
|
-
src/deployment_targets/agent_engine/tests/load_test/load_test.py,sha256=FFCo_LjIZyETb61Eo53qxmg4U7qjT__BPWCYiwBQbhU,3764
|
|
89
|
-
src/deployment_targets/agent_engine/tests/load_test/.results/.placeholder,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
90
|
-
src/deployment_targets/cloud_run/Dockerfile,sha256=vedZX0JJW2bymESqB-0LumnkKyr7hcog8NlR0DX8Q74,843
|
|
91
|
-
src/deployment_targets/cloud_run/uv.lock,sha256=2RYrR89xDS1FHVb-g2JGZq8zZ-rzbm_jRvehVCYuXRQ,887957
|
|
92
|
-
src/deployment_targets/cloud_run/app/server.py,sha256=lqoo_wAi8yvVsC4aoUD4k74UKArci3w1jF3dkwPOyvU,4793
|
|
93
|
-
src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py,sha256=dKgFE8ksZz-6IDqMfJjTJcwgywJcN9gpSd9Ni97NjPg,7784
|
|
94
|
-
src/deployment_targets/cloud_run/tests/load_test/README.md,sha256=ibuQTghqnZD84ConqsqRxhMOdYhuqoCQA3xiOs5wKqE,2804
|
|
95
|
-
src/deployment_targets/cloud_run/tests/load_test/load_test.py,sha256=cOlGaNxx6X3C-eWD0LulXyggqTrTeWZPjnsVn7FtZIs,4082
|
|
96
|
-
src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
97
|
-
src/frontends/live_api_react/frontend/package-lock.json,sha256=BRRGo-rI1wxRa_VLm0NlPV9LGUy7kLccKGjSWJLVntE,734245
|
|
98
|
-
src/frontends/live_api_react/frontend/package.json,sha256=OBOzzDiDiESPzmbLDlZ6KM1Trit71vXdP692dI-g9Uo,1381
|
|
99
|
-
src/frontends/live_api_react/frontend/tsconfig.json,sha256=cyqEhf7-Yydz-PX8_cuF8JpsyC363NDTNkrmCk0sKAo,595
|
|
100
|
-
src/frontends/live_api_react/frontend/public/favicon.ico,sha256=FY9oTN01RzaJ2lZ1rCjNXsEfT1gWZJA3fPx0QMBlMCU,15086
|
|
101
|
-
src/frontends/live_api_react/frontend/public/index.html,sha256=tOhOQOx5kMi9WhxT-4XAk75tmkoHNCyBM36dgR725TM,2508
|
|
102
|
-
src/frontends/live_api_react/frontend/public/robots.txt,sha256=kNJLw79pisHhc3OVAimMzKcq3x9WT6sF9IS4xI0crdI,67
|
|
103
|
-
src/frontends/live_api_react/frontend/src/App.scss,sha256=477MjERLsjhhzSS5WvROHfgdLi41F0PeW7zFTIROlH4,3472
|
|
104
|
-
src/frontends/live_api_react/frontend/src/App.test.tsx,sha256=l4bj_dLHDggvlcxZZgbhXdR9oIpdCwrGglRWtSqNqUU,869
|
|
105
|
-
src/frontends/live_api_react/frontend/src/App.tsx,sha256=5PhZTXo4gwWRvkF5dJTwu4YpWKs43bsLSl1IGXx1edY,7261
|
|
106
|
-
src/frontends/live_api_react/frontend/src/index.css,sha256=THy1DxvcOTW4WypzWvYEL_SVAVzda1iPEQ0M6pvgNUo,950
|
|
107
|
-
src/frontends/live_api_react/frontend/src/index.tsx,sha256=c3VCNMXzTZInNqpHaQUMPPwZsicO468Ujc5u3jLGLZ8,1150
|
|
108
|
-
src/frontends/live_api_react/frontend/src/multimodal-live-types.ts,sha256=J52j9vfza9EyODprh9w29psdBSEygTnXZF8yJIsfsDs,6037
|
|
109
|
-
src/frontends/live_api_react/frontend/src/react-app-env.d.ts,sha256=4bU28oZlD8FJ4AdXDQq363Ql9oYd69DhrT-i3nrTDiQ,636
|
|
110
|
-
src/frontends/live_api_react/frontend/src/reportWebVitals.ts,sha256=mGju88uviGA8x6soLtI3vm0dgIZVFaN3QQ0603KB5pk,1021
|
|
111
|
-
src/frontends/live_api_react/frontend/src/setupTests.ts,sha256=7Iq1rAaeoGzkLb3FhpNU2XlVmnu1O1cS56foEBFISTg,837
|
|
112
|
-
src/frontends/live_api_react/frontend/src/components/audio-pulse/AudioPulse.tsx,sha256=lnB4GWVy9HW4nI6YuRes059ywhU-WwZO0K_zvAadUZY,1690
|
|
113
|
-
src/frontends/live_api_react/frontend/src/components/audio-pulse/audio-pulse.scss,sha256=L8MzlqHkoJ3B-qnlYD62nGlTTUOkgX5H3yxKVBeHh-c,1346
|
|
114
|
-
src/frontends/live_api_react/frontend/src/components/control-tray/ControlTray.tsx,sha256=M9mbTHI4aIR4HV1RrnomDt2dP_zJybBVGeFmrRAUcKA,6875
|
|
115
|
-
src/frontends/live_api_react/frontend/src/components/control-tray/control-tray.scss,sha256=pKzOcyA3Xe8CXFpJIeHytBn_7eKcAeGLbL3Q70RsKvM,3976
|
|
116
|
-
src/frontends/live_api_react/frontend/src/components/logger/Logger.tsx,sha256=E11x8IaWcCJFtVOml9NSiqZV6OQLfuEjHWc6vm12tVU,6696
|
|
117
|
-
src/frontends/live_api_react/frontend/src/components/logger/logger.scss,sha256=0ObbIB4mCYNshL650inZN24-HXPvNBxAvMIVhqc0hdg,2432
|
|
118
|
-
src/frontends/live_api_react/frontend/src/components/logger/mock-logs.ts,sha256=7r7bRNowJxdSkDJN2awTX82etfNu7V-ThufCRACYhU0,3293
|
|
119
|
-
src/frontends/live_api_react/frontend/src/components/side-panel/SidePanel.tsx,sha256=xGo3fjXFyh8ZOJZAQ_4lARa1W_Rgs2ljkjtWjDR7Cqs,5019
|
|
120
|
-
src/frontends/live_api_react/frontend/src/components/side-panel/side-panel.scss,sha256=eobKX4lAUuHhpOhB3VTpm4CDyWO8yySpgTdPUHDlgVc,6097
|
|
121
|
-
src/frontends/live_api_react/frontend/src/contexts/LiveAPIContext.tsx,sha256=qBQ6KLxVNCeaydwPtXIiOMFJ04_ETUqU0hRypLkF03M,1383
|
|
122
|
-
src/frontends/live_api_react/frontend/src/hooks/use-live-api.ts,sha256=9t2rkByVRmRJkO3Lgi44FxYAuLccKXySCnbokY4erJw,3035
|
|
123
|
-
src/frontends/live_api_react/frontend/src/hooks/use-media-stream-mux.ts,sha256=83cmRJlQYoLLy9VDc0GO3e4VBfkKpiEHrvV26Z5rHng,776
|
|
124
|
-
src/frontends/live_api_react/frontend/src/hooks/use-screen-capture.ts,sha256=A4UIo8T6yHlIAEEgoyoVOqMNwukkonYjfO8iMwAyjDQ,1977
|
|
125
|
-
src/frontends/live_api_react/frontend/src/hooks/use-webcam.ts,sha256=NuTM7meIwaSIg0kB3SusMESaI44GGIX8zM07PvPBPWw,1841
|
|
126
|
-
src/frontends/live_api_react/frontend/src/utils/audio-recorder.ts,sha256=JcO69YeM7boSf1gM5VVX6cbLvGRT-dYYJjWUVBJFWbM,3699
|
|
127
|
-
src/frontends/live_api_react/frontend/src/utils/audio-streamer.ts,sha256=xgtnrm_jbmKzwUkeCQiv3C7jmU7DfdaJU2su6NLpXCk,8301
|
|
128
|
-
src/frontends/live_api_react/frontend/src/utils/audioworklet-registry.ts,sha256=2I1va0WszQ3-SHfSmgp5-ToOSof5H6q-rgFnlf8mGUI,1258
|
|
129
|
-
src/frontends/live_api_react/frontend/src/utils/multimodal-live-client.ts,sha256=afOZaVZdPrTFTvZj3m1I463pBqfyd9CI6wvctieoG90,9771
|
|
130
|
-
src/frontends/live_api_react/frontend/src/utils/store-logger.ts,sha256=YxS0TjiGntFPIrHVVU14WplpITzzxP2faTeAVOMvbQA,1761
|
|
131
|
-
src/frontends/live_api_react/frontend/src/utils/utils.ts,sha256=qQIhLzfyCBLecU0ksQCKIbD3cIflb0hxt0SPZGdYFEo,2457
|
|
132
|
-
src/frontends/live_api_react/frontend/src/utils/worklets/audio-processing.ts,sha256=ULgnXphZUfbHkRhGoPT_670WHjzaXJwWgYU0ISQRSXI,1979
|
|
133
|
-
src/frontends/live_api_react/frontend/src/utils/worklets/vol-meter.ts,sha256=DEXn9ywn7N_tqKBhQ9eUxvWCWqteyfT-Q0dwjbvjjpY,1780
|
|
134
|
-
src/frontends/streamlit/frontend/side_bar.py,sha256=VeyNV2O94uicTajVYS-jMkUAUPMMrQA9o8_lYTurKKc,9025
|
|
135
|
-
src/frontends/streamlit/frontend/streamlit_app.py,sha256=O-mF9-0nSL220mZSohKK6QrdSiaRsUJL1o_XeKdj8zo,9868
|
|
136
|
-
src/frontends/streamlit/frontend/style/app_markdown.py,sha256=4H9GGlaOIbG_4T4QvHyTMfoeumJze7cZ2VuGIv39wFo,1050
|
|
137
|
-
src/frontends/streamlit/frontend/utils/chat_utils.py,sha256=Z0OYQu-14_d9tDmH9Z4Vvi8xpSUEm9vuPZ8wmFgl4sQ,2262
|
|
138
|
-
src/frontends/streamlit/frontend/utils/local_chat_history.py,sha256=9wc8L8j4tk10DBPQdV64kdZvqE1fHxC2esK8szid0l8,4741
|
|
139
|
-
src/frontends/streamlit/frontend/utils/message_editing.py,sha256=YWoPe2KeWMuL3YVTm0am6MK3kzjEIYVmdkdwTQpmGdQ,2263
|
|
140
|
-
src/frontends/streamlit/frontend/utils/multimodal_utils.py,sha256=v6YbCkz_YcnEo-9YvRjwBNt0SzU4M39bYxJGmKk69vE,7313
|
|
141
|
-
src/frontends/streamlit/frontend/utils/stream_handler.py,sha256=kRKv7gQDEDsVtJxUsxY5uqCCtR3nQmT1nkZyrQ6Hpsw,12030
|
|
142
|
-
src/frontends/streamlit/frontend/utils/title_summary.py,sha256=B0cadS_KPW-tsbABauI4J681aqjEtuKFDa25e9R1WKc,3030
|
|
143
|
-
src/frontends/streamlit_adk/frontend/side_bar.py,sha256=VsrIVJkjZPg8AAkVn8Nrn9XN4KasrPVYEKhsZXFqGkU,9053
|
|
144
|
-
src/frontends/streamlit_adk/frontend/streamlit_app.py,sha256=0KtzcvVzc8Ge3XJp0nmeZ691RlI22wsU32WUhKoX9LM,12243
|
|
145
|
-
src/frontends/streamlit_adk/frontend/style/app_markdown.py,sha256=4H9GGlaOIbG_4T4QvHyTMfoeumJze7cZ2VuGIv39wFo,1050
|
|
146
|
-
src/frontends/streamlit_adk/frontend/utils/chat_utils.py,sha256=-Yoh8ly20aSiuf9SYfSIHlPcJ6a5cfdK0rNIJo_p1EE,3095
|
|
147
|
-
src/frontends/streamlit_adk/frontend/utils/local_chat_history.py,sha256=GK0GmYrr2jC7UnMu77OPDgIgfrEO22rXk_VoxfDrJcM,4261
|
|
148
|
-
src/frontends/streamlit_adk/frontend/utils/message_editing.py,sha256=wt2OMJ4RUMoeJu_mVLMR2s4mxTlxWoQAxlxYXgKCBlc,2453
|
|
149
|
-
src/frontends/streamlit_adk/frontend/utils/multimodal_utils.py,sha256=7TV3n36HBQOCv4sC9tEjD2sEXzzBDOuqgXr84QC3Tms,7722
|
|
150
|
-
src/frontends/streamlit_adk/frontend/utils/stream_handler.py,sha256=xKwiY1KLWQdDtQ5eVrSkP3uubEAKDiOJNjWHjQiBxLg,12323
|
|
151
|
-
src/frontends/streamlit_adk/frontend/utils/title_summary.py,sha256=lmYJUIz99jWY1dTziUao554GJBHFQTzQBRvoEl-x020,4347
|
|
152
|
-
src/resources/containers/data_processing/Dockerfile,sha256=VoB9d5yZiiWnqRfWrIq0gGNMzZg-eVy733OgP72ZgO0,950
|
|
153
|
-
src/resources/containers/e2e-tests/Dockerfile,sha256=Q_aTyX_iaFY8j06XZkpMuggJnNO5daiLmmrvqaZHMxw,1611
|
|
154
|
-
src/resources/idx/idx-template.json,sha256=cLt7jXQ5-16AGl9vxEoXALI6HVUFwGWG5i3v7fGqPvo,792
|
|
155
|
-
src/resources/idx/idx-template.nix,sha256=sesHGev_PYtVDg0J5tHkg0OO7IR1Bz2iAtl_if3Ar3M,892
|
|
156
|
-
src/resources/idx/.idx/dev.nix,sha256=rT_eW3cp7BluMQakqy_V_RGUu2yoZjymiZmfyN3_PnI,1927
|
|
157
|
-
src/resources/locks/uv-adk_base-agent_engine.lock,sha256=G5NhnUl9Tr0X-GbBr21jTdDf5MVGxmWF_OI4AqC4wBM,629284
|
|
158
|
-
src/resources/locks/uv-adk_base-cloud_run.lock,sha256=Dq2F08qkB3s2oqazqmLrnNLmgzqNb0UbJdChV0Fq4l0,798495
|
|
159
|
-
src/resources/locks/uv-agentic_rag-agent_engine.lock,sha256=NUXZvdoJgzEI5NLoB_hoXgwVimEbXl0ByTMm-yNfNuM,638894
|
|
160
|
-
src/resources/locks/uv-agentic_rag-cloud_run.lock,sha256=f8P14yRwvJWB3lyfWCEZzkFpq51WyLYIGa386S3_khE,808105
|
|
161
|
-
src/resources/locks/uv-crewai_coding_crew-agent_engine.lock,sha256=cCOpHuY2BK8how94MRgw4EF1q-iBo5aXTv3V1Fr2w90,735316
|
|
162
|
-
src/resources/locks/uv-crewai_coding_crew-cloud_run.lock,sha256=yu2Iu6ODcRFKJJ6FLHarsKuyFNOjh1EL6WOIg6fLP3I,912203
|
|
163
|
-
src/resources/locks/uv-langgraph_base_react-agent_engine.lock,sha256=jYVXjvTeQ7ppxcmoUvQpjuh5dA9vgNifstKaD2WPsR8,612052
|
|
164
|
-
src/resources/locks/uv-langgraph_base_react-cloud_run.lock,sha256=NlN4eNWymUxGAmOJ2rZVPBdicMllXvheS-_foJPe2fU,782545
|
|
165
|
-
src/resources/locks/uv-live_api-cloud_run.lock,sha256=0DSriJlsVuTDIiTAqYOHW3yclNyVr-eZUOFTBM47pLQ,785602
|
|
166
|
-
src/resources/setup_cicd/cicd_variables.tf,sha256=PMflYe1TzQi63LORHkmeCktTYzXFplJgxffNH4DtuAQ,1244
|
|
167
|
-
src/resources/setup_cicd/github.tf,sha256=scTBgeZlCM74N-pzhVKsnTN0PX9a5GboNl1HN3-LlCM,2791
|
|
168
|
-
src/resources/setup_cicd/providers.tf,sha256=Km4z6IJt7x7PLaa0kyZbBrO2m3lpuIJZFD5jB7QBfF0,1122
|
|
169
|
-
src/utils/generate_locks.py,sha256=xu5IAhGGBPkVQGSJX4kk7_JNDwWJUEaXAHbmaQIohbg,4386
|
|
170
|
-
src/utils/lock_utils.py,sha256=_QdzQtgIbCmJ87s046_i1g966slVNmvr3bJDeHbRQSM,2419
|
|
171
|
-
src/utils/watch_and_rebuild.py,sha256=vP4yIiA7E_lj5sfQdJUl8TXas6V7msDg8XWUutAC05Q,6679
|
|
172
|
-
agent_starter_pack-0.3.3.dist-info/METADATA,sha256=vib_OuCrbGy10-Yc1sK-wZWYJOrgXBPLDkLS_XsuIxk,8828
|
|
173
|
-
agent_starter_pack-0.3.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
174
|
-
agent_starter_pack-0.3.3.dist-info/entry_points.txt,sha256=U7uCxR7YulIhZ0L8R8Hui0Bsy6J7oyESBeDYJYMrQjA,56
|
|
175
|
-
agent_starter_pack-0.3.3.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
176
|
-
agent_starter_pack-0.3.3.dist-info/RECORD,,
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# CrewAI Coding Crew Agent
|
|
2
|
-
|
|
3
|
-
This agent combines CrewAI's collaborative AI capabilities with LangGraph to provide an interactive coding assistant that can understand requirements and generate code solutions through conversation.
|
|
4
|
-
|
|
5
|
-
## Architecture
|
|
6
|
-
|
|
7
|
-
The agent implements a conversational interface using LangGraph that coordinates with a CrewAI development team. The workflow consists of:
|
|
8
|
-
|
|
9
|
-
1. A conversational agent that:
|
|
10
|
-
- Gathers requirements through natural dialogue
|
|
11
|
-
- Clarifies ambiguities by asking follow-up questions
|
|
12
|
-
- Delegates actual coding work to the CrewAI development team
|
|
13
|
-
|
|
14
|
-
2. A CrewAI development team consisting of:
|
|
15
|
-
- Senior Engineer: Responsible for implementing the code solution
|
|
16
|
-
- Chief QA Engineer: Evaluates and validates the implemented code
|
|
17
|
-
|
|
18
|
-
## Key Features
|
|
19
|
-
|
|
20
|
-
- **Interactive Requirements Gathering**: Uses LangGraph to maintain a natural conversation flow while collecting and clarifying coding requirements
|
|
21
|
-
- **Collaborative AI Development**: Leverages CrewAI's multi-agent system to divide work between specialized AI agents
|
|
22
|
-
- **Sequential Processing**: Tasks are processed in order, from requirements gathering to implementation to quality assurance
|
|
23
|
-
|
|
24
|
-
## How It Works
|
|
25
|
-
|
|
26
|
-
1. The LangGraph workflow manages the conversation state and determines when to:
|
|
27
|
-
- Continue the conversation to gather more requirements
|
|
28
|
-
- Delegate work to the CrewAI development team
|
|
29
|
-
- Return results to the user
|
|
30
|
-
|
|
31
|
-
2. When coding is needed, the CrewAI team is activated through a custom tool that:
|
|
32
|
-
- Passes requirements to the Senior Engineer agent
|
|
33
|
-
- Routes the implementation to the QA Engineer for validation
|
|
34
|
-
- Returns the final, validated solution
|
|
@@ -1,86 +0,0 @@
|
|
|
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
|
-
# mypy: disable-error-code="union-attr"
|
|
16
|
-
from langchain_core.messages import BaseMessage
|
|
17
|
-
from langchain_core.runnables import RunnableConfig
|
|
18
|
-
from langchain_core.tools import tool
|
|
19
|
-
from langchain_google_vertexai import ChatVertexAI
|
|
20
|
-
from langgraph.graph import END, MessagesState, StateGraph
|
|
21
|
-
from langgraph.prebuilt import ToolNode
|
|
22
|
-
|
|
23
|
-
from .crew.crew import DevCrew
|
|
24
|
-
|
|
25
|
-
LOCATION = "us-central1"
|
|
26
|
-
LLM = "gemini-2.0-flash-001"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
@tool
|
|
30
|
-
def coding_tool(code_instructions: str) -> str:
|
|
31
|
-
"""Use this tool to write a python program given a set of requirements and or instructions."""
|
|
32
|
-
inputs = {"code_instructions": code_instructions}
|
|
33
|
-
return DevCrew().crew().kickoff(inputs=inputs)
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
tools = [coding_tool]
|
|
37
|
-
|
|
38
|
-
# 2. Set up the language model
|
|
39
|
-
llm = ChatVertexAI(
|
|
40
|
-
model=LLM, location=LOCATION, temperature=0, max_tokens=4096, streaming=True
|
|
41
|
-
).bind_tools(tools)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
# 3. Define workflow components
|
|
45
|
-
def should_continue(state: MessagesState) -> str:
|
|
46
|
-
"""Determines whether to use the crew or end the conversation."""
|
|
47
|
-
last_message = state["messages"][-1]
|
|
48
|
-
return "dev_crew" if last_message.tool_calls else END
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
def call_model(state: MessagesState, config: RunnableConfig) -> dict[str, BaseMessage]:
|
|
52
|
-
"""Calls the language model and returns the response."""
|
|
53
|
-
system_message = (
|
|
54
|
-
"You are an expert Lead Software Engineer Manager.\n"
|
|
55
|
-
"Your role is to speak to a user and understand what kind of code they need to "
|
|
56
|
-
"build.\n"
|
|
57
|
-
"Part of your task is therefore to gather requirements and clarifying ambiguity "
|
|
58
|
-
"by asking followup questions. Don't ask all the questions together as the user "
|
|
59
|
-
"has a low attention span, rather ask a question at the time.\n"
|
|
60
|
-
"Once the problem to solve is clear, you will call your tool for writing the "
|
|
61
|
-
"solution.\n"
|
|
62
|
-
"Remember, you are an expert in understanding requirements but you cannot code, "
|
|
63
|
-
"use your coding tool to generate a solution. Keep the test cases if any, they "
|
|
64
|
-
"are useful for the user."
|
|
65
|
-
)
|
|
66
|
-
|
|
67
|
-
messages_with_system = [{"type": "system", "content": system_message}] + state[
|
|
68
|
-
"messages"
|
|
69
|
-
]
|
|
70
|
-
# Forward the RunnableConfig object to ensure the agent is capable of streaming the response.
|
|
71
|
-
response = llm.invoke(messages_with_system, config)
|
|
72
|
-
return {"messages": response}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
# 4. Create the workflow graph
|
|
76
|
-
workflow = StateGraph(MessagesState)
|
|
77
|
-
workflow.add_node("agent", call_model)
|
|
78
|
-
workflow.add_node("dev_crew", ToolNode(tools))
|
|
79
|
-
workflow.set_entry_point("agent")
|
|
80
|
-
|
|
81
|
-
# 5. Define graph edges
|
|
82
|
-
workflow.add_conditional_edges("agent", should_continue)
|
|
83
|
-
workflow.add_edge("dev_crew", "agent")
|
|
84
|
-
|
|
85
|
-
# 6. Compile the workflow
|
|
86
|
-
agent = workflow.compile()
|
|
@@ -1,39 +0,0 @@
|
|
|
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
|
-
senior_engineer_agent:
|
|
16
|
-
role: >
|
|
17
|
-
Senior Software Engineer
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
goal: >
|
|
21
|
-
Create software as needed
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
backstory: >
|
|
25
|
-
You are a Senior Software Engineer at a leading tech company. You are an expert Python programmer and do your best to produce perfect code.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
chief_qa_engineer_agent:
|
|
29
|
-
role: >
|
|
30
|
-
Chief Software Quality Control Engineer
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
goal: >
|
|
34
|
-
Ensure that the code does the job that it is supposed to do and that it is error free.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
backstory: >
|
|
38
|
-
You feel that programmers always do only half the job, so you are super dedicate to make high quality code.
|
|
39
|
-
|
|
@@ -1,37 +0,0 @@
|
|
|
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
|
-
code_task:
|
|
16
|
-
description: >
|
|
17
|
-
You are helping writing python code. These are the instructions:
|
|
18
|
-
|
|
19
|
-
Instructions ------------ {code_instructions}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
expected_output: >
|
|
23
|
-
Your Final answer must be the full python code, only the python code and nothing else.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
evaluate_task:
|
|
27
|
-
description: >
|
|
28
|
-
You are helping writing python code. These are the instructions:
|
|
29
|
-
|
|
30
|
-
Instructions ------------ {code_instructions}
|
|
31
|
-
|
|
32
|
-
You will look over the code to insure that it is complete and does the job that it is supposed to do. You will also check for logic error, syntax errors, missing imports, variable declarations, mismatched brackets and missing test cases. If you find any issue in the code, ask the Senior Software Engineer to fix it by providing them the code and the instructions. Don't fix it yourself.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
expected_output: >
|
|
36
|
-
Your Final answer must be the full python code, only the python code and nothing else.
|
|
37
|
-
|
|
@@ -1,71 +0,0 @@
|
|
|
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
|
-
# mypy: disable-error-code="attr-defined"
|
|
16
|
-
from typing import Any
|
|
17
|
-
|
|
18
|
-
from crewai import Agent, Crew, Process, Task
|
|
19
|
-
from crewai.project import CrewBase, agent, crew, task
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
@CrewBase
|
|
23
|
-
class DevCrew:
|
|
24
|
-
"""Developer crew"""
|
|
25
|
-
|
|
26
|
-
agents_config: dict[str, Any]
|
|
27
|
-
tasks_config: dict[str, Any]
|
|
28
|
-
|
|
29
|
-
llm = "vertex_ai/gemini-2.0-flash-001"
|
|
30
|
-
|
|
31
|
-
@agent
|
|
32
|
-
def senior_engineer_agent(self) -> Agent:
|
|
33
|
-
return Agent(
|
|
34
|
-
config=self.agents_config.get("senior_engineer_agent"),
|
|
35
|
-
allow_delegation=False,
|
|
36
|
-
verbose=True,
|
|
37
|
-
llm=self.llm,
|
|
38
|
-
)
|
|
39
|
-
|
|
40
|
-
@agent
|
|
41
|
-
def chief_qa_engineer_agent(self) -> Agent:
|
|
42
|
-
return Agent(
|
|
43
|
-
config=self.agents_config.get("chief_qa_engineer_agent"),
|
|
44
|
-
allow_delegation=True,
|
|
45
|
-
verbose=True,
|
|
46
|
-
llm=self.llm,
|
|
47
|
-
)
|
|
48
|
-
|
|
49
|
-
@task
|
|
50
|
-
def code_task(self) -> Task:
|
|
51
|
-
return Task(
|
|
52
|
-
config=self.tasks_config.get("code_task"),
|
|
53
|
-
agent=self.senior_engineer_agent(),
|
|
54
|
-
)
|
|
55
|
-
|
|
56
|
-
@task
|
|
57
|
-
def evaluate_task(self) -> Task:
|
|
58
|
-
return Task(
|
|
59
|
-
config=self.tasks_config.get("evaluate_task"),
|
|
60
|
-
agent=self.chief_qa_engineer_agent(),
|
|
61
|
-
)
|
|
62
|
-
|
|
63
|
-
@crew
|
|
64
|
-
def crew(self) -> Crew:
|
|
65
|
-
"""Creates the Dev Crew"""
|
|
66
|
-
return Crew(
|
|
67
|
-
agents=self.agents,
|
|
68
|
-
tasks=self.tasks,
|
|
69
|
-
process=Process.sequential,
|
|
70
|
-
verbose=True,
|
|
71
|
-
)
|
|
@@ -1,47 +0,0 @@
|
|
|
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
|
-
# mypy: disable-error-code="union-attr"
|
|
16
|
-
from app.agent import agent
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
def test_agent_stream() -> None:
|
|
20
|
-
"""
|
|
21
|
-
Integration test for the agent stream functionality.
|
|
22
|
-
Tests that the agent returns valid streaming responses.
|
|
23
|
-
"""
|
|
24
|
-
input_dict = {
|
|
25
|
-
"messages": [
|
|
26
|
-
{"type": "human", "content": "Hi"},
|
|
27
|
-
{"type": "ai", "content": "Hi there!"},
|
|
28
|
-
{"type": "human", "content": "Write a fibonacci function in python"},
|
|
29
|
-
]
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
events = [
|
|
33
|
-
message for message, _ in agent.stream(input_dict, stream_mode="messages")
|
|
34
|
-
]
|
|
35
|
-
# Verify we get a reasonable number of messages
|
|
36
|
-
assert len(events) > 0, "Expected at least one message"
|
|
37
|
-
|
|
38
|
-
# First message should be an AI message
|
|
39
|
-
assert events[0].type == "AIMessageChunk"
|
|
40
|
-
|
|
41
|
-
# At least one message should have content
|
|
42
|
-
has_content = False
|
|
43
|
-
for event in events:
|
|
44
|
-
if hasattr(event, "content") and event.content:
|
|
45
|
-
has_content = True
|
|
46
|
-
break
|
|
47
|
-
assert has_content, "Expected at least one message with content"
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
# LangGraph Base React Agent
|
|
2
|
-
|
|
3
|
-
A minimal example demonstrating how to build a ReAct agent using LangGraph. This agent serves as an excellent starting point for developers looking to implement LangGraph-based solutions.
|
|
4
|
-
|
|
5
|
-
## Key Features
|
|
6
|
-
|
|
7
|
-
- **Simple Architecture**: Shows the basic building blocks of a LangGraph agent
|
|
8
|
-
- **Streaming Support**: Includes streaming response capability using Vertex AI
|
|
9
|
-
- **Sample Tool Integration**: Includes a basic search tool to demonstrate tool usage
|
|
@@ -1,73 +0,0 @@
|
|
|
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
|
-
# mypy: disable-error-code="union-attr"
|
|
16
|
-
from langchain_core.messages import BaseMessage
|
|
17
|
-
from langchain_core.runnables import RunnableConfig
|
|
18
|
-
from langchain_core.tools import tool
|
|
19
|
-
from langchain_google_vertexai import ChatVertexAI
|
|
20
|
-
from langgraph.graph import END, MessagesState, StateGraph
|
|
21
|
-
from langgraph.prebuilt import ToolNode
|
|
22
|
-
|
|
23
|
-
LOCATION = "us-central1"
|
|
24
|
-
LLM = "gemini-2.0-flash-001"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
# 1. Define tools
|
|
28
|
-
@tool
|
|
29
|
-
def search(query: str) -> str:
|
|
30
|
-
"""Simulates a web search. Use it get information on weather"""
|
|
31
|
-
if "sf" in query.lower() or "san francisco" in query.lower():
|
|
32
|
-
return "It's 60 degrees and foggy."
|
|
33
|
-
return "It's 90 degrees and sunny."
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
tools = [search]
|
|
37
|
-
|
|
38
|
-
# 2. Set up the language model
|
|
39
|
-
llm = ChatVertexAI(
|
|
40
|
-
model=LLM, location=LOCATION, temperature=0, max_tokens=1024, streaming=True
|
|
41
|
-
).bind_tools(tools)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
# 3. Define workflow components
|
|
45
|
-
def should_continue(state: MessagesState) -> str:
|
|
46
|
-
"""Determines whether to use tools or end the conversation."""
|
|
47
|
-
last_message = state["messages"][-1]
|
|
48
|
-
return "tools" if last_message.tool_calls else END
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
def call_model(state: MessagesState, config: RunnableConfig) -> dict[str, BaseMessage]:
|
|
52
|
-
"""Calls the language model and returns the response."""
|
|
53
|
-
system_message = "You are a helpful AI assistant."
|
|
54
|
-
messages_with_system = [{"type": "system", "content": system_message}] + state[
|
|
55
|
-
"messages"
|
|
56
|
-
]
|
|
57
|
-
# Forward the RunnableConfig object to ensure the agent is capable of streaming the response.
|
|
58
|
-
response = llm.invoke(messages_with_system, config)
|
|
59
|
-
return {"messages": response}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
# 4. Create the workflow graph
|
|
63
|
-
workflow = StateGraph(MessagesState)
|
|
64
|
-
workflow.add_node("agent", call_model)
|
|
65
|
-
workflow.add_node("tools", ToolNode(tools))
|
|
66
|
-
workflow.set_entry_point("agent")
|
|
67
|
-
|
|
68
|
-
# 5. Define graph edges
|
|
69
|
-
workflow.add_conditional_edges("agent", should_continue)
|
|
70
|
-
workflow.add_edge("tools", "agent")
|
|
71
|
-
|
|
72
|
-
# 6. Compile the workflow
|
|
73
|
-
agent = workflow.compile()
|
agents/live_api/README.md
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# Multimodal Live Agent
|
|
2
|
-
|
|
3
|
-
This pattern showcases a real-time conversational RAG agent powered by Google Gemini. The agent handles audio, video, and text interactions while leveraging tool calling with a vector DB for grounded responses.
|
|
4
|
-
|
|
5
|
-

|
|
6
|
-
|
|
7
|
-
**Key components:**
|
|
8
|
-
|
|
9
|
-
- **Python Backend** (in `app/` folder): A production-ready server built with [FastAPI](https://fastapi.tiangolo.com/) and [google-genai](https://googleapis.github.io/python-genai/) that features:
|
|
10
|
-
|
|
11
|
-
- **Real-time bidirectional communication** via WebSockets between the frontend and Gemini model
|
|
12
|
-
- **Integrated tool calling** with vector database support for contextual document retrieval
|
|
13
|
-
- **Production-grade reliability** with retry logic and automatic reconnection capabilities
|
|
14
|
-
- **Deployment flexibility** supporting both AI Studio and Vertex AI endpoints
|
|
15
|
-
- **Feedback logging endpoint** for collecting user interactions
|
|
16
|
-
|
|
17
|
-
- **React Frontend** (in `frontend/` folder): Extends the [Multimodal live API Web Console](https://github.com/google-gemini/multimodal-live-api-web-console), with added features like **custom URLs** and **feedback collection**.
|
|
18
|
-
|
|
19
|
-

|
|
20
|
-
|
|
21
|
-
Once both the backend and frontend are running, click the play button in the frontend UI to establish a connection with the backend. You can now interact with the Multimodal Live Agent! You can try asking questions such as "Using the tool you have, define Governance in the context MLOPs" to allow the agent to use the [documentation](https://cloud.google.com/architecture/deploy-operate-generative-ai-applications) it was provided to.
|
|
22
|
-
|
|
23
|
-
## Additional Resources for Multimodal Live API
|
|
24
|
-
|
|
25
|
-
Explore these resources to learn more about the Multimodal Live API and see examples of its usage:
|
|
26
|
-
|
|
27
|
-
- [Project Pastra](https://github.com/heiko-hotz/gemini-multimodal-live-dev-guide/tree/main): a comprehensive developer guide for the Gemini Multimodal Live API.
|
|
28
|
-
- [Google Cloud Multimodal Live API demos and samples](https://github.com/GoogleCloudPlatform/generative-ai/tree/main/gemini/multimodal-live-api): Collection of code samples and demo applications leveraging multimodal live API in Vertex AI
|
|
29
|
-
- [Gemini 2 Cookbook](https://github.com/google-gemini/cookbook/tree/main/gemini-2): Practical examples and tutorials for working with Gemini 2
|
|
30
|
-
- [Multimodal Live API Web Console](https://github.com/google-gemini/multimodal-live-api-web-console): Interactive React-based web interface for testing and experimenting with Gemini Multimodal Live API.
|
|
31
|
-
|
|
32
|
-
## Current Status & Future Work
|
|
33
|
-
|
|
34
|
-
This pattern is under active development. Key areas planned for future enhancement include:
|
|
35
|
-
|
|
36
|
-
* **Observability:** Implementing comprehensive monitoring and tracing features.
|
|
37
|
-
* **Load Testing:** Integrating load testing capabilities.
|