@frontmcp/sdk 0.6.0 → 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/auth → auth}/session/index.d.ts +1 -0
- package/auth/session/vercel-kv-session.store.d.ts +96 -0
- package/{src/common → common}/interfaces/internal/primary-auth-provider.interface.d.ts +1 -4
- package/{src/common → common}/metadata/front-mcp.metadata.d.ts +1779 -67
- package/{src/common → common}/metadata/prompt.metadata.d.ts +4 -0
- package/{src/common → common}/metadata/resource.metadata.d.ts +8 -0
- package/{src/common → common}/metadata/tool-ui.metadata.d.ts +2 -2
- package/{src/common → common}/metadata/tool.metadata.d.ts +4 -0
- package/{src/common → common}/schemas/http-output.schema.d.ts +24 -6
- 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/common/types/options/redis.options.d.ts +190 -0
- package/{src/common → common}/types/options/server-info.options.d.ts +4 -0
- package/{src/common → common}/types/options/transport.options.d.ts +74 -5
- package/{src/common → common}/utils/decide-request-intent.utils.d.ts +6 -7
- package/common/utils/global-config.utils.d.ts +36 -0
- package/{src/common → common}/utils/index.d.ts +1 -0
- package/{src/completion → completion}/flows/complete.flow.d.ts +6 -8
- package/{src/errors → errors}/index.d.ts +1 -1
- package/{src/errors → errors}/mcp.error.d.ts +9 -0
- package/esm/index.mjs +22664 -0
- package/esm/mcp-apps/index.mjs +723 -0
- package/esm/package.json +81 -0
- package/{src/front-mcp → front-mcp}/front-mcp.providers.d.ts +246 -38
- package/front-mcp/index.d.ts +2 -0
- package/{src/index.d.ts → index.d.ts} +1 -1
- package/index.js +22957 -0
- package/logger/logger.tokens.d.ts +1 -0
- package/{src/logging → logging}/flows/set-level.flow.d.ts +6 -8
- package/mcp-apps/index.js +799 -0
- package/package.json +37 -17
- package/{src/prompt → prompt}/flows/get-prompt.flow.d.ts +14 -8
- package/{src/prompt → prompt}/flows/prompts-list.flow.d.ts +8 -7
- package/{src/resource → resource}/flows/read-resource.flow.d.ts +8 -9
- package/{src/resource → resource}/flows/resource-templates-list.flow.d.ts +8 -7
- package/{src/resource → resource}/flows/resources-list.flow.d.ts +8 -7
- package/{src/resource → resource}/flows/subscribe-resource.flow.d.ts +6 -8
- package/{src/resource → resource}/flows/unsubscribe-resource.flow.d.ts +6 -8
- package/store/adapters/store.vercel-kv.adapter.d.ts +86 -0
- package/{src/store → store}/index.d.ts +2 -0
- package/store/store.factory.d.ts +86 -0
- package/{src/tool → tool}/flows/call-tool.flow.d.ts +18 -9
- package/{src/tool → tool}/flows/tools-list.flow.d.ts +9 -8
- package/{src/tool → tool}/ui/index.d.ts +4 -4
- package/{src/tool → tool}/ui/platform-adapters.d.ts +2 -2
- package/{src/tool → tool}/ui/template-helpers.d.ts +5 -7
- package/{src/tool → tool}/ui/ui-resource.handler.d.ts +1 -1
- package/{src/transport → transport}/mcp-handlers/complete-request.handler.d.ts +4 -15
- package/{src/transport → transport}/mcp-handlers/get-prompt-request.handler.d.ts +5 -15
- package/{src/transport → transport}/mcp-handlers/index.d.ts +67 -195
- package/{src/transport → transport}/mcp-handlers/list-prompts-request.handler.d.ts +5 -15
- package/{src/transport → transport}/mcp-handlers/list-resource-templates-request.handler.d.ts +5 -15
- package/{src/transport → transport}/mcp-handlers/list-resources-request.handler.d.ts +5 -15
- package/{src/transport → transport}/mcp-handlers/list-tools-request.handler.d.ts +5 -15
- package/{src/transport → transport}/mcp-handlers/logging-set-level-request.handler.d.ts +3 -14
- package/{src/transport → transport}/mcp-handlers/read-resource-request.handler.d.ts +4 -15
- package/{src/transport → transport}/mcp-handlers/subscribe-request.handler.d.ts +3 -14
- package/{src/transport → transport}/mcp-handlers/unsubscribe-request.handler.d.ts +3 -14
- package/{src/transport → transport}/transport.registry.d.ts +5 -1
- package/README.md +0 -460
- 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 -16
- 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/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 -67
- 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 -29
- 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 -24
- 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.d.ts +0 -22
- package/src/common/types/options/redis.options.js +0 -45
- 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/index.js +0 -6
- 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 -44
- package/src/errors/index.js.map +0 -1
- package/src/errors/mcp.error.js +0 -398
- 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.d.ts +0 -1
- package/src/front-mcp/index.js +0 -5
- 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 -36
- 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/index.js +0 -12
- package/src/store/index.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 -112
- 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 -523
- 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/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}/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/provider.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/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/session.options.d.ts +0 -0
- /package/{src/common → common}/utils/path.utils.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/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.tokens.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/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/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}/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}/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}/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}/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/ui-resource-template.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/initialize-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/roots-list-changed-notification.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.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,360 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* FrontMcpContext - Unified context for FrontMCP
|
|
4
|
-
*
|
|
5
|
-
* Single point of truth for all request-related data, combining session and request state.
|
|
6
|
-
* Flows through the entire async execution chain via AsyncLocalStorage.
|
|
7
|
-
*
|
|
8
|
-
* Access via DI using the FRONTMCP_CONTEXT token:
|
|
9
|
-
* ```typescript
|
|
10
|
-
* const ctx = this.get(FRONTMCP_CONTEXT);
|
|
11
|
-
* console.log(ctx.requestId, ctx.sessionId, ctx.authInfo);
|
|
12
|
-
* ```
|
|
13
|
-
*/
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.Context = exports.FrontMcpContext = void 0;
|
|
16
|
-
const node_crypto_1 = require("node:crypto");
|
|
17
|
-
const trace_context_1 = require("./trace-context");
|
|
18
|
-
const mcp_error_1 = require("../errors/mcp.error");
|
|
19
|
-
/**
|
|
20
|
-
* Session key validation rules.
|
|
21
|
-
*/
|
|
22
|
-
const SESSION_KEY_MAX_LENGTH = 2048;
|
|
23
|
-
const SESSION_KEY_VALID_PATTERN = /^[a-zA-Z0-9\-_.:]+$/;
|
|
24
|
-
/**
|
|
25
|
-
* Validate a session key string.
|
|
26
|
-
*
|
|
27
|
-
* @param value - The session key to validate
|
|
28
|
-
* @throws InvalidInputError if validation fails
|
|
29
|
-
*/
|
|
30
|
-
function validateSessionKey(value) {
|
|
31
|
-
if (!value || value.length === 0) {
|
|
32
|
-
throw new mcp_error_1.InvalidInputError('Session ID cannot be empty');
|
|
33
|
-
}
|
|
34
|
-
if (value.length > SESSION_KEY_MAX_LENGTH) {
|
|
35
|
-
throw new mcp_error_1.InvalidInputError(`Session ID exceeds maximum length of ${SESSION_KEY_MAX_LENGTH} characters`);
|
|
36
|
-
}
|
|
37
|
-
if (!SESSION_KEY_VALID_PATTERN.test(value)) {
|
|
38
|
-
throw new mcp_error_1.InvalidInputError('Session ID contains invalid characters. Allowed: alphanumeric, hyphen, underscore, period, colon');
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* FrontMcpContext - Unified context for FrontMCP
|
|
43
|
-
*
|
|
44
|
-
* Provides a single point of truth for all request-related data:
|
|
45
|
-
* - Identity: requestId, sessionId, scopeId
|
|
46
|
-
* - Tracing: W3C trace context
|
|
47
|
-
* - Auth: authentication information (progressively populated)
|
|
48
|
-
* - References: transport, flow, scope (pointers, not copies)
|
|
49
|
-
* - Store: key/value storage for context-scoped data
|
|
50
|
-
* - Fetch: context-aware fetch with auto-injection
|
|
51
|
-
*/
|
|
52
|
-
class FrontMcpContext {
|
|
53
|
-
// =====================
|
|
54
|
-
// Identity
|
|
55
|
-
// =====================
|
|
56
|
-
/** Unique request identifier (UUID v4) */
|
|
57
|
-
requestId;
|
|
58
|
-
/** Session identifier (validated) */
|
|
59
|
-
sessionId;
|
|
60
|
-
/** Scope identifier */
|
|
61
|
-
scopeId;
|
|
62
|
-
// =====================
|
|
63
|
-
// Tracing
|
|
64
|
-
// =====================
|
|
65
|
-
/** W3C Trace Context or generated trace ID */
|
|
66
|
-
traceContext;
|
|
67
|
-
/** Request start timestamp */
|
|
68
|
-
timestamp;
|
|
69
|
-
// =====================
|
|
70
|
-
// Configuration
|
|
71
|
-
// =====================
|
|
72
|
-
/** Context configuration */
|
|
73
|
-
config;
|
|
74
|
-
// =====================
|
|
75
|
-
// Metadata
|
|
76
|
-
// =====================
|
|
77
|
-
/** Request metadata (headers, user-agent, etc.) */
|
|
78
|
-
metadata;
|
|
79
|
-
// =====================
|
|
80
|
-
// Auth (mutable, progressively populated)
|
|
81
|
-
// =====================
|
|
82
|
-
_authInfo;
|
|
83
|
-
_sessionMetadata;
|
|
84
|
-
// =====================
|
|
85
|
-
// References (pointers)
|
|
86
|
-
// =====================
|
|
87
|
-
_transport;
|
|
88
|
-
_flow;
|
|
89
|
-
_scope;
|
|
90
|
-
// =====================
|
|
91
|
-
// Storage
|
|
92
|
-
// =====================
|
|
93
|
-
marks = new Map();
|
|
94
|
-
store = new Map();
|
|
95
|
-
constructor(args) {
|
|
96
|
-
// Validate session ID
|
|
97
|
-
validateSessionKey(args.sessionId);
|
|
98
|
-
this.requestId = args.requestId ?? (0, node_crypto_1.randomUUID)();
|
|
99
|
-
this.sessionId = args.sessionId;
|
|
100
|
-
this.scopeId = args.scopeId;
|
|
101
|
-
this.traceContext = args.traceContext ?? (0, trace_context_1.generateTraceContext)();
|
|
102
|
-
this.timestamp = args.timestamp ?? Date.now();
|
|
103
|
-
this._authInfo = args.authInfo ?? {};
|
|
104
|
-
// Configuration with defaults
|
|
105
|
-
this.config = {
|
|
106
|
-
autoInjectAuthHeaders: args.config?.autoInjectAuthHeaders ?? true,
|
|
107
|
-
autoInjectTracingHeaders: args.config?.autoInjectTracingHeaders ?? true,
|
|
108
|
-
requestTimeout: args.config?.requestTimeout ?? 30000,
|
|
109
|
-
};
|
|
110
|
-
// Defensive normalization: ensure customHeaders is always an object
|
|
111
|
-
const metadata = args.metadata;
|
|
112
|
-
this.metadata = {
|
|
113
|
-
...metadata,
|
|
114
|
-
customHeaders: metadata?.customHeaders ?? {},
|
|
115
|
-
};
|
|
116
|
-
// Initial mark
|
|
117
|
-
this.marks.set('init', this.timestamp);
|
|
118
|
-
}
|
|
119
|
-
// =====================
|
|
120
|
-
// Auth Accessors
|
|
121
|
-
// =====================
|
|
122
|
-
/**
|
|
123
|
-
* Get authentication information.
|
|
124
|
-
* Returns Partial<AuthInfo> because auth info is progressively populated.
|
|
125
|
-
*/
|
|
126
|
-
get authInfo() {
|
|
127
|
-
return this._authInfo;
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Update auth info after authorization is verified.
|
|
131
|
-
* Can be called multiple times to progressively add fields.
|
|
132
|
-
*
|
|
133
|
-
* @param authInfo - The auth info fields to set/update
|
|
134
|
-
* @internal
|
|
135
|
-
*/
|
|
136
|
-
updateAuthInfo(authInfo) {
|
|
137
|
-
this._authInfo = { ...this._authInfo, ...authInfo };
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Get session metadata (protocol, platform type, node info).
|
|
141
|
-
* Only available after session verification.
|
|
142
|
-
*/
|
|
143
|
-
get sessionMetadata() {
|
|
144
|
-
return this._sessionMetadata;
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Update session metadata after session verification.
|
|
148
|
-
*
|
|
149
|
-
* @param metadata - Session metadata from verified session
|
|
150
|
-
* @internal
|
|
151
|
-
*/
|
|
152
|
-
updateSessionMetadata(metadata) {
|
|
153
|
-
this._sessionMetadata = metadata;
|
|
154
|
-
}
|
|
155
|
-
// =====================
|
|
156
|
-
// Reference Accessors
|
|
157
|
-
// =====================
|
|
158
|
-
/**
|
|
159
|
-
* Get transport accessor for elicit support.
|
|
160
|
-
* Returns undefined if no transport is registered.
|
|
161
|
-
*/
|
|
162
|
-
get transport() {
|
|
163
|
-
if (!this._transport)
|
|
164
|
-
return undefined;
|
|
165
|
-
const transportRef = this._transport;
|
|
166
|
-
return {
|
|
167
|
-
supportsElicit: true,
|
|
168
|
-
elicit: (message, schema) => transportRef.sendElicitRequest(message, schema),
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Set transport reference (internal use).
|
|
173
|
-
* @internal
|
|
174
|
-
*/
|
|
175
|
-
setTransport(transport) {
|
|
176
|
-
this._transport = transport;
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Get current flow reference.
|
|
180
|
-
*/
|
|
181
|
-
get flow() {
|
|
182
|
-
return this._flow;
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Set flow reference (internal use).
|
|
186
|
-
* @internal
|
|
187
|
-
*/
|
|
188
|
-
setFlow(flow) {
|
|
189
|
-
this._flow = flow;
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Get scope reference.
|
|
193
|
-
*/
|
|
194
|
-
get scope() {
|
|
195
|
-
return this._scope;
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Set scope reference (internal use).
|
|
199
|
-
* @internal
|
|
200
|
-
*/
|
|
201
|
-
setScope(scope) {
|
|
202
|
-
this._scope = scope;
|
|
203
|
-
}
|
|
204
|
-
// =====================
|
|
205
|
-
// Store Operations
|
|
206
|
-
// =====================
|
|
207
|
-
/**
|
|
208
|
-
* Store context-scoped data.
|
|
209
|
-
*
|
|
210
|
-
* @param key - Storage key
|
|
211
|
-
* @param value - Value to store
|
|
212
|
-
*/
|
|
213
|
-
set(key, value) {
|
|
214
|
-
this.store.set(key, value);
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Retrieve context-scoped data.
|
|
218
|
-
*
|
|
219
|
-
* @param key - Storage key
|
|
220
|
-
* @returns Stored value or undefined
|
|
221
|
-
*/
|
|
222
|
-
get(key) {
|
|
223
|
-
return this.store.get(key);
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* Check if a key exists in the context store.
|
|
227
|
-
*
|
|
228
|
-
* @param key - Storage key
|
|
229
|
-
* @returns True if key exists
|
|
230
|
-
*/
|
|
231
|
-
has(key) {
|
|
232
|
-
return this.store.has(key);
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* Delete a key from the context store.
|
|
236
|
-
*
|
|
237
|
-
* @param key - Storage key
|
|
238
|
-
* @returns True if key was deleted
|
|
239
|
-
*/
|
|
240
|
-
delete(key) {
|
|
241
|
-
return this.store.delete(key);
|
|
242
|
-
}
|
|
243
|
-
// =====================
|
|
244
|
-
// Timing & Performance
|
|
245
|
-
// =====================
|
|
246
|
-
/**
|
|
247
|
-
* Mark a timing point for performance tracking.
|
|
248
|
-
*
|
|
249
|
-
* @param name - Name of the timing mark
|
|
250
|
-
*/
|
|
251
|
-
mark(name) {
|
|
252
|
-
this.marks.set(name, Date.now());
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Get elapsed time in milliseconds between two marks.
|
|
256
|
-
*
|
|
257
|
-
* @param from - Start mark name (defaults to 'init')
|
|
258
|
-
* @param to - End mark name (defaults to current time)
|
|
259
|
-
* @returns Elapsed time in milliseconds
|
|
260
|
-
*/
|
|
261
|
-
elapsed(from, to) {
|
|
262
|
-
const fromTime = this.marks.get(from ?? 'init') ?? this.timestamp;
|
|
263
|
-
const toTime = to ? this.marks.get(to) ?? Date.now() : Date.now();
|
|
264
|
-
return toTime - fromTime;
|
|
265
|
-
}
|
|
266
|
-
/**
|
|
267
|
-
* Get all timing marks.
|
|
268
|
-
*
|
|
269
|
-
* @returns Read-only map of mark names to timestamps
|
|
270
|
-
*/
|
|
271
|
-
getMarks() {
|
|
272
|
-
return this.marks;
|
|
273
|
-
}
|
|
274
|
-
// =====================
|
|
275
|
-
// Logging
|
|
276
|
-
// =====================
|
|
277
|
-
/**
|
|
278
|
-
* Get a child logger with context attached.
|
|
279
|
-
*
|
|
280
|
-
* Creates a child logger with a prefix containing the request ID and trace ID
|
|
281
|
-
* for easy request tracing in logs.
|
|
282
|
-
*
|
|
283
|
-
* @param parentLogger - The parent logger to create a child from
|
|
284
|
-
* @returns A logger with requestId and traceId in the prefix
|
|
285
|
-
*/
|
|
286
|
-
getLogger(parentLogger) {
|
|
287
|
-
const prefix = `[${this.requestId.slice(0, 8)}:${this.traceContext.traceId.slice(0, 8)}]`;
|
|
288
|
-
return parentLogger.child(prefix);
|
|
289
|
-
}
|
|
290
|
-
/**
|
|
291
|
-
* Get a summary of the context for logging.
|
|
292
|
-
*
|
|
293
|
-
* Note: sessionId is hashed to prevent accidental exposure of user-identifying
|
|
294
|
-
* session identifiers in logs while still allowing correlation.
|
|
295
|
-
*
|
|
296
|
-
* @returns Object with key context fields
|
|
297
|
-
*/
|
|
298
|
-
toLogContext() {
|
|
299
|
-
return {
|
|
300
|
-
requestId: this.requestId,
|
|
301
|
-
traceId: this.traceContext.traceId,
|
|
302
|
-
parentId: this.traceContext.parentId,
|
|
303
|
-
// Hash sessionId to prevent logging user-identifying information
|
|
304
|
-
sessionIdHash: (0, node_crypto_1.createHash)('sha256').update(this.sessionId).digest('hex').slice(0, 12),
|
|
305
|
-
scopeId: this.scopeId,
|
|
306
|
-
flowName: this._flow?.name,
|
|
307
|
-
elapsed: this.elapsed(),
|
|
308
|
-
};
|
|
309
|
-
}
|
|
310
|
-
// =====================
|
|
311
|
-
// Context-Aware Fetch
|
|
312
|
-
// =====================
|
|
313
|
-
/**
|
|
314
|
-
* Perform a fetch request with automatic header injection.
|
|
315
|
-
*
|
|
316
|
-
* Injects:
|
|
317
|
-
* - Authorization header (if authInfo.token is available and autoInjectAuthHeaders is true)
|
|
318
|
-
* - W3C traceparent header (if autoInjectTracingHeaders is true)
|
|
319
|
-
* - x-request-id header
|
|
320
|
-
* - Custom headers from request metadata
|
|
321
|
-
*
|
|
322
|
-
* @param input - Request URL or Request object
|
|
323
|
-
* @param init - Request options
|
|
324
|
-
* @returns Fetch response
|
|
325
|
-
*/
|
|
326
|
-
async fetch(input, init) {
|
|
327
|
-
const headers = new Headers(init?.headers);
|
|
328
|
-
// Auto-inject auth headers
|
|
329
|
-
if (this.config.autoInjectAuthHeaders && this._authInfo.token) {
|
|
330
|
-
if (!headers.has('Authorization')) {
|
|
331
|
-
headers.set('Authorization', `Bearer ${this._authInfo.token}`);
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
// Auto-inject tracing headers
|
|
335
|
-
if (this.config.autoInjectTracingHeaders) {
|
|
336
|
-
if (!headers.has('traceparent')) {
|
|
337
|
-
headers.set('traceparent', this.traceContext.raw);
|
|
338
|
-
}
|
|
339
|
-
if (!headers.has('x-request-id')) {
|
|
340
|
-
headers.set('x-request-id', this.requestId);
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
// Inject custom headers from request metadata
|
|
344
|
-
for (const [key, value] of Object.entries(this.metadata.customHeaders)) {
|
|
345
|
-
if (!headers.has(key)) {
|
|
346
|
-
headers.set(key, value);
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
// Use AbortSignal.timeout if no signal provided
|
|
350
|
-
const signal = init?.signal ?? AbortSignal.timeout(this.config.requestTimeout ?? 30000);
|
|
351
|
-
return fetch(input, {
|
|
352
|
-
...init,
|
|
353
|
-
headers,
|
|
354
|
-
signal,
|
|
355
|
-
});
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
exports.FrontMcpContext = FrontMcpContext;
|
|
359
|
-
exports.Context = FrontMcpContext;
|
|
360
|
-
//# sourceMappingURL=frontmcp-context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"frontmcp-context.js","sourceRoot":"","sources":["../../../src/context/frontmcp-context.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * FrontMcpContext - Unified context for FrontMCP\n *\n * Single point of truth for all request-related data, combining session and request state.\n * Flows through the entire async execution chain via AsyncLocalStorage.\n *\n * Access via DI using the FRONTMCP_CONTEXT token:\n * ```typescript\n * const ctx = this.get(FRONTMCP_CONTEXT);\n * console.log(ctx.requestId, ctx.sessionId, ctx.authInfo);\n * ```\n */\n\nimport { randomUUID, createHash } from 'node:crypto';\nimport { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';\nimport { FrontMcpLogger } from '../common/interfaces/logger.interface';\nimport { TraceContext, generateTraceContext } from './trace-context';\nimport type { SessionIdPayload } from '../common/types';\nimport { InvalidInputError } from '../errors/mcp.error';\n\n/**\n * Request metadata extracted from HTTP headers.\n */\nexport interface RequestMetadata {\n /** User-Agent header */\n userAgent?: string;\n /** Content-Type header */\n contentType?: string;\n /** Accept header */\n accept?: string;\n /** Client IP address (from x-forwarded-for or socket) */\n clientIp?: string;\n /** Custom headers matching x-frontmcp-* pattern */\n customHeaders: Record<string, string>;\n}\n\n/**\n * Configuration for the context.\n */\nexport interface FrontMcpContextConfig {\n /** Auto-inject auth headers in fetch requests (default: true) */\n autoInjectAuthHeaders?: boolean;\n /** Auto-inject tracing headers in fetch requests (default: true) */\n autoInjectTracingHeaders?: boolean;\n /** Default fetch request timeout in milliseconds (default: 30000) */\n requestTimeout?: number;\n}\n\n/**\n * Arguments for creating a FrontMcpContext.\n */\nexport interface FrontMcpContextArgs {\n /** Optional request ID (generated if not provided) */\n requestId?: string;\n /** Optional trace context (generated if not provided) */\n traceContext?: TraceContext;\n /** Session identifier (required) */\n sessionId: string;\n /** Authentication information (can be partial, progressively populated) */\n authInfo?: Partial<AuthInfo>;\n /** Scope identifier (required) */\n scopeId: string;\n /** Optional timestamp (defaults to Date.now()) */\n timestamp?: number;\n /** Optional request metadata */\n metadata?: RequestMetadata;\n /** Optional configuration */\n config?: FrontMcpContextConfig;\n}\n\n/**\n * Interface for transport access (elicit support).\n * Provides clean API for accessing transport capabilities.\n */\nexport interface TransportAccessor {\n /**\n * Check if transport supports elicit requests.\n */\n readonly supportsElicit: boolean;\n\n /**\n * Send an elicit request to the client for interactive input.\n *\n * @param message - Message to display to the user\n * @param requestedSchema - Zod schema for validating the response\n * @returns Typed elicit result with action and validated content\n */\n elicit<T>(message: string, requestedSchema: T): Promise<{ action: string; content: unknown }>;\n}\n\n// Forward declaration for type reference (avoid circular imports)\ntype FlowBaseRef = { readonly name: string };\ntype ScopeRef = { readonly id: string; readonly logger: FrontMcpLogger };\ntype TransportRef = { sendElicitRequest: TransportAccessor['elicit']; readonly type: string };\n\n/**\n * Session key validation rules.\n */\nconst SESSION_KEY_MAX_LENGTH = 2048;\nconst SESSION_KEY_VALID_PATTERN = /^[a-zA-Z0-9\\-_.:]+$/;\n\n/**\n * Validate a session key string.\n *\n * @param value - The session key to validate\n * @throws InvalidInputError if validation fails\n */\nfunction validateSessionKey(value: string): void {\n if (!value || value.length === 0) {\n throw new InvalidInputError('Session ID cannot be empty');\n }\n if (value.length > SESSION_KEY_MAX_LENGTH) {\n throw new InvalidInputError(`Session ID exceeds maximum length of ${SESSION_KEY_MAX_LENGTH} characters`);\n }\n if (!SESSION_KEY_VALID_PATTERN.test(value)) {\n throw new InvalidInputError(\n 'Session ID contains invalid characters. Allowed: alphanumeric, hyphen, underscore, period, colon',\n );\n }\n}\n\n/**\n * FrontMcpContext - Unified context for FrontMCP\n *\n * Provides a single point of truth for all request-related data:\n * - Identity: requestId, sessionId, scopeId\n * - Tracing: W3C trace context\n * - Auth: authentication information (progressively populated)\n * - References: transport, flow, scope (pointers, not copies)\n * - Store: key/value storage for context-scoped data\n * - Fetch: context-aware fetch with auto-injection\n */\nexport class FrontMcpContext {\n // =====================\n // Identity\n // =====================\n\n /** Unique request identifier (UUID v4) */\n readonly requestId: string;\n\n /** Session identifier (validated) */\n readonly sessionId: string;\n\n /** Scope identifier */\n readonly scopeId: string;\n\n // =====================\n // Tracing\n // =====================\n\n /** W3C Trace Context or generated trace ID */\n readonly traceContext: TraceContext;\n\n /** Request start timestamp */\n readonly timestamp: number;\n\n // =====================\n // Configuration\n // =====================\n\n /** Context configuration */\n readonly config: FrontMcpContextConfig;\n\n // =====================\n // Metadata\n // =====================\n\n /** Request metadata (headers, user-agent, etc.) */\n readonly metadata: RequestMetadata;\n\n // =====================\n // Auth (mutable, progressively populated)\n // =====================\n\n private _authInfo: Partial<AuthInfo>;\n private _sessionMetadata?: SessionIdPayload;\n\n // =====================\n // References (pointers)\n // =====================\n\n private _transport?: TransportRef;\n private _flow?: FlowBaseRef;\n private _scope?: ScopeRef;\n\n // =====================\n // Storage\n // =====================\n\n private readonly marks: Map<string, number> = new Map();\n private readonly store: Map<string | symbol, unknown> = new Map();\n\n constructor(args: FrontMcpContextArgs) {\n // Validate session ID\n validateSessionKey(args.sessionId);\n\n this.requestId = args.requestId ?? randomUUID();\n this.sessionId = args.sessionId;\n this.scopeId = args.scopeId;\n this.traceContext = args.traceContext ?? generateTraceContext();\n this.timestamp = args.timestamp ?? Date.now();\n this._authInfo = args.authInfo ?? {};\n\n // Configuration with defaults\n this.config = {\n autoInjectAuthHeaders: args.config?.autoInjectAuthHeaders ?? true,\n autoInjectTracingHeaders: args.config?.autoInjectTracingHeaders ?? true,\n requestTimeout: args.config?.requestTimeout ?? 30000,\n };\n\n // Defensive normalization: ensure customHeaders is always an object\n const metadata = args.metadata;\n this.metadata = {\n ...metadata,\n customHeaders: metadata?.customHeaders ?? {},\n };\n\n // Initial mark\n this.marks.set('init', this.timestamp);\n }\n\n // =====================\n // Auth Accessors\n // =====================\n\n /**\n * Get authentication information.\n * Returns Partial<AuthInfo> because auth info is progressively populated.\n */\n get authInfo(): Partial<AuthInfo> {\n return this._authInfo;\n }\n\n /**\n * Update auth info after authorization is verified.\n * Can be called multiple times to progressively add fields.\n *\n * @param authInfo - The auth info fields to set/update\n * @internal\n */\n updateAuthInfo(authInfo: Partial<AuthInfo>): void {\n this._authInfo = { ...this._authInfo, ...authInfo };\n }\n\n /**\n * Get session metadata (protocol, platform type, node info).\n * Only available after session verification.\n */\n get sessionMetadata(): SessionIdPayload | undefined {\n return this._sessionMetadata;\n }\n\n /**\n * Update session metadata after session verification.\n *\n * @param metadata - Session metadata from verified session\n * @internal\n */\n updateSessionMetadata(metadata: SessionIdPayload): void {\n this._sessionMetadata = metadata;\n }\n\n // =====================\n // Reference Accessors\n // =====================\n\n /**\n * Get transport accessor for elicit support.\n * Returns undefined if no transport is registered.\n */\n get transport(): TransportAccessor | undefined {\n if (!this._transport) return undefined;\n const transportRef = this._transport;\n return {\n supportsElicit: true,\n elicit: (message, schema) => transportRef.sendElicitRequest(message, schema),\n };\n }\n\n /**\n * Set transport reference (internal use).\n * @internal\n */\n setTransport(transport: TransportRef): void {\n this._transport = transport;\n }\n\n /**\n * Get current flow reference.\n */\n get flow(): FlowBaseRef | undefined {\n return this._flow;\n }\n\n /**\n * Set flow reference (internal use).\n * @internal\n */\n setFlow(flow: FlowBaseRef): void {\n this._flow = flow;\n }\n\n /**\n * Get scope reference.\n */\n get scope(): ScopeRef | undefined {\n return this._scope;\n }\n\n /**\n * Set scope reference (internal use).\n * @internal\n */\n setScope(scope: ScopeRef): void {\n this._scope = scope;\n }\n\n // =====================\n // Store Operations\n // =====================\n\n /**\n * Store context-scoped data.\n *\n * @param key - Storage key\n * @param value - Value to store\n */\n set<T>(key: string | symbol, value: T): void {\n this.store.set(key, value);\n }\n\n /**\n * Retrieve context-scoped data.\n *\n * @param key - Storage key\n * @returns Stored value or undefined\n */\n get<T>(key: string | symbol): T | undefined {\n return this.store.get(key) as T | undefined;\n }\n\n /**\n * Check if a key exists in the context store.\n *\n * @param key - Storage key\n * @returns True if key exists\n */\n has(key: string | symbol): boolean {\n return this.store.has(key);\n }\n\n /**\n * Delete a key from the context store.\n *\n * @param key - Storage key\n * @returns True if key was deleted\n */\n delete(key: string | symbol): boolean {\n return this.store.delete(key);\n }\n\n // =====================\n // Timing & Performance\n // =====================\n\n /**\n * Mark a timing point for performance tracking.\n *\n * @param name - Name of the timing mark\n */\n mark(name: string): void {\n this.marks.set(name, Date.now());\n }\n\n /**\n * Get elapsed time in milliseconds between two marks.\n *\n * @param from - Start mark name (defaults to 'init')\n * @param to - End mark name (defaults to current time)\n * @returns Elapsed time in milliseconds\n */\n elapsed(from?: string, to?: string): number {\n const fromTime = this.marks.get(from ?? 'init') ?? this.timestamp;\n const toTime = to ? this.marks.get(to) ?? Date.now() : Date.now();\n return toTime - fromTime;\n }\n\n /**\n * Get all timing marks.\n *\n * @returns Read-only map of mark names to timestamps\n */\n getMarks(): ReadonlyMap<string, number> {\n return this.marks;\n }\n\n // =====================\n // Logging\n // =====================\n\n /**\n * Get a child logger with context attached.\n *\n * Creates a child logger with a prefix containing the request ID and trace ID\n * for easy request tracing in logs.\n *\n * @param parentLogger - The parent logger to create a child from\n * @returns A logger with requestId and traceId in the prefix\n */\n getLogger(parentLogger: FrontMcpLogger): FrontMcpLogger {\n const prefix = `[${this.requestId.slice(0, 8)}:${this.traceContext.traceId.slice(0, 8)}]`;\n return parentLogger.child(prefix);\n }\n\n /**\n * Get a summary of the context for logging.\n *\n * Note: sessionId is hashed to prevent accidental exposure of user-identifying\n * session identifiers in logs while still allowing correlation.\n *\n * @returns Object with key context fields\n */\n toLogContext(): Record<string, unknown> {\n return {\n requestId: this.requestId,\n traceId: this.traceContext.traceId,\n parentId: this.traceContext.parentId,\n // Hash sessionId to prevent logging user-identifying information\n sessionIdHash: createHash('sha256').update(this.sessionId).digest('hex').slice(0, 12),\n scopeId: this.scopeId,\n flowName: this._flow?.name,\n elapsed: this.elapsed(),\n };\n }\n\n // =====================\n // Context-Aware Fetch\n // =====================\n\n /**\n * Perform a fetch request with automatic header injection.\n *\n * Injects:\n * - Authorization header (if authInfo.token is available and autoInjectAuthHeaders is true)\n * - W3C traceparent header (if autoInjectTracingHeaders is true)\n * - x-request-id header\n * - Custom headers from request metadata\n *\n * @param input - Request URL or Request object\n * @param init - Request options\n * @returns Fetch response\n */\n async fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response> {\n const headers = new Headers(init?.headers);\n\n // Auto-inject auth headers\n if (this.config.autoInjectAuthHeaders && this._authInfo.token) {\n if (!headers.has('Authorization')) {\n headers.set('Authorization', `Bearer ${this._authInfo.token}`);\n }\n }\n\n // Auto-inject tracing headers\n if (this.config.autoInjectTracingHeaders) {\n if (!headers.has('traceparent')) {\n headers.set('traceparent', this.traceContext.raw);\n }\n if (!headers.has('x-request-id')) {\n headers.set('x-request-id', this.requestId);\n }\n }\n\n // Inject custom headers from request metadata\n for (const [key, value] of Object.entries(this.metadata.customHeaders)) {\n if (!headers.has(key)) {\n headers.set(key, value);\n }\n }\n\n // Use AbortSignal.timeout if no signal provided\n const signal = init?.signal ?? AbortSignal.timeout(this.config.requestTimeout ?? 30000);\n\n return fetch(input, {\n ...init,\n headers,\n signal,\n });\n }\n}\n\n/**\n * Alias for FrontMcpContext.\n * Use when you want a shorter name.\n */\nexport { FrontMcpContext as Context };\n"]}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* FRONTMCP_CONTEXT Provider
|
|
4
|
-
*
|
|
5
|
-
* Defines the DI token and factory provider for accessing FrontMcpContext.
|
|
6
|
-
* The context is retrieved from AsyncLocalStorage via FrontMcpContextStorage.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.RequestContextProvider = exports.FrontMcpContextProvider = exports.REQUEST_CONTEXT = exports.FRONTMCP_CONTEXT = void 0;
|
|
10
|
-
const metadata_1 = require("../common/metadata");
|
|
11
|
-
const provider_interface_1 = require("../common/interfaces/provider.interface");
|
|
12
|
-
const frontmcp_context_storage_1 = require("./frontmcp-context-storage");
|
|
13
|
-
/**
|
|
14
|
-
* DI token for accessing the current FrontMcpContext.
|
|
15
|
-
*
|
|
16
|
-
* Use this token to inject the current context in any provider or context:
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```typescript
|
|
20
|
-
* // In a tool/resource/prompt
|
|
21
|
-
* const ctx = this.get(FRONTMCP_CONTEXT);
|
|
22
|
-
* console.log(ctx.requestId, ctx.sessionId, ctx.authInfo);
|
|
23
|
-
*
|
|
24
|
-
* // Access transport for elicit
|
|
25
|
-
* const result = await ctx.transport?.elicit('Choose an option', schema);
|
|
26
|
-
*
|
|
27
|
-
* // Context-aware fetch
|
|
28
|
-
* const response = await ctx.fetch('https://api.example.com/data');
|
|
29
|
-
* ```
|
|
30
|
-
*/
|
|
31
|
-
exports.FRONTMCP_CONTEXT = Symbol.for('frontmcp:CONTEXT');
|
|
32
|
-
/**
|
|
33
|
-
* @deprecated Use FRONTMCP_CONTEXT instead
|
|
34
|
-
*/
|
|
35
|
-
exports.REQUEST_CONTEXT = exports.FRONTMCP_CONTEXT;
|
|
36
|
-
/**
|
|
37
|
-
* Factory provider for FrontMcpContext.
|
|
38
|
-
*
|
|
39
|
-
* This provider is marked as CONTEXT scope and retrieves the current
|
|
40
|
-
* FrontMcpContext from AsyncLocalStorage via FrontMcpContextStorage.
|
|
41
|
-
*
|
|
42
|
-
* Note: This provider will throw if called outside of a context scope
|
|
43
|
-
* (i.e., without first calling FrontMcpContextStorage.run or runFromHeaders).
|
|
44
|
-
*/
|
|
45
|
-
exports.FrontMcpContextProvider = (0, provider_interface_1.AsyncProvider)({
|
|
46
|
-
provide: exports.FRONTMCP_CONTEXT,
|
|
47
|
-
inject: () => [frontmcp_context_storage_1.FrontMcpContextStorage],
|
|
48
|
-
useFactory: (storage) => {
|
|
49
|
-
return storage.getStoreOrThrow();
|
|
50
|
-
},
|
|
51
|
-
metadata: {
|
|
52
|
-
name: 'FrontMcpContext',
|
|
53
|
-
description: 'Current unified context from AsyncLocalStorage',
|
|
54
|
-
scope: metadata_1.ProviderScope.CONTEXT,
|
|
55
|
-
},
|
|
56
|
-
}); // Type assertion needed: normalizeProvider expects nested metadata structure
|
|
57
|
-
/**
|
|
58
|
-
* @deprecated Use FrontMcpContextProvider instead
|
|
59
|
-
*/
|
|
60
|
-
exports.RequestContextProvider = exports.FrontMcpContextProvider;
|
|
61
|
-
//# sourceMappingURL=frontmcp-context.provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"frontmcp-context.provider.js","sourceRoot":"","sources":["../../../src/context/frontmcp-context.provider.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,iDAAmD;AACnD,gFAAwE;AAExE,yEAAoE;AAEpE;;;;;;;;;;;;;;;;;GAiBG;AACU,QAAA,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAE/D;;GAEG;AACU,QAAA,eAAe,GAAG,wBAAgB,CAAC;AAEhD;;;;;;;;GAQG;AACU,QAAA,uBAAuB,GAAG,IAAA,kCAAa,EAAC;IACnD,OAAO,EAAE,wBAAgB;IACzB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,iDAAsB,CAAU;IAC/C,UAAU,EAAE,CAAC,OAA+B,EAAmB,EAAE;QAC/D,OAAO,OAAO,CAAC,eAAe,EAAE,CAAC;IACnC,CAAC;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,gDAAgD;QAC7D,KAAK,EAAE,wBAAa,CAAC,OAAO;KAC7B;CACK,CAAC,CAAC,CAAC,6EAA6E;AAExF;;GAEG;AACU,QAAA,sBAAsB,GAAG,+BAAuB,CAAC","sourcesContent":["/**\n * FRONTMCP_CONTEXT Provider\n *\n * Defines the DI token and factory provider for accessing FrontMcpContext.\n * The context is retrieved from AsyncLocalStorage via FrontMcpContextStorage.\n */\n\nimport { ProviderScope } from '../common/metadata';\nimport { AsyncProvider } from '../common/interfaces/provider.interface';\nimport { FrontMcpContext } from './frontmcp-context';\nimport { FrontMcpContextStorage } from './frontmcp-context-storage';\n\n/**\n * DI token for accessing the current FrontMcpContext.\n *\n * Use this token to inject the current context in any provider or context:\n *\n * @example\n * ```typescript\n * // In a tool/resource/prompt\n * const ctx = this.get(FRONTMCP_CONTEXT);\n * console.log(ctx.requestId, ctx.sessionId, ctx.authInfo);\n *\n * // Access transport for elicit\n * const result = await ctx.transport?.elicit('Choose an option', schema);\n *\n * // Context-aware fetch\n * const response = await ctx.fetch('https://api.example.com/data');\n * ```\n */\nexport const FRONTMCP_CONTEXT = Symbol.for('frontmcp:CONTEXT');\n\n/**\n * @deprecated Use FRONTMCP_CONTEXT instead\n */\nexport const REQUEST_CONTEXT = FRONTMCP_CONTEXT;\n\n/**\n * Factory provider for FrontMcpContext.\n *\n * This provider is marked as CONTEXT scope and retrieves the current\n * FrontMcpContext from AsyncLocalStorage via FrontMcpContextStorage.\n *\n * Note: This provider will throw if called outside of a context scope\n * (i.e., without first calling FrontMcpContextStorage.run or runFromHeaders).\n */\nexport const FrontMcpContextProvider = AsyncProvider({\n provide: FRONTMCP_CONTEXT,\n inject: () => [FrontMcpContextStorage] as const,\n useFactory: (storage: FrontMcpContextStorage): FrontMcpContext => {\n return storage.getStoreOrThrow();\n },\n metadata: {\n name: 'FrontMcpContext',\n description: 'Current unified context from AsyncLocalStorage',\n scope: ProviderScope.CONTEXT,\n },\n} as any); // Type assertion needed: normalizeProvider expects nested metadata structure\n\n/**\n * @deprecated Use FrontMcpContextProvider instead\n */\nexport const RequestContextProvider = FrontMcpContextProvider;\n"]}
|
package/src/context/index.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Context Module
|
|
4
|
-
*
|
|
5
|
-
* Provides unified context management for production-ready request handling.
|
|
6
|
-
*
|
|
7
|
-
* Key exports:
|
|
8
|
-
* - FrontMcpContext (alias: Context): Unified context with session + request data
|
|
9
|
-
* - FrontMcpContextStorage: AsyncLocalStorage wrapper for context propagation
|
|
10
|
-
* - FRONTMCP_CONTEXT: DI token for accessing current context
|
|
11
|
-
* - TraceContext utilities: W3C Trace Context parsing and generation
|
|
12
|
-
*
|
|
13
|
-
* @deprecated exports (backward compatibility):
|
|
14
|
-
* - RequestContext: Use FrontMcpContext instead
|
|
15
|
-
* - RequestContextStorage: Use FrontMcpContextStorage instead
|
|
16
|
-
* - REQUEST_CONTEXT: Use FRONTMCP_CONTEXT instead
|
|
17
|
-
* - SessionKey: No longer needed with unified context
|
|
18
|
-
*/
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.SessionKey = exports.RequestContextStorage = exports.RequestContext = exports.createChildSpanContext = exports.generateTraceContext = exports.parseTraceContext = exports.RequestContextProvider = exports.REQUEST_CONTEXT = exports.FrontMcpContextProvider = exports.FRONTMCP_CONTEXT = exports.ContextStorage = exports.FrontMcpContextStorage = exports.Context = exports.FrontMcpContext = void 0;
|
|
21
|
-
// =====================
|
|
22
|
-
// New Unified Context (Primary exports)
|
|
23
|
-
// =====================
|
|
24
|
-
// FrontMcpContext - unified context class
|
|
25
|
-
var frontmcp_context_1 = require("./frontmcp-context");
|
|
26
|
-
Object.defineProperty(exports, "FrontMcpContext", { enumerable: true, get: function () { return frontmcp_context_1.FrontMcpContext; } });
|
|
27
|
-
Object.defineProperty(exports, "Context", { enumerable: true, get: function () { return frontmcp_context_1.Context; } });
|
|
28
|
-
// FrontMcpContextStorage - AsyncLocalStorage wrapper
|
|
29
|
-
var frontmcp_context_storage_1 = require("./frontmcp-context-storage");
|
|
30
|
-
Object.defineProperty(exports, "FrontMcpContextStorage", { enumerable: true, get: function () { return frontmcp_context_storage_1.FrontMcpContextStorage; } });
|
|
31
|
-
Object.defineProperty(exports, "ContextStorage", { enumerable: true, get: function () { return frontmcp_context_storage_1.ContextStorage; } });
|
|
32
|
-
// DI token and provider
|
|
33
|
-
var frontmcp_context_provider_1 = require("./frontmcp-context.provider");
|
|
34
|
-
Object.defineProperty(exports, "FRONTMCP_CONTEXT", { enumerable: true, get: function () { return frontmcp_context_provider_1.FRONTMCP_CONTEXT; } });
|
|
35
|
-
Object.defineProperty(exports, "FrontMcpContextProvider", { enumerable: true, get: function () { return frontmcp_context_provider_1.FrontMcpContextProvider; } });
|
|
36
|
-
// Backward compatibility
|
|
37
|
-
Object.defineProperty(exports, "REQUEST_CONTEXT", { enumerable: true, get: function () { return frontmcp_context_provider_1.REQUEST_CONTEXT; } });
|
|
38
|
-
Object.defineProperty(exports, "RequestContextProvider", { enumerable: true, get: function () { return frontmcp_context_provider_1.RequestContextProvider; } });
|
|
39
|
-
// =====================
|
|
40
|
-
// Trace Context (unchanged)
|
|
41
|
-
// =====================
|
|
42
|
-
var trace_context_1 = require("./trace-context");
|
|
43
|
-
Object.defineProperty(exports, "parseTraceContext", { enumerable: true, get: function () { return trace_context_1.parseTraceContext; } });
|
|
44
|
-
Object.defineProperty(exports, "generateTraceContext", { enumerable: true, get: function () { return trace_context_1.generateTraceContext; } });
|
|
45
|
-
Object.defineProperty(exports, "createChildSpanContext", { enumerable: true, get: function () { return trace_context_1.createChildSpanContext; } });
|
|
46
|
-
// =====================
|
|
47
|
-
// Backward Compatibility (deprecated)
|
|
48
|
-
// =====================
|
|
49
|
-
/**
|
|
50
|
-
* @deprecated Use FrontMcpContext instead
|
|
51
|
-
*/
|
|
52
|
-
var request_context_1 = require("./request-context");
|
|
53
|
-
Object.defineProperty(exports, "RequestContext", { enumerable: true, get: function () { return request_context_1.RequestContext; } });
|
|
54
|
-
/**
|
|
55
|
-
* @deprecated Use FrontMcpContextStorage instead
|
|
56
|
-
*/
|
|
57
|
-
var request_context_storage_1 = require("./request-context-storage");
|
|
58
|
-
Object.defineProperty(exports, "RequestContextStorage", { enumerable: true, get: function () { return request_context_storage_1.RequestContextStorage; } });
|
|
59
|
-
/**
|
|
60
|
-
* @deprecated SessionKey is no longer needed. Use ctx.sessionId directly.
|
|
61
|
-
*/
|
|
62
|
-
var session_key_provider_1 = require("./session-key.provider");
|
|
63
|
-
Object.defineProperty(exports, "SessionKey", { enumerable: true, get: function () { return session_key_provider_1.SessionKey; } });
|
|
64
|
-
//# sourceMappingURL=index.js.map
|
package/src/context/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/context/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,wBAAwB;AACxB,wCAAwC;AACxC,wBAAwB;AAExB,0CAA0C;AAC1C,uDAO4B;AAN1B,mHAAA,eAAe,OAAA;AACf,2GAAA,OAAO,OAAA;AAOT,qDAAqD;AACrD,uEAAoF;AAA3E,kIAAA,sBAAsB,OAAA;AAAE,0HAAA,cAAc,OAAA;AAE/C,wBAAwB;AACxB,yEAMqC;AALnC,6HAAA,gBAAgB,OAAA;AAChB,oIAAA,uBAAuB,OAAA;AACvB,yBAAyB;AACzB,4HAAA,eAAe,OAAA;AACf,mIAAA,sBAAsB,OAAA;AAGxB,wBAAwB;AACxB,4BAA4B;AAC5B,wBAAwB;AAExB,iDAAgH;AAAzF,kHAAA,iBAAiB,OAAA;AAAE,qHAAA,oBAAoB,OAAA;AAAE,uHAAA,sBAAsB,OAAA;AAEtF,wBAAwB;AACxB,sCAAsC;AACtC,wBAAwB;AAExB;;GAEG;AACH,qDAAmG;AAA1F,iHAAA,cAAc,OAAA;AAEvB;;GAEG;AACH,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA;AAE9B;;GAEG;AACH,+DAAoD;AAA3C,kHAAA,UAAU,OAAA","sourcesContent":["/**\n * Context Module\n *\n * Provides unified context management for production-ready request handling.\n *\n * Key exports:\n * - FrontMcpContext (alias: Context): Unified context with session + request data\n * - FrontMcpContextStorage: AsyncLocalStorage wrapper for context propagation\n * - FRONTMCP_CONTEXT: DI token for accessing current context\n * - TraceContext utilities: W3C Trace Context parsing and generation\n *\n * @deprecated exports (backward compatibility):\n * - RequestContext: Use FrontMcpContext instead\n * - RequestContextStorage: Use FrontMcpContextStorage instead\n * - REQUEST_CONTEXT: Use FRONTMCP_CONTEXT instead\n * - SessionKey: No longer needed with unified context\n */\n\n// =====================\n// New Unified Context (Primary exports)\n// =====================\n\n// FrontMcpContext - unified context class\nexport {\n FrontMcpContext,\n Context, // Short alias\n FrontMcpContextArgs,\n FrontMcpContextConfig,\n RequestMetadata,\n TransportAccessor,\n} from './frontmcp-context';\n\n// FrontMcpContextStorage - AsyncLocalStorage wrapper\nexport { FrontMcpContextStorage, ContextStorage } from './frontmcp-context-storage';\n\n// DI token and provider\nexport {\n FRONTMCP_CONTEXT,\n FrontMcpContextProvider,\n // Backward compatibility\n REQUEST_CONTEXT,\n RequestContextProvider,\n} from './frontmcp-context.provider';\n\n// =====================\n// Trace Context (unchanged)\n// =====================\n\nexport { TraceContext, parseTraceContext, generateTraceContext, createChildSpanContext } from './trace-context';\n\n// =====================\n// Backward Compatibility (deprecated)\n// =====================\n\n/**\n * @deprecated Use FrontMcpContext instead\n */\nexport { RequestContext, RequestContextArgs as LegacyRequestContextArgs } from './request-context';\n\n/**\n * @deprecated Use FrontMcpContextStorage instead\n */\nexport { RequestContextStorage } from './request-context-storage';\n\n/**\n * @deprecated SessionKey is no longer needed. Use ctx.sessionId directly.\n */\nexport { SessionKey } from './session-key.provider';\n"]}
|