@slates-integrations/google-chat 0.1.4 → 0.1.5

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.
package/docs/SPEC.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Overview
4
4
 
5
- Google Chat is Google Workspace's team messaging service. This integration exposes 26 tools for messages, spaces, memberships, reactions, direct messages, attachments, space events, the signed-in user's read state, space notification settings, sidebar sections, custom emoji, and organization-wide admin space search. It has no triggers.
5
+ Google Chat is Google Workspace's team messaging service. This integration exposes 25 tools for messages, spaces, memberships, reactions, direct messages, attachments, space events, the signed-in user's read state, space notification settings, sidebar sections, custom emoji, and organization-wide admin space search. It has no triggers.
6
6
 
7
7
  ## Tool surface
8
8
 
@@ -13,7 +13,6 @@ Google Chat is Google Workspace's team messaging service. This integration expos
13
13
  | `search_messages` | User OAuth | `POST /v1/spaces/-/messages:search`, with a `spaces.messages.list` keyword fallback when the search API is unavailable for the account or project |
14
14
  | `search_conversations` | User OAuth or Chat app | `spaces.list`, followed by client-side name matching on each returned page |
15
15
  | `manage_space` | User OAuth | Create, setup, get, update, and delete space workflows |
16
- | `manage_member` | User OAuth | Add, get, list, update, and remove memberships |
17
16
  | `manage_message` | User OAuth or Chat app | Get, patch, and delete messages; apps can mutate only app-authored messages |
18
17
  | `manage_reaction` | User OAuth | Create, list, and delete reactions |
19
18
  | `find_direct_message` | User OAuth or Chat app | `spaces.findDirectMessage` |
@@ -47,13 +46,13 @@ The consent surface contains:
47
46
 
48
47
  - `chat.messages`, `chat.messages.readonly`, and `chat.messages.create`
49
48
  - `chat.spaces`, `chat.spaces.readonly`, and the separate `chat.delete` scope
50
- - `chat.memberships`, `chat.memberships.readonly`, and `chat.memberships.app`
49
+ - `chat.memberships` and `chat.memberships.readonly`
51
50
  - `chat.messages.reactions`
52
51
  - `chat.users.readstate`, `chat.users.spacesettings`, `chat.users.sections`, and `chat.customemojis`
53
52
  - `chat.admin.spaces.readonly`
54
53
  - `userinfo.email` and `userinfo.profile`
55
54
 
56
- Connections request every scope declared on the OAuth method. Consolidated tools use relaxed `anyOf` static gates and document the per-action scope Google actually enforces in their instructions: `manage_space` accepts `chat.spaces`, `chat.spaces.readonly`, or `chat.delete` (get works read-only; create/setup/update need `chat.spaces`; delete needs `chat.delete`, and without it the tool reports that the connection must be reauthorized). `manage_message` accepts a message read scope so `action=get` works with read-only grants, while update/delete need `chat.messages`. `manage_member` accepts `chat.memberships` or `chat.memberships.app`; the app scope is required only for adding or removing the calling Chat app itself. `list_space_events` accepts any one message, reaction, membership, or space read scope because Google enforces the scope per requested `eventTypes` family. Read-only tools for read state, sections, and custom emoji also accept the matching `.readonly` scope; their write tools require the full scope. `search_spaces_admin` accepts `chat.admin.spaces.readonly` or `chat.admin.spaces`.
55
+ Connections request every scope declared on the OAuth method. Consolidated tools use relaxed `anyOf` static gates and document the per-action scope Google actually enforces in their instructions: `manage_space` accepts `chat.spaces`, `chat.spaces.readonly`, or `chat.delete` (get works read-only; create/setup/update need `chat.spaces`; delete needs `chat.delete`, and without it the tool reports that the connection must be reauthorized). `manage_message` accepts a message read scope so `action=get` works with read-only grants, while update/delete need `chat.messages`. `list_space_events` accepts any one message, reaction, membership, or space read scope because Google enforces the scope per requested `eventTypes` family. Read-only tools for read state, sections, and custom emoji also accept the matching `.readonly` scope; their write tools require the full scope. `search_spaces_admin` accepts `chat.admin.spaces.readonly` or `chat.admin.spaces`.
57
56
 
58
57
  ### Chat app service account
59
58
 
@@ -84,4 +83,4 @@ Google Drive download flow.
84
83
 
85
84
  ## Live verification boundary
86
85
 
87
- The private E2E suite defines scenarios for all 26 tools. A real run requires both a fully consented user OAuth profile and a Chat app service-account profile, a Workspace tenant where the app can be installed, a disposable member fixture, existing OAuth/app direct-message fixtures, and stable user/app attachment fixtures. Where the search API is available the suite exercises the primary `messages.search` path; otherwise `search_messages` exercises its `spaces.messages.list` fallback instead. The read state, notification setting, section, and custom emoji scenarios need their user scopes, and `search_spaces_admin` runs only for a Workspace administrator profile. Scenarios whose profile, scope, or fixture is missing skip individually rather than claiming live provider coverage.
86
+ The private E2E suite defines scenarios for all 25 tools. A real run requires both a fully consented user OAuth profile and a Chat app service-account profile, a Workspace tenant where the app can be installed, a disposable member fixture, existing OAuth/app direct-message fixtures, and stable user/app attachment fixtures. Where the search API is available the suite exercises the primary `messages.search` path; otherwise `search_messages` exercises its `spaces.messages.list` fallback instead. The read state, notification setting, section, and custom emoji scenarios need their user scopes, and `search_spaces_admin` runs only for a Workspace administrator profile. Scenarios whose profile, scope, or fixture is missing skip individually rather than claiming live provider coverage.
package/package.json CHANGED
@@ -18,7 +18,7 @@
18
18
  "typescript": "^5",
19
19
  "vitest": "^3.1.2"
20
20
  },
21
- "version": "0.1.4",
21
+ "version": "0.1.5",
22
22
  "files": [
23
23
  "dist/**",
24
24
  "docs/**",