@frontmcp/sdk 0.6.1 → 0.6.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/{src/auth → auth}/instances/instance.local-primary-auth.d.ts +1 -1
- package/{src/auth → auth}/instances/instance.remote-primary-auth.d.ts +1 -1
- package/{src/common → common}/interfaces/internal/primary-auth-provider.interface.d.ts +1 -4
- package/{src/common → common}/metadata/front-mcp.metadata.d.ts +1074 -44
- package/common/types/options/auth/app-auth.schema.d.ts +275 -0
- package/common/types/options/auth/auth.interfaces.d.ts +461 -0
- package/common/types/options/auth/auth.schema.d.ts +284 -0
- package/common/types/options/auth/auth.utils.d.ts +32 -0
- package/common/types/options/auth/index.d.ts +16 -0
- package/common/types/options/auth/orchestrated.schema.d.ts +381 -0
- package/common/types/options/auth/public.schema.d.ts +42 -0
- package/common/types/options/auth/shared.schemas.d.ts +120 -0
- package/common/types/options/auth/transparent.schema.d.ts +56 -0
- package/common/types/options/auth/transport.deprecated.d.ts +63 -0
- package/{src/common → common}/types/options/index.d.ts +1 -1
- package/{src/common → common}/types/options/transport.options.d.ts +6 -1
- package/{src/common → common}/utils/decide-request-intent.utils.d.ts +6 -7
- package/esm/index.mjs +22664 -0
- package/esm/mcp-apps/index.mjs +723 -0
- package/esm/package.json +81 -0
- package/index.js +22957 -0
- package/logger/logger.tokens.d.ts +1 -0
- package/mcp-apps/index.js +799 -0
- package/package.json +26 -13
- package/README.md +0 -461
- package/src/adapter/adapter.instance.js +0 -70
- package/src/adapter/adapter.instance.js.map +0 -1
- package/src/adapter/adapter.regsitry.js +0 -54
- package/src/adapter/adapter.regsitry.js.map +0 -1
- package/src/adapter/adapter.utils.js +0 -83
- package/src/adapter/adapter.utils.js.map +0 -1
- package/src/app/app.registry.js +0 -66
- package/src/app/app.registry.js.map +0 -1
- package/src/app/app.utils.js +0 -58
- package/src/app/app.utils.js.map +0 -1
- package/src/app/instances/app.local.instance.js +0 -67
- package/src/app/instances/app.local.instance.js.map +0 -1
- package/src/app/instances/app.remote.instance.js +0 -36
- package/src/app/instances/app.remote.instance.js.map +0 -1
- package/src/app/instances/index.js +0 -6
- package/src/app/instances/index.js.map +0 -1
- package/src/auth/auth.registry.js +0 -219
- package/src/auth/auth.registry.js.map +0 -1
- package/src/auth/auth.utils.js +0 -84
- package/src/auth/auth.utils.js.map +0 -1
- package/src/auth/authorization/authorization.class.js +0 -217
- package/src/auth/authorization/authorization.class.js.map +0 -1
- package/src/auth/authorization/authorization.types.js +0 -79
- package/src/auth/authorization/authorization.types.js.map +0 -1
- package/src/auth/authorization/index.js +0 -19
- package/src/auth/authorization/index.js.map +0 -1
- package/src/auth/authorization/orchestrated.authorization.js +0 -306
- package/src/auth/authorization/orchestrated.authorization.js.map +0 -1
- package/src/auth/authorization/public.authorization.js +0 -132
- package/src/auth/authorization/public.authorization.js.map +0 -1
- package/src/auth/authorization/transparent.authorization.js +0 -147
- package/src/auth/authorization/transparent.authorization.js.map +0 -1
- package/src/auth/consent/consent.types.js +0 -119
- package/src/auth/consent/consent.types.js.map +0 -1
- package/src/auth/consent/index.js +0 -13
- package/src/auth/consent/index.js.map +0 -1
- package/src/auth/detection/auth-provider-detection.js +0 -230
- package/src/auth/detection/auth-provider-detection.js.map +0 -1
- package/src/auth/detection/index.js +0 -15
- package/src/auth/detection/index.js.map +0 -1
- package/src/auth/flows/auth.verify.flow.js +0 -379
- package/src/auth/flows/auth.verify.flow.js.map +0 -1
- package/src/auth/flows/oauth.authorize.flow.js +0 -822
- package/src/auth/flows/oauth.authorize.flow.js.map +0 -1
- package/src/auth/flows/oauth.callback.flow.js +0 -357
- package/src/auth/flows/oauth.callback.flow.js.map +0 -1
- package/src/auth/flows/oauth.register.flow.js +0 -201
- package/src/auth/flows/oauth.register.flow.js.map +0 -1
- package/src/auth/flows/oauth.token.flow.js +0 -319
- package/src/auth/flows/oauth.token.flow.js.map +0 -1
- package/src/auth/flows/session.verify.flow.js +0 -304
- package/src/auth/flows/session.verify.flow.js.map +0 -1
- package/src/auth/flows/well-known.jwks.flow.js +0 -89
- package/src/auth/flows/well-known.jwks.flow.js.map +0 -1
- package/src/auth/flows/well-known.oauth-authorization-server.flow.js +0 -122
- package/src/auth/flows/well-known.oauth-authorization-server.flow.js.map +0 -1
- package/src/auth/flows/well-known.prm.flow.js +0 -106
- package/src/auth/flows/well-known.prm.flow.js.map +0 -1
- package/src/auth/instances/instance.local-primary-auth.js +0 -308
- package/src/auth/instances/instance.local-primary-auth.js.map +0 -1
- package/src/auth/instances/instance.remote-primary-auth.js +0 -49
- package/src/auth/instances/instance.remote-primary-auth.js.map +0 -1
- package/src/auth/jwks/dev-key-persistence.js +0 -219
- package/src/auth/jwks/dev-key-persistence.js.map +0 -1
- package/src/auth/jwks/index.js +0 -7
- package/src/auth/jwks/index.js.map +0 -1
- package/src/auth/jwks/jwks.service.js +0 -303
- package/src/auth/jwks/jwks.service.js.map +0 -1
- package/src/auth/jwks/jwks.types.js +0 -3
- package/src/auth/jwks/jwks.types.js.map +0 -1
- package/src/auth/jwks/jwks.utils.js +0 -32
- package/src/auth/jwks/jwks.utils.js.map +0 -1
- package/src/auth/machine-id.js +0 -32
- package/src/auth/machine-id.js.map +0 -1
- package/src/auth/oauth/flows/oauth.authorize.flow.js +0 -33
- package/src/auth/oauth/flows/oauth.authorize.flow.js.map +0 -1
- package/src/auth/oauth/flows/oauth.device-authorization.flow.js +0 -48
- package/src/auth/oauth/flows/oauth.device-authorization.flow.js.map +0 -1
- package/src/auth/oauth/flows/oauth.introspect.flow.js +0 -28
- package/src/auth/oauth/flows/oauth.introspect.flow.js.map +0 -1
- package/src/auth/oauth/flows/oauth.par.flow.js +0 -29
- package/src/auth/oauth/flows/oauth.par.flow.js.map +0 -1
- package/src/auth/oauth/flows/oauth.revoke.flow.js +0 -27
- package/src/auth/oauth/flows/oauth.revoke.flow.js.map +0 -1
- package/src/auth/oauth/flows/oauth.token.flow.js +0 -59
- package/src/auth/oauth/flows/oauth.token.flow.js.map +0 -1
- package/src/auth/oauth/flows/oauth.userinfo.flow.js +0 -24
- package/src/auth/oauth/flows/oauth.userinfo.flow.js.map +0 -1
- package/src/auth/oauth/flows/oidc.logout.flow.js +0 -20
- package/src/auth/oauth/flows/oidc.logout.flow.js.map +0 -1
- package/src/auth/session/authorization-vault.js +0 -817
- package/src/auth/session/authorization-vault.js.map +0 -1
- package/src/auth/session/authorization.store.js +0 -323
- package/src/auth/session/authorization.store.js.map +0 -1
- package/src/auth/session/encrypted-authorization-vault.js +0 -493
- package/src/auth/session/encrypted-authorization-vault.js.map +0 -1
- package/src/auth/session/index.js +0 -18
- package/src/auth/session/index.js.map +0 -1
- package/src/auth/session/record/session.base.js +0 -125
- package/src/auth/session/record/session.base.js.map +0 -1
- package/src/auth/session/record/session.stateful.js +0 -55
- package/src/auth/session/record/session.stateful.js.map +0 -1
- package/src/auth/session/record/session.stateless.js +0 -32
- package/src/auth/session/record/session.stateless.js.map +0 -1
- package/src/auth/session/record/session.transparent.js +0 -22
- package/src/auth/session/record/session.transparent.js.map +0 -1
- package/src/auth/session/redis-session.store.js +0 -204
- package/src/auth/session/redis-session.store.js.map +0 -1
- package/src/auth/session/session.crypto.js +0 -47
- package/src/auth/session/session.crypto.js.map +0 -1
- package/src/auth/session/session.schema.js +0 -13
- package/src/auth/session/session.schema.js.map +0 -1
- package/src/auth/session/session.service.js +0 -105
- package/src/auth/session/session.service.js.map +0 -1
- package/src/auth/session/session.transport.js +0 -20
- package/src/auth/session/session.transport.js.map +0 -1
- package/src/auth/session/session.types.js +0 -4
- package/src/auth/session/session.types.js.map +0 -1
- package/src/auth/session/token.refresh.js +0 -63
- package/src/auth/session/token.refresh.js.map +0 -1
- package/src/auth/session/token.store.js +0 -53
- package/src/auth/session/token.store.js.map +0 -1
- package/src/auth/session/token.vault.js +0 -54
- package/src/auth/session/token.vault.js.map +0 -1
- package/src/auth/session/transport-session.manager.js +0 -298
- package/src/auth/session/transport-session.manager.js.map +0 -1
- package/src/auth/session/transport-session.types.js +0 -111
- package/src/auth/session/transport-session.types.js.map +0 -1
- package/src/auth/session/utils/auth-token.utils.js +0 -57
- package/src/auth/session/utils/auth-token.utils.js.map +0 -1
- package/src/auth/session/utils/session-id.utils.js +0 -217
- package/src/auth/session/utils/session-id.utils.js.map +0 -1
- package/src/auth/session/utils/tiny-ttl-cache.js +0 -26
- package/src/auth/session/utils/tiny-ttl-cache.js.map +0 -1
- package/src/auth/session/vault-encryption.js +0 -263
- package/src/auth/session/vault-encryption.js.map +0 -1
- package/src/auth/session/vercel-kv-session.store.js +0 -216
- package/src/auth/session/vercel-kv-session.store.js.map +0 -1
- package/src/auth/ui/base-layout.js +0 -279
- package/src/auth/ui/base-layout.js.map +0 -1
- package/src/auth/ui/index.js +0 -34
- package/src/auth/ui/index.js.map +0 -1
- package/src/auth/ui/templates.js +0 -426
- package/src/auth/ui/templates.js.map +0 -1
- package/src/auth/utils/audience.validator.js +0 -196
- package/src/auth/utils/audience.validator.js.map +0 -1
- package/src/auth/utils/index.js +0 -7
- package/src/auth/utils/index.js.map +0 -1
- package/src/auth/utils/www-authenticate.utils.js +0 -183
- package/src/auth/utils/www-authenticate.utils.js.map +0 -1
- package/src/common/common.schema.js +0 -35
- package/src/common/common.schema.js.map +0 -1
- package/src/common/constants.js +0 -13
- package/src/common/constants.js.map +0 -1
- package/src/common/decorators/adapter.decorator.js +0 -20
- package/src/common/decorators/adapter.decorator.js.map +0 -1
- package/src/common/decorators/app.decorator.js +0 -44
- package/src/common/decorators/app.decorator.js.map +0 -1
- package/src/common/decorators/auth-provider.decorator.js +0 -20
- package/src/common/decorators/auth-provider.decorator.js.map +0 -1
- package/src/common/decorators/decorator-utils.js +0 -195
- package/src/common/decorators/decorator-utils.js.map +0 -1
- package/src/common/decorators/flow.decorator.js +0 -19
- package/src/common/decorators/flow.decorator.js.map +0 -1
- package/src/common/decorators/front-mcp.decorator.js +0 -64
- package/src/common/decorators/front-mcp.decorator.js.map +0 -1
- package/src/common/decorators/hook.decorator.js +0 -178
- package/src/common/decorators/hook.decorator.js.map +0 -1
- package/src/common/decorators/index.js +0 -16
- package/src/common/decorators/index.js.map +0 -1
- package/src/common/decorators/logger.decorator.js +0 -20
- package/src/common/decorators/logger.decorator.js.map +0 -1
- package/src/common/decorators/plugin.decorator.js +0 -39
- package/src/common/decorators/plugin.decorator.js.map +0 -1
- package/src/common/decorators/prompt.decorator.js +0 -38
- package/src/common/decorators/prompt.decorator.js.map +0 -1
- package/src/common/decorators/provider.decorator.js +0 -20
- package/src/common/decorators/provider.decorator.js.map +0 -1
- package/src/common/decorators/resource.decorator.js +0 -94
- package/src/common/decorators/resource.decorator.js.map +0 -1
- package/src/common/decorators/tool.decorator.js +0 -45
- package/src/common/decorators/tool.decorator.js.map +0 -1
- package/src/common/dynamic/dynamic.adapter.js +0 -28
- package/src/common/dynamic/dynamic.adapter.js.map +0 -1
- package/src/common/dynamic/dynamic.plugin.js +0 -42
- package/src/common/dynamic/dynamic.plugin.js.map +0 -1
- package/src/common/dynamic/dynamic.utils.js +0 -27
- package/src/common/dynamic/dynamic.utils.js.map +0 -1
- package/src/common/dynamic/index.js +0 -6
- package/src/common/dynamic/index.js.map +0 -1
- package/src/common/entries/adapter.entry.js +0 -8
- package/src/common/entries/adapter.entry.js.map +0 -1
- package/src/common/entries/app.entry.js +0 -9
- package/src/common/entries/app.entry.js.map +0 -1
- package/src/common/entries/auth-provider.entry.js +0 -8
- package/src/common/entries/auth-provider.entry.js.map +0 -1
- package/src/common/entries/base.entry.js +0 -17
- package/src/common/entries/base.entry.js.map +0 -1
- package/src/common/entries/flow.entry.js +0 -21
- package/src/common/entries/flow.entry.js.map +0 -1
- package/src/common/entries/hook.entry.js +0 -20
- package/src/common/entries/hook.entry.js.map +0 -1
- package/src/common/entries/index.js +0 -17
- package/src/common/entries/index.js.map +0 -1
- package/src/common/entries/logger.entry.js +0 -8
- package/src/common/entries/logger.entry.js.map +0 -1
- package/src/common/entries/plugin.entry.js +0 -8
- package/src/common/entries/plugin.entry.js.map +0 -1
- package/src/common/entries/prompt.entry.js +0 -18
- package/src/common/entries/prompt.entry.js.map +0 -1
- package/src/common/entries/provider.entry.js +0 -8
- package/src/common/entries/provider.entry.js.map +0 -1
- package/src/common/entries/resource.entry.js +0 -35
- package/src/common/entries/resource.entry.js.map +0 -1
- package/src/common/entries/scope.entry.js +0 -14
- package/src/common/entries/scope.entry.js.map +0 -1
- package/src/common/entries/tool.entry.js +0 -31
- package/src/common/entries/tool.entry.js.map +0 -1
- package/src/common/flow/flow.utils.js +0 -96
- package/src/common/flow/flow.utils.js.map +0 -1
- package/src/common/index.js +0 -20
- package/src/common/index.js.map +0 -1
- package/src/common/interfaces/adapter.interface.js +0 -3
- package/src/common/interfaces/adapter.interface.js.map +0 -1
- package/src/common/interfaces/app.interface.js +0 -3
- package/src/common/interfaces/app.interface.js.map +0 -1
- package/src/common/interfaces/auth-hook.interface.js +0 -135
- package/src/common/interfaces/auth-hook.interface.js.map +0 -1
- package/src/common/interfaces/auth-provider.interface.js +0 -18
- package/src/common/interfaces/auth-provider.interface.js.map +0 -1
- package/src/common/interfaces/base.interface.js +0 -3
- package/src/common/interfaces/base.interface.js.map +0 -1
- package/src/common/interfaces/execution-context.interface.js +0 -166
- package/src/common/interfaces/execution-context.interface.js.map +0 -1
- package/src/common/interfaces/flow.interface.js +0 -95
- package/src/common/interfaces/flow.interface.js.map +0 -1
- package/src/common/interfaces/front-mcp.interface.js +0 -3
- package/src/common/interfaces/front-mcp.interface.js.map +0 -1
- package/src/common/interfaces/hook.interface.js +0 -3
- package/src/common/interfaces/hook.interface.js.map +0 -1
- package/src/common/interfaces/index.js +0 -21
- package/src/common/interfaces/index.js.map +0 -1
- package/src/common/interfaces/internal/flow.utils.js +0 -83
- package/src/common/interfaces/internal/flow.utils.js.map +0 -1
- package/src/common/interfaces/internal/index.js +0 -7
- package/src/common/interfaces/internal/index.js.map +0 -1
- package/src/common/interfaces/internal/primary-auth-provider.interface.js +0 -81
- package/src/common/interfaces/internal/primary-auth-provider.interface.js.map +0 -1
- package/src/common/interfaces/internal/registry.interface.js +0 -3
- package/src/common/interfaces/internal/registry.interface.js.map +0 -1
- package/src/common/interfaces/logger.interface.js +0 -10
- package/src/common/interfaces/logger.interface.js.map +0 -1
- package/src/common/interfaces/plugin.interface.js +0 -3
- package/src/common/interfaces/plugin.interface.js.map +0 -1
- package/src/common/interfaces/prompt.interface.js +0 -81
- package/src/common/interfaces/prompt.interface.js.map +0 -1
- package/src/common/interfaces/provider.interface.js +0 -18
- package/src/common/interfaces/provider.interface.js.map +0 -1
- package/src/common/interfaces/resource.interface.js +0 -56
- package/src/common/interfaces/resource.interface.js.map +0 -1
- package/src/common/interfaces/scope.interface.js +0 -3
- package/src/common/interfaces/scope.interface.js.map +0 -1
- package/src/common/interfaces/server.interface.js +0 -18
- package/src/common/interfaces/server.interface.js.map +0 -1
- package/src/common/interfaces/session-hook.interface.js +0 -140
- package/src/common/interfaces/session-hook.interface.js.map +0 -1
- package/src/common/interfaces/tool-hook.interface.js +0 -92
- package/src/common/interfaces/tool-hook.interface.js.map +0 -1
- package/src/common/interfaces/tool.interface.js +0 -117
- package/src/common/interfaces/tool.interface.js.map +0 -1
- package/src/common/metadata/adapter.metadata.js +0 -10
- package/src/common/metadata/adapter.metadata.js.map +0 -1
- package/src/common/metadata/app.metadata.js +0 -30
- package/src/common/metadata/app.metadata.js.map +0 -1
- package/src/common/metadata/auth-provider.metadata.js +0 -19
- package/src/common/metadata/auth-provider.metadata.js.map +0 -1
- package/src/common/metadata/flow.metadata.js +0 -15
- package/src/common/metadata/flow.metadata.js.map +0 -1
- package/src/common/metadata/front-mcp.metadata.js +0 -30
- package/src/common/metadata/front-mcp.metadata.js.map +0 -1
- package/src/common/metadata/hook.metadata.js +0 -3
- package/src/common/metadata/hook.metadata.js.map +0 -1
- package/src/common/metadata/index.js +0 -17
- package/src/common/metadata/index.js.map +0 -1
- package/src/common/metadata/logger.metadata.js +0 -10
- package/src/common/metadata/logger.metadata.js.map +0 -1
- package/src/common/metadata/plugin.metadata.js +0 -18
- package/src/common/metadata/plugin.metadata.js.map +0 -1
- package/src/common/metadata/prompt.metadata.js +0 -27
- package/src/common/metadata/prompt.metadata.js.map +0 -1
- package/src/common/metadata/provider.metadata.js +0 -36
- package/src/common/metadata/provider.metadata.js.map +0 -1
- package/src/common/metadata/resource.metadata.js +0 -31
- package/src/common/metadata/resource.metadata.js.map +0 -1
- package/src/common/metadata/tool-ui.metadata.js +0 -12
- package/src/common/metadata/tool-ui.metadata.js.map +0 -1
- package/src/common/metadata/tool.metadata.js +0 -55
- package/src/common/metadata/tool.metadata.js.map +0 -1
- package/src/common/migrate/auth-transport.migrate.js +0 -140
- package/src/common/migrate/auth-transport.migrate.js.map +0 -1
- package/src/common/migrate/index.js +0 -6
- package/src/common/migrate/index.js.map +0 -1
- package/src/common/providers/base-config.provider.js +0 -128
- package/src/common/providers/base-config.provider.js.map +0 -1
- package/src/common/records/adapter.record.js +0 -11
- package/src/common/records/adapter.record.js.map +0 -1
- package/src/common/records/app.record.js +0 -9
- package/src/common/records/app.record.js.map +0 -1
- package/src/common/records/auth-provider.record.js +0 -12
- package/src/common/records/auth-provider.record.js.map +0 -1
- package/src/common/records/flow.record.js +0 -8
- package/src/common/records/flow.record.js.map +0 -1
- package/src/common/records/hook.record.js +0 -8
- package/src/common/records/hook.record.js.map +0 -1
- package/src/common/records/index.js +0 -16
- package/src/common/records/index.js.map +0 -1
- package/src/common/records/logger.record.js +0 -8
- package/src/common/records/logger.record.js.map +0 -1
- package/src/common/records/plugin.record.js +0 -11
- package/src/common/records/plugin.record.js.map +0 -1
- package/src/common/records/prompt.record.js +0 -9
- package/src/common/records/prompt.record.js.map +0 -1
- package/src/common/records/provider.record.js +0 -14
- package/src/common/records/provider.record.js.map +0 -1
- package/src/common/records/resource.record.js +0 -20
- package/src/common/records/resource.record.js.map +0 -1
- package/src/common/records/scope.record.js +0 -9
- package/src/common/records/scope.record.js.map +0 -1
- package/src/common/records/tool.record.js +0 -9
- package/src/common/records/tool.record.js.map +0 -1
- package/src/common/schemas/annotated-class.schema.js +0 -109
- package/src/common/schemas/annotated-class.schema.js.map +0 -1
- package/src/common/schemas/http-input.schema.js +0 -13
- package/src/common/schemas/http-input.schema.js.map +0 -1
- package/src/common/schemas/http-output.schema.js +0 -321
- package/src/common/schemas/http-output.schema.js.map +0 -1
- package/src/common/schemas/index.js +0 -8
- package/src/common/schemas/index.js.map +0 -1
- package/src/common/schemas/session-header.schema.js +0 -42
- package/src/common/schemas/session-header.schema.js.map +0 -1
- package/src/common/tokens/adapter.tokens.js +0 -11
- package/src/common/tokens/adapter.tokens.js.map +0 -1
- package/src/common/tokens/app.tokens.js +0 -30
- package/src/common/tokens/app.tokens.js.map +0 -1
- package/src/common/tokens/auth-provider.tokens.js +0 -12
- package/src/common/tokens/auth-provider.tokens.js.map +0 -1
- package/src/common/tokens/base.tokens.js +0 -9
- package/src/common/tokens/base.tokens.js.map +0 -1
- package/src/common/tokens/flow-hook.tokens.js +0 -9
- package/src/common/tokens/flow-hook.tokens.js.map +0 -1
- package/src/common/tokens/flow.tokens.js +0 -16
- package/src/common/tokens/flow.tokens.js.map +0 -1
- package/src/common/tokens/front-mcp.tokens.js +0 -25
- package/src/common/tokens/front-mcp.tokens.js.map +0 -1
- package/src/common/tokens/index.js +0 -17
- package/src/common/tokens/index.js.map +0 -1
- package/src/common/tokens/logger.tokens.js +0 -11
- package/src/common/tokens/logger.tokens.js.map +0 -1
- package/src/common/tokens/plugin.tokens.js +0 -18
- package/src/common/tokens/plugin.tokens.js.map +0 -1
- package/src/common/tokens/prompt.tokens.js +0 -14
- package/src/common/tokens/prompt.tokens.js.map +0 -1
- package/src/common/tokens/provider.tokens.js +0 -12
- package/src/common/tokens/provider.tokens.js.map +0 -1
- package/src/common/tokens/resource.tokens.js +0 -28
- package/src/common/tokens/resource.tokens.js.map +0 -1
- package/src/common/tokens/server.tokens.js +0 -11
- package/src/common/tokens/server.tokens.js.map +0 -1
- package/src/common/tokens/tool.tokens.js +0 -21
- package/src/common/tokens/tool.tokens.js.map +0 -1
- package/src/common/types/auth/index.js +0 -6
- package/src/common/types/auth/index.js.map +0 -1
- package/src/common/types/auth/jwt.types.js +0 -36
- package/src/common/types/auth/jwt.types.js.map +0 -1
- package/src/common/types/auth/session.types.js +0 -53
- package/src/common/types/auth/session.types.js.map +0 -1
- package/src/common/types/common.types.js +0 -3
- package/src/common/types/common.types.js.map +0 -1
- package/src/common/types/index.js +0 -7
- package/src/common/types/index.js.map +0 -1
- package/src/common/types/options/auth.options.d.ts +0 -1266
- package/src/common/types/options/auth.options.js +0 -560
- package/src/common/types/options/auth.options.js.map +0 -1
- package/src/common/types/options/http.options.js +0 -10
- package/src/common/types/options/http.options.js.map +0 -1
- package/src/common/types/options/index.js +0 -11
- package/src/common/types/options/index.js.map +0 -1
- package/src/common/types/options/logging.options.js +0 -33
- package/src/common/types/options/logging.options.js.map +0 -1
- package/src/common/types/options/redis.options.js +0 -191
- package/src/common/types/options/redis.options.js.map +0 -1
- package/src/common/types/options/server-info.options.js +0 -13
- package/src/common/types/options/server-info.options.js.map +0 -1
- package/src/common/types/options/session.options.js +0 -32
- package/src/common/types/options/session.options.js.map +0 -1
- package/src/common/types/options/transport.options.js +0 -121
- package/src/common/types/options/transport.options.js.map +0 -1
- package/src/common/utils/decide-request-intent.utils.js +0 -391
- package/src/common/utils/decide-request-intent.utils.js.map +0 -1
- package/src/common/utils/global-config.utils.js +0 -44
- package/src/common/utils/global-config.utils.js.map +0 -1
- package/src/common/utils/index.js +0 -7
- package/src/common/utils/index.js.map +0 -1
- package/src/common/utils/path.utils.js +0 -66
- package/src/common/utils/path.utils.js.map +0 -1
- package/src/completion/flows/complete.flow.js +0 -199
- package/src/completion/flows/complete.flow.js.map +0 -1
- package/src/context/frontmcp-context-storage.js +0 -183
- package/src/context/frontmcp-context-storage.js.map +0 -1
- package/src/context/frontmcp-context.js +0 -360
- package/src/context/frontmcp-context.js.map +0 -1
- package/src/context/frontmcp-context.provider.js +0 -61
- package/src/context/frontmcp-context.provider.js.map +0 -1
- package/src/context/index.js +0 -64
- package/src/context/index.js.map +0 -1
- package/src/context/request-context-storage.js +0 -183
- package/src/context/request-context-storage.js.map +0 -1
- package/src/context/request-context.js +0 -209
- package/src/context/request-context.js.map +0 -1
- package/src/context/request-context.provider.js +0 -51
- package/src/context/request-context.provider.js.map +0 -1
- package/src/context/session-key.provider.js +0 -65
- package/src/context/session-key.provider.js.map +0 -1
- package/src/context/trace-context.js +0 -142
- package/src/context/trace-context.js.map +0 -1
- package/src/errors/authorization-required.error.js +0 -274
- package/src/errors/authorization-required.error.js.map +0 -1
- package/src/errors/error-handler.js +0 -107
- package/src/errors/error-handler.js.map +0 -1
- package/src/errors/index.js +0 -45
- package/src/errors/index.js.map +0 -1
- package/src/errors/mcp.error.js +0 -416
- package/src/errors/mcp.error.js.map +0 -1
- package/src/exceptions/mcp-exceptions/session-missing.exception.js +0 -11
- package/src/exceptions/mcp-exceptions/session-missing.exception.js.map +0 -1
- package/src/exceptions/mcp-exceptions/unsupported-client-version.exception.js +0 -15
- package/src/exceptions/mcp-exceptions/unsupported-client-version.exception.js.map +0 -1
- package/src/flows/flow.instance.js +0 -420
- package/src/flows/flow.instance.js.map +0 -1
- package/src/flows/flow.registry.js +0 -121
- package/src/flows/flow.registry.js.map +0 -1
- package/src/flows/flow.stages.js +0 -113
- package/src/flows/flow.stages.js.map +0 -1
- package/src/flows/flow.utils.js +0 -36
- package/src/flows/flow.utils.js.map +0 -1
- package/src/front-mcp/front-mcp.js +0 -63
- package/src/front-mcp/front-mcp.js.map +0 -1
- package/src/front-mcp/front-mcp.providers.js +0 -29
- package/src/front-mcp/front-mcp.providers.js.map +0 -1
- package/src/front-mcp/front-mcp.tokens.js +0 -5
- package/src/front-mcp/front-mcp.tokens.js.map +0 -1
- package/src/front-mcp/index.js +0 -8
- package/src/front-mcp/index.js.map +0 -1
- package/src/front-mcp/serverless-handler.js +0 -61
- package/src/front-mcp/serverless-handler.js.map +0 -1
- package/src/hooks/hook.instance.js +0 -26
- package/src/hooks/hook.instance.js.map +0 -1
- package/src/hooks/hook.registry.js +0 -152
- package/src/hooks/hook.registry.js.map +0 -1
- package/src/hooks/hooks.utils.js +0 -34
- package/src/hooks/hooks.utils.js.map +0 -1
- package/src/index.js +0 -37
- package/src/index.js.map +0 -1
- package/src/logger/instances/instance.console-logger.js +0 -75
- package/src/logger/instances/instance.console-logger.js.map +0 -1
- package/src/logger/instances/instance.logger.js +0 -77
- package/src/logger/instances/instance.logger.js.map +0 -1
- package/src/logger/logger.registry.js +0 -96
- package/src/logger/logger.registry.js.map +0 -1
- package/src/logger/logger.tokens.js +0 -3
- package/src/logger/logger.tokens.js.map +0 -1
- package/src/logger/logger.types.js +0 -8
- package/src/logger/logger.types.js.map +0 -1
- package/src/logger/logger.utils.js +0 -42
- package/src/logger/logger.utils.js.map +0 -1
- package/src/logging/flows/set-level.flow.js +0 -108
- package/src/logging/flows/set-level.flow.js.map +0 -1
- package/src/mcp-apps/csp.js +0 -267
- package/src/mcp-apps/csp.js.map +0 -1
- package/src/mcp-apps/index.js +0 -91
- package/src/mcp-apps/index.js.map +0 -1
- package/src/mcp-apps/schemas.js +0 -345
- package/src/mcp-apps/schemas.js.map +0 -1
- package/src/mcp-apps/template.js +0 -419
- package/src/mcp-apps/template.js.map +0 -1
- package/src/mcp-apps/types.js +0 -59
- package/src/mcp-apps/types.js.map +0 -1
- package/src/notification/index.js +0 -13
- package/src/notification/index.js.map +0 -1
- package/src/notification/notification.service.js +0 -731
- package/src/notification/notification.service.js.map +0 -1
- package/src/plugin/plugin.registry.js +0 -152
- package/src/plugin/plugin.registry.js.map +0 -1
- package/src/plugin/plugin.utils.js +0 -88
- package/src/plugin/plugin.utils.js.map +0 -1
- package/src/prompt/flows/get-prompt.flow.js +0 -214
- package/src/prompt/flows/get-prompt.flow.js.map +0 -1
- package/src/prompt/flows/prompts-list.flow.js +0 -176
- package/src/prompt/flows/prompts-list.flow.js.map +0 -1
- package/src/prompt/index.js +0 -17
- package/src/prompt/index.js.map +0 -1
- package/src/prompt/prompt.events.js +0 -25
- package/src/prompt/prompt.events.js.map +0 -1
- package/src/prompt/prompt.instance.js +0 -120
- package/src/prompt/prompt.instance.js.map +0 -1
- package/src/prompt/prompt.registry.js +0 -380
- package/src/prompt/prompt.registry.js.map +0 -1
- package/src/prompt/prompt.types.js +0 -11
- package/src/prompt/prompt.types.js.map +0 -1
- package/src/prompt/prompt.utils.js +0 -136
- package/src/prompt/prompt.utils.js.map +0 -1
- package/src/provider/provider.registry.js +0 -868
- package/src/provider/provider.registry.js.map +0 -1
- package/src/provider/provider.types.js +0 -3
- package/src/provider/provider.types.js.map +0 -1
- package/src/provider/provider.utils.js +0 -103
- package/src/provider/provider.utils.js.map +0 -1
- package/src/regsitry/index.js +0 -5
- package/src/regsitry/index.js.map +0 -1
- package/src/regsitry/registry.base.js +0 -32
- package/src/regsitry/registry.base.js.map +0 -1
- package/src/resource/flows/read-resource.flow.js +0 -270
- package/src/resource/flows/read-resource.flow.js.map +0 -1
- package/src/resource/flows/resource-templates-list.flow.js +0 -191
- package/src/resource/flows/resource-templates-list.flow.js.map +0 -1
- package/src/resource/flows/resources-list.flow.js +0 -196
- package/src/resource/flows/resources-list.flow.js.map +0 -1
- package/src/resource/flows/subscribe-resource.flow.js +0 -123
- package/src/resource/flows/subscribe-resource.flow.js.map +0 -1
- package/src/resource/flows/unsubscribe-resource.flow.js +0 -107
- package/src/resource/flows/unsubscribe-resource.flow.js.map +0 -1
- package/src/resource/index.js +0 -20
- package/src/resource/index.js.map +0 -1
- package/src/resource/resource.events.js +0 -17
- package/src/resource/resource.events.js.map +0 -1
- package/src/resource/resource.instance.js +0 -163
- package/src/resource/resource.instance.js.map +0 -1
- package/src/resource/resource.registry.js +0 -468
- package/src/resource/resource.registry.js.map +0 -1
- package/src/resource/resource.types.js +0 -11
- package/src/resource/resource.types.js.map +0 -1
- package/src/resource/resource.utils.js +0 -151
- package/src/resource/resource.utils.js.map +0 -1
- package/src/scope/flows/http.request.flow.js +0 -474
- package/src/scope/flows/http.request.flow.js.map +0 -1
- package/src/scope/index.js +0 -6
- package/src/scope/index.js.map +0 -1
- package/src/scope/scope.instance.js +0 -263
- package/src/scope/scope.instance.js.map +0 -1
- package/src/scope/scope.registry.js +0 -94
- package/src/scope/scope.registry.js.map +0 -1
- package/src/scope/scope.utils.js +0 -61
- package/src/scope/scope.utils.js.map +0 -1
- package/src/server/adapters/base.host.adapter.js +0 -8
- package/src/server/adapters/base.host.adapter.js.map +0 -1
- package/src/server/adapters/express.host.adapter.js +0 -70
- package/src/server/adapters/express.host.adapter.js.map +0 -1
- package/src/server/server.instance.js +0 -54
- package/src/server/server.instance.js.map +0 -1
- package/src/server/server.types.js +0 -3
- package/src/server/server.types.js.map +0 -1
- package/src/server/server.validation.js +0 -192
- package/src/server/server.validation.js.map +0 -1
- package/src/store/adapters/store.base.adapter.js +0 -16
- package/src/store/adapters/store.base.adapter.js.map +0 -1
- package/src/store/adapters/store.memory.adapter.js +0 -89
- package/src/store/adapters/store.memory.adapter.js.map +0 -1
- package/src/store/adapters/store.redis.adapter.js +0 -104
- package/src/store/adapters/store.redis.adapter.js.map +0 -1
- package/src/store/adapters/store.vercel-kv.adapter.js +0 -155
- package/src/store/adapters/store.vercel-kv.adapter.js.map +0 -1
- package/src/store/index.js +0 -14
- package/src/store/index.js.map +0 -1
- package/src/store/store.factory.js +0 -194
- package/src/store/store.factory.js.map +0 -1
- package/src/store/store.helpers.js +0 -67
- package/src/store/store.helpers.js.map +0 -1
- package/src/store/store.registry.js +0 -37
- package/src/store/store.registry.js.map +0 -1
- package/src/store/store.tokens.js +0 -7
- package/src/store/store.tokens.js.map +0 -1
- package/src/store/store.types.js +0 -11
- package/src/store/store.types.js.map +0 -1
- package/src/store/store.utils.js +0 -18
- package/src/store/store.utils.js.map +0 -1
- package/src/tool/flows/call-tool.flow.js +0 -616
- package/src/tool/flows/call-tool.flow.js.map +0 -1
- package/src/tool/flows/tools-list.flow.js +0 -328
- package/src/tool/flows/tools-list.flow.js.map +0 -1
- package/src/tool/tool.events.js +0 -16
- package/src/tool/tool.events.js.map +0 -1
- package/src/tool/tool.instance.js +0 -117
- package/src/tool/tool.instance.js.map +0 -1
- package/src/tool/tool.registry.js +0 -353
- package/src/tool/tool.registry.js.map +0 -1
- package/src/tool/tool.types.js +0 -10
- package/src/tool/tool.types.js.map +0 -1
- package/src/tool/tool.utils.js +0 -366
- package/src/tool/tool.utils.js.map +0 -1
- package/src/tool/ui/index.js +0 -63
- package/src/tool/ui/index.js.map +0 -1
- package/src/tool/ui/platform-adapters.js +0 -18
- package/src/tool/ui/platform-adapters.js.map +0 -1
- package/src/tool/ui/template-helpers.js +0 -95
- package/src/tool/ui/template-helpers.js.map +0 -1
- package/src/tool/ui/ui-resource-template.js +0 -64
- package/src/tool/ui/ui-resource-template.js.map +0 -1
- package/src/tool/ui/ui-resource.handler.js +0 -129
- package/src/tool/ui/ui-resource.handler.js.map +0 -1
- package/src/transport/adapters/transport.local.adapter.js +0 -148
- package/src/transport/adapters/transport.local.adapter.js.map +0 -1
- package/src/transport/adapters/transport.sse.adapter.js +0 -65
- package/src/transport/adapters/transport.sse.adapter.js.map +0 -1
- package/src/transport/adapters/transport.streamable-http.adapter.js +0 -112
- package/src/transport/adapters/transport.streamable-http.adapter.js.map +0 -1
- package/src/transport/flows/handle.sse.flow.js +0 -197
- package/src/transport/flows/handle.sse.flow.js.map +0 -1
- package/src/transport/flows/handle.stateless-http.flow.js +0 -102
- package/src/transport/flows/handle.stateless-http.flow.js.map +0 -1
- package/src/transport/flows/handle.streamable-http.flow.js +0 -315
- package/src/transport/flows/handle.streamable-http.flow.js.map +0 -1
- package/src/transport/legacy/legacy.sse.tranporter.js +0 -185
- package/src/transport/legacy/legacy.sse.tranporter.js.map +0 -1
- package/src/transport/mcp-handlers/Initialized-notification.hanlder.js +0 -14
- package/src/transport/mcp-handlers/Initialized-notification.hanlder.js.map +0 -1
- package/src/transport/mcp-handlers/call-tool-request.handler.js +0 -46
- package/src/transport/mcp-handlers/call-tool-request.handler.js.map +0 -1
- package/src/transport/mcp-handlers/complete-request.handler.js +0 -11
- package/src/transport/mcp-handlers/complete-request.handler.js.map +0 -1
- package/src/transport/mcp-handlers/get-prompt-request.handler.js +0 -11
- package/src/transport/mcp-handlers/get-prompt-request.handler.js.map +0 -1
- package/src/transport/mcp-handlers/index.js +0 -57
- package/src/transport/mcp-handlers/index.js.map +0 -1
- package/src/transport/mcp-handlers/initialize-request.handler.js +0 -109
- package/src/transport/mcp-handlers/initialize-request.handler.js.map +0 -1
- package/src/transport/mcp-handlers/list-prompts-request.handler.js +0 -11
- package/src/transport/mcp-handlers/list-prompts-request.handler.js.map +0 -1
- package/src/transport/mcp-handlers/list-resource-templates-request.handler.js +0 -12
- package/src/transport/mcp-handlers/list-resource-templates-request.handler.js.map +0 -1
- package/src/transport/mcp-handlers/list-resources-request.handler.js +0 -12
- package/src/transport/mcp-handlers/list-resources-request.handler.js.map +0 -1
- package/src/transport/mcp-handlers/list-tools-request.handler.js +0 -11
- package/src/transport/mcp-handlers/list-tools-request.handler.js.map +0 -1
- package/src/transport/mcp-handlers/logging-set-level-request.handler.js +0 -34
- package/src/transport/mcp-handlers/logging-set-level-request.handler.js.map +0 -1
- package/src/transport/mcp-handlers/mcp-handlers.types.js +0 -3
- package/src/transport/mcp-handlers/mcp-handlers.types.js.map +0 -1
- package/src/transport/mcp-handlers/read-resource-request.handler.js +0 -12
- package/src/transport/mcp-handlers/read-resource-request.handler.js.map +0 -1
- package/src/transport/mcp-handlers/roots-list-changed-notification.handler.js +0 -26
- package/src/transport/mcp-handlers/roots-list-changed-notification.handler.js.map +0 -1
- package/src/transport/mcp-handlers/subscribe-request.handler.js +0 -34
- package/src/transport/mcp-handlers/subscribe-request.handler.js.map +0 -1
- package/src/transport/mcp-handlers/unsubscribe-request.handler.js +0 -34
- package/src/transport/mcp-handlers/unsubscribe-request.handler.js.map +0 -1
- package/src/transport/transport.error.js +0 -25
- package/src/transport/transport.error.js.map +0 -1
- package/src/transport/transport.event-store.js +0 -36
- package/src/transport/transport.event-store.js.map +0 -1
- package/src/transport/transport.local.js +0 -71
- package/src/transport/transport.local.js.map +0 -1
- package/src/transport/transport.registry.js +0 -552
- package/src/transport/transport.registry.js.map +0 -1
- package/src/transport/transport.remote.js +0 -31
- package/src/transport/transport.remote.js.map +0 -1
- package/src/transport/transport.types.js +0 -3
- package/src/transport/transport.types.js.map +0 -1
- package/src/types/drinen-hooks.types.js +0 -3
- package/src/types/drinen-hooks.types.js.map +0 -1
- package/src/types/invoke.type.js +0 -34
- package/src/types/invoke.type.js.map +0 -1
- package/src/types/token.types.js +0 -3
- package/src/types/token.types.js.map +0 -1
- package/src/utils/content.utils.js +0 -194
- package/src/utils/content.utils.js.map +0 -1
- package/src/utils/index.js +0 -55
- package/src/utils/index.js.map +0 -1
- package/src/utils/lineage.utils.js +0 -82
- package/src/utils/lineage.utils.js.map +0 -1
- package/src/utils/metadata.utils.js +0 -26
- package/src/utils/metadata.utils.js.map +0 -1
- package/src/utils/naming.utils.js +0 -136
- package/src/utils/naming.utils.js.map +0 -1
- package/src/utils/server.utils.js +0 -59
- package/src/utils/server.utils.js.map +0 -1
- package/src/utils/string.utils.js +0 -10
- package/src/utils/string.utils.js.map +0 -1
- package/src/utils/token.utils.js +0 -65
- package/src/utils/token.utils.js.map +0 -1
- package/src/utils/types.utils.js +0 -3
- package/src/utils/types.utils.js.map +0 -1
- package/src/utils/uri-template.utils.js +0 -113
- package/src/utils/uri-template.utils.js.map +0 -1
- package/src/utils/uri-validation.utils.js +0 -76
- package/src/utils/uri-validation.utils.js.map +0 -1
- package/{src/adapter → adapter}/adapter.instance.d.ts +0 -0
- package/{src/adapter → adapter}/adapter.regsitry.d.ts +0 -0
- package/{src/adapter → adapter}/adapter.utils.d.ts +0 -0
- package/{src/app → app}/app.registry.d.ts +0 -0
- package/{src/app → app}/app.utils.d.ts +0 -0
- package/{src/app → app}/instances/app.local.instance.d.ts +0 -0
- package/{src/app → app}/instances/app.remote.instance.d.ts +0 -0
- package/{src/app → app}/instances/index.d.ts +0 -0
- package/{src/auth → auth}/auth.registry.d.ts +0 -0
- package/{src/auth → auth}/auth.utils.d.ts +0 -0
- package/{src/auth → auth}/authorization/authorization.class.d.ts +0 -0
- package/{src/auth → auth}/authorization/authorization.types.d.ts +0 -0
- package/{src/auth → auth}/authorization/index.d.ts +0 -0
- package/{src/auth → auth}/authorization/orchestrated.authorization.d.ts +0 -0
- package/{src/auth → auth}/authorization/public.authorization.d.ts +0 -0
- package/{src/auth → auth}/authorization/transparent.authorization.d.ts +0 -0
- package/{src/auth → auth}/consent/consent.types.d.ts +0 -0
- package/{src/auth → auth}/consent/index.d.ts +0 -0
- package/{src/auth → auth}/detection/auth-provider-detection.d.ts +0 -0
- package/{src/auth → auth}/detection/index.d.ts +0 -0
- package/{src/auth → auth}/flows/auth.verify.flow.d.ts +0 -0
- package/{src/auth → auth}/flows/oauth.authorize.flow.d.ts +0 -0
- package/{src/auth → auth}/flows/oauth.callback.flow.d.ts +0 -0
- package/{src/auth → auth}/flows/oauth.register.flow.d.ts +0 -0
- package/{src/auth → auth}/flows/oauth.token.flow.d.ts +0 -0
- package/{src/auth → auth}/flows/session.verify.flow.d.ts +0 -0
- package/{src/auth → auth}/flows/well-known.jwks.flow.d.ts +0 -0
- package/{src/auth → auth}/flows/well-known.oauth-authorization-server.flow.d.ts +0 -0
- package/{src/auth → auth}/flows/well-known.prm.flow.d.ts +0 -0
- package/{src/auth → auth}/jwks/dev-key-persistence.d.ts +0 -0
- package/{src/auth → auth}/jwks/index.d.ts +0 -0
- package/{src/auth → auth}/jwks/jwks.service.d.ts +0 -0
- package/{src/auth → auth}/jwks/jwks.types.d.ts +0 -0
- package/{src/auth → auth}/jwks/jwks.utils.d.ts +0 -0
- package/{src/auth → auth}/machine-id.d.ts +0 -0
- package/{src/auth → auth}/oauth/flows/oauth.authorize.flow.d.ts +0 -0
- package/{src/auth → auth}/oauth/flows/oauth.device-authorization.flow.d.ts +0 -0
- package/{src/auth → auth}/oauth/flows/oauth.introspect.flow.d.ts +0 -0
- package/{src/auth → auth}/oauth/flows/oauth.par.flow.d.ts +0 -0
- package/{src/auth → auth}/oauth/flows/oauth.revoke.flow.d.ts +0 -0
- package/{src/auth → auth}/oauth/flows/oauth.token.flow.d.ts +0 -0
- package/{src/auth → auth}/oauth/flows/oauth.userinfo.flow.d.ts +0 -0
- package/{src/auth → auth}/oauth/flows/oidc.logout.flow.d.ts +0 -0
- package/{src/auth → auth}/session/authorization-vault.d.ts +0 -0
- package/{src/auth → auth}/session/authorization.store.d.ts +0 -0
- package/{src/auth → auth}/session/encrypted-authorization-vault.d.ts +0 -0
- package/{src/auth → auth}/session/index.d.ts +0 -0
- package/{src/auth → auth}/session/record/session.base.d.ts +0 -0
- package/{src/auth → auth}/session/record/session.stateful.d.ts +0 -0
- package/{src/auth → auth}/session/record/session.stateless.d.ts +0 -0
- package/{src/auth → auth}/session/record/session.transparent.d.ts +0 -0
- package/{src/auth → auth}/session/redis-session.store.d.ts +0 -0
- package/{src/auth → auth}/session/session.crypto.d.ts +0 -0
- package/{src/auth → auth}/session/session.schema.d.ts +0 -0
- package/{src/auth → auth}/session/session.service.d.ts +0 -0
- package/{src/auth → auth}/session/session.transport.d.ts +0 -0
- package/{src/auth → auth}/session/session.types.d.ts +0 -0
- package/{src/auth → auth}/session/token.refresh.d.ts +0 -0
- package/{src/auth → auth}/session/token.store.d.ts +0 -0
- package/{src/auth → auth}/session/token.vault.d.ts +0 -0
- package/{src/auth → auth}/session/transport-session.manager.d.ts +0 -0
- package/{src/auth → auth}/session/transport-session.types.d.ts +0 -0
- package/{src/auth → auth}/session/utils/auth-token.utils.d.ts +0 -0
- package/{src/auth → auth}/session/utils/session-id.utils.d.ts +0 -0
- package/{src/auth → auth}/session/utils/tiny-ttl-cache.d.ts +0 -0
- package/{src/auth → auth}/session/vault-encryption.d.ts +0 -0
- package/{src/auth → auth}/session/vercel-kv-session.store.d.ts +0 -0
- package/{src/auth → auth}/ui/base-layout.d.ts +0 -0
- package/{src/auth → auth}/ui/index.d.ts +0 -0
- package/{src/auth → auth}/ui/templates.d.ts +0 -0
- package/{src/auth → auth}/utils/audience.validator.d.ts +0 -0
- package/{src/auth → auth}/utils/index.d.ts +0 -0
- package/{src/auth → auth}/utils/www-authenticate.utils.d.ts +0 -0
- package/{src/common → common}/common.schema.d.ts +0 -0
- package/{src/common → common}/constants.d.ts +0 -0
- package/{src/common → common}/decorators/adapter.decorator.d.ts +0 -0
- package/{src/common → common}/decorators/app.decorator.d.ts +0 -0
- package/{src/common → common}/decorators/auth-provider.decorator.d.ts +0 -0
- package/{src/common → common}/decorators/decorator-utils.d.ts +0 -0
- package/{src/common → common}/decorators/flow.decorator.d.ts +0 -0
- package/{src/common → common}/decorators/front-mcp.decorator.d.ts +0 -0
- package/{src/common → common}/decorators/hook.decorator.d.ts +0 -0
- package/{src/common → common}/decorators/index.d.ts +0 -0
- package/{src/common → common}/decorators/logger.decorator.d.ts +0 -0
- package/{src/common → common}/decorators/plugin.decorator.d.ts +0 -0
- package/{src/common → common}/decorators/prompt.decorator.d.ts +0 -0
- package/{src/common → common}/decorators/provider.decorator.d.ts +0 -0
- package/{src/common → common}/decorators/resource.decorator.d.ts +0 -0
- package/{src/common → common}/decorators/tool.decorator.d.ts +0 -0
- package/{src/common → common}/dynamic/dynamic.adapter.d.ts +0 -0
- package/{src/common → common}/dynamic/dynamic.plugin.d.ts +0 -0
- package/{src/common → common}/dynamic/dynamic.utils.d.ts +0 -0
- package/{src/common → common}/dynamic/index.d.ts +0 -0
- package/{src/common → common}/entries/adapter.entry.d.ts +0 -0
- package/{src/common → common}/entries/app.entry.d.ts +0 -0
- package/{src/common → common}/entries/auth-provider.entry.d.ts +0 -0
- package/{src/common → common}/entries/base.entry.d.ts +0 -0
- package/{src/common → common}/entries/flow.entry.d.ts +0 -0
- package/{src/common → common}/entries/hook.entry.d.ts +0 -0
- package/{src/common → common}/entries/index.d.ts +0 -0
- package/{src/common → common}/entries/logger.entry.d.ts +0 -0
- package/{src/common → common}/entries/plugin.entry.d.ts +0 -0
- package/{src/common → common}/entries/prompt.entry.d.ts +0 -0
- package/{src/common → common}/entries/provider.entry.d.ts +0 -0
- package/{src/common → common}/entries/resource.entry.d.ts +0 -0
- package/{src/common → common}/entries/scope.entry.d.ts +0 -0
- package/{src/common → common}/entries/tool.entry.d.ts +0 -0
- package/{src/common → common}/flow/flow.utils.d.ts +0 -0
- package/{src/common → common}/index.d.ts +0 -0
- package/{src/common → common}/interfaces/adapter.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/app.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/auth-hook.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/auth-provider.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/base.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/execution-context.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/flow.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/front-mcp.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/hook.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/index.d.ts +0 -0
- package/{src/common → common}/interfaces/internal/flow.utils.d.ts +0 -0
- package/{src/common → common}/interfaces/internal/index.d.ts +0 -0
- package/{src/common → common}/interfaces/internal/registry.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/logger.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/plugin.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/prompt.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/provider.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/resource.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/scope.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/server.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/session-hook.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/tool-hook.interface.d.ts +0 -0
- package/{src/common → common}/interfaces/tool.interface.d.ts +0 -0
- package/{src/common → common}/metadata/adapter.metadata.d.ts +0 -0
- package/{src/common → common}/metadata/app.metadata.d.ts +42 -42
- package/{src/common → common}/metadata/auth-provider.metadata.d.ts +0 -0
- package/{src/common → common}/metadata/flow.metadata.d.ts +0 -0
- package/{src/common → common}/metadata/hook.metadata.d.ts +0 -0
- package/{src/common → common}/metadata/index.d.ts +0 -0
- package/{src/common → common}/metadata/logger.metadata.d.ts +0 -0
- package/{src/common → common}/metadata/plugin.metadata.d.ts +0 -0
- package/{src/common → common}/metadata/prompt.metadata.d.ts +0 -0
- package/{src/common → common}/metadata/provider.metadata.d.ts +0 -0
- package/{src/common → common}/metadata/resource.metadata.d.ts +0 -0
- package/{src/common → common}/metadata/tool-ui.metadata.d.ts +0 -0
- package/{src/common → common}/metadata/tool.metadata.d.ts +0 -0
- package/{src/common → common}/migrate/auth-transport.migrate.d.ts +0 -0
- package/{src/common → common}/migrate/index.d.ts +0 -0
- package/{src/common → common}/providers/base-config.provider.d.ts +0 -0
- package/{src/common → common}/records/adapter.record.d.ts +0 -0
- package/{src/common → common}/records/app.record.d.ts +0 -0
- package/{src/common → common}/records/auth-provider.record.d.ts +0 -0
- package/{src/common → common}/records/flow.record.d.ts +0 -0
- package/{src/common → common}/records/hook.record.d.ts +0 -0
- package/{src/common → common}/records/index.d.ts +0 -0
- package/{src/common → common}/records/logger.record.d.ts +0 -0
- package/{src/common → common}/records/plugin.record.d.ts +0 -0
- package/{src/common → common}/records/prompt.record.d.ts +0 -0
- package/{src/common → common}/records/provider.record.d.ts +0 -0
- package/{src/common → common}/records/resource.record.d.ts +0 -0
- package/{src/common → common}/records/scope.record.d.ts +0 -0
- package/{src/common → common}/records/tool.record.d.ts +0 -0
- package/{src/common → common}/schemas/annotated-class.schema.d.ts +0 -0
- package/{src/common → common}/schemas/http-input.schema.d.ts +0 -0
- package/{src/common → common}/schemas/http-output.schema.d.ts +0 -0
- package/{src/common → common}/schemas/index.d.ts +0 -0
- package/{src/common → common}/schemas/session-header.schema.d.ts +0 -0
- package/{src/common → common}/tokens/adapter.tokens.d.ts +0 -0
- package/{src/common → common}/tokens/app.tokens.d.ts +0 -0
- package/{src/common → common}/tokens/auth-provider.tokens.d.ts +0 -0
- package/{src/common → common}/tokens/base.tokens.d.ts +0 -0
- package/{src/common → common}/tokens/flow-hook.tokens.d.ts +0 -0
- package/{src/common → common}/tokens/flow.tokens.d.ts +0 -0
- package/{src/common → common}/tokens/front-mcp.tokens.d.ts +0 -0
- package/{src/common → common}/tokens/index.d.ts +0 -0
- package/{src/common → common}/tokens/logger.tokens.d.ts +0 -0
- package/{src/common → common}/tokens/plugin.tokens.d.ts +0 -0
- package/{src/common → common}/tokens/prompt.tokens.d.ts +0 -0
- package/{src/common → common}/tokens/provider.tokens.d.ts +0 -0
- package/{src/common → common}/tokens/resource.tokens.d.ts +0 -0
- package/{src/common → common}/tokens/server.tokens.d.ts +0 -0
- package/{src/common → common}/tokens/tool.tokens.d.ts +0 -0
- package/{src/common → common}/types/auth/index.d.ts +0 -0
- package/{src/common → common}/types/auth/jwt.types.d.ts +0 -0
- package/{src/common → common}/types/auth/session.types.d.ts +0 -0
- package/{src/common → common}/types/common.types.d.ts +0 -0
- package/{src/common → common}/types/index.d.ts +0 -0
- package/{src/logger/logger.tokens.d.ts → common/types/options/auth/auth.typecheck.d.ts} +0 -0
- package/{src/common → common}/types/options/http.options.d.ts +0 -0
- package/{src/common → common}/types/options/logging.options.d.ts +0 -0
- package/{src/common → common}/types/options/redis.options.d.ts +0 -0
- package/{src/common → common}/types/options/server-info.options.d.ts +0 -0
- package/{src/common → common}/types/options/session.options.d.ts +0 -0
- package/{src/common → common}/utils/global-config.utils.d.ts +0 -0
- package/{src/common → common}/utils/index.d.ts +0 -0
- package/{src/common → common}/utils/path.utils.d.ts +0 -0
- package/{src/completion → completion}/flows/complete.flow.d.ts +0 -0
- package/{src/context → context}/frontmcp-context-storage.d.ts +0 -0
- package/{src/context → context}/frontmcp-context.d.ts +0 -0
- package/{src/context → context}/frontmcp-context.provider.d.ts +0 -0
- package/{src/context → context}/index.d.ts +0 -0
- package/{src/context → context}/request-context-storage.d.ts +0 -0
- package/{src/context → context}/request-context.d.ts +0 -0
- package/{src/context → context}/request-context.provider.d.ts +0 -0
- package/{src/context → context}/session-key.provider.d.ts +0 -0
- package/{src/context → context}/trace-context.d.ts +0 -0
- package/{src/errors → errors}/authorization-required.error.d.ts +0 -0
- package/{src/errors → errors}/error-handler.d.ts +0 -0
- package/{src/errors → errors}/index.d.ts +0 -0
- package/{src/errors → errors}/mcp.error.d.ts +0 -0
- package/{src/exceptions → exceptions}/mcp-exceptions/session-missing.exception.d.ts +0 -0
- package/{src/exceptions → exceptions}/mcp-exceptions/unsupported-client-version.exception.d.ts +0 -0
- package/{src/flows → flows}/flow.instance.d.ts +0 -0
- package/{src/flows → flows}/flow.registry.d.ts +0 -0
- package/{src/flows → flows}/flow.stages.d.ts +0 -0
- package/{src/flows → flows}/flow.utils.d.ts +0 -0
- package/{src/front-mcp → front-mcp}/front-mcp.d.ts +0 -0
- package/{src/front-mcp → front-mcp}/front-mcp.providers.d.ts +38 -38
- /package/{src/front-mcp → front-mcp}/front-mcp.tokens.d.ts +0 -0
- /package/{src/front-mcp → front-mcp}/index.d.ts +0 -0
- /package/{src/front-mcp → front-mcp}/serverless-handler.d.ts +0 -0
- /package/{src/hooks → hooks}/hook.instance.d.ts +0 -0
- /package/{src/hooks → hooks}/hook.registry.d.ts +0 -0
- /package/{src/hooks → hooks}/hooks.utils.d.ts +0 -0
- /package/{src/index.d.ts → index.d.ts} +0 -0
- /package/{src/logger → logger}/instances/instance.console-logger.d.ts +0 -0
- /package/{src/logger → logger}/instances/instance.logger.d.ts +0 -0
- /package/{src/logger → logger}/logger.registry.d.ts +0 -0
- /package/{src/logger → logger}/logger.types.d.ts +0 -0
- /package/{src/logger → logger}/logger.utils.d.ts +0 -0
- /package/{src/logging → logging}/flows/set-level.flow.d.ts +0 -0
- /package/{src/mcp-apps → mcp-apps}/csp.d.ts +0 -0
- /package/{src/mcp-apps → mcp-apps}/index.d.ts +0 -0
- /package/{src/mcp-apps → mcp-apps}/schemas.d.ts +0 -0
- /package/{src/mcp-apps → mcp-apps}/template.d.ts +0 -0
- /package/{src/mcp-apps → mcp-apps}/types.d.ts +0 -0
- /package/{src/notification → notification}/index.d.ts +0 -0
- /package/{src/notification → notification}/notification.service.d.ts +0 -0
- /package/{src/plugin → plugin}/plugin.registry.d.ts +0 -0
- /package/{src/plugin → plugin}/plugin.utils.d.ts +0 -0
- /package/{src/prompt → prompt}/flows/get-prompt.flow.d.ts +0 -0
- /package/{src/prompt → prompt}/flows/prompts-list.flow.d.ts +0 -0
- /package/{src/prompt → prompt}/index.d.ts +0 -0
- /package/{src/prompt → prompt}/prompt.events.d.ts +0 -0
- /package/{src/prompt → prompt}/prompt.instance.d.ts +0 -0
- /package/{src/prompt → prompt}/prompt.registry.d.ts +0 -0
- /package/{src/prompt → prompt}/prompt.types.d.ts +0 -0
- /package/{src/prompt → prompt}/prompt.utils.d.ts +0 -0
- /package/{src/provider → provider}/provider.registry.d.ts +0 -0
- /package/{src/provider → provider}/provider.types.d.ts +0 -0
- /package/{src/provider → provider}/provider.utils.d.ts +0 -0
- /package/{src/regsitry → regsitry}/index.d.ts +0 -0
- /package/{src/regsitry → regsitry}/registry.base.d.ts +0 -0
- /package/{src/resource → resource}/flows/read-resource.flow.d.ts +0 -0
- /package/{src/resource → resource}/flows/resource-templates-list.flow.d.ts +0 -0
- /package/{src/resource → resource}/flows/resources-list.flow.d.ts +0 -0
- /package/{src/resource → resource}/flows/subscribe-resource.flow.d.ts +0 -0
- /package/{src/resource → resource}/flows/unsubscribe-resource.flow.d.ts +0 -0
- /package/{src/resource → resource}/index.d.ts +0 -0
- /package/{src/resource → resource}/resource.events.d.ts +0 -0
- /package/{src/resource → resource}/resource.instance.d.ts +0 -0
- /package/{src/resource → resource}/resource.registry.d.ts +0 -0
- /package/{src/resource → resource}/resource.types.d.ts +0 -0
- /package/{src/resource → resource}/resource.utils.d.ts +0 -0
- /package/{src/scope → scope}/flows/http.request.flow.d.ts +0 -0
- /package/{src/scope → scope}/index.d.ts +0 -0
- /package/{src/scope → scope}/scope.instance.d.ts +0 -0
- /package/{src/scope → scope}/scope.registry.d.ts +0 -0
- /package/{src/scope → scope}/scope.utils.d.ts +0 -0
- /package/{src/server → server}/adapters/base.host.adapter.d.ts +0 -0
- /package/{src/server → server}/adapters/express.host.adapter.d.ts +0 -0
- /package/{src/server → server}/server.instance.d.ts +0 -0
- /package/{src/server → server}/server.types.d.ts +0 -0
- /package/{src/server → server}/server.validation.d.ts +0 -0
- /package/{src/store → store}/adapters/store.base.adapter.d.ts +0 -0
- /package/{src/store → store}/adapters/store.memory.adapter.d.ts +0 -0
- /package/{src/store → store}/adapters/store.redis.adapter.d.ts +0 -0
- /package/{src/store → store}/adapters/store.vercel-kv.adapter.d.ts +0 -0
- /package/{src/store → store}/index.d.ts +0 -0
- /package/{src/store → store}/store.factory.d.ts +0 -0
- /package/{src/store → store}/store.helpers.d.ts +0 -0
- /package/{src/store → store}/store.registry.d.ts +0 -0
- /package/{src/store → store}/store.tokens.d.ts +0 -0
- /package/{src/store → store}/store.types.d.ts +0 -0
- /package/{src/store → store}/store.utils.d.ts +0 -0
- /package/{src/tool → tool}/flows/call-tool.flow.d.ts +0 -0
- /package/{src/tool → tool}/flows/tools-list.flow.d.ts +0 -0
- /package/{src/tool → tool}/tool.events.d.ts +0 -0
- /package/{src/tool → tool}/tool.instance.d.ts +0 -0
- /package/{src/tool → tool}/tool.registry.d.ts +0 -0
- /package/{src/tool → tool}/tool.types.d.ts +0 -0
- /package/{src/tool → tool}/tool.utils.d.ts +0 -0
- /package/{src/tool → tool}/ui/index.d.ts +0 -0
- /package/{src/tool → tool}/ui/platform-adapters.d.ts +0 -0
- /package/{src/tool → tool}/ui/template-helpers.d.ts +0 -0
- /package/{src/tool → tool}/ui/ui-resource-template.d.ts +0 -0
- /package/{src/tool → tool}/ui/ui-resource.handler.d.ts +0 -0
- /package/{src/transport → transport}/adapters/transport.local.adapter.d.ts +0 -0
- /package/{src/transport → transport}/adapters/transport.sse.adapter.d.ts +0 -0
- /package/{src/transport → transport}/adapters/transport.streamable-http.adapter.d.ts +0 -0
- /package/{src/transport → transport}/flows/handle.sse.flow.d.ts +0 -0
- /package/{src/transport → transport}/flows/handle.stateless-http.flow.d.ts +0 -0
- /package/{src/transport → transport}/flows/handle.streamable-http.flow.d.ts +0 -0
- /package/{src/transport → transport}/legacy/legacy.sse.tranporter.d.ts +0 -0
- /package/{src/transport → transport}/mcp-handlers/Initialized-notification.hanlder.d.ts +0 -0
- /package/{src/transport → transport}/mcp-handlers/call-tool-request.handler.d.ts +0 -0
- /package/{src/transport → transport}/mcp-handlers/complete-request.handler.d.ts +0 -0
- /package/{src/transport → transport}/mcp-handlers/get-prompt-request.handler.d.ts +0 -0
- /package/{src/transport → transport}/mcp-handlers/index.d.ts +0 -0
- /package/{src/transport → transport}/mcp-handlers/initialize-request.handler.d.ts +0 -0
- /package/{src/transport → transport}/mcp-handlers/list-prompts-request.handler.d.ts +0 -0
- /package/{src/transport → transport}/mcp-handlers/list-resource-templates-request.handler.d.ts +0 -0
- /package/{src/transport → transport}/mcp-handlers/list-resources-request.handler.d.ts +0 -0
- /package/{src/transport → transport}/mcp-handlers/list-tools-request.handler.d.ts +0 -0
- /package/{src/transport → transport}/mcp-handlers/logging-set-level-request.handler.d.ts +0 -0
- /package/{src/transport → transport}/mcp-handlers/mcp-handlers.types.d.ts +0 -0
- /package/{src/transport → transport}/mcp-handlers/read-resource-request.handler.d.ts +0 -0
- /package/{src/transport → transport}/mcp-handlers/roots-list-changed-notification.handler.d.ts +0 -0
- /package/{src/transport → transport}/mcp-handlers/subscribe-request.handler.d.ts +0 -0
- /package/{src/transport → transport}/mcp-handlers/unsubscribe-request.handler.d.ts +0 -0
- /package/{src/transport → transport}/transport.error.d.ts +0 -0
- /package/{src/transport → transport}/transport.event-store.d.ts +0 -0
- /package/{src/transport → transport}/transport.local.d.ts +0 -0
- /package/{src/transport → transport}/transport.registry.d.ts +0 -0
- /package/{src/transport → transport}/transport.remote.d.ts +0 -0
- /package/{src/transport → transport}/transport.types.d.ts +0 -0
- /package/{src/types → types}/drinen-hooks.types.d.ts +0 -0
- /package/{src/types → types}/invoke.type.d.ts +0 -0
- /package/{src/types → types}/token.types.d.ts +0 -0
- /package/{src/utils → utils}/content.utils.d.ts +0 -0
- /package/{src/utils → utils}/index.d.ts +0 -0
- /package/{src/utils → utils}/lineage.utils.d.ts +0 -0
- /package/{src/utils → utils}/metadata.utils.d.ts +0 -0
- /package/{src/utils → utils}/naming.utils.d.ts +0 -0
- /package/{src/utils → utils}/server.utils.d.ts +0 -0
- /package/{src/utils → utils}/string.utils.d.ts +0 -0
- /package/{src/utils → utils}/token.utils.d.ts +0 -0
- /package/{src/utils → utils}/types.utils.d.ts +0 -0
- /package/{src/utils → utils}/uri-template.utils.d.ts +0 -0
- /package/{src/utils → utils}/uri-validation.utils.d.ts +0 -0
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* W3C Trace Context Parser
|
|
4
|
-
*
|
|
5
|
-
* Parses distributed tracing headers according to W3C Trace Context specification.
|
|
6
|
-
* Supports traceparent header with fallback to x-frontmcp-trace-id custom header.
|
|
7
|
-
*
|
|
8
|
-
* @see https://www.w3.org/TR/trace-context/
|
|
9
|
-
*/
|
|
10
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.parseTraceContext = parseTraceContext;
|
|
12
|
-
exports.generateTraceContext = generateTraceContext;
|
|
13
|
-
exports.createChildSpanContext = createChildSpanContext;
|
|
14
|
-
const node_crypto_1 = require("node:crypto");
|
|
15
|
-
/**
|
|
16
|
-
* Parse trace context from HTTP headers.
|
|
17
|
-
*
|
|
18
|
-
* Priority:
|
|
19
|
-
* 1. W3C traceparent header
|
|
20
|
-
* 2. x-frontmcp-trace-id custom header
|
|
21
|
-
* 3. Generate new trace context
|
|
22
|
-
*
|
|
23
|
-
* @param headers - HTTP headers object
|
|
24
|
-
* @returns Parsed or generated TraceContext
|
|
25
|
-
*/
|
|
26
|
-
function parseTraceContext(headers) {
|
|
27
|
-
// Priority 1: W3C traceparent header
|
|
28
|
-
const traceparent = getHeader(headers, 'traceparent');
|
|
29
|
-
if (traceparent) {
|
|
30
|
-
const parsed = parseTraceparent(traceparent);
|
|
31
|
-
if (parsed)
|
|
32
|
-
return parsed;
|
|
33
|
-
}
|
|
34
|
-
// Priority 2: x-frontmcp-trace-id custom header
|
|
35
|
-
const customTraceId = getHeader(headers, 'x-frontmcp-trace-id');
|
|
36
|
-
if (customTraceId && isValidTraceId(customTraceId)) {
|
|
37
|
-
const parentId = generateParentId();
|
|
38
|
-
return {
|
|
39
|
-
traceId: customTraceId.toLowerCase(),
|
|
40
|
-
parentId,
|
|
41
|
-
traceFlags: 0x01,
|
|
42
|
-
raw: `00-${customTraceId.toLowerCase()}-${parentId}-01`,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
// Priority 3: Generate new trace context
|
|
46
|
-
return generateTraceContext();
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Parse W3C traceparent header.
|
|
50
|
-
*
|
|
51
|
-
* Format: version-traceId-parentId-traceFlags
|
|
52
|
-
* Example: 00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01
|
|
53
|
-
*
|
|
54
|
-
* @param value - traceparent header value
|
|
55
|
-
* @returns Parsed TraceContext or null if invalid
|
|
56
|
-
*/
|
|
57
|
-
function parseTraceparent(value) {
|
|
58
|
-
const parts = value.split('-');
|
|
59
|
-
if (parts.length !== 4)
|
|
60
|
-
return null;
|
|
61
|
-
const [version, traceId, parentId, flags] = parts;
|
|
62
|
-
// Validate version (must be 00 for current spec)
|
|
63
|
-
if (version !== '00')
|
|
64
|
-
return null;
|
|
65
|
-
// Validate trace-id (32 hex chars, not all zeros)
|
|
66
|
-
if (!isValidTraceId(traceId))
|
|
67
|
-
return null;
|
|
68
|
-
// Validate parent-id (16 hex chars, not all zeros)
|
|
69
|
-
if (!isValidParentId(parentId))
|
|
70
|
-
return null;
|
|
71
|
-
// Parse trace-flags
|
|
72
|
-
const traceFlags = parseInt(flags, 16);
|
|
73
|
-
if (isNaN(traceFlags))
|
|
74
|
-
return null;
|
|
75
|
-
return {
|
|
76
|
-
traceId: traceId.toLowerCase(),
|
|
77
|
-
parentId: parentId.toLowerCase(),
|
|
78
|
-
traceFlags,
|
|
79
|
-
raw: value,
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Validate a trace ID according to W3C spec.
|
|
84
|
-
* Must be 32 lowercase hex characters, not all zeros.
|
|
85
|
-
*/
|
|
86
|
-
function isValidTraceId(id) {
|
|
87
|
-
return /^[a-f0-9]{32}$/i.test(id) && id !== '00000000000000000000000000000000';
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Validate a parent ID according to W3C spec.
|
|
91
|
-
* Must be 16 lowercase hex characters, not all zeros.
|
|
92
|
-
*/
|
|
93
|
-
function isValidParentId(id) {
|
|
94
|
-
return /^[a-f0-9]{16}$/i.test(id) && id !== '0000000000000000';
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Generate a new parent ID (16 hex chars).
|
|
98
|
-
*/
|
|
99
|
-
function generateParentId() {
|
|
100
|
-
return (0, node_crypto_1.randomUUID)().replace(/-/g, '').slice(0, 16);
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Generate a new trace context with random IDs.
|
|
104
|
-
*/
|
|
105
|
-
function generateTraceContext() {
|
|
106
|
-
const traceId = (0, node_crypto_1.randomUUID)().replace(/-/g, '');
|
|
107
|
-
const parentId = generateParentId();
|
|
108
|
-
return {
|
|
109
|
-
traceId,
|
|
110
|
-
parentId,
|
|
111
|
-
traceFlags: 0x01, // sampled
|
|
112
|
-
raw: `00-${traceId}-${parentId}-01`,
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Get a header value from headers object (case-insensitive).
|
|
117
|
-
*/
|
|
118
|
-
function getHeader(headers, name) {
|
|
119
|
-
// Try exact match first
|
|
120
|
-
const value = headers[name];
|
|
121
|
-
if (typeof value === 'string')
|
|
122
|
-
return value;
|
|
123
|
-
// Try lowercase
|
|
124
|
-
const lowerValue = headers[name.toLowerCase()];
|
|
125
|
-
if (typeof lowerValue === 'string')
|
|
126
|
-
return lowerValue;
|
|
127
|
-
return undefined;
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Create a child span context from a parent context.
|
|
131
|
-
* Generates a new parentId while preserving the traceId.
|
|
132
|
-
*/
|
|
133
|
-
function createChildSpanContext(parent) {
|
|
134
|
-
const newParentId = generateParentId();
|
|
135
|
-
return {
|
|
136
|
-
traceId: parent.traceId,
|
|
137
|
-
parentId: newParentId,
|
|
138
|
-
traceFlags: parent.traceFlags,
|
|
139
|
-
raw: `00-${parent.traceId}-${newParentId}-${parent.traceFlags.toString(16).padStart(2, '0')}`,
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
//# sourceMappingURL=trace-context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trace-context.js","sourceRoot":"","sources":["../../../src/context/trace-context.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * W3C Trace Context Parser\n *\n * Parses distributed tracing headers according to W3C Trace Context specification.\n * Supports traceparent header with fallback to x-frontmcp-trace-id custom header.\n *\n * @see https://www.w3.org/TR/trace-context/\n */\n\nimport { randomUUID } from 'node:crypto';\n\n/**\n * W3C Trace Context parsed from traceparent header.\n * Format: 00-<trace-id>-<parent-id>-<trace-flags>\n */\nexport interface TraceContext {\n /** 128-bit trace identifier (32 hex chars) */\n traceId: string;\n /** 64-bit parent span identifier (16 hex chars) */\n parentId: string;\n /** 8-bit trace flags (sampled = 0x01) */\n traceFlags: number;\n /** Raw traceparent header value */\n raw: string;\n}\n\n/**\n * Parse trace context from HTTP headers.\n *\n * Priority:\n * 1. W3C traceparent header\n * 2. x-frontmcp-trace-id custom header\n * 3. Generate new trace context\n *\n * @param headers - HTTP headers object\n * @returns Parsed or generated TraceContext\n */\nexport function parseTraceContext(headers: Record<string, unknown>): TraceContext {\n // Priority 1: W3C traceparent header\n const traceparent = getHeader(headers, 'traceparent');\n if (traceparent) {\n const parsed = parseTraceparent(traceparent);\n if (parsed) return parsed;\n }\n\n // Priority 2: x-frontmcp-trace-id custom header\n const customTraceId = getHeader(headers, 'x-frontmcp-trace-id');\n if (customTraceId && isValidTraceId(customTraceId)) {\n const parentId = generateParentId();\n return {\n traceId: customTraceId.toLowerCase(),\n parentId,\n traceFlags: 0x01,\n raw: `00-${customTraceId.toLowerCase()}-${parentId}-01`,\n };\n }\n\n // Priority 3: Generate new trace context\n return generateTraceContext();\n}\n\n/**\n * Parse W3C traceparent header.\n *\n * Format: version-traceId-parentId-traceFlags\n * Example: 00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01\n *\n * @param value - traceparent header value\n * @returns Parsed TraceContext or null if invalid\n */\nfunction parseTraceparent(value: string): TraceContext | null {\n const parts = value.split('-');\n if (parts.length !== 4) return null;\n\n const [version, traceId, parentId, flags] = parts;\n\n // Validate version (must be 00 for current spec)\n if (version !== '00') return null;\n\n // Validate trace-id (32 hex chars, not all zeros)\n if (!isValidTraceId(traceId)) return null;\n\n // Validate parent-id (16 hex chars, not all zeros)\n if (!isValidParentId(parentId)) return null;\n\n // Parse trace-flags\n const traceFlags = parseInt(flags, 16);\n if (isNaN(traceFlags)) return null;\n\n return {\n traceId: traceId.toLowerCase(),\n parentId: parentId.toLowerCase(),\n traceFlags,\n raw: value,\n };\n}\n\n/**\n * Validate a trace ID according to W3C spec.\n * Must be 32 lowercase hex characters, not all zeros.\n */\nfunction isValidTraceId(id: string): boolean {\n return /^[a-f0-9]{32}$/i.test(id) && id !== '00000000000000000000000000000000';\n}\n\n/**\n * Validate a parent ID according to W3C spec.\n * Must be 16 lowercase hex characters, not all zeros.\n */\nfunction isValidParentId(id: string): boolean {\n return /^[a-f0-9]{16}$/i.test(id) && id !== '0000000000000000';\n}\n\n/**\n * Generate a new parent ID (16 hex chars).\n */\nfunction generateParentId(): string {\n return randomUUID().replace(/-/g, '').slice(0, 16);\n}\n\n/**\n * Generate a new trace context with random IDs.\n */\nexport function generateTraceContext(): TraceContext {\n const traceId = randomUUID().replace(/-/g, '');\n const parentId = generateParentId();\n return {\n traceId,\n parentId,\n traceFlags: 0x01, // sampled\n raw: `00-${traceId}-${parentId}-01`,\n };\n}\n\n/**\n * Get a header value from headers object (case-insensitive).\n */\nfunction getHeader(headers: Record<string, unknown>, name: string): string | undefined {\n // Try exact match first\n const value = headers[name];\n if (typeof value === 'string') return value;\n\n // Try lowercase\n const lowerValue = headers[name.toLowerCase()];\n if (typeof lowerValue === 'string') return lowerValue;\n\n return undefined;\n}\n\n/**\n * Create a child span context from a parent context.\n * Generates a new parentId while preserving the traceId.\n */\nexport function createChildSpanContext(parent: TraceContext): TraceContext {\n const newParentId = generateParentId();\n return {\n traceId: parent.traceId,\n parentId: newParentId,\n traceFlags: parent.traceFlags,\n raw: `00-${parent.traceId}-${newParentId}-${parent.traceFlags.toString(16).padStart(2, '0')}`,\n };\n}\n"]}
|
|
@@ -1,274 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AuthorizationRequiredError = exports.authorizationRequiredMetaSchema = exports.authorizationRequiredParamsSchema = exports.authorizationRequiredDataSchema = exports.elicitResponseSchema = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Authorization Required Error
|
|
6
|
-
*
|
|
7
|
-
* Thrown when a tool requires app-level authorization that the user has not granted.
|
|
8
|
-
* Used for progressive/incremental authorization flow where users can skip apps
|
|
9
|
-
* during initial auth and authorize later when needed.
|
|
10
|
-
*
|
|
11
|
-
* Behavior depends on session mode:
|
|
12
|
-
* - Stateful: Returns auth_url link for incremental authorization
|
|
13
|
-
* - Stateless: Returns unauthorized error (no link, must re-auth from scratch)
|
|
14
|
-
*
|
|
15
|
-
* Supports MCP elicit flow for clients that support it.
|
|
16
|
-
*/
|
|
17
|
-
const zod_1 = require("zod");
|
|
18
|
-
const mcp_error_1 = require("./mcp.error");
|
|
19
|
-
/**
|
|
20
|
-
* Elicit response type for clients that support elicit flow
|
|
21
|
-
*/
|
|
22
|
-
exports.elicitResponseSchema = zod_1.z.object({
|
|
23
|
-
/** Elicit request ID for tracking */
|
|
24
|
-
elicitId: zod_1.z.string(),
|
|
25
|
-
/** Authorization URL to display */
|
|
26
|
-
authUrl: zod_1.z.string().url(),
|
|
27
|
-
/** Message to display to user */
|
|
28
|
-
message: zod_1.z.string(),
|
|
29
|
-
/** App being authorized */
|
|
30
|
-
appId: zod_1.z.string(),
|
|
31
|
-
/** Tool that triggered auth */
|
|
32
|
-
toolId: zod_1.z.string(),
|
|
33
|
-
});
|
|
34
|
-
// ============================================
|
|
35
|
-
// Schemas
|
|
36
|
-
// ============================================
|
|
37
|
-
/**
|
|
38
|
-
* Schema for authorization required response data (stateful mode with link)
|
|
39
|
-
*/
|
|
40
|
-
exports.authorizationRequiredDataSchema = zod_1.z.object({
|
|
41
|
-
/** Error type identifier */
|
|
42
|
-
error: zod_1.z.literal('authorization_required'),
|
|
43
|
-
/** App ID that requires authorization */
|
|
44
|
-
app: zod_1.z.string().min(1),
|
|
45
|
-
/** Tool ID that triggered the authorization requirement */
|
|
46
|
-
tool: zod_1.z.string().min(1),
|
|
47
|
-
/** URL to authorize the app (only in stateful mode) */
|
|
48
|
-
auth_url: zod_1.z.string().url().optional(),
|
|
49
|
-
/** Human-readable message */
|
|
50
|
-
message: zod_1.z.string(),
|
|
51
|
-
/** Scopes required by the tool (optional) */
|
|
52
|
-
required_scopes: zod_1.z.array(zod_1.z.string()).optional(),
|
|
53
|
-
/** Session mode that determines behavior */
|
|
54
|
-
session_mode: zod_1.z.enum(['stateful', 'stateless']).optional(),
|
|
55
|
-
/** Whether elicit flow is being used */
|
|
56
|
-
elicit_id: zod_1.z.string().optional(),
|
|
57
|
-
/** Whether client can use incremental auth link */
|
|
58
|
-
supports_incremental: zod_1.z.boolean().optional(),
|
|
59
|
-
});
|
|
60
|
-
/**
|
|
61
|
-
* Schema for authorization required error constructor params
|
|
62
|
-
*/
|
|
63
|
-
exports.authorizationRequiredParamsSchema = zod_1.z.object({
|
|
64
|
-
appId: zod_1.z.string().min(1),
|
|
65
|
-
toolId: zod_1.z.string().min(1),
|
|
66
|
-
authUrl: zod_1.z.string().optional(),
|
|
67
|
-
requiredScopes: zod_1.z.array(zod_1.z.string()).optional(),
|
|
68
|
-
message: zod_1.z.string().optional(),
|
|
69
|
-
/** Session mode - determines if auth link is included */
|
|
70
|
-
sessionMode: zod_1.z.enum(['stateful', 'stateless']).optional(),
|
|
71
|
-
/** Elicit ID if using elicit flow */
|
|
72
|
-
elicitId: zod_1.z.string().optional(),
|
|
73
|
-
/** Vault ID for stateful sessions */
|
|
74
|
-
vaultId: zod_1.z.string().optional(),
|
|
75
|
-
/** Pending auth ID for tracking */
|
|
76
|
-
pendingAuthId: zod_1.z.string().optional(),
|
|
77
|
-
});
|
|
78
|
-
/**
|
|
79
|
-
* Schema for the _meta field in MCP error response
|
|
80
|
-
*/
|
|
81
|
-
exports.authorizationRequiredMetaSchema = zod_1.z.object({
|
|
82
|
-
errorId: zod_1.z.string(),
|
|
83
|
-
code: zod_1.z.string(),
|
|
84
|
-
timestamp: zod_1.z.string(),
|
|
85
|
-
authorization_required: zod_1.z.literal(true),
|
|
86
|
-
app: zod_1.z.string(),
|
|
87
|
-
tool: zod_1.z.string(),
|
|
88
|
-
auth_url: zod_1.z.string().optional(),
|
|
89
|
-
required_scopes: zod_1.z.array(zod_1.z.string()).optional(),
|
|
90
|
-
session_mode: zod_1.z.enum(['stateful', 'stateless']),
|
|
91
|
-
supports_incremental: zod_1.z.boolean(),
|
|
92
|
-
elicit_id: zod_1.z.string().optional(),
|
|
93
|
-
pending_auth_id: zod_1.z.string().optional(),
|
|
94
|
-
});
|
|
95
|
-
// ============================================
|
|
96
|
-
// Error Class
|
|
97
|
-
// ============================================
|
|
98
|
-
/**
|
|
99
|
-
* Error thrown when a tool's parent app requires authorization.
|
|
100
|
-
* This enables progressive authorization where users can authorize apps
|
|
101
|
-
* incrementally as needed rather than all at once.
|
|
102
|
-
*
|
|
103
|
-
* Behavior depends on session mode:
|
|
104
|
-
* - **Stateful**: Returns auth_url link for incremental authorization
|
|
105
|
-
* - User can click link to authorize without full re-authentication
|
|
106
|
-
* - Supports elicit flow for interactive authorization
|
|
107
|
-
* - **Stateless**: Returns unauthorized error only
|
|
108
|
-
* - No link provided (all state in JWT, cannot extend)
|
|
109
|
-
* - User must re-authenticate from scratch
|
|
110
|
-
*
|
|
111
|
-
* @example
|
|
112
|
-
* ```typescript
|
|
113
|
-
* // Stateful mode - can provide auth link
|
|
114
|
-
* throw new AuthorizationRequiredError({
|
|
115
|
-
* appId: 'slack',
|
|
116
|
-
* toolId: 'slack:send_message',
|
|
117
|
-
* authUrl: '/oauth/authorize?app=slack',
|
|
118
|
-
* sessionMode: 'stateful',
|
|
119
|
-
* message: 'Please authorize Slack to use this tool.',
|
|
120
|
-
* });
|
|
121
|
-
*
|
|
122
|
-
* // Stateless mode - no link, must re-auth
|
|
123
|
-
* throw new AuthorizationRequiredError({
|
|
124
|
-
* appId: 'slack',
|
|
125
|
-
* toolId: 'slack:send_message',
|
|
126
|
-
* sessionMode: 'stateless',
|
|
127
|
-
* message: 'You are not authorized to use this tool.',
|
|
128
|
-
* });
|
|
129
|
-
* ```
|
|
130
|
-
*/
|
|
131
|
-
class AuthorizationRequiredError extends mcp_error_1.PublicMcpError {
|
|
132
|
-
/** App ID that requires authorization */
|
|
133
|
-
appId;
|
|
134
|
-
/** Tool ID that triggered the authorization requirement */
|
|
135
|
-
toolId;
|
|
136
|
-
/** URL to authorize the app (only available in stateful mode) */
|
|
137
|
-
authUrl;
|
|
138
|
-
/** Scopes required by the tool (optional) */
|
|
139
|
-
requiredScopes;
|
|
140
|
-
/** Session mode determines if incremental auth is supported */
|
|
141
|
-
sessionMode;
|
|
142
|
-
/** Elicit ID if using elicit flow */
|
|
143
|
-
elicitId;
|
|
144
|
-
/** Vault ID for stateful sessions */
|
|
145
|
-
vaultId;
|
|
146
|
-
/** Pending auth ID for tracking */
|
|
147
|
-
pendingAuthId;
|
|
148
|
-
/** Whether incremental authorization is supported */
|
|
149
|
-
supportsIncremental;
|
|
150
|
-
constructor(params) {
|
|
151
|
-
const sessionMode = params.sessionMode ?? 'stateful';
|
|
152
|
-
const supportsIncremental = sessionMode === 'stateful';
|
|
153
|
-
// Message differs based on mode
|
|
154
|
-
const defaultMessage = supportsIncremental
|
|
155
|
-
? `Authorization required for ${params.appId}. Please authorize to use ${params.toolId}.`
|
|
156
|
-
: `You are not authorized to use ${params.toolId}. Please re-authenticate to access this tool.`;
|
|
157
|
-
super(params.message || defaultMessage, 'AUTHORIZATION_REQUIRED', 403);
|
|
158
|
-
this.appId = params.appId;
|
|
159
|
-
this.toolId = params.toolId;
|
|
160
|
-
this.sessionMode = sessionMode;
|
|
161
|
-
this.supportsIncremental = supportsIncremental;
|
|
162
|
-
// Only set authUrl in stateful mode
|
|
163
|
-
if (supportsIncremental && params.authUrl) {
|
|
164
|
-
this.authUrl = params.authUrl;
|
|
165
|
-
}
|
|
166
|
-
this.requiredScopes = params.requiredScopes;
|
|
167
|
-
this.elicitId = params.elicitId;
|
|
168
|
-
this.vaultId = params.vaultId;
|
|
169
|
-
this.pendingAuthId = params.pendingAuthId;
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Convert to MCP error response format with authorization metadata.
|
|
173
|
-
* The _meta field includes structured data that AI agents can use
|
|
174
|
-
* to prompt users for authorization.
|
|
175
|
-
*
|
|
176
|
-
* In stateful mode: includes auth_url for AI to display
|
|
177
|
-
* In stateless mode: no auth_url, AI should inform user to re-authenticate
|
|
178
|
-
*/
|
|
179
|
-
toMcpError(isDevelopment) {
|
|
180
|
-
// Build content text based on mode
|
|
181
|
-
let contentText = this.getPublicMessage();
|
|
182
|
-
if (this.supportsIncremental && this.authUrl) {
|
|
183
|
-
contentText += `\n\nTo authorize, click: ${this.authUrl}`;
|
|
184
|
-
}
|
|
185
|
-
else if (!this.supportsIncremental) {
|
|
186
|
-
contentText += '\n\nPlease re-authenticate to access this tool.';
|
|
187
|
-
}
|
|
188
|
-
return {
|
|
189
|
-
content: [
|
|
190
|
-
{
|
|
191
|
-
type: 'text',
|
|
192
|
-
text: contentText,
|
|
193
|
-
},
|
|
194
|
-
],
|
|
195
|
-
isError: true,
|
|
196
|
-
_meta: {
|
|
197
|
-
errorId: this.errorId,
|
|
198
|
-
code: this.code,
|
|
199
|
-
timestamp: new Date().toISOString(),
|
|
200
|
-
// Progressive auth specific fields for AI agents to use
|
|
201
|
-
authorization_required: true,
|
|
202
|
-
app: this.appId,
|
|
203
|
-
tool: this.toolId,
|
|
204
|
-
auth_url: this.authUrl,
|
|
205
|
-
required_scopes: this.requiredScopes,
|
|
206
|
-
session_mode: this.sessionMode,
|
|
207
|
-
supports_incremental: this.supportsIncremental,
|
|
208
|
-
elicit_id: this.elicitId,
|
|
209
|
-
pending_auth_id: this.pendingAuthId,
|
|
210
|
-
},
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
* Convert to structured authorization required data
|
|
215
|
-
*/
|
|
216
|
-
toAuthorizationRequiredData() {
|
|
217
|
-
return {
|
|
218
|
-
error: 'authorization_required',
|
|
219
|
-
app: this.appId,
|
|
220
|
-
tool: this.toolId,
|
|
221
|
-
auth_url: this.authUrl,
|
|
222
|
-
message: this.getPublicMessage(),
|
|
223
|
-
required_scopes: this.requiredScopes,
|
|
224
|
-
session_mode: this.sessionMode,
|
|
225
|
-
elicit_id: this.elicitId,
|
|
226
|
-
supports_incremental: this.supportsIncremental,
|
|
227
|
-
};
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* Create an elicit response for clients that support it
|
|
231
|
-
* Only available in stateful mode
|
|
232
|
-
*/
|
|
233
|
-
toElicitResponse() {
|
|
234
|
-
if (!this.supportsIncremental || !this.authUrl || !this.elicitId) {
|
|
235
|
-
return null;
|
|
236
|
-
}
|
|
237
|
-
return {
|
|
238
|
-
elicitId: this.elicitId,
|
|
239
|
-
authUrl: this.authUrl,
|
|
240
|
-
message: this.getPublicMessage(),
|
|
241
|
-
appId: this.appId,
|
|
242
|
-
toolId: this.toolId,
|
|
243
|
-
};
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* Check if this error can be resolved via incremental auth link
|
|
247
|
-
*/
|
|
248
|
-
canUseIncrementalAuth() {
|
|
249
|
-
return this.supportsIncremental && !!this.authUrl;
|
|
250
|
-
}
|
|
251
|
-
/**
|
|
252
|
-
* Get user-facing message based on mode
|
|
253
|
-
* - Stateful: includes link text
|
|
254
|
-
* - Stateless: tells user to re-authenticate
|
|
255
|
-
*/
|
|
256
|
-
getUserFacingMessage() {
|
|
257
|
-
if (this.supportsIncremental && this.authUrl) {
|
|
258
|
-
return `${this.getPublicMessage()}\n\nClick here to authorize: ${this.authUrl}`;
|
|
259
|
-
}
|
|
260
|
-
return `${this.getPublicMessage()}\n\nYou are not authorized to use this tool. Please re-authenticate to access it.`;
|
|
261
|
-
}
|
|
262
|
-
/**
|
|
263
|
-
* Get message for cancelled authorization
|
|
264
|
-
*/
|
|
265
|
-
static getCancelledMessage(appId, toolId, authUrl) {
|
|
266
|
-
const baseMsg = `Authorization was cancelled. You are not authorized to use ${toolId}.`;
|
|
267
|
-
if (authUrl) {
|
|
268
|
-
return `${baseMsg}\n\nIf you still want to use this tool, click this link to authorize: ${authUrl}\n\nThen re-prompt your request to try again.`;
|
|
269
|
-
}
|
|
270
|
-
return `${baseMsg}\n\nPlease re-authenticate and try again.`;
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
exports.AuthorizationRequiredError = AuthorizationRequiredError;
|
|
274
|
-
//# sourceMappingURL=authorization-required.error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authorization-required.error.js","sourceRoot":"","sources":["../../../src/errors/authorization-required.error.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Authorization Required Error\n *\n * Thrown when a tool requires app-level authorization that the user has not granted.\n * Used for progressive/incremental authorization flow where users can skip apps\n * during initial auth and authorize later when needed.\n *\n * Behavior depends on session mode:\n * - Stateful: Returns auth_url link for incremental authorization\n * - Stateless: Returns unauthorized error (no link, must re-auth from scratch)\n *\n * Supports MCP elicit flow for clients that support it.\n */\nimport { z } from 'zod';\nimport { PublicMcpError } from './mcp.error';\n\n// ============================================\n// Session Mode Types\n// ============================================\n\n/**\n * Session mode determines how authorization state is stored\n */\nexport type SessionMode = 'stateful' | 'stateless';\n\n/**\n * Elicit response type for clients that support elicit flow\n */\nexport const elicitResponseSchema = z.object({\n /** Elicit request ID for tracking */\n elicitId: z.string(),\n /** Authorization URL to display */\n authUrl: z.string().url(),\n /** Message to display to user */\n message: z.string(),\n /** App being authorized */\n appId: z.string(),\n /** Tool that triggered auth */\n toolId: z.string(),\n});\n\nexport type ElicitResponse = z.infer<typeof elicitResponseSchema>;\n\n// ============================================\n// Schemas\n// ============================================\n\n/**\n * Schema for authorization required response data (stateful mode with link)\n */\nexport const authorizationRequiredDataSchema = z.object({\n /** Error type identifier */\n error: z.literal('authorization_required'),\n /** App ID that requires authorization */\n app: z.string().min(1),\n /** Tool ID that triggered the authorization requirement */\n tool: z.string().min(1),\n /** URL to authorize the app (only in stateful mode) */\n auth_url: z.string().url().optional(),\n /** Human-readable message */\n message: z.string(),\n /** Scopes required by the tool (optional) */\n required_scopes: z.array(z.string()).optional(),\n /** Session mode that determines behavior */\n session_mode: z.enum(['stateful', 'stateless']).optional(),\n /** Whether elicit flow is being used */\n elicit_id: z.string().optional(),\n /** Whether client can use incremental auth link */\n supports_incremental: z.boolean().optional(),\n});\n\n/**\n * Schema for authorization required error constructor params\n */\nexport const authorizationRequiredParamsSchema = z.object({\n appId: z.string().min(1),\n toolId: z.string().min(1),\n authUrl: z.string().optional(),\n requiredScopes: z.array(z.string()).optional(),\n message: z.string().optional(),\n /** Session mode - determines if auth link is included */\n sessionMode: z.enum(['stateful', 'stateless']).optional(),\n /** Elicit ID if using elicit flow */\n elicitId: z.string().optional(),\n /** Vault ID for stateful sessions */\n vaultId: z.string().optional(),\n /** Pending auth ID for tracking */\n pendingAuthId: z.string().optional(),\n});\n\n/**\n * Schema for the _meta field in MCP error response\n */\nexport const authorizationRequiredMetaSchema = z.object({\n errorId: z.string(),\n code: z.string(),\n timestamp: z.string(),\n authorization_required: z.literal(true),\n app: z.string(),\n tool: z.string(),\n auth_url: z.string().optional(),\n required_scopes: z.array(z.string()).optional(),\n session_mode: z.enum(['stateful', 'stateless']),\n supports_incremental: z.boolean(),\n elicit_id: z.string().optional(),\n pending_auth_id: z.string().optional(),\n});\n\n// ============================================\n// Types (inferred from schemas)\n// ============================================\n\n/**\n * Data structure for authorization required responses\n */\nexport type AuthorizationRequiredData = z.infer<typeof authorizationRequiredDataSchema>;\n\n/**\n * Constructor params for AuthorizationRequiredError\n */\nexport type AuthorizationRequiredParams = z.infer<typeof authorizationRequiredParamsSchema>;\n\n/**\n * Meta field type for MCP error response\n */\nexport type AuthorizationRequiredMeta = z.infer<typeof authorizationRequiredMetaSchema>;\n\n// ============================================\n// Error Class\n// ============================================\n\n/**\n * Error thrown when a tool's parent app requires authorization.\n * This enables progressive authorization where users can authorize apps\n * incrementally as needed rather than all at once.\n *\n * Behavior depends on session mode:\n * - **Stateful**: Returns auth_url link for incremental authorization\n * - User can click link to authorize without full re-authentication\n * - Supports elicit flow for interactive authorization\n * - **Stateless**: Returns unauthorized error only\n * - No link provided (all state in JWT, cannot extend)\n * - User must re-authenticate from scratch\n *\n * @example\n * ```typescript\n * // Stateful mode - can provide auth link\n * throw new AuthorizationRequiredError({\n * appId: 'slack',\n * toolId: 'slack:send_message',\n * authUrl: '/oauth/authorize?app=slack',\n * sessionMode: 'stateful',\n * message: 'Please authorize Slack to use this tool.',\n * });\n *\n * // Stateless mode - no link, must re-auth\n * throw new AuthorizationRequiredError({\n * appId: 'slack',\n * toolId: 'slack:send_message',\n * sessionMode: 'stateless',\n * message: 'You are not authorized to use this tool.',\n * });\n * ```\n */\nexport class AuthorizationRequiredError extends PublicMcpError {\n /** App ID that requires authorization */\n readonly appId: string;\n\n /** Tool ID that triggered the authorization requirement */\n readonly toolId: string;\n\n /** URL to authorize the app (only available in stateful mode) */\n readonly authUrl?: string;\n\n /** Scopes required by the tool (optional) */\n readonly requiredScopes?: string[];\n\n /** Session mode determines if incremental auth is supported */\n readonly sessionMode: SessionMode;\n\n /** Elicit ID if using elicit flow */\n readonly elicitId?: string;\n\n /** Vault ID for stateful sessions */\n readonly vaultId?: string;\n\n /** Pending auth ID for tracking */\n readonly pendingAuthId?: string;\n\n /** Whether incremental authorization is supported */\n readonly supportsIncremental: boolean;\n\n constructor(params: AuthorizationRequiredParams) {\n const sessionMode = params.sessionMode ?? 'stateful';\n const supportsIncremental = sessionMode === 'stateful';\n\n // Message differs based on mode\n const defaultMessage = supportsIncremental\n ? `Authorization required for ${params.appId}. Please authorize to use ${params.toolId}.`\n : `You are not authorized to use ${params.toolId}. Please re-authenticate to access this tool.`;\n\n super(params.message || defaultMessage, 'AUTHORIZATION_REQUIRED', 403);\n this.appId = params.appId;\n this.toolId = params.toolId;\n this.sessionMode = sessionMode;\n this.supportsIncremental = supportsIncremental;\n\n // Only set authUrl in stateful mode\n if (supportsIncremental && params.authUrl) {\n this.authUrl = params.authUrl;\n }\n\n this.requiredScopes = params.requiredScopes;\n this.elicitId = params.elicitId;\n this.vaultId = params.vaultId;\n this.pendingAuthId = params.pendingAuthId;\n }\n\n /**\n * Convert to MCP error response format with authorization metadata.\n * The _meta field includes structured data that AI agents can use\n * to prompt users for authorization.\n *\n * In stateful mode: includes auth_url for AI to display\n * In stateless mode: no auth_url, AI should inform user to re-authenticate\n */\n override toMcpError(isDevelopment?: boolean): {\n content: Array<{ type: 'text'; text: string }>;\n isError: true;\n _meta: AuthorizationRequiredMeta;\n } {\n // Build content text based on mode\n let contentText = this.getPublicMessage();\n if (this.supportsIncremental && this.authUrl) {\n contentText += `\\n\\nTo authorize, click: ${this.authUrl}`;\n } else if (!this.supportsIncremental) {\n contentText += '\\n\\nPlease re-authenticate to access this tool.';\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: contentText,\n },\n ],\n isError: true as const,\n _meta: {\n errorId: this.errorId,\n code: this.code,\n timestamp: new Date().toISOString(),\n // Progressive auth specific fields for AI agents to use\n authorization_required: true as const,\n app: this.appId,\n tool: this.toolId,\n auth_url: this.authUrl,\n required_scopes: this.requiredScopes,\n session_mode: this.sessionMode,\n supports_incremental: this.supportsIncremental,\n elicit_id: this.elicitId,\n pending_auth_id: this.pendingAuthId,\n },\n };\n }\n\n /**\n * Convert to structured authorization required data\n */\n toAuthorizationRequiredData(): AuthorizationRequiredData {\n return {\n error: 'authorization_required',\n app: this.appId,\n tool: this.toolId,\n auth_url: this.authUrl,\n message: this.getPublicMessage(),\n required_scopes: this.requiredScopes,\n session_mode: this.sessionMode,\n elicit_id: this.elicitId,\n supports_incremental: this.supportsIncremental,\n };\n }\n\n /**\n * Create an elicit response for clients that support it\n * Only available in stateful mode\n */\n toElicitResponse(): ElicitResponse | null {\n if (!this.supportsIncremental || !this.authUrl || !this.elicitId) {\n return null;\n }\n\n return {\n elicitId: this.elicitId,\n authUrl: this.authUrl,\n message: this.getPublicMessage(),\n appId: this.appId,\n toolId: this.toolId,\n };\n }\n\n /**\n * Check if this error can be resolved via incremental auth link\n */\n canUseIncrementalAuth(): boolean {\n return this.supportsIncremental && !!this.authUrl;\n }\n\n /**\n * Get user-facing message based on mode\n * - Stateful: includes link text\n * - Stateless: tells user to re-authenticate\n */\n getUserFacingMessage(): string {\n if (this.supportsIncremental && this.authUrl) {\n return `${this.getPublicMessage()}\\n\\nClick here to authorize: ${this.authUrl}`;\n }\n return `${this.getPublicMessage()}\\n\\nYou are not authorized to use this tool. Please re-authenticate to access it.`;\n }\n\n /**\n * Get message for cancelled authorization\n */\n static getCancelledMessage(appId: string, toolId: string, authUrl?: string): string {\n const baseMsg = `Authorization was cancelled. You are not authorized to use ${toolId}.`;\n if (authUrl) {\n return `${baseMsg}\\n\\nIf you still want to use this tool, click this link to authorize: ${authUrl}\\n\\nThen re-prompt your request to try again.`;\n }\n return `${baseMsg}\\n\\nPlease re-authenticate and try again.`;\n }\n}\n"]}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ErrorHandler = void 0;
|
|
4
|
-
exports.createErrorHandler = createErrorHandler;
|
|
5
|
-
exports.shouldStopExecution = shouldStopExecution;
|
|
6
|
-
// errors/error-handler.ts
|
|
7
|
-
const common_1 = require("../common");
|
|
8
|
-
const mcp_error_1 = require("./mcp.error");
|
|
9
|
-
/**
|
|
10
|
-
* Handle errors in MCP flows and format them appropriately
|
|
11
|
-
*/
|
|
12
|
-
class ErrorHandler {
|
|
13
|
-
isDevelopment;
|
|
14
|
-
logger;
|
|
15
|
-
errorTransformer;
|
|
16
|
-
constructor(options = {}) {
|
|
17
|
-
this.isDevelopment = options.isDevelopment ?? process.env['NODE_ENV'] !== 'production';
|
|
18
|
-
this['logger'] = options.logger;
|
|
19
|
-
this.errorTransformer = options.errorTransformer;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Handle an error and return a formatted MCP response
|
|
23
|
-
*/
|
|
24
|
-
handle(error, context) {
|
|
25
|
-
// Transform error if transformer is provided
|
|
26
|
-
const transformedError = this.errorTransformer ? this.errorTransformer(error) : error;
|
|
27
|
-
// Log the error
|
|
28
|
-
this.logError(transformedError, context);
|
|
29
|
-
// Format for MCP response
|
|
30
|
-
return (0, mcp_error_1.formatMcpErrorResponse)(transformedError, this.isDevelopment);
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Log error with appropriate level
|
|
34
|
-
*/
|
|
35
|
-
logError(error, context) {
|
|
36
|
-
if (!this.logger)
|
|
37
|
-
return;
|
|
38
|
-
const meta = {
|
|
39
|
-
...context,
|
|
40
|
-
errorId: error instanceof mcp_error_1.McpError ? error.errorId : undefined,
|
|
41
|
-
code: error instanceof mcp_error_1.McpError ? error.code : undefined,
|
|
42
|
-
stack: this.isDevelopment ? error.stack : undefined,
|
|
43
|
-
};
|
|
44
|
-
if (error instanceof mcp_error_1.McpError) {
|
|
45
|
-
if (error.isPublic) {
|
|
46
|
-
this.logger.warn(`Public error: ${error.getInternalMessage()}`, meta);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
this.logger.error(`Internal error: ${error.getInternalMessage()}`, meta);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
this.logger.error(`Unexpected error: ${error.message || String(error)}`, meta);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Wrap a function with error handling
|
|
58
|
-
*/
|
|
59
|
-
wrap(fn) {
|
|
60
|
-
return ((...args) => {
|
|
61
|
-
try {
|
|
62
|
-
const result = fn(...args);
|
|
63
|
-
if (result instanceof Promise) {
|
|
64
|
-
return result.catch((error) => {
|
|
65
|
-
throw this.transformToMcpError(error);
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
return result;
|
|
69
|
-
}
|
|
70
|
-
catch (error) {
|
|
71
|
-
throw this.transformToMcpError(error);
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Transform any error to MCP error
|
|
77
|
-
*/
|
|
78
|
-
transformToMcpError(error) {
|
|
79
|
-
if (error instanceof mcp_error_1.McpError) {
|
|
80
|
-
return error;
|
|
81
|
-
}
|
|
82
|
-
if (this.errorTransformer) {
|
|
83
|
-
const transformed = this.errorTransformer(error);
|
|
84
|
-
if (transformed instanceof mcp_error_1.McpError) {
|
|
85
|
-
return transformed;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
return (0, mcp_error_1.toMcpError)(error);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
exports.ErrorHandler = ErrorHandler;
|
|
92
|
-
/**
|
|
93
|
-
* Create a global error handler instance
|
|
94
|
-
*/
|
|
95
|
-
function createErrorHandler(options = {}) {
|
|
96
|
-
return new ErrorHandler(options);
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Helper to check if an error should stop execution
|
|
100
|
-
*/
|
|
101
|
-
function shouldStopExecution(error) {
|
|
102
|
-
if (error instanceof common_1.FlowControl) {
|
|
103
|
-
return ['fail', 'abort'].includes(error.type);
|
|
104
|
-
}
|
|
105
|
-
return true;
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=error-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../../src/errors/error-handler.ts"],"names":[],"mappings":"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","sourcesContent":["// errors/error-handler.ts\nimport { FlowControl } from '../common';\nimport { McpError, formatMcpErrorResponse, toMcpError} from './mcp.error';\n\nexport interface ErrorHandlerOptions {\n /**\n * Whether to include stack traces in error responses\n */\n isDevelopment?: boolean;\n\n /**\n * Logger function for error logging\n */\n logger?: {\n error: (message: string, meta?: any) => void;\n warn: (message: string, meta?: any) => void;\n };\n\n /**\n * Custom error transformer\n */\n errorTransformer?: (error: any) => any;\n}\n\n/**\n * Handle errors in MCP flows and format them appropriately\n */\nexport class ErrorHandler {\n private isDevelopment: boolean;\n private logger?: ErrorHandlerOptions['logger'];\n private errorTransformer?: ErrorHandlerOptions['errorTransformer'];\n\n constructor(options: ErrorHandlerOptions = {}) {\n this.isDevelopment = options.isDevelopment ?? process.env['NODE_ENV'] !== 'production';\n this['logger'] = options.logger;\n this.errorTransformer = options.errorTransformer;\n }\n\n /**\n * Handle an error and return a formatted MCP response\n */\n handle(error: any, context?: { flowName?: string; toolName?: string }) {\n // Transform error if transformer is provided\n const transformedError = this.errorTransformer ? this.errorTransformer(error) : error;\n\n // Log the error\n this.logError(transformedError, context);\n\n // Format for MCP response\n return formatMcpErrorResponse(transformedError, this.isDevelopment);\n }\n\n /**\n * Log error with appropriate level\n */\n private logError(error: any, context?: { flowName?: string; toolName?: string }) {\n if (!this.logger) return;\n\n const meta = {\n ...context,\n errorId: error instanceof McpError ? error.errorId : undefined,\n code: error instanceof McpError ? error.code : undefined,\n stack: this.isDevelopment ? error.stack : undefined,\n };\n\n if (error instanceof McpError) {\n if (error.isPublic) {\n this.logger.warn(`Public error: ${error.getInternalMessage()}`, meta);\n } else {\n this.logger.error(`Internal error: ${error.getInternalMessage()}`, meta);\n }\n } else {\n this.logger.error(`Unexpected error: ${error.message || String(error)}`, meta);\n }\n }\n\n /**\n * Wrap a function with error handling\n */\n wrap<T extends (...args: any[]) => any>(fn: T): T {\n return ((...args: any[]) => {\n try {\n const result = fn(...args);\n if (result instanceof Promise) {\n return result.catch((error) => {\n throw this.transformToMcpError(error);\n });\n }\n return result;\n } catch (error) {\n throw this.transformToMcpError(error);\n }\n }) as T;\n }\n\n /**\n * Transform any error to MCP error\n */\n private transformToMcpError(error: any): McpError {\n if (error instanceof McpError) {\n return error;\n }\n\n if (this.errorTransformer) {\n const transformed = this.errorTransformer(error);\n if (transformed instanceof McpError) {\n return transformed;\n }\n }\n\n return toMcpError(error);\n }\n}\n\n/**\n * Create a global error handler instance\n */\nexport function createErrorHandler(options: ErrorHandlerOptions = {}): ErrorHandler {\n return new ErrorHandler(options);\n}\n\n/**\n * Helper to check if an error should stop execution\n */\nexport function shouldStopExecution(error: any): boolean {\n if (error instanceof FlowControl) {\n return ['fail', 'abort'].includes(error.type);\n }\n return true;\n}\n"]}
|
package/src/errors/index.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.shouldStopExecution = exports.createErrorHandler = exports.ErrorHandler = exports.AuthorizationRequiredError = exports.authorizationRequiredMetaSchema = exports.authorizationRequiredParamsSchema = exports.authorizationRequiredDataSchema = exports.MCP_ERROR_CODES = exports.formatMcpErrorResponse = exports.toMcpError = exports.isPublicError = exports.GlobalConfigNotFoundError = exports.PromptExecutionError = exports.PromptNotFoundError = exports.AuthConfigurationError = exports.InvalidHookFlowError = exports.DependencyNotFoundError = exports.GenericServerError = exports.UnauthorizedError = exports.QuotaExceededError = exports.RateLimitError = exports.ToolExecutionError = exports.InvalidMethodError = exports.InvalidOutputError = exports.InvalidInputError = exports.InvalidResourceUriError = exports.ResourceReadError = exports.ResourceNotFoundError = exports.ToolNotFoundError = exports.InternalMcpError = exports.PublicMcpError = exports.McpError = void 0;
|
|
4
|
-
// Export all error classes
|
|
5
|
-
var mcp_error_1 = require("./mcp.error");
|
|
6
|
-
Object.defineProperty(exports, "McpError", { enumerable: true, get: function () { return mcp_error_1.McpError; } });
|
|
7
|
-
Object.defineProperty(exports, "PublicMcpError", { enumerable: true, get: function () { return mcp_error_1.PublicMcpError; } });
|
|
8
|
-
Object.defineProperty(exports, "InternalMcpError", { enumerable: true, get: function () { return mcp_error_1.InternalMcpError; } });
|
|
9
|
-
Object.defineProperty(exports, "ToolNotFoundError", { enumerable: true, get: function () { return mcp_error_1.ToolNotFoundError; } });
|
|
10
|
-
Object.defineProperty(exports, "ResourceNotFoundError", { enumerable: true, get: function () { return mcp_error_1.ResourceNotFoundError; } });
|
|
11
|
-
Object.defineProperty(exports, "ResourceReadError", { enumerable: true, get: function () { return mcp_error_1.ResourceReadError; } });
|
|
12
|
-
Object.defineProperty(exports, "InvalidResourceUriError", { enumerable: true, get: function () { return mcp_error_1.InvalidResourceUriError; } });
|
|
13
|
-
Object.defineProperty(exports, "InvalidInputError", { enumerable: true, get: function () { return mcp_error_1.InvalidInputError; } });
|
|
14
|
-
Object.defineProperty(exports, "InvalidOutputError", { enumerable: true, get: function () { return mcp_error_1.InvalidOutputError; } });
|
|
15
|
-
Object.defineProperty(exports, "InvalidMethodError", { enumerable: true, get: function () { return mcp_error_1.InvalidMethodError; } });
|
|
16
|
-
Object.defineProperty(exports, "ToolExecutionError", { enumerable: true, get: function () { return mcp_error_1.ToolExecutionError; } });
|
|
17
|
-
Object.defineProperty(exports, "RateLimitError", { enumerable: true, get: function () { return mcp_error_1.RateLimitError; } });
|
|
18
|
-
Object.defineProperty(exports, "QuotaExceededError", { enumerable: true, get: function () { return mcp_error_1.QuotaExceededError; } });
|
|
19
|
-
Object.defineProperty(exports, "UnauthorizedError", { enumerable: true, get: function () { return mcp_error_1.UnauthorizedError; } });
|
|
20
|
-
Object.defineProperty(exports, "GenericServerError", { enumerable: true, get: function () { return mcp_error_1.GenericServerError; } });
|
|
21
|
-
Object.defineProperty(exports, "DependencyNotFoundError", { enumerable: true, get: function () { return mcp_error_1.DependencyNotFoundError; } });
|
|
22
|
-
Object.defineProperty(exports, "InvalidHookFlowError", { enumerable: true, get: function () { return mcp_error_1.InvalidHookFlowError; } });
|
|
23
|
-
Object.defineProperty(exports, "AuthConfigurationError", { enumerable: true, get: function () { return mcp_error_1.AuthConfigurationError; } });
|
|
24
|
-
Object.defineProperty(exports, "PromptNotFoundError", { enumerable: true, get: function () { return mcp_error_1.PromptNotFoundError; } });
|
|
25
|
-
Object.defineProperty(exports, "PromptExecutionError", { enumerable: true, get: function () { return mcp_error_1.PromptExecutionError; } });
|
|
26
|
-
Object.defineProperty(exports, "GlobalConfigNotFoundError", { enumerable: true, get: function () { return mcp_error_1.GlobalConfigNotFoundError; } });
|
|
27
|
-
Object.defineProperty(exports, "isPublicError", { enumerable: true, get: function () { return mcp_error_1.isPublicError; } });
|
|
28
|
-
Object.defineProperty(exports, "toMcpError", { enumerable: true, get: function () { return mcp_error_1.toMcpError; } });
|
|
29
|
-
Object.defineProperty(exports, "formatMcpErrorResponse", { enumerable: true, get: function () { return mcp_error_1.formatMcpErrorResponse; } });
|
|
30
|
-
// Error codes
|
|
31
|
-
Object.defineProperty(exports, "MCP_ERROR_CODES", { enumerable: true, get: function () { return mcp_error_1.MCP_ERROR_CODES; } });
|
|
32
|
-
// Export authorization required error for progressive auth
|
|
33
|
-
var authorization_required_error_1 = require("./authorization-required.error");
|
|
34
|
-
// Schemas
|
|
35
|
-
Object.defineProperty(exports, "authorizationRequiredDataSchema", { enumerable: true, get: function () { return authorization_required_error_1.authorizationRequiredDataSchema; } });
|
|
36
|
-
Object.defineProperty(exports, "authorizationRequiredParamsSchema", { enumerable: true, get: function () { return authorization_required_error_1.authorizationRequiredParamsSchema; } });
|
|
37
|
-
Object.defineProperty(exports, "authorizationRequiredMetaSchema", { enumerable: true, get: function () { return authorization_required_error_1.authorizationRequiredMetaSchema; } });
|
|
38
|
-
// Error class
|
|
39
|
-
Object.defineProperty(exports, "AuthorizationRequiredError", { enumerable: true, get: function () { return authorization_required_error_1.AuthorizationRequiredError; } });
|
|
40
|
-
// Export error handler utilities
|
|
41
|
-
var error_handler_1 = require("./error-handler");
|
|
42
|
-
Object.defineProperty(exports, "ErrorHandler", { enumerable: true, get: function () { return error_handler_1.ErrorHandler; } });
|
|
43
|
-
Object.defineProperty(exports, "createErrorHandler", { enumerable: true, get: function () { return error_handler_1.createErrorHandler; } });
|
|
44
|
-
Object.defineProperty(exports, "shouldStopExecution", { enumerable: true, get: function () { return error_handler_1.shouldStopExecution; } });
|
|
45
|
-
//# sourceMappingURL=index.js.map
|
package/src/errors/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":";;;AAAA,2BAA2B;AAC3B,yCA4BqB;AA3BnB,qGAAA,QAAQ,OAAA;AACR,2GAAA,cAAc,OAAA;AACd,6GAAA,gBAAgB,OAAA;AAChB,8GAAA,iBAAiB,OAAA;AACjB,kHAAA,qBAAqB,OAAA;AACrB,8GAAA,iBAAiB,OAAA;AACjB,oHAAA,uBAAuB,OAAA;AACvB,8GAAA,iBAAiB,OAAA;AACjB,+GAAA,kBAAkB,OAAA;AAClB,+GAAA,kBAAkB,OAAA;AAClB,+GAAA,kBAAkB,OAAA;AAClB,2GAAA,cAAc,OAAA;AACd,+GAAA,kBAAkB,OAAA;AAClB,8GAAA,iBAAiB,OAAA;AACjB,+GAAA,kBAAkB,OAAA;AAClB,oHAAA,uBAAuB,OAAA;AACvB,iHAAA,oBAAoB,OAAA;AACpB,mHAAA,sBAAsB,OAAA;AACtB,gHAAA,mBAAmB,OAAA;AACnB,iHAAA,oBAAoB,OAAA;AACpB,sHAAA,yBAAyB,OAAA;AACzB,0GAAA,aAAa,OAAA;AACb,uGAAA,UAAU,OAAA;AACV,mHAAA,sBAAsB,OAAA;AACtB,cAAc;AACd,4GAAA,eAAe,OAAA;AAIjB,2DAA2D;AAC3D,+EAWwC;AAVtC,UAAU;AACV,+IAAA,+BAA+B,OAAA;AAC/B,iJAAA,iCAAiC,OAAA;AACjC,+IAAA,+BAA+B,OAAA;AAK/B,cAAc;AACd,0IAAA,0BAA0B,OAAA;AAG5B,iCAAiC;AACjC,iDAA6G;AAApG,6GAAA,YAAY,OAAA;AAAuB,mHAAA,kBAAkB,OAAA;AAAE,oHAAA,mBAAmB,OAAA","sourcesContent":["// Export all error classes\nexport {\n McpError,\n PublicMcpError,\n InternalMcpError,\n ToolNotFoundError,\n ResourceNotFoundError,\n ResourceReadError,\n InvalidResourceUriError,\n InvalidInputError,\n InvalidOutputError,\n InvalidMethodError,\n ToolExecutionError,\n RateLimitError,\n QuotaExceededError,\n UnauthorizedError,\n GenericServerError,\n DependencyNotFoundError,\n InvalidHookFlowError,\n AuthConfigurationError,\n PromptNotFoundError,\n PromptExecutionError,\n GlobalConfigNotFoundError,\n isPublicError,\n toMcpError,\n formatMcpErrorResponse,\n // Error codes\n MCP_ERROR_CODES,\n type McpErrorCode,\n} from './mcp.error';\n\n// Export authorization required error for progressive auth\nexport {\n // Schemas\n authorizationRequiredDataSchema,\n authorizationRequiredParamsSchema,\n authorizationRequiredMetaSchema,\n // Types (inferred from schemas)\n AuthorizationRequiredData,\n AuthorizationRequiredParams,\n AuthorizationRequiredMeta,\n // Error class\n AuthorizationRequiredError,\n} from './authorization-required.error';\n\n// Export error handler utilities\nexport { ErrorHandler, ErrorHandlerOptions, createErrorHandler, shouldStopExecution } from './error-handler';\n"]}
|