@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,186 @@
1
+ /**
2
+ * App Tools - Contacts CRUD Operations
3
+ */
4
+ export async function listContacts(apiClient, args) {
5
+ const response = await apiClient.get('/v1/contacts', args);
6
+ return {
7
+ content: [
8
+ {
9
+ type: 'text',
10
+ text: JSON.stringify(response, null, 2),
11
+ },
12
+ ],
13
+ };
14
+ }
15
+ export async function getContact(apiClient, args) {
16
+ const response = await apiClient.get(`/v1/contacts/${args.id}`);
17
+ return {
18
+ content: [
19
+ {
20
+ type: 'text',
21
+ text: JSON.stringify(response, null, 2),
22
+ },
23
+ ],
24
+ };
25
+ }
26
+ export async function createContact(apiClient, args) {
27
+ const response = await apiClient.post('/v1/contacts', args);
28
+ return {
29
+ content: [
30
+ {
31
+ type: 'text',
32
+ text: JSON.stringify(response, null, 2),
33
+ },
34
+ ],
35
+ };
36
+ }
37
+ export async function updateContact(apiClient, args) {
38
+ const { id, ...updateData } = args;
39
+ const response = await apiClient.put(`/v1/contacts/${id}`, updateData);
40
+ return {
41
+ content: [
42
+ {
43
+ type: 'text',
44
+ text: JSON.stringify(response, null, 2),
45
+ },
46
+ ],
47
+ };
48
+ }
49
+ export async function deleteContact(apiClient, args) {
50
+ const response = await apiClient.delete(`/v1/contacts/${args.id}`);
51
+ return {
52
+ content: [
53
+ {
54
+ type: 'text',
55
+ text: 'Contact deleted successfully',
56
+ },
57
+ ],
58
+ };
59
+ }
60
+ export const contactTools = [
61
+ {
62
+ name: 'list_contacts',
63
+ description: 'List all contacts with optional filtering by channel and pagination',
64
+ inputSchema: {
65
+ type: 'object',
66
+ properties: {
67
+ channelId: {
68
+ type: 'number',
69
+ description: 'Filter by channel ID',
70
+ },
71
+ page: {
72
+ type: 'number',
73
+ description: 'Page number (default: 1)',
74
+ },
75
+ limit: {
76
+ type: 'number',
77
+ description: 'Items per page (default: 10)',
78
+ },
79
+ },
80
+ required: [],
81
+ },
82
+ },
83
+ {
84
+ name: 'get_contact',
85
+ description: 'Get a specific contact by ID',
86
+ inputSchema: {
87
+ type: 'object',
88
+ properties: {
89
+ id: {
90
+ type: 'number',
91
+ description: 'Contact ID',
92
+ },
93
+ },
94
+ required: ['id'],
95
+ },
96
+ },
97
+ {
98
+ name: 'create_contact',
99
+ description: 'Create a new contact',
100
+ inputSchema: {
101
+ type: 'object',
102
+ properties: {
103
+ channelId: {
104
+ type: 'number',
105
+ description: 'Channel ID this contact belongs to',
106
+ },
107
+ identifier: {
108
+ type: 'string',
109
+ description: 'Unique identifier for this contact (phone number for WhatsApp/SMS, user ID for Telegram, Threema ID for Threema, etc.)',
110
+ },
111
+ name: {
112
+ type: 'string',
113
+ description: 'Contact name',
114
+ },
115
+ optinStatus: {
116
+ type: 'number',
117
+ description: 'Opt-in status (0=not opted in, 1=opted in, 2=opted out, 3=deleted)',
118
+ enum: [0, 1, 2, 3],
119
+ },
120
+ isBlocked: {
121
+ type: 'boolean',
122
+ description: 'Whether the recipient is blocked',
123
+ },
124
+ },
125
+ required: ['channelId', 'identifier'],
126
+ },
127
+ },
128
+ {
129
+ name: 'update_contact',
130
+ description: 'Update an existing contact',
131
+ inputSchema: {
132
+ type: 'object',
133
+ properties: {
134
+ id: {
135
+ type: 'number',
136
+ description: 'Contact ID',
137
+ },
138
+ identifier: {
139
+ type: 'string',
140
+ description: 'Unique identifier for this contact',
141
+ },
142
+ name: {
143
+ type: 'string',
144
+ description: 'Contact name',
145
+ },
146
+ nickname: {
147
+ type: 'string',
148
+ description: 'Nickname',
149
+ },
150
+ notes: {
151
+ type: 'string',
152
+ description: 'Notes',
153
+ },
154
+ optinStatus: {
155
+ type: 'number',
156
+ description: 'Opt-in status (0=not opted in, 1=opted in, 2=opted out, 3=deleted)',
157
+ enum: [0, 1, 2, 3],
158
+ },
159
+ isBlocked: {
160
+ type: 'boolean',
161
+ description: 'Whether the recipient is blocked',
162
+ },
163
+ tags: {
164
+ type: 'string',
165
+ description: 'Tags (comma-separated)',
166
+ },
167
+ },
168
+ required: ['id'],
169
+ },
170
+ },
171
+ {
172
+ name: 'delete_contact',
173
+ description: 'Delete a contact by ID',
174
+ inputSchema: {
175
+ type: 'object',
176
+ properties: {
177
+ id: {
178
+ type: 'number',
179
+ description: 'Contact ID',
180
+ },
181
+ },
182
+ required: ['id'],
183
+ },
184
+ },
185
+ ];
186
+ //# sourceMappingURL=contacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../../src/tools/app/contacts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { ApiClient } from '../../client/api-client.js';
2
+ /**
3
+ * Coupons Tools
4
+ * Discount coupons and promotions
5
+ */
6
+ export declare function validateCoupon(apiClient: ApiClient, args: {
7
+ code: string;
8
+ }): Promise<any>;
9
+ export declare function applyCoupon(apiClient: ApiClient, args: {
10
+ code: string;
11
+ }): Promise<any>;
12
+ export declare function removeCoupon(apiClient: ApiClient): Promise<any>;
13
+ export declare const couponTools: ({
14
+ name: string;
15
+ description: string;
16
+ inputSchema: {
17
+ type: string;
18
+ properties: {
19
+ code: {
20
+ type: string;
21
+ description: string;
22
+ };
23
+ };
24
+ required: string[];
25
+ };
26
+ } | {
27
+ name: string;
28
+ description: string;
29
+ inputSchema: {
30
+ type: string;
31
+ properties: {
32
+ code?: undefined;
33
+ };
34
+ required?: undefined;
35
+ };
36
+ })[];
37
+ //# sourceMappingURL=coupons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coupons.d.ts","sourceRoot":"","sources":["../../../src/tools/app/coupons.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;GAGG;AAEH,wBAAsB,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAW/F;AAED,wBAAsB,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAW5F;AAED,wBAAsB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAWrE;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;IA+BvB,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Coupons Tools
3
+ * Discount coupons and promotions
4
+ */
5
+ export async function validateCoupon(apiClient, args) {
6
+ const response = await apiClient.post('/v1/coupons/validate', { code: args.code });
7
+ return {
8
+ content: [
9
+ {
10
+ type: 'text',
11
+ text: JSON.stringify(response, null, 2),
12
+ },
13
+ ],
14
+ };
15
+ }
16
+ export async function applyCoupon(apiClient, args) {
17
+ const response = await apiClient.post('/v1/coupons/apply', { code: args.code });
18
+ return {
19
+ content: [
20
+ {
21
+ type: 'text',
22
+ text: JSON.stringify(response, null, 2),
23
+ },
24
+ ],
25
+ };
26
+ }
27
+ export async function removeCoupon(apiClient) {
28
+ const response = await apiClient.delete('/v1/coupons/current');
29
+ return {
30
+ content: [
31
+ {
32
+ type: 'text',
33
+ text: JSON.stringify(response, null, 2),
34
+ },
35
+ ],
36
+ };
37
+ }
38
+ export const couponTools = [
39
+ {
40
+ name: 'validate_coupon',
41
+ description: 'Validate a coupon code',
42
+ inputSchema: {
43
+ type: 'object',
44
+ properties: {
45
+ code: { type: 'string', description: 'Coupon code' },
46
+ },
47
+ required: ['code'],
48
+ },
49
+ },
50
+ {
51
+ name: 'apply_coupon',
52
+ description: 'Apply a coupon code to the account',
53
+ inputSchema: {
54
+ type: 'object',
55
+ properties: {
56
+ code: { type: 'string', description: 'Coupon code' },
57
+ },
58
+ required: ['code'],
59
+ },
60
+ },
61
+ {
62
+ name: 'remove_coupon',
63
+ description: 'Remove currently applied coupon',
64
+ inputSchema: {
65
+ type: 'object',
66
+ properties: {},
67
+ },
68
+ },
69
+ ];
70
+ //# sourceMappingURL=coupons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coupons.js","sourceRoot":"","sources":["../../../src/tools/app/coupons.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,SAAoB,EAAE,IAAsB;IAC/E,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAEnF,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,WAAW,CAAC,SAAoB,EAAE,IAAsB;IAC5E,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAEhF,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,YAAY,CAAC,SAAoB;IACrD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAE/D,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,WAAW,GAAG;IACzB;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;aACrD;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,oCAAoC;QACjD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;aACrD;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,iCAAiC;QAC9C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;CACF,CAAC"}
@@ -0,0 +1,301 @@
1
+ import type { ApiClient } from '../../client/api-client.js';
2
+ /**
3
+ * Custom Fields Tools
4
+ * CRUD operations for custom field definitions and contact custom field values
5
+ */
6
+ export declare function listCustomFields(apiClient: ApiClient, _args: any): Promise<any>;
7
+ export declare function getCustomField(apiClient: ApiClient, args: {
8
+ id: number;
9
+ }): Promise<any>;
10
+ export declare function createCustomField(apiClient: ApiClient, args: any): Promise<any>;
11
+ export declare function updateCustomField(apiClient: ApiClient, args: any): Promise<any>;
12
+ export declare function deleteCustomField(apiClient: ApiClient, args: {
13
+ id: number;
14
+ }): Promise<any>;
15
+ export declare function reorderCustomFields(apiClient: ApiClient, args: {
16
+ fieldIds: number[];
17
+ }): Promise<any>;
18
+ export declare function bulkDeleteCustomFields(apiClient: ApiClient, args: {
19
+ ids: number[];
20
+ }): Promise<any>;
21
+ export declare function getContactCustomFields(apiClient: ApiClient, args: {
22
+ contactId: number;
23
+ }): Promise<any>;
24
+ export declare function setContactCustomFields(apiClient: ApiClient, args: any): Promise<any>;
25
+ export declare function setContactCustomFieldValue(apiClient: ApiClient, args: {
26
+ contactId: number;
27
+ fieldId: number;
28
+ value: string | null;
29
+ }): Promise<any>;
30
+ export declare function deleteContactCustomFieldValue(apiClient: ApiClient, args: {
31
+ contactId: number;
32
+ fieldId: number;
33
+ }): Promise<any>;
34
+ export declare const customFieldTools: ({
35
+ name: string;
36
+ description: string;
37
+ inputSchema: {
38
+ type: string;
39
+ properties: {
40
+ id?: undefined;
41
+ key?: undefined;
42
+ name?: undefined;
43
+ type?: undefined;
44
+ options?: undefined;
45
+ fieldIds?: undefined;
46
+ ids?: undefined;
47
+ contactId?: undefined;
48
+ values?: undefined;
49
+ fieldId?: undefined;
50
+ value?: undefined;
51
+ };
52
+ required?: undefined;
53
+ };
54
+ } | {
55
+ name: string;
56
+ description: string;
57
+ inputSchema: {
58
+ type: string;
59
+ properties: {
60
+ id: {
61
+ type: string;
62
+ description: string;
63
+ };
64
+ key?: undefined;
65
+ name?: undefined;
66
+ type?: undefined;
67
+ options?: undefined;
68
+ fieldIds?: undefined;
69
+ ids?: undefined;
70
+ contactId?: undefined;
71
+ values?: undefined;
72
+ fieldId?: undefined;
73
+ value?: undefined;
74
+ };
75
+ required: string[];
76
+ };
77
+ } | {
78
+ name: string;
79
+ description: string;
80
+ inputSchema: {
81
+ type: string;
82
+ properties: {
83
+ key: {
84
+ type: string;
85
+ description: string;
86
+ };
87
+ name: {
88
+ type: string;
89
+ description: string;
90
+ };
91
+ type: {
92
+ type: string;
93
+ description: string;
94
+ };
95
+ options: {
96
+ type: string;
97
+ items: {
98
+ type: string;
99
+ };
100
+ description: string;
101
+ };
102
+ id?: undefined;
103
+ fieldIds?: undefined;
104
+ ids?: undefined;
105
+ contactId?: undefined;
106
+ values?: undefined;
107
+ fieldId?: undefined;
108
+ value?: undefined;
109
+ };
110
+ required: string[];
111
+ };
112
+ } | {
113
+ name: string;
114
+ description: string;
115
+ inputSchema: {
116
+ type: string;
117
+ properties: {
118
+ id: {
119
+ type: string;
120
+ description: string;
121
+ };
122
+ name: {
123
+ type: string;
124
+ description: string;
125
+ };
126
+ options: {
127
+ type: string;
128
+ items: {
129
+ type: string;
130
+ };
131
+ description: string;
132
+ };
133
+ key?: undefined;
134
+ type?: undefined;
135
+ fieldIds?: undefined;
136
+ ids?: undefined;
137
+ contactId?: undefined;
138
+ values?: undefined;
139
+ fieldId?: undefined;
140
+ value?: undefined;
141
+ };
142
+ required: string[];
143
+ };
144
+ } | {
145
+ name: string;
146
+ description: string;
147
+ inputSchema: {
148
+ type: string;
149
+ properties: {
150
+ fieldIds: {
151
+ type: string;
152
+ items: {
153
+ type: string;
154
+ };
155
+ description: string;
156
+ };
157
+ id?: undefined;
158
+ key?: undefined;
159
+ name?: undefined;
160
+ type?: undefined;
161
+ options?: undefined;
162
+ ids?: undefined;
163
+ contactId?: undefined;
164
+ values?: undefined;
165
+ fieldId?: undefined;
166
+ value?: undefined;
167
+ };
168
+ required: string[];
169
+ };
170
+ } | {
171
+ name: string;
172
+ description: string;
173
+ inputSchema: {
174
+ type: string;
175
+ properties: {
176
+ ids: {
177
+ type: string;
178
+ items: {
179
+ type: string;
180
+ };
181
+ description: string;
182
+ };
183
+ id?: undefined;
184
+ key?: undefined;
185
+ name?: undefined;
186
+ type?: undefined;
187
+ options?: undefined;
188
+ fieldIds?: undefined;
189
+ contactId?: undefined;
190
+ values?: undefined;
191
+ fieldId?: undefined;
192
+ value?: undefined;
193
+ };
194
+ required: string[];
195
+ };
196
+ } | {
197
+ name: string;
198
+ description: string;
199
+ inputSchema: {
200
+ type: string;
201
+ properties: {
202
+ contactId: {
203
+ type: string;
204
+ description: string;
205
+ };
206
+ id?: undefined;
207
+ key?: undefined;
208
+ name?: undefined;
209
+ type?: undefined;
210
+ options?: undefined;
211
+ fieldIds?: undefined;
212
+ ids?: undefined;
213
+ values?: undefined;
214
+ fieldId?: undefined;
215
+ value?: undefined;
216
+ };
217
+ required: string[];
218
+ };
219
+ } | {
220
+ name: string;
221
+ description: string;
222
+ inputSchema: {
223
+ type: string;
224
+ properties: {
225
+ contactId: {
226
+ type: string;
227
+ description: string;
228
+ };
229
+ values: {
230
+ type: string;
231
+ description: string;
232
+ };
233
+ id?: undefined;
234
+ key?: undefined;
235
+ name?: undefined;
236
+ type?: undefined;
237
+ options?: undefined;
238
+ fieldIds?: undefined;
239
+ ids?: undefined;
240
+ fieldId?: undefined;
241
+ value?: undefined;
242
+ };
243
+ required: string[];
244
+ };
245
+ } | {
246
+ name: string;
247
+ description: string;
248
+ inputSchema: {
249
+ type: string;
250
+ properties: {
251
+ contactId: {
252
+ type: string;
253
+ description: string;
254
+ };
255
+ fieldId: {
256
+ type: string;
257
+ description: string;
258
+ };
259
+ value: {
260
+ type: string;
261
+ description: string;
262
+ };
263
+ id?: undefined;
264
+ key?: undefined;
265
+ name?: undefined;
266
+ type?: undefined;
267
+ options?: undefined;
268
+ fieldIds?: undefined;
269
+ ids?: undefined;
270
+ values?: undefined;
271
+ };
272
+ required: string[];
273
+ };
274
+ } | {
275
+ name: string;
276
+ description: string;
277
+ inputSchema: {
278
+ type: string;
279
+ properties: {
280
+ contactId: {
281
+ type: string;
282
+ description: string;
283
+ };
284
+ fieldId: {
285
+ type: string;
286
+ description: string;
287
+ };
288
+ id?: undefined;
289
+ key?: undefined;
290
+ name?: undefined;
291
+ type?: undefined;
292
+ options?: undefined;
293
+ fieldIds?: undefined;
294
+ ids?: undefined;
295
+ values?: undefined;
296
+ value?: undefined;
297
+ };
298
+ required: string[];
299
+ };
300
+ })[];
301
+ //# sourceMappingURL=custom-fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-fields.d.ts","sourceRoot":"","sources":["../../../src/tools/app/custom-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;GAGG;AAMH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAWrF;AAED,wBAAsB,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAW7F;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAWrF;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAYrF;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAWhG;AAED,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAW1G;AAED,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAWxG;AAMD,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAW5G;AAED,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAY1F;AAED,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAWvJ;AAED,wBAAsB,6BAA6B,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAWpI;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmI5B,CAAC"}