@motorical/scope-catalog 0.10.0 → 0.11.0

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/tools.js +15 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@motorical/scope-catalog",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "Canonical MCP/OAuth scope metadata for Motorical — descriptions, Public API scope mapping, implied-read rules, and declarative tool/resource membership. One source of truth consumed by motorical-backend and @motorical/mcp.",
5
5
  "main": "./src/index.js",
6
6
  "engines": {
package/src/tools.js CHANGED
@@ -119,6 +119,14 @@ const COMMS_TOOLS = [
119
119
  'comms_set_brand_kit',
120
120
  'comms_create_list',
121
121
  'comms_update_list',
122
+ // M3-3: contacts. Reads are masked (read:comms); writes are dry-run-by-default (write:comms.audience). Nothing deletes, exports, resubscribes or sends.
123
+ 'comms_list_list_contacts',
124
+ 'comms_find_contact',
125
+ 'comms_import_contacts',
126
+ 'comms_remove_from_list',
127
+ 'comms_derive_list',
128
+ 'comms_unsubscribe_contact',
129
+ 'comms_add_suppression',
122
130
  ];
123
131
 
124
132
  const ALL_TOOLS = [
@@ -235,6 +243,13 @@ const TOOL_SCOPES = {
235
243
  comms_set_brand_kit: ['write:comms.content'],
236
244
  comms_create_list: ['write:comms.audience'],
237
245
  comms_update_list: ['write:comms.audience'],
246
+ comms_list_list_contacts: ['read:comms'],
247
+ comms_find_contact: ['read:comms'],
248
+ comms_import_contacts: ['write:comms.audience'],
249
+ comms_remove_from_list: ['write:comms.audience'],
250
+ comms_derive_list: ['write:comms.audience'],
251
+ comms_unsubscribe_contact: ['write:comms.audience'],
252
+ comms_add_suppression: ['write:comms.audience'],
238
253
  };
239
254
 
240
255
  /** `|| []`: a tool with no entry (signup's own tool) contributes no scopes rather than throwing. */