@zaapi/open-api-mcp 1.0.0 → 1.1.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.
- package/dist/tools/accounts/list-accounts.js +32 -0
- package/dist/tools/accounts/list-accounts.js.map +1 -0
- package/dist/tools/common.js +15 -4
- package/dist/tools/common.js.map +1 -1
- package/dist/tools/contacts/create-contact.js +21 -6
- package/dist/tools/contacts/create-contact.js.map +1 -1
- package/dist/tools/contacts/get-contact-by-id.js +8 -3
- package/dist/tools/contacts/get-contact-by-id.js.map +1 -1
- package/dist/tools/contacts/list-contact-fields.js +4 -2
- package/dist/tools/contacts/list-contact-fields.js.map +1 -1
- package/dist/tools/contacts/list-contacts.js +13 -6
- package/dist/tools/contacts/list-contacts.js.map +1 -1
- package/dist/tools/contacts/update-contact-field.js +17 -6
- package/dist/tools/contacts/update-contact-field.js.map +1 -1
- package/dist/tools/conversations/filter-conversations.js +23 -8
- package/dist/tools/conversations/filter-conversations.js.map +1 -1
- package/dist/tools/conversations/mark-conversation-read.js +8 -3
- package/dist/tools/conversations/mark-conversation-read.js.map +1 -1
- package/dist/tools/conversations/update-conversation-labels.js +33 -8
- package/dist/tools/conversations/update-conversation-labels.js.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/labels/list-labels.js +10 -4
- package/dist/tools/labels/list-labels.js.map +1 -1
- package/dist/tools/messages/create-internal-comment.js +12 -4
- package/dist/tools/messages/create-internal-comment.js.map +1 -1
- package/dist/tools/messages/get-messages.js +29 -8
- package/dist/tools/messages/get-messages.js.map +1 -1
- package/dist/tools/messages/list-internal-comments.js +8 -4
- package/dist/tools/messages/list-internal-comments.js.map +1 -1
- package/dist/tools/messages/send-plain-text-message.js +13 -4
- package/dist/tools/messages/send-plain-text-message.js.map +1 -1
- package/dist/tools/teams/list-teams.js +9 -4
- package/dist/tools/teams/list-teams.js.map +1 -1
- package/dist/tools/tickets/close-ticket.js +28 -10
- package/dist/tools/tickets/close-ticket.js.map +1 -1
- package/dist/tools/tickets/get-ticket-by-id.js +9 -5
- package/dist/tools/tickets/get-ticket-by-id.js.map +1 -1
- package/dist/tools/tickets/list-ticket-fields.js +4 -3
- package/dist/tools/tickets/list-ticket-fields.js.map +1 -1
- package/dist/tools/tickets/list-tickets.js +73 -25
- package/dist/tools/tickets/list-tickets.js.map +1 -1
- package/dist/tools/tickets/update-ticket-field.js +15 -8
- package/dist/tools/tickets/update-ticket-field.js.map +1 -1
- package/dist/tools/users/list-users.js +10 -5
- package/dist/tools/users/list-users.js.map +1 -1
- package/package.json +4 -4
- package/dist/tools/close-ticket.js +0 -21
- package/dist/tools/close-ticket.js.map +0 -1
- package/dist/tools/create-contact.js +0 -21
- package/dist/tools/create-contact.js.map +0 -1
- package/dist/tools/create-internal-comment.js +0 -15
- package/dist/tools/create-internal-comment.js.map +0 -1
- package/dist/tools/filter-conversations.js +0 -18
- package/dist/tools/filter-conversations.js.map +0 -1
- package/dist/tools/get-contact-by-id.js +0 -14
- package/dist/tools/get-contact-by-id.js.map +0 -1
- package/dist/tools/get-messages.js +0 -19
- package/dist/tools/get-messages.js.map +0 -1
- package/dist/tools/get-ticket-by-id.js +0 -16
- package/dist/tools/get-ticket-by-id.js.map +0 -1
- package/dist/tools/list-contact-fields.js +0 -12
- package/dist/tools/list-contact-fields.js.map +0 -1
- package/dist/tools/list-contacts.js +0 -22
- package/dist/tools/list-contacts.js.map +0 -1
- package/dist/tools/list-internal-comments.js +0 -17
- package/dist/tools/list-internal-comments.js.map +0 -1
- package/dist/tools/list-labels.js +0 -16
- package/dist/tools/list-labels.js.map +0 -1
- package/dist/tools/list-teams.js +0 -17
- package/dist/tools/list-teams.js.map +0 -1
- package/dist/tools/list-ticket-fields.js +0 -15
- package/dist/tools/list-ticket-fields.js.map +0 -1
- package/dist/tools/list-tickets.js +0 -88
- package/dist/tools/list-tickets.js.map +0 -1
- package/dist/tools/list-users.js +0 -16
- package/dist/tools/list-users.js.map +0 -1
- package/dist/tools/mark-conversation-read.js +0 -18
- package/dist/tools/mark-conversation-read.js.map +0 -1
- package/dist/tools/send-plain-text-message.js +0 -15
- package/dist/tools/send-plain-text-message.js.map +0 -1
- package/dist/tools/update-contact-field.js +0 -17
- package/dist/tools/update-contact-field.js.map +0 -1
- package/dist/tools/update-conversation-labels.js +0 -16
- package/dist/tools/update-conversation-labels.js.map +0 -1
- package/dist/tools/update-ticket-field.js +0 -22
- package/dist/tools/update-ticket-field.js.map +0 -1
- package/dist/tools.js +0 -413
- package/dist/tools.js.map +0 -1
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { cursor, expand, messagePageSize, } from './common.js';
|
|
3
|
-
export const getMessages = {
|
|
4
|
-
name: 'getMessages',
|
|
5
|
-
title: 'List messages',
|
|
6
|
-
description: 'Required scope: messages:read. Customer-facing messages, newest first. Send conversationId and/or ticketId — at least one is required. pageSize max 15.',
|
|
7
|
-
method: 'GET',
|
|
8
|
-
path: '/v1/messages',
|
|
9
|
-
queryKeys: ['conversationId', 'ticketId', 'pageSize', 'cursor', 'expand'],
|
|
10
|
-
inputSchema: z.object({
|
|
11
|
-
conversationId: z.string().optional(),
|
|
12
|
-
ticketId: z.string().optional(),
|
|
13
|
-
pageSize: messagePageSize,
|
|
14
|
-
cursor,
|
|
15
|
-
expand: expand('Pass sentBy,conversation,account to add related names.'),
|
|
16
|
-
}),
|
|
17
|
-
annotations: { readOnlyHint: true },
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=get-messages.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-messages.js","sourceRoot":"","sources":["../../src/tools/get-messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,MAAM,EACN,MAAM,EACN,eAAe,GAEhB,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,eAAe;IACtB,WAAW,EACT,yJAAyJ;IAC3J,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,cAAc;IACpB,SAAS,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC;IACzE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,QAAQ,EAAE,eAAe;QACzB,MAAM;QACN,MAAM,EAAE,MAAM,CAAC,wDAAwD,CAAC;KACzE,CAAC;IACF,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;CACpC,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { expand } from './common.js';
|
|
3
|
-
export const getTicketById = {
|
|
4
|
-
name: 'getTicketById',
|
|
5
|
-
title: 'Get a ticket by ID',
|
|
6
|
-
description: 'Required scope: tickets:read. Fetch a single ticket. Pass expand=account,conversation,assignee,handledBy to replace those ids with names.',
|
|
7
|
-
method: 'GET',
|
|
8
|
-
path: '/v1/tickets',
|
|
9
|
-
queryKeys: ['ticketId', 'expand'],
|
|
10
|
-
inputSchema: z.object({
|
|
11
|
-
ticketId: z.string().describe('The ID of the ticket'),
|
|
12
|
-
expand: expand('Comma-separated related objects to include.'),
|
|
13
|
-
}),
|
|
14
|
-
annotations: { readOnlyHint: true },
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=get-ticket-by-id.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-ticket-by-id.js","sourceRoot":"","sources":["../../src/tools/get-ticket-by-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAC;AAExD,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EACT,2IAA2I;IAC7I,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,aAAa;IACnB,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACrD,MAAM,EAAE,MAAM,CAAC,6CAA6C,CAAC;KAC9D,CAAC;IACF,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;CACpC,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export const listContactFields = {
|
|
3
|
-
name: 'listContactFields',
|
|
4
|
-
title: 'List contact fields',
|
|
5
|
-
description: 'Required scope: contacts:read. Fetch contact field definitions for the store.',
|
|
6
|
-
method: 'GET',
|
|
7
|
-
path: '/v1/contacts/fields',
|
|
8
|
-
queryKeys: [],
|
|
9
|
-
inputSchema: z.object({}),
|
|
10
|
-
annotations: { readOnlyHint: true },
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=list-contact-fields.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-contact-fields.js","sourceRoot":"","sources":["../../src/tools/list-contact-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,iBAAiB,GAAiB;IAC7C,IAAI,EAAE,mBAAmB;IACzB,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EACT,+EAA+E;IACjF,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,qBAAqB;IAC3B,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;CACpC,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { paginationFields } from './common.js';
|
|
3
|
-
export const listContacts = {
|
|
4
|
-
name: 'listContacts',
|
|
5
|
-
title: 'List contacts',
|
|
6
|
-
description: 'Required scope: contacts:read. Search and page through contacts, most recently updated first.',
|
|
7
|
-
method: 'POST',
|
|
8
|
-
path: '/v1/contacts/list',
|
|
9
|
-
queryKeys: ['pageSize', 'cursor'],
|
|
10
|
-
inputSchema: z.object({
|
|
11
|
-
...paginationFields,
|
|
12
|
-
search: z
|
|
13
|
-
.string()
|
|
14
|
-
.max(100)
|
|
15
|
-
.optional()
|
|
16
|
-
.describe('Free-text search across name, email, and phone.'),
|
|
17
|
-
updatedAfter: z.string().optional(),
|
|
18
|
-
updatedBefore: z.string().optional(),
|
|
19
|
-
}),
|
|
20
|
-
annotations: { readOnlyHint: true },
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=list-contacts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-contacts.js","sourceRoot":"","sources":["../../src/tools/list-contacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAqB,MAAM,aAAa,CAAC;AAElE,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,eAAe;IACtB,WAAW,EACT,+FAA+F;IACjG,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,mBAAmB;IACzB,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,GAAG,gBAAgB;QACnB,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,iDAAiD,CAAC;QAC9D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACrC,CAAC;IACF,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;CACpC,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { expand, paginationFields, paginationQueryKeys, } from './common.js';
|
|
3
|
-
export const listInternalComments = {
|
|
4
|
-
name: 'listInternalComments',
|
|
5
|
-
title: 'List internal comments',
|
|
6
|
-
description: 'Required scope: messages:read. Seller-private notes on a conversation, newest first. These do not reach the customer.',
|
|
7
|
-
method: 'GET',
|
|
8
|
-
path: '/v1/messages/internal-comments',
|
|
9
|
-
queryKeys: ['conversationId', ...paginationQueryKeys],
|
|
10
|
-
inputSchema: z.object({
|
|
11
|
-
conversationId: z.string(),
|
|
12
|
-
...paginationFields,
|
|
13
|
-
expand: expand('Pass createdBy,conversation,account to resolve related names.'),
|
|
14
|
-
}),
|
|
15
|
-
annotations: { readOnlyHint: true },
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=list-internal-comments.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-internal-comments.js","sourceRoot":"","sources":["../../src/tools/list-internal-comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,mBAAmB,GAEpB,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,oBAAoB,GAAiB;IAChD,IAAI,EAAE,sBAAsB;IAC5B,KAAK,EAAE,wBAAwB;IAC/B,WAAW,EACT,uHAAuH;IACzH,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,gCAAgC;IACtC,SAAS,EAAE,CAAC,gBAAgB,EAAE,GAAG,mBAAmB,CAAC;IACrD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,GAAG,gBAAgB;QACnB,MAAM,EAAE,MAAM,CACZ,+DAA+D,CAChE;KACF,CAAC;IACF,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;CACpC,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { paginationFields } from './common.js';
|
|
3
|
-
export const listLabels = {
|
|
4
|
-
name: 'listLabels',
|
|
5
|
-
title: 'List labels',
|
|
6
|
-
description: 'Required scope: labels:read. Labels for the store, most recently updated first. searchTerm must be 3–100 characters.',
|
|
7
|
-
method: 'GET',
|
|
8
|
-
path: '/v1/labels',
|
|
9
|
-
queryKeys: ['searchTerm', 'pageSize', 'cursor'],
|
|
10
|
-
inputSchema: z.object({
|
|
11
|
-
searchTerm: z.string().min(3).max(100).optional(),
|
|
12
|
-
...paginationFields,
|
|
13
|
-
}),
|
|
14
|
-
annotations: { readOnlyHint: true },
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=list-labels.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-labels.js","sourceRoot":"","sources":["../../src/tools/list-labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAqB,MAAM,aAAa,CAAC;AAElE,MAAM,CAAC,MAAM,UAAU,GAAiB;IACtC,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,aAAa;IACpB,WAAW,EACT,sHAAsH;IACxH,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QACjD,GAAG,gBAAgB;KACpB,CAAC;IACF,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;CACpC,CAAC"}
|
package/dist/tools/list-teams.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { expand, paginationFields, paginationQueryKeys, } from './common.js';
|
|
3
|
-
export const listTeams = {
|
|
4
|
-
name: 'listTeams',
|
|
5
|
-
title: 'List teams',
|
|
6
|
-
description: 'Required scope: teams:read. Teams for the store. Pass userId to return only teams containing that user. Pass expand=users to return member { id, name }.',
|
|
7
|
-
method: 'GET',
|
|
8
|
-
path: '/v1/teams',
|
|
9
|
-
queryKeys: ['userId', ...paginationQueryKeys],
|
|
10
|
-
inputSchema: z.object({
|
|
11
|
-
userId: z.string().uuid().optional(),
|
|
12
|
-
...paginationFields,
|
|
13
|
-
expand: expand('Pass users to return each member as { id, name } when that user exists on the store.'),
|
|
14
|
-
}),
|
|
15
|
-
annotations: { readOnlyHint: true },
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=list-teams.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-teams.js","sourceRoot":"","sources":["../../src/tools/list-teams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,mBAAmB,GAEpB,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,SAAS,GAAiB;IACrC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,YAAY;IACnB,WAAW,EACT,0JAA0J;IAC5J,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,WAAW;IACjB,SAAS,EAAE,CAAC,QAAQ,EAAE,GAAG,mBAAmB,CAAC;IAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QACpC,GAAG,gBAAgB;QACnB,MAAM,EAAE,MAAM,CACZ,sFAAsF,CACvF;KACF,CAAC;IACF,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;CACpC,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { expand } from './common.js';
|
|
3
|
-
export const listTicketFields = {
|
|
4
|
-
name: 'listTicketFields',
|
|
5
|
-
title: 'List ticket fields',
|
|
6
|
-
description: 'Required scope: tickets:read. Full catalog of custom ticket field definitions. Pass expand=accounts to include the accounts each field applies to.',
|
|
7
|
-
method: 'GET',
|
|
8
|
-
path: '/v1/tickets/fields',
|
|
9
|
-
queryKeys: ['expand'],
|
|
10
|
-
inputSchema: z.object({
|
|
11
|
-
expand: expand('Pass accounts to include the accounts each field applies to.'),
|
|
12
|
-
}),
|
|
13
|
-
annotations: { readOnlyHint: true },
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=list-ticket-fields.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-ticket-fields.js","sourceRoot":"","sources":["../../src/tools/list-ticket-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAC;AAExD,MAAM,CAAC,MAAM,gBAAgB,GAAiB;IAC5C,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EACT,oJAAoJ;IACtJ,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,oBAAoB;IAC1B,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CACZ,8DAA8D,CAC/D;KACF,CAAC;IACF,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;CACpC,CAAC"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { expand, paginationFields, paginationQueryKeys, } from './common.js';
|
|
3
|
-
export const listTickets = {
|
|
4
|
-
name: 'listTickets',
|
|
5
|
-
title: 'List tickets',
|
|
6
|
-
description: 'Required scope: tickets:read. Page through tickets, newest message first. Empty body returns open, non-spam tickets that are not snoozed. Do not send assigneeUserIds together with unassigned: true.',
|
|
7
|
-
method: 'POST',
|
|
8
|
-
path: '/v1/tickets/list',
|
|
9
|
-
queryKeys: paginationQueryKeys,
|
|
10
|
-
inputSchema: z.object({
|
|
11
|
-
...paginationFields,
|
|
12
|
-
expand: expand('Pass account,conversation,assignee,handledBy to replace those ids with names.'),
|
|
13
|
-
statuses: z
|
|
14
|
-
.array(z.enum(['open', 'closed']))
|
|
15
|
-
.optional()
|
|
16
|
-
.describe('Omit to return open tickets only.'),
|
|
17
|
-
conversationId: z.string().optional(),
|
|
18
|
-
accountIds: z.array(z.string()).optional(),
|
|
19
|
-
assigneeUserIds: z.array(z.string()).optional(),
|
|
20
|
-
handledByUserIds: z.array(z.string()).optional(),
|
|
21
|
-
resolutionStatuses: z
|
|
22
|
-
.array(z.enum([
|
|
23
|
-
'none',
|
|
24
|
-
'human',
|
|
25
|
-
'automation',
|
|
26
|
-
'ai_full_resolution',
|
|
27
|
-
'ai_partial_resolution',
|
|
28
|
-
]))
|
|
29
|
-
.optional(),
|
|
30
|
-
unassigned: z.boolean().optional(),
|
|
31
|
-
isFollowUp: z.boolean().optional(),
|
|
32
|
-
isSpam: z.boolean().optional(),
|
|
33
|
-
advancedFilters: z
|
|
34
|
-
.object({
|
|
35
|
-
labels: z
|
|
36
|
-
.object({
|
|
37
|
-
operator: z.enum([
|
|
38
|
-
'contains_any',
|
|
39
|
-
'contains_all',
|
|
40
|
-
'does_not_contain_any',
|
|
41
|
-
]),
|
|
42
|
-
labelIds: z.array(z.string()).min(1).max(10),
|
|
43
|
-
})
|
|
44
|
-
.optional(),
|
|
45
|
-
ticketFields: z
|
|
46
|
-
.array(z.object({
|
|
47
|
-
ticketFieldId: z.string(),
|
|
48
|
-
operator: z.enum([
|
|
49
|
-
'equal',
|
|
50
|
-
'not_equal',
|
|
51
|
-
'starts_with',
|
|
52
|
-
'text_contains',
|
|
53
|
-
'is_one_of',
|
|
54
|
-
'is_not_one_of',
|
|
55
|
-
'contains_any',
|
|
56
|
-
'contains_all',
|
|
57
|
-
'does_not_contain_any',
|
|
58
|
-
'greater_than',
|
|
59
|
-
'less_than',
|
|
60
|
-
'greater_than_or_equal',
|
|
61
|
-
'less_than_or_equal',
|
|
62
|
-
'between',
|
|
63
|
-
]),
|
|
64
|
-
value: z.any().optional(),
|
|
65
|
-
min: z.any().optional(),
|
|
66
|
-
max: z.any().optional(),
|
|
67
|
-
}))
|
|
68
|
-
.max(10)
|
|
69
|
-
.optional(),
|
|
70
|
-
waitingForReply: z
|
|
71
|
-
.object({
|
|
72
|
-
value: z.number().int().min(1).max(43200),
|
|
73
|
-
})
|
|
74
|
-
.optional(),
|
|
75
|
-
openedAt: z
|
|
76
|
-
.object({
|
|
77
|
-
operator: z.enum(['between', 'greater_than', 'less_than']),
|
|
78
|
-
value: z.string().optional(),
|
|
79
|
-
min: z.string().optional(),
|
|
80
|
-
max: z.string().optional(),
|
|
81
|
-
})
|
|
82
|
-
.optional(),
|
|
83
|
-
})
|
|
84
|
-
.optional(),
|
|
85
|
-
}),
|
|
86
|
-
annotations: { readOnlyHint: true },
|
|
87
|
-
};
|
|
88
|
-
//# sourceMappingURL=list-tickets.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-tickets.js","sourceRoot":"","sources":["../../src/tools/list-tickets.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/list-users.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { expand } from './common.js';
|
|
3
|
-
export const listUsers = {
|
|
4
|
-
name: 'listUsers',
|
|
5
|
-
title: 'List users',
|
|
6
|
-
description: 'Required scope: users:read. Full list of users on the store. Optionally filter to one userId. Pass expand=role to include { id, name } for the role.',
|
|
7
|
-
method: 'GET',
|
|
8
|
-
path: '/v1/users',
|
|
9
|
-
queryKeys: ['userId', 'expand'],
|
|
10
|
-
inputSchema: z.object({
|
|
11
|
-
userId: z.string().uuid().optional(),
|
|
12
|
-
expand: expand('Pass role to include { id, name } and omit roleId.'),
|
|
13
|
-
}),
|
|
14
|
-
annotations: { readOnlyHint: true },
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=list-users.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-users.js","sourceRoot":"","sources":["../../src/tools/list-users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAC;AAExD,MAAM,CAAC,MAAM,SAAS,GAAiB;IACrC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,YAAY;IACnB,WAAW,EACT,sJAAsJ;IACxJ,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,WAAW;IACjB,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QACpC,MAAM,EAAE,MAAM,CAAC,oDAAoD,CAAC;KACrE,CAAC;IACF,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;CACpC,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export const markConversationRead = {
|
|
3
|
-
name: 'markConversationRead',
|
|
4
|
-
title: 'Mark a conversation as read',
|
|
5
|
-
description: "Required scope: conversations:write. Clears the unread count on the conversation's open ticket. Idempotent. A conversation with no open ticket returns 404.",
|
|
6
|
-
method: 'PATCH',
|
|
7
|
-
path: '/v1/conversations/read',
|
|
8
|
-
queryKeys: [],
|
|
9
|
-
inputSchema: z.object({
|
|
10
|
-
conversationId: z.string(),
|
|
11
|
-
}),
|
|
12
|
-
annotations: {
|
|
13
|
-
readOnlyHint: false,
|
|
14
|
-
destructiveHint: false,
|
|
15
|
-
idempotentHint: true,
|
|
16
|
-
},
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=mark-conversation-read.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mark-conversation-read.js","sourceRoot":"","sources":["../../src/tools/mark-conversation-read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,oBAAoB,GAAiB;IAChD,IAAI,EAAE,sBAAsB;IAC5B,KAAK,EAAE,6BAA6B;IACpC,WAAW,EACT,6JAA6J;IAC/J,MAAM,EAAE,OAAO;IACf,IAAI,EAAE,wBAAwB;IAC9B,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;KAC3B,CAAC;IACF,WAAW,EAAE;QACX,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;KACrB;CACF,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export const sendPlainTextMessage = {
|
|
3
|
-
name: 'sendPlainTextMessage',
|
|
4
|
-
title: 'Send a plain text message',
|
|
5
|
-
description: 'Required scope: messages:write. Send plain text to the customer on a conversation.',
|
|
6
|
-
method: 'POST',
|
|
7
|
-
path: '/v1/messages/plain-text',
|
|
8
|
-
queryKeys: [],
|
|
9
|
-
inputSchema: z.object({
|
|
10
|
-
conversationId: z.string(),
|
|
11
|
-
text: z.string(),
|
|
12
|
-
}),
|
|
13
|
-
annotations: { readOnlyHint: false, destructiveHint: false },
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=send-plain-text-message.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"send-plain-text-message.js","sourceRoot":"","sources":["../../src/tools/send-plain-text-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,oBAAoB,GAAiB;IAChD,IAAI,EAAE,sBAAsB;IAC5B,KAAK,EAAE,2BAA2B;IAClC,WAAW,EACT,oFAAoF;IACtF,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,yBAAyB;IAC/B,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC;IACF,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;CAC7D,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export const updateContactField = {
|
|
3
|
-
name: 'updateContactField',
|
|
4
|
-
title: 'Update a contact field value',
|
|
5
|
-
description: 'Required scope: contacts:write. Set or clear a custom field. Pass the customFieldsUpdatedAt you last read as updatedAt; a mismatch is rejected.',
|
|
6
|
-
method: 'PATCH',
|
|
7
|
-
path: '/v1/contacts/fields',
|
|
8
|
-
queryKeys: [],
|
|
9
|
-
inputSchema: z.object({
|
|
10
|
-
contactId: z.string(),
|
|
11
|
-
contactFieldId: z.string(),
|
|
12
|
-
value: z.any().nullable(),
|
|
13
|
-
updatedAt: z.string(),
|
|
14
|
-
}),
|
|
15
|
-
annotations: { readOnlyHint: false, destructiveHint: false },
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=update-contact-field.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update-contact-field.js","sourceRoot":"","sources":["../../src/tools/update-contact-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,kBAAkB,GAAiB;IAC9C,IAAI,EAAE,oBAAoB;IAC1B,KAAK,EAAE,8BAA8B;IACrC,WAAW,EACT,iJAAiJ;IACnJ,MAAM,EAAE,OAAO;IACf,IAAI,EAAE,qBAAqB;IAC3B,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACzB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;KACtB,CAAC;IACF,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;CAC7D,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export const updateConversationLabels = {
|
|
3
|
-
name: 'updateConversationLabels',
|
|
4
|
-
title: 'Update conversation labels',
|
|
5
|
-
description: 'Required scope: conversations:write. Add and/or remove up to 10 labels. At least one of addLabels or removeLabels is required.',
|
|
6
|
-
method: 'PATCH',
|
|
7
|
-
path: '/v1/conversations/labels',
|
|
8
|
-
queryKeys: [],
|
|
9
|
-
inputSchema: z.object({
|
|
10
|
-
conversationId: z.string(),
|
|
11
|
-
addLabels: z.array(z.string()).max(10).optional(),
|
|
12
|
-
removeLabels: z.array(z.string()).max(10).optional(),
|
|
13
|
-
}),
|
|
14
|
-
annotations: { readOnlyHint: false, destructiveHint: false },
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=update-conversation-labels.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update-conversation-labels.js","sourceRoot":"","sources":["../../src/tools/update-conversation-labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,wBAAwB,GAAiB;IACpD,IAAI,EAAE,0BAA0B;IAChC,KAAK,EAAE,4BAA4B;IACnC,WAAW,EACT,gIAAgI;IAClI,MAAM,EAAE,OAAO;IACf,IAAI,EAAE,0BAA0B;IAChC,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QACjD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;KACrD,CAAC;IACF,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;CAC7D,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { expand } from './common.js';
|
|
3
|
-
export const updateTicketField = {
|
|
4
|
-
name: 'updateTicketField',
|
|
5
|
-
title: 'Update a ticket field value',
|
|
6
|
-
description: 'Required scope: tickets:write. Set or clear one field on a ticket. Send null as newValue to unset. Send ticketFieldsUpdatedAt from the last read; a mismatch returns 409.',
|
|
7
|
-
method: 'PATCH',
|
|
8
|
-
path: '/v1/tickets/fields',
|
|
9
|
-
queryKeys: ['expand'],
|
|
10
|
-
inputSchema: z.object({
|
|
11
|
-
expand: expand('Related objects to include on the updated ticket.'),
|
|
12
|
-
ticketId: z.string(),
|
|
13
|
-
ticketFieldId: z.string(),
|
|
14
|
-
ticketFieldsUpdatedAt: z
|
|
15
|
-
.string()
|
|
16
|
-
.optional()
|
|
17
|
-
.describe('Omit if the ticket has never had a field update.'),
|
|
18
|
-
newValue: z.any().nullable(),
|
|
19
|
-
}),
|
|
20
|
-
annotations: { readOnlyHint: false, destructiveHint: false },
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=update-ticket-field.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update-ticket-field.js","sourceRoot":"","sources":["../../src/tools/update-ticket-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAC;AAExD,MAAM,CAAC,MAAM,iBAAiB,GAAiB;IAC7C,IAAI,EAAE,mBAAmB;IACzB,KAAK,EAAE,6BAA6B;IACpC,WAAW,EACT,2KAA2K;IAC7K,MAAM,EAAE,OAAO;IACf,IAAI,EAAE,oBAAoB;IAC1B,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC,mDAAmD,CAAC;QACnE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;QACzB,qBAAqB,EAAE,CAAC;aACrB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,kDAAkD,CAAC;QAC/D,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC;IACF,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;CAC7D,CAAC"}
|