langmart-gateway-type3 3.0.45 → 3.0.47
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/admin-tools.d.ts +46 -0
- package/dist/admin-tools.d.ts.map +1 -0
- package/dist/admin-tools.js +933 -0
- package/dist/admin-tools.js.map +1 -0
- package/dist/agent-tools.d.ts +38 -0
- package/dist/agent-tools.d.ts.map +1 -0
- package/dist/agent-tools.js +813 -0
- package/dist/agent-tools.js.map +1 -0
- package/dist/billing-tools.d.ts +25 -0
- package/dist/billing-tools.d.ts.map +1 -0
- package/dist/billing-tools.js +283 -0
- package/dist/billing-tools.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +792 -0
- package/dist/cli.js.map +1 -0
- package/dist/collection-tools.d.ts +26 -0
- package/dist/collection-tools.d.ts.map +1 -0
- package/dist/collection-tools.js +347 -0
- package/dist/collection-tools.js.map +1 -0
- package/dist/lib/tool-schema-validator.d.ts +35 -0
- package/dist/lib/tool-schema-validator.d.ts.map +1 -0
- package/dist/lib/tool-schema-validator.js +146 -0
- package/dist/lib/tool-schema-validator.js.map +1 -0
- package/dist/marketplace-tools.d.ts +116 -0
- package/dist/marketplace-tools.d.ts.map +1 -0
- package/dist/marketplace-tools.js +3089 -0
- package/dist/marketplace-tools.js.map +1 -0
- package/dist/organization-tools.d.ts +37 -0
- package/dist/organization-tools.d.ts.map +1 -0
- package/dist/organization-tools.js +609 -0
- package/dist/organization-tools.js.map +1 -0
- package/dist/seller-tools.d.ts +28 -0
- package/dist/seller-tools.d.ts.map +1 -0
- package/dist/seller-tools.js +437 -0
- package/dist/seller-tools.js.map +1 -0
- package/dist/support-tools.d.ts +23 -0
- package/dist/support-tools.d.ts.map +1 -0
- package/dist/support-tools.js +292 -0
- package/dist/support-tools.js.map +1 -0
- package/dist/test-key-redaction-integration.d.ts +7 -0
- package/dist/test-key-redaction-integration.d.ts.map +1 -0
- package/dist/test-key-redaction-integration.js +80 -0
- package/dist/test-key-redaction-integration.js.map +1 -0
- package/dist/test-key-redaction.d.ts +6 -0
- package/dist/test-key-redaction.d.ts.map +1 -0
- package/dist/test-key-redaction.js +115 -0
- package/dist/test-key-redaction.js.map +1 -0
- package/dist/test-vault-migration.d.ts +2 -0
- package/dist/test-vault-migration.d.ts.map +1 -0
- package/dist/test-vault-migration.js +130 -0
- package/dist/test-vault-migration.js.map +1 -0
- package/dist/user-tools.d.ts +40 -0
- package/dist/user-tools.d.ts.map +1 -0
- package/dist/user-tools.js +685 -0
- package/dist/user-tools.js.map +1 -0
- package/package.json +2 -70
- package/scripts/start.ps1 +24 -3
|
@@ -0,0 +1,609 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Organization Tools - MCP Tools for Organization Management
|
|
4
|
+
*
|
|
5
|
+
* Provides tools for:
|
|
6
|
+
* - Organization management (list, get, create, update)
|
|
7
|
+
* - Member management (list, invite)
|
|
8
|
+
* - Invitations (list pending, accept, decline, leave)
|
|
9
|
+
* - Memberships (list all org memberships)
|
|
10
|
+
*/
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.OrganizationTools = exports.organizationToolDefinitions = void 0;
|
|
16
|
+
const axios_1 = __importDefault(require("axios"));
|
|
17
|
+
// ============= TOOL DEFINITIONS =============
|
|
18
|
+
exports.organizationToolDefinitions = [
|
|
19
|
+
// ===== ORGANIZATIONS =====
|
|
20
|
+
{
|
|
21
|
+
type: 'function',
|
|
22
|
+
function: {
|
|
23
|
+
name: 'organizations_list',
|
|
24
|
+
description: 'List all organizations the user is a member of. Response contains org IDs that can be used with: organizations_get for details, organizations_members_list for member list, organizations_invitations_list for pending invites.',
|
|
25
|
+
parameters: {
|
|
26
|
+
type: 'object',
|
|
27
|
+
properties: {},
|
|
28
|
+
required: []
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
metadata: {
|
|
32
|
+
category: 'organizations',
|
|
33
|
+
defaultEnabled: true,
|
|
34
|
+
adminOnly: false,
|
|
35
|
+
destructive: false,
|
|
36
|
+
requiresConfirmation: false,
|
|
37
|
+
apiEndpoint: '/api/organizations',
|
|
38
|
+
apiMethod: 'GET',
|
|
39
|
+
tags: ['organizations', 'list']
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
type: 'function',
|
|
44
|
+
function: {
|
|
45
|
+
name: 'organizations_get',
|
|
46
|
+
description: 'Get detailed information about a specific organization including settings, member count, and billing status.',
|
|
47
|
+
parameters: {
|
|
48
|
+
type: 'object',
|
|
49
|
+
properties: {
|
|
50
|
+
org_id: {
|
|
51
|
+
type: 'string',
|
|
52
|
+
description: 'Organization ID or slug. Use organizations.list to find available organizations.'
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
required: ['org_id']
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
metadata: {
|
|
59
|
+
category: 'organizations',
|
|
60
|
+
defaultEnabled: true,
|
|
61
|
+
adminOnly: false,
|
|
62
|
+
destructive: false,
|
|
63
|
+
requiresConfirmation: false,
|
|
64
|
+
apiEndpoint: '/api/organizations/:org_id',
|
|
65
|
+
apiMethod: 'GET',
|
|
66
|
+
tags: ['organizations', 'get']
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
type: 'function',
|
|
71
|
+
function: {
|
|
72
|
+
name: 'organizations_create',
|
|
73
|
+
description: 'Create a new organization. The creating user becomes the owner.',
|
|
74
|
+
parameters: {
|
|
75
|
+
type: 'object',
|
|
76
|
+
properties: {
|
|
77
|
+
name: {
|
|
78
|
+
type: 'string',
|
|
79
|
+
description: 'Organization display name'
|
|
80
|
+
},
|
|
81
|
+
slug: {
|
|
82
|
+
type: 'string',
|
|
83
|
+
description: 'URL-friendly identifier (e.g., "my-company"). Must be unique. If not provided, generated from name.'
|
|
84
|
+
},
|
|
85
|
+
description: {
|
|
86
|
+
type: 'string',
|
|
87
|
+
description: 'Organization description'
|
|
88
|
+
},
|
|
89
|
+
visibility: {
|
|
90
|
+
type: 'string',
|
|
91
|
+
description: 'Who can see this organization',
|
|
92
|
+
enum: ['private', 'public'],
|
|
93
|
+
default: 'private'
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
required: ['name']
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
metadata: {
|
|
100
|
+
category: 'organizations',
|
|
101
|
+
defaultEnabled: true,
|
|
102
|
+
adminOnly: false,
|
|
103
|
+
destructive: false,
|
|
104
|
+
requiresConfirmation: false,
|
|
105
|
+
apiEndpoint: '/api/organizations',
|
|
106
|
+
apiMethod: 'POST',
|
|
107
|
+
tags: ['organizations', 'create']
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
type: 'function',
|
|
112
|
+
function: {
|
|
113
|
+
name: 'organizations_update',
|
|
114
|
+
description: 'Update organization settings. Only organization admins/owners can do this.',
|
|
115
|
+
parameters: {
|
|
116
|
+
type: 'object',
|
|
117
|
+
properties: {
|
|
118
|
+
org_id: {
|
|
119
|
+
type: 'string',
|
|
120
|
+
description: 'Organization ID. Use organizations_list first to find available organization IDs.'
|
|
121
|
+
},
|
|
122
|
+
name: {
|
|
123
|
+
type: 'string',
|
|
124
|
+
description: 'New organization name'
|
|
125
|
+
},
|
|
126
|
+
description: {
|
|
127
|
+
type: 'string',
|
|
128
|
+
description: 'New description'
|
|
129
|
+
},
|
|
130
|
+
visibility: {
|
|
131
|
+
type: 'string',
|
|
132
|
+
description: 'New visibility setting (private or public)',
|
|
133
|
+
enum: ['private', 'public']
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
required: ['org_id']
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
metadata: {
|
|
140
|
+
category: 'organizations',
|
|
141
|
+
defaultEnabled: true,
|
|
142
|
+
adminOnly: false,
|
|
143
|
+
destructive: false,
|
|
144
|
+
requiresConfirmation: false,
|
|
145
|
+
apiEndpoint: '/api/organizations/:org_id',
|
|
146
|
+
apiMethod: 'PUT',
|
|
147
|
+
tags: ['organizations', 'update']
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
// ===== MEMBERS =====
|
|
151
|
+
{
|
|
152
|
+
type: 'function',
|
|
153
|
+
function: {
|
|
154
|
+
name: 'organizations_members_list',
|
|
155
|
+
description: 'List all members of an organization with their roles and join dates.',
|
|
156
|
+
parameters: {
|
|
157
|
+
type: 'object',
|
|
158
|
+
properties: {
|
|
159
|
+
org_id: {
|
|
160
|
+
type: 'string',
|
|
161
|
+
description: 'Organization ID. Use organizations_list first to find available organization IDs.'
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
required: ['org_id']
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
metadata: {
|
|
168
|
+
category: 'members',
|
|
169
|
+
defaultEnabled: true,
|
|
170
|
+
adminOnly: false,
|
|
171
|
+
destructive: false,
|
|
172
|
+
requiresConfirmation: false,
|
|
173
|
+
apiEndpoint: '/api/organizations/:org_id/members',
|
|
174
|
+
apiMethod: 'GET',
|
|
175
|
+
tags: ['members', 'list']
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
type: 'function',
|
|
180
|
+
function: {
|
|
181
|
+
name: 'organizations_members_invite',
|
|
182
|
+
description: 'Invite a user to join the organization by email. Requires admin role in the organization.',
|
|
183
|
+
parameters: {
|
|
184
|
+
type: 'object',
|
|
185
|
+
properties: {
|
|
186
|
+
org_id: {
|
|
187
|
+
type: 'string',
|
|
188
|
+
description: 'Organization ID. Use organizations_list first to find available organization IDs.'
|
|
189
|
+
},
|
|
190
|
+
email: {
|
|
191
|
+
type: 'string',
|
|
192
|
+
description: 'Email address to invite'
|
|
193
|
+
},
|
|
194
|
+
role: {
|
|
195
|
+
type: 'string',
|
|
196
|
+
description: 'Role to assign to the new member',
|
|
197
|
+
enum: ['member', 'admin'],
|
|
198
|
+
default: 'member'
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
required: ['org_id', 'email']
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
metadata: {
|
|
205
|
+
category: 'members',
|
|
206
|
+
defaultEnabled: true,
|
|
207
|
+
adminOnly: false,
|
|
208
|
+
destructive: false,
|
|
209
|
+
requiresConfirmation: true,
|
|
210
|
+
apiEndpoint: '/api/organizations/:org_id/members/invite',
|
|
211
|
+
apiMethod: 'POST',
|
|
212
|
+
tags: ['members', 'invite']
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
// ===== INVITATIONS =====
|
|
216
|
+
{
|
|
217
|
+
type: 'function',
|
|
218
|
+
function: {
|
|
219
|
+
name: 'invitations_pending',
|
|
220
|
+
description: 'List pending invitations for the current user - organizations they have been invited to join.',
|
|
221
|
+
parameters: {
|
|
222
|
+
type: 'object',
|
|
223
|
+
properties: {},
|
|
224
|
+
required: []
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
metadata: {
|
|
228
|
+
category: 'members',
|
|
229
|
+
defaultEnabled: true,
|
|
230
|
+
adminOnly: false,
|
|
231
|
+
destructive: false,
|
|
232
|
+
requiresConfirmation: false,
|
|
233
|
+
apiEndpoint: '/api/invitations',
|
|
234
|
+
apiMethod: 'GET',
|
|
235
|
+
tags: ['invitations', 'pending']
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
type: 'function',
|
|
240
|
+
function: {
|
|
241
|
+
name: 'invitations_sent',
|
|
242
|
+
description: 'List invitations sent by the user (or their organizations) that are still pending.',
|
|
243
|
+
parameters: {
|
|
244
|
+
type: 'object',
|
|
245
|
+
properties: {},
|
|
246
|
+
required: []
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
metadata: {
|
|
250
|
+
category: 'members',
|
|
251
|
+
defaultEnabled: true,
|
|
252
|
+
adminOnly: false,
|
|
253
|
+
destructive: false,
|
|
254
|
+
requiresConfirmation: false,
|
|
255
|
+
apiEndpoint: '/api/invitations/sent',
|
|
256
|
+
apiMethod: 'GET',
|
|
257
|
+
tags: ['invitations', 'sent']
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
type: 'function',
|
|
262
|
+
function: {
|
|
263
|
+
name: 'invitations_accept',
|
|
264
|
+
description: 'Accept a pending invitation to join an organization.',
|
|
265
|
+
parameters: {
|
|
266
|
+
type: 'object',
|
|
267
|
+
properties: {
|
|
268
|
+
invitation_id: {
|
|
269
|
+
type: 'string',
|
|
270
|
+
description: 'Invitation ID to accept. Use invitations.pending to see available invitations.'
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
required: ['invitation_id']
|
|
274
|
+
}
|
|
275
|
+
},
|
|
276
|
+
metadata: {
|
|
277
|
+
category: 'members',
|
|
278
|
+
defaultEnabled: true,
|
|
279
|
+
adminOnly: false,
|
|
280
|
+
destructive: false,
|
|
281
|
+
requiresConfirmation: false,
|
|
282
|
+
apiEndpoint: '/api/invitations/:id/accept',
|
|
283
|
+
apiMethod: 'POST',
|
|
284
|
+
tags: ['invitations', 'accept']
|
|
285
|
+
}
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
type: 'function',
|
|
289
|
+
function: {
|
|
290
|
+
name: 'invitations_decline',
|
|
291
|
+
description: 'Decline a pending invitation.',
|
|
292
|
+
parameters: {
|
|
293
|
+
type: 'object',
|
|
294
|
+
properties: {
|
|
295
|
+
invitation_id: {
|
|
296
|
+
type: 'string',
|
|
297
|
+
description: 'Invitation ID to decline'
|
|
298
|
+
}
|
|
299
|
+
},
|
|
300
|
+
required: ['invitation_id']
|
|
301
|
+
}
|
|
302
|
+
},
|
|
303
|
+
metadata: {
|
|
304
|
+
category: 'members',
|
|
305
|
+
defaultEnabled: true,
|
|
306
|
+
adminOnly: false,
|
|
307
|
+
destructive: false,
|
|
308
|
+
requiresConfirmation: false,
|
|
309
|
+
apiEndpoint: '/api/invitations/:id/decline',
|
|
310
|
+
apiMethod: 'POST',
|
|
311
|
+
tags: ['invitations', 'decline']
|
|
312
|
+
}
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
type: 'function',
|
|
316
|
+
function: {
|
|
317
|
+
name: 'invitations_cancel',
|
|
318
|
+
description: 'Cancel a pending invitation that you sent.',
|
|
319
|
+
parameters: {
|
|
320
|
+
type: 'object',
|
|
321
|
+
properties: {
|
|
322
|
+
invitation_id: {
|
|
323
|
+
type: 'string',
|
|
324
|
+
description: 'Invitation ID to cancel. Use invitations.sent to see sent invitations.'
|
|
325
|
+
}
|
|
326
|
+
},
|
|
327
|
+
required: ['invitation_id']
|
|
328
|
+
}
|
|
329
|
+
},
|
|
330
|
+
metadata: {
|
|
331
|
+
category: 'members',
|
|
332
|
+
defaultEnabled: true,
|
|
333
|
+
adminOnly: false,
|
|
334
|
+
destructive: false,
|
|
335
|
+
requiresConfirmation: true,
|
|
336
|
+
apiEndpoint: '/api/invitations/:id/cancel',
|
|
337
|
+
apiMethod: 'POST',
|
|
338
|
+
tags: ['invitations', 'cancel']
|
|
339
|
+
}
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
type: 'function',
|
|
343
|
+
function: {
|
|
344
|
+
name: 'invitations_leave',
|
|
345
|
+
description: 'Leave an organization. Cannot leave if you are the only owner - transfer ownership first.',
|
|
346
|
+
parameters: {
|
|
347
|
+
type: 'object',
|
|
348
|
+
properties: {
|
|
349
|
+
org_id: {
|
|
350
|
+
type: 'string',
|
|
351
|
+
description: 'Organization ID to leave'
|
|
352
|
+
}
|
|
353
|
+
},
|
|
354
|
+
required: ['org_id']
|
|
355
|
+
}
|
|
356
|
+
},
|
|
357
|
+
metadata: {
|
|
358
|
+
category: 'members',
|
|
359
|
+
defaultEnabled: true,
|
|
360
|
+
adminOnly: false,
|
|
361
|
+
destructive: true,
|
|
362
|
+
requiresConfirmation: true,
|
|
363
|
+
apiEndpoint: '/api/invitations/leave/:orgId',
|
|
364
|
+
apiMethod: 'POST',
|
|
365
|
+
tags: ['invitations', 'leave']
|
|
366
|
+
}
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
type: 'function',
|
|
370
|
+
function: {
|
|
371
|
+
name: 'memberships_list',
|
|
372
|
+
description: 'Get all organization memberships for the current user with roles and status.',
|
|
373
|
+
parameters: {
|
|
374
|
+
type: 'object',
|
|
375
|
+
properties: {},
|
|
376
|
+
required: []
|
|
377
|
+
}
|
|
378
|
+
},
|
|
379
|
+
metadata: {
|
|
380
|
+
category: 'members',
|
|
381
|
+
defaultEnabled: true,
|
|
382
|
+
adminOnly: false,
|
|
383
|
+
destructive: false,
|
|
384
|
+
requiresConfirmation: false,
|
|
385
|
+
apiEndpoint: '/api/invitations/memberships',
|
|
386
|
+
apiMethod: 'GET',
|
|
387
|
+
tags: ['memberships', 'list']
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
];
|
|
391
|
+
// ============= TOOL EXECUTOR =============
|
|
392
|
+
class OrganizationTools {
|
|
393
|
+
constructor(registryUrl, apiKey) {
|
|
394
|
+
this.currentOrgId = null;
|
|
395
|
+
this.registryUrl = registryUrl;
|
|
396
|
+
this.apiKey = apiKey;
|
|
397
|
+
this.client = axios_1.default.create({
|
|
398
|
+
baseURL: registryUrl,
|
|
399
|
+
timeout: 30000,
|
|
400
|
+
headers: {
|
|
401
|
+
'Authorization': `Bearer ${apiKey}`,
|
|
402
|
+
'Content-Type': 'application/json'
|
|
403
|
+
}
|
|
404
|
+
});
|
|
405
|
+
}
|
|
406
|
+
static getInstance(registryUrl, apiKey) {
|
|
407
|
+
if (!OrganizationTools.instance && registryUrl && apiKey) {
|
|
408
|
+
OrganizationTools.instance = new OrganizationTools(registryUrl, apiKey);
|
|
409
|
+
}
|
|
410
|
+
if (!OrganizationTools.instance) {
|
|
411
|
+
throw new Error('OrganizationTools not initialized. Provide registryUrl and apiKey.');
|
|
412
|
+
}
|
|
413
|
+
return OrganizationTools.instance;
|
|
414
|
+
}
|
|
415
|
+
getTools() {
|
|
416
|
+
return exports.organizationToolDefinitions;
|
|
417
|
+
}
|
|
418
|
+
async executeTool(toolName, args) {
|
|
419
|
+
try {
|
|
420
|
+
switch (toolName) {
|
|
421
|
+
// Organizations
|
|
422
|
+
case 'organizations_list':
|
|
423
|
+
return await this.listOrganizations();
|
|
424
|
+
case 'organizations_get':
|
|
425
|
+
return await this.getOrganization(args.org_id);
|
|
426
|
+
case 'organizations_create':
|
|
427
|
+
return await this.createOrganization(args);
|
|
428
|
+
case 'organizations_update':
|
|
429
|
+
return await this.updateOrganization(args);
|
|
430
|
+
// Members
|
|
431
|
+
case 'organizations_members_list':
|
|
432
|
+
return await this.listMembers(args.org_id);
|
|
433
|
+
case 'organizations_members_invite':
|
|
434
|
+
return await this.inviteMember(args);
|
|
435
|
+
// Invitations
|
|
436
|
+
case 'invitations_pending':
|
|
437
|
+
return await this.listPendingInvitations();
|
|
438
|
+
case 'invitations_sent':
|
|
439
|
+
return await this.listSentInvitations();
|
|
440
|
+
case 'invitations_accept':
|
|
441
|
+
return await this.acceptInvitation(args.invitation_id);
|
|
442
|
+
case 'invitations_decline':
|
|
443
|
+
return await this.declineInvitation(args.invitation_id);
|
|
444
|
+
case 'invitations_cancel':
|
|
445
|
+
return await this.cancelInvitation(args.invitation_id);
|
|
446
|
+
case 'invitations_leave':
|
|
447
|
+
return await this.leaveOrganization(args.org_id);
|
|
448
|
+
// Memberships
|
|
449
|
+
case 'memberships_list':
|
|
450
|
+
return await this.listMemberships();
|
|
451
|
+
default:
|
|
452
|
+
return { success: false, error: `Unknown organization tool: ${toolName}` };
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
catch (error) {
|
|
456
|
+
const message = error.response?.data?.error?.message || error.message;
|
|
457
|
+
return { success: false, error: message };
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
// ===== ORGANIZATIONS =====
|
|
461
|
+
async listOrganizations() {
|
|
462
|
+
const response = await this.client.get('/api/organizations');
|
|
463
|
+
const orgs = response.data.organizations || response.data;
|
|
464
|
+
if (!orgs || orgs.length === 0) {
|
|
465
|
+
return { success: true, output: 'You are not a member of any organizations.' };
|
|
466
|
+
}
|
|
467
|
+
const lines = ['**Organizations:**', ''];
|
|
468
|
+
orgs.forEach((org, i) => {
|
|
469
|
+
lines.push(`[${i + 1}] ${org.name}`);
|
|
470
|
+
lines.push(` ID: ${org.id}`);
|
|
471
|
+
lines.push(` Role: ${org.role || org.member_role || 'member'}`);
|
|
472
|
+
if (org.slug)
|
|
473
|
+
lines.push(` Slug: ${org.slug}`);
|
|
474
|
+
if (org.member_count)
|
|
475
|
+
lines.push(` Members: ${org.member_count}`);
|
|
476
|
+
lines.push('');
|
|
477
|
+
});
|
|
478
|
+
return { success: true, output: lines.join('\n') };
|
|
479
|
+
}
|
|
480
|
+
async getOrganization(orgId) {
|
|
481
|
+
const response = await this.client.get(`/api/organizations/${orgId}`);
|
|
482
|
+
const org = response.data;
|
|
483
|
+
const lines = [`**Organization: ${org.name}**`, ''];
|
|
484
|
+
lines.push(`ID: ${org.id}`);
|
|
485
|
+
if (org.slug)
|
|
486
|
+
lines.push(`Slug: ${org.slug}`);
|
|
487
|
+
if (org.description)
|
|
488
|
+
lines.push(`Description: ${org.description}`);
|
|
489
|
+
lines.push(`Visibility: ${org.visibility || 'private'}`);
|
|
490
|
+
if (org.member_count)
|
|
491
|
+
lines.push(`Members: ${org.member_count}`);
|
|
492
|
+
lines.push(`Created: ${new Date(org.created_at).toLocaleDateString()}`);
|
|
493
|
+
return { success: true, output: lines.join('\n') };
|
|
494
|
+
}
|
|
495
|
+
async createOrganization(args) {
|
|
496
|
+
const response = await this.client.post('/api/organizations', {
|
|
497
|
+
name: args.name,
|
|
498
|
+
slug: args.slug,
|
|
499
|
+
description: args.description,
|
|
500
|
+
visibility: args.visibility
|
|
501
|
+
});
|
|
502
|
+
const org = response.data;
|
|
503
|
+
return {
|
|
504
|
+
success: true,
|
|
505
|
+
output: `✅ Organization created!\n\n**Name:** ${org.name}\n**ID:** ${org.id}\n**Slug:** ${org.slug || 'auto-generated'}`
|
|
506
|
+
};
|
|
507
|
+
}
|
|
508
|
+
async updateOrganization(args) {
|
|
509
|
+
const { org_id, ...updateData } = args;
|
|
510
|
+
await this.client.put(`/api/organizations/${org_id}`, updateData);
|
|
511
|
+
return { success: true, output: `✅ Organization ${org_id} updated successfully.` };
|
|
512
|
+
}
|
|
513
|
+
// ===== MEMBERS =====
|
|
514
|
+
async listMembers(orgId) {
|
|
515
|
+
const response = await this.client.get(`/api/organizations/${orgId}/members`);
|
|
516
|
+
const members = response.data.members || response.data;
|
|
517
|
+
if (!members || members.length === 0) {
|
|
518
|
+
return { success: true, output: 'No members found.' };
|
|
519
|
+
}
|
|
520
|
+
const lines = ['**Organization Members:**', ''];
|
|
521
|
+
members.forEach((m, i) => {
|
|
522
|
+
lines.push(`[${i + 1}] ${m.email || m.user_email || m.name}`);
|
|
523
|
+
lines.push(` Role: ${m.role}`);
|
|
524
|
+
lines.push(` Joined: ${new Date(m.joined_at || m.created_at).toLocaleDateString()}`);
|
|
525
|
+
lines.push('');
|
|
526
|
+
});
|
|
527
|
+
return { success: true, output: lines.join('\n') };
|
|
528
|
+
}
|
|
529
|
+
async inviteMember(args) {
|
|
530
|
+
await this.client.post(`/api/organizations/${args.org_id}/members/invite`, {
|
|
531
|
+
email: args.email,
|
|
532
|
+
role: args.role || 'member'
|
|
533
|
+
});
|
|
534
|
+
return {
|
|
535
|
+
success: true,
|
|
536
|
+
output: `✅ Invitation sent to ${args.email} (role: ${args.role || 'member'})`
|
|
537
|
+
};
|
|
538
|
+
}
|
|
539
|
+
// ===== INVITATIONS =====
|
|
540
|
+
async listPendingInvitations() {
|
|
541
|
+
const response = await this.client.get('/api/invitations');
|
|
542
|
+
const invitations = response.data.invitations || response.data;
|
|
543
|
+
if (!invitations || invitations.length === 0) {
|
|
544
|
+
return { success: true, output: 'No pending invitations.' };
|
|
545
|
+
}
|
|
546
|
+
const lines = ['**Pending Invitations:**', ''];
|
|
547
|
+
invitations.forEach((inv, i) => {
|
|
548
|
+
lines.push(`[${i + 1}] ${inv.organization_name || inv.org_name}`);
|
|
549
|
+
lines.push(` ID: ${inv.id}`);
|
|
550
|
+
lines.push(` Role: ${inv.role}`);
|
|
551
|
+
lines.push(` From: ${inv.invited_by || inv.inviter_email}`);
|
|
552
|
+
lines.push('');
|
|
553
|
+
});
|
|
554
|
+
return { success: true, output: lines.join('\n') };
|
|
555
|
+
}
|
|
556
|
+
async listSentInvitations() {
|
|
557
|
+
const response = await this.client.get('/api/invitations/sent');
|
|
558
|
+
const invitations = response.data.invitations || response.data;
|
|
559
|
+
if (!invitations || invitations.length === 0) {
|
|
560
|
+
return { success: true, output: 'No pending sent invitations.' };
|
|
561
|
+
}
|
|
562
|
+
const lines = ['**Sent Invitations (Pending):**', ''];
|
|
563
|
+
invitations.forEach((inv, i) => {
|
|
564
|
+
lines.push(`[${i + 1}] ${inv.email} → ${inv.organization_name || inv.org_name}`);
|
|
565
|
+
lines.push(` ID: ${inv.id}`);
|
|
566
|
+
lines.push(` Role: ${inv.role}`);
|
|
567
|
+
lines.push(` Sent: ${new Date(inv.created_at).toLocaleDateString()}`);
|
|
568
|
+
lines.push('');
|
|
569
|
+
});
|
|
570
|
+
return { success: true, output: lines.join('\n') };
|
|
571
|
+
}
|
|
572
|
+
async acceptInvitation(invitationId) {
|
|
573
|
+
const response = await this.client.post(`/api/invitations/${invitationId}/accept`);
|
|
574
|
+
return { success: true, output: `✅ Invitation accepted! You are now a member of the organization.` };
|
|
575
|
+
}
|
|
576
|
+
async declineInvitation(invitationId) {
|
|
577
|
+
await this.client.post(`/api/invitations/${invitationId}/decline`);
|
|
578
|
+
return { success: true, output: `✅ Invitation declined.` };
|
|
579
|
+
}
|
|
580
|
+
async cancelInvitation(invitationId) {
|
|
581
|
+
await this.client.post(`/api/invitations/${invitationId}/cancel`);
|
|
582
|
+
return { success: true, output: `✅ Invitation cancelled.` };
|
|
583
|
+
}
|
|
584
|
+
async leaveOrganization(orgId) {
|
|
585
|
+
await this.client.post(`/api/invitations/leave/${orgId}`);
|
|
586
|
+
return { success: true, output: `✅ You have left the organization.` };
|
|
587
|
+
}
|
|
588
|
+
// ===== MEMBERSHIPS =====
|
|
589
|
+
async listMemberships() {
|
|
590
|
+
const response = await this.client.get('/api/invitations/memberships');
|
|
591
|
+
const memberships = response.data.memberships || response.data;
|
|
592
|
+
if (!memberships || memberships.length === 0) {
|
|
593
|
+
return { success: true, output: 'No organization memberships.' };
|
|
594
|
+
}
|
|
595
|
+
const lines = ['**Your Memberships:**', ''];
|
|
596
|
+
memberships.forEach((m, i) => {
|
|
597
|
+
lines.push(`[${i + 1}] ${m.organization_name || m.org_name}`);
|
|
598
|
+
lines.push(` Org ID: ${m.organization_id || m.org_id}`);
|
|
599
|
+
lines.push(` Role: ${m.role}`);
|
|
600
|
+
lines.push(` Status: ${m.status || 'active'}`);
|
|
601
|
+
lines.push('');
|
|
602
|
+
});
|
|
603
|
+
return { success: true, output: lines.join('\n') };
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
exports.OrganizationTools = OrganizationTools;
|
|
607
|
+
OrganizationTools.instance = null;
|
|
608
|
+
exports.default = OrganizationTools;
|
|
609
|
+
//# sourceMappingURL=organization-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization-tools.js","sourceRoot":"","sources":["../organization-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Seller Tools - MCP Tools for Seller Management
|
|
3
|
+
*
|
|
4
|
+
* Provides tools for:
|
|
5
|
+
* - Seller registration and verification
|
|
6
|
+
* - Seller account management
|
|
7
|
+
* - Seller model catalog management
|
|
8
|
+
*/
|
|
9
|
+
import { MCPToolDefinition, MCPToolResult } from './src/types/mcp-types';
|
|
10
|
+
export declare const sellerToolDefinitions: MCPToolDefinition[];
|
|
11
|
+
export declare class SellerTools {
|
|
12
|
+
private static instance;
|
|
13
|
+
private client;
|
|
14
|
+
constructor(marketplaceUrl: string, apiKey: string);
|
|
15
|
+
static getInstance(marketplaceUrl?: string, apiKey?: string): SellerTools;
|
|
16
|
+
getTools(): MCPToolDefinition[];
|
|
17
|
+
executeTool(toolName: string, args: Record<string, any>): Promise<MCPToolResult>;
|
|
18
|
+
private registerSeller;
|
|
19
|
+
private verifySeller;
|
|
20
|
+
private activateSeller;
|
|
21
|
+
private getSellerStatus;
|
|
22
|
+
private listModels;
|
|
23
|
+
private addModel;
|
|
24
|
+
private updateModel;
|
|
25
|
+
private deleteModel;
|
|
26
|
+
}
|
|
27
|
+
export default SellerTools;
|
|
28
|
+
//# sourceMappingURL=seller-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seller-tools.d.ts","sourceRoot":"","sources":["../seller-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAIzE,eAAO,MAAM,qBAAqB,EAAE,iBAAiB,EAwSpD,CAAC;AAIF,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA4B;IACnD,OAAO,CAAC,MAAM,CAAgB;gBAElB,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;WAWpC,WAAW,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW;IAUzE,QAAQ,IAAI,iBAAiB,EAAE;IAIzB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;YA2B/E,cAAc;YASd,YAAY;YAUZ,cAAc;YASd,eAAe;YASf,UAAU;YAUV,QAAQ;YAUR,WAAW;YAUX,WAAW;CAQ5B;AAED,eAAe,WAAW,CAAC"}
|