@mcp-abap-adt/core 2.1.3 → 2.1.6
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 +18 -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/enhancement/readonly/handleGetEnhancements.d.ts.map +1 -1
- package/dist/handlers/enhancement/readonly/handleGetEnhancements.js +7 -7
- package/dist/handlers/enhancement/readonly/handleGetEnhancements.js.map +1 -1
- 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/include/readonly/handleGetIncludesList.d.ts.map +1 -1
- package/dist/handlers/include/readonly/handleGetIncludesList.js +8 -5
- package/dist/handlers/include/readonly/handleGetIncludesList.js.map +1 -1
- 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/search/readonly/handleGetObjectsByType.d.ts.map +1 -1
- package/dist/handlers/search/readonly/handleGetObjectsByType.js +5 -1
- package/dist/handlers/search/readonly/handleGetObjectsByType.js.map +1 -1
- package/dist/handlers/search/readonly/handleGetObjectsList.d.ts.map +1 -1
- package/dist/handlers/search/readonly/handleGetObjectsList.js +8 -4
- package/dist/handlers/search/readonly/handleGetObjectsList.js.map +1 -1
- 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/system/readonly/handleGetObjectInfo.d.ts.map +1 -1
- package/dist/handlers/system/readonly/handleGetObjectInfo.js +8 -14
- package/dist/handlers/system/readonly/handleGetObjectInfo.js.map +1 -1
- 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/utils.d.ts +37 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +83 -0
- package/dist/lib/utils.js.map +1 -1
- 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/launcher.js +49 -0
- package/dist/server/launcher.js.map +1 -1
- 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,218 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Unit tests for McpServer v2
|
|
4
|
+
*
|
|
5
|
+
* Tests with mocked implementations of all interfaces
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
/// <reference types="jest" />
|
|
9
|
+
const McpServer_js_1 = require("../../server/McpServer.js");
|
|
10
|
+
describe('McpServer', () => {
|
|
11
|
+
let mockTransport;
|
|
12
|
+
let mockSessionManager;
|
|
13
|
+
let mockConnectionProvider;
|
|
14
|
+
let mockProtocolHandler;
|
|
15
|
+
let mockHandlersRegistry;
|
|
16
|
+
let mockSdkServer;
|
|
17
|
+
let mockLogger;
|
|
18
|
+
beforeEach(() => {
|
|
19
|
+
// Mock Transport
|
|
20
|
+
mockTransport = {
|
|
21
|
+
type: 'stdio',
|
|
22
|
+
bindAddress: '127.0.0.1',
|
|
23
|
+
port: undefined,
|
|
24
|
+
start: jest.fn().mockResolvedValue(undefined),
|
|
25
|
+
stop: jest.fn().mockResolvedValue(undefined),
|
|
26
|
+
on: jest.fn(),
|
|
27
|
+
send: jest.fn().mockResolvedValue(undefined),
|
|
28
|
+
};
|
|
29
|
+
// Mock Session Manager
|
|
30
|
+
const mockSession = {
|
|
31
|
+
clientSessionId: 'test-session-id',
|
|
32
|
+
createdAt: new Date(),
|
|
33
|
+
lastActivity: new Date(),
|
|
34
|
+
connectionParams: {
|
|
35
|
+
sapUrl: 'https://test.sap.com',
|
|
36
|
+
auth: { type: 'jwt', jwtToken: 'test-token' },
|
|
37
|
+
},
|
|
38
|
+
metadata: {
|
|
39
|
+
transport: 'stdio',
|
|
40
|
+
requestCount: 0,
|
|
41
|
+
errorCount: 0,
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
mockSessionManager = {
|
|
45
|
+
createSession: jest.fn().mockReturnValue(mockSession),
|
|
46
|
+
getSession: jest.fn().mockReturnValue(mockSession),
|
|
47
|
+
deleteSession: jest.fn(),
|
|
48
|
+
setAbapSession: jest.fn(),
|
|
49
|
+
clearAbapSession: jest.fn(),
|
|
50
|
+
on: jest.fn(),
|
|
51
|
+
clearAll: jest.fn(),
|
|
52
|
+
updateConnectionParams: jest.fn(),
|
|
53
|
+
};
|
|
54
|
+
// Mock Connection Provider
|
|
55
|
+
const mockConnectionParams = {
|
|
56
|
+
sapUrl: 'https://test.sap.com',
|
|
57
|
+
auth: { type: 'jwt', jwtToken: 'test-token' },
|
|
58
|
+
};
|
|
59
|
+
mockConnectionProvider = {
|
|
60
|
+
mode: 'LOCAL',
|
|
61
|
+
getConnectionParams: jest.fn().mockResolvedValue(mockConnectionParams),
|
|
62
|
+
updateConnectionParams: jest.fn().mockResolvedValue(undefined),
|
|
63
|
+
};
|
|
64
|
+
// Mock Protocol Handler
|
|
65
|
+
mockProtocolHandler = {
|
|
66
|
+
initialize: jest.fn(),
|
|
67
|
+
handleRequest: jest.fn().mockResolvedValue({ result: 'success' }),
|
|
68
|
+
};
|
|
69
|
+
// Mock Handlers Registry
|
|
70
|
+
mockHandlersRegistry = {
|
|
71
|
+
registerAllTools: jest.fn(),
|
|
72
|
+
registerTool: jest.fn(),
|
|
73
|
+
getRegisteredTools: jest.fn().mockReturnValue(['test-tool']),
|
|
74
|
+
};
|
|
75
|
+
// Mock SDK Server
|
|
76
|
+
mockSdkServer = {};
|
|
77
|
+
// Mock Logger
|
|
78
|
+
mockLogger = {
|
|
79
|
+
info: jest.fn(),
|
|
80
|
+
error: jest.fn(),
|
|
81
|
+
warn: jest.fn(),
|
|
82
|
+
debug: jest.fn(),
|
|
83
|
+
};
|
|
84
|
+
});
|
|
85
|
+
describe('constructor', () => {
|
|
86
|
+
it('should initialize with all dependencies', () => {
|
|
87
|
+
const server = new McpServer_js_1.McpServer(mockTransport, mockSessionManager, mockConnectionProvider, mockProtocolHandler, mockHandlersRegistry, mockSdkServer, mockLogger);
|
|
88
|
+
expect(server).toBeDefined();
|
|
89
|
+
expect(mockProtocolHandler.initialize).toHaveBeenCalledWith(mockHandlersRegistry, mockSdkServer);
|
|
90
|
+
expect(mockTransport.on).toHaveBeenCalled();
|
|
91
|
+
expect(mockSessionManager.on).toHaveBeenCalled();
|
|
92
|
+
});
|
|
93
|
+
it('should work without logger', () => {
|
|
94
|
+
const server = new McpServer_js_1.McpServer(mockTransport, mockSessionManager, mockConnectionProvider, mockProtocolHandler, mockHandlersRegistry, mockSdkServer);
|
|
95
|
+
expect(server).toBeDefined();
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
describe('start', () => {
|
|
99
|
+
it('should start transport', async () => {
|
|
100
|
+
const server = new McpServer_js_1.McpServer(mockTransport, mockSessionManager, mockConnectionProvider, mockProtocolHandler, mockHandlersRegistry, mockSdkServer, mockLogger);
|
|
101
|
+
await server.start();
|
|
102
|
+
expect(mockTransport.start).toHaveBeenCalled();
|
|
103
|
+
expect(mockLogger.info).toHaveBeenCalledWith('Starting MCP Server v2...');
|
|
104
|
+
expect(mockLogger.info).toHaveBeenCalledWith('MCP Server v2 started successfully');
|
|
105
|
+
});
|
|
106
|
+
it('should throw error if already started', async () => {
|
|
107
|
+
const server = new McpServer_js_1.McpServer(mockTransport, mockSessionManager, mockConnectionProvider, mockProtocolHandler, mockHandlersRegistry, mockSdkServer);
|
|
108
|
+
await server.start();
|
|
109
|
+
await expect(server.start()).rejects.toThrow('Server is already started');
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
describe('stop', () => {
|
|
113
|
+
it('should stop transport and clear sessions', async () => {
|
|
114
|
+
const server = new McpServer_js_1.McpServer(mockTransport, mockSessionManager, mockConnectionProvider, mockProtocolHandler, mockHandlersRegistry, mockSdkServer, mockLogger);
|
|
115
|
+
await server.start();
|
|
116
|
+
await server.stop();
|
|
117
|
+
expect(mockTransport.stop).toHaveBeenCalled();
|
|
118
|
+
expect(mockSessionManager.clearAll).toHaveBeenCalled();
|
|
119
|
+
expect(mockLogger.info).toHaveBeenCalledWith('Stopping MCP Server v2...');
|
|
120
|
+
});
|
|
121
|
+
it('should not throw if not started', async () => {
|
|
122
|
+
const server = new McpServer_js_1.McpServer(mockTransport, mockSessionManager, mockConnectionProvider, mockProtocolHandler, mockHandlersRegistry, mockSdkServer);
|
|
123
|
+
await expect(server.stop()).resolves.not.toThrow();
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
describe('validateConfiguration', () => {
|
|
127
|
+
it('should pass validation for LOCAL mode', () => {
|
|
128
|
+
const server = new McpServer_js_1.McpServer(mockTransport, mockSessionManager, mockConnectionProvider, mockProtocolHandler, mockHandlersRegistry, mockSdkServer);
|
|
129
|
+
expect(() => server.validateConfiguration()).not.toThrow();
|
|
130
|
+
});
|
|
131
|
+
it('should throw error for LOCAL transport with REMOTE provider', () => {
|
|
132
|
+
const remoteProvider = {
|
|
133
|
+
...mockConnectionProvider,
|
|
134
|
+
mode: 'REMOTE',
|
|
135
|
+
};
|
|
136
|
+
const server = new McpServer_js_1.McpServer(mockTransport, mockSessionManager, remoteProvider, mockProtocolHandler, mockHandlersRegistry, mockSdkServer);
|
|
137
|
+
expect(() => server.validateConfiguration()).toThrow('Configuration mismatch');
|
|
138
|
+
});
|
|
139
|
+
it('should throw error for REMOTE transport with LOCAL provider', () => {
|
|
140
|
+
const remoteTransport = {
|
|
141
|
+
...mockTransport,
|
|
142
|
+
bindAddress: '0.0.0.0',
|
|
143
|
+
};
|
|
144
|
+
const server = new McpServer_js_1.McpServer(remoteTransport, mockSessionManager, mockConnectionProvider, mockProtocolHandler, mockHandlersRegistry, mockSdkServer);
|
|
145
|
+
expect(() => server.validateConfiguration()).toThrow('Configuration mismatch');
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
describe('session creation flow', () => {
|
|
149
|
+
it('should create session when transport emits session:created', async () => {
|
|
150
|
+
const server = new McpServer_js_1.McpServer(mockTransport, mockSessionManager, mockConnectionProvider, mockProtocolHandler, mockHandlersRegistry, mockSdkServer, mockLogger);
|
|
151
|
+
// Get the session:created handler
|
|
152
|
+
const sessionCreatedCall = mockTransport.on.mock.calls.find((call) => call[0] === 'session:created');
|
|
153
|
+
expect(sessionCreatedCall).toBeDefined();
|
|
154
|
+
const handler = sessionCreatedCall[1];
|
|
155
|
+
const clientInfo = {
|
|
156
|
+
transport: 'stdio',
|
|
157
|
+
};
|
|
158
|
+
await handler('test-session-id', clientInfo);
|
|
159
|
+
expect(mockSessionManager.createSession).toHaveBeenCalledWith(clientInfo);
|
|
160
|
+
expect(mockConnectionProvider.getConnectionParams).toHaveBeenCalled();
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
describe('message handling flow', () => {
|
|
164
|
+
it('should process message and send response', async () => {
|
|
165
|
+
const server = new McpServer_js_1.McpServer(mockTransport, mockSessionManager, mockConnectionProvider, mockProtocolHandler, mockHandlersRegistry, mockSdkServer, mockLogger);
|
|
166
|
+
// Get the message handler
|
|
167
|
+
const messageCall = mockTransport.on.mock.calls.find((call) => call[0] === 'message');
|
|
168
|
+
expect(messageCall).toBeDefined();
|
|
169
|
+
const handler = messageCall[1];
|
|
170
|
+
const message = {
|
|
171
|
+
jsonrpc: '2.0',
|
|
172
|
+
id: 1,
|
|
173
|
+
method: 'tools/call',
|
|
174
|
+
params: { name: 'test-tool', arguments: {} },
|
|
175
|
+
};
|
|
176
|
+
await handler('test-session-id', message);
|
|
177
|
+
expect(mockProtocolHandler.handleRequest).toHaveBeenCalledWith('test-session-id', message);
|
|
178
|
+
expect(mockTransport.send).toHaveBeenCalled();
|
|
179
|
+
});
|
|
180
|
+
it('should handle errors and send error response', async () => {
|
|
181
|
+
const server = new McpServer_js_1.McpServer(mockTransport, mockSessionManager, mockConnectionProvider, mockProtocolHandler, mockHandlersRegistry, mockSdkServer, mockLogger);
|
|
182
|
+
// Make getSession return undefined to simulate error
|
|
183
|
+
mockSessionManager.getSession = jest.fn().mockReturnValue(undefined);
|
|
184
|
+
// Get the message handler
|
|
185
|
+
const messageCall = mockTransport.on.mock.calls.find((call) => call[0] === 'message');
|
|
186
|
+
const handler = messageCall[1];
|
|
187
|
+
const message = {
|
|
188
|
+
jsonrpc: '2.0',
|
|
189
|
+
id: 1,
|
|
190
|
+
method: 'tools/call',
|
|
191
|
+
params: { name: 'test-tool', arguments: {} },
|
|
192
|
+
};
|
|
193
|
+
await handler('test-session-id', message);
|
|
194
|
+
expect(mockLogger.error).toHaveBeenCalled();
|
|
195
|
+
expect(mockTransport.send).toHaveBeenCalledWith('test-session-id', expect.objectContaining({
|
|
196
|
+
error: expect.any(Object),
|
|
197
|
+
}));
|
|
198
|
+
});
|
|
199
|
+
});
|
|
200
|
+
describe('getters', () => {
|
|
201
|
+
it('should return SDK server instance', () => {
|
|
202
|
+
const server = new McpServer_js_1.McpServer(mockTransport, mockSessionManager, mockConnectionProvider, mockProtocolHandler, mockHandlersRegistry, mockSdkServer);
|
|
203
|
+
expect(server.getSdkServer()).toBe(mockSdkServer);
|
|
204
|
+
});
|
|
205
|
+
it('should return transport instance', () => {
|
|
206
|
+
const server = new McpServer_js_1.McpServer(mockTransport, mockSessionManager, mockConnectionProvider, mockProtocolHandler, mockHandlersRegistry, mockSdkServer);
|
|
207
|
+
expect(server.getTransport()).toBe(mockTransport);
|
|
208
|
+
});
|
|
209
|
+
it('should return session manager instance', () => {
|
|
210
|
+
const server = new McpServer_js_1.McpServer(mockTransport, mockSessionManager, mockConnectionProvider, mockProtocolHandler, mockHandlersRegistry, mockSdkServer);
|
|
211
|
+
expect(server.getSessionManager()).toBe(mockSessionManager);
|
|
212
|
+
});
|
|
213
|
+
it('should return connection provider instance', () => {
|
|
214
|
+
const server = new McpServer_js_1.McpServer(mockTransport, mockSessionManager, mockConnectionProvider, mockProtocolHandler, mockHandlersRegistry, mockSdkServer);
|
|
215
|
+
expect(server.getConnectionProvider()).toBe(mockConnectionProvider);
|
|
216
|
+
});
|
|
217
|
+
});
|
|
218
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LocalConnectionProvider implementation
|
|
3
|
+
*
|
|
4
|
+
* Provides connection parameters using service keys and AuthBroker (LOCAL mode)
|
|
5
|
+
* ServiceKeyStore, SessionStore, and TokenProvider are injected into AuthBroker through Factory
|
|
6
|
+
*/
|
|
7
|
+
import { IConnectionProvider, IConnectionRequest, IConnectionParams, IAuthBrokerFactory } from '../interfaces/connection.js';
|
|
8
|
+
/**
|
|
9
|
+
* LocalConnectionProvider - LOCAL mode connection provider
|
|
10
|
+
*
|
|
11
|
+
* Uses service keys from ServiceKeyStore and AuthBroker for token management
|
|
12
|
+
*/
|
|
13
|
+
export declare class LocalConnectionProvider implements IConnectionProvider {
|
|
14
|
+
private authBrokerFactory;
|
|
15
|
+
readonly mode: "LOCAL";
|
|
16
|
+
constructor(authBrokerFactory: IAuthBrokerFactory);
|
|
17
|
+
getConnectionParams(request: IConnectionRequest): Promise<IConnectionParams>;
|
|
18
|
+
updateConnectionParams(sessionId: string, params: Partial<IConnectionParams>): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=LocalConnectionProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalConnectionProvider.d.ts","sourceRoot":"","sources":["../../../../../src/lib/servers/v2/connection/LocalConnectionProvider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AAErC;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IAGrD,OAAO,CAAC,iBAAiB;IAFrC,QAAQ,CAAC,IAAI,EAAG,OAAO,CAAU;gBAEb,iBAAiB,EAAE,kBAAkB;IAEnD,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAsD5E,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;CAKjB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* LocalConnectionProvider implementation
|
|
4
|
+
*
|
|
5
|
+
* Provides connection parameters using service keys and AuthBroker (LOCAL mode)
|
|
6
|
+
* ServiceKeyStore, SessionStore, and TokenProvider are injected into AuthBroker through Factory
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.LocalConnectionProvider = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* LocalConnectionProvider - LOCAL mode connection provider
|
|
12
|
+
*
|
|
13
|
+
* Uses service keys from ServiceKeyStore and AuthBroker for token management
|
|
14
|
+
*/
|
|
15
|
+
class LocalConnectionProvider {
|
|
16
|
+
authBrokerFactory;
|
|
17
|
+
mode = 'LOCAL';
|
|
18
|
+
constructor(authBrokerFactory) {
|
|
19
|
+
this.authBrokerFactory = authBrokerFactory;
|
|
20
|
+
}
|
|
21
|
+
async getConnectionParams(request) {
|
|
22
|
+
if (!request.destination) {
|
|
23
|
+
throw new Error('Destination required for LOCAL mode');
|
|
24
|
+
}
|
|
25
|
+
// 1. Create or get AuthBroker for session
|
|
26
|
+
// AuthBroker already has injected ServiceKeyStore, SessionStore, TokenProvider
|
|
27
|
+
const authBroker = await this.authBrokerFactory.getOrCreateBroker(request.sessionId, request.destination);
|
|
28
|
+
// 2. Get/update token through AuthBroker
|
|
29
|
+
// AuthBroker internally uses:
|
|
30
|
+
// - ServiceKeyStore to read service key
|
|
31
|
+
// - SessionStore to save/read tokens
|
|
32
|
+
// - TokenProvider to get new tokens
|
|
33
|
+
// getToken returns JWT token string
|
|
34
|
+
const jwtToken = await authBroker.getToken(request.destination);
|
|
35
|
+
// 3. Get connection config for URL and client
|
|
36
|
+
// Access sessionStore and serviceKeyStore from AuthBrokerFactory
|
|
37
|
+
const authBrokerFactory = this.authBrokerFactory;
|
|
38
|
+
let sapUrl;
|
|
39
|
+
let client;
|
|
40
|
+
// Try to get from sessionStore first
|
|
41
|
+
if (authBrokerFactory.sessionStore) {
|
|
42
|
+
const connConfig = await authBrokerFactory.sessionStore.getConnectionConfig(request.destination);
|
|
43
|
+
sapUrl = connConfig?.serviceUrl;
|
|
44
|
+
client = connConfig?.client;
|
|
45
|
+
}
|
|
46
|
+
// Fallback to serviceKeyStore if not in session
|
|
47
|
+
if (!sapUrl && authBrokerFactory.serviceKeyStore) {
|
|
48
|
+
const serviceKeyConnConfig = await authBrokerFactory.serviceKeyStore.getConnectionConfig(request.destination);
|
|
49
|
+
sapUrl = serviceKeyConnConfig?.serviceUrl;
|
|
50
|
+
client = serviceKeyConnConfig?.client;
|
|
51
|
+
}
|
|
52
|
+
if (!sapUrl) {
|
|
53
|
+
throw new Error(`Unable to determine SAP URL for destination: ${request.destination}`);
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
sapUrl,
|
|
57
|
+
auth: {
|
|
58
|
+
type: 'jwt',
|
|
59
|
+
jwtToken,
|
|
60
|
+
},
|
|
61
|
+
client,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
async updateConnectionParams(sessionId, params) {
|
|
65
|
+
// Update connection params (e.g., after token refresh)
|
|
66
|
+
// This would typically update the session's connectionParams
|
|
67
|
+
// Implementation depends on session management strategy
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.LocalConnectionProvider = LocalConnectionProvider;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RemoteConnectionProvider implementation
|
|
3
|
+
*
|
|
4
|
+
* Provides connection parameters from client headers (REMOTE mode)
|
|
5
|
+
* No AuthBroker - proxy only mode
|
|
6
|
+
*/
|
|
7
|
+
import { IConnectionProvider, IConnectionRequest, IConnectionParams, IHeaderValidator } from '../interfaces/connection.js';
|
|
8
|
+
/**
|
|
9
|
+
* RemoteConnectionProvider - REMOTE mode connection provider
|
|
10
|
+
*
|
|
11
|
+
* Extracts connection parameters from client headers via HeaderValidator
|
|
12
|
+
* No service keys or AuthBroker - pure proxy mode
|
|
13
|
+
*/
|
|
14
|
+
export declare class RemoteConnectionProvider implements IConnectionProvider {
|
|
15
|
+
private headerValidator;
|
|
16
|
+
readonly mode: "REMOTE";
|
|
17
|
+
constructor(headerValidator: IHeaderValidator);
|
|
18
|
+
getConnectionParams(request: IConnectionRequest): Promise<IConnectionParams>;
|
|
19
|
+
updateConnectionParams(sessionId: string, params: Partial<IConnectionParams>): Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=RemoteConnectionProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteConnectionProvider.d.ts","sourceRoot":"","sources":["../../../../../src/lib/servers/v2/connection/RemoteConnectionProvider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,6BAA6B,CAAC;AAErC;;;;;GAKG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAGtD,OAAO,CAAC,eAAe;IAFnC,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;gBAEd,eAAe,EAAE,gBAAgB;IAE/C,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAW5E,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;CAKjB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* RemoteConnectionProvider implementation
|
|
4
|
+
*
|
|
5
|
+
* Provides connection parameters from client headers (REMOTE mode)
|
|
6
|
+
* No AuthBroker - proxy only mode
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.RemoteConnectionProvider = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* RemoteConnectionProvider - REMOTE mode connection provider
|
|
12
|
+
*
|
|
13
|
+
* Extracts connection parameters from client headers via HeaderValidator
|
|
14
|
+
* No service keys or AuthBroker - pure proxy mode
|
|
15
|
+
*/
|
|
16
|
+
class RemoteConnectionProvider {
|
|
17
|
+
headerValidator;
|
|
18
|
+
mode = 'REMOTE';
|
|
19
|
+
constructor(headerValidator) {
|
|
20
|
+
this.headerValidator = headerValidator;
|
|
21
|
+
}
|
|
22
|
+
async getConnectionParams(request) {
|
|
23
|
+
if (!request.headers) {
|
|
24
|
+
throw new Error('Headers required for REMOTE mode');
|
|
25
|
+
}
|
|
26
|
+
// Validate and extract parameters from headers
|
|
27
|
+
const validated = await this.headerValidator.validateAndExtract(request.headers);
|
|
28
|
+
return validated;
|
|
29
|
+
}
|
|
30
|
+
async updateConnectionParams(sessionId, params) {
|
|
31
|
+
// Update connection params (e.g., after token refresh)
|
|
32
|
+
// This would typically update the session's connectionParams
|
|
33
|
+
// Implementation depends on session management strategy
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.RemoteConnectionProvider = RemoteConnectionProvider;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/servers/v2/connection/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Connection provider implementations exports
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RemoteConnectionProvider = exports.LocalConnectionProvider = void 0;
|
|
7
|
+
var LocalConnectionProvider_js_1 = require("./LocalConnectionProvider.js");
|
|
8
|
+
Object.defineProperty(exports, "LocalConnectionProvider", { enumerable: true, get: function () { return LocalConnectionProvider_js_1.LocalConnectionProvider; } });
|
|
9
|
+
var RemoteConnectionProvider_js_1 = require("./RemoteConnectionProvider.js");
|
|
10
|
+
Object.defineProperty(exports, "RemoteConnectionProvider", { enumerable: true, get: function () { return RemoteConnectionProvider_js_1.RemoteConnectionProvider; } });
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AuthBrokerFactory implementation
|
|
3
|
+
*
|
|
4
|
+
* Creates and manages AuthBroker instances with injected dependencies
|
|
5
|
+
* (ServiceKeyStore, SessionStore, TokenProvider)
|
|
6
|
+
*/
|
|
7
|
+
import { AuthBroker } from '@mcp-abap-adt/auth-broker';
|
|
8
|
+
import type { IServiceKeyStore, ISessionStore } from '@mcp-abap-adt/auth-broker';
|
|
9
|
+
import type { ITokenProvider } from '@mcp-abap-adt/auth-broker';
|
|
10
|
+
import { IAuthBrokerFactory } from '../interfaces/connection.js';
|
|
11
|
+
import { ILogger } from '@mcp-abap-adt/interfaces';
|
|
12
|
+
/**
|
|
13
|
+
* AuthBrokerFactory - creates AuthBroker instances with DI
|
|
14
|
+
*
|
|
15
|
+
* Manages AuthBroker instances per session/destination combination
|
|
16
|
+
*/
|
|
17
|
+
export declare class AuthBrokerFactory implements IAuthBrokerFactory {
|
|
18
|
+
private tokenProvider?;
|
|
19
|
+
private logger?;
|
|
20
|
+
private brokers;
|
|
21
|
+
readonly serviceKeyStore: IServiceKeyStore;
|
|
22
|
+
readonly sessionStore: ISessionStore;
|
|
23
|
+
constructor(serviceKeyStore: IServiceKeyStore, sessionStore: ISessionStore, tokenProvider?: ITokenProvider | undefined, logger?: ILogger | undefined);
|
|
24
|
+
getOrCreateBroker(sessionId: string, destination: string): Promise<AuthBroker>;
|
|
25
|
+
getBroker(sessionId: string, destination?: string): AuthBroker | undefined;
|
|
26
|
+
deleteBroker(sessionId: string, destination?: string): void;
|
|
27
|
+
clearAll(): void;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=AuthBrokerFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthBrokerFactory.d.ts","sourceRoot":"","sources":["../../../../../src/lib/servers/v2/factory/AuthBrokerFactory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAyB,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,kBAAkB;IAUxD,OAAO,CAAC,aAAa,CAAC;IACtB,OAAO,CAAC,MAAM,CAAC;IAVjB,OAAO,CAAC,OAAO,CAAsC;IAGrD,SAAgB,eAAe,EAAE,gBAAgB,CAAC;IAClD,SAAgB,YAAY,EAAE,aAAa,CAAC;gBAG1C,eAAe,EAAE,gBAAgB,EACjC,YAAY,EAAE,aAAa,EACnB,aAAa,CAAC,EAAE,cAAc,YAAA,EAC9B,MAAM,CAAC,EAAE,OAAO,YAAA;IAMpB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAsBpF,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAc1E,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAgB3D,QAAQ,IAAI,IAAI;CAGjB"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* AuthBrokerFactory implementation
|
|
4
|
+
*
|
|
5
|
+
* Creates and manages AuthBroker instances with injected dependencies
|
|
6
|
+
* (ServiceKeyStore, SessionStore, TokenProvider)
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.AuthBrokerFactory = void 0;
|
|
10
|
+
const auth_broker_1 = require("@mcp-abap-adt/auth-broker");
|
|
11
|
+
/**
|
|
12
|
+
* AuthBrokerFactory - creates AuthBroker instances with DI
|
|
13
|
+
*
|
|
14
|
+
* Manages AuthBroker instances per session/destination combination
|
|
15
|
+
*/
|
|
16
|
+
class AuthBrokerFactory {
|
|
17
|
+
tokenProvider;
|
|
18
|
+
logger;
|
|
19
|
+
brokers = new Map();
|
|
20
|
+
// Expose stores for LocalConnectionProvider to access connection config
|
|
21
|
+
serviceKeyStore;
|
|
22
|
+
sessionStore;
|
|
23
|
+
constructor(serviceKeyStore, sessionStore, tokenProvider, logger) {
|
|
24
|
+
this.tokenProvider = tokenProvider;
|
|
25
|
+
this.logger = logger;
|
|
26
|
+
this.serviceKeyStore = serviceKeyStore;
|
|
27
|
+
this.sessionStore = sessionStore;
|
|
28
|
+
}
|
|
29
|
+
async getOrCreateBroker(sessionId, destination) {
|
|
30
|
+
const key = `${sessionId}:${destination}`;
|
|
31
|
+
if (this.brokers.has(key)) {
|
|
32
|
+
return this.brokers.get(key);
|
|
33
|
+
}
|
|
34
|
+
// Create new AuthBroker with injected dependencies
|
|
35
|
+
const config = {
|
|
36
|
+
sessionStore: this.sessionStore,
|
|
37
|
+
serviceKeyStore: this.serviceKeyStore,
|
|
38
|
+
tokenProvider: this.tokenProvider,
|
|
39
|
+
};
|
|
40
|
+
// Use 'system' browser to open default browser for authentication
|
|
41
|
+
// This will trigger browser-based auth flow when needed
|
|
42
|
+
const broker = new auth_broker_1.AuthBroker(config, 'system', this.logger);
|
|
43
|
+
this.brokers.set(key, broker);
|
|
44
|
+
return broker;
|
|
45
|
+
}
|
|
46
|
+
getBroker(sessionId, destination) {
|
|
47
|
+
if (destination) {
|
|
48
|
+
const key = `${sessionId}:${destination}`;
|
|
49
|
+
return this.brokers.get(key);
|
|
50
|
+
}
|
|
51
|
+
// Try to find any broker for this session
|
|
52
|
+
for (const [key, broker] of this.brokers.entries()) {
|
|
53
|
+
if (key.startsWith(`${sessionId}:`)) {
|
|
54
|
+
return broker;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
deleteBroker(sessionId, destination) {
|
|
60
|
+
if (destination) {
|
|
61
|
+
const key = `${sessionId}:${destination}`;
|
|
62
|
+
this.brokers.delete(key);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
// Delete all brokers for this session
|
|
66
|
+
const keysToDelete = [];
|
|
67
|
+
for (const key of this.brokers.keys()) {
|
|
68
|
+
if (key.startsWith(`${sessionId}:`)) {
|
|
69
|
+
keysToDelete.push(key);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
keysToDelete.forEach((key) => this.brokers.delete(key));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
clearAll() {
|
|
76
|
+
this.brokers.clear();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.AuthBrokerFactory = AuthBrokerFactory;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LocalModeFactory
|
|
3
|
+
*
|
|
4
|
+
* Factory for creating all LOCAL mode components with proper DI
|
|
5
|
+
*/
|
|
6
|
+
import type { IServiceKeyStore, ISessionStore } from '@mcp-abap-adt/auth-broker';
|
|
7
|
+
import type { ITokenProvider } from '@mcp-abap-adt/auth-broker';
|
|
8
|
+
import { IAuthBrokerFactory, IConnectionProvider } from '../interfaces/connection.js';
|
|
9
|
+
import { ILogger } from '@mcp-abap-adt/interfaces';
|
|
10
|
+
/**
|
|
11
|
+
* Configuration for LOCAL mode factory
|
|
12
|
+
*/
|
|
13
|
+
export interface LocalModeConfig {
|
|
14
|
+
serviceKeyStore: IServiceKeyStore;
|
|
15
|
+
sessionStore: ISessionStore;
|
|
16
|
+
tokenProvider?: ITokenProvider;
|
|
17
|
+
logger?: ILogger;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* LocalModeFactory - creates all LOCAL mode components
|
|
21
|
+
*
|
|
22
|
+
* Assembles ServiceKeyStore, SessionStore, TokenProvider into
|
|
23
|
+
* AuthBrokerFactory and LocalConnectionProvider
|
|
24
|
+
*/
|
|
25
|
+
export declare class LocalModeFactory {
|
|
26
|
+
private config;
|
|
27
|
+
private authBrokerFactory;
|
|
28
|
+
constructor(config: LocalModeConfig);
|
|
29
|
+
/**
|
|
30
|
+
* Creates LocalConnectionProvider
|
|
31
|
+
*/
|
|
32
|
+
createConnectionProvider(): IConnectionProvider;
|
|
33
|
+
/**
|
|
34
|
+
* Gets AuthBrokerFactory (for direct access if needed)
|
|
35
|
+
*/
|
|
36
|
+
getAuthBrokerFactory(): IAuthBrokerFactory;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=LocalModeFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalModeFactory.d.ts","sourceRoot":"","sources":["../../../../../src/lib/servers/v2/factory/LocalModeFactory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,gBAAgB,CAAC;IAClC,YAAY,EAAE,aAAa,CAAC;IAC5B,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,qBAAa,gBAAgB;IAGf,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,iBAAiB,CAAqB;gBAE1B,MAAM,EAAE,eAAe;IAU3C;;OAEG;IACH,wBAAwB,IAAI,mBAAmB;IAI/C;;OAEG;IACH,oBAAoB,IAAI,kBAAkB;CAG3C"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* LocalModeFactory
|
|
4
|
+
*
|
|
5
|
+
* Factory for creating all LOCAL mode components with proper DI
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.LocalModeFactory = void 0;
|
|
9
|
+
const AuthBrokerFactory_js_1 = require("./AuthBrokerFactory.js");
|
|
10
|
+
const LocalConnectionProvider_js_1 = require("../connection/LocalConnectionProvider.js");
|
|
11
|
+
/**
|
|
12
|
+
* LocalModeFactory - creates all LOCAL mode components
|
|
13
|
+
*
|
|
14
|
+
* Assembles ServiceKeyStore, SessionStore, TokenProvider into
|
|
15
|
+
* AuthBrokerFactory and LocalConnectionProvider
|
|
16
|
+
*/
|
|
17
|
+
class LocalModeFactory {
|
|
18
|
+
config;
|
|
19
|
+
authBrokerFactory;
|
|
20
|
+
constructor(config) {
|
|
21
|
+
this.config = config;
|
|
22
|
+
// Create AuthBrokerFactory with injected dependencies
|
|
23
|
+
this.authBrokerFactory = new AuthBrokerFactory_js_1.AuthBrokerFactory(config.serviceKeyStore, config.sessionStore, config.tokenProvider, config.logger);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Creates LocalConnectionProvider
|
|
27
|
+
*/
|
|
28
|
+
createConnectionProvider() {
|
|
29
|
+
return new LocalConnectionProvider_js_1.LocalConnectionProvider(this.authBrokerFactory);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Gets AuthBrokerFactory (for direct access if needed)
|
|
33
|
+
*/
|
|
34
|
+
getAuthBrokerFactory() {
|
|
35
|
+
return this.authBrokerFactory;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.LocalModeFactory = LocalModeFactory;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/servers/v2/factory/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Factory implementations exports
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.LocalModeFactory = exports.AuthBrokerFactory = void 0;
|
|
7
|
+
var AuthBrokerFactory_js_1 = require("./AuthBrokerFactory.js");
|
|
8
|
+
Object.defineProperty(exports, "AuthBrokerFactory", { enumerable: true, get: function () { return AuthBrokerFactory_js_1.AuthBrokerFactory; } });
|
|
9
|
+
var LocalModeFactory_js_1 = require("./LocalModeFactory.js");
|
|
10
|
+
Object.defineProperty(exports, "LocalModeFactory", { enumerable: true, get: function () { return LocalModeFactory_js_1.LocalModeFactory; } });
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Server v2 module exports
|
|
3
|
+
*
|
|
4
|
+
* Simplified architecture - only types and utilities
|
|
5
|
+
* Transports are used directly from @modelcontextprotocol/sdk
|
|
6
|
+
*/
|
|
7
|
+
export * from './types/index.js';
|
|
8
|
+
export * from './utils/StdioLogger.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/servers/v2/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,kBAAkB,CAAC;AAGjC,cAAc,wBAAwB,CAAC"}
|