@customer-support-success/pylon-mcp-server 1.7.0 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2,27 +2,14 @@
2
2
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
3
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
4
  import { z } from 'zod';
5
- import { PylonClient } from './pylon-client.js';
5
+ import { parseCacheTtl, isMessageConfirmationRequired, createPylonClient, ensurePylonClient as ensureClient, jsonResponse, processElicitationResult, buildElicitationMessage, buildElicitationSchema, } from './server-helpers.js';
6
6
  // Environment variable to control whether elicitation is required for customer-facing messages
7
- const REQUIRE_MESSAGE_CONFIRMATION = process.env.PYLON_REQUIRE_MESSAGE_CONFIRMATION !== 'false';
7
+ const REQUIRE_MESSAGE_CONFIRMATION = isMessageConfirmationRequired(process.env.PYLON_REQUIRE_MESSAGE_CONFIRMATION);
8
8
  const PYLON_API_TOKEN = process.env.PYLON_API_TOKEN;
9
9
  // Parse and validate PYLON_CACHE_TTL
10
- let PYLON_CACHE_TTL = undefined;
11
- if (process.env.PYLON_CACHE_TTL !== undefined) {
12
- const parsed = parseInt(process.env.PYLON_CACHE_TTL, 10);
13
- if (isNaN(parsed)) {
14
- throw new Error(`Invalid PYLON_CACHE_TTL value: "${process.env.PYLON_CACHE_TTL}". Must be a valid number.`);
15
- }
16
- PYLON_CACHE_TTL = parsed;
17
- }
10
+ const PYLON_CACHE_TTL = parseCacheTtl(process.env.PYLON_CACHE_TTL);
18
11
  // Initialize client only when token is available
19
- let pylonClient = null;
20
- if (PYLON_API_TOKEN) {
21
- pylonClient = new PylonClient({
22
- apiToken: PYLON_API_TOKEN,
23
- cacheTtl: PYLON_CACHE_TTL,
24
- });
25
- }
12
+ const pylonClient = createPylonClient(PYLON_API_TOKEN, PYLON_CACHE_TTL);
26
13
  // Create the McpServer instance (high-level API, replaces deprecated Server class)
27
14
  const mcpServer = new McpServer({
28
15
  name: 'pylon-mcp-server',
@@ -40,55 +27,12 @@ async function requestMessageConfirmation(issueId, content) {
40
27
  try {
41
28
  const elicitParams = {
42
29
  mode: 'form',
43
- message: `⚠️ CUSTOMER-FACING MESSAGE CONFIRMATION\n\nYou are about to send the following message to a customer on issue ${issueId}:\n\n---\n${content}\n---\n\nPlease review and confirm you want to send this message.`,
44
- requestedSchema: {
45
- type: 'object',
46
- properties: {
47
- confirm_send: {
48
- type: 'boolean',
49
- title: 'Confirm Send',
50
- description: 'Check this box to confirm you want to send this message to the customer',
51
- default: false,
52
- },
53
- modified_content: {
54
- type: 'string',
55
- title: 'Message Content (optional edit)',
56
- description: 'You can modify the message content here before sending. Leave empty to use the original message.',
57
- },
58
- },
59
- required: ['confirm_send'],
60
- },
30
+ message: buildElicitationMessage(issueId, content),
31
+ requestedSchema: buildElicitationSchema(),
61
32
  };
62
33
  // Access elicitInput via the underlying Server instance
63
34
  const result = await mcpServer.server.elicitInput(elicitParams);
64
- if (result.action === 'accept' && result.content) {
65
- const confirmSend = result.content.confirm_send;
66
- const modifiedContent = result.content.modified_content;
67
- if (confirmSend) {
68
- return {
69
- confirmed: true,
70
- content: modifiedContent && modifiedContent.trim() ? modifiedContent.trim() : content,
71
- };
72
- }
73
- else {
74
- return {
75
- confirmed: false,
76
- reason: 'User did not confirm the message send',
77
- };
78
- }
79
- }
80
- else if (result.action === 'decline') {
81
- return {
82
- confirmed: false,
83
- reason: 'User explicitly declined to send the message',
84
- };
85
- }
86
- else {
87
- return {
88
- confirmed: false,
89
- reason: 'User cancelled the confirmation dialog',
90
- };
91
- }
35
+ return processElicitationResult(result, content);
92
36
  }
93
37
  catch (error) {
94
38
  // If elicitation is not supported by the client, log a warning and proceed
@@ -100,14 +44,7 @@ async function requestMessageConfirmation(issueId, content) {
100
44
  }
101
45
  // Helper function to ensure pylonClient is initialized
102
46
  function ensurePylonClient() {
103
- if (!pylonClient) {
104
- throw new Error('PYLON_API_TOKEN environment variable is required');
105
- }
106
- return pylonClient;
107
- }
108
- // Helper to create a JSON text response
109
- function jsonResponse(data) {
110
- return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
47
+ return ensureClient(pylonClient);
111
48
  }
112
49
  // Register all tools using the McpServer.registerTool() pattern
113
50
  // User Management Tools
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,aAAa,EACb,6BAA6B,EAC7B,iBAAiB,EACjB,iBAAiB,IAAI,YAAY,EACjC,YAAY,EACZ,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAE7B,+FAA+F;AAC/F,MAAM,4BAA4B,GAAG,6BAA6B,CAChE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAC/C,CAAC;AAEF,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;AAEpD,qCAAqC;AACrC,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAEnE,iDAAiD;AACjD,MAAM,WAAW,GAAG,iBAAiB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;AAExE,mFAAmF;AACnF,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,KAAK,UAAU,0BAA0B,CACvC,OAAe,EACf,OAAe;IAEf,IAAI,CAAC;QACH,MAAM,YAAY,GAA4B;YAC5C,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC;YAClD,eAAe,EAAE,sBAAsB,EAAE;SAC1C,CAAC;QAEF,wDAAwD;QACxD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAEhE,OAAO,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2EAA2E;QAC3E,qFAAqF;QACrF,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;QAC7D,MAAM,IAAI,KAAK,CACb,oFAAoF;YAClF,oIAAoI,CACvI,CAAC;IACJ,CAAC;AACH,CAAC;AAED,uDAAuD;AACvD,SAAS,iBAAiB;IACxB,OAAO,YAAY,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAED,gEAAgE;AAEhE,wBAAwB;AACxB,SAAS,CAAC,YAAY,CACpB,cAAc,EACd;IACE,WAAW,EACT,6LAA6L;CAChM,EACD,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,KAAK,EAAE,CAAC,CAC5D,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,iBAAiB,EACjB;IACE,WAAW,EACT,gJAAgJ;CACnJ,EACD,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAC/D,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,oBAAoB,EACpB;IACE,WAAW,EACT,gKAAgK;IAClK,WAAW,EAAE;QACX,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CACP,oHAAoH,CACrH;KACJ;CACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAChF,CAAC;AAEF,2BAA2B;AAC3B,SAAS,CAAC,YAAY,CACpB,oBAAoB,EACpB;IACE,WAAW,EACT,uLAAuL;IACzL,WAAW,EAAE;QACX,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,qGAAqG,CACtG;QACH,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0EAA0E,CAAC;KACxF;CACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAC1E,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,sBAAsB,EACtB;IACE,WAAW,EACT,kKAAkK;IACpK,WAAW,EAAE;QACX,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CACP,iFAAiF,CAClF;QACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;QAC/E,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,kGAAkG,CACnG;KACJ;CACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC5E,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,uBAAuB,EACvB;IACE,WAAW,EACT,oMAAoM;IACtM,WAAW,EAAE;QACX,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CACP,4JAA4J,CAC7J;KACJ;CACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CACnF,CAAC;AAEF,yBAAyB;AACzB,SAAS,CAAC,YAAY,CACpB,kBAAkB,EAClB;IACE,WAAW,EACT,gNAAgN;IAClN,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,gGAAgG,CACjG;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,0GAA0G,CAC3G;QACH,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,wEAAwE,CAAC;KACtF;CACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACxE,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,oBAAoB,EACpB;IACE,WAAW,EACT,uJAAuJ;IACzJ,WAAW,EAAE;QACX,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CACP,iHAAiH,CAClH;QACH,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,CACP,0LAA0L,CAC3L;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,CACP,wHAAwH,CACzH;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CAAC,oEAAoE,CAAC;QACjF,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,wFAAwF,CACzF;KACJ;CACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAC1E,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,iBAAiB,EACjB;IACE,WAAW,EACT,wRAAwR;IAC1R,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CACP,0JAA0J,CAC3J;KACJ;CACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CACnF,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,oBAAoB,EACpB;IACE,WAAW,EACT,+LAA+L;IACjM,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;QACnF,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,sEAAsE,CAAC;QACnF,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,4IAA4I,CAC7I;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,yFAAyF,CAC1F;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0EAA0E,CAAC;QACvF,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,iEAAiE,CAAC;KAC/E;CACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,CACjC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CACzE,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,qBAAqB,EACrB;IACE,WAAW,EACT,+KAA+K;IACjL,WAAW,EAAE;QACX,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CACP,8JAA8J,CAC/J;QACH,OAAO,EAAE,CAAC;aACP,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/B,QAAQ,EAAE;aACV,QAAQ,CACP,0JAA0J,CAC3J;KACJ;CACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAC3B,YAAY,CACV,MAAM,iBAAiB,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,OAA8C,CAAC,CAC9F,CACJ,CAAC;AAEF,8BAA8B;AAC9B,SAAS,CAAC,YAAY,CACpB,yCAAyC,EACzC;IACE,WAAW,EACT,+NAA+N;IACjO,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CACP,oFAAoF,CACrF;QACH,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,+GAA+G,CAChH;QACH,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;KACvE;CACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CACnC,YAAY,CACV,MAAM,iBAAiB,EAAE,CAAC,6BAA6B,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CACpF,CACJ,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,uCAAuC,EACvC;IACE,WAAW,EACT,yNAAyN;IAC3N,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CACP,oFAAoF,CACrF;QACH,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,mHAAmH,CACpH;QACH,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;KACvE;CACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CACnC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,2BAA2B,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAClG,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,kCAAkC,EAClC;IACE,WAAW,EACT,kOAAkO;IACpO,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CACP,oFAAoF,CACrF;QACH,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,+GAA+G,CAChH;QACH,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;KACvE;CACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CACnC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,uBAAuB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAC9F,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,oBAAoB,EACpB;IACE,WAAW,EACT,8MAA8M;IAChN,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;QACnF,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CACP,8JAA8J,CAC/J;KACJ;CACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;IAC5B,MAAM,iBAAiB,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACvD,OAAO,YAAY,CAAC;QAClB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,4BAA4B;QACrC,QAAQ;QACR,aAAa,EAAE,KAAK;KACrB,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,+BAA+B,EAC/B;IACE,WAAW,EACT,+QAA+Q;IACjR,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CACP,oIAAoI,CACrI;KACJ;CACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAC/F,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,0BAA0B,EAC1B;IACE,WAAW,EACT,0OAA0O;IAC5O,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CACP,2IAA2I,CAC5I;KACJ;CACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAC3F,CAAC;AAEF,iDAAiD;AACjD,SAAS,CAAC,YAAY,CACpB,4BAA4B,EAC5B;IACE,WAAW,EACT,iUAAiU;IACnU,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;QAC3F,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,CACP,0OAA0O,CAC3O;KACJ;CACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;IAC9B,IAAI,cAAc,GAAG,OAAO,CAAC;IAE7B,oEAAoE;IACpE,IAAI,4BAA4B,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,MAAM,0BAA0B,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAEhF,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,YAAY,CAAC;gBAClB,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,yCAAyC;gBAClD,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,QAAQ;gBACR,gBAAgB,EAAE,cAAc;aACjC,CAAC,CAAC;QACL,CAAC;QAED,6DAA6D;QAC7D,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;AAC9F,CAAC,CACF,CAAC;AAEF,uBAAuB;AACvB,SAAS,CAAC,YAAY,CACpB,2BAA2B,EAC3B;IACE,WAAW,EACT,8MAA8M;CACjN,EACD,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,CACxE,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,mCAAmC,EACnC;IACE,WAAW,EACT,qLAAqL;IACvL,WAAW,EAAE;QACX,iBAAiB,EAAE,CAAC;aACjB,MAAM,EAAE;aACR,QAAQ,CACP,oHAAoH,CACrH;KACJ;CACF,EACD,KAAK,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAC9B,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,CAAC,CACtF,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,qCAAqC,EACrC;IACE,WAAW,EACT,uKAAuK;IACzK,WAAW,EAAE;QACX,iBAAiB,EAAE,CAAC;aACjB,MAAM,EAAE;aACR,QAAQ,CAAC,kEAAkE,CAAC;QAC/E,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CACP,uIAAuI,CACxI;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,CACP,uMAAuM,CACxM;KACJ;CACF,EACD,KAAK,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAC9C,YAAY,CACV,MAAM,iBAAiB,EAAE,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAC5F,CACJ,CAAC;AAEF,wBAAwB;AACxB,SAAS,CAAC,YAAY,CACpB,iBAAiB,EACjB;IACE,WAAW,EACT,uMAAuM;CAC1M,EACD,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAC/D,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,gBAAgB,EAChB;IACE,WAAW,EACT,4IAA4I;IAC9I,WAAW,EAAE;QACX,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,CACP,gGAAgG,CACjG;KACJ;CACF,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAChF,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,mBAAmB,EACnB;IACE,WAAW,EACT,0MAA0M;IAC5M,WAAW,EAAE;QACX,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,CACP,uIAAuI,CACxI;QACH,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,yIAAyI,CAC1I;QACH,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,6GAA6G,CAC9G;KACJ;CACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CACzE,CAAC;AAEF,2BAA2B;AAC3B,SAAS,CAAC,YAAY,CACpB,oBAAoB,EACpB;IACE,WAAW,EACT,oMAAoM;CACvM,EACD,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,WAAW,EAAE,CAAC,CAClE,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,mBAAmB,EACnB;IACE,WAAW,EACT,6JAA6J;IAC/J,WAAW,EAAE;QACX,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,CACP,mHAAmH,CACpH;KACJ;CACF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CACzF,CAAC;AAEF,uBAAuB;AACvB,SAAS,CAAC,YAAY,CACpB,gBAAgB,EAChB;IACE,WAAW,EACT,8LAA8L;CACjM,EACD,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,OAAO,EAAE,CAAC,CAC9D,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,kBAAkB,EAClB;IACE,WAAW,EACT,uJAAuJ;IACzJ,WAAW,EAAE;QACX,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,CACP,sIAAsI,CACvI;QACH,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,8FAA8F,CAC/F;KACJ;CACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACxE,CAAC;AAEF,oBAAoB;AACpB,SAAS,CAAC,YAAY,CACpB,wBAAwB,EACxB;IACE,WAAW,EACT,2LAA2L;CAC9L,EACD,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,cAAc,EAAE,CAAC,CACrE,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,0BAA0B,EAC1B;IACE,WAAW,EACT,mNAAmN;IACrN,WAAW,EAAE;QACX,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,CACP,8HAA8H,CAC/H;QACH,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,iJAAiJ,CAClJ;QACH,MAAM,EAAE,CAAC;aACN,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aACxC,QAAQ,CACP,2QAA2Q,CAC5Q;KACJ;CACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CACb,YAAY,CACV,MAAM,iBAAiB,EAAE,CAAC,gBAAgB,CACxC,IAAiF,CAClF,CACF,CACJ,CAAC;AAEF,2BAA2B;AAC3B,SAAS,CAAC,YAAY,CACpB,oBAAoB,EACpB;IACE,WAAW,EACT,mLAAmL;CACtL,EACD,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,WAAW,EAAE,CAAC,CAClE,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,sBAAsB,EACtB;IACE,WAAW,EACT,6KAA6K;IAC/K,WAAW,EAAE;QACX,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,CACP,sKAAsK,CACvK;QACH,MAAM,EAAE,CAAC;aACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,CACP,+JAA+J,CAChK;QACH,MAAM,EAAE,CAAC;aACN,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,iFAAiF,CAClF;KACJ;CACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CACb,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAClG,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,sBAAsB,EACtB;IACE,WAAW,EACT,qJAAqJ;IACvJ,WAAW,EAAE;QACX,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,CACP,0FAA0F,CAC3F;KACJ;CACF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IACvB,MAAM,iBAAiB,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACpD,OAAO,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,8BAA8B,EAAE,UAAU,EAAE,CAAC,CAAC;AAC9F,CAAC,CACF,CAAC;AAEF,8BAA8B;AAC9B,SAAS,CAAC,YAAY,CACpB,sBAAsB,EACtB;IACE,WAAW,EACT,2LAA2L;IAC7L,WAAW,EAAE;QACX,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,QAAQ,CACP,kGAAkG,CACnG;KACJ;CACF,EACD,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAClG,CAAC;AAEF,SAAS,CAAC,YAAY,CACpB,kCAAkC,EAClC;IACE,WAAW,EACT,sOAAsO;IACxO,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CACP,kHAAkH,CACnH;QACH,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,mFAAmF,CACpF;KACJ;CACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CAClC,YAAY,CAAC,MAAM,iBAAiB,EAAE,CAAC,uBAAuB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CACzF,CAAC;AACF,oCAAoC;AACpC,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACnC,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;AACrD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Server helper functions and utilities for the Pylon MCP Server.
3
+ * Extracted for testability.
4
+ */
5
+ import { PylonClient } from './pylon-client.js';
6
+ /**
7
+ * Parse and validate the PYLON_CACHE_TTL environment variable.
8
+ * @param envValue - The raw environment variable value
9
+ * @returns The parsed TTL value, or undefined if not set
10
+ * @throws Error if the value is set but not a valid integer
11
+ */
12
+ export declare function parseCacheTtl(envValue: string | undefined): number | undefined;
13
+ /**
14
+ * Determine if message confirmation is required based on environment variable.
15
+ * @param envValue - The PYLON_REQUIRE_MESSAGE_CONFIRMATION env var value
16
+ * @returns true if confirmation is required, false otherwise
17
+ */
18
+ export declare function isMessageConfirmationRequired(envValue: string | undefined): boolean;
19
+ /**
20
+ * Create a PylonClient instance if the API token is available.
21
+ * @param apiToken - The Pylon API token
22
+ * @param cacheTtl - Optional cache TTL in milliseconds
23
+ * @returns PylonClient instance or null if no token
24
+ */
25
+ export declare function createPylonClient(apiToken: string | undefined, cacheTtl?: number): PylonClient | null;
26
+ /**
27
+ * Helper function to ensure pylonClient is initialized.
28
+ * @param client - The PylonClient instance (may be null)
29
+ * @returns The PylonClient instance
30
+ * @throws Error if client is null
31
+ */
32
+ export declare function ensurePylonClient(client: PylonClient | null): PylonClient;
33
+ /**
34
+ * Helper to create a JSON text response for MCP tools.
35
+ * @param data - The data to serialize
36
+ * @returns MCP tool response with JSON content (text is always a string)
37
+ */
38
+ export declare function jsonResponse(data: unknown): {
39
+ content: {
40
+ type: "text";
41
+ text: string;
42
+ }[];
43
+ };
44
+ /**
45
+ * Process elicitation result for message confirmation.
46
+ * @param result - The elicitation result from MCP
47
+ * @param originalContent - The original message content
48
+ * @returns Confirmation result with confirmed status and content
49
+ */
50
+ export declare function processElicitationResult(result: {
51
+ action: string;
52
+ content?: Record<string, unknown>;
53
+ }, originalContent: string): {
54
+ confirmed: boolean;
55
+ content?: string;
56
+ reason?: string;
57
+ };
58
+ /**
59
+ * Build the elicitation message for message confirmation.
60
+ * @param issueId - The issue ID
61
+ * @param content - The message content
62
+ * @returns The formatted elicitation message
63
+ */
64
+ export declare function buildElicitationMessage(issueId: string, content: string): string;
65
+ /**
66
+ * Build the elicitation schema for message confirmation.
67
+ * @returns The JSON schema for the elicitation form
68
+ */
69
+ export declare function buildElicitationSchema(): {
70
+ type: "object";
71
+ properties: {
72
+ confirm_send: {
73
+ type: "boolean";
74
+ title: string;
75
+ description: string;
76
+ default: boolean;
77
+ };
78
+ modified_content: {
79
+ type: "string";
80
+ title: string;
81
+ description: string;
82
+ };
83
+ };
84
+ required: string[];
85
+ };
86
+ //# sourceMappingURL=server-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-helpers.d.ts","sourceRoot":"","sources":["../src/server-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAY9E;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEnF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB,WAAW,GAAG,IAAI,CAQpB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,WAAW,CAKzE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO;;;;;EAKzC;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAC7D,eAAe,EAAE,MAAM,GACtB;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAkC3D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB;;;;;;;;;;;;;;;cAiBJ,MAAM,EAAE;EAEzC"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Server helper functions and utilities for the Pylon MCP Server.
3
+ * Extracted for testability.
4
+ */
5
+ import { PylonClient } from './pylon-client.js';
6
+ /**
7
+ * Parse and validate the PYLON_CACHE_TTL environment variable.
8
+ * @param envValue - The raw environment variable value
9
+ * @returns The parsed TTL value, or undefined if not set
10
+ * @throws Error if the value is set but not a valid integer
11
+ */
12
+ export function parseCacheTtl(envValue) {
13
+ if (envValue === undefined) {
14
+ return undefined;
15
+ }
16
+ // Validate that the value is a pure integer string (with optional leading minus sign)
17
+ // This prevents parseInt from accepting partial numeric prefixes like "5000ms"
18
+ if (!/^-?\d+$/.test(envValue.trim())) {
19
+ throw new Error(`Invalid PYLON_CACHE_TTL value: "${envValue}". Must be a valid integer (e.g., "5000", "0", "-1").`);
20
+ }
21
+ return parseInt(envValue, 10);
22
+ }
23
+ /**
24
+ * Determine if message confirmation is required based on environment variable.
25
+ * @param envValue - The PYLON_REQUIRE_MESSAGE_CONFIRMATION env var value
26
+ * @returns true if confirmation is required, false otherwise
27
+ */
28
+ export function isMessageConfirmationRequired(envValue) {
29
+ return envValue !== 'false';
30
+ }
31
+ /**
32
+ * Create a PylonClient instance if the API token is available.
33
+ * @param apiToken - The Pylon API token
34
+ * @param cacheTtl - Optional cache TTL in milliseconds
35
+ * @returns PylonClient instance or null if no token
36
+ */
37
+ export function createPylonClient(apiToken, cacheTtl) {
38
+ if (!apiToken) {
39
+ return null;
40
+ }
41
+ return new PylonClient({
42
+ apiToken,
43
+ cacheTtl,
44
+ });
45
+ }
46
+ /**
47
+ * Helper function to ensure pylonClient is initialized.
48
+ * @param client - The PylonClient instance (may be null)
49
+ * @returns The PylonClient instance
50
+ * @throws Error if client is null
51
+ */
52
+ export function ensurePylonClient(client) {
53
+ if (!client) {
54
+ throw new Error('PYLON_API_TOKEN environment variable is required');
55
+ }
56
+ return client;
57
+ }
58
+ /**
59
+ * Helper to create a JSON text response for MCP tools.
60
+ * @param data - The data to serialize
61
+ * @returns MCP tool response with JSON content (text is always a string)
62
+ */
63
+ export function jsonResponse(data) {
64
+ // JSON.stringify(undefined) returns undefined, so we need to handle that case
65
+ // to ensure text is always a string for MCP protocol compliance
66
+ const text = JSON.stringify(data, null, 2) ?? 'null';
67
+ return { content: [{ type: 'text', text }] };
68
+ }
69
+ /**
70
+ * Process elicitation result for message confirmation.
71
+ * @param result - The elicitation result from MCP
72
+ * @param originalContent - The original message content
73
+ * @returns Confirmation result with confirmed status and content
74
+ */
75
+ export function processElicitationResult(result, originalContent) {
76
+ if (result.action === 'accept' && result.content) {
77
+ // Guard against non-boolean values at runtime since content is Record<string, unknown>
78
+ // A string like 'false' would be truthy, so we require strict boolean true
79
+ const rawConfirmSend = result.content.confirm_send;
80
+ const confirmSend = rawConfirmSend === true;
81
+ const rawModifiedContent = result.content.modified_content;
82
+ // Guard against non-string values at runtime since content is Record<string, unknown>
83
+ const modifiedContent = typeof rawModifiedContent === 'string' ? rawModifiedContent : undefined;
84
+ if (confirmSend) {
85
+ return {
86
+ confirmed: true,
87
+ content: modifiedContent && modifiedContent.trim() ? modifiedContent.trim() : originalContent,
88
+ };
89
+ }
90
+ else {
91
+ return {
92
+ confirmed: false,
93
+ reason: 'User did not confirm the message send',
94
+ };
95
+ }
96
+ }
97
+ else if (result.action === 'decline') {
98
+ return {
99
+ confirmed: false,
100
+ reason: 'User explicitly declined to send the message',
101
+ };
102
+ }
103
+ else {
104
+ return {
105
+ confirmed: false,
106
+ reason: 'User cancelled the confirmation dialog',
107
+ };
108
+ }
109
+ }
110
+ /**
111
+ * Build the elicitation message for message confirmation.
112
+ * @param issueId - The issue ID
113
+ * @param content - The message content
114
+ * @returns The formatted elicitation message
115
+ */
116
+ export function buildElicitationMessage(issueId, content) {
117
+ return `⚠️ CUSTOMER-FACING MESSAGE CONFIRMATION\n\nYou are about to send the following message to a customer on issue ${issueId}:\n\n---\n${content}\n---\n\nPlease review and confirm you want to send this message.`;
118
+ }
119
+ /**
120
+ * Build the elicitation schema for message confirmation.
121
+ * @returns The JSON schema for the elicitation form
122
+ */
123
+ export function buildElicitationSchema() {
124
+ return {
125
+ type: 'object',
126
+ properties: {
127
+ confirm_send: {
128
+ type: 'boolean',
129
+ title: 'Confirm Send',
130
+ description: 'Check this box to confirm you want to send this message to the customer',
131
+ default: false,
132
+ },
133
+ modified_content: {
134
+ type: 'string',
135
+ title: 'Message Content (optional edit)',
136
+ description: 'You can modify the message content here before sending. Leave empty to use the original message.',
137
+ },
138
+ },
139
+ required: ['confirm_send'],
140
+ };
141
+ }
142
+ //# sourceMappingURL=server-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-helpers.js","sourceRoot":"","sources":["../src/server-helpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@customer-support-success/pylon-mcp-server",
3
- "version": "1.7.0",
3
+ "version": "1.7.1",
4
4
  "description": "MCP server for Pylon API integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/vitest.config.ts CHANGED
@@ -7,6 +7,8 @@ export default defineConfig({
7
7
  coverage: {
8
8
  provider: 'v8',
9
9
  reporter: ['text', 'json', 'html', 'lcov'],
10
+ // Explicitly include all source files for instrumentation
11
+ include: ['src/**/*.ts'],
10
12
  exclude: ['node_modules/', 'dist/', '**/*.test.ts', '**/*.spec.ts', 'vitest.config.ts'],
11
13
  },
12
14
  },