Skip to content

Releases: protoLabsAI/google-plugin

v0.5.0 — contacts, docs create, own-calendar events

Choose a tag to compare

@mabry1985 mabry1985 released this 03 Jul 18:34
0b4635e

Three tools that finish the personal-assistant loop:

  • contacts_search — names → email addresses across saved AND auto-collected contacts, so "draft an email to Mike" can find Mike.
  • docs_create — a NEW private Google Doc with initial text. Create-only: existing docs are never edited.
  • calendar_create_event — timed or all-day events on your own calendar. Takes no attendees — inviting people emails them, and this plugin never sends.

⚠️ Needs a reconnect: these use new scopes (contacts.readonly, contacts.other.readonly, documents, now in the connect defaults). Tokens minted earlier keep working for everything else and return a readable insufficient-scope error on the new tools until you hit Reconnect in the Google panel.

15 → 18 tools · 63 host-free tests.

v0.4.0 — triage + scheduling batch

Choose a tag to compare

@mabry1985 mabry1985 released this 03 Jul 18:27
cced08d

Six new tools, all on scopes existing tokens already carry (no re-consent):

  • gmail_label — add/remove labels by name (auto-creates missing), archive=True removes INBOX. Adding TRASH/SPAM is refused — the plugin still never deletes.
  • Attachmentsgmail_get_thread lists them; gmail_get_attachment returns text content or saves binaries into the agent workspace.
  • gmail_list_drafts / gmail_update_draft — find and rewrite drafts in place (reply headers + thread preserved). Still draft-only, never sends.
  • calendar_availability — free/busy blocks for scheduling questions.
  • calendar_search — text search across past + future events.

9 → 15 tools · 56 host-free tests.

v0.3.0 — gmail_mark_read

Choose a tag to compare

@mabry1985 mabry1985 released this 03 Jul 10:22
7232752

gmail_mark_read(message_ids | thread_id) — clears the UNREAD label from up to 1000 messages (or a whole thread) for inbox triage. Deliberately the only mailbox mutation beyond drafts: never archives, deletes, or sends. Uses the gmail.modify scope existing tokens already carry — no re-consent needed.

v0.2.0 — one-click OAuth connect, Drive, hardened core

Choose a tag to compare

@mabry1985 mabry1985 released this 03 Jul 08:48
64c1528

Highlights

  • One-click OAuth connect (#2): paste an OAuth client id + secret into Settings once, hit Connect Google in the console view — the plugin runs the consent flow, stores the refresh token in the untracked secrets.yaml, and it takes effect immediately. No more manual token minting. Public callback is gated by a single-use TTL state nonce.
  • Drive module (#4): drive_search (full-text) + drive_read (Docs → text, Sheets → CSV, Slides → text; binary files refuse readably) — the first proof of the additive-module architecture.
  • Hardened core (#3): errors carry Google's own message instead of a bare status code; 401s retry once with a fresh token; the token cache is thread-safe; multi-word Gmail labels quote correctly.
  • Repo standard (#1): host-free 44-test suite + CI, version-coherence enforcement, and two flat-repo pytest traps fixed and pinned by tests (calendar.py stdlib shadow → gcal.py; no top-level relative imports in __init__.py).

Setup

See the README's Connect (one-click OAuth) section — 5-minute Google Cloud client setup, then connect from the console.

Requires protoAgent ≥ 0.71.0.