Files
gemini-cli/packages/a2a-server/Dockerfile.chat-bridge
T
Adam Weidman 3e11913579 feat: Google Chat bridge with A2UI integration, activity cards, and session persistence
Remote agent accessible via Google Chat, built as a two-service architecture:
- A2A server wrapping Gemini CLI agent (concurrency=1, Cloud Run)
- Chat bridge translating Google Chat webhooks to A2A protocol (concurrency=80)

Key features:
- A2UI extension for tool approval surfaces and streaming text
- Collapsible Cards V2 activity cards with interleaved narration and tool calls
- Post-tool text extraction (final answer separated from narration)
- GCS-backed session, workspace, conversation, and ~/.gemini persistence
- YOLO mode (auto-approve tools), /esc (cancel running task), /reset, /yolo, /safe
- Default GEMINI.md seeding for agent response style
- Kubernetes deployment manifests for GKE
- Cloud Build configs for both services
2026-02-23 11:27:59 -05:00

24 lines
611 B
Docker

# Standalone Google Chat bridge server.
# Connects to the A2A agent server over HTTP — no agent dependencies needed.
FROM docker.io/library/node:20-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
WORKDIR /app
# Copy pre-installed node_modules and pre-built dist
COPY package.json package-lock.json ./
COPY node_modules/ node_modules/
COPY packages/a2a-server/ packages/a2a-server/
USER node
ENV PORT=8080
ENV NODE_ENV=production
EXPOSE 8080
CMD ["node", "packages/a2a-server/dist/src/chat-bridge/server.js"]