@carbonvoice/cv-mcp-server 1.0.13 → 1.1.2

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 (339) hide show
  1. package/dist/auth/auth-middleware.js +203 -0
  2. package/dist/auth/auth-middleware.js.map +1 -0
  3. package/dist/auth/index.js +3 -0
  4. package/dist/auth/index.js.map +1 -0
  5. package/dist/auth/interfaces/index.js +18 -0
  6. package/dist/auth/interfaces/index.js.map +1 -0
  7. package/dist/auth/interfaces/user.interface.js +3 -0
  8. package/dist/auth/interfaces/user.interface.js.map +1 -0
  9. package/dist/config/env.js +19 -1
  10. package/dist/config/env.js.map +1 -0
  11. package/dist/config/index.js +1 -0
  12. package/dist/config/index.js.map +1 -0
  13. package/dist/constants.js +6 -1
  14. package/dist/constants.js.map +1 -0
  15. package/dist/cv-api.js +25 -0
  16. package/dist/cv-api.js.map +1 -0
  17. package/dist/generated/carbon-voice-api/CarbonVoiceSimplifiedAPI.zod.js +1 -0
  18. package/dist/generated/carbon-voice-api/CarbonVoiceSimplifiedAPI.zod.js.map +1 -0
  19. package/dist/generated/carbon-voice-api.js +75 -129
  20. package/dist/generated/carbon-voice-api.js.map +1 -0
  21. package/dist/generated/index.js +1 -0
  22. package/dist/generated/index.js.map +1 -0
  23. package/dist/generated/models/AIPrompt.js +1 -0
  24. package/dist/generated/models/AIPrompt.js.map +1 -0
  25. package/dist/generated/models/AIPromptControllerGetPromptsOwnerType.js +1 -0
  26. package/dist/generated/models/AIPromptControllerGetPromptsOwnerType.js.map +1 -0
  27. package/dist/generated/models/AIPromptControllerGetPromptsParams.js +1 -0
  28. package/dist/generated/models/AIPromptControllerGetPromptsParams.js.map +1 -0
  29. package/dist/generated/models/AIPromptOwnerType.js +1 -0
  30. package/dist/generated/models/AIPromptOwnerType.js.map +1 -0
  31. package/dist/generated/models/AIPromptResponseFormat.js +1 -0
  32. package/dist/generated/models/AIPromptResponseFormat.js.map +1 -0
  33. package/dist/generated/models/AIPromptWithMessagesResponse.js +1 -0
  34. package/dist/generated/models/AIPromptWithMessagesResponse.js.map +1 -0
  35. package/dist/generated/models/AIPromptWithMessagesResult.js +1 -0
  36. package/dist/generated/models/AIPromptWithMessagesResult.js.map +1 -0
  37. package/dist/generated/models/AIResponse.js +1 -0
  38. package/dist/generated/models/AIResponse.js.map +1 -0
  39. package/dist/generated/models/AIResponseControllerGetAllResponsesDirection.js +1 -0
  40. package/dist/generated/models/AIResponseControllerGetAllResponsesDirection.js.map +1 -0
  41. package/dist/generated/models/AIResponseControllerGetAllResponsesParams.js +1 -0
  42. package/dist/generated/models/AIResponseControllerGetAllResponsesParams.js.map +1 -0
  43. package/dist/generated/models/AIShareLinkResponse.js +1 -0
  44. package/dist/generated/models/AIShareLinkResponse.js.map +1 -0
  45. package/dist/generated/models/AddAttachmentsResponse.js +1 -0
  46. package/dist/generated/models/AddAttachmentsResponse.js.map +1 -0
  47. package/dist/generated/models/AddLinkAttachmentPayload.js +1 -0
  48. package/dist/generated/models/AddLinkAttachmentPayload.js.map +1 -0
  49. package/dist/generated/models/AddMessageToFolderPayload.js +1 -0
  50. package/dist/generated/models/AddMessageToFolderPayload.js.map +1 -0
  51. package/dist/generated/models/AllConversationsResponse.js +1 -0
  52. package/dist/generated/models/AllConversationsResponse.js.map +1 -0
  53. package/dist/generated/models/App.js +1 -0
  54. package/dist/generated/models/App.js.map +1 -0
  55. package/dist/generated/models/AppWebhooksAuthenticationHeader.js +1 -0
  56. package/dist/generated/models/AppWebhooksAuthenticationHeader.js.map +1 -0
  57. package/dist/generated/models/AppWebhooksUrlMode.js +1 -0
  58. package/dist/generated/models/AppWebhooksUrlMode.js.map +1 -0
  59. package/dist/generated/models/AsyncConversationStats.js +1 -0
  60. package/dist/generated/models/AsyncConversationStats.js.map +1 -0
  61. package/dist/generated/models/Attachment.js +1 -0
  62. package/dist/generated/models/Attachment.js.map +1 -0
  63. package/dist/generated/models/AttachmentLocation.js +1 -0
  64. package/dist/generated/models/AttachmentLocation.js.map +1 -0
  65. package/dist/generated/models/AttachmentType.js +1 -0
  66. package/dist/generated/models/AttachmentType.js.map +1 -0
  67. package/dist/generated/models/AudioModelV2.js +1 -0
  68. package/dist/generated/models/AudioModelV2.js.map +1 -0
  69. package/dist/generated/models/Conversation.js +1 -0
  70. package/dist/generated/models/Conversation.js.map +1 -0
  71. package/dist/generated/models/ConversationResponse.js +1 -0
  72. package/dist/generated/models/ConversationResponse.js.map +1 -0
  73. package/dist/generated/models/ConversationResponseType.js +1 -0
  74. package/dist/generated/models/ConversationResponseType.js.map +1 -0
  75. package/dist/generated/models/ConversationType.js +1 -0
  76. package/dist/generated/models/ConversationType.js.map +1 -0
  77. package/dist/generated/models/ConversationVisibility.js +1 -0
  78. package/dist/generated/models/ConversationVisibility.js.map +1 -0
  79. package/dist/generated/models/CreateAIPrompt.js +1 -0
  80. package/dist/generated/models/CreateAIPrompt.js.map +1 -0
  81. package/dist/generated/models/CreateAIPromptOwnerType.js +1 -0
  82. package/dist/generated/models/CreateAIPromptOwnerType.js.map +1 -0
  83. package/dist/generated/models/CreateAIPromptResponseFormat.js +1 -0
  84. package/dist/generated/models/CreateAIPromptResponseFormat.js.map +1 -0
  85. package/dist/generated/models/CreateAIResponse.js +1 -0
  86. package/dist/generated/models/CreateAIResponse.js.map +1 -0
  87. package/dist/generated/models/CreateConversationMessage.js +1 -0
  88. package/dist/generated/models/CreateConversationMessage.js.map +1 -0
  89. package/dist/generated/models/CreateConversationMessageFromMessageType.js +1 -0
  90. package/dist/generated/models/CreateConversationMessageFromMessageType.js.map +1 -0
  91. package/dist/generated/models/CreateFolderPayload.js +1 -0
  92. package/dist/generated/models/CreateFolderPayload.js.map +1 -0
  93. package/dist/generated/models/CreateFolderPayloadType.js +1 -0
  94. package/dist/generated/models/CreateFolderPayloadType.js.map +1 -0
  95. package/dist/generated/models/CreateShareLinkAIResponse.js +1 -0
  96. package/dist/generated/models/CreateShareLinkAIResponse.js.map +1 -0
  97. package/dist/generated/models/CreateVoicememoMessage.js +1 -0
  98. package/dist/generated/models/CreateVoicememoMessage.js.map +1 -0
  99. package/dist/generated/models/Folder.js +1 -0
  100. package/dist/generated/models/Folder.js.map +1 -0
  101. package/dist/generated/models/FolderType.js +1 -0
  102. package/dist/generated/models/FolderType.js.map +1 -0
  103. package/dist/generated/models/FolderWithMessages.js +1 -0
  104. package/dist/generated/models/FolderWithMessages.js.map +1 -0
  105. package/dist/generated/models/GetAllRootFoldersParams.js +1 -0
  106. package/dist/generated/models/GetAllRootFoldersParams.js.map +1 -0
  107. package/dist/generated/models/GetAllRootFoldersSortBy.js +1 -0
  108. package/dist/generated/models/GetAllRootFoldersSortBy.js.map +1 -0
  109. package/dist/generated/models/GetAllRootFoldersSortDirection.js +1 -0
  110. package/dist/generated/models/GetAllRootFoldersSortDirection.js.map +1 -0
  111. package/dist/generated/models/GetAllRootFoldersType.js +1 -0
  112. package/dist/generated/models/GetAllRootFoldersType.js.map +1 -0
  113. package/dist/generated/models/GetCountsGroupedByWorkspaceParams.js +1 -0
  114. package/dist/generated/models/GetCountsGroupedByWorkspaceParams.js.map +1 -0
  115. package/dist/generated/models/GetCountsGroupedByWorkspaceType.js +1 -0
  116. package/dist/generated/models/GetCountsGroupedByWorkspaceType.js.map +1 -0
  117. package/dist/generated/models/GetFolderByIdDirection.js +1 -0
  118. package/dist/generated/models/GetFolderByIdDirection.js.map +1 -0
  119. package/dist/generated/models/GetFolderByIdParams.js +1 -0
  120. package/dist/generated/models/GetFolderByIdParams.js.map +1 -0
  121. package/dist/generated/models/GetMessageByIdParams.js +1 -0
  122. package/dist/generated/models/GetMessageByIdParams.js.map +1 -0
  123. package/dist/generated/models/GetMessageResponse.js +1 -0
  124. package/dist/generated/models/GetMessageResponse.js.map +1 -0
  125. package/dist/generated/models/GetTenRecentAIPromptResponse.js +1 -0
  126. package/dist/generated/models/GetTenRecentAIPromptResponse.js.map +1 -0
  127. package/dist/generated/models/GetTenRecentMessagesResponse.js +1 -0
  128. package/dist/generated/models/GetTenRecentMessagesResponse.js.map +1 -0
  129. package/dist/generated/models/GetTenRecentMessagesResponseParams.js +1 -0
  130. package/dist/generated/models/GetTenRecentMessagesResponseParams.js.map +1 -0
  131. package/dist/generated/models/Label.js +1 -0
  132. package/dist/generated/models/Label.js.map +1 -0
  133. package/dist/generated/models/LabelBehavior.js +1 -0
  134. package/dist/generated/models/LabelBehavior.js.map +1 -0
  135. package/dist/generated/models/LabelType.js +1 -0
  136. package/dist/generated/models/LabelType.js.map +1 -0
  137. package/dist/generated/models/Language.js +1 -0
  138. package/dist/generated/models/Language.js.map +1 -0
  139. package/dist/generated/models/ListCountFoldersGroupedByWorkspace.js +1 -0
  140. package/dist/generated/models/ListCountFoldersGroupedByWorkspace.js.map +1 -0
  141. package/dist/generated/models/ListFoldersResponse.js +1 -0
  142. package/dist/generated/models/ListFoldersResponse.js.map +1 -0
  143. package/dist/generated/models/ListFoldersResponseSortBy.js +1 -0
  144. package/dist/generated/models/ListFoldersResponseSortBy.js.map +1 -0
  145. package/dist/generated/models/ListFoldersResponseSortDirection.js +1 -0
  146. package/dist/generated/models/ListFoldersResponseSortDirection.js.map +1 -0
  147. package/dist/generated/models/ListFoldersResponseType.js +1 -0
  148. package/dist/generated/models/ListFoldersResponseType.js.map +1 -0
  149. package/dist/generated/models/ListMessagesFilter.js +1 -0
  150. package/dist/generated/models/ListMessagesFilter.js.map +1 -0
  151. package/dist/generated/models/ListMessagesFilterType.js +1 -0
  152. package/dist/generated/models/ListMessagesFilterType.js.map +1 -0
  153. package/dist/generated/models/ListMessagesParams.js +1 -0
  154. package/dist/generated/models/ListMessagesParams.js.map +1 -0
  155. package/dist/generated/models/ListMessagesResponse.js +1 -0
  156. package/dist/generated/models/ListMessagesResponse.js.map +1 -0
  157. package/dist/generated/models/ListMessagesResponseSortDirection.js +1 -0
  158. package/dist/generated/models/ListMessagesResponseSortDirection.js.map +1 -0
  159. package/dist/generated/models/ListMessagesSortDirection.js +1 -0
  160. package/dist/generated/models/ListMessagesSortDirection.js.map +1 -0
  161. package/dist/generated/models/ListMessagesType.js +1 -0
  162. package/dist/generated/models/ListMessagesType.js.map +1 -0
  163. package/dist/generated/models/Message.js +1 -0
  164. package/dist/generated/models/Message.js.map +1 -0
  165. package/dist/generated/models/MessageStatus.js +1 -0
  166. package/dist/generated/models/MessageStatus.js.map +1 -0
  167. package/dist/generated/models/MessageType.js +1 -0
  168. package/dist/generated/models/MessageType.js.map +1 -0
  169. package/dist/generated/models/MessageV2.js +1 -0
  170. package/dist/generated/models/MessageV2.js.map +1 -0
  171. package/dist/generated/models/MessageV2AudioDelivery.js +1 -0
  172. package/dist/generated/models/MessageV2AudioDelivery.js.map +1 -0
  173. package/dist/generated/models/MessageV2Status.js +1 -0
  174. package/dist/generated/models/MessageV2Status.js.map +1 -0
  175. package/dist/generated/models/MessageV2Type.js +1 -0
  176. package/dist/generated/models/MessageV2Type.js.map +1 -0
  177. package/dist/generated/models/MessageV2UsersCaughtUp.js +1 -0
  178. package/dist/generated/models/MessageV2UsersCaughtUp.js.map +1 -0
  179. package/dist/generated/models/MessageV2UtmData.js +1 -0
  180. package/dist/generated/models/MessageV2UtmData.js.map +1 -0
  181. package/dist/generated/models/MoveFolderPayload.js +1 -0
  182. package/dist/generated/models/MoveFolderPayload.js.map +1 -0
  183. package/dist/generated/models/PromptResponse.js +1 -0
  184. package/dist/generated/models/PromptResponse.js.map +1 -0
  185. package/dist/generated/models/ReactionSummary.js +1 -0
  186. package/dist/generated/models/ReactionSummary.js.map +1 -0
  187. package/dist/generated/models/ReactionSummaryReactionCounts.js +1 -0
  188. package/dist/generated/models/ReactionSummaryReactionCounts.js.map +1 -0
  189. package/dist/generated/models/ResponseByLanguage.js +1 -0
  190. package/dist/generated/models/ResponseByLanguage.js.map +1 -0
  191. package/dist/generated/models/ResponseByLanguageJson.js +1 -0
  192. package/dist/generated/models/ResponseByLanguageJson.js.map +1 -0
  193. package/dist/generated/models/SearchUserParams.js +1 -0
  194. package/dist/generated/models/SearchUserParams.js.map +1 -0
  195. package/dist/generated/models/SearchUsersBody.js +1 -0
  196. package/dist/generated/models/SearchUsersBody.js.map +1 -0
  197. package/dist/generated/models/SendDirectMessage.js +1 -0
  198. package/dist/generated/models/SendDirectMessage.js.map +1 -0
  199. package/dist/generated/models/SendDirectMessageFromMessageType.js +1 -0
  200. package/dist/generated/models/SendDirectMessageFromMessageType.js.map +1 -0
  201. package/dist/generated/models/SimplifiedAIPrompt.js +1 -0
  202. package/dist/generated/models/SimplifiedAIPrompt.js.map +1 -0
  203. package/dist/generated/models/Stats.js +1 -0
  204. package/dist/generated/models/Stats.js.map +1 -0
  205. package/dist/generated/models/SubFolder.js +1 -0
  206. package/dist/generated/models/SubFolder.js.map +1 -0
  207. package/dist/generated/models/SubFolderType.js +1 -0
  208. package/dist/generated/models/SubFolderType.js.map +1 -0
  209. package/dist/generated/models/SubscribeUserPayload.js +1 -0
  210. package/dist/generated/models/SubscribeUserPayload.js.map +1 -0
  211. package/dist/generated/models/SubscribeUserPayloadSubscriptionsItem.js +1 -0
  212. package/dist/generated/models/SubscribeUserPayloadSubscriptionsItem.js.map +1 -0
  213. package/dist/generated/models/SubscribedUser.js +1 -0
  214. package/dist/generated/models/SubscribedUser.js.map +1 -0
  215. package/dist/generated/models/SubscribedUserSubscriptionsItem.js +1 -0
  216. package/dist/generated/models/SubscribedUserSubscriptionsItem.js.map +1 -0
  217. package/dist/generated/models/SubscriptionAction.js +1 -0
  218. package/dist/generated/models/SubscriptionAction.js.map +1 -0
  219. package/dist/generated/models/SubscriptionActionActionId.js +1 -0
  220. package/dist/generated/models/SubscriptionActionActionId.js.map +1 -0
  221. package/dist/generated/models/SubscriptionActionEntityType.js +1 -0
  222. package/dist/generated/models/SubscriptionActionEntityType.js.map +1 -0
  223. package/dist/generated/models/SubscriptionFilter.js +1 -0
  224. package/dist/generated/models/SubscriptionFilter.js.map +1 -0
  225. package/dist/generated/models/SubscriptionFilterOperator.js +1 -0
  226. package/dist/generated/models/SubscriptionFilterOperator.js.map +1 -0
  227. package/dist/generated/models/SubscriptionFilterValue.js +1 -0
  228. package/dist/generated/models/SubscriptionFilterValue.js.map +1 -0
  229. package/dist/generated/models/TextModel.js +1 -0
  230. package/dist/generated/models/TextModel.js.map +1 -0
  231. package/dist/generated/models/TextModelType.js +1 -0
  232. package/dist/generated/models/TextModelType.js.map +1 -0
  233. package/dist/generated/models/TimedText.js +1 -0
  234. package/dist/generated/models/TimedText.js.map +1 -0
  235. package/dist/generated/models/ToRecipient.js +1 -0
  236. package/dist/generated/models/ToRecipient.js.map +1 -0
  237. package/dist/generated/models/UpdateFolderNamePayload.js +1 -0
  238. package/dist/generated/models/UpdateFolderNamePayload.js.map +1 -0
  239. package/dist/generated/models/User.js +1 -0
  240. package/dist/generated/models/User.js.map +1 -0
  241. package/dist/generated/models/UserReaction.js +1 -0
  242. package/dist/generated/models/UserReaction.js.map +1 -0
  243. package/dist/generated/models/UserStats.js +1 -0
  244. package/dist/generated/models/UserStats.js.map +1 -0
  245. package/dist/generated/models/UsersNotAllowedReceiveNotifications.js +1 -0
  246. package/dist/generated/models/UsersNotAllowedReceiveNotifications.js.map +1 -0
  247. package/dist/generated/models/UsersNotAllowedReceiveNotificationsV2.js +1 -0
  248. package/dist/generated/models/UsersNotAllowedReceiveNotificationsV2.js.map +1 -0
  249. package/dist/generated/models/UtmData.js +1 -0
  250. package/dist/generated/models/UtmData.js.map +1 -0
  251. package/dist/generated/models/Voice.js +1 -0
  252. package/dist/generated/models/Voice.js.map +1 -0
  253. package/dist/generated/models/VoiceGender.js +1 -0
  254. package/dist/generated/models/VoiceGender.js.map +1 -0
  255. package/dist/generated/models/VoiceQuality.js +1 -0
  256. package/dist/generated/models/VoiceQuality.js.map +1 -0
  257. package/dist/generated/models/VoiceType.js +1 -0
  258. package/dist/generated/models/VoiceType.js.map +1 -0
  259. package/dist/generated/models/WorkspaceBasicInfo.js +1 -0
  260. package/dist/generated/models/WorkspaceBasicInfo.js.map +1 -0
  261. package/dist/generated/models/index.js +1 -0
  262. package/dist/generated/models/index.js.map +1 -0
  263. package/dist/interfaces/conversation.interface.js +1 -0
  264. package/dist/interfaces/conversation.interface.js.map +1 -0
  265. package/dist/interfaces/folder.interface.js +1 -0
  266. package/dist/interfaces/folder.interface.js.map +1 -0
  267. package/dist/interfaces/get-by-id.interface.js +1 -0
  268. package/dist/interfaces/get-by-id.interface.js.map +1 -0
  269. package/dist/interfaces/index.js +1 -0
  270. package/dist/interfaces/index.js.map +1 -0
  271. package/dist/interfaces/mcp-tool-response.interface.js +1 -0
  272. package/dist/interfaces/mcp-tool-response.interface.js.map +1 -0
  273. package/dist/interfaces/message.interface.js +1 -0
  274. package/dist/interfaces/message.interface.js.map +1 -0
  275. package/dist/schemas/conversation.js +1 -0
  276. package/dist/schemas/conversation.js.map +1 -0
  277. package/dist/schemas/index.js +1 -0
  278. package/dist/schemas/index.js.map +1 -0
  279. package/dist/schemas/message.js +1 -0
  280. package/dist/schemas/message.js.map +1 -0
  281. package/dist/server.js +109 -71
  282. package/dist/server.js.map +1 -0
  283. package/dist/transports/http/constants.js +5 -0
  284. package/dist/transports/http/constants.js.map +1 -0
  285. package/dist/transports/http/index.js +19 -0
  286. package/dist/transports/http/index.js.map +1 -0
  287. package/dist/transports/http/middleware/add-mcp-session-id.middleware.js +28 -0
  288. package/dist/transports/http/middleware/add-mcp-session-id.middleware.js.map +1 -0
  289. package/dist/transports/http/middleware/add-request-id.middlware.js +11 -0
  290. package/dist/transports/http/middleware/add-request-id.middlware.js.map +1 -0
  291. package/dist/transports/http/middleware/auth-error-logger.middleware.js +31 -0
  292. package/dist/transports/http/middleware/auth-error-logger.middleware.js.map +1 -0
  293. package/dist/transports/http/middleware/index.js +24 -0
  294. package/dist/transports/http/middleware/index.js.map +1 -0
  295. package/dist/transports/http/middleware/log-request.middlware.js +31 -0
  296. package/dist/transports/http/middleware/log-request.middlware.js.map +1 -0
  297. package/dist/transports/http/middleware/oauth-authorization-server.middleware.js +24 -0
  298. package/dist/transports/http/middleware/oauth-authorization-server.middleware.js.map +1 -0
  299. package/dist/transports/http/middleware/oauth-protected-resource.middleware.js +19 -0
  300. package/dist/transports/http/middleware/oauth-protected-resource.middleware.js.map +1 -0
  301. package/dist/transports/http/middleware/well-known-cors-headers.middleware.js +23 -0
  302. package/dist/transports/http/middleware/well-known-cors-headers.middleware.js.map +1 -0
  303. package/dist/transports/http/streamable.js +661 -0
  304. package/dist/transports/http/streamable.js.map +1 -0
  305. package/dist/transports/http/utils/get-or-create-session-id.js +19 -0
  306. package/dist/transports/http/utils/get-or-create-session-id.js.map +1 -0
  307. package/dist/transports/http/utils/index.js +18 -0
  308. package/dist/transports/http/utils/index.js.map +1 -0
  309. package/dist/transports/stdio/index.js +18 -0
  310. package/dist/transports/stdio/index.js.map +1 -0
  311. package/dist/transports/stdio/stdio.js +27 -0
  312. package/dist/transports/stdio/stdio.js.map +1 -0
  313. package/dist/utils/axios-instance.js +85 -32
  314. package/dist/utils/axios-instance.js.map +1 -0
  315. package/dist/utils/format-time-to-human.js +33 -0
  316. package/dist/utils/format-time-to-human.js.map +1 -0
  317. package/dist/utils/format-to-mcp-tool-response.js +1 -0
  318. package/dist/utils/format-to-mcp-tool-response.js.map +1 -0
  319. package/dist/utils/format-uptime.js +13 -0
  320. package/dist/utils/format-uptime.js.map +1 -0
  321. package/dist/utils/get-user-id-from-headers.js +11 -0
  322. package/dist/utils/get-user-id-from-headers.js.map +1 -0
  323. package/dist/utils/get-user-id-from-token.js +21 -0
  324. package/dist/utils/get-user-id-from-token.js.map +1 -0
  325. package/dist/utils/http-errors.js +34 -0
  326. package/dist/utils/http-errors.js.map +1 -0
  327. package/dist/utils/index.js +7 -0
  328. package/dist/utils/index.js.map +1 -0
  329. package/dist/utils/logger.js +90 -45
  330. package/dist/utils/logger.js.map +1 -0
  331. package/dist/utils/obfuscate-auth-headers.js +18 -0
  332. package/dist/utils/obfuscate-auth-headers.js.map +1 -0
  333. package/dist/utils/zod-schema-transformer.js +1 -0
  334. package/dist/utils/zod-schema-transformer.js.map +1 -0
  335. package/dist/utils/zod-transformer.js +1 -0
  336. package/dist/utils/zod-transformer.js.map +1 -0
  337. package/package.json +34 -8
  338. package/dist/stdio.js +0 -39
  339. package/dist/utils/errors.js +0 -22
@@ -7,6 +7,7 @@ exports.createLogger = exports.stream = exports.logger = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const winston_1 = __importDefault(require("winston"));
10
+ const winston_cloudwatch_1 = __importDefault(require("winston-cloudwatch"));
10
11
  const config_1 = require("../config");
11
12
  const constants_1 = require("../constants");
12
13
  // Custom log levels
@@ -25,18 +26,6 @@ const colors = {
25
26
  http: 'magenta',
26
27
  debug: 'white',
27
28
  };
28
- // Add colors to winston
29
- winston_1.default.addColors(colors);
30
- // Console format with colors
31
- const consoleFormat = winston_1.default.format.combine(winston_1.default.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss:SSS' }), winston_1.default.format.colorize({ all: true }), winston_1.default.format.printf(({ timestamp, level, message, ...metadata }) => {
32
- let output = `${timestamp} ${level}: ${message}`;
33
- if (Object.keys(metadata).length > 0) {
34
- output += '\n' + JSON.stringify(metadata, null, 2);
35
- }
36
- return output;
37
- }));
38
- // File format (JSON)
39
- const fileFormat = winston_1.default.format.combine(winston_1.default.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss:SSS' }), winston_1.default.format.json());
40
29
  const getLogLevel = () => {
41
30
  return config_1.env.LOG_LEVEL || 'info';
42
31
  };
@@ -44,49 +33,104 @@ const getLogLevel = () => {
44
33
  // const logDir = path.join(process.cwd(), 'logs');
45
34
  // Prefer env var, fallback to project-relative folder
46
35
  const logDir = process.env.LOG_DIR || constants_1.LOG_DIR;
47
- if (!fs_1.default.existsSync(logDir)) {
48
- try {
49
- fs_1.default.mkdirSync(logDir, { recursive: true });
50
- }
51
- catch (error) {
52
- console.error('Error creating log directory', error);
36
+ const createLogDir = (logDir) => {
37
+ if (!fs_1.default.existsSync(logDir)) {
38
+ try {
39
+ fs_1.default.mkdirSync(logDir, { recursive: true });
40
+ }
41
+ catch (error) {
42
+ console.error('Error creating log directory', error);
43
+ }
53
44
  }
54
- }
55
- console.error('logs_dir', logDir);
45
+ console.error('logs_dir', logDir);
46
+ };
56
47
  // Create log files
57
48
  const errorLogFile = path_1.default.join(logDir, 'error.log');
58
49
  const combinedLogFile = path_1.default.join(logDir, 'combined.log');
59
- const fileTransports = [
60
- // Error log file
61
- new winston_1.default.transports.File({
62
- filename: errorLogFile,
63
- level: 'error',
64
- maxsize: 5 * 1024 * 1024, // 5MB
65
- maxFiles: 5,
66
- tailable: true,
67
- }),
68
- // Combined log file - set to same level as logger
69
- new winston_1.default.transports.File({
70
- filename: combinedLogFile,
71
- level: getLogLevel(), // Use same level as logger
72
- maxsize: 5 * 1024 * 1024, // 5MB
73
- maxFiles: 5,
74
- tailable: true,
75
- }),
76
- ];
77
- const consoleTransport = process.env.MCP_STDIO_MODE === 'true'
78
- ? [
50
+ const transports = {
51
+ file: [
52
+ // Error log file
53
+ new winston_1.default.transports.File({
54
+ filename: errorLogFile,
55
+ level: 'error',
56
+ maxsize: 5 * 1024 * 1024, // 5MB
57
+ maxFiles: 5,
58
+ tailable: true,
59
+ }),
60
+ // Combined log file - set to same level as logger
61
+ new winston_1.default.transports.File({
62
+ filename: combinedLogFile,
63
+ level: getLogLevel(), // Use same level as logger
64
+ maxsize: 5 * 1024 * 1024, // 5MB
65
+ maxFiles: 5,
66
+ tailable: true,
67
+ }),
68
+ ],
69
+ console: [
79
70
  new winston_1.default.transports.Console({
80
- format: consoleFormat,
71
+ format: winston_1.default.format.combine(winston_1.default.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss:SSS' }), winston_1.default.format.colorize({ all: true }), winston_1.default.format.printf(({ timestamp, level, message, ...metadata }) => {
72
+ let output = `${timestamp} [${config_1.env.ENVIRONMENT}] ${level}: ${message}`;
73
+ if (Object.keys(metadata).length > 0) {
74
+ metadata.environment = config_1.env.ENVIRONMENT; // Add environment to metadata
75
+ metadata.version = constants_1.SERVICE_VERSION;
76
+ output += '\n' + JSON.stringify(metadata, null, 2);
77
+ }
78
+ return output;
79
+ })),
81
80
  }),
82
- ]
83
- : [];
81
+ ],
82
+ cloudwatch: [
83
+ new winston_cloudwatch_1.default({
84
+ logGroupName: 'CarbonVoice-MCP-Server',
85
+ logStreamName: `CarbonVoice-MCP-Server-${config_1.env.ENVIRONMENT}`,
86
+ awsRegion: 'us-east-2',
87
+ retentionInDays: 14,
88
+ // Credentials are injected by App Runner
89
+ level: getLogLevel(),
90
+ jsonMessage: false, // Set to false to use messageFormatter
91
+ messageFormatter: ({ level, message, ...rest }) => {
92
+ return JSON.stringify({
93
+ timestamp: new Date().toISOString(),
94
+ level,
95
+ message,
96
+ environment: config_1.env.ENVIRONMENT,
97
+ version: constants_1.SERVICE_VERSION,
98
+ ...rest,
99
+ });
100
+ },
101
+ }),
102
+ ],
103
+ };
104
+ // Note: Format is now defined inline in the logger creation
105
+ const getLogTransports = () => {
106
+ const transport = config_1.env.LOG_TRANSPORT || 'file';
107
+ console.error('Executing: getLogTransports()', 'transport:', transport, 'logDir:', logDir);
108
+ if (transport === 'file') {
109
+ createLogDir(logDir);
110
+ return transports.file;
111
+ }
112
+ if (transport === 'cloudwatch') {
113
+ return transports.cloudwatch;
114
+ }
115
+ return transports.console;
116
+ };
117
+ // Add colors to winston
118
+ winston_1.default.addColors(colors);
84
119
  // Create the logger
85
120
  exports.logger = winston_1.default.createLogger({
86
121
  level: getLogLevel(),
87
122
  levels,
88
- format: fileFormat,
89
- transports: [...consoleTransport, ...fileTransports],
123
+ format: winston_1.default.format.combine(winston_1.default.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss:SSS' }), winston_1.default.format.errors({ stack: true }), winston_1.default.format.json(), winston_1.default.format.printf(({ timestamp, level, message, ...metadata }) => {
124
+ return JSON.stringify({
125
+ timestamp,
126
+ level,
127
+ message,
128
+ environment: config_1.env.ENVIRONMENT,
129
+ version: constants_1.SERVICE_VERSION,
130
+ ...metadata,
131
+ });
132
+ })),
133
+ transports: getLogTransports(),
90
134
  });
91
135
  // Add a startup log to verify the logger is working
92
136
  // logger.debug('Logger initialized', {
@@ -112,3 +156,4 @@ const createLogger = (context) => {
112
156
  return exports.logger.child({ context });
113
157
  };
114
158
  exports.createLogger = createLogger;
159
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.obfuscateAuthHeaders = exports.removeLastChars = void 0;
4
+ const AUTH_HEADERS = ['authorization', 'x-api-key'];
5
+ const removeLastChars = (str) => {
6
+ return (str === null || str === void 0 ? void 0 : str.substring(0, str.length - 5)) + '<omitted>';
7
+ };
8
+ exports.removeLastChars = removeLastChars;
9
+ const obfuscateAuthHeaders = (headers) => {
10
+ return Object.fromEntries(Object.entries(headers).map(([key, value]) => [
11
+ key,
12
+ AUTH_HEADERS.includes(key === null || key === void 0 ? void 0 : key.toLowerCase())
13
+ ? (0, exports.removeLastChars)(`${value}`)
14
+ : value,
15
+ ]));
16
+ };
17
+ exports.obfuscateAuthHeaders = obfuscateAuthHeaders;
18
+ //# sourceMappingURL=obfuscate-auth-headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"obfuscate-auth-headers.js","sourceRoot":"","sources":["../../src/utils/obfuscate-auth-headers.ts"],"names":[],"mappings":";;;AAEA,MAAM,YAAY,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AAE7C,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE;IAC7C,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAG,WAAW,CAAC;AACzD,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAEK,MAAM,oBAAoB,GAAG,CAClC,OAA4B,EACP,EAAE;IACvB,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC5C,GAAG;QACH,YAAY,CAAC,QAAQ,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,EAAE,CAAC;YACvC,CAAC,CAAC,IAAA,uBAAe,EAAC,GAAG,KAAK,EAAE,CAAC;YAC7B,CAAC,CAAC,KAAK;KACV,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,oBAAoB,wBAW/B"}
@@ -64,3 +64,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
64
64
  // return output;
65
65
  // };
66
66
  // export default transformer;
67
+ //# sourceMappingURL=zod-schema-transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-schema-transformer.js","sourceRoot":"","sources":["../../src/utils/zod-schema-transformer.ts"],"names":[],"mappings":";AAAA,6CAA6C;AAC7C,2BAA2B;;AAE3B,+EAA+E;AAC/E,mBAAmB;AACnB,sBAAsB;AACtB,MAAM;AAEN,2BAA2B;AAC3B,qBAAqB;AACrB,2BAA2B;AAC3B,yDAAyD;AACzD,wBAAwB;AACxB,qBAAqB;AACrB,sBAAsB;AACtB,2BAA2B;AAC3B,sBAAsB;AACtB,4BAA4B;AAC5B,oBAAoB;AACpB,mFAAmF;AACnF,qBAAqB;AACrB,iCAAiC;AACjC,+DAA+D;AAC/D,yEAAyE;AACzE,+DAA+D;AAC/D,oCAAoC;AACpC,kEAAkE;AAClE,8EAA8E;AAC9E,YAAY;AACZ,kCAAkC;AAClC,UAAU;AACV,kCAAkC;AAClC,eAAe;AACf,wBAAwB;AACxB,MAAM;AACN,IAAI;AAEJ,oDAAoD;AACpD,iCAAiC;AACjC,uBAAuB;AACvB,qEAAqE;AACrE,gCAAgC;AAChC,SAAS;AACT,MAAM;AAEN,2DAA2D;AAE3D,mDAAmD;AACnD,2CAA2C;AAC3C,mDAAmD;AACnD,wCAAwC;AACxC,WAAW;AACX,6EAA6E;AAC7E,QAAQ;AACR,MAAM;AAEN,wCAAwC;AACxC,6CAA6C;AAE7C,2BAA2B;AAC3B,4BAA4B;AAC5B,mFAAmF;AACnF,iBAAiB;AAEjB,kBAAkB;AAClB,4BAA4B;AAC5B,6EAA6E;AAC7E,iBAAiB;AACjB,KAAK;AAEL,mBAAmB;AACnB,KAAK;AAEL,8BAA8B"}
@@ -22,3 +22,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
22
22
  // // Use both CommonJS and ESM exports for compatibility
23
23
  // module.exports = transformer;
24
24
  // export default transformer;
25
+ //# sourceMappingURL=zod-transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-transformer.js","sourceRoot":"","sources":["../../src/utils/zod-transformer.ts"],"names":[],"mappings":";AAAA,qEAAqE;;AAErE,6CAA6C;AAC7C,iCAAiC;AACjC,uBAAuB;AACvB,qEAAqE;AACrE,gCAAgC;AAChC,SAAS;AACT,MAAM;AACN,sBAAsB;AACtB,uBAAuB;AACvB,mEAAmE;AACnE,gCAAgC;AAChC,SAAS;AACT,MAAM;AACN,0CAA0C;AAC1C,+BAA+B;AAC/B,2BAA2B;AAC3B,QAAQ;AACR,KAAK;AAEL,yDAAyD;AACzD,gCAAgC;AAChC,8BAA8B"}
package/package.json CHANGED
@@ -1,23 +1,36 @@
1
1
  {
2
2
  "name": "@carbonvoice/cv-mcp-server",
3
- "version": "1.0.13",
3
+ "version": "1.1.2",
4
4
  "description": "Server implementation for integrating with Carbon Voice's API, providing tools and endpoints for voice messaging, conversations, and workspace management through MCP (Model Context Protocol)",
5
5
  "author": "Carbon Voice",
6
6
  "license": "ISC",
7
7
  "private": false,
8
8
  "homepage": "https://getcarbon.app",
9
9
  "bugs": "https://github.com/PhononX/cv-mcp-server/issues",
10
- "main": "./dist/stdio.js",
10
+ "main": "./dist/transports/stdio/stdio.js",
11
11
  "bin": {
12
- "cv-mcp-server": "dist/stdio.js"
12
+ "cv-mcp-server": "/dist/transports/stdio/stdio.js"
13
13
  },
14
14
  "scripts": {
15
15
  "build": "shx rm -rf dist && tsc && shx chmod +x dist/*.js",
16
16
  "prepare": "npm run build",
17
17
  "lint:fix": "eslint src --fix",
18
- "mcp:inspector": "env-cmd npx @modelcontextprotocol/inspector node dist/stdio.js",
18
+ "mcp:inspector:stdio": "env-cmd npx @modelcontextprotocol/inspector node ./dist/transports/stdio/stdio.js",
19
+ "mcp:inspector:http": "env-cmd npx @modelcontextprotocol/inspector http://localhost:3005",
20
+ "dev:http": "env-cmd nodemon --inspect dist/transports/http/streamable.js",
21
+ "start:http": "node dist/transports/http/streamable.js",
19
22
  "auto:build": "env-cmd nodemon --watch src --ext ts --exec npm run build",
20
- "generate:api": "env-cmd orval --config orval.config.ts"
23
+ "generate:api": "env-cmd orval --config orval.config.ts",
24
+ "test:oauth": "node test-oauth.js",
25
+ "test": "echo \"Need to implement tests...\"",
26
+ "version:check": "echo \"Current version: $(jq -r .version package.json)\"",
27
+ "version:patch": "npm version patch && git push origin develop",
28
+ "version:minor": "npm version minor && git push origin develop",
29
+ "version:major": "npm version major && git push origin develop",
30
+ "release:patch": "git checkout develop && git pull origin develop && npm run test && npm run build && npm version patch && git push origin develop && git checkout main && git merge develop && git push origin main && git checkout develop",
31
+ "release:minor": "git checkout develop && git pull origin develop && npm run test && npm run build && npm version minor && git push origin develop && git checkout main && git merge develop && git push origin main && git checkout develop",
32
+ "release:major": "git checkout develop && git pull origin develop && npm run test && npm run build && npm version major && git push origin develop && git checkout main && git merge develop && git push origin main && git checkout develop",
33
+ "deploy:release": "git checkout develop && git pull origin develop && npm run test && npm run build && git push origin develop && git checkout main && git merge develop && git push origin main && git checkout develop"
21
34
  },
22
35
  "files": [
23
36
  "dist"
@@ -27,18 +40,31 @@
27
40
  "mcp-server",
28
41
  "mcp-server-carbonvoice",
29
42
  "carbonvoice",
30
- "carbonvoice-mcp-server"
43
+ "carbonvoice-mcp-server",
44
+ "stdio",
45
+ "http",
46
+ "streamable"
31
47
  ],
32
48
  "dependencies": {
33
- "@modelcontextprotocol/sdk": "^1.12.1",
49
+ "@aws-sdk/client-cloudwatch-logs": "^3.844.0",
50
+ "@modelcontextprotocol/sdk": "^1.15.1",
34
51
  "axios": "^1.9.0",
52
+ "cors": "^2.8.5",
53
+ "express": "^5.1.0",
54
+ "helmet": "^8.1.0",
55
+ "http-errors": "^2.0.0",
56
+ "jsonwebtoken": "^9.0.2",
35
57
  "openapi-zod-client": "^1.18.3",
36
- "winston": "^3.17.0"
58
+ "winston": "^3.17.0",
59
+ "winston-cloudwatch": "^6.3.0"
37
60
  },
38
61
  "devDependencies": {
39
62
  "@eslint/js": "^9.29.0",
40
63
  "@orval/zod": "^7.9.0",
64
+ "@types/cors": "^2.8.19",
65
+ "@types/express": "^5.0.3",
41
66
  "@types/handlebars": "^4.0.40",
67
+ "@types/jsonwebtoken": "^9.0.10",
42
68
  "@types/node": "^22.15.29",
43
69
  "@typescript-eslint/eslint-plugin": "^8.33.1",
44
70
  "@typescript-eslint/parser": "^8.33.1",
package/dist/stdio.js DELETED
@@ -1,39 +0,0 @@
1
- #!/usr/bin/env node
2
- 'use strict';
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
8
- const constants_1 = require("./constants");
9
- const server_1 = __importDefault(require("./server"));
10
- const utils_1 = require("./utils");
11
- // Set stdio mode for logger (Needed for the logger to work in stdio mode)
12
- process.env.MCP_STDIO_MODE = 'true';
13
- const logArgs = {
14
- name: constants_1.SERVICE_NAME,
15
- version: constants_1.SERVICE_VERSION,
16
- };
17
- async function runServer() {
18
- const transport = new stdio_js_1.StdioServerTransport();
19
- // Log startup information
20
- utils_1.logger.debug('🚀 Starting stdio server...', logArgs);
21
- try {
22
- await server_1.default.connect(transport);
23
- utils_1.logger.info('✅ MCP server connected to stdio transport', logArgs);
24
- }
25
- catch (error) {
26
- utils_1.logger.error('❌ Failed to connect server to stdio transport', {
27
- error,
28
- ...logArgs,
29
- });
30
- process.exit(1);
31
- }
32
- }
33
- runServer().catch((error) => {
34
- utils_1.logger.error('❌ Fatal server error', {
35
- error,
36
- ...logArgs,
37
- });
38
- process.exit(1);
39
- });
@@ -1,22 +0,0 @@
1
- "use strict";
2
- // import { ErrorResponse } from '../interfaces';
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- // export const handleError = (error: any): ErrorResponse => {
5
- // const status = error.status;
6
- // // return {
7
- // // isError: true,
8
- // // content: [{ type: 'text', text: `Error: ${error.message}` }],
9
- // // };
10
- // const resource = 'user';
11
- // const id = 'xxx-1234';
12
- // return {
13
- // statusCode: 404,
14
- // body: {
15
- // error: {
16
- // code: 'RESOURCE_NOT_FOUND',
17
- // message: `The requested ${resource} with ID ${id} was not found.`,
18
- // details: { resource, id },
19
- // },
20
- // },
21
- // } as any;
22
- // };