@instantkom/mcp-server 1.0.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 (187) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +274 -0
  3. package/dist/client/api-client.d.ts +76 -0
  4. package/dist/client/api-client.d.ts.map +1 -0
  5. package/dist/client/api-client.js +234 -0
  6. package/dist/client/api-client.js.map +1 -0
  7. package/dist/index.public.d.ts +23 -0
  8. package/dist/index.public.d.ts.map +1 -0
  9. package/dist/index.public.js +79 -0
  10. package/dist/index.public.js.map +1 -0
  11. package/dist/tools/app/account.d.ts +46 -0
  12. package/dist/tools/app/account.d.ts.map +1 -0
  13. package/dist/tools/app/account.js +69 -0
  14. package/dist/tools/app/account.js.map +1 -0
  15. package/dist/tools/app/analytics.d.ts +78 -0
  16. package/dist/tools/app/analytics.d.ts.map +1 -0
  17. package/dist/tools/app/analytics.js +158 -0
  18. package/dist/tools/app/analytics.js.map +1 -0
  19. package/dist/tools/app/api-keys.d.ts +195 -0
  20. package/dist/tools/app/api-keys.d.ts.map +1 -0
  21. package/dist/tools/app/api-keys.js +203 -0
  22. package/dist/tools/app/api-keys.js.map +1 -0
  23. package/dist/tools/app/billing.d.ts +78 -0
  24. package/dist/tools/app/billing.d.ts.map +1 -0
  25. package/dist/tools/app/billing.js +117 -0
  26. package/dist/tools/app/billing.js.map +1 -0
  27. package/dist/tools/app/bots.d.ts +641 -0
  28. package/dist/tools/app/bots.d.ts.map +1 -0
  29. package/dist/tools/app/bots.js +599 -0
  30. package/dist/tools/app/bots.js.map +1 -0
  31. package/dist/tools/app/broadcasts.d.ts +165 -0
  32. package/dist/tools/app/broadcasts.d.ts.map +1 -0
  33. package/dist/tools/app/broadcasts.js +219 -0
  34. package/dist/tools/app/broadcasts.js.map +1 -0
  35. package/dist/tools/app/channels.d.ts +126 -0
  36. package/dist/tools/app/channels.d.ts.map +1 -0
  37. package/dist/tools/app/channels.js +198 -0
  38. package/dist/tools/app/channels.js.map +1 -0
  39. package/dist/tools/app/chats.d.ts +90 -0
  40. package/dist/tools/app/chats.d.ts.map +1 -0
  41. package/dist/tools/app/chats.js +162 -0
  42. package/dist/tools/app/chats.js.map +1 -0
  43. package/dist/tools/app/contacts.d.ts +153 -0
  44. package/dist/tools/app/contacts.d.ts.map +1 -0
  45. package/dist/tools/app/contacts.js +186 -0
  46. package/dist/tools/app/contacts.js.map +1 -0
  47. package/dist/tools/app/coupons.d.ts +37 -0
  48. package/dist/tools/app/coupons.d.ts.map +1 -0
  49. package/dist/tools/app/coupons.js +70 -0
  50. package/dist/tools/app/coupons.js.map +1 -0
  51. package/dist/tools/app/custom-fields.d.ts +301 -0
  52. package/dist/tools/app/custom-fields.d.ts.map +1 -0
  53. package/dist/tools/app/custom-fields.js +265 -0
  54. package/dist/tools/app/custom-fields.js.map +1 -0
  55. package/dist/tools/app/dashboard-widgets.d.ts +121 -0
  56. package/dist/tools/app/dashboard-widgets.d.ts.map +1 -0
  57. package/dist/tools/app/dashboard-widgets.js +163 -0
  58. package/dist/tools/app/dashboard-widgets.js.map +1 -0
  59. package/dist/tools/app/dashboard.d.ts +18 -0
  60. package/dist/tools/app/dashboard.d.ts.map +1 -0
  61. package/dist/tools/app/dashboard.js +29 -0
  62. package/dist/tools/app/dashboard.js.map +1 -0
  63. package/dist/tools/app/ecommerce.d.ts +95 -0
  64. package/dist/tools/app/ecommerce.d.ts.map +1 -0
  65. package/dist/tools/app/ecommerce.js +109 -0
  66. package/dist/tools/app/ecommerce.js.map +1 -0
  67. package/dist/tools/app/events.d.ts +53 -0
  68. package/dist/tools/app/events.d.ts.map +1 -0
  69. package/dist/tools/app/events.js +66 -0
  70. package/dist/tools/app/events.js.map +1 -0
  71. package/dist/tools/app/exports.d.ts +81 -0
  72. package/dist/tools/app/exports.d.ts.map +1 -0
  73. package/dist/tools/app/exports.js +125 -0
  74. package/dist/tools/app/exports.js.map +1 -0
  75. package/dist/tools/app/feeds.d.ts +113 -0
  76. package/dist/tools/app/feeds.d.ts.map +1 -0
  77. package/dist/tools/app/feeds.js +166 -0
  78. package/dist/tools/app/feeds.js.map +1 -0
  79. package/dist/tools/app/flow-edges.d.ts +122 -0
  80. package/dist/tools/app/flow-edges.d.ts.map +1 -0
  81. package/dist/tools/app/flow-edges.js +130 -0
  82. package/dist/tools/app/flow-edges.js.map +1 -0
  83. package/dist/tools/app/flow-nodes.d.ts +122 -0
  84. package/dist/tools/app/flow-nodes.d.ts.map +1 -0
  85. package/dist/tools/app/flow-nodes.js +130 -0
  86. package/dist/tools/app/flow-nodes.js.map +1 -0
  87. package/dist/tools/app/flows.d.ts +136 -0
  88. package/dist/tools/app/flows.d.ts.map +1 -0
  89. package/dist/tools/app/flows.js +141 -0
  90. package/dist/tools/app/flows.js.map +1 -0
  91. package/dist/tools/app/funnels.d.ts +96 -0
  92. package/dist/tools/app/funnels.d.ts.map +1 -0
  93. package/dist/tools/app/funnels.js +127 -0
  94. package/dist/tools/app/funnels.js.map +1 -0
  95. package/dist/tools/app/index.d.ts +51 -0
  96. package/dist/tools/app/index.d.ts.map +1 -0
  97. package/dist/tools/app/index.js +121 -0
  98. package/dist/tools/app/index.js.map +1 -0
  99. package/dist/tools/app/media.d.ts +44 -0
  100. package/dist/tools/app/media.d.ts.map +1 -0
  101. package/dist/tools/app/media.js +183 -0
  102. package/dist/tools/app/media.js.map +1 -0
  103. package/dist/tools/app/message-events.d.ts +69 -0
  104. package/dist/tools/app/message-events.d.ts.map +1 -0
  105. package/dist/tools/app/message-events.js +72 -0
  106. package/dist/tools/app/message-events.js.map +1 -0
  107. package/dist/tools/app/messages.d.ts +380 -0
  108. package/dist/tools/app/messages.d.ts.map +1 -0
  109. package/dist/tools/app/messages.js +345 -0
  110. package/dist/tools/app/messages.js.map +1 -0
  111. package/dist/tools/app/object-folders.d.ts +82 -0
  112. package/dist/tools/app/object-folders.d.ts.map +1 -0
  113. package/dist/tools/app/object-folders.js +123 -0
  114. package/dist/tools/app/object-folders.js.map +1 -0
  115. package/dist/tools/app/plans.d.ts +53 -0
  116. package/dist/tools/app/plans.d.ts.map +1 -0
  117. package/dist/tools/app/plans.js +70 -0
  118. package/dist/tools/app/plans.js.map +1 -0
  119. package/dist/tools/app/polls.d.ts +227 -0
  120. package/dist/tools/app/polls.d.ts.map +1 -0
  121. package/dist/tools/app/polls.js +256 -0
  122. package/dist/tools/app/polls.js.map +1 -0
  123. package/dist/tools/app/qr-codes.d.ts +103 -0
  124. package/dist/tools/app/qr-codes.d.ts.map +1 -0
  125. package/dist/tools/app/qr-codes.js +160 -0
  126. package/dist/tools/app/qr-codes.js.map +1 -0
  127. package/dist/tools/app/segmentations.d.ts +132 -0
  128. package/dist/tools/app/segmentations.d.ts.map +1 -0
  129. package/dist/tools/app/segmentations.js +237 -0
  130. package/dist/tools/app/segmentations.js.map +1 -0
  131. package/dist/tools/app/settings.d.ts +75 -0
  132. package/dist/tools/app/settings.d.ts.map +1 -0
  133. package/dist/tools/app/settings.js +96 -0
  134. package/dist/tools/app/settings.js.map +1 -0
  135. package/dist/tools/app/shortlinks.d.ts +103 -0
  136. package/dist/tools/app/shortlinks.d.ts.map +1 -0
  137. package/dist/tools/app/shortlinks.js +158 -0
  138. package/dist/tools/app/shortlinks.js.map +1 -0
  139. package/dist/tools/app/super-widgets.d.ts +95 -0
  140. package/dist/tools/app/super-widgets.d.ts.map +1 -0
  141. package/dist/tools/app/super-widgets.js +124 -0
  142. package/dist/tools/app/super-widgets.js.map +1 -0
  143. package/dist/tools/app/tags.d.ts +267 -0
  144. package/dist/tools/app/tags.d.ts.map +1 -0
  145. package/dist/tools/app/tags.js +363 -0
  146. package/dist/tools/app/tags.js.map +1 -0
  147. package/dist/tools/app/team-members.d.ts +141 -0
  148. package/dist/tools/app/team-members.d.ts.map +1 -0
  149. package/dist/tools/app/team-members.js +195 -0
  150. package/dist/tools/app/team-members.js.map +1 -0
  151. package/dist/tools/app/templates.d.ts +212 -0
  152. package/dist/tools/app/templates.d.ts.map +1 -0
  153. package/dist/tools/app/templates.js +270 -0
  154. package/dist/tools/app/templates.js.map +1 -0
  155. package/dist/tools/app/tickets.d.ts +277 -0
  156. package/dist/tools/app/tickets.d.ts.map +1 -0
  157. package/dist/tools/app/tickets.js +266 -0
  158. package/dist/tools/app/tickets.js.map +1 -0
  159. package/dist/tools/app/users.d.ts +70 -0
  160. package/dist/tools/app/users.d.ts.map +1 -0
  161. package/dist/tools/app/users.js +72 -0
  162. package/dist/tools/app/users.js.map +1 -0
  163. package/dist/tools/app/webhooks.d.ts +61 -0
  164. package/dist/tools/app/webhooks.d.ts.map +1 -0
  165. package/dist/tools/app/webhooks.js +85 -0
  166. package/dist/tools/app/webhooks.js.map +1 -0
  167. package/dist/tools/app/widgets.d.ts +103 -0
  168. package/dist/tools/app/widgets.d.ts.map +1 -0
  169. package/dist/tools/app/widgets.js +128 -0
  170. package/dist/tools/app/widgets.js.map +1 -0
  171. package/dist/tools/public/health.d.ts +16 -0
  172. package/dist/tools/public/health.d.ts.map +1 -0
  173. package/dist/tools/public/health.js +27 -0
  174. package/dist/tools/public/health.js.map +1 -0
  175. package/dist/tools/public/index.d.ts +15 -0
  176. package/dist/tools/public/index.d.ts.map +1 -0
  177. package/dist/tools/public/index.js +10 -0
  178. package/dist/tools/public/index.js.map +1 -0
  179. package/dist/tools/tool-router.d.ts +21 -0
  180. package/dist/tools/tool-router.d.ts.map +1 -0
  181. package/dist/tools/tool-router.js +118 -0
  182. package/dist/tools/tool-router.js.map +1 -0
  183. package/dist/types/index.d.ts +73 -0
  184. package/dist/types/index.d.ts.map +1 -0
  185. package/dist/types/index.js +5 -0
  186. package/dist/types/index.js.map +1 -0
  187. package/package.json +89 -0
@@ -0,0 +1,266 @@
1
+ /**
2
+ * Tickets Tools
3
+ * CRUD operations for support tickets and ticket messages
4
+ */
5
+ // ============================================================================
6
+ // Ticket CRUD Operations
7
+ // ============================================================================
8
+ export async function listTickets(apiClient, args) {
9
+ const params = new URLSearchParams();
10
+ if (args.page)
11
+ params.append('page', args.page.toString());
12
+ if (args.limit)
13
+ params.append('limit', args.limit.toString());
14
+ if (args.channelId)
15
+ params.append('channelId', args.channelId.toString());
16
+ if (args.status)
17
+ params.append('status', args.status);
18
+ if (args.priority)
19
+ params.append('priority', args.priority);
20
+ const query = params.toString() ? `?${params.toString()}` : '';
21
+ const response = await apiClient.get(`/v1/tickets${query}`);
22
+ return {
23
+ content: [
24
+ {
25
+ type: 'text',
26
+ text: JSON.stringify(response, null, 2),
27
+ },
28
+ ],
29
+ };
30
+ }
31
+ export async function getTicket(apiClient, args) {
32
+ const response = await apiClient.get(`/v1/tickets/${args.id}`);
33
+ return {
34
+ content: [
35
+ {
36
+ type: 'text',
37
+ text: JSON.stringify(response, null, 2),
38
+ },
39
+ ],
40
+ };
41
+ }
42
+ export async function createTicket(apiClient, args) {
43
+ const response = await apiClient.post('/v1/tickets', args);
44
+ return {
45
+ content: [
46
+ {
47
+ type: 'text',
48
+ text: JSON.stringify(response, null, 2),
49
+ },
50
+ ],
51
+ };
52
+ }
53
+ export async function updateTicket(apiClient, args) {
54
+ const { id, ...data } = args;
55
+ const response = await apiClient.put(`/v1/tickets/${id}`, data);
56
+ return {
57
+ content: [
58
+ {
59
+ type: 'text',
60
+ text: JSON.stringify(response, null, 2),
61
+ },
62
+ ],
63
+ };
64
+ }
65
+ export async function deleteTicket(apiClient, args) {
66
+ await apiClient.delete(`/v1/tickets/${args.id}`);
67
+ return {
68
+ content: [
69
+ {
70
+ type: 'text',
71
+ text: 'Ticket deleted successfully',
72
+ },
73
+ ],
74
+ };
75
+ }
76
+ // ============================================================================
77
+ // Ticket Messages Operations
78
+ // ============================================================================
79
+ export async function listTicketMessages(apiClient, args) {
80
+ const response = await apiClient.get(`/v1/tickets/${args.ticketId}/messages`);
81
+ return {
82
+ content: [
83
+ {
84
+ type: 'text',
85
+ text: JSON.stringify(response, null, 2),
86
+ },
87
+ ],
88
+ };
89
+ }
90
+ export async function getTicketMessage(apiClient, args) {
91
+ const response = await apiClient.get(`/v1/tickets/${args.ticketId}/messages/${args.messageId}`);
92
+ return {
93
+ content: [
94
+ {
95
+ type: 'text',
96
+ text: JSON.stringify(response, null, 2),
97
+ },
98
+ ],
99
+ };
100
+ }
101
+ export async function createTicketMessage(apiClient, args) {
102
+ const { ticketId, ...data } = args;
103
+ const response = await apiClient.post(`/v1/tickets/${ticketId}/messages`, data);
104
+ return {
105
+ content: [
106
+ {
107
+ type: 'text',
108
+ text: JSON.stringify(response, null, 2),
109
+ },
110
+ ],
111
+ };
112
+ }
113
+ export async function updateTicketMessage(apiClient, args) {
114
+ const { ticketId, messageId, ...data } = args;
115
+ const response = await apiClient.put(`/v1/tickets/${ticketId}/messages/${messageId}`, data);
116
+ return {
117
+ content: [
118
+ {
119
+ type: 'text',
120
+ text: JSON.stringify(response, null, 2),
121
+ },
122
+ ],
123
+ };
124
+ }
125
+ export async function deleteTicketMessage(apiClient, args) {
126
+ await apiClient.delete(`/v1/tickets/${args.ticketId}/messages/${args.messageId}`);
127
+ return {
128
+ content: [
129
+ {
130
+ type: 'text',
131
+ text: 'Ticket message deleted successfully',
132
+ },
133
+ ],
134
+ };
135
+ }
136
+ export const ticketTools = [
137
+ // Ticket CRUD
138
+ {
139
+ name: 'list_tickets',
140
+ description: 'List all support tickets with optional filters',
141
+ inputSchema: {
142
+ type: 'object',
143
+ properties: {
144
+ page: { type: 'number', description: 'Page number (default: 1)' },
145
+ limit: { type: 'number', description: 'Items per page (default: 10)' },
146
+ channelId: { type: 'number', description: 'Filter by channel ID' },
147
+ status: { type: 'string', description: 'Filter by status (new, open, pending, closed)' },
148
+ priority: { type: 'string', description: 'Filter by priority (low, normal, high, urgent)' },
149
+ },
150
+ },
151
+ },
152
+ {
153
+ name: 'get_ticket',
154
+ description: 'Get a specific ticket by ID with full history',
155
+ inputSchema: {
156
+ type: 'object',
157
+ properties: {
158
+ id: { type: 'number', description: 'Ticket ID' },
159
+ },
160
+ required: ['id'],
161
+ },
162
+ },
163
+ {
164
+ name: 'create_ticket',
165
+ description: 'Create a new support ticket',
166
+ inputSchema: {
167
+ type: 'object',
168
+ properties: {
169
+ channelId: { type: 'number', description: 'Channel ID' },
170
+ recipientId: { type: 'number', description: 'Contact/Recipient ID' },
171
+ subject: { type: 'string', description: 'Ticket subject' },
172
+ message: { type: 'string', description: 'Initial message' },
173
+ priority: { type: 'string', description: 'Priority (low, normal, high, urgent)' },
174
+ },
175
+ required: ['channelId', 'recipientId', 'subject', 'message'],
176
+ },
177
+ },
178
+ {
179
+ name: 'update_ticket',
180
+ description: 'Update a ticket (status, priority, assignment)',
181
+ inputSchema: {
182
+ type: 'object',
183
+ properties: {
184
+ id: { type: 'number', description: 'Ticket ID' },
185
+ status: { type: 'string', description: 'Status (new, open, pending, closed)' },
186
+ priority: { type: 'string', description: 'Priority (low, normal, high, urgent)' },
187
+ assignedTo: { type: 'number', description: 'Assign to team member ID' },
188
+ },
189
+ required: ['id'],
190
+ },
191
+ },
192
+ {
193
+ name: 'delete_ticket',
194
+ description: 'Delete a ticket by ID',
195
+ inputSchema: {
196
+ type: 'object',
197
+ properties: {
198
+ id: { type: 'number', description: 'Ticket ID' },
199
+ },
200
+ required: ['id'],
201
+ },
202
+ },
203
+ // Ticket Messages
204
+ {
205
+ name: 'list_ticket_messages',
206
+ description: 'List all messages in a ticket',
207
+ inputSchema: {
208
+ type: 'object',
209
+ properties: {
210
+ ticketId: { type: 'number', description: 'Ticket ID' },
211
+ },
212
+ required: ['ticketId'],
213
+ },
214
+ },
215
+ {
216
+ name: 'get_ticket_message',
217
+ description: 'Get a specific ticket message',
218
+ inputSchema: {
219
+ type: 'object',
220
+ properties: {
221
+ ticketId: { type: 'number', description: 'Ticket ID' },
222
+ messageId: { type: 'number', description: 'Message ID' },
223
+ },
224
+ required: ['ticketId', 'messageId'],
225
+ },
226
+ },
227
+ {
228
+ name: 'create_ticket_message',
229
+ description: 'Add a message/reply to a ticket',
230
+ inputSchema: {
231
+ type: 'object',
232
+ properties: {
233
+ ticketId: { type: 'number', description: 'Ticket ID' },
234
+ message: { type: 'string', description: 'Message text' },
235
+ internal: { type: 'boolean', description: 'Internal note (not visible to customer)' },
236
+ },
237
+ required: ['ticketId', 'message'],
238
+ },
239
+ },
240
+ {
241
+ name: 'update_ticket_message',
242
+ description: 'Update a ticket message',
243
+ inputSchema: {
244
+ type: 'object',
245
+ properties: {
246
+ ticketId: { type: 'number', description: 'Ticket ID' },
247
+ messageId: { type: 'number', description: 'Message ID' },
248
+ message: { type: 'string', description: 'Updated message text' },
249
+ },
250
+ required: ['ticketId', 'messageId'],
251
+ },
252
+ },
253
+ {
254
+ name: 'delete_ticket_message',
255
+ description: 'Delete a ticket message',
256
+ inputSchema: {
257
+ type: 'object',
258
+ properties: {
259
+ ticketId: { type: 'number', description: 'Ticket ID' },
260
+ messageId: { type: 'number', description: 'Message ID' },
261
+ },
262
+ required: ['ticketId', 'messageId'],
263
+ },
264
+ },
265
+ ];
266
+ //# sourceMappingURL=tickets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tickets.js","sourceRoot":"","sources":["../../../src/tools/app/tickets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import type { ApiClient } from '../../client/api-client.js';
2
+ /**
3
+ * Users Tools
4
+ * User management operations
5
+ */
6
+ export declare function getCurrentUser(apiClient: ApiClient): Promise<any>;
7
+ export declare function updateCurrentUser(apiClient: ApiClient, args: any): Promise<any>;
8
+ export declare function changePassword(apiClient: ApiClient, args: {
9
+ currentPassword: string;
10
+ newPassword: string;
11
+ }): Promise<any>;
12
+ export declare const userTools: ({
13
+ name: string;
14
+ description: string;
15
+ inputSchema: {
16
+ type: string;
17
+ properties: {
18
+ name?: undefined;
19
+ email?: undefined;
20
+ phone?: undefined;
21
+ currentPassword?: undefined;
22
+ newPassword?: undefined;
23
+ };
24
+ required?: undefined;
25
+ };
26
+ } | {
27
+ name: string;
28
+ description: string;
29
+ inputSchema: {
30
+ type: string;
31
+ properties: {
32
+ name: {
33
+ type: string;
34
+ description: string;
35
+ };
36
+ email: {
37
+ type: string;
38
+ description: string;
39
+ };
40
+ phone: {
41
+ type: string;
42
+ description: string;
43
+ };
44
+ currentPassword?: undefined;
45
+ newPassword?: undefined;
46
+ };
47
+ required?: undefined;
48
+ };
49
+ } | {
50
+ name: string;
51
+ description: string;
52
+ inputSchema: {
53
+ type: string;
54
+ properties: {
55
+ currentPassword: {
56
+ type: string;
57
+ description: string;
58
+ };
59
+ newPassword: {
60
+ type: string;
61
+ description: string;
62
+ };
63
+ name?: undefined;
64
+ email?: undefined;
65
+ phone?: undefined;
66
+ };
67
+ required: string[];
68
+ };
69
+ })[];
70
+ //# sourceMappingURL=users.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../../src/tools/app/users.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;GAGG;AAEH,wBAAsB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAWvE;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAWrF;AAED,wBAAsB,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAW/H;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiCrB,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Users Tools
3
+ * User management operations
4
+ */
5
+ export async function getCurrentUser(apiClient) {
6
+ const response = await apiClient.get('/v1/users/me');
7
+ return {
8
+ content: [
9
+ {
10
+ type: 'text',
11
+ text: JSON.stringify(response, null, 2),
12
+ },
13
+ ],
14
+ };
15
+ }
16
+ export async function updateCurrentUser(apiClient, args) {
17
+ const response = await apiClient.put('/v1/users/me', args);
18
+ return {
19
+ content: [
20
+ {
21
+ type: 'text',
22
+ text: JSON.stringify(response, null, 2),
23
+ },
24
+ ],
25
+ };
26
+ }
27
+ export async function changePassword(apiClient, args) {
28
+ const response = await apiClient.post('/v1/users/change-password', args);
29
+ return {
30
+ content: [
31
+ {
32
+ type: 'text',
33
+ text: JSON.stringify(response, null, 2),
34
+ },
35
+ ],
36
+ };
37
+ }
38
+ export const userTools = [
39
+ {
40
+ name: 'get_current_user',
41
+ description: 'Get current user profile',
42
+ inputSchema: {
43
+ type: 'object',
44
+ properties: {},
45
+ },
46
+ },
47
+ {
48
+ name: 'update_current_user',
49
+ description: 'Update current user profile',
50
+ inputSchema: {
51
+ type: 'object',
52
+ properties: {
53
+ name: { type: 'string', description: 'Full name' },
54
+ email: { type: 'string', description: 'Email address' },
55
+ phone: { type: 'string', description: 'Phone number' },
56
+ },
57
+ },
58
+ },
59
+ {
60
+ name: 'change_password',
61
+ description: 'Change user password',
62
+ inputSchema: {
63
+ type: 'object',
64
+ properties: {
65
+ currentPassword: { type: 'string', description: 'Current password' },
66
+ newPassword: { type: 'string', description: 'New password' },
67
+ },
68
+ required: ['currentPassword', 'newPassword'],
69
+ },
70
+ },
71
+ ];
72
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../../src/tools/app/users.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,SAAoB;IACvD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAErD,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACxC;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,SAAoB,EAAE,IAAS;IACrE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAE3D,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACxC;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,SAAoB,EAAE,IAAsD;IAC/G,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;IAEzE,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACxC;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,0BAA0B;QACvC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,6BAA6B;QAC1C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE;gBAClD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;gBACvD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;aACvD;SACF;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,sBAAsB;QACnC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBACpE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;aAC7D;YACD,QAAQ,EAAE,CAAC,iBAAiB,EAAE,aAAa,CAAC;SAC7C;KACF;CACF,CAAC"}
@@ -0,0 +1,61 @@
1
+ import type { ApiClient } from '../../client/api-client.js';
2
+ /**
3
+ * REST Hooks Tools
4
+ * Dynamic webhook subscription management for native Zapier/Make apps.
5
+ */
6
+ export declare function subscribeWebhook(apiClient: ApiClient, args: {
7
+ event: string;
8
+ target_url: string;
9
+ }): Promise<any>;
10
+ export declare function listWebhookSubscriptions(apiClient: ApiClient): Promise<any>;
11
+ export declare function unsubscribeWebhook(apiClient: ApiClient, args: {
12
+ id: string;
13
+ }): Promise<any>;
14
+ export declare const webhookTools: ({
15
+ name: string;
16
+ description: string;
17
+ inputSchema: {
18
+ type: string;
19
+ properties: {
20
+ event: {
21
+ type: string;
22
+ description: string;
23
+ enum: string[];
24
+ };
25
+ target_url: {
26
+ type: string;
27
+ description: string;
28
+ };
29
+ id?: undefined;
30
+ };
31
+ required: string[];
32
+ };
33
+ } | {
34
+ name: string;
35
+ description: string;
36
+ inputSchema: {
37
+ type: string;
38
+ properties: {
39
+ event?: undefined;
40
+ target_url?: undefined;
41
+ id?: undefined;
42
+ };
43
+ required: never[];
44
+ };
45
+ } | {
46
+ name: string;
47
+ description: string;
48
+ inputSchema: {
49
+ type: string;
50
+ properties: {
51
+ id: {
52
+ type: string;
53
+ description: string;
54
+ };
55
+ event?: undefined;
56
+ target_url?: undefined;
57
+ };
58
+ required: string[];
59
+ };
60
+ })[];
61
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../../src/tools/app/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;GAGG;AAEH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CActH;AAED,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAWjF;AAED,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAWjG;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2CxB,CAAC"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * REST Hooks Tools
3
+ * Dynamic webhook subscription management for native Zapier/Make apps.
4
+ */
5
+ export async function subscribeWebhook(apiClient, args) {
6
+ const response = await apiClient.post('/v1/webhooks/subscribe', {
7
+ event: args.event,
8
+ target_url: args.target_url,
9
+ });
10
+ return {
11
+ content: [
12
+ {
13
+ type: 'text',
14
+ text: JSON.stringify(response, null, 2),
15
+ },
16
+ ],
17
+ };
18
+ }
19
+ export async function listWebhookSubscriptions(apiClient) {
20
+ const response = await apiClient.get('/v1/webhooks/subscriptions');
21
+ return {
22
+ content: [
23
+ {
24
+ type: 'text',
25
+ text: JSON.stringify(response, null, 2),
26
+ },
27
+ ],
28
+ };
29
+ }
30
+ export async function unsubscribeWebhook(apiClient, args) {
31
+ const response = await apiClient.delete(`/v1/webhooks/subscribe/${args.id}`);
32
+ return {
33
+ content: [
34
+ {
35
+ type: 'text',
36
+ text: JSON.stringify(response, null, 2),
37
+ },
38
+ ],
39
+ };
40
+ }
41
+ export const webhookTools = [
42
+ {
43
+ name: 'subscribe_webhook',
44
+ description: 'Subscribe to a webhook event. Returns a one-time HMAC secret — store it immediately.',
45
+ inputSchema: {
46
+ type: 'object',
47
+ properties: {
48
+ event: {
49
+ type: 'string',
50
+ description: 'Event type to subscribe to (e.g. new_contact, new_message, broadcast_sent, contact_updated, contact_opted_out)',
51
+ enum: ['new_contact', 'new_message', 'broadcast_sent', 'contact_updated', 'contact_opted_out'],
52
+ },
53
+ target_url: {
54
+ type: 'string',
55
+ description: 'HTTPS URL that receives the webhook POST (max 500 chars)',
56
+ },
57
+ },
58
+ required: ['event', 'target_url'],
59
+ },
60
+ },
61
+ {
62
+ name: 'list_webhook_subscriptions',
63
+ description: 'List all active webhook subscriptions for the authenticated user',
64
+ inputSchema: {
65
+ type: 'object',
66
+ properties: {},
67
+ required: [],
68
+ },
69
+ },
70
+ {
71
+ name: 'unsubscribe_webhook',
72
+ description: 'Delete a webhook subscription by ID',
73
+ inputSchema: {
74
+ type: 'object',
75
+ properties: {
76
+ id: {
77
+ type: 'string',
78
+ description: 'Subscription UUID',
79
+ },
80
+ },
81
+ required: ['id'],
82
+ },
83
+ },
84
+ ];
85
+ //# sourceMappingURL=webhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../src/tools/app/webhooks.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAoB,EAAE,IAA2C;IACtG,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,wBAAwB,EAAE;QAC9D,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACxC;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,SAAoB;IACjE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAEnE,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACxC;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAoB,EAAE,IAAoB;IACjF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,0BAA0B,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAE7E,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACxC;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,sFAAsF;QACnG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gHAAgH;oBAC7H,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,CAAC;iBAC/F;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0DAA0D;iBACxE;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC;SAClC;KACF;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,kEAAkE;QAC/E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,qCAAqC;QAClD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mBAAmB;iBACjC;aACF;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;CACF,CAAC"}