@frontmcp/sdk 0.6.3 → 0.7.2
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/adapter/adapter.instance.d.ts +3 -1
- package/adapter/adapter.instance.d.ts.map +1 -0
- package/adapter/adapter.regsitry.d.ts +1 -0
- package/adapter/adapter.regsitry.d.ts.map +1 -0
- package/adapter/adapter.utils.d.ts +3 -1
- package/adapter/adapter.utils.d.ts.map +1 -0
- package/agent/adapters/adapter.factory.d.ts +105 -0
- package/agent/adapters/adapter.factory.d.ts.map +1 -0
- package/agent/adapters/base.adapter.d.ts +116 -0
- package/agent/adapters/base.adapter.d.ts.map +1 -0
- package/agent/adapters/index.d.ts +47 -0
- package/agent/adapters/index.d.ts.map +1 -0
- package/agent/adapters/langchain.adapter.d.ts +178 -0
- package/agent/adapters/langchain.adapter.d.ts.map +1 -0
- package/agent/adapters/providers/index.d.ts +36 -0
- package/agent/adapters/providers/index.d.ts.map +1 -0
- package/agent/adapters/providers/types.d.ts +15 -0
- package/agent/adapters/providers/types.d.ts.map +1 -0
- package/agent/agent-execution-loop.d.ts +209 -0
- package/agent/agent-execution-loop.d.ts.map +1 -0
- package/agent/agent.events.d.ts +149 -0
- package/agent/agent.events.d.ts.map +1 -0
- package/agent/agent.instance.d.ts +201 -0
- package/agent/agent.instance.d.ts.map +1 -0
- package/agent/agent.registry.d.ts +137 -0
- package/agent/agent.registry.d.ts.map +1 -0
- package/agent/agent.scope.d.ts +333 -0
- package/agent/agent.scope.d.ts.map +1 -0
- package/agent/agent.utils.d.ts +72 -0
- package/agent/agent.utils.d.ts.map +1 -0
- package/agent/flows/call-agent.flow.d.ts +306 -0
- package/agent/flows/call-agent.flow.d.ts.map +1 -0
- package/agent/flows/index.d.ts +2 -0
- package/agent/flows/index.d.ts.map +1 -0
- package/agent/hooks/agent.hooks.d.ts +52 -0
- package/agent/hooks/agent.hooks.d.ts.map +1 -0
- package/agent/hooks/index.d.ts +2 -0
- package/agent/hooks/index.d.ts.map +1 -0
- package/agent/index.d.ts +51 -0
- package/agent/index.d.ts.map +1 -0
- package/app/app.registry.d.ts +1 -0
- package/app/app.registry.d.ts.map +1 -0
- package/app/app.utils.d.ts +3 -1
- package/app/app.utils.d.ts.map +1 -0
- package/app/instances/app.local.instance.d.ts +4 -0
- package/app/instances/app.local.instance.d.ts.map +1 -0
- package/app/instances/app.remote.instance.d.ts +98 -0
- package/app/instances/app.remote.instance.d.ts.map +1 -0
- package/app/instances/index.d.ts +1 -0
- package/app/instances/index.d.ts.map +1 -0
- package/auth/auth.registry.d.ts +1 -0
- package/auth/auth.registry.d.ts.map +1 -0
- package/auth/auth.utils.d.ts +3 -1
- package/auth/auth.utils.d.ts.map +1 -0
- package/auth/authorization/authorization.class.d.ts +1 -0
- package/auth/authorization/authorization.class.d.ts.map +1 -0
- package/auth/authorization/authorization.types.d.ts +1 -0
- package/auth/authorization/authorization.types.d.ts.map +1 -0
- package/auth/authorization/index.d.ts +1 -0
- package/auth/authorization/index.d.ts.map +1 -0
- package/auth/authorization/orchestrated.authorization.d.ts +1 -0
- package/auth/authorization/orchestrated.authorization.d.ts.map +1 -0
- package/auth/authorization/public.authorization.d.ts +1 -0
- package/auth/authorization/public.authorization.d.ts.map +1 -0
- package/auth/authorization/transparent.authorization.d.ts +1 -0
- package/auth/authorization/transparent.authorization.d.ts.map +1 -0
- package/auth/consent/consent.types.d.ts +1 -0
- package/auth/consent/consent.types.d.ts.map +1 -0
- package/auth/consent/index.d.ts +1 -0
- package/auth/consent/index.d.ts.map +1 -0
- package/auth/detection/auth-provider-detection.d.ts +1 -0
- package/auth/detection/auth-provider-detection.d.ts.map +1 -0
- package/auth/detection/index.d.ts +1 -0
- package/auth/detection/index.d.ts.map +1 -0
- package/auth/flows/auth.verify.flow.d.ts +8 -2
- package/auth/flows/auth.verify.flow.d.ts.map +1 -0
- package/auth/flows/oauth.authorize.flow.d.ts +1 -0
- package/auth/flows/oauth.authorize.flow.d.ts.map +1 -0
- package/auth/flows/oauth.callback.flow.d.ts +1 -0
- package/auth/flows/oauth.callback.flow.d.ts.map +1 -0
- package/auth/flows/oauth.register.flow.d.ts +4 -3
- package/auth/flows/oauth.register.flow.d.ts.map +1 -0
- package/auth/flows/oauth.token.flow.d.ts +1 -0
- package/auth/flows/oauth.token.flow.d.ts.map +1 -0
- package/auth/flows/session.verify.flow.d.ts +12 -1
- package/auth/flows/session.verify.flow.d.ts.map +1 -0
- package/auth/flows/well-known.jwks.flow.d.ts +1 -0
- package/auth/flows/well-known.jwks.flow.d.ts.map +1 -0
- package/auth/flows/well-known.oauth-authorization-server.flow.d.ts +1 -0
- package/auth/flows/well-known.oauth-authorization-server.flow.d.ts.map +1 -0
- package/auth/flows/well-known.prm.flow.d.ts +1 -0
- package/auth/flows/well-known.prm.flow.d.ts.map +1 -0
- package/auth/instances/instance.local-primary-auth.d.ts +1 -0
- package/auth/instances/instance.local-primary-auth.d.ts.map +1 -0
- package/auth/instances/instance.remote-primary-auth.d.ts +1 -0
- package/auth/instances/instance.remote-primary-auth.d.ts.map +1 -0
- package/auth/jwks/dev-key-persistence.d.ts +1 -0
- package/auth/jwks/dev-key-persistence.d.ts.map +1 -0
- package/auth/jwks/index.d.ts +1 -0
- package/auth/jwks/index.d.ts.map +1 -0
- package/auth/jwks/jwks.service.d.ts +16 -2
- package/auth/jwks/jwks.service.d.ts.map +1 -0
- package/auth/jwks/jwks.types.d.ts +1 -0
- package/auth/jwks/jwks.types.d.ts.map +1 -0
- package/auth/jwks/jwks.utils.d.ts +1 -0
- package/auth/jwks/jwks.utils.d.ts.map +1 -0
- package/auth/machine-id.d.ts +1 -0
- package/auth/machine-id.d.ts.map +1 -0
- package/auth/oauth/flows/oauth.authorize.flow.d.ts +1 -0
- package/auth/oauth/flows/oauth.authorize.flow.d.ts.map +1 -0
- package/auth/oauth/flows/oauth.device-authorization.flow.d.ts +1 -0
- package/auth/oauth/flows/oauth.device-authorization.flow.d.ts.map +1 -0
- package/auth/oauth/flows/oauth.introspect.flow.d.ts +1 -0
- package/auth/oauth/flows/oauth.introspect.flow.d.ts.map +1 -0
- package/auth/oauth/flows/oauth.par.flow.d.ts +1 -0
- package/auth/oauth/flows/oauth.par.flow.d.ts.map +1 -0
- package/auth/oauth/flows/oauth.revoke.flow.d.ts +1 -0
- package/auth/oauth/flows/oauth.revoke.flow.d.ts.map +1 -0
- package/auth/oauth/flows/oauth.token.flow.d.ts +1 -0
- package/auth/oauth/flows/oauth.token.flow.d.ts.map +1 -0
- package/auth/oauth/flows/oauth.userinfo.flow.d.ts +1 -0
- package/auth/oauth/flows/oauth.userinfo.flow.d.ts.map +1 -0
- package/auth/oauth/flows/oidc.logout.flow.d.ts +1 -0
- package/auth/oauth/flows/oidc.logout.flow.d.ts.map +1 -0
- package/auth/session/authorization-vault.d.ts +5 -4
- package/auth/session/authorization-vault.d.ts.map +1 -0
- package/auth/session/authorization.store.d.ts +1 -0
- package/auth/session/authorization.store.d.ts.map +1 -0
- package/auth/session/encrypted-authorization-vault.d.ts +1 -0
- package/auth/session/encrypted-authorization-vault.d.ts.map +1 -0
- package/auth/session/index.d.ts +1 -0
- package/auth/session/index.d.ts.map +1 -0
- package/auth/session/record/session.base.d.ts +1 -0
- package/auth/session/record/session.base.d.ts.map +1 -0
- package/auth/session/record/session.stateful.d.ts +1 -0
- package/auth/session/record/session.stateful.d.ts.map +1 -0
- package/auth/session/record/session.stateless.d.ts +1 -0
- package/auth/session/record/session.stateless.d.ts.map +1 -0
- package/auth/session/record/session.transparent.d.ts +1 -0
- package/auth/session/record/session.transparent.d.ts.map +1 -0
- package/auth/session/redis-session.store.d.ts +1 -0
- package/auth/session/redis-session.store.d.ts.map +1 -0
- package/auth/session/session-crypto.d.ts +1 -0
- package/auth/session/session-crypto.d.ts.map +1 -0
- package/auth/session/session-rate-limiter.d.ts +1 -0
- package/auth/session/session-rate-limiter.d.ts.map +1 -0
- package/auth/session/session.crypto.d.ts +1 -0
- package/auth/session/session.crypto.d.ts.map +1 -0
- package/auth/session/session.schema.d.ts +1 -0
- package/auth/session/session.schema.d.ts.map +1 -0
- package/auth/session/session.service.d.ts +1 -0
- package/auth/session/session.service.d.ts.map +1 -0
- package/auth/session/session.transport.d.ts +1 -0
- package/auth/session/session.transport.d.ts.map +1 -0
- package/auth/session/session.types.d.ts +1 -0
- package/auth/session/session.types.d.ts.map +1 -0
- package/auth/session/token.refresh.d.ts +1 -0
- package/auth/session/token.refresh.d.ts.map +1 -0
- package/auth/session/token.store.d.ts +3 -2
- package/auth/session/token.store.d.ts.map +1 -0
- package/auth/session/token.vault.d.ts +1 -0
- package/auth/session/token.vault.d.ts.map +1 -0
- package/auth/session/transport-session.manager.d.ts +1 -0
- package/auth/session/transport-session.manager.d.ts.map +1 -0
- package/auth/session/transport-session.types.d.ts +9 -8
- package/auth/session/transport-session.types.d.ts.map +1 -0
- package/auth/session/utils/auth-token.utils.d.ts +1 -0
- package/auth/session/utils/auth-token.utils.d.ts.map +1 -0
- package/auth/session/utils/session-id.utils.d.ts +1 -0
- package/auth/session/utils/session-id.utils.d.ts.map +1 -0
- package/auth/session/utils/tiny-ttl-cache.d.ts +1 -0
- package/auth/session/utils/tiny-ttl-cache.d.ts.map +1 -0
- package/auth/session/vault-encryption.d.ts +1 -0
- package/auth/session/vault-encryption.d.ts.map +1 -0
- package/auth/session/vercel-kv-session.store.d.ts +1 -0
- package/auth/session/vercel-kv-session.store.d.ts.map +1 -0
- package/auth/ui/base-layout.d.ts +1 -0
- package/auth/ui/base-layout.d.ts.map +1 -0
- package/auth/ui/index.d.ts +1 -0
- package/auth/ui/index.d.ts.map +1 -0
- package/auth/ui/templates.d.ts +1 -0
- package/auth/ui/templates.d.ts.map +1 -0
- package/auth/utils/audience.validator.d.ts +1 -0
- package/auth/utils/audience.validator.d.ts.map +1 -0
- package/auth/utils/index.d.ts +1 -0
- package/auth/utils/index.d.ts.map +1 -0
- package/auth/utils/www-authenticate.utils.d.ts +1 -0
- package/auth/utils/www-authenticate.utils.d.ts.map +1 -0
- package/common/common.schema.d.ts +1 -0
- package/common/common.schema.d.ts.map +1 -0
- package/common/decorators/adapter.decorator.d.ts +1 -0
- package/common/decorators/adapter.decorator.d.ts.map +1 -0
- package/common/decorators/agent.decorator.d.ts +116 -0
- package/common/decorators/agent.decorator.d.ts.map +1 -0
- package/common/decorators/app.decorator.d.ts +1 -0
- package/common/decorators/app.decorator.d.ts.map +1 -0
- package/common/decorators/auth-provider.decorator.d.ts +1 -0
- package/common/decorators/auth-provider.decorator.d.ts.map +1 -0
- package/common/decorators/decorator-utils.d.ts +1 -0
- package/common/decorators/decorator-utils.d.ts.map +1 -0
- package/common/decorators/flow.decorator.d.ts +1 -0
- package/common/decorators/flow.decorator.d.ts.map +1 -0
- package/common/decorators/front-mcp.decorator.d.ts +1 -0
- package/common/decorators/front-mcp.decorator.d.ts.map +1 -0
- package/common/decorators/hook.decorator.d.ts +1 -0
- package/common/decorators/hook.decorator.d.ts.map +1 -0
- package/common/decorators/index.d.ts +2 -0
- package/common/decorators/index.d.ts.map +1 -0
- package/common/decorators/logger.decorator.d.ts +1 -0
- package/common/decorators/logger.decorator.d.ts.map +1 -0
- package/common/decorators/plugin.decorator.d.ts +1 -0
- package/common/decorators/plugin.decorator.d.ts.map +1 -0
- package/common/decorators/prompt.decorator.d.ts +8 -3
- package/common/decorators/prompt.decorator.d.ts.map +1 -0
- package/common/decorators/provider.decorator.d.ts +1 -0
- package/common/decorators/provider.decorator.d.ts.map +1 -0
- package/common/decorators/resource.decorator.d.ts +1 -0
- package/common/decorators/resource.decorator.d.ts.map +1 -0
- package/common/decorators/tool.decorator.d.ts +1 -0
- package/common/decorators/tool.decorator.d.ts.map +1 -0
- package/common/dynamic/dynamic.adapter.d.ts +1 -0
- package/common/dynamic/dynamic.adapter.d.ts.map +1 -0
- package/common/dynamic/dynamic.plugin.d.ts +3 -1
- package/common/dynamic/dynamic.plugin.d.ts.map +1 -0
- package/common/dynamic/dynamic.utils.d.ts +1 -0
- package/common/dynamic/dynamic.utils.d.ts.map +1 -0
- package/common/dynamic/index.d.ts +1 -0
- package/common/dynamic/index.d.ts.map +1 -0
- package/common/entries/adapter.entry.d.ts +1 -0
- package/common/entries/adapter.entry.d.ts.map +1 -0
- package/common/entries/agent.entry.d.ts +143 -0
- package/common/entries/agent.entry.d.ts.map +1 -0
- package/common/entries/app.entry.d.ts +8 -0
- package/common/entries/app.entry.d.ts.map +1 -0
- package/common/entries/auth-provider.entry.d.ts +2 -1
- package/common/entries/auth-provider.entry.d.ts.map +1 -0
- package/common/entries/base.entry.d.ts +3 -2
- package/common/entries/base.entry.d.ts.map +1 -0
- package/common/entries/flow.entry.d.ts +3 -1
- package/common/entries/flow.entry.d.ts.map +1 -0
- package/common/entries/hook.entry.d.ts +7 -5
- package/common/entries/hook.entry.d.ts.map +1 -0
- package/common/entries/index.d.ts +2 -0
- package/common/entries/index.d.ts.map +1 -0
- package/common/entries/logger.entry.d.ts +1 -0
- package/common/entries/logger.entry.d.ts.map +1 -0
- package/common/entries/plugin.entry.d.ts +3 -1
- package/common/entries/plugin.entry.d.ts.map +1 -0
- package/common/entries/prompt.entry.d.ts +13 -0
- package/common/entries/prompt.entry.d.ts.map +1 -0
- package/common/entries/provider.entry.d.ts +5 -4
- package/common/entries/provider.entry.d.ts.map +1 -0
- package/common/entries/resource.entry.d.ts +7 -0
- package/common/entries/resource.entry.d.ts.map +1 -0
- package/common/entries/scope.entry.d.ts +3 -1
- package/common/entries/scope.entry.d.ts.map +1 -0
- package/common/entries/tool.entry.d.ts +17 -0
- package/common/entries/tool.entry.d.ts.map +1 -0
- package/common/flow/flow.utils.d.ts +1 -0
- package/common/flow/flow.utils.d.ts.map +1 -0
- package/common/index.d.ts +1 -1
- package/common/index.d.ts.map +1 -0
- package/common/interfaces/adapter.interface.d.ts +2 -1
- package/common/interfaces/adapter.interface.d.ts.map +1 -0
- package/common/interfaces/agent.interface.d.ts +255 -0
- package/common/interfaces/agent.interface.d.ts.map +1 -0
- package/common/interfaces/app.interface.d.ts +5 -3
- package/common/interfaces/app.interface.d.ts.map +1 -0
- package/common/interfaces/auth-hook.interface.d.ts +1 -0
- package/common/interfaces/auth-hook.interface.d.ts.map +1 -0
- package/common/interfaces/auth-provider.interface.d.ts +2 -1
- package/common/interfaces/auth-provider.interface.d.ts.map +1 -0
- package/common/interfaces/base.interface.d.ts +2 -77
- package/common/interfaces/base.interface.d.ts.map +1 -0
- package/common/interfaces/execution-context.interface.d.ts +2 -1
- package/common/interfaces/execution-context.interface.d.ts.map +1 -0
- package/common/interfaces/flow.interface.d.ts +2 -1
- package/common/interfaces/flow.interface.d.ts.map +1 -0
- package/common/interfaces/front-mcp.interface.d.ts +1 -0
- package/common/interfaces/front-mcp.interface.d.ts.map +1 -0
- package/common/interfaces/hook.interface.d.ts +2 -1
- package/common/interfaces/hook.interface.d.ts.map +1 -0
- package/common/interfaces/index.d.ts +4 -0
- package/common/interfaces/index.d.ts.map +1 -0
- package/common/interfaces/internal/flow.utils.d.ts +1 -0
- package/common/interfaces/internal/flow.utils.d.ts.map +1 -0
- package/common/interfaces/internal/index.d.ts +1 -0
- package/common/interfaces/internal/index.d.ts.map +1 -0
- package/common/interfaces/internal/primary-auth-provider.interface.d.ts +1 -0
- package/common/interfaces/internal/primary-auth-provider.interface.d.ts.map +1 -0
- package/common/interfaces/internal/registry.interface.d.ts +13 -3
- package/common/interfaces/internal/registry.interface.d.ts.map +1 -0
- package/common/interfaces/llm-adapter.interface.d.ts +221 -0
- package/common/interfaces/llm-adapter.interface.d.ts.map +1 -0
- package/common/interfaces/logger.interface.d.ts +7 -6
- package/common/interfaces/logger.interface.d.ts.map +1 -0
- package/common/interfaces/plugin.interface.d.ts +2 -1
- package/common/interfaces/plugin.interface.d.ts.map +1 -0
- package/common/interfaces/prompt.interface.d.ts +10 -2
- package/common/interfaces/prompt.interface.d.ts.map +1 -0
- package/common/interfaces/provider.interface.d.ts +2 -1
- package/common/interfaces/provider.interface.d.ts.map +1 -0
- package/common/interfaces/resource.interface.d.ts +12 -2
- package/common/interfaces/resource.interface.d.ts.map +1 -0
- package/common/interfaces/scope.interface.d.ts +3 -2
- package/common/interfaces/scope.interface.d.ts.map +1 -0
- package/common/interfaces/server.interface.d.ts +1 -0
- package/common/interfaces/server.interface.d.ts.map +1 -0
- package/common/interfaces/session-hook.interface.d.ts +1 -0
- package/common/interfaces/session-hook.interface.d.ts.map +1 -0
- package/common/interfaces/tool-hook.interface.d.ts +1 -0
- package/common/interfaces/tool-hook.interface.d.ts.map +1 -0
- package/common/interfaces/tool.interface.d.ts +52 -2
- package/common/interfaces/tool.interface.d.ts.map +1 -0
- package/common/metadata/adapter.metadata.d.ts +1 -0
- package/common/metadata/adapter.metadata.d.ts.map +1 -0
- package/common/metadata/agent.metadata.d.ts +398 -0
- package/common/metadata/agent.metadata.d.ts.map +1 -0
- package/common/metadata/app.metadata.d.ts +162 -16
- package/common/metadata/app.metadata.d.ts.map +1 -0
- package/common/metadata/auth-provider.metadata.d.ts +1 -0
- package/common/metadata/auth-provider.metadata.d.ts.map +1 -0
- package/common/metadata/flow.metadata.d.ts +5 -3
- package/common/metadata/flow.metadata.d.ts.map +1 -0
- package/common/metadata/front-mcp.metadata.d.ts +138 -46
- package/common/metadata/front-mcp.metadata.d.ts.map +1 -0
- package/common/metadata/hook.metadata.d.ts +2 -1
- package/common/metadata/hook.metadata.d.ts.map +1 -0
- package/common/metadata/index.d.ts +4 -0
- package/common/metadata/index.d.ts.map +1 -0
- package/common/metadata/logger.metadata.d.ts +1 -0
- package/common/metadata/logger.metadata.d.ts.map +1 -0
- package/common/metadata/plugin.metadata.d.ts +74 -7
- package/common/metadata/plugin.metadata.d.ts.map +1 -0
- package/common/metadata/prompt.metadata.d.ts +1 -0
- package/common/metadata/prompt.metadata.d.ts.map +1 -0
- package/common/metadata/provider.metadata.d.ts +5 -30
- package/common/metadata/provider.metadata.d.ts.map +1 -0
- package/common/metadata/resource.metadata.d.ts +1 -0
- package/common/metadata/resource.metadata.d.ts.map +1 -0
- package/common/metadata/tool-ui.metadata.d.ts +1 -0
- package/common/metadata/tool-ui.metadata.d.ts.map +1 -0
- package/common/metadata/tool.metadata.d.ts +1 -0
- package/common/metadata/tool.metadata.d.ts.map +1 -0
- package/common/migrate/auth-transport.migrate.d.ts +1 -0
- package/common/migrate/auth-transport.migrate.d.ts.map +1 -0
- package/common/migrate/index.d.ts +1 -0
- package/common/migrate/index.d.ts.map +1 -0
- package/common/providers/base-config.provider.d.ts +1 -0
- package/common/providers/base-config.provider.d.ts.map +1 -0
- package/common/records/adapter.record.d.ts +2 -1
- package/common/records/adapter.record.d.ts.map +1 -0
- package/common/records/agent.record.d.ts +89 -0
- package/common/records/agent.record.d.ts.map +1 -0
- package/common/records/app.record.d.ts +2 -1
- package/common/records/app.record.d.ts.map +1 -0
- package/common/records/auth-provider.record.d.ts +3 -1
- package/common/records/auth-provider.record.d.ts.map +1 -0
- package/common/records/flow.record.d.ts +1 -0
- package/common/records/flow.record.d.ts.map +1 -0
- package/common/records/hook.record.d.ts +1 -0
- package/common/records/hook.record.d.ts.map +1 -0
- package/common/records/index.d.ts +4 -0
- package/common/records/index.d.ts.map +1 -0
- package/common/records/logger.record.d.ts +4 -2
- package/common/records/logger.record.d.ts.map +1 -0
- package/common/records/plugin.record.d.ts +3 -1
- package/common/records/plugin.record.d.ts.map +1 -0
- package/common/records/prompt.record.d.ts +2 -1
- package/common/records/prompt.record.d.ts.map +1 -0
- package/common/records/provider.record.d.ts +2 -36
- package/common/records/provider.record.d.ts.map +1 -0
- package/common/records/resource.record.d.ts +2 -1
- package/common/records/resource.record.d.ts.map +1 -0
- package/common/records/scope.record.d.ts +2 -1
- package/common/records/scope.record.d.ts.map +1 -0
- package/common/records/tool.record.d.ts +3 -1
- package/common/records/tool.record.d.ts.map +1 -0
- package/common/schemas/annotated-class.schema.d.ts +4 -1
- package/common/schemas/annotated-class.schema.d.ts.map +1 -0
- package/common/schemas/http-input.schema.d.ts +1 -0
- package/common/schemas/http-input.schema.d.ts.map +1 -0
- package/common/schemas/http-output.schema.d.ts +1 -0
- package/common/schemas/http-output.schema.d.ts.map +1 -0
- package/common/schemas/index.d.ts +1 -0
- package/common/schemas/index.d.ts.map +1 -0
- package/common/schemas/session-header.schema.d.ts +1 -0
- package/common/schemas/session-header.schema.d.ts.map +1 -0
- package/common/tokens/adapter.tokens.d.ts +1 -0
- package/common/tokens/adapter.tokens.d.ts.map +1 -0
- package/common/tokens/agent.tokens.d.ts +33 -0
- package/common/tokens/agent.tokens.d.ts.map +1 -0
- package/common/tokens/app.tokens.d.ts +1 -0
- package/common/tokens/app.tokens.d.ts.map +1 -0
- package/common/tokens/auth-provider.tokens.d.ts +1 -0
- package/common/tokens/auth-provider.tokens.d.ts.map +1 -0
- package/common/tokens/base.tokens.d.ts +6 -4
- package/common/tokens/base.tokens.d.ts.map +1 -0
- package/common/tokens/flow-hook.tokens.d.ts +1 -0
- package/common/tokens/flow-hook.tokens.d.ts.map +1 -0
- package/common/tokens/flow.tokens.d.ts +1 -0
- package/common/tokens/flow.tokens.d.ts.map +1 -0
- package/common/tokens/front-mcp.tokens.d.ts +1 -0
- package/common/tokens/front-mcp.tokens.d.ts.map +1 -0
- package/common/tokens/index.d.ts +2 -0
- package/common/tokens/index.d.ts.map +1 -0
- package/common/tokens/logger.tokens.d.ts +1 -0
- package/common/tokens/logger.tokens.d.ts.map +1 -0
- package/common/tokens/plugin.tokens.d.ts +3 -0
- package/common/tokens/plugin.tokens.d.ts.map +1 -0
- package/common/tokens/prompt.tokens.d.ts +1 -0
- package/common/tokens/prompt.tokens.d.ts.map +1 -0
- package/common/tokens/provider.tokens.d.ts +1 -0
- package/common/tokens/provider.tokens.d.ts.map +1 -0
- package/common/tokens/resource.tokens.d.ts +1 -0
- package/common/tokens/resource.tokens.d.ts.map +1 -0
- package/common/tokens/server.tokens.d.ts +1 -0
- package/common/tokens/server.tokens.d.ts.map +1 -0
- package/common/tokens/tool.tokens.d.ts +1 -0
- package/common/tokens/tool.tokens.d.ts.map +1 -0
- package/common/types/auth/index.d.ts +1 -0
- package/common/types/auth/index.d.ts.map +1 -0
- package/common/types/auth/jwt.types.d.ts +1 -0
- package/common/types/auth/jwt.types.d.ts.map +1 -0
- package/common/types/auth/session.types.d.ts +1 -0
- package/common/types/auth/session.types.d.ts.map +1 -0
- package/common/types/common.types.d.ts +1 -0
- package/common/types/common.types.d.ts.map +1 -0
- package/common/types/index.d.ts +1 -0
- package/common/types/index.d.ts.map +1 -0
- package/common/types/options/auth/app-auth.schema.d.ts +1 -0
- package/common/types/options/auth/app-auth.schema.d.ts.map +1 -0
- package/common/types/options/auth/auth.interfaces.d.ts +1 -0
- package/common/types/options/auth/auth.interfaces.d.ts.map +1 -0
- package/common/types/options/auth/auth.schema.d.ts +1 -0
- package/common/types/options/auth/auth.schema.d.ts.map +1 -0
- package/common/types/options/auth/auth.typecheck.d.ts +1 -0
- package/common/types/options/auth/auth.typecheck.d.ts.map +1 -0
- package/common/types/options/auth/auth.utils.d.ts +1 -0
- package/common/types/options/auth/auth.utils.d.ts.map +1 -0
- package/common/types/options/auth/index.d.ts +1 -0
- package/common/types/options/auth/index.d.ts.map +1 -0
- package/common/types/options/auth/orchestrated.schema.d.ts +1 -0
- package/common/types/options/auth/orchestrated.schema.d.ts.map +1 -0
- package/common/types/options/auth/public.schema.d.ts +1 -0
- package/common/types/options/auth/public.schema.d.ts.map +1 -0
- package/common/types/options/auth/shared.schemas.d.ts +1 -0
- package/common/types/options/auth/shared.schemas.d.ts.map +1 -0
- package/common/types/options/auth/transparent.schema.d.ts +1 -0
- package/common/types/options/auth/transparent.schema.d.ts.map +1 -0
- package/common/types/options/auth/transport.deprecated.d.ts +1 -0
- package/common/types/options/auth/transport.deprecated.d.ts.map +1 -0
- package/common/types/options/http.options.d.ts +1 -0
- package/common/types/options/http.options.d.ts.map +1 -0
- package/common/types/options/index.d.ts +1 -0
- package/common/types/options/index.d.ts.map +1 -0
- package/common/types/options/logging.options.d.ts +2 -5
- package/common/types/options/logging.options.d.ts.map +1 -0
- package/common/types/options/redis.options.d.ts +1 -0
- package/common/types/options/redis.options.d.ts.map +1 -0
- package/common/types/options/server-info.options.d.ts +1 -0
- package/common/types/options/server-info.options.d.ts.map +1 -0
- package/common/types/options/session.options.d.ts +1 -0
- package/common/types/options/session.options.d.ts.map +1 -0
- package/common/types/options/transport.options.d.ts +25 -0
- package/common/types/options/transport.options.d.ts.map +1 -0
- package/common/utils/decide-request-intent.utils.d.ts +1 -0
- package/common/utils/decide-request-intent.utils.d.ts.map +1 -0
- package/common/utils/global-config.utils.d.ts +1 -0
- package/common/utils/global-config.utils.d.ts.map +1 -0
- package/common/utils/index.d.ts +1 -0
- package/common/utils/index.d.ts.map +1 -0
- package/common/utils/path.utils.d.ts +3 -4
- package/common/utils/path.utils.d.ts.map +1 -0
- package/completion/flows/complete.flow.d.ts +1 -0
- package/completion/flows/complete.flow.d.ts.map +1 -0
- package/context/context-extension.d.ts +52 -0
- package/context/context-extension.d.ts.map +1 -0
- package/context/frontmcp-context-storage.d.ts +1 -0
- package/context/frontmcp-context-storage.d.ts.map +1 -0
- package/context/frontmcp-context.d.ts +1 -0
- package/context/frontmcp-context.d.ts.map +1 -0
- package/context/frontmcp-context.provider.d.ts +3 -2
- package/context/frontmcp-context.provider.d.ts.map +1 -0
- package/context/index.d.ts +1 -0
- package/context/index.d.ts.map +1 -0
- package/context/request-context-storage.d.ts +1 -0
- package/context/request-context-storage.d.ts.map +1 -0
- package/context/request-context.d.ts +1 -0
- package/context/request-context.d.ts.map +1 -0
- package/context/request-context.provider.d.ts +1 -0
- package/context/request-context.provider.d.ts.map +1 -0
- package/context/session-key.provider.d.ts +1 -0
- package/context/session-key.provider.d.ts.map +1 -0
- package/context/trace-context.d.ts +1 -0
- package/context/trace-context.d.ts.map +1 -0
- package/errors/agent.errors.d.ts +80 -0
- package/errors/agent.errors.d.ts.map +1 -0
- package/errors/authorization-required.error.d.ts +1 -0
- package/errors/authorization-required.error.d.ts.map +1 -0
- package/errors/error-handler.d.ts +1 -0
- package/errors/error-handler.d.ts.map +1 -0
- package/errors/index.d.ts +4 -1
- package/errors/index.d.ts.map +1 -0
- package/errors/mcp.error.d.ts +31 -0
- package/errors/mcp.error.d.ts.map +1 -0
- package/errors/remote.errors.d.ts +156 -0
- package/errors/remote.errors.d.ts.map +1 -0
- package/esm/index.mjs +13968 -7053
- package/esm/package.json +12 -12
- package/flows/flow.instance.d.ts +1 -0
- package/flows/flow.instance.d.ts.map +1 -0
- package/flows/flow.registry.d.ts +3 -1
- package/flows/flow.registry.d.ts.map +1 -0
- package/flows/flow.stages.d.ts +1 -0
- package/flows/flow.stages.d.ts.map +1 -0
- package/flows/flow.utils.d.ts +3 -1
- package/flows/flow.utils.d.ts.map +1 -0
- package/front-mcp/front-mcp.d.ts +21 -1
- package/front-mcp/front-mcp.d.ts.map +1 -0
- package/front-mcp/front-mcp.providers.d.ts +42 -21
- package/front-mcp/front-mcp.providers.d.ts.map +1 -0
- package/front-mcp/front-mcp.tokens.d.ts +3 -1
- package/front-mcp/front-mcp.tokens.d.ts.map +1 -0
- package/front-mcp/index.d.ts +1 -0
- package/front-mcp/index.d.ts.map +1 -0
- package/front-mcp/serverless-handler.d.ts +1 -0
- package/front-mcp/serverless-handler.d.ts.map +1 -0
- package/hooks/hook.instance.d.ts +1 -0
- package/hooks/hook.instance.d.ts.map +1 -0
- package/hooks/hook.registry.d.ts +1 -0
- package/hooks/hook.registry.d.ts.map +1 -0
- package/hooks/hooks.utils.d.ts +3 -1
- package/hooks/hooks.utils.d.ts.map +1 -0
- package/index.d.ts +29 -20
- package/index.d.ts.map +1 -0
- package/index.js +14208 -7223
- package/logger/instances/instance.console-logger.d.ts +1 -0
- package/logger/instances/instance.console-logger.d.ts.map +1 -0
- package/logger/instances/instance.logger.d.ts +1 -0
- package/logger/instances/instance.logger.d.ts.map +1 -0
- package/logger/logger.registry.d.ts +1 -0
- package/logger/logger.registry.d.ts.map +1 -0
- package/logger/logger.tokens.d.ts +1 -0
- package/logger/logger.tokens.d.ts.map +1 -0
- package/logger/logger.types.d.ts +1 -0
- package/logger/logger.types.d.ts.map +1 -0
- package/logger/logger.utils.d.ts +3 -1
- package/logger/logger.utils.d.ts.map +1 -0
- package/logging/flows/set-level.flow.d.ts +1 -0
- package/logging/flows/set-level.flow.d.ts.map +1 -0
- package/notification/index.d.ts +1 -0
- package/notification/index.d.ts.map +1 -0
- package/notification/notification.service.d.ts +17 -4
- package/notification/notification.service.d.ts.map +1 -0
- package/package.json +12 -12
- package/plugin/plugin.registry.d.ts +25 -6
- package/plugin/plugin.registry.d.ts.map +1 -0
- package/plugin/plugin.utils.d.ts +3 -1
- package/plugin/plugin.utils.d.ts.map +1 -0
- package/prompt/flows/get-prompt.flow.d.ts +8 -1
- package/prompt/flows/get-prompt.flow.d.ts.map +1 -0
- package/prompt/flows/prompts-list.flow.d.ts +8 -1
- package/prompt/flows/prompts-list.flow.d.ts.map +1 -0
- package/prompt/index.d.ts +1 -0
- package/prompt/index.d.ts.map +1 -0
- package/prompt/prompt.events.d.ts +3 -2
- package/prompt/prompt.events.d.ts.map +1 -0
- package/prompt/prompt.instance.d.ts +7 -1
- package/prompt/prompt.instance.d.ts.map +1 -0
- package/prompt/prompt.registry.d.ts +32 -7
- package/prompt/prompt.registry.d.ts.map +1 -0
- package/prompt/prompt.types.d.ts +5 -4
- package/prompt/prompt.types.d.ts.map +1 -0
- package/prompt/prompt.utils.d.ts +3 -3
- package/prompt/prompt.utils.d.ts.map +1 -0
- package/provider/flow-context-providers.d.ts +24 -0
- package/provider/flow-context-providers.d.ts.map +1 -0
- package/provider/provider.registry.d.ts +26 -4
- package/provider/provider.registry.d.ts.map +1 -0
- package/provider/provider.types.d.ts +2 -1
- package/provider/provider.types.d.ts.map +1 -0
- package/provider/provider.utils.d.ts +21 -2
- package/provider/provider.utils.d.ts.map +1 -0
- package/regsitry/index.d.ts +1 -0
- package/regsitry/index.d.ts.map +1 -0
- package/regsitry/registry.base.d.ts +3 -1
- package/regsitry/registry.base.d.ts.map +1 -0
- package/remote-mcp/cache/capability-cache.d.ts +87 -0
- package/remote-mcp/cache/capability-cache.d.ts.map +1 -0
- package/remote-mcp/cache/index.d.ts +6 -0
- package/remote-mcp/cache/index.d.ts.map +1 -0
- package/remote-mcp/factories/context-factories.d.ts +43 -0
- package/remote-mcp/factories/context-factories.d.ts.map +1 -0
- package/remote-mcp/factories/index.d.ts +12 -0
- package/remote-mcp/factories/index.d.ts.map +1 -0
- package/remote-mcp/factories/instance-factories.d.ts +81 -0
- package/remote-mcp/factories/instance-factories.d.ts.map +1 -0
- package/remote-mcp/factories/record-builders.d.ts +50 -0
- package/remote-mcp/factories/record-builders.d.ts.map +1 -0
- package/remote-mcp/index.d.ts +14 -0
- package/remote-mcp/index.d.ts.map +1 -0
- package/remote-mcp/mcp-client.service.d.ts +169 -0
- package/remote-mcp/mcp-client.service.d.ts.map +1 -0
- package/remote-mcp/mcp-client.types.d.ts +298 -0
- package/remote-mcp/mcp-client.types.d.ts.map +1 -0
- package/remote-mcp/resilience/circuit-breaker.d.ts +100 -0
- package/remote-mcp/resilience/circuit-breaker.d.ts.map +1 -0
- package/remote-mcp/resilience/health-check.d.ts +107 -0
- package/remote-mcp/resilience/health-check.d.ts.map +1 -0
- package/remote-mcp/resilience/index.d.ts +8 -0
- package/remote-mcp/resilience/index.d.ts.map +1 -0
- package/remote-mcp/resilience/retry.d.ts +37 -0
- package/remote-mcp/resilience/retry.d.ts.map +1 -0
- package/resource/flows/read-resource.flow.d.ts +8 -1
- package/resource/flows/read-resource.flow.d.ts.map +1 -0
- package/resource/flows/resource-templates-list.flow.d.ts +8 -1
- package/resource/flows/resource-templates-list.flow.d.ts.map +1 -0
- package/resource/flows/resources-list.flow.d.ts +8 -1
- package/resource/flows/resources-list.flow.d.ts.map +1 -0
- package/resource/flows/subscribe-resource.flow.d.ts +1 -0
- package/resource/flows/subscribe-resource.flow.d.ts.map +1 -0
- package/resource/flows/unsubscribe-resource.flow.d.ts +1 -0
- package/resource/flows/unsubscribe-resource.flow.d.ts.map +1 -0
- package/resource/index.d.ts +1 -0
- package/resource/index.d.ts.map +1 -0
- package/resource/resource.events.d.ts +3 -2
- package/resource/resource.events.d.ts.map +1 -0
- package/resource/resource.instance.d.ts +1 -0
- package/resource/resource.instance.d.ts.map +1 -0
- package/resource/resource.registry.d.ts +33 -8
- package/resource/resource.registry.d.ts.map +1 -0
- package/resource/resource.types.d.ts +5 -4
- package/resource/resource.types.d.ts.map +1 -0
- package/resource/resource.utils.d.ts +3 -5
- package/resource/resource.utils.d.ts.map +1 -0
- package/scope/flows/http.request.flow.d.ts +1 -0
- package/scope/flows/http.request.flow.d.ts.map +1 -0
- package/scope/index.d.ts +1 -0
- package/scope/index.d.ts.map +1 -0
- package/scope/scope.instance.d.ts +7 -0
- package/scope/scope.instance.d.ts.map +1 -0
- package/scope/scope.registry.d.ts +6 -0
- package/scope/scope.registry.d.ts.map +1 -0
- package/scope/scope.utils.d.ts +3 -1
- package/scope/scope.utils.d.ts.map +1 -0
- package/server/adapters/base.host.adapter.d.ts +1 -0
- package/server/adapters/base.host.adapter.d.ts.map +1 -0
- package/server/adapters/express.host.adapter.d.ts +1 -0
- package/server/adapters/express.host.adapter.d.ts.map +1 -0
- package/server/server.instance.d.ts +1 -0
- package/server/server.instance.d.ts.map +1 -0
- package/server/server.types.d.ts +1 -0
- package/server/server.types.d.ts.map +1 -0
- package/server/server.validation.d.ts +1 -0
- package/server/server.validation.d.ts.map +1 -0
- package/store/adapters/store.base.adapter.d.ts +1 -0
- package/store/adapters/store.base.adapter.d.ts.map +1 -0
- package/store/adapters/store.memory.adapter.d.ts +1 -0
- package/store/adapters/store.memory.adapter.d.ts.map +1 -0
- package/store/adapters/store.redis.adapter.d.ts +1 -0
- package/store/adapters/store.redis.adapter.d.ts.map +1 -0
- package/store/adapters/store.vercel-kv.adapter.d.ts +1 -0
- package/store/adapters/store.vercel-kv.adapter.d.ts.map +1 -0
- package/store/index.d.ts +1 -0
- package/store/index.d.ts.map +1 -0
- package/store/store.factory.d.ts +1 -0
- package/store/store.factory.d.ts.map +1 -0
- package/store/store.helpers.d.ts +1 -0
- package/store/store.helpers.d.ts.map +1 -0
- package/store/store.registry.d.ts +1 -0
- package/store/store.registry.d.ts.map +1 -0
- package/store/store.tokens.d.ts +1 -0
- package/store/store.tokens.d.ts.map +1 -0
- package/store/store.types.d.ts +1 -0
- package/store/store.types.d.ts.map +1 -0
- package/store/store.utils.d.ts +1 -0
- package/store/store.utils.d.ts.map +1 -0
- package/tool/flows/call-tool.flow.d.ts +9 -1
- package/tool/flows/call-tool.flow.d.ts.map +1 -0
- package/tool/flows/tools-list.flow.d.ts +8 -1
- package/tool/flows/tools-list.flow.d.ts.map +1 -0
- package/tool/tool.events.d.ts +3 -2
- package/tool/tool.events.d.ts.map +1 -0
- package/tool/tool.instance.d.ts +18 -1
- package/tool/tool.instance.d.ts.map +1 -0
- package/tool/tool.registry.d.ts +57 -5
- package/tool/tool.registry.d.ts.map +1 -0
- package/tool/tool.types.d.ts +5 -4
- package/tool/tool.types.d.ts.map +1 -0
- package/tool/tool.utils.d.ts +20 -3
- package/tool/tool.utils.d.ts.map +1 -0
- package/tool/ui/index.d.ts +1 -0
- package/tool/ui/index.d.ts.map +1 -0
- package/tool/ui/platform-adapters.d.ts +1 -0
- package/tool/ui/platform-adapters.d.ts.map +1 -0
- package/tool/ui/template-helpers.d.ts +1 -0
- package/tool/ui/template-helpers.d.ts.map +1 -0
- package/tool/ui/ui-resource-template.d.ts +1 -0
- package/tool/ui/ui-resource-template.d.ts.map +1 -0
- package/tool/ui/ui-resource.handler.d.ts +1 -0
- package/tool/ui/ui-resource.handler.d.ts.map +1 -0
- package/transport/adapters/sse-transport.d.ts +1 -0
- package/transport/adapters/sse-transport.d.ts.map +1 -0
- package/transport/adapters/streamable-http-transport.d.ts +27 -0
- package/transport/adapters/streamable-http-transport.d.ts.map +1 -0
- package/transport/adapters/transport.local.adapter.d.ts +12 -0
- package/transport/adapters/transport.local.adapter.d.ts.map +1 -0
- package/transport/adapters/transport.sse.adapter.d.ts +1 -0
- package/transport/adapters/transport.sse.adapter.d.ts.map +1 -0
- package/transport/adapters/transport.streamable-http.adapter.d.ts +1 -0
- package/transport/adapters/transport.streamable-http.adapter.d.ts.map +1 -0
- package/transport/flows/handle.sse.flow.d.ts +1 -0
- package/transport/flows/handle.sse.flow.d.ts.map +1 -0
- package/transport/flows/handle.stateless-http.flow.d.ts +1 -0
- package/transport/flows/handle.stateless-http.flow.d.ts.map +1 -0
- package/transport/flows/handle.streamable-http.flow.d.ts +1 -0
- package/transport/flows/handle.streamable-http.flow.d.ts.map +1 -0
- package/transport/index.d.ts +1 -0
- package/transport/index.d.ts.map +1 -0
- package/transport/legacy/legacy.sse.tranporter.d.ts +1 -0
- package/transport/legacy/legacy.sse.tranporter.d.ts.map +1 -0
- package/transport/mcp-handlers/Initialized-notification.hanlder.d.ts +1 -0
- package/transport/mcp-handlers/Initialized-notification.hanlder.d.ts.map +1 -0
- package/transport/mcp-handlers/call-tool-request.handler.d.ts +1 -0
- package/transport/mcp-handlers/call-tool-request.handler.d.ts.map +1 -0
- package/transport/mcp-handlers/complete-request.handler.d.ts +1 -0
- package/transport/mcp-handlers/complete-request.handler.d.ts.map +1 -0
- package/transport/mcp-handlers/get-prompt-request.handler.d.ts +1 -0
- package/transport/mcp-handlers/get-prompt-request.handler.d.ts.map +1 -0
- package/transport/mcp-handlers/index.d.ts +2 -1
- package/transport/mcp-handlers/index.d.ts.map +1 -0
- package/transport/mcp-handlers/initialize-request.handler.d.ts +1 -0
- package/transport/mcp-handlers/initialize-request.handler.d.ts.map +1 -0
- package/transport/mcp-handlers/list-prompts-request.handler.d.ts +1 -0
- package/transport/mcp-handlers/list-prompts-request.handler.d.ts.map +1 -0
- package/transport/mcp-handlers/list-resource-templates-request.handler.d.ts +1 -0
- package/transport/mcp-handlers/list-resource-templates-request.handler.d.ts.map +1 -0
- package/transport/mcp-handlers/list-resources-request.handler.d.ts +1 -0
- package/transport/mcp-handlers/list-resources-request.handler.d.ts.map +1 -0
- package/transport/mcp-handlers/list-tools-request.handler.d.ts +1 -0
- package/transport/mcp-handlers/list-tools-request.handler.d.ts.map +1 -0
- package/transport/mcp-handlers/logging-set-level-request.handler.d.ts +2 -1
- package/transport/mcp-handlers/logging-set-level-request.handler.d.ts.map +1 -0
- package/transport/mcp-handlers/mcp-handlers.types.d.ts +1 -0
- package/transport/mcp-handlers/mcp-handlers.types.d.ts.map +1 -0
- package/transport/mcp-handlers/read-resource-request.handler.d.ts +1 -0
- package/transport/mcp-handlers/read-resource-request.handler.d.ts.map +1 -0
- package/transport/mcp-handlers/roots-list-changed-notification.handler.d.ts +1 -0
- package/transport/mcp-handlers/roots-list-changed-notification.handler.d.ts.map +1 -0
- package/transport/mcp-handlers/subscribe-request.handler.d.ts +1 -0
- package/transport/mcp-handlers/subscribe-request.handler.d.ts.map +1 -0
- package/transport/mcp-handlers/unsubscribe-request.handler.d.ts +1 -0
- package/transport/mcp-handlers/unsubscribe-request.handler.d.ts.map +1 -0
- package/transport/transport.error.d.ts +1 -0
- package/transport/transport.error.d.ts.map +1 -0
- package/transport/transport.event-store.d.ts +1 -0
- package/transport/transport.event-store.d.ts.map +1 -0
- package/transport/transport.local.d.ts +1 -0
- package/transport/transport.local.d.ts.map +1 -0
- package/transport/transport.registry.d.ts +1 -0
- package/transport/transport.registry.d.ts.map +1 -0
- package/transport/transport.remote.d.ts +1 -0
- package/transport/transport.remote.d.ts.map +1 -0
- package/transport/transport.types.d.ts +2 -1
- package/transport/transport.types.d.ts.map +1 -0
- package/types/drinen-hooks.types.d.ts +1 -0
- package/types/drinen-hooks.types.d.ts.map +1 -0
- package/types/invoke.type.d.ts +1 -0
- package/types/invoke.type.d.ts.map +1 -0
- package/types/token.types.d.ts +1 -0
- package/types/token.types.d.ts.map +1 -0
- package/{utils/types.utils.d.ts → types/zod.types.d.ts} +1 -0
- package/types/zod.types.d.ts.map +1 -0
- package/utils/content.utils.d.ts +1 -19
- package/utils/content.utils.d.ts.map +1 -0
- package/utils/index.d.ts +3 -7
- package/utils/index.d.ts.map +1 -0
- package/utils/lineage.utils.d.ts +1 -0
- package/utils/lineage.utils.d.ts.map +1 -0
- package/utils/naming.utils.d.ts +2 -34
- package/utils/naming.utils.d.ts.map +1 -0
- package/common/constants.d.ts +0 -5
- package/esm/mcp-apps/index.mjs +0 -723
- package/exceptions/mcp-exceptions/session-missing.exception.d.ts +0 -3
- package/exceptions/mcp-exceptions/unsupported-client-version.exception.d.ts +0 -5
- package/mcp-apps/csp.d.ts +0 -111
- package/mcp-apps/index.d.ts +0 -23
- package/mcp-apps/index.js +0 -799
- package/mcp-apps/schemas.d.ts +0 -403
- package/mcp-apps/template.d.ts +0 -94
- package/mcp-apps/types.d.ts +0 -323
- package/utils/metadata.utils.d.ts +0 -5
- package/utils/server.utils.d.ts +0 -19
- package/utils/string.utils.d.ts +0 -1
- package/utils/token.utils.d.ts +0 -11
- package/utils/uri-template.utils.d.ts +0 -57
- package/utils/uri-validation.utils.d.ts +0 -40
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file mcp-client.service.ts
|
|
3
|
+
* @description Service for managing connections to remote MCP servers
|
|
4
|
+
*/
|
|
5
|
+
import type { Tool, Resource, ResourceTemplate, Prompt, CallToolResult, ReadResourceResult, GetPromptResult } from '@modelcontextprotocol/sdk/types.js';
|
|
6
|
+
import type { FrontMcpLogger } from '../common';
|
|
7
|
+
import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
|
|
8
|
+
import type { McpClientConnection, McpConnectionInfo, McpClientServiceOptions, McpConnectRequest, McpRemoteCapabilities, McpCapabilityChangeCallback, McpConnectionChangeCallback, McpUnsubscribeFn, McpRemoteAuthConfig, McpRemoteAuthContext } from './mcp-client.types';
|
|
9
|
+
import { CircuitBreaker, HealthChecker } from './resilience';
|
|
10
|
+
/**
|
|
11
|
+
* Service for managing connections to remote MCP servers.
|
|
12
|
+
*
|
|
13
|
+
* This service handles:
|
|
14
|
+
* - Connection lifecycle (connect, disconnect, reconnect)
|
|
15
|
+
* - Capability discovery (tools, resources, prompts)
|
|
16
|
+
* - Proxy execution (callTool, readResource, getPrompt)
|
|
17
|
+
* - Authentication context forwarding
|
|
18
|
+
* - Event subscriptions for capability and connection changes
|
|
19
|
+
*/
|
|
20
|
+
export declare class McpClientService {
|
|
21
|
+
private readonly connections;
|
|
22
|
+
private readonly capabilities;
|
|
23
|
+
private readonly configs;
|
|
24
|
+
private readonly options;
|
|
25
|
+
private readonly logger;
|
|
26
|
+
private readonly capabilityChangeCallbacks;
|
|
27
|
+
private readonly connectionChangeCallbacks;
|
|
28
|
+
private readonly refreshTimers;
|
|
29
|
+
private readonly refreshInProgress;
|
|
30
|
+
private readonly circuitBreakerManager;
|
|
31
|
+
private readonly healthCheckManager;
|
|
32
|
+
private readonly reconnectAttempts;
|
|
33
|
+
private readonly reconnectTimers;
|
|
34
|
+
constructor(logger: FrontMcpLogger, options?: McpClientServiceOptions);
|
|
35
|
+
/**
|
|
36
|
+
* Connect to a remote MCP server
|
|
37
|
+
*/
|
|
38
|
+
connect(request: McpConnectRequest): Promise<McpClientConnection>;
|
|
39
|
+
/**
|
|
40
|
+
* Disconnect from a remote MCP server
|
|
41
|
+
*/
|
|
42
|
+
disconnect(appId: string): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Reconnect to a remote MCP server
|
|
45
|
+
*/
|
|
46
|
+
reconnect(appId: string): Promise<McpClientConnection>;
|
|
47
|
+
/**
|
|
48
|
+
* Get connection status for an app
|
|
49
|
+
*/
|
|
50
|
+
getConnectionStatus(appId: string): McpConnectionInfo | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* Check if connected to an app
|
|
53
|
+
*/
|
|
54
|
+
isConnected(appId: string): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Discover capabilities from a remote server
|
|
57
|
+
*/
|
|
58
|
+
discoverCapabilities(appId: string): Promise<McpRemoteCapabilities>;
|
|
59
|
+
/**
|
|
60
|
+
* Get cached capabilities for an app
|
|
61
|
+
*/
|
|
62
|
+
getCapabilities(appId: string): McpRemoteCapabilities | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* List tools from a remote server
|
|
65
|
+
*/
|
|
66
|
+
listTools(appId: string): Promise<Tool[]>;
|
|
67
|
+
/**
|
|
68
|
+
* List resources from a remote server
|
|
69
|
+
*/
|
|
70
|
+
listResources(appId: string): Promise<Resource[]>;
|
|
71
|
+
/**
|
|
72
|
+
* List resource templates from a remote server
|
|
73
|
+
*/
|
|
74
|
+
listResourceTemplates(appId: string): Promise<ResourceTemplate[]>;
|
|
75
|
+
/**
|
|
76
|
+
* List prompts from a remote server
|
|
77
|
+
*/
|
|
78
|
+
listPrompts(appId: string): Promise<Prompt[]>;
|
|
79
|
+
/**
|
|
80
|
+
* Call a tool on a remote server with self-healing
|
|
81
|
+
*/
|
|
82
|
+
callTool(appId: string, toolName: string, args: Record<string, unknown>, authContext?: McpRemoteAuthContext): Promise<CallToolResult>;
|
|
83
|
+
/**
|
|
84
|
+
* Read a resource from a remote server
|
|
85
|
+
*/
|
|
86
|
+
readResource(appId: string, uri: string, authContext?: McpRemoteAuthContext): Promise<ReadResourceResult>;
|
|
87
|
+
/**
|
|
88
|
+
* Get a prompt from a remote server
|
|
89
|
+
*/
|
|
90
|
+
getPrompt(appId: string, promptName: string, args: Record<string, string>, authContext?: McpRemoteAuthContext): Promise<GetPromptResult>;
|
|
91
|
+
/**
|
|
92
|
+
* Subscribe to capability change events
|
|
93
|
+
*/
|
|
94
|
+
onCapabilityChange(callback: McpCapabilityChangeCallback): McpUnsubscribeFn;
|
|
95
|
+
/**
|
|
96
|
+
* Subscribe to connection status change events
|
|
97
|
+
*/
|
|
98
|
+
onConnectionChange(callback: McpConnectionChangeCallback): McpUnsubscribeFn;
|
|
99
|
+
/**
|
|
100
|
+
* Resolve authentication headers for a remote request
|
|
101
|
+
*/
|
|
102
|
+
resolveAuthHeaders(appId: string, authConfig: McpRemoteAuthConfig | undefined, gatewayAuthInfo?: AuthInfo): Promise<Record<string, string>>;
|
|
103
|
+
/**
|
|
104
|
+
* Disconnect from all remote servers and clean up
|
|
105
|
+
*/
|
|
106
|
+
dispose(): Promise<void>;
|
|
107
|
+
private getConnection;
|
|
108
|
+
/**
|
|
109
|
+
* Create transport for a remote connection.
|
|
110
|
+
*
|
|
111
|
+
* Note: For HTTP transport with fallback, the initial transport is Streamable HTTP.
|
|
112
|
+
* If connection fails with Streamable HTTP, use createFallbackTransport() to get SSE.
|
|
113
|
+
*/
|
|
114
|
+
private createTransport;
|
|
115
|
+
/**
|
|
116
|
+
* Create fallback SSE transport when Streamable HTTP fails
|
|
117
|
+
*/
|
|
118
|
+
private createFallbackSSETransport;
|
|
119
|
+
/**
|
|
120
|
+
* Check if fallback to SSE is enabled for a request
|
|
121
|
+
*/
|
|
122
|
+
private shouldFallbackToSSE;
|
|
123
|
+
private listToolsInternal;
|
|
124
|
+
private listResourcesInternal;
|
|
125
|
+
private listResourceTemplatesInternal;
|
|
126
|
+
private listPromptsInternal;
|
|
127
|
+
private updateConnectionStatus;
|
|
128
|
+
private emitCapabilityChangeIfNeeded;
|
|
129
|
+
private startCapabilityRefresh;
|
|
130
|
+
private stopCapabilityRefresh;
|
|
131
|
+
private buildAuthHeaders;
|
|
132
|
+
/**
|
|
133
|
+
* Schedule an auto-reconnect attempt for an app
|
|
134
|
+
*/
|
|
135
|
+
private scheduleAutoReconnect;
|
|
136
|
+
/**
|
|
137
|
+
* Cancel scheduled auto-reconnect for an app
|
|
138
|
+
*/
|
|
139
|
+
private cancelAutoReconnect;
|
|
140
|
+
/**
|
|
141
|
+
* Handle health status changes for proactive healing
|
|
142
|
+
*/
|
|
143
|
+
private handleHealthStatusChange;
|
|
144
|
+
/**
|
|
145
|
+
* Start health checking for an app
|
|
146
|
+
*/
|
|
147
|
+
private startHealthCheck;
|
|
148
|
+
/**
|
|
149
|
+
* Stop health checking for an app
|
|
150
|
+
*/
|
|
151
|
+
private stopHealthCheck;
|
|
152
|
+
/**
|
|
153
|
+
* Get circuit breaker status for an app
|
|
154
|
+
*/
|
|
155
|
+
getCircuitBreakerStatus(appId: string): ReturnType<CircuitBreaker['getStats']> | undefined;
|
|
156
|
+
/**
|
|
157
|
+
* Get health check status for an app
|
|
158
|
+
*/
|
|
159
|
+
getHealthStatus(appId: string): ReturnType<HealthChecker['getLastResult']> | undefined;
|
|
160
|
+
/**
|
|
161
|
+
* Manually reset circuit breaker for an app
|
|
162
|
+
*/
|
|
163
|
+
resetCircuitBreaker(appId: string): void;
|
|
164
|
+
/**
|
|
165
|
+
* Force a health check for an app
|
|
166
|
+
*/
|
|
167
|
+
forceHealthCheck(appId: string): Promise<void>;
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=mcp-client.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-client.service.d.ts","sourceRoot":"","sources":["../../src/remote-mcp/mcp-client.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file mcp-client.types.ts
|
|
3
|
+
* @description Types for MCP client connections to remote servers
|
|
4
|
+
*/
|
|
5
|
+
import type { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
6
|
+
import type { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
|
|
7
|
+
import type { Tool, Resource, ResourceTemplate, Prompt, ServerCapabilities, CallToolResult, ReadResourceResult, GetPromptResult } from '@modelcontextprotocol/sdk/types.js';
|
|
8
|
+
import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Connection status for a remote MCP server
|
|
11
|
+
*/
|
|
12
|
+
export type McpConnectionStatus = 'connecting' | 'connected' | 'disconnected' | 'error';
|
|
13
|
+
/**
|
|
14
|
+
* Represents an active connection to a remote MCP server
|
|
15
|
+
*/
|
|
16
|
+
export interface McpClientConnection {
|
|
17
|
+
/** The MCP client instance */
|
|
18
|
+
client: Client;
|
|
19
|
+
/** The transport used for communication */
|
|
20
|
+
transport: Transport;
|
|
21
|
+
/** Session ID assigned by the remote server (if any) */
|
|
22
|
+
sessionId?: string;
|
|
23
|
+
/** Current connection status */
|
|
24
|
+
status: McpConnectionStatus;
|
|
25
|
+
/** Last error if status is 'error' */
|
|
26
|
+
lastError?: Error;
|
|
27
|
+
/** Server capabilities reported during initialization */
|
|
28
|
+
capabilities?: ServerCapabilities;
|
|
29
|
+
/** Timestamp of last successful communication */
|
|
30
|
+
lastHeartbeat?: Date;
|
|
31
|
+
/** Timestamp when connection was established */
|
|
32
|
+
connectedAt?: Date;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Summary of connection status for external consumers
|
|
36
|
+
*/
|
|
37
|
+
export interface McpConnectionInfo {
|
|
38
|
+
appId: string;
|
|
39
|
+
status: McpConnectionStatus;
|
|
40
|
+
sessionId?: string;
|
|
41
|
+
connectedAt?: Date;
|
|
42
|
+
lastHeartbeat?: Date;
|
|
43
|
+
capabilities?: ServerCapabilities;
|
|
44
|
+
error?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Supported transport types for remote MCP connections
|
|
48
|
+
*/
|
|
49
|
+
export type McpTransportType = 'http' | 'sse' | 'worker' | 'npm' | 'esm';
|
|
50
|
+
/**
|
|
51
|
+
* Options for HTTP-based transports (Streamable HTTP and SSE)
|
|
52
|
+
*/
|
|
53
|
+
export interface McpHttpTransportOptions {
|
|
54
|
+
/** Request timeout in milliseconds (default: 30000) */
|
|
55
|
+
timeout?: number;
|
|
56
|
+
/** Number of retry attempts for failed requests (default: 3) */
|
|
57
|
+
retryAttempts?: number;
|
|
58
|
+
/** Delay between retries in milliseconds (default: 1000) */
|
|
59
|
+
retryDelayMs?: number;
|
|
60
|
+
/** Whether to fallback to SSE if Streamable HTTP fails (default: true) */
|
|
61
|
+
fallbackToSSE?: boolean;
|
|
62
|
+
/** Additional headers to include in all requests */
|
|
63
|
+
headers?: Record<string, string>;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Options for Worker subprocess transport
|
|
67
|
+
*/
|
|
68
|
+
export interface McpWorkerTransportOptions {
|
|
69
|
+
/** Path to the worker script */
|
|
70
|
+
workerPath: string;
|
|
71
|
+
/** Environment variables for the worker process */
|
|
72
|
+
env?: Record<string, string>;
|
|
73
|
+
/** Working directory for the worker process */
|
|
74
|
+
cwd?: string;
|
|
75
|
+
/** Timeout for worker startup in milliseconds (default: 10000) */
|
|
76
|
+
startupTimeout?: number;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Options for ESM/NPM dynamic import transport
|
|
80
|
+
*/
|
|
81
|
+
export interface McpEsmTransportOptions {
|
|
82
|
+
/** Package name or URL (e.g., '@frontmcp/slack-mcp@latest' or 'https://esm.sh/...') */
|
|
83
|
+
packageUrl: string;
|
|
84
|
+
/** Import map for module resolution */
|
|
85
|
+
importMap?: Record<string, string>;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Union of all transport options
|
|
89
|
+
*/
|
|
90
|
+
export type McpTransportOptions = McpHttpTransportOptions | McpWorkerTransportOptions | McpEsmTransportOptions;
|
|
91
|
+
/**
|
|
92
|
+
* Static credentials for remote server authentication
|
|
93
|
+
*/
|
|
94
|
+
export interface McpStaticCredentials {
|
|
95
|
+
type: 'bearer' | 'basic' | 'apiKey';
|
|
96
|
+
value: string;
|
|
97
|
+
/** Header name for apiKey type (default: 'X-API-Key') */
|
|
98
|
+
headerName?: string;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Authentication configuration for remote MCP connections
|
|
102
|
+
*/
|
|
103
|
+
export type McpRemoteAuthConfig = {
|
|
104
|
+
/** Use static credentials */
|
|
105
|
+
mode: 'static';
|
|
106
|
+
credentials: McpStaticCredentials;
|
|
107
|
+
} | {
|
|
108
|
+
/** Forward gateway user's token to remote server */
|
|
109
|
+
mode: 'forward';
|
|
110
|
+
/** Specific claim to extract from token (default: entire token) */
|
|
111
|
+
tokenClaim?: string;
|
|
112
|
+
/** Header name to use (default: 'Authorization') */
|
|
113
|
+
headerName?: string;
|
|
114
|
+
} | {
|
|
115
|
+
/** Map gateway auth info to remote credentials */
|
|
116
|
+
mode: 'mapped';
|
|
117
|
+
mapper: (authInfo: AuthInfo | undefined) => McpStaticCredentials | Promise<McpStaticCredentials>;
|
|
118
|
+
} | {
|
|
119
|
+
/** Let remote server handle its own OAuth flow */
|
|
120
|
+
mode: 'oauth';
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Resolved authentication context for a remote call
|
|
124
|
+
*/
|
|
125
|
+
export interface McpRemoteAuthContext {
|
|
126
|
+
/** Gateway auth info (if available) - may be partial if not fully authenticated */
|
|
127
|
+
authInfo?: Partial<AuthInfo>;
|
|
128
|
+
/** Resolved headers to send to remote server */
|
|
129
|
+
headers?: Record<string, string>;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Cached capabilities from a remote server
|
|
133
|
+
*/
|
|
134
|
+
export interface McpRemoteCapabilities {
|
|
135
|
+
/** Tools available on the remote server */
|
|
136
|
+
tools: Tool[];
|
|
137
|
+
/** Resources available on the remote server */
|
|
138
|
+
resources: Resource[];
|
|
139
|
+
/** Resource templates available on the remote server */
|
|
140
|
+
resourceTemplates: ResourceTemplate[];
|
|
141
|
+
/** Prompts available on the remote server */
|
|
142
|
+
prompts: Prompt[];
|
|
143
|
+
/** Timestamp when capabilities were last fetched */
|
|
144
|
+
fetchedAt: Date;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Event emitted when remote capabilities change
|
|
148
|
+
*/
|
|
149
|
+
export interface McpCapabilityChangeEvent {
|
|
150
|
+
appId: string;
|
|
151
|
+
kind: 'tools' | 'resources' | 'prompts' | 'all';
|
|
152
|
+
previousCount: number;
|
|
153
|
+
newCount: number;
|
|
154
|
+
timestamp: Date;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Retry options for self-healing
|
|
158
|
+
*/
|
|
159
|
+
export interface McpRetryOptions {
|
|
160
|
+
/** Maximum number of retry attempts (default: 3) */
|
|
161
|
+
maxAttempts?: number;
|
|
162
|
+
/** Initial delay in milliseconds (default: 1000) */
|
|
163
|
+
initialDelayMs?: number;
|
|
164
|
+
/** Maximum delay in milliseconds (default: 10000) */
|
|
165
|
+
maxDelayMs?: number;
|
|
166
|
+
/** Backoff multiplier (default: 2) */
|
|
167
|
+
backoffMultiplier?: number;
|
|
168
|
+
/** Jitter factor 0-1 to randomize delays (default: 0.1) */
|
|
169
|
+
jitterFactor?: number;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Circuit breaker options
|
|
173
|
+
*/
|
|
174
|
+
export interface McpCircuitBreakerOptions {
|
|
175
|
+
/** Number of failures before opening circuit (default: 5) */
|
|
176
|
+
failureThreshold?: number;
|
|
177
|
+
/** Time in ms before attempting to close circuit (default: 30000) */
|
|
178
|
+
resetTimeoutMs?: number;
|
|
179
|
+
/** Number of successful calls in half-open to close circuit (default: 2) */
|
|
180
|
+
successThreshold?: number;
|
|
181
|
+
/** Time window in ms for counting failures (default: 60000) */
|
|
182
|
+
failureWindowMs?: number;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Health check options
|
|
186
|
+
*/
|
|
187
|
+
export interface McpHealthCheckOptions {
|
|
188
|
+
/** Interval between health checks in ms (default: 30000) */
|
|
189
|
+
intervalMs?: number;
|
|
190
|
+
/** Timeout for health check in ms (default: 5000) */
|
|
191
|
+
timeoutMs?: number;
|
|
192
|
+
/** Number of failures before marking unhealthy (default: 3) */
|
|
193
|
+
unhealthyThreshold?: number;
|
|
194
|
+
/** Number of successes before marking healthy (default: 2) */
|
|
195
|
+
healthyThreshold?: number;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Configuration for the MCP client service
|
|
199
|
+
*/
|
|
200
|
+
export interface McpClientServiceOptions {
|
|
201
|
+
/** Interval for capability refresh in ms (0 = no refresh, default: 0) */
|
|
202
|
+
capabilityRefreshInterval?: number;
|
|
203
|
+
/** Client name reported to remote servers (default: 'frontmcp-gateway') */
|
|
204
|
+
clientName?: string;
|
|
205
|
+
/** Client version reported to remote servers (default: '1.0.0') */
|
|
206
|
+
clientVersion?: string;
|
|
207
|
+
/** Enable debug logging */
|
|
208
|
+
debug?: boolean;
|
|
209
|
+
/** Enable retry with exponential backoff for transient failures (default: true) */
|
|
210
|
+
enableRetry?: boolean;
|
|
211
|
+
/** Retry configuration options */
|
|
212
|
+
retryOptions?: McpRetryOptions;
|
|
213
|
+
/** Enable circuit breaker to prevent cascading failures (default: true) */
|
|
214
|
+
enableCircuitBreaker?: boolean;
|
|
215
|
+
/** Circuit breaker configuration options */
|
|
216
|
+
circuitBreakerOptions?: McpCircuitBreakerOptions;
|
|
217
|
+
/** Enable health checking for proactive monitoring (default: true) */
|
|
218
|
+
enableHealthCheck?: boolean;
|
|
219
|
+
/** Health check configuration options */
|
|
220
|
+
healthCheckOptions?: McpHealthCheckOptions;
|
|
221
|
+
/** Enable automatic reconnection on connection failures (default: true) */
|
|
222
|
+
enableAutoReconnect?: boolean;
|
|
223
|
+
/** Base delay between auto-reconnect attempts in ms (default: 5000) */
|
|
224
|
+
autoReconnectDelayMs?: number;
|
|
225
|
+
/** Maximum number of auto-reconnect attempts (default: 3) */
|
|
226
|
+
maxAutoReconnectAttempts?: number;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Request to connect to a remote MCP server
|
|
230
|
+
*/
|
|
231
|
+
export interface McpConnectRequest {
|
|
232
|
+
/** Unique identifier for this remote app */
|
|
233
|
+
appId: string;
|
|
234
|
+
/** Display name for the remote app */
|
|
235
|
+
name: string;
|
|
236
|
+
/** Transport type to use */
|
|
237
|
+
transportType: McpTransportType;
|
|
238
|
+
/** URL or path for the remote server */
|
|
239
|
+
url: string;
|
|
240
|
+
/** Transport-specific options */
|
|
241
|
+
transportOptions?: McpTransportOptions;
|
|
242
|
+
/** Authentication configuration */
|
|
243
|
+
auth?: McpRemoteAuthConfig;
|
|
244
|
+
/** Namespace prefix for tool names (default: appId) */
|
|
245
|
+
namespace?: string;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Result of a tool call to a remote server
|
|
249
|
+
*/
|
|
250
|
+
export interface McpRemoteCallToolResult {
|
|
251
|
+
/** The raw result from the remote server */
|
|
252
|
+
result: CallToolResult;
|
|
253
|
+
/** Duration of the call in milliseconds */
|
|
254
|
+
durationMs: number;
|
|
255
|
+
/** Whether the call was successful */
|
|
256
|
+
success: boolean;
|
|
257
|
+
/** Error if the call failed */
|
|
258
|
+
error?: Error;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Result of a resource read from a remote server
|
|
262
|
+
*/
|
|
263
|
+
export interface McpRemoteReadResourceResult {
|
|
264
|
+
/** The raw result from the remote server */
|
|
265
|
+
result: ReadResourceResult;
|
|
266
|
+
/** Duration of the call in milliseconds */
|
|
267
|
+
durationMs: number;
|
|
268
|
+
/** Whether the call was successful */
|
|
269
|
+
success: boolean;
|
|
270
|
+
/** Error if the call failed */
|
|
271
|
+
error?: Error;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Result of a prompt get from a remote server
|
|
275
|
+
*/
|
|
276
|
+
export interface McpRemoteGetPromptResult {
|
|
277
|
+
/** The raw result from the remote server */
|
|
278
|
+
result: GetPromptResult;
|
|
279
|
+
/** Duration of the call in milliseconds */
|
|
280
|
+
durationMs: number;
|
|
281
|
+
/** Whether the call was successful */
|
|
282
|
+
success: boolean;
|
|
283
|
+
/** Error if the call failed */
|
|
284
|
+
error?: Error;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Callback for capability change notifications
|
|
288
|
+
*/
|
|
289
|
+
export type McpCapabilityChangeCallback = (event: McpCapabilityChangeEvent) => void;
|
|
290
|
+
/**
|
|
291
|
+
* Callback for connection status changes
|
|
292
|
+
*/
|
|
293
|
+
export type McpConnectionChangeCallback = (appId: string, status: McpConnectionStatus, error?: Error) => void;
|
|
294
|
+
/**
|
|
295
|
+
* Unsubscribe function returned by event subscriptions
|
|
296
|
+
*/
|
|
297
|
+
export type McpUnsubscribeFn = () => void;
|
|
298
|
+
//# sourceMappingURL=mcp-client.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-client.types.d.ts","sourceRoot":"","sources":["../../src/remote-mcp/mcp-client.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,MAAM,EACN,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAM/E;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,OAAO,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,SAAS,EAAE,SAAS,CAAC;IACrB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,sCAAsC;IACtC,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,yDAAyD;IACzD,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,iDAAiD;IACjD,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,gDAAgD;IAChD,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,uFAAuF;IACvF,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,GAAG,yBAAyB,GAAG,sBAAsB,CAAC;AAM/G;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IACE,6BAA6B;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,oBAAoB,CAAC;CACnC,GACD;IACE,oDAAoD;IACpD,IAAI,EAAE,SAAS,CAAC;IAChB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACD;IACE,kDAAkD;IAClD,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,KAAK,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAClG,GACD;IACE,kDAAkD;IAClD,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEN;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7B,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAMD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,+CAA+C;IAC/C,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,wDAAwD;IACxD,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,6CAA6C;IAC7C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,oDAAoD;IACpD,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,KAAK,CAAC;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;CACjB;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,yEAAyE;IACzE,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAMhB,mFAAmF;IACnF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,YAAY,CAAC,EAAE,eAAe,CAAC;IAE/B,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,4CAA4C;IAC5C,qBAAqB,CAAC,EAAE,wBAAwB,CAAC;IAEjD,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC;IAE3C,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6DAA6D;IAC7D,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,aAAa,EAAE,gBAAgB,CAAC;IAChC,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC,mCAAmC;IACnC,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,4CAA4C;IAC5C,MAAM,EAAE,cAAc,CAAC;IACvB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,4CAA4C;IAC5C,MAAM,EAAE,kBAAkB,CAAC;IAC3B,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,4CAA4C;IAC5C,MAAM,EAAE,eAAe,CAAC;IACxB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAMD;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,KAAK,EAAE,wBAAwB,KAAK,IAAI,CAAC;AAEpF;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAE9G;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file circuit-breaker.ts
|
|
3
|
+
* @description Circuit breaker pattern for preventing cascading failures in remote MCP operations
|
|
4
|
+
*/
|
|
5
|
+
export type CircuitState = 'closed' | 'open' | 'half-open';
|
|
6
|
+
export interface CircuitBreakerOptions {
|
|
7
|
+
/** Number of failures before opening circuit (default: 5) */
|
|
8
|
+
failureThreshold?: number;
|
|
9
|
+
/** Time in ms before attempting to close circuit (default: 30000) */
|
|
10
|
+
resetTimeoutMs?: number;
|
|
11
|
+
/** Number of successful calls in half-open to close circuit (default: 2) */
|
|
12
|
+
successThreshold?: number;
|
|
13
|
+
/** Time window in ms for counting failures (default: 60000) */
|
|
14
|
+
failureWindowMs?: number;
|
|
15
|
+
/** Callback when state changes */
|
|
16
|
+
onStateChange?: (state: CircuitState, previousState: CircuitState) => void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Circuit breaker for a specific remote app connection.
|
|
20
|
+
*
|
|
21
|
+
* States:
|
|
22
|
+
* - CLOSED: Normal operation, requests pass through
|
|
23
|
+
* - OPEN: Failures exceeded threshold, requests fail immediately
|
|
24
|
+
* - HALF-OPEN: Testing if service recovered, limited requests allowed
|
|
25
|
+
*/
|
|
26
|
+
export declare class CircuitBreaker {
|
|
27
|
+
private readonly appId;
|
|
28
|
+
private readonly options;
|
|
29
|
+
private state;
|
|
30
|
+
private failures;
|
|
31
|
+
private successCount;
|
|
32
|
+
private lastFailureTime?;
|
|
33
|
+
private nextAttemptTime?;
|
|
34
|
+
constructor(appId: string, options?: CircuitBreakerOptions);
|
|
35
|
+
/**
|
|
36
|
+
* Get current circuit state
|
|
37
|
+
*/
|
|
38
|
+
getState(): CircuitState;
|
|
39
|
+
/**
|
|
40
|
+
* Check if the circuit allows requests
|
|
41
|
+
*/
|
|
42
|
+
canExecute(): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Record a successful operation
|
|
45
|
+
*/
|
|
46
|
+
recordSuccess(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Record a failed operation
|
|
49
|
+
*/
|
|
50
|
+
recordFailure(error: Error): void;
|
|
51
|
+
/**
|
|
52
|
+
* Force reset the circuit to closed state
|
|
53
|
+
*/
|
|
54
|
+
reset(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Get circuit breaker stats
|
|
57
|
+
*/
|
|
58
|
+
getStats(): {
|
|
59
|
+
state: CircuitState;
|
|
60
|
+
failureCount: number;
|
|
61
|
+
successCount: number;
|
|
62
|
+
lastFailureTime?: number;
|
|
63
|
+
nextAttemptTime?: number;
|
|
64
|
+
};
|
|
65
|
+
private transitionTo;
|
|
66
|
+
private cleanOldFailures;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Error thrown when circuit is open
|
|
70
|
+
*/
|
|
71
|
+
export declare class CircuitOpenError extends Error {
|
|
72
|
+
readonly appId: string;
|
|
73
|
+
readonly nextAttemptTime?: number;
|
|
74
|
+
constructor(appId: string, nextAttemptTime?: number);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Manager for multiple circuit breakers (one per remote app)
|
|
78
|
+
*/
|
|
79
|
+
export declare class CircuitBreakerManager {
|
|
80
|
+
private readonly breakers;
|
|
81
|
+
private readonly defaultOptions;
|
|
82
|
+
constructor(defaultOptions?: CircuitBreakerOptions);
|
|
83
|
+
/**
|
|
84
|
+
* Get or create a circuit breaker for an app
|
|
85
|
+
*/
|
|
86
|
+
getBreaker(appId: string, options?: CircuitBreakerOptions): CircuitBreaker;
|
|
87
|
+
/**
|
|
88
|
+
* Remove a circuit breaker
|
|
89
|
+
*/
|
|
90
|
+
removeBreaker(appId: string): void;
|
|
91
|
+
/**
|
|
92
|
+
* Reset all circuit breakers
|
|
93
|
+
*/
|
|
94
|
+
resetAll(): void;
|
|
95
|
+
/**
|
|
96
|
+
* Get stats for all circuit breakers
|
|
97
|
+
*/
|
|
98
|
+
getAllStats(): Map<string, ReturnType<CircuitBreaker['getStats']>>;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=circuit-breaker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"circuit-breaker.d.ts","sourceRoot":"","sources":["../../../src/remote-mcp/resilience/circuit-breaker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE3D,MAAM,WAAW,qBAAqB;IACpC,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,KAAK,IAAI,CAAC;CAC5E;AAeD;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAE1D,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,eAAe,CAAC,CAAS;gBAErB,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B;IAK9D;;OAEG;IACH,QAAQ,IAAI,YAAY;IAIxB;;OAEG;IACH,UAAU,IAAI,OAAO;IAwBrB;;OAEG;IACH,aAAa,IAAI,IAAI;IAmBrB;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAoBjC;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,QAAQ,IAAI;QACV,KAAK,EAAE,YAAY,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B;IAeD,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,gBAAgB;CAIzB;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;gBAEtB,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM;CAOpD;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;gBAE3C,cAAc,GAAE,qBAA0B;IAItD;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,cAAc;IAS1E;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIlC;;OAEG;IACH,QAAQ,IAAI,IAAI;IAMhB;;OAEG;IACH,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;CAOnE"}
|