@mcp-abap-adt/core 2.1.3 → 2.1.4
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/CHANGELOG.md +4 -0
- package/dist/bin/help.d.ts +6 -0
- package/dist/bin/help.d.ts.map +1 -0
- package/dist/bin/help.js +59 -0
- package/dist/bin/mcp-abap-adt-v2.d.ts +9 -0
- package/dist/bin/mcp-abap-adt-v2.d.ts.map +1 -0
- package/dist/bin/mcp-abap-adt-v2.js +247 -0
- package/dist/handlers/behavior_definition/readonly/handleGetBdef.d.ts +21 -0
- package/dist/handlers/behavior_definition/readonly/handleGetBdef.d.ts.map +1 -0
- package/dist/handlers/behavior_definition/readonly/handleGetBdef.js +24 -0
- package/dist/handlers/behavior_definition/readonly/handleGetBdef.js.map +1 -0
- package/dist/handlers/class/high/handleCreateLocalTestClass.d.ts.map +1 -1
- package/dist/handlers/class/high/handleCreateLocalTestClass.js +6 -1
- package/dist/handlers/class/high/handleCreateLocalTestClass.js.map +1 -1
- package/dist/handlers/class/high/handleGetUnitTest.d.ts +38 -0
- package/dist/handlers/class/high/handleGetUnitTest.d.ts.map +1 -0
- package/dist/handlers/class/high/handleGetUnitTest.js +73 -0
- package/dist/handlers/class/high/handleGetUnitTest.js.map +1 -0
- package/dist/handlers/class/high/handleRunUnitTest.d.ts +122 -0
- package/dist/handlers/class/high/handleRunUnitTest.d.ts.map +1 -0
- package/dist/handlers/class/high/handleRunUnitTest.js +133 -0
- package/dist/handlers/class/high/handleRunUnitTest.js.map +1 -0
- package/dist/handlers/class/readonly/handleGetClass.d.ts +23 -0
- package/dist/handlers/class/readonly/handleGetClass.d.ts.map +1 -0
- package/dist/handlers/class/readonly/handleGetClass.js +77 -0
- package/dist/handlers/class/readonly/handleGetClass.js.map +1 -0
- package/dist/handlers/data_element/readonly/handleGetDataElement.d.ts +23 -0
- package/dist/handlers/data_element/readonly/handleGetDataElement.d.ts.map +1 -0
- package/dist/handlers/data_element/readonly/handleGetDataElement.js +79 -0
- package/dist/handlers/data_element/readonly/handleGetDataElement.js.map +1 -0
- package/dist/handlers/domain/readonly/handleGetDomain.d.ts +23 -0
- package/dist/handlers/domain/readonly/handleGetDomain.d.ts.map +1 -0
- package/dist/handlers/domain/readonly/handleGetDomain.js +79 -0
- package/dist/handlers/domain/readonly/handleGetDomain.js.map +1 -0
- package/dist/handlers/function/readonly/handleGetFunctionGroup.d.ts +23 -0
- package/dist/handlers/function/readonly/handleGetFunctionGroup.d.ts.map +1 -0
- package/dist/handlers/function/readonly/handleGetFunctionGroup.js +77 -0
- package/dist/handlers/function/readonly/handleGetFunctionGroup.js.map +1 -0
- package/dist/handlers/interface/readonly/handleGetInterface.d.ts +23 -0
- package/dist/handlers/interface/readonly/handleGetInterface.d.ts.map +1 -0
- package/dist/handlers/interface/readonly/handleGetInterface.js +77 -0
- package/dist/handlers/interface/readonly/handleGetInterface.js.map +1 -0
- package/dist/handlers/package/readonly/handleGetPackage.d.ts +22 -0
- package/dist/handlers/package/readonly/handleGetPackage.d.ts.map +1 -0
- package/dist/handlers/package/readonly/handleGetPackage.js +108 -0
- package/dist/handlers/package/readonly/handleGetPackage.js.map +1 -0
- package/dist/handlers/program/readonly/handleGetProgram.d.ts +23 -0
- package/dist/handlers/program/readonly/handleGetProgram.d.ts.map +1 -0
- package/dist/handlers/program/readonly/handleGetProgram.js +77 -0
- package/dist/handlers/program/readonly/handleGetProgram.js.map +1 -0
- package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.d.ts +18 -0
- package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.d.ts.map +1 -0
- package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.js +109 -0
- package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.js.map +1 -0
- package/dist/handlers/structure/readonly/handleGetStructure.d.ts +23 -0
- package/dist/handlers/structure/readonly/handleGetStructure.d.ts.map +1 -0
- package/dist/handlers/structure/readonly/handleGetStructure.js +77 -0
- package/dist/handlers/structure/readonly/handleGetStructure.js.map +1 -0
- package/dist/handlers/table/readonly/handleGetTable.d.ts +23 -0
- package/dist/handlers/table/readonly/handleGetTable.d.ts.map +1 -0
- package/dist/handlers/table/readonly/handleGetTable.js +77 -0
- package/dist/handlers/table/readonly/handleGetTable.js.map +1 -0
- package/dist/handlers/view/readonly/handleGetView.d.ts +33 -0
- package/dist/handlers/view/readonly/handleGetView.d.ts.map +1 -0
- package/dist/handlers/view/readonly/handleGetView.js +90 -0
- package/dist/handlers/view/readonly/handleGetView.js.map +1 -0
- package/dist/index.d.ts +126 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2979 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/ServerConfigManager.d.ts +90 -0
- package/dist/lib/ServerConfigManager.d.ts.map +1 -0
- package/dist/lib/ServerConfigManager.js +237 -0
- package/dist/lib/ServerConfigManager.js.map +1 -0
- package/dist/lib/activationUtils.d.ts +59 -0
- package/dist/lib/activationUtils.d.ts.map +1 -0
- package/dist/lib/activationUtils.js +168 -0
- package/dist/lib/authBrokerFactory.d.ts +96 -0
- package/dist/lib/authBrokerFactory.d.ts.map +1 -0
- package/dist/lib/authBrokerFactory.js +531 -0
- package/dist/lib/authBrokerFactory.js.map +1 -0
- package/dist/lib/config/ServerConfig.d.ts +17 -0
- package/dist/lib/config/ServerConfig.d.ts.map +1 -0
- package/dist/lib/config/ServerConfig.js +7 -0
- package/dist/lib/config/ServerConfig.js.map +1 -0
- package/dist/lib/getFullCodeCache.d.ts +3 -0
- package/dist/lib/getFullCodeCache.d.ts.map +1 -0
- package/dist/lib/getFullCodeCache.js +56 -0
- package/dist/lib/handlers/handlers/base/BaseHandlerGroup.d.ts +36 -0
- package/dist/lib/handlers/handlers/base/BaseHandlerGroup.d.ts.map +1 -0
- package/dist/lib/handlers/handlers/base/BaseHandlerGroup.js +268 -0
- package/dist/lib/handlers/handlers/base/BaseHandlerGroup.js.map +1 -0
- package/dist/lib/handlers/handlers/examples/usage-example.d.ts +29 -0
- package/dist/lib/handlers/handlers/examples/usage-example.d.ts.map +1 -0
- package/dist/lib/handlers/handlers/examples/usage-example.js +119 -0
- package/dist/lib/handlers/handlers/examples/usage-example.js.map +1 -0
- package/dist/lib/handlers/handlers/groups/HighLevelHandlersGroup.d.ts +14 -0
- package/dist/lib/handlers/handlers/groups/HighLevelHandlersGroup.d.ts.map +1 -0
- package/dist/lib/handlers/handlers/groups/HighLevelHandlersGroup.js +322 -0
- package/dist/lib/handlers/handlers/groups/HighLevelHandlersGroup.js.map +1 -0
- package/dist/lib/handlers/handlers/groups/LowLevelHandlersGroup.d.ts +14 -0
- package/dist/lib/handlers/handlers/groups/LowLevelHandlersGroup.d.ts.map +1 -0
- package/dist/lib/handlers/handlers/groups/LowLevelHandlersGroup.js +1214 -0
- package/dist/lib/handlers/handlers/groups/LowLevelHandlersGroup.js.map +1 -0
- package/dist/lib/handlers/handlers/groups/ReadOnlyHandlersGroup.d.ts +14 -0
- package/dist/lib/handlers/handlers/groups/ReadOnlyHandlersGroup.d.ts.map +1 -0
- package/dist/lib/handlers/handlers/groups/ReadOnlyHandlersGroup.js +232 -0
- package/dist/lib/handlers/handlers/groups/ReadOnlyHandlersGroup.js.map +1 -0
- package/dist/lib/handlers/handlers/groups/SearchHandlersGroup.d.ts +14 -0
- package/dist/lib/handlers/handlers/groups/SearchHandlersGroup.d.ts.map +1 -0
- package/dist/lib/handlers/handlers/groups/SearchHandlersGroup.js +57 -0
- package/dist/lib/handlers/handlers/groups/SearchHandlersGroup.js.map +1 -0
- package/dist/lib/handlers/handlers/groups/SystemHandlersGroup.d.ts +14 -0
- package/dist/lib/handlers/handlers/groups/SystemHandlersGroup.d.ts.map +1 -0
- package/dist/lib/handlers/handlers/groups/SystemHandlersGroup.js +176 -0
- package/dist/lib/handlers/handlers/groups/SystemHandlersGroup.js.map +1 -0
- package/dist/lib/handlers/handlers/groups/index.d.ts +13 -0
- package/dist/lib/handlers/handlers/groups/index.d.ts.map +1 -0
- package/dist/lib/handlers/handlers/groups/index.js +21 -0
- package/dist/lib/handlers/handlers/groups/index.js.map +1 -0
- package/dist/lib/handlers/handlers/index.d.ts +14 -0
- package/dist/lib/handlers/handlers/index.d.ts.map +1 -0
- package/dist/lib/handlers/handlers/index.js +37 -0
- package/dist/lib/handlers/handlers/index.js.map +1 -0
- package/dist/lib/handlers/handlers/interfaces.d.ts +67 -0
- package/dist/lib/handlers/handlers/interfaces.d.ts.map +1 -0
- package/dist/lib/handlers/handlers/interfaces.js +3 -0
- package/dist/lib/handlers/handlers/interfaces.js.map +1 -0
- package/dist/lib/handlers/handlers/registry/CompositeHandlersRegistry.d.ts +49 -0
- package/dist/lib/handlers/handlers/registry/CompositeHandlersRegistry.d.ts.map +1 -0
- package/dist/lib/handlers/handlers/registry/CompositeHandlersRegistry.js +88 -0
- package/dist/lib/handlers/handlers/registry/CompositeHandlersRegistry.js.map +1 -0
- package/dist/lib/runtimeConfig.d.ts +20 -0
- package/dist/lib/runtimeConfig.d.ts.map +1 -0
- package/dist/lib/runtimeConfig.js +130 -0
- package/dist/lib/runtimeConfig.js.map +1 -0
- package/dist/lib/servers/BaseMcpServer.d.ts +56 -0
- package/dist/lib/servers/BaseMcpServer.d.ts.map +1 -0
- package/dist/lib/servers/BaseMcpServer.js +198 -0
- package/dist/lib/servers/BaseMcpServer.js.map +1 -0
- package/dist/lib/servers/ConnectionContext.d.ts +20 -0
- package/dist/lib/servers/ConnectionContext.d.ts.map +1 -0
- package/dist/lib/servers/ConnectionContext.js +3 -0
- package/dist/lib/servers/ConnectionContext.js.map +1 -0
- package/dist/lib/servers/SseServer.d.ts +32 -0
- package/dist/lib/servers/SseServer.d.ts.map +1 -0
- package/dist/lib/servers/SseServer.js +139 -0
- package/dist/lib/servers/SseServer.js.map +1 -0
- package/dist/lib/servers/StdioServer.d.ts +20 -0
- package/dist/lib/servers/StdioServer.d.ts.map +1 -0
- package/dist/lib/servers/StdioServer.js +32 -0
- package/dist/lib/servers/StdioServer.js.map +1 -0
- package/dist/lib/servers/StreamableHttpServer.d.ts +30 -0
- package/dist/lib/servers/StreamableHttpServer.d.ts.map +1 -0
- package/dist/lib/servers/StreamableHttpServer.js +83 -0
- package/dist/lib/servers/StreamableHttpServer.js.map +1 -0
- package/dist/lib/servers/handlers/base/BaseHandlerGroup.d.ts +36 -0
- package/dist/lib/servers/handlers/base/BaseHandlerGroup.d.ts.map +1 -0
- package/dist/lib/servers/handlers/base/BaseHandlerGroup.js +268 -0
- package/dist/lib/servers/handlers/base/BaseHandlerGroup.js.map +1 -0
- package/dist/lib/servers/handlers/examples/usage-example.d.ts +29 -0
- package/dist/lib/servers/handlers/examples/usage-example.d.ts.map +1 -0
- package/dist/lib/servers/handlers/examples/usage-example.js +119 -0
- package/dist/lib/servers/handlers/examples/usage-example.js.map +1 -0
- package/dist/lib/servers/handlers/groups/HighLevelHandlersGroup.d.ts +14 -0
- package/dist/lib/servers/handlers/groups/HighLevelHandlersGroup.d.ts.map +1 -0
- package/dist/lib/servers/handlers/groups/HighLevelHandlersGroup.js +322 -0
- package/dist/lib/servers/handlers/groups/HighLevelHandlersGroup.js.map +1 -0
- package/dist/lib/servers/handlers/groups/LowLevelHandlersGroup.d.ts +14 -0
- package/dist/lib/servers/handlers/groups/LowLevelHandlersGroup.d.ts.map +1 -0
- package/dist/lib/servers/handlers/groups/LowLevelHandlersGroup.js +1214 -0
- package/dist/lib/servers/handlers/groups/LowLevelHandlersGroup.js.map +1 -0
- package/dist/lib/servers/handlers/groups/ReadOnlyHandlersGroup.d.ts +14 -0
- package/dist/lib/servers/handlers/groups/ReadOnlyHandlersGroup.d.ts.map +1 -0
- package/dist/lib/servers/handlers/groups/ReadOnlyHandlersGroup.js +232 -0
- package/dist/lib/servers/handlers/groups/ReadOnlyHandlersGroup.js.map +1 -0
- package/dist/lib/servers/handlers/groups/SearchHandlersGroup.d.ts +14 -0
- package/dist/lib/servers/handlers/groups/SearchHandlersGroup.d.ts.map +1 -0
- package/dist/lib/servers/handlers/groups/SearchHandlersGroup.js +57 -0
- package/dist/lib/servers/handlers/groups/SearchHandlersGroup.js.map +1 -0
- package/dist/lib/servers/handlers/groups/SystemHandlersGroup.d.ts +14 -0
- package/dist/lib/servers/handlers/groups/SystemHandlersGroup.d.ts.map +1 -0
- package/dist/lib/servers/handlers/groups/SystemHandlersGroup.js +176 -0
- package/dist/lib/servers/handlers/groups/SystemHandlersGroup.js.map +1 -0
- package/dist/lib/servers/handlers/groups/index.d.ts +13 -0
- package/dist/lib/servers/handlers/groups/index.d.ts.map +1 -0
- package/dist/lib/servers/handlers/groups/index.js +21 -0
- package/dist/lib/servers/handlers/groups/index.js.map +1 -0
- package/dist/lib/servers/handlers/index.d.ts +14 -0
- package/dist/lib/servers/handlers/index.d.ts.map +1 -0
- package/dist/lib/servers/handlers/index.js +37 -0
- package/dist/lib/servers/handlers/index.js.map +1 -0
- package/dist/lib/servers/handlers/interfaces.d.ts +67 -0
- package/dist/lib/servers/handlers/interfaces.d.ts.map +1 -0
- package/dist/lib/servers/handlers/interfaces.js +3 -0
- package/dist/lib/servers/handlers/interfaces.js.map +1 -0
- package/dist/lib/servers/handlers/registry/CompositeHandlersRegistry.d.ts +49 -0
- package/dist/lib/servers/handlers/registry/CompositeHandlersRegistry.d.ts.map +1 -0
- package/dist/lib/servers/handlers/registry/CompositeHandlersRegistry.js +88 -0
- package/dist/lib/servers/handlers/registry/CompositeHandlersRegistry.js.map +1 -0
- package/dist/lib/servers/index.d.ts +5 -0
- package/dist/lib/servers/index.d.ts.map +1 -0
- package/dist/lib/servers/index.js +21 -0
- package/dist/lib/servers/index.js.map +1 -0
- package/dist/lib/servers/launcher.d.ts +2 -0
- package/dist/lib/servers/launcher.d.ts.map +1 -0
- package/dist/lib/servers/launcher.js +123 -0
- package/dist/lib/servers/launcher.js.map +1 -0
- package/dist/lib/servers/mcp_handlers.d.ts +25 -0
- package/dist/lib/servers/mcp_handlers.d.ts.map +1 -0
- package/dist/lib/servers/mcp_handlers.js +822 -0
- package/dist/lib/servers/mcp_handlers.js.map +1 -0
- package/dist/lib/servers/mcp_server.d.ts +7 -0
- package/dist/lib/servers/mcp_server.d.ts.map +1 -0
- package/dist/lib/servers/mcp_server.js +12 -0
- package/dist/lib/servers/utils.d.ts +42 -0
- package/dist/lib/servers/utils.d.ts.map +1 -0
- package/dist/lib/servers/utils.js +620 -0
- package/dist/lib/servers/utils.js.map +1 -0
- package/dist/lib/servers/v2/__tests__/unit/McpServer.test.d.ts +7 -0
- package/dist/lib/servers/v2/__tests__/unit/McpServer.test.d.ts.map +1 -0
- package/dist/lib/servers/v2/__tests__/unit/McpServer.test.js +218 -0
- package/dist/lib/servers/v2/connection/LocalConnectionProvider.d.ts +20 -0
- package/dist/lib/servers/v2/connection/LocalConnectionProvider.d.ts.map +1 -0
- package/dist/lib/servers/v2/connection/LocalConnectionProvider.js +70 -0
- package/dist/lib/servers/v2/connection/RemoteConnectionProvider.d.ts +21 -0
- package/dist/lib/servers/v2/connection/RemoteConnectionProvider.d.ts.map +1 -0
- package/dist/lib/servers/v2/connection/RemoteConnectionProvider.js +36 -0
- package/dist/lib/servers/v2/connection/index.d.ts +6 -0
- package/dist/lib/servers/v2/connection/index.d.ts.map +1 -0
- package/dist/lib/servers/v2/connection/index.js +10 -0
- package/dist/lib/servers/v2/factory/AuthBrokerFactory.d.ts +29 -0
- package/dist/lib/servers/v2/factory/AuthBrokerFactory.d.ts.map +1 -0
- package/dist/lib/servers/v2/factory/AuthBrokerFactory.js +79 -0
- package/dist/lib/servers/v2/factory/LocalModeFactory.d.ts +38 -0
- package/dist/lib/servers/v2/factory/LocalModeFactory.d.ts.map +1 -0
- package/dist/lib/servers/v2/factory/LocalModeFactory.js +38 -0
- package/dist/lib/servers/v2/factory/index.d.ts +6 -0
- package/dist/lib/servers/v2/factory/index.d.ts.map +1 -0
- package/dist/lib/servers/v2/factory/index.js +10 -0
- package/dist/lib/servers/v2/index.d.ts +9 -0
- package/dist/lib/servers/v2/index.d.ts.map +1 -0
- package/dist/lib/servers/v2/index.js +27 -0
- package/dist/lib/servers/v2/index.js.map +1 -0
- package/dist/lib/servers/v2/interfaces/connection.d.ts +188 -0
- package/dist/lib/servers/v2/interfaces/connection.d.ts.map +1 -0
- package/dist/lib/servers/v2/interfaces/connection.js +7 -0
- package/dist/lib/servers/v2/interfaces/index.d.ts +10 -0
- package/dist/lib/servers/v2/interfaces/index.d.ts.map +1 -0
- package/dist/lib/servers/v2/interfaces/index.js +25 -0
- package/dist/lib/servers/v2/interfaces/protocol.d.ts +30 -0
- package/dist/lib/servers/v2/interfaces/protocol.d.ts.map +1 -0
- package/dist/lib/servers/v2/interfaces/protocol.js +7 -0
- package/dist/lib/servers/v2/interfaces/session.d.ts +98 -0
- package/dist/lib/servers/v2/interfaces/session.d.ts.map +1 -0
- package/dist/lib/servers/v2/interfaces/session.js +7 -0
- package/dist/lib/servers/v2/interfaces/transport.d.ts +88 -0
- package/dist/lib/servers/v2/interfaces/transport.d.ts.map +1 -0
- package/dist/lib/servers/v2/interfaces/transport.js +7 -0
- package/dist/lib/servers/v2/protocol/ProtocolHandler.d.ts +21 -0
- package/dist/lib/servers/v2/protocol/ProtocolHandler.d.ts.map +1 -0
- package/dist/lib/servers/v2/protocol/ProtocolHandler.js +77 -0
- package/dist/lib/servers/v2/protocol/index.d.ts +5 -0
- package/dist/lib/servers/v2/protocol/index.d.ts.map +1 -0
- package/dist/lib/servers/v2/protocol/index.js +8 -0
- package/dist/lib/servers/v2/server/McpServer.d.ts +76 -0
- package/dist/lib/servers/v2/server/McpServer.d.ts.map +1 -0
- package/dist/lib/servers/v2/server/McpServer.js +243 -0
- package/dist/lib/servers/v2/server/index.d.ts +5 -0
- package/dist/lib/servers/v2/server/index.d.ts.map +1 -0
- package/dist/lib/servers/v2/server/index.js +8 -0
- package/dist/lib/servers/v2/session/SessionManager.d.ts +40 -0
- package/dist/lib/servers/v2/session/SessionManager.d.ts.map +1 -0
- package/dist/lib/servers/v2/session/SessionManager.js +136 -0
- package/dist/lib/servers/v2/session/index.d.ts +5 -0
- package/dist/lib/servers/v2/session/index.d.ts.map +1 -0
- package/dist/lib/servers/v2/session/index.js +8 -0
- package/dist/lib/servers/v2/transports/SseTransport.d.ts +49 -0
- package/dist/lib/servers/v2/transports/SseTransport.d.ts.map +1 -0
- package/dist/lib/servers/v2/transports/SseTransport.js +89 -0
- package/dist/lib/servers/v2/transports/StdioTransport.d.ts +31 -0
- package/dist/lib/servers/v2/transports/StdioTransport.d.ts.map +1 -0
- package/dist/lib/servers/v2/transports/StdioTransport.js +91 -0
- package/dist/lib/servers/v2/transports/StreamableHttpTransport.d.ts +51 -0
- package/dist/lib/servers/v2/transports/StreamableHttpTransport.d.ts.map +1 -0
- package/dist/lib/servers/v2/transports/StreamableHttpTransport.js +147 -0
- package/dist/lib/servers/v2/transports/index.d.ts +7 -0
- package/dist/lib/servers/v2/transports/index.d.ts.map +1 -0
- package/dist/lib/servers/v2/transports/index.js +12 -0
- package/dist/lib/servers/v2/types/common.d.ts +17 -0
- package/dist/lib/servers/v2/types/common.d.ts.map +1 -0
- package/dist/lib/servers/v2/types/common.js +6 -0
- package/dist/lib/servers/v2/types/common.js.map +1 -0
- package/dist/lib/servers/v2/types/index.d.ts +8 -0
- package/dist/lib/servers/v2/types/index.d.ts.map +1 -0
- package/dist/lib/servers/v2/types/index.js +24 -0
- package/dist/lib/servers/v2/types/index.js.map +1 -0
- package/dist/lib/servers/v2/types/transport.d.ts +28 -0
- package/dist/lib/servers/v2/types/transport.d.ts.map +1 -0
- package/dist/lib/servers/v2/types/transport.js +8 -0
- package/dist/lib/servers/v2/types/transport.js.map +1 -0
- package/dist/lib/servers/v2/utils/StdioLogger.d.ts +17 -0
- package/dist/lib/servers/v2/utils/StdioLogger.d.ts.map +1 -0
- package/dist/lib/servers/v2/utils/StdioLogger.js +33 -0
- package/dist/lib/servers/v2/utils/StdioLogger.js.map +1 -0
- package/dist/lib/stores/UnixFileServiceKeyStore.d.ts +42 -0
- package/dist/lib/stores/UnixFileServiceKeyStore.d.ts.map +1 -0
- package/dist/lib/stores/UnixFileServiceKeyStore.js +53 -0
- package/dist/lib/stores/UnixFileSessionStore.d.ts +54 -0
- package/dist/lib/stores/UnixFileSessionStore.d.ts.map +1 -0
- package/dist/lib/stores/UnixFileSessionStore.js +70 -0
- package/dist/lib/stores/WindowsFileServiceKeyStore.d.ts +42 -0
- package/dist/lib/stores/WindowsFileServiceKeyStore.d.ts.map +1 -0
- package/dist/lib/stores/WindowsFileServiceKeyStore.js +53 -0
- package/dist/lib/stores/WindowsFileSessionStore.d.ts +54 -0
- package/dist/lib/stores/WindowsFileSessionStore.d.ts.map +1 -0
- package/dist/lib/stores/WindowsFileSessionStore.js +70 -0
- package/dist/lib/toolsRegistry.d.ts +13 -0
- package/dist/lib/toolsRegistry.d.ts.map +1 -0
- package/dist/lib/toolsRegistry.js +410 -0
- package/dist/lib/transportConfig.d.ts +27 -0
- package/dist/lib/transportConfig.d.ts.map +1 -0
- package/dist/lib/transportConfig.js +124 -0
- package/dist/lib/transports/stdio.d.ts +10 -0
- package/dist/lib/transports/stdio.d.ts.map +1 -0
- package/dist/lib/transports/stdio.js +73 -0
- package/dist/lib/yamlConfig.d.ts +59 -0
- package/dist/lib/yamlConfig.d.ts.map +1 -0
- package/dist/lib/yamlConfig.js +349 -0
- package/dist/lib/yamlConfig.js.map +1 -0
- package/dist/server/v1/AuthBrokerConfig.d.ts +19 -0
- package/dist/server/v1/AuthBrokerConfig.d.ts.map +1 -0
- package/dist/server/v1/AuthBrokerConfig.js +44 -0
- package/dist/server/v1/AuthBrokerConfig.js.map +1 -0
- package/dist/server/v1/IServerConfig.d.ts +17 -0
- package/dist/server/v1/IServerConfig.d.ts.map +1 -0
- package/dist/server/v1/IServerConfig.js +7 -0
- package/dist/server/v1/IServerConfig.js.map +1 -0
- package/dist/server/v1/ServerConfig.d.ts +16 -0
- package/dist/server/v1/ServerConfig.d.ts.map +1 -0
- package/dist/server/v1/ServerConfig.js +6 -0
- package/dist/server/v1/ServerConfig.js.map +1 -0
- package/dist/server/v1/embeddable-server.d.ts +89 -0
- package/dist/server/v1/embeddable-server.d.ts.map +1 -0
- package/dist/server/v1/embeddable-server.js +83 -0
- package/dist/server/v1/embeddable-server.js.map +1 -0
- package/dist/server/v1/index.d.ts +30 -0
- package/dist/server/v1/index.d.ts.map +1 -0
- package/dist/server/v1/index.js +65 -0
- package/dist/server/v1/index.js.map +1 -0
- package/dist/server/v1/legacy-server.d.ts +141 -0
- package/dist/server/v1/legacy-server.d.ts.map +1 -0
- package/dist/server/v1/legacy-server.js +2099 -0
- package/dist/server/v1/legacy-server.js.map +1 -0
- package/dist/server/v1/mcp_handlers.d.ts +19 -0
- package/dist/server/v1/mcp_handlers.d.ts.map +1 -0
- package/dist/server/v1/mcp_handlers.js +85 -0
- package/dist/server/v1/mcp_handlers.js.map +1 -0
- package/dist/server/v2/AuthBrokerConfig.d.ts +22 -0
- package/dist/server/v2/AuthBrokerConfig.d.ts.map +1 -0
- package/dist/server/v2/AuthBrokerConfig.js +46 -0
- package/dist/server/v2/AuthBrokerConfig.js.map +1 -0
- package/dist/server/v2/BaseMcpServer.d.ts +67 -0
- package/dist/server/v2/BaseMcpServer.d.ts.map +1 -0
- package/dist/server/v2/BaseMcpServer.js +273 -0
- package/dist/server/v2/BaseMcpServer.js.map +1 -0
- package/dist/server/v2/ConnectionContext.d.ts +20 -0
- package/dist/server/v2/ConnectionContext.d.ts.map +1 -0
- package/dist/server/v2/ConnectionContext.js +3 -0
- package/dist/server/v2/ConnectionContext.js.map +1 -0
- package/dist/server/v2/IHttpApplication.d.ts +42 -0
- package/dist/server/v2/IHttpApplication.d.ts.map +1 -0
- package/dist/server/v2/IHttpApplication.js +3 -0
- package/dist/server/v2/IHttpApplication.js.map +1 -0
- package/dist/server/v2/IServerConfig.d.ts +15 -0
- package/dist/server/v2/IServerConfig.d.ts.map +1 -0
- package/dist/server/v2/IServerConfig.js +7 -0
- package/dist/server/v2/IServerConfig.js.map +1 -0
- package/dist/server/v2/ServerConfig.d.ts +16 -0
- package/dist/server/v2/ServerConfig.d.ts.map +1 -0
- package/dist/server/v2/ServerConfig.js +6 -0
- package/dist/server/v2/ServerConfig.js.map +1 -0
- package/dist/server/v2/SseServer.d.ts +95 -0
- package/dist/server/v2/SseServer.d.ts.map +1 -0
- package/dist/server/v2/SseServer.js +217 -0
- package/dist/server/v2/SseServer.js.map +1 -0
- package/dist/server/v2/StdioServer.d.ts +20 -0
- package/dist/server/v2/StdioServer.d.ts.map +1 -0
- package/dist/server/v2/StdioServer.js +32 -0
- package/dist/server/v2/StdioServer.js.map +1 -0
- package/dist/server/v2/StreamableHttpServer.d.ts +94 -0
- package/dist/server/v2/StreamableHttpServer.d.ts.map +1 -0
- package/dist/server/v2/StreamableHttpServer.js +170 -0
- package/dist/server/v2/StreamableHttpServer.js.map +1 -0
- package/dist/server/v2/index.d.ts +6 -0
- package/dist/server/v2/index.d.ts.map +1 -0
- package/dist/server/v2/index.js +22 -0
- package/dist/server/v2/index.js.map +1 -0
- package/dist/server/v2/launcher.d.ts +2 -0
- package/dist/server/v2/launcher.d.ts.map +1 -0
- package/dist/server/v2/launcher.js +181 -0
- package/dist/server/v2/launcher.js.map +1 -0
- package/dist/server/v2/mcp_handlers.d.ts +25 -0
- package/dist/server/v2/mcp_handlers.d.ts.map +1 -0
- package/dist/server/v2/mcp_handlers.js +828 -0
- package/dist/server/v2/mcp_handlers.js.map +1 -0
- package/dist/server/v2/utils.d.ts +42 -0
- package/dist/server/v2/utils.d.ts.map +1 -0
- package/dist/server/v2/utils.js +620 -0
- package/dist/server/v2/utils.js.map +1 -0
- package/dist/tools/test-v2-server-stdio-compiled.js +132 -0
- package/dist/utils/lockStateManager.d.ts +2 -12
- package/dist/utils/lockStateManager.d.ts.map +1 -1
- package/dist/utils/lockStateManager.js +4 -63
- package/dist/utils/lockStateManager.js.map +1 -1
- package/docs/user-guide/AVAILABLE_TOOLS.md +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MCP Server v2 module exports
|
|
4
|
+
*
|
|
5
|
+
* Simplified architecture - only types and utilities
|
|
6
|
+
* Transports are used directly from @modelcontextprotocol/sdk
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
// Types
|
|
24
|
+
__exportStar(require("./types/index.js"), exports);
|
|
25
|
+
// Utilities
|
|
26
|
+
__exportStar(require("./utils/StdioLogger.js"), exports);
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/servers/v2/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,QAAQ;AACR,mDAAiC;AAEjC,YAAY;AACZ,yDAAuC"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connection provider interfaces
|
|
3
|
+
*
|
|
4
|
+
* Connection provider determines whether to use service keys + AuthBroker or only headers from client
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Service key structure
|
|
8
|
+
*/
|
|
9
|
+
export interface IServiceKey {
|
|
10
|
+
destination: string;
|
|
11
|
+
url: string;
|
|
12
|
+
uaaUrl?: string;
|
|
13
|
+
clientId?: string;
|
|
14
|
+
clientSecret?: string;
|
|
15
|
+
[key: string]: any;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Token data structure
|
|
19
|
+
*/
|
|
20
|
+
export interface ITokenData {
|
|
21
|
+
accessToken: string;
|
|
22
|
+
refreshToken?: string;
|
|
23
|
+
expiresAt?: Date;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Connection request
|
|
27
|
+
*/
|
|
28
|
+
export interface IConnectionRequest {
|
|
29
|
+
/** Session identifier */
|
|
30
|
+
sessionId: string;
|
|
31
|
+
/** Destination name (only for LOCAL mode) */
|
|
32
|
+
destination?: string;
|
|
33
|
+
/** HTTP headers (only for REMOTE mode) */
|
|
34
|
+
headers?: Record<string, string>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Connection parameters to SAP system
|
|
38
|
+
*/
|
|
39
|
+
export interface IConnectionParams {
|
|
40
|
+
/** SAP system URL */
|
|
41
|
+
sapUrl: string;
|
|
42
|
+
/** Authentication information */
|
|
43
|
+
auth: {
|
|
44
|
+
type: 'jwt' | 'basic';
|
|
45
|
+
jwtToken?: string;
|
|
46
|
+
refreshToken?: string;
|
|
47
|
+
username?: string;
|
|
48
|
+
password?: string;
|
|
49
|
+
};
|
|
50
|
+
/** Client number (optional) */
|
|
51
|
+
client?: string;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Connection provider interface
|
|
55
|
+
*
|
|
56
|
+
* Determines whether to use service keys + AuthBroker (LOCAL mode)
|
|
57
|
+
* or only headers from client (REMOTE mode)
|
|
58
|
+
*/
|
|
59
|
+
export interface IConnectionProvider {
|
|
60
|
+
/** Provider mode */
|
|
61
|
+
readonly mode: 'LOCAL' | 'REMOTE';
|
|
62
|
+
/**
|
|
63
|
+
* Gets connection parameters for session
|
|
64
|
+
* @param request - Request with session information and destination/headers
|
|
65
|
+
* @returns Connection parameters to SAP system
|
|
66
|
+
*/
|
|
67
|
+
getConnectionParams(request: IConnectionRequest): Promise<IConnectionParams>;
|
|
68
|
+
/**
|
|
69
|
+
* Updates connection parameters (e.g., after token refresh)
|
|
70
|
+
* @param sessionId - Session identifier
|
|
71
|
+
* @param params - Partial connection parameters to update
|
|
72
|
+
*/
|
|
73
|
+
updateConnectionParams(sessionId: string, params: Partial<IConnectionParams>): Promise<void>;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Service key store interface
|
|
77
|
+
*
|
|
78
|
+
* Abstraction for reading service keys from various sources
|
|
79
|
+
*/
|
|
80
|
+
export interface IServiceKeyStore {
|
|
81
|
+
/**
|
|
82
|
+
* Gets service key for destination
|
|
83
|
+
* @param destination - Destination name
|
|
84
|
+
* @returns Service key
|
|
85
|
+
*/
|
|
86
|
+
getServiceKey(destination: string): Promise<IServiceKey>;
|
|
87
|
+
/**
|
|
88
|
+
* Checks if service key exists for destination
|
|
89
|
+
* @param destination - Destination name
|
|
90
|
+
* @returns True if service key exists
|
|
91
|
+
*/
|
|
92
|
+
hasServiceKey(destination: string): Promise<boolean>;
|
|
93
|
+
/**
|
|
94
|
+
* Lists available destinations
|
|
95
|
+
* @returns Array of destination names
|
|
96
|
+
*/
|
|
97
|
+
listDestinations(): Promise<string[]>;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Session store interface
|
|
101
|
+
*
|
|
102
|
+
* Abstraction for storing tokens and sessions
|
|
103
|
+
*/
|
|
104
|
+
export interface ISessionStore {
|
|
105
|
+
/**
|
|
106
|
+
* Saves tokens for destination
|
|
107
|
+
* @param destination - Destination name
|
|
108
|
+
* @param tokens - Token data
|
|
109
|
+
*/
|
|
110
|
+
saveTokens(destination: string, tokens: ITokenData): Promise<void>;
|
|
111
|
+
/**
|
|
112
|
+
* Gets tokens for destination
|
|
113
|
+
* @param destination - Destination name
|
|
114
|
+
* @returns Token data or null if not found
|
|
115
|
+
*/
|
|
116
|
+
getTokens(destination: string): Promise<ITokenData | null>;
|
|
117
|
+
/**
|
|
118
|
+
* Deletes tokens for destination
|
|
119
|
+
* @param destination - Destination name
|
|
120
|
+
*/
|
|
121
|
+
deleteTokens(destination: string): Promise<void>;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Token provider interface
|
|
125
|
+
*
|
|
126
|
+
* Abstraction for obtaining tokens from BTP or other sources
|
|
127
|
+
*/
|
|
128
|
+
export interface ITokenProvider {
|
|
129
|
+
/**
|
|
130
|
+
* Gets token from service key
|
|
131
|
+
* @param serviceKey - Service key
|
|
132
|
+
* @returns Token data
|
|
133
|
+
*/
|
|
134
|
+
getToken(serviceKey: IServiceKey): Promise<ITokenData>;
|
|
135
|
+
/**
|
|
136
|
+
* Refreshes token using refresh token
|
|
137
|
+
* @param serviceKey - Service key
|
|
138
|
+
* @param refreshToken - Refresh token
|
|
139
|
+
* @returns New token data
|
|
140
|
+
*/
|
|
141
|
+
refreshToken(serviceKey: IServiceKey, refreshToken: string): Promise<ITokenData>;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Auth broker factory interface
|
|
145
|
+
*
|
|
146
|
+
* Creates and manages AuthBroker instances with injected dependencies
|
|
147
|
+
*/
|
|
148
|
+
export interface IAuthBrokerFactory {
|
|
149
|
+
/**
|
|
150
|
+
* Creates or returns existing AuthBroker for session
|
|
151
|
+
* ServiceKeyStore, SessionStore, and TokenProvider are injected into AuthBroker
|
|
152
|
+
* @param sessionId - Session identifier
|
|
153
|
+
* @param destination - Destination name
|
|
154
|
+
* @returns AuthBroker instance
|
|
155
|
+
*/
|
|
156
|
+
getOrCreateBroker(sessionId: string, destination: string): Promise<any>;
|
|
157
|
+
/**
|
|
158
|
+
* Gets existing AuthBroker
|
|
159
|
+
* @param sessionId - Session identifier
|
|
160
|
+
* @param destination - Destination name (optional, but recommended)
|
|
161
|
+
* @returns AuthBroker instance or undefined
|
|
162
|
+
*/
|
|
163
|
+
getBroker(sessionId: string, destination?: string): any | undefined;
|
|
164
|
+
/**
|
|
165
|
+
* Deletes AuthBroker for session
|
|
166
|
+
* @param sessionId - Session identifier
|
|
167
|
+
* @param destination - Destination name (optional, if not provided deletes all brokers for session)
|
|
168
|
+
*/
|
|
169
|
+
deleteBroker(sessionId: string, destination?: string): void;
|
|
170
|
+
/**
|
|
171
|
+
* Clears all brokers (on shutdown)
|
|
172
|
+
*/
|
|
173
|
+
clearAll(): void;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Header validator interface
|
|
177
|
+
*
|
|
178
|
+
* Validates and extracts connection parameters from HTTP headers
|
|
179
|
+
*/
|
|
180
|
+
export interface IHeaderValidator {
|
|
181
|
+
/**
|
|
182
|
+
* Validates and extracts connection parameters from headers
|
|
183
|
+
* @param headers - HTTP headers
|
|
184
|
+
* @returns Validated connection parameters
|
|
185
|
+
*/
|
|
186
|
+
validateAndExtract(headers: Record<string, string>): Promise<IConnectionParams>;
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=connection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../../src/lib/servers/v2/interfaces/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interfaces module exports
|
|
3
|
+
*
|
|
4
|
+
* All interfaces for Dependency Injection in v2 architecture
|
|
5
|
+
*/
|
|
6
|
+
export * from './transport.js';
|
|
7
|
+
export * from './connection.js';
|
|
8
|
+
export * from './session.js';
|
|
9
|
+
export * from './protocol.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/servers/v2/interfaces/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Interfaces module exports
|
|
4
|
+
*
|
|
5
|
+
* All interfaces for Dependency Injection in v2 architecture
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
__exportStar(require("./transport.js"), exports);
|
|
23
|
+
__exportStar(require("./connection.js"), exports);
|
|
24
|
+
__exportStar(require("./session.js"), exports);
|
|
25
|
+
__exportStar(require("./protocol.js"), exports);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Protocol handler interface
|
|
3
|
+
*
|
|
4
|
+
* Protocol handler processes MCP requests and routes them to appropriate handlers
|
|
5
|
+
*/
|
|
6
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
7
|
+
import { IHandlersRegistry } from '../../handlers/interfaces.js';
|
|
8
|
+
import { ISessionManager } from './session.js';
|
|
9
|
+
/**
|
|
10
|
+
* Protocol handler interface
|
|
11
|
+
*
|
|
12
|
+
* Processes MCP requests and routes them to appropriate handlers
|
|
13
|
+
*/
|
|
14
|
+
export interface IProtocolHandler {
|
|
15
|
+
/**
|
|
16
|
+
* Initializes protocol handler with handlers registry and MCP server
|
|
17
|
+
* @param handlersRegistry - Handlers registry
|
|
18
|
+
* @param mcpServer - MCP server SDK instance
|
|
19
|
+
* @param sessionManager - Session manager (optional, for setting session context)
|
|
20
|
+
*/
|
|
21
|
+
initialize(handlersRegistry: IHandlersRegistry, mcpServer: McpServer, sessionManager?: ISessionManager): void;
|
|
22
|
+
/**
|
|
23
|
+
* Handles incoming MCP request
|
|
24
|
+
* @param sessionId - Session identifier
|
|
25
|
+
* @param request - MCP request message
|
|
26
|
+
* @returns MCP response message
|
|
27
|
+
*/
|
|
28
|
+
handleRequest(sessionId: string, request: any): Promise<any>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../../../src/lib/servers/v2/interfaces/protocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,UAAU,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAE9G;;;;;OAKG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAC9D"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session management interfaces
|
|
3
|
+
*
|
|
4
|
+
* Session manager manages sessions that contain connection parameters to ABAP environment
|
|
5
|
+
*/
|
|
6
|
+
import { IClientInfo } from './transport.js';
|
|
7
|
+
import { IConnectionParams } from './connection.js';
|
|
8
|
+
/**
|
|
9
|
+
* Unified session interface
|
|
10
|
+
*
|
|
11
|
+
* Single session type with two session IDs:
|
|
12
|
+
* - clientSessionId: Identifies the client connection (UUID, managed by server)
|
|
13
|
+
* - abapSessionId: Identifies the SAP ABAP connection (SAP_SESSIONID cookie, optional)
|
|
14
|
+
*/
|
|
15
|
+
export interface ISession {
|
|
16
|
+
/**
|
|
17
|
+
* Client session ID - identifies the client connection
|
|
18
|
+
* UUID, managed by server
|
|
19
|
+
*/
|
|
20
|
+
readonly clientSessionId: string;
|
|
21
|
+
/** Session creation timestamp */
|
|
22
|
+
readonly createdAt: Date;
|
|
23
|
+
/** Last activity timestamp */
|
|
24
|
+
lastActivity: Date;
|
|
25
|
+
/**
|
|
26
|
+
* Connection parameters to ABAP environment
|
|
27
|
+
* This is the main session information - how to connect to SAP system
|
|
28
|
+
* Required field
|
|
29
|
+
*/
|
|
30
|
+
connectionParams: IConnectionParams;
|
|
31
|
+
/**
|
|
32
|
+
* SAP ABAP session (optional) - only present when SAP cookies are available
|
|
33
|
+
* Used for stateful operations (lock, unlock, etc.)
|
|
34
|
+
*/
|
|
35
|
+
abapSession?: {
|
|
36
|
+
/** SAP_SESSIONID cookie value */
|
|
37
|
+
abapSessionId: string;
|
|
38
|
+
/** All SAP cookies for stateful operations */
|
|
39
|
+
cookies: string[];
|
|
40
|
+
/** X-CSRF-Token (optional) */
|
|
41
|
+
securityToken?: string;
|
|
42
|
+
};
|
|
43
|
+
/** Session metadata */
|
|
44
|
+
metadata: {
|
|
45
|
+
/** Transport type */
|
|
46
|
+
transport: 'stdio' | 'sse' | 'http';
|
|
47
|
+
/** Client IP address (if available) */
|
|
48
|
+
clientIP?: string;
|
|
49
|
+
/** Request count */
|
|
50
|
+
requestCount: number;
|
|
51
|
+
/** Error count */
|
|
52
|
+
errorCount: number;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Session manager interface
|
|
57
|
+
*
|
|
58
|
+
* Manages sessions that contain connection parameters to ABAP environment
|
|
59
|
+
*/
|
|
60
|
+
export interface ISessionManager {
|
|
61
|
+
/**
|
|
62
|
+
* Creates a new session with clientSessionId
|
|
63
|
+
* @param clientInfo - Information about the client connection
|
|
64
|
+
* @returns New session with clientSessionId (UUID) and connectionParams
|
|
65
|
+
*/
|
|
66
|
+
createSession(clientInfo: IClientInfo): ISession;
|
|
67
|
+
/**
|
|
68
|
+
* Gets session by clientSessionId
|
|
69
|
+
* @param clientSessionId - Client session identifier
|
|
70
|
+
* @returns Session or undefined if not found
|
|
71
|
+
*/
|
|
72
|
+
getSession(clientSessionId: string): ISession | undefined;
|
|
73
|
+
/**
|
|
74
|
+
* Deletes session by clientSessionId
|
|
75
|
+
* @param clientSessionId - Client session identifier
|
|
76
|
+
*/
|
|
77
|
+
deleteSession(clientSessionId: string): void;
|
|
78
|
+
/**
|
|
79
|
+
* Sets SAP ABAP session cookies when received from SAP
|
|
80
|
+
* @param clientSessionId - Client session ID
|
|
81
|
+
* @param sapCookies - Cookies from SAP response (Set-Cookie headers)
|
|
82
|
+
*/
|
|
83
|
+
setAbapSession(clientSessionId: string, sapCookies: string[]): void;
|
|
84
|
+
/**
|
|
85
|
+
* Clears SAP ABAP session (e.g., on expiry or cleanup)
|
|
86
|
+
* @param clientSessionId - Client session ID
|
|
87
|
+
*/
|
|
88
|
+
clearAbapSession(clientSessionId: string): void;
|
|
89
|
+
/**
|
|
90
|
+
* Register event handler
|
|
91
|
+
* @param event - Event name
|
|
92
|
+
* @param handler - Event handler function
|
|
93
|
+
*/
|
|
94
|
+
on(event: 'created', handler: (session: ISession) => void): void;
|
|
95
|
+
on(event: 'closed', handler: (session: ISession) => void): void;
|
|
96
|
+
on(event: 'abapSessionSet', handler: (session: ISession) => void): void;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../../src/lib/servers/v2/interfaces/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,iCAAiC;IACjC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IAEzB,8BAA8B;IAC9B,YAAY,EAAE,IAAI,CAAC;IAEnB;;;;OAIG;IACH,gBAAgB,EAAE,iBAAiB,CAAC;IAEpC;;;OAGG;IACH,WAAW,CAAC,EAAE;QACZ,iCAAiC;QACjC,aAAa,EAAE,MAAM,CAAC;QACtB,8CAA8C;QAC9C,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,8BAA8B;QAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IAEF,uBAAuB;IACvB,QAAQ,EAAE;QACR,qBAAqB;QACrB,SAAS,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;QACpC,uCAAuC;QACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,oBAAoB;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,kBAAkB;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW,GAAG,QAAQ,CAAC;IAEjD;;;;OAIG;IACH,UAAU,CAAC,eAAe,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAE1D;;;OAGG;IACH,aAAa,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7C;;;;OAIG;IACH,cAAc,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEpE;;;OAGG;IACH,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhD;;;;OAIG;IACH,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC;IACjE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC;IAChE,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC;CACzE"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport layer interfaces
|
|
3
|
+
*
|
|
4
|
+
* Transport layer determines whether the server will be local (127.0.0.1) or global (0.0.0.0)
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Client information extracted from transport connection
|
|
8
|
+
*/
|
|
9
|
+
export interface IClientInfo {
|
|
10
|
+
/** Transport type */
|
|
11
|
+
transport: 'stdio' | 'sse' | 'http';
|
|
12
|
+
/** Client IP address (if available) */
|
|
13
|
+
ip?: string;
|
|
14
|
+
/** HTTP headers (if available) */
|
|
15
|
+
headers?: Record<string, string>;
|
|
16
|
+
/** User agent (if available) */
|
|
17
|
+
userAgent?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* MCP message type (from SDK)
|
|
21
|
+
*/
|
|
22
|
+
export type McpMessage = any;
|
|
23
|
+
/**
|
|
24
|
+
* Session initialization callback
|
|
25
|
+
* Called by transport when session needs to be initialized
|
|
26
|
+
* @param sessionId - Session identifier
|
|
27
|
+
* @param clientInfo - Client information
|
|
28
|
+
* @param destination - Optional destination name (for LOCAL mode)
|
|
29
|
+
* @returns Promise that resolves when session is initialized
|
|
30
|
+
*/
|
|
31
|
+
export type SessionInitializationCallback = (sessionId: string, clientInfo: IClientInfo, destination?: string) => Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Transport interface
|
|
34
|
+
*
|
|
35
|
+
* Wraps MCP SDK transports (StdioServerTransport, SSEServerTransport, StreamableHTTPServerTransport)
|
|
36
|
+
* to provide unified interface for server implementation
|
|
37
|
+
*/
|
|
38
|
+
export interface ITransport {
|
|
39
|
+
/** Transport type */
|
|
40
|
+
readonly type: 'stdio' | 'sse' | 'http';
|
|
41
|
+
/** Bind address - determines mode: '127.0.0.1' = LOCAL, '0.0.0.0' = REMOTE */
|
|
42
|
+
readonly bindAddress: string;
|
|
43
|
+
/** Port number (if applicable) */
|
|
44
|
+
readonly port?: number;
|
|
45
|
+
/**
|
|
46
|
+
* Start the transport
|
|
47
|
+
*/
|
|
48
|
+
start(): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Connect SDK server to this transport
|
|
51
|
+
* Transport implementation decides how to connect SDK server and when to initialize sessions
|
|
52
|
+
* @param sdkServer - SDK MCP server instance
|
|
53
|
+
* @param initializeSession - Callback to initialize session (create session, get connection params, set context)
|
|
54
|
+
* @param defaultDestination - Optional default destination name (for LOCAL mode)
|
|
55
|
+
*/
|
|
56
|
+
connectSdkServer(sdkServer: any, // McpServer from SDK
|
|
57
|
+
initializeSession: SessionInitializationCallback, defaultDestination?: string): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Post start initialization of the transport
|
|
60
|
+
*/
|
|
61
|
+
postStartInitialization(): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Stop the transport
|
|
64
|
+
*/
|
|
65
|
+
stop(): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Register event handler
|
|
68
|
+
* @param event - Event name
|
|
69
|
+
* @param handler - Event handler function
|
|
70
|
+
*/
|
|
71
|
+
on(event: 'session:created', handler: (sessionId: string, clientInfo: IClientInfo) => void): void;
|
|
72
|
+
on(event: 'session:closed', handler: (sessionId: string) => void): void;
|
|
73
|
+
on(event: 'message', handler: (sessionId: string, message: McpMessage) => void): void;
|
|
74
|
+
/**
|
|
75
|
+
* Send message to client
|
|
76
|
+
* @param sessionId - Session identifier
|
|
77
|
+
* @param message - MCP message
|
|
78
|
+
*/
|
|
79
|
+
send(sessionId: string, message: McpMessage): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Handle HTTP request (only for HTTP transports)
|
|
82
|
+
* @param req - Incoming HTTP request
|
|
83
|
+
* @param res - Server response
|
|
84
|
+
* @param parsedBody - Optional pre-parsed request body
|
|
85
|
+
*/
|
|
86
|
+
handleRequest?(req: any, res: any, parsedBody?: unknown): Promise<void>;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../../src/lib/servers/v2/interfaces/transport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qBAAqB;IACrB,SAAS,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACpC,uCAAuC;IACvC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC;AAE7B;;;;;;;GAOG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAC1C,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,WAAW,EACvB,WAAW,CAAC,EAAE,MAAM,KACjB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,qBAAqB;IACrB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IAExC,8EAA8E;IAC9E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,kCAAkC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;;;;;OAMG;IACH,gBAAgB,CACd,SAAS,EAAE,GAAG,EAAE,qBAAqB;IACrC,iBAAiB,EAAE,6BAA6B,EAChD,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;OAEG;IACH,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB;;;;OAIG;IACH,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAAC;IAClG,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACxE,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IAEtF;;;;OAIG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D;;;;;OAKG;IACH,aAAa,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ProtocolHandler implementation
|
|
3
|
+
*
|
|
4
|
+
* Processes MCP requests and routes them to appropriate handlers
|
|
5
|
+
*/
|
|
6
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
7
|
+
import { IProtocolHandler } from '../interfaces/protocol.js';
|
|
8
|
+
import { IHandlersRegistry } from '../../handlers/interfaces.js';
|
|
9
|
+
import { ISessionManager } from '../interfaces/session.js';
|
|
10
|
+
/**
|
|
11
|
+
* ProtocolHandler - processes MCP requests and routes to handlers
|
|
12
|
+
*/
|
|
13
|
+
export declare class ProtocolHandler implements IProtocolHandler {
|
|
14
|
+
private handlersRegistry?;
|
|
15
|
+
private mcpServer?;
|
|
16
|
+
private sessionManager?;
|
|
17
|
+
initialize(handlersRegistry: IHandlersRegistry, mcpServer: McpServer, sessionManager?: ISessionManager): void;
|
|
18
|
+
handleRequest(sessionId: string, request: any): Promise<any>;
|
|
19
|
+
executeTool(sessionId: string, toolName: string, params: any): Promise<any>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=ProtocolHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProtocolHandler.d.ts","sourceRoot":"","sources":["../../../../../src/lib/servers/v2/protocol/ProtocolHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAI3D;;GAEG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,gBAAgB,CAAC,CAAoB;IAC7C,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAkB;IAEzC,UAAU,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,eAAe,GAAG,IAAI;IAWvG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAe5D,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CA8ClF"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ProtocolHandler implementation
|
|
4
|
+
*
|
|
5
|
+
* Processes MCP requests and routes them to appropriate handlers
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.ProtocolHandler = void 0;
|
|
9
|
+
const utils_js_1 = require("../../../utils.js");
|
|
10
|
+
/**
|
|
11
|
+
* ProtocolHandler - processes MCP requests and routes to handlers
|
|
12
|
+
*/
|
|
13
|
+
class ProtocolHandler {
|
|
14
|
+
handlersRegistry;
|
|
15
|
+
mcpServer;
|
|
16
|
+
sessionManager;
|
|
17
|
+
initialize(handlersRegistry, mcpServer, sessionManager) {
|
|
18
|
+
this.handlersRegistry = handlersRegistry;
|
|
19
|
+
this.mcpServer = mcpServer;
|
|
20
|
+
this.sessionManager = sessionManager;
|
|
21
|
+
// Register all tools from handlers registry
|
|
22
|
+
if (this.handlersRegistry) {
|
|
23
|
+
this.handlersRegistry.registerAllTools(mcpServer);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
async handleRequest(sessionId, request) {
|
|
27
|
+
if (!this.mcpServer) {
|
|
28
|
+
throw new Error('ProtocolHandler not initialized');
|
|
29
|
+
}
|
|
30
|
+
// Handle different request types
|
|
31
|
+
if (request.method === 'tools/call') {
|
|
32
|
+
return await this.executeTool(sessionId, request.params.name, request.params.arguments);
|
|
33
|
+
}
|
|
34
|
+
// For other request types, delegate to SDK server
|
|
35
|
+
// This is a placeholder - actual implementation will depend on SDK API
|
|
36
|
+
return request;
|
|
37
|
+
}
|
|
38
|
+
async executeTool(sessionId, toolName, params) {
|
|
39
|
+
if (!this.mcpServer) {
|
|
40
|
+
throw new Error('ProtocolHandler not initialized');
|
|
41
|
+
}
|
|
42
|
+
// Get session to access connection params
|
|
43
|
+
const session = this.sessionManager?.getSession(sessionId);
|
|
44
|
+
// Set session context for handlers to access connection params via getManagedConnection()
|
|
45
|
+
if (session?.connectionParams) {
|
|
46
|
+
// Convert IConnectionParams to SapConfig for sessionContext
|
|
47
|
+
const sapConfig = {
|
|
48
|
+
url: session.connectionParams.sapUrl,
|
|
49
|
+
authType: session.connectionParams.auth.type,
|
|
50
|
+
...(session.connectionParams.auth.type === 'jwt' && session.connectionParams.auth.jwtToken
|
|
51
|
+
? { jwtToken: session.connectionParams.auth.jwtToken }
|
|
52
|
+
: session.connectionParams.auth.type === 'basic' && session.connectionParams.auth.username && session.connectionParams.auth.password
|
|
53
|
+
? { username: session.connectionParams.auth.username, password: session.connectionParams.auth.password }
|
|
54
|
+
: {}),
|
|
55
|
+
...(session.connectionParams.client ? { client: session.connectionParams.client } : {}),
|
|
56
|
+
};
|
|
57
|
+
// Extract destination from session metadata or connection params
|
|
58
|
+
// Destination is used for AuthBroker-based token refresh in LOCAL mode
|
|
59
|
+
const destination = session.destination || session.connectionParams.destination;
|
|
60
|
+
// Run handler in session context so getManagedConnection() can access it
|
|
61
|
+
return await utils_js_1.sessionContext.run({
|
|
62
|
+
sessionId: session.clientSessionId,
|
|
63
|
+
sapConfig,
|
|
64
|
+
destination,
|
|
65
|
+
}, async () => {
|
|
66
|
+
// Execute tool through SDK server
|
|
67
|
+
// SDK server will use registered handlers from handlersRegistry
|
|
68
|
+
const result = await this.mcpServer.callTool?.(toolName, params);
|
|
69
|
+
return result;
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
// Fallback if no session context (should not happen in v2)
|
|
73
|
+
const result = await this.mcpServer.callTool?.(toolName, params);
|
|
74
|
+
return result;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.ProtocolHandler = ProtocolHandler;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/servers/v2/protocol/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Protocol handler implementations exports
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ProtocolHandler = void 0;
|
|
7
|
+
var ProtocolHandler_js_1 = require("./ProtocolHandler.js");
|
|
8
|
+
Object.defineProperty(exports, "ProtocolHandler", { enumerable: true, get: function () { return ProtocolHandler_js_1.ProtocolHandler; } });
|