@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.
- package/.speakeasy/templates/src/lib/env.ts +1 -0
- package/README.md +119 -0
- package/bin/mcp-server.js +47817 -0
- package/bin/mcp-server.js.map +371 -0
- package/esm/src/cloudflare-worker/cloudflare-worker.d.ts +17 -0
- package/esm/src/cloudflare-worker/cloudflare-worker.d.ts.map +1 -0
- package/esm/src/cloudflare-worker/cloudflare-worker.js +72 -0
- package/esm/src/cloudflare-worker/cloudflare-worker.js.map +1 -0
- package/esm/src/cloudflare-worker/landing-page.d.ts +2 -0
- package/esm/src/cloudflare-worker/landing-page.d.ts.map +1 -0
- package/esm/src/cloudflare-worker/landing-page.js +330 -0
- package/esm/src/cloudflare-worker/landing-page.js.map +1 -0
- package/esm/src/core.d.ts +10 -0
- package/esm/src/core.d.ts.map +1 -0
- package/esm/src/core.js +13 -0
- package/esm/src/core.js.map +1 -0
- package/esm/src/funcs/getAnnouncements.d.ts +25 -0
- package/esm/src/funcs/getAnnouncements.d.ts.map +1 -0
- package/esm/src/funcs/getAnnouncements.js +111 -0
- package/esm/src/funcs/getAnnouncements.js.map +1 -0
- package/esm/src/funcs/getAnswers.d.ts +25 -0
- package/esm/src/funcs/getAnswers.d.ts.map +1 -0
- package/esm/src/funcs/getAnswers.js +115 -0
- package/esm/src/funcs/getAnswers.js.map +1 -0
- package/esm/src/funcs/getArticle.d.ts +28 -0
- package/esm/src/funcs/getArticle.d.ts.map +1 -0
- package/esm/src/funcs/getArticle.js +118 -0
- package/esm/src/funcs/getArticle.js.map +1 -0
- package/esm/src/funcs/getPopularArticles.d.ts +25 -0
- package/esm/src/funcs/getPopularArticles.d.ts.map +1 -0
- package/esm/src/funcs/getPopularArticles.js +111 -0
- package/esm/src/funcs/getPopularArticles.js.map +1 -0
- package/esm/src/funcs/getPortals.d.ts +23 -0
- package/esm/src/funcs/getPortals.d.ts.map +1 -0
- package/esm/src/funcs/getPortals.js +106 -0
- package/esm/src/funcs/getPortals.js.map +1 -0
- package/esm/src/funcs/makeSuggestion.d.ts +25 -0
- package/esm/src/funcs/makeSuggestion.d.ts.map +1 -0
- package/esm/src/funcs/makeSuggestion.js +104 -0
- package/esm/src/funcs/makeSuggestion.js.map +1 -0
- package/esm/src/funcs/queryAnswers.d.ts +25 -0
- package/esm/src/funcs/queryAnswers.d.ts.map +1 -0
- package/esm/src/funcs/queryAnswers.js +109 -0
- package/esm/src/funcs/queryAnswers.js.map +1 -0
- package/esm/src/funcs/queryRetrieve.d.ts +27 -0
- package/esm/src/funcs/queryRetrieve.d.ts.map +1 -0
- package/esm/src/funcs/queryRetrieve.js +115 -0
- package/esm/src/funcs/queryRetrieve.js.map +1 -0
- package/esm/src/funcs/querySearch.d.ts +16 -0
- package/esm/src/funcs/querySearch.d.ts.map +1 -0
- package/esm/src/funcs/querySearch.js +98 -0
- package/esm/src/funcs/querySearch.js.map +1 -0
- package/esm/src/funcs/retrieveChunks.d.ts +27 -0
- package/esm/src/funcs/retrieveChunks.d.ts.map +1 -0
- package/esm/src/funcs/retrieveChunks.js +117 -0
- package/esm/src/funcs/retrieveChunks.js.map +1 -0
- package/esm/src/funcs/searchAiSearch.d.ts +16 -0
- package/esm/src/funcs/searchAiSearch.d.ts.map +1 -0
- package/esm/src/funcs/searchAiSearch.js +102 -0
- package/esm/src/funcs/searchAiSearch.js.map +1 -0
- package/esm/src/hooks/auth-hook.d.ts +100 -0
- package/esm/src/hooks/auth-hook.d.ts.map +1 -0
- package/esm/src/hooks/auth-hook.js +1565 -0
- package/esm/src/hooks/auth-hook.js.map +1 -0
- package/esm/src/hooks/hooks.d.ts +25 -0
- package/esm/src/hooks/hooks.d.ts.map +1 -0
- package/esm/src/hooks/hooks.js +82 -0
- package/esm/src/hooks/hooks.js.map +1 -0
- package/esm/src/hooks/portal-cache-hook.d.ts +34 -0
- package/esm/src/hooks/portal-cache-hook.d.ts.map +1 -0
- package/esm/src/hooks/portal-cache-hook.js +441 -0
- package/esm/src/hooks/portal-cache-hook.js.map +1 -0
- package/esm/src/hooks/portal-lookup-hook.d.ts +17 -0
- package/esm/src/hooks/portal-lookup-hook.d.ts.map +1 -0
- package/esm/src/hooks/portal-lookup-hook.js +374 -0
- package/esm/src/hooks/portal-lookup-hook.js.map +1 -0
- package/esm/src/hooks/registration.d.ts +3 -0
- package/esm/src/hooks/registration.d.ts.map +1 -0
- package/esm/src/hooks/registration.js +36 -0
- package/esm/src/hooks/registration.js.map +1 -0
- package/esm/src/hooks/server-routing-hook.d.ts +19 -0
- package/esm/src/hooks/server-routing-hook.d.ts.map +1 -0
- package/esm/src/hooks/server-routing-hook.js +43 -0
- package/esm/src/hooks/server-routing-hook.js.map +1 -0
- package/esm/src/hooks/types.d.ts +76 -0
- package/esm/src/hooks/types.d.ts.map +1 -0
- package/esm/src/hooks/types.js +5 -0
- package/esm/src/hooks/types.js.map +1 -0
- package/esm/src/lib/base64.d.ts +10 -0
- package/esm/src/lib/base64.d.ts.map +1 -0
- package/esm/src/lib/base64.js +29 -0
- package/esm/src/lib/base64.js.map +1 -0
- package/esm/src/lib/config.d.ts +57 -0
- package/esm/src/lib/config.d.ts.map +1 -0
- package/esm/src/lib/config.js +46 -0
- package/esm/src/lib/config.js.map +1 -0
- package/esm/src/lib/dlv.d.ts +14 -0
- package/esm/src/lib/dlv.d.ts.map +1 -0
- package/esm/src/lib/dlv.js +46 -0
- package/esm/src/lib/dlv.js.map +1 -0
- package/esm/src/lib/encodings.d.ts +52 -0
- package/esm/src/lib/encodings.d.ts.map +1 -0
- package/esm/src/lib/encodings.js +354 -0
- package/esm/src/lib/encodings.js.map +1 -0
- package/esm/src/lib/env.d.ts +15 -0
- package/esm/src/lib/env.d.ts.map +1 -0
- package/esm/src/lib/env.js +27 -0
- package/esm/src/lib/env.js.map +1 -0
- package/esm/src/lib/files.d.ts +13 -0
- package/esm/src/lib/files.d.ts.map +1 -0
- package/esm/src/lib/files.js +73 -0
- package/esm/src/lib/files.js.map +1 -0
- package/esm/src/lib/http.d.ts +67 -0
- package/esm/src/lib/http.d.ts.map +1 -0
- package/esm/src/lib/http.js +209 -0
- package/esm/src/lib/http.js.map +1 -0
- package/esm/src/lib/is-plain-object.d.ts +2 -0
- package/esm/src/lib/is-plain-object.d.ts.map +1 -0
- package/esm/src/lib/is-plain-object.js +38 -0
- package/esm/src/lib/is-plain-object.js.map +1 -0
- package/esm/src/lib/logger.d.ts +6 -0
- package/esm/src/lib/logger.d.ts.map +1 -0
- package/esm/src/lib/logger.js +5 -0
- package/esm/src/lib/logger.js.map +1 -0
- package/esm/src/lib/matchers.d.ts +66 -0
- package/esm/src/lib/matchers.d.ts.map +1 -0
- package/esm/src/lib/matchers.js +209 -0
- package/esm/src/lib/matchers.js.map +1 -0
- package/esm/src/lib/primitives.d.ts +11 -0
- package/esm/src/lib/primitives.d.ts.map +1 -0
- package/esm/src/lib/primitives.js +81 -0
- package/esm/src/lib/primitives.js.map +1 -0
- package/esm/src/lib/result.d.ts +31 -0
- package/esm/src/lib/result.d.ts.map +1 -0
- package/esm/src/lib/result.js +31 -0
- package/esm/src/lib/result.js.map +1 -0
- package/esm/src/lib/retries.d.ts +38 -0
- package/esm/src/lib/retries.d.ts.map +1 -0
- package/esm/src/lib/retries.js +150 -0
- package/esm/src/lib/retries.js.map +1 -0
- package/esm/src/lib/schemas.d.ts +19 -0
- package/esm/src/lib/schemas.d.ts.map +1 -0
- package/esm/src/lib/schemas.js +57 -0
- package/esm/src/lib/schemas.js.map +1 -0
- package/esm/src/lib/sdks.d.ts +63 -0
- package/esm/src/lib/sdks.d.ts.map +1 -0
- package/esm/src/lib/sdks.js +258 -0
- package/esm/src/lib/sdks.js.map +1 -0
- package/esm/src/lib/security.d.ts +83 -0
- package/esm/src/lib/security.d.ts.map +1 -0
- package/esm/src/lib/security.js +138 -0
- package/esm/src/lib/security.js.map +1 -0
- package/esm/src/lib/url.d.ts +5 -0
- package/esm/src/lib/url.d.ts.map +1 -0
- package/esm/src/lib/url.js +22 -0
- package/esm/src/lib/url.js.map +1 -0
- package/esm/src/mcp-server/cli/start/command.d.ts +2 -0
- package/esm/src/mcp-server/cli/start/command.d.ts.map +1 -0
- package/esm/src/mcp-server/cli/start/command.js +96 -0
- package/esm/src/mcp-server/cli/start/command.js.map +1 -0
- package/esm/src/mcp-server/cli/start/impl.d.ts +17 -0
- package/esm/src/mcp-server/cli/start/impl.d.ts.map +1 -0
- package/esm/src/mcp-server/cli/start/impl.js +98 -0
- package/esm/src/mcp-server/cli/start/impl.js.map +1 -0
- package/esm/src/mcp-server/cli.d.ts +6 -0
- package/esm/src/mcp-server/cli.d.ts.map +1 -0
- package/esm/src/mcp-server/cli.js +7 -0
- package/esm/src/mcp-server/cli.js.map +1 -0
- package/esm/src/mcp-server/console-logger.d.ts +9 -0
- package/esm/src/mcp-server/console-logger.d.ts.map +1 -0
- package/esm/src/mcp-server/console-logger.js +56 -0
- package/esm/src/mcp-server/console-logger.js.map +1 -0
- package/esm/src/mcp-server/extensions.d.ts +11 -0
- package/esm/src/mcp-server/extensions.d.ts.map +1 -0
- package/esm/src/mcp-server/extensions.js +5 -0
- package/esm/src/mcp-server/extensions.js.map +1 -0
- package/esm/src/mcp-server/mcp-server.d.ts +2 -0
- package/esm/src/mcp-server/mcp-server.d.ts.map +1 -0
- package/esm/src/mcp-server/mcp-server.js +23 -0
- package/esm/src/mcp-server/mcp-server.js.map +1 -0
- package/esm/src/mcp-server/prompts.d.ts +26 -0
- package/esm/src/mcp-server/prompts.d.ts.map +1 -0
- package/esm/src/mcp-server/prompts.js +47 -0
- package/esm/src/mcp-server/prompts.js.map +1 -0
- package/esm/src/mcp-server/resources.d.ts +32 -0
- package/esm/src/mcp-server/resources.d.ts.map +1 -0
- package/esm/src/mcp-server/resources.js +82 -0
- package/esm/src/mcp-server/resources.js.map +1 -0
- package/esm/src/mcp-server/scopes.d.ts +3 -0
- package/esm/src/mcp-server/scopes.d.ts.map +1 -0
- package/esm/src/mcp-server/scopes.js +5 -0
- package/esm/src/mcp-server/scopes.js.map +1 -0
- package/esm/src/mcp-server/server.d.ts +16 -0
- package/esm/src/mcp-server/server.d.ts.map +1 -0
- package/esm/src/mcp-server/server.js +53 -0
- package/esm/src/mcp-server/server.js.map +1 -0
- package/esm/src/mcp-server/shared.d.ts +8 -0
- package/esm/src/mcp-server/shared.d.ts.map +1 -0
- package/esm/src/mcp-server/shared.js +61 -0
- package/esm/src/mcp-server/shared.js.map +1 -0
- package/esm/src/mcp-server/tools/getAnnouncements.d.ts +7 -0
- package/esm/src/mcp-server/tools/getAnnouncements.d.ts.map +1 -0
- package/esm/src/mcp-server/tools/getAnnouncements.js +44 -0
- package/esm/src/mcp-server/tools/getAnnouncements.js.map +1 -0
- package/esm/src/mcp-server/tools/getAnswers.d.ts +7 -0
- package/esm/src/mcp-server/tools/getAnswers.d.ts.map +1 -0
- package/esm/src/mcp-server/tools/getAnswers.js +44 -0
- package/esm/src/mcp-server/tools/getAnswers.js.map +1 -0
- package/esm/src/mcp-server/tools/getArticle.d.ts +7 -0
- package/esm/src/mcp-server/tools/getArticle.d.ts.map +1 -0
- package/esm/src/mcp-server/tools/getArticle.js +47 -0
- package/esm/src/mcp-server/tools/getArticle.js.map +1 -0
- package/esm/src/mcp-server/tools/getPopularArticles.d.ts +7 -0
- package/esm/src/mcp-server/tools/getPopularArticles.d.ts.map +1 -0
- package/esm/src/mcp-server/tools/getPopularArticles.js +44 -0
- package/esm/src/mcp-server/tools/getPopularArticles.js.map +1 -0
- package/esm/src/mcp-server/tools/getPortals.d.ts +7 -0
- package/esm/src/mcp-server/tools/getPortals.d.ts.map +1 -0
- package/esm/src/mcp-server/tools/getPortals.js +42 -0
- package/esm/src/mcp-server/tools/getPortals.js.map +1 -0
- package/esm/src/mcp-server/tools/makeSuggestion.d.ts +7 -0
- package/esm/src/mcp-server/tools/makeSuggestion.d.ts.map +1 -0
- package/esm/src/mcp-server/tools/makeSuggestion.js +44 -0
- package/esm/src/mcp-server/tools/makeSuggestion.js.map +1 -0
- package/esm/src/mcp-server/tools/queryAnswers.d.ts +7 -0
- package/esm/src/mcp-server/tools/queryAnswers.d.ts.map +1 -0
- package/esm/src/mcp-server/tools/queryAnswers.js +44 -0
- package/esm/src/mcp-server/tools/queryAnswers.js.map +1 -0
- package/esm/src/mcp-server/tools/queryRetrieve.d.ts +7 -0
- package/esm/src/mcp-server/tools/queryRetrieve.d.ts.map +1 -0
- package/esm/src/mcp-server/tools/queryRetrieve.js +46 -0
- package/esm/src/mcp-server/tools/queryRetrieve.js.map +1 -0
- package/esm/src/mcp-server/tools/querySearch.d.ts +7 -0
- package/esm/src/mcp-server/tools/querySearch.d.ts.map +1 -0
- package/esm/src/mcp-server/tools/querySearch.js +35 -0
- package/esm/src/mcp-server/tools/querySearch.js.map +1 -0
- package/esm/src/mcp-server/tools/retrieveChunks.d.ts +7 -0
- package/esm/src/mcp-server/tools/retrieveChunks.d.ts.map +1 -0
- package/esm/src/mcp-server/tools/retrieveChunks.js +46 -0
- package/esm/src/mcp-server/tools/retrieveChunks.js.map +1 -0
- package/esm/src/mcp-server/tools/searchAiSearch.d.ts +7 -0
- package/esm/src/mcp-server/tools/searchAiSearch.d.ts.map +1 -0
- package/esm/src/mcp-server/tools/searchAiSearch.js +35 -0
- package/esm/src/mcp-server/tools/searchAiSearch.js.map +1 -0
- package/esm/src/mcp-server/tools.d.ts +37 -0
- package/esm/src/mcp-server/tools.d.ts.map +1 -0
- package/esm/src/mcp-server/tools.js +78 -0
- package/esm/src/mcp-server/tools.js.map +1 -0
- package/esm/src/models/acceptlanguage.d.ts +7 -0
- package/esm/src/models/acceptlanguage.d.ts.map +1 -0
- package/esm/src/models/acceptlanguage.js +25 -0
- package/esm/src/models/acceptlanguage.js.map +1 -0
- package/esm/src/models/accessibleportal.d.ts +12 -0
- package/esm/src/models/accessibleportal.d.ts.map +1 -0
- package/esm/src/models/accessibleportal.js +14 -0
- package/esm/src/models/accessibleportal.js.map +1 -0
- package/esm/src/models/additionalsnippets.d.ts +17 -0
- package/esm/src/models/additionalsnippets.d.ts.map +1 -0
- package/esm/src/models/additionalsnippets.js +23 -0
- package/esm/src/models/additionalsnippets.js.map +1 -0
- package/esm/src/models/aisearchop.d.ts +23 -0
- package/esm/src/models/aisearchop.d.ts.map +1 -0
- package/esm/src/models/aisearchop.js +24 -0
- package/esm/src/models/aisearchop.js.map +1 -0
- package/esm/src/models/allaccessibleportals.d.ts +12 -0
- package/esm/src/models/allaccessibleportals.d.ts.map +1 -0
- package/esm/src/models/allaccessibleportals.js +11 -0
- package/esm/src/models/allaccessibleportals.js.map +1 -0
- package/esm/src/models/answersrequest.d.ts +28 -0
- package/esm/src/models/answersrequest.d.ts.map +1 -0
- package/esm/src/models/answersrequest.js +28 -0
- package/esm/src/models/answersrequest.js.map +1 -0
- package/esm/src/models/answersresponse.d.ts +34 -0
- package/esm/src/models/answersresponse.d.ts.map +1 -0
- package/esm/src/models/answersresponse.js +38 -0
- package/esm/src/models/answersresponse.js.map +1 -0
- package/esm/src/models/article.d.ts +59 -0
- package/esm/src/models/article.d.ts.map +1 -0
- package/esm/src/models/article.js +59 -0
- package/esm/src/models/article.js.map +1 -0
- package/esm/src/models/articleadditionalattributes.d.ts +4 -0
- package/esm/src/models/articleadditionalattributes.d.ts.map +1 -0
- package/esm/src/models/articleadditionalattributes.js +22 -0
- package/esm/src/models/articleadditionalattributes.js.map +1 -0
- package/esm/src/models/articleattachment.d.ts +16 -0
- package/esm/src/models/articleattachment.d.ts.map +1 -0
- package/esm/src/models/articleattachment.js +20 -0
- package/esm/src/models/articleattachment.js.map +1 -0
- package/esm/src/models/articleresult.d.ts +43 -0
- package/esm/src/models/articleresult.d.ts.map +1 -0
- package/esm/src/models/articleresult.js +42 -0
- package/esm/src/models/articleresult.js.map +1 -0
- package/esm/src/models/articleresultadditionalattributes.d.ts +4 -0
- package/esm/src/models/articleresultadditionalattributes.d.ts.map +1 -0
- package/esm/src/models/articleresultadditionalattributes.js +21 -0
- package/esm/src/models/articleresultadditionalattributes.js.map +1 -0
- package/esm/src/models/articleresults.d.ts +12 -0
- package/esm/src/models/articleresults.d.ts.map +1 -0
- package/esm/src/models/articleresults.js +11 -0
- package/esm/src/models/articleresults.js.map +1 -0
- package/esm/src/models/articlesearchresult.d.ts +57 -0
- package/esm/src/models/articlesearchresult.d.ts.map +1 -0
- package/esm/src/models/articlesearchresult.js +62 -0
- package/esm/src/models/articlesearchresult.js.map +1 -0
- package/esm/src/models/articletype.d.ts +17 -0
- package/esm/src/models/articletype.d.ts.map +1 -0
- package/esm/src/models/articletype.js +24 -0
- package/esm/src/models/articletype.js.map +1 -0
- package/esm/src/models/attachmentforcreatesuggestion.d.ts +9 -0
- package/esm/src/models/attachmentforcreatesuggestion.d.ts.map +1 -0
- package/esm/src/models/attachmentforcreatesuggestion.js +8 -0
- package/esm/src/models/attachmentforcreatesuggestion.js.map +1 -0
- package/esm/src/models/bookmarkstatus.d.ts +12 -0
- package/esm/src/models/bookmarkstatus.d.ts.map +1 -0
- package/esm/src/models/bookmarkstatus.js +11 -0
- package/esm/src/models/bookmarkstatus.js.map +1 -0
- package/esm/src/models/complianceforarticle.d.ts +24 -0
- package/esm/src/models/complianceforarticle.d.ts.map +1 -0
- package/esm/src/models/complianceforarticle.js +15 -0
- package/esm/src/models/complianceforarticle.js.map +1 -0
- package/esm/src/models/createdby.d.ts +10 -0
- package/esm/src/models/createdby.d.ts.map +1 -0
- package/esm/src/models/createdby.js +12 -0
- package/esm/src/models/createdby.js.map +1 -0
- package/esm/src/models/createsuggestion.d.ts +43 -0
- package/esm/src/models/createsuggestion.d.ts.map +1 -0
- package/esm/src/models/createsuggestion.js +47 -0
- package/esm/src/models/createsuggestion.js.map +1 -0
- package/esm/src/models/customattribute.d.ts +13 -0
- package/esm/src/models/customattribute.d.ts.map +1 -0
- package/esm/src/models/customattribute.js +19 -0
- package/esm/src/models/customattribute.js.map +1 -0
- package/esm/src/models/department.d.ts +7 -0
- package/esm/src/models/department.d.ts.map +1 -0
- package/esm/src/models/department.js +9 -0
- package/esm/src/models/department.js.map +1 -0
- package/esm/src/models/edition.d.ts +22 -0
- package/esm/src/models/edition.d.ts.map +1 -0
- package/esm/src/models/edition.js +18 -0
- package/esm/src/models/edition.js.map +1 -0
- package/esm/src/models/errors/apierror.d.ts +13 -0
- package/esm/src/models/errors/apierror.d.ts.map +1 -0
- package/esm/src/models/errors/apierror.js +12 -0
- package/esm/src/models/errors/apierror.js.map +1 -0
- package/esm/src/models/errors/httpclienterrors.d.ts +44 -0
- package/esm/src/models/errors/httpclienterrors.d.ts.map +1 -0
- package/esm/src/models/errors/httpclienterrors.js +56 -0
- package/esm/src/models/errors/httpclienterrors.js.map +1 -0
- package/esm/src/models/errors/sdkvalidationerror.d.ts +20 -0
- package/esm/src/models/errors/sdkvalidationerror.d.ts.map +1 -0
- package/esm/src/models/errors/sdkvalidationerror.js +85 -0
- package/esm/src/models/errors/sdkvalidationerror.js.map +1 -0
- package/esm/src/models/folderbreadcrumb.d.ts +10 -0
- package/esm/src/models/folderbreadcrumb.d.ts.map +1 -0
- package/esm/src/models/folderbreadcrumb.js +9 -0
- package/esm/src/models/folderbreadcrumb.js.map +1 -0
- package/esm/src/models/foldersummary.d.ts +12 -0
- package/esm/src/models/foldersummary.d.ts.map +1 -0
- package/esm/src/models/foldersummary.js +11 -0
- package/esm/src/models/foldersummary.js.map +1 -0
- package/esm/src/models/getannouncementarticlesop.d.ts +25 -0
- package/esm/src/models/getannouncementarticlesop.d.ts.map +1 -0
- package/esm/src/models/getannouncementarticlesop.js +26 -0
- package/esm/src/models/getannouncementarticlesop.js.map +1 -0
- package/esm/src/models/getarticlebyidop.d.ts +57 -0
- package/esm/src/models/getarticlebyidop.d.ts.map +1 -0
- package/esm/src/models/getarticlebyidop.js +130 -0
- package/esm/src/models/getarticlebyidop.js.map +1 -0
- package/esm/src/models/getmyportalsop.d.ts +28 -0
- package/esm/src/models/getmyportalsop.d.ts.map +1 -0
- package/esm/src/models/getmyportalsop.js +29 -0
- package/esm/src/models/getmyportalsop.js.map +1 -0
- package/esm/src/models/getpopulararticlesop.d.ts +24 -0
- package/esm/src/models/getpopulararticlesop.d.ts.map +1 -0
- package/esm/src/models/getpopulararticlesop.js +25 -0
- package/esm/src/models/getpopulararticlesop.js.map +1 -0
- package/esm/src/models/l10nstring.d.ts +7 -0
- package/esm/src/models/l10nstring.d.ts.map +1 -0
- package/esm/src/models/l10nstring.js +9 -0
- package/esm/src/models/l10nstring.js.map +1 -0
- package/esm/src/models/languagecode.d.ts +7 -0
- package/esm/src/models/languagecode.d.ts.map +1 -0
- package/esm/src/models/languagecode.js +40 -0
- package/esm/src/models/languagecode.js.map +1 -0
- package/esm/src/models/languagecodeparameter.d.ts +7 -0
- package/esm/src/models/languagecodeparameter.d.ts.map +1 -0
- package/esm/src/models/languagecodeparameter.js +41 -0
- package/esm/src/models/languagecodeparameter.js.map +1 -0
- package/esm/src/models/languagequeryparameter.d.ts +7 -0
- package/esm/src/models/languagequeryparameter.d.ts.map +1 -0
- package/esm/src/models/languagequeryparameter.js +41 -0
- package/esm/src/models/languagequeryparameter.js.map +1 -0
- package/esm/src/models/link.d.ts +10 -0
- package/esm/src/models/link.d.ts.map +1 -0
- package/esm/src/models/link.js +9 -0
- package/esm/src/models/link.js.map +1 -0
- package/esm/src/models/makesuggestionop.d.ts +18 -0
- package/esm/src/models/makesuggestionop.d.ts.map +1 -0
- package/esm/src/models/makesuggestionop.js +19 -0
- package/esm/src/models/makesuggestionop.js.map +1 -0
- package/esm/src/models/mandatorylanguagequeryparameter.d.ts +7 -0
- package/esm/src/models/mandatorylanguagequeryparameter.d.ts.map +1 -0
- package/esm/src/models/mandatorylanguagequeryparameter.js +40 -0
- package/esm/src/models/mandatorylanguagequeryparameter.js.map +1 -0
- package/esm/src/models/milestone.d.ts +10 -0
- package/esm/src/models/milestone.d.ts.map +1 -0
- package/esm/src/models/milestone.js +9 -0
- package/esm/src/models/milestone.js.map +1 -0
- package/esm/src/models/milestonename.d.ts +10 -0
- package/esm/src/models/milestonename.d.ts.map +1 -0
- package/esm/src/models/milestonename.js +9 -0
- package/esm/src/models/milestonename.js.map +1 -0
- package/esm/src/models/modifiedby.d.ts +10 -0
- package/esm/src/models/modifiedby.d.ts.map +1 -0
- package/esm/src/models/modifiedby.js +12 -0
- package/esm/src/models/modifiedby.js.map +1 -0
- package/esm/src/models/order.d.ts +4 -0
- package/esm/src/models/order.d.ts.map +1 -0
- package/esm/src/models/order.js +9 -0
- package/esm/src/models/order.js.map +1 -0
- package/esm/src/models/ownedby.d.ts +10 -0
- package/esm/src/models/ownedby.d.ts.map +1 -0
- package/esm/src/models/ownedby.js +13 -0
- package/esm/src/models/ownedby.js.map +1 -0
- package/esm/src/models/paginationinfo.d.ts +10 -0
- package/esm/src/models/paginationinfo.d.ts.map +1 -0
- package/esm/src/models/paginationinfo.js +12 -0
- package/esm/src/models/paginationinfo.js.map +1 -0
- package/esm/src/models/personalization.d.ts +25 -0
- package/esm/src/models/personalization.d.ts.map +1 -0
- package/esm/src/models/personalization.js +22 -0
- package/esm/src/models/personalization.js.map +1 -0
- package/esm/src/models/postportalidanswersop.d.ts +24 -0
- package/esm/src/models/postportalidanswersop.d.ts.map +1 -0
- package/esm/src/models/postportalidanswersop.js +25 -0
- package/esm/src/models/postportalidanswersop.js.map +1 -0
- package/esm/src/models/postportalidretrieveop.d.ts +26 -0
- package/esm/src/models/postportalidretrieveop.d.ts.map +1 -0
- package/esm/src/models/postportalidretrieveop.js +27 -0
- package/esm/src/models/postportalidretrieveop.js.map +1 -0
- package/esm/src/models/publishview.d.ts +13 -0
- package/esm/src/models/publishview.d.ts.map +1 -0
- package/esm/src/models/publishview.js +15 -0
- package/esm/src/models/publishview.js.map +1 -0
- package/esm/src/models/referenceresponse.d.ts +25 -0
- package/esm/src/models/referenceresponse.d.ts.map +1 -0
- package/esm/src/models/referenceresponse.js +30 -0
- package/esm/src/models/referenceresponse.js.map +1 -0
- package/esm/src/models/retrieverequest.d.ts +18 -0
- package/esm/src/models/retrieverequest.d.ts.map +1 -0
- package/esm/src/models/retrieverequest.js +21 -0
- package/esm/src/models/retrieverequest.js.map +1 -0
- package/esm/src/models/retrieveresponse.d.ts +37 -0
- package/esm/src/models/retrieveresponse.d.ts.map +1 -0
- package/esm/src/models/retrieveresponse.js +37 -0
- package/esm/src/models/retrieveresponse.js.map +1 -0
- package/esm/src/models/schemaslink.d.ts +8 -0
- package/esm/src/models/schemaslink.d.ts.map +1 -0
- package/esm/src/models/schemaslink.js +10 -0
- package/esm/src/models/schemaslink.js.map +1 -0
- package/esm/src/models/searchresponse.d.ts +14 -0
- package/esm/src/models/searchresponse.d.ts.map +1 -0
- package/esm/src/models/searchresponse.js +12 -0
- package/esm/src/models/searchresponse.js.map +1 -0
- package/esm/src/models/searchresult.d.ts +27 -0
- package/esm/src/models/searchresult.d.ts.map +1 -0
- package/esm/src/models/searchresult.js +32 -0
- package/esm/src/models/searchresult.js.map +1 -0
- package/esm/src/models/security.d.ts +6 -0
- package/esm/src/models/security.d.ts.map +1 -0
- package/esm/src/models/security.js +9 -0
- package/esm/src/models/security.js.map +1 -0
- package/esm/src/models/shorturl.d.ts +9 -0
- package/esm/src/models/shorturl.d.ts.map +1 -0
- package/esm/src/models/shorturl.js +12 -0
- package/esm/src/models/shorturl.js.map +1 -0
- package/esm/src/models/sortidnamedepartment.d.ts +4 -0
- package/esm/src/models/sortidnamedepartment.d.ts.map +1 -0
- package/esm/src/models/sortidnamedepartment.js +10 -0
- package/esm/src/models/sortidnamedepartment.js.map +1 -0
- package/esm/src/models/stage.d.ts +11 -0
- package/esm/src/models/stage.d.ts.map +1 -0
- package/esm/src/models/stage.js +11 -0
- package/esm/src/models/stage.js.map +1 -0
- package/esm/src/models/structuredauthoringfields.d.ts +10 -0
- package/esm/src/models/structuredauthoringfields.d.ts.map +1 -0
- package/esm/src/models/structuredauthoringfields.js +12 -0
- package/esm/src/models/structuredauthoringfields.js.map +1 -0
- package/esm/src/models/tag.d.ts +7 -0
- package/esm/src/models/tag.d.ts.map +1 -0
- package/esm/src/models/tag.js +9 -0
- package/esm/src/models/tag.js.map +1 -0
- package/esm/src/models/tagcategory.d.ts +14 -0
- package/esm/src/models/tagcategory.d.ts.map +1 -0
- package/esm/src/models/tagcategory.js +13 -0
- package/esm/src/models/tagcategory.js.map +1 -0
- package/esm/src/models/taggroup.d.ts +7 -0
- package/esm/src/models/taggroup.d.ts.map +1 -0
- package/esm/src/models/taggroup.js +10 -0
- package/esm/src/models/taggroup.js.map +1 -0
- package/esm/src/models/taggroups.d.ts +7 -0
- package/esm/src/models/taggroups.d.ts.map +1 -0
- package/esm/src/models/taggroups.js +9 -0
- package/esm/src/models/taggroups.js.map +1 -0
- package/esm/src/models/tags.d.ts +7 -0
- package/esm/src/models/tags.d.ts.map +1 -0
- package/esm/src/models/tags.js +9 -0
- package/esm/src/models/tags.js.map +1 -0
- package/esm/src/models/topicbreadcrumb.d.ts +10 -0
- package/esm/src/models/topicbreadcrumb.d.ts.map +1 -0
- package/esm/src/models/topicbreadcrumb.js +9 -0
- package/esm/src/models/topicbreadcrumb.js.map +1 -0
- package/esm/src/models/topicsummary.d.ts +10 -0
- package/esm/src/models/topicsummary.d.ts.map +1 -0
- package/esm/src/models/topicsummary.js +9 -0
- package/esm/src/models/topicsummary.js.map +1 -0
- package/esm/src/models/workflow.d.ts +10 -0
- package/esm/src/models/workflow.d.ts.map +1 -0
- package/esm/src/models/workflow.js +10 -0
- package/esm/src/models/workflow.js.map +1 -0
- package/esm/src/models/workflowmilestone.d.ts +4 -0
- package/esm/src/models/workflowmilestone.d.ts.map +1 -0
- package/esm/src/models/workflowmilestone.js +10 -0
- package/esm/src/models/workflowmilestone.js.map +1 -0
- package/esm/src/models/wserrorcommon.d.ts +17 -0
- package/esm/src/models/wserrorcommon.d.ts.map +1 -0
- package/esm/src/models/wserrorcommon.js +16 -0
- package/esm/src/models/wserrorcommon.js.map +1 -0
- package/esm/src/types/async.d.ts +23 -0
- package/esm/src/types/async.d.ts.map +1 -0
- package/esm/src/types/async.js +28 -0
- package/esm/src/types/async.js.map +1 -0
- package/esm/src/types/blobs.d.ts +2 -0
- package/esm/src/types/blobs.d.ts.map +1 -0
- package/esm/src/types/blobs.js +20 -0
- package/esm/src/types/blobs.js.map +1 -0
- package/esm/src/types/enums.d.ts +12 -0
- package/esm/src/types/enums.d.ts.map +1 -0
- package/esm/src/types/enums.js +7 -0
- package/esm/src/types/enums.js.map +1 -0
- package/esm/src/types/fp.d.ts +31 -0
- package/esm/src/types/fp.d.ts.map +1 -0
- package/esm/src/types/fp.js +31 -0
- package/esm/src/types/fp.js.map +1 -0
- package/esm/src/types/rfcdate.d.ts +21 -0
- package/esm/src/types/rfcdate.d.ts.map +1 -0
- package/esm/src/types/rfcdate.js +43 -0
- package/esm/src/types/rfcdate.js.map +1 -0
- package/esm/src/types/streams.d.ts +2 -0
- package/esm/src/types/streams.d.ts.map +1 -0
- package/esm/src/types/streams.js +15 -0
- package/esm/src/types/streams.js.map +1 -0
- package/esm/worker-configuration.d.ts +4 -0
- package/esm/worker-configuration.d.ts.map +1 -0
- package/esm/worker-configuration.js +5 -0
- package/esm/worker-configuration.js.map +1 -0
- package/manifest.json +96 -0
- package/package.json +41 -0
- package/scripts/login.js +93 -0
- package/scripts/logout.js +53 -0
- package/src/cloudflare-worker/cloudflare-worker.ts +98 -0
- package/src/cloudflare-worker/landing-page.ts +337 -0
- package/src/core.ts +13 -0
- package/src/funcs/getAnnouncements.ts +202 -0
- package/src/funcs/getArticle.ts +208 -0
- package/src/funcs/getPopularArticles.ts +198 -0
- package/src/funcs/getPortals.ts +190 -0
- package/src/funcs/makeSuggestion.ts +191 -0
- package/src/funcs/queryAnswers.ts +191 -0
- package/src/funcs/queryRetrieve.ts +197 -0
- package/src/funcs/querySearch.ts +181 -0
- package/src/hooks/auth-hook.ts +1752 -0
- package/src/hooks/auth-pages/config-page.js +531 -0
- package/src/hooks/hooks.ts +132 -0
- package/src/hooks/portal-cache-hook.ts +505 -0
- package/src/hooks/portal-lookup-hook.ts +429 -0
- package/src/hooks/registration.ts +43 -0
- package/src/hooks/server-routing-hook.ts +58 -0
- package/src/hooks/types.ts +107 -0
- package/src/lib/base64.ts +37 -0
- package/src/lib/config.ts +89 -0
- package/src/lib/dlv.ts +53 -0
- package/src/lib/encodings.ts +483 -0
- package/src/lib/env.ts +41 -0
- package/src/lib/files.ts +82 -0
- package/src/lib/http.ts +323 -0
- package/src/lib/is-plain-object.ts +43 -0
- package/src/lib/logger.ts +9 -0
- package/src/lib/matchers.ts +350 -0
- package/src/lib/primitives.ts +113 -0
- package/src/lib/result.ts +50 -0
- package/src/lib/retries.ts +218 -0
- package/src/lib/schemas.ts +91 -0
- package/src/lib/sdks.ts +409 -0
- package/src/lib/security.ts +260 -0
- package/src/lib/url.ts +33 -0
- package/src/mcp-server/cli/start/command.ts +100 -0
- package/src/mcp-server/cli/start/impl.ts +133 -0
- package/src/mcp-server/cli.ts +13 -0
- package/src/mcp-server/console-logger.ts +76 -0
- package/src/mcp-server/extensions.ts +17 -0
- package/src/mcp-server/mcp-server.ts +26 -0
- package/src/mcp-server/prompts.ts +121 -0
- package/src/mcp-server/resources.ts +176 -0
- package/src/mcp-server/scopes.ts +7 -0
- package/src/mcp-server/server.ts +91 -0
- package/src/mcp-server/shared.ts +78 -0
- package/src/mcp-server/tools/getAnnouncements.ts +53 -0
- package/src/mcp-server/tools/getArticle.ts +56 -0
- package/src/mcp-server/tools/getPopularArticles.ts +53 -0
- package/src/mcp-server/tools/getPortals.ts +51 -0
- package/src/mcp-server/tools/makeSuggestion.ts +53 -0
- package/src/mcp-server/tools/queryAnswers.ts +53 -0
- package/src/mcp-server/tools/queryRetrieve.ts +55 -0
- package/src/mcp-server/tools/querySearch.ts +44 -0
- package/src/mcp-server/tools.ts +156 -0
- package/src/models/acceptlanguage.ts +30 -0
- package/src/models/accessibleportal.ts +27 -0
- package/src/models/additionalsnippets.ts +43 -0
- package/src/models/aisearchop.ts +62 -0
- package/src/models/allaccessibleportals.ts +27 -0
- package/src/models/answersrequest.ts +67 -0
- package/src/models/answersresponse.ts +88 -0
- package/src/models/article.ts +120 -0
- package/src/models/articleadditionalattributes.ts +27 -0
- package/src/models/articleattachment.ts +38 -0
- package/src/models/articleresult.ts +91 -0
- package/src/models/articleresults.ts +24 -0
- package/src/models/articlesearchresult.ts +139 -0
- package/src/models/articletype.ts +42 -0
- package/src/models/attachmentforcreatesuggestion.ts +18 -0
- package/src/models/bookmarkstatus.ts +28 -0
- package/src/models/complianceforarticle.ts +48 -0
- package/src/models/createdby.ts +22 -0
- package/src/models/createsuggestion.ts +108 -0
- package/src/models/customattribute.ts +33 -0
- package/src/models/department.ts +16 -0
- package/src/models/edition.ts +40 -0
- package/src/models/errors/apierror.ts +21 -0
- package/src/models/errors/httpclienterrors.ts +62 -0
- package/src/models/errors/sdkvalidationerror.ts +97 -0
- package/src/models/folderbreadcrumb.ts +21 -0
- package/src/models/foldersummary.ts +27 -0
- package/src/models/getannouncementarticlesop.ts +68 -0
- package/src/models/getarticlebyidop.ts +182 -0
- package/src/models/getmyportalsop.ts +78 -0
- package/src/models/getpopulararticlesop.ts +66 -0
- package/src/models/l10nstring.ts +19 -0
- package/src/models/languagecode.ts +43 -0
- package/src/models/languagecodeparameter.ts +48 -0
- package/src/models/languagequeryparameter.ts +48 -0
- package/src/models/link.ts +17 -0
- package/src/models/makesuggestionop.ts +47 -0
- package/src/models/mandatorylanguagequeryparameter.ts +47 -0
- package/src/models/milestone.ts +16 -0
- package/src/models/milestonename.ts +22 -0
- package/src/models/modifiedby.ts +25 -0
- package/src/models/order.ts +12 -0
- package/src/models/ownedby.ts +22 -0
- package/src/models/paginationinfo.ts +24 -0
- package/src/models/personalization.ts +55 -0
- package/src/models/postportalidanswersop.ts +62 -0
- package/src/models/postportalidretrieveop.ts +68 -0
- package/src/models/publishview.ts +35 -0
- package/src/models/referenceresponse.ts +60 -0
- package/src/models/retrieverequest.ts +47 -0
- package/src/models/retrieveresponse.ts +92 -0
- package/src/models/schemaslink.ts +21 -0
- package/src/models/searchresponse.ts +34 -0
- package/src/models/searchresult.ts +64 -0
- package/src/models/security.ts +14 -0
- package/src/models/shorturl.ts +20 -0
- package/src/models/sortidnamedepartment.ts +15 -0
- package/src/models/stage.ts +20 -0
- package/src/models/structuredauthoringfields.ts +24 -0
- package/src/models/tagcategory.ts +28 -0
- package/src/models/taggroup.ts +13 -0
- package/src/models/taggroups.ts +13 -0
- package/src/models/tags.ts +15 -0
- package/src/models/topicbreadcrumb.ts +21 -0
- package/src/models/topicsummary.ts +24 -0
- package/src/models/workflow.ts +16 -0
- package/src/models/workflowmilestone.ts +13 -0
- package/src/models/wserrorcommon.ts +34 -0
- package/src/types/async.ts +68 -0
- package/src/types/blobs.ts +23 -0
- package/src/types/enums.ts +16 -0
- package/src/types/fp.ts +50 -0
- package/src/types/rfcdate.ts +54 -0
- package/src/types/streams.ts +21 -0
- package/tsconfig.json +36 -0
- package/worker-configuration.d.ts +8489 -0
- package/worker-configuration.ts +11 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
export function OK(value) {
|
|
5
|
+
return { ok: true, value };
|
|
6
|
+
}
|
|
7
|
+
export function ERR(error) {
|
|
8
|
+
return { ok: false, error };
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* unwrap is a convenience function for extracting a value from a result or
|
|
12
|
+
* throwing if there was an error.
|
|
13
|
+
*/
|
|
14
|
+
export function unwrap(r) {
|
|
15
|
+
if (!r.ok) {
|
|
16
|
+
throw r.error;
|
|
17
|
+
}
|
|
18
|
+
return r.value;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* unwrapAsync is a convenience function for resolving a value from a Promise
|
|
22
|
+
* of a result or rejecting if an error occurred.
|
|
23
|
+
*/
|
|
24
|
+
export async function unwrapAsync(pr) {
|
|
25
|
+
const r = await pr;
|
|
26
|
+
if (!r.ok) {
|
|
27
|
+
throw r.error;
|
|
28
|
+
}
|
|
29
|
+
return r.value;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=fp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fp.js","sourceRoot":"","sources":["../../../src/types/fp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH,MAAM,UAAU,EAAE,CAAI,KAAQ;IAC5B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,GAAG,CAAI,KAAQ;IAC7B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAI,CAAqB;IAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACV,MAAM,CAAC,CAAC,KAAK,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAA+B;IAE/B,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACV,MAAM,CAAC,CAAC,KAAK,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,CAAC,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare class RFCDate {
|
|
2
|
+
private serialized;
|
|
3
|
+
/**
|
|
4
|
+
* Creates a new RFCDate instance using today's date.
|
|
5
|
+
*/
|
|
6
|
+
static today(): RFCDate;
|
|
7
|
+
/**
|
|
8
|
+
* Creates a new RFCDate instance using the provided input.
|
|
9
|
+
* If a string is used then in must be in the format YYYY-MM-DD.
|
|
10
|
+
*
|
|
11
|
+
* @param date A Date object or a date string in YYYY-MM-DD format
|
|
12
|
+
* @example
|
|
13
|
+
* new RFCDate("2022-01-01")
|
|
14
|
+
* @example
|
|
15
|
+
* new RFCDate(new Date())
|
|
16
|
+
*/
|
|
17
|
+
constructor(date: Date | string);
|
|
18
|
+
toJSON(): string;
|
|
19
|
+
toString(): string;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=rfcdate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rfcdate.d.ts","sourceRoot":"","sources":["../../../src/types/rfcdate.ts"],"names":[],"mappings":"AAMA,qBAAa,OAAO;IAClB,OAAO,CAAC,UAAU,CAAS;IAE3B;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,OAAO;IAIvB;;;;;;;;;OASG;gBACS,IAAI,EAAE,IAAI,GAAG,MAAM;IAoB/B,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,MAAM;CAGnB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
const dateRE = /^\d{4}-\d{2}-\d{2}$/;
|
|
5
|
+
export class RFCDate {
|
|
6
|
+
serialized;
|
|
7
|
+
/**
|
|
8
|
+
* Creates a new RFCDate instance using today's date.
|
|
9
|
+
*/
|
|
10
|
+
static today() {
|
|
11
|
+
return new RFCDate(new Date());
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new RFCDate instance using the provided input.
|
|
15
|
+
* If a string is used then in must be in the format YYYY-MM-DD.
|
|
16
|
+
*
|
|
17
|
+
* @param date A Date object or a date string in YYYY-MM-DD format
|
|
18
|
+
* @example
|
|
19
|
+
* new RFCDate("2022-01-01")
|
|
20
|
+
* @example
|
|
21
|
+
* new RFCDate(new Date())
|
|
22
|
+
*/
|
|
23
|
+
constructor(date) {
|
|
24
|
+
if (typeof date === "string" && !dateRE.test(date)) {
|
|
25
|
+
throw new RangeError("RFCDate: date strings must be in the format YYYY-MM-DD: " + date);
|
|
26
|
+
}
|
|
27
|
+
const value = new Date(date);
|
|
28
|
+
if (isNaN(+value)) {
|
|
29
|
+
throw new RangeError("RFCDate: invalid date provided: " + date);
|
|
30
|
+
}
|
|
31
|
+
this.serialized = value.toISOString().slice(0, "YYYY-MM-DD".length);
|
|
32
|
+
if (!dateRE.test(this.serialized)) {
|
|
33
|
+
throw new TypeError(`RFCDate: failed to build valid date with given value: ${date} serialized to ${this.serialized}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
toJSON() {
|
|
37
|
+
return this.toString();
|
|
38
|
+
}
|
|
39
|
+
toString() {
|
|
40
|
+
return this.serialized;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=rfcdate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rfcdate.js","sourceRoot":"","sources":["../../../src/types/rfcdate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,GAAG,qBAAqB,CAAC;AAErC,MAAM,OAAO,OAAO;IACV,UAAU,CAAS;IAE3B;;OAEG;IACH,MAAM,CAAC,KAAK;QACV,OAAO,IAAI,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACH,YAAY,IAAmB;QAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,UAAU,CAClB,0DAA0D,GAAG,IAAI,CAClE,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,UAAU,CAAC,kCAAkC,GAAG,IAAI,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,SAAS,CACjB,yDAAyD,IAAI,kBAAkB,IAAI,CAAC,UAAU,EAAE,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../../../src/types/streams.ts"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,UAAU,EAC7C,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,CAc1B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
export function isReadableStream(val) {
|
|
5
|
+
if (typeof val !== "object" || val === null) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
// Check for the presence of methods specific to ReadableStream
|
|
9
|
+
const stream = val;
|
|
10
|
+
// ReadableStream has methods like getReader, cancel, and tee
|
|
11
|
+
return (typeof stream.getReader === "function" &&
|
|
12
|
+
typeof stream.cancel === "function" &&
|
|
13
|
+
typeof stream.tee === "function");
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=streams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streams.js","sourceRoot":"","sources":["../../../src/types/streams.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,gBAAgB,CAC9B,GAAY;IAEZ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+DAA+D;IAC/D,MAAM,MAAM,GAAG,GAAiC,CAAC;IAEjD,6DAA6D;IAC7D,OAAO,CACL,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU;QACtC,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU;QACnC,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU,CACjC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-configuration.d.ts","sourceRoot":"","sources":["../worker-configuration.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,GAAG;IAKlB,MAAM,EAAE,OAAO,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-configuration.js","sourceRoot":"","sources":["../worker-configuration.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
package/manifest.json
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"dxt_version": "0.1",
|
|
3
|
+
"name": "@egain/egain-mcp-server",
|
|
4
|
+
"version": "1.0.1",
|
|
5
|
+
"description": "",
|
|
6
|
+
"long_description": "eGain Portal, Retrieve, Search, Answers APIs: Enterprise knowledge APIs for managing portals, searching content, retrieving AI-powered answers, and accessing content chunks for custom integrations.",
|
|
7
|
+
"author": {
|
|
8
|
+
"name": "Emily Loh - eGain Corporation"
|
|
9
|
+
},
|
|
10
|
+
"server": {
|
|
11
|
+
"type": "node",
|
|
12
|
+
"entry_point": "./bin/mcp-server.js",
|
|
13
|
+
"mcp_config": {
|
|
14
|
+
"command": "node",
|
|
15
|
+
"args": [
|
|
16
|
+
"${__dirname}/bin/mcp-server.js",
|
|
17
|
+
"start",
|
|
18
|
+
"--server",
|
|
19
|
+
"${user_config.server}",
|
|
20
|
+
"--api-domain",
|
|
21
|
+
"${user_config.api_domain}",
|
|
22
|
+
"--access-token",
|
|
23
|
+
"${user_config.access_token}"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"display_name": "@egain/egain Mcp Server",
|
|
28
|
+
"tools": [
|
|
29
|
+
{
|
|
30
|
+
"name": "get-article",
|
|
31
|
+
"description": "Get Article by ID\n\nGet Article by ID\n\n## Prerequisites\n- Requires a valid portal ID. If you don't have the portal ID, first call 'get-portals' to get available portals.\n- Portal ID format: 2-4 letter prefix + dash + 4-15 digits (e.g., \"EB-123456789\")\n- Requires a valid article ID. Article ID format: 2-4 letter prefix + dash + 4-15 digits (e.g., \"PROD-2996\")\n\n## Overview\nThe Get Article by ID API allows a user to retrieve a specific article using its ID. Additional article attributes and contextual views can be specified in the query parameters.\n\nThis API returns structured authoring attributes of Issue, Environment, Cause and Confidence Level when the following conditions are met:\n- The \"Allow Structured Authoring\" setting is enabled at the partition/department level\n- The \"Use Structured Authoring\" flag is set on the article type\n"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "get-announcements",
|
|
35
|
+
"description": "Get Announcement Articles\n\nGet Announcements\n\n## Prerequisites\n- Requires a valid portal ID. If you don't have the portal ID, first call 'get-portals' to get available portals.\n- Portal ID format: 2-4 letter prefix + dash + 4-15 digits (e.g., \"EB-123456789\")\n\n## Overview\nThe Get Announcements API allows a user to retrieve all announcement articles for a specific portal. Announcements are special articles that are prominently displayed to users and typically contain important updates, news, or notifications.\n\nThis API returns announcement articles with their full content, metadata, and any associated attachments or links.\n"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "get-popular-articles",
|
|
39
|
+
"description": "Get Popular Articles\n\nGet Popular Articles\n\n## Prerequisites\n- Requires a valid portal ID. If you don't have the portal ID, first call 'get-portals' to get available portals.\n- Portal ID format: 2-4 letter prefix + dash + 4-15 digits (e.g., \"EB-123456789\")\n\n## Overview\nThe Popular Articles API allows a user to retrieve the most popular articles from a specific portal. Popular articles are typically determined by user engagement metrics such as views, ratings, or usage frequency.\n\nThis API returns a list of popular articles with their metadata, allowing users to discover the most relevant and frequently accessed content within the portal.\n"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "get-portals",
|
|
43
|
+
"description": "Get All Portals Accessible To User\n\n## Overview\n The Get All Portals Accessible to User API allows a user to fetch all portals accessible to user across all department.\n * If no access tags are specified for a portal, then any user can access the portal.\n * If access tags are specified for a portal, users with a user profile that allows access have access to the portal. For users with multiple user profiles, the user profile that allows access does not need to be the active user profile.\n * All the global users(partition) cannot be assigned user profiles; their access is limited to portals without access restrictions.\n * The only articles returned are associated to an Article type when the parameter, âInclude in browse on portalsâ is set to \"Yes\".\n * When the \"shortUrlTemplate\" query parameter is provided, the API filters accessible portals according to the specified language and template name. Portal Short URL specific to to the \"shortUrlTemplate\" query parameter value is returned in the response.\n * When there is no short URL available for a specific language, the API returns a portal object with an empty \"shortURL\" field.\n"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "make-suggestion",
|
|
47
|
+
"description": "Make a Suggestion\n\nMake a Suggestion\n\n## Prerequisites\n- Requires a valid portal ID. If you don't have the portal ID, first call 'get-portals' to get available portals.\n- Portal ID format: 2-4 letter prefix + dash + 4-15 digits (e.g., \"EB-123456789\")\n\n## Overview\nThe 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.\n\nUsers can submit suggestions with details about what they're looking for, which helps content creators understand user needs and improve the knowledge base.\n"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"name": "query-answers",
|
|
51
|
+
"description": "Get the best answer for a user query\n\nGet Answers\n\n## Prerequisites\n- Requires a valid portal ID. If you don't have the portal ID, first call 'get-portals' to get available portals.\n- Portal ID format: 2-4 letter prefix + dash + 4-15 digits (e.g., \"EB-123456789\")\n\n## Overview\nThe 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.\n\nThe 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.\n"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "query-search",
|
|
55
|
+
"description": "Get the best search results for a user query\n\nThe 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.**\n"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "query-retrieve",
|
|
59
|
+
"description": "Retrieve Chunks\n\nRetrieve Chunks\n\n## Prerequisites\n- **Requires a valid portal ID** (required parameter). If you don't have the portal ID, first call 'get-portals' to get available portals.\n- Portal ID format: 2-4 letter prefix + dash + 4-15 digits (e.g., \"EB-123456789\")\n\n## Overview\nThe 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.\n\nIn 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.\n\nBy leveraging the Retrieve API, organizations can build tailored experiences while retaining confidence in the source material.\n"
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"prompts": [],
|
|
63
|
+
"keywords": [
|
|
64
|
+
"@egain/egain",
|
|
65
|
+
"mcp",
|
|
66
|
+
"server",
|
|
67
|
+
"egain",
|
|
68
|
+
"portal",
|
|
69
|
+
"retrieve",
|
|
70
|
+
"search",
|
|
71
|
+
"answers"
|
|
72
|
+
],
|
|
73
|
+
"user_config": {
|
|
74
|
+
"server": {
|
|
75
|
+
"type": "string",
|
|
76
|
+
"title": "Server",
|
|
77
|
+
"description": "Available servers: [server_0: https://{API_DOMAIN}/knowledge/portalmgr/v4, server_1: https://{API_DOMAIN}/core/aiservices/v4]",
|
|
78
|
+
"required": false,
|
|
79
|
+
"default": "server_0"
|
|
80
|
+
},
|
|
81
|
+
"api_domain": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"title": "API_DOMAIN",
|
|
84
|
+
"description": " Templated in https://{API_DOMAIN}/core/aiservices/v4.",
|
|
85
|
+
"required": false,
|
|
86
|
+
"default": "api.aidev.egain.cloud"
|
|
87
|
+
},
|
|
88
|
+
"access_token": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"title": "accessToken",
|
|
91
|
+
"description": "The accessToken to use for the request",
|
|
92
|
+
"required": true,
|
|
93
|
+
"sensitive": true
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@egain/egain-mcp-server",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"author": "Emily Loh - eGain Corporation",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"bin": {
|
|
8
|
+
"@egain/egain-mcp-server": "bin/mcp-server.js",
|
|
9
|
+
"mcp": "bin/mcp-server.js"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "bun i && bun src/mcp-server/build.mts && tsc",
|
|
13
|
+
"types": "wrangler types",
|
|
14
|
+
"dev": "wrangler dev",
|
|
15
|
+
"deploy": "wrangler deploy",
|
|
16
|
+
"check": "npm run lint",
|
|
17
|
+
"lint": "eslint --cache --max-warnings=0 src",
|
|
18
|
+
"prepublishOnly": "npm run build"
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@modelcontextprotocol/sdk": "^1.17.0",
|
|
22
|
+
"@stricli/core": "^1.1.2",
|
|
23
|
+
"agents": "^0.0.105",
|
|
24
|
+
"bun": "^1.2.12",
|
|
25
|
+
"express": "^5.1.0",
|
|
26
|
+
"zod": "^3.25.7"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@anthropic-ai/dxt": "^0.1.0",
|
|
30
|
+
"@cloudflare/workers-types": "^4.20250712.0",
|
|
31
|
+
"@eslint/js": "^9.26.0",
|
|
32
|
+
"@types/bun": "^1.2.13",
|
|
33
|
+
"@types/express": "^5.0.1",
|
|
34
|
+
"@types/node": "^22.15.20",
|
|
35
|
+
"eslint": "^9.26.0",
|
|
36
|
+
"globals": "^16.0.0",
|
|
37
|
+
"typescript": "~5.8.3",
|
|
38
|
+
"typescript-eslint": "^8.31.1",
|
|
39
|
+
"wrangler": "^4.24.3"
|
|
40
|
+
}
|
|
41
|
+
}
|
package/scripts/login.js
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Login script for eGain MCP Server
|
|
5
|
+
* Performs Azure B2C OAuth2 authentication and saves the token
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* node scripts/login.js # Normal mode (auto-detect browser)
|
|
9
|
+
* node scripts/login.js --force-chrome # Force Chrome
|
|
10
|
+
* node scripts/login.js --force-firefox # Force Firefox
|
|
11
|
+
* node scripts/login.js --force-edge # Force Microsoft Edge
|
|
12
|
+
* node scripts/login.js --force-safari # Force Safari
|
|
13
|
+
* node scripts/login.js --force-brave # Force Brave Browser
|
|
14
|
+
*
|
|
15
|
+
* npm run login # Normal mode
|
|
16
|
+
* FORCE_BROWSER="Firefox" npm run login # Force any browser via env var
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
import { AuthenticationHook } from '../esm/src/hooks/auth-hook.js';
|
|
20
|
+
|
|
21
|
+
// Platform-specific browser name mapping
|
|
22
|
+
const isWindows = process.platform === 'win32';
|
|
23
|
+
const isMac = process.platform === 'darwin';
|
|
24
|
+
|
|
25
|
+
// Browser name mapping for command-line flags
|
|
26
|
+
const browserMap = {
|
|
27
|
+
'--force-chrome': isWindows ? 'chrome' : 'Google Chrome',
|
|
28
|
+
'--force-firefox': isWindows ? 'firefox' : 'Firefox',
|
|
29
|
+
'--force-edge': isWindows ? 'msedge' : 'Microsoft Edge',
|
|
30
|
+
'--force-safari': 'Safari', // macOS only
|
|
31
|
+
'--force-brave': isWindows ? 'brave' : 'Brave Browser',
|
|
32
|
+
'--force-vivaldi': isWindows ? 'vivaldi' : 'Vivaldi',
|
|
33
|
+
'--force-opera': isWindows ? 'opera' : 'Opera',
|
|
34
|
+
// Short flags
|
|
35
|
+
'-c': isWindows ? 'chrome' : 'Google Chrome',
|
|
36
|
+
'-f': isWindows ? 'firefox' : 'Firefox',
|
|
37
|
+
'-e': isWindows ? 'msedge' : 'Microsoft Edge',
|
|
38
|
+
'-s': 'Safari',
|
|
39
|
+
'-b': isWindows ? 'brave' : 'Brave Browser'
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
// Check for command-line flags
|
|
43
|
+
const args = process.argv.slice(2);
|
|
44
|
+
for (const arg of args) {
|
|
45
|
+
if (browserMap[arg]) {
|
|
46
|
+
const browser = browserMap[arg];
|
|
47
|
+
const displayName = isWindows
|
|
48
|
+
? (browser === 'chrome' ? 'Google Chrome' :
|
|
49
|
+
browser === 'msedge' ? 'Microsoft Edge' :
|
|
50
|
+
browser === 'firefox' ? 'Firefox' :
|
|
51
|
+
browser === 'brave' ? 'Brave Browser' : browser)
|
|
52
|
+
: browser;
|
|
53
|
+
console.log(`đ§Ē FORCING ${displayName.toUpperCase()} FOR TESTING\n`);
|
|
54
|
+
process.env.FORCE_BROWSER = browser;
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
console.log('đ eGain MCP Login');
|
|
60
|
+
console.log('==================\n');
|
|
61
|
+
|
|
62
|
+
async function login() {
|
|
63
|
+
try {
|
|
64
|
+
const authHook = new AuthenticationHook();
|
|
65
|
+
console.log('đ Starting authentication...');
|
|
66
|
+
console.log('đ A browser window will open for configuration/authentication\n');
|
|
67
|
+
|
|
68
|
+
const token = await authHook.authenticate();
|
|
69
|
+
|
|
70
|
+
console.log('\n==================');
|
|
71
|
+
console.log('â
Login successful!');
|
|
72
|
+
console.log('đ Token:', token.substring(0, 30) + '...');
|
|
73
|
+
console.log('đ Length:', token.length, 'characters');
|
|
74
|
+
console.log('đĄ You can now use the MCP server');
|
|
75
|
+
console.log('đĒ Run `node scripts/logout.js` to clear authentication\n');
|
|
76
|
+
|
|
77
|
+
} catch (error) {
|
|
78
|
+
console.log('\n==================');
|
|
79
|
+
console.log('â Login failed!');
|
|
80
|
+
console.log('đĨ Error:', error.message);
|
|
81
|
+
|
|
82
|
+
if (process.env.DEBUG) {
|
|
83
|
+
console.log('\nStack trace:');
|
|
84
|
+
console.log(error.stack);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
console.log('');
|
|
88
|
+
process.exit(1);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Run the login
|
|
93
|
+
login();
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Logout script for eGain MCP Server
|
|
5
|
+
* Removes authentication tokens and cached data to force fresh login
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* node scripts/logout.js
|
|
9
|
+
* OR make executable: chmod +x scripts/logout.js && ./scripts/logout.js
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import fs from 'fs';
|
|
13
|
+
import path from 'path';
|
|
14
|
+
import { fileURLToPath } from 'url';
|
|
15
|
+
|
|
16
|
+
// Get the project root directory (where package.json is)
|
|
17
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
18
|
+
const __dirname = path.dirname(__filename);
|
|
19
|
+
const projectRoot = path.dirname(__dirname); // Go up one level from scripts/ to project root
|
|
20
|
+
|
|
21
|
+
const filesToRemove = [
|
|
22
|
+
'.bearer_token',
|
|
23
|
+
'.bearer_token_metadata',
|
|
24
|
+
'portals_cache.json'
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
console.log('đĒ eGain MCP Logout');
|
|
28
|
+
console.log('==================');
|
|
29
|
+
|
|
30
|
+
let removedCount = 0;
|
|
31
|
+
|
|
32
|
+
for (const file of filesToRemove) {
|
|
33
|
+
const filePath = path.join(projectRoot, file);
|
|
34
|
+
try {
|
|
35
|
+
fs.unlinkSync(filePath);
|
|
36
|
+
console.log(`â
Removed ${file}`);
|
|
37
|
+
removedCount++;
|
|
38
|
+
} catch (error) {
|
|
39
|
+
if (error.code === 'ENOENT') {
|
|
40
|
+
console.log(`âšī¸ ${file} not found (already clean)`);
|
|
41
|
+
} else {
|
|
42
|
+
console.log(`â ī¸ Could not remove ${file}: ${error.message}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
console.log('==================');
|
|
48
|
+
if (removedCount > 0) {
|
|
49
|
+
console.log(`đ Logout complete! Removed ${removedCount} file(s).`);
|
|
50
|
+
} else {
|
|
51
|
+
console.log('⨠Already logged out (no files to remove).');
|
|
52
|
+
}
|
|
53
|
+
console.log('đ Next MCP request will trigger fresh login.');
|
|
@@ -0,0 +1,98 @@
|
|
|
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 { McpAgent } from "agents/mcp";
|
|
7
|
+
import type { Env } from "../../worker-configuration.js";
|
|
8
|
+
import { EgainMcpCore } from "../core.js";
|
|
9
|
+
import { createConsoleLogger } from "../mcp-server/console-logger.js";
|
|
10
|
+
import { createMCPServer } from "../mcp-server/server.js";
|
|
11
|
+
import { landingPage } from "./landing-page.js";
|
|
12
|
+
|
|
13
|
+
interface State {}
|
|
14
|
+
|
|
15
|
+
type Props = Record<string, string>;
|
|
16
|
+
|
|
17
|
+
export class AtEgainEgainMcpServerMCP extends McpAgent<Env, State, Props> {
|
|
18
|
+
server!: McpServer;
|
|
19
|
+
|
|
20
|
+
async init() {
|
|
21
|
+
this.server = createMCPServer({
|
|
22
|
+
logger: createConsoleLogger("debug"),
|
|
23
|
+
getSDK: () => this.getSDK(),
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
getSDK() {
|
|
28
|
+
const getHeader = (name: string) => this.props[name] || "";
|
|
29
|
+
|
|
30
|
+
const sdk = new EgainMcpCore({
|
|
31
|
+
debugLogger: {
|
|
32
|
+
log: (...args) => console.log(...args),
|
|
33
|
+
group: (...args) => console.group(...args),
|
|
34
|
+
groupEnd: (...args) => console.groupEnd(...args),
|
|
35
|
+
},
|
|
36
|
+
security: async () => {
|
|
37
|
+
return { accessToken: getHeader("authorization") };
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
return sdk;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export default {
|
|
45
|
+
async fetch(request: Request, env: Env, ctx: any) {
|
|
46
|
+
const url = new URL(request.url);
|
|
47
|
+
|
|
48
|
+
// Pass auth headers through to the MCP agent
|
|
49
|
+
const headers: Record<string, string> = {};
|
|
50
|
+
for (const [key, value] of request.headers.entries()) {
|
|
51
|
+
headers[key.toLowerCase()] = value;
|
|
52
|
+
}
|
|
53
|
+
ctx.props = headers;
|
|
54
|
+
|
|
55
|
+
if (url.pathname === "/sse" || url.pathname.startsWith("/sse/")) {
|
|
56
|
+
return AtEgainEgainMcpServerMCP.serveSSE("/sse", {
|
|
57
|
+
binding: "@EGAIN/EGAIN-MCP-SERVER_MCP",
|
|
58
|
+
}).fetch(
|
|
59
|
+
request,
|
|
60
|
+
env,
|
|
61
|
+
ctx,
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if (url.pathname === "/mcp") {
|
|
66
|
+
return AtEgainEgainMcpServerMCP.serve("/mcp", {
|
|
67
|
+
binding: "@EGAIN/EGAIN-MCP-SERVER_MCP",
|
|
68
|
+
}).fetch(
|
|
69
|
+
request,
|
|
70
|
+
env,
|
|
71
|
+
ctx,
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// Landing page
|
|
76
|
+
if (url.pathname === "/") {
|
|
77
|
+
return landingPage(request);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Fallback to serving static assets
|
|
81
|
+
const response = await env.ASSETS.fetch(request);
|
|
82
|
+
|
|
83
|
+
// Only modify headers if asset was found successfully
|
|
84
|
+
if (response.ok) {
|
|
85
|
+
// Clone the response to modify headers
|
|
86
|
+
return new Response(response.body, {
|
|
87
|
+
headers: {
|
|
88
|
+
"Content-Type": "application/octet-stream",
|
|
89
|
+
"Content-Disposition": "attachment; filename=\"mcp-server.dxt\"",
|
|
90
|
+
"Cache-Control": "public, max-age=3600",
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Return the original response (including 404s) as-is
|
|
96
|
+
return response;
|
|
97
|
+
},
|
|
98
|
+
};
|