@keystrokehq/pylon_mcp 0.1.3 → 0.1.5
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/action.cjs.map +1 -1
- package/dist/action.mjs.map +1 -1
- package/dist/actions/create-issue.cjs +1 -0
- package/dist/actions/create-issue.cjs.map +1 -1
- package/dist/actions/create-issue.d.cts +3 -10
- package/dist/actions/create-issue.d.cts.map +1 -1
- package/dist/actions/create-issue.d.mts +3 -10
- package/dist/actions/create-issue.d.mts.map +1 -1
- package/dist/actions/create-issue.mjs +1 -0
- package/dist/actions/create-issue.mjs.map +1 -1
- package/dist/actions/get-account.cjs +1 -0
- package/dist/actions/get-account.cjs.map +1 -1
- package/dist/actions/get-account.d.cts +3 -3
- package/dist/actions/get-account.d.cts.map +1 -1
- package/dist/actions/get-account.d.mts +3 -3
- package/dist/actions/get-account.d.mts.map +1 -1
- package/dist/actions/get-account.mjs +1 -0
- package/dist/actions/get-account.mjs.map +1 -1
- package/dist/actions/get-contact.cjs +1 -0
- package/dist/actions/get-contact.cjs.map +1 -1
- package/dist/actions/get-contact.d.cts +3 -3
- package/dist/actions/get-contact.d.cts.map +1 -1
- package/dist/actions/get-contact.d.mts +3 -3
- package/dist/actions/get-contact.d.mts.map +1 -1
- package/dist/actions/get-contact.mjs +1 -0
- package/dist/actions/get-contact.mjs.map +1 -1
- package/dist/actions/get-issue-messages.cjs +1 -0
- package/dist/actions/get-issue-messages.cjs.map +1 -1
- package/dist/actions/get-issue-messages.d.cts +3 -3
- package/dist/actions/get-issue-messages.d.cts.map +1 -1
- package/dist/actions/get-issue-messages.d.mts +3 -3
- package/dist/actions/get-issue-messages.d.mts.map +1 -1
- package/dist/actions/get-issue-messages.mjs +1 -0
- package/dist/actions/get-issue-messages.mjs.map +1 -1
- package/dist/actions/get-issue.cjs +1 -0
- package/dist/actions/get-issue.cjs.map +1 -1
- package/dist/actions/get-issue.d.cts +3 -3
- package/dist/actions/get-issue.d.cts.map +1 -1
- package/dist/actions/get-issue.d.mts +3 -3
- package/dist/actions/get-issue.d.mts.map +1 -1
- package/dist/actions/get-issue.mjs +1 -0
- package/dist/actions/get-issue.mjs.map +1 -1
- package/dist/actions/get-me.cjs +1 -0
- package/dist/actions/get-me.cjs.map +1 -1
- package/dist/actions/get-me.d.cts +3 -1
- package/dist/actions/get-me.d.cts.map +1 -1
- package/dist/actions/get-me.d.mts +3 -1
- package/dist/actions/get-me.d.mts.map +1 -1
- package/dist/actions/get-me.mjs +1 -0
- package/dist/actions/get-me.mjs.map +1 -1
- package/dist/actions/get-user.cjs +1 -0
- package/dist/actions/get-user.cjs.map +1 -1
- package/dist/actions/get-user.d.cts +3 -3
- package/dist/actions/get-user.d.cts.map +1 -1
- package/dist/actions/get-user.d.mts +3 -3
- package/dist/actions/get-user.d.mts.map +1 -1
- package/dist/actions/get-user.mjs +1 -0
- package/dist/actions/get-user.mjs.map +1 -1
- package/dist/actions/search-accounts.cjs +1 -0
- package/dist/actions/search-accounts.cjs.map +1 -1
- package/dist/actions/search-accounts.d.cts +3 -10
- package/dist/actions/search-accounts.d.cts.map +1 -1
- package/dist/actions/search-accounts.d.mts +3 -10
- package/dist/actions/search-accounts.d.mts.map +1 -1
- package/dist/actions/search-accounts.mjs +1 -0
- package/dist/actions/search-accounts.mjs.map +1 -1
- package/dist/actions/search-issues.cjs +1 -0
- package/dist/actions/search-issues.cjs.map +1 -1
- package/dist/actions/search-issues.d.cts +3 -12
- package/dist/actions/search-issues.d.cts.map +1 -1
- package/dist/actions/search-issues.d.mts +3 -12
- package/dist/actions/search-issues.d.mts.map +1 -1
- package/dist/actions/search-issues.mjs +1 -0
- package/dist/actions/search-issues.mjs.map +1 -1
- package/dist/actions/update-account.cjs +1 -0
- package/dist/actions/update-account.cjs.map +1 -1
- package/dist/actions/update-account.d.cts +3 -7
- package/dist/actions/update-account.d.cts.map +1 -1
- package/dist/actions/update-account.d.mts +3 -7
- package/dist/actions/update-account.d.mts.map +1 -1
- package/dist/actions/update-account.mjs +1 -0
- package/dist/actions/update-account.mjs.map +1 -1
- package/dist/actions/update-issue.cjs +1 -0
- package/dist/actions/update-issue.cjs.map +1 -1
- package/dist/actions/update-issue.d.cts +3 -7
- package/dist/actions/update-issue.d.cts.map +1 -1
- package/dist/actions/update-issue.d.mts +3 -7
- package/dist/actions/update-issue.d.mts.map +1 -1
- package/dist/actions/update-issue.mjs +1 -0
- package/dist/actions/update-issue.mjs.map +1 -1
- package/dist/actions/upload-account-files.cjs +1 -0
- package/dist/actions/upload-account-files.cjs.map +1 -1
- package/dist/actions/upload-account-files.d.cts +3 -9
- package/dist/actions/upload-account-files.d.cts.map +1 -1
- package/dist/actions/upload-account-files.d.mts +3 -9
- package/dist/actions/upload-account-files.d.mts.map +1 -1
- package/dist/actions/upload-account-files.mjs +1 -0
- package/dist/actions/upload-account-files.mjs.map +1 -1
- package/dist/app.cjs +5 -2
- package/dist/app.cjs.map +1 -1
- package/dist/app.d.cts +7 -1
- package/dist/app.d.cts.map +1 -1
- package/dist/app.d.mts +7 -1
- package/dist/app.d.mts.map +1 -1
- package/dist/app.mjs +3 -2
- package/dist/app.mjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-user.d.cts","names":[],"sources":["../../src/actions/get-user.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-user.d.cts","names":[],"sources":["../../src/actions/get-user.ts"],"mappings":";;;;;cAMa,oBAAA,EAAoB,CAAA,CAAA,SAAA;;;cAGpB,qBAAA,EAAqB,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,UAAA;AAAA,cAErB,eAAA,EAAiB,SAAA,QACrB,oBAAA,SACA,qBAAA,SACA,QAAA,CAAS,UAAA"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { pylonMcp } from "../app.mjs";
|
|
2
|
+
import { AppAction } from "@keystrokehq/keystroke/app";
|
|
1
3
|
import { z } from "zod";
|
|
2
4
|
|
|
3
5
|
//#region src/actions/get-user.d.ts
|
|
@@ -5,9 +7,7 @@ declare const PylonMcpGetUserInput: z.ZodObject<{
|
|
|
5
7
|
user: z.ZodString;
|
|
6
8
|
}, z.core.$strip>;
|
|
7
9
|
declare const PylonMcpGetUserOutput: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
8
|
-
declare const pylonMcpGetUser:
|
|
9
|
-
user: string;
|
|
10
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
10
|
+
declare const pylonMcpGetUser: AppAction<typeof PylonMcpGetUserInput, typeof PylonMcpGetUserOutput, typeof pylonMcp.credential>;
|
|
11
11
|
//#endregion
|
|
12
12
|
export { pylonMcpGetUser };
|
|
13
13
|
//# sourceMappingURL=get-user.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-user.d.mts","names":[],"sources":["../../src/actions/get-user.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-user.d.mts","names":[],"sources":["../../src/actions/get-user.ts"],"mappings":";;;;;cAMa,oBAAA,EAAoB,CAAA,CAAA,SAAA;;;cAGpB,qBAAA,EAAqB,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,UAAA;AAAA,cAErB,eAAA,EAAiB,SAAA,QACrB,oBAAA,SACA,qBAAA,SACA,QAAA,CAAS,UAAA"}
|
|
@@ -1 +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.object({\n user: z.string().describe(\"The user ID (UUID).\"),\n});\nexport const PylonMcpGetUserOutput = z.record(z.string(), z.unknown()).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":"
|
|
1
|
+
{"version":3,"file":"get-user.mjs","names":[],"sources":["../../src/actions/get-user.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { pylonMcp } from \"../app\";\n\nexport const PylonMcpGetUserInput = z.object({\n user: z.string().describe(\"The user ID (UUID).\"),\n});\nexport const PylonMcpGetUserOutput = z.record(z.string(), z.unknown()).describe(\"Full user details including name, email, role, and teams.\");\n\nexport const pylonMcpGetUser: AppAction<\n typeof PylonMcpGetUserInput,\n typeof PylonMcpGetUserOutput,\n typeof pylonMcp.credential\n> = 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":";;;AAWA,MAAa,kBAIT,OAAO,sBAAsB;CAC/B,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAbkC,EAAE,OAAO,EAC3C,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,qBAAqB,EACjD,CAWS;CACP,QAXmC,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,2DAWtE;AACV,CAAC"}
|
|
@@ -1 +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.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.object({\n count: z.number().int().describe(\"The number of accounts returned.\").nullable(),\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.\").nullable(),\n name: z.string().describe(\"The name of the account.\").nullable(),\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}).passthrough()).describe(\"Lightweight account summaries. Use account://{id} resource for full details.\"),\n has_next_page: z.boolean().describe(\"Whether there are more results available.\").nullable(),\n}).passthrough();\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":"
|
|
1
|
+
{"version":3,"file":"search-accounts.cjs","names":["z","action"],"sources":["../../src/actions/search-accounts.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { pylonMcp } from \"../app\";\n\nexport const PylonMcpSearchAccountsInput = 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.object({\n count: z.number().int().describe(\"The number of accounts returned.\").nullable(),\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.\").nullable(),\n name: z.string().describe(\"The name of the account.\").nullable(),\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}).passthrough()).describe(\"Lightweight account summaries. Use account://{id} resource for full details.\"),\n has_next_page: z.boolean().describe(\"Whether there are more results available.\").nullable(),\n}).passthrough();\n\nexport const pylonMcpSearchAccounts: AppAction<\n typeof PylonMcpSearchAccountsInput,\n typeof PylonMcpSearchAccountsOutput,\n typeof pylonMcp.credential\n> = 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":";;;;AAMA,MAAa,8BAA8BA,IAAAA,EAAE,OAAO;CAClD,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,+BAA+BA,IAAAA,EAAE,OAAO;CACnD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;CAC9E,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,CAAC,CAAC,SAAS;EAClE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;EAC/D,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,YAAY,CAAC,CAAC,CAAC,SAAS,8EAA8E;CACvG,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;AAC5F,CAAC,CAAC,CAAC,YAAY;AAEf,MAAa,yBAITC,eAAAA,OAAO,6BAA6B;CACtC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { pylonMcp } from "../app.cjs";
|
|
2
|
+
import { AppAction } from "@keystrokehq/keystroke/app";
|
|
1
3
|
import { z } from "zod";
|
|
2
4
|
|
|
3
5
|
//#region src/actions/search-accounts.d.ts
|
|
@@ -24,16 +26,7 @@ declare const PylonMcpSearchAccountsOutput: z.ZodObject<{
|
|
|
24
26
|
}, z.core.$loose>>;
|
|
25
27
|
has_next_page: z.ZodNullable<z.ZodBoolean>;
|
|
26
28
|
}, z.core.$loose>;
|
|
27
|
-
declare const pylonMcpSearchAccounts:
|
|
28
|
-
name?: string | undefined;
|
|
29
|
-
tags?: unknown;
|
|
30
|
-
limit?: number | undefined;
|
|
31
|
-
owner?: string | undefined;
|
|
32
|
-
cursor?: string | undefined;
|
|
33
|
-
domain?: string | undefined;
|
|
34
|
-
external_id?: string | undefined;
|
|
35
|
-
custom_field_filters?: unknown;
|
|
36
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
29
|
+
declare const pylonMcpSearchAccounts: AppAction<typeof PylonMcpSearchAccountsInput, typeof PylonMcpSearchAccountsOutput, typeof pylonMcp.credential>;
|
|
37
30
|
//#endregion
|
|
38
31
|
export { pylonMcpSearchAccounts };
|
|
39
32
|
//# sourceMappingURL=search-accounts.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-accounts.d.cts","names":[],"sources":["../../src/actions/search-accounts.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"search-accounts.d.cts","names":[],"sources":["../../src/actions/search-accounts.ts"],"mappings":";;;;;cAMa,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;;;;;;;cAU3B,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;;;;;;;;cAc5B,sBAAA,EAAwB,SAAA,QAC5B,2BAAA,SACA,4BAAA,SACA,QAAA,CAAS,UAAA"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { pylonMcp } from "../app.mjs";
|
|
2
|
+
import { AppAction } from "@keystrokehq/keystroke/app";
|
|
1
3
|
import { z } from "zod";
|
|
2
4
|
|
|
3
5
|
//#region src/actions/search-accounts.d.ts
|
|
@@ -24,16 +26,7 @@ declare const PylonMcpSearchAccountsOutput: z.ZodObject<{
|
|
|
24
26
|
}, z.core.$loose>>;
|
|
25
27
|
has_next_page: z.ZodNullable<z.ZodBoolean>;
|
|
26
28
|
}, z.core.$loose>;
|
|
27
|
-
declare const pylonMcpSearchAccounts:
|
|
28
|
-
name?: string | undefined;
|
|
29
|
-
tags?: unknown;
|
|
30
|
-
limit?: number | undefined;
|
|
31
|
-
owner?: string | undefined;
|
|
32
|
-
cursor?: string | undefined;
|
|
33
|
-
domain?: string | undefined;
|
|
34
|
-
external_id?: string | undefined;
|
|
35
|
-
custom_field_filters?: unknown;
|
|
36
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
29
|
+
declare const pylonMcpSearchAccounts: AppAction<typeof PylonMcpSearchAccountsInput, typeof PylonMcpSearchAccountsOutput, typeof pylonMcp.credential>;
|
|
37
30
|
//#endregion
|
|
38
31
|
export { pylonMcpSearchAccounts };
|
|
39
32
|
//# sourceMappingURL=search-accounts.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-accounts.d.mts","names":[],"sources":["../../src/actions/search-accounts.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"search-accounts.d.mts","names":[],"sources":["../../src/actions/search-accounts.ts"],"mappings":";;;;;cAMa,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;;;;;;;cAU3B,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;;;;;;;;cAc5B,sBAAA,EAAwB,SAAA,QAC5B,2BAAA,SACA,4BAAA,SACA,QAAA,CAAS,UAAA"}
|
|
@@ -1 +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.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.object({\n count: z.number().int().describe(\"The number of accounts returned.\").nullable(),\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.\").nullable(),\n name: z.string().describe(\"The name of the account.\").nullable(),\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}).passthrough()).describe(\"Lightweight account summaries. Use account://{id} resource for full details.\"),\n has_next_page: z.boolean().describe(\"Whether there are more results available.\").nullable(),\n}).passthrough();\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":"
|
|
1
|
+
{"version":3,"file":"search-accounts.mjs","names":[],"sources":["../../src/actions/search-accounts.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { pylonMcp } from \"../app\";\n\nexport const PylonMcpSearchAccountsInput = 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.object({\n count: z.number().int().describe(\"The number of accounts returned.\").nullable(),\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.\").nullable(),\n name: z.string().describe(\"The name of the account.\").nullable(),\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}).passthrough()).describe(\"Lightweight account summaries. Use account://{id} resource for full details.\"),\n has_next_page: z.boolean().describe(\"Whether there are more results available.\").nullable(),\n}).passthrough();\n\nexport const pylonMcpSearchAccounts: AppAction<\n typeof PylonMcpSearchAccountsInput,\n typeof PylonMcpSearchAccountsOutput,\n typeof pylonMcp.credential\n> = 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":";;;AA8BA,MAAa,yBAIT,OAAO,6BAA6B;CACtC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAhCyC,EAAE,OAAO;EAClD,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,CAuBS;CACP,QAvB0C,EAAE,OAAO;EACnD,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;EAC9E,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,CAAC,CAAC,SAAS;GAClE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;GAC/D,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,YAAY,CAAC,CAAC,CAAC,SAAS,8EAA8E;EACvG,eAAe,EAAE,QAAQ,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CAC5F,CAAC,CAAC,CAAC,YAWO;AACV,CAAC"}
|
|
@@ -1 +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.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.object({\n count: z.number().int().describe(\"The number of issues returned.\").nullable(),\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.\").nullable(),\n tags: z.array(z.string()).describe(\"Tags on the issue.\").nullable().optional(),\n type: z.string().describe(\"The type (Conversation or Ticket).\").nullable(),\n state: z.string().describe(\"The state of the issue.\").nullable(),\n title: z.string().describe(\"The title of the issue.\").nullable(),\n number: z.number().int().describe(\"The issue number.\").nullable(),\n source: z.string().describe(\"The source of the issue.\").nullable(),\n account_id: z.string().describe(\"The associated account ID.\").nullable().optional(),\n created_at: z.string().describe(\"When the issue was created.\").nullable(),\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}).passthrough()).describe(\"Lightweight issue summaries. Use issue://{id} resource for full details.\"),\n has_next_page: z.boolean().describe(\"Whether there are more results available.\").nullable(),\n}).passthrough();\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":"
|
|
1
|
+
{"version":3,"file":"search-issues.cjs","names":["z","action"],"sources":["../../src/actions/search-issues.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { pylonMcp } from \"../app\";\n\nexport const PylonMcpSearchIssuesInput = 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.object({\n count: z.number().int().describe(\"The number of issues returned.\").nullable(),\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.\").nullable(),\n tags: z.array(z.string()).describe(\"Tags on the issue.\").nullable().optional(),\n type: z.string().describe(\"The type (Conversation or Ticket).\").nullable(),\n state: z.string().describe(\"The state of the issue.\").nullable(),\n title: z.string().describe(\"The title of the issue.\").nullable(),\n number: z.number().int().describe(\"The issue number.\").nullable(),\n source: z.string().describe(\"The source of the issue.\").nullable(),\n account_id: z.string().describe(\"The associated account ID.\").nullable().optional(),\n created_at: z.string().describe(\"When the issue was created.\").nullable(),\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}).passthrough()).describe(\"Lightweight issue summaries. Use issue://{id} resource for full details.\"),\n has_next_page: z.boolean().describe(\"Whether there are more results available.\").nullable(),\n}).passthrough();\n\nexport const pylonMcpSearchIssues: AppAction<\n typeof PylonMcpSearchIssuesInput,\n typeof PylonMcpSearchIssuesOutput,\n typeof pylonMcp.credential\n> = 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":";;;;AAMA,MAAa,4BAA4BA,IAAAA,EAAE,OAAO;CAChD,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,6BAA6BA,IAAAA,EAAE,OAAO;CACjD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;CAC5E,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,CAAC,CAAC,SAAS;EAChE,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,CAAC,CAAC,SAAS;EACzE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS;EAC/D,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS;EAC/D,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,SAAS;EAChE,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;EACjE,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAClF,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;EACxE,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,YAAY,CAAC,CAAC,CAAC,SAAS,0EAA0E;CACnG,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;AAC5F,CAAC,CAAC,CAAC,YAAY;AAEf,MAAa,uBAITC,eAAAA,OAAO,2BAA2B;CACpC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { pylonMcp } from "../app.cjs";
|
|
2
|
+
import { AppAction } from "@keystrokehq/keystroke/app";
|
|
1
3
|
import { z } from "zod";
|
|
2
4
|
|
|
3
5
|
//#region src/actions/search-issues.d.ts
|
|
@@ -34,18 +36,7 @@ declare const PylonMcpSearchIssuesOutput: z.ZodObject<{
|
|
|
34
36
|
}, z.core.$loose>>;
|
|
35
37
|
has_next_page: z.ZodNullable<z.ZodBoolean>;
|
|
36
38
|
}, z.core.$loose>;
|
|
37
|
-
declare const pylonMcpSearchIssues:
|
|
38
|
-
tags?: unknown;
|
|
39
|
-
type?: "conversation" | "ticket" | undefined;
|
|
40
|
-
limit?: number | undefined;
|
|
41
|
-
cursor?: string | undefined;
|
|
42
|
-
states?: unknown;
|
|
43
|
-
account?: string | undefined;
|
|
44
|
-
assignee?: string | undefined;
|
|
45
|
-
requester?: string | undefined;
|
|
46
|
-
created_after?: string | undefined;
|
|
47
|
-
created_before?: string | undefined;
|
|
48
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
39
|
+
declare const pylonMcpSearchIssues: AppAction<typeof PylonMcpSearchIssuesInput, typeof PylonMcpSearchIssuesOutput, typeof pylonMcp.credential>;
|
|
49
40
|
//#endregion
|
|
50
41
|
export { pylonMcpSearchIssues };
|
|
51
42
|
//# sourceMappingURL=search-issues.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-issues.d.cts","names":[],"sources":["../../src/actions/search-issues.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"search-issues.d.cts","names":[],"sources":["../../src/actions/search-issues.ts"],"mappings":";;;;;cAMa,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;cAYzB,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;cAmB1B,oBAAA,EAAsB,SAAA,QAC1B,yBAAA,SACA,0BAAA,SACA,QAAA,CAAS,UAAA"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { pylonMcp } from "../app.mjs";
|
|
2
|
+
import { AppAction } from "@keystrokehq/keystroke/app";
|
|
1
3
|
import { z } from "zod";
|
|
2
4
|
|
|
3
5
|
//#region src/actions/search-issues.d.ts
|
|
@@ -34,18 +36,7 @@ declare const PylonMcpSearchIssuesOutput: z.ZodObject<{
|
|
|
34
36
|
}, z.core.$loose>>;
|
|
35
37
|
has_next_page: z.ZodNullable<z.ZodBoolean>;
|
|
36
38
|
}, z.core.$loose>;
|
|
37
|
-
declare const pylonMcpSearchIssues:
|
|
38
|
-
tags?: unknown;
|
|
39
|
-
type?: "conversation" | "ticket" | undefined;
|
|
40
|
-
limit?: number | undefined;
|
|
41
|
-
cursor?: string | undefined;
|
|
42
|
-
states?: unknown;
|
|
43
|
-
account?: string | undefined;
|
|
44
|
-
assignee?: string | undefined;
|
|
45
|
-
requester?: string | undefined;
|
|
46
|
-
created_after?: string | undefined;
|
|
47
|
-
created_before?: string | undefined;
|
|
48
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
39
|
+
declare const pylonMcpSearchIssues: AppAction<typeof PylonMcpSearchIssuesInput, typeof PylonMcpSearchIssuesOutput, typeof pylonMcp.credential>;
|
|
49
40
|
//#endregion
|
|
50
41
|
export { pylonMcpSearchIssues };
|
|
51
42
|
//# sourceMappingURL=search-issues.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-issues.d.mts","names":[],"sources":["../../src/actions/search-issues.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"search-issues.d.mts","names":[],"sources":["../../src/actions/search-issues.ts"],"mappings":";;;;;cAMa,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;cAYzB,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;cAmB1B,oBAAA,EAAsB,SAAA,QAC1B,yBAAA,SACA,0BAAA,SACA,QAAA,CAAS,UAAA"}
|
|
@@ -1 +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.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.object({\n count: z.number().int().describe(\"The number of issues returned.\").nullable(),\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.\").nullable(),\n tags: z.array(z.string()).describe(\"Tags on the issue.\").nullable().optional(),\n type: z.string().describe(\"The type (Conversation or Ticket).\").nullable(),\n state: z.string().describe(\"The state of the issue.\").nullable(),\n title: z.string().describe(\"The title of the issue.\").nullable(),\n number: z.number().int().describe(\"The issue number.\").nullable(),\n source: z.string().describe(\"The source of the issue.\").nullable(),\n account_id: z.string().describe(\"The associated account ID.\").nullable().optional(),\n created_at: z.string().describe(\"When the issue was created.\").nullable(),\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}).passthrough()).describe(\"Lightweight issue summaries. Use issue://{id} resource for full details.\"),\n has_next_page: z.boolean().describe(\"Whether there are more results available.\").nullable(),\n}).passthrough();\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":"
|
|
1
|
+
{"version":3,"file":"search-issues.mjs","names":[],"sources":["../../src/actions/search-issues.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { pylonMcp } from \"../app\";\n\nexport const PylonMcpSearchIssuesInput = 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.object({\n count: z.number().int().describe(\"The number of issues returned.\").nullable(),\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.\").nullable(),\n tags: z.array(z.string()).describe(\"Tags on the issue.\").nullable().optional(),\n type: z.string().describe(\"The type (Conversation or Ticket).\").nullable(),\n state: z.string().describe(\"The state of the issue.\").nullable(),\n title: z.string().describe(\"The title of the issue.\").nullable(),\n number: z.number().int().describe(\"The issue number.\").nullable(),\n source: z.string().describe(\"The source of the issue.\").nullable(),\n account_id: z.string().describe(\"The associated account ID.\").nullable().optional(),\n created_at: z.string().describe(\"When the issue was created.\").nullable(),\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}).passthrough()).describe(\"Lightweight issue summaries. Use issue://{id} resource for full details.\"),\n has_next_page: z.boolean().describe(\"Whether there are more results available.\").nullable(),\n}).passthrough();\n\nexport const pylonMcpSearchIssues: AppAction<\n typeof PylonMcpSearchIssuesInput,\n typeof PylonMcpSearchIssuesOutput,\n typeof pylonMcp.credential\n> = 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":";;;AAqCA,MAAa,uBAIT,OAAO,2BAA2B;CACpC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAvCuC,EAAE,OAAO;EAChD,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,CA4BS;CACP,QA5BwC,EAAE,OAAO;EACjD,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;EAC5E,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,CAAC,CAAC,SAAS;GAChE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;GAC7E,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS;GACzE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS;GAC/D,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS;GAC/D,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,SAAS;GAChE,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;GACjE,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;GAClF,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;GACxE,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,YAAY,CAAC,CAAC,CAAC,SAAS,0EAA0E;EACnG,eAAe,EAAE,QAAQ,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CAC5F,CAAC,CAAC,CAAC,YAWO;AACV,CAAC"}
|
|
@@ -1 +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.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.record(z.string(), z.unknown()).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.object({\n account: z.object({\n id: z.string().describe(\"The unique ID of the account.\").nullable(),\n name: z.string().describe(\"The name of the account.\").nullable(),\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}).passthrough().describe(\"The updated account summary. Use account://{id} resource for full details.\"),\n success: z.boolean().describe(\"Whether the update was successful.\").nullable(),\n}).passthrough();\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":"
|
|
1
|
+
{"version":3,"file":"update-account.cjs","names":["z","action"],"sources":["../../src/actions/update-account.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { pylonMcp } from \"../app\";\n\nexport const PylonMcpUpdateAccountInput = 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.record(z.string(), z.unknown()).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.object({\n account: z.object({\n id: z.string().describe(\"The unique ID of the account.\").nullable(),\n name: z.string().describe(\"The name of the account.\").nullable(),\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}).passthrough().describe(\"The updated account summary. Use account://{id} resource for full details.\"),\n success: z.boolean().describe(\"Whether the update was successful.\").nullable(),\n}).passthrough();\n\nexport const pylonMcpUpdateAccount: AppAction<\n typeof PylonMcpUpdateAccountInput,\n typeof PylonMcpUpdateAccountOutput,\n typeof pylonMcp.credential\n> = 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":";;;;AAMA,MAAa,6BAA6BA,IAAAA,EAAE,OAAO;CACjD,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,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,kOAAkO,CAAC,CAAC,SAAS;AACzS,CAAC;AACD,MAAa,8BAA8BA,IAAAA,EAAE,OAAO;CAClD,SAASA,IAAAA,EAAE,OAAO;EAClB,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS;EAClE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;EAC/D,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,YAAY,CAAC,CAAC,SAAS,4EAA4E;CACpG,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS;AAC/E,CAAC,CAAC,CAAC,YAAY;AAEf,MAAa,wBAITC,eAAAA,OAAO,4BAA4B;CACrC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { pylonMcp } from "../app.cjs";
|
|
2
|
+
import { AppAction } from "@keystrokehq/keystroke/app";
|
|
1
3
|
import { z } from "zod";
|
|
2
4
|
|
|
3
5
|
//#region src/actions/update-account.d.ts
|
|
@@ -19,13 +21,7 @@ declare const PylonMcpUpdateAccountOutput: z.ZodObject<{
|
|
|
19
21
|
}, z.core.$loose>;
|
|
20
22
|
success: z.ZodNullable<z.ZodBoolean>;
|
|
21
23
|
}, z.core.$loose>;
|
|
22
|
-
declare const pylonMcpUpdateAccount:
|
|
23
|
-
account_id: string;
|
|
24
|
-
name?: string | undefined;
|
|
25
|
-
tags?: unknown;
|
|
26
|
-
owner_id?: string | undefined;
|
|
27
|
-
custom_fields?: Record<string, unknown> | undefined;
|
|
28
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
24
|
+
declare const pylonMcpUpdateAccount: AppAction<typeof PylonMcpUpdateAccountInput, typeof PylonMcpUpdateAccountOutput, typeof pylonMcp.credential>;
|
|
29
25
|
//#endregion
|
|
30
26
|
export { pylonMcpUpdateAccount };
|
|
31
27
|
//# sourceMappingURL=update-account.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-account.d.cts","names":[],"sources":["../../src/actions/update-account.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"update-account.d.cts","names":[],"sources":["../../src/actions/update-account.ts"],"mappings":";;;;;cAMa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;cAO1B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;;;;;;;;cAY3B,qBAAA,EAAuB,SAAA,QAC3B,0BAAA,SACA,2BAAA,SACA,QAAA,CAAS,UAAA"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { pylonMcp } from "../app.mjs";
|
|
2
|
+
import { AppAction } from "@keystrokehq/keystroke/app";
|
|
1
3
|
import { z } from "zod";
|
|
2
4
|
|
|
3
5
|
//#region src/actions/update-account.d.ts
|
|
@@ -19,13 +21,7 @@ declare const PylonMcpUpdateAccountOutput: z.ZodObject<{
|
|
|
19
21
|
}, z.core.$loose>;
|
|
20
22
|
success: z.ZodNullable<z.ZodBoolean>;
|
|
21
23
|
}, z.core.$loose>;
|
|
22
|
-
declare const pylonMcpUpdateAccount:
|
|
23
|
-
account_id: string;
|
|
24
|
-
name?: string | undefined;
|
|
25
|
-
tags?: unknown;
|
|
26
|
-
owner_id?: string | undefined;
|
|
27
|
-
custom_fields?: Record<string, unknown> | undefined;
|
|
28
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
24
|
+
declare const pylonMcpUpdateAccount: AppAction<typeof PylonMcpUpdateAccountInput, typeof PylonMcpUpdateAccountOutput, typeof pylonMcp.credential>;
|
|
29
25
|
//#endregion
|
|
30
26
|
export { pylonMcpUpdateAccount };
|
|
31
27
|
//# sourceMappingURL=update-account.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-account.d.mts","names":[],"sources":["../../src/actions/update-account.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"update-account.d.mts","names":[],"sources":["../../src/actions/update-account.ts"],"mappings":";;;;;cAMa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;cAO1B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;;;;;;;;cAY3B,qBAAA,EAAuB,SAAA,QAC3B,0BAAA,SACA,2BAAA,SACA,QAAA,CAAS,UAAA"}
|
|
@@ -1 +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.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.record(z.string(), z.unknown()).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.object({\n account: z.object({\n id: z.string().describe(\"The unique ID of the account.\").nullable(),\n name: z.string().describe(\"The name of the account.\").nullable(),\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}).passthrough().describe(\"The updated account summary. Use account://{id} resource for full details.\"),\n success: z.boolean().describe(\"Whether the update was successful.\").nullable(),\n}).passthrough();\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":"
|
|
1
|
+
{"version":3,"file":"update-account.mjs","names":[],"sources":["../../src/actions/update-account.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { pylonMcp } from \"../app\";\n\nexport const PylonMcpUpdateAccountInput = 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.record(z.string(), z.unknown()).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.object({\n account: z.object({\n id: z.string().describe(\"The unique ID of the account.\").nullable(),\n name: z.string().describe(\"The name of the account.\").nullable(),\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}).passthrough().describe(\"The updated account summary. Use account://{id} resource for full details.\"),\n success: z.boolean().describe(\"Whether the update was successful.\").nullable(),\n}).passthrough();\n\nexport const pylonMcpUpdateAccount: AppAction<\n typeof PylonMcpUpdateAccountInput,\n typeof PylonMcpUpdateAccountOutput,\n typeof pylonMcp.credential\n> = 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":";;;AAyBA,MAAa,wBAIT,OAAO,4BAA4B;CACrC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OA3BwC,EAAE,OAAO;EACjD,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,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,kOAAkO,CAAC,CAAC,SAAS;CACzS,CAqBS;CACP,QArByC,EAAE,OAAO;EAClD,SAAS,EAAE,OAAO;GAClB,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS;GAClE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;GAC/D,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,YAAY,CAAC,CAAC,SAAS,4EAA4E;EACpG,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS;CAC/E,CAAC,CAAC,CAAC,YAWO;AACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-issue.cjs","names":["z","action"],"sources":["../../src/actions/update-issue.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PylonMcpUpdateIssueInput = z.object({\n tags: z.unknown().describe(\"An array of tags to set on the issue. This replaces all existing tags.\").optional(),\n state: 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(),\n team_id: z.string().describe(\"The ID of the team to assign the issue to. Pass empty string to remove team assignment.\").optional(),\n issue_id: z.string().describe(\"The ID or number of the issue to update. Required.\"),\n assignee_id: z.string().describe(\"The ID of the user to assign the issue to. Pass empty string to unassign.\").optional(),\n});\nexport const PylonMcpUpdateIssueOutput = z.object({\n issue: z.object({\n id: z.string().describe(\"The unique ID of the issue.\").nullable(),\n tags: z.array(z.string()).describe(\"Tags on the issue.\").nullable().optional(),\n type: z.string().describe(\"The type (Conversation or Ticket).\").nullable(),\n state: z.string().describe(\"The state of the issue.\").nullable(),\n title: z.string().describe(\"The title of the issue.\").nullable(),\n number: z.number().int().describe(\"The issue number.\").nullable(),\n source: z.string().describe(\"The source of the issue.\").nullable(),\n account_id: z.string().describe(\"The associated account ID.\").nullable().optional(),\n created_at: z.string().describe(\"When the issue was created.\").nullable(),\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}).passthrough().describe(\"The updated issue summary. Use issue://{id} resource for full details.\"),\n success: z.boolean().describe(\"Whether the update was successful.\").nullable(),\n}).passthrough();\n\nexport const pylonMcpUpdateIssue = action(\"PYLON_MCP_UPDATE_ISSUE\", {\n slug: \"pylon_mcp-update-issue\",\n name: \"Update issue\",\n 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.\",\n input: PylonMcpUpdateIssueInput,\n output: PylonMcpUpdateIssueOutput,\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"update-issue.cjs","names":["z","action"],"sources":["../../src/actions/update-issue.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { pylonMcp } from \"../app\";\n\nexport const PylonMcpUpdateIssueInput = z.object({\n tags: z.unknown().describe(\"An array of tags to set on the issue. This replaces all existing tags.\").optional(),\n state: 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(),\n team_id: z.string().describe(\"The ID of the team to assign the issue to. Pass empty string to remove team assignment.\").optional(),\n issue_id: z.string().describe(\"The ID or number of the issue to update. Required.\"),\n assignee_id: z.string().describe(\"The ID of the user to assign the issue to. Pass empty string to unassign.\").optional(),\n});\nexport const PylonMcpUpdateIssueOutput = z.object({\n issue: z.object({\n id: z.string().describe(\"The unique ID of the issue.\").nullable(),\n tags: z.array(z.string()).describe(\"Tags on the issue.\").nullable().optional(),\n type: z.string().describe(\"The type (Conversation or Ticket).\").nullable(),\n state: z.string().describe(\"The state of the issue.\").nullable(),\n title: z.string().describe(\"The title of the issue.\").nullable(),\n number: z.number().int().describe(\"The issue number.\").nullable(),\n source: z.string().describe(\"The source of the issue.\").nullable(),\n account_id: z.string().describe(\"The associated account ID.\").nullable().optional(),\n created_at: z.string().describe(\"When the issue was created.\").nullable(),\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}).passthrough().describe(\"The updated issue summary. Use issue://{id} resource for full details.\"),\n success: z.boolean().describe(\"Whether the update was successful.\").nullable(),\n}).passthrough();\n\nexport const pylonMcpUpdateIssue: AppAction<\n typeof PylonMcpUpdateIssueInput,\n typeof PylonMcpUpdateIssueOutput,\n typeof pylonMcp.credential\n> = action(\"PYLON_MCP_UPDATE_ISSUE\", {\n slug: \"pylon_mcp-update-issue\",\n name: \"Update issue\",\n 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.\",\n input: PylonMcpUpdateIssueInput,\n output: PylonMcpUpdateIssueOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,2BAA2BA,IAAAA,EAAE,OAAO;CAC/C,MAAMA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;CAC9G,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mJAAmJ,CAAC,CAAC,SAAS;CACzL,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yFAAyF,CAAC,CAAC,SAAS;CACjI,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD;CAClF,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2EAA2E,CAAC,CAAC,SAAS;AACzH,CAAC;AACD,MAAa,4BAA4BA,IAAAA,EAAE,OAAO;CAChD,OAAOA,IAAAA,EAAE,OAAO;EAChB,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;EAChE,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,CAAC,CAAC,SAAS;EACzE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS;EAC/D,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS;EAC/D,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,SAAS;EAChE,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;EACjE,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAClF,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;EACxE,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,YAAY,CAAC,CAAC,SAAS,wEAAwE;CAChG,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS;AAC/E,CAAC,CAAC,CAAC,YAAY;AAEf,MAAa,sBAITC,eAAAA,OAAO,0BAA0B;CACnC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { pylonMcp } from "../app.cjs";
|
|
2
|
+
import { AppAction } from "@keystrokehq/keystroke/app";
|
|
1
3
|
import { z } from "zod";
|
|
2
4
|
|
|
3
5
|
//#region src/actions/update-issue.d.ts
|
|
@@ -24,13 +26,7 @@ declare const PylonMcpUpdateIssueOutput: z.ZodObject<{
|
|
|
24
26
|
}, z.core.$loose>;
|
|
25
27
|
success: z.ZodNullable<z.ZodBoolean>;
|
|
26
28
|
}, z.core.$loose>;
|
|
27
|
-
declare const pylonMcpUpdateIssue:
|
|
28
|
-
issue_id: string;
|
|
29
|
-
tags?: unknown;
|
|
30
|
-
state?: string | undefined;
|
|
31
|
-
team_id?: string | undefined;
|
|
32
|
-
assignee_id?: string | undefined;
|
|
33
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
29
|
+
declare const pylonMcpUpdateIssue: AppAction<typeof PylonMcpUpdateIssueInput, typeof PylonMcpUpdateIssueOutput, typeof pylonMcp.credential>;
|
|
34
30
|
//#endregion
|
|
35
31
|
export { pylonMcpUpdateIssue };
|
|
36
32
|
//# sourceMappingURL=update-issue.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-issue.d.cts","names":[],"sources":["../../src/actions/update-issue.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"update-issue.d.cts","names":[],"sources":["../../src/actions/update-issue.ts"],"mappings":";;;;;cAMa,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;cAOxB,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;cAiBzB,mBAAA,EAAqB,SAAA,QACzB,wBAAA,SACA,yBAAA,SACA,QAAA,CAAS,UAAA"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { pylonMcp } from "../app.mjs";
|
|
2
|
+
import { AppAction } from "@keystrokehq/keystroke/app";
|
|
1
3
|
import { z } from "zod";
|
|
2
4
|
|
|
3
5
|
//#region src/actions/update-issue.d.ts
|
|
@@ -24,13 +26,7 @@ declare const PylonMcpUpdateIssueOutput: z.ZodObject<{
|
|
|
24
26
|
}, z.core.$loose>;
|
|
25
27
|
success: z.ZodNullable<z.ZodBoolean>;
|
|
26
28
|
}, z.core.$loose>;
|
|
27
|
-
declare const pylonMcpUpdateIssue:
|
|
28
|
-
issue_id: string;
|
|
29
|
-
tags?: unknown;
|
|
30
|
-
state?: string | undefined;
|
|
31
|
-
team_id?: string | undefined;
|
|
32
|
-
assignee_id?: string | undefined;
|
|
33
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
29
|
+
declare const pylonMcpUpdateIssue: AppAction<typeof PylonMcpUpdateIssueInput, typeof PylonMcpUpdateIssueOutput, typeof pylonMcp.credential>;
|
|
34
30
|
//#endregion
|
|
35
31
|
export { pylonMcpUpdateIssue };
|
|
36
32
|
//# sourceMappingURL=update-issue.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-issue.d.mts","names":[],"sources":["../../src/actions/update-issue.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"update-issue.d.mts","names":[],"sources":["../../src/actions/update-issue.ts"],"mappings":";;;;;cAMa,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;cAOxB,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;cAiBzB,mBAAA,EAAqB,SAAA,QACzB,wBAAA,SACA,yBAAA,SACA,QAAA,CAAS,UAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-issue.mjs","names":[],"sources":["../../src/actions/update-issue.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PylonMcpUpdateIssueInput = z.object({\n tags: z.unknown().describe(\"An array of tags to set on the issue. This replaces all existing tags.\").optional(),\n state: 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(),\n team_id: z.string().describe(\"The ID of the team to assign the issue to. Pass empty string to remove team assignment.\").optional(),\n issue_id: z.string().describe(\"The ID or number of the issue to update. Required.\"),\n assignee_id: z.string().describe(\"The ID of the user to assign the issue to. Pass empty string to unassign.\").optional(),\n});\nexport const PylonMcpUpdateIssueOutput = z.object({\n issue: z.object({\n id: z.string().describe(\"The unique ID of the issue.\").nullable(),\n tags: z.array(z.string()).describe(\"Tags on the issue.\").nullable().optional(),\n type: z.string().describe(\"The type (Conversation or Ticket).\").nullable(),\n state: z.string().describe(\"The state of the issue.\").nullable(),\n title: z.string().describe(\"The title of the issue.\").nullable(),\n number: z.number().int().describe(\"The issue number.\").nullable(),\n source: z.string().describe(\"The source of the issue.\").nullable(),\n account_id: z.string().describe(\"The associated account ID.\").nullable().optional(),\n created_at: z.string().describe(\"When the issue was created.\").nullable(),\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}).passthrough().describe(\"The updated issue summary. Use issue://{id} resource for full details.\"),\n success: z.boolean().describe(\"Whether the update was successful.\").nullable(),\n}).passthrough();\n\nexport const pylonMcpUpdateIssue = action(\"PYLON_MCP_UPDATE_ISSUE\", {\n slug: \"pylon_mcp-update-issue\",\n name: \"Update issue\",\n 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.\",\n input: PylonMcpUpdateIssueInput,\n output: PylonMcpUpdateIssueOutput,\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"update-issue.mjs","names":[],"sources":["../../src/actions/update-issue.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { pylonMcp } from \"../app\";\n\nexport const PylonMcpUpdateIssueInput = z.object({\n tags: z.unknown().describe(\"An array of tags to set on the issue. This replaces all existing tags.\").optional(),\n state: 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(),\n team_id: z.string().describe(\"The ID of the team to assign the issue to. Pass empty string to remove team assignment.\").optional(),\n issue_id: z.string().describe(\"The ID or number of the issue to update. Required.\"),\n assignee_id: z.string().describe(\"The ID of the user to assign the issue to. Pass empty string to unassign.\").optional(),\n});\nexport const PylonMcpUpdateIssueOutput = z.object({\n issue: z.object({\n id: z.string().describe(\"The unique ID of the issue.\").nullable(),\n tags: z.array(z.string()).describe(\"Tags on the issue.\").nullable().optional(),\n type: z.string().describe(\"The type (Conversation or Ticket).\").nullable(),\n state: z.string().describe(\"The state of the issue.\").nullable(),\n title: z.string().describe(\"The title of the issue.\").nullable(),\n number: z.number().int().describe(\"The issue number.\").nullable(),\n source: z.string().describe(\"The source of the issue.\").nullable(),\n account_id: z.string().describe(\"The associated account ID.\").nullable().optional(),\n created_at: z.string().describe(\"When the issue was created.\").nullable(),\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}).passthrough().describe(\"The updated issue summary. Use issue://{id} resource for full details.\"),\n success: z.boolean().describe(\"Whether the update was successful.\").nullable(),\n}).passthrough();\n\nexport const pylonMcpUpdateIssue: AppAction<\n typeof PylonMcpUpdateIssueInput,\n typeof PylonMcpUpdateIssueOutput,\n typeof pylonMcp.credential\n> = action(\"PYLON_MCP_UPDATE_ISSUE\", {\n slug: \"pylon_mcp-update-issue\",\n name: \"Update issue\",\n 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.\",\n input: PylonMcpUpdateIssueInput,\n output: PylonMcpUpdateIssueOutput,\n});\n"],"mappings":";;;AA8BA,MAAa,sBAIT,OAAO,0BAA0B;CACnC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAhCsC,EAAE,OAAO;EAC/C,MAAM,EAAE,QAAQ,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;EAC9G,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,mJAAmJ,CAAC,CAAC,SAAS;EACzL,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,yFAAyF,CAAC,CAAC,SAAS;EACjI,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD;EAClF,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,2EAA2E,CAAC,CAAC,SAAS;CACzH,CA0BS;CACP,QA1BuC,EAAE,OAAO;EAChD,OAAO,EAAE,OAAO;GAChB,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;GAChE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;GAC7E,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS;GACzE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS;GAC/D,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS;GAC/D,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,SAAS;GAChE,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;GACjE,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;GAClF,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;GACxE,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,YAAY,CAAC,CAAC,SAAS,wEAAwE;EAChG,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS;CAC/E,CAAC,CAAC,CAAC,YAWO;AACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-account-files.cjs","names":["z","action"],"sources":["../../src/actions/upload-account-files.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const PylonMcpUploadAccountFilesInput = z.object({\n files: z.array(z.object({\n filename: z.string().describe(\"Filename including extension (e.g. handover.pdf). Required.\"),\n content_type: z.string().describe(\"Optional MIME type override. If omitted, detected from filename.\").optional(),\n content_base64: z.string().describe(\"Base64-encoded file bytes. Max 10 MB decoded. Required.\"),\n}).passthrough()).describe(\"Files to upload. 1 to 5 files per call.\"),\n account_id: z.string().describe(\"The ID or external ID of the account to upload files to. Required.\"),\n});\nexport const PylonMcpUploadAccountFilesOutput = z.object({\n files: z.array(z.object({\n id: z.string().nullable(),\n url: z.string().nullable(),\n filename: z.string().nullable(),\n file_type: z.string().nullable().optional(),\n}).passthrough()),\n success: z.boolean().nullable(),\n}).passthrough();\n\nexport const pylonMcpUploadAccountFiles = action(\"PYLON_MCP_UPLOAD_ACCOUNT_FILES\", {\n slug: \"pylon_mcp-upload-account-files\",\n name: \"Upload account files\",\n description: \"Upload one or more files (e.g. PDFs) into the Files tab of an account. Files with a matching filename are overwritten. Max 5 files per call, max 10 MB per file.\",\n input: PylonMcpUploadAccountFilesInput,\n output: PylonMcpUploadAccountFilesOutput,\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"upload-account-files.cjs","names":["z","action"],"sources":["../../src/actions/upload-account-files.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { pylonMcp } from \"../app\";\n\nexport const PylonMcpUploadAccountFilesInput = z.object({\n files: z.array(z.object({\n filename: z.string().describe(\"Filename including extension (e.g. handover.pdf). Required.\"),\n content_type: z.string().describe(\"Optional MIME type override. If omitted, detected from filename.\").optional(),\n content_base64: z.string().describe(\"Base64-encoded file bytes. Max 10 MB decoded. Required.\"),\n}).passthrough()).describe(\"Files to upload. 1 to 5 files per call.\"),\n account_id: z.string().describe(\"The ID or external ID of the account to upload files to. Required.\"),\n});\nexport const PylonMcpUploadAccountFilesOutput = z.object({\n files: z.array(z.object({\n id: z.string().nullable(),\n url: z.string().nullable(),\n filename: z.string().nullable(),\n file_type: z.string().nullable().optional(),\n}).passthrough()),\n success: z.boolean().nullable(),\n}).passthrough();\n\nexport const pylonMcpUploadAccountFiles: AppAction<\n typeof PylonMcpUploadAccountFilesInput,\n typeof PylonMcpUploadAccountFilesOutput,\n typeof pylonMcp.credential\n> = action(\"PYLON_MCP_UPLOAD_ACCOUNT_FILES\", {\n slug: \"pylon_mcp-upload-account-files\",\n name: \"Upload account files\",\n description: \"Upload one or more files (e.g. PDFs) into the Files tab of an account. Files with a matching filename are overwritten. Max 5 files per call, max 10 MB per file.\",\n input: PylonMcpUploadAccountFilesInput,\n output: PylonMcpUploadAccountFilesOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,kCAAkCA,IAAAA,EAAE,OAAO;CACtD,OAAOA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO;EACxB,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6DAA6D;EAC3F,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kEAAkE,CAAC,CAAC,SAAS;EAC/G,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD;CAC/F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,yCAAyC;CAClE,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oEAAoE;AACtG,CAAC;AACD,MAAa,mCAAmCA,IAAAA,EAAE,OAAO;CACvD,OAAOA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO;EACxB,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EACxB,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EACzB,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAC9B,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5C,CAAC,CAAC,CAAC,YAAY,CAAC;CACd,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;AAChC,CAAC,CAAC,CAAC,YAAY;AAEf,MAAa,6BAITC,eAAAA,OAAO,kCAAkC;CAC3C,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { pylonMcp } from "../app.cjs";
|
|
2
|
+
import { AppAction } from "@keystrokehq/keystroke/app";
|
|
1
3
|
import { z } from "zod";
|
|
2
4
|
|
|
3
5
|
//#region src/actions/upload-account-files.d.ts
|
|
@@ -18,15 +20,7 @@ declare const PylonMcpUploadAccountFilesOutput: z.ZodObject<{
|
|
|
18
20
|
}, z.core.$loose>>;
|
|
19
21
|
success: z.ZodNullable<z.ZodBoolean>;
|
|
20
22
|
}, z.core.$loose>;
|
|
21
|
-
declare const pylonMcpUploadAccountFiles:
|
|
22
|
-
files: {
|
|
23
|
-
[x: string]: unknown;
|
|
24
|
-
filename: string;
|
|
25
|
-
content_base64: string;
|
|
26
|
-
content_type?: string | undefined;
|
|
27
|
-
}[];
|
|
28
|
-
account_id: string;
|
|
29
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
23
|
+
declare const pylonMcpUploadAccountFiles: AppAction<typeof PylonMcpUploadAccountFilesInput, typeof PylonMcpUploadAccountFilesOutput, typeof pylonMcp.credential>;
|
|
30
24
|
//#endregion
|
|
31
25
|
export { pylonMcpUploadAccountFiles };
|
|
32
26
|
//# sourceMappingURL=upload-account-files.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-account-files.d.cts","names":[],"sources":["../../src/actions/upload-account-files.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"upload-account-files.d.cts","names":[],"sources":["../../src/actions/upload-account-files.ts"],"mappings":";;;;;cAMa,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;;;;cAQ/B,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;;;;;cAUhC,0BAAA,EAA4B,SAAA,QAChC,+BAAA,SACA,gCAAA,SACA,QAAA,CAAS,UAAA"}
|