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,68 @@
|
|
|
1
|
+
import { Response } from 'express';
|
|
2
|
+
import { OAuthRegisteredClientsStore } from './clients.js';
|
|
3
|
+
import { OAuthClientInformationFull, OAuthTokenRevocationRequest, OAuthTokens } from '../../shared/auth.js';
|
|
4
|
+
import { AuthInfo } from './types.js';
|
|
5
|
+
export type AuthorizationParams = {
|
|
6
|
+
state?: string;
|
|
7
|
+
scopes?: string[];
|
|
8
|
+
codeChallenge: string;
|
|
9
|
+
redirectUri: string;
|
|
10
|
+
resource?: URL;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Implements an end-to-end OAuth server.
|
|
14
|
+
*/
|
|
15
|
+
export interface OAuthServerProvider {
|
|
16
|
+
/**
|
|
17
|
+
* A store used to read information about registered OAuth clients.
|
|
18
|
+
*/
|
|
19
|
+
get clientsStore(): OAuthRegisteredClientsStore;
|
|
20
|
+
/**
|
|
21
|
+
* Begins the authorization flow, which can either be implemented by this server itself or via redirection to a separate authorization server.
|
|
22
|
+
*
|
|
23
|
+
* This server must eventually issue a redirect with an authorization response or an error response to the given redirect URI. Per OAuth 2.1:
|
|
24
|
+
* - In the successful case, the redirect MUST include the `code` and `state` (if present) query parameters.
|
|
25
|
+
* - In the error case, the redirect MUST include the `error` query parameter, and MAY include an optional `error_description` query parameter.
|
|
26
|
+
*/
|
|
27
|
+
authorize(client: OAuthClientInformationFull, params: AuthorizationParams, res: Response): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Returns the `codeChallenge` that was used when the indicated authorization began.
|
|
30
|
+
*/
|
|
31
|
+
challengeForAuthorizationCode(client: OAuthClientInformationFull, authorizationCode: string): Promise<string>;
|
|
32
|
+
/**
|
|
33
|
+
* Exchanges an authorization code for an access token.
|
|
34
|
+
*/
|
|
35
|
+
exchangeAuthorizationCode(client: OAuthClientInformationFull, authorizationCode: string, codeVerifier?: string, redirectUri?: string, resource?: URL): Promise<OAuthTokens>;
|
|
36
|
+
/**
|
|
37
|
+
* Exchanges a refresh token for an access token.
|
|
38
|
+
*/
|
|
39
|
+
exchangeRefreshToken(client: OAuthClientInformationFull, refreshToken: string, scopes?: string[], resource?: URL): Promise<OAuthTokens>;
|
|
40
|
+
/**
|
|
41
|
+
* Verifies an access token and returns information about it.
|
|
42
|
+
*/
|
|
43
|
+
verifyAccessToken(token: string): Promise<AuthInfo>;
|
|
44
|
+
/**
|
|
45
|
+
* Revokes an access or refresh token. If unimplemented, token revocation is not supported (not recommended).
|
|
46
|
+
*
|
|
47
|
+
* If the given token is invalid or already revoked, this method should do nothing.
|
|
48
|
+
*/
|
|
49
|
+
revokeToken?(client: OAuthClientInformationFull, request: OAuthTokenRevocationRequest): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Whether to skip local PKCE validation.
|
|
52
|
+
*
|
|
53
|
+
* If true, the server will not perform PKCE validation locally and will pass the code_verifier to the upstream server.
|
|
54
|
+
*
|
|
55
|
+
* NOTE: This should only be true if the upstream server is performing the actual PKCE validation.
|
|
56
|
+
*/
|
|
57
|
+
skipLocalPkceValidation?: boolean;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Slim implementation useful for token verification
|
|
61
|
+
*/
|
|
62
|
+
export interface OAuthTokenVerifier {
|
|
63
|
+
/**
|
|
64
|
+
* Verifies an access token and returns information about it.
|
|
65
|
+
*/
|
|
66
|
+
verifyAccessToken(token: string): Promise<AuthInfo>;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/server/auth/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC5G,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,mBAAmB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;OAEG;IACH,IAAI,YAAY,IAAI,2BAA2B,CAAC;IAEhD;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzG;;OAEG;IACH,6BAA6B,CAAC,MAAM,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9G;;OAEG;IACH,yBAAyB,CACrB,MAAM,EAAE,0BAA0B,EAClC,iBAAiB,EAAE,MAAM,EACzB,YAAY,CAAC,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,GAAG,GACf,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAExI;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEpD;;;;OAIG;IACH,WAAW,CAAC,CAAC,MAAM,EAAE,0BAA0B,EAAE,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtG;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/server/auth/provider.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Response } from 'express';
|
|
2
|
+
import { OAuthRegisteredClientsStore } from '../clients.js';
|
|
3
|
+
import { OAuthClientInformationFull, OAuthTokenRevocationRequest, OAuthTokens } from '../../../shared/auth.js';
|
|
4
|
+
import { AuthInfo } from '../types.js';
|
|
5
|
+
import { AuthorizationParams, OAuthServerProvider } from '../provider.js';
|
|
6
|
+
import { FetchLike } from '../../../shared/transport.js';
|
|
7
|
+
export type ProxyEndpoints = {
|
|
8
|
+
authorizationUrl: string;
|
|
9
|
+
tokenUrl: string;
|
|
10
|
+
revocationUrl?: string;
|
|
11
|
+
registrationUrl?: string;
|
|
12
|
+
};
|
|
13
|
+
export type ProxyOptions = {
|
|
14
|
+
/**
|
|
15
|
+
* Individual endpoint URLs for proxying specific OAuth operations
|
|
16
|
+
*/
|
|
17
|
+
endpoints: ProxyEndpoints;
|
|
18
|
+
/**
|
|
19
|
+
* Function to verify access tokens and return auth info
|
|
20
|
+
*/
|
|
21
|
+
verifyAccessToken: (token: string) => Promise<AuthInfo>;
|
|
22
|
+
/**
|
|
23
|
+
* Function to fetch client information from the upstream server
|
|
24
|
+
*/
|
|
25
|
+
getClient: (clientId: string) => Promise<OAuthClientInformationFull | undefined>;
|
|
26
|
+
/**
|
|
27
|
+
* Custom fetch implementation used for all network requests.
|
|
28
|
+
*/
|
|
29
|
+
fetch?: FetchLike;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Implements an OAuth server that proxies requests to another OAuth server.
|
|
33
|
+
*/
|
|
34
|
+
export declare class ProxyOAuthServerProvider implements OAuthServerProvider {
|
|
35
|
+
protected readonly _endpoints: ProxyEndpoints;
|
|
36
|
+
protected readonly _verifyAccessToken: (token: string) => Promise<AuthInfo>;
|
|
37
|
+
protected readonly _getClient: (clientId: string) => Promise<OAuthClientInformationFull | undefined>;
|
|
38
|
+
protected readonly _fetch?: FetchLike;
|
|
39
|
+
skipLocalPkceValidation: boolean;
|
|
40
|
+
revokeToken?: (client: OAuthClientInformationFull, request: OAuthTokenRevocationRequest) => Promise<void>;
|
|
41
|
+
constructor(options: ProxyOptions);
|
|
42
|
+
get clientsStore(): OAuthRegisteredClientsStore;
|
|
43
|
+
authorize(client: OAuthClientInformationFull, params: AuthorizationParams, res: Response): Promise<void>;
|
|
44
|
+
challengeForAuthorizationCode(_client: OAuthClientInformationFull, _authorizationCode: string): Promise<string>;
|
|
45
|
+
exchangeAuthorizationCode(client: OAuthClientInformationFull, authorizationCode: string, codeVerifier?: string, redirectUri?: string, resource?: URL): Promise<OAuthTokens>;
|
|
46
|
+
exchangeRefreshToken(client: OAuthClientInformationFull, refreshToken: string, scopes?: string[], resource?: URL): Promise<OAuthTokens>;
|
|
47
|
+
verifyAccessToken(token: string): Promise<AuthInfo>;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=proxyProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/server/auth/providers/proxyProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EACH,0BAA0B,EAE1B,2BAA2B,EAC3B,WAAW,EAEd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,MAAM,MAAM,cAAc,GAAG;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB;;OAEG;IACH,SAAS,EAAE,cAAc,CAAC;IAE1B;;OAEG;IACH,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAExD;;OAEG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;IAEjF;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAChE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IAC9C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5E,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;IACrG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAEtC,uBAAuB,UAAQ;IAE/B,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,0BAA0B,EAAE,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE9F,OAAO,EAAE,YAAY;IAsCjC,IAAI,YAAY,IAAI,2BAA2B,CAuB9C;IAEK,SAAS,CAAC,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBxG,6BAA6B,CAAC,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM/G,yBAAyB,CAC3B,MAAM,EAAE,0BAA0B,EAClC,iBAAiB,EAAE,MAAM,EACzB,YAAY,CAAC,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,GAAG,GACf,OAAO,CAAC,WAAW,CAAC;IAuCjB,oBAAoB,CACtB,MAAM,EAAE,0BAA0B,EAClC,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,EAAE,EACjB,QAAQ,CAAC,EAAE,GAAG,GACf,OAAO,CAAC,WAAW,CAAC;IAmCjB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;CAG5D"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { OAuthClientInformationFullSchema, OAuthTokensSchema } from '../../../shared/auth.js';
|
|
2
|
+
import { ServerError } from '../errors.js';
|
|
3
|
+
/**
|
|
4
|
+
* Implements an OAuth server that proxies requests to another OAuth server.
|
|
5
|
+
*/
|
|
6
|
+
export class ProxyOAuthServerProvider {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
var _a;
|
|
9
|
+
this.skipLocalPkceValidation = true;
|
|
10
|
+
this._endpoints = options.endpoints;
|
|
11
|
+
this._verifyAccessToken = options.verifyAccessToken;
|
|
12
|
+
this._getClient = options.getClient;
|
|
13
|
+
this._fetch = options.fetch;
|
|
14
|
+
if ((_a = options.endpoints) === null || _a === void 0 ? void 0 : _a.revocationUrl) {
|
|
15
|
+
this.revokeToken = async (client, request) => {
|
|
16
|
+
var _a;
|
|
17
|
+
const revocationUrl = this._endpoints.revocationUrl;
|
|
18
|
+
if (!revocationUrl) {
|
|
19
|
+
throw new Error('No revocation endpoint configured');
|
|
20
|
+
}
|
|
21
|
+
const params = new URLSearchParams();
|
|
22
|
+
params.set('token', request.token);
|
|
23
|
+
params.set('client_id', client.client_id);
|
|
24
|
+
if (client.client_secret) {
|
|
25
|
+
params.set('client_secret', client.client_secret);
|
|
26
|
+
}
|
|
27
|
+
if (request.token_type_hint) {
|
|
28
|
+
params.set('token_type_hint', request.token_type_hint);
|
|
29
|
+
}
|
|
30
|
+
const response = await ((_a = this._fetch) !== null && _a !== void 0 ? _a : fetch)(revocationUrl, {
|
|
31
|
+
method: 'POST',
|
|
32
|
+
headers: {
|
|
33
|
+
'Content-Type': 'application/x-www-form-urlencoded'
|
|
34
|
+
},
|
|
35
|
+
body: params.toString()
|
|
36
|
+
});
|
|
37
|
+
if (!response.ok) {
|
|
38
|
+
throw new ServerError(`Token revocation failed: ${response.status}`);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
get clientsStore() {
|
|
44
|
+
const registrationUrl = this._endpoints.registrationUrl;
|
|
45
|
+
return {
|
|
46
|
+
getClient: this._getClient,
|
|
47
|
+
...(registrationUrl && {
|
|
48
|
+
registerClient: async (client) => {
|
|
49
|
+
var _a;
|
|
50
|
+
const response = await ((_a = this._fetch) !== null && _a !== void 0 ? _a : fetch)(registrationUrl, {
|
|
51
|
+
method: 'POST',
|
|
52
|
+
headers: {
|
|
53
|
+
'Content-Type': 'application/json'
|
|
54
|
+
},
|
|
55
|
+
body: JSON.stringify(client)
|
|
56
|
+
});
|
|
57
|
+
if (!response.ok) {
|
|
58
|
+
throw new ServerError(`Client registration failed: ${response.status}`);
|
|
59
|
+
}
|
|
60
|
+
const data = await response.json();
|
|
61
|
+
return OAuthClientInformationFullSchema.parse(data);
|
|
62
|
+
}
|
|
63
|
+
})
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
async authorize(client, params, res) {
|
|
67
|
+
var _a;
|
|
68
|
+
// Start with required OAuth parameters
|
|
69
|
+
const targetUrl = new URL(this._endpoints.authorizationUrl);
|
|
70
|
+
const searchParams = new URLSearchParams({
|
|
71
|
+
client_id: client.client_id,
|
|
72
|
+
response_type: 'code',
|
|
73
|
+
redirect_uri: params.redirectUri,
|
|
74
|
+
code_challenge: params.codeChallenge,
|
|
75
|
+
code_challenge_method: 'S256'
|
|
76
|
+
});
|
|
77
|
+
// Add optional standard OAuth parameters
|
|
78
|
+
if (params.state)
|
|
79
|
+
searchParams.set('state', params.state);
|
|
80
|
+
if ((_a = params.scopes) === null || _a === void 0 ? void 0 : _a.length)
|
|
81
|
+
searchParams.set('scope', params.scopes.join(' '));
|
|
82
|
+
if (params.resource)
|
|
83
|
+
searchParams.set('resource', params.resource.href);
|
|
84
|
+
targetUrl.search = searchParams.toString();
|
|
85
|
+
res.redirect(targetUrl.toString());
|
|
86
|
+
}
|
|
87
|
+
async challengeForAuthorizationCode(_client, _authorizationCode) {
|
|
88
|
+
// In a proxy setup, we don't store the code challenge ourselves
|
|
89
|
+
// Instead, we proxy the token request and let the upstream server validate it
|
|
90
|
+
return '';
|
|
91
|
+
}
|
|
92
|
+
async exchangeAuthorizationCode(client, authorizationCode, codeVerifier, redirectUri, resource) {
|
|
93
|
+
var _a;
|
|
94
|
+
const params = new URLSearchParams({
|
|
95
|
+
grant_type: 'authorization_code',
|
|
96
|
+
client_id: client.client_id,
|
|
97
|
+
code: authorizationCode
|
|
98
|
+
});
|
|
99
|
+
if (client.client_secret) {
|
|
100
|
+
params.append('client_secret', client.client_secret);
|
|
101
|
+
}
|
|
102
|
+
if (codeVerifier) {
|
|
103
|
+
params.append('code_verifier', codeVerifier);
|
|
104
|
+
}
|
|
105
|
+
if (redirectUri) {
|
|
106
|
+
params.append('redirect_uri', redirectUri);
|
|
107
|
+
}
|
|
108
|
+
if (resource) {
|
|
109
|
+
params.append('resource', resource.href);
|
|
110
|
+
}
|
|
111
|
+
const response = await ((_a = this._fetch) !== null && _a !== void 0 ? _a : fetch)(this._endpoints.tokenUrl, {
|
|
112
|
+
method: 'POST',
|
|
113
|
+
headers: {
|
|
114
|
+
'Content-Type': 'application/x-www-form-urlencoded'
|
|
115
|
+
},
|
|
116
|
+
body: params.toString()
|
|
117
|
+
});
|
|
118
|
+
if (!response.ok) {
|
|
119
|
+
throw new ServerError(`Token exchange failed: ${response.status}`);
|
|
120
|
+
}
|
|
121
|
+
const data = await response.json();
|
|
122
|
+
return OAuthTokensSchema.parse(data);
|
|
123
|
+
}
|
|
124
|
+
async exchangeRefreshToken(client, refreshToken, scopes, resource) {
|
|
125
|
+
var _a;
|
|
126
|
+
const params = new URLSearchParams({
|
|
127
|
+
grant_type: 'refresh_token',
|
|
128
|
+
client_id: client.client_id,
|
|
129
|
+
refresh_token: refreshToken
|
|
130
|
+
});
|
|
131
|
+
if (client.client_secret) {
|
|
132
|
+
params.set('client_secret', client.client_secret);
|
|
133
|
+
}
|
|
134
|
+
if (scopes === null || scopes === void 0 ? void 0 : scopes.length) {
|
|
135
|
+
params.set('scope', scopes.join(' '));
|
|
136
|
+
}
|
|
137
|
+
if (resource) {
|
|
138
|
+
params.set('resource', resource.href);
|
|
139
|
+
}
|
|
140
|
+
const response = await ((_a = this._fetch) !== null && _a !== void 0 ? _a : fetch)(this._endpoints.tokenUrl, {
|
|
141
|
+
method: 'POST',
|
|
142
|
+
headers: {
|
|
143
|
+
'Content-Type': 'application/x-www-form-urlencoded'
|
|
144
|
+
},
|
|
145
|
+
body: params.toString()
|
|
146
|
+
});
|
|
147
|
+
if (!response.ok) {
|
|
148
|
+
throw new ServerError(`Token refresh failed: ${response.status}`);
|
|
149
|
+
}
|
|
150
|
+
const data = await response.json();
|
|
151
|
+
return OAuthTokensSchema.parse(data);
|
|
152
|
+
}
|
|
153
|
+
async verifyAccessToken(token) {
|
|
154
|
+
return this._verifyAccessToken(token);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=proxyProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxyProvider.js","sourceRoot":"","sources":["../../../../../src/server/auth/providers/proxyProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,gCAAgC,EAGhC,iBAAiB,EACpB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAgC3C;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAUjC,YAAY,OAAqB;;QAJjC,4BAAuB,GAAG,IAAI,CAAC;QAK3B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,MAAA,OAAO,CAAC,SAAS,0CAAE,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,GAAG,KAAK,EAAE,MAAkC,EAAE,OAAoC,EAAE,EAAE;;gBAClG,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;gBAEpD,IAAI,CAAC,aAAa,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBACzD,CAAC;gBAED,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;gBACrC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC1C,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACvB,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;gBACtD,CAAC;gBACD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;oBAC1B,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;gBAC3D,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAA,IAAI,CAAC,MAAM,mCAAI,KAAK,CAAC,CAAC,aAAa,EAAE;oBACzD,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACL,cAAc,EAAE,mCAAmC;qBACtD;oBACD,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;iBAC1B,CAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACf,MAAM,IAAI,WAAW,CAAC,4BAA4B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBACzE,CAAC;YACL,CAAC,CAAC;QACN,CAAC;IACL,CAAC;IAED,IAAI,YAAY;QACZ,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;QACxD,OAAO;YACH,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,GAAG,CAAC,eAAe,IAAI;gBACnB,cAAc,EAAE,KAAK,EAAE,MAAkC,EAAE,EAAE;;oBACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAA,IAAI,CAAC,MAAM,mCAAI,KAAK,CAAC,CAAC,eAAe,EAAE;wBAC3D,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE;4BACL,cAAc,EAAE,kBAAkB;yBACrC;wBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;qBAC/B,CAAC,CAAC;oBAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBACf,MAAM,IAAI,WAAW,CAAC,+BAA+B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC5E,CAAC;oBAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACnC,OAAO,gCAAgC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACxD,CAAC;aACJ,CAAC;SACL,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAkC,EAAE,MAA2B,EAAE,GAAa;;QAC1F,uCAAuC;QACvC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC;YACrC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,aAAa,EAAE,MAAM;YACrB,YAAY,EAAE,MAAM,CAAC,WAAW;YAChC,cAAc,EAAE,MAAM,CAAC,aAAa;YACpC,qBAAqB,EAAE,MAAM;SAChC,CAAC,CAAC;QAEH,yCAAyC;QACzC,IAAI,MAAM,CAAC,KAAK;YAAE,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,MAAA,MAAM,CAAC,MAAM,0CAAE,MAAM;YAAE,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,IAAI,MAAM,CAAC,QAAQ;YAAE,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAExE,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC3C,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,OAAmC,EAAE,kBAA0B;QAC/F,gEAAgE;QAChE,8EAA8E;QAC9E,OAAO,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC3B,MAAkC,EAClC,iBAAyB,EACzB,YAAqB,EACrB,WAAoB,EACpB,QAAc;;QAEd,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YAC/B,UAAU,EAAE,oBAAoB;YAChC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,IAAI,EAAE,iBAAiB;SAC1B,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YACd,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAA,IAAI,CAAC,MAAM,mCAAI,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;YACpE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,mCAAmC;aACtD;YACD,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,WAAW,CAAC,0BAA0B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,oBAAoB,CACtB,MAAkC,EAClC,YAAoB,EACpB,MAAiB,EACjB,QAAc;;QAEd,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YAC/B,UAAU,EAAE,eAAe;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,aAAa,EAAE,YAAY;SAC9B,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAA,IAAI,CAAC,MAAM,mCAAI,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;YACpE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,mCAAmC;aACtD;YACD,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,WAAW,CAAC,yBAAyB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAa;QACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;CACJ"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import express, { RequestHandler } from 'express';
|
|
2
|
+
import { ClientRegistrationHandlerOptions } from './handlers/register.js';
|
|
3
|
+
import { TokenHandlerOptions } from './handlers/token.js';
|
|
4
|
+
import { AuthorizationHandlerOptions } from './handlers/authorize.js';
|
|
5
|
+
import { RevocationHandlerOptions } from './handlers/revoke.js';
|
|
6
|
+
import { OAuthServerProvider } from './provider.js';
|
|
7
|
+
import { OAuthMetadata } from '../../shared/auth.js';
|
|
8
|
+
export type AuthRouterOptions = {
|
|
9
|
+
/**
|
|
10
|
+
* A provider implementing the actual authorization logic for this router.
|
|
11
|
+
*/
|
|
12
|
+
provider: OAuthServerProvider;
|
|
13
|
+
/**
|
|
14
|
+
* The authorization server's issuer identifier, which is a URL that uses the "https" scheme and has no query or fragment components.
|
|
15
|
+
*/
|
|
16
|
+
issuerUrl: URL;
|
|
17
|
+
/**
|
|
18
|
+
* The base URL of the authorization server to use for the metadata endpoints.
|
|
19
|
+
*
|
|
20
|
+
* If not provided, the issuer URL will be used as the base URL.
|
|
21
|
+
*/
|
|
22
|
+
baseUrl?: URL;
|
|
23
|
+
/**
|
|
24
|
+
* An optional URL of a page containing human-readable information that developers might want or need to know when using the authorization server.
|
|
25
|
+
*/
|
|
26
|
+
serviceDocumentationUrl?: URL;
|
|
27
|
+
/**
|
|
28
|
+
* An optional list of scopes supported by this authorization server
|
|
29
|
+
*/
|
|
30
|
+
scopesSupported?: string[];
|
|
31
|
+
/**
|
|
32
|
+
* The resource name to be displayed in protected resource metadata
|
|
33
|
+
*/
|
|
34
|
+
resourceName?: string;
|
|
35
|
+
/**
|
|
36
|
+
* The URL of the protected resource (RS) whose metadata we advertise.
|
|
37
|
+
* If not provided, falls back to `baseUrl` and then to `issuerUrl` (AS=RS).
|
|
38
|
+
*/
|
|
39
|
+
resourceServerUrl?: URL;
|
|
40
|
+
authorizationOptions?: Omit<AuthorizationHandlerOptions, 'provider'>;
|
|
41
|
+
clientRegistrationOptions?: Omit<ClientRegistrationHandlerOptions, 'clientsStore'>;
|
|
42
|
+
revocationOptions?: Omit<RevocationHandlerOptions, 'provider'>;
|
|
43
|
+
tokenOptions?: Omit<TokenHandlerOptions, 'provider'>;
|
|
44
|
+
};
|
|
45
|
+
export declare const createOAuthMetadata: (options: {
|
|
46
|
+
provider: OAuthServerProvider;
|
|
47
|
+
issuerUrl: URL;
|
|
48
|
+
baseUrl?: URL;
|
|
49
|
+
serviceDocumentationUrl?: URL;
|
|
50
|
+
scopesSupported?: string[];
|
|
51
|
+
}) => OAuthMetadata;
|
|
52
|
+
/**
|
|
53
|
+
* Installs standard MCP authorization server endpoints, including dynamic client registration and token revocation (if supported).
|
|
54
|
+
* Also advertises standard authorization server metadata, for easier discovery of supported configurations by clients.
|
|
55
|
+
* Note: if your MCP server is only a resource server and not an authorization server, use mcpAuthMetadataRouter instead.
|
|
56
|
+
*
|
|
57
|
+
* By default, rate limiting is applied to all endpoints to prevent abuse.
|
|
58
|
+
*
|
|
59
|
+
* This router MUST be installed at the application root, like so:
|
|
60
|
+
*
|
|
61
|
+
* const app = express();
|
|
62
|
+
* app.use(mcpAuthRouter(...));
|
|
63
|
+
*/
|
|
64
|
+
export declare function mcpAuthRouter(options: AuthRouterOptions): RequestHandler;
|
|
65
|
+
export type AuthMetadataOptions = {
|
|
66
|
+
/**
|
|
67
|
+
* OAuth Metadata as would be returned from the authorization server
|
|
68
|
+
* this MCP server relies on
|
|
69
|
+
*/
|
|
70
|
+
oauthMetadata: OAuthMetadata;
|
|
71
|
+
/**
|
|
72
|
+
* The url of the MCP server, for use in protected resource metadata
|
|
73
|
+
*/
|
|
74
|
+
resourceServerUrl: URL;
|
|
75
|
+
/**
|
|
76
|
+
* The url for documentation for the MCP server
|
|
77
|
+
*/
|
|
78
|
+
serviceDocumentationUrl?: URL;
|
|
79
|
+
/**
|
|
80
|
+
* An optional list of scopes supported by this MCP server
|
|
81
|
+
*/
|
|
82
|
+
scopesSupported?: string[];
|
|
83
|
+
/**
|
|
84
|
+
* An optional resource name to display in resource metadata
|
|
85
|
+
*/
|
|
86
|
+
resourceName?: string;
|
|
87
|
+
};
|
|
88
|
+
export declare function mcpAuthMetadataRouter(options: AuthMetadataOptions): express.Router;
|
|
89
|
+
/**
|
|
90
|
+
* Helper function to construct the OAuth 2.0 Protected Resource Metadata URL
|
|
91
|
+
* from a given server URL. This replaces the path with the standard metadata endpoint.
|
|
92
|
+
*
|
|
93
|
+
* @param serverUrl - The base URL of the protected resource server
|
|
94
|
+
* @returns The URL for the OAuth protected resource metadata endpoint
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* getOAuthProtectedResourceMetadataUrl(new URL('https://api.example.com/mcp'))
|
|
98
|
+
* // Returns: 'https://api.example.com/.well-known/oauth-protected-resource/mcp'
|
|
99
|
+
*/
|
|
100
|
+
export declare function getOAuthProtectedResourceMetadataUrl(serverUrl: URL): string;
|
|
101
|
+
//# sourceMappingURL=router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../src/server/auth/router.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAA6B,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AACrG,OAAO,EAAgB,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAwB,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAqB,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,aAAa,EAAkC,MAAM,sBAAsB,CAAC;AAErF,MAAM,MAAM,iBAAiB,GAAG;IAC5B;;OAEG;IACH,QAAQ,EAAE,mBAAmB,CAAC;IAE9B;;OAEG;IACH,SAAS,EAAE,GAAG,CAAC;IAEf;;;;OAIG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC;IAEd;;OAEG;IACH,uBAAuB,CAAC,EAAE,GAAG,CAAC;IAE9B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,GAAG,CAAC;IAGxB,oBAAoB,CAAC,EAAE,IAAI,CAAC,2BAA2B,EAAE,UAAU,CAAC,CAAC;IACrE,yBAAyB,CAAC,EAAE,IAAI,CAAC,gCAAgC,EAAE,cAAc,CAAC,CAAC;IACnF,iBAAiB,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,UAAU,CAAC,CAAC;IAC/D,YAAY,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;CACxD,CAAC;AAeF,eAAO,MAAM,mBAAmB,YAAa;IACzC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,SAAS,EAAE,GAAG,CAAC;IACf,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,uBAAuB,CAAC,EAAE,GAAG,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B,KAAG,aAgCH,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAyCxE;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B;;;OAGG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B;;OAEG;IACH,iBAAiB,EAAE,GAAG,CAAC;IAEvB;;OAEG;IACH,uBAAuB,CAAC,EAAE,GAAG,CAAC;IAE9B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAuBlF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oCAAoC,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,CAI3E"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import express from 'express';
|
|
2
|
+
import { clientRegistrationHandler } from './handlers/register.js';
|
|
3
|
+
import { tokenHandler } from './handlers/token.js';
|
|
4
|
+
import { authorizationHandler } from './handlers/authorize.js';
|
|
5
|
+
import { revocationHandler } from './handlers/revoke.js';
|
|
6
|
+
import { metadataHandler } from './handlers/metadata.js';
|
|
7
|
+
const checkIssuerUrl = (issuer) => {
|
|
8
|
+
// Technically RFC 8414 does not permit a localhost HTTPS exemption, but this will be necessary for ease of testing
|
|
9
|
+
if (issuer.protocol !== 'https:' && issuer.hostname !== 'localhost' && issuer.hostname !== '127.0.0.1') {
|
|
10
|
+
throw new Error('Issuer URL must be HTTPS');
|
|
11
|
+
}
|
|
12
|
+
if (issuer.hash) {
|
|
13
|
+
throw new Error(`Issuer URL must not have a fragment: ${issuer}`);
|
|
14
|
+
}
|
|
15
|
+
if (issuer.search) {
|
|
16
|
+
throw new Error(`Issuer URL must not have a query string: ${issuer}`);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
export const createOAuthMetadata = (options) => {
|
|
20
|
+
var _a;
|
|
21
|
+
const issuer = options.issuerUrl;
|
|
22
|
+
const baseUrl = options.baseUrl;
|
|
23
|
+
checkIssuerUrl(issuer);
|
|
24
|
+
const authorization_endpoint = '/authorize';
|
|
25
|
+
const token_endpoint = '/token';
|
|
26
|
+
const registration_endpoint = options.provider.clientsStore.registerClient ? '/register' : undefined;
|
|
27
|
+
const revocation_endpoint = options.provider.revokeToken ? '/revoke' : undefined;
|
|
28
|
+
const metadata = {
|
|
29
|
+
issuer: issuer.href,
|
|
30
|
+
service_documentation: (_a = options.serviceDocumentationUrl) === null || _a === void 0 ? void 0 : _a.href,
|
|
31
|
+
authorization_endpoint: new URL(authorization_endpoint, baseUrl || issuer).href,
|
|
32
|
+
response_types_supported: ['code'],
|
|
33
|
+
code_challenge_methods_supported: ['S256'],
|
|
34
|
+
token_endpoint: new URL(token_endpoint, baseUrl || issuer).href,
|
|
35
|
+
token_endpoint_auth_methods_supported: ['client_secret_post'],
|
|
36
|
+
grant_types_supported: ['authorization_code', 'refresh_token'],
|
|
37
|
+
scopes_supported: options.scopesSupported,
|
|
38
|
+
revocation_endpoint: revocation_endpoint ? new URL(revocation_endpoint, baseUrl || issuer).href : undefined,
|
|
39
|
+
revocation_endpoint_auth_methods_supported: revocation_endpoint ? ['client_secret_post'] : undefined,
|
|
40
|
+
registration_endpoint: registration_endpoint ? new URL(registration_endpoint, baseUrl || issuer).href : undefined
|
|
41
|
+
};
|
|
42
|
+
return metadata;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Installs standard MCP authorization server endpoints, including dynamic client registration and token revocation (if supported).
|
|
46
|
+
* Also advertises standard authorization server metadata, for easier discovery of supported configurations by clients.
|
|
47
|
+
* Note: if your MCP server is only a resource server and not an authorization server, use mcpAuthMetadataRouter instead.
|
|
48
|
+
*
|
|
49
|
+
* By default, rate limiting is applied to all endpoints to prevent abuse.
|
|
50
|
+
*
|
|
51
|
+
* This router MUST be installed at the application root, like so:
|
|
52
|
+
*
|
|
53
|
+
* const app = express();
|
|
54
|
+
* app.use(mcpAuthRouter(...));
|
|
55
|
+
*/
|
|
56
|
+
export function mcpAuthRouter(options) {
|
|
57
|
+
var _a, _b;
|
|
58
|
+
const oauthMetadata = createOAuthMetadata(options);
|
|
59
|
+
const router = express.Router();
|
|
60
|
+
router.use(new URL(oauthMetadata.authorization_endpoint).pathname, authorizationHandler({ provider: options.provider, ...options.authorizationOptions }));
|
|
61
|
+
router.use(new URL(oauthMetadata.token_endpoint).pathname, tokenHandler({ provider: options.provider, ...options.tokenOptions }));
|
|
62
|
+
router.use(mcpAuthMetadataRouter({
|
|
63
|
+
oauthMetadata,
|
|
64
|
+
// Prefer explicit RS; otherwise fall back to AS baseUrl, then to issuer (back-compat)
|
|
65
|
+
resourceServerUrl: (_b = (_a = options.resourceServerUrl) !== null && _a !== void 0 ? _a : options.baseUrl) !== null && _b !== void 0 ? _b : new URL(oauthMetadata.issuer),
|
|
66
|
+
serviceDocumentationUrl: options.serviceDocumentationUrl,
|
|
67
|
+
scopesSupported: options.scopesSupported,
|
|
68
|
+
resourceName: options.resourceName
|
|
69
|
+
}));
|
|
70
|
+
if (oauthMetadata.registration_endpoint) {
|
|
71
|
+
router.use(new URL(oauthMetadata.registration_endpoint).pathname, clientRegistrationHandler({
|
|
72
|
+
clientsStore: options.provider.clientsStore,
|
|
73
|
+
...options.clientRegistrationOptions
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
76
|
+
if (oauthMetadata.revocation_endpoint) {
|
|
77
|
+
router.use(new URL(oauthMetadata.revocation_endpoint).pathname, revocationHandler({ provider: options.provider, ...options.revocationOptions }));
|
|
78
|
+
}
|
|
79
|
+
return router;
|
|
80
|
+
}
|
|
81
|
+
export function mcpAuthMetadataRouter(options) {
|
|
82
|
+
var _a;
|
|
83
|
+
checkIssuerUrl(new URL(options.oauthMetadata.issuer));
|
|
84
|
+
const router = express.Router();
|
|
85
|
+
const protectedResourceMetadata = {
|
|
86
|
+
resource: options.resourceServerUrl.href,
|
|
87
|
+
authorization_servers: [options.oauthMetadata.issuer],
|
|
88
|
+
scopes_supported: options.scopesSupported,
|
|
89
|
+
resource_name: options.resourceName,
|
|
90
|
+
resource_documentation: (_a = options.serviceDocumentationUrl) === null || _a === void 0 ? void 0 : _a.href
|
|
91
|
+
};
|
|
92
|
+
// Serve PRM at the path-specific URL per RFC 9728
|
|
93
|
+
const rsPath = new URL(options.resourceServerUrl.href).pathname;
|
|
94
|
+
router.use(`/.well-known/oauth-protected-resource${rsPath === '/' ? '' : rsPath}`, metadataHandler(protectedResourceMetadata));
|
|
95
|
+
// Always add this for OAuth Authorization Server metadata per RFC 8414
|
|
96
|
+
router.use('/.well-known/oauth-authorization-server', metadataHandler(options.oauthMetadata));
|
|
97
|
+
return router;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Helper function to construct the OAuth 2.0 Protected Resource Metadata URL
|
|
101
|
+
* from a given server URL. This replaces the path with the standard metadata endpoint.
|
|
102
|
+
*
|
|
103
|
+
* @param serverUrl - The base URL of the protected resource server
|
|
104
|
+
* @returns The URL for the OAuth protected resource metadata endpoint
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* getOAuthProtectedResourceMetadataUrl(new URL('https://api.example.com/mcp'))
|
|
108
|
+
* // Returns: 'https://api.example.com/.well-known/oauth-protected-resource/mcp'
|
|
109
|
+
*/
|
|
110
|
+
export function getOAuthProtectedResourceMetadataUrl(serverUrl) {
|
|
111
|
+
const u = new URL(serverUrl.href);
|
|
112
|
+
const rsPath = u.pathname && u.pathname !== '/' ? u.pathname : '';
|
|
113
|
+
return new URL(`/.well-known/oauth-protected-resource${rsPath}`, u).href;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../src/server/auth/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Information about a validated access token, provided to request handlers.
|
|
3
|
+
*/
|
|
4
|
+
export interface AuthInfo {
|
|
5
|
+
/**
|
|
6
|
+
* The access token.
|
|
7
|
+
*/
|
|
8
|
+
token: string;
|
|
9
|
+
/**
|
|
10
|
+
* The client ID associated with this token.
|
|
11
|
+
*/
|
|
12
|
+
clientId: string;
|
|
13
|
+
/**
|
|
14
|
+
* Scopes associated with this token.
|
|
15
|
+
*/
|
|
16
|
+
scopes: string[];
|
|
17
|
+
/**
|
|
18
|
+
* When the token expires (in seconds since epoch).
|
|
19
|
+
*/
|
|
20
|
+
expiresAt?: number;
|
|
21
|
+
/**
|
|
22
|
+
* The RFC 8707 resource server identifier for which this token is valid.
|
|
23
|
+
* If set, this MUST match the MCP server's resource identifier (minus hash fragment).
|
|
24
|
+
*/
|
|
25
|
+
resource?: URL;
|
|
26
|
+
/**
|
|
27
|
+
* Additional data associated with the token.
|
|
28
|
+
* This field should be used for any additional data that needs to be attached to the auth info.
|
|
29
|
+
*/
|
|
30
|
+
extra?: Record<string, unknown>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/auth/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/server/auth/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ZodTypeAny, ZodTypeDef, ZodType, ParseInput, ParseReturnType, RawCreateParams } from 'zod';
|
|
2
|
+
export declare enum McpZodTypeKind {
|
|
3
|
+
Completable = "McpCompletable"
|
|
4
|
+
}
|
|
5
|
+
export type CompleteCallback<T extends ZodTypeAny = ZodTypeAny> = (value: T['_input'], context?: {
|
|
6
|
+
arguments?: Record<string, string>;
|
|
7
|
+
}) => T['_input'][] | Promise<T['_input'][]>;
|
|
8
|
+
export interface CompletableDef<T extends ZodTypeAny = ZodTypeAny> extends ZodTypeDef {
|
|
9
|
+
type: T;
|
|
10
|
+
complete: CompleteCallback<T>;
|
|
11
|
+
typeName: McpZodTypeKind.Completable;
|
|
12
|
+
}
|
|
13
|
+
export declare class Completable<T extends ZodTypeAny> extends ZodType<T['_output'], CompletableDef<T>, T['_input']> {
|
|
14
|
+
_parse(input: ParseInput): ParseReturnType<this['_output']>;
|
|
15
|
+
unwrap(): T;
|
|
16
|
+
static create: <T_1 extends ZodTypeAny>(type: T_1, params: RawCreateParams & {
|
|
17
|
+
complete: CompleteCallback<T_1>;
|
|
18
|
+
}) => Completable<T_1>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Wraps a Zod type to provide autocompletion capabilities. Useful for, e.g., prompt arguments in MCP.
|
|
22
|
+
*/
|
|
23
|
+
export declare function completable<T extends ZodTypeAny>(schema: T, complete: CompleteCallback<T>): Completable<T>;
|
|
24
|
+
//# sourceMappingURL=completable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completable.d.ts","sourceRoot":"","sources":["../../../src/server/completable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAsC,MAAM,KAAK,CAAC;AAExI,oBAAY,cAAc;IACtB,WAAW,mBAAmB;CACjC;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,CAC9D,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,EAClB,OAAO,CAAC,EAAE;IACN,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC,KACA,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAE5C,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,UAAU;IACjF,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC9B,QAAQ,EAAE,cAAc,CAAC,WAAW,CAAC;CACxC;AAED,qBAAa,WAAW,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxG,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAU3D,MAAM;IAIN,MAAM,CAAC,MAAM,eAAc,UAAU,QAC3B,GAAC,UACC,eAAe,GAAG;QACtB,QAAQ,EAAE,gBAAgB,CAAC,GAAC,CAAC,CAAC;KACjC,KACF,WAAW,CAAC,GAAC,CAAC,CAOf;CACL;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAE1G"}
|