@linkedapi/mcp 2.0.1 → 2.1.1
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/linked-api-tools.d.ts.map +1 -1
- package/dist/linked-api-tools.js +24 -0
- package/dist/linked-api-tools.js.map +1 -1
- package/dist/tools/admin-cancel-connection-session.d.ts +16 -0
- package/dist/tools/admin-cancel-connection-session.d.ts.map +1 -0
- package/dist/tools/admin-cancel-connection-session.js +35 -0
- package/dist/tools/admin-cancel-connection-session.js.map +1 -0
- package/dist/tools/admin-cancel-subscription.d.ts +14 -0
- package/dist/tools/admin-cancel-subscription.d.ts.map +1 -0
- package/dist/tools/admin-cancel-subscription.js +27 -0
- package/dist/tools/admin-cancel-subscription.js.map +1 -0
- package/dist/tools/admin-create-reconnection-session.d.ts +16 -0
- package/dist/tools/admin-create-reconnection-session.d.ts.map +1 -0
- package/dist/tools/admin-create-reconnection-session.js +35 -0
- package/dist/tools/admin-create-reconnection-session.js.map +1 -0
- package/dist/tools/admin-delete-limits.d.ts +24 -0
- package/dist/tools/admin-delete-limits.d.ts.map +1 -0
- package/dist/tools/admin-delete-limits.js +58 -0
- package/dist/tools/admin-delete-limits.js.map +1 -0
- package/dist/tools/admin-get-billing-link.d.ts +14 -0
- package/dist/tools/admin-get-billing-link.d.ts.map +1 -0
- package/dist/tools/admin-get-billing-link.js +27 -0
- package/dist/tools/admin-get-billing-link.js.map +1 -0
- package/dist/tools/admin-get-connection-session.d.ts +16 -0
- package/dist/tools/admin-get-connection-session.d.ts.map +1 -0
- package/dist/tools/admin-get-connection-session.js +35 -0
- package/dist/tools/admin-get-connection-session.js.map +1 -0
- package/dist/tools/admin-get-limits-defaults.d.ts +18 -0
- package/dist/tools/admin-get-limits-defaults.d.ts.map +1 -0
- package/dist/tools/admin-get-limits-defaults.js +27 -0
- package/dist/tools/admin-get-limits-defaults.js.map +1 -0
- package/dist/tools/admin-get-limits.d.ts +20 -0
- package/dist/tools/admin-get-limits.d.ts.map +1 -0
- package/dist/tools/admin-get-limits.js +35 -0
- package/dist/tools/admin-get-limits.js.map +1 -0
- package/dist/tools/admin-get-subscription-pricing.d.ts +18 -0
- package/dist/tools/admin-get-subscription-pricing.d.ts.map +1 -0
- package/dist/tools/admin-get-subscription-pricing.js +27 -0
- package/dist/tools/admin-get-subscription-pricing.js.map +1 -0
- package/dist/tools/admin-reparse-account-info.d.ts +16 -0
- package/dist/tools/admin-reparse-account-info.d.ts.map +1 -0
- package/dist/tools/admin-reparse-account-info.js +35 -0
- package/dist/tools/admin-reparse-account-info.js.map +1 -0
- package/dist/tools/fetch-job.d.ts +13 -0
- package/dist/tools/fetch-job.d.ts.map +1 -0
- package/dist/tools/fetch-job.js +31 -0
- package/dist/tools/fetch-job.js.map +1 -0
- package/dist/tools/get-workflow-result.d.ts +2 -0
- package/dist/tools/get-workflow-result.d.ts.map +1 -1
- package/dist/tools/search-jobs.d.ts +54 -0
- package/dist/tools/search-jobs.d.ts.map +1 -0
- package/dist/tools/search-jobs.js +165 -0
- package/dist/tools/search-jobs.js.map +1 -0
- package/package.json +3 -3
- package/src/linked-api-tools.ts +24 -0
- package/src/tools/admin-cancel-connection-session.ts +42 -0
- package/src/tools/admin-cancel-subscription.ts +30 -0
- package/src/tools/admin-create-reconnection-session.ts +47 -0
- package/src/tools/admin-delete-limits.ts +65 -0
- package/src/tools/admin-get-billing-link.ts +30 -0
- package/src/tools/admin-get-connection-session.ts +46 -0
- package/src/tools/admin-get-limits-defaults.ts +33 -0
- package/src/tools/admin-get-limits.ts +39 -0
- package/src/tools/admin-get-subscription-pricing.ts +33 -0
- package/src/tools/admin-reparse-account-info.ts +47 -0
- package/src/tools/fetch-job.ts +32 -0
- package/src/tools/search-jobs.ts +172 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AdminGetSubscriptionPricingTool = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
const admin_tool_js_1 = require("../utils/admin-tool.js");
|
|
9
|
+
class AdminGetSubscriptionPricingTool extends admin_tool_js_1.AdminTool {
|
|
10
|
+
name = 'admin_get_subscription_pricing';
|
|
11
|
+
schema = zod_1.default.object({});
|
|
12
|
+
async execute({ admin, }) {
|
|
13
|
+
return await admin.subscription.getPricing();
|
|
14
|
+
}
|
|
15
|
+
getTool() {
|
|
16
|
+
return {
|
|
17
|
+
name: this.name,
|
|
18
|
+
description: 'Get available subscription products and prices.',
|
|
19
|
+
inputSchema: {
|
|
20
|
+
type: 'object',
|
|
21
|
+
properties: {},
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.AdminGetSubscriptionPricingTool = AdminGetSubscriptionPricingTool;
|
|
27
|
+
//# sourceMappingURL=admin-get-subscription-pricing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-get-subscription-pricing.js","sourceRoot":"","sources":["../../src/tools/admin-get-subscription-pricing.ts"],"names":[],"mappings":";;;;;;AAEA,8CAAoB;AAEpB,0DAAmD;AAEnD,MAAa,+BAAgC,SAAQ,yBAGpD;IACiB,IAAI,GAAG,gCAAgC,CAAC;IACrC,MAAM,GAAG,aAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEzB,KAAK,CAAC,OAAO,CAAC,EAC5B,KAAK,GAIN;QACC,OAAO,MAAM,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;IAC/C,CAAC;IAEe,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,iDAAiD;YAC9D,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;aACf;SACF,CAAC;IACJ,CAAC;CACF;AA1BD,0EA0BC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LinkedApiAdmin, TReparseAccountInfoParams, TReparseAccountInfoResult } from '@linkedapi/node';
|
|
2
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import z from 'zod';
|
|
4
|
+
import { AdminTool } from '../utils/admin-tool.js';
|
|
5
|
+
export declare class AdminReparseAccountInfoTool extends AdminTool<TReparseAccountInfoParams, TReparseAccountInfoResult> {
|
|
6
|
+
readonly name = "admin_reparse_account_info";
|
|
7
|
+
protected readonly schema: z.ZodObject<{
|
|
8
|
+
accountId: z.ZodString;
|
|
9
|
+
}, z.core.$strip>;
|
|
10
|
+
execute({ admin, args, }: {
|
|
11
|
+
admin: LinkedApiAdmin;
|
|
12
|
+
args: TReparseAccountInfoParams;
|
|
13
|
+
}): Promise<TReparseAccountInfoResult>;
|
|
14
|
+
getTool(): Tool;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=admin-reparse-account-info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-reparse-account-info.d.ts","sourceRoot":"","sources":["../../src/tools/admin-reparse-account-info.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,qBAAa,2BAA4B,SAAQ,SAAS,CACxD,yBAAyB,EACzB,yBAAyB,CAC1B;IACC,SAAgB,IAAI,gCAAgC;IACpD,SAAS,CAAC,QAAQ,CAAC,MAAM;;sBAEtB;IAEmB,OAAO,CAAC,EAC5B,KAAK,EACL,IAAI,GACL,EAAE;QACD,KAAK,EAAE,cAAc,CAAC;QACtB,IAAI,EAAE,yBAAyB,CAAC;KACjC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAItB,OAAO,IAAI,IAAI;CAiBhC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AdminReparseAccountInfoTool = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
const admin_tool_js_1 = require("../utils/admin-tool.js");
|
|
9
|
+
class AdminReparseAccountInfoTool extends admin_tool_js_1.AdminTool {
|
|
10
|
+
name = 'admin_reparse_account_info';
|
|
11
|
+
schema = zod_1.default.object({
|
|
12
|
+
accountId: zod_1.default.string(),
|
|
13
|
+
});
|
|
14
|
+
async execute({ admin, args, }) {
|
|
15
|
+
return await admin.accounts.reparseAccountInfo(args);
|
|
16
|
+
}
|
|
17
|
+
getTool() {
|
|
18
|
+
return {
|
|
19
|
+
name: this.name,
|
|
20
|
+
description: 'Refresh stored profile information for a connected account. Starts a background reparse workflow and returns workflowId.',
|
|
21
|
+
inputSchema: {
|
|
22
|
+
type: 'object',
|
|
23
|
+
properties: {
|
|
24
|
+
accountId: {
|
|
25
|
+
type: 'string',
|
|
26
|
+
description: 'UUID of the account to refresh',
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
required: ['accountId'],
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.AdminReparseAccountInfoTool = AdminReparseAccountInfoTool;
|
|
35
|
+
//# sourceMappingURL=admin-reparse-account-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-reparse-account-info.js","sourceRoot":"","sources":["../../src/tools/admin-reparse-account-info.ts"],"names":[],"mappings":";;;;;;AAMA,8CAAoB;AAEpB,0DAAmD;AAEnD,MAAa,2BAA4B,SAAQ,yBAGhD;IACiB,IAAI,GAAG,4BAA4B,CAAC;IACjC,MAAM,GAAG,aAAC,CAAC,MAAM,CAAC;QACnC,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE;KACtB,CAAC,CAAC;IAEa,KAAK,CAAC,OAAO,CAAC,EAC5B,KAAK,EACL,IAAI,GAIL;QACC,OAAO,MAAM,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAEe,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,0HAA0H;YAC5H,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gCAAgC;qBAC9C;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB;SACF,CAAC;IACJ,CAAC;CACF;AApCD,kEAoCC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TBaseFetchJobParams } from '@linkedapi/node';
|
|
2
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { OperationTool } from '../utils/linked-api-tool.js';
|
|
5
|
+
export declare class FetchJobTool extends OperationTool<TBaseFetchJobParams, unknown> {
|
|
6
|
+
readonly name = "fetch_job";
|
|
7
|
+
readonly operationName: "fetchJob";
|
|
8
|
+
protected readonly schema: z.ZodObject<{
|
|
9
|
+
jobUrl: z.ZodString;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
getTool(): Tool;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=fetch-job.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-job.d.ts","sourceRoot":"","sources":["../../src/tools/fetch-job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,YAAa,SAAQ,aAAa,CAAC,mBAAmB,EAAE,OAAO,CAAC;IAC3E,SAAyB,IAAI,eAAe;IAC5C,SAAyB,aAAa,aAA2B;IACjE,mBAA4B,MAAM;;sBAE/B;IAEa,OAAO,IAAI,IAAI;CAkBhC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FetchJobTool = void 0;
|
|
4
|
+
const node_1 = require("@linkedapi/node");
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const linked_api_tool_js_1 = require("../utils/linked-api-tool.js");
|
|
7
|
+
class FetchJobTool extends linked_api_tool_js_1.OperationTool {
|
|
8
|
+
name = 'fetch_job';
|
|
9
|
+
operationName = node_1.OPERATION_NAME.fetchJob;
|
|
10
|
+
schema = zod_1.z.object({
|
|
11
|
+
jobUrl: zod_1.z.string(),
|
|
12
|
+
});
|
|
13
|
+
getTool() {
|
|
14
|
+
return {
|
|
15
|
+
name: this.name,
|
|
16
|
+
description: 'Open a LinkedIn job and retrieve its details such as company, location, salary, and description (st.openJob action).',
|
|
17
|
+
inputSchema: {
|
|
18
|
+
type: 'object',
|
|
19
|
+
properties: {
|
|
20
|
+
jobUrl: {
|
|
21
|
+
type: 'string',
|
|
22
|
+
description: "LinkedIn URL of the job. (e.g., 'https://www.linkedin.com/jobs/view/4416248954/')",
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
required: ['jobUrl'],
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.FetchJobTool = FetchJobTool;
|
|
31
|
+
//# sourceMappingURL=fetch-job.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-job.js","sourceRoot":"","sources":["../../src/tools/fetch-job.ts"],"names":[],"mappings":";;;AAAA,0CAAsE;AAEtE,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,YAAa,SAAQ,kCAA2C;IAClD,IAAI,GAAG,WAAW,CAAC;IACnB,aAAa,GAAG,qBAAc,CAAC,QAAQ,CAAC;IACrC,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;KACnB,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,sHAAsH;YACxH,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,mFAAmF;qBACtF;iBACF;gBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB;SACF,CAAC;IACJ,CAAC;CACF;AAzBD,oCAyBC"}
|
|
@@ -24,9 +24,11 @@ export declare class GetWorkflowResultTool extends LinkedApiTool<IGetWorkflowRes
|
|
|
24
24
|
removeConnection: "removeConnection";
|
|
25
25
|
searchCompanies: "searchCompanies";
|
|
26
26
|
searchPeople: "searchPeople";
|
|
27
|
+
searchJobs: "searchJobs";
|
|
27
28
|
fetchPerson: "fetchPerson";
|
|
28
29
|
fetchCompany: "fetchCompany";
|
|
29
30
|
fetchPost: "fetchPost";
|
|
31
|
+
fetchJob: "fetchJob";
|
|
30
32
|
reactToPost: "reactToPost";
|
|
31
33
|
commentOnPost: "commentOnPost";
|
|
32
34
|
createPost: "createPost";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-workflow-result.d.ts","sourceRoot":"","sources":["../../src/tools/get-workflow-result.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAGhB,eAAe,EAGhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAK5D,UAAU,wBAAwB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,qBAAsB,SAAQ,aAAa,CAAC,wBAAwB,EAAE,OAAO,CAAC;IACzF,SAAgB,IAAI,yBAAyB;IAC7C,SAAS,CAAC,QAAQ,CAAC,MAAM
|
|
1
|
+
{"version":3,"file":"get-workflow-result.d.ts","sourceRoot":"","sources":["../../src/tools/get-workflow-result.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAGhB,eAAe,EAGhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAK5D,UAAU,wBAAwB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,qBAAsB,SAAQ,aAAa,CAAC,wBAAwB,EAAE,OAAO,CAAC;IACzF,SAAgB,IAAI,yBAAyB;IAC7C,SAAS,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAItB;IAEmB,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,EAChD,SAAS,GACV,EAAE;QACD,SAAS,EAAE,SAAS,CAAC;QACrB,IAAI,EAAE,wBAAwB,CAAC;QAC/B,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC;IA4BpC,OAAO,IAAI,IAAI;CA2BhC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { TSearchJobsParams } from '@linkedapi/node';
|
|
2
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { OperationTool } from '../utils/linked-api-tool.js';
|
|
5
|
+
export declare class SearchJobsTool extends OperationTool<TSearchJobsParams, unknown> {
|
|
6
|
+
readonly name = "search_jobs";
|
|
7
|
+
readonly operationName: "searchJobs";
|
|
8
|
+
protected readonly schema: z.ZodObject<{
|
|
9
|
+
term: z.ZodOptional<z.ZodString>;
|
|
10
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
11
|
+
filter: z.ZodOptional<z.ZodObject<{
|
|
12
|
+
location: z.ZodOptional<z.ZodString>;
|
|
13
|
+
datePosted: z.ZodOptional<z.ZodEnum<{
|
|
14
|
+
anyTime: "anyTime";
|
|
15
|
+
past24Hours: "past24Hours";
|
|
16
|
+
pastWeek: "pastWeek";
|
|
17
|
+
pastMonth: "pastMonth";
|
|
18
|
+
}>>;
|
|
19
|
+
experienceLevels: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
20
|
+
internship: "internship";
|
|
21
|
+
entryLevel: "entryLevel";
|
|
22
|
+
associate: "associate";
|
|
23
|
+
midSeniorLevel: "midSeniorLevel";
|
|
24
|
+
director: "director";
|
|
25
|
+
executive: "executive";
|
|
26
|
+
}>>>;
|
|
27
|
+
employmentTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
28
|
+
internship: "internship";
|
|
29
|
+
fullTime: "fullTime";
|
|
30
|
+
partTime: "partTime";
|
|
31
|
+
contract: "contract";
|
|
32
|
+
temporary: "temporary";
|
|
33
|
+
volunteer: "volunteer";
|
|
34
|
+
other: "other";
|
|
35
|
+
}>>>;
|
|
36
|
+
workplaceTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
37
|
+
onSite: "onSite";
|
|
38
|
+
remote: "remote";
|
|
39
|
+
hybrid: "hybrid";
|
|
40
|
+
}>>>;
|
|
41
|
+
companies: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
42
|
+
industries: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
43
|
+
jobFunctions: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
44
|
+
easyApply: z.ZodOptional<z.ZodBoolean>;
|
|
45
|
+
hasVerifications: z.ZodOptional<z.ZodBoolean>;
|
|
46
|
+
under10Applicants: z.ZodOptional<z.ZodBoolean>;
|
|
47
|
+
inYourNetwork: z.ZodOptional<z.ZodBoolean>;
|
|
48
|
+
fairChanceEmployer: z.ZodOptional<z.ZodBoolean>;
|
|
49
|
+
}, z.core.$strip>>;
|
|
50
|
+
customSearchUrl: z.ZodOptional<z.ZodString>;
|
|
51
|
+
}, z.core.$strip>;
|
|
52
|
+
getTool(): Tool;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=search-jobs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-jobs.d.ts","sourceRoot":"","sources":["../../src/tools/search-jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,cAAe,SAAQ,aAAa,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAC3E,SAAyB,IAAI,iBAAiB;IAC9C,SAAyB,aAAa,eAA6B;IACnE,mBAA4B,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA4C/B;IAEa,OAAO,IAAI,IAAI;CAoHhC"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SearchJobsTool = void 0;
|
|
4
|
+
const node_1 = require("@linkedapi/node");
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const linked_api_tool_js_1 = require("../utils/linked-api-tool.js");
|
|
7
|
+
class SearchJobsTool extends linked_api_tool_js_1.OperationTool {
|
|
8
|
+
name = 'search_jobs';
|
|
9
|
+
operationName = node_1.OPERATION_NAME.searchJobs;
|
|
10
|
+
schema = zod_1.z.object({
|
|
11
|
+
term: zod_1.z.string().optional(),
|
|
12
|
+
limit: zod_1.z.number().min(1).max(1000).optional(),
|
|
13
|
+
filter: zod_1.z
|
|
14
|
+
.object({
|
|
15
|
+
location: zod_1.z.string().optional(),
|
|
16
|
+
datePosted: zod_1.z.enum(['anyTime', 'past24Hours', 'pastWeek', 'pastMonth']).optional(),
|
|
17
|
+
experienceLevels: zod_1.z
|
|
18
|
+
.array(zod_1.z.enum([
|
|
19
|
+
'internship',
|
|
20
|
+
'entryLevel',
|
|
21
|
+
'associate',
|
|
22
|
+
'midSeniorLevel',
|
|
23
|
+
'director',
|
|
24
|
+
'executive',
|
|
25
|
+
]))
|
|
26
|
+
.optional(),
|
|
27
|
+
employmentTypes: zod_1.z
|
|
28
|
+
.array(zod_1.z.enum([
|
|
29
|
+
'fullTime',
|
|
30
|
+
'partTime',
|
|
31
|
+
'contract',
|
|
32
|
+
'temporary',
|
|
33
|
+
'volunteer',
|
|
34
|
+
'internship',
|
|
35
|
+
'other',
|
|
36
|
+
]))
|
|
37
|
+
.optional(),
|
|
38
|
+
workplaceTypes: zod_1.z.array(zod_1.z.enum(['onSite', 'remote', 'hybrid'])).optional(),
|
|
39
|
+
companies: zod_1.z.array(zod_1.z.string()).optional(),
|
|
40
|
+
industries: zod_1.z.array(zod_1.z.string()).optional(),
|
|
41
|
+
jobFunctions: zod_1.z.array(zod_1.z.string()).optional(),
|
|
42
|
+
easyApply: zod_1.z.boolean().optional(),
|
|
43
|
+
hasVerifications: zod_1.z.boolean().optional(),
|
|
44
|
+
under10Applicants: zod_1.z.boolean().optional(),
|
|
45
|
+
inYourNetwork: zod_1.z.boolean().optional(),
|
|
46
|
+
fairChanceEmployer: zod_1.z.boolean().optional(),
|
|
47
|
+
})
|
|
48
|
+
.optional(),
|
|
49
|
+
customSearchUrl: zod_1.z.string().optional(),
|
|
50
|
+
});
|
|
51
|
+
getTool() {
|
|
52
|
+
return {
|
|
53
|
+
name: this.name,
|
|
54
|
+
description: 'Allows you to search jobs applying various filtering criteria (st.searchJobs action).',
|
|
55
|
+
inputSchema: {
|
|
56
|
+
type: 'object',
|
|
57
|
+
properties: {
|
|
58
|
+
term: {
|
|
59
|
+
type: 'string',
|
|
60
|
+
description: 'Optional. Keyword or phrase to search.',
|
|
61
|
+
},
|
|
62
|
+
limit: {
|
|
63
|
+
type: 'number',
|
|
64
|
+
description: 'Optional. Number of search results to return. Defaults to 10, with a maximum value of 1000.',
|
|
65
|
+
},
|
|
66
|
+
filter: {
|
|
67
|
+
type: 'object',
|
|
68
|
+
description: 'Optional. Object that specifies filtering criteria for jobs. When multiple filter fields are specified, they are combined using AND logic.',
|
|
69
|
+
properties: {
|
|
70
|
+
location: {
|
|
71
|
+
type: 'string',
|
|
72
|
+
description: 'Optional. Free-form location string.',
|
|
73
|
+
},
|
|
74
|
+
datePosted: {
|
|
75
|
+
type: 'string',
|
|
76
|
+
enum: ['anyTime', 'past24Hours', 'pastWeek', 'pastMonth'],
|
|
77
|
+
description: 'Optional. How recently the job was posted.',
|
|
78
|
+
},
|
|
79
|
+
experienceLevels: {
|
|
80
|
+
type: 'array',
|
|
81
|
+
description: 'Optional. Array of experience levels.',
|
|
82
|
+
items: {
|
|
83
|
+
type: 'string',
|
|
84
|
+
enum: [
|
|
85
|
+
'internship',
|
|
86
|
+
'entryLevel',
|
|
87
|
+
'associate',
|
|
88
|
+
'midSeniorLevel',
|
|
89
|
+
'director',
|
|
90
|
+
'executive',
|
|
91
|
+
],
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
employmentTypes: {
|
|
95
|
+
type: 'array',
|
|
96
|
+
description: 'Optional. Array of employment types.',
|
|
97
|
+
items: {
|
|
98
|
+
type: 'string',
|
|
99
|
+
enum: [
|
|
100
|
+
'fullTime',
|
|
101
|
+
'partTime',
|
|
102
|
+
'contract',
|
|
103
|
+
'temporary',
|
|
104
|
+
'volunteer',
|
|
105
|
+
'internship',
|
|
106
|
+
'other',
|
|
107
|
+
],
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
workplaceTypes: {
|
|
111
|
+
type: 'array',
|
|
112
|
+
description: 'Optional. Array of workplace types.',
|
|
113
|
+
items: {
|
|
114
|
+
type: 'string',
|
|
115
|
+
enum: ['onSite', 'remote', 'hybrid'],
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
companies: {
|
|
119
|
+
type: 'array',
|
|
120
|
+
description: 'Optional. Array of company names.',
|
|
121
|
+
items: { type: 'string' },
|
|
122
|
+
},
|
|
123
|
+
industries: {
|
|
124
|
+
type: 'array',
|
|
125
|
+
description: 'Optional. Array of industry names.',
|
|
126
|
+
items: { type: 'string' },
|
|
127
|
+
},
|
|
128
|
+
jobFunctions: {
|
|
129
|
+
type: 'array',
|
|
130
|
+
description: 'Optional. Array of job function names.',
|
|
131
|
+
items: { type: 'string' },
|
|
132
|
+
},
|
|
133
|
+
easyApply: {
|
|
134
|
+
type: 'boolean',
|
|
135
|
+
description: 'Optional. When true, only jobs with Easy Apply.',
|
|
136
|
+
},
|
|
137
|
+
hasVerifications: {
|
|
138
|
+
type: 'boolean',
|
|
139
|
+
description: 'Optional. When true, only jobs with verification signals.',
|
|
140
|
+
},
|
|
141
|
+
under10Applicants: {
|
|
142
|
+
type: 'boolean',
|
|
143
|
+
description: 'Optional. When true, only jobs with fewer than 10 applicants.',
|
|
144
|
+
},
|
|
145
|
+
inYourNetwork: {
|
|
146
|
+
type: 'boolean',
|
|
147
|
+
description: 'Optional. When true, only jobs from your network.',
|
|
148
|
+
},
|
|
149
|
+
fairChanceEmployer: {
|
|
150
|
+
type: 'boolean',
|
|
151
|
+
description: 'Optional. When true, only fair chance employer jobs.',
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
},
|
|
155
|
+
customSearchUrl: {
|
|
156
|
+
type: 'string',
|
|
157
|
+
description: 'Optional. URL copied from a LinkedIn jobs search page. When specified, overrides term and filter.',
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
exports.SearchJobsTool = SearchJobsTool;
|
|
165
|
+
//# sourceMappingURL=search-jobs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-jobs.js","sourceRoot":"","sources":["../../src/tools/search-jobs.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@linkedapi/mcp",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"description": "MCP server that lets AI assistants control LinkedIn accounts and retrieve real-time data.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"clean": "rm -rf dist",
|
|
18
18
|
"typecheck": "tsc --noEmit",
|
|
19
19
|
"lint": "eslint src --fix",
|
|
20
|
-
"format": "prettier --write \"src/**/*.ts\"",
|
|
20
|
+
"format": "prettier --write --log-level warn \"src/**/*.ts\"",
|
|
21
21
|
"prepublishOnly": "npm run clean && npm run build",
|
|
22
22
|
"prepare": "husky"
|
|
23
23
|
},
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"author": "Linked API",
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@linkedapi/node": "^2.0.
|
|
33
|
+
"@linkedapi/node": "^2.0.4",
|
|
34
34
|
"@modelcontextprotocol/sdk": "^1.17.4",
|
|
35
35
|
"zod": "^4.1.1"
|
|
36
36
|
},
|
package/src/linked-api-tools.ts
CHANGED
|
@@ -1,13 +1,23 @@
|
|
|
1
1
|
import LinkedApi from '@linkedapi/node';
|
|
2
2
|
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
3
|
|
|
4
|
+
import { AdminCancelConnectionSessionTool } from './tools/admin-cancel-connection-session.js';
|
|
5
|
+
import { AdminCancelSubscriptionTool } from './tools/admin-cancel-subscription.js';
|
|
4
6
|
import { AdminConnectAccountTool } from './tools/admin-connect-account.js';
|
|
7
|
+
import { AdminCreateReconnectionSessionTool } from './tools/admin-create-reconnection-session.js';
|
|
8
|
+
import { AdminDeleteLimitsTool } from './tools/admin-delete-limits.js';
|
|
5
9
|
import { AdminDisconnectAccountTool } from './tools/admin-disconnect-account.js';
|
|
6
10
|
import { AdminGetAccountsTool } from './tools/admin-get-accounts.js';
|
|
11
|
+
import { AdminGetBillingLinkTool } from './tools/admin-get-billing-link.js';
|
|
12
|
+
import { AdminGetConnectionSessionTool } from './tools/admin-get-connection-session.js';
|
|
13
|
+
import { AdminGetLimitsDefaultsTool } from './tools/admin-get-limits-defaults.js';
|
|
7
14
|
import { AdminGetLimitsUsageTool } from './tools/admin-get-limits-usage.js';
|
|
15
|
+
import { AdminGetLimitsTool } from './tools/admin-get-limits.js';
|
|
8
16
|
import { AdminGetSeatsTool } from './tools/admin-get-seats.js';
|
|
17
|
+
import { AdminGetSubscriptionPricingTool } from './tools/admin-get-subscription-pricing.js';
|
|
9
18
|
import { AdminGetSubscriptionStatusTool } from './tools/admin-get-subscription-status.js';
|
|
10
19
|
import { AdminRegenerateTokenTool } from './tools/admin-regenerate-token.js';
|
|
20
|
+
import { AdminReparseAccountInfoTool } from './tools/admin-reparse-account-info.js';
|
|
11
21
|
import { AdminResetLimitsTool } from './tools/admin-reset-limits.js';
|
|
12
22
|
import { AdminSetLimitsTool } from './tools/admin-set-limits.js';
|
|
13
23
|
import { AdminSetSeatsTool } from './tools/admin-set-seats.js';
|
|
@@ -16,6 +26,7 @@ import { CommentOnPostTool } from './tools/comment-on-post.js';
|
|
|
16
26
|
import { CreatePostTool } from './tools/create-post.js';
|
|
17
27
|
import { ExecuteCustomWorkflowTool } from './tools/execute-custom-workflow.js';
|
|
18
28
|
import { FetchCompanyTool } from './tools/fetch-company.js';
|
|
29
|
+
import { FetchJobTool } from './tools/fetch-job.js';
|
|
19
30
|
import { FetchPersonTool } from './tools/fetch-person.js';
|
|
20
31
|
import { FetchPostTool } from './tools/fetch-post.js';
|
|
21
32
|
import { GetApiUsageTool } from './tools/get-api-usage-stats.js';
|
|
@@ -34,6 +45,7 @@ import { RetrievePendingRequestsTool } from './tools/retrieve-pending-requests.j
|
|
|
34
45
|
import { RetrievePerformanceTool } from './tools/retrieve-performance.js';
|
|
35
46
|
import { RetrieveSSITool } from './tools/retrieve-ssi.js';
|
|
36
47
|
import { SearchCompaniesTool } from './tools/search-companies.js';
|
|
48
|
+
import { SearchJobsTool } from './tools/search-jobs.js';
|
|
37
49
|
import { SearchPeopleTool } from './tools/search-people.js';
|
|
38
50
|
import { SendConnectionRequestTool } from './tools/send-connection-request.js';
|
|
39
51
|
import { SendMessageTool } from './tools/send-message.js';
|
|
@@ -69,9 +81,11 @@ export class LinkedApiTools {
|
|
|
69
81
|
new RemoveConnectionTool(),
|
|
70
82
|
new SearchCompaniesTool(),
|
|
71
83
|
new SearchPeopleTool(),
|
|
84
|
+
new SearchJobsTool(),
|
|
72
85
|
new FetchCompanyTool(),
|
|
73
86
|
new FetchPersonTool(),
|
|
74
87
|
new FetchPostTool(),
|
|
88
|
+
new FetchJobTool(),
|
|
75
89
|
new ReactToPostTool(),
|
|
76
90
|
new CommentOnPostTool(),
|
|
77
91
|
new CreatePostTool(),
|
|
@@ -94,12 +108,22 @@ export class LinkedApiTools {
|
|
|
94
108
|
new AdminGetSubscriptionStatusTool(),
|
|
95
109
|
new AdminGetSeatsTool(),
|
|
96
110
|
new AdminSetSeatsTool(),
|
|
111
|
+
new AdminGetSubscriptionPricingTool(),
|
|
112
|
+
new AdminGetBillingLinkTool(),
|
|
113
|
+
new AdminCancelSubscriptionTool(),
|
|
97
114
|
new AdminGetAccountsTool(),
|
|
115
|
+
new AdminReparseAccountInfoTool(),
|
|
116
|
+
new AdminCreateReconnectionSessionTool(),
|
|
98
117
|
new AdminConnectAccountTool(),
|
|
118
|
+
new AdminGetConnectionSessionTool(),
|
|
119
|
+
new AdminCancelConnectionSessionTool(),
|
|
99
120
|
new AdminDisconnectAccountTool(),
|
|
100
121
|
new AdminRegenerateTokenTool(),
|
|
122
|
+
new AdminGetLimitsDefaultsTool(),
|
|
123
|
+
new AdminGetLimitsTool(),
|
|
101
124
|
new AdminGetLimitsUsageTool(),
|
|
102
125
|
new AdminSetLimitsTool(),
|
|
126
|
+
new AdminDeleteLimitsTool(),
|
|
103
127
|
new AdminResetLimitsTool(),
|
|
104
128
|
];
|
|
105
129
|
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { LinkedApiAdmin, TCancelConnectionSessionParams } from '@linkedapi/node';
|
|
2
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import z from 'zod';
|
|
4
|
+
|
|
5
|
+
import { AdminTool } from '../utils/admin-tool.js';
|
|
6
|
+
|
|
7
|
+
export class AdminCancelConnectionSessionTool extends AdminTool<
|
|
8
|
+
TCancelConnectionSessionParams,
|
|
9
|
+
void
|
|
10
|
+
> {
|
|
11
|
+
public readonly name = 'admin_cancel_connection_session';
|
|
12
|
+
protected readonly schema = z.object({
|
|
13
|
+
sessionId: z.string(),
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
public override async execute({
|
|
17
|
+
admin,
|
|
18
|
+
args,
|
|
19
|
+
}: {
|
|
20
|
+
admin: LinkedApiAdmin;
|
|
21
|
+
args: TCancelConnectionSessionParams;
|
|
22
|
+
}): Promise<void> {
|
|
23
|
+
await admin.accounts.cancelConnectionSession(args);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public override getTool(): Tool {
|
|
27
|
+
return {
|
|
28
|
+
name: this.name,
|
|
29
|
+
description: 'Cancel a pending connection or reconnection session.',
|
|
30
|
+
inputSchema: {
|
|
31
|
+
type: 'object',
|
|
32
|
+
properties: {
|
|
33
|
+
sessionId: {
|
|
34
|
+
type: 'string',
|
|
35
|
+
description: 'Connection session UUID',
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
required: ['sessionId'],
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { LinkedApiAdmin, TCancelResult } from '@linkedapi/node';
|
|
2
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import z from 'zod';
|
|
4
|
+
|
|
5
|
+
import { AdminTool } from '../utils/admin-tool.js';
|
|
6
|
+
|
|
7
|
+
export class AdminCancelSubscriptionTool extends AdminTool<Record<string, never>, TCancelResult> {
|
|
8
|
+
public readonly name = 'admin_cancel_subscription';
|
|
9
|
+
protected readonly schema = z.object({});
|
|
10
|
+
|
|
11
|
+
public override async execute({
|
|
12
|
+
admin,
|
|
13
|
+
}: {
|
|
14
|
+
admin: LinkedApiAdmin;
|
|
15
|
+
args: Record<string, never>;
|
|
16
|
+
}): Promise<TCancelResult> {
|
|
17
|
+
return await admin.subscription.cancel();
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
public override getTool(): Tool {
|
|
21
|
+
return {
|
|
22
|
+
name: this.name,
|
|
23
|
+
description: 'Cancel the current subscription at the end of the billing period.',
|
|
24
|
+
inputSchema: {
|
|
25
|
+
type: 'object',
|
|
26
|
+
properties: {},
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import {
|
|
2
|
+
LinkedApiAdmin,
|
|
3
|
+
TCreateReconnectionSessionParams,
|
|
4
|
+
TCreateReconnectionSessionResult,
|
|
5
|
+
} from '@linkedapi/node';
|
|
6
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
7
|
+
import z from 'zod';
|
|
8
|
+
|
|
9
|
+
import { AdminTool } from '../utils/admin-tool.js';
|
|
10
|
+
|
|
11
|
+
export class AdminCreateReconnectionSessionTool extends AdminTool<
|
|
12
|
+
TCreateReconnectionSessionParams,
|
|
13
|
+
TCreateReconnectionSessionResult
|
|
14
|
+
> {
|
|
15
|
+
public readonly name = 'admin_create_reconnection_session';
|
|
16
|
+
protected readonly schema = z.object({
|
|
17
|
+
accountId: z.string(),
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
public override async execute({
|
|
21
|
+
admin,
|
|
22
|
+
args,
|
|
23
|
+
}: {
|
|
24
|
+
admin: LinkedApiAdmin;
|
|
25
|
+
args: TCreateReconnectionSessionParams;
|
|
26
|
+
}): Promise<TCreateReconnectionSessionResult> {
|
|
27
|
+
return await admin.accounts.createReconnectionSession(args);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public override getTool(): Tool {
|
|
31
|
+
return {
|
|
32
|
+
name: this.name,
|
|
33
|
+
description:
|
|
34
|
+
'Create a reconnection session for an account with status reconnection_required. Returns reconnectionSessionId and reconnectionLink.',
|
|
35
|
+
inputSchema: {
|
|
36
|
+
type: 'object',
|
|
37
|
+
properties: {
|
|
38
|
+
accountId: {
|
|
39
|
+
type: 'string',
|
|
40
|
+
description: 'UUID of the account to reconnect',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
required: ['accountId'],
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|