nitrostack 1.0.83 → 1.0.85
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 +1 -1
- package/README.md +42 -137
- package/assets/gif/nitrocli.gif +0 -0
- package/assets/gif/nitrostudio-chat.gif +0 -0
- package/assets/gif/nitrostudio-main.gif +0 -0
- package/assets/gif/nitrostudio-testing.gif +0 -0
- package/package.json +15 -50
- package/dist/auth/__tests__/api-key.test.d.ts +0 -2
- package/dist/auth/__tests__/api-key.test.d.ts.map +0 -1
- package/dist/auth/__tests__/api-key.test.js +0 -156
- package/dist/auth/__tests__/api-key.test.js.map +0 -1
- package/dist/auth/__tests__/client.test.d.ts +0 -2
- package/dist/auth/__tests__/client.test.d.ts.map +0 -1
- package/dist/auth/__tests__/client.test.js +0 -173
- package/dist/auth/__tests__/client.test.js.map +0 -1
- package/dist/auth/__tests__/middleware.test.d.ts +0 -2
- package/dist/auth/__tests__/middleware.test.d.ts.map +0 -1
- package/dist/auth/__tests__/middleware.test.js +0 -232
- package/dist/auth/__tests__/middleware.test.js.map +0 -1
- package/dist/auth/__tests__/pkce.test.d.ts +0 -2
- package/dist/auth/__tests__/pkce.test.d.ts.map +0 -1
- package/dist/auth/__tests__/pkce.test.js +0 -110
- package/dist/auth/__tests__/pkce.test.js.map +0 -1
- package/dist/auth/__tests__/quick-setup.test.d.ts +0 -2
- package/dist/auth/__tests__/quick-setup.test.d.ts.map +0 -1
- package/dist/auth/__tests__/quick-setup.test.js +0 -95
- package/dist/auth/__tests__/quick-setup.test.js.map +0 -1
- package/dist/auth/__tests__/secure-secret.test.d.ts +0 -2
- package/dist/auth/__tests__/secure-secret.test.d.ts.map +0 -1
- package/dist/auth/__tests__/secure-secret.test.js +0 -104
- package/dist/auth/__tests__/secure-secret.test.js.map +0 -1
- package/dist/auth/__tests__/server-integration.test.d.ts +0 -2
- package/dist/auth/__tests__/server-integration.test.d.ts.map +0 -1
- package/dist/auth/__tests__/server-integration.test.js +0 -156
- package/dist/auth/__tests__/server-integration.test.js.map +0 -1
- package/dist/auth/__tests__/server-metadata.test.d.ts +0 -2
- package/dist/auth/__tests__/server-metadata.test.d.ts.map +0 -1
- package/dist/auth/__tests__/server-metadata.test.js +0 -72
- package/dist/auth/__tests__/server-metadata.test.js.map +0 -1
- package/dist/auth/__tests__/simple-jwt.test.d.ts +0 -2
- package/dist/auth/__tests__/simple-jwt.test.d.ts.map +0 -1
- package/dist/auth/__tests__/simple-jwt.test.js +0 -125
- package/dist/auth/__tests__/simple-jwt.test.js.map +0 -1
- package/dist/auth/__tests__/token-store.test.d.ts +0 -2
- package/dist/auth/__tests__/token-store.test.d.ts.map +0 -1
- package/dist/auth/__tests__/token-store.test.js +0 -167
- package/dist/auth/__tests__/token-store.test.js.map +0 -1
- package/dist/auth/__tests__/token-validation.test.d.ts +0 -2
- package/dist/auth/__tests__/token-validation.test.d.ts.map +0 -1
- package/dist/auth/__tests__/token-validation.test.js +0 -219
- package/dist/auth/__tests__/token-validation.test.js.map +0 -1
- package/dist/auth/api-key.d.ts +0 -118
- package/dist/auth/api-key.d.ts.map +0 -1
- package/dist/auth/api-key.js +0 -168
- package/dist/auth/api-key.js.map +0 -1
- package/dist/auth/client.d.ts +0 -151
- package/dist/auth/client.d.ts.map +0 -1
- package/dist/auth/client.js +0 -330
- package/dist/auth/client.js.map +0 -1
- package/dist/auth/index.d.ts +0 -31
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/auth/index.js +0 -46
- package/dist/auth/index.js.map +0 -1
- package/dist/auth/middleware.d.ts +0 -95
- package/dist/auth/middleware.d.ts.map +0 -1
- package/dist/auth/middleware.js +0 -260
- package/dist/auth/middleware.js.map +0 -1
- package/dist/auth/pkce.d.ts +0 -53
- package/dist/auth/pkce.d.ts.map +0 -1
- package/dist/auth/pkce.js +0 -105
- package/dist/auth/pkce.js.map +0 -1
- package/dist/auth/quick-setup.d.ts +0 -94
- package/dist/auth/quick-setup.d.ts.map +0 -1
- package/dist/auth/quick-setup.js +0 -210
- package/dist/auth/quick-setup.js.map +0 -1
- package/dist/auth/secure-secret.d.ts +0 -136
- package/dist/auth/secure-secret.d.ts.map +0 -1
- package/dist/auth/secure-secret.js +0 -182
- package/dist/auth/secure-secret.js.map +0 -1
- package/dist/auth/server-integration.d.ts +0 -97
- package/dist/auth/server-integration.d.ts.map +0 -1
- package/dist/auth/server-integration.js +0 -182
- package/dist/auth/server-integration.js.map +0 -1
- package/dist/auth/server-metadata.d.ts +0 -51
- package/dist/auth/server-metadata.d.ts.map +0 -1
- package/dist/auth/server-metadata.js +0 -106
- package/dist/auth/server-metadata.js.map +0 -1
- package/dist/auth/simple-jwt.d.ts +0 -174
- package/dist/auth/simple-jwt.d.ts.map +0 -1
- package/dist/auth/simple-jwt.js +0 -162
- package/dist/auth/simple-jwt.js.map +0 -1
- package/dist/auth/token-store.d.ts +0 -104
- package/dist/auth/token-store.d.ts.map +0 -1
- package/dist/auth/token-store.js +0 -205
- package/dist/auth/token-store.js.map +0 -1
- package/dist/auth/token-validation.d.ts +0 -59
- package/dist/auth/token-validation.d.ts.map +0 -1
- package/dist/auth/token-validation.js +0 -241
- package/dist/auth/token-validation.js.map +0 -1
- package/dist/auth/types.d.ts +0 -215
- package/dist/auth/types.d.ts.map +0 -1
- package/dist/auth/types.js +0 -6
- package/dist/auth/types.js.map +0 -1
- package/dist/core/__tests__/app-decorator.test.d.ts +0 -2
- package/dist/core/__tests__/app-decorator.test.d.ts.map +0 -1
- package/dist/core/__tests__/app-decorator.test.js +0 -100
- package/dist/core/__tests__/app-decorator.test.js.map +0 -1
- package/dist/core/__tests__/app-factory.extended.test.d.ts +0 -2
- package/dist/core/__tests__/app-factory.extended.test.d.ts.map +0 -1
- package/dist/core/__tests__/app-factory.extended.test.js +0 -244
- package/dist/core/__tests__/app-factory.extended.test.js.map +0 -1
- package/dist/core/__tests__/builders.test.d.ts +0 -2
- package/dist/core/__tests__/builders.test.d.ts.map +0 -1
- package/dist/core/__tests__/builders.test.js +0 -98
- package/dist/core/__tests__/builders.test.js.map +0 -1
- package/dist/core/__tests__/component.test.d.ts +0 -2
- package/dist/core/__tests__/component.test.d.ts.map +0 -1
- package/dist/core/__tests__/component.test.js +0 -151
- package/dist/core/__tests__/component.test.js.map +0 -1
- package/dist/core/__tests__/config-module.test.d.ts +0 -2
- package/dist/core/__tests__/config-module.test.d.ts.map +0 -1
- package/dist/core/__tests__/config-module.test.js +0 -90
- package/dist/core/__tests__/config-module.test.js.map +0 -1
- package/dist/core/__tests__/core-modules.test.d.ts +0 -2
- package/dist/core/__tests__/core-modules.test.d.ts.map +0 -1
- package/dist/core/__tests__/core-modules.test.js +0 -36
- package/dist/core/__tests__/core-modules.test.js.map +0 -1
- package/dist/core/__tests__/di.test.d.ts +0 -2
- package/dist/core/__tests__/di.test.d.ts.map +0 -1
- package/dist/core/__tests__/di.test.js +0 -101
- package/dist/core/__tests__/di.test.js.map +0 -1
- package/dist/core/__tests__/errors.test.d.ts +0 -2
- package/dist/core/__tests__/errors.test.d.ts.map +0 -1
- package/dist/core/__tests__/errors.test.js +0 -109
- package/dist/core/__tests__/errors.test.js.map +0 -1
- package/dist/core/__tests__/final.blitz.test.d.ts +0 -2
- package/dist/core/__tests__/final.blitz.test.d.ts.map +0 -1
- package/dist/core/__tests__/final.blitz.test.js +0 -327
- package/dist/core/__tests__/final.blitz.test.js.map +0 -1
- package/dist/core/__tests__/jwt-module.test.d.ts +0 -2
- package/dist/core/__tests__/jwt-module.test.d.ts.map +0 -1
- package/dist/core/__tests__/jwt-module.test.js +0 -60
- package/dist/core/__tests__/jwt-module.test.js.map +0 -1
- package/dist/core/__tests__/logger.test.d.ts +0 -2
- package/dist/core/__tests__/logger.test.d.ts.map +0 -1
- package/dist/core/__tests__/logger.test.js +0 -83
- package/dist/core/__tests__/logger.test.js.map +0 -1
- package/dist/core/__tests__/models.test.d.ts +0 -2
- package/dist/core/__tests__/models.test.d.ts.map +0 -1
- package/dist/core/__tests__/models.test.js +0 -142
- package/dist/core/__tests__/models.test.js.map +0 -1
- package/dist/core/__tests__/module.test.d.ts +0 -2
- package/dist/core/__tests__/module.test.d.ts.map +0 -1
- package/dist/core/__tests__/module.test.js +0 -58
- package/dist/core/__tests__/module.test.js.map +0 -1
- package/dist/core/__tests__/oauth-module.test.d.ts +0 -2
- package/dist/core/__tests__/oauth-module.test.d.ts.map +0 -1
- package/dist/core/__tests__/oauth-module.test.js +0 -168
- package/dist/core/__tests__/oauth-module.test.js.map +0 -1
- package/dist/core/__tests__/oauth.extended.test.d.ts +0 -2
- package/dist/core/__tests__/oauth.extended.test.d.ts.map +0 -1
- package/dist/core/__tests__/oauth.extended.test.js +0 -146
- package/dist/core/__tests__/oauth.extended.test.js.map +0 -1
- package/dist/core/__tests__/prompt.test.d.ts +0 -2
- package/dist/core/__tests__/prompt.test.d.ts.map +0 -1
- package/dist/core/__tests__/prompt.test.js +0 -126
- package/dist/core/__tests__/prompt.test.js.map +0 -1
- package/dist/core/__tests__/resource.test.d.ts +0 -2
- package/dist/core/__tests__/resource.test.d.ts.map +0 -1
- package/dist/core/__tests__/resource.test.js +0 -173
- package/dist/core/__tests__/resource.test.js.map +0 -1
- package/dist/core/__tests__/server.extended.test.d.ts +0 -2
- package/dist/core/__tests__/server.extended.test.d.ts.map +0 -1
- package/dist/core/__tests__/server.extended.test.js +0 -242
- package/dist/core/__tests__/server.extended.test.js.map +0 -1
- package/dist/core/__tests__/server.test.d.ts +0 -2
- package/dist/core/__tests__/server.test.d.ts.map +0 -1
- package/dist/core/__tests__/server.test.js +0 -120
- package/dist/core/__tests__/server.test.js.map +0 -1
- package/dist/core/__tests__/transport.http.test.d.ts +0 -2
- package/dist/core/__tests__/transport.http.test.d.ts.map +0 -1
- package/dist/core/__tests__/transport.http.test.js +0 -119
- package/dist/core/__tests__/transport.http.test.js.map +0 -1
- package/dist/core/__tests__/transport.streamable.test.d.ts +0 -2
- package/dist/core/__tests__/transport.streamable.test.d.ts.map +0 -1
- package/dist/core/__tests__/transport.streamable.test.js +0 -168
- package/dist/core/__tests__/transport.streamable.test.js.map +0 -1
- package/dist/core/__tests__/transports.test.d.ts +0 -2
- package/dist/core/__tests__/transports.test.d.ts.map +0 -1
- package/dist/core/__tests__/transports.test.js +0 -12
- package/dist/core/__tests__/transports.test.js.map +0 -1
- package/dist/core/apikey-module.d.ts +0 -69
- package/dist/core/apikey-module.d.ts.map +0 -1
- package/dist/core/apikey-module.js +0 -114
- package/dist/core/apikey-module.js.map +0 -1
- package/dist/core/app-decorator.d.ts +0 -59
- package/dist/core/app-decorator.d.ts.map +0 -1
- package/dist/core/app-decorator.js +0 -322
- package/dist/core/app-decorator.js.map +0 -1
- package/dist/core/builders.d.ts +0 -50
- package/dist/core/builders.d.ts.map +0 -1
- package/dist/core/builders.js +0 -139
- package/dist/core/builders.js.map +0 -1
- package/dist/core/component.d.ts +0 -111
- package/dist/core/component.d.ts.map +0 -1
- package/dist/core/component.js +0 -228
- package/dist/core/component.js.map +0 -1
- package/dist/core/config-module.d.ts +0 -62
- package/dist/core/config-module.d.ts.map +0 -1
- package/dist/core/config-module.js +0 -94
- package/dist/core/config-module.js.map +0 -1
- package/dist/core/decorators/__tests__/decorators.test.d.ts +0 -2
- package/dist/core/decorators/__tests__/decorators.test.d.ts.map +0 -1
- package/dist/core/decorators/__tests__/decorators.test.js +0 -103
- package/dist/core/decorators/__tests__/decorators.test.js.map +0 -1
- package/dist/core/decorators/__tests__/extended-decorators.test.d.ts +0 -2
- package/dist/core/decorators/__tests__/extended-decorators.test.d.ts.map +0 -1
- package/dist/core/decorators/__tests__/extended-decorators.test.js +0 -194
- package/dist/core/decorators/__tests__/extended-decorators.test.js.map +0 -1
- package/dist/core/decorators/__tests__/health-check.test.d.ts +0 -2
- package/dist/core/decorators/__tests__/health-check.test.d.ts.map +0 -1
- package/dist/core/decorators/__tests__/health-check.test.js +0 -119
- package/dist/core/decorators/__tests__/health-check.test.js.map +0 -1
- package/dist/core/decorators/cache.decorator.d.ts +0 -61
- package/dist/core/decorators/cache.decorator.d.ts.map +0 -1
- package/dist/core/decorators/cache.decorator.js +0 -115
- package/dist/core/decorators/cache.decorator.js.map +0 -1
- package/dist/core/decorators/health-check.decorator.d.ts +0 -80
- package/dist/core/decorators/health-check.decorator.d.ts.map +0 -1
- package/dist/core/decorators/health-check.decorator.js +0 -153
- package/dist/core/decorators/health-check.decorator.js.map +0 -1
- package/dist/core/decorators/rate-limit.decorator.d.ts +0 -63
- package/dist/core/decorators/rate-limit.decorator.d.ts.map +0 -1
- package/dist/core/decorators/rate-limit.decorator.js +0 -129
- package/dist/core/decorators/rate-limit.decorator.js.map +0 -1
- package/dist/core/decorators.d.ts +0 -190
- package/dist/core/decorators.d.ts.map +0 -1
- package/dist/core/decorators.js +0 -170
- package/dist/core/decorators.js.map +0 -1
- package/dist/core/di/__tests__/container.test.d.ts +0 -2
- package/dist/core/di/__tests__/container.test.d.ts.map +0 -1
- package/dist/core/di/__tests__/container.test.js +0 -88
- package/dist/core/di/__tests__/container.test.js.map +0 -1
- package/dist/core/di/container.d.ts +0 -64
- package/dist/core/di/container.d.ts.map +0 -1
- package/dist/core/di/container.js +0 -105
- package/dist/core/di/container.js.map +0 -1
- package/dist/core/di/injectable.decorator.d.ts +0 -62
- package/dist/core/di/injectable.decorator.d.ts.map +0 -1
- package/dist/core/di/injectable.decorator.js +0 -66
- package/dist/core/di/injectable.decorator.js.map +0 -1
- package/dist/core/di/metadata-shim.d.ts +0 -31
- package/dist/core/di/metadata-shim.d.ts.map +0 -1
- package/dist/core/di/metadata-shim.js +0 -181
- package/dist/core/di/metadata-shim.js.map +0 -1
- package/dist/core/errors.d.ts +0 -54
- package/dist/core/errors.d.ts.map +0 -1
- package/dist/core/errors.js +0 -87
- package/dist/core/errors.js.map +0 -1
- package/dist/core/events/__tests__/events.test.d.ts +0 -2
- package/dist/core/events/__tests__/events.test.d.ts.map +0 -1
- package/dist/core/events/__tests__/events.test.js +0 -177
- package/dist/core/events/__tests__/events.test.js.map +0 -1
- package/dist/core/events/event-emitter.d.ts +0 -50
- package/dist/core/events/event-emitter.d.ts.map +0 -1
- package/dist/core/events/event-emitter.js +0 -94
- package/dist/core/events/event-emitter.js.map +0 -1
- package/dist/core/events/event.decorator.d.ts +0 -48
- package/dist/core/events/event.decorator.d.ts.map +0 -1
- package/dist/core/events/event.decorator.js +0 -72
- package/dist/core/events/event.decorator.js.map +0 -1
- package/dist/core/events/log-emitter.d.ts +0 -14
- package/dist/core/events/log-emitter.d.ts.map +0 -1
- package/dist/core/events/log-emitter.js +0 -20
- package/dist/core/events/log-emitter.js.map +0 -1
- package/dist/core/filters/__tests__/filters.test.d.ts +0 -2
- package/dist/core/filters/__tests__/filters.test.d.ts.map +0 -1
- package/dist/core/filters/__tests__/filters.test.js +0 -72
- package/dist/core/filters/__tests__/filters.test.js.map +0 -1
- package/dist/core/filters/exception-filter.decorator.d.ts +0 -40
- package/dist/core/filters/exception-filter.decorator.d.ts.map +0 -1
- package/dist/core/filters/exception-filter.decorator.js +0 -54
- package/dist/core/filters/exception-filter.decorator.js.map +0 -1
- package/dist/core/filters/exception-filter.interface.d.ts +0 -39
- package/dist/core/filters/exception-filter.interface.d.ts.map +0 -1
- package/dist/core/filters/exception-filter.interface.js +0 -2
- package/dist/core/filters/exception-filter.interface.js.map +0 -1
- package/dist/core/guards/__tests__/guards.test.d.ts +0 -2
- package/dist/core/guards/__tests__/guards.test.d.ts.map +0 -1
- package/dist/core/guards/__tests__/guards.test.js +0 -55
- package/dist/core/guards/__tests__/guards.test.js.map +0 -1
- package/dist/core/guards/apikey.guard.d.ts +0 -22
- package/dist/core/guards/apikey.guard.d.ts.map +0 -1
- package/dist/core/guards/apikey.guard.js +0 -11
- package/dist/core/guards/apikey.guard.js.map +0 -1
- package/dist/core/guards/guard.interface.d.ts +0 -18
- package/dist/core/guards/guard.interface.d.ts.map +0 -1
- package/dist/core/guards/guard.interface.js +0 -2
- package/dist/core/guards/guard.interface.js.map +0 -1
- package/dist/core/guards/jwt.guard.d.ts +0 -18
- package/dist/core/guards/jwt.guard.d.ts.map +0 -1
- package/dist/core/guards/jwt.guard.js +0 -2
- package/dist/core/guards/jwt.guard.js.map +0 -1
- package/dist/core/guards/oauth.guard.d.ts +0 -35
- package/dist/core/guards/oauth.guard.d.ts.map +0 -1
- package/dist/core/guards/oauth.guard.js +0 -2
- package/dist/core/guards/oauth.guard.js.map +0 -1
- package/dist/core/guards/use-guards.decorator.d.ts +0 -25
- package/dist/core/guards/use-guards.decorator.d.ts.map +0 -1
- package/dist/core/guards/use-guards.decorator.js +0 -32
- package/dist/core/guards/use-guards.decorator.js.map +0 -1
- package/dist/core/health/__tests__/health.test.d.ts +0 -2
- package/dist/core/health/__tests__/health.test.d.ts.map +0 -1
- package/dist/core/health/__tests__/health.test.js +0 -31
- package/dist/core/health/__tests__/health.test.js.map +0 -1
- package/dist/core/health/health-checks.resource.d.ts +0 -14
- package/dist/core/health/health-checks.resource.d.ts.map +0 -1
- package/dist/core/health/health-checks.resource.js +0 -29
- package/dist/core/health/health-checks.resource.js.map +0 -1
- package/dist/core/index.d.ts +0 -57
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -59
- package/dist/core/index.js.map +0 -1
- package/dist/core/interceptors/__tests__/interceptors.test.d.ts +0 -2
- package/dist/core/interceptors/__tests__/interceptors.test.d.ts.map +0 -1
- package/dist/core/interceptors/__tests__/interceptors.test.js +0 -52
- package/dist/core/interceptors/__tests__/interceptors.test.js.map +0 -1
- package/dist/core/interceptors/interceptor.decorator.d.ts +0 -37
- package/dist/core/interceptors/interceptor.decorator.d.ts.map +0 -1
- package/dist/core/interceptors/interceptor.decorator.js +0 -51
- package/dist/core/interceptors/interceptor.decorator.js.map +0 -1
- package/dist/core/interceptors/interceptor.interface.d.ts +0 -31
- package/dist/core/interceptors/interceptor.interface.d.ts.map +0 -1
- package/dist/core/interceptors/interceptor.interface.js +0 -2
- package/dist/core/interceptors/interceptor.interface.js.map +0 -1
- package/dist/core/jwt-module.d.ts +0 -51
- package/dist/core/jwt-module.d.ts.map +0 -1
- package/dist/core/jwt-module.js +0 -52
- package/dist/core/jwt-module.js.map +0 -1
- package/dist/core/logger.d.ts +0 -18
- package/dist/core/logger.d.ts.map +0 -1
- package/dist/core/logger.js +0 -53
- package/dist/core/logger.js.map +0 -1
- package/dist/core/middleware/__tests__/middleware.test.d.ts +0 -2
- package/dist/core/middleware/__tests__/middleware.test.d.ts.map +0 -1
- package/dist/core/middleware/__tests__/middleware.test.js +0 -105
- package/dist/core/middleware/__tests__/middleware.test.js.map +0 -1
- package/dist/core/middleware/middleware.decorator.d.ts +0 -39
- package/dist/core/middleware/middleware.decorator.d.ts.map +0 -1
- package/dist/core/middleware/middleware.decorator.js +0 -53
- package/dist/core/middleware/middleware.decorator.js.map +0 -1
- package/dist/core/middleware/middleware.interface.d.ts +0 -29
- package/dist/core/middleware/middleware.interface.d.ts.map +0 -1
- package/dist/core/middleware/middleware.interface.js +0 -2
- package/dist/core/middleware/middleware.interface.js.map +0 -1
- package/dist/core/module.d.ts +0 -93
- package/dist/core/module.d.ts.map +0 -1
- package/dist/core/module.js +0 -87
- package/dist/core/module.js.map +0 -1
- package/dist/core/oauth-module.d.ts +0 -123
- package/dist/core/oauth-module.d.ts.map +0 -1
- package/dist/core/oauth-module.js +0 -324
- package/dist/core/oauth-module.js.map +0 -1
- package/dist/core/pipes/__tests__/pipes.test.d.ts +0 -2
- package/dist/core/pipes/__tests__/pipes.test.d.ts.map +0 -1
- package/dist/core/pipes/__tests__/pipes.test.js +0 -164
- package/dist/core/pipes/__tests__/pipes.test.js.map +0 -1
- package/dist/core/pipes/pipe.decorator.d.ts +0 -64
- package/dist/core/pipes/pipe.decorator.d.ts.map +0 -1
- package/dist/core/pipes/pipe.decorator.js +0 -85
- package/dist/core/pipes/pipe.decorator.js.map +0 -1
- package/dist/core/pipes/pipe.interface.d.ts +0 -41
- package/dist/core/pipes/pipe.interface.d.ts.map +0 -1
- package/dist/core/pipes/pipe.interface.js +0 -2
- package/dist/core/pipes/pipe.interface.js.map +0 -1
- package/dist/core/prompt.d.ts +0 -46
- package/dist/core/prompt.d.ts.map +0 -1
- package/dist/core/prompt.js +0 -76
- package/dist/core/prompt.js.map +0 -1
- package/dist/core/resource.d.ts +0 -47
- package/dist/core/resource.d.ts.map +0 -1
- package/dist/core/resource.js +0 -90
- package/dist/core/resource.js.map +0 -1
- package/dist/core/server.d.ts +0 -129
- package/dist/core/server.d.ts.map +0 -1
- package/dist/core/server.js +0 -617
- package/dist/core/server.js.map +0 -1
- package/dist/core/tool.d.ts +0 -108
- package/dist/core/tool.d.ts.map +0 -1
- package/dist/core/tool.js +0 -241
- package/dist/core/tool.js.map +0 -1
- package/dist/core/transports/__tests__/transports.test.d.ts +0 -2
- package/dist/core/transports/__tests__/transports.test.d.ts.map +0 -1
- package/dist/core/transports/__tests__/transports.test.js +0 -249
- package/dist/core/transports/__tests__/transports.test.js.map +0 -1
- package/dist/core/transports/discovery-http-server.d.ts +0 -19
- package/dist/core/transports/discovery-http-server.d.ts.map +0 -1
- package/dist/core/transports/discovery-http-server.js +0 -54
- package/dist/core/transports/discovery-http-server.js.map +0 -1
- package/dist/core/transports/http-server.d.ts +0 -108
- package/dist/core/transports/http-server.d.ts.map +0 -1
- package/dist/core/transports/http-server.js +0 -293
- package/dist/core/transports/http-server.js.map +0 -1
- package/dist/core/transports/streamable-http.d.ts +0 -177
- package/dist/core/transports/streamable-http.d.ts.map +0 -1
- package/dist/core/transports/streamable-http.js +0 -1287
- package/dist/core/transports/streamable-http.js.map +0 -1
- package/dist/core/types.d.ts +0 -195
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js +0 -2
- package/dist/core/types.js.map +0 -1
- package/dist/core/widgets/__tests__/registry.test.d.ts +0 -2
- package/dist/core/widgets/__tests__/registry.test.d.ts.map +0 -1
- package/dist/core/widgets/__tests__/registry.test.js +0 -69
- package/dist/core/widgets/__tests__/registry.test.js.map +0 -1
- package/dist/core/widgets/widget-examples.resource.d.ts +0 -17
- package/dist/core/widgets/widget-examples.resource.d.ts.map +0 -1
- package/dist/core/widgets/widget-examples.resource.js +0 -28
- package/dist/core/widgets/widget-examples.resource.js.map +0 -1
- package/dist/core/widgets/widget-registry.d.ts +0 -56
- package/dist/core/widgets/widget-registry.d.ts.map +0 -1
- package/dist/core/widgets/widget-registry.js +0 -75
- package/dist/core/widgets/widget-registry.js.map +0 -1
- package/dist/testing/__tests__/testing.test.d.ts +0 -2
- package/dist/testing/__tests__/testing.test.d.ts.map +0 -1
- package/dist/testing/__tests__/testing.test.js +0 -167
- package/dist/testing/__tests__/testing.test.js.map +0 -1
- package/dist/testing/index.d.ts +0 -103
- package/dist/testing/index.d.ts.map +0 -1
- package/dist/testing/index.js +0 -161
- package/dist/testing/index.js.map +0 -1
- package/dist/ui-next/__tests__/ui-next.test.d.ts +0 -2
- package/dist/ui-next/__tests__/ui-next.test.d.ts.map +0 -1
- package/dist/ui-next/__tests__/ui-next.test.js +0 -74
- package/dist/ui-next/__tests__/ui-next.test.js.map +0 -1
- package/dist/ui-next/index.d.ts +0 -31
- package/dist/ui-next/index.d.ts.map +0 -1
- package/dist/ui-next/index.js +0 -687
- package/dist/ui-next/index.js.map +0 -1
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import 'reflect-metadata';
|
|
2
|
-
/**
|
|
3
|
-
* JWT Module Configuration
|
|
4
|
-
*/
|
|
5
|
-
export interface JWTModuleConfig {
|
|
6
|
-
/** JWT secret (or env var name to read from) */
|
|
7
|
-
secret?: string;
|
|
8
|
-
/** Environment variable to read secret from */
|
|
9
|
-
secretEnvVar?: string;
|
|
10
|
-
/** Token expiration time (e.g., '24h', '7d') */
|
|
11
|
-
expiresIn?: string;
|
|
12
|
-
/** JWT audience */
|
|
13
|
-
audience?: string;
|
|
14
|
-
/** JWT issuer */
|
|
15
|
-
issuer?: string;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* JWT Module - Enable JWT authentication in your MCP server
|
|
19
|
-
*
|
|
20
|
-
* Import this module to indicate your server uses JWT authentication.
|
|
21
|
-
* Then use @UseGuards(JWTGuard) on your tools to protect them.
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* ```typescript
|
|
25
|
-
* import { createServer, JWTModule } from 'nitrostack';
|
|
26
|
-
*
|
|
27
|
-
* const server = createServer({ ... });
|
|
28
|
-
*
|
|
29
|
-
* // Enable JWT authentication
|
|
30
|
-
* server.use(JWTModule.forRoot({
|
|
31
|
-
* secretEnvVar: 'JWT_SECRET',
|
|
32
|
-
* expiresIn: '24h',
|
|
33
|
-
* }));
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
export declare class JWTModule {
|
|
37
|
-
private static config;
|
|
38
|
-
/**
|
|
39
|
-
* Configure JWT module for the application
|
|
40
|
-
*/
|
|
41
|
-
static forRoot(config: JWTModuleConfig): JWTModuleConfig;
|
|
42
|
-
/**
|
|
43
|
-
* Get current JWT configuration
|
|
44
|
-
*/
|
|
45
|
-
static getConfig(): JWTModuleConfig;
|
|
46
|
-
/**
|
|
47
|
-
* Get JWT secret from config or environment
|
|
48
|
-
*/
|
|
49
|
-
static getSecret(): string | null;
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=jwt-module.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jwt-module.d.ts","sourceRoot":"","sources":["../../src/core/jwt-module.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,mBAAmB;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,iBAAiB;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,MAAM,CAGnB;IAEF;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe;IAKxD;;OAEG;IACH,MAAM,CAAC,SAAS,IAAI,eAAe;IAInC;;OAEG;IACH,MAAM,CAAC,SAAS,IAAI,MAAM,GAAG,IAAI;CAWlC"}
|
package/dist/core/jwt-module.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import 'reflect-metadata';
|
|
2
|
-
/**
|
|
3
|
-
* JWT Module - Enable JWT authentication in your MCP server
|
|
4
|
-
*
|
|
5
|
-
* Import this module to indicate your server uses JWT authentication.
|
|
6
|
-
* Then use @UseGuards(JWTGuard) on your tools to protect them.
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* ```typescript
|
|
10
|
-
* import { createServer, JWTModule } from 'nitrostack';
|
|
11
|
-
*
|
|
12
|
-
* const server = createServer({ ... });
|
|
13
|
-
*
|
|
14
|
-
* // Enable JWT authentication
|
|
15
|
-
* server.use(JWTModule.forRoot({
|
|
16
|
-
* secretEnvVar: 'JWT_SECRET',
|
|
17
|
-
* expiresIn: '24h',
|
|
18
|
-
* }));
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
export class JWTModule {
|
|
22
|
-
static config = {
|
|
23
|
-
secretEnvVar: 'JWT_SECRET',
|
|
24
|
-
expiresIn: '24h',
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Configure JWT module for the application
|
|
28
|
-
*/
|
|
29
|
-
static forRoot(config) {
|
|
30
|
-
this.config = { ...this.config, ...config };
|
|
31
|
-
return this.config;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Get current JWT configuration
|
|
35
|
-
*/
|
|
36
|
-
static getConfig() {
|
|
37
|
-
return this.config;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Get JWT secret from config or environment
|
|
41
|
-
*/
|
|
42
|
-
static getSecret() {
|
|
43
|
-
if (this.config.secret) {
|
|
44
|
-
return this.config.secret;
|
|
45
|
-
}
|
|
46
|
-
if (this.config.secretEnvVar) {
|
|
47
|
-
return process.env[this.config.secretEnvVar] || null;
|
|
48
|
-
}
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=jwt-module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jwt-module.js","sourceRoot":"","sources":["../../src/core/jwt-module.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAsB1B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,SAAS;IACZ,MAAM,CAAC,MAAM,GAAoB;QACvC,YAAY,EAAE,YAAY;QAC1B,SAAS,EAAE,KAAK;KACjB,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAuB;QACpC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS;QACd,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5B,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;QACvD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC"}
|
package/dist/core/logger.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Logger } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Create a logger instance with custom configuration
|
|
4
|
-
*
|
|
5
|
-
* IMPORTANT: For MCP servers, console logging is DISABLED by default
|
|
6
|
-
* as it breaks the JSON-RPC protocol over stdio. All logs go to files.
|
|
7
|
-
*/
|
|
8
|
-
export declare function createLogger(options: {
|
|
9
|
-
level?: string;
|
|
10
|
-
file?: string;
|
|
11
|
-
serviceName?: string;
|
|
12
|
-
enableConsole?: boolean;
|
|
13
|
-
}): Logger;
|
|
14
|
-
/**
|
|
15
|
-
* Default logger instance
|
|
16
|
-
*/
|
|
17
|
-
export declare const defaultLogger: Logger;
|
|
18
|
-
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAG7C;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,MAAM,CA6DT;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,QAAkC,CAAC"}
|
package/dist/core/logger.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import winston from 'winston';
|
|
2
|
-
import { EventEmitterTransport } from './events/log-emitter.js';
|
|
3
|
-
/**
|
|
4
|
-
* Create a logger instance with custom configuration
|
|
5
|
-
*
|
|
6
|
-
* IMPORTANT: For MCP servers, console logging is DISABLED by default
|
|
7
|
-
* as it breaks the JSON-RPC protocol over stdio. All logs go to files.
|
|
8
|
-
*/
|
|
9
|
-
export function createLogger(options) {
|
|
10
|
-
const { level = 'info', file, serviceName = 'nitrostack', enableConsole = false } = options;
|
|
11
|
-
const transports = [new EventEmitterTransport()];
|
|
12
|
-
// CRITICAL: Console logging disabled by default for MCP compatibility
|
|
13
|
-
// MCP uses stdio for JSON-RPC communication, console output breaks it
|
|
14
|
-
if (enableConsole) {
|
|
15
|
-
transports.push(new winston.transports.Console({
|
|
16
|
-
format: winston.format.combine(winston.format.colorize(), winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston.format.printf(({ timestamp, level, message, ...meta }) => {
|
|
17
|
-
const metaStr = Object.keys(meta).length > 0 ? `\n${JSON.stringify(meta, null, 2)}` : '';
|
|
18
|
-
return `${timestamp} [${serviceName}] ${level}: ${message}${metaStr}`;
|
|
19
|
-
})),
|
|
20
|
-
}));
|
|
21
|
-
}
|
|
22
|
-
// File logging - always recommended for MCP servers
|
|
23
|
-
if (file) {
|
|
24
|
-
transports.push(new winston.transports.File({
|
|
25
|
-
filename: file,
|
|
26
|
-
format: winston.format.combine(winston.format.timestamp(), winston.format.json()),
|
|
27
|
-
}));
|
|
28
|
-
}
|
|
29
|
-
// If no transports configured, use a null transport to avoid crashes
|
|
30
|
-
if (transports.length === 0) {
|
|
31
|
-
// Silent logger - logs nowhere (better than crashing)
|
|
32
|
-
transports.push(new winston.transports.File({
|
|
33
|
-
filename: '/dev/null', // Discard logs
|
|
34
|
-
silent: true,
|
|
35
|
-
}));
|
|
36
|
-
}
|
|
37
|
-
const winstonLogger = winston.createLogger({
|
|
38
|
-
level,
|
|
39
|
-
format: winston.format.combine(winston.format.timestamp(), winston.format.json()),
|
|
40
|
-
transports,
|
|
41
|
-
});
|
|
42
|
-
return {
|
|
43
|
-
debug: (message, meta) => winstonLogger.debug(message, meta),
|
|
44
|
-
info: (message, meta) => winstonLogger.info(message, meta),
|
|
45
|
-
warn: (message, meta) => winstonLogger.warn(message, meta),
|
|
46
|
-
error: (message, meta) => winstonLogger.error(message, meta),
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Default logger instance
|
|
51
|
-
*/
|
|
52
|
-
export const defaultLogger = createLogger({ level: 'info' });
|
|
53
|
-
//# sourceMappingURL=logger.js.map
|
package/dist/core/logger.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.test.d.ts","sourceRoot":"","sources":["../../../../src/core/middleware/__tests__/middleware.test.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,CAAC"}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { describe, it, expect } from '@jest/globals';
|
|
11
|
-
import 'reflect-metadata';
|
|
12
|
-
import { Middleware, UseMiddleware, getMiddlewareMetadata, isMiddleware } from '../middleware.decorator.js';
|
|
13
|
-
describe('Core Middleware', () => {
|
|
14
|
-
describe('@Middleware Decorator', () => {
|
|
15
|
-
it('should mark class as middleware', () => {
|
|
16
|
-
let TestMiddleware = class TestMiddleware {
|
|
17
|
-
async use(ctx, next) { return next(); }
|
|
18
|
-
};
|
|
19
|
-
TestMiddleware = __decorate([
|
|
20
|
-
Middleware()
|
|
21
|
-
], TestMiddleware);
|
|
22
|
-
expect(isMiddleware(TestMiddleware)).toBe(true);
|
|
23
|
-
});
|
|
24
|
-
it('should return false for non-middleware class', () => {
|
|
25
|
-
class NormalClass {
|
|
26
|
-
}
|
|
27
|
-
expect(isMiddleware(NormalClass)).toBe(false);
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
describe('@UseMiddleware Decorator', () => {
|
|
31
|
-
it('should register middleware metadata on method', () => {
|
|
32
|
-
class TestMiddleware {
|
|
33
|
-
}
|
|
34
|
-
class TestClass {
|
|
35
|
-
testMethod() { }
|
|
36
|
-
}
|
|
37
|
-
__decorate([
|
|
38
|
-
UseMiddleware(TestMiddleware),
|
|
39
|
-
__metadata("design:type", Function),
|
|
40
|
-
__metadata("design:paramtypes", []),
|
|
41
|
-
__metadata("design:returntype", void 0)
|
|
42
|
-
], TestClass.prototype, "testMethod", null);
|
|
43
|
-
const instance = new TestClass();
|
|
44
|
-
const metadata = getMiddlewareMetadata(instance, 'testMethod');
|
|
45
|
-
expect(metadata).toHaveLength(1);
|
|
46
|
-
expect(metadata[0]).toBe(TestMiddleware);
|
|
47
|
-
});
|
|
48
|
-
it('should stack multiple middlewares', () => {
|
|
49
|
-
class Middleware1 {
|
|
50
|
-
}
|
|
51
|
-
class Middleware2 {
|
|
52
|
-
}
|
|
53
|
-
class TestClass {
|
|
54
|
-
testMethod() { }
|
|
55
|
-
}
|
|
56
|
-
__decorate([
|
|
57
|
-
UseMiddleware(Middleware1),
|
|
58
|
-
UseMiddleware(Middleware2),
|
|
59
|
-
__metadata("design:type", Function),
|
|
60
|
-
__metadata("design:paramtypes", []),
|
|
61
|
-
__metadata("design:returntype", void 0)
|
|
62
|
-
], TestClass.prototype, "testMethod", null);
|
|
63
|
-
const instance = new TestClass();
|
|
64
|
-
const metadata = getMiddlewareMetadata(instance, 'testMethod');
|
|
65
|
-
// Decorators apply inside-out (bottom-up), so Middleware2 comes first, then Middleware1
|
|
66
|
-
// But usually we want execution order. Let's check how implementation handles it.
|
|
67
|
-
// based on the implementation: [...existing, ...new].
|
|
68
|
-
// 1. @UseMiddleware(Middleware2) runs -> metadata = [Middleware2]
|
|
69
|
-
// 2. @UseMiddleware(Middleware1) runs -> existing=[Middleware2], new=[Middleware1] -> result=[Middleware2, Middleware1]
|
|
70
|
-
// Wait, looking at implementation:
|
|
71
|
-
// const existingMiddlewares = Reflect.getMetadata(...) || [];
|
|
72
|
-
// Reflect.defineMetadata(..., [...existingMiddlewares, ...middlewares], ...);
|
|
73
|
-
// So if I use:
|
|
74
|
-
// @A
|
|
75
|
-
// @B
|
|
76
|
-
// method()
|
|
77
|
-
// B runs first. sets [B].
|
|
78
|
-
// A runs second. gets [B]. sets [B, A].
|
|
79
|
-
expect(metadata).toHaveLength(2);
|
|
80
|
-
expect(metadata[0]).toBe(Middleware2);
|
|
81
|
-
expect(metadata[1]).toBe(Middleware1);
|
|
82
|
-
});
|
|
83
|
-
it('should accept multiple middlewares in single decorator', () => {
|
|
84
|
-
class Middleware1 {
|
|
85
|
-
}
|
|
86
|
-
class Middleware2 {
|
|
87
|
-
}
|
|
88
|
-
class TestClass {
|
|
89
|
-
testMethod() { }
|
|
90
|
-
}
|
|
91
|
-
__decorate([
|
|
92
|
-
UseMiddleware(Middleware1, Middleware2),
|
|
93
|
-
__metadata("design:type", Function),
|
|
94
|
-
__metadata("design:paramtypes", []),
|
|
95
|
-
__metadata("design:returntype", void 0)
|
|
96
|
-
], TestClass.prototype, "testMethod", null);
|
|
97
|
-
const instance = new TestClass();
|
|
98
|
-
const metadata = getMiddlewareMetadata(instance, 'testMethod');
|
|
99
|
-
expect(metadata).toHaveLength(2);
|
|
100
|
-
expect(metadata[0]).toBe(Middleware1);
|
|
101
|
-
expect(metadata[1]).toBe(Middleware2);
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
//# sourceMappingURL=middleware.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.test.js","sourceRoot":"","sources":["../../../../src/core/middleware/__tests__/middleware.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import 'reflect-metadata';
|
|
2
|
-
import { MiddlewareConstructor } from './middleware.interface.js';
|
|
3
|
-
/**
|
|
4
|
-
* Marks a class as a middleware
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* ```typescript
|
|
8
|
-
* @Middleware()
|
|
9
|
-
* export class LoggingMiddleware implements MiddlewareInterface {
|
|
10
|
-
* async use(context: ExecutionContext, next: () => Promise<unknown>) {
|
|
11
|
-
* console.log('Before');
|
|
12
|
-
* const result = await next();
|
|
13
|
-
* console.log('After');
|
|
14
|
-
* return result;
|
|
15
|
-
* }
|
|
16
|
-
* }
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
export declare function Middleware(): ClassDecorator;
|
|
20
|
-
/**
|
|
21
|
-
* Apply middleware to a tool method
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* ```typescript
|
|
25
|
-
* @Tool({ name: 'my_tool', ... })
|
|
26
|
-
* @UseMiddleware(LoggingMiddleware, AuthMiddleware)
|
|
27
|
-
* async myTool(input: Record<string, unknown>, context: ExecutionContext) { }
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
export declare function UseMiddleware(...middlewares: MiddlewareConstructor[]): MethodDecorator;
|
|
31
|
-
/**
|
|
32
|
-
* Get middlewares for a method
|
|
33
|
-
*/
|
|
34
|
-
export declare function getMiddlewareMetadata(target: object, propertyKey: string | symbol): MiddlewareConstructor[];
|
|
35
|
-
/**
|
|
36
|
-
* Check if a class is marked as middleware
|
|
37
|
-
*/
|
|
38
|
-
export declare function isMiddleware(target: object): boolean;
|
|
39
|
-
//# sourceMappingURL=middleware.decorator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/middleware/middleware.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAKlE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,IAAI,cAAc,CAI3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,GAAG,WAAW,EAAE,qBAAqB,EAAE,GAAG,eAAe,CAUtF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,qBAAqB,EAAE,CAE3G;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEpD"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import 'reflect-metadata';
|
|
2
|
-
const MIDDLEWARE_KEY = 'nitrostack:middleware';
|
|
3
|
-
const IS_MIDDLEWARE_KEY = 'nitrostack:is_middleware';
|
|
4
|
-
/**
|
|
5
|
-
* Marks a class as a middleware
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* @Middleware()
|
|
10
|
-
* export class LoggingMiddleware implements MiddlewareInterface {
|
|
11
|
-
* async use(context: ExecutionContext, next: () => Promise<unknown>) {
|
|
12
|
-
* console.log('Before');
|
|
13
|
-
* const result = await next();
|
|
14
|
-
* console.log('After');
|
|
15
|
-
* return result;
|
|
16
|
-
* }
|
|
17
|
-
* }
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
export function Middleware() {
|
|
21
|
-
return (target) => {
|
|
22
|
-
Reflect.defineMetadata(IS_MIDDLEWARE_KEY, true, target);
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Apply middleware to a tool method
|
|
27
|
-
*
|
|
28
|
-
* @example
|
|
29
|
-
* ```typescript
|
|
30
|
-
* @Tool({ name: 'my_tool', ... })
|
|
31
|
-
* @UseMiddleware(LoggingMiddleware, AuthMiddleware)
|
|
32
|
-
* async myTool(input: Record<string, unknown>, context: ExecutionContext) { }
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
35
|
-
export function UseMiddleware(...middlewares) {
|
|
36
|
-
return (target, propertyKey, descriptor) => {
|
|
37
|
-
const existingMiddlewares = Reflect.getMetadata(MIDDLEWARE_KEY, target, propertyKey) || [];
|
|
38
|
-
Reflect.defineMetadata(MIDDLEWARE_KEY, [...existingMiddlewares, ...middlewares], target, propertyKey);
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Get middlewares for a method
|
|
43
|
-
*/
|
|
44
|
-
export function getMiddlewareMetadata(target, propertyKey) {
|
|
45
|
-
return Reflect.getMetadata(MIDDLEWARE_KEY, target, propertyKey) || [];
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Check if a class is marked as middleware
|
|
49
|
-
*/
|
|
50
|
-
export function isMiddleware(target) {
|
|
51
|
-
return Reflect.getMetadata(IS_MIDDLEWARE_KEY, target) === true;
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=middleware.decorator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.decorator.js","sourceRoot":"","sources":["../../../src/core/middleware/middleware.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B,MAAM,cAAc,GAAG,uBAAuB,CAAC;AAC/C,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAErD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,CAAC,MAAc,EAAE,EAAE;QACxB,OAAO,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,GAAG,WAAoC;IACnE,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,UAA8B,EAAE,EAAE;QACtF,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;QAC3F,OAAO,CAAC,cAAc,CACpB,cAAc,EACd,CAAC,GAAG,mBAAmB,EAAE,GAAG,WAAW,CAAC,EACxC,MAAM,EACN,WAAW,CACZ,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,WAA4B;IAChF,OAAO,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,OAAO,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;AACjE,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import 'reflect-metadata';
|
|
2
|
-
import { ExecutionContext } from '../types.js';
|
|
3
|
-
/**
|
|
4
|
-
* Middleware Interface
|
|
5
|
-
*
|
|
6
|
-
* Middleware can intercept tool execution for cross-cutting concerns
|
|
7
|
-
* like logging, authentication, validation, etc.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```typescript
|
|
11
|
-
* @Middleware()
|
|
12
|
-
* export class LoggingMiddleware implements MiddlewareInterface {
|
|
13
|
-
* async use(context: ExecutionContext, next: () => Promise<unknown>) {
|
|
14
|
-
* console.log('Before:', context.toolName);
|
|
15
|
-
* const result = await next();
|
|
16
|
-
* console.log('After:', context.toolName);
|
|
17
|
-
* return result;
|
|
18
|
-
* }
|
|
19
|
-
* }
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
export interface MiddlewareInterface {
|
|
23
|
-
use(context: ExecutionContext, next: () => Promise<unknown>): Promise<unknown>;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Middleware constructor type
|
|
27
|
-
*/
|
|
28
|
-
export type MiddlewareConstructor = new (...args: unknown[]) => MiddlewareInterface;
|
|
29
|
-
//# sourceMappingURL=middleware.interface.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.interface.d.ts","sourceRoot":"","sources":["../../../src/core/middleware/middleware.interface.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChF;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,mBAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.interface.js","sourceRoot":"","sources":["../../../src/core/middleware/middleware.interface.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC"}
|
package/dist/core/module.d.ts
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import 'reflect-metadata';
|
|
2
|
-
import type { ClassConstructor } from './types.js';
|
|
3
|
-
/**
|
|
4
|
-
* Module metadata key
|
|
5
|
-
*/
|
|
6
|
-
export declare const MODULE_METADATA: unique symbol;
|
|
7
|
-
/**
|
|
8
|
-
* Provider definition for dependency injection
|
|
9
|
-
*/
|
|
10
|
-
export interface Provider {
|
|
11
|
-
provide: string | symbol | ClassConstructor;
|
|
12
|
-
useValue?: unknown;
|
|
13
|
-
useClass?: ClassConstructor;
|
|
14
|
-
useFactory?: (...args: unknown[]) => unknown;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Dynamic module definition (for configurable modules)
|
|
18
|
-
*/
|
|
19
|
-
export interface DynamicModule {
|
|
20
|
-
module?: ClassConstructor;
|
|
21
|
-
providers?: (ClassConstructor | Provider)[];
|
|
22
|
-
exports?: (ClassConstructor | string | symbol)[];
|
|
23
|
-
controllers?: ClassConstructor[];
|
|
24
|
-
imports?: ModuleImport[];
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Type for module imports - can be a class or a dynamic module configuration
|
|
28
|
-
*/
|
|
29
|
-
export type ModuleImport = ClassConstructor | DynamicModule;
|
|
30
|
-
/**
|
|
31
|
-
* Module metadata interface
|
|
32
|
-
*/
|
|
33
|
-
export interface ModuleMetadata {
|
|
34
|
-
/** Module name */
|
|
35
|
-
name: string;
|
|
36
|
-
/** Module description */
|
|
37
|
-
description?: string;
|
|
38
|
-
/** Controllers (classes with @Tool, @Resource, @Prompt decorators) */
|
|
39
|
-
controllers?: ClassConstructor[];
|
|
40
|
-
/** Services (dependency injection) */
|
|
41
|
-
providers?: (ClassConstructor | Provider)[];
|
|
42
|
-
/** Other modules to import */
|
|
43
|
-
imports?: ModuleImport[];
|
|
44
|
-
/** Items to export to other modules */
|
|
45
|
-
exports?: (ClassConstructor | string | symbol)[];
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Module class (internal)
|
|
49
|
-
*/
|
|
50
|
-
declare class ModuleClass {
|
|
51
|
-
metadata: ModuleMetadata;
|
|
52
|
-
constructor(metadata: ModuleMetadata);
|
|
53
|
-
/**
|
|
54
|
-
* Get all controllers from this module
|
|
55
|
-
*/
|
|
56
|
-
getControllers(): ClassConstructor[];
|
|
57
|
-
/**
|
|
58
|
-
* Get module name
|
|
59
|
-
*/
|
|
60
|
-
getName(): string;
|
|
61
|
-
/**
|
|
62
|
-
* Get module description
|
|
63
|
-
*/
|
|
64
|
-
getDescription(): string | undefined;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Module decorator - Defines a module with controllers, providers, imports
|
|
68
|
-
*
|
|
69
|
-
* @example
|
|
70
|
-
* ```typescript
|
|
71
|
-
* @Module({
|
|
72
|
-
* name: 'auth',
|
|
73
|
-
* description: 'Authentication module',
|
|
74
|
-
* controllers: [AuthController],
|
|
75
|
-
* })
|
|
76
|
-
* export class AuthModule {}
|
|
77
|
-
* ```
|
|
78
|
-
*/
|
|
79
|
-
export declare function ModuleDecorator(metadata: ModuleMetadata): <T extends new (...args: any[]) => object>(constructor: T) => T;
|
|
80
|
-
export { ModuleDecorator as Module };
|
|
81
|
-
/**
|
|
82
|
-
* Create a module instance from a class
|
|
83
|
-
*/
|
|
84
|
-
export declare function createModule(moduleClass: ClassConstructor): ModuleClass;
|
|
85
|
-
/**
|
|
86
|
-
* Check if a class is a module
|
|
87
|
-
*/
|
|
88
|
-
export declare function isModule(target: ClassConstructor): boolean;
|
|
89
|
-
/**
|
|
90
|
-
* Get module metadata from a class
|
|
91
|
-
*/
|
|
92
|
-
export declare function getModuleMetadata(target: ClassConstructor): ModuleMetadata | undefined;
|
|
93
|
-
//# sourceMappingURL=module.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/core/module.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,eAAe,eAA4B,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,CAAC,gBAAgB,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACjD,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IAEb,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,sEAAsE;IACtE,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAEjC,sCAAsC;IACtC,SAAS,CAAC,EAAE,CAAC,gBAAgB,GAAG,QAAQ,CAAC,EAAE,CAAC;IAE5C,8BAA8B;IAC9B,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IAEzB,uCAAuC;IACvC,OAAO,CAAC,EAAE,CAAC,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAClD;AAED;;GAEG;AACH,cAAM,WAAW;IACI,QAAQ,EAAE,cAAc;gBAAxB,QAAQ,EAAE,cAAc;IAE3C;;OAEG;IACH,cAAc,IAAI,gBAAgB,EAAE;IAIpC;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,cAAc,IAAI,MAAM,GAAG,SAAS;CAGrC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,IAErC,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,EAAE,aAAa,CAAC,KAAG,CAAC,CAmB9E;AAGD,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,CAAC;AAErC;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,gBAAgB,GAAG,WAAW,CAMvE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,cAAc,GAAG,SAAS,CAEtF"}
|
package/dist/core/module.js
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import 'reflect-metadata';
|
|
2
|
-
/**
|
|
3
|
-
* Module metadata key
|
|
4
|
-
*/
|
|
5
|
-
export const MODULE_METADATA = Symbol('module:metadata');
|
|
6
|
-
/**
|
|
7
|
-
* Module class (internal)
|
|
8
|
-
*/
|
|
9
|
-
class ModuleClass {
|
|
10
|
-
metadata;
|
|
11
|
-
constructor(metadata) {
|
|
12
|
-
this.metadata = metadata;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Get all controllers from this module
|
|
16
|
-
*/
|
|
17
|
-
getControllers() {
|
|
18
|
-
return this.metadata.controllers || [];
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Get module name
|
|
22
|
-
*/
|
|
23
|
-
getName() {
|
|
24
|
-
return this.metadata.name;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Get module description
|
|
28
|
-
*/
|
|
29
|
-
getDescription() {
|
|
30
|
-
return this.metadata.description;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Module decorator - Defines a module with controllers, providers, imports
|
|
35
|
-
*
|
|
36
|
-
* @example
|
|
37
|
-
* ```typescript
|
|
38
|
-
* @Module({
|
|
39
|
-
* name: 'auth',
|
|
40
|
-
* description: 'Authentication module',
|
|
41
|
-
* controllers: [AuthController],
|
|
42
|
-
* })
|
|
43
|
-
* export class AuthModule {}
|
|
44
|
-
* ```
|
|
45
|
-
*/
|
|
46
|
-
export function ModuleDecorator(metadata) {
|
|
47
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
48
|
-
return function (constructor) {
|
|
49
|
-
// Store metadata on the class
|
|
50
|
-
Reflect.defineMetadata(MODULE_METADATA, metadata, constructor);
|
|
51
|
-
// Return the constructor with static method
|
|
52
|
-
const enhanced = constructor;
|
|
53
|
-
// Add static method
|
|
54
|
-
Object.defineProperty(enhanced, 'getMetadata', {
|
|
55
|
-
value: () => Reflect.getMetadata(MODULE_METADATA, constructor) || metadata,
|
|
56
|
-
writable: false,
|
|
57
|
-
enumerable: false,
|
|
58
|
-
configurable: false,
|
|
59
|
-
});
|
|
60
|
-
return enhanced;
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
// Export as "Module" for decorator usage
|
|
64
|
-
export { ModuleDecorator as Module };
|
|
65
|
-
/**
|
|
66
|
-
* Create a module instance from a class
|
|
67
|
-
*/
|
|
68
|
-
export function createModule(moduleClass) {
|
|
69
|
-
const metadata = Reflect.getMetadata(MODULE_METADATA, moduleClass);
|
|
70
|
-
if (!metadata) {
|
|
71
|
-
throw new Error(`Class ${moduleClass.name} is not decorated with @Module`);
|
|
72
|
-
}
|
|
73
|
-
return new ModuleClass(metadata);
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Check if a class is a module
|
|
77
|
-
*/
|
|
78
|
-
export function isModule(target) {
|
|
79
|
-
return Reflect.hasMetadata(MODULE_METADATA, target);
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Get module metadata from a class
|
|
83
|
-
*/
|
|
84
|
-
export function getModuleMetadata(target) {
|
|
85
|
-
return Reflect.getMetadata(MODULE_METADATA, target);
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=module.js.map
|
package/dist/core/module.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/core/module.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAmDzD;;GAEG;AACH,MAAM,WAAW;IACI;IAAnB,YAAmB,QAAwB;QAAxB,aAAQ,GAAR,QAAQ,CAAgB;IAAG,CAAC;IAE/C;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;CACF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,QAAwB;IACtD,8DAA8D;IAC9D,OAAO,UAAoD,WAAc;QACvE,8BAA8B;QAC9B,OAAO,CAAC,cAAc,CAAC,eAAe,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE/D,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,WAEhB,CAAC;QAEF,oBAAoB;QACpB,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE;YAC7C,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,IAAI,QAAQ;YAC1E,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC;AAED,yCAAyC;AACzC,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,CAAC;AAErC;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,WAA6B;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,WAAW,CAA+B,CAAC;IACjG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,SAAS,WAAW,CAAC,IAAI,gCAAgC,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAwB;IAC/C,OAAO,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAwB;IACxD,OAAO,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,CAA+B,CAAC;AACpF,CAAC"}
|