imposters 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/Program/package.json +6 -0
- package/README.md +365 -0
- package/api/AdminApi/package.json +6 -0
- package/api/ApiErrors/package.json +6 -0
- package/api/ApiSchemas/package.json +6 -0
- package/api/Conversions/package.json +6 -0
- package/api/ImpostersGroup/package.json +6 -0
- package/api/ImpostersHandlers/package.json +6 -0
- package/api/SystemGroup/package.json +6 -0
- package/api/SystemHandlers/package.json +6 -0
- package/bin/imposters +47 -0
- package/cli/Commands/package.json +6 -0
- package/cli/ConfigLoader/package.json +6 -0
- package/client/HandlerHttpClient/package.json +6 -0
- package/client/ImpostersClient/package.json +6 -0
- package/client/testing/package.json +6 -0
- package/dist/cjs/Program.js +4 -0
- package/dist/cjs/Program.js.map +1 -0
- package/dist/cjs/api/AdminApi.js +11 -0
- package/dist/cjs/api/AdminApi.js.map +1 -0
- package/dist/cjs/api/ApiErrors.js +30 -0
- package/dist/cjs/api/ApiErrors.js.map +1 -0
- package/dist/cjs/api/ApiSchemas.js +36 -0
- package/dist/cjs/api/ApiSchemas.js.map +1 -0
- package/dist/cjs/api/Conversions.js +41 -0
- package/dist/cjs/api/Conversions.js.map +1 -0
- package/dist/cjs/api/ImpostersGroup.js +37 -0
- package/dist/cjs/api/ImpostersGroup.js.map +1 -0
- package/dist/cjs/api/ImpostersHandlers.js +361 -0
- package/dist/cjs/api/ImpostersHandlers.js.map +1 -0
- package/dist/cjs/api/SystemGroup.js +12 -0
- package/dist/cjs/api/SystemGroup.js.map +1 -0
- package/dist/cjs/api/SystemHandlers.js +74 -0
- package/dist/cjs/api/SystemHandlers.js.map +1 -0
- package/dist/cjs/cli/Commands.js +104 -0
- package/dist/cjs/cli/Commands.js.map +1 -0
- package/dist/cjs/cli/ConfigLoader.js +34 -0
- package/dist/cjs/cli/ConfigLoader.js.map +1 -0
- package/dist/cjs/client/HandlerHttpClient.js +50 -0
- package/dist/cjs/client/HandlerHttpClient.js.map +1 -0
- package/dist/cjs/client/ImpostersClient.js +20 -0
- package/dist/cjs/client/ImpostersClient.js.map +1 -0
- package/dist/cjs/client/index.js +57 -0
- package/dist/cjs/client/index.js.map +1 -0
- package/dist/cjs/client/testing.js +94 -0
- package/dist/cjs/client/testing.js.map +1 -0
- package/dist/cjs/domain/imposter.js +125 -0
- package/dist/cjs/domain/imposter.js.map +1 -0
- package/dist/cjs/domain/route.js +185 -0
- package/dist/cjs/domain/route.js.map +1 -0
- package/dist/cjs/index.js +106 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/layers/ApiLayer.js +18 -0
- package/dist/cjs/layers/ApiLayer.js.map +1 -0
- package/dist/cjs/layers/MainLayer.js +27 -0
- package/dist/cjs/layers/MainLayer.js.map +1 -0
- package/dist/cjs/matching/ExpressionEvaluator.js +103 -0
- package/dist/cjs/matching/ExpressionEvaluator.js.map +1 -0
- package/dist/cjs/matching/RequestMatcher.js +145 -0
- package/dist/cjs/matching/RequestMatcher.js.map +1 -0
- package/dist/cjs/matching/ResponseGenerator.js +80 -0
- package/dist/cjs/matching/ResponseGenerator.js.map +1 -0
- package/dist/cjs/matching/TemplateEngine.js +55 -0
- package/dist/cjs/matching/TemplateEngine.js.map +1 -0
- package/dist/cjs/repositories/ImposterRepository.js +118 -0
- package/dist/cjs/repositories/ImposterRepository.js.map +1 -0
- package/dist/cjs/schemas/ConfigFileSchema.js +44 -0
- package/dist/cjs/schemas/ConfigFileSchema.js.map +1 -0
- package/dist/cjs/schemas/ImposterSchema.js +202 -0
- package/dist/cjs/schemas/ImposterSchema.js.map +1 -0
- package/dist/cjs/schemas/RequestLogSchema.js +51 -0
- package/dist/cjs/schemas/RequestLogSchema.js.map +1 -0
- package/dist/cjs/schemas/StubSchema.js +84 -0
- package/dist/cjs/schemas/StubSchema.js.map +1 -0
- package/dist/cjs/schemas/common.js +67 -0
- package/dist/cjs/schemas/common.js.map +1 -0
- package/dist/cjs/server/AdminServer.js +36 -0
- package/dist/cjs/server/AdminServer.js.map +1 -0
- package/dist/cjs/server/BunServer.js +13 -0
- package/dist/cjs/server/BunServer.js.map +1 -0
- package/dist/cjs/server/FiberManager.js +21 -0
- package/dist/cjs/server/FiberManager.js.map +1 -0
- package/dist/cjs/server/ImposterServer.js +234 -0
- package/dist/cjs/server/ImposterServer.js.map +1 -0
- package/dist/cjs/services/AppConfig.js +18 -0
- package/dist/cjs/services/AppConfig.js.map +1 -0
- package/dist/cjs/services/MetricsService.js +113 -0
- package/dist/cjs/services/MetricsService.js.map +1 -0
- package/dist/cjs/services/PortAllocator.js +50 -0
- package/dist/cjs/services/PortAllocator.js.map +1 -0
- package/dist/cjs/services/ProxyService.js +109 -0
- package/dist/cjs/services/ProxyService.js.map +1 -0
- package/dist/cjs/services/RequestLogger.js +60 -0
- package/dist/cjs/services/RequestLogger.js.map +1 -0
- package/dist/cjs/services/Uuid.js +10 -0
- package/dist/cjs/services/Uuid.js.map +1 -0
- package/dist/cjs/services/UuidLive.js +16 -0
- package/dist/cjs/services/UuidLive.js.map +1 -0
- package/dist/cjs/ui/UiRouter.js +242 -0
- package/dist/cjs/ui/UiRouter.js.map +1 -0
- package/dist/cjs/ui/admin/AdminLayout.js +36 -0
- package/dist/cjs/ui/admin/AdminLayout.js.map +1 -0
- package/dist/cjs/ui/admin/AdminUiRouter.js +155 -0
- package/dist/cjs/ui/admin/AdminUiRouter.js.map +1 -0
- package/dist/cjs/ui/admin/pages/AdminDashboard.js +55 -0
- package/dist/cjs/ui/admin/pages/AdminDashboard.js.map +1 -0
- package/dist/cjs/ui/admin/partials.js +64 -0
- package/dist/cjs/ui/admin/partials.js.map +1 -0
- package/dist/cjs/ui/html.js +42 -0
- package/dist/cjs/ui/html.js.map +1 -0
- package/dist/cjs/ui/layout.js +39 -0
- package/dist/cjs/ui/layout.js.map +1 -0
- package/dist/cjs/ui/pages/dashboard.js +51 -0
- package/dist/cjs/ui/pages/dashboard.js.map +1 -0
- package/dist/cjs/ui/pages/request-detail.js +119 -0
- package/dist/cjs/ui/pages/request-detail.js.map +1 -0
- package/dist/cjs/ui/pages/requests.js +120 -0
- package/dist/cjs/ui/pages/requests.js.map +1 -0
- package/dist/cjs/ui/pages/stubs.js +46 -0
- package/dist/cjs/ui/pages/stubs.js.map +1 -0
- package/dist/cjs/ui/partials.js +104 -0
- package/dist/cjs/ui/partials.js.map +1 -0
- package/dist/dts/Program.d.ts +2 -0
- package/dist/dts/Program.d.ts.map +1 -0
- package/dist/dts/api/AdminApi.d.ts +490 -0
- package/dist/dts/api/AdminApi.d.ts.map +1 -0
- package/dist/dts/api/ApiErrors.d.ts +26 -0
- package/dist/dts/api/ApiErrors.d.ts.map +1 -0
- package/dist/dts/api/ApiSchemas.d.ts +36 -0
- package/dist/dts/api/ApiSchemas.d.ts.map +1 -0
- package/dist/dts/api/Conversions.d.ts +7 -0
- package/dist/dts/api/Conversions.d.ts.map +1 -0
- package/dist/dts/api/ImpostersGroup.d.ts +448 -0
- package/dist/dts/api/ImpostersGroup.d.ts.map +1 -0
- package/dist/dts/api/ImpostersHandlers.d.ts +9 -0
- package/dist/dts/api/ImpostersHandlers.d.ts.map +1 -0
- package/dist/dts/api/SystemGroup.d.ts +46 -0
- package/dist/dts/api/SystemGroup.d.ts.map +1 -0
- package/dist/dts/api/SystemHandlers.d.ts +4 -0
- package/dist/dts/api/SystemHandlers.d.ts.map +1 -0
- package/dist/dts/cli/Commands.d.ts +4 -0
- package/dist/dts/cli/Commands.d.ts.map +1 -0
- package/dist/dts/cli/ConfigLoader.d.ts +13 -0
- package/dist/dts/cli/ConfigLoader.d.ts.map +1 -0
- package/dist/dts/client/HandlerHttpClient.d.ts +5 -0
- package/dist/dts/client/HandlerHttpClient.d.ts.map +1 -0
- package/dist/dts/client/ImpostersClient.d.ts +1868 -0
- package/dist/dts/client/ImpostersClient.d.ts.map +1 -0
- package/dist/dts/client/index.d.ts +6 -0
- package/dist/dts/client/index.d.ts.map +1 -0
- package/dist/dts/client/testing.d.ts +35 -0
- package/dist/dts/client/testing.d.ts.map +1 -0
- package/dist/dts/domain/imposter.d.ts +123 -0
- package/dist/dts/domain/imposter.d.ts.map +1 -0
- package/dist/dts/domain/route.d.ts +128 -0
- package/dist/dts/domain/route.d.ts.map +1 -0
- package/dist/dts/index.d.ts +60 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/dts/layers/ApiLayer.d.ts +3 -0
- package/dist/dts/layers/ApiLayer.d.ts.map +1 -0
- package/dist/dts/layers/MainLayer.d.ts +3 -0
- package/dist/dts/layers/MainLayer.d.ts.map +1 -0
- package/dist/dts/matching/ExpressionEvaluator.d.ts +11 -0
- package/dist/dts/matching/ExpressionEvaluator.d.ts.map +1 -0
- package/dist/dts/matching/RequestMatcher.d.ts +13 -0
- package/dist/dts/matching/RequestMatcher.d.ts.map +1 -0
- package/dist/dts/matching/ResponseGenerator.d.ts +9 -0
- package/dist/dts/matching/ResponseGenerator.d.ts.map +1 -0
- package/dist/dts/matching/TemplateEngine.d.ts +4 -0
- package/dist/dts/matching/TemplateEngine.d.ts.map +1 -0
- package/dist/dts/repositories/ImposterRepository.d.ts +33 -0
- package/dist/dts/repositories/ImposterRepository.d.ts.map +1 -0
- package/dist/dts/schemas/ConfigFileSchema.d.ts +142 -0
- package/dist/dts/schemas/ConfigFileSchema.d.ts.map +1 -0
- package/dist/dts/schemas/ImposterSchema.d.ts +368 -0
- package/dist/dts/schemas/ImposterSchema.d.ts.map +1 -0
- package/dist/dts/schemas/RequestLogSchema.d.ts +36 -0
- package/dist/dts/schemas/RequestLogSchema.d.ts.map +1 -0
- package/dist/dts/schemas/StubSchema.d.ts +112 -0
- package/dist/dts/schemas/StubSchema.d.ts.map +1 -0
- package/dist/dts/schemas/common.d.ts +56 -0
- package/dist/dts/schemas/common.d.ts.map +1 -0
- package/dist/dts/server/AdminServer.d.ts +11 -0
- package/dist/dts/server/AdminServer.d.ts.map +1 -0
- package/dist/dts/server/BunServer.d.ts +17 -0
- package/dist/dts/server/BunServer.d.ts.map +1 -0
- package/dist/dts/server/FiberManager.d.ts +12 -0
- package/dist/dts/server/FiberManager.d.ts.map +1 -0
- package/dist/dts/server/ImposterServer.d.ts +29 -0
- package/dist/dts/server/ImposterServer.d.ts.map +1 -0
- package/dist/dts/services/AppConfig.d.ts +14 -0
- package/dist/dts/services/AppConfig.d.ts.map +1 -0
- package/dist/dts/services/MetricsService.d.ts +26 -0
- package/dist/dts/services/MetricsService.d.ts.map +1 -0
- package/dist/dts/services/PortAllocator.d.ts +29 -0
- package/dist/dts/services/PortAllocator.d.ts.map +1 -0
- package/dist/dts/services/ProxyService.d.ts +24 -0
- package/dist/dts/services/ProxyService.d.ts.map +1 -0
- package/dist/dts/services/RequestLogger.d.ts +23 -0
- package/dist/dts/services/RequestLogger.d.ts.map +1 -0
- package/dist/dts/services/Uuid.d.ts +9 -0
- package/dist/dts/services/Uuid.d.ts.map +1 -0
- package/dist/dts/services/UuidLive.d.ts +4 -0
- package/dist/dts/services/UuidLive.d.ts.map +1 -0
- package/dist/dts/ui/UiRouter.d.ts +15 -0
- package/dist/dts/ui/UiRouter.d.ts.map +1 -0
- package/dist/dts/ui/admin/AdminLayout.d.ts +7 -0
- package/dist/dts/ui/admin/AdminLayout.d.ts.map +1 -0
- package/dist/dts/ui/admin/AdminUiRouter.d.ts +6 -0
- package/dist/dts/ui/admin/AdminUiRouter.d.ts.map +1 -0
- package/dist/dts/ui/admin/pages/AdminDashboard.d.ts +7 -0
- package/dist/dts/ui/admin/pages/AdminDashboard.d.ts.map +1 -0
- package/dist/dts/ui/admin/partials.d.ts +14 -0
- package/dist/dts/ui/admin/partials.d.ts.map +1 -0
- package/dist/dts/ui/html.d.ts +12 -0
- package/dist/dts/ui/html.d.ts.map +1 -0
- package/dist/dts/ui/layout.d.ts +9 -0
- package/dist/dts/ui/layout.d.ts.map +1 -0
- package/dist/dts/ui/pages/dashboard.d.ts +10 -0
- package/dist/dts/ui/pages/dashboard.d.ts.map +1 -0
- package/dist/dts/ui/pages/request-detail.d.ts +11 -0
- package/dist/dts/ui/pages/request-detail.d.ts.map +1 -0
- package/dist/dts/ui/pages/requests.d.ts +15 -0
- package/dist/dts/ui/pages/requests.d.ts.map +1 -0
- package/dist/dts/ui/pages/stubs.d.ts +8 -0
- package/dist/dts/ui/pages/stubs.d.ts.map +1 -0
- package/dist/dts/ui/partials.d.ts +13 -0
- package/dist/dts/ui/partials.d.ts.map +1 -0
- package/dist/esm/Program.js +2 -0
- package/dist/esm/Program.js.map +1 -0
- package/dist/esm/api/AdminApi.js +5 -0
- package/dist/esm/api/AdminApi.js.map +1 -0
- package/dist/esm/api/ApiErrors.js +20 -0
- package/dist/esm/api/ApiErrors.js.map +1 -0
- package/dist/esm/api/ApiSchemas.js +29 -0
- package/dist/esm/api/ApiSchemas.js.map +1 -0
- package/dist/esm/api/Conversions.js +32 -0
- package/dist/esm/api/Conversions.js.map +1 -0
- package/dist/esm/api/ImpostersGroup.js +30 -0
- package/dist/esm/api/ImpostersGroup.js.map +1 -0
- package/dist/esm/api/ImpostersHandlers.js +354 -0
- package/dist/esm/api/ImpostersHandlers.js.map +1 -0
- package/dist/esm/api/SystemGroup.js +6 -0
- package/dist/esm/api/SystemGroup.js.map +1 -0
- package/dist/esm/api/SystemHandlers.js +67 -0
- package/dist/esm/api/SystemHandlers.js.map +1 -0
- package/dist/esm/cli/Commands.js +98 -0
- package/dist/esm/cli/Commands.js.map +1 -0
- package/dist/esm/cli/ConfigLoader.js +25 -0
- package/dist/esm/cli/ConfigLoader.js.map +1 -0
- package/dist/esm/client/HandlerHttpClient.js +42 -0
- package/dist/esm/client/HandlerHttpClient.js.map +1 -0
- package/dist/esm/client/ImpostersClient.js +10 -0
- package/dist/esm/client/ImpostersClient.js.map +1 -0
- package/dist/esm/client/index.js +4 -0
- package/dist/esm/client/index.js.map +1 -0
- package/dist/esm/client/testing.js +86 -0
- package/dist/esm/client/testing.js.map +1 -0
- package/dist/esm/domain/imposter.js +103 -0
- package/dist/esm/domain/imposter.js.map +1 -0
- package/dist/esm/domain/route.js +164 -0
- package/dist/esm/domain/route.js.map +1 -0
- package/dist/esm/index.js +60 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/layers/ApiLayer.js +11 -0
- package/dist/esm/layers/ApiLayer.js.map +1 -0
- package/dist/esm/layers/MainLayer.js +20 -0
- package/dist/esm/layers/MainLayer.js.map +1 -0
- package/dist/esm/matching/ExpressionEvaluator.js +94 -0
- package/dist/esm/matching/ExpressionEvaluator.js.map +1 -0
- package/dist/esm/matching/RequestMatcher.js +135 -0
- package/dist/esm/matching/RequestMatcher.js.map +1 -0
- package/dist/esm/matching/ResponseGenerator.js +71 -0
- package/dist/esm/matching/ResponseGenerator.js.map +1 -0
- package/dist/esm/matching/TemplateEngine.js +47 -0
- package/dist/esm/matching/TemplateEngine.js.map +1 -0
- package/dist/esm/package.json +4 -0
- package/dist/esm/repositories/ImposterRepository.js +110 -0
- package/dist/esm/repositories/ImposterRepository.js.map +1 -0
- package/dist/esm/schemas/ConfigFileSchema.js +37 -0
- package/dist/esm/schemas/ConfigFileSchema.js.map +1 -0
- package/dist/esm/schemas/ImposterSchema.js +195 -0
- package/dist/esm/schemas/ImposterSchema.js.map +1 -0
- package/dist/esm/schemas/RequestLogSchema.js +44 -0
- package/dist/esm/schemas/RequestLogSchema.js.map +1 -0
- package/dist/esm/schemas/StubSchema.js +77 -0
- package/dist/esm/schemas/StubSchema.js.map +1 -0
- package/dist/esm/schemas/common.js +59 -0
- package/dist/esm/schemas/common.js.map +1 -0
- package/dist/esm/server/AdminServer.js +27 -0
- package/dist/esm/server/AdminServer.js.map +1 -0
- package/dist/esm/server/BunServer.js +6 -0
- package/dist/esm/server/BunServer.js.map +1 -0
- package/dist/esm/server/FiberManager.js +14 -0
- package/dist/esm/server/FiberManager.js.map +1 -0
- package/dist/esm/server/ImposterServer.js +225 -0
- package/dist/esm/server/ImposterServer.js.map +1 -0
- package/dist/esm/services/AppConfig.js +11 -0
- package/dist/esm/services/AppConfig.js.map +1 -0
- package/dist/esm/services/MetricsService.js +105 -0
- package/dist/esm/services/MetricsService.js.map +1 -0
- package/dist/esm/services/PortAllocator.js +41 -0
- package/dist/esm/services/PortAllocator.js.map +1 -0
- package/dist/esm/services/ProxyService.js +101 -0
- package/dist/esm/services/ProxyService.js.map +1 -0
- package/dist/esm/services/RequestLogger.js +53 -0
- package/dist/esm/services/RequestLogger.js.map +1 -0
- package/dist/esm/services/Uuid.js +3 -0
- package/dist/esm/services/Uuid.js.map +1 -0
- package/dist/esm/services/UuidLive.js +9 -0
- package/dist/esm/services/UuidLive.js.map +1 -0
- package/dist/esm/ui/UiRouter.js +235 -0
- package/dist/esm/ui/UiRouter.js.map +1 -0
- package/dist/esm/ui/admin/AdminLayout.js +29 -0
- package/dist/esm/ui/admin/AdminLayout.js.map +1 -0
- package/dist/esm/ui/admin/AdminUiRouter.js +148 -0
- package/dist/esm/ui/admin/AdminUiRouter.js.map +1 -0
- package/dist/esm/ui/admin/pages/AdminDashboard.js +48 -0
- package/dist/esm/ui/admin/pages/AdminDashboard.js.map +1 -0
- package/dist/esm/ui/admin/partials.js +54 -0
- package/dist/esm/ui/admin/partials.js.map +1 -0
- package/dist/esm/ui/html.js +32 -0
- package/dist/esm/ui/html.js.map +1 -0
- package/dist/esm/ui/layout.js +32 -0
- package/dist/esm/ui/layout.js.map +1 -0
- package/dist/esm/ui/pages/dashboard.js +44 -0
- package/dist/esm/ui/pages/dashboard.js.map +1 -0
- package/dist/esm/ui/pages/request-detail.js +112 -0
- package/dist/esm/ui/pages/request-detail.js.map +1 -0
- package/dist/esm/ui/pages/requests.js +112 -0
- package/dist/esm/ui/pages/requests.js.map +1 -0
- package/dist/esm/ui/pages/stubs.js +39 -0
- package/dist/esm/ui/pages/stubs.js.map +1 -0
- package/dist/esm/ui/partials.js +91 -0
- package/dist/esm/ui/partials.js.map +1 -0
- package/domain/imposter/package.json +6 -0
- package/domain/route/package.json +6 -0
- package/layers/ApiLayer/package.json +6 -0
- package/layers/MainLayer/package.json +6 -0
- package/matching/ExpressionEvaluator/package.json +6 -0
- package/matching/RequestMatcher/package.json +6 -0
- package/matching/ResponseGenerator/package.json +6 -0
- package/matching/TemplateEngine/package.json +6 -0
- package/package.json +435 -0
- package/repositories/ImposterRepository/package.json +6 -0
- package/schemas/ConfigFileSchema/package.json +6 -0
- package/schemas/ImposterSchema/package.json +6 -0
- package/schemas/RequestLogSchema/package.json +6 -0
- package/schemas/StubSchema/package.json +6 -0
- package/schemas/common/package.json +6 -0
- package/server/AdminServer/package.json +6 -0
- package/server/BunServer/package.json +6 -0
- package/server/FiberManager/package.json +6 -0
- package/server/ImposterServer/package.json +6 -0
- package/services/AppConfig/package.json +6 -0
- package/services/MetricsService/package.json +6 -0
- package/services/PortAllocator/package.json +6 -0
- package/services/ProxyService/package.json +6 -0
- package/services/RequestLogger/package.json +6 -0
- package/services/Uuid/package.json +6 -0
- package/services/UuidLive/package.json +6 -0
- package/src/Program.ts +1 -0
- package/src/api/AdminApi.ts +7 -0
- package/src/api/ApiErrors.ts +20 -0
- package/src/api/ApiSchemas.ts +36 -0
- package/src/api/Conversions.ts +34 -0
- package/src/api/ImpostersGroup.ts +103 -0
- package/src/api/ImpostersHandlers.ts +387 -0
- package/src/api/SystemGroup.ts +12 -0
- package/src/api/SystemHandlers.ts +76 -0
- package/src/cli/Commands.ts +119 -0
- package/src/cli/ConfigLoader.ts +41 -0
- package/src/client/HandlerHttpClient.ts +50 -0
- package/src/client/ImpostersClient.ts +21 -0
- package/src/client/index.ts +9 -0
- package/src/client/testing.ts +105 -0
- package/src/domain/imposter.ts +186 -0
- package/src/domain/route.ts +255 -0
- package/src/index.ts +153 -0
- package/src/layers/ApiLayer.ts +21 -0
- package/src/layers/MainLayer.ts +43 -0
- package/src/matching/ExpressionEvaluator.ts +102 -0
- package/src/matching/RequestMatcher.ts +162 -0
- package/src/matching/ResponseGenerator.ts +86 -0
- package/src/matching/TemplateEngine.ts +54 -0
- package/src/repositories/ImposterRepository.ts +145 -0
- package/src/schemas/ConfigFileSchema.ts +32 -0
- package/src/schemas/ImposterSchema.ts +232 -0
- package/src/schemas/RequestLogSchema.ts +38 -0
- package/src/schemas/StubSchema.ts +90 -0
- package/src/schemas/common.ts +95 -0
- package/src/server/AdminServer.ts +22 -0
- package/src/server/BunServer.ts +19 -0
- package/src/server/FiberManager.ts +25 -0
- package/src/server/ImposterServer.ts +244 -0
- package/src/services/AppConfig.ts +22 -0
- package/src/services/MetricsService.ts +157 -0
- package/src/services/PortAllocator.ts +68 -0
- package/src/services/ProxyService.ts +139 -0
- package/src/services/RequestLogger.ts +87 -0
- package/src/services/Uuid.ts +9 -0
- package/src/services/UuidLive.ts +9 -0
- package/src/types/bun.d.ts +6 -0
- package/src/ui/UiRouter.ts +278 -0
- package/src/ui/admin/AdminLayout.ts +36 -0
- package/src/ui/admin/AdminUiRouter.ts +170 -0
- package/src/ui/admin/pages/AdminDashboard.ts +54 -0
- package/src/ui/admin/partials.ts +83 -0
- package/src/ui/html.ts +37 -0
- package/src/ui/layout.ts +44 -0
- package/src/ui/pages/dashboard.ts +64 -0
- package/src/ui/pages/request-detail.ts +142 -0
- package/src/ui/pages/requests.ts +141 -0
- package/src/ui/pages/stubs.ts +52 -0
- package/src/ui/partials.ts +133 -0
- package/ui/UiRouter/package.json +6 -0
- package/ui/admin/AdminLayout/package.json +6 -0
- package/ui/admin/AdminUiRouter/package.json +6 -0
- package/ui/admin/pages/AdminDashboard/package.json +6 -0
- package/ui/admin/partials/package.json +6 -0
- package/ui/html/package.json +6 -0
- package/ui/layout/package.json +6 -0
- package/ui/pages/dashboard/package.json +6 -0
- package/ui/pages/requests/package.json +6 -0
- package/ui/pages/stubs/package.json +6 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RequestMatcher.js","names":["extractRequestContext","request","url","URL","method","toUpperCase","path","pathname","headers","forEach","value","key","toLowerCase","query","searchParams","body","contentType","get","text","includes","JSON","parse","undefined","exports","normalize","s","caseSensitive","matchString","actual","expected","operator","a","e","startsWith","flags","RegExp","test","matchObject","Object","keys","every","entries","val","actualKey","find","k","actualVal","deepSubsetMatch","Array","isArray","i","length","matchBody","stringify","pattern","evaluatePredicate","ctx","predicate","field","evaluatePredicates","predicates","p","findMatchingStub","stubs","stub"],"sources":["../../../src/matching/RequestMatcher.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.makeResponseState = exports.buildResponse = void 0;
|
|
7
|
+
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
8
|
+
var HashMap = _interopRequireWildcard(require("effect/HashMap"));
|
|
9
|
+
var Ref = _interopRequireWildcard(require("effect/Ref"));
|
|
10
|
+
var _TemplateEngine = require("./TemplateEngine");
|
|
11
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
|
+
const makeResponseState = () => Effect.gen(function* () {
|
|
13
|
+
const countersRef = yield* Ref.make(HashMap.empty());
|
|
14
|
+
const getNextIndex = (imposterId, stubId, count, mode) => {
|
|
15
|
+
const key = `${imposterId}:${stubId}`;
|
|
16
|
+
return Ref.modify(countersRef, counters => {
|
|
17
|
+
const current = HashMap.get(counters, key);
|
|
18
|
+
const index = current._tag === "Some" ? current.value : 0;
|
|
19
|
+
let result;
|
|
20
|
+
switch (mode) {
|
|
21
|
+
case "sequential":
|
|
22
|
+
result = index % count;
|
|
23
|
+
break;
|
|
24
|
+
case "random":
|
|
25
|
+
result = Math.floor(Math.random() * count);
|
|
26
|
+
break;
|
|
27
|
+
case "repeat":
|
|
28
|
+
result = Math.min(index, count - 1);
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
const nextIndex = mode === "random" ? index : index + 1;
|
|
32
|
+
return [Effect.succeed(result), HashMap.set(counters, key, nextIndex)];
|
|
33
|
+
}).pipe(Effect.flatten);
|
|
34
|
+
};
|
|
35
|
+
const reset = imposterId => Ref.update(countersRef, counters => {
|
|
36
|
+
let updated = counters;
|
|
37
|
+
for (const key of HashMap.keys(counters)) {
|
|
38
|
+
if (key.startsWith(`${imposterId}:`)) {
|
|
39
|
+
updated = HashMap.remove(updated, key);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return updated;
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
getNextIndex,
|
|
46
|
+
reset
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
exports.makeResponseState = makeResponseState;
|
|
50
|
+
const buildResponse = async (config, ctx) => {
|
|
51
|
+
const headers = new Headers();
|
|
52
|
+
const responseHeaders = config.headers;
|
|
53
|
+
if (responseHeaders !== undefined) {
|
|
54
|
+
for (const [key, val] of Object.entries(responseHeaders)) {
|
|
55
|
+
const templated = await (0, _TemplateEngine.applyTemplates)(ctx, val);
|
|
56
|
+
headers.set(key, typeof templated === "string" ? templated : String(templated));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
let bodyStr = null;
|
|
60
|
+
if (config.body !== undefined) {
|
|
61
|
+
const templated = await (0, _TemplateEngine.applyTemplates)(ctx, config.body);
|
|
62
|
+
if (typeof templated === "string") {
|
|
63
|
+
bodyStr = templated;
|
|
64
|
+
if (!headers.has("content-type")) {
|
|
65
|
+
headers.set("content-type", "text/plain");
|
|
66
|
+
}
|
|
67
|
+
} else {
|
|
68
|
+
bodyStr = JSON.stringify(templated);
|
|
69
|
+
if (!headers.has("content-type")) {
|
|
70
|
+
headers.set("content-type", "application/json");
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return new Response(bodyStr, {
|
|
75
|
+
status: config.status,
|
|
76
|
+
headers
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
exports.buildResponse = buildResponse;
|
|
80
|
+
//# sourceMappingURL=ResponseGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResponseGenerator.js","names":["Effect","_interopRequireWildcard","require","HashMap","Ref","_TemplateEngine","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","makeResponseState","gen","countersRef","make","empty","getNextIndex","imposterId","stubId","count","mode","key","modify","counters","current","index","_tag","value","result","Math","floor","random","min","nextIndex","succeed","pipe","flatten","reset","update","updated","keys","startsWith","remove","exports","buildResponse","config","ctx","headers","Headers","responseHeaders","undefined","val","entries","templated","applyTemplates","String","bodyStr","body","JSON","stringify","Response","status"],"sources":["../../../src/matching/ResponseGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.flattenRequestContext = exports.applyTemplates = void 0;
|
|
7
|
+
var _route = require("../domain/route");
|
|
8
|
+
var _ExpressionEvaluator = require("./ExpressionEvaluator");
|
|
9
|
+
const flattenObject = (obj, prefix, result) => {
|
|
10
|
+
if (obj === null || obj === undefined) return;
|
|
11
|
+
if (typeof obj === "string") {
|
|
12
|
+
result[prefix] = obj;
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (typeof obj === "number" || typeof obj === "boolean") {
|
|
16
|
+
result[prefix] = String(obj);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (Array.isArray(obj)) {
|
|
20
|
+
result[prefix] = JSON.stringify(obj);
|
|
21
|
+
obj.forEach((item, i) => flattenObject(item, `${prefix}.${i}`, result));
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (typeof obj === "object") {
|
|
25
|
+
result[prefix] = JSON.stringify(obj);
|
|
26
|
+
for (const [key, val] of Object.entries(obj)) {
|
|
27
|
+
flattenObject(val, `${prefix}.${key}`, result);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const flattenRequestContext = ctx => {
|
|
32
|
+
const result = {
|
|
33
|
+
"request.method": ctx.method,
|
|
34
|
+
"request.path": ctx.path
|
|
35
|
+
};
|
|
36
|
+
for (const [key, val] of Object.entries(ctx.headers)) {
|
|
37
|
+
result[`request.headers.${key}`] = val;
|
|
38
|
+
}
|
|
39
|
+
for (const [key, val] of Object.entries(ctx.query)) {
|
|
40
|
+
result[`request.query.${key}`] = val;
|
|
41
|
+
}
|
|
42
|
+
if (ctx.body !== undefined && ctx.body !== null) {
|
|
43
|
+
flattenObject(ctx.body, "request.body", result);
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
};
|
|
47
|
+
exports.flattenRequestContext = flattenRequestContext;
|
|
48
|
+
const applyTemplates = async (ctx, data) => {
|
|
49
|
+
// Step 1: Apply {{key}} substitution
|
|
50
|
+
const substituted = (0, _route.substituteParams)(flattenRequestContext(ctx))(data);
|
|
51
|
+
// Step 2: Apply ${expr} JSONata evaluation
|
|
52
|
+
return (0, _ExpressionEvaluator.processExpressions)(ctx, substituted);
|
|
53
|
+
};
|
|
54
|
+
exports.applyTemplates = applyTemplates;
|
|
55
|
+
//# sourceMappingURL=TemplateEngine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateEngine.js","names":["_route","require","_ExpressionEvaluator","flattenObject","obj","prefix","result","undefined","String","Array","isArray","JSON","stringify","forEach","item","i","key","val","Object","entries","flattenRequestContext","ctx","method","path","headers","query","body","exports","applyTemplates","data","substituted","substituteParams","processExpressions"],"sources":["../../../src/matching/TemplateEngine.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AAGA,MAAME,aAAa,GAAGA,CAACC,GAAY,EAAEC,MAAc,EAAEC,MAA8B,KAAU;EAC3F,IAAIF,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAKG,SAAS,EAAE;EACvC,IAAI,OAAOH,GAAG,KAAK,QAAQ,EAAE;IAC3BE,MAAM,CAACD,MAAM,CAAC,GAAGD,GAAG;IACpB;EACF;EACA,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAI,OAAOA,GAAG,KAAK,SAAS,EAAE;IACvDE,MAAM,CAACD,MAAM,CAAC,GAAGG,MAAM,CAACJ,GAAG,CAAC;IAC5B;EACF;EACA,IAAIK,KAAK,CAACC,OAAO,CAACN,GAAG,CAAC,EAAE;IACtBE,MAAM,CAACD,MAAM,CAAC,GAAGM,IAAI,CAACC,SAAS,CAACR,GAAG,CAAC;IACpCA,GAAG,CAACS,OAAO,CAAC,CAACC,IAAI,EAAEC,CAAC,KAAKZ,aAAa,CAACW,IAAI,EAAE,GAAGT,MAAM,IAAIU,CAAC,EAAE,EAAET,MAAM,CAAC,CAAC;IACvE;EACF;EACA,IAAI,OAAOF,GAAG,KAAK,QAAQ,EAAE;IAC3BE,MAAM,CAACD,MAAM,CAAC,GAAGM,IAAI,CAACC,SAAS,CAACR,GAAG,CAAC;IACpC,KAAK,MAAM,CAACY,GAAG,EAAEC,GAAG,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACf,GAA8B,CAAC,EAAE;MACvED,aAAa,CAACc,GAAG,EAAE,GAAGZ,MAAM,IAAIW,GAAG,EAAE,EAAEV,MAAM,CAAC;IAChD;EACF;AACF,CAAC;AAEM,MAAMc,qBAAqB,GAAIC,GAAmB,IAA4B;EACnF,MAAMf,MAAM,GAA2B;IACrC,gBAAgB,EAAEe,GAAG,CAACC,MAAM;IAC5B,cAAc,EAAED,GAAG,CAACE;GACrB;EAED,KAAK,MAAM,CAACP,GAAG,EAAEC,GAAG,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACE,GAAG,CAACG,OAAO,CAAC,EAAE;IACpDlB,MAAM,CAAC,mBAAmBU,GAAG,EAAE,CAAC,GAAGC,GAAG;EACxC;EAEA,KAAK,MAAM,CAACD,GAAG,EAAEC,GAAG,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACE,GAAG,CAACI,KAAK,CAAC,EAAE;IAClDnB,MAAM,CAAC,iBAAiBU,GAAG,EAAE,CAAC,GAAGC,GAAG;EACtC;EAEA,IAAII,GAAG,CAACK,IAAI,KAAKnB,SAAS,IAAIc,GAAG,CAACK,IAAI,KAAK,IAAI,EAAE;IAC/CvB,aAAa,CAACkB,GAAG,CAACK,IAAI,EAAE,cAAc,EAAEpB,MAAM,CAAC;EACjD;EAEA,OAAOA,MAAM;AACf,CAAC;AAAAqB,OAAA,CAAAP,qBAAA,GAAAA,qBAAA;AAEM,MAAMQ,cAAc,GAAG,MAAAA,CAAOP,GAAmB,EAAEQ,IAAa,KAAsB;EAC3F;EACA,MAAMC,WAAW,GAAG,IAAAC,uBAAgB,EAACX,qBAAqB,CAACC,GAAG,CAAC,CAAC,CAACQ,IAAI,CAAC;EACtE;EACA,OAAO,IAAAG,uCAAkB,EAACX,GAAG,EAAES,WAAW,CAAC;AAC7C,CAAC;AAAAH,OAAA,CAAAC,cAAA,GAAAA,cAAA","ignoreList":[]}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.StubNotFoundError = exports.ImposterRepositoryLive = exports.ImposterRepository = void 0;
|
|
7
|
+
var _effect = require("effect");
|
|
8
|
+
var _imposter = require("../domain/imposter");
|
|
9
|
+
class StubNotFoundError extends _effect.Data.TaggedError("StubNotFoundError") {}
|
|
10
|
+
exports.StubNotFoundError = StubNotFoundError;
|
|
11
|
+
class ImposterRepository extends _effect.Context.Tag("ImposterRepository")() {}
|
|
12
|
+
exports.ImposterRepository = ImposterRepository;
|
|
13
|
+
const ImposterRepositoryLive = exports.ImposterRepositoryLive = /*#__PURE__*/_effect.Layer.effect(ImposterRepository, /*#__PURE__*/_effect.Effect.gen(function* () {
|
|
14
|
+
const storeRef = yield* _effect.Ref.make(_effect.HashMap.empty());
|
|
15
|
+
const getRecord = id => _effect.Ref.get(storeRef).pipe(_effect.Effect.flatMap(store => {
|
|
16
|
+
const record = _effect.HashMap.get(store, id);
|
|
17
|
+
return record._tag === "Some" ? _effect.Effect.succeed(record.value) : _effect.Effect.fail(new _imposter.ImposterNotFoundError({
|
|
18
|
+
id
|
|
19
|
+
}));
|
|
20
|
+
}));
|
|
21
|
+
const create = config => {
|
|
22
|
+
const record = {
|
|
23
|
+
config,
|
|
24
|
+
stubs: []
|
|
25
|
+
};
|
|
26
|
+
return _effect.Ref.modify(storeRef, store => [_effect.Effect.succeed(record), _effect.HashMap.set(store, config.id, record)]).pipe(_effect.Effect.flatten);
|
|
27
|
+
};
|
|
28
|
+
const get = id => getRecord(id);
|
|
29
|
+
const getAll = _effect.Ref.get(storeRef).pipe(_effect.Effect.map(store => Array.from(_effect.HashMap.values(store))));
|
|
30
|
+
const update = (id, fn) => _effect.Ref.modify(storeRef, store => {
|
|
31
|
+
const existing = _effect.HashMap.get(store, id);
|
|
32
|
+
if (existing._tag === "None") {
|
|
33
|
+
return [_effect.Effect.fail(new _imposter.ImposterNotFoundError({
|
|
34
|
+
id
|
|
35
|
+
})), store];
|
|
36
|
+
}
|
|
37
|
+
const updated = fn(existing.value);
|
|
38
|
+
return [_effect.Effect.succeed(updated), _effect.HashMap.set(store, id, updated)];
|
|
39
|
+
}).pipe(_effect.Effect.flatten);
|
|
40
|
+
const remove = id => _effect.Ref.modify(storeRef, store => {
|
|
41
|
+
const existing = _effect.HashMap.get(store, id);
|
|
42
|
+
if (existing._tag === "None") {
|
|
43
|
+
return [_effect.Effect.fail(new _imposter.ImposterNotFoundError({
|
|
44
|
+
id
|
|
45
|
+
})), store];
|
|
46
|
+
}
|
|
47
|
+
return [_effect.Effect.succeed(existing.value), _effect.HashMap.remove(store, id)];
|
|
48
|
+
}).pipe(_effect.Effect.flatten);
|
|
49
|
+
const addStub = (imposterId, stub) => _effect.Ref.modify(storeRef, store => {
|
|
50
|
+
const existing = _effect.HashMap.get(store, imposterId);
|
|
51
|
+
if (existing._tag === "None") {
|
|
52
|
+
return [_effect.Effect.fail(new _imposter.ImposterNotFoundError({
|
|
53
|
+
id: imposterId
|
|
54
|
+
})), store];
|
|
55
|
+
}
|
|
56
|
+
const updated = {
|
|
57
|
+
...existing.value,
|
|
58
|
+
stubs: [...existing.value.stubs, stub]
|
|
59
|
+
};
|
|
60
|
+
return [_effect.Effect.succeed(stub), _effect.HashMap.set(store, imposterId, updated)];
|
|
61
|
+
}).pipe(_effect.Effect.flatten);
|
|
62
|
+
const getStubs = imposterId => getRecord(imposterId).pipe(_effect.Effect.map(r => r.stubs));
|
|
63
|
+
const updateStub = (imposterId, stubId, fn) => _effect.Ref.modify(storeRef, store => {
|
|
64
|
+
const existing = _effect.HashMap.get(store, imposterId);
|
|
65
|
+
if (existing._tag === "None") {
|
|
66
|
+
return [_effect.Effect.fail(new _imposter.ImposterNotFoundError({
|
|
67
|
+
id: imposterId
|
|
68
|
+
})), store];
|
|
69
|
+
}
|
|
70
|
+
const stubIndex = existing.value.stubs.findIndex(s => s.id === stubId);
|
|
71
|
+
if (stubIndex === -1) {
|
|
72
|
+
return [_effect.Effect.fail(new StubNotFoundError({
|
|
73
|
+
imposterId,
|
|
74
|
+
stubId
|
|
75
|
+
})), store];
|
|
76
|
+
}
|
|
77
|
+
const updatedStub = fn(existing.value.stubs[stubIndex]);
|
|
78
|
+
const newStubs = [...existing.value.stubs];
|
|
79
|
+
newStubs[stubIndex] = updatedStub;
|
|
80
|
+
const updated = {
|
|
81
|
+
...existing.value,
|
|
82
|
+
stubs: newStubs
|
|
83
|
+
};
|
|
84
|
+
return [_effect.Effect.succeed(updatedStub), _effect.HashMap.set(store, imposterId, updated)];
|
|
85
|
+
}).pipe(_effect.Effect.flatten);
|
|
86
|
+
const removeStub = (imposterId, stubId) => _effect.Ref.modify(storeRef, store => {
|
|
87
|
+
const existing = _effect.HashMap.get(store, imposterId);
|
|
88
|
+
if (existing._tag === "None") {
|
|
89
|
+
return [_effect.Effect.fail(new _imposter.ImposterNotFoundError({
|
|
90
|
+
id: imposterId
|
|
91
|
+
})), store];
|
|
92
|
+
}
|
|
93
|
+
const stub = existing.value.stubs.find(s => s.id === stubId);
|
|
94
|
+
if (!stub) {
|
|
95
|
+
return [_effect.Effect.fail(new StubNotFoundError({
|
|
96
|
+
imposterId,
|
|
97
|
+
stubId
|
|
98
|
+
})), store];
|
|
99
|
+
}
|
|
100
|
+
const updated = {
|
|
101
|
+
...existing.value,
|
|
102
|
+
stubs: existing.value.stubs.filter(s => s.id !== stubId)
|
|
103
|
+
};
|
|
104
|
+
return [_effect.Effect.succeed(stub), _effect.HashMap.set(store, imposterId, updated)];
|
|
105
|
+
}).pipe(_effect.Effect.flatten);
|
|
106
|
+
return {
|
|
107
|
+
create,
|
|
108
|
+
get,
|
|
109
|
+
getAll,
|
|
110
|
+
update,
|
|
111
|
+
remove,
|
|
112
|
+
addStub,
|
|
113
|
+
getStubs,
|
|
114
|
+
updateStub,
|
|
115
|
+
removeStub
|
|
116
|
+
};
|
|
117
|
+
}));
|
|
118
|
+
//# sourceMappingURL=ImposterRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImposterRepository.js","names":["_effect","require","_imposter","StubNotFoundError","Data","TaggedError","exports","ImposterRepository","Context","Tag","ImposterRepositoryLive","Layer","effect","Effect","gen","storeRef","Ref","make","HashMap","empty","getRecord","id","get","pipe","flatMap","store","record","_tag","succeed","value","fail","ImposterNotFoundError","create","config","stubs","modify","set","flatten","getAll","map","Array","from","values","update","fn","existing","updated","remove","addStub","imposterId","stub","getStubs","r","updateStub","stubId","stubIndex","findIndex","s","updatedStub","newStubs","removeStub","find","filter"],"sources":["../../../src/repositories/ImposterRepository.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ImposterConfig = exports.ConfigFile = exports.AdminConfig = void 0;
|
|
7
|
+
var Schema = _interopRequireWildcard(require("effect/Schema"));
|
|
8
|
+
var _common = require("./common");
|
|
9
|
+
var _StubSchema = require("./StubSchema");
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
11
|
+
const ImposterConfig = exports.ImposterConfig = /*#__PURE__*/Schema.Struct({
|
|
12
|
+
name: /*#__PURE__*/Schema.optional(_common.NonEmptyString),
|
|
13
|
+
port: _common.PortNumber,
|
|
14
|
+
stubs: /*#__PURE__*/Schema.optionalWith(/*#__PURE__*/Schema.Array(_StubSchema.CreateStubRequest), {
|
|
15
|
+
default: () => []
|
|
16
|
+
}),
|
|
17
|
+
proxy: /*#__PURE__*/Schema.optional(_StubSchema.ProxyConfig)
|
|
18
|
+
});
|
|
19
|
+
const AdminConfig = exports.AdminConfig = /*#__PURE__*/Schema.Struct({
|
|
20
|
+
port: /*#__PURE__*/Schema.optionalWith(_common.PortNumber, {
|
|
21
|
+
default: () => 2525
|
|
22
|
+
}),
|
|
23
|
+
portRangeMin: /*#__PURE__*/Schema.optionalWith(_common.PortNumber, {
|
|
24
|
+
default: () => 3000
|
|
25
|
+
}),
|
|
26
|
+
portRangeMax: /*#__PURE__*/Schema.optionalWith(_common.PortNumber, {
|
|
27
|
+
default: () => 4000
|
|
28
|
+
}),
|
|
29
|
+
maxImposters: /*#__PURE__*/Schema.optionalWith(/*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.positive()), {
|
|
30
|
+
default: () => 100
|
|
31
|
+
}),
|
|
32
|
+
logLevel: /*#__PURE__*/Schema.optionalWith(/*#__PURE__*/Schema.Literal("debug", "info", "warn", "error"), {
|
|
33
|
+
default: () => "info"
|
|
34
|
+
})
|
|
35
|
+
});
|
|
36
|
+
const ConfigFile = exports.ConfigFile = /*#__PURE__*/Schema.Struct({
|
|
37
|
+
admin: /*#__PURE__*/Schema.optionalWith(AdminConfig, {
|
|
38
|
+
default: () => Schema.decodeSync(AdminConfig)({})
|
|
39
|
+
}),
|
|
40
|
+
imposters: /*#__PURE__*/Schema.optionalWith(/*#__PURE__*/Schema.Array(ImposterConfig), {
|
|
41
|
+
default: () => []
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=ConfigFileSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigFileSchema.js","names":["Schema","_interopRequireWildcard","require","_common","_StubSchema","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ImposterConfig","exports","Struct","name","optional","NonEmptyString","port","PortNumber","stubs","optionalWith","Array","CreateStubRequest","proxy","ProxyConfig","AdminConfig","portRangeMin","portRangeMax","maxImposters","Number","pipe","int","positive","logLevel","Literal","ConfigFile","admin","decodeSync","imposters"],"sources":["../../../src/schemas/ConfigFileSchema.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.UpdateImposterRequest = exports.SystemInfo = exports.Statistics = exports.ServerInfoResponse = exports.ServerInfo = exports.ServerFeatures = exports.ServerConfiguration = exports.RouteResponse = exports.PortsSummary = exports.MemoryInfo = exports.ListRoutesResponse = exports.ListImpostersResponse = exports.ListImpostersQuery = exports.ImpostersSummary = exports.ImposterResponse = exports.HealthResponse = exports.EndpointSummary = exports.DeleteImposterResponse = exports.DeleteImposterQuery = exports.CreateRouteRequest = exports.CreateImposterRequest = void 0;
|
|
7
|
+
var Schema = _interopRequireWildcard(require("effect/Schema"));
|
|
8
|
+
var _common = require("./common");
|
|
9
|
+
var _StubSchema = require("./StubSchema");
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
11
|
+
// Create Imposter Request Schema - POST /imposters
|
|
12
|
+
const CreateImposterRequest = exports.CreateImposterRequest = /*#__PURE__*/Schema.Struct({
|
|
13
|
+
name: /*#__PURE__*/Schema.optional(_common.NonEmptyString),
|
|
14
|
+
port: /*#__PURE__*/Schema.optional(_common.PortNumber),
|
|
15
|
+
protocol: /*#__PURE__*/Schema.optionalWith(_common.Protocol, {
|
|
16
|
+
default: () => "HTTP"
|
|
17
|
+
}),
|
|
18
|
+
adminPath: /*#__PURE__*/Schema.optionalWith(/*#__PURE__*/Schema.String.pipe(/*#__PURE__*/Schema.startsWith("/")), {
|
|
19
|
+
default: () => "/_admin"
|
|
20
|
+
}),
|
|
21
|
+
proxy: /*#__PURE__*/Schema.optional(_StubSchema.ProxyConfig)
|
|
22
|
+
});
|
|
23
|
+
// Update Imposter Request Schema - PATCH /imposters/{id}
|
|
24
|
+
const UpdateImposterRequest = exports.UpdateImposterRequest = /*#__PURE__*/Schema.Struct({
|
|
25
|
+
name: /*#__PURE__*/Schema.optional(_common.NonEmptyString),
|
|
26
|
+
status: /*#__PURE__*/Schema.optional(_common.ImposterStatus),
|
|
27
|
+
port: /*#__PURE__*/Schema.optional(_common.PortNumber),
|
|
28
|
+
adminPath: /*#__PURE__*/Schema.optional(/*#__PURE__*/Schema.String.pipe(/*#__PURE__*/Schema.startsWith("/"))),
|
|
29
|
+
proxy: /*#__PURE__*/Schema.optional(/*#__PURE__*/Schema.NullOr(_StubSchema.ProxyConfig))
|
|
30
|
+
});
|
|
31
|
+
// List Imposters Query Schema - GET /imposters query params
|
|
32
|
+
const ListImpostersQuery = exports.ListImpostersQuery = /*#__PURE__*/Schema.Struct({
|
|
33
|
+
..._common.PaginationQuery.fields,
|
|
34
|
+
status: _common.StatusFilter,
|
|
35
|
+
protocol: _common.ProtocolFilter
|
|
36
|
+
});
|
|
37
|
+
// Route API Schemas
|
|
38
|
+
const CreateRouteRequest = exports.CreateRouteRequest = /*#__PURE__*/Schema.Struct({
|
|
39
|
+
path: /*#__PURE__*/Schema.String.pipe(/*#__PURE__*/Schema.startsWith("/")),
|
|
40
|
+
method: /*#__PURE__*/Schema.optionalWith(/*#__PURE__*/Schema.Literal("GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"), {
|
|
41
|
+
default: () => "GET"
|
|
42
|
+
}),
|
|
43
|
+
response: /*#__PURE__*/Schema.Struct({
|
|
44
|
+
status: /*#__PURE__*/Schema.optionalWith(/*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.between(100, 599)), {
|
|
45
|
+
default: () => 200
|
|
46
|
+
}),
|
|
47
|
+
headers: /*#__PURE__*/Schema.optional(/*#__PURE__*/Schema.Record({
|
|
48
|
+
key: Schema.String,
|
|
49
|
+
value: Schema.String
|
|
50
|
+
})),
|
|
51
|
+
body: /*#__PURE__*/Schema.optional(Schema.Unknown)
|
|
52
|
+
}),
|
|
53
|
+
delay: /*#__PURE__*/Schema.optional(/*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.between(0, 60000)))
|
|
54
|
+
});
|
|
55
|
+
const RouteResponse = exports.RouteResponse = /*#__PURE__*/Schema.Struct({
|
|
56
|
+
id: _common.NonEmptyString,
|
|
57
|
+
path: _common.NonEmptyString,
|
|
58
|
+
method: /*#__PURE__*/Schema.Literal("GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"),
|
|
59
|
+
response: /*#__PURE__*/Schema.Struct({
|
|
60
|
+
status: /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.between(100, 599)),
|
|
61
|
+
headers: /*#__PURE__*/Schema.optional(/*#__PURE__*/Schema.Record({
|
|
62
|
+
key: Schema.String,
|
|
63
|
+
value: Schema.String
|
|
64
|
+
})),
|
|
65
|
+
body: /*#__PURE__*/Schema.optional(Schema.Unknown)
|
|
66
|
+
}),
|
|
67
|
+
delay: /*#__PURE__*/Schema.optional(/*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.between(0, 60000))),
|
|
68
|
+
createdAt: Schema.DateTimeUtc
|
|
69
|
+
});
|
|
70
|
+
const ListRoutesResponse = exports.ListRoutesResponse = /*#__PURE__*/Schema.Struct({
|
|
71
|
+
routes: /*#__PURE__*/Schema.Array(RouteResponse),
|
|
72
|
+
pagination: _common.PaginationMeta
|
|
73
|
+
});
|
|
74
|
+
// Endpoint Summary Schema (for imposter responses)
|
|
75
|
+
const EndpointSummary = exports.EndpointSummary = /*#__PURE__*/Schema.Struct({
|
|
76
|
+
id: _common.NonEmptyString,
|
|
77
|
+
path: _common.NonEmptyString,
|
|
78
|
+
method: _common.NonEmptyString,
|
|
79
|
+
status: /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.between(100, 599)),
|
|
80
|
+
hasDelay: Schema.Boolean,
|
|
81
|
+
delayMs: /*#__PURE__*/Schema.optional(/*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.nonNegative()))
|
|
82
|
+
});
|
|
83
|
+
// Statistics Schema
|
|
84
|
+
const Statistics = exports.Statistics = /*#__PURE__*/Schema.Struct({
|
|
85
|
+
totalRequests: /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.nonNegative()),
|
|
86
|
+
requestsPerMinute: /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.nonNegative()),
|
|
87
|
+
averageResponseTime: /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.nonNegative()),
|
|
88
|
+
errorRate: /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.between(0, 1)),
|
|
89
|
+
requestsByMethod: /*#__PURE__*/Schema.optionalWith(/*#__PURE__*/Schema.Record({
|
|
90
|
+
key: Schema.String,
|
|
91
|
+
value: Schema.Number
|
|
92
|
+
}), {
|
|
93
|
+
default: () => ({})
|
|
94
|
+
}),
|
|
95
|
+
requestsByStatusCode: /*#__PURE__*/Schema.optionalWith(/*#__PURE__*/Schema.Record({
|
|
96
|
+
key: Schema.String,
|
|
97
|
+
value: Schema.Number
|
|
98
|
+
}), {
|
|
99
|
+
default: () => ({})
|
|
100
|
+
}),
|
|
101
|
+
lastRequestAt: /*#__PURE__*/Schema.optional(Schema.DateTimeUtc),
|
|
102
|
+
p50ResponseTime: /*#__PURE__*/Schema.optional(Schema.Number),
|
|
103
|
+
p95ResponseTime: /*#__PURE__*/Schema.optional(Schema.Number),
|
|
104
|
+
p99ResponseTime: /*#__PURE__*/Schema.optional(Schema.Number)
|
|
105
|
+
});
|
|
106
|
+
// Core Imposter Response Schema
|
|
107
|
+
const ImposterResponse = exports.ImposterResponse = /*#__PURE__*/Schema.Struct({
|
|
108
|
+
id: _common.NonEmptyString,
|
|
109
|
+
name: _common.NonEmptyString,
|
|
110
|
+
port: _common.PortNumber,
|
|
111
|
+
protocol: _common.Protocol,
|
|
112
|
+
status: _common.ImposterStatus,
|
|
113
|
+
endpointCount: /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.nonNegative()),
|
|
114
|
+
createdAt: Schema.DateTimeUtc,
|
|
115
|
+
adminUrl: _common.NonEmptyString,
|
|
116
|
+
adminPath: _common.NonEmptyString,
|
|
117
|
+
uptime: /*#__PURE__*/Schema.optional(Schema.String),
|
|
118
|
+
// Formatted duration string
|
|
119
|
+
endpoints: /*#__PURE__*/Schema.optional(/*#__PURE__*/Schema.Array(EndpointSummary)),
|
|
120
|
+
statistics: /*#__PURE__*/Schema.optional(Statistics),
|
|
121
|
+
proxy: /*#__PURE__*/Schema.optional(_StubSchema.ProxyConfig)
|
|
122
|
+
});
|
|
123
|
+
// List Imposters Response Schema - GET /imposters
|
|
124
|
+
const ListImpostersResponse = exports.ListImpostersResponse = /*#__PURE__*/Schema.Struct({
|
|
125
|
+
imposters: /*#__PURE__*/Schema.Array(ImposterResponse),
|
|
126
|
+
pagination: _common.PaginationMeta
|
|
127
|
+
});
|
|
128
|
+
// Delete Imposter Query Schema - DELETE /imposters/{id}
|
|
129
|
+
const DeleteImposterQuery = exports.DeleteImposterQuery = /*#__PURE__*/Schema.Struct({
|
|
130
|
+
force: /*#__PURE__*/Schema.optionalWith(Schema.Boolean, {
|
|
131
|
+
default: () => false
|
|
132
|
+
})
|
|
133
|
+
});
|
|
134
|
+
// Delete Imposter Response Schema
|
|
135
|
+
const DeleteImposterResponse = exports.DeleteImposterResponse = /*#__PURE__*/Schema.Struct({
|
|
136
|
+
message: _common.NonEmptyString,
|
|
137
|
+
id: _common.NonEmptyString,
|
|
138
|
+
deletedAt: Schema.DateTimeUtc
|
|
139
|
+
});
|
|
140
|
+
// System Memory Info Schema
|
|
141
|
+
const MemoryInfo = exports.MemoryInfo = /*#__PURE__*/Schema.Struct({
|
|
142
|
+
used: _common.NonEmptyString,
|
|
143
|
+
free: _common.NonEmptyString
|
|
144
|
+
});
|
|
145
|
+
// System Imposters Summary Schema
|
|
146
|
+
const ImpostersSummary = exports.ImpostersSummary = /*#__PURE__*/Schema.Struct({
|
|
147
|
+
total: /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.nonNegative()),
|
|
148
|
+
running: /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.nonNegative()),
|
|
149
|
+
stopped: /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.nonNegative())
|
|
150
|
+
});
|
|
151
|
+
// System Ports Summary Schema
|
|
152
|
+
const PortsSummary = exports.PortsSummary = /*#__PURE__*/Schema.Struct({
|
|
153
|
+
available: /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.nonNegative()),
|
|
154
|
+
allocated: /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.nonNegative())
|
|
155
|
+
});
|
|
156
|
+
// System Info Schema (for health endpoint)
|
|
157
|
+
const SystemInfo = exports.SystemInfo = /*#__PURE__*/Schema.Struct({
|
|
158
|
+
memory: MemoryInfo,
|
|
159
|
+
imposters: ImpostersSummary,
|
|
160
|
+
ports: PortsSummary
|
|
161
|
+
});
|
|
162
|
+
// Health Response Schema - GET /health
|
|
163
|
+
const HealthResponse = exports.HealthResponse = /*#__PURE__*/Schema.Struct({
|
|
164
|
+
status: /*#__PURE__*/Schema.Literal("healthy", "unhealthy"),
|
|
165
|
+
timestamp: Schema.DateTimeUtc,
|
|
166
|
+
version: _common.NonEmptyString,
|
|
167
|
+
uptime: Schema.String,
|
|
168
|
+
// Formatted duration
|
|
169
|
+
system: SystemInfo
|
|
170
|
+
});
|
|
171
|
+
// Server Configuration Schema
|
|
172
|
+
const ServerConfiguration = exports.ServerConfiguration = /*#__PURE__*/Schema.Struct({
|
|
173
|
+
maxImposters: /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.positive()),
|
|
174
|
+
portRange: /*#__PURE__*/Schema.Struct({
|
|
175
|
+
min: _common.PortNumber,
|
|
176
|
+
max: _common.PortNumber
|
|
177
|
+
}),
|
|
178
|
+
defaultTimeout: /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.int(), /*#__PURE__*/Schema.positive()),
|
|
179
|
+
logLevel: /*#__PURE__*/Schema.Literal("debug", "info", "warn", "error")
|
|
180
|
+
});
|
|
181
|
+
// Server Features Schema
|
|
182
|
+
const ServerFeatures = exports.ServerFeatures = /*#__PURE__*/Schema.Struct({
|
|
183
|
+
openApiGeneration: Schema.Boolean,
|
|
184
|
+
clientGeneration: Schema.Boolean,
|
|
185
|
+
authentication: Schema.Boolean,
|
|
186
|
+
clustering: Schema.Boolean
|
|
187
|
+
});
|
|
188
|
+
// Server Info Schema
|
|
189
|
+
const ServerInfo = exports.ServerInfo = /*#__PURE__*/Schema.Struct({
|
|
190
|
+
name: _common.NonEmptyString,
|
|
191
|
+
version: _common.NonEmptyString,
|
|
192
|
+
buildTime: Schema.DateTimeUtc,
|
|
193
|
+
platform: _common.NonEmptyString,
|
|
194
|
+
protocols: /*#__PURE__*/Schema.Array(_common.Protocol)
|
|
195
|
+
});
|
|
196
|
+
// Server Info Response Schema - GET /info
|
|
197
|
+
const ServerInfoResponse = exports.ServerInfoResponse = /*#__PURE__*/Schema.Struct({
|
|
198
|
+
server: ServerInfo,
|
|
199
|
+
configuration: ServerConfiguration,
|
|
200
|
+
features: ServerFeatures
|
|
201
|
+
});
|
|
202
|
+
//# sourceMappingURL=ImposterSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImposterSchema.js","names":["Schema","_interopRequireWildcard","require","_common","_StubSchema","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CreateImposterRequest","exports","Struct","name","optional","NonEmptyString","port","PortNumber","protocol","optionalWith","Protocol","adminPath","String","pipe","startsWith","proxy","ProxyConfig","UpdateImposterRequest","status","ImposterStatus","NullOr","ListImpostersQuery","PaginationQuery","fields","StatusFilter","ProtocolFilter","CreateRouteRequest","path","method","Literal","response","Number","int","between","headers","Record","key","value","body","Unknown","delay","RouteResponse","id","createdAt","DateTimeUtc","ListRoutesResponse","routes","Array","pagination","PaginationMeta","EndpointSummary","hasDelay","Boolean","delayMs","nonNegative","Statistics","totalRequests","requestsPerMinute","averageResponseTime","errorRate","requestsByMethod","requestsByStatusCode","lastRequestAt","p50ResponseTime","p95ResponseTime","p99ResponseTime","ImposterResponse","endpointCount","adminUrl","uptime","endpoints","statistics","ListImpostersResponse","imposters","DeleteImposterQuery","force","DeleteImposterResponse","message","deletedAt","MemoryInfo","used","free","ImpostersSummary","total","running","stopped","PortsSummary","available","allocated","SystemInfo","memory","ports","HealthResponse","timestamp","version","system","ServerConfiguration","maxImposters","positive","portRange","min","max","defaultTimeout","logLevel","ServerFeatures","openApiGeneration","clientGeneration","authentication","clustering","ServerInfo","buildTime","platform","protocols","ServerInfoResponse","server","configuration","features"],"sources":["../../../src/schemas/ImposterSchema.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|