@frontmcp/sdk 0.2.3 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +81 -99
- package/package.json +24 -2
- package/src/adapter/adapter.instance.d.ts +11 -0
- package/src/adapter/adapter.instance.js +65 -0
- package/src/adapter/adapter.instance.js.map +1 -0
- package/src/adapter/adapter.regsitry.d.ts +13 -0
- package/src/adapter/adapter.regsitry.js +54 -0
- package/src/adapter/adapter.regsitry.js.map +1 -0
- package/src/adapter/adapter.utils.d.ts +10 -0
- package/src/adapter/adapter.utils.js +83 -0
- package/src/adapter/adapter.utils.js.map +1 -0
- package/src/app/app.registry.d.ts +12 -0
- package/src/app/app.registry.js +64 -0
- package/src/app/app.registry.js.map +1 -0
- package/src/app/app.utils.d.ts +15 -0
- package/src/app/app.utils.js +58 -0
- package/src/app/app.utils.js.map +1 -0
- package/src/app/instances/app.local.instance.d.ts +25 -0
- package/src/app/instances/app.local.instance.js +70 -0
- package/src/app/instances/app.local.instance.js.map +1 -0
- package/src/app/instances/app.remote.instance.d.ts +13 -0
- package/src/app/instances/app.remote.instance.js +36 -0
- package/src/app/instances/app.remote.instance.js.map +1 -0
- package/src/app/instances/index.d.ts +2 -0
- package/src/app/instances/index.js +6 -0
- package/src/app/instances/index.js.map +1 -0
- package/src/auth/auth.registry.d.ts +13 -0
- package/src/auth/auth.registry.js +81 -0
- package/src/auth/auth.registry.js.map +1 -0
- package/src/auth/auth.utils.d.ts +10 -0
- package/src/auth/auth.utils.js +85 -0
- package/src/auth/auth.utils.js.map +1 -0
- package/src/auth/flows/oauth.authorize.flow.d.ts +231 -0
- package/src/auth/flows/oauth.authorize.flow.js +154 -0
- package/src/auth/flows/oauth.authorize.flow.js.map +1 -0
- package/src/auth/flows/oauth.register.flow.d.ts +202 -0
- package/src/auth/flows/oauth.register.flow.js +201 -0
- package/src/auth/flows/oauth.register.flow.js.map +1 -0
- package/src/auth/flows/oauth.token.flow.d.ts +242 -0
- package/src/auth/flows/oauth.token.flow.js +181 -0
- package/src/auth/flows/oauth.token.flow.js.map +1 -0
- package/src/auth/flows/session.verify.flow.d.ts +404 -0
- package/src/auth/flows/session.verify.flow.js +205 -0
- package/src/auth/flows/session.verify.flow.js.map +1 -0
- package/src/auth/flows/well-known.jwks.flow.d.ts +261 -0
- package/src/auth/flows/well-known.jwks.flow.js +82 -0
- package/src/auth/flows/well-known.jwks.flow.js.map +1 -0
- package/src/auth/flows/well-known.oauth-authorization-server.flow.d.ts +282 -0
- package/src/auth/flows/well-known.oauth-authorization-server.flow.js +123 -0
- package/src/auth/flows/well-known.oauth-authorization-server.flow.js.map +1 -0
- package/src/auth/flows/well-known.prm.flow.d.ts +159 -0
- package/src/auth/flows/well-known.prm.flow.js +107 -0
- package/src/auth/flows/well-known.prm.flow.js.map +1 -0
- package/src/auth/instances/instance.local-primary-auth.d.ts +19 -0
- package/src/auth/instances/instance.local-primary-auth.js +76 -0
- package/src/auth/instances/instance.local-primary-auth.js.map +1 -0
- package/src/auth/instances/instance.remote-primary-auth.d.ts +14 -0
- package/src/auth/instances/instance.remote-primary-auth.js +47 -0
- package/src/auth/instances/instance.remote-primary-auth.js.map +1 -0
- package/src/auth/jwks/index.d.ts +2 -0
- package/src/auth/jwks/index.js +6 -0
- package/src/auth/jwks/index.js.map +1 -0
- package/src/auth/jwks/jwks.service.d.ts +41 -0
- package/src/auth/jwks/jwks.service.js +235 -0
- package/src/auth/jwks/jwks.service.js.map +1 -0
- package/src/auth/jwks/jwks.types.d.ts +25 -0
- package/src/auth/jwks/jwks.types.js +3 -0
- package/src/auth/jwks/jwks.types.js.map +1 -0
- package/src/auth/jwks/jwks.utils.d.ts +4 -0
- package/src/auth/jwks/jwks.utils.js +32 -0
- package/src/auth/jwks/jwks.utils.js.map +1 -0
- package/src/auth/oauth/flows/oauth.authorize.flow.d.ts +31 -0
- package/src/auth/oauth/flows/oauth.authorize.flow.js +33 -0
- package/src/auth/oauth/flows/oauth.authorize.flow.js.map +1 -0
- package/src/auth/oauth/flows/oauth.device-authorization.flow.d.ts +46 -0
- package/src/auth/oauth/flows/oauth.device-authorization.flow.js +48 -0
- package/src/auth/oauth/flows/oauth.device-authorization.flow.js.map +1 -0
- package/src/auth/oauth/flows/oauth.introspect.flow.d.ts +26 -0
- package/src/auth/oauth/flows/oauth.introspect.flow.js +28 -0
- package/src/auth/oauth/flows/oauth.introspect.flow.js.map +1 -0
- package/src/auth/oauth/flows/oauth.par.flow.d.ts +27 -0
- package/src/auth/oauth/flows/oauth.par.flow.js +29 -0
- package/src/auth/oauth/flows/oauth.par.flow.js.map +1 -0
- package/src/auth/oauth/flows/oauth.revoke.flow.d.ts +25 -0
- package/src/auth/oauth/flows/oauth.revoke.flow.js +27 -0
- package/src/auth/oauth/flows/oauth.revoke.flow.js.map +1 -0
- package/src/auth/oauth/flows/oauth.token.flow.d.ts +57 -0
- package/src/auth/oauth/flows/oauth.token.flow.js +59 -0
- package/src/auth/oauth/flows/oauth.token.flow.js.map +1 -0
- package/src/auth/oauth/flows/oauth.userinfo.flow.d.ts +22 -0
- package/src/auth/oauth/flows/oauth.userinfo.flow.js +24 -0
- package/src/auth/oauth/flows/oauth.userinfo.flow.js.map +1 -0
- package/src/auth/oauth/flows/oidc.logout.flow.d.ts +18 -0
- package/src/auth/oauth/flows/oidc.logout.flow.js +20 -0
- package/src/auth/oauth/flows/oidc.logout.flow.js.map +1 -0
- package/src/auth/path.utils.d.ts +20 -0
- package/src/auth/path.utils.js +71 -0
- package/src/auth/path.utils.js.map +1 -0
- package/src/auth/session/index.d.ts +4 -0
- package/src/auth/session/index.js +10 -0
- package/src/auth/session/index.js.map +1 -0
- package/src/auth/session/record/session.base.d.ts +103 -0
- package/src/auth/session/record/session.base.js +123 -0
- package/src/auth/session/record/session.base.js.map +1 -0
- package/src/auth/session/record/session.stateful.d.ts +20 -0
- package/src/auth/session/record/session.stateful.js +55 -0
- package/src/auth/session/record/session.stateful.js.map +1 -0
- package/src/auth/session/record/session.stateless.d.ts +17 -0
- package/src/auth/session/record/session.stateless.js +30 -0
- package/src/auth/session/record/session.stateless.js.map +1 -0
- package/src/auth/session/record/session.transparent.d.ts +17 -0
- package/src/auth/session/record/session.transparent.js +22 -0
- package/src/auth/session/record/session.transparent.js.map +1 -0
- package/src/auth/session/session.crypto.d.ts +7 -0
- package/src/auth/session/session.crypto.js +47 -0
- package/src/auth/session/session.crypto.js.map +1 -0
- package/src/auth/session/session.schema.d.ts +5 -0
- package/src/auth/session/session.schema.js +13 -0
- package/src/auth/session/session.schema.js.map +1 -0
- package/src/auth/session/session.service.d.ts +17 -0
- package/src/auth/session/session.service.js +111 -0
- package/src/auth/session/session.service.js.map +1 -0
- package/src/auth/session/session.transport.d.ts +4 -0
- package/src/auth/session/session.transport.js +20 -0
- package/src/auth/session/session.transport.js.map +1 -0
- package/src/auth/session/session.types.d.ts +65 -0
- package/src/auth/session/session.types.js +4 -0
- package/src/auth/session/session.types.js.map +1 -0
- package/src/auth/session/token.refresh.d.ts +60 -0
- package/src/auth/session/token.refresh.js +63 -0
- package/src/auth/session/token.refresh.js.map +1 -0
- package/src/auth/session/token.store.d.ts +35 -0
- package/src/auth/session/token.store.js +53 -0
- package/src/auth/session/token.store.js.map +1 -0
- package/src/auth/session/token.vault.d.ts +26 -0
- package/src/auth/session/token.vault.js +54 -0
- package/src/auth/session/token.vault.js.map +1 -0
- package/src/auth/session/utils/auth-token.utils.d.ts +11 -0
- package/src/auth/session/utils/auth-token.utils.js +57 -0
- package/src/auth/session/utils/auth-token.utils.js.map +1 -0
- package/src/auth/session/utils/session-id.utils.d.ts +17 -0
- package/src/auth/session/utils/session-id.utils.js +129 -0
- package/src/auth/session/utils/session-id.utils.js.map +1 -0
- package/src/auth/session/utils/tiny-ttl-cache.d.ts +7 -0
- package/src/auth/session/utils/tiny-ttl-cache.js +26 -0
- package/src/auth/session/utils/tiny-ttl-cache.js.map +1 -0
- package/src/common/common.schema.d.ts +29 -0
- package/src/common/common.schema.js +35 -0
- package/src/common/common.schema.js.map +1 -0
- package/src/common/constants.d.ts +2 -0
- package/src/common/constants.js +8 -0
- package/src/common/constants.js.map +1 -0
- package/src/common/decorators/adapter.decorator.js.map +1 -0
- package/src/common/decorators/app.decorator.js.map +1 -0
- package/src/common/decorators/auth-provider.decorator.js.map +1 -0
- package/src/common/decorators/flow.decorator.js.map +1 -0
- package/src/common/decorators/front-mcp.decorator.js +40 -0
- package/src/common/decorators/front-mcp.decorator.js.map +1 -0
- package/src/common/decorators/hook.decorator.js.map +1 -0
- package/src/common/decorators/index.js.map +1 -0
- package/src/common/decorators/logger.decorator.js.map +1 -0
- package/src/common/decorators/plugin.decorator.js.map +1 -0
- package/src/common/decorators/prompt.decorator.js.map +1 -0
- package/src/common/decorators/provider.decorator.js.map +1 -0
- package/src/common/decorators/resource.decorator.js.map +1 -0
- package/src/common/decorators/tool.decorator.d.ts +42 -0
- package/src/common/decorators/tool.decorator.js +46 -0
- package/src/common/decorators/tool.decorator.js.map +1 -0
- package/src/common/decorators-old/async-with.decorator.d.ts +10 -0
- package/src/common/decorators-old/async-with.decorator.js +24 -0
- package/src/common/decorators-old/async-with.decorator.js.map +1 -0
- package/src/common/decorators-old/auth-hook.decorator.js.map +1 -0
- package/src/common/decorators-old/session-hook.decorator.js.map +1 -0
- package/src/common/dynamic/dynamic.adapter.js.map +1 -0
- package/src/common/dynamic/dynamic.plugin.js.map +1 -0
- package/src/common/dynamic/dynamic.utils.d.ts +3 -0
- package/src/common/dynamic/dynamic.utils.js.map +1 -0
- package/src/common/dynamic/index.js.map +1 -0
- package/src/common/entries/adapter.entry.js.map +1 -0
- package/src/common/entries/app.entry.d.ts +13 -0
- package/src/common/entries/app.entry.js.map +1 -0
- package/src/common/entries/auth-provider.entry.js.map +1 -0
- package/src/common/entries/base.entry.js.map +1 -0
- package/src/common/entries/flow.entry.js.map +1 -0
- package/src/common/entries/hook.entry.js.map +1 -0
- package/src/common/entries/index.js.map +1 -0
- package/src/common/entries/logger.entry.js.map +1 -0
- package/src/common/entries/plugin.entry.js.map +1 -0
- package/src/common/entries/prompt.entry.js.map +1 -0
- package/src/common/entries/provider.entry.js.map +1 -0
- package/src/common/entries/resource.entry.js.map +1 -0
- package/src/common/entries/scope.entry.js.map +1 -0
- package/src/common/entries/tool.entry.js.map +1 -0
- package/src/common/index.d.ts +17 -0
- package/src/common/index.js +21 -0
- package/src/common/index.js.map +1 -0
- package/src/common/interfaces/adapter.interface.js.map +1 -0
- package/src/common/interfaces/app.interface.js.map +1 -0
- package/src/common/interfaces/auth-hook.interface.js.map +1 -0
- package/src/common/interfaces/auth-provider.interface.js.map +1 -0
- package/src/common/interfaces/base.interface.js.map +1 -0
- package/src/common/interfaces/flow.interface.d.ts +41 -0
- package/src/common/interfaces/flow.interface.js.map +1 -0
- package/src/common/interfaces/front-mcp.interface.js.map +1 -0
- package/src/common/interfaces/hook.interface.js.map +1 -0
- package/src/common/interfaces/index.js.map +1 -0
- package/src/common/interfaces/internal/flow.utils.d.ts +23 -0
- package/src/common/interfaces/internal/flow.utils.js.map +1 -0
- package/src/common/interfaces/internal/index.js.map +1 -0
- package/src/common/interfaces/internal/primary-auth-provider.interface.d.ts +24 -0
- package/src/common/interfaces/internal/primary-auth-provider.interface.js.map +1 -0
- package/src/common/interfaces/internal/registry.interface.d.ts +95 -0
- package/src/common/interfaces/internal/registry.interface.js.map +1 -0
- package/src/common/interfaces/logger.interface.js.map +1 -0
- package/src/common/interfaces/plugin.interface.js.map +1 -0
- package/src/common/interfaces/prompt.interface.js.map +1 -0
- package/src/common/interfaces/provider.interface.js.map +1 -0
- package/src/common/interfaces/resource.interface.js.map +1 -0
- package/src/common/interfaces/scope.interface.js.map +1 -0
- package/src/common/interfaces/server.interface.js.map +1 -0
- package/src/common/interfaces/session-hook.interface.js.map +1 -0
- package/src/common/interfaces/tool-hook.interface.js.map +1 -0
- package/src/common/interfaces/tool.interface.js.map +1 -0
- package/src/common/metadata/adapter.metadata.js.map +1 -0
- package/src/common/metadata/app.metadata.d.ts +872 -0
- package/src/common/metadata/app.metadata.js.map +1 -0
- package/src/common/metadata/auth-provider.metadata.js.map +1 -0
- package/src/common/metadata/flow.metadata.d.ts +77 -0
- package/src/common/metadata/flow.metadata.js.map +1 -0
- package/src/common/metadata/front-mcp.metadata.d.ts +1144 -0
- package/src/common/metadata/front-mcp.metadata.js.map +1 -0
- package/src/common/metadata/hook.metadata.js.map +1 -0
- package/src/common/metadata/index.js.map +1 -0
- package/src/common/metadata/logger.metadata.js.map +1 -0
- package/src/common/metadata/plugin.metadata.js.map +1 -0
- package/src/common/metadata/prompt.metadata.js.map +1 -0
- package/src/common/metadata/provider.metadata.js.map +1 -0
- package/src/common/metadata/resource.metadata.js.map +1 -0
- package/src/common/metadata/tool.metadata.d.ts +178 -0
- package/src/common/metadata/tool.metadata.js.map +1 -0
- package/src/common/providers/session.provider.js.map +1 -0
- package/src/common/records/adapter.record.js.map +1 -0
- package/src/common/records/app.record.js.map +1 -0
- package/src/common/records/auth-provider.record.js.map +1 -0
- package/src/common/records/flow.record.js.map +1 -0
- package/src/common/records/hook.record.js.map +1 -0
- package/src/common/records/index.js.map +1 -0
- package/src/common/records/logger.record.d.ts +11 -0
- package/src/common/records/logger.record.js.map +1 -0
- package/src/common/records/plugin.record.js.map +1 -0
- package/src/common/records/prompt.record.js.map +1 -0
- package/src/common/records/provider.record.js.map +1 -0
- package/src/common/records/resource.record.js.map +1 -0
- package/src/common/records/scope.record.js.map +1 -0
- package/src/common/records/tool.record.js.map +1 -0
- package/src/common/schemas/annotated-class.schema.js.map +1 -0
- package/src/common/schemas/http-input.schema.js.map +1 -0
- package/src/common/schemas/http-output.schema.d.ts +2011 -0
- package/src/common/schemas/http-output.schema.js.map +1 -0
- package/src/common/schemas/index.js.map +1 -0
- package/src/common/tokens/adapter.tokens.js.map +1 -0
- package/src/common/tokens/app.tokens.js.map +1 -0
- package/src/common/tokens/auth-provider.tokens.js.map +1 -0
- package/src/common/tokens/base.tokens.js.map +1 -0
- package/src/common/tokens/flow-hook.tokens.js.map +1 -0
- package/src/common/tokens/flow.tokens.js.map +1 -0
- package/src/common/tokens/front-mcp.tokens.js.map +1 -0
- package/src/common/tokens/index.js.map +1 -0
- package/src/common/tokens/logger.tokens.js.map +1 -0
- package/src/common/tokens/plugin.tokens.js.map +1 -0
- package/src/common/tokens/prompt.tokens.js.map +1 -0
- package/src/common/tokens/provider.tokens.js.map +1 -0
- package/src/common/tokens/resource.tokens.js.map +1 -0
- package/src/common/tokens/server.tokens.js.map +1 -0
- package/src/common/tokens/tool.tokens.js.map +1 -0
- package/src/common/types/auth/index.js.map +1 -0
- package/src/common/types/auth/jwt.types.js.map +1 -0
- package/src/common/types/auth/session.types.d.ts +263 -0
- package/src/common/types/auth/session.types.js.map +1 -0
- package/src/common/types/common.types.js.map +1 -0
- package/src/common/types/index.js.map +1 -0
- package/src/common/types/options/auth.options.d.ts +513 -0
- package/src/common/types/options/auth.options.js.map +1 -0
- package/src/common/types/options/http.options.js.map +1 -0
- package/src/common/types/options/index.js.map +1 -0
- package/src/common/types/options/logging.options.d.ts +39 -0
- package/src/common/types/options/logging.options.js.map +1 -0
- package/src/common/types/options/server-info.options.d.ts +48 -0
- package/src/common/types/options/server-info.options.js.map +1 -0
- package/src/common/types/options/session.options.d.ts +67 -0
- package/src/common/types/options/session.options.js.map +1 -0
- package/src/common/utils/decide-request-intent.utils.d.ts +79 -0
- package/src/common/utils/decide-request-intent.utils.js.map +1 -0
- package/src/common/utils/index.js.map +1 -0
- package/src/common/utils/path.utils.d.ts +20 -0
- package/src/common/utils/path.utils.js.map +1 -0
- package/src/exceptions/mcp-exceptions/session-missing.exception.d.ts +3 -0
- package/src/exceptions/mcp-exceptions/session-missing.exception.js +11 -0
- package/src/exceptions/mcp-exceptions/session-missing.exception.js.map +1 -0
- package/src/exceptions/mcp-exceptions/unsupported-client-version.exception.d.ts +5 -0
- package/src/exceptions/mcp-exceptions/unsupported-client-version.exception.js +15 -0
- package/src/exceptions/mcp-exceptions/unsupported-client-version.exception.js.map +1 -0
- package/src/flows/flow.instance.d.ts +16 -0
- package/src/flows/flow.instance.js +332 -0
- package/src/flows/flow.instance.js.map +1 -0
- package/src/flows/flow.registry.d.ts +14 -0
- package/src/flows/flow.registry.js +79 -0
- package/src/flows/flow.registry.js.map +1 -0
- package/src/flows/flow.stages.d.ts +12 -0
- package/src/flows/flow.stages.js +110 -0
- package/src/flows/flow.stages.js.map +1 -0
- package/src/flows/flow.utils.d.ts +8 -0
- package/src/flows/flow.utils.js +36 -0
- package/src/flows/flow.utils.js.map +1 -0
- package/src/front-mcp/front-mcp.d.ts +12 -0
- package/src/front-mcp/front-mcp.js +44 -0
- package/src/front-mcp/front-mcp.js.map +1 -0
- package/src/front-mcp/front-mcp.providers.d.ts +198 -0
- package/src/front-mcp/front-mcp.providers.js +30 -0
- package/src/front-mcp/front-mcp.providers.js.map +1 -0
- package/src/front-mcp/front-mcp.tokens.d.ts +2 -0
- package/src/front-mcp/front-mcp.tokens.js +5 -0
- package/src/front-mcp/front-mcp.tokens.js.map +1 -0
- package/src/front-mcp/index.d.ts +1 -0
- package/src/front-mcp/index.js +5 -0
- package/src/front-mcp/index.js.map +1 -0
- package/src/hooks/hook.instance.d.ts +7 -0
- package/src/hooks/hook.instance.js +23 -0
- package/src/hooks/hook.instance.js.map +1 -0
- package/src/hooks/hook.registry.d.ts +34 -0
- package/src/hooks/hook.registry.js +138 -0
- package/src/hooks/hook.registry.js.map +1 -0
- package/src/hooks/hooks.utils.d.ts +3 -0
- package/src/hooks/hooks.utils.js +27 -0
- package/src/hooks/hooks.utils.js.map +1 -0
- package/src/index.d.ts +21 -18
- package/src/index.js +9 -18
- package/src/index.js.map +1 -1
- package/src/logger/instances/instance.console-logger.d.ts +10 -0
- package/src/logger/instances/instance.console-logger.js +75 -0
- package/src/logger/instances/instance.console-logger.js.map +1 -0
- package/src/logger/instances/instance.logger.d.ts +24 -0
- package/src/logger/instances/instance.logger.js +77 -0
- package/src/logger/instances/instance.logger.js.map +1 -0
- package/src/logger/logger.registry.d.ts +13 -0
- package/src/logger/logger.registry.js +91 -0
- package/src/logger/logger.registry.js.map +1 -0
- package/src/logger/logger.tokens.d.ts +1 -0
- package/src/logger/logger.tokens.js +3 -0
- package/src/logger/logger.tokens.js.map +1 -0
- package/src/logger/logger.types.d.ts +10 -0
- package/src/logger/logger.types.js +8 -0
- package/src/logger/logger.types.js.map +1 -0
- package/src/logger/logger.utils.d.ts +15 -0
- package/src/logger/logger.utils.js +42 -0
- package/src/logger/logger.utils.js.map +1 -0
- package/src/plugin/plugin.registry.d.ts +24 -0
- package/src/plugin/plugin.registry.js +137 -0
- package/src/plugin/plugin.registry.js.map +1 -0
- package/src/plugin/plugin.utils.d.ts +10 -0
- package/src/plugin/plugin.utils.js +88 -0
- package/src/plugin/plugin.utils.js.map +1 -0
- package/src/prompt/prompt.registry.d.ts +16 -0
- package/src/prompt/prompt.registry.js +34 -0
- package/src/prompt/prompt.registry.js.map +1 -0
- package/src/provider/provider.registry.d.ts +75 -0
- package/src/provider/provider.registry.js +679 -0
- package/src/provider/provider.registry.js.map +1 -0
- package/src/provider/provider.types.d.ts +9 -0
- package/src/provider/provider.types.js +3 -0
- package/src/provider/provider.types.js.map +1 -0
- package/src/provider/provider.utils.d.ts +13 -0
- package/src/provider/provider.utils.js +103 -0
- package/src/provider/provider.utils.js.map +1 -0
- package/src/regsitry/index.d.ts +1 -0
- package/src/regsitry/index.js +5 -0
- package/src/regsitry/index.js.map +1 -0
- package/src/regsitry/registry.base.d.ts +25 -0
- package/src/regsitry/registry.base.js +32 -0
- package/src/regsitry/registry.base.js.map +1 -0
- package/src/resource/resource.registry.d.ts +15 -0
- package/src/resource/resource.registry.js +31 -0
- package/src/resource/resource.registry.js.map +1 -0
- package/src/scope/flows/http.request.flow.d.ts +384 -0
- package/src/scope/flows/http.request.flow.js +210 -0
- package/src/scope/flows/http.request.flow.js.map +1 -0
- package/src/scope/index.d.ts +1 -0
- package/src/scope/index.js +6 -0
- package/src/scope/index.js.map +1 -0
- package/src/scope/scope.instance.d.ts +35 -0
- package/src/scope/scope.instance.js +120 -0
- package/src/scope/scope.instance.js.map +1 -0
- package/src/scope/scope.registry.d.ts +10 -0
- package/src/scope/scope.registry.js +93 -0
- package/src/scope/scope.registry.js.map +1 -0
- package/src/scope/scope.utils.d.ts +13 -0
- package/src/scope/scope.utils.js +59 -0
- package/src/scope/scope.utils.js.map +1 -0
- package/src/server/adapters/base.host.adapter.d.ts +7 -0
- package/src/server/adapters/base.host.adapter.js +8 -0
- package/src/server/adapters/base.host.adapter.js.map +1 -0
- package/src/server/adapters/express.host.adapter.d.ts +12 -0
- package/src/server/adapters/express.host.adapter.js +50 -0
- package/src/server/adapters/express.host.adapter.js.map +1 -0
- package/src/server/server.instance.d.ts +12 -0
- package/src/server/server.instance.js +47 -0
- package/src/server/server.instance.js.map +1 -0
- package/src/server/server.types.d.ts +24 -0
- package/src/server/server.types.js +3 -0
- package/src/server/server.types.js.map +1 -0
- package/src/server/server.validation.d.ts +2 -0
- package/src/server/server.validation.js +192 -0
- package/src/server/server.validation.js.map +1 -0
- package/src/store/adapters/store.base.adapter.d.ts +21 -0
- package/src/store/adapters/store.base.adapter.js +16 -0
- package/src/store/adapters/store.base.adapter.js.map +1 -0
- package/src/store/adapters/store.memory.adapter.d.ts +26 -0
- package/src/store/adapters/store.memory.adapter.js +87 -0
- package/src/store/adapters/store.memory.adapter.js.map +1 -0
- package/src/store/adapters/store.redis.adapter.d.ts +33 -0
- package/src/store/adapters/store.redis.adapter.js +104 -0
- package/src/store/adapters/store.redis.adapter.js.map +1 -0
- package/src/store/index.d.ts +8 -0
- package/src/store/index.js +12 -0
- package/src/store/index.js.map +1 -0
- package/src/store/store.helpers.d.ts +9 -0
- package/src/store/store.helpers.js +67 -0
- package/src/store/store.helpers.js.map +1 -0
- package/src/store/store.registry.d.ts +13 -0
- package/src/store/store.registry.js +37 -0
- package/src/store/store.registry.js.map +1 -0
- package/src/store/store.tokens.d.ts +3 -0
- package/src/store/store.tokens.js +7 -0
- package/src/store/store.tokens.js.map +1 -0
- package/src/store/store.types.d.ts +64 -0
- package/src/store/store.types.js +11 -0
- package/src/store/store.types.js.map +1 -0
- package/src/store/store.utils.d.ts +8 -0
- package/src/store/store.utils.js +18 -0
- package/src/store/store.utils.js.map +1 -0
- package/src/tool/flows/call-tool.flow.d.ts +875 -0
- package/src/tool/flows/call-tool.flow.js +249 -0
- package/src/tool/flows/call-tool.flow.js.map +1 -0
- package/src/tool/flows/tools-list.flow.d.ts +771 -0
- package/src/tool/flows/tools-list.flow.js +149 -0
- package/src/tool/flows/tools-list.flow.js.map +1 -0
- package/src/tool/tool.events.d.ts +17 -0
- package/src/tool/tool.events.js +16 -0
- package/src/tool/tool.events.js.map +1 -0
- package/src/tool/tool.instance.d.ts +15 -0
- package/src/tool/tool.instance.js +68 -0
- package/src/tool/tool.instance.js.map +1 -0
- package/src/tool/tool.registry.d.ts +72 -0
- package/src/tool/tool.registry.js +339 -0
- package/src/tool/tool.registry.js.map +1 -0
- package/src/tool/tool.types.d.ts +25 -0
- package/src/tool/tool.types.js +10 -0
- package/src/tool/tool.types.js.map +1 -0
- package/src/tool/tool.utils.d.ts +20 -0
- package/src/tool/tool.utils.js +157 -0
- package/src/tool/tool.utils.js.map +1 -0
- package/src/transport/adapters/transport.local.adapter.d.ts +41 -0
- package/src/transport/adapters/transport.local.adapter.js +127 -0
- package/src/transport/adapters/transport.local.adapter.js.map +1 -0
- package/src/transport/adapters/transport.sse.adapter.d.ts +14 -0
- package/src/transport/adapters/transport.sse.adapter.js +63 -0
- package/src/transport/adapters/transport.sse.adapter.js.map +1 -0
- package/src/transport/adapters/transport.streamable-http.adapter.d.ts +13 -0
- package/src/transport/adapters/transport.streamable-http.adapter.js +65 -0
- package/src/transport/adapters/transport.streamable-http.adapter.js.map +1 -0
- package/src/transport/flows/handle.sse.flow.d.ts +92 -0
- package/src/transport/flows/handle.sse.flow.js +129 -0
- package/src/transport/flows/handle.sse.flow.js.map +1 -0
- package/src/transport/flows/handle.streamable-http.flow.d.ts +93 -0
- package/src/transport/flows/handle.streamable-http.flow.js +125 -0
- package/src/transport/flows/handle.streamable-http.flow.js.map +1 -0
- package/src/transport/legacy/legacy.sse.tranporter.d.ts +75 -0
- package/src/transport/legacy/legacy.sse.tranporter.js +170 -0
- package/src/transport/legacy/legacy.sse.tranporter.js.map +1 -0
- package/src/transport/mcp-handlers/Initialized-notification.hanlder.d.ts +3 -0
- package/src/transport/mcp-handlers/Initialized-notification.hanlder.js +14 -0
- package/src/transport/mcp-handlers/Initialized-notification.hanlder.js.map +1 -0
- package/src/transport/mcp-handlers/call-tool-request.handler.d.ts +3 -0
- package/src/transport/mcp-handlers/call-tool-request.handler.js +15 -0
- package/src/transport/mcp-handlers/call-tool-request.handler.js.map +1 -0
- package/src/transport/mcp-handlers/index.d.ts +521 -0
- package/src/transport/mcp-handlers/index.js +20 -0
- package/src/transport/mcp-handlers/index.js.map +1 -0
- package/src/transport/mcp-handlers/initialize-request.handler.d.ts +3 -0
- package/src/transport/mcp-handlers/initialize-request.handler.js +33 -0
- package/src/transport/mcp-handlers/initialize-request.handler.js.map +1 -0
- package/src/transport/mcp-handlers/list-tools-request.handler.d.ts +285 -0
- package/src/transport/mcp-handlers/list-tools-request.handler.js +11 -0
- package/src/transport/mcp-handlers/list-tools-request.handler.js.map +1 -0
- package/src/transport/mcp-handlers/mcp-handlers.types.d.ts +37 -0
- package/src/transport/mcp-handlers/mcp-handlers.types.js +3 -0
- package/src/transport/mcp-handlers/mcp-handlers.types.js.map +1 -0
- package/src/transport/transport.error.d.ts +4 -0
- package/src/transport/transport.error.js +25 -0
- package/src/transport/transport.error.js.map +1 -0
- package/src/transport/transport.event-store.d.ts +10 -0
- package/src/transport/transport.event-store.js +36 -0
- package/src/transport/transport.event-store.js.map +1 -0
- package/src/transport/transport.local.d.ts +17 -0
- package/src/transport/transport.local.js +65 -0
- package/src/transport/transport.local.js.map +1 -0
- package/src/transport/transport.registry.d.ts +23 -0
- package/src/transport/transport.registry.js +138 -0
- package/src/transport/transport.registry.js.map +1 -0
- package/src/transport/transport.remote.d.ts +15 -0
- package/src/transport/transport.remote.js +31 -0
- package/src/transport/transport.remote.js.map +1 -0
- package/src/transport/transport.types.d.ts +54 -0
- package/src/transport/transport.types.js +3 -0
- package/src/transport/transport.types.js.map +1 -0
- package/src/types/drinen-hooks.types.d.ts +20 -0
- package/src/types/drinen-hooks.types.js +3 -0
- package/src/types/drinen-hooks.types.js.map +1 -0
- package/src/types/invoke.type.d.ts +15 -0
- package/src/types/invoke.type.js +34 -0
- package/src/types/invoke.type.js.map +1 -0
- package/src/types/token.types.d.ts +1 -0
- package/src/types/token.types.js +3 -0
- package/src/types/token.types.js.map +1 -0
- package/src/utils/metadata.utils.d.ts +5 -0
- package/src/utils/metadata.utils.js +26 -0
- package/src/utils/metadata.utils.js.map +1 -0
- package/src/utils/server.utils.d.ts +19 -0
- package/src/utils/server.utils.js +59 -0
- package/src/utils/server.utils.js.map +1 -0
- package/src/utils/string.utils.d.ts +1 -0
- package/src/utils/string.utils.js +10 -0
- package/src/utils/string.utils.js.map +1 -0
- package/src/utils/token.utils.d.ts +11 -0
- package/src/utils/token.utils.js +65 -0
- package/src/utils/token.utils.js.map +1 -0
- package/src/utils/types.utils.d.ts +7 -0
- package/src/utils/types.utils.js +3 -0
- package/src/utils/types.utils.js.map +1 -0
- package/src/constants.d.ts +0 -30
- package/src/constants.js +0 -36
- package/src/constants.js.map +0 -1
- package/src/decorators/adapter.decorator.js.map +0 -1
- package/src/decorators/app.decorator.js.map +0 -1
- package/src/decorators/auth-provider.decorator.js.map +0 -1
- package/src/decorators/flow.decorator.js.map +0 -1
- package/src/decorators/front-mcp.decorator.js +0 -40
- package/src/decorators/front-mcp.decorator.js.map +0 -1
- package/src/decorators/hook.decorator.js.map +0 -1
- package/src/decorators/index.js.map +0 -1
- package/src/decorators/logger.decorator.js.map +0 -1
- package/src/decorators/plugin.decorator.js.map +0 -1
- package/src/decorators/prompt.decorator.js.map +0 -1
- package/src/decorators/provider.decorator.js.map +0 -1
- package/src/decorators/resource.decorator.js.map +0 -1
- package/src/decorators/tool.decorator.d.ts +0 -42
- package/src/decorators/tool.decorator.js +0 -45
- package/src/decorators/tool.decorator.js.map +0 -1
- package/src/decorators-old/async-with.decorator.d.ts +0 -9
- package/src/decorators-old/async-with.decorator.js +0 -23
- package/src/decorators-old/async-with.decorator.js.map +0 -1
- package/src/decorators-old/auth-hook.decorator.js.map +0 -1
- package/src/decorators-old/session-hook.decorator.js.map +0 -1
- package/src/decorators-old/tool-hook.decorator.d.ts +0 -14
- package/src/decorators-old/tool-hook.decorator.js +0 -27
- package/src/decorators-old/tool-hook.decorator.js.map +0 -1
- package/src/dynamic/dynamic.adapter.js.map +0 -1
- package/src/dynamic/dynamic.plugin.js.map +0 -1
- package/src/dynamic/dynamic.utils.d.ts +0 -3
- package/src/dynamic/dynamic.utils.js.map +0 -1
- package/src/dynamic/index.js.map +0 -1
- package/src/entries/adapter.entry.js.map +0 -1
- package/src/entries/app.entry.d.ts +0 -13
- package/src/entries/app.entry.js.map +0 -1
- package/src/entries/auth-provider.entry.js.map +0 -1
- package/src/entries/base.entry.js.map +0 -1
- package/src/entries/flow.entry.js.map +0 -1
- package/src/entries/hook.entry.js.map +0 -1
- package/src/entries/index.js.map +0 -1
- package/src/entries/logger.entry.js.map +0 -1
- package/src/entries/plugin.entry.js.map +0 -1
- package/src/entries/prompt.entry.js.map +0 -1
- package/src/entries/provider.entry.js.map +0 -1
- package/src/entries/resource.entry.js.map +0 -1
- package/src/entries/scope.entry.js.map +0 -1
- package/src/entries/tool.entry.js.map +0 -1
- package/src/interfaces/adapter.interface.js.map +0 -1
- package/src/interfaces/app.interface.js.map +0 -1
- package/src/interfaces/auth-hook.interface.js.map +0 -1
- package/src/interfaces/auth-provider.interface.js.map +0 -1
- package/src/interfaces/base.interface.js.map +0 -1
- package/src/interfaces/flow.interface.d.ts +0 -41
- package/src/interfaces/flow.interface.js.map +0 -1
- package/src/interfaces/front-mcp.interface.js.map +0 -1
- package/src/interfaces/hook.interface.js.map +0 -1
- package/src/interfaces/index.js.map +0 -1
- package/src/interfaces/internal/flow.utils.d.ts +0 -24
- package/src/interfaces/internal/flow.utils.js.map +0 -1
- package/src/interfaces/internal/index.js.map +0 -1
- package/src/interfaces/internal/primary-auth-provider.interface.d.ts +0 -24
- package/src/interfaces/internal/primary-auth-provider.interface.js.map +0 -1
- package/src/interfaces/internal/registry.interface.d.ts +0 -97
- package/src/interfaces/internal/registry.interface.js.map +0 -1
- package/src/interfaces/logger.interface.js.map +0 -1
- package/src/interfaces/plugin.interface.js.map +0 -1
- package/src/interfaces/prompt.interface.js.map +0 -1
- package/src/interfaces/provider.interface.js.map +0 -1
- package/src/interfaces/resource.interface.js.map +0 -1
- package/src/interfaces/scope.interface.js.map +0 -1
- package/src/interfaces/server.interface.js.map +0 -1
- package/src/interfaces/session-hook.interface.js.map +0 -1
- package/src/interfaces/tool-hook.interface.js.map +0 -1
- package/src/interfaces/tool.interface.js.map +0 -1
- package/src/metadata/adapter.metadata.js.map +0 -1
- package/src/metadata/app.metadata.d.ts +0 -872
- package/src/metadata/app.metadata.js.map +0 -1
- package/src/metadata/auth-provider.metadata.js.map +0 -1
- package/src/metadata/flow.metadata.d.ts +0 -77
- package/src/metadata/flow.metadata.js.map +0 -1
- package/src/metadata/front-mcp.metadata.d.ts +0 -1144
- package/src/metadata/front-mcp.metadata.js.map +0 -1
- package/src/metadata/hook.metadata.js.map +0 -1
- package/src/metadata/index.js.map +0 -1
- package/src/metadata/logger.metadata.js.map +0 -1
- package/src/metadata/plugin.metadata.js.map +0 -1
- package/src/metadata/prompt.metadata.js.map +0 -1
- package/src/metadata/provider.metadata.js.map +0 -1
- package/src/metadata/resource.metadata.js.map +0 -1
- package/src/metadata/tool.metadata.d.ts +0 -178
- package/src/metadata/tool.metadata.js.map +0 -1
- package/src/providers/session.provider.js.map +0 -1
- package/src/records/adapter.record.js.map +0 -1
- package/src/records/app.record.js.map +0 -1
- package/src/records/auth-provider.record.js.map +0 -1
- package/src/records/flow.record.js.map +0 -1
- package/src/records/hook.record.js.map +0 -1
- package/src/records/index.js.map +0 -1
- package/src/records/logger.record.d.ts +0 -11
- package/src/records/logger.record.js.map +0 -1
- package/src/records/plugin.record.js.map +0 -1
- package/src/records/prompt.record.js.map +0 -1
- package/src/records/provider.record.js.map +0 -1
- package/src/records/resource.record.js.map +0 -1
- package/src/records/scope.record.js.map +0 -1
- package/src/records/tool.record.js.map +0 -1
- package/src/schemas/annotated-class.schema.js.map +0 -1
- package/src/schemas/http-input.schema.js.map +0 -1
- package/src/schemas/http-output.schema.d.ts +0 -2011
- package/src/schemas/http-output.schema.js.map +0 -1
- package/src/schemas/index.js.map +0 -1
- package/src/tokens/adapter.tokens.js.map +0 -1
- package/src/tokens/app.tokens.js.map +0 -1
- package/src/tokens/auth-provider.tokens.js.map +0 -1
- package/src/tokens/base.tokens.js.map +0 -1
- package/src/tokens/flow-hook.tokens.js.map +0 -1
- package/src/tokens/flow.tokens.js.map +0 -1
- package/src/tokens/front-mcp.tokens.js.map +0 -1
- package/src/tokens/index.js.map +0 -1
- package/src/tokens/logger.tokens.js.map +0 -1
- package/src/tokens/plugin.tokens.js.map +0 -1
- package/src/tokens/prompt.tokens.js.map +0 -1
- package/src/tokens/provider.tokens.js.map +0 -1
- package/src/tokens/resource.tokens.js.map +0 -1
- package/src/tokens/server.tokens.js.map +0 -1
- package/src/tokens/tool.tokens.js.map +0 -1
- package/src/types/auth/index.js.map +0 -1
- package/src/types/auth/jwt.types.js.map +0 -1
- package/src/types/auth/session.types.d.ts +0 -263
- package/src/types/auth/session.types.js.map +0 -1
- package/src/types/common.types.js.map +0 -1
- package/src/types/index.js.map +0 -1
- package/src/types/options/auth.options.d.ts +0 -513
- package/src/types/options/auth.options.js.map +0 -1
- package/src/types/options/http.options.js.map +0 -1
- package/src/types/options/index.js.map +0 -1
- package/src/types/options/logging.options.d.ts +0 -39
- package/src/types/options/logging.options.js.map +0 -1
- package/src/types/options/server-info.options.d.ts +0 -48
- package/src/types/options/server-info.options.js.map +0 -1
- package/src/types/options/session.options.d.ts +0 -67
- package/src/types/options/session.options.js.map +0 -1
- package/src/utils/decide-request-intent.utils.d.ts +0 -79
- package/src/utils/decide-request-intent.utils.js.map +0 -1
- package/src/utils/index.js.map +0 -1
- package/src/utils/path.utils.d.ts +0 -20
- package/src/utils/path.utils.js.map +0 -1
- /package/src/{decorators → common/decorators}/adapter.decorator.d.ts +0 -0
- /package/src/{decorators → common/decorators}/adapter.decorator.js +0 -0
- /package/src/{decorators → common/decorators}/app.decorator.d.ts +0 -0
- /package/src/{decorators → common/decorators}/app.decorator.js +0 -0
- /package/src/{decorators → common/decorators}/auth-provider.decorator.d.ts +0 -0
- /package/src/{decorators → common/decorators}/auth-provider.decorator.js +0 -0
- /package/src/{decorators → common/decorators}/flow.decorator.d.ts +0 -0
- /package/src/{decorators → common/decorators}/flow.decorator.js +0 -0
- /package/src/{decorators → common/decorators}/front-mcp.decorator.d.ts +0 -0
- /package/src/{decorators → common/decorators}/hook.decorator.d.ts +0 -0
- /package/src/{decorators → common/decorators}/hook.decorator.js +0 -0
- /package/src/{decorators → common/decorators}/index.d.ts +0 -0
- /package/src/{decorators → common/decorators}/index.js +0 -0
- /package/src/{decorators → common/decorators}/logger.decorator.d.ts +0 -0
- /package/src/{decorators → common/decorators}/logger.decorator.js +0 -0
- /package/src/{decorators → common/decorators}/plugin.decorator.d.ts +0 -0
- /package/src/{decorators → common/decorators}/plugin.decorator.js +0 -0
- /package/src/{decorators → common/decorators}/prompt.decorator.d.ts +0 -0
- /package/src/{decorators → common/decorators}/prompt.decorator.js +0 -0
- /package/src/{decorators → common/decorators}/provider.decorator.d.ts +0 -0
- /package/src/{decorators → common/decorators}/provider.decorator.js +0 -0
- /package/src/{decorators → common/decorators}/resource.decorator.d.ts +0 -0
- /package/src/{decorators → common/decorators}/resource.decorator.js +0 -0
- /package/src/{decorators-old → common/decorators-old}/auth-hook.decorator.d.ts +0 -0
- /package/src/{decorators-old → common/decorators-old}/auth-hook.decorator.js +0 -0
- /package/src/{decorators-old → common/decorators-old}/session-hook.decorator.d.ts +0 -0
- /package/src/{decorators-old → common/decorators-old}/session-hook.decorator.js +0 -0
- /package/src/{dynamic → common/dynamic}/dynamic.adapter.d.ts +0 -0
- /package/src/{dynamic → common/dynamic}/dynamic.adapter.js +0 -0
- /package/src/{dynamic → common/dynamic}/dynamic.plugin.d.ts +0 -0
- /package/src/{dynamic → common/dynamic}/dynamic.plugin.js +0 -0
- /package/src/{dynamic → common/dynamic}/dynamic.utils.js +0 -0
- /package/src/{dynamic → common/dynamic}/index.d.ts +0 -0
- /package/src/{dynamic → common/dynamic}/index.js +0 -0
- /package/src/{entries → common/entries}/adapter.entry.d.ts +0 -0
- /package/src/{entries → common/entries}/adapter.entry.js +0 -0
- /package/src/{entries → common/entries}/app.entry.js +0 -0
- /package/src/{entries → common/entries}/auth-provider.entry.d.ts +0 -0
- /package/src/{entries → common/entries}/auth-provider.entry.js +0 -0
- /package/src/{entries → common/entries}/base.entry.d.ts +0 -0
- /package/src/{entries → common/entries}/base.entry.js +0 -0
- /package/src/{entries → common/entries}/flow.entry.d.ts +0 -0
- /package/src/{entries → common/entries}/flow.entry.js +0 -0
- /package/src/{entries → common/entries}/hook.entry.d.ts +0 -0
- /package/src/{entries → common/entries}/hook.entry.js +0 -0
- /package/src/{entries → common/entries}/index.d.ts +0 -0
- /package/src/{entries → common/entries}/index.js +0 -0
- /package/src/{entries → common/entries}/logger.entry.d.ts +0 -0
- /package/src/{entries → common/entries}/logger.entry.js +0 -0
- /package/src/{entries → common/entries}/plugin.entry.d.ts +0 -0
- /package/src/{entries → common/entries}/plugin.entry.js +0 -0
- /package/src/{entries → common/entries}/prompt.entry.d.ts +0 -0
- /package/src/{entries → common/entries}/prompt.entry.js +0 -0
- /package/src/{entries → common/entries}/provider.entry.d.ts +0 -0
- /package/src/{entries → common/entries}/provider.entry.js +0 -0
- /package/src/{entries → common/entries}/resource.entry.d.ts +0 -0
- /package/src/{entries → common/entries}/resource.entry.js +0 -0
- /package/src/{entries → common/entries}/scope.entry.d.ts +0 -0
- /package/src/{entries → common/entries}/scope.entry.js +0 -0
- /package/src/{entries → common/entries}/tool.entry.d.ts +0 -0
- /package/src/{entries → common/entries}/tool.entry.js +0 -0
- /package/src/{interfaces → common/interfaces}/adapter.interface.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/adapter.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/app.interface.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/app.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/auth-hook.interface.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/auth-hook.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/auth-provider.interface.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/auth-provider.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/base.interface.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/base.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/flow.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/front-mcp.interface.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/front-mcp.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/hook.interface.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/hook.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/index.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/index.js +0 -0
- /package/src/{interfaces → common/interfaces}/internal/flow.utils.js +0 -0
- /package/src/{interfaces → common/interfaces}/internal/index.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/internal/index.js +0 -0
- /package/src/{interfaces → common/interfaces}/internal/primary-auth-provider.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/internal/registry.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/logger.interface.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/logger.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/plugin.interface.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/plugin.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/prompt.interface.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/prompt.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/provider.interface.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/provider.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/resource.interface.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/resource.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/scope.interface.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/scope.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/server.interface.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/server.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/session-hook.interface.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/session-hook.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/tool-hook.interface.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/tool-hook.interface.js +0 -0
- /package/src/{interfaces → common/interfaces}/tool.interface.d.ts +0 -0
- /package/src/{interfaces → common/interfaces}/tool.interface.js +0 -0
- /package/src/{metadata → common/metadata}/adapter.metadata.d.ts +0 -0
- /package/src/{metadata → common/metadata}/adapter.metadata.js +0 -0
- /package/src/{metadata → common/metadata}/app.metadata.js +0 -0
- /package/src/{metadata → common/metadata}/auth-provider.metadata.d.ts +0 -0
- /package/src/{metadata → common/metadata}/auth-provider.metadata.js +0 -0
- /package/src/{metadata → common/metadata}/flow.metadata.js +0 -0
- /package/src/{metadata → common/metadata}/front-mcp.metadata.js +0 -0
- /package/src/{metadata → common/metadata}/hook.metadata.d.ts +0 -0
- /package/src/{metadata → common/metadata}/hook.metadata.js +0 -0
- /package/src/{metadata → common/metadata}/index.d.ts +0 -0
- /package/src/{metadata → common/metadata}/index.js +0 -0
- /package/src/{metadata → common/metadata}/logger.metadata.d.ts +0 -0
- /package/src/{metadata → common/metadata}/logger.metadata.js +0 -0
- /package/src/{metadata → common/metadata}/plugin.metadata.d.ts +0 -0
- /package/src/{metadata → common/metadata}/plugin.metadata.js +0 -0
- /package/src/{metadata → common/metadata}/prompt.metadata.d.ts +0 -0
- /package/src/{metadata → common/metadata}/prompt.metadata.js +0 -0
- /package/src/{metadata → common/metadata}/provider.metadata.d.ts +0 -0
- /package/src/{metadata → common/metadata}/provider.metadata.js +0 -0
- /package/src/{metadata → common/metadata}/resource.metadata.d.ts +0 -0
- /package/src/{metadata → common/metadata}/resource.metadata.js +0 -0
- /package/src/{metadata → common/metadata}/tool.metadata.js +0 -0
- /package/src/{providers → common/providers}/session.provider.d.ts +0 -0
- /package/src/{providers → common/providers}/session.provider.js +0 -0
- /package/src/{records → common/records}/adapter.record.d.ts +0 -0
- /package/src/{records → common/records}/adapter.record.js +0 -0
- /package/src/{records → common/records}/app.record.d.ts +0 -0
- /package/src/{records → common/records}/app.record.js +0 -0
- /package/src/{records → common/records}/auth-provider.record.d.ts +0 -0
- /package/src/{records → common/records}/auth-provider.record.js +0 -0
- /package/src/{records → common/records}/flow.record.d.ts +0 -0
- /package/src/{records → common/records}/flow.record.js +0 -0
- /package/src/{records → common/records}/hook.record.d.ts +0 -0
- /package/src/{records → common/records}/hook.record.js +0 -0
- /package/src/{records → common/records}/index.d.ts +0 -0
- /package/src/{records → common/records}/index.js +0 -0
- /package/src/{records → common/records}/logger.record.js +0 -0
- /package/src/{records → common/records}/plugin.record.d.ts +0 -0
- /package/src/{records → common/records}/plugin.record.js +0 -0
- /package/src/{records → common/records}/prompt.record.d.ts +0 -0
- /package/src/{records → common/records}/prompt.record.js +0 -0
- /package/src/{records → common/records}/provider.record.d.ts +0 -0
- /package/src/{records → common/records}/provider.record.js +0 -0
- /package/src/{records → common/records}/resource.record.d.ts +0 -0
- /package/src/{records → common/records}/resource.record.js +0 -0
- /package/src/{records → common/records}/scope.record.d.ts +0 -0
- /package/src/{records → common/records}/scope.record.js +0 -0
- /package/src/{records → common/records}/tool.record.d.ts +0 -0
- /package/src/{records → common/records}/tool.record.js +0 -0
- /package/src/{schemas → common/schemas}/annotated-class.schema.d.ts +0 -0
- /package/src/{schemas → common/schemas}/annotated-class.schema.js +0 -0
- /package/src/{schemas → common/schemas}/http-input.schema.d.ts +0 -0
- /package/src/{schemas → common/schemas}/http-input.schema.js +0 -0
- /package/src/{schemas → common/schemas}/http-output.schema.js +0 -0
- /package/src/{schemas → common/schemas}/index.d.ts +0 -0
- /package/src/{schemas → common/schemas}/index.js +0 -0
- /package/src/{tokens → common/tokens}/adapter.tokens.d.ts +0 -0
- /package/src/{tokens → common/tokens}/adapter.tokens.js +0 -0
- /package/src/{tokens → common/tokens}/app.tokens.d.ts +0 -0
- /package/src/{tokens → common/tokens}/app.tokens.js +0 -0
- /package/src/{tokens → common/tokens}/auth-provider.tokens.d.ts +0 -0
- /package/src/{tokens → common/tokens}/auth-provider.tokens.js +0 -0
- /package/src/{tokens → common/tokens}/base.tokens.d.ts +0 -0
- /package/src/{tokens → common/tokens}/base.tokens.js +0 -0
- /package/src/{tokens → common/tokens}/flow-hook.tokens.d.ts +0 -0
- /package/src/{tokens → common/tokens}/flow-hook.tokens.js +0 -0
- /package/src/{tokens → common/tokens}/flow.tokens.d.ts +0 -0
- /package/src/{tokens → common/tokens}/flow.tokens.js +0 -0
- /package/src/{tokens → common/tokens}/front-mcp.tokens.d.ts +0 -0
- /package/src/{tokens → common/tokens}/front-mcp.tokens.js +0 -0
- /package/src/{tokens → common/tokens}/index.d.ts +0 -0
- /package/src/{tokens → common/tokens}/index.js +0 -0
- /package/src/{tokens → common/tokens}/logger.tokens.d.ts +0 -0
- /package/src/{tokens → common/tokens}/logger.tokens.js +0 -0
- /package/src/{tokens → common/tokens}/plugin.tokens.d.ts +0 -0
- /package/src/{tokens → common/tokens}/plugin.tokens.js +0 -0
- /package/src/{tokens → common/tokens}/prompt.tokens.d.ts +0 -0
- /package/src/{tokens → common/tokens}/prompt.tokens.js +0 -0
- /package/src/{tokens → common/tokens}/provider.tokens.d.ts +0 -0
- /package/src/{tokens → common/tokens}/provider.tokens.js +0 -0
- /package/src/{tokens → common/tokens}/resource.tokens.d.ts +0 -0
- /package/src/{tokens → common/tokens}/resource.tokens.js +0 -0
- /package/src/{tokens → common/tokens}/server.tokens.d.ts +0 -0
- /package/src/{tokens → common/tokens}/server.tokens.js +0 -0
- /package/src/{tokens → common/tokens}/tool.tokens.d.ts +0 -0
- /package/src/{tokens → common/tokens}/tool.tokens.js +0 -0
- /package/src/{types → common/types}/auth/index.d.ts +0 -0
- /package/src/{types → common/types}/auth/index.js +0 -0
- /package/src/{types → common/types}/auth/jwt.types.d.ts +0 -0
- /package/src/{types → common/types}/auth/jwt.types.js +0 -0
- /package/src/{types → common/types}/auth/session.types.js +0 -0
- /package/src/{types → common/types}/common.types.d.ts +0 -0
- /package/src/{types → common/types}/common.types.js +0 -0
- /package/src/{types → common/types}/index.d.ts +0 -0
- /package/src/{types → common/types}/index.js +0 -0
- /package/src/{types → common/types}/options/auth.options.js +0 -0
- /package/src/{types → common/types}/options/http.options.d.ts +0 -0
- /package/src/{types → common/types}/options/http.options.js +0 -0
- /package/src/{types → common/types}/options/index.d.ts +0 -0
- /package/src/{types → common/types}/options/index.js +0 -0
- /package/src/{types → common/types}/options/logging.options.js +0 -0
- /package/src/{types → common/types}/options/server-info.options.js +0 -0
- /package/src/{types → common/types}/options/session.options.js +0 -0
- /package/src/{utils → common/utils}/decide-request-intent.utils.js +0 -0
- /package/src/{utils → common/utils}/index.d.ts +0 -0
- /package/src/{utils → common/utils}/index.js +0 -0
- /package/src/{utils → common/utils}/path.utils.js +0 -0
package/src/index.d.ts
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export * from
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
export
|
|
17
|
-
|
|
18
|
-
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
export { FrontMcpInstance } from './front-mcp';
|
|
3
|
+
export * from "./common";
|
|
4
|
+
export declare const ToolHook: {
|
|
5
|
+
Stage: (stage: "execute" | "finalize" | "parseInput" | "findTool" | "createToolCallContext" | "acquireQuota" | "acquireSemaphore" | "validateInput" | "validateOutput" | "releaseSemaphore" | "releaseQuota", opts?: import("./common").HookOptions<import("./tool/flows/call-tool.flow").default>) => MethodDecorator;
|
|
6
|
+
Will: (stage: "execute" | "finalize" | "parseInput" | "findTool" | "createToolCallContext" | "acquireQuota" | "acquireSemaphore" | "validateInput" | "validateOutput" | "releaseSemaphore" | "releaseQuota", opts?: import("./common").HookOptions<import("./tool/flows/call-tool.flow").default>) => MethodDecorator;
|
|
7
|
+
Did: (stage: "execute" | "finalize" | "parseInput" | "findTool" | "createToolCallContext" | "acquireQuota" | "acquireSemaphore" | "validateInput" | "validateOutput" | "releaseSemaphore" | "releaseQuota", opts?: import("./common").HookOptions<import("./tool/flows/call-tool.flow").default>) => MethodDecorator;
|
|
8
|
+
Around: (stage: "execute" | "finalize" | "parseInput" | "findTool" | "createToolCallContext" | "acquireQuota" | "acquireSemaphore" | "validateInput" | "validateOutput" | "releaseSemaphore" | "releaseQuota", opts?: import("./common").HookOptions<import("./tool/flows/call-tool.flow").default>) => MethodDecorator;
|
|
9
|
+
};
|
|
10
|
+
export declare const ListToolsHook: {
|
|
11
|
+
Stage: (stage: "parseInput" | "findTools" | "resolveConflicts" | "parseTools", opts?: import("./common").HookOptions<import("./tool/flows/tools-list.flow").default>) => MethodDecorator;
|
|
12
|
+
Will: (stage: "parseInput" | "findTools" | "resolveConflicts" | "parseTools", opts?: import("./common").HookOptions<import("./tool/flows/tools-list.flow").default>) => MethodDecorator;
|
|
13
|
+
Did: (stage: "parseInput" | "findTools" | "resolveConflicts" | "parseTools", opts?: import("./common").HookOptions<import("./tool/flows/tools-list.flow").default>) => MethodDecorator;
|
|
14
|
+
Around: (stage: "parseInput" | "findTools" | "resolveConflicts" | "parseTools", opts?: import("./common").HookOptions<import("./tool/flows/tools-list.flow").default>) => MethodDecorator;
|
|
15
|
+
};
|
|
16
|
+
export declare const HttpHook: {
|
|
17
|
+
Stage: (stage: "error" | "finalize" | "acquireQuota" | "acquireSemaphore" | "releaseSemaphore" | "releaseQuota" | "checkAuthorization" | "router" | "handleLegacySse" | "handleSse" | "handleStreamableHttp" | "handleStatefulHttp" | "handleStatelessHttp" | "audit" | "metrics", opts?: import("./common").HookOptions<import("./scope/flows/http.request.flow").default>) => MethodDecorator;
|
|
18
|
+
Will: (stage: "error" | "finalize" | "acquireQuota" | "acquireSemaphore" | "releaseSemaphore" | "releaseQuota" | "checkAuthorization" | "router" | "handleLegacySse" | "handleSse" | "handleStreamableHttp" | "handleStatefulHttp" | "handleStatelessHttp" | "audit" | "metrics", opts?: import("./common").HookOptions<import("./scope/flows/http.request.flow").default>) => MethodDecorator;
|
|
19
|
+
Did: (stage: "error" | "finalize" | "acquireQuota" | "acquireSemaphore" | "releaseSemaphore" | "releaseQuota" | "checkAuthorization" | "router" | "handleLegacySse" | "handleSse" | "handleStreamableHttp" | "handleStatefulHttp" | "handleStatelessHttp" | "audit" | "metrics", opts?: import("./common").HookOptions<import("./scope/flows/http.request.flow").default>) => MethodDecorator;
|
|
20
|
+
Around: (stage: "error" | "finalize" | "acquireQuota" | "acquireSemaphore" | "releaseSemaphore" | "releaseQuota" | "checkAuthorization" | "router" | "handleLegacySse" | "handleSse" | "handleStreamableHttp" | "handleStatefulHttp" | "handleStatelessHttp" | "audit" | "metrics", opts?: import("./common").HookOptions<import("./scope/flows/http.request.flow").default>) => MethodDecorator;
|
|
21
|
+
};
|
package/src/index.js
CHANGED
|
@@ -1,22 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HttpHook = exports.ListToolsHook = exports.ToolHook = exports.FrontMcpInstance = void 0;
|
|
3
4
|
const tslib_1 = require("tslib");
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
tslib_1.__exportStar(require("./
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
tslib_1.__exportStar(require("./entries"), exports);
|
|
13
|
-
tslib_1.__exportStar(require("./utils"), exports);
|
|
14
|
-
tslib_1.__exportStar(require("./schemas"), exports);
|
|
15
|
-
tslib_1.__exportStar(require("./decorators-old/async-with.decorator"), exports);
|
|
16
|
-
tslib_1.__exportStar(require("./decorators-old/tool-hook.decorator"), exports);
|
|
17
|
-
tslib_1.__exportStar(require("./decorators-old/session-hook.decorator"), exports);
|
|
18
|
-
tslib_1.__exportStar(require("./interfaces/tool-hook.interface"), exports);
|
|
19
|
-
tslib_1.__exportStar(require("./interfaces/session-hook.interface"), exports);
|
|
20
|
-
tslib_1.__exportStar(require("./interfaces/auth-hook.interface"), exports);
|
|
21
|
-
tslib_1.__exportStar(require("./providers/session.provider"), exports);
|
|
5
|
+
require("reflect-metadata");
|
|
6
|
+
const common_1 = require("./common");
|
|
7
|
+
var front_mcp_1 = require("./front-mcp");
|
|
8
|
+
Object.defineProperty(exports, "FrontMcpInstance", { enumerable: true, get: function () { return front_mcp_1.FrontMcpInstance; } });
|
|
9
|
+
tslib_1.__exportStar(require("./common"), exports);
|
|
10
|
+
exports.ToolHook = (0, common_1.FlowHooksOf)('tools:call-tool');
|
|
11
|
+
exports.ListToolsHook = (0, common_1.FlowHooksOf)('tools:list-tools');
|
|
12
|
+
exports.HttpHook = (0, common_1.FlowHooksOf)('http:request');
|
|
22
13
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,4BAA0B;AAC1B,qCAAqC;AAErC,yCAA6C;AAArC,6GAAA,gBAAgB,OAAA;AACxB,mDAAyB;AAGZ,QAAA,QAAQ,GAAG,IAAA,oBAAW,EAAC,iBAAiB,CAAC,CAAA;AACzC,QAAA,aAAa,GAAG,IAAA,oBAAW,EAAC,kBAAkB,CAAC,CAAA;AAC/C,QAAA,QAAQ,GAAG,IAAA,oBAAW,EAAC,cAAc,CAAC,CAAA","sourcesContent":["import 'reflect-metadata';\nimport {FlowHooksOf} from \"./common\";\n\nexport {FrontMcpInstance} from './front-mcp';\nexport * from \"./common\";\n\n\nexport const ToolHook = FlowHooksOf('tools:call-tool')\nexport const ListToolsHook = FlowHooksOf('tools:list-tools')\nexport const HttpHook = FlowHooksOf('http:request')\n\n\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { LogTransportInterface, LogRecord, LogLevel, LogFn } from '../../common';
|
|
2
|
+
export declare class ConsoleLogTransportInstance extends LogTransportInterface {
|
|
3
|
+
log(rec: LogRecord): void;
|
|
4
|
+
private levelTags;
|
|
5
|
+
/** Returns a *bound native console function* with the prefix (ANSI only) */
|
|
6
|
+
bind(level: LogLevel, loggerPrefix?: string): LogFn;
|
|
7
|
+
private pickMethod;
|
|
8
|
+
private supportsAnsi;
|
|
9
|
+
private friendlyTime;
|
|
10
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConsoleLogTransportInstance = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("../../common");
|
|
6
|
+
let ConsoleLogTransportInstance = class ConsoleLogTransportInstance extends common_1.LogTransportInterface {
|
|
7
|
+
log(rec) {
|
|
8
|
+
const fn = this.bind(rec.level, rec.prefix);
|
|
9
|
+
fn(String(rec.message), ...rec.args);
|
|
10
|
+
}
|
|
11
|
+
levelTags = {
|
|
12
|
+
[common_1.LogLevel.Off]: { label: '', ansi: '' },
|
|
13
|
+
[common_1.LogLevel.Debug]: { label: 'DEBUG', ansi: '\x1b[34m' }, // gray
|
|
14
|
+
[common_1.LogLevel.VERBOSE]: { label: 'VERBOSE', ansi: '\x1b[90m' }, // blue
|
|
15
|
+
[common_1.LogLevel.Info]: { label: 'INFO', ansi: '\x1b[32m' }, // green
|
|
16
|
+
[common_1.LogLevel.Warn]: { label: 'WARN', ansi: '\x1b[33m' }, // yellow
|
|
17
|
+
[common_1.LogLevel.Error]: { label: 'ERROR', ansi: '\x1b[31m' }, // red
|
|
18
|
+
};
|
|
19
|
+
/** Returns a *bound native console function* with the prefix (ANSI only) */
|
|
20
|
+
bind(level, loggerPrefix) {
|
|
21
|
+
const method = this.pickMethod(level);
|
|
22
|
+
const meta = this.levelTags[level] ?? this.levelTags[common_1.LogLevel.Info];
|
|
23
|
+
const ts = this.friendlyTime(new Date());
|
|
24
|
+
const RESET = '\x1b[0m';
|
|
25
|
+
const BOLD = '\x1b[1m';
|
|
26
|
+
const DIM = '\x1b[2m';
|
|
27
|
+
const GRAY = '\x1b[90m';
|
|
28
|
+
const useAnsi = this.supportsAnsi();
|
|
29
|
+
const timePart = useAnsi ? `${DIM}[${ts}]${RESET}` : `[${ts}]`;
|
|
30
|
+
const scopePart = loggerPrefix
|
|
31
|
+
? (useAnsi ? `${BOLD}[${loggerPrefix}]${RESET}` : `[${loggerPrefix}]`)
|
|
32
|
+
: undefined;
|
|
33
|
+
const levelPart = useAnsi ? `${BOLD}${meta.ansi}${meta.label}${RESET}` : meta.label;
|
|
34
|
+
const fmt = [timePart, scopePart, levelPart, '%s'].filter(Boolean).join(' ');
|
|
35
|
+
return method.bind(console, fmt);
|
|
36
|
+
}
|
|
37
|
+
pickMethod(level) {
|
|
38
|
+
switch (level) {
|
|
39
|
+
case common_1.LogLevel.Debug:
|
|
40
|
+
return console.debug.bind(console);
|
|
41
|
+
case common_1.LogLevel.VERBOSE:
|
|
42
|
+
return console.info.bind(console);
|
|
43
|
+
case common_1.LogLevel.Info:
|
|
44
|
+
return console.info.bind(console);
|
|
45
|
+
case common_1.LogLevel.Warn:
|
|
46
|
+
return console.warn.bind(console);
|
|
47
|
+
case common_1.LogLevel.Error:
|
|
48
|
+
return console.error.bind(console);
|
|
49
|
+
default:
|
|
50
|
+
return console.log.bind(console);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
supportsAnsi() {
|
|
54
|
+
if (typeof process === 'undefined')
|
|
55
|
+
return false;
|
|
56
|
+
const env = process.env || {};
|
|
57
|
+
if (env['NO_COLOR'])
|
|
58
|
+
return false;
|
|
59
|
+
if (env['FORCE_COLOR'])
|
|
60
|
+
return true;
|
|
61
|
+
return !!(process.stdout && process.stdout.isTTY);
|
|
62
|
+
}
|
|
63
|
+
friendlyTime(d) {
|
|
64
|
+
const pad = (n, w = 2) => String(n).padStart(w, '0');
|
|
65
|
+
return `${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}.${pad(d.getMilliseconds(), 3)}`;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
exports.ConsoleLogTransportInstance = ConsoleLogTransportInstance;
|
|
69
|
+
exports.ConsoleLogTransportInstance = ConsoleLogTransportInstance = tslib_1.__decorate([
|
|
70
|
+
(0, common_1.LogTransport)({
|
|
71
|
+
name: 'ConsoleLogger',
|
|
72
|
+
description: 'Used as default console logger',
|
|
73
|
+
})
|
|
74
|
+
], ConsoleLogTransportInstance);
|
|
75
|
+
//# sourceMappingURL=instance.console-logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instance.console-logger.js","sourceRoot":"","sources":["../../../../src/logger/instances/instance.console-logger.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n LogTransportInterface,\n LogRecord,\n LogTransport,\n LogLevel,\n LogFn,\n} from '../../common';\n\ntype LogLevelMeta = {\n label: string;\n ansi: string; // ANSI for TTY (kept for completeness)\n};\n\n@LogTransport({\n name: 'ConsoleLogger',\n description: 'Used as default console logger',\n})\nexport class ConsoleLogTransportInstance extends LogTransportInterface {\n\n log(rec: LogRecord): void {\n const fn = this.bind(rec.level, rec.prefix);\n fn(String(rec.message), ...rec.args);\n }\n\n private levelTags: Record<LogLevel, LogLevelMeta> = {\n [LogLevel.Off]: { label: '', ansi: '' },\n [LogLevel.Debug]: { label: 'DEBUG', ansi: '\\x1b[34m' }, // gray\n [LogLevel.VERBOSE]: { label: 'VERBOSE', ansi: '\\x1b[90m' }, // blue\n [LogLevel.Info]: { label: 'INFO', ansi: '\\x1b[32m' }, // green\n [LogLevel.Warn]: { label: 'WARN', ansi: '\\x1b[33m' }, // yellow\n [LogLevel.Error]: { label: 'ERROR', ansi: '\\x1b[31m' }, // red\n };\n\n /** Returns a *bound native console function* with the prefix (ANSI only) */\n bind(level: LogLevel, loggerPrefix?: string): LogFn {\n const method = this.pickMethod(level);\n const meta = this.levelTags[level] ?? this.levelTags[LogLevel.Info];\n const ts = this.friendlyTime(new Date());\n\n const RESET = '\\x1b[0m';\n const BOLD = '\\x1b[1m';\n const DIM = '\\x1b[2m';\n const GRAY = '\\x1b[90m';\n\n const useAnsi = this.supportsAnsi();\n const timePart = useAnsi ? `${DIM}[${ts}]${RESET}` : `[${ts}]`;\n const scopePart = loggerPrefix\n ? (useAnsi ? `${BOLD}[${loggerPrefix}]${RESET}` : `[${loggerPrefix}]`)\n : undefined;\n const levelPart = useAnsi ? `${BOLD}${meta.ansi}${meta.label}${RESET}` : meta.label;\n\n const fmt = [timePart, scopePart, levelPart, '%s'].filter(Boolean).join(' ');\n return method.bind(console, fmt);\n }\n\n private pickMethod(level: LogLevel): LogFn {\n switch (level) {\n case LogLevel.Debug:\n return console.debug.bind(console);\n case LogLevel.VERBOSE:\n return console.info.bind(console);\n case LogLevel.Info:\n return console.info.bind(console);\n case LogLevel.Warn:\n return console.warn.bind(console);\n case LogLevel.Error:\n return console.error.bind(console);\n default:\n return console.log.bind(console);\n }\n }\n\n private supportsAnsi(): boolean {\n if (typeof process === 'undefined') return false;\n const env = process.env || {};\n if (env['NO_COLOR']) return false;\n if (env['FORCE_COLOR']) return true;\n return !!(process.stdout && (process.stdout as any).isTTY);\n }\n\n private friendlyTime(d: Date): string {\n const pad = (n: number, w = 2) => String(n).padStart(w, '0');\n return `${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}.${pad(d.getMilliseconds(), 3)}`;\n }\n\n}"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { FrontMcpLogger, LogTransportInterface, LogFn, LoggingConfigType } from '../../common';
|
|
2
|
+
import { ConsoleLogTransportInstance } from './instance.console-logger';
|
|
3
|
+
export type GetTransports = () => {
|
|
4
|
+
consoleTransport?: ConsoleLogTransportInstance;
|
|
5
|
+
transports: LogTransportInterface[];
|
|
6
|
+
};
|
|
7
|
+
export declare class LoggerInstance extends FrontMcpLogger {
|
|
8
|
+
private readonly config;
|
|
9
|
+
private getTransports;
|
|
10
|
+
private readonly level;
|
|
11
|
+
private readonly prefix;
|
|
12
|
+
private readonly transports;
|
|
13
|
+
private readonly consoleTransport?;
|
|
14
|
+
constructor(config: LoggingConfigType, getTransports: GetTransports);
|
|
15
|
+
child(prefix: string): FrontMcpLogger;
|
|
16
|
+
/** Internal: fan out to transports if level passes a threshold. */
|
|
17
|
+
private emit;
|
|
18
|
+
get verbose(): LogFn;
|
|
19
|
+
get debug(): LogFn;
|
|
20
|
+
get info(): LogFn;
|
|
21
|
+
get warn(): LogFn;
|
|
22
|
+
get error(): LogFn;
|
|
23
|
+
private _getter;
|
|
24
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LoggerInstance = void 0;
|
|
4
|
+
const common_1 = require("../../common");
|
|
5
|
+
class LoggerInstance extends common_1.FrontMcpLogger {
|
|
6
|
+
config;
|
|
7
|
+
getTransports;
|
|
8
|
+
level;
|
|
9
|
+
prefix;
|
|
10
|
+
transports;
|
|
11
|
+
consoleTransport;
|
|
12
|
+
constructor(config, getTransports) {
|
|
13
|
+
super();
|
|
14
|
+
this.config = config;
|
|
15
|
+
this.getTransports = getTransports;
|
|
16
|
+
this.level = config.level;
|
|
17
|
+
this.prefix = config.prefix ?? '';
|
|
18
|
+
const { transports, consoleTransport } = getTransports();
|
|
19
|
+
this.transports = transports;
|
|
20
|
+
this.consoleTransport = consoleTransport;
|
|
21
|
+
}
|
|
22
|
+
child(prefix) {
|
|
23
|
+
return new LoggerInstance({ ...this.config, prefix }, this.getTransports);
|
|
24
|
+
}
|
|
25
|
+
/** Internal: fan out to transports if level passes a threshold. */
|
|
26
|
+
emit(level, message, args) {
|
|
27
|
+
if (level < this.level || this.level === common_1.LogLevel.Off)
|
|
28
|
+
return;
|
|
29
|
+
const rec = {
|
|
30
|
+
level,
|
|
31
|
+
levelName: common_1.LogLevelName[level],
|
|
32
|
+
message,
|
|
33
|
+
args,
|
|
34
|
+
timestamp: new Date(),
|
|
35
|
+
prefix: this.prefix,
|
|
36
|
+
};
|
|
37
|
+
for (const t of this.transports) {
|
|
38
|
+
try {
|
|
39
|
+
// Fire-and-forget; transports may be async
|
|
40
|
+
void t.log(rec);
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
// Never throw from logging
|
|
44
|
+
// eslint-disable-next-line no-console
|
|
45
|
+
console.error('[Logger] Transport error:', err);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
get verbose() {
|
|
50
|
+
return this._getter(common_1.LogLevel.VERBOSE);
|
|
51
|
+
}
|
|
52
|
+
get debug() {
|
|
53
|
+
return this._getter(common_1.LogLevel.Debug);
|
|
54
|
+
}
|
|
55
|
+
get info() {
|
|
56
|
+
return this._getter(common_1.LogLevel.Info);
|
|
57
|
+
}
|
|
58
|
+
get warn() {
|
|
59
|
+
return this._getter(common_1.LogLevel.Warn);
|
|
60
|
+
}
|
|
61
|
+
get error() {
|
|
62
|
+
return this._getter(common_1.LogLevel.Error);
|
|
63
|
+
}
|
|
64
|
+
_getter(level) {
|
|
65
|
+
if (level < this.level || this.level === common_1.LogLevel.Off)
|
|
66
|
+
return (() => void 0);
|
|
67
|
+
if (process.env['NODE_ENV'] === 'development' && this.config.enableConsole && this.consoleTransport) {
|
|
68
|
+
return this.consoleTransport.bind(level, this.prefix);
|
|
69
|
+
}
|
|
70
|
+
const emit = this.emit.bind(this);
|
|
71
|
+
return function (...args) {
|
|
72
|
+
emit(level, String(args[0]), Array.prototype.slice.call(args, 1));
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.LoggerInstance = LoggerInstance;
|
|
77
|
+
//# sourceMappingURL=instance.logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instance.logger.js","sourceRoot":"","sources":["../../../../src/logger/instances/instance.logger.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n FrontMcpLogger,\n LogTransportInterface,\n LogFn,\n LoggingConfigType,\n LogLevel, LogLevelName,\n LogRecord,\n} from '../../common';\nimport { ConsoleLogTransportInstance } from './instance.console-logger';\n\nexport type GetTransports = () => {\n consoleTransport?: ConsoleLogTransportInstance,\n transports: LogTransportInterface[]\n};\n\nexport class LoggerInstance extends FrontMcpLogger {\n private readonly level: LogLevel;\n private readonly prefix: string;\n private readonly transports: LogTransportInterface[];\n private readonly consoleTransport?: ConsoleLogTransportInstance;\n\n constructor(private readonly config: LoggingConfigType, private getTransports: GetTransports) {\n super();\n this.level = config.level;\n this.prefix = config.prefix ?? '';\n\n const { transports, consoleTransport } = getTransports();\n this.transports = transports;\n this.consoleTransport = consoleTransport;\n\n }\n\n child(prefix: string): FrontMcpLogger {\n return new LoggerInstance({ ...this.config, prefix }, this.getTransports);\n }\n\n /** Internal: fan out to transports if level passes a threshold. */\n private emit(level: LogLevel, message: string, args: unknown[]) {\n if (level < this.level || this.level === LogLevel.Off) return;\n const rec: LogRecord = {\n level,\n levelName: LogLevelName[level],\n message,\n args,\n timestamp: new Date(),\n prefix: this.prefix,\n };\n for (const t of this.transports) {\n try {\n // Fire-and-forget; transports may be async\n void t.log(rec);\n } catch (err) {\n // Never throw from logging\n // eslint-disable-next-line no-console\n console.error('[Logger] Transport error:', err);\n }\n }\n }\n\n get verbose(): LogFn {\n return this._getter(LogLevel.VERBOSE);\n }\n\n get debug(): LogFn {\n return this._getter(LogLevel.Debug);\n }\n\n get info(): LogFn {\n return this._getter(LogLevel.Info);\n }\n\n get warn(): LogFn {\n return this._getter(LogLevel.Warn);\n }\n\n get error(): LogFn {\n return this._getter(LogLevel.Error);\n }\n\n private _getter(level: LogLevel): LogFn {\n if (level < this.level || this.level === LogLevel.Off) return (() => void 0);\n if (process.env['NODE_ENV'] === 'development' && this.config.enableConsole && this.consoleTransport) {\n return this.consoleTransport.bind(level, this.prefix);\n }\n const emit = this.emit.bind(this);\n return function(...args: unknown[]) {\n emit(level, String(args[0]), Array.prototype.slice.call(args, 1));\n };\n }\n\n}"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { LogTransportType, LogTransportInterface, LoggingConfigType } from '../common';
|
|
3
|
+
import { RegistryAbstract, RegistryBuildMapResult } from '../regsitry';
|
|
4
|
+
import ProviderRegistry from '../provider/provider.registry';
|
|
5
|
+
import { LoggerRecord } from './logger.types';
|
|
6
|
+
export default class LoggerRegistry extends RegistryAbstract<LogTransportInterface, LoggerRecord, LogTransportType[]> {
|
|
7
|
+
config: LoggingConfigType;
|
|
8
|
+
constructor(globalProviders: ProviderRegistry);
|
|
9
|
+
protected buildGraph(): void;
|
|
10
|
+
protected buildMap(list: LogTransportType[]): RegistryBuildMapResult<LoggerRecord>;
|
|
11
|
+
protected initialize(): Promise<void>;
|
|
12
|
+
protected bindLogger(): void;
|
|
13
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
require("reflect-metadata");
|
|
4
|
+
const common_1 = require("../common");
|
|
5
|
+
const regsitry_1 = require("../regsitry");
|
|
6
|
+
const logger_types_1 = require("./logger.types");
|
|
7
|
+
const logger_utils_1 = require("./logger.utils");
|
|
8
|
+
const front_mcp_tokens_1 = require("../front-mcp/front-mcp.tokens");
|
|
9
|
+
const instance_console_logger_1 = require("./instances/instance.console-logger");
|
|
10
|
+
const token_utils_1 = require("../utils/token.utils");
|
|
11
|
+
const instance_logger_1 = require("./instances/instance.logger");
|
|
12
|
+
class LoggerRegistry extends regsitry_1.RegistryAbstract {
|
|
13
|
+
config;
|
|
14
|
+
constructor(globalProviders) {
|
|
15
|
+
const { logging } = globalProviders.get(front_mcp_tokens_1.FrontMcpConfig);
|
|
16
|
+
const { transports, ...config } = logging;
|
|
17
|
+
const list = transports ?? [];
|
|
18
|
+
if (config.enableConsole) {
|
|
19
|
+
list.push(instance_console_logger_1.ConsoleLogTransportInstance);
|
|
20
|
+
}
|
|
21
|
+
super('LoggerRegistry', globalProviders, list);
|
|
22
|
+
this.config = config;
|
|
23
|
+
}
|
|
24
|
+
buildGraph() {
|
|
25
|
+
for (const token of this.tokens) {
|
|
26
|
+
const rec = this.defs.get(token);
|
|
27
|
+
const deps = (0, logger_utils_1.loggerDiscoveryDeps)(rec).slice(1);
|
|
28
|
+
for (const d of deps) {
|
|
29
|
+
if (!this.providers.get(d)) {
|
|
30
|
+
throw new Error(`Logger ${(0, token_utils_1.tokenName)(token)} depends on ${(0, token_utils_1.tokenName)(d)}, which is not registered.`);
|
|
31
|
+
}
|
|
32
|
+
this.graph.get(token).add(d);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
buildMap(list) {
|
|
37
|
+
const tokens = new Set();
|
|
38
|
+
const defs = new Map();
|
|
39
|
+
const graph = new Map();
|
|
40
|
+
for (const raw of list) {
|
|
41
|
+
const rec = (0, logger_utils_1.normalizeLogger)(raw);
|
|
42
|
+
const provide = rec.provide;
|
|
43
|
+
tokens.add(provide);
|
|
44
|
+
defs.set(provide, rec);
|
|
45
|
+
graph.set(provide, new Set());
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
tokens,
|
|
49
|
+
defs,
|
|
50
|
+
graph,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
async initialize() {
|
|
54
|
+
for (const token of this.tokens) {
|
|
55
|
+
const rec = this.defs.get(token);
|
|
56
|
+
const deps = this.graph.get(token);
|
|
57
|
+
const depsTokens = [...deps];
|
|
58
|
+
const depsInstances = await Promise.all(depsTokens.map((t) => this.providers.resolveBootstrapDep(t)));
|
|
59
|
+
let app;
|
|
60
|
+
if (rec.kind === logger_types_1.LoggerKind.CLASS_TOKEN) {
|
|
61
|
+
const LocalAppClass = rec.provide;
|
|
62
|
+
app = new LocalAppClass(this.config, ...depsInstances);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
throw Error('Invalid logger kind');
|
|
66
|
+
}
|
|
67
|
+
this.instances.set(token, app);
|
|
68
|
+
}
|
|
69
|
+
this.bindLogger();
|
|
70
|
+
}
|
|
71
|
+
bindLogger() {
|
|
72
|
+
const consoleTransport = this.instances.get(instance_console_logger_1.ConsoleLogTransportInstance);
|
|
73
|
+
const transports = [...this.instances.values()];
|
|
74
|
+
const getTransports = () => {
|
|
75
|
+
return { consoleTransport, transports };
|
|
76
|
+
};
|
|
77
|
+
const logger = new instance_logger_1.LoggerInstance(this.config, getTransports);
|
|
78
|
+
this.providers.injectProvider({
|
|
79
|
+
provide: common_1.FrontMcpLogger,
|
|
80
|
+
value: logger,
|
|
81
|
+
metadata: {
|
|
82
|
+
id: 'frontmcp-logger',
|
|
83
|
+
name: 'FrontMcpLogger',
|
|
84
|
+
scope: common_1.ProviderScope.GLOBAL,
|
|
85
|
+
description: 'Logger instance that transport logs to all registered transporters.',
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.default = LoggerRegistry;
|
|
91
|
+
//# sourceMappingURL=logger.registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.registry.js","sourceRoot":"","sources":["../../../src/logger/logger.registry.ts"],"names":[],"mappings":"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","sourcesContent":["import 'reflect-metadata';\nimport {\n FrontMcpLogger,\n LogTransportType,\n LogTransportInterface,\n LoggingConfigType,\n ProviderScope,\n Token,\n} from '../common';\nimport { RegistryAbstract, RegistryBuildMapResult } from '../regsitry';\nimport ProviderRegistry from '../provider/provider.registry';\nimport { LoggerKind, LoggerRecord } from './logger.types';\nimport { loggerDiscoveryDeps, normalizeLogger } from './logger.utils';\nimport { FrontMcpConfig } from '../front-mcp/front-mcp.tokens';\nimport { ConsoleLogTransportInstance } from './instances/instance.console-logger';\nimport { tokenName } from '../utils/token.utils';\nimport { GetTransports, LoggerInstance } from './instances/instance.logger';\n\nexport default class LoggerRegistry extends RegistryAbstract<LogTransportInterface, LoggerRecord, LogTransportType[]> {\n config: LoggingConfigType;\n\n constructor(globalProviders: ProviderRegistry) {\n const { logging } = globalProviders.get(FrontMcpConfig);\n const { transports, ...config } = logging;\n const list = transports ?? [];\n if (config.enableConsole) {\n list.push(ConsoleLogTransportInstance);\n }\n\n super('LoggerRegistry', globalProviders, list);\n\n this.config = config;\n }\n\n protected buildGraph() {\n for (const token of this.tokens) {\n const rec = this.defs.get(token)!;\n const deps = loggerDiscoveryDeps(rec).slice(1);\n for (const d of deps) {\n if (!this.providers.get(d)) {\n throw new Error(`Logger ${tokenName(token)} depends on ${tokenName(d)}, which is not registered.`);\n }\n this.graph.get(token)!.add(d);\n }\n }\n }\n\n protected override buildMap(list: LogTransportType[]): RegistryBuildMapResult<LoggerRecord> {\n const tokens = new Set<Token>();\n const defs = new Map<Token, LoggerRecord>();\n const graph = new Map<Token, Set<Token>>();\n\n\n for (const raw of list) {\n const rec = normalizeLogger(raw);\n const provide = rec.provide;\n tokens.add(provide);\n defs.set(provide, rec);\n graph.set(provide, new Set());\n }\n\n return {\n tokens,\n defs,\n graph,\n };\n }\n\n protected async initialize(): Promise<void> {\n\n for (const token of this.tokens) {\n const rec = this.defs.get(token)!;\n const deps = this.graph.get(token)!;\n\n const depsTokens = [...deps];\n const depsInstances = await Promise.all(depsTokens.map((t) => this.providers.resolveBootstrapDep(t)));\n\n let app: LogTransportInterface;\n if (rec.kind === LoggerKind.CLASS_TOKEN) {\n const LocalAppClass = rec.provide;\n app = new LocalAppClass(this.config, ...depsInstances);\n } else {\n throw Error('Invalid logger kind');\n }\n\n this.instances.set(token, app);\n }\n this.bindLogger();\n }\n\n protected bindLogger() {\n\n const consoleTransport = this.instances.get(ConsoleLogTransportInstance) as ConsoleLogTransportInstance;\n const transports = [...this.instances.values()];\n const getTransports: GetTransports = () => {\n return { consoleTransport, transports };\n };\n const logger = new LoggerInstance(this.config, getTransports);\n\n this.providers.injectProvider({\n provide: FrontMcpLogger,\n value: logger,\n metadata: {\n id: 'frontmcp-logger',\n name: 'FrontMcpLogger',\n scope: ProviderScope.GLOBAL,\n description: 'Logger instance that transport logs to all registered transporters.',\n },\n });\n }\n\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.tokens.js","sourceRoot":"","sources":["../../../src/logger/logger.tokens.ts"],"names":[],"mappings":"","sourcesContent":["\n\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { LogTransportInterface, LogTransportMetadata, Type } from '../common';
|
|
2
|
+
export declare enum LoggerKind {
|
|
3
|
+
CLASS_TOKEN = "CLASS_TOKEN"
|
|
4
|
+
}
|
|
5
|
+
export type ClassTokenLogger = {
|
|
6
|
+
kind: LoggerKind.CLASS_TOKEN;
|
|
7
|
+
provide: Type<LogTransportInterface>;
|
|
8
|
+
metadata: LogTransportMetadata;
|
|
9
|
+
};
|
|
10
|
+
export type LoggerRecord = ClassTokenLogger;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LoggerKind = void 0;
|
|
4
|
+
var LoggerKind;
|
|
5
|
+
(function (LoggerKind) {
|
|
6
|
+
LoggerKind["CLASS_TOKEN"] = "CLASS_TOKEN";
|
|
7
|
+
})(LoggerKind || (exports.LoggerKind = LoggerKind = {}));
|
|
8
|
+
//# sourceMappingURL=logger.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.types.js","sourceRoot":"","sources":["../../../src/logger/logger.types.ts"],"names":[],"mappings":";;;AAMA,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,yCAA2B,CAAA;AAC7B,CAAC,EAFW,UAAU,0BAAV,UAAU,QAErB","sourcesContent":["import {\n LogTransportInterface,\n LogTransportMetadata,\n Type,\n} from '../common';\n\nexport enum LoggerKind {\n CLASS_TOKEN = 'CLASS_TOKEN',\n}\n\nexport type ClassTokenLogger = {\n kind: LoggerKind.CLASS_TOKEN;\n provide: Type<LogTransportInterface>;\n metadata: LogTransportMetadata\n};\n\nexport type LoggerRecord =\n | ClassTokenLogger\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LogTransportMetadata, LogTransportType, Token } from '../common';
|
|
2
|
+
import { LoggerRecord } from './logger.types';
|
|
3
|
+
export declare function collectLoggerMetadata(cls: LogTransportType): LogTransportMetadata;
|
|
4
|
+
/**
|
|
5
|
+
* Normalize a raw app metadata list into useful maps/sets.
|
|
6
|
+
* - tokens: all provided tokens
|
|
7
|
+
* - defs: LoggerRecord by token
|
|
8
|
+
* - graph: initialized adjacency map (empty sets)
|
|
9
|
+
*/
|
|
10
|
+
export declare function normalizeLogger(item: any): LoggerRecord;
|
|
11
|
+
/**
|
|
12
|
+
* For graph/cycle detection. Returns dependency tokens that should be graphed.
|
|
13
|
+
* - CLASS / CLASS_TOKEN: deps come from the class constructor
|
|
14
|
+
*/
|
|
15
|
+
export declare function loggerDiscoveryDeps(rec: LoggerRecord): Token[];
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.collectLoggerMetadata = collectLoggerMetadata;
|
|
4
|
+
exports.normalizeLogger = normalizeLogger;
|
|
5
|
+
exports.loggerDiscoveryDeps = loggerDiscoveryDeps;
|
|
6
|
+
const common_1 = require("../common");
|
|
7
|
+
const metadata_utils_1 = require("../utils/metadata.utils");
|
|
8
|
+
const token_utils_1 = require("../utils/token.utils");
|
|
9
|
+
const logger_types_1 = require("./logger.types");
|
|
10
|
+
function collectLoggerMetadata(cls) {
|
|
11
|
+
return Object.entries(common_1.FrontMcpLogTransportTokens).reduce((metadata, [key, token]) => {
|
|
12
|
+
return Object.assign(metadata, {
|
|
13
|
+
[key]: (0, metadata_utils_1.getMetadata)(token, cls),
|
|
14
|
+
});
|
|
15
|
+
}, {});
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Normalize a raw app metadata list into useful maps/sets.
|
|
19
|
+
* - tokens: all provided tokens
|
|
20
|
+
* - defs: LoggerRecord by token
|
|
21
|
+
* - graph: initialized adjacency map (empty sets)
|
|
22
|
+
*/
|
|
23
|
+
function normalizeLogger(item) {
|
|
24
|
+
if ((0, token_utils_1.isClass)(item)) {
|
|
25
|
+
const metadata = collectLoggerMetadata(item);
|
|
26
|
+
return { kind: logger_types_1.LoggerKind.CLASS_TOKEN, provide: item, metadata };
|
|
27
|
+
}
|
|
28
|
+
const name = item?.name ?? String(item);
|
|
29
|
+
throw new Error(`Invalid app '${name}'. Expected a class or remote app config object.`);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* For graph/cycle detection. Returns dependency tokens that should be graphed.
|
|
33
|
+
* - CLASS / CLASS_TOKEN: deps come from the class constructor
|
|
34
|
+
*/
|
|
35
|
+
function loggerDiscoveryDeps(rec) {
|
|
36
|
+
switch (rec.kind) {
|
|
37
|
+
// TODO: FEATURE/LOGGING add support for LoggerKind.VALUE as url based loggers
|
|
38
|
+
case logger_types_1.LoggerKind.CLASS_TOKEN:
|
|
39
|
+
return (0, token_utils_1.depsOfClass)(rec.provide, 'discovery');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=logger.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.utils.js","sourceRoot":"","sources":["../../../src/logger/logger.utils.ts"],"names":[],"mappings":";;AAWA,sDAOC;AAQD,0CAQC;AAMD,kDAMC;AA9CD,sCAMmB;AACnB,4DAAsD;AACtD,sDAA4D;AAC5D,iDAA0D;AAE1D,SAAgB,qBAAqB,CAAC,GAAqB;IAEzD,OAAO,MAAM,CAAC,OAAO,CAAC,mCAA0B,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAClF,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC7B,CAAC,GAAG,CAAC,EAAE,IAAA,4BAAW,EAAC,KAAK,EAAE,GAAG,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC,EAAE,EAA0B,CAAC,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,IAAS;IACvC,IAAI,IAAA,qBAAO,EAAC,IAAI,CAAC,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,EAAE,IAAI,EAAE,yBAAU,CAAC,WAAW,EAAE,OAAO,EAAE,IAAmC,EAAE,QAAQ,EAAE,CAAC;IAClG,CAAC;IAED,MAAM,IAAI,GAAI,IAAY,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,kDAAkD,CAAC,CAAC;AAC1F,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,GAAiB;IACnD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,8EAA8E;QAC9E,KAAK,yBAAU,CAAC,WAAW;YACzB,OAAO,IAAA,yBAAW,EAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;AACH,CAAC","sourcesContent":["import {\n FrontMcpLogTransportTokens,\n LogTransportMetadata,\n LogTransportType,\n Type, Token,\n LogTransportInterface,\n} from '../common';\nimport { getMetadata } from '../utils/metadata.utils';\nimport { depsOfClass, isClass } from '../utils/token.utils';\nimport { LoggerKind, LoggerRecord } from './logger.types';\n\nexport function collectLoggerMetadata(cls: LogTransportType): LogTransportMetadata {\n\n return Object.entries(FrontMcpLogTransportTokens).reduce((metadata, [key, token]) => {\n return Object.assign(metadata, {\n [key]: getMetadata(token, cls),\n });\n }, {} as LogTransportMetadata);\n}\n\n/**\n * Normalize a raw app metadata list into useful maps/sets.\n * - tokens: all provided tokens\n * - defs: LoggerRecord by token\n * - graph: initialized adjacency map (empty sets)\n */\nexport function normalizeLogger(item: any): LoggerRecord {\n if (isClass(item)) {\n const metadata = collectLoggerMetadata(item);\n return { kind: LoggerKind.CLASS_TOKEN, provide: item as Type<LogTransportInterface>, metadata };\n }\n\n const name = (item as any)?.name ?? String(item);\n throw new Error(`Invalid app '${name}'. Expected a class or remote app config object.`);\n}\n\n/**\n * For graph/cycle detection. Returns dependency tokens that should be graphed.\n * - CLASS / CLASS_TOKEN: deps come from the class constructor\n */\nexport function loggerDiscoveryDeps(rec: LoggerRecord): Token[] {\n switch (rec.kind) {\n // TODO: FEATURE/LOGGING add support for LoggerKind.VALUE as url based loggers\n case LoggerKind.CLASS_TOKEN:\n return depsOfClass(rec.provide, 'discovery');\n }\n}\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { PluginEntry, PluginRecord, PluginRegistryInterface, PluginType } from '../common';
|
|
3
|
+
import ProviderRegistry from '../provider/provider.registry';
|
|
4
|
+
import { RegistryAbstract, RegistryBuildMapResult } from '../regsitry';
|
|
5
|
+
export default class PluginRegistry extends RegistryAbstract<PluginEntry, PluginRecord, PluginType[]> implements PluginRegistryInterface {
|
|
6
|
+
/** providers by token */
|
|
7
|
+
private readonly pProviders;
|
|
8
|
+
/** providers by token */
|
|
9
|
+
private readonly pPlugins;
|
|
10
|
+
/** adapters by token */
|
|
11
|
+
private readonly pAdapters;
|
|
12
|
+
/** tools by token */
|
|
13
|
+
private readonly pTools;
|
|
14
|
+
/** resources by token */
|
|
15
|
+
private readonly pResources;
|
|
16
|
+
/** prompts by token */
|
|
17
|
+
private readonly pPrompts;
|
|
18
|
+
private readonly scope;
|
|
19
|
+
constructor(providers: ProviderRegistry, list: PluginType[]);
|
|
20
|
+
getPlugins(): PluginEntry[];
|
|
21
|
+
protected buildMap(list: PluginType[]): RegistryBuildMapResult<PluginRecord>;
|
|
22
|
+
protected buildGraph(): void;
|
|
23
|
+
protected initialize(): Promise<void>;
|
|
24
|
+
}
|