x-m32-mcp-server 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +281 -0
- package/dist/cjs/client/auth.d.ts +270 -0
- package/dist/cjs/client/auth.d.ts.map +1 -0
- package/dist/cjs/client/auth.js +747 -0
- package/dist/cjs/client/auth.js.map +1 -0
- package/dist/cjs/client/index.d.ts +913 -0
- package/dist/cjs/client/index.d.ts.map +1 -0
- package/dist/cjs/client/index.js +367 -0
- package/dist/cjs/client/index.js.map +1 -0
- package/dist/cjs/client/middleware.d.ts +169 -0
- package/dist/cjs/client/middleware.d.ts.map +1 -0
- package/dist/cjs/client/middleware.js +252 -0
- package/dist/cjs/client/middleware.js.map +1 -0
- package/dist/cjs/client/sse.d.ts +80 -0
- package/dist/cjs/client/sse.d.ts.map +1 -0
- package/dist/cjs/client/sse.js +211 -0
- package/dist/cjs/client/sse.js.map +1 -0
- package/dist/cjs/client/stdio.d.ts +78 -0
- package/dist/cjs/client/stdio.d.ts.map +1 -0
- package/dist/cjs/client/stdio.js +184 -0
- package/dist/cjs/client/stdio.js.map +1 -0
- package/dist/cjs/client/streamableHttp.d.ts +158 -0
- package/dist/cjs/client/streamableHttp.d.ts.map +1 -0
- package/dist/cjs/client/streamableHttp.js +406 -0
- package/dist/cjs/client/streamableHttp.js.map +1 -0
- package/dist/cjs/client/websocket.d.ts +17 -0
- package/dist/cjs/client/websocket.d.ts.map +1 -0
- package/dist/cjs/client/websocket.js +63 -0
- package/dist/cjs/client/websocket.js.map +1 -0
- package/dist/cjs/examples/client/multipleClientsParallel.d.ts +2 -0
- package/dist/cjs/examples/client/multipleClientsParallel.d.ts.map +1 -0
- package/dist/cjs/examples/client/multipleClientsParallel.js +134 -0
- package/dist/cjs/examples/client/multipleClientsParallel.js.map +1 -0
- package/dist/cjs/examples/client/parallelToolCallsClient.d.ts +2 -0
- package/dist/cjs/examples/client/parallelToolCallsClient.d.ts.map +1 -0
- package/dist/cjs/examples/client/parallelToolCallsClient.js +176 -0
- package/dist/cjs/examples/client/parallelToolCallsClient.js.map +1 -0
- package/dist/cjs/examples/client/simpleOAuthClient.d.ts +3 -0
- package/dist/cjs/examples/client/simpleOAuthClient.d.ts.map +1 -0
- package/dist/cjs/examples/client/simpleOAuthClient.js +376 -0
- package/dist/cjs/examples/client/simpleOAuthClient.js.map +1 -0
- package/dist/cjs/examples/client/simpleStreamableHttp.d.ts +2 -0
- package/dist/cjs/examples/client/simpleStreamableHttp.d.ts.map +1 -0
- package/dist/cjs/examples/client/simpleStreamableHttp.js +744 -0
- package/dist/cjs/examples/client/simpleStreamableHttp.js.map +1 -0
- package/dist/cjs/examples/client/streamableHttpWithSseFallbackClient.d.ts +2 -0
- package/dist/cjs/examples/client/streamableHttpWithSseFallbackClient.d.ts.map +1 -0
- package/dist/cjs/examples/client/streamableHttpWithSseFallbackClient.js +168 -0
- package/dist/cjs/examples/client/streamableHttpWithSseFallbackClient.js.map +1 -0
- package/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts +78 -0
- package/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -0
- package/dist/cjs/examples/server/demoInMemoryOAuthProvider.js +189 -0
- package/dist/cjs/examples/server/demoInMemoryOAuthProvider.js.map +1 -0
- package/dist/cjs/examples/server/elicitationExample.d.ts +2 -0
- package/dist/cjs/examples/server/elicitationExample.d.ts.map +1 -0
- package/dist/cjs/examples/server/elicitationExample.js +435 -0
- package/dist/cjs/examples/server/elicitationExample.js.map +1 -0
- package/dist/cjs/examples/server/jsonResponseStreamableHttp.d.ts +2 -0
- package/dist/cjs/examples/server/jsonResponseStreamableHttp.d.ts.map +1 -0
- package/dist/cjs/examples/server/jsonResponseStreamableHttp.js +152 -0
- package/dist/cjs/examples/server/jsonResponseStreamableHttp.js.map +1 -0
- package/dist/cjs/examples/server/mcpServerOutputSchema.d.ts +7 -0
- package/dist/cjs/examples/server/mcpServerOutputSchema.d.ts.map +1 -0
- package/dist/cjs/examples/server/mcpServerOutputSchema.js +72 -0
- package/dist/cjs/examples/server/mcpServerOutputSchema.js.map +1 -0
- package/dist/cjs/examples/server/simpleSseServer.d.ts +2 -0
- package/dist/cjs/examples/server/simpleSseServer.d.ts.map +1 -0
- package/dist/cjs/examples/server/simpleSseServer.js +146 -0
- package/dist/cjs/examples/server/simpleSseServer.js.map +1 -0
- package/dist/cjs/examples/server/simpleStatelessStreamableHttp.d.ts +2 -0
- package/dist/cjs/examples/server/simpleStatelessStreamableHttp.d.ts.map +1 -0
- package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js +147 -0
- package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js.map +1 -0
- package/dist/cjs/examples/server/simpleStreamableHttp.d.ts +2 -0
- package/dist/cjs/examples/server/simpleStreamableHttp.d.ts.map +1 -0
- package/dist/cjs/examples/server/simpleStreamableHttp.js +587 -0
- package/dist/cjs/examples/server/simpleStreamableHttp.js.map +1 -0
- package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.d.ts +2 -0
- package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.d.ts.map +1 -0
- package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js +240 -0
- package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -0
- package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.d.ts +2 -0
- package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.d.ts.map +1 -0
- package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js +116 -0
- package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -0
- package/dist/cjs/examples/server/toolWithSampleServer.d.ts +2 -0
- package/dist/cjs/examples/server/toolWithSampleServer.d.ts.map +1 -0
- package/dist/cjs/examples/server/toolWithSampleServer.js +49 -0
- package/dist/cjs/examples/server/toolWithSampleServer.js.map +1 -0
- package/dist/cjs/examples/shared/inMemoryEventStore.d.ts +31 -0
- package/dist/cjs/examples/shared/inMemoryEventStore.d.ts.map +1 -0
- package/dist/cjs/examples/shared/inMemoryEventStore.js +69 -0
- package/dist/cjs/examples/shared/inMemoryEventStore.js.map +1 -0
- package/dist/cjs/inMemory.d.ts +31 -0
- package/dist/cjs/inMemory.d.ts.map +1 -0
- package/dist/cjs/inMemory.js +53 -0
- package/dist/cjs/inMemory.js.map +1 -0
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +85 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/server/auth/clients.d.ts +19 -0
- package/dist/cjs/server/auth/clients.d.ts.map +1 -0
- package/dist/cjs/server/auth/clients.js +3 -0
- package/dist/cjs/server/auth/clients.js.map +1 -0
- package/dist/cjs/server/auth/errors.d.ts +141 -0
- package/dist/cjs/server/auth/errors.d.ts.map +1 -0
- package/dist/cjs/server/auth/errors.js +193 -0
- package/dist/cjs/server/auth/errors.js.map +1 -0
- package/dist/cjs/server/auth/handlers/authorize.d.ts +13 -0
- package/dist/cjs/server/auth/handlers/authorize.d.ts.map +1 -0
- package/dist/cjs/server/auth/handlers/authorize.js +144 -0
- package/dist/cjs/server/auth/handlers/authorize.js.map +1 -0
- package/dist/cjs/server/auth/handlers/metadata.d.ts +4 -0
- package/dist/cjs/server/auth/handlers/metadata.d.ts.map +1 -0
- package/dist/cjs/server/auth/handlers/metadata.js +21 -0
- package/dist/cjs/server/auth/handlers/metadata.js.map +1 -0
- package/dist/cjs/server/auth/handlers/register.d.ts +29 -0
- package/dist/cjs/server/auth/handlers/register.d.ts.map +1 -0
- package/dist/cjs/server/auth/handlers/register.js +77 -0
- package/dist/cjs/server/auth/handlers/register.js.map +1 -0
- package/dist/cjs/server/auth/handlers/revoke.d.ts +13 -0
- package/dist/cjs/server/auth/handlers/revoke.d.ts.map +1 -0
- package/dist/cjs/server/auth/handlers/revoke.js +65 -0
- package/dist/cjs/server/auth/handlers/revoke.js.map +1 -0
- package/dist/cjs/server/auth/handlers/token.d.ts +13 -0
- package/dist/cjs/server/auth/handlers/token.d.ts.map +1 -0
- package/dist/cjs/server/auth/handlers/token.js +113 -0
- package/dist/cjs/server/auth/handlers/token.js.map +1 -0
- package/dist/cjs/server/auth/middleware/allowedMethods.d.ts +9 -0
- package/dist/cjs/server/auth/middleware/allowedMethods.d.ts.map +1 -0
- package/dist/cjs/server/auth/middleware/allowedMethods.js +21 -0
- package/dist/cjs/server/auth/middleware/allowedMethods.js.map +1 -0
- package/dist/cjs/server/auth/middleware/bearerAuth.d.ts +35 -0
- package/dist/cjs/server/auth/middleware/bearerAuth.d.ts.map +1 -0
- package/dist/cjs/server/auth/middleware/bearerAuth.js +70 -0
- package/dist/cjs/server/auth/middleware/bearerAuth.js.map +1 -0
- package/dist/cjs/server/auth/middleware/clientAuth.d.ts +19 -0
- package/dist/cjs/server/auth/middleware/clientAuth.d.ts.map +1 -0
- package/dist/cjs/server/auth/middleware/clientAuth.js +52 -0
- package/dist/cjs/server/auth/middleware/clientAuth.js.map +1 -0
- package/dist/cjs/server/auth/provider.d.ts +68 -0
- package/dist/cjs/server/auth/provider.d.ts.map +1 -0
- package/dist/cjs/server/auth/provider.js +3 -0
- package/dist/cjs/server/auth/provider.js.map +1 -0
- package/dist/cjs/server/auth/providers/proxyProvider.d.ts +49 -0
- package/dist/cjs/server/auth/providers/proxyProvider.d.ts.map +1 -0
- package/dist/cjs/server/auth/providers/proxyProvider.js +161 -0
- package/dist/cjs/server/auth/providers/proxyProvider.js.map +1 -0
- package/dist/cjs/server/auth/router.d.ts +101 -0
- package/dist/cjs/server/auth/router.d.ts.map +1 -0
- package/dist/cjs/server/auth/router.js +125 -0
- package/dist/cjs/server/auth/router.js.map +1 -0
- package/dist/cjs/server/auth/types.d.ts +32 -0
- package/dist/cjs/server/auth/types.d.ts.map +1 -0
- package/dist/cjs/server/auth/types.js +3 -0
- package/dist/cjs/server/auth/types.js.map +1 -0
- package/dist/cjs/server/completable.d.ts +24 -0
- package/dist/cjs/server/completable.d.ts.map +1 -0
- package/dist/cjs/server/completable.js +65 -0
- package/dist/cjs/server/completable.js.map +1 -0
- package/dist/cjs/server/index.d.ts +191 -0
- package/dist/cjs/server/index.d.ts.map +1 -0
- package/dist/cjs/server/index.js +259 -0
- package/dist/cjs/server/index.js.map +1 -0
- package/dist/cjs/server/mcp.d.ts +331 -0
- package/dist/cjs/server/mcp.d.ts.map +1 -0
- package/dist/cjs/server/mcp.js +706 -0
- package/dist/cjs/server/mcp.js.map +1 -0
- package/dist/cjs/server/sse.d.ts +76 -0
- package/dist/cjs/server/sse.d.ts.map +1 -0
- package/dist/cjs/server/sse.js +168 -0
- package/dist/cjs/server/sse.js.map +1 -0
- package/dist/cjs/server/stdio.d.ts +28 -0
- package/dist/cjs/server/stdio.d.ts.map +1 -0
- package/dist/cjs/server/stdio.js +85 -0
- package/dist/cjs/server/stdio.js.map +1 -0
- package/dist/cjs/server/streamableHttp.d.ts +185 -0
- package/dist/cjs/server/streamableHttp.d.ts.map +1 -0
- package/dist/cjs/server/streamableHttp.js +631 -0
- package/dist/cjs/server/streamableHttp.js.map +1 -0
- package/dist/cjs/server.d.ts +3 -0
- package/dist/cjs/server.d.ts.map +1 -0
- package/dist/cjs/server.js +9 -0
- package/dist/cjs/server.js.map +1 -0
- package/dist/cjs/services/x32-connection.d.ts +87 -0
- package/dist/cjs/services/x32-connection.d.ts.map +1 -0
- package/dist/cjs/services/x32-connection.js +287 -0
- package/dist/cjs/services/x32-connection.js.map +1 -0
- package/dist/cjs/shared/auth-utils.d.ts +23 -0
- package/dist/cjs/shared/auth-utils.d.ts.map +1 -0
- package/dist/cjs/shared/auth-utils.js +48 -0
- package/dist/cjs/shared/auth-utils.js.map +1 -0
- package/dist/cjs/shared/auth.d.ts +626 -0
- package/dist/cjs/shared/auth.d.ts.map +1 -0
- package/dist/cjs/shared/auth.js +203 -0
- package/dist/cjs/shared/auth.js.map +1 -0
- package/dist/cjs/shared/metadataUtils.d.ts +16 -0
- package/dist/cjs/shared/metadataUtils.d.ts.map +1 -0
- package/dist/cjs/shared/metadataUtils.js +26 -0
- package/dist/cjs/shared/metadataUtils.js.map +1 -0
- package/dist/cjs/shared/protocol.d.ts +230 -0
- package/dist/cjs/shared/protocol.d.ts.map +1 -0
- package/dist/cjs/shared/protocol.js +428 -0
- package/dist/cjs/shared/protocol.js.map +1 -0
- package/dist/cjs/shared/stdio.d.ts +13 -0
- package/dist/cjs/shared/stdio.d.ts.map +1 -0
- package/dist/cjs/shared/stdio.js +37 -0
- package/dist/cjs/shared/stdio.js.map +1 -0
- package/dist/cjs/shared/toolNameValidation.d.ts +31 -0
- package/dist/cjs/shared/toolNameValidation.d.ts.map +1 -0
- package/dist/cjs/shared/toolNameValidation.js +97 -0
- package/dist/cjs/shared/toolNameValidation.js.map +1 -0
- package/dist/cjs/shared/transport.d.ts +75 -0
- package/dist/cjs/shared/transport.d.ts.map +1 -0
- package/dist/cjs/shared/transport.js +3 -0
- package/dist/cjs/shared/transport.js.map +1 -0
- package/dist/cjs/shared/uriTemplate.d.ts +25 -0
- package/dist/cjs/shared/uriTemplate.d.ts.map +1 -0
- package/dist/cjs/shared/uriTemplate.js +243 -0
- package/dist/cjs/shared/uriTemplate.js.map +1 -0
- package/dist/cjs/spec.types.d.ts +1687 -0
- package/dist/cjs/spec.types.d.ts.map +1 -0
- package/dist/cjs/spec.types.js +29 -0
- package/dist/cjs/spec.types.js.map +1 -0
- package/dist/cjs/tools/channel.d.ts +7 -0
- package/dist/cjs/tools/channel.d.ts.map +1 -0
- package/dist/cjs/tools/channel.js +536 -0
- package/dist/cjs/tools/channel.js.map +1 -0
- package/dist/cjs/tools/connection.d.ts +7 -0
- package/dist/cjs/tools/connection.d.ts.map +1 -0
- package/dist/cjs/tools/connection.js +230 -0
- package/dist/cjs/tools/connection.js.map +1 -0
- package/dist/cjs/tools/index.d.ts +8 -0
- package/dist/cjs/tools/index.d.ts.map +1 -0
- package/dist/cjs/tools/index.js +14 -0
- package/dist/cjs/tools/index.js.map +1 -0
- package/dist/cjs/tools/parameter.d.ts +7 -0
- package/dist/cjs/tools/parameter.d.ts.map +1 -0
- package/dist/cjs/tools/parameter.js +129 -0
- package/dist/cjs/tools/parameter.js.map +1 -0
- package/dist/cjs/types/index.d.ts +4 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js +20 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/osc.d.ts +36 -0
- package/dist/cjs/types/osc.d.ts.map +1 -0
- package/dist/cjs/types/osc.js +7 -0
- package/dist/cjs/types/osc.js.map +1 -0
- package/dist/cjs/types/x32.d.ts +94 -0
- package/dist/cjs/types/x32.d.ts.map +1 -0
- package/dist/cjs/types/x32.js +3 -0
- package/dist/cjs/types/x32.js.map +1 -0
- package/dist/cjs/types.d.ts +24615 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +1434 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils/color-converter.d.ts +54 -0
- package/dist/cjs/utils/color-converter.d.ts.map +1 -0
- package/dist/cjs/utils/color-converter.js +86 -0
- package/dist/cjs/utils/color-converter.js.map +1 -0
- package/dist/cjs/utils/db-converter.d.ts +58 -0
- package/dist/cjs/utils/db-converter.d.ts.map +1 -0
- package/dist/cjs/utils/db-converter.js +150 -0
- package/dist/cjs/utils/db-converter.js.map +1 -0
- package/dist/cjs/utils/pan-converter.d.ts +56 -0
- package/dist/cjs/utils/pan-converter.d.ts.map +1 -0
- package/dist/cjs/utils/pan-converter.js +135 -0
- package/dist/cjs/utils/pan-converter.js.map +1 -0
- package/dist/cjs/validation/ajv-provider.d.ts +53 -0
- package/dist/cjs/validation/ajv-provider.d.ts.map +1 -0
- package/dist/cjs/validation/ajv-provider.js +95 -0
- package/dist/cjs/validation/ajv-provider.js.map +1 -0
- package/dist/cjs/validation/cfworker-provider.d.ts +52 -0
- package/dist/cjs/validation/cfworker-provider.d.ts.map +1 -0
- package/dist/cjs/validation/cfworker-provider.js +71 -0
- package/dist/cjs/validation/cfworker-provider.js.map +1 -0
- package/dist/cjs/validation/index.d.ts +29 -0
- package/dist/cjs/validation/index.d.ts.map +1 -0
- package/dist/cjs/validation/index.js +30 -0
- package/dist/cjs/validation/index.js.map +1 -0
- package/dist/cjs/validation/types.d.ts +55 -0
- package/dist/cjs/validation/types.d.ts.map +1 -0
- package/dist/cjs/validation/types.js +3 -0
- package/dist/cjs/validation/types.js.map +1 -0
- package/dist/cjs/x32-server/index.d.ts +3 -0
- package/dist/cjs/x32-server/index.d.ts.map +1 -0
- package/dist/cjs/x32-server/index.js +73 -0
- package/dist/cjs/x32-server/index.js.map +1 -0
- package/dist/cjs/x32-server/tools/channel.tool.d.ts +8 -0
- package/dist/cjs/x32-server/tools/channel.tool.d.ts.map +1 -0
- package/dist/cjs/x32-server/tools/channel.tool.js +82 -0
- package/dist/cjs/x32-server/tools/channel.tool.js.map +1 -0
- package/dist/cjs/x32-server/tools/connect.tool.d.ts +8 -0
- package/dist/cjs/x32-server/tools/connect.tool.d.ts.map +1 -0
- package/dist/cjs/x32-server/tools/connect.tool.js +54 -0
- package/dist/cjs/x32-server/tools/connect.tool.js.map +1 -0
- package/dist/cjs/x32-server/tools/get-parameter.tool.d.ts +8 -0
- package/dist/cjs/x32-server/tools/get-parameter.tool.d.ts.map +1 -0
- package/dist/cjs/x32-server/tools/get-parameter.tool.js +54 -0
- package/dist/cjs/x32-server/tools/get-parameter.tool.js.map +1 -0
- package/dist/cjs/x32-server/tools/index.d.ts +11 -0
- package/dist/cjs/x32-server/tools/index.d.ts.map +1 -0
- package/dist/cjs/x32-server/tools/index.js +20 -0
- package/dist/cjs/x32-server/tools/index.js.map +1 -0
- package/dist/cjs/x32-server/tools/info.tool.d.ts +8 -0
- package/dist/cjs/x32-server/tools/info.tool.d.ts.map +1 -0
- package/dist/cjs/x32-server/tools/info.tool.js +57 -0
- package/dist/cjs/x32-server/tools/info.tool.js.map +1 -0
- package/dist/cjs/x32-server/tools/set-parameter.tool.d.ts +8 -0
- package/dist/cjs/x32-server/tools/set-parameter.tool.d.ts.map +1 -0
- package/dist/cjs/x32-server/tools/set-parameter.tool.js +55 -0
- package/dist/cjs/x32-server/tools/set-parameter.tool.js.map +1 -0
- package/dist/cjs/x32-server/tools/status.tool.d.ts +8 -0
- package/dist/cjs/x32-server/tools/status.tool.d.ts.map +1 -0
- package/dist/cjs/x32-server/tools/status.tool.js +52 -0
- package/dist/cjs/x32-server/tools/status.tool.js.map +1 -0
- package/dist/cjs/x32-server/types.d.ts +94 -0
- package/dist/cjs/x32-server/types.d.ts.map +1 -0
- package/dist/cjs/x32-server/types.js +3 -0
- package/dist/cjs/x32-server/types.js.map +1 -0
- package/dist/cjs/x32-server/x32-connection.d.ts +87 -0
- package/dist/cjs/x32-server/x32-connection.d.ts.map +1 -0
- package/dist/cjs/x32-server/x32-connection.js +277 -0
- package/dist/cjs/x32-server/x32-connection.js.map +1 -0
- package/dist/esm/client/auth.d.ts +270 -0
- package/dist/esm/client/auth.d.ts.map +1 -0
- package/dist/esm/client/auth.js +726 -0
- package/dist/esm/client/auth.js.map +1 -0
- package/dist/esm/client/index.d.ts +913 -0
- package/dist/esm/client/index.d.ts.map +1 -0
- package/dist/esm/client/index.js +363 -0
- package/dist/esm/client/index.js.map +1 -0
- package/dist/esm/client/middleware.d.ts +169 -0
- package/dist/esm/client/middleware.d.ts.map +1 -0
- package/dist/esm/client/middleware.js +245 -0
- package/dist/esm/client/middleware.js.map +1 -0
- package/dist/esm/client/sse.d.ts +80 -0
- package/dist/esm/client/sse.d.ts.map +1 -0
- package/dist/esm/client/sse.js +206 -0
- package/dist/esm/client/sse.js.map +1 -0
- package/dist/esm/client/stdio.d.ts +78 -0
- package/dist/esm/client/stdio.d.ts.map +1 -0
- package/dist/esm/client/stdio.js +176 -0
- package/dist/esm/client/stdio.js.map +1 -0
- package/dist/esm/client/streamableHttp.d.ts +158 -0
- package/dist/esm/client/streamableHttp.d.ts.map +1 -0
- package/dist/esm/client/streamableHttp.js +401 -0
- package/dist/esm/client/streamableHttp.js.map +1 -0
- package/dist/esm/client/websocket.d.ts +17 -0
- package/dist/esm/client/websocket.d.ts.map +1 -0
- package/dist/esm/client/websocket.js +59 -0
- package/dist/esm/client/websocket.js.map +1 -0
- package/dist/esm/examples/client/multipleClientsParallel.d.ts +2 -0
- package/dist/esm/examples/client/multipleClientsParallel.d.ts.map +1 -0
- package/dist/esm/examples/client/multipleClientsParallel.js +132 -0
- package/dist/esm/examples/client/multipleClientsParallel.js.map +1 -0
- package/dist/esm/examples/client/parallelToolCallsClient.d.ts +2 -0
- package/dist/esm/examples/client/parallelToolCallsClient.d.ts.map +1 -0
- package/dist/esm/examples/client/parallelToolCallsClient.js +174 -0
- package/dist/esm/examples/client/parallelToolCallsClient.js.map +1 -0
- package/dist/esm/examples/client/simpleOAuthClient.d.ts +3 -0
- package/dist/esm/examples/client/simpleOAuthClient.d.ts.map +1 -0
- package/dist/esm/examples/client/simpleOAuthClient.js +374 -0
- package/dist/esm/examples/client/simpleOAuthClient.js.map +1 -0
- package/dist/esm/examples/client/simpleStreamableHttp.d.ts +2 -0
- package/dist/esm/examples/client/simpleStreamableHttp.d.ts.map +1 -0
- package/dist/esm/examples/client/simpleStreamableHttp.js +742 -0
- package/dist/esm/examples/client/simpleStreamableHttp.js.map +1 -0
- package/dist/esm/examples/client/streamableHttpWithSseFallbackClient.d.ts +2 -0
- package/dist/esm/examples/client/streamableHttpWithSseFallbackClient.d.ts.map +1 -0
- package/dist/esm/examples/client/streamableHttpWithSseFallbackClient.js +166 -0
- package/dist/esm/examples/client/streamableHttpWithSseFallbackClient.js.map +1 -0
- package/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts +78 -0
- package/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -0
- package/dist/esm/examples/server/demoInMemoryOAuthProvider.js +180 -0
- package/dist/esm/examples/server/demoInMemoryOAuthProvider.js.map +1 -0
- package/dist/esm/examples/server/elicitationExample.d.ts +2 -0
- package/dist/esm/examples/server/elicitationExample.d.ts.map +1 -0
- package/dist/esm/examples/server/elicitationExample.js +430 -0
- package/dist/esm/examples/server/elicitationExample.js.map +1 -0
- package/dist/esm/examples/server/jsonResponseStreamableHttp.d.ts +2 -0
- package/dist/esm/examples/server/jsonResponseStreamableHttp.d.ts.map +1 -0
- package/dist/esm/examples/server/jsonResponseStreamableHttp.js +147 -0
- package/dist/esm/examples/server/jsonResponseStreamableHttp.js.map +1 -0
- package/dist/esm/examples/server/mcpServerOutputSchema.d.ts +7 -0
- package/dist/esm/examples/server/mcpServerOutputSchema.d.ts.map +1 -0
- package/dist/esm/examples/server/mcpServerOutputSchema.js +70 -0
- package/dist/esm/examples/server/mcpServerOutputSchema.js.map +1 -0
- package/dist/esm/examples/server/simpleSseServer.d.ts +2 -0
- package/dist/esm/examples/server/simpleSseServer.d.ts.map +1 -0
- package/dist/esm/examples/server/simpleSseServer.js +141 -0
- package/dist/esm/examples/server/simpleSseServer.js.map +1 -0
- package/dist/esm/examples/server/simpleStatelessStreamableHttp.d.ts +2 -0
- package/dist/esm/examples/server/simpleStatelessStreamableHttp.d.ts.map +1 -0
- package/dist/esm/examples/server/simpleStatelessStreamableHttp.js +142 -0
- package/dist/esm/examples/server/simpleStatelessStreamableHttp.js.map +1 -0
- package/dist/esm/examples/server/simpleStreamableHttp.d.ts +2 -0
- package/dist/esm/examples/server/simpleStreamableHttp.d.ts.map +1 -0
- package/dist/esm/examples/server/simpleStreamableHttp.js +582 -0
- package/dist/esm/examples/server/simpleStreamableHttp.js.map +1 -0
- package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.d.ts +2 -0
- package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.d.ts.map +1 -0
- package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js +235 -0
- package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -0
- package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.d.ts +2 -0
- package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.d.ts.map +1 -0
- package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js +111 -0
- package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -0
- package/dist/esm/examples/server/toolWithSampleServer.d.ts +2 -0
- package/dist/esm/examples/server/toolWithSampleServer.d.ts.map +1 -0
- package/dist/esm/examples/server/toolWithSampleServer.js +47 -0
- package/dist/esm/examples/server/toolWithSampleServer.js.map +1 -0
- package/dist/esm/examples/shared/inMemoryEventStore.d.ts +31 -0
- package/dist/esm/examples/shared/inMemoryEventStore.d.ts.map +1 -0
- package/dist/esm/examples/shared/inMemoryEventStore.js +65 -0
- package/dist/esm/examples/shared/inMemoryEventStore.js.map +1 -0
- package/dist/esm/inMemory.d.ts +31 -0
- package/dist/esm/inMemory.d.ts.map +1 -0
- package/dist/esm/inMemory.js +49 -0
- package/dist/esm/inMemory.js.map +1 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +83 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/mcp/completable.d.ts +24 -0
- package/dist/esm/mcp/completable.d.ts.map +1 -0
- package/dist/esm/mcp/completable.js +60 -0
- package/dist/esm/mcp/completable.js.map +1 -0
- package/dist/esm/mcp/index.d.ts +124 -0
- package/dist/esm/mcp/index.d.ts.map +1 -0
- package/dist/esm/mcp/index.js +255 -0
- package/dist/esm/mcp/index.js.map +1 -0
- package/dist/esm/mcp/mcp.d.ts +331 -0
- package/dist/esm/mcp/mcp.d.ts.map +1 -0
- package/dist/esm/mcp/mcp.js +701 -0
- package/dist/esm/mcp/mcp.js.map +1 -0
- package/dist/esm/mcp/shared/metadataUtils.d.ts +16 -0
- package/dist/esm/mcp/shared/metadataUtils.d.ts.map +1 -0
- package/dist/esm/mcp/shared/metadataUtils.js +23 -0
- package/dist/esm/mcp/shared/metadataUtils.js.map +1 -0
- package/dist/esm/mcp/shared/protocol.d.ts +231 -0
- package/dist/esm/mcp/shared/protocol.d.ts.map +1 -0
- package/dist/esm/mcp/shared/protocol.js +423 -0
- package/dist/esm/mcp/shared/protocol.js.map +1 -0
- package/dist/esm/mcp/shared/stdio.d.ts +13 -0
- package/dist/esm/mcp/shared/stdio.d.ts.map +1 -0
- package/dist/esm/mcp/shared/stdio.js +31 -0
- package/dist/esm/mcp/shared/stdio.js.map +1 -0
- package/dist/esm/mcp/shared/toolNameValidation.d.ts +31 -0
- package/dist/esm/mcp/shared/toolNameValidation.d.ts.map +1 -0
- package/dist/esm/mcp/shared/toolNameValidation.js +92 -0
- package/dist/esm/mcp/shared/toolNameValidation.js.map +1 -0
- package/dist/esm/mcp/shared/transport.d.ts +75 -0
- package/dist/esm/mcp/shared/transport.d.ts.map +1 -0
- package/dist/esm/mcp/shared/transport.js +2 -0
- package/dist/esm/mcp/shared/transport.js.map +1 -0
- package/dist/esm/mcp/shared/uriTemplate.d.ts +25 -0
- package/dist/esm/mcp/shared/uriTemplate.d.ts.map +1 -0
- package/dist/esm/mcp/shared/uriTemplate.js +239 -0
- package/dist/esm/mcp/shared/uriTemplate.js.map +1 -0
- package/dist/esm/mcp/stdio.d.ts +28 -0
- package/dist/esm/mcp/stdio.d.ts.map +1 -0
- package/dist/esm/mcp/stdio.js +78 -0
- package/dist/esm/mcp/stdio.js.map +1 -0
- package/dist/esm/mcp/validation/ajv-provider.d.ts +53 -0
- package/dist/esm/mcp/validation/ajv-provider.d.ts.map +1 -0
- package/dist/esm/mcp/validation/ajv-provider.js +88 -0
- package/dist/esm/mcp/validation/ajv-provider.js.map +1 -0
- package/dist/esm/mcp/validation/index.d.ts +29 -0
- package/dist/esm/mcp/validation/index.d.ts.map +1 -0
- package/dist/esm/mcp/validation/index.js +29 -0
- package/dist/esm/mcp/validation/index.js.map +1 -0
- package/dist/esm/mcp/validation/types.d.ts +55 -0
- package/dist/esm/mcp/validation/types.d.ts.map +1 -0
- package/dist/esm/mcp/validation/types.js +2 -0
- package/dist/esm/mcp/validation/types.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/server/auth/clients.d.ts +19 -0
- package/dist/esm/server/auth/clients.d.ts.map +1 -0
- package/dist/esm/server/auth/clients.js +2 -0
- package/dist/esm/server/auth/clients.js.map +1 -0
- package/dist/esm/server/auth/errors.d.ts +141 -0
- package/dist/esm/server/auth/errors.d.ts.map +1 -0
- package/dist/esm/server/auth/errors.js +172 -0
- package/dist/esm/server/auth/errors.js.map +1 -0
- package/dist/esm/server/auth/handlers/authorize.d.ts +13 -0
- package/dist/esm/server/auth/handlers/authorize.d.ts.map +1 -0
- package/dist/esm/server/auth/handlers/authorize.js +138 -0
- package/dist/esm/server/auth/handlers/authorize.js.map +1 -0
- package/dist/esm/server/auth/handlers/metadata.d.ts +4 -0
- package/dist/esm/server/auth/handlers/metadata.d.ts.map +1 -0
- package/dist/esm/server/auth/handlers/metadata.js +15 -0
- package/dist/esm/server/auth/handlers/metadata.js.map +1 -0
- package/dist/esm/server/auth/handlers/register.d.ts +29 -0
- package/dist/esm/server/auth/handlers/register.d.ts.map +1 -0
- package/dist/esm/server/auth/handlers/register.js +71 -0
- package/dist/esm/server/auth/handlers/register.js.map +1 -0
- package/dist/esm/server/auth/handlers/revoke.d.ts +13 -0
- package/dist/esm/server/auth/handlers/revoke.d.ts.map +1 -0
- package/dist/esm/server/auth/handlers/revoke.js +59 -0
- package/dist/esm/server/auth/handlers/revoke.js.map +1 -0
- package/dist/esm/server/auth/handlers/token.d.ts +13 -0
- package/dist/esm/server/auth/handlers/token.d.ts.map +1 -0
- package/dist/esm/server/auth/handlers/token.js +107 -0
- package/dist/esm/server/auth/handlers/token.js.map +1 -0
- package/dist/esm/server/auth/middleware/allowedMethods.d.ts +9 -0
- package/dist/esm/server/auth/middleware/allowedMethods.d.ts.map +1 -0
- package/dist/esm/server/auth/middleware/allowedMethods.js +18 -0
- package/dist/esm/server/auth/middleware/allowedMethods.js.map +1 -0
- package/dist/esm/server/auth/middleware/bearerAuth.d.ts +35 -0
- package/dist/esm/server/auth/middleware/bearerAuth.d.ts.map +1 -0
- package/dist/esm/server/auth/middleware/bearerAuth.js +67 -0
- package/dist/esm/server/auth/middleware/bearerAuth.js.map +1 -0
- package/dist/esm/server/auth/middleware/clientAuth.d.ts +19 -0
- package/dist/esm/server/auth/middleware/clientAuth.d.ts.map +1 -0
- package/dist/esm/server/auth/middleware/clientAuth.js +49 -0
- package/dist/esm/server/auth/middleware/clientAuth.js.map +1 -0
- package/dist/esm/server/auth/provider.d.ts +68 -0
- package/dist/esm/server/auth/provider.d.ts.map +1 -0
- package/dist/esm/server/auth/provider.js +2 -0
- package/dist/esm/server/auth/provider.js.map +1 -0
- package/dist/esm/server/auth/providers/proxyProvider.d.ts +49 -0
- package/dist/esm/server/auth/providers/proxyProvider.d.ts.map +1 -0
- package/dist/esm/server/auth/providers/proxyProvider.js +157 -0
- package/dist/esm/server/auth/providers/proxyProvider.js.map +1 -0
- package/dist/esm/server/auth/router.d.ts +101 -0
- package/dist/esm/server/auth/router.d.ts.map +1 -0
- package/dist/esm/server/auth/router.js +115 -0
- package/dist/esm/server/auth/router.js.map +1 -0
- package/dist/esm/server/auth/types.d.ts +32 -0
- package/dist/esm/server/auth/types.d.ts.map +1 -0
- package/dist/esm/server/auth/types.js +2 -0
- package/dist/esm/server/auth/types.js.map +1 -0
- package/dist/esm/server/completable.d.ts +24 -0
- package/dist/esm/server/completable.d.ts.map +1 -0
- package/dist/esm/server/completable.js +60 -0
- package/dist/esm/server/completable.js.map +1 -0
- package/dist/esm/server/index.d.ts +191 -0
- package/dist/esm/server/index.d.ts.map +1 -0
- package/dist/esm/server/index.js +255 -0
- package/dist/esm/server/index.js.map +1 -0
- package/dist/esm/server/mcp.d.ts +331 -0
- package/dist/esm/server/mcp.d.ts.map +1 -0
- package/dist/esm/server/mcp.js +701 -0
- package/dist/esm/server/mcp.js.map +1 -0
- package/dist/esm/server/sse.d.ts +76 -0
- package/dist/esm/server/sse.d.ts.map +1 -0
- package/dist/esm/server/sse.js +161 -0
- package/dist/esm/server/sse.js.map +1 -0
- package/dist/esm/server/stdio.d.ts +28 -0
- package/dist/esm/server/stdio.d.ts.map +1 -0
- package/dist/esm/server/stdio.js +78 -0
- package/dist/esm/server/stdio.js.map +1 -0
- package/dist/esm/server/streamableHttp.d.ts +185 -0
- package/dist/esm/server/streamableHttp.d.ts.map +1 -0
- package/dist/esm/server/streamableHttp.js +624 -0
- package/dist/esm/server/streamableHttp.js.map +1 -0
- package/dist/esm/server.d.ts +3 -0
- package/dist/esm/server.d.ts.map +1 -0
- package/dist/esm/server.js +4 -0
- package/dist/esm/server.js.map +1 -0
- package/dist/esm/services/x32-connection.d.ts +87 -0
- package/dist/esm/services/x32-connection.d.ts.map +1 -0
- package/dist/esm/services/x32-connection.js +280 -0
- package/dist/esm/services/x32-connection.js.map +1 -0
- package/dist/esm/shared/auth-utils.d.ts +23 -0
- package/dist/esm/shared/auth-utils.d.ts.map +1 -0
- package/dist/esm/shared/auth-utils.js +44 -0
- package/dist/esm/shared/auth-utils.js.map +1 -0
- package/dist/esm/shared/auth.d.ts +626 -0
- package/dist/esm/shared/auth.d.ts.map +1 -0
- package/dist/esm/shared/auth.js +200 -0
- package/dist/esm/shared/auth.js.map +1 -0
- package/dist/esm/shared/metadataUtils.d.ts +16 -0
- package/dist/esm/shared/metadataUtils.d.ts.map +1 -0
- package/dist/esm/shared/metadataUtils.js +23 -0
- package/dist/esm/shared/metadataUtils.js.map +1 -0
- package/dist/esm/shared/protocol.d.ts +230 -0
- package/dist/esm/shared/protocol.d.ts.map +1 -0
- package/dist/esm/shared/protocol.js +423 -0
- package/dist/esm/shared/protocol.js.map +1 -0
- package/dist/esm/shared/stdio.d.ts +13 -0
- package/dist/esm/shared/stdio.d.ts.map +1 -0
- package/dist/esm/shared/stdio.js +31 -0
- package/dist/esm/shared/stdio.js.map +1 -0
- package/dist/esm/shared/toolNameValidation.d.ts +31 -0
- package/dist/esm/shared/toolNameValidation.d.ts.map +1 -0
- package/dist/esm/shared/toolNameValidation.js +92 -0
- package/dist/esm/shared/toolNameValidation.js.map +1 -0
- package/dist/esm/shared/transport.d.ts +75 -0
- package/dist/esm/shared/transport.d.ts.map +1 -0
- package/dist/esm/shared/transport.js +2 -0
- package/dist/esm/shared/transport.js.map +1 -0
- package/dist/esm/shared/uriTemplate.d.ts +25 -0
- package/dist/esm/shared/uriTemplate.d.ts.map +1 -0
- package/dist/esm/shared/uriTemplate.js +239 -0
- package/dist/esm/shared/uriTemplate.js.map +1 -0
- package/dist/esm/spec.types.d.ts +1429 -0
- package/dist/esm/spec.types.d.ts.map +1 -0
- package/dist/esm/spec.types.js +17 -0
- package/dist/esm/spec.types.js.map +1 -0
- package/dist/esm/src/index.d.ts +3 -0
- package/dist/esm/src/index.d.ts.map +1 -0
- package/dist/esm/src/index.js +68 -0
- package/dist/esm/src/index.js.map +1 -0
- package/dist/esm/src/mcp/completable.d.ts +24 -0
- package/dist/esm/src/mcp/completable.d.ts.map +1 -0
- package/dist/esm/src/mcp/completable.js +60 -0
- package/dist/esm/src/mcp/completable.js.map +1 -0
- package/dist/esm/src/mcp/index.d.ts +124 -0
- package/dist/esm/src/mcp/index.d.ts.map +1 -0
- package/dist/esm/src/mcp/index.js +255 -0
- package/dist/esm/src/mcp/index.js.map +1 -0
- package/dist/esm/src/mcp/mcp.d.ts +331 -0
- package/dist/esm/src/mcp/mcp.d.ts.map +1 -0
- package/dist/esm/src/mcp/mcp.js +701 -0
- package/dist/esm/src/mcp/mcp.js.map +1 -0
- package/dist/esm/src/mcp/shared/metadataUtils.d.ts +16 -0
- package/dist/esm/src/mcp/shared/metadataUtils.d.ts.map +1 -0
- package/dist/esm/src/mcp/shared/metadataUtils.js +23 -0
- package/dist/esm/src/mcp/shared/metadataUtils.js.map +1 -0
- package/dist/esm/src/mcp/shared/protocol.d.ts +231 -0
- package/dist/esm/src/mcp/shared/protocol.d.ts.map +1 -0
- package/dist/esm/src/mcp/shared/protocol.js +423 -0
- package/dist/esm/src/mcp/shared/protocol.js.map +1 -0
- package/dist/esm/src/mcp/shared/stdio.d.ts +13 -0
- package/dist/esm/src/mcp/shared/stdio.d.ts.map +1 -0
- package/dist/esm/src/mcp/shared/stdio.js +31 -0
- package/dist/esm/src/mcp/shared/stdio.js.map +1 -0
- package/dist/esm/src/mcp/shared/toolNameValidation.d.ts +31 -0
- package/dist/esm/src/mcp/shared/toolNameValidation.d.ts.map +1 -0
- package/dist/esm/src/mcp/shared/toolNameValidation.js +92 -0
- package/dist/esm/src/mcp/shared/toolNameValidation.js.map +1 -0
- package/dist/esm/src/mcp/shared/transport.d.ts +75 -0
- package/dist/esm/src/mcp/shared/transport.d.ts.map +1 -0
- package/dist/esm/src/mcp/shared/transport.js +2 -0
- package/dist/esm/src/mcp/shared/transport.js.map +1 -0
- package/dist/esm/src/mcp/shared/uriTemplate.d.ts +25 -0
- package/dist/esm/src/mcp/shared/uriTemplate.d.ts.map +1 -0
- package/dist/esm/src/mcp/shared/uriTemplate.js +239 -0
- package/dist/esm/src/mcp/shared/uriTemplate.js.map +1 -0
- package/dist/esm/src/mcp/stdio.d.ts +28 -0
- package/dist/esm/src/mcp/stdio.d.ts.map +1 -0
- package/dist/esm/src/mcp/stdio.js +78 -0
- package/dist/esm/src/mcp/stdio.js.map +1 -0
- package/dist/esm/src/mcp/validation/ajv-provider.d.ts +53 -0
- package/dist/esm/src/mcp/validation/ajv-provider.d.ts.map +1 -0
- package/dist/esm/src/mcp/validation/ajv-provider.js +88 -0
- package/dist/esm/src/mcp/validation/ajv-provider.js.map +1 -0
- package/dist/esm/src/mcp/validation/index.d.ts +29 -0
- package/dist/esm/src/mcp/validation/index.d.ts.map +1 -0
- package/dist/esm/src/mcp/validation/index.js +29 -0
- package/dist/esm/src/mcp/validation/index.js.map +1 -0
- package/dist/esm/src/mcp/validation/types.d.ts +55 -0
- package/dist/esm/src/mcp/validation/types.d.ts.map +1 -0
- package/dist/esm/src/mcp/validation/types.js +2 -0
- package/dist/esm/src/mcp/validation/types.js.map +1 -0
- package/dist/esm/src/server.d.ts +3 -0
- package/dist/esm/src/server.d.ts.map +1 -0
- package/dist/esm/src/server.js +4 -0
- package/dist/esm/src/server.js.map +1 -0
- package/dist/esm/src/services/x32-connection.d.ts +87 -0
- package/dist/esm/src/services/x32-connection.d.ts.map +1 -0
- package/dist/esm/src/services/x32-connection.js +279 -0
- package/dist/esm/src/services/x32-connection.js.map +1 -0
- package/dist/esm/src/tools/channel.d.ts +7 -0
- package/dist/esm/src/tools/channel.d.ts.map +1 -0
- package/dist/esm/src/tools/channel.js +441 -0
- package/dist/esm/src/tools/channel.js.map +1 -0
- package/dist/esm/src/tools/connection.d.ts +7 -0
- package/dist/esm/src/tools/connection.d.ts.map +1 -0
- package/dist/esm/src/tools/connection.js +227 -0
- package/dist/esm/src/tools/connection.js.map +1 -0
- package/dist/esm/src/tools/index.d.ts +8 -0
- package/dist/esm/src/tools/index.d.ts.map +1 -0
- package/dist/esm/src/tools/index.js +8 -0
- package/dist/esm/src/tools/index.js.map +1 -0
- package/dist/esm/src/tools/parameter.d.ts +7 -0
- package/dist/esm/src/tools/parameter.d.ts.map +1 -0
- package/dist/esm/src/tools/parameter.js +120 -0
- package/dist/esm/src/tools/parameter.js.map +1 -0
- package/dist/esm/src/types/index.d.ts +4 -0
- package/dist/esm/src/types/index.d.ts.map +1 -0
- package/dist/esm/src/types/index.js +4 -0
- package/dist/esm/src/types/index.js.map +1 -0
- package/dist/esm/src/types/osc.d.ts +35 -0
- package/dist/esm/src/types/osc.d.ts.map +1 -0
- package/dist/esm/src/types/osc.js +6 -0
- package/dist/esm/src/types/osc.js.map +1 -0
- package/dist/esm/src/types/x32.d.ts +94 -0
- package/dist/esm/src/types/x32.d.ts.map +1 -0
- package/dist/esm/src/types/x32.js +2 -0
- package/dist/esm/src/types/x32.js.map +1 -0
- package/dist/esm/tools/channel.d.ts +7 -0
- package/dist/esm/tools/channel.d.ts.map +1 -0
- package/dist/esm/tools/channel.js +533 -0
- package/dist/esm/tools/channel.js.map +1 -0
- package/dist/esm/tools/channel.tool.d.ts +8 -0
- package/dist/esm/tools/channel.tool.d.ts.map +1 -0
- package/dist/esm/tools/channel.tool.js +79 -0
- package/dist/esm/tools/channel.tool.js.map +1 -0
- package/dist/esm/tools/connect.tool.d.ts +8 -0
- package/dist/esm/tools/connect.tool.d.ts.map +1 -0
- package/dist/esm/tools/connect.tool.js +51 -0
- package/dist/esm/tools/connect.tool.js.map +1 -0
- package/dist/esm/tools/connection.d.ts +7 -0
- package/dist/esm/tools/connection.d.ts.map +1 -0
- package/dist/esm/tools/connection.js +227 -0
- package/dist/esm/tools/connection.js.map +1 -0
- package/dist/esm/tools/get-parameter.tool.d.ts +8 -0
- package/dist/esm/tools/get-parameter.tool.d.ts.map +1 -0
- package/dist/esm/tools/get-parameter.tool.js +51 -0
- package/dist/esm/tools/get-parameter.tool.js.map +1 -0
- package/dist/esm/tools/index.d.ts +8 -0
- package/dist/esm/tools/index.d.ts.map +1 -0
- package/dist/esm/tools/index.js +8 -0
- package/dist/esm/tools/index.js.map +1 -0
- package/dist/esm/tools/info.tool.d.ts +8 -0
- package/dist/esm/tools/info.tool.d.ts.map +1 -0
- package/dist/esm/tools/info.tool.js +54 -0
- package/dist/esm/tools/info.tool.js.map +1 -0
- package/dist/esm/tools/parameter.d.ts +7 -0
- package/dist/esm/tools/parameter.d.ts.map +1 -0
- package/dist/esm/tools/parameter.js +126 -0
- package/dist/esm/tools/parameter.js.map +1 -0
- package/dist/esm/tools/set-parameter.tool.d.ts +8 -0
- package/dist/esm/tools/set-parameter.tool.d.ts.map +1 -0
- package/dist/esm/tools/set-parameter.tool.js +52 -0
- package/dist/esm/tools/set-parameter.tool.js.map +1 -0
- package/dist/esm/tools/status.tool.d.ts +8 -0
- package/dist/esm/tools/status.tool.d.ts.map +1 -0
- package/dist/esm/tools/status.tool.js +49 -0
- package/dist/esm/tools/status.tool.js.map +1 -0
- package/dist/esm/types/index.d.ts +4 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +4 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/osc.d.ts +36 -0
- package/dist/esm/types/osc.d.ts.map +1 -0
- package/dist/esm/types/osc.js +6 -0
- package/dist/esm/types/osc.js.map +1 -0
- package/dist/esm/types/x32.d.ts +94 -0
- package/dist/esm/types/x32.d.ts.map +1 -0
- package/dist/esm/types/x32.js +2 -0
- package/dist/esm/types/x32.js.map +1 -0
- package/dist/esm/types.d.ts +24615 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +1420 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/color-converter.d.ts +54 -0
- package/dist/esm/utils/color-converter.d.ts.map +1 -0
- package/dist/esm/utils/color-converter.js +79 -0
- package/dist/esm/utils/color-converter.js.map +1 -0
- package/dist/esm/utils/db-converter.d.ts +58 -0
- package/dist/esm/utils/db-converter.d.ts.map +1 -0
- package/dist/esm/utils/db-converter.js +143 -0
- package/dist/esm/utils/db-converter.js.map +1 -0
- package/dist/esm/utils/pan-converter.d.ts +56 -0
- package/dist/esm/utils/pan-converter.d.ts.map +1 -0
- package/dist/esm/utils/pan-converter.js +127 -0
- package/dist/esm/utils/pan-converter.js.map +1 -0
- package/dist/esm/validation/ajv-provider.d.ts +53 -0
- package/dist/esm/validation/ajv-provider.d.ts.map +1 -0
- package/dist/esm/validation/ajv-provider.js +88 -0
- package/dist/esm/validation/ajv-provider.js.map +1 -0
- package/dist/esm/validation/cfworker-provider.d.ts +52 -0
- package/dist/esm/validation/cfworker-provider.d.ts.map +1 -0
- package/dist/esm/validation/cfworker-provider.js +67 -0
- package/dist/esm/validation/cfworker-provider.js.map +1 -0
- package/dist/esm/validation/index.d.ts +29 -0
- package/dist/esm/validation/index.d.ts.map +1 -0
- package/dist/esm/validation/index.js +29 -0
- package/dist/esm/validation/index.js.map +1 -0
- package/dist/esm/validation/types.d.ts +55 -0
- package/dist/esm/validation/types.d.ts.map +1 -0
- package/dist/esm/validation/types.js +2 -0
- package/dist/esm/validation/types.js.map +1 -0
- package/dist/esm/x32-server/index.d.ts +3 -0
- package/dist/esm/x32-server/index.d.ts.map +1 -0
- package/dist/esm/x32-server/index.js +71 -0
- package/dist/esm/x32-server/index.js.map +1 -0
- package/dist/esm/x32-server/tools/channel.tool.d.ts +8 -0
- package/dist/esm/x32-server/tools/channel.tool.d.ts.map +1 -0
- package/dist/esm/x32-server/tools/channel.tool.js +79 -0
- package/dist/esm/x32-server/tools/channel.tool.js.map +1 -0
- package/dist/esm/x32-server/tools/connect.tool.d.ts +8 -0
- package/dist/esm/x32-server/tools/connect.tool.d.ts.map +1 -0
- package/dist/esm/x32-server/tools/connect.tool.js +51 -0
- package/dist/esm/x32-server/tools/connect.tool.js.map +1 -0
- package/dist/esm/x32-server/tools/get-parameter.tool.d.ts +8 -0
- package/dist/esm/x32-server/tools/get-parameter.tool.d.ts.map +1 -0
- package/dist/esm/x32-server/tools/get-parameter.tool.js +51 -0
- package/dist/esm/x32-server/tools/get-parameter.tool.js.map +1 -0
- package/dist/esm/x32-server/tools/index.d.ts +11 -0
- package/dist/esm/x32-server/tools/index.d.ts.map +1 -0
- package/dist/esm/x32-server/tools/index.js +11 -0
- package/dist/esm/x32-server/tools/index.js.map +1 -0
- package/dist/esm/x32-server/tools/info.tool.d.ts +8 -0
- package/dist/esm/x32-server/tools/info.tool.d.ts.map +1 -0
- package/dist/esm/x32-server/tools/info.tool.js +54 -0
- package/dist/esm/x32-server/tools/info.tool.js.map +1 -0
- package/dist/esm/x32-server/tools/set-parameter.tool.d.ts +8 -0
- package/dist/esm/x32-server/tools/set-parameter.tool.d.ts.map +1 -0
- package/dist/esm/x32-server/tools/set-parameter.tool.js +52 -0
- package/dist/esm/x32-server/tools/set-parameter.tool.js.map +1 -0
- package/dist/esm/x32-server/tools/status.tool.d.ts +8 -0
- package/dist/esm/x32-server/tools/status.tool.d.ts.map +1 -0
- package/dist/esm/x32-server/tools/status.tool.js +49 -0
- package/dist/esm/x32-server/tools/status.tool.js.map +1 -0
- package/dist/esm/x32-server/types.d.ts +94 -0
- package/dist/esm/x32-server/types.d.ts.map +1 -0
- package/dist/esm/x32-server/types.js +2 -0
- package/dist/esm/x32-server/types.js.map +1 -0
- package/dist/esm/x32-server/x32-connection.d.ts +87 -0
- package/dist/esm/x32-server/x32-connection.d.ts.map +1 -0
- package/dist/esm/x32-server/x32-connection.js +270 -0
- package/dist/esm/x32-server/x32-connection.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +81 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/completable.d.ts +24 -0
- package/dist/mcp/completable.d.ts.map +1 -0
- package/dist/mcp/completable.js +59 -0
- package/dist/mcp/completable.js.map +1 -0
- package/dist/mcp/index.d.ts +124 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +262 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/mcp.d.ts +331 -0
- package/dist/mcp/mcp.d.ts.map +1 -0
- package/dist/mcp/mcp.js +706 -0
- package/dist/mcp/mcp.js.map +1 -0
- package/dist/mcp/shared/metadataUtils.d.ts +16 -0
- package/dist/mcp/shared/metadataUtils.d.ts.map +1 -0
- package/dist/mcp/shared/metadataUtils.js +22 -0
- package/dist/mcp/shared/metadataUtils.js.map +1 -0
- package/dist/mcp/shared/protocol.d.ts +231 -0
- package/dist/mcp/shared/protocol.d.ts.map +1 -0
- package/dist/mcp/shared/protocol.js +436 -0
- package/dist/mcp/shared/protocol.js.map +1 -0
- package/dist/mcp/shared/stdio.d.ts +13 -0
- package/dist/mcp/shared/stdio.d.ts.map +1 -0
- package/dist/mcp/shared/stdio.js +32 -0
- package/dist/mcp/shared/stdio.js.map +1 -0
- package/dist/mcp/shared/toolNameValidation.d.ts +31 -0
- package/dist/mcp/shared/toolNameValidation.d.ts.map +1 -0
- package/dist/mcp/shared/toolNameValidation.js +92 -0
- package/dist/mcp/shared/toolNameValidation.js.map +1 -0
- package/dist/mcp/shared/transport.d.ts +75 -0
- package/dist/mcp/shared/transport.d.ts.map +1 -0
- package/dist/mcp/shared/transport.js +2 -0
- package/dist/mcp/shared/transport.js.map +1 -0
- package/dist/mcp/shared/uriTemplate.d.ts +25 -0
- package/dist/mcp/shared/uriTemplate.d.ts.map +1 -0
- package/dist/mcp/shared/uriTemplate.js +241 -0
- package/dist/mcp/shared/uriTemplate.js.map +1 -0
- package/dist/mcp/stdio.d.ts +28 -0
- package/dist/mcp/stdio.d.ts.map +1 -0
- package/dist/mcp/stdio.js +80 -0
- package/dist/mcp/stdio.js.map +1 -0
- package/dist/mcp/validation/ajv-provider.d.ts +53 -0
- package/dist/mcp/validation/ajv-provider.d.ts.map +1 -0
- package/dist/mcp/validation/ajv-provider.js +88 -0
- package/dist/mcp/validation/ajv-provider.js.map +1 -0
- package/dist/mcp/validation/index.d.ts +29 -0
- package/dist/mcp/validation/index.d.ts.map +1 -0
- package/dist/mcp/validation/index.js +29 -0
- package/dist/mcp/validation/index.js.map +1 -0
- package/dist/mcp/validation/types.d.ts +55 -0
- package/dist/mcp/validation/types.d.ts.map +1 -0
- package/dist/mcp/validation/types.js +2 -0
- package/dist/mcp/validation/types.js.map +1 -0
- package/dist/server.d.ts +3 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +4 -0
- package/dist/server.js.map +1 -0
- package/dist/services/x32-connection.d.ts +87 -0
- package/dist/services/x32-connection.d.ts.map +1 -0
- package/dist/services/x32-connection.js +279 -0
- package/dist/services/x32-connection.js.map +1 -0
- package/dist/simple-server.d.ts +3 -0
- package/dist/simple-server.d.ts.map +1 -0
- package/dist/simple-server.js +243 -0
- package/dist/simple-server.js.map +1 -0
- package/dist/tools/channel.d.ts +7 -0
- package/dist/tools/channel.d.ts.map +1 -0
- package/dist/tools/channel.js +534 -0
- package/dist/tools/channel.js.map +1 -0
- package/dist/tools/connection.d.ts +7 -0
- package/dist/tools/connection.d.ts.map +1 -0
- package/dist/tools/connection.js +227 -0
- package/dist/tools/connection.js.map +1 -0
- package/dist/tools/index.d.ts +8 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +8 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/parameter.d.ts +7 -0
- package/dist/tools/parameter.d.ts.map +1 -0
- package/dist/tools/parameter.js +120 -0
- package/dist/tools/parameter.js.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/osc.d.ts +35 -0
- package/dist/types/osc.d.ts.map +1 -0
- package/dist/types/osc.js +6 -0
- package/dist/types/osc.js.map +1 -0
- package/dist/types/x32.d.ts +94 -0
- package/dist/types/x32.d.ts.map +1 -0
- package/dist/types/x32.js +2 -0
- package/dist/types/x32.js.map +1 -0
- package/dist/utils/color-converter.d.ts +54 -0
- package/dist/utils/color-converter.d.ts.map +1 -0
- package/dist/utils/color-converter.js +79 -0
- package/dist/utils/color-converter.js.map +1 -0
- package/dist/utils/db-converter.d.ts +58 -0
- package/dist/utils/db-converter.d.ts.map +1 -0
- package/dist/utils/db-converter.js +143 -0
- package/dist/utils/db-converter.js.map +1 -0
- package/dist/utils/pan-converter.d.ts +56 -0
- package/dist/utils/pan-converter.d.ts.map +1 -0
- package/dist/utils/pan-converter.js +127 -0
- package/dist/utils/pan-converter.js.map +1 -0
- package/package.json +145 -0
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createMiddleware = exports.applyMiddlewares = exports.withLogging = exports.withOAuth = void 0;
|
|
4
|
+
const auth_js_1 = require("./auth.js");
|
|
5
|
+
/**
|
|
6
|
+
* Creates a fetch wrapper that handles OAuth authentication automatically.
|
|
7
|
+
*
|
|
8
|
+
* This wrapper will:
|
|
9
|
+
* - Add Authorization headers with access tokens
|
|
10
|
+
* - Handle 401 responses by attempting re-authentication
|
|
11
|
+
* - Retry the original request after successful auth
|
|
12
|
+
* - Handle OAuth errors appropriately (InvalidClientError, etc.)
|
|
13
|
+
*
|
|
14
|
+
* The baseUrl parameter is optional and defaults to using the domain from the request URL.
|
|
15
|
+
* However, you should explicitly provide baseUrl when:
|
|
16
|
+
* - Making requests to multiple subdomains (e.g., api.example.com, cdn.example.com)
|
|
17
|
+
* - Using API paths that differ from OAuth discovery paths (e.g., requesting /api/v1/data but OAuth is at /)
|
|
18
|
+
* - The OAuth server is on a different domain than your API requests
|
|
19
|
+
* - You want to ensure consistent OAuth behavior regardless of request URLs
|
|
20
|
+
*
|
|
21
|
+
* For MCP transports, set baseUrl to the same URL you pass to the transport constructor.
|
|
22
|
+
*
|
|
23
|
+
* Note: This wrapper is designed for general-purpose fetch operations.
|
|
24
|
+
* MCP transports (SSE and StreamableHTTP) already have built-in OAuth handling
|
|
25
|
+
* and should not need this wrapper.
|
|
26
|
+
*
|
|
27
|
+
* @param provider - OAuth client provider for authentication
|
|
28
|
+
* @param baseUrl - Base URL for OAuth server discovery (defaults to request URL domain)
|
|
29
|
+
* @returns A fetch middleware function
|
|
30
|
+
*/
|
|
31
|
+
const withOAuth = (provider, baseUrl) => next => {
|
|
32
|
+
return async (input, init) => {
|
|
33
|
+
const makeRequest = async () => {
|
|
34
|
+
const headers = new Headers(init === null || init === void 0 ? void 0 : init.headers);
|
|
35
|
+
// Add authorization header if tokens are available
|
|
36
|
+
const tokens = await provider.tokens();
|
|
37
|
+
if (tokens) {
|
|
38
|
+
headers.set('Authorization', `Bearer ${tokens.access_token}`);
|
|
39
|
+
}
|
|
40
|
+
return await next(input, { ...init, headers });
|
|
41
|
+
};
|
|
42
|
+
let response = await makeRequest();
|
|
43
|
+
// Handle 401 responses by attempting re-authentication
|
|
44
|
+
if (response.status === 401) {
|
|
45
|
+
try {
|
|
46
|
+
const { resourceMetadataUrl, scope } = (0, auth_js_1.extractWWWAuthenticateParams)(response);
|
|
47
|
+
// Use provided baseUrl or extract from request URL
|
|
48
|
+
const serverUrl = baseUrl || (typeof input === 'string' ? new URL(input).origin : input.origin);
|
|
49
|
+
const result = await (0, auth_js_1.auth)(provider, {
|
|
50
|
+
serverUrl,
|
|
51
|
+
resourceMetadataUrl,
|
|
52
|
+
scope,
|
|
53
|
+
fetchFn: next
|
|
54
|
+
});
|
|
55
|
+
if (result === 'REDIRECT') {
|
|
56
|
+
throw new auth_js_1.UnauthorizedError('Authentication requires user authorization - redirect initiated');
|
|
57
|
+
}
|
|
58
|
+
if (result !== 'AUTHORIZED') {
|
|
59
|
+
throw new auth_js_1.UnauthorizedError(`Authentication failed with result: ${result}`);
|
|
60
|
+
}
|
|
61
|
+
// Retry the request with fresh tokens
|
|
62
|
+
response = await makeRequest();
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
if (error instanceof auth_js_1.UnauthorizedError) {
|
|
66
|
+
throw error;
|
|
67
|
+
}
|
|
68
|
+
throw new auth_js_1.UnauthorizedError(`Failed to re-authenticate: ${error instanceof Error ? error.message : String(error)}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// If we still have a 401 after re-auth attempt, throw an error
|
|
72
|
+
if (response.status === 401) {
|
|
73
|
+
const url = typeof input === 'string' ? input : input.toString();
|
|
74
|
+
throw new auth_js_1.UnauthorizedError(`Authentication failed for ${url}`);
|
|
75
|
+
}
|
|
76
|
+
return response;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
exports.withOAuth = withOAuth;
|
|
80
|
+
/**
|
|
81
|
+
* Creates a fetch middleware that logs HTTP requests and responses.
|
|
82
|
+
*
|
|
83
|
+
* When called without arguments `withLogging()`, it uses the default logger that:
|
|
84
|
+
* - Logs successful requests (2xx) to `console.log`
|
|
85
|
+
* - Logs error responses (4xx/5xx) and network errors to `console.error`
|
|
86
|
+
* - Logs all requests regardless of status (statusLevel: 0)
|
|
87
|
+
* - Does not include request or response headers in logs
|
|
88
|
+
* - Measures and displays request duration in milliseconds
|
|
89
|
+
*
|
|
90
|
+
* Important: the default logger uses both `console.log` and `console.error` so it should not be used with
|
|
91
|
+
* `stdio` transports and applications.
|
|
92
|
+
*
|
|
93
|
+
* @param options - Logging configuration options
|
|
94
|
+
* @returns A fetch middleware function
|
|
95
|
+
*/
|
|
96
|
+
const withLogging = (options = {}) => {
|
|
97
|
+
const { logger, includeRequestHeaders = false, includeResponseHeaders = false, statusLevel = 0 } = options;
|
|
98
|
+
const defaultLogger = input => {
|
|
99
|
+
const { method, url, status, statusText, duration, requestHeaders, responseHeaders, error } = input;
|
|
100
|
+
let message = error
|
|
101
|
+
? `HTTP ${method} ${url} failed: ${error.message} (${duration}ms)`
|
|
102
|
+
: `HTTP ${method} ${url} ${status} ${statusText} (${duration}ms)`;
|
|
103
|
+
// Add headers to message if requested
|
|
104
|
+
if (includeRequestHeaders && requestHeaders) {
|
|
105
|
+
const reqHeaders = Array.from(requestHeaders.entries())
|
|
106
|
+
.map(([key, value]) => `${key}: ${value}`)
|
|
107
|
+
.join(', ');
|
|
108
|
+
message += `\n Request Headers: {${reqHeaders}}`;
|
|
109
|
+
}
|
|
110
|
+
if (includeResponseHeaders && responseHeaders) {
|
|
111
|
+
const resHeaders = Array.from(responseHeaders.entries())
|
|
112
|
+
.map(([key, value]) => `${key}: ${value}`)
|
|
113
|
+
.join(', ');
|
|
114
|
+
message += `\n Response Headers: {${resHeaders}}`;
|
|
115
|
+
}
|
|
116
|
+
if (error || status >= 400) {
|
|
117
|
+
// eslint-disable-next-line no-console
|
|
118
|
+
console.error(message);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
// eslint-disable-next-line no-console
|
|
122
|
+
console.log(message);
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
const logFn = logger || defaultLogger;
|
|
126
|
+
return next => async (input, init) => {
|
|
127
|
+
const startTime = performance.now();
|
|
128
|
+
const method = (init === null || init === void 0 ? void 0 : init.method) || 'GET';
|
|
129
|
+
const url = typeof input === 'string' ? input : input.toString();
|
|
130
|
+
const requestHeaders = includeRequestHeaders ? new Headers(init === null || init === void 0 ? void 0 : init.headers) : undefined;
|
|
131
|
+
try {
|
|
132
|
+
const response = await next(input, init);
|
|
133
|
+
const duration = performance.now() - startTime;
|
|
134
|
+
// Only log if status meets the log level threshold
|
|
135
|
+
if (response.status >= statusLevel) {
|
|
136
|
+
logFn({
|
|
137
|
+
method,
|
|
138
|
+
url,
|
|
139
|
+
status: response.status,
|
|
140
|
+
statusText: response.statusText,
|
|
141
|
+
duration,
|
|
142
|
+
requestHeaders,
|
|
143
|
+
responseHeaders: includeResponseHeaders ? response.headers : undefined
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
return response;
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
const duration = performance.now() - startTime;
|
|
150
|
+
// Always log errors regardless of log level
|
|
151
|
+
logFn({
|
|
152
|
+
method,
|
|
153
|
+
url,
|
|
154
|
+
status: 0,
|
|
155
|
+
statusText: 'Network Error',
|
|
156
|
+
duration,
|
|
157
|
+
requestHeaders,
|
|
158
|
+
error: error
|
|
159
|
+
});
|
|
160
|
+
throw error;
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
exports.withLogging = withLogging;
|
|
165
|
+
/**
|
|
166
|
+
* Composes multiple fetch middleware functions into a single middleware pipeline.
|
|
167
|
+
* Middleware are applied in the order they appear, creating a chain of handlers.
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* ```typescript
|
|
171
|
+
* // Create a middleware pipeline that handles both OAuth and logging
|
|
172
|
+
* const enhancedFetch = applyMiddlewares(
|
|
173
|
+
* withOAuth(oauthProvider, 'https://api.example.com'),
|
|
174
|
+
* withLogging({ statusLevel: 400 })
|
|
175
|
+
* )(fetch);
|
|
176
|
+
*
|
|
177
|
+
* // Use the enhanced fetch - it will handle auth and log errors
|
|
178
|
+
* const response = await enhancedFetch('https://api.example.com/data');
|
|
179
|
+
* ```
|
|
180
|
+
*
|
|
181
|
+
* @param middleware - Array of fetch middleware to compose into a pipeline
|
|
182
|
+
* @returns A single composed middleware function
|
|
183
|
+
*/
|
|
184
|
+
const applyMiddlewares = (...middleware) => {
|
|
185
|
+
return next => {
|
|
186
|
+
return middleware.reduce((handler, mw) => mw(handler), next);
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
exports.applyMiddlewares = applyMiddlewares;
|
|
190
|
+
/**
|
|
191
|
+
* Helper function to create custom fetch middleware with cleaner syntax.
|
|
192
|
+
* Provides the next handler and request details as separate parameters for easier access.
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ```typescript
|
|
196
|
+
* // Create custom authentication middleware
|
|
197
|
+
* const customAuthMiddleware = createMiddleware(async (next, input, init) => {
|
|
198
|
+
* const headers = new Headers(init?.headers);
|
|
199
|
+
* headers.set('X-Custom-Auth', 'my-token');
|
|
200
|
+
*
|
|
201
|
+
* const response = await next(input, { ...init, headers });
|
|
202
|
+
*
|
|
203
|
+
* if (response.status === 401) {
|
|
204
|
+
* console.log('Authentication failed');
|
|
205
|
+
* }
|
|
206
|
+
*
|
|
207
|
+
* return response;
|
|
208
|
+
* });
|
|
209
|
+
*
|
|
210
|
+
* // Create conditional middleware
|
|
211
|
+
* const conditionalMiddleware = createMiddleware(async (next, input, init) => {
|
|
212
|
+
* const url = typeof input === 'string' ? input : input.toString();
|
|
213
|
+
*
|
|
214
|
+
* // Only add headers for API routes
|
|
215
|
+
* if (url.includes('/api/')) {
|
|
216
|
+
* const headers = new Headers(init?.headers);
|
|
217
|
+
* headers.set('X-API-Version', 'v2');
|
|
218
|
+
* return next(input, { ...init, headers });
|
|
219
|
+
* }
|
|
220
|
+
*
|
|
221
|
+
* // Pass through for non-API routes
|
|
222
|
+
* return next(input, init);
|
|
223
|
+
* });
|
|
224
|
+
*
|
|
225
|
+
* // Create caching middleware
|
|
226
|
+
* const cacheMiddleware = createMiddleware(async (next, input, init) => {
|
|
227
|
+
* const cacheKey = typeof input === 'string' ? input : input.toString();
|
|
228
|
+
*
|
|
229
|
+
* // Check cache first
|
|
230
|
+
* const cached = await getFromCache(cacheKey);
|
|
231
|
+
* if (cached) {
|
|
232
|
+
* return new Response(cached, { status: 200 });
|
|
233
|
+
* }
|
|
234
|
+
*
|
|
235
|
+
* // Make request and cache result
|
|
236
|
+
* const response = await next(input, init);
|
|
237
|
+
* if (response.ok) {
|
|
238
|
+
* await saveToCache(cacheKey, await response.clone().text());
|
|
239
|
+
* }
|
|
240
|
+
*
|
|
241
|
+
* return response;
|
|
242
|
+
* });
|
|
243
|
+
* ```
|
|
244
|
+
*
|
|
245
|
+
* @param handler - Function that receives the next handler and request parameters
|
|
246
|
+
* @returns A fetch middleware function
|
|
247
|
+
*/
|
|
248
|
+
const createMiddleware = (handler) => {
|
|
249
|
+
return next => (input, init) => handler(next, input, init);
|
|
250
|
+
};
|
|
251
|
+
exports.createMiddleware = createMiddleware;
|
|
252
|
+
//# sourceMappingURL=middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/client/middleware.ts"],"names":[],"mappings":";;;AAAA,uCAAuG;AASvG;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACI,MAAM,SAAS,GAClB,CAAC,QAA6B,EAAE,OAAsB,EAAc,EAAE,CACtE,IAAI,CAAC,EAAE;IACH,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,WAAW,GAAG,KAAK,IAAuB,EAAE;YAC9C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,CAAC;YAE3C,mDAAmD;YACnD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,MAAM,EAAE,CAAC;gBACT,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC;QAEF,IAAI,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;QAEnC,uDAAuD;QACvD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACD,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,IAAA,sCAA4B,EAAC,QAAQ,CAAC,CAAC;gBAE9E,mDAAmD;gBACnD,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAEhG,MAAM,MAAM,GAAG,MAAM,IAAA,cAAI,EAAC,QAAQ,EAAE;oBAChC,SAAS;oBACT,mBAAmB;oBACnB,KAAK;oBACL,OAAO,EAAE,IAAI;iBAChB,CAAC,CAAC;gBAEH,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;oBACxB,MAAM,IAAI,2BAAiB,CAAC,iEAAiE,CAAC,CAAC;gBACnG,CAAC;gBAED,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;oBAC1B,MAAM,IAAI,2BAAiB,CAAC,sCAAsC,MAAM,EAAE,CAAC,CAAC;gBAChF,CAAC;gBAED,sCAAsC;gBACtC,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,KAAK,YAAY,2BAAiB,EAAE,CAAC;oBACrC,MAAM,KAAK,CAAC;gBAChB,CAAC;gBACD,MAAM,IAAI,2BAAiB,CAAC,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACxH,CAAC;QACL,CAAC;QAED,+DAA+D;QAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjE,MAAM,IAAI,2BAAiB,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;AACN,CAAC,CAAC;AA3DO,QAAA,SAAS,aA2DhB;AA6CN;;;;;;;;;;;;;;;GAeG;AACI,MAAM,WAAW,GAAG,CAAC,UAA0B,EAAE,EAAc,EAAE;IACpE,MAAM,EAAE,MAAM,EAAE,qBAAqB,GAAG,KAAK,EAAE,sBAAsB,GAAG,KAAK,EAAE,WAAW,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;IAE3G,MAAM,aAAa,GAAkB,KAAK,CAAC,EAAE;QACzC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAEpG,IAAI,OAAO,GAAG,KAAK;YACf,CAAC,CAAC,QAAQ,MAAM,IAAI,GAAG,YAAY,KAAK,CAAC,OAAO,KAAK,QAAQ,KAAK;YAClE,CAAC,CAAC,QAAQ,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,UAAU,KAAK,QAAQ,KAAK,CAAC;QAEtE,sCAAsC;QACtC,IAAI,qBAAqB,IAAI,cAAc,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;iBAClD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC;iBACzC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO,IAAI,yBAAyB,UAAU,GAAG,CAAC;QACtD,CAAC;QAED,IAAI,sBAAsB,IAAI,eAAe,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;iBACnD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC;iBACzC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO,IAAI,0BAA0B,UAAU,GAAG,CAAC;QACvD,CAAC;QAED,IAAI,KAAK,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YACzB,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACJ,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,IAAI,aAAa,CAAC;IAEtC,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,KAAK,CAAC;QACrC,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjE,MAAM,cAAc,GAAG,qBAAqB,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEtF,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAE/C,mDAAmD;YACnD,IAAI,QAAQ,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC;gBACjC,KAAK,CAAC;oBACF,MAAM;oBACN,GAAG;oBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,QAAQ;oBACR,cAAc;oBACd,eAAe,EAAE,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;iBACzE,CAAC,CAAC;YACP,CAAC;YAED,OAAO,QAAQ,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAE/C,4CAA4C;YAC5C,KAAK,CAAC;gBACF,MAAM;gBACN,GAAG;gBACH,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,eAAe;gBAC3B,QAAQ;gBACR,cAAc;gBACd,KAAK,EAAE,KAAc;aACxB,CAAC,CAAC;YAEH,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC,CAAC;AACN,CAAC,CAAC;AA7EW,QAAA,WAAW,eA6EtB;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACI,MAAM,gBAAgB,GAAG,CAAC,GAAG,UAAwB,EAAc,EAAE;IACxE,OAAO,IAAI,CAAC,EAAE;QACV,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC;AACN,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACI,MAAM,gBAAgB,GAAG,CAAC,OAAwF,EAAc,EAAE;IACrI,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAqB,EAAE,IAAI,CAAC,CAAC;AAC/E,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { type ErrorEvent, type EventSourceInit } from 'eventsource';
|
|
2
|
+
import { Transport, FetchLike } from '../shared/transport.js';
|
|
3
|
+
import { JSONRPCMessage } from '../types.js';
|
|
4
|
+
import { OAuthClientProvider } from './auth.js';
|
|
5
|
+
export declare class SseError extends Error {
|
|
6
|
+
readonly code: number | undefined;
|
|
7
|
+
readonly event: ErrorEvent;
|
|
8
|
+
constructor(code: number | undefined, message: string | undefined, event: ErrorEvent);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Configuration options for the `SSEClientTransport`.
|
|
12
|
+
*/
|
|
13
|
+
export type SSEClientTransportOptions = {
|
|
14
|
+
/**
|
|
15
|
+
* An OAuth client provider to use for authentication.
|
|
16
|
+
*
|
|
17
|
+
* When an `authProvider` is specified and the SSE connection is started:
|
|
18
|
+
* 1. The connection is attempted with any existing access token from the `authProvider`.
|
|
19
|
+
* 2. If the access token has expired, the `authProvider` is used to refresh the token.
|
|
20
|
+
* 3. If token refresh fails or no access token exists, and auth is required, `OAuthClientProvider.redirectToAuthorization` is called, and an `UnauthorizedError` will be thrown from `connect`/`start`.
|
|
21
|
+
*
|
|
22
|
+
* After the user has finished authorizing via their user agent, and is redirected back to the MCP client application, call `SSEClientTransport.finishAuth` with the authorization code before retrying the connection.
|
|
23
|
+
*
|
|
24
|
+
* If an `authProvider` is not provided, and auth is required, an `UnauthorizedError` will be thrown.
|
|
25
|
+
*
|
|
26
|
+
* `UnauthorizedError` might also be thrown when sending any message over the SSE transport, indicating that the session has expired, and needs to be re-authed and reconnected.
|
|
27
|
+
*/
|
|
28
|
+
authProvider?: OAuthClientProvider;
|
|
29
|
+
/**
|
|
30
|
+
* Customizes the initial SSE request to the server (the request that begins the stream).
|
|
31
|
+
*
|
|
32
|
+
* NOTE: Setting this property will prevent an `Authorization` header from
|
|
33
|
+
* being automatically attached to the SSE request, if an `authProvider` is
|
|
34
|
+
* also given. This can be worked around by setting the `Authorization` header
|
|
35
|
+
* manually.
|
|
36
|
+
*/
|
|
37
|
+
eventSourceInit?: EventSourceInit;
|
|
38
|
+
/**
|
|
39
|
+
* Customizes recurring POST requests to the server.
|
|
40
|
+
*/
|
|
41
|
+
requestInit?: RequestInit;
|
|
42
|
+
/**
|
|
43
|
+
* Custom fetch implementation used for all network requests.
|
|
44
|
+
*/
|
|
45
|
+
fetch?: FetchLike;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Client transport for SSE: this will connect to a server using Server-Sent Events for receiving
|
|
49
|
+
* messages and make separate POST requests for sending messages.
|
|
50
|
+
* @deprecated SSEClientTransport is deprecated. Prefer to use StreamableHTTPClientTransport where possible instead. Note that because some servers are still using SSE, clients may need to support both transports during the migration period.
|
|
51
|
+
*/
|
|
52
|
+
export declare class SSEClientTransport implements Transport {
|
|
53
|
+
private _eventSource?;
|
|
54
|
+
private _endpoint?;
|
|
55
|
+
private _abortController?;
|
|
56
|
+
private _url;
|
|
57
|
+
private _resourceMetadataUrl?;
|
|
58
|
+
private _scope?;
|
|
59
|
+
private _eventSourceInit?;
|
|
60
|
+
private _requestInit?;
|
|
61
|
+
private _authProvider?;
|
|
62
|
+
private _fetch?;
|
|
63
|
+
private _protocolVersion?;
|
|
64
|
+
onclose?: () => void;
|
|
65
|
+
onerror?: (error: Error) => void;
|
|
66
|
+
onmessage?: (message: JSONRPCMessage) => void;
|
|
67
|
+
constructor(url: URL, opts?: SSEClientTransportOptions);
|
|
68
|
+
private _authThenStart;
|
|
69
|
+
private _commonHeaders;
|
|
70
|
+
private _startOrAuth;
|
|
71
|
+
start(): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Call this method after the user has finished authorizing via their user agent and is redirected back to the MCP client application. This will exchange the authorization code for an access token, enabling the next connection attempt to successfully auth.
|
|
74
|
+
*/
|
|
75
|
+
finishAuth(authorizationCode: string): Promise<void>;
|
|
76
|
+
close(): Promise<void>;
|
|
77
|
+
send(message: JSONRPCMessage): Promise<void>;
|
|
78
|
+
setProtocolVersion(version: string): void;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=sse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../../src/client/sse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAwB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAkD,mBAAmB,EAAqB,MAAM,WAAW,CAAC;AAEnH,qBAAa,QAAS,SAAQ,KAAK;aAEX,IAAI,EAAE,MAAM,GAAG,SAAS;aAExB,KAAK,EAAE,UAAU;gBAFjB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxC,OAAO,EAAE,MAAM,GAAG,SAAS,EACX,KAAK,EAAE,UAAU;CAIxC;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACpC;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAEnC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,SAAS;IAChD,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,SAAS,CAAC,CAAM;IACxB,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,oBAAoB,CAAC,CAAM;IACnC,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,aAAa,CAAC,CAAsB;IAC5C,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAElC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;gBAElC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,yBAAyB;YAUxC,cAAc;YAyBd,cAAc;IAe5B,OAAO,CAAC,YAAY;IAyEd,KAAK;IAQX;;OAEG;IACG,UAAU,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBpD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA8ClD,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAG5C"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SSEClientTransport = exports.SseError = void 0;
|
|
4
|
+
const eventsource_1 = require("eventsource");
|
|
5
|
+
const types_js_1 = require("../types.js");
|
|
6
|
+
const auth_js_1 = require("./auth.js");
|
|
7
|
+
class SseError extends Error {
|
|
8
|
+
constructor(code, message, event) {
|
|
9
|
+
super(`SSE error: ${message}`);
|
|
10
|
+
this.code = code;
|
|
11
|
+
this.event = event;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.SseError = SseError;
|
|
15
|
+
/**
|
|
16
|
+
* Client transport for SSE: this will connect to a server using Server-Sent Events for receiving
|
|
17
|
+
* messages and make separate POST requests for sending messages.
|
|
18
|
+
* @deprecated SSEClientTransport is deprecated. Prefer to use StreamableHTTPClientTransport where possible instead. Note that because some servers are still using SSE, clients may need to support both transports during the migration period.
|
|
19
|
+
*/
|
|
20
|
+
class SSEClientTransport {
|
|
21
|
+
constructor(url, opts) {
|
|
22
|
+
this._url = url;
|
|
23
|
+
this._resourceMetadataUrl = undefined;
|
|
24
|
+
this._scope = undefined;
|
|
25
|
+
this._eventSourceInit = opts === null || opts === void 0 ? void 0 : opts.eventSourceInit;
|
|
26
|
+
this._requestInit = opts === null || opts === void 0 ? void 0 : opts.requestInit;
|
|
27
|
+
this._authProvider = opts === null || opts === void 0 ? void 0 : opts.authProvider;
|
|
28
|
+
this._fetch = opts === null || opts === void 0 ? void 0 : opts.fetch;
|
|
29
|
+
}
|
|
30
|
+
async _authThenStart() {
|
|
31
|
+
var _a;
|
|
32
|
+
if (!this._authProvider) {
|
|
33
|
+
throw new auth_js_1.UnauthorizedError('No auth provider');
|
|
34
|
+
}
|
|
35
|
+
let result;
|
|
36
|
+
try {
|
|
37
|
+
result = await (0, auth_js_1.auth)(this._authProvider, {
|
|
38
|
+
serverUrl: this._url,
|
|
39
|
+
resourceMetadataUrl: this._resourceMetadataUrl,
|
|
40
|
+
scope: this._scope,
|
|
41
|
+
fetchFn: this._fetch
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
(_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error);
|
|
46
|
+
throw error;
|
|
47
|
+
}
|
|
48
|
+
if (result !== 'AUTHORIZED') {
|
|
49
|
+
throw new auth_js_1.UnauthorizedError();
|
|
50
|
+
}
|
|
51
|
+
return await this._startOrAuth();
|
|
52
|
+
}
|
|
53
|
+
async _commonHeaders() {
|
|
54
|
+
var _a;
|
|
55
|
+
const headers = {};
|
|
56
|
+
if (this._authProvider) {
|
|
57
|
+
const tokens = await this._authProvider.tokens();
|
|
58
|
+
if (tokens) {
|
|
59
|
+
headers['Authorization'] = `Bearer ${tokens.access_token}`;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (this._protocolVersion) {
|
|
63
|
+
headers['mcp-protocol-version'] = this._protocolVersion;
|
|
64
|
+
}
|
|
65
|
+
return new Headers({ ...headers, ...(_a = this._requestInit) === null || _a === void 0 ? void 0 : _a.headers });
|
|
66
|
+
}
|
|
67
|
+
_startOrAuth() {
|
|
68
|
+
var _a, _b, _c;
|
|
69
|
+
const fetchImpl = ((_c = (_b = (_a = this === null || this === void 0 ? void 0 : this._eventSourceInit) === null || _a === void 0 ? void 0 : _a.fetch) !== null && _b !== void 0 ? _b : this._fetch) !== null && _c !== void 0 ? _c : fetch);
|
|
70
|
+
return new Promise((resolve, reject) => {
|
|
71
|
+
this._eventSource = new eventsource_1.EventSource(this._url.href, {
|
|
72
|
+
...this._eventSourceInit,
|
|
73
|
+
fetch: async (url, init) => {
|
|
74
|
+
const headers = await this._commonHeaders();
|
|
75
|
+
headers.set('Accept', 'text/event-stream');
|
|
76
|
+
const response = await fetchImpl(url, {
|
|
77
|
+
...init,
|
|
78
|
+
headers
|
|
79
|
+
});
|
|
80
|
+
if (response.status === 401 && response.headers.has('www-authenticate')) {
|
|
81
|
+
const { resourceMetadataUrl, scope } = (0, auth_js_1.extractWWWAuthenticateParams)(response);
|
|
82
|
+
this._resourceMetadataUrl = resourceMetadataUrl;
|
|
83
|
+
this._scope = scope;
|
|
84
|
+
}
|
|
85
|
+
return response;
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
this._abortController = new AbortController();
|
|
89
|
+
this._eventSource.onerror = event => {
|
|
90
|
+
var _a;
|
|
91
|
+
if (event.code === 401 && this._authProvider) {
|
|
92
|
+
this._authThenStart().then(resolve, reject);
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const error = new SseError(event.code, event.message, event);
|
|
96
|
+
reject(error);
|
|
97
|
+
(_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error);
|
|
98
|
+
};
|
|
99
|
+
this._eventSource.onopen = () => {
|
|
100
|
+
// The connection is open, but we need to wait for the endpoint to be received.
|
|
101
|
+
};
|
|
102
|
+
this._eventSource.addEventListener('endpoint', (event) => {
|
|
103
|
+
var _a;
|
|
104
|
+
const messageEvent = event;
|
|
105
|
+
try {
|
|
106
|
+
this._endpoint = new URL(messageEvent.data, this._url);
|
|
107
|
+
if (this._endpoint.origin !== this._url.origin) {
|
|
108
|
+
throw new Error(`Endpoint origin does not match connection origin: ${this._endpoint.origin}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
reject(error);
|
|
113
|
+
(_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error);
|
|
114
|
+
void this.close();
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
resolve();
|
|
118
|
+
});
|
|
119
|
+
this._eventSource.onmessage = (event) => {
|
|
120
|
+
var _a, _b;
|
|
121
|
+
const messageEvent = event;
|
|
122
|
+
let message;
|
|
123
|
+
try {
|
|
124
|
+
message = types_js_1.JSONRPCMessageSchema.parse(JSON.parse(messageEvent.data));
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
(_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
(_b = this.onmessage) === null || _b === void 0 ? void 0 : _b.call(this, message);
|
|
131
|
+
};
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
async start() {
|
|
135
|
+
if (this._eventSource) {
|
|
136
|
+
throw new Error('SSEClientTransport already started! If using Client class, note that connect() calls start() automatically.');
|
|
137
|
+
}
|
|
138
|
+
return await this._startOrAuth();
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Call this method after the user has finished authorizing via their user agent and is redirected back to the MCP client application. This will exchange the authorization code for an access token, enabling the next connection attempt to successfully auth.
|
|
142
|
+
*/
|
|
143
|
+
async finishAuth(authorizationCode) {
|
|
144
|
+
if (!this._authProvider) {
|
|
145
|
+
throw new auth_js_1.UnauthorizedError('No auth provider');
|
|
146
|
+
}
|
|
147
|
+
const result = await (0, auth_js_1.auth)(this._authProvider, {
|
|
148
|
+
serverUrl: this._url,
|
|
149
|
+
authorizationCode,
|
|
150
|
+
resourceMetadataUrl: this._resourceMetadataUrl,
|
|
151
|
+
scope: this._scope,
|
|
152
|
+
fetchFn: this._fetch
|
|
153
|
+
});
|
|
154
|
+
if (result !== 'AUTHORIZED') {
|
|
155
|
+
throw new auth_js_1.UnauthorizedError('Failed to authorize');
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
async close() {
|
|
159
|
+
var _a, _b, _c;
|
|
160
|
+
(_a = this._abortController) === null || _a === void 0 ? void 0 : _a.abort();
|
|
161
|
+
(_b = this._eventSource) === null || _b === void 0 ? void 0 : _b.close();
|
|
162
|
+
(_c = this.onclose) === null || _c === void 0 ? void 0 : _c.call(this);
|
|
163
|
+
}
|
|
164
|
+
async send(message) {
|
|
165
|
+
var _a, _b, _c;
|
|
166
|
+
if (!this._endpoint) {
|
|
167
|
+
throw new Error('Not connected');
|
|
168
|
+
}
|
|
169
|
+
try {
|
|
170
|
+
const headers = await this._commonHeaders();
|
|
171
|
+
headers.set('content-type', 'application/json');
|
|
172
|
+
const init = {
|
|
173
|
+
...this._requestInit,
|
|
174
|
+
method: 'POST',
|
|
175
|
+
headers,
|
|
176
|
+
body: JSON.stringify(message),
|
|
177
|
+
signal: (_a = this._abortController) === null || _a === void 0 ? void 0 : _a.signal
|
|
178
|
+
};
|
|
179
|
+
const response = await ((_b = this._fetch) !== null && _b !== void 0 ? _b : fetch)(this._endpoint, init);
|
|
180
|
+
if (!response.ok) {
|
|
181
|
+
if (response.status === 401 && this._authProvider) {
|
|
182
|
+
const { resourceMetadataUrl, scope } = (0, auth_js_1.extractWWWAuthenticateParams)(response);
|
|
183
|
+
this._resourceMetadataUrl = resourceMetadataUrl;
|
|
184
|
+
this._scope = scope;
|
|
185
|
+
const result = await (0, auth_js_1.auth)(this._authProvider, {
|
|
186
|
+
serverUrl: this._url,
|
|
187
|
+
resourceMetadataUrl: this._resourceMetadataUrl,
|
|
188
|
+
scope: this._scope,
|
|
189
|
+
fetchFn: this._fetch
|
|
190
|
+
});
|
|
191
|
+
if (result !== 'AUTHORIZED') {
|
|
192
|
+
throw new auth_js_1.UnauthorizedError();
|
|
193
|
+
}
|
|
194
|
+
// Purposely _not_ awaited, so we don't call onerror twice
|
|
195
|
+
return this.send(message);
|
|
196
|
+
}
|
|
197
|
+
const text = await response.text().catch(() => null);
|
|
198
|
+
throw new Error(`Error POSTing to endpoint (HTTP ${response.status}): ${text}`);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
catch (error) {
|
|
202
|
+
(_c = this.onerror) === null || _c === void 0 ? void 0 : _c.call(this, error);
|
|
203
|
+
throw error;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
setProtocolVersion(version) {
|
|
207
|
+
this._protocolVersion = version;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
exports.SSEClientTransport = SSEClientTransport;
|
|
211
|
+
//# sourceMappingURL=sse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse.js","sourceRoot":"","sources":["../../../src/client/sse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { IOType } from 'node:child_process';
|
|
2
|
+
import { Stream } from 'node:stream';
|
|
3
|
+
import { Transport } from '../shared/transport.js';
|
|
4
|
+
import { JSONRPCMessage } from '../types.js';
|
|
5
|
+
export type StdioServerParameters = {
|
|
6
|
+
/**
|
|
7
|
+
* The executable to run to start the server.
|
|
8
|
+
*/
|
|
9
|
+
command: string;
|
|
10
|
+
/**
|
|
11
|
+
* Command line arguments to pass to the executable.
|
|
12
|
+
*/
|
|
13
|
+
args?: string[];
|
|
14
|
+
/**
|
|
15
|
+
* The environment to use when spawning the process.
|
|
16
|
+
*
|
|
17
|
+
* If not specified, the result of getDefaultEnvironment() will be used.
|
|
18
|
+
*/
|
|
19
|
+
env?: Record<string, string>;
|
|
20
|
+
/**
|
|
21
|
+
* How to handle stderr of the child process. This matches the semantics of Node's `child_process.spawn`.
|
|
22
|
+
*
|
|
23
|
+
* The default is "inherit", meaning messages to stderr will be printed to the parent process's stderr.
|
|
24
|
+
*/
|
|
25
|
+
stderr?: IOType | Stream | number;
|
|
26
|
+
/**
|
|
27
|
+
* The working directory to use when spawning the process.
|
|
28
|
+
*
|
|
29
|
+
* If not specified, the current working directory will be inherited.
|
|
30
|
+
*/
|
|
31
|
+
cwd?: string;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Environment variables to inherit by default, if an environment is not explicitly given.
|
|
35
|
+
*/
|
|
36
|
+
export declare const DEFAULT_INHERITED_ENV_VARS: string[];
|
|
37
|
+
/**
|
|
38
|
+
* Returns a default environment object including only environment variables deemed safe to inherit.
|
|
39
|
+
*/
|
|
40
|
+
export declare function getDefaultEnvironment(): Record<string, string>;
|
|
41
|
+
/**
|
|
42
|
+
* Client transport for stdio: this will connect to a server by spawning a process and communicating with it over stdin/stdout.
|
|
43
|
+
*
|
|
44
|
+
* This transport is only available in Node.js environments.
|
|
45
|
+
*/
|
|
46
|
+
export declare class StdioClientTransport implements Transport {
|
|
47
|
+
private _process?;
|
|
48
|
+
private _abortController;
|
|
49
|
+
private _readBuffer;
|
|
50
|
+
private _serverParams;
|
|
51
|
+
private _stderrStream;
|
|
52
|
+
onclose?: () => void;
|
|
53
|
+
onerror?: (error: Error) => void;
|
|
54
|
+
onmessage?: (message: JSONRPCMessage) => void;
|
|
55
|
+
constructor(server: StdioServerParameters);
|
|
56
|
+
/**
|
|
57
|
+
* Starts the server process and prepares to communicate with it.
|
|
58
|
+
*/
|
|
59
|
+
start(): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* The stderr stream of the child process, if `StdioServerParameters.stderr` was set to "pipe" or "overlapped".
|
|
62
|
+
*
|
|
63
|
+
* If stderr piping was requested, a PassThrough stream is returned _immediately_, allowing callers to
|
|
64
|
+
* attach listeners before the start method is invoked. This prevents loss of any early
|
|
65
|
+
* error output emitted by the child process.
|
|
66
|
+
*/
|
|
67
|
+
get stderr(): Stream | null;
|
|
68
|
+
/**
|
|
69
|
+
* The child process pid spawned by this transport.
|
|
70
|
+
*
|
|
71
|
+
* This is only available after the transport has been started.
|
|
72
|
+
*/
|
|
73
|
+
get pid(): number | null;
|
|
74
|
+
private processReadBuffer;
|
|
75
|
+
close(): Promise<void>;
|
|
76
|
+
send(message: JSONRPCMessage): Promise<void>;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=stdio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../../src/client/stdio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAAE,MAAM,EAAe,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,qBAAqB,GAAG;IAChC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAElC;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,UAiBuB,CAAC;AAE/D;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkB9D;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,YAAW,SAAS;IAClD,OAAO,CAAC,QAAQ,CAAC,CAAe;IAChC,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,aAAa,CAA4B;IAEjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;gBAElC,MAAM,EAAE,qBAAqB;IAOzC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4D5B;;;;;;OAMG;IACH,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAM1B;IAED;;;;OAIG;IACH,IAAI,GAAG,IAAI,MAAM,GAAG,IAAI,CAEvB;IAED,OAAO,CAAC,iBAAiB;IAenB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAc/C"}
|