@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
|
@@ -0,0 +1,723 @@
|
|
|
1
|
+
// libs/sdk/src/mcp-apps/types.ts
|
|
2
|
+
var MCP_APPS_MIME_TYPE = "text/html+mcp";
|
|
3
|
+
var MCP_APPS_METHODS = {
|
|
4
|
+
// Lifecycle
|
|
5
|
+
INITIALIZE: "ui/initialize",
|
|
6
|
+
INITIALIZED: "ui/notifications/initialized",
|
|
7
|
+
// Tool lifecycle notifications (Host → UI)
|
|
8
|
+
TOOL_INPUT: "ui/notifications/tool-input",
|
|
9
|
+
TOOL_INPUT_PARTIAL: "ui/notifications/tool-input-partial",
|
|
10
|
+
TOOL_RESULT: "ui/notifications/tool-result",
|
|
11
|
+
TOOL_CANCELLED: "ui/notifications/tool-cancelled",
|
|
12
|
+
// Context notifications (Host → UI)
|
|
13
|
+
SIZE_CHANGE: "ui/notifications/size-change",
|
|
14
|
+
HOST_CONTEXT_CHANGE: "ui/host-context-change",
|
|
15
|
+
RESOURCE_TEARDOWN: "ui/resource-teardown",
|
|
16
|
+
// UI Requests (UI → Host)
|
|
17
|
+
OPEN_LINK: "ui/open-link",
|
|
18
|
+
MESSAGE: "ui/message",
|
|
19
|
+
// Standard MCP methods that UI can use
|
|
20
|
+
TOOLS_CALL: "tools/call",
|
|
21
|
+
RESOURCES_READ: "resources/read",
|
|
22
|
+
NOTIFICATIONS_MESSAGE: "notifications/message",
|
|
23
|
+
PING: "ping",
|
|
24
|
+
// Sandbox proxy (web hosts only)
|
|
25
|
+
SANDBOX_READY: "ui/notifications/sandbox-ready",
|
|
26
|
+
SANDBOX_RESOURCE_READY: "ui/notifications/sandbox-resource-ready"
|
|
27
|
+
};
|
|
28
|
+
var MCP_APPS_PROTOCOL_VERSION = "2025-01-01";
|
|
29
|
+
|
|
30
|
+
// libs/sdk/src/mcp-apps/schemas.ts
|
|
31
|
+
import { z } from "zod";
|
|
32
|
+
var McpAppsMimeTypeSchema = z.literal(MCP_APPS_MIME_TYPE);
|
|
33
|
+
var McpAppsDisplayModeSchema = z.enum(["inline", "fullscreen", "pip"]);
|
|
34
|
+
var McpAppsPlatformSchema = z.enum(["web", "desktop", "mobile"]);
|
|
35
|
+
var ThemeSchema = z.enum(["light", "dark"]);
|
|
36
|
+
var McpAppsCSPSchema = z.object({
|
|
37
|
+
connectDomains: z.array(z.string().url()).optional(),
|
|
38
|
+
resourceDomains: z.array(z.string().url()).optional()
|
|
39
|
+
}).strict();
|
|
40
|
+
var UIResourceMetaSchema = z.object({
|
|
41
|
+
csp: McpAppsCSPSchema.optional(),
|
|
42
|
+
domain: z.string().optional(),
|
|
43
|
+
prefersBorder: z.boolean().optional()
|
|
44
|
+
}).strict();
|
|
45
|
+
var UIResourceSchema = z.object({
|
|
46
|
+
uri: z.string().startsWith("ui://"),
|
|
47
|
+
name: z.string().min(1),
|
|
48
|
+
description: z.string().optional(),
|
|
49
|
+
mimeType: McpAppsMimeTypeSchema,
|
|
50
|
+
_meta: z.object({
|
|
51
|
+
ui: UIResourceMetaSchema.optional()
|
|
52
|
+
}).optional()
|
|
53
|
+
}).strict();
|
|
54
|
+
var DeviceCapabilitiesSchema = z.object({
|
|
55
|
+
touch: z.boolean().optional(),
|
|
56
|
+
hover: z.boolean().optional()
|
|
57
|
+
}).strict();
|
|
58
|
+
var SafeAreaInsetsSchema = z.object({
|
|
59
|
+
top: z.number(),
|
|
60
|
+
right: z.number(),
|
|
61
|
+
bottom: z.number(),
|
|
62
|
+
left: z.number()
|
|
63
|
+
}).strict();
|
|
64
|
+
var ViewportInfoSchema = z.object({
|
|
65
|
+
width: z.number().positive(),
|
|
66
|
+
height: z.number().positive(),
|
|
67
|
+
maxHeight: z.number().positive().optional(),
|
|
68
|
+
maxWidth: z.number().positive().optional()
|
|
69
|
+
}).strict();
|
|
70
|
+
var ToolInfoSchema = z.object({
|
|
71
|
+
id: z.union([z.string(), z.number()]).optional(),
|
|
72
|
+
tool: z.object({
|
|
73
|
+
name: z.string().min(1),
|
|
74
|
+
description: z.string().optional(),
|
|
75
|
+
inputSchema: z.record(z.string(), z.unknown()).optional()
|
|
76
|
+
})
|
|
77
|
+
}).strict();
|
|
78
|
+
var McpAppsHostContextSchema = z.object({
|
|
79
|
+
toolInfo: ToolInfoSchema.optional(),
|
|
80
|
+
theme: ThemeSchema.optional(),
|
|
81
|
+
displayMode: McpAppsDisplayModeSchema.optional(),
|
|
82
|
+
viewport: ViewportInfoSchema.optional(),
|
|
83
|
+
locale: z.string().optional(),
|
|
84
|
+
timeZone: z.string().optional(),
|
|
85
|
+
platform: McpAppsPlatformSchema.optional(),
|
|
86
|
+
deviceCapabilities: DeviceCapabilitiesSchema.optional(),
|
|
87
|
+
safeAreaInsets: SafeAreaInsetsSchema.optional()
|
|
88
|
+
}).strict();
|
|
89
|
+
var JsonRpcErrorSchema = z.object({
|
|
90
|
+
code: z.number().int(),
|
|
91
|
+
message: z.string(),
|
|
92
|
+
data: z.unknown().optional()
|
|
93
|
+
}).strict();
|
|
94
|
+
var JsonRpcRequestSchema = z.object({
|
|
95
|
+
jsonrpc: z.literal("2.0"),
|
|
96
|
+
id: z.union([z.string(), z.number()]),
|
|
97
|
+
method: z.string().min(1),
|
|
98
|
+
params: z.unknown().optional()
|
|
99
|
+
}).strict();
|
|
100
|
+
var JsonRpcResponseSchema = z.object({
|
|
101
|
+
jsonrpc: z.literal("2.0"),
|
|
102
|
+
id: z.union([z.string(), z.number()]),
|
|
103
|
+
result: z.unknown().optional(),
|
|
104
|
+
error: JsonRpcErrorSchema.optional()
|
|
105
|
+
}).strict();
|
|
106
|
+
var JsonRpcNotificationSchema = z.object({
|
|
107
|
+
jsonrpc: z.literal("2.0"),
|
|
108
|
+
method: z.string().min(1),
|
|
109
|
+
params: z.unknown().optional()
|
|
110
|
+
}).strict();
|
|
111
|
+
var McpUiInitializeParamsSchema = z.object({
|
|
112
|
+
protocolVersion: z.string(),
|
|
113
|
+
capabilities: z.object({
|
|
114
|
+
messages: z.array(z.string()).optional()
|
|
115
|
+
}).optional()
|
|
116
|
+
}).strict();
|
|
117
|
+
var McpUiInitializeResultSchema = z.object({
|
|
118
|
+
protocolVersion: z.string(),
|
|
119
|
+
capabilities: z.object({
|
|
120
|
+
extensions: z.record(z.string(), z.unknown()).optional()
|
|
121
|
+
}),
|
|
122
|
+
hostContext: McpAppsHostContextSchema
|
|
123
|
+
}).strict();
|
|
124
|
+
var McpUiToolInputParamsSchema = z.object({
|
|
125
|
+
arguments: z.record(z.string(), z.unknown())
|
|
126
|
+
}).strict();
|
|
127
|
+
var McpUiToolInputPartialParamsSchema = z.object({
|
|
128
|
+
argumentsDelta: z.string()
|
|
129
|
+
}).strict();
|
|
130
|
+
var ToolResultContentItemSchema = z.object({
|
|
131
|
+
type: z.enum(["text", "image", "resource"]),
|
|
132
|
+
text: z.string().optional(),
|
|
133
|
+
data: z.string().optional(),
|
|
134
|
+
mimeType: z.string().optional(),
|
|
135
|
+
uri: z.string().optional()
|
|
136
|
+
});
|
|
137
|
+
var McpUiToolResultParamsSchema = z.object({
|
|
138
|
+
content: z.array(ToolResultContentItemSchema),
|
|
139
|
+
structuredContent: z.record(z.string(), z.unknown()).optional(),
|
|
140
|
+
_meta: z.record(z.string(), z.unknown()).optional()
|
|
141
|
+
}).strict();
|
|
142
|
+
var McpUiToolCancelledParamsSchema = z.object({
|
|
143
|
+
reason: z.string().optional()
|
|
144
|
+
}).strict();
|
|
145
|
+
var McpUiSizeChangeParamsSchema = z.object({
|
|
146
|
+
viewport: ViewportInfoSchema
|
|
147
|
+
}).strict();
|
|
148
|
+
var McpUiHostContextChangeParamsSchema = z.object({
|
|
149
|
+
changes: McpAppsHostContextSchema.partial()
|
|
150
|
+
}).strict();
|
|
151
|
+
var McpUiOpenLinkParamsSchema = z.object({
|
|
152
|
+
url: z.string().url()
|
|
153
|
+
}).strict();
|
|
154
|
+
var McpUiMessageParamsSchema = z.object({
|
|
155
|
+
content: z.string().min(1)
|
|
156
|
+
}).strict();
|
|
157
|
+
var McpAppsExtensionCapabilitySchema = z.object({
|
|
158
|
+
mimeTypes: z.array(McpAppsMimeTypeSchema)
|
|
159
|
+
}).strict();
|
|
160
|
+
var ToolUIMetaSchema = z.object({
|
|
161
|
+
"ui/resourceUri": z.string().startsWith("ui://").optional(),
|
|
162
|
+
"ui/mimeType": McpAppsMimeTypeSchema.optional()
|
|
163
|
+
}).passthrough();
|
|
164
|
+
function isValidUIResourceUri(uri) {
|
|
165
|
+
return uri.startsWith("ui://") && uri.length > 5;
|
|
166
|
+
}
|
|
167
|
+
function isValidProtocolVersion(version) {
|
|
168
|
+
return /^\d{4}-\d{2}-\d{2}$/.test(version);
|
|
169
|
+
}
|
|
170
|
+
function parseUIResource(data) {
|
|
171
|
+
const result = UIResourceSchema.safeParse(data);
|
|
172
|
+
return result.success ? result.data : null;
|
|
173
|
+
}
|
|
174
|
+
function parseHostContext(data) {
|
|
175
|
+
const result = McpAppsHostContextSchema.safeParse(data);
|
|
176
|
+
return result.success ? result.data : null;
|
|
177
|
+
}
|
|
178
|
+
var DEFAULT_PROTOCOL_VERSION = MCP_APPS_PROTOCOL_VERSION;
|
|
179
|
+
|
|
180
|
+
// libs/sdk/src/mcp-apps/csp.ts
|
|
181
|
+
var DEFAULT_CSP_DIRECTIVES = [
|
|
182
|
+
{ name: "default-src", values: ["'none'"] },
|
|
183
|
+
{ name: "script-src", values: ["'self'", "'unsafe-inline'"] },
|
|
184
|
+
{ name: "style-src", values: ["'self'", "'unsafe-inline'"] },
|
|
185
|
+
{ name: "img-src", values: ["'self'", "data:"] },
|
|
186
|
+
{ name: "font-src", values: ["'self'"] },
|
|
187
|
+
{ name: "connect-src", values: ["'none'"] },
|
|
188
|
+
{ name: "frame-src", values: ["'none'"] },
|
|
189
|
+
{ name: "object-src", values: ["'none'"] },
|
|
190
|
+
{ name: "base-uri", values: ["'self'"] },
|
|
191
|
+
{ name: "form-action", values: ["'self'"] }
|
|
192
|
+
];
|
|
193
|
+
var SANDBOX_PERMISSIONS = ["allow-scripts", "allow-same-origin"];
|
|
194
|
+
var EXTENDED_SANDBOX_PERMISSIONS = [
|
|
195
|
+
...SANDBOX_PERMISSIONS,
|
|
196
|
+
"allow-forms",
|
|
197
|
+
"allow-popups",
|
|
198
|
+
"allow-popups-to-escape-sandbox"
|
|
199
|
+
];
|
|
200
|
+
function buildCSPHeader(csp) {
|
|
201
|
+
const directives = buildCSPDirectives(csp);
|
|
202
|
+
return directives.map((d) => `${d.name} ${d.values.join(" ")}`).join("; ");
|
|
203
|
+
}
|
|
204
|
+
function buildCSPDirectives(csp) {
|
|
205
|
+
const directives = /* @__PURE__ */ new Map();
|
|
206
|
+
for (const directive of DEFAULT_CSP_DIRECTIVES) {
|
|
207
|
+
directives.set(directive.name, [...directive.values]);
|
|
208
|
+
}
|
|
209
|
+
if (csp) {
|
|
210
|
+
if (csp.connectDomains && csp.connectDomains.length > 0) {
|
|
211
|
+
const connectSrc = directives.get("connect-src") || [];
|
|
212
|
+
const filteredConnect = connectSrc.filter((v) => v !== "'none'");
|
|
213
|
+
directives.set("connect-src", [...filteredConnect, "'self'", ...csp.connectDomains]);
|
|
214
|
+
}
|
|
215
|
+
if (csp.resourceDomains && csp.resourceDomains.length > 0) {
|
|
216
|
+
const resourceDomains = csp.resourceDomains;
|
|
217
|
+
const scriptSrc = directives.get("script-src") || [];
|
|
218
|
+
directives.set("script-src", [...scriptSrc, ...resourceDomains]);
|
|
219
|
+
const styleSrc = directives.get("style-src") || [];
|
|
220
|
+
directives.set("style-src", [...styleSrc, ...resourceDomains]);
|
|
221
|
+
const imgSrc = directives.get("img-src") || [];
|
|
222
|
+
directives.set("img-src", [...imgSrc, ...resourceDomains]);
|
|
223
|
+
const fontSrc = directives.get("font-src") || [];
|
|
224
|
+
directives.set("font-src", [...fontSrc, ...resourceDomains]);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return Array.from(directives.entries()).map(([name, values]) => ({
|
|
228
|
+
name,
|
|
229
|
+
values: [...new Set(values)]
|
|
230
|
+
// Deduplicate
|
|
231
|
+
}));
|
|
232
|
+
}
|
|
233
|
+
function buildSandboxAttribute(options) {
|
|
234
|
+
const permissions = [...SANDBOX_PERMISSIONS];
|
|
235
|
+
if (options?.allowForms) {
|
|
236
|
+
permissions.push("allow-forms");
|
|
237
|
+
}
|
|
238
|
+
if (options?.allowPopups) {
|
|
239
|
+
permissions.push("allow-popups");
|
|
240
|
+
}
|
|
241
|
+
if (options?.allowPopupsToEscapeSandbox) {
|
|
242
|
+
permissions.push("allow-popups-to-escape-sandbox");
|
|
243
|
+
}
|
|
244
|
+
return permissions.join(" ");
|
|
245
|
+
}
|
|
246
|
+
function buildCSPMetaTag(csp) {
|
|
247
|
+
const header = buildCSPHeader(csp);
|
|
248
|
+
return `<meta http-equiv="Content-Security-Policy" content="${escapeHtmlAttribute(header)}">`;
|
|
249
|
+
}
|
|
250
|
+
function isDomainAllowed(domain, csp, type) {
|
|
251
|
+
if (!csp) return false;
|
|
252
|
+
const domains = type === "connect" ? csp.connectDomains : csp.resourceDomains;
|
|
253
|
+
if (!domains || domains.length === 0) return false;
|
|
254
|
+
return domains.some((allowed) => {
|
|
255
|
+
try {
|
|
256
|
+
const allowedUrl = new URL(allowed);
|
|
257
|
+
const testUrl = new URL(domain);
|
|
258
|
+
return allowedUrl.protocol === testUrl.protocol && allowedUrl.hostname === testUrl.hostname;
|
|
259
|
+
} catch {
|
|
260
|
+
return allowed === domain;
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
function mergeCSP(base, override) {
|
|
265
|
+
const merged = {};
|
|
266
|
+
const connectDomains = /* @__PURE__ */ new Set();
|
|
267
|
+
if (base?.connectDomains) {
|
|
268
|
+
base.connectDomains.forEach((d) => connectDomains.add(d));
|
|
269
|
+
}
|
|
270
|
+
if (override?.connectDomains) {
|
|
271
|
+
override.connectDomains.forEach((d) => connectDomains.add(d));
|
|
272
|
+
}
|
|
273
|
+
if (connectDomains.size > 0) {
|
|
274
|
+
merged.connectDomains = Array.from(connectDomains);
|
|
275
|
+
}
|
|
276
|
+
const resourceDomains = /* @__PURE__ */ new Set();
|
|
277
|
+
if (base?.resourceDomains) {
|
|
278
|
+
base.resourceDomains.forEach((d) => resourceDomains.add(d));
|
|
279
|
+
}
|
|
280
|
+
if (override?.resourceDomains) {
|
|
281
|
+
override.resourceDomains.forEach((d) => resourceDomains.add(d));
|
|
282
|
+
}
|
|
283
|
+
if (resourceDomains.size > 0) {
|
|
284
|
+
merged.resourceDomains = Array.from(resourceDomains);
|
|
285
|
+
}
|
|
286
|
+
return merged;
|
|
287
|
+
}
|
|
288
|
+
function escapeHtmlAttribute(str) {
|
|
289
|
+
return str.replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
290
|
+
}
|
|
291
|
+
function parseCSPHeader(header) {
|
|
292
|
+
const csp = {};
|
|
293
|
+
const connectDomains = [];
|
|
294
|
+
const resourceDomains = [];
|
|
295
|
+
const directives = header.split(";").map((d) => d.trim());
|
|
296
|
+
for (const directive of directives) {
|
|
297
|
+
const [name, ...values] = directive.split(/\s+/);
|
|
298
|
+
if (name === "connect-src") {
|
|
299
|
+
for (const value of values) {
|
|
300
|
+
if (value.startsWith("https://") || value.startsWith("http://")) {
|
|
301
|
+
connectDomains.push(value);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
if (["script-src", "style-src", "img-src", "font-src"].includes(name)) {
|
|
306
|
+
for (const value of values) {
|
|
307
|
+
if (value.startsWith("https://") || value.startsWith("http://")) {
|
|
308
|
+
resourceDomains.push(value);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
if (connectDomains.length > 0) {
|
|
314
|
+
csp.connectDomains = [...new Set(connectDomains)];
|
|
315
|
+
}
|
|
316
|
+
if (resourceDomains.length > 0) {
|
|
317
|
+
csp.resourceDomains = [...new Set(resourceDomains)];
|
|
318
|
+
}
|
|
319
|
+
return csp;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
// libs/sdk/src/mcp-apps/template.ts
|
|
323
|
+
function generateMcpAppsTemplate(options) {
|
|
324
|
+
const {
|
|
325
|
+
toolInfo,
|
|
326
|
+
input,
|
|
327
|
+
output,
|
|
328
|
+
structuredContent,
|
|
329
|
+
csp,
|
|
330
|
+
title = "MCP App",
|
|
331
|
+
headContent = "",
|
|
332
|
+
bodyContent,
|
|
333
|
+
scripts = [],
|
|
334
|
+
includeBridge = true,
|
|
335
|
+
bridgeConfig,
|
|
336
|
+
theme = "light",
|
|
337
|
+
debug = false
|
|
338
|
+
} = options;
|
|
339
|
+
const cspMeta = buildCSPMetaTag(csp);
|
|
340
|
+
const dataAttrs = buildDataAttributes({ toolInfo, input, output, structuredContent });
|
|
341
|
+
const bridgeScript = includeBridge ? generateBridgeScript({ ...bridgeConfig, debug }) : "";
|
|
342
|
+
const additionalScripts = scripts.map((s) => `<script>${s}</script>`).join("\n");
|
|
343
|
+
return `<!DOCTYPE html>
|
|
344
|
+
<html lang="en" data-theme="${escapeAttr(theme)}">
|
|
345
|
+
<head>
|
|
346
|
+
<meta charset="UTF-8">
|
|
347
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
348
|
+
${cspMeta}
|
|
349
|
+
<meta name="mcp-apps-version" content="${MCP_APPS_PROTOCOL_VERSION}">
|
|
350
|
+
<meta name="mcp-apps-mime-type" content="${MCP_APPS_MIME_TYPE}">
|
|
351
|
+
<title>${escapeHtml(title)}</title>
|
|
352
|
+
<style>
|
|
353
|
+
:root {
|
|
354
|
+
--mcp-bg: #ffffff;
|
|
355
|
+
--mcp-text: #1a1a1a;
|
|
356
|
+
--mcp-border: #e5e5e5;
|
|
357
|
+
--mcp-primary: #0969da;
|
|
358
|
+
--mcp-error: #cf222e;
|
|
359
|
+
--mcp-success: #1a7f37;
|
|
360
|
+
}
|
|
361
|
+
[data-theme="dark"] {
|
|
362
|
+
--mcp-bg: #0d1117;
|
|
363
|
+
--mcp-text: #c9d1d9;
|
|
364
|
+
--mcp-border: #30363d;
|
|
365
|
+
--mcp-primary: #58a6ff;
|
|
366
|
+
--mcp-error: #f85149;
|
|
367
|
+
--mcp-success: #3fb950;
|
|
368
|
+
}
|
|
369
|
+
* { box-sizing: border-box; }
|
|
370
|
+
body {
|
|
371
|
+
margin: 0;
|
|
372
|
+
padding: 16px;
|
|
373
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
374
|
+
background: var(--mcp-bg);
|
|
375
|
+
color: var(--mcp-text);
|
|
376
|
+
line-height: 1.5;
|
|
377
|
+
}
|
|
378
|
+
</style>
|
|
379
|
+
${headContent}
|
|
380
|
+
</head>
|
|
381
|
+
<body ${dataAttrs}>
|
|
382
|
+
${bodyContent}
|
|
383
|
+
${bridgeScript}
|
|
384
|
+
${additionalScripts}
|
|
385
|
+
</body>
|
|
386
|
+
</html>`;
|
|
387
|
+
}
|
|
388
|
+
function generateBridgeScript(config) {
|
|
389
|
+
const {
|
|
390
|
+
protocolVersion = MCP_APPS_PROTOCOL_VERSION,
|
|
391
|
+
trustedOrigin = "*",
|
|
392
|
+
requestTimeout = 3e4,
|
|
393
|
+
debug = false
|
|
394
|
+
} = config || {};
|
|
395
|
+
return `<script>
|
|
396
|
+
(function() {
|
|
397
|
+
'use strict';
|
|
398
|
+
|
|
399
|
+
// MCP Apps Bridge Runtime
|
|
400
|
+
const MCP_PROTOCOL_VERSION = '${protocolVersion}';
|
|
401
|
+
const REQUEST_TIMEOUT = ${requestTimeout};
|
|
402
|
+
const DEBUG = ${debug};
|
|
403
|
+
|
|
404
|
+
// State
|
|
405
|
+
let initialized = false;
|
|
406
|
+
let hostContext = {};
|
|
407
|
+
let pendingRequests = new Map();
|
|
408
|
+
let messageId = 0;
|
|
409
|
+
let trustedOrigin = '${trustedOrigin}';
|
|
410
|
+
|
|
411
|
+
// Logging
|
|
412
|
+
function log(...args) {
|
|
413
|
+
if (DEBUG) console.log('[MCP Bridge]', ...args);
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
// Generate unique message ID
|
|
417
|
+
function nextId() {
|
|
418
|
+
return ++messageId;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
// Send JSON-RPC message to host
|
|
422
|
+
function sendMessage(message) {
|
|
423
|
+
log('Sending:', message);
|
|
424
|
+
parent.postMessage(message, trustedOrigin);
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
// Send JSON-RPC request and wait for response
|
|
428
|
+
function sendRequest(method, params) {
|
|
429
|
+
return new Promise((resolve, reject) => {
|
|
430
|
+
const id = nextId();
|
|
431
|
+
const request = {
|
|
432
|
+
jsonrpc: '2.0',
|
|
433
|
+
id: id,
|
|
434
|
+
method: method,
|
|
435
|
+
params: params
|
|
436
|
+
};
|
|
437
|
+
|
|
438
|
+
const timeout = setTimeout(() => {
|
|
439
|
+
pendingRequests.delete(id);
|
|
440
|
+
reject(new Error('Request timeout: ' + method));
|
|
441
|
+
}, REQUEST_TIMEOUT);
|
|
442
|
+
|
|
443
|
+
pendingRequests.set(id, { resolve, reject, timeout });
|
|
444
|
+
sendMessage(request);
|
|
445
|
+
});
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
// Send JSON-RPC notification (no response expected)
|
|
449
|
+
function sendNotification(method, params) {
|
|
450
|
+
sendMessage({
|
|
451
|
+
jsonrpc: '2.0',
|
|
452
|
+
method: method,
|
|
453
|
+
params: params
|
|
454
|
+
});
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
// Handle incoming messages from host
|
|
458
|
+
function handleMessage(event) {
|
|
459
|
+
// Validate origin on first message (trust-on-first-use)
|
|
460
|
+
if (trustedOrigin === '*' && event.origin) {
|
|
461
|
+
trustedOrigin = event.origin;
|
|
462
|
+
log('Trusted origin set to:', trustedOrigin);
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
const data = event.data;
|
|
466
|
+
if (!data || data.jsonrpc !== '2.0') return;
|
|
467
|
+
|
|
468
|
+
log('Received:', data);
|
|
469
|
+
|
|
470
|
+
// Handle response to our request
|
|
471
|
+
if (data.id !== undefined && pendingRequests.has(data.id)) {
|
|
472
|
+
const { resolve, reject, timeout } = pendingRequests.get(data.id);
|
|
473
|
+
clearTimeout(timeout);
|
|
474
|
+
pendingRequests.delete(data.id);
|
|
475
|
+
|
|
476
|
+
if (data.error) {
|
|
477
|
+
reject(new Error(data.error.message || 'Unknown error'));
|
|
478
|
+
} else {
|
|
479
|
+
resolve(data.result);
|
|
480
|
+
}
|
|
481
|
+
return;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
// Handle notifications from host
|
|
485
|
+
if (data.method) {
|
|
486
|
+
handleNotification(data.method, data.params);
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
// Handle notifications from host
|
|
491
|
+
function handleNotification(method, params) {
|
|
492
|
+
switch (method) {
|
|
493
|
+
case '${MCP_APPS_METHODS.TOOL_INPUT}':
|
|
494
|
+
window.dispatchEvent(new CustomEvent('mcp:tool-input', { detail: params }));
|
|
495
|
+
break;
|
|
496
|
+
case '${MCP_APPS_METHODS.TOOL_INPUT_PARTIAL}':
|
|
497
|
+
window.dispatchEvent(new CustomEvent('mcp:tool-input-partial', { detail: params }));
|
|
498
|
+
break;
|
|
499
|
+
case '${MCP_APPS_METHODS.TOOL_RESULT}':
|
|
500
|
+
window.dispatchEvent(new CustomEvent('mcp:tool-result', { detail: params }));
|
|
501
|
+
break;
|
|
502
|
+
case '${MCP_APPS_METHODS.TOOL_CANCELLED}':
|
|
503
|
+
window.dispatchEvent(new CustomEvent('mcp:tool-cancelled', { detail: params }));
|
|
504
|
+
break;
|
|
505
|
+
case '${MCP_APPS_METHODS.SIZE_CHANGE}':
|
|
506
|
+
window.dispatchEvent(new CustomEvent('mcp:size-change', { detail: params }));
|
|
507
|
+
break;
|
|
508
|
+
case '${MCP_APPS_METHODS.HOST_CONTEXT_CHANGE}':
|
|
509
|
+
Object.assign(hostContext, params.changes);
|
|
510
|
+
window.dispatchEvent(new CustomEvent('mcp:context-change', { detail: params.changes }));
|
|
511
|
+
// Update theme if changed
|
|
512
|
+
if (params.changes.theme) {
|
|
513
|
+
document.documentElement.setAttribute('data-theme', params.changes.theme);
|
|
514
|
+
}
|
|
515
|
+
break;
|
|
516
|
+
case '${MCP_APPS_METHODS.RESOURCE_TEARDOWN}':
|
|
517
|
+
window.dispatchEvent(new CustomEvent('mcp:teardown', { detail: params }));
|
|
518
|
+
break;
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
// Initialize connection with host
|
|
523
|
+
async function initialize() {
|
|
524
|
+
if (initialized) return hostContext;
|
|
525
|
+
|
|
526
|
+
try {
|
|
527
|
+
const result = await sendRequest('${MCP_APPS_METHODS.INITIALIZE}', {
|
|
528
|
+
protocolVersion: MCP_PROTOCOL_VERSION,
|
|
529
|
+
capabilities: {
|
|
530
|
+
messages: ['${MCP_APPS_METHODS.TOOL_INPUT}', '${MCP_APPS_METHODS.TOOL_RESULT}']
|
|
531
|
+
}
|
|
532
|
+
});
|
|
533
|
+
|
|
534
|
+
hostContext = result.hostContext || {};
|
|
535
|
+
initialized = true;
|
|
536
|
+
|
|
537
|
+
// Apply initial theme
|
|
538
|
+
if (hostContext.theme) {
|
|
539
|
+
document.documentElement.setAttribute('data-theme', hostContext.theme);
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
// Send initialized notification
|
|
543
|
+
sendNotification('${MCP_APPS_METHODS.INITIALIZED}', {});
|
|
544
|
+
|
|
545
|
+
log('Initialized with context:', hostContext);
|
|
546
|
+
window.dispatchEvent(new CustomEvent('mcp:initialized', { detail: hostContext }));
|
|
547
|
+
|
|
548
|
+
return hostContext;
|
|
549
|
+
} catch (error) {
|
|
550
|
+
console.error('[MCP Bridge] Initialization failed:', error);
|
|
551
|
+
throw error;
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
// Public API
|
|
556
|
+
window.mcpBridge = {
|
|
557
|
+
// Initialize connection
|
|
558
|
+
initialize: initialize,
|
|
559
|
+
|
|
560
|
+
// Get current host context
|
|
561
|
+
getHostContext: function() {
|
|
562
|
+
return { ...hostContext };
|
|
563
|
+
},
|
|
564
|
+
|
|
565
|
+
// Get tool info
|
|
566
|
+
getToolInfo: function() {
|
|
567
|
+
return hostContext.toolInfo;
|
|
568
|
+
},
|
|
569
|
+
|
|
570
|
+
// Call a tool on the MCP server
|
|
571
|
+
callTool: function(name, args) {
|
|
572
|
+
return sendRequest('${MCP_APPS_METHODS.TOOLS_CALL}', { name, arguments: args });
|
|
573
|
+
},
|
|
574
|
+
|
|
575
|
+
// Read a resource
|
|
576
|
+
readResource: function(uri) {
|
|
577
|
+
return sendRequest('${MCP_APPS_METHODS.RESOURCES_READ}', { uri });
|
|
578
|
+
},
|
|
579
|
+
|
|
580
|
+
// Request host to open a link
|
|
581
|
+
openLink: function(url) {
|
|
582
|
+
return sendRequest('${MCP_APPS_METHODS.OPEN_LINK}', { url });
|
|
583
|
+
},
|
|
584
|
+
|
|
585
|
+
// Send message to host's chat
|
|
586
|
+
sendMessage: function(content) {
|
|
587
|
+
return sendRequest('${MCP_APPS_METHODS.MESSAGE}', { content });
|
|
588
|
+
},
|
|
589
|
+
|
|
590
|
+
// Log message to host
|
|
591
|
+
log: function(level, message, data) {
|
|
592
|
+
sendNotification('${MCP_APPS_METHODS.NOTIFICATIONS_MESSAGE}', {
|
|
593
|
+
level: level,
|
|
594
|
+
logger: 'mcp-app',
|
|
595
|
+
data: { message, ...data }
|
|
596
|
+
});
|
|
597
|
+
},
|
|
598
|
+
|
|
599
|
+
// Ping host
|
|
600
|
+
ping: function() {
|
|
601
|
+
return sendRequest('${MCP_APPS_METHODS.PING}', {});
|
|
602
|
+
},
|
|
603
|
+
|
|
604
|
+
// Check if initialized
|
|
605
|
+
isInitialized: function() {
|
|
606
|
+
return initialized;
|
|
607
|
+
},
|
|
608
|
+
|
|
609
|
+
// Protocol version
|
|
610
|
+
protocolVersion: MCP_PROTOCOL_VERSION
|
|
611
|
+
};
|
|
612
|
+
|
|
613
|
+
// Listen for messages
|
|
614
|
+
window.addEventListener('message', handleMessage);
|
|
615
|
+
|
|
616
|
+
// Auto-initialize when DOM is ready
|
|
617
|
+
if (document.readyState === 'loading') {
|
|
618
|
+
document.addEventListener('DOMContentLoaded', function() {
|
|
619
|
+
initialize().catch(function(err) {
|
|
620
|
+
log('Auto-init failed:', err);
|
|
621
|
+
});
|
|
622
|
+
});
|
|
623
|
+
} else {
|
|
624
|
+
initialize().catch(function(err) {
|
|
625
|
+
log('Auto-init failed:', err);
|
|
626
|
+
});
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
log('Bridge loaded');
|
|
630
|
+
})();
|
|
631
|
+
</script>`;
|
|
632
|
+
}
|
|
633
|
+
function buildDataAttributes(options) {
|
|
634
|
+
const attrs = [];
|
|
635
|
+
if (options.toolInfo) {
|
|
636
|
+
attrs.push(`data-mcp-tool="${escapeAttr(JSON.stringify(options.toolInfo))}"`);
|
|
637
|
+
}
|
|
638
|
+
if (options.input) {
|
|
639
|
+
attrs.push(`data-mcp-input="${escapeAttr(JSON.stringify(options.input))}"`);
|
|
640
|
+
}
|
|
641
|
+
if (options.output !== void 0) {
|
|
642
|
+
attrs.push(`data-mcp-output="${escapeAttr(JSON.stringify(options.output))}"`);
|
|
643
|
+
}
|
|
644
|
+
if (options.structuredContent !== void 0) {
|
|
645
|
+
attrs.push(`data-mcp-structured="${escapeAttr(JSON.stringify(options.structuredContent))}"`);
|
|
646
|
+
}
|
|
647
|
+
return attrs.join(" ");
|
|
648
|
+
}
|
|
649
|
+
function escapeHtml(str) {
|
|
650
|
+
return str.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
651
|
+
}
|
|
652
|
+
function escapeAttr(str) {
|
|
653
|
+
return str.replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
654
|
+
}
|
|
655
|
+
function wrapInMcpAppsTemplate(html, options) {
|
|
656
|
+
return generateMcpAppsTemplate({
|
|
657
|
+
...options,
|
|
658
|
+
bodyContent: html
|
|
659
|
+
});
|
|
660
|
+
}
|
|
661
|
+
function createSimpleMcpAppsTemplate(content, title) {
|
|
662
|
+
return generateMcpAppsTemplate({
|
|
663
|
+
title: title || "MCP App",
|
|
664
|
+
bodyContent: `<div class="mcp-content">${content}</div>`,
|
|
665
|
+
includeBridge: true
|
|
666
|
+
});
|
|
667
|
+
}
|
|
668
|
+
function extractBodyContent(html) {
|
|
669
|
+
const match = html.match(/<body[^>]*>([\s\S]*?)<script/);
|
|
670
|
+
return match ? match[1].trim() : null;
|
|
671
|
+
}
|
|
672
|
+
export {
|
|
673
|
+
DEFAULT_CSP_DIRECTIVES,
|
|
674
|
+
DEFAULT_PROTOCOL_VERSION,
|
|
675
|
+
DeviceCapabilitiesSchema,
|
|
676
|
+
EXTENDED_SANDBOX_PERMISSIONS,
|
|
677
|
+
JsonRpcErrorSchema,
|
|
678
|
+
JsonRpcNotificationSchema,
|
|
679
|
+
JsonRpcRequestSchema,
|
|
680
|
+
JsonRpcResponseSchema,
|
|
681
|
+
MCP_APPS_METHODS,
|
|
682
|
+
MCP_APPS_MIME_TYPE,
|
|
683
|
+
MCP_APPS_PROTOCOL_VERSION,
|
|
684
|
+
McpAppsCSPSchema,
|
|
685
|
+
McpAppsDisplayModeSchema,
|
|
686
|
+
McpAppsExtensionCapabilitySchema,
|
|
687
|
+
McpAppsHostContextSchema,
|
|
688
|
+
McpAppsMimeTypeSchema,
|
|
689
|
+
McpAppsPlatformSchema,
|
|
690
|
+
McpUiHostContextChangeParamsSchema,
|
|
691
|
+
McpUiInitializeParamsSchema,
|
|
692
|
+
McpUiInitializeResultSchema,
|
|
693
|
+
McpUiMessageParamsSchema,
|
|
694
|
+
McpUiOpenLinkParamsSchema,
|
|
695
|
+
McpUiSizeChangeParamsSchema,
|
|
696
|
+
McpUiToolCancelledParamsSchema,
|
|
697
|
+
McpUiToolInputParamsSchema,
|
|
698
|
+
McpUiToolInputPartialParamsSchema,
|
|
699
|
+
McpUiToolResultParamsSchema,
|
|
700
|
+
SANDBOX_PERMISSIONS,
|
|
701
|
+
SafeAreaInsetsSchema,
|
|
702
|
+
ThemeSchema,
|
|
703
|
+
ToolInfoSchema,
|
|
704
|
+
ToolUIMetaSchema,
|
|
705
|
+
UIResourceMetaSchema,
|
|
706
|
+
UIResourceSchema,
|
|
707
|
+
ViewportInfoSchema,
|
|
708
|
+
buildCSPDirectives,
|
|
709
|
+
buildCSPHeader,
|
|
710
|
+
buildCSPMetaTag,
|
|
711
|
+
buildSandboxAttribute,
|
|
712
|
+
createSimpleMcpAppsTemplate,
|
|
713
|
+
extractBodyContent,
|
|
714
|
+
generateMcpAppsTemplate,
|
|
715
|
+
isDomainAllowed,
|
|
716
|
+
isValidProtocolVersion,
|
|
717
|
+
isValidUIResourceUri,
|
|
718
|
+
mergeCSP,
|
|
719
|
+
parseCSPHeader,
|
|
720
|
+
parseHostContext,
|
|
721
|
+
parseUIResource,
|
|
722
|
+
wrapInMcpAppsTemplate
|
|
723
|
+
};
|