@linkedapi/mcp 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/README.md +9 -0
  2. package/dist/index.js +19 -9
  3. package/dist/index.js.map +1 -1
  4. package/dist/linked-api-server.d.ts +8 -5
  5. package/dist/linked-api-server.d.ts.map +1 -1
  6. package/dist/linked-api-server.js +63 -49
  7. package/dist/linked-api-server.js.map +1 -1
  8. package/dist/linked-api-tools.d.ts +17 -5
  9. package/dist/linked-api-tools.d.ts.map +1 -1
  10. package/dist/linked-api-tools.js +28 -28
  11. package/dist/linked-api-tools.js.map +1 -1
  12. package/dist/prompts/index.d.ts +2 -2
  13. package/dist/prompts/index.d.ts.map +1 -1
  14. package/dist/prompts/index.js +3 -1
  15. package/dist/prompts/index.js.map +1 -1
  16. package/dist/tools/comment-on-post.d.ts.map +1 -1
  17. package/dist/tools/comment-on-post.js +1 -1
  18. package/dist/tools/comment-on-post.js.map +1 -1
  19. package/dist/tools/create-post.js +1 -1
  20. package/dist/tools/create-post.js.map +1 -1
  21. package/dist/tools/execute-custom-workflow.d.ts.map +1 -1
  22. package/dist/tools/execute-custom-workflow.js +1 -1
  23. package/dist/tools/execute-custom-workflow.js.map +1 -1
  24. package/dist/tools/get-api-usage-stats.d.ts +0 -2
  25. package/dist/tools/get-api-usage-stats.d.ts.map +1 -1
  26. package/dist/tools/get-api-usage-stats.js.map +1 -1
  27. package/dist/tools/get-conversation.d.ts +3 -4
  28. package/dist/tools/get-conversation.d.ts.map +1 -1
  29. package/dist/tools/get-conversation.js +7 -6
  30. package/dist/tools/get-conversation.js.map +1 -1
  31. package/dist/tools/get-workflow-result.d.ts +6 -4
  32. package/dist/tools/get-workflow-result.d.ts.map +1 -1
  33. package/dist/tools/get-workflow-result.js +37 -10
  34. package/dist/tools/get-workflow-result.js.map +1 -1
  35. package/dist/tools/nv-get-conversation.d.ts +3 -4
  36. package/dist/tools/nv-get-conversation.d.ts.map +1 -1
  37. package/dist/tools/nv-get-conversation.js +7 -6
  38. package/dist/tools/nv-get-conversation.js.map +1 -1
  39. package/dist/tools/nv-send-message.js +1 -1
  40. package/dist/tools/nv-send-message.js.map +1 -1
  41. package/dist/tools/react-to-post.js +1 -1
  42. package/dist/tools/react-to-post.js.map +1 -1
  43. package/dist/tools/remove-connection.js +1 -1
  44. package/dist/tools/remove-connection.js.map +1 -1
  45. package/dist/tools/send-connection-request.js +1 -1
  46. package/dist/tools/send-connection-request.js.map +1 -1
  47. package/dist/tools/send-message.d.ts.map +1 -1
  48. package/dist/tools/send-message.js +1 -1
  49. package/dist/tools/send-message.js.map +1 -1
  50. package/dist/tools/withdraw-connection-request.js +1 -1
  51. package/dist/tools/withdraw-connection-request.js.map +1 -1
  52. package/dist/types/linked-api-tool-result.type.d.ts +6 -0
  53. package/dist/types/linked-api-tool-result.type.d.ts.map +1 -0
  54. package/dist/types/linked-api-tool-result.type.js +3 -0
  55. package/dist/types/linked-api-tool-result.type.js.map +1 -0
  56. package/dist/utils/define-request-timeout.d.ts.map +1 -1
  57. package/dist/utils/define-request-timeout.js +16 -4
  58. package/dist/utils/define-request-timeout.js.map +1 -1
  59. package/dist/utils/handle-linked-api-error.d.ts +1 -1
  60. package/dist/utils/handle-linked-api-error.d.ts.map +1 -1
  61. package/dist/utils/handle-linked-api-error.js +0 -9
  62. package/dist/utils/handle-linked-api-error.js.map +1 -1
  63. package/dist/utils/json-http-transport.d.ts.map +1 -1
  64. package/dist/utils/json-http-transport.js +4 -3
  65. package/dist/utils/json-http-transport.js.map +1 -1
  66. package/dist/utils/linked-api-tool.d.ts +10 -16
  67. package/dist/utils/linked-api-tool.d.ts.map +1 -1
  68. package/dist/utils/linked-api-tool.js +4 -10
  69. package/dist/utils/linked-api-tool.js.map +1 -1
  70. package/dist/utils/types.d.ts +0 -6
  71. package/dist/utils/types.d.ts.map +1 -1
  72. package/package.json +2 -2
  73. package/src/index.ts +19 -11
  74. package/src/linked-api-server.ts +83 -57
  75. package/src/linked-api-tools.ts +45 -32
  76. package/src/prompts/index.ts +3 -1
  77. package/src/tools/comment-on-post.ts +2 -1
  78. package/src/tools/create-post.ts +1 -1
  79. package/src/tools/execute-custom-workflow.ts +2 -1
  80. package/src/tools/get-api-usage-stats.ts +0 -2
  81. package/src/tools/get-conversation.ts +13 -10
  82. package/src/tools/get-workflow-result.ts +63 -17
  83. package/src/tools/nv-get-conversation.ts +13 -10
  84. package/src/tools/nv-send-message.ts +1 -1
  85. package/src/tools/react-to-post.ts +1 -1
  86. package/src/tools/remove-connection.ts +1 -1
  87. package/src/tools/send-connection-request.ts +1 -1
  88. package/src/tools/send-message.ts +2 -1
  89. package/src/tools/withdraw-connection-request.ts +1 -1
  90. package/src/types/linked-api-tool-result.type.ts +12 -0
  91. package/src/utils/define-request-timeout.ts +16 -4
  92. package/src/utils/handle-linked-api-error.ts +2 -10
  93. package/src/utils/json-http-transport.ts +4 -3
  94. package/src/utils/linked-api-tool.ts +16 -32
  95. package/src/utils/types.ts +0 -6
  96. package/dist/utils/execute-with-progress.d.ts +0 -8
  97. package/dist/utils/execute-with-progress.d.ts.map +0 -1
  98. package/dist/utils/execute-with-progress.js +0 -75
  99. package/dist/utils/execute-with-progress.js.map +0 -1
  100. package/src/utils/execute-with-progress.ts +0 -93
@@ -13,7 +13,7 @@ class ExecuteCustomWorkflowTool extends linked_api_tool_js_1.OperationTool {
13
13
  getTool() {
14
14
  return {
15
15
  name: this.name,
16
- description: 'Execute a custom workflow definition',
16
+ description: 'Execute a custom workflow definition. If this workflow is still running, do not retry this tool; retrying can duplicate any write actions inside the custom workflow.',
17
17
  inputSchema: {
18
18
  type: 'object',
19
19
  properties: { definition: { type: 'object' } },
@@ -1 +1 @@
1
- {"version":3,"file":"execute-custom-workflow.js","sourceRoot":"","sources":["../../src/tools/execute-custom-workflow.ts"],"names":[],"mappings":";;;AAAA,0CAA2F;AAE3F,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,yBAA0B,SAAQ,kCAG9C;IAC0B,IAAI,GAAG,yBAAyB,CAAC;IACjC,aAAa,GAAG,qBAAc,CAAC,cAAc,CAAC;IAC3C,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,UAAU,EAAE,OAAC,CAAC,GAAG,EAAE;KACpB,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,sCAAsC;YACnD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC9C,QAAQ,EAAE,CAAC,YAAY,CAAC;aACzB;SACF,CAAC;IACJ,CAAC;CACF;AArBD,8DAqBC"}
1
+ {"version":3,"file":"execute-custom-workflow.js","sourceRoot":"","sources":["../../src/tools/execute-custom-workflow.ts"],"names":[],"mappings":";;;AAAA,0CAA2F;AAE3F,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,yBAA0B,SAAQ,kCAG9C;IAC0B,IAAI,GAAG,yBAAyB,CAAC;IACjC,aAAa,GAAG,qBAAc,CAAC,cAAc,CAAC;IAC3C,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,UAAU,EAAE,OAAC,CAAC,GAAG,EAAE;KACpB,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,uKAAuK;YACzK,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC9C,QAAQ,EAAE,CAAC,YAAY,CAAC;aACzB;SACF,CAAC;IACJ,CAAC;CACF;AAtBD,8DAsBC"}
@@ -11,8 +11,6 @@ export declare class GetApiUsageTool extends LinkedApiTool<TApiUsageParams, TApi
11
11
  execute({ linkedapi, args, }: {
12
12
  linkedapi: LinkedApi;
13
13
  args: TApiUsageParams;
14
- workflowTimeout: number;
15
- progressToken?: string | number;
16
14
  }): Promise<TMappedResponse<TApiUsageAction[]>>;
17
15
  getTool(): Tool;
18
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-api-usage-stats.d.ts","sourceRoot":"","sources":["../../src/tools/get-api-usage-stats.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC/F,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,eAAgB,SAAQ,aAAa,CAAC,eAAe,EAAE,eAAe,EAAE,CAAC;IACpF,SAAgB,IAAI,mBAAmB;IACvC,SAAS,CAAC,QAAQ,CAAC,MAAM;;;sBAGtB;IAEmB,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,GACL,EAAE;QACD,SAAS,EAAE,SAAS,CAAC;QACrB,IAAI,EAAE,eAAe,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACjC,GAAG,OAAO,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,CAAC;IAI/B,OAAO,IAAI,IAAI;CAsBhC"}
1
+ {"version":3,"file":"get-api-usage-stats.d.ts","sourceRoot":"","sources":["../../src/tools/get-api-usage-stats.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC/F,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,eAAgB,SAAQ,aAAa,CAAC,eAAe,EAAE,eAAe,EAAE,CAAC;IACpF,SAAgB,IAAI,mBAAmB;IACvC,SAAS,CAAC,QAAQ,CAAC,MAAM;;;sBAGtB;IAEmB,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,GACL,EAAE;QACD,SAAS,EAAE,SAAS,CAAC;QACrB,IAAI,EAAE,eAAe,CAAC;KACvB,GAAG,OAAO,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,CAAC;IAI/B,OAAO,IAAI,IAAI;CAsBhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-api-usage-stats.js","sourceRoot":"","sources":["../../src/tools/get-api-usage-stats.ts"],"names":[],"mappings":";;;;;;AAEA,8CAAoB;AAEpB,oEAA4D;AAE5D,MAAa,eAAgB,SAAQ,kCAAiD;IACpE,IAAI,GAAG,eAAe,CAAC;IACpB,MAAM,GAAG,aAAC,CAAC,MAAM,CAAC;QACnC,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE;QACjB,GAAG,EAAE,aAAC,CAAC,MAAM,EAAE;KAChB,CAAC,CAAC;IAEa,KAAK,CAAC,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,GAML;QACC,OAAO,MAAM,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEe,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,2EAA2E;YACxF,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,wFAAwF;qBAC3F;oBACD,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,sFAAsF;qBACzF;iBACF;gBACD,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;aAC3B;SACF,CAAC;IACJ,CAAC;CACF;AAzCD,0CAyCC"}
1
+ {"version":3,"file":"get-api-usage-stats.js","sourceRoot":"","sources":["../../src/tools/get-api-usage-stats.ts"],"names":[],"mappings":";;;;;;AAEA,8CAAoB;AAEpB,oEAA4D;AAE5D,MAAa,eAAgB,SAAQ,kCAAiD;IACpE,IAAI,GAAG,eAAe,CAAC;IACpB,MAAM,GAAG,aAAC,CAAC,MAAM,CAAC;QACnC,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE;QACjB,GAAG,EAAE,aAAC,CAAC,MAAM,EAAE;KAChB,CAAC,CAAC;IAEa,KAAK,CAAC,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,GAIL;QACC,OAAO,MAAM,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEe,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,2EAA2E;YACxF,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,wFAAwF;qBAC3F;oBACD,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,sFAAsF;qBACzF;iBACF;gBACD,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;aAC3B;SACF,CAAC;IACJ,CAAC;CACF;AAvCD,0CAuCC"}
@@ -1,6 +1,7 @@
1
1
  import LinkedApi, { TConversationPollResult, TMappedResponse } from '@linkedapi/node';
2
2
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
3
  import z from 'zod';
4
+ import type { TWorkflowAck } from '../types/linked-api-tool-result.type.js';
4
5
  import { LinkedApiTool } from '../utils/linked-api-tool.js';
5
6
  export declare class GetConversationTool extends LinkedApiTool<{
6
7
  personUrl: string;
@@ -17,10 +18,8 @@ export declare class GetConversationTool extends LinkedApiTool<{
17
18
  personUrl: string;
18
19
  since?: string;
19
20
  };
20
- workflowTimeout: number;
21
- progressToken?: string | number;
22
- }): Promise<TMappedResponse<TConversationPollResult>>;
23
- private getConversation;
21
+ }): Promise<TMappedResponse<TConversationPollResult> | TWorkflowAck>;
22
+ private pollConversation;
24
23
  getTool(): Tool;
25
24
  }
26
25
  //# sourceMappingURL=get-conversation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-conversation.d.ts","sourceRoot":"","sources":["../../src/tools/get-conversation.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,mBAAoB,SAAQ,aAAa,CACpD;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACrC,uBAAuB,CACxB;IACC,SAAgB,IAAI,sBAAsB;IAC1C,SAAS,CAAC,QAAQ,CAAC,MAAM;;;sBAGtB;IAEmB,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAC3B,EAAE;QACD,SAAS,EAAE,SAAS,CAAC;QACrB,IAAI,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5C,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACjC,GAAG,OAAO,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;YAUvC,eAAe;IAkBb,OAAO,IAAI,IAAI;CAuBhC"}
1
+ {"version":3,"file":"get-conversation.d.ts","sourceRoot":"","sources":["../../src/tools/get-conversation.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAEhB,uBAAuB,EACvB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,mBAAoB,SAAQ,aAAa,CACpD;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACrC,uBAAuB,CACxB;IACC,SAAgB,IAAI,sBAAsB;IAC1C,SAAS,CAAC,QAAQ,CAAC,MAAM;;;sBAGtB;IAEmB,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAC3B,EAAE;QACD,SAAS,EAAE,SAAS,CAAC;QACrB,IAAI,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7C,GAAG,OAAO,CAAC,eAAe,CAAC,uBAAuB,CAAC,GAAG,YAAY,CAAC;YAUtD,gBAAgB;IAkBd,OAAO,IAAI,IAAI;CAuBhC"}
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.GetConversationTool = void 0;
7
+ const node_1 = require("@linkedapi/node");
7
8
  const zod_1 = __importDefault(require("zod"));
8
9
  const linked_api_tool_js_1 = require("../utils/linked-api-tool.js");
9
10
  class GetConversationTool extends linked_api_tool_js_1.LinkedApiTool {
@@ -13,15 +14,15 @@ class GetConversationTool extends linked_api_tool_js_1.LinkedApiTool {
13
14
  since: zod_1.default.string().optional(),
14
15
  });
15
16
  async execute({ linkedapi, args: { personUrl, since }, }) {
16
- const conversations = await this.getConversation(linkedapi, personUrl, since);
17
+ const conversations = await this.pollConversation(linkedapi, personUrl, since);
17
18
  if (conversations.errors.length === 0) {
18
19
  return conversations;
19
20
  }
20
- const workflowId = await linkedapi.syncConversation.execute({ personUrl });
21
- await linkedapi.syncConversation.result(workflowId);
22
- return await this.getConversation(linkedapi, personUrl, since);
21
+ const ack = await linkedapi.syncConversation.execute({ personUrl });
22
+ return { ...ack,
23
+ operationName: node_1.OPERATION_NAME.syncConversation };
23
24
  }
24
- async getConversation(linkedapi, personUrl, since) {
25
+ async pollConversation(linkedapi, personUrl, since) {
25
26
  const conversations = await linkedapi.pollConversations([
26
27
  {
27
28
  personUrl: personUrl,
@@ -37,7 +38,7 @@ class GetConversationTool extends linked_api_tool_js_1.LinkedApiTool {
37
38
  getTool() {
38
39
  return {
39
40
  name: this.name,
40
- description: 'Allows you to get a conversation with a LinkedIn person using standard LinkedIn messaging.',
41
+ description: 'Retrieve a conversation with a LinkedIn person via standard LinkedIn messaging. Returns the conversation immediately if it has already been synced. If the conversation has not been synced yet, this tool starts a syncConversation workflow and returns its ack ({status, workflowId, operationName: "syncConversation", message}); the client should call get_workflow_result with that workflowId until completion, then call get_conversation again to read the synced messages.',
41
42
  inputSchema: {
42
43
  type: 'object',
43
44
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"get-conversation.js","sourceRoot":"","sources":["../../src/tools/get-conversation.ts"],"names":[],"mappings":";;;;;;AAEA,8CAAoB;AAEpB,oEAA4D;AAE5D,MAAa,mBAAoB,SAAQ,kCAGxC;IACiB,IAAI,GAAG,kBAAkB,CAAC;IACvB,MAAM,GAAG,aAAC,CAAC,MAAM,CAAC;QACnC,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC,CAAC;IAEa,KAAK,CAAC,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAM3B;QACC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9E,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3E,MAAM,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpD,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,SAAoB,EACpB,SAAiB,EACjB,KAAc;QAEd,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC;YACtD;gBACE,SAAS,EAAE,SAAS;gBACpB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;aACb;SACF,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5D,MAAM,EAAE,aAAa,CAAC,MAAM;SAC7B,CAAC;IACJ,CAAC;IAEe,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,4FAA4F;YAC9F,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,mHAAmH;qBACtH;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,0KAA0K;qBAC7K;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB;SACF,CAAC;IACJ,CAAC;CACF;AArED,kDAqEC"}
1
+ {"version":3,"file":"get-conversation.js","sourceRoot":"","sources":["../../src/tools/get-conversation.ts"],"names":[],"mappings":";;;;;;AAAA,0CAIyB;AAEzB,8CAAoB;AAGpB,oEAA4D;AAE5D,MAAa,mBAAoB,SAAQ,kCAGxC;IACiB,IAAI,GAAG,kBAAkB,CAAC;IACvB,MAAM,GAAG,aAAC,CAAC,MAAM,CAAC;QACnC,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC,CAAC;IAEa,KAAK,CAAC,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAI3B;QACC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/E,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACpE,OAAO,EAAE,GAAG,GAAG;YACnB,aAAa,EAAE,qBAAc,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,SAAoB,EACpB,SAAiB,EACjB,KAAc;QAEd,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC;YACtD;gBACE,SAAS,EAAE,SAAS;gBACpB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;aACb;SACF,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5D,MAAM,EAAE,aAAa,CAAC,MAAM;SAC7B,CAAC;IACJ,CAAC;IAEe,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,udAAud;YACzd,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,mHAAmH;qBACtH;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,0KAA0K;qBAC7K;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB;SACF,CAAC;IACJ,CAAC;CACF;AAnED,kDAmEC"}
@@ -1,10 +1,12 @@
1
1
  import LinkedApi, { TMappedResponse } from '@linkedapi/node';
2
2
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
3
  import z from 'zod';
4
+ import type { TWorkflowAck } from '../types/linked-api-tool-result.type.js';
4
5
  import { LinkedApiTool } from '../utils/linked-api-tool.js';
5
6
  interface IGetWorkflowResultParams {
6
7
  workflowId: string;
7
8
  operationName: string;
9
+ waitSeconds?: number;
8
10
  }
9
11
  export declare class GetWorkflowResultTool extends LinkedApiTool<IGetWorkflowResultParams, unknown> {
10
12
  readonly name = "get_workflow_result";
@@ -37,13 +39,13 @@ export declare class GetWorkflowResultTool extends LinkedApiTool<IGetWorkflowRes
37
39
  nvFetchCompany: "nvFetchCompany";
38
40
  nvFetchPerson: "nvFetchPerson";
39
41
  }>;
42
+ waitSeconds: z.ZodOptional<z.ZodNumber>;
40
43
  }, z.core.$strip>;
41
- execute({ linkedapi, args: { workflowId, operationName }, workflowTimeout, progressToken, }: {
44
+ execute({ linkedapi, args: { workflowId, operationName, waitSeconds }, mcpClient, }: {
42
45
  linkedapi: LinkedApi;
43
46
  args: IGetWorkflowResultParams;
44
- workflowTimeout: number;
45
- progressToken?: string | number;
46
- }): Promise<TMappedResponse<unknown>>;
47
+ mcpClient: string;
48
+ }): Promise<TMappedResponse<unknown> | TWorkflowAck>;
47
49
  getTool(): Tool;
48
50
  }
49
51
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"get-workflow-result.d.ts","sourceRoot":"","sources":["../../src/tools/get-workflow-result.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAkB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,UAAU,wBAAwB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,qBAAsB,SAAQ,aAAa,CAAC,wBAAwB,EAAE,OAAO,CAAC;IACzF,SAAgB,IAAI,yBAAyB;IAC7C,SAAS,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAGtB;IAEmB,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,EACnC,eAAe,EACf,aAAa,GACd,EAAE;QACD,SAAS,EAAE,SAAS,CAAC;QACrB,IAAI,EAAE,wBAAwB,CAAC;QAC/B,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACjC,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAUrB,OAAO,IAAI,IAAI;CAsBhC"}
1
+ {"version":3,"file":"get-workflow-result.d.ts","sourceRoot":"","sources":["../../src/tools/get-workflow-result.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAGhB,eAAe,EAGhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAK5D,UAAU,wBAAwB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,qBAAsB,SAAQ,aAAa,CAAC,wBAAwB,EAAE,OAAO,CAAC;IACzF,SAAgB,IAAI,yBAAyB;IAC7C,SAAS,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAItB;IAEmB,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,EAChD,SAAS,GACV,EAAE;QACD,SAAS,EAAE,SAAS,CAAC;QACrB,IAAI,EAAE,wBAAwB,CAAC;QAC/B,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC;IA4BpC,OAAO,IAAI,IAAI;CA2BhC"}
@@ -6,35 +6,55 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.GetWorkflowResultTool = void 0;
7
7
  const node_1 = require("@linkedapi/node");
8
8
  const zod_1 = __importDefault(require("zod"));
9
- const execute_with_progress_js_1 = require("../utils/execute-with-progress.js");
9
+ const define_request_timeout_js_1 = require("../utils/define-request-timeout.js");
10
10
  const linked_api_tool_js_1 = require("../utils/linked-api-tool.js");
11
+ const POLL_INTERVAL_MS = 5000;
12
+ const REQUEST_BUDGET_BUFFER_SECONDS = 5;
11
13
  class GetWorkflowResultTool extends linked_api_tool_js_1.LinkedApiTool {
12
14
  name = 'get_workflow_result';
13
15
  schema = zod_1.default.object({
14
16
  workflowId: zod_1.default.string(),
15
17
  operationName: zod_1.default.enum(Object.values(node_1.OPERATION_NAME)),
18
+ waitSeconds: zod_1.default.number().int().min(0).optional(),
16
19
  });
17
- async execute({ linkedapi, args: { workflowId, operationName }, workflowTimeout, progressToken, }) {
18
- const operation = linkedapi.operations.find((operation) => operation.operationName === operationName);
19
- return await (0, execute_with_progress_js_1.executeWithProgress)(this.progressCallback, operation, workflowTimeout, {
20
- workflowId,
21
- progressToken,
22
- });
20
+ async execute({ linkedapi, args: { workflowId, operationName, waitSeconds }, mcpClient, }) {
21
+ const typedOperationName = operationName;
22
+ const operation = linkedapi.operations.find((operation) => operation.operationName === typedOperationName);
23
+ const cap = Math.max((0, define_request_timeout_js_1.defineRequestTimeoutInSeconds)(mcpClient) - REQUEST_BUDGET_BUFFER_SECONDS, 0);
24
+ const budgetSeconds = Math.min(waitSeconds ?? cap, cap);
25
+ const deadline = Date.now() + budgetSeconds * 1000;
26
+ while (true) {
27
+ const status = await operation.status(workflowId);
28
+ if (!isWorkflowInProgress(status)) {
29
+ return status;
30
+ }
31
+ const remainingMs = deadline - Date.now();
32
+ if (remainingMs <= 0) {
33
+ return { ...status,
34
+ workflowId,
35
+ operationName: typedOperationName };
36
+ }
37
+ await sleep(Math.min(POLL_INTERVAL_MS, remainingMs));
38
+ }
23
39
  }
24
40
  getTool() {
25
41
  return {
26
42
  name: this.name,
27
- description: 'CONTINUE LISTENING TO BACKGROUND WORKFLOW - THIS IS NORMAL OPERATION! Background workflows are OPTIMAL BEHAVIOR for Linked API operations and keep the MCP client responsive. When a workflow runs in the background, this tool should be used with the provided workflowId and operationName parameters to continue listening for updates. The workflow continues processing in the background while you wait. This is the STANDARD way Linked API works - background processing provides optimal user experience!',
43
+ description: 'Check the current state of a previously started Linked API workflow. Returns the final result when the workflow has completed, otherwise returns the current in-progress snapshot ({status, workflowId, operationName, message}). The server long-polls up to waitSeconds while the workflow is still running; if the budget elapses without completion, the in-progress snapshot is returned and the client should call this tool again with the same workflowId and operationName.',
28
44
  inputSchema: {
29
45
  type: 'object',
30
46
  properties: {
31
47
  workflowId: {
32
48
  type: 'string',
33
- description: 'The workflow ID provided in the background workflow status message',
49
+ description: 'Required. The workflow ID returned by the original Linked API tool call.',
34
50
  },
35
51
  operationName: {
36
52
  type: 'string',
37
- description: 'Optional function name for proper type restoration (provided in background workflow status if available)',
53
+ description: 'Required. The operationName returned by the original Linked API tool call. Used to map the response to the right operation.',
54
+ },
55
+ waitSeconds: {
56
+ type: 'number',
57
+ description: 'Optional. Maximum seconds the server should wait for the workflow to complete before returning the current in-progress snapshot. Defaults to the maximum the current MCP client allows; pass 0 to get an immediate one-shot snapshot.',
38
58
  },
39
59
  },
40
60
  required: ['workflowId', 'operationName'],
@@ -43,4 +63,11 @@ class GetWorkflowResultTool extends linked_api_tool_js_1.LinkedApiTool {
43
63
  }
44
64
  }
45
65
  exports.GetWorkflowResultTool = GetWorkflowResultTool;
66
+ function isWorkflowInProgress(result) {
67
+ return ('workflowStatus' in result &&
68
+ (result.workflowStatus === 'running' || result.workflowStatus === 'pending'));
69
+ }
70
+ function sleep(ms) {
71
+ return new Promise((resolve) => setTimeout(resolve, ms));
72
+ }
46
73
  //# sourceMappingURL=get-workflow-result.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-workflow-result.js","sourceRoot":"","sources":["../../src/tools/get-workflow-result.ts"],"names":[],"mappings":";;;;;;AAAA,0CAA6E;AAE7E,8CAAoB;AAEpB,gFAAwE;AACxE,oEAA4D;AAO5D,MAAa,qBAAsB,SAAQ,kCAAgD;IACzE,IAAI,GAAG,qBAAqB,CAAC;IAC1B,MAAM,GAAG,aAAC,CAAC,MAAM,CAAC;QACnC,UAAU,EAAE,aAAC,CAAC,MAAM,EAAE;QACtB,aAAa,EAAE,aAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAc,CAAC,CAAC;KACrD,CAAC,CAAC;IAEa,KAAK,CAAC,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,EACnC,eAAe,EACf,aAAa,GAMd;QACC,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CACzC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,aAAa,KAAK,aAAa,CACxD,CAAC;QACH,OAAO,MAAM,IAAA,8CAAmB,EAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE;YAClF,UAAU;YACV,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAEe,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,qfAAqf;YACvf,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oEAAoE;qBAClF;oBACD,aAAa,EAAE;wBACb,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,0GAA0G;qBAC7G;iBACF;gBACD,QAAQ,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;aAC1C;SACF,CAAC;IACJ,CAAC;CACF;AAjDD,sDAiDC"}
1
+ {"version":3,"file":"get-workflow-result.js","sourceRoot":"","sources":["../../src/tools/get-workflow-result.ts"],"names":[],"mappings":";;;;;;AAAA,0CAMyB;AAEzB,8CAAoB;AAGpB,kFAAmF;AACnF,oEAA4D;AAE5D,MAAM,gBAAgB,GAAG,IAAa,CAAC;AACvC,MAAM,6BAA6B,GAAG,CAAU,CAAC;AAQjD,MAAa,qBAAsB,SAAQ,kCAAgD;IACzE,IAAI,GAAG,qBAAqB,CAAC;IAC1B,MAAM,GAAG,aAAC,CAAC,MAAM,CAAC;QACnC,UAAU,EAAE,aAAC,CAAC,MAAM,EAAE;QACtB,aAAa,EAAE,aAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAc,CAAC,CAAC;QACpD,WAAW,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;KAChD,CAAC,CAAC;IAEa,KAAK,CAAC,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,EAChD,SAAS,GAKV;QACC,MAAM,kBAAkB,GAAG,aAA+B,CAAC;QAC3D,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CACzC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,aAAa,KAAK,kBAAkB,CAC9B,CAAC;QAElC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAClB,IAAA,yDAA6B,EAAC,SAAS,CAAC,GAAG,6BAA6B,EACxE,CAAC,CACF,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,IAAI,CAAC;QAEnD,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClC,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,WAAW,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1C,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;gBACrB,OAAO,EAAE,GAAG,MAAM;oBAC1B,UAAU;oBACV,aAAa,EAAE,kBAAkB,EAAE,CAAC;YAC9B,CAAC;YACD,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAEe,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,sdAAsd;YACxd,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,0EAA0E;qBACxF;oBACD,aAAa,EAAE;wBACb,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,6HAA6H;qBAChI;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,uOAAuO;qBAC1O;iBACF;gBACD,QAAQ,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;aAC1C;SACF,CAAC;IACJ,CAAC;CACF;AAvED,sDAuEC;AAED,SAAS,oBAAoB,CAC3B,MAA8D;IAE9D,OAAO,CACL,gBAAgB,IAAI,MAAM;QAC1B,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,CAC7E,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import LinkedApi, { TConversationPollResult, TMappedResponse } from '@linkedapi/node';
2
2
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
3
  import z from 'zod';
4
+ import type { TWorkflowAck } from '../types/linked-api-tool-result.type.js';
4
5
  import { LinkedApiTool } from '../utils/linked-api-tool.js';
5
6
  export declare class NvGetConversationTool extends LinkedApiTool<{
6
7
  personUrl: string;
@@ -17,10 +18,8 @@ export declare class NvGetConversationTool extends LinkedApiTool<{
17
18
  personUrl: string;
18
19
  since?: string;
19
20
  };
20
- workflowTimeout: number;
21
- progressToken?: string | number;
22
- }): Promise<TMappedResponse<TConversationPollResult>>;
23
- private getConversation;
21
+ }): Promise<TMappedResponse<TConversationPollResult> | TWorkflowAck>;
22
+ private pollConversation;
24
23
  getTool(): Tool;
25
24
  }
26
25
  //# sourceMappingURL=nv-get-conversation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nv-get-conversation.d.ts","sourceRoot":"","sources":["../../src/tools/nv-get-conversation.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,qBAAsB,SAAQ,aAAa,CACtD;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACrC,uBAAuB,CACxB;IACC,SAAgB,IAAI,yBAAyB;IAC7C,SAAS,CAAC,QAAQ,CAAC,MAAM;;;sBAGtB;IAEmB,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAC3B,EAAE;QACD,SAAS,EAAE,SAAS,CAAC;QACrB,IAAI,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5C,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACjC,GAAG,OAAO,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;YAUvC,eAAe;IAkBb,OAAO,IAAI,IAAI;CAuBhC"}
1
+ {"version":3,"file":"nv-get-conversation.d.ts","sourceRoot":"","sources":["../../src/tools/nv-get-conversation.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAEhB,uBAAuB,EACvB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,qBAAsB,SAAQ,aAAa,CACtD;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACrC,uBAAuB,CACxB;IACC,SAAgB,IAAI,yBAAyB;IAC7C,SAAS,CAAC,QAAQ,CAAC,MAAM;;;sBAGtB;IAEmB,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAC3B,EAAE;QACD,SAAS,EAAE,SAAS,CAAC;QACrB,IAAI,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7C,GAAG,OAAO,CAAC,eAAe,CAAC,uBAAuB,CAAC,GAAG,YAAY,CAAC;YAUtD,gBAAgB;IAkBd,OAAO,IAAI,IAAI;CAuBhC"}
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.NvGetConversationTool = void 0;
7
+ const node_1 = require("@linkedapi/node");
7
8
  const zod_1 = __importDefault(require("zod"));
8
9
  const linked_api_tool_js_1 = require("../utils/linked-api-tool.js");
9
10
  class NvGetConversationTool extends linked_api_tool_js_1.LinkedApiTool {
@@ -13,15 +14,15 @@ class NvGetConversationTool extends linked_api_tool_js_1.LinkedApiTool {
13
14
  since: zod_1.default.string().optional(),
14
15
  });
15
16
  async execute({ linkedapi, args: { personUrl, since }, }) {
16
- const conversations = await this.getConversation(linkedapi, personUrl, since);
17
+ const conversations = await this.pollConversation(linkedapi, personUrl, since);
17
18
  if (conversations.errors.length === 0) {
18
19
  return conversations;
19
20
  }
20
- const workflowId = await linkedapi.nvSyncConversation.execute({ personUrl });
21
- await linkedapi.nvSyncConversation.result(workflowId);
22
- return await this.getConversation(linkedapi, personUrl, since);
21
+ const ack = await linkedapi.nvSyncConversation.execute({ personUrl });
22
+ return { ...ack,
23
+ operationName: node_1.OPERATION_NAME.nvSyncConversation };
23
24
  }
24
- async getConversation(linkedapi, personUrl, since) {
25
+ async pollConversation(linkedapi, personUrl, since) {
25
26
  const conversations = await linkedapi.pollConversations([
26
27
  {
27
28
  personUrl: personUrl,
@@ -37,7 +38,7 @@ class NvGetConversationTool extends linked_api_tool_js_1.LinkedApiTool {
37
38
  getTool() {
38
39
  return {
39
40
  name: this.name,
40
- description: 'Allows you to get a conversation with a LinkedIn person using Sales Navigator messaging.',
41
+ description: 'Retrieve a conversation with a LinkedIn person via Sales Navigator messaging. Returns the conversation immediately if it has already been synced. If the conversation has not been synced yet, this tool starts an nvSyncConversation workflow and returns its ack ({status, workflowId, operationName: "nvSyncConversation", message}); the client should call get_workflow_result with that workflowId until completion, then call nv_get_conversation again to read the synced messages.',
41
42
  inputSchema: {
42
43
  type: 'object',
43
44
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"nv-get-conversation.js","sourceRoot":"","sources":["../../src/tools/nv-get-conversation.ts"],"names":[],"mappings":";;;;;;AAEA,8CAAoB;AAEpB,oEAA4D;AAE5D,MAAa,qBAAsB,SAAQ,kCAG1C;IACiB,IAAI,GAAG,qBAAqB,CAAC;IAC1B,MAAM,GAAG,aAAC,CAAC,MAAM,CAAC;QACnC,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC,CAAC;IAEa,KAAK,CAAC,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAM3B;QACC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9E,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7E,MAAM,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtD,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,SAAoB,EACpB,SAAiB,EACjB,KAAc;QAEd,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC;YACtD;gBACE,SAAS,EAAE,SAAS;gBACpB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;aACb;SACF,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5D,MAAM,EAAE,aAAa,CAAC,MAAM;SAC7B,CAAC;IACJ,CAAC;IAEe,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,0FAA0F;YAC5F,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,mHAAmH;qBACtH;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,0KAA0K;qBAC7K;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB;SACF,CAAC;IACJ,CAAC;CACF;AArED,sDAqEC"}
1
+ {"version":3,"file":"nv-get-conversation.js","sourceRoot":"","sources":["../../src/tools/nv-get-conversation.ts"],"names":[],"mappings":";;;;;;AAAA,0CAIyB;AAEzB,8CAAoB;AAGpB,oEAA4D;AAE5D,MAAa,qBAAsB,SAAQ,kCAG1C;IACiB,IAAI,GAAG,qBAAqB,CAAC;IAC1B,MAAM,GAAG,aAAC,CAAC,MAAM,CAAC;QACnC,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC,CAAC;IAEa,KAAK,CAAC,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAI3B;QACC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/E,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACtE,OAAO,EAAE,GAAG,GAAG;YACnB,aAAa,EAAE,qBAAc,CAAC,kBAAkB,EAAE,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,SAAoB,EACpB,SAAiB,EACjB,KAAc;QAEd,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC;YACtD;gBACE,SAAS,EAAE,SAAS;gBACpB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;aACb;SACF,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5D,MAAM,EAAE,aAAa,CAAC,MAAM;SAC7B,CAAC;IACJ,CAAC;IAEe,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,6dAA6d;YAC/d,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,mHAAmH;qBACtH;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,0KAA0K;qBAC7K;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB;SACF,CAAC;IACJ,CAAC;CACF;AAnED,sDAmEC"}
@@ -15,7 +15,7 @@ class NvSendMessageTool extends linked_api_tool_js_1.OperationTool {
15
15
  getTool() {
16
16
  return {
17
17
  name: this.name,
18
- description: 'Allows you to send a message to a person in Sales Navigator (nv.sendMessage action)',
18
+ description: 'Allows you to send a message to a person in Sales Navigator (nv.sendMessage action). If this workflow is still running, do not retry this tool; retrying can send duplicate Sales Navigator messages to the same person.',
19
19
  inputSchema: {
20
20
  type: 'object',
21
21
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"nv-send-message.js","sourceRoot":"","sources":["../../src/tools/nv-send-message.ts"],"names":[],"mappings":";;;AAAA,0CAAuE;AAEvE,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,iBAAkB,SAAQ,kCAA4C;IACxD,IAAI,GAAG,iBAAiB,CAAC;IACzB,aAAa,GAAG,qBAAc,CAAC,aAAa,CAAC;IAC1C,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACvB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,qFAAqF;YACvF,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,yGAAyG;qBAC5G;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kDAAkD;qBAChE;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,4CAA4C;qBAC1D;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC;aAC3C;SACF,CAAC;IACJ,CAAC;CACF;AAnCD,8CAmCC"}
1
+ {"version":3,"file":"nv-send-message.js","sourceRoot":"","sources":["../../src/tools/nv-send-message.ts"],"names":[],"mappings":";;;AAAA,0CAAuE;AAEvE,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,iBAAkB,SAAQ,kCAA4C;IACxD,IAAI,GAAG,iBAAiB,CAAC;IACzB,aAAa,GAAG,qBAAc,CAAC,aAAa,CAAC;IAC1C,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACvB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,0NAA0N;YAC5N,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,yGAAyG;qBAC5G;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kDAAkD;qBAChE;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,4CAA4C;qBAC1D;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC;aAC3C;SACF,CAAC;IACJ,CAAC;CACF;AAnCD,8CAmCC"}
@@ -15,7 +15,7 @@ class ReactToPostTool extends linked_api_tool_js_1.OperationTool {
15
15
  getTool() {
16
16
  return {
17
17
  name: this.name,
18
- description: 'Allows you to react to a post using any available reaction type (st.reactToPost action).',
18
+ description: 'Allows you to react to a post using any available reaction type (st.reactToPost action). If this workflow is still running, do not retry this tool; retrying can queue duplicate reaction attempts.',
19
19
  inputSchema: {
20
20
  type: 'object',
21
21
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"react-to-post.js","sourceRoot":"","sources":["../../src/tools/react-to-post.ts"],"names":[],"mappings":";;;AAAA,0CAAqE;AAErE,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,eAAgB,SAAQ,kCAA0C;IACpD,IAAI,GAAG,eAAe,CAAC;IACvB,aAAa,GAAG,qBAAc,CAAC,WAAW,CAAC;IACxC,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;QAC5F,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAClC,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,0FAA0F;YAC5F,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,kGAAkG;qBACrG;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oCAAoC;wBACjD,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC;qBACtE;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,oJAAoJ;qBACvJ;iBACF;gBACD,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;aAC9B;SACF,CAAC;IACJ,CAAC;CACF;AArCD,0CAqCC"}
1
+ {"version":3,"file":"react-to-post.js","sourceRoot":"","sources":["../../src/tools/react-to-post.ts"],"names":[],"mappings":";;;AAAA,0CAAqE;AAErE,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,eAAgB,SAAQ,kCAA0C;IACpD,IAAI,GAAG,eAAe,CAAC;IACvB,aAAa,GAAG,qBAAc,CAAC,WAAW,CAAC;IACxC,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;QAC5F,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAClC,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,qMAAqM;YACvM,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,kGAAkG;qBACrG;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oCAAoC;wBACjD,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC;qBACtE;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,oJAAoJ;qBACvJ;iBACF;gBACD,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;aAC9B;SACF,CAAC;IACJ,CAAC;CACF;AArCD,0CAqCC"}
@@ -13,7 +13,7 @@ class RemoveConnectionTool extends linked_api_tool_js_1.OperationTool {
13
13
  getTool() {
14
14
  return {
15
15
  name: this.name,
16
- description: 'Allows you to remove a person from your connections (st.removeConnection action).',
16
+ description: 'Allows you to remove a person from your connections (st.removeConnection action). If this workflow is still running, do not retry this tool; retrying can queue duplicate removal attempts for the same person.',
17
17
  inputSchema: {
18
18
  type: 'object',
19
19
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"remove-connection.js","sourceRoot":"","sources":["../../src/tools/remove-connection.ts"],"names":[],"mappings":";;;AAAA,0CAA0E;AAE1E,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,oBAAqB,SAAQ,kCAA+C;IAC9D,IAAI,GAAG,mBAAmB,CAAC;IAC3B,aAAa,GAAG,qBAAc,CAAC,gBAAgB,CAAC;IAC7C,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;KACtB,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,mFAAmF;YACrF,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,sIAAsI;qBACzI;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB;SACF,CAAC;IACJ,CAAC;CACF;AAzBD,oDAyBC"}
1
+ {"version":3,"file":"remove-connection.js","sourceRoot":"","sources":["../../src/tools/remove-connection.ts"],"names":[],"mappings":";;;AAAA,0CAA0E;AAE1E,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,oBAAqB,SAAQ,kCAA+C;IAC9D,IAAI,GAAG,mBAAmB,CAAC;IAC3B,aAAa,GAAG,qBAAc,CAAC,gBAAgB,CAAC;IAC7C,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;KACtB,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,iNAAiN;YACnN,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,sIAAsI;qBACzI;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB;SACF,CAAC;IACJ,CAAC;CACF;AAzBD,oDAyBC"}
@@ -15,7 +15,7 @@ class SendConnectionRequestTool extends linked_api_tool_js_1.OperationTool {
15
15
  getTool() {
16
16
  return {
17
17
  name: this.name,
18
- description: 'Allows you to send a connection request to a person (st.sendConnectionRequest action).',
18
+ description: 'Allows you to send a connection request to a person (st.sendConnectionRequest action). If this workflow is still running, do not retry this tool; retrying can queue duplicate connection request attempts for the same person.',
19
19
  inputSchema: {
20
20
  type: 'object',
21
21
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"send-connection-request.js","sourceRoot":"","sources":["../../src/tools/send-connection-request.ts"],"names":[],"mappings":";;;AAAA,0CAA+E;AAE/E,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,yBAA0B,SAAQ,kCAG9C;IAC0B,IAAI,GAAG,yBAAyB,CAAC;IACjC,aAAa,GAAG,qBAAc,CAAC,qBAAqB,CAAC;IAClD,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,wFAAwF;YAC1F,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,sIAAsI;qBACzI;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wDAAwD;qBACtE;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,gKAAgK;qBACnK;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB;SACF,CAAC;IACJ,CAAC;CACF;AAvCD,8DAuCC"}
1
+ {"version":3,"file":"send-connection-request.js","sourceRoot":"","sources":["../../src/tools/send-connection-request.ts"],"names":[],"mappings":";;;AAAA,0CAA+E;AAE/E,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,yBAA0B,SAAQ,kCAG9C;IAC0B,IAAI,GAAG,yBAAyB,CAAC;IACjC,aAAa,GAAG,qBAAc,CAAC,qBAAqB,CAAC;IAClD,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,iOAAiO;YACnO,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,sIAAsI;qBACzI;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wDAAwD;qBACtE;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,gKAAgK;qBACnK;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB;SACF,CAAC;IACJ,CAAC;CACF;AAvCD,8DAuCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/tools/send-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,eAAgB,SAAQ,aAAa,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAC7E,SAAyB,IAAI,kBAAkB;IAC/C,SAAyB,aAAa,gBAA8B;IACpE,mBAA4B,MAAM;;;sBAG/B;IAEa,OAAO,IAAI,IAAI;CAqBhC"}
1
+ {"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/tools/send-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,eAAgB,SAAQ,aAAa,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAC7E,SAAyB,IAAI,kBAAkB;IAC/C,SAAyB,aAAa,gBAA8B;IACpE,mBAA4B,MAAM;;;sBAG/B;IAEa,OAAO,IAAI,IAAI;CAsBhC"}
@@ -14,7 +14,7 @@ class SendMessageTool extends linked_api_tool_js_1.OperationTool {
14
14
  getTool() {
15
15
  return {
16
16
  name: this.name,
17
- description: 'Allows you to send a message to a person (st.sendMessage action).',
17
+ description: 'Allows you to send a message to a person (st.sendMessage action). If this workflow is still running, do not retry this tool; retrying can send duplicate messages to the same person.',
18
18
  inputSchema: {
19
19
  type: 'object',
20
20
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/tools/send-message.ts"],"names":[],"mappings":";;;AAAA,0CAAqE;AAErE,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,eAAgB,SAAQ,kCAA0C;IACpD,IAAI,GAAG,cAAc,CAAC;IACtB,aAAa,GAAG,qBAAc,CAAC,WAAW,CAAC;IACxC,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACxB,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,mEAAmE;YAChF,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,yGAAyG;qBAC5G;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kDAAkD;qBAChE;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;aAChC;SACF,CAAC;IACJ,CAAC;CACF;AA7BD,0CA6BC"}
1
+ {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/tools/send-message.ts"],"names":[],"mappings":";;;AAAA,0CAAqE;AAErE,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,eAAgB,SAAQ,kCAA0C;IACpD,IAAI,GAAG,cAAc,CAAC;IACtB,aAAa,GAAG,qBAAc,CAAC,WAAW,CAAC;IACxC,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACxB,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,uLAAuL;YACzL,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,yGAAyG;qBAC5G;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kDAAkD;qBAChE;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;aAChC;SACF,CAAC;IACJ,CAAC;CACF;AA9BD,0CA8BC"}
@@ -14,7 +14,7 @@ class WithdrawConnectionRequestTool extends linked_api_tool_js_1.OperationTool {
14
14
  getTool() {
15
15
  return {
16
16
  name: this.name,
17
- description: 'Allows you to withdraw the connection request sent to a person (st.withdrawConnectionRequest action).',
17
+ description: 'Allows you to withdraw the connection request sent to a person (st.withdrawConnectionRequest action). If this workflow is still running, do not retry this tool; retrying can queue duplicate withdrawal attempts for the same person.',
18
18
  inputSchema: {
19
19
  type: 'object',
20
20
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"withdraw-connection-request.js","sourceRoot":"","sources":["../../src/tools/withdraw-connection-request.ts"],"names":[],"mappings":";;;AAAA,0CAAmF;AAEnF,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,6BAA8B,SAAQ,kCAGlD;IAC0B,IAAI,GAAG,6BAA6B,CAAC;IACrC,aAAa,GAAG,qBAAc,CAAC,yBAAyB,CAAC;IACtD,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KACjC,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,uGAAuG;YACzG,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,8IAA8I;qBACjJ;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,+HAA+H;qBAClI;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB;SACF,CAAC;IACJ,CAAC;CACF;AAlCD,sEAkCC"}
1
+ {"version":3,"file":"withdraw-connection-request.js","sourceRoot":"","sources":["../../src/tools/withdraw-connection-request.ts"],"names":[],"mappings":";;;AAAA,0CAAmF;AAEnF,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,6BAA8B,SAAQ,kCAGlD;IAC0B,IAAI,GAAG,6BAA6B,CAAC;IACrC,aAAa,GAAG,qBAAc,CAAC,yBAAyB,CAAC;IACtD,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KACjC,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,wOAAwO;YAC1O,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,8IAA8I;qBACjJ;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,+HAA+H;qBAClI;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB;SACF,CAAC;IACJ,CAAC;CACF;AAlCD,sEAkCC"}
@@ -0,0 +1,6 @@
1
+ import type { TMappedResponse, TOperationName, TWorkflowInProgressResponse, TWorkflowStartedResponse } from '@linkedapi/node';
2
+ export type TWorkflowAck = (TWorkflowStartedResponse | TWorkflowInProgressResponse) & {
3
+ operationName: TOperationName;
4
+ };
5
+ export type TLinkedApiToolResult<TResult> = TWorkflowAck | TMappedResponse<TResult>;
6
+ //# sourceMappingURL=linked-api-tool-result.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linked-api-tool-result.type.d.ts","sourceRoot":"","sources":["../../src/types/linked-api-tool-result.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,2BAA2B,EAC3B,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,YAAY,GAAG,CAAC,wBAAwB,GAAG,2BAA2B,CAAC,GAAG;IACpF,aAAa,EAAE,cAAc,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,OAAO,IAAI,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=linked-api-tool-result.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linked-api-tool-result.type.js","sourceRoot":"","sources":["../../src/types/linked-api-tool-result.type.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"define-request-timeout.d.ts","sourceRoot":"","sources":["../../src/utils/define-request-timeout.ts"],"names":[],"mappings":"AAAA,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAgBvE"}
1
+ {"version":3,"file":"define-request-timeout.d.ts","sourceRoot":"","sources":["../../src/utils/define-request-timeout.ts"],"names":[],"mappings":"AAAA,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA4BvE"}
@@ -2,17 +2,29 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.defineRequestTimeoutInSeconds = defineRequestTimeoutInSeconds;
4
4
  function defineRequestTimeoutInSeconds(mcpClient) {
5
- const bigTimeout = 600;
6
- console.error('mcpClient', mcpClient);
7
- switch (mcpClient) {
5
+ const BIG_TIMEOUT = 600;
6
+ const normalizedMcpClient = mcpClient.trim().toLowerCase();
7
+ switch (normalizedMcpClient) {
8
+ case 'codex':
9
+ case 'codex-cli':
10
+ case 'codex-desktop':
11
+ case 'openai-codex':
12
+ return BIG_TIMEOUT;
13
+ case 'claude-code':
14
+ case 'claude_code':
15
+ case 'claude code':
16
+ return BIG_TIMEOUT;
8
17
  case 'claude':
18
+ case 'claude-desktop':
19
+ case 'anthropic':
9
20
  return 180;
10
21
  case 'chatgpt':
22
+ case 'openai':
11
23
  return 50;
12
24
  case 'cursor':
13
25
  case 'vscode':
14
26
  case 'windsurf':
15
- return bigTimeout;
27
+ return BIG_TIMEOUT;
16
28
  default:
17
29
  return 60;
18
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"define-request-timeout.js","sourceRoot":"","sources":["../../src/utils/define-request-timeout.ts"],"names":[],"mappings":";;AAAA,sEAgBC;AAhBD,SAAgB,6BAA6B,CAAC,SAAiB;IAC7D,MAAM,UAAU,GAAG,GAAG,CAAC;IAEvB,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACtC,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"define-request-timeout.js","sourceRoot":"","sources":["../../src/utils/define-request-timeout.ts"],"names":[],"mappings":";;AAAA,sEA4BC;AA5BD,SAAgB,6BAA6B,CAAC,SAAiB;IAC7D,MAAM,WAAW,GAAG,GAAY,CAAC;IACjC,MAAM,mBAAmB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE3D,QAAQ,mBAAmB,EAAE,CAAC;QAC5B,KAAK,OAAO,CAAC;QACb,KAAK,WAAW,CAAC;QACjB,KAAK,eAAe,CAAC;QACrB,KAAK,cAAc;YACjB,OAAO,WAAW,CAAC;QACrB,KAAK,aAAa,CAAC;QACnB,KAAK,aAAa,CAAC;QACnB,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC;QACrB,KAAK,QAAQ,CAAC;QACd,KAAK,gBAAgB,CAAC;QACtB,KAAK,WAAW;YACd,OAAO,GAAG,CAAC;QACb,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU;YACb,OAAO,WAAW,CAAC;QACrB;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { LinkedApiError } from '@linkedapi/node';
2
- export declare function handleLinkedApiError(error: LinkedApiError): object;
2
+ export declare function handleLinkedApiError(error: LinkedApiError): Record<string, unknown>;
3
3
  //# sourceMappingURL=handle-linked-api-error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handle-linked-api-error.d.ts","sourceRoot":"","sources":["../../src/utils/handle-linked-api-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiC,MAAM,iBAAiB,CAAC;AAIhF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAsBlE"}
1
+ {"version":3,"file":"handle-linked-api-error.d.ts","sourceRoot":"","sources":["../../src/utils/handle-linked-api-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAcnF"}
@@ -1,17 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handleLinkedApiError = handleLinkedApiError;
4
- const node_1 = require("@linkedapi/node");
5
4
  const prompts_1 = require("../prompts");
6
5
  function handleLinkedApiError(error) {
7
- if (error instanceof node_1.LinkedApiWorkflowTimeoutError) {
8
- const { message, workflowId, operationName } = error;
9
- return {
10
- message,
11
- workflowId,
12
- operationName,
13
- };
14
- }
15
6
  switch (error.type) {
16
7
  case 'identificationTokenRequired':
17
8
  case 'linkedApiTokenRequired':
@@ -1 +1 @@
1
- {"version":3,"file":"handle-linked-api-error.js","sourceRoot":"","sources":["../../src/utils/handle-linked-api-error.ts"],"names":[],"mappings":";;AAIA,oDAsBC;AA1BD,0CAAgF;AAEhF,wCAAkD;AAElD,SAAgB,oBAAoB,CAAC,KAAqB;IACxD,IAAI,KAAK,YAAY,oCAA6B,EAAE,CAAC;QACnD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;QACrD,OAAO;YACL,OAAO;YACP,UAAU;YACV,aAAa;SACd,CAAC;IACJ,CAAC;IACD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,6BAA6B,CAAC;QACnC,KAAK,wBAAwB,CAAC;QAC9B,KAAK,uBAAuB,CAAC;QAC7B,KAAK,4BAA4B;YAC/B,OAAO;gBACL,OAAO,EAAE,8BAAoB;aAC9B,CAAC;IACN,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"handle-linked-api-error.js","sourceRoot":"","sources":["../../src/utils/handle-linked-api-error.ts"],"names":[],"mappings":";;AAIA,oDAcC;AAhBD,wCAAkD;AAElD,SAAgB,oBAAoB,CAAC,KAAqB;IACxD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,6BAA6B,CAAC;QACnC,KAAK,wBAAwB,CAAC;QAC9B,KAAK,uBAAuB,CAAC;QAC7B,KAAK,4BAA4B;YAC/B,OAAO;gBACL,OAAO,EAAE,8BAAoB;aAC9B,CAAC;IACN,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"json-http-transport.d.ts","sourceRoot":"","sources":["../../src/utils/json-http-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAChG,OAAO,EAIL,cAAc,EAEf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAkB5D,qBAAa,uBAAwB,YAAW,SAAS;IAChD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CACjB,OAAO,EAAE,cAAc,EACvB,KAAK,CAAC,EAAE;QACN,WAAW,CAAC,EAAE;YACZ,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;SAC5B,CAAC;QACF,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,KACE,IAAI,CAAC;IAEV,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,WAAW,CAAwC;IAC3D,OAAO,CAAC,GAAG,CAAC,CAAa;IAEnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BtB,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2C5E,aAAa,CACjB,GAAG,EAAE,eAAe,GAAG;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,EACzC,GAAG,EAAE,cAAc,EACnB,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,IAAI,CAAC;CAuMjB"}
1
+ {"version":3,"file":"json-http-transport.d.ts","sourceRoot":"","sources":["../../src/utils/json-http-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAChG,OAAO,EAIL,cAAc,EAEf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAkB5D,qBAAa,uBAAwB,YAAW,SAAS;IAChD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CACjB,OAAO,EAAE,cAAc,EACvB,KAAK,CAAC,EAAE;QACN,WAAW,CAAC,EAAE;YACZ,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;SAC5B,CAAC;QACF,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,KACE,IAAI,CAAC;IAEV,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,WAAW,CAAwC;IAC3D,OAAO,CAAC,GAAG,CAAC,CAAa;IAEnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BtB,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4C5E,aAAa,CACjB,GAAG,EAAE,eAAe,GAAG;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,EACzC,GAAG,EAAE,cAAc,EACnB,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,IAAI,CAAC;CAuMjB"}
@@ -45,12 +45,13 @@ class JsonHTTPServerTransport {
45
45
  this.onclose?.();
46
46
  }
47
47
  async send(message, options) {
48
+ const isResponse = (0, types_js_1.isJSONRPCResponse)(message) || (0, types_js_1.isJSONRPCError)(message);
48
49
  let relatedId = options?.relatedRequestId;
49
- if ((0, types_js_1.isJSONRPCResponse)(message) || (0, types_js_1.isJSONRPCError)(message)) {
50
+ if (isResponse) {
50
51
  relatedId = message.id;
51
52
  }
52
- // If a related HTTP connection is pending, complete it with JSON
53
- if (relatedId !== undefined) {
53
+ // If a related HTTP connection is pending, only final responses complete it.
54
+ if (isResponse && relatedId !== undefined) {
54
55
  const connId = this.requestIdToConn.get(relatedId);
55
56
  if (connId) {
56
57
  const ctx = this.connections.get(connId);