nitrostack 1.0.72 → 1.0.74
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/dist/auth/__tests__/api-key.test.d.ts +2 -0
- package/dist/auth/__tests__/api-key.test.d.ts.map +1 -0
- package/dist/auth/__tests__/api-key.test.js +136 -0
- package/dist/auth/__tests__/api-key.test.js.map +1 -0
- package/dist/auth/__tests__/middleware.test.d.ts +2 -0
- package/dist/auth/__tests__/middleware.test.d.ts.map +1 -0
- package/dist/auth/__tests__/middleware.test.js +186 -0
- package/dist/auth/__tests__/middleware.test.js.map +1 -0
- package/dist/auth/__tests__/pkce.test.d.ts +2 -0
- package/dist/auth/__tests__/pkce.test.d.ts.map +1 -0
- package/dist/auth/__tests__/pkce.test.js +61 -0
- package/dist/auth/__tests__/pkce.test.js.map +1 -0
- package/dist/auth/__tests__/secure-secret.test.d.ts +2 -0
- package/dist/auth/__tests__/secure-secret.test.d.ts.map +1 -0
- package/dist/auth/__tests__/secure-secret.test.js +42 -0
- package/dist/auth/__tests__/secure-secret.test.js.map +1 -0
- package/dist/auth/__tests__/simple-jwt.test.d.ts +2 -0
- package/dist/auth/__tests__/simple-jwt.test.d.ts.map +1 -0
- package/dist/auth/__tests__/simple-jwt.test.js +68 -0
- package/dist/auth/__tests__/simple-jwt.test.js.map +1 -0
- package/dist/auth/__tests__/token-store.test.d.ts +2 -0
- package/dist/auth/__tests__/token-store.test.d.ts.map +1 -0
- package/dist/auth/__tests__/token-store.test.js +79 -0
- package/dist/auth/__tests__/token-store.test.js.map +1 -0
- package/dist/auth/__tests__/token-validation.test.d.ts +2 -0
- package/dist/auth/__tests__/token-validation.test.d.ts.map +1 -0
- package/dist/auth/__tests__/token-validation.test.js +23 -0
- package/dist/auth/__tests__/token-validation.test.js.map +1 -0
- package/dist/auth/api-key.js.map +1 -1
- package/dist/auth/client.js.map +1 -1
- package/dist/auth/index.d.ts +2 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +3 -0
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/middleware.d.ts +1 -1
- package/dist/auth/middleware.d.ts.map +1 -1
- package/dist/auth/middleware.js.map +1 -1
- package/dist/auth/secure-secret.d.ts +136 -0
- package/dist/auth/secure-secret.d.ts.map +1 -0
- package/dist/auth/secure-secret.js +182 -0
- package/dist/auth/secure-secret.js.map +1 -0
- package/dist/auth/server-metadata.d.ts.map +1 -1
- package/dist/auth/server-metadata.js.map +1 -1
- package/dist/auth/simple-jwt.d.ts +100 -14
- package/dist/auth/simple-jwt.d.ts.map +1 -1
- package/dist/auth/simple-jwt.js +19 -9
- package/dist/auth/simple-jwt.js.map +1 -1
- package/dist/auth/token-store.js +1 -1
- package/dist/auth/token-store.js.map +1 -1
- package/dist/auth/token-validation.js +1 -1
- package/dist/auth/token-validation.js.map +1 -1
- package/dist/cli/__tests__/cli-dev.test.d.ts +2 -0
- package/dist/cli/__tests__/cli-dev.test.d.ts.map +1 -0
- package/dist/cli/__tests__/cli-dev.test.js +83 -0
- package/dist/cli/__tests__/cli-dev.test.js.map +1 -0
- package/dist/cli/__tests__/cli-start.test.d.ts +2 -0
- package/dist/cli/__tests__/cli-start.test.d.ts.map +1 -0
- package/dist/cli/__tests__/cli-start.test.js +61 -0
- package/dist/cli/__tests__/cli-start.test.js.map +1 -0
- package/dist/cli/__tests__/cli.test.d.ts +2 -0
- package/dist/cli/__tests__/cli.test.d.ts.map +1 -0
- package/dist/cli/__tests__/cli.test.js +73 -0
- package/dist/cli/__tests__/cli.test.js.map +1 -0
- package/dist/cli/__tests__/commands.test.d.ts +2 -0
- package/dist/cli/__tests__/commands.test.d.ts.map +1 -0
- package/dist/cli/__tests__/commands.test.js +64 -0
- package/dist/cli/__tests__/commands.test.js.map +1 -0
- package/dist/cli/commands/build.js +1 -1
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/generate-types.js +12 -12
- package/dist/cli/commands/generate-types.js.map +1 -1
- package/dist/cli/commands/generate.d.ts +8 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +13 -12
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/init.js +1 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts +10 -0
- package/dist/cli/commands/upgrade.d.ts.map +1 -0
- package/dist/cli/commands/upgrade.js +221 -0
- package/dist/cli/commands/upgrade.js.map +1 -0
- package/dist/cli/index.d.ts +2 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +69 -39
- package/dist/cli/index.js.map +1 -1
- package/dist/core/__tests__/core-modules.test.d.ts +2 -0
- package/dist/core/__tests__/core-modules.test.d.ts.map +1 -0
- package/dist/core/__tests__/core-modules.test.js +36 -0
- package/dist/core/__tests__/core-modules.test.js.map +1 -0
- package/dist/core/__tests__/models.test.d.ts +2 -0
- package/dist/core/__tests__/models.test.d.ts.map +1 -0
- package/dist/core/__tests__/models.test.js +142 -0
- package/dist/core/__tests__/models.test.js.map +1 -0
- package/dist/core/__tests__/module.test.d.ts +2 -0
- package/dist/core/__tests__/module.test.d.ts.map +1 -0
- package/dist/core/__tests__/module.test.js +60 -0
- package/dist/core/__tests__/module.test.js.map +1 -0
- package/dist/core/__tests__/server.test.d.ts +2 -0
- package/dist/core/__tests__/server.test.d.ts.map +1 -0
- package/dist/core/__tests__/server.test.js +120 -0
- package/dist/core/__tests__/server.test.js.map +1 -0
- package/dist/core/__tests__/transports.test.d.ts +2 -0
- package/dist/core/__tests__/transports.test.d.ts.map +1 -0
- package/dist/core/__tests__/transports.test.js +12 -0
- package/dist/core/__tests__/transports.test.js.map +1 -0
- package/dist/core/app-decorator.d.ts +4 -3
- package/dist/core/app-decorator.d.ts.map +1 -1
- package/dist/core/app-decorator.js +67 -28
- package/dist/core/app-decorator.js.map +1 -1
- package/dist/core/builders.d.ts +19 -7
- package/dist/core/builders.d.ts.map +1 -1
- package/dist/core/builders.js +15 -8
- package/dist/core/builders.js.map +1 -1
- package/dist/core/component.d.ts +8 -8
- package/dist/core/component.d.ts.map +1 -1
- package/dist/core/component.js +3 -2
- package/dist/core/component.js.map +1 -1
- package/dist/core/config-module.d.ts +11 -4
- package/dist/core/config-module.d.ts.map +1 -1
- package/dist/core/config-module.js +1 -1
- package/dist/core/config-module.js.map +1 -1
- package/dist/core/decorators/__tests__/decorators.test.d.ts +2 -0
- package/dist/core/decorators/__tests__/decorators.test.d.ts.map +1 -0
- package/dist/core/decorators/__tests__/decorators.test.js +103 -0
- package/dist/core/decorators/__tests__/decorators.test.js.map +1 -0
- package/dist/core/decorators/__tests__/extended-decorators.test.d.ts +2 -0
- package/dist/core/decorators/__tests__/extended-decorators.test.d.ts.map +1 -0
- package/dist/core/decorators/__tests__/extended-decorators.test.js +194 -0
- package/dist/core/decorators/__tests__/extended-decorators.test.js.map +1 -0
- package/dist/core/decorators/cache.decorator.d.ts +9 -9
- package/dist/core/decorators/cache.decorator.d.ts.map +1 -1
- package/dist/core/decorators/cache.decorator.js +3 -3
- package/dist/core/decorators/cache.decorator.js.map +1 -1
- package/dist/core/decorators/health-check.decorator.d.ts +3 -3
- package/dist/core/decorators/health-check.decorator.d.ts.map +1 -1
- package/dist/core/decorators/health-check.decorator.js +2 -2
- package/dist/core/decorators/health-check.decorator.js.map +1 -1
- package/dist/core/decorators/rate-limit.decorator.d.ts +5 -4
- package/dist/core/decorators/rate-limit.decorator.d.ts.map +1 -1
- package/dist/core/decorators/rate-limit.decorator.js +3 -3
- package/dist/core/decorators/rate-limit.decorator.js.map +1 -1
- package/dist/core/decorators.d.ts +47 -29
- package/dist/core/decorators.d.ts.map +1 -1
- package/dist/core/decorators.js +9 -9
- package/dist/core/decorators.js.map +1 -1
- package/dist/core/di/__tests__/container.test.d.ts +2 -0
- package/dist/core/di/__tests__/container.test.d.ts.map +1 -0
- package/dist/core/di/__tests__/container.test.js +88 -0
- package/dist/core/di/__tests__/container.test.js.map +1 -0
- package/dist/core/di/container.d.ts +21 -4
- package/dist/core/di/container.d.ts.map +1 -1
- package/dist/core/di/container.js +11 -7
- package/dist/core/di/container.js.map +1 -1
- package/dist/core/di/injectable.decorator.d.ts +5 -3
- package/dist/core/di/injectable.decorator.d.ts.map +1 -1
- package/dist/core/di/injectable.decorator.js.map +1 -1
- package/dist/core/errors.d.ts +4 -4
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js.map +1 -1
- package/dist/core/events/__tests__/events.test.d.ts +2 -0
- package/dist/core/events/__tests__/events.test.d.ts.map +1 -0
- package/dist/core/events/__tests__/events.test.js +177 -0
- package/dist/core/events/__tests__/events.test.js.map +1 -0
- package/dist/core/events/event-emitter.d.ts +3 -3
- package/dist/core/events/event-emitter.d.ts.map +1 -1
- package/dist/core/events/event-emitter.js.map +1 -1
- package/dist/core/events/event.decorator.d.ts +5 -5
- package/dist/core/events/event.decorator.d.ts.map +1 -1
- package/dist/core/events/event.decorator.js +10 -6
- package/dist/core/events/event.decorator.js.map +1 -1
- package/dist/core/events/log-emitter.d.ts +7 -1
- package/dist/core/events/log-emitter.d.ts.map +1 -1
- package/dist/core/events/log-emitter.js.map +1 -1
- package/dist/core/filters/__tests__/filters.test.d.ts +2 -0
- package/dist/core/filters/__tests__/filters.test.d.ts.map +1 -0
- package/dist/core/filters/__tests__/filters.test.js +72 -0
- package/dist/core/filters/__tests__/filters.test.js.map +1 -0
- package/dist/core/filters/exception-filter.decorator.d.ts +5 -5
- package/dist/core/filters/exception-filter.decorator.d.ts.map +1 -1
- package/dist/core/filters/exception-filter.decorator.js +3 -3
- package/dist/core/filters/exception-filter.decorator.js.map +1 -1
- package/dist/core/filters/exception-filter.interface.d.ts +14 -5
- package/dist/core/filters/exception-filter.interface.d.ts.map +1 -1
- package/dist/core/guards/__tests__/guards.test.d.ts +2 -0
- package/dist/core/guards/__tests__/guards.test.d.ts.map +1 -0
- package/dist/core/guards/__tests__/guards.test.js +55 -0
- package/dist/core/guards/__tests__/guards.test.js.map +1 -0
- package/dist/core/guards/apikey.guard.d.ts +1 -1
- package/dist/core/guards/apikey.guard.d.ts.map +1 -1
- package/dist/core/guards/guard.interface.d.ts +1 -1
- package/dist/core/guards/guard.interface.d.ts.map +1 -1
- package/dist/core/guards/jwt.guard.d.ts +1 -1
- package/dist/core/guards/jwt.guard.d.ts.map +1 -1
- package/dist/core/guards/oauth.guard.d.ts +1 -1
- package/dist/core/guards/oauth.guard.d.ts.map +1 -1
- package/dist/core/guards/use-guards.decorator.d.ts +3 -3
- package/dist/core/guards/use-guards.decorator.d.ts.map +1 -1
- package/dist/core/guards/use-guards.decorator.js +1 -1
- package/dist/core/guards/use-guards.decorator.js.map +1 -1
- package/dist/core/health/__tests__/health.test.d.ts +2 -0
- package/dist/core/health/__tests__/health.test.d.ts.map +1 -0
- package/dist/core/health/__tests__/health.test.js +31 -0
- package/dist/core/health/__tests__/health.test.js.map +1 -0
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/interceptors/__tests__/interceptors.test.d.ts +2 -0
- package/dist/core/interceptors/__tests__/interceptors.test.d.ts.map +1 -0
- package/dist/core/interceptors/__tests__/interceptors.test.js +52 -0
- package/dist/core/interceptors/__tests__/interceptors.test.js.map +1 -0
- package/dist/core/interceptors/interceptor.decorator.d.ts +4 -4
- package/dist/core/interceptors/interceptor.decorator.d.ts.map +1 -1
- package/dist/core/interceptors/interceptor.decorator.js +2 -2
- package/dist/core/interceptors/interceptor.decorator.js.map +1 -1
- package/dist/core/interceptors/interceptor.interface.d.ts +3 -3
- package/dist/core/interceptors/interceptor.interface.d.ts.map +1 -1
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js.map +1 -1
- package/dist/core/middleware/__tests__/middleware.test.d.ts +2 -0
- package/dist/core/middleware/__tests__/middleware.test.d.ts.map +1 -0
- package/dist/core/middleware/__tests__/middleware.test.js +105 -0
- package/dist/core/middleware/__tests__/middleware.test.js.map +1 -0
- package/dist/core/middleware/middleware.decorator.d.ts +4 -4
- package/dist/core/middleware/middleware.decorator.d.ts.map +1 -1
- package/dist/core/middleware/middleware.decorator.js +2 -2
- package/dist/core/middleware/middleware.decorator.js.map +1 -1
- package/dist/core/middleware/middleware.interface.d.ts +3 -3
- package/dist/core/middleware/middleware.interface.d.ts.map +1 -1
- package/dist/core/module.d.ts +33 -14
- package/dist/core/module.d.ts.map +1 -1
- package/dist/core/module.js +11 -6
- package/dist/core/module.js.map +1 -1
- package/dist/core/oauth-module.d.ts +9 -3
- package/dist/core/oauth-module.d.ts.map +1 -1
- package/dist/core/oauth-module.js +4 -3
- package/dist/core/oauth-module.js.map +1 -1
- package/dist/core/pipes/__tests__/pipes.test.d.ts +2 -0
- package/dist/core/pipes/__tests__/pipes.test.d.ts.map +1 -0
- package/dist/core/pipes/__tests__/pipes.test.js +52 -0
- package/dist/core/pipes/__tests__/pipes.test.js.map +1 -0
- package/dist/core/pipes/pipe.decorator.d.ts +14 -5
- package/dist/core/pipes/pipe.decorator.d.ts.map +1 -1
- package/dist/core/pipes/pipe.decorator.js +2 -2
- package/dist/core/pipes/pipe.decorator.js.map +1 -1
- package/dist/core/pipes/pipe.interface.d.ts +9 -4
- package/dist/core/pipes/pipe.interface.d.ts.map +1 -1
- package/dist/core/prompt.d.ts +13 -4
- package/dist/core/prompt.d.ts.map +1 -1
- package/dist/core/prompt.js +2 -2
- package/dist/core/prompt.js.map +1 -1
- package/dist/core/resource.d.ts +7 -2
- package/dist/core/resource.d.ts.map +1 -1
- package/dist/core/resource.js +2 -2
- package/dist/core/resource.js.map +1 -1
- package/dist/core/server.d.ts +49 -3
- package/dist/core/server.d.ts.map +1 -1
- package/dist/core/server.js +61 -34
- package/dist/core/server.js.map +1 -1
- package/dist/core/tool.d.ts +44 -16
- package/dist/core/tool.d.ts.map +1 -1
- package/dist/core/tool.js +19 -6
- package/dist/core/tool.js.map +1 -1
- package/dist/core/transports/__tests__/transports.test.d.ts +2 -0
- package/dist/core/transports/__tests__/transports.test.d.ts.map +1 -0
- package/dist/core/transports/__tests__/transports.test.js +249 -0
- package/dist/core/transports/__tests__/transports.test.js.map +1 -0
- package/dist/core/transports/discovery-http-server.d.ts +7 -1
- package/dist/core/transports/discovery-http-server.d.ts.map +1 -1
- package/dist/core/transports/discovery-http-server.js.map +1 -1
- package/dist/core/transports/http-server.d.ts +2 -2
- package/dist/core/transports/http-server.d.ts.map +1 -1
- package/dist/core/transports/http-server.js +1 -1
- package/dist/core/transports/http-server.js.map +1 -1
- package/dist/core/transports/streamable-http.d.ts +4 -4
- package/dist/core/transports/streamable-http.d.ts.map +1 -1
- package/dist/core/transports/streamable-http.js +1 -1
- package/dist/core/transports/streamable-http.js.map +1 -1
- package/dist/core/types.d.ts +87 -15
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/widgets/__tests__/registry.test.d.ts +2 -0
- package/dist/core/widgets/__tests__/registry.test.d.ts.map +1 -0
- package/dist/core/widgets/__tests__/registry.test.js +69 -0
- package/dist/core/widgets/__tests__/registry.test.js.map +1 -0
- package/dist/core/widgets/widget-registry.d.ts +2 -2
- package/dist/core/widgets/widget-registry.d.ts.map +1 -1
- package/dist/core/widgets/widget-registry.js +1 -1
- package/dist/core/widgets/widget-registry.js.map +1 -1
- package/dist/testing/__tests__/testing.test.d.ts +2 -0
- package/dist/testing/__tests__/testing.test.d.ts.map +1 -0
- package/dist/testing/__tests__/testing.test.js +167 -0
- package/dist/testing/__tests__/testing.test.js.map +1 -0
- package/dist/testing/index.d.ts +40 -19
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +5 -8
- package/dist/testing/index.js.map +1 -1
- package/dist/ui-next/__tests__/ui-next.test.d.ts +2 -0
- package/dist/ui-next/__tests__/ui-next.test.d.ts.map +1 -0
- package/dist/ui-next/__tests__/ui-next.test.js +74 -0
- package/dist/ui-next/__tests__/ui-next.test.js.map +1 -0
- package/dist/ui-next/index.d.ts +1 -1
- package/dist/ui-next/index.d.ts.map +1 -1
- package/dist/ui-next/index.js.map +1 -1
- package/dist/widgets/__tests__/utils.test.d.ts +2 -0
- package/dist/widgets/__tests__/utils.test.d.ts.map +1 -0
- package/dist/widgets/__tests__/utils.test.js +80 -0
- package/dist/widgets/__tests__/utils.test.js.map +1 -0
- package/dist/widgets/__tests__/widgets.test.d.ts +2 -0
- package/dist/widgets/__tests__/widgets.test.d.ts.map +1 -0
- package/dist/widgets/__tests__/widgets.test.js +245 -0
- package/dist/widgets/__tests__/widgets.test.js.map +1 -0
- package/dist/widgets/hooks/useWidgetSDK.d.ts +5 -5
- package/dist/widgets/runtime/WidgetLayout.js.map +1 -1
- package/dist/widgets/sdk.d.ts +5 -5
- package/dist/widgets/sdk.d.ts.map +1 -1
- package/dist/widgets/sdk.js.map +1 -1
- package/package.json +1 -1
- package/src/studio/app/api/auth/fetch-metadata/route.ts +3 -2
- package/src/studio/app/api/auth/register-client/route.ts +3 -2
- package/src/studio/app/api/chat/route.ts +31 -17
- package/src/studio/app/api/health/checks/route.ts +5 -4
- package/src/studio/app/api/init/route.ts +3 -2
- package/src/studio/app/api/ping/route.ts +3 -2
- package/src/studio/app/api/prompts/[name]/route.ts +4 -3
- package/src/studio/app/api/prompts/route.ts +3 -2
- package/src/studio/app/api/resources/[...uri]/route.ts +3 -2
- package/src/studio/app/api/resources/route.ts +3 -2
- package/src/studio/app/api/roots/route.ts +3 -2
- package/src/studio/app/api/sampling/route.ts +3 -2
- package/src/studio/app/api/tools/[name]/call/route.ts +3 -2
- package/src/studio/app/api/tools/route.ts +4 -3
- package/src/studio/app/api/widget-examples/route.ts +5 -4
- package/src/studio/app/auth/callback/page.tsx +3 -2
- package/src/studio/app/chat/page.tsx +481 -105
- package/src/studio/app/health/page.tsx +1 -1
- package/src/studio/app/logs/page.tsx +2 -2
- package/src/studio/app/page.tsx +5 -5
- package/src/studio/app/prompts/page.tsx +2 -2
- package/src/studio/app/settings/page.tsx +3 -2
- package/src/studio/app/tools/page.tsx +3 -3
- package/src/studio/components/LogMessage.tsx +1 -1
- package/src/studio/components/MarkdownRenderer.tsx +245 -348
- package/src/studio/components/Sidebar.tsx +18 -3
- package/src/studio/components/VoiceOrbOverlay.tsx +12 -6
- package/src/studio/components/WidgetErrorBoundary.tsx +49 -0
- package/src/studio/components/WidgetRenderer.tsx +168 -215
- package/src/studio/components/ops/OpsCanvas.tsx +748 -0
- package/src/studio/components/ops/OpsNodeDetailPanel.tsx +150 -0
- package/src/studio/components/ops/OpsSummaryBar.tsx +90 -0
- package/src/studio/components/ops/index.ts +6 -0
- package/src/studio/components/ops/nodes/BaseNode.tsx +65 -0
- package/src/studio/components/ops/nodes/LLMCallNode.tsx +34 -0
- package/src/studio/components/ops/nodes/LLMResponseNode.tsx +33 -0
- package/src/studio/components/ops/nodes/ToolCallNode.tsx +30 -0
- package/src/studio/components/ops/nodes/ToolResultNode.tsx +43 -0
- package/src/studio/components/ops/nodes/UserPromptNode.tsx +34 -0
- package/src/studio/components/ops/nodes/WidgetRenderNode.tsx +23 -0
- package/src/studio/components/ops/nodes/index.ts +9 -0
- package/src/studio/components/tools/ToolsCanvas.tsx +2 -2
- package/src/studio/lib/api.ts +61 -42
- package/src/studio/lib/http-client-transport.ts +2 -2
- package/src/studio/lib/llm-service.ts +126 -47
- package/src/studio/lib/mcp-client.ts +9 -6
- package/src/studio/lib/ops-store.ts +427 -0
- package/src/studio/lib/ops-tracker.ts +416 -0
- package/src/studio/lib/ops-types.ts +164 -0
- package/src/studio/lib/store.ts +8 -11
- package/src/studio/lib/types.ts +228 -38
- package/src/studio/lib/widget-loader.ts +2 -2
- package/templates/typescript-oauth/src/modules/flights/flights.prompts.ts +19 -22
- package/dist/cli/build-widgets.mjs +0 -165
|
@@ -0,0 +1,105 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.test.js","sourceRoot":"","sources":["../../../../src/core/middleware/__tests__/middleware.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { MiddlewareConstructor } from './middleware.interface.js';
|
|
|
7
7
|
* ```typescript
|
|
8
8
|
* @Middleware()
|
|
9
9
|
* export class LoggingMiddleware implements MiddlewareInterface {
|
|
10
|
-
* async use(context: ExecutionContext, next: () => Promise<
|
|
10
|
+
* async use(context: ExecutionContext, next: () => Promise<unknown>) {
|
|
11
11
|
* console.log('Before');
|
|
12
12
|
* const result = await next();
|
|
13
13
|
* console.log('After');
|
|
@@ -24,16 +24,16 @@ export declare function Middleware(): ClassDecorator;
|
|
|
24
24
|
* ```typescript
|
|
25
25
|
* @Tool({ name: 'my_tool', ... })
|
|
26
26
|
* @UseMiddleware(LoggingMiddleware, AuthMiddleware)
|
|
27
|
-
* async myTool(input:
|
|
27
|
+
* async myTool(input: Record<string, unknown>, context: ExecutionContext) { }
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
30
|
export declare function UseMiddleware(...middlewares: MiddlewareConstructor[]): MethodDecorator;
|
|
31
31
|
/**
|
|
32
32
|
* Get middlewares for a method
|
|
33
33
|
*/
|
|
34
|
-
export declare function getMiddlewareMetadata(target:
|
|
34
|
+
export declare function getMiddlewareMetadata(target: object, propertyKey: string | symbol): MiddlewareConstructor[];
|
|
35
35
|
/**
|
|
36
36
|
* Check if a class is marked as middleware
|
|
37
37
|
*/
|
|
38
|
-
export declare function isMiddleware(target:
|
|
38
|
+
export declare function isMiddleware(target: object): boolean;
|
|
39
39
|
//# sourceMappingURL=middleware.decorator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -8,7 +8,7 @@ const IS_MIDDLEWARE_KEY = 'nitrostack:is_middleware';
|
|
|
8
8
|
* ```typescript
|
|
9
9
|
* @Middleware()
|
|
10
10
|
* export class LoggingMiddleware implements MiddlewareInterface {
|
|
11
|
-
* async use(context: ExecutionContext, next: () => Promise<
|
|
11
|
+
* async use(context: ExecutionContext, next: () => Promise<unknown>) {
|
|
12
12
|
* console.log('Before');
|
|
13
13
|
* const result = await next();
|
|
14
14
|
* console.log('After');
|
|
@@ -29,7 +29,7 @@ export function Middleware() {
|
|
|
29
29
|
* ```typescript
|
|
30
30
|
* @Tool({ name: 'my_tool', ... })
|
|
31
31
|
* @UseMiddleware(LoggingMiddleware, AuthMiddleware)
|
|
32
|
-
* async myTool(input:
|
|
32
|
+
* async myTool(input: Record<string, unknown>, context: ExecutionContext) { }
|
|
33
33
|
* ```
|
|
34
34
|
*/
|
|
35
35
|
export function UseMiddleware(...middlewares) {
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -10,7 +10,7 @@ import { ExecutionContext } from '../types.js';
|
|
|
10
10
|
* ```typescript
|
|
11
11
|
* @Middleware()
|
|
12
12
|
* export class LoggingMiddleware implements MiddlewareInterface {
|
|
13
|
-
* async use(context: ExecutionContext, next: () => Promise<
|
|
13
|
+
* async use(context: ExecutionContext, next: () => Promise<unknown>) {
|
|
14
14
|
* console.log('Before:', context.toolName);
|
|
15
15
|
* const result = await next();
|
|
16
16
|
* console.log('After:', context.toolName);
|
|
@@ -20,10 +20,10 @@ import { ExecutionContext } from '../types.js';
|
|
|
20
20
|
* ```
|
|
21
21
|
*/
|
|
22
22
|
export interface MiddlewareInterface {
|
|
23
|
-
use(context: ExecutionContext, next: () => Promise<
|
|
23
|
+
use(context: ExecutionContext, next: () => Promise<unknown>): Promise<unknown>;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* Middleware constructor type
|
|
27
27
|
*/
|
|
28
|
-
export type MiddlewareConstructor = new (...args:
|
|
28
|
+
export type MiddlewareConstructor = new (...args: unknown[]) => MiddlewareInterface;
|
|
29
29
|
//# sourceMappingURL=middleware.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
package/dist/core/module.d.ts
CHANGED
|
@@ -1,8 +1,32 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
|
+
import type { ClassConstructor } from './types.js';
|
|
2
3
|
/**
|
|
3
4
|
* Module metadata key
|
|
4
5
|
*/
|
|
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;
|
|
6
30
|
/**
|
|
7
31
|
* Module metadata interface
|
|
8
32
|
*/
|
|
@@ -12,13 +36,13 @@ export interface ModuleMetadata {
|
|
|
12
36
|
/** Module description */
|
|
13
37
|
description?: string;
|
|
14
38
|
/** Controllers (classes with @Tool, @Resource, @Prompt decorators) */
|
|
15
|
-
controllers?:
|
|
39
|
+
controllers?: ClassConstructor[];
|
|
16
40
|
/** Services (dependency injection) */
|
|
17
|
-
providers?:
|
|
41
|
+
providers?: (ClassConstructor | Provider)[];
|
|
18
42
|
/** Other modules to import */
|
|
19
|
-
imports?:
|
|
43
|
+
imports?: ModuleImport[];
|
|
20
44
|
/** Items to export to other modules */
|
|
21
|
-
exports?:
|
|
45
|
+
exports?: (ClassConstructor | string | symbol)[];
|
|
22
46
|
}
|
|
23
47
|
/**
|
|
24
48
|
* Module class (internal)
|
|
@@ -29,7 +53,7 @@ declare class ModuleClass {
|
|
|
29
53
|
/**
|
|
30
54
|
* Get all controllers from this module
|
|
31
55
|
*/
|
|
32
|
-
getControllers():
|
|
56
|
+
getControllers(): ClassConstructor[];
|
|
33
57
|
/**
|
|
34
58
|
* Get module name
|
|
35
59
|
*/
|
|
@@ -52,23 +76,18 @@ declare class ModuleClass {
|
|
|
52
76
|
* export class AuthModule {}
|
|
53
77
|
* ```
|
|
54
78
|
*/
|
|
55
|
-
export declare function ModuleDecorator(metadata: ModuleMetadata): <T extends
|
|
56
|
-
new (...args: any[]): {};
|
|
57
|
-
}>(constructor: T) => {
|
|
58
|
-
new (...args: any[]): {};
|
|
59
|
-
getMetadata(): ModuleMetadata;
|
|
60
|
-
} & T;
|
|
79
|
+
export declare function ModuleDecorator(metadata: ModuleMetadata): <T extends new (...args: any[]) => object>(constructor: T) => T;
|
|
61
80
|
export { ModuleDecorator as Module };
|
|
62
81
|
/**
|
|
63
82
|
* Create a module instance from a class
|
|
64
83
|
*/
|
|
65
|
-
export declare function createModule(moduleClass:
|
|
84
|
+
export declare function createModule(moduleClass: ClassConstructor): ModuleClass;
|
|
66
85
|
/**
|
|
67
86
|
* Check if a class is a module
|
|
68
87
|
*/
|
|
69
|
-
export declare function isModule(target:
|
|
88
|
+
export declare function isModule(target: ClassConstructor): boolean;
|
|
70
89
|
/**
|
|
71
90
|
* Get module metadata from a class
|
|
72
91
|
*/
|
|
73
|
-
export declare function getModuleMetadata(target:
|
|
92
|
+
export declare function getModuleMetadata(target: ClassConstructor): ModuleMetadata | undefined;
|
|
74
93
|
//# sourceMappingURL=module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/core/module.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;
|
|
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
CHANGED
|
@@ -44,15 +44,20 @@ class ModuleClass {
|
|
|
44
44
|
* ```
|
|
45
45
|
*/
|
|
46
46
|
export function ModuleDecorator(metadata) {
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
47
48
|
return function (constructor) {
|
|
48
49
|
// Store metadata on the class
|
|
49
50
|
Reflect.defineMetadata(MODULE_METADATA, metadata, constructor);
|
|
50
|
-
// Return
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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;
|
|
56
61
|
};
|
|
57
62
|
}
|
|
58
63
|
// Export as "Module" for decorator usage
|
package/dist/core/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/core/module.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;
|
|
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"}
|
|
@@ -64,7 +64,7 @@ export interface OAuthModuleConfig {
|
|
|
64
64
|
* Custom token validation
|
|
65
65
|
* Additional validation logic beyond spec requirements
|
|
66
66
|
*/
|
|
67
|
-
customValidation?: (token:
|
|
67
|
+
customValidation?: (token: unknown) => Promise<boolean> | boolean;
|
|
68
68
|
}
|
|
69
69
|
import { NitroStackServer } from './server.js';
|
|
70
70
|
import { Logger } from './types.js';
|
|
@@ -84,7 +84,13 @@ export declare class OAuthModule {
|
|
|
84
84
|
/**
|
|
85
85
|
* Configure OAuth module for the application
|
|
86
86
|
*/
|
|
87
|
-
static forRoot(config: OAuthModuleConfig):
|
|
87
|
+
static forRoot(config: OAuthModuleConfig): {
|
|
88
|
+
module: typeof OAuthModule;
|
|
89
|
+
providers: {
|
|
90
|
+
provide: string;
|
|
91
|
+
useValue: OAuthModuleConfig;
|
|
92
|
+
}[];
|
|
93
|
+
};
|
|
88
94
|
/**
|
|
89
95
|
* Get current OAuth configuration
|
|
90
96
|
*/
|
|
@@ -100,7 +106,7 @@ export declare class OAuthModule {
|
|
|
100
106
|
*/
|
|
101
107
|
static validateToken(token: string): Promise<{
|
|
102
108
|
valid: boolean;
|
|
103
|
-
payload?:
|
|
109
|
+
payload?: Record<string, unknown>;
|
|
104
110
|
error?: string;
|
|
105
111
|
}>;
|
|
106
112
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-module.d.ts","sourceRoot":"","sources":["../../src/core/oauth-module.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAE/B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;OAGG;IACH,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF;;;OAGG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAEpC;;;OAGG;IACH,8BAA8B,CAAC,EAAE,MAAM,CAAC;IAExC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"oauth-module.d.ts","sourceRoot":"","sources":["../../src/core/oauth-module.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAE/B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;OAGG;IACH,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF;;;OAGG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAEpC;;;OAGG;IACH,8BAA8B,CAAC,EAAE,MAAM,CAAC;IAExC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CACnE;AA2CD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGpC,qBACa,WAAW;IAqCI,OAAO,CAAC,MAAM;IACtC,OAAO,CAAC,MAAM;IACI,OAAO,CAAC,MAAM;IAtClC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAkC;IACvD,OAAO,CAAC,eAAe,CAAoC;IAE3D,OAAO,CAAC,gBAAgB,CAOtB;IAEF,OAAO,CAAC,uBAAuB,CAqB7B;gBAGgC,MAAM,EAAE,iBAAiB,EACjD,MAAM,EAAE,gBAAgB,EACN,MAAM,EAAE,MAAM;IAKnC,YAAY;IAKN,KAAK;IA2BL,IAAI;IAOjB,OAAO,CAAC,yBAAyB;IAKjC;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG;QAAE,MAAM,EAAE,OAAO,WAAW,CAAC;QAAC,SAAS,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,iBAAiB,CAAA;SAAE,EAAE,CAAA;KAAE;IAyBxI;;OAEG;IACH,MAAM,CAAC,SAAS,IAAI,iBAAiB,GAAG,IAAI;IAI5C;;;;;;;;OAQG;WACU,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QACjD,KAAK,EAAE,OAAO,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IA2EF;;;OAGG;mBACkB,eAAe;IAyDpC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;CAyB3B"}
|
|
@@ -221,7 +221,8 @@ let OAuthModule = class OAuthModule {
|
|
|
221
221
|
};
|
|
222
222
|
}
|
|
223
223
|
// Check expiration
|
|
224
|
-
|
|
224
|
+
const expiration = payload.exp;
|
|
225
|
+
if (expiration && expiration < Date.now() / 1000) {
|
|
225
226
|
return { valid: false, error: 'Token expired' };
|
|
226
227
|
}
|
|
227
228
|
// Custom validation
|
|
@@ -234,7 +235,7 @@ let OAuthModule = class OAuthModule {
|
|
|
234
235
|
return { valid: true, payload };
|
|
235
236
|
}
|
|
236
237
|
catch (error) {
|
|
237
|
-
return { valid: false, error: error.message };
|
|
238
|
+
return { valid: false, error: error instanceof Error ? error.message : String(error) };
|
|
238
239
|
}
|
|
239
240
|
}
|
|
240
241
|
/**
|
|
@@ -281,7 +282,7 @@ let OAuthModule = class OAuthModule {
|
|
|
281
282
|
return { valid: true, payload: result };
|
|
282
283
|
}
|
|
283
284
|
catch (error) {
|
|
284
|
-
return { valid: false, error: `Introspection error: ${error.message}` };
|
|
285
|
+
return { valid: false, error: `Introspection error: ${error instanceof Error ? error.message : String(error)}` };
|
|
285
286
|
}
|
|
286
287
|
}
|
|
287
288
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-module.js","sourceRoot":"","sources":["../../src/core/oauth-module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AA+E1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAGrE,IAAM,WAAW,GAAjB,MAAM,WAAW;;IAqCY;IACxB;IACkB;IAtCpB,MAAM,CAAC,MAAM,GAA6B,IAAI,CAAC;IAC/C,eAAe,GAA+B,IAAI,CAAC;IAEnD,gBAAgB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"oauth-module.js","sourceRoot":"","sources":["../../src/core/oauth-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipes.test.d.ts","sourceRoot":"","sources":["../../../../src/core/pipes/__tests__/pipes.test.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
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 { UsePipes, getPipeMetadata } from '../pipe.decorator';
|
|
13
|
+
describe('Pipes Module', () => {
|
|
14
|
+
describe('@UsePipes Decorator', () => {
|
|
15
|
+
it('should register pipes metadata', () => {
|
|
16
|
+
class MockPipe {
|
|
17
|
+
transform(value) { return value; }
|
|
18
|
+
}
|
|
19
|
+
class TestController {
|
|
20
|
+
method() { }
|
|
21
|
+
}
|
|
22
|
+
__decorate([
|
|
23
|
+
UsePipes(MockPipe),
|
|
24
|
+
__metadata("design:type", Function),
|
|
25
|
+
__metadata("design:paramtypes", []),
|
|
26
|
+
__metadata("design:returntype", void 0)
|
|
27
|
+
], TestController.prototype, "method", null);
|
|
28
|
+
const metadata = getPipeMetadata(TestController.prototype, 'method');
|
|
29
|
+
expect(metadata).toEqual([MockPipe]);
|
|
30
|
+
});
|
|
31
|
+
it('should register multiple pipes', () => {
|
|
32
|
+
class Pipe1 {
|
|
33
|
+
transform(v) { return v; }
|
|
34
|
+
}
|
|
35
|
+
class Pipe2 {
|
|
36
|
+
transform(v) { return v; }
|
|
37
|
+
}
|
|
38
|
+
class TestController {
|
|
39
|
+
method() { }
|
|
40
|
+
}
|
|
41
|
+
__decorate([
|
|
42
|
+
UsePipes(Pipe1, Pipe2),
|
|
43
|
+
__metadata("design:type", Function),
|
|
44
|
+
__metadata("design:paramtypes", []),
|
|
45
|
+
__metadata("design:returntype", void 0)
|
|
46
|
+
], TestController.prototype, "method", null);
|
|
47
|
+
const metadata = getPipeMetadata(TestController.prototype, 'method');
|
|
48
|
+
expect(metadata).toEqual([Pipe1, Pipe2]);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=pipes.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipes.test.js","sourceRoot":"","sources":["../../../../src/core/pipes/__tests__/pipes.test.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAQ,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAG9D,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACtC,MAAM,QAAQ;gBACV,SAAS,CAAC,KAAU,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC;aAC1C;YAED,MAAM,cAAc;gBAEhB,MAAM,KAAK,CAAC;aACf;YADG;gBADC,QAAQ,CAAC,QAAQ,CAAC;;;;wDACP;YAGhB,MAAM,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACrE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACtC,MAAM,KAAK;gBAA4B,SAAS,CAAC,CAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;aAAE;YACxE,MAAM,KAAK;gBAA4B,SAAS,CAAC,CAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;aAAE;YAExE,MAAM,cAAc;gBAEhB,MAAM,KAAK,CAAC;aACf;YADG;gBADC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;;;;wDACX;YAGhB,MAAM,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACrE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import { PipeConstructor } from './pipe.interface.js';
|
|
3
|
+
import type { ClassConstructor } from '../types.js';
|
|
3
4
|
/**
|
|
4
5
|
* Marks a class as a pipe
|
|
5
6
|
*
|
|
@@ -7,7 +8,7 @@ import { PipeConstructor } from './pipe.interface.js';
|
|
|
7
8
|
* ```typescript
|
|
8
9
|
* @Pipe()
|
|
9
10
|
* export class ValidationPipe implements PipeInterface {
|
|
10
|
-
* transform(value:
|
|
11
|
+
* transform(value: unknown, metadata: ArgumentMetadata) {
|
|
11
12
|
* // Validate and transform
|
|
12
13
|
* return value;
|
|
13
14
|
* }
|
|
@@ -22,7 +23,7 @@ export declare function Pipe(): ClassDecorator;
|
|
|
22
23
|
* ```typescript
|
|
23
24
|
* @Tool({ name: 'create_user', ... })
|
|
24
25
|
* @UsePipes(ValidationPipe, TransformPipe)
|
|
25
|
-
* async createUser(input:
|
|
26
|
+
* async createUser(input: unknown) { }
|
|
26
27
|
* ```
|
|
27
28
|
*/
|
|
28
29
|
export declare function UsePipes(...pipes: PipeConstructor[]): MethodDecorator;
|
|
@@ -40,16 +41,24 @@ export declare function Body(...pipes: PipeConstructor[]): ParameterDecorator;
|
|
|
40
41
|
* Shorthand for validation pipe
|
|
41
42
|
*/
|
|
42
43
|
export declare function Validated(): ParameterDecorator;
|
|
44
|
+
/**
|
|
45
|
+
* Parameter pipes metadata
|
|
46
|
+
*/
|
|
47
|
+
interface ParamPipeMetadata {
|
|
48
|
+
type: string;
|
|
49
|
+
pipes: PipeConstructor[];
|
|
50
|
+
}
|
|
43
51
|
/**
|
|
44
52
|
* Get pipes for a method
|
|
45
53
|
*/
|
|
46
|
-
export declare function getPipeMetadata(target:
|
|
54
|
+
export declare function getPipeMetadata(target: object, propertyKey: string | symbol): PipeConstructor[];
|
|
47
55
|
/**
|
|
48
56
|
* Get parameter pipes for a method
|
|
49
57
|
*/
|
|
50
|
-
export declare function getParamPipesMetadata(target:
|
|
58
|
+
export declare function getParamPipesMetadata(target: object, propertyKey: string | symbol): Record<number, ParamPipeMetadata>;
|
|
51
59
|
/**
|
|
52
60
|
* Check if a class is marked as a pipe
|
|
53
61
|
*/
|
|
54
|
-
export declare function isPipe(target:
|
|
62
|
+
export declare function isPipe(target: ClassConstructor): boolean;
|
|
63
|
+
export {};
|
|
55
64
|
//# sourceMappingURL=pipe.decorator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipe.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/pipes/pipe.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"pipe.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/pipes/pipe.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAMpD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,IAAI,IAAI,cAAc,CAIrC;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,GAAG,KAAK,EAAE,eAAe,EAAE,GAAG,eAAe,CAUrE;AAED;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,GAAG,KAAK,EAAE,eAAe,EAAE,GAAG,kBAAkB,CAWpE;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,kBAAkB,CAE9C;AAED;;GAEG;AACH,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,EAAE,CAE/F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAErH;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAExD"}
|
|
@@ -9,7 +9,7 @@ const PARAM_PIPES_KEY = 'nitrostack:param_pipes';
|
|
|
9
9
|
* ```typescript
|
|
10
10
|
* @Pipe()
|
|
11
11
|
* export class ValidationPipe implements PipeInterface {
|
|
12
|
-
* transform(value:
|
|
12
|
+
* transform(value: unknown, metadata: ArgumentMetadata) {
|
|
13
13
|
* // Validate and transform
|
|
14
14
|
* return value;
|
|
15
15
|
* }
|
|
@@ -28,7 +28,7 @@ export function Pipe() {
|
|
|
28
28
|
* ```typescript
|
|
29
29
|
* @Tool({ name: 'create_user', ... })
|
|
30
30
|
* @UsePipes(ValidationPipe, TransformPipe)
|
|
31
|
-
* async createUser(input:
|
|
31
|
+
* async createUser(input: unknown) { }
|
|
32
32
|
* ```
|
|
33
33
|
*/
|
|
34
34
|
export function UsePipes(...pipes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipe.decorator.js","sourceRoot":"","sources":["../../../src/core/pipes/pipe.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"pipe.decorator.js","sourceRoot":"","sources":["../../../src/core/pipes/pipe.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAI1B,MAAM,QAAQ,GAAG,iBAAiB,CAAC;AACnC,MAAM,WAAW,GAAG,oBAAoB,CAAC;AACzC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAEjD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,IAAI;IAClB,OAAO,CAAC,MAAc,EAAE,EAAE;QACxB,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAG,KAAwB;IAClD,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,UAA8B,EAAE,EAAE;QACtF,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;QAC/E,OAAO,CAAC,cAAc,CACpB,QAAQ,EACR,CAAC,GAAG,aAAa,EAAE,GAAG,KAAK,CAAC,EAC5B,MAAM,EACN,WAAW,CACZ,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,IAAI,CAAC,GAAG,KAAwB;IAC9C,OAAO,CAAC,MAAc,EAAE,WAAwC,EAAE,cAAsB,EAAE,EAAE;QAC1F,IAAI,CAAC,WAAW;YAAE,OAAO;QAEzB,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;QACvF,cAAc,CAAC,cAAc,CAAC,GAAG;YAC/B,IAAI,EAAE,MAAM;YACZ,KAAK;SACN,CAAC;QACF,OAAO,CAAC,cAAc,CAAC,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/E,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,EAAE,CAAC,CAAC,+CAA+C;AAChE,CAAC;AAUD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,WAA4B;IAC1E,OAAO,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,WAA4B;IAChF,OAAO,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,MAAwB;IAC7C,OAAO,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;AAC3D,CAAC"}
|