@keystrokehq/pylon_mcp 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -0
- package/dist/action.cjs +21 -0
- package/dist/action.cjs.map +1 -0
- package/dist/action.mjs +21 -0
- package/dist/action.mjs.map +1 -0
- package/dist/actions/create-issue.cjs +45 -0
- package/dist/actions/create-issue.cjs.map +1 -0
- package/dist/actions/create-issue.d.cts +9 -0
- package/dist/actions/create-issue.d.cts.map +1 -0
- package/dist/actions/create-issue.d.mts +9 -0
- package/dist/actions/create-issue.d.mts.map +1 -0
- package/dist/actions/create-issue.mjs +42 -0
- package/dist/actions/create-issue.mjs.map +1 -0
- package/dist/actions/get-account.cjs +16 -0
- package/dist/actions/get-account.cjs.map +1 -0
- package/dist/actions/get-account.d.cts +9 -0
- package/dist/actions/get-account.d.cts.map +1 -0
- package/dist/actions/get-account.d.mts +9 -0
- package/dist/actions/get-account.d.mts.map +1 -0
- package/dist/actions/get-account.mjs +13 -0
- package/dist/actions/get-account.mjs.map +1 -0
- package/dist/actions/get-contact.cjs +16 -0
- package/dist/actions/get-contact.cjs.map +1 -0
- package/dist/actions/get-contact.d.cts +9 -0
- package/dist/actions/get-contact.d.cts.map +1 -0
- package/dist/actions/get-contact.d.mts +9 -0
- package/dist/actions/get-contact.d.mts.map +1 -0
- package/dist/actions/get-contact.mjs +13 -0
- package/dist/actions/get-contact.mjs.map +1 -0
- package/dist/actions/get-issue-messages.cjs +30 -0
- package/dist/actions/get-issue-messages.cjs.map +1 -0
- package/dist/actions/get-issue-messages.d.cts +9 -0
- package/dist/actions/get-issue-messages.d.cts.map +1 -0
- package/dist/actions/get-issue-messages.d.mts +9 -0
- package/dist/actions/get-issue-messages.d.mts.map +1 -0
- package/dist/actions/get-issue-messages.mjs +27 -0
- package/dist/actions/get-issue-messages.mjs.map +1 -0
- package/dist/actions/get-issue.cjs +16 -0
- package/dist/actions/get-issue.cjs.map +1 -0
- package/dist/actions/get-issue.d.cts +9 -0
- package/dist/actions/get-issue.d.cts.map +1 -0
- package/dist/actions/get-issue.d.mts +9 -0
- package/dist/actions/get-issue.d.mts.map +1 -0
- package/dist/actions/get-issue.mjs +13 -0
- package/dist/actions/get-issue.mjs.map +1 -0
- package/dist/actions/get-me.cjs +16 -0
- package/dist/actions/get-me.cjs.map +1 -0
- package/dist/actions/get-me.d.cts +9 -0
- package/dist/actions/get-me.d.cts.map +1 -0
- package/dist/actions/get-me.d.mts +9 -0
- package/dist/actions/get-me.d.mts.map +1 -0
- package/dist/actions/get-me.mjs +13 -0
- package/dist/actions/get-me.mjs.map +1 -0
- package/dist/actions/get-user.cjs +16 -0
- package/dist/actions/get-user.cjs.map +1 -0
- package/dist/actions/get-user.d.cts +9 -0
- package/dist/actions/get-user.d.cts.map +1 -0
- package/dist/actions/get-user.d.mts +9 -0
- package/dist/actions/get-user.d.mts.map +1 -0
- package/dist/actions/get-user.mjs +13 -0
- package/dist/actions/get-user.mjs.map +1 -0
- package/dist/actions/index.cjs +25 -0
- package/dist/actions/index.d.cts +13 -0
- package/dist/actions/index.d.mts +13 -0
- package/dist/actions/index.mjs +13 -0
- package/dist/actions/search-accounts.cjs +37 -0
- package/dist/actions/search-accounts.cjs.map +1 -0
- package/dist/actions/search-accounts.d.cts +9 -0
- package/dist/actions/search-accounts.d.cts.map +1 -0
- package/dist/actions/search-accounts.d.mts +9 -0
- package/dist/actions/search-accounts.d.mts.map +1 -0
- package/dist/actions/search-accounts.mjs +34 -0
- package/dist/actions/search-accounts.mjs.map +1 -0
- package/dist/actions/search-issues.cjs +44 -0
- package/dist/actions/search-issues.cjs.map +1 -0
- package/dist/actions/search-issues.d.cts +9 -0
- package/dist/actions/search-issues.d.cts.map +1 -0
- package/dist/actions/search-issues.d.mts +9 -0
- package/dist/actions/search-issues.d.mts.map +1 -0
- package/dist/actions/search-issues.mjs +41 -0
- package/dist/actions/search-issues.mjs.map +1 -0
- package/dist/actions/update-account.cjs +32 -0
- package/dist/actions/update-account.cjs.map +1 -0
- package/dist/actions/update-account.d.cts +9 -0
- package/dist/actions/update-account.d.cts.map +1 -0
- package/dist/actions/update-account.d.mts +9 -0
- package/dist/actions/update-account.d.mts.map +1 -0
- package/dist/actions/update-account.mjs +29 -0
- package/dist/actions/update-account.mjs.map +1 -0
- package/dist/actions/update-issue.cjs +37 -0
- package/dist/actions/update-issue.cjs.map +1 -0
- package/dist/actions/update-issue.d.cts +9 -0
- package/dist/actions/update-issue.d.cts.map +1 -0
- package/dist/actions/update-issue.d.mts +9 -0
- package/dist/actions/update-issue.d.mts.map +1 -0
- package/dist/actions/update-issue.mjs +34 -0
- package/dist/actions/update-issue.mjs.map +1 -0
- package/dist/actions/upload-account-files.cjs +31 -0
- package/dist/actions/upload-account-files.cjs.map +1 -0
- package/dist/actions/upload-account-files.d.cts +9 -0
- package/dist/actions/upload-account-files.d.cts.map +1 -0
- package/dist/actions/upload-account-files.d.mts +9 -0
- package/dist/actions/upload-account-files.d.mts.map +1 -0
- package/dist/actions/upload-account-files.mjs +28 -0
- package/dist/actions/upload-account-files.mjs.map +1 -0
- package/dist/app.cjs +9 -0
- package/dist/app.cjs.map +1 -0
- package/dist/app.d.cts +5 -0
- package/dist/app.d.cts.map +1 -0
- package/dist/app.d.mts +5 -0
- package/dist/app.d.mts.map +1 -0
- package/dist/app.mjs +10 -0
- package/dist/app.mjs.map +1 -0
- package/dist/catalog.cjs +15 -0
- package/dist/catalog.cjs.map +1 -0
- package/dist/catalog.d.cts +14 -0
- package/dist/catalog.d.cts.map +1 -0
- package/dist/catalog.d.mts +14 -0
- package/dist/catalog.d.mts.map +1 -0
- package/dist/catalog.mjs +15 -0
- package/dist/catalog.mjs.map +1 -0
- package/dist/execute.cjs +18 -0
- package/dist/execute.cjs.map +1 -0
- package/dist/execute.mjs +18 -0
- package/dist/execute.mjs.map +1 -0
- package/dist/index.cjs +30 -0
- package/dist/index.d.cts +15 -0
- package/dist/index.d.mts +15 -0
- package/dist/index.mjs +16 -0
- package/package.json +49 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { action } from "../action.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
const pylonMcpGetMe = action("PYLON_MCP_GET_ME", {
|
|
4
|
+
slug: "pylon_mcp-get-me",
|
|
5
|
+
name: "Get me",
|
|
6
|
+
description: "Get the currently authenticated user's details. Returns the user's name, email, role, and teams. No parameters required.",
|
|
7
|
+
input: z.object({}),
|
|
8
|
+
output: z.object({}).describe("Full user details including name, email, role, and teams.")
|
|
9
|
+
});
|
|
10
|
+
//#endregion
|
|
11
|
+
export { pylonMcpGetMe };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=get-me.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-me.mjs","names":[],"sources":["../../src/actions/get-me.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PylonMcpGetMeInput: z.ZodTypeAny = z.object({});\nexport const PylonMcpGetMeOutput: z.ZodTypeAny = z.object({}).describe(\"Full user details including name, email, role, and teams.\");\n\nexport const pylonMcpGetMe = action(\"PYLON_MCP_GET_ME\", {\n slug: \"pylon_mcp-get-me\",\n name: \"Get me\",\n description: \"Get the currently authenticated user's details. Returns the user's name, email, role, and teams. No parameters required.\",\n input: PylonMcpGetMeInput,\n output: PylonMcpGetMeOutput,\n});\n"],"mappings":";;AAOA,MAAa,gBAAgB,OAAO,oBAAoB;CACtD,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAP8C,EAAE,OAAO,CAAC,CAOjD;CACP,QAP+C,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,2DAO7D;AACV,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const require_action = require("../action.cjs");
|
|
2
|
+
let zod = require("zod");
|
|
3
|
+
//#region src/actions/get-user.ts
|
|
4
|
+
const PylonMcpGetUserInput = zod.z.object({ user: zod.z.string().describe("The user ID (UUID).") });
|
|
5
|
+
const PylonMcpGetUserOutput = zod.z.object({}).describe("Full user details including name, email, role, and teams.");
|
|
6
|
+
const pylonMcpGetUser = require_action.action("PYLON_MCP_GET_USER", {
|
|
7
|
+
slug: "pylon_mcp-get-user",
|
|
8
|
+
name: "Get user",
|
|
9
|
+
description: "Get full details for a Pylon user (team member). Pass the user ID (UUID). Returns user details including name, email, role, and teams.",
|
|
10
|
+
input: PylonMcpGetUserInput,
|
|
11
|
+
output: PylonMcpGetUserOutput
|
|
12
|
+
});
|
|
13
|
+
//#endregion
|
|
14
|
+
exports.pylonMcpGetUser = pylonMcpGetUser;
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=get-user.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-user.cjs","names":["z","action"],"sources":["../../src/actions/get-user.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PylonMcpGetUserInput: z.ZodTypeAny = z.object({\n user: z.string().describe(\"The user ID (UUID).\"),\n});\nexport const PylonMcpGetUserOutput: z.ZodTypeAny = z.object({}).describe(\"Full user details including name, email, role, and teams.\");\n\nexport const pylonMcpGetUser = action(\"PYLON_MCP_GET_USER\", {\n slug: \"pylon_mcp-get-user\",\n name: \"Get user\",\n description: \"Get full details for a Pylon user (team member). Pass the user ID (UUID). Returns user details including name, email, role, and teams.\",\n input: PylonMcpGetUserInput,\n output: PylonMcpGetUserOutput,\n});\n"],"mappings":";;;AAIA,MAAa,uBAAqCA,IAAAA,EAAE,OAAO,EACzD,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qBAAqB,EACjD,CAAC;AACD,MAAa,wBAAsCA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,2DAA2D;AAEpI,MAAa,kBAAkBC,eAAAA,OAAO,sBAAsB;CAC1D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/get-user.d.ts
|
|
4
|
+
declare const PylonMcpGetUserInput: z.ZodTypeAny;
|
|
5
|
+
declare const PylonMcpGetUserOutput: z.ZodTypeAny;
|
|
6
|
+
declare const pylonMcpGetUser: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { pylonMcpGetUser };
|
|
9
|
+
//# sourceMappingURL=get-user.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-user.d.cts","names":[],"sources":["../../src/actions/get-user.ts"],"mappings":";;;cAIa,oBAAA,EAAsB,CAAA,CAAE,UAEnC;AAAA,cACW,qBAAA,EAAuB,CAAA,CAAE,UAA+F;AAAA,cAExH,eAAA,gCAAe,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/get-user.d.ts
|
|
4
|
+
declare const PylonMcpGetUserInput: z.ZodTypeAny;
|
|
5
|
+
declare const PylonMcpGetUserOutput: z.ZodTypeAny;
|
|
6
|
+
declare const pylonMcpGetUser: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { pylonMcpGetUser };
|
|
9
|
+
//# sourceMappingURL=get-user.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-user.d.mts","names":[],"sources":["../../src/actions/get-user.ts"],"mappings":";;;cAIa,oBAAA,EAAsB,CAAA,CAAE,UAEnC;AAAA,cACW,qBAAA,EAAuB,CAAA,CAAE,UAA+F;AAAA,cAExH,eAAA,gCAAe,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { action } from "../action.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
const pylonMcpGetUser = action("PYLON_MCP_GET_USER", {
|
|
4
|
+
slug: "pylon_mcp-get-user",
|
|
5
|
+
name: "Get user",
|
|
6
|
+
description: "Get full details for a Pylon user (team member). Pass the user ID (UUID). Returns user details including name, email, role, and teams.",
|
|
7
|
+
input: z.object({ user: z.string().describe("The user ID (UUID).") }),
|
|
8
|
+
output: z.object({}).describe("Full user details including name, email, role, and teams.")
|
|
9
|
+
});
|
|
10
|
+
//#endregion
|
|
11
|
+
export { pylonMcpGetUser };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=get-user.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-user.mjs","names":[],"sources":["../../src/actions/get-user.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PylonMcpGetUserInput: z.ZodTypeAny = z.object({\n user: z.string().describe(\"The user ID (UUID).\"),\n});\nexport const PylonMcpGetUserOutput: z.ZodTypeAny = z.object({}).describe(\"Full user details including name, email, role, and teams.\");\n\nexport const pylonMcpGetUser = action(\"PYLON_MCP_GET_USER\", {\n slug: \"pylon_mcp-get-user\",\n name: \"Get user\",\n description: \"Get full details for a Pylon user (team member). Pass the user ID (UUID). Returns user details including name, email, role, and teams.\",\n input: PylonMcpGetUserInput,\n output: PylonMcpGetUserOutput,\n});\n"],"mappings":";;AASA,MAAa,kBAAkB,OAAO,sBAAsB;CAC1D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OATgD,EAAE,OAAO,EACzD,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,qBAAqB,EACjD,CAOS;CACP,QAPiD,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,2DAO/D;AACV,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_create_issue = require("./create-issue.cjs");
|
|
3
|
+
const require_get_account = require("./get-account.cjs");
|
|
4
|
+
const require_get_contact = require("./get-contact.cjs");
|
|
5
|
+
const require_get_issue = require("./get-issue.cjs");
|
|
6
|
+
const require_get_issue_messages = require("./get-issue-messages.cjs");
|
|
7
|
+
const require_get_me = require("./get-me.cjs");
|
|
8
|
+
const require_get_user = require("./get-user.cjs");
|
|
9
|
+
const require_search_accounts = require("./search-accounts.cjs");
|
|
10
|
+
const require_search_issues = require("./search-issues.cjs");
|
|
11
|
+
const require_update_account = require("./update-account.cjs");
|
|
12
|
+
const require_update_issue = require("./update-issue.cjs");
|
|
13
|
+
const require_upload_account_files = require("./upload-account-files.cjs");
|
|
14
|
+
exports.pylonMcpCreateIssue = require_create_issue.pylonMcpCreateIssue;
|
|
15
|
+
exports.pylonMcpGetAccount = require_get_account.pylonMcpGetAccount;
|
|
16
|
+
exports.pylonMcpGetContact = require_get_contact.pylonMcpGetContact;
|
|
17
|
+
exports.pylonMcpGetIssue = require_get_issue.pylonMcpGetIssue;
|
|
18
|
+
exports.pylonMcpGetIssueMessages = require_get_issue_messages.pylonMcpGetIssueMessages;
|
|
19
|
+
exports.pylonMcpGetMe = require_get_me.pylonMcpGetMe;
|
|
20
|
+
exports.pylonMcpGetUser = require_get_user.pylonMcpGetUser;
|
|
21
|
+
exports.pylonMcpSearchAccounts = require_search_accounts.pylonMcpSearchAccounts;
|
|
22
|
+
exports.pylonMcpSearchIssues = require_search_issues.pylonMcpSearchIssues;
|
|
23
|
+
exports.pylonMcpUpdateAccount = require_update_account.pylonMcpUpdateAccount;
|
|
24
|
+
exports.pylonMcpUpdateIssue = require_update_issue.pylonMcpUpdateIssue;
|
|
25
|
+
exports.pylonMcpUploadAccountFiles = require_upload_account_files.pylonMcpUploadAccountFiles;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { pylonMcpCreateIssue } from "./create-issue.cjs";
|
|
2
|
+
import { pylonMcpGetAccount } from "./get-account.cjs";
|
|
3
|
+
import { pylonMcpGetContact } from "./get-contact.cjs";
|
|
4
|
+
import { pylonMcpGetIssue } from "./get-issue.cjs";
|
|
5
|
+
import { pylonMcpGetIssueMessages } from "./get-issue-messages.cjs";
|
|
6
|
+
import { pylonMcpGetMe } from "./get-me.cjs";
|
|
7
|
+
import { pylonMcpGetUser } from "./get-user.cjs";
|
|
8
|
+
import { pylonMcpSearchAccounts } from "./search-accounts.cjs";
|
|
9
|
+
import { pylonMcpSearchIssues } from "./search-issues.cjs";
|
|
10
|
+
import { pylonMcpUpdateAccount } from "./update-account.cjs";
|
|
11
|
+
import { pylonMcpUpdateIssue } from "./update-issue.cjs";
|
|
12
|
+
import { pylonMcpUploadAccountFiles } from "./upload-account-files.cjs";
|
|
13
|
+
export { pylonMcpCreateIssue, pylonMcpGetAccount, pylonMcpGetContact, pylonMcpGetIssue, pylonMcpGetIssueMessages, pylonMcpGetMe, pylonMcpGetUser, pylonMcpSearchAccounts, pylonMcpSearchIssues, pylonMcpUpdateAccount, pylonMcpUpdateIssue, pylonMcpUploadAccountFiles };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { pylonMcpCreateIssue } from "./create-issue.mjs";
|
|
2
|
+
import { pylonMcpGetAccount } from "./get-account.mjs";
|
|
3
|
+
import { pylonMcpGetContact } from "./get-contact.mjs";
|
|
4
|
+
import { pylonMcpGetIssue } from "./get-issue.mjs";
|
|
5
|
+
import { pylonMcpGetIssueMessages } from "./get-issue-messages.mjs";
|
|
6
|
+
import { pylonMcpGetMe } from "./get-me.mjs";
|
|
7
|
+
import { pylonMcpGetUser } from "./get-user.mjs";
|
|
8
|
+
import { pylonMcpSearchAccounts } from "./search-accounts.mjs";
|
|
9
|
+
import { pylonMcpSearchIssues } from "./search-issues.mjs";
|
|
10
|
+
import { pylonMcpUpdateAccount } from "./update-account.mjs";
|
|
11
|
+
import { pylonMcpUpdateIssue } from "./update-issue.mjs";
|
|
12
|
+
import { pylonMcpUploadAccountFiles } from "./upload-account-files.mjs";
|
|
13
|
+
export { pylonMcpCreateIssue, pylonMcpGetAccount, pylonMcpGetContact, pylonMcpGetIssue, pylonMcpGetIssueMessages, pylonMcpGetMe, pylonMcpGetUser, pylonMcpSearchAccounts, pylonMcpSearchIssues, pylonMcpUpdateAccount, pylonMcpUpdateIssue, pylonMcpUploadAccountFiles };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { pylonMcpCreateIssue } from "./create-issue.mjs";
|
|
2
|
+
import { pylonMcpGetAccount } from "./get-account.mjs";
|
|
3
|
+
import { pylonMcpGetContact } from "./get-contact.mjs";
|
|
4
|
+
import { pylonMcpGetIssue } from "./get-issue.mjs";
|
|
5
|
+
import { pylonMcpGetIssueMessages } from "./get-issue-messages.mjs";
|
|
6
|
+
import { pylonMcpGetMe } from "./get-me.mjs";
|
|
7
|
+
import { pylonMcpGetUser } from "./get-user.mjs";
|
|
8
|
+
import { pylonMcpSearchAccounts } from "./search-accounts.mjs";
|
|
9
|
+
import { pylonMcpSearchIssues } from "./search-issues.mjs";
|
|
10
|
+
import { pylonMcpUpdateAccount } from "./update-account.mjs";
|
|
11
|
+
import { pylonMcpUpdateIssue } from "./update-issue.mjs";
|
|
12
|
+
import { pylonMcpUploadAccountFiles } from "./upload-account-files.mjs";
|
|
13
|
+
export { pylonMcpCreateIssue, pylonMcpGetAccount, pylonMcpGetContact, pylonMcpGetIssue, pylonMcpGetIssueMessages, pylonMcpGetMe, pylonMcpGetUser, pylonMcpSearchAccounts, pylonMcpSearchIssues, pylonMcpUpdateAccount, pylonMcpUpdateIssue, pylonMcpUploadAccountFiles };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const require_action = require("../action.cjs");
|
|
2
|
+
let zod = require("zod");
|
|
3
|
+
//#region src/actions/search-accounts.ts
|
|
4
|
+
const PylonMcpSearchAccountsInput = zod.z.object({
|
|
5
|
+
name: zod.z.string().describe("Filter by account name (partial match).").optional(),
|
|
6
|
+
tags: zod.z.unknown().describe("Filter by tags. Returns accounts containing any of the specified tags.").optional(),
|
|
7
|
+
limit: zod.z.number().int().default(25).describe("Maximum number of accounts to return (default 25, max 100).").optional(),
|
|
8
|
+
owner: zod.z.string().describe("Filter by account owner. Accepts a user ID or name (partial match).").optional(),
|
|
9
|
+
cursor: zod.z.string().describe("Cursor for pagination. Use the cursor from a previous response to get the next page.").optional(),
|
|
10
|
+
domain: zod.z.string().describe("Filter by domain (accounts containing this domain).").optional(),
|
|
11
|
+
external_id: zod.z.string().describe("Filter by external ID.").optional(),
|
|
12
|
+
custom_field_filters: zod.z.unknown().describe("Filter by custom fields. Each filter specifies a custom field slug, operator, and value(s). For user-type fields, pass a Pylon user name or ID as the value - names will be resolved to Pylon user IDs automatically.").optional()
|
|
13
|
+
});
|
|
14
|
+
const PylonMcpSearchAccountsOutput = zod.z.object({
|
|
15
|
+
count: zod.z.number().int().describe("The number of accounts returned."),
|
|
16
|
+
cursor: zod.z.string().describe("Cursor for the next page. Pass this as the cursor input to get more results.").nullable().optional(),
|
|
17
|
+
accounts: zod.z.array(zod.z.object({
|
|
18
|
+
id: zod.z.string().describe("The unique ID of the account."),
|
|
19
|
+
name: zod.z.string().describe("The name of the account."),
|
|
20
|
+
tags: zod.z.array(zod.z.string()).describe("Tags on the account.").nullable().optional(),
|
|
21
|
+
domain: zod.z.string().describe("The primary domain of the account.").nullable().optional(),
|
|
22
|
+
channels: zod.z.array(zod.z.string()).describe("Linked channels in format source:channelId.").nullable().optional(),
|
|
23
|
+
owner_id: zod.z.string().describe("The owner user ID.").nullable().optional()
|
|
24
|
+
})).describe("Lightweight account summaries. Use account://{id} resource for full details."),
|
|
25
|
+
has_next_page: zod.z.boolean().describe("Whether there are more results available.")
|
|
26
|
+
});
|
|
27
|
+
const pylonMcpSearchAccounts = require_action.action("PYLON_MCP_SEARCH_ACCOUNTS", {
|
|
28
|
+
slug: "pylon_mcp-search-accounts",
|
|
29
|
+
name: "Search accounts",
|
|
30
|
+
description: "Search for customer accounts in Pylon. Returns a lightweight summary of accounts matching the specified filters. Supports filtering by custom fields using the custom_field_filters parameter - pass the custom field slug as the field name. For user-type custom fields (e.g. Salesforce AE owner), you can pass a Pylon user name or user ID as the value. Supports cursor-based pagination - use the returned cursor to fetch additional pages. To get full account details including custom fields, external IDs, and linked channels, use the account resource: account://{accountId}",
|
|
31
|
+
input: PylonMcpSearchAccountsInput,
|
|
32
|
+
output: PylonMcpSearchAccountsOutput
|
|
33
|
+
});
|
|
34
|
+
//#endregion
|
|
35
|
+
exports.pylonMcpSearchAccounts = pylonMcpSearchAccounts;
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=search-accounts.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-accounts.cjs","names":["z","action"],"sources":["../../src/actions/search-accounts.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PylonMcpSearchAccountsInput: z.ZodTypeAny = z.object({\n name: z.string().describe(\"Filter by account name (partial match).\").optional(),\n tags: z.unknown().describe(\"Filter by tags. Returns accounts containing any of the specified tags.\").optional(),\n limit: z.number().int().default(25).describe(\"Maximum number of accounts to return (default 25, max 100).\").optional(),\n owner: z.string().describe(\"Filter by account owner. Accepts a user ID or name (partial match).\").optional(),\n cursor: z.string().describe(\"Cursor for pagination. Use the cursor from a previous response to get the next page.\").optional(),\n domain: z.string().describe(\"Filter by domain (accounts containing this domain).\").optional(),\n external_id: z.string().describe(\"Filter by external ID.\").optional(),\n custom_field_filters: z.unknown().describe(\"Filter by custom fields. Each filter specifies a custom field slug, operator, and value(s). For user-type fields, pass a Pylon user name or ID as the value - names will be resolved to Pylon user IDs automatically.\").optional(),\n});\nexport const PylonMcpSearchAccountsOutput: z.ZodTypeAny = z.object({\n count: z.number().int().describe(\"The number of accounts returned.\"),\n cursor: z.string().describe(\"Cursor for the next page. Pass this as the cursor input to get more results.\").nullable().optional(),\n accounts: z.array(z.object({\n id: z.string().describe(\"The unique ID of the account.\"),\n name: z.string().describe(\"The name of the account.\"),\n tags: z.array(z.string()).describe(\"Tags on the account.\").nullable().optional(),\n domain: z.string().describe(\"The primary domain of the account.\").nullable().optional(),\n channels: z.array(z.string()).describe(\"Linked channels in format source:channelId.\").nullable().optional(),\n owner_id: z.string().describe(\"The owner user ID.\").nullable().optional(),\n})).describe(\"Lightweight account summaries. Use account://{id} resource for full details.\"),\n has_next_page: z.boolean().describe(\"Whether there are more results available.\"),\n});\n\nexport const pylonMcpSearchAccounts = action(\"PYLON_MCP_SEARCH_ACCOUNTS\", {\n slug: \"pylon_mcp-search-accounts\",\n name: \"Search accounts\",\n description: \"Search for customer accounts in Pylon. Returns a lightweight summary of accounts matching the specified filters. Supports filtering by custom fields using the custom_field_filters parameter - pass the custom field slug as the field name. For user-type custom fields (e.g. Salesforce AE owner), you can pass a Pylon user name or user ID as the value. Supports cursor-based pagination - use the returned cursor to fetch additional pages. To get full account details including custom fields, external IDs, and linked channels, use the account resource: account://{accountId}\",\n input: PylonMcpSearchAccountsInput,\n output: PylonMcpSearchAccountsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,8BAA4CA,IAAAA,EAAE,OAAO;CAChE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS;CAC9E,MAAMA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;CAC9G,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS;CACrH,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qEAAqE,CAAC,CAAC,SAAS;CAC3G,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;CAC7H,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS;CAC5F,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS;CACpE,sBAAsBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,uNAAuN,CAAC,CAAC,SAAS;AAC/Q,CAAC;AACD,MAAa,+BAA6CA,IAAAA,EAAE,OAAO;CACjE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kCAAkC;CACnE,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChI,UAAUA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO;EAC3B,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B;EACvD,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B;EACpD,MAAMA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC/E,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtF,UAAUA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC1G,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1E,CAAC,CAAC,CAAC,CAAC,SAAS,8EAA8E;CACzF,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,2CAA2C;AACjF,CAAC;AAED,MAAa,yBAAyBC,eAAAA,OAAO,6BAA6B;CACxE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/search-accounts.d.ts
|
|
4
|
+
declare const PylonMcpSearchAccountsInput: z.ZodTypeAny;
|
|
5
|
+
declare const PylonMcpSearchAccountsOutput: z.ZodTypeAny;
|
|
6
|
+
declare const pylonMcpSearchAccounts: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { pylonMcpSearchAccounts };
|
|
9
|
+
//# sourceMappingURL=search-accounts.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-accounts.d.cts","names":[],"sources":["../../src/actions/search-accounts.ts"],"mappings":";;;cAIa,2BAAA,EAA6B,CAAA,CAAE,UAS1C;AAAA,cACW,4BAAA,EAA8B,CAAA,CAAE,UAY3C;AAAA,cAEW,sBAAA,gCAAsB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/search-accounts.d.ts
|
|
4
|
+
declare const PylonMcpSearchAccountsInput: z.ZodTypeAny;
|
|
5
|
+
declare const PylonMcpSearchAccountsOutput: z.ZodTypeAny;
|
|
6
|
+
declare const pylonMcpSearchAccounts: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { pylonMcpSearchAccounts };
|
|
9
|
+
//# sourceMappingURL=search-accounts.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-accounts.d.mts","names":[],"sources":["../../src/actions/search-accounts.ts"],"mappings":";;;cAIa,2BAAA,EAA6B,CAAA,CAAE,UAS1C;AAAA,cACW,4BAAA,EAA8B,CAAA,CAAE,UAY3C;AAAA,cAEW,sBAAA,gCAAsB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { action } from "../action.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
const pylonMcpSearchAccounts = action("PYLON_MCP_SEARCH_ACCOUNTS", {
|
|
4
|
+
slug: "pylon_mcp-search-accounts",
|
|
5
|
+
name: "Search accounts",
|
|
6
|
+
description: "Search for customer accounts in Pylon. Returns a lightweight summary of accounts matching the specified filters. Supports filtering by custom fields using the custom_field_filters parameter - pass the custom field slug as the field name. For user-type custom fields (e.g. Salesforce AE owner), you can pass a Pylon user name or user ID as the value. Supports cursor-based pagination - use the returned cursor to fetch additional pages. To get full account details including custom fields, external IDs, and linked channels, use the account resource: account://{accountId}",
|
|
7
|
+
input: z.object({
|
|
8
|
+
name: z.string().describe("Filter by account name (partial match).").optional(),
|
|
9
|
+
tags: z.unknown().describe("Filter by tags. Returns accounts containing any of the specified tags.").optional(),
|
|
10
|
+
limit: z.number().int().default(25).describe("Maximum number of accounts to return (default 25, max 100).").optional(),
|
|
11
|
+
owner: z.string().describe("Filter by account owner. Accepts a user ID or name (partial match).").optional(),
|
|
12
|
+
cursor: z.string().describe("Cursor for pagination. Use the cursor from a previous response to get the next page.").optional(),
|
|
13
|
+
domain: z.string().describe("Filter by domain (accounts containing this domain).").optional(),
|
|
14
|
+
external_id: z.string().describe("Filter by external ID.").optional(),
|
|
15
|
+
custom_field_filters: z.unknown().describe("Filter by custom fields. Each filter specifies a custom field slug, operator, and value(s). For user-type fields, pass a Pylon user name or ID as the value - names will be resolved to Pylon user IDs automatically.").optional()
|
|
16
|
+
}),
|
|
17
|
+
output: z.object({
|
|
18
|
+
count: z.number().int().describe("The number of accounts returned."),
|
|
19
|
+
cursor: z.string().describe("Cursor for the next page. Pass this as the cursor input to get more results.").nullable().optional(),
|
|
20
|
+
accounts: z.array(z.object({
|
|
21
|
+
id: z.string().describe("The unique ID of the account."),
|
|
22
|
+
name: z.string().describe("The name of the account."),
|
|
23
|
+
tags: z.array(z.string()).describe("Tags on the account.").nullable().optional(),
|
|
24
|
+
domain: z.string().describe("The primary domain of the account.").nullable().optional(),
|
|
25
|
+
channels: z.array(z.string()).describe("Linked channels in format source:channelId.").nullable().optional(),
|
|
26
|
+
owner_id: z.string().describe("The owner user ID.").nullable().optional()
|
|
27
|
+
})).describe("Lightweight account summaries. Use account://{id} resource for full details."),
|
|
28
|
+
has_next_page: z.boolean().describe("Whether there are more results available.")
|
|
29
|
+
})
|
|
30
|
+
});
|
|
31
|
+
//#endregion
|
|
32
|
+
export { pylonMcpSearchAccounts };
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=search-accounts.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-accounts.mjs","names":[],"sources":["../../src/actions/search-accounts.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PylonMcpSearchAccountsInput: z.ZodTypeAny = z.object({\n name: z.string().describe(\"Filter by account name (partial match).\").optional(),\n tags: z.unknown().describe(\"Filter by tags. Returns accounts containing any of the specified tags.\").optional(),\n limit: z.number().int().default(25).describe(\"Maximum number of accounts to return (default 25, max 100).\").optional(),\n owner: z.string().describe(\"Filter by account owner. Accepts a user ID or name (partial match).\").optional(),\n cursor: z.string().describe(\"Cursor for pagination. Use the cursor from a previous response to get the next page.\").optional(),\n domain: z.string().describe(\"Filter by domain (accounts containing this domain).\").optional(),\n external_id: z.string().describe(\"Filter by external ID.\").optional(),\n custom_field_filters: z.unknown().describe(\"Filter by custom fields. Each filter specifies a custom field slug, operator, and value(s). For user-type fields, pass a Pylon user name or ID as the value - names will be resolved to Pylon user IDs automatically.\").optional(),\n});\nexport const PylonMcpSearchAccountsOutput: z.ZodTypeAny = z.object({\n count: z.number().int().describe(\"The number of accounts returned.\"),\n cursor: z.string().describe(\"Cursor for the next page. Pass this as the cursor input to get more results.\").nullable().optional(),\n accounts: z.array(z.object({\n id: z.string().describe(\"The unique ID of the account.\"),\n name: z.string().describe(\"The name of the account.\"),\n tags: z.array(z.string()).describe(\"Tags on the account.\").nullable().optional(),\n domain: z.string().describe(\"The primary domain of the account.\").nullable().optional(),\n channels: z.array(z.string()).describe(\"Linked channels in format source:channelId.\").nullable().optional(),\n owner_id: z.string().describe(\"The owner user ID.\").nullable().optional(),\n})).describe(\"Lightweight account summaries. Use account://{id} resource for full details.\"),\n has_next_page: z.boolean().describe(\"Whether there are more results available.\"),\n});\n\nexport const pylonMcpSearchAccounts = action(\"PYLON_MCP_SEARCH_ACCOUNTS\", {\n slug: \"pylon_mcp-search-accounts\",\n name: \"Search accounts\",\n description: \"Search for customer accounts in Pylon. Returns a lightweight summary of accounts matching the specified filters. Supports filtering by custom fields using the custom_field_filters parameter - pass the custom field slug as the field name. For user-type custom fields (e.g. Salesforce AE owner), you can pass a Pylon user name or user ID as the value. Supports cursor-based pagination - use the returned cursor to fetch additional pages. To get full account details including custom fields, external IDs, and linked channels, use the account resource: account://{accountId}\",\n input: PylonMcpSearchAccountsInput,\n output: PylonMcpSearchAccountsOutput,\n});\n"],"mappings":";;AA4BA,MAAa,yBAAyB,OAAO,6BAA6B;CACxE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OA5BuD,EAAE,OAAO;EAChE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS;EAC9E,MAAM,EAAE,QAAQ,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;EAC9G,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS;EACrH,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,qEAAqE,CAAC,CAAC,SAAS;EAC3G,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;EAC7H,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS;EAC5F,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS;EACpE,sBAAsB,EAAE,QAAQ,CAAC,CAAC,SAAS,uNAAuN,CAAC,CAAC,SAAS;CAC/Q,CAmBS;CACP,QAnBwD,EAAE,OAAO;EACjE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kCAAkC;EACnE,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAChI,UAAU,EAAE,MAAM,EAAE,OAAO;GAC3B,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B;GACvD,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B;GACpD,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;GAC/E,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;GACtF,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;GAC1G,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC1E,CAAC,CAAC,CAAC,CAAC,SAAS,8EAA8E;EACzF,eAAe,EAAE,QAAQ,CAAC,CAAC,SAAS,2CAA2C;CACjF,CAOU;AACV,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
const require_action = require("../action.cjs");
|
|
2
|
+
let zod = require("zod");
|
|
3
|
+
//#region src/actions/search-issues.ts
|
|
4
|
+
const PylonMcpSearchIssuesInput = zod.z.object({
|
|
5
|
+
tags: zod.z.unknown().describe("Filter by tags. Returns issues containing any of the specified tags.").optional(),
|
|
6
|
+
type: zod.z.enum(["conversation", "ticket"]).describe("Filter by issue type.").optional(),
|
|
7
|
+
limit: zod.z.number().int().default(25).describe("Maximum number of issues to return (default 25, max 100).").optional(),
|
|
8
|
+
cursor: zod.z.string().describe("Cursor for pagination. Use the cursor from a previous response to get the next page.").optional(),
|
|
9
|
+
states: zod.z.unknown().describe("Filter by issue states.").optional(),
|
|
10
|
+
account: zod.z.string().describe("Filter by account. Accepts either an account ID or a name (partial match).").optional(),
|
|
11
|
+
assignee: zod.z.string().describe("Filter by assignee. Accepts either a user ID or a name (partial match).").optional(),
|
|
12
|
+
requester: zod.z.string().describe("Filter by requester. Accepts either a contact ID or a name (partial match).").optional(),
|
|
13
|
+
created_after: zod.z.string().describe("Filter for issues created after this time (RFC3339 format).").optional(),
|
|
14
|
+
created_before: zod.z.string().describe("Filter for issues created before this time (RFC3339 format).").optional()
|
|
15
|
+
});
|
|
16
|
+
const PylonMcpSearchIssuesOutput = zod.z.object({
|
|
17
|
+
count: zod.z.number().int().describe("The number of issues returned."),
|
|
18
|
+
cursor: zod.z.string().describe("Cursor for the next page. Pass this as the cursor input to get more results.").nullable().optional(),
|
|
19
|
+
issues: zod.z.array(zod.z.object({
|
|
20
|
+
id: zod.z.string().describe("The unique ID of the issue."),
|
|
21
|
+
tags: zod.z.array(zod.z.string()).describe("Tags on the issue.").nullable().optional(),
|
|
22
|
+
type: zod.z.string().describe("The type (Conversation or Ticket)."),
|
|
23
|
+
state: zod.z.string().describe("The state of the issue."),
|
|
24
|
+
title: zod.z.string().describe("The title of the issue."),
|
|
25
|
+
number: zod.z.number().int().describe("The issue number."),
|
|
26
|
+
source: zod.z.string().describe("The source of the issue."),
|
|
27
|
+
account_id: zod.z.string().describe("The associated account ID.").nullable().optional(),
|
|
28
|
+
created_at: zod.z.string().describe("When the issue was created."),
|
|
29
|
+
assignee_id: zod.z.string().describe("The assigned user ID.").nullable().optional(),
|
|
30
|
+
latest_message_time: zod.z.string().describe("Time of the latest message.").nullable().optional()
|
|
31
|
+
})).describe("Lightweight issue summaries. Use issue://{id} resource for full details."),
|
|
32
|
+
has_next_page: zod.z.boolean().describe("Whether there are more results available.")
|
|
33
|
+
});
|
|
34
|
+
const pylonMcpSearchIssues = require_action.action("PYLON_MCP_SEARCH_ISSUES", {
|
|
35
|
+
slug: "pylon_mcp-search-issues",
|
|
36
|
+
name: "Search issues",
|
|
37
|
+
description: "Search for issues/tickets in Pylon. Returns a lightweight summary of issues matching the specified filters. Supports cursor-based pagination - use the returned cursor to fetch additional pages. To get full issue details including body, custom fields, and nested account/assignee/requester info, use the issue resource: issue://{issueId}",
|
|
38
|
+
input: PylonMcpSearchIssuesInput,
|
|
39
|
+
output: PylonMcpSearchIssuesOutput
|
|
40
|
+
});
|
|
41
|
+
//#endregion
|
|
42
|
+
exports.pylonMcpSearchIssues = pylonMcpSearchIssues;
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=search-issues.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-issues.cjs","names":["z","action"],"sources":["../../src/actions/search-issues.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PylonMcpSearchIssuesInput: z.ZodTypeAny = z.object({\n tags: z.unknown().describe(\"Filter by tags. Returns issues containing any of the specified tags.\").optional(),\n type: z.enum([\"conversation\", \"ticket\"]).describe(\"Filter by issue type.\").optional(),\n limit: z.number().int().default(25).describe(\"Maximum number of issues to return (default 25, max 100).\").optional(),\n cursor: z.string().describe(\"Cursor for pagination. Use the cursor from a previous response to get the next page.\").optional(),\n states: z.unknown().describe(\"Filter by issue states.\").optional(),\n account: z.string().describe(\"Filter by account. Accepts either an account ID or a name (partial match).\").optional(),\n assignee: z.string().describe(\"Filter by assignee. Accepts either a user ID or a name (partial match).\").optional(),\n requester: z.string().describe(\"Filter by requester. Accepts either a contact ID or a name (partial match).\").optional(),\n created_after: z.string().describe(\"Filter for issues created after this time (RFC3339 format).\").optional(),\n created_before: z.string().describe(\"Filter for issues created before this time (RFC3339 format).\").optional(),\n});\nexport const PylonMcpSearchIssuesOutput: z.ZodTypeAny = z.object({\n count: z.number().int().describe(\"The number of issues returned.\"),\n cursor: z.string().describe(\"Cursor for the next page. Pass this as the cursor input to get more results.\").nullable().optional(),\n issues: z.array(z.object({\n id: z.string().describe(\"The unique ID of the issue.\"),\n tags: z.array(z.string()).describe(\"Tags on the issue.\").nullable().optional(),\n type: z.string().describe(\"The type (Conversation or Ticket).\"),\n state: z.string().describe(\"The state of the issue.\"),\n title: z.string().describe(\"The title of the issue.\"),\n number: z.number().int().describe(\"The issue number.\"),\n source: z.string().describe(\"The source of the issue.\"),\n account_id: z.string().describe(\"The associated account ID.\").nullable().optional(),\n created_at: z.string().describe(\"When the issue was created.\"),\n assignee_id: z.string().describe(\"The assigned user ID.\").nullable().optional(),\n latest_message_time: z.string().describe(\"Time of the latest message.\").nullable().optional(),\n})).describe(\"Lightweight issue summaries. Use issue://{id} resource for full details.\"),\n has_next_page: z.boolean().describe(\"Whether there are more results available.\"),\n});\n\nexport const pylonMcpSearchIssues = action(\"PYLON_MCP_SEARCH_ISSUES\", {\n slug: \"pylon_mcp-search-issues\",\n name: \"Search issues\",\n description: \"Search for issues/tickets in Pylon. Returns a lightweight summary of issues matching the specified filters. Supports cursor-based pagination - use the returned cursor to fetch additional pages. To get full issue details including body, custom fields, and nested account/assignee/requester info, use the issue resource: issue://{issueId}\",\n input: PylonMcpSearchIssuesInput,\n output: PylonMcpSearchIssuesOutput,\n});\n"],"mappings":";;;AAIA,MAAa,4BAA0CA,IAAAA,EAAE,OAAO;CAC9D,MAAMA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,sEAAsE,CAAC,CAAC,SAAS;CAC5G,MAAMA,IAAAA,EAAE,KAAK,CAAC,gBAAgB,QAAQ,CAAC,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS;CACpF,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,2DAA2D,CAAC,CAAC,SAAS;CACnH,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;CAC7H,QAAQA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS;CACjE,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4EAA4E,CAAC,CAAC,SAAS;CACpH,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yEAAyE,CAAC,CAAC,SAAS;CAClH,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6EAA6E,CAAC,CAAC,SAAS;CACvH,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS;CAC3G,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS;AAC/G,CAAC;AACD,MAAa,6BAA2CA,IAAAA,EAAE,OAAO;CAC/D,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gCAAgC;CACjE,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChI,QAAQA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO;EACzB,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B;EACrD,MAAMA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC7E,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC;EAC9D,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB;EACpD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB;EACpD,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,mBAAmB;EACrD,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B;EACtD,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAClF,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B;EAC7D,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC9E,qBAAqBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9F,CAAC,CAAC,CAAC,CAAC,SAAS,0EAA0E;CACrF,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,2CAA2C;AACjF,CAAC;AAED,MAAa,uBAAuBC,eAAAA,OAAO,2BAA2B;CACpE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/search-issues.d.ts
|
|
4
|
+
declare const PylonMcpSearchIssuesInput: z.ZodTypeAny;
|
|
5
|
+
declare const PylonMcpSearchIssuesOutput: z.ZodTypeAny;
|
|
6
|
+
declare const pylonMcpSearchIssues: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { pylonMcpSearchIssues };
|
|
9
|
+
//# sourceMappingURL=search-issues.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-issues.d.cts","names":[],"sources":["../../src/actions/search-issues.ts"],"mappings":";;;cAIa,yBAAA,EAA2B,CAAA,CAAE,UAWxC;AAAA,cACW,0BAAA,EAA4B,CAAA,CAAE,UAiBzC;AAAA,cAEW,oBAAA,gCAAoB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/search-issues.d.ts
|
|
4
|
+
declare const PylonMcpSearchIssuesInput: z.ZodTypeAny;
|
|
5
|
+
declare const PylonMcpSearchIssuesOutput: z.ZodTypeAny;
|
|
6
|
+
declare const pylonMcpSearchIssues: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { pylonMcpSearchIssues };
|
|
9
|
+
//# sourceMappingURL=search-issues.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-issues.d.mts","names":[],"sources":["../../src/actions/search-issues.ts"],"mappings":";;;cAIa,yBAAA,EAA2B,CAAA,CAAE,UAWxC;AAAA,cACW,0BAAA,EAA4B,CAAA,CAAE,UAiBzC;AAAA,cAEW,oBAAA,gCAAoB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { action } from "../action.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
const pylonMcpSearchIssues = action("PYLON_MCP_SEARCH_ISSUES", {
|
|
4
|
+
slug: "pylon_mcp-search-issues",
|
|
5
|
+
name: "Search issues",
|
|
6
|
+
description: "Search for issues/tickets in Pylon. Returns a lightweight summary of issues matching the specified filters. Supports cursor-based pagination - use the returned cursor to fetch additional pages. To get full issue details including body, custom fields, and nested account/assignee/requester info, use the issue resource: issue://{issueId}",
|
|
7
|
+
input: z.object({
|
|
8
|
+
tags: z.unknown().describe("Filter by tags. Returns issues containing any of the specified tags.").optional(),
|
|
9
|
+
type: z.enum(["conversation", "ticket"]).describe("Filter by issue type.").optional(),
|
|
10
|
+
limit: z.number().int().default(25).describe("Maximum number of issues to return (default 25, max 100).").optional(),
|
|
11
|
+
cursor: z.string().describe("Cursor for pagination. Use the cursor from a previous response to get the next page.").optional(),
|
|
12
|
+
states: z.unknown().describe("Filter by issue states.").optional(),
|
|
13
|
+
account: z.string().describe("Filter by account. Accepts either an account ID or a name (partial match).").optional(),
|
|
14
|
+
assignee: z.string().describe("Filter by assignee. Accepts either a user ID or a name (partial match).").optional(),
|
|
15
|
+
requester: z.string().describe("Filter by requester. Accepts either a contact ID or a name (partial match).").optional(),
|
|
16
|
+
created_after: z.string().describe("Filter for issues created after this time (RFC3339 format).").optional(),
|
|
17
|
+
created_before: z.string().describe("Filter for issues created before this time (RFC3339 format).").optional()
|
|
18
|
+
}),
|
|
19
|
+
output: z.object({
|
|
20
|
+
count: z.number().int().describe("The number of issues returned."),
|
|
21
|
+
cursor: z.string().describe("Cursor for the next page. Pass this as the cursor input to get more results.").nullable().optional(),
|
|
22
|
+
issues: z.array(z.object({
|
|
23
|
+
id: z.string().describe("The unique ID of the issue."),
|
|
24
|
+
tags: z.array(z.string()).describe("Tags on the issue.").nullable().optional(),
|
|
25
|
+
type: z.string().describe("The type (Conversation or Ticket)."),
|
|
26
|
+
state: z.string().describe("The state of the issue."),
|
|
27
|
+
title: z.string().describe("The title of the issue."),
|
|
28
|
+
number: z.number().int().describe("The issue number."),
|
|
29
|
+
source: z.string().describe("The source of the issue."),
|
|
30
|
+
account_id: z.string().describe("The associated account ID.").nullable().optional(),
|
|
31
|
+
created_at: z.string().describe("When the issue was created."),
|
|
32
|
+
assignee_id: z.string().describe("The assigned user ID.").nullable().optional(),
|
|
33
|
+
latest_message_time: z.string().describe("Time of the latest message.").nullable().optional()
|
|
34
|
+
})).describe("Lightweight issue summaries. Use issue://{id} resource for full details."),
|
|
35
|
+
has_next_page: z.boolean().describe("Whether there are more results available.")
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
//#endregion
|
|
39
|
+
export { pylonMcpSearchIssues };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=search-issues.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-issues.mjs","names":[],"sources":["../../src/actions/search-issues.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PylonMcpSearchIssuesInput: z.ZodTypeAny = z.object({\n tags: z.unknown().describe(\"Filter by tags. Returns issues containing any of the specified tags.\").optional(),\n type: z.enum([\"conversation\", \"ticket\"]).describe(\"Filter by issue type.\").optional(),\n limit: z.number().int().default(25).describe(\"Maximum number of issues to return (default 25, max 100).\").optional(),\n cursor: z.string().describe(\"Cursor for pagination. Use the cursor from a previous response to get the next page.\").optional(),\n states: z.unknown().describe(\"Filter by issue states.\").optional(),\n account: z.string().describe(\"Filter by account. Accepts either an account ID or a name (partial match).\").optional(),\n assignee: z.string().describe(\"Filter by assignee. Accepts either a user ID or a name (partial match).\").optional(),\n requester: z.string().describe(\"Filter by requester. Accepts either a contact ID or a name (partial match).\").optional(),\n created_after: z.string().describe(\"Filter for issues created after this time (RFC3339 format).\").optional(),\n created_before: z.string().describe(\"Filter for issues created before this time (RFC3339 format).\").optional(),\n});\nexport const PylonMcpSearchIssuesOutput: z.ZodTypeAny = z.object({\n count: z.number().int().describe(\"The number of issues returned.\"),\n cursor: z.string().describe(\"Cursor for the next page. Pass this as the cursor input to get more results.\").nullable().optional(),\n issues: z.array(z.object({\n id: z.string().describe(\"The unique ID of the issue.\"),\n tags: z.array(z.string()).describe(\"Tags on the issue.\").nullable().optional(),\n type: z.string().describe(\"The type (Conversation or Ticket).\"),\n state: z.string().describe(\"The state of the issue.\"),\n title: z.string().describe(\"The title of the issue.\"),\n number: z.number().int().describe(\"The issue number.\"),\n source: z.string().describe(\"The source of the issue.\"),\n account_id: z.string().describe(\"The associated account ID.\").nullable().optional(),\n created_at: z.string().describe(\"When the issue was created.\"),\n assignee_id: z.string().describe(\"The assigned user ID.\").nullable().optional(),\n latest_message_time: z.string().describe(\"Time of the latest message.\").nullable().optional(),\n})).describe(\"Lightweight issue summaries. Use issue://{id} resource for full details.\"),\n has_next_page: z.boolean().describe(\"Whether there are more results available.\"),\n});\n\nexport const pylonMcpSearchIssues = action(\"PYLON_MCP_SEARCH_ISSUES\", {\n slug: \"pylon_mcp-search-issues\",\n name: \"Search issues\",\n description: \"Search for issues/tickets in Pylon. Returns a lightweight summary of issues matching the specified filters. Supports cursor-based pagination - use the returned cursor to fetch additional pages. To get full issue details including body, custom fields, and nested account/assignee/requester info, use the issue resource: issue://{issueId}\",\n input: PylonMcpSearchIssuesInput,\n output: PylonMcpSearchIssuesOutput,\n});\n"],"mappings":";;AAmCA,MAAa,uBAAuB,OAAO,2BAA2B;CACpE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAnCqD,EAAE,OAAO;EAC9D,MAAM,EAAE,QAAQ,CAAC,CAAC,SAAS,sEAAsE,CAAC,CAAC,SAAS;EAC5G,MAAM,EAAE,KAAK,CAAC,gBAAgB,QAAQ,CAAC,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS;EACpF,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,2DAA2D,CAAC,CAAC,SAAS;EACnH,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;EAC7H,QAAQ,EAAE,QAAQ,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS;EACjE,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,4EAA4E,CAAC,CAAC,SAAS;EACpH,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,yEAAyE,CAAC,CAAC,SAAS;EAClH,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,6EAA6E,CAAC,CAAC,SAAS;EACvH,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS;EAC3G,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS;CAC/G,CAwBS;CACP,QAxBsD,EAAE,OAAO;EAC/D,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gCAAgC;EACjE,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAChI,QAAQ,EAAE,MAAM,EAAE,OAAO;GACzB,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B;GACrD,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;GAC7E,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC;GAC9D,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB;GACpD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB;GACpD,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,mBAAmB;GACrD,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B;GACtD,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;GAClF,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B;GAC7D,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;GAC9E,qBAAqB,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC9F,CAAC,CAAC,CAAC,CAAC,SAAS,0EAA0E;EACrF,eAAe,EAAE,QAAQ,CAAC,CAAC,SAAS,2CAA2C;CACjF,CAOU;AACV,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const require_action = require("../action.cjs");
|
|
2
|
+
let zod = require("zod");
|
|
3
|
+
//#region src/actions/update-account.ts
|
|
4
|
+
const PylonMcpUpdateAccountInput = zod.z.object({
|
|
5
|
+
name: zod.z.string().describe("The new name for the account.").optional(),
|
|
6
|
+
tags: zod.z.unknown().describe("An array of tags to set on the account. This replaces all existing tags.").optional(),
|
|
7
|
+
owner_id: zod.z.string().describe("The ID of the user to set as owner. Pass empty string to remove owner.").optional(),
|
|
8
|
+
account_id: zod.z.string().describe("The ID or name of the account to update. Required."),
|
|
9
|
+
custom_fields: zod.z.object({}).describe("Custom field values to set. Keys are custom field slugs (use get_custom_fields with object_type 'account' to discover available slugs), values are the field values to set. For multi-select fields, use comma-separated values.").optional()
|
|
10
|
+
});
|
|
11
|
+
const PylonMcpUpdateAccountOutput = zod.z.object({
|
|
12
|
+
account: zod.z.object({
|
|
13
|
+
id: zod.z.string().describe("The unique ID of the account."),
|
|
14
|
+
name: zod.z.string().describe("The name of the account."),
|
|
15
|
+
tags: zod.z.array(zod.z.string()).describe("Tags on the account.").nullable().optional(),
|
|
16
|
+
domain: zod.z.string().describe("The primary domain of the account.").nullable().optional(),
|
|
17
|
+
channels: zod.z.array(zod.z.string()).describe("Linked channels in format source:channelId.").nullable().optional(),
|
|
18
|
+
owner_id: zod.z.string().describe("The owner user ID.").nullable().optional()
|
|
19
|
+
}).describe("The updated account summary. Use account://{id} resource for full details."),
|
|
20
|
+
success: zod.z.boolean().describe("Whether the update was successful.")
|
|
21
|
+
});
|
|
22
|
+
const pylonMcpUpdateAccount = require_action.action("PYLON_MCP_UPDATE_ACCOUNT", {
|
|
23
|
+
slug: "pylon_mcp-update-account",
|
|
24
|
+
name: "Update account",
|
|
25
|
+
description: "Update an existing customer account in Pylon. You can update the name, owner, tags, and custom fields. Use the get_custom_fields tool with object_type 'account' to discover available custom field slugs. Use the get_account tool to get full account details before updating.",
|
|
26
|
+
input: PylonMcpUpdateAccountInput,
|
|
27
|
+
output: PylonMcpUpdateAccountOutput
|
|
28
|
+
});
|
|
29
|
+
//#endregion
|
|
30
|
+
exports.pylonMcpUpdateAccount = pylonMcpUpdateAccount;
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=update-account.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-account.cjs","names":["z","action"],"sources":["../../src/actions/update-account.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PylonMcpUpdateAccountInput: z.ZodTypeAny = z.object({\n name: z.string().describe(\"The new name for the account.\").optional(),\n tags: z.unknown().describe(\"An array of tags to set on the account. This replaces all existing tags.\").optional(),\n owner_id: z.string().describe(\"The ID of the user to set as owner. Pass empty string to remove owner.\").optional(),\n account_id: z.string().describe(\"The ID or name of the account to update. Required.\"),\n custom_fields: z.object({}).describe(\"Custom field values to set. Keys are custom field slugs (use get_custom_fields with object_type 'account' to discover available slugs), values are the field values to set. For multi-select fields, use comma-separated values.\").optional(),\n});\nexport const PylonMcpUpdateAccountOutput: z.ZodTypeAny = z.object({\n account: z.object({\n id: z.string().describe(\"The unique ID of the account.\"),\n name: z.string().describe(\"The name of the account.\"),\n tags: z.array(z.string()).describe(\"Tags on the account.\").nullable().optional(),\n domain: z.string().describe(\"The primary domain of the account.\").nullable().optional(),\n channels: z.array(z.string()).describe(\"Linked channels in format source:channelId.\").nullable().optional(),\n owner_id: z.string().describe(\"The owner user ID.\").nullable().optional(),\n}).describe(\"The updated account summary. Use account://{id} resource for full details.\"),\n success: z.boolean().describe(\"Whether the update was successful.\"),\n});\n\nexport const pylonMcpUpdateAccount = action(\"PYLON_MCP_UPDATE_ACCOUNT\", {\n slug: \"pylon_mcp-update-account\",\n name: \"Update account\",\n description: \"Update an existing customer account in Pylon. You can update the name, owner, tags, and custom fields. Use the get_custom_fields tool with object_type 'account' to discover available custom field slugs. Use the get_account tool to get full account details before updating.\",\n input: PylonMcpUpdateAccountInput,\n output: PylonMcpUpdateAccountOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA2CA,IAAAA,EAAE,OAAO;CAC/D,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS;CACpE,MAAMA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,0EAA0E,CAAC,CAAC,SAAS;CAChH,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;CACjH,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD;CACpF,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,kOAAkO,CAAC,CAAC,SAAS;AACpR,CAAC;AACD,MAAa,8BAA4CA,IAAAA,EAAE,OAAO;CAChE,SAASA,IAAAA,EAAE,OAAO;EAClB,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B;EACvD,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B;EACpD,MAAMA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC/E,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtF,UAAUA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC1G,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1E,CAAC,CAAC,CAAC,SAAS,4EAA4E;CACtF,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,oCAAoC;AACpE,CAAC;AAED,MAAa,wBAAwBC,eAAAA,OAAO,4BAA4B;CACtE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/update-account.d.ts
|
|
4
|
+
declare const PylonMcpUpdateAccountInput: z.ZodTypeAny;
|
|
5
|
+
declare const PylonMcpUpdateAccountOutput: z.ZodTypeAny;
|
|
6
|
+
declare const pylonMcpUpdateAccount: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { pylonMcpUpdateAccount };
|
|
9
|
+
//# sourceMappingURL=update-account.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-account.d.cts","names":[],"sources":["../../src/actions/update-account.ts"],"mappings":";;;cAIa,0BAAA,EAA4B,CAAA,CAAE,UAMzC;AAAA,cACW,2BAAA,EAA6B,CAAA,CAAE,UAU1C;AAAA,cAEW,qBAAA,gCAAqB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/update-account.d.ts
|
|
4
|
+
declare const PylonMcpUpdateAccountInput: z.ZodTypeAny;
|
|
5
|
+
declare const PylonMcpUpdateAccountOutput: z.ZodTypeAny;
|
|
6
|
+
declare const pylonMcpUpdateAccount: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { pylonMcpUpdateAccount };
|
|
9
|
+
//# sourceMappingURL=update-account.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-account.d.mts","names":[],"sources":["../../src/actions/update-account.ts"],"mappings":";;;cAIa,0BAAA,EAA4B,CAAA,CAAE,UAMzC;AAAA,cACW,2BAAA,EAA6B,CAAA,CAAE,UAU1C;AAAA,cAEW,qBAAA,gCAAqB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { action } from "../action.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
const pylonMcpUpdateAccount = action("PYLON_MCP_UPDATE_ACCOUNT", {
|
|
4
|
+
slug: "pylon_mcp-update-account",
|
|
5
|
+
name: "Update account",
|
|
6
|
+
description: "Update an existing customer account in Pylon. You can update the name, owner, tags, and custom fields. Use the get_custom_fields tool with object_type 'account' to discover available custom field slugs. Use the get_account tool to get full account details before updating.",
|
|
7
|
+
input: z.object({
|
|
8
|
+
name: z.string().describe("The new name for the account.").optional(),
|
|
9
|
+
tags: z.unknown().describe("An array of tags to set on the account. This replaces all existing tags.").optional(),
|
|
10
|
+
owner_id: z.string().describe("The ID of the user to set as owner. Pass empty string to remove owner.").optional(),
|
|
11
|
+
account_id: z.string().describe("The ID or name of the account to update. Required."),
|
|
12
|
+
custom_fields: z.object({}).describe("Custom field values to set. Keys are custom field slugs (use get_custom_fields with object_type 'account' to discover available slugs), values are the field values to set. For multi-select fields, use comma-separated values.").optional()
|
|
13
|
+
}),
|
|
14
|
+
output: z.object({
|
|
15
|
+
account: z.object({
|
|
16
|
+
id: z.string().describe("The unique ID of the account."),
|
|
17
|
+
name: z.string().describe("The name of the account."),
|
|
18
|
+
tags: z.array(z.string()).describe("Tags on the account.").nullable().optional(),
|
|
19
|
+
domain: z.string().describe("The primary domain of the account.").nullable().optional(),
|
|
20
|
+
channels: z.array(z.string()).describe("Linked channels in format source:channelId.").nullable().optional(),
|
|
21
|
+
owner_id: z.string().describe("The owner user ID.").nullable().optional()
|
|
22
|
+
}).describe("The updated account summary. Use account://{id} resource for full details."),
|
|
23
|
+
success: z.boolean().describe("Whether the update was successful.")
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
//#endregion
|
|
27
|
+
export { pylonMcpUpdateAccount };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=update-account.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-account.mjs","names":[],"sources":["../../src/actions/update-account.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PylonMcpUpdateAccountInput: z.ZodTypeAny = z.object({\n name: z.string().describe(\"The new name for the account.\").optional(),\n tags: z.unknown().describe(\"An array of tags to set on the account. This replaces all existing tags.\").optional(),\n owner_id: z.string().describe(\"The ID of the user to set as owner. Pass empty string to remove owner.\").optional(),\n account_id: z.string().describe(\"The ID or name of the account to update. Required.\"),\n custom_fields: z.object({}).describe(\"Custom field values to set. Keys are custom field slugs (use get_custom_fields with object_type 'account' to discover available slugs), values are the field values to set. For multi-select fields, use comma-separated values.\").optional(),\n});\nexport const PylonMcpUpdateAccountOutput: z.ZodTypeAny = z.object({\n account: z.object({\n id: z.string().describe(\"The unique ID of the account.\"),\n name: z.string().describe(\"The name of the account.\"),\n tags: z.array(z.string()).describe(\"Tags on the account.\").nullable().optional(),\n domain: z.string().describe(\"The primary domain of the account.\").nullable().optional(),\n channels: z.array(z.string()).describe(\"Linked channels in format source:channelId.\").nullable().optional(),\n owner_id: z.string().describe(\"The owner user ID.\").nullable().optional(),\n}).describe(\"The updated account summary. Use account://{id} resource for full details.\"),\n success: z.boolean().describe(\"Whether the update was successful.\"),\n});\n\nexport const pylonMcpUpdateAccount = action(\"PYLON_MCP_UPDATE_ACCOUNT\", {\n slug: \"pylon_mcp-update-account\",\n name: \"Update account\",\n description: \"Update an existing customer account in Pylon. You can update the name, owner, tags, and custom fields. Use the get_custom_fields tool with object_type 'account' to discover available custom field slugs. Use the get_account tool to get full account details before updating.\",\n input: PylonMcpUpdateAccountInput,\n output: PylonMcpUpdateAccountOutput,\n});\n"],"mappings":";;AAuBA,MAAa,wBAAwB,OAAO,4BAA4B;CACtE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAvBsD,EAAE,OAAO;EAC/D,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS;EACpE,MAAM,EAAE,QAAQ,CAAC,CAAC,SAAS,0EAA0E,CAAC,CAAC,SAAS;EAChH,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;EACjH,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD;EACpF,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,kOAAkO,CAAC,CAAC,SAAS;CACpR,CAiBS;CACP,QAjBuD,EAAE,OAAO;EAChE,SAAS,EAAE,OAAO;GAClB,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B;GACvD,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B;GACpD,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;GAC/E,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;GACtF,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;GAC1G,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC1E,CAAC,CAAC,CAAC,SAAS,4EAA4E;EACtF,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,oCAAoC;CACpE,CAOU;AACV,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const require_action = require("../action.cjs");
|
|
2
|
+
let zod = require("zod");
|
|
3
|
+
//#region src/actions/update-issue.ts
|
|
4
|
+
const PylonMcpUpdateIssueInput = zod.z.object({
|
|
5
|
+
tags: zod.z.unknown().describe("An array of tags to set on the issue. This replaces all existing tags.").optional(),
|
|
6
|
+
state: zod.z.string().describe("The state to set the issue to. Standard values: new, waiting_on_you, waiting_on_customer, on_hold, closed. Custom status slugs are also accepted.").optional(),
|
|
7
|
+
team_id: zod.z.string().describe("The ID of the team to assign the issue to. Pass empty string to remove team assignment.").optional(),
|
|
8
|
+
issue_id: zod.z.string().describe("The ID or number of the issue to update. Required."),
|
|
9
|
+
assignee_id: zod.z.string().describe("The ID of the user to assign the issue to. Pass empty string to unassign.").optional()
|
|
10
|
+
});
|
|
11
|
+
const PylonMcpUpdateIssueOutput = zod.z.object({
|
|
12
|
+
issue: zod.z.object({
|
|
13
|
+
id: zod.z.string().describe("The unique ID of the issue."),
|
|
14
|
+
tags: zod.z.array(zod.z.string()).describe("Tags on the issue.").nullable().optional(),
|
|
15
|
+
type: zod.z.string().describe("The type (Conversation or Ticket)."),
|
|
16
|
+
state: zod.z.string().describe("The state of the issue."),
|
|
17
|
+
title: zod.z.string().describe("The title of the issue."),
|
|
18
|
+
number: zod.z.number().int().describe("The issue number."),
|
|
19
|
+
source: zod.z.string().describe("The source of the issue."),
|
|
20
|
+
account_id: zod.z.string().describe("The associated account ID.").nullable().optional(),
|
|
21
|
+
created_at: zod.z.string().describe("When the issue was created."),
|
|
22
|
+
assignee_id: zod.z.string().describe("The assigned user ID.").nullable().optional(),
|
|
23
|
+
latest_message_time: zod.z.string().describe("Time of the latest message.").nullable().optional()
|
|
24
|
+
}).describe("The updated issue summary. Use issue://{id} resource for full details."),
|
|
25
|
+
success: zod.z.boolean().describe("Whether the update was successful.")
|
|
26
|
+
});
|
|
27
|
+
const pylonMcpUpdateIssue = require_action.action("PYLON_MCP_UPDATE_ISSUE", {
|
|
28
|
+
slug: "pylon_mcp-update-issue",
|
|
29
|
+
name: "Update issue",
|
|
30
|
+
description: "Update an existing issue/ticket in Pylon. You can update the state, assignee, team, and tags. Use the issue resource (issue://{issueId}) to get full issue details before updating.",
|
|
31
|
+
input: PylonMcpUpdateIssueInput,
|
|
32
|
+
output: PylonMcpUpdateIssueOutput
|
|
33
|
+
});
|
|
34
|
+
//#endregion
|
|
35
|
+
exports.pylonMcpUpdateIssue = pylonMcpUpdateIssue;
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=update-issue.cjs.map
|