hermes-agent/plugins/platforms/google_chat/plugin.yaml

50 lines
2.4 KiB
YAML

name: google_chat-platform
label: Google Chat
kind: platform
version: 1.0.0
description: >
Google Chat gateway adapter for Hermes Agent.
Connects through authenticated HTTP callbacks or an optional Cloud Pub/Sub
pull subscription for inbound events, and uses the Google Chat REST API for
outbound messages. Native file attachments are delivered via per-user OAuth
(each user runs /setup-files once in their own DM).
author: Ramón Fernández
# ``requires_env`` entries are surfaced in ``hermes config`` UI via the
# platform-plugin env var injector in ``hermes_cli/config.py``. Using the
# rich-dict form lets us contribute description/url/prompt metadata so users
# see helpful guidance instead of the auto-generated fallback text.
requires_env:
- name: GOOGLE_CHAT_SERVICE_ACCOUNT_JSON
description: "Path to Service Account JSON key (or inline JSON). Leave empty to use Application Default Credentials on Cloud Run / GCE. Falls back to GOOGLE_APPLICATION_CREDENTIALS."
prompt: "Path to SA JSON (or empty for ADC)"
password: true
optional_env:
- name: GOOGLE_CHAT_HTTP_EVENTS_URL
description: "Authenticated HTTP endpoint for Chat message events."
prompt: "HTTP events callback URL"
password: false
- name: GOOGLE_CHAT_HTTP_EVENTS_AUDIENCE
description: "Expected audience for Google-signed HTTP event bearer tokens. Defaults to GOOGLE_CHAT_HTTP_EVENTS_URL."
prompt: "HTTP events token audience"
password: false
- name: GOOGLE_CHAT_HTTP_EVENTS_SERVICE_ACCOUNT_EMAIL
description: "Expected Google service account email for HTTP event bearer tokens."
prompt: "HTTP events service account email"
password: false
- name: GOOGLE_CHAT_PROJECT_ID
description: "GCP project ID for optional Pub/Sub inbound mode. Falls back to GOOGLE_CLOUD_PROJECT."
prompt: "GCP project ID"
url: "https://console.cloud.google.com/"
password: false
- name: GOOGLE_CHAT_SUBSCRIPTION_NAME
description: "Optional Pub/Sub subscription path for pull-mode inbound events."
prompt: "Pub/Sub subscription name"
password: false
- name: GOOGLE_CHAT_ALLOWED_USERS
description: "Comma-separated user emails allowed to interact with the bot."
prompt: "Allowed user emails (comma-separated)"
password: false
- name: GOOGLE_CHAT_HOME_CHANNEL
description: "Default space for cron / notification delivery (e.g. spaces/AAAA...)."
prompt: "Home space ID (or empty)"
password: false