@egain/egain-mcp-server 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (693) hide show
  1. package/.speakeasy/templates/src/lib/env.ts +1 -0
  2. package/README.md +119 -0
  3. package/bin/mcp-server.js +47817 -0
  4. package/bin/mcp-server.js.map +371 -0
  5. package/esm/src/cloudflare-worker/cloudflare-worker.d.ts +17 -0
  6. package/esm/src/cloudflare-worker/cloudflare-worker.d.ts.map +1 -0
  7. package/esm/src/cloudflare-worker/cloudflare-worker.js +72 -0
  8. package/esm/src/cloudflare-worker/cloudflare-worker.js.map +1 -0
  9. package/esm/src/cloudflare-worker/landing-page.d.ts +2 -0
  10. package/esm/src/cloudflare-worker/landing-page.d.ts.map +1 -0
  11. package/esm/src/cloudflare-worker/landing-page.js +330 -0
  12. package/esm/src/cloudflare-worker/landing-page.js.map +1 -0
  13. package/esm/src/core.d.ts +10 -0
  14. package/esm/src/core.d.ts.map +1 -0
  15. package/esm/src/core.js +13 -0
  16. package/esm/src/core.js.map +1 -0
  17. package/esm/src/funcs/getAnnouncements.d.ts +25 -0
  18. package/esm/src/funcs/getAnnouncements.d.ts.map +1 -0
  19. package/esm/src/funcs/getAnnouncements.js +111 -0
  20. package/esm/src/funcs/getAnnouncements.js.map +1 -0
  21. package/esm/src/funcs/getAnswers.d.ts +25 -0
  22. package/esm/src/funcs/getAnswers.d.ts.map +1 -0
  23. package/esm/src/funcs/getAnswers.js +115 -0
  24. package/esm/src/funcs/getAnswers.js.map +1 -0
  25. package/esm/src/funcs/getArticle.d.ts +28 -0
  26. package/esm/src/funcs/getArticle.d.ts.map +1 -0
  27. package/esm/src/funcs/getArticle.js +118 -0
  28. package/esm/src/funcs/getArticle.js.map +1 -0
  29. package/esm/src/funcs/getPopularArticles.d.ts +25 -0
  30. package/esm/src/funcs/getPopularArticles.d.ts.map +1 -0
  31. package/esm/src/funcs/getPopularArticles.js +111 -0
  32. package/esm/src/funcs/getPopularArticles.js.map +1 -0
  33. package/esm/src/funcs/getPortals.d.ts +23 -0
  34. package/esm/src/funcs/getPortals.d.ts.map +1 -0
  35. package/esm/src/funcs/getPortals.js +106 -0
  36. package/esm/src/funcs/getPortals.js.map +1 -0
  37. package/esm/src/funcs/makeSuggestion.d.ts +25 -0
  38. package/esm/src/funcs/makeSuggestion.d.ts.map +1 -0
  39. package/esm/src/funcs/makeSuggestion.js +104 -0
  40. package/esm/src/funcs/makeSuggestion.js.map +1 -0
  41. package/esm/src/funcs/queryAnswers.d.ts +25 -0
  42. package/esm/src/funcs/queryAnswers.d.ts.map +1 -0
  43. package/esm/src/funcs/queryAnswers.js +109 -0
  44. package/esm/src/funcs/queryAnswers.js.map +1 -0
  45. package/esm/src/funcs/queryRetrieve.d.ts +27 -0
  46. package/esm/src/funcs/queryRetrieve.d.ts.map +1 -0
  47. package/esm/src/funcs/queryRetrieve.js +115 -0
  48. package/esm/src/funcs/queryRetrieve.js.map +1 -0
  49. package/esm/src/funcs/querySearch.d.ts +16 -0
  50. package/esm/src/funcs/querySearch.d.ts.map +1 -0
  51. package/esm/src/funcs/querySearch.js +98 -0
  52. package/esm/src/funcs/querySearch.js.map +1 -0
  53. package/esm/src/funcs/retrieveChunks.d.ts +27 -0
  54. package/esm/src/funcs/retrieveChunks.d.ts.map +1 -0
  55. package/esm/src/funcs/retrieveChunks.js +117 -0
  56. package/esm/src/funcs/retrieveChunks.js.map +1 -0
  57. package/esm/src/funcs/searchAiSearch.d.ts +16 -0
  58. package/esm/src/funcs/searchAiSearch.d.ts.map +1 -0
  59. package/esm/src/funcs/searchAiSearch.js +102 -0
  60. package/esm/src/funcs/searchAiSearch.js.map +1 -0
  61. package/esm/src/hooks/auth-hook.d.ts +100 -0
  62. package/esm/src/hooks/auth-hook.d.ts.map +1 -0
  63. package/esm/src/hooks/auth-hook.js +1565 -0
  64. package/esm/src/hooks/auth-hook.js.map +1 -0
  65. package/esm/src/hooks/hooks.d.ts +25 -0
  66. package/esm/src/hooks/hooks.d.ts.map +1 -0
  67. package/esm/src/hooks/hooks.js +82 -0
  68. package/esm/src/hooks/hooks.js.map +1 -0
  69. package/esm/src/hooks/portal-cache-hook.d.ts +34 -0
  70. package/esm/src/hooks/portal-cache-hook.d.ts.map +1 -0
  71. package/esm/src/hooks/portal-cache-hook.js +441 -0
  72. package/esm/src/hooks/portal-cache-hook.js.map +1 -0
  73. package/esm/src/hooks/portal-lookup-hook.d.ts +17 -0
  74. package/esm/src/hooks/portal-lookup-hook.d.ts.map +1 -0
  75. package/esm/src/hooks/portal-lookup-hook.js +374 -0
  76. package/esm/src/hooks/portal-lookup-hook.js.map +1 -0
  77. package/esm/src/hooks/registration.d.ts +3 -0
  78. package/esm/src/hooks/registration.d.ts.map +1 -0
  79. package/esm/src/hooks/registration.js +36 -0
  80. package/esm/src/hooks/registration.js.map +1 -0
  81. package/esm/src/hooks/server-routing-hook.d.ts +19 -0
  82. package/esm/src/hooks/server-routing-hook.d.ts.map +1 -0
  83. package/esm/src/hooks/server-routing-hook.js +43 -0
  84. package/esm/src/hooks/server-routing-hook.js.map +1 -0
  85. package/esm/src/hooks/types.d.ts +76 -0
  86. package/esm/src/hooks/types.d.ts.map +1 -0
  87. package/esm/src/hooks/types.js +5 -0
  88. package/esm/src/hooks/types.js.map +1 -0
  89. package/esm/src/lib/base64.d.ts +10 -0
  90. package/esm/src/lib/base64.d.ts.map +1 -0
  91. package/esm/src/lib/base64.js +29 -0
  92. package/esm/src/lib/base64.js.map +1 -0
  93. package/esm/src/lib/config.d.ts +57 -0
  94. package/esm/src/lib/config.d.ts.map +1 -0
  95. package/esm/src/lib/config.js +46 -0
  96. package/esm/src/lib/config.js.map +1 -0
  97. package/esm/src/lib/dlv.d.ts +14 -0
  98. package/esm/src/lib/dlv.d.ts.map +1 -0
  99. package/esm/src/lib/dlv.js +46 -0
  100. package/esm/src/lib/dlv.js.map +1 -0
  101. package/esm/src/lib/encodings.d.ts +52 -0
  102. package/esm/src/lib/encodings.d.ts.map +1 -0
  103. package/esm/src/lib/encodings.js +354 -0
  104. package/esm/src/lib/encodings.js.map +1 -0
  105. package/esm/src/lib/env.d.ts +15 -0
  106. package/esm/src/lib/env.d.ts.map +1 -0
  107. package/esm/src/lib/env.js +27 -0
  108. package/esm/src/lib/env.js.map +1 -0
  109. package/esm/src/lib/files.d.ts +13 -0
  110. package/esm/src/lib/files.d.ts.map +1 -0
  111. package/esm/src/lib/files.js +73 -0
  112. package/esm/src/lib/files.js.map +1 -0
  113. package/esm/src/lib/http.d.ts +67 -0
  114. package/esm/src/lib/http.d.ts.map +1 -0
  115. package/esm/src/lib/http.js +209 -0
  116. package/esm/src/lib/http.js.map +1 -0
  117. package/esm/src/lib/is-plain-object.d.ts +2 -0
  118. package/esm/src/lib/is-plain-object.d.ts.map +1 -0
  119. package/esm/src/lib/is-plain-object.js +38 -0
  120. package/esm/src/lib/is-plain-object.js.map +1 -0
  121. package/esm/src/lib/logger.d.ts +6 -0
  122. package/esm/src/lib/logger.d.ts.map +1 -0
  123. package/esm/src/lib/logger.js +5 -0
  124. package/esm/src/lib/logger.js.map +1 -0
  125. package/esm/src/lib/matchers.d.ts +66 -0
  126. package/esm/src/lib/matchers.d.ts.map +1 -0
  127. package/esm/src/lib/matchers.js +209 -0
  128. package/esm/src/lib/matchers.js.map +1 -0
  129. package/esm/src/lib/primitives.d.ts +11 -0
  130. package/esm/src/lib/primitives.d.ts.map +1 -0
  131. package/esm/src/lib/primitives.js +81 -0
  132. package/esm/src/lib/primitives.js.map +1 -0
  133. package/esm/src/lib/result.d.ts +31 -0
  134. package/esm/src/lib/result.d.ts.map +1 -0
  135. package/esm/src/lib/result.js +31 -0
  136. package/esm/src/lib/result.js.map +1 -0
  137. package/esm/src/lib/retries.d.ts +38 -0
  138. package/esm/src/lib/retries.d.ts.map +1 -0
  139. package/esm/src/lib/retries.js +150 -0
  140. package/esm/src/lib/retries.js.map +1 -0
  141. package/esm/src/lib/schemas.d.ts +19 -0
  142. package/esm/src/lib/schemas.d.ts.map +1 -0
  143. package/esm/src/lib/schemas.js +57 -0
  144. package/esm/src/lib/schemas.js.map +1 -0
  145. package/esm/src/lib/sdks.d.ts +63 -0
  146. package/esm/src/lib/sdks.d.ts.map +1 -0
  147. package/esm/src/lib/sdks.js +258 -0
  148. package/esm/src/lib/sdks.js.map +1 -0
  149. package/esm/src/lib/security.d.ts +83 -0
  150. package/esm/src/lib/security.d.ts.map +1 -0
  151. package/esm/src/lib/security.js +138 -0
  152. package/esm/src/lib/security.js.map +1 -0
  153. package/esm/src/lib/url.d.ts +5 -0
  154. package/esm/src/lib/url.d.ts.map +1 -0
  155. package/esm/src/lib/url.js +22 -0
  156. package/esm/src/lib/url.js.map +1 -0
  157. package/esm/src/mcp-server/cli/start/command.d.ts +2 -0
  158. package/esm/src/mcp-server/cli/start/command.d.ts.map +1 -0
  159. package/esm/src/mcp-server/cli/start/command.js +96 -0
  160. package/esm/src/mcp-server/cli/start/command.js.map +1 -0
  161. package/esm/src/mcp-server/cli/start/impl.d.ts +17 -0
  162. package/esm/src/mcp-server/cli/start/impl.d.ts.map +1 -0
  163. package/esm/src/mcp-server/cli/start/impl.js +98 -0
  164. package/esm/src/mcp-server/cli/start/impl.js.map +1 -0
  165. package/esm/src/mcp-server/cli.d.ts +6 -0
  166. package/esm/src/mcp-server/cli.d.ts.map +1 -0
  167. package/esm/src/mcp-server/cli.js +7 -0
  168. package/esm/src/mcp-server/cli.js.map +1 -0
  169. package/esm/src/mcp-server/console-logger.d.ts +9 -0
  170. package/esm/src/mcp-server/console-logger.d.ts.map +1 -0
  171. package/esm/src/mcp-server/console-logger.js +56 -0
  172. package/esm/src/mcp-server/console-logger.js.map +1 -0
  173. package/esm/src/mcp-server/extensions.d.ts +11 -0
  174. package/esm/src/mcp-server/extensions.d.ts.map +1 -0
  175. package/esm/src/mcp-server/extensions.js +5 -0
  176. package/esm/src/mcp-server/extensions.js.map +1 -0
  177. package/esm/src/mcp-server/mcp-server.d.ts +2 -0
  178. package/esm/src/mcp-server/mcp-server.d.ts.map +1 -0
  179. package/esm/src/mcp-server/mcp-server.js +23 -0
  180. package/esm/src/mcp-server/mcp-server.js.map +1 -0
  181. package/esm/src/mcp-server/prompts.d.ts +26 -0
  182. package/esm/src/mcp-server/prompts.d.ts.map +1 -0
  183. package/esm/src/mcp-server/prompts.js +47 -0
  184. package/esm/src/mcp-server/prompts.js.map +1 -0
  185. package/esm/src/mcp-server/resources.d.ts +32 -0
  186. package/esm/src/mcp-server/resources.d.ts.map +1 -0
  187. package/esm/src/mcp-server/resources.js +82 -0
  188. package/esm/src/mcp-server/resources.js.map +1 -0
  189. package/esm/src/mcp-server/scopes.d.ts +3 -0
  190. package/esm/src/mcp-server/scopes.d.ts.map +1 -0
  191. package/esm/src/mcp-server/scopes.js +5 -0
  192. package/esm/src/mcp-server/scopes.js.map +1 -0
  193. package/esm/src/mcp-server/server.d.ts +16 -0
  194. package/esm/src/mcp-server/server.d.ts.map +1 -0
  195. package/esm/src/mcp-server/server.js +53 -0
  196. package/esm/src/mcp-server/server.js.map +1 -0
  197. package/esm/src/mcp-server/shared.d.ts +8 -0
  198. package/esm/src/mcp-server/shared.d.ts.map +1 -0
  199. package/esm/src/mcp-server/shared.js +61 -0
  200. package/esm/src/mcp-server/shared.js.map +1 -0
  201. package/esm/src/mcp-server/tools/getAnnouncements.d.ts +7 -0
  202. package/esm/src/mcp-server/tools/getAnnouncements.d.ts.map +1 -0
  203. package/esm/src/mcp-server/tools/getAnnouncements.js +44 -0
  204. package/esm/src/mcp-server/tools/getAnnouncements.js.map +1 -0
  205. package/esm/src/mcp-server/tools/getAnswers.d.ts +7 -0
  206. package/esm/src/mcp-server/tools/getAnswers.d.ts.map +1 -0
  207. package/esm/src/mcp-server/tools/getAnswers.js +44 -0
  208. package/esm/src/mcp-server/tools/getAnswers.js.map +1 -0
  209. package/esm/src/mcp-server/tools/getArticle.d.ts +7 -0
  210. package/esm/src/mcp-server/tools/getArticle.d.ts.map +1 -0
  211. package/esm/src/mcp-server/tools/getArticle.js +47 -0
  212. package/esm/src/mcp-server/tools/getArticle.js.map +1 -0
  213. package/esm/src/mcp-server/tools/getPopularArticles.d.ts +7 -0
  214. package/esm/src/mcp-server/tools/getPopularArticles.d.ts.map +1 -0
  215. package/esm/src/mcp-server/tools/getPopularArticles.js +44 -0
  216. package/esm/src/mcp-server/tools/getPopularArticles.js.map +1 -0
  217. package/esm/src/mcp-server/tools/getPortals.d.ts +7 -0
  218. package/esm/src/mcp-server/tools/getPortals.d.ts.map +1 -0
  219. package/esm/src/mcp-server/tools/getPortals.js +42 -0
  220. package/esm/src/mcp-server/tools/getPortals.js.map +1 -0
  221. package/esm/src/mcp-server/tools/makeSuggestion.d.ts +7 -0
  222. package/esm/src/mcp-server/tools/makeSuggestion.d.ts.map +1 -0
  223. package/esm/src/mcp-server/tools/makeSuggestion.js +44 -0
  224. package/esm/src/mcp-server/tools/makeSuggestion.js.map +1 -0
  225. package/esm/src/mcp-server/tools/queryAnswers.d.ts +7 -0
  226. package/esm/src/mcp-server/tools/queryAnswers.d.ts.map +1 -0
  227. package/esm/src/mcp-server/tools/queryAnswers.js +44 -0
  228. package/esm/src/mcp-server/tools/queryAnswers.js.map +1 -0
  229. package/esm/src/mcp-server/tools/queryRetrieve.d.ts +7 -0
  230. package/esm/src/mcp-server/tools/queryRetrieve.d.ts.map +1 -0
  231. package/esm/src/mcp-server/tools/queryRetrieve.js +46 -0
  232. package/esm/src/mcp-server/tools/queryRetrieve.js.map +1 -0
  233. package/esm/src/mcp-server/tools/querySearch.d.ts +7 -0
  234. package/esm/src/mcp-server/tools/querySearch.d.ts.map +1 -0
  235. package/esm/src/mcp-server/tools/querySearch.js +35 -0
  236. package/esm/src/mcp-server/tools/querySearch.js.map +1 -0
  237. package/esm/src/mcp-server/tools/retrieveChunks.d.ts +7 -0
  238. package/esm/src/mcp-server/tools/retrieveChunks.d.ts.map +1 -0
  239. package/esm/src/mcp-server/tools/retrieveChunks.js +46 -0
  240. package/esm/src/mcp-server/tools/retrieveChunks.js.map +1 -0
  241. package/esm/src/mcp-server/tools/searchAiSearch.d.ts +7 -0
  242. package/esm/src/mcp-server/tools/searchAiSearch.d.ts.map +1 -0
  243. package/esm/src/mcp-server/tools/searchAiSearch.js +35 -0
  244. package/esm/src/mcp-server/tools/searchAiSearch.js.map +1 -0
  245. package/esm/src/mcp-server/tools.d.ts +37 -0
  246. package/esm/src/mcp-server/tools.d.ts.map +1 -0
  247. package/esm/src/mcp-server/tools.js +78 -0
  248. package/esm/src/mcp-server/tools.js.map +1 -0
  249. package/esm/src/models/acceptlanguage.d.ts +7 -0
  250. package/esm/src/models/acceptlanguage.d.ts.map +1 -0
  251. package/esm/src/models/acceptlanguage.js +25 -0
  252. package/esm/src/models/acceptlanguage.js.map +1 -0
  253. package/esm/src/models/accessibleportal.d.ts +12 -0
  254. package/esm/src/models/accessibleportal.d.ts.map +1 -0
  255. package/esm/src/models/accessibleportal.js +14 -0
  256. package/esm/src/models/accessibleportal.js.map +1 -0
  257. package/esm/src/models/additionalsnippets.d.ts +17 -0
  258. package/esm/src/models/additionalsnippets.d.ts.map +1 -0
  259. package/esm/src/models/additionalsnippets.js +23 -0
  260. package/esm/src/models/additionalsnippets.js.map +1 -0
  261. package/esm/src/models/aisearchop.d.ts +23 -0
  262. package/esm/src/models/aisearchop.d.ts.map +1 -0
  263. package/esm/src/models/aisearchop.js +24 -0
  264. package/esm/src/models/aisearchop.js.map +1 -0
  265. package/esm/src/models/allaccessibleportals.d.ts +12 -0
  266. package/esm/src/models/allaccessibleportals.d.ts.map +1 -0
  267. package/esm/src/models/allaccessibleportals.js +11 -0
  268. package/esm/src/models/allaccessibleportals.js.map +1 -0
  269. package/esm/src/models/answersrequest.d.ts +28 -0
  270. package/esm/src/models/answersrequest.d.ts.map +1 -0
  271. package/esm/src/models/answersrequest.js +28 -0
  272. package/esm/src/models/answersrequest.js.map +1 -0
  273. package/esm/src/models/answersresponse.d.ts +34 -0
  274. package/esm/src/models/answersresponse.d.ts.map +1 -0
  275. package/esm/src/models/answersresponse.js +38 -0
  276. package/esm/src/models/answersresponse.js.map +1 -0
  277. package/esm/src/models/article.d.ts +59 -0
  278. package/esm/src/models/article.d.ts.map +1 -0
  279. package/esm/src/models/article.js +59 -0
  280. package/esm/src/models/article.js.map +1 -0
  281. package/esm/src/models/articleadditionalattributes.d.ts +4 -0
  282. package/esm/src/models/articleadditionalattributes.d.ts.map +1 -0
  283. package/esm/src/models/articleadditionalattributes.js +22 -0
  284. package/esm/src/models/articleadditionalattributes.js.map +1 -0
  285. package/esm/src/models/articleattachment.d.ts +16 -0
  286. package/esm/src/models/articleattachment.d.ts.map +1 -0
  287. package/esm/src/models/articleattachment.js +20 -0
  288. package/esm/src/models/articleattachment.js.map +1 -0
  289. package/esm/src/models/articleresult.d.ts +43 -0
  290. package/esm/src/models/articleresult.d.ts.map +1 -0
  291. package/esm/src/models/articleresult.js +42 -0
  292. package/esm/src/models/articleresult.js.map +1 -0
  293. package/esm/src/models/articleresultadditionalattributes.d.ts +4 -0
  294. package/esm/src/models/articleresultadditionalattributes.d.ts.map +1 -0
  295. package/esm/src/models/articleresultadditionalattributes.js +21 -0
  296. package/esm/src/models/articleresultadditionalattributes.js.map +1 -0
  297. package/esm/src/models/articleresults.d.ts +12 -0
  298. package/esm/src/models/articleresults.d.ts.map +1 -0
  299. package/esm/src/models/articleresults.js +11 -0
  300. package/esm/src/models/articleresults.js.map +1 -0
  301. package/esm/src/models/articlesearchresult.d.ts +57 -0
  302. package/esm/src/models/articlesearchresult.d.ts.map +1 -0
  303. package/esm/src/models/articlesearchresult.js +62 -0
  304. package/esm/src/models/articlesearchresult.js.map +1 -0
  305. package/esm/src/models/articletype.d.ts +17 -0
  306. package/esm/src/models/articletype.d.ts.map +1 -0
  307. package/esm/src/models/articletype.js +24 -0
  308. package/esm/src/models/articletype.js.map +1 -0
  309. package/esm/src/models/attachmentforcreatesuggestion.d.ts +9 -0
  310. package/esm/src/models/attachmentforcreatesuggestion.d.ts.map +1 -0
  311. package/esm/src/models/attachmentforcreatesuggestion.js +8 -0
  312. package/esm/src/models/attachmentforcreatesuggestion.js.map +1 -0
  313. package/esm/src/models/bookmarkstatus.d.ts +12 -0
  314. package/esm/src/models/bookmarkstatus.d.ts.map +1 -0
  315. package/esm/src/models/bookmarkstatus.js +11 -0
  316. package/esm/src/models/bookmarkstatus.js.map +1 -0
  317. package/esm/src/models/complianceforarticle.d.ts +24 -0
  318. package/esm/src/models/complianceforarticle.d.ts.map +1 -0
  319. package/esm/src/models/complianceforarticle.js +15 -0
  320. package/esm/src/models/complianceforarticle.js.map +1 -0
  321. package/esm/src/models/createdby.d.ts +10 -0
  322. package/esm/src/models/createdby.d.ts.map +1 -0
  323. package/esm/src/models/createdby.js +12 -0
  324. package/esm/src/models/createdby.js.map +1 -0
  325. package/esm/src/models/createsuggestion.d.ts +43 -0
  326. package/esm/src/models/createsuggestion.d.ts.map +1 -0
  327. package/esm/src/models/createsuggestion.js +47 -0
  328. package/esm/src/models/createsuggestion.js.map +1 -0
  329. package/esm/src/models/customattribute.d.ts +13 -0
  330. package/esm/src/models/customattribute.d.ts.map +1 -0
  331. package/esm/src/models/customattribute.js +19 -0
  332. package/esm/src/models/customattribute.js.map +1 -0
  333. package/esm/src/models/department.d.ts +7 -0
  334. package/esm/src/models/department.d.ts.map +1 -0
  335. package/esm/src/models/department.js +9 -0
  336. package/esm/src/models/department.js.map +1 -0
  337. package/esm/src/models/edition.d.ts +22 -0
  338. package/esm/src/models/edition.d.ts.map +1 -0
  339. package/esm/src/models/edition.js +18 -0
  340. package/esm/src/models/edition.js.map +1 -0
  341. package/esm/src/models/errors/apierror.d.ts +13 -0
  342. package/esm/src/models/errors/apierror.d.ts.map +1 -0
  343. package/esm/src/models/errors/apierror.js +12 -0
  344. package/esm/src/models/errors/apierror.js.map +1 -0
  345. package/esm/src/models/errors/httpclienterrors.d.ts +44 -0
  346. package/esm/src/models/errors/httpclienterrors.d.ts.map +1 -0
  347. package/esm/src/models/errors/httpclienterrors.js +56 -0
  348. package/esm/src/models/errors/httpclienterrors.js.map +1 -0
  349. package/esm/src/models/errors/sdkvalidationerror.d.ts +20 -0
  350. package/esm/src/models/errors/sdkvalidationerror.d.ts.map +1 -0
  351. package/esm/src/models/errors/sdkvalidationerror.js +85 -0
  352. package/esm/src/models/errors/sdkvalidationerror.js.map +1 -0
  353. package/esm/src/models/folderbreadcrumb.d.ts +10 -0
  354. package/esm/src/models/folderbreadcrumb.d.ts.map +1 -0
  355. package/esm/src/models/folderbreadcrumb.js +9 -0
  356. package/esm/src/models/folderbreadcrumb.js.map +1 -0
  357. package/esm/src/models/foldersummary.d.ts +12 -0
  358. package/esm/src/models/foldersummary.d.ts.map +1 -0
  359. package/esm/src/models/foldersummary.js +11 -0
  360. package/esm/src/models/foldersummary.js.map +1 -0
  361. package/esm/src/models/getannouncementarticlesop.d.ts +25 -0
  362. package/esm/src/models/getannouncementarticlesop.d.ts.map +1 -0
  363. package/esm/src/models/getannouncementarticlesop.js +26 -0
  364. package/esm/src/models/getannouncementarticlesop.js.map +1 -0
  365. package/esm/src/models/getarticlebyidop.d.ts +57 -0
  366. package/esm/src/models/getarticlebyidop.d.ts.map +1 -0
  367. package/esm/src/models/getarticlebyidop.js +130 -0
  368. package/esm/src/models/getarticlebyidop.js.map +1 -0
  369. package/esm/src/models/getmyportalsop.d.ts +28 -0
  370. package/esm/src/models/getmyportalsop.d.ts.map +1 -0
  371. package/esm/src/models/getmyportalsop.js +29 -0
  372. package/esm/src/models/getmyportalsop.js.map +1 -0
  373. package/esm/src/models/getpopulararticlesop.d.ts +24 -0
  374. package/esm/src/models/getpopulararticlesop.d.ts.map +1 -0
  375. package/esm/src/models/getpopulararticlesop.js +25 -0
  376. package/esm/src/models/getpopulararticlesop.js.map +1 -0
  377. package/esm/src/models/l10nstring.d.ts +7 -0
  378. package/esm/src/models/l10nstring.d.ts.map +1 -0
  379. package/esm/src/models/l10nstring.js +9 -0
  380. package/esm/src/models/l10nstring.js.map +1 -0
  381. package/esm/src/models/languagecode.d.ts +7 -0
  382. package/esm/src/models/languagecode.d.ts.map +1 -0
  383. package/esm/src/models/languagecode.js +40 -0
  384. package/esm/src/models/languagecode.js.map +1 -0
  385. package/esm/src/models/languagecodeparameter.d.ts +7 -0
  386. package/esm/src/models/languagecodeparameter.d.ts.map +1 -0
  387. package/esm/src/models/languagecodeparameter.js +41 -0
  388. package/esm/src/models/languagecodeparameter.js.map +1 -0
  389. package/esm/src/models/languagequeryparameter.d.ts +7 -0
  390. package/esm/src/models/languagequeryparameter.d.ts.map +1 -0
  391. package/esm/src/models/languagequeryparameter.js +41 -0
  392. package/esm/src/models/languagequeryparameter.js.map +1 -0
  393. package/esm/src/models/link.d.ts +10 -0
  394. package/esm/src/models/link.d.ts.map +1 -0
  395. package/esm/src/models/link.js +9 -0
  396. package/esm/src/models/link.js.map +1 -0
  397. package/esm/src/models/makesuggestionop.d.ts +18 -0
  398. package/esm/src/models/makesuggestionop.d.ts.map +1 -0
  399. package/esm/src/models/makesuggestionop.js +19 -0
  400. package/esm/src/models/makesuggestionop.js.map +1 -0
  401. package/esm/src/models/mandatorylanguagequeryparameter.d.ts +7 -0
  402. package/esm/src/models/mandatorylanguagequeryparameter.d.ts.map +1 -0
  403. package/esm/src/models/mandatorylanguagequeryparameter.js +40 -0
  404. package/esm/src/models/mandatorylanguagequeryparameter.js.map +1 -0
  405. package/esm/src/models/milestone.d.ts +10 -0
  406. package/esm/src/models/milestone.d.ts.map +1 -0
  407. package/esm/src/models/milestone.js +9 -0
  408. package/esm/src/models/milestone.js.map +1 -0
  409. package/esm/src/models/milestonename.d.ts +10 -0
  410. package/esm/src/models/milestonename.d.ts.map +1 -0
  411. package/esm/src/models/milestonename.js +9 -0
  412. package/esm/src/models/milestonename.js.map +1 -0
  413. package/esm/src/models/modifiedby.d.ts +10 -0
  414. package/esm/src/models/modifiedby.d.ts.map +1 -0
  415. package/esm/src/models/modifiedby.js +12 -0
  416. package/esm/src/models/modifiedby.js.map +1 -0
  417. package/esm/src/models/order.d.ts +4 -0
  418. package/esm/src/models/order.d.ts.map +1 -0
  419. package/esm/src/models/order.js +9 -0
  420. package/esm/src/models/order.js.map +1 -0
  421. package/esm/src/models/ownedby.d.ts +10 -0
  422. package/esm/src/models/ownedby.d.ts.map +1 -0
  423. package/esm/src/models/ownedby.js +13 -0
  424. package/esm/src/models/ownedby.js.map +1 -0
  425. package/esm/src/models/paginationinfo.d.ts +10 -0
  426. package/esm/src/models/paginationinfo.d.ts.map +1 -0
  427. package/esm/src/models/paginationinfo.js +12 -0
  428. package/esm/src/models/paginationinfo.js.map +1 -0
  429. package/esm/src/models/personalization.d.ts +25 -0
  430. package/esm/src/models/personalization.d.ts.map +1 -0
  431. package/esm/src/models/personalization.js +22 -0
  432. package/esm/src/models/personalization.js.map +1 -0
  433. package/esm/src/models/postportalidanswersop.d.ts +24 -0
  434. package/esm/src/models/postportalidanswersop.d.ts.map +1 -0
  435. package/esm/src/models/postportalidanswersop.js +25 -0
  436. package/esm/src/models/postportalidanswersop.js.map +1 -0
  437. package/esm/src/models/postportalidretrieveop.d.ts +26 -0
  438. package/esm/src/models/postportalidretrieveop.d.ts.map +1 -0
  439. package/esm/src/models/postportalidretrieveop.js +27 -0
  440. package/esm/src/models/postportalidretrieveop.js.map +1 -0
  441. package/esm/src/models/publishview.d.ts +13 -0
  442. package/esm/src/models/publishview.d.ts.map +1 -0
  443. package/esm/src/models/publishview.js +15 -0
  444. package/esm/src/models/publishview.js.map +1 -0
  445. package/esm/src/models/referenceresponse.d.ts +25 -0
  446. package/esm/src/models/referenceresponse.d.ts.map +1 -0
  447. package/esm/src/models/referenceresponse.js +30 -0
  448. package/esm/src/models/referenceresponse.js.map +1 -0
  449. package/esm/src/models/retrieverequest.d.ts +18 -0
  450. package/esm/src/models/retrieverequest.d.ts.map +1 -0
  451. package/esm/src/models/retrieverequest.js +21 -0
  452. package/esm/src/models/retrieverequest.js.map +1 -0
  453. package/esm/src/models/retrieveresponse.d.ts +37 -0
  454. package/esm/src/models/retrieveresponse.d.ts.map +1 -0
  455. package/esm/src/models/retrieveresponse.js +37 -0
  456. package/esm/src/models/retrieveresponse.js.map +1 -0
  457. package/esm/src/models/schemaslink.d.ts +8 -0
  458. package/esm/src/models/schemaslink.d.ts.map +1 -0
  459. package/esm/src/models/schemaslink.js +10 -0
  460. package/esm/src/models/schemaslink.js.map +1 -0
  461. package/esm/src/models/searchresponse.d.ts +14 -0
  462. package/esm/src/models/searchresponse.d.ts.map +1 -0
  463. package/esm/src/models/searchresponse.js +12 -0
  464. package/esm/src/models/searchresponse.js.map +1 -0
  465. package/esm/src/models/searchresult.d.ts +27 -0
  466. package/esm/src/models/searchresult.d.ts.map +1 -0
  467. package/esm/src/models/searchresult.js +32 -0
  468. package/esm/src/models/searchresult.js.map +1 -0
  469. package/esm/src/models/security.d.ts +6 -0
  470. package/esm/src/models/security.d.ts.map +1 -0
  471. package/esm/src/models/security.js +9 -0
  472. package/esm/src/models/security.js.map +1 -0
  473. package/esm/src/models/shorturl.d.ts +9 -0
  474. package/esm/src/models/shorturl.d.ts.map +1 -0
  475. package/esm/src/models/shorturl.js +12 -0
  476. package/esm/src/models/shorturl.js.map +1 -0
  477. package/esm/src/models/sortidnamedepartment.d.ts +4 -0
  478. package/esm/src/models/sortidnamedepartment.d.ts.map +1 -0
  479. package/esm/src/models/sortidnamedepartment.js +10 -0
  480. package/esm/src/models/sortidnamedepartment.js.map +1 -0
  481. package/esm/src/models/stage.d.ts +11 -0
  482. package/esm/src/models/stage.d.ts.map +1 -0
  483. package/esm/src/models/stage.js +11 -0
  484. package/esm/src/models/stage.js.map +1 -0
  485. package/esm/src/models/structuredauthoringfields.d.ts +10 -0
  486. package/esm/src/models/structuredauthoringfields.d.ts.map +1 -0
  487. package/esm/src/models/structuredauthoringfields.js +12 -0
  488. package/esm/src/models/structuredauthoringfields.js.map +1 -0
  489. package/esm/src/models/tag.d.ts +7 -0
  490. package/esm/src/models/tag.d.ts.map +1 -0
  491. package/esm/src/models/tag.js +9 -0
  492. package/esm/src/models/tag.js.map +1 -0
  493. package/esm/src/models/tagcategory.d.ts +14 -0
  494. package/esm/src/models/tagcategory.d.ts.map +1 -0
  495. package/esm/src/models/tagcategory.js +13 -0
  496. package/esm/src/models/tagcategory.js.map +1 -0
  497. package/esm/src/models/taggroup.d.ts +7 -0
  498. package/esm/src/models/taggroup.d.ts.map +1 -0
  499. package/esm/src/models/taggroup.js +10 -0
  500. package/esm/src/models/taggroup.js.map +1 -0
  501. package/esm/src/models/taggroups.d.ts +7 -0
  502. package/esm/src/models/taggroups.d.ts.map +1 -0
  503. package/esm/src/models/taggroups.js +9 -0
  504. package/esm/src/models/taggroups.js.map +1 -0
  505. package/esm/src/models/tags.d.ts +7 -0
  506. package/esm/src/models/tags.d.ts.map +1 -0
  507. package/esm/src/models/tags.js +9 -0
  508. package/esm/src/models/tags.js.map +1 -0
  509. package/esm/src/models/topicbreadcrumb.d.ts +10 -0
  510. package/esm/src/models/topicbreadcrumb.d.ts.map +1 -0
  511. package/esm/src/models/topicbreadcrumb.js +9 -0
  512. package/esm/src/models/topicbreadcrumb.js.map +1 -0
  513. package/esm/src/models/topicsummary.d.ts +10 -0
  514. package/esm/src/models/topicsummary.d.ts.map +1 -0
  515. package/esm/src/models/topicsummary.js +9 -0
  516. package/esm/src/models/topicsummary.js.map +1 -0
  517. package/esm/src/models/workflow.d.ts +10 -0
  518. package/esm/src/models/workflow.d.ts.map +1 -0
  519. package/esm/src/models/workflow.js +10 -0
  520. package/esm/src/models/workflow.js.map +1 -0
  521. package/esm/src/models/workflowmilestone.d.ts +4 -0
  522. package/esm/src/models/workflowmilestone.d.ts.map +1 -0
  523. package/esm/src/models/workflowmilestone.js +10 -0
  524. package/esm/src/models/workflowmilestone.js.map +1 -0
  525. package/esm/src/models/wserrorcommon.d.ts +17 -0
  526. package/esm/src/models/wserrorcommon.d.ts.map +1 -0
  527. package/esm/src/models/wserrorcommon.js +16 -0
  528. package/esm/src/models/wserrorcommon.js.map +1 -0
  529. package/esm/src/types/async.d.ts +23 -0
  530. package/esm/src/types/async.d.ts.map +1 -0
  531. package/esm/src/types/async.js +28 -0
  532. package/esm/src/types/async.js.map +1 -0
  533. package/esm/src/types/blobs.d.ts +2 -0
  534. package/esm/src/types/blobs.d.ts.map +1 -0
  535. package/esm/src/types/blobs.js +20 -0
  536. package/esm/src/types/blobs.js.map +1 -0
  537. package/esm/src/types/enums.d.ts +12 -0
  538. package/esm/src/types/enums.d.ts.map +1 -0
  539. package/esm/src/types/enums.js +7 -0
  540. package/esm/src/types/enums.js.map +1 -0
  541. package/esm/src/types/fp.d.ts +31 -0
  542. package/esm/src/types/fp.d.ts.map +1 -0
  543. package/esm/src/types/fp.js +31 -0
  544. package/esm/src/types/fp.js.map +1 -0
  545. package/esm/src/types/rfcdate.d.ts +21 -0
  546. package/esm/src/types/rfcdate.d.ts.map +1 -0
  547. package/esm/src/types/rfcdate.js +43 -0
  548. package/esm/src/types/rfcdate.js.map +1 -0
  549. package/esm/src/types/streams.d.ts +2 -0
  550. package/esm/src/types/streams.d.ts.map +1 -0
  551. package/esm/src/types/streams.js +15 -0
  552. package/esm/src/types/streams.js.map +1 -0
  553. package/esm/worker-configuration.d.ts +4 -0
  554. package/esm/worker-configuration.d.ts.map +1 -0
  555. package/esm/worker-configuration.js +5 -0
  556. package/esm/worker-configuration.js.map +1 -0
  557. package/manifest.json +96 -0
  558. package/package.json +41 -0
  559. package/scripts/login.js +93 -0
  560. package/scripts/logout.js +53 -0
  561. package/src/cloudflare-worker/cloudflare-worker.ts +98 -0
  562. package/src/cloudflare-worker/landing-page.ts +337 -0
  563. package/src/core.ts +13 -0
  564. package/src/funcs/getAnnouncements.ts +202 -0
  565. package/src/funcs/getArticle.ts +208 -0
  566. package/src/funcs/getPopularArticles.ts +198 -0
  567. package/src/funcs/getPortals.ts +190 -0
  568. package/src/funcs/makeSuggestion.ts +191 -0
  569. package/src/funcs/queryAnswers.ts +191 -0
  570. package/src/funcs/queryRetrieve.ts +197 -0
  571. package/src/funcs/querySearch.ts +181 -0
  572. package/src/hooks/auth-hook.ts +1752 -0
  573. package/src/hooks/auth-pages/config-page.js +531 -0
  574. package/src/hooks/hooks.ts +132 -0
  575. package/src/hooks/portal-cache-hook.ts +505 -0
  576. package/src/hooks/portal-lookup-hook.ts +429 -0
  577. package/src/hooks/registration.ts +43 -0
  578. package/src/hooks/server-routing-hook.ts +58 -0
  579. package/src/hooks/types.ts +107 -0
  580. package/src/lib/base64.ts +37 -0
  581. package/src/lib/config.ts +89 -0
  582. package/src/lib/dlv.ts +53 -0
  583. package/src/lib/encodings.ts +483 -0
  584. package/src/lib/env.ts +41 -0
  585. package/src/lib/files.ts +82 -0
  586. package/src/lib/http.ts +323 -0
  587. package/src/lib/is-plain-object.ts +43 -0
  588. package/src/lib/logger.ts +9 -0
  589. package/src/lib/matchers.ts +350 -0
  590. package/src/lib/primitives.ts +113 -0
  591. package/src/lib/result.ts +50 -0
  592. package/src/lib/retries.ts +218 -0
  593. package/src/lib/schemas.ts +91 -0
  594. package/src/lib/sdks.ts +409 -0
  595. package/src/lib/security.ts +260 -0
  596. package/src/lib/url.ts +33 -0
  597. package/src/mcp-server/cli/start/command.ts +100 -0
  598. package/src/mcp-server/cli/start/impl.ts +133 -0
  599. package/src/mcp-server/cli.ts +13 -0
  600. package/src/mcp-server/console-logger.ts +76 -0
  601. package/src/mcp-server/extensions.ts +17 -0
  602. package/src/mcp-server/mcp-server.ts +26 -0
  603. package/src/mcp-server/prompts.ts +121 -0
  604. package/src/mcp-server/resources.ts +176 -0
  605. package/src/mcp-server/scopes.ts +7 -0
  606. package/src/mcp-server/server.ts +91 -0
  607. package/src/mcp-server/shared.ts +78 -0
  608. package/src/mcp-server/tools/getAnnouncements.ts +53 -0
  609. package/src/mcp-server/tools/getArticle.ts +56 -0
  610. package/src/mcp-server/tools/getPopularArticles.ts +53 -0
  611. package/src/mcp-server/tools/getPortals.ts +51 -0
  612. package/src/mcp-server/tools/makeSuggestion.ts +53 -0
  613. package/src/mcp-server/tools/queryAnswers.ts +53 -0
  614. package/src/mcp-server/tools/queryRetrieve.ts +55 -0
  615. package/src/mcp-server/tools/querySearch.ts +44 -0
  616. package/src/mcp-server/tools.ts +156 -0
  617. package/src/models/acceptlanguage.ts +30 -0
  618. package/src/models/accessibleportal.ts +27 -0
  619. package/src/models/additionalsnippets.ts +43 -0
  620. package/src/models/aisearchop.ts +62 -0
  621. package/src/models/allaccessibleportals.ts +27 -0
  622. package/src/models/answersrequest.ts +67 -0
  623. package/src/models/answersresponse.ts +88 -0
  624. package/src/models/article.ts +120 -0
  625. package/src/models/articleadditionalattributes.ts +27 -0
  626. package/src/models/articleattachment.ts +38 -0
  627. package/src/models/articleresult.ts +91 -0
  628. package/src/models/articleresults.ts +24 -0
  629. package/src/models/articlesearchresult.ts +139 -0
  630. package/src/models/articletype.ts +42 -0
  631. package/src/models/attachmentforcreatesuggestion.ts +18 -0
  632. package/src/models/bookmarkstatus.ts +28 -0
  633. package/src/models/complianceforarticle.ts +48 -0
  634. package/src/models/createdby.ts +22 -0
  635. package/src/models/createsuggestion.ts +108 -0
  636. package/src/models/customattribute.ts +33 -0
  637. package/src/models/department.ts +16 -0
  638. package/src/models/edition.ts +40 -0
  639. package/src/models/errors/apierror.ts +21 -0
  640. package/src/models/errors/httpclienterrors.ts +62 -0
  641. package/src/models/errors/sdkvalidationerror.ts +97 -0
  642. package/src/models/folderbreadcrumb.ts +21 -0
  643. package/src/models/foldersummary.ts +27 -0
  644. package/src/models/getannouncementarticlesop.ts +68 -0
  645. package/src/models/getarticlebyidop.ts +182 -0
  646. package/src/models/getmyportalsop.ts +78 -0
  647. package/src/models/getpopulararticlesop.ts +66 -0
  648. package/src/models/l10nstring.ts +19 -0
  649. package/src/models/languagecode.ts +43 -0
  650. package/src/models/languagecodeparameter.ts +48 -0
  651. package/src/models/languagequeryparameter.ts +48 -0
  652. package/src/models/link.ts +17 -0
  653. package/src/models/makesuggestionop.ts +47 -0
  654. package/src/models/mandatorylanguagequeryparameter.ts +47 -0
  655. package/src/models/milestone.ts +16 -0
  656. package/src/models/milestonename.ts +22 -0
  657. package/src/models/modifiedby.ts +25 -0
  658. package/src/models/order.ts +12 -0
  659. package/src/models/ownedby.ts +22 -0
  660. package/src/models/paginationinfo.ts +24 -0
  661. package/src/models/personalization.ts +55 -0
  662. package/src/models/postportalidanswersop.ts +62 -0
  663. package/src/models/postportalidretrieveop.ts +68 -0
  664. package/src/models/publishview.ts +35 -0
  665. package/src/models/referenceresponse.ts +60 -0
  666. package/src/models/retrieverequest.ts +47 -0
  667. package/src/models/retrieveresponse.ts +92 -0
  668. package/src/models/schemaslink.ts +21 -0
  669. package/src/models/searchresponse.ts +34 -0
  670. package/src/models/searchresult.ts +64 -0
  671. package/src/models/security.ts +14 -0
  672. package/src/models/shorturl.ts +20 -0
  673. package/src/models/sortidnamedepartment.ts +15 -0
  674. package/src/models/stage.ts +20 -0
  675. package/src/models/structuredauthoringfields.ts +24 -0
  676. package/src/models/tagcategory.ts +28 -0
  677. package/src/models/taggroup.ts +13 -0
  678. package/src/models/taggroups.ts +13 -0
  679. package/src/models/tags.ts +15 -0
  680. package/src/models/topicbreadcrumb.ts +21 -0
  681. package/src/models/topicsummary.ts +24 -0
  682. package/src/models/workflow.ts +16 -0
  683. package/src/models/workflowmilestone.ts +13 -0
  684. package/src/models/wserrorcommon.ts +34 -0
  685. package/src/types/async.ts +68 -0
  686. package/src/types/blobs.ts +23 -0
  687. package/src/types/enums.ts +16 -0
  688. package/src/types/fp.ts +50 -0
  689. package/src/types/rfcdate.ts +54 -0
  690. package/src/types/streams.ts +21 -0
  691. package/tsconfig.json +36 -0
  692. package/worker-configuration.d.ts +8489 -0
  693. package/worker-configuration.ts +11 -0
@@ -0,0 +1,53 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { makeSuggestion } from "../../funcs/makeSuggestion.js";
6
+ import { MakeSuggestionRequest$zodSchema } from "../../models/makesuggestionop.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: MakeSuggestionRequest$zodSchema,
11
+ };
12
+
13
+ export const tool$makeSuggestion: ToolDefinition<typeof args> = {
14
+ name: "make-suggestion",
15
+ description: `Make a Suggestion
16
+
17
+ Make a Suggestion
18
+
19
+ ## Prerequisites
20
+ - Requires a valid portal ID. If you don't have the portal ID, first call 'get-portals' to get available portals.
21
+ - Portal ID format: 2-4 letter prefix + dash + 4-15 digits (e.g., "EB-123456789")
22
+
23
+ ## Overview
24
+ The Make a Suggestion API allows users to create an Article Suggestion from within a knowledge portal. This enables users to submit feedback, request new articles, or suggest improvements to existing content.
25
+
26
+ Users can submit suggestions with details about what they're looking for, which helps content creators understand user needs and improve the knowledge base.
27
+ `,
28
+ annotations: {
29
+ "destructiveHint": false,
30
+ "idempotentHint": false,
31
+ "openWorldHint": false,
32
+ "readOnlyHint": false,
33
+ },
34
+ args,
35
+ tool: async (client, args, ctx) => {
36
+ const [result, apiCall] = await makeSuggestion(
37
+ client,
38
+ args.request,
39
+ { fetchOptions: { signal: ctx.signal } },
40
+ ).$inspect();
41
+
42
+ if (!result.ok) {
43
+ return {
44
+ content: [{ type: "text", text: result.error.message }],
45
+ isError: true,
46
+ };
47
+ }
48
+
49
+ const value = result.value;
50
+
51
+ return formatResult(value, apiCall);
52
+ },
53
+ };
@@ -0,0 +1,53 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { queryAnswers } from "../../funcs/queryAnswers.js";
6
+ import { PostPortalIDAnswersRequest$zodSchema } from "../../models/postportalidanswersop.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: PostPortalIDAnswersRequest$zodSchema,
11
+ };
12
+
13
+ export const tool$queryAnswers: ToolDefinition<typeof args> = {
14
+ name: "query-answers",
15
+ description: `Get the best answer for a user query
16
+
17
+ Get Answers
18
+
19
+ ## Prerequisites
20
+ - Requires a valid portal ID. If you don't have the portal ID, first call 'get-portals' to get available portals.
21
+ - Portal ID format: 2-4 letter prefix + dash + 4-15 digits (e.g., "EB-123456789")
22
+
23
+ ## Overview
24
+ The Answers API enables users to get the best answer for a user query. This API can return certified answers or generative answers along with search results, providing users with comprehensive responses to their questions.
25
+
26
+ The API leverages AI capabilities to provide intelligent answers based on the knowledge base content, making it easier for users to find the information they need quickly and accurately.
27
+ `,
28
+ annotations: {
29
+ "destructiveHint": false,
30
+ "idempotentHint": false,
31
+ "openWorldHint": false,
32
+ "readOnlyHint": false,
33
+ },
34
+ args,
35
+ tool: async (client, args, ctx) => {
36
+ const [result, apiCall] = await queryAnswers(
37
+ client,
38
+ args.request,
39
+ { fetchOptions: { signal: ctx.signal } },
40
+ ).$inspect();
41
+
42
+ if (!result.ok) {
43
+ return {
44
+ content: [{ type: "text", text: result.error.message }],
45
+ isError: true,
46
+ };
47
+ }
48
+
49
+ const value = result.value;
50
+
51
+ return formatResult(value, apiCall);
52
+ },
53
+ };
@@ -0,0 +1,55 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { queryRetrieve } from "../../funcs/queryRetrieve.js";
6
+ import { PostPortalIDRetrieveRequest$zodSchema } from "../../models/postportalidretrieveop.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: PostPortalIDRetrieveRequest$zodSchema,
11
+ };
12
+
13
+ export const tool$queryRetrieve: ToolDefinition<typeof args> = {
14
+ name: "query-retrieve",
15
+ description: `Retrieve Chunks
16
+
17
+ Retrieve Chunks
18
+
19
+ ## Prerequisites
20
+ - **Requires a valid portal ID** (required parameter). If you don't have the portal ID, first call 'get-portals' to get available portals.
21
+ - Portal ID format: 2-4 letter prefix + dash + 4-15 digits (e.g., "EB-123456789")
22
+
23
+ ## Overview
24
+ The Retrieve API enables enterprises to directly access relevant content chunks from their organizational knowledge sources. It is designed for scenarios where developers want granular control over retrieved information, such as powering custom search, analytics, or retrieval-augmented generation (RAG) pipelines.
25
+
26
+ In addition to raw chunk retrieval, the API can return **Certified Answers** if it meets the 'Certified Answer' threshold score. Responses include relevance scores, metadata, and references to maintain transparency and flexibility.
27
+
28
+ By leveraging the Retrieve API, organizations can build tailored experiences while retaining confidence in the source material.
29
+ `,
30
+ annotations: {
31
+ "destructiveHint": false,
32
+ "idempotentHint": false,
33
+ "openWorldHint": false,
34
+ "readOnlyHint": false,
35
+ },
36
+ args,
37
+ tool: async (client, args, ctx) => {
38
+ const [result, apiCall] = await queryRetrieve(
39
+ client,
40
+ args.request,
41
+ { fetchOptions: { signal: ctx.signal } },
42
+ ).$inspect();
43
+
44
+ if (!result.ok) {
45
+ return {
46
+ content: [{ type: "text", text: result.error.message }],
47
+ isError: true,
48
+ };
49
+ }
50
+
51
+ const value = result.value;
52
+
53
+ return formatResult(value, apiCall);
54
+ },
55
+ };
@@ -0,0 +1,44 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { querySearch } from "../../funcs/querySearch.js";
6
+ import { AiSearchRequest$zodSchema } from "../../models/aisearchop.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: AiSearchRequest$zodSchema,
11
+ };
12
+
13
+ export const tool$querySearch: ToolDefinition<typeof args> = {
14
+ name: "query-search",
15
+ description: `Get the best search results for a user query
16
+
17
+ The Search API is a hybrid search service that combines semantic understanding with keyword precision to deliver fast, contextual, and relevant results from your enterprise knowledge base. It enables secure, role-aware access to articles, FAQs, and documentation across customer, agent, and employee interfaces. Each query returns a ranked list of results with snippets, metadata, and relevance scores. <br>**This endpoint is only available for Self Service environments.**
18
+ `,
19
+ annotations: {
20
+ "destructiveHint": false,
21
+ "idempotentHint": false,
22
+ "openWorldHint": false,
23
+ "readOnlyHint": true,
24
+ },
25
+ args,
26
+ tool: async (client, args, ctx) => {
27
+ const [result, apiCall] = await querySearch(
28
+ client,
29
+ args.request,
30
+ { fetchOptions: { signal: ctx.signal } },
31
+ ).$inspect();
32
+
33
+ if (!result.ok) {
34
+ return {
35
+ content: [{ type: "text", text: result.error.message }],
36
+ isError: true,
37
+ };
38
+ }
39
+
40
+ const value = result.value;
41
+
42
+ return formatResult(value, apiCall);
43
+ },
44
+ };
@@ -0,0 +1,156 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
+ import { RequestHandlerExtra } from "@modelcontextprotocol/sdk/shared/protocol.js";
7
+ import {
8
+ CallToolResult,
9
+ ServerNotification,
10
+ ServerRequest,
11
+ } from "@modelcontextprotocol/sdk/types.js";
12
+ import { objectOutputType, ZodRawShape, ZodTypeAny } from "zod";
13
+ import { EgainMcpCore } from "../core.js";
14
+ import { ConsoleLogger } from "./console-logger.js";
15
+ import { MCPScope } from "./scopes.js";
16
+ import { isAsyncIterable, isBinaryData, valueToBase64 } from "./shared.js";
17
+
18
+ export type ToolDefinition<Args extends undefined | ZodRawShape = undefined> =
19
+ Args extends ZodRawShape ? {
20
+ name: string;
21
+ description: string;
22
+ scopes?: MCPScope[];
23
+ args: Args;
24
+ annotations: {
25
+ destructiveHint: boolean;
26
+ idempotentHint: boolean;
27
+ openWorldHint: boolean;
28
+ readOnlyHint: boolean;
29
+ };
30
+ tool: (
31
+ client: EgainMcpCore,
32
+ args: objectOutputType<Args, ZodTypeAny>,
33
+ extra: RequestHandlerExtra<ServerRequest, ServerNotification>,
34
+ ) => CallToolResult | Promise<CallToolResult>;
35
+ }
36
+ : {
37
+ name: string;
38
+ description: string;
39
+ scopes?: MCPScope[];
40
+ args?: undefined;
41
+ annotations: {
42
+ destructiveHint: boolean;
43
+ idempotentHint: boolean;
44
+ openWorldHint: boolean;
45
+ readOnlyHint: boolean;
46
+ };
47
+ tool: (
48
+ client: EgainMcpCore,
49
+ extra: RequestHandlerExtra<ServerRequest, ServerNotification>,
50
+ ) => CallToolResult | Promise<CallToolResult>;
51
+ };
52
+
53
+ // Optional function to assist with formatting tool results
54
+ export async function formatResult(
55
+ value: unknown,
56
+ init: { response?: Response | undefined },
57
+ ): Promise<CallToolResult> {
58
+ if (typeof value === "undefined") {
59
+ return { content: [] };
60
+ }
61
+
62
+ const { response } = init;
63
+ const contentType = response?.headers.get("content-type") ?? "";
64
+ let content: CallToolResult["content"] = [];
65
+
66
+ if (contentType.search(/\bjson\b/g)) {
67
+ content = [{ type: "text", text: JSON.stringify(value) }];
68
+ } else if (
69
+ contentType.startsWith("text/event-stream")
70
+ && isAsyncIterable(value)
71
+ ) {
72
+ content = await consumeSSE(value);
73
+ } else if (contentType.startsWith("text/") && typeof value === "string") {
74
+ content = [{ type: "text", text: value }];
75
+ } else if (isBinaryData(value) && contentType.startsWith("image/")) {
76
+ const data = await valueToBase64(value);
77
+ content = data == null
78
+ ? []
79
+ : [{ type: "image", data, mimeType: contentType }];
80
+ } else {
81
+ return {
82
+ content: [{
83
+ type: "text",
84
+ text: `Unsupported content type: "${contentType}"`,
85
+ }],
86
+ isError: true,
87
+ };
88
+ }
89
+
90
+ return { content };
91
+ }
92
+
93
+ async function consumeSSE(
94
+ value: AsyncIterable<unknown>,
95
+ ): Promise<CallToolResult["content"]> {
96
+ const content: CallToolResult["content"] = [];
97
+
98
+ for await (const chunk of value) {
99
+ if (typeof chunk === "string") {
100
+ content.push({ type: "text", text: chunk });
101
+ } else {
102
+ content.push({ type: "text", text: JSON.stringify(chunk) });
103
+ }
104
+ }
105
+
106
+ return content;
107
+ }
108
+
109
+ export function createRegisterTool(
110
+ logger: ConsoleLogger,
111
+ server: McpServer,
112
+ getSDK: () => EgainMcpCore,
113
+ allowedScopes: Set<MCPScope>,
114
+ allowedTools?: Set<string>,
115
+ ): <A extends ZodRawShape | undefined>(tool: ToolDefinition<A>) => void {
116
+ return <A extends ZodRawShape | undefined>(tool: ToolDefinition<A>): void => {
117
+ if (allowedTools && !allowedTools.has(tool.name)) {
118
+ return;
119
+ }
120
+
121
+ const scopes = tool.scopes ?? [];
122
+ if (allowedScopes.size > 0 && scopes.length === 0) {
123
+ return;
124
+ }
125
+
126
+ if (
127
+ allowedScopes.size > 0
128
+ && !scopes.every((s: MCPScope) => allowedScopes.has(s))
129
+ ) {
130
+ return;
131
+ }
132
+
133
+ if (tool.args) {
134
+ server.tool(
135
+ tool.name,
136
+ tool.description,
137
+ tool.args,
138
+ tool.annotations,
139
+ async (args, ctx) => {
140
+ return tool.tool(getSDK(), args, ctx);
141
+ },
142
+ );
143
+ } else {
144
+ server.tool(
145
+ tool.name,
146
+ tool.description,
147
+ tool.annotations,
148
+ async (_, ctx) => {
149
+ return tool.tool(getSDK(), ctx);
150
+ },
151
+ );
152
+ }
153
+
154
+ logger.debug("Registered tool", { name: tool.name });
155
+ };
156
+ }
@@ -0,0 +1,30 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+
7
+ /**
8
+ * The language that describes the details of a resource. Resources available in different languages may differ from each other.<li>If <code>$lang</code> is not passed, then the portal's default language is used.</li><br><br>**Important**: When using this API via SDK or MCP, use the parameter name `Dollar_lang`, not `$lang` or `lang`.
9
+ */
10
+ export const AcceptLanguage$zodSchema = z.enum([
11
+ "en-US",
12
+ "es-ES",
13
+ "fr-FR",
14
+ "it-IT",
15
+ "de-DE",
16
+ "nl-NL",
17
+ "pt-BR",
18
+ "pt-PT",
19
+ "da-DK",
20
+ "ru-RU",
21
+ "fr-CA",
22
+ "zh-CN",
23
+ "ja-JP",
24
+ "ko-KR",
25
+ "sv-SE",
26
+ ]).describe(
27
+ "The language that describes the details of a resource. Resources available in different languages may differ from each other.<li>If <code>$lang</code> is not passed, then the portal's default language is used.</li><br><br>**Important**: When using this API via SDK or MCP, use the parameter name `Dollar_lang`, not `$lang` or `lang`.",
28
+ );
29
+
30
+ export type AcceptLanguage = z.infer<typeof AcceptLanguage$zodSchema>;
@@ -0,0 +1,27 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { Department, Department$zodSchema } from "./department.js";
7
+ import { ShortURL, ShortURL$zodSchema } from "./shorturl.js";
8
+
9
+ export type AccessiblePortal = {
10
+ id?: string | undefined;
11
+ name?: string | undefined;
12
+ description?: string | undefined;
13
+ department?: Department | undefined;
14
+ shortURL?: Array<ShortURL> | undefined;
15
+ };
16
+
17
+ export const AccessiblePortal$zodSchema: z.ZodType<
18
+ AccessiblePortal,
19
+ z.ZodTypeDef,
20
+ unknown
21
+ > = z.object({
22
+ department: Department$zodSchema.optional(),
23
+ description: z.string().optional(),
24
+ id: z.string().optional(),
25
+ name: z.string().optional(),
26
+ shortURL: z.array(ShortURL$zodSchema).optional(),
27
+ });
@@ -0,0 +1,43 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+
7
+ /**
8
+ * Format of the source document (HTML, DOCX, PPTX or PDF).
9
+ */
10
+ export const AdditionalSnippetsDocType$zodSchema = z.enum([
11
+ "HTML",
12
+ "DOCX",
13
+ "PDF",
14
+ "PPTX",
15
+ ]).describe("Format of the source document (HTML, DOCX, PPTX or PDF).");
16
+
17
+ export type AdditionalSnippetsDocType = z.infer<
18
+ typeof AdditionalSnippetsDocType$zodSchema
19
+ >;
20
+
21
+ export type AdditionalSnippets = {
22
+ id: string;
23
+ name: string;
24
+ docType: AdditionalSnippetsDocType;
25
+ docName?: string | undefined;
26
+ snippet: string;
27
+ keywordSnippet?: string | undefined;
28
+ relevanceScore: number;
29
+ };
30
+
31
+ export const AdditionalSnippets$zodSchema: z.ZodType<
32
+ AdditionalSnippets,
33
+ z.ZodTypeDef,
34
+ unknown
35
+ > = z.object({
36
+ docName: z.string().optional(),
37
+ docType: AdditionalSnippetsDocType$zodSchema,
38
+ id: z.string(),
39
+ keywordSnippet: z.string().optional(),
40
+ name: z.string(),
41
+ relevanceScore: z.number(),
42
+ snippet: z.string(),
43
+ });
@@ -0,0 +1,62 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import {
7
+ LanguageCodeParameter,
8
+ LanguageCodeParameter$zodSchema,
9
+ } from "./languagecodeparameter.js";
10
+ import { SearchResponse, SearchResponse$zodSchema } from "./searchresponse.js";
11
+
12
+ export type AiSearchRequest = {
13
+ q: string;
14
+ portalID: string;
15
+ dollarFilterUserProfileID?: string | undefined;
16
+ Dollar_lang?: LanguageCodeParameter | undefined;
17
+ dollarFilterTags?: { [k: string]: Array<string> } | undefined;
18
+ dollarFilterTopicIds?: Array<string> | undefined;
19
+ articleCustomAdditionalAttributes?: string | undefined;
20
+ };
21
+
22
+ export const AiSearchRequest$zodSchema: z.ZodType<
23
+ AiSearchRequest,
24
+ z.ZodTypeDef,
25
+ unknown
26
+ > = z.object({
27
+ Dollar_lang: LanguageCodeParameter$zodSchema.default("en-US"),
28
+ articleCustomAdditionalAttributes: z.string().describe(
29
+ "One or more comma-separated names for article custom attributes defined by the user to be returned.",
30
+ ).optional(),
31
+ dollarFilterTags: z.record(z.array(z.string())).describe(
32
+ "An object where each key is a **Category Tag ID** (numeric string), \n"
33
+ + "and each value is an array of **Tag IDs** for that category.\n"
34
+ + "",
35
+ ).optional(),
36
+ dollarFilterTopicIds: z.array(z.string()).optional(),
37
+ dollarFilterUserProfileID: z.string().describe(
38
+ "The Readable ID of the user profile.",
39
+ ).optional(),
40
+ portalID: z.string().describe(
41
+ "The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
42
+ ),
43
+ q: z.string().describe("The search query string."),
44
+ });
45
+
46
+ export type AiSearchResponse = {
47
+ ContentType: string;
48
+ StatusCode: number;
49
+ RawResponse: Response;
50
+ SearchResponse?: SearchResponse | undefined;
51
+ };
52
+
53
+ export const AiSearchResponse$zodSchema: z.ZodType<
54
+ AiSearchResponse,
55
+ z.ZodTypeDef,
56
+ unknown
57
+ > = z.object({
58
+ ContentType: z.string(),
59
+ RawResponse: z.instanceof(Response),
60
+ SearchResponse: SearchResponse$zodSchema.optional(),
61
+ StatusCode: z.number().int(),
62
+ });
@@ -0,0 +1,27 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import {
7
+ AccessiblePortal,
8
+ AccessiblePortal$zodSchema,
9
+ } from "./accessibleportal.js";
10
+ import { PaginationInfo, PaginationInfo$zodSchema } from "./paginationinfo.js";
11
+
12
+ /**
13
+ * Success
14
+ */
15
+ export type AllAccessiblePortals = {
16
+ portal?: Array<AccessiblePortal> | undefined;
17
+ paginationInfo?: PaginationInfo | undefined;
18
+ };
19
+
20
+ export const AllAccessiblePortals$zodSchema: z.ZodType<
21
+ AllAccessiblePortals,
22
+ z.ZodTypeDef,
23
+ unknown
24
+ > = z.object({
25
+ paginationInfo: PaginationInfo$zodSchema.optional(),
26
+ portal: z.array(AccessiblePortal$zodSchema).optional(),
27
+ }).describe("Success");
@@ -0,0 +1,67 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+
7
+ /**
8
+ * The channel where the query originated, e.g., directly from the portal or via a custom integration.
9
+ */
10
+ export const AnswersRequestType$zodSchema = z.enum([
11
+ "portal",
12
+ "custom",
13
+ ]).describe(
14
+ "The channel where the query originated, e.g., directly from the portal or via a custom integration.",
15
+ );
16
+
17
+ export type AnswersRequestType = z.infer<typeof AnswersRequestType$zodSchema>;
18
+
19
+ export type AnswersRequestChannel = {
20
+ type?: AnswersRequestType | undefined;
21
+ name?: string | undefined;
22
+ };
23
+
24
+ export const AnswersRequestChannel$zodSchema: z.ZodType<
25
+ AnswersRequestChannel,
26
+ z.ZodTypeDef,
27
+ unknown
28
+ > = z.object({
29
+ name: z.string().default("portal"),
30
+ type: AnswersRequestType$zodSchema.default("portal"),
31
+ });
32
+
33
+ /**
34
+ * Additional contextual metadata that enriches the query, providing the LLM with relevant details for tailoring the response.
35
+ */
36
+ export type Context = {
37
+ userContext?: string | undefined;
38
+ pageContext?: string | undefined;
39
+ companyContext?: string | undefined;
40
+ };
41
+
42
+ export const Context$zodSchema: z.ZodType<Context, z.ZodTypeDef, unknown> = z
43
+ .object({
44
+ companyContext: z.string().optional(),
45
+ pageContext: z.string().optional(),
46
+ userContext: z.string().optional(),
47
+ }).describe(
48
+ "Additional contextual metadata that enriches the query, providing the LLM with relevant details for tailoring the response.",
49
+ );
50
+
51
+ export type AnswersRequest = {
52
+ channel?: AnswersRequestChannel | undefined;
53
+ context?: Context | undefined;
54
+ eventId: string;
55
+ sessionId: string;
56
+ };
57
+
58
+ export const AnswersRequest$zodSchema: z.ZodType<
59
+ AnswersRequest,
60
+ z.ZodTypeDef,
61
+ unknown
62
+ > = z.object({
63
+ channel: z.lazy(() => AnswersRequestChannel$zodSchema).optional(),
64
+ context: z.lazy(() => Context$zodSchema).optional(),
65
+ eventId: z.string(),
66
+ sessionId: z.string(),
67
+ });