gmail-channel-molecule (0.1.0)
Installation
pip install --index-url https://git.moleculesai.app/api/packages/molecule-ai/pypi/simple/ --extra-index-url https://pypi.org/simple gmail-channel-moleculeAbout this package
Gmail inbound channel bridge for a Molecule workspace (poll-mode A2A relay, stdlib-only, per-workspace OAuth).
gmail-channel-molecule
First-party Gmail inbound channel for Molecule workspaces. Polls a Gmail
mailbox (stdlib only) and relays each new message into a workspace over A2A
message/send, deduped on the Gmail Message-ID. Credentials are per-workspace
— minted via a Google device grant (gmail-connect skill) and stored as the
workspace's own secrets; nothing mailbox-specific is baked in.
Modeled on plugins/lark-channel. Discoverable + install-on-demand via the
molecule-core manifest.json plugin catalog (NOT auto-installed).
Layout
| Path | Purpose |
|---|---|
plugin.yaml |
Marketplace manifest — kind: channel, contributes the gmail-bridge daemon + gmail-connect skill. |
gmail_channel_molecule/bridge.py |
Pure decision helpers (plan_message/to_envelope) + Gmail REST + A2A relay + poll loop. |
gmail_channel_molecule/daemon.py |
Console entry — poll/daemon modes, env-wins credential loading, connect dispatch. |
gmail_channel_molecule/onboard.py |
Google device-grant onboarding → writes GMAIL_* workspace secrets + restart. |
skills/gmail-connect/SKILL.md |
Agent-driven connect flow (start → status → finalize). |
daemon-bootstrap.sh |
contributes.daemons entry — installs delivered source, execs the daemon. |
Connect
See skills/gmail-connect/SKILL.md. In short: create a Google OAuth client of
type "TV and Limited Input devices", export GMAIL_CLIENT_ID/GMAIL_CLIENT_SECRET,
then gmail-channel-molecule connect start | status | finalize.
Scope (v0.1.0)
- Inbound only (
gmail.readonly). Replies-to-email would be a v2 addinggmail.send. - The daemon runs from delivered source (no published wheel required). The
connectonboarding CLI ispip installed on demand; the wheel is published to the org Gitea PyPI registry byauto-release→publish(a green merge to main cuts tagv<version>, which builds + uploads the wheel), sopip install gmail-channel-molecule==0.1.0resolves. - Unit-tested (pure helpers + onboarding finalize contract); a live OAuth + relay verification against a real mailbox is recommended before fleet rollout.